@zleap-ai/icons 0.0.28

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 (455) hide show
  1. package/README.md +155 -0
  2. package/dist/cjs/changelog-generator.js +300 -0
  3. package/dist/cjs/changelog-generator.js.map +1 -0
  4. package/dist/cjs/component-generator.js +434 -0
  5. package/dist/cjs/component-generator.js.map +1 -0
  6. package/dist/cjs/figma-client.js +260 -0
  7. package/dist/cjs/figma-client.js.map +1 -0
  8. package/dist/cjs/icon-filter.js +278 -0
  9. package/dist/cjs/icon-filter.js.map +1 -0
  10. package/dist/cjs/icon-search.js +43 -0
  11. package/dist/cjs/icon-search.js.map +1 -0
  12. package/dist/cjs/icon-validator.js +369 -0
  13. package/dist/cjs/icon-validator.js.map +1 -0
  14. package/dist/cjs/icons/IconArrowRight.js +17 -0
  15. package/dist/cjs/icons/IconArrowRight.js.map +1 -0
  16. package/dist/cjs/icons/IconBack.js +17 -0
  17. package/dist/cjs/icons/IconBack.js.map +1 -0
  18. package/dist/cjs/icons/IconBack1.js +17 -0
  19. package/dist/cjs/icons/IconBack1.js.map +1 -0
  20. package/dist/cjs/icons/IconBangZhuShuoMing.js +17 -0
  21. package/dist/cjs/icons/IconBangZhuShuoMing.js.map +1 -0
  22. package/dist/cjs/icons/IconBaoGaoZhuShou.js +20 -0
  23. package/dist/cjs/icons/IconBaoGaoZhuShou.js.map +1 -0
  24. package/dist/cjs/icons/IconCheck.js +17 -0
  25. package/dist/cjs/icons/IconCheck.js.map +1 -0
  26. package/dist/cjs/icons/IconCheck1.js +17 -0
  27. package/dist/cjs/icons/IconCheck1.js.map +1 -0
  28. package/dist/cjs/icons/IconChengYuanGuanLi.js +20 -0
  29. package/dist/cjs/icons/IconChengYuanGuanLi.js.map +1 -0
  30. package/dist/cjs/icons/IconChongXinFaSong.js +17 -0
  31. package/dist/cjs/icons/IconChongXinFaSong.js.map +1 -0
  32. package/dist/cjs/icons/IconCloseCircle.js +17 -0
  33. package/dist/cjs/icons/IconCloseCircle.js.map +1 -0
  34. package/dist/cjs/icons/IconCuoWu.js +17 -0
  35. package/dist/cjs/icons/IconCuoWu.js.map +1 -0
  36. package/dist/cjs/icons/IconDingDing.js +17 -0
  37. package/dist/cjs/icons/IconDingDing.js.map +1 -0
  38. package/dist/cjs/icons/IconEdit03.js +17 -0
  39. package/dist/cjs/icons/IconEdit03.js.map +1 -0
  40. package/dist/cjs/icons/IconFanHui.js +17 -0
  41. package/dist/cjs/icons/IconFanHui.js.map +1 -0
  42. package/dist/cjs/icons/IconFangDa.js +17 -0
  43. package/dist/cjs/icons/IconFangDa.js.map +1 -0
  44. package/dist/cjs/icons/IconFrame.js +17 -0
  45. package/dist/cjs/icons/IconFrame.js.map +1 -0
  46. package/dist/cjs/icons/IconFrame1261156242.js +17 -0
  47. package/dist/cjs/icons/IconFrame1261156242.js.map +1 -0
  48. package/dist/cjs/icons/IconGuanBi.js +17 -0
  49. package/dist/cjs/icons/IconGuanBi.js.map +1 -0
  50. package/dist/cjs/icons/IconGuanBi1.js +17 -0
  51. package/dist/cjs/icons/IconGuanBi1.js.map +1 -0
  52. package/dist/cjs/icons/IconGuanBiXiao.js +17 -0
  53. package/dist/cjs/icons/IconGuanBiXiao.js.map +1 -0
  54. package/dist/cjs/icons/IconGuanBiXiao1.js +17 -0
  55. package/dist/cjs/icons/IconGuanBiXiao1.js.map +1 -0
  56. package/dist/cjs/icons/IconLianJie.js +17 -0
  57. package/dist/cjs/icons/IconLianJie.js.map +1 -0
  58. package/dist/cjs/icons/IconLianJie1.js +17 -0
  59. package/dist/cjs/icons/IconLianJie1.js.map +1 -0
  60. package/dist/cjs/icons/IconQiWeiJiQiRen.js +17 -0
  61. package/dist/cjs/icons/IconQiWeiJiQiRen.js.map +1 -0
  62. package/dist/cjs/icons/IconQiYeBan.js +20 -0
  63. package/dist/cjs/icons/IconQiYeBan.js.map +1 -0
  64. package/dist/cjs/icons/IconRss.js +17 -0
  65. package/dist/cjs/icons/IconRss.js.map +1 -0
  66. package/dist/cjs/icons/IconSearch.js +17 -0
  67. package/dist/cjs/icons/IconSearch.js.map +1 -0
  68. package/dist/cjs/icons/IconSearch1.js +17 -0
  69. package/dist/cjs/icons/IconSearch1.js.map +1 -0
  70. package/dist/cjs/icons/IconSheZhi.js +17 -0
  71. package/dist/cjs/icons/IconSheZhi.js.map +1 -0
  72. package/dist/cjs/icons/IconShengCheng.js +17 -0
  73. package/dist/cjs/icons/IconShengCheng.js.map +1 -0
  74. package/dist/cjs/icons/IconShiBai.js +17 -0
  75. package/dist/cjs/icons/IconShiBai.js.map +1 -0
  76. package/dist/cjs/icons/IconShouQi.js +17 -0
  77. package/dist/cjs/icons/IconShouQi.js.map +1 -0
  78. package/dist/cjs/icons/IconSouSuoZhuShou.js +20 -0
  79. package/dist/cjs/icons/IconSouSuoZhuShou.js.map +1 -0
  80. package/dist/cjs/icons/IconSuoXiao.js +17 -0
  81. package/dist/cjs/icons/IconSuoXiao.js.map +1 -0
  82. package/dist/cjs/icons/IconTianJia.js +17 -0
  83. package/dist/cjs/icons/IconTianJia.js.map +1 -0
  84. package/dist/cjs/icons/IconTongZhi.js +17 -0
  85. package/dist/cjs/icons/IconTongZhi.js.map +1 -0
  86. package/dist/cjs/icons/IconTongZhi1.js +17 -0
  87. package/dist/cjs/icons/IconTongZhi1.js.map +1 -0
  88. package/dist/cjs/icons/IconTuiChu.js +17 -0
  89. package/dist/cjs/icons/IconTuiChu.js.map +1 -0
  90. package/dist/cjs/icons/IconWangLuoJianSuo.js +17 -0
  91. package/dist/cjs/icons/IconWangLuoJianSuo.js.map +1 -0
  92. package/dist/cjs/icons/IconWangYeXiaZai.js +17 -0
  93. package/dist/cjs/icons/IconWangYeXiaZai.js.map +1 -0
  94. package/dist/cjs/icons/IconWeiBiaoTi1HuaBan11.js +17 -0
  95. package/dist/cjs/icons/IconWeiBiaoTi1HuaBan11.js.map +1 -0
  96. package/dist/cjs/icons/IconWenDaZhuShou.js +20 -0
  97. package/dist/cjs/icons/IconWenDaZhuShou.js.map +1 -0
  98. package/dist/cjs/icons/IconWenDang.js +17 -0
  99. package/dist/cjs/icons/IconWenDang.js.map +1 -0
  100. package/dist/cjs/icons/IconWenDang1.js +17 -0
  101. package/dist/cjs/icons/IconWenDang1.js.map +1 -0
  102. package/dist/cjs/icons/IconWenJian.js +17 -0
  103. package/dist/cjs/icons/IconWenJian.js.map +1 -0
  104. package/dist/cjs/icons/IconXiTongPeiZhi.js +20 -0
  105. package/dist/cjs/icons/IconXiTongPeiZhi.js.map +1 -0
  106. package/dist/cjs/icons/IconXiaZai.js +17 -0
  107. package/dist/cjs/icons/IconXiaZai.js.map +1 -0
  108. package/dist/cjs/icons/IconXiaZaiZhuShou.js +20 -0
  109. package/dist/cjs/icons/IconXiaZaiZhuShou.js.map +1 -0
  110. package/dist/cjs/icons/IconXiaoXi.js +17 -0
  111. package/dist/cjs/icons/IconXiaoXi.js.map +1 -0
  112. package/dist/cjs/icons/IconXinXiGuanLi.js +20 -0
  113. package/dist/cjs/icons/IconXinXiGuanLi.js.map +1 -0
  114. package/dist/cjs/icons/IconXinZeng.js +17 -0
  115. package/dist/cjs/icons/IconXinZeng.js.map +1 -0
  116. package/dist/cjs/icons/IconYanZhengMa.js +17 -0
  117. package/dist/cjs/icons/IconYanZhengMa.js.map +1 -0
  118. package/dist/cjs/icons/IconYunYingGuanLi.js +20 -0
  119. package/dist/cjs/icons/IconYunYingGuanLi.js.map +1 -0
  120. package/dist/cjs/icons/IconZengJia.js +17 -0
  121. package/dist/cjs/icons/IconZengJia.js.map +1 -0
  122. package/dist/cjs/icons/IconZhanKai.js +17 -0
  123. package/dist/cjs/icons/IconZhanKai.js.map +1 -0
  124. package/dist/cjs/icons/IconZhanKai1.js +17 -0
  125. package/dist/cjs/icons/IconZhanKai1.js.map +1 -0
  126. package/dist/cjs/icons/IconZhengQue.js +17 -0
  127. package/dist/cjs/icons/IconZhengQue.js.map +1 -0
  128. package/dist/cjs/icons/IconZhiShiKu.js +17 -0
  129. package/dist/cjs/icons/IconZhiShiKu.js.map +1 -0
  130. package/dist/cjs/icons/IconZhiShiKu1.js +17 -0
  131. package/dist/cjs/icons/IconZhiShiKu1.js.map +1 -0
  132. package/dist/cjs/index.js +95 -0
  133. package/dist/cjs/index.js.map +1 -0
  134. package/dist/cjs/manifest-generator.js +281 -0
  135. package/dist/cjs/manifest-generator.js.map +1 -0
  136. package/dist/cjs/multi-format-output.js +233 -0
  137. package/dist/cjs/multi-format-output.js.map +1 -0
  138. package/dist/cjs/svg-exporter.js +283 -0
  139. package/dist/cjs/svg-exporter.js.map +1 -0
  140. package/dist/cjs/svg-transformer.js +327 -0
  141. package/dist/cjs/svg-transformer.js.map +1 -0
  142. package/dist/cjs/types.js +3 -0
  143. package/dist/cjs/types.js.map +1 -0
  144. package/dist/cjs/version-manager.js +175 -0
  145. package/dist/cjs/version-manager.js.map +1 -0
  146. package/dist/esm/changelog-generator.js +288 -0
  147. package/dist/esm/changelog-generator.js.map +1 -0
  148. package/dist/esm/component-generator.js +426 -0
  149. package/dist/esm/component-generator.js.map +1 -0
  150. package/dist/esm/figma-client.js +254 -0
  151. package/dist/esm/figma-client.js.map +1 -0
  152. package/dist/esm/icon-filter.js +268 -0
  153. package/dist/esm/icon-filter.js.map +1 -0
  154. package/dist/esm/icon-search.js +39 -0
  155. package/dist/esm/icon-search.js.map +1 -0
  156. package/dist/esm/icon-validator.js +358 -0
  157. package/dist/esm/icon-validator.js.map +1 -0
  158. package/dist/esm/icons/IconArrowRight.js +14 -0
  159. package/dist/esm/icons/IconArrowRight.js.map +1 -0
  160. package/dist/esm/icons/IconBack.js +14 -0
  161. package/dist/esm/icons/IconBack.js.map +1 -0
  162. package/dist/esm/icons/IconBack1.js +14 -0
  163. package/dist/esm/icons/IconBack1.js.map +1 -0
  164. package/dist/esm/icons/IconBangZhuShuoMing.js +14 -0
  165. package/dist/esm/icons/IconBangZhuShuoMing.js.map +1 -0
  166. package/dist/esm/icons/IconBaoGaoZhuShou.js +17 -0
  167. package/dist/esm/icons/IconBaoGaoZhuShou.js.map +1 -0
  168. package/dist/esm/icons/IconCheck.js +14 -0
  169. package/dist/esm/icons/IconCheck.js.map +1 -0
  170. package/dist/esm/icons/IconCheck1.js +14 -0
  171. package/dist/esm/icons/IconCheck1.js.map +1 -0
  172. package/dist/esm/icons/IconChengYuanGuanLi.js +17 -0
  173. package/dist/esm/icons/IconChengYuanGuanLi.js.map +1 -0
  174. package/dist/esm/icons/IconChongXinFaSong.js +14 -0
  175. package/dist/esm/icons/IconChongXinFaSong.js.map +1 -0
  176. package/dist/esm/icons/IconCloseCircle.js +14 -0
  177. package/dist/esm/icons/IconCloseCircle.js.map +1 -0
  178. package/dist/esm/icons/IconCuoWu.js +14 -0
  179. package/dist/esm/icons/IconCuoWu.js.map +1 -0
  180. package/dist/esm/icons/IconDingDing.js +14 -0
  181. package/dist/esm/icons/IconDingDing.js.map +1 -0
  182. package/dist/esm/icons/IconEdit03.js +14 -0
  183. package/dist/esm/icons/IconEdit03.js.map +1 -0
  184. package/dist/esm/icons/IconFanHui.js +14 -0
  185. package/dist/esm/icons/IconFanHui.js.map +1 -0
  186. package/dist/esm/icons/IconFangDa.js +14 -0
  187. package/dist/esm/icons/IconFangDa.js.map +1 -0
  188. package/dist/esm/icons/IconFrame.js +14 -0
  189. package/dist/esm/icons/IconFrame.js.map +1 -0
  190. package/dist/esm/icons/IconFrame1261156242.js +14 -0
  191. package/dist/esm/icons/IconFrame1261156242.js.map +1 -0
  192. package/dist/esm/icons/IconGuanBi.js +14 -0
  193. package/dist/esm/icons/IconGuanBi.js.map +1 -0
  194. package/dist/esm/icons/IconGuanBi1.js +14 -0
  195. package/dist/esm/icons/IconGuanBi1.js.map +1 -0
  196. package/dist/esm/icons/IconGuanBiXiao.js +14 -0
  197. package/dist/esm/icons/IconGuanBiXiao.js.map +1 -0
  198. package/dist/esm/icons/IconGuanBiXiao1.js +14 -0
  199. package/dist/esm/icons/IconGuanBiXiao1.js.map +1 -0
  200. package/dist/esm/icons/IconLianJie.js +14 -0
  201. package/dist/esm/icons/IconLianJie.js.map +1 -0
  202. package/dist/esm/icons/IconLianJie1.js +14 -0
  203. package/dist/esm/icons/IconLianJie1.js.map +1 -0
  204. package/dist/esm/icons/IconQiWeiJiQiRen.js +14 -0
  205. package/dist/esm/icons/IconQiWeiJiQiRen.js.map +1 -0
  206. package/dist/esm/icons/IconQiYeBan.js +17 -0
  207. package/dist/esm/icons/IconQiYeBan.js.map +1 -0
  208. package/dist/esm/icons/IconRss.js +14 -0
  209. package/dist/esm/icons/IconRss.js.map +1 -0
  210. package/dist/esm/icons/IconSearch.js +14 -0
  211. package/dist/esm/icons/IconSearch.js.map +1 -0
  212. package/dist/esm/icons/IconSearch1.js +14 -0
  213. package/dist/esm/icons/IconSearch1.js.map +1 -0
  214. package/dist/esm/icons/IconSheZhi.js +14 -0
  215. package/dist/esm/icons/IconSheZhi.js.map +1 -0
  216. package/dist/esm/icons/IconShengCheng.js +14 -0
  217. package/dist/esm/icons/IconShengCheng.js.map +1 -0
  218. package/dist/esm/icons/IconShiBai.js +14 -0
  219. package/dist/esm/icons/IconShiBai.js.map +1 -0
  220. package/dist/esm/icons/IconShouQi.js +14 -0
  221. package/dist/esm/icons/IconShouQi.js.map +1 -0
  222. package/dist/esm/icons/IconSouSuoZhuShou.js +17 -0
  223. package/dist/esm/icons/IconSouSuoZhuShou.js.map +1 -0
  224. package/dist/esm/icons/IconSuoXiao.js +14 -0
  225. package/dist/esm/icons/IconSuoXiao.js.map +1 -0
  226. package/dist/esm/icons/IconTianJia.js +14 -0
  227. package/dist/esm/icons/IconTianJia.js.map +1 -0
  228. package/dist/esm/icons/IconTongZhi.js +14 -0
  229. package/dist/esm/icons/IconTongZhi.js.map +1 -0
  230. package/dist/esm/icons/IconTongZhi1.js +14 -0
  231. package/dist/esm/icons/IconTongZhi1.js.map +1 -0
  232. package/dist/esm/icons/IconTuiChu.js +14 -0
  233. package/dist/esm/icons/IconTuiChu.js.map +1 -0
  234. package/dist/esm/icons/IconWangLuoJianSuo.js +14 -0
  235. package/dist/esm/icons/IconWangLuoJianSuo.js.map +1 -0
  236. package/dist/esm/icons/IconWangYeXiaZai.js +14 -0
  237. package/dist/esm/icons/IconWangYeXiaZai.js.map +1 -0
  238. package/dist/esm/icons/IconWeiBiaoTi1HuaBan11.js +14 -0
  239. package/dist/esm/icons/IconWeiBiaoTi1HuaBan11.js.map +1 -0
  240. package/dist/esm/icons/IconWenDaZhuShou.js +17 -0
  241. package/dist/esm/icons/IconWenDaZhuShou.js.map +1 -0
  242. package/dist/esm/icons/IconWenDang.js +14 -0
  243. package/dist/esm/icons/IconWenDang.js.map +1 -0
  244. package/dist/esm/icons/IconWenDang1.js +14 -0
  245. package/dist/esm/icons/IconWenDang1.js.map +1 -0
  246. package/dist/esm/icons/IconWenJian.js +14 -0
  247. package/dist/esm/icons/IconWenJian.js.map +1 -0
  248. package/dist/esm/icons/IconXiTongPeiZhi.js +17 -0
  249. package/dist/esm/icons/IconXiTongPeiZhi.js.map +1 -0
  250. package/dist/esm/icons/IconXiaZai.js +14 -0
  251. package/dist/esm/icons/IconXiaZai.js.map +1 -0
  252. package/dist/esm/icons/IconXiaZaiZhuShou.js +17 -0
  253. package/dist/esm/icons/IconXiaZaiZhuShou.js.map +1 -0
  254. package/dist/esm/icons/IconXiaoXi.js +14 -0
  255. package/dist/esm/icons/IconXiaoXi.js.map +1 -0
  256. package/dist/esm/icons/IconXinXiGuanLi.js +17 -0
  257. package/dist/esm/icons/IconXinXiGuanLi.js.map +1 -0
  258. package/dist/esm/icons/IconXinZeng.js +14 -0
  259. package/dist/esm/icons/IconXinZeng.js.map +1 -0
  260. package/dist/esm/icons/IconYanZhengMa.js +14 -0
  261. package/dist/esm/icons/IconYanZhengMa.js.map +1 -0
  262. package/dist/esm/icons/IconYunYingGuanLi.js +17 -0
  263. package/dist/esm/icons/IconYunYingGuanLi.js.map +1 -0
  264. package/dist/esm/icons/IconZengJia.js +14 -0
  265. package/dist/esm/icons/IconZengJia.js.map +1 -0
  266. package/dist/esm/icons/IconZhanKai.js +14 -0
  267. package/dist/esm/icons/IconZhanKai.js.map +1 -0
  268. package/dist/esm/icons/IconZhanKai1.js +14 -0
  269. package/dist/esm/icons/IconZhanKai1.js.map +1 -0
  270. package/dist/esm/icons/IconZhengQue.js +14 -0
  271. package/dist/esm/icons/IconZhengQue.js.map +1 -0
  272. package/dist/esm/icons/IconZhiShiKu.js +14 -0
  273. package/dist/esm/icons/IconZhiShiKu.js.map +1 -0
  274. package/dist/esm/icons/IconZhiShiKu1.js +14 -0
  275. package/dist/esm/icons/IconZhiShiKu1.js.map +1 -0
  276. package/dist/esm/index.js +72 -0
  277. package/dist/esm/index.js.map +1 -0
  278. package/dist/esm/manifest-generator.js +267 -0
  279. package/dist/esm/manifest-generator.js.map +1 -0
  280. package/dist/esm/multi-format-output.js +221 -0
  281. package/dist/esm/multi-format-output.js.map +1 -0
  282. package/dist/esm/svg-exporter.js +244 -0
  283. package/dist/esm/svg-exporter.js.map +1 -0
  284. package/dist/esm/svg-transformer.js +314 -0
  285. package/dist/esm/svg-transformer.js.map +1 -0
  286. package/dist/esm/types.js +2 -0
  287. package/dist/esm/types.js.map +1 -0
  288. package/dist/esm/version-manager.js +167 -0
  289. package/dist/esm/version-manager.js.map +1 -0
  290. package/dist/types/changelog-generator.d.ts +112 -0
  291. package/dist/types/changelog-generator.d.ts.map +1 -0
  292. package/dist/types/component-generator.d.ts +88 -0
  293. package/dist/types/component-generator.d.ts.map +1 -0
  294. package/dist/types/figma-client.d.ts +107 -0
  295. package/dist/types/figma-client.d.ts.map +1 -0
  296. package/dist/types/icon-filter.d.ts +126 -0
  297. package/dist/types/icon-filter.d.ts.map +1 -0
  298. package/dist/types/icon-search.d.ts +31 -0
  299. package/dist/types/icon-search.d.ts.map +1 -0
  300. package/dist/types/icon-validator.d.ts +110 -0
  301. package/dist/types/icon-validator.d.ts.map +1 -0
  302. package/dist/types/icons/IconArrowRight.d.ts +17 -0
  303. package/dist/types/icons/IconArrowRight.d.ts.map +1 -0
  304. package/dist/types/icons/IconBack.d.ts +17 -0
  305. package/dist/types/icons/IconBack.d.ts.map +1 -0
  306. package/dist/types/icons/IconBack1.d.ts +17 -0
  307. package/dist/types/icons/IconBack1.d.ts.map +1 -0
  308. package/dist/types/icons/IconBangZhuShuoMing.d.ts +17 -0
  309. package/dist/types/icons/IconBangZhuShuoMing.d.ts.map +1 -0
  310. package/dist/types/icons/IconBaoGaoZhuShou.d.ts +17 -0
  311. package/dist/types/icons/IconBaoGaoZhuShou.d.ts.map +1 -0
  312. package/dist/types/icons/IconCheck.d.ts +17 -0
  313. package/dist/types/icons/IconCheck.d.ts.map +1 -0
  314. package/dist/types/icons/IconCheck1.d.ts +17 -0
  315. package/dist/types/icons/IconCheck1.d.ts.map +1 -0
  316. package/dist/types/icons/IconChengYuanGuanLi.d.ts +17 -0
  317. package/dist/types/icons/IconChengYuanGuanLi.d.ts.map +1 -0
  318. package/dist/types/icons/IconChongXinFaSong.d.ts +17 -0
  319. package/dist/types/icons/IconChongXinFaSong.d.ts.map +1 -0
  320. package/dist/types/icons/IconCloseCircle.d.ts +17 -0
  321. package/dist/types/icons/IconCloseCircle.d.ts.map +1 -0
  322. package/dist/types/icons/IconCuoWu.d.ts +17 -0
  323. package/dist/types/icons/IconCuoWu.d.ts.map +1 -0
  324. package/dist/types/icons/IconDingDing.d.ts +17 -0
  325. package/dist/types/icons/IconDingDing.d.ts.map +1 -0
  326. package/dist/types/icons/IconEdit03.d.ts +17 -0
  327. package/dist/types/icons/IconEdit03.d.ts.map +1 -0
  328. package/dist/types/icons/IconFanHui.d.ts +17 -0
  329. package/dist/types/icons/IconFanHui.d.ts.map +1 -0
  330. package/dist/types/icons/IconFangDa.d.ts +17 -0
  331. package/dist/types/icons/IconFangDa.d.ts.map +1 -0
  332. package/dist/types/icons/IconFrame.d.ts +17 -0
  333. package/dist/types/icons/IconFrame.d.ts.map +1 -0
  334. package/dist/types/icons/IconFrame1261156242.d.ts +17 -0
  335. package/dist/types/icons/IconFrame1261156242.d.ts.map +1 -0
  336. package/dist/types/icons/IconGuanBi.d.ts +17 -0
  337. package/dist/types/icons/IconGuanBi.d.ts.map +1 -0
  338. package/dist/types/icons/IconGuanBi1.d.ts +17 -0
  339. package/dist/types/icons/IconGuanBi1.d.ts.map +1 -0
  340. package/dist/types/icons/IconGuanBiXiao.d.ts +17 -0
  341. package/dist/types/icons/IconGuanBiXiao.d.ts.map +1 -0
  342. package/dist/types/icons/IconGuanBiXiao1.d.ts +17 -0
  343. package/dist/types/icons/IconGuanBiXiao1.d.ts.map +1 -0
  344. package/dist/types/icons/IconLianJie.d.ts +17 -0
  345. package/dist/types/icons/IconLianJie.d.ts.map +1 -0
  346. package/dist/types/icons/IconLianJie1.d.ts +17 -0
  347. package/dist/types/icons/IconLianJie1.d.ts.map +1 -0
  348. package/dist/types/icons/IconQiWeiJiQiRen.d.ts +17 -0
  349. package/dist/types/icons/IconQiWeiJiQiRen.d.ts.map +1 -0
  350. package/dist/types/icons/IconQiYeBan.d.ts +17 -0
  351. package/dist/types/icons/IconQiYeBan.d.ts.map +1 -0
  352. package/dist/types/icons/IconRss.d.ts +17 -0
  353. package/dist/types/icons/IconRss.d.ts.map +1 -0
  354. package/dist/types/icons/IconSearch.d.ts +17 -0
  355. package/dist/types/icons/IconSearch.d.ts.map +1 -0
  356. package/dist/types/icons/IconSearch1.d.ts +17 -0
  357. package/dist/types/icons/IconSearch1.d.ts.map +1 -0
  358. package/dist/types/icons/IconSheZhi.d.ts +17 -0
  359. package/dist/types/icons/IconSheZhi.d.ts.map +1 -0
  360. package/dist/types/icons/IconShengCheng.d.ts +17 -0
  361. package/dist/types/icons/IconShengCheng.d.ts.map +1 -0
  362. package/dist/types/icons/IconShiBai.d.ts +17 -0
  363. package/dist/types/icons/IconShiBai.d.ts.map +1 -0
  364. package/dist/types/icons/IconShouQi.d.ts +17 -0
  365. package/dist/types/icons/IconShouQi.d.ts.map +1 -0
  366. package/dist/types/icons/IconSouSuoZhuShou.d.ts +17 -0
  367. package/dist/types/icons/IconSouSuoZhuShou.d.ts.map +1 -0
  368. package/dist/types/icons/IconSuoXiao.d.ts +17 -0
  369. package/dist/types/icons/IconSuoXiao.d.ts.map +1 -0
  370. package/dist/types/icons/IconTianJia.d.ts +17 -0
  371. package/dist/types/icons/IconTianJia.d.ts.map +1 -0
  372. package/dist/types/icons/IconTongZhi.d.ts +17 -0
  373. package/dist/types/icons/IconTongZhi.d.ts.map +1 -0
  374. package/dist/types/icons/IconTongZhi1.d.ts +17 -0
  375. package/dist/types/icons/IconTongZhi1.d.ts.map +1 -0
  376. package/dist/types/icons/IconTuiChu.d.ts +17 -0
  377. package/dist/types/icons/IconTuiChu.d.ts.map +1 -0
  378. package/dist/types/icons/IconWangLuoJianSuo.d.ts +17 -0
  379. package/dist/types/icons/IconWangLuoJianSuo.d.ts.map +1 -0
  380. package/dist/types/icons/IconWangYeXiaZai.d.ts +17 -0
  381. package/dist/types/icons/IconWangYeXiaZai.d.ts.map +1 -0
  382. package/dist/types/icons/IconWeiBiaoTi1HuaBan11.d.ts +17 -0
  383. package/dist/types/icons/IconWeiBiaoTi1HuaBan11.d.ts.map +1 -0
  384. package/dist/types/icons/IconWenDaZhuShou.d.ts +17 -0
  385. package/dist/types/icons/IconWenDaZhuShou.d.ts.map +1 -0
  386. package/dist/types/icons/IconWenDang.d.ts +17 -0
  387. package/dist/types/icons/IconWenDang.d.ts.map +1 -0
  388. package/dist/types/icons/IconWenDang1.d.ts +17 -0
  389. package/dist/types/icons/IconWenDang1.d.ts.map +1 -0
  390. package/dist/types/icons/IconWenJian.d.ts +17 -0
  391. package/dist/types/icons/IconWenJian.d.ts.map +1 -0
  392. package/dist/types/icons/IconXiTongPeiZhi.d.ts +17 -0
  393. package/dist/types/icons/IconXiTongPeiZhi.d.ts.map +1 -0
  394. package/dist/types/icons/IconXiaZai.d.ts +17 -0
  395. package/dist/types/icons/IconXiaZai.d.ts.map +1 -0
  396. package/dist/types/icons/IconXiaZaiZhuShou.d.ts +17 -0
  397. package/dist/types/icons/IconXiaZaiZhuShou.d.ts.map +1 -0
  398. package/dist/types/icons/IconXiaoXi.d.ts +17 -0
  399. package/dist/types/icons/IconXiaoXi.d.ts.map +1 -0
  400. package/dist/types/icons/IconXinXiGuanLi.d.ts +17 -0
  401. package/dist/types/icons/IconXinXiGuanLi.d.ts.map +1 -0
  402. package/dist/types/icons/IconXinZeng.d.ts +17 -0
  403. package/dist/types/icons/IconXinZeng.d.ts.map +1 -0
  404. package/dist/types/icons/IconYanZhengMa.d.ts +17 -0
  405. package/dist/types/icons/IconYanZhengMa.d.ts.map +1 -0
  406. package/dist/types/icons/IconYunYingGuanLi.d.ts +17 -0
  407. package/dist/types/icons/IconYunYingGuanLi.d.ts.map +1 -0
  408. package/dist/types/icons/IconZengJia.d.ts +17 -0
  409. package/dist/types/icons/IconZengJia.d.ts.map +1 -0
  410. package/dist/types/icons/IconZhanKai.d.ts +17 -0
  411. package/dist/types/icons/IconZhanKai.d.ts.map +1 -0
  412. package/dist/types/icons/IconZhanKai1.d.ts +17 -0
  413. package/dist/types/icons/IconZhanKai1.d.ts.map +1 -0
  414. package/dist/types/icons/IconZhengQue.d.ts +17 -0
  415. package/dist/types/icons/IconZhengQue.d.ts.map +1 -0
  416. package/dist/types/icons/IconZhiShiKu.d.ts +17 -0
  417. package/dist/types/icons/IconZhiShiKu.d.ts.map +1 -0
  418. package/dist/types/icons/IconZhiShiKu1.d.ts +17 -0
  419. package/dist/types/icons/IconZhiShiKu1.d.ts.map +1 -0
  420. package/dist/types/index.d.ts +56 -0
  421. package/dist/types/index.d.ts.map +1 -0
  422. package/dist/types/manifest-generator.d.ts +113 -0
  423. package/dist/types/manifest-generator.d.ts.map +1 -0
  424. package/dist/types/multi-format-output.d.ts +151 -0
  425. package/dist/types/multi-format-output.d.ts.map +1 -0
  426. package/dist/types/svg-exporter.d.ts +103 -0
  427. package/dist/types/svg-exporter.d.ts.map +1 -0
  428. package/dist/types/svg-transformer.d.ts +103 -0
  429. package/dist/types/svg-transformer.d.ts.map +1 -0
  430. package/dist/types/types.d.ts +346 -0
  431. package/dist/types/types.d.ts.map +1 -0
  432. package/dist/types/version-manager.d.ts +82 -0
  433. package/dist/types/version-manager.d.ts.map +1 -0
  434. package/icons.json +227 -0
  435. package/package.json +66 -0
  436. package/svg/back.svg +1 -0
  437. package/svg/back1.svg +1 -0
  438. package/svg/check.svg +1 -0
  439. package/svg/check1.svg +1 -0
  440. package/svg/search.svg +1 -0
  441. package/svg/search1.svg +1 -0
  442. package/svg//345/205/263/351/227/255-/345/260/217.svg +1 -0
  443. package/svg//345/205/263/351/227/255-/345/260/2171.svg +1 -0
  444. package/svg//345/205/263/351/227/255.svg +1 -0
  445. package/svg//345/205/263/351/227/2551.svg +1 -0
  446. package/svg//345/261/225/345/274/200.svg +1 -0
  447. package/svg//345/261/225/345/274/2001.svg +1 -0
  448. package/svg//346/226/207/346/241/243.svg +1 -0
  449. package/svg//346/226/207/346/241/2431.svg +1 -0
  450. package/svg//347/237/245/350/257/206/345/272/223.svg +1 -0
  451. package/svg//347/237/245/350/257/206/345/272/2231.svg +1 -0
  452. package/svg//351/200/232/347/237/245.svg +1 -0
  453. package/svg//351/200/232/347/237/2451.svg +1 -0
  454. package/svg//351/223/276/346/216/245.svg +1 -0
  455. package/svg//351/223/276/346/216/2451.svg +1 -0
@@ -0,0 +1,434 @@
1
+ "use strict";
2
+ /**
3
+ * Component Generator Module
4
+ *
5
+ * Handles React component generation from optimized SVG content.
6
+ * Requirements: 4.1, 4.2, 4.3, 4.5, 4.6
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.toPascalCase = toPascalCase;
10
+ exports.generateComponentName = generateComponentName;
11
+ exports.generateComponent = generateComponent;
12
+ exports.generateComponents = generateComponents;
13
+ exports.generateIndexFile = generateIndexFile;
14
+ exports.generateMinimalIndexFile = generateMinimalIndexFile;
15
+ const svg_transformer_1 = require("./svg-transformer");
16
+ /**
17
+ * Converts a string to PascalCase format
18
+ *
19
+ * Handles various input formats:
20
+ * - kebab-case: "arrow-right" -> "ArrowRight"
21
+ * - snake_case: "arrow_right" -> "ArrowRight"
22
+ * - space separated: "arrow right" -> "ArrowRight"
23
+ * - mixed: "arrow-right_up" -> "ArrowRightUp"
24
+ * - already PascalCase: "ArrowRight" -> "ArrowRight"
25
+ * - camelCase: "arrowRight" -> "ArrowRight"
26
+ *
27
+ * @param str - Input string in any format
28
+ * @returns PascalCase formatted string
29
+ *
30
+ * Requirements: 4.3
31
+ */
32
+ function toPascalCase(str) {
33
+ if (!str || str.trim().length === 0) {
34
+ return '';
35
+ }
36
+ // Split by common delimiters: hyphen, underscore, space, and camelCase boundaries
37
+ const words = str
38
+ // Insert space before uppercase letters (for camelCase)
39
+ .replace(/([a-z])([A-Z])/g, '$1 $2')
40
+ // Replace delimiters with spaces
41
+ .replace(/[-_\s]+/g, ' ')
42
+ // Trim and split
43
+ .trim()
44
+ .split(/\s+/)
45
+ // Filter out empty strings
46
+ .filter((word) => word.length > 0);
47
+ // Capitalize first letter of each word, lowercase the rest
48
+ return words
49
+ .map((word) => {
50
+ if (word.length === 0)
51
+ return '';
52
+ return word.charAt(0).toUpperCase() + word.slice(1).toLowerCase();
53
+ })
54
+ .join('');
55
+ }
56
+ /**
57
+ * Generates a valid React component name from an icon name
58
+ *
59
+ * @param iconName - Original icon name
60
+ * @param prefix - Prefix to add (default: "Icon")
61
+ * @returns Valid React component name
62
+ *
63
+ * Requirements: 4.3
64
+ */
65
+ function generateComponentName(iconName, prefix = 'Icon') {
66
+ const pascalName = toPascalCase(iconName);
67
+ if (!pascalName) {
68
+ return prefix;
69
+ }
70
+ return `${prefix}${pascalName}`;
71
+ }
72
+ /**
73
+ * Check if SVG content contains multiple colors (multicolor icon)
74
+ * @param svgContent - SVG content to check
75
+ * @returns True if the SVG has multiple colors
76
+ */
77
+ function isMulticolorSvg(svgContent) {
78
+ // Check for multiple fill colors (excluding none and currentColor)
79
+ const fillMatches = svgContent.match(/fill="(?!none|currentColor)[^"]+"/g) || [];
80
+ const uniqueFills = new Set(fillMatches);
81
+ // Check for multiple stroke colors
82
+ const strokeMatches = svgContent.match(/stroke="(?!none|currentColor)[^"]+"/g) || [];
83
+ const uniqueStrokes = new Set(strokeMatches);
84
+ // Check for gradients or patterns
85
+ const hasGradient = svgContent.includes('<linearGradient') ||
86
+ svgContent.includes('<radialGradient') ||
87
+ svgContent.includes('<pattern');
88
+ return uniqueFills.size > 1 || uniqueStrokes.size > 1 || hasGradient;
89
+ }
90
+ /**
91
+ * 保留颜色列表:这些颜色不会被替换为 currentColor
92
+ * 主要是浅色/白色,用作图标的装饰或镂空效果
93
+ */
94
+ const PRESERVED_COLORS = [
95
+ 'white',
96
+ '#fff',
97
+ '#ffffff',
98
+ '#FFF',
99
+ '#FFFFFF',
100
+ 'rgb(255, 255, 255)',
101
+ 'rgb(255,255,255)',
102
+ // 也可以保留一些特殊颜色,如需要
103
+ ];
104
+ /**
105
+ * 判断颜色是否应该被保留(不替换为 currentColor)
106
+ * @param color - 颜色值
107
+ * @returns true 如果颜色应该被保留
108
+ */
109
+ function shouldPreserveColor(color) {
110
+ const normalizedColor = color.toLowerCase().replace(/\s/g, '');
111
+ // 检查是否在保留列表中
112
+ for (const preserved of PRESERVED_COLORS) {
113
+ if (normalizedColor === preserved.toLowerCase().replace(/\s/g, '')) {
114
+ return true;
115
+ }
116
+ }
117
+ // 检查是否是接近白色的颜色 (#fff, #ffffff 或 rgb 接近 255,255,255)
118
+ const hexMatch = color.match(/^#([0-9a-f]{3}|[0-9a-f]{6})$/i);
119
+ if (hexMatch) {
120
+ const hex = hexMatch[1];
121
+ let r, g, b;
122
+ if (hex.length === 3) {
123
+ r = parseInt(hex[0] + hex[0], 16);
124
+ g = parseInt(hex[1] + hex[1], 16);
125
+ b = parseInt(hex[2] + hex[2], 16);
126
+ }
127
+ else {
128
+ r = parseInt(hex.substring(0, 2), 16);
129
+ g = parseInt(hex.substring(2, 4), 16);
130
+ b = parseInt(hex.substring(4, 6), 16);
131
+ }
132
+ // 如果颜色非常接近白色(所有通道 > 240),保留它
133
+ if (r > 240 && g > 240 && b > 240) {
134
+ return true;
135
+ }
136
+ }
137
+ return false;
138
+ }
139
+ /**
140
+ * 替换 SVG 内容中的主体颜色为 currentColor,保留装饰颜色
141
+ * 适用于多色图标,使其可以通过 color prop 控制主体颜色
142
+ *
143
+ * @param content - SVG 内部内容
144
+ * @returns 处理后的内容
145
+ */
146
+ function replaceMainColors(content) {
147
+ // 替换 fill 属性中的主体颜色
148
+ let result = content.replace(/fill="(#[0-9A-Fa-f]{3,6}|rgb\([^)]+\)|[a-z]+)"/gi, (match, color) => {
149
+ if (color === 'none' || color === 'currentColor') {
150
+ return match;
151
+ }
152
+ if (shouldPreserveColor(color)) {
153
+ return match;
154
+ }
155
+ return 'fill="currentColor"';
156
+ });
157
+ // 替换 stroke 属性中的主体颜色
158
+ result = result.replace(/stroke="(#[0-9A-Fa-f]{3,6}|rgb\([^)]+\)|[a-z]+)"/gi, (match, color) => {
159
+ if (color === 'none' || color === 'currentColor') {
160
+ return match;
161
+ }
162
+ if (shouldPreserveColor(color)) {
163
+ return match;
164
+ }
165
+ return 'stroke="currentColor"';
166
+ });
167
+ return result;
168
+ }
169
+ /**
170
+ * Generates a React component template from icon metadata and JSX content
171
+ *
172
+ * @param icon - Icon metadata
173
+ * @param jsxContent - JSX-compatible SVG content
174
+ * @returns ComponentTemplate with component code and type definitions
175
+ *
176
+ * Requirements: 4.1, 4.2, 4.6
177
+ */
178
+ function generateComponent(icon, jsxContent, rawSvgContent) {
179
+ const componentName = generateComponentName(icon.name);
180
+ const propsName = `${componentName}Props`;
181
+ // Extract inner SVG content and viewBox
182
+ const innerContent = (0, svg_transformer_1.extractSvgInnerContent)(jsxContent);
183
+ const viewBox = (0, svg_transformer_1.extractViewBox)(jsxContent) || '0 0 24 24';
184
+ // Check if this is a multicolor icon
185
+ const isMulticolor = isMulticolorSvg(jsxContent);
186
+ // Check if content has gradient/defs that need unique IDs
187
+ const hasGradients = innerContent.includes('<defs>') &&
188
+ (innerContent.includes('linearGradient') || innerContent.includes('radialGradient'));
189
+ // For gradients, use raw SVG content (not JSX converted) for dangerouslySetInnerHTML
190
+ let rawInnerContent = rawSvgContent ? (0, svg_transformer_1.extractSvgInnerContent)(rawSvgContent) : innerContent;
191
+ // Move <defs> to the beginning of SVG content (gradients must be defined before use)
192
+ if (hasGradients) {
193
+ const defsMatch = rawInnerContent.match(/<defs>[\s\S]*?<\/defs>/);
194
+ if (defsMatch) {
195
+ rawInnerContent = defsMatch[0] + rawInnerContent.replace(/<defs>[\s\S]*?<\/defs>/, '');
196
+ }
197
+ }
198
+ // Extract the root fill attribute from original SVG (important for icons with stroke paths)
199
+ const rootFill = rawSvgContent ? (0, svg_transformer_1.extractSvgRootFill)(rawSvgContent) : null;
200
+ // Determine fill prop based on SVG type and original fill attribute
201
+ // - If original has fill="none", preserve it (stroke-based icons)
202
+ // - For gradient icons with explicit fill, preserve the fill
203
+ // - For multicolor icons, we'll replace main colors with currentColor
204
+ // - For single-color icons, apply fill={color}
205
+ let fillProp;
206
+ if (rootFill === 'none') {
207
+ // Stroke-based icons: preserve fill="none" to prevent default black fill
208
+ fillProp = '\n fill="none"';
209
+ }
210
+ else if (hasGradients && rootFill) {
211
+ fillProp = `\n fill="${rootFill}"`;
212
+ }
213
+ else if (isMulticolor) {
214
+ // 多色图标:不在 SVG 根元素设置 fill,使用 currentColor 继承
215
+ fillProp = '\n fill="none"';
216
+ }
217
+ else {
218
+ // fill 类型图标:使用 color 或默认 currentColor
219
+ fillProp = '\n fill={color || \"currentColor\"}';
220
+ }
221
+ // 更新注释:多色图标现在支持通过 color 修改主体颜色
222
+ const colorComment = isMulticolor
223
+ ? '/** Icon color (controls the main color, preserves white/light decorations) */'
224
+ : '/** Icon color */';
225
+ let content;
226
+ if (hasGradients) {
227
+ // For icons with gradients, use useId to generate unique IDs
228
+ content = `import React, { forwardRef, useId } from 'react';
229
+ import type { SVGProps } from 'react';
230
+
231
+ export interface ${propsName} extends SVGProps<SVGSVGElement> {
232
+ /** Icon size (width and height) */
233
+ size?: number | string;
234
+ ${colorComment}
235
+ color?: string;
236
+ }
237
+
238
+ /**
239
+ * ${componentName} icon component${isMulticolor ? ' (multicolor)' : ''}
240
+ *
241
+ * @param props - Component props including size, color, and SVG attributes
242
+ * @param ref - Forwarded ref to the SVG element
243
+ */
244
+ export const ${componentName} = forwardRef<SVGSVGElement, ${propsName}>(
245
+ ({ size = 24, color, className, style, ...props }, ref) => {
246
+ const uniqueId = useId();
247
+
248
+ // Replace gradient IDs with unique ones
249
+ const svgContent = \`${rawInnerContent.replace(/id="([^"]+)"/g, 'id="${uniqueId}$1"').replace(/url\(#([^)]+)\)/g, 'url(#${uniqueId}$1)')}\`;
250
+
251
+ return (
252
+ <svg
253
+ ref={ref}
254
+ xmlns="http://www.w3.org/2000/svg"
255
+ width={size}
256
+ height={size}
257
+ viewBox="${viewBox}"${fillProp}
258
+ className={className}
259
+ style={style}
260
+ {...props}
261
+ dangerouslySetInnerHTML={{ __html: svgContent }}
262
+ />
263
+ );
264
+ }
265
+ );
266
+
267
+ ${componentName}.displayName = '${componentName}';
268
+
269
+ export default ${componentName};
270
+ `;
271
+ }
272
+ else {
273
+ // For icons without gradients, use the original approach
274
+ // For stroke-based icons (fill="none"), replace hardcoded colors with currentColor
275
+ // and apply color via style prop
276
+ const isStrokeIcon = rootFill === 'none';
277
+ let processedContent = innerContent;
278
+ if (isMulticolor) {
279
+ // 多色图标:替换主体颜色为 currentColor,保留装饰颜色(白色等)
280
+ processedContent = replaceMainColors(innerContent);
281
+ }
282
+ else if (isStrokeIcon) {
283
+ // Replace hardcoded stroke/fill colors with currentColor for single-color stroke icons
284
+ processedContent = innerContent
285
+ .replace(/stroke="#[0-9A-Fa-f]{3,6}"/g, 'stroke="currentColor"')
286
+ .replace(/fill="#[0-9A-Fa-f]{3,6}"/g, 'fill="currentColor"');
287
+ }
288
+ // 对于 stroke 图标和多色图标,使用条件性 style 来应用颜色
289
+ // 只有当用户传入 color prop 时才设置内联样式,否则让 Tailwind 类名生效
290
+ const needsColorStyle = isStrokeIcon || isMulticolor;
291
+ const styleProp = needsColorStyle
292
+ ? '\n style={{ ...(color ? { color } : {}), ...style }}'
293
+ : '\n style={style}';
294
+ content = `import React, { forwardRef } from 'react';
295
+ import type { SVGProps } from 'react';
296
+
297
+ export interface ${propsName} extends SVGProps<SVGSVGElement> {
298
+ /** Icon size (width and height) */
299
+ size?: number | string;
300
+ ${colorComment}
301
+ color?: string;
302
+ }
303
+
304
+ /**
305
+ * ${componentName} icon component${isMulticolor ? ' (multicolor)' : ''}
306
+ *
307
+ * @param props - Component props including size, color, and SVG attributes
308
+ * @param ref - Forwarded ref to the SVG element
309
+ */
310
+ export const ${componentName} = forwardRef<SVGSVGElement, ${propsName}>(
311
+ ({ size = 24, color, className, style, ...props }, ref) => {
312
+ return (
313
+ <svg
314
+ ref={ref}
315
+ xmlns="http://www.w3.org/2000/svg"
316
+ width={size}
317
+ height={size}
318
+ viewBox="${viewBox}"${fillProp}
319
+ className={className}${styleProp}
320
+ {...props}
321
+ >
322
+ ${processedContent}
323
+ </svg>
324
+ );
325
+ }
326
+ );
327
+
328
+ ${componentName}.displayName = '${componentName}';
329
+
330
+ export default ${componentName};
331
+ `;
332
+ }
333
+ const types = `export { ${componentName}, type ${propsName} } from './${componentName}';`;
334
+ return {
335
+ componentName,
336
+ fileName: `${componentName}.tsx`,
337
+ content,
338
+ types,
339
+ };
340
+ }
341
+ /**
342
+ * Generates multiple component templates from a list of icons
343
+ *
344
+ * @param icons - Array of icon metadata with JSX content
345
+ * @returns Array of ComponentTemplate objects
346
+ *
347
+ * Requirements: 4.1, 4.2, 4.6
348
+ */
349
+ function generateComponents(icons) {
350
+ return icons.map(({ metadata, jsxContent }) => generateComponent(metadata, jsxContent));
351
+ }
352
+ /**
353
+ * Generates the index.ts file content that exports all icon components
354
+ *
355
+ * @param components - Array of ComponentTemplate objects
356
+ * @returns IndexFileResult with the generated content
357
+ *
358
+ * Requirements: 4.5
359
+ */
360
+ function generateIndexFile(components) {
361
+ // Sort components alphabetically for consistent output
362
+ const sortedComponents = [...components].sort((a, b) => a.componentName.localeCompare(b.componentName));
363
+ const componentNames = sortedComponents.map((c) => c.componentName);
364
+ // Generate imports for allIcons object
365
+ const imports = sortedComponents
366
+ .map((c) => `import { ${c.componentName} } from './icons/${c.componentName}';`)
367
+ .join('\n');
368
+ // Generate re-exports with types
369
+ const reExports = sortedComponents
370
+ .map((c) => `export { ${c.componentName}, type ${c.componentName}Props } from './icons/${c.componentName}';`)
371
+ .join('\n');
372
+ // Generate allIcons object
373
+ const allIconsExport = `
374
+ /**
375
+ * Object containing all icon components
376
+ */
377
+ export const allIcons = {
378
+ ${componentNames.join(',\n ')}
379
+ } as const;`;
380
+ // Generate IconName type
381
+ const iconNameType = `
382
+ /**
383
+ * Union type of all icon component names
384
+ */
385
+ export type IconName = keyof typeof allIcons;`;
386
+ // Combine all parts
387
+ const content = `/**
388
+ * Icon Library - Auto-generated from Figma
389
+ *
390
+ * This file exports all icon components and related types.
391
+ * Do not edit this file manually - it is generated by the build process.
392
+ */
393
+
394
+ ${imports}
395
+
396
+ ${reExports}
397
+ ${allIconsExport}
398
+ ${iconNameType}
399
+ `;
400
+ return {
401
+ content,
402
+ componentNames,
403
+ allIconsExport,
404
+ iconNameType,
405
+ };
406
+ }
407
+ /**
408
+ * Generates a minimal index file for a subset of icons
409
+ *
410
+ * @param componentNames - Array of component names to export
411
+ * @returns The generated index.ts content
412
+ *
413
+ * Requirements: 4.5
414
+ */
415
+ function generateMinimalIndexFile(componentNames) {
416
+ const sortedNames = [...componentNames].sort();
417
+ // Generate imports for allIcons object
418
+ const imports = sortedNames
419
+ .map((name) => `import { ${name} } from './icons/${name}';`)
420
+ .join('\n');
421
+ // Generate re-exports with types
422
+ const reExports = sortedNames
423
+ .map((name) => `export { ${name}, type ${name}Props } from './icons/${name}';`)
424
+ .join('\n');
425
+ const allIconsExport = `
426
+ export const allIcons = {
427
+ ${sortedNames.join(',\n ')}
428
+ } as const;
429
+
430
+ export type IconName = keyof typeof allIcons;
431
+ `;
432
+ return `${imports}\n\n${reExports}\n${allIconsExport}`;
433
+ }
434
+ //# sourceMappingURL=component-generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"component-generator.js","sourceRoot":"","sources":["../../src/component-generator.ts"],"names":[],"mappings":"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"}