;
+};
+
+// Individual variant examples
+export const Neutral: Story = {
+ args: {
+ children: "Neutral",
+ variant: "neutral",
+ style: "filled",
+ size: "md",
+ },
+};
+
+export const Info: Story = {
+ args: {
+ children: "Info",
+ variant: "info",
+ style: "filled",
+ size: "md",
+ },
+};
+
+export const Warning: Story = {
+ args: {
+ children: "Warning",
+ variant: "warning",
+ style: "filled",
+ size: "md",
+ },
+};
+
+export const Error: Story = {
+ args: {
+ children: "Error",
+ variant: "error",
+ style: "filled",
+ size: "md",
+ },
+};
+
+export const Data: Story = {
+ args: {
+ children: "Data",
+ variant: "data",
+ style: "filled",
+ size: "md",
+ },
+};
+
+export const Success: Story = {
+ args: {
+ children: "Success",
+ variant: "success",
+ style: "filled",
+ size: "md",
+ },
+};
+
+export const Disabled: Story = {
+ args: {
+ children: "Disabled",
+ variant: "disabled",
+ style: "filled",
+ size: "md",
+ },
+};
+
+// All combinations grid
+export const AllCombinations: Story = {
+ render: () => (
+
+ {STYLES.map((style) => (
+
+
+ {style.charAt(0).toUpperCase() + style.slice(1)} Style
+
+ {SIZES.map((size) => (
+
+
Size: {size.toUpperCase()}
+
+ {VARIANTS.map((variant) => (
+
+ {variant.charAt(0).toUpperCase() + variant.slice(1)}
+
+ ))}
+
+
+ ))}
+
+ ))}
+
+ ),
+};
+
+// Grouped by variant
+export const NeutralAllStyles: Story = {
+ render: () => (
+
+
+ Neutral Filled XS
+
+
+ Neutral Filled MD
+
+
+ Neutral Outline XS
+
+
+ Neutral Outline MD
+
+
+ ),
+};
+
+export const InfoAllStyles: Story = {
+ render: () => (
+
+
+ Info Filled XS
+
+
+ Info Filled MD
+
+
+ Info Outline XS
+
+
+ Info Outline MD
+
+
+ ),
+};
+
+export const WarningAllStyles: Story = {
+ render: () => (
+
+
+ Warning Filled XS
+
+
+ Warning Filled MD
+
+
+ Warning Outline XS
+
+
+ Warning Outline MD
+
+
+ ),
+};
+
+export const ErrorAllStyles: Story = {
+ render: () => (
+
+
+ Error Filled XS
+
+
+ Error Filled MD
+
+
+ Error Outline XS
+
+
+ Error Outline MD
+
+
+ ),
+};
+
+export const DataAllStyles: Story = {
+ render: () => (
+
+
+ Data Filled XS
+
+
+ Data Filled MD
+
+
+ Data Outline XS
+
+
+ Data Outline MD
+
+
+ ),
+};
+
+export const SuccessAllStyles: Story = {
+ render: () => (
+
+
+ Success Filled XS
+
+
+ Success Filled MD
+
+
+ Success Outline XS
+
+
+ Success Outline MD
+
+
+ ),
+};
+
+export const DisabledAllStyles: Story = {
+ render: () => (
+
+
+ Disabled Filled XS
+
+
+ Disabled Filled MD
+
+
+ Disabled Outline XS
+
+
+ Disabled Outline MD
+
+
+ ),
+};
+
+// Grouped by style
+export const AllFilledVariants: Story = {
+ render: () => (
+
+
+
XS Size
+ {VARIANTS.map((variant) => (
+
+ {variant}
+
+ ))}
+
+
+
MD Size
+ {VARIANTS.map((variant) => (
+
+ {variant}
+
+ ))}
+
+
+ ),
+};
+
+export const AllOutlineVariants: Story = {
+ render: () => (
+
+
+
XS Size
+ {VARIANTS.map((variant) => (
+
+ {variant}
+
+ ))}
+
+
+
MD Size
+ {VARIANTS.map((variant) => (
+
+ {variant}
+
+ ))}
+
+
+ ),
+};
+
+// Real-world examples
+export const SystemStatuses: Story = {
+ render: () => (
+
+
+ Online
+
+
+ Offline
+
+
+ Maintenance
+
+
+ Updating
+
+
+ Inactive
+
+
+ ),
+};
+
+export const ConnectionStates: Story = {
+ render: () => (
+
+
+ Connected
+
+
+ Disconnected
+
+
+ Reconnecting
+
+
+ Authenticating
+
+
+ ),
+};
+
+export const DataQuality: Story = {
+ render: () => (
+
+
+ Live Data
+
+
+ Cached
+
+
+ Stale
+
+
+ Invalid
+
+
+ ),
+};
+
+export const UserStatuses: Story = {
+ render: () => (
+
+
+ Active
+
+
+ Away
+
+
+ Busy
+
+
+ Offline
+
+
+ ),
+};
+
+export const DeploymentStatuses: Story = {
+ render: () => (
+
+
+ Deployed
+
+
+ Building
+
+
+ Queued
+
+
+ Failed
+
+
+ Cancelled
+
+
+ ),
+};
+
+// Legacy export for backwards compatibility
+export const Status = Default;
diff --git a/packages/component-library/src/Switch/index.stories.module.scss b/packages/component-library/src/Switch/index.stories.module.scss
new file mode 100644
index 0000000000..a1c3ffb60d
--- /dev/null
+++ b/packages/component-library/src/Switch/index.stories.module.scss
@@ -0,0 +1,63 @@
+@use "../theme";
+
+.statesGrid {
+ display: flex;
+ flex-direction: column;
+ gap: theme.spacing(4);
+ max-width: 600px;
+}
+
+.stateRow {
+ display: grid;
+ grid-template-columns: 250px 1fr;
+ align-items: center;
+ gap: theme.spacing(4);
+}
+
+.description {
+ font-size: theme.font-size("sm");
+ color: theme.color("muted");
+}
+
+.permissionsList {
+ display: flex;
+ flex-direction: column;
+ gap: theme.spacing(4);
+ max-width: 500px;
+
+ > h3 {
+ margin: 0;
+ font-size: theme.font-size("lg");
+ font-weight: 600;
+ color: theme.color("heading");
+ }
+}
+
+.permissionItem {
+ display: flex;
+ align-items: center;
+ gap: theme.spacing(3);
+ padding: theme.spacing(2) 0;
+}
+
+.lockedBadge {
+ font-size: theme.font-size("xs");
+ padding: theme.spacing(1) theme.spacing(2);
+ background-color: theme.color("states", "warning", "background");
+ color: theme.color("states", "warning", "normal");
+ border-radius: theme.border-radius("sm");
+ font-weight: 500;
+}
+
+.customLabels {
+ display: flex;
+ flex-direction: column;
+ gap: theme.spacing(4);
+ max-width: 400px;
+}
+
+.dynamicLabel {
+ display: inline-flex;
+ align-items: center;
+ gap: theme.spacing(2);
+}
diff --git a/packages/component-library/src/Switch/index.stories.tsx b/packages/component-library/src/Switch/index.stories.tsx
index e36aa4ebc5..f8600866b7 100644
--- a/packages/component-library/src/Switch/index.stories.tsx
+++ b/packages/component-library/src/Switch/index.stories.tsx
@@ -1,8 +1,11 @@
import type { Meta, StoryObj } from "@storybook/react";
+import { fn } from "@storybook/test";
import { Switch as SwitchComponent } from "./index.jsx";
+import styles from "./index.stories.module.scss";
const meta = {
+ title: "forms & controls/Switch",
component: SwitchComponent,
argTypes: {
isDisabled: {
@@ -17,7 +20,20 @@ const meta = {
category: "State",
},
},
+ isSelected: {
+ control: "boolean",
+ table: {
+ category: "State",
+ },
+ },
+ defaultSelected: {
+ control: "boolean",
+ table: {
+ category: "State",
+ },
+ },
onChange: {
+ action: "changed",
table: {
category: "Behavior",
},
@@ -29,13 +45,167 @@ const meta = {
},
},
},
+ tags: ["autodocs"],
} satisfies Meta;
export default meta;
-export const Switch = {
+type Story = StoryObj;
+
+export const Default: Story = {
+ args: {
+ children: "Enable feature",
+ onChange: fn(),
+ },
+};
+
+export const WithLabel: Story = {
args: {
- children: "Click me!",
- isDisabled: false,
- isPending: false,
+ children: "Enable notifications",
+ onChange: fn(),
},
-} satisfies StoryObj;
+};
+
+export const DefaultSelected: Story = {
+ args: {
+ children: "Already enabled",
+ defaultSelected: true,
+ onChange: fn(),
+ },
+};
+
+export const Disabled: Story = {
+ args: {
+ children: "Disabled switch",
+ isDisabled: true,
+ onChange: fn(),
+ },
+};
+
+export const DisabledSelected: Story = {
+ args: {
+ children: "Disabled but selected",
+ isDisabled: true,
+ defaultSelected: true,
+ onChange: fn(),
+ },
+};
+
+export const Pending: Story = {
+ args: {
+ children: "Loading...",
+ isPending: true,
+ onChange: fn(),
+ },
+};
+
+export const PendingSelected: Story = {
+ args: {
+ children: "Saving changes...",
+ isPending: true,
+ defaultSelected: true,
+ onChange: fn(),
+ },
+};
+
+export const AllStates: Story = {
+ render: () => (
+
+
+ Normal
+ Default state
+
+
+
+ Selected
+
+ Selected state
+
+
+
+ Disabled
+
+ Disabled state
+
+
+
+ Disabled Selected
+
+ Disabled & selected
+
+
+
+ Pending
+
+ Loading state
+
+
+
+ Pending Selected
+
+ Loading & selected
+
+
+ ),
+};
+
+export const PermissionsExample: Story = {
+ render: () => {
+ const permissions = [
+ { id: "read", label: "Read access", enabled: true, locked: false },
+ { id: "write", label: "Write access", enabled: false, locked: false },
+ { id: "delete", label: "Delete access", enabled: false, locked: true },
+ { id: "admin", label: "Admin access", enabled: false, locked: true },
+ ];
+
+ return (
+
+
User Permissions
+ {permissions.map((permission) => (
+
+
+ {permission.label}
+
+ {permission.locked && (
+ Requires upgrade
+ )}
+
+ ))}
+
+ );
+ },
+};
+
+export const WithCustomLabels: Story = {
+ render: () => (
+
+
+ {({ isSelected }) => (
+
+ {isSelected ? "🌙 Night mode" : "☀️ Day mode"}
+
+ )}
+
+
+ {({ isSelected }) => (
+
+ Status: {isSelected ? "Active" : "Inactive"}
+
+ )}
+
+
+ {({ isSelected }) => (
+
+ {isSelected ? "✅ Subscribed" : "❌ Unsubscribed"}
+
+ )}
+
+
+ ),
+};
+
+// Legacy export for backwards compatibility
+export const Switch = Default;
diff --git a/packages/component-library/src/TabList/index.stories.tsx b/packages/component-library/src/TabList/index.stories.tsx
index 27dbece720..2eaff9a105 100644
--- a/packages/component-library/src/TabList/index.stories.tsx
+++ b/packages/component-library/src/TabList/index.stories.tsx
@@ -4,6 +4,7 @@ import { TabList as TabListComponent } from "./index.jsx";
import { Tabs as UnstyledTabs } from "../unstyled/Tabs/index.jsx";
const meta = {
+ title: "navigation & menus/TabList",
component: TabListComponent,
argTypes: {
items: {
@@ -31,8 +32,9 @@ export const TabList = {
args: {
label: "Tab List",
items: [
- { id: "foo", children: "Foo" },
- { id: "bar", children: "Bar" },
+ { id: "btc", children: "BTC" },
+ { id: "eth", children: "ETH" },
+ { id: "sol", children: "SOL" },
],
},
} satisfies StoryObj;
diff --git a/packages/component-library/src/Table/index.stories.module.scss b/packages/component-library/src/Table/index.stories.module.scss
new file mode 100644
index 0000000000..65a7e44d43
--- /dev/null
+++ b/packages/component-library/src/Table/index.stories.module.scss
@@ -0,0 +1,159 @@
+@use "../theme";
+
+.wideTable {
+ width: 100%;
+ overflow-x: auto;
+}
+
+.positive {
+ color: theme.color("states", "success", "normal");
+ font-weight: 500;
+}
+
+.negative {
+ color: theme.color("states", "error", "normal");
+ font-weight: 500;
+}
+
+.emptyState {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
+ gap: theme.spacing(4);
+ padding: theme.spacing(12) theme.spacing(4);
+ text-align: center;
+ color: theme.color("muted");
+
+ > p {
+ margin: 0;
+ font-size: theme.font-size("sm");
+ }
+}
+
+.largeEmptyState {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
+ gap: theme.spacing(4);
+ padding: theme.spacing(16) theme.spacing(4);
+ text-align: center;
+
+ > h3 {
+ margin: 0;
+ font-size: theme.font-size("xl");
+ font-weight: 600;
+ color: theme.color("heading");
+ }
+
+ > p {
+ margin: 0;
+ font-size: theme.font-size("base");
+ color: theme.color("muted");
+ }
+}
+
+.userCell {
+ display: flex;
+ align-items: center;
+ gap: theme.spacing(3);
+}
+
+.avatar {
+ width: 32px;
+ height: 32px;
+ border-radius: theme.border-radius("full");
+ background-color: theme.color("states", "info", "background");
+ color: theme.color("states", "info", "normal");
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ font-size: theme.font-size("sm");
+ font-weight: 600;
+ flex-shrink: 0;
+}
+
+.userName {
+ font-weight: 500;
+ color: theme.color("foreground");
+}
+
+.userEmail {
+ font-size: theme.font-size("sm");
+ color: theme.color("muted");
+}
+
+.actions {
+ display: flex;
+ gap: theme.spacing(2);
+}
+
+.assetCell {
+ display: flex;
+ flex-direction: column;
+ gap: theme.spacing(1);
+
+ > strong {
+ font-weight: 600;
+ color: theme.color("foreground");
+ }
+}
+
+.assetName {
+ font-size: theme.font-size("sm");
+ color: theme.color("muted");
+}
+
+.userSkeleton {
+ display: flex;
+ align-items: center;
+ gap: theme.spacing(3);
+}
+
+.stickyHeaderContainer {
+ height: 400px;
+ overflow-y: auto;
+ border: 1px solid theme.color("border");
+ border-radius: theme.border-radius("md");
+ position: relative;
+}
+
+.stickyHeaderInfo {
+ padding: theme.spacing(3);
+ background-color: theme.color("states", "info", "background");
+ color: theme.color("states", "info", "normal");
+ text-align: center;
+ font-size: theme.font-size("sm");
+
+ > p {
+ margin: 0;
+ }
+}
+
+.stickyColumnsWrapper {
+ width: 100%;
+}
+
+.stickyColumnsContainer {
+ width: 100%;
+ max-width: 800px;
+ overflow-x: auto;
+ border: 1px solid theme.color("border");
+ border-radius: theme.border-radius("md");
+}
+
+.stickyColumnsInfo {
+ padding: theme.spacing(3);
+ background-color: theme.color("states", "info", "background");
+ color: theme.color("states", "info", "normal");
+ text-align: center;
+ font-size: theme.font-size("sm");
+ position: sticky;
+ left: 0;
+ z-index: 10;
+
+ > p {
+ margin: 0;
+ }
+}
diff --git a/packages/component-library/src/Table/index.stories.tsx b/packages/component-library/src/Table/index.stories.tsx
index f56424a500..62520dd37e 100644
--- a/packages/component-library/src/Table/index.stories.tsx
+++ b/packages/component-library/src/Table/index.stories.tsx
@@ -1,8 +1,16 @@
+import * as icons from "@phosphor-icons/react/dist/ssr";
import type { Meta, StoryObj } from "@storybook/react";
+import { fn } from "@storybook/test";
import { Table as TableComponent } from "./index.jsx";
+import styles from "./index.stories.module.scss";
+import { Badge } from "../Badge/index.jsx";
+import { Button } from "../Button/index.jsx";
+import { CopyButton } from "../CopyButton/index.jsx";
+import { Status } from "../Status/index.jsx";
const meta = {
+ title: "data & tables/Table",
component: TableComponent,
parameters: {
layout: "padded",
@@ -29,6 +37,7 @@ const meta = {
},
},
label: {
+ control: "text",
table: {
category: "Accessibility",
},
@@ -57,70 +66,733 @@ const meta = {
category: "Variant",
},
},
+ stickyHeader: {
+ control: "select",
+ options: [undefined, "top", "appHeader"],
+ table: {
+ category: "Layout",
+ },
+ },
dependencies: {
table: {
disable: true,
},
},
},
+ tags: ["autodocs"],
} satisfies Meta;
export default meta;
-export const Table = {
+type Story = StoryObj;
+
+// Basic example
+export const Default: Story = {
args: {
- label: "A Table",
- isUpdating: false,
- isLoading: false,
- fill: true,
- rounded: true,
+ label: "Price feeds table",
columns: [
{
name: "PRICE FEED",
id: "feed",
isRowHeader: true,
- loadingSkeletonWidth: 16,
},
{
name: "PRICE",
id: "price",
fill: true,
- loadingSkeletonWidth: 30,
},
{
name: "CONFIDENCE",
id: "confidence",
- loadingSkeletonWidth: 20,
alignment: "right",
},
],
rows: [
{
id: "BTC/USD",
- href: "#",
data: {
feed: "BTC/USD",
- price: "$100,000",
- confidence: "+/- 5%",
+ price: "$45,234.56",
+ confidence: "±$12.34",
},
},
{
id: "ETH/USD",
- href: "#",
data: {
feed: "ETH/USD",
- price: "$1,000",
- confidence: "+/- 10%",
+ price: "$3,234.56",
+ confidence: "±$2.34",
},
},
{
id: "SOL/USD",
- href: "#",
data: {
feed: "SOL/USD",
- price: "$1,000,000,000",
- confidence: "+/- 0.1%",
+ price: "$123.45",
+ confidence: "±$0.12",
+ },
+ },
+ ],
+ },
+};
+
+// Column configurations
+export const ColumnAlignments: Story = {
+ args: {
+ label: "Column alignments demo",
+ fill: true,
+ rounded: true,
+ columns: [
+ {
+ name: "LEFT ALIGNED",
+ id: "left",
+ alignment: "left",
+ },
+ {
+ name: "CENTER ALIGNED",
+ id: "center",
+ alignment: "center",
+ },
+ {
+ name: "RIGHT ALIGNED",
+ id: "right",
+ alignment: "right",
+ },
+ ],
+ rows: [
+ {
+ id: "1",
+ data: {
+ left: "Left text",
+ center: "Center text",
+ right: "Right text",
+ },
+ },
+ {
+ id: "2",
+ data: {
+ left: "Another left",
+ center: "Another center",
+ right: "Another right",
+ },
+ },
+ ],
+ },
+};
+
+export const ColumnWidths: Story = {
+ args: {
+ label: "Column widths demo",
+ columns: [
+ {
+ name: "FIXED WIDTH",
+ id: "fixed",
+ width: 150,
+ },
+ {
+ name: "FILL SPACE",
+ id: "fill",
+ fill: true,
+ },
+ {
+ name: "SMALL",
+ id: "small",
+ width: 80,
+ },
+ ],
+ rows: [
+ {
+ id: "1",
+ data: {
+ fixed: "150px width",
+ fill: "This column fills the remaining space",
+ small: "80px",
+ },
+ },
+ ],
+ },
+};
+
+export const StickyColumns: Story = {
+ render: () => (
+
+
+
Scroll horizontally to see the first column (NAME) remain sticky
+
+
+
({
+ id: `row-${i.toString()}`,
+ data: {
+ name: `Product ${String(i + 1)}`,
+ sku: `SKU-${String(1000 + i)}`,
+ description: `This is a detailed description for product ${String(i + 1)} that might be quite long`,
+ category: `Category ${String((i % 3) + 1)}`,
+ subcategory: `Subcat ${String((i % 2) + 1)}`,
+ brand: `Brand ${String.fromCodePoint(65 + (i % 4))}`,
+ status: (
+
+ {i % 2 === 0 ? "Active" : "Draft"}
+
+ ),
+ stock: i * 10 + 5,
+ price: `$${String((i + 1) * 99)}.99`,
+ discount: i % 3 === 0 ? "10%" : "-",
+ created: "2024-01-15",
+ updated: "2024-12-01",
+ actions: (
+
+
+ Edit
+
+
+ Delete
+
+
+ ),
+ },
+ }))}
+ />
+
+
+ ),
+};
+
+// Loading states
+export const Loading: Story = {
+ args: {
+ label: "Loading table",
+ isLoading: true,
+ columns: [
+ {
+ name: "NAME",
+ id: "name",
+ loadingSkeletonWidth: 80,
+ },
+ {
+ name: "VALUE",
+ id: "value",
+ loadingSkeletonWidth: 20,
+ },
+ {
+ name: "STATUS",
+ id: "status",
+ loadingSkeletonWidth: 35,
+ },
+ ],
+ },
+};
+
+export const Updating: Story = {
+ args: {
+ label: "Updating table",
+ isUpdating: true,
+ columns: [
+ {
+ name: "METRIC",
+ id: "metric",
+ },
+ {
+ name: "VALUE",
+ id: "value",
+ alignment: "right",
+ },
+ ],
+ rows: [
+ {
+ id: "cpu",
+ data: {
+ metric: "CPU Usage",
+ value: "67%",
+ },
+ },
+ {
+ id: "memory",
+ data: {
+ metric: "Memory",
+ value: "4.2 GB",
},
},
],
},
-} satisfies StoryObj;
+};
+
+// Interactive rows
+export const ClickableRows: Story = {
+ args: {
+ label: "Clickable rows table",
+ columns: [
+ {
+ name: "PROJECT",
+ id: "project",
+ isRowHeader: true,
+ },
+ {
+ name: "STATUS",
+ id: "status",
+ },
+ {
+ name: "LAST UPDATED",
+ id: "updated",
+ alignment: "right",
+ },
+ ],
+ rows: [
+ {
+ id: "project-1",
+ href: "#project-1",
+ data: {
+ project: "Frontend App",
+ status: Active ,
+ updated: "2 hours ago",
+ },
+ },
+ {
+ id: "project-2",
+ href: "#project-2",
+ data: {
+ project: "Backend API",
+ status: Maintenance ,
+ updated: "1 day ago",
+ },
+ },
+ {
+ id: "project-3",
+ onAction: fn(),
+ data: {
+ project: "Mobile App",
+ status: Building ,
+ updated: "5 minutes ago",
+ },
+ },
+ ],
+ },
+};
+
+// Empty states
+export const EmptyState: Story = {
+ args: {
+ label: "Empty table",
+ columns: [
+ { name: "NAME", id: "name" },
+ { name: "VALUE", id: "value" },
+ ],
+ rows: [],
+ emptyState: (
+
+
+
No data available
+
Add first item
+
+ ),
+ },
+};
+
+export const EmptyStateHiddenHeaders: Story = {
+ args: {
+ label: "Empty table without headers",
+ columns: [
+ { name: "NAME", id: "name" },
+ { name: "VALUE", id: "value" },
+ ],
+ rows: [],
+ hideHeadersInEmptyState: true,
+ emptyState: (
+
+
+
No results found
+
Try adjusting your search or filters
+
Clear filters
+
+ ),
+ },
+};
+
+// Complex data table
+export const ComplexDataTable: Story = {
+ args: {
+ label: "User management table",
+ fill: true,
+ rounded: true,
+ columns: [
+ {
+ name: "USER",
+ id: "user",
+ isRowHeader: true,
+ sticky: true,
+ width: 250,
+ },
+ {
+ name: "ROLE",
+ id: "role",
+ width: 120,
+ },
+ {
+ name: "STATUS",
+ id: "status",
+ width: 100,
+ },
+ {
+ name: "LAST ACTIVE",
+ id: "lastActive",
+ width: 150,
+ },
+ {
+ name: "ACTIONS",
+ id: "actions",
+ alignment: "right",
+ width: 200,
+ },
+ ],
+ rows: [
+ {
+ id: "user-1",
+ data: {
+ user: (
+
+
JD
+
+
John Doe
+
john@example.com
+
+
+ ),
+ role: Admin ,
+ status: (
+
+ Active
+
+ ),
+ lastActive: "2 minutes ago",
+ actions: (
+
+
+ Edit
+
+
+ Delete
+
+
+ ),
+ },
+ },
+ {
+ id: "user-2",
+ data: {
+ user: (
+
+
JS
+
+
Jane Smith
+
jane@example.com
+
+
+ ),
+ role: Editor ,
+ status: (
+
+ Active
+
+ ),
+ lastActive: "1 hour ago",
+ actions: (
+
+
+ Edit
+
+
+ Delete
+
+
+ ),
+ },
+ },
+ {
+ id: "user-3",
+ data: {
+ user: (
+
+
RJ
+
+
Robert Johnson
+
robert@example.com
+
+
+ ),
+ role: Viewer ,
+ status: (
+
+ Inactive
+
+ ),
+ lastActive: "3 days ago",
+ actions: (
+
+
+ Activate
+
+
+ Delete
+
+
+ ),
+ },
+ },
+ ],
+ },
+};
+
+// Financial data table
+export const FinancialDataTable: Story = {
+ args: {
+ label: "Portfolio holdings",
+ columns: [
+ {
+ name: "ASSET",
+ id: "asset",
+ isRowHeader: true,
+ sticky: true,
+ },
+ {
+ name: "QUANTITY",
+ id: "quantity",
+ alignment: "right",
+ },
+ {
+ name: "AVG COST",
+ id: "avgCost",
+ alignment: "right",
+ },
+ {
+ name: "CURRENT PRICE",
+ id: "currentPrice",
+ alignment: "right",
+ },
+ {
+ name: "VALUE",
+ id: "value",
+ alignment: "right",
+ },
+ {
+ name: "P&L",
+ id: "pnl",
+ alignment: "right",
+ },
+ {
+ name: "P&L %",
+ id: "pnlPercent",
+ alignment: "right",
+ },
+ ],
+ rows: [
+ {
+ id: "btc",
+ data: {
+ asset: (
+
+ BTC
+ Bitcoin
+
+ ),
+ quantity: "0.5234",
+ avgCost: "$38,450",
+ currentPrice: "$45,234",
+ value: "$23,675",
+ pnl: +$3,548 ,
+ pnlPercent: +17.6% ,
+ },
+ },
+ {
+ id: "eth",
+ data: {
+ asset: (
+
+ ETH
+ Ethereum
+
+ ),
+ quantity: "5.123",
+ avgCost: "$3,450",
+ currentPrice: "$3,234",
+ value: "$16,568",
+ pnl: -$1,106 ,
+ pnlPercent: -6.3% ,
+ },
+ },
+ ],
+ },
+};
+
+// API data table with copy functionality
+export const ApiEndpointsTable: Story = {
+ args: {
+ label: "API endpoints",
+ columns: [
+ {
+ name: "ENDPOINT",
+ id: "endpoint",
+ isRowHeader: true,
+ fill: true,
+ },
+ {
+ name: "METHOD",
+ id: "method",
+ width: 80,
+ },
+ {
+ name: "DESCRIPTION",
+ id: "description",
+ width: 300,
+ },
+ {
+ name: "COPY",
+ id: "copy",
+ width: 60,
+ alignment: "center",
+ },
+ ],
+ rows: [
+ {
+ id: "get-price",
+ data: {
+ endpoint: /api/v1/price/{`{symbol}`}
,
+ method: (
+
+ GET
+
+ ),
+ description: "Get current price for a symbol",
+ copy: ,
+ },
+ },
+ {
+ id: "post-order",
+ data: {
+ endpoint: /api/v1/orders
,
+ method: (
+
+ POST
+
+ ),
+ description: "Create a new order",
+ copy: ,
+ },
+ },
+ {
+ id: "delete-order",
+ data: {
+ endpoint: /api/v1/orders/{`{id}`}
,
+ method: (
+
+ DELETE
+
+ ),
+ description: "Cancel an existing order",
+ copy: ,
+ },
+ },
+ ],
+ },
+};
+
+// Sticky header example
+export const StickyHeaderTable: Story = {
+ render: () => (
+
+
+
Scroll down to see the sticky header in action
+
+
({
+ id: `row-${i.toString()}`,
+ data: {
+ index: i + 1,
+ data: `Row ${String(i + 1)} data - scroll to see sticky header`,
+ },
+ }))}
+ />
+
+ ),
+};
+
+// Legacy export
+export const Table = Default;
diff --git a/packages/component-library/src/Term/index.stories.tsx b/packages/component-library/src/Term/index.stories.tsx
index eccde5f6ea..e0555140e8 100644
--- a/packages/component-library/src/Term/index.stories.tsx
+++ b/packages/component-library/src/Term/index.stories.tsx
@@ -3,6 +3,7 @@ import type { Meta, StoryObj } from "@storybook/react";
import { Term as TermComponent } from "./index.jsx";
const meta = {
+ title: "typography/Term",
component: TermComponent,
argTypes: {
children: {
diff --git a/packages/component-library/src/icon-control.tsx b/packages/component-library/src/icon-control.tsx
new file mode 100644
index 0000000000..d804d660ee
--- /dev/null
+++ b/packages/component-library/src/icon-control.tsx
@@ -0,0 +1,12 @@
+import * as icons from "@phosphor-icons/react/dist/ssr";
+
+export const iconControl = {
+ control: "select",
+ options: Object.keys(icons),
+ mapping: Object.fromEntries(
+ Object.entries(icons).map(([iconName, Icon]) => [
+ iconName,
+ ,
+ ]),
+ ),
+} as const;
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 6ff625065c..eb11166331 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -108,6 +108,9 @@ catalogs:
'@storybook/react':
specifier: ^8.6.12
version: 8.6.12
+ '@storybook/test':
+ specifier: ^8.6.12
+ version: 8.6.14
'@svgr/webpack':
specifier: ^8.1.0
version: 8.1.0
@@ -1153,7 +1156,7 @@ importers:
version: 0.9.36(@solana/web3.js@1.98.0(bufferutil@4.0.9)(encoding@0.1.13)(utf-8-validate@5.0.10))(bs58@5.0.0)(react-dom@19.1.0(react@19.1.0))(react-native@0.78.2(@babel/core@7.27.1)(@babel/preset-env@7.26.9(@babel/core@7.27.1))(@types/react@19.1.0)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(react@19.1.0)
'@solana/wallet-adapter-wallets':
specifier: 'catalog:'
- version: 0.19.33(@babel/runtime@7.27.0)(@react-native-async-storage/async-storage@1.24.0(react-native@0.78.2(@babel/core@7.27.1)(@babel/preset-env@7.26.9(@babel/core@7.27.1))(@types/react@19.1.0)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10)))(@solana/sysvars@2.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2))(@solana/web3.js@1.98.0(bufferutil@4.0.9)(encoding@0.1.13)(utf-8-validate@5.0.10))(bs58@5.0.0)(bufferutil@4.0.9)(encoding@0.1.13)(fastestsmallesttextencoderdecoder@1.0.22)(react-dom@19.1.0(react@19.1.0))(react-native@0.78.2(@babel/core@7.27.1)(@babel/preset-env@7.26.9(@babel/core@7.27.1))(@types/react@19.1.0)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(react@19.1.0)(tslib@2.8.1)(typescript@5.8.2)(utf-8-validate@5.0.10)(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.24.2)
+ version: 0.19.33(@babel/runtime@7.27.0)(@react-native-async-storage/async-storage@1.24.0(react-native@0.78.2(@babel/core@7.27.1)(@babel/preset-env@7.26.9(@babel/core@7.27.1))(@types/react@19.1.0)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10)))(@solana/sysvars@2.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2))(@solana/web3.js@1.98.0(bufferutil@4.0.9)(encoding@0.1.13)(utf-8-validate@5.0.10))(bs58@5.0.0)(bufferutil@4.0.9)(encoding@0.1.13)(fastestsmallesttextencoderdecoder@1.0.22)(react-dom@19.1.0(react@19.1.0))(react-native@0.78.2(@babel/core@7.27.1)(@babel/preset-env@7.26.9(@babel/core@7.27.1))(@types/react@19.1.0)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(react@19.1.0)(tslib@2.8.1)(typescript@5.8.2)(utf-8-validate@5.0.10)(ws@8.18.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.24.2)
'@solana/web3.js':
specifier: 'catalog:'
version: 1.98.0(bufferutil@4.0.9)(encoding@0.1.13)(utf-8-validate@5.0.10)
@@ -2010,7 +2013,10 @@ importers:
version: 8.6.12(esbuild@0.25.4)(next@15.3.2(@babel/core@7.27.1)(@opentelemetry/api@1.9.0)(babel-plugin-react-compiler@19.1.0-rc.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(sass@1.86.1))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(sass@1.86.1)(storybook@8.6.12(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.3))(type-fest@4.39.0)(typescript@5.8.2)(webpack-hot-middleware@2.26.1)(webpack@5.98.0(esbuild@0.25.4))
'@storybook/react':
specifier: 'catalog:'
- version: 8.6.12(@storybook/test@8.6.12(storybook@8.6.12(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.3)))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(storybook@8.6.12(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.3))(typescript@5.8.2)
+ version: 8.6.12(@storybook/test@8.6.14(storybook@8.6.12(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.3)))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(storybook@8.6.12(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.3))(typescript@5.8.2)
+ '@storybook/test':
+ specifier: 'catalog:'
+ version: 8.6.14(storybook@8.6.12(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.3))
'@svgr/webpack':
specifier: 'catalog:'
version: 8.1.0(typescript@5.8.2)
@@ -9937,6 +9943,11 @@ packages:
peerDependencies:
storybook: ^8.6.12
+ '@storybook/instrumenter@8.6.14':
+ resolution: {integrity: sha512-iG4MlWCcz1L7Yu8AwgsnfVAmMbvyRSk700Mfy2g4c8y5O+Cv1ejshE1LBBsCwHgkuqU0H4R0qu4g23+6UnUemQ==}
+ peerDependencies:
+ storybook: ^8.6.14
+
'@storybook/manager-api@8.6.12':
resolution: {integrity: sha512-O0SpISeJLNTQvhSBOsWzzkCgs8vCjOq1578rwqHlC6jWWm4QmtfdyXqnv7rR1Hk08kQ+Dzqh0uhwHx0nfwy4nQ==}
peerDependencies:
@@ -10013,6 +10024,11 @@ packages:
peerDependencies:
storybook: ^8.6.12
+ '@storybook/test@8.6.14':
+ resolution: {integrity: sha512-GkPNBbbZmz+XRdrhMtkxPotCLOQ1BaGNp/gFZYdGDk2KmUWBKmvc5JxxOhtoXM2703IzNFlQHSSNnhrDZYuLlw==}
+ peerDependencies:
+ storybook: ^8.6.14
+
'@storybook/theming@8.6.12':
resolution: {integrity: sha512-6VjZg8HJ2Op7+KV7ihJpYrDnFtd9D1jrQnUS8LckcpuBXrIEbaut5+34ObY8ssQnSqkk2GwIZBBBQYQBCVvkOw==}
peerDependencies:
@@ -18650,6 +18666,7 @@ packages:
path-match@1.2.4:
resolution: {integrity: sha512-UWlehEdqu36jmh4h5CWJ7tARp1OEVKGHKm6+dg9qMq5RKUTV5WJrGgaZ3dN2m7WFAXDbjlHzvJvL/IUpy84Ktw==}
+ deprecated: This package is archived and no longer maintained. For support, visit https://github.com/expressjs/express/discussions
path-normalize@6.0.13:
resolution: {integrity: sha512-PfC1Pc+IEhI77UEN731pj2nMs9gHAV36IA6IW6VdXWjoQesf+jtO9hdMUqTRS6mwR0T5rmyUrQzd5vw0VwL1Lw==}
@@ -25047,7 +25064,7 @@ snapshots:
'@babel/template@7.27.0':
dependencies:
- '@babel/code-frame': 7.26.2
+ '@babel/code-frame': 7.27.1
'@babel/parser': 7.27.0
'@babel/types': 7.27.1
@@ -25059,7 +25076,7 @@ snapshots:
'@babel/traverse@7.27.0':
dependencies:
- '@babel/code-frame': 7.26.2
+ '@babel/code-frame': 7.27.1
'@babel/generator': 7.27.0
'@babel/parser': 7.27.0
'@babel/template': 7.27.0
@@ -25071,7 +25088,7 @@ snapshots:
'@babel/traverse@7.27.0(supports-color@5.5.0)':
dependencies:
- '@babel/code-frame': 7.26.2
+ '@babel/code-frame': 7.27.1
'@babel/generator': 7.27.0
'@babel/parser': 7.27.0
'@babel/template': 7.27.0
@@ -27106,17 +27123,6 @@ snapshots:
'@ethersproject/properties': 5.8.0
'@ethersproject/strings': 5.8.0
- '@everstake/wallet-sdk-solana@2.0.9(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))':
- dependencies:
- '@solana-program/compute-budget': 0.6.1(@solana/web3.js@2.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)))
- '@solana-program/stake': 0.1.0(@solana/web3.js@2.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)))
- '@solana-program/system': 0.6.2(@solana/web3.js@2.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)))
- '@solana/web3.js': 2.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))
- transitivePeerDependencies:
- - fastestsmallesttextencoderdecoder
- - typescript
- - ws
-
'@everstake/wallet-sdk-solana@2.0.9(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)(ws@8.18.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))':
dependencies:
'@solana-program/compute-budget': 0.6.1(@solana/web3.js@2.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)(ws@8.18.1(bufferutil@4.0.9)(utf-8-validate@5.0.10)))
@@ -33334,60 +33340,31 @@ snapshots:
- react
- react-native
- '@solana-program/compute-budget@0.6.1(@solana/web3.js@2.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)))':
- dependencies:
- '@solana/web3.js': 2.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))
-
'@solana-program/compute-budget@0.6.1(@solana/web3.js@2.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)(ws@8.18.1(bufferutil@4.0.9)(utf-8-validate@5.0.10)))':
dependencies:
'@solana/web3.js': 2.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)(ws@8.18.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))
- '@solana-program/compute-budget@0.7.0(@solana/kit@2.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)))':
- dependencies:
- '@solana/kit': 2.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))
-
'@solana-program/compute-budget@0.7.0(@solana/kit@2.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)(ws@8.18.1(bufferutil@4.0.9)(utf-8-validate@5.0.10)))':
dependencies:
'@solana/kit': 2.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)(ws@8.18.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))
- '@solana-program/stake@0.1.0(@solana/web3.js@2.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)))':
- dependencies:
- '@solana/web3.js': 2.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))
-
'@solana-program/stake@0.1.0(@solana/web3.js@2.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)(ws@8.18.1(bufferutil@4.0.9)(utf-8-validate@5.0.10)))':
dependencies:
'@solana/web3.js': 2.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)(ws@8.18.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))
- '@solana-program/system@0.6.2(@solana/web3.js@2.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)))':
- dependencies:
- '@solana/web3.js': 2.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))
-
'@solana-program/system@0.6.2(@solana/web3.js@2.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)(ws@8.18.1(bufferutil@4.0.9)(utf-8-validate@5.0.10)))':
dependencies:
'@solana/web3.js': 2.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)(ws@8.18.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))
- '@solana-program/system@0.7.0(@solana/kit@2.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)))':
- dependencies:
- '@solana/kit': 2.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))
-
'@solana-program/system@0.7.0(@solana/kit@2.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)(ws@8.18.1(bufferutil@4.0.9)(utf-8-validate@5.0.10)))':
dependencies:
'@solana/kit': 2.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)(ws@8.18.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))
- '@solana-program/token-2022@0.4.0(@solana/kit@2.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)))(@solana/sysvars@2.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2))':
- dependencies:
- '@solana/kit': 2.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))
- '@solana/sysvars': 2.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)
-
'@solana-program/token-2022@0.4.0(@solana/kit@2.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)(ws@8.18.1(bufferutil@4.0.9)(utf-8-validate@5.0.10)))(@solana/sysvars@2.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2))':
dependencies:
'@solana/kit': 2.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)(ws@8.18.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))
'@solana/sysvars': 2.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)
- '@solana-program/token@0.5.1(@solana/kit@2.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)))':
- dependencies:
- '@solana/kit': 2.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))
-
'@solana-program/token@0.5.1(@solana/kit@2.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)(ws@8.18.1(bufferutil@4.0.9)(utf-8-validate@5.0.10)))':
dependencies:
'@solana/kit': 2.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)(ws@8.18.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))
@@ -33727,31 +33704,6 @@ snapshots:
transitivePeerDependencies:
- fastestsmallesttextencoderdecoder
- '@solana/kit@2.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))':
- dependencies:
- '@solana/accounts': 2.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)
- '@solana/addresses': 2.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)
- '@solana/codecs': 2.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)
- '@solana/errors': 2.1.0(typescript@5.8.2)
- '@solana/functional': 2.1.0(typescript@5.8.2)
- '@solana/instructions': 2.1.0(typescript@5.8.2)
- '@solana/keys': 2.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)
- '@solana/programs': 2.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)
- '@solana/rpc': 2.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)
- '@solana/rpc-parsed-types': 2.1.0(typescript@5.8.2)
- '@solana/rpc-spec-types': 2.1.0(typescript@5.8.2)
- '@solana/rpc-subscriptions': 2.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))
- '@solana/rpc-types': 2.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)
- '@solana/signers': 2.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)
- '@solana/sysvars': 2.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)
- '@solana/transaction-confirmation': 2.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))
- '@solana/transaction-messages': 2.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)
- '@solana/transactions': 2.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)
- typescript: 5.8.2
- transitivePeerDependencies:
- - fastestsmallesttextencoderdecoder
- - ws
-
'@solana/kit@2.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)(ws@8.18.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))':
dependencies:
'@solana/accounts': 2.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)
@@ -33938,15 +33890,6 @@ snapshots:
transitivePeerDependencies:
- fastestsmallesttextencoderdecoder
- '@solana/rpc-subscriptions-channel-websocket@2.0.0(typescript@5.8.2)(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))':
- dependencies:
- '@solana/errors': 2.0.0(typescript@5.8.2)
- '@solana/functional': 2.0.0(typescript@5.8.2)
- '@solana/rpc-subscriptions-spec': 2.0.0(typescript@5.8.2)
- '@solana/subscribable': 2.0.0(typescript@5.8.2)
- typescript: 5.8.2
- ws: 8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)
-
'@solana/rpc-subscriptions-channel-websocket@2.0.0(typescript@5.8.2)(ws@8.18.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))':
dependencies:
'@solana/errors': 2.0.0(typescript@5.8.2)
@@ -33956,15 +33899,6 @@ snapshots:
typescript: 5.8.2
ws: 8.18.1(bufferutil@4.0.9)(utf-8-validate@5.0.10)
- '@solana/rpc-subscriptions-channel-websocket@2.1.0(typescript@5.8.2)(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))':
- dependencies:
- '@solana/errors': 2.1.0(typescript@5.8.2)
- '@solana/functional': 2.1.0(typescript@5.8.2)
- '@solana/rpc-subscriptions-spec': 2.1.0(typescript@5.8.2)
- '@solana/subscribable': 2.1.0(typescript@5.8.2)
- typescript: 5.8.2
- ws: 8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)
-
'@solana/rpc-subscriptions-channel-websocket@2.1.0(typescript@5.8.2)(ws@8.18.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))':
dependencies:
'@solana/errors': 2.1.0(typescript@5.8.2)
@@ -33990,24 +33924,6 @@ snapshots:
'@solana/subscribable': 2.1.0(typescript@5.8.2)
typescript: 5.8.2
- '@solana/rpc-subscriptions@2.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))':
- dependencies:
- '@solana/errors': 2.0.0(typescript@5.8.2)
- '@solana/fast-stable-stringify': 2.0.0(typescript@5.8.2)
- '@solana/functional': 2.0.0(typescript@5.8.2)
- '@solana/promises': 2.0.0(typescript@5.8.2)
- '@solana/rpc-spec-types': 2.0.0(typescript@5.8.2)
- '@solana/rpc-subscriptions-api': 2.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)
- '@solana/rpc-subscriptions-channel-websocket': 2.0.0(typescript@5.8.2)(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))
- '@solana/rpc-subscriptions-spec': 2.0.0(typescript@5.8.2)
- '@solana/rpc-transformers': 2.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)
- '@solana/rpc-types': 2.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)
- '@solana/subscribable': 2.0.0(typescript@5.8.2)
- typescript: 5.8.2
- transitivePeerDependencies:
- - fastestsmallesttextencoderdecoder
- - ws
-
'@solana/rpc-subscriptions@2.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)(ws@8.18.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))':
dependencies:
'@solana/errors': 2.0.0(typescript@5.8.2)
@@ -34026,24 +33942,6 @@ snapshots:
- fastestsmallesttextencoderdecoder
- ws
- '@solana/rpc-subscriptions@2.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))':
- dependencies:
- '@solana/errors': 2.1.0(typescript@5.8.2)
- '@solana/fast-stable-stringify': 2.1.0(typescript@5.8.2)
- '@solana/functional': 2.1.0(typescript@5.8.2)
- '@solana/promises': 2.1.0(typescript@5.8.2)
- '@solana/rpc-spec-types': 2.1.0(typescript@5.8.2)
- '@solana/rpc-subscriptions-api': 2.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)
- '@solana/rpc-subscriptions-channel-websocket': 2.1.0(typescript@5.8.2)(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))
- '@solana/rpc-subscriptions-spec': 2.1.0(typescript@5.8.2)
- '@solana/rpc-transformers': 2.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)
- '@solana/rpc-types': 2.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)
- '@solana/subscribable': 2.1.0(typescript@5.8.2)
- typescript: 5.8.2
- transitivePeerDependencies:
- - fastestsmallesttextencoderdecoder
- - ws
-
'@solana/rpc-subscriptions@2.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)(ws@8.18.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))':
dependencies:
'@solana/errors': 2.1.0(typescript@5.8.2)
@@ -34314,23 +34212,6 @@ snapshots:
transitivePeerDependencies:
- fastestsmallesttextencoderdecoder
- '@solana/transaction-confirmation@2.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))':
- dependencies:
- '@solana/addresses': 2.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)
- '@solana/codecs-strings': 2.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)
- '@solana/errors': 2.0.0(typescript@5.8.2)
- '@solana/keys': 2.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)
- '@solana/promises': 2.0.0(typescript@5.8.2)
- '@solana/rpc': 2.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)
- '@solana/rpc-subscriptions': 2.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))
- '@solana/rpc-types': 2.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)
- '@solana/transaction-messages': 2.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)
- '@solana/transactions': 2.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)
- typescript: 5.8.2
- transitivePeerDependencies:
- - fastestsmallesttextencoderdecoder
- - ws
-
'@solana/transaction-confirmation@2.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)(ws@8.18.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))':
dependencies:
'@solana/addresses': 2.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)
@@ -34348,23 +34229,6 @@ snapshots:
- fastestsmallesttextencoderdecoder
- ws
- '@solana/transaction-confirmation@2.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))':
- dependencies:
- '@solana/addresses': 2.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)
- '@solana/codecs-strings': 2.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)
- '@solana/errors': 2.1.0(typescript@5.8.2)
- '@solana/keys': 2.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)
- '@solana/promises': 2.1.0(typescript@5.8.2)
- '@solana/rpc': 2.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)
- '@solana/rpc-subscriptions': 2.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))
- '@solana/rpc-types': 2.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)
- '@solana/transaction-messages': 2.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)
- '@solana/transactions': 2.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)
- typescript: 5.8.2
- transitivePeerDependencies:
- - fastestsmallesttextencoderdecoder
- - ws
-
'@solana/transaction-confirmation@2.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)(ws@8.18.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))':
dependencies:
'@solana/addresses': 2.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)
@@ -34738,11 +34602,11 @@ snapshots:
- utf-8-validate
- ws
- '@solana/wallet-adapter-trezor@0.1.3(@solana/sysvars@2.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2))(@solana/web3.js@1.98.0(bufferutil@4.0.9)(encoding@0.1.13)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(encoding@0.1.13)(fastestsmallesttextencoderdecoder@1.0.22)(react-native@0.78.2(@babel/core@7.27.1)(@babel/preset-env@7.26.9(@babel/core@7.27.1))(@types/react@19.1.0)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(tslib@2.8.1)(typescript@5.8.2)(utf-8-validate@5.0.10)(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))':
+ '@solana/wallet-adapter-trezor@0.1.3(@solana/sysvars@2.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2))(@solana/web3.js@1.98.0(bufferutil@4.0.9)(encoding@0.1.13)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(encoding@0.1.13)(fastestsmallesttextencoderdecoder@1.0.22)(react-native@0.78.2(@babel/core@7.27.1)(@babel/preset-env@7.26.9(@babel/core@7.27.1))(@types/react@19.1.0)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(tslib@2.8.1)(typescript@5.8.2)(utf-8-validate@5.0.10)(ws@8.18.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))':
dependencies:
'@solana/wallet-adapter-base': 0.9.24(@solana/web3.js@1.98.0(bufferutil@4.0.9)(encoding@0.1.13)(utf-8-validate@5.0.10))
'@solana/web3.js': 1.98.0(bufferutil@4.0.9)(encoding@0.1.13)(utf-8-validate@5.0.10)
- '@trezor/connect-web': 9.5.3(@solana/sysvars@2.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2))(bufferutil@4.0.9)(encoding@0.1.13)(fastestsmallesttextencoderdecoder@1.0.22)(react-native@0.78.2(@babel/core@7.27.1)(@babel/preset-env@7.26.9(@babel/core@7.27.1))(@types/react@19.1.0)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(tslib@2.8.1)(typescript@5.8.2)(utf-8-validate@5.0.10)(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))
+ '@trezor/connect-web': 9.5.3(@solana/sysvars@2.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2))(bufferutil@4.0.9)(encoding@0.1.13)(fastestsmallesttextencoderdecoder@1.0.22)(react-native@0.78.2(@babel/core@7.27.1)(@babel/preset-env@7.26.9(@babel/core@7.27.1))(@types/react@19.1.0)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(tslib@2.8.1)(typescript@5.8.2)(utf-8-validate@5.0.10)(ws@8.18.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))
buffer: 6.0.3
transitivePeerDependencies:
- '@solana/sysvars'
@@ -34906,7 +34770,7 @@ snapshots:
- ws
- zod
- '@solana/wallet-adapter-wallets@0.19.33(@babel/runtime@7.27.0)(@react-native-async-storage/async-storage@1.24.0(react-native@0.78.2(@babel/core@7.27.1)(@babel/preset-env@7.26.9(@babel/core@7.27.1))(@types/react@19.1.0)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10)))(@solana/sysvars@2.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2))(@solana/web3.js@1.98.0(bufferutil@4.0.9)(encoding@0.1.13)(utf-8-validate@5.0.10))(bs58@5.0.0)(bufferutil@4.0.9)(encoding@0.1.13)(fastestsmallesttextencoderdecoder@1.0.22)(react-dom@19.1.0(react@19.1.0))(react-native@0.78.2(@babel/core@7.27.1)(@babel/preset-env@7.26.9(@babel/core@7.27.1))(@types/react@19.1.0)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(react@19.1.0)(tslib@2.8.1)(typescript@5.8.2)(utf-8-validate@5.0.10)(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.24.2)':
+ '@solana/wallet-adapter-wallets@0.19.33(@babel/runtime@7.27.0)(@react-native-async-storage/async-storage@1.24.0(react-native@0.78.2(@babel/core@7.27.1)(@babel/preset-env@7.26.9(@babel/core@7.27.1))(@types/react@19.1.0)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10)))(@solana/sysvars@2.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2))(@solana/web3.js@1.98.0(bufferutil@4.0.9)(encoding@0.1.13)(utf-8-validate@5.0.10))(bs58@5.0.0)(bufferutil@4.0.9)(encoding@0.1.13)(fastestsmallesttextencoderdecoder@1.0.22)(react-dom@19.1.0(react@19.1.0))(react-native@0.78.2(@babel/core@7.27.1)(@babel/preset-env@7.26.9(@babel/core@7.27.1))(@types/react@19.1.0)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(react@19.1.0)(tslib@2.8.1)(typescript@5.8.2)(utf-8-validate@5.0.10)(ws@8.18.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.24.2)':
dependencies:
'@solana/wallet-adapter-alpha': 0.1.11(@solana/web3.js@1.98.0(bufferutil@4.0.9)(encoding@0.1.13)(utf-8-validate@5.0.10))
'@solana/wallet-adapter-avana': 0.1.14(@solana/web3.js@1.98.0(bufferutil@4.0.9)(encoding@0.1.13)(utf-8-validate@5.0.10))
@@ -34939,7 +34803,7 @@ snapshots:
'@solana/wallet-adapter-tokenary': 0.1.13(@solana/web3.js@1.98.0(bufferutil@4.0.9)(encoding@0.1.13)(utf-8-validate@5.0.10))
'@solana/wallet-adapter-tokenpocket': 0.4.20(@solana/web3.js@1.98.0(bufferutil@4.0.9)(encoding@0.1.13)(utf-8-validate@5.0.10))
'@solana/wallet-adapter-torus': 0.11.29(@babel/runtime@7.27.0)(@solana/web3.js@1.98.0(bufferutil@4.0.9)(encoding@0.1.13)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(encoding@0.1.13)(utf-8-validate@5.0.10)
- '@solana/wallet-adapter-trezor': 0.1.3(@solana/sysvars@2.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2))(@solana/web3.js@1.98.0(bufferutil@4.0.9)(encoding@0.1.13)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(encoding@0.1.13)(fastestsmallesttextencoderdecoder@1.0.22)(react-native@0.78.2(@babel/core@7.27.1)(@babel/preset-env@7.26.9(@babel/core@7.27.1))(@types/react@19.1.0)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(tslib@2.8.1)(typescript@5.8.2)(utf-8-validate@5.0.10)(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))
+ '@solana/wallet-adapter-trezor': 0.1.3(@solana/sysvars@2.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2))(@solana/web3.js@1.98.0(bufferutil@4.0.9)(encoding@0.1.13)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(encoding@0.1.13)(fastestsmallesttextencoderdecoder@1.0.22)(react-native@0.78.2(@babel/core@7.27.1)(@babel/preset-env@7.26.9(@babel/core@7.27.1))(@types/react@19.1.0)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(tslib@2.8.1)(typescript@5.8.2)(utf-8-validate@5.0.10)(ws@8.18.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))
'@solana/wallet-adapter-trust': 0.1.14(@solana/web3.js@1.98.0(bufferutil@4.0.9)(encoding@0.1.13)(utf-8-validate@5.0.10))
'@solana/wallet-adapter-unsafe-burner': 0.1.8(@solana/web3.js@1.98.0(bufferutil@4.0.9)(encoding@0.1.13)(utf-8-validate@5.0.10))
'@solana/wallet-adapter-walletconnect': 0.1.17(@react-native-async-storage/async-storage@1.24.0(react-native@0.78.2(@babel/core@7.27.1)(@babel/preset-env@7.26.9(@babel/core@7.27.1))(@types/react@19.1.0)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10)))(@solana/web3.js@1.98.0(bufferutil@4.0.9)(encoding@0.1.13)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(typescript@5.8.2)(utf-8-validate@5.0.10)(zod@3.24.2)
@@ -35165,31 +35029,6 @@ snapshots:
- encoding
- utf-8-validate
- '@solana/web3.js@2.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))':
- dependencies:
- '@solana/accounts': 2.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)
- '@solana/addresses': 2.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)
- '@solana/codecs': 2.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)
- '@solana/errors': 2.0.0(typescript@5.8.2)
- '@solana/functional': 2.0.0(typescript@5.8.2)
- '@solana/instructions': 2.0.0(typescript@5.8.2)
- '@solana/keys': 2.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)
- '@solana/programs': 2.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)
- '@solana/rpc': 2.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)
- '@solana/rpc-parsed-types': 2.0.0(typescript@5.8.2)
- '@solana/rpc-spec-types': 2.0.0(typescript@5.8.2)
- '@solana/rpc-subscriptions': 2.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))
- '@solana/rpc-types': 2.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)
- '@solana/signers': 2.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)
- '@solana/sysvars': 2.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)
- '@solana/transaction-confirmation': 2.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))
- '@solana/transaction-messages': 2.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)
- '@solana/transactions': 2.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)
- typescript: 5.8.2
- transitivePeerDependencies:
- - fastestsmallesttextencoderdecoder
- - ws
-
'@solana/web3.js@2.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)(ws@8.18.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))':
dependencies:
'@solana/accounts': 2.0.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)
@@ -35434,6 +35273,12 @@ snapshots:
'@vitest/utils': 2.1.9
storybook: 8.6.12(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.3)
+ '@storybook/instrumenter@8.6.14(storybook@8.6.12(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.3))':
+ dependencies:
+ '@storybook/global': 5.0.0
+ '@vitest/utils': 2.1.9
+ storybook: 8.6.12(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.3)
+
'@storybook/manager-api@8.6.12(storybook@8.6.12(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.3))':
dependencies:
storybook: 8.6.12(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.3)
@@ -35572,6 +35417,21 @@ snapshots:
'@storybook/test': 8.6.12(storybook@8.6.12(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.3))
typescript: 5.8.2
+ '@storybook/react@8.6.12(@storybook/test@8.6.14(storybook@8.6.12(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.3)))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(storybook@8.6.12(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.3))(typescript@5.8.2)':
+ dependencies:
+ '@storybook/components': 8.6.12(storybook@8.6.12(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.3))
+ '@storybook/global': 5.0.0
+ '@storybook/manager-api': 8.6.12(storybook@8.6.12(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.3))
+ '@storybook/preview-api': 8.6.12(storybook@8.6.12(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.3))
+ '@storybook/react-dom-shim': 8.6.12(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(storybook@8.6.12(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.3))
+ '@storybook/theming': 8.6.12(storybook@8.6.12(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.3))
+ react: 19.1.0
+ react-dom: 19.1.0(react@19.1.0)
+ storybook: 8.6.12(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.3)
+ optionalDependencies:
+ '@storybook/test': 8.6.14(storybook@8.6.12(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.3))
+ typescript: 5.8.2
+
'@storybook/test@8.6.12(storybook@8.6.12(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.3))':
dependencies:
'@storybook/global': 5.0.0
@@ -35583,6 +35443,17 @@ snapshots:
'@vitest/spy': 2.0.5
storybook: 8.6.12(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.3)
+ '@storybook/test@8.6.14(storybook@8.6.12(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.3))':
+ dependencies:
+ '@storybook/global': 5.0.0
+ '@storybook/instrumenter': 8.6.14(storybook@8.6.12(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.3))
+ '@testing-library/dom': 10.4.0
+ '@testing-library/jest-dom': 6.5.0
+ '@testing-library/user-event': 14.5.2(@testing-library/dom@10.4.0)
+ '@vitest/expect': 2.0.5
+ '@vitest/spy': 2.0.5
+ storybook: 8.6.12(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.3)
+
'@storybook/theming@8.6.12(storybook@8.6.12(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.3))':
dependencies:
storybook: 8.6.12(bufferutil@4.0.9)(prettier@3.5.3)(utf-8-validate@6.0.3)
@@ -35953,7 +35824,7 @@ snapshots:
'@testing-library/dom@10.4.0':
dependencies:
- '@babel/code-frame': 7.26.2
+ '@babel/code-frame': 7.27.1
'@babel/runtime': 7.27.0
'@types/aria-query': 5.0.4
aria-query: 5.3.0
@@ -36250,17 +36121,6 @@ snapshots:
- expo-localization
- react-native
- '@trezor/blockchain-link-types@1.3.3(fastestsmallesttextencoderdecoder@1.0.22)(tslib@2.8.1)(typescript@5.8.2)(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))':
- dependencies:
- '@solana/kit': 2.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))
- '@trezor/type-utils': 1.1.5
- '@trezor/utxo-lib': 2.3.3(tslib@2.8.1)
- tslib: 2.8.1
- transitivePeerDependencies:
- - fastestsmallesttextencoderdecoder
- - typescript
- - ws
-
'@trezor/blockchain-link-types@1.3.3(fastestsmallesttextencoderdecoder@1.0.22)(tslib@2.8.1)(typescript@5.8.2)(ws@8.18.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))':
dependencies:
'@solana/kit': 2.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)(ws@8.18.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))
@@ -36323,13 +36183,13 @@ snapshots:
- utf-8-validate
- ws
- '@trezor/blockchain-link@2.4.3(@solana/sysvars@2.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(react-native@0.78.2(@babel/core@7.27.1)(@babel/preset-env@7.26.9(@babel/core@7.27.1))(@types/react@19.1.0)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(tslib@2.8.1)(typescript@5.8.2)(utf-8-validate@5.0.10)(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))':
+ '@trezor/blockchain-link@2.4.3(@solana/sysvars@2.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(react-native@0.78.2(@babel/core@7.27.1)(@babel/preset-env@7.26.9(@babel/core@7.27.1))(@types/react@19.1.0)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(tslib@2.8.1)(typescript@5.8.2)(utf-8-validate@5.0.10)(ws@8.18.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))':
dependencies:
- '@everstake/wallet-sdk-solana': 2.0.9(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))
- '@solana-program/token': 0.5.1(@solana/kit@2.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)))
- '@solana-program/token-2022': 0.4.0(@solana/kit@2.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)))(@solana/sysvars@2.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2))
- '@solana/kit': 2.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))
- '@trezor/blockchain-link-types': 1.3.3(fastestsmallesttextencoderdecoder@1.0.22)(tslib@2.8.1)(typescript@5.8.2)(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))
+ '@everstake/wallet-sdk-solana': 2.0.9(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)(ws@8.18.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))
+ '@solana-program/token': 0.5.1(@solana/kit@2.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)(ws@8.18.1(bufferutil@4.0.9)(utf-8-validate@5.0.10)))
+ '@solana-program/token-2022': 0.4.0(@solana/kit@2.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)(ws@8.18.1(bufferutil@4.0.9)(utf-8-validate@5.0.10)))(@solana/sysvars@2.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2))
+ '@solana/kit': 2.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)(ws@8.18.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))
+ '@trezor/blockchain-link-types': 1.3.3(fastestsmallesttextencoderdecoder@1.0.22)(tslib@2.8.1)(typescript@5.8.2)(ws@8.18.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))
'@trezor/blockchain-link-utils': 1.3.3(react-native@0.78.2(@babel/core@7.27.1)(@babel/preset-env@7.26.9(@babel/core@7.27.1))(@types/react@19.1.0)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(tslib@2.8.1)
'@trezor/env-utils': 1.3.2(react-native@0.78.2(@babel/core@7.27.1)(@babel/preset-env@7.26.9(@babel/core@7.27.1))(@types/react@19.1.0)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(tslib@2.8.1)
'@trezor/utils': 9.3.3(tslib@2.8.1)
@@ -36409,9 +36269,9 @@ snapshots:
- utf-8-validate
- ws
- '@trezor/connect-web@9.5.3(@solana/sysvars@2.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2))(bufferutil@4.0.9)(encoding@0.1.13)(fastestsmallesttextencoderdecoder@1.0.22)(react-native@0.78.2(@babel/core@7.27.1)(@babel/preset-env@7.26.9(@babel/core@7.27.1))(@types/react@19.1.0)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(tslib@2.8.1)(typescript@5.8.2)(utf-8-validate@5.0.10)(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))':
+ '@trezor/connect-web@9.5.3(@solana/sysvars@2.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2))(bufferutil@4.0.9)(encoding@0.1.13)(fastestsmallesttextencoderdecoder@1.0.22)(react-native@0.78.2(@babel/core@7.27.1)(@babel/preset-env@7.26.9(@babel/core@7.27.1))(@types/react@19.1.0)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(tslib@2.8.1)(typescript@5.8.2)(utf-8-validate@5.0.10)(ws@8.18.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))':
dependencies:
- '@trezor/connect': 9.5.3(@solana/sysvars@2.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2))(bufferutil@4.0.9)(encoding@0.1.13)(fastestsmallesttextencoderdecoder@1.0.22)(react-native@0.78.2(@babel/core@7.27.1)(@babel/preset-env@7.26.9(@babel/core@7.27.1))(@types/react@19.1.0)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(tslib@2.8.1)(typescript@5.8.2)(utf-8-validate@5.0.10)(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))
+ '@trezor/connect': 9.5.3(@solana/sysvars@2.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2))(bufferutil@4.0.9)(encoding@0.1.13)(fastestsmallesttextencoderdecoder@1.0.22)(react-native@0.78.2(@babel/core@7.27.1)(@babel/preset-env@7.26.9(@babel/core@7.27.1))(@types/react@19.1.0)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(tslib@2.8.1)(typescript@5.8.2)(utf-8-validate@5.0.10)(ws@8.18.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))
'@trezor/connect-common': 0.3.3(react-native@0.78.2(@babel/core@7.27.1)(@babel/preset-env@7.26.9(@babel/core@7.27.1))(@types/react@19.1.0)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(tslib@2.8.1)
'@trezor/utils': 9.3.3(tslib@2.8.1)
tslib: 2.8.1
@@ -36472,7 +36332,7 @@ snapshots:
- utf-8-validate
- ws
- '@trezor/connect@9.5.3(@solana/sysvars@2.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2))(bufferutil@4.0.9)(encoding@0.1.13)(fastestsmallesttextencoderdecoder@1.0.22)(react-native@0.78.2(@babel/core@7.27.1)(@babel/preset-env@7.26.9(@babel/core@7.27.1))(@types/react@19.1.0)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(tslib@2.8.1)(typescript@5.8.2)(utf-8-validate@5.0.10)(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))':
+ '@trezor/connect@9.5.3(@solana/sysvars@2.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2))(bufferutil@4.0.9)(encoding@0.1.13)(fastestsmallesttextencoderdecoder@1.0.22)(react-native@0.78.2(@babel/core@7.27.1)(@babel/preset-env@7.26.9(@babel/core@7.27.1))(@types/react@19.1.0)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(tslib@2.8.1)(typescript@5.8.2)(utf-8-validate@5.0.10)(ws@8.18.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))':
dependencies:
'@ethereumjs/common': 4.4.0
'@ethereumjs/tx': 5.4.0
@@ -36480,13 +36340,13 @@ snapshots:
'@mobily/ts-belt': 3.13.1
'@noble/hashes': 1.7.1
'@scure/bip39': 1.5.4
- '@solana-program/compute-budget': 0.7.0(@solana/kit@2.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)))
- '@solana-program/system': 0.7.0(@solana/kit@2.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)))
- '@solana-program/token': 0.5.1(@solana/kit@2.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)))
- '@solana-program/token-2022': 0.4.0(@solana/kit@2.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)))(@solana/sysvars@2.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2))
- '@solana/kit': 2.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))
- '@trezor/blockchain-link': 2.4.3(@solana/sysvars@2.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(react-native@0.78.2(@babel/core@7.27.1)(@babel/preset-env@7.26.9(@babel/core@7.27.1))(@types/react@19.1.0)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(tslib@2.8.1)(typescript@5.8.2)(utf-8-validate@5.0.10)(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))
- '@trezor/blockchain-link-types': 1.3.3(fastestsmallesttextencoderdecoder@1.0.22)(tslib@2.8.1)(typescript@5.8.2)(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))
+ '@solana-program/compute-budget': 0.7.0(@solana/kit@2.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)(ws@8.18.1(bufferutil@4.0.9)(utf-8-validate@5.0.10)))
+ '@solana-program/system': 0.7.0(@solana/kit@2.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)(ws@8.18.1(bufferutil@4.0.9)(utf-8-validate@5.0.10)))
+ '@solana-program/token': 0.5.1(@solana/kit@2.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)(ws@8.18.1(bufferutil@4.0.9)(utf-8-validate@5.0.10)))
+ '@solana-program/token-2022': 0.4.0(@solana/kit@2.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)(ws@8.18.1(bufferutil@4.0.9)(utf-8-validate@5.0.10)))(@solana/sysvars@2.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2))
+ '@solana/kit': 2.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2)(ws@8.18.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))
+ '@trezor/blockchain-link': 2.4.3(@solana/sysvars@2.1.0(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.2))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(react-native@0.78.2(@babel/core@7.27.1)(@babel/preset-env@7.26.9(@babel/core@7.27.1))(@types/react@19.1.0)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(tslib@2.8.1)(typescript@5.8.2)(utf-8-validate@5.0.10)(ws@8.18.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))
+ '@trezor/blockchain-link-types': 1.3.3(fastestsmallesttextencoderdecoder@1.0.22)(tslib@2.8.1)(typescript@5.8.2)(ws@8.18.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))
'@trezor/blockchain-link-utils': 1.3.3(react-native@0.78.2(@babel/core@7.27.1)(@babel/preset-env@7.26.9(@babel/core@7.27.1))(@types/react@19.1.0)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(tslib@2.8.1)
'@trezor/connect-analytics': 1.3.2(react-native@0.78.2(@babel/core@7.27.1)(@babel/preset-env@7.26.9(@babel/core@7.27.1))(@types/react@19.1.0)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(tslib@2.8.1)
'@trezor/connect-common': 0.3.3(react-native@0.78.2(@babel/core@7.27.1)(@babel/preset-env@7.26.9(@babel/core@7.27.1))(@types/react@19.1.0)(bufferutil@4.0.9)(react@19.1.0)(utf-8-validate@5.0.10))(tslib@2.8.1)
@@ -43681,7 +43541,7 @@ snapshots:
fork-ts-checker-webpack-plugin@6.5.3(eslint@9.23.0(jiti@2.4.2))(typescript@4.9.5)(webpack@5.98.0):
dependencies:
- '@babel/code-frame': 7.26.2
+ '@babel/code-frame': 7.27.1
'@types/json-schema': 7.0.15
chalk: 4.1.2
chokidar: 3.6.0
diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml
index 0705708581..fc1c72ad5c 100644
--- a/pnpm-workspace.yaml
+++ b/pnpm-workspace.yaml
@@ -81,6 +81,7 @@ catalog:
"@storybook/blocks": ^8.6.12
"@storybook/nextjs": ^8.6.12
"@storybook/react": ^8.6.12
+ "@storybook/test": "^8.6.12"
"@svgr/webpack": ^8.1.0
"@tailwindcss/forms": ^0.5.10
"@tailwindcss/postcss": "^4.1.6"