cotomy 0.2.1 → 0.3.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/README.md +4 -4
- package/dist/browser/cotomy.js +4 -4
- package/dist/browser/cotomy.js.map +1 -1
- package/dist/browser/cotomy.min.js +1 -1
- package/dist/browser/cotomy.min.js.map +1 -1
- package/dist/cjs/index.cjs +1 -1
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/esm/view.js +4 -4
- package/dist/esm/view.js.map +1 -1
- package/dist/types/view.d.ts +3 -2
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -91,8 +91,8 @@ The View layer provides thin wrappers around DOM elements and window events.
|
|
|
91
91
|
- `rect(): { top, left, width, height }`
|
|
92
92
|
- `innerRect()` — Subtracts padding
|
|
93
93
|
- Events
|
|
94
|
-
- Generic: `on(event, handler, options?)`, `off(event, handler?, options?)`, `once(event, handler, options?)`, `trigger(event[, Event])`
|
|
95
|
-
- Delegation: `
|
|
94
|
+
- Generic: `on(event, handler, options?)`, `off(event, handler?, options?)`, `once(event, handler, options?)`, `trigger(event[, Event])` — `trigger` emits bubbling events by default and can be customized by passing an `Event`
|
|
95
|
+
- Delegation: `onSubTree(event, selector, handler, options?)`
|
|
96
96
|
- Mouse: `click`, `dblclick`, `mouseover`, `mouseout`, `mousedown`, `mouseup`, `mousemove`, `mouseenter`, `mouseleave`
|
|
97
97
|
- Keyboard: `keydown`, `keyup`, `keypress`
|
|
98
98
|
- Inputs: `change`, `input`
|
|
@@ -114,7 +114,7 @@ const panel = new CotomyElement({
|
|
|
114
114
|
`,
|
|
115
115
|
});
|
|
116
116
|
|
|
117
|
-
panel.
|
|
117
|
+
panel.onSubTree("click", ".ok", () => console.log("clicked!"));
|
|
118
118
|
document.body.appendChild(panel.element);
|
|
119
119
|
```
|
|
120
120
|
|
|
@@ -134,7 +134,7 @@ document.body.appendChild(panel.element);
|
|
|
134
134
|
- `append(element: CotomyElement)`
|
|
135
135
|
- `moveNext(focused: CotomyElement, shift = false)` — Move focus to next/previous focusable
|
|
136
136
|
- Window events
|
|
137
|
-
- `on(event, handler)` / `off(event, handler?)` / `trigger(event)`
|
|
137
|
+
- `on(event, handler)` / `off(event, handler?)` / `trigger(event[, Event])` — CotomyWindow’s `trigger` also bubbles by default and accepts an `Event` to override the behavior
|
|
138
138
|
- `load(handler)` / `ready(handler)`
|
|
139
139
|
- `resize([handler])` / `scroll([handler])` / `changeLayout([handler])` / `pageshow([handler])`
|
|
140
140
|
- Window state
|
package/dist/browser/cotomy.js
CHANGED
|
@@ -1421,7 +1421,7 @@ class CotomyElement {
|
|
|
1421
1421
|
return this;
|
|
1422
1422
|
}
|
|
1423
1423
|
trigger(event, e) {
|
|
1424
|
-
this.element.dispatchEvent(e ?? new Event(event));
|
|
1424
|
+
this.element.dispatchEvent(e ?? new Event(event, { bubbles: true }));
|
|
1425
1425
|
return this;
|
|
1426
1426
|
}
|
|
1427
1427
|
on(event, handle, options) {
|
|
@@ -1429,7 +1429,7 @@ class CotomyElement {
|
|
|
1429
1429
|
EventRegistry.instance.on(event, this, entry);
|
|
1430
1430
|
return this;
|
|
1431
1431
|
}
|
|
1432
|
-
|
|
1432
|
+
onSubTree(event, selector, handle, options) {
|
|
1433
1433
|
const delegate = (e) => {
|
|
1434
1434
|
const target = e.target;
|
|
1435
1435
|
if (target && target.closest(selector)) {
|
|
@@ -1853,8 +1853,8 @@ class CotomyWindow {
|
|
|
1853
1853
|
focusableElements[nextIndex].setFocus();
|
|
1854
1854
|
}
|
|
1855
1855
|
}
|
|
1856
|
-
trigger(event) {
|
|
1857
|
-
window.dispatchEvent(new Event(event));
|
|
1856
|
+
trigger(event, e) {
|
|
1857
|
+
window.dispatchEvent(e ?? new Event(event, { bubbles: true }));
|
|
1858
1858
|
}
|
|
1859
1859
|
on(event, handle) {
|
|
1860
1860
|
if (!this._eventHandlers[event])
|