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,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 { arrowUpArt, arrowUpStates } from "./arrow-up-rig.js";
6
+ export { arrowUpStates } from "./arrow-up-rig.js";
7
+ export const ArrowUpIcon = memo(function ArrowUpIcon(props) {
8
+ return _jsx(ArticulatedIcon, { art: arrowUpArt, states: arrowUpStates, ...props });
9
+ });
@@ -0,0 +1,43 @@
1
+ export declare const arrowUpStates: readonly ["idle", "moving", "arrived"];
2
+ export type ArrowUpState = (typeof arrowUpStates)[number];
3
+ export declare const arrowUpArt: {
4
+ readonly name: "arrow-up";
5
+ readonly parts: readonly [{
6
+ readonly name: "arrow";
7
+ readonly paths: readonly ["M12 19L12 5", "M5 12L12 5L19 12"];
8
+ readonly poses: readonly [{}, {}, {}];
9
+ readonly pivot: readonly [12, 12];
10
+ readonly gestures: readonly [null, {
11
+ readonly duration: 1.05;
12
+ readonly repeatAfter: 2.15;
13
+ readonly loop: true;
14
+ readonly frames: readonly [{
15
+ readonly at: 0;
16
+ }, {
17
+ readonly at: 0.15;
18
+ readonly y: 1.3;
19
+ }, {
20
+ readonly at: 0.6;
21
+ readonly y: -2;
22
+ }, {
23
+ readonly at: 0.78;
24
+ readonly y: -2;
25
+ }, {
26
+ readonly at: 1;
27
+ }];
28
+ }, {
29
+ readonly duration: 0.55;
30
+ readonly repeatAfter: 2;
31
+ readonly loop: false;
32
+ readonly frames: readonly [{
33
+ readonly at: 0;
34
+ }, {
35
+ readonly at: 0.35;
36
+ readonly y: -0.7;
37
+ }, {
38
+ readonly at: 1;
39
+ }];
40
+ }];
41
+ readonly pathStates: readonly [readonly ["M12 19L12 5", "M5 12L12 5L19 12"], readonly ["M12 19L12 8", "M7 13L12 8L17 13"], readonly ["M12 13L12 4", "M7 9L12 4L17 9"]];
42
+ }];
43
+ };
@@ -0,0 +1,64 @@
1
+ export const arrowUpStates = ['idle', 'moving', 'arrived'];
2
+ // Lucide-derived outline; attribution and pinned source: THIRD_PARTY_NOTICES.md.
3
+ // The attached arrowhead draws back with a shorter shaft, accelerates toward the destination, then rests as a compact arrived arrow.
4
+ export const arrowUpArt = {
5
+ name: 'arrow-up',
6
+ parts: [
7
+ {
8
+ name: 'arrow',
9
+ paths: ['M12 19L12 5', 'M5 12L12 5L19 12'],
10
+ poses: [{}, {}, {}],
11
+ pivot: [12, 12],
12
+ gestures: [
13
+ null,
14
+ {
15
+ duration: 1.05,
16
+ repeatAfter: 2.15,
17
+ loop: true,
18
+ frames: [
19
+ {
20
+ at: 0,
21
+ },
22
+ {
23
+ at: 0.15,
24
+ y: 1.3,
25
+ },
26
+ {
27
+ at: 0.6,
28
+ y: -2,
29
+ },
30
+ {
31
+ at: 0.78,
32
+ y: -2,
33
+ },
34
+ {
35
+ at: 1,
36
+ },
37
+ ],
38
+ },
39
+ {
40
+ duration: 0.55,
41
+ repeatAfter: 2,
42
+ loop: false,
43
+ frames: [
44
+ {
45
+ at: 0,
46
+ },
47
+ {
48
+ at: 0.35,
49
+ y: -0.7,
50
+ },
51
+ {
52
+ at: 1,
53
+ },
54
+ ],
55
+ },
56
+ ],
57
+ pathStates: [
58
+ ['M12 19L12 5', 'M5 12L12 5L19 12'],
59
+ ['M12 19L12 8', 'M7 13L12 8L17 13'],
60
+ ['M12 13L12 4', 'M7 9L12 4L17 9'],
61
+ ],
62
+ },
63
+ ],
64
+ };
@@ -0,0 +1,5 @@
1
+ import type { StatefulIconProps } from "../../shared/icon-types.js";
2
+ import { type BadgeCheckState } from "./badge-check-rig.js";
3
+ export { badgeCheckStates, type BadgeCheckState } from "./badge-check-rig.js";
4
+ export type BadgeCheckIconProps = StatefulIconProps<BadgeCheckState>;
5
+ export declare const BadgeCheckIcon: import("react").NamedExoticComponent<BadgeCheckIconProps>;
@@ -0,0 +1,33 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { memo, useCallback, useRef } 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 { BADGE_SHELL, sampleBadgeCheck } from "./badge-check-rig.js";
8
+ export { badgeCheckStates } from "./badge-check-rig.js";
9
+ const ORIGIN = { originX: '0px', originY: '0px', transformBox: 'view-box' };
10
+ export const BadgeCheckIcon = memo(function BadgeCheckIcon({ state = 'idle', 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 idle = usePoseWeight(state === 'idle', pace, reduced), checking = usePoseWeight(state === 'checking', pace, reduced), verified = usePoseWeight(state === 'verified', pace, reduced), rejected = usePoseWeight(state === 'rejected', pace, reduced);
14
+ const performs = alive && !reduced && state !== 'idle', life = usePoseWeight(performs, pace, reduced), time = useBehaviorClock(element, performs, pace, life);
15
+ // Mount an already verified value as a still; replay only on a later entry.
16
+ const first = useRef(state !== 'verified');
17
+ const canRestart = useCallback(() => {
18
+ const invisible = first.current || verified.get() < 0.001;
19
+ first.current = false;
20
+ return invisible;
21
+ }, [verified]);
22
+ const entry = useActionProgress(state === 'verified', pace, reduced, 0.9, canRestart);
23
+ const firstRejection = useRef(state !== 'rejected');
24
+ const canRestartRejection = useCallback(() => {
25
+ const invisible = firstRejection.current || rejected.get() < 0.001;
26
+ firstRejection.current = false;
27
+ return invisible;
28
+ }, [rejected]);
29
+ const rejectionEntry = useActionProgress(state === 'rejected', pace, reduced, 0.8, canRestartRejection);
30
+ const rig = useTransform(() => sampleBadgeCheck([idle.get(), checking.get(), verified.get(), rejected.get()], time.get(), life.get(), entry.get(), rejectionEntry.get()));
31
+ const body = useTransform(rig, (r) => r.body), mark = useTransform(rig, (r) => r.mark), markOpacity = useTransform(rig, (r) => r.markOpacity), markOffset = useTransform(rig, (r) => r.markOffset), reverse = useTransform(rig, (r) => r.reverse), cross = useTransform(rig, (r) => r.cross), progress = useTransform(rig, (r) => r.progress), progressOffset = useTransform(rig, (r) => r.progressOffset), shine = useTransform(rig, (r) => r.shine);
32
+ 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", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", focusable: "false", pointerEvents: "none", style: { display: 'block', overflow: 'visible' }, children: _jsxs(motion.g, { "data-layer": "badge-body", transform: body, style: ORIGIN, children: [_jsx("path", { "data-part": "shell", d: BADGE_SHELL, stroke: color, strokeWidth: strokeWidth }), _jsx(motion.path, { "data-layer": "badge-progress", d: "M12 7.5a4.5 4.5 0 1 1 0 9a4.5 4.5 0 1 1 0-9", opacity: progress, stroke: accentColor, strokeWidth: Math.min(strokeWidth * 0.8, 1.5), strokeDasharray: "7 21.274334", strokeDashoffset: progressOffset }), _jsx(motion.path, { "data-layer": "badge-mark", d: mark, opacity: markOpacity, stroke: color, strokeWidth: strokeWidth, strokeDasharray: "12 12", strokeDashoffset: markOffset }), _jsx(motion.path, { "data-layer": "badge-reverse", d: cross, opacity: reverse, stroke: color, strokeWidth: strokeWidth }), _jsx(motion.path, { "data-layer": "badge-shine", d: "M7.2 6.3a2 2 0 0 1 1.7-.3", opacity: shine, stroke: accentColor, strokeWidth: strokeWidth * 0.65 })] }) }));
33
+ });
@@ -0,0 +1,14 @@
1
+ export declare const badgeCheckStates: readonly ["idle", "checking", "verified", "rejected"];
2
+ export type BadgeCheckState = (typeof badgeCheckStates)[number];
3
+ export declare const BADGE_SHELL = "M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z";
4
+ export declare function sampleBadgeCheck(weights: readonly number[], time?: number, alive?: number, entry?: number, rejectionEntry?: number): {
5
+ body: string;
6
+ mark: string;
7
+ markOpacity: number;
8
+ markOffset: number;
9
+ reverse: number;
10
+ cross: string;
11
+ progress: number;
12
+ progressOffset: number;
13
+ shine: number;
14
+ };
@@ -0,0 +1,36 @@
1
+ import { behaviorBeat } from "../../shared/behavior-curves.js";
2
+ export const badgeCheckStates = ['idle', 'checking', 'verified', 'rejected'];
3
+ export const BADGE_SHELL = 'M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z';
4
+ export function sampleBadgeCheck(weights, time = 0, alive = 0, entry = 1, rejectionEntry = 1) {
5
+ const clamp = (n) => Math.max(0, Math.min(1, n));
6
+ const smooth = (n) => {
7
+ const t = clamp(n);
8
+ return t * t * t * (t * (t * 6 - 15) + 10);
9
+ };
10
+ const [, checking, verified, rejected] = weights.map(clamp), life = clamp(alive);
11
+ const t = time % 7.2;
12
+ const stamp = Math.max(behaviorBeat(entry * 0.9, 0.3, 0.18, 0.06, 0.36), life * behaviorBeat(t, 0.5, 0.18, 0.08, 0.55));
13
+ const shine = behaviorBeat(t, 3.9, 0.45, 0.1, 0.7);
14
+ const refuse = life * rejected * behaviorBeat(t, 0.35, 0.35, 0.12, 0.7);
15
+ const draw = smooth(entry / 0.68);
16
+ const crossDraw = smooth((rejectionEntry - 0.1) / 0.72);
17
+ const cross = [
18
+ [8.5, 8.5],
19
+ [15.5, 8.5],
20
+ [15.5, 15.5],
21
+ [8.5, 15.5],
22
+ ]
23
+ .map(([x, y]) => `M${x} ${y}L${x + (12 - x) * crossDraw} ${y + (12 - y) * crossDraw}`)
24
+ .join('');
25
+ return {
26
+ body: `translate(12px, 12px) rotate(${-4 * refuse}deg) scale(${0.84 + verified * stamp * 0.027}) translate(-12px, -12px)`,
27
+ mark: `M${8 + 0.5 * rejected} ${12 - 3.5 * rejected}L${10.5 + 1.5 * rejected} ${14.5 - 2.5 * rejected}L${16 - 0.5 * rejected} ${9 + 6.5 * rejected}`,
28
+ markOpacity: (1 - checking) * (1 - rejected) * (1 - verified + verified * smooth(draw / 0.025)),
29
+ markOffset: verified * (1 - draw) * 12,
30
+ reverse: rejected * smooth(crossDraw / 0.04),
31
+ cross,
32
+ progress: checking,
33
+ progressOffset: -Math.PI * 9 * (time / 1.5) * life,
34
+ shine: verified * life * shine,
35
+ };
36
+ }
@@ -7,7 +7,7 @@ import { usePoseWeight, useBehaviorClock } from "../../shared/use-icon-motion.js
7
7
  import { sampleBell, BELL_SHELL, BELL_CLAPPER } from "./bell-rig.js";
8
8
  export { bellStates } from "./bell-rig.js";
9
9
  const ORIGIN = { originX: 0, originY: 0, transformBox: 'view-box' };
10
- export const BellIcon = memo(function BellIcon({ state = 'idle', size = 24, color = 'currentColor', accentColor = 'currentColor', strokeWidth = 1.8, speed = 1, alive = false, className, }) {
10
+ export const BellIcon = memo(function BellIcon({ state = 'idle', size = 24, color = 'currentColor', accentColor = 'currentColor', strokeWidth = 1.65, speed = 1, alive = false, className, }) {
11
11
  const reduced = useMotionPreference(), element = useRef(null), id = useId();
12
12
  const pace = Number.isFinite(speed) ? Math.min(4, Math.max(0.1, speed)) : 1;
13
13
  const idle = usePoseWeight(state === 'idle', pace, reduced), ringing = usePoseWeight(state === 'ringing', pace, reduced);
@@ -0,0 +1,5 @@
1
+ import type { StatefulIconProps } from "../../shared/icon-types.js";
2
+ import { type BookOpenState } from "./book-open-rig.js";
3
+ export { bookOpenStates, type BookOpenState } from "./book-open-rig.js";
4
+ export type BookOpenIconProps = StatefulIconProps<BookOpenState>;
5
+ export declare const BookOpenIcon: import("react").NamedExoticComponent<BookOpenIconProps>;
@@ -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 { bookOpenArt, bookOpenStates } from "./book-open-rig.js";
6
+ export { bookOpenStates } from "./book-open-rig.js";
7
+ export const BookOpenIcon = memo(function BookOpenIcon(props) {
8
+ return _jsx(ArticulatedIcon, { art: bookOpenArt, states: bookOpenStates, ...props });
9
+ });
@@ -0,0 +1,65 @@
1
+ export declare const bookOpenStates: readonly ["idle", "reading", "finished"];
2
+ export type BookOpenState = (typeof bookOpenStates)[number];
3
+ export declare const bookOpenArt: {
4
+ readonly name: "book-open";
5
+ readonly parts: readonly [{
6
+ readonly name: "left-page";
7
+ readonly paths: readonly ["M12 5C10.7 3.7 9.5 3 8 3H4Q2 3 2 5V17Q2 19 4 19H8Q10.4 19 12 21"];
8
+ readonly poses: readonly [{}, {
9
+ readonly scaleX: 0.9;
10
+ }, {
11
+ readonly scaleX: 0.7;
12
+ }];
13
+ readonly pivot: readonly [12, 13];
14
+ readonly gestures: readonly [null, {
15
+ readonly duration: 1.65;
16
+ readonly repeatAfter: 2.45;
17
+ readonly loop: true;
18
+ readonly frames: readonly [{
19
+ readonly at: 0;
20
+ }, {
21
+ readonly at: 0.45;
22
+ readonly scaleX: -0.16;
23
+ }, {
24
+ readonly at: 0.72;
25
+ readonly scaleX: 0.07;
26
+ }, {
27
+ readonly at: 1;
28
+ }];
29
+ }];
30
+ }, {
31
+ readonly name: "right-page";
32
+ readonly paths: readonly ["M12 5C13.3 3.7 14.5 3 16 3H20Q22 3 22 5V17Q22 19 20 19H16Q13.6 19 12 21"];
33
+ readonly poses: readonly [{}, {
34
+ readonly scaleX: 0.56;
35
+ }, {
36
+ readonly scaleX: 0.12;
37
+ }];
38
+ readonly pivot: readonly [12, 13];
39
+ readonly gestures: readonly [null, {
40
+ readonly duration: 1.65;
41
+ readonly repeatAfter: 2.45;
42
+ readonly loop: true;
43
+ readonly frames: readonly [{
44
+ readonly at: 0;
45
+ }, {
46
+ readonly at: 0.18;
47
+ readonly scaleX: 0.4;
48
+ }, {
49
+ readonly at: 0.58;
50
+ readonly scaleX: -0.43;
51
+ }, {
52
+ readonly at: 0.72;
53
+ readonly scaleX: -0.43;
54
+ }, {
55
+ readonly at: 1;
56
+ }];
57
+ }];
58
+ }, {
59
+ readonly name: "spine";
60
+ readonly paths: readonly ["M12 5v16"];
61
+ readonly poses: readonly [{}, {}, {}];
62
+ readonly pivot: readonly [12, 12];
63
+ readonly gestures: readonly [];
64
+ }];
65
+ };
@@ -0,0 +1,95 @@
1
+ export const bookOpenStates = ['idle', 'reading', 'finished'];
2
+ // Lucide-derived outline; attribution and pinned source: THIRD_PARTY_NOTICES.md.
3
+ // A page pivots about the spine with a broad readable turn; the opposite leaf follows slightly. Finished folds the cover inward into a quiet narrow book.
4
+ export const bookOpenArt = {
5
+ name: 'book-open',
6
+ parts: [
7
+ {
8
+ name: 'left-page',
9
+ paths: ['M12 5C10.7 3.7 9.5 3 8 3H4Q2 3 2 5V17Q2 19 4 19H8Q10.4 19 12 21'],
10
+ poses: [
11
+ {},
12
+ {
13
+ scaleX: 0.9,
14
+ },
15
+ {
16
+ scaleX: 0.7,
17
+ },
18
+ ],
19
+ pivot: [12, 13],
20
+ gestures: [
21
+ null,
22
+ {
23
+ duration: 1.65,
24
+ repeatAfter: 2.45,
25
+ loop: true,
26
+ frames: [
27
+ {
28
+ at: 0,
29
+ },
30
+ {
31
+ at: 0.45,
32
+ scaleX: -0.16,
33
+ },
34
+ {
35
+ at: 0.72,
36
+ scaleX: 0.07,
37
+ },
38
+ {
39
+ at: 1,
40
+ },
41
+ ],
42
+ },
43
+ ],
44
+ },
45
+ {
46
+ name: 'right-page',
47
+ paths: ['M12 5C13.3 3.7 14.5 3 16 3H20Q22 3 22 5V17Q22 19 20 19H16Q13.6 19 12 21'],
48
+ poses: [
49
+ {},
50
+ {
51
+ scaleX: 0.56,
52
+ },
53
+ {
54
+ scaleX: 0.12,
55
+ },
56
+ ],
57
+ pivot: [12, 13],
58
+ gestures: [
59
+ null,
60
+ {
61
+ duration: 1.65,
62
+ repeatAfter: 2.45,
63
+ loop: true,
64
+ frames: [
65
+ {
66
+ at: 0,
67
+ },
68
+ {
69
+ at: 0.18,
70
+ scaleX: 0.4,
71
+ },
72
+ {
73
+ at: 0.58,
74
+ scaleX: -0.43,
75
+ },
76
+ {
77
+ at: 0.72,
78
+ scaleX: -0.43,
79
+ },
80
+ {
81
+ at: 1,
82
+ },
83
+ ],
84
+ },
85
+ ],
86
+ },
87
+ {
88
+ name: 'spine',
89
+ paths: ['M12 5v16'],
90
+ poses: [{}, {}, {}],
91
+ pivot: [12, 12],
92
+ gestures: [],
93
+ },
94
+ ],
95
+ };
@@ -0,0 +1,5 @@
1
+ import type { StatefulIconProps } from "../../shared/icon-types.js";
2
+ import { type BookmarkState } from "./bookmark-rig.js";
3
+ export { bookmarkStates, type BookmarkState } from "./bookmark-rig.js";
4
+ export type BookmarkIconProps = StatefulIconProps<BookmarkState>;
5
+ export declare const BookmarkIcon: import("react").NamedExoticComponent<BookmarkIconProps>;
@@ -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 { bookmarkArt, bookmarkStates } from "./bookmark-rig.js";
6
+ export { bookmarkStates } from "./bookmark-rig.js";
7
+ export const BookmarkIcon = memo(function BookmarkIcon(props) {
8
+ return _jsx(ArticulatedIcon, { art: bookmarkArt, states: bookmarkStates, ...props });
9
+ });
@@ -0,0 +1,43 @@
1
+ export declare const bookmarkStates: readonly ["unsaved", "saving", "saved"];
2
+ export type BookmarkState = (typeof bookmarkStates)[number];
3
+ export declare const bookmarkArt: {
4
+ readonly name: "bookmark";
5
+ readonly parts: readonly [{
6
+ readonly name: "ribbon";
7
+ readonly paths: readonly ["M17 3a2 2 0 0 1 2 2v15a1 1 0 0 1-1.496.868l-4.512-2.578a2 2 0 0 0-1.984 0l-4.512 2.578A1 1 0 0 1 5 20V5a2 2 0 0 1 2-2z"];
8
+ readonly poses: readonly [{}, {
9
+ readonly y: -1.6;
10
+ readonly scaleY: 0.84;
11
+ }, {}];
12
+ readonly pivot: readonly [12, 12];
13
+ readonly gestures: readonly [null, {
14
+ readonly duration: 0.95;
15
+ readonly repeatAfter: 2.4;
16
+ readonly loop: false;
17
+ readonly frames: readonly [{
18
+ readonly at: 0;
19
+ }, {
20
+ readonly at: 0.18;
21
+ readonly y: -0.4;
22
+ }, {
23
+ readonly at: 0.63;
24
+ readonly y: 1.7;
25
+ }, {
26
+ readonly at: 1;
27
+ }];
28
+ }];
29
+ }, {
30
+ readonly name: "saved";
31
+ readonly detail: true;
32
+ readonly paths: readonly ["M9 10L11 12L15 8"];
33
+ readonly poses: readonly [{
34
+ readonly opacity: 0;
35
+ }, {
36
+ readonly opacity: 0;
37
+ }, {
38
+ readonly opacity: 1;
39
+ }];
40
+ readonly pivot: readonly [12, 12];
41
+ readonly gestures: readonly [];
42
+ }];
43
+ };
@@ -0,0 +1,65 @@
1
+ export const bookmarkStates = ['unsaved', 'saving', 'saved'];
2
+ // Lucide-derived outline; attribution and pinned source: THIRD_PARTY_NOTICES.md.
3
+ // The ribbon lifts and seats into place like an inserted page marker; the saved tick appears only in the settled bookmark.
4
+ export const bookmarkArt = {
5
+ name: 'bookmark',
6
+ parts: [
7
+ {
8
+ name: 'ribbon',
9
+ paths: [
10
+ 'M17 3a2 2 0 0 1 2 2v15a1 1 0 0 1-1.496.868l-4.512-2.578a2 2 0 0 0-1.984 0l-4.512 2.578A1 1 0 0 1 5 20V5a2 2 0 0 1 2-2z',
11
+ ],
12
+ poses: [
13
+ {},
14
+ {
15
+ y: -1.6,
16
+ scaleY: 0.84,
17
+ },
18
+ {},
19
+ ],
20
+ pivot: [12, 12],
21
+ gestures: [
22
+ null,
23
+ {
24
+ duration: 0.95,
25
+ repeatAfter: 2.4,
26
+ loop: false,
27
+ frames: [
28
+ {
29
+ at: 0,
30
+ },
31
+ {
32
+ at: 0.18,
33
+ y: -0.4,
34
+ },
35
+ {
36
+ at: 0.63,
37
+ y: 1.7,
38
+ },
39
+ {
40
+ at: 1,
41
+ },
42
+ ],
43
+ },
44
+ ],
45
+ },
46
+ {
47
+ name: 'saved',
48
+ detail: true,
49
+ paths: ['M9 10L11 12L15 8'],
50
+ poses: [
51
+ {
52
+ opacity: 0,
53
+ },
54
+ {
55
+ opacity: 0,
56
+ },
57
+ {
58
+ opacity: 1,
59
+ },
60
+ ],
61
+ pivot: [12, 12],
62
+ gestures: [],
63
+ },
64
+ ],
65
+ };
@@ -0,0 +1,5 @@
1
+ import type { StatefulIconProps } from "../../shared/icon-types.js";
2
+ import { type BulbState } from "./bulb-rig.js";
3
+ export { bulbStates, type BulbState } from "./bulb-rig.js";
4
+ export type BulbIconProps = StatefulIconProps<BulbState>;
5
+ export declare const BulbIcon: import("react").NamedExoticComponent<BulbIconProps>;
@@ -0,0 +1,25 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { memo, useCallback, useRef } 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 { BULB_SHELL, sampleBulb } from "./bulb-rig.js";
8
+ export { bulbStates } from "./bulb-rig.js";
9
+ const ORIGIN = { originX: '0px', originY: '0px', transformBox: 'view-box' };
10
+ export const BulbIcon = memo(function BulbIcon({ state = 'off', 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 off = usePoseWeight(state === 'off', pace, reduced), thinking = usePoseWeight(state === 'thinking', pace, reduced), on = usePoseWeight(state === 'on', pace, reduced), fault = usePoseWeight(state === 'fault', pace, reduced);
14
+ const performs = alive && !reduced && state !== 'off', life = usePoseWeight(performs, pace, reduced), time = useBehaviorClock(element, performs, pace, life);
15
+ const first = useRef(state !== 'on');
16
+ const canRestart = useCallback(() => {
17
+ const invisible = first.current || on.get() < 0.001;
18
+ first.current = false;
19
+ return invisible;
20
+ }, [on]);
21
+ const entry = useActionProgress(state === 'on', pace, reduced, 1, canRestart);
22
+ const rig = useTransform(() => sampleBulb([off.get(), thinking.get(), on.get(), fault.get()], time.get(), life.get(), entry.get()));
23
+ const body = useTransform(rig, (r) => r.body), filament = useTransform(rig, (r) => r.filament), filamentOpacity = useTransform(rig, (r) => r.filamentOpacity), light = useTransform(rig, (r) => r.light), rays = useTransform(rig, (r) => r.rays), failure = useTransform(rig, (r) => r.fault), shine = useTransform(rig, (r) => r.shine);
24
+ 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", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", focusable: "false", pointerEvents: "none", style: { display: 'block', overflow: 'visible' }, children: _jsxs(motion.g, { "data-layer": "bulb-body", transform: body, style: ORIGIN, children: [_jsx(motion.path, { "data-layer": "bulb-rays", d: rays, opacity: light, stroke: accentColor, strokeWidth: Math.min(strokeWidth * 0.75, 1.4) }), _jsx("path", { "data-part": "shell", d: BULB_SHELL, stroke: color, strokeWidth: strokeWidth }), _jsx("path", { "data-part": "base", d: "M9 18h6M10 22h4", stroke: color, strokeWidth: strokeWidth }), _jsx(motion.path, { "data-layer": "bulb-filament", d: filament, opacity: filamentOpacity, stroke: accentColor, strokeWidth: Math.min(strokeWidth * 0.75, 1.4) }), _jsx(motion.path, { "data-layer": "bulb-fault", d: "m10 8 4 4m0-4-4 4", opacity: failure, stroke: color, strokeWidth: Math.min(strokeWidth * 0.75, 1.4) }), _jsx(motion.path, { "data-layer": "bulb-shine", d: "M8.2 7.2a4 4 0 0 1 1.5-2.4", opacity: shine, stroke: accentColor, strokeWidth: strokeWidth * 0.6 })] }) }));
25
+ });
@@ -0,0 +1,13 @@
1
+ export declare const bulbStates: readonly ["off", "thinking", "on", "fault"];
2
+ export type BulbState = (typeof bulbStates)[number];
3
+ /** Lucide lightbulb contour. Rays and filament are original supporting details. */
4
+ export declare const BULB_SHELL = "M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5";
5
+ export declare function sampleBulb(weights: readonly number[], time?: number, alive?: number, entry?: number): {
6
+ body: string;
7
+ filament: string;
8
+ light: number;
9
+ filamentOpacity: number;
10
+ rays: string;
11
+ fault: number;
12
+ shine: number;
13
+ };
@@ -0,0 +1,37 @@
1
+ import { behaviorBeat } from "../../shared/behavior-curves.js";
2
+ export const bulbStates = ['off', 'thinking', 'on', 'fault'];
3
+ /** Lucide lightbulb contour. Rays and filament are original supporting details. */
4
+ export const BULB_SHELL = 'M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5';
5
+ export function sampleBulb(weights, time = 0, alive = 0, entry = 1) {
6
+ const clamp = (n) => Math.max(0, Math.min(1, n));
7
+ const [, thinking, on, fault] = weights.map(clamp), life = clamp(alive);
8
+ const t = time % 8;
9
+ // A tentative filament warms twice, then considers; never falsely signals ON.
10
+ const warm = behaviorBeat(t, 0.2, 0.6, 0.1, 0.55) +
11
+ 0.65 * behaviorBeat(t, 2.05, 0.3, 0.15, 0.6) +
12
+ 0.8 * behaviorBeat(t, 4.9, 0.7, 0.25, 0.7);
13
+ const glint = behaviorBeat(t, 0.8, 0.35, 0.1, 0.9) + 0.65 * behaviorBeat(t, 5, 0.35, 0.1, 0.8);
14
+ const bloom = behaviorBeat(clamp(entry), 0.08, 0.23, 0.12, 0.5);
15
+ const emission = clamp(Math.max(bloom, life * glint));
16
+ // Five rays grow outwards together; the invisible gap separates each repeat.
17
+ const reach = 0.2 + emission * 0.8;
18
+ const rays = [Math.PI, Math.PI * 1.25, Math.PI * 1.5, Math.PI * 1.75, 0]
19
+ .map((angle) => {
20
+ const radius = 9.4 + emission * 0.45;
21
+ const x = 12 + Math.cos(angle) * radius;
22
+ const y = 8 + Math.sin(angle) * radius;
23
+ return `M${x} ${y}L${x + Math.cos(angle) * reach} ${y + Math.sin(angle) * reach}`;
24
+ })
25
+ .join('');
26
+ const retry = behaviorBeat(t, 0.35, 0.25, 0.1, 0.5) - 0.65 * behaviorBeat(t, 3.8, 0.3, 0.1, 0.6);
27
+ const scale = 0.78 + on * 0.015 + thinking * life * warm * 0.014;
28
+ return {
29
+ body: `translate(12px, 18px) rotate(${fault * life * retry * -5}deg) scale(${scale}) translate(-12px, -18px)`,
30
+ filament: 'M10 10.5L12 12.5L14 10.5M12 12.5V15',
31
+ light: on * emission,
32
+ filamentOpacity: thinking * (0.3 + life * warm * 0.65) + on,
33
+ rays,
34
+ fault,
35
+ shine: on * emission,
36
+ };
37
+ }
@@ -0,0 +1,5 @@
1
+ import type { StatefulIconProps } from "../../shared/icon-types.js";
2
+ import { type CalendarState } from "./calendar-rig.js";
3
+ export { calendarStates, type CalendarState } from "./calendar-rig.js";
4
+ export type CalendarIconProps = StatefulIconProps<CalendarState>;
5
+ export declare const CalendarIcon: import("react").NamedExoticComponent<CalendarIconProps>;
@@ -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 { calendarArt, calendarStates } from "./calendar-rig.js";
6
+ export { calendarStates } from "./calendar-rig.js";
7
+ export const CalendarIcon = memo(function CalendarIcon(props) {
8
+ return _jsx(ArticulatedIcon, { art: calendarArt, states: calendarStates, ...props });
9
+ });