lightview 2.0.8 → 2.1.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.
Files changed (180) hide show
  1. package/README.md +47 -1283
  2. package/build-bundles.mjs +109 -0
  3. package/cdom/helpers/array.js +70 -0
  4. package/cdom/helpers/compare.js +26 -0
  5. package/cdom/helpers/conditional.js +34 -0
  6. package/cdom/helpers/datetime.js +54 -0
  7. package/cdom/helpers/format.js +20 -0
  8. package/cdom/helpers/logic.js +24 -0
  9. package/cdom/helpers/lookup.js +25 -0
  10. package/cdom/helpers/math.js +34 -0
  11. package/cdom/helpers/network.js +41 -0
  12. package/cdom/helpers/state.js +77 -0
  13. package/cdom/helpers/stats.js +39 -0
  14. package/cdom/helpers/string.js +49 -0
  15. package/cdom/parser.js +602 -0
  16. package/components/actions/button.js +19 -6
  17. package/components/actions/dropdown.js +6 -6
  18. package/components/actions/modal.js +9 -9
  19. package/components/actions/swap.js +31 -8
  20. package/components/daisyui.js +1 -1
  21. package/components/data-display/accordion.js +6 -6
  22. package/components/data-display/alert.js +17 -7
  23. package/components/data-display/avatar.js +7 -7
  24. package/components/data-display/badge.js +14 -6
  25. package/components/data-display/card.js +7 -7
  26. package/components/data-display/carousel.js +4 -4
  27. package/components/data-display/chart.js +8 -8
  28. package/components/data-display/chat.js +7 -7
  29. package/components/data-display/collapse.js +5 -5
  30. package/components/data-display/countdown.js +3 -3
  31. package/components/data-display/diff.js +6 -6
  32. package/components/data-display/kbd.js +12 -6
  33. package/components/data-display/loading.js +14 -6
  34. package/components/data-display/progress.js +14 -6
  35. package/components/data-display/radial-progress.js +15 -6
  36. package/components/data-display/stats.js +9 -9
  37. package/components/data-display/table.js +9 -9
  38. package/components/data-display/timeline.js +8 -8
  39. package/components/data-display/toast.js +3 -3
  40. package/components/data-display/tooltip.js +20 -3
  41. package/components/data-input/checkbox.js +5 -5
  42. package/components/data-input/file-input.js +3 -3
  43. package/components/data-input/input.js +5 -5
  44. package/components/data-input/radio.js +9 -9
  45. package/components/data-input/range.js +3 -3
  46. package/components/data-input/rating.js +3 -3
  47. package/components/data-input/select.js +5 -5
  48. package/components/data-input/textarea.js +3 -3
  49. package/components/data-input/toggle.js +5 -5
  50. package/components/layout/divider.js +24 -4
  51. package/components/layout/drawer.js +7 -7
  52. package/components/layout/footer.js +5 -5
  53. package/components/layout/hero.js +5 -5
  54. package/components/layout/indicator.js +18 -4
  55. package/components/layout/join.js +4 -4
  56. package/components/layout/navbar.js +6 -6
  57. package/components/navigation/breadcrumbs.js +4 -4
  58. package/components/navigation/dock.js +5 -5
  59. package/components/navigation/menu.js +6 -6
  60. package/components/navigation/pagination.js +3 -3
  61. package/components/navigation/steps.js +4 -4
  62. package/components/navigation/tabs.js +296 -21
  63. package/components/theme/theme-switch.js +30 -30
  64. package/docs/about.html +141 -7
  65. package/docs/api/computed.html +1 -6
  66. package/docs/api/effects.html +1 -7
  67. package/docs/api/elements.html +130 -58
  68. package/docs/api/enhance.html +1 -6
  69. package/docs/api/hypermedia.html +182 -23
  70. package/docs/api/index.html +11 -12
  71. package/docs/api/nav.html +35 -4
  72. package/docs/api/signals.html +1 -6
  73. package/docs/api/state.html +1 -6
  74. package/docs/assets/js/examplify-sandbox.html +2 -2
  75. package/docs/assets/js/examplify.js +15 -15
  76. package/docs/cdom-nav.html +29 -0
  77. package/docs/cdom.html +362 -0
  78. package/docs/components/accordion.html +4 -4
  79. package/docs/components/alert.html +12 -12
  80. package/docs/components/avatar.html +4 -4
  81. package/docs/components/badge.html +59 -4
  82. package/docs/components/breadcrumbs.html +3 -3
  83. package/docs/components/button.html +83 -97
  84. package/docs/components/card.html +4 -4
  85. package/docs/components/carousel.html +3 -3
  86. package/docs/components/chart-area.html +6 -6
  87. package/docs/components/chart-bar.html +6 -6
  88. package/docs/components/chart-column.html +6 -6
  89. package/docs/components/chart-line.html +6 -6
  90. package/docs/components/chart-pie.html +6 -6
  91. package/docs/components/chart.html +2 -2
  92. package/docs/components/chat.html +4 -4
  93. package/docs/components/checkbox.html +4 -4
  94. package/docs/components/collapse.html +4 -4
  95. package/docs/components/component-nav.html +1 -1
  96. package/docs/components/countdown.html +4 -4
  97. package/docs/components/diff.html +3 -3
  98. package/docs/components/divider.html +68 -24
  99. package/docs/components/dock.html +3 -3
  100. package/docs/components/drawer.html +4 -4
  101. package/docs/components/dropdown.html +4 -4
  102. package/docs/components/file-input.html +4 -4
  103. package/docs/components/footer.html +3 -3
  104. package/docs/components/gallery.html +2 -2
  105. package/docs/components/hero.html +3 -3
  106. package/docs/components/index.css +5 -3
  107. package/docs/components/index.html +4 -4
  108. package/docs/components/indicator.html +88 -34
  109. package/docs/components/input.html +4 -4
  110. package/docs/components/join.html +3 -3
  111. package/docs/components/kbd.html +67 -28
  112. package/docs/components/loading.html +59 -43
  113. package/docs/components/menu.html +4 -4
  114. package/docs/components/modal.html +4 -4
  115. package/docs/components/navbar.html +3 -3
  116. package/docs/components/pagination.html +3 -3
  117. package/docs/components/progress.html +48 -7
  118. package/docs/components/radial-progress.html +35 -15
  119. package/docs/components/radio.html +4 -4
  120. package/docs/components/range.html +4 -4
  121. package/docs/components/rating.html +4 -4
  122. package/docs/components/select.html +4 -4
  123. package/docs/components/sidebar-setup.js +1 -1
  124. package/docs/components/spinner.html +4 -4
  125. package/docs/components/stats.html +4 -4
  126. package/docs/components/steps.html +3 -3
  127. package/docs/components/swap.html +187 -104
  128. package/docs/components/switch.html +4 -4
  129. package/docs/components/table.html +4 -4
  130. package/docs/components/tabs.html +147 -279
  131. package/docs/components/text-input.html +4 -4
  132. package/docs/components/textarea.html +4 -4
  133. package/docs/components/timeline.html +4 -4
  134. package/docs/components/toast.html +4 -4
  135. package/docs/components/toggle.html +4 -4
  136. package/docs/components/tooltip.html +75 -35
  137. package/docs/examples/getting-started-example.html +1 -1
  138. package/docs/examples/index.html +1 -2
  139. package/docs/getting-started/index.html +112 -19
  140. package/docs/index.html +1 -6
  141. package/docs/router-nav.html +13 -0
  142. package/docs/router.html +60 -17
  143. package/docs/styles/index.html +2 -7
  144. package/docs/syntax-nav.html +10 -0
  145. package/docs/syntax.html +146 -0
  146. package/functions/_middleware.js +17 -10
  147. package/functions/processServerScripts.js +127 -0
  148. package/index.html +8 -8
  149. package/lightview-all.js +1 -0
  150. package/lightview-cdom.js +1 -0
  151. package/lightview-router.js +71 -22
  152. package/lightview-x.js +1 -1247
  153. package/lightview.js +1 -760
  154. package/lightview.js.bak +1 -0
  155. package/package.json +37 -26
  156. package/scripts/analysis/README.md +2 -0
  157. package/scripts/analysis/analyze.js +266 -0
  158. package/scripts/analysis/latest_metrics.md +185 -0
  159. package/src/lightview-all.js +10 -0
  160. package/src/lightview-cdom.js +305 -0
  161. package/src/lightview-x.js +1581 -0
  162. package/src/lightview.js +694 -0
  163. package/src/reactivity/signal.js +133 -0
  164. package/src/reactivity/state.js +217 -0
  165. package/test-text-tag.js +6 -0
  166. package/tests/cdom/fixtures/helpers.cdomc +62 -0
  167. package/tests/cdom/fixtures/user.cdom +14 -0
  168. package/tests/cdom/fixtures/user.cdomc +12 -0
  169. package/tests/cdom/fixtures/user.odom +18 -0
  170. package/tests/cdom/fixtures/user.vdom +11 -0
  171. package/tests/cdom/helpers.test.js +121 -0
  172. package/tests/cdom/loader.test.js +125 -0
  173. package/tests/cdom/parser.test.js +108 -0
  174. package/tests/cdom/reactivity.test.js +186 -0
  175. package/tests/text-tag.test.js +77 -0
  176. package/vite.config.mjs +52 -0
  177. package/wrangler.toml +6 -0
  178. package/components/data-display/skeleton.js +0 -66
  179. package/docs/components/skeleton.html +0 -447
  180. package/docs/playground.html +0 -416
@@ -1,7 +1,7 @@
1
1
  <!-- SEO-friendly SPA Shim -->
2
2
  <script src="/lightview-router.js"></script>
3
3
  <script>
4
- if (window.LightviewRouter) {
4
+ if (globalThis.LightviewRouter) {
5
5
  LightviewRouter.base('/index.html');
6
6
  }
7
7
  </script>
@@ -70,7 +70,7 @@
70
70
 
71
71
  <!-- Tabs -->
72
72
  <script>
73
- window.switchSyntaxTab = (tabId) => {
73
+ globalThis.switchSyntaxTab = (tabId) => {
74
74
  const tabs = ['tagged', 'vdom', 'object'];
75
75
  tabs.forEach(t => {
76
76
  const tabEl = document.getElementById(`tab-btn-${t}`);
@@ -276,4 +276,4 @@ $('#example').content(demo);</code></pre>
276
276
  </div>
277
277
  </div>
278
278
  </div>
279
- </div>
279
+ </div>
@@ -1,7 +1,7 @@
1
1
  <!-- SEO-friendly SPA Shim -->
2
2
  <script src="/lightview-router.js"></script>
3
3
  <script>
4
- if (window.LightviewRouter) {
4
+ if (globalThis.LightviewRouter) {
5
5
  LightviewRouter.base('/index.html');
6
6
  }
7
7
  </script>
@@ -70,7 +70,7 @@
70
70
 
71
71
  <!-- Tabs -->
72
72
  <script>
73
- window.switchSyntaxTab = (tabId) => {
73
+ globalThis.switchSyntaxTab = (tabId) => {
74
74
  const tabs = ['tagged', 'vdom', 'object', 'html'];
75
75
  tabs.forEach(t => {
76
76
  const tabEl = document.getElementById(`tab-btn-${t}`);
@@ -206,9 +206,12 @@ $('#example').content(progressBars);</code></pre>
206
206
 
207
207
  &lt;div style="display: flex; flex-direction: column; gap: 1rem; width: 16rem;"&gt;
208
208
  &lt;lv-progress value="30" color="primary"&gt;&lt;/lv-progress&gt;
209
- &lt;lv-progress value="50" color="secondary"&gt;&lt;/lv-progress&gt;
210
- &lt;lv-progress value="70" color="accent"&gt;&lt;/lv-progress&gt;
211
- &lt;lv-progress value="90" color="success"&gt;&lt;/lv-progress&gt;
209
+ &lt;lv-progress value="40" color="secondary"&gt;&lt;/lv-progress&gt;
210
+ &lt;lv-progress value="50" color="accent"&gt;&lt;/lv-progress&gt;
211
+ &lt;lv-progress value="60" color="info"&gt;&lt;/lv-progress&gt;
212
+ &lt;lv-progress value="70" color="success"&gt;&lt;/lv-progress&gt;
213
+ &lt;lv-progress value="80" color="warning"&gt;&lt;/lv-progress&gt;
214
+ &lt;lv-progress value="90" color="error"&gt;&lt;/lv-progress&gt;
212
215
  &lt;/div&gt;</code></pre>
213
216
  </div>
214
217
  </div>
@@ -223,7 +226,7 @@ $('#example').content(progressBars);</code></pre>
223
226
 
224
227
  <!-- Tabs -->
225
228
  <script>
226
- window.switchReactiveSyntaxTab = (tabId) => {
229
+ globalThis.switchReactiveSyntaxTab = (tabId) => {
227
230
  const tabs = ['tagged', 'vdom', 'object'];
228
231
  tabs.forEach(t => {
229
232
  const tabEl = document.getElementById(`tab-btn-reactive-${t}`);
@@ -509,6 +512,44 @@ $('#example').content(demo);</code></pre>
509
512
  </div>
510
513
 
511
514
  >
515
+
516
+ <!-- Custom Element Gallery -->
517
+ <h2 class="text-xl font-bold" style="margin-top: 3rem; margin-bottom: 1rem;">Custom Element Gallery
518
+ </h2>
519
+ <p class="text-sm" style="opacity: 0.7; margin-bottom: 1.5rem;">
520
+ Live examples using <code>&lt;lv-progress&gt;</code> custom elements.
521
+ </p>
522
+
523
+ <script type="module" src="/components/data-display/progress.js"></script>
524
+
525
+ <!-- All Colors -->
526
+ <h3 class="text-lg font-semibold" style="margin-bottom: 0.75rem;">All Colors</h3>
527
+ <div style="display: flex; flex-direction: column; gap: 0.5rem; width: 16rem; margin-bottom: 2rem;">
528
+ <lv-progress value="30" color="primary"></lv-progress>
529
+ <lv-progress value="40" color="secondary"></lv-progress>
530
+ <lv-progress value="50" color="accent"></lv-progress>
531
+ <lv-progress value="60" color="info"></lv-progress>
532
+ <lv-progress value="70" color="success"></lv-progress>
533
+ <lv-progress value="80" color="warning"></lv-progress>
534
+ <lv-progress value="90" color="error"></lv-progress>
535
+ </div>
536
+
537
+ <!-- Different Values -->
538
+ <h3 class="text-lg font-semibold" style="margin-bottom: 0.75rem;">Different Values</h3>
539
+ <div style="display: flex; flex-direction: column; gap: 0.5rem; width: 16rem; margin-bottom: 2rem;">
540
+ <lv-progress value="10" color="primary"></lv-progress>
541
+ <lv-progress value="25" color="primary"></lv-progress>
542
+ <lv-progress value="50" color="primary"></lv-progress>
543
+ <lv-progress value="75" color="primary"></lv-progress>
544
+ <lv-progress value="100" color="primary"></lv-progress>
545
+ </div>
546
+
547
+ <!-- Indeterminate -->
548
+ <h3 class="text-lg font-semibold" style="margin-bottom: 0.75rem;">Indeterminate (No Value)</h3>
549
+ <div style="width: 16rem; margin-bottom: 2rem;">
550
+ <lv-progress color="primary"></lv-progress>
551
+ </div>
552
+
512
553
  </div>
513
554
  </div>
514
- </div>
555
+ </div>
@@ -1,7 +1,7 @@
1
1
  <!-- SEO-friendly SPA Shim -->
2
2
  <script src="/lightview-router.js"></script>
3
3
  <script>
4
- if (window.LightviewRouter) {
4
+ if (globalThis.LightviewRouter) {
5
5
  LightviewRouter.base('/index.html');
6
6
  }
7
7
  </script>
@@ -70,7 +70,7 @@
70
70
 
71
71
  <!-- Tabs -->
72
72
  <script>
73
- window.switchSyntaxTab = (tabId) => {
73
+ globalThis.switchSyntaxTab = (tabId) => {
74
74
  const tabs = ['tagged', 'vdom', 'object', 'html'];
75
75
  tabs.forEach(t => {
76
76
  const tabEl = document.getElementById(`tab-btn-${t}`);
@@ -410,25 +410,45 @@ $('#example').content(demo);</code></pre>
410
410
  </table>
411
411
  </div>
412
412
 
413
- <!-- Colors -->
414
- <h2 class="text-xl font-bold" style="margin-bottom: 1rem;">Colors</h2>
413
+ <!-- Radial Progress Gallery -->
414
+ <h2 class="text-xl font-bold" style="margin-bottom: 1rem;">Radial Progress Gallery</h2>
415
+ <p class="text-sm" style="opacity: 0.7; margin-bottom: 1.5rem;">
416
+ Live examples using <code>&lt;lv-radial-progress&gt;</code> custom elements.
417
+ </p>
418
+
419
+ <script type="module" src="/components/data-display/radial-progress.js"></script>
420
+
421
+ <!-- Different Values -->
422
+ <h3 class="text-lg font-semibold" style="margin-bottom: 0.75rem;">Different Values</h3>
423
+ <div style="display: flex; gap: 1rem; margin-bottom: 2rem;">
424
+ <lv-radial-progress value="0">0%</lv-radial-progress>
425
+ <lv-radial-progress value="25">25%</lv-radial-progress>
426
+ <lv-radial-progress value="50">50%</lv-radial-progress>
427
+ <lv-radial-progress value="75">75%</lv-radial-progress>
428
+ <lv-radial-progress value="100">100%</lv-radial-progress>
429
+ </div>
430
+
431
+ <!-- All Colors -->
432
+ <h3 class="text-lg font-semibold" style="margin-bottom: 0.75rem;">All Colors</h3>
415
433
  <div style="display: flex; gap: 1rem; margin-bottom: 2rem;">
416
- <div class="radial-progress text-primary" style="--value:70;" role="progressbar">70%</div>
417
- <div class="radial-progress text-secondary" style="--value:70;" role="progressbar">70%</div>
418
- <div class="radial-progress text-accent" style="--value:70;" role="progressbar">70%</div>
419
- <div class="radial-progress text-success" style="--value:70;" role="progressbar">70%</div>
434
+ <lv-radial-progress value="70" color="text-primary">70%</lv-radial-progress>
435
+ <lv-radial-progress value="70" color="text-secondary">70%</lv-radial-progress>
436
+ <lv-radial-progress value="70" color="text-accent">70%</lv-radial-progress>
437
+ <lv-radial-progress value="70" color="text-success">70%</lv-radial-progress>
438
+ <lv-radial-progress value="70" color="text-warning">70%</lv-radial-progress>
439
+ <lv-radial-progress value="70" color="text-error">70%</lv-radial-progress>
420
440
  </div>
421
441
 
422
442
  <!-- Custom Size & Thickness -->
423
- <h2 class="text-xl font-bold" style="margin-bottom: 1rem;">Custom Size & Thickness</h2>
443
+ <h3 class="text-lg font-semibold" style="margin-bottom: 0.75rem;">Custom Size & Thickness</h3>
424
444
  <div style="display: flex; gap: 1rem; align-items: center; margin-bottom: 2rem;">
425
- <div class="radial-progress" style="--value:70; --size:8rem;" role="progressbar">70%</div>
426
- <div class="radial-progress" style="--value:70; --size:8rem; --thickness:2px;" role="progressbar">70%
427
- </div>
428
- <div class="radial-progress" style="--value:70; --size:8rem; --thickness:1rem;" role="progressbar">70%
429
- </div>
445
+ <lv-radial-progress value="70" size="6rem">70%</lv-radial-progress>
446
+ <lv-radial-progress value="70" size="8rem" thickness="2px">70%</lv-radial-progress>
447
+ <lv-radial-progress value="70" size="10rem" thickness="1rem"
448
+ color="text-success">70%</lv-radial-progress>
430
449
  </div>
450
+
431
451
  </div>
432
452
  </div>
433
453
  </div>
434
- </div>
454
+ </div>
@@ -1,7 +1,7 @@
1
1
  <!-- SEO-friendly SPA Shim -->
2
2
  <script src="/lightview-router.js"></script>
3
3
  <script>
4
- if (window.LightviewRouter) {
4
+ if (globalThis.LightviewRouter) {
5
5
  LightviewRouter.base('/index.html');
6
6
  }
7
7
  </script>
@@ -70,7 +70,7 @@
70
70
 
71
71
  <!-- Tabs -->
72
72
  <script>
73
- window.switchSyntaxTab = (tabId) => {
73
+ globalThis.switchSyntaxTab = (tabId) => {
74
74
  const tabs = ['tagged', 'vdom', 'object', 'html'];
75
75
  tabs.forEach(t => {
76
76
  const tabEl = document.getElementById(`tab-btn-${t}`);
@@ -303,7 +303,7 @@ $('#example').content({
303
303
 
304
304
  <!-- Tabs -->
305
305
  <script>
306
- window.switchReactiveSyntaxTab = (tabId) => {
306
+ globalThis.switchReactiveSyntaxTab = (tabId) => {
307
307
  const tabs = ['tagged', 'vdom', 'object'];
308
308
  tabs.forEach(t => {
309
309
  const tabEl = document.getElementById(`reactive-tab-btn-${t}`);
@@ -652,4 +652,4 @@ $('#example').content(reactiveDemo);</code></pre>
652
652
  </div>
653
653
  </div>
654
654
  </div>
655
- </div>
655
+ </div>
@@ -1,7 +1,7 @@
1
1
  <!-- SEO-friendly SPA Shim -->
2
2
  <script src="/lightview-router.js"></script>
3
3
  <script>
4
- if (window.LightviewRouter) {
4
+ if (globalThis.LightviewRouter) {
5
5
  LightviewRouter.base('/index.html');
6
6
  }
7
7
  </script>
@@ -71,7 +71,7 @@
71
71
 
72
72
  <!-- Tabs -->
73
73
  <script>
74
- window.switchSyntaxTab = (tabId) => {
74
+ globalThis.switchSyntaxTab = (tabId) => {
75
75
  const tabs = ['tagged', 'vdom', 'object'];
76
76
  tabs.forEach(t => {
77
77
  const tabEl = document.getElementById(`tab-btn-${t}`);
@@ -261,7 +261,7 @@ $('#example').content({
261
261
 
262
262
  <!-- Tabs -->
263
263
  <script>
264
- window.switchReactiveSyntaxTab = (tabId) => {
264
+ globalThis.switchReactiveSyntaxTab = (tabId) => {
265
265
  const tabs = ['tagged', 'vdom', 'object'];
266
266
  tabs.forEach(t => {
267
267
  const tabEl = document.getElementById(`reactive-tab-btn-${t}`);
@@ -608,4 +608,4 @@ $('#example').content(reactiveDemo);</code></pre>
608
608
  </div>
609
609
  </div>
610
610
  </div>
611
- </div>
611
+ </div>
@@ -1,7 +1,7 @@
1
1
  <!-- SEO-friendly SPA Shim -->
2
2
  <script src="/lightview-router.js"></script>
3
3
  <script>
4
- if (window.LightviewRouter) {
4
+ if (globalThis.LightviewRouter) {
5
5
  LightviewRouter.base('/index.html');
6
6
  }
7
7
  </script>
@@ -70,7 +70,7 @@
70
70
 
71
71
  <!-- Tabs -->
72
72
  <script>
73
- window.switchSyntaxTab = (tabId) => {
73
+ globalThis.switchSyntaxTab = (tabId) => {
74
74
  const tabs = ['tagged', 'vdom', 'object'];
75
75
  tabs.forEach(t => {
76
76
  const tabEl = document.getElementById(`tab-btn-${t}`);
@@ -259,7 +259,7 @@ $('#example').content({
259
259
 
260
260
  <!-- Tabs -->
261
261
  <script>
262
- window.switchReactiveSyntaxTab = (tabId) => {
262
+ globalThis.switchReactiveSyntaxTab = (tabId) => {
263
263
  const tabs = ['tagged', 'vdom', 'object'];
264
264
  tabs.forEach(t => {
265
265
  const tabEl = document.getElementById(`reactive-tab-btn-${t}`);
@@ -639,4 +639,4 @@ $('#example').content(reactiveDemo);</code></pre>
639
639
  </div>
640
640
  </div>
641
641
  </div>
642
- </div>
642
+ </div>
@@ -1,7 +1,7 @@
1
1
  <!-- SEO-friendly SPA Shim -->
2
2
  <script src="/lightview-router.js"></script>
3
3
  <script>
4
- if (window.LightviewRouter) {
4
+ if (globalThis.LightviewRouter) {
5
5
  LightviewRouter.base('/index.html');
6
6
  }
7
7
  </script>
@@ -71,7 +71,7 @@
71
71
 
72
72
  <!-- Tabs -->
73
73
  <script>
74
- window.switchSyntaxTab = (tabId) => {
74
+ globalThis.switchSyntaxTab = (tabId) => {
75
75
  const tabs = ['tagged', 'vdom', 'object', 'html'];
76
76
  tabs.forEach(t => {
77
77
  const tabEl = document.getElementById(`tab-btn-${t}`);
@@ -303,7 +303,7 @@ $('#example').content(demo);</code></pre>
303
303
 
304
304
  <!-- Tabs -->
305
305
  <script>
306
- window.switchReactiveSyntaxTab = (tabId) => {
306
+ globalThis.switchReactiveSyntaxTab = (tabId) => {
307
307
  const tabs = ['tagged', 'vdom', 'object'];
308
308
  tabs.forEach(t => {
309
309
  const tabEl = document.getElementById(`reactive-tab-btn-${t}`);
@@ -693,4 +693,4 @@ $('#example').content(reactiveDemo);</code></pre>
693
693
  </div>
694
694
  </div>
695
695
  </div>
696
- </div>
696
+ </div>
@@ -45,7 +45,7 @@ export function initSidebar() {
45
45
  */
46
46
  function updateSidebarUI() {
47
47
  sidebar.className = `gallery-sidebar ${sidebarOpen.value ? 'open' : 'closed'}`;
48
- main.className = `gallery-main ${sidebarOpen.value ? '' : 'sidebar-closed'}`;
48
+ main.className = `gallery-main ${sidebarOpen.value ? 'sidebar-open' : ''}`;
49
49
  overlay.className = `sidebar-overlay ${sidebarOpen.value ? 'active' : ''}`;
50
50
  toggleIcon.setAttribute('class', `toggle-icon ${sidebarOpen.value ? '' : 'rotated'}`);
51
51
  }
@@ -1,10 +1,10 @@
1
1
  <!-- SEO-friendly SPA Shim -->
2
2
  <script src="/lightview-router.js"></script>
3
3
  <script>
4
- if (window.LightviewRouter) {
5
- window.location.replace('/docs/components/loading');
4
+ if (globalThis.LightviewRouter) {
5
+ globalThis.location.replace('/docs/components/loading');
6
6
  } else {
7
- window.location.href = 'loading.html';
7
+ globalThis.location.href = 'loading.html';
8
8
  }
9
9
  </script>
10
10
 
@@ -65,4 +65,4 @@
65
65
  </div>
66
66
  </div>
67
67
  </div>
68
- </div>
68
+ </div>
@@ -1,7 +1,7 @@
1
1
  <!-- SEO-friendly SPA Shim -->
2
2
  <script src="/lightview-router.js"></script>
3
3
  <script>
4
- if (window.LightviewRouter) {
4
+ if (globalThis.LightviewRouter) {
5
5
  LightviewRouter.base('/index.html');
6
6
  }
7
7
  </script>
@@ -69,7 +69,7 @@
69
69
 
70
70
  <!-- Tabs -->
71
71
  <script>
72
- window.switchSyntaxTab = (tabId) => {
72
+ globalThis.switchSyntaxTab = (tabId) => {
73
73
  const tabs = ['tagged', 'vdom', 'object'];
74
74
  tabs.forEach(t => {
75
75
  const tabEl = document.getElementById(`tab-btn-${t}`);
@@ -239,7 +239,7 @@ $('#example').content(stats);</code></pre>
239
239
 
240
240
  <!-- Tabs -->
241
241
  <script>
242
- window.switchReactiveSyntaxTab = (tabId) => {
242
+ globalThis.switchReactiveSyntaxTab = (tabId) => {
243
243
  const tabs = ['tagged', 'vdom', 'object'];
244
244
  tabs.forEach(t => {
245
245
  const tabEl = document.getElementById(`reactive-tab-btn-${t}`);
@@ -483,4 +483,4 @@ $('#example').content(stats);</code></pre>
483
483
  </div>
484
484
  </div>
485
485
  </div>
486
- </div>
486
+ </div>
@@ -1,7 +1,7 @@
1
1
  <!-- SEO-friendly SPA Shim -->
2
2
  <script src="/lightview-router.js"></script>
3
3
  <script>
4
- if (window.LightviewRouter) {
4
+ if (globalThis.LightviewRouter) {
5
5
  LightviewRouter.base('/index.html');
6
6
  }
7
7
  </script>
@@ -69,7 +69,7 @@
69
69
 
70
70
  <!-- Tabs -->
71
71
  <script>
72
- window.switchSyntaxTab = (tabId) => {
72
+ globalThis.switchSyntaxTab = (tabId) => {
73
73
  const tabs = ['tagged', 'vdom', 'object'];
74
74
  tabs.forEach(t => {
75
75
  const tabEl = document.getElementById(`tab-btn-${t}`);
@@ -353,4 +353,4 @@ $('#example').content(demo);</code></pre>
353
353
  </div>
354
354
  </div>
355
355
  </div>
356
- </div>
356
+ </div>