haori 0.44.0 → 0.44.1

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/dist/index.d.ts CHANGED
@@ -1862,6 +1862,24 @@ declare class ElementFragment extends Fragment {
1862
1862
  * @returns 同期対象の場合true
1863
1863
  */
1864
1864
  static isValuePropertyTarget(element: Element): element is HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement;
1865
+ /**
1866
+ * 利用者が打鍵で値を変えられる入力欄かどうかを判定します。
1867
+ *
1868
+ * `readonly` の欄は打鍵で値が変わらないため、宣言バインドの再適用から守るべき
1869
+ * 未コミットの入力を持ちません。それでいて `disabled` と違いタブ移動の対象には
1870
+ * なるため、フォーカスを保護の条件にすると「算出値を入れた欄がタブ移動の行き先に
1871
+ * なっただけで評価結果に追従しなくなる」ことになります。そこで `readonly` の欄は
1872
+ * 保護の対象外とします(仕様「`data-attr-*`」)。
1873
+ *
1874
+ * `<select>` に `readonly` はないため常に編集できる扱いです。`disabled` も対象に
1875
+ * しません。`disabled` の要素はフォーカスされないため保護に掛かる経路が無く、
1876
+ * 「編集した欄を送信中だけ `disabled` にする」使い方で入力を評価結果へ巻き戻して
1877
+ * しまう恐れがあるためです。
1878
+ *
1879
+ * @param element 判定対象のエレメント
1880
+ * @returns 利用者が打鍵で値を変えられる場合 true
1881
+ */
1882
+ private static isUserEditableValue;
1865
1883
  /**
1866
1884
  * 内部の値をDOMの値と同期します。
1867
1885
  * changeイベント時など、DOM値が変更された後に呼び出されます。
@@ -4143,7 +4161,7 @@ declare interface ValueChangeOrigin {
4143
4161
  * リリース時に `package.json` と揃えて更新します(`tests/version.test.ts` が
4144
4162
  * 一致を検査します)。
4145
4163
  */
4146
- export declare const version = "0.44.0";
4164
+ export declare const version = "0.44.1";
4147
4165
 
4148
4166
  /**
4149
4167
  * すべてのレンダリングタスク(追従投入分を含む)の完了を待ちます。
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "haori",
3
- "version": "0.44.0",
3
+ "version": "0.44.1",
4
4
  "description": "A lightweight HTML-first UI engine powered by declarative data bindings and expressions.",
5
5
  "scripts": {
6
6
  "dev": "vite",