@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.
- package/dist/bind.mjs +74 -35
- package/dist/bind.mjs.map +1 -1
- package/dist/combobox.mjs +74 -6
- package/dist/combobox.mjs.map +1 -1
- package/dist/compiled-component.mjs +11 -9
- package/dist/compiled-component.mjs.map +1 -1
- package/dist/compiled-reactive-component.mjs +129 -31
- package/dist/compiled-reactive-component.mjs.map +1 -1
- package/dist/component-id.mjs +12 -1
- package/dist/component-id.mjs.map +1 -1
- package/dist/conditional.mjs.map +1 -1
- package/dist/delegate-event.mjs +9 -9
- package/dist/delegate-event.mjs.map +1 -1
- package/dist/disposer.mjs +30 -11
- package/dist/disposer.mjs.map +1 -1
- package/dist/draggable2.mjs +135 -32
- package/dist/draggable2.mjs.map +1 -1
- package/dist/file-upload.mjs +74 -6
- package/dist/file-upload.mjs.map +1 -1
- package/dist/hover-card.mjs +2 -2
- package/dist/hover-card.mjs.map +1 -1
- package/dist/input2.mjs +2 -2
- package/dist/input2.mjs.map +1 -1
- package/dist/item-obs.mjs +11 -48
- package/dist/item-obs.mjs.map +1 -1
- package/dist/keyed-list.mjs +90 -39
- package/dist/keyed-list.mjs.map +1 -1
- package/dist/menu.mjs +7 -7
- package/dist/menu.mjs.map +1 -1
- package/dist/pin-input.mjs +6 -6
- package/dist/pin-input.mjs.map +1 -1
- package/dist/progress.mjs +2 -2
- package/dist/progress.mjs.map +1 -1
- package/dist/rating-group.mjs +8 -8
- package/dist/rating-group.mjs.map +1 -1
- package/dist/reactive-attr.mjs +2 -2
- package/dist/reactive-attr.mjs.map +1 -1
- package/dist/reactive-bool.mjs +2 -2
- package/dist/reactive-bool.mjs.map +1 -1
- package/dist/reactive-class-name.mjs +2 -2
- package/dist/reactive-class-name.mjs.map +1 -1
- package/dist/reactive-class.mjs +5 -4
- package/dist/reactive-class.mjs.map +1 -1
- package/dist/reactive-style.mjs +15 -12
- package/dist/reactive-style.mjs.map +1 -1
- package/dist/reactive-text.mjs +4 -4
- package/dist/reactive-text.mjs.map +1 -1
- package/dist/tags-input.mjs +10 -10
- package/dist/tags-input.mjs.map +1 -1
- package/dist/tooltip.mjs +3 -3
- package/dist/tooltip.mjs.map +1 -1
- package/dist/zag-component.d.mts +1 -0
- package/dist/zag-component.mjs +10 -1
- package/dist/zag-component.mjs.map +1 -1
- package/package.json +1 -1
package/dist/draggable2.mjs
CHANGED
|
@@ -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
|
|
12
|
-
const
|
|
13
|
-
|
|
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 ||
|
|
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
|
|
29
|
-
|
|
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)
|
|
69
|
+
if (bucket) _fireBucket(bucket, state.proxy[prop], changes);
|
|
35
70
|
}
|
|
36
|
-
if (all && state.
|
|
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
|
-
|
|
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
|
|
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
|
|
68
|
-
|
|
69
|
-
|
|
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 (
|
|
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 (
|
|
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
|
-
|
|
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
|
-
|
|
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 (
|
|
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")
|
|
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
|
-
|
|
232
|
+
_hidden(proxy, _PRIV, state);
|
|
157
233
|
return proxy;
|
|
158
234
|
}
|
|
159
235
|
function leanObserve(self, pathOrProp, handler) {
|
|
160
|
-
const state =
|
|
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
|
-
|
|
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 &&
|
|
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 () =>
|
|
266
|
+
return () => {
|
|
267
|
+
bucket.delete(finalHandler);
|
|
268
|
+
};
|
|
180
269
|
}
|
|
181
270
|
function leanObserveDirect(self, prop, handler) {
|
|
182
|
-
const state =
|
|
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 () =>
|
|
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
|
-
|
|
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
|
|
253
|
-
rt
|
|
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
|
|
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,
|
|
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
|
|
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
|
package/dist/draggable2.mjs.map
CHANGED
|
@@ -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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"}
|
package/dist/file-upload.mjs
CHANGED
|
@@ -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++)
|
|
326
|
-
|
|
327
|
-
|
|
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
|
-
|
|
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(
|
|
443
|
+
__kl_reconcile(_value, changes);
|
|
376
444
|
});
|
|
377
445
|
d.add(off);
|
|
378
446
|
}
|
package/dist/file-upload.mjs.map
CHANGED
|
@@ -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":";;;;;;;;;;AAIA,IAAIY,aAAa;AACjB,SAASC,eAAe;CACtB,MAAMC,IAAIC,SAASC,cAAc,WAAW;AAC5CF,GAAEG,YAAY;AACd,QAAOH,EAAEI,QAAQC;;AAEnB,IAAIC,aAAa;AACjB,SAASC,eAAe;CACtB,MAAMP,IAAIC,SAASC,cAAc,WAAW;AAC5CF,GAAEG,YAAY;AACd,QAAOH,EAAEI,QAAQC;;AAEnB,IAAIG,aAAa;AACjB,SAASC,eAAe;CACtB,MAAMT,IAAIC,SAASC,cAAc,WAAW;AAC5CF,GAAEG,YAAY;AACd,QAAOH,EAAEI,QAAQC;;AAEnB,IAAIK,aAAa;AACjB,SAASC,eAAe;CACtB,MAAMX,IAAIC,SAASC,cAAc,WAAW;AAC5CF,GAAEG,YAAY;AACd,QAAOH,EAAEI,QAAQC;;AAEnB,IAAqBO,aAArB,cAAwCf,aAAa;;;uBAC3B,EAAE;uBACH,EAAE;;CACzBmB,cAAcC,QAAkB;AAC9B,SAAOtB,WAAWuB;;CAEpBC,gBAAgBC,OAAY;AAC1B,SAAO;GACLC,IAAI,KAAKA;GACTC,QAAQF,MAAME;GACdC,UAAUH,MAAMG;GAChBC,aAAaJ,MAAMI;GACnBC,aAAaL,MAAMK;GACnBC,UAAUN,MAAMM,YAAY;GAC5BC,UAAUP,MAAMO;GAChBC,WAAWR,MAAMQ,aAAa;GAC9BC,MAAMT,MAAMS;GACZC,eAAeC,YAA0C;AACvD,SAAKlB,gBAAgBkB,QAAQlB;AAC7B,SAAKE,gBAAgBgB,QAAQhB;AAC7BK,UAAMU,eAAeC,QAAQ;;GAEhC;;CAEHE,WAAWC,SAAc;AACvB,SAAOvC,WAAWwC,QAAQD,SAAStC,eAAe;;CAEpDwC,eAAe;AACb,SAAO;GACL,wBAAsB;GACtB,yBAAuB;GACvB,4BAA0B;GAC1B,2BAAyB;GACzB,gCAA8B;GAC9B,iCAA+B;GAChC;;CAEHC,UAAUC,KAAU;AAClB,OAAKzB,gBAAgByB,IAAIzB;AACzB,OAAKE,gBAAgBuB,IAAIvB;;CAE3B,CAAC7B,qBAAqBqD,GAAG;EACvB,MAAMC,QAAQ1C,eAAeA,aAAaC,cAAc,GAAG0C,UAAU,KAAK;EAC1E,MAAMC,MAAMF;EACZ,MAAMG,UAAUH,KAAKnC;EACrB,MAAMuC,UAAUJ,KAAKK,WAAW;AAChC1D,gBAAcuD,KAAKH,GAAG,YAAY,KAAKnB,MAAM0B,SAAS,GAAG;AACzDzD,oBAAkBsD,QAAQI,YAAYJ,SAASJ,GAAG,YAAY,KAAKnB,MAAM4B,QAAOT,MAAK;GACnF,MAAMC,QAAQlC,eAAeA,aAAaC,cAAc,GAAGkC,UAAU,KAAK;GAE1E,MAAMS,KADUV,KAAKnC;AAErBjB,qBAAkB8D,IAAIX,GAAG,YAAY,KAAKnB,MAAM4B,MAAM;AACtD,UAAOR;IACP;AACFnD,oBAAkBuD,QAAQG,YAAYH,SAASL,GAAG,YAAY,KAAK1B,cAAcsC,SAAS,IAAGZ,MAAK;GAChG,MAAMC,QAAQhC,eAAeA,aAAaC,cAAc,GAAGgC,UAAU,KAAK;GAC1E,MAAMW,UAAUZ,KAAKnC;GACrB,MAAMgD,WAAWC,MAAYC,KAAKhB,MAAM;IACtC,MAAMC,QAAQ9B,eAAeA,aAAaC,cAAc,GAAG8B,UAAU,KAAK;IAE1E;KACE,MAAMe,MAAMhB,KAAKnC,WAAWA;AAC5BmD,SAAIC,YAAY,GAAGH,KAAKzB,QAAQ;;AAElCW,SAAKhD,gBAAgB8D;AACrB,WAAOd;;GAET,MAAMkB,WAAWC,IAAIC,SAAS;AAC5B,QAAI,CAACA,KAAKrE,iBAAoBqE,KAAKrE,cAAiBsE,IAAI,OAAO,EAAE;KAC/D,MAAML,MAAMG,GAAGG,SAASH,GAAGG,OAAOH,GAAGtD,WAAWA;AAChDmD,SAAIC,YAAY,GAAGG,KAAK/B,QAAQ;;;GAGpC;IACE,MAAMkC,iBAAiBX,QAAQL;IAC/B,MAAMiB,cAAcZ;IACpB,MAAMa,YAAY;IAClB,MAAMC,YAAYZ,MAAYC,QAAQD,KAAKzB;IAC3C,MAAMsC,eAAeP,MAAML,QAAQ;KACjC,MAAMa,MAAMR,KAAK/B;KACjB,MAAMwC,OAAOhB,QAAQO,MAAML,IAAI;AAC/B,YAAO;MACLe,KAAKF;MACLR,MAAMA,QAAQA,KAAKnE,kBAAkBmE;MACrCW,SAASF;MACV;;IAEH,MAAMG,cAAcC,GAAGC,SAASC,WAAW;AAEzCF,OAAEb,OADYc,WAAWA,QAAQjF,kBAAkBiF;AAEnDhB,aAAQe,EAAEF,SAASG,QAAQ;;IAE7B,MAAMG,eAAcC,MAAKA,KAAK,OAAOA,MAAM,YAAYA,EAAErF,kBAAkBqF;IAC3E,MAAMC,qBAAqB;KACzB,MAAMD,IAAIb,YAAY;AACtB,YAAOe,MAAMC,QAAQH,EAAE,GAAGA,IAAI,EAAE;;IAElC,IAAII,eAAe,EAAE;IACrB,MAAMC,6BAAa,IAAIC,KAAK;IAC5B,MAAMC,eAAcC,UAAS;AAC3BA,WAAMC,UAAUC,SAAS;AACzBL,gBAAWM,OAAOH,MAAMhB,IAAI;AAC5B,SAAIgB,MAAMf,QAAQxB,WAAYuC,OAAMf,QAAQxB,WAAW2C,YAAYJ,MAAMf,QAAQ;;IAEnF,MAAMoB,aAAaZ,cAAc;AACjC,QAAIY,WAAWxC,SAAS,GAAG;KACzB,MAAMyC,OAAO7B,eAAe8B,cAAcC,wBAAwB;AAClE,UAAK,IAAIC,IAAI,GAAGA,IAAIJ,WAAWxC,QAAQ4C,KAAK;MAC1C,MAAMnC,OAAO+B,WAAWI;MACxB,MAAMT,QAAQnB,YAAYP,MAAMmC,EAAE;AAClCb,mBAAac,KAAKV,MAAM;AACxBH,iBAAWc,IAAIX,MAAMhB,KAAKgB,MAAM;AAChCM,WAAKM,YAAYZ,MAAMf,QAAQ;AAC/B,UAAIX,QAAQ,OAAOA,SAAS,UAAU;AACpCA,YAAKlE,UAAa;AAClBkE,YAAKrE,eAAkB4G,OAAO;;;AAGlCpC,oBAAeqC,aAAaR,MAAM5B,YAAY;;IAEhD,IAAIqC,YAAYV;IAChB,MAAMW,kBAAkBC,KAAKC,YAAY;AACvC,SAAID,QAAQF,aAAanB,aAAa/B,WAAWoD,IAAIpD,QAAQ;MAC3D,IAAIsD,aAAa;MACjB,IAAIC,WAAWF,WAAWA,QAAQrD,SAAS;AAC3C,UAAIqD,WAAWA,QAAQrD,SAAS,EAC9B,MAAK,IAAI4C,IAAI,GAAGA,IAAIS,QAAQrD,QAAQ4C,KAAK;OACvC,MAAMY,SAASH,QAAQT;AACvB,WAAIY,OAAOC,SAAS,YAAYD,OAAOC,SAAS,YAAYD,OAAOC,SAAS,YAAYD,OAAOC,SAAS,WAAW;AACjHH,qBAAa;AACbC,mBAAW;AACX;;AAEF,WAAI,CAACC,OAAOE,KAAMH,YAAW;WAAWD,cAAa;;AAGzD,UAAIC,YAAYF,QAAQrD,WAAW,GAAG;OACpC,MAAM2D,IAAIN,QAAQ,GAAGO;OACrB,MAAMC,IAAIR,QAAQ,GAAGO;AACrB,WAAID,KAAK,KAAKE,KAAK,KAAKF,IAAI5B,aAAa/B,UAAU6D,IAAI9B,aAAa/B,UAAU2D,MAAME,GAAG;QACrF,MAAMC,SAAS/B,aAAa4B;QAC5B,MAAMI,SAAShC,aAAa8B;QAC5B,MAAMG,UAAUjD,SAASqC,IAAIO,IAAIA,EAAE;QACnC,MAAMM,UAAUlD,SAASqC,IAAIS,IAAIA,EAAE;AACnC,YAAIC,OAAO3C,QAAQ8C,WAAWF,OAAO5C,QAAQ6C,SAAS;SACpD,MAAME,OAAOH,OAAO3C,QAAQ+C;AAC5BvD,wBAAeqC,aAAac,OAAO3C,SAAS0C,OAAO1C,QAAQ;AAC3D,aAAI8C,KAAMtD,gBAAeqC,aAAaa,OAAO1C,SAAS8C,KAAK;aAAMtD,gBAAemC,YAAYe,OAAO1C,QAAQ;AAC3GW,sBAAa4B,KAAKI;AAClBhC,sBAAa8B,KAAKC;AAClB,aAAIpC,YAAY0B,IAAIO,GAAG,KAAKI,OAAOtD,KAAMY,YAAW0C,QAAQX,IAAIO,IAAIA,EAAE;AACtE,aAAIjC,YAAY0B,IAAIS,GAAG,KAAKC,OAAOrD,KAAMY,YAAWyC,QAAQV,IAAIS,IAAIA,EAAE;AACtEX,qBAAYE;AACZ;;;;AAIN,UAAI,CAACE,YAAY;OACf,MAAMc,MAAMhB,IAAI9G,kBAAkB8G;AAClC,YAAK,IAAIR,IAAI,GAAGA,IAAIwB,IAAIpE,QAAQ4C,KAAK;QACnC,MAAMnC,OAAO2D,IAAIxB;AACjB,YAAInC,QAAQ,OAAOA,SAAS,YAAYA,KAAKlE,SAAY;AACvD8E,oBAAWU,aAAaa,IAAInC,MAAMmC,EAAE;AACpCnC,cAAKlE,UAAa;AAClBkE,cAAKrE,eAAkB4G,OAAO;AAC9BjB,sBAAaa,GAAGnC,OAAOA;;;AAG3B;;;AAGJ,SAAI4C,WAAWA,QAAQrD,SAAS,KAAK+B,aAAa/B,SAASoD,IAAIpD,QAAQ;MACrE,IAAIqE,cAAc;MAClB,IAAIC,cAAc;AAClB,WAAK,IAAI1B,IAAI,GAAGA,IAAIS,QAAQrD,QAAQ4C,KAAK;AACvC,WAAIS,QAAQT,GAAGa,SAAS,UAAU;AAChCY,sBAAc;AACd;;AAEFC,sBAAejB,QAAQT,GAAG2B,SAAS;;AAErC,UAAIF,eAAeC,gBAAgBlB,IAAIpD,SAAS+B,aAAa/B,QAAQ;OACnE,MAAMwE,QAAQzC,aAAa/B;OAC3B,MAAMyC,OAAO7B,eAAe8B,cAAcC,wBAAwB;AAClE,YAAK,IAAIC,IAAI4B,OAAO5B,IAAIQ,IAAIpD,QAAQ4C,KAAK;QACvC,MAAMT,QAAQnB,YAAYoC,IAAIR,IAAIA,EAAE;AACpCb,qBAAac,KAAKV,MAAM;AACxBH,mBAAWc,IAAIX,MAAMhB,KAAKgB,MAAM;AAChCM,aAAKM,YAAYZ,MAAMf,QAAQ;;AAEjCR,sBAAeqC,aAAaR,MAAM5B,YAAY;AAC9CqC,mBAAYE;AACZ;;;AAGJ,SAAIC,WAAWA,QAAQrD,SAAS,KAAK+B,aAAa/B,SAASoD,IAAIpD,QAAQ;MACrE,IAAIyE,cAAc;MAClB,IAAIC,eAAe;AACnB,WAAK,IAAI9B,IAAI,GAAGA,IAAIS,QAAQrD,QAAQ4C,KAAK;OACvC,MAAMY,SAASH,QAAQT;AACvB,WAAIY,OAAOC,SAAS,UAAU;AAC5BgB,sBAAc;AACd;;AAEFC,uBAAgBlB,OAAOe,SAAS;;AAElC,UAAIE,eAAe1C,aAAa/B,SAASoD,IAAIpD,WAAW0E,cAAc;AACpE,WAAIrB,QAAQrD,WAAW,KAAKqD,QAAQ,GAAGkB,UAAU,GAAG;QAClD,MAAMnE,MAAMiD,QAAQ,GAAGmB;AACvB,YAAIpE,OAAO,KAAKA,MAAM2B,aAAa/B,QAAQ;AACzCkC,qBAAYH,aAAa3B,KAAK;AAC9B2B,sBAAa4C,OAAOvE,KAAK,EAAE;;AAE7B8C,oBAAYE;AACZ;;OAEF,MAAMwB,UAAU,EAAE;AAClB,YAAK,IAAIhC,IAAI,GAAGA,IAAIS,QAAQrD,QAAQ4C,KAAK;QACvC,MAAM4B,QAAQnB,QAAQT,GAAG4B;QACzB,MAAMD,QAAQlB,QAAQT,GAAG2B;AACzB,aAAK,IAAIM,IAAI,GAAGA,IAAIN,OAAOM,IAAKD,SAAQ/B,KAAK2B,QAAQK,EAAE;;AAEzDD,eAAQE,MAAMnB,GAAGE,MAAMA,IAAIF,EAAE;AAC7B,YAAK,IAAIf,IAAI,GAAGA,IAAIgC,QAAQ5E,QAAQ4C,KAAK;QACvC,MAAMxC,MAAMwE,QAAQhC;AACpB,YAAIxC,OAAO,KAAKA,MAAM2B,aAAa/B,QAAQ;AACzCkC,qBAAYH,aAAa3B,KAAK;AAC9B2B,sBAAa4C,OAAOvE,KAAK,EAAE;;;AAG/B8C,mBAAYE;AACZ;;;KAGJ,MAAM2B,SAAS3B,IAAIpD;KACnB,MAAMgF,SAASjD,aAAa/B;AAC5B,SAAIgF,WAAW,KAAKD,SAAS,GAAG;MAC9B,MAAME,cAAc,IAAIpD,MAAMkD,OAAO;MACrC,MAAMtC,OAAO7B,eAAe8B,cAAcC,wBAAwB;AAClE,WAAK,IAAIC,IAAI,GAAGA,IAAImC,QAAQnC,KAAK;OAC/B,MAAMT,QAAQnB,YAAYoC,IAAIR,IAAIA,EAAE;AACpCqC,mBAAYrC,KAAKT;AACjBH,kBAAWc,IAAIX,MAAMhB,KAAKgB,MAAM;AAChCM,YAAKM,YAAYZ,MAAMf,QAAQ;;AAEjCR,qBAAeqC,aAAaR,MAAM5B,YAAY;AAC9CkB,qBAAekD;AACf/B,kBAAYE;AACZ;;KAEF,MAAM8B,UAAU,IAAIrD,MAAMkD,OAAO;AACjC,UAAK,IAAInC,IAAI,GAAGA,IAAImC,QAAQnC,IAAKsC,SAAQtC,KAAK7B,SAASqC,IAAIR,IAAIA,EAAE;AACjE,SAAImC,WAAW,GAAG;AAChB,UAAInE,eAAelB,WAAWM,WAAWgF,UAAUnE,cAAc,IAAI,IAAI;AACvE,YAAK,IAAI+B,IAAI,GAAGA,IAAIoC,QAAQpC,IAAKb,cAAaa,GAAGR,UAAUC,SAAS;AACpEzB,sBAAeuE,cAAc;AAC7B,WAAItE,YAAaD,gBAAemC,YAAYlC,YAAY;YAExD,MAAK,IAAI+B,IAAIoC,SAAS,GAAGpC,KAAK,GAAGA,IAAKV,aAAYH,aAAaa,GAAG;AAEpEb,qBAAe,EAAE;AACjBC,iBAAWgB,OAAO;AAClBE,kBAAYE;AACZ;;AAEF,SAAI2B,WAAWC,QAAQ;MACrB,IAAII,QAAQ;MACZ,IAAIC,QAAQ;MACZ,IAAIC,YAAY;AAChB,WAAK,IAAI1C,IAAI,GAAGA,IAAImC,QAAQnC,IAC1B,KAAIb,aAAaa,GAAGzB,QAAQ+D,QAAQtC,IAAI;AACtC,WAAI0C,cAAc,EAAGF,SAAQxC;gBAAW0C,cAAc,EAAGD,SAAQzC;AACjE0C;AACA,WAAIA,YAAY,EAAG;;AAGvB,UAAIA,cAAc,KAAKvD,aAAaqD,OAAOjE,QAAQ+D,QAAQG,UAAUtD,aAAasD,OAAOlE,QAAQ+D,QAAQE,QAAQ;OAC/G,MAAMtB,SAAS/B,aAAaqD;OAC5B,MAAMrB,SAAShC,aAAasD;OAC5B,MAAMnB,OAAOH,OAAO3C,QAAQ+C;AAC5BvD,sBAAeqC,aAAac,OAAO3C,SAAS0C,OAAO1C,QAAQ;AAC3D,WAAI8C,KAAMtD,gBAAeqC,aAAaa,OAAO1C,SAAS8C,KAAK;WAAMtD,gBAAemC,YAAYe,OAAO1C,QAAQ;AAC3GW,oBAAaqD,SAASrB;AACtBhC,oBAAasD,SAASvB;AACtB,WAAIpC,YAAY0B,IAAIgC,OAAO,KAAKrB,OAAOtD,KAAMY,YAAW0C,QAAQX,IAAIgC,QAAQA,MAAM;AAClF,WAAI1D,YAAY0B,IAAIiC,OAAO,KAAKvB,OAAOrD,KAAMY,YAAWyC,QAAQV,IAAIiC,QAAQA,MAAM;AAClFnC,mBAAYE;AACZ;;;AAGJ,SAAI4B,SAAS,KAAKD,SAAS,KAAKnE,eAAelB,WAAWM,WAAWgF,UAAUnE,cAAc,IAAI,IAAI;MACnG,IAAI0E,WAAW;AACf,WAAK,IAAI3C,IAAI,GAAGA,IAAImC,QAAQnC,IAC1B,KAAIZ,WAAWtB,IAAIwE,QAAQtC,GAAG,EAAE;AAC9B2C,kBAAW;AACX;;AAGJ,UAAIA,UAAU;AACZ,YAAK,IAAI3C,IAAI,GAAGA,IAAIoC,QAAQpC,IAAKb,cAAaa,GAAGR,UAAUC,SAAS;AACpEL,kBAAWgB,OAAO;OAClB,MAAMiC,cAAc,IAAIpD,MAAMkD,OAAO;OACrC,MAAMS,YAAY,IAAI3D,MAAMkD,UAAUlE,cAAc,IAAI,GAAG;AAC3D,YAAK,IAAI+B,IAAI,GAAGA,IAAImC,QAAQnC,KAAK;QAC/B,MAAMT,QAAQnB,YAAYoC,IAAIR,IAAIA,EAAE;AACpCqC,oBAAYrC,KAAKT;AACjBqD,kBAAU5C,KAAKT,MAAMf;AACrBY,mBAAWc,IAAIX,MAAMhB,KAAKgB,MAAM;;AAElC,WAAItB,YAAa2E,WAAUT,UAAUlE;AACrCD,sBAAe6E,gBAAgB,GAAGD,UAAU;AAC5CzD,sBAAekD;AACf/B,mBAAYE;AACZ;;;AAGJ,UAAK,IAAIR,IAAI,GAAGA,IAAIoC,QAAQpC,IAAKb,cAAaa,GAAG8C,KAAK9C;KACtD,MAAM+C,UAAU,IAAI9D,MAAMmD,OAAO,CAACY,KAAK,MAAM;KAC7C,MAAMX,cAAc,IAAIpD,MAAMkD,OAAO;AACrC,UAAK,IAAInC,IAAI,GAAGA,IAAImC,QAAQnC,KAAK;MAC/B,MAAMT,QAAQH,WAAW6D,IAAIX,QAAQtC,GAAG;AACxC,UAAIT,OAAO;OACT,MAAM2D,SAAS3D,MAAMuD;AACrBC,eAAQG,UAAU;AAClBb,mBAAYrC,KAAKT;;;AAGrB,UAAK,IAAIS,IAAIoC,SAAS,GAAGpC,KAAK,GAAGA,IAC/B,KAAI,CAAC+C,QAAQ/C,GAAIV,aAAYH,aAAaa,GAAG;KAE/C,IAAImD,UAAUlF;AACd,UAAK,IAAI+B,IAAImC,SAAS,GAAGnC,KAAK,GAAGA,KAAK;MACpC,IAAIT,QAAQ8C,YAAYrC;AACxB,UAAI,CAACT,OAAO;AACVA,eAAQnB,YAAYoC,IAAIR,IAAIA,EAAE;AAC9BZ,kBAAWc,IAAIX,MAAMhB,KAAKgB,MAAM;iBACvBA,MAAM1B,SAASiB,YAAY0B,IAAIR,GAAG,CAC3CvB,YAAWc,OAAOiB,IAAIR,IAAIA,EAAE;AAE9B,UAAIT,MAAMf,QAAQxB,eAAegB,kBAAkBuB,MAAMf,QAAQ+C,gBAAgB4B,QAASnF,gBAAeqC,aAAad,MAAMf,SAAS2E,QAAQ;AAC7Id,kBAAYrC,KAAKT;AACjB4D,gBAAU5D,MAAMf;;AAElBW,oBAAekD;AACf/B,iBAAYE;;AAEd,QAAItC,aAAa,OAAOA,UAAUkF,YAAY,YAAY;KACxD,MAAMC,MAAMnF,UAAUkF,QAAQ,kBAAkBE,QAAQ7C,YAAY;AAClEF,qBAAevB,cAAc,EAAEyB,QAAQ;OACvC;AACFjE,OAAE+G,IAAIF,IAAI;;;AAGd,UAAO5G;IACP;AACF,SAAOA"}
|
|
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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"}
|
package/dist/hover-card.mjs
CHANGED
|
@@ -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
|
|
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
|
-
|
|
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);
|