@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,74 +1,118 @@
1
1
  import React from "react"
2
2
 
3
- import {$details} from "./Details.styles";
3
+ import * as cn from "./Details.styles";
4
4
 
5
- interface BaseDetailsProps {
5
+ /**
6
+ * Base interface for all Details component variants
7
+ */
8
+ export interface BaseDetailsProps {
9
+ /** Content to be displayed inside the details element */
6
10
  children: React.ReactNode;
11
+
12
+ /** Label text displayed in the summary */
7
13
  label: string;
14
+
15
+ /** Optional icon element to be displayed in the summary */
16
+ icon?: React.ReactElement;
17
+
18
+ /** Optional CSS class name for custom styling */
19
+ className?: string;
20
+ }
21
+
22
+ /**
23
+ * Props for the tertiary variant of the Details component
24
+ */
25
+ export interface TertiaryDetailsProps extends BaseDetailsProps {
26
+ /** Specifies the tertiary variant */
27
+ kind: "tertiary";
28
+
29
+ /** Title text or element displayed in the summary */
30
+ title: string | React.ReactNode;
8
31
  }
9
32
 
10
- interface SecondaryDetailsProps extends BaseDetailsProps {
33
+ /**
34
+ * Props for the secondary variant of the Details component
35
+ */
36
+ export interface SecondaryDetailsProps extends BaseDetailsProps {
37
+ /** Specifies the secondary variant */
11
38
  kind: "secondary";
12
- title: string;
39
+
40
+ /** Title text or element displayed in the summary */
41
+ title: string | React.ReactNode;
13
42
  }
14
43
 
15
- interface PrimaryDetailsProps extends BaseDetailsProps {
44
+ /**
45
+ * Props for the primary variant of the Details component
46
+ */
47
+ export interface PrimaryDetailsProps extends BaseDetailsProps {
48
+ /** Specifies the primary variant (default) */
16
49
  kind?: "primary";
17
50
  }
18
51
 
19
- export type DetailsProps = PrimaryDetailsProps | SecondaryDetailsProps;
52
+ /** Union type of all possible Details component variants */
53
+ export type DetailsProps = PrimaryDetailsProps | SecondaryDetailsProps | TertiaryDetailsProps
54
+
55
+ /**
56
+ * A collapsible details component that supports three variants: primary, secondary, and tertiary.
57
+ * Each variant has a different visual style and structure.
58
+ *
59
+ * @param props - The component props
60
+ * @returns A details element with collapsible content
61
+ *
62
+ * @category Component
63
+ */
64
+ export function Details(props: DetailsProps): React.ReactElement {
65
+ const { children, label } = props;
20
66
 
21
- export function Details(props: DetailsProps) {
22
- let title = "";
23
- const {children, label} = props;
67
+ let title
24
68
 
25
- if (props.kind === "secondary") {
69
+ const isDeepKind = ["secondary", "tertiary"].includes(props.kind || "");
70
+
71
+ if (isDeepKind && "title" in props) {
26
72
  title = props.title;
27
73
  }
28
74
 
29
75
  const kind = props.kind || "primary";
30
76
 
31
- return <details className={`
32
- ${$details.host}
33
- ${kind === "secondary" && $details.host$$secondary}
34
- `}>
35
- <summary className={`
36
- ${$details.summary}
37
- ${kind === "secondary" && $details.summary$$secondary}
38
- `}>
39
- {kind === "primary" && <>
40
- <$Icon/>
41
- <$Label>
42
- {label}
43
- </$Label>
44
- </>}
45
- {kind === "secondary" && <>
77
+ return <details
78
+ part="details"
79
+ className={`${cn.DetailsHost} ${props.className || ""}`}
80
+ data-kind={props.kind}
81
+ >
82
+ <summary part="summary">
83
+ {kind === "primary" && (
84
+ <>
85
+ {props.icon || <$Icon />}
86
+ <div part="summary-deep-label">
87
+ {label}
88
+ </div>
89
+ </>
90
+ )}
91
+
92
+ {isDeepKind && (
46
93
  <div>
47
- <div className={$details.summaryDeep}>
48
- <$IconDeep/>
49
- <div className={$details.summaryDeep$text}>
94
+ <div part="summary-deep">
95
+ {props.icon || <$IconDeep />}
96
+ <div part="summary-deep-text">
50
97
  {title}
51
98
  </div>
52
99
  </div>
53
- <$Label>
100
+ <div part="summary-deep-label">
54
101
  {label}
55
- </$Label>
56
- </div>
57
- <$Icon/>
58
- </>}
102
+ </div>
103
+ </div>
104
+ )}
105
+ {isDeepKind && <$Icon />}
59
106
  </summary>
60
107
 
61
- <div className={`
62
- ${$details.content}
63
- ${kind === "secondary" && $details.content$$secondary}
64
- `}>
108
+ <div part="content">
65
109
  {children}
66
110
  </div>
67
111
  </details>
68
112
  }
69
113
 
70
114
  function $Icon() {
71
- return <div className={$details.icon}>
115
+ return <div part="icon">
72
116
  <svg
73
117
  // TODO: bad solution
74
118
  data-icon="true"
@@ -107,16 +151,9 @@ function $IconDeep() {
107
151
  </g>
108
152
  <defs>
109
153
  <clipPath id="clip0_1689_2180">
110
- <rect width={24} height={24} fill="white"/>
154
+ <rect width={24} height={24} fill="white" />
111
155
  </clipPath>
112
156
  </defs>
113
157
  </svg>
114
158
  }
115
159
 
116
- function $Label({children}: {
117
- children?: React.ReactNode
118
- }) {
119
- return <div className={$details.label}>
120
- {children}
121
- </div>
122
- }
@@ -0,0 +1,5 @@
1
+ import React from "react"
2
+
3
+ export function Example() {
4
+ return <div>Example xD 2</div>
5
+ }
@@ -1,115 +1,116 @@
1
- import {css} from "@linaria/core";
2
-
3
- export const $guide = {
4
- host: css`
5
- `,
6
- host$$secondary: css`
7
- //flex-grow: 1;
8
- //width: 100%;
9
- display: flex;
10
- position: relative;
11
- overflow: hidden;
12
- border: .5px solid #ececf1;
13
- background: linear-gradient(238deg, rgba(247, 247, 248, .5) 0%, rgba(247, 247, 248, 1) 100%);
14
- border-radius: 8px;
15
- padding: 16px 20px 20px;
16
- z-index: 0;
17
- transition: box-shadow .2s ease-in-out, background-image .2s ease;
18
-
19
- &:hover {
20
- background: linear-gradient(238deg, rgba(255, 255, 255, .5) 0%, rgba(250, 250, 250, 1) 100%);
1
+ import { css } from "@linaria/core";
2
+
3
+ export const GuideHost = css`
4
+ @layer defaults {
5
+ display: block;
6
+
7
+ &[data-kind="secondary"] {
8
+ display: flex;
9
+ position: relative;
10
+ overflow: hidden;
11
+ border: 1px solid var(--xyd-guidecard-border-color--secondary);
12
+ background: var(--xyd-guidecard-bgcolor--secondary);
13
+ border-radius: 8px;
14
+ padding: 24px;
15
+ z-index: 0;
16
+ transition: box-shadow .2s ease-in-out, background-image .2s ease;
17
+
18
+ &:hover {
19
+ background: var(--xyd-guidecard-bgcolor--secondary-hover);
20
+ }
21
+
22
+ &[data-size="md"] {
23
+ padding: 21px 25px 25px;
24
+ }
25
+ }
26
+
27
+ [part="link"] {
28
+ width: 100%;
29
+ height: 100%;
21
30
  }
22
- `,
23
- host$$secondary$$md: css`
24
- padding: 21px 25px 25px;
25
- `,
26
- link: css`
27
- width: 100%;
28
- height: 100%;
29
- `,
30
- item: css`
31
- border-radius: 8px;
32
- display: flex;
33
-
34
- align-items: flex-start;
35
- cursor: pointer;
36
- transition: opacity .15s;
37
-
38
- &:hover {
39
- [data-pointer="true"] {
40
- opacity: 1;
41
- transform: translate(0);
31
+
32
+ [part="item"] {
33
+ border-radius: 8px;
34
+ display: flex;
35
+
36
+ align-items: flex-start;
37
+ cursor: pointer;
38
+ transition: opacity .15s;
39
+
40
+ &:hover {
41
+ [part="pointer"] {
42
+ opacity: 1;
43
+ transform: translate(0);
44
+ }
42
45
  }
43
46
  }
44
- `,
45
- item$$secondary: css`
46
- width: 100%;
47
- height: 100%;
48
- `,
49
- icon: css`
50
- line-height: 0px;
51
- font-size: 24px;
52
- border-radius: 8px;
53
- width: 48px;
54
- height: 48px;
55
- display: flex;
56
- justify-content: center;
57
- align-items: center;
58
- color: #353740;
59
- border: 1px solid #ececf1;
60
- background: linear-gradient(238deg, rgba(255, 255, 255, .5) 0%, rgba(250, 250, 250, 1) 100%);
61
- transition: background .2s ease;
62
- box-sizing: border-box;
63
- flex-shrink: 0;
64
- `,
65
- right: css`
66
- padding-left: 16px;
67
- display: flex;
68
- flex-direction: column;
69
- gap: 4px;
70
- `,
71
- title: css`
72
- display: flex;
73
- color: #202123;
74
- font-weight: 400;
75
- align-items: center;
76
- transition: color .15s;
77
- `,
78
- titleBody: css`
79
- font-size: 16px;
80
- line-height: 20px;
81
- `,
82
- titleBody$$md: css`
83
- font-size: 18px;
84
- `,
85
- body: css`
86
- font-weight: 400;
87
- font-size: 14px;
88
- line-height: 20px;
89
-
90
- color: #6e6e80;
91
- white-space: normal;
92
- overflow: hidden;
93
- text-overflow: ellipsis;
94
- `,
95
- body$$md: css`
96
- font-size: 16px;
97
- `,
98
- pointer: css`
99
- opacity: 0;
100
- transform: translate(-4px);
101
- display: flex;
102
- justify-content: center;
103
- transition: opacity .15s ease-in-out, transform .15s ease-in-out;
104
- `
105
- }
47
+ &[data-kind="secondary"] [part="item"] {
48
+ width: 100%;
49
+ height: 100%;
50
+ }
51
+
52
+ [part="icon"] {
53
+ height: 32px;
54
+ display: flex;
55
+ justify-content: center;
56
+ align-items: center;
57
+ color: var(--xyd-guidecard-icon-color);
58
+ transition: background .2s ease;
59
+ box-sizing: border-box;
60
+ flex-shrink: 0;
106
61
 
62
+ svg {
63
+ width: 24px;
64
+ height: 24px;
65
+ }
66
+ }
67
+
68
+ [part="right"] {
69
+ padding-left: 16px;
70
+ display: flex;
71
+ flex-direction: column;
72
+ gap: 4px;
73
+ }
74
+
75
+ [part="title"] {
76
+ display: flex;
77
+ color: var(--xyd-guidecard-title-color);
78
+ align-items: center;
79
+ font-weight: var(--xyd-font-weight-semibold);
80
+ transition: color .15s;
81
+ }
82
+
83
+ [part="title-body"] {
84
+ }
85
+ &[data-size="md"] [part="title-body"] {
86
+ }
87
+
88
+ [part="body"] {
89
+ font-weight: var(--xyd-font-weight-normal);
90
+
91
+ color: var(--xyd-guidecard-color);
92
+ white-space: normal;
93
+ overflow: hidden;
94
+ text-overflow: ellipsis;
95
+ }
96
+ &[data-size="md"] [part="body"] {
97
+ }
98
+
99
+ [part="pointer"] {
100
+ opacity: 0;
101
+ transform: translate(-4px);
102
+ display: flex;
103
+ justify-content: center;
104
+ transition: opacity .15s ease-in-out, transform .15s ease-in-out;
105
+ }
106
+ }
107
+ `;
107
108
 
108
- export const $list = {
109
- host: css`
109
+ export const GuideListHost = css`
110
+ @layer defaults {
110
111
  display: grid;
111
112
  grid-template-columns: 1fr 1fr;
112
113
  justify-content: center;
113
- gap: 30px;
114
- `
115
- }
114
+ gap: 24px;
115
+ }
116
+ `;
@@ -1,69 +1,95 @@
1
1
  import React from "react"
2
2
 
3
- import {$guide, $list} from "./GuideCard.styles";
3
+ import * as cn from "./GuideCard.styles";
4
4
 
5
+ /**
6
+ * Props for the GuideCard component
7
+ */
5
8
  export interface GuideCardProps {
9
+ /** Content to be displayed in the card body */
6
10
  children: React.ReactNode;
11
+
12
+ /** URL the card links to */
7
13
  href: string
14
+
15
+ /** Title displayed at the top of the card */
8
16
  title: string;
17
+
18
+ /** Optional icon displayed to the left of the content */
9
19
  icon?: React.ReactNode;
20
+
21
+ /** Visual style variant of the card */
10
22
  kind?: "secondary"
23
+
24
+ /** Size variant of the card */
11
25
  size?: "sm" | "md"
26
+
27
+ /** Additional CSS class names to apply to the card */
28
+ className?: string
29
+
30
+ /** Additional props to pass to the link element */
31
+ as?: React.ElementType
12
32
  }
13
33
 
34
+ /**
35
+ * A card component that displays content with a title and optional icon.
36
+ * The entire card is clickable and links to the specified URL.
37
+ *
38
+ * @category Component
39
+ */
14
40
  export function GuideCard({
15
- children,
16
- href,
17
- icon,
18
- title,
19
- kind,
20
- size,
41
+ children,
42
+ href,
43
+ icon,
44
+ title,
45
+ kind,
46
+ size,
47
+ className,
48
+ as,
49
+ }: GuideCardProps) {
50
+ const Link = as || $Link
21
51
 
22
- }: GuideCardProps) {
23
- return <div className={`
24
- ${$guide.host}
25
- ${kind === "secondary" && $guide.host$$secondary}
26
- ${kind === "secondary" && size == "md" && $guide.host$$secondary$$md}
27
- `}>
28
- <a className={$guide.link} href={href}>
29
- <div className={`
30
- ${$guide.item}
31
- ${kind === "secondary" && $guide.item$$secondary}
32
- `}>
33
- {icon && <div className={$guide.icon}>
52
+ return <xyd-guidecard
53
+ className={`${cn.GuideHost} ${className || ""}`}
54
+ data-kind={kind}
55
+ data-size={size}
56
+ >
57
+ <Link part="link" href={href}>
58
+ <div part="item">
59
+ {icon && <div part="icon">
34
60
  {icon}
35
61
  </div>}
36
- <div className={$guide.right}>
37
- <div className={$guide.title}>
38
- <div className={`
39
- ${$guide.title}
40
- ${$guide.titleBody}
41
- ${size == "md" && $guide.titleBody$$md}
42
- `}>
62
+ <div part="right">
63
+ <div part="title">
64
+ <div part="title-body">
43
65
  {title}
44
66
  </div>
45
- <$Pointer/>
67
+ <$Pointer />
46
68
  </div>
47
- <div className={`
48
- ${$guide.body}
49
- ${size == "md" && $guide.body$$md}
50
- `}>
69
+ <div part="body">
51
70
  {children}
52
71
  </div>
53
72
  </div>
54
73
  </div>
55
- </a>
56
- </div>
74
+ </Link>
75
+ </xyd-guidecard>
57
76
  }
58
77
 
59
- GuideCard.List = function GuideCardList({children}: { children: React.ReactNode }) {
60
- return <div className={$list.host}>
78
+ /**
79
+ * A container component for grouping multiple GuideCard components.
80
+ * Provides consistent spacing and layout for a list of guide cards.
81
+ */
82
+ GuideCard.List = function GuideCardList({ children }: { children: React.ReactNode }) {
83
+ return <xyd-guidecard-list className={cn.GuideListHost}>
61
84
  {children}
62
- </div>
85
+ </xyd-guidecard-list>
63
86
  }
64
87
 
88
+ /**
89
+ * Internal component that renders the arrow pointer icon.
90
+ */
65
91
  function $Pointer() {
66
- return <div data-pointer="true" className={$guide.pointer}>
92
+ return <div part="pointer">
67
93
  <svg
68
94
  xmlns="http://www.w3.org/2000/svg"
69
95
  width={24}
@@ -78,4 +104,13 @@ function $Pointer() {
78
104
  />
79
105
  </svg>
80
106
  </div>
107
+ }
108
+
109
+ function $Link({ href, children, ...rest }) {
110
+ return <a
111
+ href={href}
112
+ {...rest}
113
+ >
114
+ {children}
115
+ </a>
81
116
  }