lilact 0.9.0 → 0.10.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.
- package/bin/bundle.cjs +1 -1
- package/dist/lilact.development.js +345 -194
- package/dist/lilact.development.js.map +1 -1
- package/dist/lilact.development.min.js +1 -1
- package/dist/lilact.development.min.js.map +1 -1
- package/dist/lilact.production.min.js +1 -1
- package/dist/lilact.production.min.js.map +1 -1
- package/docs/assets/hierarchy.js +1 -1
- package/docs/assets/navigation.js +1 -1
- package/docs/assets/search.js +1 -1
- package/docs/classes/accessories.ErrorBoundary.html +7 -7
- package/docs/classes/accessories.Suspense.html +4 -5
- package/docs/classes/components.Component.html +2 -2
- package/docs/classes/components.HTMLComponent.html +1 -1
- package/docs/classes/components.RootComponent.html +1 -1
- package/docs/functions/errors.globalErrorHandler.html +3 -2
- package/docs/functions/errors.traceError.html +4 -3
- package/docs/functions/hooks.createContext.html +3 -2
- package/docs/functions/hooks.useActionState.html +3 -2
- package/docs/functions/hooks.useContext.html +3 -2
- package/docs/functions/hooks.useImperativeHandle.html +1 -1
- package/docs/functions/hooks.useState.html +3 -2
- package/docs/functions/misc.classNames.html +2 -1
- package/docs/functions/misc.deepEqual.html +4 -2
- package/docs/functions/misc.findDOMNode.html +3 -2
- package/docs/functions/misc.forwardRef.html +4 -0
- package/docs/functions/misc.getComponentByPointer.html +1 -1
- package/docs/functions/misc.isAsync.html +4 -3
- package/docs/functions/misc.isClass.html +4 -3
- package/docs/functions/misc.isEmpty.html +4 -3
- package/docs/functions/misc.isError.html +4 -3
- package/docs/functions/misc.isThenable.html +4 -3
- package/docs/functions/misc.isValidElement.html +3 -2
- package/docs/functions/misc.shallowEqual.html +4 -2
- package/docs/functions/misc.toBool.html +4 -3
- package/docs/functions/router.NavLink.html +4 -2
- package/docs/functions/router.Route.html +1 -1
- package/docs/functions/router.Routes.html +1 -1
- package/docs/functions/run.lazy.html +1 -1
- package/docs/functions/run.require.html +2 -2
- package/docs/functions/timers.clearInterval.html +3 -2
- package/docs/functions/timers.clearTimeout.html +3 -2
- package/docs/functions/timers.setInterval.html +3 -2
- package/docs/functions/timers.setTimeout.html +4 -2
- package/docs/functions/timers.timeoutPromise.html +2 -2
- package/docs/hierarchy.html +1 -1
- package/docs/modules/hooks.html +1 -1
- package/docs/modules/misc.html +1 -1
- package/docs/modules.html +1 -1
- package/docs/static/demos/reducer.jsx +29 -23
- package/docs/static/lilact.development.js +345 -194
- package/docs/static/lilact.development.min.js +1 -1
- package/docs/static/lilact.production.min.js +1 -1
- package/package.json +1 -1
- package/root/demos/reducer.jsx +29 -23
- package/root/lilact.development.js +345 -194
- package/root/lilact.development.min.js +1 -1
- package/root/lilact.production.min.js +1 -1
- package/src/accessories.jsx +0 -4
- package/src/components.jsx +1 -1
- package/src/errors.jsx +36 -32
- package/src/events.jsx +194 -66
- package/src/hooks.jsx +14 -29
- package/src/jsx.js +8 -5
- package/src/lilact.jsx +21 -2
- package/src/misc.jsx +45 -31
- package/src/pane.jsx +2 -2
- package/src/router.jsx +3 -1
- package/src/run.jsx +5 -5
- package/src/timers.jsx +12 -12
- package/typedoc.json +1 -1
- package/docs/functions/hooks.forwardRef.html +0 -4
- package/docs/functions/jsx.transpileJSX.html +0 -6
- package/docs/modules/jsx.html +0 -1
|
@@ -114,8 +114,8 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
114
114
|
// usage outside Lilact. Also make sure to check the default configuration.
|
|
115
115
|
|
|
116
116
|
// There are some situations that are solved with tricks, as some aspects of
|
|
117
|
-
//
|
|
118
|
-
// Works
|
|
117
|
+
// javascript require a complete parser and I didn't want to get into that!
|
|
118
|
+
// Works almost perfectly so far (all observed bugs are fixed), works
|
|
119
119
|
// even on nasty things like the compressed version of tensorflow.js! Feel free
|
|
120
120
|
// to report any bugs, and please include a testable example. Thanks! :)
|
|
121
121
|
|
|
@@ -1040,18 +1040,21 @@ function generateSourceMap(json, path, jsx_eols, out_eols, mappings=[])
|
|
|
1040
1040
|
* @returns The transpiled javascript code.
|
|
1041
1041
|
*/
|
|
1042
1042
|
|
|
1043
|
+
/** @ignore */
|
|
1043
1044
|
function transpileJSX( jsx, {
|
|
1044
1045
|
factory = "createComponent",
|
|
1045
1046
|
fragment = "Fragment",
|
|
1046
1047
|
path = "anonymous",
|
|
1047
1048
|
appendSourcemap = true,
|
|
1049
|
+
injectTraceLabels = false,
|
|
1050
|
+
discardComments = false,
|
|
1051
|
+
|
|
1052
|
+
// lilact internal
|
|
1048
1053
|
blocks_info = {
|
|
1049
1054
|
labels: {},
|
|
1050
1055
|
counter: 0
|
|
1051
1056
|
},
|
|
1052
|
-
mappings = []
|
|
1053
|
-
injectTraceLabels = false,
|
|
1054
|
-
discardComments = false
|
|
1057
|
+
mappings = []
|
|
1055
1058
|
} = {} )
|
|
1056
1059
|
{
|
|
1057
1060
|
|
|
@@ -1269,7 +1272,7 @@ function transpileJSX( jsx, {
|
|
|
1269
1272
|
|
|
1270
1273
|
|
|
1271
1274
|
|
|
1272
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
1275
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiL1VzZXJzL2FyYXNoL0Rlc2t0b3AvUHJvamVjdHMvTGlsYWN0L3NyYy9qc3guanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIvVXNlcnMvYXJhc2gvRGVza3RvcC9Qcm9qZWN0cy9MaWxhY3Qvc3JjL2pzeC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0E4QkM7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTs7Q0FFQTtDQUNBOztDQUVBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7O0NBRUE7Ozs7Q0FJQTtpQ0FDZ0M7Ozs7O0VBSy9CO0VBQ0E7OEJBQzRCOzs7O3FDQUlPOzs7Ozs7O21CQU9sQjtDQUNsQjthQUNZO0lBQ1QsSUFBSTs7Ozs7O29CQU1ZO0NBQ25CO0VBQ0M7RUFDQTtFQUNBOztFQUVBOztFQUVBOzs7O09BSUssUUFBUTtLQUNWLGdCQUFpQjtLQUNqQixrQkFBa0I7Ozs7S0FJbEIsYUFBYzs7OztZQUlQOzs7OztPQUtMLG9CQUFvQjs7U0FFbEIsS0FBSzs7OztJQUlWO0lBQ0E7SUFDQTtRQUNJO1NBQ0MscUJBQXNCOztPQUV4QixtQ0FBbUM7OztTQUdqQyxJQUFJOzs7Ozs7OztzQkFRUztDQUNyQjtZQUNXOzs7OztJQUtSLHlDQUF5QztvQkFDekI7Ozs7Ozs7T0FPYixvQkFBb0I7OztTQUdsQixLQUFLOzs7TUFHUixzQ0FBc0M7O09BRXJDLG1DQUFtQzs7Ozs7O01BTXBDLGdCQUFnQjs7T0FFZixtQ0FBbUM7Ozs7Ozs7Ozs7WUFVOUI7Ozs7d0JBSVk7Q0FDdkI7O09BRU07R0FDSDs7RUFFRjs7Ozs7O0lBTUUsU0FBUzthQUNBOzs7Ozs7MEJBTWEsbUJBQW9CLEFBQUQ7Ozs7S0FJeEMsbUNBQW1DOzs7O09BSWpDOzs7UUFHQyxVQUFXOzs7S0FHZCxXQUFXO2NBQ0Y7Ozs7Ozt1QkFNUyxxQkFBc0IsQUFBRDs7O01BR3RDLG1DQUFtQzs7Ozs7WUFLN0I7Ozs7Q0FJWDtDQUNBOzsyQkFF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
|
|
1273
1276
|
|
|
1274
1277
|
/***/ }),
|
|
1275
1278
|
|
|
@@ -1533,6 +1536,7 @@ __webpack_require__.d(misc_namespaceObject, {
|
|
|
1533
1536
|
eval_num: () => (eval_num),
|
|
1534
1537
|
events_set: () => (events_set),
|
|
1535
1538
|
findDOMNode: () => (findDOMNode),
|
|
1539
|
+
forwardRef: () => (forwardRef),
|
|
1536
1540
|
getComponentByPointer: () => (getComponentByPointer),
|
|
1537
1541
|
id_num: () => (id_num),
|
|
1538
1542
|
isAsync: () => (isAsync),
|
|
@@ -1572,7 +1576,6 @@ var hooks_namespaceObject = {};
|
|
|
1572
1576
|
__webpack_require__.r(hooks_namespaceObject);
|
|
1573
1577
|
__webpack_require__.d(hooks_namespaceObject, {
|
|
1574
1578
|
createContext: () => (createContext),
|
|
1575
|
-
forwardRef: () => (forwardRef),
|
|
1576
1579
|
useActionState: () => (useActionState),
|
|
1577
1580
|
useCallback: () => (useCallback),
|
|
1578
1581
|
useContext: () => (useContext),
|
|
@@ -4415,17 +4418,17 @@ const typeOf = (input) => {
|
|
|
4415
4418
|
* @param value - Value to inspect.
|
|
4416
4419
|
* @returns True if the value is a class component; otherwise false.
|
|
4417
4420
|
*/
|
|
4418
|
-
const isValidElement = (
|
|
4419
|
-
return
|
|
4421
|
+
const isValidElement = (value) => {
|
|
4422
|
+
return value[CORE]!==undefined || value[TEXT]!==undefined;
|
|
4420
4423
|
}
|
|
4421
4424
|
|
|
4422
4425
|
/**
|
|
4423
4426
|
* Utility to find the underlying DOM node for a mounted Lilact component.
|
|
4424
4427
|
*
|
|
4425
|
-
* @param
|
|
4428
|
+
* @param component - A Lilact component instance to locate its DOM node.
|
|
4426
4429
|
* @returns The corresponding DOM element (or null if unavailable).
|
|
4427
4430
|
*/
|
|
4428
|
-
const findDOMNode = (
|
|
4431
|
+
const findDOMNode = (component)=>{
|
|
4429
4432
|
|
|
4430
4433
|
/*
|
|
4431
4434
|
When a component renders to null or false, findDOMNode returns null.
|
|
@@ -4439,8 +4442,8 @@ const findDOMNode = (comp)=>{
|
|
|
4439
4442
|
|
|
4440
4443
|
Unlike React, in Lilact findDOMNode can also be used on function components.
|
|
4441
4444
|
*/
|
|
4442
|
-
if(!
|
|
4443
|
-
return
|
|
4445
|
+
if(!component[CORE]?.element?.parentNode) throw new Error("findDOMNode only works on mounted components.");
|
|
4446
|
+
return component[CORE].element;
|
|
4444
4447
|
}
|
|
4445
4448
|
|
|
4446
4449
|
/**
|
|
@@ -4504,6 +4507,20 @@ const Children = {
|
|
|
4504
4507
|
};
|
|
4505
4508
|
|
|
4506
4509
|
|
|
4510
|
+
/**
|
|
4511
|
+
* Wraps a render function so that a parent can pass a `ref` into it.
|
|
4512
|
+
* The forwarded `ref` is provided as the second argument to the render function: `(props, ref)`.
|
|
4513
|
+
*
|
|
4514
|
+
* @param {function(props: any, ref: any)} render
|
|
4515
|
+
* The component render function that receives the props and the forwarded ref.
|
|
4516
|
+
* @returns {}
|
|
4517
|
+
*/
|
|
4518
|
+
function forwardRef(render)
|
|
4519
|
+
{
|
|
4520
|
+
return (props)=>render({...props, ref: undefined}, props.ref);
|
|
4521
|
+
}
|
|
4522
|
+
|
|
4523
|
+
|
|
4507
4524
|
/**
|
|
4508
4525
|
* Debug tool to detect the component visible at a point on screen.
|
|
4509
4526
|
*
|
|
@@ -4542,7 +4559,7 @@ function getComponentByPointer()
|
|
|
4542
4559
|
/**
|
|
4543
4560
|
* Utility for applying one or more class names to an element.
|
|
4544
4561
|
*
|
|
4545
|
-
* @param
|
|
4562
|
+
* @param classes - One or more class name values to combine.
|
|
4546
4563
|
*/
|
|
4547
4564
|
function classNames(classes) {
|
|
4548
4565
|
return Object.entries(classes)
|
|
@@ -4558,8 +4575,8 @@ function classNames(classes) {
|
|
|
4558
4575
|
* @param value - Value to check for emptiness.
|
|
4559
4576
|
* @returns True if empty; otherwise false.
|
|
4560
4577
|
*/
|
|
4561
|
-
function isEmpty(
|
|
4562
|
-
for(let i in
|
|
4578
|
+
function isEmpty(value) {
|
|
4579
|
+
for(let i in value) return false;
|
|
4563
4580
|
return true;
|
|
4564
4581
|
}
|
|
4565
4582
|
|
|
@@ -4567,8 +4584,8 @@ function isEmpty(o) {
|
|
|
4567
4584
|
/**
|
|
4568
4585
|
* Determines whether two values are shallowly equal.
|
|
4569
4586
|
*
|
|
4570
|
-
* @param
|
|
4571
|
-
* @param
|
|
4587
|
+
* @param source - First object to compare.
|
|
4588
|
+
* @param target - Second object to compare.
|
|
4572
4589
|
* @returns True if shallowly equal; otherwise false.
|
|
4573
4590
|
*/
|
|
4574
4591
|
const shallowEqual = (source, target) => {
|
|
@@ -4594,8 +4611,8 @@ const shallowEqual = (source, target) => {
|
|
|
4594
4611
|
/**
|
|
4595
4612
|
* Determines whether two values are deeply equal.
|
|
4596
4613
|
*
|
|
4597
|
-
* @param
|
|
4598
|
-
* @param
|
|
4614
|
+
* @param source - First object to compare.
|
|
4615
|
+
* @param target - Second object to compare.
|
|
4599
4616
|
* @returns True if deeply equal; otherwise false.
|
|
4600
4617
|
*/
|
|
4601
4618
|
function deepEqual(source, target) {
|
|
@@ -4632,13 +4649,13 @@ function deepEqual(source, target) {
|
|
|
4632
4649
|
* @param value - Value to inspect.
|
|
4633
4650
|
* @returns True if the value is a js class; otherwise false.
|
|
4634
4651
|
*/
|
|
4635
|
-
function isClass(
|
|
4652
|
+
function isClass(value) {
|
|
4636
4653
|
// from https://stackoverflow.com/a/66120819
|
|
4637
|
-
if(!(
|
|
4654
|
+
if(!(value && value.constructor === Function) || value.prototype === undefined)
|
|
4638
4655
|
return false;
|
|
4639
|
-
if(Function.prototype !== Object.getPrototypeOf(
|
|
4656
|
+
if(Function.prototype !== Object.getPrototypeOf(value))
|
|
4640
4657
|
return true;
|
|
4641
|
-
return Object.getOwnPropertyNames(
|
|
4658
|
+
return Object.getOwnPropertyNames(value.prototype).length > 1;
|
|
4642
4659
|
}
|
|
4643
4660
|
|
|
4644
4661
|
/**
|
|
@@ -4647,8 +4664,8 @@ function isClass(func) {
|
|
|
4647
4664
|
* @param value - Value to inspect.
|
|
4648
4665
|
* @returns True if the value is an async function; otherwise false.
|
|
4649
4666
|
*/
|
|
4650
|
-
function isAsync(
|
|
4651
|
-
return typeof
|
|
4667
|
+
function isAsync(value) {
|
|
4668
|
+
return typeof value === 'function' && value.constructor && value.constructor.name === 'AsyncFunction';
|
|
4652
4669
|
}
|
|
4653
4670
|
|
|
4654
4671
|
/**
|
|
@@ -4657,8 +4674,8 @@ function isAsync(fn) {
|
|
|
4657
4674
|
* @param value - Value to inspect.
|
|
4658
4675
|
* @returns True if thenable; otherwise false.
|
|
4659
4676
|
*/
|
|
4660
|
-
function isThenable(
|
|
4661
|
-
return
|
|
4677
|
+
function isThenable(value) {
|
|
4678
|
+
return value && (typeof value === "object" || typeof value === "function") && typeof value.then === "function";
|
|
4662
4679
|
}
|
|
4663
4680
|
|
|
4664
4681
|
/**
|
|
@@ -4667,8 +4684,8 @@ function isThenable(x) {
|
|
|
4667
4684
|
* @param value - Value to inspect.
|
|
4668
4685
|
* @returns True if thenable; otherwise false.
|
|
4669
4686
|
*/
|
|
4670
|
-
function misc_isError(
|
|
4671
|
-
return
|
|
4687
|
+
function misc_isError(value) {
|
|
4688
|
+
return value instanceof Error || Object.prototype.toString.call(value) === '[object Error]';
|
|
4672
4689
|
}
|
|
4673
4690
|
|
|
4674
4691
|
/**
|
|
@@ -4677,18 +4694,18 @@ function misc_isError(x) {
|
|
|
4677
4694
|
* @param value - Value to inspect.
|
|
4678
4695
|
* @returns boolean value
|
|
4679
4696
|
*/
|
|
4680
|
-
function toBool(
|
|
4681
|
-
if (typeof
|
|
4697
|
+
function toBool(value) {
|
|
4698
|
+
if (typeof value === "boolean") return value;
|
|
4682
4699
|
|
|
4683
|
-
if (typeof
|
|
4700
|
+
if (typeof value === "number") return value !== 0;
|
|
4684
4701
|
|
|
4685
|
-
if (typeof
|
|
4686
|
-
|
|
4687
|
-
if (
|
|
4688
|
-
if (
|
|
4702
|
+
if (typeof value === "string") {
|
|
4703
|
+
value = value.trim().toLowerCase();
|
|
4704
|
+
if (value === "true") return true;
|
|
4705
|
+
if (value === "false") return false;
|
|
4689
4706
|
}
|
|
4690
4707
|
|
|
4691
|
-
return Boolean(
|
|
4708
|
+
return Boolean(value);
|
|
4692
4709
|
}
|
|
4693
4710
|
|
|
4694
4711
|
|
|
@@ -4761,7 +4778,7 @@ const boolean_html_attributes_set = new
|
|
|
4761
4778
|
"hidden","open","loop","muted","controls","playsInline","allowFullScreen"]);
|
|
4762
4779
|
|
|
4763
4780
|
|
|
4764
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
4781
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiL1VzZXJzL2FyYXNoL0Rlc2t0b3AvUHJvamVjdHMvTGlsYWN0L3NyYy9taXNjLmpzeCIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi9Vc2Vycy9hcmFzaC9EZXNrdG9wL1Byb2plY3RzL0xpbGFjdC9zcmMvbWlzYy5qc3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBaUNDOzs7Z0JBR2UsV0FBVztFQUN6QjtFQUNBOztrREFFZ0QsbUJBQW1CO3NCQUMvQzsrQkFDUzs7Ozs7O0NBTTlCOztDQUVBOzs7Ozs7K0JBTThCLFdBQVc7Ozs7Q0FJekM7Ozs7Ozs0QkFNMkIsYUFBYTs7RUFFdkM7Ozs7Ozs7Ozs7OztJQVlFLHVEQUF1RDs7OztDQUkxRDs7Ozs7a0NBS2tDLEFBQUQsYUFBYTs7O0NBRzlDOzs7Ozs7Ozt5QkFRd0I7O0NBRXhCOzs7Ozs7TUFNSyxXQUFXOzs7UUFHVCxvQkFBb0I7TUFDdEIsMkNBQTJDO29CQUM3Qjs7O1dBR1QsZ0RBQWdEO29CQUN2Qzs7O01BR2QsTUFBTTtvQkFDUTs7OztLQUlmOzs7O0NBSUo7Ozs7OztTQU1RLFdBQVc7S0FDZixXQUFXO01BQ1Y7Ozs7Ozs7O0NBUUw7Ozs7Ozs7OzJCQVEwQjtDQUMxQjtTQUNRLGVBQWdCLEFBQUQ7Ozs7Q0FJdkI7Ozs7O3NDQUtxQztDQUNyQzs7O3dCQUd1QixDQUFFLGFBQWE7Ozs7d0JBSWYsUUFBUTs7aUNBRUM7NkJBQ0o7Ozs7UUFJckIsa0NBQWtDOzs7O2VBSTNCOzs7Ozt5QkFLVTs7Ozs7O0NBTXhCOzs7OzsyQkFLMEIsVUFBVTt1QkFDZDtTQUNiLEFBQUQ7TUFDRixBQUFEO09BQ0M7Ozs7Q0FJTjs7Ozs7O3dCQU11QixTQUFTO0tBQzVCOzs7OztDQUtKOzs7Ozs7OzZCQU80QixvQkFBb0I7S0FDNUMsTUFBTyxtQkFBbUIsV0FBVTs7OztLQUlwQyxNQUFPLHVCQUFzQjtNQUM1QixrQ0FBa0M7OztzQkFHakIsQUFBRDtZQUNWLE1BQU8sd0JBQXVCO3FCQUNyQixjQUFlLEFBQUQ7WUFDdkIsTUFBTyxzQkFBcUI7d0JBQ2hCLHFCQUFxQjs7Ozs7OztDQU81Qzs7Ozs7OzswQkFPeUIsaUJBQWlCO0tBQ3RDLE1BQU8sbUJBQW1CLFdBQVU7Ozs7S0FJcEMsTUFBTyx1QkFBc0I7TUFDNUIsa0NBQWtDOzs7O3NCQUlqQixBQUFELDJCQUE0QjtZQUN0QyxNQUFPLHdCQUF1QjtNQUNwQyxXQUFZLCtCQUErQixrQkFBaUI7Ozs7cUJBSTdDLGNBQWUsQUFBRDtZQUN0Qjs7WUFFRCxNQUFPLHNCQUFxQjt3QkFDaEIscUJBQXFCOzs7Ozs7OztDQVE1Qzs7Ozs7O3dCQU11QixRQUFRO0VBQzlCO0lBQ0UsQ0FBRTs7SUFFRiw0Q0FBNkM7O21DQUVkOzs7Q0FHbEM7Ozs7Ozt3QkFNdUIsUUFBUTs7OztDQUkvQjs7Ozs7OzJCQU0wQixRQUFRO2tCQUNqQjs7O0NBR2pCOzs7Ozs7d0JBTXVCLFFBQVE7aUVBQ2lDOzs7Q0FHaEU7Ozs7Ozt1QkFNc0IsUUFBUTtLQUMxQjs7S0FFQTs7S0FFQSw0QkFBNEI7cUJBQ1osY0FBYztNQUM3QjtNQUNBOzs7Z0JBR1U7Ozs7Q0FJZjs7Q0FFQTtpQ0FDZ0M7O0NBRWhDOztDQUVBOztDQUVBOytCQUM4QixXQUFZO0NBQzFDO3lCQUN3Qjs7O0NBR3hCO0NBQ0E7O0NBRUE7O0NBRUE7O0NBRUE7O0NBRUE7OztDQUdBOzBDQUN5Qzs7Ozs7Q0FLekM7a0NBQ2lDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBbUJqQztpREFDZ0Q7Ozs7Ozs7OztDQVNoRDs7S0FFSSJ9
|
|
4765
4782
|
;// ./src/components.jsx
|
|
4766
4783
|
/*
|
|
4767
4784
|
|
|
@@ -5518,7 +5535,7 @@ const generateComponentKey = (entity, props)=> {
|
|
|
5518
5535
|
* Base class that mimics `React.Component` (stateful component with lifecycle hooks).
|
|
5519
5536
|
* Extend this class to implement `render()` and (optionally) override lifecycle methods.
|
|
5520
5537
|
*
|
|
5521
|
-
*
|
|
5538
|
+
* These user functions and members are supported:
|
|
5522
5539
|
*
|
|
5523
5540
|
* static defaultProps
|
|
5524
5541
|
*
|
|
@@ -5922,17 +5939,17 @@ function useHook()
|
|
|
5922
5939
|
* @param {any} initialValue - Initial state value.
|
|
5923
5940
|
* @returns {any} Hook result `[state, setState]`.
|
|
5924
5941
|
*/
|
|
5925
|
-
function useState(
|
|
5942
|
+
function useState(initialValue)
|
|
5926
5943
|
{
|
|
5927
5944
|
const hk = Lilact.useHook();
|
|
5928
5945
|
|
|
5929
5946
|
if( Lilact.isEmpty(hk) ) {
|
|
5930
|
-
if(typeof(
|
|
5931
|
-
else hk.value =
|
|
5947
|
+
if(typeof(initialValue)==='function') hk.value = initialValue();
|
|
5948
|
+
else hk.value = initialValue;
|
|
5932
5949
|
|
|
5933
|
-
hk.set_func = function(core, hk,
|
|
5934
|
-
if(typeof(
|
|
5935
|
-
else hk.value =
|
|
5950
|
+
hk.set_func = function(core, hk, initialValue) {
|
|
5951
|
+
if(typeof(initialValue)==='function') hk.value = initialValue(hk.value);
|
|
5952
|
+
else hk.value = initialValue;
|
|
5936
5953
|
|
|
5937
5954
|
core.component.forceUpdate();
|
|
5938
5955
|
}.bind(undefined, Lilact.current_component[0], hk);
|
|
@@ -5979,14 +5996,14 @@ function useCallback(callback, deps=undefined)
|
|
|
5979
5996
|
* @param {any} [defaultValue] - Initial context value when no Provider is present.
|
|
5980
5997
|
* @returns {any} A context object
|
|
5981
5998
|
*/
|
|
5982
|
-
function createContext(
|
|
5999
|
+
function createContext(defaultValue)
|
|
5983
6000
|
{
|
|
5984
6001
|
const prov = function({value, children}) {
|
|
5985
6002
|
return children;
|
|
5986
6003
|
};
|
|
5987
6004
|
|
|
5988
6005
|
return {
|
|
5989
|
-
default:
|
|
6006
|
+
default: defaultValue,
|
|
5990
6007
|
Provider: prov
|
|
5991
6008
|
}
|
|
5992
6009
|
}
|
|
@@ -5997,20 +6014,20 @@ function createContext(val)
|
|
|
5997
6014
|
* @param {any} context - Context object created by `createContext`.
|
|
5998
6015
|
* @returns {any} Current context value.
|
|
5999
6016
|
*/
|
|
6000
|
-
function useContext(
|
|
6017
|
+
function useContext(context)
|
|
6001
6018
|
{
|
|
6002
6019
|
let core = Lilact.current_component[0].parent;
|
|
6003
6020
|
|
|
6004
|
-
while(core.entity!==
|
|
6021
|
+
while(core.entity!==context.Provider && core.parent) {
|
|
6005
6022
|
core = core.parent;
|
|
6006
6023
|
}
|
|
6007
6024
|
|
|
6008
6025
|
if(core.parent) {
|
|
6009
6026
|
let v = core.props?.value;
|
|
6010
|
-
return v??=
|
|
6027
|
+
return v??=context.default;
|
|
6011
6028
|
}
|
|
6012
6029
|
|
|
6013
|
-
return
|
|
6030
|
+
return context.default;
|
|
6014
6031
|
}
|
|
6015
6032
|
|
|
6016
6033
|
/**
|
|
@@ -6217,7 +6234,7 @@ function useMemo(factory,deps=undefined)
|
|
|
6217
6234
|
* @param {any} initialState - Initial state for the hook.
|
|
6218
6235
|
* @returns {any} Hook result
|
|
6219
6236
|
*/
|
|
6220
|
-
function useActionState(
|
|
6237
|
+
function useActionState(action, initialState)
|
|
6221
6238
|
{
|
|
6222
6239
|
const hk = Lilact.useHook();
|
|
6223
6240
|
const [is_pending, tran_start_func] = Lilact.useTransition();
|
|
@@ -6232,7 +6249,7 @@ function useActionState(fn, initialState)
|
|
|
6232
6249
|
tran_start_func(
|
|
6233
6250
|
async ()=> {
|
|
6234
6251
|
const form_data = new FormData(sub.target, sub.submitter);
|
|
6235
|
-
hk.state = await
|
|
6252
|
+
hk.state = await action(hk.state, form_data);
|
|
6236
6253
|
},
|
|
6237
6254
|
[]
|
|
6238
6255
|
);
|
|
@@ -6324,21 +6341,6 @@ function useDeferredValue(value, initialValue)
|
|
|
6324
6341
|
return deferred;
|
|
6325
6342
|
}
|
|
6326
6343
|
|
|
6327
|
-
|
|
6328
|
-
/**
|
|
6329
|
-
* Wraps a render function so that a parent can pass a `ref` into it.
|
|
6330
|
-
* The forwarded `ref` is provided as the second argument to the render function: `(props, ref)`.
|
|
6331
|
-
*
|
|
6332
|
-
* @param {function(props: any, ref: any)} render
|
|
6333
|
-
* The component render function that receives the props and the forwarded ref.
|
|
6334
|
-
* @returns {}
|
|
6335
|
-
*/
|
|
6336
|
-
function forwardRef(render)
|
|
6337
|
-
{
|
|
6338
|
-
return (props)=>render({...props, ref: undefined}, props.ref);
|
|
6339
|
-
}
|
|
6340
|
-
|
|
6341
|
-
|
|
6342
6344
|
/**
|
|
6343
6345
|
* Customizes the value that is exposed to the parent when it uses a `ref` on a component created with `forwardRef`.
|
|
6344
6346
|
* The object returned by `factory` becomes the value of `ref.current` for object refs.
|
|
@@ -6368,7 +6370,7 @@ function useImperativeHandle(ref, factory, deps=undefined)
|
|
|
6368
6370
|
|
|
6369
6371
|
|
|
6370
6372
|
|
|
6371
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
6373
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiL1VzZXJzL2FyYXNoL0Rlc2t0b3AvUHJvamVjdHMvTGlsYWN0L3NyYy9ob29rcy5qc3giLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIvVXNlcnMvYXJhc2gvRGVza3RvcC9Qcm9qZWN0cy9MaWxhY3Qvc3JjL2hvb2tzLmpzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0E4QkM7OztDQUdBOzs7Ozs7O3dCQU91QjtDQUN2Qjs7O0lBR0csMENBQTBDO2tCQUMzQixBQUFEOzs7Ozs7Q0FNakI7Ozs7Ozt5QkFNd0I7Q0FDeEI7MkJBQzBCOztJQUV2QixlQUFnQixRQUFPO0tBQ3RCLE1BQU8scURBQW9EOzs7eUJBR3ZDLHlCQUF5QjtNQUM1QyxNQUFPLHFEQUFvRDs7OzhCQUduQztTQUNyQjs7Ozs7OztDQU9SOzs7Ozs7OzRCQU8yQjtDQUMzQjtJQUNHLHFCQUFzQixNQUFPLDBEQUF3RDtrQkFDdkU7OzsyQkFHUzs7SUFFdkIsZUFBZ0IsUUFBTzs7O09BR3BCO0tBQ0YsK0RBQWdFOzs7SUFHakUsY0FBYzthQUNMOzs7Ozs7OztDQVFaOzs7Ozs7OEJBTTZCO0NBQzdCO3VCQUN1QixBQUFELG9CQUFvQjs7OztTQUlsQzs7Ozs7O0NBTVI7Ozs7OzsyQkFNMEI7Q0FDMUI7OztPQUdNLGdEQUFnRDs7OztJQUluRCxjQUFjOzs7Ozs7OztDQVFqQjs7Ozs7O3NCQU1xQjtDQUNyQjsyQkFDMEI7O0lBRXZCLGVBQWdCLFFBQU87Ozs7Ozs7Q0FPMUI7Ozs7OzhCQUs2QjtDQUM3QjsyQkFDMEI7O0lBRXZCLGVBQWdCLFFBQU87Ozs7O0dBS3hCLGNBQWUsZUFBZTs7OztLQUkzQixlQUFlOzhCQUNVOzs7V0FHbkI7Ozs7S0FJTixlQUFlOzhCQUNVOzs7O1NBSXRCOzs7Ozs7Q0FNUjs7Ozs7OztnQ0FPK0I7Q0FDL0I7OzJCQUUwQjs7O01BR3JCO21CQUNhOztPQUVaLElBQUk7OztJQUdQLGtCQUFrQjtLQUNqQixNQUFPLHlEQUF3RDs7cUNBRS9COzs7SUFHakMsZUFBZ0IsUUFBTzs7eUJBRUYsZ0JBQWdCOztNQUVuQyxNQUFPLDhCQUE2Qjs7TUFFcEM7O3NDQUVnQzs7OzhCQUdSOztTQUVyQjs7Ozs7O0NBTVI7Ozs7Ozs7dUJBT3NCO0NBQ3RCOzJCQUMwQjs7SUFFdkIsZUFBZ0IsUUFBTzs7Ozs7OztDQU8xQjs7Ozs7OztnQ0FPK0I7Q0FDL0I7SUFDRyxxQkFBc0IsTUFBTywwREFBd0Q7a0JBQ3ZFOzs7MkJBR1M7O0lBRXZCLGdCQUFpQixRQUFPO0tBQ3ZCLCtEQUFnRTs7O0lBR2pFLGNBQWM7YUFDTDs7OzsyQkFJYyxDQUFFLElBQUkscUJBQXFCO21EQUNIOzs7Q0FHbEQ7Ozs7Ozs7MEJBT3lCO0NBQ3pCO0lBQ0cscUJBQXNCLE1BQU8sMERBQXdEO2tCQUN2RTs7OzJCQUdTOztJQUV2QixnQkFBaUIsUUFBTztLQUN2QiwrREFBZ0U7OztJQUdqRSxjQUFjO2FBQ0w7Ozs7bUJBSU0sQ0FBRSxJQUFJLHFCQUFxQjs7OztDQUk3Qzs7Ozs7Ozt3QkFPdUI7Q0FDdkI7SUFDRyxxQkFBc0IsTUFBTywwREFBd0Q7a0JBQ3ZFOzs7MkJBR1M7O0lBRXZCLGdCQUFpQixRQUFPO0tBQ3ZCLCtEQUFnRTs7OztvQkFJakQ7Ozs7O0NBS25COzs7Ozs7OytCQU84QjtDQUM5QjsyQkFDMEI7NERBQ2lDOztJQUV4RCxlQUFnQixRQUFPOzs7O29CQUlQLE9BQU87d0JBQ0g7O21CQUVMO1dBQ1AsS0FBSztvQ0FDb0I7NkJBQ1A7Ozs7Ozs7Ozs7OztDQVk3Qjs7Ozs7Ozs7MkJBUTBCO0NBQzFCOzJCQUMwQjs7SUFFdkIsZUFBZ0IsUUFBTzs7dUJBRUo7eUJBQ0UsbUJBQW1COzRCQUNoQjtNQUN0QixzQkFBdUIsbUJBQWtCOzsrQkFFaEI7OztTQUd0Qjs7Ozs7Ozs7Q0FRUjs7Q0FFQTs7Ozs7O2lDQU1nQztDQUNoQztRQUNPOzswQ0FFa0M7Ozs2QkFHYjsyQkFDRjs7V0FFZixBQUFELE1BQU87S0FDWjs7O0VBR0g7S0FDRyw2QkFBNkI7Ozs7O0VBS2hDO2NBQ1k7OztpQkFHRyxPQUFRLEFBQUQsTUFBTztLQUN6QjtFQUNIO2FBQ1c7Ozs7U0FJTCxNQUFNO01BQ1QscUJBQXFCOzs7Ozs7Ozs7O0NBVTNCOzs7Ozs7Ozs7Ozs7O29DQWFtQztDQUNuQztJQUNHLGdFQUFpRTs7OzttQkFJbEQsQ0FBRSxJQUFJO0lBQ3BCLG1DQUFtQztpQkFDdEI7O2VBRUYscUJBQXNCIn0=
|
|
6372
6374
|
// EXTERNAL MODULE: ./src/run.jsx
|
|
6373
6375
|
var run = __webpack_require__(861);
|
|
6374
6376
|
;// ./src/timers.jsx
|
|
@@ -6583,9 +6585,9 @@ function resumeTimers()
|
|
|
6583
6585
|
*/
|
|
6584
6586
|
|
|
6585
6587
|
|
|
6586
|
-
function timers_setTimeout(
|
|
6588
|
+
function timers_setTimeout(callback, delay, ...args)
|
|
6587
6589
|
{
|
|
6588
|
-
return add_timer( { [CALLBACK]:
|
|
6590
|
+
return add_timer( { [CALLBACK]: callback, [INTERVAL]: delay, [DUE]: Date.now()+delay, [REPEAT]: false, [ARGS]: args } );
|
|
6589
6591
|
}
|
|
6590
6592
|
|
|
6591
6593
|
/**
|
|
@@ -6596,9 +6598,9 @@ function timers_setTimeout(func, interval, ...args)
|
|
|
6596
6598
|
* @returns {any} Interval id.
|
|
6597
6599
|
*/
|
|
6598
6600
|
|
|
6599
|
-
function timers_setInterval(
|
|
6601
|
+
function timers_setInterval(callback, interval, ...args)
|
|
6600
6602
|
{
|
|
6601
|
-
return add_timer( { [CALLBACK]:
|
|
6603
|
+
return add_timer( { [CALLBACK]: callback, [INTERVAL]: interval, [DUE]: Date.now()+interval, [REPEAT]: true, [ARGS]: args } );
|
|
6602
6604
|
}
|
|
6603
6605
|
|
|
6604
6606
|
/**
|
|
@@ -6606,9 +6608,9 @@ function timers_setInterval(func, interval, ...args)
|
|
|
6606
6608
|
* @param {any} id - Timeout id returned by `setTimeout`.
|
|
6607
6609
|
* @returns {void}
|
|
6608
6610
|
*/
|
|
6609
|
-
function timers_clearTimeout(
|
|
6611
|
+
function timers_clearTimeout(id)
|
|
6610
6612
|
{
|
|
6611
|
-
if(all_timers[
|
|
6613
|
+
if(all_timers[id]) all_timers[id][CLEARED] = true;
|
|
6612
6614
|
}
|
|
6613
6615
|
|
|
6614
6616
|
/**
|
|
@@ -6616,9 +6618,9 @@ function timers_clearTimeout(t)
|
|
|
6616
6618
|
* @param {any} id - Interval id returned by `setInterval`.
|
|
6617
6619
|
* @returns {void}
|
|
6618
6620
|
*/
|
|
6619
|
-
function timers_clearInterval(
|
|
6621
|
+
function timers_clearInterval(id)
|
|
6620
6622
|
{
|
|
6621
|
-
if(all_timers[
|
|
6623
|
+
if(all_timers[id]) all_timers[id][CLEARED] = true;
|
|
6622
6624
|
}
|
|
6623
6625
|
|
|
6624
6626
|
/**
|
|
@@ -6651,27 +6653,27 @@ function releaseTimers()
|
|
|
6651
6653
|
* @param {number} duration - Delay in milliseconds.
|
|
6652
6654
|
* @returns {Promise} Promise that resolves after the delay.
|
|
6653
6655
|
*/
|
|
6654
|
-
function timeoutPromise(duration=0,
|
|
6656
|
+
function timeoutPromise(duration=0, timerSource=this)
|
|
6655
6657
|
{
|
|
6656
6658
|
let id, resolve, reject;
|
|
6657
6659
|
|
|
6658
6660
|
const promise = new Promise((res, rej) => {
|
|
6659
6661
|
resolve = res;
|
|
6660
6662
|
reject = rej;
|
|
6661
|
-
id =
|
|
6663
|
+
id = timerSource.setTimeout(() => {
|
|
6662
6664
|
resolve();
|
|
6663
6665
|
}, duration);
|
|
6664
6666
|
});
|
|
6665
6667
|
|
|
6666
6668
|
// note: proceed interrupts the timer, and continues the flow if used with await.
|
|
6667
6669
|
promise.proceed = () => {
|
|
6668
|
-
|
|
6670
|
+
timerSource.clearTimeout(id);
|
|
6669
6671
|
resolve();
|
|
6670
6672
|
};
|
|
6671
6673
|
|
|
6672
6674
|
// note: cancel rejects so it throws exception when using with await, this allows handling it differently.
|
|
6673
6675
|
promise.cancel = () => {
|
|
6674
|
-
|
|
6676
|
+
timerSource.clearTimeout(id);
|
|
6675
6677
|
reject();
|
|
6676
6678
|
};
|
|
6677
6679
|
|
|
@@ -6692,7 +6694,7 @@ function animationFramePromise() {
|
|
|
6692
6694
|
|
|
6693
6695
|
|
|
6694
6696
|
|
|
6695
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
6697
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiL1VzZXJzL2FyYXNoL0Rlc2t0b3AvUHJvamVjdHMvTGlsYWN0L3NyYy90aW1lcnMuanN4Iiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiL1VzZXJzL2FyYXNoL0Rlc2t0b3AvUHJvamVjdHMvTGlsYWN0L3NyYy90aW1lcnMuanN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLEFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQThCQztDQUNBO0NBQ0E7OztDQUdBOztDQUVBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7a0JBcUJpQjs7O0NBR2pCOzs7Ozs7O29CQU9tQjtDQUNuQjs7OztRQUlPLGdCQUFnQjt5QkFDRSxBQUFEOzs7TUFHbkIscUJBQXFCOzs7V0FHaEIsbUJBQW1COzs7UUFHdEI7Ozs7Ozs7O21CQVFXOzs7O21CQUlBO0NBQ2xCOytCQUM4Qjs7SUFFM0IsYUFBYTs7Ozs7O2FBTUo7O0lBRVQsdUJBQXVCO2dCQUNYOzhCQUNjOzs7Ozs7bUJBTVg7Q0FDbEI7c0JBQ3FCOzs7OztPQUtmLCtCQUErQjtNQUNoQyxrQkFBa0I7O01BRWxCLGNBQWM7Z0JBQ0o7T0FDVCxZQUFZO3VCQUNJO2VBQ1I7O1VBRUw7Ozs7U0FJRDs7Ozs7Ozs7bUJBUVU7O0lBRWYsc0JBQXNCO2dCQUNWOzhCQUNjOzs7OztDQUs3Qjs7Q0FFQTs7Ozs2QkFJNEI7Q0FDNUI7ZUFDYzs7Ozs7ZUFLQTs7O0NBR2Q7Ozs7NkJBSTRCO0NBQzVCO2VBQ2M7NkJBQ2M7OztDQUc1Qjs7Ozs2QkFJNEI7Q0FDNUI7SUFDRzs7SUFFQSxzQkFBc0I7dUJBQ0g7Ozs7TUFJakIsMEJBQTBCOzs7OzhCQUlGOzs7Ozs7O0NBTzdCOzs7Ozs7Ozs7MkJBUzBCO0NBQzFCO2tCQUNpQixDQUFFLDBEQUEwRDs7O0NBRzdFOzs7Ozs7Ozs0QkFRMkI7Q0FDM0I7a0JBQ2lCLENBQUUsNkRBQTZEOzs7Q0FHaEY7Ozs7OzZCQUs0QjtDQUM1QjtJQUNHOzs7Q0FHSDs7Ozs7OEJBSzZCO0NBQzdCO0lBQ0c7OztDQUdIOzs7OzsyQkFLMEI7Q0FDMUI7Ozs7Ozs7Q0FPQTs7Ozs4QkFJNkI7Q0FDN0I7Ozs7Ozs7Q0FPQTs7Ozs7K0JBSzhCO0NBQzlCOzs7NkJBRzZCLEFBQUQsY0FBZTs7OzZCQUdiLEFBQUQsTUFBTztTQUMxQjs7OztFQUlUO29CQUNrQixNQUFNOzJCQUNDO1VBQ2pCOzs7RUFHUjttQkFDaUIsTUFBTTsyQkFDRTtTQUNsQjs7Ozs7O0NBTVI7Ozs7c0NBSXFDLEdBQUc7dUJBQ2pCLEFBQUQsYUFBYzs2QkFDTixBQUFELE1BQU87a0JBQ2pCIn0=
|
|
6696
6698
|
;// ./src/transition.jsx
|
|
6697
6699
|
/*
|
|
6698
6700
|
|
|
@@ -6998,79 +7000,207 @@ if (typeof Event !== 'undefined' && !Event.prototype.composedPath) {
|
|
|
6998
7000
|
// Event pool for reuse
|
|
6999
7001
|
const _pool = [];
|
|
7000
7002
|
const MAX_POOL_SIZE = 10;
|
|
7003
|
+
const POINTER_TYPES = ["mouse", "pen", "touch"];
|
|
7001
7004
|
|
|
7002
7005
|
function createSyntheticEvent(nativeEvent, currentTarget) {
|
|
7003
|
-
|
|
7004
|
-
|
|
7005
|
-
|
|
7006
|
-
|
|
7007
|
-
|
|
7008
|
-
|
|
7009
|
-
|
|
7010
|
-
|
|
7011
|
-
|
|
7012
|
-
|
|
7013
|
-
|
|
7014
|
-
|
|
7015
|
-
|
|
7016
|
-
|
|
7017
|
-
|
|
7018
|
-
|
|
7019
|
-
|
|
7020
|
-
|
|
7021
|
-
|
|
7022
|
-
|
|
7023
|
-
|
|
7024
|
-
|
|
7006
|
+
const e = _pool.length ? _pool.pop() : {};
|
|
7007
|
+
|
|
7008
|
+
e.nativeEvent = nativeEvent;
|
|
7009
|
+
e.type = nativeEvent.type;
|
|
7010
|
+
e.target = nativeEvent.target || nativeEvent.srcElement || null;
|
|
7011
|
+
e.currentTarget = currentTarget || nativeEvent.currentTarget || null;
|
|
7012
|
+
e.timeStamp = nativeEvent.timeStamp || Date.now();
|
|
7013
|
+
|
|
7014
|
+
// Standard flags
|
|
7015
|
+
e.defaultPrevented = !!nativeEvent.defaultPrevented;
|
|
7016
|
+
e.isPropagationStopped = false;
|
|
7017
|
+
e.isPersistent = false;
|
|
7018
|
+
|
|
7019
|
+
// Common DOM meta when present
|
|
7020
|
+
e.bubbles = !!nativeEvent.bubbles;
|
|
7021
|
+
e.cancelable = !!nativeEvent.cancelable;
|
|
7022
|
+
e.composed = !!nativeEvent.composed;
|
|
7023
|
+
e.detail = nativeEvent.detail;
|
|
7024
|
+
|
|
7025
|
+
e.relatedTarget =
|
|
7026
|
+
nativeEvent.relatedTarget ||
|
|
7027
|
+
(nativeEvent.fromElement ? nativeEvent.fromElement : null) ||
|
|
7028
|
+
(nativeEvent.toElement ? nativeEvent.toElement : null) ||
|
|
7029
|
+
null;
|
|
7030
|
+
|
|
7031
|
+
// Modifier keys
|
|
7032
|
+
e.altKey = !!nativeEvent.altKey;
|
|
7033
|
+
e.ctrlKey = !!nativeEvent.ctrlKey;
|
|
7034
|
+
e.metaKey = !!nativeEvent.metaKey;
|
|
7035
|
+
e.shiftKey = !!nativeEvent.shiftKey;
|
|
7036
|
+
|
|
7037
|
+
// preventDefault / stopPropagation
|
|
7038
|
+
e.isDefaultPrevented = () => e.defaultPrevented;
|
|
7039
|
+
e.preventDefault = () => {
|
|
7040
|
+
if (nativeEvent.preventDefault) nativeEvent.preventDefault();
|
|
7041
|
+
e.defaultPrevented = true;
|
|
7042
|
+
};
|
|
7043
|
+
|
|
7044
|
+
e.stopPropagation = () => {
|
|
7045
|
+
if (nativeEvent.stopPropagation) nativeEvent.stopPropagation();
|
|
7046
|
+
e.isPropagationStopped = true;
|
|
7047
|
+
};
|
|
7025
7048
|
|
|
7026
|
-
|
|
7027
|
-
|
|
7028
|
-
|
|
7029
|
-
|
|
7030
|
-
|
|
7049
|
+
e.persist = () => { e.isPersistent = true; };
|
|
7050
|
+
|
|
7051
|
+
// Key/mouse/pointer related
|
|
7052
|
+
e.key = nativeEvent.key || null;
|
|
7053
|
+
e.code = nativeEvent.code || null;
|
|
7054
|
+
e.which = nativeEvent.which ?? nativeEvent.keyCode ?? null;
|
|
7055
|
+
|
|
7056
|
+
// Mouse / Pointer button state normalization
|
|
7057
|
+
// - "button" often is 0/1/2 for mouse; for pointer events it's also present.
|
|
7058
|
+
// - "buttons" is a bitmask of which buttons are down (often important for drag).
|
|
7059
|
+
e.button = nativeEvent.button ?? null;
|
|
7060
|
+
e.buttons = nativeEvent.buttons ?? null;
|
|
7061
|
+
|
|
7062
|
+
// Pointer identity + type (critical for multi-touch / pointer capture)
|
|
7063
|
+
e.pointerId = nativeEvent.pointerId ?? null;
|
|
7064
|
+
e.pointerType = nativeEvent.pointerType ?? null;
|
|
7065
|
+
e.isPrimary = nativeEvent.isPrimary ?? null;
|
|
7066
|
+
|
|
7067
|
+
// Coordinates: React/SyntheticEvent uses these directly (React provides them too)
|
|
7068
|
+
e.clientX = nativeEvent.clientX ?? 0;
|
|
7069
|
+
e.clientY = nativeEvent.clientY ?? 0;
|
|
7070
|
+
e.screenX = nativeEvent.screenX ?? 0;
|
|
7071
|
+
e.screenY = nativeEvent.screenY ?? 0;
|
|
7072
|
+
|
|
7073
|
+
// pageX/pageY might be derived; keep if present
|
|
7074
|
+
// (Using pageX/pageY only if you need it; most drag uses clientX/Y.)
|
|
7075
|
+
e.pageX = nativeEvent.pageX ?? null;
|
|
7076
|
+
e.pageY = nativeEvent.pageY ?? null;
|
|
7077
|
+
|
|
7078
|
+
// movementX/movementY exist on some mouse events; harmless if absent
|
|
7079
|
+
e.movementX = nativeEvent.movementX ?? 0;
|
|
7080
|
+
e.movementY = nativeEvent.movementY ?? 0;
|
|
7081
|
+
|
|
7082
|
+
// Pressure/tilt (Pointer Events)
|
|
7083
|
+
e.pressure = nativeEvent.pressure ?? null;
|
|
7084
|
+
e.tiltX = nativeEvent.tiltX ?? null;
|
|
7085
|
+
e.tiltY = nativeEvent.tiltY ?? null;
|
|
7086
|
+
e.width = nativeEvent.width ?? null;
|
|
7087
|
+
e.height = nativeEvent.height ?? null;
|
|
7088
|
+
|
|
7089
|
+
// If the native event has a pointer capture API, you can forward bind/capture calls.
|
|
7090
|
+
// (These are methods on the EventTarget, not on the event, but keeping fields is enough.)
|
|
7091
|
+
e.pointerEventsSupported = POINTER_TYPES.includes(e.pointerType);
|
|
7092
|
+
|
|
7093
|
+
// For input-like events normalize value and checked
|
|
7094
|
+
try {
|
|
7095
|
+
const tgt = e.target;
|
|
7096
|
+
e.value = tgt && ("value" in tgt) ? tgt.value : undefined;
|
|
7097
|
+
e.checked = tgt && ("checked" in tgt) ? tgt.checked : undefined;
|
|
7098
|
+
|
|
7099
|
+
// Some input events have selectionStart/selectionEnd etc.
|
|
7100
|
+
e.selectionStart = tgt && ("selectionStart" in tgt) ? tgt.selectionStart : undefined;
|
|
7101
|
+
e.selectionEnd = tgt && ("selectionEnd" in tgt) ? tgt.selectionEnd : undefined;
|
|
7102
|
+
} catch (err) {
|
|
7103
|
+
e.value = undefined;
|
|
7104
|
+
e.checked = undefined;
|
|
7105
|
+
e.selectionStart = undefined;
|
|
7106
|
+
e.selectionEnd = undefined;
|
|
7107
|
+
}
|
|
7031
7108
|
|
|
7032
|
-
|
|
7033
|
-
|
|
7034
|
-
|
|
7035
|
-
|
|
7036
|
-
|
|
7037
|
-
} catch (err) {
|
|
7038
|
-
e.value = undefined;
|
|
7039
|
-
e.checked = undefined;
|
|
7040
|
-
}
|
|
7109
|
+
// Touch lists (useful for touch events; sometimes pointerType === "touch" uses pointer events instead)
|
|
7110
|
+
// Keep references only if they exist.
|
|
7111
|
+
e.touches = nativeEvent.touches || null;
|
|
7112
|
+
e.targetTouches = nativeEvent.targetTouches || null;
|
|
7113
|
+
e.changedTouches = nativeEvent.changedTouches || null;
|
|
7041
7114
|
|
|
7042
|
-
|
|
7043
|
-
|
|
7115
|
+
// composedPath helper
|
|
7116
|
+
e.path = typeof nativeEvent.composedPath === "function"
|
|
7117
|
+
? nativeEvent.composedPath()
|
|
7118
|
+
: [e.target];
|
|
7044
7119
|
|
|
7045
|
-
|
|
7120
|
+
// Additional keyboard extras when present
|
|
7121
|
+
e.repeat = nativeEvent.repeat ?? false;
|
|
7122
|
+
e.location = nativeEvent.location ?? 0;
|
|
7123
|
+
|
|
7124
|
+
return e;
|
|
7046
7125
|
}
|
|
7047
7126
|
|
|
7048
7127
|
function releaseSyntheticEvent(e) {
|
|
7049
|
-
|
|
7050
|
-
|
|
7051
|
-
|
|
7052
|
-
|
|
7053
|
-
|
|
7054
|
-
|
|
7055
|
-
|
|
7056
|
-
|
|
7057
|
-
|
|
7058
|
-
|
|
7059
|
-
|
|
7060
|
-
|
|
7061
|
-
|
|
7062
|
-
|
|
7063
|
-
|
|
7064
|
-
|
|
7065
|
-
|
|
7066
|
-
|
|
7067
|
-
|
|
7068
|
-
|
|
7069
|
-
|
|
7070
|
-
|
|
7071
|
-
|
|
7128
|
+
if (e && !e.isPersistent) {
|
|
7129
|
+
e.nativeEvent = null;
|
|
7130
|
+
e.type = null;
|
|
7131
|
+
e.target = null;
|
|
7132
|
+
e.currentTarget = null;
|
|
7133
|
+
e.timeStamp = 0;
|
|
7134
|
+
|
|
7135
|
+
e.defaultPrevented = false;
|
|
7136
|
+
e.isPropagationStopped = false;
|
|
7137
|
+
|
|
7138
|
+
e.isPersistent = false;
|
|
7139
|
+
|
|
7140
|
+
e.isDefaultPrevented = null;
|
|
7141
|
+
e.preventDefault = null;
|
|
7142
|
+
e.stopPropagation = null;
|
|
7143
|
+
e.persist = null;
|
|
7144
|
+
|
|
7145
|
+
e.bubbles = false;
|
|
7146
|
+
e.cancelable = false;
|
|
7147
|
+
e.composed = false;
|
|
7148
|
+
e.detail = undefined;
|
|
7149
|
+
e.relatedTarget = null;
|
|
7150
|
+
|
|
7151
|
+
// modifier keys
|
|
7152
|
+
e.altKey = false;
|
|
7153
|
+
e.ctrlKey = false;
|
|
7154
|
+
e.metaKey = false;
|
|
7155
|
+
e.shiftKey = false;
|
|
7156
|
+
|
|
7157
|
+
// pointer/mouse fields
|
|
7158
|
+
e.key = null;
|
|
7159
|
+
e.code = null;
|
|
7160
|
+
e.which = null;
|
|
7161
|
+
|
|
7162
|
+
e.button = null;
|
|
7163
|
+
e.buttons = null;
|
|
7164
|
+
e.pointerId = null;
|
|
7165
|
+
e.pointerType = null;
|
|
7166
|
+
e.isPrimary = null;
|
|
7167
|
+
|
|
7168
|
+
e.clientX = 0;
|
|
7169
|
+
e.clientY = 0;
|
|
7170
|
+
e.screenX = 0;
|
|
7171
|
+
e.screenY = 0;
|
|
7172
|
+
e.pageX = null;
|
|
7173
|
+
e.pageY = null;
|
|
7174
|
+
|
|
7175
|
+
e.movementX = 0;
|
|
7176
|
+
e.movementY = 0;
|
|
7177
|
+
|
|
7178
|
+
e.pressure = null;
|
|
7179
|
+
e.tiltX = null;
|
|
7180
|
+
e.tiltY = null;
|
|
7181
|
+
e.width = null;
|
|
7182
|
+
e.height = null;
|
|
7183
|
+
|
|
7184
|
+
// input-like
|
|
7185
|
+
e.value = undefined;
|
|
7186
|
+
e.checked = undefined;
|
|
7187
|
+
e.selectionStart = undefined;
|
|
7188
|
+
e.selectionEnd = undefined;
|
|
7189
|
+
|
|
7190
|
+
// touch lists
|
|
7191
|
+
e.touches = null;
|
|
7192
|
+
e.targetTouches = null;
|
|
7193
|
+
e.changedTouches = null;
|
|
7194
|
+
|
|
7195
|
+
e.path = null;
|
|
7196
|
+
e.repeat = false;
|
|
7197
|
+
e.location = 0;
|
|
7198
|
+
|
|
7199
|
+
if (_pool.length < MAX_POOL_SIZE) _pool.push(e);
|
|
7200
|
+
}
|
|
7072
7201
|
}
|
|
7073
7202
|
|
|
7203
|
+
|
|
7074
7204
|
// Main wrapper factory
|
|
7075
7205
|
// fn: function(syntheticEvent) { ... }
|
|
7076
7206
|
// opts: { capture: bool, passive: bool, once: bool, stopPropagationOnTrueReturn: bool }
|
|
@@ -7106,7 +7236,7 @@ function addWrappedEventListener(target, type, fn, options = {}) {
|
|
|
7106
7236
|
}
|
|
7107
7237
|
|
|
7108
7238
|
|
|
7109
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
7239
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiL1VzZXJzL2FyYXNoL0Rlc2t0b3AvUHJvamVjdHMvTGlsYWN0L3NyYy9ldmVudHMuanN4Iiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiL1VzZXJzL2FyYXNoL0Rlc2t0b3AvUHJvamVjdHMvTGlsYWN0L3NyYy9ldmVudHMuanN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLEFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0ErQkM7SUFDRywrREFBK0Q7Ozt3QkFHM0MsSUFBSTsrQkFDRyxzREFBc0Q7O3VCQUU5RCx3QkFBeUIsZUFBYzs7Ozs7SUFLMUQsZ0VBQWdFO3lDQUMzQixHQUFHOzs7U0FHbkMsS0FBSzthQUNEOzs7WUFHRDs7Ozs7Q0FLWDs7Ozs7cUNBS29DLDZCQUE2QjtxQ0FDN0IsS0FBSzs7Ozs7O2tEQU1ROztHQUUvQzs7Ozs7R0FLQTs7Ozs7Ozs7S0FRRTtLQUNBOzs7R0FHRjs7Ozs7O0dBTUE7MEJBQ3VCO3NCQUNKLE1BQU07UUFDcEIsdURBQXVEOzs7O3VCQUl4QyxNQUFNO1FBQ3JCLHlEQUF5RDs7OztlQUlsRCxNQUFNOztHQUVsQjs7Ozs7R0FLQTtHQUNBO0dBQ0E7Ozs7R0FJQTs7Ozs7R0FLQTs7Ozs7O0dBTUE7R0FDQTs7OztHQUlBOzs7O0dBSUE7Ozs7Ozs7R0FPQTtHQUNBO29EQUNpRDs7R0FFakQ7T0FDSTs7c0JBRWU7d0JBQ0U7O0tBRW5COytCQUMwQjs2QkFDRjtXQUNsQixNQUFNOzs7Ozs7O0dBT2Q7R0FDQTs7Ozs7R0FLQTs7K0JBRTRCOzs7R0FHNUI7Ozs7Ozs7c0NBT21DLElBQUk7TUFDcEMsdUJBQXVCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztLQXVCeEI7Ozs7OztLQU1BOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7S0EyQkE7Ozs7OztLQU1BOzs7Ozs7Ozs7UUFTRyx5Q0FBeUM7Ozs7O0NBS2hEO0NBQ0E7Q0FDQTs2QkFDNEIsV0FBWSxLQUFJO1FBQ3JDOzt5QkFFaUIsY0FBYzs7O3NDQUdEOztPQUUvQjtxQkFDYzs7SUFFakI7T0FDRyxpREFBaUQ7MkJBQzdCOzthQUVkO0lBQ1Q7eUJBQ3FCOzs7OztDQUt4Qjt3Q0FDdUMsNEJBQTZCLEtBQUk7OEJBQzNDOzt5QkFFTDtFQUN2QjtTQUNPLGdDQUFnQyJ9
|
|
7110
7240
|
;// ./src/redux.jsx
|
|
7111
7241
|
/*
|
|
7112
7242
|
|
|
@@ -7374,6 +7504,7 @@ function getErrorLocation(err) // works for both error and error-event, and also
|
|
|
7374
7504
|
// Chrome/Edge: at fn (eval:xxx:LINE:COL)
|
|
7375
7505
|
// Firefox: fn@eval:xxx:LINE:COL
|
|
7376
7506
|
// Safari: @eval:xxx:LINE:COL (sometimes)
|
|
7507
|
+
/** @ignore */
|
|
7377
7508
|
function parseEvalLocationFromStack(stack, urlPrefix = "eval:/") {
|
|
7378
7509
|
const raw = typeof stack === "string" ? stack : String(stack || "");
|
|
7379
7510
|
const lines = raw.split(/\r?\n/);
|
|
@@ -7441,34 +7572,36 @@ function scanBlockLabels(code, path)
|
|
|
7441
7572
|
* Debug tool to get the Lilact traced location of an error. It can also produce some block based stack trace
|
|
7442
7573
|
* if `Lilact.transpilerConfig.enableLabelStack` is set to `true` before loading the script. This is `false`
|
|
7443
7574
|
* by default for efficiency.
|
|
7575
|
+
*
|
|
7576
|
+
* @param error - The error object
|
|
7444
7577
|
*
|
|
7445
7578
|
* @returns A new object that includes `path`, `row`, `col`, `msg`, `name`, and optional `stack`.
|
|
7446
7579
|
* The exception itself is stored as `err`.
|
|
7447
7580
|
*/
|
|
7448
|
-
function traceError(
|
|
7581
|
+
function traceError(error)
|
|
7449
7582
|
{
|
|
7450
|
-
if(
|
|
7451
|
-
return
|
|
7583
|
+
if(error?.is_traced) {
|
|
7584
|
+
return error;
|
|
7452
7585
|
}
|
|
7453
7586
|
|
|
7454
|
-
const loc = parseEvalLocationFromStack(
|
|
7587
|
+
const loc = parseEvalLocationFromStack(error.stack);
|
|
7455
7588
|
|
|
7456
7589
|
const obj = {
|
|
7457
|
-
fileName: loc.url?.slice(6) ||
|
|
7590
|
+
fileName: loc.url?.slice(6) || error.fileName,
|
|
7458
7591
|
|
|
7459
7592
|
lineNumber: loc.line,
|
|
7460
7593
|
columnNumber: loc.col,
|
|
7461
7594
|
|
|
7462
|
-
message:
|
|
7463
|
-
name:
|
|
7595
|
+
message: error.message,
|
|
7596
|
+
name: error.name,
|
|
7464
7597
|
|
|
7465
|
-
stack:
|
|
7466
|
-
_error:
|
|
7598
|
+
stack: error.stack,
|
|
7599
|
+
_error: error,
|
|
7467
7600
|
|
|
7468
7601
|
is_traced: true
|
|
7469
7602
|
};
|
|
7470
7603
|
|
|
7471
|
-
if(
|
|
7604
|
+
if( error.name!=='JSXParseError' ) {
|
|
7472
7605
|
|
|
7473
7606
|
let mps;
|
|
7474
7607
|
|
|
@@ -7481,18 +7614,18 @@ function traceError(err)
|
|
|
7481
7614
|
obj.lineNumber = mloc.line;
|
|
7482
7615
|
obj.columnNumber = mloc.col;
|
|
7483
7616
|
}
|
|
7484
|
-
else if(
|
|
7617
|
+
else if( error.lilact_trace!==undefined) {
|
|
7485
7618
|
|
|
7486
|
-
let loc = getErrorLocation(
|
|
7619
|
+
let loc = getErrorLocation(error);
|
|
7487
7620
|
|
|
7488
7621
|
let mps;
|
|
7489
7622
|
let blk;
|
|
7490
7623
|
|
|
7491
|
-
if(typeof(
|
|
7492
|
-
blk = Lilact.blocks_info.labels[
|
|
7624
|
+
if(typeof(error.lilact_trace)==='object') {
|
|
7625
|
+
blk = Lilact.blocks_info.labels[error.lilact_trace[0]];
|
|
7493
7626
|
}
|
|
7494
7627
|
else {
|
|
7495
|
-
blk = Lilact.blocks_info.labels[
|
|
7628
|
+
blk = Lilact.blocks_info.labels[error.lilact_trace];
|
|
7496
7629
|
}
|
|
7497
7630
|
|
|
7498
7631
|
if(blk) {
|
|
@@ -7510,8 +7643,8 @@ function traceError(err)
|
|
|
7510
7643
|
|
|
7511
7644
|
}
|
|
7512
7645
|
else {
|
|
7513
|
-
const loc = getErrorLocation(
|
|
7514
|
-
if(
|
|
7646
|
+
const loc = getErrorLocation(error);
|
|
7647
|
+
if(error.fileName) obj.fileName = error.fileName;
|
|
7515
7648
|
obj.lineNumber = loc.line;
|
|
7516
7649
|
obj.columnNumber = loc.col;
|
|
7517
7650
|
}
|
|
@@ -7535,14 +7668,15 @@ function traceError(err)
|
|
|
7535
7668
|
* Lilact.globalErrorHandler(e);
|
|
7536
7669
|
* });
|
|
7537
7670
|
* `
|
|
7671
|
+
* @param error - The error object
|
|
7538
7672
|
*
|
|
7539
7673
|
*/
|
|
7540
|
-
function globalErrorHandler(
|
|
7674
|
+
function globalErrorHandler(error)
|
|
7541
7675
|
{
|
|
7542
7676
|
Lilact.pauseTimers();
|
|
7543
|
-
if(
|
|
7677
|
+
if(error.error) error = error.error;
|
|
7544
7678
|
|
|
7545
|
-
|
|
7679
|
+
error = Lilact.traceError(error);
|
|
7546
7680
|
|
|
7547
7681
|
const cls = Lilact.emotion.css(`
|
|
7548
7682
|
background: linear-gradient(135deg, #fff2f2d4, #ffffffd4);
|
|
@@ -7570,11 +7704,11 @@ function globalErrorHandler(err)
|
|
|
7570
7704
|
//<b>⚠</b>
|
|
7571
7705
|
el.innerHTML =
|
|
7572
7706
|
`<h3 style=""><red>Error!</red></h3>
|
|
7573
|
-
<b>${
|
|
7574
|
-
${Number.isFinite(
|
|
7575
|
-
<b>${
|
|
7576
|
-
${Lilact.required_scripts[
|
|
7577
|
-
${
|
|
7707
|
+
<b>${error.fileName?'At '+error.fileName:''}
|
|
7708
|
+
${Number.isFinite(error.lineNumber)?": Line "+(error.lineNumber+1):""}</b><br><br>
|
|
7709
|
+
<b>${error.name}</b>: <span>${error.message}</span><br><br>
|
|
7710
|
+
${Lilact.required_scripts[error.fileName]?'<code><pre></pre><pre><red></red></pre><pre></pre></code>':''}
|
|
7711
|
+
${error._error.componentStackLog?'<br>Component Stack:<br><code><pre>'+error._error.componentStackLog+'</pre></code>':''}
|
|
7578
7712
|
`;
|
|
7579
7713
|
|
|
7580
7714
|
|
|
@@ -7582,16 +7716,16 @@ function globalErrorHandler(err)
|
|
|
7582
7716
|
|
|
7583
7717
|
const pres = el.querySelectorAll('pre');
|
|
7584
7718
|
|
|
7585
|
-
if(Lilact.required_scripts[
|
|
7586
|
-
const lines = Lilact.required_scripts[
|
|
7719
|
+
if(Lilact.required_scripts[error.fileName]) {
|
|
7720
|
+
const lines = Lilact.required_scripts[error.fileName].code.split("\n");
|
|
7587
7721
|
|
|
7588
|
-
if(lines?.[
|
|
7589
|
-
pres[0].innerText = lines[
|
|
7722
|
+
if(lines?.[error.lineNumber-1])
|
|
7723
|
+
pres[0].innerText = lines[error.lineNumber-1];
|
|
7590
7724
|
|
|
7591
|
-
if(lines?.[
|
|
7725
|
+
if(lines?.[error.lineNumber]) el.querySelector('pre red').innerText = lines[error.lineNumber];
|
|
7592
7726
|
|
|
7593
|
-
if(lines?.[
|
|
7594
|
-
pres[2].innerText = lines[
|
|
7727
|
+
if(lines?.[error.lineNumber+1])
|
|
7728
|
+
pres[2].innerText = lines[error.lineNumber+1];
|
|
7595
7729
|
}
|
|
7596
7730
|
|
|
7597
7731
|
el.showModal();
|
|
@@ -7604,7 +7738,7 @@ const blocks_info = { counter: 0, labels: {} };
|
|
|
7604
7738
|
let error = null; // this is only to ease debuggin,
|
|
7605
7739
|
|
|
7606
7740
|
|
|
7607
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
7741
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiL1VzZXJzL2FyYXNoL0Rlc2t0b3AvUHJvamVjdHMvTGlsYWN0L3NyYy9lcnJvcnMuanN4Iiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiL1VzZXJzL2FyYXNoL0Rlc2t0b3AvUHJvamVjdHMvTGlsYWN0L3NyYy9lcnJvcnMuanN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLEFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBZ0NDOzswQkFFeUIsTUFBTTtDQUMvQjtJQUNHLCtFQUErRTs7OztVQUl6RTs7O2NBR0ksMEJBQTBCO0lBQ3BDLGVBQWU7V0FDUiw4QkFBOEI7OztJQUdyQyxRQUFRO1VBQ0YsZUFBZSx5QkFBeUI7Ozs7OztDQU1qRDtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7b0NBQ21DLDhCQUE4Qjt5REFDVDswQkFDOUIsQUFBRDs7R0FFdkI7R0FDQTt3QkFDcUI7O09BRWpCLG1CQUFtQjt3QkFDRjtRQUNoQixjQUFlOzt5QkFFRTtRQUNqQjs7OzhCQUdzQjttREFDcUI7O1FBRTNDLGVBQWdCLGdCQUFnQixxQ0FBc0MsZ0JBQWM7Y0FDOUU7Ozs7VUFJSiw0RUFBNEUsV0FBVzs7O3NCQUczRSxJQUFJO2dCQUNWLFdBQVksQUFBRDs7O3FCQUdOO0NBQ3BCOzs7S0FHSSxpQkFBaUI7S0FDakI7S0FDQSxlQUFnQixrQ0FBaUM7Ozs7O0lBS2xEO1NBQ0ssNkJBQThCLEFBQUQ7Ozs7Q0FJckM7Z0NBQytCO0NBQy9CO3VCQUNzQixjQUFnQixBQUFEOztFQUVwQztZQUNVO0VBQ1QsT0FBTztxQ0FDNEI7Ozs7Ozs7O0NBUXJDOzs7Ozs7Ozs7OzJCQVUwQjtDQUMxQjtJQUNHLG1CQUFtQjs7Ozt3Q0FJaUI7O2NBRTFCOzJCQUNhOzs7Ozs7Ozs7Ozs7OztJQWN2QixpQ0FBaUM7Ozs7S0FJaEMsVUFBVTs7Ozs0QkFJYTs7Ozs7VUFLbEIsa0NBQWtDOzs4QkFFZDs7Ozs7TUFLeEIsTUFBTyxrQ0FBaUM7OztTQUdyQzs7OztNQUlILE1BQU07Ozs7OztzQkFNVTs7Ozs7Ozs7T0FRZjsrQkFDd0I7S0FDMUI7Ozs7Ozs7Ozs7Q0FVSjs7Ozs7Ozs7Ozs7Ozs7Ozs7bUNBaUJrQztDQUNsQztvQkFDbUI7SUFDaEI7OzJCQUV1Qjs7Z0NBRUs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O21DQW9CRzs7O0VBR2pDOzs7Ozs7Ozs7OzsyQkFXeUI7O2tDQUVPOztJQUU5QiwwQ0FBMEM7bUVBQ3FCOztLQUU5RDs7O0tBR0EsNENBQTRDOztLQUU1Qzs7OztjQUlTOzs7Q0FHYjs0QkFDMkIsc0JBQXNCOztDQUVqRDswQkFDeUIifQ==
|
|
7608
7742
|
;// ./src/router.jsx
|
|
7609
7743
|
/*
|
|
7610
7744
|
|
|
@@ -7791,6 +7925,8 @@ function NavLink({
|
|
|
7791
7925
|
className,
|
|
7792
7926
|
activeStyle,
|
|
7793
7927
|
style,
|
|
7928
|
+
target,
|
|
7929
|
+
download,
|
|
7794
7930
|
replace = false,
|
|
7795
7931
|
state,
|
|
7796
7932
|
children,
|
|
@@ -7816,7 +7952,7 @@ function NavLink({
|
|
|
7816
7952
|
}
|
|
7817
7953
|
|
|
7818
7954
|
return (
|
|
7819
|
-
createComponent( "a", { ...rest, "href": href, "onClick": handleClick, "className": finalClassName, "style": mergedStyle, "aria-current": isActive ? "page" : undefined }, typeof children === "function" ? children({ isActive }) : children )
|
|
7955
|
+
createComponent( "a", { ...rest, "href": href, "onClick": handleClick, "target": target, "download": download, "className": finalClassName, "style": mergedStyle, "aria-current": isActive ? "page" : undefined }, typeof children === "function" ? children({ isActive }) : children )
|
|
7820
7956
|
);
|
|
7821
7957
|
}
|
|
7822
7958
|
|
|
@@ -7902,7 +8038,7 @@ function Routes({ children }) {
|
|
|
7902
8038
|
|
|
7903
8039
|
|
|
7904
8040
|
|
|
7905
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
8041
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiL1VzZXJzL2FyYXNoL0Rlc2t0b3AvUHJvamVjdHMvTGlsYWN0L3NyYy9yb3V0ZXIuanN4Iiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiL1VzZXJzL2FyYXNoL0Rlc2t0b3AvUHJvamVjdHMvTGlsYWN0L3NyYy9yb3V0ZXIuanN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLEFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQThCQzs7UUFFTztRQUNBOztvQ0FFNEI7bUNBQ0EsQUFBRCxVQUFXOztDQUU3QzttQkFDa0IsUUFBUSw4QkFBK0Isc0JBQXNCLG9CQUFvQjs7Q0FFbkc7Ozs7Ozs7MkJBTzJCLEFBQUQsOEJBQThCO3VCQUNsQyxNQUFNOzt5QkFFSjttQ0FDVSxVQUFXO3NEQUNRO2tEQUNKO1VBQ3hDOzs7Ozs7OzswQ0FRZ0M7V0FDOUIsQUFBRCxNQUFPO21CQUNFLGlCQUFpQixZQUFhOzt5QkFFeEI7eUJBQ0E7O0VBRXZCO1VBQ1E7O1NBRUQsTUFBTTs2QkFDYzs2QkFDQTs7Ozs4QkFJQyxBQUFELElBQU0sNkJBQTZCLFFBQU87S0FDbEUseUJBQXlCO2FBQ2pCOzs7O3VCQUlVO3FCQUNGOztLQUVoQiw4QkFBK0IsQUFBRDt3QkFDVixBQUFEOzthQUVYLFlBQWE7OztTQUdsQiwyQ0FBaUU7OztDQUd6RTs7Ozs7NEJBSzJCLEdBQUc7d0JBQ1A7S0FDbkIsc0JBQXNCOzs7O0NBSTFCOzs7Ozs0QkFLMkIsR0FBRzt3QkFDUDtLQUNuQixzQkFBc0I7OzttQkFHUixHQUFHO3dCQUNFO3VCQUNEOzs7Q0FHdEI7Ozs7Ozs7Ozs7Ozs7OztxQkFlcUIsQUFBRCxpR0FBaUc7OEJBQ3hGOzhCQUNBO3NCQUNSLElBQUk7TUFDcEIsaUJBQWlCO01BQ2pCOzs7R0FHRjs7O21CQUdlO1dBQ1IsSUFBSzs7U0FFUDtFQUNOLCtIQUNDOzs7O3VCQUttQixJQUFJO0tBQ3RCO2tCQUNjLEFBQUQ7Ozs7Q0FJakI7Ozs7Ozs7Ozs7Ozs7Ozt3QkFld0IsQUFBRDs7Ozs7Ozs7Ozs7Ozs7SUFjcEI7OEJBQzBCOzhCQUNBO3NEQUN3QixjQUFjLFdBQVc7O3NDQUV6QywrQkFBK0IsNEJBQTRCLHdCQUF3QixhQUFjO3VFQUMvRCxBQUFEO3NGQUNlLGNBQWM7MkRBQ3hDLEFBQUQ7aUNBQzFCLEtBQUssaUJBQWtCLFNBQVEsZUFBZ0I7OEJBQ2xEOztzQkFFUixJQUFJO01BQ3BCLGlCQUFpQjtNQUNqQjttQkFDYTtXQUNSLElBQUs7OztTQUdQO0VBQ04seUxBQ0MseUNBQTJDLEFBQUQ7Ozs7Q0FLN0M7Q0FDQTtxQkFDb0IsVUFBVTs7RUFFN0I7eUNBQ3dDLEFBQUQsbUJBQW9CLEFBQUQ7V0FDaEQsQUFBRCx3QkFBeUIsYUFBYTtrQkFDOUI7OztXQUdQLEFBQUQsc0JBQXNCOzswQkFFUDtTQUNqQjs7O21CQUdVLG9CQUFvQjtLQUNsQyx5QkFBeUIseUJBQXlCLE1BQU07UUFDckQsbUNBQW1DO3NCQUNyQjtLQUNqQixZQUFZO2lCQUNBO29CQUNJLEFBQUQsVUFBVyw4QkFBK0I7RUFDNUQ7S0FDRyxtQ0FBbUM7OERBQ3NCOztTQUVyRDs7O0NBR1I7Q0FDQTs7Ozs7Ozs7c0JBUXNCLEFBQUQscUNBQXFDO0VBQ3pEOzs7Q0FHRDs7Ozs7O3VCQU11QixBQUFELGVBQWU7OEJBQ1I7O0VBRTVCO2lDQUMrQjs7TUFFM0Isb0NBQW9DOztHQUV2Qzs7Ozs7U0FLTSwrQkFBK0I7TUFDbEMsVUFBVTtJQUNaO09BQ0csVUFBVTtZQUNMLHFCQUEwQztjQUN4QyxjQUFjO0tBQ3ZCO1lBQ08scUJBQTBDLEVBQVE7V0FDbkQ7WUFDQyxxQkFBMEM7Ozs7O0VBS3BEIn0=
|
|
7906
8042
|
;// ./src/accessories.jsx
|
|
7907
8043
|
/*
|
|
7908
8044
|
|
|
@@ -7987,8 +8123,6 @@ function Spinner({
|
|
|
7987
8123
|
/**
|
|
7988
8124
|
* ErrorBoundary component that catches errors in its child component tree and renders a fallback UI.
|
|
7989
8125
|
*
|
|
7990
|
-
* @component
|
|
7991
|
-
*
|
|
7992
8126
|
* @param {Object} props
|
|
7993
8127
|
* @param {any} props.children - The component subtree to render and monitor for runtime errors.
|
|
7994
8128
|
* @param {any} props.Fallback - UI to render when an error is caught. Receives two props:
|
|
@@ -8025,8 +8159,6 @@ class ErrorBoundary extends Component {
|
|
|
8025
8159
|
* Suspense - boundary for asynchronous loading.
|
|
8026
8160
|
* Shows a fallback UI while descendant thrown promises are pending, and renders real content once resolved.
|
|
8027
8161
|
*
|
|
8028
|
-
* @component Suspense
|
|
8029
|
-
*
|
|
8030
8162
|
* @param {Object} props
|
|
8031
8163
|
* @param {any} props.fallback - Element shown while descendants are loading.
|
|
8032
8164
|
* @param {any} props.children - Suspended children.
|
|
@@ -8186,7 +8318,7 @@ class Suspense extends Component
|
|
|
8186
8318
|
|
|
8187
8319
|
|
|
8188
8320
|
|
|
8189
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
8321
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiL1VzZXJzL2FyYXNoL0Rlc2t0b3AvUHJvamVjdHMvTGlsYWN0L3NyYy9hY2Nlc3Nvcmllcy5qc3giLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIvVXNlcnMvYXJhc2gvRGVza3RvcC9Qcm9qZWN0cy9MaWxhY3Qvc3JjL2FjY2Vzc29yaWVzLmpzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7UUE4QlE7UUFDQTtRQUNBOztDQUVQOzs7Ozs7Ozs7Ozs7O3dCQWF3QixBQUFEOzs7Ozs7O0lBT3BCO3FCQUNpQjs7VUFFWDtJQUNMOzs7Ozs7eUJBWUU7Ozs7Ozs7cUJBV0EsRUFBTzs7Ozs7Ozs7O0NBU2I7Ozs7Ozs7Ozs7OzhDQVc2Qzs7O1VBR3BDOztpQ0FFdUIsUUFBUTtVQUMvQjs7O21CQUdTLGNBQWM7U0FDeEI7T0FDRixLQUFLLGlCQUFpQix1QkFBdUIsSUFBSSxlQUFlOzs7VUFHN0QsbUJBQW9CLEFBQUQ7O1FBRXJCLEdBQUc7U0FDRjtNQUNILDZCQUE2Qjs7Ozs7O0NBTWxDOzs7Ozs7Ozs7Ozs7Q0FZQTs7O3dCQUd1Qjs7YUFFWCxRQUFROztRQUViO0NBQ1A7Z0JBQ2U7O0NBRWY7MEJBQ3lCOztDQUV6Qjs7Q0FFQTs7Q0FFQTs7OztDQUlBO2lDQUNnQyxRQUFRO01BQ25DLGlCQUFrQixVQUFTO0lBQzdCOzs7R0FHRDs7OztDQUlGO21CQUNrQixRQUFRO01BQ3JCLGtCQUFtQjs7OztNQUluQixpQkFBa0I7O0dBRXJCO29CQUNpQjs7R0FFakI7TUFDRywyQkFBMkI7MEJBQ1A7SUFDdEI7T0FDRyxtQkFBbUI7d0JBQ0Y7Ozt3Q0FHaUIsQUFBRCxNQUFPOztvQ0FFVjtpQkFDbEIsQUFBRDs7Ozs7Q0FLakI7c0JBQ3FCLEdBQUc7b0JBQ0w7c0JBQ0U7OztDQUdyQjtjQUNhLEdBQUc7TUFDWCxtQkFBbUI7dUJBQ0Y7OztNQUdqQixxQkFBcUI7dUJBQ0o7Ozs7O0NBS3RCO2dCQUNlLFVBQVU7TUFDcEIsaUJBQWtCO29CQUNKOztNQUVkLDJCQUEyQjswQkFDUDtPQUNuQixtQkFBbUI7d0JBQ0Y7Ozt3Q0FHaUIsQUFBRCxNQUFPOztvQ0FFVjtpQkFDbEIsQUFBRDs7OztHQUlmO3FCQUNrQixNQUFNO09BQ3BCLGlCQUFrQixZQUFXO3lCQUNYOztJQUVyQjtPQUNHLDJCQUEyQjtLQUM3QjtRQUNHLG1CQUFtQjt5QkFDRjs7TUFFbkI7bUJBQ2MsQUFBRDs7OztLQUlkOzZCQUN3QixLQUFLOytCQUNIOztRQUV2QixrQkFBa0I7bUJBQ04sQUFBRDtZQUNQO1NBQ0gscUJBQXFCOzBCQUNKOzs7NENBR21CLEFBQUQsTUFBTzs7bUJBRTlCLEFBQUQ7Ozs7OztHQU1qQjtlQUNZOzs7Q0FHZDttQkFDa0IsY0FBYztNQUMzQixrQkFBbUI7c0JBQ0g7OztDQUdyQjtRQUNPLEdBQUc7TUFDTCw2QkFBNkI7V0FDeEIsRUFBRTs7VUFFSCxFQUFFIn0=
|
|
8190
8322
|
;// ./src/pane.jsx
|
|
8191
8323
|
|
|
8192
8324
|
|
|
@@ -8476,6 +8608,26 @@ var jsx = __webpack_require__(207);
|
|
|
8476
8608
|
*/
|
|
8477
8609
|
|
|
8478
8610
|
|
|
8611
|
+
/*
|
|
8612
|
+
note:
|
|
8613
|
+
|
|
8614
|
+
If you are reading the code, keep in my mind that in the development of `Lilact`,
|
|
8615
|
+
I have used a naming convention that is a little different from the standard way:
|
|
8616
|
+
|
|
8617
|
+
I use underscored all lowercase names for internal variables.
|
|
8618
|
+
I use all caps for constants that are used similar to C defined macros. e.g. shared
|
|
8619
|
+
symbols.
|
|
8620
|
+
|
|
8621
|
+
And I use the standard convention for exposed user space variables and arguments, and
|
|
8622
|
+
functions.
|
|
8623
|
+
|
|
8624
|
+
So if a variable name is in the format `aaa_bbb`, it means I am counting on it to be
|
|
8625
|
+
used internally. And if it is `AAA_BBB`, I'm counting on it to be constant in the whole
|
|
8626
|
+
application lifetime.
|
|
8627
|
+
*/
|
|
8628
|
+
|
|
8629
|
+
|
|
8630
|
+
|
|
8479
8631
|
|
|
8480
8632
|
|
|
8481
8633
|
|
|
@@ -8521,7 +8673,7 @@ var jsx = __webpack_require__(207);
|
|
|
8521
8673
|
const lilact_Lilact =
|
|
8522
8674
|
{
|
|
8523
8675
|
|
|
8524
|
-
VERSION: "beta.
|
|
8676
|
+
VERSION: "beta.10",
|
|
8525
8677
|
|
|
8526
8678
|
// Configuration
|
|
8527
8679
|
|
|
@@ -8555,7 +8707,6 @@ const lilact_Lilact =
|
|
|
8555
8707
|
emotion: emotion_css_development_esm_namespaceObject,
|
|
8556
8708
|
|
|
8557
8709
|
}
|
|
8558
|
-
|
|
8559
8710
|
globalThis.Lilact = lilact_Lilact;
|
|
8560
8711
|
globalThis.createComponent = lilact_Lilact.createComponent;
|
|
8561
8712
|
globalThis.Fragment = lilact_Lilact.Fragment;
|
|
@@ -8575,7 +8726,7 @@ window.addEventListener('error', (e) => {
|
|
|
8575
8726
|
|
|
8576
8727
|
|
|
8577
8728
|
|
|
8578
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
8729
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiL1VzZXJzL2FyYXNoL0Rlc2t0b3AvUHJvamVjdHMvTGlsYWN0L3NyYy9saWxhY3QuanN4Iiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiL1VzZXJzL2FyYXNoL0Rlc2t0b3AvUHJvamVjdHMvTGlsYWN0L3NyYy9saWxhY3QuanN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLEFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0ErQkM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7UUFrQ087UUFDQTs7O1FBR0E7Ozs7Ozs7Ozs7Ozs7UUFhQTtRQUNBOzs7Q0FHUDs7Ozs7Ozs7Q0FRQTs7OztFQUlDOzs7NkJBRzJCO2lCQUNaOztFQUVmOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQW9CQTs7Ozs7Ozs7OzswQkFVd0Isb0JBQXFCLE1BQU07bUJBQ2pDOzs7d0JBSUksU0FBVSxPQUFPOzBCQUNkOzs7YUFLZDthQUNBIn0=
|
|
8579
8730
|
|
|
8580
8731
|
/***/ }),
|
|
8581
8732
|
|
|
@@ -9652,7 +9803,7 @@ function run(jsx, path=`InlineJSX-${++_lilact_jsx__WEBPACK_IMPORTED_MODULE_0__["
|
|
|
9652
9803
|
|
|
9653
9804
|
processed += "\n//# sourceURL=eval:/" + path;
|
|
9654
9805
|
|
|
9655
|
-
// todo: this seems to be only useful in safari, should be assessed
|
|
9806
|
+
// todo: this seems to be only useful in safari, should be assessed later
|
|
9656
9807
|
_lilact_jsx__WEBPACK_IMPORTED_MODULE_0__["default"].scanBlockLabels(processed, path);
|
|
9657
9808
|
|
|
9658
9809
|
try {
|
|
@@ -9690,13 +9841,13 @@ function run(jsx, path=`InlineJSX-${++_lilact_jsx__WEBPACK_IMPORTED_MODULE_0__["
|
|
|
9690
9841
|
* @param path - The path to the required file. Must be either absolute path or relative to the current
|
|
9691
9842
|
* document’s URL (the page/location that initiated the request).
|
|
9692
9843
|
*
|
|
9693
|
-
* @param
|
|
9844
|
+
* @param forceUpdate - To treat the code as inline. The main difference at the moment is that inline code doesn't include sourcemap.
|
|
9694
9845
|
*
|
|
9695
9846
|
* @returns An array representation of the children.
|
|
9696
9847
|
*/
|
|
9697
|
-
function require(path,
|
|
9848
|
+
function require(path, forceUpdate)
|
|
9698
9849
|
{
|
|
9699
|
-
if(_lilact_jsx__WEBPACK_IMPORTED_MODULE_0__["default"].required_scripts[path] && !
|
|
9850
|
+
if(_lilact_jsx__WEBPACK_IMPORTED_MODULE_0__["default"].required_scripts[path] && !forceUpdate) return _lilact_jsx__WEBPACK_IMPORTED_MODULE_0__["default"].required_scripts[path].module.exports;
|
|
9700
9851
|
|
|
9701
9852
|
if(path[0]==='#') {
|
|
9702
9853
|
|
|
@@ -9748,7 +9899,7 @@ function require(path, force_update)
|
|
|
9748
9899
|
* The promise must resolve to a module whose module.exports.default is a Lilact component
|
|
9749
9900
|
* or otherwise it will be whatever the module.exports is set to.
|
|
9750
9901
|
*
|
|
9751
|
-
* @returns A Lilact component that should be rendered inside a
|
|
9902
|
+
* @returns A Lilact component that should be rendered inside a `Suspense` boundary.
|
|
9752
9903
|
*/
|
|
9753
9904
|
function lazy(factory) {
|
|
9754
9905
|
let status = "pending"; // pending | success | error
|