haori 0.4.12 → 0.4.13

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
@@ -1004,6 +1004,6 @@ declare class TextFragment extends Fragment {
1004
1004
  evaluate(): Promise<void>;
1005
1005
  }
1006
1006
 
1007
- export declare const version = "0.4.12";
1007
+ export declare const version = "0.4.13";
1008
1008
 
1009
1009
  export { }
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "haori",
3
- "version": "0.4.12",
3
+ "version": "0.4.13",
4
4
  "description": "A lightweight HTML-first UI engine powered by declarative data bindings and expressions.",
5
5
  "scripts": {
6
6
  "dev": "vite",
@@ -51,8 +51,16 @@ export default class EventDispatcher {
51
51
  * イベントのターゲットから HTMLElement を取得します。
52
52
  *
53
53
  * @param target イベントのターゲット
54
+ * @param type イベントタイプ。click の場合のみ祖先委譲を行う
54
55
  * @returns HTMLElement または null
55
56
  */
56
57
  private getElementFromTarget;
58
+ /**
59
+ * data-click-* 属性を持つ最も近い祖先要素を返します。
60
+ *
61
+ * @param element 探索開始要素
62
+ * @returns 処理対象要素。見つからない場合は null
63
+ */
64
+ private findClickableElement;
57
65
  }
58
66
  //# sourceMappingURL=event_dispatcher.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"event_dispatcher.d.ts","sourceRoot":"","sources":["../../src/event_dispatcher.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,eAAe;IAClC,sCAAsC;IACtC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAA2B;IAEpE,YAAY;IACZ,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAyB;IAE9C,gBAAgB;IAChB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAmD;IAE3E,cAAc;IACd,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAoD;IAE7E,yBAAyB;IACzB,OAAO,CAAC,QAAQ,CAAC,aAAa,CACC;IAE/B,sBAAsB;IACtB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAO3B;IAEF;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAC,UAAU,CAMzB;IAEF;;;;OAIG;gBACS,IAAI,GAAE,QAAQ,GAAG,WAAsB;IAInD;;;OAGG;IACH,KAAK,IAAI,IAAI;IAWb;;OAEG;IACH,IAAI,IAAI,IAAI;IAQZ;;;;;OAKG;IACH,OAAO,CAAC,QAAQ;IAoBhB;;;;;OAKG;IACH,OAAO,CAAC,oBAAoB;CAY7B"}
1
+ {"version":3,"file":"event_dispatcher.d.ts","sourceRoot":"","sources":["../../src/event_dispatcher.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,eAAe;IAClC,sCAAsC;IACtC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAA2B;IAEpE,YAAY;IACZ,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAyB;IAE9C,gBAAgB;IAChB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAmD;IAE3E,cAAc;IACd,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAoD;IAE7E,yBAAyB;IACzB,OAAO,CAAC,QAAQ,CAAC,aAAa,CACC;IAE/B,sBAAsB;IACtB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAO3B;IAEF;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAC,UAAU,CAMzB;IAEF;;;;OAIG;gBACS,IAAI,GAAE,QAAQ,GAAG,WAAsB;IAInD;;;OAGG;IACH,KAAK,IAAI,IAAI;IAWb;;OAEG;IACH,IAAI,IAAI,IAAI;IAQZ;;;;;OAKG;IACH,OAAO,CAAC,QAAQ;IAoBhB;;;;;;OAMG;IACH,OAAO,CAAC,oBAAoB;IA0B5B;;;;;OAKG;IACH,OAAO,CAAC,oBAAoB;CAc7B"}
@@ -76,7 +76,7 @@ class EventDispatcher {
76
76
  * @param type イベントタイプ('click', 'change', 'load'など)
77
77
  */
78
78
  delegate(event, type) {
79
- const element = this.getElementFromTarget(event.target);
79
+ const element = this.getElementFromTarget(event.target, type);
80
80
  if (!element) {
81
81
  return;
82
82
  }
@@ -96,17 +96,44 @@ class EventDispatcher {
96
96
  * イベントのターゲットから HTMLElement を取得します。
97
97
  *
98
98
  * @param target イベントのターゲット
99
+ * @param type イベントタイプ。click の場合のみ祖先委譲を行う
99
100
  * @returns HTMLElement または null
100
101
  */
101
- getElementFromTarget(target) {
102
+ getElementFromTarget(target, type) {
102
103
  if (!target) {
103
104
  return null;
104
105
  }
105
106
  if (target instanceof HTMLElement) {
107
+ if (type === 'click') {
108
+ return this.findClickableElement(target);
109
+ }
106
110
  return target;
107
111
  }
108
112
  if (target instanceof Node) {
109
- return target.parentElement;
113
+ const element = target.parentElement;
114
+ if (!element) {
115
+ return null;
116
+ }
117
+ if (type === 'click') {
118
+ return this.findClickableElement(element);
119
+ }
120
+ return element;
121
+ }
122
+ return null;
123
+ }
124
+ /**
125
+ * data-click-* 属性を持つ最も近い祖先要素を返します。
126
+ *
127
+ * @param element 探索開始要素
128
+ * @returns 処理対象要素。見つからない場合は null
129
+ */
130
+ findClickableElement(element) {
131
+ let current = element;
132
+ while (current) {
133
+ if (current.getAttributeNames().some(name => name.startsWith('data-click-'))) {
134
+ return current;
135
+ }
136
+ current = current.parentElement;
110
137
  }
111
138
  return null;
112
139
  }
@@ -1 +1 @@
1
- {"version":3,"file":"event_dispatcher.js","sourceRoot":"","sources":["../../src/event_dispatcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"event_dispatcher.js","sourceRoot":"","sources":["../../src/event_dispatcher.ts"],"names":[],"mappings":"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"}
@@ -14,5 +14,5 @@ import './observer';
14
14
  export { Core, Env, Fragment, Form, Haori, Log, Queue };
15
15
  export type { HaoriRuntime } from './env';
16
16
  export default Haori;
17
- export declare const version = "0.4.12";
17
+ export declare const version = "0.4.13";
18
18
  //# sourceMappingURL=index.d.ts.map
package/dist/src/index.js CHANGED
@@ -17,5 +17,5 @@ export { Core, Env, Fragment, Form, Haori, Log, Queue };
17
17
  // デフォルトエクスポート(Haoriをメインとして提供)
18
18
  export default Haori;
19
19
  // バージョン情報
20
- export const version = '0.4.12';
20
+ export const version = '0.4.13';
21
21
  //# sourceMappingURL=index.js.map
@@ -8,17 +8,22 @@
8
8
  import { describe, it, expect, beforeEach, afterEach, vi } from 'vitest';
9
9
  import Core from '../src/core';
10
10
  import Haori from '../src/haori';
11
+ import EventDispatcher from '../src/event_dispatcher';
12
+ import Procedure from '../src/procedure';
11
13
  describe('Click attributes integration', () => {
12
14
  let container;
15
+ let dispatcher;
13
16
  beforeEach(async () => {
14
- // テスト用のコンテナを用意し、Observer を初期化して自動処理を有効にする
17
+ // テスト用のコンテナを用意し、クリック委譲だけを有効にする
15
18
  container = document.createElement('div');
16
19
  document.body.appendChild(container);
17
20
  vi.restoreAllMocks();
18
- await import('../src/observer');
21
+ dispatcher = new EventDispatcher(document);
22
+ dispatcher.start();
19
23
  });
20
24
  afterEach(() => {
21
25
  // 後片付け
26
+ dispatcher.stop();
22
27
  document.body.removeChild(container);
23
28
  vi.restoreAllMocks();
24
29
  });
@@ -50,6 +55,19 @@ describe('Click attributes integration', () => {
50
55
  expect(confirmSpy).toHaveBeenCalled();
51
56
  expect(fetchSpy).not.toHaveBeenCalled();
52
57
  });
58
+ it('data-click-* のない input は click Procedure を開始しない', async () => {
59
+ const input = document.createElement('input');
60
+ input.id = 'plain-input';
61
+ input.type = 'text';
62
+ container.appendChild(input);
63
+ const runSpy = vi.spyOn(Procedure.prototype, 'run').mockResolvedValue(undefined);
64
+ await Core.scan(container);
65
+ await new Promise(resolve => setTimeout(resolve, 50));
66
+ input.dispatchEvent(new Event('click', { bubbles: true, cancelable: true }));
67
+ expect(input.hasAttribute('disabled')).toBe(false);
68
+ await new Promise(resolve => setTimeout(resolve, 50));
69
+ expect(runSpy).not.toHaveBeenCalled();
70
+ });
53
71
  it('data-click-validate でバリデーション失敗時にフォーカスされる', async () => {
54
72
  // 準備: 必須フィールドを持つフォームと送信ボタン(DOM API で作成)
55
73
  const form = document.createElement('form');
@@ -1 +1 @@
1
- {"version":3,"file":"click-attributes.test.js","sourceRoot":"","sources":["../../tests/click-attributes.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"click-attributes.test.js","sourceRoot":"","sources":["../../tests/click-attributes.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "haori",
3
- "version": "0.4.12",
3
+ "version": "0.4.13",
4
4
  "description": "A lightweight HTML-first UI engine powered by declarative data bindings and expressions.",
5
5
  "scripts": {
6
6
  "dev": "vite",