weasel-icons 0.1.0 → 0.3.0

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 (396) hide show
  1. package/README.md +93 -5
  2. package/THIRD_PARTY_NOTICES.md +17 -5
  3. package/dist/icons/alert/alert-icon.d.ts +6 -0
  4. package/dist/icons/alert/alert-icon.js +22 -0
  5. package/dist/icons/alert/alert-rig.d.ts +12 -0
  6. package/dist/icons/alert/alert-rig.js +25 -0
  7. package/dist/icons/arrow-down/arrow-down-icon.d.ts +5 -0
  8. package/dist/icons/arrow-down/arrow-down-icon.js +9 -0
  9. package/dist/icons/arrow-down/arrow-down-rig.d.ts +43 -0
  10. package/dist/icons/arrow-down/arrow-down-rig.js +64 -0
  11. package/dist/icons/arrow-left/arrow-left-icon.d.ts +5 -0
  12. package/dist/icons/arrow-left/arrow-left-icon.js +9 -0
  13. package/dist/icons/arrow-left/arrow-left-rig.d.ts +43 -0
  14. package/dist/icons/arrow-left/arrow-left-rig.js +64 -0
  15. package/dist/icons/arrow-right/arrow-right-icon.d.ts +5 -0
  16. package/dist/icons/arrow-right/arrow-right-icon.js +9 -0
  17. package/dist/icons/arrow-right/arrow-right-rig.d.ts +43 -0
  18. package/dist/icons/arrow-right/arrow-right-rig.js +64 -0
  19. package/dist/icons/arrow-up/arrow-up-icon.d.ts +5 -0
  20. package/dist/icons/arrow-up/arrow-up-icon.js +9 -0
  21. package/dist/icons/arrow-up/arrow-up-rig.d.ts +43 -0
  22. package/dist/icons/arrow-up/arrow-up-rig.js +64 -0
  23. package/dist/icons/badge-check/badge-check-icon.d.ts +5 -0
  24. package/dist/icons/badge-check/badge-check-icon.js +33 -0
  25. package/dist/icons/badge-check/badge-check-rig.d.ts +14 -0
  26. package/dist/icons/badge-check/badge-check-rig.js +36 -0
  27. package/dist/icons/bell/bell-icon.js +1 -1
  28. package/dist/icons/book-open/book-open-icon.d.ts +5 -0
  29. package/dist/icons/book-open/book-open-icon.js +9 -0
  30. package/dist/icons/book-open/book-open-rig.d.ts +65 -0
  31. package/dist/icons/book-open/book-open-rig.js +95 -0
  32. package/dist/icons/bookmark/bookmark-icon.d.ts +5 -0
  33. package/dist/icons/bookmark/bookmark-icon.js +9 -0
  34. package/dist/icons/bookmark/bookmark-rig.d.ts +43 -0
  35. package/dist/icons/bookmark/bookmark-rig.js +65 -0
  36. package/dist/icons/bulb/bulb-icon.d.ts +5 -0
  37. package/dist/icons/bulb/bulb-icon.js +25 -0
  38. package/dist/icons/bulb/bulb-rig.d.ts +13 -0
  39. package/dist/icons/bulb/bulb-rig.js +37 -0
  40. package/dist/icons/calendar/calendar-icon.d.ts +5 -0
  41. package/dist/icons/calendar/calendar-icon.js +9 -0
  42. package/dist/icons/calendar/calendar-rig.d.ts +67 -0
  43. package/dist/icons/calendar/calendar-rig.js +95 -0
  44. package/dist/icons/camera/camera-icon.d.ts +5 -0
  45. package/dist/icons/camera/camera-icon.js +9 -0
  46. package/dist/icons/camera/camera-rig.d.ts +58 -0
  47. package/dist/icons/camera/camera-rig.js +82 -0
  48. package/dist/icons/check/check-icon.d.ts +5 -0
  49. package/dist/icons/check/check-icon.js +26 -0
  50. package/dist/icons/check/check-rig.d.ts +6 -0
  51. package/dist/icons/check/check-rig.js +38 -0
  52. package/dist/icons/chevron-down/chevron-down-icon.d.ts +5 -0
  53. package/dist/icons/chevron-down/chevron-down-icon.js +9 -0
  54. package/dist/icons/chevron-down/chevron-down-rig.d.ts +48 -0
  55. package/dist/icons/chevron-down/chevron-down-rig.js +30 -0
  56. package/dist/icons/chevron-left/chevron-left-icon.d.ts +5 -0
  57. package/dist/icons/chevron-left/chevron-left-icon.js +9 -0
  58. package/dist/icons/chevron-left/chevron-left-rig.d.ts +34 -0
  59. package/dist/icons/chevron-left/chevron-left-rig.js +49 -0
  60. package/dist/icons/chevron-right/chevron-right-icon.d.ts +5 -0
  61. package/dist/icons/chevron-right/chevron-right-icon.js +9 -0
  62. package/dist/icons/chevron-right/chevron-right-rig.d.ts +34 -0
  63. package/dist/icons/chevron-right/chevron-right-rig.js +49 -0
  64. package/dist/icons/chevron-up/chevron-up-icon.d.ts +5 -0
  65. package/dist/icons/chevron-up/chevron-up-icon.js +9 -0
  66. package/dist/icons/chevron-up/chevron-up-rig.d.ts +48 -0
  67. package/dist/icons/chevron-up/chevron-up-rig.js +30 -0
  68. package/dist/icons/circle-help/circle-help-icon.d.ts +5 -0
  69. package/dist/icons/circle-help/circle-help-icon.js +9 -0
  70. package/dist/icons/circle-help/circle-help-rig.d.ts +45 -0
  71. package/dist/icons/circle-help/circle-help-rig.js +70 -0
  72. package/dist/icons/clapperboard/clapperboard-icon.d.ts +5 -0
  73. package/dist/icons/clapperboard/clapperboard-icon.js +18 -0
  74. package/dist/icons/clapperboard/clapperboard-rig.d.ts +12 -0
  75. package/dist/icons/clapperboard/clapperboard-rig.js +25 -0
  76. package/dist/icons/clipboard/clipboard-icon.d.ts +5 -0
  77. package/dist/icons/clipboard/clipboard-icon.js +9 -0
  78. package/dist/icons/clipboard/clipboard-rig.d.ts +69 -0
  79. package/dist/icons/clipboard/clipboard-rig.js +99 -0
  80. package/dist/icons/clock/clock-icon.d.ts +5 -0
  81. package/dist/icons/clock/clock-icon.js +9 -0
  82. package/dist/icons/clock/clock-rig.d.ts +40 -0
  83. package/dist/icons/clock/clock-rig.js +53 -0
  84. package/dist/icons/close/close-icon.d.ts +5 -0
  85. package/dist/icons/close/close-icon.js +27 -0
  86. package/dist/icons/close/close-rig.d.ts +10 -0
  87. package/dist/icons/close/close-rig.js +31 -0
  88. package/dist/icons/cloud/cloud-icon.d.ts +5 -0
  89. package/dist/icons/cloud/cloud-icon.js +9 -0
  90. package/dist/icons/cloud/cloud-rig.d.ts +74 -0
  91. package/dist/icons/cloud/cloud-rig.js +103 -0
  92. package/dist/icons/code/code-icon.d.ts +5 -0
  93. package/dist/icons/code/code-icon.js +9 -0
  94. package/dist/icons/code/code-rig.d.ts +104 -0
  95. package/dist/icons/code/code-rig.js +148 -0
  96. package/dist/icons/copy/copy-icon.d.ts +5 -0
  97. package/dist/icons/copy/copy-icon.js +31 -0
  98. package/dist/icons/copy/copy-rig.d.ts +13 -0
  99. package/dist/icons/copy/copy-rig.js +44 -0
  100. package/dist/icons/credit-card/credit-card-icon.d.ts +5 -0
  101. package/dist/icons/credit-card/credit-card-icon.js +9 -0
  102. package/dist/icons/credit-card/credit-card-rig.d.ts +88 -0
  103. package/dist/icons/credit-card/credit-card-rig.js +122 -0
  104. package/dist/icons/cursor/cursor-icon.d.ts +5 -0
  105. package/dist/icons/cursor/cursor-icon.js +32 -0
  106. package/dist/icons/cursor/cursor-rig.d.ts +21 -0
  107. package/dist/icons/cursor/cursor-rig.js +63 -0
  108. package/dist/icons/database/database-icon.d.ts +5 -0
  109. package/dist/icons/database/database-icon.js +9 -0
  110. package/dist/icons/database/database-rig.d.ts +61 -0
  111. package/dist/icons/database/database-rig.js +86 -0
  112. package/dist/icons/delete/delete-icon.d.ts +5 -0
  113. package/dist/icons/delete/delete-icon.js +25 -0
  114. package/dist/icons/delete/delete-rig.d.ts +15 -0
  115. package/dist/icons/delete/delete-rig.js +33 -0
  116. package/dist/icons/dog/dog-icon.js +1 -1
  117. package/dist/icons/download/download-icon.js +1 -1
  118. package/dist/icons/external-link/external-link-icon.d.ts +5 -0
  119. package/dist/icons/external-link/external-link-icon.js +9 -0
  120. package/dist/icons/external-link/external-link-rig.d.ts +45 -0
  121. package/dist/icons/external-link/external-link-rig.js +42 -0
  122. package/dist/icons/eye/eye-icon.d.ts +5 -0
  123. package/dist/icons/eye/eye-icon.js +27 -0
  124. package/dist/icons/eye/eye-rig.d.ts +9 -0
  125. package/dist/icons/eye/eye-rig.js +37 -0
  126. package/dist/icons/file/file-icon.d.ts +5 -0
  127. package/dist/icons/file/file-icon.js +9 -0
  128. package/dist/icons/file/file-rig.d.ts +53 -0
  129. package/dist/icons/file/file-rig.js +80 -0
  130. package/dist/icons/file-text/file-text-icon.d.ts +5 -0
  131. package/dist/icons/file-text/file-text-icon.js +9 -0
  132. package/dist/icons/file-text/file-text-rig.d.ts +93 -0
  133. package/dist/icons/file-text/file-text-rig.js +138 -0
  134. package/dist/icons/filter/filter-icon.d.ts +5 -0
  135. package/dist/icons/filter/filter-icon.js +9 -0
  136. package/dist/icons/filter/filter-rig.d.ts +72 -0
  137. package/dist/icons/filter/filter-rig.js +99 -0
  138. package/dist/icons/folder/folder-icon.d.ts +5 -0
  139. package/dist/icons/folder/folder-icon.js +9 -0
  140. package/dist/icons/folder/folder-rig.d.ts +20 -0
  141. package/dist/icons/folder/folder-rig.js +28 -0
  142. package/dist/icons/globe/globe-icon.d.ts +5 -0
  143. package/dist/icons/globe/globe-icon.js +9 -0
  144. package/dist/icons/globe/globe-rig.d.ts +40 -0
  145. package/dist/icons/globe/globe-rig.js +57 -0
  146. package/dist/icons/heart/heart-icon.js +1 -1
  147. package/dist/icons/heart/heart-rig.js +1 -1
  148. package/dist/icons/home/home-icon.d.ts +5 -0
  149. package/dist/icons/home/home-icon.js +9 -0
  150. package/dist/icons/home/home-rig.d.ts +49 -0
  151. package/dist/icons/home/home-rig.js +76 -0
  152. package/dist/icons/image/image-icon.d.ts +5 -0
  153. package/dist/icons/image/image-icon.js +9 -0
  154. package/dist/icons/image/image-rig.d.ts +70 -0
  155. package/dist/icons/image/image-rig.js +99 -0
  156. package/dist/icons/info/info-icon.d.ts +5 -0
  157. package/dist/icons/info/info-icon.js +9 -0
  158. package/dist/icons/info/info-rig.d.ts +48 -0
  159. package/dist/icons/info/info-rig.js +69 -0
  160. package/dist/icons/key/key-icon.d.ts +5 -0
  161. package/dist/icons/key/key-icon.js +9 -0
  162. package/dist/icons/key/key-rig.d.ts +50 -0
  163. package/dist/icons/key/key-rig.js +76 -0
  164. package/dist/icons/layers/layers-icon.d.ts +5 -0
  165. package/dist/icons/layers/layers-icon.js +9 -0
  166. package/dist/icons/layers/layers-rig.d.ts +147 -0
  167. package/dist/icons/layers/layers-rig.js +211 -0
  168. package/dist/icons/layout-dashboard/layout-dashboard-icon.d.ts +5 -0
  169. package/dist/icons/layout-dashboard/layout-dashboard-icon.js +9 -0
  170. package/dist/icons/layout-dashboard/layout-dashboard-rig.d.ts +194 -0
  171. package/dist/icons/layout-dashboard/layout-dashboard-rig.js +284 -0
  172. package/dist/icons/layout-grid/layout-grid-icon.d.ts +5 -0
  173. package/dist/icons/layout-grid/layout-grid-icon.js +9 -0
  174. package/dist/icons/layout-grid/layout-grid-rig.d.ts +103 -0
  175. package/dist/icons/layout-grid/layout-grid-rig.js +167 -0
  176. package/dist/icons/link/link-icon.d.ts +5 -0
  177. package/dist/icons/link/link-icon.js +30 -0
  178. package/dist/icons/link/link-rig.d.ts +13 -0
  179. package/dist/icons/link/link-rig.js +37 -0
  180. package/dist/icons/list/list-icon.d.ts +5 -0
  181. package/dist/icons/list/list-icon.js +9 -0
  182. package/dist/icons/list/list-rig.d.ts +165 -0
  183. package/dist/icons/list/list-rig.js +231 -0
  184. package/dist/icons/lock/lock-icon.d.ts +5 -0
  185. package/dist/icons/lock/lock-icon.js +9 -0
  186. package/dist/icons/lock/lock-rig.d.ts +42 -0
  187. package/dist/icons/lock/lock-rig.js +58 -0
  188. package/dist/icons/log-in/log-in-icon.d.ts +5 -0
  189. package/dist/icons/log-in/log-in-icon.js +9 -0
  190. package/dist/icons/log-in/log-in-rig.d.ts +39 -0
  191. package/dist/icons/log-in/log-in-rig.js +55 -0
  192. package/dist/icons/log-out/log-out-icon.d.ts +5 -0
  193. package/dist/icons/log-out/log-out-icon.js +9 -0
  194. package/dist/icons/log-out/log-out-rig.d.ts +39 -0
  195. package/dist/icons/log-out/log-out-rig.js +55 -0
  196. package/dist/icons/mail/mail-icon.d.ts +5 -0
  197. package/dist/icons/mail/mail-icon.js +9 -0
  198. package/dist/icons/mail/mail-rig.d.ts +20 -0
  199. package/dist/icons/mail/mail-rig.js +28 -0
  200. package/dist/icons/map-pin/map-pin-icon.d.ts +5 -0
  201. package/dist/icons/map-pin/map-pin-icon.js +9 -0
  202. package/dist/icons/map-pin/map-pin-rig.d.ts +118 -0
  203. package/dist/icons/map-pin/map-pin-rig.js +164 -0
  204. package/dist/icons/maximize/maximize-icon.d.ts +5 -0
  205. package/dist/icons/maximize/maximize-icon.js +9 -0
  206. package/dist/icons/maximize/maximize-rig.d.ts +190 -0
  207. package/dist/icons/maximize/maximize-rig.js +268 -0
  208. package/dist/icons/menu/menu-icon.d.ts +5 -0
  209. package/dist/icons/menu/menu-icon.js +9 -0
  210. package/dist/icons/menu/menu-rig.d.ts +41 -0
  211. package/dist/icons/menu/menu-rig.js +58 -0
  212. package/dist/icons/message-circle/message-circle-icon.d.ts +5 -0
  213. package/dist/icons/message-circle/message-circle-icon.js +9 -0
  214. package/dist/icons/message-circle/message-circle-rig.d.ts +99 -0
  215. package/dist/icons/message-circle/message-circle-rig.js +143 -0
  216. package/dist/icons/mic/mic-icon.d.ts +5 -0
  217. package/dist/icons/mic/mic-icon.js +9 -0
  218. package/dist/icons/mic/mic-rig.d.ts +67 -0
  219. package/dist/icons/mic/mic-rig.js +96 -0
  220. package/dist/icons/minimize/minimize-icon.d.ts +5 -0
  221. package/dist/icons/minimize/minimize-icon.js +9 -0
  222. package/dist/icons/minimize/minimize-rig.d.ts +190 -0
  223. package/dist/icons/minimize/minimize-rig.js +268 -0
  224. package/dist/icons/minus/minus-icon.d.ts +5 -0
  225. package/dist/icons/minus/minus-icon.js +9 -0
  226. package/dist/icons/minus/minus-rig.d.ts +31 -0
  227. package/dist/icons/minus/minus-rig.js +47 -0
  228. package/dist/icons/monkey/monkey-icon.js +1 -1
  229. package/dist/icons/moon/moon-icon.d.ts +5 -0
  230. package/dist/icons/moon/moon-icon.js +9 -0
  231. package/dist/icons/moon/moon-rig.d.ts +62 -0
  232. package/dist/icons/moon/moon-rig.js +87 -0
  233. package/dist/icons/more-horizontal/more-horizontal-icon.d.ts +5 -0
  234. package/dist/icons/more-horizontal/more-horizontal-icon.js +9 -0
  235. package/dist/icons/more-horizontal/more-horizontal-rig.d.ts +91 -0
  236. package/dist/icons/more-horizontal/more-horizontal-rig.js +141 -0
  237. package/dist/icons/more-vertical/more-vertical-icon.d.ts +5 -0
  238. package/dist/icons/more-vertical/more-vertical-icon.js +9 -0
  239. package/dist/icons/more-vertical/more-vertical-rig.d.ts +91 -0
  240. package/dist/icons/more-vertical/more-vertical-rig.js +141 -0
  241. package/dist/icons/music/music-icon.d.ts +5 -0
  242. package/dist/icons/music/music-icon.js +9 -0
  243. package/dist/icons/music/music-rig.d.ts +66 -0
  244. package/dist/icons/music/music-rig.js +95 -0
  245. package/dist/icons/package/package-icon.d.ts +5 -0
  246. package/dist/icons/package/package-icon.js +9 -0
  247. package/dist/icons/package/package-rig.d.ts +40 -0
  248. package/dist/icons/package/package-rig.js +60 -0
  249. package/dist/icons/pause/pause-icon.d.ts +5 -0
  250. package/dist/icons/pause/pause-icon.js +9 -0
  251. package/dist/icons/pause/pause-rig.d.ts +104 -0
  252. package/dist/icons/pause/pause-rig.js +147 -0
  253. package/dist/icons/pencil/pencil-icon.d.ts +5 -0
  254. package/dist/icons/pencil/pencil-icon.js +9 -0
  255. package/dist/icons/pencil/pencil-rig.d.ts +48 -0
  256. package/dist/icons/pencil/pencil-rig.js +68 -0
  257. package/dist/icons/phone/phone-icon.d.ts +5 -0
  258. package/dist/icons/phone/phone-icon.js +9 -0
  259. package/dist/icons/phone/phone-rig.d.ts +41 -0
  260. package/dist/icons/phone/phone-rig.js +60 -0
  261. package/dist/icons/play/play-icon.d.ts +5 -0
  262. package/dist/icons/play/play-icon.js +9 -0
  263. package/dist/icons/play/play-rig.d.ts +58 -0
  264. package/dist/icons/play/play-rig.js +80 -0
  265. package/dist/icons/plug/plug-icon.d.ts +5 -0
  266. package/dist/icons/plug/plug-icon.js +21 -0
  267. package/dist/icons/plug/plug-rig.d.ts +16 -0
  268. package/dist/icons/plug/plug-rig.js +29 -0
  269. package/dist/icons/plus/plus-icon.d.ts +5 -0
  270. package/dist/icons/plus/plus-icon.js +9 -0
  271. package/dist/icons/plus/plus-rig.d.ts +94 -0
  272. package/dist/icons/plus/plus-rig.js +137 -0
  273. package/dist/icons/refresh/refresh-icon.d.ts +5 -0
  274. package/dist/icons/refresh/refresh-icon.js +40 -0
  275. package/dist/icons/refresh/refresh-rig.d.ts +11 -0
  276. package/dist/icons/refresh/refresh-rig.js +30 -0
  277. package/dist/icons/replace/replace-icon.d.ts +5 -0
  278. package/dist/icons/replace/replace-icon.js +26 -0
  279. package/dist/icons/replace/replace-rig.d.ts +20 -0
  280. package/dist/icons/replace/replace-rig.js +42 -0
  281. package/dist/icons/rocket/rocket-icon.js +1 -1
  282. package/dist/icons/save/save-icon.d.ts +5 -0
  283. package/dist/icons/save/save-icon.js +9 -0
  284. package/dist/icons/save/save-rig.d.ts +43 -0
  285. package/dist/icons/save/save-rig.js +63 -0
  286. package/dist/icons/search/search-icon.js +1 -1
  287. package/dist/icons/send/send-icon.d.ts +5 -0
  288. package/dist/icons/send/send-icon.js +9 -0
  289. package/dist/icons/send/send-rig.d.ts +43 -0
  290. package/dist/icons/send/send-rig.js +61 -0
  291. package/dist/icons/settings/settings-icon.d.ts +5 -0
  292. package/dist/icons/settings/settings-icon.js +9 -0
  293. package/dist/icons/settings/settings-rig.d.ts +41 -0
  294. package/dist/icons/settings/settings-rig.js +64 -0
  295. package/dist/icons/share/share-icon.d.ts +5 -0
  296. package/dist/icons/share/share-icon.js +9 -0
  297. package/dist/icons/share/share-rig.d.ts +80 -0
  298. package/dist/icons/share/share-rig.js +114 -0
  299. package/dist/icons/shield/shield-icon.d.ts +5 -0
  300. package/dist/icons/shield/shield-icon.js +25 -0
  301. package/dist/icons/shield/shield-rig.d.ts +23 -0
  302. package/dist/icons/shield/shield-rig.js +42 -0
  303. package/dist/icons/ship/ship-icon.js +1 -1
  304. package/dist/icons/shopping-bag/shopping-bag-icon.d.ts +5 -0
  305. package/dist/icons/shopping-bag/shopping-bag-icon.js +9 -0
  306. package/dist/icons/shopping-bag/shopping-bag-rig.d.ts +92 -0
  307. package/dist/icons/shopping-bag/shopping-bag-rig.js +139 -0
  308. package/dist/icons/shopping-cart/shopping-cart-icon.d.ts +5 -0
  309. package/dist/icons/shopping-cart/shopping-cart-icon.js +9 -0
  310. package/dist/icons/shopping-cart/shopping-cart-rig.d.ts +72 -0
  311. package/dist/icons/shopping-cart/shopping-cart-rig.js +111 -0
  312. package/dist/icons/sliders/sliders-icon.d.ts +5 -0
  313. package/dist/icons/sliders/sliders-icon.js +9 -0
  314. package/dist/icons/sliders/sliders-rig.d.ts +156 -0
  315. package/dist/icons/sliders/sliders-rig.js +231 -0
  316. package/dist/icons/sparkle/sparkle-icon.d.ts +5 -0
  317. package/dist/icons/sparkle/sparkle-icon.js +27 -0
  318. package/dist/icons/sparkle/sparkle-rig.d.ts +8 -0
  319. package/dist/icons/sparkle/sparkle-rig.js +6 -0
  320. package/dist/icons/sparkles/sparkles-icon.d.ts +5 -0
  321. package/dist/icons/sparkles/sparkles-icon.js +27 -0
  322. package/dist/icons/sparkles/sparkles-rig.d.ts +14 -0
  323. package/dist/icons/sparkles/sparkles-rig.js +24 -0
  324. package/dist/icons/star/star-icon.d.ts +5 -0
  325. package/dist/icons/star/star-icon.js +38 -0
  326. package/dist/icons/star/star-rig.d.ts +20 -0
  327. package/dist/icons/star/star-rig.js +61 -0
  328. package/dist/icons/sun/sun-icon.d.ts +5 -0
  329. package/dist/icons/sun/sun-icon.js +9 -0
  330. package/dist/icons/sun/sun-rig.d.ts +290 -0
  331. package/dist/icons/sun/sun-rig.js +401 -0
  332. package/dist/icons/swap/swap-icon.d.ts +5 -0
  333. package/dist/icons/swap/swap-icon.js +26 -0
  334. package/dist/icons/swap/swap-rig.d.ts +10 -0
  335. package/dist/icons/swap/swap-rig.js +24 -0
  336. package/dist/icons/terminal/terminal-icon.d.ts +5 -0
  337. package/dist/icons/terminal/terminal-icon.js +9 -0
  338. package/dist/icons/terminal/terminal-rig.d.ts +71 -0
  339. package/dist/icons/terminal/terminal-rig.js +102 -0
  340. package/dist/icons/timer/timer-icon.d.ts +5 -0
  341. package/dist/icons/timer/timer-icon.js +9 -0
  342. package/dist/icons/timer/timer-rig.d.ts +50 -0
  343. package/dist/icons/timer/timer-rig.js +72 -0
  344. package/dist/icons/truck/truck-icon.d.ts +5 -0
  345. package/dist/icons/truck/truck-icon.js +9 -0
  346. package/dist/icons/truck/truck-rig.d.ts +184 -0
  347. package/dist/icons/truck/truck-rig.js +272 -0
  348. package/dist/icons/upload/upload-icon.d.ts +5 -0
  349. package/dist/icons/upload/upload-icon.js +9 -0
  350. package/dist/icons/upload/upload-rig.d.ts +99 -0
  351. package/dist/icons/upload/upload-rig.js +124 -0
  352. package/dist/icons/user/user-icon.d.ts +5 -0
  353. package/dist/icons/user/user-icon.js +9 -0
  354. package/dist/icons/user/user-rig.d.ts +45 -0
  355. package/dist/icons/user/user-rig.js +66 -0
  356. package/dist/icons/users/users-icon.d.ts +5 -0
  357. package/dist/icons/users/users-icon.js +9 -0
  358. package/dist/icons/users/users-rig.d.ts +76 -0
  359. package/dist/icons/users/users-rig.js +113 -0
  360. package/dist/icons/video/video-icon.d.ts +5 -0
  361. package/dist/icons/video/video-icon.js +9 -0
  362. package/dist/icons/video/video-rig.d.ts +62 -0
  363. package/dist/icons/video/video-rig.js +84 -0
  364. package/dist/icons/volume/volume-icon.d.ts +5 -0
  365. package/dist/icons/volume/volume-icon.js +9 -0
  366. package/dist/icons/volume/volume-rig.d.ts +82 -0
  367. package/dist/icons/volume/volume-rig.js +120 -0
  368. package/dist/icons/wallet/wallet-icon.d.ts +5 -0
  369. package/dist/icons/wallet/wallet-icon.js +9 -0
  370. package/dist/icons/wallet/wallet-rig.d.ts +63 -0
  371. package/dist/icons/wallet/wallet-rig.js +90 -0
  372. package/dist/icons/wave/wave-icon.d.ts +5 -0
  373. package/dist/icons/wave/wave-icon.js +18 -0
  374. package/dist/icons/wave/wave-rig.d.ts +8 -0
  375. package/dist/icons/wave/wave-rig.js +39 -0
  376. package/dist/icons/wifi/wifi-icon.d.ts +5 -0
  377. package/dist/icons/wifi/wifi-icon.js +9 -0
  378. package/dist/icons/wifi/wifi-rig.d.ts +189 -0
  379. package/dist/icons/wifi/wifi-rig.js +260 -0
  380. package/dist/index.d.ts +93 -2
  381. package/dist/index.js +92 -1
  382. package/dist/shared/articulated-icon.d.ts +7 -0
  383. package/dist/shared/articulated-icon.js +49 -0
  384. package/dist/shared/articulation.d.ts +62 -0
  385. package/dist/shared/articulation.js +85 -0
  386. package/dist/shared/icon-colors.d.ts +95 -4
  387. package/dist/shared/icon-types.d.ts +1 -0
  388. package/dist/shared/sparkle-motion.d.ts +12 -0
  389. package/dist/shared/sparkle-motion.js +38 -0
  390. package/dist/shared/use-icon-motion.d.ts +5 -1
  391. package/dist/shared/use-icon-motion.js +30 -3
  392. package/package.json +464 -9
  393. package/dist/icons/leaf/leaf-icon.d.ts +0 -6
  394. package/dist/icons/leaf/leaf-icon.js +0 -29
  395. package/dist/icons/leaf/leaf-rig.d.ts +0 -25
  396. package/dist/icons/leaf/leaf-rig.js +0 -201
@@ -0,0 +1,27 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { memo, useRef, useCallback } from 'react';
4
+ import { motion, useTransform } from 'motion/react';
5
+ import { usePoseWeight, useBehaviorClock, useActionProgress } from "../../shared/use-icon-motion.js";
6
+ import { useMotionPreference } from "../../shared/use-motion-preference.js";
7
+ import { CLOSE_FIRST, CLOSE_SECOND, sampleClose } from "./close-rig.js";
8
+ export { closeStates } from "./close-rig.js";
9
+ export const CloseIcon = memo(function CloseIcon({ state = 'ready', size = 24, color = 'currentColor', accentColor = 'currentColor', strokeWidth = 1.65, speed = 1, alive = false, className, }) {
10
+ const reduced = useMotionPreference(), element = useRef(null);
11
+ const pace = Number.isFinite(speed) ? Math.min(4, Math.max(0.1, speed)) : 1;
12
+ const w0 = usePoseWeight(state === 'ready', pace, reduced);
13
+ const w1 = usePoseWeight(state === 'closing', pace, reduced);
14
+ const w2 = usePoseWeight(state === 'blocked', pace, reduced);
15
+ const performs = alive && !reduced && (state === 'closing' || state === 'blocked');
16
+ const life = usePoseWeight(performs, pace, reduced), time = useBehaviorClock(element, performs, pace, life);
17
+ const can0 = useCallback(() => w1.get() < 0.001, [w1]);
18
+ const e0 = useActionProgress(state === 'closing', pace, reduced, 1.15, can0);
19
+ const can1 = useCallback(() => w2.get() < 0.001, [w2]);
20
+ const e1 = useActionProgress(state === 'blocked', pace, reduced, 1, can1);
21
+ const rig = useTransform(() => sampleClose([w0.get(), w1.get(), w2.get()], time.get(), life.get(), e0.get(), e1.get()));
22
+ const firstDash = useTransform(rig, (r) => r.firstDash);
23
+ const secondDash = useTransform(rig, (r) => r.secondDash);
24
+ const stop = useTransform(rig, (r) => r.stop);
25
+ const stopOpacity = useTransform(rig, (r) => r.stopOpacity);
26
+ return (_jsx("svg", { ref: element, className: className, width: size, height: size, viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg", fill: "none", stroke: color, strokeWidth: strokeWidth, strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", focusable: "false", pointerEvents: "none", style: { display: 'block' }, children: _jsxs("g", { "data-layer": "close-body", transform: "translate(12 12) scale(.84) translate(-12 -12)", children: [_jsxs("g", { "data-layer": "close-arms", children: [_jsx(motion.path, { "data-part": "first", d: CLOSE_FIRST, strokeDasharray: firstDash }), _jsx(motion.path, { "data-part": "second", d: CLOSE_SECOND, strokeDasharray: secondDash })] }), _jsx(motion.path, { "data-layer": "close-stop", d: stop, opacity: stopOpacity, stroke: accentColor, strokeWidth: Math.min(strokeWidth, 1.6) })] }) }));
27
+ });
@@ -0,0 +1,10 @@
1
+ export declare const closeStates: readonly ["ready", "closing", "blocked"];
2
+ export type CloseState = (typeof closeStates)[number];
3
+ export declare const CLOSE_FIRST = "M6 6L18 18";
4
+ export declare const CLOSE_SECOND = "M18 6L6 18";
5
+ export declare function sampleClose(weights: readonly number[], time?: number, alive?: number, entry?: number, successEntry?: number): {
6
+ firstDash: string;
7
+ secondDash: string;
8
+ stop: string;
9
+ stopOpacity: number;
10
+ };
@@ -0,0 +1,31 @@
1
+ import { behaviorBeat } from "../../shared/behavior-curves.js";
2
+ const clamp = (n) => Math.max(0, Math.min(1, Number.isFinite(n) ? n : 0));
3
+ const normalized = (values) => {
4
+ const w = values.map(clamp), sum = w.reduce((a, b) => a + b, 0) || 1;
5
+ return w.map((v) => v / sum);
6
+ };
7
+ export const closeStates = ['ready', 'closing', 'blocked'];
8
+ export const CLOSE_FIRST = 'M6 6L18 18';
9
+ export const CLOSE_SECOND = 'M18 6L6 18';
10
+ const LENGTH = Math.hypot(12, 12);
11
+ export function sampleClose(weights, time = 0, alive = 0, entry = 1, successEntry = 1) {
12
+ const [, closing, blocked] = normalized(weights), life = clamp(alive), t = time % 4.4;
13
+ // Ink retracts towards the start, then crosses the diagonal again. The
14
+ // second stroke follows only after the first is substantially written.
15
+ const rewrite = (s, delay) => behaviorBeat(s, 0.02 + delay, 0.14, 0.02, 0.38);
16
+ const ink = (delay) => 1 -
17
+ 0.84 * closing * ((1 - life) * rewrite(clamp(entry) * 1.15, delay) + life * rewrite(t, delay));
18
+ const refusal = (s) => behaviorBeat(s, 0.05, 0.18, 0.03, 0.35);
19
+ const stopAttempt = blocked * ((1 - life) * refusal(clamp(successEntry)) + life * refusal(t));
20
+ const gap = blocked * 0.45;
21
+ const dash = (amount) => {
22
+ const arm = (LENGTH * amount * (1 - gap)) / 2;
23
+ return [arm, LENGTH * gap, arm, LENGTH * 2 - arm * 2 - LENGTH * gap].join(' ');
24
+ };
25
+ return {
26
+ firstDash: dash(ink(0) * (1 - stopAttempt * 0.16)),
27
+ secondDash: dash(ink(0.29) * (1 - stopAttempt * 0.16)),
28
+ stop: 'M10.5 12H13.5',
29
+ stopOpacity: blocked,
30
+ };
31
+ }
@@ -0,0 +1,5 @@
1
+ import type { StatefulIconProps } from "../../shared/icon-types.js";
2
+ import { type CloudState } from "./cloud-rig.js";
3
+ export { cloudStates, type CloudState } from "./cloud-rig.js";
4
+ export type CloudIconProps = StatefulIconProps<CloudState>;
5
+ export declare const CloudIcon: import("react").NamedExoticComponent<CloudIconProps>;
@@ -0,0 +1,9 @@
1
+ 'use client';
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { memo } from 'react';
4
+ import { ArticulatedIcon } from "../../shared/articulated-icon.js";
5
+ import { cloudArt, cloudStates } from "./cloud-rig.js";
6
+ export { cloudStates } from "./cloud-rig.js";
7
+ export const CloudIcon = memo(function CloudIcon(props) {
8
+ return _jsx(ArticulatedIcon, { art: cloudArt, states: cloudStates, ...props });
9
+ });
@@ -0,0 +1,74 @@
1
+ export declare const cloudStates: readonly ["idle", "syncing", "synced"];
2
+ export type CloudState = (typeof cloudStates)[number];
3
+ export declare const cloudArt: {
4
+ readonly name: "cloud";
5
+ readonly parts: readonly [{
6
+ readonly name: "cloud";
7
+ readonly paths: readonly ["M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z"];
8
+ readonly poses: readonly [{}, {}, {}];
9
+ readonly pivot: readonly [12, 12];
10
+ readonly gestures: readonly [];
11
+ }, {
12
+ readonly name: "transfer";
13
+ readonly detail: true;
14
+ readonly paths: readonly ["M8 13.5L11 13.5L15 13.5"];
15
+ readonly poses: readonly [{
16
+ readonly opacity: 0;
17
+ }, {
18
+ readonly opacity: 1;
19
+ readonly draw: 0.3;
20
+ }, {
21
+ readonly opacity: 1;
22
+ }];
23
+ readonly pivot: readonly [12, 14];
24
+ readonly gestures: readonly [null, {
25
+ readonly duration: 2.8;
26
+ readonly repeatAfter: 4;
27
+ readonly loop: true;
28
+ readonly frames: readonly [{
29
+ readonly at: 0;
30
+ }, {
31
+ readonly at: 0.12;
32
+ readonly y: 1;
33
+ readonly draw: 0.6;
34
+ }, {
35
+ readonly at: 0.3;
36
+ readonly y: 1;
37
+ readonly draw: 0.6;
38
+ }, {
39
+ readonly at: 0.58;
40
+ readonly y: -1.2;
41
+ readonly draw: 0.6;
42
+ }, {
43
+ readonly at: 0.72;
44
+ readonly y: -1.2;
45
+ readonly draw: 0.6;
46
+ readonly opacity: -1;
47
+ }, {
48
+ readonly at: 0.87;
49
+ readonly opacity: -1;
50
+ }, {
51
+ readonly at: 1;
52
+ }];
53
+ }, {
54
+ readonly duration: 1.2;
55
+ readonly repeatAfter: 2.2;
56
+ readonly loop: false;
57
+ readonly frames: readonly [{
58
+ readonly at: 0;
59
+ }, {
60
+ readonly at: 0.12;
61
+ readonly draw: -0.9;
62
+ }, {
63
+ readonly at: 0.6;
64
+ readonly draw: 0;
65
+ readonly scaleX: 0.04;
66
+ readonly scaleY: 0.04;
67
+ }, {
68
+ readonly at: 1;
69
+ }];
70
+ }];
71
+ readonly pathStates: readonly [readonly ["M8 13.5L11 13.5L15 13.5"], readonly ["M8 13.5L11 13.5L15 13.5"], readonly ["M8 13.5L10.7 15.5L15 12.5"]];
72
+ readonly traceLength: 9;
73
+ }];
74
+ };
@@ -0,0 +1,103 @@
1
+ export const cloudStates = ['idle', 'syncing', 'synced'];
2
+ // Lucide-derived outline; attribution and pinned source: THIRD_PARTY_NOTICES.md.
3
+ // Sync a file: a chunk gathers low inside the cloud, travels upward, and fades before the next chunk. Synced draws the existing check once.
4
+ export const cloudArt = {
5
+ name: 'cloud',
6
+ parts: [
7
+ {
8
+ name: 'cloud',
9
+ paths: ['M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z'],
10
+ poses: [{}, {}, {}],
11
+ pivot: [12, 12],
12
+ gestures: [],
13
+ },
14
+ {
15
+ name: 'transfer',
16
+ detail: true,
17
+ paths: ['M8 13.5L11 13.5L15 13.5'],
18
+ poses: [
19
+ {
20
+ opacity: 0,
21
+ },
22
+ {
23
+ opacity: 1,
24
+ draw: 0.3,
25
+ },
26
+ {
27
+ opacity: 1,
28
+ },
29
+ ],
30
+ pivot: [12, 14],
31
+ gestures: [
32
+ null,
33
+ {
34
+ duration: 2.8,
35
+ repeatAfter: 4,
36
+ loop: true,
37
+ frames: [
38
+ {
39
+ at: 0,
40
+ },
41
+ {
42
+ at: 0.12,
43
+ y: 1,
44
+ draw: 0.6,
45
+ },
46
+ {
47
+ at: 0.3,
48
+ y: 1,
49
+ draw: 0.6,
50
+ },
51
+ {
52
+ at: 0.58,
53
+ y: -1.2,
54
+ draw: 0.6,
55
+ },
56
+ {
57
+ at: 0.72,
58
+ y: -1.2,
59
+ draw: 0.6,
60
+ opacity: -1,
61
+ },
62
+ {
63
+ at: 0.87,
64
+ opacity: -1,
65
+ },
66
+ {
67
+ at: 1,
68
+ },
69
+ ],
70
+ },
71
+ {
72
+ duration: 1.2,
73
+ repeatAfter: 2.2,
74
+ loop: false,
75
+ frames: [
76
+ {
77
+ at: 0,
78
+ },
79
+ {
80
+ at: 0.12,
81
+ draw: -0.9,
82
+ },
83
+ {
84
+ at: 0.6,
85
+ draw: 0,
86
+ scaleX: 0.04,
87
+ scaleY: 0.04,
88
+ },
89
+ {
90
+ at: 1,
91
+ },
92
+ ],
93
+ },
94
+ ],
95
+ pathStates: [
96
+ ['M8 13.5L11 13.5L15 13.5'],
97
+ ['M8 13.5L11 13.5L15 13.5'],
98
+ ['M8 13.5L10.7 15.5L15 12.5'],
99
+ ],
100
+ traceLength: 9,
101
+ },
102
+ ],
103
+ };
@@ -0,0 +1,5 @@
1
+ import type { StatefulIconProps } from "../../shared/icon-types.js";
2
+ import { type CodeState } from "./code-rig.js";
3
+ export { codeStates, type CodeState } from "./code-rig.js";
4
+ export type CodeIconProps = StatefulIconProps<CodeState>;
5
+ export declare const CodeIcon: import("react").NamedExoticComponent<CodeIconProps>;
@@ -0,0 +1,9 @@
1
+ 'use client';
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { memo } from 'react';
4
+ import { ArticulatedIcon } from "../../shared/articulated-icon.js";
5
+ import { codeArt, codeStates } from "./code-rig.js";
6
+ export { codeStates } from "./code-rig.js";
7
+ export const CodeIcon = memo(function CodeIcon(props) {
8
+ return _jsx(ArticulatedIcon, { art: codeArt, states: codeStates, ...props });
9
+ });
@@ -0,0 +1,104 @@
1
+ export declare const codeStates: readonly ["idle", "compiling", "ready"];
2
+ export type CodeState = (typeof codeStates)[number];
3
+ export declare const codeArt: {
4
+ readonly name: "code";
5
+ readonly parts: readonly [{
6
+ readonly name: "right-bracket";
7
+ readonly paths: readonly ["m16 18 6-6-6-6"];
8
+ readonly poses: readonly [{}, {
9
+ readonly x: -2.6;
10
+ readonly scaleY: 0.75;
11
+ }, {
12
+ readonly x: 0.5;
13
+ readonly scaleY: 0.85;
14
+ }];
15
+ readonly pivot: readonly [12, 12];
16
+ readonly gestures: readonly [null, {
17
+ readonly duration: 2.8;
18
+ readonly repeatAfter: 4.3;
19
+ readonly loop: true;
20
+ readonly frames: readonly [{
21
+ readonly at: 0;
22
+ }, {
23
+ readonly at: 0.42;
24
+ }, {
25
+ readonly at: 0.58;
26
+ readonly x: -1.1;
27
+ readonly scaleY: -0.12;
28
+ }, {
29
+ readonly at: 0.72;
30
+ readonly x: 0.35;
31
+ readonly scaleY: 0.08;
32
+ }, {
33
+ readonly at: 0.86;
34
+ }, {
35
+ readonly at: 1;
36
+ }];
37
+ }, {
38
+ readonly duration: 1.1;
39
+ readonly repeatAfter: 2.1;
40
+ readonly loop: false;
41
+ readonly frames: readonly [{
42
+ readonly at: 0;
43
+ }, {
44
+ readonly at: 0.15;
45
+ readonly x: -0.55;
46
+ readonly scaleY: -0.08;
47
+ }, {
48
+ readonly at: 0.5;
49
+ readonly x: 0.1;
50
+ }, {
51
+ readonly at: 1;
52
+ }];
53
+ }];
54
+ }, {
55
+ readonly name: "left-bracket";
56
+ readonly paths: readonly ["m8 6-6 6 6 6"];
57
+ readonly poses: readonly [{}, {
58
+ readonly x: 2.6;
59
+ readonly scaleY: 0.75;
60
+ }, {
61
+ readonly x: -0.5;
62
+ readonly scaleY: 0.85;
63
+ }];
64
+ readonly pivot: readonly [12, 12];
65
+ readonly gestures: readonly [null, {
66
+ readonly duration: 2.8;
67
+ readonly repeatAfter: 4.3;
68
+ readonly loop: true;
69
+ readonly frames: readonly [{
70
+ readonly at: 0;
71
+ }, {
72
+ readonly at: 0.08;
73
+ }, {
74
+ readonly at: 0.24;
75
+ readonly x: 1.1;
76
+ readonly scaleY: -0.12;
77
+ }, {
78
+ readonly at: 0.38;
79
+ readonly x: -0.35;
80
+ readonly scaleY: 0.08;
81
+ }, {
82
+ readonly at: 0.52;
83
+ }, {
84
+ readonly at: 1;
85
+ }];
86
+ }, {
87
+ readonly duration: 1.1;
88
+ readonly repeatAfter: 2.1;
89
+ readonly loop: false;
90
+ readonly frames: readonly [{
91
+ readonly at: 0;
92
+ }, {
93
+ readonly at: 0.3;
94
+ readonly x: 0.55;
95
+ readonly scaleY: -0.08;
96
+ }, {
97
+ readonly at: 0.62;
98
+ readonly x: -0.1;
99
+ }, {
100
+ readonly at: 1;
101
+ }];
102
+ }];
103
+ }];
104
+ };
@@ -0,0 +1,148 @@
1
+ export const codeStates = ['idle', 'compiling', 'ready'];
2
+ // Lucide-derived outline; attribution and pinned source: THIRD_PARTY_NOTICES.md.
3
+ // Compile a snippet: the opening bracket checks the input, the closing bracket answers, then both align when ready. It reads as a paired exchange rather than a squeeze loop.
4
+ export const codeArt = {
5
+ name: 'code',
6
+ parts: [
7
+ {
8
+ name: 'right-bracket',
9
+ paths: ['m16 18 6-6-6-6'],
10
+ poses: [
11
+ {},
12
+ {
13
+ x: -2.6,
14
+ scaleY: 0.75,
15
+ },
16
+ {
17
+ x: 0.5,
18
+ scaleY: 0.85,
19
+ },
20
+ ],
21
+ pivot: [12, 12],
22
+ gestures: [
23
+ null,
24
+ {
25
+ duration: 2.8,
26
+ repeatAfter: 4.3,
27
+ loop: true,
28
+ frames: [
29
+ {
30
+ at: 0,
31
+ },
32
+ {
33
+ at: 0.42,
34
+ },
35
+ {
36
+ at: 0.58,
37
+ x: -1.1,
38
+ scaleY: -0.12,
39
+ },
40
+ {
41
+ at: 0.72,
42
+ x: 0.35,
43
+ scaleY: 0.08,
44
+ },
45
+ {
46
+ at: 0.86,
47
+ },
48
+ {
49
+ at: 1,
50
+ },
51
+ ],
52
+ },
53
+ {
54
+ duration: 1.1,
55
+ repeatAfter: 2.1,
56
+ loop: false,
57
+ frames: [
58
+ {
59
+ at: 0,
60
+ },
61
+ {
62
+ at: 0.15,
63
+ x: -0.55,
64
+ scaleY: -0.08,
65
+ },
66
+ {
67
+ at: 0.5,
68
+ x: 0.1,
69
+ },
70
+ {
71
+ at: 1,
72
+ },
73
+ ],
74
+ },
75
+ ],
76
+ },
77
+ {
78
+ name: 'left-bracket',
79
+ paths: ['m8 6-6 6 6 6'],
80
+ poses: [
81
+ {},
82
+ {
83
+ x: 2.6,
84
+ scaleY: 0.75,
85
+ },
86
+ {
87
+ x: -0.5,
88
+ scaleY: 0.85,
89
+ },
90
+ ],
91
+ pivot: [12, 12],
92
+ gestures: [
93
+ null,
94
+ {
95
+ duration: 2.8,
96
+ repeatAfter: 4.3,
97
+ loop: true,
98
+ frames: [
99
+ {
100
+ at: 0,
101
+ },
102
+ {
103
+ at: 0.08,
104
+ },
105
+ {
106
+ at: 0.24,
107
+ x: 1.1,
108
+ scaleY: -0.12,
109
+ },
110
+ {
111
+ at: 0.38,
112
+ x: -0.35,
113
+ scaleY: 0.08,
114
+ },
115
+ {
116
+ at: 0.52,
117
+ },
118
+ {
119
+ at: 1,
120
+ },
121
+ ],
122
+ },
123
+ {
124
+ duration: 1.1,
125
+ repeatAfter: 2.1,
126
+ loop: false,
127
+ frames: [
128
+ {
129
+ at: 0,
130
+ },
131
+ {
132
+ at: 0.3,
133
+ x: 0.55,
134
+ scaleY: -0.08,
135
+ },
136
+ {
137
+ at: 0.62,
138
+ x: -0.1,
139
+ },
140
+ {
141
+ at: 1,
142
+ },
143
+ ],
144
+ },
145
+ ],
146
+ },
147
+ ],
148
+ };
@@ -0,0 +1,5 @@
1
+ import type { StatefulIconProps } from "../../shared/icon-types.js";
2
+ import { type CopyState } from "./copy-rig.js";
3
+ export { copyStates, type CopyState } from "./copy-rig.js";
4
+ export type CopyIconProps = StatefulIconProps<CopyState>;
5
+ export declare const CopyIcon: import("react").NamedExoticComponent<CopyIconProps>;
@@ -0,0 +1,31 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { memo, useRef, useCallback } from 'react';
4
+ import { motion, useTransform } from 'motion/react';
5
+ import { usePoseWeight, useBehaviorClock, useActionProgress } from "../../shared/use-icon-motion.js";
6
+ import { useMotionPreference } from "../../shared/use-motion-preference.js";
7
+ import { COPY_BACK, COPY_FRONT, sampleCopy } from "./copy-rig.js";
8
+ export { copyStates } from "./copy-rig.js";
9
+ const ORIGIN = { originX: '0px', originY: '0px', transformBox: 'view-box' };
10
+ export const CopyIcon = memo(function CopyIcon({ state = 'ready', size = 24, color = 'currentColor', accentColor = 'currentColor', strokeWidth = 1.65, speed = 1, alive = false, className, }) {
11
+ const reduced = useMotionPreference(), element = useRef(null);
12
+ const pace = Number.isFinite(speed) ? Math.min(4, Math.max(0.1, speed)) : 1;
13
+ const w0 = usePoseWeight(state === 'ready', pace, reduced);
14
+ const w1 = usePoseWeight(state === 'copying', pace, reduced);
15
+ const w2 = usePoseWeight(state === 'copied', pace, reduced);
16
+ const w3 = usePoseWeight(state === 'failed', pace, reduced);
17
+ const performs = alive && !reduced && (state === 'copying' || state === 'failed');
18
+ const life = usePoseWeight(performs, pace, reduced), time = useBehaviorClock(element, performs, pace, life);
19
+ const can0 = useCallback(() => w1.get() < 0.001, [w1]);
20
+ const e0 = useActionProgress(state === 'copying', pace, reduced, 1.05, can0);
21
+ const can1 = useCallback(() => w2.get() < 0.001, [w2]);
22
+ const e1 = useActionProgress(state === 'copied', pace, reduced, 0.8, can1);
23
+ const can2 = useCallback(() => w3.get() < 0.001, [w3]);
24
+ const e2 = useActionProgress(state === 'failed', pace, reduced, 0.9, can2);
25
+ const rig = useTransform(() => sampleCopy([w0.get(), w1.get(), w2.get(), w3.get()], time.get(), life.get(), e0.get(), e1.get(), e2.get()));
26
+ const front = useTransform(rig, (r) => r.front);
27
+ const check = useTransform(rig, (r) => r.check);
28
+ const checkOffset = useTransform(rig, (r) => r.checkOffset);
29
+ const failure = useTransform(rig, (r) => r.failure);
30
+ return (_jsx("svg", { ref: element, className: className, width: size, height: size, viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg", fill: "none", stroke: color, strokeWidth: strokeWidth, strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", focusable: "false", pointerEvents: "none", style: { display: 'block' }, children: _jsxs("g", { "data-layer": "copy-body", transform: "translate(12 12) scale(.84) translate(-12 -12)", children: [_jsx("path", { "data-layer": "copy-back", "data-part": "back", d: COPY_BACK }), _jsxs(motion.g, { "data-layer": "copy-front", transform: front, style: ORIGIN, children: [_jsx("path", { "data-part": "front", d: COPY_FRONT }), _jsx(motion.path, { "data-layer": "copy-check", d: "M11.5 15L14 17.5L18.5 13", opacity: check, stroke: accentColor, strokeWidth: Math.min(strokeWidth * 0.8, 1.5), strokeDasharray: "9.91", strokeDashoffset: checkOffset }), _jsx(motion.path, { "data-layer": "copy-failure", d: "M12.5 12.5L17.5 17.5M17.5 12.5L12.5 17.5", opacity: failure, strokeWidth: Math.min(strokeWidth * 0.8, 1.5) })] })] }) }));
31
+ });
@@ -0,0 +1,13 @@
1
+ export declare const copyStates: readonly ["ready", "copying", "copied", "failed"];
2
+ export type CopyState = (typeof copyStates)[number];
3
+ export declare const COPY_BACK = "M4 16Q2 16 2 14V4Q2 2 4 2H14Q16 2 16 4";
4
+ export declare const COPY_FRONT = "M10 8H20Q22 8 22 10V20Q22 22 20 22H10Q8 22 8 20V10Q8 8 10 8Z";
5
+ export declare function sampleCopy(weights: readonly number[], time?: number, alive?: number, entry?: number, successEntry?: number, failureEntry?: number): {
6
+ front: string;
7
+ scanY: number;
8
+ scanOpacity: number;
9
+ check: number;
10
+ checkOffset: number;
11
+ failure: number;
12
+ failureOffset: number;
13
+ };
@@ -0,0 +1,44 @@
1
+ import { behaviorBeat } from "../../shared/behavior-curves.js";
2
+ const clamp = (n) => Math.max(0, Math.min(1, Number.isFinite(n) ? n : 0));
3
+ const smooth = (n) => {
4
+ const q = clamp(n);
5
+ return q * q * q * (q * (q * 6 - 15) + 10);
6
+ };
7
+ const normalized = (values) => {
8
+ const w = values.map(clamp), sum = w.reduce((a, b) => a + b, 0) || 1;
9
+ return w.map((v) => v / sum);
10
+ };
11
+ export const copyStates = ['ready', 'copying', 'copied', 'failed'];
12
+ // Matching quadratic corners keep the two outlines registered at contact.
13
+ export const COPY_BACK = 'M4 16Q2 16 2 14V4Q2 2 4 2H14Q16 2 16 4';
14
+ export const COPY_FRONT = 'M10 8H20Q22 8 22 10V20Q22 22 20 22H10Q8 22 8 20V10Q8 8 10 8Z';
15
+ export function sampleCopy(weights, time = 0, alive = 0, entry = 1, successEntry = 1, failureEntry = 1) {
16
+ const [, copying, copied, failed] = normalized(weights), life = clamp(alive);
17
+ const register = (s) => behaviorBeat(s, 0.04, 0.24, 0.1, 0.48);
18
+ const press = copying * ((1 - life) * register(clamp(entry) * 1.25) + life * register(time % 2.6));
19
+ const attempt = (s) => behaviorBeat(s, 0.03, 0.15, 0.04, 0.15);
20
+ const reject = (s) => behaviorBeat(s, 0.23, 0.1, 0.01, 0.42);
21
+ const f = clamp(failureEntry) * 1.15, loop = time % 3.1;
22
+ const jam = failed * ((1 - life) * attempt(f) + life * attempt(loop));
23
+ const kick = failed * ((1 - life) * reject(f) + life * reject(loop));
24
+ const dx = -copying * 0.35 - press * 5.65 - jam * 3.6 + kick * 1.4;
25
+ const dy = -copying * 0.35 - press * 5.65 - jam * 3.6 - kick * 0.7;
26
+ // Scan is an entry-only transfer cue. Its travel never depends on alive;
27
+ // repeated registration may continue, but toggles cannot rewind a visible scan.
28
+ const scanTime = clamp(entry) * 1.25;
29
+ return {
30
+ front: 'translate(' +
31
+ dx +
32
+ 'px, ' +
33
+ dy +
34
+ 'px) translate(15px, 15px) rotate(' +
35
+ kick * 6.5 +
36
+ 'deg) translate(-15px, -15px)',
37
+ scanY: 8 * smooth((scanTime - 0.18) / 0.44),
38
+ scanOpacity: copying * behaviorBeat(scanTime, 0.18, 0.08, 0.26, 0.1),
39
+ check: copied,
40
+ checkOffset: 9.91 * (1 - smooth((successEntry - 0.08) / 0.65)),
41
+ failure: failed,
42
+ failureOffset: Math.SQRT2 * 2.5 * (1 - smooth((failureEntry - 0.3) / 0.42)),
43
+ };
44
+ }
@@ -0,0 +1,5 @@
1
+ import type { StatefulIconProps } from "../../shared/icon-types.js";
2
+ import { type CreditCardState } from "./credit-card-rig.js";
3
+ export { creditCardStates, type CreditCardState } from "./credit-card-rig.js";
4
+ export type CreditCardIconProps = StatefulIconProps<CreditCardState>;
5
+ export declare const CreditCardIcon: import("react").NamedExoticComponent<CreditCardIconProps>;
@@ -0,0 +1,9 @@
1
+ 'use client';
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { memo } from 'react';
4
+ import { ArticulatedIcon } from "../../shared/articulated-icon.js";
5
+ import { creditCardArt, creditCardStates } from "./credit-card-rig.js";
6
+ export { creditCardStates } from "./credit-card-rig.js";
7
+ export const CreditCardIcon = memo(function CreditCardIcon(props) {
8
+ return _jsx(ArticulatedIcon, { art: creditCardArt, states: creditCardStates, ...props });
9
+ });