@luna_ui/astra 0.0.1

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 (350) hide show
  1. package/assets/scripts/loader.js +1 -0
  2. package/assets/scripts/sidebar.js +29 -0
  3. package/assets/scripts/theme.js +25 -0
  4. package/assets/scripts/toc.js +41 -0
  5. package/assets/scripts/wc-loader.js +28 -0
  6. package/assets/styles/main.css +592 -0
  7. package/assets/styles/markdown.css +74 -0
  8. package/bin/astra.mjs +2 -0
  9. package/dist/abap-4DRkXMJR.js +1 -0
  10. package/dist/actionscript-3-h0lqWyGv.js +1 -0
  11. package/dist/ada-B4-fQi6R.js +1 -0
  12. package/dist/andromeeda-DnfMDO_Y.js +1 -0
  13. package/dist/angular-html-CgTXg5Z6.js +1 -0
  14. package/dist/angular-html-d-0S-zLW.js +1 -0
  15. package/dist/angular-ts-CHhlLyrZ.js +1 -0
  16. package/dist/apache-CjmdmrNd.js +1 -0
  17. package/dist/apex-BQCmYrYs.js +1 -0
  18. package/dist/apl-BS7gisDH.js +1 -0
  19. package/dist/applescript-DmuENMYc.js +1 -0
  20. package/dist/ara-DSUvK8h0.js +1 -0
  21. package/dist/asciidoc-DtiaLqcg.js +1 -0
  22. package/dist/asm-vw4b_i9u.js +1 -0
  23. package/dist/astro-Cy9wZvxd.js +1 -0
  24. package/dist/aurora-x-LGMiQelM.js +1 -0
  25. package/dist/awk-CN3ZPsCY.js +1 -0
  26. package/dist/ayu-dark-8Z6NAin8.js +1 -0
  27. package/dist/ballerina-B4Fqjiam.js +1 -0
  28. package/dist/bat-DQvEQ0oY.js +1 -0
  29. package/dist/beancount-aKEgevoR.js +1 -0
  30. package/dist/berry-BOM3vuC7.js +1 -0
  31. package/dist/bibtex-CMp7yDWH.js +1 -0
  32. package/dist/bicep-BebJh39J.js +1 -0
  33. package/dist/blade-j7hZXB64.js +1 -0
  34. package/dist/bsl-DgkNvZZe.js +1 -0
  35. package/dist/c-87QmhLAV.js +1 -0
  36. package/dist/c-wmv-cFo9.js +1 -0
  37. package/dist/cadence-Cgd84A_0.js +1 -0
  38. package/dist/cairo-Dcrxjodq.js +1 -0
  39. package/dist/catppuccin-frappe-BpQ1lU1w.js +1 -0
  40. package/dist/catppuccin-latte-Cp48KXmS.js +1 -0
  41. package/dist/catppuccin-macchiato-Bpp0X-sF.js +1 -0
  42. package/dist/catppuccin-mocha-C2yaN9uG.js +1 -0
  43. package/dist/chunk-C91IYPK5.js +1 -0
  44. package/dist/clarity-pyieEWy3.js +1 -0
  45. package/dist/cli-p_7F_GeF.js +435 -0
  46. package/dist/cli.d.ts +1 -0
  47. package/dist/cli.js +2 -0
  48. package/dist/clojure-D2WDer8_.js +1 -0
  49. package/dist/cmake-CK9_JPOP.js +1 -0
  50. package/dist/cmake-Cdf80Fup.js +1 -0
  51. package/dist/cobol-DHzxMIfc.js +1 -0
  52. package/dist/codeowners-b6uQw4Jm.js +1 -0
  53. package/dist/codeql-04zjaa8t.js +1 -0
  54. package/dist/coffee-DCpHmt37.js +1 -0
  55. package/dist/common-lisp-DJpZd9nc.js +1 -0
  56. package/dist/coq-CqrhdPuQ.js +1 -0
  57. package/dist/cpp-DJwL1bmY.js +1 -0
  58. package/dist/cpp-bXmEu2fj.js +1 -0
  59. package/dist/crystal-QrrnajAZ.js +1 -0
  60. package/dist/csharp-CCkaXaBl.js +1 -0
  61. package/dist/csharp-DF2IH6Io.js +1 -0
  62. package/dist/css-B782H9QQ.js +1 -0
  63. package/dist/css-C3GPUY5d.js +1 -0
  64. package/dist/csv--xFxOZnZ.js +1 -0
  65. package/dist/csv-DwE9d_vs.js +1 -0
  66. package/dist/cue-Boddp5ou.js +1 -0
  67. package/dist/cypher-CJ-77cgQ.js +1 -0
  68. package/dist/d-D0I1dM2T.js +1 -0
  69. package/dist/dark-plus-BU3QBz56.js +1 -0
  70. package/dist/dart-BJ8cdcjB.js +1 -0
  71. package/dist/dax-flGRwOMk.js +1 -0
  72. package/dist/desktop-CKJBoUCX.js +1 -0
  73. package/dist/diff-D0R8227a.js +1 -0
  74. package/dist/diff-JYRIHEgk.js +1 -0
  75. package/dist/dist-Bx67DuWk.js +12 -0
  76. package/dist/docker-CaPT0nh2.js +1 -0
  77. package/dist/dotenv-Cl6daHtc.js +1 -0
  78. package/dist/dracula-Cw9IWaSN.js +1 -0
  79. package/dist/dracula-soft-BqgovASh.js +1 -0
  80. package/dist/dream-maker-B43zqZ9J.js +1 -0
  81. package/dist/edge-Ceyc3rVg.js +1 -0
  82. package/dist/elixir-Gvbortfm.js +1 -0
  83. package/dist/elm-DjLt6yAp.js +1 -0
  84. package/dist/emacs-lisp-D80T64tz.js +1 -0
  85. package/dist/erb-CXoLzZh0.js +1 -0
  86. package/dist/erlang-BogW8nFy.js +1 -0
  87. package/dist/everforest-dark-ogfM6sNR.js +1 -0
  88. package/dist/everforest-light-D6fPa5N4.js +1 -0
  89. package/dist/fennel-B2Zn_N77.js +1 -0
  90. package/dist/fish-COSG8aRZ.js +1 -0
  91. package/dist/fluent-D8gvH-iE.js +1 -0
  92. package/dist/fortran-fixed-form-D7puVArr.js +1 -0
  93. package/dist/fortran-free-form-AdpHkc55.js +1 -0
  94. package/dist/fortran-free-form-B-rZjaen.js +1 -0
  95. package/dist/fsharp-CFCe56st.js +1 -0
  96. package/dist/gdresource-CkuXen0_.js +1 -0
  97. package/dist/gdscript-B2-VFJAr.js +1 -0
  98. package/dist/gdscript-BgjbTSgo.js +1 -0
  99. package/dist/gdshader-CW5dzS3z.js +1 -0
  100. package/dist/gdshader-WTsPyo0L.js +1 -0
  101. package/dist/genie-C4I2dHj5.js +1 -0
  102. package/dist/gherkin-BqdToCRC.js +1 -0
  103. package/dist/git-commit-CtQHrkj3.js +1 -0
  104. package/dist/git-rebase-DZ7KYW5J.js +1 -0
  105. package/dist/github-dark-Dhw01-x_.js +1 -0
  106. package/dist/github-dark-default-DWGCwC0m.js +1 -0
  107. package/dist/github-dark-dimmed-euk1ld1c.js +1 -0
  108. package/dist/github-dark-high-contrast-BEHPWBGW.js +1 -0
  109. package/dist/github-light-DIH3R0Pp.js +1 -0
  110. package/dist/github-light-default-joSRi-P5.js +1 -0
  111. package/dist/github-light-high-contrast-BeJxmE-G.js +1 -0
  112. package/dist/gleam-ybdQKAnL.js +1 -0
  113. package/dist/glimmer-js-C7QvVTe0.js +1 -0
  114. package/dist/glimmer-ts-BtNjgeMZ.js +1 -0
  115. package/dist/glsl-Bl2rgVkF.js +1 -0
  116. package/dist/glsl-DK2LO5Ai.js +1 -0
  117. package/dist/gnuplot-DuihR3pv.js +1 -0
  118. package/dist/go-CafkwwfM.js +1 -0
  119. package/dist/go-DJYwhvJ3.js +1 -0
  120. package/dist/graphql-CWPKPXc6.js +1 -0
  121. package/dist/graphql-t4luSV8n.js +1 -0
  122. package/dist/groovy-ge4S-gf0.js +1 -0
  123. package/dist/gruvbox-dark-hard-Bn5BzspA.js +1 -0
  124. package/dist/gruvbox-dark-medium-c5nt2GVa.js +1 -0
  125. package/dist/gruvbox-dark-soft-CDQxnYqs.js +1 -0
  126. package/dist/gruvbox-light-hard-CYnE9iXs.js +1 -0
  127. package/dist/gruvbox-light-medium-Bib7X0I1.js +1 -0
  128. package/dist/gruvbox-light-soft-uNsFDxv8.js +1 -0
  129. package/dist/hack-CuBlwJsx.js +1 -0
  130. package/dist/haml-B8bmXhBu.js +1 -0
  131. package/dist/haml-DwxcKQb3.js +1 -0
  132. package/dist/handlebars-0vCF10JB.js +1 -0
  133. package/dist/haskell-BNCSquDI.js +1 -0
  134. package/dist/haxe-DCnwBaYO.js +1 -0
  135. package/dist/haxe-G7UefS7i.js +1 -0
  136. package/dist/hcl-BFNNInwi.js +1 -0
  137. package/dist/hjson-Dvt_015e.js +1 -0
  138. package/dist/hlsl-B8f0y-cZ.js +1 -0
  139. package/dist/hlsl-BjMfZaun.js +1 -0
  140. package/dist/houston-pqjsYGpQ.js +1 -0
  141. package/dist/html-CMGi1hjb.js +1 -0
  142. package/dist/html-DmY_wHSX.js +1 -0
  143. package/dist/html-derivative-BqkAHwxw.js +1 -0
  144. package/dist/html-derivative-GfNAXNvy.js +1 -0
  145. package/dist/http-DSNmXPmD.js +1 -0
  146. package/dist/hurl-CkrB6eSq.js +1 -0
  147. package/dist/hxml-BqY1UbIj.js +1 -0
  148. package/dist/hy-D60OpFH3.js +1 -0
  149. package/dist/imba-ebgbSwGz.js +1 -0
  150. package/dist/index.d.ts +1 -0
  151. package/dist/index.js +1 -0
  152. package/dist/ini-BYj6RmKB.js +1 -0
  153. package/dist/java-Bi_Y8Bsw.js +1 -0
  154. package/dist/java-CaqIw_Rf.js +1 -0
  155. package/dist/javascript-CGOaYlKm.js +1 -0
  156. package/dist/javascript-u1vot5QS.js +1 -0
  157. package/dist/jinja-D4fgt2Cy.js +1 -0
  158. package/dist/jison-BupbRSBu.js +1 -0
  159. package/dist/json-DgrvHR2v.js +1 -0
  160. package/dist/json-IYFshA56.js +1 -0
  161. package/dist/json5-aE0VX-pu.js +1 -0
  162. package/dist/jsonc-CqRuzQuA.js +1 -0
  163. package/dist/jsonl-SOOkn7Sw.js +1 -0
  164. package/dist/jsonnet-DIfu6phf.js +1 -0
  165. package/dist/jssm-hV0pDTDQ.js +1 -0
  166. package/dist/jsx-C0SH37ly.js +1 -0
  167. package/dist/jsx-CaJZmrVS.js +1 -0
  168. package/dist/julia-BLM7eaiW.js +1 -0
  169. package/dist/kanagawa-dragon-CAUDhvmI.js +1 -0
  170. package/dist/kanagawa-lotus-Cw3RzpRs.js +1 -0
  171. package/dist/kanagawa-wave-CTd7QKuU.js +1 -0
  172. package/dist/kdl-3xrhyk5W.js +1 -0
  173. package/dist/kotlin-BHOgCkyf.js +1 -0
  174. package/dist/kusto-BM-oAYAb.js +1 -0
  175. package/dist/laserwave-CCurWjd8.js +1 -0
  176. package/dist/latex-Bvx9pcFA.js +1 -0
  177. package/dist/lean-D8IaoOiI.js +1 -0
  178. package/dist/less-CN_5Yw0a.js +1 -0
  179. package/dist/less-DV0aDiBa.js +1 -0
  180. package/dist/light-plus-D4kPJKWS.js +1 -0
  181. package/dist/liquid-sRlgGzf6.js +1 -0
  182. package/dist/llvm-CsnYorVw.js +1 -0
  183. package/dist/log-C_SMGL8n.js +1 -0
  184. package/dist/logo-CVzLzsP_.js +1 -0
  185. package/dist/lua-DOWHA_3v.js +1 -0
  186. package/dist/lua-DeAY9K4r.js +1 -0
  187. package/dist/luau-CzkleyTz.js +1 -0
  188. package/dist/make-B6JGcnpP.js +1 -0
  189. package/dist/markdown-CdC2l-IK.js +1 -0
  190. package/dist/markdown-DreHh8L0.js +1 -0
  191. package/dist/marko-BjGFov7R.js +1 -0
  192. package/dist/material-theme-DkzQiX4t.js +1 -0
  193. package/dist/material-theme-darker-DrS-0NxT.js +1 -0
  194. package/dist/material-theme-lighter-BwuKMVjk.js +1 -0
  195. package/dist/material-theme-ocean-9ZbppIGx.js +1 -0
  196. package/dist/material-theme-palenight-D-DAK9fg.js +1 -0
  197. package/dist/matlab-Dp2q9iPw.js +1 -0
  198. package/dist/mdc-CsADJoGH.js +1 -0
  199. package/dist/mdx-CLUcPDI-.js +1 -0
  200. package/dist/mermaid-DNEhkuYX.js +1 -0
  201. package/dist/min-dark-xNYg2MGl.js +1 -0
  202. package/dist/min-light-DUAH99TS.js +1 -0
  203. package/dist/mipsasm-DXT2tkbK.js +1 -0
  204. package/dist/mojo-COYWEKP9.js +1 -0
  205. package/dist/monokai-B-RSj3wm.js +1 -0
  206. package/dist/move-5RTvQ45f.js +1 -0
  207. package/dist/narrat-DuS5ChKX.js +1 -0
  208. package/dist/nextflow-dyA9sMUO.js +1 -0
  209. package/dist/nginx-dAQvnBBp.js +1 -0
  210. package/dist/night-owl-CKeRuZRJ.js +1 -0
  211. package/dist/nim-BUtsSKRR.js +1 -0
  212. package/dist/nix-BeX24OEZ.js +1 -0
  213. package/dist/nord-0qyAcvdD.js +1 -0
  214. package/dist/nushell-Du0Lbu-r.js +1 -0
  215. package/dist/objective-c-BDvn_PS7.js +1 -0
  216. package/dist/objective-cpp-BYVs_lNu.js +1 -0
  217. package/dist/ocaml-Buvqlhqm.js +1 -0
  218. package/dist/one-dark-pro-D9S4sFLi.js +1 -0
  219. package/dist/one-light-Bk0kqEFW.js +1 -0
  220. package/dist/openscad--GnqXwNf.js +1 -0
  221. package/dist/pascal-C9zC3WeM.js +1 -0
  222. package/dist/perl-BILVogJG.js +1 -0
  223. package/dist/php-Cmx4iIMY.js +1 -0
  224. package/dist/php-yQ5AQvPM.js +1 -0
  225. package/dist/pkl-D1JQCIjP.js +1 -0
  226. package/dist/plastic-5fWCgqtU.js +1 -0
  227. package/dist/plsql-DUnoIwFl.js +1 -0
  228. package/dist/po-C-FGioO2.js +1 -0
  229. package/dist/poimandres-DdrZqqhm.js +1 -0
  230. package/dist/polar-Chc9BaLJ.js +1 -0
  231. package/dist/postcss-Bnn_pAAb.js +1 -0
  232. package/dist/postcss-WBt22Dkz.js +1 -0
  233. package/dist/powerquery-DZe8qDfI.js +1 -0
  234. package/dist/powershell-B4WW0YF3.js +1 -0
  235. package/dist/prisma-Db0IWuIE.js +1 -0
  236. package/dist/prolog-CzOU4qVi.js +1 -0
  237. package/dist/proto-CnyvvDd1.js +1 -0
  238. package/dist/pug-XN1V80yZ.js +1 -0
  239. package/dist/puppet-Dts2NQhA.js +1 -0
  240. package/dist/purescript-pfjd9EKT.js +1 -0
  241. package/dist/python-CgkbEA7j.js +1 -0
  242. package/dist/python-DA5VdOjf.js +1 -0
  243. package/dist/qml-BUG6hecM.js +1 -0
  244. package/dist/qmldir-Btbp-SnF.js +1 -0
  245. package/dist/qss-NWGc7ENo.js +1 -0
  246. package/dist/r-ChmFPS6K.js +1 -0
  247. package/dist/r-DqnCeWey.js +1 -0
  248. package/dist/racket-BWT8W4iy.js +1 -0
  249. package/dist/raku-C4oZa0Mf.js +1 -0
  250. package/dist/razor-CwlmIXoZ.js +1 -0
  251. package/dist/red-CqUJW53F.js +1 -0
  252. package/dist/reg-TtWpd5d3.js +1 -0
  253. package/dist/regexp-BQ5u4y-4.js +1 -0
  254. package/dist/regexp-j35UYMaY.js +1 -0
  255. package/dist/rel-DIWiXQ72.js +1 -0
  256. package/dist/riscv-Dv-Wobwn.js +1 -0
  257. package/dist/rose-pine-DAkiUkt-.js +1 -0
  258. package/dist/rose-pine-dawn-C4hAh4xD.js +1 -0
  259. package/dist/rose-pine-moon-DLFvs1dY.js +1 -0
  260. package/dist/rosmsg-Dpq0E4Hf.js +1 -0
  261. package/dist/rst-ByEkqHpT.js +1 -0
  262. package/dist/ruby-BN2fsjPD.js +1 -0
  263. package/dist/ruby-CWJ7HOvL.js +1 -0
  264. package/dist/rust-DXMWrjIS.js +1 -0
  265. package/dist/sas-CFRgJxyH.js +1 -0
  266. package/dist/sass-Dkc8z2U_.js +1 -0
  267. package/dist/scala-Ccn4twDa.js +1 -0
  268. package/dist/scheme-ByS7Ufpv.js +1 -0
  269. package/dist/scss-B2HK8b_u.js +1 -0
  270. package/dist/scss-BtLJrQgO.js +1 -0
  271. package/dist/sdbl-CDZiUoGO.js +1 -0
  272. package/dist/sdbl-DWnpuOvU.js +1 -0
  273. package/dist/shaderlab-Bp6E8wU4.js +1 -0
  274. package/dist/shellscript-4OkiSN-h.js +1 -0
  275. package/dist/shellscript-C1F1sLPK.js +1 -0
  276. package/dist/shellsession-2D4oxU8o.js +1 -0
  277. package/dist/slack-dark-pkdzBKrI.js +1 -0
  278. package/dist/slack-ochin-CoDz9ko7.js +1 -0
  279. package/dist/smalltalk-Kx-oUZNN.js +1 -0
  280. package/dist/snazzy-light-CIl1jIJ6.js +1 -0
  281. package/dist/solarized-dark-DPAo1TQR.js +1 -0
  282. package/dist/solarized-light-ZikhFtV6.js +1 -0
  283. package/dist/solidity-B6e3Bet0.js +1 -0
  284. package/dist/soy-DzHQLVPv.js +1 -0
  285. package/dist/sparql-2EdL4sGD.js +1 -0
  286. package/dist/splunk-4bEiKJQJ.js +1 -0
  287. package/dist/sql-0D3m0WTO.js +1 -0
  288. package/dist/sql-COwkzdcc.js +1 -0
  289. package/dist/ssh-config-DNAYfpA0.js +1 -0
  290. package/dist/stata-Dc9CpOk_.js +1 -0
  291. package/dist/stylus-CU84eN7i.js +1 -0
  292. package/dist/stylus-DMy4Ib1_.js +1 -0
  293. package/dist/svelte-Dt1uHIEv.js +1 -0
  294. package/dist/swift-CAb5ZoTR.js +1 -0
  295. package/dist/synthwave-84-CGqBU60R.js +1 -0
  296. package/dist/system-verilog-D1zBPwIR.js +1 -0
  297. package/dist/systemd-CB-JNMU1.js +1 -0
  298. package/dist/talonscript-C44n0Z1I.js +1 -0
  299. package/dist/tasl-DFJ5DyKD.js +1 -0
  300. package/dist/tcl-Cn_vgD48.js +1 -0
  301. package/dist/templ-D6cgJQ93.js +1 -0
  302. package/dist/terraform-C0GDw5Yx.js +1 -0
  303. package/dist/tex--evcwRaO.js +1 -0
  304. package/dist/tex-DI7k1i5h.js +1 -0
  305. package/dist/tokyo-night-C9P-hOUs.js +1 -0
  306. package/dist/toml-DygwKWiG.js +1 -0
  307. package/dist/ts-tags-BMyJSDRW.js +1 -0
  308. package/dist/tsv-D1hoG1dc.js +1 -0
  309. package/dist/tsx-FaowoCNQ.js +1 -0
  310. package/dist/tsx-MSa_uj0f.js +1 -0
  311. package/dist/turtle-DTVOEVyA.js +1 -0
  312. package/dist/turtle-bFO7CguV.js +1 -0
  313. package/dist/twig-B5SDCRaG.js +1 -0
  314. package/dist/typescript-B56_2R5P.js +1 -0
  315. package/dist/typescript-C9arBFtN.js +1 -0
  316. package/dist/typespec-Xs3M-L3I.js +1 -0
  317. package/dist/typst-aZyRVVhS.js +1 -0
  318. package/dist/v-U-avXm9a.js +1 -0
  319. package/dist/vala-C9DtP-IN.js +1 -0
  320. package/dist/vb-BiBM73OI.js +1 -0
  321. package/dist/verilog-2KJ23lmQ.js +1 -0
  322. package/dist/vesper-QUZLl-KU.js +1 -0
  323. package/dist/vhdl-BM_G-wqS.js +1 -0
  324. package/dist/viml-D9Wfp7kC.js +1 -0
  325. package/dist/vitesse-black-DaRTa0zW.js +1 -0
  326. package/dist/vitesse-dark-CK3JAXrr.js +1 -0
  327. package/dist/vitesse-light-irHM-N9L.js +1 -0
  328. package/dist/vue-8Qq1O0KV.js +1 -0
  329. package/dist/vue-BhuSGEdZ.js +1 -0
  330. package/dist/vue-html-CjTCw3jB.js +1 -0
  331. package/dist/vue-vine-B8fLyaUV.js +1 -0
  332. package/dist/vyper-JxCydtCC.js +1 -0
  333. package/dist/wasm-CEYKmQJi.js +1 -0
  334. package/dist/wasm-CeIBK_Mv.js +1 -0
  335. package/dist/wenyan-C6IMLxb9.js +1 -0
  336. package/dist/wgsl-DcM0fO4C.js +1 -0
  337. package/dist/wikitext-CicqHi8l.js +1 -0
  338. package/dist/wit-DXZYezGF.js +1 -0
  339. package/dist/wolfram-LDaaEKo9.js +1 -0
  340. package/dist/worker.d.ts +1 -0
  341. package/dist/worker.js +188 -0
  342. package/dist/wrapper-DlUP6cCH.js +6 -0
  343. package/dist/xml-D4S4eOp-.js +1 -0
  344. package/dist/xml-DI-vKJVc.js +1 -0
  345. package/dist/xsl-BBtAEwui.js +1 -0
  346. package/dist/yaml-BYGefRa5.js +1 -0
  347. package/dist/yaml-ryeB2S83.js +1 -0
  348. package/dist/zenscript-C6nOigZg.js +1 -0
  349. package/dist/zig-BZAkN6e6.js +1 -0
  350. package/package.json +49 -0
@@ -0,0 +1 @@
1
+ (function(){function setupTrigger(e,t,n){if(t==="load")document.readyState==="loading"?document.addEventListener("DOMContentLoaded",()=>n(),{once:true}):n();else if(t==="idle")requestIdleCallback(()=>n());else if(t[0]==="v")new IntersectionObserver((r,o)=>{r.some(i=>i.isIntersecting)&&(o.disconnect(),n())},{rootMargin:"50px"}).observe(e);else if(t[0]==="m"){const r=matchMedia(t.slice(6)),o=()=>{r.matches&&(r.removeEventListener("change",o),n())};r.matches?n():r.addEventListener("change",o)}}function onReady(e){document.readyState==="loading"?document.addEventListener("DOMContentLoaded",e,{once:true}):e()}function observeAdditions(e,t){new MutationObserver(n=>n.forEach(r=>r.addedNodes.forEach(o=>{o.nodeType===1&&e(o)&&t(o)}))).observe(document.body??document.documentElement,{childList:true,subtree:true})}function createLoadedTracker(){const e=new Set;return{loaded:e,unload:t=>e.delete(t),clear:()=>e.clear()}}const d=document,w=window,S={},{loaded,unload,clear}=createLoadedTracker(),parseState=async e=>{const t=e.getAttribute("luna:state");if(t){if(t[0]==="#")return JSON.parse(d.getElementById(t.slice(1))?.textContent??"null");try{return JSON.parse(t)}catch{}}},hydrate=async e=>{const t=e.getAttribute("luna:id");if(!t||loaded.has(t))return;loaded.add(t);const n=e.getAttribute("luna:url");if(!n)return;S[t]=await parseState(e);const r=await import(n),o=e.getAttribute("luna:export");(o?r[o]:r.hydrate??r.default)?.(e,S[t],t)},setup=e=>{setupTrigger(e,e.getAttribute("luna:client-trigger")??"load",()=>hydrate(e))},scan=()=>{d.querySelectorAll("[luna\\:id]").forEach(setup)};d.querySelectorAll('script[type="luna/json"]').forEach(e=>{e.id&&(S[e.id]=JSON.parse(e.textContent??"{}"))});onReady(scan);observeAdditions(e=>e.hasAttribute("luna:id"),setup);const unloadAll=(e=d.body)=>{e.querySelectorAll("[luna\\:id]").forEach(t=>{const n=t.getAttribute("luna:id");n&&loaded.delete(n)})};w.__LUNA_STATE__=S;w.__LUNA_HYDRATE__=hydrate;w.__LUNA_SCAN__=scan;w.__LUNA_UNLOAD__=unload;w.__LUNA_UNLOAD_ALL__=unloadAll;w.__LUNA_CLEAR_LOADED__=clear})();
@@ -0,0 +1,29 @@
1
+ (function(){
2
+ var STORAGE_KEY = 'astra-sidebar-state';
3
+ function loadState() {
4
+ try { return JSON.parse(localStorage.getItem(STORAGE_KEY)) || {}; } catch { return {}; }
5
+ }
6
+ function saveState(state) {
7
+ try { localStorage.setItem(STORAGE_KEY, JSON.stringify(state)); } catch {}
8
+ }
9
+ function initSidebar() {
10
+ var state = loadState();
11
+ document.querySelectorAll('[data-sidebar-group]').forEach(function(el) {
12
+ var key = el.dataset.sidebarGroup;
13
+ if (key && state[key] !== undefined) {
14
+ el.open = state[key];
15
+ }
16
+ el.addEventListener('toggle', function() {
17
+ var s = loadState();
18
+ s[key] = el.open;
19
+ saveState(s);
20
+ });
21
+ });
22
+ }
23
+ if (document.readyState === 'loading') {
24
+ document.addEventListener('DOMContentLoaded', initSidebar);
25
+ } else {
26
+ initSidebar();
27
+ }
28
+ window.__ASTRA_INIT_SIDEBAR__ = initSidebar;
29
+ })();
@@ -0,0 +1,25 @@
1
+ (function(){
2
+ var theme = localStorage.getItem('theme');
3
+ var prefersDark = window.matchMedia('(prefers-color-scheme: dark)').matches;
4
+ var isDark = theme === 'dark' || (theme !== 'light' && prefersDark);
5
+ if (isDark) {
6
+ document.documentElement.classList.add('dark');
7
+ document.documentElement.classList.remove('light');
8
+ } else {
9
+ document.documentElement.classList.add('light');
10
+ document.documentElement.classList.remove('dark');
11
+ }
12
+ window.toggleTheme = function() {
13
+ var html = document.documentElement;
14
+ var wasDark = html.classList.contains('dark');
15
+ if (wasDark) {
16
+ html.classList.remove('dark');
17
+ html.classList.add('light');
18
+ localStorage.setItem('theme', 'light');
19
+ } else {
20
+ html.classList.add('dark');
21
+ html.classList.remove('light');
22
+ localStorage.setItem('theme', 'dark');
23
+ }
24
+ };
25
+ })();
@@ -0,0 +1,41 @@
1
+ (function(){
2
+ var observer = null;
3
+ var tocLinks = [];
4
+ var headings = [];
5
+ function initTocSpy() {
6
+ if (observer) observer.disconnect();
7
+ tocLinks = Array.from(document.querySelectorAll('.toc-item a'));
8
+ headings = tocLinks.map(function(link) {
9
+ var id = link.getAttribute('href')?.slice(1);
10
+ return id ? document.getElementById(id) : null;
11
+ }).filter(Boolean);
12
+ if (!headings.length) return;
13
+ var current = null;
14
+ observer = new IntersectionObserver(function(entries) {
15
+ entries.forEach(function(entry) {
16
+ if (entry.isIntersecting) current = entry.target;
17
+ });
18
+ if (!current) {
19
+ var scrollY = window.scrollY + 100;
20
+ for (var i = headings.length - 1; i >= 0; i--) {
21
+ if (headings[i].offsetTop <= scrollY) { current = headings[i]; break; }
22
+ }
23
+ }
24
+ tocLinks.forEach(function(link) {
25
+ var id = link.getAttribute('href')?.slice(1);
26
+ if (current && id === current.id) {
27
+ link.classList.add('active');
28
+ } else {
29
+ link.classList.remove('active');
30
+ }
31
+ });
32
+ }, { rootMargin: '-60px 0px -70% 0px', threshold: 0 });
33
+ headings.forEach(function(h) { observer.observe(h); });
34
+ }
35
+ if (document.readyState === 'loading') {
36
+ document.addEventListener('DOMContentLoaded', initTocSpy);
37
+ } else {
38
+ initTocSpy();
39
+ }
40
+ window.__ASTRA_INIT_TOC_SPY__ = initTocSpy;
41
+ })();
@@ -0,0 +1,28 @@
1
+ (function(){
2
+ function setupTrigger(el, t, cb) {
3
+ if (t === 'load') document.readyState === 'loading' ? document.addEventListener('DOMContentLoaded', cb, {once:true}) : cb();
4
+ else if (t === 'idle') requestIdleCallback(cb);
5
+ else if (t[0] === 'v') new IntersectionObserver((e,o) => { if(e.some(x=>x.isIntersecting)){o.disconnect();cb();}}, {rootMargin:'50px'}).observe(el);
6
+ else if (t[0] === 'm') { var mq = matchMedia(t.slice(6)); var h = () => { if(mq.matches){mq.removeEventListener('change',h);cb();}}; mq.matches ? cb() : mq.addEventListener('change',h);}
7
+ }
8
+ var loaded = new Set();
9
+ async function hydrate(el) {
10
+ var name = el.tagName.toLowerCase();
11
+ if (loaded.has(name)) return;
12
+ var url = el.getAttribute('luna:wc-url');
13
+ if (!url) return;
14
+ loaded.add(name);
15
+ try {
16
+ var mod = await import(url);
17
+ var fn = mod.hydrate || mod.default;
18
+ if (typeof fn === 'function') fn(el, {}, name);
19
+ } catch(e) { console.error('[wc] Failed:', name, e); }
20
+ }
21
+ function setup(el) { setupTrigger(el, el.getAttribute('luna:wc-trigger') || 'load', () => hydrate(el)); }
22
+ function scan() { document.querySelectorAll('[luna\\:wc-url]').forEach(setup); }
23
+ if (document.readyState === 'loading') document.addEventListener('DOMContentLoaded', scan, {once:true});
24
+ else scan();
25
+ new MutationObserver(m => m.forEach(x => x.addedNodes.forEach(n => { if(n.nodeType === 1 && n.hasAttribute('luna:wc-url')) setup(n); }))).observe(document.body || document.documentElement, {childList:true,subtree:true});
26
+ window.__LUNA_WC_SCAN__ = scan;
27
+ window.__LUNA_WC_CLEAR_LOADED__ = () => loaded.clear();
28
+ })();