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
@@ -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 { highlighterArt, highlighterStates } from "./highlighter-rig.js";
6
+ export { highlighterStates } from "./highlighter-rig.js";
7
+ export const HighlighterIcon = memo(function HighlighterIcon(props) {
8
+ return _jsx(ArticulatedIcon, { art: highlighterArt, states: highlighterStates, ...props });
9
+ });
@@ -0,0 +1,37 @@
1
+ export declare const highlighterStates: readonly ["idle", "highlighting", "highlighted"];
2
+ export type HighlighterState = (typeof highlighterStates)[number];
3
+ export declare const highlighterArt: {
4
+ readonly name: "highlighter";
5
+ readonly parts: readonly [{
6
+ readonly name: "underline";
7
+ readonly paths: readonly ["M3 22h11"];
8
+ readonly poses: readonly [{
9
+ readonly draw: 0;
10
+ }, {
11
+ readonly draw: 0.45;
12
+ }, {}];
13
+ readonly traceLength: 11;
14
+ readonly accent: true;
15
+ }, {
16
+ readonly name: "pen";
17
+ readonly paths: readonly ["m9 11-6 6v3h9l3-3", "m22 12-4.6 4.6a2 2 0 0 1-2.8 0l-5.2-5.2a2 2 0 0 1 0-2.8L14 4"];
18
+ readonly poses: readonly [{}, {
19
+ readonly x: 0.6;
20
+ }, {
21
+ readonly y: -0.6;
22
+ }];
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
+ }, {
30
+ readonly at: 0.4;
31
+ readonly x: 1;
32
+ }, {
33
+ readonly at: 1;
34
+ }];
35
+ }, null];
36
+ }];
37
+ };
@@ -0,0 +1,57 @@
1
+ export const highlighterStates = ['idle', 'highlighting', 'highlighted'];
2
+ // Text highlighting tool. The nib travels a short distance along a horizontal underline, then lifts off it.
3
+ // Adapted Lucide geometry; see THIRD_PARTY_NOTICES.md.
4
+ export const highlighterArt = {
5
+ name: 'highlighter',
6
+ parts: [
7
+ {
8
+ name: 'underline',
9
+ paths: ['M3 22h11'],
10
+ poses: [
11
+ {
12
+ draw: 0,
13
+ },
14
+ {
15
+ draw: 0.45,
16
+ },
17
+ {},
18
+ ],
19
+ traceLength: 11,
20
+ accent: true,
21
+ },
22
+ {
23
+ name: 'pen',
24
+ paths: ['m9 11-6 6v3h9l3-3', 'm22 12-4.6 4.6a2 2 0 0 1-2.8 0l-5.2-5.2a2 2 0 0 1 0-2.8L14 4'],
25
+ poses: [
26
+ {},
27
+ {
28
+ x: 0.6,
29
+ },
30
+ {
31
+ y: -0.6,
32
+ },
33
+ ],
34
+ gestures: [
35
+ null,
36
+ {
37
+ duration: 0.65,
38
+ repeatAfter: 1.5,
39
+ loop: false,
40
+ frames: [
41
+ {
42
+ at: 0,
43
+ },
44
+ {
45
+ at: 0.4,
46
+ x: 1,
47
+ },
48
+ {
49
+ at: 1,
50
+ },
51
+ ],
52
+ },
53
+ null,
54
+ ],
55
+ },
56
+ ],
57
+ };
@@ -0,0 +1,5 @@
1
+ import type { StatefulIconProps } from "../../shared/icon-types.js";
2
+ import { type HourglassState } from "./hourglass-rig.js";
3
+ export { hourglassStates, type HourglassState } from "./hourglass-rig.js";
4
+ export type HourglassIconProps = StatefulIconProps<HourglassState>;
5
+ export declare const HourglassIcon: import("react").NamedExoticComponent<HourglassIconProps>;
@@ -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 { hourglassArt, hourglassStates } from "./hourglass-rig.js";
6
+ export { hourglassStates } from "./hourglass-rig.js";
7
+ export const HourglassIcon = memo(function HourglassIcon(props) {
8
+ return _jsx(ArticulatedIcon, { art: hourglassArt, states: hourglassStates, ...props });
9
+ });
@@ -0,0 +1,136 @@
1
+ export declare const hourglassStates: readonly ["idle", "waiting", "done"];
2
+ export type HourglassState = (typeof hourglassStates)[number];
3
+ export declare const hourglassArt: {
4
+ readonly name: "hourglass";
5
+ readonly parts: readonly [{
6
+ readonly name: "frame";
7
+ readonly paths: readonly ["M5 22h14", "M5 2h14", "M17 22v-4.172a2 2 0 0 0-.586-1.414L12 12l-4.414 4.414A2 2 0 0 0 7 17.828V22", "M7 2v4.172a2 2 0 0 0 .586 1.414L12 12l4.414-4.414A2 2 0 0 0 17 6.172V2"];
8
+ readonly poses: readonly [{}, {}, {}];
9
+ readonly pivot: readonly [12, 12];
10
+ readonly gestures: readonly [null, {
11
+ readonly duration: 1.6;
12
+ readonly repeatAfter: 2.4;
13
+ readonly loop: true;
14
+ readonly frames: readonly [{
15
+ readonly at: 0;
16
+ }, {
17
+ readonly at: 0.3;
18
+ readonly angle: -4;
19
+ }, {
20
+ readonly at: 0.7;
21
+ readonly angle: 4;
22
+ }, {
23
+ readonly at: 1;
24
+ }];
25
+ }, {
26
+ readonly duration: 0.7;
27
+ readonly repeatAfter: 2;
28
+ readonly loop: false;
29
+ readonly frames: readonly [{
30
+ readonly at: 0;
31
+ }, {
32
+ readonly at: 0.3;
33
+ readonly scaleY: -0.06;
34
+ readonly y: 0.5;
35
+ }, {
36
+ readonly at: 1;
37
+ }];
38
+ }];
39
+ }, {
40
+ readonly name: "upper-sand";
41
+ readonly detail: true;
42
+ readonly paths: readonly ["M9.4 5.2h5.2"];
43
+ readonly poses: readonly [{}, {
44
+ readonly scaleX: 0.55;
45
+ readonly y: 1.3;
46
+ }, {
47
+ readonly opacity: 0;
48
+ readonly scaleX: 0.1;
49
+ readonly y: 2.6;
50
+ }];
51
+ readonly pivot: readonly [12, 5.2];
52
+ readonly gestures: readonly [null, {
53
+ readonly duration: 1.6;
54
+ readonly repeatAfter: 2.4;
55
+ readonly loop: true;
56
+ readonly frames: readonly [{
57
+ readonly at: 0;
58
+ readonly scaleX: 0.35;
59
+ readonly y: -0.6;
60
+ }, {
61
+ readonly at: 0.8;
62
+ readonly scaleX: -0.25;
63
+ readonly y: 0.5;
64
+ }, {
65
+ readonly at: 1;
66
+ }];
67
+ }];
68
+ }, {
69
+ readonly name: "stream";
70
+ readonly detail: true;
71
+ readonly paths: readonly ["M12 12.5v5.5"];
72
+ readonly poses: readonly [{
73
+ readonly opacity: 0;
74
+ readonly draw: 0;
75
+ }, {}, {
76
+ readonly opacity: 0;
77
+ readonly draw: 0;
78
+ }];
79
+ readonly pivot: readonly [12, 12.5];
80
+ readonly traceLength: 5.5;
81
+ readonly gestures: readonly [null, {
82
+ readonly duration: 1.6;
83
+ readonly repeatAfter: 2.4;
84
+ readonly loop: true;
85
+ readonly frames: readonly [{
86
+ readonly at: 0;
87
+ readonly draw: -1;
88
+ }, {
89
+ readonly at: 0.35;
90
+ }, {
91
+ readonly at: 0.75;
92
+ }, {
93
+ readonly at: 1;
94
+ }];
95
+ }];
96
+ }, {
97
+ readonly name: "lower-sand";
98
+ readonly detail: true;
99
+ readonly paths: readonly ["M8.6 19.6h6.8"];
100
+ readonly poses: readonly [{
101
+ readonly opacity: 0;
102
+ readonly scaleX: 0.1;
103
+ }, {
104
+ readonly scaleX: 0.55;
105
+ }, {}];
106
+ readonly pivot: readonly [12, 19.6];
107
+ readonly gestures: readonly [null, {
108
+ readonly duration: 1.6;
109
+ readonly repeatAfter: 2.4;
110
+ readonly loop: true;
111
+ readonly frames: readonly [{
112
+ readonly at: 0;
113
+ readonly scaleX: -0.3;
114
+ }, {
115
+ readonly at: 0.85;
116
+ readonly scaleX: 0.3;
117
+ }, {
118
+ readonly at: 1;
119
+ }];
120
+ }, {
121
+ readonly duration: 0.7;
122
+ readonly repeatAfter: 2;
123
+ readonly loop: false;
124
+ readonly frames: readonly [{
125
+ readonly at: 0;
126
+ readonly scaleX: -0.5;
127
+ }, {
128
+ readonly at: 0.4;
129
+ readonly scaleX: 0.08;
130
+ readonly y: -0.4;
131
+ }, {
132
+ readonly at: 1;
133
+ }];
134
+ }];
135
+ }];
136
+ };
@@ -0,0 +1,89 @@
1
+ export const hourglassStates = ['idle', 'waiting', 'done'];
2
+ // Lucide-derived outline; attribution and pinned source: THIRD_PARTY_NOTICES.md.
3
+ // Sand moves from the upper to the lower bulb through a pouring stream while the frame rocks; done holds a full lower bulb that lands with a settle instead of flipping the glass.
4
+ export const hourglassArt = {
5
+ name: 'hourglass',
6
+ parts: [
7
+ {
8
+ name: 'frame',
9
+ paths: [
10
+ 'M5 22h14',
11
+ 'M5 2h14',
12
+ 'M17 22v-4.172a2 2 0 0 0-.586-1.414L12 12l-4.414 4.414A2 2 0 0 0 7 17.828V22',
13
+ 'M7 2v4.172a2 2 0 0 0 .586 1.414L12 12l4.414-4.414A2 2 0 0 0 17 6.172V2',
14
+ ],
15
+ poses: [{}, {}, {}],
16
+ pivot: [12, 12],
17
+ gestures: [
18
+ null,
19
+ {
20
+ duration: 1.6,
21
+ repeatAfter: 2.4,
22
+ loop: true,
23
+ frames: [{ at: 0 }, { at: 0.3, angle: -4 }, { at: 0.7, angle: 4 }, { at: 1 }],
24
+ },
25
+ {
26
+ duration: 0.7,
27
+ repeatAfter: 2,
28
+ loop: false,
29
+ frames: [{ at: 0 }, { at: 0.3, scaleY: -0.06, y: 0.5 }, { at: 1 }],
30
+ },
31
+ ],
32
+ },
33
+ {
34
+ name: 'upper-sand',
35
+ detail: true,
36
+ paths: ['M9.4 5.2h5.2'],
37
+ poses: [{}, { scaleX: 0.55, y: 1.3 }, { opacity: 0, scaleX: 0.1, y: 2.6 }],
38
+ pivot: [12, 5.2],
39
+ gestures: [
40
+ null,
41
+ {
42
+ duration: 1.6,
43
+ repeatAfter: 2.4,
44
+ loop: true,
45
+ frames: [{ at: 0, scaleX: 0.35, y: -0.6 }, { at: 0.8, scaleX: -0.25, y: 0.5 }, { at: 1 }],
46
+ },
47
+ ],
48
+ },
49
+ {
50
+ name: 'stream',
51
+ detail: true,
52
+ paths: ['M12 12.5v5.5'],
53
+ poses: [{ opacity: 0, draw: 0 }, {}, { opacity: 0, draw: 0 }],
54
+ pivot: [12, 12.5],
55
+ traceLength: 5.5,
56
+ gestures: [
57
+ null,
58
+ {
59
+ duration: 1.6,
60
+ repeatAfter: 2.4,
61
+ loop: true,
62
+ frames: [{ at: 0, draw: -1 }, { at: 0.35 }, { at: 0.75 }, { at: 1 }],
63
+ },
64
+ ],
65
+ },
66
+ {
67
+ name: 'lower-sand',
68
+ detail: true,
69
+ paths: ['M8.6 19.6h6.8'],
70
+ poses: [{ opacity: 0, scaleX: 0.1 }, { scaleX: 0.55 }, {}],
71
+ pivot: [12, 19.6],
72
+ gestures: [
73
+ null,
74
+ {
75
+ duration: 1.6,
76
+ repeatAfter: 2.4,
77
+ loop: true,
78
+ frames: [{ at: 0, scaleX: -0.3 }, { at: 0.85, scaleX: 0.3 }, { at: 1 }],
79
+ },
80
+ {
81
+ duration: 0.7,
82
+ repeatAfter: 2,
83
+ loop: false,
84
+ frames: [{ at: 0, scaleX: -0.5 }, { at: 0.4, scaleX: 0.08, y: -0.4 }, { at: 1 }],
85
+ },
86
+ ],
87
+ },
88
+ ],
89
+ };
@@ -0,0 +1,5 @@
1
+ import type { StatefulIconProps } from "../../shared/icon-types.js";
2
+ import { type InboxState } from "./inbox-rig.js";
3
+ export { inboxStates, type InboxState } from "./inbox-rig.js";
4
+ export type InboxIconProps = StatefulIconProps<InboxState>;
5
+ export declare const InboxIcon: import("react").NamedExoticComponent<InboxIconProps>;
@@ -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 { inboxArt, inboxStates } from "./inbox-rig.js";
6
+ export { inboxStates } from "./inbox-rig.js";
7
+ export const InboxIcon = memo(function InboxIcon(props) {
8
+ return _jsx(ArticulatedIcon, { art: inboxArt, states: inboxStates, ...props });
9
+ });
@@ -0,0 +1,48 @@
1
+ export declare const inboxStates: readonly ["empty", "receiving", "received"];
2
+ export type InboxState = (typeof inboxStates)[number];
3
+ export declare const inboxArt: {
4
+ readonly name: "inbox";
5
+ readonly parts: readonly [{
6
+ readonly name: "tray";
7
+ readonly paths: readonly ["M22 12 16 12 14 15 10 15 8 12 2 12", "M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z"];
8
+ readonly poses: readonly [{}, {}, {}];
9
+ }, {
10
+ readonly name: "message";
11
+ readonly paths: readonly ["M8 5h8v4H8Z"];
12
+ readonly poses: readonly [{
13
+ readonly opacity: 0;
14
+ }, {}, {
15
+ readonly opacity: 0;
16
+ readonly y: 5;
17
+ }];
18
+ readonly gestures: readonly [null, {
19
+ readonly duration: 0.9;
20
+ readonly repeatAfter: 1.5;
21
+ readonly loop: false;
22
+ readonly frames: readonly [{
23
+ readonly at: 0;
24
+ readonly y: -2;
25
+ readonly opacity: -1;
26
+ }, {
27
+ readonly at: 0.3;
28
+ readonly y: -1;
29
+ }, {
30
+ readonly at: 0.8;
31
+ readonly y: 2;
32
+ }, {
33
+ readonly at: 1;
34
+ readonly y: 2;
35
+ }];
36
+ }, null];
37
+ readonly detail: true;
38
+ }, {
39
+ readonly name: "received";
40
+ readonly paths: readonly ["M10 18h4"];
41
+ readonly poses: readonly [{
42
+ readonly opacity: 0;
43
+ }, {
44
+ readonly opacity: 0;
45
+ }, {}];
46
+ readonly accent: true;
47
+ }];
48
+ };
@@ -0,0 +1,73 @@
1
+ export const inboxStates = ['empty', 'receiving', 'received'];
2
+ // Inbox arrival status. A message descends toward the tray; a short line remains inside the pocket.
3
+ // Adapted Lucide geometry; see THIRD_PARTY_NOTICES.md.
4
+ export const inboxArt = {
5
+ name: 'inbox',
6
+ parts: [
7
+ {
8
+ name: 'tray',
9
+ paths: [
10
+ 'M22 12 16 12 14 15 10 15 8 12 2 12',
11
+ 'M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z',
12
+ ],
13
+ poses: [{}, {}, {}],
14
+ },
15
+ {
16
+ name: 'message',
17
+ paths: ['M8 5h8v4H8Z'],
18
+ poses: [
19
+ {
20
+ opacity: 0,
21
+ },
22
+ {},
23
+ {
24
+ opacity: 0,
25
+ y: 5,
26
+ },
27
+ ],
28
+ gestures: [
29
+ null,
30
+ {
31
+ duration: 0.9,
32
+ repeatAfter: 1.5,
33
+ loop: false,
34
+ frames: [
35
+ {
36
+ at: 0,
37
+ y: -2,
38
+ opacity: -1,
39
+ },
40
+ {
41
+ at: 0.3,
42
+ y: -1,
43
+ },
44
+ {
45
+ at: 0.8,
46
+ y: 2,
47
+ },
48
+ {
49
+ at: 1,
50
+ y: 2,
51
+ },
52
+ ],
53
+ },
54
+ null,
55
+ ],
56
+ detail: true,
57
+ },
58
+ {
59
+ name: 'received',
60
+ paths: ['M10 18h4'],
61
+ poses: [
62
+ {
63
+ opacity: 0,
64
+ },
65
+ {
66
+ opacity: 0,
67
+ },
68
+ {},
69
+ ],
70
+ accent: true,
71
+ },
72
+ ],
73
+ };
@@ -0,0 +1,5 @@
1
+ import type { StatefulIconProps } from "../../shared/icon-types.js";
2
+ import { type KanbanState } from "./kanban-rig.js";
3
+ export { kanbanStates, type KanbanState } from "./kanban-rig.js";
4
+ export type KanbanIconProps = StatefulIconProps<KanbanState>;
5
+ export declare const KanbanIcon: import("react").NamedExoticComponent<KanbanIconProps>;
@@ -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 { kanbanArt, kanbanStates } from "./kanban-rig.js";
6
+ export { kanbanStates } from "./kanban-rig.js";
7
+ export const KanbanIcon = memo(function KanbanIcon(props) {
8
+ return _jsx(ArticulatedIcon, { art: kanbanArt, states: kanbanStates, ...props });
9
+ });
@@ -0,0 +1,19 @@
1
+ export declare const kanbanStates: readonly ["idle", "moving", "moved"];
2
+ export type KanbanState = (typeof kanbanStates)[number];
3
+ export declare const kanbanArt: {
4
+ readonly name: "kanban";
5
+ readonly parts: readonly [{
6
+ readonly name: "rails";
7
+ readonly paths: readonly ["M5 3H19Q21 3 21 5V19Q21 21 19 21H5Q3 21 3 19V5Q3 3 5 3Z", "M9 3v18M16 3v18"];
8
+ readonly poses: readonly [{}, {}, {}];
9
+ }, {
10
+ readonly name: "task";
11
+ readonly paths: readonly ["M4.5 8h3M4.5 11h2"];
12
+ readonly poses: readonly [{}, {
13
+ readonly x: 3;
14
+ }, {
15
+ readonly x: 7;
16
+ }];
17
+ readonly accent: true;
18
+ }];
19
+ };
@@ -0,0 +1,27 @@
1
+ export const kanbanStates = ['idle', 'moving', 'moved'];
2
+ // Task board column change. One task card crosses the stationary column dividers; it never rearranges the whole board.
3
+ // Adapted Lucide geometry; see THIRD_PARTY_NOTICES.md.
4
+ export const kanbanArt = {
5
+ name: 'kanban',
6
+ parts: [
7
+ {
8
+ name: 'rails',
9
+ paths: ['M5 3H19Q21 3 21 5V19Q21 21 19 21H5Q3 21 3 19V5Q3 3 5 3Z', 'M9 3v18M16 3v18'],
10
+ poses: [{}, {}, {}],
11
+ },
12
+ {
13
+ name: 'task',
14
+ paths: ['M4.5 8h3M4.5 11h2'],
15
+ poses: [
16
+ {},
17
+ {
18
+ x: 3,
19
+ },
20
+ {
21
+ x: 7,
22
+ },
23
+ ],
24
+ accent: true,
25
+ },
26
+ ],
27
+ };
@@ -0,0 +1,5 @@
1
+ import type { StatefulIconProps } from "../../shared/icon-types.js";
2
+ import { type MonitorState } from "./monitor-rig.js";
3
+ export { monitorStates, type MonitorState } from "./monitor-rig.js";
4
+ export type MonitorIconProps = StatefulIconProps<MonitorState>;
5
+ export declare const MonitorIcon: import("react").NamedExoticComponent<MonitorIconProps>;
@@ -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 { monitorArt, monitorStates } from "./monitor-rig.js";
6
+ export { monitorStates } from "./monitor-rig.js";
7
+ export const MonitorIcon = memo(function MonitorIcon(props) {
8
+ return _jsx(ArticulatedIcon, { art: monitorArt, states: monitorStates, ...props });
9
+ });
@@ -0,0 +1,42 @@
1
+ export declare const monitorStates: readonly ["standby", "waking", "awake"];
2
+ export type MonitorState = (typeof monitorStates)[number];
3
+ export declare const monitorArt: {
4
+ readonly name: "monitor";
5
+ readonly parts: readonly [{
6
+ readonly name: "display";
7
+ readonly paths: readonly ["M4 3H20Q22 3 22 5V15Q22 17 20 17H4Q2 17 2 15V5Q2 3 4 3Z", "M8 21L16 21", "M12 17L12 21"];
8
+ readonly poses: readonly [{}, {}, {}];
9
+ }, {
10
+ readonly name: "wake";
11
+ readonly paths: readonly ["M7 10h10"];
12
+ readonly poses: readonly [{
13
+ readonly opacity: 0;
14
+ }, {}, {
15
+ readonly y: -2;
16
+ }];
17
+ readonly pivot: readonly [12, 10];
18
+ readonly gestures: readonly [null, {
19
+ readonly duration: 0.65;
20
+ readonly repeatAfter: 1.5;
21
+ readonly loop: false;
22
+ readonly frames: readonly [{
23
+ readonly at: 0;
24
+ readonly scaleX: -0.9;
25
+ }, {
26
+ readonly at: 0.6;
27
+ }, {
28
+ readonly at: 1;
29
+ }];
30
+ }, null];
31
+ readonly detail: true;
32
+ }, {
33
+ readonly name: "content";
34
+ readonly paths: readonly ["M7 12h6"];
35
+ readonly poses: readonly [{
36
+ readonly opacity: 0;
37
+ }, {
38
+ readonly opacity: 0;
39
+ }, {}];
40
+ readonly detail: true;
41
+ }];
42
+ };
@@ -0,0 +1,67 @@
1
+ export const monitorStates = ['standby', 'waking', 'awake'];
2
+ // Display power status. A horizontal wake line opens into two content lines inside the stationary monitor.
3
+ // Adapted Lucide geometry; see THIRD_PARTY_NOTICES.md.
4
+ export const monitorArt = {
5
+ name: 'monitor',
6
+ parts: [
7
+ {
8
+ name: 'display',
9
+ paths: [
10
+ 'M4 3H20Q22 3 22 5V15Q22 17 20 17H4Q2 17 2 15V5Q2 3 4 3Z',
11
+ 'M8 21L16 21',
12
+ 'M12 17L12 21',
13
+ ],
14
+ poses: [{}, {}, {}],
15
+ },
16
+ {
17
+ name: 'wake',
18
+ paths: ['M7 10h10'],
19
+ poses: [
20
+ {
21
+ opacity: 0,
22
+ },
23
+ {},
24
+ {
25
+ y: -2,
26
+ },
27
+ ],
28
+ pivot: [12, 10],
29
+ gestures: [
30
+ null,
31
+ {
32
+ duration: 0.65,
33
+ repeatAfter: 1.5,
34
+ loop: false,
35
+ frames: [
36
+ {
37
+ at: 0,
38
+ scaleX: -0.9,
39
+ },
40
+ {
41
+ at: 0.6,
42
+ },
43
+ {
44
+ at: 1,
45
+ },
46
+ ],
47
+ },
48
+ null,
49
+ ],
50
+ detail: true,
51
+ },
52
+ {
53
+ name: 'content',
54
+ paths: ['M7 12h6'],
55
+ poses: [
56
+ {
57
+ opacity: 0,
58
+ },
59
+ {
60
+ opacity: 0,
61
+ },
62
+ {},
63
+ ],
64
+ detail: true,
65
+ },
66
+ ],
67
+ };