lilact 0.23.0 → 0.24.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 +19 -5
- package/dist/lilact.development.js +490 -464
- package/dist/lilact.development.js.map +4 -4
- package/dist/lilact.development.min.js +24 -24
- package/dist/lilact.development.min.js.map +4 -4
- package/dist/lilact.production.min.js +24 -24
- package/docs/assets/hierarchy.js +1 -1
- package/docs/classes/components.Component.html +1 -1
- package/docs/classes/components.HTMLComponent.html +1 -1
- package/docs/classes/components.RootComponent.html +1 -1
- package/docs/functions/components.cloneComponent.html +1 -1
- package/docs/functions/run.lazy.html +1 -1
- package/docs/functions/run.require.html +3 -4
- package/docs/functions/run.runScripts.html +1 -1
- package/docs/functions/timers.timeoutPromise.html +4 -4
- package/docs/hierarchy.html +1 -1
- package/docs/index.html +21 -5
- package/docs/static/demos/cloneelement.jsx +6 -0
- package/docs/static/demos/lazy.jsx +1 -1
- package/docs/static/demos/legacy-context.jsx +0 -7
- package/docs/static/index.html +3 -3
- package/docs/static/lilact.development.js +490 -464
- package/docs/static/lilact.development.js.map +4 -4
- package/docs/static/lilact.development.min.js +24 -24
- package/docs/static/lilact.development.min.js.map +4 -4
- package/docs/static/lilact.production.min.js +24 -24
- package/docs/variables/components.cloneElement.html +1 -1
- package/examples/demos/cloneelement.jsx +6 -0
- package/examples/demos/lazy.jsx +1 -1
- package/examples/demos/legacy-context.jsx +0 -7
- package/examples/index.html +3 -3
- package/examples/lilact.development.js +490 -464
- package/examples/lilact.development.js.map +4 -4
- package/examples/lilact.development.min.js +24 -24
- package/examples/lilact.development.min.js.map +4 -4
- package/examples/lilact.production.min.js +24 -24
- package/package.json +1 -1
- package/src/components.jsx +3 -3
- package/src/lilact.jsx +1 -1
- package/src/proptypes.jsx +38 -0
- package/src/run.jsx +10 -11
package/docs/hierarchy.html
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html class="default" lang="en" data-base="./"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>Lilact</title><meta name="description" content="Documentation for Lilact"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="assets/style.css"/><link rel="stylesheet" href="assets/highlight.css"/><script defer src="assets/main.js"></script><script async src="assets/icons.js" id="tsd-icons-script"></script><script async src="assets/search.js" id="tsd-search-script"></script><script async src="assets/navigation.js" id="tsd-nav-script"></script><script async src="assets/hierarchy.js" id="tsd-hierarchy-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => window.app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><a href="index.html" class="title">Lilact</a><div id="tsd-toolbar-links"></div><button id="tsd-search-trigger" class="tsd-widget" aria-label="Search"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-search"></use></svg></button><dialog id="tsd-search" aria-label="Search"><input role="combobox" id="tsd-search-input" aria-controls="tsd-search-results" aria-autocomplete="list" aria-expanded="true" autocapitalize="off" autocomplete="off" placeholder="Search the docs" maxLength="100"/><ul role="listbox" id="tsd-search-results"></ul><div id="tsd-search-status" aria-live="polite" aria-atomic="true"><div>Preparing search index...</div></div></dialog><a href="#" class="tsd-widget menu" id="tsd-toolbar-menu-trigger" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-menu"></use></svg></a></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><h1>Lilact</h1></div><h2>Hierarchy Summary</h2><ul class="tsd-full-hierarchy"><li data-refl="
|
|
1
|
+
<!DOCTYPE html><html class="default" lang="en" data-base="./"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>Lilact</title><meta name="description" content="Documentation for Lilact"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="assets/style.css"/><link rel="stylesheet" href="assets/highlight.css"/><script defer src="assets/main.js"></script><script async src="assets/icons.js" id="tsd-icons-script"></script><script async src="assets/search.js" id="tsd-search-script"></script><script async src="assets/navigation.js" id="tsd-nav-script"></script><script async src="assets/hierarchy.js" id="tsd-hierarchy-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => window.app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><a href="index.html" class="title">Lilact</a><div id="tsd-toolbar-links"></div><button id="tsd-search-trigger" class="tsd-widget" aria-label="Search"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-search"></use></svg></button><dialog id="tsd-search" aria-label="Search"><input role="combobox" id="tsd-search-input" aria-controls="tsd-search-results" aria-autocomplete="list" aria-expanded="true" autocapitalize="off" autocomplete="off" placeholder="Search the docs" maxLength="100"/><ul role="listbox" id="tsd-search-results"></ul><div id="tsd-search-status" aria-live="polite" aria-atomic="true"><div>Preparing search index...</div></div></dialog><a href="#" class="tsd-widget menu" id="tsd-toolbar-menu-trigger" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-menu"></use></svg></a></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><h1>Lilact</h1></div><h2>Hierarchy Summary</h2><ul class="tsd-full-hierarchy"><li data-refl="229" id="components.Component"><a href="classes/components.Component.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg>Component</a><ul><li data-refl="87" id="accessories.ErrorBoundary"><a href="classes/accessories.ErrorBoundary.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg>ErrorBoundary</a></li><li data-refl="137" id="accessories.Suspense"><a href="classes/accessories.Suspense.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg>Suspense</a></li><li data-refl="266" id="components.HTMLComponent"><a href="classes/components.HTMLComponent.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg>HTMLComponent</a><ul><li data-refl="306" id="components.RootComponent"><a href="classes/components.RootComponent.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Class"><use href="assets/icons.svg#icon-128"></use></svg>RootComponent</a></li></ul></li></ul></li></ul></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-chevronDown"></use></svg><h3>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div><div class="site-menu"><nav class="tsd-navigation"><a href="modules.html">Lilact</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
|
package/docs/index.html
CHANGED
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
<h2 id="react-apis-libraries-and-built-in-components" class="tsd-anchor-link">React APIs, Libraries, and Built-in Components<a href="#react-apis-libraries-and-built-in-components" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h2>
|
|
33
33
|
<p><code>Lilact</code> implements both the <strong>legacy class-based</strong> API and the <strong>modern hook-based</strong> API, and it includes almost everything you need.</p>
|
|
34
34
|
<p>In addition to the API itself, it bundles the official <code>Redux</code> library (see the <code>redux.jsx</code> example). As a result, it has Redux support and provides all necessary functions and hooks for working with it.</p>
|
|
35
|
-
<p>It also includes the amazing <code>@emotion/css</code> library to ease working with styles. You can access it via <code>Lilact.emotion</code>.</p>
|
|
35
|
+
<p>It also includes the amazing <code>@emotion/css</code> library to ease working with styles. You can access it via <code>Lilact.emotion</code> or by importing <code>@emotion/css</code>.</p>
|
|
36
36
|
<p>For convenience, it already includes components such as:</p>
|
|
37
37
|
<ul>
|
|
38
38
|
<li><code>HashRouter</code></li>
|
|
@@ -68,7 +68,7 @@ but in the background <code>Lilact</code> converts the ES import and exports to
|
|
|
68
68
|
</code><button type="button">Copy</button></pre>
|
|
69
69
|
|
|
70
70
|
<p>or</p>
|
|
71
|
-
<pre><code class="js"><span class="hl-3">const</span><span class="hl-1"> { </span><span class="hl-7">useState</span><span class="hl-1">, </span><span class="hl-7">useRef</span><span class="hl-1">, </span><span class="hl-7">render</span><span class="hl-1"
|
|
71
|
+
<pre><code class="js"><span class="hl-3">const</span><span class="hl-1"> { </span><span class="hl-7">useState</span><span class="hl-1">, </span><span class="hl-7">useRef</span><span class="hl-1">, </span><span class="hl-7">render</span><span class="hl-1"> } = </span><span class="hl-5">Lilact</span><span class="hl-1">;</span><br/><br/><span class="hl-3">const</span><span class="hl-1"> </span><span class="hl-7">App</span><span class="hl-1"> = </span><span class="hl-0">require</span><span class="hl-1">(</span><span class="hl-2">'./App.jsx'</span><span class="hl-1">);</span>
|
|
72
72
|
</code><button type="button">Copy</button></pre>
|
|
73
73
|
|
|
74
74
|
<p>To export:</p>
|
|
@@ -76,7 +76,7 @@ but in the background <code>Lilact</code> converts the ES import and exports to
|
|
|
76
76
|
</code><button type="button">Copy</button></pre>
|
|
77
77
|
|
|
78
78
|
<p>or</p>
|
|
79
|
-
<pre><code class="js"><span class="hl-8">module</span><span class="hl-1">.</span><span class="hl-8">exports</span><span class="hl-1"> = ...</span>
|
|
79
|
+
<pre><code class="js"><span class="hl-8">module</span><span class="hl-1">.</span><span class="hl-8">exports</span><span class="hl-1">.</span><span class="hl-5">default</span><span class="hl-1"> = ...</span>
|
|
80
80
|
</code><button type="button">Copy</button></pre>
|
|
81
81
|
|
|
82
82
|
<p>Bundled projects can also be used statically on other backends. However, bundling is not required: JSX files can be served and transpiled live.</p>
|
|
@@ -110,15 +110,31 @@ but in the background <code>Lilact</code> converts the ES import and exports to
|
|
|
110
110
|
<hr>
|
|
111
111
|
<h2 id="example" class="tsd-anchor-link">Example<a href="#example" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h2>
|
|
112
112
|
<h3 id="nodejs-example" class="tsd-anchor-link">Node.js example<a href="#nodejs-example" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h3>
|
|
113
|
-
<pre><code class="
|
|
113
|
+
<pre><code class="jsx">import { render } from "lilact";
|
|
114
|
+
|
|
115
|
+
function App() {
|
|
116
|
+
return <div>Hello World</div>;
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
render(<App/>, document.body);
|
|
114
120
|
</code><button type="button">Copy</button></pre>
|
|
115
121
|
|
|
116
122
|
<h3 id="outside-nodejs-eg-php-python-integration" class="tsd-anchor-link">Outside Node.js (e.g., PHP / Python integration)<a href="#outside-nodejs-eg-php-python-integration" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h3>
|
|
117
|
-
<pre><code class="html"><span class="hl-9"><!</span><span class="hl-10">DOCTYPE</span><span class="hl-1"> </span><span class="hl-12">html</span><span class="hl-9">></span><br/><span class="hl-9"><</span><span class="hl-10">html</span><span class="hl-9">></span><br/><span class="hl-9"><</span><span class="hl-10">head</span><span class="hl-9">></span><br/><span class="hl-1"> </span><span class="hl-9"><</span><span class="hl-10">meta</span><span class="hl-1"> </span><span class="hl-12">charset</span><span class="hl-1">=</span><span class="hl-13">"utf-8"</span><span class="hl-9">/></span><br/><span class="hl-1"> </span><span class="hl-9"><</span><span class="hl-10">title</span><span class="hl-9">></span><span class="hl-1">Lilact Demo</span><span class="hl-9"></</span><span class="hl-10">title</span><span class="hl-9">></span><br/><span class="hl-1"> </span><span class="hl-9"><</span><span class="hl-10">script</span><span class="hl-11"> </span><span class="hl-12">src</span><span class="hl-11">=</span><span class="hl-13">'./lilact.development.min.js'</span><span class="hl-11"> </span><span class="hl-12">type</span><span class="hl-11">=</span><span class="hl-13">"module"</span><span class="hl-9">></</span><span class="hl-10">script</span><span class="hl-9">></span><br/><span class="hl-9"></</span><span class="hl-10">head</span><span class="hl-9">></span><br/><span class="hl-9"><</span><span class="hl-10">body</span><span class="hl-9">></</span><span class="hl-10">body</span><span class="hl-9">></span><br/><span class="hl-9"><</span><span class="hl-10">script</span><span class="hl-11"> </span><span class="hl-12">type</span><span class="hl-11">=</span><span class="hl-13">'text/jsx'</span><span class="hl-9">></span><br/><span class="hl-11">
|
|
123
|
+
<pre><code class="html"><span class="hl-9"><!</span><span class="hl-10">DOCTYPE</span><span class="hl-1"> </span><span class="hl-12">html</span><span class="hl-9">></span><br/><span class="hl-9"><</span><span class="hl-10">html</span><span class="hl-9">></span><br/><span class="hl-9"><</span><span class="hl-10">head</span><span class="hl-9">></span><br/><span class="hl-1"> </span><span class="hl-9"><</span><span class="hl-10">meta</span><span class="hl-1"> </span><span class="hl-12">charset</span><span class="hl-1">=</span><span class="hl-13">"utf-8"</span><span class="hl-9">/></span><br/><span class="hl-1"> </span><span class="hl-9"><</span><span class="hl-10">title</span><span class="hl-9">></span><span class="hl-1">Lilact Demo</span><span class="hl-9"></</span><span class="hl-10">title</span><span class="hl-9">></span><br/><span class="hl-1"> </span><span class="hl-9"><</span><span class="hl-10">script</span><span class="hl-11"> </span><span class="hl-12">src</span><span class="hl-11">=</span><span class="hl-13">'./lilact.development.min.js'</span><span class="hl-11"> </span><span class="hl-12">type</span><span class="hl-11">=</span><span class="hl-13">"module"</span><span class="hl-9">></</span><span class="hl-10">script</span><span class="hl-9">></span><br/><span class="hl-9"></</span><span class="hl-10">head</span><span class="hl-9">></span><br/><span class="hl-9"><</span><span class="hl-10">body</span><span class="hl-9">></</span><span class="hl-10">body</span><span class="hl-9">></span><br/><span class="hl-9"><</span><span class="hl-10">script</span><span class="hl-11"> </span><span class="hl-12">type</span><span class="hl-11">=</span><span class="hl-13">'text/jsx'</span><span class="hl-9">></span><br/><span class="hl-11"> import { render } from "lilact";</span><br/><br/><span class="hl-11"> function App() {</span><br/><span class="hl-11"> return <div>Hello World</div>;</span><br/><span class="hl-11"> }</span><br/><span class="hl-11"> </span><br/><span class="hl-11"> render(<App/>, document.body);</span><br/><span class="hl-9"></</span><span class="hl-10">script</span><span class="hl-9">></span><br/><span class="hl-9"></</span><span class="hl-10">html</span><span class="hl-9">></span>
|
|
118
124
|
</code><button type="button">Copy</button></pre>
|
|
119
125
|
|
|
120
126
|
<hr>
|
|
121
127
|
<h2 id="learn-more-examples--beta-status" class="tsd-anchor-link">Learn More / Examples / Beta Status<a href="#learn-more-examples--beta-status" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h2>
|
|
128
|
+
<p><code>Lilact</code> tries to mimic <code>React</code> API as close as possible. So the <a href="https://react.dev/reference/react">Official React API Reference</a> can be used as a perfect resource. Most of its examples would work in <code>Lilact</code> with just substituting import source "react" with "lilact"! There are a few differences that are mentioned in <code>Lilact</code> documentation. You can even do:</p>
|
|
129
|
+
<pre><code class="jsx">import React from "lilact"
|
|
130
|
+
|
|
131
|
+
</code><button type="button">Copy</button></pre>
|
|
132
|
+
|
|
133
|
+
<p>And things will probably work just fine. For <code>redux</code> and <code>emotion</code> just import as you would do, <code>Lilact</code> will fix the references automatically:</p>
|
|
134
|
+
<pre><code class="jsx">import redux from "redux";
|
|
135
|
+
import emotion from "@emotion/css";
|
|
136
|
+
</code><button type="button">Copy</button></pre>
|
|
137
|
+
|
|
122
138
|
<p>To know more about using <code>Lilact</code>, see the included examples:<br>
|
|
123
139
|
<a href="https://arashkazemi.github.io/lilact/static">Lilact Examples</a></p>
|
|
124
140
|
<p>For the details, see the documentation.</p>
|
|
@@ -47,6 +47,12 @@ export default function Demo() {
|
|
|
47
47
|
<div style={{ padding: 16 }}>
|
|
48
48
|
<h2>React.cloneElement behavior</h2>
|
|
49
49
|
|
|
50
|
+
<p> This is a cloneElement example. But notice that Lilact is imported as React! </p>
|
|
51
|
+
<p> This is to show how Lilact can be easily integrated in many React projects! In fact Lilact
|
|
52
|
+
uses "Component" instead of "Element" in its names, so "cloneComponent" is its
|
|
53
|
+
main cloning function. But similar to createComponent that is aliased to createElement,
|
|
54
|
+
cloneComponent is aliased to cloneElement to be support the official React API.</p>
|
|
55
|
+
|
|
50
56
|
<div style={{ marginBottom: 16 }}>
|
|
51
57
|
<div>1) Original element (unchanged):</div>
|
|
52
58
|
{original}
|
|
@@ -1,12 +1,5 @@
|
|
|
1
|
-
// Legacy context merge/override test (JSX + your fiber)
|
|
2
|
-
// - static childContextTypes
|
|
3
|
-
// - getChildContext()
|
|
4
|
-
// - static contextTypes
|
|
5
|
-
// - instance.context available during render
|
|
6
|
-
|
|
7
1
|
import { Component, PropTypes, render } from "lilact";
|
|
8
2
|
|
|
9
|
-
|
|
10
3
|
// ----- Consumer -----
|
|
11
4
|
class Consumer extends Component {
|
|
12
5
|
static contextTypes = {
|
package/docs/static/index.html
CHANGED
|
@@ -142,8 +142,8 @@ const pane = css({ flex: "1 1 0",
|
|
|
142
142
|
}
|
|
143
143
|
});
|
|
144
144
|
|
|
145
|
-
const left = css({ float: "left" });
|
|
146
|
-
const right = css({ float: "right" });
|
|
145
|
+
const left = css({ float: "left", textAlign: "left" });
|
|
146
|
+
const right = css({ float: "right", textAlign: "right" });
|
|
147
147
|
const demobox = css({ background: "#fff3", borderRadius: "15px", padding: "4px 2px", margin: "4px"});
|
|
148
148
|
|
|
149
149
|
|
|
@@ -231,7 +231,7 @@ function App()
|
|
|
231
231
|
['lazy.jsx', 'Lazy Loading ( lazy, require, Suspene, Spinner )'],
|
|
232
232
|
['proptypes.jsx', 'PropTypes Validation'],
|
|
233
233
|
['legacy-context.jsx', 'Legacy Context API'],
|
|
234
|
-
['redux.jsx', 'Redux and
|
|
234
|
+
['redux.jsx', 'Redux and Dispatch ( Provider, useSelector, useDispatch, connect ), redux:( createStore )'],
|
|
235
235
|
['transition.jsx', 'Transition States ( useState, Transition )'],
|
|
236
236
|
['cloneelement.jsx', 'Cloning Components ( cloneElement, import as React )'],
|
|
237
237
|
|