@mrts/soltw 0.3.21 → 0.3.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +125 -10
- package/dist/index.js +3730 -10
- package/dist/index.jsx +3648 -10
- package/package.json +2 -2
- package/dist/Block.d.ts +0 -13
- package/dist/Block.js +0 -33
- package/dist/Block.jsx +0 -24
- package/dist/items/IdLabel.d.ts +0 -15
- package/dist/items/IdLabel.js +0 -19
- package/dist/items/IdLabel.jsx +0 -19
- package/dist/items/Item.d.ts +0 -25
- package/dist/items/Item.js +0 -79
- package/dist/items/Item.jsx +0 -64
- package/dist/items/ItemGroup.d.ts +0 -24
- package/dist/items/ItemGroup.js +0 -87
- package/dist/items/ItemGroup.jsx +0 -64
- package/dist/node_modules/solid-js/dist/solid.js +0 -677
- package/dist/node_modules/solid-js/dist/solid.jsx +0 -654
- package/dist/node_modules/solid-js/web/dist/web.js +0 -694
- package/dist/node_modules/solid-js/web/dist/web.jsx +0 -678
- package/dist/node_modules/tailwind-merge/dist/bundle-mjs.js +0 -1893
- package/dist/node_modules/tailwind-merge/dist/bundle-mjs.jsx +0 -1893
- package/dist/packages/common/dist/index.js +0 -4
- package/dist/packages/common/dist/index.jsx +0 -4
- package/dist/packages/common/dist/messages/index.js +0 -1
- package/dist/packages/common/dist/messages/index.jsx +0 -1
- package/dist/packages/common/dist/messages/logMessages.js +0 -14
- package/dist/packages/common/dist/messages/logMessages.jsx +0 -14
- package/dist/packages/common/dist/strings/index.js +0 -1
- package/dist/packages/common/dist/strings/index.jsx +0 -1
- package/dist/packages/common/dist/strings/tokenize.js +0 -47
- package/dist/packages/common/dist/strings/tokenize.jsx +0 -47
- package/dist/soltw.d.ts +0 -7
- package/dist/soltw.js +0 -10
- package/dist/soltw.jsx +0 -7
- package/dist/stylers/SVTStyler.d.ts +0 -32
- package/dist/stylers/SVTStyler.js +0 -65
- package/dist/stylers/SVTStyler.jsx +0 -65
- package/dist/stylers/Stylers.d.ts +0 -12
- package/dist/stylers/Stylers.js +0 -23
- package/dist/stylers/Stylers.jsx +0 -23
- package/dist/stylers/base.styler.d.ts +0 -6
- package/dist/stylers/base.styler.js +0 -71
- package/dist/stylers/base.styler.jsx +0 -71
- package/dist/stylers/index.js +0 -4
- package/dist/stylers/index.jsx +0 -4
- package/dist/stylers/normalizers.d.ts +0 -6
- package/dist/stylers/normalizers.js +0 -32
- package/dist/stylers/normalizers.jsx +0 -32
- package/dist/stylers/types.d.ts +0 -14
|
@@ -1,677 +0,0 @@
|
|
|
1
|
-
//#region ../../node_modules/solid-js/dist/solid.js
|
|
2
|
-
const sharedConfig = {
|
|
3
|
-
context: void 0,
|
|
4
|
-
registry: void 0,
|
|
5
|
-
effects: void 0,
|
|
6
|
-
done: false,
|
|
7
|
-
getContextId() {
|
|
8
|
-
return getContextId(this.context.count);
|
|
9
|
-
},
|
|
10
|
-
getNextContextId() {
|
|
11
|
-
return getContextId(this.context.count++);
|
|
12
|
-
}
|
|
13
|
-
};
|
|
14
|
-
function getContextId(count) {
|
|
15
|
-
const num = String(count), len = num.length - 1;
|
|
16
|
-
return sharedConfig.context.id + (len ? String.fromCharCode(96 + len) : "") + num;
|
|
17
|
-
}
|
|
18
|
-
function setHydrateContext(context) {
|
|
19
|
-
sharedConfig.context = context;
|
|
20
|
-
}
|
|
21
|
-
function nextHydrateContext() {
|
|
22
|
-
return {
|
|
23
|
-
...sharedConfig.context,
|
|
24
|
-
id: sharedConfig.getNextContextId(),
|
|
25
|
-
count: 0
|
|
26
|
-
};
|
|
27
|
-
}
|
|
28
|
-
const equalFn = (a, b) => a === b;
|
|
29
|
-
const $PROXY = Symbol("solid-proxy");
|
|
30
|
-
const SUPPORTS_PROXY = typeof Proxy === "function";
|
|
31
|
-
const $TRACK = Symbol("solid-track");
|
|
32
|
-
const signalOptions = { equals: equalFn };
|
|
33
|
-
let ERROR = null;
|
|
34
|
-
let runEffects = runQueue;
|
|
35
|
-
const STALE = 1;
|
|
36
|
-
const PENDING = 2;
|
|
37
|
-
const UNOWNED = {
|
|
38
|
-
owned: null,
|
|
39
|
-
cleanups: null,
|
|
40
|
-
context: null,
|
|
41
|
-
owner: null
|
|
42
|
-
};
|
|
43
|
-
var Owner = null;
|
|
44
|
-
let Transition = null;
|
|
45
|
-
let Scheduler = null;
|
|
46
|
-
let ExternalSourceConfig = null;
|
|
47
|
-
let Listener = null;
|
|
48
|
-
let Updates = null;
|
|
49
|
-
let Effects = null;
|
|
50
|
-
let ExecCount = 0;
|
|
51
|
-
function createRoot(fn, detachedOwner) {
|
|
52
|
-
const listener = Listener, owner = Owner, unowned = fn.length === 0, current = detachedOwner === void 0 ? owner : detachedOwner, root = unowned ? UNOWNED : {
|
|
53
|
-
owned: null,
|
|
54
|
-
cleanups: null,
|
|
55
|
-
context: current ? current.context : null,
|
|
56
|
-
owner: current
|
|
57
|
-
}, updateFn = unowned ? fn : () => fn(() => untrack(() => cleanNode(root)));
|
|
58
|
-
Owner = root;
|
|
59
|
-
Listener = null;
|
|
60
|
-
try {
|
|
61
|
-
return runUpdates(updateFn, true);
|
|
62
|
-
} finally {
|
|
63
|
-
Listener = listener;
|
|
64
|
-
Owner = owner;
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
function createSignal(value, options) {
|
|
68
|
-
options = options ? Object.assign({}, signalOptions, options) : signalOptions;
|
|
69
|
-
const s = {
|
|
70
|
-
value,
|
|
71
|
-
observers: null,
|
|
72
|
-
observerSlots: null,
|
|
73
|
-
comparator: options.equals || void 0
|
|
74
|
-
};
|
|
75
|
-
const setter = (value$1) => {
|
|
76
|
-
if (typeof value$1 === "function") if (Transition && Transition.running && Transition.sources.has(s)) value$1 = value$1(s.tValue);
|
|
77
|
-
else value$1 = value$1(s.value);
|
|
78
|
-
return writeSignal(s, value$1);
|
|
79
|
-
};
|
|
80
|
-
return [readSignal.bind(s), setter];
|
|
81
|
-
}
|
|
82
|
-
function createRenderEffect(fn, value, options) {
|
|
83
|
-
const c = createComputation(fn, value, false, STALE);
|
|
84
|
-
if (Scheduler && Transition && Transition.running) Updates.push(c);
|
|
85
|
-
else updateComputation(c);
|
|
86
|
-
}
|
|
87
|
-
function createMemo(fn, value, options) {
|
|
88
|
-
options = options ? Object.assign({}, signalOptions, options) : signalOptions;
|
|
89
|
-
const c = createComputation(fn, value, true, 0);
|
|
90
|
-
c.observers = null;
|
|
91
|
-
c.observerSlots = null;
|
|
92
|
-
c.comparator = options.equals || void 0;
|
|
93
|
-
if (Scheduler && Transition && Transition.running) {
|
|
94
|
-
c.tState = STALE;
|
|
95
|
-
Updates.push(c);
|
|
96
|
-
} else updateComputation(c);
|
|
97
|
-
return readSignal.bind(c);
|
|
98
|
-
}
|
|
99
|
-
function untrack(fn) {
|
|
100
|
-
if (!ExternalSourceConfig && Listener === null) return fn();
|
|
101
|
-
const listener = Listener;
|
|
102
|
-
Listener = null;
|
|
103
|
-
try {
|
|
104
|
-
if (ExternalSourceConfig) return ExternalSourceConfig.untrack(fn);
|
|
105
|
-
return fn();
|
|
106
|
-
} finally {
|
|
107
|
-
Listener = listener;
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
function onCleanup(fn) {
|
|
111
|
-
if (Owner === null);
|
|
112
|
-
else if (Owner.cleanups === null) Owner.cleanups = [fn];
|
|
113
|
-
else Owner.cleanups.push(fn);
|
|
114
|
-
return fn;
|
|
115
|
-
}
|
|
116
|
-
function startTransition(fn) {
|
|
117
|
-
if (Transition && Transition.running) {
|
|
118
|
-
fn();
|
|
119
|
-
return Transition.done;
|
|
120
|
-
}
|
|
121
|
-
const l = Listener;
|
|
122
|
-
const o = Owner;
|
|
123
|
-
return Promise.resolve().then(() => {
|
|
124
|
-
Listener = l;
|
|
125
|
-
Owner = o;
|
|
126
|
-
let t;
|
|
127
|
-
if (Scheduler || SuspenseContext) {
|
|
128
|
-
t = Transition || (Transition = {
|
|
129
|
-
sources: /* @__PURE__ */ new Set(),
|
|
130
|
-
effects: [],
|
|
131
|
-
promises: /* @__PURE__ */ new Set(),
|
|
132
|
-
disposed: /* @__PURE__ */ new Set(),
|
|
133
|
-
queue: /* @__PURE__ */ new Set(),
|
|
134
|
-
running: true
|
|
135
|
-
});
|
|
136
|
-
t.done || (t.done = new Promise((res) => t.resolve = res));
|
|
137
|
-
t.running = true;
|
|
138
|
-
}
|
|
139
|
-
runUpdates(fn, false);
|
|
140
|
-
Listener = Owner = null;
|
|
141
|
-
return t ? t.done : void 0;
|
|
142
|
-
});
|
|
143
|
-
}
|
|
144
|
-
const [transPending, setTransPending] = /* @__PURE__ */ createSignal(false);
|
|
145
|
-
let SuspenseContext;
|
|
146
|
-
function readSignal() {
|
|
147
|
-
const runningTransition = Transition && Transition.running;
|
|
148
|
-
if (this.sources && (runningTransition ? this.tState : this.state)) if ((runningTransition ? this.tState : this.state) === STALE) updateComputation(this);
|
|
149
|
-
else {
|
|
150
|
-
const updates = Updates;
|
|
151
|
-
Updates = null;
|
|
152
|
-
runUpdates(() => lookUpstream(this), false);
|
|
153
|
-
Updates = updates;
|
|
154
|
-
}
|
|
155
|
-
if (Listener) {
|
|
156
|
-
const sSlot = this.observers ? this.observers.length : 0;
|
|
157
|
-
if (!Listener.sources) {
|
|
158
|
-
Listener.sources = [this];
|
|
159
|
-
Listener.sourceSlots = [sSlot];
|
|
160
|
-
} else {
|
|
161
|
-
Listener.sources.push(this);
|
|
162
|
-
Listener.sourceSlots.push(sSlot);
|
|
163
|
-
}
|
|
164
|
-
if (!this.observers) {
|
|
165
|
-
this.observers = [Listener];
|
|
166
|
-
this.observerSlots = [Listener.sources.length - 1];
|
|
167
|
-
} else {
|
|
168
|
-
this.observers.push(Listener);
|
|
169
|
-
this.observerSlots.push(Listener.sources.length - 1);
|
|
170
|
-
}
|
|
171
|
-
}
|
|
172
|
-
if (runningTransition && Transition.sources.has(this)) return this.tValue;
|
|
173
|
-
return this.value;
|
|
174
|
-
}
|
|
175
|
-
function writeSignal(node, value, isComp) {
|
|
176
|
-
let current = Transition && Transition.running && Transition.sources.has(node) ? node.tValue : node.value;
|
|
177
|
-
if (!node.comparator || !node.comparator(current, value)) {
|
|
178
|
-
if (Transition) {
|
|
179
|
-
const TransitionRunning = Transition.running;
|
|
180
|
-
if (TransitionRunning || !isComp && Transition.sources.has(node)) {
|
|
181
|
-
Transition.sources.add(node);
|
|
182
|
-
node.tValue = value;
|
|
183
|
-
}
|
|
184
|
-
if (!TransitionRunning) node.value = value;
|
|
185
|
-
} else node.value = value;
|
|
186
|
-
if (node.observers && node.observers.length) runUpdates(() => {
|
|
187
|
-
for (let i = 0; i < node.observers.length; i += 1) {
|
|
188
|
-
const o = node.observers[i];
|
|
189
|
-
const TransitionRunning = Transition && Transition.running;
|
|
190
|
-
if (TransitionRunning && Transition.disposed.has(o)) continue;
|
|
191
|
-
if (TransitionRunning ? !o.tState : !o.state) {
|
|
192
|
-
if (o.pure) Updates.push(o);
|
|
193
|
-
else Effects.push(o);
|
|
194
|
-
if (o.observers) markDownstream(o);
|
|
195
|
-
}
|
|
196
|
-
if (!TransitionRunning) o.state = STALE;
|
|
197
|
-
else o.tState = STALE;
|
|
198
|
-
}
|
|
199
|
-
if (Updates.length > 1e6) {
|
|
200
|
-
Updates = [];
|
|
201
|
-
throw new Error();
|
|
202
|
-
}
|
|
203
|
-
}, false);
|
|
204
|
-
}
|
|
205
|
-
return value;
|
|
206
|
-
}
|
|
207
|
-
function updateComputation(node) {
|
|
208
|
-
if (!node.fn) return;
|
|
209
|
-
cleanNode(node);
|
|
210
|
-
const time = ExecCount;
|
|
211
|
-
runComputation(node, Transition && Transition.running && Transition.sources.has(node) ? node.tValue : node.value, time);
|
|
212
|
-
if (Transition && !Transition.running && Transition.sources.has(node)) queueMicrotask(() => {
|
|
213
|
-
runUpdates(() => {
|
|
214
|
-
Transition && (Transition.running = true);
|
|
215
|
-
Listener = Owner = node;
|
|
216
|
-
runComputation(node, node.tValue, time);
|
|
217
|
-
Listener = Owner = null;
|
|
218
|
-
}, false);
|
|
219
|
-
});
|
|
220
|
-
}
|
|
221
|
-
function runComputation(node, value, time) {
|
|
222
|
-
let nextValue;
|
|
223
|
-
const owner = Owner, listener = Listener;
|
|
224
|
-
Listener = Owner = node;
|
|
225
|
-
try {
|
|
226
|
-
nextValue = node.fn(value);
|
|
227
|
-
} catch (err) {
|
|
228
|
-
if (node.pure) if (Transition && Transition.running) {
|
|
229
|
-
node.tState = STALE;
|
|
230
|
-
node.tOwned && node.tOwned.forEach(cleanNode);
|
|
231
|
-
node.tOwned = void 0;
|
|
232
|
-
} else {
|
|
233
|
-
node.state = STALE;
|
|
234
|
-
node.owned && node.owned.forEach(cleanNode);
|
|
235
|
-
node.owned = null;
|
|
236
|
-
}
|
|
237
|
-
node.updatedAt = time + 1;
|
|
238
|
-
return handleError(err);
|
|
239
|
-
} finally {
|
|
240
|
-
Listener = listener;
|
|
241
|
-
Owner = owner;
|
|
242
|
-
}
|
|
243
|
-
if (!node.updatedAt || node.updatedAt <= time) {
|
|
244
|
-
if (node.updatedAt != null && "observers" in node) writeSignal(node, nextValue, true);
|
|
245
|
-
else if (Transition && Transition.running && node.pure) {
|
|
246
|
-
Transition.sources.add(node);
|
|
247
|
-
node.tValue = nextValue;
|
|
248
|
-
} else node.value = nextValue;
|
|
249
|
-
node.updatedAt = time;
|
|
250
|
-
}
|
|
251
|
-
}
|
|
252
|
-
function createComputation(fn, init, pure, state = STALE, options) {
|
|
253
|
-
const c = {
|
|
254
|
-
fn,
|
|
255
|
-
state,
|
|
256
|
-
updatedAt: null,
|
|
257
|
-
owned: null,
|
|
258
|
-
sources: null,
|
|
259
|
-
sourceSlots: null,
|
|
260
|
-
cleanups: null,
|
|
261
|
-
value: init,
|
|
262
|
-
owner: Owner,
|
|
263
|
-
context: Owner ? Owner.context : null,
|
|
264
|
-
pure
|
|
265
|
-
};
|
|
266
|
-
if (Transition && Transition.running) {
|
|
267
|
-
c.state = 0;
|
|
268
|
-
c.tState = state;
|
|
269
|
-
}
|
|
270
|
-
if (Owner === null);
|
|
271
|
-
else if (Owner !== UNOWNED) if (Transition && Transition.running && Owner.pure) if (!Owner.tOwned) Owner.tOwned = [c];
|
|
272
|
-
else Owner.tOwned.push(c);
|
|
273
|
-
else if (!Owner.owned) Owner.owned = [c];
|
|
274
|
-
else Owner.owned.push(c);
|
|
275
|
-
if (ExternalSourceConfig && c.fn) {
|
|
276
|
-
const [track, trigger] = createSignal(void 0, { equals: false });
|
|
277
|
-
const ordinary = ExternalSourceConfig.factory(c.fn, trigger);
|
|
278
|
-
onCleanup(() => ordinary.dispose());
|
|
279
|
-
const triggerInTransition = () => startTransition(trigger).then(() => inTransition.dispose());
|
|
280
|
-
const inTransition = ExternalSourceConfig.factory(c.fn, triggerInTransition);
|
|
281
|
-
c.fn = (x) => {
|
|
282
|
-
track();
|
|
283
|
-
return Transition && Transition.running ? inTransition.track(x) : ordinary.track(x);
|
|
284
|
-
};
|
|
285
|
-
}
|
|
286
|
-
return c;
|
|
287
|
-
}
|
|
288
|
-
function runTop(node) {
|
|
289
|
-
const runningTransition = Transition && Transition.running;
|
|
290
|
-
if ((runningTransition ? node.tState : node.state) === 0) return;
|
|
291
|
-
if ((runningTransition ? node.tState : node.state) === PENDING) return lookUpstream(node);
|
|
292
|
-
if (node.suspense && untrack(node.suspense.inFallback)) return node.suspense.effects.push(node);
|
|
293
|
-
const ancestors = [node];
|
|
294
|
-
while ((node = node.owner) && (!node.updatedAt || node.updatedAt < ExecCount)) {
|
|
295
|
-
if (runningTransition && Transition.disposed.has(node)) return;
|
|
296
|
-
if (runningTransition ? node.tState : node.state) ancestors.push(node);
|
|
297
|
-
}
|
|
298
|
-
for (let i = ancestors.length - 1; i >= 0; i--) {
|
|
299
|
-
node = ancestors[i];
|
|
300
|
-
if (runningTransition) {
|
|
301
|
-
let top = node, prev = ancestors[i + 1];
|
|
302
|
-
while ((top = top.owner) && top !== prev) if (Transition.disposed.has(top)) return;
|
|
303
|
-
}
|
|
304
|
-
if ((runningTransition ? node.tState : node.state) === STALE) updateComputation(node);
|
|
305
|
-
else if ((runningTransition ? node.tState : node.state) === PENDING) {
|
|
306
|
-
const updates = Updates;
|
|
307
|
-
Updates = null;
|
|
308
|
-
runUpdates(() => lookUpstream(node, ancestors[0]), false);
|
|
309
|
-
Updates = updates;
|
|
310
|
-
}
|
|
311
|
-
}
|
|
312
|
-
}
|
|
313
|
-
function runUpdates(fn, init) {
|
|
314
|
-
if (Updates) return fn();
|
|
315
|
-
let wait = false;
|
|
316
|
-
if (!init) Updates = [];
|
|
317
|
-
if (Effects) wait = true;
|
|
318
|
-
else Effects = [];
|
|
319
|
-
ExecCount++;
|
|
320
|
-
try {
|
|
321
|
-
const res = fn();
|
|
322
|
-
completeUpdates(wait);
|
|
323
|
-
return res;
|
|
324
|
-
} catch (err) {
|
|
325
|
-
if (!wait) Effects = null;
|
|
326
|
-
Updates = null;
|
|
327
|
-
handleError(err);
|
|
328
|
-
}
|
|
329
|
-
}
|
|
330
|
-
function completeUpdates(wait) {
|
|
331
|
-
if (Updates) {
|
|
332
|
-
if (Scheduler && Transition && Transition.running) scheduleQueue(Updates);
|
|
333
|
-
else runQueue(Updates);
|
|
334
|
-
Updates = null;
|
|
335
|
-
}
|
|
336
|
-
if (wait) return;
|
|
337
|
-
let res;
|
|
338
|
-
if (Transition) {
|
|
339
|
-
if (!Transition.promises.size && !Transition.queue.size) {
|
|
340
|
-
const sources = Transition.sources;
|
|
341
|
-
const disposed = Transition.disposed;
|
|
342
|
-
Effects.push.apply(Effects, Transition.effects);
|
|
343
|
-
res = Transition.resolve;
|
|
344
|
-
for (const e$1 of Effects) {
|
|
345
|
-
"tState" in e$1 && (e$1.state = e$1.tState);
|
|
346
|
-
delete e$1.tState;
|
|
347
|
-
}
|
|
348
|
-
Transition = null;
|
|
349
|
-
runUpdates(() => {
|
|
350
|
-
for (const d of disposed) cleanNode(d);
|
|
351
|
-
for (const v of sources) {
|
|
352
|
-
v.value = v.tValue;
|
|
353
|
-
if (v.owned) for (let i = 0, len = v.owned.length; i < len; i++) cleanNode(v.owned[i]);
|
|
354
|
-
if (v.tOwned) v.owned = v.tOwned;
|
|
355
|
-
delete v.tValue;
|
|
356
|
-
delete v.tOwned;
|
|
357
|
-
v.tState = 0;
|
|
358
|
-
}
|
|
359
|
-
setTransPending(false);
|
|
360
|
-
}, false);
|
|
361
|
-
} else if (Transition.running) {
|
|
362
|
-
Transition.running = false;
|
|
363
|
-
Transition.effects.push.apply(Transition.effects, Effects);
|
|
364
|
-
Effects = null;
|
|
365
|
-
setTransPending(true);
|
|
366
|
-
return;
|
|
367
|
-
}
|
|
368
|
-
}
|
|
369
|
-
const e = Effects;
|
|
370
|
-
Effects = null;
|
|
371
|
-
if (e.length) runUpdates(() => runEffects(e), false);
|
|
372
|
-
if (res) res();
|
|
373
|
-
}
|
|
374
|
-
function runQueue(queue) {
|
|
375
|
-
for (let i = 0; i < queue.length; i++) runTop(queue[i]);
|
|
376
|
-
}
|
|
377
|
-
function scheduleQueue(queue) {
|
|
378
|
-
for (let i = 0; i < queue.length; i++) {
|
|
379
|
-
const item = queue[i];
|
|
380
|
-
const tasks = Transition.queue;
|
|
381
|
-
if (!tasks.has(item)) {
|
|
382
|
-
tasks.add(item);
|
|
383
|
-
Scheduler(() => {
|
|
384
|
-
tasks.delete(item);
|
|
385
|
-
runUpdates(() => {
|
|
386
|
-
Transition.running = true;
|
|
387
|
-
runTop(item);
|
|
388
|
-
}, false);
|
|
389
|
-
Transition && (Transition.running = false);
|
|
390
|
-
});
|
|
391
|
-
}
|
|
392
|
-
}
|
|
393
|
-
}
|
|
394
|
-
function lookUpstream(node, ignore) {
|
|
395
|
-
const runningTransition = Transition && Transition.running;
|
|
396
|
-
if (runningTransition) node.tState = 0;
|
|
397
|
-
else node.state = 0;
|
|
398
|
-
for (let i = 0; i < node.sources.length; i += 1) {
|
|
399
|
-
const source = node.sources[i];
|
|
400
|
-
if (source.sources) {
|
|
401
|
-
const state = runningTransition ? source.tState : source.state;
|
|
402
|
-
if (state === STALE) {
|
|
403
|
-
if (source !== ignore && (!source.updatedAt || source.updatedAt < ExecCount)) runTop(source);
|
|
404
|
-
} else if (state === PENDING) lookUpstream(source, ignore);
|
|
405
|
-
}
|
|
406
|
-
}
|
|
407
|
-
}
|
|
408
|
-
function markDownstream(node) {
|
|
409
|
-
const runningTransition = Transition && Transition.running;
|
|
410
|
-
for (let i = 0; i < node.observers.length; i += 1) {
|
|
411
|
-
const o = node.observers[i];
|
|
412
|
-
if (runningTransition ? !o.tState : !o.state) {
|
|
413
|
-
if (runningTransition) o.tState = PENDING;
|
|
414
|
-
else o.state = PENDING;
|
|
415
|
-
if (o.pure) Updates.push(o);
|
|
416
|
-
else Effects.push(o);
|
|
417
|
-
o.observers && markDownstream(o);
|
|
418
|
-
}
|
|
419
|
-
}
|
|
420
|
-
}
|
|
421
|
-
function cleanNode(node) {
|
|
422
|
-
let i;
|
|
423
|
-
if (node.sources) while (node.sources.length) {
|
|
424
|
-
const source = node.sources.pop(), index = node.sourceSlots.pop(), obs = source.observers;
|
|
425
|
-
if (obs && obs.length) {
|
|
426
|
-
const n = obs.pop(), s = source.observerSlots.pop();
|
|
427
|
-
if (index < obs.length) {
|
|
428
|
-
n.sourceSlots[s] = index;
|
|
429
|
-
obs[index] = n;
|
|
430
|
-
source.observerSlots[index] = s;
|
|
431
|
-
}
|
|
432
|
-
}
|
|
433
|
-
}
|
|
434
|
-
if (node.tOwned) {
|
|
435
|
-
for (i = node.tOwned.length - 1; i >= 0; i--) cleanNode(node.tOwned[i]);
|
|
436
|
-
delete node.tOwned;
|
|
437
|
-
}
|
|
438
|
-
if (Transition && Transition.running && node.pure) reset(node, true);
|
|
439
|
-
else if (node.owned) {
|
|
440
|
-
for (i = node.owned.length - 1; i >= 0; i--) cleanNode(node.owned[i]);
|
|
441
|
-
node.owned = null;
|
|
442
|
-
}
|
|
443
|
-
if (node.cleanups) {
|
|
444
|
-
for (i = node.cleanups.length - 1; i >= 0; i--) node.cleanups[i]();
|
|
445
|
-
node.cleanups = null;
|
|
446
|
-
}
|
|
447
|
-
if (Transition && Transition.running) node.tState = 0;
|
|
448
|
-
else node.state = 0;
|
|
449
|
-
}
|
|
450
|
-
function reset(node, top) {
|
|
451
|
-
if (!top) {
|
|
452
|
-
node.tState = 0;
|
|
453
|
-
Transition.disposed.add(node);
|
|
454
|
-
}
|
|
455
|
-
if (node.owned) for (let i = 0; i < node.owned.length; i++) reset(node.owned[i]);
|
|
456
|
-
}
|
|
457
|
-
function castError(err) {
|
|
458
|
-
if (err instanceof Error) return err;
|
|
459
|
-
return new Error(typeof err === "string" ? err : "Unknown error", { cause: err });
|
|
460
|
-
}
|
|
461
|
-
function runErrors(err, fns, owner) {
|
|
462
|
-
try {
|
|
463
|
-
for (const f of fns) f(err);
|
|
464
|
-
} catch (e) {
|
|
465
|
-
handleError(e, owner && owner.owner || null);
|
|
466
|
-
}
|
|
467
|
-
}
|
|
468
|
-
function handleError(err, owner = Owner) {
|
|
469
|
-
const fns = ERROR && owner && owner.context && owner.context[ERROR];
|
|
470
|
-
const error = castError(err);
|
|
471
|
-
if (!fns) throw error;
|
|
472
|
-
if (Effects) Effects.push({
|
|
473
|
-
fn() {
|
|
474
|
-
runErrors(error, fns, owner);
|
|
475
|
-
},
|
|
476
|
-
state: STALE
|
|
477
|
-
});
|
|
478
|
-
else runErrors(error, fns, owner);
|
|
479
|
-
}
|
|
480
|
-
const FALLBACK = Symbol("fallback");
|
|
481
|
-
function dispose(d) {
|
|
482
|
-
for (let i = 0; i < d.length; i++) d[i]();
|
|
483
|
-
}
|
|
484
|
-
function mapArray(list, mapFn, options = {}) {
|
|
485
|
-
let items = [], mapped = [], disposers = [], len = 0, indexes = mapFn.length > 1 ? [] : null;
|
|
486
|
-
onCleanup(() => dispose(disposers));
|
|
487
|
-
return () => {
|
|
488
|
-
let newItems = list() || [], newLen = newItems.length, i, j;
|
|
489
|
-
newItems[$TRACK];
|
|
490
|
-
return untrack(() => {
|
|
491
|
-
let newIndices, newIndicesNext, temp, tempdisposers, tempIndexes, start, end, newEnd, item;
|
|
492
|
-
if (newLen === 0) {
|
|
493
|
-
if (len !== 0) {
|
|
494
|
-
dispose(disposers);
|
|
495
|
-
disposers = [];
|
|
496
|
-
items = [];
|
|
497
|
-
mapped = [];
|
|
498
|
-
len = 0;
|
|
499
|
-
indexes && (indexes = []);
|
|
500
|
-
}
|
|
501
|
-
if (options.fallback) {
|
|
502
|
-
items = [FALLBACK];
|
|
503
|
-
mapped[0] = createRoot((disposer) => {
|
|
504
|
-
disposers[0] = disposer;
|
|
505
|
-
return options.fallback();
|
|
506
|
-
});
|
|
507
|
-
len = 1;
|
|
508
|
-
}
|
|
509
|
-
} else if (len === 0) {
|
|
510
|
-
mapped = new Array(newLen);
|
|
511
|
-
for (j = 0; j < newLen; j++) {
|
|
512
|
-
items[j] = newItems[j];
|
|
513
|
-
mapped[j] = createRoot(mapper);
|
|
514
|
-
}
|
|
515
|
-
len = newLen;
|
|
516
|
-
} else {
|
|
517
|
-
temp = new Array(newLen);
|
|
518
|
-
tempdisposers = new Array(newLen);
|
|
519
|
-
indexes && (tempIndexes = new Array(newLen));
|
|
520
|
-
for (start = 0, end = Math.min(len, newLen); start < end && items[start] === newItems[start]; start++);
|
|
521
|
-
for (end = len - 1, newEnd = newLen - 1; end >= start && newEnd >= start && items[end] === newItems[newEnd]; end--, newEnd--) {
|
|
522
|
-
temp[newEnd] = mapped[end];
|
|
523
|
-
tempdisposers[newEnd] = disposers[end];
|
|
524
|
-
indexes && (tempIndexes[newEnd] = indexes[end]);
|
|
525
|
-
}
|
|
526
|
-
newIndices = /* @__PURE__ */ new Map();
|
|
527
|
-
newIndicesNext = new Array(newEnd + 1);
|
|
528
|
-
for (j = newEnd; j >= start; j--) {
|
|
529
|
-
item = newItems[j];
|
|
530
|
-
i = newIndices.get(item);
|
|
531
|
-
newIndicesNext[j] = i === void 0 ? -1 : i;
|
|
532
|
-
newIndices.set(item, j);
|
|
533
|
-
}
|
|
534
|
-
for (i = start; i <= end; i++) {
|
|
535
|
-
item = items[i];
|
|
536
|
-
j = newIndices.get(item);
|
|
537
|
-
if (j !== void 0 && j !== -1) {
|
|
538
|
-
temp[j] = mapped[i];
|
|
539
|
-
tempdisposers[j] = disposers[i];
|
|
540
|
-
indexes && (tempIndexes[j] = indexes[i]);
|
|
541
|
-
j = newIndicesNext[j];
|
|
542
|
-
newIndices.set(item, j);
|
|
543
|
-
} else disposers[i]();
|
|
544
|
-
}
|
|
545
|
-
for (j = start; j < newLen; j++) if (j in temp) {
|
|
546
|
-
mapped[j] = temp[j];
|
|
547
|
-
disposers[j] = tempdisposers[j];
|
|
548
|
-
if (indexes) {
|
|
549
|
-
indexes[j] = tempIndexes[j];
|
|
550
|
-
indexes[j](j);
|
|
551
|
-
}
|
|
552
|
-
} else mapped[j] = createRoot(mapper);
|
|
553
|
-
mapped = mapped.slice(0, len = newLen);
|
|
554
|
-
items = newItems.slice(0);
|
|
555
|
-
}
|
|
556
|
-
return mapped;
|
|
557
|
-
});
|
|
558
|
-
function mapper(disposer) {
|
|
559
|
-
disposers[j] = disposer;
|
|
560
|
-
if (indexes) {
|
|
561
|
-
const [s, set] = createSignal(j);
|
|
562
|
-
indexes[j] = set;
|
|
563
|
-
return mapFn(newItems[j], s);
|
|
564
|
-
}
|
|
565
|
-
return mapFn(newItems[j]);
|
|
566
|
-
}
|
|
567
|
-
};
|
|
568
|
-
}
|
|
569
|
-
let hydrationEnabled = false;
|
|
570
|
-
function createComponent(Comp, props) {
|
|
571
|
-
if (hydrationEnabled) {
|
|
572
|
-
if (sharedConfig.context) {
|
|
573
|
-
const c = sharedConfig.context;
|
|
574
|
-
setHydrateContext(nextHydrateContext());
|
|
575
|
-
const r = untrack(() => Comp(props || {}));
|
|
576
|
-
setHydrateContext(c);
|
|
577
|
-
return r;
|
|
578
|
-
}
|
|
579
|
-
}
|
|
580
|
-
return untrack(() => Comp(props || {}));
|
|
581
|
-
}
|
|
582
|
-
function trueFn() {
|
|
583
|
-
return true;
|
|
584
|
-
}
|
|
585
|
-
const propTraps = {
|
|
586
|
-
get(_, property, receiver) {
|
|
587
|
-
if (property === $PROXY) return receiver;
|
|
588
|
-
return _.get(property);
|
|
589
|
-
},
|
|
590
|
-
has(_, property) {
|
|
591
|
-
if (property === $PROXY) return true;
|
|
592
|
-
return _.has(property);
|
|
593
|
-
},
|
|
594
|
-
set: trueFn,
|
|
595
|
-
deleteProperty: trueFn,
|
|
596
|
-
getOwnPropertyDescriptor(_, property) {
|
|
597
|
-
return {
|
|
598
|
-
configurable: true,
|
|
599
|
-
enumerable: true,
|
|
600
|
-
get() {
|
|
601
|
-
return _.get(property);
|
|
602
|
-
},
|
|
603
|
-
set: trueFn,
|
|
604
|
-
deleteProperty: trueFn
|
|
605
|
-
};
|
|
606
|
-
},
|
|
607
|
-
ownKeys(_) {
|
|
608
|
-
return _.keys();
|
|
609
|
-
}
|
|
610
|
-
};
|
|
611
|
-
function splitProps(props, ...keys) {
|
|
612
|
-
const len = keys.length;
|
|
613
|
-
if (SUPPORTS_PROXY && $PROXY in props) {
|
|
614
|
-
const blocked = len > 1 ? keys.flat() : keys[0];
|
|
615
|
-
const res = keys.map((k) => {
|
|
616
|
-
return new Proxy({
|
|
617
|
-
get(property) {
|
|
618
|
-
return k.includes(property) ? props[property] : void 0;
|
|
619
|
-
},
|
|
620
|
-
has(property) {
|
|
621
|
-
return k.includes(property) && property in props;
|
|
622
|
-
},
|
|
623
|
-
keys() {
|
|
624
|
-
return k.filter((property) => property in props);
|
|
625
|
-
}
|
|
626
|
-
}, propTraps);
|
|
627
|
-
});
|
|
628
|
-
res.push(new Proxy({
|
|
629
|
-
get(property) {
|
|
630
|
-
return blocked.includes(property) ? void 0 : props[property];
|
|
631
|
-
},
|
|
632
|
-
has(property) {
|
|
633
|
-
return blocked.includes(property) ? false : property in props;
|
|
634
|
-
},
|
|
635
|
-
keys() {
|
|
636
|
-
return Object.keys(props).filter((k) => !blocked.includes(k));
|
|
637
|
-
}
|
|
638
|
-
}, propTraps));
|
|
639
|
-
return res;
|
|
640
|
-
}
|
|
641
|
-
const objects = [];
|
|
642
|
-
for (let i = 0; i <= len; i++) objects[i] = {};
|
|
643
|
-
for (const propName of Object.getOwnPropertyNames(props)) {
|
|
644
|
-
let keyIndex = len;
|
|
645
|
-
for (let i = 0; i < keys.length; i++) if (keys[i].includes(propName)) {
|
|
646
|
-
keyIndex = i;
|
|
647
|
-
break;
|
|
648
|
-
}
|
|
649
|
-
const desc = Object.getOwnPropertyDescriptor(props, propName);
|
|
650
|
-
!desc.get && !desc.set && desc.enumerable && desc.writable && desc.configurable ? objects[keyIndex][propName] = desc.value : Object.defineProperty(objects[keyIndex], propName, desc);
|
|
651
|
-
}
|
|
652
|
-
return objects;
|
|
653
|
-
}
|
|
654
|
-
const narrowedError = (name) => `Stale read from <${name}>.`;
|
|
655
|
-
function For(props) {
|
|
656
|
-
const fallback = "fallback" in props && { fallback: () => props.fallback };
|
|
657
|
-
return createMemo(mapArray(() => props.each, props.children, fallback || void 0));
|
|
658
|
-
}
|
|
659
|
-
function Show(props) {
|
|
660
|
-
const keyed = props.keyed;
|
|
661
|
-
const conditionValue = createMemo(() => props.when, void 0, void 0);
|
|
662
|
-
const condition = keyed ? conditionValue : createMemo(conditionValue, void 0, { equals: (a, b) => !a === !b });
|
|
663
|
-
return createMemo(() => {
|
|
664
|
-
const c = condition();
|
|
665
|
-
if (c) {
|
|
666
|
-
const child = props.children;
|
|
667
|
-
return typeof child === "function" && child.length > 0 ? untrack(() => child(keyed ? c : () => {
|
|
668
|
-
if (!untrack(condition)) throw narrowedError("Show");
|
|
669
|
-
return conditionValue();
|
|
670
|
-
})) : child;
|
|
671
|
-
}
|
|
672
|
-
return props.fallback;
|
|
673
|
-
}, void 0, void 0);
|
|
674
|
-
}
|
|
675
|
-
|
|
676
|
-
//#endregion
|
|
677
|
-
export { For, Show, createComponent, createMemo, createRenderEffect, sharedConfig, splitProps, untrack };
|