chore(release): prepare WRNexusJS 0.2.73
This commit is contained in:
@@ -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,6 +1,6 @@
|
||||
{
|
||||
"name": "@wrnexus/authz",
|
||||
"version": "0.2.72",
|
||||
"version": "0.2.73",
|
||||
"private": true,
|
||||
"type": "module",
|
||||
"main": "src/index.ts",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@wrnexus/cli",
|
||||
"version": "0.2.72",
|
||||
"version": "0.2.73",
|
||||
"type": "module",
|
||||
"main": "src/index.ts",
|
||||
"exports": {
|
||||
|
||||
@@ -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,6 +1,6 @@
|
||||
{
|
||||
"name": "@wrnexus/compiler",
|
||||
"version": "0.2.72",
|
||||
"version": "0.2.73",
|
||||
"type": "module",
|
||||
"main": "src/index.ts",
|
||||
"exports": {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@wrnexus/core",
|
||||
"version": "0.2.72",
|
||||
"version": "0.2.73",
|
||||
"type": "module",
|
||||
"main": "src/index.ts",
|
||||
"exports": {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@wrnexus/csr",
|
||||
"version": "0.2.72",
|
||||
"version": "0.2.73",
|
||||
"type": "module",
|
||||
"main": "src/index.ts",
|
||||
"exports": {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@wrnexus/db",
|
||||
"version": "0.2.72",
|
||||
"version": "0.2.73",
|
||||
"private": true,
|
||||
"type": "module",
|
||||
"main": "src/index.ts",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@wrnexus/dev-server",
|
||||
"version": "0.2.72",
|
||||
"version": "0.2.73",
|
||||
"type": "module",
|
||||
"main": "src/index.ts",
|
||||
"exports": {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@wrnexus/encryption",
|
||||
"version": "0.2.72",
|
||||
"version": "0.2.73",
|
||||
"private": true,
|
||||
"type": "module",
|
||||
"main": "src/index.ts",
|
||||
|
||||
@@ -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,6 +1,6 @@
|
||||
{
|
||||
"name": "@wrnexus/i18n",
|
||||
"version": "0.2.72",
|
||||
"version": "0.2.73",
|
||||
"private": true,
|
||||
"type": "module",
|
||||
"main": "src/index.ts",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@wrnexus/jwt",
|
||||
"version": "0.2.72",
|
||||
"version": "0.2.73",
|
||||
"private": true,
|
||||
"type": "module",
|
||||
"main": "src/index.ts",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@wrnexus/mobile",
|
||||
"version": "0.2.72",
|
||||
"version": "0.2.73",
|
||||
"type": "module",
|
||||
"main": "src/index.ts",
|
||||
"exports": {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@wrnexus/native",
|
||||
"version": "0.2.72",
|
||||
"version": "0.2.73",
|
||||
"type": "module",
|
||||
"main": "src/index.ts",
|
||||
"exports": {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@wrnexus/oauth",
|
||||
"version": "0.2.72",
|
||||
"version": "0.2.73",
|
||||
"private": true,
|
||||
"type": "module",
|
||||
"main": "src/index.ts",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@wrnexus/pubsub",
|
||||
"version": "0.2.72",
|
||||
"version": "0.2.73",
|
||||
"private": true,
|
||||
"type": "module",
|
||||
"main": "src/index.ts",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@wrnexus/queue",
|
||||
"version": "0.2.72",
|
||||
"version": "0.2.73",
|
||||
"private": true,
|
||||
"type": "module",
|
||||
"main": "src/index.ts",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@wrnexus/reactive",
|
||||
"version": "0.2.72",
|
||||
"version": "0.2.73",
|
||||
"type": "module",
|
||||
"main": "src/index.ts",
|
||||
"exports": {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@wrnexus/router",
|
||||
"version": "0.2.72",
|
||||
"version": "0.2.73",
|
||||
"type": "module",
|
||||
"main": "src/index.ts",
|
||||
"exports": {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@wrnexus/ssr",
|
||||
"version": "0.2.72",
|
||||
"version": "0.2.73",
|
||||
"type": "module",
|
||||
"main": "src/index.ts",
|
||||
"exports": {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@wrnexus/styles",
|
||||
"version": "0.2.72",
|
||||
"version": "0.2.73",
|
||||
"type": "module",
|
||||
"main": "src/index.ts",
|
||||
"exports": {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@wrnexus/test",
|
||||
"version": "0.2.72",
|
||||
"version": "0.2.73",
|
||||
"private": true,
|
||||
"type": "module",
|
||||
"main": "src/index.ts",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@wrnexus/tracking",
|
||||
"version": "0.2.72",
|
||||
"version": "0.2.73",
|
||||
"private": true,
|
||||
"type": "module",
|
||||
"main": "src/index.ts",
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -40327,6 +40327,12 @@
|
||||
"required": false,
|
||||
"default": "\"icon-[lucide--lock-keyhole]\""
|
||||
},
|
||||
{
|
||||
"name": "tone",
|
||||
"type": "string",
|
||||
"required": false,
|
||||
"default": "\"password\""
|
||||
},
|
||||
{
|
||||
"name": "class",
|
||||
"type": "string",
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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,6 +1,6 @@
|
||||
{
|
||||
"name": "@wrnexus/ui",
|
||||
"version": "0.2.72",
|
||||
"version": "0.2.73",
|
||||
"private": true,
|
||||
"type": "module",
|
||||
"main": "src/index.ts",
|
||||
|
||||
+53
-10
@@ -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,6 +1,6 @@
|
||||
{
|
||||
"name": "@wrnexus/uploader",
|
||||
"version": "0.2.72",
|
||||
"version": "0.2.73",
|
||||
"private": true,
|
||||
"type": "module",
|
||||
"main": "src/index.ts",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@wrnexus/validation",
|
||||
"version": "0.2.72",
|
||||
"version": "0.2.73",
|
||||
"private": true,
|
||||
"type": "module",
|
||||
"main": "src/index.ts",
|
||||
|
||||
Reference in New Issue
Block a user