lilact 0.7.2 → 0.7.4
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 +5 -1
- package/dist/lilact.development.js +9966 -0
- package/dist/lilact.development.js.map +1 -0
- package/dist/lilact.development.min.js +1 -1
- package/dist/lilact.development.min.js.map +1 -1
- package/dist/lilact.production.min.js +1 -1
- package/dist/lilact.production.min.js.map +1 -1
- package/docs/assets/search.js +1 -1
- package/docs/functions/jsx.transpileJSX.html +1 -1
- package/docs/functions/misc.Fragment.html +2 -1
- package/docs/functions/transition.TransitionGroup.html +1 -1
- package/docs/index.html +4 -1
- package/docs/static/demos/switch-transition.jsx +50 -0
- package/docs/static/index.html +51 -47
- package/docs/static/lilact.development.js +9966 -0
- package/docs/static/lilact.development.min.js +1 -1
- package/docs/static/lilact.production.min.js +1 -1
- package/package.json +4 -2
- package/root/demos/switch-transition.jsx +50 -0
- package/root/index.html +51 -47
- package/root/lilact.development.js +9966 -0
- package/root/lilact.development.min.js +1 -1
- package/root/lilact.production.min.js +1 -1
- package/src/components.jsx +3 -3
- package/src/jsx.js +4 -2
- package/src/misc.jsx +2 -2
- package/src/transition.jsx +1 -0
- package/webpack.config.js +5 -5
package/docs/assets/search.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
window.searchData = "
|
|
1
|
+
window.searchData = "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";
|
|
@@ -3,4 +3,4 @@
|
|
|
3
3
|
<p>Lilact jsx parser doesn't rely on the Lilact itself, and can be used by other engines. The easiest way
|
|
4
4
|
is using the <code>bin/transpile.js</code> script. It has its own help.</p>
|
|
5
5
|
</div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">jsx</span>: <span class="tsd-signature-type">any</span></span></li><li><span><span class="tsd-kind-parameter">__namedParameters</span>: <span class="tsd-signature-symbol">{</span><br/> <span class="tsd-kind-property">appendSourcemap</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">;</span><br/> <span class="tsd-kind-property">blocks_info</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-symbol">{</span> <span class="tsd-kind-property">counter</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">;</span> <span class="tsd-kind-property">labels</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">{}</span> <span class="tsd-signature-symbol">}</span><span class="tsd-signature-symbol">;</span><br/> <span class="tsd-kind-property">discardComments</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">;</span><br/> <span class="tsd-kind-property">factory</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/> <span class="tsd-kind-property">fragment</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/> <span class="tsd-kind-property">injectTraceLabels</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">;</span><br/> <span class="tsd-kind-property">mappings</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">never</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">;</span><br/> <span class="tsd-kind-property">path</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/><span class="tsd-signature-symbol">}</span><span class="tsd-signature-symbol"> = {}</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">string</span></h4><p>The transpiled javascript code.</p>
|
|
6
|
-
<aside class="tsd-sources"><ul><li>Defined in jsx.js:
|
|
6
|
+
<aside class="tsd-sources"><ul><li>Defined in jsx.js:937</li></ul></aside></div></li></ul></section></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>
|
|
@@ -1,3 +1,4 @@
|
|
|
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>Fragment | Lilact</title><meta name="description" content="Documentation for Lilact"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script><script async src="../assets/hierarchy.js" id="tsd-hierarchy-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => window.app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><a href="../index.html" class="title">Lilact</a><div id="tsd-toolbar-links"></div><button id="tsd-search-trigger" class="tsd-widget" aria-label="Search"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-search"></use></svg></button><dialog id="tsd-search" aria-label="Search"><input role="combobox" id="tsd-search-input" aria-controls="tsd-search-results" aria-autocomplete="list" aria-expanded="true" autocapitalize="off" autocomplete="off" placeholder="Search the docs" maxLength="100"/><ul role="listbox" id="tsd-search-results"></ul><div id="tsd-search-status" aria-live="polite" aria-atomic="true"><div>Preparing search index...</div></div></dialog><a href="#" class="tsd-widget menu" id="tsd-toolbar-menu-trigger" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb" aria-label="Breadcrumb"><li><a href="../modules/misc.html">misc</a></li><li><a href="" aria-current="page">Fragment</a></li></ul><h1>Function Fragment</h1></div><section class="tsd-panel"><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="fragment"><span class="tsd-kind-call-signature">Fragment</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">children</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">{</span> <span class="tsd-kind-property">children</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">any</span> <span class="tsd-signature-symbol">}</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">any</span><a href="#fragment" 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></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Fragment helper/utility (same behavior as an array of children).</p>
|
|
2
2
|
</div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">children</span>: <span class="tsd-signature-symbol">{</span> <span class="tsd-kind-property">children</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">any</span> <span class="tsd-signature-symbol">}</span></span><div class="tsd-comment tsd-typography"><p>The nodes to group without adding an extra DOM element.</p>
|
|
3
|
-
</div></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">any</span></h4><aside class="tsd-sources"><ul><li>Defined in misc.js:90</li></ul></aside></div></li></ul></section
|
|
3
|
+
</div></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">any</span></h4><aside class="tsd-sources"><ul><li>Defined in misc.js:90</li></ul></aside></div></li></ul></section><section class="tsd-panel-group tsd-index-group"><section class="tsd-panel tsd-index-panel"><details class="tsd-index-content tsd-accordion" open><summary class="tsd-accordion-summary tsd-index-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><h5 class="tsd-index-heading uppercase">Index</h5></summary><div class="tsd-accordion-details"><section class="tsd-index-section"><h3 class="tsd-index-heading">Properties</h3><div class="tsd-index-list"><a href="#displayname" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>display<wbr/>Name</span></a>
|
|
4
|
+
</div></section></div></details></section></section><details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Properties"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h2>Properties</h2></summary><section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="displayname"><span>display<wbr/>Name</span><a href="#displayname" 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><div class="tsd-signature"><span class="tsd-kind-property">displayName</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div><aside class="tsd-sources"><ul><li>Defined in misc.js:91</li></ul></aside></section></section></details></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><details open class="tsd-accordion tsd-page-navigation"><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>On This Page</h3></summary><div class="tsd-accordion-details"><details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="section-Properties"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Properties</summary><div><a href="#displayname"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>display<wbr/>Name</span></a></div></details></div></details></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>
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
In Lilact all the transitions and timeouts are automatically grouped.</p>
|
|
3
3
|
<p>The only missing feature here is the childFactory. I may add it in
|
|
4
4
|
the future, but there are simple workarounds for that.</p>
|
|
5
|
-
</div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">__namedParameters</span>: <span class="tsd-signature-symbol">{</span> <span class="tsd-kind-property">children</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">any</span> <span class="tsd-signature-symbol">}</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">any</span></h4><aside class="tsd-sources"><ul><li>Defined in transition.js:
|
|
5
|
+
</div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">__namedParameters</span>: <span class="tsd-signature-symbol">{</span> <span class="tsd-kind-property">children</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">any</span> <span class="tsd-signature-symbol">}</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">any</span></h4><aside class="tsd-sources"><ul><li>Defined in transition.js:239</li></ul></aside></div></li></ul></section></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
|
@@ -7,10 +7,13 @@
|
|
|
7
7
|
<p>If you find Lilact useful, please consider sponsoring. Your support funds ongoing maintenance,
|
|
8
8
|
performance improvements, and new features. <a href="https://github.com/sponsors/arashkazemi">Sponsor me on GitHub</a></p>
|
|
9
9
|
<hr>
|
|
10
|
-
<p><code>Lilact</code> is
|
|
10
|
+
<p><code>Lilact</code> is a very lightweight implementation of the React API that is
|
|
11
11
|
designed to work in the browser. It can be used as a single script
|
|
12
12
|
that is around <code>80kb</code> minified and around <code>27kb</code> gzipped and includes its whole api.
|
|
13
13
|
<code>Lilact</code> is very fast, it uses minimum resources and handles memory very efficiently.</p>
|
|
14
|
+
<p><code>Lilact</code> works in the browser, so it doesn't rely on any JS/node back-end and can
|
|
15
|
+
essentially work with any kind of web server/back-end. An example of using it with a PHP/MySQL
|
|
16
|
+
data store is available on <a href="https://github.com/arashkazemi/LilactPHPDemo">LilactPHPDemo</a>.</p>
|
|
14
17
|
<p><code>Lilact</code> uses its own JSX transpiler, and not babel. It is a recursive-descent
|
|
15
18
|
parser with lookahead, but it doesn't parse the JS syntax completely and relies on the
|
|
16
19
|
JS runtime to detect some errors. The transpiler weights
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
const { useState, SwitchTransition } = Lilact;
|
|
2
|
+
|
|
3
|
+
Lilact.emotion.injectGlobal(`
|
|
4
|
+
.switchItem {
|
|
5
|
+
display: inline-flex;
|
|
6
|
+
align-items: center;
|
|
7
|
+
justify-content: center;
|
|
8
|
+
min-width: 140px;
|
|
9
|
+
padding: 10px 14px;
|
|
10
|
+
border-radius: 999px;
|
|
11
|
+
font-family: system-ui, sans-serif;
|
|
12
|
+
font-weight: 600;
|
|
13
|
+
border: 1px solid #ddd;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
.fadeSlide-enter { opacity: 0; transform: translateY(6px); }
|
|
17
|
+
.fadeSlide-enter-active { opacity: 1; transform: translateY(0); transition: opacity 300ms ease, transform 300ms ease; }
|
|
18
|
+
.fadeSlide-exit { opacity: 1; transform: translateY(0); }
|
|
19
|
+
.fadeSlide-exit-active { opacity: 0; transform: translateY(-6px); transition: opacity 300ms ease, transform 300ms ease; }
|
|
20
|
+
|
|
21
|
+
.on { background: #e8fff0; color: #0a7a2f; border-color: #a6efbb; }
|
|
22
|
+
.off { background: #fff1f1; color: #8a1f1f; border-color: #ffd0d0; }
|
|
23
|
+
|
|
24
|
+
`);
|
|
25
|
+
|
|
26
|
+
module.exports = function SwitchButton() {
|
|
27
|
+
const [on, setOn] = useState(false);
|
|
28
|
+
|
|
29
|
+
return (
|
|
30
|
+
<div style={{ padding: 16 }}>
|
|
31
|
+
<button
|
|
32
|
+
onClick={() => setOn((v) => !v)}
|
|
33
|
+
style={{ cursor: "pointer", marginBottom: 12 }}
|
|
34
|
+
>
|
|
35
|
+
Toggle
|
|
36
|
+
</button>
|
|
37
|
+
|
|
38
|
+
<SwitchTransition in={on} mode="out-in" timeout={300} classNames="fadeSlide">
|
|
39
|
+
{(inState) => (
|
|
40
|
+
<div
|
|
41
|
+
key={inState ? "on" : "off"}
|
|
42
|
+
className={`switchItem ${inState ? "on" : "off"}`}
|
|
43
|
+
>
|
|
44
|
+
{inState ? "ON" : "OFF"}
|
|
45
|
+
</div>
|
|
46
|
+
)}
|
|
47
|
+
</SwitchTransition>
|
|
48
|
+
</div>
|
|
49
|
+
);
|
|
50
|
+
}
|
package/docs/static/index.html
CHANGED
|
@@ -22,38 +22,38 @@ const { css,cx,injectGlobal } = Lilact.emotion;
|
|
|
22
22
|
const cache = new Map();
|
|
23
23
|
|
|
24
24
|
function createResource(url) {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
25
|
+
let record = cache.get(url);
|
|
26
|
+
if (!record) {
|
|
27
|
+
record = {
|
|
28
|
+
status: "pending",
|
|
29
|
+
promise: null,
|
|
30
|
+
data: null,
|
|
31
|
+
error: null,
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
record.promise = fetch(url)
|
|
35
|
+
.then(r => {
|
|
36
|
+
if (!r.ok) throw new Error(`HTTP ${r.status}`);
|
|
37
|
+
return r.text();
|
|
38
|
+
})
|
|
39
|
+
.then(data => {
|
|
40
|
+
record.status = "success";
|
|
41
|
+
record.data = data;
|
|
42
|
+
})
|
|
43
|
+
.catch(err => {
|
|
44
|
+
record.status = "error";
|
|
45
|
+
record.error = err;
|
|
46
|
+
});
|
|
47
|
+
|
|
48
|
+
cache.set(url, record);
|
|
49
|
+
}
|
|
50
|
+
return {
|
|
51
|
+
read() {
|
|
52
|
+
if (record.status === "pending") throw record.promise;
|
|
53
|
+
if (record.status === "error") throw record.error;
|
|
54
|
+
return record.data;
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
57
|
}
|
|
58
58
|
|
|
59
59
|
|
|
@@ -61,14 +61,17 @@ function createResource(url) {
|
|
|
61
61
|
injectGlobal({"*:not(code):not(code *)" : {fontFamily: "Ubuntu, 'Segoe UI', 'Noto Sans', helvetica, sans", fontSize: "14px"}});
|
|
62
62
|
|
|
63
63
|
|
|
64
|
-
injectGlobal({
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
64
|
+
injectGlobal({
|
|
65
|
+
code: {
|
|
66
|
+
whiteSpace: "pre !important",
|
|
67
|
+
padding: "10px 0",
|
|
68
|
+
fontSize: "14px !important",
|
|
69
|
+
display: "block",
|
|
70
|
+
overflowWrap: "anywhere"
|
|
71
|
+
},
|
|
72
|
+
p: {padding: "10px"},
|
|
73
|
+
body: {padding: "20px"}
|
|
74
|
+
});
|
|
72
75
|
|
|
73
76
|
const outer = css({
|
|
74
77
|
display: "flex",
|
|
@@ -112,10 +115,10 @@ function DemoView({ file })
|
|
|
112
115
|
const viewRef = useRef();
|
|
113
116
|
const codeRef = useRef();
|
|
114
117
|
|
|
115
|
-
|
|
116
|
-
|
|
118
|
+
const resource = createResource("demos/"+file[0]);
|
|
119
|
+
const code = resource.read(); // Suspense will handle the promise
|
|
117
120
|
|
|
118
|
-
|
|
121
|
+
if(isOpen) {
|
|
119
122
|
useEffect(() => {
|
|
120
123
|
const Comp = run(code, "demos/"+file[0]);
|
|
121
124
|
Lilact.render(<Comp/>, viewRef.current);
|
|
@@ -149,7 +152,7 @@ function DemoBlock({file})
|
|
|
149
152
|
{
|
|
150
153
|
return <div key={file[0]}>
|
|
151
154
|
<Suspense fallback={<Spinner/>}>
|
|
152
|
-
|
|
155
|
+
<DemoView file={file} />
|
|
153
156
|
</Suspense>
|
|
154
157
|
</div>
|
|
155
158
|
}
|
|
@@ -166,12 +169,13 @@ function App()
|
|
|
166
169
|
['proptypes.jsx', '( PropTypes )'],
|
|
167
170
|
['router.jsx', '( HashRouter, NavLink, Routes, Route, useNavigate, useLocation )'],
|
|
168
171
|
['use-deffered.jsx', '( useState, useDeferredValue )'],
|
|
169
|
-
['css-transition.jsx',
|
|
170
|
-
['
|
|
172
|
+
['css-transition.jsx', '( CSSTransition, useState, useRef )'],
|
|
173
|
+
<!-- ['switch-transition.jsx', '( SwitchTransition, useState )'], -->
|
|
171
174
|
['usetransition.jsx', '( useTransition, useState, useCallback, useId ), emotion:( css, cx )'],
|
|
175
|
+
['transition.jsx', '( useState, Transition )'],
|
|
176
|
+
['reducer.jsx', '( useReducer )'],
|
|
172
177
|
['redux.jsx', '( Provider, useSelector, useDispatch, connect ), redux:( createStore )'],
|
|
173
178
|
['suspense.jsx', '( Suspense, Spinner )'],
|
|
174
|
-
['transition.jsx', '( useState, Transition )'],
|
|
175
179
|
['lazy.jsx', '( lazy, require, Suspene, Spinner )'],
|
|
176
180
|
['form-elements.jsx', '()'],
|
|
177
181
|
['error-boundary.jsx', '( ErrorBoundary, useState )'],
|