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