basuicn 0.3.12 → 0.3.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/abap-CLvhMVsD.js +1 -0
- package/dist/assets/actionscript-3--17pq3dv.js +1 -0
- package/dist/assets/ada-C5qYipkI.js +1 -0
- package/dist/assets/andromeeda-vGVdxbeo.js +1 -0
- package/dist/assets/angular-html-C_R4boCs.js +1 -0
- package/dist/assets/angular-ts-DDC-7KEU.js +1 -0
- package/dist/assets/apache-U0d_L8uA.js +1 -0
- package/dist/assets/apex-VAyPSnFM.js +1 -0
- package/dist/assets/apl-C6NMFcit.js +1 -0
- package/dist/assets/applescript-CCn79oCD.js +1 -0
- package/dist/assets/ara-4CJ0cIlV.js +1 -0
- package/dist/assets/asciidoc-DE70LPWp.js +1 -0
- package/dist/assets/asm-Cmm7eHzH.js +1 -0
- package/dist/assets/astro-D6HwFgiT.js +1 -0
- package/dist/assets/aurora-x-CDeNXAV0.js +1 -0
- package/dist/assets/awk-BWXHIvNe.js +1 -0
- package/dist/assets/ayu-dark-DluEY0Gj.js +1 -0
- package/dist/assets/ayu-light-C3h-C4tm.js +1 -0
- package/dist/assets/ayu-mirage-Bqwy1Gya.js +1 -0
- package/dist/assets/ballerina-B7ZEbQpA.js +1 -0
- package/dist/assets/bat-Bo4NYOV-.js +1 -0
- package/dist/assets/beancount-D-usSTwE.js +1 -0
- package/dist/assets/berry-DKpUyyne.js +1 -0
- package/dist/assets/bibtex-Ci_nEsc7.js +1 -0
- package/dist/assets/bicep-CUHmPFLl.js +1 -0
- package/dist/assets/bird2-C6vDhewU.js +1 -0
- package/dist/assets/blade-C4l1V02K.js +1 -0
- package/dist/assets/bsl-BkkzgIyY.js +1 -0
- package/dist/assets/c-KSOZ_xJw.js +1 -0
- package/dist/assets/c3-BFHwR3_K.js +1 -0
- package/dist/assets/cadence-CQ2zXKGN.js +1 -0
- package/dist/assets/cairo-DLTphjLi.js +1 -0
- package/dist/assets/catppuccin-frappe-3VR1Za6u.js +1 -0
- package/dist/assets/catppuccin-latte-DwIHMF0Q.js +1 -0
- package/dist/assets/catppuccin-macchiato-DYnBP6_5.js +1 -0
- package/dist/assets/catppuccin-mocha-DYhrFGRu.js +1 -0
- package/dist/assets/clarity-SemFz856.js +1 -0
- package/dist/assets/clojure-DqKBuwfJ.js +1 -0
- package/dist/assets/cmake-Bj61d0ZC.js +1 -0
- package/dist/assets/cobol-DV3uoHgO.js +1 -0
- package/dist/assets/codeowners-C8r90Shi.js +1 -0
- package/dist/assets/codeql-oeQT6MSM.js +1 -0
- package/dist/assets/coffee-BI7IzQLX.js +1 -0
- package/dist/assets/common-lisp-Cv5bFMCO.js +1 -0
- package/dist/assets/coq-BrsZFFmf.js +1 -0
- package/dist/assets/cpp-nwtcw6V-.js +1 -0
- package/dist/assets/crystal-Cj7dDBIL.js +1 -0
- package/dist/assets/csharp-oqKa8noW.js +1 -0
- package/dist/assets/css-Bjl9g7PY.js +1 -0
- package/dist/assets/csv-Dx-8-gkx.js +1 -0
- package/dist/assets/cue-CE9AQfxI.js +1 -0
- package/dist/assets/cypher-ClKdZ_lG.js +1 -0
- package/dist/assets/d-qD-0Kul2.js +1 -0
- package/dist/assets/dark-plus-Cs2F2srj.js +1 -0
- package/dist/assets/dart-CnvKMtbv.js +1 -0
- package/dist/assets/dax-BkyTk9wS.js +1 -0
- package/dist/assets/desktop-Dlh5hvp9.js +1 -0
- package/dist/assets/diff-woXpYk--.js +1 -0
- package/dist/assets/docker-IyjqRm3v.js +1 -0
- package/dist/assets/dotenv-_5a1GRtc.js +1 -0
- package/dist/assets/dracula-BHWKrbxM.js +1 -0
- package/dist/assets/dracula-soft-5eyTD99u.js +1 -0
- package/dist/assets/dream-maker-DW3nJb8Q.js +1 -0
- package/dist/assets/edge-CLyulaNo.js +1 -0
- package/dist/assets/elixir-D1qe5nvJ.js +1 -0
- package/dist/assets/elm-BFVadj03.js +1 -0
- package/dist/assets/emacs-lisp-B4R74twV.js +1 -0
- package/dist/assets/erb-DLGpISTK.js +1 -0
- package/dist/assets/erlang-Cphh6RMH.js +1 -0
- package/dist/assets/everforest-dark-sB-x3p7T.js +1 -0
- package/dist/assets/everforest-light-Df2xbC6M.js +1 -0
- package/dist/assets/fennel-DQxkIbk2.js +1 -0
- package/dist/assets/fish-BJitypiv.js +1 -0
- package/dist/assets/fluent-C03EYrpw.js +1 -0
- package/dist/assets/fortran-fixed-form-DEKoE2YW.js +1 -0
- package/dist/assets/fortran-free-form-CYNrtFtB.js +1 -0
- package/dist/assets/fsharp-D13ZGOAj.js +1 -0
- package/dist/assets/gdresource-C0sCabJj.js +1 -0
- package/dist/assets/gdscript-Cp2uCuqX.js +1 -0
- package/dist/assets/gdshader-CBce3t8t.js +1 -0
- package/dist/assets/genie-CV2tkWYe.js +1 -0
- package/dist/assets/gherkin-DExj1W_8.js +1 -0
- package/dist/assets/git-commit-BSykSTBG.js +1 -0
- package/dist/assets/git-rebase-BAH2F1ja.js +1 -0
- package/dist/assets/github-dark-C-LZuMrd.js +1 -0
- package/dist/assets/github-dark-default-DXG-b-1a.js +1 -0
- package/dist/assets/github-dark-dimmed-Bx1FflLF.js +1 -0
- package/dist/assets/github-dark-high-contrast-B_tTalzw.js +1 -0
- package/dist/assets/github-light-EUqPIrTm.js +1 -0
- package/dist/assets/github-light-default-BXViO-2h.js +1 -0
- package/dist/assets/github-light-high-contrast-B68TUdTA.js +1 -0
- package/dist/assets/gleam-CSRkHgEL.js +1 -0
- package/dist/assets/glimmer-js-Dd1uIqub.js +1 -0
- package/dist/assets/glimmer-ts-DjqoMFcz.js +1 -0
- package/dist/assets/glsl-D2nmnYHV.js +1 -0
- package/dist/assets/gn-ilITqXS6.js +1 -0
- package/dist/assets/gnuplot-7GGW24-e.js +1 -0
- package/dist/assets/go-rLFTqkRN.js +1 -0
- package/dist/assets/graphql-Cw77QnDJ.js +1 -0
- package/dist/assets/groovy-CacY0gHj.js +1 -0
- package/dist/assets/gruvbox-dark-hard-C820rvS2.js +1 -0
- package/dist/assets/gruvbox-dark-medium-BPjhmG05.js +1 -0
- package/dist/assets/gruvbox-dark-soft-MrdJrrXF.js +1 -0
- package/dist/assets/gruvbox-light-hard-BC_s9l72.js +1 -0
- package/dist/assets/gruvbox-light-medium-BAWPOn9u.js +1 -0
- package/dist/assets/gruvbox-light-soft-BSMLrYjP.js +1 -0
- package/dist/assets/hack-Bb9mpV0i.js +1 -0
- package/dist/assets/haml-CF8RwEu1.js +1 -0
- package/dist/assets/handlebars-D2zFsrot.js +1 -0
- package/dist/assets/haskell-D8IpX4py.js +1 -0
- package/dist/assets/haxe-OTjmBuCE.js +1 -0
- package/dist/assets/hcl-Dh228itO.js +1 -0
- package/dist/assets/hjson-CxZEssPk.js +1 -0
- package/dist/assets/hlsl-Cvrh5tZx.js +1 -0
- package/dist/assets/horizon-CE9ld1lL.js +1 -0
- package/dist/assets/horizon-bright-DSNQnXHK.js +1 -0
- package/dist/assets/houston-CsvMBhTu.js +1 -0
- package/dist/assets/html-DPsTyQ4s.js +1 -0
- package/dist/assets/html-derivative-uE_H-K2_.js +1 -0
- package/dist/assets/http-BLC6NeYh.js +1 -0
- package/dist/assets/hurl-DO46mQZ1.js +1 -0
- package/dist/assets/hxml-B0Qn7Nwc.js +1 -0
- package/dist/assets/hy-CZbG8q4J.js +1 -0
- package/dist/assets/imba-DsUTQ-LC.js +1 -0
- package/dist/assets/index-Ba666nDd.css +1 -0
- package/dist/assets/index-CnNrrRnN.js +897 -0
- package/dist/assets/ini-B5eOa1yu.js +1 -0
- package/dist/assets/java-kzUtURfb.js +1 -0
- package/dist/assets/javascript-hXYTfjcT.js +1 -0
- package/dist/assets/jinja-DW3Ipkk9.js +1 -0
- package/dist/assets/jison-Dtk5Sh4F.js +1 -0
- package/dist/assets/json-yvvy5IcZ.js +1 -0
- package/dist/assets/json5-BR5RXkoi.js +1 -0
- package/dist/assets/jsonc-CYpm1nAK.js +1 -0
- package/dist/assets/jsonl-CmCQp5Yx.js +1 -0
- package/dist/assets/jsonnet-CJTPZ8u_.js +1 -0
- package/dist/assets/jssm-DXw9l8Rf.js +1 -0
- package/dist/assets/jsx-CXY-Xklo.js +1 -0
- package/dist/assets/julia-B-djpp87.js +1 -0
- package/dist/assets/just-Dy_P1Mi8.js +1 -0
- package/dist/assets/kanagawa-dragon-CXtmUGW6.js +1 -0
- package/dist/assets/kanagawa-lotus-BN08jTvb.js +1 -0
- package/dist/assets/kanagawa-wave-CTweb8Dz.js +1 -0
- package/dist/assets/kdl-CsD5j6eV.js +1 -0
- package/dist/assets/kotlin-DhhofPvG.js +1 -0
- package/dist/assets/kusto-C7mF5XQf.js +1 -0
- package/dist/assets/laserwave-C_8bwKvT.js +1 -0
- package/dist/assets/latex-CeRzDjwd.js +1 -0
- package/dist/assets/lean-CewbzKMR.js +1 -0
- package/dist/assets/less-DVTAwKKz.js +1 -0
- package/dist/assets/light-plus-DVQuIRkW.js +1 -0
- package/dist/assets/liquid-C5oaVhR-.js +1 -0
- package/dist/assets/llvm-Cm23YOpf.js +1 -0
- package/dist/assets/log-BNLmms1o.js +1 -0
- package/dist/assets/logo-Cluzi2Zq.js +1 -0
- package/dist/assets/lua-CzZee3zd.js +1 -0
- package/dist/assets/luau-FMPmPwt6.js +1 -0
- package/dist/assets/make-Dixweg8N.js +1 -0
- package/dist/assets/markdown-BYOwaDjH.js +1 -0
- package/dist/assets/marko-DwJR36iE.js +1 -0
- package/dist/assets/material-theme-Bm3Qr25_.js +1 -0
- package/dist/assets/material-theme-darker-2IIEA8gg.js +1 -0
- package/dist/assets/material-theme-lighter-uhdI0v04.js +1 -0
- package/dist/assets/material-theme-ocean-CHQ94UKr.js +1 -0
- package/dist/assets/material-theme-palenight-B5W6OYN7.js +1 -0
- package/dist/assets/matlab-D7qyCx1q.js +1 -0
- package/dist/assets/mdc-Cz5KPxip.js +1 -0
- package/dist/assets/mdx-DQZ5AkYe.js +1 -0
- package/dist/assets/mermaid-Bk4SNUv9.js +1 -0
- package/dist/assets/min-dark-BSWPekZh.js +1 -0
- package/dist/assets/min-light-DDpmG2fV.js +1 -0
- package/dist/assets/mipsasm-BMqwQI7S.js +1 -0
- package/dist/assets/mojo-BgCJLMeH.js +1 -0
- package/dist/assets/monokai-CdkpiU2Y.js +1 -0
- package/dist/assets/moonbit-CaWjb8XO.js +1 -0
- package/dist/assets/move-B1IS1UjX.js +1 -0
- package/dist/assets/narrat-_X_XdTYD.js +1 -0
- package/dist/assets/nextflow-BJtWHP5T.js +1 -0
- package/dist/assets/nextflow-groovy-DJMQeKeT.js +1 -0
- package/dist/assets/nginx-DP8PKHqg.js +1 -0
- package/dist/assets/night-owl-DhmEMT88.js +1 -0
- package/dist/assets/night-owl-light-eJ-hLW7d.js +1 -0
- package/dist/assets/nim-DLj_luda.js +1 -0
- package/dist/assets/nix-IvuFDN5E.js +1 -0
- package/dist/assets/nord-Cb4Vim4T.js +1 -0
- package/dist/assets/nushell-DcLAeLz5.js +1 -0
- package/dist/assets/objective-c-D1A_Heim.js +1 -0
- package/dist/assets/objective-cpp-BsSzOQcm.js +1 -0
- package/dist/assets/ocaml-O90oeIOV.js +1 -0
- package/dist/assets/odin-B1RWQWA5.js +1 -0
- package/dist/assets/one-dark-pro-CLwyXe_n.js +1 -0
- package/dist/assets/one-light-D7Lr4KcI.js +1 -0
- package/dist/assets/openscad-BUDT5pXO.js +1 -0
- package/dist/assets/pascal-4ZHwLPI5.js +1 -0
- package/dist/assets/perl-gt0YvaTf.js +1 -0
- package/dist/assets/php-BPUC88QF.js +1 -0
- package/dist/assets/pkl-ot-7Btpt.js +1 -0
- package/dist/assets/plastic-DQwYfKfQ.js +1 -0
- package/dist/assets/plsql-DGHpHOYJ.js +1 -0
- package/dist/assets/po-BiJDBrnU.js +1 -0
- package/dist/assets/poimandres-DRFjx7u4.js +1 -0
- package/dist/assets/polar-C7UOKdEL.js +1 -0
- package/dist/assets/postcss-BXeXVLqQ.js +1 -0
- package/dist/assets/powerquery-DNMTfnFr.js +1 -0
- package/dist/assets/powershell-DshXNtvi.js +1 -0
- package/dist/assets/prisma-BsRQq5mF.js +1 -0
- package/dist/assets/prolog-iXnhIJG7.js +1 -0
- package/dist/assets/proto-DB4EqR-F.js +1 -0
- package/dist/assets/pug-DgFsRPbA.js +1 -0
- package/dist/assets/puppet-CDv2pdJW.js +1 -0
- package/dist/assets/purescript-9MfHhQsQ.js +1 -0
- package/dist/assets/python-gzcpVVnB.js +1 -0
- package/dist/assets/qml-C_LfdLXm.js +1 -0
- package/dist/assets/qmldir-DCQb3MpD.js +1 -0
- package/dist/assets/qss-Fe1Jh2GI.js +1 -0
- package/dist/assets/r-Pj2SwcAG.js +1 -0
- package/dist/assets/racket-DcIDlBhZ.js +1 -0
- package/dist/assets/raku-B3gFvitq.js +1 -0
- package/dist/assets/razor-BKc5ThWc.js +1 -0
- package/dist/assets/red-CJ3rzSJv.js +1 -0
- package/dist/assets/reg-CRGYupPL.js +1 -0
- package/dist/assets/regexp-BHCMzRa4.js +1 -0
- package/dist/assets/rel-BtDbiS_P.js +1 -0
- package/dist/assets/riscv-Ckw8ddFX.js +1 -0
- package/dist/assets/ron-VUp2lXgN.js +1 -0
- package/dist/assets/rose-pine-BthvhNj6.js +1 -0
- package/dist/assets/rose-pine-dawn-Dg85fqjY.js +1 -0
- package/dist/assets/rose-pine-moon-hon4tzzS.js +1 -0
- package/dist/assets/rosmsg-CAekHB0j.js +1 -0
- package/dist/assets/rst-D1Q1H8XX.js +1 -0
- package/dist/assets/ruby-aFDqyHwf.js +1 -0
- package/dist/assets/rust-Cfkwpbl8.js +1 -0
- package/dist/assets/sas-DUQasUvv.js +1 -0
- package/dist/assets/sass-DXrisJhu.js +1 -0
- package/dist/assets/scala-DKOlJaKm.js +1 -0
- package/dist/assets/scheme-DQCgrYNe.js +1 -0
- package/dist/assets/scss-DRMVx3p6.js +1 -0
- package/dist/assets/sdbl-bTVj8UrX.js +1 -0
- package/dist/assets/shaderlab-TOUzSsQk.js +1 -0
- package/dist/assets/shellscript-9nE2ns3B.js +1 -0
- package/dist/assets/shellsession-Ym61uyCB.js +1 -0
- package/dist/assets/slack-dark-DnToyrRv.js +1 -0
- package/dist/assets/slack-ochin-B2OO5cIa.js +1 -0
- package/dist/assets/smalltalk-B16xEiuN.js +1 -0
- package/dist/assets/snazzy-light-4G7pJPwS.js +1 -0
- package/dist/assets/solarized-dark-DV17i1UV.js +1 -0
- package/dist/assets/solarized-light-DSh2HLQt.js +1 -0
- package/dist/assets/solidity-CKzVLygQ.js +1 -0
- package/dist/assets/soy-C9F5-hVX.js +1 -0
- package/dist/assets/sparql-D_iOobhT.js +1 -0
- package/dist/assets/splunk-BC2Px7Mm.js +1 -0
- package/dist/assets/sql-DNRGB4_D.js +1 -0
- package/dist/assets/ssh-config-BgfXC-Er.js +1 -0
- package/dist/assets/stata-9CUIUM5m.js +1 -0
- package/dist/assets/stylus-B6D30XZt.js +1 -0
- package/dist/assets/surrealql-BKa1jBv8.js +1 -0
- package/dist/assets/svelte-l-AzXjIs.js +1 -0
- package/dist/assets/swift-DonLKvLd.js +1 -0
- package/dist/assets/synthwave-84-nFMaYfgc.js +1 -0
- package/dist/assets/system-verilog-DJ5XKQeo.js +1 -0
- package/dist/assets/systemd-BxMlprV5.js +1 -0
- package/dist/assets/talonscript-CohzipZa.js +1 -0
- package/dist/assets/tasl-DMoTqEGO.js +1 -0
- package/dist/assets/tcl-CZd0xW_V.js +1 -0
- package/dist/assets/templ-CcqG4x7p.js +1 -0
- package/dist/assets/terraform-DswuEJGm.js +1 -0
- package/dist/assets/tex-DqjZxgcw.js +1 -0
- package/dist/assets/tokyo-night-oM2G3aXe.js +1 -0
- package/dist/assets/toml-CcmNWLt0.js +1 -0
- package/dist/assets/ts-tags-7N5waLHg.js +1 -0
- package/dist/assets/tsv-sltzmVWM.js +1 -0
- package/dist/assets/tsx-CZDiJHa-.js +1 -0
- package/dist/assets/turtle-ByJddavk.js +1 -0
- package/dist/assets/twig-DnrUvKgH.js +1 -0
- package/dist/assets/typescript-CNLx8Xjf.js +1 -0
- package/dist/assets/typespec-BRdr0IET.js +1 -0
- package/dist/assets/typst-DI99ib-x.js +1 -0
- package/dist/assets/v-DETTlOr0.js +1 -0
- package/dist/assets/vala-zf12oZj6.js +1 -0
- package/dist/assets/vb-Djn5o6TS.js +1 -0
- package/dist/assets/verilog-CiiDBU1e.js +1 -0
- package/dist/assets/vesper-DdrHHSXu.js +1 -0
- package/dist/assets/vhdl-BroJfC0k.js +1 -0
- package/dist/assets/viml-DvXPmvsu.js +1 -0
- package/dist/assets/vitesse-black-fwtXNY1n.js +1 -0
- package/dist/assets/vitesse-dark-BZCL-v6S.js +1 -0
- package/dist/assets/vitesse-light-VbXTXTou.js +1 -0
- package/dist/assets/vue-St5TuCBW.js +1 -0
- package/dist/assets/vue-html-BQ_bILAj.js +1 -0
- package/dist/assets/vue-vine-BbKxMI1X.js +1 -0
- package/dist/assets/vyper-CgoNMtux.js +1 -0
- package/dist/assets/wasm-BnjxR4X6.js +1 -0
- package/dist/assets/wasm-ByWQv1Qj.js +1 -0
- package/dist/assets/wenyan-C8pVoKbM.js +1 -0
- package/dist/assets/wgsl-BsKzXJz4.js +1 -0
- package/dist/assets/wikitext-ClFFjSW2.js +1 -0
- package/dist/assets/wit-DdvCle-K.js +1 -0
- package/dist/assets/wolfram-DLL8P-h_.js +1 -0
- package/dist/assets/xml-Bz0xg06z.js +1 -0
- package/dist/assets/xsl-DC-2vw27.js +1 -0
- package/dist/assets/yaml-m0kezuu_.js +1 -0
- package/dist/assets/zenscript-BnlCZFoB.js +1 -0
- package/dist/assets/zig-CMLA9XwU.js +1 -0
- package/dist/icons.svg +24 -24
- package/dist/index.html +29 -13
- package/dist/llm-full.txt +298 -0
- package/dist/llm.txt +110 -0
- package/dist/ui-cli.cjs +1 -1
- package/package.json +10 -5
- package/registry.json +179 -121
- package/scripts/build-cli.mjs +12 -12
- package/scripts/build-registry.ts +261 -261
- package/scripts/ui-cli.ts +1333 -1333
- package/dist/assets/index-1YAQdTE0.css +0 -2
- package/dist/assets/index-BsQ6nn74.js +0 -237
- package/dist/ui-cli.js +0 -124
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./index-CnNrrRnN.js";import{t}from"./java-kzUtURfb.js";var n=e({default:()=>i}),r=Object.freeze(JSON.parse(`{"displayName":"XML","name":"xml","patterns":[{"begin":"(<\\\\?)\\\\s*([-0-9A-Z_a-z]+)","captures":{"1":{"name":"punctuation.definition.tag.xml"},"2":{"name":"entity.name.tag.xml"}},"end":"(\\\\?>)","name":"meta.tag.preprocessor.xml","patterns":[{"match":" ([-A-Za-z]+)","name":"entity.other.attribute-name.xml"},{"include":"#doublequotedString"},{"include":"#singlequotedString"}]},{"begin":"(<!)(DOCTYPE)\\\\s+([:A-Z_a-z][-.0-:A-Z_a-z]*)","captures":{"1":{"name":"punctuation.definition.tag.xml"},"2":{"name":"keyword.other.doctype.xml"},"3":{"name":"variable.language.documentroot.xml"}},"end":"\\\\s*(>)","name":"meta.tag.sgml.doctype.xml","patterns":[{"include":"#internalSubset"}]},{"include":"#comments"},{"begin":"(<)((?:([-0-9A-Z_a-z]+)(:))?([-0-:A-Z_a-z]+))(?=(\\\\s[^>]*)?></\\\\2>)","beginCaptures":{"1":{"name":"punctuation.definition.tag.xml"},"2":{"name":"entity.name.tag.xml"},"3":{"name":"entity.name.tag.namespace.xml"},"4":{"name":"punctuation.separator.namespace.xml"},"5":{"name":"entity.name.tag.localname.xml"}},"end":"(>)(</)((?:([-0-9A-Z_a-z]+)(:))?([-0-:A-Z_a-z]+))(>)","endCaptures":{"1":{"name":"punctuation.definition.tag.xml"},"2":{"name":"punctuation.definition.tag.xml"},"3":{"name":"entity.name.tag.xml"},"4":{"name":"entity.name.tag.namespace.xml"},"5":{"name":"punctuation.separator.namespace.xml"},"6":{"name":"entity.name.tag.localname.xml"},"7":{"name":"punctuation.definition.tag.xml"}},"name":"meta.tag.no-content.xml","patterns":[{"include":"#tagStuff"}]},{"begin":"(</?)(?:([-.\\\\w]+)((:)))?([-.:\\\\w]+)","captures":{"1":{"name":"punctuation.definition.tag.xml"},"2":{"name":"entity.name.tag.namespace.xml"},"3":{"name":"entity.name.tag.xml"},"4":{"name":"punctuation.separator.namespace.xml"},"5":{"name":"entity.name.tag.localname.xml"}},"end":"(/?>)","name":"meta.tag.xml","patterns":[{"include":"#tagStuff"}]},{"include":"#entity"},{"include":"#bare-ampersand"},{"begin":"<%@","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.xml"}},"end":"%>","endCaptures":{"0":{"name":"punctuation.section.embedded.end.xml"}},"name":"source.java-props.embedded.xml","patterns":[{"match":"page|include|taglib","name":"keyword.other.page-props.xml"}]},{"begin":"<%[!=]?(?!--)","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.xml"}},"end":"(?!--)%>","endCaptures":{"0":{"name":"punctuation.section.embedded.end.xml"}},"name":"source.java.embedded.xml","patterns":[{"include":"source.java"}]},{"begin":"<!\\\\[CDATA\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.xml"}},"end":"]]>","endCaptures":{"0":{"name":"punctuation.definition.string.end.xml"}},"name":"string.unquoted.cdata.xml"}],"repository":{"EntityDecl":{"begin":"(<!)(ENTITY)\\\\s+(%\\\\s+)?([:A-Z_a-z][-.0-:A-Z_a-z]*)(\\\\s+(?:SYSTEM|PUBLIC)\\\\s+)?","captures":{"1":{"name":"punctuation.definition.tag.xml"},"2":{"name":"keyword.other.entity.xml"},"3":{"name":"punctuation.definition.entity.xml"},"4":{"name":"variable.language.entity.xml"},"5":{"name":"keyword.other.entitytype.xml"}},"end":"(>)","patterns":[{"include":"#doublequotedString"},{"include":"#singlequotedString"}]},"bare-ampersand":{"match":"&","name":"invalid.illegal.bad-ampersand.xml"},"comments":{"patterns":[{"begin":"<%--","captures":{"0":{"name":"punctuation.definition.comment.xml"},"end":"--%>","name":"comment.block.xml"}},{"begin":"<!--","captures":{"0":{"name":"punctuation.definition.comment.xml"}},"end":"-->","name":"comment.block.xml","patterns":[{"begin":"--(?!>)","captures":{"0":{"name":"invalid.illegal.bad-comments-or-CDATA.xml"}}}]}]},"doublequotedString":{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.xml"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.xml"}},"name":"string.quoted.double.xml","patterns":[{"include":"#entity"},{"include":"#bare-ampersand"}]},"entity":{"captures":{"1":{"name":"punctuation.definition.constant.xml"},"3":{"name":"punctuation.definition.constant.xml"}},"match":"(&)([:A-Z_a-z][-.0-:A-Z_a-z]*|#[0-9]+|#x\\\\h+)(;)","name":"constant.character.entity.xml"},"internalSubset":{"begin":"(\\\\[)","captures":{"1":{"name":"punctuation.definition.constant.xml"}},"end":"(])","name":"meta.internalsubset.xml","patterns":[{"include":"#EntityDecl"},{"include":"#parameterEntity"},{"include":"#comments"}]},"parameterEntity":{"captures":{"1":{"name":"punctuation.definition.constant.xml"},"3":{"name":"punctuation.definition.constant.xml"}},"match":"(%)([:A-Z_a-z][-.0-:A-Z_a-z]*)(;)","name":"constant.character.parameter-entity.xml"},"singlequotedString":{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.xml"}},"end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.xml"}},"name":"string.quoted.single.xml","patterns":[{"include":"#entity"},{"include":"#bare-ampersand"}]},"tagStuff":{"patterns":[{"captures":{"1":{"name":"entity.other.attribute-name.namespace.xml"},"2":{"name":"entity.other.attribute-name.xml"},"3":{"name":"punctuation.separator.namespace.xml"},"4":{"name":"entity.other.attribute-name.localname.xml"}},"match":"(?:^|\\\\s+)(?:([-.\\\\w]+)((:)))?([-.:\\\\w]+)\\\\s*="},{"include":"#doublequotedString"},{"include":"#singlequotedString"}]}},"scopeName":"text.xml","embeddedLangs":["java"]}`)),i=[...t,r];export{n,i as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./xml-Bz0xg06z.js";var t=Object.freeze(JSON.parse(`{"displayName":"XSL","name":"xsl","patterns":[{"begin":"(<)(xsl)((:))(template)","captures":{"1":{"name":"punctuation.definition.tag.xml"},"2":{"name":"entity.name.tag.namespace.xml"},"3":{"name":"entity.name.tag.xml"},"4":{"name":"punctuation.separator.namespace.xml"},"5":{"name":"entity.name.tag.localname.xml"}},"end":"(>)","name":"meta.tag.xml.template","patterns":[{"captures":{"1":{"name":"entity.other.attribute-name.namespace.xml"},"2":{"name":"entity.other.attribute-name.xml"},"3":{"name":"punctuation.separator.namespace.xml"},"4":{"name":"entity.other.attribute-name.localname.xml"}},"match":" (?:([-0-9A-Z_a-z]+)((:)))?([-A-Za-z]+)"},{"include":"#doublequotedString"},{"include":"#singlequotedString"}]},{"include":"text.xml"}],"repository":{"doublequotedString":{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.xml"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.xml"}},"name":"string.quoted.double.xml"},"singlequotedString":{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.xml"}},"end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.xml"}},"name":"string.quoted.single.xml"}},"scopeName":"text.xml.xsl","embeddedLangs":["xml"]}`)),n=[...e,t];export{n as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./index-CnNrrRnN.js";var t=e({default:()=>n}),n=[Object.freeze(JSON.parse(`{"displayName":"YAML","fileTypes":["yaml","yml","rviz","reek","clang-format","yaml-tmlanguage","syntax","sublime-syntax"],"firstLineMatch":"^%YAML( ?1.\\\\d+)?","name":"yaml","patterns":[{"include":"#comment"},{"include":"#property"},{"include":"#directive"},{"match":"^---","name":"entity.other.document.begin.yaml"},{"match":"^\\\\.{3}","name":"entity.other.document.end.yaml"},{"include":"#node"}],"repository":{"block-collection":{"patterns":[{"include":"#block-sequence"},{"include":"#block-mapping"}]},"block-mapping":{"patterns":[{"include":"#block-pair"}]},"block-node":{"patterns":[{"include":"#prototype"},{"include":"#block-scalar"},{"include":"#block-collection"},{"include":"#flow-scalar-plain-out"},{"include":"#flow-node"}]},"block-pair":{"patterns":[{"begin":"\\\\?","beginCaptures":{"1":{"name":"punctuation.definition.key-value.begin.yaml"}},"end":"(?=\\\\?)|^ *(:)|(:)","endCaptures":{"1":{"name":"punctuation.separator.key-value.mapping.yaml"},"2":{"name":"invalid.illegal.expected-newline.yaml"}},"name":"meta.block-mapping.yaml","patterns":[{"include":"#block-node"}]},{"begin":"(?=(?:[^-\\\\]!\\"#%\\\\&'*,:>?@\\\\[\`{|}\\\\s]|[-:?]\\\\S)([^:\\\\s]|:\\\\S|\\\\s+(?![#\\\\s]))*\\\\s*:(\\\\s|$))","end":"(?=\\\\s*$|\\\\s+#|\\\\s*:(\\\\s|$))","patterns":[{"include":"#flow-scalar-plain-out-implicit-type"},{"begin":"[^-\\\\]!\\"#%\\\\&'*,:>?@\\\\[\`{|}\\\\s]|[-:?]\\\\S","beginCaptures":{"0":{"name":"entity.name.tag.yaml"}},"contentName":"entity.name.tag.yaml","end":"(?=\\\\s*$|\\\\s+#|\\\\s*:(\\\\s|$))","name":"string.unquoted.plain.out.yaml"}]},{"match":":(?=\\\\s|$)","name":"punctuation.separator.key-value.mapping.yaml"}]},"block-scalar":{"begin":"(?:(\\\\|)|(>))([1-9])?([-+])?(.*\\\\n?)","beginCaptures":{"1":{"name":"keyword.control.flow.block-scalar.literal.yaml"},"2":{"name":"keyword.control.flow.block-scalar.folded.yaml"},"3":{"name":"constant.numeric.indentation-indicator.yaml"},"4":{"name":"storage.modifier.chomping-indicator.yaml"},"5":{"patterns":[{"include":"#comment"},{"match":".+","name":"invalid.illegal.expected-comment-or-newline.yaml"}]}},"end":"^(?=\\\\S)|(?!\\\\G)","patterns":[{"begin":"^( +)(?! )","end":"^(?!\\\\1|\\\\s*$)","name":"string.unquoted.block.yaml"}]},"block-sequence":{"match":"(-)(?!\\\\S)","name":"punctuation.definition.block.sequence.item.yaml"},"comment":{"begin":"(?:^([\\\\t ]*)|[\\\\t ]+)(?=#\\\\p{print}*$)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.yaml"}},"end":"(?!\\\\G)","patterns":[{"begin":"#","beginCaptures":{"0":{"name":"punctuation.definition.comment.yaml"}},"end":"\\\\n","name":"comment.line.number-sign.yaml"}]},"directive":{"begin":"^%","beginCaptures":{"0":{"name":"punctuation.definition.directive.begin.yaml"}},"end":"(?=$|[\\\\t ]+($|#))","name":"meta.directive.yaml","patterns":[{"captures":{"1":{"name":"keyword.other.directive.yaml.yaml"},"2":{"name":"constant.numeric.yaml-version.yaml"}},"match":"\\\\G(YAML)[\\\\t ]+(\\\\d+\\\\.\\\\d+)"},{"captures":{"1":{"name":"keyword.other.directive.tag.yaml"},"2":{"name":"storage.type.tag-handle.yaml"},"3":{"name":"support.type.tag-prefix.yaml"}},"match":"\\\\G(TAG)(?:[\\\\t ]+(!(?:[-0-9A-Za-z]*!)?)(?:[\\\\t ]+(!(?:%\\\\h{2}|[]!#$\\\\&-;=?-\\\\[_a-z~])*|(?![]!,\\\\[{}])(?:%\\\\h{2}|[]!#$\\\\&-;=?-\\\\[_a-z~])+))?)?"},{"captures":{"1":{"name":"support.other.directive.reserved.yaml"},"2":{"name":"string.unquoted.directive-name.yaml"},"3":{"name":"string.unquoted.directive-parameter.yaml"}},"match":"\\\\G(\\\\w+)(?:[\\\\t ]+(\\\\w+)(?:[\\\\t ]+(\\\\w+))?)?"},{"match":"\\\\S+","name":"invalid.illegal.unrecognized.yaml"}]},"flow-alias":{"captures":{"1":{"name":"keyword.control.flow.alias.yaml"},"2":{"name":"punctuation.definition.alias.yaml"},"3":{"name":"variable.other.alias.yaml"},"4":{"name":"invalid.illegal.character.anchor.yaml"}},"match":"((\\\\*))([^],/\\\\[{}\\\\s]+)([^],}\\\\s]\\\\S*)?"},"flow-collection":{"patterns":[{"include":"#flow-sequence"},{"include":"#flow-mapping"}]},"flow-mapping":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.mapping.begin.yaml"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.mapping.end.yaml"}},"name":"meta.flow-mapping.yaml","patterns":[{"include":"#prototype"},{"match":",","name":"punctuation.separator.mapping.yaml"},{"include":"#flow-pair"}]},"flow-node":{"patterns":[{"include":"#prototype"},{"include":"#flow-alias"},{"include":"#flow-collection"},{"include":"#flow-scalar"}]},"flow-pair":{"patterns":[{"begin":"\\\\?","beginCaptures":{"0":{"name":"punctuation.definition.key-value.begin.yaml"}},"end":"(?=[],}])","name":"meta.flow-pair.explicit.yaml","patterns":[{"include":"#prototype"},{"include":"#flow-pair"},{"include":"#flow-node"},{"begin":":(?=\\\\s|$|[],\\\\[{}])","beginCaptures":{"0":{"name":"punctuation.separator.key-value.mapping.yaml"}},"end":"(?=[],}])","patterns":[{"include":"#flow-value"}]}]},{"begin":"(?=(?:[^-\\\\]!\\"#%\\\\&'*,:>?@\\\\[\`{|}\\\\s]|[-:?][^],\\\\[{}\\\\s])([^],:\\\\[{}\\\\s]|:[^],\\\\[{}\\\\s]|\\\\s+(?![#\\\\s]))*\\\\s*:(\\\\s|$))","end":"(?=\\\\s*$|\\\\s+#|\\\\s*:(\\\\s|$)|\\\\s*:[],\\\\[{}]|\\\\s*[],\\\\[{}])","name":"meta.flow-pair.key.yaml","patterns":[{"include":"#flow-scalar-plain-in-implicit-type"},{"begin":"[^-\\\\]!\\"#%\\\\&'*,:>?@\\\\[\`{|}\\\\s]|[-:?][^],\\\\[{}\\\\s]","beginCaptures":{"0":{"name":"entity.name.tag.yaml"}},"contentName":"entity.name.tag.yaml","end":"(?=\\\\s*$|\\\\s+#|\\\\s*:(\\\\s|$)|\\\\s*:[],\\\\[{}]|\\\\s*[],\\\\[{}])","name":"string.unquoted.plain.in.yaml"}]},{"include":"#flow-node"},{"begin":":(?=\\\\s|$|[],\\\\[{}])","captures":{"0":{"name":"punctuation.separator.key-value.mapping.yaml"}},"end":"(?=[],}])","name":"meta.flow-pair.yaml","patterns":[{"include":"#flow-value"}]}]},"flow-scalar":{"patterns":[{"include":"#flow-scalar-double-quoted"},{"include":"#flow-scalar-single-quoted"},{"include":"#flow-scalar-plain-in"}]},"flow-scalar-double-quoted":{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.yaml"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.yaml"}},"name":"string.quoted.double.yaml","patterns":[{"match":"\\\\\\\\([ \\"/0LN\\\\\\\\_abefnprtv]|x\\\\d\\\\d|u\\\\d{4}|U\\\\d{8})","name":"constant.character.escape.yaml"},{"match":"\\\\\\\\\\\\n","name":"constant.character.escape.double-quoted.newline.yaml"}]},"flow-scalar-plain-in":{"patterns":[{"include":"#flow-scalar-plain-in-implicit-type"},{"begin":"[^-\\\\]!\\"#%\\\\&'*,:>?@\\\\[\`{|}\\\\s]|[-:?][^],\\\\[{}\\\\s]","end":"(?=\\\\s*$|\\\\s+#|\\\\s*:(\\\\s|$)|\\\\s*:[],\\\\[{}]|\\\\s*[],\\\\[{}])","name":"string.unquoted.plain.in.yaml"}]},"flow-scalar-plain-in-implicit-type":{"patterns":[{"captures":{"1":{"name":"constant.language.null.yaml"},"2":{"name":"constant.language.boolean.yaml"},"3":{"name":"constant.numeric.integer.yaml"},"4":{"name":"constant.numeric.float.yaml"},"5":{"name":"constant.other.timestamp.yaml"},"6":{"name":"constant.language.value.yaml"},"7":{"name":"constant.language.merge.yaml"}},"match":"(?:(null|Null|NULL|~)|([Yy]|yes|Yes|YES|[Nn]|no|No|NO|true|True|TRUE|false|False|FALSE|on|On|ON|off|Off|OFF)|([-+]?0b[01_]+|[-+]?0[0-7_]+|[-+]?(?:0|[1-9][0-9_]*)|[-+]?0x[_\\\\h]+|[-+]?[1-9][0-9_]*(?::[0-5]?[0-9])+)|([-+]?(?:[0-9][0-9_]*)?\\\\.[.0-9]*(?:[Ee][-+][0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\\\.[0-9_]*|[-+]?\\\\.(?:inf|Inf|INF)|\\\\.(?:nan|NaN|NAN))|(\\\\d{4}-\\\\d{2}-\\\\d{2}|\\\\d{4}-\\\\d{1,2}-\\\\d{1,2}(?:[Tt]|[\\\\t ]+)\\\\d{1,2}:\\\\d{2}:\\\\d{2}(?:\\\\.\\\\d*)?(?:[\\\\t ]*Z|[-+]\\\\d{1,2}(?::\\\\d{1,2})?)?)|(=)|(<<))(?=\\\\s*$|\\\\s+#|\\\\s*:(\\\\s|$)|\\\\s*:[],\\\\[{}]|\\\\s*[],\\\\[{}])"}]},"flow-scalar-plain-out":{"patterns":[{"include":"#flow-scalar-plain-out-implicit-type"},{"begin":"[^-\\\\]!\\"#%\\\\&'*,:>?@\\\\[\`{|}\\\\s]|[-:?]\\\\S","end":"(?=\\\\s*$|\\\\s+#|\\\\s*:(\\\\s|$))","name":"string.unquoted.plain.out.yaml"}]},"flow-scalar-plain-out-implicit-type":{"patterns":[{"captures":{"1":{"name":"constant.language.null.yaml"},"2":{"name":"constant.language.boolean.yaml"},"3":{"name":"constant.numeric.integer.yaml"},"4":{"name":"constant.numeric.float.yaml"},"5":{"name":"constant.other.timestamp.yaml"},"6":{"name":"constant.language.value.yaml"},"7":{"name":"constant.language.merge.yaml"}},"match":"(?:(null|Null|NULL|~)|([Yy]|yes|Yes|YES|[Nn]|no|No|NO|true|True|TRUE|false|False|FALSE|on|On|ON|off|Off|OFF)|([-+]?0b[01_]+|[-+]?0[0-7_]+|[-+]?(?:0|[1-9][0-9_]*)|[-+]?0x[_\\\\h]+|[-+]?[1-9][0-9_]*(?::[0-5]?[0-9])+)|([-+]?(?:[0-9][0-9_]*)?\\\\.[.0-9]*(?:[Ee][-+][0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\\\.[0-9_]*|[-+]?\\\\.(?:inf|Inf|INF)|\\\\.(?:nan|NaN|NAN))|(\\\\d{4}-\\\\d{2}-\\\\d{2}|\\\\d{4}-\\\\d{1,2}-\\\\d{1,2}(?:[Tt]|[\\\\t ]+)\\\\d{1,2}:\\\\d{2}:\\\\d{2}(?:\\\\.\\\\d*)?(?:[\\\\t ]*Z|[-+]\\\\d{1,2}(?::\\\\d{1,2})?)?)|(=)|(<<))(?=\\\\s*$|\\\\s+#|\\\\s*:(\\\\s|$))"}]},"flow-scalar-single-quoted":{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.yaml"}},"end":"'(?!')","endCaptures":{"0":{"name":"punctuation.definition.string.end.yaml"}},"name":"string.quoted.single.yaml","patterns":[{"match":"''","name":"constant.character.escape.single-quoted.yaml"}]},"flow-sequence":{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.sequence.begin.yaml"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.sequence.end.yaml"}},"name":"meta.flow-sequence.yaml","patterns":[{"include":"#prototype"},{"match":",","name":"punctuation.separator.sequence.yaml"},{"include":"#flow-pair"},{"include":"#flow-node"}]},"flow-value":{"patterns":[{"begin":"\\\\G(?![],}])","end":"(?=[],}])","name":"meta.flow-pair.value.yaml","patterns":[{"include":"#flow-node"}]}]},"node":{"patterns":[{"include":"#block-node"}]},"property":{"begin":"(?=[!\\\\&])","end":"(?!\\\\G)","name":"meta.property.yaml","patterns":[{"captures":{"1":{"name":"keyword.control.property.anchor.yaml"},"2":{"name":"punctuation.definition.anchor.yaml"},"3":{"name":"entity.name.type.anchor.yaml"},"4":{"name":"invalid.illegal.character.anchor.yaml"}},"match":"\\\\G((&))([^],/\\\\[{}\\\\s]+)(\\\\S+)?"},{"match":"\\\\G!(?:<(?:%\\\\h{2}|[]!#$\\\\&-;=?-\\\\[_a-z~])+>|(?:[-0-9A-Za-z]*!)?(?:%\\\\h{2}|[#$\\\\&-+\\\\--;=?-Z_a-z~])+|)(?=[\\\\t ]|$)","name":"storage.type.tag-handle.yaml"},{"match":"\\\\S+","name":"invalid.illegal.tag-handle.yaml"}]},"prototype":{"patterns":[{"include":"#comment"},{"include":"#property"}]}},"scopeName":"source.yaml","aliases":["yml"]}`))];export{t as n,n as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e=[Object.freeze(JSON.parse(`{"displayName":"ZenScript","fileTypes":["zs"],"name":"zenscript","patterns":[{"match":"\\\\b((0([Xx])\\\\h*)|(([0-9]+\\\\.?[0-9]*)|(\\\\.[0-9]+))(([Ee])([-+])?[0-9]+)?)([DFLUdflu]|UL|ul)?\\\\b","name":"constant.numeric.zenscript"},{"match":"\\\\b-?(0[BOXbox])(0|[1-9A-Fa-f][_\\\\h]*)[A-Z_a-z]*\\\\b","name":"constant.numeric.zenscript"},{"include":"#code"},{"match":"\\\\b((?:[a-z]\\\\w*\\\\.)*[A-Z]+\\\\w*)(?=\\\\[)","name":"storage.type.object.array.zenscript"}],"repository":{"brackets":{"patterns":[{"captures":{"1":{"name":"keyword.control.zenscript"},"2":{"name":"keyword.other.zenscript"},"3":{"name":"keyword.control.zenscript"},"4":{"name":"variable.other.zenscript"},"5":{"name":"keyword.control.zenscript"},"6":{"name":"constant.numeric.zenscript"},"7":{"name":"keyword.control.zenscript"}},"match":"(<)\\\\b(.*?)(:(.*?(:(\\\\*|\\\\d+)?)?)?)(>)","name":"keyword.other.zenscript"}]},"class":{"captures":{"1":{"name":"storage.type.zenscript"},"2":{"name":"entity.name.type.class.zenscript"}},"match":"(zenClass)\\\\s+(\\\\w+)","name":"meta.class.zenscript"},"code":{"patterns":[{"include":"#class"},{"include":"#functions"},{"include":"#dots"},{"include":"#quotes"},{"include":"#brackets"},{"include":"#comments"},{"include":"#var"},{"include":"#keywords"},{"include":"#constants"},{"include":"#operators"}]},"comments":{"patterns":[{"match":"//[^\\\\n]*","name":"comment.line.double=slash"},{"begin":"/\\\\*","beginCaptures":{"0":{"name":"comment.block"}},"end":"\\\\*/","endCaptures":{"0":{"name":"comment.block"}},"name":"comment.block"}]},"dots":{"captures":{"1":{"name":"storage.type.zenscript"},"2":{"name":"keyword.control.zenscript"},"5":{"name":"keyword.control.zenscript"}},"match":"\\\\b(\\\\w+)(\\\\.)(\\\\w+)((\\\\.)(\\\\w+))*","name":"plain.text.zenscript"},"functions":{"captures":{"0":{"name":"storage.type.function.zenscript"},"1":{"name":"entity.name.function.zenscript"}},"match":"function\\\\s+([$A-Z_a-z][$\\\\w]*)\\\\s*(?=\\\\()","name":"meta.function.zenscript"},"keywords":{"patterns":[{"match":"\\\\b(instanceof|get|implements|set|import|function|override|const|if|else|do|while|for|throw|panic|lock|try|catch|finally|return|break|continue|switch|case|default|in|is|as|match|throws|super|new)\\\\b","name":"keyword.control.zenscript"},{"match":"\\\\b(zenClass|zenConstructor|alias|class|interface|enum|struct|expand|variant|set|void|bool|byte|sbyte|short|ushort|int|uint|long|ulong|usize|float|double|char|string)\\\\b","name":"storage.type.zenscript"},{"match":"\\\\b(variant|abstract|final|private|public|export|internal|static|protected|implicit|virtual|extern|immutable)\\\\b","name":"storage.modifier.zenscript"},{"match":"\\\\b(Native|Precondition)\\\\b","name":"entity.other.attribute-name"},{"match":"\\\\b(null|true|false)\\\\b","name":"constant.language"}]},"operators":{"patterns":[{"match":"\\\\b(\\\\.\\\\.??|\\\\.\\\\.\\\\.|[+,]|\\\\+=|\\\\+\\\\+|-=??|--|~=??|\\\\*=??|/=??|%=??|\\\\|=??|\\\\|\\\\||&=??|&&|\\\\^=??|\\\\?\\\\.??|\\\\?\\\\?|<=??|<<=??|>=??|>>=??|>>>=??|=>?|===??|!=??|!==|[$\`])\\\\b","name":"keyword.control"},{"match":"\\\\b([:;])\\\\b","name":"keyword.control"}]},"quotes":{"patterns":[{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.zenscript"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.zenscript"}},"name":"string.quoted.double.zenscript","patterns":[{"match":"\\\\\\\\.","name":"constant.character.escape.zenscript"}]},{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.zenscript"}},"end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.zenscript"}},"name":"string.quoted.single.zenscript","patterns":[{"match":"\\\\\\\\.","name":"constant.character.escape.zenscript"}]}]},"var":{"match":"\\\\b(va[lr])\\\\b","name":"storage.type"}},"scopeName":"source.zenscript"}`))];export{e as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e=[Object.freeze(JSON.parse(`{"displayName":"Zig","fileTypes":["zig","zon"],"name":"zig","patterns":[{"include":"#comments"},{"include":"#strings"},{"include":"#keywords"},{"include":"#operators"},{"include":"#punctuation"},{"include":"#numbers"},{"include":"#support"},{"include":"#variables"}],"repository":{"commentContents":{"patterns":[{"match":"\\\\b(TODO|FIXME|XXX|NOTE)\\\\b:?","name":"keyword.todo.zig"}]},"comments":{"patterns":[{"begin":"//[!/](?=[^/])","end":"$","name":"comment.line.documentation.zig","patterns":[{"include":"#commentContents"}]},{"begin":"//","end":"$","name":"comment.line.double-slash.zig","patterns":[{"include":"#commentContents"}]}]},"keywords":{"patterns":[{"match":"\\\\binline\\\\b(?!\\\\s*\\\\bfn\\\\b)","name":"keyword.control.repeat.zig"},{"match":"\\\\b(while|for)\\\\b","name":"keyword.control.repeat.zig"},{"match":"\\\\b(extern|packed|export|pub|noalias|inline|comptime|volatile|align|linksection|threadlocal|allowzero|noinline|callconv)\\\\b","name":"keyword.storage.zig"},{"match":"\\\\b(struct|enum|union|opaque)\\\\b","name":"keyword.structure.zig"},{"match":"\\\\b(asm|unreachable)\\\\b","name":"keyword.statement.zig"},{"match":"\\\\b(break|return|continue|defer|errdefer)\\\\b","name":"keyword.control.flow.zig"},{"match":"\\\\b(resume|suspend|nosuspend)\\\\b","name":"keyword.control.async.zig"},{"match":"\\\\b(try|catch)\\\\b","name":"keyword.control.trycatch.zig"},{"match":"\\\\b(if|else|switch|orelse)\\\\b","name":"keyword.control.conditional.zig"},{"match":"\\\\b(null|undefined)\\\\b","name":"keyword.constant.default.zig"},{"match":"\\\\b(true|false)\\\\b","name":"keyword.constant.bool.zig"},{"match":"\\\\b(test|and|or)\\\\b","name":"keyword.default.zig"},{"match":"\\\\b(bool|void|noreturn|type|error|anyerror|anyframe|anytype|anyopaque)\\\\b","name":"keyword.type.zig"},{"match":"\\\\b(f16|f32|f64|f80|f128|u\\\\d+|i\\\\d+|isize|usize|comptime_int|comptime_float)\\\\b","name":"keyword.type.integer.zig"},{"match":"\\\\b(c_(?:char|short|ushort|int|uint|long|ulong|longlong|ulonglong|longdouble))\\\\b","name":"keyword.type.c.zig"}]},"numbers":{"patterns":[{"match":"\\\\b0x\\\\h[_\\\\h]*(\\\\.\\\\h[_\\\\h]*)?([Pp][-+]?[_\\\\h]+)?\\\\b","name":"constant.numeric.hexfloat.zig"},{"match":"\\\\b[0-9][0-9_]*(\\\\.[0-9][0-9_]*)?([Ee][-+]?[0-9_]+)?\\\\b","name":"constant.numeric.float.zig"},{"match":"\\\\b[0-9][0-9_]*\\\\b","name":"constant.numeric.decimal.zig"},{"match":"\\\\b0x[_\\\\h]+\\\\b","name":"constant.numeric.hexadecimal.zig"},{"match":"\\\\b0o[0-7_]+\\\\b","name":"constant.numeric.octal.zig"},{"match":"\\\\b0b[01_]+\\\\b","name":"constant.numeric.binary.zig"},{"match":"\\\\b[0-9](([EPep][-+])|[0-9A-Z_a-z])*(\\\\.(([EPep][-+])|[0-9A-Z_a-z])*)?([EPep][-+])?[0-9A-Z_a-z]*\\\\b","name":"constant.numeric.invalid.zig"}]},"operators":{"patterns":[{"match":"(?<=\\\\[)\\\\*c(?=])","name":"keyword.operator.c-pointer.zig"},{"match":"\\\\b((and|or))\\\\b|(==|!=|<=|>=|[<>])","name":"keyword.operator.comparison.zig"},{"match":"(-%?|\\\\+%?|\\\\*%?|[%/])=?","name":"keyword.operator.arithmetic.zig"},{"match":"(<<%?|>>|[!\\\\&^|~])=?","name":"keyword.operator.bitwise.zig"},{"match":"(==|\\\\+\\\\+|\\\\*\\\\*|->)","name":"keyword.operator.special.zig"},{"match":"=","name":"keyword.operator.assignment.zig"},{"match":"\\\\?","name":"keyword.operator.question.zig"}]},"punctuation":{"patterns":[{"match":"\\\\.","name":"punctuation.accessor.zig"},{"match":",","name":"punctuation.comma.zig"},{"match":":","name":"punctuation.separator.key-value.zig"},{"match":";","name":"punctuation.terminator.statement.zig"}]},"stringcontent":{"patterns":[{"match":"\\\\\\\\([\\"'\\\\\\\\nrt]|(x\\\\h{2})|(u\\\\{\\\\h+}))","name":"constant.character.escape.zig"},{"match":"\\\\\\\\.","name":"invalid.illegal.unrecognized-string-escape.zig"}]},"strings":{"patterns":[{"begin":"\\"","end":"\\"","name":"string.quoted.double.zig","patterns":[{"include":"#stringcontent"}]},{"begin":"\\\\\\\\\\\\\\\\","end":"$","name":"string.multiline.zig"},{"match":"'([^'\\\\\\\\]|\\\\\\\\(x\\\\h{2}|[012][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.))'","name":"string.quoted.single.zig"}]},"support":{"patterns":[{"match":"@[A-Z_a-z][0-9A-Z_a-z]*","name":"support.function.builtin.zig"}]},"variables":{"patterns":[{"name":"meta.function.declaration.zig","patterns":[{"captures":{"1":{"name":"storage.type.function.zig"},"2":{"name":"entity.name.type.zig"}},"match":"\\\\b(fn)\\\\s+([A-Z][0-9A-Za-z]*)\\\\b"},{"captures":{"1":{"name":"storage.type.function.zig"},"2":{"name":"entity.name.function.zig"}},"match":"\\\\b(fn)\\\\s+([A-Z_a-z][0-9A-Z_a-z]*)\\\\b"},{"begin":"\\\\b(fn)\\\\s+@\\"","beginCaptures":{"1":{"name":"storage.type.function.zig"}},"end":"\\"","name":"entity.name.function.string.zig","patterns":[{"include":"#stringcontent"}]},{"match":"\\\\b(const|var|fn)\\\\b","name":"keyword.default.zig"}]},{"name":"meta.function.call.zig","patterns":[{"match":"([A-Z][0-9A-Za-z]*)(?=\\\\s*\\\\()","name":"entity.name.type.zig"},{"match":"([A-Z_a-z][0-9A-Z_a-z]*)(?=\\\\s*\\\\()","name":"entity.name.function.zig"}]},{"name":"meta.variable.zig","patterns":[{"match":"\\\\b[A-Z_a-z][0-9A-Z_a-z]*\\\\b","name":"variable.zig"},{"begin":"@\\"","end":"\\"","name":"variable.string.zig","patterns":[{"include":"#stringcontent"}]}]}]}},"scopeName":"source.zig"}`))];export{e as default};
|
package/dist/icons.svg
CHANGED
|
@@ -1,24 +1,24 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg">
|
|
2
|
-
<symbol id="bluesky-icon" viewBox="0 0 16 17">
|
|
3
|
-
<g clip-path="url(#bluesky-clip)"><path fill="#08060d" d="M7.75 7.735c-.693-1.348-2.58-3.86-4.334-5.097-1.68-1.187-2.32-.981-2.74-.79C.188 2.065.1 2.812.1 3.251s.241 3.602.398 4.13c.52 1.744 2.367 2.333 4.07 2.145-2.495.37-4.71 1.278-1.805 4.512 3.196 3.309 4.38-.71 4.987-2.746.608 2.036 1.307 5.91 4.93 2.746 2.72-2.746.747-4.143-1.747-4.512 1.702.189 3.55-.4 4.07-2.145.156-.528.397-3.691.397-4.13s-.088-1.186-.575-1.406c-.42-.19-1.06-.395-2.741.79-1.755 1.24-3.64 3.752-4.334 5.099"/></g>
|
|
4
|
-
<defs><clipPath id="bluesky-clip"><path fill="#fff" d="M.1.85h15.3v15.3H.1z"/></clipPath></defs>
|
|
5
|
-
</symbol>
|
|
6
|
-
<symbol id="discord-icon" viewBox="0 0 20 19">
|
|
7
|
-
<path fill="#08060d" d="M16.224 3.768a14.5 14.5 0 0 0-3.67-1.153c-.158.286-.343.67-.47.976a13.5 13.5 0 0 0-4.067 0c-.128-.306-.317-.69-.476-.976A14.4 14.4 0 0 0 3.868 3.77C1.546 7.28.916 10.703 1.231 14.077a14.7 14.7 0 0 0 4.5 2.306q.545-.748.965-1.587a9.5 9.5 0 0 1-1.518-.74q.191-.14.372-.293c2.927 1.369 6.107 1.369 8.999 0q.183.152.372.294-.723.437-1.52.74.418.838.963 1.588a14.6 14.6 0 0 0 4.504-2.308c.37-3.911-.63-7.302-2.644-10.309m-9.13 8.234c-.878 0-1.599-.82-1.599-1.82 0-.998.705-1.82 1.6-1.82.894 0 1.614.82 1.599 1.82.001 1-.705 1.82-1.6 1.82m5.91 0c-.878 0-1.599-.82-1.599-1.82 0-.998.705-1.82 1.6-1.82.893 0 1.614.82 1.599 1.82 0 1-.706 1.82-1.6 1.82"/>
|
|
8
|
-
</symbol>
|
|
9
|
-
<symbol id="documentation-icon" viewBox="0 0 21 20">
|
|
10
|
-
<path fill="none" stroke="#aa3bff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="m15.5 13.333 1.533 1.322c.645.555.967.833.967 1.178s-.322.623-.967 1.179L15.5 18.333m-3.333-5-1.534 1.322c-.644.555-.966.833-.966 1.178s.322.623.966 1.179l1.534 1.321"/>
|
|
11
|
-
<path fill="none" stroke="#aa3bff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M17.167 10.836v-4.32c0-1.41 0-2.117-.224-2.68-.359-.906-1.118-1.621-2.08-1.96-.599-.21-1.349-.21-2.848-.21-2.623 0-3.935 0-4.983.369-1.684.591-3.013 1.842-3.641 3.428C3 6.449 3 7.684 3 10.154v2.122c0 2.558 0 3.838.706 4.726q.306.383.713.671c.76.536 1.79.64 3.581.66"/>
|
|
12
|
-
<path fill="none" stroke="#aa3bff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M3 10a2.78 2.78 0 0 1 2.778-2.778c.555 0 1.209.097 1.748-.047.48-.129.854-.503.982-.982.145-.54.048-1.194.048-1.749a2.78 2.78 0 0 1 2.777-2.777"/>
|
|
13
|
-
</symbol>
|
|
14
|
-
<symbol id="github-icon" viewBox="0 0 19 19">
|
|
15
|
-
<path fill="#08060d" fill-rule="evenodd" d="M9.356 1.85C5.05 1.85 1.57 5.356 1.57 9.694a7.84 7.84 0 0 0 5.324 7.44c.387.079.528-.168.528-.376 0-.182-.013-.805-.013-1.454-2.165.467-2.616-.935-2.616-.935-.349-.91-.864-1.143-.864-1.143-.71-.48.051-.48.051-.48.787.051 1.2.805 1.2.805.695 1.194 1.817.857 2.268.649.064-.507.27-.857.49-1.052-1.728-.182-3.545-.857-3.545-3.87 0-.857.31-1.558.8-2.104-.078-.195-.349-1 .077-2.078 0 0 .657-.208 2.14.805a7.5 7.5 0 0 1 1.946-.26c.657 0 1.328.092 1.946.26 1.483-1.013 2.14-.805 2.14-.805.426 1.078.155 1.883.078 2.078.502.546.799 1.247.799 2.104 0 3.013-1.818 3.675-3.558 3.87.284.247.528.714.528 1.454 0 1.052-.012 1.896-.012 2.156 0 .208.142.455.528.377a7.84 7.84 0 0 0 5.324-7.441c.013-4.338-3.48-7.844-7.773-7.844" clip-rule="evenodd"/>
|
|
16
|
-
</symbol>
|
|
17
|
-
<symbol id="social-icon" viewBox="0 0 20 20">
|
|
18
|
-
<path fill="none" stroke="#aa3bff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M12.5 6.667a4.167 4.167 0 1 0-8.334 0 4.167 4.167 0 0 0 8.334 0"/>
|
|
19
|
-
<path fill="none" stroke="#aa3bff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M2.5 16.667a5.833 5.833 0 0 1 8.75-5.053m3.837.474.513 1.035c.07.144.257.282.414.309l.93.155c.596.1.736.536.307.965l-.723.73a.64.64 0 0 0-.152.531l.207.903c.164.715-.213.991-.84.618l-.872-.52a.63.63 0 0 0-.577 0l-.872.52c-.624.373-1.003.094-.84-.618l.207-.903a.64.64 0 0 0-.152-.532l-.723-.729c-.426-.43-.289-.864.306-.964l.93-.156a.64.64 0 0 0 .412-.31l.513-1.034c.28-.562.735-.562 1.012 0"/>
|
|
20
|
-
</symbol>
|
|
21
|
-
<symbol id="x-icon" viewBox="0 0 19 19">
|
|
22
|
-
<path fill="#08060d" fill-rule="evenodd" d="M1.893 1.98c.052.072 1.245 1.769 2.653 3.77l2.892 4.114c.183.261.333.48.333.486s-.068.089-.152.183l-.522.593-.765.867-3.597 4.087c-.375.426-.734.834-.798.905a1 1 0 0 0-.118.148c0 .01.236.017.664.017h.663l.729-.83c.4-.457.796-.906.879-.999a692 692 0 0 0 1.794-2.038c.034-.037.301-.34.594-.675l.551-.624.345-.392a7 7 0 0 1 .34-.374c.006 0 .93 1.306 2.052 2.903l2.084 2.965.045.063h2.275c1.87 0 2.273-.003 2.266-.021-.008-.02-1.098-1.572-3.894-5.547-2.013-2.862-2.28-3.246-2.273-3.266.008-.019.282-.332 2.085-2.38l2-2.274 1.567-1.782c.022-.028-.016-.03-.65-.03h-.674l-.3.342a871 871 0 0 1-1.782 2.025c-.067.075-.405.458-.75.852a100 100 0 0 1-.803.91c-.148.172-.299.344-.99 1.127-.304.343-.32.358-.345.327-.015-.019-.904-1.282-1.976-2.808L6.365 1.85H1.8zm1.782.91 8.078 11.294c.772 1.08 1.413 1.973 1.425 1.984.016.017.241.02 1.05.017l1.03-.004-2.694-3.766L7.796 5.75 5.722 2.852l-1.039-.004-1.039-.004z" clip-rule="evenodd"/>
|
|
23
|
-
</symbol>
|
|
24
|
-
</svg>
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<symbol id="bluesky-icon" viewBox="0 0 16 17">
|
|
3
|
+
<g clip-path="url(#bluesky-clip)"><path fill="#08060d" d="M7.75 7.735c-.693-1.348-2.58-3.86-4.334-5.097-1.68-1.187-2.32-.981-2.74-.79C.188 2.065.1 2.812.1 3.251s.241 3.602.398 4.13c.52 1.744 2.367 2.333 4.07 2.145-2.495.37-4.71 1.278-1.805 4.512 3.196 3.309 4.38-.71 4.987-2.746.608 2.036 1.307 5.91 4.93 2.746 2.72-2.746.747-4.143-1.747-4.512 1.702.189 3.55-.4 4.07-2.145.156-.528.397-3.691.397-4.13s-.088-1.186-.575-1.406c-.42-.19-1.06-.395-2.741.79-1.755 1.24-3.64 3.752-4.334 5.099"/></g>
|
|
4
|
+
<defs><clipPath id="bluesky-clip"><path fill="#fff" d="M.1.85h15.3v15.3H.1z"/></clipPath></defs>
|
|
5
|
+
</symbol>
|
|
6
|
+
<symbol id="discord-icon" viewBox="0 0 20 19">
|
|
7
|
+
<path fill="#08060d" d="M16.224 3.768a14.5 14.5 0 0 0-3.67-1.153c-.158.286-.343.67-.47.976a13.5 13.5 0 0 0-4.067 0c-.128-.306-.317-.69-.476-.976A14.4 14.4 0 0 0 3.868 3.77C1.546 7.28.916 10.703 1.231 14.077a14.7 14.7 0 0 0 4.5 2.306q.545-.748.965-1.587a9.5 9.5 0 0 1-1.518-.74q.191-.14.372-.293c2.927 1.369 6.107 1.369 8.999 0q.183.152.372.294-.723.437-1.52.74.418.838.963 1.588a14.6 14.6 0 0 0 4.504-2.308c.37-3.911-.63-7.302-2.644-10.309m-9.13 8.234c-.878 0-1.599-.82-1.599-1.82 0-.998.705-1.82 1.6-1.82.894 0 1.614.82 1.599 1.82.001 1-.705 1.82-1.6 1.82m5.91 0c-.878 0-1.599-.82-1.599-1.82 0-.998.705-1.82 1.6-1.82.893 0 1.614.82 1.599 1.82 0 1-.706 1.82-1.6 1.82"/>
|
|
8
|
+
</symbol>
|
|
9
|
+
<symbol id="documentation-icon" viewBox="0 0 21 20">
|
|
10
|
+
<path fill="none" stroke="#aa3bff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="m15.5 13.333 1.533 1.322c.645.555.967.833.967 1.178s-.322.623-.967 1.179L15.5 18.333m-3.333-5-1.534 1.322c-.644.555-.966.833-.966 1.178s.322.623.966 1.179l1.534 1.321"/>
|
|
11
|
+
<path fill="none" stroke="#aa3bff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M17.167 10.836v-4.32c0-1.41 0-2.117-.224-2.68-.359-.906-1.118-1.621-2.08-1.96-.599-.21-1.349-.21-2.848-.21-2.623 0-3.935 0-4.983.369-1.684.591-3.013 1.842-3.641 3.428C3 6.449 3 7.684 3 10.154v2.122c0 2.558 0 3.838.706 4.726q.306.383.713.671c.76.536 1.79.64 3.581.66"/>
|
|
12
|
+
<path fill="none" stroke="#aa3bff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M3 10a2.78 2.78 0 0 1 2.778-2.778c.555 0 1.209.097 1.748-.047.48-.129.854-.503.982-.982.145-.54.048-1.194.048-1.749a2.78 2.78 0 0 1 2.777-2.777"/>
|
|
13
|
+
</symbol>
|
|
14
|
+
<symbol id="github-icon" viewBox="0 0 19 19">
|
|
15
|
+
<path fill="#08060d" fill-rule="evenodd" d="M9.356 1.85C5.05 1.85 1.57 5.356 1.57 9.694a7.84 7.84 0 0 0 5.324 7.44c.387.079.528-.168.528-.376 0-.182-.013-.805-.013-1.454-2.165.467-2.616-.935-2.616-.935-.349-.91-.864-1.143-.864-1.143-.71-.48.051-.48.051-.48.787.051 1.2.805 1.2.805.695 1.194 1.817.857 2.268.649.064-.507.27-.857.49-1.052-1.728-.182-3.545-.857-3.545-3.87 0-.857.31-1.558.8-2.104-.078-.195-.349-1 .077-2.078 0 0 .657-.208 2.14.805a7.5 7.5 0 0 1 1.946-.26c.657 0 1.328.092 1.946.26 1.483-1.013 2.14-.805 2.14-.805.426 1.078.155 1.883.078 2.078.502.546.799 1.247.799 2.104 0 3.013-1.818 3.675-3.558 3.87.284.247.528.714.528 1.454 0 1.052-.012 1.896-.012 2.156 0 .208.142.455.528.377a7.84 7.84 0 0 0 5.324-7.441c.013-4.338-3.48-7.844-7.773-7.844" clip-rule="evenodd"/>
|
|
16
|
+
</symbol>
|
|
17
|
+
<symbol id="social-icon" viewBox="0 0 20 20">
|
|
18
|
+
<path fill="none" stroke="#aa3bff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M12.5 6.667a4.167 4.167 0 1 0-8.334 0 4.167 4.167 0 0 0 8.334 0"/>
|
|
19
|
+
<path fill="none" stroke="#aa3bff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M2.5 16.667a5.833 5.833 0 0 1 8.75-5.053m3.837.474.513 1.035c.07.144.257.282.414.309l.93.155c.596.1.736.536.307.965l-.723.73a.64.64 0 0 0-.152.531l.207.903c.164.715-.213.991-.84.618l-.872-.52a.63.63 0 0 0-.577 0l-.872.52c-.624.373-1.003.094-.84-.618l.207-.903a.64.64 0 0 0-.152-.532l-.723-.729c-.426-.43-.289-.864.306-.964l.93-.156a.64.64 0 0 0 .412-.31l.513-1.034c.28-.562.735-.562 1.012 0"/>
|
|
20
|
+
</symbol>
|
|
21
|
+
<symbol id="x-icon" viewBox="0 0 19 19">
|
|
22
|
+
<path fill="#08060d" fill-rule="evenodd" d="M1.893 1.98c.052.072 1.245 1.769 2.653 3.77l2.892 4.114c.183.261.333.48.333.486s-.068.089-.152.183l-.522.593-.765.867-3.597 4.087c-.375.426-.734.834-.798.905a1 1 0 0 0-.118.148c0 .01.236.017.664.017h.663l.729-.83c.4-.457.796-.906.879-.999a692 692 0 0 0 1.794-2.038c.034-.037.301-.34.594-.675l.551-.624.345-.392a7 7 0 0 1 .34-.374c.006 0 .93 1.306 2.052 2.903l2.084 2.965.045.063h2.275c1.87 0 2.273-.003 2.266-.021-.008-.02-1.098-1.572-3.894-5.547-2.013-2.862-2.28-3.246-2.273-3.266.008-.019.282-.332 2.085-2.38l2-2.274 1.567-1.782c.022-.028-.016-.03-.65-.03h-.674l-.3.342a871 871 0 0 1-1.782 2.025c-.067.075-.405.458-.75.852a100 100 0 0 1-.803.91c-.148.172-.299.344-.99 1.127-.304.343-.32.358-.345.327-.015-.019-.904-1.282-1.976-2.808L6.365 1.85H1.8zm1.782.91 8.078 11.294c.772 1.08 1.413 1.973 1.425 1.984.016.017.241.02 1.05.017l1.03-.004-2.694-3.766L7.796 5.75 5.722 2.852l-1.039-.004-1.039-.004z" clip-rule="evenodd"/>
|
|
23
|
+
</symbol>
|
|
24
|
+
</svg>
|
package/dist/index.html
CHANGED
|
@@ -1,13 +1,29 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
<
|
|
5
|
-
<
|
|
6
|
-
<
|
|
7
|
-
<
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
1
|
+
<!doctype html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8" />
|
|
5
|
+
<link rel="icon" type="image/png" href="/logo.png" />
|
|
6
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
7
|
+
<title>UI Component Library</title>
|
|
8
|
+
<!--
|
|
9
|
+
Anti-FOUC: Script này chạy đồng bộ (blocking) trước khi trình duyệt render bất kỳ thứ gì.
|
|
10
|
+
Mục đích: Đọc localStorage và áp dụng class "dark" lên <html> ngay lập tức
|
|
11
|
+
để tránh hiện tượng nhấp nháy màu khi F5 lại trang.
|
|
12
|
+
-->
|
|
13
|
+
<script>
|
|
14
|
+
(function () {
|
|
15
|
+
try {
|
|
16
|
+
var theme = localStorage.getItem('theme');
|
|
17
|
+
if (theme === 'dark') {
|
|
18
|
+
document.documentElement.classList.add('dark');
|
|
19
|
+
}
|
|
20
|
+
} catch (e) {}
|
|
21
|
+
})();
|
|
22
|
+
</script>
|
|
23
|
+
<script type="module" crossorigin src="./assets/index-CnNrrRnN.js"></script>
|
|
24
|
+
<link rel="stylesheet" crossorigin href="./assets/index-Ba666nDd.css">
|
|
25
|
+
</head>
|
|
26
|
+
<body>
|
|
27
|
+
<div id="root"></div>
|
|
28
|
+
</body>
|
|
29
|
+
</html>
|
|
@@ -0,0 +1,298 @@
|
|
|
1
|
+
# basuicn — Full Reference
|
|
2
|
+
|
|
3
|
+
> React component library showcase & CLI tool (v0.2.5). Built on @base-ui/react headless primitives, styled with tailwind-variants. Ships `basuicn add <component>` CLI to copy-install components into consumer projects.
|
|
4
|
+
|
|
5
|
+
## Stack
|
|
6
|
+
|
|
7
|
+
| Layer | Technology |
|
|
8
|
+
|-------|-----------|
|
|
9
|
+
| Framework | React 19.2 + Vite 6 |
|
|
10
|
+
| Language | TypeScript (strict) |
|
|
11
|
+
| Primitives | @base-ui/react 1.3 |
|
|
12
|
+
| Styling | Tailwind CSS v4.2 + tailwind-variants 3.2 + tailwind-merge 3.5 |
|
|
13
|
+
| Routing | react-router-dom 7.13 |
|
|
14
|
+
| Forms | react-hook-form 7.72 + zod 4.3 |
|
|
15
|
+
| Tables | @tanstack/react-table 8.21 + @tanstack/react-virtual 3.13 |
|
|
16
|
+
| Charts | recharts 3.8 |
|
|
17
|
+
| Icons | lucide-react 0.577 |
|
|
18
|
+
| Dates | date-fns 4.1 + react-day-picker 9.14 |
|
|
19
|
+
| Toast | sonner 2.0 |
|
|
20
|
+
| Carousel | keen-slider 6.8 |
|
|
21
|
+
| Code | shiki 4.0 + @codesandbox/sandpack-react 2.20 |
|
|
22
|
+
| Panels | react-resizable-panels 4.8 |
|
|
23
|
+
| Testing | Vitest 4.1 + Testing Library + Storybook 10.3 |
|
|
24
|
+
| Compiler | babel-plugin-react-compiler (auto-memoization) |
|
|
25
|
+
|
|
26
|
+
## Architecture
|
|
27
|
+
|
|
28
|
+
### Project Type
|
|
29
|
+
Vite SPA (client-side rendering only). NOT Next.js — no server components, no `"use client"`.
|
|
30
|
+
|
|
31
|
+
### Path Aliases
|
|
32
|
+
- `@` → `src/`
|
|
33
|
+
- `@components` → `src/components/`
|
|
34
|
+
- `@lib` → `src/lib/`
|
|
35
|
+
- `@pages` → `src/pages/`
|
|
36
|
+
- `@assets` → `src/assets/`
|
|
37
|
+
|
|
38
|
+
### Routing
|
|
39
|
+
`routes.tsx` is the single source of truth. It exports `ROUTES: RouteConfig[]` consumed by `App.tsx` (renders `<Route>`) and `AppSidebar.tsx` (renders nav items). Route constants live in `src/constants/Routes.constant.ts`.
|
|
40
|
+
|
|
41
|
+
```
|
|
42
|
+
RouteConfig {
|
|
43
|
+
path: string
|
|
44
|
+
label: string
|
|
45
|
+
icon?: ReactNode
|
|
46
|
+
element?: ReactNode
|
|
47
|
+
category?: string // 'overview' | 'general' | 'forms' | 'complex' | 'overlays' | 'demo'
|
|
48
|
+
badge?: string // e.g. 'New'
|
|
49
|
+
children?: RouteConfig[]
|
|
50
|
+
}
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
### Component Pattern
|
|
54
|
+
Every UI component follows:
|
|
55
|
+
|
|
56
|
+
```tsx
|
|
57
|
+
import { tv, type VariantProps } from 'tailwind-variants';
|
|
58
|
+
import { SomePrimitive } from '@base-ui/react';
|
|
59
|
+
import { cn } from '@/lib/utils/cn';
|
|
60
|
+
|
|
61
|
+
const myVariants = tv({
|
|
62
|
+
base: '...',
|
|
63
|
+
variants: { variant: {...}, size: {...} },
|
|
64
|
+
defaultVariants: { ... }
|
|
65
|
+
});
|
|
66
|
+
|
|
67
|
+
export const MyComponent = React.forwardRef<HTMLElement, MyProps>(
|
|
68
|
+
({ className, variant, size, ...props }, ref) => (
|
|
69
|
+
<SomePrimitive
|
|
70
|
+
className={myVariants({ variant, size, className: className || '' })}
|
|
71
|
+
{...props}
|
|
72
|
+
ref={ref}
|
|
73
|
+
/>
|
|
74
|
+
)
|
|
75
|
+
);
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
Key rules:
|
|
79
|
+
- Always `forwardRef`
|
|
80
|
+
- Always `tailwind-variants` (tv()) for variants
|
|
81
|
+
- Always `@base-ui/react` primitives when available
|
|
82
|
+
- Class merging via `cn()` (clsx + tailwind-merge)
|
|
83
|
+
- No Radix UI, no shadcn/ui
|
|
84
|
+
|
|
85
|
+
### Showcase Page Pattern
|
|
86
|
+
Pages in `src/pages/` use layout helpers from `src/components/ui/Showcase.tsx`:
|
|
87
|
+
|
|
88
|
+
```tsx
|
|
89
|
+
import { PageHeader, ShowcaseCard } from '@/components/ui/Showcase';
|
|
90
|
+
|
|
91
|
+
const MyPage = () => (
|
|
92
|
+
<div className="max-w-5xl">
|
|
93
|
+
<PageHeader title="Component Name" description="Description text." />
|
|
94
|
+
<ShowcaseCard title="Demo Name" description="What this shows.">
|
|
95
|
+
{/* Component demos here */}
|
|
96
|
+
</ShowcaseCard>
|
|
97
|
+
</div>
|
|
98
|
+
);
|
|
99
|
+
export default MyPage;
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
### Theme System
|
|
103
|
+
Themes defined in `src/lib/theme/themes.ts` as plain JS objects (hex colors). CSS variables auto-generated in `src/styles/index.css` via `npm run theme:sync`. At runtime, `applyTheme()` injects a `<style>` tag. Dark mode uses `.dark` class on `<html>`.
|
|
104
|
+
|
|
105
|
+
Design tokens (Kraken-inspired):
|
|
106
|
+
- Primary: `#7132f5` (purple), dark: `#5741d8`, deep: `#5b1ecf`
|
|
107
|
+
- Text: `#101114` (near-black)
|
|
108
|
+
- Neutral: `#686b82` (cool gray), `#9497a9` (silver blue)
|
|
109
|
+
- Success: `#149e61`, Warning: amber, Danger: red
|
|
110
|
+
- Border radius: 12px (buttons), 16px (cards)
|
|
111
|
+
- Shadow: `rgba(0,0,0,0.03) 0px 4px 24px` (whisper-level)
|
|
112
|
+
|
|
113
|
+
### Registry & CLI
|
|
114
|
+
`registry.json` maps component names → source files + dependencies. CLI command `basuicn add <component>` reads this to copy files into consumer projects. Run `npm run registry:build` after adding/modifying components.
|
|
115
|
+
|
|
116
|
+
### Layout Components
|
|
117
|
+
- `DashboardLayout` — outer shell: AppSidebar + scrollable main via `<Outlet />`
|
|
118
|
+
- `AppSidebar` — reads ROUTES, renders sidebar nav
|
|
119
|
+
- `SidebarNavItem` — collapsible groups or nav links
|
|
120
|
+
|
|
121
|
+
## Components Reference
|
|
122
|
+
|
|
123
|
+
### General (17 components)
|
|
124
|
+
|
|
125
|
+
**Accordion** — `src/components/ui/accordion/Accordion.tsx`
|
|
126
|
+
Collapsible content sections. Built on @base-ui/react Accordion. Exports: Accordion, AccordionItem, AccordionTrigger, AccordionContent. Chevron animation, optional hideChevron.
|
|
127
|
+
|
|
128
|
+
**Alert** — `src/components/ui/alert/Alert.tsx`
|
|
129
|
+
Status messages with `role="alert"`. Variants: default, destructive, success, warning, info. Exports: Alert, AlertTitle, AlertDescription.
|
|
130
|
+
|
|
131
|
+
**AspectRatio** — `src/components/ui/aspect-ratio/AspectRatio.tsx`
|
|
132
|
+
CSS padding-bottom trick for aspect ratio. Default ratio: 1 (square).
|
|
133
|
+
|
|
134
|
+
**Avatar** — `src/components/ui/avatar/Avatar.tsx`
|
|
135
|
+
Profile image. Sizes: sm, md, lg, xl. Image error fallback shows first 2 chars.
|
|
136
|
+
|
|
137
|
+
**Badge** — `src/components/ui/badge/Badge.tsx`
|
|
138
|
+
Labels. 12 variants: default, secondary, outline, success, warning, danger, soft-primary/success/warning/danger, glass, gradient. Sizes: sm, md, lg. Optional pulse animation.
|
|
139
|
+
|
|
140
|
+
**Breadcrumb** — `src/components/ui/breadcrumb/Breadcrumb.tsx`
|
|
141
|
+
Navigation trail. Semantic `<nav aria-label="breadcrumb">`. Exports: Breadcrumb, BreadcrumbList, BreadcrumbItem, BreadcrumbLink, BreadcrumbPage, BreadcrumbSeparator, BreadcrumbEllipsis.
|
|
142
|
+
|
|
143
|
+
**Button** — `src/components/ui/button/Button.tsx`
|
|
144
|
+
Built on @base-ui/react Button. 12 variants: solid, outline, ghost, secondary, danger, link, glass, glass-white/amber/green/purple/pink. 5 sizes: sm, md, lg, icon, icon-sm. leftIcon/rightIcon, isLoading with Spinner.
|
|
145
|
+
|
|
146
|
+
**Calendar** — `src/components/ui/calendar/Calendar.tsx`
|
|
147
|
+
Date grid using react-day-picker. Modes: single, range, multiple. Locale support, disable past/future, sizes: sm, md, lg.
|
|
148
|
+
|
|
149
|
+
**Carousel** — `src/components/ui/carousel/Carousel.tsx`
|
|
150
|
+
keen-slider based. Plugins: AutoPlay, WheelControls, Mutation, 3D, Resize. Exports: Carousel, CarouselSlide, CarouselPrev, CarouselNext, CarouselDots, CarouselProgress, CarouselCounter.
|
|
151
|
+
|
|
152
|
+
**EmptyState** — `src/components/ui/empty/Empty.tsx`
|
|
153
|
+
13 presets: users, documents, notifications, search, data, inbox, orders, messages, images, folders, stats, offline, general. Sizes: sm, md, lg. Custom icon/title/description/action.
|
|
154
|
+
|
|
155
|
+
**PreviewCard** — `src/components/ui/preview-card/PreviewCard.tsx`
|
|
156
|
+
Hover preview card with image, title, description.
|
|
157
|
+
|
|
158
|
+
**Rate** — `src/components/ui/rate/Rate.tsx`
|
|
159
|
+
Star rating. Controlled/uncontrolled, half-star support, custom icon, readonly mode.
|
|
160
|
+
|
|
161
|
+
**Separator** — `src/components/ui/separator/Separator.tsx`
|
|
162
|
+
Divider. Orientations: horizontal, vertical. Variants: default, muted, primary, dashed. Supports decorative vs semantic (role="separator").
|
|
163
|
+
|
|
164
|
+
**Skeleton** — `src/components/ui/skeleton/Skeleton.tsx`
|
|
165
|
+
Loading placeholder. Variants: default, muted. Rounded: none, sm, md, lg, full. `aria-hidden="true"`.
|
|
166
|
+
|
|
167
|
+
**Spinner** — `src/components/ui/spinner/Spinner.tsx`
|
|
168
|
+
Loading indicator. Sizes and color variants.
|
|
169
|
+
|
|
170
|
+
**Timeline** — `src/components/ui/timeline/Timeline.tsx`
|
|
171
|
+
Event sequence. Data-driven via `items: TimelineItemData[]`. Variants: default, primary, success, warning, danger. Sizes: sm, md, lg. Each item can have icon, title, description, time.
|
|
172
|
+
|
|
173
|
+
**Toggle** — `src/components/ui/toggle/Toggle.tsx`
|
|
174
|
+
Pressable button. Variants: default, outline, solid, ghost. Sizes: sm, md, lg, icon. ToggleGroup for single/multiple selection. `aria-pressed`.
|
|
175
|
+
|
|
176
|
+
**Typography** — `src/components/ui/typography/Typography.tsx`
|
|
177
|
+
10 sub-components: Text (with copyable, gradient, mark, truncate, lines, code), Heading (level 1-6), Paragraph, Lead, Blockquote (with cite), Code (inline, copyable), Kbd (keyboard shortcuts), Link (external support), Mark (highlight).
|
|
178
|
+
|
|
179
|
+
### Forms (13 components)
|
|
180
|
+
|
|
181
|
+
**Autocomplete** — `src/components/ui/autocomplete/Autocomplete.tsx`
|
|
182
|
+
Search input with filtered suggestions dropdown.
|
|
183
|
+
|
|
184
|
+
**Checkbox** — `src/components/ui/checkbox/Checkbox.tsx`
|
|
185
|
+
Built on @base-ui/react Checkbox. Sizes: sm, md, lg. Indeterminate state. Optional label, htmlFor association.
|
|
186
|
+
|
|
187
|
+
**ComboBox** — `src/components/ui/combobox/ComboBox.tsx`
|
|
188
|
+
Searchable select with filtering.
|
|
189
|
+
|
|
190
|
+
**DatePicker** — `src/components/ui/datepicker/DatePicker.tsx`
|
|
191
|
+
Built on @base-ui/react Popover + react-day-picker. Modes: single, range, time-only. Time formats: HH, HH:mm, HH:mm:ss. Time picker styles: input or select dropdowns. Locale prop (default: vi). Sub-files: TimePicker.tsx, time-helpers.ts.
|
|
192
|
+
|
|
193
|
+
**FileUpload** — `src/components/ui/file-upload/FileUpload.tsx`
|
|
194
|
+
Drag-and-drop zone. Props: accept, multiple, maxSize, maxFiles. File list with remove. Sizes: sm, md, lg. Custom children for dropzone content. Validation with onError callback.
|
|
195
|
+
|
|
196
|
+
**Form** — `src/components/ui/form/Form.tsx`
|
|
197
|
+
react-hook-form integration. Exports: Form, FormField, FormItem, FormLabel, FormControl, FormDescription, FormMessage. Auto aria-describedby and aria-invalid.
|
|
198
|
+
|
|
199
|
+
**Input** — `src/components/ui/input/Input.tsx`
|
|
200
|
+
Built on @base-ui/react Input + Field. Variants: default, filled, flushed. Password toggle. Start/end icons. Label, description, error.
|
|
201
|
+
|
|
202
|
+
**InputOTP** — `src/components/ui/input-otp/InputOtp.tsx`
|
|
203
|
+
OTP input. 4 variants: outline, filled, underline, glass. 3 shapes: square, rounded, circle. 3 sizes: sm, md, lg. Paste support, auto-submit, mask, keyboard navigation. Logic extracted to useInputOTP hook.
|
|
204
|
+
|
|
205
|
+
**NumberInput** — `src/components/ui/number-input/NumberInput.tsx`
|
|
206
|
+
Built on @base-ui/react NumberField. Stepper +/- buttons. Sizes: sm, md, lg. Props: min, max, step, disabled, label, description, error.
|
|
207
|
+
|
|
208
|
+
**Radio** — `src/components/ui/radio/Radio.tsx`
|
|
209
|
+
Built on @base-ui/react Radio. Variants: default (circular), card (full-width). Sizes: sm, md, lg.
|
|
210
|
+
|
|
211
|
+
**Select** — `src/components/ui/select/Select.tsx`
|
|
212
|
+
Built on @base-ui/react Select. Clearable, animated, error state. MultiSelect variant in MultiSelect.tsx with tag display and maxTags.
|
|
213
|
+
|
|
214
|
+
**Slider** — `src/components/ui/slider/Slider.tsx`
|
|
215
|
+
Built on @base-ui/react Slider. Optional tooltip, multi-thumb, controlled/uncontrolled.
|
|
216
|
+
|
|
217
|
+
**Switch** — `src/components/ui/switch/Switch.tsx`
|
|
218
|
+
Built on @base-ui/react Switch. Sizes: sm, md. Optional label.
|
|
219
|
+
|
|
220
|
+
**Textarea** — `src/components/ui/textarea/Textarea.tsx`
|
|
221
|
+
Built on @base-ui/react Field. Variants: default, filled. Label, description, error.
|
|
222
|
+
|
|
223
|
+
### Complex (12 components)
|
|
224
|
+
|
|
225
|
+
**Command** — `src/components/ui/command/Command.tsx`
|
|
226
|
+
Command palette (Cmd+K). Built on @base-ui/react Dialog. Exports: Command, CommandInput, CommandList, CommandGroup, CommandItem, CommandEmpty, CommandSeparator, CommandShortcut. Search filtering, keyboard navigation, disabled items.
|
|
227
|
+
|
|
228
|
+
**DataTable** — `src/components/ui/table/Table.tsx`
|
|
229
|
+
Full-featured via @tanstack/react-table. Features: sorting, client/server pagination, row selection, expanding rows, column resizing, virtualization (@tanstack/react-virtual). Sub-files: TableHeader.tsx, TableBody.tsx, TablePagination.tsx. i18n labels.
|
|
230
|
+
|
|
231
|
+
**Resizable** — `src/components/ui/resizable/Resizable.tsx`
|
|
232
|
+
Panel dividers via react-resizable-panels. Handle variants: line, bar, handle, ghost. Exports: ResizablePanelGroup, ResizablePanel, ResizableHandle.
|
|
233
|
+
|
|
234
|
+
**Sidebar** — `src/components/ui/sidebar/`
|
|
235
|
+
Multi-file: Sidebar.tsx, SidebarContext.tsx, SidebarLayout.tsx, SidebarMenu.tsx, SidebarUserMenu.tsx. Collapsible modes: offcanvas, icon, none. Keyboard shortcut Cmd+B. Resizable width 160-480px.
|
|
236
|
+
|
|
237
|
+
**TreeView** — `src/components/ui/tree-view/TreeView.tsx`
|
|
238
|
+
Hierarchical data. Data-driven via `data: TreeNode[]`. Recursive rendering, expand/collapse, keyboard nav (Arrow keys, Enter, Space). Custom icons per node. `defaultExpanded` prop.
|
|
239
|
+
|
|
240
|
+
**CodeSandbox** — `src/components/ui/code-sandbox/`
|
|
241
|
+
Live code editor. Built on @codesandbox/sandpack-react. Sub-files: SandboxLayout, SandboxActivityBar, SandboxToolbar, SandboxStatusBar, SearchPanel, DependencyPanel, TerminalPane, FileTree.
|
|
242
|
+
|
|
243
|
+
### Overlays (10 components)
|
|
244
|
+
|
|
245
|
+
**Dialog** — `src/components/ui/dialog/Dialog.tsx`
|
|
246
|
+
Built on @base-ui/react Dialog. Centered modal + fullscreen variant. Backdrop blur. Exports: Dialog, DialogTrigger, DialogContent, DialogHeader, DialogFooter, DialogTitle, DialogDescription, DialogClose.
|
|
247
|
+
|
|
248
|
+
**AlertDialog** — `src/components/ui/alert-dialog/AlertDialog.tsx`
|
|
249
|
+
Confirmation modal. Built on @base-ui/react AlertDialog. Same export pattern as Dialog.
|
|
250
|
+
|
|
251
|
+
**Drawer** — `src/components/ui/drawer/Drawer.tsx`
|
|
252
|
+
Slide-in panel. 4 directions: left, right, top, bottom. 4 sizes: sm, md, lg, full. Backdrop blur.
|
|
253
|
+
|
|
254
|
+
**Sheet** — `src/components/ui/sheet/Sheet.tsx`
|
|
255
|
+
Wrapper around Drawer, defaults to direction="right" size="lg".
|
|
256
|
+
|
|
257
|
+
**DropdownMenu** — `src/components/ui/dropdown-menu/DropdownMenu.tsx`
|
|
258
|
+
Built on @base-ui/react Menu. Submenu support, checkbox/radio items, keyboard shortcuts. 14 exported sub-components.
|
|
259
|
+
|
|
260
|
+
**ContextMenu** — `src/components/ui/context-menu/ContextMenu.tsx`
|
|
261
|
+
Right-click menu. Checkbox/radio items, keyboard navigation, viewport clamping.
|
|
262
|
+
|
|
263
|
+
**MenuBar** — `src/components/ui/menu-bar/MenuBar.tsx`
|
|
264
|
+
Application menu bar. Built on @base-ui/react Menu. Config-driven API via `MenuBarNav` + `menus` prop. Unlimited submenu depth, active route detection.
|
|
265
|
+
|
|
266
|
+
**Popover** — `src/components/ui/popover/Popover.tsx`
|
|
267
|
+
Built on @base-ui/react Popover. Optional arrow, configurable positioning.
|
|
268
|
+
|
|
269
|
+
**Tooltip** — `src/components/ui/tooltip/Tooltip.tsx`
|
|
270
|
+
Built on @base-ui/react Tooltip. `role="tooltip"`, optional arrow, side positioning.
|
|
271
|
+
|
|
272
|
+
**Progress** — `src/components/ui/progress/Progress.tsx`
|
|
273
|
+
Built on @base-ui/react Progress. Variants: default, success, warning, danger, gradient. Striped + animated. Label positions: inside, outside, none.
|
|
274
|
+
|
|
275
|
+
## Adding a New Component
|
|
276
|
+
|
|
277
|
+
1. Create `src/components/ui/<name>/<Name>.tsx` following the component pattern
|
|
278
|
+
2. Add route constant to `src/constants/Routes.constant.ts`
|
|
279
|
+
3. Create showcase page at `src/pages/<Name>Page.tsx`
|
|
280
|
+
4. Add route entry to `routes.tsx` (import page, add to correct category)
|
|
281
|
+
5. Export from `src/components/ui/index.ts`
|
|
282
|
+
6. Add icons to `src/components/ui/icons/index.ts` if needed
|
|
283
|
+
7. Run `npm run registry:build`
|
|
284
|
+
|
|
285
|
+
## Commands
|
|
286
|
+
|
|
287
|
+
```bash
|
|
288
|
+
npm run dev # Dev server :3000
|
|
289
|
+
npm run build # tsc -b && vite build
|
|
290
|
+
npm run lint # ESLint
|
|
291
|
+
npm run test # Vitest (watch)
|
|
292
|
+
npm run test:coverage # Coverage report
|
|
293
|
+
npm run storybook # Storybook :6006
|
|
294
|
+
npm run registry:build # Rebuild registry.json
|
|
295
|
+
npm run theme:sync # Re-gen CSS vars from themes.ts
|
|
296
|
+
npm run build:cli # Build CLI (dist/ui-cli.cjs)
|
|
297
|
+
npx vitest run src/path/to/test.tsx # Single test file
|
|
298
|
+
```
|
package/dist/llm.txt
ADDED
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
# basuicn
|
|
2
|
+
|
|
3
|
+
> React component library showcase & CLI tool. Built on @base-ui/react headless primitives, styled with tailwind-variants. Ships `basuicn add <component>` CLI to copy-install components into consumer projects.
|
|
4
|
+
|
|
5
|
+
- Version: 0.2.5
|
|
6
|
+
- Stack: React 19 + Vite + TypeScript
|
|
7
|
+
- Styling: Tailwind CSS v4 + tailwind-variants (tv())
|
|
8
|
+
- Primitives: @base-ui/react (NOT Radix/shadcn)
|
|
9
|
+
- Icons: lucide-react
|
|
10
|
+
|
|
11
|
+
## Docs
|
|
12
|
+
|
|
13
|
+
- [Architecture](/CLAUDE.md): Routing, component patterns, theme system, CLI, testing setup
|
|
14
|
+
- [Design System](/.claude/DESIGN.md): Kraken-inspired color palette, typography, spacing, component stylings
|
|
15
|
+
- [Rules](/.claude/RULE.md): Coding conventions and constraints
|
|
16
|
+
- [Vite Workflow](/.claude/REACT-VITE-WORKFLOW.md): Tech stack, file structure, state management, security
|
|
17
|
+
- [Frontend Design](/.claude/FE_WORKFLOW.md): Visual design principles and quality gates
|
|
18
|
+
|
|
19
|
+
## Components (57)
|
|
20
|
+
|
|
21
|
+
### General
|
|
22
|
+
- [Accordion](/general/accordion): Collapsible content sections
|
|
23
|
+
- [Alert](/general/alert): Status messages — default, destructive, success, warning, info
|
|
24
|
+
- [AspectRatio](/general/aspect-ratio): Maintain width/height ratio
|
|
25
|
+
- [Avatar](/general/avatar): User profile image with fallback
|
|
26
|
+
- [Badge](/general/badge): Labels — solid, soft, outline, glass, gradient variants
|
|
27
|
+
- [Breadcrumb](/general/breadcrumb): Navigation trail with semantic ARIA
|
|
28
|
+
- [Button](/general/button): 12 variants (solid, outline, ghost, glass, etc.), 5 sizes, loading state
|
|
29
|
+
- [Calendar](/general/calendar): Date picker grid — single, range, multiple modes
|
|
30
|
+
- [Carousel](/general/carousel): Slide-based content — keen-slider, autoplay, 3D, dots, progress
|
|
31
|
+
- [EmptyState](/general/empty): 13 presets for no-data states with actions
|
|
32
|
+
- [PreviewCard](/general/preview-card): Hover preview card
|
|
33
|
+
- [Rate](/general/rate): Star rating input
|
|
34
|
+
- [Separator](/general/separator): Visual divider — horizontal, vertical, dashed
|
|
35
|
+
- [Skeleton](/general/skeleton): Loading placeholder animation
|
|
36
|
+
- [Spinner](/general/spinner): Loading indicator
|
|
37
|
+
- [Timeline](/general/timeline): Event sequence display — 5 variants, 3 sizes
|
|
38
|
+
- [Toggle](/general/toggle): Pressable on/off — single and group modes
|
|
39
|
+
- [Typography](/general/typography): Text, Heading, Paragraph, Lead, Blockquote, Code, Kbd, Link, Mark
|
|
40
|
+
|
|
41
|
+
### Forms
|
|
42
|
+
- [Autocomplete](/form/autocomplete): Searchable input with suggestions
|
|
43
|
+
- [Checkbox](/form/checkbox): Check/uncheck with indeterminate state
|
|
44
|
+
- [ComboBox](/form/combobox): Searchable select dropdown
|
|
45
|
+
- [DatePicker](/form/datepicker): Date/time picker — single, range, time-only modes
|
|
46
|
+
- [FileUpload](/form/file-upload): Drag-and-drop upload with validation
|
|
47
|
+
- [Form](/form): react-hook-form integration with auto error display
|
|
48
|
+
- [Input](/form/input): Text input — default, filled, flushed variants, password toggle
|
|
49
|
+
- [InputOTP](/form/input-otp): One-time-password — 4 variants, 3 shapes, paste support
|
|
50
|
+
- [NumberInput](/form/number-input): Stepper input — @base-ui/react NumberField, 3 sizes
|
|
51
|
+
- [Radio](/form/radio): Radio buttons — default and card variants
|
|
52
|
+
- [Select](/form/select): Single and multi-select dropdowns
|
|
53
|
+
- [Slider](/form/slider): Range input with tooltip
|
|
54
|
+
- [Switch](/form/switch): Toggle switch — 2 sizes
|
|
55
|
+
- [Textarea](/form/textarea): Multi-line text input
|
|
56
|
+
|
|
57
|
+
### Complex
|
|
58
|
+
- [Accordion](/complex/accordion): Expandable panels
|
|
59
|
+
- [CodeSandbox](/complex/code-sandbox): Live code editor with preview
|
|
60
|
+
- [Collapsible](/complex/collapsible): Show/hide content
|
|
61
|
+
- [Command](/complex/command): Command palette (Cmd+K) — search, groups, shortcuts
|
|
62
|
+
- [DataTable](/complex/table): Full-featured table — sorting, pagination, row selection, virtualization, column resize
|
|
63
|
+
- [Pagination](/complex/pagination): Page navigation controls
|
|
64
|
+
- [Resizable](/complex/resizable): Draggable panel dividers — 4 handle variants
|
|
65
|
+
- [ScrollArea](/complex/scroll-area): Custom scrollbar styling
|
|
66
|
+
- [Sidebar](/complex/sidebar): Collapsible navigation — offcanvas, icon modes, keyboard shortcut
|
|
67
|
+
- [TableOfContents](/complex/table-contents): Document section navigation
|
|
68
|
+
- [Tabs](/complex/tabs): Tabbed interface with animated indicator
|
|
69
|
+
- [TreeView](/complex/tree-view): Hierarchical data display with expand/collapse
|
|
70
|
+
|
|
71
|
+
### Overlays
|
|
72
|
+
- [AlertDialog](/overlays/alert-dialog): Confirmation modal
|
|
73
|
+
- [ContextMenu](/overlays/context-menu): Right-click menu with checkbox/radio items
|
|
74
|
+
- [Dialog](/overlays/dialog): Modal window — centered and fullscreen
|
|
75
|
+
- [Drawer](/overlays/drawer): Slide-in panel — 4 directions, 4 sizes
|
|
76
|
+
- [DropdownMenu](/overlays/dropdown-menu): Click-triggered menu with submenus
|
|
77
|
+
- [MenuBar](/overlays/menu-bar): Application menu bar — config-driven API
|
|
78
|
+
- [Popover](/overlays/popover): Floating content panel
|
|
79
|
+
- [Progress](/overlays/progress): Progress bar — striped, animated, gradient
|
|
80
|
+
- [Sheet](/overlays/sheet): Side panel (Drawer wrapper)
|
|
81
|
+
- [Tooltip](/overlays/tooltip): Hover information popup
|
|
82
|
+
|
|
83
|
+
## CLI
|
|
84
|
+
|
|
85
|
+
```bash
|
|
86
|
+
npx basuicn add <component> # Copy-install a component into your project
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
Registry at `registry.json` maps component names to source files and dependencies.
|
|
90
|
+
|
|
91
|
+
## Theme
|
|
92
|
+
|
|
93
|
+
Kraken-inspired design system:
|
|
94
|
+
- Primary: `#7132f5` (Kraken Purple)
|
|
95
|
+
- Text: `#101114` (near-black)
|
|
96
|
+
- Radius: 12px buttons, 16px cards
|
|
97
|
+
- Fonts: Kraken-Brand (display) + Kraken-Product (body)
|
|
98
|
+
- Dark mode via `.dark` class on `<html>`
|
|
99
|
+
|
|
100
|
+
## Dev
|
|
101
|
+
|
|
102
|
+
```bash
|
|
103
|
+
npm run dev # Vite dev server :3000
|
|
104
|
+
npm run build # TypeScript + Vite production build
|
|
105
|
+
npm run lint # ESLint
|
|
106
|
+
npm run test # Vitest
|
|
107
|
+
npm run storybook # Storybook :6006
|
|
108
|
+
npm run registry:build # Rebuild registry.json
|
|
109
|
+
npm run theme:sync # Re-generate CSS variables from themes.ts
|
|
110
|
+
```
|
package/dist/ui-cli.cjs
CHANGED
|
@@ -27,7 +27,7 @@ var import_fs = __toESM(require("fs"), 1);
|
|
|
27
27
|
var import_path = __toESM(require("path"), 1);
|
|
28
28
|
var import_child_process = require("child_process");
|
|
29
29
|
var import_readline = __toESM(require("readline"), 1);
|
|
30
|
-
var VERSION = "0.3.
|
|
30
|
+
var VERSION = "0.3.17";
|
|
31
31
|
var REGISTRY_LOCAL = "./registry.json";
|
|
32
32
|
var REGISTRY_REMOTE = "https://raw.githubusercontent.com/Basuicn/basuicn-core/main/registry.json";
|
|
33
33
|
var c = {
|