lilact 0.14.2 → 0.15.1

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.
Files changed (79) hide show
  1. package/dist/lilact.development.js +547 -393
  2. package/dist/lilact.development.js.map +1 -1
  3. package/dist/lilact.development.min.js +1 -1
  4. package/dist/lilact.development.min.js.LICENSE.txt +6 -0
  5. package/dist/lilact.development.min.js.map +1 -1
  6. package/dist/lilact.production.min.js +1 -1
  7. package/dist/lilact.production.min.js.map +1 -1
  8. package/docs/classes/accessories.ErrorBoundary.html +11 -11
  9. package/docs/classes/accessories.Suspense.html +10 -10
  10. package/docs/classes/components.Component.html +11 -11
  11. package/docs/classes/components.HTMLComponent.html +11 -11
  12. package/docs/classes/components.RootComponent.html +11 -11
  13. package/docs/functions/accessories.DragHandle.html +1 -1
  14. package/docs/functions/accessories.Spinner.html +1 -1
  15. package/docs/functions/components.createComponent.html +1 -1
  16. package/docs/functions/components.createRoot.html +1 -1
  17. package/docs/functions/components.render.html +1 -1
  18. package/docs/functions/errors.globalErrorHandler.html +1 -1
  19. package/docs/functions/errors.traceError.html +1 -1
  20. package/docs/functions/hooks.createContext.html +1 -1
  21. package/docs/functions/hooks.useActionState.html +1 -1
  22. package/docs/functions/hooks.useCallback.html +1 -1
  23. package/docs/functions/hooks.useContext.html +1 -1
  24. package/docs/functions/hooks.useDeferredValue.html +1 -1
  25. package/docs/functions/hooks.useEffect.html +1 -1
  26. package/docs/functions/hooks.useHook.html +1 -1
  27. package/docs/functions/hooks.useId.html +1 -1
  28. package/docs/functions/hooks.useImperativeHandle.html +1 -1
  29. package/docs/functions/hooks.useLayoutEffect.html +1 -1
  30. package/docs/functions/hooks.useLocalStorage.html +1 -1
  31. package/docs/functions/hooks.useMemo.html +1 -1
  32. package/docs/functions/hooks.useReducer.html +1 -1
  33. package/docs/functions/hooks.useRef.html +1 -1
  34. package/docs/functions/hooks.useState.html +1 -1
  35. package/docs/functions/hooks.useTransition.html +1 -1
  36. package/docs/functions/redux.Provider.html +1 -1
  37. package/docs/functions/redux.combineReducers.html +1 -1
  38. package/docs/functions/redux.connect.html +1 -1
  39. package/docs/functions/redux.useDispatch.html +1 -1
  40. package/docs/functions/redux.useSelector.html +1 -1
  41. package/docs/functions/redux.useStore.html +1 -1
  42. package/docs/functions/router.HashRouter.html +1 -1
  43. package/docs/functions/router.Link.html +1 -1
  44. package/docs/functions/router.NavLink.html +1 -1
  45. package/docs/functions/router.Route.html +1 -1
  46. package/docs/functions/router.Routes.html +1 -1
  47. package/docs/functions/router.useLocation.html +1 -1
  48. package/docs/functions/router.useNavigate.html +1 -1
  49. package/docs/functions/run.lazy.html +1 -1
  50. package/docs/functions/run.require.html +3 -3
  51. package/docs/functions/run.run.html +1 -1
  52. package/docs/functions/run.runScripts.html +3 -3
  53. package/docs/functions/timers.timeoutPromise.html +133 -2
  54. package/docs/functions/transition.CSSTransition.html +1 -1
  55. package/docs/functions/transition.SwitchTransition.html +1 -1
  56. package/docs/functions/transition.Transition.html +1 -1
  57. package/docs/functions/transition.TransitionGroup.html +1 -1
  58. package/docs/static/lilact.development.js +547 -393
  59. package/docs/static/lilact.development.min.js +1 -1
  60. package/docs/static/lilact.production.min.js +1 -1
  61. package/docs/variables/accessories.SplitPane.html +1 -1
  62. package/package.json +1 -1
  63. package/root/lilact.development.js +547 -393
  64. package/root/lilact.development.min.js +1 -1
  65. package/root/lilact.production.min.js +1 -1
  66. package/src/accessories.jsx +14 -17
  67. package/src/components.jsx +87 -27
  68. package/src/errors.jsx +11 -9
  69. package/src/hooks.jsx +32 -30
  70. package/src/lilact.jsx +8 -8
  71. package/src/loader.cjs +1 -1
  72. package/src/misc.jsx +1 -60
  73. package/src/redux.jsx +13 -11
  74. package/src/router.jsx +88 -49
  75. package/src/run.jsx +19 -16
  76. package/src/symbols.jsx +65 -0
  77. package/src/timers.jsx +6 -6
  78. package/src/transition.jsx +6 -4
  79. package/webpack.config.js +7 -3
@@ -1668,7 +1668,7 @@ __webpack_require__.d(__webpack_exports__, {
1668
1668
  releaseTimers: () => (/* reexport */ releaseTimers),
1669
1669
  render: () => (/* reexport */ render),
1670
1670
  require: () => (/* reexport */ run.require),
1671
- required_scripts: () => (/* reexport */ required_scripts),
1671
+ required_scripts: () => (/* reexport */ run.required_scripts),
1672
1672
  resetTimers: () => (/* reexport */ resetTimers),
1673
1673
  resumeTimers: () => (/* reexport */ resumeTimers),
1674
1674
  roots: () => (/* reexport */ roots),
@@ -1750,12 +1750,8 @@ __webpack_require__.r(misc_namespaceObject);
1750
1750
  __webpack_require__.d(misc_namespaceObject, {
1751
1751
  Children: () => (Children),
1752
1752
  Fragment: () => (misc_Fragment),
1753
- boolean_html_attributes_set: () => (boolean_html_attributes_set),
1754
- capture_events_set: () => (capture_events_set),
1755
- current_component: () => (current_component),
1756
1753
  deepEqual: () => (deepEqual),
1757
1754
  eval_num: () => (eval_num),
1758
- events_set: () => (events_set),
1759
1755
  findDOMNode: () => (findDOMNode),
1760
1756
  forwardRef: () => (forwardRef),
1761
1757
  getComponentByPointer: () => (getComponentByPointer),
@@ -1766,16 +1762,9 @@ __webpack_require__.d(misc_namespaceObject, {
1766
1762
  isError: () => (misc_isError),
1767
1763
  isThenable: () => (isThenable),
1768
1764
  isValidElement: () => (isValidElement),
1769
- layout_effects: () => (layout_effects),
1770
- length_css_attributes_set: () => (length_css_attributes_set),
1771
- required_scripts: () => (required_scripts),
1772
- roots: () => (roots),
1773
1765
  shallowEqual: () => (shallowEqual),
1774
- special_attributes: () => (special_attributes),
1775
1766
  toBool: () => (toBool),
1776
- update_cbs: () => (update_cbs),
1777
1767
  update_interval_margin: () => (update_interval_margin),
1778
- update_set: () => (update_set),
1779
1768
  update_timeout: () => (update_timeout)
1780
1769
  });
1781
1770
 
@@ -1786,10 +1775,20 @@ __webpack_require__.d(components_namespaceObject, {
1786
1775
  Component: () => (Component),
1787
1776
  HTMLComponent: () => (HTMLComponent),
1788
1777
  RootComponent: () => (RootComponent),
1778
+ boolean_html_attributes_set: () => (boolean_html_attributes_set),
1779
+ capture_events_set: () => (capture_events_set),
1789
1780
  createComponent: () => (components_createComponent),
1790
1781
  createElement: () => (createElement),
1791
1782
  createRoot: () => (createRoot),
1792
- render: () => (render)
1783
+ current_component: () => (current_component),
1784
+ events_set: () => (events_set),
1785
+ layout_effects: () => (layout_effects),
1786
+ length_css_attributes_set: () => (length_css_attributes_set),
1787
+ render: () => (render),
1788
+ roots: () => (roots),
1789
+ special_attributes: () => (special_attributes),
1790
+ update_cbs: () => (update_cbs),
1791
+ update_set: () => (update_set)
1793
1792
  });
1794
1793
 
1795
1794
  // NAMESPACE OBJECT: ./src/hooks.jsx
@@ -4585,6 +4584,8 @@ var _createEmotion = createEmotion({
4585
4584
  // EXTERNAL MODULE: ./node_modules/prop-types/index.js
4586
4585
  var prop_types = __webpack_require__(556);
4587
4586
  var prop_types_default = /*#__PURE__*/__webpack_require__.n(prop_types);
4587
+ // EXTERNAL MODULE: ./src/symbols.jsx
4588
+ var symbols = __webpack_require__(601);
4588
4589
  ;// ./src/misc.jsx
4589
4590
  /*
4590
4591
 
@@ -4619,7 +4620,7 @@ var prop_types_default = /*#__PURE__*/__webpack_require__.n(prop_types);
4619
4620
 
4620
4621
 
4621
4622
 
4622
- const [CORE,COMPONENT,MEMOIZED]=[Symbol.for('LILACT:CORE'),Symbol.for('LILACT:COMPONENT'),Symbol.for('LILACT:MEMOIZED')];
4623
+
4623
4624
 
4624
4625
 
4625
4626
  const typeOf = (input) => {
@@ -4643,7 +4644,7 @@ const typeOf = (input) => {
4643
4644
  * @returns True if the value is a class component; otherwise false.
4644
4645
  */
4645
4646
  const isValidElement = (value) => {
4646
- return value[CORE]!==undefined || value[TEXT]!==undefined;
4647
+ return value[symbols.CORE]!==undefined || value[TEXT]!==undefined;
4647
4648
  }
4648
4649
 
4649
4650
  /**
@@ -4666,8 +4667,8 @@ const findDOMNode = (component)=>{
4666
4667
 
4667
4668
  Unlike React, in Lilact findDOMNode can also be used on function components.
4668
4669
  */
4669
- if(!component[CORE]?.element?.parentNode) throw new Error("findDOMNode only works on mounted components.");
4670
- return component[CORE].element;
4670
+ if(!component[symbols.CORE]?.element?.parentNode) throw new Error("findDOMNode only works on mounted components.");
4671
+ return component[symbols.CORE].element;
4671
4672
  }
4672
4673
 
4673
4674
  /**
@@ -4769,11 +4770,11 @@ function getComponentByPointer()
4769
4770
 
4770
4771
  let t = event.target;
4771
4772
 
4772
- while( !t[COMPONENT] && t.parentNode ) {
4773
+ while( !t[symbols.COMPONENT] && t.parentNode ) {
4773
4774
  t = t.parentNode;
4774
4775
  }
4775
4776
 
4776
- resolve_func( t[COMPONENT] );
4777
+ resolve_func( t[symbols.COMPONENT] );
4777
4778
 
4778
4779
  return false;
4779
4780
  }
@@ -4926,9 +4927,6 @@ function toBool(value) {
4926
4927
 
4927
4928
  // Internals
4928
4929
 
4929
- /** @ignore */
4930
- const required_scripts = {};
4931
-
4932
4930
  /** @ignore */
4933
4931
  let update_timeout = undefined;
4934
4932
  /** @ignore */
@@ -4940,65 +4938,9 @@ let eval_num = 0;//Math.floor(Math.random()*10000);
4940
4938
 
4941
4939
 
4942
4940
  // todo =improve these stacks
4943
- /** @ignore */
4944
- let current_component = [];
4945
- /** @ignore */
4946
- let update_set = new Set;
4947
- /** @ignore */
4948
- let update_cbs = new Set;
4949
- /** @ignore */
4950
- let roots = new Set;
4951
- /** @ignore */
4952
- let layout_effects = new Set;
4953
-
4954
- /** @ignore */
4955
- const special_attributes = new Set([
4956
- "classname", "ref", "action", "lilact_jsx_loc", "children", "key",
4957
- "defaultvalue", "defaultchecked"
4958
- ]);
4959
4941
 
4960
- /** @ignore */
4961
- const events_set = new Set([
4962
- "onafterprint","onbeforeprint","onbeforeunload","onerror","onhashchange","onload","onmessage",
4963
- "onoffline","ononline","onpagehide","onpageshow","onpopstate","onresize","onstorage","onunload",
4964
- "onblur","onchange","oncontextmenu","onfocus","oninput","oninvalid","onreset","onsearch","onselect",
4965
- "onsubmit",
4966
- "onkeydown","onkeypress","onkeyup",
4967
- "onclick","ondblclick","onmousedown","onmousemove","onmouseout","onmouseover","onmouseup","onmousewheel",
4968
- "onwheel",
4969
- "ondrag","ondragend","ondragenter","ondragleave","ondragover","ondragstart","ondrop","onscroll",
4970
- "oncopy","oncut","onpaste",
4971
- "onabort","oncanplay","oncanplaythrough","oncuechange","ondurationchange","onemptied","onended","onerror",
4972
- "onloadeddata","onloadedmetadata","onloadstart","onpause","onplay","onplaying","onprogress","onratechange",
4973
- "onseeked","onseeking","onstalled","onsuspend","ontimeupdate","onvolumechange","onwaiting",
4974
- "ontoggle",
4975
- "onpointerdown", "onpointerup", "onpointermove", "onpointercancel", "onpointerover", "onpointerout",
4976
- "onpointerenter", "onpointerleave"
4977
- ]);
4978
-
4979
- /** @ignore */
4980
- const capture_events_set = {};
4981
- for (const x of events_set) {
4982
- capture_events_set[x+"capture"] = x;
4983
- }
4984
4942
 
4985
- /** @ignore */
4986
- const length_css_attributes_set = new Set([
4987
- "width","height","minWidth","minHeight","maxWidth","maxHeight","top","right","bottom","left","margin",
4988
- "marginTop","marginRight","marginBottom","marginLeft","padding","paddingTop","paddingRight","paddingBottom",
4989
- "paddingLeft","borderWidth","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth",
4990
- "outlineWidth","fontSize","lineHeight","letterSpacing","wordSpacing","textIndent","borderRadius",
4991
- "borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius",
4992
- "columnGap","rowGap","gap"
4993
- ]);
4994
-
4995
- /** @ignore */
4996
- const boolean_html_attributes_set = new
4997
- Set(["disabled", "readOnly", "required", "checked", "multiple",
4998
- "hidden","open","loop","muted","controls","playsInline","allowFullScreen"]);
4999
-
5000
-
5001
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiL1VzZXJzL2FyYXNoL0Rlc2t0b3AvUHJvamVjdHMvTGlsYWN0L3NyYy9taXNjLmpzeCIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi9Vc2Vycy9hcmFzaC9EZXNrdG9wL1Byb2plY3RzL0xpbGFjdC9zcmMvbWlzYy5qc3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBaUNDOzs7Z0JBR2UsV0FBVztFQUN6QjtFQUNBOztrREFFZ0QsbUJBQW1CO3NCQUMvQzsrQkFDUzs7Ozs7O0NBTTlCOztDQUVBOzs7Ozs7K0JBTThCLFdBQVc7Ozs7Q0FJekM7Ozs7Ozs0QkFNMkIsYUFBYTs7RUFFdkM7Ozs7Ozs7Ozs7OztJQVlFLHVEQUF1RDs7OztDQUkxRDs7Ozs7a0NBS2tDLEFBQUQsYUFBYTs7O0NBRzlDOzs7Ozs7Ozt5QkFRd0I7O0NBRXhCOzs7Ozs7TUFNSyxXQUFXOzs7UUFHVCxvQkFBb0I7TUFDdEIsMkNBQTJDO29CQUM3Qjs7O1dBR1QsZ0RBQWdEO29CQUN2Qzs7O01BR2QsTUFBTTtvQkFDUTs7OztLQUlmOzs7O0NBSUo7Ozs7OztTQU1RLFdBQVc7S0FDZixXQUFXO01BQ1Y7Ozs7Ozs7O0NBUUw7Ozs7Ozs7OzJCQVEwQjtDQUMxQjs2QkFDNEIsUUFBUSxlQUFnQixBQUFEOzs7Ozs7OztDQVFuRDs7Ozs7c0NBS3FDO0NBQ3JDOzs7d0JBR3VCLENBQUUsYUFBYTs7Ozt3QkFJZixRQUFROztpQ0FFQzs2QkFDSjs7OztRQUlyQixrQ0FBa0M7Ozs7ZUFJM0I7Ozs7O3lCQUtVOzs7Ozs7Q0FNeEI7Ozs7Ozt3QkFNdUIsU0FBUztLQUM1Qjs7Ozs7Q0FLSjs7Ozs7Ozs2QkFPNEIsb0JBQW9CO0tBQzVDLE1BQU8sbUJBQW1CLFdBQVU7Ozs7S0FJcEMsTUFBTyx1QkFBc0I7TUFDNUIsa0NBQWtDOzs7c0JBR2pCLEFBQUQ7WUFDVixNQUFPLHdCQUF1QjtxQkFDckIsY0FBZSxBQUFEO1lBQ3ZCLE1BQU8sc0JBQXFCO3dCQUNoQixxQkFBcUI7Ozs7Ozs7Q0FPNUM7Ozs7Ozs7MEJBT3lCLGlCQUFpQjtLQUN0QyxNQUFPLG1CQUFtQixXQUFVOzs7O0tBSXBDLE1BQU8sdUJBQXNCO01BQzVCLGtDQUFrQzs7OztzQkFJakIsQUFBRCwyQkFBNEI7WUFDdEMsTUFBTyx3QkFBdUI7TUFDcEMsV0FBWSwrQkFBK0Isa0JBQWlCOzs7O3FCQUk3QyxjQUFlLEFBQUQ7WUFDdEI7O1lBRUQsTUFBTyxzQkFBcUI7d0JBQ2hCLHFCQUFxQjs7Ozs7Ozs7Q0FRNUM7Ozs7Ozt3QkFNdUIsUUFBUTtFQUM5QjtJQUNFLENBQUU7O0lBRUYsNENBQTZDOzttQ0FFZDs7O0NBR2xDOzs7Ozs7d0JBTXVCLFFBQVE7Ozs7Q0FJL0I7Ozs7OzsyQkFNMEIsUUFBUTtrQkFDakI7OztDQUdqQjs7Ozs7O3dCQU11QixRQUFRO2lFQUNpQzs7O0NBR2hFOzs7Ozs7dUJBTXNCLFFBQVE7S0FDMUI7O0tBRUE7O0tBRUEsNEJBQTRCO3FCQUNaLGNBQWM7TUFDN0I7TUFDQTs7O2dCQUdVOzs7O0NBSWY7O0NBRUE7aUNBQ2dDOztDQUVoQzs7Q0FFQTs7Q0FFQTsrQkFDOEIsV0FBWTtDQUMxQzt5QkFDd0I7OztDQUd4QjtDQUNBOztDQUVBOztDQUVBOztDQUVBOztDQUVBOzs7Q0FHQTswQ0FDeUM7Ozs7O0NBS3pDO2tDQUNpQzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBa0JqQzttQ0FDa0M7S0FDOUIsd0JBQXdCOzs7O0NBSTVCO2lEQUNnRDs7Ozs7Ozs7O0NBU2hEOztLQUVJIn0=
4943
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiL1VzZXJzL2FyYXNoL0Rlc2t0b3AvUHJvamVjdHMvTGlsYWN0L3NyYy9taXNjLmpzeCIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi9Vc2Vycy9hcmFzaC9EZXNrdG9wL1Byb2plY3RzL0xpbGFjdC9zcmMvbWlzYy5qc3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O1FBaUNROzs7Z0JBR1EsV0FBVztFQUN6QjtFQUNBOztrREFFZ0QsbUJBQW1CO3NCQUMvQzsrQkFDUzs7Ozs7O0NBTTlCOztDQUVBOzs7Ozs7K0JBTThCLFdBQVc7Ozs7Q0FJekM7Ozs7Ozs0QkFNMkIsYUFBYTs7RUFFdkM7Ozs7Ozs7Ozs7OztJQVlFLHVEQUF1RDs7OztDQUkxRDs7Ozs7a0NBS2tDLEFBQUQsYUFBYTs7O0NBRzlDOzs7Ozs7Ozt5QkFRd0I7O0NBRXhCOzs7Ozs7TUFNSyxXQUFXOzs7UUFHVCxvQkFBb0I7TUFDdEIsMkNBQTJDO29CQUM3Qjs7O1dBR1QsZ0RBQWdEO29CQUN2Qzs7O01BR2QsTUFBTTtvQkFDUTs7OztLQUlmOzs7O0NBSUo7Ozs7OztTQU1RLFdBQVc7S0FDZixXQUFXO01BQ1Y7Ozs7Ozs7O0NBUUw7Ozs7Ozs7OzJCQVEwQjtDQUMxQjs2QkFDNEIsUUFBUSxlQUFnQixBQUFEOzs7Ozs7OztDQVFuRDs7Ozs7c0NBS3FDO0NBQ3JDOzs7d0JBR3VCLENBQUUsYUFBYTs7Ozt3QkFJZixRQUFROztpQ0FFQzs2QkFDSjs7OztRQUlyQixrQ0FBa0M7Ozs7ZUFJM0I7Ozs7O3lCQUtVOzs7Ozs7Q0FNeEI7Ozs7Ozt3QkFNdUIsU0FBUztLQUM1Qjs7Ozs7Q0FLSjs7Ozs7Ozs2QkFPNEIsb0JBQW9CO0tBQzVDLE1BQU8sbUJBQW1CLFdBQVU7Ozs7S0FJcEMsTUFBTyx1QkFBc0I7TUFDNUIsa0NBQWtDOzs7c0JBR2pCLEFBQUQ7WUFDVixNQUFPLHdCQUF1QjtxQkFDckIsY0FBZSxBQUFEO1lBQ3ZCLE1BQU8sc0JBQXFCO3dCQUNoQixxQkFBcUI7Ozs7Ozs7Q0FPNUM7Ozs7Ozs7MEJBT3lCLGlCQUFpQjtLQUN0QyxNQUFPLG1CQUFtQixXQUFVOzs7O0tBSXBDLE1BQU8sdUJBQXNCO01BQzVCLGtDQUFrQzs7OztzQkFJakIsQUFBRCwyQkFBNEI7WUFDdEMsTUFBTyx3QkFBdUI7TUFDcEMsV0FBWSwrQkFBK0Isa0JBQWlCOzs7O3FCQUk3QyxjQUFlLEFBQUQ7WUFDdEI7O1lBRUQsTUFBTyxzQkFBcUI7d0JBQ2hCLHFCQUFxQjs7Ozs7Ozs7Q0FRNUM7Ozs7Ozt3QkFNdUIsUUFBUTtFQUM5QjtJQUNFLENBQUU7O0lBRUYsNENBQTZDOzttQ0FFZDs7O0NBR2xDOzs7Ozs7d0JBTXVCLFFBQVE7Ozs7Q0FJL0I7Ozs7OzsyQkFNMEIsUUFBUTtrQkFDakI7OztDQUdqQjs7Ozs7O3dCQU11QixRQUFRO2lFQUNpQzs7O0NBR2hFOzs7Ozs7dUJBTXNCLFFBQVE7S0FDMUI7O0tBRUE7O0tBRUEsNEJBQTRCO3FCQUNaLGNBQWM7TUFDN0I7TUFDQTs7O2dCQUdVOzs7O0NBSWY7O0NBRUE7O0NBRUE7O0NBRUE7K0JBQzhCLFdBQVk7Q0FDMUM7eUJBQ3dCOzs7Q0FHeEIifQ==
5002
4944
  ;// ./src/components.jsx
5003
4945
  /*
5004
4946
 
@@ -5030,7 +4972,10 @@ const boolean_html_attributes_set = new
5030
4972
 
5031
4973
  */
5032
4974
 
5033
- const [components_CORE,components_COMPONENT,components_TEXT,IS_ZOMBIE,IDX,CHILD_CLASS_ADDENDUM,components_MEMOIZED]=[Symbol.for('LILACT:CORE'),Symbol.for('LILACT:COMPONENT'),Symbol.for('LILACT:TEXT'),Symbol.for('LILACT:IS_ZOMBIE'),Symbol.for('LILACT:IDX'),Symbol.for('LILACT:CHILD_CLASS_ADDENDUM'),Symbol.for('LILACT:MEMOIZED')];
4975
+
4976
+
4977
+
4978
+
5034
4979
 
5035
4980
 
5036
4981
 
@@ -5056,9 +5001,9 @@ class ComponentCache
5056
5001
  let comp;
5057
5002
  let buck = this.current_map.get(key);
5058
5003
 
5059
- if(buck && buck.length>buck[IDX]) {
5060
- comp = buck[buck[IDX]];
5061
- buck[IDX]++;
5004
+ if(buck && buck.length>buck[symbols.IDX]) {
5005
+ comp = buck[buck[symbols.IDX]];
5006
+ buck[symbols.IDX]++;
5062
5007
 
5063
5008
  buck = this.new_map.get(key);
5064
5009
  if(buck!==undefined) {
@@ -5067,7 +5012,7 @@ class ComponentCache
5067
5012
  else {
5068
5013
  buck = [ comp ];
5069
5014
  this.new_map.set(key, buck);
5070
- buck[IDX]=0;
5015
+ buck[symbols.IDX]=0;
5071
5016
  }
5072
5017
  }
5073
5018
  else {
@@ -5080,10 +5025,10 @@ class ComponentCache
5080
5025
  else {
5081
5026
  buck = [ comp ];
5082
5027
  this.new_map.set(key, buck);
5083
- buck[IDX]=0;
5028
+ buck[symbols.IDX]=0;
5084
5029
  }
5085
5030
 
5086
- if(comp[components_CORE]) comp[components_CORE].parent ??= this.owner;
5031
+ if(comp[symbols.CORE]) comp[symbols.CORE].parent ??= this.owner;
5087
5032
  }
5088
5033
 
5089
5034
  return comp;
@@ -5092,7 +5037,7 @@ class ComponentCache
5092
5037
  commit()
5093
5038
  {
5094
5039
  this.current_map.forEach( (arr)=>{
5095
- arr.slice(arr[IDX]).forEach((ex)=>{
5040
+ arr.slice(arr[symbols.IDX]).forEach((ex)=>{
5096
5041
  if(ex.cleanup) ex.cleanup();
5097
5042
  });
5098
5043
  });
@@ -5165,14 +5110,16 @@ class ComponentCore
5165
5110
  // }
5166
5111
 
5167
5112
  /*if(do_rerender)*/ {
5113
+ if(true) {
5168
5114
 
5169
5115
  if(this.entity?.propTypes) {
5170
- Lilact.PropTypes.checkPropTypes(this.entity.propTypes, this.props, 'prop', this.entity.name);
5116
+ prop_types_default().checkPropTypes(this.entity.propTypes, this.props, 'prop', this.entity.name);
5171
5117
  }
5172
5118
  else if(this.component?.propTypes) {
5173
- Lilact.PropTypes.checkPropTypes(this.component.propTypes, this.props, 'prop', this.component.name);
5119
+ prop_types_default().checkPropTypes(this.component.propTypes, this.props, 'prop', this.component.name);
5174
5120
  }
5175
5121
 
5122
+ }
5176
5123
  if(typeof(next_state)==='function') next_state = next_state(this.state);
5177
5124
 
5178
5125
  if(this.component.constructor.defaultProps) {
@@ -5190,7 +5137,7 @@ class ComponentCore
5190
5137
  if(next_props?.defaultValue) this.element.value = String(next_props.defaultValue).slice(0, next_props?.maxLength);
5191
5138
  if(next_props?.defaultChecked) this.element.checked = next_props.defaultChecked;
5192
5139
  }
5193
- this.element[components_COMPONENT] = this.component;
5140
+ this.element[symbols.COMPONENT] = this.component;
5194
5141
  }
5195
5142
 
5196
5143
 
@@ -5241,7 +5188,7 @@ class ComponentCore
5241
5188
 
5242
5189
  if(this.hooks!==undefined) {
5243
5190
  this.hook_index = 0;
5244
- Lilact.current_component = [this, Lilact.current_component];
5191
+ lilact.current_component = [this, lilact.current_component];
5245
5192
 
5246
5193
  try {
5247
5194
  this.outlet = this.component.render(next_props);
@@ -5250,7 +5197,7 @@ class ComponentCore
5250
5197
  renderErrorHandler(this, e);
5251
5198
  }
5252
5199
 
5253
- Lilact.current_component = Lilact.current_component[1];
5200
+ lilact.current_component = lilact.current_component[1];
5254
5201
  }
5255
5202
  else {
5256
5203
  try {
@@ -5287,18 +5234,18 @@ class ComponentCore
5287
5234
  const core = prepareCore(this, item);
5288
5235
  this.outlet[i] = core;
5289
5236
 
5290
- if(core[components_TEXT]===undefined) {
5237
+ if(core[symbols.TEXT]===undefined) {
5291
5238
  core.container= this.element? this : this.container;
5292
5239
  core.apply(item.props);
5293
5240
  }
5294
5241
  else {
5295
5242
  if(!core.element) {
5296
- core.element = document.createTextNode(item[components_TEXT]);
5297
- core[components_TEXT] = item[components_TEXT];
5243
+ core.element = document.createTextNode(item[symbols.TEXT]);
5244
+ core[symbols.TEXT] = item[symbols.TEXT];
5298
5245
  }
5299
- else if(core[components_TEXT]!==item[components_TEXT]) {
5300
- core.element.textContent = item[components_TEXT];
5301
- core[components_TEXT] = item[components_TEXT];
5246
+ else if(core[symbols.TEXT]!==item[symbols.TEXT]) {
5247
+ core.element.textContent = item[symbols.TEXT];
5248
+ core[symbols.TEXT] = item[symbols.TEXT];
5302
5249
  }
5303
5250
  }
5304
5251
  }
@@ -5395,7 +5342,7 @@ class ComponentCore
5395
5342
  }
5396
5343
  else if(this.entity==="select") {
5397
5344
  if(patch?.value!==this.element.value) {
5398
- Lilact.setTimeout(()=>this.element.value=String(patch.value), 0);
5345
+ lilact.setTimeout(()=>this.element.value=String(patch.value), 0);
5399
5346
  }
5400
5347
  }
5401
5348
 
@@ -5405,7 +5352,7 @@ class ComponentCore
5405
5352
 
5406
5353
  if( !patch.hasOwnProperty(a) ) {
5407
5354
 
5408
- if( Lilact.events_set.has(al) ) {
5355
+ if( events_set.has(al) ) {
5409
5356
  this.event_detachers[al]();
5410
5357
  }
5411
5358
  else {
@@ -5417,21 +5364,21 @@ class ComponentCore
5417
5364
  for(let a in patch) {
5418
5365
  const al = a.toLowerCase();
5419
5366
 
5420
- if( Lilact.special_attributes.has(al) ) continue;
5367
+ if( special_attributes.has(al) ) continue;
5421
5368
 
5422
- if( patch===this.props || !Lilact.defaultIsEqual(patch[a], this.props[a]) || force ) {
5369
+ if( patch===this.props || !lilact.defaultIsEqual(patch[a], this.props[a]) || force ) {
5423
5370
 
5424
- if( Lilact.events_set.has(al) ) {
5371
+ if( events_set.has(al) ) {
5425
5372
  this.event_detachers ??= {};
5426
5373
  this.event_detachers[al]?.();
5427
- this.event_detachers[al] = Lilact.addWrappedEventListener(this.element, al.substring(2), patch[a]);
5374
+ this.event_detachers[al] = lilact.addWrappedEventListener(this.element, al.substring(2), patch[a]);
5428
5375
  }
5429
- else if( Lilact.capture_events_set.hasOwnProperty(al) ) {
5430
- const alc = Lilact.capture_events_set[al];
5376
+ else if( capture_events_set.hasOwnProperty(al) ) {
5377
+ const alc = capture_events_set[al];
5431
5378
  this.event_detachers ??= {};
5432
5379
  this.event_detachers[al]?.();
5433
5380
  this.event_detachers[al] =
5434
- Lilact.addWrappedEventListener(this.element, alc.substring(2), patch[a], {capture: true});
5381
+ lilact.addWrappedEventListener(this.element, alc.substring(2), patch[a], {capture: true});
5435
5382
  }
5436
5383
  else if(al==='style') {
5437
5384
  if(typeof(patch[a])==='string') {
@@ -5439,7 +5386,7 @@ class ComponentCore
5439
5386
  }
5440
5387
  else {
5441
5388
  for(const x in patch[a]) {
5442
- if( Lilact.length_css_attributes_set.has(x) ) {
5389
+ if( length_css_attributes_set.has(x) ) {
5443
5390
  if(isFinite(patch[a][x])) {
5444
5391
  patch[a][x]+='px';
5445
5392
  }
@@ -5448,11 +5395,11 @@ class ComponentCore
5448
5395
  Object.assign(this.element.style, patch[a]);
5449
5396
  }
5450
5397
  }
5451
- else if(Lilact.boolean_html_attributes_set.has(a)) { // not lower cased(al), as it is set as a js property
5452
- this.element[a] = Lilact.toBool(patch[a]);
5398
+ else if(boolean_html_attributes_set.has(a)) { // not lower cased(al), as it is set as a js property
5399
+ this.element[a] = toBool(patch[a]);
5453
5400
  }
5454
5401
  else if(a==='autoFocus') { // not lower cased(al), as it is set as a js property
5455
- this.element['autofocus'] = Lilact.toBool(patch[a]);
5402
+ this.element['autofocus'] = toBool(patch[a]);
5456
5403
  }
5457
5404
  else if(a==='htmlFor') { // not lower cased(al), as it is set as a js property
5458
5405
  this.element.setAttribute('for', patch[a]);
@@ -5473,7 +5420,9 @@ class ComponentCore
5473
5420
  this.element.onsubmit = undefined;
5474
5421
  }
5475
5422
 
5423
+ if(true) {
5476
5424
  //this.element.setAttribute('key', this.props.key);
5425
+ }
5477
5426
 
5478
5427
  this.updateElementClass(patch);
5479
5428
  }
@@ -5483,8 +5432,8 @@ class ComponentCore
5483
5432
  let cn = patch?.className;
5484
5433
  cn ??= patch?.class ? patch.class : '';
5485
5434
 
5486
- if(this?.parent?.[CHILD_CLASS_ADDENDUM]) {
5487
- cn += ' ' + this?.parent?.[CHILD_CLASS_ADDENDUM];
5435
+ if(this?.parent?.[symbols.CHILD_CLASS_ADDENDUM]) {
5436
+ cn += ' ' + this?.parent?.[symbols.CHILD_CLASS_ADDENDUM];
5488
5437
  }
5489
5438
 
5490
5439
  if(cn.length>0) {
@@ -5510,7 +5459,7 @@ class ComponentCore
5510
5459
  {
5511
5460
  const chs = container.element.childNodes;
5512
5461
  while( chs[container.insert_index] &&
5513
- chs[container.insert_index][IS_ZOMBIE] &&
5462
+ chs[container.insert_index][symbols.IS_ZOMBIE] &&
5514
5463
  chs[container.insert_index]!==next_element )
5515
5464
  {
5516
5465
  container.insert_index++;
@@ -5617,7 +5566,7 @@ function constructFunc(core, parent) // returns {text} or component, and not com
5617
5566
  {
5618
5567
  let comp = core;
5619
5568
 
5620
- if( core[components_TEXT]!==undefined ) {
5569
+ if( core[symbols.TEXT]!==undefined ) {
5621
5570
  // do nothing...
5622
5571
  }
5623
5572
  else {
@@ -5626,7 +5575,7 @@ function constructFunc(core, parent) // returns {text} or component, and not com
5626
5575
  }
5627
5576
  else {
5628
5577
 
5629
- if( Lilact.isClass(core.entity) ) {
5578
+ if( isClass(core.entity) ) {
5630
5579
  if(core.entity?.defaultProps) {
5631
5580
  core.props = { ...core.entity.defaultProps, ...core.props };
5632
5581
  }
@@ -5636,14 +5585,14 @@ function constructFunc(core, parent) // returns {text} or component, and not com
5636
5585
  const desc = Object.getOwnPropertyDescriptor(comp, "state");
5637
5586
  if(desc) {
5638
5587
  if (typeof desc.get !== "function" && typeof desc.set !== "function") {
5639
- comp[components_CORE].state = comp.state;
5588
+ comp[symbols.CORE].state = comp.state;
5640
5589
 
5641
5590
  Object.defineProperty(comp, "state", {
5642
- get() { return this[components_CORE].state },
5591
+ get() { return this[symbols.CORE].state },
5643
5592
  set(v) {
5644
5593
  // todo: this should be changed, it should be only directly settable in constructor.
5645
- if(this[components_CORE].state===undefined) {
5646
- this[components_CORE].state = v;
5594
+ if(this[symbols.CORE].state===undefined) {
5595
+ this[symbols.CORE].state = v;
5647
5596
  }
5648
5597
  else {
5649
5598
  throw new Error('Assigning component state this way is not allowed.');
@@ -5664,23 +5613,23 @@ function constructFunc(core, parent) // returns {text} or component, and not com
5664
5613
  // the binding is not necessary and is not according to the specs,
5665
5614
  // probably not even recommended! but helpful.
5666
5615
  comp.render = core.entity.bind(comp);
5667
- comp[components_CORE].hooks = [];
5668
- comp[components_CORE].hook_index = 0;
5616
+ comp[symbols.CORE].hooks = [];
5617
+ comp[symbols.CORE].hook_index = 0;
5669
5618
  }
5670
5619
  else {
5671
5620
  throw new Error("Invalid entity for createComponent.");
5672
5621
  }
5673
5622
 
5674
- comp[components_CORE].entity = core.entity;
5623
+ comp[symbols.CORE].entity = core.entity;
5675
5624
 
5676
5625
  if(core.container) {
5677
- comp[components_CORE].container = core.container;
5626
+ comp[symbols.CORE].container = core.container;
5678
5627
  }
5679
5628
  }
5680
5629
 
5681
5630
  }
5682
5631
 
5683
- if(parent instanceof ComponentCore) comp[components_CORE].parent = parent;
5632
+ if(parent instanceof ComponentCore) comp[symbols.CORE].parent = parent;
5684
5633
 
5685
5634
  return comp;
5686
5635
  }
@@ -5690,9 +5639,9 @@ function prepareCore(parent, core)
5690
5639
  {
5691
5640
  try {
5692
5641
  parent.cache ??= new ComponentCache(parent);
5693
- core = parent.cache.pick( core[components_TEXT]===undefined?core?.props?.key:':text:',
5694
- ()=>( (core[components_TEXT]!==undefined || core instanceof ComponentCore) ?
5695
- core : constructFunc(core, parent)[components_CORE] )
5642
+ core = parent.cache.pick( core[symbols.TEXT]===undefined?core?.props?.key:':text:',
5643
+ ()=>( (core[symbols.TEXT]!==undefined || core instanceof ComponentCore) ?
5644
+ core : constructFunc(core, parent)[symbols.CORE] )
5696
5645
  );
5697
5646
  return core;
5698
5647
  }
@@ -5708,19 +5657,18 @@ function prepareCore(parent, core)
5708
5657
  function doUpdates()
5709
5658
  {
5710
5659
  requestAnimationFrame(()=>{
5711
- let layout_effects = Lilact.layout_effects;
5712
- let update_cbs = Lilact.update_cbs;
5713
- let update_set = Lilact.update_set;
5714
-
5715
- Lilact.layout_effects = new Set;
5716
- Lilact.update_cbs = new Set;
5717
- Lilact.update_set = new Set;
5660
+ let _layout_effects = lilact.layout_effects;
5661
+ let _update_cbs = lilact.update_cbs;
5662
+ let _update_set = lilact.update_set;
5718
5663
 
5719
- for(const le of layout_effects) le();
5664
+ lilact.layout_effects = new Set;
5665
+ lilact.update_cbs = new Set;
5666
+ lilact.update_set = new Set;
5720
5667
 
5721
- for(const u of update_set) u.apply();
5722
- for(const cb of update_cbs) cb();
5668
+ for(const le of _layout_effects) le();
5723
5669
 
5670
+ for(const u of _update_set) u.apply();
5671
+ for(const cb of _update_cbs) cb();
5724
5672
  });
5725
5673
  }
5726
5674
 
@@ -5750,7 +5698,7 @@ const generateComponentKey = (entity, props)=> {
5750
5698
  else if(props.path!==undefined) {
5751
5699
  key = ':p:'+props.path;
5752
5700
  }
5753
- else if(props[components_TEXT]!==undefined) {
5701
+ else if(props[symbols.TEXT]!==undefined) {
5754
5702
  key = ':text:';
5755
5703
  }
5756
5704
  else {
@@ -5819,11 +5767,11 @@ class Component
5819
5767
  * Update it with `setState()` to trigger a re-render.
5820
5768
  * @type {object}
5821
5769
  */
5822
- get state() { return this[components_CORE].state }
5770
+ get state() { return this[symbols.CORE].state }
5823
5771
  set state(v) {
5824
5772
  // todo: this should be changed, it should be only directly settable in constructor.
5825
- if(this[components_CORE].state===undefined) {
5826
- this[components_CORE].state = v;
5773
+ if(this[symbols.CORE].state===undefined) {
5774
+ this[symbols.CORE].state = v;
5827
5775
  }
5828
5776
  else {
5829
5777
  throw new Error('Assigning component state this way is not allowed.');
@@ -5835,7 +5783,7 @@ class Component
5835
5783
  * @type {any}
5836
5784
  * @protected
5837
5785
  */
5838
- get context() { return this[components_CORE].context }
5786
+ get context() { return this[symbols.CORE].context }
5839
5787
  set context(v) { throw new Error('Assigning component context this way is not allowed.') }
5840
5788
 
5841
5789
  /**
@@ -5843,7 +5791,7 @@ class Component
5843
5791
  * Use it to access shared data provided by an outer component/system.
5844
5792
  * @type {any}
5845
5793
  */
5846
- get type() { return this[components_CORE].entity }
5794
+ get type() { return this[symbols.CORE].entity }
5847
5795
  set type(v) { throw new Error('Component type is immutable.') }
5848
5796
 
5849
5797
  /**
@@ -5851,7 +5799,7 @@ class Component
5851
5799
  * Use it as read-only input when rendering.
5852
5800
  * @type {any}
5853
5801
  */
5854
- get props() { return this[components_CORE].props }
5802
+ get props() { return this[symbols.CORE].props }
5855
5803
  set props(v) { throw new Error('Assigning component props this way is not allowed.') }
5856
5804
 
5857
5805
  /**
@@ -5859,7 +5807,7 @@ class Component
5859
5807
  * Can be used to expose the component instance or an underlying DOM node.
5860
5808
  * @type {any}
5861
5809
  */
5862
- get ref() { return this[components_CORE].ref }
5810
+ get ref() { return this[symbols.CORE].ref }
5863
5811
  set ref(v) { throw new Error('Component ref is immutable.') }
5864
5812
 
5865
5813
  /**
@@ -5867,7 +5815,7 @@ class Component
5867
5815
  * The key is immutable and can only be set when the component is declared.
5868
5816
  * @type {string|number}
5869
5817
  */
5870
- get key() { return this[components_CORE].props.key }
5818
+ get key() { return this[symbols.CORE].props.key }
5871
5819
  set key(v) { throw new Error('Component key is immutable.') }
5872
5820
 
5873
5821
 
@@ -5878,16 +5826,16 @@ class Component
5878
5826
  */
5879
5827
  displayName()
5880
5828
  {
5881
- if(this[components_CORE].entity?.displayName) return this[components_CORE].entity?.displayName;
5882
- if(typeof(this[components_CORE].entity)==='string') return this[components_CORE].entity;
5883
- if( Lilact.isClass(this[components_CORE].entity) ) this[components_CORE].entity.constructor.name;
5884
- if( typeof(this[components_CORE].entity)==='function' ) return this[components_CORE].entity.name;
5829
+ if(this[symbols.CORE].entity?.displayName) return this[symbols.CORE].entity?.displayName;
5830
+ if(typeof(this[symbols.CORE].entity)==='string') return this[symbols.CORE].entity;
5831
+ if( isClass(this[symbols.CORE].entity) ) this[symbols.CORE].entity.constructor.name;
5832
+ if( typeof(this[symbols.CORE].entity)==='function' ) return this[symbols.CORE].entity.name;
5885
5833
  return "Component";
5886
5834
  }
5887
5835
 
5888
5836
  constructor(props)
5889
5837
  {
5890
- this[components_CORE] = new ComponentCore(this, props);
5838
+ this[symbols.CORE] = new ComponentCore(this, props);
5891
5839
  }
5892
5840
 
5893
5841
  /**
@@ -5897,11 +5845,11 @@ class Component
5897
5845
  */
5898
5846
  forceUpdate(callback)
5899
5847
  {
5900
- Lilact.clearTimeout(Lilact.update_timeout);
5848
+ lilact.clearTimeout(lilact.update_timeout);
5901
5849
 
5902
- Lilact.update_set.add(this[components_CORE].container || this[components_CORE]);
5903
- if(callback) Lilact.update_cbs.add(callback.bind(this));
5904
- Lilact.update_timeout = Lilact.setTimeout( doUpdates, Lilact.update_interval_margin );
5850
+ lilact.update_set.add(this[symbols.CORE].container || this[symbols.CORE]);
5851
+ if(callback) lilact.update_cbs.add(callback.bind(this));
5852
+ lilact.update_timeout = lilact.setTimeout( doUpdates, lilact.update_interval_margin );
5905
5853
  }
5906
5854
 
5907
5855
  /**
@@ -5914,10 +5862,10 @@ class Component
5914
5862
  setState(next_state, callback)
5915
5863
  {
5916
5864
  if(this.getSnapshotBeforeUpdate!==undefined) {
5917
- this[components_CORE].last_snapshot = this.getSnapshotBeforeUpdate(this[components_CORE].props, this.state);
5865
+ this[symbols.CORE].last_snapshot = this.getSnapshotBeforeUpdate(this[symbols.CORE].props, this.state);
5918
5866
  }
5919
5867
 
5920
- this[components_CORE].next_state = next_state;
5868
+ this[symbols.CORE].next_state = next_state;
5921
5869
  this.forceUpdate(callback?callback.bind(this):undefined);
5922
5870
  }
5923
5871
 
@@ -5973,12 +5921,12 @@ class HTMLComponent extends Component
5973
5921
  constructor(entity, props)
5974
5922
  {
5975
5923
  super(props);
5976
- this[components_CORE].entity = entity;
5924
+ this[symbols.CORE].entity = entity;
5977
5925
  }
5978
5926
 
5979
5927
  render()
5980
5928
  {
5981
- return this[components_CORE].props.children;
5929
+ return this[symbols.CORE].props.children;
5982
5930
  }
5983
5931
  }
5984
5932
 
@@ -6017,11 +5965,11 @@ class RootComponent extends HTMLComponent
6017
5965
  element = document.querySelector(element);
6018
5966
  }
6019
5967
 
6020
- this[components_CORE].element = element;
5968
+ this[symbols.CORE].element = element;
6021
5969
 
6022
5970
  for(const ch of props.children) {
6023
- if(ch[components_CORE]) ch[components_CORE].container = this[components_CORE];
6024
- else ch.container = this[components_CORE];
5971
+ if(ch[symbols.CORE]) ch[symbols.CORE].container = this[symbols.CORE];
5972
+ else ch.container = this[symbols.CORE];
6025
5973
  }
6026
5974
  }
6027
5975
  }
@@ -6059,7 +6007,7 @@ function components_createComponent(entity, props={}, ...children)
6059
6007
  }
6060
6008
 
6061
6009
  if( typeof(ch)==='string' ) {
6062
- children[i] = { [components_TEXT]: ch };
6010
+ children[i] = { [symbols.TEXT]: ch };
6063
6011
  }
6064
6012
  else {
6065
6013
  children[i] = ch;
@@ -6096,7 +6044,7 @@ function createRoot(element)
6096
6044
  render(component) {
6097
6045
  if(!root) {
6098
6046
  root = new RootComponent( element, {children:[component]} );
6099
- Lilact.roots.add(root[components_CORE]);
6047
+ lilact.roots.add(root[symbols.CORE]);
6100
6048
  root.forceUpdate();
6101
6049
  return root;
6102
6050
  }
@@ -6127,7 +6075,7 @@ function createRoot(element)
6127
6075
 
6128
6076
  function render(component, element)
6129
6077
  {
6130
- if(component[components_CORE] && (component[components_CORE].container || component[components_CORE].parent)) {
6078
+ if(component[symbols.CORE] && (component[symbols.CORE].container || component[symbols.CORE].parent)) {
6131
6079
  throw new Error("Component is already in use");
6132
6080
  }
6133
6081
  return createRoot(element).render(component);
@@ -6136,7 +6084,66 @@ function render(component, element)
6136
6084
  /** @ignore */
6137
6085
  const createElement = components_createComponent;
6138
6086
 
6139
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiL1VzZXJzL2FyYXNoL0Rlc2t0b3AvUHJvamVjdHMvTGlsYWN0L3NyYy9jb21wb25lbnRzLmpzeCIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi9Vc2Vycy9hcmFzaC9EZXNrdG9wL1Byb2plY3RzL0xpbGFjdC9zcmMvY29tcG9uZW50cy5qc3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBOEJDOztRQUVPOztDQUVQOzs7Ozs7Q0FNQTs7Ozs7O2FBTVk7RUFDWDs7OztNQUlJO0VBQ0o7O2tDQUVnQzs7S0FFN0IsZ0NBQWdDOzs7OzJCQUlWO01BQ3JCLG1CQUFtQjtjQUNYOztTQUVMOztxQkFFWTs7OztRQUliO3lCQUNpQjs7MkJBRUU7TUFDckIsbUJBQW1CO2NBQ1g7O1NBRUw7O3FCQUVZOzs7O01BSWY7Ozs7OztRQU1FO0VBQ047MkJBQ3lCLENBQUUsT0FBTztZQUN2QixrQkFBbUIsQUFBRCxNQUFPO0tBQy9CLHVCQUF1Qjs7Ozs7Ozs7OztDQVU3Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBa0JBO0VBQ0M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzthQTJCVztFQUNYOzt5QkFFdUI7OztPQUdsQjtFQUNMO0dBQ0M7O0dBRUE7R0FDQTtHQUNBO0dBQ0E7O0dBRUEsb0JBQW9COztNQUdqQix5QkFBeUI7b0NBQ0s7O1dBRXpCLDRCQUE0QjtvQ0FDSDs7O01BSTlCLE1BQU8sbURBQWtEOztNQUV6RCwwQ0FBMEM7a0JBQzlCOzs7TUFHWjs7S0FFQTs7O01BR0EsT0FBUSw0QkFBMkI7T0FDbEMsQ0FBRSxvQ0FBbUM7MkNBQ0Q7UUFDbkMsc0RBQXNELCtCQUErQjtRQUNyRjs7Ozs7O01BTUYsaUJBQWlCO09BQ2hCLE1BQU8sZ0NBQStCO1FBQ3JDLGVBQWU7cUJBQ0Y7O1dBRVY7cUJBQ1U7Ozs7VUFJWDtRQUNGLGVBQWU7OztXQUdaOzs7Ozs7TUFNTCxxRUFBcUU7NkNBQzlCOzs7TUFHdkMscUNB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
6087
+ /** @ignore */
6088
+ let current_component = [];
6089
+ /** @ignore */
6090
+
6091
+ let update_set = new Set;
6092
+ /** @ignore */
6093
+ let update_cbs = new Set;
6094
+ /** @ignore */
6095
+ let roots = new Set;
6096
+ /** @ignore */
6097
+ let layout_effects = new Set;
6098
+
6099
+ /** @ignore */
6100
+ const special_attributes = new Set([
6101
+ "classname", "ref", "action", "lilact_jsx_loc", "children", "key",
6102
+ "defaultvalue", "defaultchecked"
6103
+ ]);
6104
+
6105
+ /** @ignore */
6106
+ const events_set = new Set([
6107
+ "onafterprint","onbeforeprint","onbeforeunload","onerror","onhashchange","onload","onmessage",
6108
+ "onoffline","ononline","onpagehide","onpageshow","onpopstate","onresize","onstorage","onunload",
6109
+ "onblur","onchange","oncontextmenu","onfocus","oninput","oninvalid","onreset","onsearch","onselect",
6110
+ "onsubmit",
6111
+ "onkeydown","onkeypress","onkeyup",
6112
+ "onclick","ondblclick","onmousedown","onmousemove","onmouseout","onmouseover","onmouseup","onmousewheel",
6113
+ "onwheel",
6114
+ "ondrag","ondragend","ondragenter","ondragleave","ondragover","ondragstart","ondrop","onscroll",
6115
+ "oncopy","oncut","onpaste",
6116
+ "onabort","oncanplay","oncanplaythrough","oncuechange","ondurationchange","onemptied","onended","onerror",
6117
+ "onloadeddata","onloadedmetadata","onloadstart","onpause","onplay","onplaying","onprogress","onratechange",
6118
+ "onseeked","onseeking","onstalled","onsuspend","ontimeupdate","onvolumechange","onwaiting",
6119
+ "ontoggle",
6120
+ "onpointerdown", "onpointerup", "onpointermove", "onpointercancel", "onpointerover", "onpointerout",
6121
+ "onpointerenter", "onpointerleave"
6122
+ ]);
6123
+
6124
+ /** @ignore */
6125
+ const capture_events_set = {};
6126
+ for (const x of events_set) {
6127
+ capture_events_set[x+"capture"] = x;
6128
+ }
6129
+
6130
+ /** @ignore */
6131
+ const length_css_attributes_set = new Set([
6132
+ "width","height","minWidth","minHeight","maxWidth","maxHeight","top","right","bottom","left","margin",
6133
+ "marginTop","marginRight","marginBottom","marginLeft","padding","paddingTop","paddingRight","paddingBottom",
6134
+ "paddingLeft","borderWidth","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth",
6135
+ "outlineWidth","fontSize","lineHeight","letterSpacing","wordSpacing","textIndent","borderRadius",
6136
+ "borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius",
6137
+ "columnGap","rowGap","gap"
6138
+ ]);
6139
+
6140
+ /** @ignore */
6141
+ const boolean_html_attributes_set = new
6142
+ Set(["disabled", "readOnly", "required", "checked", "multiple",
6143
+ "hidden","open","loop","muted","controls","playsInline","allowFullScreen"]);
6144
+
6145
+
6146
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiL1VzZXJzL2FyYXNoL0Rlc2t0b3AvUHJvamVjdHMvTGlsYWN0L3NyYy9jb21wb25lbnRzLmpzeCIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi9Vc2Vycy9hcmFzaC9EZXNrdG9wL1Byb2plY3RzL0xpbGFjdC9zcmMvY29tcG9uZW50cy5qc3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7UUFnQ1E7UUFDQTs7OztDQUlQOzs7Ozs7Q0FNQTs7Ozs7O2FBTVk7RUFDWDs7OztNQUlJO0VBQ0o7O2tDQUVnQzs7S0FFN0IsZ0NBQWdDOzs7OzJCQUlWO01BQ3JCLG1CQUFtQjtjQUNYOztTQUVMOztxQkFFWTs7OztRQUliO3lCQUNpQjs7MkJBRUU7TUFDckIsbUJBQW1CO2NBQ1g7O1NBRUw7O3FCQUVZOzs7O01BSWY7Ozs7OztRQU1FO0VBQ047MkJBQ3lCLENBQUUsT0FBTztZQUN2QixrQkFBbUIsQUFBRCxNQUFPO0tBQy9CLHVCQUF1Qjs7Ozs7Ozs7OztDQVU3Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBa0JBO0VBQ0M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzthQTJCVztFQUNYOzt5QkFFdUI7OztPQUdsQjtFQUNMO0dBQ0M7O0dBRUE7R0FDQTtHQUNBO0dBQ0E7O0dBRUEsb0JBQW9CO0dBQ3BCLFFBQVE7O01BRUwseUJBQXlCOzZCQUNGOztXQUVsQiw0QkFBNEI7NkJBQ1Y7Ozs7TUFJdkIsTUFBTyxtREFBa0Q7O01BRXpELDBDQUEwQztrQkFDOUI7OztNQUdaOztLQUVBOzs7TUFHQSxPQUFRLDRCQUEyQjtPQUNsQyxDQUFFLG9DQUFtQzsyQ0FDRDtRQUNuQyxzREFBc0QsK0JBQStCO1FBQ3JGOzs7Ozs7TUFNRixpQkFBaUI7T0FDaEIsTUFBTyxnQ0FBK0I7UUFDckMsZUFBZTtxQkFDRjs7V0FFVjtxQkFDVTs7OztVQUlYO1FBQ0YsZUFBZTs7O1dBR1o7Ozs7OztNQU1MLHFFQUFxRTs2Q0FD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
6140
6147
  ;// ./src/hooks.jsx
6141
6148
  /*
6142
6149
 
@@ -6168,7 +6175,10 @@ const createElement = components_createComponent;
6168
6175
 
6169
6176
  */
6170
6177
 
6171
- const [hooks_CORE,hooks_COMPONENT]=[Symbol.for('LILACT:CORE'),Symbol.for('LILACT:COMPONENT')];
6178
+
6179
+
6180
+
6181
+
6172
6182
 
6173
6183
 
6174
6184
  /**
@@ -6180,7 +6190,7 @@ const [hooks_CORE,hooks_COMPONENT]=[Symbol.for('LILACT:CORE'),Symbol.for('LILACT
6180
6190
  */
6181
6191
  function useHook()
6182
6192
  {
6183
- const core = Lilact.current_component[0];
6193
+ const core = lilact.current_component[0];
6184
6194
 
6185
6195
  if(core.hooks[core.hook_index]===undefined) {
6186
6196
  core.hooks.push({});
@@ -6197,9 +6207,9 @@ function useHook()
6197
6207
  */
6198
6208
  function useState(initialValue)
6199
6209
  {
6200
- const hk = Lilact.useHook();
6210
+ const hk = useHook();
6201
6211
 
6202
- if( Lilact.isEmpty(hk) ) {
6212
+ if( isEmpty(hk) ) {
6203
6213
  if(typeof(initialValue)==='function') hk.value = initialValue();
6204
6214
  else hk.value = initialValue;
6205
6215
 
@@ -6208,7 +6218,7 @@ function useState(initialValue)
6208
6218
  else hk.value = value;
6209
6219
 
6210
6220
  core.component.forceUpdate();
6211
- }.bind(undefined, Lilact.current_component[0], hk);
6221
+ }.bind(undefined, lilact.current_component[0], hk);
6212
6222
 
6213
6223
  }
6214
6224
 
@@ -6228,10 +6238,10 @@ function useCallback(callback, deps=undefined)
6228
6238
  throw new Error("Callback dependencies must be an array or omitted.");
6229
6239
  }
6230
6240
 
6231
- const hk = Lilact.useHook();
6241
+ const hk = useHook();
6232
6242
 
6233
- if( !Lilact.isEmpty(hk) ) {
6234
- if(deps!==undefined && hk?.deps!==undefined && Lilact.shallowEqual(deps, hk.deps)) {
6243
+ if( !isEmpty(hk) ) {
6244
+ if(deps!==undefined && hk?.deps!==undefined && shallowEqual(deps, hk.deps)) {
6235
6245
  return hk.callback;
6236
6246
  }
6237
6247
  }
@@ -6272,7 +6282,7 @@ function createContext(defaultValue)
6272
6282
  */
6273
6283
  function useContext(context)
6274
6284
  {
6275
- let core = Lilact.current_component[0].parent;
6285
+ let core = lilact.current_component[0].parent;
6276
6286
 
6277
6287
  while(core.entity!==context.Provider && core.parent) {
6278
6288
  core = core.parent;
@@ -6294,10 +6304,10 @@ function useContext(context)
6294
6304
  */
6295
6305
  function useId(prefix="N")
6296
6306
  {
6297
- const hk = Lilact.useHook();
6307
+ const hk = useHook();
6298
6308
 
6299
- if( Lilact.isEmpty(hk) ) {
6300
- hk.id = prefix+Lilact.id_num++;
6309
+ if( isEmpty(hk) ) {
6310
+ hk.id = prefix+lilact.id_num++;
6301
6311
  }
6302
6312
 
6303
6313
  return hk.id;
@@ -6310,9 +6320,9 @@ function useId(prefix="N")
6310
6320
  */
6311
6321
  function useTransition()
6312
6322
  {
6313
- const hk = Lilact.useHook();
6323
+ const hk = useHook();
6314
6324
 
6315
- if( Lilact.isEmpty(hk) ) {
6325
+ if( isEmpty(hk) ) {
6316
6326
  hk.count=0;
6317
6327
 
6318
6328
  hk.func =
@@ -6334,7 +6344,7 @@ function useTransition()
6334
6344
  }
6335
6345
  }
6336
6346
 
6337
- ).bind(undefined, Lilact.current_component[0], hk);
6347
+ ).bind(undefined, lilact.current_component[0], hk);
6338
6348
  }
6339
6349
 
6340
6350
  return [ hk.count!=0, hk.func ];
@@ -6350,7 +6360,7 @@ function useTransition()
6350
6360
  function useLocalStorage(key, initialValue)
6351
6361
  {
6352
6362
 
6353
- const hk = Lilact.useHook();
6363
+ const hk = useHook();
6354
6364
  let val;
6355
6365
 
6356
6366
  try {
@@ -6365,7 +6375,7 @@ function useLocalStorage(key, initialValue)
6365
6375
  localStorage[key] = JSON.stringify(val);
6366
6376
  }
6367
6377
 
6368
- if( Lilact.isEmpty(hk) ) {
6378
+ if( isEmpty(hk) ) {
6369
6379
  hk.value = val;
6370
6380
  hk.set_func = function(core, hk, val) {
6371
6381
 
@@ -6378,7 +6388,7 @@ function useLocalStorage(key, initialValue)
6378
6388
  hk.value = val;
6379
6389
  core.component.forceUpdate();
6380
6390
 
6381
- }.bind(undefined, Lilact.current_component[0], hk);
6391
+ }.bind(undefined, lilact.current_component[0], hk);
6382
6392
  }
6383
6393
 
6384
6394
  return [hk.value, hk.set_func];
@@ -6393,9 +6403,9 @@ function useLocalStorage(key, initialValue)
6393
6403
  */
6394
6404
  function useRef(initialValue = null)
6395
6405
  {
6396
- const hk = Lilact.useHook();
6406
+ const hk = useHook();
6397
6407
 
6398
- if( Lilact.isEmpty(hk) ) {
6408
+ if( isEmpty(hk) ) {
6399
6409
  hk.current = initialValue;
6400
6410
  }
6401
6411
 
@@ -6415,10 +6425,10 @@ function useLayoutEffect(effect, deps=undefined)
6415
6425
  throw new Error("Layout effect dependencies must be an array or omitted.");
6416
6426
  }
6417
6427
 
6418
- const hk = Lilact.useHook();
6428
+ const hk = useHook();
6419
6429
 
6420
- if( !Lilact.isEmpty(hk) ) {
6421
- if(deps!==undefined && hk?.deps!==undefined && Lilact.shallowEqual(deps, hk.deps)) return;
6430
+ if( !isEmpty(hk) ) {
6431
+ if(deps!==undefined && hk?.deps!==undefined && shallowEqual(deps, hk.deps)) return;
6422
6432
  }
6423
6433
 
6424
6434
  if(hk?.cleanup) {
@@ -6426,8 +6436,8 @@ function useLayoutEffect(effect, deps=undefined)
6426
6436
  }
6427
6437
 
6428
6438
  hk.deps = deps;
6429
- Lilact.layout_effects.add( ()=>{ hk.cleanup = effect(); });
6430
- Lilact.current_component[0].component.forceUpdate();
6439
+ lilact.layout_effects.add( ()=>{ hk.cleanup = effect(); });
6440
+ lilact.current_component[0].component.forceUpdate();
6431
6441
  }
6432
6442
 
6433
6443
  /**
@@ -6443,10 +6453,10 @@ function useEffect(effect, deps=undefined)
6443
6453
  throw new Error("Effect dependencies must be an array or omitted.");
6444
6454
  }
6445
6455
 
6446
- const hk = Lilact.useHook();
6456
+ const hk = useHook();
6447
6457
 
6448
- if( !Lilact.isEmpty(hk) ) {
6449
- if(deps!==undefined && hk?.deps!==undefined && Lilact.shallowEqual(deps, hk.deps)) return;
6458
+ if( !isEmpty(hk) ) {
6459
+ if(deps!==undefined && hk?.deps!==undefined && shallowEqual(deps, hk.deps)) return;
6450
6460
  }
6451
6461
 
6452
6462
  if(hk?.cleanup) {
@@ -6454,7 +6464,7 @@ function useEffect(effect, deps=undefined)
6454
6464
  }
6455
6465
 
6456
6466
  hk.deps = deps;
6457
- Lilact.setTimeout( ()=>{ hk.cleanup = effect(); }, 0 );
6467
+ lilact.setTimeout( ()=>{ hk.cleanup = effect(); }, 0 );
6458
6468
 
6459
6469
  }
6460
6470
 
@@ -6471,10 +6481,10 @@ function useMemo(factory,deps=undefined)
6471
6481
  throw new Error("Memo dependencies must be an array or omitted.");
6472
6482
  }
6473
6483
 
6474
- const hk = Lilact.useHook();
6484
+ const hk = useHook();
6475
6485
 
6476
- if( !Lilact.isEmpty(hk) ) {
6477
- if(deps!==undefined && hk?.deps!==undefined && Lilact.shallowEqual(deps, hk.deps)) {
6486
+ if( !isEmpty(hk) ) {
6487
+ if(deps!==undefined && hk?.deps!==undefined && shallowEqual(deps, hk.deps)) {
6478
6488
  return hk.value;
6479
6489
  }
6480
6490
  }
@@ -6494,10 +6504,10 @@ function useMemo(factory,deps=undefined)
6494
6504
  */
6495
6505
  function useActionState(action, initialState)
6496
6506
  {
6497
- const hk = Lilact.useHook();
6498
- const [is_pending, tran_start_func] = Lilact.useTransition();
6507
+ const hk = useHook();
6508
+ const [is_pending, tran_start_func] = useTransition();
6499
6509
 
6500
- if( Lilact.isEmpty(hk) ) {
6510
+ if( isEmpty(hk) ) {
6501
6511
 
6502
6512
  hk.state = initialState;
6503
6513
 
@@ -6529,19 +6539,18 @@ function useActionState(action, initialState)
6529
6539
  */
6530
6540
  function useReducer(reducer, initialArg, init)
6531
6541
  {
6532
- const hk = Lilact.useHook();
6542
+ const hk = useHook();
6533
6543
 
6534
- if( Lilact.isEmpty(hk) ) {
6544
+ if( isEmpty(hk) ) {
6535
6545
  hk.reducer = reducer;
6536
6546
  hk.state = init?init(initialArg):initialArg;
6537
6547
  hk.dispatch = function(core, hk, action) {
6538
6548
  const newst = hk.reducer(hk.state, action);
6539
- if(!Lilact.defaultIsEqual(newst,hk.state)) {
6549
+ if(!lilact.defaultIsEqual(newst,hk.state)) {
6540
6550
  hk.state = newst;
6541
6551
  core.component.forceUpdate();
6542
6552
  }
6543
-
6544
- }.bind(undefined, Lilact.current_component[0], hk);
6553
+ }.bind(undefined, lilact.current_component[0], hk);
6545
6554
  }
6546
6555
 
6547
6556
  return [hk.state, hk.dispatch];
@@ -6559,7 +6568,7 @@ function useReducer(reducer, initialArg, init)
6559
6568
  */
6560
6569
  function useDeferredValue(value, initialValue)
6561
6570
  {
6562
- const { useEffect, useRef, useState } = Lilact;
6571
+ const { useEffect, useRef, useState } = lilact;
6563
6572
 
6564
6573
  const [deferred, setDeferred] = useState(
6565
6574
  typeof initialValue !== "undefined" ? initialValue : value
@@ -6614,11 +6623,11 @@ function useDeferredValue(value, initialValue)
6614
6623
  */
6615
6624
  function useImperativeHandle(ref, factory, deps=undefined)
6616
6625
  {
6617
- if(deps!==undefined && ref?.deps!==undefined && Lilact.shallowEqual(deps, ref.deps)) return;
6626
+ if(deps!==undefined && ref?.deps!==undefined && shallowEqual(deps, ref.deps)) return;
6618
6627
 
6619
6628
  ref.deps = deps;
6620
6629
 
6621
- Lilact.setTimeout( ()=>{
6630
+ lilact.setTimeout( ()=>{
6622
6631
  if(typeof ref?.current !== 'object') {
6623
6632
  ref.current = {};
6624
6633
  }
@@ -6628,7 +6637,7 @@ function useImperativeHandle(ref, factory, deps=undefined)
6628
6637
 
6629
6638
 
6630
6639
 
6631
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiL1VzZXJzL2FyYXNoL0Rlc2t0b3AvUHJvamVjdHMvTGlsYWN0L3NyYy9ob29rcy5qc3giLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIvVXNlcnMvYXJhc2gvRGVza3RvcC9Qcm9qZWN0cy9MaWxhY3Qvc3JjL2hvb2tzLmpzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0E4QkM7OztDQUdBOzs7Ozs7O3dCQU91QjtDQUN2Qjs7O0lBR0csMENBQTBDO2tCQUMzQixBQUFEOzs7Ozs7Q0FNakI7Ozs7Ozt5QkFNd0I7Q0FDeEI7MkJBQzBCOztJQUV2QixlQUFnQixRQUFPO0tBQ3RCLE1BQU8scURBQW9EOzs7eUJBR3ZDLGtCQUFrQjtNQUNyQyxNQUFPLHVDQUFzQzs7OzhCQUdyQjtTQUNyQjs7Ozs7OztDQU9SOzs7Ozs7OzRCQU8yQjtDQUMzQjtJQUNHLHFCQUFzQixNQUFPLDBEQUF3RDtrQkFDdkU7OzsyQkFHUzs7SUFFdkIsZ0JBQWlCLFFBQU87S0FDdkIsK0RBQWdFLGtCQUFpQjs7Ozs7SUFLbEYsY0FBYzthQUNMOzs7Ozs7Ozs7Q0FTWjs7Ozs7OzhCQU02QjtDQUM3Qjt1QkFDdUIsQUFBRCxvQkFBb0I7Ozs7U0FJbEM7Ozs7OztDQU1SOzs7Ozs7MkJBTTBCO0NBQzFCOzs7T0FHTSxnREFBZ0Q7Ozs7SUFJbkQsY0FBYzs7Ozs7Ozs7Q0FRakI7Ozs7OztzQkFNcUI7Q0FDckI7MkJBQzBCOztJQUV2QixlQUFnQixRQUFPOzs7Ozs7O0NBTzFCOzs7Ozs4QkFLNkI7Q0FDN0I7MkJBQzBCOztJQUV2QixlQUFnQixRQUFPOzs7OztHQUt4QixjQUFlLGVBQWU7Ozs7S0FJM0IsZUFBZTs4QkFDVTs7O1dBR25COzs7O0tBSU4sZUFBZTs4QkFDVTs7OztTQUl0Qjs7Ozs7O0NBTVI7Ozs7Ozs7Z0NBTytCO0NBQy9COzsyQkFFMEI7OztNQUdyQjttQkFDYTs7T0FFWixJQUFJOzs7SUFHUCxrQkFBa0I7S0FDakIsTUFBTyx5REFBd0Q7O3FDQUUvQjs7O0lBR2pDLGVBQWdCLFFBQU87O3lCQUVGLGdCQUFnQjs7TUFFbkMsTUFBTyw4QkFBNkI7O01BRXBDOztzQ0FFZ0M7Ozs4QkFHUjs7U0FFckI7Ozs7OztDQU1SOzs7Ozs7O3VCQU9zQjtDQUN0QjsyQkFDMEI7O0lBRXZCLGVBQWdCLFFBQU87Ozs7Ozs7Q0FPMUI7Ozs7Ozs7Z0NBTytCO0NBQy9CO0lBQ0cscUJBQXNCLE1BQU8sMERBQXdEO2tCQUN2RTs7OzJCQUdTOztJQUV2QixnQkFBaUIsUUFBTztLQUN2QiwrREFBZ0U7OztJQUdqRSxjQUFjO2FBQ0w7Ozs7MkJBSWMsQ0FBRSxJQUFJLHFCQUFxQjttREFDSDs7O0NBR2xEOzs7Ozs7OzBCQU95QjtDQUN6QjtJQUNHLHFCQUFzQixNQUFPLDBEQUF3RDtrQkFDdkU7OzsyQkFHUzs7SUFFdkIsZ0JBQWlCLFFBQU87S0FDdkIsK0RBQWdFOzs7SUFHakUsY0FBYzthQUNMOzs7O21CQUlNLENBQUUsSUFBSSxxQkFBcUI7Ozs7Q0FJN0M7Ozs7Ozs7d0JBT3VCO0NBQ3ZCO0lBQ0cscUJBQXNCLE1BQU8sMERBQXdEO2tCQUN2RTs7OzJCQUdTOztJQUV2QixnQkFBaUIsUUFBTztLQUN2QiwrREFBZ0Usa0JBQWlCOzs7Ozs7b0JBTWxFOzs7OztDQUtuQjs7Ozs7OzsrQkFPOEI7Q0FDOUI7MkJBQzBCOzREQUNpQzs7SUFFeEQsZUFBZ0IsUUFBTzs7OztvQkFJUCxPQUFPO3dCQUNIOzttQkFFTDtXQUNQLEtBQUs7b0NBQ29COzZCQUNQOzs7Ozs7Ozs7Ozs7Q0FZN0I7Ozs7Ozs7OzJCQVEwQjtDQUMxQjsyQkFDMEI7O0lBRXZCLGVBQWdCLFFBQU87O3VCQUVKO3lCQUNFLG1CQUFtQjs0QkFDaEI7TUFDdEIsc0JBQXVCLG1CQUFrQjs7K0JBRWhCOzs7U0FHdEI7Ozs7Ozs7O0NBUVI7O0NBRUE7Ozs7OztpQ0FNZ0M7Q0FDaEM7UUFDTzs7MENBRWtDOzs7NkJBR2I7MkJBQ0Y7O1dBRWYsQUFBRCxNQUFPO0tBQ1o7OztFQUdIO0tBQ0csNkJBQTZCOzs7OztFQUtoQztjQUNZOzs7aUJBR0csT0FBUSxBQUFELE1BQU87S0FDekI7RUFDSDthQUNXOzs7O1NBSUwsTUFBTTtNQUNULHFCQUFxQjs7Ozs7Ozs7OztDQVUzQjs7Ozs7Ozs7Ozs7OztvQ0FhbUM7Q0FDbkM7SUFDRyxnRUFBaUU7Ozs7bUJBSWxELENBQUUsSUFBSTtJQUNwQixtQ0FBbUM7aUJBQ3RCOztlQUVGLHFCQUFzQiJ9
6640
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiL1VzZXJzL2FyYXNoL0Rlc2t0b3AvUHJvamVjdHMvTGlsYWN0L3NyYy9ob29rcy5qc3giLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIvVXNlcnMvYXJhc2gvRGVza3RvcC9Qcm9qZWN0cy9MaWxhY3Qvc3JjL2hvb2tzLmpzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O1FBK0JROztRQUVBOzs7Q0FHUDs7Ozs7Ozt3QkFPdUI7Q0FDdkI7OztJQUdHLDBDQUEwQztrQkFDM0IsQUFBRDs7Ozs7O0NBTWpCOzs7Ozs7eUJBTXdCO0NBQ3hCO29CQUNtQjs7SUFFaEIsUUFBUyxRQUFPO0tBQ2YsTUFBTyxxREFBb0Q7Ozt5QkFHdkMsa0JBQWtCO01BQ3JDLE1BQU8sdUNBQXNDOzs7OEJBR3JCO1NBQ3JCOzs7Ozs7O0NBT1I7Ozs7Ozs7NEJBTzJCO0NBQzNCO0lBQ0cscUJBQXNCLE1BQU8sMERBQXdEO2tCQUN2RTs7O29CQUdFOztJQUVoQixTQUFVLFFBQU87S0FDaEIsd0RBQXlELGtCQUFpQjs7Ozs7SUFLM0UsY0FBYzthQUNMOzs7Ozs7Ozs7Q0FTWjs7Ozs7OzhCQU02QjtDQUM3Qjt1QkFDdUIsQUFBRCxvQkFBb0I7Ozs7U0FJbEM7Ozs7OztDQU1SOzs7Ozs7MkJBTTBCO0NBQzFCOzs7T0FHTSxnREFBZ0Q7Ozs7SUFJbkQsY0FBYzs7Ozs7Ozs7Q0FRakI7Ozs7OztzQkFNcUI7Q0FDckI7b0JBQ21COztJQUVoQixRQUFTLFFBQU87Ozs7Ozs7Q0FPbkI7Ozs7OzhCQUs2QjtDQUM3QjtvQkFDbUI7O0lBRWhCLFFBQVMsUUFBTzs7Ozs7R0FLakIsY0FBZSxlQUFlOzs7O0tBSTNCLGVBQWU7OEJBQ1U7OztXQUduQjs7OztLQUlOLGVBQWU7OEJBQ1U7Ozs7U0FJdEI7Ozs7OztDQU1SOzs7Ozs7O2dDQU8rQjtDQUMvQjs7b0JBRW1COzs7TUFHZDttQkFDYTs7T0FFWixJQUFJOzs7SUFHUCxrQkFBa0I7S0FDakIsTUFBTyx5REFBd0Q7O3FDQUUvQjs7O0lBR2pDLFFBQVMsUUFBTzs7eUJBRUssZ0JBQWdCOztNQUVuQyxNQUFPLDhCQUE2Qjs7TUFFcEM7O3NDQUVnQzs7OzhCQUdSOztTQUVyQjs7Ozs7O0NBTVI7Ozs7Ozs7dUJBT3NCO0NBQ3RCO29CQUNtQjs7SUFFaEIsUUFBUyxRQUFPOzs7Ozs7O0NBT25COzs7Ozs7O2dDQU8rQjtDQUMvQjtJQUNHLHFCQUFzQixNQUFPLDBEQUF3RDtrQkFDdkU7OztvQkFHRTs7SUFFaEIsU0FBVSxRQUFPO0tBQ2hCLHdEQUF5RDs7O0lBRzFELGNBQWM7YUFDTDs7OzsyQkFJYyxDQUFFLElBQUkscUJBQXFCO21EQUNIOzs7Q0FHbEQ7Ozs7Ozs7MEJBT3lCO0NBQ3pCO0lBQ0cscUJBQXNCLE1BQU8sMERBQXdEO2tCQUN2RTs7O29CQUdFOztJQUVoQixTQUFVLFFBQU87S0FDaEIsd0RBQXlEOzs7SUFHMUQsY0FBYzthQUNMOzs7O21CQUlNLENBQUUsSUFBSSxxQkFBcUI7Ozs7Q0FJN0M7Ozs7Ozs7d0JBT3VCO0NBQ3ZCO0lBQ0cscUJBQXNCLE1BQU8sMERBQXdEO2tCQUN2RTs7O29CQUdFOztJQUVoQixTQUFVLFFBQU87S0FDaEIsd0RBQXlELGtCQUFpQjs7Ozs7O29CQU0zRDs7Ozs7Q0FLbkI7Ozs7Ozs7K0JBTzhCO0NBQzlCO29CQUNtQjtxREFDaUM7O0lBRWpELFFBQVMsUUFBTzs7OztvQkFJQSxPQUFPO3dCQUNIOzttQkFFTDtXQUNQLEtBQUs7b0NBQ29COzZCQUNQOzs7Ozs7Ozs7Ozs7Q0FZN0I7Ozs7Ozs7OzJCQVEwQjtDQUMxQjtvQkFDbUI7O0lBRWhCLFFBQVMsUUFBTzs7dUJBRUc7eUJBQ0UsbUJBQW1COzRCQUNoQjtNQUN0QixzQkFBdUIsbUJBQWtCOzsrQkFFaEI7O1NBRXRCOzs7Ozs7OztDQVFSOztDQUVBOzs7Ozs7aUNBTWdDO0NBQ2hDO1FBQ087OzBDQUVrQzs7OzZCQUdiOzJCQUNGOztXQUVmLEFBQUQsTUFBTztLQUNaOzs7RUFHSDtLQUNHLDZCQUE2Qjs7Ozs7RUFLaEM7Y0FDWTs7O2lCQUdHLE9BQVEsQUFBRCxNQUFPO0tBQ3pCO0VBQ0g7YUFDVzs7OztTQUlMLE1BQU07TUFDVCxxQkFBcUI7Ozs7Ozs7Ozs7Q0FVM0I7Ozs7Ozs7Ozs7Ozs7b0NBYW1DO0NBQ25DO0lBQ0cseURBQTBEOzs7O21CQUkzQyxDQUFFLElBQUk7SUFDcEIsbUNBQW1DO2lCQUN0Qjs7ZUFFRixxQkFBc0IifQ==
6632
6641
  // EXTERNAL MODULE: ./src/run.jsx
6633
6642
  var run = __webpack_require__(861);
6634
6643
  ;// ./src/timers.jsx
@@ -6667,7 +6676,7 @@ var run = __webpack_require__(861);
6667
6676
  //ʔ outputJS('./dist/timers.js');
6668
6677
 
6669
6678
 
6670
- const [timers_CORE,timers_IDX,DUE,REPEAT,CLEARED,INTERVAL,CALLBACK,ARGS]=[Symbol.for('LILACT:TIMERS:CORE'),Symbol.for('LILACT:TIMERS:IDX'),Symbol.for('LILACT:TIMERS:DUE'),Symbol.for('LILACT:TIMERS:REPEAT'),Symbol.for('LILACT:TIMERS:CLEARED'),Symbol.for('LILACT:TIMERS:INTERVAL'),Symbol.for('LILACT:TIMERS:CALLBACK'),Symbol.for('LILACT:TIMERS:ARGS')];
6679
+
6671
6680
 
6672
6681
  /**
6673
6682
  * Timer helpers for a promise-friendly timer framework.
@@ -6707,7 +6716,7 @@ function get_bucket(target)
6707
6716
 
6708
6717
  while (left <= right) {
6709
6718
  const mid = Math.floor((left + right) / 2);
6710
- const mid_val = timer_list[mid][DUE];
6719
+ const mid_val = timer_list[mid][symbols.DUE];
6711
6720
 
6712
6721
  if (mid_val === target) {
6713
6722
  return [mid, timer_list[mid]];
@@ -6721,7 +6730,7 @@ function get_bucket(target)
6721
6730
  }
6722
6731
 
6723
6732
  const bucket = [];
6724
- bucket[DUE] = target;
6733
+ bucket[symbols.DUE] = target;
6725
6734
 
6726
6735
  timer_list.splice(left, 0, bucket);
6727
6736
  return [left, bucket];
@@ -6729,19 +6738,19 @@ function get_bucket(target)
6729
6738
 
6730
6739
  function add_timer(t, is_repeat=false)
6731
6740
  {
6732
- const [i,bucket] = get_bucket(t[DUE]);
6741
+ const [i,bucket] = get_bucket(t[symbols.DUE]);
6733
6742
 
6734
6743
  if(!is_repeat) {
6735
6744
  current_timer_idx++;
6736
6745
  all_timers[current_timer_idx]=t;
6737
- t[timers_IDX] = current_timer_idx;
6746
+ t[symbols.IDX] = current_timer_idx;
6738
6747
  }
6739
6748
 
6740
6749
  bucket.push(t);
6741
6750
 
6742
6751
  if(timer_list[0][0]===t) {
6743
6752
  _clearTimeout( timer_timeout );
6744
- timer_timeout = _setTimeout( run_timer, t[INTERVAL] );
6753
+ timer_timeout = _setTimeout( run_timer, t[symbols.INTERVAL] );
6745
6754
  }
6746
6755
 
6747
6756
  return current_timer_idx;
@@ -6754,21 +6763,21 @@ function run_timer()
6754
6763
  let i = 0;
6755
6764
  let buck = timer_list[i];
6756
6765
 
6757
- while( buck && buck[DUE]-now <= 0 ) {
6766
+ while( buck && buck[symbols.DUE]-now <= 0 ) {
6758
6767
  for(const t of buck) {
6759
6768
 
6760
- if(!t[CLEARED]) {
6761
- t[CALLBACK](...t[ARGS]);
6762
- if(t[REPEAT]) {
6763
- t[DUE] = Date.now()+t[INTERVAL];
6769
+ if(!t[symbols.CLEARED]) {
6770
+ t[symbols.CALLBACK](...t[symbols.ARGS]);
6771
+ if(t[symbols.REPEAT]) {
6772
+ t[symbols.DUE] = Date.now()+t[symbols.INTERVAL];
6764
6773
  add_timer(t, true);
6765
6774
  }
6766
6775
  else {
6767
- delete all_timers[t[timers_IDX]];
6776
+ delete all_timers[t[symbols.IDX]];
6768
6777
  }
6769
6778
  }
6770
6779
  else {
6771
- delete all_timers[t[timers_IDX]];
6780
+ delete all_timers[t[symbols.IDX]];
6772
6781
  }
6773
6782
  }
6774
6783
  i++;
@@ -6779,7 +6788,7 @@ function run_timer()
6779
6788
 
6780
6789
  if(timer_list.length>0) {
6781
6790
  _clearTimeout( timer_timeout );
6782
- timer_timeout = _setTimeout( run_timer, timer_list[0][DUE] - now);
6791
+ timer_timeout = _setTimeout( run_timer, timer_list[0][symbols.DUE] - now);
6783
6792
  }
6784
6793
 
6785
6794
  }
@@ -6824,10 +6833,10 @@ function resumeTimers()
6824
6833
  timer_pause_time -= now;
6825
6834
 
6826
6835
  for( const t of timer_list ) {
6827
- t[DUE] -= timer_pause_time;
6836
+ t[symbols.DUE] -= timer_pause_time;
6828
6837
  }
6829
6838
 
6830
- timer_timeout = _setTimeout( run_timer, timer_list[0][DUE] - now);
6839
+ timer_timeout = _setTimeout( run_timer, timer_list[0][symbols.DUE] - now);
6831
6840
  }
6832
6841
 
6833
6842
  timer_pause_time = undefined;
@@ -6845,7 +6854,7 @@ function resumeTimers()
6845
6854
 
6846
6855
  function timers_setTimeout(callback, delay, ...args)
6847
6856
  {
6848
- return add_timer( { [CALLBACK]: callback, [INTERVAL]: delay, [DUE]: Date.now()+delay, [REPEAT]: false, [ARGS]: args } );
6857
+ return add_timer( { [symbols.CALLBACK]: callback, [symbols.INTERVAL]: delay, [symbols.DUE]: Date.now()+delay, [symbols.REPEAT]: false, [symbols.ARGS]: args } );
6849
6858
  }
6850
6859
 
6851
6860
  /**
@@ -6858,7 +6867,7 @@ function timers_setTimeout(callback, delay, ...args)
6858
6867
 
6859
6868
  function timers_setInterval(callback, interval, ...args)
6860
6869
  {
6861
- return add_timer( { [CALLBACK]: callback, [INTERVAL]: interval, [DUE]: Date.now()+interval, [REPEAT]: true, [ARGS]: args } );
6870
+ return add_timer( { [symbols.CALLBACK]: callback, [symbols.INTERVAL]: interval, [symbols.DUE]: Date.now()+interval, [symbols.REPEAT]: true, [symbols.ARGS]: args } );
6862
6871
  }
6863
6872
 
6864
6873
  /**
@@ -6868,7 +6877,7 @@ function timers_setInterval(callback, interval, ...args)
6868
6877
  */
6869
6878
  function timers_clearTimeout(id)
6870
6879
  {
6871
- if(all_timers[id]) all_timers[id][CLEARED] = true;
6880
+ if(all_timers[id]) all_timers[id][symbols.CLEARED] = true;
6872
6881
  }
6873
6882
 
6874
6883
  /**
@@ -6878,7 +6887,7 @@ function timers_clearTimeout(id)
6878
6887
  */
6879
6888
  function timers_clearInterval(id)
6880
6889
  {
6881
- if(all_timers[id]) all_timers[id][CLEARED] = true;
6890
+ if(all_timers[id]) all_timers[id][symbols.CLEARED] = true;
6882
6891
  }
6883
6892
 
6884
6893
  /**
@@ -6888,10 +6897,10 @@ function timers_clearInterval(id)
6888
6897
  */
6889
6898
  function grabTimers()
6890
6899
  {
6891
- globalThis.setTimeout = this.setTimeout;
6892
- globalThis.setInterval = this.setInterval;
6893
- globalThis.clearTimeout = this.clearTimeout;
6894
- globalThis.clearInterval = this.clearInterval;
6900
+ globalThis.setTimeout = Lilact.setTimeout;
6901
+ globalThis.setInterval = Lilact.setInterval;
6902
+ globalThis.clearTimeout = Lilact.clearTimeout;
6903
+ globalThis.clearInterval = Lilact.clearInterval;
6895
6904
  }
6896
6905
 
6897
6906
  /**
@@ -6911,7 +6920,7 @@ function releaseTimers()
6911
6920
  * @param {number} duration - Delay in milliseconds.
6912
6921
  * @returns {Promise} Promise that resolves after the delay.
6913
6922
  */
6914
- function timeoutPromise(duration=0, timerSource=this)
6923
+ function timeoutPromise(duration=0, timerSource=Lilact)
6915
6924
  {
6916
6925
  let id, resolve, reject;
6917
6926
 
@@ -6952,7 +6961,7 @@ function animationFramePromise() {
6952
6961
 
6953
6962
 
6954
6963
 
6955
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiL1VzZXJzL2FyYXNoL0Rlc2t0b3AvUHJvamVjdHMvTGlsYWN0L3NyYy90aW1lcnMuanN4Iiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiL1VzZXJzL2FyYXNoL0Rlc2t0b3AvUHJvamVjdHMvTGlsYWN0L3NyYy90aW1lcnMuanN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLEFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQThCQztDQUNBO0NBQ0E7OztDQUdBOztDQUVBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7a0JBcUJpQjs7O0NBR2pCOzs7Ozs7O29CQU9tQjtDQUNuQjs7OztRQUlPLGdCQUFnQjt5QkFDRSxBQUFEOzs7TUFHbkIscUJBQXFCOzs7V0FHaEIsbUJBQW1COzs7UUFHdEI7Ozs7Ozs7O21CQVFXOzs7O21CQUlBO0NBQ2xCOytCQUM4Qjs7SUFFM0IsYUFBYTs7Ozs7O2FBTUo7O0lBRVQsdUJBQXVCO2dCQUNYOzhCQUNjOzs7Ozs7bUJBTVg7Q0FDbEI7c0JBQ3FCOzs7OztPQUtmLCtCQUErQjtNQUNoQyxrQkFBa0I7O01BRWxCLGNBQWM7Z0JBQ0o7T0FDVCxZQUFZO3VCQUNJO2VBQ1I7O1VBRUw7Ozs7U0FJRDs7Ozs7Ozs7bUJBUVU7O0lBRWYsc0JBQXNCO2dCQUNWOzhCQUNjOzs7OztDQUs3Qjs7Q0FFQTs7Ozs2QkFJNEI7Q0FDNUI7ZUFDYzs7Ozs7ZUFLQTs7O0NBR2Q7Ozs7NkJBSTRCO0NBQzVCO2VBQ2M7NkJBQ2M7OztDQUc1Qjs7Ozs2QkFJNEI7Q0FDNUI7SUFDRzs7SUFFQSxzQkFBc0I7dUJBQ0g7Ozs7TUFJakIsMEJBQTBCOzs7OzhCQUlGOzs7Ozs7O0NBTzdCOzs7Ozs7Ozs7MkJBUzBCO0NBQzFCO2tCQUNpQixDQUFFLDBEQUEwRDs7O0NBRzdFOzs7Ozs7Ozs0QkFRMkI7Q0FDM0I7a0JBQ2lCLENBQUUsNkRBQTZEOzs7Q0FHaEY7Ozs7OzZCQUs0QjtDQUM1QjtJQUNHOzs7Q0FHSDs7Ozs7OEJBSzZCO0NBQzdCO0lBQ0c7OztDQUdIOzs7OzsyQkFLMEI7Q0FDMUI7Ozs7Ozs7Q0FPQTs7Ozs4QkFJNkI7Q0FDN0I7Ozs7Ozs7Q0FPQTs7Ozs7K0JBSzhCO0NBQzlCOzs7NkJBRzZCLEFBQUQsY0FBZTs7OzZCQUdiLEFBQUQsTUFBTztTQUMxQjs7OztFQUlUO29CQUNrQixNQUFNOzJCQUNDO1VBQ2pCOzs7RUFHUjttQkFDaUIsTUFBTTsyQkFDRTtTQUNsQjs7Ozs7O0NBTVI7Ozs7c0NBSXFDLEdBQUc7dUJBQ2pCLEFBQUQsYUFBYzs2QkFDTixBQUFELE1BQU87a0JBQ2pCIn0=
6964
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiL1VzZXJzL2FyYXNoL0Rlc2t0b3AvUHJvamVjdHMvTGlsYWN0L3NyYy90aW1lcnMuanN4Iiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiL1VzZXJzL2FyYXNoL0Rlc2t0b3AvUHJvamVjdHMvTGlsYWN0L3NyYy90aW1lcnMuanN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLEFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQThCQztDQUNBO0NBQ0E7OztTQUdROztDQUVSOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7a0JBcUJpQjs7O0NBR2pCOzs7Ozs7O29CQU9tQjtDQUNuQjs7OztRQUlPLGdCQUFnQjt5QkFDRSxBQUFEOzs7TUFHbkIscUJBQXFCOzs7V0FHaEIsbUJBQW1COzs7UUFHdEI7Ozs7Ozs7O21CQVFXOzs7O21CQUlBO0NBQ2xCOytCQUM4Qjs7SUFFM0IsYUFBYTs7Ozs7O2FBTUo7O0lBRVQsdUJBQXVCO2dCQUNYOzhCQUNjOzs7Ozs7bUJBTVg7Q0FDbEI7c0JBQ3FCOzs7OztPQUtmLCtCQUErQjtNQUNoQyxrQkFBa0I7O01BRWxCLGNBQWM7Z0JBQ0o7T0FDVCxZQUFZO3VCQUNJO2VBQ1I7O1VBRUw7Ozs7U0FJRDs7Ozs7Ozs7bUJBUVU7O0lBRWYsc0JBQXNCO2dCQUNWOzhCQUNjOzs7OztDQUs3Qjs7Q0FFQTs7Ozs2QkFJNEI7Q0FDNUI7ZUFDYzs7Ozs7ZUFLQTs7O0NBR2Q7Ozs7NkJBSTRCO0NBQzVCO2VBQ2M7NkJBQ2M7OztDQUc1Qjs7Ozs2QkFJNEI7Q0FDNUI7SUFDRzs7SUFFQSxzQkFBc0I7dUJBQ0g7Ozs7TUFJakIsMEJBQTBCOzs7OzhCQUlGOzs7Ozs7O0NBTzdCOzs7Ozs7Ozs7MkJBUzBCO0NBQzFCO2tCQUNpQixDQUFFLDBEQUEwRDs7O0NBRzdFOzs7Ozs7Ozs0QkFRMkI7Q0FDM0I7a0JBQ2lCLENBQUUsNkRBQTZEOzs7Q0FHaEY7Ozs7OzZCQUs0QjtDQUM1QjtJQUNHOzs7Q0FHSDs7Ozs7OEJBSzZCO0NBQzdCO0lBQ0c7OztDQUdIOzs7OzsyQkFLMEI7Q0FDMUI7Ozs7Ozs7Q0FPQTs7Ozs4QkFJNkI7Q0FDN0I7Ozs7Ozs7Q0FPQTs7Ozs7K0JBSzhCO0NBQzlCOzs7NkJBRzZCLEFBQUQsY0FBZTs7OzZCQUdiLEFBQUQsTUFBTztTQUMxQjs7OztFQUlUO29CQUNrQixNQUFNOzJCQUNDO1VBQ2pCOzs7RUFHUjttQkFDaUIsTUFBTTsyQkFDRTtTQUNsQjs7Ozs7O0NBTVI7Ozs7c0NBSXFDLEdBQUc7dUJBQ2pCLEFBQUQsYUFBYzs2QkFDTixBQUFELE1BQU87a0JBQ2pCIn0=
6956
6965
  ;// ./src/transition.jsx
6957
6966
  /*
6958
6967
 
@@ -6984,7 +6993,12 @@ function animationFramePromise() {
6984
6993
 
6985
6994
  */
6986
6995
 
6987
- const [transition_CORE,transition_COMPONENT,transition_CHILD_CLASS_ADDENDUM]=[Symbol.for('LILACT:CORE'),Symbol.for('LILACT:COMPONENT'),Symbol.for('LILACT:CHILD_CLASS_ADDENDUM')];
6996
+
6997
+
6998
+
6999
+
7000
+
7001
+
6988
7002
 
6989
7003
  /* States */
6990
7004
  const UNMOUNTED = "unmounted";
@@ -6994,9 +7008,6 @@ const ENTERED = "entered";
6994
7008
  const EXITING = "exiting";
6995
7009
 
6996
7010
 
6997
-
6998
-
6999
-
7000
7011
  /**
7001
7012
  * Transition component that manages enter/exit lifecycle and calls callbacks based on state changes.
7002
7013
  *
@@ -7016,7 +7027,7 @@ const EXITING = "exiting";
7016
7027
  */
7017
7028
  function Transition({
7018
7029
  in: inProp,
7019
- timeout = Lilact.defaultTransitionTimeout,
7030
+ timeout = lilact.defaultTransitionTimeout,
7020
7031
  mountOnEnter = false,
7021
7032
  unmountOnExit = false,
7022
7033
  appear = false,
@@ -7033,37 +7044,37 @@ function Transition({
7033
7044
  // but the user should use CSSTransition itself.
7034
7045
  _classNames: classNames
7035
7046
  }) {
7036
- this[transition_CORE].is_mounted ??= !mountOnEnter || inProp || appear;
7037
- this[transition_CORE].is_appeared ??= inProp;
7038
- this[transition_CORE].timer ??= null;
7047
+ this[symbols.CORE].is_mounted ??= !mountOnEnter || inProp || appear;
7048
+ this[symbols.CORE].is_appeared ??= inProp;
7049
+ this[symbols.CORE].timer ??= null;
7039
7050
 
7040
- this[transition_CORE].childFunctionHandler = (func)=>{
7041
- return func(this[transition_CORE].mount_state);
7051
+ this[symbols.CORE].childFunctionHandler = (func)=>{
7052
+ return func(this[symbols.CORE].mount_state);
7042
7053
  }
7043
7054
 
7044
- if(!this[transition_CORE].mount_state) {
7045
- if (!this[transition_CORE].is_mounted) this[transition_CORE].mount_state = UNMOUNTED;
7055
+ if(!this[symbols.CORE].mount_state) {
7056
+ if (!this[symbols.CORE].is_mounted) this[symbols.CORE].mount_state = UNMOUNTED;
7046
7057
  if (inProp) {
7047
- this[transition_CORE].mount_state = appear && !this[transition_CORE].is_appeared ? ENTERING : ENTERED;
7058
+ this[symbols.CORE].mount_state = appear && !this[symbols.CORE].is_appeared ? ENTERING : ENTERED;
7048
7059
  }
7049
- else this[transition_CORE].mount_state = EXITED;
7060
+ else this[symbols.CORE].mount_state = EXITED;
7050
7061
  }
7051
7062
 
7052
7063
  useEffect(() => {
7053
- return () => timers_clearTimeout(this[transition_CORE].timer);
7064
+ return () => timers_clearTimeout(this[symbols.CORE].timer);
7054
7065
  }, []);
7055
7066
 
7056
7067
  useEffect(() => {
7057
- if (!this[transition_CORE].is_appeared && appear && this[transition_CORE].mount_state === ENTERING && inProp) {
7068
+ if (!this[symbols.CORE].is_appeared && appear && this[symbols.CORE].mount_state === ENTERING && inProp) {
7058
7069
  onEnter?.();
7059
7070
  requestAnimationFrame(() => {
7060
- onEntering?.(!this[transition_CORE].is_appeared);
7061
- timers_clearTimeout(this[transition_CORE].timer);
7062
- this[transition_CORE].timer = timers_setTimeout(() => {
7063
- this[transition_CORE].mount_state = ENTERED;
7071
+ onEntering?.(!this[symbols.CORE].is_appeared);
7072
+ timers_clearTimeout(this[symbols.CORE].timer);
7073
+ this[symbols.CORE].timer = timers_setTimeout(() => {
7074
+ this[symbols.CORE].mount_state = ENTERED;
7064
7075
  this.forceUpdate();
7065
- this[transition_CORE].is_appeared = true;
7066
- onEntered?.(!this[transition_CORE].is_appeared);
7076
+ this[symbols.CORE].is_appeared = true;
7077
+ onEntered?.(!this[symbols.CORE].is_appeared);
7067
7078
  }, timeout);
7068
7079
  });
7069
7080
  }
@@ -7071,39 +7082,39 @@ function Transition({
7071
7082
 
7072
7083
  useEffect(() => {
7073
7084
  if (inProp) {
7074
- this[transition_CORE].is_mounted = true;
7085
+ this[symbols.CORE].is_mounted = true;
7075
7086
  // If we are already entering/entered, no-op
7076
- if (this[transition_CORE].mount_state === ENTERING || this[transition_CORE].mount_state === ENTERED) return;
7087
+ if (this[symbols.CORE].mount_state === ENTERING || this[symbols.CORE].mount_state === ENTERED) return;
7077
7088
 
7078
- onEnter?.(!this[transition_CORE].is_appeared);
7079
- this[transition_CORE].mount_state = ENTERING;
7089
+ onEnter?.(!this[symbols.CORE].is_appeared);
7090
+ this[symbols.CORE].mount_state = ENTERING;
7080
7091
  this.forceUpdate(() => {
7081
- onEntering?.(!this[transition_CORE].is_appeared);
7082
- timers_clearTimeout(this[transition_CORE].timer);
7092
+ onEntering?.(!this[symbols.CORE].is_appeared);
7093
+ timers_clearTimeout(this[symbols.CORE].timer);
7083
7094
 
7084
- this[transition_CORE].timer = timers_setTimeout(() => {
7085
- this[transition_CORE].mount_state = ENTERED;
7095
+ this[symbols.CORE].timer = timers_setTimeout(() => {
7096
+ this[symbols.CORE].mount_state = ENTERED;
7086
7097
  this.forceUpdate();
7087
- this[transition_CORE].is_appeared = true;
7098
+ this[symbols.CORE].is_appeared = true;
7088
7099
  onEntered?.();
7089
7100
  }, timeout);
7090
7101
  });
7091
7102
  }
7092
7103
  else {
7093
- if (this[transition_CORE].mount_state === UNMOUNTED || this[transition_CORE].mount_state === EXITING || this[transition_CORE].mount_state === EXITED) return;
7104
+ if (this[symbols.CORE].mount_state === UNMOUNTED || this[symbols.CORE].mount_state === EXITING || this[symbols.CORE].mount_state === EXITED) return;
7094
7105
 
7095
7106
  onExit?.();
7096
- this[transition_CORE].mount_state = EXITING;
7107
+ this[symbols.CORE].mount_state = EXITING;
7097
7108
  this.forceUpdate( () => {
7098
7109
  onExiting?.();
7099
- timers_clearTimeout(this[transition_CORE].timer);
7100
- this[transition_CORE].timer = timers_setTimeout(() => {
7101
- this[transition_CORE].mount_state = EXITED;
7110
+ timers_clearTimeout(this[symbols.CORE].timer);
7111
+ this[symbols.CORE].timer = timers_setTimeout(() => {
7112
+ this[symbols.CORE].mount_state = EXITED;
7102
7113
  this.forceUpdate();
7103
7114
  onExited?.();
7104
7115
  if (unmountOnExit) {
7105
- this[transition_CORE].is_mounted = false;
7106
- this[transition_CORE].mount_state = UNMOUNTED;
7116
+ this[symbols.CORE].is_mounted = false;
7117
+ this[symbols.CORE].mount_state = UNMOUNTED;
7107
7118
  this.forceUpdate();
7108
7119
  }
7109
7120
  }, timeout);
@@ -7111,23 +7122,23 @@ function Transition({
7111
7122
  }
7112
7123
  }, [inProp, timeout]);
7113
7124
 
7114
- if (!this[transition_CORE].is_mounted) return null;
7125
+ if (!this[symbols.CORE].is_mounted) return null;
7115
7126
 
7116
7127
  if(classNames) {
7117
- if (this[transition_CORE].mount_state === ENTERING) {
7118
- if(this[transition_CORE].is_appeared)
7119
- this[transition_CORE][transition_CHILD_CLASS_ADDENDUM] = classNames.appearActive;
7128
+ if (this[symbols.CORE].mount_state === ENTERING) {
7129
+ if(this[symbols.CORE].is_appeared)
7130
+ this[symbols.CORE][symbols.CHILD_CLASS_ADDENDUM] = classNames.appearActive;
7120
7131
  else
7121
- this[transition_CORE][transition_CHILD_CLASS_ADDENDUM] = classNames.enterActive;
7132
+ this[symbols.CORE][symbols.CHILD_CLASS_ADDENDUM] = classNames.enterActive;
7122
7133
  }
7123
- else if (this[transition_CORE].mount_state === ENTERED) {
7124
- if(this[transition_CORE].is_appeared)
7125
- this[transition_CORE][transition_CHILD_CLASS_ADDENDUM] = classNames.appearDone;
7134
+ else if (this[symbols.CORE].mount_state === ENTERED) {
7135
+ if(this[symbols.CORE].is_appeared)
7136
+ this[symbols.CORE][symbols.CHILD_CLASS_ADDENDUM] = classNames.appearDone;
7126
7137
  else
7127
- this[transition_CORE][transition_CHILD_CLASS_ADDENDUM] = classNames.enterDone;
7138
+ this[symbols.CORE][symbols.CHILD_CLASS_ADDENDUM] = classNames.enterDone;
7128
7139
  }
7129
- else if (this[transition_CORE].mount_state === EXITING) this[transition_CORE][transition_CHILD_CLASS_ADDENDUM] = classNames.exitActive;
7130
- else if (this[transition_CORE].mount_state === EXITED) this[transition_CORE][transition_CHILD_CLASS_ADDENDUM] = classNames.exitDone;
7140
+ else if (this[symbols.CORE].mount_state === EXITING) this[symbols.CORE][symbols.CHILD_CLASS_ADDENDUM] = classNames.exitActive;
7141
+ else if (this[symbols.CORE].mount_state === EXITED) this[symbols.CORE][symbols.CHILD_CLASS_ADDENDUM] = classNames.exitDone;
7131
7142
  }
7132
7143
  return children;
7133
7144
  }
@@ -7156,7 +7167,7 @@ function Transition({
7156
7167
  */
7157
7168
  function CSSTransition({
7158
7169
  in: inProp,
7159
- timeout = Lilact.defaultTransitionTimeout,
7170
+ timeout = lilact.defaultTransitionTimeout,
7160
7171
  classNames = "fade",
7161
7172
  mountOnEnter = false,
7162
7173
  unmountOnExit = false,
@@ -7231,7 +7242,7 @@ function SwitchTransition({
7231
7242
  activeKey,
7232
7243
  mode = "out-in", // "out-in" | "in-out"
7233
7244
 
7234
- timeout = Lilact.defaultTransitionTimeout,
7245
+ timeout = lilact.defaultTransitionTimeout,
7235
7246
  classNames = "switch",
7236
7247
 
7237
7248
  mountOnEnter = false,
@@ -7354,7 +7365,7 @@ function TransitionGroup({ children }) {
7354
7365
  }
7355
7366
 
7356
7367
 
7357
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiL1VzZXJzL2FyYXNoL0Rlc2t0b3AvUHJvamVjdHMvTGlsYWN0L3NyYy90cmFuc2l0aW9uLmpzeCIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi9Vc2Vycy9hcmFzaC9EZXNrdG9wL1Byb2plY3RzL0xpbGFjdC9zcmMvdHJhbnNpdGlvbi5qc3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBOEJDOztDQUVBOzs7Ozs7O1FBT087UUFDQTtRQUNBOztDQUVQOzs7Ozs7Ozs7Ozs7Ozs7OzsyQkFpQjJCLEFBQUQ7Ozs7Ozs7Ozs7Ozs7O0NBY3pCO0NBQ0E7Q0FDQTs7SUFFRTs7Ozs7b0NBS2dDLFFBQVE7Y0FDOUI7OztJQUdWLDBCQUEwQjtNQUN4QjtNQUNBLFNBQVM7Ozs7OztXQU1ILEFBQUQsTUFBTztTQUNSLGtCQUFrQjs7O1dBR2hCLEFBQUQsTUFBTztLQUNaLHFGQUFxRjtZQUM5RTt3QkFDYSxBQUFELE1BQU87ZUFDZjtlQUNBO2dDQUNrQixBQUFELE1BQU87O21CQUVuQjs7Y0FFTDs7Ozs7O1dBTUwsQUFBRCxNQUFPO0tBQ1osU0FBUzs7R0FFWDtNQUNHOztZQUVNOzttQkFFUSxBQUFELE1BQU87ZUFDVjtlQUNBOztnQ0FFa0IsQUFBRCxNQUFPOzttQkFFbkI7O2NBRUw7Ozs7T0FJVDtNQUNEOztXQUVLOzttQkFFUSxDQUFFLE1BQU07Y0FDWjtlQUNDO2dDQUNrQixBQUFELE1BQU87O21CQUVuQjthQUNOO01BQ1AsZ0JBQWdCOzs7b0JBR0Y7Ozs7Ozs7S0FPbEI7O0lBRUQsYUFBYTtNQUNYLHNDQUFzQztNQUN0Qzs7Ozs7V0FLSyxxQ0FBcUM7TUFDMUM7Ozs7O1dBS0s7V0FDQTs7Ozs7O0NBTVY7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs4QkFxQjhCLEFBQUQ7Ozs7Ozs7Ozs7SUFVMUI7O0lBRUEsTUFBTywwQkFBeUI7Z0JBQ3BCOzs7Ozs7Ozs7Ozs7U0FZUDtFQUNOLG1SQWNDOzs7Ozs7Q0FPSDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztpQ0F3Q2lDLEFBQUQ7OzttQkFHYjs7Ozs7Ozs7O0VBU2pCOzs7Ozs7O0lBT0M7NkJBQzBCLEFBQUQsc0JBQXVCOztHQUVqRDsrQ0FDNEM7aURBQ0U7O0dBRTlDO21EQUNnRDs7R0FFaEQ7NEJBQ3lCOzhCQUNFOytCQUNDOztrQkFFWixBQUFELE1BQU87Ozs7a0JBSU4sQUFBRCxNQUFPOzs7O2tCQUlOLEFBQUQsTUFBTzs7T0FFakI7Ozs7SUFJSDtpQkFDYTs7T0FFVixvQkFBb0I7TUFDckI7cUJBQ2U7b0JBQ0QsUUFBUTtXQUNqQjtNQUNMO3FCQUNlO29CQUNELFNBQVM7Ozs7d0JBSU4sU0FBUyx1QkFBdUI7UUFDaEQseUNBQXlDOztRQUV6QyxnQ0FBZ0M7b0JBQ3BCOztPQUViO1VBQ0csb0JBQW9CO3VCQUNQO3dCQUNDOztPQUVqQjtVQUNHLG9CQUFvQjt1QkFDUDs7Ozs7eUJBS0UsU0FBUyx1QkFBdUI7UUFDakQsMkNBQTJDOztRQUUzQyxvQkFBb0I7T0FDckI7VUFDRyxnRUFBZ0U7dUJBQ25ELFFBQVE7Ozs7O1VBS3JCO0lBQ0wsbUNBQ0UsY0FBZ0IsQUFBRCxrQkFBbUI7Ozs7MEJBTWhDO0NBQ0E7O21CQUNBO21CQUNBOzs7Ozs7T0FPTyxXQUNMOzs7NlBBY0UsNkNBQ0U7Ozs7Ozs7Q0FVZDs7Ozs7OztnQ0FPZ0MsQUFBRCxlQUFlIn0=
7368
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiL1VzZXJzL2FyYXNoL0Rlc2t0b3AvUHJvamVjdHMvTGlsYWN0L3NyYy90cmFuc2l0aW9uLmpzeCIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi9Vc2Vycy9hcmFzaC9EZXNrdG9wL1Byb2plY3RzL0xpbGFjdC9zcmMvdHJhbnNpdGlvbi5qc3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztRQStCUTtRQUNBO1FBQ0E7O1FBRUE7O0NBRVA7Ozs7Ozs7O0NBUUE7Ozs7Ozs7Ozs7Ozs7Ozs7OzJCQWlCMkIsQUFBRDs7Ozs7Ozs7Ozs7Ozs7Q0FjekI7Q0FDQTtDQUNBOztJQUVFOzs7OztvQ0FLZ0MsUUFBUTtjQUM5Qjs7O0lBR1YsMEJBQTBCO01BQ3hCO01BQ0EsU0FBUzs7Ozs7O1dBTUgsQUFBRCxNQUFPO1NBQ1Isa0JBQWtCOzs7V0FHaEIsQUFBRCxNQUFPO0tBQ1oscUZBQXFGO1lBQzlFO3dCQUNhLEFBQUQsTUFBTztlQUNmO2VBQ0E7Z0NBQ2tCLEFBQUQsTUFBTzs7bUJBRW5COztjQUVMOzs7Ozs7V0FNTCxBQUFELE1BQU87S0FDWixTQUFTOztHQUVYO01BQ0c7O1lBRU07O21CQUVRLEFBQUQsTUFBTztlQUNWO2VBQ0E7O2dDQUVrQixBQUFELE1BQU87O21CQUVuQjs7Y0FFTDs7OztPQUlUO01BQ0Q7O1dBRUs7O21CQUVRLENBQUUsTUFBTTtjQUNaO2VBQ0M7Z0NBQ2tCLEFBQUQsTUFBTzs7bUJBRW5CO2FBQ047TUFDUCxnQkFBZ0I7OztvQkFHRjs7Ozs7OztLQU9sQjs7SUFFRCxhQUFhO01BQ1gsc0NBQXNDO01BQ3RDOzs7OztXQUtLLHFDQUFxQztNQUMxQzs7Ozs7V0FLSztXQUNBOzs7Ozs7Q0FNVjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzhCQXFCOEIsQUFBRDs7Ozs7Ozs7OztJQVUxQjs7SUFFQSxNQUFPLDBCQUF5QjtnQkFDcEI7Ozs7Ozs7Ozs7OztTQVlQO0VBQ04sbVJBY0M7Ozs7OztDQU9IOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O2lDQXdDaUMsQUFBRDs7O21CQUdiOzs7Ozs7Ozs7RUFTakI7Ozs7Ozs7SUFPQzs2QkFDMEIsQUFBRCxzQkFBdUI7O0dBRWpEOytDQUM0QztpREFDRTs7R0FFOUM7bURBQ2dEOztHQUVoRDs0QkFDeUI7OEJBQ0U7K0JBQ0M7O2tCQUVaLEFBQUQsTUFBTzs7OztrQkFJTixBQUFELE1BQU87Ozs7a0JBSU4sQUFBRCxNQUFPOztPQUVqQjs7OztJQUlIO2lCQUNhOztPQUVWLG9CQUFvQjtNQUNyQjtxQkFDZTtvQkFDRCxRQUFRO1dBQ2pCO01BQ0w7cUJBQ2U7b0JBQ0QsU0FBUzs7Ozt3QkFJTixTQUFTLHVCQUF1QjtRQUNoRCx5Q0FBeUM7O1FBRXpDLGdDQUFnQztvQkFDcEI7O09BRWI7VUFDRyxvQkFBb0I7dUJBQ1A7d0JBQ0M7O09BRWpCO1VBQ0csb0JBQW9CO3VCQUNQOzs7Ozt5QkFLRSxTQUFTLHVCQUF1QjtRQUNqRCwyQ0FBMkM7O1FBRTNDLG9CQUFvQjtPQUNyQjtVQUNHLGdFQUFnRTt1QkFDbkQsUUFBUTs7Ozs7VUFLckI7SUFDTCxtQ0FDRSxjQUFnQixBQUFELGtCQUFtQjs7OzswQkFNaEM7Q0FDQTs7bUJBQ0E7bUJBQ0E7Ozs7OztPQU9PLFdBQ0w7Ozs2UEFjRSw2Q0FDRTs7Ozs7OztDQVVkOzs7Ozs7O2dDQU9nQyxBQUFELGVBQWUifQ==
7358
7369
  ;// ./src/events.jsx
7359
7370
  /*
7360
7371
 
@@ -7684,7 +7695,9 @@ function addWrappedEventListener(target, type, fn, options = {}) {
7684
7695
  */
7685
7696
 
7686
7697
 
7687
- const [redux_CORE]=[Symbol.for('LILACT:CORE')];
7698
+
7699
+
7700
+
7688
7701
 
7689
7702
  let ReduxContext;
7690
7703
 
@@ -7697,7 +7710,7 @@ let ReduxContext;
7697
7710
  */
7698
7711
  function Provider({ store, children })
7699
7712
  {
7700
- ReduxContext ??= Lilact.createContext(null);
7713
+ ReduxContext ??= createContext(null);
7701
7714
  return (
7702
7715
  createComponent( ReduxContext.Provider, { "value": store }, children )
7703
7716
  );
@@ -7710,7 +7723,7 @@ function Provider({ store, children })
7710
7723
  */
7711
7724
  function useStore()
7712
7725
  {
7713
- const store = Lilact.useContext(ReduxContext);
7726
+ const store = useContext(ReduxContext);
7714
7727
  if (!store) {
7715
7728
  throw new Error("Could not find Redux store in context. <Provider> is missing.");
7716
7729
  }
@@ -7725,7 +7738,7 @@ function useStore()
7725
7738
  */
7726
7739
  function useDispatch()
7727
7740
  {
7728
- const store = Lilact.useStore();
7741
+ const store = useStore();
7729
7742
  return store.dispatch;
7730
7743
  }
7731
7744
 
@@ -7737,17 +7750,17 @@ function useDispatch()
7737
7750
  * @returns The selected slice of state.
7738
7751
  */
7739
7752
  function useSelector(selector, equalityFn = (a, b) => a === b) {
7740
- const store = Lilact.useStore();
7741
- const latestSelected = Lilact.useRef();
7742
- const selectorRef = Lilact.useRef(selector);
7753
+ const store = useStore();
7754
+ const latestSelected = useRef();
7755
+ const selectorRef = useRef(selector);
7743
7756
  selectorRef.current = selector;
7744
7757
 
7745
- const [selected, setSelected] = Lilact.useState(() => selector(store.getState()));
7758
+ const [selected, setSelected] = useState(() => selector(store.getState()));
7746
7759
 
7747
7760
  // Keep ref in sync for the subscription callback
7748
7761
  latestSelected.current = selected;
7749
7762
 
7750
- Lilact.useEffect(() => {
7763
+ useEffect(() => {
7751
7764
  function checkForUpdates() {
7752
7765
  const nextSelected = selectorRef.current(store.getState());
7753
7766
  if (!equalityFn(latestSelected.current, nextSelected)) {
@@ -7782,7 +7795,7 @@ function connect(mapStateToProps, mapDispatchToProps)
7782
7795
  return function wrapWithConnect(WrappedComponent) {
7783
7796
 
7784
7797
  function ConnectedComponent(props) {
7785
- const store = Lilact.useStore();
7798
+ const store = useStore();
7786
7799
 
7787
7800
  let dispatchProps = { dispatch: store.dispatch };
7788
7801
 
@@ -7803,7 +7816,7 @@ function connect(mapStateToProps, mapDispatchToProps)
7803
7816
  const selector = (state) => mapStateToProps(state, props);
7804
7817
 
7805
7818
  // todo: is shallowEqual enough?
7806
- stateProps = Lilact.useSelector(selector, Lilact.shallowEqual) || {};
7819
+ stateProps = useSelector(selector, shallowEqual) || {};
7807
7820
  }
7808
7821
 
7809
7822
  const mergedProps = { ...props, ...stateProps, ...dispatchProps };
@@ -7857,7 +7870,7 @@ function redux_combineReducers(reducers) {
7857
7870
  };
7858
7871
  }
7859
7872
 
7860
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiL1VzZXJzL2FyYXNoL0Rlc2t0b3AvUHJvamVjdHMvTGlsYWN0L3NyYy9yZWR1eC5qc3giLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIvVXNlcnMvYXJhc2gvRGVza3RvcC9Qcm9qZWN0cy9MaWxhY3Qvc3JjL3JlZHV4LmpzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBK0JDOzs7O0NBSUE7Ozs7Ozs7eUJBT3lCLEFBQUQ7Q0FDeEI7dUNBQ3NDO1NBQzlCO0VBQ04sZ0JBQXFDOzs7O0NBSXZDOzs7Ozt5QkFLd0I7Q0FDeEI7aUNBQ2dDO0tBQzVCLFNBQVM7a0JBQ0k7Ozs7OztDQU1qQjs7Ozs7NEJBSzJCO0NBQzNCOytCQUM4Qjs7OztDQUk5Qjs7Ozs7Ozs0QkFPMkIsdUJBQXdCLG9CQUFtQjtnQ0FDdkM7dUNBQ087b0NBQ0g7OztrREFHZSxBQUFELGNBQWUsY0FBZTs7R0FFN0U7OzttQkFHaUIsQUFBRCxNQUFPOzRCQUNHLEdBQUc7OENBQ2UsY0FBZTtTQUNwRCxXQUFZLHlDQUF3Qzs7bUJBRTFDOzs7O3VDQUlvQjs7SUFFbkM7bUJBQ2U7Ozs7Ozs7OztDQVNuQjs7Ozs7Ozt3QkFPdUI7Q0FDdkI7aUNBQ2dDOztpQ0FFQSxtQkFBbUI7OzhCQUV0QixRQUFRO2lDQUNMOzt3QkFFVDs7T0FFakIsMkNBQTJDO3VDQUNYOztZQUUzQix3RUFBd0U7cUJBQy9EOztTQUVaLGtDQUFrQzs7MkJBRWhCLHFCQUFxQixhQUFjOzs7O3FCQUl6QztPQUNkLGtCQUFrQjtzQkFDSCwwQkFBMEI7O0tBRTNDO29DQUMrQixtQ0FBbUM7Ozt3QkFHL0M7O1dBRWI7OztHQUdSO0dBQ0E7Ozs7OztDQU1GOzs7Ozs7Ozs7Ozs7OztnQ0FjK0IsV0FBVztrQ0FDVDs7T0FFM0IsMkJBQTJCO1FBQzFCLHNDQUFzQztzQkFDeEI7Ozs7OEJBSVEsUUFBUyxhQUFZOzt1QkFFNUI7O1NBRWQsMkJBQTJCOzs7Z0NBR0oifQ==
7873
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiL1VzZXJzL2FyYXNoL0Rlc2t0b3AvUHJvamVjdHMvTGlsYWN0L3NyYy9yZWR1eC5qc3giLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIvVXNlcnMvYXJhc2gvRGVza3RvcC9Qcm9qZWN0cy9MaWxhY3Qvc3JjL3JlZHV4LmpzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7UUE4QlE7UUFDQTs7UUFFQTs7OztDQUlQOzs7Ozs7O3lCQU95QixBQUFEO0NBQ3hCO2dDQUMrQjtTQUN2QjtFQUNOLGdCQUFxQzs7OztDQUl2Qzs7Ozs7eUJBS3dCO0NBQ3hCOzBCQUN5QjtLQUNyQixTQUFTO2tCQUNJOzs7Ozs7Q0FNakI7Ozs7OzRCQUsyQjtDQUMzQjt3QkFDdUI7Ozs7Q0FJdkI7Ozs7Ozs7NEJBTzJCLHVCQUF3QixvQkFBbUI7eUJBQzlDO2dDQUNPOzZCQUNIOzs7MkNBR2UsQUFBRCxjQUFlLGNBQWU7O0dBRXRFOzs7WUFHVSxBQUFELE1BQU87NEJBQ1UsR0FBRzs4Q0FDZSxjQUFlO1NBQ3BELFdBQVkseUNBQXdDOzttQkFFMUM7Ozs7dUNBSW9COztJQUVuQzttQkFDZTs7Ozs7Ozs7O0NBU25COzs7Ozs7O3dCQU91QjtDQUN2QjtpQ0FDZ0M7O2lDQUVBLG1CQUFtQjs7OEJBRXRCLFFBQVE7MEJBQ1o7O3dCQUVGOztPQUVqQiwyQ0FBMkM7dUNBQ1g7O1lBRTNCLHdFQUF3RTtxQkFDL0Q7O1NBRVosa0NBQWtDOzsyQkFFaEIscUJBQXFCLGFBQWM7Ozs7cUJBSXpDO09BQ2Qsa0JBQWtCO3NCQUNILDBCQUEwQjs7S0FFM0M7NkJBQ3dCLDRCQUE0Qjs7O3dCQUdqQzs7V0FFYjs7O0dBR1I7R0FDQTs7Ozs7O0NBTUY7Ozs7Ozs7Ozs7Ozs7O2dDQWMrQixXQUFXO2tDQUNUOztPQUUzQiwyQkFBMkI7UUFDMUIsc0NBQXNDO3NCQUN4Qjs7Ozs4QkFJUSxRQUFTLGFBQVk7O3VCQUU1Qjs7U0FFZCwyQkFBMkI7OztnQ0FHSiJ9
7861
7874
  ;// ./src/errors.jsx
7862
7875
  /*
7863
7876
 
@@ -7891,6 +7904,9 @@ function redux_combineReducers(reducers) {
7891
7904
 
7892
7905
 
7893
7906
 
7907
+
7908
+
7909
+
7894
7910
  // Lilact API
7895
7911
 
7896
7912
  function getErrorLocation(err) // works for both error and error-event, and also in node env
@@ -7975,7 +7991,7 @@ function scanBlockLabels(code, path)
7975
7991
  // todo: this is not memory efficient, the structure should be upside-down
7976
7992
  ls.forEach(
7977
7993
  (x) => {
7978
- Lilact.blocks_info.labels[x[1]] = {
7994
+ lilact.blocks_info.labels[x[1]] = {
7979
7995
  path,
7980
7996
  desc: x[4]
7981
7997
  }
@@ -8021,7 +8037,7 @@ function traceError(error)
8021
8037
  let mps;
8022
8038
 
8023
8039
  if(loc.url) {
8024
- const rm = Lilact.required_scripts[obj.fileName];
8040
+ const rm = run.required_scripts[obj.fileName];
8025
8041
  mps = rm.mappings;
8026
8042
 
8027
8043
  const mloc = mapLocation(mps, obj.lineNumber-1, obj.columnNumber-1);
@@ -8037,17 +8053,17 @@ function traceError(error)
8037
8053
  let blk;
8038
8054
 
8039
8055
  if(typeof(error.lilact_trace)==='object') {
8040
- blk = Lilact.blocks_info.labels[error.lilact_trace[0]];
8056
+ blk = lilact.blocks_info.labels[error.lilact_trace[0]];
8041
8057
  }
8042
8058
  else {
8043
- blk = Lilact.blocks_info.labels[error.lilact_trace];
8059
+ blk = lilact.blocks_info.labels[error.lilact_trace];
8044
8060
  }
8045
8061
 
8046
8062
  if(blk) {
8047
8063
  obj.fileName = blk.path;
8048
8064
  obj.label = blk.label;
8049
8065
 
8050
- mps = Lilact.required_scripts[blk.path].mappings;
8066
+ mps = run.required_scripts[blk.path].mappings;
8051
8067
 
8052
8068
  loc = mapLocation(mps, loc.line-1, loc.col-1);
8053
8069
 
@@ -8064,7 +8080,7 @@ function traceError(error)
8064
8080
  obj.columnNumber = loc.col;
8065
8081
  }
8066
8082
 
8067
- Lilact.error = obj;
8083
+ lilact.error = obj;
8068
8084
  return obj;
8069
8085
 
8070
8086
  }
@@ -8088,12 +8104,11 @@ function traceError(error)
8088
8104
  */
8089
8105
  function globalErrorHandler(error)
8090
8106
  {
8091
- Lilact.pauseTimers();
8092
8107
  if(error.error) error = error.error;
8093
8108
 
8094
- error = Lilact.traceError(error);
8109
+ error = traceError(error);
8095
8110
 
8096
- const cls = Lilact.emotion.css(`
8111
+ const cls = css(`
8097
8112
  background: linear-gradient(135deg, #fff2f2d4, #ffffffd4);
8098
8113
  backdrop-filter: blur(10px);
8099
8114
  border: 1px solid rgba(255,255,255,.25);
@@ -8122,7 +8137,7 @@ function globalErrorHandler(error)
8122
8137
  <b>${error.fileName?'At '+error.fileName:''}
8123
8138
  ${Number.isFinite(error.lineNumber)?": Line "+(error.lineNumber+1):""}</b><br><br>
8124
8139
  <b>${error.name}</b>:&nbsp;<span>${error.message}</span><br><br>
8125
- ${Lilact.required_scripts[error.fileName]?'<code><pre></pre><pre><red></red></pre><pre></pre></code>':''}
8140
+ ${run.required_scripts[error.fileName]?'<code><pre></pre><pre><red></red></pre><pre></pre></code>':''}
8126
8141
  ${error._error.componentStackLog?'<br>Component Stack:<br><code><pre>'+error._error.componentStackLog+'</pre></code>':''}
8127
8142
  `;
8128
8143
 
@@ -8131,8 +8146,8 @@ function globalErrorHandler(error)
8131
8146
 
8132
8147
  const pres = el.querySelectorAll('pre');
8133
8148
 
8134
- if(Lilact.required_scripts[error.fileName]) {
8135
- const lines = Lilact.required_scripts[error.fileName].code.split("\n");
8149
+ if(run.required_scripts[error.fileName]) {
8150
+ const lines = run.required_scripts[error.fileName].code.split("\n");
8136
8151
 
8137
8152
  if(lines?.[error.lineNumber-1])
8138
8153
  pres[0].innerText = lines[error.lineNumber-1];
@@ -8153,7 +8168,7 @@ const blocks_info = { counter: 0, labels: {} };
8153
8168
  let error = null; // this is only to ease debuggin,
8154
8169
 
8155
8170
 
8156
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiL1VzZXJzL2FyYXNoL0Rlc2t0b3AvUHJvamVjdHMvTGlsYWN0L3NyYy9lcnJvcnMuanN4Iiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiL1VzZXJzL2FyYXNoL0Rlc2t0b3AvUHJvamVjdHMvTGlsYWN0L3NyYy9lcnJvcnMuanN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLEFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBZ0NDOzswQkFFeUIsTUFBTTtDQUMvQjtJQUNHLCtFQUErRTs7OztVQUl6RTs7O2NBR0ksMEJBQTBCO0lBQ3BDLGVBQWU7V0FDUiw4QkFBOEI7OztJQUdyQyxRQUFRO1VBQ0YsZUFBZSx5QkFBeUI7Ozs7OztDQU1qRDtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7b0NBQ21DLDhCQUE4Qjt5REFDVDswQkFDOUIsQUFBRDs7R0FFdkI7R0FDQTt3QkFDcUI7O09BRWpCLG1CQUFtQjt3QkFDRjtRQUNoQixjQUFlOzt5QkFFRTtRQUNqQjs7OzhCQUdzQjttREFDcUI7O1FBRTNDLGVBQWdCLGdCQUFnQixxQ0FBc0MsZ0JBQWM7Y0FDOUU7Ozs7VUFJSiw0RUFBNEUsV0FBVzs7O3NCQUczRSxJQUFJO2dCQUNWLFdBQVksQUFBRDs7O3FCQUdOO0NBQ3BCOzs7S0FHSSxpQkFBaUI7S0FDakI7S0FDQSxlQUFnQixrQ0FBaUM7Ozs7O0lBS2xEO1NBQ0ssNkJBQThCLEFBQUQ7Ozs7Q0FJckM7Z0NBQytCO0NBQy9CO3VCQUNzQixjQUFnQixBQUFEOztFQUVwQztZQUNVO0VBQ1QsT0FBTztxQ0FDNEI7Ozs7Ozs7O0NBUXJDOzs7Ozs7Ozs7OzJCQVUwQjtDQUMxQjtJQUNHLG1CQUFtQjs7Ozt3Q0FJaUI7O2NBRTFCOzJCQUNhOzs7Ozs7Ozs7Ozs7OztJQWN2QixpQ0FBaUM7Ozs7S0FJaEMsVUFBVTs7Ozs0QkFJYTs7Ozs7VUFLbEIsa0NBQWtDOzs4QkFFZDs7Ozs7TUFLeEIsTUFBTyxrQ0FBaUM7OztTQUdyQzs7OztNQUlILE1BQU07Ozs7OztzQkFNVTs7Ozs7Ozs7T0FRZjsrQkFDd0I7S0FDMUI7Ozs7Ozs7Ozs7Q0FVSjs7Ozs7Ozs7Ozs7Ozs7Ozs7bUNBaUJrQztDQUNsQztvQkFDbUI7SUFDaEI7OzJCQUV1Qjs7Z0NBRUs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O21DQW9CRzs7O0VBR2pDOzs7Ozs7Ozs7OzsyQkFXeUI7O2tDQUVPOztJQUU5QiwwQ0FBMEM7bUVBQ3FCOztLQUU5RDs7O0tBR0EsNENBQTRDOztLQUU1Qzs7OztjQUlTOzs7Q0FHYjs0QkFDMkIsc0JBQXNCOztDQUVqRDswQkFDeUIifQ==
8171
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiL1VzZXJzL2FyYXNoL0Rlc2t0b3AvUHJvamVjdHMvTGlsYWN0L3NyYy9lcnJvcnMuanN4Iiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiL1VzZXJzL2FyYXNoL0Rlc2t0b3AvUHJvamVjdHMvTGlsYWN0L3NyYy9lcnJvcnMuanN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLEFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7UUErQlE7UUFDQTtRQUNBOztDQUVQOzswQkFFeUIsTUFBTTtDQUMvQjtJQUNHLCtFQUErRTs7OztVQUl6RTs7O2NBR0ksMEJBQTBCO0lBQ3BDLGVBQWU7V0FDUiw4QkFBOEI7OztJQUdyQyxRQUFRO1VBQ0YsZUFBZSx5QkFBeUI7Ozs7OztDQU1qRDtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7b0NBQ21DLDhCQUE4Qjt5REFDVDswQkFDOUIsQUFBRDs7R0FFdkI7R0FDQTt3QkFDcUI7O09BRWpCLG1CQUFtQjt3QkFDRjtRQUNoQixjQUFlOzt5QkFFRTtRQUNqQjs7OzhCQUdzQjttREFDcUI7O1FBRTNDLGVBQWdCLGdCQUFnQixxQ0FBc0MsZ0JBQWM7Y0FDOUU7Ozs7VUFJSiw0RUFBNEUsV0FBVzs7O3NCQUczRSxJQUFJO2dCQUNWLFdBQVksQUFBRDs7O3FCQUdOO0NBQ3BCOzs7S0FHSSxpQkFBaUI7S0FDakI7S0FDQSxlQUFnQixrQ0FBaUM7Ozs7O0lBS2xEO1NBQ0ssNkJBQThCLEFBQUQ7Ozs7Q0FJckM7Z0NBQytCO0NBQy9CO3VCQUNzQixjQUFnQixBQUFEOztFQUVwQztZQUNVO0VBQ1QsT0FBTztxQ0FDNEI7Ozs7Ozs7O0NBUXJDOzs7Ozs7Ozs7OzJCQVUwQjtDQUMxQjtJQUNHLG1CQUFtQjs7Ozt3Q0FJaUI7O2NBRTFCOzJCQUNhOzs7Ozs7Ozs7Ozs7OztJQWN2QixpQ0FBaUM7Ozs7S0FJaEMsVUFBVTs7Ozs0QkFJYTs7Ozs7VUFLbEIsa0NBQWtDOzs4QkFFZDs7Ozs7TUFLeEIsTUFBTyxrQ0FBaUM7OztTQUdyQzs7OztNQUlILE1BQU07Ozs7OztzQkFNVTs7Ozs7Ozs7T0FRZjsrQkFDd0I7S0FDMUI7Ozs7Ozs7Ozs7Q0FVSjs7Ozs7Ozs7Ozs7Ozs7Ozs7bUNBaUJrQztDQUNsQztJQUNHOztvQkFFZ0I7O2lCQUVIOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OzttQ0FvQmtCOzs7RUFHakM7Ozs7Ozs7Ozs7OzJCQVd5Qjs7a0NBRU87O0lBRTlCLG1DQUFtQzs0REFDcUI7O0tBRXZEOzs7S0FHQSw0Q0FBNEM7O0tBRTVDOzs7O2NBSVM7OztDQUdiOzRCQUMyQixzQkFBc0I7O0NBRWpEOzBCQUN5QiJ9
8157
8172
  ;// ./src/router.jsx
8158
8173
  /*
8159
8174
 
@@ -8185,7 +8200,7 @@ let error = null; // this is only to ease debuggin,
8185
8200
 
8186
8201
  */
8187
8202
 
8188
- const [router_CORE,router_COMPONENT]=[Symbol.for('LILACT:CORE'),Symbol.for('LILACT:COMPONENT')];
8203
+
8189
8204
 
8190
8205
 
8191
8206
 
@@ -8193,8 +8208,11 @@ const [router_CORE,router_COMPONENT]=[Symbol.for('LILACT:CORE'),Symbol.for('LILA
8193
8208
  const RouterContext = createContext(null);
8194
8209
  const RouteContext = createContext({ params: {} });
8195
8210
 
8196
- // --- HashRouter (as before) ---
8197
- const createURL = (to) => (typeof to === "string" ? to : (to.pathname || "") + (to.search || "") + (to.hash || ""));
8211
+ const createURL = (to) =>
8212
+ typeof to === "string" ? to : (to.pathname || "") + (to.search || "") + (to.hash || "");
8213
+
8214
+ const router_escapeRegExp = (s) => s.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
8215
+
8198
8216
 
8199
8217
  /**
8200
8218
  * Hash-based router component that syncs navigation state with the URL hash (#...).
@@ -8204,54 +8222,88 @@ const createURL = (to) => (typeof to === "string" ? to : (to.pathname || "") + (
8204
8222
  * @param [props.basename=""] - Optional base path prefix applied to all route paths.
8205
8223
  */
8206
8224
  function HashRouter({ children, basename = "" }) {
8207
- const readLocation = () => {
8208
- const raw = window.location.hash || "#/";
8209
- const full = raw.slice(1);
8210
- const withoutBase = full.replace(new RegExp(`^${basename}`), "") || "/";
8211
- const [pathAndSearch, hashPart] = withoutBase.split("#");
8212
- const [path, search = ""] = pathAndSearch.split("?");
8213
- return {
8214
- pathname: path || "/",
8215
- search: search ? "?" + search : "",
8216
- hash: hashPart ? "#" + hashPart : "",
8217
- state: history.state?.__state,
8218
- };
8219
- };
8225
+ const readLocation = () => {
8226
+ const raw = window.location.hash || "#/";
8227
+ const full = raw.slice(1);
8220
8228
 
8221
- const [location, setLocation] = useState(readLocation);
8222
- useEffect(() => {
8223
- const onChange = () => setLocation(readLocation());
8229
+ const baseRe = new RegExp("^" + router_escapeRegExp(basename));
8230
+ const withoutBase = full.replace(baseRe, "") || "/";
8224
8231
 
8225
- window.addEventListener("hashchange", onChange);
8226
- window.addEventListener("popstate", onChange);
8232
+ const [pathAndSearch, hashPart] = withoutBase.split("#");
8233
+ const [path, search = ""] = pathAndSearch.split("?");
8227
8234
 
8228
- // initialize once in case hash/state are already set
8229
- onChange();
8235
+ return {
8236
+ pathname: path || "/",
8237
+ search: search ? "?" + search : "",
8238
+ hash: hashPart ? "#" + hashPart : "",
8239
+ state: history.state?.__state,
8240
+ };
8241
+ };
8230
8242
 
8231
- return () => {
8232
- window.removeEventListener("hashchange", onChange);
8233
- window.removeEventListener("popstate", onChange);
8234
- };
8235
- }, [basename]);
8243
+ const [location, setLocation] = useState(readLocation);
8236
8244
 
8237
- const navigate = useCallback((to, { replace = false, state } = {}) => {
8238
- if (typeof to === "number") {
8239
- history.go(to);
8240
- return;
8241
- }
8245
+ useEffect(() => {
8246
+ const onChange = () => setLocation(readLocation());
8247
+
8248
+ window.addEventListener("hashchange", onChange);
8249
+ window.addEventListener("popstate", onChange);
8250
+
8251
+ // initialize once
8252
+ onChange();
8253
+
8254
+ return () => {
8255
+ window.removeEventListener("hashchange", onChange);
8256
+ window.removeEventListener("popstate", onChange);
8257
+ };
8258
+ }, [basename]);
8259
+
8260
+ const navigate = useCallback((to, { replace = false, state } = {}) => {
8261
+ if (typeof to === "number") {
8262
+ // Wait for the real popstate (don’t rely on synchronous timing)
8263
+ return new Promise((resolve) => {
8264
+ let done = false;
8265
+
8266
+ const cleanup = (fn) => {
8267
+ if (done) return;
8268
+ done = true;
8269
+ window.removeEventListener("popstate", onPop);
8270
+ window.removeEventListener("hashchange", onHash);
8271
+ fn?.();
8272
+ resolve();
8273
+ };
8242
8274
 
8243
- const url = createURL(to);
8244
- const href = "#" + (basename + url);
8275
+ const onPop = () => cleanup(() => setLocation(readLocation()));
8276
+ const onHash = () => cleanup(() => setLocation(readLocation()));
8245
8277
 
8246
- if (replace) history.replaceState({ __state: state }, "", href);
8247
- else history.pushState({ __state: state }, "", href);
8278
+ window.addEventListener("popstate", onPop, { once: true });
8279
+ window.addEventListener("hashchange", onHash, { once: true });
8248
8280
 
8249
- setLocation(readLocation());
8250
- }, [basename]);
8281
+ // Fallback: in case popstate/hashchange timing is weird in a given browser
8282
+ setTimeout(() => cleanup(() => setLocation(readLocation())), 0);
8251
8283
 
8252
- return createComponent( RouterContext.Provider, { "value": { location, navigate, basename } }, children );
8284
+ history.go(to);
8285
+ });
8286
+ }
8287
+
8288
+ const url = createURL(to);
8289
+ const href = "#" + (basename + url);
8290
+
8291
+ if (replace) {
8292
+ history.replaceState({ __state: state }, "", href);
8293
+ } else {
8294
+ history.pushState({ __state: state }, "", href);
8295
+ }
8296
+
8297
+ // Update immediately for the initiating navigation.
8298
+ setLocation(readLocation());
8299
+ }, [basename]);
8300
+
8301
+ return (
8302
+ createComponent( RouterContext.Provider, { "value": { location, navigate, basename } }, children )
8303
+ );
8253
8304
  }
8254
8305
 
8306
+
8255
8307
  /**
8256
8308
  * Hook that returns the current location object (path, search, hash, and navigation state).
8257
8309
  *
@@ -8453,7 +8505,7 @@ function Routes({ children }) {
8453
8505
 
8454
8506
 
8455
8507
 
8456
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiL1VzZXJzL2FyYXNoL0Rlc2t0b3AvUHJvamVjdHMvTGlsYWN0L3NyYy9yb3V0ZXIuanN4Iiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiL1VzZXJzL2FyYXNoL0Rlc2t0b3AvUHJvamVjdHMvTGlsYWN0L3NyYy9yb3V0ZXIuanN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLEFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQThCQzs7UUFFTztRQUNBOztvQ0FFNEI7bUNBQ0EsQUFBRCxVQUFXOztDQUU3QzttQkFDa0IsUUFBUSw4QkFBK0Isc0JBQXNCLG9CQUFvQjs7Q0FFbkc7Ozs7Ozs7MkJBTzJCLEFBQUQsOEJBQThCO3VCQUNsQyxNQUFNOzt5QkFFSjttQ0FDVSxVQUFXO3NEQUNRO2tEQUNKO1VBQ3hDOzs7Ozs7OzswQ0FRZ0M7V0FDOUIsQUFBRCxNQUFPO21CQUNFLGlCQUFpQixZQUFhOzt5QkFFeEI7eUJBQ0E7O0VBRXZCO1VBQ1E7O1NBRUQsTUFBTTs2QkFDYzs2QkFDQTs7Ozs4QkFJQyxBQUFELElBQU0sNkJBQTZCLFFBQU87S0FDbEUseUJBQXlCO2FBQ2pCOzs7O3VCQUlVO3FCQUNGOztLQUVoQiw4QkFBK0IsQUFBRDt3QkFDVixBQUFEOzthQUVYLFlBQWE7OztTQUdsQiwyQ0FBaUU7OztDQUd6RTs7Ozs7NEJBSzJCLEdBQUc7d0JBQ1A7S0FDbkIsc0JBQXNCOzs7O0NBSTFCOzs7Ozs0QkFLMkIsR0FBRzt3QkFDUDtLQUNuQixzQkFBc0I7OzttQkFHUixHQUFHO3dCQUNFO3VCQUNEOzs7Q0FHdEI7Ozs7Ozs7Ozs7Ozs7OztxQkFlcUIsQUFBRCxpR0FBaUc7OEJBQ3hGOzhCQUNBO3NCQUNSLElBQUk7TUFDcEIsaUJBQWlCO01BQ2pCOzs7R0FHRjs7O21CQUdlO1dBQ1IsSUFBSzs7U0FFUDtFQUNOLCtIQUNDOzs7O3VCQUttQixJQUFJO0tBQ3RCO2tCQUNjLEFBQUQ7Ozs7Q0FJakI7Ozs7Ozs7Ozs7Ozs7Ozt3QkFld0IsQUFBRDs7Ozs7Ozs7Ozs7Ozs7SUFjcEI7OEJBQzBCOzhCQUNBO3NEQUN3QixjQUFjLFdBQVc7O3NDQUV6QywrQkFBK0IsNEJBQTRCLHdCQUF3QixhQUFjO3VFQUMvRCxBQUFEO3NGQUNlLGNBQWM7MkRBQ3hDLEFBQUQ7aUNBQzFCLEtBQUssaUJBQWtCLFNBQVEsZUFBZ0I7OEJBQ2xEOztzQkFFUixJQUFJO01BQ3BCLGlCQUFpQjtNQUNqQjttQkFDYTtXQUNSLElBQUs7OztTQUdQO0VBQ04seUxBQ0MseUNBQTJDLEFBQUQ7Ozs7Q0FLN0M7Q0FDQTtxQkFDb0IsVUFBVTs7RUFFN0I7eUNBQ3dDLEFBQUQsbUJBQW9CLEFBQUQ7V0FDaEQsQUFBRCx3QkFBeUIsYUFBYTtrQkFDOUI7OztXQUdQLEFBQUQsc0JBQXNCOzswQkFFUDtTQUNqQjs7O21CQUdVLG9CQUFvQjtLQUNsQyx5QkFBeUIseUJBQXlCLE1BQU07UUFDckQsbUNBQW1DO3NCQUNyQjtLQUNqQixZQUFZO2lCQUNBO29CQUNJLEFBQUQsVUFBVyw4QkFBK0I7RUFDNUQ7S0FDRyxtQ0FBbUM7OERBQ3NCOztTQUVyRDs7O0NBR1I7Q0FDQTs7Ozs7Ozs7c0JBUXNCLEFBQUQscUNBQXFDO0VBQ3pEOzs7Q0FHRDs7Ozs7O3VCQU11QixBQUFELGVBQWU7OEJBQ1I7O0VBRTVCO2lDQUMrQjs7TUFFM0Isb0NBQW9DOztHQUV2Qzs7Ozs7U0FLTSwrQkFBK0I7TUFDbEMsVUFBVTtJQUNaO09BQ0csVUFBVTtZQUNMLHFCQUEwQztjQUN4QyxjQUFjO0tBQ3ZCO1lBQ08scUJBQTBDLEVBQVE7V0FDbkQ7WUFDQyxxQkFBMEM7Ozs7O0VBS3BEIn0=
8508
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiL1VzZXJzL2FyYXNoL0Rlc2t0b3AvUHJvamVjdHMvTGlsYWN0L3NyYy9yb3V0ZXIuanN4Iiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiL1VzZXJzL2FyYXNoL0Rlc2t0b3AvUHJvamVjdHMvTGlsYWN0L3NyYy9yb3V0ZXIuanN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLEFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztRQThCUTs7UUFFQTtRQUNBOztvQ0FFNEI7bUNBQ0EsQUFBRCxVQUFXOzttQkFFM0I7aUNBQ2Msc0JBQXNCLG9CQUFvQjs7c0JBRXJELGdCQUFpQixBQUFEOzs7Q0FHckM7Ozs7Ozs7MkJBTzJCLEFBQUQsOEJBQThCO3dCQUNqQyxNQUFNOzsyQkFFSDs7OEJBRUcsa0JBQW1CO3FDQUNaOzt3REFFbUI7b0RBQ0o7O1lBRXhDOzs7Ozs7OzsyQ0FRK0I7O1lBRTlCLEFBQUQsTUFBTztxQkFDRyxpQkFBaUIsWUFBYTs7MkJBRXhCOzJCQUNBOztJQUV2QjtZQUNROztXQUVELE1BQU07Z0NBQ2U7Z0NBQ0E7Ozs7K0JBSUQsQUFBRCxJQUFNLDZCQUE2QixRQUFPO09BQ2pFLHlCQUF5QjtNQUMxQjt3QkFDbUIsQUFBRCxhQUFjOzs7dUJBR2QsUUFBUTtZQUNuQjs7bUNBRXVCO21DQUNBO2FBQ3RCO2dCQUNHOzs7cUJBR0ssYUFBYyxBQUFELGlCQUFrQixZQUFhO3NCQUMzQyxhQUFjLEFBQUQsaUJBQWtCLFlBQWE7OzhCQUVwQyxtQkFBb0I7OEJBQ3BCLHNCQUF1Qjs7T0FFOUM7aUJBQ1csQUFBRCxhQUFlLEFBQUQsaUJBQWtCLFlBQWE7O2lCQUU3Qzs7Ozt5QkFJTzt1QkFDRjs7T0FFaEIsVUFBVTswQkFDVSxBQUFEO1dBQ2Y7dUJBQ2EsQUFBRDs7O0lBR25CO2VBQ1csWUFBYTs7O1VBR25CO0lBQ0wsMkNBQ0U7Ozs7O0NBTU47Ozs7OzRCQUsyQixHQUFHO3dCQUNQO0tBQ25CLHNCQUFzQjs7OztDQUkxQjs7Ozs7NEJBSzJCLEdBQUc7d0JBQ1A7S0FDbkIsc0JBQXNCOzs7bUJBR1IsR0FBRzt3QkFDRTt1QkFDRDs7O0NBR3RCOzs7Ozs7Ozs7Ozs7Ozs7cUJBZXFCLEFBQUQsaUdBQWlHOzhCQUN4Rjs4QkFDQTtzQkFDUixJQUFJO01BQ3BCLGlCQUFpQjtNQUNqQjs7O0dBR0Y7OzttQkFHZTtXQUNSLElBQUs7O1NBRVA7RUFDTiwrSEFDQzs7Ozt1QkFLbUIsSUFBSTtLQUN0QjtrQkFDYyxBQUFEOzs7O0NBSWpCOzs7Ozs7Ozs7Ozs7Ozs7d0JBZXdCLEFBQUQ7Ozs7Ozs7Ozs7Ozs7O0lBY3BCOzhCQUMwQjs4QkFDQTtzREFDd0IsY0FBYyxXQUFXOztzQ0FFekMsK0JBQStCLDRCQUE0Qix3QkFBd0IsYUFBYzt1RUFDL0QsQUFBRDtzRkFDZSxjQUFjOzJEQUN4QyxBQUFEO2lDQUMxQixLQUFLLGlCQUFrQixTQUFRLGVBQWdCOzhCQUNsRDs7c0JBRVIsSUFBSTtNQUNwQixpQkFBaUI7TUFDakI7bUJBQ2E7V0FDUixJQUFLOzs7U0FHUDtFQUNOLHlMQUNDLHlDQUEyQyxBQUFEOzs7O0NBSzdDO0NBQ0E7cUJBQ29CLFVBQVU7O0VBRTdCO3lDQUN3QyxBQUFELG1CQUFvQixBQUFEO1dBQ2hELEFBQUQsd0JBQXlCLGFBQWE7a0JBQzlCOzs7V0FHUCxBQUFELHNCQUFzQjs7MEJBRVA7U0FDakI7OzttQkFHVSxvQkFBb0I7S0FDbEMseUJBQXlCLHlCQUF5QixNQUFNO1FBQ3JELG1DQUFtQztzQkFDckI7S0FDakIsWUFBWTtpQkFDQTtvQkFDSSxBQUFELFVBQVcsOEJBQStCO0VBQzVEO0tBQ0csbUNBQW1DOzhEQUNzQjs7U0FFckQ7OztDQUdSO0NBQ0E7Ozs7Ozs7O3NCQVFzQixBQUFELHFDQUFxQztFQUN6RDs7O0NBR0Q7Ozs7Ozt1QkFNdUIsQUFBRCxlQUFlOzhCQUNSOztFQUU1QjtpQ0FDK0I7O01BRTNCLG9DQUFvQzs7R0FFdkM7Ozs7O1NBS00sK0JBQStCO01BQ2xDLFVBQVU7SUFDWjtPQUNHLFVBQVU7WUFDTCxxQkFBMEM7Y0FDeEMsY0FBYztLQUN2QjtZQUNPLHFCQUEwQyxFQUFRO1dBQ25EO1lBQ0MscUJBQTBDOzs7OztFQUtwRCJ9
8457
8509
  ;// ./src/accessories.jsx
8458
8510
  /*
8459
8511
 
@@ -8492,9 +8544,6 @@ function Routes({ children }) {
8492
8544
 
8493
8545
 
8494
8546
 
8495
-
8496
-
8497
-
8498
8547
  const {css: accessories_css,cx: accessories_cx} = emotion_css_development_esm_namespaceObject;
8499
8548
 
8500
8549
  /**
@@ -8614,7 +8663,7 @@ class Suspense extends Component
8614
8663
 
8615
8664
  /** @ignore */
8616
8665
  static getDerivedStateFromError(error) {
8617
- if (Lilact.isThenable(error)) {
8666
+ if (isThenable(error)) {
8618
8667
  // signal to call componentDidCatch where we handle the thenable
8619
8668
  return null;
8620
8669
  }
@@ -8624,7 +8673,7 @@ class Suspense extends Component
8624
8673
 
8625
8674
  /** @ignore */
8626
8675
  componentDidCatch(error) {
8627
- if (!Lilact.isThenable(error)) return;
8676
+ if (!isThenable(error)) return;
8628
8677
 
8629
8678
  const promise = error;
8630
8679
 
@@ -8638,10 +8687,10 @@ class Suspense extends Component
8638
8687
  const delay = Math.max(0, this.props.minDelay);
8639
8688
  // Ensure no leftover timers
8640
8689
  if (this._delayTimer) {
8641
- Lilact.clearTimeout(this._delayTimer);
8690
+ timers_clearTimeout(this._delayTimer);
8642
8691
  this._delayTimer = null;
8643
8692
  }
8644
- this._delayTimer = Lilact.setTimeout(() => {
8693
+ this._delayTimer = timers_setTimeout(() => {
8645
8694
  this._delayTimer = null;
8646
8695
  this._fallbackShownAt = Date.now();
8647
8696
  this.setState({ showingFallback: true });
@@ -8658,11 +8707,11 @@ class Suspense extends Component
8658
8707
  /** @ignore */
8659
8708
  _clearTimers() {
8660
8709
  if (this._delayTimer) {
8661
- Lilact.clearTimeout(this._delayTimer);
8710
+ timers_clearTimeout(this._delayTimer);
8662
8711
  this._delayTimer = null;
8663
8712
  }
8664
8713
  if (this._minShowTimer) {
8665
- Lilact.clearTimeout(this._minShowTimer);
8714
+ timers_clearTimeout(this._minShowTimer);
8666
8715
  this._minShowTimer = null;
8667
8716
  }
8668
8717
  }
@@ -8675,10 +8724,10 @@ class Suspense extends Component
8675
8724
  if (this._pending.size === 1) {
8676
8725
  const delay = Math.max(0, this.props.minDelay);
8677
8726
  if (this._delayTimer) {
8678
- Lilact.clearTimeout(this._delayTimer);
8727
+ timers_clearTimeout(this._delayTimer);
8679
8728
  this._delayTimer = null;
8680
8729
  }
8681
- this._delayTimer = Lilact.setTimeout(() => {
8730
+ this._delayTimer = timers_setTimeout(() => {
8682
8731
  this._delayTimer = null;
8683
8732
  this._fallbackShownAt = Date.now();
8684
8733
  this.setState({ showingFallback: true });
@@ -8694,7 +8743,7 @@ class Suspense extends Component
8694
8743
  if (this._pending.size === 0) {
8695
8744
  // cancel delay if fallback hasn't shown yet
8696
8745
  if (this._delayTimer) {
8697
- Lilact.clearTimeout(this._delayTimer);
8746
+ timers_clearTimeout(this._delayTimer);
8698
8747
  this._delayTimer = null;
8699
8748
  // fallback never shown; just ensure state is not showing
8700
8749
  this.setState({ showingFallback: false });
@@ -8709,10 +8758,10 @@ class Suspense extends Component
8709
8758
  this.setState({ showingFallback: false });
8710
8759
  } else {
8711
8760
  if (this._minShowTimer) {
8712
- Lilact.clearTimeout(this._minShowTimer);
8761
+ timers_clearTimeout(this._minShowTimer);
8713
8762
  this._minShowTimer = null;
8714
8763
  }
8715
- this._minShowTimer = Lilact.setTimeout(() => {
8764
+ this._minShowTimer = timers_setTimeout(() => {
8716
8765
  this._minShowTimer = null;
8717
8766
  this.setState({ showingFallback: false });
8718
8767
  }, remaining);
@@ -8726,7 +8775,7 @@ class Suspense extends Component
8726
8775
 
8727
8776
  /** @ignore */
8728
8777
  componentDidCatch(error, info) {
8729
- if (!Lilact.isThenable(error)) return;
8778
+ if (!isThenable(error)) return;
8730
8779
  this._attachPromise(error);
8731
8780
  }
8732
8781
 
@@ -9102,7 +9151,7 @@ const SplitPane = forwardRef(function SplitPane(
9102
9151
 
9103
9152
 
9104
9153
 
9105
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiL1VzZXJzL2FyYXNoL0Rlc2t0b3AvUHJvamVjdHMvTGlsYWN0L3NyYy9hY2Nlc3Nvcmllcy5qc3giLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIvVXNlcnMvYXJhc2gvRGVza3RvcC9Qcm9qZWN0cy9MaWxhY3Qvc3JjL2FjY2Vzc29yaWVzLmpzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O1FBK0JRO1FBQ0E7OztRQUdBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7T0FDRDs7Q0FFTjs7Ozs7Ozs7Ozs7Ozt3QkFhd0IsQUFBRDs7Ozs7OztJQU9wQjtxQkFDaUI7O1VBRVg7SUFDTDs7Ozs7O3lCQVlFOzs7Ozs7O3FCQVdBLEVBQU87Ozs7Ozs7OztDQVNiOzs7Ozs7Ozs7Ozs4Q0FXNkM7OztVQUdwQzs7aUNBRXVCLFFBQVE7VUFDL0I7OzttQkFHUyxjQUFjO1NBQ3hCO09BQ0YsS0FBSyxpQkFBaUIsdUJBQXVCLElBQUksZUFBZTs7O1VBRzdELG1CQUFvQixBQUFEOztRQUVyQixHQUFHO1NBQ0Y7TUFDSCw2QkFBNkI7Ozs7OztDQU1sQzs7Ozs7Ozs7Ozs7O0NBWUE7Ozt3QkFHdUI7O2FBRVgsUUFBUTs7UUFFYjtDQUNQO2dCQUNlOztDQUVmOzBCQUN5Qjs7Q0FFekI7O0NBRUE7O0NBRUE7Ozs7Q0FJQTtpQ0FDZ0MsUUFBUTtNQUNuQyxpQkFBa0IsVUFBUztJQUM3Qjs7O0dBR0Q7Ozs7Q0FJRjttQkFDa0IsUUFBUTtNQUNyQixrQkFBbUI7Ozs7TUFJbkIsaUJBQWtCOztHQUVyQjtvQkFDaUI7O0dBRWpCO01BQ0csMkJBQTJCOzBCQUNQO0lBQ3RCO09BQ0csbUJBQW1CO3dCQUNGOzs7d0NBR2lCLEFBQUQsTUFBTzs7b0NBRVY7aUJBQ2xCLEFBQUQ7Ozs7O0NBS2pCO3NCQUNxQixHQUFHO29CQUNMO3NCQUNFOzs7Q0FHckI7Y0FDYSxHQUFHO01BQ1gsbUJBQW1CO3VCQUNGOzs7TUFHakIscUJBQXFC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
9154
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiL1VzZXJzL2FyYXNoL0Rlc2t0b3AvUHJvamVjdHMvTGlsYWN0L3NyYy9hY2Nlc3Nvcmllcy5qc3giLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIvVXNlcnMvYXJhc2gvRGVza3RvcC9Qcm9qZWN0cy9MaWxhY3Qvc3JjL2FjY2Vzc29yaWVzLmpzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O1FBK0JRO1FBQ0E7O1FBRUE7UUFDQTtRQUNBO09BQ0Q7O0NBRU47Ozs7Ozs7Ozs7Ozs7d0JBYXdCLEFBQUQ7Ozs7Ozs7SUFPcEI7cUJBQ2lCOztVQUVYO0lBQ0w7Ozs7Ozt5QkFZRTs7Ozs7OztxQkFXQSxFQUFPOzs7Ozs7Ozs7Q0FTYjs7Ozs7Ozs7Ozs7OENBVzZDOzs7VUFHcEM7O2lDQUV1QixRQUFRO1VBQy9COzs7bUJBR1MsY0FBYztTQUN4QjtPQUNGLEtBQUssaUJBQWlCLHVCQUF1QixJQUFJLGVBQWU7OztVQUc3RCxtQkFBb0IsQUFBRDs7UUFFckIsR0FBRztTQUNGO01BQ0gsNkJBQTZCOzs7Ozs7Q0FNbEM7Ozs7Ozs7Ozs7OztDQVlBOzs7d0JBR3VCOzthQUVYLFFBQVE7O1FBRWI7Q0FDUDtnQkFDZTs7Q0FFZjswQkFDeUI7O0NBRXpCOztDQUVBOztDQUVBOzs7O0NBSUE7aUNBQ2dDLFFBQVE7TUFDbkMsVUFBVyxVQUFTO0lBQ3RCOzs7R0FHRDs7OztDQUlGO21CQUNrQixRQUFRO01BQ3JCLFdBQVk7Ozs7TUFJWixpQkFBa0I7O0dBRXJCO29CQUNpQjs7R0FFakI7TUFDRywyQkFBMkI7MEJBQ1A7SUFDdEI7T0FDRyxtQkFBbUI7aUJBQ1Q7OztpQ0FHaUIsQUFBRCxNQUFPOztvQ0FFSDtpQkFDbEIsQUFBRDs7Ozs7Q0FLakI7c0JBQ3FCLEdBQUc7b0JBQ0w7c0JBQ0U7OztDQUdyQjtjQUNhLEdBQUc7TUFDWCxtQkFBbUI7Z0JBQ1Q7OztNQUdWLHFCQUFxQjtnQkFDWDs7Ozs7Q0FLZjtn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
9106
9155
  // EXTERNAL MODULE: ./src/jsx.js
9107
9156
  var jsx = __webpack_require__(207);
9108
9157
  ;// ./src/lilact.jsx
@@ -9200,7 +9249,7 @@ var jsx = __webpack_require__(207);
9200
9249
  const lilact_Lilact =
9201
9250
  {
9202
9251
 
9203
- VERSION: "beta.14",
9252
+ VERSION: "beta.15",
9204
9253
 
9205
9254
  // Configuration
9206
9255
 
@@ -9240,18 +9289,22 @@ document.addEventListener('DOMContentLoaded', () => {
9240
9289
  lilact_Lilact.runScripts();
9241
9290
  });
9242
9291
 
9243
- window.addEventListener('error', (e) => {
9244
- lilact_Lilact.globalErrorHandler(e);
9245
- });
9292
+ if(true) {
9293
+ window.addEventListener('error', (e) => {
9294
+ lilact_Lilact.globalErrorHandler(e);
9295
+ });
9296
+ }
9246
9297
 
9298
+ if(true) {
9247
9299
  console.log(`Lilact (Version: ${lilact_Lilact.VERSION}) - Debug Mode`);
9248
9300
  console.log(`Copyright(C) 2024-2026 Arash Kazemi <contact.arash.kazemi@gmail.com>`);
9301
+ }
9249
9302
 
9250
9303
  /* harmony default export */ const lilact = (lilact_Lilact);
9251
9304
 
9252
9305
 
9253
9306
 
9254
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiL1VzZXJzL2FyYXNoL0Rlc2t0b3AvUHJvamVjdHMvTGlsYWN0L3NyYy9saWxhY3QuanN4Iiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiL1VzZXJzL2FyYXNoL0Rlc2t0b3AvUHJvamVjdHMvTGlsYWN0L3NyYy9saWxhY3QuanN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLEFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0ErQkM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7UUFrQ087OztRQUdBOzs7Ozs7Ozs7Ozs7O1FBYUE7OztDQUdQOzs7Ozs7OztDQVFBOzs7O0VBSUM7Ozs7aUJBSWU7O0VBRWY7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQWtCQTs7Ozs7Ozs7OzswQkFVd0Isb0JBQXFCLE1BQU07bUJBQ2pDOzs7d0JBSUksU0FBVSxPQUFPOzBCQUNkOzs7YUFLZDthQUNBIn0=
9307
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiL1VzZXJzL2FyYXNoL0Rlc2t0b3AvUHJvamVjdHMvTGlsYWN0L3NyYy9saWxhY3QuanN4Iiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiL1VzZXJzL2FyYXNoL0Rlc2t0b3AvUHJvamVjdHMvTGlsYWN0L3NyYy9saWxhY3QuanN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLEFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0ErQkM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7UUFrQ087OztRQUdBOzs7Ozs7Ozs7Ozs7O1FBYUE7OztDQUdQOzs7Ozs7OztDQVFBOzs7O0VBSUM7Ozs7aUJBSWU7O0VBRWY7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQWtCQTs7Ozs7Ozs7OzswQkFVd0Isb0JBQXFCLE1BQU07bUJBQ2pDOzs7R0FHakIsUUFBUTt5QkFDYyxTQUFVLE9BQU87MkJBQ2Q7Ozs7R0FJekIsUUFBUTthQUNFO2FBQ0EifQ==
9255
9308
 
9256
9309
  /***/ }),
9257
9310
 
@@ -9899,6 +9952,100 @@ module.exports = function(isValidElement, throwOnDirectAccess) {
9899
9952
  };
9900
9953
 
9901
9954
 
9955
+ /***/ }),
9956
+
9957
+ /***/ 601:
9958
+ /*!*************************!*\
9959
+ !*** ./src/symbols.jsx ***!
9960
+ \*************************/
9961
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
9962
+
9963
+ __webpack_require__.r(__webpack_exports__);
9964
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
9965
+ /* harmony export */ ARGS: () => (/* binding */ ARGS),
9966
+ /* harmony export */ CALLBACK: () => (/* binding */ CALLBACK),
9967
+ /* harmony export */ CHILD_CLASS_ADDENDUM: () => (/* binding */ CHILD_CLASS_ADDENDUM),
9968
+ /* harmony export */ CLEARED: () => (/* binding */ CLEARED),
9969
+ /* harmony export */ COMPONENT: () => (/* binding */ COMPONENT),
9970
+ /* harmony export */ CORE: () => (/* binding */ CORE),
9971
+ /* harmony export */ DUE: () => (/* binding */ DUE),
9972
+ /* harmony export */ IDX: () => (/* binding */ IDX),
9973
+ /* harmony export */ INTERVAL: () => (/* binding */ INTERVAL),
9974
+ /* harmony export */ IS_ZOMBIE: () => (/* binding */ IS_ZOMBIE),
9975
+ /* harmony export */ LAZY: () => (/* binding */ LAZY),
9976
+ /* harmony export */ MEMOIZED: () => (/* binding */ MEMOIZED),
9977
+ /* harmony export */ REPEAT: () => (/* binding */ REPEAT),
9978
+ /* harmony export */ TEXT: () => (/* binding */ TEXT)
9979
+ /* harmony export */ });
9980
+ /*
9981
+
9982
+ Lilact
9983
+ Copyright (C) 2024-2026 Arash Kazemi <contact.arash.kazemi@gmail.com>
9984
+ All rights reserved.
9985
+
9986
+ BSD-2-Clause
9987
+
9988
+ Redistribution and use in source and binary forms, with or without
9989
+ modification, are permitted provided that the following conditions are met:
9990
+
9991
+ * Redistributions of source code must retain the above copyright
9992
+ notice, this list of conditions and the following disclaimer.
9993
+ * Redistributions in binary form must reproduce the above copyright
9994
+ notice, this list of conditions and the following disclaimer in the
9995
+ documentation and/or other materials provided with the distribution.
9996
+
9997
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
9998
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
9999
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
10000
+ ARE DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY
10001
+ DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
10002
+ (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
10003
+ LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
10004
+ ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
10005
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
10006
+ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
10007
+
10008
+ */
10009
+
10010
+
10011
+ const [
10012
+ CORE,
10013
+ COMPONENT,
10014
+ TEXT,
10015
+ IS_ZOMBIE,
10016
+ IDX,
10017
+ CHILD_CLASS_ADDENDUM,
10018
+ MEMOIZED,
10019
+ LAZY,
10020
+
10021
+ DUE,
10022
+ REPEAT,
10023
+ CLEARED,
10024
+ INTERVAL,
10025
+ CALLBACK,
10026
+ ARGS
10027
+ ] =
10028
+ [
10029
+ Symbol.for('LILACT:CORE'),
10030
+ Symbol.for('LILACT:COMPONENT'),
10031
+ Symbol.for('LILACT:TEXT'),
10032
+ Symbol.for('LILACT:IS_ZOMBIE'),
10033
+ Symbol.for('LILACT:IDX'),
10034
+ Symbol.for('LILACT:CHILD_CLASS_ADDENDUM'),
10035
+ Symbol.for('LILACT:MEMOIZED'),
10036
+ Symbol.for('LILACT:LAZY'),
10037
+
10038
+ Symbol.for('LILACT:TIMERS:DUE'),
10039
+ Symbol.for('LILACT:TIMERS:REPEAT'),
10040
+ Symbol.for('LILACT:TIMERS:CLEARED'),
10041
+ Symbol.for('LILACT:TIMERS:INTERVAL'),
10042
+ Symbol.for('LILACT:TIMERS:CALLBACK'),
10043
+ Symbol.for('LILACT:TIMERS:ARGS')
10044
+ ];
10045
+
10046
+
10047
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiL1VzZXJzL2FyYXNoL0Rlc2t0b3AvUHJvamVjdHMvTGlsYWN0L3NyYy9zeW1ib2xzLmpzeCIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi9Vc2Vycy9hcmFzaC9EZXNrdG9wL1Byb2plY3RzL0xpbGFjdC9zcmMvc3ltYm9scy5qc3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztlQWlEZTtlQUNBO2VBQ0E7ZUFDQTtlQUNBO2VBQ0E7ZUFDQTtlQUNBOztlQUVBO2VBQ0E7ZUFDQTtlQUNBO2VBQ0E7ZUFDQSJ9
10048
+
9902
10049
  /***/ }),
9903
10050
 
9904
10051
  /***/ 847:
@@ -10024,10 +10171,12 @@ __webpack_require__.r(__webpack_exports__);
10024
10171
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
10025
10172
  /* harmony export */ lazy: () => (/* binding */ lazy),
10026
10173
  /* harmony export */ require: () => (/* binding */ require),
10174
+ /* harmony export */ required_scripts: () => (/* binding */ required_scripts),
10027
10175
  /* harmony export */ run: () => (/* binding */ run),
10028
10176
  /* harmony export */ runScripts: () => (/* binding */ runScripts)
10029
10177
  /* harmony export */ });
10030
10178
  /* harmony import */ var _lilact_jsx__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./lilact.jsx */ 451);
10179
+ /* harmony import */ var _symbols_jsx__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./symbols.jsx */ 601);
10031
10180
  /*
10032
10181
 
10033
10182
  Lilact
@@ -10058,11 +10207,14 @@ __webpack_require__.r(__webpack_exports__);
10058
10207
 
10059
10208
  */
10060
10209
 
10061
- const [CORE,COMPONENT,LAZY]=[Symbol.for('LILACT:CORE'),Symbol.for('LILACT:COMPONENT'),Symbol.for('LILACT:LAZY')];
10062
10210
 
10063
10211
 
10064
10212
 
10065
10213
 
10214
+ /** @ignore */
10215
+ const required_scripts = {};
10216
+
10217
+
10066
10218
  /**
10067
10219
  * Runs a jsx script. All scripts can access Lilact namespace as a global object.
10068
10220
  *
@@ -10079,7 +10231,7 @@ function run(jsx, path=`InlineJSX-${++_lilact_jsx__WEBPACK_IMPORTED_MODULE_0__["
10079
10231
  let processed;
10080
10232
 
10081
10233
 
10082
- _lilact_jsx__WEBPACK_IMPORTED_MODULE_0__["default"].required_scripts[path] = {
10234
+ required_scripts[path] = {
10083
10235
  mappings,
10084
10236
  module,
10085
10237
  is_inline,
@@ -10106,7 +10258,9 @@ function run(jsx, path=`InlineJSX-${++_lilact_jsx__WEBPACK_IMPORTED_MODULE_0__["
10106
10258
  throw e;
10107
10259
  }
10108
10260
 
10109
- _lilact_jsx__WEBPACK_IMPORTED_MODULE_0__["default"].required_scripts[path].processed = processed;
10261
+ if(true) {
10262
+ required_scripts[path].processed = processed;
10263
+ }
10110
10264
 
10111
10265
  processed += "\n//# sourceURL=eval:/" + path;
10112
10266
 
@@ -10133,11 +10287,11 @@ function run(jsx, path=`InlineJSX-${++_lilact_jsx__WEBPACK_IMPORTED_MODULE_0__["
10133
10287
  /**
10134
10288
  * Loads a jsx script from a path. All scripts can access Lilact namespace as a global object.
10135
10289
  *
10136
- * `Lilact.require` loads synchronously, as it is expected to be loaded on the next instruction.
10290
+ * `require` loads synchronously, as it is expected to be loaded on the next instruction.
10137
10291
  *
10138
10292
  * As running the transpiled scripts rely on `new Function`, it is not possible to use module imports
10139
10293
  * and exports. So to import you should use `const {useState} = Lilact` convention. And to
10140
- * export, you should use `module.exports = ...`. `Lilact.require` returns `module.exports` value
10294
+ * export, you should use `module.exports = ...`. `require` returns `module.exports` value
10141
10295
  * so you can import different modules using the convention above.
10142
10296
  *
10143
10297
  * If the path is in the format #id, it will query the document for a script element with the given
@@ -10154,19 +10308,19 @@ function run(jsx, path=`InlineJSX-${++_lilact_jsx__WEBPACK_IMPORTED_MODULE_0__["
10154
10308
  */
10155
10309
  function require(path, forceUpdate)
10156
10310
  {
10157
- 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;
10311
+ if(required_scripts[path] && !forceUpdate) return required_scripts[path].module.exports;
10158
10312
 
10159
10313
  if(path[0]==='#') {
10160
10314
 
10161
10315
  const el = document.getElementById(path);
10162
10316
 
10163
10317
  if(el) {
10164
- return _lilact_jsx__WEBPACK_IMPORTED_MODULE_0__["default"].run(el.innerText, path);
10318
+ return run(el.innerText, path);
10165
10319
  }
10166
10320
 
10167
10321
  }
10168
- else if(_lilact_jsx__WEBPACK_IMPORTED_MODULE_0__["default"]?.[LAZY]) {
10169
- _lilact_jsx__WEBPACK_IMPORTED_MODULE_0__["default"][LAZY]=false;
10322
+ else if(_lilact_jsx__WEBPACK_IMPORTED_MODULE_0__["default"]?.[_symbols_jsx__WEBPACK_IMPORTED_MODULE_1__.LAZY]) {
10323
+ _lilact_jsx__WEBPACK_IMPORTED_MODULE_0__["default"][_symbols_jsx__WEBPACK_IMPORTED_MODULE_1__.LAZY]=false;
10170
10324
 
10171
10325
  return fetch(path)
10172
10326
  .then(res => {
@@ -10174,7 +10328,7 @@ function require(path, forceUpdate)
10174
10328
  return res.text();
10175
10329
  })
10176
10330
  .then(res => {
10177
- res = _lilact_jsx__WEBPACK_IMPORTED_MODULE_0__["default"].run(res, path, false);
10331
+ res = run(res, path, false);
10178
10332
  // todo: this is for the lazy, so we detect default, should we do it in sync mode too?
10179
10333
  return res?.default ?? res;
10180
10334
  })
@@ -10190,7 +10344,7 @@ function require(path, forceUpdate)
10190
10344
  request.open("GET", path, false);
10191
10345
  request.send(null);
10192
10346
  if (request.status === 200) {
10193
- return _lilact_jsx__WEBPACK_IMPORTED_MODULE_0__["default"].run(request.responseText, path, false);
10347
+ return run(request.responseText, path, false);
10194
10348
  }
10195
10349
  }
10196
10350
 
@@ -10212,7 +10366,7 @@ function lazy(factory) {
10212
10366
  let status = "pending"; // pending | success | error
10213
10367
  let result; // component | error
10214
10368
 
10215
- _lilact_jsx__WEBPACK_IMPORTED_MODULE_0__["default"][LAZY] = true;
10369
+ _lilact_jsx__WEBPACK_IMPORTED_MODULE_0__["default"][_symbols_jsx__WEBPACK_IMPORTED_MODULE_1__.LAZY] = true;
10216
10370
  result = factory();
10217
10371
 
10218
10372
  if(_lilact_jsx__WEBPACK_IMPORTED_MODULE_0__["default"].isThenable(result)) {
@@ -10258,8 +10412,8 @@ function scanScriptTagsWithType() {
10258
10412
  * Scans the whole documents and runs all the script elements with type `text/jsx`.
10259
10413
  * It is automatically attached to document.onload when Lilact is loaded.
10260
10414
  *
10261
- * If element src is set, it will be loaded via `Lilact.require`.
10262
- * If element has inner content, it will be executed via `Lilact.run`.
10415
+ * If element src is set, it will be loaded via `require`.
10416
+ * If element has inner content, it will be executed via `run`.
10263
10417
  *
10264
10418
  * If both are present, first the src is loaded and then the inner content is executed.
10265
10419
  *
@@ -10272,14 +10426,14 @@ function runScripts()
10272
10426
  const scripts = scanScriptTagsWithType();
10273
10427
 
10274
10428
  for(const s of scripts) {
10275
- if(s.src) _lilact_jsx__WEBPACK_IMPORTED_MODULE_0__["default"].require(s.src);
10276
- if(s.content) _lilact_jsx__WEBPACK_IMPORTED_MODULE_0__["default"].run(s.content);
10429
+ if(s.src) require(s.src);
10430
+ if(s.content) run(s.content);
10277
10431
  }
10278
10432
  }
10279
10433
 
10280
10434
 
10281
10435
 
10282
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiL1VzZXJzL2FyYXNoL0Rlc2t0b3AvUHJvamVjdHMvTGlsYWN0L3NyYy9ydW4uanN4Iiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiL1VzZXJzL2FyYXNoL0Rlc2t0b3AvUHJvamVjdHMvTGlsYWN0L3NyYy9ydW4uanN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLEFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQThCQzs7Ozs7Q0FLQTs7Ozs7Ozs7O29CQVNtQjtDQUNuQjs7aUJBRWdCLFVBQVU7Ozs7a0NBSU87Ozs7Ozs7OztNQVM1QjtrQ0FDNEI7RUFDL0I7Ozs7Ozs7Ozs7T0FVSSxJQUFJO0dBQ1I7Ozs7Ozs7OztFQVdEO3dCQUNzQjs7TUFFbEI7Ozs7O0dBS0g7bUJBQ2dCO0tBQ2Q7OztPQUdFLElBQUk7d0JBQ2E7Ozs7OztDQU12Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozt3QkFzQnVCO0NBQ3ZCO0lBQ0c7O0lBRUEsZ0JBQWdCOztxQ0FFaUI7O0tBRWhDLEtBQUs7cUJBQ1c7Ozs7U0FJWixpQkFBaUI7OztlQUdYO1NBQ04sT0FBUTtPQUNULHlCQUF5QjttQkFDYjs7U0FFWCxPQUFRO29CQUNJO0lBQ2hCOzs7VUFHSyxPQUFROzs7O09BSVg7R0FDSjtHQUNBOztxQ0FFa0M7ZUFDdEI7ZUFDQTtNQUNULHlCQUF5QjtxQkFDVjs7OztpQkFJSjs7OztDQUloQjs7Ozs7Ozs7OztxQkFVb0IsVUFBVTswQkFDTDswQkFDQTs7O2tCQUdSOztJQUVkLGlCQUFrQixXQUFVO2NBQ2xCO0dBQ1YsU0FBUzs7Ozs7R0FLVCxTQUFTOzs7Ozs7O09BT047Ozs7d0JBSWlCLFFBQVE7TUFDMUI7TUFDQTs7VUFFSTs7Ozs7O2dDQU1zQixHQUFHOzRCQUNQOzJCQUNBOzs7b0JBR1AsQUFBRCxRQUFVLEFBQUQ7cUJBQ047Ozs7O0NBS3RCOzs7Ozs7Ozs7Ozs7OzJCQWEwQjtDQUMxQjt3Q0FDdUM7O0tBRW5DLHFCQUFxQjtLQUNyQixzQkFBc0I7S0FDdEIsc0JBQXNCIn0=
10436
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiL1VzZXJzL2FyYXNoL0Rlc2t0b3AvUHJvamVjdHMvTGlsYWN0L3NyYy9ydW4uanN4Iiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiL1VzZXJzL2FyYXNoL0Rlc2t0b3AvUHJvamVjdHMvTGlsYWN0L3NyYy9ydW4uanN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLEFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7UUErQlE7OztDQUdQO2lDQUNnQzs7O0NBR2hDOzs7Ozs7Ozs7b0JBU21CO0NBQ25COztpQkFFZ0IsVUFBVTs7OzsyQkFJQTs7Ozs7Ozs7O01BU3JCO2tDQUM0QjtFQUMvQjs7Ozs7Ozs7OztPQVVJLElBQUk7R0FDUjs7Ozs7R0FLQSxRQUFROzs7Ozs7RUFNVDt3QkFDc0I7O01BRWxCOzs7OztHQUtIO21CQUNnQjtLQUNkOzs7T0FHRSxJQUFJO3dCQUNhOzs7Ozs7Q0FNdkI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7d0JBc0J1QjtDQUN2QjtJQUNHOztJQUVBLGdCQUFnQjs7cUNBRWlCOztLQUVoQyxLQUFLO2NBQ0k7Ozs7U0FJTCxpQkFBaUI7OztlQUdYO1NBQ04sT0FBUTtPQUNULHlCQUF5QjttQkFDYjs7U0FFWCxPQUFRO2FBQ0g7SUFDVDs7O1VBR0ssT0FBUTs7OztPQUlYO0dBQ0o7R0FDQTs7cUNBRWtDO2VBQ3RCO2VBQ0E7TUFDVCx5QkFBeUI7Y0FDakI7Ozs7aUJBSUc7Ozs7Q0FJaEI7Ozs7Ozs7Ozs7cUJBVW9CLFVBQVU7MEJBQ0w7MEJBQ0E7OztrQkFHUjs7SUFFZCxpQkFBa0IsV0FBVTtjQUNsQjtHQUNWLFNBQVM7Ozs7O0dBS1QsU0FBUzs7Ozs7OztPQU9OOzs7O3dCQUlpQixRQUFRO01BQzFCO01BQ0E7O1VBRUk7Ozs7OztnQ0FNc0IsR0FBRzs0QkFDUDsyQkFDQTs7O29CQUdQLEFBQUQsUUFBVSxBQUFEO3FCQUNOOzs7OztDQUt0Qjs7Ozs7Ozs7Ozs7OzsyQkFhMEI7Q0FDMUI7d0NBQ3VDOztLQUVuQyxxQkFBcUI7S0FDckIsZUFBZTtLQUNmLGVBQWUifQ==
10283
10437
 
10284
10438
  /***/ }),
10285
10439