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,236 @@
|
|
|
1
|
+
/* DaisyUI Themes - Variables Only */
|
|
2
|
+
|
|
3
|
+
/* LIGHT */
|
|
4
|
+
[data-theme="light"] {
|
|
5
|
+
color-scheme: light;
|
|
6
|
+
--p: 261 80% 60%;
|
|
7
|
+
--pf: 262 80% 50%;
|
|
8
|
+
--sf: 316 70% 50%;
|
|
9
|
+
--af: 175 70% 41%;
|
|
10
|
+
--nf: 216 28% 25%;
|
|
11
|
+
--in: 198 93% 60%;
|
|
12
|
+
--su: 158 64% 52%;
|
|
13
|
+
--wa: 43 96% 56%;
|
|
14
|
+
--er: 0 91% 71%;
|
|
15
|
+
--inc: 198 100% 12%;
|
|
16
|
+
--suc: 158 100% 10%;
|
|
17
|
+
--wac: 43 100% 11%;
|
|
18
|
+
--erc: 0 100% 14%;
|
|
19
|
+
--rounded-box: 1rem;
|
|
20
|
+
--rounded-btn: 0.5rem;
|
|
21
|
+
--rounded-badge: 1.9rem;
|
|
22
|
+
--animation-btn: 0.25s;
|
|
23
|
+
--animation-input: .2s;
|
|
24
|
+
--btn-text-case: uppercase;
|
|
25
|
+
--btn-focus-scale: 0.95;
|
|
26
|
+
--border-btn: 1px;
|
|
27
|
+
--tab-border: 1px;
|
|
28
|
+
--tab-radius: 0.5rem;
|
|
29
|
+
--s: 316 70% 60%;
|
|
30
|
+
--a: 175 70% 51%;
|
|
31
|
+
--n: 217 28% 25%;
|
|
32
|
+
--b1: 29 10% 100%;
|
|
33
|
+
--b2: 29 10% 96%;
|
|
34
|
+
--b3: 29 10% 92%;
|
|
35
|
+
--bc: 215 28% 17%;
|
|
36
|
+
--pc: 265 98% 16%;
|
|
37
|
+
--sc: 312 91% 16%;
|
|
38
|
+
--ac: 175 42% 14%;
|
|
39
|
+
--nc: 218 19% 82%;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
/* DARK */
|
|
43
|
+
[data-theme="dark"] {
|
|
44
|
+
color-scheme: dark;
|
|
45
|
+
--p: 261 80% 70%;
|
|
46
|
+
--pf: 262 80% 60%;
|
|
47
|
+
--sf: 316 70% 60%;
|
|
48
|
+
--af: 175 70% 51%;
|
|
49
|
+
--nf: 216 28% 25%;
|
|
50
|
+
--in: 198 93% 60%;
|
|
51
|
+
--su: 158 64% 52%;
|
|
52
|
+
--wa: 43 96% 56%;
|
|
53
|
+
--er: 0 91% 71%;
|
|
54
|
+
--inc: 198 100% 12%;
|
|
55
|
+
--suc: 158 100% 10%;
|
|
56
|
+
--wac: 43 100% 11%;
|
|
57
|
+
--erc: 0 100% 14%;
|
|
58
|
+
--rounded-box: 1rem;
|
|
59
|
+
--rounded-btn: 0.5rem;
|
|
60
|
+
--rounded-badge: 1.9rem;
|
|
61
|
+
--animation-btn: 0.25s;
|
|
62
|
+
--animation-input: .2s;
|
|
63
|
+
--btn-text-case: uppercase;
|
|
64
|
+
--btn-focus-scale: 0.95;
|
|
65
|
+
--border-btn: 1px;
|
|
66
|
+
--tab-border: 1px;
|
|
67
|
+
--tab-radius: 0.5rem;
|
|
68
|
+
--s: 316 70% 70%;
|
|
69
|
+
--a: 175 70% 61%;
|
|
70
|
+
--n: 218 12% 16%;
|
|
71
|
+
--b1: 220 18% 20%;
|
|
72
|
+
--b2: 219 20% 17%;
|
|
73
|
+
--b3: 219 21% 15%;
|
|
74
|
+
--bc: 220 13% 69%;
|
|
75
|
+
--pc: 265 98% 16%;
|
|
76
|
+
--sc: 312 91% 16%;
|
|
77
|
+
--ac: 175 42% 14%;
|
|
78
|
+
--nc: 218 19% 82%;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
/* CUPCAKE */
|
|
82
|
+
[data-theme="cupcake"] {
|
|
83
|
+
color-scheme: light;
|
|
84
|
+
--p: 183 47% 59%;
|
|
85
|
+
--pf: 183 47% 49%;
|
|
86
|
+
--sf: 338 71% 68%;
|
|
87
|
+
--af: 37 92% 40%;
|
|
88
|
+
--nf: 216 26% 16%;
|
|
89
|
+
--in: 198 93% 60%;
|
|
90
|
+
--su: 158 64% 52%;
|
|
91
|
+
--wa: 43 96% 56%;
|
|
92
|
+
--er: 0 91% 71%;
|
|
93
|
+
--inc: 198 100% 12%;
|
|
94
|
+
--suc: 158 100% 10%;
|
|
95
|
+
--wac: 43 100% 11%;
|
|
96
|
+
--erc: 0 100% 14%;
|
|
97
|
+
--rounded-box: 1rem;
|
|
98
|
+
--rounded-btn: 1.9rem;
|
|
99
|
+
--rounded-badge: 1.9rem;
|
|
100
|
+
--animation-btn: 0.25s;
|
|
101
|
+
--animation-input: .2s;
|
|
102
|
+
--btn-text-case: uppercase;
|
|
103
|
+
--btn-focus-scale: 0.95;
|
|
104
|
+
--border-btn: 1px;
|
|
105
|
+
--tab-border: 1px;
|
|
106
|
+
--tab-radius: 0.5rem;
|
|
107
|
+
--s: 338 71% 78%;
|
|
108
|
+
--a: 37 92% 50%;
|
|
109
|
+
--n: 217 26% 26%;
|
|
110
|
+
--b1: 24 33% 97%;
|
|
111
|
+
--b2: 27 23% 94%;
|
|
112
|
+
--b3: 20 20% 91%;
|
|
113
|
+
--bc: 215 28% 17%;
|
|
114
|
+
--pc: 183 89% 15%;
|
|
115
|
+
--sc: 338 94% 17%;
|
|
116
|
+
--ac: 37 68% 13%;
|
|
117
|
+
--nc: 213 14% 83%;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
/* CYBERPUNK */
|
|
121
|
+
[data-theme="cyberpunk"] {
|
|
122
|
+
color-scheme: light;
|
|
123
|
+
font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace;
|
|
124
|
+
--p: 345 100% 73%;
|
|
125
|
+
--pf: 345 100% 63%;
|
|
126
|
+
--sf: 197 94% 63%;
|
|
127
|
+
--af: 58 100% 59%;
|
|
128
|
+
--nf: 56 100% 8%;
|
|
129
|
+
--in: 198 93% 60%;
|
|
130
|
+
--su: 158 64% 52%;
|
|
131
|
+
--wa: 43 96% 56%;
|
|
132
|
+
--er: 0 91% 71%;
|
|
133
|
+
--inc: 198 100% 12%;
|
|
134
|
+
--suc: 158 100% 10%;
|
|
135
|
+
--wac: 43 100% 11%;
|
|
136
|
+
--erc: 0 100% 14%;
|
|
137
|
+
--rounded-box: 0;
|
|
138
|
+
--rounded-btn: 0;
|
|
139
|
+
--rounded-badge: 0;
|
|
140
|
+
--animation-btn: 0.25s;
|
|
141
|
+
--animation-input: .2s;
|
|
142
|
+
--btn-text-case: uppercase;
|
|
143
|
+
--btn-focus-scale: 0.95;
|
|
144
|
+
--border-btn: 1px;
|
|
145
|
+
--tab-border: 1px;
|
|
146
|
+
--tab-radius: 0.5rem;
|
|
147
|
+
--s: 197 94% 73%;
|
|
148
|
+
--a: 58 100% 69%;
|
|
149
|
+
--n: 56 100% 18%;
|
|
150
|
+
--b1: 56 100% 58%;
|
|
151
|
+
--b2: 56 100% 48%;
|
|
152
|
+
--b3: 56 100% 38%;
|
|
153
|
+
--bc: 56 100% 11%;
|
|
154
|
+
--pc: 345 100% 14%;
|
|
155
|
+
--sc: 197 100% 14%;
|
|
156
|
+
--ac: 58 100% 13%;
|
|
157
|
+
--nc: 56 100% 84%;
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
/* VALENTINE */
|
|
161
|
+
[data-theme="valentine"] {
|
|
162
|
+
color-scheme: light;
|
|
163
|
+
--p: 353 74% 67%;
|
|
164
|
+
--pf: 353 74% 57%;
|
|
165
|
+
--sf: 319 46% 54%;
|
|
166
|
+
--af: 175 22% 58%;
|
|
167
|
+
--nf: 322 34% 54%;
|
|
168
|
+
--in: 198 93% 60%;
|
|
169
|
+
--su: 158 64% 52%;
|
|
170
|
+
--wa: 43 96% 56%;
|
|
171
|
+
--er: 0 91% 71%;
|
|
172
|
+
--inc: 198 100% 12%;
|
|
173
|
+
--suc: 158 100% 10%;
|
|
174
|
+
--wac: 43 100% 11%;
|
|
175
|
+
--erc: 0 100% 14%;
|
|
176
|
+
--rounded-box: 1rem;
|
|
177
|
+
--rounded-btn: 1.9rem;
|
|
178
|
+
--rounded-badge: 1.9rem;
|
|
179
|
+
--animation-btn: 0.25s;
|
|
180
|
+
--animation-input: .2s;
|
|
181
|
+
--btn-text-case: uppercase;
|
|
182
|
+
--btn-focus-scale: 0.95;
|
|
183
|
+
--border-btn: 1px;
|
|
184
|
+
--tab-border: 1px;
|
|
185
|
+
--tab-radius: 0.5rem;
|
|
186
|
+
--s: 319 46% 64%;
|
|
187
|
+
--a: 175 22% 68%;
|
|
188
|
+
--n: 322 34% 64%;
|
|
189
|
+
--b1: 337 45% 96%;
|
|
190
|
+
--b2: 332 45% 91%;
|
|
191
|
+
--b3: 332 46% 86%;
|
|
192
|
+
--bc: 343 36% 37%;
|
|
193
|
+
--pc: 353 100% 14%;
|
|
194
|
+
--sc: 319 50% 14%;
|
|
195
|
+
--ac: 175 24% 15%;
|
|
196
|
+
--nc: 322 55% 15%;
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
/* AQUA */
|
|
200
|
+
[data-theme="aqua"] {
|
|
201
|
+
color-scheme: dark;
|
|
202
|
+
--p: 188 78% 69%;
|
|
203
|
+
--pf: 188 78% 59%;
|
|
204
|
+
--sf: 268 37% 55%;
|
|
205
|
+
--af: 45 92% 51%;
|
|
206
|
+
--nf: 216 28% 25%;
|
|
207
|
+
--in: 198 93% 60%;
|
|
208
|
+
--su: 158 64% 52%;
|
|
209
|
+
--wa: 43 96% 56%;
|
|
210
|
+
--er: 0 91% 71%;
|
|
211
|
+
--inc: 198 100% 12%;
|
|
212
|
+
--suc: 158 100% 10%;
|
|
213
|
+
--wac: 43 100% 11%;
|
|
214
|
+
--erc: 0 100% 14%;
|
|
215
|
+
--rounded-box: 1rem;
|
|
216
|
+
--rounded-btn: 0.5rem;
|
|
217
|
+
--rounded-badge: 1.9rem;
|
|
218
|
+
--animation-btn: 0.25s;
|
|
219
|
+
--animation-input: 0.2s;
|
|
220
|
+
--btn-text-case: uppercase;
|
|
221
|
+
--btn-focus-scale: 0.95;
|
|
222
|
+
--border-btn: 1px;
|
|
223
|
+
--tab-border: 1px;
|
|
224
|
+
--tab-radius: 0.5rem;
|
|
225
|
+
--s: 268 37% 65%;
|
|
226
|
+
--a: 45 92% 61%;
|
|
227
|
+
--n: 217 28% 25%;
|
|
228
|
+
--b1: 222 51% 18%;
|
|
229
|
+
--b2: 221 44% 15%;
|
|
230
|
+
--b3: 222 46% 12%;
|
|
231
|
+
--bc: 221 34% 69%;
|
|
232
|
+
--pc: 188 98% 16%;
|
|
233
|
+
--sc: 268 45% 16%;
|
|
234
|
+
--ac: 45 98% 15%;
|
|
235
|
+
--nc: 218 19% 82%;
|
|
236
|
+
}
|
|
@@ -0,0 +1,439 @@
|
|
|
1
|
+
<!-- SEO-friendly SPA Shim -->
|
|
2
|
+
<script src="/lightview-router.js"></script>
|
|
3
|
+
<script>
|
|
4
|
+
if (window.LightviewRouter) {
|
|
5
|
+
LightviewRouter.base('/index.html');
|
|
6
|
+
}
|
|
7
|
+
</script>
|
|
8
|
+
|
|
9
|
+
<!-- Load the page-specific stylesheet -->
|
|
10
|
+
<link rel="stylesheet" href="./index.css">
|
|
11
|
+
|
|
12
|
+
<!-- Gallery Structure -->
|
|
13
|
+
<div class="gallery-page">
|
|
14
|
+
<div class="gallery-layout">
|
|
15
|
+
<!-- Sidebar Overlay -->
|
|
16
|
+
<div id="sidebar-overlay" class="sidebar-overlay"></div>
|
|
17
|
+
|
|
18
|
+
<!-- Sidebar -->
|
|
19
|
+
<div id="gallery-sidebar" class="gallery-sidebar" style="visibility: hidden" src="./component-nav.html"></div>
|
|
20
|
+
|
|
21
|
+
<!-- Main Content -->
|
|
22
|
+
<div id="gallery-main" class="gallery-main">
|
|
23
|
+
<!-- Header Container -->
|
|
24
|
+
<div
|
|
25
|
+
style="position: sticky; top: 0; z-index: 30; background: var(--gallery-surface); border-bottom: 1px solid var(--gallery-border); backdrop-filter: blur(8px);">
|
|
26
|
+
<!-- Breadcrumbs Row -->
|
|
27
|
+
<div style="padding: 0.75rem 1.5rem 0;">
|
|
28
|
+
<script>
|
|
29
|
+
(() => {
|
|
30
|
+
const { Breadcrumbs } = Lightview.tags;
|
|
31
|
+
const breadcrumbs = Breadcrumbs({
|
|
32
|
+
id: 'page-breadcrumbs',
|
|
33
|
+
items: [
|
|
34
|
+
{ label: 'Components', href: '/docs/components' },
|
|
35
|
+
{ label: 'Accordion' }
|
|
36
|
+
]
|
|
37
|
+
});
|
|
38
|
+
document.currentScript.replaceWith(breadcrumbs.domEl);
|
|
39
|
+
})();
|
|
40
|
+
</script>
|
|
41
|
+
</div>
|
|
42
|
+
<!-- Title Row -->
|
|
43
|
+
<div class="gallery-header"
|
|
44
|
+
style="border-bottom: none; height: auto; padding-top: 0.5rem; padding-bottom: 0.75rem;">
|
|
45
|
+
<button id="toggle-btn" class="toggle-btn" aria-label="Toggle Sidebar">
|
|
46
|
+
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" class="toggle-icon"
|
|
47
|
+
style="stroke: currentColor; stroke-width: 2;">
|
|
48
|
+
<path stroke-linecap="round" stroke-linejoin="round" d="M15 19l-7-7 7-7" />
|
|
49
|
+
<path stroke-linecap="round" stroke-linejoin="round" d="M11 19l-7-7 7-7" />
|
|
50
|
+
</svg>
|
|
51
|
+
</button>
|
|
52
|
+
<h1 class="gallery-title">Accordion</h1>
|
|
53
|
+
</div>
|
|
54
|
+
</div>
|
|
55
|
+
|
|
56
|
+
<!-- Content -->
|
|
57
|
+
<div class="gallery-content">
|
|
58
|
+
<div class="section-content" style="max-width: 1000px;">
|
|
59
|
+
<p class="text-lg" style="opacity: 0.7; margin-bottom: 1.5rem;">
|
|
60
|
+
Accordion is used for showing and hiding content in collapsible sections.
|
|
61
|
+
Only one section can be open at a time.
|
|
62
|
+
</p>
|
|
63
|
+
|
|
64
|
+
<!-- Basic Example with Examplify -->
|
|
65
|
+
<div class="card bg-base-200" style="margin-bottom: 2rem;">
|
|
66
|
+
<div class="card-body">
|
|
67
|
+
<h2 class="card-title">Basic Example</h2>
|
|
68
|
+
<p class="text-sm" style="opacity: 0.7; margin-bottom: 1rem;">FAQ-style accordion</p>
|
|
69
|
+
|
|
70
|
+
<!-- Tabs -->
|
|
71
|
+
<script>
|
|
72
|
+
window.switchSyntaxTab = (tabId) => {
|
|
73
|
+
const tabs = ['tagged', 'vdom', 'object'];
|
|
74
|
+
tabs.forEach(t => {
|
|
75
|
+
const tabEl = document.getElementById(`tab-btn-${t}`);
|
|
76
|
+
const contentEl = document.getElementById(`syntax-${t}`);
|
|
77
|
+
if (t === tabId) {
|
|
78
|
+
tabEl.classList.add('syntax-tab-active');
|
|
79
|
+
contentEl.style.display = 'block';
|
|
80
|
+
} else {
|
|
81
|
+
tabEl.classList.remove('syntax-tab-active');
|
|
82
|
+
contentEl.style.display = 'none';
|
|
83
|
+
}
|
|
84
|
+
});
|
|
85
|
+
};
|
|
86
|
+
</script>
|
|
87
|
+
<div role="tablist" class="syntax-tabs" style="margin-bottom: 1rem;">
|
|
88
|
+
<button id="tab-btn-tagged" role="tab" class="syntax-tab syntax-tab-active"
|
|
89
|
+
onclick="switchSyntaxTab('tagged')">Tagged</button>
|
|
90
|
+
<button id="tab-btn-vdom" role="tab" class="syntax-tab"
|
|
91
|
+
onclick="switchSyntaxTab('vdom')">vDOM</button>
|
|
92
|
+
<button id="tab-btn-object" role="tab" class="syntax-tab"
|
|
93
|
+
onclick="switchSyntaxTab('object')">Object
|
|
94
|
+
DOM</button>
|
|
95
|
+
</div>
|
|
96
|
+
|
|
97
|
+
<!-- Tagged Syntax -->
|
|
98
|
+
<div id="syntax-tagged">
|
|
99
|
+
<pre><script>
|
|
100
|
+
examplify(document.currentScript.nextElementSibling, {
|
|
101
|
+
at: document.currentScript.parentElement,
|
|
102
|
+
scripts: ['/lightview.js', '/lightview-x.js'],
|
|
103
|
+
styles: ['https://cdn.jsdelivr.net/npm/daisyui@3.9.4/dist/full.min.css'],
|
|
104
|
+
type: 'module',
|
|
105
|
+
minHeight: 180,
|
|
106
|
+
autoRun: true
|
|
107
|
+
});
|
|
108
|
+
</script><code contenteditable="true">await import('/components/data-display/accordion.js');
|
|
109
|
+
const { tags, $ } = Lightview;
|
|
110
|
+
const { Accordion } = tags;
|
|
111
|
+
|
|
112
|
+
const faq = [
|
|
113
|
+
{ q: 'What is Lightview?', a: 'A lightweight reactive UI library.' },
|
|
114
|
+
{ q: 'Does it support TypeScript?', a: 'Yes! Full TypeScript support.' },
|
|
115
|
+
{ q: 'How do I get started?', a: 'Check out our Getting Started guide!' }
|
|
116
|
+
];
|
|
117
|
+
|
|
118
|
+
const accordion = Accordion({},
|
|
119
|
+
...faq.map((item, i) =>
|
|
120
|
+
Accordion.Item({ name: 'faq', checked: i === 0 },
|
|
121
|
+
Accordion.Title({}, item.q),
|
|
122
|
+
Accordion.Content({}, item.a)
|
|
123
|
+
)
|
|
124
|
+
)
|
|
125
|
+
);
|
|
126
|
+
|
|
127
|
+
$('#example').content(accordion);</code></pre>
|
|
128
|
+
</div>
|
|
129
|
+
|
|
130
|
+
<!-- vDOM Syntax -->
|
|
131
|
+
<div id="syntax-vdom" style="display: none;">
|
|
132
|
+
<pre><script>
|
|
133
|
+
examplify(document.currentScript.nextElementSibling, {
|
|
134
|
+
at: document.currentScript.parentElement,
|
|
135
|
+
scripts: ['/lightview.js', '/lightview-x.js'],
|
|
136
|
+
styles: ['https://cdn.jsdelivr.net/npm/daisyui@3.9.4/dist/full.min.css'],
|
|
137
|
+
type: 'module',
|
|
138
|
+
minHeight: 180
|
|
139
|
+
});
|
|
140
|
+
</script><code contenteditable="true">await import('/components/data-display/accordion.js');
|
|
141
|
+
const { $, tags } = Lightview;
|
|
142
|
+
const { Accordion } = tags;
|
|
143
|
+
|
|
144
|
+
const faq = [
|
|
145
|
+
{ q: 'What is Lightview?', a: 'A lightweight reactive UI library.' },
|
|
146
|
+
{ q: 'Does it support TypeScript?', a: 'Yes! Full TypeScript support.' },
|
|
147
|
+
{ q: 'How do I get started?', a: 'Check out our Getting Started guide!' }
|
|
148
|
+
];
|
|
149
|
+
|
|
150
|
+
const accordion = {
|
|
151
|
+
tag: Accordion,
|
|
152
|
+
children: faq.map((item, i) => ({
|
|
153
|
+
tag: Accordion.Item,
|
|
154
|
+
attributes: { name: 'faq', checked: i === 0 },
|
|
155
|
+
children: [
|
|
156
|
+
{ tag: Accordion.Title, children: [item.q] },
|
|
157
|
+
{ tag: Accordion.Content, children: [item.a] }
|
|
158
|
+
]
|
|
159
|
+
}))
|
|
160
|
+
};
|
|
161
|
+
|
|
162
|
+
$('#example').content(accordion);</code></pre>
|
|
163
|
+
</div>
|
|
164
|
+
|
|
165
|
+
<!-- Object DOM Syntax -->
|
|
166
|
+
<div id="syntax-object" style="display: none;">
|
|
167
|
+
<pre><script>
|
|
168
|
+
examplify(document.currentScript.nextElementSibling, {
|
|
169
|
+
at: document.currentScript.parentElement,
|
|
170
|
+
scripts: ['/lightview.js', '/lightview-x.js'],
|
|
171
|
+
styles: ['https://cdn.jsdelivr.net/npm/daisyui@3.9.4/dist/full.min.css'],
|
|
172
|
+
type: 'module',
|
|
173
|
+
minHeight: 180
|
|
174
|
+
});
|
|
175
|
+
</script><code contenteditable="true">await import('/components/data-display/accordion.js');
|
|
176
|
+
const { $ } = Lightview;
|
|
177
|
+
|
|
178
|
+
const faq = [
|
|
179
|
+
{ q: 'What is Lightview?', a: 'A lightweight reactive UI library.' },
|
|
180
|
+
{ q: 'Does it support TypeScript?', a: 'Yes! Full TypeScript support.' },
|
|
181
|
+
{ q: 'How do I get started?', a: 'Check out our Getting Started guide!' }
|
|
182
|
+
];
|
|
183
|
+
|
|
184
|
+
const accordion = {
|
|
185
|
+
Accordion: {
|
|
186
|
+
children: faq.map((item, i) => ({
|
|
187
|
+
'Accordion.Item': {
|
|
188
|
+
name: 'faq',
|
|
189
|
+
checked: i === 0,
|
|
190
|
+
children: [
|
|
191
|
+
{ 'Accordion.Title': { children: [item.q] } },
|
|
192
|
+
{ 'Accordion.Content': { children: [item.a] } }
|
|
193
|
+
]
|
|
194
|
+
}
|
|
195
|
+
}))
|
|
196
|
+
}
|
|
197
|
+
};
|
|
198
|
+
|
|
199
|
+
$('#example').content(accordion);</code></pre>
|
|
200
|
+
</div>
|
|
201
|
+
</div>
|
|
202
|
+
</div>
|
|
203
|
+
|
|
204
|
+
<!-- Reactive Example with Examplify -->
|
|
205
|
+
<div class="card bg-base-200" style="margin-bottom: 2rem;">
|
|
206
|
+
<div class="card-body">
|
|
207
|
+
<h2 class="card-title">Plus/Minus Icon</h2>
|
|
208
|
+
<p class="text-sm" style="opacity: 0.7; margin-bottom: 1rem;">Accordion with plus/minus
|
|
209
|
+
toggle icon</p>
|
|
210
|
+
|
|
211
|
+
<!-- Tabs -->
|
|
212
|
+
<script>
|
|
213
|
+
window.switchReactiveSyntaxTab = (tabId) => {
|
|
214
|
+
const tabs = ['tagged', 'vdom', 'object'];
|
|
215
|
+
tabs.forEach(t => {
|
|
216
|
+
const tabEl = document.getElementById(`reactive-tab-btn-${t}`);
|
|
217
|
+
const contentEl = document.getElementById(`reactive-syntax-${t}`);
|
|
218
|
+
if (t === tabId) {
|
|
219
|
+
tabEl.classList.add('syntax-tab-active');
|
|
220
|
+
contentEl.style.display = 'block';
|
|
221
|
+
} else {
|
|
222
|
+
tabEl.classList.remove('syntax-tab-active');
|
|
223
|
+
contentEl.style.display = 'none';
|
|
224
|
+
}
|
|
225
|
+
});
|
|
226
|
+
};
|
|
227
|
+
</script>
|
|
228
|
+
<div role="tablist" class="syntax-tabs" style="margin-bottom: 1rem;">
|
|
229
|
+
<button id="reactive-tab-btn-tagged" role="tab" class="syntax-tab syntax-tab-active"
|
|
230
|
+
onclick="switchReactiveSyntaxTab('tagged')">Tagged</button>
|
|
231
|
+
<button id="reactive-tab-btn-vdom" role="tab" class="syntax-tab"
|
|
232
|
+
onclick="switchReactiveSyntaxTab('vdom')">vDOM</button>
|
|
233
|
+
<button id="reactive-tab-btn-object" role="tab" class="syntax-tab"
|
|
234
|
+
onclick="switchReactiveSyntaxTab('object')">Object DOM</button>
|
|
235
|
+
</div>
|
|
236
|
+
|
|
237
|
+
<!-- Tagged Syntax -->
|
|
238
|
+
<div id="reactive-syntax-tagged">
|
|
239
|
+
<pre><script>
|
|
240
|
+
examplify(document.currentScript.nextElementSibling, {
|
|
241
|
+
at: document.currentScript.parentElement,
|
|
242
|
+
scripts: ['/lightview.js', '/lightview-x.js'],
|
|
243
|
+
styles: ['https://cdn.jsdelivr.net/npm/daisyui@3.9.4/dist/full.min.css'],
|
|
244
|
+
type: 'module',
|
|
245
|
+
minHeight: 180
|
|
246
|
+
});
|
|
247
|
+
</script><code contenteditable="true">await import('/components/data-display/accordion.js');
|
|
248
|
+
const { tags, $ } = Lightview;
|
|
249
|
+
const { Accordion } = tags;
|
|
250
|
+
|
|
251
|
+
const sections = [
|
|
252
|
+
{ title: '📦 Shipping', content: 'Free shipping on orders over $50.' },
|
|
253
|
+
{ title: '🔄 Returns', content: '30-day return policy for unused items.' },
|
|
254
|
+
{ title: '💳 Payment', content: 'We accept all major credit cards.' }
|
|
255
|
+
];
|
|
256
|
+
|
|
257
|
+
const accordion = Accordion({ join: true },
|
|
258
|
+
...sections.map((item, i) =>
|
|
259
|
+
Accordion.Item({ name: 'info', icon: 'plus', join: true, checked: i === 0 },
|
|
260
|
+
Accordion.Title({}, item.title),
|
|
261
|
+
Accordion.Content({}, item.content)
|
|
262
|
+
)
|
|
263
|
+
)
|
|
264
|
+
);
|
|
265
|
+
|
|
266
|
+
$('#example').content(accordion);</code></pre>
|
|
267
|
+
</div>
|
|
268
|
+
|
|
269
|
+
<!-- vDOM Syntax -->
|
|
270
|
+
<div id="reactive-syntax-vdom" style="display: none;">
|
|
271
|
+
<pre><script>
|
|
272
|
+
examplify(document.currentScript.nextElementSibling, {
|
|
273
|
+
at: document.currentScript.parentElement,
|
|
274
|
+
scripts: ['/lightview.js', '/lightview-x.js'],
|
|
275
|
+
styles: ['https://cdn.jsdelivr.net/npm/daisyui@3.9.4/dist/full.min.css'],
|
|
276
|
+
type: 'module',
|
|
277
|
+
minHeight: 180
|
|
278
|
+
});
|
|
279
|
+
</script><code contenteditable="true">await import('/components/data-display/accordion.js');
|
|
280
|
+
const { $, tags } = Lightview;
|
|
281
|
+
const { Accordion } = tags;
|
|
282
|
+
|
|
283
|
+
const sections = [
|
|
284
|
+
{ title: '📦 Shipping', content: 'Free shipping on orders over $50.' },
|
|
285
|
+
{ title: '🔄 Returns', content: '30-day return policy for unused items.' },
|
|
286
|
+
{ title: '💳 Payment', content: 'We accept all major credit cards.' }
|
|
287
|
+
];
|
|
288
|
+
|
|
289
|
+
const accordion = {
|
|
290
|
+
tag: Accordion,
|
|
291
|
+
attributes: { join: true },
|
|
292
|
+
children: sections.map((item, i) => ({
|
|
293
|
+
tag: Accordion.Item,
|
|
294
|
+
attributes: { name: 'info', icon: 'plus', join: true, checked: i === 0 },
|
|
295
|
+
children: [
|
|
296
|
+
{ tag: Accordion.Title, children: [item.title] },
|
|
297
|
+
{ tag: Accordion.Content, children: [item.content] }
|
|
298
|
+
]
|
|
299
|
+
}))
|
|
300
|
+
};
|
|
301
|
+
|
|
302
|
+
$('#example').content(accordion);</code></pre>
|
|
303
|
+
</div>
|
|
304
|
+
|
|
305
|
+
<!-- Object DOM Syntax -->
|
|
306
|
+
<div id="reactive-syntax-object" style="display: none;">
|
|
307
|
+
<pre><script>
|
|
308
|
+
examplify(document.currentScript.nextElementSibling, {
|
|
309
|
+
at: document.currentScript.parentElement,
|
|
310
|
+
scripts: ['/lightview.js', '/lightview-x.js'],
|
|
311
|
+
styles: ['https://cdn.jsdelivr.net/npm/daisyui@3.9.4/dist/full.min.css'],
|
|
312
|
+
type: 'module',
|
|
313
|
+
minHeight: 180
|
|
314
|
+
});
|
|
315
|
+
</script><code contenteditable="true">await import('/components/data-display/accordion.js');
|
|
316
|
+
const { $ } = Lightview;
|
|
317
|
+
|
|
318
|
+
const sections = [
|
|
319
|
+
{ title: '📦 Shipping', content: 'Free shipping on orders over $50.' },
|
|
320
|
+
{ title: '🔄 Returns', content: '30-day return policy for unused items.' },
|
|
321
|
+
{ title: '💳 Payment', content: 'We accept all major credit cards.' }
|
|
322
|
+
];
|
|
323
|
+
|
|
324
|
+
const accordion = {
|
|
325
|
+
Accordion: {
|
|
326
|
+
join: true,
|
|
327
|
+
children: sections.map((item, i) => ({
|
|
328
|
+
'Accordion.Item': {
|
|
329
|
+
name: 'info',
|
|
330
|
+
icon: 'plus',
|
|
331
|
+
join: true,
|
|
332
|
+
checked: i === 0,
|
|
333
|
+
children: [
|
|
334
|
+
{ 'Accordion.Title': { children: [item.title] } },
|
|
335
|
+
{ 'Accordion.Content': { children: [item.content] } }
|
|
336
|
+
]
|
|
337
|
+
}
|
|
338
|
+
}))
|
|
339
|
+
}
|
|
340
|
+
};
|
|
341
|
+
|
|
342
|
+
$('#example').content(accordion);</code></pre>
|
|
343
|
+
</div>
|
|
344
|
+
</div>
|
|
345
|
+
</div>
|
|
346
|
+
|
|
347
|
+
<!-- Props Table -->
|
|
348
|
+
<h2 class="text-xl font-bold" style="margin-bottom: 1rem;">Props</h2>
|
|
349
|
+
<div style="overflow-x: auto; margin-bottom: 2rem;">
|
|
350
|
+
<table class="table table-zebra">
|
|
351
|
+
<thead>
|
|
352
|
+
<tr>
|
|
353
|
+
<th>Prop</th>
|
|
354
|
+
<th>Type</th>
|
|
355
|
+
<th>Default</th>
|
|
356
|
+
<th>Description</th>
|
|
357
|
+
</tr>
|
|
358
|
+
</thead>
|
|
359
|
+
<tbody>
|
|
360
|
+
<tr>
|
|
361
|
+
<td><code>join</code></td>
|
|
362
|
+
<td>boolean</td>
|
|
363
|
+
<td>false</td>
|
|
364
|
+
<td>Use connected/joined style</td>
|
|
365
|
+
</tr>
|
|
366
|
+
</tbody>
|
|
367
|
+
</table>
|
|
368
|
+
</div>
|
|
369
|
+
|
|
370
|
+
<!-- Accordion.Item Props -->
|
|
371
|
+
<h2 class="text-xl font-bold" style="margin-bottom: 1rem;">Accordion.Item Props</h2>
|
|
372
|
+
<div style="overflow-x: auto; margin-bottom: 2rem;">
|
|
373
|
+
<table class="table table-zebra">
|
|
374
|
+
<thead>
|
|
375
|
+
<tr>
|
|
376
|
+
<th>Prop</th>
|
|
377
|
+
<th>Type</th>
|
|
378
|
+
<th>Default</th>
|
|
379
|
+
<th>Description</th>
|
|
380
|
+
</tr>
|
|
381
|
+
</thead>
|
|
382
|
+
<tbody>
|
|
383
|
+
<tr>
|
|
384
|
+
<td><code>name</code></td>
|
|
385
|
+
<td>string</td>
|
|
386
|
+
<td>'accordion'</td>
|
|
387
|
+
<td>Radio group name (only one opens at a time)</td>
|
|
388
|
+
</tr>
|
|
389
|
+
<tr>
|
|
390
|
+
<td><code>icon</code></td>
|
|
391
|
+
<td>string</td>
|
|
392
|
+
<td>'arrow'</td>
|
|
393
|
+
<td>'arrow' | 'plus'</td>
|
|
394
|
+
</tr>
|
|
395
|
+
<tr>
|
|
396
|
+
<td><code>checked</code></td>
|
|
397
|
+
<td>boolean</td>
|
|
398
|
+
<td>false</td>
|
|
399
|
+
<td>Initially open</td>
|
|
400
|
+
</tr>
|
|
401
|
+
<tr>
|
|
402
|
+
<td><code>join</code></td>
|
|
403
|
+
<td>boolean</td>
|
|
404
|
+
<td>false</td>
|
|
405
|
+
<td>Use joined styling</td>
|
|
406
|
+
</tr>
|
|
407
|
+
</tbody>
|
|
408
|
+
</table>
|
|
409
|
+
</div>
|
|
410
|
+
|
|
411
|
+
<!-- Static Examples -->
|
|
412
|
+
<h2 class="text-xl font-bold" style="margin-bottom: 1rem;">Arrow Icon (Default)</h2>
|
|
413
|
+
<div style="display: flex; flex-direction: column; gap: 0.5rem; margin-bottom: 2rem;">
|
|
414
|
+
<div class="collapse collapse-arrow"
|
|
415
|
+
style="background-color: oklch(var(--b1)); border: 1px solid oklch(var(--b3));">
|
|
416
|
+
<input type="radio" name="accordion-demo" checked="checked" />
|
|
417
|
+
<div class="collapse-title font-semibold">Click to open this one</div>
|
|
418
|
+
<div class="collapse-content text-sm">Content for section one.</div>
|
|
419
|
+
</div>
|
|
420
|
+
<div class="collapse collapse-arrow"
|
|
421
|
+
style="background-color: oklch(var(--b1)); border: 1px solid oklch(var(--b3));">
|
|
422
|
+
<input type="radio" name="accordion-demo" />
|
|
423
|
+
<div class="collapse-title font-semibold">Click to open this one</div>
|
|
424
|
+
<div class="collapse-content text-sm">Content for section two.</div>
|
|
425
|
+
</div>
|
|
426
|
+
</div>
|
|
427
|
+
|
|
428
|
+
<!-- Plus/Minus Icon -->
|
|
429
|
+
<h2 class="text-xl font-bold" style="margin-bottom: 1rem;">Plus/Minus Icon</h2>
|
|
430
|
+
<div class="collapse collapse-plus"
|
|
431
|
+
style="background-color: oklch(var(--b1)); border: 1px solid oklch(var(--b3)); margin-bottom: 2rem;">
|
|
432
|
+
<input type="checkbox" />
|
|
433
|
+
<div class="collapse-title font-semibold">Click me to show/hide</div>
|
|
434
|
+
<div class="collapse-content text-sm">Hidden content revealed!</div>
|
|
435
|
+
</div>
|
|
436
|
+
</div>
|
|
437
|
+
</div>
|
|
438
|
+
</div>
|
|
439
|
+
</div>
|