doclific 0.2.1 → 0.2.3

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 (584) hide show
  1. package/LICENSE +17 -0
  2. package/dist/bin/doclific.js +36 -8
  3. package/dist/public/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 +0 -0
  4. package/dist/public/assets/KaTeX_AMS-Regular-DMm9YOAa.woff +0 -0
  5. package/dist/public/assets/KaTeX_AMS-Regular-DRggAlZN.ttf +0 -0
  6. package/dist/public/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf +0 -0
  7. package/dist/public/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff +0 -0
  8. package/dist/public/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 +0 -0
  9. package/dist/public/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff +0 -0
  10. package/dist/public/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 +0 -0
  11. package/dist/public/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf +0 -0
  12. package/dist/public/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf +0 -0
  13. package/dist/public/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff +0 -0
  14. package/dist/public/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 +0 -0
  15. package/dist/public/assets/KaTeX_Fraktur-Regular-CB_wures.ttf +0 -0
  16. package/dist/public/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 +0 -0
  17. package/dist/public/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff +0 -0
  18. package/dist/public/assets/KaTeX_Main-Bold-Cx986IdX.woff2 +0 -0
  19. package/dist/public/assets/KaTeX_Main-Bold-Jm3AIy58.woff +0 -0
  20. package/dist/public/assets/KaTeX_Main-Bold-waoOVXN0.ttf +0 -0
  21. package/dist/public/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 +0 -0
  22. package/dist/public/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf +0 -0
  23. package/dist/public/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff +0 -0
  24. package/dist/public/assets/KaTeX_Main-Italic-3WenGoN9.ttf +0 -0
  25. package/dist/public/assets/KaTeX_Main-Italic-BMLOBm91.woff +0 -0
  26. package/dist/public/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 +0 -0
  27. package/dist/public/assets/KaTeX_Main-Regular-B22Nviop.woff2 +0 -0
  28. package/dist/public/assets/KaTeX_Main-Regular-Dr94JaBh.woff +0 -0
  29. package/dist/public/assets/KaTeX_Main-Regular-ypZvNtVU.ttf +0 -0
  30. package/dist/public/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf +0 -0
  31. package/dist/public/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 +0 -0
  32. package/dist/public/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff +0 -0
  33. package/dist/public/assets/KaTeX_Math-Italic-DA0__PXp.woff +0 -0
  34. package/dist/public/assets/KaTeX_Math-Italic-flOr_0UB.ttf +0 -0
  35. package/dist/public/assets/KaTeX_Math-Italic-t53AETM-.woff2 +0 -0
  36. package/dist/public/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf +0 -0
  37. package/dist/public/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 +0 -0
  38. package/dist/public/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff +0 -0
  39. package/dist/public/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 +0 -0
  40. package/dist/public/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff +0 -0
  41. package/dist/public/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf +0 -0
  42. package/dist/public/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf +0 -0
  43. package/dist/public/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff +0 -0
  44. package/dist/public/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 +0 -0
  45. package/dist/public/assets/KaTeX_Script-Regular-C5JkGWo-.ttf +0 -0
  46. package/dist/public/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 +0 -0
  47. package/dist/public/assets/KaTeX_Script-Regular-D5yQViql.woff +0 -0
  48. package/dist/public/assets/KaTeX_Size1-Regular-C195tn64.woff +0 -0
  49. package/dist/public/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf +0 -0
  50. package/dist/public/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 +0 -0
  51. package/dist/public/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf +0 -0
  52. package/dist/public/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 +0 -0
  53. package/dist/public/assets/KaTeX_Size2-Regular-oD1tc_U0.woff +0 -0
  54. package/dist/public/assets/KaTeX_Size3-Regular-CTq5MqoE.woff +0 -0
  55. package/dist/public/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf +0 -0
  56. package/dist/public/assets/KaTeX_Size4-Regular-BF-4gkZK.woff +0 -0
  57. package/dist/public/assets/KaTeX_Size4-Regular-DWFBv043.ttf +0 -0
  58. package/dist/public/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 +0 -0
  59. package/dist/public/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff +0 -0
  60. package/dist/public/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 +0 -0
  61. package/dist/public/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf +0 -0
  62. package/dist/public/assets/Preview-NR2gYrSG.js +1 -0
  63. package/dist/public/assets/abap-BdImnpbu.js +1 -0
  64. package/dist/public/assets/actionscript-3-CfeIJUat.js +1 -0
  65. package/dist/public/assets/ada-bCR0ucgS.js +1 -0
  66. package/dist/public/assets/andromeeda-C-Jbm3Hp.js +1 -0
  67. package/dist/public/assets/angular-html-CU67Zn6k.js +1 -0
  68. package/dist/public/assets/angular-ts-BwZT4LLn.js +1 -0
  69. package/dist/public/assets/apache-Pmp26Uib.js +1 -0
  70. package/dist/public/assets/apex-DDbsPZ6N.js +1 -0
  71. package/dist/public/assets/apl-dKokRX4l.js +1 -0
  72. package/dist/public/assets/applescript-Co6uUVPk.js +1 -0
  73. package/dist/public/assets/ara-BRHolxvo.js +1 -0
  74. package/dist/public/assets/asciidoc-Dv7Oe6Be.js +1 -0
  75. package/dist/public/assets/asm-D_Q5rh1f.js +1 -0
  76. package/dist/public/assets/astro-CbQHKStN.js +1 -0
  77. package/dist/public/assets/aurora-x-D-2ljcwZ.js +1 -0
  78. package/dist/public/assets/awk-DMzUqQB5.js +1 -0
  79. package/dist/public/assets/ayu-dark-Cv9koXgw.js +1 -0
  80. package/dist/public/assets/ballerina-BFfxhgS-.js +1 -0
  81. package/dist/public/assets/bat-BkioyH1T.js +1 -0
  82. package/dist/public/assets/beancount-k_qm7-4y.js +1 -0
  83. package/dist/public/assets/berry-uYugtg8r.js +1 -0
  84. package/dist/public/assets/bibtex-CHM0blh-.js +1 -0
  85. package/dist/public/assets/bicep-Bmn6On1c.js +1 -0
  86. package/dist/public/assets/blade-DVc8C-J4.js +1 -0
  87. package/dist/public/assets/bsl-BO_Y6i37.js +1 -0
  88. package/dist/public/assets/c-BIGW1oBm.js +1 -0
  89. package/dist/public/assets/cadence-Bv_4Rxtq.js +1 -0
  90. package/dist/public/assets/cairo-KRGpt6FW.js +1 -0
  91. package/dist/public/assets/catppuccin-frappe-DFWUc33u.js +1 -0
  92. package/dist/public/assets/catppuccin-latte-C9dUb6Cb.js +1 -0
  93. package/dist/public/assets/catppuccin-macchiato-DQyhUUbL.js +1 -0
  94. package/dist/public/assets/catppuccin-mocha-D87Tk5Gz.js +1 -0
  95. package/dist/public/assets/clarity-D53aC0YG.js +1 -0
  96. package/dist/public/assets/clojure-P80f7IUj.js +1 -0
  97. package/dist/public/assets/cmake-D1j8_8rp.js +1 -0
  98. package/dist/public/assets/cobol-nwyudZeR.js +1 -0
  99. package/dist/public/assets/codeowners-Bp6g37R7.js +1 -0
  100. package/dist/public/assets/codeql-DsOJ9woJ.js +1 -0
  101. package/dist/public/assets/coffee-Ch7k5sss.js +1 -0
  102. package/dist/public/assets/common-lisp-Cg-RD9OK.js +1 -0
  103. package/dist/public/assets/coq-DkFqJrB1.js +1 -0
  104. package/dist/public/assets/cpp-CofmeUqb.js +1 -0
  105. package/dist/public/assets/crystal-tKQVLTB8.js +1 -0
  106. package/dist/public/assets/csharp-K5feNrxe.js +1 -0
  107. package/dist/public/assets/css-DPfMkruS.js +1 -0
  108. package/dist/public/assets/csv-fuZLfV_i.js +1 -0
  109. package/dist/public/assets/cue-D82EKSYY.js +1 -0
  110. package/dist/public/assets/custom-media-element-Ce0vsE-t.js +43 -0
  111. package/dist/public/assets/cypher-COkxafJQ.js +1 -0
  112. package/dist/public/assets/d-85-TOEBH.js +1 -0
  113. package/dist/public/assets/dark-plus-C3mMm8J8.js +1 -0
  114. package/dist/public/assets/dart-CF10PKvl.js +1 -0
  115. package/dist/public/assets/dash.all.min-Oikk9St1.js +21 -0
  116. package/dist/public/assets/dax-CEL-wOlO.js +1 -0
  117. package/dist/public/assets/desktop-BmXAJ9_W.js +1 -0
  118. package/dist/public/assets/diff-D97Zzqfu.js +1 -0
  119. package/dist/public/assets/docker-BcOcwvcX.js +1 -0
  120. package/dist/public/assets/dotenv-Da5cRb03.js +1 -0
  121. package/dist/public/assets/dracula-BzJJZx-M.js +1 -0
  122. package/dist/public/assets/dracula-soft-BXkSAIEj.js +1 -0
  123. package/dist/public/assets/dream-maker-BtqSS_iP.js +1 -0
  124. package/dist/public/assets/edge-BkV0erSs.js +1 -0
  125. package/dist/public/assets/elixir-CDX3lj18.js +1 -0
  126. package/dist/public/assets/elm-DbKCFpqz.js +1 -0
  127. package/dist/public/assets/emacs-lisp-C9XAeP06.js +1 -0
  128. package/dist/public/assets/erb-BOJIQeun.js +1 -0
  129. package/dist/public/assets/erlang-DsQrWhSR.js +1 -0
  130. package/dist/public/assets/everforest-dark-BgDCqdQA.js +1 -0
  131. package/dist/public/assets/everforest-light-C8M2exoo.js +1 -0
  132. package/dist/public/assets/fennel-BYunw83y.js +1 -0
  133. package/dist/public/assets/fish-BvzEVeQv.js +1 -0
  134. package/dist/public/assets/fluent-C4IJs8-o.js +1 -0
  135. package/dist/public/assets/fortran-fixed-form-BZjJHVRy.js +1 -0
  136. package/dist/public/assets/fortran-free-form-D22FLkUw.js +1 -0
  137. package/dist/public/assets/fsharp-CXgrBDvD.js +1 -0
  138. package/dist/public/assets/gdresource-B7Tvp0Sc.js +1 -0
  139. package/dist/public/assets/gdscript-DTMYz4Jt.js +1 -0
  140. package/dist/public/assets/gdshader-DkwncUOv.js +1 -0
  141. package/dist/public/assets/genie-D0YGMca9.js +1 -0
  142. package/dist/public/assets/gherkin-DyxjwDmM.js +1 -0
  143. package/dist/public/assets/git-commit-F4YmCXRG.js +1 -0
  144. package/dist/public/assets/git-rebase-r7XF79zn.js +1 -0
  145. package/dist/public/assets/github-dark-DHJKELXO.js +1 -0
  146. package/dist/public/assets/github-dark-default-Cuk6v7N8.js +1 -0
  147. package/dist/public/assets/github-dark-dimmed-DH5Ifo-i.js +1 -0
  148. package/dist/public/assets/github-dark-high-contrast-E3gJ1_iC.js +1 -0
  149. package/dist/public/assets/github-light-DAi9KRSo.js +1 -0
  150. package/dist/public/assets/github-light-default-D7oLnXFd.js +1 -0
  151. package/dist/public/assets/github-light-high-contrast-BfjtVDDH.js +1 -0
  152. package/dist/public/assets/gleam-BspZqrRM.js +1 -0
  153. package/dist/public/assets/glimmer-js-Rg0-pVw9.js +1 -0
  154. package/dist/public/assets/glimmer-ts-U6CK756n.js +1 -0
  155. package/dist/public/assets/glsl-DplSGwfg.js +1 -0
  156. package/dist/public/assets/gnuplot-DdkO51Og.js +1 -0
  157. package/dist/public/assets/go-Dn2_MT6a.js +1 -0
  158. package/dist/public/assets/graphql-ChdNCCLP.js +1 -0
  159. package/dist/public/assets/groovy-gcz8RCvz.js +1 -0
  160. package/dist/public/assets/gruvbox-dark-hard-CFHQjOhq.js +1 -0
  161. package/dist/public/assets/gruvbox-dark-medium-GsRaNv29.js +1 -0
  162. package/dist/public/assets/gruvbox-dark-soft-CVdnzihN.js +1 -0
  163. package/dist/public/assets/gruvbox-light-hard-CH1njM8p.js +1 -0
  164. package/dist/public/assets/gruvbox-light-medium-DRw_LuNl.js +1 -0
  165. package/dist/public/assets/gruvbox-light-soft-hJgmCMqR.js +1 -0
  166. package/dist/public/assets/hack-CaT9iCJl.js +1 -0
  167. package/dist/public/assets/haml-B8DHNrY2.js +1 -0
  168. package/dist/public/assets/handlebars-BL8al0AC.js +1 -0
  169. package/dist/public/assets/haskell-Df6bDoY_.js +1 -0
  170. package/dist/public/assets/haxe-CzTSHFRz.js +1 -0
  171. package/dist/public/assets/hcl-BWvSN4gD.js +1 -0
  172. package/dist/public/assets/hjson-D5-asLiD.js +1 -0
  173. package/dist/public/assets/hls-C_5si56p.js +40 -0
  174. package/dist/public/assets/hlsl-D3lLCCz7.js +1 -0
  175. package/dist/public/assets/houston-DnULxvSX.js +1 -0
  176. package/dist/public/assets/html-GMplVEZG.js +1 -0
  177. package/dist/public/assets/html-derivative-BFtXZ54Q.js +1 -0
  178. package/dist/public/assets/http-jrhK8wxY.js +1 -0
  179. package/dist/public/assets/hurl-irOxFIW8.js +1 -0
  180. package/dist/public/assets/hxml-Bvhsp5Yf.js +1 -0
  181. package/dist/public/assets/hy-DFXneXwc.js +1 -0
  182. package/dist/public/assets/imba-DGztddWO.js +1 -0
  183. package/dist/public/assets/index-7dkQZ452.js +3299 -0
  184. package/dist/public/assets/index-Ba4GJyLR.js +594 -0
  185. package/dist/public/assets/index-Cr3JJDAk.css +1 -0
  186. package/dist/public/assets/ini-BEwlwnbL.js +1 -0
  187. package/dist/public/assets/java-CylS5w8V.js +1 -0
  188. package/dist/public/assets/javascript-wDzz0qaB.js +1 -0
  189. package/dist/public/assets/jinja-4LBKfQ-Z.js +1 -0
  190. package/dist/public/assets/jison-wvAkD_A8.js +1 -0
  191. package/dist/public/assets/json-Cp-IABpG.js +1 -0
  192. package/dist/public/assets/json5-C9tS-k6U.js +1 -0
  193. package/dist/public/assets/jsonc-Des-eS-w.js +1 -0
  194. package/dist/public/assets/jsonl-DcaNXYhu.js +1 -0
  195. package/dist/public/assets/jsonnet-DFQXde-d.js +1 -0
  196. package/dist/public/assets/jssm-C2t-YnRu.js +1 -0
  197. package/dist/public/assets/jsx-g9-lgVsj.js +1 -0
  198. package/dist/public/assets/julia-C8NyazO9.js +1 -0
  199. package/dist/public/assets/kanagawa-dragon-CkXjmgJE.js +1 -0
  200. package/dist/public/assets/kanagawa-lotus-CfQXZHmo.js +1 -0
  201. package/dist/public/assets/kanagawa-wave-DWedfzmr.js +1 -0
  202. package/dist/public/assets/kdl-DV7GczEv.js +1 -0
  203. package/dist/public/assets/kotlin-BdnUsdx6.js +1 -0
  204. package/dist/public/assets/kusto-BvAqAH-y.js +1 -0
  205. package/dist/public/assets/laserwave-DUszq2jm.js +1 -0
  206. package/dist/public/assets/latex-BdAV_C_H.js +1 -0
  207. package/dist/public/assets/lean-Bc6EcWN3.js +1 -0
  208. package/dist/public/assets/less-B1dDrJ26.js +1 -0
  209. package/dist/public/assets/light-plus-B7mTdjB0.js +1 -0
  210. package/dist/public/assets/liquid-DYVedYrR.js +1 -0
  211. package/dist/public/assets/llvm-BtvRca6l.js +1 -0
  212. package/dist/public/assets/log-2UxHyX5q.js +1 -0
  213. package/dist/public/assets/logo-BtOb2qkB.js +1 -0
  214. package/dist/public/assets/lua-BbnMAYS6.js +1 -0
  215. package/dist/public/assets/luau-CXu1NL6O.js +1 -0
  216. package/dist/public/assets/make-CHLpvVh8.js +1 -0
  217. package/dist/public/assets/markdown-Cvjx9yec.js +1 -0
  218. package/dist/public/assets/marko-CPi9NSCl.js +1 -0
  219. package/dist/public/assets/material-theme-D5KoaKCx.js +1 -0
  220. package/dist/public/assets/material-theme-darker-BfHTSMKl.js +1 -0
  221. package/dist/public/assets/material-theme-lighter-B0m2ddpp.js +1 -0
  222. package/dist/public/assets/material-theme-ocean-CyktbL80.js +1 -0
  223. package/dist/public/assets/material-theme-palenight-Csfq5Kiy.js +1 -0
  224. package/dist/public/assets/matlab-D7o27uSR.js +1 -0
  225. package/dist/public/assets/mdc-DUICxH0z.js +1 -0
  226. package/dist/public/assets/mdx-Cmh6b_Ma.js +1 -0
  227. package/dist/public/assets/mermaid-DKYwYmdq.js +1 -0
  228. package/dist/public/assets/min-dark-CafNBF8u.js +1 -0
  229. package/dist/public/assets/min-light-CTRr51gU.js +1 -0
  230. package/dist/public/assets/mipsasm-CKIfxQSi.js +1 -0
  231. package/dist/public/assets/mojo-1DNp92w6.js +1 -0
  232. package/dist/public/assets/monokai-D4h5O-jR.js +1 -0
  233. package/dist/public/assets/move-Bu9oaDYs.js +1 -0
  234. package/dist/public/assets/narrat-DRg8JJMk.js +1 -0
  235. package/dist/public/assets/nextflow-BrzmwbiE.js +1 -0
  236. package/dist/public/assets/nginx-DknmC5AR.js +1 -0
  237. package/dist/public/assets/night-owl-C39BiMTA.js +1 -0
  238. package/dist/public/assets/nim-CVrawwO9.js +1 -0
  239. package/dist/public/assets/nix-c8nO5XWb.js +1 -0
  240. package/dist/public/assets/nord-Ddv68eIx.js +1 -0
  241. package/dist/public/assets/nushell-C-sUppwS.js +1 -0
  242. package/dist/public/assets/objective-c-DXmwc3jG.js +1 -0
  243. package/dist/public/assets/objective-cpp-CLxacb5B.js +1 -0
  244. package/dist/public/assets/ocaml-C0hk2d4L.js +1 -0
  245. package/dist/public/assets/one-dark-pro-DVMEJ2y_.js +1 -0
  246. package/dist/public/assets/one-light-PoHY5YXO.js +1 -0
  247. package/dist/public/assets/openscad-C4EeE6gA.js +1 -0
  248. package/dist/public/assets/pascal-D93ZcfNL.js +1 -0
  249. package/dist/public/assets/perl-C0TMdlhV.js +1 -0
  250. package/dist/public/assets/php-CDn_0X-4.js +1 -0
  251. package/dist/public/assets/pkl-u5AG7uiY.js +1 -0
  252. package/dist/public/assets/plastic-3e1v2bzS.js +1 -0
  253. package/dist/public/assets/plsql-ChMvpjG-.js +1 -0
  254. package/dist/public/assets/po-BTJTHyun.js +1 -0
  255. package/dist/public/assets/poimandres-CS3Unz2-.js +1 -0
  256. package/dist/public/assets/polar-C0HS_06l.js +1 -0
  257. package/dist/public/assets/postcss-CXtECtnM.js +1 -0
  258. package/dist/public/assets/powerquery-CEu0bR-o.js +1 -0
  259. package/dist/public/assets/powershell-Dpen1YoG.js +1 -0
  260. package/dist/public/assets/prisma-Dd19v3D-.js +1 -0
  261. package/dist/public/assets/prolog-CbFg5uaA.js +1 -0
  262. package/dist/public/assets/proto-DyJlTyXw.js +1 -0
  263. package/dist/public/assets/pug-CGlum2m_.js +1 -0
  264. package/dist/public/assets/puppet-BMWR74SV.js +1 -0
  265. package/dist/public/assets/purescript-CklMAg4u.js +1 -0
  266. package/dist/public/assets/python-B6aJPvgy.js +1 -0
  267. package/dist/public/assets/qml-3beO22l8.js +1 -0
  268. package/dist/public/assets/qmldir-C8lEn-DE.js +1 -0
  269. package/dist/public/assets/qss-IeuSbFQv.js +1 -0
  270. package/dist/public/assets/r-DiinP2Uv.js +1 -0
  271. package/dist/public/assets/racket-BqYA7rlc.js +1 -0
  272. package/dist/public/assets/raku-DXvB9xmW.js +1 -0
  273. package/dist/public/assets/razor-CE9lU5zL.js +1 -0
  274. package/dist/public/assets/react-5ZXevCLf.js +17 -0
  275. package/dist/public/assets/react-BEcdFE7q.js +22 -0
  276. package/dist/public/assets/react-D2EJnkVv.js +19 -0
  277. package/dist/public/assets/react-D7jI_eai.js +1 -0
  278. package/dist/public/assets/react-DJAU2yhQ.js +6 -0
  279. package/dist/public/assets/react-DOmflkoB.js +19 -0
  280. package/dist/public/assets/react-cRnw9P6y.js +21 -0
  281. package/dist/public/assets/react-juJrAyUY.js +34 -0
  282. package/dist/public/assets/red-bN70gL4F.js +1 -0
  283. package/dist/public/assets/reg-C-SQnVFl.js +1 -0
  284. package/dist/public/assets/regexp-CDVJQ6XC.js +1 -0
  285. package/dist/public/assets/rel-C3B-1QV4.js +1 -0
  286. package/dist/public/assets/riscv-BM1_JUlF.js +1 -0
  287. package/dist/public/assets/rose-pine-dawn-DHQR4-dF.js +1 -0
  288. package/dist/public/assets/rose-pine-moon-D4_iv3hh.js +1 -0
  289. package/dist/public/assets/rose-pine-qdsjHGoJ.js +1 -0
  290. package/dist/public/assets/rosmsg-BJDFO7_C.js +1 -0
  291. package/dist/public/assets/rst-B0xPkSld.js +1 -0
  292. package/dist/public/assets/ruby-BvKwtOVI.js +1 -0
  293. package/dist/public/assets/rust-B1yitclQ.js +1 -0
  294. package/dist/public/assets/sas-cz2c8ADy.js +1 -0
  295. package/dist/public/assets/sass-Cj5Yp3dK.js +1 -0
  296. package/dist/public/assets/scala-C151Ov-r.js +1 -0
  297. package/dist/public/assets/scheme-C98Dy4si.js +1 -0
  298. package/dist/public/assets/scss-OYdSNvt2.js +1 -0
  299. package/dist/public/assets/sdbl-DVxCFoDh.js +1 -0
  300. package/dist/public/assets/shaderlab-Dg9Lc6iA.js +1 -0
  301. package/dist/public/assets/shellscript-Yzrsuije.js +1 -0
  302. package/dist/public/assets/shellsession-BADoaaVG.js +1 -0
  303. package/dist/public/assets/slack-dark-BthQWCQV.js +1 -0
  304. package/dist/public/assets/slack-ochin-DqwNpetd.js +1 -0
  305. package/dist/public/assets/smalltalk-BERRCDM3.js +1 -0
  306. package/dist/public/assets/snazzy-light-Bw305WKR.js +1 -0
  307. package/dist/public/assets/solarized-dark-DXbdFlpD.js +1 -0
  308. package/dist/public/assets/solarized-light-L9t79GZl.js +1 -0
  309. package/dist/public/assets/solidity-rGO070M0.js +1 -0
  310. package/dist/public/assets/soy-Brmx7dQM.js +1 -0
  311. package/dist/public/assets/sparql-rVzFXLq3.js +1 -0
  312. package/dist/public/assets/splunk-BtCnVYZw.js +1 -0
  313. package/dist/public/assets/sql-BLtJtn59.js +1 -0
  314. package/dist/public/assets/ssh-config-_ykCGR6B.js +1 -0
  315. package/dist/public/assets/stata-BH5u7GGu.js +1 -0
  316. package/dist/public/assets/stylus-BEDo0Tqx.js +1 -0
  317. package/dist/public/assets/svelte-3Dk4HxPD.js +1 -0
  318. package/dist/public/assets/swift-Dg5xB15N.js +1 -0
  319. package/dist/public/assets/synthwave-84-CbfX1IO0.js +1 -0
  320. package/dist/public/assets/system-verilog-CnnmHF94.js +1 -0
  321. package/dist/public/assets/systemd-4A_iFExJ.js +1 -0
  322. package/dist/public/assets/talonscript-CkByrt1z.js +1 -0
  323. package/dist/public/assets/tasl-QIJgUcNo.js +1 -0
  324. package/dist/public/assets/tcl-dwOrl1Do.js +1 -0
  325. package/dist/public/assets/templ-W15q3VgB.js +1 -0
  326. package/dist/public/assets/terraform-BETggiCN.js +1 -0
  327. package/dist/public/assets/tex-CxkMU7Pf.js +1 -0
  328. package/dist/public/assets/tokyo-night-hegEt444.js +1 -0
  329. package/dist/public/assets/toml-vGWfd6FD.js +1 -0
  330. package/dist/public/assets/ts-tags-zn1MmPIZ.js +1 -0
  331. package/dist/public/assets/tsv-B_m7g4N7.js +1 -0
  332. package/dist/public/assets/tsx-COt5Ahok.js +1 -0
  333. package/dist/public/assets/turtle-BsS91CYL.js +1 -0
  334. package/dist/public/assets/twig-CO9l9SDP.js +1 -0
  335. package/dist/public/assets/typescript-BPQ3VLAy.js +1 -0
  336. package/dist/public/assets/typespec-BGHnOYBU.js +1 -0
  337. package/dist/public/assets/typst-DHCkPAjA.js +1 -0
  338. package/dist/public/assets/v-BcVCzyr7.js +1 -0
  339. package/dist/public/assets/vala-CsfeWuGM.js +1 -0
  340. package/dist/public/assets/vb-D17OF-Vu.js +1 -0
  341. package/dist/public/assets/verilog-BQ8w6xss.js +1 -0
  342. package/dist/public/assets/vesper-DU1UobuO.js +1 -0
  343. package/dist/public/assets/vhdl-CeAyd5Ju.js +1 -0
  344. package/dist/public/assets/viml-CJc9bBzg.js +1 -0
  345. package/dist/public/assets/vitesse-black-Bkuqu6BP.js +1 -0
  346. package/dist/public/assets/vitesse-dark-D0r3Knsf.js +1 -0
  347. package/dist/public/assets/vitesse-light-CVO1_9PV.js +1 -0
  348. package/dist/public/assets/vue-DnHKYNfI.js +1 -0
  349. package/dist/public/assets/vue-html-CChd_i61.js +1 -0
  350. package/dist/public/assets/vue-vine-8moa0y9V.js +1 -0
  351. package/dist/public/assets/vyper-CDx5xZoG.js +1 -0
  352. package/dist/public/assets/wasm-CG6Dc4jp.js +1 -0
  353. package/dist/public/assets/wasm-MzD3tlZU.js +1 -0
  354. package/dist/public/assets/wenyan-BV7otONQ.js +1 -0
  355. package/dist/public/assets/wgsl-Dx-B1_4e.js +1 -0
  356. package/dist/public/assets/wikitext-BhOHFoWU.js +1 -0
  357. package/dist/public/assets/wit-5i3qLPDT.js +1 -0
  358. package/dist/public/assets/wolfram-lXgVvXCa.js +1 -0
  359. package/dist/public/assets/xml-sdJ4AIDG.js +1 -0
  360. package/dist/public/assets/xsl-CtQFsRM5.js +1 -0
  361. package/dist/public/assets/yaml-Buea-lGh.js +1 -0
  362. package/dist/public/assets/zenscript-DVFEvuxE.js +1 -0
  363. package/dist/public/assets/zig-VOosw3JB.js +1 -0
  364. package/{frontend → dist/public}/index.html +2 -1
  365. package/dist/server/index.js +1 -1
  366. package/package.json +10 -3
  367. package/readme.md +77 -0
  368. package/.gitattributes +0 -2
  369. package/.prettierignore +0 -5
  370. package/.prettierrc +0 -9
  371. package/.vscode/settings.json +0 -13
  372. package/frontend/README.md +0 -73
  373. package/frontend/components.json +0 -24
  374. package/frontend/eslint.config.js +0 -23
  375. package/frontend/package-lock.json +0 -15754
  376. package/frontend/package.json +0 -122
  377. package/frontend/src/App.tsx +0 -21
  378. package/frontend/src/components/app-sidebar.tsx +0 -393
  379. package/frontend/src/components/editor/editor-base-kit.tsx +0 -43
  380. package/frontend/src/components/editor/editor-kit.tsx +0 -93
  381. package/frontend/src/components/editor/plugins/align-base-kit.tsx +0 -16
  382. package/frontend/src/components/editor/plugins/align-kit.tsx +0 -18
  383. package/frontend/src/components/editor/plugins/autoformat-kit.tsx +0 -236
  384. package/frontend/src/components/editor/plugins/basic-blocks-base-kit.tsx +0 -35
  385. package/frontend/src/components/editor/plugins/basic-blocks-kit.tsx +0 -88
  386. package/frontend/src/components/editor/plugins/basic-marks-base-kit.tsx +0 -27
  387. package/frontend/src/components/editor/plugins/basic-marks-kit.tsx +0 -41
  388. package/frontend/src/components/editor/plugins/basic-nodes-kit.tsx +0 -6
  389. package/frontend/src/components/editor/plugins/block-menu-kit.tsx +0 -14
  390. package/frontend/src/components/editor/plugins/block-placeholder-kit.tsx +0 -17
  391. package/frontend/src/components/editor/plugins/block-selection-kit.tsx +0 -32
  392. package/frontend/src/components/editor/plugins/callout-base-kit.tsx +0 -7
  393. package/frontend/src/components/editor/plugins/callout-kit.tsx +0 -7
  394. package/frontend/src/components/editor/plugins/code-block-base-kit.tsx +0 -23
  395. package/frontend/src/components/editor/plugins/code-block-kit.tsx +0 -26
  396. package/frontend/src/components/editor/plugins/codebase-kit.tsx +0 -23
  397. package/frontend/src/components/editor/plugins/column-base-kit.tsx +0 -11
  398. package/frontend/src/components/editor/plugins/column-kit.tsx +0 -10
  399. package/frontend/src/components/editor/plugins/comment-base-kit.tsx +0 -7
  400. package/frontend/src/components/editor/plugins/comment-kit.tsx +0 -97
  401. package/frontend/src/components/editor/plugins/cursor-overlay-kit.tsx +0 -13
  402. package/frontend/src/components/editor/plugins/date-base-kit.tsx +0 -5
  403. package/frontend/src/components/editor/plugins/date-kit.tsx +0 -7
  404. package/frontend/src/components/editor/plugins/discussion-kit.tsx +0 -148
  405. package/frontend/src/components/editor/plugins/dnd-kit.tsx +0 -28
  406. package/frontend/src/components/editor/plugins/docx-kit.tsx +0 -6
  407. package/frontend/src/components/editor/plugins/emoji-kit.tsx +0 -13
  408. package/frontend/src/components/editor/plugins/excalidraw-kit.tsx +0 -9
  409. package/frontend/src/components/editor/plugins/exit-break-kit.tsx +0 -12
  410. package/frontend/src/components/editor/plugins/floating-toolbar-kit.tsx +0 -19
  411. package/frontend/src/components/editor/plugins/font-base-kit.tsx +0 -20
  412. package/frontend/src/components/editor/plugins/font-kit.tsx +0 -29
  413. package/frontend/src/components/editor/plugins/indent-base-kit.tsx +0 -19
  414. package/frontend/src/components/editor/plugins/indent-kit.tsx +0 -22
  415. package/frontend/src/components/editor/plugins/line-height-base-kit.tsx +0 -14
  416. package/frontend/src/components/editor/plugins/line-height-kit.tsx +0 -16
  417. package/frontend/src/components/editor/plugins/link-base-kit.tsx +0 -5
  418. package/frontend/src/components/editor/plugins/link-kit.tsx +0 -15
  419. package/frontend/src/components/editor/plugins/list-base-kit.tsx +0 -23
  420. package/frontend/src/components/editor/plugins/list-kit.tsx +0 -26
  421. package/frontend/src/components/editor/plugins/markdown-kit.tsx +0 -46
  422. package/frontend/src/components/editor/plugins/math-base-kit.tsx +0 -11
  423. package/frontend/src/components/editor/plugins/math-kit.tsx +0 -13
  424. package/frontend/src/components/editor/plugins/media-base-kit.tsx +0 -31
  425. package/frontend/src/components/editor/plugins/media-kit.tsx +0 -43
  426. package/frontend/src/components/editor/plugins/mention-base-kit.tsx +0 -7
  427. package/frontend/src/components/editor/plugins/mention-kit.tsx +0 -15
  428. package/frontend/src/components/editor/plugins/slash-kit.tsx +0 -18
  429. package/frontend/src/components/editor/plugins/suggestion-base-kit.tsx +0 -7
  430. package/frontend/src/components/editor/plugins/suggestion-kit.tsx +0 -90
  431. package/frontend/src/components/editor/plugins/table-base-kit.tsx +0 -20
  432. package/frontend/src/components/editor/plugins/table-kit.tsx +0 -22
  433. package/frontend/src/components/editor/plugins/toc-base-kit.tsx +0 -5
  434. package/frontend/src/components/editor/plugins/toc-kit.tsx +0 -14
  435. package/frontend/src/components/editor/plugins/toggle-base-kit.tsx +0 -7
  436. package/frontend/src/components/editor/plugins/toggle-kit.tsx +0 -11
  437. package/frontend/src/components/editor/transforms.ts +0 -194
  438. package/frontend/src/components/markdown-to-slate-demo.tsx +0 -50
  439. package/frontend/src/components/mode-toggle.tsx +0 -15
  440. package/frontend/src/components/theme-provider.tsx +0 -73
  441. package/frontend/src/components/ui/alert-dialog.tsx +0 -155
  442. package/frontend/src/components/ui/align-toolbar-button.tsx +0 -84
  443. package/frontend/src/components/ui/avatar.tsx +0 -51
  444. package/frontend/src/components/ui/block-context-menu.tsx +0 -199
  445. package/frontend/src/components/ui/block-discussion.tsx +0 -365
  446. package/frontend/src/components/ui/block-draggable.tsx +0 -512
  447. package/frontend/src/components/ui/block-list-static.tsx +0 -80
  448. package/frontend/src/components/ui/block-list.tsx +0 -87
  449. package/frontend/src/components/ui/block-selection.tsx +0 -42
  450. package/frontend/src/components/ui/block-suggestion.tsx +0 -473
  451. package/frontend/src/components/ui/blockquote-node-static.tsx +0 -11
  452. package/frontend/src/components/ui/blockquote-node.tsx +0 -13
  453. package/frontend/src/components/ui/button.tsx +0 -62
  454. package/frontend/src/components/ui/calendar.tsx +0 -218
  455. package/frontend/src/components/ui/callout-node-static.tsx +0 -36
  456. package/frontend/src/components/ui/callout-node.tsx +0 -63
  457. package/frontend/src/components/ui/caption.tsx +0 -63
  458. package/frontend/src/components/ui/checkbox.tsx +0 -30
  459. package/frontend/src/components/ui/code-block-node-static.tsx +0 -35
  460. package/frontend/src/components/ui/code-block-node.tsx +0 -287
  461. package/frontend/src/components/ui/code-node-static.tsx +0 -15
  462. package/frontend/src/components/ui/code-node.tsx +0 -17
  463. package/frontend/src/components/ui/codebase-snippet-node.tsx +0 -237
  464. package/frontend/src/components/ui/column-node-static.tsx +0 -29
  465. package/frontend/src/components/ui/column-node.tsx +0 -317
  466. package/frontend/src/components/ui/command.tsx +0 -182
  467. package/frontend/src/components/ui/comment-node-static.tsx +0 -15
  468. package/frontend/src/components/ui/comment-node.tsx +0 -45
  469. package/frontend/src/components/ui/comment-toolbar-button.tsx +0 -24
  470. package/frontend/src/components/ui/comment.tsx +0 -618
  471. package/frontend/src/components/ui/context-menu.tsx +0 -250
  472. package/frontend/src/components/ui/cursor-overlay.tsx +0 -66
  473. package/frontend/src/components/ui/date-node-static.tsx +0 -45
  474. package/frontend/src/components/ui/date-node.tsx +0 -93
  475. package/frontend/src/components/ui/dialog.tsx +0 -143
  476. package/frontend/src/components/ui/dropdown-menu.tsx +0 -255
  477. package/frontend/src/components/ui/dynamic-icon.tsx +0 -12
  478. package/frontend/src/components/ui/editor-static.tsx +0 -53
  479. package/frontend/src/components/ui/editor.tsx +0 -130
  480. package/frontend/src/components/ui/emoji-node.tsx +0 -69
  481. package/frontend/src/components/ui/emoji-toolbar-button.tsx +0 -628
  482. package/frontend/src/components/ui/equation-node-static.tsx +0 -98
  483. package/frontend/src/components/ui/equation-node.tsx +0 -235
  484. package/frontend/src/components/ui/equation-toolbar-button.tsx +0 -25
  485. package/frontend/src/components/ui/excalidraw-node.tsx +0 -36
  486. package/frontend/src/components/ui/export-toolbar-button.tsx +0 -174
  487. package/frontend/src/components/ui/file-selector.tsx +0 -339
  488. package/frontend/src/components/ui/floating-toolbar-buttons.tsx +0 -73
  489. package/frontend/src/components/ui/floating-toolbar.tsx +0 -85
  490. package/frontend/src/components/ui/font-color-toolbar-button.tsx +0 -831
  491. package/frontend/src/components/ui/font-size-toolbar-button.tsx +0 -152
  492. package/frontend/src/components/ui/heading-node-static.tsx +0 -68
  493. package/frontend/src/components/ui/heading-node.tsx +0 -58
  494. package/frontend/src/components/ui/highlight-node-static.tsx +0 -11
  495. package/frontend/src/components/ui/highlight-node.tsx +0 -13
  496. package/frontend/src/components/ui/history-toolbar-button.tsx +0 -50
  497. package/frontend/src/components/ui/hr-node-static.tsx +0 -20
  498. package/frontend/src/components/ui/hr-node.tsx +0 -33
  499. package/frontend/src/components/ui/import-toolbar-button.tsx +0 -97
  500. package/frontend/src/components/ui/indent-toolbar-button.tsx +0 -30
  501. package/frontend/src/components/ui/inline-combobox.tsx +0 -414
  502. package/frontend/src/components/ui/input.tsx +0 -21
  503. package/frontend/src/components/ui/insert-toolbar-button.tsx +0 -254
  504. package/frontend/src/components/ui/kbd-node-static.tsx +0 -15
  505. package/frontend/src/components/ui/kbd-node.tsx +0 -17
  506. package/frontend/src/components/ui/layout-header.tsx +0 -35
  507. package/frontend/src/components/ui/line-height-toolbar-button.tsx +0 -68
  508. package/frontend/src/components/ui/link-node-static.tsx +0 -21
  509. package/frontend/src/components/ui/link-node.tsx +0 -39
  510. package/frontend/src/components/ui/link-toolbar-button.tsx +0 -22
  511. package/frontend/src/components/ui/link-toolbar.tsx +0 -206
  512. package/frontend/src/components/ui/list-toolbar-button.tsx +0 -204
  513. package/frontend/src/components/ui/mark-toolbar-button.tsx +0 -19
  514. package/frontend/src/components/ui/media-audio-node-static.tsx +0 -17
  515. package/frontend/src/components/ui/media-audio-node.tsx +0 -39
  516. package/frontend/src/components/ui/media-embed-node.tsx +0 -136
  517. package/frontend/src/components/ui/media-file-node-static.tsx +0 -29
  518. package/frontend/src/components/ui/media-file-node.tsx +0 -47
  519. package/frontend/src/components/ui/media-image-node-static.tsx +0 -39
  520. package/frontend/src/components/ui/media-image-node.tsx +0 -80
  521. package/frontend/src/components/ui/media-placeholder-node.tsx +0 -249
  522. package/frontend/src/components/ui/media-preview-dialog.tsx +0 -152
  523. package/frontend/src/components/ui/media-toolbar-button.tsx +0 -225
  524. package/frontend/src/components/ui/media-toolbar.tsx +0 -115
  525. package/frontend/src/components/ui/media-upload-toast.tsx +0 -66
  526. package/frontend/src/components/ui/media-video-node-static.tsx +0 -30
  527. package/frontend/src/components/ui/media-video-node.tsx +0 -121
  528. package/frontend/src/components/ui/mention-node-static.tsx +0 -36
  529. package/frontend/src/components/ui/mention-node.tsx +0 -194
  530. package/frontend/src/components/ui/mode-toolbar-button.tsx +0 -123
  531. package/frontend/src/components/ui/more-toolbar-button.tsx +0 -80
  532. package/frontend/src/components/ui/paragraph-node-static.tsx +0 -13
  533. package/frontend/src/components/ui/paragraph-node.tsx +0 -15
  534. package/frontend/src/components/ui/popover.tsx +0 -46
  535. package/frontend/src/components/ui/resize-handle.tsx +0 -87
  536. package/frontend/src/components/ui/separator.tsx +0 -28
  537. package/frontend/src/components/ui/sheet.tsx +0 -139
  538. package/frontend/src/components/ui/sidebar.tsx +0 -726
  539. package/frontend/src/components/ui/skeleton.tsx +0 -13
  540. package/frontend/src/components/ui/slash-node.tsx +0 -233
  541. package/frontend/src/components/ui/sonner.tsx +0 -38
  542. package/frontend/src/components/ui/suggestion-node-static.tsx +0 -35
  543. package/frontend/src/components/ui/suggestion-node.tsx +0 -162
  544. package/frontend/src/components/ui/suggestion-toolbar-button.tsx +0 -25
  545. package/frontend/src/components/ui/table-icons.tsx +0 -862
  546. package/frontend/src/components/ui/table-node-static.tsx +0 -98
  547. package/frontend/src/components/ui/table-node.tsx +0 -656
  548. package/frontend/src/components/ui/table-toolbar-button.tsx +0 -264
  549. package/frontend/src/components/ui/toc-node-static.tsx +0 -92
  550. package/frontend/src/components/ui/toc-node.tsx +0 -55
  551. package/frontend/src/components/ui/toggle-node-static.tsx +0 -18
  552. package/frontend/src/components/ui/toggle-node.tsx +0 -36
  553. package/frontend/src/components/ui/toggle-toolbar-button.tsx +0 -22
  554. package/frontend/src/components/ui/toolbar.tsx +0 -387
  555. package/frontend/src/components/ui/tooltip.tsx +0 -59
  556. package/frontend/src/components/ui/turn-into-toolbar-button.tsx +0 -188
  557. package/frontend/src/hooks/use-debounce.ts +0 -18
  558. package/frontend/src/hooks/use-is-touch-device.ts +0 -24
  559. package/frontend/src/hooks/use-mobile.ts +0 -19
  560. package/frontend/src/hooks/use-mounted.ts +0 -11
  561. package/frontend/src/hooks/use-upload-file.ts +0 -128
  562. package/frontend/src/index.css +0 -128
  563. package/frontend/src/layout.tsx +0 -42
  564. package/frontend/src/lib/markdown-joiner-transform.ts +0 -239
  565. package/frontend/src/lib/orpc.ts +0 -13
  566. package/frontend/src/lib/uploadthing.ts +0 -19
  567. package/frontend/src/lib/utils.ts +0 -6
  568. package/frontend/src/main.tsx +0 -13
  569. package/frontend/src/pages/editor.tsx +0 -44
  570. package/frontend/src/types/docs.d.ts +0 -6
  571. package/frontend/src/types/global.d.ts +0 -9
  572. package/frontend/src/types/router.d.ts +0 -4
  573. package/frontend/tsconfig.app.json +0 -33
  574. package/frontend/tsconfig.json +0 -10
  575. package/frontend/tsconfig.node.json +0 -26
  576. package/frontend/vite.config.ts +0 -14
  577. package/src/bin/doclific.ts +0 -47
  578. package/src/core/codebase.ts +0 -39
  579. package/src/core/docs.ts +0 -90
  580. package/src/core/git.ts +0 -48
  581. package/src/server/index.ts +0 -55
  582. package/src/server/router.ts +0 -65
  583. package/tsconfig.json +0 -15
  584. /package/{frontend → dist}/public/logo.svg +0 -0
@@ -1,152 +0,0 @@
1
- 'use client';
2
-
3
- import {
4
- PreviewImage,
5
- useImagePreview,
6
- useImagePreviewValue,
7
- useScaleInput,
8
- } from '@platejs/media/react';
9
- import { cva } from 'class-variance-authority';
10
- import { ArrowLeft, ArrowRight, Download, Minus, Plus, X } from 'lucide-react';
11
- import { useEditorRef } from 'platejs/react';
12
-
13
- import { cn } from '@/lib/utils';
14
-
15
- const buttonVariants = cva('rounded bg-[rgba(0,0,0,0.5)] px-1', {
16
- defaultVariants: {
17
- variant: 'default',
18
- },
19
- variants: {
20
- variant: {
21
- default: 'text-white',
22
- disabled: 'cursor-not-allowed text-gray-400',
23
- },
24
- },
25
- });
26
-
27
- const SCROLL_SPEED = 4;
28
-
29
- export function MediaPreviewDialog() {
30
- const editor = useEditorRef();
31
- const isOpen = useImagePreviewValue('isOpen', editor.id);
32
- const scale = useImagePreviewValue('scale');
33
- const isEditingScale = useImagePreviewValue('isEditingScale');
34
- const {
35
- closeProps,
36
- currentUrlIndex,
37
- maskLayerProps,
38
- nextDisabled,
39
- nextProps,
40
- prevDisabled,
41
- prevProps,
42
- scaleTextProps,
43
- zommOutProps,
44
- zoomInDisabled,
45
- zoomInProps,
46
- zoomOutDisabled,
47
- } = useImagePreview({ scrollSpeed: SCROLL_SPEED });
48
-
49
- return (
50
- <div
51
- className={cn(
52
- 'fixed top-0 left-0 z-50 h-screen w-screen select-none',
53
- !isOpen && 'hidden'
54
- )}
55
- onContextMenu={(e) => e.stopPropagation()}
56
- {...maskLayerProps}
57
- >
58
- <div className="absolute inset-0 size-full bg-black opacity-30" />
59
- <div className="absolute inset-0 size-full bg-black opacity-30" />
60
- <div className="absolute inset-0 flex items-center justify-center">
61
- <div className="relative flex max-h-screen w-full items-center">
62
- <PreviewImage
63
- className={cn(
64
- 'mx-auto block max-h-[calc(100vh-4rem)] w-auto object-contain transition-transform'
65
- )}
66
- />
67
- <div
68
- className="-translate-x-1/2 absolute bottom-0 left-1/2 z-40 flex w-fit justify-center gap-4 p-2 text-center text-white"
69
- onClick={(e) => e.stopPropagation()}
70
- >
71
- <div className="flex gap-1">
72
- <button
73
- {...prevProps}
74
- className={cn(
75
- buttonVariants({
76
- variant: prevDisabled ? 'disabled' : 'default',
77
- })
78
- )}
79
- type="button"
80
- >
81
- <ArrowLeft />
82
- </button>
83
- {(currentUrlIndex ?? 0) + 1}
84
- <button
85
- {...nextProps}
86
- className={cn(
87
- buttonVariants({
88
- variant: nextDisabled ? 'disabled' : 'default',
89
- })
90
- )}
91
- type="button"
92
- >
93
- <ArrowRight />
94
- </button>
95
- </div>
96
- <div className="flex">
97
- <button
98
- className={cn(
99
- buttonVariants({
100
- variant: zoomOutDisabled ? 'disabled' : 'default',
101
- })
102
- )}
103
- {...zommOutProps}
104
- type="button"
105
- >
106
- <Minus className="size-4" />
107
- </button>
108
- <div className="mx-px">
109
- {isEditingScale ? (
110
- <>
111
- <ScaleInput className="w-10 rounded px-1 text-slate-500 outline" />{' '}
112
- <span>%</span>
113
- </>
114
- ) : (
115
- <span {...scaleTextProps}>{`${scale * 100}%`}</span>
116
- )}
117
- </div>
118
- <button
119
- className={cn(
120
- buttonVariants({
121
- variant: zoomInDisabled ? 'disabled' : 'default',
122
- })
123
- )}
124
- {...zoomInProps}
125
- type="button"
126
- >
127
- <Plus className="size-4" />
128
- </button>
129
- </div>
130
- {/* TODO: downLoad the image */}
131
- <button className={cn(buttonVariants())} type="button">
132
- <Download className="size-4" />
133
- </button>
134
- <button
135
- {...closeProps}
136
- className={cn(buttonVariants())}
137
- type="button"
138
- >
139
- <X className="size-4" />
140
- </button>
141
- </div>
142
- </div>
143
- </div>
144
- </div>
145
- );
146
- }
147
-
148
- function ScaleInput(props: React.ComponentProps<'input'>) {
149
- const { props: scaleInputProps, ref } = useScaleInput();
150
-
151
- return <input {...scaleInputProps} {...props} ref={ref} />;
152
- }
@@ -1,225 +0,0 @@
1
- import React from 'react';
2
-
3
- import type { DropdownMenuProps } from '@radix-ui/react-dropdown-menu';
4
-
5
- import { PlaceholderPlugin } from '@platejs/media/react';
6
- import {
7
- AudioLinesIcon,
8
- FileUpIcon,
9
- FilmIcon,
10
- ImageIcon,
11
- LinkIcon,
12
- } from 'lucide-react';
13
- import { isUrl, KEYS } from 'platejs';
14
- import { useEditorRef } from 'platejs/react';
15
- import { toast } from 'sonner';
16
- import { useFilePicker } from 'use-file-picker';
17
-
18
- import {
19
- AlertDialog,
20
- AlertDialogAction,
21
- AlertDialogCancel,
22
- AlertDialogContent,
23
- AlertDialogDescription,
24
- AlertDialogFooter,
25
- AlertDialogHeader,
26
- AlertDialogTitle,
27
- } from '@/components/ui/alert-dialog';
28
- import {
29
- DropdownMenu,
30
- DropdownMenuContent,
31
- DropdownMenuGroup,
32
- DropdownMenuItem,
33
- DropdownMenuTrigger,
34
- } from '@/components/ui/dropdown-menu';
35
- import { Input } from '@/components/ui/input';
36
-
37
- import {
38
- ToolbarSplitButton,
39
- ToolbarSplitButtonPrimary,
40
- ToolbarSplitButtonSecondary,
41
- } from './toolbar';
42
-
43
- const MEDIA_CONFIG: Record<
44
- string,
45
- {
46
- accept: string[];
47
- icon: React.ReactNode;
48
- title: string;
49
- tooltip: string;
50
- }
51
- > = {
52
- [KEYS.audio]: {
53
- accept: ['audio/*'],
54
- icon: <AudioLinesIcon className="size-4" />,
55
- title: 'Insert Audio',
56
- tooltip: 'Audio',
57
- },
58
- [KEYS.file]: {
59
- accept: ['*'],
60
- icon: <FileUpIcon className="size-4" />,
61
- title: 'Insert File',
62
- tooltip: 'File',
63
- },
64
- [KEYS.img]: {
65
- accept: ['image/*'],
66
- icon: <ImageIcon className="size-4" />,
67
- title: 'Insert Image',
68
- tooltip: 'Image',
69
- },
70
- [KEYS.video]: {
71
- accept: ['video/*'],
72
- icon: <FilmIcon className="size-4" />,
73
- title: 'Insert Video',
74
- tooltip: 'Video',
75
- },
76
- };
77
-
78
- export function MediaToolbarButton({
79
- nodeType,
80
- ...props
81
- }: DropdownMenuProps & { nodeType: string }) {
82
- const currentConfig = MEDIA_CONFIG[nodeType];
83
-
84
- const editor = useEditorRef();
85
- const [open, setOpen] = React.useState(false);
86
- const [dialogOpen, setDialogOpen] = React.useState(false);
87
-
88
- const { openFilePicker } = useFilePicker({
89
- accept: currentConfig.accept,
90
- multiple: true,
91
- onFilesSelected: ({ plainFiles: updatedFiles }) => {
92
- editor.getTransforms(PlaceholderPlugin).insert.media(updatedFiles);
93
- },
94
- });
95
-
96
- return (
97
- <>
98
- <ToolbarSplitButton
99
- onClick={() => {
100
- openFilePicker();
101
- }}
102
- onKeyDown={(e) => {
103
- if (e.key === 'ArrowDown') {
104
- e.preventDefault();
105
- setOpen(true);
106
- }
107
- }}
108
- pressed={open}
109
- >
110
- <ToolbarSplitButtonPrimary>
111
- {currentConfig.icon}
112
- </ToolbarSplitButtonPrimary>
113
-
114
- <DropdownMenu
115
- open={open}
116
- onOpenChange={setOpen}
117
- modal={false}
118
- {...props}
119
- >
120
- <DropdownMenuTrigger asChild>
121
- <ToolbarSplitButtonSecondary />
122
- </DropdownMenuTrigger>
123
-
124
- <DropdownMenuContent
125
- onClick={(e) => e.stopPropagation()}
126
- align="start"
127
- alignOffset={-32}
128
- >
129
- <DropdownMenuGroup>
130
- <DropdownMenuItem onSelect={() => openFilePicker()}>
131
- {currentConfig.icon}
132
- Upload from computer
133
- </DropdownMenuItem>
134
- <DropdownMenuItem onSelect={() => setDialogOpen(true)}>
135
- <LinkIcon />
136
- Insert via URL
137
- </DropdownMenuItem>
138
- </DropdownMenuGroup>
139
- </DropdownMenuContent>
140
- </DropdownMenu>
141
- </ToolbarSplitButton>
142
-
143
- <AlertDialog
144
- open={dialogOpen}
145
- onOpenChange={(value) => {
146
- setDialogOpen(value);
147
- }}
148
- >
149
- <AlertDialogContent className="gap-6">
150
- <MediaUrlDialogContent
151
- currentConfig={currentConfig}
152
- nodeType={nodeType}
153
- setOpen={setDialogOpen}
154
- />
155
- </AlertDialogContent>
156
- </AlertDialog>
157
- </>
158
- );
159
- }
160
-
161
- function MediaUrlDialogContent({
162
- currentConfig,
163
- nodeType,
164
- setOpen,
165
- }: {
166
- currentConfig: (typeof MEDIA_CONFIG)[string];
167
- nodeType: string;
168
- setOpen: (value: boolean) => void;
169
- }) {
170
- const editor = useEditorRef();
171
- const [url, setUrl] = React.useState('');
172
-
173
- const embedMedia = React.useCallback(() => {
174
- if (!isUrl(url)) return toast.error('Invalid URL');
175
-
176
- setOpen(false);
177
- editor.tf.insertNodes({
178
- children: [{ text: '' }],
179
- name: nodeType === KEYS.file ? url.split('/').pop() : undefined,
180
- type: nodeType,
181
- url,
182
- });
183
- }, [url, editor, nodeType, setOpen]);
184
-
185
- return (
186
- <>
187
- <AlertDialogHeader>
188
- <AlertDialogTitle>{currentConfig.title}</AlertDialogTitle>
189
- </AlertDialogHeader>
190
-
191
- <AlertDialogDescription className="group relative w-full">
192
- <label
193
- className="-translate-y-1/2 absolute top-1/2 block cursor-text px-1 text-muted-foreground/70 text-sm transition-all group-focus-within:pointer-events-none group-focus-within:top-0 group-focus-within:cursor-default group-focus-within:font-medium group-focus-within:text-foreground group-focus-within:text-xs has-[+input:not(:placeholder-shown)]:pointer-events-none has-[+input:not(:placeholder-shown)]:top-0 has-[+input:not(:placeholder-shown)]:cursor-default has-[+input:not(:placeholder-shown)]:font-medium has-[+input:not(:placeholder-shown)]:text-foreground has-[+input:not(:placeholder-shown)]:text-xs"
194
- htmlFor="url"
195
- >
196
- <span className="inline-flex bg-background px-2">URL</span>
197
- </label>
198
- <Input
199
- id="url"
200
- className="w-full"
201
- value={url}
202
- onChange={(e) => setUrl(e.target.value)}
203
- onKeyDown={(e) => {
204
- if (e.key === 'Enter') embedMedia();
205
- }}
206
- placeholder=""
207
- type="url"
208
- autoFocus
209
- />
210
- </AlertDialogDescription>
211
-
212
- <AlertDialogFooter>
213
- <AlertDialogCancel>Cancel</AlertDialogCancel>
214
- <AlertDialogAction
215
- onClick={(e) => {
216
- e.preventDefault();
217
- embedMedia();
218
- }}
219
- >
220
- Accept
221
- </AlertDialogAction>
222
- </AlertDialogFooter>
223
- </>
224
- );
225
- }
@@ -1,115 +0,0 @@
1
- import React from 'react';
2
-
3
- import type { WithRequiredKey } from 'platejs';
4
-
5
- import {
6
- FloatingMedia as FloatingMediaPrimitive,
7
- FloatingMediaStore,
8
- useFloatingMediaValue,
9
- useImagePreviewValue,
10
- } from '@platejs/media/react';
11
- import { cva } from 'class-variance-authority';
12
- import { Link, Trash2Icon } from 'lucide-react';
13
- import {
14
- useEditorRef,
15
- useEditorSelector,
16
- useElement,
17
- useFocusedLast,
18
- useReadOnly,
19
- useRemoveNodeButton,
20
- useSelected,
21
- } from 'platejs/react';
22
-
23
- import { Button, buttonVariants } from '@/components/ui/button';
24
- import {
25
- Popover,
26
- PopoverAnchor,
27
- PopoverContent,
28
- } from '@/components/ui/popover';
29
- import { Separator } from '@/components/ui/separator';
30
-
31
- import { CaptionButton } from './caption';
32
-
33
- const inputVariants = cva(
34
- 'flex h-[28px] w-full rounded-md border-none bg-transparent px-1.5 py-1 text-base placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-transparent md:text-sm'
35
- );
36
-
37
- export function MediaToolbar({
38
- children,
39
- plugin,
40
- }: {
41
- children: React.ReactNode;
42
- plugin: WithRequiredKey;
43
- }) {
44
- const editor = useEditorRef();
45
- const readOnly = useReadOnly();
46
- const selected = useSelected();
47
- const isFocusedLast = useFocusedLast();
48
- const selectionCollapsed = useEditorSelector(
49
- (editor) => !editor.api.isExpanded(),
50
- []
51
- );
52
- const isImagePreviewOpen = useImagePreviewValue('isOpen', editor.id);
53
- const open =
54
- isFocusedLast &&
55
- !readOnly &&
56
- selected &&
57
- selectionCollapsed &&
58
- !isImagePreviewOpen;
59
- const isEditing = useFloatingMediaValue('isEditing');
60
-
61
- React.useEffect(() => {
62
- if (!open && isEditing) {
63
- FloatingMediaStore.set('isEditing', false);
64
- }
65
- // eslint-disable-next-line react-hooks/exhaustive-deps
66
- }, [open]);
67
-
68
- const element = useElement();
69
- const { props: buttonProps } = useRemoveNodeButton({ element });
70
-
71
- return (
72
- <Popover open={open} modal={false}>
73
- <PopoverAnchor>{children}</PopoverAnchor>
74
-
75
- <PopoverContent
76
- className="w-auto p-1"
77
- onOpenAutoFocus={(e) => e.preventDefault()}
78
- >
79
- {isEditing ? (
80
- <div className="flex w-[330px] flex-col">
81
- <div className="flex items-center">
82
- <div className="flex items-center pr-1 pl-2 text-muted-foreground">
83
- <Link className="size-4" />
84
- </div>
85
-
86
- <FloatingMediaPrimitive.UrlInput
87
- className={inputVariants()}
88
- placeholder="Paste the embed link..."
89
- options={{ plugin }}
90
- />
91
- </div>
92
- </div>
93
- ) : (
94
- <div className="box-content flex items-center">
95
- <FloatingMediaPrimitive.EditButton
96
- className={buttonVariants({ size: 'sm', variant: 'ghost' })}
97
- >
98
- Edit link
99
- </FloatingMediaPrimitive.EditButton>
100
-
101
- <CaptionButton size="sm" variant="ghost">
102
- Caption
103
- </CaptionButton>
104
-
105
- <Separator orientation="vertical" className="mx-1 h-6" />
106
-
107
- <Button size="sm" variant="ghost" {...buttonProps}>
108
- <Trash2Icon />
109
- </Button>
110
- </div>
111
- )}
112
- </PopoverContent>
113
- </Popover>
114
- );
115
- }
@@ -1,66 +0,0 @@
1
- import React from 'react';
2
-
3
- import { PlaceholderPlugin, UploadErrorCode } from '@platejs/media/react';
4
- import { usePluginOption } from 'platejs/react';
5
- import { toast } from 'sonner';
6
-
7
- export function MediaUploadToast() {
8
- useUploadErrorToast();
9
-
10
- return null;
11
- }
12
-
13
- const useUploadErrorToast = () => {
14
- const uploadError = usePluginOption(PlaceholderPlugin, 'error');
15
-
16
- React.useEffect(() => {
17
- if (!uploadError) return;
18
-
19
- const { code, data } = uploadError;
20
-
21
- switch (code) {
22
- case UploadErrorCode.INVALID_FILE_SIZE: {
23
- toast.error(
24
- `The size of files ${data.files
25
- .map((f) => f.name)
26
- .join(', ')} is invalid`
27
- );
28
-
29
- break;
30
- }
31
- case UploadErrorCode.INVALID_FILE_TYPE: {
32
- toast.error(
33
- `The type of files ${data.files
34
- .map((f) => f.name)
35
- .join(', ')} is invalid`
36
- );
37
-
38
- break;
39
- }
40
- case UploadErrorCode.TOO_LARGE: {
41
- toast.error(
42
- `The size of files ${data.files
43
- .map((f) => f.name)
44
- .join(', ')} is too large than ${data.maxFileSize}`
45
- );
46
-
47
- break;
48
- }
49
- case UploadErrorCode.TOO_LESS_FILES: {
50
- toast.error(
51
- `The mini um number of files is ${data.minFileCount} for ${data.fileType}`
52
- );
53
-
54
- break;
55
- }
56
- case UploadErrorCode.TOO_MANY_FILES: {
57
- toast.error(
58
- `The maximum number of files is ${data.maxFileCount} ${data.fileType ? `for ${data.fileType}` : ''
59
- }`
60
- );
61
-
62
- break;
63
- }
64
- }
65
- }, [uploadError]);
66
- };
@@ -1,30 +0,0 @@
1
- import type { TCaptionElement, TResizableProps, TVideoElement } from 'platejs';
2
- import type { SlateElementProps } from 'platejs/static';
3
-
4
- import { NodeApi } from 'platejs';
5
- import { SlateElement } from 'platejs/static';
6
-
7
- export function VideoElementStatic(
8
- props: SlateElementProps<TVideoElement & TCaptionElement & TResizableProps>
9
- ) {
10
- const { align = 'center', caption, url, width } = props.element;
11
-
12
- return (
13
- <SlateElement className="py-2.5" {...props}>
14
- <div style={{ textAlign: align }}>
15
- <figure
16
- className="group relative m-0 inline-block cursor-default"
17
- style={{ width }}
18
- >
19
- <video
20
- className="w-full max-w-full rounded-sm object-cover px-0"
21
- src={url}
22
- controls
23
- />
24
- {caption && <figcaption>{NodeApi.string(caption[0])}</figcaption>}
25
- </figure>
26
- </div>
27
- {props.children}
28
- </SlateElement>
29
- );
30
- }