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,87 @@
1
+ export const scanQrStates = ['idle', 'scanning', 'detected'];
2
+ // QR recognition. A scan line crosses the fixed brackets; detection removes the scanner and tightens the corner framing.
3
+ // Adapted Lucide geometry; see THIRD_PARTY_NOTICES.md.
4
+ export const scanQrArt = {
5
+ name: 'scan-qr',
6
+ parts: [
7
+ {
8
+ name: 'brackets',
9
+ paths: [
10
+ 'M17 3h2a2 2 0 0 1 2 2v2',
11
+ 'M21 17v2a2 2 0 0 1-2 2h-2',
12
+ 'M3 7V5a2 2 0 0 1 2-2h2',
13
+ 'M7 21H5a2 2 0 0 1-2-2v-2',
14
+ ],
15
+ poses: [
16
+ {},
17
+ {},
18
+ {
19
+ scaleX: 0.9,
20
+ scaleY: 0.9,
21
+ },
22
+ ],
23
+ },
24
+ {
25
+ name: 'subject',
26
+ paths: [
27
+ 'M17 12v4a1 1 0 0 1-1 1h-4',
28
+ 'M17 8V7',
29
+ 'M7 17h.01',
30
+ 'M8 7H11Q12 7 12 8V11Q12 12 11 12H8Q7 12 7 11V8Q7 7 8 7Z',
31
+ ],
32
+ poses: [
33
+ {
34
+ opacity: 0.6,
35
+ },
36
+ {
37
+ opacity: 0.5,
38
+ },
39
+ {},
40
+ ],
41
+ },
42
+ {
43
+ name: 'scan',
44
+ paths: ['M6 6h12'],
45
+ poses: [
46
+ {
47
+ opacity: 0,
48
+ },
49
+ {},
50
+ {
51
+ opacity: 0,
52
+ },
53
+ ],
54
+ gestures: [
55
+ null,
56
+ {
57
+ duration: 1.3,
58
+ repeatAfter: 1.8,
59
+ loop: true,
60
+ frames: [
61
+ {
62
+ at: 0,
63
+ },
64
+ {
65
+ at: 0.6,
66
+ y: 12,
67
+ },
68
+ {
69
+ at: 0.8,
70
+ y: 12,
71
+ opacity: -1,
72
+ },
73
+ {
74
+ at: 0.81,
75
+ opacity: -1,
76
+ },
77
+ {
78
+ at: 1,
79
+ },
80
+ ],
81
+ },
82
+ null,
83
+ ],
84
+ detail: true,
85
+ },
86
+ ],
87
+ };
@@ -0,0 +1,5 @@
1
+ import type { StatefulIconProps } from "../../shared/icon-types.js";
2
+ import { type ScissorsState } from "./scissors-rig.js";
3
+ export { scissorsStates, type ScissorsState } from "./scissors-rig.js";
4
+ export type ScissorsIconProps = StatefulIconProps<ScissorsState>;
5
+ export declare const ScissorsIcon: import("react").NamedExoticComponent<ScissorsIconProps>;
@@ -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 { scissorsArt, scissorsStates } from "./scissors-rig.js";
6
+ export { scissorsStates } from "./scissors-rig.js";
7
+ export const ScissorsIcon = memo(function ScissorsIcon(props) {
8
+ return _jsx(ArticulatedIcon, { art: scissorsArt, states: scissorsStates, ...props });
9
+ });
@@ -0,0 +1,52 @@
1
+ export declare const scissorsStates: readonly ["idle", "cutting", "cut"];
2
+ export type ScissorsState = (typeof scissorsStates)[number];
3
+ export declare const scissorsArt: {
4
+ readonly name: "scissors";
5
+ readonly parts: readonly [{
6
+ readonly name: "upper-assembly";
7
+ readonly paths: readonly ["M3.4 6 a2.6 2.6 0 1 0 5.2 0 a2.6 2.6 0 1 0 -5.2 0", "M7.84 7.84 L12 12 L20.5 16.2"];
8
+ readonly pivot: readonly [12, 12];
9
+ readonly poses: readonly [{}, {}, {}];
10
+ readonly gestures: readonly [null, {
11
+ readonly duration: 0.8;
12
+ readonly repeatAfter: 1.6;
13
+ readonly loop: false;
14
+ readonly frames: readonly [{
15
+ readonly at: 0;
16
+ }, {
17
+ readonly at: 0.3;
18
+ readonly angle: -18;
19
+ }, {
20
+ readonly at: 0.43;
21
+ readonly angle: -18;
22
+ }, {
23
+ readonly at: 0.84;
24
+ }, {
25
+ readonly at: 1;
26
+ }];
27
+ }, null];
28
+ }, {
29
+ readonly name: "lower-assembly";
30
+ readonly paths: readonly ["M3.4 18 a2.6 2.6 0 1 0 5.2 0 a2.6 2.6 0 1 0 -5.2 0", "M7.84 16.16 L12 12 L20.5 7.8"];
31
+ readonly pivot: readonly [12, 12];
32
+ readonly poses: readonly [{}, {}, {}];
33
+ readonly gestures: readonly [null, {
34
+ readonly duration: 0.8;
35
+ readonly repeatAfter: 1.6;
36
+ readonly loop: false;
37
+ readonly frames: readonly [{
38
+ readonly at: 0;
39
+ }, {
40
+ readonly at: 0.3;
41
+ readonly angle: 18;
42
+ }, {
43
+ readonly at: 0.43;
44
+ readonly angle: 18;
45
+ }, {
46
+ readonly at: 0.84;
47
+ }, {
48
+ readonly at: 1;
49
+ }];
50
+ }, null];
51
+ }];
52
+ };
@@ -0,0 +1,76 @@
1
+ export const scissorsStates = ['idle', 'cutting', 'cut'];
2
+ // Two rigid handle/blade assemblies make one decisive snip about the same crossing, briefly meet, then reopen. The result state holds; it does not cut again.
3
+ // Adapted Lucide geometry; see THIRD_PARTY_NOTICES.md.
4
+ export const scissorsArt = {
5
+ name: 'scissors',
6
+ parts: [
7
+ {
8
+ name: 'upper-assembly',
9
+ paths: ['M3.4 6 a2.6 2.6 0 1 0 5.2 0 a2.6 2.6 0 1 0 -5.2 0', 'M7.84 7.84 L12 12 L20.5 16.2'],
10
+ pivot: [12, 12],
11
+ poses: [{}, {}, {}],
12
+ gestures: [
13
+ null,
14
+ {
15
+ duration: 0.8,
16
+ repeatAfter: 1.6,
17
+ loop: false,
18
+ frames: [
19
+ {
20
+ at: 0,
21
+ },
22
+ {
23
+ at: 0.3,
24
+ angle: -18,
25
+ },
26
+ {
27
+ at: 0.43,
28
+ angle: -18,
29
+ },
30
+ {
31
+ at: 0.84,
32
+ },
33
+ {
34
+ at: 1,
35
+ },
36
+ ],
37
+ },
38
+ null,
39
+ ],
40
+ },
41
+ {
42
+ name: 'lower-assembly',
43
+ paths: ['M3.4 18 a2.6 2.6 0 1 0 5.2 0 a2.6 2.6 0 1 0 -5.2 0', 'M7.84 16.16 L12 12 L20.5 7.8'],
44
+ pivot: [12, 12],
45
+ poses: [{}, {}, {}],
46
+ gestures: [
47
+ null,
48
+ {
49
+ duration: 0.8,
50
+ repeatAfter: 1.6,
51
+ loop: false,
52
+ frames: [
53
+ {
54
+ at: 0,
55
+ },
56
+ {
57
+ at: 0.3,
58
+ angle: 18,
59
+ },
60
+ {
61
+ at: 0.43,
62
+ angle: 18,
63
+ },
64
+ {
65
+ at: 0.84,
66
+ },
67
+ {
68
+ at: 1,
69
+ },
70
+ ],
71
+ },
72
+ null,
73
+ ],
74
+ },
75
+ ],
76
+ };
@@ -0,0 +1,5 @@
1
+ import type { StatefulIconProps } from "../../shared/icon-types.js";
2
+ import { type ShuffleState } from "./shuffle-rig.js";
3
+ export { shuffleStates, type ShuffleState } from "./shuffle-rig.js";
4
+ export type ShuffleIconProps = StatefulIconProps<ShuffleState>;
5
+ export declare const ShuffleIcon: import("react").NamedExoticComponent<ShuffleIconProps>;
@@ -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 { shuffleArt, shuffleStates } from "./shuffle-rig.js";
6
+ export { shuffleStates } from "./shuffle-rig.js";
7
+ export const ShuffleIcon = memo(function ShuffleIcon(props) {
8
+ return _jsx(ArticulatedIcon, { art: shuffleArt, states: shuffleStates, ...props });
9
+ });
@@ -0,0 +1,32 @@
1
+ export declare const shuffleStates: readonly ["off", "shuffling", "on"];
2
+ export type ShuffleState = (typeof shuffleStates)[number];
3
+ export declare const shuffleArt: {
4
+ readonly name: "shuffle";
5
+ readonly parts: readonly [{
6
+ readonly name: "heads";
7
+ readonly paths: readonly ["m18 14 4 4-4 4", "m18 2 4 4-4 4"];
8
+ readonly poses: readonly [{
9
+ readonly opacity: 0.4;
10
+ }, {}, {}];
11
+ }, {
12
+ readonly name: "routes";
13
+ readonly paths: readonly ["M2 18h1.973a4 4 0 0 0 3.3-1.7l5.454-8.6a4 4 0 0 1 3.3-1.7H22", "M2 6h1.972a4 4 0 0 1 3.6 2.2", "M22 18h-6.041a4 4 0 0 1-3.3-1.8l-.359-.45"];
14
+ readonly poses: readonly [{
15
+ readonly opacity: 0.4;
16
+ }, {}, {}];
17
+ readonly traceLength: 27;
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 draw: -1;
25
+ }, {
26
+ readonly at: 0.8;
27
+ }, {
28
+ readonly at: 1;
29
+ }];
30
+ }, null];
31
+ }];
32
+ };
@@ -0,0 +1,56 @@
1
+ export const shuffleStates = ['off', 'shuffling', 'on'];
2
+ // Shuffle playback mode. The two routes trace in opposite directions; arrowheads stay connected at their endpoints.
3
+ // Adapted Lucide geometry; see THIRD_PARTY_NOTICES.md.
4
+ export const shuffleArt = {
5
+ name: 'shuffle',
6
+ parts: [
7
+ {
8
+ name: 'heads',
9
+ paths: ['m18 14 4 4-4 4', 'm18 2 4 4-4 4'],
10
+ poses: [
11
+ {
12
+ opacity: 0.4,
13
+ },
14
+ {},
15
+ {},
16
+ ],
17
+ },
18
+ {
19
+ name: 'routes',
20
+ paths: [
21
+ 'M2 18h1.973a4 4 0 0 0 3.3-1.7l5.454-8.6a4 4 0 0 1 3.3-1.7H22',
22
+ 'M2 6h1.972a4 4 0 0 1 3.6 2.2',
23
+ 'M22 18h-6.041a4 4 0 0 1-3.3-1.8l-.359-.45',
24
+ ],
25
+ poses: [
26
+ {
27
+ opacity: 0.4,
28
+ },
29
+ {},
30
+ {},
31
+ ],
32
+ traceLength: 27,
33
+ gestures: [
34
+ null,
35
+ {
36
+ duration: 0.65,
37
+ repeatAfter: 1.5,
38
+ loop: false,
39
+ frames: [
40
+ {
41
+ at: 0,
42
+ draw: -1,
43
+ },
44
+ {
45
+ at: 0.8,
46
+ },
47
+ {
48
+ at: 1,
49
+ },
50
+ ],
51
+ },
52
+ null,
53
+ ],
54
+ },
55
+ ],
56
+ };
@@ -0,0 +1,5 @@
1
+ import type { StatefulIconProps } from "../../shared/icon-types.js";
2
+ import { type SkipBackState } from "./skip-back-rig.js";
3
+ export { skipBackStates, type SkipBackState } from "./skip-back-rig.js";
4
+ export type SkipBackIconProps = StatefulIconProps<SkipBackState>;
5
+ export declare const SkipBackIcon: import("react").NamedExoticComponent<SkipBackIconProps>;
@@ -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 { skipBackArt, skipBackStates } from "./skip-back-rig.js";
6
+ export { skipBackStates } from "./skip-back-rig.js";
7
+ export const SkipBackIcon = memo(function SkipBackIcon(props) {
8
+ return _jsx(ArticulatedIcon, { art: skipBackArt, states: skipBackStates, ...props });
9
+ });
@@ -0,0 +1,31 @@
1
+ export declare const skipBackStates: readonly ["idle", "skipping", "unavailable"];
2
+ export type SkipBackState = (typeof skipBackStates)[number];
3
+ export declare const skipBackArt: {
4
+ readonly name: "skip-back";
5
+ readonly parts: readonly [{
6
+ readonly name: "stop";
7
+ readonly paths: readonly ["M3 20V4"];
8
+ readonly poses: readonly [{}, {}, {
9
+ readonly opacity: 0.3;
10
+ }];
11
+ }, {
12
+ readonly name: "triangle";
13
+ readonly paths: readonly ["M17.971 4.285A2 2 0 0 1 21 6v12a2 2 0 0 1-3.029 1.715l-9.997-5.998a2 2 0 0 1-.003-3.432z"];
14
+ readonly poses: readonly [{}, {}, {
15
+ readonly opacity: 0.3;
16
+ }];
17
+ readonly gestures: readonly [null, {
18
+ readonly duration: 0.65;
19
+ readonly repeatAfter: 1.5;
20
+ readonly loop: false;
21
+ readonly frames: readonly [{
22
+ readonly at: 0;
23
+ }, {
24
+ readonly at: 0.4;
25
+ readonly x: -1.4;
26
+ }, {
27
+ readonly at: 1;
28
+ }];
29
+ }, null];
30
+ }];
31
+ };
@@ -0,0 +1,53 @@
1
+ export const skipBackStates = ['idle', 'skipping', 'unavailable'];
2
+ // Previous-track control. The triangle approaches the stationary stop bar and returns once; unavailable stays dim.
3
+ // Adapted Lucide geometry; see THIRD_PARTY_NOTICES.md.
4
+ export const skipBackArt = {
5
+ name: 'skip-back',
6
+ parts: [
7
+ {
8
+ name: 'stop',
9
+ paths: ['M3 20V4'],
10
+ poses: [
11
+ {},
12
+ {},
13
+ {
14
+ opacity: 0.3,
15
+ },
16
+ ],
17
+ },
18
+ {
19
+ name: 'triangle',
20
+ paths: [
21
+ 'M17.971 4.285A2 2 0 0 1 21 6v12a2 2 0 0 1-3.029 1.715l-9.997-5.998a2 2 0 0 1-.003-3.432z',
22
+ ],
23
+ poses: [
24
+ {},
25
+ {},
26
+ {
27
+ opacity: 0.3,
28
+ },
29
+ ],
30
+ gestures: [
31
+ null,
32
+ {
33
+ duration: 0.65,
34
+ repeatAfter: 1.5,
35
+ loop: false,
36
+ frames: [
37
+ {
38
+ at: 0,
39
+ },
40
+ {
41
+ at: 0.4,
42
+ x: -1.4,
43
+ },
44
+ {
45
+ at: 1,
46
+ },
47
+ ],
48
+ },
49
+ null,
50
+ ],
51
+ },
52
+ ],
53
+ };
@@ -0,0 +1,5 @@
1
+ import type { StatefulIconProps } from "../../shared/icon-types.js";
2
+ import { type SkipForwardState } from "./skip-forward-rig.js";
3
+ export { skipForwardStates, type SkipForwardState } from "./skip-forward-rig.js";
4
+ export type SkipForwardIconProps = StatefulIconProps<SkipForwardState>;
5
+ export declare const SkipForwardIcon: import("react").NamedExoticComponent<SkipForwardIconProps>;
@@ -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 { skipForwardArt, skipForwardStates } from "./skip-forward-rig.js";
6
+ export { skipForwardStates } from "./skip-forward-rig.js";
7
+ export const SkipForwardIcon = memo(function SkipForwardIcon(props) {
8
+ return _jsx(ArticulatedIcon, { art: skipForwardArt, states: skipForwardStates, ...props });
9
+ });
@@ -0,0 +1,31 @@
1
+ export declare const skipForwardStates: readonly ["idle", "skipping", "unavailable"];
2
+ export type SkipForwardState = (typeof skipForwardStates)[number];
3
+ export declare const skipForwardArt: {
4
+ readonly name: "skip-forward";
5
+ readonly parts: readonly [{
6
+ readonly name: "stop";
7
+ readonly paths: readonly ["M21 4v16"];
8
+ readonly poses: readonly [{}, {}, {
9
+ readonly opacity: 0.3;
10
+ }];
11
+ }, {
12
+ readonly name: "triangle";
13
+ readonly paths: readonly ["M6.029 4.285A2 2 0 0 0 3 6v12a2 2 0 0 0 3.029 1.715l9.997-5.998a2 2 0 0 0 .003-3.432z"];
14
+ readonly poses: readonly [{}, {}, {
15
+ readonly opacity: 0.3;
16
+ }];
17
+ readonly gestures: readonly [null, {
18
+ readonly duration: 0.65;
19
+ readonly repeatAfter: 1.5;
20
+ readonly loop: false;
21
+ readonly frames: readonly [{
22
+ readonly at: 0;
23
+ }, {
24
+ readonly at: 0.4;
25
+ readonly x: 1.4;
26
+ }, {
27
+ readonly at: 1;
28
+ }];
29
+ }, null];
30
+ }];
31
+ };
@@ -0,0 +1,53 @@
1
+ export const skipForwardStates = ['idle', 'skipping', 'unavailable'];
2
+ // Next-track control. The triangle approaches the stationary stop bar and returns once; unavailable stays dim.
3
+ // Adapted Lucide geometry; see THIRD_PARTY_NOTICES.md.
4
+ export const skipForwardArt = {
5
+ name: 'skip-forward',
6
+ parts: [
7
+ {
8
+ name: 'stop',
9
+ paths: ['M21 4v16'],
10
+ poses: [
11
+ {},
12
+ {},
13
+ {
14
+ opacity: 0.3,
15
+ },
16
+ ],
17
+ },
18
+ {
19
+ name: 'triangle',
20
+ paths: [
21
+ 'M6.029 4.285A2 2 0 0 0 3 6v12a2 2 0 0 0 3.029 1.715l9.997-5.998a2 2 0 0 0 .003-3.432z',
22
+ ],
23
+ poses: [
24
+ {},
25
+ {},
26
+ {
27
+ opacity: 0.3,
28
+ },
29
+ ],
30
+ gestures: [
31
+ null,
32
+ {
33
+ duration: 0.65,
34
+ repeatAfter: 1.5,
35
+ loop: false,
36
+ frames: [
37
+ {
38
+ at: 0,
39
+ },
40
+ {
41
+ at: 0.4,
42
+ x: 1.4,
43
+ },
44
+ {
45
+ at: 1,
46
+ },
47
+ ],
48
+ },
49
+ null,
50
+ ],
51
+ },
52
+ ],
53
+ };
@@ -0,0 +1,5 @@
1
+ import type { StatefulIconProps } from "../../shared/icon-types.js";
2
+ import { type SmartphoneState } from "./smartphone-rig.js";
3
+ export { smartphoneStates, type SmartphoneState } from "./smartphone-rig.js";
4
+ export type SmartphoneIconProps = StatefulIconProps<SmartphoneState>;
5
+ export declare const SmartphoneIcon: import("react").NamedExoticComponent<SmartphoneIconProps>;
@@ -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 { smartphoneArt, smartphoneStates } from "./smartphone-rig.js";
6
+ export { smartphoneStates } from "./smartphone-rig.js";
7
+ export const SmartphoneIcon = memo(function SmartphoneIcon(props) {
8
+ return _jsx(ArticulatedIcon, { art: smartphoneArt, states: smartphoneStates, ...props });
9
+ });
@@ -0,0 +1,39 @@
1
+ export declare const smartphoneStates: readonly ["idle", "ringing", "answered"];
2
+ export type SmartphoneState = (typeof smartphoneStates)[number];
3
+ export declare const smartphoneArt: {
4
+ readonly name: "smartphone";
5
+ readonly parts: readonly [{
6
+ readonly name: "phone";
7
+ readonly paths: readonly ["M7 2H17Q19 2 19 4V20Q19 22 17 22H7Q5 22 5 20V4Q5 2 7 2Z", "M12 18h.01"];
8
+ readonly poses: readonly [{}, {}, {}];
9
+ readonly pivot: readonly [12, 12];
10
+ readonly gestures: readonly [null, {
11
+ readonly duration: 0.85;
12
+ readonly repeatAfter: 2;
13
+ readonly loop: true;
14
+ readonly frames: readonly [{
15
+ readonly at: 0;
16
+ }, {
17
+ readonly at: 0.18;
18
+ readonly angle: -4;
19
+ }, {
20
+ readonly at: 0.38;
21
+ readonly angle: 4;
22
+ }, {
23
+ readonly at: 0.6;
24
+ readonly angle: -2;
25
+ }, {
26
+ readonly at: 1;
27
+ }];
28
+ }, null];
29
+ }, {
30
+ readonly name: "connected";
31
+ readonly paths: readonly ["M9 10h6"];
32
+ readonly poses: readonly [{
33
+ readonly opacity: 0;
34
+ }, {
35
+ readonly opacity: 0;
36
+ }, {}];
37
+ readonly detail: true;
38
+ }];
39
+ };
@@ -0,0 +1,57 @@
1
+ export const smartphoneStates = ['idle', 'ringing', 'answered'];
2
+ // Incoming phone call. The rigid handset rocks once or while an incoming call is pending; the connected screen holds a short bar.
3
+ // Adapted Lucide geometry; see THIRD_PARTY_NOTICES.md.
4
+ export const smartphoneArt = {
5
+ name: 'smartphone',
6
+ parts: [
7
+ {
8
+ name: 'phone',
9
+ paths: ['M7 2H17Q19 2 19 4V20Q19 22 17 22H7Q5 22 5 20V4Q5 2 7 2Z', 'M12 18h.01'],
10
+ poses: [{}, {}, {}],
11
+ pivot: [12, 12],
12
+ gestures: [
13
+ null,
14
+ {
15
+ duration: 0.85,
16
+ repeatAfter: 2,
17
+ loop: true,
18
+ frames: [
19
+ {
20
+ at: 0,
21
+ },
22
+ {
23
+ at: 0.18,
24
+ angle: -4,
25
+ },
26
+ {
27
+ at: 0.38,
28
+ angle: 4,
29
+ },
30
+ {
31
+ at: 0.6,
32
+ angle: -2,
33
+ },
34
+ {
35
+ at: 1,
36
+ },
37
+ ],
38
+ },
39
+ null,
40
+ ],
41
+ },
42
+ {
43
+ name: 'connected',
44
+ paths: ['M9 10h6'],
45
+ poses: [
46
+ {
47
+ opacity: 0,
48
+ },
49
+ {
50
+ opacity: 0,
51
+ },
52
+ {},
53
+ ],
54
+ detail: true,
55
+ },
56
+ ],
57
+ };
@@ -0,0 +1,5 @@
1
+ import type { StatefulIconProps } from "../../shared/icon-types.js";
2
+ import { type TableState } from "./table-rig.js";
3
+ export { tableStates, type TableState } from "./table-rig.js";
4
+ export type TableIconProps = StatefulIconProps<TableState>;
5
+ export declare const TableIcon: import("react").NamedExoticComponent<TableIconProps>;