@toyz/loom 0.18.1 → 0.18.2

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.
@@ -22,6 +22,12 @@ export interface DraggableOptions {
22
22
  type?: string;
23
23
  /** Drag effect, default "move" */
24
24
  effect?: DataTransfer["effectAllowed"];
25
+ /**
26
+ * CSS selector for child elements to make draggable.
27
+ * Enables event delegation — the matched element is passed
28
+ * as the first argument to the decorated method.
29
+ */
30
+ selector?: string;
25
31
  }
26
32
  export interface DropzoneOptions {
27
33
  /** MIME-like type key to accept, default "text/plain" */
@@ -30,6 +36,12 @@ export interface DropzoneOptions {
30
36
  effect?: DataTransfer["dropEffect"];
31
37
  /** CSS class to add when dragging over, default "drag-over" */
32
38
  overClass?: string;
39
+ /**
40
+ * CSS selector for child drop targets.
41
+ * Enables event delegation — the matched element is passed
42
+ * as the third argument to the decorated method.
43
+ */
44
+ selector?: string;
33
45
  /**
34
46
  * Optional JSX overlay rendered into the element's shadow DOM (or light DOM)
35
47
  * during dragover. Removed on dragleave/drop. Accepts a function that returns
@@ -1 +1 @@
1
- {"version":3,"file":"dnd.d.ts","sourceRoot":"","sources":["../../src/element/dnd.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAIH,MAAM,WAAW,gBAAgB;IAC/B,gEAAgE;IAChE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,kCAAkC;IAClC,MAAM,CAAC,EAAE,YAAY,CAAC,eAAe,CAAC,CAAC;CACxC;AAED,MAAM,WAAW,eAAe;IAC9B,yDAAyD;IACzD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kCAAkC;IAClC,MAAM,CAAC,EAAE,YAAY,CAAC,YAAY,CAAC,CAAC;IACpC,+DAA+D;IAC/D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,IAAI,CAAC,EAAE,CAAC,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC;CACvC;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,IAAI,CAAC,EAAE,gBAAgB,IAI9B,QAAQ,QAAQ,EAAE,SAAS,2BAA2B,UA6BxE;AAED;;;;;;;;;GASG;AACH,wBAAgB,QAAQ,CAAC,IAAI,CAAC,EAAE,eAAe,IAM5B,QAAQ,QAAQ,EAAE,SAAS,2BAA2B,UA+DxE"}
1
+ {"version":3,"file":"dnd.d.ts","sourceRoot":"","sources":["../../src/element/dnd.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAIH,MAAM,WAAW,gBAAgB;IAC/B,gEAAgE;IAChE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,kCAAkC;IAClC,MAAM,CAAC,EAAE,YAAY,CAAC,eAAe,CAAC,CAAC;IACvC;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,yDAAyD;IACzD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kCAAkC;IAClC,MAAM,CAAC,EAAE,YAAY,CAAC,YAAY,CAAC,CAAC;IACpC,+DAA+D;IAC/D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,IAAI,CAAC,EAAE,CAAC,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC;CACvC;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,IAAI,CAAC,EAAE,gBAAgB,IAK9B,QAAQ,QAAQ,EAAE,SAAS,2BAA2B,UAqExE;AAED;;;;;;;;;GASG;AACH,wBAAgB,QAAQ,CAAC,IAAI,CAAC,EAAE,eAAe,IAO5B,QAAQ,QAAQ,EAAE,SAAS,2BAA2B,UA6GxE"}
@@ -27,28 +27,66 @@ import { CONNECT_HOOKS } from "../decorators/symbols";
27
27
  export function draggable(opts) {
28
28
  const mimeType = opts?.type ?? "text/plain";
29
29
  const effect = opts?.effect ?? "move";
30
+ const selector = opts?.selector;
30
31
  return function (method, context) {
31
32
  context.addInitializer(function () {
32
33
  if (!this[CONNECT_HOOKS.key])
33
34
  this[CONNECT_HOOKS.key] = [];
34
35
  this[CONNECT_HOOKS.key].push((el) => {
35
- el.draggable = true;
36
+ if (!selector) {
37
+ // Host-level draggable (original behavior)
38
+ el.draggable = true;
39
+ const onStart = (e) => {
40
+ const data = method.call(el);
41
+ e.dataTransfer?.setData(mimeType, String(data ?? ""));
42
+ if (e.dataTransfer)
43
+ e.dataTransfer.effectAllowed = effect;
44
+ el.classList.add("dragging");
45
+ };
46
+ const onEnd = () => {
47
+ el.classList.remove("dragging");
48
+ };
49
+ el.addEventListener("dragstart", onStart);
50
+ el.addEventListener("dragend", onEnd);
51
+ return () => {
52
+ el.removeEventListener("dragstart", onStart);
53
+ el.removeEventListener("dragend", onEnd);
54
+ el.draggable = false;
55
+ };
56
+ }
57
+ // Selector-based: event delegation on child elements
58
+ const root = el.shadowRoot ?? el;
59
+ // Mark matching children as draggable
60
+ const markDraggable = () => {
61
+ const targets = root.querySelectorAll(selector);
62
+ for (const t of targets)
63
+ t.draggable = true;
64
+ };
65
+ markDraggable();
66
+ // Re-mark after DOM updates (morph may add/remove elements)
67
+ const observer = new MutationObserver(markDraggable);
68
+ observer.observe(root, { childList: true, subtree: true });
36
69
  const onStart = (e) => {
37
- const data = method.call(el);
70
+ const target = e.target?.closest?.(selector);
71
+ if (!target)
72
+ return;
73
+ const data = method.call(el, target);
38
74
  e.dataTransfer?.setData(mimeType, String(data ?? ""));
39
75
  if (e.dataTransfer)
40
76
  e.dataTransfer.effectAllowed = effect;
41
- el.classList.add("dragging");
77
+ target.classList.add("dragging");
42
78
  };
43
- const onEnd = () => {
44
- el.classList.remove("dragging");
79
+ const onEnd = (e) => {
80
+ const target = e.target?.closest?.(selector);
81
+ if (target)
82
+ target.classList.remove("dragging");
45
83
  };
46
- el.addEventListener("dragstart", onStart);
47
- el.addEventListener("dragend", onEnd);
84
+ root.addEventListener("dragstart", onStart);
85
+ root.addEventListener("dragend", onEnd);
48
86
  return () => {
49
- el.removeEventListener("dragstart", onStart);
50
- el.removeEventListener("dragend", onEnd);
51
- el.draggable = false;
87
+ root.removeEventListener("dragstart", onStart);
88
+ root.removeEventListener("dragend", onEnd);
89
+ observer.disconnect();
52
90
  };
53
91
  });
54
92
  });
@@ -69,6 +107,7 @@ export function dropzone(opts) {
69
107
  const dropEffect = opts?.effect ?? "move";
70
108
  const overClass = opts?.overClass ?? "drag-over";
71
109
  const overFn = opts?.over;
110
+ const selector = opts?.selector;
72
111
  return function (method, context) {
73
112
  context.addInitializer(function () {
74
113
  if (!this[CONNECT_HOOKS.key])
@@ -98,31 +137,74 @@ export function dropzone(opts) {
98
137
  overlayEl = null;
99
138
  }
100
139
  };
140
+ if (!selector) {
141
+ // Host-level dropzone (original behavior)
142
+ const onOver = (e) => {
143
+ e.preventDefault();
144
+ if (e.dataTransfer)
145
+ e.dataTransfer.dropEffect = dropEffect;
146
+ el.classList.add(overClass);
147
+ showOverlay();
148
+ };
149
+ const onLeave = () => {
150
+ el.classList.remove(overClass);
151
+ hideOverlay();
152
+ };
153
+ const onDrop = (e) => {
154
+ e.preventDefault();
155
+ el.classList.remove(overClass);
156
+ hideOverlay();
157
+ const data = e.dataTransfer?.getData(mimeType) ?? "";
158
+ method.call(el, data, e);
159
+ };
160
+ el.addEventListener("dragover", onOver);
161
+ el.addEventListener("dragleave", onLeave);
162
+ el.addEventListener("drop", onDrop);
163
+ return () => {
164
+ el.removeEventListener("dragover", onOver);
165
+ el.removeEventListener("dragleave", onLeave);
166
+ el.removeEventListener("drop", onDrop);
167
+ hideOverlay();
168
+ };
169
+ }
170
+ // Selector-based: event delegation on child elements
171
+ const root = el.shadowRoot ?? el;
172
+ let currentOverTarget = null;
101
173
  const onOver = (e) => {
102
174
  e.preventDefault();
103
175
  if (e.dataTransfer)
104
176
  e.dataTransfer.dropEffect = dropEffect;
105
- el.classList.add(overClass);
106
- showOverlay();
177
+ const target = e.target?.closest?.(selector);
178
+ if (target && target !== currentOverTarget) {
179
+ currentOverTarget?.classList.remove(overClass);
180
+ target.classList.add(overClass);
181
+ currentOverTarget = target;
182
+ }
107
183
  };
108
- const onLeave = () => {
109
- el.classList.remove(overClass);
110
- hideOverlay();
184
+ const onLeave = (e) => {
185
+ const target = e.target?.closest?.(selector);
186
+ if (target) {
187
+ target.classList.remove(overClass);
188
+ if (target === currentOverTarget)
189
+ currentOverTarget = null;
190
+ }
111
191
  };
112
192
  const onDrop = (e) => {
113
193
  e.preventDefault();
114
- el.classList.remove(overClass);
115
- hideOverlay();
194
+ const target = e.target?.closest?.(selector);
195
+ if (currentOverTarget)
196
+ currentOverTarget.classList.remove(overClass);
197
+ currentOverTarget = null;
116
198
  const data = e.dataTransfer?.getData(mimeType) ?? "";
117
- method.call(el, data, e);
199
+ method.call(el, data, e, target);
118
200
  };
119
- el.addEventListener("dragover", onOver);
120
- el.addEventListener("dragleave", onLeave);
121
- el.addEventListener("drop", onDrop);
201
+ root.addEventListener("dragover", onOver);
202
+ root.addEventListener("dragleave", onLeave);
203
+ root.addEventListener("drop", onDrop);
122
204
  return () => {
123
- el.removeEventListener("dragover", onOver);
124
- el.removeEventListener("dragleave", onLeave);
125
- el.removeEventListener("drop", onDrop);
205
+ root.removeEventListener("dragover", onOver);
206
+ root.removeEventListener("dragleave", onLeave);
207
+ root.removeEventListener("drop", onDrop);
126
208
  hideOverlay();
127
209
  };
128
210
  });
@@ -1 +1 @@
1
- {"version":3,"file":"dnd.js","sourceRoot":"","sources":["../../src/element/dnd.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dnd.js","sourceRoot":"","sources":["../../src/element/dnd.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@toyz/loom",
3
- "version": "0.18.1",
3
+ "version": "0.18.2",
4
4
  "type": "module",
5
5
  "description": "Decorator-driven web component framework with reactive state, DOM morphing, DI, and JSX",
6
6
  "license": "MIT",