@h-ai/ui 0.1.0-alpha.64 → 0.1.0-alpha.66

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/README.en.md CHANGED
@@ -791,6 +791,8 @@ AuthPanel accepts public IAM config and actions for password/LDAP/email/SMS logi
791
791
 
792
792
  AuthPanel disables native form controls during SSR and enables input after client mount binds events, preventing early input from being lost during hydration. Applications need no extra readiness code. E2E tests wait for editable controls and cover delayed client scripts.
793
793
 
794
+ When an authentication link points to the current complete URL, AuthPanel switches scenes without navigating again, so input entered after returning to login is preserved. Links with a different path, query, or hash use application routing. Modified clicks such as Ctrl/Cmd retain browser behavior.
795
+
794
796
  [完整 IAM 配置 / IAM configuration](../iam/README.en.md)
795
797
 
796
798
  ## Onboarding and help center
package/README.ja.md CHANGED
@@ -791,6 +791,8 @@ AuthPanel に IAM 公開設定と actions を渡すと、複数方式のログ
791
791
 
792
792
  AuthPanel は SSR 中のフォーム操作を無効にし、クライアントのマウントとイベント登録が完了してから入力を有効にします。ハイドレーションによる入力の消失を防ぎ、アプリ側の追加の準備処理は不要です。E2E では入力可能な状態を待ち、クライアントスクリプトの読み込みが遅れる場合も検証します。
793
793
 
794
+ 認証リンクが現在の完全な URL を指す場合、AuthPanel は再ナビゲーションせずに画面だけを切り替え、ログインに戻った直後の入力を保持します。パス、クエリー、hash が異なる場合はアプリのルーターに任せます。Ctrl/Cmd などの修飾キーを使ったクリックはブラウザーの動作を維持します。
795
+
794
796
  [完整 IAM 配置 / IAM configuration](../iam/README.ja.md)
795
797
 
796
798
  ## 初回ガイドとヘルプセンター
package/README.md CHANGED
@@ -750,6 +750,8 @@ AuthPanel 直接接收 IAM 白名单配置和 actions,内置登录(密码/LD
750
750
 
751
751
  AuthPanel 在 SSR 阶段禁用原生表单控件,客户端挂载并绑定事件后自动开放输入,避免接管时丢失早到的输入。应用无需额外的就绪适配;E2E 等待控件可编辑,并覆盖客户端脚本延迟加载的场景。
752
752
 
753
+ 认证链接指向当前完整 URL 时,AuthPanel 只切换场景并阻止重复导航,返回登录后可立即输入。路径、查询串或 hash 不同时交给应用路由处理;Ctrl/Cmd 等修改键点击保留浏览器行为。
754
+
753
755
  [完整 IAM 配置 / IAM configuration](../iam/README.md)
754
756
 
755
757
  ### createLocaleStore
@@ -73,12 +73,18 @@
73
73
 
74
74
  {#snippet link(next: AuthPanelMode, label: string, href?: string)}
75
75
  {#if href}<a {href} class='link link-primary text-sm' aria-disabled={loading} onclick={(event) => {
76
- if (loading)
76
+ if (loading) {
77
+ event.preventDefault()
78
+ return
79
+ }
80
+ if (event.defaultPrevented || event.button !== 0 || event.ctrlKey || event.metaKey || event.shiftKey || event.altKey)
81
+ return
82
+ // 当前完整 URL 只切换场景,阻止重复导航重建表单并清空刚输入的内容。
83
+ // 跨路径、查询或 hash 的链接由路由接管;修改键点击保留浏览器的新窗口行为。
84
+ if (event.currentTarget.href === window.location.href) {
77
85
  event.preventDefault()
78
- // 跨路径或哈希路由由路由创建新表单;提前切换会让输入被随后导航清空。
79
- // 当前路由只更新场景,支持登录页内的找回密码和返回登录。
80
- else if (event.currentTarget.origin === window.location.origin && event.currentTarget.pathname === window.location.pathname && event.currentTarget.hash === window.location.hash)
81
86
  switchMode(next)
87
+ }
82
88
  }}>{label}</a>
83
89
  {:else}<BareButton type='button' class='link link-primary text-sm' disabled={loading} onclick={() => switchMode(next)}>{label}</BareButton>{/if}
84
90
  {/snippet}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@h-ai/ui",
3
3
  "type": "module",
4
- "version": "0.1.0-alpha.64",
4
+ "version": "0.1.0-alpha.66",
5
5
  "description": "Hai Framework UI component library for Svelte 5 Runes.",
6
6
  "license": "Apache-2.0",
7
7
  "svelte": "./dist/index.js",
@@ -59,7 +59,7 @@
59
59
  "svelte": "^5.57.2"
60
60
  },
61
61
  "dependencies": {
62
- "@h-ai/core": "0.1.0-alpha.64",
62
+ "@h-ai/core": "0.1.0-alpha.66",
63
63
  "@internationalized/date": "^3.12.4",
64
64
  "@shikijs/langs": "^4.5.0",
65
65
  "bits-ui": "^2.19.5",