release: WRNexusJS 0.2.57

This commit is contained in:
2026-07-19 17:45:13 +05:30
parent 14e2878417
commit c0c09426ff
65 changed files with 487 additions and 103 deletions
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@wrnexus/ai",
"version": "0.2.56",
"version": "0.2.57",
"type": "module",
"description": "Zero-dependency Claude (Anthropic) client for WrNexus apps.",
"license": "MIT",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@wrnexus/authz",
"version": "0.2.56",
"version": "0.2.57",
"type": "module",
"description": "@wrnexus/authz — part of the WrNexus framework.",
"license": "MIT",
+11 -11
View File
@@ -1,6 +1,6 @@
{
"name": "@wrnexus/cli",
"version": "0.2.56",
"version": "0.2.57",
"type": "module",
"description": "@wrnexus/cli — part of the WrNexus framework.",
"license": "MIT",
@@ -28,16 +28,16 @@
"wrnexus": "./dist/index.js"
},
"dependencies": {
"@wrnexus/core": "^0.2.56",
"@wrnexus/router": "^0.2.56",
"@wrnexus/csr": "^0.2.56",
"@wrnexus/compiler": "^0.2.56",
"@wrnexus/styles": "^0.2.56",
"@wrnexus/dev-server": "^0.2.56",
"@wrnexus/ui": "^0.2.56",
"@wrnexus/validation": "^0.2.56",
"@wrnexus/i18n": "^0.2.56",
"@wrnexus/db": "^0.2.56"
"@wrnexus/core": "^0.2.57",
"@wrnexus/router": "^0.2.57",
"@wrnexus/csr": "^0.2.57",
"@wrnexus/compiler": "^0.2.57",
"@wrnexus/styles": "^0.2.57",
"@wrnexus/dev-server": "^0.2.57",
"@wrnexus/ui": "^0.2.57",
"@wrnexus/validation": "^0.2.57",
"@wrnexus/i18n": "^0.2.57",
"@wrnexus/db": "^0.2.57"
},
"files": [
"dist"
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@wrnexus/compiler",
"version": "0.2.56",
"version": "0.2.57",
"type": "module",
"description": "@wrnexus/compiler — part of the WrNexus framework.",
"license": "MIT",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@wrnexus/core",
"version": "0.2.56",
"version": "0.2.57",
"type": "module",
"description": "@wrnexus/core — part of the WrNexus framework.",
"license": "MIT",
+2 -2
View File
@@ -1,6 +1,6 @@
{
"name": "@wrnexus/csr",
"version": "0.2.56",
"version": "0.2.57",
"type": "module",
"description": "@wrnexus/csr — part of the WrNexus framework.",
"license": "MIT",
@@ -21,7 +21,7 @@
}
},
"dependencies": {
"@wrnexus/core": "^0.2.56"
"@wrnexus/core": "^0.2.57"
},
"files": [
"dist"
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@wrnexus/db",
"version": "0.2.56",
"version": "0.2.57",
"type": "module",
"description": "@wrnexus/db — part of the WrNexus framework.",
"license": "MIT",
+13 -13
View File
@@ -1,6 +1,6 @@
{
"name": "@wrnexus/dev-server",
"version": "0.2.56",
"version": "0.2.57",
"type": "module",
"description": "@wrnexus/dev-server — part of the WrNexus framework.",
"license": "MIT",
@@ -25,18 +25,18 @@
}
},
"dependencies": {
"@wrnexus/core": "^0.2.56",
"@wrnexus/router": "^0.2.56",
"@wrnexus/ssr": "^0.2.56",
"@wrnexus/csr": "^0.2.56",
"@wrnexus/compiler": "^0.2.56",
"@wrnexus/styles": "^0.2.56",
"@wrnexus/ui": "^0.2.56",
"@wrnexus/validation": "^0.2.56",
"@wrnexus/i18n": "^0.2.56",
"@wrnexus/db": "^0.2.56",
"@wrnexus/pubsub": "^0.2.56",
"@wrnexus/uploader": "^0.2.56"
"@wrnexus/core": "^0.2.57",
"@wrnexus/router": "^0.2.57",
"@wrnexus/ssr": "^0.2.57",
"@wrnexus/csr": "^0.2.57",
"@wrnexus/compiler": "^0.2.57",
"@wrnexus/styles": "^0.2.57",
"@wrnexus/ui": "^0.2.57",
"@wrnexus/validation": "^0.2.57",
"@wrnexus/i18n": "^0.2.57",
"@wrnexus/db": "^0.2.57",
"@wrnexus/pubsub": "^0.2.57",
"@wrnexus/uploader": "^0.2.57"
},
"files": [
"dist"
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@wrnexus/encryption",
"version": "0.2.56",
"version": "0.2.57",
"type": "module",
"description": "@wrnexus/encryption — part of the WrNexus framework.",
"license": "MIT",
+2 -2
View File
@@ -1,6 +1,6 @@
{
"name": "@wrnexus/helpers",
"version": "0.2.56",
"version": "0.2.57",
"type": "module",
"description": "Safe convenience helpers for WrNexus request contexts and common application flows.",
"license": "MIT",
@@ -21,7 +21,7 @@
}
},
"dependencies": {
"@wrnexus/core": "^0.2.56"
"@wrnexus/core": "^0.2.57"
},
"files": [
"dist"
+2 -2
View File
@@ -1,6 +1,6 @@
{
"name": "@wrnexus/i18n",
"version": "0.2.56",
"version": "0.2.57",
"type": "module",
"description": "@wrnexus/i18n — part of the WrNexus framework.",
"license": "MIT",
@@ -21,7 +21,7 @@
}
},
"dependencies": {
"@wrnexus/core": "^0.2.56"
"@wrnexus/core": "^0.2.57"
},
"files": [
"dist"
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@wrnexus/jwt",
"version": "0.2.56",
"version": "0.2.57",
"type": "module",
"description": "@wrnexus/jwt — part of the WrNexus framework.",
"license": "MIT",
+2 -2
View File
@@ -1,6 +1,6 @@
{
"name": "@wrnexus/mobile",
"version": "0.2.56",
"version": "0.2.57",
"type": "module",
"description": "@wrnexus/mobile — part of the WrNexus framework.",
"license": "MIT",
@@ -21,7 +21,7 @@
}
},
"dependencies": {
"@wrnexus/native": "^0.2.56"
"@wrnexus/native": "^0.2.57"
},
"files": [
"dist"
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@wrnexus/native",
"version": "0.2.56",
"version": "0.2.57",
"type": "module",
"description": "@wrnexus/native — part of the WrNexus framework.",
"license": "MIT",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@wrnexus/oauth",
"version": "0.2.56",
"version": "0.2.57",
"type": "module",
"description": "@wrnexus/oauth — part of the WrNexus framework.",
"license": "MIT",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@wrnexus/pubsub",
"version": "0.2.56",
"version": "0.2.57",
"type": "module",
"description": "@wrnexus/pubsub — part of the WrNexus framework.",
"license": "MIT",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@wrnexus/queue",
"version": "0.2.56",
"version": "0.2.57",
"type": "module",
"description": "@wrnexus/queue — part of the WrNexus framework.",
"license": "MIT",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@wrnexus/reactive",
"version": "0.2.56",
"version": "0.2.57",
"type": "module",
"description": "@wrnexus/reactive — part of the WrNexus framework.",
"license": "MIT",
+3 -3
View File
@@ -1,6 +1,6 @@
{
"name": "@wrnexus/router",
"version": "0.2.56",
"version": "0.2.57",
"type": "module",
"description": "@wrnexus/router — part of the WrNexus framework.",
"license": "MIT",
@@ -21,8 +21,8 @@
}
},
"dependencies": {
"@wrnexus/compiler": "^0.2.56",
"@wrnexus/core": "^0.2.56"
"@wrnexus/compiler": "^0.2.57",
"@wrnexus/core": "^0.2.57"
},
"files": [
"dist"
+2 -2
View File
@@ -1,6 +1,6 @@
{
"name": "@wrnexus/ssr",
"version": "0.2.56",
"version": "0.2.57",
"type": "module",
"description": "@wrnexus/ssr — part of the WrNexus framework.",
"license": "MIT",
@@ -21,7 +21,7 @@
}
},
"dependencies": {
"@wrnexus/core": "^0.2.56"
"@wrnexus/core": "^0.2.57"
},
"files": [
"dist"
+26 -1
View File
@@ -106,6 +106,7 @@ Tokens are emitted as `--wire-<key>` custom properties, **except** the reserved
type ThemeTokens = Record<string, string>;
interface ThemeConfig {
palette?: ThemePaletteName | CustomThemePalette;
default?: string; // theme used when no cookie is present
themes?: Record<string, ThemeTokens>; // deep-merged over built-in light/dark
}
@@ -117,7 +118,30 @@ interface ResolvedTheme {
}
```
Built-in token keys (both `light` and `dark`): `color-scheme`, `color-bg`, `color-surface`, `color-surface-2`, `color-text`, `color-muted`, `color-border`, `color-primary`, `color-primary-hover`, `color-primary-contrast`, `color-danger`, `color-success`, `color-warning`, `radius`, `radius-sm`, `font-sans`, `shadow-1`.
Built-in palettes are `blue`, `indigo`, `violet`, `emerald`, `cyan`, `rose`,
`amber`, and `slate`. Each supplies primary, secondary, info, success, warning,
danger/error, hover, and contrast colors to every light/dark theme. Built-in
token keys also include surfaces, text, borders, radii, fonts, and shadows.
A custom palette is intentionally complete, so components never fall back to an
unrelated blue status or action color:
```ts
theme: {
palette: {
primary: "#7c3aed",
primaryHover: "#6d28d9",
primaryContrast: "#ffffff",
secondary: "#db2777",
secondaryHover: "#be185d",
secondaryContrast: "#ffffff",
info: "#2563eb",
success: "#059669",
warning: "#d97706",
danger: "#dc2626",
},
}
```
The client runtime (`renderThemeRuntime`) exposes `window.wireTheme` with `{ get, set, toggle, bind, themes }`, wires up any `[data-wire-theme-toggle]` and `[data-wire-theme-set]` elements on load, and persists the choice to the `wire-theme` cookie (`max-age` 1 year, `samesite=lax`). `toggle()` cycles through the configured theme names in order.
@@ -135,6 +159,7 @@ export default {
port: 3000,
db: { driver: "sqlite", url: "app.db" },
theme: {
palette: "violet",
default: "dark",
themes: {
light: { "color-primary": "#7c3aed" }, // override one token; rest inherited
+2 -2
View File
@@ -1,6 +1,6 @@
{
"name": "@wrnexus/styles",
"version": "0.2.56",
"version": "0.2.57",
"type": "module",
"description": "@wrnexus/styles — part of the WrNexus framework.",
"license": "MIT",
@@ -21,7 +21,7 @@
}
},
"dependencies": {
"@wrnexus/uploader": "^0.2.56"
"@wrnexus/uploader": "^0.2.57"
},
"files": [
"dist"
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@wrnexus/test",
"version": "0.2.56",
"version": "0.2.57",
"type": "module",
"description": "@wrnexus/test — part of the WrNexus framework.",
"license": "MIT",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@wrnexus/tracking",
"version": "0.2.56",
"version": "0.2.57",
"type": "module",
"description": "@wrnexus/tracking — part of the WrNexus framework.",
"license": "MIT",
+2 -2
View File
@@ -1,6 +1,6 @@
{
"name": "@wrnexus/ui",
"version": "0.2.56",
"version": "0.2.57",
"type": "module",
"description": "@wrnexus/ui — part of the WrNexus framework.",
"license": "MIT",
@@ -23,7 +23,7 @@
"./ui.css": "./ui.css"
},
"dependencies": {
"@wrnexus/core": "^0.2.56"
"@wrnexus/core": "^0.2.57"
},
"files": [
"dist",
+50 -4
View File
@@ -233,15 +233,15 @@
}
.wire-badge--success {
background: var(--wire-color-success);
color: #05210f;
color: var(--wire-color-primary-contrast);
}
.wire-badge--danger {
background: var(--wire-color-danger);
color: #fff;
color: var(--wire-color-primary-contrast);
}
.wire-badge--warning {
background: var(--wire-color-warning);
color: #201400;
color: var(--wire-color-primary-contrast);
}
/* --- Alert ---------------------------------------------------------------- */
@@ -264,7 +264,7 @@
color: var(--wire-color-muted);
}
.wire-alert--info {
border-left-color: var(--wire-color-primary);
border-left-color: var(--wire-color-info);
}
.wire-alert--success {
border-left-color: var(--wire-color-success);
@@ -950,6 +950,52 @@
--wire-ease-emphasized: cubic-bezier(0.16, 1, 0.3, 1);
}
/* Tailwind v4 color bridge. Existing utility-authored components inherit the
* configured semantic palette without requiring generated per-palette markup. */
[data-component] {
--color-violet-50: color-mix(in srgb, var(--wire-color-primary) 7%, white);
--color-violet-100: color-mix(in srgb, var(--wire-color-primary) 14%, white);
--color-violet-200: color-mix(in srgb, var(--wire-color-primary) 25%, white);
--color-violet-300: color-mix(in srgb, var(--wire-color-primary) 42%, white);
--color-violet-400: color-mix(in srgb, var(--wire-color-primary) 72%, white);
--color-violet-500: var(--wire-color-primary);
--color-violet-600: var(--wire-color-primary);
--color-violet-700: var(--wire-color-primary-hover);
--color-violet-800: color-mix(in srgb, var(--wire-color-primary-hover) 82%, black);
--color-violet-900: color-mix(in srgb, var(--wire-color-primary-hover) 65%, black);
--color-violet-950: color-mix(in srgb, var(--wire-color-primary-hover) 42%, black);
--color-indigo-50: var(--color-violet-50);
--color-indigo-100: var(--color-violet-100);
--color-indigo-200: var(--color-violet-200);
--color-indigo-300: var(--color-violet-300);
--color-indigo-400: var(--color-violet-400);
--color-indigo-500: var(--color-violet-500);
--color-indigo-600: var(--color-violet-600);
--color-indigo-700: var(--color-violet-700);
--color-indigo-800: var(--color-violet-800);
--color-indigo-900: var(--color-violet-900);
--color-indigo-950: var(--color-violet-950);
--color-blue-500: var(--wire-color-info);
--color-blue-600: var(--wire-color-info);
--color-blue-700: color-mix(in srgb, var(--wire-color-info) 80%, black);
--color-emerald-500: var(--wire-color-success);
--color-emerald-600: var(--wire-color-success);
--color-emerald-700: color-mix(in srgb, var(--wire-color-success) 80%, black);
--color-green-500: var(--wire-color-success);
--color-green-600: var(--wire-color-success);
--color-amber-500: var(--wire-color-warning);
--color-amber-600: var(--wire-color-warning);
--color-amber-700: color-mix(in srgb, var(--wire-color-warning) 80%, black);
--color-yellow-500: var(--wire-color-warning);
--color-red-400: color-mix(in srgb, var(--wire-color-danger) 75%, white);
--color-red-500: var(--wire-color-danger);
--color-red-600: var(--wire-color-danger);
--color-red-700: color-mix(in srgb, var(--wire-color-danger) 80%, black);
--color-rose-500: var(--wire-color-danger);
--color-rose-600: var(--wire-color-danger);
--color-rose-700: color-mix(in srgb, var(--wire-color-danger) 80%, black);
}
[data-component] {
animation: wire-component-enter var(--wire-motion-slow) var(--wire-ease-emphasized) both;
}
+2 -2
View File
@@ -1,6 +1,6 @@
{
"name": "@wrnexus/uploader",
"version": "0.2.56",
"version": "0.2.57",
"type": "module",
"description": "@wrnexus/uploader — part of the WrNexus framework.",
"license": "MIT",
@@ -21,7 +21,7 @@
}
},
"dependencies": {
"@wrnexus/core": "^0.2.56"
"@wrnexus/core": "^0.2.57"
},
"files": [
"dist"
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@wrnexus/validation",
"version": "0.2.56",
"version": "0.2.57",
"type": "module",
"description": "@wrnexus/validation — part of the WrNexus framework.",
"license": "MIT",