@xyd-js/components 0.1.0-xyd.5 → 0.1.0-xyd.52

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 (530) hide show
  1. package/.idea/git_toolbox_blame.xml +6 -0
  2. package/.idea/modules.xml +8 -0
  3. package/.idea/vcs.xml +6 -0
  4. package/.idea/xyd-components.iml +12 -0
  5. package/CHANGELOG.md +378 -0
  6. package/LICENSE +21 -0
  7. package/TODO.md +1 -0
  8. package/content.ts +0 -2
  9. package/dist/CTABanner-4mVtgtg1.js +2 -0
  10. package/dist/CTABanner-4mVtgtg1.js.map +1 -0
  11. package/dist/CTABanner-8awHx3iq.js +2 -0
  12. package/dist/CTABanner-8awHx3iq.js.map +1 -0
  13. package/dist/CTABanner-BW4YN4-n.js +2 -0
  14. package/dist/CTABanner-BW4YN4-n.js.map +1 -0
  15. package/dist/CTABanner-C-6auNiO.js +2 -0
  16. package/dist/CTABanner-C-6auNiO.js.map +1 -0
  17. package/dist/CTABanner-CUwluXcM.js +2 -0
  18. package/dist/CTABanner-CUwluXcM.js.map +1 -0
  19. package/dist/CTABanner-CV8B6kGd.js +2 -0
  20. package/dist/CTABanner-CV8B6kGd.js.map +1 -0
  21. package/dist/CTABanner-CYq6zqzK.js +2 -0
  22. package/dist/CTABanner-CYq6zqzK.js.map +1 -0
  23. package/dist/CTABanner-CmOPCiBU.js +2 -0
  24. package/dist/CTABanner-CmOPCiBU.js.map +1 -0
  25. package/dist/CTABanner-DW0jn0tm.js +2 -0
  26. package/dist/CTABanner-DW0jn0tm.js.map +1 -0
  27. package/dist/CTABanner-D_vBSERH.js +2 -0
  28. package/dist/CTABanner-D_vBSERH.js.map +1 -0
  29. package/dist/CTABanner-RYtzotAc.js +2 -0
  30. package/dist/CTABanner-RYtzotAc.js.map +1 -0
  31. package/dist/CTABanner-d0dU_3UV.js +2 -0
  32. package/dist/CTABanner-d0dU_3UV.js.map +1 -0
  33. package/dist/CTABanner-f-kYjXeS.js +2 -0
  34. package/dist/CTABanner-f-kYjXeS.js.map +1 -0
  35. package/dist/CTABanner-hl7edywo.js +2 -0
  36. package/dist/CTABanner-hl7edywo.js.map +1 -0
  37. package/dist/CTABanner-kg01fEFO.js +2 -0
  38. package/dist/CTABanner-kg01fEFO.js.map +1 -0
  39. package/dist/CTABanner-yKuWX36F.js +2 -0
  40. package/dist/CTABanner-yKuWX36F.js.map +1 -0
  41. package/dist/CTABanner-zHhZFxmC.js +2 -0
  42. package/dist/CTABanner-zHhZFxmC.js.map +1 -0
  43. package/dist/CodeSample-60eygvma.js +2 -0
  44. package/dist/CodeSample-60eygvma.js.map +1 -0
  45. package/dist/CodeSample-BOwTybu7.js +2 -0
  46. package/dist/CodeSample-BOwTybu7.js.map +1 -0
  47. package/dist/CodeSample-BabNvAXq.js +2 -0
  48. package/dist/CodeSample-BabNvAXq.js.map +1 -0
  49. package/dist/CodeSample-BeKAECzE.js +2 -0
  50. package/dist/CodeSample-BeKAECzE.js.map +1 -0
  51. package/dist/CodeSample-Bmj6O9cO.js +2 -0
  52. package/dist/CodeSample-Bmj6O9cO.js.map +1 -0
  53. package/dist/CodeSample-By1h0pjl.js +2 -0
  54. package/dist/CodeSample-By1h0pjl.js.map +1 -0
  55. package/dist/CodeSample-C1A9mpxa.js +2 -0
  56. package/dist/CodeSample-C1A9mpxa.js.map +1 -0
  57. package/dist/CodeSample-C8UmShST.js +2 -0
  58. package/dist/CodeSample-C8UmShST.js.map +1 -0
  59. package/dist/CodeSample-CirMT2VK.js +2 -0
  60. package/dist/CodeSample-CirMT2VK.js.map +1 -0
  61. package/dist/CodeSample-D1cQIpZA.js +2 -0
  62. package/dist/CodeSample-D1cQIpZA.js.map +1 -0
  63. package/dist/CodeSample-D8oms9v4.js +2 -0
  64. package/dist/CodeSample-D8oms9v4.js.map +1 -0
  65. package/dist/CodeSample-DAYrHZ42.js +2 -0
  66. package/dist/CodeSample-DAYrHZ42.js.map +1 -0
  67. package/dist/CodeSample-DV4gehAY.js +2 -0
  68. package/dist/CodeSample-DV4gehAY.js.map +1 -0
  69. package/dist/CodeSample-DkfSxkpp.js +2 -0
  70. package/dist/CodeSample-DkfSxkpp.js.map +1 -0
  71. package/dist/CodeSample-VlH3bfzC.js +2 -0
  72. package/dist/CodeSample-VlH3bfzC.js.map +1 -0
  73. package/dist/CodeSample-dW2vKCd1.js +2 -0
  74. package/dist/CodeSample-dW2vKCd1.js.map +1 -0
  75. package/dist/CodeSample-vnPcdu-x.js +2 -0
  76. package/dist/CodeSample-vnPcdu-x.js.map +1 -0
  77. package/dist/HomeView-B9Ve1Kuh.js +2 -0
  78. package/dist/HomeView-B9Ve1Kuh.js.map +1 -0
  79. package/dist/HomeView-CH5Po1Ed.js +2 -0
  80. package/dist/HomeView-CH5Po1Ed.js.map +1 -0
  81. package/dist/HomeView-CL0kAYj1.js +2 -0
  82. package/dist/HomeView-CL0kAYj1.js.map +1 -0
  83. package/dist/HomeView-CMvkJdJa.js +2 -0
  84. package/dist/HomeView-CMvkJdJa.js.map +1 -0
  85. package/dist/HomeView-CQK9q_tO.js +2 -0
  86. package/dist/HomeView-CQK9q_tO.js.map +1 -0
  87. package/dist/HomeView-CTDZ19B3.js +2 -0
  88. package/dist/HomeView-CTDZ19B3.js.map +1 -0
  89. package/dist/HomeView-CU-l-tLg.js +2 -0
  90. package/dist/HomeView-CU-l-tLg.js.map +1 -0
  91. package/dist/HomeView-CWNvXmSg.js +2 -0
  92. package/dist/HomeView-CWNvXmSg.js.map +1 -0
  93. package/dist/HomeView-CdyaQH15.js +2 -0
  94. package/dist/HomeView-CdyaQH15.js.map +1 -0
  95. package/dist/HomeView-CzlycqNf.js +2 -0
  96. package/dist/HomeView-CzlycqNf.js.map +1 -0
  97. package/dist/HomeView-D0NBPUfo.js +2 -0
  98. package/dist/HomeView-D0NBPUfo.js.map +1 -0
  99. package/dist/HomeView-D8G2HjcZ.js +2 -0
  100. package/dist/HomeView-D8G2HjcZ.js.map +1 -0
  101. package/dist/HomeView-DGW10Fml.js +2 -0
  102. package/dist/HomeView-DGW10Fml.js.map +1 -0
  103. package/dist/HomeView-DgQI-VH2.js +2 -0
  104. package/dist/HomeView-DgQI-VH2.js.map +1 -0
  105. package/dist/HomeView-FTlkTnsT.js +2 -0
  106. package/dist/HomeView-FTlkTnsT.js.map +1 -0
  107. package/dist/HomeView-hSpU5kot.js +2 -0
  108. package/dist/HomeView-hSpU5kot.js.map +1 -0
  109. package/dist/HomeView-vZozpVGs.js +2 -0
  110. package/dist/HomeView-vZozpVGs.js.map +1 -0
  111. package/dist/Icon-B2OPWMtK.js +2 -0
  112. package/dist/Icon-B2OPWMtK.js.map +1 -0
  113. package/dist/Icon-BRAhu_Eb.js +2 -0
  114. package/dist/Icon-BRAhu_Eb.js.map +1 -0
  115. package/dist/Icon-C822nO1R.js +2 -0
  116. package/dist/Icon-C822nO1R.js.map +1 -0
  117. package/dist/Icon-CEm2iFxX.js +2 -0
  118. package/dist/Icon-CEm2iFxX.js.map +1 -0
  119. package/dist/Icon-CINO4Gs-.js +2 -0
  120. package/dist/Icon-CINO4Gs-.js.map +1 -0
  121. package/dist/Icon-CNvRfLaE.js +2 -0
  122. package/dist/Icon-CNvRfLaE.js.map +1 -0
  123. package/dist/Icon-CWAF56rs.js +2 -0
  124. package/dist/Icon-CWAF56rs.js.map +1 -0
  125. package/dist/Icon-CzVtM54u.js +2 -0
  126. package/dist/Icon-CzVtM54u.js.map +1 -0
  127. package/dist/Icon-D-fnSCsP.js +2 -0
  128. package/dist/Icon-D-fnSCsP.js.map +1 -0
  129. package/dist/Icon-D4gOtCv9.js +2 -0
  130. package/dist/Icon-D4gOtCv9.js.map +1 -0
  131. package/dist/Icon-DP1qesF5.js +2 -0
  132. package/dist/Icon-DP1qesF5.js.map +1 -0
  133. package/dist/Icon-DQdRqDU9.js +2 -0
  134. package/dist/Icon-DQdRqDU9.js.map +1 -0
  135. package/dist/Icon-Dogc3o95.js +2 -0
  136. package/dist/Icon-Dogc3o95.js.map +1 -0
  137. package/dist/Icon-FVBVv2mV.js +2 -0
  138. package/dist/Icon-FVBVv2mV.js.map +1 -0
  139. package/dist/Icon-KY6ULovn.js +2 -0
  140. package/dist/Icon-KY6ULovn.js.map +1 -0
  141. package/dist/Icon-XgHKz5VO.js +2 -0
  142. package/dist/Icon-XgHKz5VO.js.map +1 -0
  143. package/dist/Icon-sBVn0l7I.js +2 -0
  144. package/dist/Icon-sBVn0l7I.js.map +1 -0
  145. package/dist/Text-B-0yh8la.js +2 -0
  146. package/dist/Text-B-0yh8la.js.map +1 -0
  147. package/dist/Text-BCFz4JU-.js +2 -0
  148. package/dist/Text-BCFz4JU-.js.map +1 -0
  149. package/dist/Text-BNiddUr4.js +2 -0
  150. package/dist/Text-BNiddUr4.js.map +1 -0
  151. package/dist/Text-Bf364_Q8.js +2 -0
  152. package/dist/Text-Bf364_Q8.js.map +1 -0
  153. package/dist/Text-Bxe0mzUL.js +2 -0
  154. package/dist/Text-Bxe0mzUL.js.map +1 -0
  155. package/dist/Text-CfVL9URz.js +2 -0
  156. package/dist/Text-CfVL9URz.js.map +1 -0
  157. package/dist/Text-ChiAdn4X.js +2 -0
  158. package/dist/Text-ChiAdn4X.js.map +1 -0
  159. package/dist/Text-D5uguhzM.js +2 -0
  160. package/dist/Text-D5uguhzM.js.map +1 -0
  161. package/dist/Text-D9DhNy4J.js +2 -0
  162. package/dist/Text-D9DhNy4J.js.map +1 -0
  163. package/dist/Text-DFWZt4lj.js +2 -0
  164. package/dist/Text-DFWZt4lj.js.map +1 -0
  165. package/dist/Text-DGY59P42.js +2 -0
  166. package/dist/Text-DGY59P42.js.map +1 -0
  167. package/dist/Text-DfXk3ZuK.js +2 -0
  168. package/dist/Text-DfXk3ZuK.js.map +1 -0
  169. package/dist/Text-DwHGYbrw.js +2 -0
  170. package/dist/Text-DwHGYbrw.js.map +1 -0
  171. package/dist/Text-DxqdnsZ5.js +2 -0
  172. package/dist/Text-DxqdnsZ5.js.map +1 -0
  173. package/dist/Text-K_2YR6jw.js +2 -0
  174. package/dist/Text-K_2YR6jw.js.map +1 -0
  175. package/dist/Text-XHfscYPw.js +2 -0
  176. package/dist/Text-XHfscYPw.js.map +1 -0
  177. package/dist/Text-b8fT0OYO.js +2 -0
  178. package/dist/Text-b8fT0OYO.js.map +1 -0
  179. package/dist/Update-48mkPPHi.js +2 -0
  180. package/dist/Update-48mkPPHi.js.map +1 -0
  181. package/dist/Update-6IvrCbUn.js +2 -0
  182. package/dist/Update-6IvrCbUn.js.map +1 -0
  183. package/dist/Update-B31SkKLO.js +2 -0
  184. package/dist/Update-B31SkKLO.js.map +1 -0
  185. package/dist/Update-BDC6jF5Q.js +2 -0
  186. package/dist/Update-BDC6jF5Q.js.map +1 -0
  187. package/dist/Update-BdhhXj2D.js +2 -0
  188. package/dist/Update-BdhhXj2D.js.map +1 -0
  189. package/dist/Update-BzuP6PUF.js +2 -0
  190. package/dist/Update-BzuP6PUF.js.map +1 -0
  191. package/dist/Update-C-w0Og8S.js +2 -0
  192. package/dist/Update-C-w0Og8S.js.map +1 -0
  193. package/dist/Update-CRZyUhwE.js +2 -0
  194. package/dist/Update-CRZyUhwE.js.map +1 -0
  195. package/dist/Update-Cmw6WVrs.js +2 -0
  196. package/dist/Update-Cmw6WVrs.js.map +1 -0
  197. package/dist/Update-D5pUmk9V.js +2 -0
  198. package/dist/Update-D5pUmk9V.js.map +1 -0
  199. package/dist/Update-D7tzid9y.js +2 -0
  200. package/dist/Update-D7tzid9y.js.map +1 -0
  201. package/dist/Update-DDQewhuu.js +2 -0
  202. package/dist/Update-DDQewhuu.js.map +1 -0
  203. package/dist/Update-DPeHa_01.js +2 -0
  204. package/dist/Update-DPeHa_01.js.map +1 -0
  205. package/dist/Update-DUFcLP3-.js +2 -0
  206. package/dist/Update-DUFcLP3-.js.map +1 -0
  207. package/dist/Update-DbvzJGdB.js +2 -0
  208. package/dist/Update-DbvzJGdB.js.map +1 -0
  209. package/dist/Update-SFXhorqS.js +2 -0
  210. package/dist/Update-SFXhorqS.js.map +1 -0
  211. package/dist/Update-b8FT7xsG.js +2 -0
  212. package/dist/Update-b8FT7xsG.js.map +1 -0
  213. package/dist/VideoGuide-B0uoxh7k.js +2 -0
  214. package/dist/VideoGuide-B0uoxh7k.js.map +1 -0
  215. package/dist/VideoGuide-BELHPOmy.js +2 -0
  216. package/dist/VideoGuide-BELHPOmy.js.map +1 -0
  217. package/dist/VideoGuide-BPpz9He-.js +2 -0
  218. package/dist/VideoGuide-BPpz9He-.js.map +1 -0
  219. package/dist/VideoGuide-CMURpSE8.js +2 -0
  220. package/dist/VideoGuide-CMURpSE8.js.map +1 -0
  221. package/dist/VideoGuide-CXGDgkuc.js +2 -0
  222. package/dist/VideoGuide-CXGDgkuc.js.map +1 -0
  223. package/dist/VideoGuide-CXL3G2yS.js +2 -0
  224. package/dist/VideoGuide-CXL3G2yS.js.map +1 -0
  225. package/dist/VideoGuide-Cdi9zWS2.js +2 -0
  226. package/dist/VideoGuide-Cdi9zWS2.js.map +1 -0
  227. package/dist/VideoGuide-CrW6tvqB.js +2 -0
  228. package/dist/VideoGuide-CrW6tvqB.js.map +1 -0
  229. package/dist/VideoGuide-D6TRphry.js +2 -0
  230. package/dist/VideoGuide-D6TRphry.js.map +1 -0
  231. package/dist/VideoGuide-DkMriANN.js +2 -0
  232. package/dist/VideoGuide-DkMriANN.js.map +1 -0
  233. package/dist/VideoGuide-Ds1vQrb7.js +2 -0
  234. package/dist/VideoGuide-Ds1vQrb7.js.map +1 -0
  235. package/dist/VideoGuide-Dyf3clMb.js +2 -0
  236. package/dist/VideoGuide-Dyf3clMb.js.map +1 -0
  237. package/dist/VideoGuide-QouYMQx_.js +2 -0
  238. package/dist/VideoGuide-QouYMQx_.js.map +1 -0
  239. package/dist/VideoGuide-ZBarZs4D.js +2 -0
  240. package/dist/VideoGuide-ZBarZs4D.js.map +1 -0
  241. package/dist/VideoGuide-oYwuE6Lg.js +2 -0
  242. package/dist/VideoGuide-oYwuE6Lg.js.map +1 -0
  243. package/dist/VideoGuide-qcVqW6Su.js +2 -0
  244. package/dist/VideoGuide-qcVqW6Su.js.map +1 -0
  245. package/dist/VideoGuide-yyBprKvP.js +2 -0
  246. package/dist/VideoGuide-yyBprKvP.js.map +1 -0
  247. package/dist/_rollupPluginBabelHelpers-B1yJb5Rh.js +4 -0
  248. package/dist/_rollupPluginBabelHelpers-B1yJb5Rh.js.map +1 -0
  249. package/dist/_rollupPluginBabelHelpers-BaNafudn.js +4 -0
  250. package/dist/_rollupPluginBabelHelpers-BaNafudn.js.map +1 -0
  251. package/dist/_rollupPluginBabelHelpers-BuF1bLAd.js +4 -0
  252. package/dist/_rollupPluginBabelHelpers-BuF1bLAd.js.map +1 -0
  253. package/dist/_rollupPluginBabelHelpers-C10TYBta.js +4 -0
  254. package/dist/_rollupPluginBabelHelpers-C10TYBta.js.map +1 -0
  255. package/dist/_rollupPluginBabelHelpers-CV-SOB7x.js +4 -0
  256. package/dist/_rollupPluginBabelHelpers-CV-SOB7x.js.map +1 -0
  257. package/dist/_rollupPluginBabelHelpers-CVesZFRP.js +4 -0
  258. package/dist/_rollupPluginBabelHelpers-CVesZFRP.js.map +1 -0
  259. package/dist/_rollupPluginBabelHelpers-Ch3Y817m.js +4 -0
  260. package/dist/_rollupPluginBabelHelpers-Ch3Y817m.js.map +1 -0
  261. package/dist/_rollupPluginBabelHelpers-CxxbOh5W.js +4 -0
  262. package/dist/_rollupPluginBabelHelpers-CxxbOh5W.js.map +1 -0
  263. package/dist/_rollupPluginBabelHelpers-D19Us8SI.js +4 -0
  264. package/dist/_rollupPluginBabelHelpers-D19Us8SI.js.map +1 -0
  265. package/dist/_rollupPluginBabelHelpers-D2-m_SFt.js +4 -0
  266. package/dist/_rollupPluginBabelHelpers-D2-m_SFt.js.map +1 -0
  267. package/dist/_rollupPluginBabelHelpers-D5TiGB2z.js +4 -0
  268. package/dist/_rollupPluginBabelHelpers-D5TiGB2z.js.map +1 -0
  269. package/dist/_rollupPluginBabelHelpers-D6C3DhAR.js +4 -0
  270. package/dist/_rollupPluginBabelHelpers-D6C3DhAR.js.map +1 -0
  271. package/dist/_rollupPluginBabelHelpers-IYA2a-lX.js +4 -0
  272. package/dist/_rollupPluginBabelHelpers-IYA2a-lX.js.map +1 -0
  273. package/dist/_rollupPluginBabelHelpers-IZwOU41g.js +4 -0
  274. package/dist/_rollupPluginBabelHelpers-IZwOU41g.js.map +1 -0
  275. package/dist/_rollupPluginBabelHelpers-PCuXrt2F.js +4 -0
  276. package/dist/_rollupPluginBabelHelpers-PCuXrt2F.js.map +1 -0
  277. package/dist/_rollupPluginBabelHelpers-k3SPIMH4.js +4 -0
  278. package/dist/_rollupPluginBabelHelpers-k3SPIMH4.js.map +1 -0
  279. package/dist/_rollupPluginBabelHelpers-mdhlT6e0.js +4 -0
  280. package/dist/_rollupPluginBabelHelpers-mdhlT6e0.js.map +1 -0
  281. package/dist/brand.d.ts +9 -9
  282. package/dist/brand.js +1 -1
  283. package/dist/brand.js.map +1 -1
  284. package/dist/coder/themes/cosmo-light.js.map +1 -1
  285. package/dist/coder.d.ts +33 -9
  286. package/dist/coder.js +1 -1
  287. package/dist/coder.js.map +1 -1
  288. package/dist/content.d.ts +260 -171
  289. package/dist/content.js +1 -1
  290. package/dist/content.js.map +1 -1
  291. package/dist/index.css +267 -137
  292. package/dist/layouts.d.ts +23 -14
  293. package/dist/layouts.js +1 -1
  294. package/dist/layouts.js.map +1 -1
  295. package/dist/pages.js +1 -1
  296. package/dist/pages.js.map +1 -1
  297. package/dist/system.d.ts +10 -0
  298. package/dist/system.js +2 -0
  299. package/dist/system.js.map +1 -0
  300. package/dist/tslib.es6-2HddmpXk.js +2 -0
  301. package/dist/{tslib.es6-BS8I3nP0.js.map → tslib.es6-2HddmpXk.js.map} +1 -1
  302. package/dist/tslib.es6-B3WQO7bC.js +2 -0
  303. package/dist/{tslib.es6-DNz-U5oh.js.map → tslib.es6-B3WQO7bC.js.map} +1 -1
  304. package/dist/tslib.es6-B4LqmUlh.js +2 -0
  305. package/dist/{tslib.es6-BJOaQ_lJ.js.map → tslib.es6-B4LqmUlh.js.map} +1 -1
  306. package/dist/tslib.es6-BJtAe2Ef.js +2 -0
  307. package/dist/tslib.es6-BJtAe2Ef.js.map +1 -0
  308. package/dist/tslib.es6-BUCTXb7p.js +2 -0
  309. package/dist/tslib.es6-BUCTXb7p.js.map +1 -0
  310. package/dist/tslib.es6-BVagjPgu.js +2 -0
  311. package/dist/tslib.es6-BVagjPgu.js.map +1 -0
  312. package/dist/tslib.es6-Baxakhew.js +2 -0
  313. package/dist/tslib.es6-Baxakhew.js.map +1 -0
  314. package/dist/tslib.es6-BeaYjpg4.js +2 -0
  315. package/dist/tslib.es6-BeaYjpg4.js.map +1 -0
  316. package/dist/tslib.es6-C5x7jiZr.js +2 -0
  317. package/dist/tslib.es6-C5x7jiZr.js.map +1 -0
  318. package/dist/tslib.es6-CGuo9hNf.js +2 -0
  319. package/dist/tslib.es6-CGuo9hNf.js.map +1 -0
  320. package/dist/tslib.es6-CaUFBY2d.js +2 -0
  321. package/dist/tslib.es6-CaUFBY2d.js.map +1 -0
  322. package/dist/tslib.es6-CiOfWANY.js +2 -0
  323. package/dist/tslib.es6-CiOfWANY.js.map +1 -0
  324. package/dist/tslib.es6-D6Dmrhuy.js +2 -0
  325. package/dist/tslib.es6-D6Dmrhuy.js.map +1 -0
  326. package/dist/tslib.es6-DS8w8jUy.js +2 -0
  327. package/dist/tslib.es6-DS8w8jUy.js.map +1 -0
  328. package/dist/tslib.es6-DhpaRs87.js +2 -0
  329. package/dist/tslib.es6-DhpaRs87.js.map +1 -0
  330. package/dist/tslib.es6-Y3-sJK9A.js +2 -0
  331. package/dist/tslib.es6-Y3-sJK9A.js.map +1 -0
  332. package/dist/tslib.es6-iVzSobQR.js +2 -0
  333. package/dist/tslib.es6-iVzSobQR.js.map +1 -0
  334. package/dist/views.js +1 -1
  335. package/dist/writer.d.ts +427 -53
  336. package/dist/writer.js +1 -1
  337. package/dist/writer.js.map +1 -1
  338. package/docs/.nojekyll +1 -0
  339. package/docs/assets/hierarchy.js +1 -0
  340. package/docs/assets/highlight.css +22 -0
  341. package/docs/assets/icons.js +18 -0
  342. package/docs/assets/icons.svg +1 -0
  343. package/docs/assets/main.js +60 -0
  344. package/docs/assets/navigation.js +1 -0
  345. package/docs/assets/search.js +1 -0
  346. package/docs/assets/style.css +1640 -0
  347. package/docs/functions/GuideCard.html +6 -0
  348. package/docs/hierarchy.html +1 -0
  349. package/docs/index.html +2 -0
  350. package/docs/interfaces/GuideCardProps.html +18 -0
  351. package/docs/modules.html +1 -0
  352. package/index.ts +0 -1
  353. package/package.json +16 -20
  354. package/project.json +677 -0
  355. package/rollup.config.js +32 -3
  356. package/src/brand/Button/Button.styles.tsx +28 -0
  357. package/src/brand/Button/Button.tsx +3 -35
  358. package/src/brand/CTABanner/CTABanner.styles.tsx +80 -0
  359. package/src/brand/CTABanner/CTABanner.tsx +34 -112
  360. package/src/brand/Footer/Footer.styles.tsx +18 -0
  361. package/src/brand/Footer/Footer.tsx +4 -24
  362. package/src/brand/TODO.md +1 -0
  363. package/src/coder/Code/Code.styles.tsx +134 -35
  364. package/src/coder/Code/Code.tsx +131 -43
  365. package/src/coder/Code/CodeLoader.tsx +10 -0
  366. package/src/coder/Code/annotations.tsx +28 -8
  367. package/src/coder/Code/highlight.ts +38 -0
  368. package/src/coder/Code/index.ts +6 -2
  369. package/src/coder/CodeCopy/{CodeCopy.style.tsx → CodeCopy.styles.tsx} +6 -6
  370. package/src/coder/CodeCopy/CodeCopy.tsx +6 -6
  371. package/src/coder/CodeSample/CodeSample.tsx +87 -19
  372. package/src/coder/CodeTabs/CodeTabs.styles.tsx +98 -66
  373. package/src/coder/CodeTabs/CodeTabs.tsx +78 -47
  374. package/src/coder/CodeTheme/CodeTheme.tsx +89 -48
  375. package/src/coder/CodeTheme/index.ts +0 -1
  376. package/src/coder/CoderProvider.tsx +26 -0
  377. package/src/coder/hooks/highlight.ts +182 -0
  378. package/src/coder/index.ts +11 -7
  379. package/src/content/ContentDecoator.styles.tsx +113 -0
  380. package/src/content/ContentDecorator.tsx +17 -0
  381. package/src/content/GridDecorator.styles.tsx +67 -0
  382. package/src/content/GridDecorator.tsx +21 -0
  383. package/src/content/ReactContent.tsx +575 -0
  384. package/src/content/index.ts +10 -2
  385. package/src/icons/index.ts +0 -0
  386. package/src/kit/Loader/Loader.styles.tsx +53 -0
  387. package/src/kit/Loader/Loader.tsx +22 -0
  388. package/src/kit/TODO.md +2 -0
  389. package/src/kit/index.ts +1 -0
  390. package/src/layouts/LayoutPrimary/LayoutPrimary.styles.tsx +305 -0
  391. package/src/layouts/LayoutPrimary/LayoutPrimary.tsx +237 -0
  392. package/src/layouts/LayoutPrimary/index.ts +3 -0
  393. package/src/layouts/index.ts +2 -3
  394. package/src/pages/HomePage/HomePage.styles.tsx +16 -0
  395. package/src/pages/HomePage/HomePage.tsx +7 -21
  396. package/src/pages/TODO.md +1 -0
  397. package/src/system/SearchButton/SearchButton.styles.tsx +86 -0
  398. package/src/system/SearchButton/SearchButton.tsx +116 -0
  399. package/src/system/SearchButton/index.ts +1 -0
  400. package/src/system/index.ts +1 -0
  401. package/src/utils/useStyle.ts +19 -0
  402. package/src/views/HomeView/HomeView.styles.tsx +37 -0
  403. package/src/views/HomeView/HomeView.tsx +5 -45
  404. package/src/views/TODO.md +1 -0
  405. package/src/writer/Anchor/Anchor.styles.tsx +11 -0
  406. package/src/writer/Anchor/Anchor.tsx +51 -0
  407. package/src/writer/Anchor/index.tsx +1 -0
  408. package/src/writer/Badge/Badge.styles.tsx +39 -28
  409. package/src/writer/Badge/Badge.tsx +37 -20
  410. package/src/writer/Banner/Banner.styles.tsx +91 -0
  411. package/src/writer/Banner/Banner.tsx +70 -0
  412. package/src/writer/Banner/index.ts +1 -0
  413. package/src/writer/Blockquote/Blockquote.styles.tsx +4 -4
  414. package/src/writer/Blockquote/Blockquote.tsx +6 -3
  415. package/src/writer/Breadcrumbs/Breadcrumbs.styles.ts +22 -21
  416. package/src/writer/Breadcrumbs/Breadcrumbs.tsx +19 -13
  417. package/src/writer/Button/Button.styles.tsx +137 -0
  418. package/src/writer/Button/Button.tsx +75 -0
  419. package/src/writer/Button/index.ts +2 -0
  420. package/src/writer/Callout/Callout.styles.tsx +29 -40
  421. package/src/writer/Callout/Callout.tsx +31 -16
  422. package/src/writer/Card/Card.styles.tsx +47 -0
  423. package/src/writer/Card/Card.tsx +69 -0
  424. package/src/writer/Card/index.ts +1 -0
  425. package/src/writer/Code/Code.styles.tsx +10 -11
  426. package/src/writer/Code/Code.tsx +7 -4
  427. package/src/writer/ColorSchemeButton/ColorSchemeButton.tsx +172 -0
  428. package/src/writer/ColorSchemeButton/index.ts +1 -0
  429. package/src/writer/Details/Details.styles.tsx +85 -68
  430. package/src/writer/Details/Details.tsx +83 -46
  431. package/src/writer/Example/index.tsx +5 -0
  432. package/src/writer/GuideCard/GuideCard.styles.tsx +108 -107
  433. package/src/writer/GuideCard/GuideCard.tsx +72 -37
  434. package/src/writer/Heading/Heading.styles.tsx +69 -49
  435. package/src/writer/Heading/Heading.tsx +92 -22
  436. package/src/writer/Hr/Hr.styles.tsx +5 -5
  437. package/src/writer/Hr/Hr.tsx +3 -6
  438. package/src/writer/Icon/Icon.tsx +48 -0
  439. package/src/writer/Icon/index.ts +1 -0
  440. package/src/writer/Image/Image.styles.tsx +9 -0
  441. package/src/writer/Image/Image.tsx +19 -0
  442. package/src/writer/Image/index.ts +1 -0
  443. package/src/writer/List/List.styles.tsx +47 -0
  444. package/src/writer/List/List.tsx +29 -0
  445. package/src/writer/List/index.ts +4 -0
  446. package/src/writer/NavLinks/NavLinks.styles.ts +23 -23
  447. package/src/writer/NavLinks/NavLinks.tsx +66 -19
  448. package/src/writer/Pre/Pre.styles.tsx +5 -5
  449. package/src/writer/Pre/Pre.tsx +4 -3
  450. package/src/writer/Steps/Steps.styles.tsx +14 -12
  451. package/src/writer/Steps/Steps.tsx +39 -10
  452. package/src/writer/Table/Table.styles.tsx +62 -30
  453. package/src/writer/Table/Table.tsx +121 -11
  454. package/src/writer/Table/index.ts +0 -7
  455. package/src/writer/Tabs/Tabs.styles.tsx +63 -70
  456. package/src/writer/Tabs/Tabs.tsx +31 -29
  457. package/src/writer/Text/Text.styles.tsx +66 -0
  458. package/src/writer/Text/Text.tsx +79 -0
  459. package/src/writer/Text/index.ts +3 -0
  460. package/src/writer/TocCard/TocCard.module.css +44 -0
  461. package/src/writer/TocCard/TocCard.tsx +42 -0
  462. package/src/writer/TocCard/index.ts +3 -0
  463. package/src/writer/UnderlineNav/Tabs.tsx +51 -0
  464. package/src/writer/UnderlineNav/TabsPrimary.styles.tsx +184 -0
  465. package/src/writer/UnderlineNav/TabsPrimary.tsx +209 -0
  466. package/src/writer/UnderlineNav/TabsSecondary.styles.tsx +77 -0
  467. package/src/writer/UnderlineNav/TabsSecondary.tsx +171 -0
  468. package/src/writer/UnderlineNav/UnderlineNav.styles.tsx +181 -45
  469. package/src/writer/UnderlineNav/UnderlineNav.tsx +258 -23
  470. package/src/writer/UnderlineNav/index.ts +2 -1
  471. package/src/writer/UnderlineNav/useValueChange.ts +60 -0
  472. package/src/writer/Update/Update.styles.tsx +33 -0
  473. package/src/writer/Update/Update.tsx +37 -0
  474. package/src/writer/Update/index.ts +1 -0
  475. package/src/writer/VideoGuide/VideoGuide.module.css +105 -0
  476. package/src/writer/VideoGuide/VideoGuide.tsx +75 -0
  477. package/src/writer/VideoGuide/index.ts +1 -0
  478. package/src/writer/index.ts +23 -1
  479. package/tsconfig.json +11 -6
  480. package/types.d.ts +50 -0
  481. package/writer.ts +1 -1
  482. package/dist/CTABanner-B-metiuR.js +0 -2
  483. package/dist/CTABanner-B-metiuR.js.map +0 -1
  484. package/dist/CTABanner-BytLRAOg.js +0 -2
  485. package/dist/CTABanner-BytLRAOg.js.map +0 -1
  486. package/dist/CTABanner-hcWUnRIm.js +0 -2
  487. package/dist/CTABanner-hcWUnRIm.js.map +0 -1
  488. package/dist/CodeSample-Bkdm9TLb.js +0 -2
  489. package/dist/CodeSample-Bkdm9TLb.js.map +0 -1
  490. package/dist/CodeSample-Bt6WJOYx.js +0 -2
  491. package/dist/CodeSample-Bt6WJOYx.js.map +0 -1
  492. package/dist/CodeSample-D-bGz40b.js +0 -2
  493. package/dist/CodeSample-D-bGz40b.js.map +0 -1
  494. package/dist/HomeView-C70Vzl0K.js +0 -2
  495. package/dist/HomeView-C70Vzl0K.js.map +0 -1
  496. package/dist/HomeView-DA0hRPl2.js +0 -2
  497. package/dist/HomeView-DA0hRPl2.js.map +0 -1
  498. package/dist/HomeView-sbl_99l1.js +0 -2
  499. package/dist/HomeView-sbl_99l1.js.map +0 -1
  500. package/dist/UnderlineNav-3vpnAIF7.js +0 -2
  501. package/dist/UnderlineNav-3vpnAIF7.js.map +0 -1
  502. package/dist/UnderlineNav-CnSXtQ0o.js +0 -2
  503. package/dist/UnderlineNav-CnSXtQ0o.js.map +0 -1
  504. package/dist/UnderlineNav-hAt4ieuk.js +0 -2
  505. package/dist/UnderlineNav-hAt4ieuk.js.map +0 -1
  506. package/dist/_rollupPluginBabelHelpers-CdarGYFF.js +0 -2
  507. package/dist/_rollupPluginBabelHelpers-CdarGYFF.js.map +0 -1
  508. package/dist/_rollupPluginBabelHelpers-DNCsaSlj.js +0 -2
  509. package/dist/_rollupPluginBabelHelpers-DNCsaSlj.js.map +0 -1
  510. package/dist/_rollupPluginBabelHelpers-Dyp77Dty.js +0 -2
  511. package/dist/_rollupPluginBabelHelpers-Dyp77Dty.js.map +0 -1
  512. package/dist/index-Bj8cSv3b.js +0 -2
  513. package/dist/index-Bj8cSv3b.js.map +0 -1
  514. package/dist/index-ByyyJDhj.js +0 -2
  515. package/dist/index-ByyyJDhj.js.map +0 -1
  516. package/dist/index-DcT-QJgO.js +0 -2
  517. package/dist/index-DcT-QJgO.js.map +0 -1
  518. package/dist/tslib.es6-BJOaQ_lJ.js +0 -2
  519. package/dist/tslib.es6-BS8I3nP0.js +0 -2
  520. package/dist/tslib.es6-DNz-U5oh.js +0 -2
  521. package/src/content/Anchor/Anchor.tsx +0 -63
  522. package/src/content/Anchor/index.tsx +0 -3
  523. package/src/content/Content/Content.tsx +0 -21
  524. package/src/content/Content/index.tsx +0 -3
  525. package/src/content/Content.tsx +0 -171
  526. package/src/content/Subtitle/Subtitle.tsx +0 -21
  527. package/src/content/Subtitle/index.tsx +0 -3
  528. package/src/layouts/Layout.styles.tsx +0 -151
  529. package/src/layouts/Layout.tsx +0 -121
  530. package/src/writer/Icon/index.tsx +0 -342
@@ -1,79 +1,167 @@
1
- import React, {Suspense} from "react";
2
- import type {HighlightedCode, AnnotationHandler} from "codehike/code";
3
- import {InnerLine, Pre} from "codehike/code";
4
- import {Theme} from "@code-hike/lighter";
1
+ import React, { Suspense } from "react";
2
+ import type { HighlightedCode, AnnotationHandler } from "codehike/code";
3
+ import { InnerLine, Pre } from "codehike/code";
4
+ import { Theme } from "@code-hike/lighter";
5
5
 
6
- import {CodeTheme, type CodeThemeBlockProps} from "../CodeTheme";
7
- import {$lineNumber, $mark, $code} from "./Code.styles.tsx";
6
+ import { Text } from "../../writer/Text"
7
+ import { CodeTheme, type CodeThemeBlockProps } from "../CodeTheme";
8
+ import * as cn from "./Code.styles";
9
+ import { CodeLoader } from "./CodeLoader";
10
+ import { Icon } from "src/writer/Icon";
8
11
 
9
12
  export interface CodeProps {
10
- codeblocks: CodeThemeBlockProps[];
13
+ codeblocks?: CodeThemeBlockProps[];
11
14
  theme?: Theme
12
15
  children: React.ReactNode
13
16
  }
14
17
 
15
18
  export function Code(props: CodeProps) {
16
- return <Suspense fallback={<$Loading/>}>
17
- <CodeTheme codeblocks={props.codeblocks} theme={props.theme}>
19
+ return <Suspense fallback={<CodeLoader />}>
20
+ <CodeTheme
21
+ codeblocks={props.codeblocks}
22
+ theme={props.theme}
23
+ >
18
24
  {props.children}
19
25
  </CodeTheme>
20
26
  </Suspense>
21
27
  }
22
28
 
23
- function $Loading() {
24
- return <>
25
- loading...
26
- </>
27
- }
28
-
29
29
  // TODO: fix any
30
- Code.LineNumber = function LineNumber(props: any) {
30
+ Code.LineNumber = function CodeLineNumber(props: any) {
31
31
  if (!props.children || !props.children.length) {
32
32
  return null
33
33
  }
34
34
  return (
35
- <>
36
- <span
37
- style={{minWidth: `${props.width}ch`}}
38
- className={$lineNumber.host}
35
+ <xyd-code-linenumber
36
+ className={cn.LineNumberHost}
37
+ style={{ minWidth: `${props.width}ch` }}
39
38
  >
40
- {props.lineNumber}
41
- </span>
42
- <InnerLine merge={props}/>
43
- </>
39
+ <span part="line-number">
40
+ {props.lineNumber}
41
+ </span>
42
+ <InnerLine merge={props} />
43
+ </xyd-code-linenumber>
44
44
  )
45
45
  }
46
46
 
47
47
  // TODO: fix any
48
- Code.Mark = function Mark(props: any) {
49
- return <div className={`${$mark.host} ${props.annotation && $mark.$$annotated}`}>
48
+ Code.Mark = function CodeMark(props: any) {
49
+ return <xyd-code-mark
50
+ data-diff={props.annotation?.diff ? "true" : undefined}
51
+ data-query={props.annotation?.diff && props.annotation?.query ? props.annotation?.query : undefined}
52
+ data-annotated={String(!!props.annotation)}
53
+ className={`${cn.MarkHost}`}
54
+ >
50
55
  <InnerLine
56
+ part="line"
51
57
  merge={props}
52
- className={$mark.line}
53
58
  />
54
- </div>
59
+ </xyd-code-mark>
60
+ }
61
+
62
+ Code.MarkInline = function CodeMarkInline(props: any) {
63
+ return (
64
+ <xyd-code-mark-inline
65
+ data-diff={props.annotation?.diff ? "true" : undefined}
66
+ data-query={props.annotation?.diff && props.annotation?.query ? props.annotation?.query : undefined}
67
+ className={cn.MarkInlineHost}
68
+ >
69
+ {props.children}
70
+ </xyd-code-mark-inline>
71
+ )
55
72
  }
56
73
 
57
74
  // TODO: fix any
58
75
  Code.Bg = function CodeLine(props: any) {
59
- return <span className={`${props.annotation && $mark.$$annotated}`}>
76
+ return <xyd-code-bg
77
+ data-annotated={String(!!props.annotation)}
78
+ className={`${cn.BgHost}`}
79
+ >
60
80
  {props.children}
61
- </span>
81
+ </xyd-code-bg>
62
82
  }
63
83
 
64
84
  Code.Pre = function CodePre(props: {
65
- codeblock: HighlightedCode,
66
- size?: "full",
67
- handlers: AnnotationHandler[]
68
- }
85
+ codeblock: HighlightedCode,
86
+ size?: "full",
87
+ handlers: AnnotationHandler[],
88
+ className?: string,
89
+ descriptionHead?: string | React.ReactNode,
90
+ descriptionContent?: string | React.ReactNode,
91
+ descriptionIcon?: string
92
+ }
69
93
  ) {
70
- return <Pre
71
- className={`
72
- ${$code.host}
73
- ${props?.size === "full" && $code.host$$full}
74
- `}
75
- style={props.codeblock?.style || props.codeblock?.style}
76
- code={props.codeblock}
77
- handlers={props.handlers}
78
- />
94
+ const {
95
+ size,
96
+ className,
97
+ codeblock,
98
+ handlers,
99
+ } = props;
100
+
101
+ fixLastToken(codeblock)
102
+
103
+ let description: React.ReactNode | null = null
104
+
105
+ if (props.descriptionHead || props.descriptionContent) {
106
+ description = <div part="code-description" className={cn.CodeDescription}>
107
+ <div>
108
+ {props.descriptionIcon ? <Icon name={props.descriptionIcon} size={16} /> : <_DefaultDescriptionIcon />}
109
+ </div>
110
+
111
+ <div>
112
+ <Text weight="bold">
113
+ {props.descriptionHead}
114
+ </Text>
115
+ <span>
116
+ {props.descriptionContent}
117
+ </span>
118
+ </div>
119
+ </div>
120
+
121
+ }
122
+ return <xyd-code-pre>
123
+ <Pre
124
+ part="pre"
125
+ data-size={size}
126
+ style={codeblock?.style || codeblock?.style}
127
+ className={`${cn.CodeHost} ${className || ""}`}
128
+ code={codeblock}
129
+ handlers={handlers}
130
+ />
131
+
132
+ {description}
133
+ </xyd-code-pre>
134
+ }
135
+
136
+ /**
137
+ * FOR SOME REASONS FOR SINGLE CODE BLOCKS LAST TOKEN IS EMPTY STRING
138
+ *
139
+ * @todo: fix this
140
+ */
141
+ function fixLastToken(codeblock: HighlightedCode) {
142
+ const lastToken = codeblock.tokens[codeblock.tokens.length - 1]
143
+ if (typeof lastToken === 'string' && (lastToken === ' ' || lastToken === '\n')) {
144
+ codeblock.tokens.pop()
145
+ }
146
+ }
147
+
148
+ function _DefaultDescriptionIcon() {
149
+ return <svg
150
+ xmlns="http://www.w3.org/2000/svg"
151
+ viewBox="0 0 24 24"
152
+ strokeWidth={3}
153
+ stroke="currentColor"
154
+ fill="none"
155
+ width={16}
156
+ strokeLinecap="round"
157
+ strokeLinejoin="round"
158
+ >
159
+ <path stroke="none" d="M0 0h24v24H0z" fill="none" />
160
+ <path d="M12 12l8 -4.5" />
161
+ <path d="M12 12v9" />
162
+ <path d="M12 12l-8 -4.5" />
163
+ <path d="M12 12l8 4.5" />
164
+ <path d="M12 3v9" />
165
+ <path d="M12 12l-8 4.5" />
166
+ </svg>
79
167
  }
@@ -0,0 +1,10 @@
1
+ import React from "react";
2
+
3
+ import * as cn from "./Code.styles";
4
+ import {Loader} from "../../kit";
5
+
6
+ export function CodeLoader() {
7
+ return <xyd-code-loader className={cn.CodeHost}>
8
+ <Loader/>
9
+ </xyd-code-loader>
10
+ }
@@ -1,31 +1,51 @@
1
1
  import React from "react";
2
- import {AnnotationHandler} from "codehike/code";
2
+ import { AnnotationHandler, BlockAnnotation, InnerLine } from "codehike/code";
3
3
 
4
- import {Code} from "./Code.tsx";
4
+ import { Code } from "./Code";
5
5
 
6
6
  const markAnnotation: AnnotationHandler = {
7
7
  name: "mark",
8
8
  Line: (props) => {
9
- return <Code.Mark {...props}/>
10
- }
9
+ return <Code.Mark {...props} />
10
+ },
11
+ Inline: (props) => {
12
+ return <Code.MarkInline {...props} />
13
+ },
11
14
  }
12
15
 
13
16
  const bgAnnotation: AnnotationHandler = {
14
17
  name: "bg",
15
18
  Inline: (props) => {
16
- return <Code.Bg {...props}/>
19
+ return <Code.Bg {...props} />
17
20
  }
18
21
  }
19
22
 
20
23
  const lineNumberAnnotation: AnnotationHandler = {
21
24
  name: "line-numbers",
22
- Line: ({annotation, ...props}) => {
23
- return <Code.LineNumber {...props}/>
25
+ Line: ({ annotation, ...props }) => {
26
+ return <Code.LineNumber {...props} />
27
+ },
28
+ }
29
+
30
+ export const diffAnnotation: AnnotationHandler = {
31
+ name: "diff",
32
+ onlyIfAnnotated: true,
33
+ transform: (annotation: BlockAnnotation) => {
34
+ return [annotation, { ...annotation, name: "mark", query: annotation.query, diff: true }]
24
35
  },
36
+ Line: ({ annotation, ...props }) => (
37
+ <>
38
+ <div>
39
+ {annotation?.query}
40
+ </div>
41
+ <InnerLine merge={props} />
42
+ </>
43
+ ),
25
44
  }
26
45
 
27
46
  export const annotations = {
28
47
  mark: markAnnotation,
29
48
  bg: bgAnnotation,
30
- lineNumbers: lineNumberAnnotation
49
+ lineNumbers: lineNumberAnnotation,
50
+ diff: diffAnnotation
31
51
  }
@@ -7,6 +7,7 @@ import {
7
7
  import {
8
8
  type Lines,
9
9
  type Tokens,
10
+ highlight as lighterAsync,
10
11
  highlightSync as lighter,
11
12
  LANG_NAMES,
12
13
  type Theme
@@ -57,6 +58,43 @@ export function highlight(
57
58
  };
58
59
  }
59
60
 
61
+ export async function highlightAsync(
62
+ data: RawCode,
63
+ theme: Theme,
64
+ lang: string
65
+ ): Promise<HighlightedCode> {
66
+ if (!LANG_NAMES.includes(lang)) {
67
+ console.warn(`Unknown language "${lang}"`);
68
+ lang = 'txt';
69
+ }
70
+
71
+ const {
72
+ lines,
73
+ lang: lighterLang,
74
+ style
75
+ } = await lighterAsync(data.value, lang, theme as any, {
76
+ annotations: [],
77
+ scopes: false // true for better token transitions, but breaks css themes
78
+ });
79
+
80
+ const tokens = joinLines(lines);
81
+ // split surrounding whitespace for each token
82
+ const splitTokens = splitWhitespace(tokens);
83
+ // join consecutive whitespace tokens
84
+ const joinedTokens = joinWhitespace(splitTokens);
85
+
86
+ return {
87
+ ...data,
88
+ code: data.value,
89
+ tokens: joinedTokens,
90
+ lang: lighterLang,
91
+ annotations: [], // TODO: in the future
92
+ // annotations: compatAnnotations(annotations),
93
+ themeName: typeof theme === 'string' ? theme : theme?.name || 'unknown',
94
+ style
95
+ };
96
+ }
97
+
60
98
  function compatAnnotations(annotations: any[]): CodeAnnotation[] {
61
99
  const newAnnotations: CodeAnnotation[] = [];
62
100
  for (const a of annotations) {
@@ -5,8 +5,12 @@ export type {
5
5
  CodeProps
6
6
  } from "./Code"
7
7
  export {
8
- Code
8
+ Code,
9
9
  } from "./Code"
10
10
  export {
11
- highlight
11
+ CodeLoader,
12
+ } from "./CodeLoader"
13
+ export {
14
+ highlight,
15
+ highlightAsync
12
16
  } from "./highlight"
@@ -1,9 +1,9 @@
1
1
  import {css} from "@linaria/core";
2
2
 
3
- export const $copy = {
4
- host: css`
3
+ export const CodeCopyHost = css`
4
+ @layer defaults {
5
5
  all: unset;
6
-
6
+
7
7
  cursor: pointer;
8
8
 
9
9
  display: flex;
@@ -15,7 +15,7 @@ export const $copy = {
15
15
 
16
16
  &:hover {
17
17
  transition: ease-in 0.1s;
18
- background: #e3e3eb;
18
+ background: var(--xyd-code-copy-color);
19
19
  }
20
- `
21
- }
20
+ }
21
+ `;
@@ -1,9 +1,7 @@
1
1
  import React, {useState} from "react"
2
2
  import {Copy, CheckCheck} from "lucide-react"
3
3
 
4
- import {
5
- $copy
6
- } from "./CodeCopy.style"
4
+ import * as cn from "./CodeCopy.styles"
7
5
 
8
6
  export interface CodeCopyProps {
9
7
  text: string
@@ -20,13 +18,15 @@ export function CodeCopy({text}: CodeCopyProps) {
20
18
  }, 1200)
21
19
  }
22
20
 
23
- return (
21
+ return <xyd-code-copy>
24
22
  <button
23
+ part="button"
24
+ className={cn.CodeCopyHost}
25
25
  aria-label="Copy to clipboard"
26
26
  onClick={onClick}
27
- className={$copy.host}
28
27
  >
29
28
  {copied ? <CheckCheck size={16}/> : <Copy size={16}/>}
30
29
  </button>
31
- )
30
+ </xyd-code-copy>
31
+
32
32
  }
@@ -1,7 +1,7 @@
1
1
  import React from "react";
2
- import {Theme} from "@code-hike/lighter";
2
+ import { Theme } from "@code-hike/lighter";
3
3
 
4
- import type {CodeThemeBlockProps} from "../CodeTheme";
4
+ import type { CodeThemeBlockProps } from "../CodeTheme";
5
5
 
6
6
  import {
7
7
  Code,
@@ -10,38 +10,106 @@ import {
10
10
  import {
11
11
  withCodeTabs
12
12
  } from "../CodeTabs";
13
- import {useCodeTheme} from "../CodeTheme";
13
+ import { useCodeTheme } from "../CodeTheme";
14
+ import { useCoder } from "../CoderProvider";
14
15
 
15
16
  export interface CodeSampleProps {
16
17
  name: string;
17
18
  description: string;
18
- codeblocks: CodeThemeBlockProps[];
19
- size?: "full"
19
+ codeblocks?: CodeThemeBlockProps[];
20
20
  theme?: Theme
21
+ size?: "full"
22
+ lineNumbers?: boolean
23
+ descriptionHead?: string
24
+ descriptionContent?: string | React.ReactNode
25
+ descriptionIcon?: string
26
+ kind?: "secondary"
27
+ controlByMeta?: boolean // TODO: BETTER IN THE FUTURE
21
28
  }
22
29
 
30
+ const CodeContext = React.createContext<{
31
+ size?: "full"
32
+ lineNumbers?: boolean
33
+ descriptionHead?: string
34
+ descriptionContent?: string | React.ReactNode
35
+ descriptionIcon?: string
36
+ }>({})
37
+
23
38
  export function CodeSample(props: CodeSampleProps) {
24
- return <Code codeblocks={props.codeblocks} theme={props.theme}>
25
- <$ThemedCodeSample {...props}/>
39
+ return <Code
40
+ codeblocks={props.codeblocks}
41
+ theme={props.theme}
42
+ >
43
+ <$ThemedCodeSample {...props} />
26
44
  </Code>
27
45
  }
28
46
 
29
47
  function $ThemedCodeSample(props: CodeSampleProps) {
30
- const {highlighted} = useCodeTheme()
48
+ const { highlighted } = useCodeTheme()
49
+ const coder = useCoder()
31
50
 
32
- return <$CodeSampleTabs
33
- description={props.description}
34
- highlighted={highlighted}
35
- size={props.size}
36
- />
51
+ if (props.kind === "secondary") {
52
+ return <CodeContext value={{
53
+ size: props.size,
54
+ lineNumbers: props.lineNumbers,
55
+ descriptionHead: props.descriptionHead,
56
+ descriptionContent: props.descriptionContent,
57
+ descriptionIcon: props.descriptionIcon,
58
+ }}>
59
+ <Code.Pre
60
+ codeblock={highlighted[0]}
61
+ handlers={[
62
+ annotations.mark,
63
+ annotations.bg,
64
+ annotations.lineNumbers
65
+ ]}
66
+ />
67
+ </CodeContext>
68
+ }
69
+
70
+ let size: "full" | undefined = undefined
71
+ if (typeof props.size === "string") {
72
+ size = props.size
73
+ } else if (typeof coder.scroll === "boolean" && !coder.scroll) {
74
+ size = "full"
75
+ }
76
+
77
+ const lineNumbers = props.lineNumbers ?? coder.lines
78
+
79
+ return <CodeContext value={{
80
+ size,
81
+ lineNumbers,
82
+ descriptionHead: props.descriptionHead,
83
+ descriptionContent: props.descriptionContent,
84
+ descriptionIcon: props.descriptionIcon,
85
+ }}>
86
+ <$CodeSampleTabs
87
+ description={props.description}
88
+ highlighted={highlighted}
89
+ controlByMeta={props.controlByMeta}
90
+ />
91
+ </CodeContext>
37
92
  }
38
93
 
39
- const $CodeSampleTabs = withCodeTabs((props) => <Code.Pre
40
- {...props}
41
- handlers={[
94
+ const $CodeSampleTabs = withCodeTabs((props) => {
95
+ const { lineNumbers, size, descriptionHead, descriptionContent, descriptionIcon } = React.useContext(CodeContext)
96
+ const handlers = [
42
97
  annotations.mark,
43
98
  annotations.bg,
44
- annotations.lineNumbers
45
- ]}
46
- />)
99
+ annotations.diff
100
+ ]
101
+
102
+ if (lineNumbers) {
103
+ handlers.push(annotations.lineNumbers)
104
+ }
105
+
106
+ return <Code.Pre
107
+ {...props}
108
+ descriptionHead={descriptionHead}
109
+ descriptionContent={descriptionContent}
110
+ descriptionIcon={descriptionIcon}
111
+ size={size}
112
+ handlers={handlers}
113
+ />
114
+ })
47
115