lego-dom 0.0.5 → 0.0.8
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/.github/workflows/deploy-docs.yml +56 -0
- package/LICENSE +21 -0
- package/README.md +298 -355
- package/docs/.vitepress/config.js +107 -0
- package/docs/.vitepress/dist/404.html +22 -0
- package/docs/.vitepress/dist/api/define.html +35 -0
- package/docs/.vitepress/dist/api/directives.html +32 -0
- package/docs/.vitepress/dist/api/globals.html +27 -0
- package/docs/.vitepress/dist/api/index.html +25 -0
- package/docs/.vitepress/dist/api/lifecycle.html +38 -0
- package/docs/.vitepress/dist/api/route.html +34 -0
- package/docs/.vitepress/dist/api/vite-plugin.html +37 -0
- package/docs/.vitepress/dist/assets/api_define.md.UA-ygUnQ.js +11 -0
- package/docs/.vitepress/dist/assets/api_define.md.UA-ygUnQ.lean.js +1 -0
- package/docs/.vitepress/dist/assets/api_directives.md.BV-D251p.js +8 -0
- package/docs/.vitepress/dist/assets/api_directives.md.BV-D251p.lean.js +1 -0
- package/docs/.vitepress/dist/assets/api_globals.md.DOjt7AV0.js +3 -0
- package/docs/.vitepress/dist/assets/api_globals.md.DOjt7AV0.lean.js +1 -0
- package/docs/.vitepress/dist/assets/api_index.md.OS6h01ct.js +1 -0
- package/docs/.vitepress/dist/assets/api_index.md.OS6h01ct.lean.js +1 -0
- package/docs/.vitepress/dist/assets/api_lifecycle.md.Ccm5xw6-.js +14 -0
- package/docs/.vitepress/dist/assets/api_lifecycle.md.Ccm5xw6-.lean.js +1 -0
- package/docs/.vitepress/dist/assets/api_route.md.CAHf_KNp.js +10 -0
- package/docs/.vitepress/dist/assets/api_route.md.CAHf_KNp.lean.js +1 -0
- package/docs/.vitepress/dist/assets/api_vite-plugin.md.DNn9VhL5.js +13 -0
- package/docs/.vitepress/dist/assets/api_vite-plugin.md.DNn9VhL5.lean.js +1 -0
- package/docs/.vitepress/dist/assets/app.BG5s3B0P.js +1 -0
- package/docs/.vitepress/dist/assets/chunks/@localSearchIndexroot.DQmuWC2Z.js +1 -0
- package/docs/.vitepress/dist/assets/chunks/VPLocalSearchBox.BO-PSxt1.js +9 -0
- package/docs/.vitepress/dist/assets/chunks/framework.B7OFBR9X.js +19 -0
- package/docs/.vitepress/dist/assets/chunks/theme.DA-iSa9B.js +2 -0
- package/docs/.vitepress/dist/assets/examples_form.md.B3stGKbu.js +34 -0
- package/docs/.vitepress/dist/assets/examples_form.md.B3stGKbu.lean.js +1 -0
- package/docs/.vitepress/dist/assets/examples_index.md.BDEG_D4J.js +30 -0
- package/docs/.vitepress/dist/assets/examples_index.md.BDEG_D4J.lean.js +1 -0
- package/docs/.vitepress/dist/assets/examples_routing.md.bqZ9DjDK.js +338 -0
- package/docs/.vitepress/dist/assets/examples_routing.md.bqZ9DjDK.lean.js +1 -0
- package/docs/.vitepress/dist/assets/examples_sfc-showcase.md.DLXaUiop.js +13 -0
- package/docs/.vitepress/dist/assets/examples_sfc-showcase.md.DLXaUiop.lean.js +1 -0
- package/docs/.vitepress/dist/assets/examples_todo-app.md.D5RhZoo5.js +297 -0
- package/docs/.vitepress/dist/assets/examples_todo-app.md.D5RhZoo5.lean.js +1 -0
- package/docs/.vitepress/dist/assets/guide_cdn-usage.md.CAjf03Lr.js +182 -0
- package/docs/.vitepress/dist/assets/guide_cdn-usage.md.CAjf03Lr.lean.js +1 -0
- package/docs/.vitepress/dist/assets/guide_components.md.BIFWF1Hc.js +174 -0
- package/docs/.vitepress/dist/assets/guide_components.md.BIFWF1Hc.lean.js +1 -0
- package/docs/.vitepress/dist/assets/guide_contributing.md.BgbUN-Mr.js +1 -0
- package/docs/.vitepress/dist/assets/guide_contributing.md.BgbUN-Mr.lean.js +1 -0
- package/docs/.vitepress/dist/assets/guide_directives.md.Bi3ynu1d.js +140 -0
- package/docs/.vitepress/dist/assets/guide_directives.md.Bi3ynu1d.lean.js +1 -0
- package/docs/.vitepress/dist/assets/guide_getting-started.md.2Nr1lp2z.js +107 -0
- package/docs/.vitepress/dist/assets/guide_getting-started.md.2Nr1lp2z.lean.js +1 -0
- package/docs/.vitepress/dist/assets/guide_index.md.GvZq_Yf2.js +2 -0
- package/docs/.vitepress/dist/assets/guide_index.md.GvZq_Yf2.lean.js +1 -0
- package/docs/.vitepress/dist/assets/guide_lifecycle.md.B28j1OzS.js +304 -0
- package/docs/.vitepress/dist/assets/guide_lifecycle.md.B28j1OzS.lean.js +1 -0
- package/docs/.vitepress/dist/assets/guide_quick-start.md.CNk3VGTF.js +33 -0
- package/docs/.vitepress/dist/assets/guide_quick-start.md.CNk3VGTF.lean.js +1 -0
- package/docs/.vitepress/dist/assets/guide_reactivity.md.CVsaMaPv.js +135 -0
- package/docs/.vitepress/dist/assets/guide_reactivity.md.CVsaMaPv.lean.js +1 -0
- package/docs/.vitepress/dist/assets/guide_routing.md.DSpDP25o.js +193 -0
- package/docs/.vitepress/dist/assets/guide_routing.md.DSpDP25o.lean.js +1 -0
- package/docs/.vitepress/dist/assets/guide_sfc.md.CVUP66tS.js +187 -0
- package/docs/.vitepress/dist/assets/guide_sfc.md.CVUP66tS.lean.js +1 -0
- package/docs/.vitepress/dist/assets/guide_templating.md.BgCGe4aa.js +119 -0
- package/docs/.vitepress/dist/assets/guide_templating.md.BgCGe4aa.lean.js +1 -0
- package/docs/.vitepress/dist/assets/index.md.xV1taCED.js +23 -0
- package/docs/.vitepress/dist/assets/index.md.xV1taCED.lean.js +1 -0
- package/docs/.vitepress/dist/assets/inter-italic-cyrillic-ext.r48I6akx.woff2 +0 -0
- package/docs/.vitepress/dist/assets/inter-italic-cyrillic.By2_1cv3.woff2 +0 -0
- package/docs/.vitepress/dist/assets/inter-italic-greek-ext.1u6EdAuj.woff2 +0 -0
- package/docs/.vitepress/dist/assets/inter-italic-greek.DJ8dCoTZ.woff2 +0 -0
- package/docs/.vitepress/dist/assets/inter-italic-latin-ext.CN1xVJS-.woff2 +0 -0
- package/docs/.vitepress/dist/assets/inter-italic-latin.C2AdPX0b.woff2 +0 -0
- package/docs/.vitepress/dist/assets/inter-italic-vietnamese.BSbpV94h.woff2 +0 -0
- package/docs/.vitepress/dist/assets/inter-roman-cyrillic-ext.BBPuwvHQ.woff2 +0 -0
- package/docs/.vitepress/dist/assets/inter-roman-cyrillic.C5lxZ8CY.woff2 +0 -0
- package/docs/.vitepress/dist/assets/inter-roman-greek-ext.CqjqNYQ-.woff2 +0 -0
- package/docs/.vitepress/dist/assets/inter-roman-greek.BBVDIX6e.woff2 +0 -0
- package/docs/.vitepress/dist/assets/inter-roman-latin-ext.4ZJIpNVo.woff2 +0 -0
- package/docs/.vitepress/dist/assets/inter-roman-latin.Di8DUHzh.woff2 +0 -0
- package/docs/.vitepress/dist/assets/inter-roman-vietnamese.BjW4sHH5.woff2 +0 -0
- package/docs/.vitepress/dist/assets/style.eycE2Jhw.css +1 -0
- package/docs/.vitepress/dist/examples/form.html +58 -0
- package/docs/.vitepress/dist/examples/index.html +368 -0
- package/docs/.vitepress/dist/examples/routing.html +362 -0
- package/docs/.vitepress/dist/examples/sfc-showcase.html +37 -0
- package/docs/.vitepress/dist/examples/todo-app.html +321 -0
- package/docs/.vitepress/dist/guide/cdn-usage.html +206 -0
- package/docs/.vitepress/dist/guide/components.html +198 -0
- package/docs/.vitepress/dist/guide/contributing.html +25 -0
- package/docs/.vitepress/dist/guide/directives.html +164 -0
- package/docs/.vitepress/dist/guide/getting-started.html +131 -0
- package/docs/.vitepress/dist/guide/index.html +26 -0
- package/docs/.vitepress/dist/guide/lifecycle.html +328 -0
- package/docs/.vitepress/dist/guide/quick-start.html +57 -0
- package/docs/.vitepress/dist/guide/reactivity.html +159 -0
- package/docs/.vitepress/dist/guide/routing.html +217 -0
- package/docs/.vitepress/dist/guide/sfc.html +211 -0
- package/docs/.vitepress/dist/guide/templating.html +143 -0
- package/docs/.vitepress/dist/hashmap.json +1 -0
- package/docs/.vitepress/dist/index.html +47 -0
- package/docs/.vitepress/dist/logo.svg +38 -0
- package/docs/.vitepress/dist/vp-icons.css +1 -0
- package/docs/api/define.md +31 -0
- package/docs/api/directives.md +42 -0
- package/docs/api/globals.md +29 -0
- package/docs/api/index.md +29 -0
- package/docs/api/lifecycle.md +40 -0
- package/docs/api/route.md +37 -0
- package/docs/api/vite-plugin.md +58 -0
- package/docs/examples/form.md +42 -0
- package/docs/examples/index.md +104 -0
- package/docs/examples/routing.md +409 -0
- package/docs/examples/sfc-showcase.md +34 -0
- package/docs/examples/todo-app.md +383 -0
- package/docs/guide/cdn-usage.md +320 -0
- package/docs/guide/components.md +394 -0
- package/docs/guide/contributing.md +32 -0
- package/docs/guide/directives.md +430 -0
- package/docs/guide/getting-started.md +233 -0
- package/docs/guide/index.md +88 -0
- package/docs/guide/lifecycle.md +493 -0
- package/docs/guide/quick-start.md +46 -0
- package/docs/guide/reactivity.md +394 -0
- package/docs/guide/routing.md +373 -0
- package/docs/guide/sfc.md +381 -0
- package/docs/guide/templating.md +383 -0
- package/docs/index.md +126 -0
- package/docs/public/logo.svg +38 -0
- package/examples/vite-app/README.md +71 -0
- package/examples/vite-app/index.html +45 -0
- package/examples/vite-app/package.json +16 -0
- package/examples/vite-app/src/components/greeting-card.lego +41 -0
- package/examples/vite-app/src/components/sample-component.lego +75 -0
- package/examples/vite-app/src/main.js +11 -0
- package/examples/vite-app/vite.config.js +16 -0
- package/examples.js +99 -0
- package/package.json +34 -7
- package/parse-lego.js +119 -0
- package/parse-lego.test.js +107 -0
- package/vite-plugin.js +133 -0
- package/.ignore/auto.html +0 -135
- package/.ignore/test.html +0 -73
|
@@ -0,0 +1,368 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en-US" dir="ltr">
|
|
3
|
+
|
|
4
|
+
<head>
|
|
5
|
+
<meta charset="utf-8">
|
|
6
|
+
<meta name="viewport" content="width=device-width,initial-scale=1">
|
|
7
|
+
<title>Examples | LegoJS</title>
|
|
8
|
+
<meta name="description" content="A tiny, zero-dependency JavaScript library for building reactive Web Components">
|
|
9
|
+
<meta name="generator" content="VitePress v1.6.4">
|
|
10
|
+
<link rel="preload stylesheet" href="/LegoJS/assets/style.eycE2Jhw.css" as="style">
|
|
11
|
+
<link rel="preload stylesheet" href="/LegoJS/vp-icons.css" as="style">
|
|
12
|
+
|
|
13
|
+
<script type="module" src="/LegoJS/assets/app.BG5s3B0P.js"></script>
|
|
14
|
+
<link rel="preload" href="/LegoJS/assets/inter-roman-latin.Di8DUHzh.woff2" as="font" type="font/woff2" crossorigin="">
|
|
15
|
+
<link rel="modulepreload" href="/LegoJS/assets/chunks/theme.DA-iSa9B.js">
|
|
16
|
+
<link rel="modulepreload" href="/LegoJS/assets/chunks/framework.B7OFBR9X.js">
|
|
17
|
+
<link rel="modulepreload" href="/LegoJS/assets/examples_index.md.BDEG_D4J.lean.js">
|
|
18
|
+
<script
|
|
19
|
+
id="check-dark-mode">(() => { const e = localStorage.getItem("vitepress-theme-appearance") || "auto", a = window.matchMedia("(prefers-color-scheme: dark)").matches; (!e || e === "auto" ? a : e === "dark") && document.documentElement.classList.add("dark") })();</script>
|
|
20
|
+
<script
|
|
21
|
+
id="check-mac-os">document.documentElement.classList.toggle("mac", /Mac|iPhone|iPod|iPad/i.test(navigator.platform));</script>
|
|
22
|
+
</head>
|
|
23
|
+
|
|
24
|
+
<body>
|
|
25
|
+
<div id="app">
|
|
26
|
+
<div class="Layout" data-v-5d98c3a5><!--[--><!--]--><!--[--><span tabindex="-1" data-v-0b0ada53></span><a
|
|
27
|
+
href="#VPContent" class="VPSkipLink visually-hidden" data-v-0b0ada53>Skip to content</a><!--]--><!---->
|
|
28
|
+
<header class="VPNav" data-v-5d98c3a5 data-v-ae24b3ad>
|
|
29
|
+
<div class="VPNavBar" data-v-ae24b3ad data-v-6aa21345>
|
|
30
|
+
<div class="wrapper" data-v-6aa21345>
|
|
31
|
+
<div class="container" data-v-6aa21345>
|
|
32
|
+
<div class="title" data-v-6aa21345>
|
|
33
|
+
<div class="VPNavBarTitle has-sidebar" data-v-6aa21345 data-v-1168a8e4><a class="title" href="/LegoJS/"
|
|
34
|
+
data-v-1168a8e4><!--[--><!--]--><!--[--><img class="VPImage logo" src="/LegoJS/logo.svg" alt
|
|
35
|
+
data-v-8426fc1a><!--]--><span data-v-1168a8e4>LegoJS</span><!--[--><!--]--></a></div>
|
|
36
|
+
</div>
|
|
37
|
+
<div class="content" data-v-6aa21345>
|
|
38
|
+
<div class="content-body" data-v-6aa21345><!--[--><!--]-->
|
|
39
|
+
<div class="VPNavBarSearch search" data-v-6aa21345><!--[--><!---->
|
|
40
|
+
<div id="local-search"><button type="button" class="DocSearch DocSearch-Button"
|
|
41
|
+
aria-label="Search"><span class="DocSearch-Button-Container"><span
|
|
42
|
+
class="vp-icon DocSearch-Search-Icon"></span><span
|
|
43
|
+
class="DocSearch-Button-Placeholder">Search</span></span><span
|
|
44
|
+
class="DocSearch-Button-Keys"><kbd class="DocSearch-Button-Key"></kbd><kbd
|
|
45
|
+
class="DocSearch-Button-Key">K</kbd></span></button></div><!--]-->
|
|
46
|
+
</div>
|
|
47
|
+
<nav aria-labelledby="main-nav-aria-label" class="VPNavBarMenu menu" data-v-6aa21345 data-v-dc692963>
|
|
48
|
+
<span id="main-nav-aria-label" class="visually-hidden" data-v-dc692963> Main Navigation
|
|
49
|
+
</span><!--[--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/LegoJS/guide/" tabindex="0"
|
|
50
|
+
data-v-dc692963 data-v-e56f3d57><!--[--><span
|
|
51
|
+
data-v-e56f3d57>Guide</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink"
|
|
52
|
+
href="/LegoJS/api/" tabindex="0" data-v-dc692963 data-v-e56f3d57><!--[--><span
|
|
53
|
+
data-v-e56f3d57>API</span><!--]--></a><!--]--><!--[--><a
|
|
54
|
+
class="VPLink link VPNavBarMenuLink active" href="/LegoJS/examples/" tabindex="0" data-v-dc692963
|
|
55
|
+
data-v-e56f3d57><!--[--><span data-v-e56f3d57>Examples</span><!--]--></a><!--]--><!--[-->
|
|
56
|
+
<div class="VPFlyout VPNavBarMenuGroup" data-v-dc692963 data-v-cf11d7a2><button type="button"
|
|
57
|
+
class="button" aria-haspopup="true" aria-expanded="false" data-v-cf11d7a2><span class="text"
|
|
58
|
+
data-v-cf11d7a2><!----><span data-v-cf11d7a2>v0.0.7</span><span
|
|
59
|
+
class="vpi-chevron-down text-icon" data-v-cf11d7a2></span></span></button>
|
|
60
|
+
<div class="menu" data-v-cf11d7a2>
|
|
61
|
+
<div class="VPMenu" data-v-cf11d7a2 data-v-b98bc113>
|
|
62
|
+
<div class="items" data-v-b98bc113><!--[--><!--[-->
|
|
63
|
+
<div class="VPMenuLink" data-v-b98bc113 data-v-35975db6><a
|
|
64
|
+
class="VPLink link vp-external-link-icon"
|
|
65
|
+
href="https://github.com/rayattack/LegoJS/releases" target="_blank" rel="noreferrer"
|
|
66
|
+
data-v-35975db6><!--[--><span data-v-35975db6>Changelog</span><!--]--></a></div>
|
|
67
|
+
<!--]--><!--]-->
|
|
68
|
+
</div><!--[--><!--]-->
|
|
69
|
+
</div>
|
|
70
|
+
</div>
|
|
71
|
+
</div><!--]--><!--]-->
|
|
72
|
+
</nav><!---->
|
|
73
|
+
<div class="VPNavBarAppearance appearance" data-v-6aa21345 data-v-6c893767><button
|
|
74
|
+
class="VPSwitch VPSwitchAppearance" type="button" role="switch" title aria-checked="false"
|
|
75
|
+
data-v-6c893767 data-v-5337faa4 data-v-1d5665e3><span class="check" data-v-1d5665e3><span
|
|
76
|
+
class="icon" data-v-1d5665e3><!--[--><span class="vpi-sun sun" data-v-5337faa4></span><span
|
|
77
|
+
class="vpi-moon moon" data-v-5337faa4></span><!--]--></span></span></button></div>
|
|
78
|
+
<div class="VPSocialLinks VPNavBarSocialLinks social-links" data-v-6aa21345 data-v-0394ad82
|
|
79
|
+
data-v-7bc22406><!--[--><a class="VPSocialLink no-icon" href="https://github.com/rayattack/LegoJS"
|
|
80
|
+
aria-label="github" target="_blank" rel="noopener" data-v-7bc22406 data-v-bd121fe5><span
|
|
81
|
+
class="vpi-social-github"></span></a><!--]--></div>
|
|
82
|
+
<div class="VPFlyout VPNavBarExtra extra" data-v-6aa21345 data-v-bb2aa2f0 data-v-cf11d7a2><button
|
|
83
|
+
type="button" class="button" aria-haspopup="true" aria-expanded="false"
|
|
84
|
+
aria-label="extra navigation" data-v-cf11d7a2><span class="vpi-more-horizontal icon"
|
|
85
|
+
data-v-cf11d7a2></span></button>
|
|
86
|
+
<div class="menu" data-v-cf11d7a2>
|
|
87
|
+
<div class="VPMenu" data-v-cf11d7a2 data-v-b98bc113><!----><!--[--><!--[--><!---->
|
|
88
|
+
<div class="group" data-v-bb2aa2f0>
|
|
89
|
+
<div class="item appearance" data-v-bb2aa2f0>
|
|
90
|
+
<p class="label" data-v-bb2aa2f0>Appearance</p>
|
|
91
|
+
<div class="appearance-action" data-v-bb2aa2f0><button class="VPSwitch VPSwitchAppearance"
|
|
92
|
+
type="button" role="switch" title aria-checked="false" data-v-bb2aa2f0 data-v-5337faa4
|
|
93
|
+
data-v-1d5665e3><span class="check" data-v-1d5665e3><span class="icon"
|
|
94
|
+
data-v-1d5665e3><!--[--><span class="vpi-sun sun" data-v-5337faa4></span><span
|
|
95
|
+
class="vpi-moon moon" data-v-5337faa4></span><!--]--></span></span></button></div>
|
|
96
|
+
</div>
|
|
97
|
+
</div>
|
|
98
|
+
<div class="group" data-v-bb2aa2f0>
|
|
99
|
+
<div class="item social-links" data-v-bb2aa2f0>
|
|
100
|
+
<div class="VPSocialLinks social-links-list" data-v-bb2aa2f0 data-v-7bc22406><!--[--><a
|
|
101
|
+
class="VPSocialLink no-icon" href="https://github.com/rayattack/LegoJS"
|
|
102
|
+
aria-label="github" target="_blank" rel="noopener" data-v-7bc22406 data-v-bd121fe5><span
|
|
103
|
+
class="vpi-social-github"></span></a><!--]--></div>
|
|
104
|
+
</div>
|
|
105
|
+
</div><!--]--><!--]-->
|
|
106
|
+
</div>
|
|
107
|
+
</div>
|
|
108
|
+
</div><!--[--><!--]--><button type="button" class="VPNavBarHamburger hamburger"
|
|
109
|
+
aria-label="mobile navigation" aria-expanded="false" aria-controls="VPNavScreen" data-v-6aa21345
|
|
110
|
+
data-v-e5dd9c1c><span class="container" data-v-e5dd9c1c><span class="top"
|
|
111
|
+
data-v-e5dd9c1c></span><span class="middle" data-v-e5dd9c1c></span><span class="bottom"
|
|
112
|
+
data-v-e5dd9c1c></span></span></button>
|
|
113
|
+
</div>
|
|
114
|
+
</div>
|
|
115
|
+
</div>
|
|
116
|
+
</div>
|
|
117
|
+
<div class="divider" data-v-6aa21345>
|
|
118
|
+
<div class="divider-line" data-v-6aa21345></div>
|
|
119
|
+
</div>
|
|
120
|
+
</div><!---->
|
|
121
|
+
</header>
|
|
122
|
+
<div class="VPLocalNav has-sidebar empty" data-v-5d98c3a5 data-v-a6f0e41e>
|
|
123
|
+
<div class="container" data-v-a6f0e41e><button class="menu" aria-expanded="false" aria-controls="VPSidebarNav"
|
|
124
|
+
data-v-a6f0e41e><span class="vpi-align-left menu-icon" data-v-a6f0e41e></span><span class="menu-text"
|
|
125
|
+
data-v-a6f0e41e>Menu</span></button>
|
|
126
|
+
<div class="VPLocalNavOutlineDropdown" style="--vp-vh:0px;" data-v-a6f0e41e data-v-8a42e2b4><button
|
|
127
|
+
data-v-8a42e2b4>Return to top</button><!----></div>
|
|
128
|
+
</div>
|
|
129
|
+
</div>
|
|
130
|
+
<aside class="VPSidebar" data-v-5d98c3a5 data-v-319d5ca6>
|
|
131
|
+
<div class="curtain" data-v-319d5ca6></div>
|
|
132
|
+
<nav class="nav" id="VPSidebarNav" aria-labelledby="sidebar-aria-label" tabindex="-1" data-v-319d5ca6><span
|
|
133
|
+
class="visually-hidden" id="sidebar-aria-label" data-v-319d5ca6> Sidebar Navigation
|
|
134
|
+
</span><!--[--><!--]--><!--[-->
|
|
135
|
+
<div class="no-transition group" data-v-c40bc020>
|
|
136
|
+
<section class="VPSidebarItem level-0 has-active" data-v-c40bc020 data-v-b3fd67f8>
|
|
137
|
+
<div class="item" role="button" tabindex="0" data-v-b3fd67f8>
|
|
138
|
+
<div class="indicator" data-v-b3fd67f8></div>
|
|
139
|
+
<h2 class="text" data-v-b3fd67f8>Examples</h2><!---->
|
|
140
|
+
</div>
|
|
141
|
+
<div class="items" data-v-b3fd67f8><!--[-->
|
|
142
|
+
<div class="VPSidebarItem level-1 is-link" data-v-b3fd67f8 data-v-b3fd67f8>
|
|
143
|
+
<div class="item" data-v-b3fd67f8>
|
|
144
|
+
<div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/LegoJS/examples/"
|
|
145
|
+
data-v-b3fd67f8><!--[-->
|
|
146
|
+
<p class="text" data-v-b3fd67f8>Overview</p><!--]-->
|
|
147
|
+
</a><!---->
|
|
148
|
+
</div><!---->
|
|
149
|
+
</div>
|
|
150
|
+
<div class="VPSidebarItem level-1 is-link" data-v-b3fd67f8 data-v-b3fd67f8>
|
|
151
|
+
<div class="item" data-v-b3fd67f8>
|
|
152
|
+
<div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link"
|
|
153
|
+
href="/LegoJS/examples/todo-app.html" data-v-b3fd67f8><!--[-->
|
|
154
|
+
<p class="text" data-v-b3fd67f8>Todo App</p><!--]-->
|
|
155
|
+
</a><!---->
|
|
156
|
+
</div><!---->
|
|
157
|
+
</div>
|
|
158
|
+
<div class="VPSidebarItem level-1 is-link" data-v-b3fd67f8 data-v-b3fd67f8>
|
|
159
|
+
<div class="item" data-v-b3fd67f8>
|
|
160
|
+
<div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link"
|
|
161
|
+
href="/LegoJS/examples/routing.html" data-v-b3fd67f8><!--[-->
|
|
162
|
+
<p class="text" data-v-b3fd67f8>Routing Demo</p><!--]-->
|
|
163
|
+
</a><!---->
|
|
164
|
+
</div><!---->
|
|
165
|
+
</div>
|
|
166
|
+
<div class="VPSidebarItem level-1 is-link" data-v-b3fd67f8 data-v-b3fd67f8>
|
|
167
|
+
<div class="item" data-v-b3fd67f8>
|
|
168
|
+
<div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link"
|
|
169
|
+
href="/LegoJS/examples/sfc-showcase.html" data-v-b3fd67f8><!--[-->
|
|
170
|
+
<p class="text" data-v-b3fd67f8>SFC Showcase</p><!--]-->
|
|
171
|
+
</a><!---->
|
|
172
|
+
</div><!---->
|
|
173
|
+
</div>
|
|
174
|
+
<div class="VPSidebarItem level-1 is-link" data-v-b3fd67f8 data-v-b3fd67f8>
|
|
175
|
+
<div class="item" data-v-b3fd67f8>
|
|
176
|
+
<div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link"
|
|
177
|
+
href="/LegoJS/examples/form.html" data-v-b3fd67f8><!--[-->
|
|
178
|
+
<p class="text" data-v-b3fd67f8>Form Validation</p><!--]-->
|
|
179
|
+
</a><!---->
|
|
180
|
+
</div><!---->
|
|
181
|
+
</div><!--]-->
|
|
182
|
+
</div>
|
|
183
|
+
</section>
|
|
184
|
+
</div><!--]--><!--[--><!--]-->
|
|
185
|
+
</nav>
|
|
186
|
+
</aside>
|
|
187
|
+
<div class="VPContent has-sidebar" id="VPContent" data-v-5d98c3a5 data-v-1428d186>
|
|
188
|
+
<div class="VPDoc has-sidebar has-aside" data-v-1428d186 data-v-39a288b8><!--[--><!--]-->
|
|
189
|
+
<div class="container" data-v-39a288b8>
|
|
190
|
+
<div class="aside" data-v-39a288b8>
|
|
191
|
+
<div class="aside-curtain" data-v-39a288b8></div>
|
|
192
|
+
<div class="aside-container" data-v-39a288b8>
|
|
193
|
+
<div class="aside-content" data-v-39a288b8>
|
|
194
|
+
<div class="VPDocAside" data-v-39a288b8 data-v-3f215769><!--[--><!--]--><!--[--><!--]-->
|
|
195
|
+
<nav aria-labelledby="doc-outline-aria-label" class="VPDocAsideOutline" data-v-3f215769
|
|
196
|
+
data-v-a5bbad30>
|
|
197
|
+
<div class="content" data-v-a5bbad30>
|
|
198
|
+
<div class="outline-marker" data-v-a5bbad30></div>
|
|
199
|
+
<div aria-level="2" class="outline-title" id="doc-outline-aria-label" role="heading"
|
|
200
|
+
data-v-a5bbad30>On this page</div>
|
|
201
|
+
<ul class="VPDocOutlineItem root" data-v-a5bbad30 data-v-b933a997><!--[--><!--]--></ul>
|
|
202
|
+
</div>
|
|
203
|
+
</nav><!--[--><!--]-->
|
|
204
|
+
<div class="spacer" data-v-3f215769></div><!--[--><!--]--><!----><!--[--><!--]--><!--[--><!--]-->
|
|
205
|
+
</div>
|
|
206
|
+
</div>
|
|
207
|
+
</div>
|
|
208
|
+
</div>
|
|
209
|
+
<div class="content" data-v-39a288b8>
|
|
210
|
+
<div class="content-container" data-v-39a288b8><!--[--><!--]-->
|
|
211
|
+
<main class="main" data-v-39a288b8>
|
|
212
|
+
<div style="position:relative;" class="vp-doc _LegoJS_examples_" data-v-39a288b8>
|
|
213
|
+
<div>
|
|
214
|
+
<h1 id="examples" tabindex="-1">Examples <a class="header-anchor" href="#examples"
|
|
215
|
+
aria-label="Permalink to "Examples""></a></h1>
|
|
216
|
+
<p>Explore these hands-on examples to learn LegoJS patterns and best practices.</p>
|
|
217
|
+
<h2 id="quick-examples" tabindex="-1">Quick Examples <a class="header-anchor"
|
|
218
|
+
href="#quick-examples" aria-label="Permalink to "Quick Examples""></a></h2>
|
|
219
|
+
<h3 id="counter" tabindex="-1">Counter <a class="header-anchor" href="#counter"
|
|
220
|
+
aria-label="Permalink to "Counter""></a></h3>
|
|
221
|
+
<p>A simple reactive counter demonstrating basic state and events.</p>
|
|
222
|
+
<div class="language-html vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span
|
|
223
|
+
class="lang">html</span>
|
|
224
|
+
<pre class="shiki shiki-themes github-light github-dark vp-code"
|
|
225
|
+
tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"><</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">template</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> b-id</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"click-counter"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">></span></span>
|
|
226
|
+
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> <</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">style</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">></span></span>
|
|
227
|
+
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;"> button</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> { </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">font-size</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">1.2</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">rem</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">; </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">padding</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">0.5</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">rem</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> 1</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">rem</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">; }</span></span>
|
|
228
|
+
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> </</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">style</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">></span></span>
|
|
229
|
+
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> <</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">p</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">>Count: {{ count }}</</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">p</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">></span></span>
|
|
230
|
+
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> <</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">button</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> @click</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"count++"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">>Increment</</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">button</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">></span></span>
|
|
231
|
+
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"></</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">template</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">></span></span>
|
|
232
|
+
<span class="line"></span>
|
|
233
|
+
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"><</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">click-counter</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> b-data</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"{ count: 0 }"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">></</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">click-counter</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">></span></span></code></pre>
|
|
234
|
+
</div>
|
|
235
|
+
<h3 id="input-binding" tabindex="-1">Input Binding <a class="header-anchor" href="#input-binding"
|
|
236
|
+
aria-label="Permalink to "Input Binding""></a></h3>
|
|
237
|
+
<p>Two-way data binding with <code>b-sync</code>.</p>
|
|
238
|
+
<div class="language-html vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span
|
|
239
|
+
class="lang">html</span>
|
|
240
|
+
<pre class="shiki shiki-themes github-light github-dark vp-code"
|
|
241
|
+
tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"><</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">template</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> b-id</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"name-input"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">></span></span>
|
|
242
|
+
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> <</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">input</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> b-sync</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"name"</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> placeholder</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"Enter your name"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">></span></span>
|
|
243
|
+
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> <</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">p</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> b-if</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"name"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">>Hello, {{ name }}!</</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">p</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">></span></span>
|
|
244
|
+
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"></</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">template</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">></span></span>
|
|
245
|
+
<span class="line"></span>
|
|
246
|
+
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"><</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">name-input</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> b-data</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"{ name: '' }"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">></</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">name-input</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">></span></span></code></pre>
|
|
247
|
+
</div>
|
|
248
|
+
<h3 id="todo-list" tabindex="-1">Todo List <a class="header-anchor" href="#todo-list"
|
|
249
|
+
aria-label="Permalink to "Todo List""></a></h3>
|
|
250
|
+
<p>Lists with <code>b-for</code>.</p>
|
|
251
|
+
<div class="language-html vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span
|
|
252
|
+
class="lang">html</span>
|
|
253
|
+
<pre class="shiki shiki-themes github-light github-dark vp-code"
|
|
254
|
+
tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"><</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">template</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> b-id</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"todo-list"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">></span></span>
|
|
255
|
+
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> <</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">ul</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">></span></span>
|
|
256
|
+
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> <</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">li</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> b-for</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"todo in todos"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">></span></span>
|
|
257
|
+
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> <</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">input</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> type</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"checkbox"</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> b-sync</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"todo.done"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">></span></span>
|
|
258
|
+
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> <</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">span</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> class</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"{{ todo.done ? 'done' : '' }}"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">>{{ todo.text }}</</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">span</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">></span></span>
|
|
259
|
+
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> </</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">li</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">></span></span>
|
|
260
|
+
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> </</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">ul</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">></span></span>
|
|
261
|
+
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"></</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">template</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">></span></span>
|
|
262
|
+
<span class="line"></span>
|
|
263
|
+
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"><</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">todo-list</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> b-data</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"{</span></span>
|
|
264
|
+
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> todos: [</span></span>
|
|
265
|
+
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> { text: 'Learn LegoJS', done: true },</span></span>
|
|
266
|
+
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> { text: 'Build an app', done: false }</span></span>
|
|
267
|
+
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> ]</span></span>
|
|
268
|
+
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">}"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">></</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">todo-list</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">></span></span></code></pre>
|
|
269
|
+
</div>
|
|
270
|
+
<h2 id="full-applications" tabindex="-1">Full Applications <a class="header-anchor"
|
|
271
|
+
href="#full-applications" aria-label="Permalink to "Full Applications""></a></h2>
|
|
272
|
+
<h3 id="todo-app" tabindex="-1"><a href="/LegoJS/examples/todo-app.html">Todo App</a> <a
|
|
273
|
+
class="header-anchor" href="#todo-app"
|
|
274
|
+
aria-label="Permalink to "[Todo App](/examples/todo-app)""></a></h3>
|
|
275
|
+
<p>A complete todo application with:</p>
|
|
276
|
+
<ul>
|
|
277
|
+
<li>Add/remove todos</li>
|
|
278
|
+
<li>Mark as complete</li>
|
|
279
|
+
<li>Filter by status</li>
|
|
280
|
+
<li>Local storage persistence</li>
|
|
281
|
+
</ul>
|
|
282
|
+
<h3 id="routing-demo" tabindex="-1"><a href="/LegoJS/examples/routing.html">Routing Demo</a> <a
|
|
283
|
+
class="header-anchor" href="#routing-demo"
|
|
284
|
+
aria-label="Permalink to "[Routing Demo](/examples/routing)""></a></h3>
|
|
285
|
+
<p>Single-page application with:</p>
|
|
286
|
+
<ul>
|
|
287
|
+
<li>Multiple pages</li>
|
|
288
|
+
<li>Dynamic routes</li>
|
|
289
|
+
<li>Navigation</li>
|
|
290
|
+
<li>Route parameters</li>
|
|
291
|
+
</ul>
|
|
292
|
+
<h3 id="sfc-showcase" tabindex="-1"><a href="/LegoJS/examples/sfc-showcase.html">SFC Showcase</a>
|
|
293
|
+
<a class="header-anchor" href="#sfc-showcase"
|
|
294
|
+
aria-label="Permalink to "[SFC Showcase](/examples/sfc-showcase)""></a></h3>
|
|
295
|
+
<p>Using Single File Components:</p>
|
|
296
|
+
<ul>
|
|
297
|
+
<li>User cards</li>
|
|
298
|
+
<li>Product grid</li>
|
|
299
|
+
<li>Modal dialogs</li>
|
|
300
|
+
<li>Form validation</li>
|
|
301
|
+
</ul>
|
|
302
|
+
<h3 id="form-validation" tabindex="-1"><a href="/LegoJS/examples/form.html">Form Validation</a> <a
|
|
303
|
+
class="header-anchor" href="#form-validation"
|
|
304
|
+
aria-label="Permalink to "[Form Validation](/examples/form)""></a></h3>
|
|
305
|
+
<p>Advanced form handling:</p>
|
|
306
|
+
<ul>
|
|
307
|
+
<li>Input validation</li>
|
|
308
|
+
<li>Error messages</li>
|
|
309
|
+
<li>Submit handling</li>
|
|
310
|
+
<li>Reset functionality</li>
|
|
311
|
+
</ul>
|
|
312
|
+
<h2 id="codepen-examples" tabindex="-1">CodePen Examples <a class="header-anchor"
|
|
313
|
+
href="#codepen-examples" aria-label="Permalink to "CodePen Examples""></a></h2>
|
|
314
|
+
<p>Try these examples directly in your browser:</p>
|
|
315
|
+
<ul>
|
|
316
|
+
<li><a href="https://codepen.io/ortserga/pen/counter" target="_blank" rel="noreferrer">Simple
|
|
317
|
+
Counter</a></li>
|
|
318
|
+
<li><a href="https://codepen.io/ortserga/pen/todo" target="_blank" rel="noreferrer">Todo App</a>
|
|
319
|
+
</li>
|
|
320
|
+
<li><a href="https://codepen.io/ortserga/pen/form" target="_blank" rel="noreferrer">Dynamic
|
|
321
|
+
Form</a></li>
|
|
322
|
+
</ul>
|
|
323
|
+
<h2 id="next-steps" tabindex="-1">Next Steps <a class="header-anchor" href="#next-steps"
|
|
324
|
+
aria-label="Permalink to "Next Steps""></a></h2>
|
|
325
|
+
<ul>
|
|
326
|
+
<li>Check the <a href="/LegoJS/api/">API Reference</a></li>
|
|
327
|
+
<li>Read the <a href="/LegoJS/guide/">Guide</a></li>
|
|
328
|
+
<li>View the <a href="https://github.com/rayattack/LegoJS" target="_blank"
|
|
329
|
+
rel="noreferrer">source code</a></li>
|
|
330
|
+
</ul>
|
|
331
|
+
</div>
|
|
332
|
+
</div>
|
|
333
|
+
</main>
|
|
334
|
+
<footer class="VPDocFooter" data-v-39a288b8 data-v-e257564d><!--[--><!--]-->
|
|
335
|
+
<div class="edit-info" data-v-e257564d>
|
|
336
|
+
<div class="edit-link" data-v-e257564d><a
|
|
337
|
+
class="VPLink link vp-external-link-icon no-icon edit-link-button"
|
|
338
|
+
href="https://github.com/rayattack/LegoJS/edit/main/docs/examples/index.md" target="_blank"
|
|
339
|
+
rel="noreferrer" data-v-e257564d><!--[--><span class="vpi-square-pen edit-link-icon"
|
|
340
|
+
data-v-e257564d></span> Edit this page on GitHub<!--]--></a></div><!---->
|
|
341
|
+
</div>
|
|
342
|
+
<nav class="prev-next" aria-labelledby="doc-footer-aria-label" data-v-e257564d><span
|
|
343
|
+
class="visually-hidden" id="doc-footer-aria-label" data-v-e257564d>Pager</span>
|
|
344
|
+
<div class="pager" data-v-e257564d><!----></div>
|
|
345
|
+
<div class="pager" data-v-e257564d><a class="VPLink link pager-link next"
|
|
346
|
+
href="/LegoJS/examples/todo-app.html" data-v-e257564d><!--[--><span class="desc"
|
|
347
|
+
data-v-e257564d>Next page</span><span class="title" data-v-e257564d>Todo
|
|
348
|
+
App</span><!--]--></a></div>
|
|
349
|
+
</nav>
|
|
350
|
+
</footer><!--[--><!--]-->
|
|
351
|
+
</div>
|
|
352
|
+
</div>
|
|
353
|
+
</div><!--[--><!--]-->
|
|
354
|
+
</div>
|
|
355
|
+
</div>
|
|
356
|
+
<footer class="VPFooter has-sidebar" data-v-5d98c3a5 data-v-e315a0ad>
|
|
357
|
+
<div class="container" data-v-e315a0ad>
|
|
358
|
+
<p class="message" data-v-e315a0ad>Released under the MIT License.</p>
|
|
359
|
+
<p class="copyright" data-v-e315a0ad>Copyright © 2024-present</p>
|
|
360
|
+
</div>
|
|
361
|
+
</footer><!--[--><!--]-->
|
|
362
|
+
</div>
|
|
363
|
+
</div>
|
|
364
|
+
<script>window.__VP_HASH_MAP__ = JSON.parse("{\"api_define.md\":\"UA-ygUnQ\",\"api_directives.md\":\"BV-D251p\",\"api_globals.md\":\"DOjt7AV0\",\"api_index.md\":\"OS6h01ct\",\"api_lifecycle.md\":\"Ccm5xw6-\",\"api_route.md\":\"CAHf_KNp\",\"api_vite-plugin.md\":\"DNn9VhL5\",\"examples_form.md\":\"B3stGKbu\",\"examples_index.md\":\"BDEG_D4J\",\"examples_routing.md\":\"bqZ9DjDK\",\"examples_sfc-showcase.md\":\"DLXaUiop\",\"examples_todo-app.md\":\"D5RhZoo5\",\"guide_cdn-usage.md\":\"CAjf03Lr\",\"guide_components.md\":\"BIFWF1Hc\",\"guide_contributing.md\":\"BgbUN-Mr\",\"guide_directives.md\":\"Bi3ynu1d\",\"guide_getting-started.md\":\"2Nr1lp2z\",\"guide_index.md\":\"GvZq_Yf2\",\"guide_lifecycle.md\":\"B28j1OzS\",\"guide_quick-start.md\":\"CNk3VGTF\",\"guide_reactivity.md\":\"CVsaMaPv\",\"guide_routing.md\":\"DSpDP25o\",\"guide_sfc.md\":\"CVUP66tS\",\"guide_templating.md\":\"BgCGe4aa\",\"index.md\":\"xV1taCED\"}"); window.__VP_SITE_DATA__ = JSON.parse("{\"lang\":\"en-US\",\"dir\":\"ltr\",\"title\":\"LegoJS\",\"description\":\"A tiny, zero-dependency JavaScript library for building reactive Web Components\",\"base\":\"/LegoJS/\",\"head\":[],\"router\":{\"prefetchLinks\":true},\"appearance\":true,\"themeConfig\":{\"logo\":\"/logo.svg\",\"nav\":[{\"text\":\"Guide\",\"link\":\"/guide/\"},{\"text\":\"API\",\"link\":\"/api/\"},{\"text\":\"Examples\",\"link\":\"/examples/\"},{\"text\":\"v0.0.7\",\"items\":[{\"text\":\"Changelog\",\"link\":\"https://github.com/rayattack/LegoJS/releases\"}]}],\"sidebar\":{\"/guide/\":[{\"text\":\"Introduction\",\"items\":[{\"text\":\"What is LegoJS?\",\"link\":\"/guide/\"},{\"text\":\"Getting Started\",\"link\":\"/guide/getting-started\"},{\"text\":\"Quick Start\",\"link\":\"/guide/quick-start\"},{\"text\":\"Contributing\",\"link\":\"/guide/contributing\"}]},{\"text\":\"Core Concepts\",\"items\":[{\"text\":\"Components\",\"link\":\"/guide/components\"},{\"text\":\"Templating\",\"link\":\"/guide/templating\"},{\"text\":\"Reactivity\",\"link\":\"/guide/reactivity\"},{\"text\":\"Directives\",\"link\":\"/guide/directives\"}]},{\"text\":\"Advanced\",\"items\":[{\"text\":\"Single File Components\",\"link\":\"/guide/sfc\"},{\"text\":\"Routing\",\"link\":\"/guide/routing\"},{\"text\":\"CDN Usage\",\"link\":\"/guide/cdn-usage\"},{\"text\":\"Lifecycle Hooks\",\"link\":\"/guide/lifecycle\"}]}],\"/api/\":[{\"text\":\"API Reference\",\"items\":[{\"text\":\"Overview\",\"link\":\"/api/\"},{\"text\":\"Lego.define()\",\"link\":\"/api/define\"},{\"text\":\"Lego.route()\",\"link\":\"/api/route\"},{\"text\":\"Lego.globals\",\"link\":\"/api/globals\"},{\"text\":\"Directives\",\"link\":\"/api/directives\"},{\"text\":\"Directives\",\"link\":\"/api/directives\"},{\"text\":\"Lifecycle Hooks\",\"link\":\"/api/lifecycle\"},{\"text\":\"Vite Plugin\",\"link\":\"/api/vite-plugin\"}]}],\"/examples/\":[{\"text\":\"Examples\",\"items\":[{\"text\":\"Overview\",\"link\":\"/examples/\"},{\"text\":\"Todo App\",\"link\":\"/examples/todo-app\"},{\"text\":\"Routing Demo\",\"link\":\"/examples/routing\"},{\"text\":\"SFC Showcase\",\"link\":\"/examples/sfc-showcase\"},{\"text\":\"Form Validation\",\"link\":\"/examples/form\"}]}]},\"socialLinks\":[{\"icon\":\"github\",\"link\":\"https://github.com/rayattack/LegoJS\"}],\"footer\":{\"message\":\"Released under the MIT License.\",\"copyright\":\"Copyright © 2024-present\"},\"search\":{\"provider\":\"local\"},\"editLink\":{\"pattern\":\"https://github.com/rayattack/LegoJS/edit/main/docs/:path\",\"text\":\"Edit this page on GitHub\"}},\"locales\":{},\"scrollOffset\":134,\"cleanUrls\":false}");</script>
|
|
365
|
+
|
|
366
|
+
</body>
|
|
367
|
+
|
|
368
|
+
</html>
|