idecn 0.0.18

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 (308) hide show
  1. package/README.md +123 -0
  2. package/dist/abap-LtYK6g-v.js +3 -0
  3. package/dist/actionscript-3-Czo0lKSf.js +3 -0
  4. package/dist/ada-twHwrVWN.js +3 -0
  5. package/dist/andromeeda-BUF0GbCd.js +4 -0
  6. package/dist/angular-html-bTeGae5B.js +33 -0
  7. package/dist/angular-ts-_gXVuXX7.js +27 -0
  8. package/dist/apache-BIl2qPOf.js +3 -0
  9. package/dist/apex-BkQQFAhi.js +3 -0
  10. package/dist/apl-DMU0VReQ.js +17 -0
  11. package/dist/applescript-CJ80B5XJ.js +3 -0
  12. package/dist/ara-IxnQjO6j.js +3 -0
  13. package/dist/asciidoc-Dsw6zvwf.js +3 -0
  14. package/dist/asm-wBDSgBbA.js +3 -0
  15. package/dist/astro-B6m2Buec.js +19 -0
  16. package/dist/aurora-x-s3leP_z8.js +4 -0
  17. package/dist/awk-D6dA05Ye.js +3 -0
  18. package/dist/ayu-dark-quuRHBGq.js +4 -0
  19. package/dist/ayu-light-CPSCpK7g.js +4 -0
  20. package/dist/ayu-mirage-BEmurnqn.js +4 -0
  21. package/dist/ballerina-DIdXD2KH.js +3 -0
  22. package/dist/bat-hQslfzu-.js +3 -0
  23. package/dist/beancount-CXtOQ8oS.js +3 -0
  24. package/dist/berry-CgA2ea0_.js +3 -0
  25. package/dist/bibtex-BzgdqG3s.js +3 -0
  26. package/dist/bicep-CZ338dSk.js +3 -0
  27. package/dist/bird2-GLyzhwkD.js +3 -0
  28. package/dist/blade-Co1dPqoY.js +21 -0
  29. package/dist/bsl-BVwiJ5VK.js +6 -0
  30. package/dist/c-CIxIWLG5.js +6 -0
  31. package/dist/c3-BLXk7BLN.js +3 -0
  32. package/dist/cadence-B1ELWULD.js +3 -0
  33. package/dist/cairo-GHcO7jfi.js +6 -0
  34. package/dist/catppuccin-frappe-BDsMAyd2.js +4 -0
  35. package/dist/catppuccin-latte-Nem71C3V.js +4 -0
  36. package/dist/catppuccin-macchiato-S9FKzwfy.js +4 -0
  37. package/dist/catppuccin-mocha-Bh0e7_HG.js +4 -0
  38. package/dist/clarity-2iIoRiLx.js +3 -0
  39. package/dist/clojure-DDsQ0FaV.js +3 -0
  40. package/dist/cmake-DPsCB_V6.js +3 -0
  41. package/dist/cobol-xEmUa_LR.js +11 -0
  42. package/dist/codeowners-CxEKPWu0.js +3 -0
  43. package/dist/codeql-BwdvwJnv.js +3 -0
  44. package/dist/coffee-CCwIp-Mg.js +6 -0
  45. package/dist/common-lisp-DJtwvW4V.js +3 -0
  46. package/dist/coq-Ds6Ye5el.js +3 -0
  47. package/dist/cpp-BuSOvoVi.js +25 -0
  48. package/dist/crystal-CsNXLwri.js +19 -0
  49. package/dist/csharp-CFKaLbHg.js +3 -0
  50. package/dist/css-B4Ur5guI.js +6 -0
  51. package/dist/csv-DqIVFkK7.js +3 -0
  52. package/dist/cue-B5KneM5p.js +3 -0
  53. package/dist/cypher-D8Bb8Cq2.js +3 -0
  54. package/dist/d-BQY8TDgQ.js +3 -0
  55. package/dist/dark-plus-C5M6PC0I.js +4 -0
  56. package/dist/dart-C6DUdjib.js +3 -0
  57. package/dist/dax-S-Noo-ku.js +3 -0
  58. package/dist/desktop-BgOb7Aj4.js +3 -0
  59. package/dist/diff-Blb4MjsC.js +3 -0
  60. package/dist/docker-PC1tuYpa.js +3 -0
  61. package/dist/dotenv-Dkdv7Sm2.js +3 -0
  62. package/dist/dracula-BL6uXvm-.js +4 -0
  63. package/dist/dracula-soft-CXoru0rs.js +4 -0
  64. package/dist/dream-maker-CngiPd8U.js +3 -0
  65. package/dist/edge-Do9jC__I.js +13 -0
  66. package/dist/elixir-CqTsXeid.js +6 -0
  67. package/dist/elm-B8bP5nZm.js +6 -0
  68. package/dist/emacs-lisp-DxhFFVu_.js +3 -0
  69. package/dist/erb-CSdQYVWx.js +11 -0
  70. package/dist/erlang-DmZf1Nfx.js +6 -0
  71. package/dist/everforest-dark-Br9av_hQ.js +4 -0
  72. package/dist/everforest-light-CzIXdV5y.js +4 -0
  73. package/dist/fennel-B3wtZRne.js +3 -0
  74. package/dist/fish-D7qAeWQz.js +3 -0
  75. package/dist/fluent-BjfpB34g.js +3 -0
  76. package/dist/fortran-fixed-form-CJ8_mVM9.js +6 -0
  77. package/dist/fortran-free-form-yxJ7igsv.js +3 -0
  78. package/dist/fsharp-B0T2eDox.js +6 -0
  79. package/dist/gdresource-BrdbJIDi.js +11 -0
  80. package/dist/gdscript-jjgTGGzd.js +3 -0
  81. package/dist/gdshader-D7JfdFV3.js +3 -0
  82. package/dist/genie-DnK2KWIP.js +3 -0
  83. package/dist/gherkin-D6Lr12YQ.js +3 -0
  84. package/dist/git-commit-D_FCKiCf.js +6 -0
  85. package/dist/git-rebase-8VDQAiVn.js +6 -0
  86. package/dist/github-dark-BlHDk69t.js +4 -0
  87. package/dist/github-dark-default-C18IL2qL.js +4 -0
  88. package/dist/github-dark-dimmed-bpHzuamF.js +4 -0
  89. package/dist/github-dark-high-contrast-CfEebyGB.js +4 -0
  90. package/dist/github-light-CRfbumGZ.js +4 -0
  91. package/dist/github-light-default-BHaSQqrZ.js +4 -0
  92. package/dist/github-light-high-contrast-Cx76v2hR.js +4 -0
  93. package/dist/gleam-CTllUdfC.js +3 -0
  94. package/dist/glimmer-js-D8Q2WCsD.js +15 -0
  95. package/dist/glimmer-ts-BpPIHppz.js +15 -0
  96. package/dist/glsl-CjC47PoM.js +8 -0
  97. package/dist/gn-DDjbVPF4.js +3 -0
  98. package/dist/gnuplot-DgWvVXI8.js +3 -0
  99. package/dist/go-aXtTCanQ.js +3 -0
  100. package/dist/graphql-DQeKTK8m.js +17 -0
  101. package/dist/groovy-Bw2Ku4bU.js +3 -0
  102. package/dist/gruvbox-dark-hard-isdidsko.js +4 -0
  103. package/dist/gruvbox-dark-medium-C1Ei2JyQ.js +4 -0
  104. package/dist/gruvbox-dark-soft-BHmAwAEh.js +4 -0
  105. package/dist/gruvbox-light-hard-DD6tMWUI.js +4 -0
  106. package/dist/gruvbox-light-medium-r-lzapec.js +4 -0
  107. package/dist/gruvbox-light-soft-C0JfMcGt.js +4 -0
  108. package/dist/hack-DuzhrFcq.js +11 -0
  109. package/dist/haml-dC52r87n.js +13 -0
  110. package/dist/handlebars-6tbw6HPO.js +15 -0
  111. package/dist/haskell-CfGsE1Cf.js +3 -0
  112. package/dist/haxe-B0odltAZ.js +3 -0
  113. package/dist/hcl-DHg_Osgo.js +3 -0
  114. package/dist/hjson-Cuaphql8.js +3 -0
  115. package/dist/hlsl-BJLUNfne.js +3 -0
  116. package/dist/horizon-CPFxnbl0.js +4 -0
  117. package/dist/horizon-bright-D9xneo3q.js +4 -0
  118. package/dist/houston-toPd5Jbl.js +4 -0
  119. package/dist/html-CLMIv3L9.js +13 -0
  120. package/dist/html-derivative-Dhnb3JdT.js +6 -0
  121. package/dist/http-D8qcI4s9.js +15 -0
  122. package/dist/hurl-jwpfP28Y.js +13 -0
  123. package/dist/hxml-CmD7fWXh.js +6 -0
  124. package/dist/hy-CJKxDzbh.js +3 -0
  125. package/dist/icons-DRYWQpH1.js +13659 -0
  126. package/dist/idecn.d.ts +370 -0
  127. package/dist/idecn.js +16466 -0
  128. package/dist/imba-96qKoJCa.js +3 -0
  129. package/dist/ini-C24lZfdM.js +3 -0
  130. package/dist/java-DsOOD8VC.js +6 -0
  131. package/dist/javascript-DFlFPX1U.js +6 -0
  132. package/dist/jinja-VWrNvGM2.js +10 -0
  133. package/dist/jison-BiVjUrnH.js +6 -0
  134. package/dist/json-CBZfjEj_.js +6 -0
  135. package/dist/json5-xULSgPQI.js +3 -0
  136. package/dist/jsonc-Cu6rqcrJ.js +3 -0
  137. package/dist/jsonl-Bp0qqr10.js +3 -0
  138. package/dist/jsonnet-BafgE6cE.js +3 -0
  139. package/dist/jssm-Dx5A5sBR.js +3 -0
  140. package/dist/jsx-D5g_dA0V.js +6 -0
  141. package/dist/julia-D4vAVq5J.js +17 -0
  142. package/dist/just-D0HAfTTx.js +19 -0
  143. package/dist/kanagawa-dragon-BSk3KMf9.js +4 -0
  144. package/dist/kanagawa-lotus-DiafreaA.js +4 -0
  145. package/dist/kanagawa-wave-nRLxFPIQ.js +4 -0
  146. package/dist/kdl-DkTyxPcj.js +3 -0
  147. package/dist/kotlin-BHE8CoV9.js +3 -0
  148. package/dist/kusto-6FdaWTzR.js +3 -0
  149. package/dist/laserwave-CvmzcnVO.js +4 -0
  150. package/dist/latex-DBPLtrWO.js +6 -0
  151. package/dist/lean-BwOKScIt.js +3 -0
  152. package/dist/less-BzbdhFUi.js +3 -0
  153. package/dist/light-plus-B1JDFs1U.js +4 -0
  154. package/dist/liquid-CYUEx-tG.js +15 -0
  155. package/dist/llvm-uY68ROGz.js +3 -0
  156. package/dist/log-Dad54gsi.js +3 -0
  157. package/dist/logo-DTXV8SKw.js +3 -0
  158. package/dist/lua-Dkkxn6J7.js +8 -0
  159. package/dist/luau-YC4aaMmR.js +3 -0
  160. package/dist/make-B2ukzWs3.js +3 -0
  161. package/dist/markdown-CkmxmzqY.js +3 -0
  162. package/dist/marko-BkDLx2uZ.js +15 -0
  163. package/dist/material-theme-CRWpds1X.js +4 -0
  164. package/dist/material-theme-darker-BDacW6s9.js +4 -0
  165. package/dist/material-theme-lighter-D9Uca8NG.js +4 -0
  166. package/dist/material-theme-ocean-DUAgmwnZ.js +4 -0
  167. package/dist/material-theme-palenight-BD6_E2ze.js +4 -0
  168. package/dist/matlab-CfRK6IMC.js +3 -0
  169. package/dist/mdc-CKl9P-sE.js +13 -0
  170. package/dist/mdx-BK9ZufRc.js +3 -0
  171. package/dist/mermaid-r7OoIYpE.js +3 -0
  172. package/dist/min-dark-D5irzi0p.js +4 -0
  173. package/dist/min-light-BWtzuncS.js +4 -0
  174. package/dist/mipsasm-EL46Y4Xg.js +3 -0
  175. package/dist/mojo-YCzvCoMT.js +3 -0
  176. package/dist/monokai-BEoWoCFM.js +4 -0
  177. package/dist/monokai-lite-BbZM3SK1.js +375 -0
  178. package/dist/moonbit-B_9L5rST.js +3 -0
  179. package/dist/move-Dqi5fhOb.js +3 -0
  180. package/dist/narrat-D9rrR0H5.js +3 -0
  181. package/dist/nextflow-Dt9Z-SSf.js +6 -0
  182. package/dist/nextflow-groovy-CdFFX-gF.js +3 -0
  183. package/dist/nginx-CJf04QTP.js +6 -0
  184. package/dist/night-owl-EjApA92b.js +4 -0
  185. package/dist/night-owl-light-BgmKyhSo.js +4 -0
  186. package/dist/nim-BRGgFTL9.js +21 -0
  187. package/dist/nix-BhgaFB6r.js +7 -0
  188. package/dist/nord-CASsGDGO.js +4 -0
  189. package/dist/nushell-r7hBzeS_.js +3 -0
  190. package/dist/objective-c-6dJF64Dt.js +3 -0
  191. package/dist/objective-cpp-_ooRQ-PY.js +3 -0
  192. package/dist/ocaml-vm1Y8An6.js +3 -0
  193. package/dist/odin-vjOJSyfV.js +3 -0
  194. package/dist/one-dark-pro-DBp-HVGq.js +4 -0
  195. package/dist/one-light-B4YHldwj.js +4 -0
  196. package/dist/openscad-jn-f1Ocl.js +3 -0
  197. package/dist/pascal-D8-gNZ2I.js +3 -0
  198. package/dist/perl-CDY2OO4R.js +17 -0
  199. package/dist/php-Bu1FMlw3.js +19 -0
  200. package/dist/pkl-C7lWzykI.js +3 -0
  201. package/dist/plastic--_Bw-jpd.js +4 -0
  202. package/dist/plsql-DCNXypXO.js +3 -0
  203. package/dist/po-IjpR1yHO.js +3 -0
  204. package/dist/poimandres-DKgMMt1J.js +4 -0
  205. package/dist/polar-4pN1JrJ8.js +3 -0
  206. package/dist/postcss-D1gKt4z_.js +3 -0
  207. package/dist/powerquery-SrvS_NBM.js +3 -0
  208. package/dist/powershell-CpTLv_ai.js +3 -0
  209. package/dist/prisma-BWfa4-tI.js +3 -0
  210. package/dist/prolog-Bacii3Ue.js +3 -0
  211. package/dist/proto-ClkOcAW0.js +3 -0
  212. package/dist/pug-CSBcZJ5X.js +13 -0
  213. package/dist/puppet-CQlPp728.js +3 -0
  214. package/dist/purescript-CLpaGMbw.js +3 -0
  215. package/dist/python-BjnOIxPe.js +3 -0
  216. package/dist/qml-Di2BUZeQ.js +6 -0
  217. package/dist/qmldir-Dz8ttxjf.js +3 -0
  218. package/dist/qss-Iltvkn1C.js +3 -0
  219. package/dist/r-uscqT4-s.js +6 -0
  220. package/dist/racket-DRv7j6nv.js +3 -0
  221. package/dist/raku-DI9yGpeW.js +3 -0
  222. package/dist/razor-CwJ7UFSs.js +11 -0
  223. package/dist/red-Dk8N0WJS.js +4 -0
  224. package/dist/reg-DpJf71oO.js +3 -0
  225. package/dist/regexp-DNstg16b.js +6 -0
  226. package/dist/rel-BT0iIKKw.js +3 -0
  227. package/dist/riscv-CvzikGLb.js +3 -0
  228. package/dist/rolldown-runtime-D7D4PA-g.js +13 -0
  229. package/dist/ron-DzAo6FTJ.js +3 -0
  230. package/dist/rose-pine-BlsQywTC.js +4 -0
  231. package/dist/rose-pine-dawn-CKDDbTMt.js +4 -0
  232. package/dist/rose-pine-moon-Bk_n4cjJ.js +4 -0
  233. package/dist/rosmsg-CyYq6XdT.js +3 -0
  234. package/dist/rst-BADORUSN.js +23 -0
  235. package/dist/ruby-f50xst1Y.js +31 -0
  236. package/dist/rust-COBzcmTx.js +3 -0
  237. package/dist/sas-C7K0hxUJ.js +6 -0
  238. package/dist/sass-DI2zJwx7.js +3 -0
  239. package/dist/scala-CtSYTRYT.js +3 -0
  240. package/dist/scheme-D3A2QBtM.js +3 -0
  241. package/dist/scss-B1wosXmm.js +8 -0
  242. package/dist/sdbl-CdQg5gu1.js +3 -0
  243. package/dist/shaderlab-D2u6TPm7.js +6 -0
  244. package/dist/shellscript-DHXJIZos.js +6 -0
  245. package/dist/shellsession-V7xUjn61.js +6 -0
  246. package/dist/slack-dark-Bm10g497.js +4 -0
  247. package/dist/slack-ochin-BnLqwl9J.js +4 -0
  248. package/dist/smalltalk-BEQkVl4K.js +3 -0
  249. package/dist/snazzy-light-DIxqDefT.js +4 -0
  250. package/dist/solarized-dark-OQLYVVvn.js +4 -0
  251. package/dist/solarized-light-BNRJdwLA.js +4 -0
  252. package/dist/solidity-lB9VjfB9.js +3 -0
  253. package/dist/soy-4UACPzKq.js +6 -0
  254. package/dist/sparql-C7eVLH6y.js +6 -0
  255. package/dist/splunk-xP_ZjUH2.js +3 -0
  256. package/dist/sql-CjGzBzAr.js +6 -0
  257. package/dist/ssh-config-DXFPABYp.js +3 -0
  258. package/dist/stata-Cdw4Vaxg.js +6 -0
  259. package/dist/stylus-ZZDn1yUO.js +3 -0
  260. package/dist/surrealql-DON1G1bw.js +6 -0
  261. package/dist/svelte-BBcviNGa.js +15 -0
  262. package/dist/swift-BTPQlRLK.js +3 -0
  263. package/dist/synthwave-84-D5WR4KOL.js +4 -0
  264. package/dist/system-verilog-BEoxaBuU.js +3 -0
  265. package/dist/systemd-DFbUltlW.js +3 -0
  266. package/dist/talonscript-CLxaFu-b.js +3 -0
  267. package/dist/tasl-_AAbKiWM.js +3 -0
  268. package/dist/tcl-DLe0Tsfm.js +3 -0
  269. package/dist/templ-CqGebwia.js +13 -0
  270. package/dist/terraform-v0KN9QQh.js +3 -0
  271. package/dist/tex-BRjEjwbS.js +6 -0
  272. package/dist/tokyo-night-BPDB1RDv.js +4 -0
  273. package/dist/toml-B7BHZIqX.js +3 -0
  274. package/dist/ts-tags-VKQJM-cW.js +59 -0
  275. package/dist/tsv-BorGVq2Z.js +3 -0
  276. package/dist/tsx-DMLIL9RK.js +6 -0
  277. package/dist/turtle-BEG5g_eT.js +3 -0
  278. package/dist/twig-XL233pd3.js +19 -0
  279. package/dist/typescript-Ce5Ah3Z8.js +6 -0
  280. package/dist/typespec-C_R5TbvO.js +3 -0
  281. package/dist/typst-BV9w0z8-.js +3 -0
  282. package/dist/v-DfbeXLo8.js +3 -0
  283. package/dist/vala-BnnASFsX.js +3 -0
  284. package/dist/vb-DU29mvss.js +3 -0
  285. package/dist/verilog-BW5U03XW.js +3 -0
  286. package/dist/vesper-BS_NojfF.js +4 -0
  287. package/dist/vhdl-Co2XFKY7.js +3 -0
  288. package/dist/viml-BReTXeDA.js +3 -0
  289. package/dist/vitesse-black-DaZ0k-w_.js +4 -0
  290. package/dist/vitesse-dark-C0ixXcls.js +4 -0
  291. package/dist/vitesse-light-CI2solVY.js +4 -0
  292. package/dist/vue-html-DlGvkNol.js +6 -0
  293. package/dist/vue-ouG_9iqU.js +31 -0
  294. package/dist/vue-vine-BL5sRbMQ.js +19 -0
  295. package/dist/vyper-C6KGx0YU.js +3 -0
  296. package/dist/wasm-BC0QEqUv.js +7 -0
  297. package/dist/wasm-gNIKwGlD.js +3 -0
  298. package/dist/wenyan-BeysbCrW.js +3 -0
  299. package/dist/wgsl-1s5rV5xS.js +3 -0
  300. package/dist/wikitext-wjhjmmzD.js +3 -0
  301. package/dist/wit-CeQiCbz_.js +3 -0
  302. package/dist/wolfram-CcZPfnLd.js +3 -0
  303. package/dist/xml-ClpK1bLm.js +8 -0
  304. package/dist/xsl-BP6ONG_c.js +6 -0
  305. package/dist/yaml-BCrutoK4.js +6 -0
  306. package/dist/zenscript-BoijL7rl.js +3 -0
  307. package/dist/zig-lTQvxhLD.js +3 -0
  308. package/package.json +56 -0
@@ -0,0 +1,370 @@
1
+ import { Button } from "@a/ui/button";
2
+ import { ComponentProps, ComponentType, ForwardRefExoticComponent, ReactNode, Ref, RefAttributes, SVGProps } from "react";
3
+ import { z } from "zod";
4
+ import { Schema, StoreType } from "leva/dist/declarations/src/types";
5
+
6
+ //#region ../../node_modules/lucide-react/dist/lucide-react.d.ts
7
+ type SVGAttributes = Partial<SVGProps<SVGSVGElement>>;
8
+ type ElementAttributes = RefAttributes<SVGSVGElement> & SVGAttributes;
9
+ interface LucideProps extends ElementAttributes {
10
+ size?: string | number;
11
+ absoluteStrokeWidth?: boolean;
12
+ }
13
+ type LucideIcon = ForwardRefExoticComponent<Omit<LucideProps, 'ref'> & RefAttributes<SVGSVGElement>>;
14
+ /**
15
+ * @component @name AArrowDown
16
+ * @description Lucide SVG icon component, renders SVG Element with children.
17
+ *
18
+ * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTQgMTIgNCA0IDQtNCIgLz4KICA8cGF0aCBkPSJNMTggMTZWNyIgLz4KICA8cGF0aCBkPSJtMiAxNiA0LjAzOS05LjY5YS41LjUgMCAwIDEgLjkyMyAwTDExIDE2IiAvPgogIDxwYXRoIGQ9Ik0zLjMwNCAxM2g2LjM5MiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/a-arrow-down
19
+ * @see https://lucide.dev/guide/packages/lucide-react - Documentation
20
+ *
21
+ * @param {Object} props - Lucide icons props and any valid SVG attribute
22
+ * @returns {JSX.Element} JSX Element
23
+ *
24
+ */
25
+ //#endregion
26
+ //#region src/idecn.d.ts
27
+ declare const TAB_TYPE: unique symbol;
28
+ declare const getIconSvg: (filename: string) => string;
29
+ interface VirtualFile {
30
+ content: string;
31
+ icon?: ComponentType<{
32
+ className?: string;
33
+ }>;
34
+ language?: string;
35
+ name: string;
36
+ open?: boolean;
37
+ pin?: 'bottom' | 'top';
38
+ }
39
+ interface FileActions {
40
+ contextActions?: (ctx: {
41
+ isFolder: boolean;
42
+ path: string;
43
+ selectedPaths: string[];
44
+ }) => TreeContextAction[];
45
+ onCreateFile?: (parentPath: string, name: string) => Promise<void> | void;
46
+ onCreateFolder?: (parentPath: string, name: string) => Promise<void> | void;
47
+ onDelete?: (paths: string[]) => Promise<void> | void;
48
+ onDownload?: (path: string) => Promise<void> | void;
49
+ onMove?: (sourcePath: string, targetFolderPath: string) => Promise<void> | void;
50
+ onRename?: (path: string, newName: string) => Promise<void> | void;
51
+ onUpload?: (parentPath: string, files: FileList) => Promise<void> | void;
52
+ }
53
+ interface TreeContextAction {
54
+ destructive?: boolean;
55
+ icon?: ComponentType<{
56
+ className?: string;
57
+ }>;
58
+ label: string;
59
+ onSelect: (ctx: {
60
+ isFolder: boolean;
61
+ path: string;
62
+ selectedPaths: string[];
63
+ }) => void;
64
+ }
65
+ interface TreeDataItem {
66
+ actions?: ReactNode;
67
+ children?: TreeDataItem[];
68
+ className?: string;
69
+ disabled?: boolean;
70
+ icon?: ComponentType<{
71
+ className?: string;
72
+ }> | string;
73
+ id: string;
74
+ mutable?: boolean;
75
+ name: string;
76
+ onClick?: () => void;
77
+ path: string;
78
+ }
79
+ interface WorkspaceRef {
80
+ focusPanel: (id: string) => void;
81
+ openFile: (item: TreeDataItem) => void;
82
+ toggleSidebar: () => void;
83
+ }
84
+ declare const FileIcon: ({
85
+ name,
86
+ ...props
87
+ }: ComponentProps<"span"> & {
88
+ name: string;
89
+ }) => import("react").JSX.Element;
90
+ declare const FolderIcon: ({
91
+ name,
92
+ open,
93
+ ...props
94
+ }: ComponentProps<"span"> & {
95
+ name: string;
96
+ open?: boolean;
97
+ }) => import("react").JSX.Element;
98
+ declare const Tree: ({
99
+ children,
100
+ expandDepth,
101
+ expandExclude,
102
+ fileActions,
103
+ indent,
104
+ log: treePropLog,
105
+ onSelect,
106
+ onSelectionChange,
107
+ selectedId: controlledSelectedId,
108
+ triggerUpload,
109
+ ...props
110
+ }: ComponentProps<"div"> & {
111
+ expandDepth?: number;
112
+ expandExclude?: string[];
113
+ fileActions?: FileActions;
114
+ indent?: number;
115
+ log?: (msg: string) => void;
116
+ onSelect?: (item: {
117
+ id: string;
118
+ name: string;
119
+ path: string;
120
+ }) => void;
121
+ onSelectionChange?: (ids: string[]) => void;
122
+ selectedId?: null | string;
123
+ triggerUpload?: (parentPath: string) => void;
124
+ }) => import("react").JSX.Element;
125
+ declare const TreeFolder: ({
126
+ children,
127
+ defaultOpen,
128
+ disabled,
129
+ id,
130
+ mutable,
131
+ name,
132
+ path,
133
+ ...props
134
+ }: {
135
+ children?: ReactNode;
136
+ className?: string;
137
+ defaultOpen?: boolean;
138
+ disabled?: boolean;
139
+ id?: string;
140
+ mutable?: boolean;
141
+ name: string;
142
+ path?: string;
143
+ }) => import("react").JSX.Element;
144
+ declare const TreeFile: ({
145
+ actions,
146
+ disabled,
147
+ icon,
148
+ id,
149
+ mutable,
150
+ name,
151
+ path,
152
+ ...props
153
+ }: Omit<ComponentProps<"button">, "id"> & {
154
+ actions?: ReactNode;
155
+ disabled?: boolean;
156
+ icon?: ComponentType<{
157
+ className?: string;
158
+ }> | string;
159
+ id?: string;
160
+ mutable?: boolean;
161
+ name: string;
162
+ path?: string;
163
+ }) => import("react").JSX.Element;
164
+ declare const FileTree: ({
165
+ className,
166
+ data,
167
+ expandDepth,
168
+ expandExclude,
169
+ fileActions,
170
+ initialSelectedItemId,
171
+ log: fileTreeLog,
172
+ onDoubleClick: onDoubleClickProp,
173
+ onSelectChange,
174
+ onSelectionChange,
175
+ selectedId: controlledId,
176
+ triggerUpload
177
+ }: {
178
+ className?: string;
179
+ data: TreeDataItem | TreeDataItem[];
180
+ expandDepth?: number;
181
+ expandExclude?: string[];
182
+ fileActions?: FileActions;
183
+ initialSelectedItemId?: string;
184
+ log?: (msg: string) => void;
185
+ onDoubleClick?: (item: TreeDataItem) => void;
186
+ onSelectChange?: (item: TreeDataItem | undefined) => void;
187
+ onSelectionChange?: (ids: string[]) => void;
188
+ selectedId?: null | string;
189
+ triggerUpload?: (parentPath: string) => void;
190
+ }) => import("react").JSX.Element;
191
+ declare const Tab: {
192
+ (_props: {
193
+ activeClassName?: string;
194
+ children: ReactNode;
195
+ closable?: boolean;
196
+ headerClassName?: string;
197
+ icon?: boolean;
198
+ id?: string;
199
+ inactiveClassName?: string;
200
+ onClose?: () => void;
201
+ title: string;
202
+ }): null;
203
+ _type: typeof TAB_TYPE;
204
+ };
205
+ declare const Workspace: ({
206
+ activityLog,
207
+ children,
208
+ defaultSidebar,
209
+ editorOptions,
210
+ expandDepth,
211
+ expandExclude,
212
+ fileActions,
213
+ files,
214
+ initialFiles,
215
+ onFilesChange,
216
+ onOpenFile,
217
+ onSidebarChange,
218
+ onTabChange,
219
+ ref,
220
+ renderLoading,
221
+ shortcuts,
222
+ sidebar: controlledSidebar,
223
+ sidebarPosition,
224
+ sidebarSize,
225
+ theme,
226
+ tree,
227
+ ...props
228
+ }: Omit<ComponentProps<"div">, "ref"> & {
229
+ activityLog?: (line: string) => void;
230
+ defaultSidebar?: boolean;
231
+ editorOptions?: Record<string, unknown>;
232
+ expandDepth?: number;
233
+ expandExclude?: string[];
234
+ fileActions?: FileActions;
235
+ files?: VirtualFile[];
236
+ initialFiles?: string[];
237
+ onFilesChange?: (files: string[]) => void;
238
+ onOpenFile?: (item: TreeDataItem) => null | Promise<null | string> | string;
239
+ onSidebarChange?: (visible: boolean) => void;
240
+ onTabChange?: (id: string) => void;
241
+ ref?: Ref<WorkspaceRef>;
242
+ renderLoading?: (item: TreeDataItem) => ReactNode;
243
+ shortcuts?: boolean;
244
+ sidebar?: boolean;
245
+ sidebarPosition?: "left" | "right";
246
+ sidebarSize?: number | string;
247
+ theme?: string | {
248
+ dark: string;
249
+ light: string;
250
+ };
251
+ tree?: TreeDataItem[];
252
+ }) => import("react").JSX.Element | null;
253
+ interface ConfigFieldMeta {
254
+ folder?: string;
255
+ hint?: string;
256
+ icon?: string;
257
+ showWhen?: ConfigShowWhen | ConfigShowWhen[];
258
+ unit?: string;
259
+ }
260
+ interface ConfigShowWhen {
261
+ equals: boolean | number | string;
262
+ field: string;
263
+ }
264
+ type ConfigSide = 'bottom' | 'left' | 'right' | 'top';
265
+ declare const toLevaSchema: (config: z.ZodObject, opts?: {
266
+ icons?: Record<string, LucideIcon>;
267
+ overlay?: Record<string, ConfigFieldMeta>;
268
+ values?: Record<string, unknown>;
269
+ }) => Schema;
270
+ declare const ConfigPanel: ({
271
+ store
272
+ }: {
273
+ store: StoreType;
274
+ }) => import("react").JSX.Element;
275
+ declare const persistConfig: (key: string) => {
276
+ load: () => unknown;
277
+ save: (values: unknown) => void;
278
+ };
279
+ declare const useConfig: <T extends z.ZodObject>(schema: T, options?: {
280
+ icons?: Record<string, LucideIcon>;
281
+ load?: () => unknown;
282
+ overlay?: Record<string, ConfigFieldMeta>;
283
+ save?: (values: z.infer<T>) => void;
284
+ }) => {
285
+ store: StoreType;
286
+ values: z.infer<T>;
287
+ };
288
+ declare const ConfigPopover: ({
289
+ icon: Icon,
290
+ label,
291
+ side,
292
+ store
293
+ }: {
294
+ icon?: LucideIcon;
295
+ label: string;
296
+ side?: ConfigSide;
297
+ store: StoreType;
298
+ }) => import("react").JSX.Element;
299
+ declare const IconButton: ({
300
+ busy,
301
+ children,
302
+ className,
303
+ disabled,
304
+ icon: Icon,
305
+ kbd,
306
+ label,
307
+ onClick,
308
+ reason,
309
+ side,
310
+ ...props
311
+ }: Omit<ComponentProps<typeof Button>, "size" | "variant"> & {
312
+ busy?: boolean;
313
+ icon: LucideIcon;
314
+ kbd?: string;
315
+ label: string;
316
+ reason?: string;
317
+ side?: "bottom" | "left" | "right" | "top";
318
+ }) => import("react").JSX.Element;
319
+ interface PdfRegion {
320
+ box: readonly [number, number, number, number];
321
+ color?: string;
322
+ id: string;
323
+ label?: string;
324
+ page: number;
325
+ }
326
+ interface PdfViewerProps {
327
+ className?: string;
328
+ onRegionClick?: (id: string) => void;
329
+ regions?: readonly PdfRegion[];
330
+ scale?: number;
331
+ selectedRegionId?: null | string;
332
+ src: string;
333
+ }
334
+ declare const PdfViewer: ({
335
+ className,
336
+ onRegionClick,
337
+ regions,
338
+ scale,
339
+ selectedRegionId,
340
+ src
341
+ }: PdfViewerProps) => import("react").JSX.Element;
342
+ interface ScrubInputProps {
343
+ ariaLabel?: string;
344
+ className?: string;
345
+ label?: string;
346
+ max?: number;
347
+ min?: number;
348
+ onChange: (value: number) => void;
349
+ placeholder?: string;
350
+ step?: number;
351
+ title?: string;
352
+ value: null | number;
353
+ }
354
+ declare const ScrubInput: ({
355
+ ariaLabel,
356
+ className,
357
+ label,
358
+ max,
359
+ min,
360
+ onChange,
361
+ placeholder,
362
+ step,
363
+ title,
364
+ value
365
+ }: ScrubInputProps) => import("react").JSX.Element;
366
+ type FileTreeProps = ComponentProps<typeof FileTree>;
367
+ type TabProps = ComponentProps<typeof Tab>;
368
+ type WorkspaceProps = ComponentProps<typeof Workspace>;
369
+ //#endregion
370
+ export { type ConfigFieldMeta, ConfigPanel, ConfigPopover, type ConfigShowWhen, type FileActions, FileIcon, FileTree, type FileTreeProps, FolderIcon, IconButton, type PdfRegion, PdfViewer, type PdfViewerProps, ScrubInput, type ScrubInputProps, Tab, type TabProps, Tree, type TreeContextAction, type TreeDataItem, TreeFile, TreeFolder, type VirtualFile, Workspace, type WorkspaceProps, type WorkspaceRef, getIconSvg, persistConfig, toLevaSchema, useConfig };