c0ckp1t 1.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.
Files changed (676) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +5 -0
  3. package/c0ckp1t-demo/Constants.mjs +125 -0
  4. package/c0ckp1t-demo/components/sidebar.vue +82 -0
  5. package/c0ckp1t-demo/main.vue +39 -0
  6. package/c0ckp1t-demo/pages/devices.vue +63 -0
  7. package/c0ckp1t-demo/pages/homepage.vue +63 -0
  8. package/c0ckp1t-demo/pages/report.vue +63 -0
  9. package/c0ckp1t-demo/store.mjs +133 -0
  10. package/components/ExecButton.vue +62 -0
  11. package/components/FsTree.vue +550 -0
  12. package/components/Markdown.mjs +274 -0
  13. package/components/MarkdownUtils.mjs +180 -0
  14. package/components/Tree.mjs +175 -0
  15. package/components/code-mirror.vue +445 -0
  16. package/components/vue3-ace-editor.vue +331 -0
  17. package/components/xbutton.vue +45 -0
  18. package/components/xcard-h.vue +175 -0
  19. package/components/xcard.vue +76 -0
  20. package/components/xcheck.vue +35 -0
  21. package/components/xcheckbox.vue +52 -0
  22. package/components/xcode.vue +139 -0
  23. package/components/xcollapse.vue +52 -0
  24. package/components/xcolor.vue +84 -0
  25. package/components/xdropdown.vue +104 -0
  26. package/components/xdropdown2.vue +140 -0
  27. package/components/xhidden.vue +30 -0
  28. package/components/xinput.vue +101 -0
  29. package/components/xinput2.vue +101 -0
  30. package/components/xjson.vue +95 -0
  31. package/components/xkv.vue +41 -0
  32. package/components/xlabel.vue +56 -0
  33. package/components/xlist.vue +83 -0
  34. package/components/xmap.vue +106 -0
  35. package/components/xmarkdown.vue +269 -0
  36. package/components/xnav.vue +98 -0
  37. package/components/xsection.vue +164 -0
  38. package/components/xsound.vue +251 -0
  39. package/components/xtable-open.vue +179 -0
  40. package/components/xtabs.vue +72 -0
  41. package/components/xterminal.vue +456 -0
  42. package/components/xtextarea.vue +83 -0
  43. package/components/xtoggle.vue +68 -0
  44. package/components/xtoggle3.vue +67 -0
  45. package/components/xtree.vue +140 -0
  46. package/components/xupload.vue +129 -0
  47. package/core/Content.mjs +92 -0
  48. package/core/DocUtils.mjs +189 -0
  49. package/core/GlobalStore.mjs +329 -0
  50. package/core/Island.mjs +429 -0
  51. package/core/IslandDefault.mjs +229 -0
  52. package/core/JsUtils.mjs +483 -0
  53. package/core/Logging.mjs +59 -0
  54. package/core/Page404.vue +152 -0
  55. package/core/PageFallback.vue +168 -0
  56. package/core/PageMain.vue +181 -0
  57. package/core/Theme.mjs +1759 -0
  58. package/core/VueUtils.mjs +200 -0
  59. package/core/WsUtils.mjs +274 -0
  60. package/core/img/Flag_of_the_United_States.svg +25 -0
  61. package/core/img/logo_v1.svg +98 -0
  62. package/core/img/logo_v2.svg +98 -0
  63. package/core/img/state-uniqueId-8k.wav +0 -0
  64. package/core/main-offcanvas.vue +99 -0
  65. package/core/nodes/_api.vue +82 -0
  66. package/core/nodes/node-container.vue +103 -0
  67. package/core/nodes/node.vue +246 -0
  68. package/core/nodes/place-holder.vue +47 -0
  69. package/core/nodes/root.vue +52 -0
  70. package/core/notify/NotifyUtils.mjs +150 -0
  71. package/core/notify/toast.vue +150 -0
  72. package/core/pages/About.vue +57 -0
  73. package/core/pages/Cache.vue +155 -0
  74. package/core/pages/Connection.vue +192 -0
  75. package/core/pages/Connections.vue +102 -0
  76. package/core/pages/Documentation.vue +263 -0
  77. package/core/pages/Notifies.vue +156 -0
  78. package/core/pages/Traffic.vue +152 -0
  79. package/core/pages/connections/connection-header-details.vue +80 -0
  80. package/core/pages/connections/page-connection-default.vue +92 -0
  81. package/core/pages/connections/page-connection.vue +176 -0
  82. package/core/pages/connections/ws-connection.vue +146 -0
  83. package/core/pages/frontend/Bootstrap.vue +1140 -0
  84. package/core/pages/frontend/Components.vue +56 -0
  85. package/core/pages/frontend/ComponentsAdv.vue +203 -0
  86. package/core/pages/frontend/ComponentsBasic.vue +336 -0
  87. package/core/pages/frontend/Theme.vue +473 -0
  88. package/core/pages/frontend/component-view.vue +65 -0
  89. package/core/pages/traffic/WsLogUtils.mjs +91 -0
  90. package/core/pages/traffic/log-ws-exec.vue +124 -0
  91. package/core/pages/traffic/log-ws-exec2.vue +129 -0
  92. package/core/sfc/code-item.vue +169 -0
  93. package/core/sfc/connection-header.vue +62 -0
  94. package/core/sfc/info-api.vue +158 -0
  95. package/core/sfc/md-toc.vue +346 -0
  96. package/core/sfc/scroll-to-top.vue +69 -0
  97. package/core/sfc/task.vue +98 -0
  98. package/core/sfc/text-to-md.vue +25 -0
  99. package/core/sfc/toc-list.vue +175 -0
  100. package/core/ws-client/AuthNState.mjs +84 -0
  101. package/core/ws-client/Connection.mjs +580 -0
  102. package/core/ws-client/Session.mjs +72 -0
  103. package/core/ws-client/WsClient.mjs +230 -0
  104. package/core/ws-client/WsLogUtils.mjs +91 -0
  105. package/core/ws-client/ws-connection.vue +144 -0
  106. package/css/Changa-Medium.ttf +0 -0
  107. package/css/Makefile +10 -0
  108. package/css/README.md +25 -0
  109. package/css/bootstrap-c0ckp1t.css +11861 -0
  110. package/css/bootstrap.min.css +6 -0
  111. package/css/fontawesome/brands.min.css +6 -0
  112. package/css/fontawesome/fontawesome.min.css +8 -0
  113. package/css/fontawesome/regular.min.css +6 -0
  114. package/css/fontawesome/solid.min.css +6 -0
  115. package/css/webfonts/fa-brands-400.woff2 +0 -0
  116. package/css/webfonts/fa-regular-400.woff2 +0 -0
  117. package/css/webfonts/fa-solid-900.woff2 +0 -0
  118. package/docs/Introduction.md +3 -0
  119. package/favicon-192x192.png +0 -0
  120. package/favicon-32x32.png +0 -0
  121. package/favicon-64x64.png +0 -0
  122. package/favicon.ico +0 -0
  123. package/index-cdn.html +66 -0
  124. package/js_ext/Makefile +26 -0
  125. package/js_ext/ace-editor/ace.js +22037 -0
  126. package/js_ext/ace-editor/ext-beautify.js +343 -0
  127. package/js_ext/ace-editor/ext-code_lens.js +204 -0
  128. package/js_ext/ace-editor/ext-command_bar.js +469 -0
  129. package/js_ext/ace-editor/ext-diff.js +4265 -0
  130. package/js_ext/ace-editor/ext-elastic_tabstops_lite.js +238 -0
  131. package/js_ext/ace-editor/ext-emmet.js +1303 -0
  132. package/js_ext/ace-editor/ext-error_marker.js +9 -0
  133. package/js_ext/ace-editor/ext-hardwrap.js +127 -0
  134. package/js_ext/ace-editor/ext-inline_autocomplete.js +3547 -0
  135. package/js_ext/ace-editor/ext-keybinding_menu.js +185 -0
  136. package/js_ext/ace-editor/ext-language_tools.js +2724 -0
  137. package/js_ext/ace-editor/ext-linking.js +66 -0
  138. package/js_ext/ace-editor/ext-modelist.js +276 -0
  139. package/js_ext/ace-editor/ext-options.js +859 -0
  140. package/js_ext/ace-editor/ext-prompt.js +3161 -0
  141. package/js_ext/ace-editor/ext-rtl.js +146 -0
  142. package/js_ext/ace-editor/ext-searchbox.js +385 -0
  143. package/js_ext/ace-editor/ext-settings_menu.js +859 -0
  144. package/js_ext/ace-editor/ext-simple_tokenizer.js +137 -0
  145. package/js_ext/ace-editor/ext-spellcheck.js +79 -0
  146. package/js_ext/ace-editor/ext-split.js +203 -0
  147. package/js_ext/ace-editor/ext-static_highlight.js +194 -0
  148. package/js_ext/ace-editor/ext-statusbar.js +63 -0
  149. package/js_ext/ace-editor/ext-textarea.js +400 -0
  150. package/js_ext/ace-editor/ext-themelist.js +80 -0
  151. package/js_ext/ace-editor/ext-whitespace.js +201 -0
  152. package/js_ext/ace-editor/keybinding-emacs.js +1067 -0
  153. package/js_ext/ace-editor/keybinding-sublime.js +409 -0
  154. package/js_ext/ace-editor/keybinding-vim.js +7101 -0
  155. package/js_ext/ace-editor/keybinding-vscode.js +255 -0
  156. package/js_ext/ace-editor/mode-abap.js +200 -0
  157. package/js_ext/ace-editor/mode-abc.js +243 -0
  158. package/js_ext/ace-editor/mode-actionscript.js +234 -0
  159. package/js_ext/ace-editor/mode-ada.js +108 -0
  160. package/js_ext/ace-editor/mode-alda.js +279 -0
  161. package/js_ext/ace-editor/mode-apache_conf.js +318 -0
  162. package/js_ext/ace-editor/mode-apex.js +402 -0
  163. package/js_ext/ace-editor/mode-applescript.js +232 -0
  164. package/js_ext/ace-editor/mode-aql.js +92 -0
  165. package/js_ext/ace-editor/mode-asciidoc.js +311 -0
  166. package/js_ext/ace-editor/mode-asl.js +357 -0
  167. package/js_ext/ace-editor/mode-assembly_arm32.js +185 -0
  168. package/js_ext/ace-editor/mode-assembly_x86.js +170 -0
  169. package/js_ext/ace-editor/mode-astro.js +2474 -0
  170. package/js_ext/ace-editor/mode-autohotkey.js +208 -0
  171. package/js_ext/ace-editor/mode-basic.js +201 -0
  172. package/js_ext/ace-editor/mode-batchfile.js +199 -0
  173. package/js_ext/ace-editor/mode-bibtex.js +318 -0
  174. package/js_ext/ace-editor/mode-c9search.js +250 -0
  175. package/js_ext/ace-editor/mode-c_cpp.js +417 -0
  176. package/js_ext/ace-editor/mode-cirru.js +192 -0
  177. package/js_ext/ace-editor/mode-clojure.js +322 -0
  178. package/js_ext/ace-editor/mode-clue.js +361 -0
  179. package/js_ext/ace-editor/mode-cobol.js +82 -0
  180. package/js_ext/ace-editor/mode-coffee.js +335 -0
  181. package/js_ext/ace-editor/mode-coldfusion.js +2409 -0
  182. package/js_ext/ace-editor/mode-crystal.js +586 -0
  183. package/js_ext/ace-editor/mode-csharp.js +413 -0
  184. package/js_ext/ace-editor/mode-csound_document.js +4072 -0
  185. package/js_ext/ace-editor/mode-csound_orchestra.js +2923 -0
  186. package/js_ext/ace-editor/mode-csound_score.js +409 -0
  187. package/js_ext/ace-editor/mode-csp.js +59 -0
  188. package/js_ext/ace-editor/mode-css.js +632 -0
  189. package/js_ext/ace-editor/mode-csv.js +97 -0
  190. package/js_ext/ace-editor/mode-curly.js +2381 -0
  191. package/js_ext/ace-editor/mode-cuttlefish.js +56 -0
  192. package/js_ext/ace-editor/mode-d.js +450 -0
  193. package/js_ext/ace-editor/mode-dart.js +618 -0
  194. package/js_ext/ace-editor/mode-diff.js +129 -0
  195. package/js_ext/ace-editor/mode-django.js +2422 -0
  196. package/js_ext/ace-editor/mode-dockerfile.js +427 -0
  197. package/js_ext/ace-editor/mode-dot.js +348 -0
  198. package/js_ext/ace-editor/mode-drools.js +607 -0
  199. package/js_ext/ace-editor/mode-edifact.js +130 -0
  200. package/js_ext/ace-editor/mode-eiffel.js +120 -0
  201. package/js_ext/ace-editor/mode-ejs.js +3277 -0
  202. package/js_ext/ace-editor/mode-elixir.js +443 -0
  203. package/js_ext/ace-editor/mode-elm.js +274 -0
  204. package/js_ext/ace-editor/mode-erlang.js +836 -0
  205. package/js_ext/ace-editor/mode-flix.js +164 -0
  206. package/js_ext/ace-editor/mode-forth.js +253 -0
  207. package/js_ext/ace-editor/mode-fortran.js +361 -0
  208. package/js_ext/ace-editor/mode-fsharp.js +277 -0
  209. package/js_ext/ace-editor/mode-fsl.js +226 -0
  210. package/js_ext/ace-editor/mode-ftl.js +1255 -0
  211. package/js_ext/ace-editor/mode-gcode.js +74 -0
  212. package/js_ext/ace-editor/mode-gherkin.js +154 -0
  213. package/js_ext/ace-editor/mode-gitignore.js +49 -0
  214. package/js_ext/ace-editor/mode-glsl.js +475 -0
  215. package/js_ext/ace-editor/mode-gobstones.js +1459 -0
  216. package/js_ext/ace-editor/mode-golang.js +341 -0
  217. package/js_ext/ace-editor/mode-graphqlschema.js +174 -0
  218. package/js_ext/ace-editor/mode-groovy.js +1401 -0
  219. package/js_ext/ace-editor/mode-haml.js +1906 -0
  220. package/js_ext/ace-editor/mode-handlebars.js +2438 -0
  221. package/js_ext/ace-editor/mode-haskell.js +324 -0
  222. package/js_ext/ace-editor/mode-haskell_cabal.js +135 -0
  223. package/js_ext/ace-editor/mode-haxe.js +313 -0
  224. package/js_ext/ace-editor/mode-hjson.js +318 -0
  225. package/js_ext/ace-editor/mode-html.js +2339 -0
  226. package/js_ext/ace-editor/mode-html_elixir.js +2845 -0
  227. package/js_ext/ace-editor/mode-html_ruby.js +3294 -0
  228. package/js_ext/ace-editor/mode-ini.js +138 -0
  229. package/js_ext/ace-editor/mode-io.js +210 -0
  230. package/js_ext/ace-editor/mode-ion.js +477 -0
  231. package/js_ext/ace-editor/mode-jack.js +293 -0
  232. package/js_ext/ace-editor/mode-jade.js +2017 -0
  233. package/js_ext/ace-editor/mode-java.js +1565 -0
  234. package/js_ext/ace-editor/mode-javascript.js +1191 -0
  235. package/js_ext/ace-editor/mode-jexl.js +270 -0
  236. package/js_ext/ace-editor/mode-json.js +275 -0
  237. package/js_ext/ace-editor/mode-json5.js +308 -0
  238. package/js_ext/ace-editor/mode-jsoniq.js +2577 -0
  239. package/js_ext/ace-editor/mode-jsp.js +1618 -0
  240. package/js_ext/ace-editor/mode-jssm.js +293 -0
  241. package/js_ext/ace-editor/mode-jsx.js +1209 -0
  242. package/js_ext/ace-editor/mode-julia.js +254 -0
  243. package/js_ext/ace-editor/mode-kotlin.js +445 -0
  244. package/js_ext/ace-editor/mode-latex.js +252 -0
  245. package/js_ext/ace-editor/mode-latte.js +2522 -0
  246. package/js_ext/ace-editor/mode-less.js +742 -0
  247. package/js_ext/ace-editor/mode-liquid.js +2741 -0
  248. package/js_ext/ace-editor/mode-lisp.js +104 -0
  249. package/js_ext/ace-editor/mode-livescript.js +272 -0
  250. package/js_ext/ace-editor/mode-logiql.js +272 -0
  251. package/js_ext/ace-editor/mode-logtalk.js +309 -0
  252. package/js_ext/ace-editor/mode-lsl.js +287 -0
  253. package/js_ext/ace-editor/mode-lua.js +393 -0
  254. package/js_ext/ace-editor/mode-luapage.js +2785 -0
  255. package/js_ext/ace-editor/mode-lucene.js +145 -0
  256. package/js_ext/ace-editor/mode-makefile.js +374 -0
  257. package/js_ext/ace-editor/mode-markdown.js +2935 -0
  258. package/js_ext/ace-editor/mode-mask.js +1757 -0
  259. package/js_ext/ace-editor/mode-matlab.js +239 -0
  260. package/js_ext/ace-editor/mode-maze.js +256 -0
  261. package/js_ext/ace-editor/mode-mediawiki.js +580 -0
  262. package/js_ext/ace-editor/mode-mel.js +213 -0
  263. package/js_ext/ace-editor/mode-mips.js +231 -0
  264. package/js_ext/ace-editor/mode-mixal.js +110 -0
  265. package/js_ext/ace-editor/mode-mushcode.js +642 -0
  266. package/js_ext/ace-editor/mode-mysql.js +150 -0
  267. package/js_ext/ace-editor/mode-nasal.js +513 -0
  268. package/js_ext/ace-editor/mode-nginx.js +262 -0
  269. package/js_ext/ace-editor/mode-nim.js +325 -0
  270. package/js_ext/ace-editor/mode-nix.js +555 -0
  271. package/js_ext/ace-editor/mode-nsis.js +279 -0
  272. package/js_ext/ace-editor/mode-nunjucks.js +2677 -0
  273. package/js_ext/ace-editor/mode-objectivec.js +626 -0
  274. package/js_ext/ace-editor/mode-ocaml.js +378 -0
  275. package/js_ext/ace-editor/mode-odin.js +449 -0
  276. package/js_ext/ace-editor/mode-partiql.js +750 -0
  277. package/js_ext/ace-editor/mode-pascal.js +204 -0
  278. package/js_ext/ace-editor/mode-perl.js +318 -0
  279. package/js_ext/ace-editor/mode-pgsql.js +1860 -0
  280. package/js_ext/ace-editor/mode-php.js +14072 -0
  281. package/js_ext/ace-editor/mode-php_laravel_blade.js +14260 -0
  282. package/js_ext/ace-editor/mode-pig.js +278 -0
  283. package/js_ext/ace-editor/mode-plain_text.js +27 -0
  284. package/js_ext/ace-editor/mode-plsql.js +268 -0
  285. package/js_ext/ace-editor/mode-powershell.js +567 -0
  286. package/js_ext/ace-editor/mode-praat.js +412 -0
  287. package/js_ext/ace-editor/mode-prisma.js +457 -0
  288. package/js_ext/ace-editor/mode-prolog.js +305 -0
  289. package/js_ext/ace-editor/mode-properties.js +69 -0
  290. package/js_ext/ace-editor/mode-protobuf.js +498 -0
  291. package/js_ext/ace-editor/mode-prql.js +323 -0
  292. package/js_ext/ace-editor/mode-puppet.js +316 -0
  293. package/js_ext/ace-editor/mode-python.js +476 -0
  294. package/js_ext/ace-editor/mode-qml.js +346 -0
  295. package/js_ext/ace-editor/mode-r.js +387 -0
  296. package/js_ext/ace-editor/mode-raku.js +516 -0
  297. package/js_ext/ace-editor/mode-razor.js +2697 -0
  298. package/js_ext/ace-editor/mode-rdoc.js +286 -0
  299. package/js_ext/ace-editor/mode-red.js +388 -0
  300. package/js_ext/ace-editor/mode-redshift.js +321 -0
  301. package/js_ext/ace-editor/mode-rhtml.js +2750 -0
  302. package/js_ext/ace-editor/mode-robot.js +168 -0
  303. package/js_ext/ace-editor/mode-rst.js +245 -0
  304. package/js_ext/ace-editor/mode-ruby.js +921 -0
  305. package/js_ext/ace-editor/mode-rust.js +393 -0
  306. package/js_ext/ace-editor/mode-sac.js +349 -0
  307. package/js_ext/ace-editor/mode-sass.js +480 -0
  308. package/js_ext/ace-editor/mode-scad.js +350 -0
  309. package/js_ext/ace-editor/mode-scala.js +1395 -0
  310. package/js_ext/ace-editor/mode-scheme.js +210 -0
  311. package/js_ext/ace-editor/mode-scrypt.js +317 -0
  312. package/js_ext/ace-editor/mode-scss.js +768 -0
  313. package/js_ext/ace-editor/mode-sh.js +387 -0
  314. package/js_ext/ace-editor/mode-sjs.js +1393 -0
  315. package/js_ext/ace-editor/mode-slim.js +4770 -0
  316. package/js_ext/ace-editor/mode-smarty.js +2436 -0
  317. package/js_ext/ace-editor/mode-smithy.js +456 -0
  318. package/js_ext/ace-editor/mode-snippets.js +183 -0
  319. package/js_ext/ace-editor/mode-soy_template.js +2611 -0
  320. package/js_ext/ace-editor/mode-space.js +151 -0
  321. package/js_ext/ace-editor/mode-sparql.js +288 -0
  322. package/js_ext/ace-editor/mode-sql.js +221 -0
  323. package/js_ext/ace-editor/mode-sqlserver.js +391 -0
  324. package/js_ext/ace-editor/mode-stylus.js +443 -0
  325. package/js_ext/ace-editor/mode-svg.js +1487 -0
  326. package/js_ext/ace-editor/mode-swift.js +342 -0
  327. package/js_ext/ace-editor/mode-tcl.js +338 -0
  328. package/js_ext/ace-editor/mode-terraform.js +346 -0
  329. package/js_ext/ace-editor/mode-tex.js +212 -0
  330. package/js_ext/ace-editor/mode-text.js +9 -0
  331. package/js_ext/ace-editor/mode-textile.js +125 -0
  332. package/js_ext/ace-editor/mode-toml.js +129 -0
  333. package/js_ext/ace-editor/mode-tsv.js +124 -0
  334. package/js_ext/ace-editor/mode-tsx.js +1276 -0
  335. package/js_ext/ace-editor/mode-turtle.js +264 -0
  336. package/js_ext/ace-editor/mode-twig.js +2502 -0
  337. package/js_ext/ace-editor/mode-typescript.js +1254 -0
  338. package/js_ext/ace-editor/mode-vala.js +554 -0
  339. package/js_ext/ace-editor/mode-vbscript.js +731 -0
  340. package/js_ext/ace-editor/mode-velocity.js +2580 -0
  341. package/js_ext/ace-editor/mode-verilog.js +98 -0
  342. package/js_ext/ace-editor/mode-vhdl.js +94 -0
  343. package/js_ext/ace-editor/mode-visualforce.js +2454 -0
  344. package/js_ext/ace-editor/mode-vue.js +3834 -0
  345. package/js_ext/ace-editor/mode-wollok.js +1329 -0
  346. package/js_ext/ace-editor/mode-xml.js +477 -0
  347. package/js_ext/ace-editor/mode-xquery.js +2589 -0
  348. package/js_ext/ace-editor/mode-yaml.js +395 -0
  349. package/js_ext/ace-editor/mode-zeek.js +502 -0
  350. package/js_ext/ace-editor/mode-zig.js +585 -0
  351. package/js_ext/ace-editor/snippets/abap.js +9 -0
  352. package/js_ext/ace-editor/snippets/abc.js +16 -0
  353. package/js_ext/ace-editor/snippets/actionscript.js +16 -0
  354. package/js_ext/ace-editor/snippets/ada.js +9 -0
  355. package/js_ext/ace-editor/snippets/alda.js +9 -0
  356. package/js_ext/ace-editor/snippets/apache_conf.js +9 -0
  357. package/js_ext/ace-editor/snippets/apex.js +9 -0
  358. package/js_ext/ace-editor/snippets/applescript.js +9 -0
  359. package/js_ext/ace-editor/snippets/aql.js +9 -0
  360. package/js_ext/ace-editor/snippets/asciidoc.js +9 -0
  361. package/js_ext/ace-editor/snippets/asl.js +9 -0
  362. package/js_ext/ace-editor/snippets/assembly_arm32.js +9 -0
  363. package/js_ext/ace-editor/snippets/assembly_x86.js +9 -0
  364. package/js_ext/ace-editor/snippets/astro.js +9 -0
  365. package/js_ext/ace-editor/snippets/autohotkey.js +9 -0
  366. package/js_ext/ace-editor/snippets/basic.js +9 -0
  367. package/js_ext/ace-editor/snippets/batchfile.js +9 -0
  368. package/js_ext/ace-editor/snippets/bibtex.js +9 -0
  369. package/js_ext/ace-editor/snippets/c9search.js +9 -0
  370. package/js_ext/ace-editor/snippets/c_cpp.js +16 -0
  371. package/js_ext/ace-editor/snippets/cirru.js +9 -0
  372. package/js_ext/ace-editor/snippets/clojure.js +16 -0
  373. package/js_ext/ace-editor/snippets/clue.js +9 -0
  374. package/js_ext/ace-editor/snippets/cobol.js +9 -0
  375. package/js_ext/ace-editor/snippets/coffee.js +16 -0
  376. package/js_ext/ace-editor/snippets/coldfusion.js +9 -0
  377. package/js_ext/ace-editor/snippets/crystal.js +9 -0
  378. package/js_ext/ace-editor/snippets/csharp.js +9 -0
  379. package/js_ext/ace-editor/snippets/csound_document.js +16 -0
  380. package/js_ext/ace-editor/snippets/csound_orchestra.js +16 -0
  381. package/js_ext/ace-editor/snippets/csound_score.js +9 -0
  382. package/js_ext/ace-editor/snippets/csp.js +9 -0
  383. package/js_ext/ace-editor/snippets/css.js +16 -0
  384. package/js_ext/ace-editor/snippets/csv.js +9 -0
  385. package/js_ext/ace-editor/snippets/curly.js +9 -0
  386. package/js_ext/ace-editor/snippets/cuttlefish.js +9 -0
  387. package/js_ext/ace-editor/snippets/d.js +9 -0
  388. package/js_ext/ace-editor/snippets/dart.js +16 -0
  389. package/js_ext/ace-editor/snippets/diff.js +16 -0
  390. package/js_ext/ace-editor/snippets/django.js +16 -0
  391. package/js_ext/ace-editor/snippets/dockerfile.js +9 -0
  392. package/js_ext/ace-editor/snippets/dot.js +9 -0
  393. package/js_ext/ace-editor/snippets/drools.js +16 -0
  394. package/js_ext/ace-editor/snippets/edifact.js +16 -0
  395. package/js_ext/ace-editor/snippets/eiffel.js +9 -0
  396. package/js_ext/ace-editor/snippets/ejs.js +9 -0
  397. package/js_ext/ace-editor/snippets/elixir.js +9 -0
  398. package/js_ext/ace-editor/snippets/elm.js +9 -0
  399. package/js_ext/ace-editor/snippets/erlang.js +16 -0
  400. package/js_ext/ace-editor/snippets/flix.js +9 -0
  401. package/js_ext/ace-editor/snippets/forth.js +9 -0
  402. package/js_ext/ace-editor/snippets/fortran.js +9 -0
  403. package/js_ext/ace-editor/snippets/fsharp.js +9 -0
  404. package/js_ext/ace-editor/snippets/fsl.js +16 -0
  405. package/js_ext/ace-editor/snippets/ftl.js +9 -0
  406. package/js_ext/ace-editor/snippets/gcode.js +9 -0
  407. package/js_ext/ace-editor/snippets/gherkin.js +9 -0
  408. package/js_ext/ace-editor/snippets/gitignore.js +9 -0
  409. package/js_ext/ace-editor/snippets/glsl.js +9 -0
  410. package/js_ext/ace-editor/snippets/gobstones.js +16 -0
  411. package/js_ext/ace-editor/snippets/golang.js +9 -0
  412. package/js_ext/ace-editor/snippets/graphqlschema.js +16 -0
  413. package/js_ext/ace-editor/snippets/groovy.js +9 -0
  414. package/js_ext/ace-editor/snippets/haml.js +16 -0
  415. package/js_ext/ace-editor/snippets/handlebars.js +9 -0
  416. package/js_ext/ace-editor/snippets/haskell.js +16 -0
  417. package/js_ext/ace-editor/snippets/haskell_cabal.js +9 -0
  418. package/js_ext/ace-editor/snippets/haxe.js +9 -0
  419. package/js_ext/ace-editor/snippets/hjson.js +9 -0
  420. package/js_ext/ace-editor/snippets/html.js +16 -0
  421. package/js_ext/ace-editor/snippets/html_elixir.js +9 -0
  422. package/js_ext/ace-editor/snippets/html_ruby.js +9 -0
  423. package/js_ext/ace-editor/snippets/ini.js +9 -0
  424. package/js_ext/ace-editor/snippets/io.js +74 -0
  425. package/js_ext/ace-editor/snippets/ion.js +9 -0
  426. package/js_ext/ace-editor/snippets/jack.js +9 -0
  427. package/js_ext/ace-editor/snippets/jade.js +9 -0
  428. package/js_ext/ace-editor/snippets/java.js +16 -0
  429. package/js_ext/ace-editor/snippets/javascript.js +16 -0
  430. package/js_ext/ace-editor/snippets/jexl.js +9 -0
  431. package/js_ext/ace-editor/snippets/json.js +9 -0
  432. package/js_ext/ace-editor/snippets/json5.js +9 -0
  433. package/js_ext/ace-editor/snippets/jsoniq.js +78 -0
  434. package/js_ext/ace-editor/snippets/jsp.js +16 -0
  435. package/js_ext/ace-editor/snippets/jssm.js +9 -0
  436. package/js_ext/ace-editor/snippets/jsx.js +9 -0
  437. package/js_ext/ace-editor/snippets/julia.js +9 -0
  438. package/js_ext/ace-editor/snippets/kotlin.js +9 -0
  439. package/js_ext/ace-editor/snippets/latex.js +9 -0
  440. package/js_ext/ace-editor/snippets/latte.js +9 -0
  441. package/js_ext/ace-editor/snippets/less.js +9 -0
  442. package/js_ext/ace-editor/snippets/liquid.js +16 -0
  443. package/js_ext/ace-editor/snippets/lisp.js +9 -0
  444. package/js_ext/ace-editor/snippets/livescript.js +9 -0
  445. package/js_ext/ace-editor/snippets/logiql.js +9 -0
  446. package/js_ext/ace-editor/snippets/logtalk.js +9 -0
  447. package/js_ext/ace-editor/snippets/lsl.js +16 -0
  448. package/js_ext/ace-editor/snippets/lua.js +16 -0
  449. package/js_ext/ace-editor/snippets/luapage.js +9 -0
  450. package/js_ext/ace-editor/snippets/lucene.js +9 -0
  451. package/js_ext/ace-editor/snippets/makefile.js +16 -0
  452. package/js_ext/ace-editor/snippets/markdown.js +16 -0
  453. package/js_ext/ace-editor/snippets/mask.js +9 -0
  454. package/js_ext/ace-editor/snippets/matlab.js +9 -0
  455. package/js_ext/ace-editor/snippets/maze.js +16 -0
  456. package/js_ext/ace-editor/snippets/mediawiki.js +9 -0
  457. package/js_ext/ace-editor/snippets/mel.js +9 -0
  458. package/js_ext/ace-editor/snippets/mips.js +9 -0
  459. package/js_ext/ace-editor/snippets/mixal.js +9 -0
  460. package/js_ext/ace-editor/snippets/mushcode.js +9 -0
  461. package/js_ext/ace-editor/snippets/mysql.js +9 -0
  462. package/js_ext/ace-editor/snippets/nasal.js +9 -0
  463. package/js_ext/ace-editor/snippets/nginx.js +9 -0
  464. package/js_ext/ace-editor/snippets/nim.js +9 -0
  465. package/js_ext/ace-editor/snippets/nix.js +9 -0
  466. package/js_ext/ace-editor/snippets/nsis.js +9 -0
  467. package/js_ext/ace-editor/snippets/nunjucks.js +9 -0
  468. package/js_ext/ace-editor/snippets/objectivec.js +9 -0
  469. package/js_ext/ace-editor/snippets/ocaml.js +9 -0
  470. package/js_ext/ace-editor/snippets/odin.js +9 -0
  471. package/js_ext/ace-editor/snippets/partiql.js +9 -0
  472. package/js_ext/ace-editor/snippets/pascal.js +9 -0
  473. package/js_ext/ace-editor/snippets/perl.js +16 -0
  474. package/js_ext/ace-editor/snippets/pgsql.js +9 -0
  475. package/js_ext/ace-editor/snippets/php.js +16 -0
  476. package/js_ext/ace-editor/snippets/php_laravel_blade.js +9 -0
  477. package/js_ext/ace-editor/snippets/pig.js +9 -0
  478. package/js_ext/ace-editor/snippets/plain_text.js +9 -0
  479. package/js_ext/ace-editor/snippets/plsql.js +9 -0
  480. package/js_ext/ace-editor/snippets/powershell.js +9 -0
  481. package/js_ext/ace-editor/snippets/praat.js +9 -0
  482. package/js_ext/ace-editor/snippets/prisma.js +9 -0
  483. package/js_ext/ace-editor/snippets/prolog.js +9 -0
  484. package/js_ext/ace-editor/snippets/properties.js +9 -0
  485. package/js_ext/ace-editor/snippets/protobuf.js +9 -0
  486. package/js_ext/ace-editor/snippets/prql.js +9 -0
  487. package/js_ext/ace-editor/snippets/puppet.js +9 -0
  488. package/js_ext/ace-editor/snippets/python.js +16 -0
  489. package/js_ext/ace-editor/snippets/qml.js +9 -0
  490. package/js_ext/ace-editor/snippets/r.js +16 -0
  491. package/js_ext/ace-editor/snippets/raku.js +9 -0
  492. package/js_ext/ace-editor/snippets/razor.js +16 -0
  493. package/js_ext/ace-editor/snippets/rdoc.js +9 -0
  494. package/js_ext/ace-editor/snippets/red.js +9 -0
  495. package/js_ext/ace-editor/snippets/redshift.js +9 -0
  496. package/js_ext/ace-editor/snippets/rhtml.js +9 -0
  497. package/js_ext/ace-editor/snippets/robot.js +16 -0
  498. package/js_ext/ace-editor/snippets/rst.js +16 -0
  499. package/js_ext/ace-editor/snippets/ruby.js +16 -0
  500. package/js_ext/ace-editor/snippets/rust.js +9 -0
  501. package/js_ext/ace-editor/snippets/sac.js +9 -0
  502. package/js_ext/ace-editor/snippets/sass.js +9 -0
  503. package/js_ext/ace-editor/snippets/scad.js +9 -0
  504. package/js_ext/ace-editor/snippets/scala.js +9 -0
  505. package/js_ext/ace-editor/snippets/scheme.js +9 -0
  506. package/js_ext/ace-editor/snippets/scrypt.js +9 -0
  507. package/js_ext/ace-editor/snippets/scss.js +9 -0
  508. package/js_ext/ace-editor/snippets/sh.js +16 -0
  509. package/js_ext/ace-editor/snippets/sjs.js +9 -0
  510. package/js_ext/ace-editor/snippets/slim.js +9 -0
  511. package/js_ext/ace-editor/snippets/smarty.js +9 -0
  512. package/js_ext/ace-editor/snippets/smithy.js +9 -0
  513. package/js_ext/ace-editor/snippets/snippets.js +16 -0
  514. package/js_ext/ace-editor/snippets/soy_template.js +9 -0
  515. package/js_ext/ace-editor/snippets/space.js +9 -0
  516. package/js_ext/ace-editor/snippets/sparql.js +9 -0
  517. package/js_ext/ace-editor/snippets/sql.js +16 -0
  518. package/js_ext/ace-editor/snippets/sqlserver.js +16 -0
  519. package/js_ext/ace-editor/snippets/stylus.js +9 -0
  520. package/js_ext/ace-editor/snippets/svg.js +9 -0
  521. package/js_ext/ace-editor/snippets/swift.js +9 -0
  522. package/js_ext/ace-editor/snippets/tcl.js +16 -0
  523. package/js_ext/ace-editor/snippets/terraform.js +9 -0
  524. package/js_ext/ace-editor/snippets/tex.js +16 -0
  525. package/js_ext/ace-editor/snippets/text.js +9 -0
  526. package/js_ext/ace-editor/snippets/textile.js +16 -0
  527. package/js_ext/ace-editor/snippets/toml.js +9 -0
  528. package/js_ext/ace-editor/snippets/tsv.js +9 -0
  529. package/js_ext/ace-editor/snippets/tsx.js +9 -0
  530. package/js_ext/ace-editor/snippets/turtle.js +9 -0
  531. package/js_ext/ace-editor/snippets/twig.js +9 -0
  532. package/js_ext/ace-editor/snippets/typescript.js +9 -0
  533. package/js_ext/ace-editor/snippets/vala.js +199 -0
  534. package/js_ext/ace-editor/snippets/vbscript.js +9 -0
  535. package/js_ext/ace-editor/snippets/velocity.js +17 -0
  536. package/js_ext/ace-editor/snippets/verilog.js +9 -0
  537. package/js_ext/ace-editor/snippets/vhdl.js +9 -0
  538. package/js_ext/ace-editor/snippets/visualforce.js +9 -0
  539. package/js_ext/ace-editor/snippets/vue.js +9 -0
  540. package/js_ext/ace-editor/snippets/wollok.js +16 -0
  541. package/js_ext/ace-editor/snippets/xml.js +9 -0
  542. package/js_ext/ace-editor/snippets/xquery.js +78 -0
  543. package/js_ext/ace-editor/snippets/yaml.js +9 -0
  544. package/js_ext/ace-editor/snippets/zeek.js +9 -0
  545. package/js_ext/ace-editor/snippets/zig.js +9 -0
  546. package/js_ext/ace-editor/theme-ambiance.js +18 -0
  547. package/js_ext/ace-editor/theme-chaos.js +18 -0
  548. package/js_ext/ace-editor/theme-chrome.js +18 -0
  549. package/js_ext/ace-editor/theme-cloud9_day.js +19 -0
  550. package/js_ext/ace-editor/theme-cloud9_night.js +18 -0
  551. package/js_ext/ace-editor/theme-cloud9_night_low_color.js +18 -0
  552. package/js_ext/ace-editor/theme-cloud_editor.js +19 -0
  553. package/js_ext/ace-editor/theme-cloud_editor_dark.js +19 -0
  554. package/js_ext/ace-editor/theme-clouds.js +18 -0
  555. package/js_ext/ace-editor/theme-clouds_midnight.js +18 -0
  556. package/js_ext/ace-editor/theme-cobalt.js +18 -0
  557. package/js_ext/ace-editor/theme-crimson_editor.js +18 -0
  558. package/js_ext/ace-editor/theme-dawn.js +18 -0
  559. package/js_ext/ace-editor/theme-dracula.js +19 -0
  560. package/js_ext/ace-editor/theme-dreamweaver.js +18 -0
  561. package/js_ext/ace-editor/theme-eclipse.js +19 -0
  562. package/js_ext/ace-editor/theme-github.js +18 -0
  563. package/js_ext/ace-editor/theme-github_dark.js +18 -0
  564. package/js_ext/ace-editor/theme-github_light_default.js +18 -0
  565. package/js_ext/ace-editor/theme-gob.js +18 -0
  566. package/js_ext/ace-editor/theme-gruvbox.js +18 -0
  567. package/js_ext/ace-editor/theme-gruvbox_dark_hard.js +18 -0
  568. package/js_ext/ace-editor/theme-gruvbox_light_hard.js +18 -0
  569. package/js_ext/ace-editor/theme-idle_fingers.js +18 -0
  570. package/js_ext/ace-editor/theme-iplastic.js +18 -0
  571. package/js_ext/ace-editor/theme-katzenmilch.js +18 -0
  572. package/js_ext/ace-editor/theme-kr_theme.js +18 -0
  573. package/js_ext/ace-editor/theme-kuroir.js +18 -0
  574. package/js_ext/ace-editor/theme-merbivore.js +18 -0
  575. package/js_ext/ace-editor/theme-merbivore_soft.js +18 -0
  576. package/js_ext/ace-editor/theme-mono_industrial.js +18 -0
  577. package/js_ext/ace-editor/theme-monokai.js +18 -0
  578. package/js_ext/ace-editor/theme-nord_dark.js +19 -0
  579. package/js_ext/ace-editor/theme-one_dark.js +18 -0
  580. package/js_ext/ace-editor/theme-pastel_on_dark.js +18 -0
  581. package/js_ext/ace-editor/theme-solarized_dark.js +18 -0
  582. package/js_ext/ace-editor/theme-solarized_light.js +18 -0
  583. package/js_ext/ace-editor/theme-sqlserver.js +18 -0
  584. package/js_ext/ace-editor/theme-terminal.js +18 -0
  585. package/js_ext/ace-editor/theme-textmate.js +16 -0
  586. package/js_ext/ace-editor/theme-tomorrow.js +18 -0
  587. package/js_ext/ace-editor/theme-tomorrow_night.js +18 -0
  588. package/js_ext/ace-editor/theme-tomorrow_night_blue.js +18 -0
  589. package/js_ext/ace-editor/theme-tomorrow_night_bright.js +18 -0
  590. package/js_ext/ace-editor/theme-tomorrow_night_eighties.js +18 -0
  591. package/js_ext/ace-editor/theme-twilight.js +18 -0
  592. package/js_ext/ace-editor/theme-vibrant_ink.js +18 -0
  593. package/js_ext/ace-editor/theme-xcode.js +18 -0
  594. package/js_ext/ace-editor/worker-base.js +1332 -0
  595. package/js_ext/ace-editor/worker-coffee.js +1381 -0
  596. package/js_ext/ace-editor/worker-css.js +8913 -0
  597. package/js_ext/ace-editor/worker-html.js +10843 -0
  598. package/js_ext/ace-editor/worker-javascript.js +15353 -0
  599. package/js_ext/ace-editor/worker-json.js +1626 -0
  600. package/js_ext/ace-editor/worker-lua.js +3519 -0
  601. package/js_ext/ace-editor/worker-php.js +3788 -0
  602. package/js_ext/ace-editor/worker-xml.js +3122 -0
  603. package/js_ext/ace-editor/worker-xquery.js +57579 -0
  604. package/js_ext/ace-editor/worker-yaml.js +5819 -0
  605. package/js_ext/bootstrap.bundle.min.js +7 -0
  606. package/js_ext/highlight/default.min.css +9 -0
  607. package/js_ext/highlight/go.min.js +14 -0
  608. package/js_ext/highlight/highlight.min.js +1207 -0
  609. package/js_ext/highlight/stackoverflow-dark.min.css +13 -0
  610. package/js_ext/idb-keyval-6.2.2.mjs +7 -0
  611. package/js_ext/json-viewer.bundle.js +52 -0
  612. package/js_ext/loglevel-plugin-prefix.min.js +1 -0
  613. package/js_ext/loglevel.min.js +2 -0
  614. package/js_ext/markdown/auto-render.min.js +1 -0
  615. package/js_ext/markdown/auto-render.mjs +245 -0
  616. package/js_ext/markdown/fonts/KaTeX_AMS-Regular.woff +0 -0
  617. package/js_ext/markdown/fonts/KaTeX_AMS-Regular.woff2 +0 -0
  618. package/js_ext/markdown/fonts/KaTeX_Caligraphic-Regular.ttf +0 -0
  619. package/js_ext/markdown/fonts/KaTeX_Caligraphic-Regular.woff +0 -0
  620. package/js_ext/markdown/fonts/KaTeX_Caligraphic-Regular.woff2 +0 -0
  621. package/js_ext/markdown/fonts/KaTeX_Fraktur-Bold.woff +0 -0
  622. package/js_ext/markdown/fonts/KaTeX_Fraktur-Bold.woff2 +0 -0
  623. package/js_ext/markdown/fonts/KaTeX_Fraktur-Regular.ttf +0 -0
  624. package/js_ext/markdown/fonts/KaTeX_Fraktur-Regular.woff +0 -0
  625. package/js_ext/markdown/fonts/KaTeX_Fraktur-Regular.woff2 +0 -0
  626. package/js_ext/markdown/fonts/KaTeX_Main-Bold.woff +0 -0
  627. package/js_ext/markdown/fonts/KaTeX_Main-Bold.woff2 +0 -0
  628. package/js_ext/markdown/fonts/KaTeX_Main-Italic.woff +0 -0
  629. package/js_ext/markdown/fonts/KaTeX_Main-Italic.woff2 +0 -0
  630. package/js_ext/markdown/fonts/KaTeX_Main-Regular.woff +0 -0
  631. package/js_ext/markdown/fonts/KaTeX_Main-Regular.woff2 +0 -0
  632. package/js_ext/markdown/fonts/KaTeX_Math-BoldItalic.woff +0 -0
  633. package/js_ext/markdown/fonts/KaTeX_Math-BoldItalic.woff2 +0 -0
  634. package/js_ext/markdown/fonts/KaTeX_Math-Italic.woff +0 -0
  635. package/js_ext/markdown/fonts/KaTeX_Math-Italic.woff2 +0 -0
  636. package/js_ext/markdown/fonts/KaTeX_SansSerif-Bold.woff +0 -0
  637. package/js_ext/markdown/fonts/KaTeX_SansSerif-Bold.woff2 +0 -0
  638. package/js_ext/markdown/fonts/KaTeX_SansSerif-Italic.woff +0 -0
  639. package/js_ext/markdown/fonts/KaTeX_SansSerif-Italic.woff2 +0 -0
  640. package/js_ext/markdown/fonts/KaTeX_SansSerif-Regular.woff +0 -0
  641. package/js_ext/markdown/fonts/KaTeX_SansSerif-Regular.woff2 +0 -0
  642. package/js_ext/markdown/fonts/KaTeX_Script-Regular.ttf +0 -0
  643. package/js_ext/markdown/fonts/KaTeX_Script-Regular.woff +0 -0
  644. package/js_ext/markdown/fonts/KaTeX_Script-Regular.woff2 +0 -0
  645. package/js_ext/markdown/fonts/KaTeX_Size1-Regular.ttf +0 -0
  646. package/js_ext/markdown/fonts/KaTeX_Size1-Regular.woff +0 -0
  647. package/js_ext/markdown/fonts/KaTeX_Size1-Regular.woff2 +0 -0
  648. package/js_ext/markdown/fonts/KaTeX_Size2-Regular.woff +0 -0
  649. package/js_ext/markdown/fonts/KaTeX_Size2-Regular.woff2 +0 -0
  650. package/js_ext/markdown/fonts/KaTeX_Size3-Regular.woff +0 -0
  651. package/js_ext/markdown/fonts/KaTeX_Size3-Regular.woff2 +0 -0
  652. package/js_ext/markdown/fonts/KaTeX_Size4-Regular.ttf +0 -0
  653. package/js_ext/markdown/fonts/KaTeX_Size4-Regular.woff +0 -0
  654. package/js_ext/markdown/fonts/KaTeX_Size4-Regular.woff2 +0 -0
  655. package/js_ext/markdown/fonts/KaTeX_Typewriter-Regular.woff +0 -0
  656. package/js_ext/markdown/fonts/KaTeX_Typewriter-Regular.woff2 +0 -0
  657. package/js_ext/markdown/katex.min.css +1 -0
  658. package/js_ext/markdown/katex.min.js +1 -0
  659. package/js_ext/markdown/katex.mjs +18416 -0
  660. package/js_ext/markdown/markdown-it.min.js +3 -0
  661. package/js_ext/markdown/markdownItAnchor.umd.js +2 -0
  662. package/js_ext/mitt.mjs +2 -0
  663. package/js_ext/moment.min.js +1 -0
  664. package/js_ext/msgpack.mjs +1612 -0
  665. package/js_ext/rxjs.umd.min.js +195 -0
  666. package/js_ext/rxjs.umd.min.js.map +1 -0
  667. package/js_ext/vue-router.esm-browser.prod.js +6 -0
  668. package/js_ext/vue.esm-browser.min.js +18 -0
  669. package/js_ext/vue.esm-browser.prod.min.js +3 -0
  670. package/js_ext/vue3-sfc-loader.esm.js +1840 -0
  671. package/js_ext/vue3-sfc-loader.esm.js.map +4 -0
  672. package/js_ext/vue3-sfc-loader.js +1839 -0
  673. package/js_ext/wavesurfer.esm.mjs +1 -0
  674. package/js_ext/xstate.web.mjs +15 -0
  675. package/package.json +50 -0
  676. package/style.css +31 -0
@@ -0,0 +1,473 @@
1
+ <script setup>
2
+ /**
3
+ * Live Bootstrap Theme Editor
4
+ * Apply theme changes to the entire page in real-time with comprehensive component preview
5
+ *
6
+ * This editor controls:
7
+ * - Semantic colors (primary, secondary, success, danger, warning, info, light, dark)
8
+ * - Background colors for both light and dark modes
9
+ *
10
+ * Changes persist until page refresh.
11
+ */
12
+ // ________________________________________________________________________________
13
+ // IMPORTS
14
+ // ________________________________________________________________________________
15
+ import {reactive, computed, ref, onMounted, onUnmounted, watch} from 'vue'
16
+ import {getLogger} from "Logging"
17
+
18
+ // !# C0CKP1T_START imports
19
+ import {Theme, store as storeTheme, api as apiTheme} from "/core/Theme.mjs"
20
+ // !# C0CKP1T_END imports
21
+
22
+ // ________________________________________________________________________________
23
+ // LOGGING
24
+ // ________________________________________________________________________________
25
+ const LOG_HEADER = "src/pages/demo/page-theme.vue"
26
+ const logger = getLogger(LOG_HEADER)
27
+ logger.debug("[INIT]")
28
+
29
+ // !# C0CKP1T_START script
30
+
31
+ // ________________________________________________________________________________
32
+ // STATE
33
+ // ________________________________________________________________________________
34
+ // Theme colors are now stored in GlobalStore.themeColors for persistence across navigation
35
+ // Only UI-specific local state is kept here
36
+ const local = reactive({
37
+ id: LOG_HEADER,
38
+ isLoading: false,
39
+
40
+ // UI state for this page only
41
+ showCSSOutput: false,
42
+ copySuccess: false,
43
+
44
+ // Demo form state
45
+ username: '',
46
+ password: '',
47
+ email: '',
48
+ rememberMe: false,
49
+ fullName: '',
50
+ accountType: 'individual',
51
+ bio: '',
52
+ agreedToTerms: false,
53
+
54
+ // Demo component state
55
+ selectedTab: 'home',
56
+ sidebarActive: 'home',
57
+ searchQuery: ''
58
+ })
59
+
60
+ // ________________________________________________________________________________
61
+ // HELPER FUNCTIONS
62
+ // ________________________________________________________________________________
63
+ // All theme-related helper functions are now in Theme.mjs
64
+ // and called via api methods in GlobalStore.mjs
65
+
66
+ // ________________________________________________________________________________
67
+ // METHODS
68
+ // ________________________________________________________________________________
69
+
70
+ /**
71
+ * Load preset theme - delegates to GlobalStore API
72
+ */
73
+ function loadPreset(presetName) {
74
+ logger.info(`[loadPreset] - Load ${presetName} theme`)
75
+ apiTheme.loadThemePreset(presetName)
76
+ }
77
+
78
+ /**
79
+ * Reset colors to defaults - delegates to GlobalStore API
80
+ */
81
+ function resetColors() {
82
+ logger.info('[resetColors] - Reset to default theme')
83
+ apiTheme.resetThemeColors()
84
+ }
85
+
86
+ /**
87
+ * Copy CSS to clipboard
88
+ */
89
+ async function copyCSS() {
90
+ try {
91
+ await navigator.clipboard.writeText(storeTheme.themeColors.generatedCSS)
92
+ local.copySuccess = true
93
+ setTimeout(() => {
94
+ local.copySuccess = false
95
+ }, 2000)
96
+ logger.info('[copyCSS] - CSS copied to clipboard')
97
+ } catch (err) {
98
+ console.error('Failed to copy:', err)
99
+ }
100
+ }
101
+
102
+ /**
103
+ * Download CSS file
104
+ */
105
+ function downloadCSS() {
106
+ const blob = new Blob([storeTheme.themeColors.generatedCSS], { type: 'text/css' })
107
+ const url = URL.createObjectURL(blob)
108
+ const a = document.createElement('a')
109
+ a.href = url
110
+ a.download = 'bootstrap-theme-vars.css'
111
+ document.body.appendChild(a)
112
+ a.click()
113
+ document.body.removeChild(a)
114
+ URL.revokeObjectURL(url)
115
+ logger.info('[downloadCSS] - CSS file downloaded')
116
+ }
117
+
118
+ // ________________________________________________________________________________
119
+ // BOOTSWATCH FUNCTIONS
120
+ // ________________________________________________________________________________
121
+ /**
122
+ * Restore custom editor mode (CSS variable overrides)
123
+ * Reverses the CSS swap and re-enables the theme editor
124
+ */
125
+ function restoreCustomEditor() {
126
+ logger.info('[restoreCustomEditor] - Restoring custom editor mode')
127
+ apiTheme.restoreCustomEditor()
128
+ }
129
+
130
+ /**
131
+ * Load a Bootswatch color preset (uses extracted colors with CSS variable system)
132
+ * This allows further customization after loading
133
+ */
134
+ function loadBootswatchPreset(themeName) {
135
+ logger.info(`[loadBootswatchPreset] - Loading Bootswatch preset: ${themeName}`)
136
+ apiTheme.loadBootswatchPreset(themeName)
137
+ }
138
+
139
+ /**
140
+ * Demo form handlers
141
+ */
142
+ async function handleLogin() {
143
+ await new Promise(r => setTimeout(r, 1000))
144
+ logger.debug(`[handleLogin] - ${local.username}`)
145
+ }
146
+
147
+ async function handleRegister() {
148
+ await new Promise(r => setTimeout(r, 1000))
149
+ logger.debug(`[handleRegister] - ${local.fullName}`)
150
+ }
151
+
152
+ // ________________________________________________________________________________
153
+ // WATCHERS
154
+ // ________________________________________________________________________________
155
+
156
+ // Watch semantic colors in GlobalStore
157
+ watch(() => ({...storeTheme.themeColors.colors}), () => {
158
+ logger.info("[WATCHER] - Applying new semantic colors")
159
+ apiTheme.applyThemeColors()
160
+ }, { deep: true })
161
+
162
+ // Watch light background colors in GlobalStore
163
+ watch(() => ({...storeTheme.themeColors.lightBg}), () => {
164
+ logger.info("[WATCHER] - Applying new light mode backgrounds")
165
+ apiTheme.applyThemeColors()
166
+ }, { deep: true })
167
+
168
+ // Watch dark background colors in GlobalStore
169
+ watch(() => ({...storeTheme.themeColors.darkBg}), () => {
170
+ logger.info("[WATCHER] - Applying new dark mode backgrounds")
171
+ apiTheme.applyThemeColors()
172
+ }, { deep: true })
173
+
174
+ // !# C0CKP1T_END script
175
+
176
+ // ________________________________________________________________________________
177
+ // INIT
178
+ // ________________________________________________________________________________
179
+ async function init() {
180
+ // !# C0CKP1T_START init
181
+ // Initialize theme editor on first visit - reads CSS values and applies theme CSS
182
+ // This is only done once; subsequent visits will skip initialization
183
+ apiTheme.initializeThemeEditor()
184
+
185
+ // Build sidebar TOC with custom presets and Bootswatch presets
186
+ const tocItems = [
187
+ // Custom presets
188
+ { name: 'default' , callback: () => loadPreset('default') },
189
+ { name: 'ocean' , callback: () => loadPreset('ocean') },
190
+ { name: 'sunset' , callback: () => loadPreset('sunset') },
191
+ { name: 'forest' , callback: () => loadPreset('forest') },
192
+ { name: 'purple' , callback: () => loadPreset('purple') },
193
+ { name: 'monochrome' , callback: () => loadPreset('monochrome') },
194
+ // Divider for Bootswatch
195
+ { name: '── Bootswatch ──', callback: null, isDivider: true },
196
+ ]
197
+
198
+ // Add all Bootswatch presets (color-only, allows further customization)
199
+ for (const themeName of Theme.bootswatchThemes) {
200
+ tocItems.push({
201
+ name: themeName.charAt(0).toUpperCase() + themeName.slice(1),
202
+ callback: () => loadBootswatchPreset(themeName)
203
+ })
204
+ }
205
+
206
+ // storeSidebar.toc = tocItems
207
+
208
+ // !# C0CKP1T_END init
209
+ }
210
+
211
+ onMounted(async () => {
212
+ // init()
213
+ })
214
+
215
+ // NOTE: We do NOT remove the style element on unmount so theme persists
216
+ // User can refresh the page to reset to defaults
217
+ </script>
218
+
219
+ <template>
220
+ <!-- !# C0CKP1T_START template -->
221
+ <div class="theme-editor-page">
222
+
223
+ <x-section :level="1" :visible="true" k="Live Theme Editor">
224
+
225
+ <!-- ========== BOOTSWATCH CSS SWAP ========== -->
226
+ <div class="bootswatch-section mb-4">
227
+ <h4 class="text-muted mb-3">
228
+ <i class="fa-solid fa-swatchbook me-2"></i>Bootswatch Themes (CSS Swap)
229
+ </h4>
230
+ <p class="text-body-secondary small mb-3">
231
+ Load a complete Bootswatch theme. This replaces the Bootstrap CSS entirely for 100% accurate rendering.
232
+ <span v-if="storeTheme.themeColors.isBootswatchMode" class="text-warning ms-2">
233
+ <i class="fa-solid fa-circle-exclamation me-1"></i>Color editors disabled in CSS swap mode.
234
+ </span>
235
+ </p>
236
+ <div class="d-flex align-items-center gap-3 flex-wrap">
237
+
238
+ <x-dropdown2
239
+ v-model="storeTheme.themeColors.currentBootswatchTheme"
240
+ :items="Theme.bootswatchThemes.map( t => ({k: `${ t.charAt(0).toUpperCase() + t.slice(1) }${ Theme.darkByDefaultThemes.includes(t) ? ' (dark)' : '' }`, v: t}))"
241
+ :on-change=" (value) => value ? apiTheme.loadBootswatchTheme(value) : restoreCustomEditor()"
242
+ default-label="Bootstrap Default"
243
+ group-label="Bootwatch Themes"
244
+ k=""
245
+ />
246
+
247
+ <!-- Light/Dark Mode Toggle for Bootswatch -->
248
+ <div class="btn-group" role="group">
249
+ <button
250
+ type="button"
251
+ class="btn btn-sm"
252
+ :class="storeTheme.theme === 'light' ? 'btn-warning' : 'btn-outline-secondary'"
253
+ @click="storeTheme.theme = 'light'"
254
+ title="Light Mode"
255
+ >
256
+ <i class="fa-solid fa-sun"></i>
257
+ </button>
258
+ <button
259
+ type="button"
260
+ class="btn btn-sm"
261
+ :class="storeTheme.theme === 'dark' ? 'btn-primary' : 'btn-outline-secondary'"
262
+ @click="storeTheme.theme = 'dark'"
263
+ title="Dark Mode"
264
+ >
265
+ <i class="fa-solid fa-moon"></i>
266
+ </button>
267
+ </div>
268
+
269
+ <button
270
+ v-if="storeTheme.themeColors.isBootswatchMode"
271
+ class="btn btn-outline-warning btn-sm"
272
+ @click="restoreCustomEditor"
273
+ >
274
+ <i class="fa-solid fa-arrow-rotate-left me-1"></i>Return to Custom Editor
275
+ </button>
276
+ </div>
277
+
278
+ <!-- Current theme info -->
279
+ <div v-if="storeTheme.themeColors.isBootswatchMode" class="mt-2">
280
+ <small class="text-body-secondary">
281
+ <i class="fa-solid fa-info-circle me-1"></i>
282
+ Active: <strong>{{ storeTheme.themeColors.currentBootswatchTheme.charAt(0).toUpperCase() + storeTheme.themeColors.currentBootswatchTheme.slice(1) }}</strong>
283
+ <span v-if="Theme.darkByDefaultThemes.includes(storeTheme.themeColors.currentBootswatchTheme)" class="ms-2 text-warning">
284
+ (This theme is designed for dark mode)
285
+ </span>
286
+ <span class="ms-2">| Mode: <strong>{{ storeTheme.theme }}</strong></span>
287
+ </small>
288
+ </div>
289
+ </div>
290
+
291
+ <!-- ========== SEMANTIC COLORS ========== -->
292
+ <div class="color-section mb-4" :class="{ 'disabled-section': storeTheme.themeColors.isBootswatchMode }">
293
+ <h4 class="text-muted mb-3">
294
+ <i class="fa-solid fa-palette me-2"></i>Semantic Colors
295
+ </h4>
296
+ <p class="text-body-secondary small mb-3">These colors apply to buttons, badges, alerts, and other components.</p>
297
+ <div class="color-grid">
298
+ <div
299
+ v-for="(colorLabel, colorName) in Theme.colorLabels"
300
+ :key="colorName" class="color-picker-row"
301
+ >
302
+ <XColor :colorName="colorName" :colorLabel="colorLabel" v-model="storeTheme.themeColors.colors[colorName]" />
303
+
304
+ </div>
305
+ </div>
306
+ </div>
307
+
308
+ <!-- ========== LIGHT MODE BACKGROUNDS ========== -->
309
+ <div class="color-section mb-4" :class="{ 'disabled-section': storeTheme.themeColors.isBootswatchMode }">
310
+ <h4 class="text-muted mb-3">
311
+ <i class="fa-solid fa-sun me-2"></i>Light Mode Backgrounds
312
+ </h4>
313
+ <p class="text-body-secondary small mb-3">Background and text colors when light mode is active.</p>
314
+ <div class="color-grid">
315
+ <div
316
+ v-for="(bgLabel, bgName) in Theme.lightBgLabels"
317
+ :key="`light-${bgName}`"
318
+ class="color-picker-row"
319
+ >
320
+ <XColor :colorName="bgName" :colorLabel="bgLabel" v-model="storeTheme.themeColors.lightBg[bgName]" />
321
+ </div>
322
+ </div>
323
+ </div>
324
+
325
+ <!-- ========== DARK MODE BACKGROUNDS ========== -->
326
+ <div class="color-section mb-4" :class="{ 'disabled-section': storeTheme.themeColors.isBootswatchMode }">
327
+ <h4 class="text-muted mb-3">
328
+ <i class="fa-solid fa-moon me-2"></i>Dark Mode Backgrounds
329
+ </h4>
330
+ <p class="text-body-secondary small mb-3">Background and text colors when dark mode is active.</p>
331
+ <div class="color-grid">
332
+ <div
333
+ v-for="(bgLabel, bgName) in Theme.darkBgLabels"
334
+ :key="`dark-${bgName}`" class="color-picker-row"
335
+ >
336
+ <XColor :colorName="bgName" :colorLabel="bgLabel" v-model="storeTheme.themeColors.darkBg[bgName]" />
337
+ </div>
338
+ </div>
339
+ </div>
340
+
341
+ <!-- ========== ACTION BUTTONS ========== -->
342
+ <div class="action-section mb-4">
343
+ <h4 class="text-muted mb-3">
344
+ <i class="fa-solid fa-gears me-2"></i>Actions
345
+ </h4>
346
+ <div class="action-buttons">
347
+ <ExecButton class="btn btn-outline-secondary" icon="fa-rotate-left me-1" :callback="resetColors">
348
+ Reset to Default
349
+ </ExecButton>
350
+ <ExecButton class="btn btn-outline-primary" icon="fa-copy me-1" :callback="copyCSS">
351
+ {{ local.copySuccess ? 'Copied!' : 'Copy CSS' }}
352
+ </ExecButton>
353
+ <ExecButton class="btn btn-outline-success" icon="fa-download me-1" :callback="downloadCSS">
354
+ Download CSS
355
+ </ExecButton>
356
+ <button @click="local.showCSSOutput = !local.showCSSOutput" class="btn btn-outline-info">
357
+ <i class="fa-solid fa-code me-1"></i>
358
+ {{ local.showCSSOutput ? 'Hide' : 'Show' }} CSS
359
+ </button>
360
+ </div>
361
+ </div>
362
+
363
+ <!-- ========== CSS OUTPUT ========== -->
364
+ <div v-if="local.showCSSOutput" class="css-output-section mb-4">
365
+ <h4 class="text-muted mb-3">
366
+ <i class="fa-solid fa-file-code me-2"></i>Generated CSS
367
+ </h4>
368
+ <textarea
369
+ readonly
370
+ :value="storeTheme.themeColors.generatedCSS"
371
+ class="css-output-textarea form-control"
372
+ rows="20"
373
+ ></textarea>
374
+ </div>
375
+
376
+ </x-section>
377
+
378
+
379
+ </div>
380
+ <!-- !# C0CKP1T_END template -->
381
+ </template>
382
+
383
+ <style scoped>
384
+ /* !# C0CKP1T_START style */
385
+
386
+ .theme-editor-page {
387
+ padding-bottom: 3rem;
388
+ }
389
+
390
+ /* ========== BOOTSWATCH SECTION ========== */
391
+ .bootswatch-section {
392
+ background: var(--bs-tertiary-bg);
393
+ padding: 1.5rem;
394
+ border-radius: 8px;
395
+ border: 1px solid var(--bs-border-color);
396
+ }
397
+
398
+ /* ========== COLOR SECTION ========== */
399
+ .color-section {
400
+ background: var(--bs-tertiary-bg);
401
+ padding: 1.5rem;
402
+ border-radius: 8px;
403
+ border: 1px solid var(--bs-border-color);
404
+ }
405
+
406
+ .color-grid {
407
+ display: grid;
408
+ grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
409
+ gap: 1rem;
410
+ }
411
+
412
+ .color-picker-row {
413
+ display: flex;
414
+ align-items: center;
415
+ justify-content: space-between;
416
+ padding: 0.75rem;
417
+ background: var(--bs-body-bg);
418
+ border-radius: 6px;
419
+ border: 1px solid var(--bs-border-color);
420
+ }
421
+
422
+
423
+ /* ========== DISABLED SECTION (Bootswatch mode) ========== */
424
+ .disabled-section {
425
+ opacity: 0.5;
426
+ pointer-events: none;
427
+ }
428
+
429
+ /* ========== ACTION SECTION ========== */
430
+ .action-section {
431
+ background: var(--bs-tertiary-bg);
432
+ padding: 1.5rem;
433
+ border-radius: 8px;
434
+ border: 1px solid var(--bs-border-color);
435
+ }
436
+
437
+ .action-buttons {
438
+ display: flex;
439
+ flex-wrap: wrap;
440
+ gap: 0.75rem;
441
+ }
442
+
443
+ /* ========== CSS OUTPUT SECTION ========== */
444
+ .css-output-section {
445
+ background: var(--bs-tertiary-bg);
446
+ padding: 1.5rem;
447
+ border-radius: 8px;
448
+ border: 1px solid var(--bs-border-color);
449
+ }
450
+
451
+ .css-output-textarea {
452
+ font-family: 'Courier New', 'Consolas', 'Monaco', monospace;
453
+ font-size: 0.85rem;
454
+ line-height: 1.5;
455
+ background-color: #1e1e1e;
456
+ color: #7ee787;
457
+ border: 1px solid #444;
458
+ padding: 1rem;
459
+ resize: vertical;
460
+ min-height: 400px;
461
+ }
462
+
463
+
464
+ /* ========== RESPONSIVE ========== */
465
+ @media (max-width: 768px) {
466
+
467
+ .color-grid {
468
+ grid-template-columns: 1fr;
469
+ }
470
+ }
471
+
472
+ /* !# C0CKP1T_END style */
473
+ </style>
@@ -0,0 +1,65 @@
1
+ <script setup>
2
+ /*
3
+ Usage:
4
+ <component-view name="xinput" url="/path/to/xinput.vue">
5
+ <x-input k="Example" v-model="local.value"></x-input>
6
+ </component-view>
7
+ */
8
+ // ________________________________________________________________________________
9
+ // IMPORTS
10
+ // ________________________________________________________________________________
11
+ import {reactive} from 'vue'
12
+ import {getLogger} from "Logging"
13
+ // !# C0CKP1T_START imports
14
+
15
+ const props = defineProps({
16
+ name: {
17
+ type: String,
18
+ default: 'text'
19
+ },
20
+ url: {
21
+ type: String,
22
+ default: '/v4/webroot/assets/ui/xinput.vue'
23
+ },
24
+ })
25
+ // !# C0CKP1T_END imports
26
+
27
+ // ________________________________________________________________________________
28
+ // LOGGING
29
+ // ________________________________________________________________________________
30
+ const LOG_HEADER = "src/pages/demo/component-view.vue"
31
+ const logger = getLogger(LOG_HEADER)
32
+ logger.debug("[INIT]")
33
+
34
+ // !# C0CKP1T_START script
35
+ const local = reactive({
36
+ id: LOG_HEADER,
37
+ showCode: false,
38
+ })
39
+ // !# C0CKP1T_END script
40
+ </script>
41
+
42
+ <template>
43
+ <!-- !# C0CKP1T_START template -->
44
+ <x-section :id="props.name" :level="3" :k="props.name" class="mb-4">
45
+ <template v-slot:header>
46
+ <button class="btn btn-light btn-sm" @click.stop="local.showCode = !local.showCode">
47
+ <i class="fa-solid fa-eye me-1"></i>Code
48
+ </button>
49
+ </template>
50
+
51
+ <div class="container mb-2" v-if="local.showCode">
52
+ <x-markdown :v="`<CodeItem url=${props.url} lang=javascript></CodeItem>`"></x-markdown>
53
+ </div>
54
+ <div class="container mb-2">
55
+ <slot></slot>
56
+ </div>
57
+ </x-section>
58
+ <!-- !# C0CKP1T_END template -->
59
+ </template>
60
+
61
+ <style scoped>
62
+ /* !# C0CKP1T_START style */
63
+
64
+ /* !# C0CKP1T_END style */
65
+ </style>
@@ -0,0 +1,91 @@
1
+
2
+ /*
3
+ Usage:
4
+
5
+ import {api as wsLog} from "NotifyUtils"
6
+
7
+
8
+ */
9
+ // ________________________________________________________________________________
10
+ // IMPORT
11
+ // ________________________________________________________________________________
12
+ import { reactive } from 'vue'
13
+ import {Code, toBinary, fromBinary, Code2} from "WsUtils"
14
+
15
+ const MSG_HISTORY = 50
16
+
17
+ function buildHistObj(index, instanceId, pkt) {
18
+ return {
19
+ index: index,
20
+ type: pkt.code,
21
+ instanceId: instanceId,
22
+ id: pkt.id,
23
+ endpoint: pkt.endpoint,
24
+ in: [],
25
+ out: [pkt]
26
+ }
27
+ }
28
+
29
+ // ________________________________________________________________________________
30
+ // WsPacket HISTORY STORE
31
+ // ________________________________________________________________________________
32
+ export const store = reactive({
33
+ history: [],
34
+ enabled: true,
35
+ instanceId: null,
36
+ historyIdx: 0,
37
+ idToIdxMap: {},
38
+ documentation: "/v3/text-markdown/c0ckp1t/vue-js/Traffic.md"
39
+ })
40
+
41
+ // ________________________________________________________________________________
42
+ // METHODS
43
+ // ________________________________________________________________________________
44
+ // Convert from WsPacket.id to the store.historyIdx it is inserted into
45
+ function idToIndex(id) {
46
+ return store.idToIdxMap[id]
47
+ }
48
+
49
+ // ________________________________________________________________________________
50
+ // NOTIFY API
51
+ // ________________________________________________________________________________
52
+ export const api = {
53
+ async logInbound(id, wsPacket) {
54
+ if (!store.enabled) return
55
+ let idx = idToIndex(wsPacket.id)
56
+ if(!idx) {
57
+ console.log("TODO: fix logger for events")
58
+ return
59
+ }
60
+ store.history[idx].in.push(wsPacket)
61
+ },
62
+ async logOutbound(id, wsPacket) {
63
+ if (!store.enabled) return
64
+
65
+ if (wsPacket.code === Code2.EXEC_REQ || wsPacket.code === Code2.EXEC2_REQ || wsPacket.code === Code2.EXEC3_REQ) {
66
+ let idx = store.historyIdx
67
+ store.history[idx] = buildHistObj(idx, id, wsPacket)
68
+ store.idToIdxMap[wsPacket.id] = idx
69
+
70
+ if (store.historyIdx > MSG_HISTORY) {
71
+ store.historyIdx = 0
72
+ const oldPktId = store.history[0]
73
+ delete store.idToIdxMap[oldPktId]
74
+ } else {
75
+ store.historyIdx += 1
76
+ }
77
+ } else {
78
+ return
79
+ // Note: All messages are outbound first. C0ckp1t doesn't currently
80
+ // initiate any messages
81
+ // console.log(`[LOG_OUTBOUND_ERROR] - unexpected wsPacket - ${wsPacket}`)
82
+ }
83
+ },
84
+ async clearHistory() {
85
+ for (var i = 0; i < MSG_HISTORY; ++i) {
86
+ store.history[i] = buildHistObj(i)
87
+ }
88
+ }
89
+
90
+ }
91
+