weasel-icons 0.3.0 → 0.4.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 (230) hide show
  1. package/README.md +14 -2
  2. package/THIRD_PARTY_NOTICES.md +2 -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/bluetooth/bluetooth-icon.d.ts +5 -0
  16. package/dist/icons/bluetooth/bluetooth-icon.js +9 -0
  17. package/dist/icons/bluetooth/bluetooth-rig.d.ts +53 -0
  18. package/dist/icons/bluetooth/bluetooth-rig.js +86 -0
  19. package/dist/icons/brush/brush-icon.d.ts +5 -0
  20. package/dist/icons/brush/brush-icon.js +9 -0
  21. package/dist/icons/brush/brush-rig.d.ts +67 -0
  22. package/dist/icons/brush/brush-rig.js +103 -0
  23. package/dist/icons/cast/cast-icon.d.ts +5 -0
  24. package/dist/icons/cast/cast-icon.js +9 -0
  25. package/dist/icons/cast/cast-rig.d.ts +57 -0
  26. package/dist/icons/cast/cast-rig.js +88 -0
  27. package/dist/icons/chart-bar/chart-bar-icon.d.ts +5 -0
  28. package/dist/icons/chart-bar/chart-bar-icon.js +9 -0
  29. package/dist/icons/chart-bar/chart-bar-rig.d.ts +79 -0
  30. package/dist/icons/chart-bar/chart-bar-rig.js +124 -0
  31. package/dist/icons/chart-line/chart-line-icon.d.ts +5 -0
  32. package/dist/icons/chart-line/chart-line-icon.js +9 -0
  33. package/dist/icons/chart-line/chart-line-rig.d.ts +50 -0
  34. package/dist/icons/chart-line/chart-line-rig.js +73 -0
  35. package/dist/icons/chart-pie/chart-pie-icon.d.ts +5 -0
  36. package/dist/icons/chart-pie/chart-pie-icon.js +9 -0
  37. package/dist/icons/chart-pie/chart-pie-rig.d.ts +21 -0
  38. package/dist/icons/chart-pie/chart-pie-rig.js +31 -0
  39. package/dist/icons/columns/columns-icon.d.ts +5 -0
  40. package/dist/icons/columns/columns-icon.js +9 -0
  41. package/dist/icons/columns/columns-rig.d.ts +15 -0
  42. package/dist/icons/columns/columns-rig.js +19 -0
  43. package/dist/icons/crop/crop-icon.d.ts +5 -0
  44. package/dist/icons/crop/crop-icon.js +9 -0
  45. package/dist/icons/crop/crop-rig.d.ts +16 -0
  46. package/dist/icons/crop/crop-rig.js +28 -0
  47. package/dist/icons/eraser/eraser-icon.d.ts +5 -0
  48. package/dist/icons/eraser/eraser-icon.js +9 -0
  49. package/dist/icons/eraser/eraser-rig.d.ts +48 -0
  50. package/dist/icons/eraser/eraser-rig.js +76 -0
  51. package/dist/icons/fast-forward/fast-forward-icon.d.ts +5 -0
  52. package/dist/icons/fast-forward/fast-forward-icon.js +9 -0
  53. package/dist/icons/fast-forward/fast-forward-rig.d.ts +48 -0
  54. package/dist/icons/fast-forward/fast-forward-rig.js +78 -0
  55. package/dist/icons/file-check/file-check-icon.d.ts +5 -0
  56. package/dist/icons/file-check/file-check-icon.js +9 -0
  57. package/dist/icons/file-check/file-check-rig.d.ts +57 -0
  58. package/dist/icons/file-check/file-check-rig.js +89 -0
  59. package/dist/icons/file-plus/file-plus-icon.d.ts +5 -0
  60. package/dist/icons/file-plus/file-plus-icon.js +9 -0
  61. package/dist/icons/file-plus/file-plus-rig.d.ts +33 -0
  62. package/dist/icons/file-plus/file-plus-rig.js +56 -0
  63. package/dist/icons/fingerprint/fingerprint-icon.d.ts +5 -0
  64. package/dist/icons/fingerprint/fingerprint-icon.js +9 -0
  65. package/dist/icons/fingerprint/fingerprint-rig.d.ts +61 -0
  66. package/dist/icons/fingerprint/fingerprint-rig.js +102 -0
  67. package/dist/icons/flag/flag-icon.d.ts +5 -0
  68. package/dist/icons/flag/flag-icon.js +9 -0
  69. package/dist/icons/flag/flag-rig.d.ts +35 -0
  70. package/dist/icons/flag/flag-rig.js +54 -0
  71. package/dist/icons/folder-open/folder-open-icon.d.ts +5 -0
  72. package/dist/icons/folder-open/folder-open-icon.js +9 -0
  73. package/dist/icons/folder-open/folder-open-rig.d.ts +15 -0
  74. package/dist/icons/folder-open/folder-open-rig.js +23 -0
  75. package/dist/icons/folder-plus/folder-plus-icon.d.ts +5 -0
  76. package/dist/icons/folder-plus/folder-plus-icon.js +9 -0
  77. package/dist/icons/folder-plus/folder-plus-rig.d.ts +46 -0
  78. package/dist/icons/folder-plus/folder-plus-rig.js +72 -0
  79. package/dist/icons/forward/forward-icon.d.ts +5 -0
  80. package/dist/icons/forward/forward-icon.js +9 -0
  81. package/dist/icons/forward/forward-rig.d.ts +45 -0
  82. package/dist/icons/forward/forward-rig.js +73 -0
  83. package/dist/icons/gift/gift-icon.d.ts +5 -0
  84. package/dist/icons/gift/gift-icon.js +9 -0
  85. package/dist/icons/gift/gift-rig.d.ts +40 -0
  86. package/dist/icons/gift/gift-rig.js +64 -0
  87. package/dist/icons/hard-drive/hard-drive-icon.d.ts +5 -0
  88. package/dist/icons/hard-drive/hard-drive-icon.js +9 -0
  89. package/dist/icons/hard-drive/hard-drive-rig.d.ts +54 -0
  90. package/dist/icons/hard-drive/hard-drive-rig.js +88 -0
  91. package/dist/icons/headphones/headphones-icon.d.ts +5 -0
  92. package/dist/icons/headphones/headphones-icon.js +9 -0
  93. package/dist/icons/headphones/headphones-rig.d.ts +66 -0
  94. package/dist/icons/headphones/headphones-rig.js +102 -0
  95. package/dist/icons/highlighter/highlighter-icon.d.ts +5 -0
  96. package/dist/icons/highlighter/highlighter-icon.js +9 -0
  97. package/dist/icons/highlighter/highlighter-rig.d.ts +37 -0
  98. package/dist/icons/highlighter/highlighter-rig.js +57 -0
  99. package/dist/icons/inbox/inbox-icon.d.ts +5 -0
  100. package/dist/icons/inbox/inbox-icon.js +9 -0
  101. package/dist/icons/inbox/inbox-rig.d.ts +48 -0
  102. package/dist/icons/inbox/inbox-rig.js +73 -0
  103. package/dist/icons/kanban/kanban-icon.d.ts +5 -0
  104. package/dist/icons/kanban/kanban-icon.js +9 -0
  105. package/dist/icons/kanban/kanban-rig.d.ts +19 -0
  106. package/dist/icons/kanban/kanban-rig.js +27 -0
  107. package/dist/icons/monitor/monitor-icon.d.ts +5 -0
  108. package/dist/icons/monitor/monitor-icon.js +9 -0
  109. package/dist/icons/monitor/monitor-rig.d.ts +42 -0
  110. package/dist/icons/monitor/monitor-rig.js +67 -0
  111. package/dist/icons/panel-left/panel-left-icon.d.ts +5 -0
  112. package/dist/icons/panel-left/panel-left-icon.js +9 -0
  113. package/dist/icons/panel-left/panel-left-rig.d.ts +15 -0
  114. package/dist/icons/panel-left/panel-left-rig.js +19 -0
  115. package/dist/icons/panel-right/panel-right-icon.d.ts +5 -0
  116. package/dist/icons/panel-right/panel-right-icon.js +9 -0
  117. package/dist/icons/panel-right/panel-right-rig.d.ts +15 -0
  118. package/dist/icons/panel-right/panel-right-rig.js +19 -0
  119. package/dist/icons/paperclip/paperclip-icon.d.ts +5 -0
  120. package/dist/icons/paperclip/paperclip-icon.js +9 -0
  121. package/dist/icons/paperclip/paperclip-rig.d.ts +28 -0
  122. package/dist/icons/paperclip/paperclip-rig.js +52 -0
  123. package/dist/icons/picture-in-picture/picture-in-picture-icon.d.ts +5 -0
  124. package/dist/icons/picture-in-picture/picture-in-picture-icon.js +9 -0
  125. package/dist/icons/picture-in-picture/picture-in-picture-rig.d.ts +21 -0
  126. package/dist/icons/picture-in-picture/picture-in-picture-rig.js +29 -0
  127. package/dist/icons/power/power-icon.d.ts +5 -0
  128. package/dist/icons/power/power-icon.js +9 -0
  129. package/dist/icons/power/power-rig.d.ts +36 -0
  130. package/dist/icons/power/power-rig.js +56 -0
  131. package/dist/icons/printer/printer-icon.d.ts +5 -0
  132. package/dist/icons/printer/printer-icon.js +9 -0
  133. package/dist/icons/printer/printer-rig.d.ts +55 -0
  134. package/dist/icons/printer/printer-rig.js +82 -0
  135. package/dist/icons/radio/radio-icon.d.ts +5 -0
  136. package/dist/icons/radio/radio-icon.js +9 -0
  137. package/dist/icons/radio/radio-rig.d.ts +53 -0
  138. package/dist/icons/radio/radio-rig.js +83 -0
  139. package/dist/icons/receipt/receipt-icon.d.ts +5 -0
  140. package/dist/icons/receipt/receipt-icon.js +9 -0
  141. package/dist/icons/receipt/receipt-rig.d.ts +65 -0
  142. package/dist/icons/receipt/receipt-rig.js +110 -0
  143. package/dist/icons/redo/redo-icon.d.ts +5 -0
  144. package/dist/icons/redo/redo-icon.js +9 -0
  145. package/dist/icons/redo/redo-rig.d.ts +28 -0
  146. package/dist/icons/redo/redo-rig.js +53 -0
  147. package/dist/icons/repeat/repeat-icon.d.ts +5 -0
  148. package/dist/icons/repeat/repeat-icon.js +9 -0
  149. package/dist/icons/repeat/repeat-rig.d.ts +35 -0
  150. package/dist/icons/repeat/repeat-rig.js +60 -0
  151. package/dist/icons/reply/reply-icon.d.ts +5 -0
  152. package/dist/icons/reply/reply-icon.js +9 -0
  153. package/dist/icons/reply/reply-rig.d.ts +45 -0
  154. package/dist/icons/reply/reply-rig.js +73 -0
  155. package/dist/icons/rewind/rewind-icon.d.ts +5 -0
  156. package/dist/icons/rewind/rewind-icon.js +9 -0
  157. package/dist/icons/rewind/rewind-rig.d.ts +48 -0
  158. package/dist/icons/rewind/rewind-rig.js +78 -0
  159. package/dist/icons/rows/rows-icon.d.ts +5 -0
  160. package/dist/icons/rows/rows-icon.js +9 -0
  161. package/dist/icons/rows/rows-rig.d.ts +15 -0
  162. package/dist/icons/rows/rows-rig.js +19 -0
  163. package/dist/icons/scan-face/scan-face-icon.d.ts +5 -0
  164. package/dist/icons/scan-face/scan-face-icon.js +9 -0
  165. package/dist/icons/scan-face/scan-face-rig.d.ts +50 -0
  166. package/dist/icons/scan-face/scan-face-rig.js +82 -0
  167. package/dist/icons/scan-qr/scan-qr-icon.d.ts +5 -0
  168. package/dist/icons/scan-qr/scan-qr-icon.js +9 -0
  169. package/dist/icons/scan-qr/scan-qr-rig.d.ts +50 -0
  170. package/dist/icons/scan-qr/scan-qr-rig.js +87 -0
  171. package/dist/icons/scissors/scissors-icon.d.ts +5 -0
  172. package/dist/icons/scissors/scissors-icon.js +9 -0
  173. package/dist/icons/scissors/scissors-rig.d.ts +52 -0
  174. package/dist/icons/scissors/scissors-rig.js +76 -0
  175. package/dist/icons/shuffle/shuffle-icon.d.ts +5 -0
  176. package/dist/icons/shuffle/shuffle-icon.js +9 -0
  177. package/dist/icons/shuffle/shuffle-rig.d.ts +32 -0
  178. package/dist/icons/shuffle/shuffle-rig.js +56 -0
  179. package/dist/icons/skip-back/skip-back-icon.d.ts +5 -0
  180. package/dist/icons/skip-back/skip-back-icon.js +9 -0
  181. package/dist/icons/skip-back/skip-back-rig.d.ts +31 -0
  182. package/dist/icons/skip-back/skip-back-rig.js +53 -0
  183. package/dist/icons/skip-forward/skip-forward-icon.d.ts +5 -0
  184. package/dist/icons/skip-forward/skip-forward-icon.js +9 -0
  185. package/dist/icons/skip-forward/skip-forward-rig.d.ts +31 -0
  186. package/dist/icons/skip-forward/skip-forward-rig.js +53 -0
  187. package/dist/icons/smartphone/smartphone-icon.d.ts +5 -0
  188. package/dist/icons/smartphone/smartphone-icon.js +9 -0
  189. package/dist/icons/smartphone/smartphone-rig.d.ts +39 -0
  190. package/dist/icons/smartphone/smartphone-rig.js +57 -0
  191. package/dist/icons/table/table-icon.d.ts +5 -0
  192. package/dist/icons/table/table-icon.js +9 -0
  193. package/dist/icons/table/table-rig.d.ts +18 -0
  194. package/dist/icons/table/table-rig.js +26 -0
  195. package/dist/icons/tag/tag-icon.d.ts +5 -0
  196. package/dist/icons/tag/tag-icon.js +9 -0
  197. package/dist/icons/tag/tag-rig.d.ts +27 -0
  198. package/dist/icons/tag/tag-rig.js +42 -0
  199. package/dist/icons/thumbs-down/thumbs-down-icon.d.ts +5 -0
  200. package/dist/icons/thumbs-down/thumbs-down-icon.js +9 -0
  201. package/dist/icons/thumbs-down/thumbs-down-rig.d.ts +30 -0
  202. package/dist/icons/thumbs-down/thumbs-down-rig.js +53 -0
  203. package/dist/icons/thumbs-up/thumbs-up-icon.d.ts +5 -0
  204. package/dist/icons/thumbs-up/thumbs-up-icon.js +9 -0
  205. package/dist/icons/thumbs-up/thumbs-up-rig.d.ts +33 -0
  206. package/dist/icons/thumbs-up/thumbs-up-rig.js +57 -0
  207. package/dist/icons/ticket/ticket-icon.d.ts +5 -0
  208. package/dist/icons/ticket/ticket-icon.js +9 -0
  209. package/dist/icons/ticket/ticket-rig.d.ts +30 -0
  210. package/dist/icons/ticket/ticket-rig.js +43 -0
  211. package/dist/icons/trending-up/trending-up-icon.d.ts +5 -0
  212. package/dist/icons/trending-up/trending-up-icon.js +9 -0
  213. package/dist/icons/trending-up/trending-up-rig.d.ts +44 -0
  214. package/dist/icons/trending-up/trending-up-rig.js +68 -0
  215. package/dist/icons/undo/undo-icon.d.ts +5 -0
  216. package/dist/icons/undo/undo-icon.js +9 -0
  217. package/dist/icons/undo/undo-rig.d.ts +28 -0
  218. package/dist/icons/undo/undo-rig.js +53 -0
  219. package/dist/icons/user-minus/user-minus-icon.d.ts +5 -0
  220. package/dist/icons/user-minus/user-minus-icon.js +9 -0
  221. package/dist/icons/user-minus/user-minus-rig.d.ts +31 -0
  222. package/dist/icons/user-minus/user-minus-rig.js +51 -0
  223. package/dist/icons/user-plus/user-plus-icon.d.ts +5 -0
  224. package/dist/icons/user-plus/user-plus-icon.js +9 -0
  225. package/dist/icons/user-plus/user-plus-rig.d.ts +56 -0
  226. package/dist/icons/user-plus/user-plus-rig.js +85 -0
  227. package/dist/index.d.ts +56 -0
  228. package/dist/index.js +56 -0
  229. package/dist/shared/icon-colors.d.ts +56 -0
  230. package/package.json +281 -1
@@ -0,0 +1,56 @@
1
+ export const filePlusStates = ['idle', 'creating', 'created'];
2
+ // Create document command. The folded document rises a little; the cross draws vertically then holds.
3
+ // Adapted Lucide geometry; see THIRD_PARTY_NOTICES.md.
4
+ export const filePlusArt = {
5
+ name: 'file-plus',
6
+ parts: [
7
+ {
8
+ name: 'page',
9
+ paths: [
10
+ 'M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z',
11
+ 'M14 2v5a1 1 0 0 0 1 1h5',
12
+ ],
13
+ poses: [
14
+ {},
15
+ {
16
+ y: -0.6,
17
+ },
18
+ {},
19
+ ],
20
+ },
21
+ {
22
+ name: 'cross',
23
+ paths: ['M9 15h6', 'M12 18v-6'],
24
+ poses: [
25
+ {},
26
+ {
27
+ scaleY: 0.45,
28
+ },
29
+ {},
30
+ ],
31
+ pivot: [12, 15],
32
+ traceLength: 6,
33
+ gestures: [
34
+ null,
35
+ null,
36
+ {
37
+ duration: 0.65,
38
+ repeatAfter: 1.5,
39
+ loop: false,
40
+ frames: [
41
+ {
42
+ at: 0,
43
+ draw: -1,
44
+ },
45
+ {
46
+ at: 0.8,
47
+ },
48
+ {
49
+ at: 1,
50
+ },
51
+ ],
52
+ },
53
+ ],
54
+ },
55
+ ],
56
+ };
@@ -0,0 +1,5 @@
1
+ import type { StatefulIconProps } from "../../shared/icon-types.js";
2
+ import { type FingerprintState } from "./fingerprint-rig.js";
3
+ export { fingerprintStates, type FingerprintState } from "./fingerprint-rig.js";
4
+ export type FingerprintIconProps = StatefulIconProps<FingerprintState>;
5
+ export declare const FingerprintIcon: import("react").NamedExoticComponent<FingerprintIconProps>;
@@ -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 { fingerprintArt, fingerprintStates } from "./fingerprint-rig.js";
6
+ export { fingerprintStates } from "./fingerprint-rig.js";
7
+ export const FingerprintIcon = memo(function FingerprintIcon(props) {
8
+ return _jsx(ArticulatedIcon, { art: fingerprintArt, states: fingerprintStates, ...props });
9
+ });
@@ -0,0 +1,61 @@
1
+ export declare const fingerprintStates: readonly ["idle", "verifying", "verified"];
2
+ export type FingerprintState = (typeof fingerprintStates)[number];
3
+ export declare const fingerprintArt: {
4
+ readonly name: "fingerprint";
5
+ readonly parts: readonly [{
6
+ readonly name: "outer-ridges";
7
+ readonly paths: readonly ["M17.29 21.02c.12-.6.43-2.3.5-3.02", "M2 12a10 10 0 0 1 18-6", "M2 16h.01", "M21.8 16c.2-2 .131-5.354 0-6", "M5 19.5C5.5 18 6 15 6 12a6 6 0 0 1 .34-2", "M8.65 22c.21-.66.45-1.32.57-2", "M9 6.8a6 6 0 0 1 9 5.2v2"];
8
+ readonly poses: readonly [{
9
+ readonly opacity: 0.65;
10
+ }, {}, {}];
11
+ readonly traceLength: 35;
12
+ readonly gestures: readonly [null, {
13
+ readonly duration: 1.1;
14
+ readonly repeatAfter: 2.2;
15
+ readonly loop: true;
16
+ readonly frames: readonly [{
17
+ readonly at: 0;
18
+ readonly draw: -0.9;
19
+ }, {
20
+ readonly at: 0.75;
21
+ }, {
22
+ readonly at: 1;
23
+ }];
24
+ }, null];
25
+ }, {
26
+ readonly name: "core";
27
+ readonly paths: readonly ["M12 10a2 2 0 0 0-2 2c0 1.02-.1 2.51-.26 4", "M14 13.12c0 2.38 0 6.38-1 8.88"];
28
+ readonly poses: readonly [{
29
+ readonly opacity: 0.65;
30
+ }, {}, {}];
31
+ readonly traceLength: 15;
32
+ readonly gestures: readonly [null, {
33
+ readonly duration: 1.1;
34
+ readonly repeatAfter: 2.2;
35
+ readonly loop: true;
36
+ readonly frames: readonly [{
37
+ readonly at: 0;
38
+ readonly draw: -1;
39
+ }, {
40
+ readonly at: 0.35;
41
+ readonly draw: -1;
42
+ }, {
43
+ readonly at: 0.9;
44
+ }, {
45
+ readonly at: 1;
46
+ }];
47
+ }, {
48
+ readonly duration: 0.65;
49
+ readonly repeatAfter: 1.5;
50
+ readonly loop: false;
51
+ readonly frames: readonly [{
52
+ readonly at: 0;
53
+ }, {
54
+ readonly at: 0.4;
55
+ readonly y: -0.4;
56
+ }, {
57
+ readonly at: 1;
58
+ }];
59
+ }];
60
+ }];
61
+ };
@@ -0,0 +1,102 @@
1
+ export const fingerprintStates = ['idle', 'verifying', 'verified'];
2
+ // Fingerprint authentication status. Ridges reveal inward in staggered traces; the central ridge stays crisp only after host confirmation.
3
+ // Adapted Lucide geometry; see THIRD_PARTY_NOTICES.md.
4
+ export const fingerprintArt = {
5
+ name: 'fingerprint',
6
+ parts: [
7
+ {
8
+ name: 'outer-ridges',
9
+ paths: [
10
+ 'M17.29 21.02c.12-.6.43-2.3.5-3.02',
11
+ 'M2 12a10 10 0 0 1 18-6',
12
+ 'M2 16h.01',
13
+ 'M21.8 16c.2-2 .131-5.354 0-6',
14
+ 'M5 19.5C5.5 18 6 15 6 12a6 6 0 0 1 .34-2',
15
+ 'M8.65 22c.21-.66.45-1.32.57-2',
16
+ 'M9 6.8a6 6 0 0 1 9 5.2v2',
17
+ ],
18
+ poses: [
19
+ {
20
+ opacity: 0.65,
21
+ },
22
+ {},
23
+ {},
24
+ ],
25
+ traceLength: 35,
26
+ gestures: [
27
+ null,
28
+ {
29
+ duration: 1.1,
30
+ repeatAfter: 2.2,
31
+ loop: true,
32
+ frames: [
33
+ {
34
+ at: 0,
35
+ draw: -0.9,
36
+ },
37
+ {
38
+ at: 0.75,
39
+ },
40
+ {
41
+ at: 1,
42
+ },
43
+ ],
44
+ },
45
+ null,
46
+ ],
47
+ },
48
+ {
49
+ name: 'core',
50
+ paths: ['M12 10a2 2 0 0 0-2 2c0 1.02-.1 2.51-.26 4', 'M14 13.12c0 2.38 0 6.38-1 8.88'],
51
+ poses: [
52
+ {
53
+ opacity: 0.65,
54
+ },
55
+ {},
56
+ {},
57
+ ],
58
+ traceLength: 15,
59
+ gestures: [
60
+ null,
61
+ {
62
+ duration: 1.1,
63
+ repeatAfter: 2.2,
64
+ loop: true,
65
+ frames: [
66
+ {
67
+ at: 0,
68
+ draw: -1,
69
+ },
70
+ {
71
+ at: 0.35,
72
+ draw: -1,
73
+ },
74
+ {
75
+ at: 0.9,
76
+ },
77
+ {
78
+ at: 1,
79
+ },
80
+ ],
81
+ },
82
+ {
83
+ duration: 0.65,
84
+ repeatAfter: 1.5,
85
+ loop: false,
86
+ frames: [
87
+ {
88
+ at: 0,
89
+ },
90
+ {
91
+ at: 0.4,
92
+ y: -0.4,
93
+ },
94
+ {
95
+ at: 1,
96
+ },
97
+ ],
98
+ },
99
+ ],
100
+ },
101
+ ],
102
+ };
@@ -0,0 +1,5 @@
1
+ import type { StatefulIconProps } from "../../shared/icon-types.js";
2
+ import { type FlagState } from "./flag-rig.js";
3
+ export { flagStates, type FlagState } from "./flag-rig.js";
4
+ export type FlagIconProps = StatefulIconProps<FlagState>;
5
+ export declare const FlagIcon: import("react").NamedExoticComponent<FlagIconProps>;
@@ -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 { flagArt, flagStates } from "./flag-rig.js";
6
+ export { flagStates } from "./flag-rig.js";
7
+ export const FlagIcon = memo(function FlagIcon(props) {
8
+ return _jsx(ArticulatedIcon, { art: flagArt, states: flagStates, ...props });
9
+ });
@@ -0,0 +1,35 @@
1
+ export declare const flagStates: readonly ["idle", "flagging", "flagged"];
2
+ export type FlagState = (typeof flagStates)[number];
3
+ export declare const flagArt: {
4
+ readonly name: "flag";
5
+ readonly parts: readonly [{
6
+ readonly name: "pole";
7
+ readonly paths: readonly ["M4 3 L4 22"];
8
+ readonly poses: readonly [{}, {}, {}];
9
+ }, {
10
+ readonly name: "cloth";
11
+ readonly paths: readonly ["M4 4 C8 0 12 7 20 4 L20 14 C12 18 8 11 4 15 Z"];
12
+ readonly pathOffsets: readonly [readonly [0, 0, 0, 4, 1, -5, 0, 2, 0, 2, 1, -5, 0, 5, 0, 0]];
13
+ readonly poses: readonly [{
14
+ readonly opacity: 0.55;
15
+ }, {
16
+ readonly flex: 0.35;
17
+ }, {}];
18
+ readonly gestures: readonly [null, null, {
19
+ readonly duration: 0.8;
20
+ readonly repeatAfter: 1.5;
21
+ readonly loop: false;
22
+ readonly frames: readonly [{
23
+ readonly at: 0;
24
+ }, {
25
+ readonly at: 0.28;
26
+ readonly flex: 1;
27
+ }, {
28
+ readonly at: 0.62;
29
+ readonly flex: -0.3;
30
+ }, {
31
+ readonly at: 1;
32
+ }];
33
+ }];
34
+ }];
35
+ };
@@ -0,0 +1,54 @@
1
+ export const flagStates = ['idle', 'flagging', 'flagged'];
2
+ // One cloth ripple crosses a stationary pole attachment, then the flag holds a clear stable outline.
3
+ // Adapted Lucide geometry; see THIRD_PARTY_NOTICES.md.
4
+ export const flagArt = {
5
+ name: 'flag',
6
+ parts: [
7
+ {
8
+ name: 'pole',
9
+ paths: ['M4 3 L4 22'],
10
+ poses: [{}, {}, {}],
11
+ },
12
+ {
13
+ name: 'cloth',
14
+ paths: ['M4 4 C8 0 12 7 20 4 L20 14 C12 18 8 11 4 15 Z'],
15
+ pathOffsets: [
16
+ [0.0, 0.0, 0.0, 4.0, 1.0, -5.0, 0.0, 2.0, 0.0, 2.0, 1.0, -5.0, 0.0, 5.0, 0.0, 0.0],
17
+ ],
18
+ poses: [
19
+ {
20
+ opacity: 0.55,
21
+ },
22
+ {
23
+ flex: 0.35,
24
+ },
25
+ {},
26
+ ],
27
+ gestures: [
28
+ null,
29
+ null,
30
+ {
31
+ duration: 0.8,
32
+ repeatAfter: 1.5,
33
+ loop: false,
34
+ frames: [
35
+ {
36
+ at: 0,
37
+ },
38
+ {
39
+ at: 0.28,
40
+ flex: 1,
41
+ },
42
+ {
43
+ at: 0.62,
44
+ flex: -0.3,
45
+ },
46
+ {
47
+ at: 1,
48
+ },
49
+ ],
50
+ },
51
+ ],
52
+ },
53
+ ],
54
+ };
@@ -0,0 +1,5 @@
1
+ import type { StatefulIconProps } from "../../shared/icon-types.js";
2
+ import { type FolderOpenState } from "./folder-open-rig.js";
3
+ export { folderOpenStates, type FolderOpenState } from "./folder-open-rig.js";
4
+ export type FolderOpenIconProps = StatefulIconProps<FolderOpenState>;
5
+ export declare const FolderOpenIcon: import("react").NamedExoticComponent<FolderOpenIconProps>;
@@ -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 { folderOpenArt, folderOpenStates } from "./folder-open-rig.js";
6
+ export { folderOpenStates } from "./folder-open-rig.js";
7
+ export const FolderOpenIcon = memo(function FolderOpenIcon(props) {
8
+ return _jsx(ArticulatedIcon, { art: folderOpenArt, states: folderOpenStates, ...props });
9
+ });
@@ -0,0 +1,15 @@
1
+ export declare const folderOpenStates: readonly ["closed", "opening", "open"];
2
+ export type FolderOpenState = (typeof folderOpenStates)[number];
3
+ export declare const folderOpenArt: {
4
+ readonly name: "folder-open";
5
+ readonly parts: readonly [{
6
+ readonly name: "back";
7
+ readonly paths: readonly ["M3 20V5a2 2 0 0 1 2-2h3l3 3h8a2 2 0 0 1 2 2v2"];
8
+ readonly poses: readonly [{}, {}, {}];
9
+ }, {
10
+ readonly name: "front";
11
+ readonly paths: readonly ["M3 20L4 10Q4 9 5 9H19Q21 9 21 11L21 18Q21 20 19 20Z"];
12
+ readonly poses: readonly [{}, {}, {}];
13
+ readonly pathStates: readonly [readonly ["M3 20L4 10Q4 9 5 9H19Q21 9 21 11L21 18Q21 20 19 20Z"], readonly ["M3 20L6 11Q6 10 7 10H20Q22 10 21.5 12L20 18Q20 20 18 20Z"], readonly ["M3 20L7 12Q7 11 8 11H21Q23 11 22 13L20 18Q20 20 18 20Z"]];
14
+ }];
15
+ };
@@ -0,0 +1,23 @@
1
+ export const folderOpenStates = ['closed', 'opening', 'open'];
2
+ // Folder contents disclosure. The front flap leans forward from the fixed bottom edge; back and tab stay planted.
3
+ // Adapted Lucide geometry; see THIRD_PARTY_NOTICES.md.
4
+ export const folderOpenArt = {
5
+ name: 'folder-open',
6
+ parts: [
7
+ {
8
+ name: 'back',
9
+ paths: ['M3 20V5a2 2 0 0 1 2-2h3l3 3h8a2 2 0 0 1 2 2v2'],
10
+ poses: [{}, {}, {}],
11
+ },
12
+ {
13
+ name: 'front',
14
+ paths: ['M3 20L4 10Q4 9 5 9H19Q21 9 21 11L21 18Q21 20 19 20Z'],
15
+ poses: [{}, {}, {}],
16
+ pathStates: [
17
+ ['M3 20L4 10Q4 9 5 9H19Q21 9 21 11L21 18Q21 20 19 20Z'],
18
+ ['M3 20L6 11Q6 10 7 10H20Q22 10 21.5 12L20 18Q20 20 18 20Z'],
19
+ ['M3 20L7 12Q7 11 8 11H21Q23 11 22 13L20 18Q20 20 18 20Z'],
20
+ ],
21
+ },
22
+ ],
23
+ };
@@ -0,0 +1,5 @@
1
+ import type { StatefulIconProps } from "../../shared/icon-types.js";
2
+ import { type FolderPlusState } from "./folder-plus-rig.js";
3
+ export { folderPlusStates, type FolderPlusState } from "./folder-plus-rig.js";
4
+ export type FolderPlusIconProps = StatefulIconProps<FolderPlusState>;
5
+ export declare const FolderPlusIcon: import("react").NamedExoticComponent<FolderPlusIconProps>;
@@ -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 { folderPlusArt, folderPlusStates } from "./folder-plus-rig.js";
6
+ export { folderPlusStates } from "./folder-plus-rig.js";
7
+ export const FolderPlusIcon = memo(function FolderPlusIcon(props) {
8
+ return _jsx(ArticulatedIcon, { art: folderPlusArt, states: folderPlusStates, ...props });
9
+ });
@@ -0,0 +1,46 @@
1
+ export declare const folderPlusStates: readonly ["idle", "creating", "created"];
2
+ export type FolderPlusState = (typeof folderPlusStates)[number];
3
+ export declare const folderPlusArt: {
4
+ readonly name: "folder-plus";
5
+ readonly parts: readonly [{
6
+ readonly name: "folder";
7
+ readonly paths: readonly ["M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z"];
8
+ readonly poses: readonly [{}, {}, {
9
+ readonly y: -0.5;
10
+ }];
11
+ }, {
12
+ readonly name: "plus";
13
+ readonly paths: readonly ["M12 10v6", "M9 13h6"];
14
+ readonly poses: readonly [{}, {
15
+ readonly scaleX: 0.8;
16
+ readonly scaleY: 0.8;
17
+ }, {}];
18
+ readonly pivot: readonly [12, 13];
19
+ readonly gestures: readonly [null, {
20
+ readonly duration: 0.65;
21
+ readonly repeatAfter: 1.5;
22
+ readonly loop: false;
23
+ readonly frames: readonly [{
24
+ readonly at: 0;
25
+ }, {
26
+ readonly at: 0.4;
27
+ readonly angle: -10;
28
+ }, {
29
+ readonly at: 1;
30
+ }];
31
+ }, {
32
+ readonly duration: 0.65;
33
+ readonly repeatAfter: 1.5;
34
+ readonly loop: false;
35
+ readonly frames: readonly [{
36
+ readonly at: 0;
37
+ readonly draw: -1;
38
+ }, {
39
+ readonly at: 0.8;
40
+ }, {
41
+ readonly at: 1;
42
+ }];
43
+ }];
44
+ readonly traceLength: 6;
45
+ }];
46
+ };
@@ -0,0 +1,72 @@
1
+ export const folderPlusStates = ['idle', 'creating', 'created'];
2
+ // Create folder command. The cross compresses then draws back inside a stable folder; confirmed folder settles one pixel up.
3
+ // Adapted Lucide geometry; see THIRD_PARTY_NOTICES.md.
4
+ export const folderPlusArt = {
5
+ name: 'folder-plus',
6
+ parts: [
7
+ {
8
+ name: 'folder',
9
+ paths: [
10
+ 'M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z',
11
+ ],
12
+ poses: [
13
+ {},
14
+ {},
15
+ {
16
+ y: -0.5,
17
+ },
18
+ ],
19
+ },
20
+ {
21
+ name: 'plus',
22
+ paths: ['M12 10v6', 'M9 13h6'],
23
+ poses: [
24
+ {},
25
+ {
26
+ scaleX: 0.8,
27
+ scaleY: 0.8,
28
+ },
29
+ {},
30
+ ],
31
+ pivot: [12, 13],
32
+ gestures: [
33
+ null,
34
+ {
35
+ duration: 0.65,
36
+ repeatAfter: 1.5,
37
+ loop: false,
38
+ frames: [
39
+ {
40
+ at: 0,
41
+ },
42
+ {
43
+ at: 0.4,
44
+ angle: -10,
45
+ },
46
+ {
47
+ at: 1,
48
+ },
49
+ ],
50
+ },
51
+ {
52
+ duration: 0.65,
53
+ repeatAfter: 1.5,
54
+ loop: false,
55
+ frames: [
56
+ {
57
+ at: 0,
58
+ draw: -1,
59
+ },
60
+ {
61
+ at: 0.8,
62
+ },
63
+ {
64
+ at: 1,
65
+ },
66
+ ],
67
+ },
68
+ ],
69
+ traceLength: 6,
70
+ },
71
+ ],
72
+ };
@@ -0,0 +1,5 @@
1
+ import type { StatefulIconProps } from "../../shared/icon-types.js";
2
+ import { type ForwardState } from "./forward-rig.js";
3
+ export { forwardStates, type ForwardState } from "./forward-rig.js";
4
+ export type ForwardIconProps = StatefulIconProps<ForwardState>;
5
+ export declare const ForwardIcon: import("react").NamedExoticComponent<ForwardIconProps>;
@@ -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 { forwardArt, forwardStates } from "./forward-rig.js";
6
+ export { forwardStates } from "./forward-rig.js";
7
+ export const ForwardIcon = memo(function ForwardIcon(props) {
8
+ return _jsx(ArticulatedIcon, { art: forwardArt, states: forwardStates, ...props });
9
+ });
@@ -0,0 +1,45 @@
1
+ export declare const forwardStates: readonly ["idle", "opening", "composing"];
2
+ export type ForwardState = (typeof forwardStates)[number];
3
+ export declare const forwardArt: {
4
+ readonly name: "forward";
5
+ readonly parts: readonly [{
6
+ readonly name: "shaft";
7
+ readonly paths: readonly ["M4 18 L4 16 C4 13.791 5.791 12 8 12 L20 12"];
8
+ readonly pathOffsets: readonly [readonly [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0]];
9
+ readonly poses: readonly [{}, {
10
+ readonly flex: 0.6;
11
+ }, {}];
12
+ readonly gestures: readonly [null, null, {
13
+ readonly duration: 0.8;
14
+ readonly repeatAfter: 1.5;
15
+ readonly loop: false;
16
+ readonly frames: readonly [{
17
+ readonly at: 0;
18
+ readonly flex: 1;
19
+ }, {
20
+ readonly at: 0.68;
21
+ }, {
22
+ readonly at: 1;
23
+ }];
24
+ }];
25
+ }, {
26
+ readonly name: "head";
27
+ readonly paths: readonly ["M15 17 L20 12 L15 7"];
28
+ readonly poses: readonly [{}, {
29
+ readonly x: -1.2;
30
+ }, {}];
31
+ readonly gestures: readonly [null, null, {
32
+ readonly duration: 0.8;
33
+ readonly repeatAfter: 1.5;
34
+ readonly loop: false;
35
+ readonly frames: readonly [{
36
+ readonly at: 0;
37
+ readonly x: -2;
38
+ }, {
39
+ readonly at: 0.68;
40
+ }, {
41
+ readonly at: 1;
42
+ }];
43
+ }];
44
+ }];
45
+ };
@@ -0,0 +1,73 @@
1
+ export const forwardStates = ['idle', 'opening', 'composing'];
2
+ // The arrowhead extends right from its connected shaft while the source-side bend stays planted, then rests at full reach.
3
+ // Adapted Lucide geometry; see THIRD_PARTY_NOTICES.md.
4
+ export const forwardArt = {
5
+ name: 'forward',
6
+ parts: [
7
+ {
8
+ name: 'shaft',
9
+ paths: ['M4 18 L4 16 C4 13.791 5.791 12 8 12 L20 12'],
10
+ pathOffsets: [[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -2.0, 0.0]],
11
+ poses: [
12
+ {},
13
+ {
14
+ flex: 0.6,
15
+ },
16
+ {},
17
+ ],
18
+ gestures: [
19
+ null,
20
+ null,
21
+ {
22
+ duration: 0.8,
23
+ repeatAfter: 1.5,
24
+ loop: false,
25
+ frames: [
26
+ {
27
+ at: 0,
28
+ flex: 1,
29
+ },
30
+ {
31
+ at: 0.68,
32
+ },
33
+ {
34
+ at: 1,
35
+ },
36
+ ],
37
+ },
38
+ ],
39
+ },
40
+ {
41
+ name: 'head',
42
+ paths: ['M15 17 L20 12 L15 7'],
43
+ poses: [
44
+ {},
45
+ {
46
+ x: -1.2,
47
+ },
48
+ {},
49
+ ],
50
+ gestures: [
51
+ null,
52
+ null,
53
+ {
54
+ duration: 0.8,
55
+ repeatAfter: 1.5,
56
+ loop: false,
57
+ frames: [
58
+ {
59
+ at: 0,
60
+ x: -2,
61
+ },
62
+ {
63
+ at: 0.68,
64
+ },
65
+ {
66
+ at: 1,
67
+ },
68
+ ],
69
+ },
70
+ ],
71
+ },
72
+ ],
73
+ };