feat(ui): add analytics primitives and layout patterns

This commit is contained in:
2026-03-25 19:49:49 +08:00
parent cc1509d2f6
commit a5d75f42e9
63 changed files with 7751 additions and 2 deletions
+281
View File
@@ -237,6 +237,36 @@
"sourceVersion": "0.0.0",
"targetDirectory": "src/cadence-ui"
},
{
"description": "Source-owned Chart component.",
"displayName": "Chart",
"entrypoints": [
"packages/ui/src/components/chart.tsx"
],
"files": [
"packages/ui/src/components/chart.tsx",
"packages/ui/src/components/chart.variants.ts",
"packages/ui/src/lib/cn.ts",
"packages/ui/src/lib/contracts.ts",
"packages/ui/src/lib/cva.ts",
"packages/ui/src/lib/motion.ts"
],
"kind": "component",
"name": "chart",
"packageDependencies": {
"class-variance-authority": "^0.7.1",
"clsx": "^2.1.1",
"motion": "^12.38.0",
"react": "^18.3.1 || ^19.0.0",
"tailwind-merge": "^3.5.0"
},
"requires": [
"tokens"
],
"sourcePackage": "@ai-ui/ui",
"sourceVersion": "0.0.0",
"targetDirectory": "src/cadence-ui"
},
{
"description": "Source-owned Checkbox component.",
"displayName": "Checkbox",
@@ -291,6 +321,7 @@
"@radix-ui/react-popover": "^1.1.15",
"class-variance-authority": "^0.7.1",
"clsx": "^2.1.1",
"motion": "^12.38.0",
"react": "^18.3.1 || ^19.0.0",
"tailwind-merge": "^3.5.0"
},
@@ -312,6 +343,10 @@
"packages/ui/src/components/command.variants.ts",
"packages/ui/src/components/dialog.tsx",
"packages/ui/src/components/dialog.variants.ts",
"packages/ui/src/components/field.tsx",
"packages/ui/src/components/input-group.tsx",
"packages/ui/src/components/input-group.variants.ts",
"packages/ui/src/components/label.tsx",
"packages/ui/src/lib/cn.ts",
"packages/ui/src/lib/contracts.ts",
"packages/ui/src/lib/cva.ts",
@@ -325,6 +360,7 @@
"class-variance-authority": "^0.7.1",
"clsx": "^2.1.1",
"cmdk": "^1.1.1",
"motion": "^12.38.0",
"react": "^18.3.1 || ^19.0.0",
"tailwind-merge": "^3.5.0"
},
@@ -385,6 +421,8 @@
"packages/ui/src/components/empty-state.tsx",
"packages/ui/src/components/empty-state.variants.ts",
"packages/ui/src/components/field.tsx",
"packages/ui/src/components/input-group.tsx",
"packages/ui/src/components/input-group.variants.ts",
"packages/ui/src/components/input.tsx",
"packages/ui/src/components/input.variants.ts",
"packages/ui/src/components/label.tsx",
@@ -434,6 +472,8 @@
"packages/ui/src/components/date-picker.tsx",
"packages/ui/src/components/date-picker.variants.ts",
"packages/ui/src/components/field.tsx",
"packages/ui/src/components/input-group.tsx",
"packages/ui/src/components/input-group.variants.ts",
"packages/ui/src/components/input.tsx",
"packages/ui/src/components/input.variants.ts",
"packages/ui/src/components/label.tsx",
@@ -545,6 +585,7 @@
"packageDependencies": {
"class-variance-authority": "^0.7.1",
"clsx": "^2.1.1",
"motion": "^12.38.0",
"react": "^18.3.1 || ^19.0.0",
"tailwind-merge": "^3.5.0"
},
@@ -610,6 +651,93 @@
"sourceVersion": "0.0.0",
"targetDirectory": "src/cadence-ui"
},
{
"description": "Source-owned Gauge component.",
"displayName": "Gauge",
"entrypoints": [
"packages/ui/src/components/gauge.tsx"
],
"files": [
"packages/ui/src/components/gauge.tsx",
"packages/ui/src/components/gauge.variants.ts",
"packages/ui/src/lib/cn.ts",
"packages/ui/src/lib/contracts.ts",
"packages/ui/src/lib/cva.ts"
],
"kind": "component",
"name": "gauge",
"packageDependencies": {
"class-variance-authority": "^0.7.1",
"clsx": "^2.1.1",
"react": "^18.3.1 || ^19.0.0",
"tailwind-merge": "^3.5.0"
},
"requires": [
"tokens"
],
"sourcePackage": "@ai-ui/ui",
"sourceVersion": "0.0.0",
"targetDirectory": "src/cadence-ui"
},
{
"description": "Source-owned Grid component.",
"displayName": "Grid",
"entrypoints": [
"packages/ui/src/components/grid.tsx"
],
"files": [
"packages/ui/src/components/grid.tsx",
"packages/ui/src/components/grid.variants.ts",
"packages/ui/src/lib/cn.ts",
"packages/ui/src/lib/contracts.ts",
"packages/ui/src/lib/cva.ts"
],
"kind": "component",
"name": "grid",
"packageDependencies": {
"class-variance-authority": "^0.7.1",
"clsx": "^2.1.1",
"react": "^18.3.1 || ^19.0.0",
"tailwind-merge": "^3.5.0"
},
"requires": [
"tokens"
],
"sourcePackage": "@ai-ui/ui",
"sourceVersion": "0.0.0",
"targetDirectory": "src/cadence-ui"
},
{
"description": "Source-owned Input Group component.",
"displayName": "Input Group",
"entrypoints": [
"packages/ui/src/components/input-group.tsx"
],
"files": [
"packages/ui/src/components/field.tsx",
"packages/ui/src/components/input-group.tsx",
"packages/ui/src/components/input-group.variants.ts",
"packages/ui/src/components/label.tsx",
"packages/ui/src/lib/cn.ts",
"packages/ui/src/lib/contracts.ts",
"packages/ui/src/lib/cva.ts",
"packages/ui/src/lib/motion.ts"
],
"kind": "component",
"name": "input-group",
"packageDependencies": {
"class-variance-authority": "^0.7.1",
"clsx": "^2.1.1",
"react": "^18.3.1 || ^19.0.0",
"tailwind-merge": "^3.5.0"
},
"requires": [
"tokens"
],
"sourcePackage": "@ai-ui/ui",
"sourceVersion": "0.0.0",
"targetDirectory": "src/cadence-ui"
},
{
"description": "Source-owned Input component.",
"displayName": "Input",
@@ -618,6 +746,8 @@
],
"files": [
"packages/ui/src/components/field.tsx",
"packages/ui/src/components/input-group.tsx",
"packages/ui/src/components/input-group.variants.ts",
"packages/ui/src/components/input.tsx",
"packages/ui/src/components/input.variants.ts",
"packages/ui/src/components/label.tsx",
@@ -667,6 +797,37 @@
"sourceVersion": "0.0.0",
"targetDirectory": "src/cadence-ui"
},
{
"description": "Source-owned Metric Card component.",
"displayName": "Metric Card",
"entrypoints": [
"packages/ui/src/components/metric-card.tsx"
],
"files": [
"packages/ui/src/components/metric-card.tsx",
"packages/ui/src/components/metric-card.variants.ts",
"packages/ui/src/components/stat-card.tsx",
"packages/ui/src/components/stat-card.variants.ts",
"packages/ui/src/lib/cn.ts",
"packages/ui/src/lib/contracts.ts",
"packages/ui/src/lib/cva.ts",
"packages/ui/src/lib/motion.ts"
],
"kind": "component",
"name": "metric-card",
"packageDependencies": {
"class-variance-authority": "^0.7.1",
"clsx": "^2.1.1",
"react": "^18.3.1 || ^19.0.0",
"tailwind-merge": "^3.5.0"
},
"requires": [
"tokens"
],
"sourcePackage": "@ai-ui/ui",
"sourceVersion": "0.0.0",
"targetDirectory": "src/cadence-ui"
},
{
"description": "Source-owned Popover component.",
"displayName": "Popover",
@@ -756,6 +917,37 @@
"sourceVersion": "0.0.0",
"targetDirectory": "src/cadence-ui"
},
{
"description": "Source-owned Segmented Control component.",
"displayName": "Segmented Control",
"entrypoints": [
"packages/ui/src/components/segmented-control.tsx"
],
"files": [
"packages/ui/src/components/segmented-control.tsx",
"packages/ui/src/components/segmented-control.variants.ts",
"packages/ui/src/lib/cn.ts",
"packages/ui/src/lib/contracts.ts",
"packages/ui/src/lib/cva.ts",
"packages/ui/src/lib/motion.ts"
],
"kind": "component",
"name": "segmented-control",
"packageDependencies": {
"@radix-ui/react-radio-group": "^1.3.8",
"class-variance-authority": "^0.7.1",
"clsx": "^2.1.1",
"motion": "^12.38.0",
"react": "^18.3.1 || ^19.0.0",
"tailwind-merge": "^3.5.0"
},
"requires": [
"tokens"
],
"sourcePackage": "@ai-ui/ui",
"sourceVersion": "0.0.0",
"targetDirectory": "src/cadence-ui"
},
{
"description": "Source-owned Select component.",
"displayName": "Select",
@@ -875,6 +1067,35 @@
"sourceVersion": "0.0.0",
"targetDirectory": "src/cadence-ui"
},
{
"description": "Source-owned Sparkbar component.",
"displayName": "Sparkbar",
"entrypoints": [
"packages/ui/src/components/sparkbar.tsx"
],
"files": [
"packages/ui/src/components/sparkbar.tsx",
"packages/ui/src/components/sparkbar.variants.ts",
"packages/ui/src/lib/cn.ts",
"packages/ui/src/lib/contracts.ts",
"packages/ui/src/lib/cva.ts",
"packages/ui/src/lib/motion.ts"
],
"kind": "component",
"name": "sparkbar",
"packageDependencies": {
"class-variance-authority": "^0.7.1",
"clsx": "^2.1.1",
"react": "^18.3.1 || ^19.0.0",
"tailwind-merge": "^3.5.0"
},
"requires": [
"tokens"
],
"sourcePackage": "@ai-ui/ui",
"sourceVersion": "0.0.0",
"targetDirectory": "src/cadence-ui"
},
{
"description": "Source-owned Spinner component.",
"displayName": "Spinner",
@@ -902,6 +1123,35 @@
"sourceVersion": "0.0.0",
"targetDirectory": "src/cadence-ui"
},
{
"description": "Source-owned Stat Card component.",
"displayName": "Stat Card",
"entrypoints": [
"packages/ui/src/components/stat-card.tsx"
],
"files": [
"packages/ui/src/components/stat-card.tsx",
"packages/ui/src/components/stat-card.variants.ts",
"packages/ui/src/lib/cn.ts",
"packages/ui/src/lib/contracts.ts",
"packages/ui/src/lib/cva.ts",
"packages/ui/src/lib/motion.ts"
],
"kind": "component",
"name": "stat-card",
"packageDependencies": {
"class-variance-authority": "^0.7.1",
"clsx": "^2.1.1",
"react": "^18.3.1 || ^19.0.0",
"tailwind-merge": "^3.5.0"
},
"requires": [
"tokens"
],
"sourcePackage": "@ai-ui/ui",
"sourceVersion": "0.0.0",
"targetDirectory": "src/cadence-ui"
},
{
"description": "Source-owned Switch component.",
"displayName": "Switch",
@@ -952,6 +1202,7 @@
"@radix-ui/react-tabs": "^1.1.13",
"class-variance-authority": "^0.7.1",
"clsx": "^2.1.1",
"motion": "^12.38.0",
"react": "^18.3.1 || ^19.0.0",
"tailwind-merge": "^3.5.0"
},
@@ -1052,6 +1303,36 @@
"sourcePackage": "@ai-ui/ui",
"sourceVersion": "0.0.0",
"targetDirectory": "src/cadence-ui"
},
{
"description": "Source-owned Value Field component.",
"displayName": "Value Field",
"entrypoints": [
"packages/ui/src/components/value-field.tsx"
],
"files": [
"packages/ui/src/components/field.tsx",
"packages/ui/src/components/label.tsx",
"packages/ui/src/components/value-field.tsx",
"packages/ui/src/components/value-field.variants.ts",
"packages/ui/src/lib/cn.ts",
"packages/ui/src/lib/contracts.ts",
"packages/ui/src/lib/cva.ts"
],
"kind": "component",
"name": "value-field",
"packageDependencies": {
"class-variance-authority": "^0.7.1",
"clsx": "^2.1.1",
"react": "^18.3.1 || ^19.0.0",
"tailwind-merge": "^3.5.0"
},
"requires": [
"tokens"
],
"sourcePackage": "@ai-ui/ui",
"sourceVersion": "0.0.0",
"targetDirectory": "src/cadence-ui"
}
],
"library": {