@usetheo/ui 0.27.0 → 0.28.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/primitives/input/input.d.ts +1 -1
- package/dist/index.js +13 -13
- package/dist/tailwind-preset.js +4 -2
- package/package.json +18 -18
|
@@ -8,7 +8,7 @@ declare const inputVariants: (props?: ({
|
|
|
8
8
|
*
|
|
9
9
|
* Violet Forge specifics:
|
|
10
10
|
* - height 40px (h-10) matching default Button md.
|
|
11
|
-
* - rounded-
|
|
11
|
+
* - rounded-lg (8px) — matches buttons (compact Builder identity, 2026-07-16).
|
|
12
12
|
* - focus uses violet ring (--ring).
|
|
13
13
|
* - placeholder uses --muted-foreground.
|
|
14
14
|
*
|
package/dist/index.js
CHANGED
|
@@ -583,9 +583,9 @@ var buttonVariants = cva(
|
|
|
583
583
|
// md: tier ajustável via density (CSS var on :root). See D3 ADR of
|
|
584
584
|
// faang-density-tightening plan. Default `comfortable` density makes
|
|
585
585
|
// this 36px (--theo-control-h: 2.25rem). sm and lg stay hardcoded.
|
|
586
|
-
md: "h-[var(--theo-control-h,
|
|
586
|
+
md: "h-[var(--theo-control-h,2rem)] px-[var(--theo-control-px,0.75rem)] text-body-sm",
|
|
587
587
|
lg: "h-11 px-4 text-body-md",
|
|
588
|
-
icon: "h-[var(--theo-control-h,
|
|
588
|
+
icon: "h-[var(--theo-control-h,2rem)] w-[var(--theo-control-h,2rem)] p-0"
|
|
589
589
|
}
|
|
590
590
|
},
|
|
591
591
|
defaultVariants: {
|
|
@@ -1102,7 +1102,7 @@ var JsonViewer = forwardRef(
|
|
|
1102
1102
|
JsonViewer.displayName = "JsonViewer";
|
|
1103
1103
|
var inputVariants = cva(
|
|
1104
1104
|
[
|
|
1105
|
-
"flex w-full rounded-
|
|
1105
|
+
"flex w-full rounded-lg border border-input bg-card",
|
|
1106
1106
|
"text-foreground placeholder:text-muted-foreground",
|
|
1107
1107
|
"transition-[box-shadow,border-color] duration-base ease-out-soft",
|
|
1108
1108
|
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background",
|
|
@@ -1115,7 +1115,7 @@ var inputVariants = cva(
|
|
|
1115
1115
|
size: {
|
|
1116
1116
|
sm: "h-8 px-2.5 py-1 text-body-sm",
|
|
1117
1117
|
// md: density-tunable via CSS var. Comfortable (default) = 36px.
|
|
1118
|
-
md: "h-[var(--theo-control-h,
|
|
1118
|
+
md: "h-[var(--theo-control-h,2rem)] px-[var(--theo-control-px,0.75rem)] py-1.5 text-body-sm",
|
|
1119
1119
|
lg: "h-11 px-4 py-2.5 text-body-md"
|
|
1120
1120
|
}
|
|
1121
1121
|
},
|
|
@@ -2368,7 +2368,7 @@ var EmptyState = forwardRef(
|
|
|
2368
2368
|
EmptyState.displayName = "EmptyState";
|
|
2369
2369
|
var selectTriggerVariants = cva(
|
|
2370
2370
|
[
|
|
2371
|
-
"flex w-full items-center justify-between gap-2 rounded-
|
|
2371
|
+
"flex w-full items-center justify-between gap-2 rounded-lg border border-input bg-card",
|
|
2372
2372
|
"text-foreground placeholder:text-muted-foreground",
|
|
2373
2373
|
"transition-[border-color,box-shadow] duration-base ease-out-soft",
|
|
2374
2374
|
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background",
|
|
@@ -2381,7 +2381,7 @@ var selectTriggerVariants = cva(
|
|
|
2381
2381
|
variants: {
|
|
2382
2382
|
size: {
|
|
2383
2383
|
sm: "h-8 px-2.5 py-1 text-body-sm",
|
|
2384
|
-
md: "h-[var(--theo-control-h,
|
|
2384
|
+
md: "h-[var(--theo-control-h,2rem)] px-[var(--theo-control-px,0.75rem)] py-1.5 text-body-sm",
|
|
2385
2385
|
lg: "h-11 px-4 py-2.5 text-body-md"
|
|
2386
2386
|
}
|
|
2387
2387
|
},
|
|
@@ -2632,7 +2632,7 @@ var Switch = forwardRef(
|
|
|
2632
2632
|
Switch.displayName = "Switch";
|
|
2633
2633
|
var textareaVariants = cva(
|
|
2634
2634
|
[
|
|
2635
|
-
"flex w-full resize-y rounded-
|
|
2635
|
+
"flex w-full resize-y rounded-lg border border-input bg-card",
|
|
2636
2636
|
"text-foreground placeholder:text-muted-foreground",
|
|
2637
2637
|
"transition-[box-shadow,border-color] duration-base ease-out-soft",
|
|
2638
2638
|
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background",
|
|
@@ -2645,7 +2645,7 @@ var textareaVariants = cva(
|
|
|
2645
2645
|
sm: "min-h-[64px] px-2.5 py-1.5 text-body-sm",
|
|
2646
2646
|
// md: text scale + padding tighten to body-sm per FAANG density.
|
|
2647
2647
|
// min-h stays 96px because multiline has its own height rationale.
|
|
2648
|
-
md: "min-h-[6rem] px-[var(--theo-control-px,0.
|
|
2648
|
+
md: "min-h-[6rem] px-[var(--theo-control-px,0.75rem)] py-1.5 text-body-sm",
|
|
2649
2649
|
lg: "min-h-[128px] px-4 py-2.5 text-body-md"
|
|
2650
2650
|
}
|
|
2651
2651
|
},
|
|
@@ -4204,8 +4204,8 @@ var Content12 = forwardRef(({ className, sideOffset = 4, ...props }, ref) => /*
|
|
|
4204
4204
|
ref,
|
|
4205
4205
|
sideOffset,
|
|
4206
4206
|
className: cn(
|
|
4207
|
-
"z-50 min-w-32 overflow-hidden rounded-lg border
|
|
4208
|
-
"text-
|
|
4207
|
+
"z-50 min-w-32 overflow-hidden rounded-lg border bg-popover p-1",
|
|
4208
|
+
"text-popover-foreground shadow-md",
|
|
4209
4209
|
"data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[state=open]:animate-in",
|
|
4210
4210
|
"data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=closed]:animate-out",
|
|
4211
4211
|
className
|
|
@@ -4335,8 +4335,8 @@ var SubContent2 = forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ j
|
|
|
4335
4335
|
"data-slot": "dropdown-menu-sub-content",
|
|
4336
4336
|
ref,
|
|
4337
4337
|
className: cn(
|
|
4338
|
-
"z-50 min-w-32 overflow-hidden rounded-lg border
|
|
4339
|
-
"text-
|
|
4338
|
+
"z-50 min-w-32 overflow-hidden rounded-lg border bg-popover p-1",
|
|
4339
|
+
"text-popover-foreground shadow-md",
|
|
4340
4340
|
"data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[state=open]:animate-in",
|
|
4341
4341
|
"data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=closed]:animate-out",
|
|
4342
4342
|
className
|
|
@@ -8485,7 +8485,7 @@ var EvaluatorForm = forwardRef(
|
|
|
8485
8485
|
disabled,
|
|
8486
8486
|
onChange: (e) => onChange(defaultEvaluatorConfig(e.target.value)),
|
|
8487
8487
|
className: cn(
|
|
8488
|
-
"flex h-[var(--theo-control-h,
|
|
8488
|
+
"flex h-[var(--theo-control-h,2rem)] w-full rounded-lg border border-input bg-card px-[var(--theo-control-px,0.75rem)] py-1.5 text-body-sm text-foreground",
|
|
8489
8489
|
"focus-visible:border-primary focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background",
|
|
8490
8490
|
"disabled:cursor-not-allowed disabled:opacity-50"
|
|
8491
8491
|
),
|
package/dist/tailwind-preset.js
CHANGED
|
@@ -105,8 +105,10 @@ var theoUIPreset = {
|
|
|
105
105
|
"title-md": ["20px", { lineHeight: "1.4", letterSpacing: "-0.03em", fontWeight: "600" }],
|
|
106
106
|
// Body tier — FAANG-density realignment 2026-05-22: body-md is the
|
|
107
107
|
// industry-standard 14px (shadcn / Vercel Geist / Linear / Stripe /
|
|
108
|
-
// Mantine). The previous 15px was idiosyncratic. body-sm (
|
|
109
|
-
//
|
|
108
|
+
// Mantine). The previous 15px was idiosyncratic. body-sm is 13px (its
|
|
109
|
+
// own line-height / weight signature), kept in lockstep with @theokit/ui
|
|
110
|
+
// and this preset's own tokens-v4.css so menu items / secondary text
|
|
111
|
+
// render at the same size across both scopes.
|
|
110
112
|
"body-lg": ["18px", { lineHeight: "1.56", letterSpacing: "-0.01em", fontWeight: "400" }],
|
|
111
113
|
"body-md": ["14px", { lineHeight: "1.43", letterSpacing: "0", fontWeight: "400" }],
|
|
112
114
|
"body-sm": ["13px", { lineHeight: "1.46", fontWeight: "400" }],
|
package/package.json
CHANGED
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@usetheo/ui",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.28.1",
|
|
4
|
+
"packageManager": "pnpm@10.32.1+sha512.a706938f0e89ac1456b6563eab4edf1d1faf3368d1191fc5c59790e96dc918e4456ab2e67d613de1043d2e8c81f87303e6b40d4ffeca9df15ef1ad567348f2be",
|
|
4
5
|
"type": "module",
|
|
5
6
|
"license": "Apache-2.0",
|
|
6
7
|
"description": "Violet Forge design system — generic React components + primitives (the non-AI foundation of @theokit/ui).",
|
|
7
8
|
"sideEffects": false,
|
|
8
|
-
"files": [
|
|
9
|
-
"dist"
|
|
10
|
-
],
|
|
9
|
+
"files": ["dist"],
|
|
11
10
|
"exports": {
|
|
12
11
|
".": {
|
|
13
12
|
"types": "./dist/index.d.ts",
|
|
@@ -21,6 +20,19 @@
|
|
|
21
20
|
"engines": {
|
|
22
21
|
"node": ">=20"
|
|
23
22
|
},
|
|
23
|
+
"scripts": {
|
|
24
|
+
"dev": "ladle serve",
|
|
25
|
+
"typecheck": "tsc --noEmit",
|
|
26
|
+
"lint": "biome check src",
|
|
27
|
+
"lint:ci": "biome check src",
|
|
28
|
+
"format:check": "biome format src",
|
|
29
|
+
"test": "vitest run",
|
|
30
|
+
"test:run": "vitest run",
|
|
31
|
+
"build": "tsup && tsc -p tsconfig.dts.json",
|
|
32
|
+
"prepublishOnly": "npm run build",
|
|
33
|
+
"registry:build": "tsx scripts/build-registry.ts",
|
|
34
|
+
"registry:validate": "tsx scripts/validate-registry.ts"
|
|
35
|
+
},
|
|
24
36
|
"peerDependencies": {
|
|
25
37
|
"react": ">=18",
|
|
26
38
|
"react-dom": ">=18"
|
|
@@ -70,17 +82,5 @@
|
|
|
70
82
|
"vitest": "^4.1.8",
|
|
71
83
|
"vitest-axe": "^0.1.0"
|
|
72
84
|
},
|
|
73
|
-
"_provenance": "seeded from theo-ui @ 2b46eca (2026-07-03, pivot M-B)"
|
|
74
|
-
|
|
75
|
-
"dev": "ladle serve",
|
|
76
|
-
"typecheck": "tsc --noEmit",
|
|
77
|
-
"lint": "biome check src",
|
|
78
|
-
"lint:ci": "biome check src",
|
|
79
|
-
"format:check": "biome format src",
|
|
80
|
-
"test": "vitest run",
|
|
81
|
-
"test:run": "vitest run",
|
|
82
|
-
"build": "tsup && tsc -p tsconfig.dts.json",
|
|
83
|
-
"registry:build": "tsx scripts/build-registry.ts",
|
|
84
|
-
"registry:validate": "tsx scripts/validate-registry.ts"
|
|
85
|
-
}
|
|
86
|
-
}
|
|
85
|
+
"_provenance": "seeded from theo-ui @ 2b46eca (2026-07-03, pivot M-B)"
|
|
86
|
+
}
|