weasel-icons 0.3.0 → 0.5.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 (266) hide show
  1. package/README.md +19 -2
  2. package/THIRD_PARTY_NOTICES.md +4 -0
  3. package/dist/icons/app-window/app-window-icon.d.ts +5 -0
  4. package/dist/icons/app-window/app-window-icon.js +9 -0
  5. package/dist/icons/app-window/app-window-rig.d.ts +37 -0
  6. package/dist/icons/app-window/app-window-rig.js +54 -0
  7. package/dist/icons/archive/archive-icon.d.ts +5 -0
  8. package/dist/icons/archive/archive-icon.js +9 -0
  9. package/dist/icons/archive/archive-rig.d.ts +46 -0
  10. package/dist/icons/archive/archive-rig.js +68 -0
  11. package/dist/icons/at-sign/at-sign-icon.d.ts +5 -0
  12. package/dist/icons/at-sign/at-sign-icon.js +9 -0
  13. package/dist/icons/at-sign/at-sign-rig.d.ts +31 -0
  14. package/dist/icons/at-sign/at-sign-rig.js +47 -0
  15. package/dist/icons/battery/battery-icon.d.ts +5 -0
  16. package/dist/icons/battery/battery-icon.js +9 -0
  17. package/dist/icons/battery/battery-rig.d.ts +150 -0
  18. package/dist/icons/battery/battery-rig.js +106 -0
  19. package/dist/icons/bluetooth/bluetooth-icon.d.ts +5 -0
  20. package/dist/icons/bluetooth/bluetooth-icon.js +9 -0
  21. package/dist/icons/bluetooth/bluetooth-rig.d.ts +53 -0
  22. package/dist/icons/bluetooth/bluetooth-rig.js +86 -0
  23. package/dist/icons/brush/brush-icon.d.ts +5 -0
  24. package/dist/icons/brush/brush-icon.js +9 -0
  25. package/dist/icons/brush/brush-rig.d.ts +67 -0
  26. package/dist/icons/brush/brush-rig.js +103 -0
  27. package/dist/icons/bug/bug-icon.d.ts +5 -0
  28. package/dist/icons/bug/bug-icon.js +9 -0
  29. package/dist/icons/bug/bug-rig.d.ts +338 -0
  30. package/dist/icons/bug/bug-rig.js +110 -0
  31. package/dist/icons/cast/cast-icon.d.ts +5 -0
  32. package/dist/icons/cast/cast-icon.js +9 -0
  33. package/dist/icons/cast/cast-rig.d.ts +57 -0
  34. package/dist/icons/cast/cast-rig.js +88 -0
  35. package/dist/icons/chart-bar/chart-bar-icon.d.ts +5 -0
  36. package/dist/icons/chart-bar/chart-bar-icon.js +9 -0
  37. package/dist/icons/chart-bar/chart-bar-rig.d.ts +79 -0
  38. package/dist/icons/chart-bar/chart-bar-rig.js +124 -0
  39. package/dist/icons/chart-line/chart-line-icon.d.ts +5 -0
  40. package/dist/icons/chart-line/chart-line-icon.js +9 -0
  41. package/dist/icons/chart-line/chart-line-rig.d.ts +50 -0
  42. package/dist/icons/chart-line/chart-line-rig.js +73 -0
  43. package/dist/icons/chart-pie/chart-pie-icon.d.ts +5 -0
  44. package/dist/icons/chart-pie/chart-pie-icon.js +9 -0
  45. package/dist/icons/chart-pie/chart-pie-rig.d.ts +21 -0
  46. package/dist/icons/chart-pie/chart-pie-rig.js +31 -0
  47. package/dist/icons/columns/columns-icon.d.ts +5 -0
  48. package/dist/icons/columns/columns-icon.js +9 -0
  49. package/dist/icons/columns/columns-rig.d.ts +15 -0
  50. package/dist/icons/columns/columns-rig.js +19 -0
  51. package/dist/icons/compass/compass-icon.d.ts +5 -0
  52. package/dist/icons/compass/compass-icon.js +9 -0
  53. package/dist/icons/compass/compass-rig.d.ts +91 -0
  54. package/dist/icons/compass/compass-rig.js +69 -0
  55. package/dist/icons/crop/crop-icon.d.ts +5 -0
  56. package/dist/icons/crop/crop-icon.js +9 -0
  57. package/dist/icons/crop/crop-rig.d.ts +16 -0
  58. package/dist/icons/crop/crop-rig.js +28 -0
  59. package/dist/icons/eraser/eraser-icon.d.ts +5 -0
  60. package/dist/icons/eraser/eraser-icon.js +9 -0
  61. package/dist/icons/eraser/eraser-rig.d.ts +48 -0
  62. package/dist/icons/eraser/eraser-rig.js +76 -0
  63. package/dist/icons/fast-forward/fast-forward-icon.d.ts +5 -0
  64. package/dist/icons/fast-forward/fast-forward-icon.js +9 -0
  65. package/dist/icons/fast-forward/fast-forward-rig.d.ts +48 -0
  66. package/dist/icons/fast-forward/fast-forward-rig.js +78 -0
  67. package/dist/icons/file-check/file-check-icon.d.ts +5 -0
  68. package/dist/icons/file-check/file-check-icon.js +9 -0
  69. package/dist/icons/file-check/file-check-rig.d.ts +57 -0
  70. package/dist/icons/file-check/file-check-rig.js +89 -0
  71. package/dist/icons/file-plus/file-plus-icon.d.ts +5 -0
  72. package/dist/icons/file-plus/file-plus-icon.js +9 -0
  73. package/dist/icons/file-plus/file-plus-rig.d.ts +33 -0
  74. package/dist/icons/file-plus/file-plus-rig.js +56 -0
  75. package/dist/icons/fingerprint/fingerprint-icon.d.ts +5 -0
  76. package/dist/icons/fingerprint/fingerprint-icon.js +9 -0
  77. package/dist/icons/fingerprint/fingerprint-rig.d.ts +61 -0
  78. package/dist/icons/fingerprint/fingerprint-rig.js +102 -0
  79. package/dist/icons/flag/flag-icon.d.ts +5 -0
  80. package/dist/icons/flag/flag-icon.js +9 -0
  81. package/dist/icons/flag/flag-rig.d.ts +35 -0
  82. package/dist/icons/flag/flag-rig.js +54 -0
  83. package/dist/icons/folder-open/folder-open-icon.d.ts +5 -0
  84. package/dist/icons/folder-open/folder-open-icon.js +9 -0
  85. package/dist/icons/folder-open/folder-open-rig.d.ts +15 -0
  86. package/dist/icons/folder-open/folder-open-rig.js +23 -0
  87. package/dist/icons/folder-plus/folder-plus-icon.d.ts +5 -0
  88. package/dist/icons/folder-plus/folder-plus-icon.js +9 -0
  89. package/dist/icons/folder-plus/folder-plus-rig.d.ts +46 -0
  90. package/dist/icons/folder-plus/folder-plus-rig.js +72 -0
  91. package/dist/icons/forward/forward-icon.d.ts +5 -0
  92. package/dist/icons/forward/forward-icon.js +9 -0
  93. package/dist/icons/forward/forward-rig.d.ts +45 -0
  94. package/dist/icons/forward/forward-rig.js +73 -0
  95. package/dist/icons/gift/gift-icon.d.ts +5 -0
  96. package/dist/icons/gift/gift-icon.js +9 -0
  97. package/dist/icons/gift/gift-rig.d.ts +40 -0
  98. package/dist/icons/gift/gift-rig.js +64 -0
  99. package/dist/icons/hard-drive/hard-drive-icon.d.ts +5 -0
  100. package/dist/icons/hard-drive/hard-drive-icon.js +9 -0
  101. package/dist/icons/hard-drive/hard-drive-rig.d.ts +54 -0
  102. package/dist/icons/hard-drive/hard-drive-rig.js +88 -0
  103. package/dist/icons/headphones/headphones-icon.d.ts +5 -0
  104. package/dist/icons/headphones/headphones-icon.js +9 -0
  105. package/dist/icons/headphones/headphones-rig.d.ts +66 -0
  106. package/dist/icons/headphones/headphones-rig.js +102 -0
  107. package/dist/icons/highlighter/highlighter-icon.d.ts +5 -0
  108. package/dist/icons/highlighter/highlighter-icon.js +9 -0
  109. package/dist/icons/highlighter/highlighter-rig.d.ts +37 -0
  110. package/dist/icons/highlighter/highlighter-rig.js +57 -0
  111. package/dist/icons/hourglass/hourglass-icon.d.ts +5 -0
  112. package/dist/icons/hourglass/hourglass-icon.js +9 -0
  113. package/dist/icons/hourglass/hourglass-rig.d.ts +136 -0
  114. package/dist/icons/hourglass/hourglass-rig.js +89 -0
  115. package/dist/icons/inbox/inbox-icon.d.ts +5 -0
  116. package/dist/icons/inbox/inbox-icon.js +9 -0
  117. package/dist/icons/inbox/inbox-rig.d.ts +48 -0
  118. package/dist/icons/inbox/inbox-rig.js +73 -0
  119. package/dist/icons/kanban/kanban-icon.d.ts +5 -0
  120. package/dist/icons/kanban/kanban-icon.js +9 -0
  121. package/dist/icons/kanban/kanban-rig.d.ts +19 -0
  122. package/dist/icons/kanban/kanban-rig.js +27 -0
  123. package/dist/icons/monitor/monitor-icon.d.ts +5 -0
  124. package/dist/icons/monitor/monitor-icon.js +9 -0
  125. package/dist/icons/monitor/monitor-rig.d.ts +42 -0
  126. package/dist/icons/monitor/monitor-rig.js +67 -0
  127. package/dist/icons/network/network-icon.d.ts +5 -0
  128. package/dist/icons/network/network-icon.js +9 -0
  129. package/dist/icons/network/network-rig.d.ts +200 -0
  130. package/dist/icons/network/network-rig.js +133 -0
  131. package/dist/icons/panel-left/panel-left-icon.d.ts +5 -0
  132. package/dist/icons/panel-left/panel-left-icon.js +9 -0
  133. package/dist/icons/panel-left/panel-left-rig.d.ts +15 -0
  134. package/dist/icons/panel-left/panel-left-rig.js +19 -0
  135. package/dist/icons/panel-right/panel-right-icon.d.ts +5 -0
  136. package/dist/icons/panel-right/panel-right-icon.js +9 -0
  137. package/dist/icons/panel-right/panel-right-rig.d.ts +15 -0
  138. package/dist/icons/panel-right/panel-right-rig.js +19 -0
  139. package/dist/icons/paperclip/paperclip-icon.d.ts +5 -0
  140. package/dist/icons/paperclip/paperclip-icon.js +9 -0
  141. package/dist/icons/paperclip/paperclip-rig.d.ts +28 -0
  142. package/dist/icons/paperclip/paperclip-rig.js +52 -0
  143. package/dist/icons/picture-in-picture/picture-in-picture-icon.d.ts +5 -0
  144. package/dist/icons/picture-in-picture/picture-in-picture-icon.js +9 -0
  145. package/dist/icons/picture-in-picture/picture-in-picture-rig.d.ts +21 -0
  146. package/dist/icons/picture-in-picture/picture-in-picture-rig.js +29 -0
  147. package/dist/icons/power/power-icon.d.ts +5 -0
  148. package/dist/icons/power/power-icon.js +9 -0
  149. package/dist/icons/power/power-rig.d.ts +36 -0
  150. package/dist/icons/power/power-rig.js +56 -0
  151. package/dist/icons/printer/printer-icon.d.ts +5 -0
  152. package/dist/icons/printer/printer-icon.js +9 -0
  153. package/dist/icons/printer/printer-rig.d.ts +55 -0
  154. package/dist/icons/printer/printer-rig.js +82 -0
  155. package/dist/icons/radio/radio-icon.d.ts +5 -0
  156. package/dist/icons/radio/radio-icon.js +9 -0
  157. package/dist/icons/radio/radio-rig.d.ts +53 -0
  158. package/dist/icons/radio/radio-rig.js +83 -0
  159. package/dist/icons/receipt/receipt-icon.d.ts +5 -0
  160. package/dist/icons/receipt/receipt-icon.js +9 -0
  161. package/dist/icons/receipt/receipt-rig.d.ts +65 -0
  162. package/dist/icons/receipt/receipt-rig.js +110 -0
  163. package/dist/icons/redo/redo-icon.d.ts +5 -0
  164. package/dist/icons/redo/redo-icon.js +9 -0
  165. package/dist/icons/redo/redo-rig.d.ts +28 -0
  166. package/dist/icons/redo/redo-rig.js +53 -0
  167. package/dist/icons/repeat/repeat-icon.d.ts +5 -0
  168. package/dist/icons/repeat/repeat-icon.js +9 -0
  169. package/dist/icons/repeat/repeat-rig.d.ts +35 -0
  170. package/dist/icons/repeat/repeat-rig.js +60 -0
  171. package/dist/icons/reply/reply-icon.d.ts +5 -0
  172. package/dist/icons/reply/reply-icon.js +9 -0
  173. package/dist/icons/reply/reply-rig.d.ts +45 -0
  174. package/dist/icons/reply/reply-rig.js +73 -0
  175. package/dist/icons/rewind/rewind-icon.d.ts +5 -0
  176. package/dist/icons/rewind/rewind-icon.js +9 -0
  177. package/dist/icons/rewind/rewind-rig.d.ts +48 -0
  178. package/dist/icons/rewind/rewind-rig.js +78 -0
  179. package/dist/icons/rows/rows-icon.d.ts +5 -0
  180. package/dist/icons/rows/rows-icon.js +9 -0
  181. package/dist/icons/rows/rows-rig.d.ts +15 -0
  182. package/dist/icons/rows/rows-rig.js +19 -0
  183. package/dist/icons/scan-face/scan-face-icon.d.ts +5 -0
  184. package/dist/icons/scan-face/scan-face-icon.js +9 -0
  185. package/dist/icons/scan-face/scan-face-rig.d.ts +50 -0
  186. package/dist/icons/scan-face/scan-face-rig.js +82 -0
  187. package/dist/icons/scan-qr/scan-qr-icon.d.ts +5 -0
  188. package/dist/icons/scan-qr/scan-qr-icon.js +9 -0
  189. package/dist/icons/scan-qr/scan-qr-rig.d.ts +50 -0
  190. package/dist/icons/scan-qr/scan-qr-rig.js +87 -0
  191. package/dist/icons/scissors/scissors-icon.d.ts +5 -0
  192. package/dist/icons/scissors/scissors-icon.js +9 -0
  193. package/dist/icons/scissors/scissors-rig.d.ts +52 -0
  194. package/dist/icons/scissors/scissors-rig.js +76 -0
  195. package/dist/icons/shuffle/shuffle-icon.d.ts +5 -0
  196. package/dist/icons/shuffle/shuffle-icon.js +9 -0
  197. package/dist/icons/shuffle/shuffle-rig.d.ts +32 -0
  198. package/dist/icons/shuffle/shuffle-rig.js +56 -0
  199. package/dist/icons/signal/signal-icon.d.ts +5 -0
  200. package/dist/icons/signal/signal-icon.js +9 -0
  201. package/dist/icons/signal/signal-rig.d.ts +185 -0
  202. package/dist/icons/signal/signal-rig.js +66 -0
  203. package/dist/icons/skip-back/skip-back-icon.d.ts +5 -0
  204. package/dist/icons/skip-back/skip-back-icon.js +9 -0
  205. package/dist/icons/skip-back/skip-back-rig.d.ts +31 -0
  206. package/dist/icons/skip-back/skip-back-rig.js +53 -0
  207. package/dist/icons/skip-forward/skip-forward-icon.d.ts +5 -0
  208. package/dist/icons/skip-forward/skip-forward-icon.js +9 -0
  209. package/dist/icons/skip-forward/skip-forward-rig.d.ts +31 -0
  210. package/dist/icons/skip-forward/skip-forward-rig.js +53 -0
  211. package/dist/icons/smartphone/smartphone-icon.d.ts +5 -0
  212. package/dist/icons/smartphone/smartphone-icon.js +9 -0
  213. package/dist/icons/smartphone/smartphone-rig.d.ts +39 -0
  214. package/dist/icons/smartphone/smartphone-rig.js +57 -0
  215. package/dist/icons/table/table-icon.d.ts +5 -0
  216. package/dist/icons/table/table-icon.js +9 -0
  217. package/dist/icons/table/table-rig.d.ts +18 -0
  218. package/dist/icons/table/table-rig.js +26 -0
  219. package/dist/icons/tag/tag-icon.d.ts +5 -0
  220. package/dist/icons/tag/tag-icon.js +9 -0
  221. package/dist/icons/tag/tag-rig.d.ts +27 -0
  222. package/dist/icons/tag/tag-rig.js +42 -0
  223. package/dist/icons/thumbs-down/thumbs-down-icon.d.ts +5 -0
  224. package/dist/icons/thumbs-down/thumbs-down-icon.js +9 -0
  225. package/dist/icons/thumbs-down/thumbs-down-rig.d.ts +30 -0
  226. package/dist/icons/thumbs-down/thumbs-down-rig.js +53 -0
  227. package/dist/icons/thumbs-up/thumbs-up-icon.d.ts +5 -0
  228. package/dist/icons/thumbs-up/thumbs-up-icon.js +9 -0
  229. package/dist/icons/thumbs-up/thumbs-up-rig.d.ts +33 -0
  230. package/dist/icons/thumbs-up/thumbs-up-rig.js +57 -0
  231. package/dist/icons/ticket/ticket-icon.d.ts +5 -0
  232. package/dist/icons/ticket/ticket-icon.js +9 -0
  233. package/dist/icons/ticket/ticket-rig.d.ts +30 -0
  234. package/dist/icons/ticket/ticket-rig.js +43 -0
  235. package/dist/icons/toggle/toggle-icon.d.ts +5 -0
  236. package/dist/icons/toggle/toggle-icon.js +9 -0
  237. package/dist/icons/toggle/toggle-rig.d.ts +86 -0
  238. package/dist/icons/toggle/toggle-rig.js +55 -0
  239. package/dist/icons/trash/trash-icon.d.ts +5 -0
  240. package/dist/icons/trash/trash-icon.js +9 -0
  241. package/dist/icons/trash/trash-rig.d.ts +98 -0
  242. package/dist/icons/trash/trash-rig.js +67 -0
  243. package/dist/icons/trending-up/trending-up-icon.d.ts +5 -0
  244. package/dist/icons/trending-up/trending-up-icon.js +9 -0
  245. package/dist/icons/trending-up/trending-up-rig.d.ts +44 -0
  246. package/dist/icons/trending-up/trending-up-rig.js +68 -0
  247. package/dist/icons/undo/undo-icon.d.ts +5 -0
  248. package/dist/icons/undo/undo-icon.js +9 -0
  249. package/dist/icons/undo/undo-rig.d.ts +28 -0
  250. package/dist/icons/undo/undo-rig.js +53 -0
  251. package/dist/icons/user-minus/user-minus-icon.d.ts +5 -0
  252. package/dist/icons/user-minus/user-minus-icon.js +9 -0
  253. package/dist/icons/user-minus/user-minus-rig.d.ts +31 -0
  254. package/dist/icons/user-minus/user-minus-rig.js +51 -0
  255. package/dist/icons/user-plus/user-plus-icon.d.ts +5 -0
  256. package/dist/icons/user-plus/user-plus-icon.js +9 -0
  257. package/dist/icons/user-plus/user-plus-rig.d.ts +56 -0
  258. package/dist/icons/user-plus/user-plus-rig.js +85 -0
  259. package/dist/icons/zap/zap-icon.d.ts +6 -0
  260. package/dist/icons/zap/zap-icon.js +36 -0
  261. package/dist/icons/zap/zap-rig.d.ts +15 -0
  262. package/dist/icons/zap/zap-rig.js +60 -0
  263. package/dist/index.d.ts +65 -0
  264. package/dist/index.js +65 -0
  265. package/dist/shared/icon-colors.d.ts +65 -0
  266. package/package.json +326 -1
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Icons that overreact beautifully. Stateful React SVG icons with smooth transitions and optional continuous behavior.
4
4
 
5
- Version `0.3.0` contains 100 icons, including the revised utility motions and settled Replace confirmation.
5
+ Version `0.5.0` contains 165 icons. It adds nine status icons (network, signal, trash, battery, toggle, hourglass, zap, compass, bug). Version `0.4.0` added 56 icons for editing, layouts, files, devices, media, collaboration and data. It includes the latest hand, arrow, receipt, tag and flag motion revisions.
6
6
 
7
7
  ## Install
8
8
 
@@ -49,7 +49,24 @@ The existing SVG smoothly transitions when `state` changes, including during an
49
49
 
50
50
  ## Icons and props
51
51
 
52
- Exports in the current local build: `DogIcon`, `MonkeyIcon`, `HeartIcon`, `ShipIcon`, `RocketIcon`, `SearchIcon`, `BellIcon`, `DownloadIcon`, `ShieldIcon`, `CursorIcon`, `ClapperboardIcon`, `PlugIcon`, `BulbIcon`, `AlertIcon`, `BadgeCheckIcon`, `ReplaceIcon`, `DeleteIcon`, `SwapIcon`, `SparklesIcon`, `SparkleIcon`, `StarIcon`, `WaveIcon`, `RefreshIcon`, `CopyIcon`, `EyeIcon`, `LinkIcon`, `CheckIcon`, and `CloseIcon`. Each icon exports its own state type and list, for example `DogState` and `dogStates`, or `BadgeCheckState` and `badgeCheckStates`. TypeScript autocompletion shows the valid states for each icon.
52
+ Exports include: `DogIcon`, `MonkeyIcon`, `HeartIcon`, `ShipIcon`, `RocketIcon`, `SearchIcon`, `BellIcon`, `DownloadIcon`, `ShieldIcon`, `CursorIcon`, `ClapperboardIcon`, `PlugIcon`, `BulbIcon`, `AlertIcon`, `BadgeCheckIcon`, `ReplaceIcon`, `DeleteIcon`, `SwapIcon`, `SparklesIcon`, `SparkleIcon`, `StarIcon`, `WaveIcon`, `RefreshIcon`, `CopyIcon`, `EyeIcon`, `LinkIcon`, `CheckIcon`, and `CloseIcon`. Each icon exports its own state type and list, for example `DogState` and `dogStates`, or `BadgeCheckState` and `badgeCheckStates`. TypeScript autocompletion shows the valid states for each icon.
53
+
54
+ ### Added in 0.5.0
55
+
56
+ - **Status:** `NetworkIcon` (offline/connecting/online), `SignalIcon` (weak/searching/strong), `BatteryIcon` (low/charging/full), `ToggleIcon` (off/switching/on), `HourglassIcon` (idle/waiting/done), `CompassIcon` (idle/locating/located).
57
+ - **Actions:** `TrashIcon` (idle/emptying/emptied), `ZapIcon` (idle/boosting/boosted, with an accent energy fill), `BugIcon` (idle/debugging/fixed).
58
+
59
+ ### Added in 0.4.0
60
+
61
+ - **Editing:** `UndoIcon`, `RedoIcon`, `CropIcon`, `ScissorsIcon`, `PaperclipIcon`, `EraserIcon`, `BrushIcon`, `HighlighterIcon`.
62
+ - **Layouts:** `PanelLeftIcon`, `PanelRightIcon`, `ColumnsIcon`, `RowsIcon`, `TableIcon`, `KanbanIcon`, `AppWindowIcon`, `PictureInPictureIcon`.
63
+ - **Files:** `FolderOpenIcon`, `FolderPlusIcon`, `FilePlusIcon`, `FileCheckIcon`, `ArchiveIcon`, `InboxIcon`, `HardDriveIcon`, `PrinterIcon`.
64
+ - **Devices:** `BluetoothIcon`, `CastIcon`, `MonitorIcon`, `SmartphoneIcon`, `PowerIcon`, `FingerprintIcon`, `ScanQrIcon`, `ScanFaceIcon`.
65
+ - **Media:** `SkipForwardIcon`, `SkipBackIcon`, `RewindIcon`, `FastForwardIcon`, `RepeatIcon`, `ShuffleIcon`, `HeadphonesIcon`, `RadioIcon`.
66
+ - **Collaboration:** `ThumbsUpIcon`, `ThumbsDownIcon`, `UserPlusIcon`, `UserMinusIcon`, `AtSignIcon`, `ReplyIcon`, `ForwardIcon`, `FlagIcon`.
67
+ - **Data & commerce:** `ChartBarIcon`, `ChartLineIcon`, `ChartPieIcon`, `TrendingUpIcon`, `ReceiptIcon`, `TagIcon`, `GiftIcon`, `TicketIcon`.
68
+
69
+ Each addition supports the same props and exports its typed state list. The application supplies pending and result states; the animation never decides completion.
53
70
 
54
71
  ### Added in 0.3.0
55
72
 
@@ -12,6 +12,10 @@ Bulb, Alert, Badge Check, Replace, Delete and Swap additionally adapt Lucide's `
12
12
 
13
13
  Refresh, Copy, Eye, Link, Check and Close additionally adapt `refresh-cw`, `copy`, `eye` / `eye-off` landmarks, `link` (previously `link-2`), `check` and `x`. Eye uses a compatible cubic eyelid rather than swapping complete SVGs. Check, Link and Close retain the additional Feather MIT notice below.
14
14
 
15
+ The 0.4.0 expansion additionally adapts these assets at the same pinned revision: `undo-2`, `redo-2`, `crop`, `scissors`, `paperclip`, `eraser`, `brush`, `highlighter`, `panel-left`, `panel-right`, `columns-2`, `rows-2`, `table-2`, `kanban`, `app-window`, `picture-in-picture-2`, `folder-open`, `folder-plus`, `file-plus`, `file-check`, `archive`, `inbox`, `hard-drive`, `printer`, `bluetooth`, `cast`, `monitor`, `smartphone`, `power`, `fingerprint-pattern`, `scan-qr-code`, `scan-face`, `skip-forward`, `skip-back`, `rewind`, `fast-forward`, `repeat`, `shuffle`, `headphones`, `radio`, `thumbs-up`, `thumbs-down`, `user-plus`, `user-minus`, `at-sign`, `reply`, `forward`, `flag`, `chart-column`, `chart-line`, `chart-pie`, `trending-up`, `receipt`, `tag`, `gift`, `ticket`. Parts, compatible morphs, and state choreography are independently authored. The upstream ISC and Feather notices below are retained for all adapted assets.
16
+
17
+ The 0.5.0 release additionally adapts `network`, `signal`, `trash`, `battery-full`, `battery-charging`, `toggle-left`, `toggle-right`, `hourglass`, `zap`, `compass` and `bug` at the same pinned revision. Battery merges the full and charging assets into one rig; Toggle merges both toggle positions; Network splits the connector into a stem and two arms that start at the root. Sand, the zap energy fill and speed streaks, dial ticks, the bug's resolution check and all choreography are original to Weasel.
18
+
15
19
  The retained Lucide geometry carries the following [Lucide ISC notice](https://lucide.dev/license):
16
20
  Star, Sparkles and Sparkle additionally adapt the current `star` and central `sparkles` contours. Sparkle is the single-contour composition; Sparkles' satellite diamonds and the single-line Wave geometry are original to Weasel. Wave follows the user's visual reference, not Lucide's stacked wave glyph.
17
21
 
@@ -0,0 +1,5 @@
1
+ import type { StatefulIconProps } from "../../shared/icon-types.js";
2
+ import { type AppWindowState } from "./app-window-rig.js";
3
+ export { appWindowStates, type AppWindowState } from "./app-window-rig.js";
4
+ export type AppWindowIconProps = StatefulIconProps<AppWindowState>;
5
+ export declare const AppWindowIcon: import("react").NamedExoticComponent<AppWindowIconProps>;
@@ -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 { appWindowArt, appWindowStates } from "./app-window-rig.js";
6
+ export { appWindowStates } from "./app-window-rig.js";
7
+ export const AppWindowIcon = memo(function AppWindowIcon(props) {
8
+ return _jsx(ArticulatedIcon, { art: appWindowArt, states: appWindowStates, ...props });
9
+ });
@@ -0,0 +1,37 @@
1
+ export declare const appWindowStates: readonly ["idle", "opening", "open"];
2
+ export type AppWindowState = (typeof appWindowStates)[number];
3
+ export declare const appWindowArt: {
4
+ readonly name: "app-window";
5
+ readonly parts: readonly [{
6
+ readonly name: "chrome";
7
+ readonly paths: readonly ["M10 4v4", "M2 8h20", "M6 4v4"];
8
+ readonly poses: readonly [{}, {}, {}];
9
+ }, {
10
+ readonly name: "frame";
11
+ readonly paths: readonly ["M4 4H20Q22 4 22 6V18Q22 20 20 20H4Q2 20 2 18V6Q2 4 4 4Z"];
12
+ readonly poses: readonly [{}, {}, {}];
13
+ }, {
14
+ readonly name: "content";
15
+ readonly paths: readonly ["M6 12h8M6 16h5"];
16
+ readonly poses: readonly [{
17
+ readonly opacity: 0;
18
+ }, {
19
+ readonly opacity: 0.45;
20
+ }, {}];
21
+ readonly detail: true;
22
+ readonly traceLength: 20;
23
+ readonly gestures: readonly [null, {
24
+ readonly duration: 0.65;
25
+ readonly repeatAfter: 1.5;
26
+ readonly loop: false;
27
+ readonly frames: readonly [{
28
+ readonly at: 0;
29
+ readonly draw: -1;
30
+ }, {
31
+ readonly at: 0.8;
32
+ }, {
33
+ readonly at: 1;
34
+ }];
35
+ }, null];
36
+ }];
37
+ };
@@ -0,0 +1,54 @@
1
+ export const appWindowStates = ['idle', 'opening', 'open'];
2
+ // Application window launcher. Content lines appear beneath fixed browser chrome; the window outline never collapses.
3
+ // Adapted Lucide geometry; see THIRD_PARTY_NOTICES.md.
4
+ export const appWindowArt = {
5
+ name: 'app-window',
6
+ parts: [
7
+ {
8
+ name: 'chrome',
9
+ paths: ['M10 4v4', 'M2 8h20', 'M6 4v4'],
10
+ poses: [{}, {}, {}],
11
+ },
12
+ {
13
+ name: 'frame',
14
+ paths: ['M4 4H20Q22 4 22 6V18Q22 20 20 20H4Q2 20 2 18V6Q2 4 4 4Z'],
15
+ poses: [{}, {}, {}],
16
+ },
17
+ {
18
+ name: 'content',
19
+ paths: ['M6 12h8M6 16h5'],
20
+ poses: [
21
+ {
22
+ opacity: 0,
23
+ },
24
+ {
25
+ opacity: 0.45,
26
+ },
27
+ {},
28
+ ],
29
+ detail: true,
30
+ traceLength: 20,
31
+ gestures: [
32
+ null,
33
+ {
34
+ duration: 0.65,
35
+ repeatAfter: 1.5,
36
+ loop: false,
37
+ frames: [
38
+ {
39
+ at: 0,
40
+ draw: -1,
41
+ },
42
+ {
43
+ at: 0.8,
44
+ },
45
+ {
46
+ at: 1,
47
+ },
48
+ ],
49
+ },
50
+ null,
51
+ ],
52
+ },
53
+ ],
54
+ };
@@ -0,0 +1,5 @@
1
+ import type { StatefulIconProps } from "../../shared/icon-types.js";
2
+ import { type ArchiveState } from "./archive-rig.js";
3
+ export { archiveStates, type ArchiveState } from "./archive-rig.js";
4
+ export type ArchiveIconProps = StatefulIconProps<ArchiveState>;
5
+ export declare const ArchiveIcon: import("react").NamedExoticComponent<ArchiveIconProps>;
@@ -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 { archiveArt, archiveStates } from "./archive-rig.js";
6
+ export { archiveStates } from "./archive-rig.js";
7
+ export const ArchiveIcon = memo(function ArchiveIcon(props) {
8
+ return _jsx(ArticulatedIcon, { art: archiveArt, states: archiveStates, ...props });
9
+ });
@@ -0,0 +1,46 @@
1
+ export declare const archiveStates: readonly ["idle", "archiving", "archived"];
2
+ export type ArchiveState = (typeof archiveStates)[number];
3
+ export declare const archiveArt: {
4
+ readonly name: "archive";
5
+ readonly parts: readonly [{
6
+ readonly name: "box";
7
+ readonly paths: readonly ["M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8", "M10 12h4"];
8
+ readonly poses: readonly [{}, {}, {}];
9
+ }, {
10
+ readonly name: "document";
11
+ readonly paths: readonly ["M9 5h6v5H9Z"];
12
+ readonly poses: readonly [{
13
+ readonly opacity: 0;
14
+ }, {
15
+ readonly opacity: 1;
16
+ readonly y: 3;
17
+ }, {
18
+ readonly opacity: 0;
19
+ readonly y: 5;
20
+ }];
21
+ readonly gestures: readonly [null, {
22
+ readonly duration: 0.8;
23
+ readonly repeatAfter: 1.5;
24
+ readonly loop: false;
25
+ readonly frames: readonly [{
26
+ readonly at: 0;
27
+ readonly y: -4;
28
+ readonly opacity: -1;
29
+ }, {
30
+ readonly at: 0.3;
31
+ readonly y: -2;
32
+ }, {
33
+ readonly at: 0.9;
34
+ }, {
35
+ readonly at: 1;
36
+ }];
37
+ }, null];
38
+ readonly detail: true;
39
+ }, {
40
+ readonly name: "lid";
41
+ readonly paths: readonly ["M3 3H21Q22 3 22 4V7Q22 8 21 8H3Q2 8 2 7V4Q2 3 3 3Z"];
42
+ readonly poses: readonly [{}, {
43
+ readonly y: -1.4;
44
+ }, {}];
45
+ }];
46
+ };
@@ -0,0 +1,68 @@
1
+ export const archiveStates = ['idle', 'archiving', 'archived'];
2
+ // Move item into archive. The lid lifts; a small document drops into the fixed box before the lid closes.
3
+ // Adapted Lucide geometry; see THIRD_PARTY_NOTICES.md.
4
+ export const archiveArt = {
5
+ name: 'archive',
6
+ parts: [
7
+ {
8
+ name: 'box',
9
+ paths: ['M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8', 'M10 12h4'],
10
+ poses: [{}, {}, {}],
11
+ },
12
+ {
13
+ name: 'document',
14
+ paths: ['M9 5h6v5H9Z'],
15
+ poses: [
16
+ {
17
+ opacity: 0,
18
+ },
19
+ {
20
+ opacity: 1,
21
+ y: 3,
22
+ },
23
+ {
24
+ opacity: 0,
25
+ y: 5,
26
+ },
27
+ ],
28
+ gestures: [
29
+ null,
30
+ {
31
+ duration: 0.8,
32
+ repeatAfter: 1.5,
33
+ loop: false,
34
+ frames: [
35
+ {
36
+ at: 0,
37
+ y: -4,
38
+ opacity: -1,
39
+ },
40
+ {
41
+ at: 0.3,
42
+ y: -2,
43
+ },
44
+ {
45
+ at: 0.9,
46
+ },
47
+ {
48
+ at: 1,
49
+ },
50
+ ],
51
+ },
52
+ null,
53
+ ],
54
+ detail: true,
55
+ },
56
+ {
57
+ name: 'lid',
58
+ paths: ['M3 3H21Q22 3 22 4V7Q22 8 21 8H3Q2 8 2 7V4Q2 3 3 3Z'],
59
+ poses: [
60
+ {},
61
+ {
62
+ y: -1.4,
63
+ },
64
+ {},
65
+ ],
66
+ },
67
+ ],
68
+ };
@@ -0,0 +1,5 @@
1
+ import type { StatefulIconProps } from "../../shared/icon-types.js";
2
+ import { type AtSignState } from "./at-sign-rig.js";
3
+ export { atSignStates, type AtSignState } from "./at-sign-rig.js";
4
+ export type AtSignIconProps = StatefulIconProps<AtSignState>;
5
+ export declare const AtSignIcon: import("react").NamedExoticComponent<AtSignIconProps>;
@@ -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 { atSignArt, atSignStates } from "./at-sign-rig.js";
6
+ export { atSignStates } from "./at-sign-rig.js";
7
+ export const AtSignIcon = memo(function AtSignIcon(props) {
8
+ return _jsx(ArticulatedIcon, { art: atSignArt, states: atSignStates, ...props });
9
+ });
@@ -0,0 +1,31 @@
1
+ export declare const atSignStates: readonly ["idle", "suggesting", "mentioned"];
2
+ export type AtSignState = (typeof atSignStates)[number];
3
+ export declare const atSignArt: {
4
+ readonly name: "at-sign";
5
+ readonly parts: readonly [{
6
+ readonly name: "ring";
7
+ readonly paths: readonly ["M8 12a4 4 0 1 0 8 0a4 4 0 1 0 -8 0"];
8
+ readonly poses: readonly [{}, {}, {
9
+ readonly scaleX: 0.9;
10
+ readonly scaleY: 0.9;
11
+ }];
12
+ }, {
13
+ readonly name: "route";
14
+ readonly paths: readonly ["M16 8v5a3 3 0 0 0 6 0v-1a10 10 0 1 0-4 8"];
15
+ readonly poses: readonly [{}, {}, {}];
16
+ readonly traceLength: 70;
17
+ readonly gestures: readonly [null, {
18
+ readonly duration: 0.65;
19
+ readonly repeatAfter: 1.5;
20
+ readonly loop: false;
21
+ readonly frames: readonly [{
22
+ readonly at: 0;
23
+ readonly draw: -1;
24
+ }, {
25
+ readonly at: 0.8;
26
+ }, {
27
+ readonly at: 1;
28
+ }];
29
+ }, null];
30
+ }];
31
+ };
@@ -0,0 +1,47 @@
1
+ export const atSignStates = ['idle', 'suggesting', 'mentioned'];
2
+ // Mention picker. The outer route traces around the fixed central ring; insertion gives a restrained centre emphasis.
3
+ // Adapted Lucide geometry; see THIRD_PARTY_NOTICES.md.
4
+ export const atSignArt = {
5
+ name: 'at-sign',
6
+ parts: [
7
+ {
8
+ name: 'ring',
9
+ paths: ['M8 12a4 4 0 1 0 8 0a4 4 0 1 0 -8 0'],
10
+ poses: [
11
+ {},
12
+ {},
13
+ {
14
+ scaleX: 0.9,
15
+ scaleY: 0.9,
16
+ },
17
+ ],
18
+ },
19
+ {
20
+ name: 'route',
21
+ paths: ['M16 8v5a3 3 0 0 0 6 0v-1a10 10 0 1 0-4 8'],
22
+ poses: [{}, {}, {}],
23
+ traceLength: 70,
24
+ gestures: [
25
+ null,
26
+ {
27
+ duration: 0.65,
28
+ repeatAfter: 1.5,
29
+ loop: false,
30
+ frames: [
31
+ {
32
+ at: 0,
33
+ draw: -1,
34
+ },
35
+ {
36
+ at: 0.8,
37
+ },
38
+ {
39
+ at: 1,
40
+ },
41
+ ],
42
+ },
43
+ null,
44
+ ],
45
+ },
46
+ ],
47
+ };
@@ -0,0 +1,5 @@
1
+ import type { StatefulIconProps } from "../../shared/icon-types.js";
2
+ import { type BatteryState } from "./battery-rig.js";
3
+ export { batteryStates, type BatteryState } from "./battery-rig.js";
4
+ export type BatteryIconProps = StatefulIconProps<BatteryState>;
5
+ export declare const BatteryIcon: import("react").NamedExoticComponent<BatteryIconProps>;
@@ -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 { batteryArt, batteryStates } from "./battery-rig.js";
6
+ export { batteryStates } from "./battery-rig.js";
7
+ export const BatteryIcon = memo(function BatteryIcon(props) {
8
+ return _jsx(ArticulatedIcon, { art: batteryArt, states: batteryStates, ...props });
9
+ });
@@ -0,0 +1,150 @@
1
+ export declare const batteryStates: readonly ["low", "charging", "full"];
2
+ export type BatteryState = (typeof batteryStates)[number];
3
+ export declare const batteryArt: {
4
+ readonly name: "battery";
5
+ readonly parts: readonly [{
6
+ readonly name: "shell";
7
+ readonly paths: readonly ["M4 6H16Q18 6 18 8V16Q18 18 16 18H4Q2 18 2 16V8Q2 6 4 6Z", "M22 14v-4"];
8
+ readonly poses: readonly [{}, {}, {}];
9
+ readonly pivot: readonly [12, 12];
10
+ readonly gestures: readonly [null, null, {
11
+ readonly duration: 0.7;
12
+ readonly repeatAfter: 2;
13
+ readonly loop: false;
14
+ readonly frames: readonly [{
15
+ readonly at: 0;
16
+ }, {
17
+ readonly at: 0.5;
18
+ readonly scaleX: 0.05;
19
+ readonly scaleY: 0.05;
20
+ }, {
21
+ readonly at: 1;
22
+ }];
23
+ }];
24
+ }, {
25
+ readonly name: "cell-one";
26
+ readonly detail: true;
27
+ readonly paths: readonly ["M6 10v4"];
28
+ readonly poses: readonly [{}, {
29
+ readonly opacity: 0;
30
+ readonly scaleY: 0.3;
31
+ }, {}];
32
+ readonly pivot: readonly [6, 12];
33
+ readonly gestures: readonly [{
34
+ readonly duration: 1.2;
35
+ readonly repeatAfter: 2.4;
36
+ readonly loop: true;
37
+ readonly frames: readonly [{
38
+ readonly at: 0;
39
+ }, {
40
+ readonly at: 0.3;
41
+ readonly opacity: -0.9;
42
+ }, {
43
+ readonly at: 0.5;
44
+ readonly opacity: -0.9;
45
+ }, {
46
+ readonly at: 1;
47
+ }];
48
+ }, null, {
49
+ readonly duration: 0.7;
50
+ readonly repeatAfter: 2;
51
+ readonly loop: false;
52
+ readonly frames: readonly [{
53
+ readonly at: 0;
54
+ readonly scaleY: -1;
55
+ }, {
56
+ readonly at: 0.35;
57
+ }, {
58
+ readonly at: 1;
59
+ }];
60
+ }];
61
+ }, {
62
+ readonly name: "cell-two";
63
+ readonly detail: true;
64
+ readonly paths: readonly ["M10 10v4"];
65
+ readonly poses: readonly [{
66
+ readonly opacity: 0;
67
+ readonly scaleY: 0.3;
68
+ }, {
69
+ readonly opacity: 0;
70
+ readonly scaleY: 0.3;
71
+ }, {}];
72
+ readonly pivot: readonly [10, 12];
73
+ readonly gestures: readonly [null, null, {
74
+ readonly duration: 0.7;
75
+ readonly repeatAfter: 2;
76
+ readonly loop: false;
77
+ readonly frames: readonly [{
78
+ readonly at: 0;
79
+ readonly scaleY: -1;
80
+ }, {
81
+ readonly at: 0.3;
82
+ readonly scaleY: -1;
83
+ }, {
84
+ readonly at: 0.6;
85
+ }, {
86
+ readonly at: 1;
87
+ }];
88
+ }];
89
+ }, {
90
+ readonly name: "cell-three";
91
+ readonly detail: true;
92
+ readonly paths: readonly ["M14 10v4"];
93
+ readonly poses: readonly [{
94
+ readonly opacity: 0;
95
+ readonly scaleY: 0.3;
96
+ }, {
97
+ readonly opacity: 0;
98
+ readonly scaleY: 0.3;
99
+ }, {}];
100
+ readonly pivot: readonly [14, 12];
101
+ readonly gestures: readonly [null, null, {
102
+ readonly duration: 0.7;
103
+ readonly repeatAfter: 2;
104
+ readonly loop: false;
105
+ readonly frames: readonly [{
106
+ readonly at: 0;
107
+ readonly scaleY: -1;
108
+ }, {
109
+ readonly at: 0.55;
110
+ readonly scaleY: -1;
111
+ }, {
112
+ readonly at: 0.85;
113
+ }, {
114
+ readonly at: 1;
115
+ }];
116
+ }];
117
+ }, {
118
+ readonly name: "bolt";
119
+ readonly accent: true;
120
+ readonly paths: readonly ["m11 7-3 5h4l-3 5"];
121
+ readonly poses: readonly [{
122
+ readonly opacity: 0;
123
+ readonly scaleX: 0.6;
124
+ readonly scaleY: 0.6;
125
+ }, {}, {
126
+ readonly opacity: 0;
127
+ readonly scaleX: 0.6;
128
+ readonly scaleY: 0.6;
129
+ }];
130
+ readonly pivot: readonly [10, 12];
131
+ readonly traceLength: 15.7;
132
+ readonly gestures: readonly [null, {
133
+ readonly duration: 1.3;
134
+ readonly repeatAfter: 2.1;
135
+ readonly loop: true;
136
+ readonly frames: readonly [{
137
+ readonly at: 0;
138
+ readonly draw: -1;
139
+ }, {
140
+ readonly at: 0.45;
141
+ }, {
142
+ readonly at: 0.6;
143
+ readonly scaleX: 0.12;
144
+ readonly scaleY: 0.12;
145
+ }, {
146
+ readonly at: 1;
147
+ }];
148
+ }];
149
+ }];
150
+ };
@@ -0,0 +1,106 @@
1
+ export const batteryStates = ['low', 'charging', 'full'];
2
+ // Lucide-derived outline (battery-full, battery-charging); attribution and pinned source: THIRD_PARTY_NOTICES.md.
3
+ // Low keeps one blinking cell; charging replaces the cells with a bolt that traces energy into the shell; full stacks three cells in sequence.
4
+ export const batteryArt = {
5
+ name: 'battery',
6
+ parts: [
7
+ {
8
+ name: 'shell',
9
+ paths: ['M4 6H16Q18 6 18 8V16Q18 18 16 18H4Q2 18 2 16V8Q2 6 4 6Z', 'M22 14v-4'],
10
+ poses: [{}, {}, {}],
11
+ pivot: [12, 12],
12
+ gestures: [
13
+ null,
14
+ null,
15
+ {
16
+ duration: 0.7,
17
+ repeatAfter: 2,
18
+ loop: false,
19
+ frames: [{ at: 0 }, { at: 0.5, scaleX: 0.05, scaleY: 0.05 }, { at: 1 }],
20
+ },
21
+ ],
22
+ },
23
+ {
24
+ name: 'cell-one',
25
+ detail: true,
26
+ paths: ['M6 10v4'],
27
+ poses: [{}, { opacity: 0, scaleY: 0.3 }, {}],
28
+ pivot: [6, 12],
29
+ gestures: [
30
+ {
31
+ duration: 1.2,
32
+ repeatAfter: 2.4,
33
+ loop: true,
34
+ frames: [{ at: 0 }, { at: 0.3, opacity: -0.9 }, { at: 0.5, opacity: -0.9 }, { at: 1 }],
35
+ },
36
+ null,
37
+ {
38
+ duration: 0.7,
39
+ repeatAfter: 2,
40
+ loop: false,
41
+ frames: [{ at: 0, scaleY: -1 }, { at: 0.35 }, { at: 1 }],
42
+ },
43
+ ],
44
+ },
45
+ {
46
+ name: 'cell-two',
47
+ detail: true,
48
+ paths: ['M10 10v4'],
49
+ poses: [{ opacity: 0, scaleY: 0.3 }, { opacity: 0, scaleY: 0.3 }, {}],
50
+ pivot: [10, 12],
51
+ gestures: [
52
+ null,
53
+ null,
54
+ {
55
+ duration: 0.7,
56
+ repeatAfter: 2,
57
+ loop: false,
58
+ frames: [{ at: 0, scaleY: -1 }, { at: 0.3, scaleY: -1 }, { at: 0.6 }, { at: 1 }],
59
+ },
60
+ ],
61
+ },
62
+ {
63
+ name: 'cell-three',
64
+ detail: true,
65
+ paths: ['M14 10v4'],
66
+ poses: [{ opacity: 0, scaleY: 0.3 }, { opacity: 0, scaleY: 0.3 }, {}],
67
+ pivot: [14, 12],
68
+ gestures: [
69
+ null,
70
+ null,
71
+ {
72
+ duration: 0.7,
73
+ repeatAfter: 2,
74
+ loop: false,
75
+ frames: [{ at: 0, scaleY: -1 }, { at: 0.55, scaleY: -1 }, { at: 0.85 }, { at: 1 }],
76
+ },
77
+ ],
78
+ },
79
+ {
80
+ name: 'bolt',
81
+ accent: true,
82
+ paths: ['m11 7-3 5h4l-3 5'],
83
+ poses: [
84
+ { opacity: 0, scaleX: 0.6, scaleY: 0.6 },
85
+ {},
86
+ { opacity: 0, scaleX: 0.6, scaleY: 0.6 },
87
+ ],
88
+ pivot: [10, 12],
89
+ traceLength: 15.7,
90
+ gestures: [
91
+ null,
92
+ {
93
+ duration: 1.3,
94
+ repeatAfter: 2.1,
95
+ loop: true,
96
+ frames: [
97
+ { at: 0, draw: -1 },
98
+ { at: 0.45 },
99
+ { at: 0.6, scaleX: 0.12, scaleY: 0.12 },
100
+ { at: 1 },
101
+ ],
102
+ },
103
+ ],
104
+ },
105
+ ],
106
+ };
@@ -0,0 +1,5 @@
1
+ import type { StatefulIconProps } from "../../shared/icon-types.js";
2
+ import { type BluetoothState } from "./bluetooth-rig.js";
3
+ export { bluetoothStates, type BluetoothState } from "./bluetooth-rig.js";
4
+ export type BluetoothIconProps = StatefulIconProps<BluetoothState>;
5
+ export declare const BluetoothIcon: import("react").NamedExoticComponent<BluetoothIconProps>;