lightview 1.8.2 → 2.0.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/.agent/workflows/daisyui-component-migration.md +155 -0
- package/.codacy/cli.sh +149 -0
- package/.codacy/codacy.yaml +15 -0
- package/.github/instructions/codacy.instructions.md +72 -0
- package/.wranglerignore +21 -0
- package/README.md +1330 -19
- package/_headers +4 -0
- package/build.js +70 -0
- package/components/actions/button.js +151 -0
- package/components/actions/dropdown.js +120 -0
- package/components/actions/modal.js +146 -0
- package/components/actions/swap.js +118 -0
- package/components/daisyui.js +288 -0
- package/components/data-display/accordion.js +128 -0
- package/components/data-display/alert.js +112 -0
- package/components/data-display/avatar.js +170 -0
- package/components/data-display/badge.js +82 -0
- package/components/data-display/card.js +151 -0
- package/components/data-display/carousel.js +94 -0
- package/components/data-display/chart.js +220 -0
- package/components/data-display/chat.js +128 -0
- package/components/data-display/collapse.js +103 -0
- package/components/data-display/countdown.js +69 -0
- package/components/data-display/diff.js +111 -0
- package/components/data-display/kbd.js +65 -0
- package/components/data-display/loading.js +75 -0
- package/components/data-display/progress.js +79 -0
- package/components/data-display/radial-progress.js +88 -0
- package/components/data-display/skeleton.js +66 -0
- package/components/data-display/stats.js +159 -0
- package/components/data-display/table.js +146 -0
- package/components/data-display/timeline.js +146 -0
- package/components/data-display/toast.js +72 -0
- package/components/data-display/tooltip.js +74 -0
- package/components/data-input/checkbox.js +253 -0
- package/components/data-input/file-input.js +224 -0
- package/components/data-input/input.js +264 -0
- package/components/data-input/radio.js +338 -0
- package/components/data-input/range.js +204 -0
- package/components/data-input/rating.js +219 -0
- package/components/data-input/select.js +287 -0
- package/components/data-input/textarea.js +287 -0
- package/components/data-input/toggle.js +201 -0
- package/components/index.js +137 -0
- package/components/layout/divider.js +72 -0
- package/components/layout/drawer.js +142 -0
- package/components/layout/footer.js +100 -0
- package/components/layout/hero.js +109 -0
- package/components/layout/indicator.js +90 -0
- package/components/layout/join.js +78 -0
- package/components/layout/navbar.js +110 -0
- package/components/navigation/breadcrumbs.js +91 -0
- package/components/navigation/dock.js +103 -0
- package/components/navigation/menu.js +126 -0
- package/components/navigation/pagination.js +105 -0
- package/components/navigation/steps.js +89 -0
- package/components/navigation/tabs.css +177 -0
- package/components/navigation/tabs.js +123 -0
- package/components/theme/theme-switch.css +65 -0
- package/components/theme/theme-switch.js +177 -0
- package/docs/about.html +164 -0
- package/docs/api/computed.html +184 -0
- package/docs/api/effects.html +173 -0
- package/docs/api/elements.html +180 -0
- package/docs/api/enhance.html +225 -0
- package/docs/api/hypermedia.html +165 -0
- package/docs/api/index.html +178 -0
- package/docs/api/nav.html +18 -0
- package/docs/api/signals.html +136 -0
- package/docs/api/state.html +217 -0
- package/docs/assets/images/logo-favicon.svg +42 -0
- package/docs/assets/images/logo-static.svg +40 -0
- package/docs/assets/images/logo.svg +66 -0
- package/docs/assets/js/examplify.js +395 -0
- package/docs/assets/styles/site.css +1102 -0
- package/docs/assets/styles/themes.css +236 -0
- package/docs/components/accordion.html +439 -0
- package/docs/components/alert.html +528 -0
- package/docs/components/avatar.html +586 -0
- package/docs/components/badge.html +531 -0
- package/docs/components/breadcrumbs.html +278 -0
- package/docs/components/button.html +579 -0
- package/docs/components/card.html +561 -0
- package/docs/components/carousel.html +286 -0
- package/docs/components/chart-area.html +702 -0
- package/docs/components/chart-bar.html +782 -0
- package/docs/components/chart-column.html +735 -0
- package/docs/components/chart-line.html +794 -0
- package/docs/components/chart-pie.html +823 -0
- package/docs/components/chart.html +610 -15
- package/docs/components/chat.html +547 -0
- package/docs/components/checkbox.html +641 -0
- package/docs/components/collapse.html +536 -0
- package/docs/components/component-nav.html +53 -0
- package/docs/components/countdown.html +470 -0
- package/docs/components/diff.html +245 -0
- package/docs/components/divider.html +240 -0
- package/docs/components/dock.html +277 -0
- package/docs/components/drawer.html +515 -0
- package/docs/components/dropdown.html +479 -0
- package/docs/components/file-input.html +591 -0
- package/docs/components/footer.html +301 -0
- package/docs/components/gallery.html +504 -0
- package/docs/components/hero.html +264 -0
- package/docs/components/index.css +840 -0
- package/docs/components/index.html +735 -0
- package/docs/components/indicator.html +342 -0
- package/docs/components/input.html +644 -0
- package/docs/components/join.html +285 -0
- package/docs/components/kbd.html +322 -0
- package/docs/components/loading.html +521 -0
- package/docs/components/menu.html +461 -0
- package/docs/components/modal.html +639 -0
- package/docs/components/navbar.html +321 -0
- package/docs/components/pagination.html +279 -0
- package/docs/components/progress.html +514 -0
- package/docs/components/radial-progress.html +434 -0
- package/docs/components/radio.html +655 -0
- package/docs/components/range.html +611 -0
- package/docs/components/rating.html +642 -0
- package/docs/components/select.html +696 -0
- package/docs/components/sidebar-setup.js +93 -0
- package/docs/components/skeleton.html +447 -0
- package/docs/components/spinner.html +68 -0
- package/docs/components/stats.html +486 -0
- package/docs/components/steps.html +356 -0
- package/docs/components/swap.html +517 -0
- package/docs/components/switch.html +68 -0
- package/docs/components/table.html +668 -0
- package/docs/components/tabs.html +506 -0
- package/docs/components/text-input.html +68 -0
- package/docs/components/textarea.html +603 -0
- package/docs/components/timeline.html +485 -42
- package/docs/components/toast.html +474 -0
- package/docs/components/toggle.html +564 -0
- package/docs/components/tooltip.html +423 -0
- package/docs/examples/getting-started-example.html +40 -0
- package/docs/examples/index.html +93 -0
- package/docs/getting-started/index.html +739 -0
- package/docs/getting-started/reviews.html +23 -0
- package/docs/getting-started/reviews.odom +108 -0
- package/docs/getting-started/reviews.vdom +84 -0
- package/docs/index.html +132 -42
- package/docs/playground.html +416 -0
- package/docs/router.html +285 -0
- package/docs/styles/index.html +190 -0
- package/functions/_middleware.js +32 -0
- package/index.html +309 -0
- package/lightview-router.js +364 -0
- package/lightview-x.js +1577 -0
- package/lightview.js +659 -1200
- package/lightview.js.backup +793 -0
- package/middleware/locale.js +25 -0
- package/middleware/markdown.js +44 -0
- package/middleware/notFound.js +37 -0
- package/package.json +27 -41
- package/watch.js +92 -0
- package/wrangler.toml +12 -0
- package/.idea/lightview.iml +0 -12
- package/.idea/modules.xml +0 -8
- package/.idea/vcs.xml +0 -6
- package/LICENSE +0 -21
- package/codepen-no-tabs-embed.css +0 -2
- package/docs/CNAME +0 -1
- package/docs/api.html +0 -674
- package/docs/blank.html +0 -10
- package/docs/comparedto.html +0 -89
- package/docs/components/chart-repl.html +0 -69
- package/docs/components/components.js +0 -113
- package/docs/components/contents.html +0 -17
- package/docs/components/gantt-repl.html +0 -61
- package/docs/components/gantt.html +0 -42
- package/docs/components/gauge-repl.html +0 -66
- package/docs/components/gauge.html +0 -20
- package/docs/components/orgchart-repl.html +0 -64
- package/docs/components/orgchart.html +0 -41
- package/docs/components/repl-as-src.html +0 -17
- package/docs/components/repl-repl.html +0 -95
- package/docs/components/repl.html +0 -527
- package/docs/components/timeline-repl.html +0 -72
- package/docs/components.html +0 -14
- package/docs/css/highlightjs.min.css +0 -9
- package/docs/css/tutorial.css +0 -35
- package/docs/examples/anchor.html +0 -11
- package/docs/examples/chart.html +0 -34
- package/docs/examples/counter.html +0 -26
- package/docs/examples/counter.test.mjs +0 -47
- package/docs/examples/counter2.html +0 -26
- package/docs/examples/directives.html +0 -79
- package/docs/examples/foreign.html +0 -50
- package/docs/examples/forgeinform.html +0 -98
- package/docs/examples/form.html +0 -61
- package/docs/examples/gauge.html +0 -18
- package/docs/examples/invalid-template-literals.html +0 -44
- package/docs/examples/medium/remote.html +0 -60
- package/docs/examples/message.html +0 -18
- package/docs/examples/nested.html +0 -11
- package/docs/examples/object-bound-form.html +0 -34
- package/docs/examples/remote-server.js +0 -51
- package/docs/examples/remote.html +0 -34
- package/docs/examples/remote.json +0 -1
- package/docs/examples/scratch.html +0 -69
- package/docs/examples/sensors/index.html +0 -44
- package/docs/examples/sensors/sensor-server.js +0 -30
- package/docs/examples/shared.html +0 -41
- package/docs/examples/template.html +0 -33
- package/docs/examples/timeline.html +0 -21
- package/docs/examples/todo.html +0 -40
- package/docs/examples/top.html +0 -10
- package/docs/examples/types.html +0 -94
- package/docs/examples/xor.html +0 -62
- package/docs/examples.html +0 -25
- package/docs/javascript/codejar.min.js +0 -8
- package/docs/javascript/highlightjs.min.js +0 -1173
- package/docs/javascript/isomorphic-git.js +0 -9
- package/docs/javascript/json5.min.js +0 -1
- package/docs/javascript/lightning-fs.js +0 -1
- package/docs/javascript/lightview.js +0 -1285
- package/docs/javascript/marked.min.js +0 -6
- package/docs/javascript/peerjs.min.js +0 -70
- package/docs/javascript/turndown.js +0 -973
- package/docs/javascript/types.js +0 -606
- package/docs/javascript/utils.js +0 -45
- package/docs/lightview.html +0 -63
- package/docs/old_index.html +0 -965
- package/docs/old_index.md +0 -1132
- package/docs/slidein.html +0 -51
- package/docs/tutorial/0-getting-started.html +0 -67
- package/docs/tutorial/1-intro-to-variables.html +0 -103
- package/docs/tutorial/10-template-components.html +0 -80
- package/docs/tutorial/11-linked-components.html +0 -76
- package/docs/tutorial/12-imported-components.html +0 -67
- package/docs/tutorial/13-input-binding.html +0 -94
- package/docs/tutorial/14-automatic-variable-creation.html +0 -74
- package/docs/tutorial/15-form-binding.html +0 -110
- package/docs/tutorial/16-if-directive.html +0 -60
- package/docs/tutorial/17-loop-directives.html +0 -83
- package/docs/tutorial/18-sanitizing-and-escaping-input.html +0 -79
- package/docs/tutorial/2-imported-and-exported-variables.html +0 -80
- package/docs/tutorial/3-data-types.html +0 -89
- package/docs/tutorial/4-extended-data-types.html +0 -83
- package/docs/tutorial/5-extended-functional-types.html +0 -96
- package/docs/tutorial/5.1-extended-functional-types.html +0 -79
- package/docs/tutorial/5.2-extended-functional-types.html +0 -70
- package/docs/tutorial/6-conventional-javascript.html +0 -75
- package/docs/tutorial/7-monitoring-with-observers.html +0 -107
- package/docs/tutorial/8-event-listeners.html +0 -65
- package/docs/tutorial/9-intro-to-components.html +0 -91
- package/docs/tutorial/contents.html +0 -32
- package/docs/tutorial/my-component.html +0 -29
- package/docs/tutorial/remote-value.json +0 -4
- package/docs/websiterepl.html +0 -46
- package/jest-puppeteer.config.js +0 -5
- package/jest.config.json +0 -12
- package/lightview.min.js +0 -1
- package/lightview_good.js +0 -1267
- package/lightview_optimized.js +0 -1274
- package/repl_hold.html +0 -320
- package/test/basic.html +0 -104
- package/test/basic.test.mjs +0 -315
- package/test/extended.html +0 -29
- package/test/extended.test.mjs +0 -448
- package/types.js +0 -607
- package/unsplash.key +0 -1
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
<!-- This file is loaded dynamically via Lightview's src attribute -->
|
|
2
|
+
<!-- Demonstrates hypermedia: clicking an href triggers loading this content -->
|
|
3
|
+
<!-- Template literals access parent signals/state via signal.get() -->
|
|
4
|
+
<div style="padding: 1rem; background: #f8fafc; border-radius: 8px; margin-top: 1rem;">
|
|
5
|
+
<p style="color: #6366f1; font-weight: 500; font-size: 0.8em; margin-bottom: 0.5rem;">
|
|
6
|
+
Displaying ${signal.get('reviewCount').value} reviews in ${signal.get('currentFormat').value} format.
|
|
7
|
+
</p>
|
|
8
|
+
<div style="padding: 0.75rem; border-bottom: 1px solid #e2e8f0;">
|
|
9
|
+
<strong style="color: #f59e0b;">⭐⭐⭐⭐⭐</strong>
|
|
10
|
+
<span style="margin-left: 0.5rem; color: #334155;">"Best shoes ever! Super comfortable and stylish."</span>
|
|
11
|
+
<div style="font-size: 0.75rem; color: #94a3b8; margin-top: 0.25rem;">— Maria S.</div>
|
|
12
|
+
</div>
|
|
13
|
+
<div style="padding: 0.75rem; border-bottom: 1px solid #e2e8f0;">
|
|
14
|
+
<strong style="color: #f59e0b;">⭐⭐⭐⭐</strong>
|
|
15
|
+
<span style="margin-left: 0.5rem; color: #334155;">"Great quality for the price. Would buy again."</span>
|
|
16
|
+
<div style="font-size: 0.75rem; color: #94a3b8; margin-top: 0.25rem;">— John D.</div>
|
|
17
|
+
</div>
|
|
18
|
+
<div style="padding: 0.75rem;">
|
|
19
|
+
<strong style="color: #f59e0b;">⭐⭐⭐⭐⭐</strong>
|
|
20
|
+
<span style="margin-left: 0.5rem; color: #334155;">"Perfect fit! Arrived faster than expected."</span>
|
|
21
|
+
<div style="font-size: 0.75rem; color: #94a3b8; margin-top: 0.25rem;">— Alex K.</div>
|
|
22
|
+
</div>
|
|
23
|
+
</div>
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"div": {
|
|
4
|
+
"style": "padding: 1rem; background: #f8fafc; border-radius: 8px; margin-top: 1rem;",
|
|
5
|
+
"children": [
|
|
6
|
+
{
|
|
7
|
+
"p": {
|
|
8
|
+
"style": "color: #6366f1; font-weight: 500; font-size: 0.8em; margin-bottom: 0.5rem;",
|
|
9
|
+
"children": ["Displaying ${signal.get('reviewCount').value} reviews in ${signal.get('currentFormat').value} format."]
|
|
10
|
+
}
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
"div": {
|
|
14
|
+
"style": "padding: 0.75rem; border-bottom: 1px solid #e2e8f0;",
|
|
15
|
+
"children": [
|
|
16
|
+
{
|
|
17
|
+
"strong": {
|
|
18
|
+
"style": "color: #f59e0b;",
|
|
19
|
+
"children": [
|
|
20
|
+
"⭐⭐⭐⭐⭐"
|
|
21
|
+
]
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"span": {
|
|
26
|
+
"style": "margin-left: 0.5rem; color: #334155;",
|
|
27
|
+
"children": [
|
|
28
|
+
"\"Best shoes ever! Super comfortable and stylish.\""
|
|
29
|
+
]
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"div": {
|
|
34
|
+
"style": "font-size: 0.75rem; color: #94a3b8; margin-top: 0.25rem;",
|
|
35
|
+
"children": [
|
|
36
|
+
"— Maria S."
|
|
37
|
+
]
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
]
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"div": {
|
|
45
|
+
"style": "padding: 0.75rem; border-bottom: 1px solid #e2e8f0;",
|
|
46
|
+
"children": [
|
|
47
|
+
{
|
|
48
|
+
"strong": {
|
|
49
|
+
"style": "color: #f59e0b;",
|
|
50
|
+
"children": [
|
|
51
|
+
"⭐⭐⭐⭐"
|
|
52
|
+
]
|
|
53
|
+
}
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"span": {
|
|
57
|
+
"style": "margin-left: 0.5rem; color: #334155;",
|
|
58
|
+
"children": [
|
|
59
|
+
"\"Great quality for the price. Would buy again.\""
|
|
60
|
+
]
|
|
61
|
+
}
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
"div": {
|
|
65
|
+
"style": "font-size: 0.75rem; color: #94a3b8; margin-top: 0.25rem;",
|
|
66
|
+
"children": [
|
|
67
|
+
"— John D."
|
|
68
|
+
]
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
]
|
|
72
|
+
}
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
"div": {
|
|
76
|
+
"style": "padding: 0.75rem;",
|
|
77
|
+
"children": [
|
|
78
|
+
{
|
|
79
|
+
"strong": {
|
|
80
|
+
"style": "color: #f59e0b;",
|
|
81
|
+
"children": [
|
|
82
|
+
"⭐⭐⭐⭐⭐"
|
|
83
|
+
]
|
|
84
|
+
}
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
"span": {
|
|
88
|
+
"style": "margin-left: 0.5rem; color: #334155;",
|
|
89
|
+
"children": [
|
|
90
|
+
"\"Perfect fit! Arrived faster than expected.\""
|
|
91
|
+
]
|
|
92
|
+
}
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
"div": {
|
|
96
|
+
"style": "font-size: 0.75rem; color: #94a3b8; margin-top: 0.25rem;",
|
|
97
|
+
"children": [
|
|
98
|
+
"— Alex K."
|
|
99
|
+
]
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
]
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
]
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
]
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"tag": "div",
|
|
4
|
+
"attributes": {
|
|
5
|
+
"style": "padding: 1rem; background: #f8fafc; border-radius: 8px; margin-top: 1rem;"
|
|
6
|
+
},
|
|
7
|
+
"children": [
|
|
8
|
+
{
|
|
9
|
+
"tag": "p",
|
|
10
|
+
"attributes": { "style": "color: #6366f1; font-weight: 500; font-size: 0.8em; margin-bottom: 0.5rem;" },
|
|
11
|
+
"children": ["Displaying ${signal.get('reviewCount').value} reviews in ${signal.get('currentFormat').value} format."]
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"tag": "div",
|
|
15
|
+
"attributes": {
|
|
16
|
+
"style": "padding: 0.75rem; border-bottom: 1px solid #e2e8f0;"
|
|
17
|
+
},
|
|
18
|
+
"children": [
|
|
19
|
+
{
|
|
20
|
+
"tag": "strong",
|
|
21
|
+
"attributes": { "style": "color: #f59e0b;" },
|
|
22
|
+
"children": ["⭐⭐⭐⭐⭐"]
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"tag": "span",
|
|
26
|
+
"attributes": { "style": "margin-left: 0.5rem; color: #334155;" },
|
|
27
|
+
"children": ["\"Best shoes ever! Super comfortable and stylish.\""]
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"tag": "div",
|
|
31
|
+
"attributes": { "style": "font-size: 0.75rem; color: #94a3b8; margin-top: 0.25rem;" },
|
|
32
|
+
"children": ["— Maria S."]
|
|
33
|
+
}
|
|
34
|
+
]
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"tag": "div",
|
|
38
|
+
"attributes": {
|
|
39
|
+
"style": "padding: 0.75rem; border-bottom: 1px solid #e2e8f0;"
|
|
40
|
+
},
|
|
41
|
+
"children": [
|
|
42
|
+
{
|
|
43
|
+
"tag": "strong",
|
|
44
|
+
"attributes": { "style": "color: #f59e0b;" },
|
|
45
|
+
"children": ["⭐⭐⭐⭐"]
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"tag": "span",
|
|
49
|
+
"attributes": { "style": "margin-left: 0.5rem; color: #334155;" },
|
|
50
|
+
"children": ["\"Great quality for the price. Would buy again.\""]
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"tag": "div",
|
|
54
|
+
"attributes": { "style": "font-size: 0.75rem; color: #94a3b8; margin-top: 0.25rem;" },
|
|
55
|
+
"children": ["— John D."]
|
|
56
|
+
}
|
|
57
|
+
]
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"tag": "div",
|
|
61
|
+
"attributes": {
|
|
62
|
+
"style": "padding: 0.75rem;"
|
|
63
|
+
},
|
|
64
|
+
"children": [
|
|
65
|
+
{
|
|
66
|
+
"tag": "strong",
|
|
67
|
+
"attributes": { "style": "color: #f59e0b;" },
|
|
68
|
+
"children": ["⭐⭐⭐⭐⭐"]
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
"tag": "span",
|
|
72
|
+
"attributes": { "style": "margin-left: 0.5rem; color: #334155;" },
|
|
73
|
+
"children": ["\"Perfect fit! Arrived faster than expected.\""]
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
"tag": "div",
|
|
77
|
+
"attributes": { "style": "font-size: 0.75rem; color: #94a3b8; margin-top: 0.25rem;" },
|
|
78
|
+
"children": ["— Alex K."]
|
|
79
|
+
}
|
|
80
|
+
]
|
|
81
|
+
}
|
|
82
|
+
]
|
|
83
|
+
}
|
|
84
|
+
]
|
package/docs/index.html
CHANGED
|
@@ -1,44 +1,134 @@
|
|
|
1
|
-
|
|
2
|
-
<
|
|
3
|
-
<head>
|
|
4
|
-
<meta charset="UTF-8">
|
|
5
|
-
<title>Lightview</title>
|
|
6
|
-
<link rel="stylesheet" href="css/highlightjs.min.css">
|
|
7
|
-
<script src="javascript/highlightjs.min.js"></script>
|
|
8
|
-
<script>hljs.highlightAll();</script>
|
|
9
|
-
</head>
|
|
10
|
-
<body style="min-width:100%;height:98vh;overflow:hidden">
|
|
11
|
-
<div id="tabs" style="display:flex;flex-direction:row;min-width:100%;border-bottom:1px solid;padding-bottom:5px;">
|
|
12
|
-
<span style="flex-grow:0.2;">
|
|
13
|
-
<a href="./lightview.html" target="content">Lightview</a>
|
|
14
|
-
</span>
|
|
15
|
-
<span style="flex-grow:0.4;text-align:center">
|
|
16
|
-
<a href="./tutorial/0-getting-started.html" target="content" as="l-tutorial-1">Tutorial</a>
|
|
17
|
-
<a href="./comparedto.html" target="content">Compared To</a>
|
|
18
|
-
<a href="./api.html" target="content">API</a>
|
|
19
|
-
<a href="./components/chart-repl.html" target="content">Components</a>
|
|
20
|
-
<a href="./websiterepl.html" target="content">REPL</a>
|
|
21
|
-
</span>
|
|
22
|
-
<span style="flex-grow:0.2;text-align:right;">
|
|
23
|
-
<a class="tabctrl" href="https://github.com/anywhichway/lightview" target="_other">GitHub</a>
|
|
24
|
-
<a class="tabctrl" href="https://www.npmjs.com/package/lightview" target="_other">NPM</a>
|
|
25
|
-
</span>
|
|
26
|
-
</div>
|
|
27
|
-
<iframe name="content" style="width:100%;" src="lightview.html"></iframe>
|
|
28
|
-
<style id="style">
|
|
29
|
-
a {
|
|
30
|
-
font-size: x-large;
|
|
31
|
-
color: black;
|
|
32
|
-
padding-left: 5px;
|
|
33
|
-
padding-right: 5px;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
a:hover {
|
|
37
|
-
color: blue;
|
|
38
|
-
}
|
|
39
|
-
</style>
|
|
1
|
+
<!-- SEO-friendly SPA Shim -->
|
|
2
|
+
<script src="/lightview-router.js"></script>
|
|
40
3
|
<script>
|
|
41
|
-
|
|
4
|
+
if (window.LightviewRouter) {
|
|
5
|
+
LightviewRouter.base('/index.html');
|
|
6
|
+
}
|
|
42
7
|
</script>
|
|
43
|
-
|
|
44
|
-
|
|
8
|
+
|
|
9
|
+
<!-- Hero Section -->
|
|
10
|
+
<section class="hero">
|
|
11
|
+
<div class="hero-content">
|
|
12
|
+
<img src="/docs/assets/images/logo.svg" class="hero-logo" alt="Lightview Logo" width="512" height="512">
|
|
13
|
+
<h1>Lightview</h1>
|
|
14
|
+
<p class="hero-tagline">Reactive UI's done light</p>
|
|
15
|
+
<p class="hero-description">
|
|
16
|
+
More power. Less energy.
|
|
17
|
+
</p>
|
|
18
|
+
<div class="hero-actions">
|
|
19
|
+
<a href="./getting-started/" class="btn btn-primary btn-lg">Get Started</a>
|
|
20
|
+
</div>
|
|
21
|
+
<div class="hero-stats">
|
|
22
|
+
<div class="hero-stat">
|
|
23
|
+
<div class="hero-stat-value">Zero</div>
|
|
24
|
+
<div class="hero-stat-label">Dependencies</div>
|
|
25
|
+
</div>
|
|
26
|
+
<div class="hero-stat">
|
|
27
|
+
<div class="hero-stat-value">Zero</div>
|
|
28
|
+
<div class="hero-stat-label">Build Steps</div>
|
|
29
|
+
</div>
|
|
30
|
+
<div class="hero-stat">
|
|
31
|
+
<div class="hero-stat-value">4</div>
|
|
32
|
+
<div class="hero-stat-label">Ways to Build</div>
|
|
33
|
+
</div>
|
|
34
|
+
<div class="hero-stat">
|
|
35
|
+
<div class="hero-stat-value">40+</div>
|
|
36
|
+
<div class="hero-stat-label">Components</div>
|
|
37
|
+
</div>
|
|
38
|
+
</div>
|
|
39
|
+
</div>
|
|
40
|
+
</section>
|
|
41
|
+
|
|
42
|
+
<!-- Features Section -->
|
|
43
|
+
<section class="section">
|
|
44
|
+
<div class="section-content">
|
|
45
|
+
<div class="section-header">
|
|
46
|
+
<h2 class="section-title">Heavy? Not Our Thing.</h2>
|
|
47
|
+
<p class="section-subtitle">
|
|
48
|
+
Have fun, stay light.
|
|
49
|
+
</p>
|
|
50
|
+
</div>
|
|
51
|
+
<div class="feature-grid">
|
|
52
|
+
<a href="./api/signals.html" class="feature-card" style="text-decoration: none; color: inherit;">
|
|
53
|
+
<div class="feature-icon">
|
|
54
|
+
<svg viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="2">
|
|
55
|
+
<circle cx="12" cy="12" r="10" />
|
|
56
|
+
<path d="M12 6v6l4 2" />
|
|
57
|
+
</svg>
|
|
58
|
+
</div>
|
|
59
|
+
<h3 class="feature-title">Signals and Object State Reactivity</h3>
|
|
60
|
+
<p class="feature-description">
|
|
61
|
+
Fine-grained reactivity with signals and obejct state. Updates propagate automatically—no virtual
|
|
62
|
+
DOM diffing needed. As a bonus, session and local storage are also supported.
|
|
63
|
+
</p>
|
|
64
|
+
</a>
|
|
65
|
+
<a href="./api/elements.html" class="feature-card" style="text-decoration: none; color: inherit;">
|
|
66
|
+
<div class="feature-icon">
|
|
67
|
+
<svg viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="2">
|
|
68
|
+
<rect x="3" y="3" width="18" height="18" rx="2" />
|
|
69
|
+
<path d="M3 9h18M9 21V9" />
|
|
70
|
+
</svg>
|
|
71
|
+
</div>
|
|
72
|
+
<h3 class="feature-title">Multiple Syntaxes</h3>
|
|
73
|
+
<p class="feature-description">
|
|
74
|
+
Tagged API, vDOM, Object DOM, HTML. Pick your style—they all work together.
|
|
75
|
+
</p>
|
|
76
|
+
</a>
|
|
77
|
+
<a href="./api/hypermedia.html" class="feature-card" style="text-decoration: none; color: inherit;">
|
|
78
|
+
<div class="feature-icon">
|
|
79
|
+
<svg viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="2">
|
|
80
|
+
<path
|
|
81
|
+
d="M21 12a9 9 0 01-9 9m9-9a9 9 0 00-9-9m9 9H3m9 9a9 9 0 01-9-9m9 9c1.66 0 3-4 3-9s-1.34-9-3-9m0 18c-1.66 0-3-4-3-9s1.34-9 3-9" />
|
|
82
|
+
</svg>
|
|
83
|
+
</div>
|
|
84
|
+
<h3 class="feature-title">Hypermedia Ready</h3>
|
|
85
|
+
<p class="feature-description">
|
|
86
|
+
Fetch HTML, vDOM, or Object DOM with the <code>src</code> attribute. HTMX-like patterns for
|
|
87
|
+
<code>src</code> and <code>href</code> built right
|
|
88
|
+
in.
|
|
89
|
+
</p>
|
|
90
|
+
</a>
|
|
91
|
+
<a href="./components/index.html" class="feature-card" style="text-decoration: none; color: inherit;">
|
|
92
|
+
<div class="feature-icon">
|
|
93
|
+
<svg viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="2">
|
|
94
|
+
<path d="M12 2L2 7l10 5 10-5-10-5zM2 17l10 5 10-5M2 12l10 5 10-5" />
|
|
95
|
+
</svg>
|
|
96
|
+
</div>
|
|
97
|
+
<h3 class="feature-title">Component Library</h3>
|
|
98
|
+
<p class="feature-description">
|
|
99
|
+
Beautiful, accessible components ready to use. Buttons, modals, forms, charts, and more.
|
|
100
|
+
</p>
|
|
101
|
+
</a>
|
|
102
|
+
<a href="./getting-started/index.html" class="feature-card" style="text-decoration: none; color: inherit;">
|
|
103
|
+
<div class="feature-icon">
|
|
104
|
+
<svg viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="2">
|
|
105
|
+
<path
|
|
106
|
+
d="M14.7 6.3a1 1 0 000 1.4l1.6 1.6a1 1 0 001.4 0l3.77-3.77a6 6 0 01-7.94 7.94l-6.91 6.91a2.12 2.12 0 01-3-3l6.91-6.91a6 6 0 017.94-7.94l-3.76 3.76z" />
|
|
107
|
+
</svg>
|
|
108
|
+
</div>
|
|
109
|
+
<h3 class="feature-title">Zero Build Step</h3>
|
|
110
|
+
<p class="feature-description">
|
|
111
|
+
No bundler required. Drop in a script tag and start building. Works everywhere.
|
|
112
|
+
</p>
|
|
113
|
+
</a>
|
|
114
|
+
|
|
115
|
+
</div>
|
|
116
|
+
</div>
|
|
117
|
+
</section>
|
|
118
|
+
|
|
119
|
+
|
|
120
|
+
|
|
121
|
+
<!-- Call to Action -->
|
|
122
|
+
<section class="section">
|
|
123
|
+
<div class="section-content">
|
|
124
|
+
<div class="section-header">
|
|
125
|
+
<h2 class="section-title">Heavy, Complex Frameworks? Lighten Up.</h2>
|
|
126
|
+
<p class="section-subtitle">
|
|
127
|
+
Get started in minutes. No npm install. No webpack or vite build process. Just code.
|
|
128
|
+
</p>
|
|
129
|
+
</div>
|
|
130
|
+
<div style="text-align: center;">
|
|
131
|
+
<a href="/docs/getting-started/" class="btn btn-primary btn-lg">Enlighten Your UI</a>
|
|
132
|
+
</div>
|
|
133
|
+
</div>
|
|
134
|
+
</section>
|