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,31 @@
1
+ export const chartPieStates = ['idle', 'inspecting', 'selected'];
2
+ // Pie-chart segment selection. One wedge separates diagonally from the fixed remainder and holds on selection.
3
+ // Adapted Lucide geometry; see THIRD_PARTY_NOTICES.md.
4
+ export const chartPieArt = {
5
+ name: 'chart-pie',
6
+ parts: [
7
+ {
8
+ name: 'remainder',
9
+ paths: ['M21.21 15.89A10 10 0 1 1 8 2.83'],
10
+ poses: [{}, {}, {}],
11
+ },
12
+ {
13
+ name: 'wedge',
14
+ paths: [
15
+ 'M21 12c.552 0 1.005-.449.95-.998a10 10 0 0 0-8.953-8.951c-.55-.055-.998.398-.998.95v8a1 1 0 0 0 1 1z',
16
+ ],
17
+ poses: [
18
+ {},
19
+ {
20
+ x: 0.5,
21
+ y: -0.5,
22
+ },
23
+ {
24
+ x: 1,
25
+ y: -1,
26
+ },
27
+ ],
28
+ accent: true,
29
+ },
30
+ ],
31
+ };
@@ -0,0 +1,5 @@
1
+ import type { StatefulIconProps } from "../../shared/icon-types.js";
2
+ import { type ColumnsState } from "./columns-rig.js";
3
+ export { columnsStates, type ColumnsState } from "./columns-rig.js";
4
+ export type ColumnsIconProps = StatefulIconProps<ColumnsState>;
5
+ export declare const ColumnsIcon: import("react").NamedExoticComponent<ColumnsIconProps>;
@@ -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 { columnsArt, columnsStates } from "./columns-rig.js";
6
+ export { columnsStates } from "./columns-rig.js";
7
+ export const ColumnsIcon = memo(function ColumnsIcon(props) {
8
+ return _jsx(ArticulatedIcon, { art: columnsArt, states: columnsStates, ...props });
9
+ });
@@ -0,0 +1,15 @@
1
+ export declare const columnsStates: readonly ["balanced", "first-wide", "second-wide"];
2
+ export type ColumnsState = (typeof columnsStates)[number];
3
+ export declare const columnsArt: {
4
+ readonly name: "columns";
5
+ readonly parts: readonly [{
6
+ readonly name: "frame";
7
+ readonly paths: readonly ["M5 3H19Q21 3 21 5V19Q21 21 19 21H5Q3 21 3 19V5Q3 3 5 3Z"];
8
+ readonly poses: readonly [{}, {}, {}];
9
+ }, {
10
+ readonly name: "divider";
11
+ readonly paths: readonly ["M12 3v18"];
12
+ readonly poses: readonly [{}, {}, {}];
13
+ readonly pathStates: readonly [readonly ["M12 3v18"], readonly ["M15 3v18"], readonly ["M9 3v18"]];
14
+ }];
15
+ };
@@ -0,0 +1,19 @@
1
+ export const columnsStates = ['balanced', 'first-wide', 'second-wide'];
2
+ // Split-pane layout. Only the shared divider moves; both outer pane edges stay fixed.
3
+ // Adapted Lucide geometry; see THIRD_PARTY_NOTICES.md.
4
+ export const columnsArt = {
5
+ name: 'columns',
6
+ parts: [
7
+ {
8
+ name: 'frame',
9
+ paths: ['M5 3H19Q21 3 21 5V19Q21 21 19 21H5Q3 21 3 19V5Q3 3 5 3Z'],
10
+ poses: [{}, {}, {}],
11
+ },
12
+ {
13
+ name: 'divider',
14
+ paths: ['M12 3v18'],
15
+ poses: [{}, {}, {}],
16
+ pathStates: [['M12 3v18'], ['M15 3v18'], ['M9 3v18']],
17
+ },
18
+ ],
19
+ };
@@ -0,0 +1,5 @@
1
+ import type { StatefulIconProps } from "../../shared/icon-types.js";
2
+ import { type CropState } from "./crop-rig.js";
3
+ export { cropStates, type CropState } from "./crop-rig.js";
4
+ export type CropIconProps = StatefulIconProps<CropState>;
5
+ export declare const CropIcon: import("react").NamedExoticComponent<CropIconProps>;
@@ -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 { cropArt, cropStates } from "./crop-rig.js";
6
+ export { cropStates } from "./crop-rig.js";
7
+ export const CropIcon = memo(function CropIcon(props) {
8
+ return _jsx(ArticulatedIcon, { art: cropArt, states: cropStates, ...props });
9
+ });
@@ -0,0 +1,16 @@
1
+ export declare const cropStates: readonly ["idle", "adjusting", "cropped"];
2
+ export type CropState = (typeof cropStates)[number];
3
+ export declare const cropArt: {
4
+ readonly name: "crop";
5
+ readonly parts: readonly [{
6
+ readonly name: "lower-guide";
7
+ readonly paths: readonly ["M6 2v14a2 2 0 0 0 2 2h14"];
8
+ readonly poses: readonly [{}, {}, {}];
9
+ readonly pathStates: readonly [readonly ["M6 2v14a2 2 0 0 0 2 2h14"], readonly ["M7 2v13a2 2 0 0 0 2 2h13"], readonly ["M8 2v12a2 2 0 0 0 2 2h12"]];
10
+ }, {
11
+ readonly name: "upper-guide";
12
+ readonly paths: readonly ["M18 22V8a2 2 0 0 0-2-2H2"];
13
+ readonly poses: readonly [{}, {}, {}];
14
+ readonly pathStates: readonly [readonly ["M18 22V8a2 2 0 0 0-2-2H2"], readonly ["M17 22V9a2 2 0 0 0-2-2H2"], readonly ["M16 22V10a2 2 0 0 0-2-2H2"]];
15
+ }];
16
+ };
@@ -0,0 +1,28 @@
1
+ export const cropStates = ['idle', 'adjusting', 'cropped'];
2
+ // Image crop handles. Opposing corner guides close inward; the applied frame stays smaller.
3
+ // Adapted Lucide geometry; see THIRD_PARTY_NOTICES.md.
4
+ export const cropArt = {
5
+ name: 'crop',
6
+ parts: [
7
+ {
8
+ name: 'lower-guide',
9
+ paths: ['M6 2v14a2 2 0 0 0 2 2h14'],
10
+ poses: [{}, {}, {}],
11
+ pathStates: [
12
+ ['M6 2v14a2 2 0 0 0 2 2h14'],
13
+ ['M7 2v13a2 2 0 0 0 2 2h13'],
14
+ ['M8 2v12a2 2 0 0 0 2 2h12'],
15
+ ],
16
+ },
17
+ {
18
+ name: 'upper-guide',
19
+ paths: ['M18 22V8a2 2 0 0 0-2-2H2'],
20
+ poses: [{}, {}, {}],
21
+ pathStates: [
22
+ ['M18 22V8a2 2 0 0 0-2-2H2'],
23
+ ['M17 22V9a2 2 0 0 0-2-2H2'],
24
+ ['M16 22V10a2 2 0 0 0-2-2H2'],
25
+ ],
26
+ },
27
+ ],
28
+ };
@@ -0,0 +1,5 @@
1
+ import type { StatefulIconProps } from "../../shared/icon-types.js";
2
+ import { type EraserState } from "./eraser-rig.js";
3
+ export { eraserStates, type EraserState } from "./eraser-rig.js";
4
+ export type EraserIconProps = StatefulIconProps<EraserState>;
5
+ export declare const EraserIcon: import("react").NamedExoticComponent<EraserIconProps>;
@@ -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 { eraserArt, eraserStates } from "./eraser-rig.js";
6
+ export { eraserStates } from "./eraser-rig.js";
7
+ export const EraserIcon = memo(function EraserIcon(props) {
8
+ return _jsx(ArticulatedIcon, { art: eraserArt, states: eraserStates, ...props });
9
+ });
@@ -0,0 +1,48 @@
1
+ export declare const eraserStates: readonly ["idle", "erasing", "cleared"];
2
+ export type EraserState = (typeof eraserStates)[number];
3
+ export declare const eraserArt: {
4
+ readonly name: "eraser";
5
+ readonly parts: readonly [{
6
+ readonly name: "mark";
7
+ readonly paths: readonly ["M14 21h7"];
8
+ readonly poses: readonly [{}, {}, {
9
+ readonly draw: 0;
10
+ }];
11
+ readonly traceLength: 7;
12
+ readonly gestures: readonly [null, {
13
+ readonly duration: 0.65;
14
+ readonly repeatAfter: 1.5;
15
+ readonly loop: false;
16
+ readonly frames: readonly [{
17
+ readonly at: 0;
18
+ }, {
19
+ readonly at: 0.8;
20
+ readonly draw: -0.7;
21
+ }, {
22
+ readonly at: 1;
23
+ readonly draw: -0.7;
24
+ }];
25
+ }, null];
26
+ }, {
27
+ readonly name: "eraser";
28
+ readonly paths: readonly ["M8 21a2 2 0 0 1-1.42-.587l-3.994-3.999a2 2 0 0 1 0-2.828l10-10a2 2 0 0 1 2.829 0l5.999 6a2 2 0 0 1 0 2.828L12.834 21", "m5.082 11.09 8.828 8.828"];
29
+ readonly poses: readonly [{}, {}, {}];
30
+ readonly gestures: readonly [null, {
31
+ readonly duration: 0.65;
32
+ readonly repeatAfter: 1.5;
33
+ readonly loop: false;
34
+ readonly frames: readonly [{
35
+ readonly at: 0;
36
+ }, {
37
+ readonly at: 0.3;
38
+ readonly x: 1;
39
+ readonly y: -0.4;
40
+ }, {
41
+ readonly at: 0.65;
42
+ readonly x: -0.5;
43
+ }, {
44
+ readonly at: 1;
45
+ }];
46
+ }, null];
47
+ }];
48
+ };
@@ -0,0 +1,76 @@
1
+ export const eraserStates = ['idle', 'erasing', 'cleared'];
2
+ // Erase selected marks. A rigid eraser makes one sideways pass while the separate baseline shortens away.
3
+ // Adapted Lucide geometry; see THIRD_PARTY_NOTICES.md.
4
+ export const eraserArt = {
5
+ name: 'eraser',
6
+ parts: [
7
+ {
8
+ name: 'mark',
9
+ paths: ['M14 21h7'],
10
+ poses: [
11
+ {},
12
+ {},
13
+ {
14
+ draw: 0,
15
+ },
16
+ ],
17
+ traceLength: 7,
18
+ gestures: [
19
+ null,
20
+ {
21
+ duration: 0.65,
22
+ repeatAfter: 1.5,
23
+ loop: false,
24
+ frames: [
25
+ {
26
+ at: 0,
27
+ },
28
+ {
29
+ at: 0.8,
30
+ draw: -0.7,
31
+ },
32
+ {
33
+ at: 1,
34
+ draw: -0.7,
35
+ },
36
+ ],
37
+ },
38
+ null,
39
+ ],
40
+ },
41
+ {
42
+ name: 'eraser',
43
+ paths: [
44
+ 'M8 21a2 2 0 0 1-1.42-.587l-3.994-3.999a2 2 0 0 1 0-2.828l10-10a2 2 0 0 1 2.829 0l5.999 6a2 2 0 0 1 0 2.828L12.834 21',
45
+ 'm5.082 11.09 8.828 8.828',
46
+ ],
47
+ poses: [{}, {}, {}],
48
+ gestures: [
49
+ null,
50
+ {
51
+ duration: 0.65,
52
+ repeatAfter: 1.5,
53
+ loop: false,
54
+ frames: [
55
+ {
56
+ at: 0,
57
+ },
58
+ {
59
+ at: 0.3,
60
+ x: 1,
61
+ y: -0.4,
62
+ },
63
+ {
64
+ at: 0.65,
65
+ x: -0.5,
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 FastForwardState } from "./fast-forward-rig.js";
3
+ export { fastForwardStates, type FastForwardState } from "./fast-forward-rig.js";
4
+ export type FastForwardIconProps = StatefulIconProps<FastForwardState>;
5
+ export declare const FastForwardIcon: import("react").NamedExoticComponent<FastForwardIconProps>;
@@ -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 { fastForwardArt, fastForwardStates } from "./fast-forward-rig.js";
6
+ export { fastForwardStates } from "./fast-forward-rig.js";
7
+ export const FastForwardIcon = memo(function FastForwardIcon(props) {
8
+ return _jsx(ArticulatedIcon, { art: fastForwardArt, states: fastForwardStates, ...props });
9
+ });
@@ -0,0 +1,48 @@
1
+ export declare const fastForwardStates: readonly ["idle", "seeking", "unavailable"];
2
+ export type FastForwardState = (typeof fastForwardStates)[number];
3
+ export declare const fastForwardArt: {
4
+ readonly name: "fast-forward";
5
+ readonly parts: readonly [{
6
+ readonly name: "triangle-1";
7
+ readonly paths: readonly ["M12 6a2 2 0 0 1 3.414-1.414l6 6a2 2 0 0 1 0 2.828l-6 6A2 2 0 0 1 12 18z"];
8
+ readonly poses: readonly [{}, {}, {
9
+ readonly opacity: 0.3;
10
+ }];
11
+ readonly gestures: readonly [null, {
12
+ readonly duration: 0.8;
13
+ readonly repeatAfter: 1.25;
14
+ readonly loop: true;
15
+ readonly frames: readonly [{
16
+ readonly at: 0;
17
+ }, {
18
+ readonly at: 0.25;
19
+ readonly x: 0.8;
20
+ }, {
21
+ readonly at: 0.65;
22
+ }, {
23
+ readonly at: 1;
24
+ }];
25
+ }, null];
26
+ }, {
27
+ readonly name: "triangle-2";
28
+ readonly paths: readonly ["M2 6a2 2 0 0 1 3.414-1.414l6 6a2 2 0 0 1 0 2.828l-6 6A2 2 0 0 1 2 18z"];
29
+ readonly poses: readonly [{}, {}, {
30
+ readonly opacity: 0.3;
31
+ }];
32
+ readonly gestures: readonly [null, {
33
+ readonly duration: 0.8;
34
+ readonly repeatAfter: 1.25;
35
+ readonly loop: true;
36
+ readonly frames: readonly [{
37
+ readonly at: 0;
38
+ }, {
39
+ readonly at: 0.4;
40
+ readonly x: 0.8;
41
+ }, {
42
+ readonly at: 0.75;
43
+ }, {
44
+ readonly at: 1;
45
+ }];
46
+ }, null];
47
+ }];
48
+ };
@@ -0,0 +1,78 @@
1
+ export const fastForwardStates = ['idle', 'seeking', 'unavailable'];
2
+ // Press-and-hold media seek. The pair advances in a short directional relay, then rests between pulses.
3
+ // Adapted Lucide geometry; see THIRD_PARTY_NOTICES.md.
4
+ export const fastForwardArt = {
5
+ name: 'fast-forward',
6
+ parts: [
7
+ {
8
+ name: 'triangle-1',
9
+ paths: ['M12 6a2 2 0 0 1 3.414-1.414l6 6a2 2 0 0 1 0 2.828l-6 6A2 2 0 0 1 12 18z'],
10
+ poses: [
11
+ {},
12
+ {},
13
+ {
14
+ opacity: 0.3,
15
+ },
16
+ ],
17
+ gestures: [
18
+ null,
19
+ {
20
+ duration: 0.8,
21
+ repeatAfter: 1.25,
22
+ loop: true,
23
+ frames: [
24
+ {
25
+ at: 0,
26
+ },
27
+ {
28
+ at: 0.25,
29
+ x: 0.8,
30
+ },
31
+ {
32
+ at: 0.65,
33
+ },
34
+ {
35
+ at: 1,
36
+ },
37
+ ],
38
+ },
39
+ null,
40
+ ],
41
+ },
42
+ {
43
+ name: 'triangle-2',
44
+ paths: ['M2 6a2 2 0 0 1 3.414-1.414l6 6a2 2 0 0 1 0 2.828l-6 6A2 2 0 0 1 2 18z'],
45
+ poses: [
46
+ {},
47
+ {},
48
+ {
49
+ opacity: 0.3,
50
+ },
51
+ ],
52
+ gestures: [
53
+ null,
54
+ {
55
+ duration: 0.8,
56
+ repeatAfter: 1.25,
57
+ loop: true,
58
+ frames: [
59
+ {
60
+ at: 0,
61
+ },
62
+ {
63
+ at: 0.4,
64
+ x: 0.8,
65
+ },
66
+ {
67
+ at: 0.75,
68
+ },
69
+ {
70
+ at: 1,
71
+ },
72
+ ],
73
+ },
74
+ null,
75
+ ],
76
+ },
77
+ ],
78
+ };
@@ -0,0 +1,5 @@
1
+ import type { StatefulIconProps } from "../../shared/icon-types.js";
2
+ import { type FileCheckState } from "./file-check-rig.js";
3
+ export { fileCheckStates, type FileCheckState } from "./file-check-rig.js";
4
+ export type FileCheckIconProps = StatefulIconProps<FileCheckState>;
5
+ export declare const FileCheckIcon: import("react").NamedExoticComponent<FileCheckIconProps>;
@@ -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 { fileCheckArt, fileCheckStates } from "./file-check-rig.js";
6
+ export { fileCheckStates } from "./file-check-rig.js";
7
+ export const FileCheckIcon = memo(function FileCheckIcon(props) {
8
+ return _jsx(ArticulatedIcon, { art: fileCheckArt, states: fileCheckStates, ...props });
9
+ });
@@ -0,0 +1,57 @@
1
+ export declare const fileCheckStates: readonly ["idle", "checking", "valid"];
2
+ export type FileCheckState = (typeof fileCheckStates)[number];
3
+ export declare const fileCheckArt: {
4
+ readonly name: "file-check";
5
+ readonly parts: readonly [{
6
+ readonly name: "page";
7
+ readonly paths: readonly ["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", "M14 2v5a1 1 0 0 0 1 1h5"];
8
+ readonly poses: readonly [{}, {}, {}];
9
+ }, {
10
+ readonly name: "scan";
11
+ readonly paths: readonly ["M8 13h8"];
12
+ readonly poses: readonly [{
13
+ readonly opacity: 0;
14
+ }, {}, {
15
+ readonly opacity: 0;
16
+ }];
17
+ readonly gestures: readonly [null, {
18
+ readonly duration: 1.1;
19
+ readonly repeatAfter: 1.7;
20
+ readonly loop: true;
21
+ readonly frames: readonly [{
22
+ readonly at: 0;
23
+ readonly y: -2;
24
+ }, {
25
+ readonly at: 0.5;
26
+ readonly y: 3;
27
+ }, {
28
+ readonly at: 1;
29
+ readonly y: -2;
30
+ }];
31
+ }, null];
32
+ readonly detail: true;
33
+ }, {
34
+ readonly name: "check";
35
+ readonly paths: readonly ["m9 15 2 2 4-4"];
36
+ readonly poses: readonly [{
37
+ readonly opacity: 0;
38
+ }, {
39
+ readonly opacity: 0;
40
+ }, {}];
41
+ readonly traceLength: 9;
42
+ readonly gestures: readonly [null, null, {
43
+ readonly duration: 0.65;
44
+ readonly repeatAfter: 1.5;
45
+ readonly loop: false;
46
+ readonly frames: readonly [{
47
+ readonly at: 0;
48
+ readonly draw: -1;
49
+ }, {
50
+ readonly at: 0.8;
51
+ }, {
52
+ readonly at: 1;
53
+ }];
54
+ }];
55
+ readonly accent: true;
56
+ }];
57
+ };
@@ -0,0 +1,89 @@
1
+ export const fileCheckStates = ['idle', 'checking', 'valid'];
2
+ // Document validation result. The check is withheld while a short scanner moves through the page; it draws only on valid.
3
+ // Adapted Lucide geometry; see THIRD_PARTY_NOTICES.md.
4
+ export const fileCheckArt = {
5
+ name: 'file-check',
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
+ name: 'scan',
17
+ paths: ['M8 13h8'],
18
+ poses: [
19
+ {
20
+ opacity: 0,
21
+ },
22
+ {},
23
+ {
24
+ opacity: 0,
25
+ },
26
+ ],
27
+ gestures: [
28
+ null,
29
+ {
30
+ duration: 1.1,
31
+ repeatAfter: 1.7,
32
+ loop: true,
33
+ frames: [
34
+ {
35
+ at: 0,
36
+ y: -2,
37
+ },
38
+ {
39
+ at: 0.5,
40
+ y: 3,
41
+ },
42
+ {
43
+ at: 1,
44
+ y: -2,
45
+ },
46
+ ],
47
+ },
48
+ null,
49
+ ],
50
+ detail: true,
51
+ },
52
+ {
53
+ name: 'check',
54
+ paths: ['m9 15 2 2 4-4'],
55
+ poses: [
56
+ {
57
+ opacity: 0,
58
+ },
59
+ {
60
+ opacity: 0,
61
+ },
62
+ {},
63
+ ],
64
+ traceLength: 9,
65
+ gestures: [
66
+ null,
67
+ null,
68
+ {
69
+ duration: 0.65,
70
+ repeatAfter: 1.5,
71
+ loop: false,
72
+ frames: [
73
+ {
74
+ at: 0,
75
+ draw: -1,
76
+ },
77
+ {
78
+ at: 0.8,
79
+ },
80
+ {
81
+ at: 1,
82
+ },
83
+ ],
84
+ },
85
+ ],
86
+ accent: true,
87
+ },
88
+ ],
89
+ };
@@ -0,0 +1,5 @@
1
+ import type { StatefulIconProps } from "../../shared/icon-types.js";
2
+ import { type FilePlusState } from "./file-plus-rig.js";
3
+ export { filePlusStates, type FilePlusState } from "./file-plus-rig.js";
4
+ export type FilePlusIconProps = StatefulIconProps<FilePlusState>;
5
+ export declare const FilePlusIcon: import("react").NamedExoticComponent<FilePlusIconProps>;
@@ -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 { filePlusArt, filePlusStates } from "./file-plus-rig.js";
6
+ export { filePlusStates } from "./file-plus-rig.js";
7
+ export const FilePlusIcon = memo(function FilePlusIcon(props) {
8
+ return _jsx(ArticulatedIcon, { art: filePlusArt, states: filePlusStates, ...props });
9
+ });
@@ -0,0 +1,33 @@
1
+ export declare const filePlusStates: readonly ["idle", "creating", "created"];
2
+ export type FilePlusState = (typeof filePlusStates)[number];
3
+ export declare const filePlusArt: {
4
+ readonly name: "file-plus";
5
+ readonly parts: readonly [{
6
+ readonly name: "page";
7
+ readonly paths: readonly ["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", "M14 2v5a1 1 0 0 0 1 1h5"];
8
+ readonly poses: readonly [{}, {
9
+ readonly y: -0.6;
10
+ }, {}];
11
+ }, {
12
+ readonly name: "cross";
13
+ readonly paths: readonly ["M9 15h6", "M12 18v-6"];
14
+ readonly poses: readonly [{}, {
15
+ readonly scaleY: 0.45;
16
+ }, {}];
17
+ readonly pivot: readonly [12, 15];
18
+ readonly traceLength: 6;
19
+ readonly gestures: readonly [null, null, {
20
+ readonly duration: 0.65;
21
+ readonly repeatAfter: 1.5;
22
+ readonly loop: false;
23
+ readonly frames: readonly [{
24
+ readonly at: 0;
25
+ readonly draw: -1;
26
+ }, {
27
+ readonly at: 0.8;
28
+ }, {
29
+ readonly at: 1;
30
+ }];
31
+ }];
32
+ }];
33
+ };