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,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 { tableArt, tableStates } from "./table-rig.js";
6
+ export { tableStates } from "./table-rig.js";
7
+ export const TableIcon = memo(function TableIcon(props) {
8
+ return _jsx(ArticulatedIcon, { art: tableArt, states: tableStates, ...props });
9
+ });
@@ -0,0 +1,18 @@
1
+ export declare const tableStates: readonly ["idle", "row-selected", "column-selected"];
2
+ export type TableState = (typeof tableStates)[number];
3
+ export declare const tableArt: {
4
+ readonly name: "table";
5
+ readonly parts: readonly [{
6
+ readonly name: "table";
7
+ readonly paths: readonly ["M3 9h18", "M9 3v18", "M5 3H19Q21 3 21 5V19Q21 21 19 21H5Q3 21 3 19V5Q3 3 5 3Z"];
8
+ readonly poses: readonly [{}, {}, {}];
9
+ }, {
10
+ readonly name: "selection";
11
+ readonly paths: readonly ["M11 11H19V14H11Z"];
12
+ readonly poses: readonly [{
13
+ readonly opacity: 0;
14
+ }, {}, {}];
15
+ readonly accent: true;
16
+ readonly pathStates: readonly [readonly ["M11 11H19V14H11Z"], readonly ["M11 11H19V14H11Z"], readonly ["M11 11H14V19H11Z"]];
17
+ }];
18
+ };
@@ -0,0 +1,26 @@
1
+ export const tableStates = ['idle', 'row-selected', 'column-selected'];
2
+ // Data table selection. A small inset outline reshapes from a row into a column; the table stays stationary.
3
+ // Adapted Lucide geometry; see THIRD_PARTY_NOTICES.md.
4
+ export const tableArt = {
5
+ name: 'table',
6
+ parts: [
7
+ {
8
+ name: 'table',
9
+ paths: ['M3 9h18', 'M9 3v18', 'M5 3H19Q21 3 21 5V19Q21 21 19 21H5Q3 21 3 19V5Q3 3 5 3Z'],
10
+ poses: [{}, {}, {}],
11
+ },
12
+ {
13
+ name: 'selection',
14
+ paths: ['M11 11H19V14H11Z'],
15
+ poses: [
16
+ {
17
+ opacity: 0,
18
+ },
19
+ {},
20
+ {},
21
+ ],
22
+ accent: true,
23
+ pathStates: [['M11 11H19V14H11Z'], ['M11 11H19V14H11Z'], ['M11 11H14V19H11Z']],
24
+ },
25
+ ],
26
+ };
@@ -0,0 +1,5 @@
1
+ import type { StatefulIconProps } from "../../shared/icon-types.js";
2
+ import { type TagState } from "./tag-rig.js";
3
+ export { tagStates, type TagState } from "./tag-rig.js";
4
+ export type TagIconProps = StatefulIconProps<TagState>;
5
+ export declare const TagIcon: import("react").NamedExoticComponent<TagIconProps>;
@@ -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 { tagArt, tagStates } from "./tag-rig.js";
6
+ export { tagStates } from "./tag-rig.js";
7
+ export const TagIcon = memo(function TagIcon(props) {
8
+ return _jsx(ArticulatedIcon, { art: tagArt, states: tagStates, ...props });
9
+ });
@@ -0,0 +1,27 @@
1
+ export declare const tagStates: readonly ["idle", "applying", "applied"];
2
+ export type TagState = (typeof tagStates)[number];
3
+ export declare const tagArt: {
4
+ readonly name: "tag";
5
+ readonly parts: readonly [{
6
+ readonly name: "tag";
7
+ readonly paths: readonly ["M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z", "M7 7.5a0.5 0.5 0 1 0 1 0a0.5 0.5 0 1 0 -1 0"];
8
+ readonly poses: readonly [{}, {}, {}];
9
+ readonly pivot: readonly [7.5, 7.5];
10
+ readonly gestures: readonly [null, null, {
11
+ readonly duration: 0.8;
12
+ readonly repeatAfter: 1.5;
13
+ readonly loop: false;
14
+ readonly frames: readonly [{
15
+ readonly at: 0;
16
+ }, {
17
+ readonly at: 0.3;
18
+ readonly angle: -9;
19
+ }, {
20
+ readonly at: 0.62;
21
+ readonly angle: 2.5;
22
+ }, {
23
+ readonly at: 1;
24
+ }];
25
+ }];
26
+ }];
27
+ };
@@ -0,0 +1,42 @@
1
+ export const tagStates = ['idle', 'applying', 'applied'];
2
+ // The rigid tag swings from its fixed punched hole once, crosses rest softly, then settles.
3
+ // Adapted Lucide geometry; see THIRD_PARTY_NOTICES.md.
4
+ export const tagArt = {
5
+ name: 'tag',
6
+ parts: [
7
+ {
8
+ name: 'tag',
9
+ paths: [
10
+ 'M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z',
11
+ 'M7 7.5a0.5 0.5 0 1 0 1 0a0.5 0.5 0 1 0 -1 0',
12
+ ],
13
+ poses: [{}, {}, {}],
14
+ pivot: [7.5, 7.5],
15
+ gestures: [
16
+ null,
17
+ null,
18
+ {
19
+ duration: 0.8,
20
+ repeatAfter: 1.5,
21
+ loop: false,
22
+ frames: [
23
+ {
24
+ at: 0,
25
+ },
26
+ {
27
+ at: 0.3,
28
+ angle: -9,
29
+ },
30
+ {
31
+ at: 0.62,
32
+ angle: 2.5,
33
+ },
34
+ {
35
+ at: 1,
36
+ },
37
+ ],
38
+ },
39
+ ],
40
+ },
41
+ ],
42
+ };
@@ -0,0 +1,5 @@
1
+ import type { StatefulIconProps } from "../../shared/icon-types.js";
2
+ import { type ThumbsDownState } from "./thumbs-down-rig.js";
3
+ export { thumbsDownStates, type ThumbsDownState } from "./thumbs-down-rig.js";
4
+ export type ThumbsDownIconProps = StatefulIconProps<ThumbsDownState>;
5
+ export declare const ThumbsDownIcon: import("react").NamedExoticComponent<ThumbsDownIconProps>;
@@ -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 { thumbsDownArt, thumbsDownStates } from "./thumbs-down-rig.js";
6
+ export { thumbsDownStates } from "./thumbs-down-rig.js";
7
+ export const ThumbsDownIcon = memo(function ThumbsDownIcon(props) {
8
+ return _jsx(ArticulatedIcon, { art: thumbsDownArt, states: thumbsDownStates, ...props });
9
+ });
@@ -0,0 +1,30 @@
1
+ export declare const thumbsDownStates: readonly ["idle", "reacting", "selected"];
2
+ export type ThumbsDownState = (typeof thumbsDownStates)[number];
3
+ export declare const thumbsDownArt: {
4
+ readonly name: "thumbs-down";
5
+ readonly parts: readonly [{
6
+ readonly name: "cuff";
7
+ readonly paths: readonly ["M17 14 H20 C21.1 14 22 13.1 22 12 V4 C22 2.9 21.1 2 20 2 H17 Z"];
8
+ readonly poses: readonly [{}, {}, {}];
9
+ }, {
10
+ readonly name: "hand";
11
+ readonly paths: readonly ["M17 14 C16.35 14 15.79 14.43 15.45 15.11 L12 22 C9.9 22 8.5 20.15 9 18.12 L10 14 H4.17 C2.84 14 1.88 12.73 2.25 11.44 L4.58 3.44 C4.83 2.58 5.62 2 6.5 2 H17"];
12
+ readonly pathOffsets: readonly [readonly [0, 0, 0, 0, 0, 0, 0, 0, 0.2, -1.7, 0.2, -1.7, 0.7, -1.15, 0.7, -0.82, 0.5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]];
13
+ readonly poses: readonly [{}, {
14
+ readonly flex: 0.45;
15
+ }, {}];
16
+ readonly gestures: readonly [null, null, {
17
+ readonly duration: 0.8;
18
+ readonly repeatAfter: 1.5;
19
+ readonly loop: false;
20
+ readonly frames: readonly [{
21
+ readonly at: 0;
22
+ readonly flex: 1;
23
+ }, {
24
+ readonly at: 0.52;
25
+ }, {
26
+ readonly at: 1;
27
+ }];
28
+ }];
29
+ }];
30
+ };
@@ -0,0 +1,53 @@
1
+ export const thumbsDownStates = ['idle', 'reacting', 'selected'];
2
+ // The thumb extends downward from a tucked pose while the palm and cuff remain planted; a firm quiet stop avoids a mocking shake.
3
+ // Adapted Lucide geometry; see THIRD_PARTY_NOTICES.md.
4
+ export const thumbsDownArt = {
5
+ name: 'thumbs-down',
6
+ parts: [
7
+ {
8
+ name: 'cuff',
9
+ paths: ['M17 14 H20 C21.1 14 22 13.1 22 12 V4 C22 2.9 21.1 2 20 2 H17 Z'],
10
+ poses: [{}, {}, {}],
11
+ },
12
+ {
13
+ name: 'hand',
14
+ paths: [
15
+ 'M17 14 C16.35 14 15.79 14.43 15.45 15.11 L12 22 C9.9 22 8.5 20.15 9 18.12 L10 14 H4.17 C2.84 14 1.88 12.73 2.25 11.44 L4.58 3.44 C4.83 2.58 5.62 2 6.5 2 H17',
16
+ ],
17
+ pathOffsets: [
18
+ [
19
+ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.2, -1.7, 0.2, -1.7, 0.7, -1.15, 0.7, -0.82, 0.5,
20
+ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
21
+ ],
22
+ ],
23
+ poses: [
24
+ {},
25
+ {
26
+ flex: 0.45,
27
+ },
28
+ {},
29
+ ],
30
+ gestures: [
31
+ null,
32
+ null,
33
+ {
34
+ duration: 0.8,
35
+ repeatAfter: 1.5,
36
+ loop: false,
37
+ frames: [
38
+ {
39
+ at: 0,
40
+ flex: 1,
41
+ },
42
+ {
43
+ at: 0.52,
44
+ },
45
+ {
46
+ at: 1,
47
+ },
48
+ ],
49
+ },
50
+ ],
51
+ },
52
+ ],
53
+ };
@@ -0,0 +1,5 @@
1
+ import type { StatefulIconProps } from "../../shared/icon-types.js";
2
+ import { type ThumbsUpState } from "./thumbs-up-rig.js";
3
+ export { thumbsUpStates, type ThumbsUpState } from "./thumbs-up-rig.js";
4
+ export type ThumbsUpIconProps = StatefulIconProps<ThumbsUpState>;
5
+ export declare const ThumbsUpIcon: import("react").NamedExoticComponent<ThumbsUpIconProps>;
@@ -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 { thumbsUpArt, thumbsUpStates } from "./thumbs-up-rig.js";
6
+ export { thumbsUpStates } from "./thumbs-up-rig.js";
7
+ export const ThumbsUpIcon = memo(function ThumbsUpIcon(props) {
8
+ return _jsx(ArticulatedIcon, { art: thumbsUpArt, states: thumbsUpStates, ...props });
9
+ });
@@ -0,0 +1,33 @@
1
+ export declare const thumbsUpStates: readonly ["idle", "reacting", "selected"];
2
+ export type ThumbsUpState = (typeof thumbsUpStates)[number];
3
+ export declare const thumbsUpArt: {
4
+ readonly name: "thumbs-up";
5
+ readonly parts: readonly [{
6
+ readonly name: "cuff";
7
+ readonly paths: readonly ["M7 10 H4 C2.9 10 2 10.9 2 12 V20 C2 21.1 2.9 22 4 22 H7 Z"];
8
+ readonly poses: readonly [{}, {}, {}];
9
+ }, {
10
+ readonly name: "hand";
11
+ readonly paths: readonly ["M7 10 C7.65 10 8.21 9.57 8.55 8.89 L12 2 C14.1 2 15.5 3.85 15 5.88 L14 10 H19.83 C21.16 10 22.12 11.27 21.75 12.56 L19.42 20.56 C19.17 21.42 18.38 22 17.5 22 H7"];
12
+ readonly pathOffsets: readonly [readonly [0, 0, 0, 0, 0, 0, 0, 0, -0.2, 1.7, -0.2, 1.7, -0.7, 1.15, -0.7, 0.82, -0.5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]];
13
+ readonly poses: readonly [{}, {
14
+ readonly flex: 0.45;
15
+ }, {}];
16
+ readonly gestures: readonly [null, null, {
17
+ readonly duration: 0.8;
18
+ readonly repeatAfter: 1.5;
19
+ readonly loop: false;
20
+ readonly frames: readonly [{
21
+ readonly at: 0;
22
+ readonly flex: 1;
23
+ }, {
24
+ readonly at: 0.5;
25
+ readonly flex: -0.1;
26
+ }, {
27
+ readonly at: 0.85;
28
+ }, {
29
+ readonly at: 1;
30
+ }];
31
+ }];
32
+ }];
33
+ };
@@ -0,0 +1,57 @@
1
+ export const thumbsUpStates = ['idle', 'reacting', 'selected'];
2
+ // The thumb straightens from a tucked pose while the palm and cuff remain planted; one restrained extension settles.
3
+ // Adapted Lucide geometry; see THIRD_PARTY_NOTICES.md.
4
+ export const thumbsUpArt = {
5
+ name: 'thumbs-up',
6
+ parts: [
7
+ {
8
+ name: 'cuff',
9
+ paths: ['M7 10 H4 C2.9 10 2 10.9 2 12 V20 C2 21.1 2.9 22 4 22 H7 Z'],
10
+ poses: [{}, {}, {}],
11
+ },
12
+ {
13
+ name: 'hand',
14
+ paths: [
15
+ 'M7 10 C7.65 10 8.21 9.57 8.55 8.89 L12 2 C14.1 2 15.5 3.85 15 5.88 L14 10 H19.83 C21.16 10 22.12 11.27 21.75 12.56 L19.42 20.56 C19.17 21.42 18.38 22 17.5 22 H7',
16
+ ],
17
+ pathOffsets: [
18
+ [
19
+ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.2, 1.7, -0.2, 1.7, -0.7, 1.15, -0.7, 0.82,
20
+ -0.5, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
21
+ ],
22
+ ],
23
+ poses: [
24
+ {},
25
+ {
26
+ flex: 0.45,
27
+ },
28
+ {},
29
+ ],
30
+ gestures: [
31
+ null,
32
+ null,
33
+ {
34
+ duration: 0.8,
35
+ repeatAfter: 1.5,
36
+ loop: false,
37
+ frames: [
38
+ {
39
+ at: 0,
40
+ flex: 1,
41
+ },
42
+ {
43
+ at: 0.5,
44
+ flex: -0.1,
45
+ },
46
+ {
47
+ at: 0.85,
48
+ },
49
+ {
50
+ at: 1,
51
+ },
52
+ ],
53
+ },
54
+ ],
55
+ },
56
+ ],
57
+ };
@@ -0,0 +1,5 @@
1
+ import type { StatefulIconProps } from "../../shared/icon-types.js";
2
+ import { type TicketState } from "./ticket-rig.js";
3
+ export { ticketStates, type TicketState } from "./ticket-rig.js";
4
+ export type TicketIconProps = StatefulIconProps<TicketState>;
5
+ export declare const TicketIcon: import("react").NamedExoticComponent<TicketIconProps>;
@@ -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 { ticketArt, ticketStates } from "./ticket-rig.js";
6
+ export { ticketStates } from "./ticket-rig.js";
7
+ export const TicketIcon = memo(function TicketIcon(props) {
8
+ return _jsx(ArticulatedIcon, { art: ticketArt, states: ticketStates, ...props });
9
+ });
@@ -0,0 +1,30 @@
1
+ export declare const ticketStates: readonly ["idle", "redeeming", "redeemed"];
2
+ export type TicketState = (typeof ticketStates)[number];
3
+ export declare const ticketArt: {
4
+ readonly name: "ticket";
5
+ readonly parts: readonly [{
6
+ readonly name: "ticket";
7
+ readonly paths: readonly ["M2 9a3 3 0 0 1 0 6v2a2 2 0 0 0 2 2h9V5H4a2 2 0 0 0-2 2Z"];
8
+ readonly poses: readonly [{}, {}, {}];
9
+ }, {
10
+ readonly name: "stub";
11
+ readonly paths: readonly ["M13 5h7a2 2 0 0 1 2 2v2a3 3 0 0 0 0 6v2a2 2 0 0 1-2 2h-7"];
12
+ readonly poses: readonly [{}, {
13
+ readonly angle: 4;
14
+ }, {
15
+ readonly x: 1.5;
16
+ readonly angle: 9;
17
+ readonly opacity: 0.35;
18
+ }];
19
+ readonly pivot: readonly [13, 12];
20
+ }, {
21
+ readonly name: "perforation";
22
+ readonly paths: readonly ["M13 5v2M13 11v2M13 17v2"];
23
+ readonly poses: readonly [{}, {
24
+ readonly opacity: 0.6;
25
+ }, {
26
+ readonly opacity: 0.35;
27
+ }];
28
+ readonly detail: true;
29
+ }];
30
+ };
@@ -0,0 +1,43 @@
1
+ export const ticketStates = ['idle', 'redeeming', 'redeemed'];
2
+ // Redeem admission ticket. The right stub folds slightly, then separates at the perforation after confirmation.
3
+ // Adapted Lucide geometry; see THIRD_PARTY_NOTICES.md.
4
+ export const ticketArt = {
5
+ name: 'ticket',
6
+ parts: [
7
+ {
8
+ name: 'ticket',
9
+ paths: ['M2 9a3 3 0 0 1 0 6v2a2 2 0 0 0 2 2h9V5H4a2 2 0 0 0-2 2Z'],
10
+ poses: [{}, {}, {}],
11
+ },
12
+ {
13
+ name: 'stub',
14
+ paths: ['M13 5h7a2 2 0 0 1 2 2v2a3 3 0 0 0 0 6v2a2 2 0 0 1-2 2h-7'],
15
+ poses: [
16
+ {},
17
+ {
18
+ angle: 4,
19
+ },
20
+ {
21
+ x: 1.5,
22
+ angle: 9,
23
+ opacity: 0.35,
24
+ },
25
+ ],
26
+ pivot: [13, 12],
27
+ },
28
+ {
29
+ name: 'perforation',
30
+ paths: ['M13 5v2M13 11v2M13 17v2'],
31
+ poses: [
32
+ {},
33
+ {
34
+ opacity: 0.6,
35
+ },
36
+ {
37
+ opacity: 0.35,
38
+ },
39
+ ],
40
+ detail: true,
41
+ },
42
+ ],
43
+ };
@@ -0,0 +1,5 @@
1
+ import type { StatefulIconProps } from "../../shared/icon-types.js";
2
+ import { type TrendingUpState } from "./trending-up-rig.js";
3
+ export { trendingUpStates, type TrendingUpState } from "./trending-up-rig.js";
4
+ export type TrendingUpIconProps = StatefulIconProps<TrendingUpState>;
5
+ export declare const TrendingUpIcon: import("react").NamedExoticComponent<TrendingUpIconProps>;
@@ -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 { trendingUpArt, trendingUpStates } from "./trending-up-rig.js";
6
+ export { trendingUpStates } from "./trending-up-rig.js";
7
+ export const TrendingUpIcon = memo(function TrendingUpIcon(props) {
8
+ return _jsx(ArticulatedIcon, { art: trendingUpArt, states: trendingUpStates, ...props });
9
+ });
@@ -0,0 +1,44 @@
1
+ export declare const trendingUpStates: readonly ["idle", "revealing", "positive"];
2
+ export type TrendingUpState = (typeof trendingUpStates)[number];
3
+ export declare const trendingUpArt: {
4
+ readonly name: "trending-up";
5
+ readonly parts: readonly [{
6
+ readonly name: "trend";
7
+ readonly paths: readonly ["M2 17 L8.5 10.5 L13.5 15.5 L22 7"];
8
+ readonly pathOffsets: readonly [readonly [0, 0, 0, 0, 0, 0, -2, 2]];
9
+ readonly poses: readonly [{
10
+ readonly opacity: 0.55;
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.7;
21
+ }, {
22
+ readonly at: 1;
23
+ }];
24
+ }];
25
+ }, {
26
+ readonly name: "head";
27
+ readonly paths: readonly ["M16 7 L22 7 L22 13"];
28
+ readonly poses: readonly [{}, {}, {}];
29
+ readonly gestures: readonly [null, null, {
30
+ readonly duration: 0.8;
31
+ readonly repeatAfter: 1.5;
32
+ readonly loop: false;
33
+ readonly frames: readonly [{
34
+ readonly at: 0;
35
+ readonly x: -2;
36
+ readonly y: 2;
37
+ }, {
38
+ readonly at: 0.7;
39
+ }, {
40
+ readonly at: 1;
41
+ }];
42
+ }];
43
+ }];
44
+ };
@@ -0,0 +1,68 @@
1
+ export const trendingUpStates = ['idle', 'revealing', 'positive'];
2
+ // The final ascending segment and its connected arrowhead rise into place once; earlier observations stay still.
3
+ // Adapted Lucide geometry; see THIRD_PARTY_NOTICES.md.
4
+ export const trendingUpArt = {
5
+ name: 'trending-up',
6
+ parts: [
7
+ {
8
+ name: 'trend',
9
+ paths: ['M2 17 L8.5 10.5 L13.5 15.5 L22 7'],
10
+ pathOffsets: [[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -2.0, 2.0]],
11
+ poses: [
12
+ {
13
+ opacity: 0.55,
14
+ },
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.7,
32
+ },
33
+ {
34
+ at: 1,
35
+ },
36
+ ],
37
+ },
38
+ ],
39
+ },
40
+ {
41
+ name: 'head',
42
+ paths: ['M16 7 L22 7 L22 13'],
43
+ poses: [{}, {}, {}],
44
+ gestures: [
45
+ null,
46
+ null,
47
+ {
48
+ duration: 0.8,
49
+ repeatAfter: 1.5,
50
+ loop: false,
51
+ frames: [
52
+ {
53
+ at: 0,
54
+ x: -2,
55
+ y: 2,
56
+ },
57
+ {
58
+ at: 0.7,
59
+ },
60
+ {
61
+ at: 1,
62
+ },
63
+ ],
64
+ },
65
+ ],
66
+ },
67
+ ],
68
+ };
@@ -0,0 +1,5 @@
1
+ import type { StatefulIconProps } from "../../shared/icon-types.js";
2
+ import { type UndoState } from "./undo-rig.js";
3
+ export { undoStates, type UndoState } from "./undo-rig.js";
4
+ export type UndoIconProps = StatefulIconProps<UndoState>;
5
+ export declare const UndoIcon: import("react").NamedExoticComponent<UndoIconProps>;
@@ -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 { undoArt, undoStates } from "./undo-rig.js";
6
+ export { undoStates } from "./undo-rig.js";
7
+ export const UndoIcon = memo(function UndoIcon(props) {
8
+ return _jsx(ArticulatedIcon, { art: undoArt, states: undoStates, ...props });
9
+ });
@@ -0,0 +1,28 @@
1
+ export declare const undoStates: readonly ["idle", "undoing", "unavailable"];
2
+ export type UndoState = (typeof undoStates)[number];
3
+ export declare const undoArt: {
4
+ readonly name: "undo";
5
+ readonly parts: readonly [{
6
+ readonly name: "return-arrow";
7
+ readonly paths: readonly ["M9 14 L4 9 L9 4", "M4 9 L14.5 9 C17.538 9 20 11.462 20 14.5 C20 17.538 17.538 20 14.5 20 L11 20"];
8
+ readonly pathOffsets: readonly [readonly [-1.2, 0, -1.2, 0, -1.2, 0], readonly [-1.2, 0, 0, 0, 0, 0, -1, -0.5, -1, -1, -1, -1.5, -0.5, -2, 0, -2, 3, -2]];
9
+ readonly poses: readonly [{}, {}, {
10
+ readonly opacity: 0.32;
11
+ }];
12
+ readonly gestures: readonly [null, {
13
+ readonly duration: 0.8;
14
+ readonly repeatAfter: 1.6;
15
+ readonly loop: false;
16
+ readonly frames: readonly [{
17
+ readonly at: 0;
18
+ }, {
19
+ readonly at: 0.34;
20
+ readonly flex: 1;
21
+ }, {
22
+ readonly at: 0.8;
23
+ }, {
24
+ readonly at: 1;
25
+ }];
26
+ }, null];
27
+ }];
28
+ };