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,628 +0,0 @@
1
- 'use client';
2
- /* eslint-disable react-hooks/refs */
3
-
4
- import * as React from 'react';
5
-
6
- import type { Emoji } from '@emoji-mart/data';
7
-
8
- import {
9
- type EmojiCategoryList,
10
- type EmojiIconList,
11
- type GridRow,
12
- EmojiSettings,
13
- } from '@platejs/emoji';
14
- import {
15
- type EmojiDropdownMenuOptions,
16
- type UseEmojiPickerType,
17
- useEmojiDropdownMenuState,
18
- } from '@platejs/emoji/react';
19
- import * as Popover from '@radix-ui/react-popover';
20
- import {
21
- AppleIcon,
22
- ClockIcon,
23
- CompassIcon,
24
- FlagIcon,
25
- LeafIcon,
26
- LightbulbIcon,
27
- MusicIcon,
28
- SearchIcon,
29
- SmileIcon,
30
- StarIcon,
31
- XIcon,
32
- } from 'lucide-react';
33
-
34
- import { Button } from '@/components/ui/button';
35
- import {
36
- Tooltip,
37
- TooltipContent,
38
- TooltipProvider,
39
- TooltipTrigger,
40
- } from '@/components/ui/tooltip';
41
- import { cn } from '@/lib/utils';
42
- import { ToolbarButton } from '@/components/ui/toolbar';
43
-
44
- export function EmojiToolbarButton({
45
- options,
46
- ...props
47
- }: {
48
- options?: EmojiDropdownMenuOptions;
49
- } & React.ComponentPropsWithoutRef<typeof ToolbarButton>) {
50
- const { emojiPickerState, isOpen, setIsOpen } =
51
- useEmojiDropdownMenuState(options);
52
-
53
- return (
54
- <EmojiPopover
55
- control={
56
- <ToolbarButton pressed={isOpen} tooltip="Emoji" isDropdown {...props}>
57
- <SmileIcon />
58
- </ToolbarButton>
59
- }
60
- isOpen={isOpen}
61
- setIsOpen={setIsOpen}
62
- >
63
- <EmojiPicker
64
- {...emojiPickerState}
65
- isOpen={isOpen}
66
- setIsOpen={setIsOpen}
67
- settings={options?.settings}
68
- />
69
- </EmojiPopover>
70
- );
71
- }
72
-
73
- export function EmojiPopover({
74
- children,
75
- control,
76
- isOpen,
77
- setIsOpen,
78
- }: {
79
- children: React.ReactNode;
80
- control: React.ReactNode;
81
- isOpen: boolean;
82
- setIsOpen: (open: boolean) => void;
83
- }) {
84
- return (
85
- <Popover.Root open={isOpen} onOpenChange={setIsOpen}>
86
- <Popover.Trigger asChild>{control}</Popover.Trigger>
87
-
88
- <Popover.Portal>
89
- <Popover.Content className="z-100">{children}</Popover.Content>
90
- </Popover.Portal>
91
- </Popover.Root>
92
- );
93
- }
94
-
95
- export function EmojiPicker({
96
- clearSearch,
97
- emoji,
98
- emojiLibrary,
99
- focusedCategory,
100
- hasFound,
101
- i18n,
102
- icons = {
103
- categories: emojiCategoryIcons,
104
- search: emojiSearchIcons,
105
- },
106
- isSearching,
107
- refs,
108
- searchResult,
109
- searchValue,
110
- setSearch,
111
- settings = EmojiSettings,
112
- visibleCategories,
113
- handleCategoryClick,
114
- onMouseOver,
115
- onSelectEmoji,
116
- }: Omit<UseEmojiPickerType, 'icons'> & {
117
- icons?: EmojiIconList<React.ReactElement>;
118
- }) {
119
- return (
120
- <div
121
- className={cn(
122
- 'flex flex-col rounded-xl bg-popover text-popover-foreground',
123
- 'h-[23rem] w-80 border shadow-md'
124
- )}
125
- >
126
- <EmojiPickerNavigation
127
- onClick={handleCategoryClick}
128
- emojiLibrary={emojiLibrary}
129
- focusedCategory={focusedCategory}
130
- i18n={i18n}
131
- icons={icons}
132
- />
133
- <EmojiPickerSearchBar
134
- i18n={i18n}
135
- searchValue={searchValue}
136
- setSearch={setSearch}
137
- >
138
- <EmojiPickerSearchAndClear
139
- clearSearch={clearSearch}
140
- i18n={i18n}
141
- searchValue={searchValue}
142
- />
143
- </EmojiPickerSearchBar>
144
- <EmojiPickerContent
145
- onMouseOver={onMouseOver}
146
- onSelectEmoji={onSelectEmoji}
147
- emojiLibrary={emojiLibrary}
148
- i18n={i18n}
149
- isSearching={isSearching}
150
- refs={refs}
151
- searchResult={searchResult}
152
- settings={settings}
153
- visibleCategories={visibleCategories}
154
- />
155
- <EmojiPickerPreview
156
- emoji={emoji}
157
- hasFound={hasFound}
158
- i18n={i18n}
159
- isSearching={isSearching}
160
- />
161
- </div>
162
- );
163
- }
164
-
165
- const EmojiButton = React.memo(function EmojiButton({
166
- emoji,
167
- index,
168
- onMouseOver,
169
- onSelect,
170
- }: {
171
- emoji: Emoji;
172
- index: number;
173
- onMouseOver: (emoji?: Emoji) => void;
174
- onSelect: (emoji: Emoji) => void;
175
- }) {
176
- return (
177
- <button
178
- className="group relative flex size-9 cursor-pointer items-center justify-center border-none bg-transparent text-2xl leading-none"
179
- onClick={() => onSelect(emoji)}
180
- onMouseEnter={() => onMouseOver(emoji)}
181
- onMouseLeave={() => onMouseOver()}
182
- aria-label={emoji.skins[0].native}
183
- data-index={index}
184
- tabIndex={-1}
185
- type="button"
186
- >
187
- <div
188
- className="absolute inset-0 rounded-full opacity-0 group-hover:opacity-100"
189
- aria-hidden="true"
190
- />
191
- <span
192
- className="relative"
193
- style={{
194
- fontFamily:
195
- '"Apple Color Emoji", "Segoe UI Emoji", NotoColorEmoji, "Noto Color Emoji", "Segoe UI Symbol", "Android Emoji", EmojiSymbols',
196
- }}
197
- data-emoji-set="native"
198
- >
199
- {emoji.skins[0].native}
200
- </span>
201
- </button>
202
- );
203
- });
204
-
205
- const RowOfButtons = React.memo(function RowOfButtons({
206
- emojiLibrary,
207
- row,
208
- onMouseOver,
209
- onSelectEmoji,
210
- }: {
211
- row: GridRow;
212
- } & Pick<
213
- UseEmojiPickerType,
214
- 'emojiLibrary' | 'onMouseOver' | 'onSelectEmoji'
215
- >) {
216
- return (
217
- <div key={row.id} className="flex" data-index={row.id}>
218
- {row.elements.map((emojiId, index) => (
219
- <EmojiButton
220
- key={emojiId}
221
- onMouseOver={onMouseOver}
222
- onSelect={onSelectEmoji}
223
- emoji={emojiLibrary.getEmoji(emojiId)}
224
- index={index}
225
- />
226
- ))}
227
- </div>
228
- );
229
- });
230
-
231
- function EmojiPickerContent({
232
- emojiLibrary,
233
- i18n,
234
- isSearching = false,
235
- refs,
236
- searchResult,
237
- settings = EmojiSettings,
238
- visibleCategories,
239
- onMouseOver,
240
- onSelectEmoji,
241
- }: Pick<
242
- UseEmojiPickerType,
243
- | 'emojiLibrary'
244
- | 'i18n'
245
- | 'isSearching'
246
- | 'onMouseOver'
247
- | 'onSelectEmoji'
248
- | 'refs'
249
- | 'searchResult'
250
- | 'settings'
251
- | 'visibleCategories'
252
- >) {
253
- const getRowWidth = settings.perLine.value * settings.buttonSize.value;
254
-
255
- const isCategoryVisible = React.useCallback(
256
- (categoryId: any) =>
257
- visibleCategories.has(categoryId)
258
- ? visibleCategories.get(categoryId)
259
- : false,
260
- [visibleCategories]
261
- );
262
-
263
- const EmojiList = React.useCallback(
264
- () =>
265
- emojiLibrary
266
- .getGrid()
267
- .sections()
268
- .map(({ id: categoryId }) => {
269
- const section = emojiLibrary.getGrid().section(categoryId);
270
- const { buttonSize } = settings;
271
-
272
- return (
273
- <div
274
- key={categoryId}
275
- ref={section.root}
276
- style={{ width: getRowWidth }}
277
- data-id={categoryId}
278
- >
279
- <div className="-top-px sticky z-1 bg-popover/90 p-1 py-2 font-semibold text-sm backdrop-blur-xs">
280
- {i18n.categories[categoryId]}
281
- </div>
282
- <div
283
- className="relative flex flex-wrap"
284
- style={{ height: section.getRows().length * buttonSize.value }}
285
- >
286
- {isCategoryVisible(categoryId) &&
287
- section
288
- .getRows()
289
- .map((row: GridRow) => (
290
- <RowOfButtons
291
- key={row.id}
292
- onMouseOver={onMouseOver}
293
- onSelectEmoji={onSelectEmoji}
294
- emojiLibrary={emojiLibrary}
295
- row={row}
296
- />
297
- ))}
298
- </div>
299
- </div>
300
- );
301
- }),
302
- [
303
- emojiLibrary,
304
- getRowWidth,
305
- i18n.categories,
306
- isCategoryVisible,
307
- onSelectEmoji,
308
- onMouseOver,
309
- settings,
310
- ]
311
- );
312
-
313
- const SearchList = React.useCallback(
314
- () => (
315
- <div style={{ width: getRowWidth }} data-id="search">
316
- <div className="-top-px sticky z-1 bg-popover/90 p-1 py-2 font-semibold text-card-foreground text-sm backdrop-blur-xs">
317
- {i18n.searchResult}
318
- </div>
319
- <div className="relative flex flex-wrap">
320
- {searchResult.map((emoji: Emoji, index: number) => (
321
- <EmojiButton
322
- key={emoji.id}
323
- onMouseOver={onMouseOver}
324
- onSelect={onSelectEmoji}
325
- emoji={emojiLibrary.getEmoji(emoji.id)}
326
- index={index}
327
- />
328
- ))}
329
- </div>
330
- </div>
331
- ),
332
- [
333
- emojiLibrary,
334
- getRowWidth,
335
- i18n.searchResult,
336
- searchResult,
337
- onSelectEmoji,
338
- onMouseOver,
339
- ]
340
- );
341
-
342
- return (
343
- <div
344
- ref={refs.current.contentRoot}
345
- className={cn(
346
- 'h-full min-h-[50%] overflow-y-auto overflow-x-hidden px-2',
347
- '[&::-webkit-scrollbar]:w-4',
348
- '[&::-webkit-scrollbar-button]:hidden [&::-webkit-scrollbar-button]:size-0',
349
- '[&::-webkit-scrollbar-thumb]:min-h-11 [&::-webkit-scrollbar-thumb]:rounded-full [&::-webkit-scrollbar-thumb]:bg-muted [&::-webkit-scrollbar-thumb]:hover:bg-muted-foreground/25',
350
- '[&::-webkit-scrollbar-thumb]:border-4 [&::-webkit-scrollbar-thumb]:border-popover [&::-webkit-scrollbar-thumb]:border-solid [&::-webkit-scrollbar-thumb]:bg-clip-padding'
351
- )}
352
- data-id="scroll"
353
- >
354
- <div ref={refs.current.content} className="h-full">
355
- {isSearching ? SearchList() : EmojiList()}
356
- </div>
357
- </div>
358
- );
359
- }
360
-
361
- function EmojiPickerSearchBar({
362
- children,
363
- i18n,
364
- searchValue,
365
- setSearch,
366
- }: {
367
- children: React.ReactNode;
368
- } & Pick<UseEmojiPickerType, 'i18n' | 'searchValue' | 'setSearch'>) {
369
- return (
370
- <div className="flex items-center px-2">
371
- <div className="relative flex grow items-center">
372
- <input
373
- className="block w-full appearance-none rounded-full border-0 bg-muted px-10 py-2 text-sm outline-none placeholder:text-muted-foreground focus-visible:outline-none"
374
- value={searchValue}
375
- onChange={(event) => setSearch(event.target.value)}
376
- placeholder={i18n.search}
377
- aria-label="Search"
378
- autoComplete="off"
379
- type="text"
380
- autoFocus
381
- />
382
- {children}
383
- </div>
384
- </div>
385
- );
386
- }
387
-
388
- function EmojiPickerSearchAndClear({
389
- clearSearch,
390
- i18n,
391
- searchValue,
392
- }: Pick<UseEmojiPickerType, 'clearSearch' | 'i18n' | 'searchValue'>) {
393
- return (
394
- <div className="flex items-center text-foreground">
395
- <div
396
- className={cn(
397
- '-translate-y-1/2 absolute top-1/2 left-2.5 z-10 flex size-5 items-center justify-center text-foreground'
398
- )}
399
- >
400
- {emojiSearchIcons.loupe}
401
- </div>
402
- {searchValue && (
403
- <Button
404
- size="icon"
405
- variant="ghost"
406
- className={cn(
407
- '-translate-y-1/2 absolute top-1/2 right-0.5 flex size-8 cursor-pointer items-center justify-center rounded-full border-none bg-transparent text-popover-foreground hover:bg-transparent'
408
- )}
409
- onClick={clearSearch}
410
- title={i18n.clear}
411
- aria-label="Clear"
412
- type="button"
413
- >
414
- {emojiSearchIcons.delete}
415
- </Button>
416
- )}
417
- </div>
418
- );
419
- }
420
-
421
- function EmojiPreview({ emoji }: Pick<UseEmojiPickerType, 'emoji'>) {
422
- return (
423
- <div className="flex h-14 max-h-14 min-h-14 items-center border-muted border-t p-2">
424
- <div className="flex items-center justify-center text-2xl">
425
- {emoji?.skins[0].native}
426
- </div>
427
- <div className="overflow-hidden pl-2">
428
- <div className="truncate font-semibold text-sm">{emoji?.name}</div>
429
- <div className="truncate text-sm">{`:${emoji?.id}:`}</div>
430
- </div>
431
- </div>
432
- );
433
- }
434
-
435
- function NoEmoji({ i18n }: Pick<UseEmojiPickerType, 'i18n'>) {
436
- return (
437
- <div className="flex h-14 max-h-14 min-h-14 items-center border-muted border-t p-2">
438
- <div className="flex items-center justify-center text-2xl">😢</div>
439
- <div className="overflow-hidden pl-2">
440
- <div className="truncate font-bold text-sm">
441
- {i18n.searchNoResultsTitle}
442
- </div>
443
- <div className="truncate text-sm">{i18n.searchNoResultsSubtitle}</div>
444
- </div>
445
- </div>
446
- );
447
- }
448
-
449
- function PickAnEmoji({ i18n }: Pick<UseEmojiPickerType, 'i18n'>) {
450
- return (
451
- <div className="flex h-14 max-h-14 min-h-14 items-center border-muted border-t p-2">
452
- <div className="flex items-center justify-center text-2xl">☝️</div>
453
- <div className="overflow-hidden pl-2">
454
- <div className="truncate font-semibold text-sm">{i18n.pick}</div>
455
- </div>
456
- </div>
457
- );
458
- }
459
-
460
- function EmojiPickerPreview({
461
- emoji,
462
- hasFound = true,
463
- i18n,
464
- isSearching = false,
465
- ...props
466
- }: Pick<UseEmojiPickerType, 'emoji' | 'hasFound' | 'i18n' | 'isSearching'>) {
467
- const showPickEmoji = !emoji && (!isSearching || hasFound);
468
- const showNoEmoji = isSearching && !hasFound;
469
- const showPreview = emoji && !showNoEmoji && !showNoEmoji;
470
-
471
- return (
472
- <>
473
- {showPreview && <EmojiPreview emoji={emoji} {...props} />}
474
- {showPickEmoji && <PickAnEmoji i18n={i18n} {...props} />}
475
- {showNoEmoji && <NoEmoji i18n={i18n} {...props} />}
476
- </>
477
- );
478
- }
479
-
480
- function EmojiPickerNavigation({
481
- emojiLibrary,
482
- focusedCategory,
483
- i18n,
484
- icons,
485
- onClick,
486
- }: {
487
- onClick: (id: EmojiCategoryList) => void;
488
- } & Pick<
489
- UseEmojiPickerType,
490
- 'emojiLibrary' | 'focusedCategory' | 'i18n' | 'icons'
491
- >) {
492
- return (
493
- <TooltipProvider delayDuration={500}>
494
- <nav
495
- id="emoji-nav"
496
- className="mb-2.5 border-0 border-b border-b-border border-solid p-1.5"
497
- >
498
- <div className="relative flex items-center justify-evenly">
499
- {emojiLibrary
500
- .getGrid()
501
- .sections()
502
- .map(({ id }) => (
503
- <Tooltip key={id}>
504
- <TooltipTrigger asChild>
505
- <Button
506
- size="sm"
507
- variant="ghost"
508
- className={cn(
509
- 'h-fit rounded-full fill-current p-1.5 text-muted-foreground hover:bg-muted hover:text-muted-foreground',
510
- id === focusedCategory &&
511
- 'pointer-events-none bg-accent fill-current text-accent-foreground'
512
- )}
513
- onClick={() => {
514
- onClick(id);
515
- }}
516
- aria-label={i18n.categories[id]}
517
- type="button"
518
- >
519
- <span className="inline-flex size-5 items-center justify-center">
520
- {icons.categories[id].outline}
521
- </span>
522
- </Button>
523
- </TooltipTrigger>
524
- <TooltipContent side="bottom">
525
- {i18n.categories[id]}
526
- </TooltipContent>
527
- </Tooltip>
528
- ))}
529
- </div>
530
- </nav>
531
- </TooltipProvider>
532
- );
533
- }
534
-
535
- const emojiCategoryIcons: Record<
536
- EmojiCategoryList,
537
- {
538
- outline: React.ReactElement;
539
- solid: React.ReactElement; // Needed to add another solid variant - outline will be used for now
540
- }
541
- > = {
542
- activity: {
543
- outline: (
544
- <svg
545
- className="size-full"
546
- fill="none"
547
- stroke="currentColor"
548
- strokeLinecap="round"
549
- strokeLinejoin="round"
550
- strokeWidth="2"
551
- viewBox="0 0 24 24"
552
- xmlns="http://www.w3.org/2000/svg"
553
- >
554
- <circle cx="12" cy="12" r="10" />
555
- <path d="M2.1 13.4A10.1 10.1 0 0 0 13.4 2.1" />
556
- <path d="m5 4.9 14 14.2" />
557
- <path d="M21.9 10.6a10.1 10.1 0 0 0-11.3 11.3" />
558
- </svg>
559
- ),
560
- solid: (
561
- <svg
562
- className="size-full"
563
- fill="none"
564
- stroke="currentColor"
565
- strokeLinecap="round"
566
- strokeLinejoin="round"
567
- strokeWidth="2"
568
- viewBox="0 0 24 24"
569
- xmlns="http://www.w3.org/2000/svg"
570
- >
571
- <circle cx="12" cy="12" r="10" />
572
- <path d="M2.1 13.4A10.1 10.1 0 0 0 13.4 2.1" />
573
- <path d="m5 4.9 14 14.2" />
574
- <path d="M21.9 10.6a10.1 10.1 0 0 0-11.3 11.3" />
575
- </svg>
576
- ),
577
- },
578
-
579
- custom: {
580
- outline: <StarIcon className="size-full" />,
581
- solid: <StarIcon className="size-full" />,
582
- },
583
-
584
- flags: {
585
- outline: <FlagIcon className="size-full" />,
586
- solid: <FlagIcon className="size-full" />,
587
- },
588
-
589
- foods: {
590
- outline: <AppleIcon className="size-full" />,
591
- solid: <AppleIcon className="size-full" />,
592
- },
593
-
594
- frequent: {
595
- outline: <ClockIcon className="size-full" />,
596
- solid: <ClockIcon className="size-full" />,
597
- },
598
-
599
- nature: {
600
- outline: <LeafIcon className="size-full" />,
601
- solid: <LeafIcon className="size-full" />,
602
- },
603
-
604
- objects: {
605
- outline: <LightbulbIcon className="size-full" />,
606
- solid: <LightbulbIcon className="size-full" />,
607
- },
608
-
609
- people: {
610
- outline: <SmileIcon className="size-full" />,
611
- solid: <SmileIcon className="size-full" />,
612
- },
613
-
614
- places: {
615
- outline: <CompassIcon className="size-full" />,
616
- solid: <CompassIcon className="size-full" />,
617
- },
618
-
619
- symbols: {
620
- outline: <MusicIcon className="size-full" />,
621
- solid: <MusicIcon className="size-full" />,
622
- },
623
- };
624
-
625
- const emojiSearchIcons = {
626
- delete: <XIcon className="size-4 text-current" />,
627
- loupe: <SearchIcon className="size-4 text-current" />,
628
- };