lilact 0.31.6 → 0.31.8
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/lilact.development.js +61 -22
- package/dist/lilact.development.js.map +3 -3
- package/dist/lilact.development.min.js +26 -26
- package/dist/lilact.development.min.js.map +3 -3
- package/dist/lilact.production.min.js +26 -26
- package/docs/assets/navigation.js +1 -1
- package/docs/assets/search.js +1 -1
- package/docs/classes/accessories.ErrorBoundary.html +8 -8
- package/docs/classes/accessories.Suspense.html +7 -7
- package/docs/classes/components.Component.html +11 -11
- package/docs/classes/components.HTMLComponent.html +11 -11
- package/docs/classes/components.RootComponent.html +11 -11
- package/docs/functions/components.cloneComponent.html +1 -1
- package/docs/functions/components.createComponent.html +1 -1
- package/docs/functions/components.createPortal.html +1 -1
- package/docs/functions/components.createRoot.html +1 -1
- package/docs/functions/components.memo.html +1 -1
- package/docs/functions/components.render.html +1 -1
- package/docs/functions/components.replaceAllComponentInstances.html +1 -1
- package/docs/functions/components.replaceComponentEntity.html +1 -1
- package/docs/functions/hooks.startTransition.html +1 -1
- package/docs/functions/hooks.useCallback.html +2 -2
- package/docs/functions/hooks.useDebugValue.html +1 -1
- package/docs/functions/hooks.useDeferredValue.html +1 -1
- package/docs/functions/hooks.useEffect.html +1 -1
- package/docs/functions/hooks.useImperativeHandle.html +2 -2
- package/docs/functions/hooks.useInsertionEffect.html +1 -1
- package/docs/functions/hooks.useLayoutEffect.html +1 -1
- package/docs/functions/hooks.useMemo.html +1 -1
- package/docs/functions/hooks.useReducer.html +1 -1
- package/docs/functions/run.lazy.html +10 -1
- package/docs/functions/run.require.html +7 -1
- package/docs/functions/run.run.html +14 -1
- package/docs/functions/run.runScripts.html +8 -1
- package/docs/modules/run.html +1 -1
- package/docs/static/demos/error-callback.jsx +7 -9
- package/docs/static/lilact.development.js +61 -22
- package/docs/static/lilact.development.js.map +3 -3
- package/docs/static/lilact.development.min.js +26 -26
- package/docs/static/lilact.development.min.js.map +3 -3
- package/docs/static/lilact.production.min.js +26 -26
- package/docs/variables/components.cloneElement.html +1 -1
- package/examples/demos/error-callback.jsx +7 -9
- package/examples/lilact.development.js +61 -22
- package/examples/lilact.development.js.map +3 -3
- package/examples/lilact.development.min.js +26 -26
- package/examples/lilact.development.min.js.map +3 -3
- package/examples/lilact.production.min.js +26 -26
- package/package.json +1 -1
- package/src/components.jsx +83 -27
- package/src/hooks.jsx +7 -8
- package/src/run.jsx +62 -6
- package/src/symbols.jsx +2 -0
- package/docs/variables/run.required_scripts.html +0 -1
package/package.json
CHANGED
package/src/components.jsx
CHANGED
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
|
|
31
31
|
import Lilact from './lilact.jsx';
|
|
32
32
|
|
|
33
|
-
import { CORE, COMPONENT, TEXT, IS_ZOMBIE, IDX, CHILD_CLASS_ADDENDUM, MEMOIZED, LOCATION } from "./symbols.jsx"
|
|
33
|
+
import { CORE, COMPONENT, TEXT, IS_ZOMBIE, IDX, CHILD_CLASS_ADDENDUM, MEMOIZED, LOCATION, CLONED_STYLE } from "./symbols.jsx"
|
|
34
34
|
import { shallowEqual, toBool, isClass, isThenable } from "./misc.jsx";
|
|
35
35
|
|
|
36
36
|
import { PropTypes } from './proptypes.jsx';
|
|
@@ -44,6 +44,26 @@ function getComponentEntity(entity) {
|
|
|
44
44
|
}
|
|
45
45
|
|
|
46
46
|
const hotEntityAliases = new Map();
|
|
47
|
+
const hotEntityCacheTokens = new WeakMap();
|
|
48
|
+
|
|
49
|
+
function getHotEntityCacheToken(entity) {
|
|
50
|
+
entity = getComponentEntity(entity);
|
|
51
|
+
|
|
52
|
+
if (typeof entity !== "function") {
|
|
53
|
+
return entity;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
let token = hotEntityCacheTokens.get(entity);
|
|
57
|
+
|
|
58
|
+
if (!token) {
|
|
59
|
+
const resolved = resolveHotEntity(entity);
|
|
60
|
+
token = hotEntityCacheTokens.get(resolved) || {};
|
|
61
|
+
hotEntityCacheTokens.set(entity, token);
|
|
62
|
+
hotEntityCacheTokens.set(resolved, token);
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
return token;
|
|
66
|
+
}
|
|
47
67
|
|
|
48
68
|
function resolveHotEntity(entity) {
|
|
49
69
|
entity = getComponentEntity(entity);
|
|
@@ -127,6 +147,11 @@ export function replaceComponentEntity(componentCore, nextEntity) {
|
|
|
127
147
|
const oldEntity = getComponentEntity(componentCore.entity);
|
|
128
148
|
const newEntity = resolveHotEntity(nextEntity);
|
|
129
149
|
|
|
150
|
+
const cacheToken = hotEntityCacheTokens.get(oldEntity) || hotEntityCacheTokens.get(newEntity) || {};
|
|
151
|
+
|
|
152
|
+
hotEntityCacheTokens.set(oldEntity, cacheToken);
|
|
153
|
+
hotEntityCacheTokens.set(newEntity, cacheToken);
|
|
154
|
+
|
|
130
155
|
if (oldEntity === newEntity) {
|
|
131
156
|
return true;
|
|
132
157
|
}
|
|
@@ -157,7 +182,8 @@ export function replaceComponentEntity(componentCore, nextEntity) {
|
|
|
157
182
|
return true;
|
|
158
183
|
}
|
|
159
184
|
|
|
160
|
-
export function replaceAllComponentInstances(oldEntity, newEntity)
|
|
185
|
+
export function replaceAllComponentInstances(oldEntity, newEntity)
|
|
186
|
+
{
|
|
161
187
|
oldEntity = getComponentEntity(oldEntity);
|
|
162
188
|
newEntity = getComponentEntity(newEntity);
|
|
163
189
|
|
|
@@ -174,8 +200,11 @@ export function replaceAllComponentInstances(oldEntity, newEntity) {
|
|
|
174
200
|
return 0;
|
|
175
201
|
}
|
|
176
202
|
|
|
177
|
-
|
|
178
|
-
|
|
203
|
+
const cacheToken = hotEntityCacheTokens.get(oldEntity) || hotEntityCacheTokens.get(newEntity) || {};
|
|
204
|
+
|
|
205
|
+
hotEntityCacheTokens.set(oldEntity, cacheToken);
|
|
206
|
+
hotEntityCacheTokens.set(newEntity, cacheToken);
|
|
207
|
+
|
|
179
208
|
hotEntityAliases.set(oldEntity, newEntity);
|
|
180
209
|
|
|
181
210
|
const instances = componentInstances.get(oldEntity);
|
|
@@ -199,6 +228,7 @@ export function replaceAllComponentInstances(oldEntity, newEntity) {
|
|
|
199
228
|
}
|
|
200
229
|
|
|
201
230
|
|
|
231
|
+
|
|
202
232
|
/*
|
|
203
233
|
ComponentCache is for internal use. It is the heart of the JSX runtime,
|
|
204
234
|
it holds child components and detects which one is being rendered or updated.
|
|
@@ -268,7 +298,7 @@ class ComponentCache
|
|
|
268
298
|
ex.cleanup();
|
|
269
299
|
}
|
|
270
300
|
else if(ex.element && !ex.portal) {
|
|
271
|
-
ex.element.parentElement
|
|
301
|
+
ex.element.parentElement?.removeChild?.(ex.element);
|
|
272
302
|
}
|
|
273
303
|
});
|
|
274
304
|
});
|
|
@@ -351,20 +381,28 @@ class ComponentCore
|
|
|
351
381
|
|
|
352
382
|
if(do_rerender) {
|
|
353
383
|
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
384
|
+
if(DEBUG) {
|
|
385
|
+
if(this.entity?.propTypes) {
|
|
386
|
+
PropTypes.checkPropTypes( this.entity.propTypes, next_props, 'prop', this.entity.name );
|
|
387
|
+
}
|
|
388
|
+
else if(this.component?.propTypes) {
|
|
389
|
+
PropTypes.checkPropTypes( this.component.propTypes, next_props, 'prop', this.component.name );
|
|
390
|
+
}
|
|
361
391
|
}
|
|
362
392
|
|
|
363
|
-
}
|
|
364
393
|
if(typeof(next_state)==='function') next_state = next_state(this.state);
|
|
365
394
|
|
|
366
|
-
|
|
367
|
-
|
|
395
|
+
const defaultProps = this.entity?.defaultProps || this.component?.constructor?.defaultProps;
|
|
396
|
+
|
|
397
|
+
if (defaultProps) {
|
|
398
|
+
next_props = {
|
|
399
|
+
...defaultProps,
|
|
400
|
+
...(next_props || {}),
|
|
401
|
+
};
|
|
402
|
+
}
|
|
403
|
+
|
|
404
|
+
if(next_props?.style && typeof next_props.style === 'object' && !next_props.style[CLONED_STYLE]) {
|
|
405
|
+
next_props.style = { ...next_props.style, [CLONED_STYLE]: true };
|
|
368
406
|
}
|
|
369
407
|
|
|
370
408
|
if(this?.parent?.component?.context || this?.parent?.component?.getChildContext ) {
|
|
@@ -519,7 +557,7 @@ class ComponentCore
|
|
|
519
557
|
this.props.ref(null);
|
|
520
558
|
}
|
|
521
559
|
else {
|
|
522
|
-
this.props.current = null;
|
|
560
|
+
this.props.ref.current = null;
|
|
523
561
|
}
|
|
524
562
|
}
|
|
525
563
|
|
|
@@ -645,7 +683,7 @@ class ComponentCore
|
|
|
645
683
|
}
|
|
646
684
|
else {
|
|
647
685
|
for(let p in this.props.style) {
|
|
648
|
-
if( !patch.style.hasOwnProperty(p) ) {
|
|
686
|
+
if( p!==CLONED_STYLE && !patch.style.hasOwnProperty(p) ) {
|
|
649
687
|
this.element.style[p] = "";
|
|
650
688
|
}
|
|
651
689
|
}
|
|
@@ -671,7 +709,7 @@ class ComponentCore
|
|
|
671
709
|
else if(a==='autoFocus') { // not lower cased(al), as it is set as a js property
|
|
672
710
|
this.element['autofocus'] = toBool(patch[a]);
|
|
673
711
|
}
|
|
674
|
-
else if(a==='htmlFor') { // not lower cased(al), as it is set as a js property
|
|
712
|
+
else if(a==='htmlFor' || a==='for') { // not lower cased(al), as it is set as a js property
|
|
675
713
|
this.element.setAttribute('for', patch[a]);
|
|
676
714
|
}
|
|
677
715
|
else if(al!=='value' || ['input', 'textarea', 'select'].indexOf(this.entity)===-1) {
|
|
@@ -939,24 +977,43 @@ function constructFunc(core, parent) {
|
|
|
939
977
|
}
|
|
940
978
|
|
|
941
979
|
|
|
942
|
-
function prepareCore(parent, core)
|
|
980
|
+
function prepareCore(parent, core)
|
|
981
|
+
{
|
|
943
982
|
try {
|
|
944
983
|
parent.cache ??= new ComponentCache(parent);
|
|
945
984
|
|
|
946
985
|
const isText = core[TEXT] !== undefined;
|
|
986
|
+
const isExistingCore = core instanceof ComponentCore;
|
|
987
|
+
|
|
988
|
+
const entity = isText || isExistingCore
|
|
989
|
+
? undefined
|
|
990
|
+
: resolveHotEntity(core.entity);
|
|
947
991
|
|
|
948
|
-
const
|
|
949
|
-
|
|
950
|
-
|
|
992
|
+
const hasExplicitKey =
|
|
993
|
+
!isText &&
|
|
994
|
+
core.props &&
|
|
995
|
+
core.props.key !== undefined &&
|
|
996
|
+
core.props.key !== null;
|
|
951
997
|
|
|
952
|
-
|
|
953
|
-
|
|
954
|
-
|
|
998
|
+
let key;
|
|
999
|
+
|
|
1000
|
+
if (isText) {
|
|
1001
|
+
key = ':text:';
|
|
1002
|
+
}
|
|
1003
|
+
else if (hasExplicitKey) {
|
|
1004
|
+
key = core.props.key;
|
|
1005
|
+
}
|
|
1006
|
+
else if (typeof entity === "function") {
|
|
1007
|
+
key = getHotEntityCacheToken(entity);
|
|
1008
|
+
}
|
|
1009
|
+
else {
|
|
1010
|
+
key = entity;
|
|
1011
|
+
}
|
|
955
1012
|
|
|
956
1013
|
return parent.cache.pick(
|
|
957
1014
|
key,
|
|
958
1015
|
() => (
|
|
959
|
-
isText ||
|
|
1016
|
+
isText || isExistingCore
|
|
960
1017
|
? core
|
|
961
1018
|
: constructFunc(core, parent)[CORE]
|
|
962
1019
|
),
|
|
@@ -1352,7 +1409,6 @@ export class RootComponent extends HTMLComponent
|
|
|
1352
1409
|
|
|
1353
1410
|
export function createComponent(entity, props={}, ...children)
|
|
1354
1411
|
{
|
|
1355
|
-
|
|
1356
1412
|
if (typeof(entity)!=='string' && typeof(entity)!=='function' )
|
|
1357
1413
|
{
|
|
1358
1414
|
if(typeof(entity)!=='object' || !entity[MEMOIZED]) {
|
package/src/hooks.jsx
CHANGED
|
@@ -85,7 +85,7 @@ export function useState(initialValue)
|
|
|
85
85
|
* @param {Array<any>} deps - Dependency list.
|
|
86
86
|
* @returns {Function} Memoized callback.
|
|
87
87
|
*/
|
|
88
|
-
export function useCallback(callback, deps
|
|
88
|
+
export function useCallback(callback, deps)
|
|
89
89
|
{
|
|
90
90
|
if(
|
|
91
91
|
deps !== undefined && !Array.isArray(deps) &&
|
|
@@ -270,7 +270,7 @@ export function useRef(initialValue = null)
|
|
|
270
270
|
* used to determine when to re-run the effect.
|
|
271
271
|
* @returns {void}
|
|
272
272
|
*/
|
|
273
|
-
export async function useLayoutEffect(effect, deps
|
|
273
|
+
export async function useLayoutEffect(effect, deps)
|
|
274
274
|
{
|
|
275
275
|
if(
|
|
276
276
|
deps !== undefined && !Array.isArray(deps) &&
|
|
@@ -306,7 +306,7 @@ export async function useLayoutEffect(effect, deps=undefined)
|
|
|
306
306
|
* used to determine when to re-run the effect.
|
|
307
307
|
* @returns {void}
|
|
308
308
|
*/
|
|
309
|
-
export async function useEffect(effect, deps
|
|
309
|
+
export async function useEffect(effect, deps)
|
|
310
310
|
{
|
|
311
311
|
if(
|
|
312
312
|
deps !== undefined && !Array.isArray(deps) &&
|
|
@@ -343,7 +343,7 @@ export async function useEffect(effect, deps=undefined)
|
|
|
343
343
|
* used to determine when to re-run the effect.
|
|
344
344
|
* @returns void
|
|
345
345
|
*/
|
|
346
|
-
export async function useInsertionEffect(effect, deps
|
|
346
|
+
export async function useInsertionEffect(effect, deps)
|
|
347
347
|
{
|
|
348
348
|
if(
|
|
349
349
|
deps !== undefined && !Array.isArray(deps) &&
|
|
@@ -380,7 +380,7 @@ export async function useInsertionEffect(effect, deps=undefined)
|
|
|
380
380
|
* used to determine when to recompute the value.
|
|
381
381
|
* @returns {any} Memoized value.
|
|
382
382
|
*/
|
|
383
|
-
export function useMemo(factory,deps
|
|
383
|
+
export function useMemo(factory,deps)
|
|
384
384
|
{
|
|
385
385
|
if(
|
|
386
386
|
deps !== undefined && !Array.isArray(deps) &&
|
|
@@ -427,8 +427,7 @@ export function useActionState(action, initialState)
|
|
|
427
427
|
async ()=> {
|
|
428
428
|
const form_data = new FormData(event.target, event.submitter);
|
|
429
429
|
hk.state = await action(hk.state, form_data);
|
|
430
|
-
}
|
|
431
|
-
[]
|
|
430
|
+
}
|
|
432
431
|
);
|
|
433
432
|
|
|
434
433
|
return false;
|
|
@@ -533,7 +532,7 @@ export function useDeferredValue(value, initialValue)
|
|
|
533
532
|
* Dependency list that controls when the exposed value is recalculated.
|
|
534
533
|
* @returns {void}
|
|
535
534
|
*/
|
|
536
|
-
export function useImperativeHandle(ref, factory, deps
|
|
535
|
+
export function useImperativeHandle(ref, factory, deps)
|
|
537
536
|
{
|
|
538
537
|
if(deps!==undefined && ref?.deps!==undefined && shallowEqual(deps, ref.deps)) return;
|
|
539
538
|
|
package/src/run.jsx
CHANGED
|
@@ -107,6 +107,7 @@ function report(value, path) {
|
|
|
107
107
|
return error;
|
|
108
108
|
}
|
|
109
109
|
|
|
110
|
+
/** @ignore */
|
|
110
111
|
export const required_scripts = {};
|
|
111
112
|
|
|
112
113
|
function createModule(path, {
|
|
@@ -118,14 +119,8 @@ function createModule(path, {
|
|
|
118
119
|
mappings: [],
|
|
119
120
|
meta: {},
|
|
120
121
|
exports: {},
|
|
121
|
-
|
|
122
|
-
// True only after the module has been successfully evaluated.
|
|
123
122
|
loaded: false,
|
|
124
|
-
|
|
125
|
-
// The promise for the request currently loading this resource.
|
|
126
|
-
// This is deliberately stored on the module to deduplicate requests.
|
|
127
123
|
request: undefined,
|
|
128
|
-
|
|
129
124
|
error: undefined,
|
|
130
125
|
};
|
|
131
126
|
|
|
@@ -228,6 +223,23 @@ function loadModule(path, options = {}) {
|
|
|
228
223
|
);
|
|
229
224
|
}
|
|
230
225
|
|
|
226
|
+
|
|
227
|
+
/**
|
|
228
|
+
* Loads a module using Lilact's module loader.
|
|
229
|
+
*
|
|
230
|
+
* This function provides the runtime `require()` implementation used by
|
|
231
|
+
* transpiled Lilact modules.
|
|
232
|
+
*
|
|
233
|
+
* @param {string} path - Module path or URL to load.
|
|
234
|
+
* @param {object} [options] - Module-loading options.
|
|
235
|
+
* @param {{path: string}} [options.requirer] - Module that requested this
|
|
236
|
+
* resource.
|
|
237
|
+
* @param {boolean} [options.isLazy=false] - Forces asynchronous loading.
|
|
238
|
+
* @param {boolean} [options.forceReload=false] - Reloads the module even if
|
|
239
|
+
* it has already been evaluated.
|
|
240
|
+
* @returns {*} The module exports, or a Promise for asynchronous modules.
|
|
241
|
+
* @throws {Error} If the module cannot be loaded or evaluated.
|
|
242
|
+
*/
|
|
231
243
|
export function require(path)
|
|
232
244
|
{
|
|
233
245
|
let options = {};
|
|
@@ -318,6 +330,24 @@ function replaceReloadedExports(previousExports, nextExports) {
|
|
|
318
330
|
}
|
|
319
331
|
|
|
320
332
|
|
|
333
|
+
/**
|
|
334
|
+
* Transpiles and evaluates JSX source code as a Lilact module.
|
|
335
|
+
*
|
|
336
|
+
* The source is registered under the supplied path, transpiled with source
|
|
337
|
+
* mappings and runtime tracing enabled, evaluated in the global Lilact
|
|
338
|
+
* runtime, and returned as module exports. Reloaded component exports are
|
|
339
|
+
* compared with their previous versions to support hot loading.
|
|
340
|
+
*
|
|
341
|
+
* @param {string} jsx - JSX or JavaScript source code to evaluate.
|
|
342
|
+
* @param {string} [path=`InlineJSX-${Lilact.eval_num + 1}`] - Module path
|
|
343
|
+
* used for caching, diagnostics, and source mapping.
|
|
344
|
+
* @param {object} [options] - Evaluation options.
|
|
345
|
+
* @param {boolean} [options.forceReload=false] - Forces dependent resources
|
|
346
|
+
* to reload when they are required.
|
|
347
|
+
* @returns {*} The evaluated module exports.
|
|
348
|
+
* @throws {Error} If transpilation or runtime evaluation fails.
|
|
349
|
+
*/
|
|
350
|
+
|
|
321
351
|
export function run(
|
|
322
352
|
jsx,
|
|
323
353
|
path = `InlineJSX-${++Lilact.eval_num}`,
|
|
@@ -371,6 +401,7 @@ export function run(
|
|
|
371
401
|
throw error;
|
|
372
402
|
}
|
|
373
403
|
|
|
404
|
+
// console.log(processed)
|
|
374
405
|
if (typeof Lilact.scanBlockLabels === "function") {
|
|
375
406
|
Lilact.scanBlockLabels(processed, path);
|
|
376
407
|
}
|
|
@@ -473,6 +504,19 @@ function loadAsyncResource(path, module, options = {})
|
|
|
473
504
|
return request;
|
|
474
505
|
}
|
|
475
506
|
|
|
507
|
+
/**
|
|
508
|
+
* Creates a lazily evaluated component from a module or promise factory.
|
|
509
|
+
*
|
|
510
|
+
* The factory is executed while lazy-loading mode is enabled. The returned
|
|
511
|
+
* component suspends by throwing the pending promise until the factory
|
|
512
|
+
* resolves, or throws the loading error if the factory fails.
|
|
513
|
+
*
|
|
514
|
+
* @param {Function} factory - Function that returns a component, module,
|
|
515
|
+
* promise, or thenable resolving to a component or module.
|
|
516
|
+
* @returns {Function} A component that renders the resolved component.
|
|
517
|
+
* @throws {*} The pending promise or loading error while the component is
|
|
518
|
+
* unresolved.
|
|
519
|
+
*/
|
|
476
520
|
export function lazy(factory)
|
|
477
521
|
{
|
|
478
522
|
let status = "pending";
|
|
@@ -526,6 +570,18 @@ function scriptTags()
|
|
|
526
570
|
}));
|
|
527
571
|
}
|
|
528
572
|
|
|
573
|
+
/**
|
|
574
|
+
* Loads and evaluates every JSX script in the current document.
|
|
575
|
+
*
|
|
576
|
+
* External scripts are loaded through {@link require}. Inline scripts are
|
|
577
|
+
* evaluated directly through {@link run}. Scripts are processed in document
|
|
578
|
+
* order.
|
|
579
|
+
*
|
|
580
|
+
* @returns {Promise<void>} A promise that resolves after all scripts finish.
|
|
581
|
+
* @throws {Error} If an external or inline script cannot be loaded or
|
|
582
|
+
* evaluated.
|
|
583
|
+
*/
|
|
584
|
+
|
|
529
585
|
export async function runScripts() {
|
|
530
586
|
for (const script of scriptTags()) {
|
|
531
587
|
if (script.src) {
|
package/src/symbols.jsx
CHANGED
|
@@ -40,6 +40,7 @@ export const [
|
|
|
40
40
|
CHILD_CLASS_ADDENDUM,
|
|
41
41
|
MEMOIZED,
|
|
42
42
|
LAZY,
|
|
43
|
+
CLONED_STYLE,
|
|
43
44
|
|
|
44
45
|
DUE,
|
|
45
46
|
REPEAT,
|
|
@@ -59,6 +60,7 @@ export const [
|
|
|
59
60
|
Symbol.for('LILACT:CHILD_CLASS_ADDENDUM'),
|
|
60
61
|
Symbol.for('LILACT:MEMOIZED'),
|
|
61
62
|
Symbol.for('LILACT:LAZY'),
|
|
63
|
+
Symbol.for('LILACT:CLONED_STYLE'),
|
|
62
64
|
|
|
63
65
|
Symbol.for('LILACT:TIMERS:DUE'),
|
|
64
66
|
Symbol.for('LILACT:TIMERS:REPEAT'),
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html><html class="default" lang="en" data-base="../"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>required_scripts | Lilact</title><meta name="description" content="Documentation for Lilact"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script><script async src="../assets/hierarchy.js" id="tsd-hierarchy-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => window.app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><a href="../index.html" class="title">Lilact</a><div id="tsd-toolbar-links"></div><button id="tsd-search-trigger" class="tsd-widget" aria-label="Search"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-search"></use></svg></button><dialog id="tsd-search" aria-label="Search"><input role="combobox" id="tsd-search-input" aria-controls="tsd-search-results" aria-autocomplete="list" aria-expanded="true" autocapitalize="off" autocomplete="off" placeholder="Search the docs" maxLength="100"/><ul role="listbox" id="tsd-search-results"></ul><div id="tsd-search-status" aria-live="polite" aria-atomic="true"><div>Preparing search index...</div></div></dialog><a href="#" class="tsd-widget menu" id="tsd-toolbar-menu-trigger" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb" aria-label="Breadcrumb"><li><a href="../modules/run.html">run</a></li><li><a href="" aria-current="page">required_scripts</a></li></ul><h1>Variable required_scripts<code class="tsd-tag">Const</code></h1></div><div class="tsd-signature"><span class="tsd-kind-variable">required_scripts</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">{}</span><span class="tsd-signature-symbol"> = {}</span></div><div class="tsd-type-declaration"><h4>Type Declaration</h4><ul class="tsd-parameters"></ul></div><aside class="tsd-sources"><ul><li>Defined in run.jsx:110</li></ul></aside></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h3>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html">Lilact</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
|