diff --git a/.publish/ai/package.json b/.publish/ai/package.json
index dc633d05..c7f5b47e 100644
--- a/.publish/ai/package.json
+++ b/.publish/ai/package.json
@@ -1,6 +1,6 @@
{
"name": "@wrnexus/ai",
- "version": "0.2.48",
+ "version": "0.2.49",
"type": "module",
"description": "Zero-dependency Claude (Anthropic) client for WrNexus apps.",
"license": "MIT",
diff --git a/.publish/authz/package.json b/.publish/authz/package.json
index a1f960e6..5772de48 100644
--- a/.publish/authz/package.json
+++ b/.publish/authz/package.json
@@ -1,6 +1,6 @@
{
"name": "@wrnexus/authz",
- "version": "0.2.48",
+ "version": "0.2.49",
"type": "module",
"description": "@wrnexus/authz — part of the WrNexus framework.",
"license": "MIT",
diff --git a/.publish/cli/package.json b/.publish/cli/package.json
index b89db303..9964fe95 100644
--- a/.publish/cli/package.json
+++ b/.publish/cli/package.json
@@ -1,6 +1,6 @@
{
"name": "@wrnexus/cli",
- "version": "0.2.48",
+ "version": "0.2.49",
"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.48",
- "@wrnexus/router": "^0.2.48",
- "@wrnexus/csr": "^0.2.48",
- "@wrnexus/compiler": "^0.2.48",
- "@wrnexus/styles": "^0.2.48",
- "@wrnexus/dev-server": "^0.2.48",
- "@wrnexus/ui": "^0.2.48",
- "@wrnexus/validation": "^0.2.48",
- "@wrnexus/i18n": "^0.2.48",
- "@wrnexus/db": "^0.2.48"
+ "@wrnexus/core": "^0.2.49",
+ "@wrnexus/router": "^0.2.49",
+ "@wrnexus/csr": "^0.2.49",
+ "@wrnexus/compiler": "^0.2.49",
+ "@wrnexus/styles": "^0.2.49",
+ "@wrnexus/dev-server": "^0.2.49",
+ "@wrnexus/ui": "^0.2.49",
+ "@wrnexus/validation": "^0.2.49",
+ "@wrnexus/i18n": "^0.2.49",
+ "@wrnexus/db": "^0.2.49"
},
"files": [
"dist"
diff --git a/.publish/compiler/package.json b/.publish/compiler/package.json
index 4657414d..8c03d947 100644
--- a/.publish/compiler/package.json
+++ b/.publish/compiler/package.json
@@ -1,6 +1,6 @@
{
"name": "@wrnexus/compiler",
- "version": "0.2.48",
+ "version": "0.2.49",
"type": "module",
"description": "@wrnexus/compiler — part of the WrNexus framework.",
"license": "MIT",
diff --git a/.publish/core/package.json b/.publish/core/package.json
index 412d4b58..b0248f89 100644
--- a/.publish/core/package.json
+++ b/.publish/core/package.json
@@ -1,6 +1,6 @@
{
"name": "@wrnexus/core",
- "version": "0.2.48",
+ "version": "0.2.49",
"type": "module",
"description": "@wrnexus/core — part of the WrNexus framework.",
"license": "MIT",
diff --git a/.publish/csr/package.json b/.publish/csr/package.json
index 78596f18..2c26b6a0 100644
--- a/.publish/csr/package.json
+++ b/.publish/csr/package.json
@@ -1,6 +1,6 @@
{
"name": "@wrnexus/csr",
- "version": "0.2.48",
+ "version": "0.2.49",
"type": "module",
"description": "@wrnexus/csr — part of the WrNexus framework.",
"license": "MIT",
@@ -21,7 +21,7 @@
}
},
"dependencies": {
- "@wrnexus/core": "^0.2.48"
+ "@wrnexus/core": "^0.2.49"
},
"files": [
"dist"
diff --git a/.publish/db/package.json b/.publish/db/package.json
index be928c9e..e2c2bd7b 100644
--- a/.publish/db/package.json
+++ b/.publish/db/package.json
@@ -1,6 +1,6 @@
{
"name": "@wrnexus/db",
- "version": "0.2.48",
+ "version": "0.2.49",
"type": "module",
"description": "@wrnexus/db — part of the WrNexus framework.",
"license": "MIT",
diff --git a/.publish/dev-server/package.json b/.publish/dev-server/package.json
index 152c4167..ba99551b 100644
--- a/.publish/dev-server/package.json
+++ b/.publish/dev-server/package.json
@@ -1,6 +1,6 @@
{
"name": "@wrnexus/dev-server",
- "version": "0.2.48",
+ "version": "0.2.49",
"type": "module",
"description": "@wrnexus/dev-server — part of the WrNexus framework.",
"license": "MIT",
@@ -25,18 +25,18 @@
}
},
"dependencies": {
- "@wrnexus/core": "^0.2.48",
- "@wrnexus/router": "^0.2.48",
- "@wrnexus/ssr": "^0.2.48",
- "@wrnexus/csr": "^0.2.48",
- "@wrnexus/compiler": "^0.2.48",
- "@wrnexus/styles": "^0.2.48",
- "@wrnexus/ui": "^0.2.48",
- "@wrnexus/validation": "^0.2.48",
- "@wrnexus/i18n": "^0.2.48",
- "@wrnexus/db": "^0.2.48",
- "@wrnexus/pubsub": "^0.2.48",
- "@wrnexus/uploader": "^0.2.48"
+ "@wrnexus/core": "^0.2.49",
+ "@wrnexus/router": "^0.2.49",
+ "@wrnexus/ssr": "^0.2.49",
+ "@wrnexus/csr": "^0.2.49",
+ "@wrnexus/compiler": "^0.2.49",
+ "@wrnexus/styles": "^0.2.49",
+ "@wrnexus/ui": "^0.2.49",
+ "@wrnexus/validation": "^0.2.49",
+ "@wrnexus/i18n": "^0.2.49",
+ "@wrnexus/db": "^0.2.49",
+ "@wrnexus/pubsub": "^0.2.49",
+ "@wrnexus/uploader": "^0.2.49"
},
"files": [
"dist"
diff --git a/.publish/encryption/package.json b/.publish/encryption/package.json
index 7cd3c4de..ba0126c9 100644
--- a/.publish/encryption/package.json
+++ b/.publish/encryption/package.json
@@ -1,6 +1,6 @@
{
"name": "@wrnexus/encryption",
- "version": "0.2.48",
+ "version": "0.2.49",
"type": "module",
"description": "@wrnexus/encryption — part of the WrNexus framework.",
"license": "MIT",
diff --git a/.publish/helpers/package.json b/.publish/helpers/package.json
index 399dbfe6..a3800c6f 100644
--- a/.publish/helpers/package.json
+++ b/.publish/helpers/package.json
@@ -1,6 +1,6 @@
{
"name": "@wrnexus/helpers",
- "version": "0.2.48",
+ "version": "0.2.49",
"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.48"
+ "@wrnexus/core": "^0.2.49"
},
"files": [
"dist"
diff --git a/.publish/i18n/package.json b/.publish/i18n/package.json
index 3a3a95b6..037cbe67 100644
--- a/.publish/i18n/package.json
+++ b/.publish/i18n/package.json
@@ -1,6 +1,6 @@
{
"name": "@wrnexus/i18n",
- "version": "0.2.48",
+ "version": "0.2.49",
"type": "module",
"description": "@wrnexus/i18n — part of the WrNexus framework.",
"license": "MIT",
@@ -21,7 +21,7 @@
}
},
"dependencies": {
- "@wrnexus/core": "^0.2.48"
+ "@wrnexus/core": "^0.2.49"
},
"files": [
"dist"
diff --git a/.publish/jwt/package.json b/.publish/jwt/package.json
index 6834752c..82c441aa 100644
--- a/.publish/jwt/package.json
+++ b/.publish/jwt/package.json
@@ -1,6 +1,6 @@
{
"name": "@wrnexus/jwt",
- "version": "0.2.48",
+ "version": "0.2.49",
"type": "module",
"description": "@wrnexus/jwt — part of the WrNexus framework.",
"license": "MIT",
diff --git a/.publish/mobile/package.json b/.publish/mobile/package.json
index 0808933a..791759c0 100644
--- a/.publish/mobile/package.json
+++ b/.publish/mobile/package.json
@@ -1,6 +1,6 @@
{
"name": "@wrnexus/mobile",
- "version": "0.2.48",
+ "version": "0.2.49",
"type": "module",
"description": "@wrnexus/mobile — part of the WrNexus framework.",
"license": "MIT",
@@ -21,7 +21,7 @@
}
},
"dependencies": {
- "@wrnexus/native": "^0.2.48"
+ "@wrnexus/native": "^0.2.49"
},
"files": [
"dist"
diff --git a/.publish/native/package.json b/.publish/native/package.json
index 8cb1987d..85d9fd6a 100644
--- a/.publish/native/package.json
+++ b/.publish/native/package.json
@@ -1,6 +1,6 @@
{
"name": "@wrnexus/native",
- "version": "0.2.48",
+ "version": "0.2.49",
"type": "module",
"description": "@wrnexus/native — part of the WrNexus framework.",
"license": "MIT",
diff --git a/.publish/oauth/package.json b/.publish/oauth/package.json
index 345a3a40..bbb9e93c 100644
--- a/.publish/oauth/package.json
+++ b/.publish/oauth/package.json
@@ -1,6 +1,6 @@
{
"name": "@wrnexus/oauth",
- "version": "0.2.48",
+ "version": "0.2.49",
"type": "module",
"description": "@wrnexus/oauth — part of the WrNexus framework.",
"license": "MIT",
diff --git a/.publish/pubsub/package.json b/.publish/pubsub/package.json
index 575c853f..930aa728 100644
--- a/.publish/pubsub/package.json
+++ b/.publish/pubsub/package.json
@@ -1,6 +1,6 @@
{
"name": "@wrnexus/pubsub",
- "version": "0.2.48",
+ "version": "0.2.49",
"type": "module",
"description": "@wrnexus/pubsub — part of the WrNexus framework.",
"license": "MIT",
diff --git a/.publish/queue/package.json b/.publish/queue/package.json
index b507e433..4a2d415c 100644
--- a/.publish/queue/package.json
+++ b/.publish/queue/package.json
@@ -1,6 +1,6 @@
{
"name": "@wrnexus/queue",
- "version": "0.2.48",
+ "version": "0.2.49",
"type": "module",
"description": "@wrnexus/queue — part of the WrNexus framework.",
"license": "MIT",
diff --git a/.publish/reactive/package.json b/.publish/reactive/package.json
index a3996b08..0d5c49e2 100644
--- a/.publish/reactive/package.json
+++ b/.publish/reactive/package.json
@@ -1,6 +1,6 @@
{
"name": "@wrnexus/reactive",
- "version": "0.2.48",
+ "version": "0.2.49",
"type": "module",
"description": "@wrnexus/reactive — part of the WrNexus framework.",
"license": "MIT",
diff --git a/.publish/router/package.json b/.publish/router/package.json
index de52f224..721b72dc 100644
--- a/.publish/router/package.json
+++ b/.publish/router/package.json
@@ -1,6 +1,6 @@
{
"name": "@wrnexus/router",
- "version": "0.2.48",
+ "version": "0.2.49",
"type": "module",
"description": "@wrnexus/router — part of the WrNexus framework.",
"license": "MIT",
@@ -21,8 +21,8 @@
}
},
"dependencies": {
- "@wrnexus/compiler": "^0.2.48",
- "@wrnexus/core": "^0.2.48"
+ "@wrnexus/compiler": "^0.2.49",
+ "@wrnexus/core": "^0.2.49"
},
"files": [
"dist"
diff --git a/.publish/ssr/package.json b/.publish/ssr/package.json
index 1f2419cc..65f5afb8 100644
--- a/.publish/ssr/package.json
+++ b/.publish/ssr/package.json
@@ -1,6 +1,6 @@
{
"name": "@wrnexus/ssr",
- "version": "0.2.48",
+ "version": "0.2.49",
"type": "module",
"description": "@wrnexus/ssr — part of the WrNexus framework.",
"license": "MIT",
@@ -21,7 +21,7 @@
}
},
"dependencies": {
- "@wrnexus/core": "^0.2.48"
+ "@wrnexus/core": "^0.2.49"
},
"files": [
"dist"
diff --git a/.publish/styles/package.json b/.publish/styles/package.json
index b23cd489..1b72e6ee 100644
--- a/.publish/styles/package.json
+++ b/.publish/styles/package.json
@@ -1,6 +1,6 @@
{
"name": "@wrnexus/styles",
- "version": "0.2.48",
+ "version": "0.2.49",
"type": "module",
"description": "@wrnexus/styles — part of the WrNexus framework.",
"license": "MIT",
@@ -21,7 +21,7 @@
}
},
"dependencies": {
- "@wrnexus/uploader": "^0.2.48"
+ "@wrnexus/uploader": "^0.2.49"
},
"files": [
"dist"
diff --git a/.publish/test/package.json b/.publish/test/package.json
index 0e43f188..321140a1 100644
--- a/.publish/test/package.json
+++ b/.publish/test/package.json
@@ -1,6 +1,6 @@
{
"name": "@wrnexus/test",
- "version": "0.2.48",
+ "version": "0.2.49",
"type": "module",
"description": "@wrnexus/test — part of the WrNexus framework.",
"license": "MIT",
diff --git a/.publish/tracking/package.json b/.publish/tracking/package.json
index 68838420..86f7cede 100644
--- a/.publish/tracking/package.json
+++ b/.publish/tracking/package.json
@@ -1,6 +1,6 @@
{
"name": "@wrnexus/tracking",
- "version": "0.2.48",
+ "version": "0.2.49",
"type": "module",
"description": "@wrnexus/tracking — part of the WrNexus framework.",
"license": "MIT",
diff --git a/.publish/ui/components/Accordion.wrn b/.publish/ui/components/Accordion.wrn
index ba2db3ca..a9acfda1 100644
--- a/.publish/ui/components/Accordion.wrn
+++ b/.publish/ui/components/Accordion.wrn
@@ -1 +1,30 @@
-component Accordion { props { title = "Question" open = false } state expanded = open view {
} }
+component Accordion {
+ props {
+ title = "Question"
+ open = false
+ }
+
+ state expanded = open
+
+ view {
+
+
+
+
+
+
+ }
+}
diff --git a/.publish/ui/components/alert.wrn b/.publish/ui/components/alert.wrn
index 62da0ea7..fa2105eb 100644
--- a/.publish/ui/components/alert.wrn
+++ b/.publish/ui/components/alert.wrn
@@ -1 +1,42 @@
-component Alert { props { title = "Notice" description = "" variant = "info" dismissible = false } state visible = true view { } }
+component Alert {
+ props {
+ title = "Notice"
+ description = ""
+ variant = "info"
+ dismissible = false
+ }
+
+ state visible = true
+
+ view {
+
+
+
+ {title}
+
+
+ {description}
+
+
+
+
+
+
+
+ }
+}
diff --git a/.publish/ui/package.json b/.publish/ui/package.json
index bccf0029..f7da0725 100644
--- a/.publish/ui/package.json
+++ b/.publish/ui/package.json
@@ -1,6 +1,6 @@
{
"name": "@wrnexus/ui",
- "version": "0.2.48",
+ "version": "0.2.49",
"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.48"
+ "@wrnexus/core": "^0.2.49"
},
"files": [
"dist",
diff --git a/.publish/uploader/package.json b/.publish/uploader/package.json
index 09bb7bf7..8d6b7f10 100644
--- a/.publish/uploader/package.json
+++ b/.publish/uploader/package.json
@@ -1,6 +1,6 @@
{
"name": "@wrnexus/uploader",
- "version": "0.2.48",
+ "version": "0.2.49",
"type": "module",
"description": "@wrnexus/uploader — part of the WrNexus framework.",
"license": "MIT",
@@ -21,7 +21,7 @@
}
},
"dependencies": {
- "@wrnexus/core": "^0.2.48"
+ "@wrnexus/core": "^0.2.49"
},
"files": [
"dist"
diff --git a/.publish/validation/package.json b/.publish/validation/package.json
index 80fd00ee..fa57198d 100644
--- a/.publish/validation/package.json
+++ b/.publish/validation/package.json
@@ -1,6 +1,6 @@
{
"name": "@wrnexus/validation",
- "version": "0.2.48",
+ "version": "0.2.49",
"type": "module",
"description": "@wrnexus/validation — part of the WrNexus framework.",
"license": "MIT",
diff --git a/packages/ai/package.json b/packages/ai/package.json
index 97777a1c..80f39939 100644
--- a/packages/ai/package.json
+++ b/packages/ai/package.json
@@ -1,6 +1,6 @@
{
"name": "@wrnexus/ai",
- "version": "0.2.48",
+ "version": "0.2.49",
"private": true,
"type": "module",
"description": "Zero-dependency Claude (Anthropic) client for WrNexus apps.",
diff --git a/packages/authz/package.json b/packages/authz/package.json
index f2a70a3d..f5c8ea1f 100644
--- a/packages/authz/package.json
+++ b/packages/authz/package.json
@@ -1,6 +1,6 @@
{
"name": "@wrnexus/authz",
- "version": "0.2.48",
+ "version": "0.2.49",
"private": true,
"type": "module",
"main": "src/index.ts",
diff --git a/packages/cli/package.json b/packages/cli/package.json
index 1b00526f..c9bce320 100644
--- a/packages/cli/package.json
+++ b/packages/cli/package.json
@@ -1,6 +1,6 @@
{
"name": "@wrnexus/cli",
- "version": "0.2.48",
+ "version": "0.2.49",
"type": "module",
"main": "src/index.ts",
"exports": {
diff --git a/packages/cli/src/update.ts b/packages/cli/src/update.ts
index 3dc182b5..106ae757 100644
--- a/packages/cli/src/update.ts
+++ b/packages/cli/src/update.ts
@@ -509,6 +509,14 @@ const MIGRATIONS: Migration[] = [
// No generated application files require automatic migration.
},
},
+ {
+ version: "0.2.49",
+ id: "components-update",
+ description: "Adds reactive hydration support for server-rendered each loop locals.",
+ apply() {
+ // No generated application files require automatic migration.
+ },
+ },
];
/** Release tooling uses this to require an explicit migration entry per version. */
diff --git a/packages/compiler/package.json b/packages/compiler/package.json
index 11a3ab91..7a75623b 100644
--- a/packages/compiler/package.json
+++ b/packages/compiler/package.json
@@ -1,6 +1,6 @@
{
"name": "@wrnexus/compiler",
- "version": "0.2.48",
+ "version": "0.2.49",
"type": "module",
"main": "src/index.ts",
"exports": {
diff --git a/packages/compiler/src/index.ts b/packages/compiler/src/index.ts
index 0f5739fe..c5620230 100644
--- a/packages/compiler/src/index.ts
+++ b/packages/compiler/src/index.ts
@@ -43,8 +43,19 @@ export function compileNativeWireFile(source: string): string {
* Compile `.wrn` source into TypeScript source. Throws `ParseError` on invalid
* input (the dev loader surfaces this as a readable error page).
*/
-export function compileWireFile(source: string): string {
- const ast = parse(source);
+export function compileWireFile(source: string, filePath = ""): string {
+ let ast;
+
+ try {
+ ast = parse(source);
+ } catch (error) {
+ const message = error instanceof Error ? error.message : String(error);
+
+ throw new Error(`Failed to parse ${filePath}: ${message}`, {
+ cause: error,
+ });
+ }
+
return `// compiled from .wrn\n${generate(ast)}`;
}
diff --git a/packages/core/package.json b/packages/core/package.json
index be9177b5..9880fc42 100644
--- a/packages/core/package.json
+++ b/packages/core/package.json
@@ -1,6 +1,6 @@
{
"name": "@wrnexus/core",
- "version": "0.2.48",
+ "version": "0.2.49",
"type": "module",
"main": "src/index.ts",
"exports": {
diff --git a/packages/csr/package.json b/packages/csr/package.json
index 173b234d..a168ea80 100644
--- a/packages/csr/package.json
+++ b/packages/csr/package.json
@@ -1,6 +1,6 @@
{
"name": "@wrnexus/csr",
- "version": "0.2.48",
+ "version": "0.2.49",
"type": "module",
"main": "src/index.ts",
"exports": {
diff --git a/packages/db/package.json b/packages/db/package.json
index 376140c7..8510a4e9 100644
--- a/packages/db/package.json
+++ b/packages/db/package.json
@@ -1,6 +1,6 @@
{
"name": "@wrnexus/db",
- "version": "0.2.48",
+ "version": "0.2.49",
"private": true,
"type": "module",
"main": "src/index.ts",
diff --git a/packages/dev-server/package.json b/packages/dev-server/package.json
index f936f0cc..f02caece 100644
--- a/packages/dev-server/package.json
+++ b/packages/dev-server/package.json
@@ -1,6 +1,6 @@
{
"name": "@wrnexus/dev-server",
- "version": "0.2.48",
+ "version": "0.2.49",
"type": "module",
"main": "src/index.ts",
"exports": {
diff --git a/packages/dev-server/src/pipeline.ts b/packages/dev-server/src/pipeline.ts
index dcabb93d..61cce815 100644
--- a/packages/dev-server/src/pipeline.ts
+++ b/packages/dev-server/src/pipeline.ts
@@ -129,7 +129,7 @@ function compileWireToTs(file: string, version = 0): string {
/* cache missing → compile below */
}
- const code = compileWireFile(readFileSync(file, "utf8"));
+ const code = compileWireFile(readFileSync(file, "utf8"), file);
mkdirSync(cacheDir, { recursive: true });
writeFileSync(out, code, "utf8");
return out;
diff --git a/packages/encryption/package.json b/packages/encryption/package.json
index 91d2b86a..9fc13f4d 100644
--- a/packages/encryption/package.json
+++ b/packages/encryption/package.json
@@ -1,6 +1,6 @@
{
"name": "@wrnexus/encryption",
- "version": "0.2.48",
+ "version": "0.2.49",
"private": true,
"type": "module",
"main": "src/index.ts",
diff --git a/packages/helpers/package.json b/packages/helpers/package.json
index cb2e92f5..76c0997c 100644
--- a/packages/helpers/package.json
+++ b/packages/helpers/package.json
@@ -1,6 +1,6 @@
{
"name": "@wrnexus/helpers",
- "version": "0.2.48",
+ "version": "0.2.49",
"private": true,
"type": "module",
"description": "Safe convenience helpers for WrNexus request contexts and common application flows.",
diff --git a/packages/i18n/package.json b/packages/i18n/package.json
index d7e749ef..102f72c7 100644
--- a/packages/i18n/package.json
+++ b/packages/i18n/package.json
@@ -1,6 +1,6 @@
{
"name": "@wrnexus/i18n",
- "version": "0.2.48",
+ "version": "0.2.49",
"private": true,
"type": "module",
"main": "src/index.ts",
diff --git a/packages/jwt/package.json b/packages/jwt/package.json
index be6c0f22..9057a8b6 100644
--- a/packages/jwt/package.json
+++ b/packages/jwt/package.json
@@ -1,6 +1,6 @@
{
"name": "@wrnexus/jwt",
- "version": "0.2.48",
+ "version": "0.2.49",
"private": true,
"type": "module",
"main": "src/index.ts",
diff --git a/packages/mobile/package.json b/packages/mobile/package.json
index f532f75c..db9a2f6a 100644
--- a/packages/mobile/package.json
+++ b/packages/mobile/package.json
@@ -1,6 +1,6 @@
{
"name": "@wrnexus/mobile",
- "version": "0.2.48",
+ "version": "0.2.49",
"type": "module",
"main": "src/index.ts",
"exports": {
diff --git a/packages/native/package.json b/packages/native/package.json
index e7d3cf7a..6c7801fa 100644
--- a/packages/native/package.json
+++ b/packages/native/package.json
@@ -1,6 +1,6 @@
{
"name": "@wrnexus/native",
- "version": "0.2.48",
+ "version": "0.2.49",
"type": "module",
"main": "src/index.ts",
"exports": {
diff --git a/packages/oauth/package.json b/packages/oauth/package.json
index 0fc06879..22550adc 100644
--- a/packages/oauth/package.json
+++ b/packages/oauth/package.json
@@ -1,6 +1,6 @@
{
"name": "@wrnexus/oauth",
- "version": "0.2.48",
+ "version": "0.2.49",
"private": true,
"type": "module",
"main": "src/index.ts",
diff --git a/packages/pubsub/package.json b/packages/pubsub/package.json
index 857d8010..7bba63b9 100644
--- a/packages/pubsub/package.json
+++ b/packages/pubsub/package.json
@@ -1,6 +1,6 @@
{
"name": "@wrnexus/pubsub",
- "version": "0.2.48",
+ "version": "0.2.49",
"private": true,
"type": "module",
"main": "src/index.ts",
diff --git a/packages/queue/package.json b/packages/queue/package.json
index d013cfce..9c8d961a 100644
--- a/packages/queue/package.json
+++ b/packages/queue/package.json
@@ -1,6 +1,6 @@
{
"name": "@wrnexus/queue",
- "version": "0.2.48",
+ "version": "0.2.49",
"private": true,
"type": "module",
"main": "src/index.ts",
diff --git a/packages/reactive/package.json b/packages/reactive/package.json
index 51351967..dc2cd43b 100644
--- a/packages/reactive/package.json
+++ b/packages/reactive/package.json
@@ -1,6 +1,6 @@
{
"name": "@wrnexus/reactive",
- "version": "0.2.48",
+ "version": "0.2.49",
"type": "module",
"main": "src/index.ts",
"exports": {
diff --git a/packages/router/package.json b/packages/router/package.json
index d3743ab3..000e7d8a 100644
--- a/packages/router/package.json
+++ b/packages/router/package.json
@@ -1,6 +1,6 @@
{
"name": "@wrnexus/router",
- "version": "0.2.48",
+ "version": "0.2.49",
"type": "module",
"main": "src/index.ts",
"exports": {
diff --git a/packages/ssr/package.json b/packages/ssr/package.json
index 2f53c846..0384dca8 100644
--- a/packages/ssr/package.json
+++ b/packages/ssr/package.json
@@ -1,6 +1,6 @@
{
"name": "@wrnexus/ssr",
- "version": "0.2.48",
+ "version": "0.2.49",
"type": "module",
"main": "src/index.ts",
"exports": {
diff --git a/packages/styles/package.json b/packages/styles/package.json
index 34aa9fde..62e2106f 100644
--- a/packages/styles/package.json
+++ b/packages/styles/package.json
@@ -1,6 +1,6 @@
{
"name": "@wrnexus/styles",
- "version": "0.2.48",
+ "version": "0.2.49",
"type": "module",
"main": "src/index.ts",
"exports": {
diff --git a/packages/test/package.json b/packages/test/package.json
index 6f83b0ce..e8943334 100644
--- a/packages/test/package.json
+++ b/packages/test/package.json
@@ -1,6 +1,6 @@
{
"name": "@wrnexus/test",
- "version": "0.2.48",
+ "version": "0.2.49",
"private": true,
"type": "module",
"main": "src/index.ts",
diff --git a/packages/test/src/index.ts b/packages/test/src/index.ts
index a4c47f9c..f52fdd02 100644
--- a/packages/test/src/index.ts
+++ b/packages/test/src/index.ts
@@ -61,7 +61,7 @@ export async function renderComponent(
const dir = join(tmpdir(), "wrnexus-test");
mkdirSync(dir, { recursive: true });
const file = join(dir, `c${seq++}.ts`);
- writeFileSync(file, compileWireFile(source), "utf8");
+ writeFileSync(file, compileWireFile(source, file), "utf8");
const mod = (await import(pathToFileURL(file).href)) as {
render?: (props: Record) => string;
};
diff --git a/packages/tracking/package.json b/packages/tracking/package.json
index 2b2ac6a3..ef5efa74 100644
--- a/packages/tracking/package.json
+++ b/packages/tracking/package.json
@@ -1,6 +1,6 @@
{
"name": "@wrnexus/tracking",
- "version": "0.2.48",
+ "version": "0.2.49",
"private": true,
"type": "module",
"main": "src/index.ts",
diff --git a/packages/ui/components/Accordion.wrn b/packages/ui/components/Accordion.wrn
index ba2db3ca..a9acfda1 100644
--- a/packages/ui/components/Accordion.wrn
+++ b/packages/ui/components/Accordion.wrn
@@ -1 +1,30 @@
-component Accordion { props { title = "Question" open = false } state expanded = open view { } }
+component Accordion {
+ props {
+ title = "Question"
+ open = false
+ }
+
+ state expanded = open
+
+ view {
+
+
+
+
+
+
+ }
+}
diff --git a/packages/ui/components/alert.wrn b/packages/ui/components/alert.wrn
index 62da0ea7..fa2105eb 100644
--- a/packages/ui/components/alert.wrn
+++ b/packages/ui/components/alert.wrn
@@ -1 +1,42 @@
-component Alert { props { title = "Notice" description = "" variant = "info" dismissible = false } state visible = true view { } }
+component Alert {
+ props {
+ title = "Notice"
+ description = ""
+ variant = "info"
+ dismissible = false
+ }
+
+ state visible = true
+
+ view {
+
+
+
+ {title}
+
+
+ {description}
+
+
+
+
+
+
+
+ }
+}
diff --git a/packages/ui/package.json b/packages/ui/package.json
index 69587afc..d9224328 100644
--- a/packages/ui/package.json
+++ b/packages/ui/package.json
@@ -1,6 +1,6 @@
{
"name": "@wrnexus/ui",
- "version": "0.2.48",
+ "version": "0.2.49",
"private": true,
"type": "module",
"main": "src/index.ts",
diff --git a/packages/uploader/package.json b/packages/uploader/package.json
index 49db4716..81b50c01 100644
--- a/packages/uploader/package.json
+++ b/packages/uploader/package.json
@@ -1,6 +1,6 @@
{
"name": "@wrnexus/uploader",
- "version": "0.2.48",
+ "version": "0.2.49",
"private": true,
"type": "module",
"main": "src/index.ts",
diff --git a/packages/validation/package.json b/packages/validation/package.json
index 9d72dfcb..72e5ff65 100644
--- a/packages/validation/package.json
+++ b/packages/validation/package.json
@@ -1,6 +1,6 @@
{
"name": "@wrnexus/validation",
- "version": "0.2.48",
+ "version": "0.2.49",
"private": true,
"type": "module",
"main": "src/index.ts",
diff --git a/update-package-versions.mjs b/update-package-versions.mjs
index e24214a1..5a87aa5f 100644
--- a/update-package-versions.mjs
+++ b/update-package-versions.mjs
@@ -1,7 +1,7 @@
import { existsSync, readdirSync, readFileSync, writeFileSync } from "node:fs";
import { join } from "node:path";
-const version = "0.2.48";
+const version = "0.2.49";
const dependencyGroups = [
"dependencies",