@geajs/ui 0.2.9 → 0.2.10

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.
Files changed (55) hide show
  1. package/dist/bind.mjs +74 -35
  2. package/dist/bind.mjs.map +1 -1
  3. package/dist/combobox.mjs +74 -6
  4. package/dist/combobox.mjs.map +1 -1
  5. package/dist/compiled-component.mjs +11 -9
  6. package/dist/compiled-component.mjs.map +1 -1
  7. package/dist/compiled-reactive-component.mjs +129 -31
  8. package/dist/compiled-reactive-component.mjs.map +1 -1
  9. package/dist/component-id.mjs +12 -1
  10. package/dist/component-id.mjs.map +1 -1
  11. package/dist/conditional.mjs.map +1 -1
  12. package/dist/delegate-event.mjs +9 -9
  13. package/dist/delegate-event.mjs.map +1 -1
  14. package/dist/disposer.mjs +30 -11
  15. package/dist/disposer.mjs.map +1 -1
  16. package/dist/draggable2.mjs +135 -32
  17. package/dist/draggable2.mjs.map +1 -1
  18. package/dist/file-upload.mjs +74 -6
  19. package/dist/file-upload.mjs.map +1 -1
  20. package/dist/hover-card.mjs +2 -2
  21. package/dist/hover-card.mjs.map +1 -1
  22. package/dist/input2.mjs +2 -2
  23. package/dist/input2.mjs.map +1 -1
  24. package/dist/item-obs.mjs +11 -48
  25. package/dist/item-obs.mjs.map +1 -1
  26. package/dist/keyed-list.mjs +90 -39
  27. package/dist/keyed-list.mjs.map +1 -1
  28. package/dist/menu.mjs +7 -7
  29. package/dist/menu.mjs.map +1 -1
  30. package/dist/pin-input.mjs +6 -6
  31. package/dist/pin-input.mjs.map +1 -1
  32. package/dist/progress.mjs +2 -2
  33. package/dist/progress.mjs.map +1 -1
  34. package/dist/rating-group.mjs +8 -8
  35. package/dist/rating-group.mjs.map +1 -1
  36. package/dist/reactive-attr.mjs +2 -2
  37. package/dist/reactive-attr.mjs.map +1 -1
  38. package/dist/reactive-bool.mjs +2 -2
  39. package/dist/reactive-bool.mjs.map +1 -1
  40. package/dist/reactive-class-name.mjs +2 -2
  41. package/dist/reactive-class-name.mjs.map +1 -1
  42. package/dist/reactive-class.mjs +5 -4
  43. package/dist/reactive-class.mjs.map +1 -1
  44. package/dist/reactive-style.mjs +15 -12
  45. package/dist/reactive-style.mjs.map +1 -1
  46. package/dist/reactive-text.mjs +4 -4
  47. package/dist/reactive-text.mjs.map +1 -1
  48. package/dist/tags-input.mjs +10 -10
  49. package/dist/tags-input.mjs.map +1 -1
  50. package/dist/tooltip.mjs +3 -3
  51. package/dist/tooltip.mjs.map +1 -1
  52. package/dist/zag-component.d.mts +1 -0
  53. package/dist/zag-component.mjs +10 -1
  54. package/dist/zag-component.mjs.map +1 -1
  55. package/package.json +1 -1
@@ -8,44 +8,87 @@ import { t as reactiveClassName } from "./reactive-class-name.mjs";
8
8
  import { t as delegateEvent } from "./delegate-event.mjs";
9
9
  import { dndManager } from "./dnd-manager.mjs";
10
10
  //#region ../gea/src/runtime/compiled-lean-store.ts
11
- const _priv = /* @__PURE__ */ new WeakMap();
12
- const _nested = /* @__PURE__ */ new WeakMap();
13
- const _isArr = Array.isArray;
11
+ const _PRIV = Symbol("gea.lean.priv");
12
+ const _NESTED = Symbol("gea.lean.nested");
13
+ /**
14
+ * `O`/`V` are generic (not `object`/`any`) — this helper hides a value under
15
+ * a symbol key on WHATEVER object it's called with (the raw store, its
16
+ * proxy, a Map cache, ...), so its own declaration can't pin a single
17
+ * concrete shape; each call site supplies its own concrete `O`/`V`.
18
+ */
19
+ function _hidden(target, key, value) {
20
+ Object.defineProperty(target, key, {
21
+ value,
22
+ writable: true,
23
+ configurable: true,
24
+ enumerable: false
25
+ });
26
+ }
27
+ /**
28
+ * Browser fallback for the tracked-proxy plain-value v1 contract. The embedded
29
+ * compiler replaces this exact exported coordinate with its native predicate.
30
+ * V1 assumes pristine builtins and ordinary Gea values (including Gea-owned,
31
+ * non-revoked proxies); monkey-patched prototypes and custom/revoked proxies
32
+ * are outside the contract.
33
+ */
14
34
  function _plain(v) {
15
35
  if (!v || typeof v !== "object") return false;
16
36
  const p = Object.getPrototypeOf(v);
17
- return p === Object.prototype || p === null || _isArr(v);
37
+ return p === Object.prototype || p === null || Array.isArray(v);
18
38
  }
39
+ /** Unwrap a proxy value to its raw target, preserving whatever type it was. */
19
40
  function _raw(v) {
20
41
  return v && v[GEA_PROXY_RAW] || v;
21
42
  }
43
+ function _fireBucket(bucket, value, changes) {
44
+ if (bucket.size === 0) return;
45
+ if (bucket.size === 1) for (const h of bucket) {
46
+ h(value, changes);
47
+ return;
48
+ }
49
+ const snapshot = [];
50
+ for (const h of bucket) snapshot.push(h);
51
+ for (let i = 0; i < snapshot.length; i++) try {
52
+ snapshot[i](value, changes);
53
+ } catch {}
54
+ }
22
55
  function _flush(state) {
23
56
  state.scheduled = false;
24
57
  const pending = state.pending;
25
58
  if (!pending || pending.size === 0) return;
26
59
  state.pending = void 0;
27
60
  let all = null;
28
- for (const [prop, changes] of pending) {
29
- if (state.derived) {
61
+ for (const entry of pending) {
62
+ const prop = entry[0];
63
+ const changes = entry[1];
64
+ if (state.rootObservers || state.derived) {
30
65
  all ??= [];
31
66
  for (let i = 0; i < changes.length; i++) all.push(changes[i]);
32
67
  }
33
68
  const bucket = state.observers?.get(prop);
34
- if (bucket) for (const h of bucket) h(state.proxy[prop], changes);
69
+ if (bucket) _fireBucket(bucket, state.proxy[prop], changes);
35
70
  }
36
- if (all && state.derived) for (const [prop, bucket] of state.derived) {
71
+ if (all && state.rootObservers) _fireBucket(state.rootObservers, state.proxy, all);
72
+ if (all && state.derived) for (const entry of state.derived) {
73
+ const prop = entry[0];
74
+ const bucket = entry[1];
75
+ if (bucket.size === 0) continue;
37
76
  let value;
38
77
  try {
39
78
  value = state.proxy[prop];
40
79
  } catch {
41
80
  continue;
42
81
  }
43
- for (const h of bucket) h(value, all);
82
+ _fireBucket(bucket, value, all);
44
83
  }
45
84
  }
85
+ function _hasQueuedConsumers(state, prop) {
86
+ const bucket = state.observers?.get(prop);
87
+ return !!(bucket && bucket.size > 0 || state.rootObservers && state.rootObservers.size > 0 || state.derived && state.derived.size > 0);
88
+ }
46
89
  function _queue(state, prop, change = {}) {
47
90
  if (!state.ready) return;
48
- if (!state.observers?.has(prop) && !state.derived) return;
91
+ if (!_hasQueuedConsumers(state, prop)) return;
49
92
  const rec = {
50
93
  prop,
51
94
  pathParts: [prop],
@@ -62,16 +105,31 @@ function _queue(state, prop, change = {}) {
62
105
  queueMicrotask(() => _flush(state));
63
106
  }
64
107
  }
108
+ /**
109
+ * Nested nested-object/array traversal INSIDE one of `S`'s own fields (e.g.
110
+ * `store.list[0].name`): once inside a field's own substructure, the shape
111
+ * is no longer described by `S` (a field's element/property types aren't
112
+ * modeled recursively here) — `V` is a genuinely open per-call type at this
113
+ * depth, kept as a type parameter rather than `any` so it's at least
114
+ * threaded through instead of erased, but this is the one spot in this file
115
+ * that's honestly a dynamic-JS-object-graph boundary: how deep a nested
116
+ * value's shape goes isn't knowable without walking `S` structurally.
117
+ */
65
118
  function _wrap(state, target, rootProp) {
66
119
  if (!_plain(target)) return target;
67
- const cached = _nested.get(target);
68
- if (cached) return cached;
69
- const proxy = new Proxy(target, {
120
+ const targetObj = target;
121
+ let perTarget = targetObj[_NESTED];
122
+ if (perTarget) {
123
+ const cached = perTarget.get(rootProp);
124
+ if (cached) return cached;
125
+ }
126
+ const proxy = new Proxy(targetObj, {
70
127
  get(obj, prop) {
71
128
  if (prop === GEA_PROXY_RAW) return obj;
72
129
  if (typeof prop === "symbol") return obj[prop];
130
+ trackRead(state.proxy, rootProp);
73
131
  const value = obj[prop];
74
- if (_isArr(obj) && typeof value === "function") {
132
+ if (Array.isArray(obj) && typeof value === "function") {
75
133
  if (prop === "push") return (...items) => {
76
134
  const start = obj.length;
77
135
  const result = Array.prototype.push.apply(obj, items.map(_raw));
@@ -94,7 +152,7 @@ function _wrap(state, target, rootProp) {
94
152
  const old = obj[prop];
95
153
  if (old === value) return true;
96
154
  obj[prop] = value;
97
- if (_isArr(obj)) {
155
+ if (Array.isArray(obj)) {
98
156
  if (value && typeof value === "object") value[_DIRTY] = true;
99
157
  const idx = +prop;
100
158
  if (Number.isInteger(idx)) {
@@ -115,14 +173,32 @@ function _wrap(state, target, rootProp) {
115
173
  newValue: value
116
174
  });
117
175
  return true;
176
+ },
177
+ deleteProperty(obj, prop) {
178
+ if (typeof prop === "symbol") {
179
+ delete obj[prop];
180
+ return true;
181
+ }
182
+ const old = obj[prop];
183
+ delete obj[prop];
184
+ if (!Array.isArray(obj)) obj[_DIRTY] = true;
185
+ _queue(state, rootProp, {
186
+ previousValue: old,
187
+ type: "delete"
188
+ });
189
+ return true;
118
190
  }
119
191
  });
120
- _nested.set(target, proxy);
192
+ if (!perTarget) {
193
+ perTarget = /* @__PURE__ */ new Map();
194
+ _hidden(targetObj, _NESTED, perTarget);
195
+ }
196
+ perTarget.set(rootProp, proxy);
121
197
  return proxy;
122
198
  }
123
199
  function createLeanProxy(raw) {
124
200
  const state = {};
125
- _priv.set(raw, state);
201
+ _hidden(raw, _PRIV, state);
126
202
  const proxy = new Proxy(raw, {
127
203
  get(target, prop, receiver) {
128
204
  if (prop === GEA_PROXY_RAW) return target;
@@ -138,10 +214,10 @@ function createLeanProxy(raw) {
138
214
  return true;
139
215
  }
140
216
  value = _raw(value);
141
- if (_isArr(value)) value = value.map(_raw);
217
+ if (Array.isArray(value)) value = value.map(_raw);
142
218
  const old = target[prop];
143
219
  if (old === value && prop in target) return true;
144
- if (old && typeof old === "object") _nested.delete(old);
220
+ if (old && typeof old === "object") delete old[_NESTED];
145
221
  target[prop] = value;
146
222
  const direct = state.direct?.get(prop);
147
223
  if (direct) for (const h of direct) h(value);
@@ -153,17 +229,28 @@ function createLeanProxy(raw) {
153
229
  }
154
230
  });
155
231
  state.proxy = proxy;
156
- _priv.set(proxy, state);
232
+ _hidden(proxy, _PRIV, state);
157
233
  return proxy;
158
234
  }
159
235
  function leanObserve(self, pathOrProp, handler) {
160
- const state = _priv.get(self);
236
+ const state = self == null ? void 0 : self[_PRIV];
161
237
  if (!state) return () => {};
162
238
  state.ready = true;
163
239
  const isArr = Array.isArray(pathOrProp);
164
- const prop = isArr ? pathOrProp[0] : pathOrProp;
240
+ let path = [];
241
+ let text = "";
242
+ if (typeof pathOrProp === "string") text = pathOrProp;
243
+ else path = pathOrProp;
244
+ if (isArr && path.length === 0 || !isArr && text === "") {
245
+ const bucket = state.rootObservers ?? (state.rootObservers = /* @__PURE__ */ new Set());
246
+ bucket.add(handler);
247
+ return () => {
248
+ bucket.delete(handler);
249
+ };
250
+ }
251
+ const prop = isArr ? path[0] ?? "" : text;
165
252
  if (!prop) return () => {};
166
- const tail = isArr && pathOrProp.length > 1 ? pathOrProp.slice(1) : null;
253
+ const tail = isArr && path.length > 1 ? path.slice(1) : null;
167
254
  const finalHandler = tail ? (value, changes) => {
168
255
  let next = value;
169
256
  for (let i = 0; i < tail.length; i++) {
@@ -176,17 +263,21 @@ function leanObserve(self, pathOrProp, handler) {
176
263
  let bucket = target.get(prop);
177
264
  if (!bucket) target.set(prop, bucket = /* @__PURE__ */ new Set());
178
265
  bucket.add(finalHandler);
179
- return () => bucket.delete(finalHandler);
266
+ return () => {
267
+ bucket.delete(finalHandler);
268
+ };
180
269
  }
181
270
  function leanObserveDirect(self, prop, handler) {
182
- const state = _priv.get(self);
271
+ const state = self == null ? void 0 : self[_PRIV];
183
272
  if (!state) return () => {};
184
273
  state.ready = true;
185
274
  const direct = state.direct ?? (state.direct = /* @__PURE__ */ new Map());
186
275
  let bucket = direct.get(prop);
187
276
  if (!bucket) direct.set(prop, bucket = /* @__PURE__ */ new Set());
188
277
  bucket.add(handler);
189
- return () => bucket.delete(handler);
278
+ return () => {
279
+ bucket.delete(handler);
280
+ };
190
281
  }
191
282
  //#endregion
192
283
  //#region ../gea/src/runtime/compiled-tiny-reactive-component.ts
@@ -222,7 +313,8 @@ var CompiledTinyReactiveComponent = class {
222
313
  parent.appendChild(node);
223
314
  if (node.nodeType === 11) this[GEA_ELEMENT] = parent.lastElementChild ?? null;
224
315
  else if (node.nodeType === 1) this[GEA_ELEMENT] = node;
225
- if (this[GEA_ELEMENT]) this[GEA_ELEMENT][GEA_DOM_COMPONENT] = this;
316
+ const el = this[GEA_ELEMENT];
317
+ if (el) el[GEA_DOM_COMPONENT] = this;
226
318
  this.rendered = true;
227
319
  }
228
320
  observe(pathOrProp, handler) {
@@ -247,13 +339,15 @@ var CompiledTinyReactiveComponent = class {
247
339
  };
248
340
  //#endregion
249
341
  //#region ../gea/src/runtime/delegate-click.ts
342
+ const _GC = "__gc";
343
+ const _GDC = "__gdc";
250
344
  function ensureClickDelegate(root) {
251
345
  const rt = typeof document !== "undefined" ? document : root.ownerDocument;
252
- if (!rt.__gdc) {
253
- rt.__gdc = 1;
346
+ if (!rt[_GDC]) {
347
+ rt[_GDC] = 1;
254
348
  rt.addEventListener("click", (e) => {
255
349
  for (let n = e.target; n && n !== rt; n = n.parentNode) {
256
- const h = n.__gc;
350
+ const h = n[_GC];
257
351
  if (h !== void 0) {
258
352
  h(e);
259
353
  return;
@@ -262,12 +356,21 @@ function ensureClickDelegate(root) {
262
356
  });
263
357
  }
264
358
  }
265
- function delegateClick(root, pairs, _disposer) {
359
+ function delegateClick(root, pairs, disposer) {
266
360
  ensureClickDelegate(root);
267
361
  for (let i = 0; i < pairs.length; i++) {
268
362
  const el = pairs[i][0];
269
- if (el) el.__gc = pairs[i][1];
363
+ if (el) el[_GC] = pairs[i][1];
270
364
  }
365
+ if (disposer && !disposer.noop) disposer.add(_clearHandlers(pairs));
366
+ }
367
+ function _clearHandlers(pairs) {
368
+ return () => {
369
+ for (let i = 0; i < pairs.length; i++) {
370
+ const el = pairs[i][0];
371
+ if (el) el[_GC] = void 0;
372
+ }
373
+ };
271
374
  }
272
375
  //#endregion
273
376
  //#region src/components/draggable.tsx
@@ -1 +1 @@
1
- {"version":3,"file":"draggable2.mjs","names":["GEA_DIRTY","GEA_DIRTY_PROPS","GEA_CREATE_TEMPLATE","reactiveClassName","reactiveAttr","reactiveText","delegateEvent","delegateClick","CompiledTinyReactiveComponent","Component","dndManager","_tpl0_create","e","document","createElement","textContent","Draggable","_didDrag","_onPointerDown","PointerEvent","el","target","HTMLElement","closest","startTracking","props","draggableId","d","root","el0","el1","el2","evt3","evt4","marker5","firstChild","class","index","h3","h4","MouseEvent","isDragging","preventDefault","stopPropagation","t5","children"],"sources":["../../gea/src/runtime/compiled-lean-store.ts","../../gea/src/runtime/compiled-tiny-reactive-component.ts","../../gea/src/runtime/delegate-click.ts","../src/components/draggable.tsx"],"sourcesContent":["import { GEA_PROXY_RAW } from './symbols'\nimport { GEA_OBSERVE_DIRECT } from './internal-symbols'\nimport { GEA_DIRTY, GEA_DIRTY_PROPS } from './dirty-symbols'\nimport { trackRead } from './with-tracking'\n\ntype Handler = (value: any, changes?: any[]) => void\n\ninterface LeanState {\n observers?: Map<string, Set<Handler>>\n derived?: Map<string, Set<Handler>>\n direct?: Map<string, Set<(value: any) => void>>\n pending?: Map<string, any[]>\n scheduled?: boolean\n ready?: boolean\n proxy?: any\n}\n\nconst _priv = new WeakMap<any, LeanState>()\nconst _nested = new WeakMap<object, any>()\nconst _isArr = Array.isArray\n\nfunction _plain(v: any): boolean {\n if (!v || typeof v !== 'object') return false\n const p = Object.getPrototypeOf(v)\n return p === Object.prototype || p === null || _isArr(v)\n}\n\nfunction _raw(v: any): any {\n return (v && v[GEA_PROXY_RAW]) || v\n}\n\nfunction _flush(state: LeanState): void {\n state.scheduled = false\n const pending = state.pending\n if (!pending || pending.size === 0) return\n state.pending = undefined\n let all: any[] | null = null\n for (const [prop, changes] of pending) {\n if (state.derived) {\n all ??= []\n for (let i = 0; i < changes.length; i++) all.push(changes[i])\n }\n const bucket = state.observers?.get(prop)\n if (bucket) for (const h of bucket) h(state.proxy[prop], changes)\n }\n if (all && state.derived) {\n for (const [prop, bucket] of state.derived) {\n let value\n try {\n value = state.proxy[prop]\n } catch {\n continue\n }\n for (const h of bucket) h(value, all)\n }\n }\n}\n\nfunction _queue(state: LeanState, prop: string, change: any = {}): void {\n if (!state.ready) return\n if (!state.observers?.has(prop) && !state.derived) return\n const rec = { prop, pathParts: [prop], type: 'update', target: state.proxy, ...change }\n const pending = state.pending ?? (state.pending = new Map())\n const arr = pending.get(prop)\n if (arr) arr.push(rec)\n else pending.set(prop, [rec])\n if (!state.scheduled) {\n state.scheduled = true\n queueMicrotask(() => _flush(state))\n }\n}\n\nfunction _wrap(state: LeanState, target: any, rootProp: string): any {\n if (!_plain(target)) return target\n const cached = _nested.get(target)\n if (cached) return cached\n const proxy = new Proxy(target, {\n get(obj, prop) {\n if (prop === GEA_PROXY_RAW) return obj\n if (typeof prop === 'symbol') return obj[prop as any]\n const value = obj[prop as any]\n if (_isArr(obj) && typeof value === 'function') {\n if (prop === 'push') {\n return (...items: any[]) => {\n const start = obj.length\n const result = Array.prototype.push.apply(obj, items.map(_raw))\n if (obj.length > start) _queue(state, rootProp, { type: 'append', start, count: obj.length - start })\n return result\n }\n }\n }\n return _plain(value) ? _wrap(state, value, rootProp) : value\n },\n set(obj, prop, value) {\n if (typeof prop === 'symbol') {\n obj[prop as any] = value\n return true\n }\n value = _raw(value)\n const old = obj[prop as any]\n if (old === value) return true\n obj[prop as any] = value\n if (_isArr(obj)) {\n if (value && typeof value === 'object') value[GEA_DIRTY] = true\n const idx = +prop\n if (Number.isInteger(idx)) {\n _queue(state, rootProp, { aipu: true, arix: idx, previousValue: old, newValue: value })\n return true\n }\n } else {\n obj[GEA_DIRTY] = true\n ;(obj[GEA_DIRTY_PROPS] ??= new Set()).add(prop)\n }\n _queue(state, rootProp, { previousValue: old, newValue: value })\n return true\n },\n })\n _nested.set(target, proxy)\n return proxy\n}\n\nexport function createLeanProxy<T extends object>(raw: T): T {\n const state: LeanState = {}\n _priv.set(raw, state)\n const proxy = new Proxy(raw, {\n get(target, prop, receiver) {\n if (prop === GEA_PROXY_RAW) return target\n if (typeof prop === 'symbol') return (target as any)[prop]\n trackRead(receiver ?? target, prop)\n const value = (target as any)[prop]\n if (typeof value === 'function') return value.bind(receiver)\n return _plain(value) ? _wrap(state, value, prop) : value\n },\n set(target, prop, value) {\n if (typeof prop === 'symbol') {\n ;(target as any)[prop] = value\n return true\n }\n value = _raw(value)\n if (_isArr(value)) value = value.map(_raw)\n const old = (target as any)[prop]\n if (old === value && prop in target) return true\n if (old && typeof old === 'object') _nested.delete(old)\n ;(target as any)[prop] = value\n const direct = state.direct?.get(prop)\n if (direct) for (const h of direct) h(value)\n _queue(state, prop, { previousValue: old, newValue: value })\n return true\n },\n })\n state.proxy = proxy\n _priv.set(proxy, state)\n return proxy as T\n}\n\nexport function leanObserve(self: any, pathOrProp: string | readonly string[], handler: Handler): () => void {\n const state = _priv.get(self)\n if (!state) return () => {}\n state.ready = true\n const isArr = Array.isArray(pathOrProp)\n const prop = isArr ? pathOrProp[0] : pathOrProp\n if (!prop) return () => {}\n const tail = isArr && pathOrProp.length > 1 ? pathOrProp.slice(1) : null\n const finalHandler: Handler = tail\n ? (value, changes) => {\n let next = value\n for (let i = 0; i < tail.length; i++) {\n if (next == null) return\n next = next[tail[i]]\n }\n handler(next, changes)\n }\n : handler\n const target = Object.prototype.hasOwnProperty.call(_raw(self), prop)\n ? (state.observers ?? (state.observers = new Map()))\n : (state.derived ?? (state.derived = new Map()))\n let bucket = target.get(prop)\n if (!bucket) target.set(prop, (bucket = new Set()))\n bucket.add(finalHandler)\n return () => bucket!.delete(finalHandler)\n}\n\nexport function leanObserveDirect(self: any, prop: string, handler: (value: any) => void): () => void {\n const state = _priv.get(self)\n if (!state) return () => {}\n state.ready = true\n const direct = state.direct ?? (state.direct = new Map())\n let bucket = direct.get(prop)\n if (!bucket) direct.set(prop, (bucket = new Set()))\n bucket.add(handler)\n return () => bucket!.delete(handler)\n}\n\nexport class CompiledLeanStore {\n constructor() {\n return createLeanProxy(this)\n }\n\n observe(pathOrProp: string | readonly string[], handler: Handler): () => void {\n return leanObserve(this, pathOrProp, handler)\n }\n\n [GEA_OBSERVE_DIRECT](prop: string, handler: (value: any) => void): () => void {\n return leanObserveDirect(this, prop, handler)\n }\n}\n\nexport default CompiledLeanStore\n","import { GEA_CREATE_TEMPLATE, GEA_DOM_COMPONENT, GEA_ELEMENT } from './symbols'\nimport { GEA_DISPOSER, GEA_OBSERVE_DIRECT, GEA_SET_PROPS } from './internal-symbols'\nimport { createDisposer, type Disposer } from './disposer'\nimport { createLeanProxy, leanObserve, leanObserveDirect } from './compiled-lean-store'\n\ntype Handler = (value: any, changes?: any[]) => void\ntype PropThunks = Record<string, () => any>\nconst GEA_COMPONENT_ID = Symbol()\nlet nextComponentId = 0\n\nexport class CompiledTinyReactiveComponent<P extends Record<string, any> = Record<string, any>> {\n rendered = false\n props: P = {} as P;\n [GEA_ELEMENT] = null as HTMLElement | null;\n [GEA_DISPOSER] = createDisposer() as Disposer\n\n constructor() {\n return createLeanProxy(this)\n }\n\n get id(): string {\n return ((this as any)[GEA_COMPONENT_ID] ??= '_' + nextComponentId++)\n }\n\n set id(value: string) {\n ;(this as any)[GEA_COMPONENT_ID] = value\n }\n\n get el(): HTMLElement | null {\n return this[GEA_ELEMENT] ?? null\n }\n\n [GEA_SET_PROPS](thunks: PropThunks): void {\n const out: Record<string, any> = {}\n for (const k in thunks) {\n Object.defineProperty(out, k, {\n enumerable: true,\n get: () => thunks[k](),\n })\n }\n this.props = out as P\n }\n\n render(parent: Node, _index?: number): void {\n const node = this[GEA_CREATE_TEMPLATE](this[GEA_DISPOSER])\n parent.appendChild(node)\n if (node.nodeType === 11) this[GEA_ELEMENT] = ((parent as Element).lastElementChild as HTMLElement | null) ?? null\n else if (node.nodeType === 1) this[GEA_ELEMENT] = node as HTMLElement\n if (this[GEA_ELEMENT]) (this[GEA_ELEMENT] as any)[GEA_DOM_COMPONENT] = this\n this.rendered = true\n }\n\n observe(pathOrProp: string | readonly string[], handler: Handler): () => void {\n return leanObserve(this, pathOrProp, handler)\n }\n\n [GEA_OBSERVE_DIRECT](prop: string, handler: (value: any) => void): () => void {\n return leanObserveDirect(this, prop, handler)\n }\n\n dispose(): void {\n this[GEA_DISPOSER].dispose()\n this[GEA_ELEMENT]?.remove()\n this[GEA_ELEMENT] = null\n }\n\n $(sel: string): Element | null {\n return this[GEA_ELEMENT]?.querySelector(sel) ?? null\n }\n\n $$(sel: string): Element[] {\n return Array.from(this[GEA_ELEMENT]?.querySelectorAll(sel) ?? [])\n }\n\n created(_props?: P): void {\n /* no-op */\n }\n\n onAfterRender(): void {\n /* no-op */\n }\n}\n\nexport default CompiledTinyReactiveComponent\n","import type { Disposer } from './disposer'\n\ntype Handler = (e: Event) => void\ntype HandlerPair = [Element, Handler]\n\nexport function ensureClickDelegate(root: Element): void {\n const rt: any = typeof document !== 'undefined' ? document : root.ownerDocument\n if (!rt.__gdc) {\n rt.__gdc = 1\n rt.addEventListener('click', (e: Event) => {\n for (let n: Node | null = e.target as Node | null; n && n !== rt; n = n.parentNode) {\n const h = (n as any).__gc as Handler | undefined\n if (h !== undefined) {\n h(e)\n return\n }\n }\n })\n }\n}\n\nexport function delegateClick(root: Element, pairs: HandlerPair[], _disposer?: Disposer): void {\n ensureClickDelegate(root)\n for (let i = 0; i < pairs.length; i++) {\n const el = pairs[i][0]\n if (el) (el as any).__gc = pairs[i][1]\n }\n}\n","import { Component } from '@geajs/core'\nimport { dndManager } from './dnd-manager'\n\nexport default class Draggable extends Component {\n _didDrag = false\n\n _onPointerDown(e: PointerEvent) {\n const el = (e.target as HTMLElement).closest('.gea-draggable') as HTMLElement\n if (!el) return\n this._didDrag = false\n dndManager.startTracking(e, this.props.draggableId as string, el)\n }\n\n template(props: any) {\n return (\n <div\n class={`gea-draggable ${props.class || ''}`}\n data-draggable-id={props.draggableId}\n data-index={props.index}\n pointerdown={(e: PointerEvent) => this._onPointerDown(e)}\n click={(e: MouseEvent) => {\n if (dndManager.isDragging) {\n e.preventDefault()\n e.stopPropagation()\n }\n }}\n >\n {props.children}\n </div>\n )\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"draggable2.mjs","names":["GEA_DIRTY","GEA_DIRTY_PROPS","GEA_CREATE_TEMPLATE","reactiveClassName","reactiveAttr","reactiveText","delegateEvent","delegateClick","CompiledTinyReactiveComponent","Component","dndManager","_tpl0_create","e","document","createElement","textContent","Draggable","_didDrag","_onPointerDown","PointerEvent","el","target","HTMLElement","closest","startTracking","props","draggableId","d","root","el0","el1","el2","evt3","evt4","marker5","firstChild","class","index","h3","h4","MouseEvent","isDragging","preventDefault","stopPropagation","t5","children"],"sources":["../../gea/src/runtime/compiled-lean-store.ts","../../gea/src/runtime/compiled-tiny-reactive-component.ts","../../gea/src/runtime/delegate-click.ts","../src/components/draggable.tsx"],"sourcesContent":["import { GEA_PROXY_RAW } from './symbols'\nimport { GEA_OBSERVE_DIRECT } from './internal-symbols'\nimport { GEA_DIRTY, GEA_DIRTY_PROPS } from './dirty-symbols'\nimport { trackRead } from './with-tracking'\nimport type { Change } from '../store'\n\n/**\n * A store observer: the changed value, and the batch of changes that\n * produced it. `S` is `CompiledLeanStore<S>`'s own type parameter — the\n * concrete store subclass's field shape, resolved once per subclass exactly\n * the way `CompiledComponent<P>` resolves `P` for a component's props. A\n * single `Map<string, Set<Handler<S>>>` holds observers across every field\n * of `S` at once, so the exact field a given handler fires for isn't known\n * at this layer — but the closed set of types it could possibly be (every\n * member of `S`) is, which is why `value` is `S[keyof S]` rather than\n * `any`/`unknown`.\n */\ntype Handler<S> = (value: S[keyof S], changes: Change[]) => void\n\ninterface LeanState<S> {\n observers?: Map<string, Set<Handler<S>>>\n rootObservers?: Set<Handler<S>>\n derived?: Map<string, Set<Handler<S>>>\n direct?: Map<string, Set<(value: S[keyof S]) => void>>\n /** Queued change records, keyed by the prop they were recorded against —\n * each entry is `Change`-shaped (built by `_queue` below), not a raw\n * store value, so `Change[]` is exact rather than `any[]`. */\n pending?: Map<string, Change[]>\n scheduled?: boolean\n ready?: boolean\n /** The store's own proxy — literally an `S`, not `any`. */\n proxy?: S\n}\n\n// Private state and the nested-proxy cache hang off the object itself under a\n// non-enumerable symbol, rather than living in a `WeakMap` keyed by it. geatsc\n// marks every value that reaches a weak-container key as a weak-handle\n// ownership subject and then rejects it for having a dynamic carrier (\"Weak-handle\n// ownership subject ... reached unsupported callable, dynamic, or mixed carrier\n// dynamic:declared-dynamic\") — and the store's values are dynamic by nature, so\n// there is no type that satisfies it. A symbol property has the same lifetime as\n// the WeakMap entry (it dies with the object), is invisible to `Object.keys`,\n// `for...in` and `JSON.stringify`, and reaches the raw target through the proxy's\n// existing symbol pass-through in both traps.\nconst _PRIV = Symbol('gea.lean.priv')\nconst _NESTED = Symbol('gea.lean.nested')\n\n/**\n * `O`/`V` are generic (not `object`/`any`) — this helper hides a value under\n * a symbol key on WHATEVER object it's called with (the raw store, its\n * proxy, a Map cache, ...), so its own declaration can't pin a single\n * concrete shape; each call site supplies its own concrete `O`/`V`.\n */\nfunction _hidden<O extends object, V>(target: O, key: symbol, value: V): void {\n Object.defineProperty(target, key, { value, writable: true, configurable: true, enumerable: false })\n}\n\n/**\n * Browser fallback for the tracked-proxy plain-value v1 contract. The embedded\n * compiler replaces this exact exported coordinate with its native predicate.\n * V1 assumes pristine builtins and ordinary Gea values (including Gea-owned,\n * non-revoked proxies); monkey-patched prototypes and custom/revoked proxies\n * are outside the contract.\n */\nexport function _plain<V>(v: V): boolean {\n if (!v || typeof v !== 'object') return false\n const p = Object.getPrototypeOf(v)\n return p === Object.prototype || p === null || Array.isArray(v)\n}\n\n/** Unwrap a proxy value to its raw target, preserving whatever type it was. */\nfunction _raw<V>(v: V): V {\n const rawTarget = v && (v as unknown as Record<symbol, unknown>)[GEA_PROXY_RAW]\n return (rawTarget as V) || v\n}\n\nfunction _fireBucket<S>(bucket: Set<Handler<S>>, value: S[keyof S], changes: Change[]): void {\n if (bucket.size === 0) return\n if (bucket.size === 1) {\n for (const h of bucket) {\n h(value, changes)\n return\n }\n }\n const snapshot: Handler<S>[] = []\n for (const h of bucket) snapshot.push(h)\n for (let i = 0; i < snapshot.length; i++) {\n try {\n snapshot[i](value, changes)\n } catch {\n /* isolate sibling observers */\n }\n }\n}\n\nfunction _flush<S>(state: LeanState<S>): void {\n state.scheduled = false\n const pending = state.pending\n if (!pending || pending.size === 0) return\n state.pending = undefined\n let all: Change[] | null = null\n for (const entry of pending) {\n const prop = entry[0]\n const changes = entry[1]\n if (state.rootObservers || state.derived) {\n all ??= []\n for (let i = 0; i < changes.length; i++) all.push(changes[i])\n }\n const bucket = state.observers?.get(prop)\n if (bucket) _fireBucket(bucket, (state.proxy as S)[prop as keyof S], changes)\n }\n if (all && state.rootObservers) {\n _fireBucket(state.rootObservers, state.proxy as S[keyof S], all)\n }\n if (all && state.derived) {\n for (const entry of state.derived) {\n const prop = entry[0]\n const bucket = entry[1]\n if (bucket.size === 0) continue\n let value: S[keyof S]\n try {\n value = (state.proxy as S)[prop as keyof S]\n } catch {\n continue\n }\n _fireBucket(bucket, value, all)\n }\n }\n}\n\nfunction _hasQueuedConsumers<S>(state: LeanState<S>, prop: string): boolean {\n const bucket = state.observers?.get(prop)\n return !!(\n (bucket && bucket.size > 0) ||\n (state.rootObservers && state.rootObservers.size > 0) ||\n (state.derived && state.derived.size > 0)\n )\n}\n\nfunction _queue<S>(state: LeanState<S>, prop: string, change: Partial<Change> = {}): void {\n if (!state.ready) return\n if (!_hasQueuedConsumers(state, prop)) return\n const rec: Change = { prop, pathParts: [prop], type: 'update', target: state.proxy, ...change }\n const pending = state.pending ?? (state.pending = new Map())\n const arr = pending.get(prop)\n if (arr) arr.push(rec)\n else pending.set(prop, [rec])\n if (!state.scheduled) {\n state.scheduled = true\n queueMicrotask(() => _flush(state))\n }\n}\n\n/**\n * Nested nested-object/array traversal INSIDE one of `S`'s own fields (e.g.\n * `store.list[0].name`): once inside a field's own substructure, the shape\n * is no longer described by `S` (a field's element/property types aren't\n * modeled recursively here) — `V` is a genuinely open per-call type at this\n * depth, kept as a type parameter rather than `any` so it's at least\n * threaded through instead of erased, but this is the one spot in this file\n * that's honestly a dynamic-JS-object-graph boundary: how deep a nested\n * value's shape goes isn't knowable without walking `S` structurally.\n */\nfunction _wrap<S, V>(state: LeanState<S>, target: V, rootProp: string): V {\n if (!_plain(target)) return target\n const targetObj = target as unknown as Record<PropertyKey, unknown>\n let perTarget: Map<string, unknown> | undefined = (targetObj as unknown as Record<symbol, Map<string, unknown>>)[\n _NESTED\n ]\n if (perTarget) {\n const cached = perTarget.get(rootProp)\n if (cached) return cached as V\n }\n const proxy = new Proxy(targetObj, {\n get(obj, prop) {\n if (prop === GEA_PROXY_RAW) return obj\n if (typeof prop === 'symbol') return obj[prop]\n trackRead(state.proxy as object, rootProp)\n const value = obj[prop]\n if (Array.isArray(obj) && typeof value === 'function') {\n if (prop === 'push') {\n return (...items: unknown[]) => {\n const start = (obj as unknown[]).length\n const result = Array.prototype.push.apply(obj, items.map(_raw))\n if ((obj as unknown[]).length > start) {\n _queue(state, rootProp, { type: 'append', start, count: (obj as unknown[]).length - start })\n }\n return result\n }\n }\n }\n return _plain(value) ? _wrap(state, value, rootProp) : value\n },\n set(obj, prop, value) {\n if (typeof prop === 'symbol') {\n obj[prop] = value\n return true\n }\n value = _raw(value)\n const old = obj[prop]\n if (old === value) return true\n obj[prop] = value\n if (Array.isArray(obj)) {\n if (value && typeof value === 'object') (value as Record<symbol, unknown>)[GEA_DIRTY] = true\n const idx = +prop\n if (Number.isInteger(idx)) {\n _queue(state, rootProp, { aipu: true, arix: idx, previousValue: old, newValue: value })\n return true\n }\n } else {\n ;(obj as Record<symbol, unknown>)[GEA_DIRTY] = true\n const dirtyProps = ((obj as Record<symbol, unknown>)[GEA_DIRTY_PROPS] ??= new Set()) as Set<string>\n dirtyProps.add(prop)\n }\n _queue(state, rootProp, { previousValue: old, newValue: value })\n return true\n },\n deleteProperty(obj, prop) {\n if (typeof prop === 'symbol') {\n delete obj[prop]\n return true\n }\n const old = obj[prop]\n delete obj[prop]\n if (!Array.isArray(obj)) (obj as Record<symbol, unknown>)[GEA_DIRTY] = true\n _queue(state, rootProp, { previousValue: old, type: 'delete' })\n return true\n },\n })\n if (!perTarget) {\n perTarget = new Map()\n _hidden(targetObj, _NESTED, perTarget)\n }\n perTarget.set(rootProp, proxy)\n return proxy as V\n}\n\nexport function createLeanProxy<S extends object>(raw: S): S {\n const state: LeanState<S> = {}\n _hidden(raw, _PRIV, state)\n // The trap parameters are spelled out rather than left to `ProxyHandler<T>`'s\n // contextual typing. geatsc plans a parameter from its OWN declaration, so an\n // unannotated trap formal seals no carrier at all (`representation-plan\n // coverage gap for Parameter`) even though the checker knows the contextual\n // type. `receiver` is `object`, not `any`/`unknown` — per the Proxy spec it's\n // always the object the property access was initiated on (the proxy itself,\n // or a subclass instance), never a primitive. `prop`/`value` stay as the\n // genuinely dynamic boundary (whatever the app read or wrote); those are\n // narrowed before use below.\n const proxy = new Proxy(raw, {\n get(target: S, prop: string | symbol, receiver: object) {\n if (prop === GEA_PROXY_RAW) return target\n if (typeof prop === 'symbol') return (target as Record<symbol, unknown>)[prop]\n trackRead(receiver ?? target, prop)\n const value = target[prop as keyof S]\n if (typeof value === 'function') return (value as (...args: unknown[]) => unknown).bind(receiver)\n return _plain(value) ? _wrap(state, value, prop) : value\n },\n set(target: S, prop: string | symbol, value: unknown) {\n if (typeof prop === 'symbol') {\n ;(target as Record<symbol, unknown>)[prop] = value\n return true\n }\n value = _raw(value)\n if (Array.isArray(value)) value = value.map(_raw)\n const old = target[prop as keyof S]\n if (old === value && prop in target) return true\n if (old && typeof old === 'object') delete (old as Record<symbol, unknown>)[_NESTED]\n ;(target as Record<string, unknown>)[prop] = value\n const direct = state.direct?.get(prop)\n if (direct) for (const h of direct) h(value as S[keyof S])\n _queue(state, prop, { previousValue: old, newValue: value })\n return true\n },\n })\n state.proxy = proxy\n _hidden(proxy, _PRIV, state)\n return proxy\n}\n\nexport function leanObserve<S>(\n self: S | null | undefined,\n pathOrProp: string | readonly string[],\n handler: Handler<S>,\n): () => void {\n const state: LeanState<S> | undefined = self == null ? undefined : (self as Record<symbol, LeanState<S>>)[_PRIV]\n if (!state) return () => {}\n state.ready = true\n const isArr = Array.isArray(pathOrProp)\n // `path` / `text` carry the two alternatives in their own exact slots so\n // `.length` / `[0]` / `.slice` have a `readonly string[]` receiver: called on\n // `pathOrProp` — declared `string | readonly string[]` — the intrinsic has no\n // single receiver carrier and `pathOrProp.slice(1)` fail-closed with\n // `representation-plan coverage gap for CallExpression`. Each read is already\n // guarded by `isArr`, so neither default is ever observed.\n let path: readonly string[] = []\n let text = ''\n if (typeof pathOrProp === 'string') text = pathOrProp\n else path = pathOrProp\n if ((isArr && path.length === 0) || (!isArr && text === '')) {\n const bucket = state.rootObservers ?? (state.rootObservers = new Set())\n bucket.add(handler)\n return () => {\n bucket.delete(handler)\n }\n }\n const prop = isArr ? (path[0] ?? '') : text\n if (!prop) return () => {}\n const tail = isArr && path.length > 1 ? path.slice(1) : null\n const finalHandler: Handler<S> = tail\n ? (value, changes) => {\n let next: unknown = value\n for (let i = 0; i < tail.length; i++) {\n if (next == null) return\n next = (next as Record<string, unknown>)[tail[i]]\n }\n handler(next as S[keyof S], changes)\n }\n : handler\n const target = Object.prototype.hasOwnProperty.call(_raw(self), prop)\n ? (state.observers ?? (state.observers = new Map()))\n : (state.derived ?? (state.derived = new Map()))\n let bucket = target.get(prop)\n if (!bucket) target.set(prop, (bucket = new Set()))\n bucket.add(finalHandler)\n return () => {\n bucket!.delete(finalHandler)\n }\n}\n\nexport function leanObserveDirect<S>(\n self: S | null | undefined,\n prop: string,\n handler: (value: S[keyof S]) => void,\n): () => void {\n const state: LeanState<S> | undefined = self == null ? undefined : (self as Record<symbol, LeanState<S>>)[_PRIV]\n if (!state) return () => {}\n state.ready = true\n const direct = state.direct ?? (state.direct = new Map())\n let bucket = direct.get(prop)\n if (!bucket) direct.set(prop, (bucket = new Set()))\n bucket.add(handler)\n return () => {\n bucket!.delete(handler)\n }\n}\n\nexport class CompiledLeanStore<S extends Record<string, any> = Record<string, any>> {\n constructor() {\n return createLeanProxy(this as unknown as S) as unknown as this\n }\n\n observe(pathOrProp: string | readonly string[], handler: Handler<S>): () => void {\n return leanObserve(this as unknown as S, pathOrProp, handler)\n }\n\n [GEA_OBSERVE_DIRECT](prop: string, handler: (value: S[keyof S]) => void): () => void {\n return leanObserveDirect(this as unknown as S, prop, handler)\n }\n}\n\nexport default CompiledLeanStore\n","import { GEA_CREATE_TEMPLATE, GEA_DOM_COMPONENT, GEA_ELEMENT } from './symbols'\nimport { GEA_DISPOSER, GEA_OBSERVE_DIRECT, GEA_SET_PROPS } from './internal-symbols'\nimport { createDisposer, type Disposer } from './disposer'\nimport { createLeanProxy, leanObserve, leanObserveDirect } from './compiled-lean-store'\nimport type { Change } from '../store'\n\n/** Same observer shape as the compiled stores; see `compiled-store.ts`. */\ntype Handler = (value: unknown, changes: Change[]) => void\n/**\n * One thunk per prop of `P`, each returning that prop's own type.\n *\n * Generic rather than a flat dictionary so a component's props keep their\n * declared types all the way through `GEA_SET_PROPS` — the compiler emits one\n * thunk per JSX attribute, so the mapping is exact at every instantiation.\n */\ntype PropThunks<P> = { [K in keyof P]: () => P[K] }\nconst GEA_COMPONENT_ID: unique symbol = Symbol()\nlet nextComponentId = 0\n\nexport class CompiledTinyReactiveComponent<P extends Record<string, any> = Record<string, any>> {\n rendered = false\n props: P = {} as P;\n [GEA_ELEMENT] = null as HTMLElement | null;\n [GEA_DISPOSER] = createDisposer() as Disposer;\n [GEA_COMPONENT_ID]?: string\n\n constructor() {\n return createLeanProxy(this)\n }\n\n get id(): string {\n return (this[GEA_COMPONENT_ID] ??= '_' + nextComponentId++)\n }\n\n set id(value: string) {\n this[GEA_COMPONENT_ID] = value\n }\n\n get el(): HTMLElement | null {\n return this[GEA_ELEMENT] ?? null\n }\n\n [GEA_SET_PROPS](thunks: PropThunks<P>): void {\n const out: Partial<P> = {}\n for (const k in thunks) {\n Object.defineProperty(out, k, {\n enumerable: true,\n get: () => thunks[k](),\n })\n }\n this.props = out as P\n }\n\n render(parent: Node, _index?: number): void {\n const node = this[GEA_CREATE_TEMPLATE](this[GEA_DISPOSER])\n parent.appendChild(node)\n if (node.nodeType === 11) this[GEA_ELEMENT] = ((parent as Element).lastElementChild as HTMLElement | null) ?? null\n else if (node.nodeType === 1) this[GEA_ELEMENT] = node as HTMLElement\n const el = this[GEA_ELEMENT]\n if (el) (el as HTMLElement & { [GEA_DOM_COMPONENT]?: unknown })[GEA_DOM_COMPONENT] = this\n this.rendered = true\n }\n\n observe(pathOrProp: string | readonly string[], handler: Handler): () => void {\n return leanObserve(this, pathOrProp, handler)\n }\n\n [GEA_OBSERVE_DIRECT](prop: string, handler: (value: unknown) => void): () => void {\n return leanObserveDirect(this, prop, handler)\n }\n\n dispose(): void {\n this[GEA_DISPOSER].dispose()\n this[GEA_ELEMENT]?.remove()\n this[GEA_ELEMENT] = null\n }\n\n $(sel: string): Element | null {\n return this[GEA_ELEMENT]?.querySelector(sel) ?? null\n }\n\n $$(sel: string): Element[] {\n return Array.from(this[GEA_ELEMENT]?.querySelectorAll(sel) ?? [])\n }\n\n created(_props?: P): void {\n /* no-op */\n }\n\n onAfterRender(): void {\n /* no-op */\n }\n}\n\nexport default CompiledTinyReactiveComponent\n","import type { Disposer } from './disposer'\n\ntype Handler = (e: Event) => void\ntype HandlerPair = [Element, Handler]\n\n// Computed key, exactly as in `delegate-event-fast`. A literal `.__gc` expando\n// makes geatsc collect an anonymous record whose field is callable, which it has\n// no representation for (\"Anonymous record expando __gc has no Representation\n// for Handler\"). Reading and writing through a computed key keeps the property\n// dynamic, so no record shape is inferred for the host Element. `_GDC` (the\n// once-per-document delegate-installed flag) follows the same rule for the\n// same reason — a literal `.__gdc` would pin an anonymous record on Document.\nconst _GC = '__' + 'gc'\nconst _GDC = '__' + 'gdc'\n\n// The per-node handler stash and the per-document flag are dynamic expandos on\n// host objects; `Record<string, ...>` through the computed key is the same\n// sanctioned spelling `compiled-lean-store.ts` uses for its symbol stashes.\ntype HandlerStash = Record<string, Handler | undefined>\ntype FlagStash = Record<string, number | undefined>\n\nexport function ensureClickDelegate(root: Element): void {\n const rt: Document = typeof document !== 'undefined' ? document : (root.ownerDocument as Document)\n if (!(rt as unknown as FlagStash)[_GDC]) {\n ;(rt as unknown as FlagStash)[_GDC] = 1\n rt.addEventListener('click', (e: Event) => {\n for (let n: Node | null = e.target as Node | null; n && n !== rt; n = n.parentNode) {\n const h = (n as unknown as HandlerStash)[_GC]\n if (h !== undefined) {\n h(e)\n return\n }\n }\n })\n }\n}\n\nexport function delegateClick(root: Element, pairs: HandlerPair[], disposer?: Disposer): void {\n ensureClickDelegate(root)\n for (let i = 0; i < pairs.length; i++) {\n const el = pairs[i][0]\n if (el) (el as unknown as HandlerStash)[_GC] = pairs[i][1]\n }\n // Disposer-contained storage: one registration per call (not per pair), so\n // the live-path cost stays a single push. The `noop` check runs here, not\n // inside `add`, so the noop fast path (keyed-list rows with no cleanup)\n // allocates nothing — not even the teardown closure. Clearing on dispose\n // bounds every stashed handler's lifetime to the owning component: the\n // handlers capture the component's `this`, and under refcounted ownership\n // an uncleared stash would keep the component alive through its own DOM\n // (component → element → handler → component).\n if (disposer && !disposer.noop) disposer.add(_clearHandlers(pairs))\n}\n\nfunction _clearHandlers(pairs: HandlerPair[]): () => void {\n return () => {\n for (let i = 0; i < pairs.length; i++) {\n const el = pairs[i][0]\n if (el) (el as unknown as HandlerStash)[_GC] = undefined\n }\n }\n}\n","import { Component } from '@geajs/core'\nimport { dndManager } from './dnd-manager'\n\nexport default class Draggable extends Component {\n _didDrag = false\n\n _onPointerDown(e: PointerEvent) {\n const el = (e.target as HTMLElement).closest('.gea-draggable') as HTMLElement\n if (!el) return\n this._didDrag = false\n dndManager.startTracking(e, this.props.draggableId as string, el)\n }\n\n template(props: any) {\n return (\n <div\n class={`gea-draggable ${props.class || ''}`}\n data-draggable-id={props.draggableId}\n data-index={props.index}\n pointerdown={(e: PointerEvent) => this._onPointerDown(e)}\n click={(e: MouseEvent) => {\n if (dndManager.isDragging) {\n e.preventDefault()\n e.stopPropagation()\n }\n }}\n >\n {props.children}\n </div>\n )\n }\n}\n"],"mappings":"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"}
@@ -154,6 +154,64 @@ var FileUpload = class extends ZagComponent {
154
154
  }
155
155
  let __kl_prev = __kl_first;
156
156
  const __kl_reconcile = (arr, changes) => {
157
+ if (!Array.isArray(arr)) arr = [];
158
+ if (changes && changes.length > 0) {
159
+ let aipuPatchable = true;
160
+ for (let i = 0; i < changes.length; i++) {
161
+ const change = changes[i];
162
+ const idx = change.arix;
163
+ if (!change.aipu || idx < 0 || idx >= __kl_entries.length || !change.itemDirty && __kl_entries[idx].key !== __kl_key(change.newValue, idx)) {
164
+ aipuPatchable = false;
165
+ break;
166
+ }
167
+ }
168
+ if (aipuPatchable) {
169
+ for (let i = 0; i < changes.length; i++) {
170
+ const idx = changes[i].arix;
171
+ let superseded = false;
172
+ for (let j = i + 1; j < changes.length; j++) if (changes[j].arix === idx) {
173
+ superseded = true;
174
+ break;
175
+ }
176
+ if (superseded) continue;
177
+ const item = changes[i].newValue;
178
+ __kl_patch(__kl_entries[idx], item, idx);
179
+ if (item && typeof item === "object") {
180
+ item[_DIRTY] = false;
181
+ item[_DIRTY_PROPS]?.clear();
182
+ }
183
+ __kl_entries[idx].item = __kl_unwrap(item);
184
+ if (__kl_prev && __kl_prev.length === __kl_entries.length) __kl_prev[idx] = __kl_unwrap(item);
185
+ }
186
+ return;
187
+ }
188
+ let dirtyOnly = true;
189
+ for (let i = 0; i < changes.length; i++) {
190
+ const change = changes[i];
191
+ if (change.aipu || change.type === "append" || change.type === "remove" || change.type === "delete" || change.type === "reorder") {
192
+ dirtyOnly = false;
193
+ break;
194
+ }
195
+ }
196
+ if (dirtyOnly) {
197
+ const raw = arr[GEA_PROXY_RAW] || arr;
198
+ if (__kl_entries.length === arr.length) {
199
+ let patched = false;
200
+ for (let i = 0; i < raw.length; i++) {
201
+ const item = raw[i];
202
+ if (item && typeof item === "object" && item[_DIRTY]) {
203
+ __kl_patch(__kl_entries[i], item, i);
204
+ item[_DIRTY] = false;
205
+ item[_DIRTY_PROPS]?.clear();
206
+ __kl_entries[i].item = item;
207
+ patched = true;
208
+ }
209
+ }
210
+ if (patched) return;
211
+ }
212
+ }
213
+ }
214
+ const raw = arr[GEA_PROXY_RAW] || arr;
157
215
  if (arr === __kl_prev && __kl_entries.length === arr.length) {
158
216
  let structural = false;
159
217
  let aipuOnly = changes && changes.length > 0;
@@ -190,7 +248,6 @@ var FileUpload = class extends ZagComponent {
190
248
  }
191
249
  }
192
250
  if (!structural) {
193
- const raw = arr[GEA_PROXY_RAW] || arr;
194
251
  for (let i = 0; i < raw.length; i++) {
195
252
  const item = raw[i];
196
253
  if (item && typeof item === "object" && item[_DIRTY]) {
@@ -322,9 +379,16 @@ var FileUpload = class extends ZagComponent {
322
379
  }
323
380
  if (oldLen > 0 && newLen > 0 && __kl_container.childNodes.length === oldLen + (__kl_anchor ? 1 : 0)) {
324
381
  let disjoint = true;
325
- for (let i = 0; i < newLen; i++) if (__kl_byKey.has(newKeys[i])) {
326
- disjoint = false;
327
- break;
382
+ for (let i = 0; i < newLen; i++) {
383
+ let existing = null;
384
+ for (let j = 0; j < oldLen; j++) if (__kl_entries[j].key === newKeys[i]) {
385
+ existing = __kl_entries[j];
386
+ break;
387
+ }
388
+ if (existing) {
389
+ disjoint = false;
390
+ break;
391
+ }
328
392
  }
329
393
  if (disjoint) {
330
394
  for (let i = 0; i < oldLen; i++) __kl_entries[i].disposer?.dispose();
@@ -348,7 +412,11 @@ var FileUpload = class extends ZagComponent {
348
412
  const seenOld = new Array(oldLen).fill(false);
349
413
  const nextEntries = new Array(newLen);
350
414
  for (let i = 0; i < newLen; i++) {
351
- const entry = __kl_byKey.get(newKeys[i]);
415
+ let entry = null;
416
+ for (let j = 0; j < oldLen; j++) if (__kl_entries[j].key === newKeys[i]) {
417
+ entry = __kl_entries[j];
418
+ break;
419
+ }
352
420
  if (entry) {
353
421
  const oldIdx = entry._i;
354
422
  seenOld[oldIdx] = true;
@@ -372,7 +440,7 @@ var FileUpload = class extends ZagComponent {
372
440
  };
373
441
  if (__kl_root && typeof __kl_root.observe === "function") {
374
442
  const off = __kl_root.observe("acceptedFiles", (_value, changes) => {
375
- __kl_reconcile(__kl_resolve(), changes);
443
+ __kl_reconcile(_value, changes);
376
444
  });
377
445
  d.add(off);
378
446
  }
@@ -1 +1 @@
1
- {"version":3,"file":"file-upload.mjs","names":["GEA_CREATE_TEMPLATE","reactiveClass","reactiveTextValue","conditionalTruthy","reactiveAttr","GEA_DIRTY_PROPS","GEA_DOM_ITEM","GEA_PROXY_RAW","GEA_DIRTY","fileUpload","normalizeProps","ZagComponent","_tpl0_root","_tpl0_create","t","document","createElement","innerHTML","content","firstChild","_tpl1_root","_tpl1_create","_tpl2_root","_tpl2_create","_tpl3_root","_tpl3_create","FileUpload","acceptedFiles","File","rejectedFiles","createMachine","_props","machine","getMachineProps","props","id","accept","maxFiles","maxFileSize","minFileSize","multiple","disabled","allowDrop","name","onFileChange","details","FileChangeDetails","connectApi","service","connect","getSpreadMap","syncState","api","d","root","cloneNode","el0","anchor1","anchor2","childNodes","class","parentNode","label","marker0","t0","length","anchor0","__ki_L0","file","idx","__n","nodeValue","__kp_L0","el","item","has","__r0","__kl_container","__kl_anchor","__kl_root","__kl_key","__kl_create","__k","__el","key","element","__kl_patch","e","newItem","newIdx","__raw","__kl_unwrap","v","__kl_resolve","Array","isArray","__kl_entries","__kl_byKey","Map","__kl_remove","entry","disposer","dispose","delete","removeChild","__kl_first","frag","ownerDocument","createDocumentFragment","i","push","set","appendChild","clear","insertBefore","__kl_prev","__kl_reconcile","arr","changes","structural","aipuOnly","change","type","aipu","a","arix","b","entryA","entryB","newAKey","newBKey","refB","nextSibling","raw","onlyAppends","appendCount","count","start","onlyRemoves","totalRemoved","splice","removed","j","sort","newLen","oldLen","nextEntries","newKeys","textContent","diffA","diffB","diffCount","disjoint","nextNodes","replaceChildren","_i","seenOld","fill","get","oldIdx","nextRef","observe","off","_value","add"],"sources":["../src/components/file-upload.tsx"],"sourcesContent":["import * as fileUpload from '@zag-js/file-upload'\nimport { normalizeProps } from '@zag-js/vanilla'\nimport ZagComponent from '../primitives/zag-component'\n\nexport default class FileUpload extends ZagComponent {\n acceptedFiles: File[] = []\n rejectedFiles: any[] = []\n\n createMachine(_props: any): any {\n return fileUpload.machine\n }\n\n getMachineProps(props: any) {\n return {\n id: this.id,\n accept: props.accept,\n maxFiles: props.maxFiles,\n maxFileSize: props.maxFileSize,\n minFileSize: props.minFileSize,\n multiple: props.multiple ?? false,\n disabled: props.disabled,\n allowDrop: props.allowDrop ?? true,\n name: props.name,\n onFileChange: (details: fileUpload.FileChangeDetails) => {\n this.acceptedFiles = details.acceptedFiles\n this.rejectedFiles = details.rejectedFiles\n props.onFileChange?.(details)\n },\n }\n }\n\n connectApi(service: any) {\n return fileUpload.connect(service, normalizeProps)\n }\n\n getSpreadMap() {\n return {\n '[data-part=\"root\"]': 'getRootProps',\n '[data-part=\"label\"]': 'getLabelProps',\n '[data-part=\"dropzone\"]': 'getDropzoneProps',\n '[data-part=\"trigger\"]': 'getTriggerProps',\n '[data-part=\"hidden-input\"]': 'getHiddenInputProps',\n '[data-part=\"clear-trigger\"]': 'getClearTriggerProps',\n }\n }\n\n syncState(api: any) {\n this.acceptedFiles = api.acceptedFiles\n this.rejectedFiles = api.rejectedFiles\n }\n\n template(props: any) {\n return (\n <div data-part=\"root\" class={props.class || ''}>\n {props.label && (\n <label data-part=\"label\" class=\"file-upload-label text-sm font-medium mb-2 block\">\n {props.label}\n </label>\n )}\n <div\n data-part=\"dropzone\"\n class=\"file-upload-dropzone flex flex-col items-center justify-center rounded-lg border-2 border-dashed border-muted-foreground/25 p-8 text-center hover:border-muted-foreground/50 transition-colors\"\n >\n <p class=\"text-sm text-muted-foreground mb-2\">Drag and drop files here</p>\n <button\n data-part=\"trigger\"\n class=\"file-upload-trigger inline-flex h-9 items-center justify-center rounded-md bg-primary px-4 py-2 text-sm font-medium text-primary-foreground shadow hover:bg-primary/90\"\n >\n Choose Files\n </button>\n </div>\n <input data-part=\"hidden-input\" type=\"file\" class=\"sr-only\" />\n {this.acceptedFiles.length > 0 && (\n <div class=\"file-upload-file-list mt-3 space-y-1\">\n {this.acceptedFiles.map((file: File) => (\n <div key={file.name} class=\"flex items-center justify-between rounded-md border px-3 py-2 text-sm\">\n <span>{file.name}</span>\n </div>\n ))}\n <button\n data-part=\"clear-trigger\"\n class=\"file-upload-clear text-xs text-muted-foreground hover:text-foreground mt-1\"\n >\n Clear all\n </button>\n </div>\n )}\n </div>\n )\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"file-upload.mjs","names":["GEA_CREATE_TEMPLATE","reactiveClass","reactiveTextValue","conditionalTruthy","reactiveAttr","GEA_DIRTY_PROPS","GEA_DOM_ITEM","GEA_PROXY_RAW","GEA_DIRTY","fileUpload","normalizeProps","ZagComponent","_tpl0_root","_tpl0_create","t","document","createElement","innerHTML","content","firstChild","_tpl1_root","_tpl1_create","_tpl2_root","_tpl2_create","_tpl3_root","_tpl3_create","FileUpload","acceptedFiles","File","rejectedFiles","createMachine","_props","machine","getMachineProps","props","id","accept","maxFiles","maxFileSize","minFileSize","multiple","disabled","allowDrop","name","onFileChange","details","FileChangeDetails","connectApi","service","connect","getSpreadMap","syncState","api","d","root","cloneNode","el0","anchor1","anchor2","childNodes","class","parentNode","label","marker0","t0","length","anchor0","__ki_L0","file","idx","__n","nodeValue","__kp_L0","el","item","has","__r0","__kl_container","__kl_anchor","__kl_root","__kl_key","__kl_create","__k","__el","key","element","__kl_patch","e","newItem","newIdx","__raw","__kl_unwrap","v","__kl_resolve","Array","isArray","__kl_entries","__kl_byKey","Map","__kl_remove","entry","disposer","dispose","delete","removeChild","__kl_first","frag","ownerDocument","createDocumentFragment","i","push","set","appendChild","clear","insertBefore","__kl_prev","__kl_reconcile","arr","changes","aipuPatchable","change","arix","aipu","itemDirty","newValue","superseded","j","dirtyOnly","type","raw","patched","structural","aipuOnly","a","b","entryA","entryB","newAKey","newBKey","refB","nextSibling","onlyAppends","appendCount","count","start","onlyRemoves","totalRemoved","splice","removed","sort","newLen","oldLen","nextEntries","newKeys","textContent","diffA","diffB","diffCount","disjoint","existing","nextNodes","replaceChildren","_i","seenOld","fill","oldIdx","nextRef","observe","off","_value","add"],"sources":["../src/components/file-upload.tsx"],"sourcesContent":["import * as fileUpload from '@zag-js/file-upload'\nimport { normalizeProps } from '@zag-js/vanilla'\nimport ZagComponent from '../primitives/zag-component'\n\nexport default class FileUpload extends ZagComponent {\n acceptedFiles: File[] = []\n rejectedFiles: any[] = []\n\n createMachine(_props: any): any {\n return fileUpload.machine\n }\n\n getMachineProps(props: any) {\n return {\n id: this.id,\n accept: props.accept,\n maxFiles: props.maxFiles,\n maxFileSize: props.maxFileSize,\n minFileSize: props.minFileSize,\n multiple: props.multiple ?? false,\n disabled: props.disabled,\n allowDrop: props.allowDrop ?? true,\n name: props.name,\n onFileChange: (details: fileUpload.FileChangeDetails) => {\n this.acceptedFiles = details.acceptedFiles\n this.rejectedFiles = details.rejectedFiles\n props.onFileChange?.(details)\n },\n }\n }\n\n connectApi(service: any) {\n return fileUpload.connect(service, normalizeProps)\n }\n\n getSpreadMap() {\n return {\n '[data-part=\"root\"]': 'getRootProps',\n '[data-part=\"label\"]': 'getLabelProps',\n '[data-part=\"dropzone\"]': 'getDropzoneProps',\n '[data-part=\"trigger\"]': 'getTriggerProps',\n '[data-part=\"hidden-input\"]': 'getHiddenInputProps',\n '[data-part=\"clear-trigger\"]': 'getClearTriggerProps',\n }\n }\n\n syncState(api: any) {\n this.acceptedFiles = api.acceptedFiles\n this.rejectedFiles = api.rejectedFiles\n }\n\n template(props: any) {\n return (\n <div data-part=\"root\" class={props.class || ''}>\n {props.label && (\n <label data-part=\"label\" class=\"file-upload-label text-sm font-medium mb-2 block\">\n {props.label}\n </label>\n )}\n <div\n data-part=\"dropzone\"\n class=\"file-upload-dropzone flex flex-col items-center justify-center rounded-lg border-2 border-dashed border-muted-foreground/25 p-8 text-center hover:border-muted-foreground/50 transition-colors\"\n >\n <p class=\"text-sm text-muted-foreground mb-2\">Drag and drop files here</p>\n <button\n data-part=\"trigger\"\n class=\"file-upload-trigger inline-flex h-9 items-center justify-center rounded-md bg-primary px-4 py-2 text-sm font-medium text-primary-foreground shadow hover:bg-primary/90\"\n >\n Choose Files\n </button>\n </div>\n <input data-part=\"hidden-input\" type=\"file\" class=\"sr-only\" />\n {this.acceptedFiles.length > 0 && (\n <div class=\"file-upload-file-list mt-3 space-y-1\">\n {this.acceptedFiles.map((file: File) => (\n <div key={file.name} class=\"flex items-center justify-between rounded-md border px-3 py-2 text-sm\">\n <span>{file.name}</span>\n </div>\n ))}\n <button\n data-part=\"clear-trigger\"\n class=\"file-upload-clear text-xs text-muted-foreground hover:text-foreground mt-1\"\n >\n Clear all\n </button>\n </div>\n )}\n </div>\n )\n }\n}\n"],"mappings":"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"}
@@ -3,7 +3,7 @@ import { o as GEA_CREATE_TEMPLATE } from "./bind.mjs";
3
3
  import { n as reactiveTextValue, t as reactiveText } from "./reactive-text.mjs";
4
4
  import { t as reactiveAttr } from "./reactive-attr.mjs";
5
5
  import { t as reactiveClass } from "./reactive-class.mjs";
6
- import { t as reactiveStyle } from "./reactive-style.mjs";
6
+ import { t as reactiveStyleProp } from "./reactive-style.mjs";
7
7
  import { normalizeProps } from "@zag-js/vanilla";
8
8
  import * as hoverCard from "@zag-js/hover-card";
9
9
  //#region src/components/hover-card.tsx
@@ -54,7 +54,7 @@ var HoverCard = class extends ZagComponent {
54
54
  const marker3 = root.firstChild.firstChild;
55
55
  const marker4 = root.childNodes[1].firstChild.firstChild;
56
56
  reactiveClass(el0, d, this, () => this.props.class || "");
57
- reactiveStyle(el1, d, this, () => ({ display: "inline-block" }));
57
+ reactiveStyleProp(el1, d, this, "display", () => "inline-block");
58
58
  reactiveAttr(el2, d, this, "href", () => this.props.href || "#");
59
59
  reactiveTextValue(marker3, d, this, () => this.props.triggerLabel || "Hover me");
60
60
  reactiveText(marker4, d, this, () => this.props.children);