@liteforge/runtime 0.2.3 → 0.3.0

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.
@@ -18,27 +18,39 @@ export declare function Show<T>(config: ShowConfig<T>): Node;
18
18
  /**
19
19
  * Config for For component (internal use).
20
20
  * Use ForProps<T> from types.ts for external typing.
21
+ *
22
+ * Note: children receives getters for item and index, enabling signal-backed
23
+ * updates when items reorder without re-running the render function.
21
24
  */
22
25
  export interface ForConfig<T> {
23
26
  each: (() => ReadonlyArray<T>) | (() => T[]) | ReadonlyArray<T> | T[];
24
27
  key?: keyof T | ((item: T, index: number) => string | number);
25
- children: (item: T, index: number) => Node;
28
+ /**
29
+ * Render function for each item.
30
+ * @param item - Getter for the current item value (updates when item data changes)
31
+ * @param index - Getter for the current index (updates when item moves)
32
+ */
33
+ children: (item: () => T, index: () => number) => Node;
26
34
  fallback?: () => Node;
27
35
  }
28
36
  /**
29
37
  * Render a list of items with keyed reconciliation.
30
38
  *
39
+ * When items reorder, DOM nodes are moved (not destroyed/recreated).
40
+ * When item data changes, the item signal is updated and reactive bindings auto-update.
41
+ *
31
42
  * @typeParam T - The item type, inferred from the `each` array
32
43
  *
33
44
  * @example
34
45
  * ```ts
35
46
  * For({
36
47
  * each: () => users(),
37
- * key: 'id',
48
+ * key: (user) => user.id,
38
49
  * children: (user, index) => {
39
- * return document.createTextNode(`${index}: ${user.name}`);
50
+ * // user() and index() are getters - read them inside reactive contexts
51
+ * return <div>{() => `${index()}: ${user().name}`}</div>;
40
52
  * },
41
- * fallback: () => document.createTextNode('No users'),
53
+ * fallback: () => <div>No users</div>,
42
54
  * })
43
55
  * ```
44
56
  */
@@ -1 +1 @@
1
- {"version":3,"file":"control-flow.d.ts","sourceRoot":"","sources":["../src/control-flow.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAqB,gBAAgB,EAA4B,cAAc,EAAE,MAAM,YAAY,CAAC;AAsChH;;;GAGG;AACH,MAAM,WAAW,UAAU,CAAC,CAAC,GAAG,OAAO;IACrC,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,QAAQ,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;CAC3C;AA6BD,wBAAgB,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI,CA0EnD;AAMD;;;GAGG;AACH,MAAM,WAAW,SAAS,CAAC,CAAC;IAC1B,IAAI,EAAE,CAAC,MAAM,aAAa,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;IACtE,GAAG,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,MAAM,CAAC,CAAC;IAC9D,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB;AASD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAyJjD;AAMD;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,CAAC,MAAM,OAAO,CAAC,GAAG,OAAO,CAAC;IAChC,MAAM,EAAE,MAAM,IAAI,CAAC;CACpB;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,CAAC,MAAM,OAAO,CAAC,GAAG,OAAO,CAAC;IAChC,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,MAAM,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CA6EjD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,KAAK,CAAC,MAAM,EAAE,WAAW,GAAG,SAAS,CAEpD;AAMD;;;;;;GAMG;AACH,MAAM,WAAW,aAAa,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC9D,SAAS,EAAE,MAAM,cAAc,GAAG,gBAAgB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAC7D,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;CACvB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,OAAO,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,IAAI,CA2FzF"}
1
+ {"version":3,"file":"control-flow.d.ts","sourceRoot":"","sources":["../src/control-flow.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAqB,gBAAgB,EAA4B,cAAc,EAAE,MAAM,YAAY,CAAC;AAsChH;;;GAGG;AACH,MAAM,WAAW,UAAU,CAAC,CAAC,GAAG,OAAO;IACrC,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,QAAQ,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;CAC3C;AA6BD,wBAAgB,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI,CA0EnD;AASD;;;;;;GAMG;AACH,MAAM,WAAW,SAAS,CAAC,CAAC;IAC1B,IAAI,EAAE,CAAC,MAAM,aAAa,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;IACtE,GAAG,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,MAAM,CAAC,CAAC;IAC9D;;;;OAIG;IACH,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,MAAM,KAAK,IAAI,CAAC;IACvD,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB;AAqBD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAuOjD;AAMD;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,CAAC,MAAM,OAAO,CAAC,GAAG,OAAO,CAAC;IAChC,MAAM,EAAE,MAAM,IAAI,CAAC;CACpB;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,CAAC,MAAM,OAAO,CAAC,GAAG,OAAO,CAAC;IAChC,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,MAAM,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CA6EjD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,KAAK,CAAC,MAAM,EAAE,WAAW,GAAG,SAAS,CAEpD;AAMD;;;;;;GAMG;AACH,MAAM,WAAW,aAAa,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC9D,SAAS,EAAE,MAAM,cAAc,GAAG,gBAAgB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAC7D,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;CACvB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,OAAO,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,IAAI,CA2FzF"}
@@ -112,28 +112,40 @@ export function Show(config) {
112
112
  });
113
113
  return marker;
114
114
  }
115
+ // ============================================================================
116
+ // For Component
117
+ // ============================================================================
118
+ import { signal } from '@liteforge/core';
119
+ // Dev mode warning for duplicate keys
120
+ const isDev = typeof globalThis !== 'undefined' && globalThis.__DEV__ !== false;
115
121
  /**
116
122
  * Render a list of items with keyed reconciliation.
117
123
  *
124
+ * When items reorder, DOM nodes are moved (not destroyed/recreated).
125
+ * When item data changes, the item signal is updated and reactive bindings auto-update.
126
+ *
118
127
  * @typeParam T - The item type, inferred from the `each` array
119
128
  *
120
129
  * @example
121
130
  * ```ts
122
131
  * For({
123
132
  * each: () => users(),
124
- * key: 'id',
133
+ * key: (user) => user.id,
125
134
  * children: (user, index) => {
126
- * return document.createTextNode(`${index}: ${user.name}`);
135
+ * // user() and index() are getters - read them inside reactive contexts
136
+ * return <div>{() => `${index()}: ${user().name}`}</div>;
127
137
  * },
128
- * fallback: () => document.createTextNode('No users'),
138
+ * fallback: () => <div>No users</div>,
129
139
  * })
130
140
  * ```
131
141
  */
132
142
  export function For(config) {
133
- const { each, key, children, fallback } = config;
134
- // Create a marker comment for positioning
135
- const marker = document.createComment('For');
136
- let items = [];
143
+ const { each, key: keyProp, children, fallback } = config;
144
+ // Create markers for positioning
145
+ const startMarker = document.createComment('For:start');
146
+ const endMarker = document.createComment('For:end');
147
+ // Current mappings: key -> MappedItem
148
+ let mappings = new Map();
137
149
  let fallbackNode = null;
138
150
  let isInitialized = false;
139
151
  // Resolve the list to a function
@@ -145,19 +157,20 @@ export function For(config) {
145
157
  };
146
158
  // Get key for an item
147
159
  const getKey = (item, index) => {
148
- if (key === undefined) {
149
- // For primitives without explicit key, use the value itself to enable proper reconciliation
150
- // This allows detecting when items at the same index have different values
151
- if (typeof item === 'string' || typeof item === 'number') {
152
- return `${index}:${item}`;
160
+ if (keyProp === undefined) {
161
+ // Without explicit key, use referential identity for objects
162
+ // or value+index for primitives
163
+ if (typeof item === 'object' && item !== null) {
164
+ return item; // Use object reference as key
153
165
  }
154
- // For objects without key, fall back to index (no reconciliation benefit)
155
- return index;
166
+ // For primitives, combine with index to handle duplicates
167
+ return `__idx_${index}_${String(item)}`;
156
168
  }
157
- if (typeof key === 'function') {
158
- return key(item, index);
169
+ if (typeof keyProp === 'function') {
170
+ return keyProp(item, index);
159
171
  }
160
- return String(item[key]);
172
+ // keyProp is keyof T
173
+ return item[keyProp];
161
174
  };
162
175
  // Remove fallback node if present
163
176
  function removeFallback() {
@@ -166,86 +179,143 @@ export function For(config) {
166
179
  fallbackNode = null;
167
180
  }
168
181
  }
182
+ // Create a new MappedItem for an item
183
+ function createMappedItem(item, index, itemKey) {
184
+ // Create signals for this item
185
+ const itemSignal = signal(item);
186
+ const indexSignal = signal(index);
187
+ // Track cleanup functions
188
+ const cleanupFns = [];
189
+ // Create a disposal context
190
+ const dispose = () => {
191
+ for (const fn of cleanupFns) {
192
+ try {
193
+ fn();
194
+ }
195
+ catch (e) {
196
+ console.error('Error during For item cleanup:', e);
197
+ }
198
+ }
199
+ cleanupFns.length = 0;
200
+ };
201
+ // Render the children with getters
202
+ // The children function is called ONCE per unique key
203
+ const node = children(() => itemSignal(), () => indexSignal());
204
+ return {
205
+ key: itemKey,
206
+ node,
207
+ itemSignal,
208
+ indexSignal,
209
+ dispose,
210
+ };
211
+ }
169
212
  // Reconcile the list
170
- function updateList() {
171
- const parentElement = marker.parentNode;
213
+ function reconcile() {
214
+ const parentElement = startMarker.parentNode;
172
215
  if (!parentElement)
173
216
  return;
174
217
  const list = getList();
175
218
  // Handle empty list with fallback
176
219
  if (list.length === 0) {
177
220
  // Remove all existing items
178
- for (const oldItem of items) {
179
- if (oldItem.node.parentNode) {
180
- oldItem.node.parentNode.removeChild(oldItem.node);
221
+ for (const mapping of mappings.values()) {
222
+ if (mapping.node.parentNode) {
223
+ mapping.node.parentNode.removeChild(mapping.node);
181
224
  }
225
+ mapping.dispose();
182
226
  }
183
- items = [];
227
+ mappings.clear();
184
228
  // Show fallback if provided
185
229
  if (fallback && !fallbackNode) {
186
230
  fallbackNode = fallback();
187
- parentElement.insertBefore(fallbackNode, marker.nextSibling);
231
+ parentElement.insertBefore(fallbackNode, endMarker);
188
232
  }
189
233
  return;
190
234
  }
191
235
  // Remove fallback if list has items
192
236
  removeFallback();
193
- // Build a map of existing items by key
194
- const existingByKey = new Map();
195
- for (const item of items) {
196
- existingByKey.set(item.key, item);
197
- }
198
- // Build new items list
199
- const newItems = [];
200
- const newKeys = new Set();
237
+ // Build new key list and detect duplicates
238
+ const newKeys = [];
239
+ const seenKeys = new Set();
240
+ const duplicateKeys = new Set();
201
241
  for (let i = 0; i < list.length; i++) {
202
242
  const item = list[i];
203
243
  const itemKey = getKey(item, i);
204
- newKeys.add(itemKey);
205
- const existing = existingByKey.get(itemKey);
206
- if (existing) {
207
- // Reuse existing item, update index
208
- existing.item = item;
209
- existing.index = i;
210
- newItems.push(existing);
244
+ if (seenKeys.has(itemKey)) {
245
+ duplicateKeys.add(itemKey);
246
+ if (isDev) {
247
+ console.warn(`For(): Duplicate key detected: ${String(itemKey)}. ` +
248
+ `Each item should have a unique key for proper reconciliation.`);
249
+ }
250
+ }
251
+ seenKeys.add(itemKey);
252
+ newKeys.push(itemKey);
253
+ }
254
+ // Track which old mappings are still needed
255
+ const claimedKeys = new Set();
256
+ const newMappings = new Map();
257
+ // Process each new item
258
+ for (let i = 0; i < list.length; i++) {
259
+ const item = list[i];
260
+ const itemKey = newKeys[i];
261
+ // Handle duplicate keys: only reuse the first occurrence
262
+ const canReuse = !claimedKeys.has(itemKey) && mappings.has(itemKey);
263
+ if (canReuse) {
264
+ // REUSE: existing mapping
265
+ const existing = mappings.get(itemKey);
266
+ claimedKeys.add(itemKey);
267
+ // Update signals with new values (this triggers reactive updates)
268
+ existing.itemSignal.set(item);
269
+ existing.indexSignal.set(i);
270
+ newMappings.set(itemKey, existing);
211
271
  }
212
272
  else {
213
- // Create new item - pass plain index number
214
- const node = children(item, i);
215
- newItems.push({ item, key: itemKey, node, index: i });
273
+ // CREATE: new mapping
274
+ const mapping = createMappedItem(item, i, itemKey);
275
+ newMappings.set(itemKey, mapping);
216
276
  }
217
277
  }
218
- // Remove items that are no longer in the list
219
- for (const oldItem of items) {
220
- if (!newKeys.has(oldItem.key)) {
221
- if (oldItem.node.parentNode) {
222
- oldItem.node.parentNode.removeChild(oldItem.node);
278
+ // REMOVE: dispose items no longer in the list
279
+ for (const [oldKey, oldMapping] of mappings) {
280
+ if (!claimedKeys.has(oldKey)) {
281
+ if (oldMapping.node.parentNode) {
282
+ oldMapping.node.parentNode.removeChild(oldMapping.node);
223
283
  }
284
+ oldMapping.dispose();
224
285
  }
225
286
  }
226
- // Insert/reorder items in the DOM
227
- // We need to maintain the correct order after the marker
228
- let prevNode = marker;
229
- for (const newItem of newItems) {
230
- const { node } = newItem;
231
- const expectedPosition = prevNode.nextSibling;
232
- if (node !== expectedPosition) {
233
- // Node is either not in DOM or in wrong position
287
+ // REORDER: position nodes correctly
288
+ // Insert nodes in order, before the end marker
289
+ let insertBefore = endMarker;
290
+ // Process in reverse order so we can always insertBefore the previous node
291
+ for (let i = newKeys.length - 1; i >= 0; i--) {
292
+ const itemKey = newKeys[i];
293
+ const mapping = newMappings.get(itemKey);
294
+ const node = mapping.node;
295
+ // Check if node needs to be moved
296
+ if (node.nextSibling !== insertBefore || node.parentNode !== parentElement) {
297
+ // Remove from current position if in DOM
234
298
  if (node.parentNode) {
235
299
  node.parentNode.removeChild(node);
236
300
  }
237
- parentElement.insertBefore(node, prevNode.nextSibling);
301
+ // Insert before the reference node
302
+ parentElement.insertBefore(node, insertBefore);
238
303
  }
239
- prevNode = node;
304
+ insertBefore = node;
240
305
  }
241
- items = newItems;
306
+ // Update state
307
+ mappings = newMappings;
242
308
  }
243
- // Use MutationObserver to detect when marker is added to DOM
309
+ // Create a container fragment to hold the markers initially
310
+ const fragment = document.createDocumentFragment();
311
+ fragment.appendChild(startMarker);
312
+ fragment.appendChild(endMarker);
313
+ // Use MutationObserver to detect when markers are added to DOM
244
314
  const observer = new MutationObserver(() => {
245
- if (marker.parentNode && !isInitialized) {
315
+ if (startMarker.parentNode && !isInitialized) {
246
316
  isInitialized = true;
247
317
  observer.disconnect();
248
- updateList();
318
+ reconcile();
249
319
  }
250
320
  });
251
321
  observer.observe(document, { childList: true, subtree: true });
@@ -253,12 +323,14 @@ export function For(config) {
253
323
  effect(() => {
254
324
  // Read the list to track dependencies
255
325
  getList();
256
- // Only update if marker is in DOM
257
- if (marker.parentNode) {
258
- updateList();
326
+ // Only update if markers are in DOM
327
+ if (startMarker.parentNode) {
328
+ reconcile();
259
329
  }
260
330
  });
261
- return marker;
331
+ // Return the fragment containing both markers
332
+ // When appended to DOM, children will be inserted between the markers
333
+ return fragment;
262
334
  }
263
335
  /**
264
336
  * Render the first matching case, or fallback.
@@ -1 +1 @@
1
- {"version":3,"file":"control-flow.js","sourceRoot":"","sources":["../src/control-flow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"control-flow.js","sourceRoot":"","sources":["../src/control-flow.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -343,13 +343,16 @@ export interface ShowProps<T> {
343
343
  *
344
344
  * @typeParam T - The item type, inferred from the `each` array.
345
345
  *
346
+ * Note: children receives GETTERS for item and index, enabling signal-backed
347
+ * updates when items reorder without re-running the render function.
348
+ *
346
349
  * @example
347
350
  * ```ts
348
351
  * For({
349
352
  * each: () => users(), // () => User[]
350
353
  * key: 'id', // keyof User - TypeScript validates this
351
- * children: (user, index) => ( // user is User, index is number
352
- * <li>{index}: {user.name}</li>
354
+ * children: (user, index) => ( // user() returns User, index() returns number
355
+ * <li>{() => `${index()}: ${user().name}`}</li>
353
356
  * ),
354
357
  * })
355
358
  * ```
@@ -367,10 +370,10 @@ export interface ForProps<T> {
367
370
  key?: keyof T | ((item: T, index: number) => string | number);
368
371
  /**
369
372
  * Render function for each item.
370
- * @param item - The current item (type T, inferred from each)
371
- * @param index - The current index (plain number)
373
+ * @param item - Getter for the current item value (updates when item data changes)
374
+ * @param index - Getter for the current index (updates when item moves)
372
375
  */
373
- children: (item: T, index: number) => Node;
376
+ children: (item: () => T, index: () => number) => Node;
374
377
  /** Rendered when the array is empty */
375
378
  fallback?: () => Node;
376
379
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH;;GAEG;AACH,MAAM,MAAM,QAAQ,CAAC,CAAC,IAClB,OAAO,MAAM,GACb,OAAO,MAAM,GACb,OAAO,OAAO,GACd,OAAO,MAAM,GACb,OAAO,KAAK,GACZ;IAAE,KAAK,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,CAAA;CAAE,CAAC;AAEpC;;GAEG;AACH,MAAM,WAAW,cAAc,CAAC,CAAC,GAAG,OAAO;IACzC,IAAI,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,MAAM,IAAI;KACzC,CAAC,IAAI,MAAM,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CACrC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,WAAW,CAAC,MAAM,CAAC,IAAI;KACvD,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,cAAc,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK;CACjE,CAAC;AAMF;;;GAGG;AACH,KAAK,cAAc,CAAC,GAAG,IAAI,GAAG,SAAS;IAAE,OAAO,EAAE,MAAM,CAAC,CAAA;CAAE,GACvD,CAAC,SAAS,SAAS,GACjB,KAAK,GACL,IAAI,GACN,KAAK,CAAC;AAEV;;GAEG;AACH,KAAK,cAAc,CAAC,GAAG,IAAI,GAAG,SAAS;IAAE,QAAQ,EAAE,IAAI,CAAA;CAAE,GAAG,IAAI,GAAG,KAAK,CAAC;AAEzE;;GAEG;AACH,KAAK,iBAAiB,CAAC,GAAG,IAAI,cAAc,CAAC,GAAG,CAAC,SAAS,IAAI,GAC1D,cAAc,CAAC,GAAG,CAAC,SAAS,IAAI,GAC9B,KAAK,GACL,IAAI,GACN,KAAK,CAAC;AAEV;;GAEG;AACH,KAAK,iBAAiB,CAAC,MAAM,IAAI;KAC9B,CAAC,IAAI,MAAM,MAAM,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,GAAG,CAAC,GAAG,KAAK;CAC3E,CAAC,MAAM,MAAM,CAAC,CAAC;AAEhB;;GAEG;AACH,KAAK,iBAAiB,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,MAAM,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC;AAElF;;;;GAIG;AACH,MAAM,MAAM,oBAAoB,CAC9B,MAAM,EACN,SAAS,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAGzC;KAAG,CAAC,IAAI,iBAAiB,CAAC,MAAM,CAAC,GAAG,MAAM,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC;CAAE,GAEpE;KAAG,CAAC,IAAI,iBAAiB,CAAC,MAAM,CAAC,GAAG,MAAM,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;CAAE,CAAC;AAExE;;;GAGG;AACH,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAE,GAAG,EAAE,CAAC;AAMxD;;GAEG;AACH,MAAM,MAAM,KAAK,GAAG,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC,CAAC;AAEpD;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEpD;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,GAAG,EAAE;IAAE,GAAG,EAAE,KAAK,CAAA;CAAE,KAAK,aAAa,CAAC;AAMhE;;GAEG;AACH,MAAM,WAAW,SAAS,CAAC,CAAC;IAC1B,KAAK,EAAE,CAAC,CAAC;IACT,GAAG,EAAE,KAAK,CAAC;CACZ;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ,CAAC,CAAC,EAAE,CAAC;IAC5B,KAAK,EAAE,CAAC,CAAC;IACT,KAAK,EAAE,CAAC,CAAC;IACT,GAAG,EAAE,KAAK,CAAC;CACZ;AAED;;GAEG;AACH,MAAM,WAAW,eAAe,CAAC,CAAC;IAChC,KAAK,EAAE,CAAC,CAAC;CACV;AAED;;GAEG;AACH,MAAM,WAAW,SAAS,CAAC,CAAC;IAC1B,KAAK,EAAE,CAAC,CAAC;IACT,KAAK,EAAE,KAAK,CAAC;IACb,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IACpC,KAAK,EAAE,CAAC,CAAC;IACT,IAAI,EAAE,CAAC,CAAC;IACR,KAAK,EAAE,CAAC,CAAC;IACT,GAAG,EAAE,KAAK,CAAC;CACZ;AAED;;GAEG;AACH,MAAM,WAAW,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IAClC,EAAE,EAAE,OAAO,CAAC;IACZ,KAAK,EAAE,CAAC,CAAC;IACT,IAAI,EAAE,CAAC,CAAC;IACR,KAAK,EAAE,CAAC,CAAC;IACT,GAAG,EAAE,KAAK,CAAC;CACZ;AAED;;GAEG;AACH,MAAM,WAAW,aAAa,CAAC,CAAC,EAAE,CAAC;IACjC,KAAK,EAAE,CAAC,CAAC;IACT,KAAK,EAAE,CAAC,CAAC;CACV;AAMD;;GAEG;AACH,MAAM,WAAW,mBAAmB,CAClC,CAAC,SAAS,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC1C,CAAC,GAAG,OAAO,EACX,CAAC,GAAG,OAAO;IAEX,uDAAuD;IACvD,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,wDAAwD;IACxD,KAAK,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;IAEvB,uEAAuE;IACvE,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAElC,0EAA0E;IAC1E,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAE5C,gDAAgD;IAChD,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IAEjD,8BAA8B;IAC9B,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IAErC,wEAAwE;IACxE,SAAS,EAAE,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC;IAElD,mEAAmE;IACnE,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC;IAE9D,kDAAkD;IAClD,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC;IAEhD,8CAA8C;IAC9C,OAAO,CAAC,EAAE,UAAU,CAAC;CACtB;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,gBAAgB,CAC/B,KAAK,SAAS,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9C,MAAM,GAAG,KAAK;IAEd;;;;OAIG;IACH,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,8CAA8C;IAC9C,qBAAqB,EAAE,IAAI,CAAC;IAC5B,2DAA2D;IAC3D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;;;;GAIG;AACH,MAAM,MAAM,wBAAwB,GAAG;IACrC,CAAC,KAAK,EAAE,MAAM,GAAG,iBAAiB,CAAC;IACnC,qBAAqB,EAAE,IAAI,CAAC;CAC7B,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,8CAA8C;IAC9C,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IACnD,yCAAyC;IACzC,OAAO,IAAI,IAAI,CAAC;IAChB,oCAAoC;IACpC,OAAO,IAAI,IAAI,GAAG,IAAI,CAAC;IACvB,kDAAkD;IAClD,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACrC;AAMD;;;;;;;GAOG;AACH,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,SAAS,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzC,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IACtD,UAAU,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACzC;AAED;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,yBAAyB;IACzB,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,0BAA0B;IAC1B,IAAI,EAAE,MAAM,MAAM,CAAC;IACnB,4CAA4C;IAC5C,KAAK,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,sBAAsB;IACtB,IAAI,CAAC,EAAE,MAAM,IAAI,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB,+CAA+C;IAC/C,IAAI,EAAE,MAAM,CAAC;IAEb,2CAA2C;IAC3C,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjF,yCAAyC;IACzC,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,WAAW,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAExD,4BAA4B;IAC5B,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,WAAW,KAAK,IAAI,CAAC;IAE3C,0CAA0C;IAC1C,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,+BAA+B;IAC/B,IAAI,EAAE,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC;IAE9C,qCAAqC;IACrC,MAAM,EAAE,MAAM,GAAG,WAAW,CAAC;IAE7B,iCAAiC;IACjC,MAAM,CAAC,EAAE,UAAU,CAAC;IAEpB,wCAAwC;IACxC,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC;IAEpB,gDAAgD;IAChD,OAAO,CAAC,EAAE,aAAa,CAAC;IAExB,4CAA4C;IAC5C,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAEnB,yFAAyF;IACzF,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB,gDAAgD;IAChD,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,WAAW,KAAK,IAAI,CAAC;IAErC,qDAAqD;IACrD,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,mCAAmC;IACnC,OAAO,EAAE,MAAM,IAAI,CAAC;IAEpB,oDAAoD;IACpD,GAAG,EAAE,KAAK,CAAC;IAEX,sCAAsC;IACtC,MAAM,CAAC,EAAE,UAAU,CAAC;IAEpB,oCAAoC;IACpC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;CAClC;AAMD;;GAEG;AACH,MAAM,MAAM,KAAK,GAAG,KAAK,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,SAAS,CAAC;AAEtD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,SAAS,CAAC,CAAC;IAC1B;;;OAGG;IACH,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC;IAEpB;;;OAGG;IACH,QAAQ,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IAE1C,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,WAAW,QAAQ,CAAC,CAAC;IACzB;;OAEG;IACH,IAAI,EAAE,CAAC,MAAM,aAAa,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;IAEtE;;;;OAIG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,MAAM,CAAC,CAAC;IAE9D;;;;OAIG;IACH,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,MAAM,KAAK,IAAI,CAAC;IAEvD,uCAAuC;IACvC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,wDAAwD;IACxD,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,kCAAkC;IAClC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,wCAAwC;IACxC,IAAI,EAAE,CAAC,MAAM,OAAO,CAAC,GAAG,OAAO,CAAC;IAChC,oCAAoC;IACpC,MAAM,EAAE,MAAM,IAAI,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,yBAAyB;IACzB,IAAI,EAAE,CAAC,MAAM,OAAO,CAAC,GAAG,OAAO,CAAC;IAChC,sCAAsC;IACtC,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,YAAY,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACvF,kDAAkD;IAClD,SAAS,EAAE,MAAM,cAAc,GAAG,gBAAgB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAC7D,qCAAqC;IACrC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;CACvB;AAMD;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC;AAExC;;;GAGG;AACH,MAAM,MAAM,KAAK,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,GAAG,CAAC,MAAM,KAAK,CAAC,GAAG,KAAK,EAAE,CAAC;AAElG;;GAEG;AACH,MAAM,MAAM,iBAAiB,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;AAEhF;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IACrD,KAAK,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,CAAC;IAChC,KAAK,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzD,QAAQ,CAAC,EAAE,KAAK,GAAG,KAAK,EAAE,CAAC;CAC5B,CAAC;AAMF,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,GAAG,CAAC;QACZ,+BAA+B;QAC/B,KAAK,OAAO,GAAG,IAAI,CAAC;QAEpB,yBAAyB;QACzB,UAAU,yBAAyB;YACjC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;SAChC;QAED,yBAAyB;QACzB,UAAU,wBAAwB;YAChC,QAAQ,EAAE,KAAK,GAAG,KAAK,EAAE,CAAC;SAC3B;QAED,sCAAsC;QACtC,UAAU,iBAAiB;YACzB,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,CAAC;SACpC;KACF;CACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@liteforge/runtime",
3
- "version": "0.2.3",
3
+ "version": "0.3.0",
4
4
  "description": "Component runtime with JSX support. Control flow components for conditional and list rendering.",
5
5
  "author": "SchildW3rk <contact@schildw3rk.dev>",
6
6
  "license": "MIT",