@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,72 @@
1
+ /**
2
+ * Icon Library - Auto-generated from Figma
3
+ *
4
+ * This file exports all icon components and related types.
5
+ * Do not edit this file manually - it is generated by the build process.
6
+ */
7
+ import { IconBack } from './icons/IconBack';
8
+ import { IconBack1 } from './icons/IconBack1';
9
+ import { IconCheck } from './icons/IconCheck';
10
+ import { IconCheck1 } from './icons/IconCheck1';
11
+ import { IconGuanBi } from './icons/IconGuanBi';
12
+ import { IconGuanBi1 } from './icons/IconGuanBi1';
13
+ import { IconGuanBiXiao } from './icons/IconGuanBiXiao';
14
+ import { IconGuanBiXiao1 } from './icons/IconGuanBiXiao1';
15
+ import { IconLianJie } from './icons/IconLianJie';
16
+ import { IconLianJie1 } from './icons/IconLianJie1';
17
+ import { IconSearch } from './icons/IconSearch';
18
+ import { IconSearch1 } from './icons/IconSearch1';
19
+ import { IconTongZhi } from './icons/IconTongZhi';
20
+ import { IconTongZhi1 } from './icons/IconTongZhi1';
21
+ import { IconWenDang } from './icons/IconWenDang';
22
+ import { IconWenDang1 } from './icons/IconWenDang1';
23
+ import { IconZhanKai } from './icons/IconZhanKai';
24
+ import { IconZhanKai1 } from './icons/IconZhanKai1';
25
+ import { IconZhiShiKu } from './icons/IconZhiShiKu';
26
+ import { IconZhiShiKu1 } from './icons/IconZhiShiKu1';
27
+ export { IconBack } from './icons/IconBack';
28
+ export { IconBack1 } from './icons/IconBack1';
29
+ export { IconCheck } from './icons/IconCheck';
30
+ export { IconCheck1 } from './icons/IconCheck1';
31
+ export { IconGuanBi } from './icons/IconGuanBi';
32
+ export { IconGuanBi1 } from './icons/IconGuanBi1';
33
+ export { IconGuanBiXiao } from './icons/IconGuanBiXiao';
34
+ export { IconGuanBiXiao1 } from './icons/IconGuanBiXiao1';
35
+ export { IconLianJie } from './icons/IconLianJie';
36
+ export { IconLianJie1 } from './icons/IconLianJie1';
37
+ export { IconSearch } from './icons/IconSearch';
38
+ export { IconSearch1 } from './icons/IconSearch1';
39
+ export { IconTongZhi } from './icons/IconTongZhi';
40
+ export { IconTongZhi1 } from './icons/IconTongZhi1';
41
+ export { IconWenDang } from './icons/IconWenDang';
42
+ export { IconWenDang1 } from './icons/IconWenDang1';
43
+ export { IconZhanKai } from './icons/IconZhanKai';
44
+ export { IconZhanKai1 } from './icons/IconZhanKai1';
45
+ export { IconZhiShiKu } from './icons/IconZhiShiKu';
46
+ export { IconZhiShiKu1 } from './icons/IconZhiShiKu1';
47
+ /**
48
+ * Object containing all icon components
49
+ */
50
+ export const allIcons = {
51
+ IconBack,
52
+ IconBack1,
53
+ IconCheck,
54
+ IconCheck1,
55
+ IconGuanBi,
56
+ IconGuanBi1,
57
+ IconGuanBiXiao,
58
+ IconGuanBiXiao1,
59
+ IconLianJie,
60
+ IconLianJie1,
61
+ IconSearch,
62
+ IconSearch1,
63
+ IconTongZhi,
64
+ IconTongZhi1,
65
+ IconWenDang,
66
+ IconWenDang1,
67
+ IconZhanKai,
68
+ IconZhanKai1,
69
+ IconZhiShiKu,
70
+ IconZhiShiKu1
71
+ };
72
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,267 @@
1
+ /**
2
+ * Icon Manifest Generator Module
3
+ *
4
+ * Generates IconManifest containing all icon metadata.
5
+ * The manifest serves as the source of truth for the icon library.
6
+ *
7
+ * Requirements: 2.6
8
+ */
9
+ import { toPascalCase } from './component-generator';
10
+ /**
11
+ * Default manifest generator options
12
+ */
13
+ const DEFAULT_OPTIONS = {
14
+ version: '1.0.0',
15
+ includeSvgContent: false,
16
+ };
17
+ /**
18
+ * Normalizes an icon name to PascalCase format with Icon prefix
19
+ *
20
+ * @param name - Original icon name
21
+ * @returns Normalized PascalCase name
22
+ */
23
+ export function normalizeIconName(name) {
24
+ const pascalName = toPascalCase(name);
25
+ if (!pascalName) {
26
+ return 'Icon';
27
+ }
28
+ return `Icon${pascalName}`;
29
+ }
30
+ /**
31
+ * Creates IconMetadata from a FilteredIconComponent
32
+ *
33
+ * @param component - Filtered icon component from Figma
34
+ * @param svgContent - Optional SVG content
35
+ * @returns IconMetadata object
36
+ */
37
+ export function createIconMetadata(component, svgContent) {
38
+ return {
39
+ id: component.id,
40
+ name: component.name,
41
+ originalName: component.name,
42
+ normalizedName: normalizeIconName(component.name),
43
+ width: component.width,
44
+ height: component.height,
45
+ svgContent,
46
+ };
47
+ }
48
+ /**
49
+ * Creates IconMetadata from an export result
50
+ *
51
+ * @param exportResult - Result from SVG export
52
+ * @param component - Original filtered component
53
+ * @returns IconMetadata object or null if export failed
54
+ */
55
+ export function createIconMetadataFromExport(exportResult, component) {
56
+ if (!exportResult.success) {
57
+ return null;
58
+ }
59
+ return {
60
+ id: exportResult.id,
61
+ name: exportResult.name,
62
+ originalName: exportResult.name,
63
+ normalizedName: normalizeIconName(exportResult.name),
64
+ width: component.width,
65
+ height: component.height,
66
+ svgContent: exportResult.svgContent,
67
+ };
68
+ }
69
+ /**
70
+ * Generates an IconManifest from filtered icon components
71
+ *
72
+ * @param components - Array of filtered icon components
73
+ * @param options - Manifest generation options
74
+ * @returns IconManifest object
75
+ */
76
+ export function generateManifest(components, options = {}) {
77
+ const opts = { ...DEFAULT_OPTIONS, ...options };
78
+ const icons = components.map((component) => createIconMetadata(component, opts.includeSvgContent ? undefined : undefined));
79
+ return {
80
+ version: opts.version,
81
+ generatedAt: new Date().toISOString(),
82
+ totalCount: icons.length,
83
+ icons,
84
+ };
85
+ }
86
+ /**
87
+ * Generates an IconManifest from export results
88
+ *
89
+ * @param exportResults - Array of export results
90
+ * @param components - Original filtered components (for dimension info)
91
+ * @param options - Manifest generation options
92
+ * @returns IconManifest object
93
+ */
94
+ export function generateManifestFromExports(exportResults, components, options = {}) {
95
+ const opts = { ...DEFAULT_OPTIONS, ...options };
96
+ // Create a map of component ID to component for quick lookup
97
+ const componentMap = new Map();
98
+ for (const component of components) {
99
+ componentMap.set(component.id, component);
100
+ }
101
+ const icons = [];
102
+ for (const result of exportResults) {
103
+ if (result.success) {
104
+ const component = componentMap.get(result.id);
105
+ if (component) {
106
+ icons.push({
107
+ id: result.id,
108
+ name: result.name,
109
+ originalName: result.name,
110
+ normalizedName: normalizeIconName(result.name),
111
+ width: component.width,
112
+ height: component.height,
113
+ svgContent: opts.includeSvgContent ? result.svgContent : undefined,
114
+ });
115
+ }
116
+ }
117
+ }
118
+ return {
119
+ version: opts.version,
120
+ generatedAt: new Date().toISOString(),
121
+ totalCount: icons.length,
122
+ icons,
123
+ };
124
+ }
125
+ /**
126
+ * Validates that a manifest has all required fields
127
+ *
128
+ * @param manifest - Manifest to validate
129
+ * @returns True if manifest is valid
130
+ */
131
+ export function isValidManifest(manifest) {
132
+ if (!manifest || typeof manifest !== 'object') {
133
+ return false;
134
+ }
135
+ const m = manifest;
136
+ if (typeof m.version !== 'string') {
137
+ return false;
138
+ }
139
+ if (typeof m.generatedAt !== 'string') {
140
+ return false;
141
+ }
142
+ if (typeof m.totalCount !== 'number') {
143
+ return false;
144
+ }
145
+ if (!Array.isArray(m.icons)) {
146
+ return false;
147
+ }
148
+ // Validate each icon has required fields
149
+ for (const icon of m.icons) {
150
+ if (!isValidIconMetadata(icon)) {
151
+ return false;
152
+ }
153
+ }
154
+ return true;
155
+ }
156
+ /**
157
+ * Validates that an icon metadata object has all required fields
158
+ *
159
+ * @param icon - Icon metadata to validate
160
+ * @returns True if icon metadata is valid
161
+ */
162
+ export function isValidIconMetadata(icon) {
163
+ if (!icon || typeof icon !== 'object') {
164
+ return false;
165
+ }
166
+ const i = icon;
167
+ const requiredStringFields = ['id', 'name', 'originalName', 'normalizedName'];
168
+ for (const field of requiredStringFields) {
169
+ if (typeof i[field] !== 'string' || i[field] === '') {
170
+ return false;
171
+ }
172
+ }
173
+ const requiredNumberFields = ['width', 'height'];
174
+ for (const field of requiredNumberFields) {
175
+ if (typeof i[field] !== 'number' || i[field] <= 0) {
176
+ return false;
177
+ }
178
+ }
179
+ return true;
180
+ }
181
+ /**
182
+ * Merges two manifests, preferring icons from the newer manifest
183
+ *
184
+ * @param oldManifest - Previous manifest
185
+ * @param newManifest - New manifest
186
+ * @returns Merged manifest
187
+ */
188
+ export function mergeManifests(oldManifest, newManifest) {
189
+ // Create a map of old icons by normalized name
190
+ const oldIconMap = new Map();
191
+ for (const icon of oldManifest.icons) {
192
+ oldIconMap.set(icon.normalizedName, icon);
193
+ }
194
+ // Create a map of new icons by normalized name
195
+ const newIconMap = new Map();
196
+ for (const icon of newManifest.icons) {
197
+ newIconMap.set(icon.normalizedName, icon);
198
+ }
199
+ // Merge: new icons take precedence
200
+ const mergedIcons = [];
201
+ const seenNames = new Set();
202
+ // Add all new icons
203
+ for (const icon of newManifest.icons) {
204
+ mergedIcons.push(icon);
205
+ seenNames.add(icon.normalizedName);
206
+ }
207
+ // Add old icons that aren't in the new manifest
208
+ for (const icon of oldManifest.icons) {
209
+ if (!seenNames.has(icon.normalizedName)) {
210
+ mergedIcons.push(icon);
211
+ }
212
+ }
213
+ return {
214
+ version: newManifest.version,
215
+ generatedAt: newManifest.generatedAt,
216
+ totalCount: mergedIcons.length,
217
+ icons: mergedIcons,
218
+ };
219
+ }
220
+ /**
221
+ * Serializes a manifest to JSON string
222
+ *
223
+ * @param manifest - Manifest to serialize
224
+ * @param pretty - Whether to format with indentation
225
+ * @returns JSON string
226
+ */
227
+ export function serializeManifest(manifest, pretty = true) {
228
+ return JSON.stringify(manifest, null, pretty ? 2 : undefined);
229
+ }
230
+ /**
231
+ * Parses a manifest from JSON string
232
+ *
233
+ * @param json - JSON string to parse
234
+ * @returns Parsed manifest or null if invalid
235
+ */
236
+ export function parseManifest(json) {
237
+ try {
238
+ const parsed = JSON.parse(json);
239
+ if (isValidManifest(parsed)) {
240
+ return parsed;
241
+ }
242
+ return null;
243
+ }
244
+ catch {
245
+ return null;
246
+ }
247
+ }
248
+ /**
249
+ * Gets icon metadata by normalized name from a manifest
250
+ *
251
+ * @param manifest - Manifest to search
252
+ * @param normalizedName - Normalized icon name to find
253
+ * @returns IconMetadata or undefined if not found
254
+ */
255
+ export function getIconByName(manifest, normalizedName) {
256
+ return manifest.icons.find((icon) => icon.normalizedName === normalizedName);
257
+ }
258
+ /**
259
+ * Gets all icon names from a manifest
260
+ *
261
+ * @param manifest - Manifest to extract names from
262
+ * @returns Array of normalized icon names
263
+ */
264
+ export function getIconNames(manifest) {
265
+ return manifest.icons.map((icon) => icon.normalizedName);
266
+ }
267
+ //# sourceMappingURL=manifest-generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manifest-generator.js","sourceRoot":"","sources":["../../src/manifest-generator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,221 @@
1
+ /**
2
+ * Multi-Format Output Module
3
+ *
4
+ * Generates multiple output formats from icon metadata:
5
+ * - SVG Sprite file with symbol elements
6
+ * - JSON metadata file
7
+ *
8
+ * Requirements: 11.2, 11.3, 11.5
9
+ */
10
+ import { extractSvgInnerContent, extractViewBox } from './svg-transformer';
11
+ /**
12
+ * Default sprite generator options
13
+ */
14
+ const DEFAULT_SPRITE_OPTIONS = {
15
+ defaultViewBox: '0 0 24 24',
16
+ includeComments: false,
17
+ };
18
+ /**
19
+ * Converts an icon name to a valid symbol ID
20
+ * Uses lowercase kebab-case format
21
+ *
22
+ * @param name - Icon name (can be PascalCase, camelCase, etc.)
23
+ * @returns Lowercase kebab-case ID
24
+ */
25
+ export function toSymbolId(name) {
26
+ if (!name || name.trim().length === 0) {
27
+ return 'icon';
28
+ }
29
+ // Remove "Icon" prefix if present
30
+ let cleanName = name;
31
+ if (cleanName.startsWith('Icon') && cleanName.length > 4) {
32
+ cleanName = cleanName.slice(4);
33
+ }
34
+ // Convert PascalCase/camelCase to kebab-case
35
+ return cleanName
36
+ .replace(/([a-z])([A-Z])/g, '$1-$2')
37
+ .replace(/([A-Z]+)([A-Z][a-z])/g, '$1-$2')
38
+ .replace(/[\s_]+/g, '-')
39
+ .toLowerCase();
40
+ }
41
+ /**
42
+ * Creates a sprite symbol from icon metadata
43
+ *
44
+ * @param icon - Icon metadata with SVG content
45
+ * @param options - Sprite generator options
46
+ * @returns SpriteSymbol object or null if no SVG content
47
+ */
48
+ export function createSpriteSymbol(icon, options = DEFAULT_SPRITE_OPTIONS) {
49
+ if (!icon.svgContent) {
50
+ return null;
51
+ }
52
+ const id = toSymbolId(icon.normalizedName);
53
+ const viewBox = extractViewBox(icon.svgContent) || options.defaultViewBox || '0 0 24 24';
54
+ const content = extractSvgInnerContent(icon.svgContent);
55
+ return {
56
+ id,
57
+ viewBox,
58
+ content,
59
+ };
60
+ }
61
+ /**
62
+ * Generates an SVG sprite from a list of icons
63
+ *
64
+ * @param icons - Array of icon metadata with SVG content
65
+ * @param options - Sprite generator options
66
+ * @returns SvgSprite object with full sprite content and symbols
67
+ *
68
+ * Requirements: 11.2
69
+ */
70
+ export function generateSprite(icons, options = {}) {
71
+ const opts = { ...DEFAULT_SPRITE_OPTIONS, ...options };
72
+ // Create symbols from icons that have SVG content
73
+ const symbols = [];
74
+ for (const icon of icons) {
75
+ const symbol = createSpriteSymbol(icon, opts);
76
+ if (symbol) {
77
+ symbols.push(symbol);
78
+ }
79
+ }
80
+ // Sort symbols alphabetically by ID for consistent output
81
+ symbols.sort((a, b) => a.id.localeCompare(b.id));
82
+ // Generate sprite content
83
+ const symbolsContent = symbols
84
+ .map((s) => ` <symbol id="${s.id}" viewBox="${s.viewBox}">
85
+ ${s.content}
86
+ </symbol>`)
87
+ .join('\n');
88
+ const content = `<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
89
+ ${symbolsContent}
90
+ </svg>`;
91
+ return {
92
+ content,
93
+ symbols,
94
+ };
95
+ }
96
+ /**
97
+ * Generates an SVG sprite from an IconManifest
98
+ *
99
+ * @param manifest - Icon manifest with icons
100
+ * @param options - Sprite generator options
101
+ * @returns SvgSprite object
102
+ *
103
+ * Requirements: 11.2
104
+ */
105
+ export function generateSpriteFromManifest(manifest, options = {}) {
106
+ return generateSprite(manifest.icons, options);
107
+ }
108
+ /**
109
+ * Default JSON metadata options
110
+ */
111
+ const DEFAULT_JSON_OPTIONS = {
112
+ svgBasePath: 'svg',
113
+ componentBasePath: 'src/icons',
114
+ };
115
+ /**
116
+ * Creates a JSON entry for an icon
117
+ *
118
+ * @param icon - Icon metadata
119
+ * @param options - JSON metadata options
120
+ * @returns IconJsonEntry object
121
+ */
122
+ export function createIconJsonEntry(icon, options = DEFAULT_JSON_OPTIONS) {
123
+ // Use originalName for SVG file (preserves Chinese characters)
124
+ const svgFileName = icon.originalName + '.svg';
125
+ const componentFileName = icon.normalizedName + '.tsx';
126
+ return {
127
+ name: icon.normalizedName,
128
+ originalName: icon.originalName,
129
+ svgPath: `${options.svgBasePath}/${svgFileName}`,
130
+ componentPath: `${options.componentBasePath}/${componentFileName}`,
131
+ size: {
132
+ width: icon.width,
133
+ height: icon.height,
134
+ },
135
+ createdAt: icon.createdAt,
136
+ };
137
+ }
138
+ /**
139
+ * Generates JSON metadata from a list of icons
140
+ *
141
+ * @param icons - Array of icon metadata
142
+ * @param version - Version string
143
+ * @param options - JSON metadata options
144
+ * @returns IconsJsonMetadata object
145
+ *
146
+ * Requirements: 11.3, 11.5
147
+ */
148
+ export function generateJsonMetadata(icons, version, options = {}) {
149
+ const opts = { ...DEFAULT_JSON_OPTIONS, ...options };
150
+ const iconEntries = icons.map((icon) => createIconJsonEntry(icon, opts));
151
+ // Sort entries alphabetically by name for consistent output
152
+ // Removed internal sorting to respect the order passed from generate-outputs.ts (which sorts by date)
153
+ // iconEntries.sort((a, b) => a.name.localeCompare(b.name))
154
+ return {
155
+ version,
156
+ generatedAt: new Date().toISOString(),
157
+ totalCount: iconEntries.length,
158
+ icons: iconEntries,
159
+ };
160
+ }
161
+ /**
162
+ * Generates JSON metadata from an IconManifest
163
+ *
164
+ * @param manifest - Icon manifest
165
+ * @param options - JSON metadata options
166
+ * @returns IconsJsonMetadata object
167
+ *
168
+ * Requirements: 11.3, 11.5
169
+ */
170
+ export function generateJsonMetadataFromManifest(manifest, options = {}) {
171
+ return generateJsonMetadata(manifest.icons, manifest.version, options);
172
+ }
173
+ /**
174
+ * Serializes JSON metadata to a formatted string
175
+ *
176
+ * @param metadata - JSON metadata object
177
+ * @param pretty - Whether to format with indentation
178
+ * @returns JSON string
179
+ */
180
+ export function serializeJsonMetadata(metadata, pretty = true) {
181
+ return JSON.stringify(metadata, null, pretty ? 2 : undefined);
182
+ }
183
+ // ============================================
184
+ // Validation Helpers
185
+ // ============================================
186
+ /**
187
+ * Validates that a sprite has all expected symbols
188
+ *
189
+ * @param sprite - Generated sprite
190
+ * @param expectedIconNames - Expected icon names
191
+ * @returns Array of missing icon names
192
+ */
193
+ export function validateSpriteCompleteness(sprite, expectedIconNames) {
194
+ const symbolIds = new Set(sprite.symbols.map((s) => s.id));
195
+ const missing = [];
196
+ for (const name of expectedIconNames) {
197
+ const expectedId = toSymbolId(name);
198
+ if (!symbolIds.has(expectedId)) {
199
+ missing.push(name);
200
+ }
201
+ }
202
+ return missing;
203
+ }
204
+ /**
205
+ * Validates that JSON metadata has all expected icons
206
+ *
207
+ * @param metadata - Generated JSON metadata
208
+ * @param expectedIconNames - Expected icon names
209
+ * @returns Array of missing icon names
210
+ */
211
+ export function validateJsonMetadataCompleteness(metadata, expectedIconNames) {
212
+ const metadataNames = new Set(metadata.icons.map((i) => i.name));
213
+ const missing = [];
214
+ for (const name of expectedIconNames) {
215
+ if (!metadataNames.has(name)) {
216
+ missing.push(name);
217
+ }
218
+ }
219
+ return missing;
220
+ }
221
+ //# sourceMappingURL=multi-format-output.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multi-format-output.js","sourceRoot":"","sources":["../../src/multi-format-output.ts"],"names":[],"mappings":"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"}