chore(release): prepare WRNexusJS 0.2.73

This commit is contained in:
2026-07-20 16:34:20 +05:30
parent 0b8856b3b5
commit 0013c0771d
66 changed files with 234 additions and 125 deletions
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@wrnexus/ai",
"version": "0.2.72",
"version": "0.2.73",
"private": true,
"type": "module",
"description": "Zero-dependency Claude (Anthropic) client for WrNexus apps.",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@wrnexus/authz",
"version": "0.2.72",
"version": "0.2.73",
"private": true,
"type": "module",
"main": "src/index.ts",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@wrnexus/cli",
"version": "0.2.72",
"version": "0.2.73",
"type": "module",
"main": "src/index.ts",
"exports": {
+9
View File
@@ -725,6 +725,15 @@ const MIGRATIONS: Migration[] = [
// Component and cache behavior improves automatically after updating.
},
},
{
version: "0.2.73",
id: "polished-auth-component-visuals",
description:
"Updates shared authentication actions and notices with reliable built-in icons, semantic color treatments, and polished sizing.",
apply() {
// Shared UI visuals improve automatically after updating and rebuilding.
},
},
];
/** Release tooling uses this to require an explicit migration entry per version. */
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@wrnexus/compiler",
"version": "0.2.72",
"version": "0.2.73",
"type": "module",
"main": "src/index.ts",
"exports": {
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@wrnexus/core",
"version": "0.2.72",
"version": "0.2.73",
"type": "module",
"main": "src/index.ts",
"exports": {
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@wrnexus/csr",
"version": "0.2.72",
"version": "0.2.73",
"type": "module",
"main": "src/index.ts",
"exports": {
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@wrnexus/db",
"version": "0.2.72",
"version": "0.2.73",
"private": true,
"type": "module",
"main": "src/index.ts",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@wrnexus/dev-server",
"version": "0.2.72",
"version": "0.2.73",
"type": "module",
"main": "src/index.ts",
"exports": {
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@wrnexus/encryption",
"version": "0.2.72",
"version": "0.2.73",
"private": true,
"type": "module",
"main": "src/index.ts",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@wrnexus/helpers",
"version": "0.2.72",
"version": "0.2.73",
"private": true,
"type": "module",
"description": "Safe convenience helpers for WrNexus request contexts and common application flows.",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@wrnexus/i18n",
"version": "0.2.72",
"version": "0.2.73",
"private": true,
"type": "module",
"main": "src/index.ts",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@wrnexus/jwt",
"version": "0.2.72",
"version": "0.2.73",
"private": true,
"type": "module",
"main": "src/index.ts",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@wrnexus/mobile",
"version": "0.2.72",
"version": "0.2.73",
"type": "module",
"main": "src/index.ts",
"exports": {
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@wrnexus/native",
"version": "0.2.72",
"version": "0.2.73",
"type": "module",
"main": "src/index.ts",
"exports": {
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@wrnexus/oauth",
"version": "0.2.72",
"version": "0.2.73",
"private": true,
"type": "module",
"main": "src/index.ts",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@wrnexus/pubsub",
"version": "0.2.72",
"version": "0.2.73",
"private": true,
"type": "module",
"main": "src/index.ts",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@wrnexus/queue",
"version": "0.2.72",
"version": "0.2.73",
"private": true,
"type": "module",
"main": "src/index.ts",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@wrnexus/reactive",
"version": "0.2.72",
"version": "0.2.73",
"type": "module",
"main": "src/index.ts",
"exports": {
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@wrnexus/router",
"version": "0.2.72",
"version": "0.2.73",
"type": "module",
"main": "src/index.ts",
"exports": {
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@wrnexus/ssr",
"version": "0.2.72",
"version": "0.2.73",
"type": "module",
"main": "src/index.ts",
"exports": {
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@wrnexus/styles",
"version": "0.2.72",
"version": "0.2.73",
"type": "module",
"main": "src/index.ts",
"exports": {
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@wrnexus/test",
"version": "0.2.72",
"version": "0.2.73",
"private": true,
"type": "module",
"main": "src/index.ts",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@wrnexus/tracking",
"version": "0.2.72",
"version": "0.2.73",
"private": true,
"type": "module",
"main": "src/index.ts",
+1 -1
View File
@@ -513,7 +513,7 @@ Reusable share button component.
Reusable sign in link component.
- Mount: `data-component="SignInLink"`
- Props: `label: string = "Sign in with password"`, `description: string = "Use your username or email and password"`, `href: string = ""`, `type: string = "button"`, `variant: string = "secondary"`, `disabled: boolean = false`, `icon: string = "icon-[lucide--lock-keyhole]"`, `class: string = ""`
- Props: `label: string = "Sign in with password"`, `description: string = "Use your username or email and password"`, `href: string = ""`, `type: string = "button"`, `variant: string = "secondary"`, `disabled: boolean = false`, `icon: string = "icon-[lucide--lock-keyhole]"`, `tone: string = "password"`, `class: string = ""`
- Slots: None
- Events: None
+6
View File
@@ -40327,6 +40327,12 @@
"required": false,
"default": "\"icon-[lucide--lock-keyhole]\""
},
{
"name": "tone",
"type": "string",
"required": false,
"default": "\"password\""
},
{
"name": "class",
"type": "string",
+4 -4
View File
@@ -12,15 +12,15 @@ component PasskeyButton {
<span class="wire-catalog-action wire-auth-action {class}">
{#if href}
<a href="{href}" class="wire-btn wire-btn--{variant}">
<span class="wire-auth-action__icon"><span class="icon-[lucide--fingerprint] size-6" aria-hidden="true"></span></span>
<span class="wire-auth-action__icon wire-auth-action__icon--passkey"><svg viewBox="0 0 24 24" aria-hidden="true"><path d="M12 11a1 1 0 0 0-1 1c0 2.4-.5 4.7-1.5 6.8M8.2 17.5c.5-1.7.8-3.5.8-5.5a3 3 0 0 1 6 0c0 3.2-.7 6.3-2.1 9M5.1 15.5c.3-1.1.4-2.3.4-3.5a6.5 6.5 0 0 1 13 0c0 2.1-.2 4.2-.7 6.2M3 12a9 9 0 0 1 18 0c0 1.1-.1 2.2-.2 3.3M7.1 20.5c.5-1 .9-2 1.2-3.1M16 21c.7-2.5 1-5.5 1-9a5 5 0 0 0-10 0c0 .7 0 1.3-.1 2" /></svg></span>
<span class="wire-auth-action__copy"><span class="wire-auth-action__label">{label}</span>{#if description}<span class="wire-auth-action__description">{description}</span>{/if}</span>
<span class="icon-[lucide--arrow-right] wire-auth-action__arrow" aria-hidden="true"></span>
<svg class="wire-auth-action__arrow" viewBox="0 0 24 24" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6" /></svg>
</a>
{:else}
<button type="{type}" disabled="{disabled}" class="wire-btn wire-btn--{variant}">
<span class="wire-auth-action__icon"><span class="icon-[lucide--fingerprint] size-6" aria-hidden="true"></span></span>
<span class="wire-auth-action__icon wire-auth-action__icon--passkey"><svg viewBox="0 0 24 24" aria-hidden="true"><path d="M12 11a1 1 0 0 0-1 1c0 2.4-.5 4.7-1.5 6.8M8.2 17.5c.5-1.7.8-3.5.8-5.5a3 3 0 0 1 6 0c0 3.2-.7 6.3-2.1 9M5.1 15.5c.3-1.1.4-2.3.4-3.5a6.5 6.5 0 0 1 13 0c0 2.1-.2 4.2-.7 6.2M3 12a9 9 0 0 1 18 0c0 1.1-.1 2.2-.2 3.3M7.1 20.5c.5-1 .9-2 1.2-3.1M16 21c.7-2.5 1-5.5 1-9a5 5 0 0 0-10 0c0 .7 0 1.3-.1 2" /></svg></span>
<span class="wire-auth-action__copy"><span class="wire-auth-action__label">{label}</span>{#if description}<span class="wire-auth-action__description">{description}</span>{/if}</span>
<span class="icon-[lucide--arrow-right] wire-auth-action__arrow" aria-hidden="true"></span>
<svg class="wire-auth-action__arrow" viewBox="0 0 24 24" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6" /></svg>
</button>
{/if}
</span>
+5 -4
View File
@@ -7,21 +7,22 @@ component SignInLink {
variant = "secondary"
disabled = false
icon = "icon-[lucide--lock-keyhole]"
tone = "password"
class = ""
}
view {
<span class="wire-catalog-action wire-auth-action {class}">
{#if href}
<a href="{href}" class="wire-btn wire-btn--{variant}">
<span class="wire-auth-action__icon"><span class="{icon} size-5" aria-hidden="true"></span></span>
<span class="wire-auth-action__icon wire-auth-action__icon--{tone}">{#if tone == "account"}<svg viewBox="0 0 24 24" aria-hidden="true"><path d="M15 19a6 6 0 0 0-12 0M9 13a4 4 0 1 0 0-8 4 4 0 0 0 0 8M19 8v6M16 11h6" /></svg>{:else}<svg viewBox="0 0 24 24" aria-hidden="true"><path d="M7 10V7a5 5 0 0 1 10 0v3M6 10h12a2 2 0 0 1 2 2v8H4v-8a2 2 0 0 1 2-2ZM12 14v2" /></svg>{/if}</span>
<span class="wire-auth-action__copy"><span class="wire-auth-action__label">{label}</span>{#if description}<span class="wire-auth-action__description">{description}</span>{/if}</span>
<span class="icon-[lucide--chevron-right] wire-auth-action__arrow" aria-hidden="true"></span>
<svg class="wire-auth-action__arrow" viewBox="0 0 24 24" aria-hidden="true"><path d="m9 18 6-6-6-6" /></svg>
</a>
{:else}
<button type="{type}" disabled="{disabled}" class="wire-btn wire-btn--{variant}">
<span class="wire-auth-action__icon"><span class="{icon} size-5" aria-hidden="true"></span></span>
<span class="wire-auth-action__icon wire-auth-action__icon--{tone}">{#if tone == "account"}<svg viewBox="0 0 24 24" aria-hidden="true"><path d="M15 19a6 6 0 0 0-12 0M9 13a4 4 0 1 0 0-8 4 4 0 0 0 0 8M19 8v6M16 11h6" /></svg>{:else}<svg viewBox="0 0 24 24" aria-hidden="true"><path d="M7 10V7a5 5 0 0 1 10 0v3M6 10h12a2 2 0 0 1 2 2v8H4v-8a2 2 0 0 1 2-2ZM12 14v2" /></svg>{/if}</span>
<span class="wire-auth-action__copy"><span class="wire-auth-action__label">{label}</span>{#if description}<span class="wire-auth-action__description">{description}</span>{/if}</span>
<span class="icon-[lucide--chevron-right] wire-auth-action__arrow" aria-hidden="true"></span>
<svg class="wire-auth-action__arrow" viewBox="0 0 24 24" aria-hidden="true"><path d="m9 18 6-6-6-6" /></svg>
</button>
{/if}
</span>
+1 -1
View File
@@ -11,7 +11,7 @@ component Alert {
view {
<aside data-show="visible" role="alert" class="wire-alert wire-alert--{variant} wire-alert--rich {class}">
<span class="wire-alert__icon" aria-hidden="true"></span>
<span class="wire-alert__icon" aria-hidden="true"><svg viewBox="0 0 24 24"><path d="M12 3 4.5 6v5.4c0 4.6 3.2 8.8 7.5 9.6 4.3-.8 7.5-5 7.5-9.6V6L12 3Z" /><path d="m9 12 2 2 4-4" /></svg></span>
<div class="wire-alert__content">
{#if title}<h3 class="wire-alert__title">{title}</h3>{/if}
{#if description}<p class="wire-alert__body">{description}</p>{/if}
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@wrnexus/ui",
"version": "0.2.72",
"version": "0.2.73",
"private": true,
"type": "module",
"main": "src/index.ts",
+53 -10
View File
@@ -312,21 +312,37 @@
.wire-alert--warning {
border-left-color: var(--wire-color-warning);
}
.wire-alert--brand {
border-color: var(--wire-color-border);
}
.wire-alert--rich {
display: grid;
grid-template-columns: auto minmax(0, 1fr) auto;
gap: 0.75rem;
align-items: start;
padding: 1rem;
gap: 1rem;
align-items: center;
min-height: 6.125rem;
padding: 1rem 1.25rem;
border-left-width: 1px;
border-radius: var(--wire-radius);
border-radius: 1rem;
box-shadow: var(--wire-shadow-1);
}
.wire-alert--rich .wire-alert__icon {
display: grid;
width: 2.5rem;
height: 2.5rem;
border-radius: calc(var(--wire-radius-sm) * 0.8);
background: color-mix(in srgb, currentColor 12%, transparent);
place-items: center;
border-radius: 0.75rem;
color: var(--wire-color-primary);
background: color-mix(in srgb, var(--wire-color-primary) 22%, transparent);
}
.wire-alert--rich .wire-alert__icon svg {
width: 1.25rem;
height: 1.25rem;
fill: none;
stroke: currentColor;
stroke-width: 1.8;
stroke-linecap: round;
stroke-linejoin: round;
}
.wire-alert--rich .wire-alert__body {
margin: 0.25rem 0 0;
@@ -1096,30 +1112,52 @@
gap: 1rem;
padding: 1rem 1.25rem;
text-align: left;
border-radius: var(--wire-radius);
border-radius: 1rem;
}
.wire-auth-action__icon {
display: grid;
width: 3rem;
height: 3rem;
place-items: center;
border-radius: calc(var(--wire-radius-sm) * 0.9);
border-radius: 0.75rem;
color: currentColor;
background: color-mix(in srgb, currentColor 12%, transparent);
}
.wire-auth-action__icon svg {
width: 1.5rem;
height: 1.5rem;
fill: none;
stroke: currentColor;
stroke-width: 1.8;
stroke-linecap: round;
stroke-linejoin: round;
}
.wire-auth-action__icon--passkey {
color: #fff;
background: rgb(255 255 255 / 20%);
}
.wire-auth-action__icon--password {
color: color-mix(in srgb, var(--wire-color-primary) 70%, white);
background: color-mix(in srgb, var(--wire-color-primary) 30%, transparent);
}
.wire-auth-action__icon--account {
color: #5ee9b5;
background: color-mix(in srgb, #00a96e 30%, transparent);
}
.wire-auth-action__copy {
min-width: 0;
}
.wire-auth-action__label {
display: block;
font-weight: 750;
font-size: 1rem;
font-weight: 700;
line-height: 1.3;
}
.wire-auth-action__description {
display: block;
margin-top: 0.25rem;
color: color-mix(in srgb, currentColor 66%, transparent);
font-size: 0.8rem;
font-size: 0.875rem;
font-weight: 500;
line-height: 1.45;
}
@@ -1127,6 +1165,11 @@
width: 1.1rem;
height: 1.1rem;
opacity: 0.65;
fill: none;
stroke: currentColor;
stroke-width: 1.8;
stroke-linecap: round;
stroke-linejoin: round;
transition: transform var(--wire-motion-base) var(--wire-ease-emphasized);
}
.wire-auth-action > :where(a, button):hover .wire-auth-action__arrow {
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@wrnexus/uploader",
"version": "0.2.72",
"version": "0.2.73",
"private": true,
"type": "module",
"main": "src/index.ts",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@wrnexus/validation",
"version": "0.2.72",
"version": "0.2.73",
"private": true,
"type": "module",
"main": "src/index.ts",