lilact 0.7.11 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -22,12 +22,23 @@ designed to work in the browser. It can be used as a single script
22
22
  that is around `80kb` minified and around `27kb` gzipped and includes its whole api.
23
23
  `Lilact` is very fast, it uses minimal resources and handles memory very efficiently.
24
24
 
25
- `Lilact` works in the browser, so it doesn't rely on any JS/node back-end and can
26
- essentially work with any kind of web server/back-end. An example of using it with a PHP/MySQL
25
+ When used in node environment, `Lilact` can be incorporated and imported similar to React,
26
+ and it also provides a `webpack` based bundler. The bundler is in the `bin` directory, and can
27
+ be used like
28
+
29
+ lilact-bundle --entry client/App.jsx --mode production --name bundle.js --out public/dist
30
+
31
+ A complete example of a `Lilact` project with an `express` request handler is available on
32
+ [lilact-express](https://github.com/arashkazemi/lilact-express).
33
+
34
+ `Lilact` essentially works in the browser, so it doesn't rely on node environment and can
35
+ work with any kind of webserver/back-end. An example of using it with a PHP/MySQL
27
36
  data store is available on [lilact-php-demo](https://github.com/arashkazemi/lilact-php-demo).
28
37
  And an example of using it with a Python/SQLite data store is available on
29
38
  [lilact-python-demo](https://github.com/arashkazemi/lilact-python-demo).
30
39
 
40
+ ---
41
+
31
42
  `Lilact` uses its own JSX transpiler (not Babel). It is a recursive-descent
32
43
  parser with lookahead, that doesn't parse the JS syntax completely and relies on the
33
44
  JS runtime to detect some errors. The transpiler weights only a few kilobytes and can
@@ -44,31 +55,32 @@ So it has redux support and has many of the functions and hooks, i.e. `connect`
44
55
  It also includes the amazing `@emotion/css` library to ease working with styles.
45
56
  It can be accessed through `Lilact.emotion`.
46
57
 
47
- To ease working, it already includes a `HashRouter`, `CSSTransition`, `ErrorBoundary`,
58
+ To ease working, it already includes `HashRouter`, `CSSTransition`, `ErrorBoundary`,
48
59
  `Suspense`, and some helper components like `Spinner` and `ResizablePane`. It also has
49
60
  a specific timeout implementation that can be paused and resumed at will. `Lilact`'s
50
61
  `Suspense` has a few more features than the standard API.
51
62
 
52
- You can see all the available methods in the documentation. And there is a list of
53
- demos that can all be seen alongside their code at [Lilact Demo Examples](./static/index.html).
63
+ You can see all the available members and methods in the documentation. And there is a list of
64
+ demos that can all be seen alongside their code at [Lilact Demo Examples](https://arashkazemi.github.io/lilact/static).
54
65
  Just note that the modules are separated in the documentation to improve the doc
55
66
  structure, and in practice all the methods and members are accessible via the `Lilact` object
56
67
  itself directly.
57
68
 
58
- `Lilact` runs in the browser, so it uses `eval` to run the transpiled scripts, and cannot
59
- use import and exports the same as a module. So you should import the functions using the following
60
- convention
69
+ ---
70
+
71
+ If you use `Lilact` outside node environment, `Lilact` runs in the browser, so it uses `eval`
72
+ to run the transpiled scripts, and cannot use import and exports the same way as a module. So
73
+ you should import the functions using the following convention
61
74
 
62
75
  const { useState, useRef, render } = Lilact;
63
76
 
64
77
  And to export you can use `module.exports = ...`.
65
78
 
66
-
67
79
  ---
68
80
 
69
81
  To use in other node projects, install `Lilact` from npm public repository:
70
82
 
71
- npm install lilact
83
+ npm i lilact
72
84
 
73
85
  It is also available via unpkg CDN and can be included in HTML files using
74
86
 
@@ -83,18 +95,29 @@ To use in a webpage, first download the source code and extract it. The minified
83
95
  script itself is available in the `/dist` directory and the documentation
84
96
  can be found in the `/docs` and also in the source files.
85
97
 
86
- Note that the production version, like the official React API, doesn't do the proptypes
98
+ Note that the production version, like the official React API, doesn't do the PropTypes
87
99
  checks, but you can access PropTypes using Lilact.PropTypes.
88
100
 
89
- After being loaded, Lilact automatically scans the document for any scirpt elements
90
- with `type='text/jsx'` and it will run them. If the `src` attribute is set it will load
101
+ After being loaded, Lilact automatically scans the document for any script elements
102
+ with `type='text/jsx'` and it will run them. If the `src` attribute is script it will load
91
103
  the resource, and if there is inner content it will be executed. Of course this is not the
92
- only way.
104
+ only way and in node projects you can have your `jsx` files and import `Lilact` as a
105
+ standard module.
106
+
107
+ Lilact wraps the browser events to mimic React events, this mimicry is not perfect on
108
+ some edge cases, as the footprint was very important, but it works without a problem overall.
109
+
110
+ As a simple example `Lilact` can be used like this in `node` environment:
111
+
112
+ import render from "lilact";
93
113
 
94
- Lilact wraps the browser events to mimic React events, this mimicry is not perfect, as
95
- the footprint was very important, but it works fine.
114
+ function App() {
115
+ return <div>Hello World</div>;
116
+ }
117
+
118
+ render(<App/>, document.body);
96
119
 
97
- As a simple example Lilact can be used like this:
120
+ And outside `node`, i.e. in integration with `php` or `python`, it should be used this way:
98
121
 
99
122
  <!DOCTYPE html>
100
123
  <html>
@@ -116,9 +139,8 @@ As a simple example Lilact can be used like this:
116
139
  </html>
117
140
 
118
141
 
119
- To know more about using `Lilact`, see the included example and for the details
120
- see the class documentation. And of course don't forget to check the
121
- [Lilact Demo Examples](./static/index.html).
142
+ To know more about using `Lilact`, see the included examples [Lilact Demo Examples](https://arashkazemi.github.io/lilact/static)
143
+ and for the details see the documentation.
122
144
 
123
145
  `Lilact` is currently in its beta state. It is under heavy tests and improvements are
124
146
  being made. Please report any possible issues or bugs, they will be fixed
package/bin/bundle.cjs ADDED
@@ -0,0 +1,122 @@
1
+ #!/usr/bin/env node
2
+
3
+ /*
4
+
5
+ Lilact
6
+ Copyright (C) 2024-2025 Arash Kazemi <contact.arash.kazemi@gmail.com>
7
+ All rights reserved.
8
+ BSD-2-Clause
9
+
10
+ Redistribution and use in source and binary forms, with or without
11
+ modification, are permitted provided that the following conditions are met:
12
+
13
+ * Redistributions of source code must retain the above copyright
14
+ notice, this list of conditions and the following disclaimer.
15
+ * Redistributions in binary form must reproduce the above copyright
16
+ notice, this list of conditions and the following disclaimer in the
17
+ documentation and/or other materials provided with the distribution.
18
+
19
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
20
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
22
+ ARE DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY
23
+ DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
24
+ (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
25
+ LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
26
+ ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
28
+ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29
+
30
+ */
31
+
32
+ const path = require("path");
33
+ const webpack = require("webpack");
34
+
35
+
36
+ function parseArgs(argv) {
37
+ // Simple args:
38
+ // bundler --entry ./src/index.js --out ./dist/bundle
39
+ const args = {};
40
+ for (let i = 2; i < argv.length; i++) {
41
+ const k = argv[i];
42
+ if (!k.startsWith("--")) continue;
43
+ const key = k.slice(2);
44
+ const v = argv[i + 1];
45
+ i++;
46
+ args[key] = v;
47
+ }
48
+ return args;
49
+ }
50
+
51
+ async function run() {
52
+ const args = parseArgs(process.argv);
53
+
54
+ const userProjectRoot = process.cwd(); // MUST be user's project root
55
+ const userEntry = args.entry
56
+ ? path.resolve(userProjectRoot, args.entry)
57
+ : null;
58
+
59
+ if (!userEntry) {
60
+ console.error("Usage: lilact-bundler --entry ./path/to/entry.js --mode production --out ./dist/out --name bundle.js");
61
+ process.exit(1);
62
+ }
63
+
64
+ const name = args.name ?? "bundle.js";
65
+ const mode = args.mode ?? "production";
66
+
67
+ // Locate lilact root reliably (where this CLI is installed)
68
+ const lilactRoot = path.dirname(require.resolve("lilact/package.json"));
69
+
70
+ // Load config factory from your package
71
+ const configFactoryPath = path.join(lilactRoot, "webpack.config.factory.cjs");
72
+ const configFactory = require(configFactoryPath);
73
+
74
+ const userOutDir = args.out
75
+ ? path.resolve(userProjectRoot, args.out)
76
+ : path.resolve(userProjectRoot, "dist");
77
+
78
+ // Build config using a factory, then override resolution for user's project
79
+ const baseConfig = configFactory({
80
+ entry: userEntry,
81
+ outputPath: userOutDir,
82
+ userProjectRoot,
83
+ mode, name
84
+ });
85
+
86
+ // ---- Critical: ensure resolution happens from user's project ----
87
+ baseConfig.context = userProjectRoot;
88
+ baseConfig.resolve = baseConfig.resolve || {};
89
+ baseConfig.resolve.modules = [
90
+ path.join(userProjectRoot, "node_modules"),
91
+ "node_modules"
92
+ ];
93
+
94
+ const compiler = webpack(baseConfig);
95
+
96
+ compiler.run((err, stats) => {
97
+ // webpack keeps resources; close when available
98
+ compiler.close(() => {});
99
+
100
+ if (err) {
101
+ console.error(err);
102
+ process.exit(1);
103
+ }
104
+
105
+ if (stats?.hasErrors?.()) {
106
+ console.error(stats.toString("errors-only"));
107
+ process.exit(1);
108
+ }
109
+
110
+ console.log(
111
+ stats?.toString?.({
112
+ colors: true,
113
+ chunks: false
114
+ }) || "Build finished."
115
+ );
116
+ });
117
+ }
118
+
119
+ run().catch((e) => {
120
+ console.error(e);
121
+ process.exit(1);
122
+ });
package/bin/bundle.js ADDED
@@ -0,0 +1,118 @@
1
+ #!/usr/bin/env node
2
+
3
+ /*
4
+
5
+ Lilact
6
+ Copyright (C) 2024-2025 Arash Kazemi <contact.arash.kazemi@gmail.com>
7
+ All rights reserved.
8
+ BSD-2-Clause
9
+
10
+ Redistribution and use in source and binary forms, with or without
11
+ modification, are permitted provided that the following conditions are met:
12
+
13
+ * Redistributions of source code must retain the above copyright
14
+ notice, this list of conditions and the following disclaimer.
15
+ * Redistributions in binary form must reproduce the above copyright
16
+ notice, this list of conditions and the following disclaimer in the
17
+ documentation and/or other materials provided with the distribution.
18
+
19
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
20
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
22
+ ARE DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY
23
+ DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
24
+ (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
25
+ LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
26
+ ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
28
+ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29
+
30
+ */
31
+
32
+ const path = require("path");
33
+ const webpack = require("webpack");
34
+
35
+
36
+ function parseArgs(argv) {
37
+ // Simple args:
38
+ // bundler --entry ./src/index.js --out ./dist/bundle
39
+ const args = {};
40
+ for (let i = 2; i < argv.length; i++) {
41
+ const k = argv[i];
42
+ if (!k.startsWith("--")) continue;
43
+ const key = k.slice(2);
44
+ const v = argv[i + 1];
45
+ i++;
46
+ args[key] = v;
47
+ }
48
+ return args;
49
+ }
50
+
51
+ async function run() {
52
+ const args = parseArgs(process.argv);
53
+
54
+ const userProjectRoot = process.cwd(); // MUST be user's project root
55
+ const userEntry = args.entry
56
+ ? path.resolve(userProjectRoot, args.entry)
57
+ : null;
58
+
59
+ if (!userEntry) {
60
+ console.error("Usage: bundler --entry ./path/to/entry.js --out ./dist/out");
61
+ process.exit(1);
62
+ }
63
+
64
+ // Locate lilact root reliably (where this CLI is installed)
65
+ const myPackageRoot = path.dirname(require.resolve("lilact/package.json"));
66
+
67
+ // Load config factory from your package
68
+ const configFactoryPath = path.join(myPackageRoot, "webpack.config.factory.cjs");
69
+ const configFactory = require(configFactoryPath);
70
+
71
+ const userOutDir = args.out
72
+ ? path.resolve(userProjectRoot, args.out)
73
+ : path.resolve(userProjectRoot, "dist/bundle-out");
74
+
75
+ // Build config using a factory, then override resolution for user's project
76
+ const baseConfig = configFactory({
77
+ entry: userEntry,
78
+ outputPath: userOutDir,
79
+ userProjectRoot
80
+ });
81
+
82
+ // ---- Critical: ensure resolution happens from user's project ----
83
+ baseConfig.context = userProjectRoot;
84
+ baseConfig.resolve = baseConfig.resolve || {};
85
+ baseConfig.resolve.modules = [
86
+ path.join(userProjectRoot, "node_modules"),
87
+ "node_modules"
88
+ ];
89
+
90
+ const compiler = webpack(baseConfig);
91
+
92
+ compiler.run((err, stats) => {
93
+ // webpack keeps resources; close when available
94
+ compiler.close(() => {});
95
+
96
+ if (err) {
97
+ console.error(err);
98
+ process.exit(1);
99
+ }
100
+
101
+ if (stats?.hasErrors?.()) {
102
+ console.error(stats.toString("errors-only"));
103
+ process.exit(1);
104
+ }
105
+
106
+ console.log(
107
+ stats?.toString?.({
108
+ colors: true,
109
+ chunks: false
110
+ }) || "Build finished."
111
+ );
112
+ });
113
+ }
114
+
115
+ run().catch((e) => {
116
+ console.error(e);
117
+ process.exit(1);
118
+ });
@@ -59,7 +59,7 @@ ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
59
59
  THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
60
60
 
61
61
  */
62
- /******/ var __webpack_modules__ = ({
62
+ /******/ var __webpack_modules__ = ({
63
63
 
64
64
  /***/ 207:
65
65
  /*!********************!*\
@@ -1382,8 +1382,109 @@ module.exports = shouldUseNative() ? Object.assign : function (target, source) {
1382
1382
 
1383
1383
  // EXPORTS
1384
1384
  __webpack_require__.d(__webpack_exports__, {
1385
+ CSSTransition: () => (/* reexport */ CSSTransition),
1386
+ Children: () => (/* reexport */ Children),
1387
+ Component: () => (/* reexport */ Component),
1388
+ ErrorBoundary: () => (/* reexport */ ErrorBoundary),
1389
+ Fragment: () => (/* reexport */ misc_Fragment),
1390
+ HTMLComponent: () => (/* reexport */ HTMLComponent),
1391
+ HashRouter: () => (/* reexport */ HashRouter),
1385
1392
  Lilact: () => (/* binding */ lilact_Lilact),
1386
- "default": () => (/* binding */ lilact)
1393
+ Link: () => (/* reexport */ Link),
1394
+ NavLink: () => (/* reexport */ NavLink),
1395
+ PropTypes: () => (/* reexport */ (prop_types_default())),
1396
+ Provider: () => (/* reexport */ Provider),
1397
+ ResizablePane: () => (/* reexport */ ResizablePane),
1398
+ RootComponent: () => (/* reexport */ RootComponent),
1399
+ Route: () => (/* reexport */ Route),
1400
+ Routes: () => (/* reexport */ Routes),
1401
+ Spinner: () => (/* reexport */ Spinner),
1402
+ Suspense: () => (/* reexport */ Suspense),
1403
+ Transition: () => (/* reexport */ Transition),
1404
+ TransitionGroup: () => (/* reexport */ TransitionGroup),
1405
+ addWrappedEventListener: () => (/* reexport */ addWrappedEventListener),
1406
+ animationFramePromise: () => (/* reexport */ animationFramePromise),
1407
+ blocks_info: () => (/* reexport */ blocks_info),
1408
+ boolean_html_attributes_set: () => (/* reexport */ boolean_html_attributes_set),
1409
+ classNames: () => (/* reexport */ classNames),
1410
+ clearInterval: () => (/* reexport */ timers_clearInterval),
1411
+ clearTimeout: () => (/* reexport */ timers_clearTimeout),
1412
+ combineReducers: () => (/* reexport */ redux_combineReducers),
1413
+ connect: () => (/* reexport */ connect),
1414
+ createComponent: () => (/* reexport */ components_createComponent),
1415
+ createContext: () => (/* reexport */ createContext),
1416
+ createElement: () => (/* reexport */ createElement),
1417
+ createRoot: () => (/* reexport */ createRoot),
1418
+ createSyntheticEvent: () => (/* reexport */ createSyntheticEvent),
1419
+ current_component: () => (/* reexport */ current_component),
1420
+ deepEqual: () => (/* reexport */ deepEqual),
1421
+ "default": () => (/* binding */ lilact),
1422
+ emotion: () => (/* reexport */ emotion_css_development_esm_namespaceObject),
1423
+ error: () => (/* reexport */ error),
1424
+ eval_num: () => (/* reexport */ eval_num),
1425
+ events_set: () => (/* reexport */ events_set),
1426
+ findDOMNode: () => (/* reexport */ findDOMNode),
1427
+ forwardRef: () => (/* reexport */ forwardRef),
1428
+ getComponentByPointer: () => (/* reexport */ getComponentByPointer),
1429
+ globalErrorHandler: () => (/* reexport */ globalErrorHandler),
1430
+ grabTimers: () => (/* reexport */ grabTimers),
1431
+ id_num: () => (/* reexport */ id_num),
1432
+ isAsync: () => (/* reexport */ isAsync),
1433
+ isClass: () => (/* reexport */ isClass),
1434
+ isEmpty: () => (/* reexport */ isEmpty),
1435
+ isError: () => (/* reexport */ misc_isError),
1436
+ isThenable: () => (/* reexport */ isThenable),
1437
+ isValidElement: () => (/* reexport */ isValidElement),
1438
+ layout_effects: () => (/* reexport */ layout_effects),
1439
+ lazy: () => (/* reexport */ run.lazy),
1440
+ length_css_attributes_set: () => (/* reexport */ length_css_attributes_set),
1441
+ pauseTimers: () => (/* reexport */ pauseTimers),
1442
+ redux: () => (/* reexport */ redux_namespaceObject),
1443
+ releaseSyntheticEvent: () => (/* reexport */ releaseSyntheticEvent),
1444
+ releaseTimers: () => (/* reexport */ releaseTimers),
1445
+ render: () => (/* reexport */ render),
1446
+ require: () => (/* reexport */ run.require),
1447
+ required_scripts: () => (/* reexport */ required_scripts),
1448
+ resetTimers: () => (/* reexport */ resetTimers),
1449
+ resumeTimers: () => (/* reexport */ resumeTimers),
1450
+ roots: () => (/* reexport */ roots),
1451
+ run: () => (/* reexport */ run.run),
1452
+ runScripts: () => (/* reexport */ run.runScripts),
1453
+ scanBlockLabels: () => (/* reexport */ scanBlockLabels),
1454
+ setInterval: () => (/* reexport */ timers_setInterval),
1455
+ setTimeout: () => (/* reexport */ timers_setTimeout),
1456
+ shallowEqual: () => (/* reexport */ shallowEqual),
1457
+ special_attributes: () => (/* reexport */ special_attributes),
1458
+ timeoutPromise: () => (/* reexport */ timeoutPromise),
1459
+ toBool: () => (/* reexport */ toBool),
1460
+ traceError: () => (/* reexport */ traceError),
1461
+ transpileJSX: () => (/* reexport */ jsx.transpileJSX),
1462
+ transpilerConfig: () => (/* reexport */ jsx.transpilerConfig),
1463
+ update_cbs: () => (/* reexport */ update_cbs),
1464
+ update_interval_margin: () => (/* reexport */ update_interval_margin),
1465
+ update_set: () => (/* reexport */ update_set),
1466
+ update_timeout: () => (/* reexport */ update_timeout),
1467
+ useActionState: () => (/* reexport */ useActionState),
1468
+ useCallback: () => (/* reexport */ useCallback),
1469
+ useContext: () => (/* reexport */ useContext),
1470
+ useDeferredValue: () => (/* reexport */ useDeferredValue),
1471
+ useDispatch: () => (/* reexport */ useDispatch),
1472
+ useEffect: () => (/* reexport */ useEffect),
1473
+ useHook: () => (/* reexport */ useHook),
1474
+ useId: () => (/* reexport */ useId),
1475
+ useImperativeHandle: () => (/* reexport */ useImperativeHandle),
1476
+ useLayoutEffect: () => (/* reexport */ useLayoutEffect),
1477
+ useLocalStorage: () => (/* reexport */ useLocalStorage),
1478
+ useLocation: () => (/* reexport */ useLocation),
1479
+ useMemo: () => (/* reexport */ useMemo),
1480
+ useNavigate: () => (/* reexport */ useNavigate),
1481
+ useReducer: () => (/* reexport */ useReducer),
1482
+ useRef: () => (/* reexport */ useRef),
1483
+ useSelector: () => (/* reexport */ useSelector),
1484
+ useState: () => (/* reexport */ useState),
1485
+ useStore: () => (/* reexport */ useStore),
1486
+ useTransition: () => (/* reexport */ useTransition),
1487
+ wrapListener: () => (/* reexport */ wrapListener)
1387
1488
  });
1388
1489
  // ESM COMPAT FLAG
1389
1490
  __webpack_require__.r(__webpack_exports__);
@@ -8389,6 +8490,16 @@ var jsx = __webpack_require__(207);
8389
8490
 
8390
8491
 
8391
8492
 
8493
+
8494
+
8495
+
8496
+
8497
+
8498
+
8499
+
8500
+
8501
+
8502
+
8392
8503
 
8393
8504
 
8394
8505
 
@@ -8446,6 +8557,8 @@ const lilact_Lilact =
8446
8557
  }
8447
8558
 
8448
8559
  globalThis.Lilact = lilact_Lilact;
8560
+ globalThis.createComponent = lilact_Lilact.createComponent;
8561
+ globalThis.Fragment = lilact_Lilact.Fragment;
8449
8562
 
8450
8563
  document.addEventListener('DOMContentLoaded', () => {
8451
8564
  lilact_Lilact.runScripts();
@@ -8460,7 +8573,9 @@ window.addEventListener('error', (e) => {
8460
8573
 
8461
8574
  /* harmony default export */ const lilact = (lilact_Lilact);
8462
8575
 
8463
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiL1VzZXJzL2FyYXNoL0Rlc2t0b3AvUHJvamVjdHMvTGlsYWN0L3NyYy9saWxhY3QuanN4Iiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiL1VzZXJzL2FyYXNoL0Rlc2t0b3AvUHJvamVjdHMvTGlsYWN0L3NyYy9saWxhY3QuanN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLEFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O1FBa0RROztRQUVBOzs7O0NBSVA7Ozs7Ozs7O0NBUUE7Ozs7RUFJQzs7OzZCQUcyQjtpQkFDWjs7RUFFZjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFvQkE7Ozs7Ozs7OzswQkFTd0Isb0JBQXFCLE1BQU07bUJBQ2pDOzs7d0JBSUksU0FBVSxPQUFPOzBCQUNkOzs7YUFLZDthQUNBIn0=
8576
+
8577
+
8578
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiL1VzZXJzL2FyYXNoL0Rlc2t0b3AvUHJvamVjdHMvTGlsYWN0L3NyYy9saWxhY3QuanN4Iiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiL1VzZXJzL2FyYXNoL0Rlc2t0b3AvUHJvamVjdHMvTGlsYWN0L3NyYy9saWxhY3QuanN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLEFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztRQTZDUTtRQUNBOzs7UUFHQTs7Ozs7Ozs7Ozs7OztRQWFBO1FBQ0E7OztDQUdQOzs7Ozs7OztDQVFBOzs7O0VBSUM7Ozs2QkFHMkI7aUJBQ1o7O0VBRWY7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBb0JBOzs7Ozs7Ozs7OzswQkFXd0Isb0JBQXFCLE1BQU07bUJBQ2pDOzs7d0JBSUksU0FBVSxPQUFPOzBCQUNkOzs7YUFLZDthQUNBIn0=
8464
8579
 
8465
8580
  /***/ }),
8466
8581
 
@@ -10004,9 +10119,110 @@ module.exports = ReactPropTypesSecret;
10004
10119
  /******/ // Load entry module and return exports
10005
10120
  /******/ // This entry module is referenced by other modules so it can't be inlined
10006
10121
  /******/ var __webpack_exports__ = __webpack_require__(241);
10122
+ /******/ const __webpack_exports__CSSTransition = __webpack_exports__.CSSTransition;
10123
+ /******/ const __webpack_exports__Children = __webpack_exports__.Children;
10124
+ /******/ const __webpack_exports__Component = __webpack_exports__.Component;
10125
+ /******/ const __webpack_exports__ErrorBoundary = __webpack_exports__.ErrorBoundary;
10126
+ /******/ const __webpack_exports__Fragment = __webpack_exports__.Fragment;
10127
+ /******/ const __webpack_exports__HTMLComponent = __webpack_exports__.HTMLComponent;
10128
+ /******/ const __webpack_exports__HashRouter = __webpack_exports__.HashRouter;
10007
10129
  /******/ const __webpack_exports__Lilact = __webpack_exports__.Lilact;
10130
+ /******/ const __webpack_exports__Link = __webpack_exports__.Link;
10131
+ /******/ const __webpack_exports__NavLink = __webpack_exports__.NavLink;
10132
+ /******/ const __webpack_exports__PropTypes = __webpack_exports__.PropTypes;
10133
+ /******/ const __webpack_exports__Provider = __webpack_exports__.Provider;
10134
+ /******/ const __webpack_exports__ResizablePane = __webpack_exports__.ResizablePane;
10135
+ /******/ const __webpack_exports__RootComponent = __webpack_exports__.RootComponent;
10136
+ /******/ const __webpack_exports__Route = __webpack_exports__.Route;
10137
+ /******/ const __webpack_exports__Routes = __webpack_exports__.Routes;
10138
+ /******/ const __webpack_exports__Spinner = __webpack_exports__.Spinner;
10139
+ /******/ const __webpack_exports__Suspense = __webpack_exports__.Suspense;
10140
+ /******/ const __webpack_exports__Transition = __webpack_exports__.Transition;
10141
+ /******/ const __webpack_exports__TransitionGroup = __webpack_exports__.TransitionGroup;
10142
+ /******/ const __webpack_exports__addWrappedEventListener = __webpack_exports__.addWrappedEventListener;
10143
+ /******/ const __webpack_exports__animationFramePromise = __webpack_exports__.animationFramePromise;
10144
+ /******/ const __webpack_exports__blocks_info = __webpack_exports__.blocks_info;
10145
+ /******/ const __webpack_exports__boolean_html_attributes_set = __webpack_exports__.boolean_html_attributes_set;
10146
+ /******/ const __webpack_exports__classNames = __webpack_exports__.classNames;
10147
+ /******/ const __webpack_exports__clearInterval = __webpack_exports__.clearInterval;
10148
+ /******/ const __webpack_exports__clearTimeout = __webpack_exports__.clearTimeout;
10149
+ /******/ const __webpack_exports__combineReducers = __webpack_exports__.combineReducers;
10150
+ /******/ const __webpack_exports__connect = __webpack_exports__.connect;
10151
+ /******/ const __webpack_exports__createComponent = __webpack_exports__.createComponent;
10152
+ /******/ const __webpack_exports__createContext = __webpack_exports__.createContext;
10153
+ /******/ const __webpack_exports__createElement = __webpack_exports__.createElement;
10154
+ /******/ const __webpack_exports__createRoot = __webpack_exports__.createRoot;
10155
+ /******/ const __webpack_exports__createSyntheticEvent = __webpack_exports__.createSyntheticEvent;
10156
+ /******/ const __webpack_exports__current_component = __webpack_exports__.current_component;
10157
+ /******/ const __webpack_exports__deepEqual = __webpack_exports__.deepEqual;
10008
10158
  /******/ const __webpack_exports__default = __webpack_exports__["default"];
10009
- /******/ export { __webpack_exports__Lilact as Lilact, __webpack_exports__default as default };
10159
+ /******/ const __webpack_exports__emotion = __webpack_exports__.emotion;
10160
+ /******/ const __webpack_exports__error = __webpack_exports__.error;
10161
+ /******/ const __webpack_exports__eval_num = __webpack_exports__.eval_num;
10162
+ /******/ const __webpack_exports__events_set = __webpack_exports__.events_set;
10163
+ /******/ const __webpack_exports__findDOMNode = __webpack_exports__.findDOMNode;
10164
+ /******/ const __webpack_exports__forwardRef = __webpack_exports__.forwardRef;
10165
+ /******/ const __webpack_exports__getComponentByPointer = __webpack_exports__.getComponentByPointer;
10166
+ /******/ const __webpack_exports__globalErrorHandler = __webpack_exports__.globalErrorHandler;
10167
+ /******/ const __webpack_exports__grabTimers = __webpack_exports__.grabTimers;
10168
+ /******/ const __webpack_exports__id_num = __webpack_exports__.id_num;
10169
+ /******/ const __webpack_exports__isAsync = __webpack_exports__.isAsync;
10170
+ /******/ const __webpack_exports__isClass = __webpack_exports__.isClass;
10171
+ /******/ const __webpack_exports__isEmpty = __webpack_exports__.isEmpty;
10172
+ /******/ const __webpack_exports__isError = __webpack_exports__.isError;
10173
+ /******/ const __webpack_exports__isThenable = __webpack_exports__.isThenable;
10174
+ /******/ const __webpack_exports__isValidElement = __webpack_exports__.isValidElement;
10175
+ /******/ const __webpack_exports__layout_effects = __webpack_exports__.layout_effects;
10176
+ /******/ const __webpack_exports__lazy = __webpack_exports__.lazy;
10177
+ /******/ const __webpack_exports__length_css_attributes_set = __webpack_exports__.length_css_attributes_set;
10178
+ /******/ const __webpack_exports__pauseTimers = __webpack_exports__.pauseTimers;
10179
+ /******/ const __webpack_exports__redux = __webpack_exports__.redux;
10180
+ /******/ const __webpack_exports__releaseSyntheticEvent = __webpack_exports__.releaseSyntheticEvent;
10181
+ /******/ const __webpack_exports__releaseTimers = __webpack_exports__.releaseTimers;
10182
+ /******/ const __webpack_exports__render = __webpack_exports__.render;
10183
+ /******/ const __webpack_exports__require = __webpack_exports__.require;
10184
+ /******/ const __webpack_exports__required_scripts = __webpack_exports__.required_scripts;
10185
+ /******/ const __webpack_exports__resetTimers = __webpack_exports__.resetTimers;
10186
+ /******/ const __webpack_exports__resumeTimers = __webpack_exports__.resumeTimers;
10187
+ /******/ const __webpack_exports__roots = __webpack_exports__.roots;
10188
+ /******/ const __webpack_exports__run = __webpack_exports__.run;
10189
+ /******/ const __webpack_exports__runScripts = __webpack_exports__.runScripts;
10190
+ /******/ const __webpack_exports__scanBlockLabels = __webpack_exports__.scanBlockLabels;
10191
+ /******/ const __webpack_exports__setInterval = __webpack_exports__.setInterval;
10192
+ /******/ const __webpack_exports__setTimeout = __webpack_exports__.setTimeout;
10193
+ /******/ const __webpack_exports__shallowEqual = __webpack_exports__.shallowEqual;
10194
+ /******/ const __webpack_exports__special_attributes = __webpack_exports__.special_attributes;
10195
+ /******/ const __webpack_exports__timeoutPromise = __webpack_exports__.timeoutPromise;
10196
+ /******/ const __webpack_exports__toBool = __webpack_exports__.toBool;
10197
+ /******/ const __webpack_exports__traceError = __webpack_exports__.traceError;
10198
+ /******/ const __webpack_exports__transpileJSX = __webpack_exports__.transpileJSX;
10199
+ /******/ const __webpack_exports__transpilerConfig = __webpack_exports__.transpilerConfig;
10200
+ /******/ const __webpack_exports__update_cbs = __webpack_exports__.update_cbs;
10201
+ /******/ const __webpack_exports__update_interval_margin = __webpack_exports__.update_interval_margin;
10202
+ /******/ const __webpack_exports__update_set = __webpack_exports__.update_set;
10203
+ /******/ const __webpack_exports__update_timeout = __webpack_exports__.update_timeout;
10204
+ /******/ const __webpack_exports__useActionState = __webpack_exports__.useActionState;
10205
+ /******/ const __webpack_exports__useCallback = __webpack_exports__.useCallback;
10206
+ /******/ const __webpack_exports__useContext = __webpack_exports__.useContext;
10207
+ /******/ const __webpack_exports__useDeferredValue = __webpack_exports__.useDeferredValue;
10208
+ /******/ const __webpack_exports__useDispatch = __webpack_exports__.useDispatch;
10209
+ /******/ const __webpack_exports__useEffect = __webpack_exports__.useEffect;
10210
+ /******/ const __webpack_exports__useHook = __webpack_exports__.useHook;
10211
+ /******/ const __webpack_exports__useId = __webpack_exports__.useId;
10212
+ /******/ const __webpack_exports__useImperativeHandle = __webpack_exports__.useImperativeHandle;
10213
+ /******/ const __webpack_exports__useLayoutEffect = __webpack_exports__.useLayoutEffect;
10214
+ /******/ const __webpack_exports__useLocalStorage = __webpack_exports__.useLocalStorage;
10215
+ /******/ const __webpack_exports__useLocation = __webpack_exports__.useLocation;
10216
+ /******/ const __webpack_exports__useMemo = __webpack_exports__.useMemo;
10217
+ /******/ const __webpack_exports__useNavigate = __webpack_exports__.useNavigate;
10218
+ /******/ const __webpack_exports__useReducer = __webpack_exports__.useReducer;
10219
+ /******/ const __webpack_exports__useRef = __webpack_exports__.useRef;
10220
+ /******/ const __webpack_exports__useSelector = __webpack_exports__.useSelector;
10221
+ /******/ const __webpack_exports__useState = __webpack_exports__.useState;
10222
+ /******/ const __webpack_exports__useStore = __webpack_exports__.useStore;
10223
+ /******/ const __webpack_exports__useTransition = __webpack_exports__.useTransition;
10224
+ /******/ const __webpack_exports__wrapListener = __webpack_exports__.wrapListener;
10225
+ /******/ export { __webpack_exports__CSSTransition as CSSTransition, __webpack_exports__Children as Children, __webpack_exports__Component as Component, __webpack_exports__ErrorBoundary as ErrorBoundary, __webpack_exports__Fragment as Fragment, __webpack_exports__HTMLComponent as HTMLComponent, __webpack_exports__HashRouter as HashRouter, __webpack_exports__Lilact as Lilact, __webpack_exports__Link as Link, __webpack_exports__NavLink as NavLink, __webpack_exports__PropTypes as PropTypes, __webpack_exports__Provider as Provider, __webpack_exports__ResizablePane as ResizablePane, __webpack_exports__RootComponent as RootComponent, __webpack_exports__Route as Route, __webpack_exports__Routes as Routes, __webpack_exports__Spinner as Spinner, __webpack_exports__Suspense as Suspense, __webpack_exports__Transition as Transition, __webpack_exports__TransitionGroup as TransitionGroup, __webpack_exports__addWrappedEventListener as addWrappedEventListener, __webpack_exports__animationFramePromise as animationFramePromise, __webpack_exports__blocks_info as blocks_info, __webpack_exports__boolean_html_attributes_set as boolean_html_attributes_set, __webpack_exports__classNames as classNames, __webpack_exports__clearInterval as clearInterval, __webpack_exports__clearTimeout as clearTimeout, __webpack_exports__combineReducers as combineReducers, __webpack_exports__connect as connect, __webpack_exports__createComponent as createComponent, __webpack_exports__createContext as createContext, __webpack_exports__createElement as createElement, __webpack_exports__createRoot as createRoot, __webpack_exports__createSyntheticEvent as createSyntheticEvent, __webpack_exports__current_component as current_component, __webpack_exports__deepEqual as deepEqual, __webpack_exports__default as default, __webpack_exports__emotion as emotion, __webpack_exports__error as error, __webpack_exports__eval_num as eval_num, __webpack_exports__events_set as events_set, __webpack_exports__findDOMNode as findDOMNode, __webpack_exports__forwardRef as forwardRef, __webpack_exports__getComponentByPointer as getComponentByPointer, __webpack_exports__globalErrorHandler as globalErrorHandler, __webpack_exports__grabTimers as grabTimers, __webpack_exports__id_num as id_num, __webpack_exports__isAsync as isAsync, __webpack_exports__isClass as isClass, __webpack_exports__isEmpty as isEmpty, __webpack_exports__isError as isError, __webpack_exports__isThenable as isThenable, __webpack_exports__isValidElement as isValidElement, __webpack_exports__layout_effects as layout_effects, __webpack_exports__lazy as lazy, __webpack_exports__length_css_attributes_set as length_css_attributes_set, __webpack_exports__pauseTimers as pauseTimers, __webpack_exports__redux as redux, __webpack_exports__releaseSyntheticEvent as releaseSyntheticEvent, __webpack_exports__releaseTimers as releaseTimers, __webpack_exports__render as render, __webpack_exports__require as require, __webpack_exports__required_scripts as required_scripts, __webpack_exports__resetTimers as resetTimers, __webpack_exports__resumeTimers as resumeTimers, __webpack_exports__roots as roots, __webpack_exports__run as run, __webpack_exports__runScripts as runScripts, __webpack_exports__scanBlockLabels as scanBlockLabels, __webpack_exports__setInterval as setInterval, __webpack_exports__setTimeout as setTimeout, __webpack_exports__shallowEqual as shallowEqual, __webpack_exports__special_attributes as special_attributes, __webpack_exports__timeoutPromise as timeoutPromise, __webpack_exports__toBool as toBool, __webpack_exports__traceError as traceError, __webpack_exports__transpileJSX as transpileJSX, __webpack_exports__transpilerConfig as transpilerConfig, __webpack_exports__update_cbs as update_cbs, __webpack_exports__update_interval_margin as update_interval_margin, __webpack_exports__update_set as update_set, __webpack_exports__update_timeout as update_timeout, __webpack_exports__useActionState as useActionState, __webpack_exports__useCallback as useCallback, __webpack_exports__useContext as useContext, __webpack_exports__useDeferredValue as useDeferredValue, __webpack_exports__useDispatch as useDispatch, __webpack_exports__useEffect as useEffect, __webpack_exports__useHook as useHook, __webpack_exports__useId as useId, __webpack_exports__useImperativeHandle as useImperativeHandle, __webpack_exports__useLayoutEffect as useLayoutEffect, __webpack_exports__useLocalStorage as useLocalStorage, __webpack_exports__useLocation as useLocation, __webpack_exports__useMemo as useMemo, __webpack_exports__useNavigate as useNavigate, __webpack_exports__useReducer as useReducer, __webpack_exports__useRef as useRef, __webpack_exports__useSelector as useSelector, __webpack_exports__useState as useState, __webpack_exports__useStore as useStore, __webpack_exports__useTransition as useTransition, __webpack_exports__wrapListener as wrapListener };
10010
10226
  /******/
10011
10227
 
10012
10228
  //# sourceMappingURL=lilact.development.js.map