weasel-icons 0.10.0 → 0.12.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 (212) hide show
  1. package/README.md +41 -0
  2. package/THIRD_PARTY_NOTICES.md +65 -1
  3. package/bin/cli.mjs +264 -0
  4. package/dist/icons/abacus/abacus-icon.d.ts +5 -0
  5. package/dist/icons/abacus/abacus-icon.js +9 -0
  6. package/dist/icons/abacus/abacus-rig.d.ts +40 -0
  7. package/dist/icons/abacus/abacus-rig.js +59 -0
  8. package/dist/icons/air-conditioner/air-conditioner-icon.d.ts +5 -0
  9. package/dist/icons/air-conditioner/air-conditioner-icon.js +9 -0
  10. package/dist/icons/air-conditioner/air-conditioner-rig.d.ts +74 -0
  11. package/dist/icons/air-conditioner/air-conditioner-rig.js +110 -0
  12. package/dist/icons/barrier-gate/barrier-gate-icon.d.ts +5 -0
  13. package/dist/icons/barrier-gate/barrier-gate-icon.js +9 -0
  14. package/dist/icons/barrier-gate/barrier-gate-rig.d.ts +25 -0
  15. package/dist/icons/barrier-gate/barrier-gate-rig.js +38 -0
  16. package/dist/icons/baseball/baseball-icon.d.ts +5 -0
  17. package/dist/icons/baseball/baseball-icon.js +9 -0
  18. package/dist/icons/baseball/baseball-rig.d.ts +89 -0
  19. package/dist/icons/baseball/baseball-rig.js +140 -0
  20. package/dist/icons/basketball/basketball-icon.d.ts +5 -0
  21. package/dist/icons/basketball/basketball-icon.js +9 -0
  22. package/dist/icons/basketball/basketball-rig.d.ts +77 -0
  23. package/dist/icons/basketball/basketball-rig.js +122 -0
  24. package/dist/icons/bus-stop/bus-stop-icon.d.ts +5 -0
  25. package/dist/icons/bus-stop/bus-stop-icon.js +9 -0
  26. package/dist/icons/bus-stop/bus-stop-rig.d.ts +46 -0
  27. package/dist/icons/bus-stop/bus-stop-rig.js +76 -0
  28. package/dist/icons/butterfly/butterfly-icon.d.ts +5 -0
  29. package/dist/icons/butterfly/butterfly-icon.js +9 -0
  30. package/dist/icons/butterfly/butterfly-rig.d.ts +64 -0
  31. package/dist/icons/butterfly/butterfly-rig.js +101 -0
  32. package/dist/icons/cactus/cactus-icon.d.ts +5 -0
  33. package/dist/icons/cactus/cactus-icon.js +9 -0
  34. package/dist/icons/cactus/cactus-rig.d.ts +85 -0
  35. package/dist/icons/cactus/cactus-rig.js +137 -0
  36. package/dist/icons/capacitor/capacitor-icon.d.ts +5 -0
  37. package/dist/icons/capacitor/capacitor-icon.js +9 -0
  38. package/dist/icons/capacitor/capacitor-rig.d.ts +60 -0
  39. package/dist/icons/capacitor/capacitor-rig.js +88 -0
  40. package/dist/icons/crane/crane-icon.d.ts +5 -0
  41. package/dist/icons/crane/crane-icon.js +9 -0
  42. package/dist/icons/crane/crane-rig.d.ts +59 -0
  43. package/dist/icons/crane/crane-rig.js +90 -0
  44. package/dist/icons/cricket-bat/cricket-bat-icon.d.ts +5 -0
  45. package/dist/icons/cricket-bat/cricket-bat-icon.js +9 -0
  46. package/dist/icons/cricket-bat/cricket-bat-rig.d.ts +107 -0
  47. package/dist/icons/cricket-bat/cricket-bat-rig.js +162 -0
  48. package/dist/icons/curling-stone/curling-stone-icon.d.ts +5 -0
  49. package/dist/icons/curling-stone/curling-stone-icon.js +9 -0
  50. package/dist/icons/curling-stone/curling-stone-rig.d.ts +83 -0
  51. package/dist/icons/curling-stone/curling-stone-rig.js +124 -0
  52. package/dist/icons/elevator/elevator-icon.d.ts +5 -0
  53. package/dist/icons/elevator/elevator-icon.js +9 -0
  54. package/dist/icons/elevator/elevator-rig.d.ts +62 -0
  55. package/dist/icons/elevator/elevator-rig.js +97 -0
  56. package/dist/icons/escalator/escalator-icon.d.ts +5 -0
  57. package/dist/icons/escalator/escalator-icon.js +9 -0
  58. package/dist/icons/escalator/escalator-rig.d.ts +66 -0
  59. package/dist/icons/escalator/escalator-rig.js +103 -0
  60. package/dist/icons/excavator/excavator-icon.d.ts +5 -0
  61. package/dist/icons/excavator/excavator-icon.js +9 -0
  62. package/dist/icons/excavator/excavator-rig.d.ts +64 -0
  63. package/dist/icons/excavator/excavator-rig.js +105 -0
  64. package/dist/icons/fire-hydrant/fire-hydrant-icon.d.ts +5 -0
  65. package/dist/icons/fire-hydrant/fire-hydrant-icon.js +9 -0
  66. package/dist/icons/fire-hydrant/fire-hydrant-rig.d.ts +167 -0
  67. package/dist/icons/fire-hydrant/fire-hydrant-rig.js +250 -0
  68. package/dist/icons/football/football-icon.d.ts +5 -0
  69. package/dist/icons/football/football-icon.js +9 -0
  70. package/dist/icons/football/football-rig.d.ts +81 -0
  71. package/dist/icons/football/football-rig.js +124 -0
  72. package/dist/icons/garden-cart/garden-cart-icon.d.ts +5 -0
  73. package/dist/icons/garden-cart/garden-cart-icon.js +9 -0
  74. package/dist/icons/garden-cart/garden-cart-rig.d.ts +66 -0
  75. package/dist/icons/garden-cart/garden-cart-rig.js +104 -0
  76. package/dist/icons/gearbox/gearbox-icon.d.ts +5 -0
  77. package/dist/icons/gearbox/gearbox-icon.js +24 -0
  78. package/dist/icons/gearbox/gearbox-rig.d.ts +34 -0
  79. package/dist/icons/gearbox/gearbox-rig.js +64 -0
  80. package/dist/icons/golf/golf-icon.d.ts +5 -0
  81. package/dist/icons/golf/golf-icon.js +9 -0
  82. package/dist/icons/golf/golf-rig.d.ts +34 -0
  83. package/dist/icons/golf/golf-rig.js +56 -0
  84. package/dist/icons/grill-spatula/grill-spatula-icon.d.ts +5 -0
  85. package/dist/icons/grill-spatula/grill-spatula-icon.js +9 -0
  86. package/dist/icons/grill-spatula/grill-spatula-rig.d.ts +89 -0
  87. package/dist/icons/grill-spatula/grill-spatula-rig.js +136 -0
  88. package/dist/icons/hot-air-balloon/hot-air-balloon-icon.d.ts +5 -0
  89. package/dist/icons/hot-air-balloon/hot-air-balloon-icon.js +9 -0
  90. package/dist/icons/hot-air-balloon/hot-air-balloon-rig.d.ts +84 -0
  91. package/dist/icons/hot-air-balloon/hot-air-balloon-rig.js +133 -0
  92. package/dist/icons/iron/iron-icon.d.ts +5 -0
  93. package/dist/icons/iron/iron-icon.js +9 -0
  94. package/dist/icons/iron/iron-rig.d.ts +52 -0
  95. package/dist/icons/iron/iron-rig.js +80 -0
  96. package/dist/icons/jetpack/jetpack-icon.d.ts +5 -0
  97. package/dist/icons/jetpack/jetpack-icon.js +9 -0
  98. package/dist/icons/jetpack/jetpack-rig.d.ts +103 -0
  99. package/dist/icons/jetpack/jetpack-rig.js +157 -0
  100. package/dist/icons/ladder/ladder-icon.d.ts +5 -0
  101. package/dist/icons/ladder/ladder-icon.js +9 -0
  102. package/dist/icons/ladder/ladder-rig.d.ts +80 -0
  103. package/dist/icons/ladder/ladder-rig.js +119 -0
  104. package/dist/icons/ladle/ladle-icon.d.ts +5 -0
  105. package/dist/icons/ladle/ladle-icon.js +9 -0
  106. package/dist/icons/ladle/ladle-rig.d.ts +86 -0
  107. package/dist/icons/ladle/ladle-rig.js +135 -0
  108. package/dist/icons/mushroom/mushroom-icon.d.ts +5 -0
  109. package/dist/icons/mushroom/mushroom-icon.js +9 -0
  110. package/dist/icons/mushroom/mushroom-rig.d.ts +49 -0
  111. package/dist/icons/mushroom/mushroom-rig.js +81 -0
  112. package/dist/icons/needle-thread/needle-thread-icon.d.ts +5 -0
  113. package/dist/icons/needle-thread/needle-thread-icon.js +9 -0
  114. package/dist/icons/needle-thread/needle-thread-rig.d.ts +33 -0
  115. package/dist/icons/needle-thread/needle-thread-rig.js +59 -0
  116. package/dist/icons/oven/oven-icon.d.ts +5 -0
  117. package/dist/icons/oven/oven-icon.js +9 -0
  118. package/dist/icons/oven/oven-rig.d.ts +51 -0
  119. package/dist/icons/oven/oven-rig.js +82 -0
  120. package/dist/icons/parachute/parachute-icon.d.ts +5 -0
  121. package/dist/icons/parachute/parachute-icon.js +9 -0
  122. package/dist/icons/parachute/parachute-rig.d.ts +25 -0
  123. package/dist/icons/parachute/parachute-rig.js +45 -0
  124. package/dist/icons/pinwheel/pinwheel-icon.d.ts +5 -0
  125. package/dist/icons/pinwheel/pinwheel-icon.js +9 -0
  126. package/dist/icons/pinwheel/pinwheel-rig.d.ts +116 -0
  127. package/dist/icons/pinwheel/pinwheel-rig.js +188 -0
  128. package/dist/icons/planet/planet-icon.d.ts +5 -0
  129. package/dist/icons/planet/planet-icon.js +9 -0
  130. package/dist/icons/planet/planet-rig.d.ts +61 -0
  131. package/dist/icons/planet/planet-rig.js +91 -0
  132. package/dist/icons/pliers/pliers-icon.d.ts +5 -0
  133. package/dist/icons/pliers/pliers-icon.js +9 -0
  134. package/dist/icons/pliers/pliers-rig.d.ts +62 -0
  135. package/dist/icons/pliers/pliers-rig.js +94 -0
  136. package/dist/icons/prism/prism-icon.d.ts +5 -0
  137. package/dist/icons/prism/prism-icon.js +9 -0
  138. package/dist/icons/prism/prism-rig.d.ts +64 -0
  139. package/dist/icons/prism/prism-rig.js +101 -0
  140. package/dist/icons/roller-skate/roller-skate-icon.d.ts +5 -0
  141. package/dist/icons/roller-skate/roller-skate-icon.js +9 -0
  142. package/dist/icons/roller-skate/roller-skate-rig.d.ts +182 -0
  143. package/dist/icons/roller-skate/roller-skate-rig.js +269 -0
  144. package/dist/icons/screwdriver/screwdriver-icon.d.ts +5 -0
  145. package/dist/icons/screwdriver/screwdriver-icon.js +9 -0
  146. package/dist/icons/screwdriver/screwdriver-rig.d.ts +85 -0
  147. package/dist/icons/screwdriver/screwdriver-rig.js +133 -0
  148. package/dist/icons/scuba-mask/scuba-mask-icon.d.ts +5 -0
  149. package/dist/icons/scuba-mask/scuba-mask-icon.js +9 -0
  150. package/dist/icons/scuba-mask/scuba-mask-rig.d.ts +39 -0
  151. package/dist/icons/scuba-mask/scuba-mask-rig.js +59 -0
  152. package/dist/icons/skateboard/skateboard-icon.d.ts +5 -0
  153. package/dist/icons/skateboard/skateboard-icon.js +9 -0
  154. package/dist/icons/skateboard/skateboard-rig.d.ts +85 -0
  155. package/dist/icons/skateboard/skateboard-rig.js +133 -0
  156. package/dist/icons/snowman/snowman-icon.d.ts +5 -0
  157. package/dist/icons/snowman/snowman-icon.js +9 -0
  158. package/dist/icons/snowman/snowman-rig.d.ts +65 -0
  159. package/dist/icons/snowman/snowman-rig.js +105 -0
  160. package/dist/icons/submarine/submarine-icon.d.ts +5 -0
  161. package/dist/icons/submarine/submarine-icon.js +9 -0
  162. package/dist/icons/submarine/submarine-rig.d.ts +67 -0
  163. package/dist/icons/submarine/submarine-rig.js +105 -0
  164. package/dist/icons/teapot/teapot-icon.d.ts +5 -0
  165. package/dist/icons/teapot/teapot-icon.js +9 -0
  166. package/dist/icons/teapot/teapot-rig.d.ts +59 -0
  167. package/dist/icons/teapot/teapot-rig.js +98 -0
  168. package/dist/icons/tennis-ball/tennis-ball-icon.d.ts +5 -0
  169. package/dist/icons/tennis-ball/tennis-ball-icon.js +9 -0
  170. package/dist/icons/tennis-ball/tennis-ball-rig.d.ts +91 -0
  171. package/dist/icons/tennis-ball/tennis-ball-rig.js +135 -0
  172. package/dist/icons/traffic-light/traffic-light-icon.d.ts +5 -0
  173. package/dist/icons/traffic-light/traffic-light-icon.js +9 -0
  174. package/dist/icons/traffic-light/traffic-light-rig.d.ts +46 -0
  175. package/dist/icons/traffic-light/traffic-light-rig.js +68 -0
  176. package/dist/icons/treadmill/treadmill-icon.d.ts +5 -0
  177. package/dist/icons/treadmill/treadmill-icon.js +9 -0
  178. package/dist/icons/treadmill/treadmill-rig.d.ts +135 -0
  179. package/dist/icons/treadmill/treadmill-rig.js +193 -0
  180. package/dist/icons/ufo/ufo-icon.d.ts +5 -0
  181. package/dist/icons/ufo/ufo-icon.js +9 -0
  182. package/dist/icons/ufo/ufo-rig.d.ts +123 -0
  183. package/dist/icons/ufo/ufo-rig.js +189 -0
  184. package/dist/icons/wheel/wheel-icon.d.ts +5 -0
  185. package/dist/icons/wheel/wheel-icon.js +9 -0
  186. package/dist/icons/wheel/wheel-rig.d.ts +62 -0
  187. package/dist/icons/wheel/wheel-rig.js +122 -0
  188. package/dist/icons/whisk/whisk-icon.d.ts +5 -0
  189. package/dist/icons/whisk/whisk-icon.js +9 -0
  190. package/dist/icons/whisk/whisk-rig.d.ts +55 -0
  191. package/dist/icons/whisk/whisk-rig.js +91 -0
  192. package/dist/icons/windmill/windmill-icon.d.ts +5 -0
  193. package/dist/icons/windmill/windmill-icon.js +9 -0
  194. package/dist/icons/windmill/windmill-rig.d.ts +56 -0
  195. package/dist/icons/windmill/windmill-rig.js +93 -0
  196. package/dist/icons/wood-log/wood-log-icon.d.ts +5 -0
  197. package/dist/icons/wood-log/wood-log-icon.js +9 -0
  198. package/dist/icons/wood-log/wood-log-rig.d.ts +67 -0
  199. package/dist/icons/wood-log/wood-log-rig.js +114 -0
  200. package/dist/icons/zeppelin/zeppelin-icon.d.ts +5 -0
  201. package/dist/icons/zeppelin/zeppelin-icon.js +9 -0
  202. package/dist/icons/zeppelin/zeppelin-rig.d.ts +75 -0
  203. package/dist/icons/zeppelin/zeppelin-rig.js +121 -0
  204. package/dist/index.d.ts +50 -0
  205. package/dist/index.js +51 -0
  206. package/dist/shared/icon-colors.d.ts +50 -0
  207. package/dist/source.json +1 -0
  208. package/package.json +260 -1
  209. package/skill-data/customize/SKILL.md +55 -0
  210. package/skill-data/customize/references/motion.md +15 -0
  211. package/skill-data/customize/references/review.md +14 -0
  212. package/skills/weasel-customize/SKILL.md +18 -0
@@ -0,0 +1,110 @@
1
+ // Geometry reference: https://raw.githubusercontent.com/tabler/tabler-icons/ed177a085b652fe04ec4f37ced867c94621e7840/icons/outline/air-conditioning.svg
2
+ // Adaptation and motion are authored for Weasel. See THIRD_PARTY_NOTICES.md.
3
+ // A wall-mounted case has a central outlet and three downward flow channels. Straight and wavering air marks distinguish cool and warm modes in monochrome.
4
+ // off: Outlet quiet
5
+ // cooling: Straight downward airflow
6
+ // heating: Warm wavering airflow
7
+ export const airConditionerStates = ['off', 'cooling', 'heating'];
8
+ export const airConditionerArt = {
9
+ name: 'air-conditioner',
10
+ parts: [
11
+ {
12
+ name: 'case',
13
+ paths: ['M3 7a2 2 0 0 1 2 -2h14a2 2 0 0 1 2 2v4a2 2 0 0 1 -2 2h-14a2 2 0 0 1 -2 -2l0 -4'],
14
+ poses: [{}, {}, {}],
15
+ },
16
+ {
17
+ name: 'vent',
18
+ paths: ['M7 13v-3a1 1 0 0 1 1 -1h8a1 1 0 0 1 1 1v3'],
19
+ poses: [{}, {}, {}],
20
+ detail: true,
21
+ },
22
+ {
23
+ name: 'cool-air',
24
+ paths: ['M8 16a3 3 0 0 1 -3 3', 'M16 16a3 3 0 0 0 3 3', 'M12 16v4'],
25
+ poses: [
26
+ {
27
+ opacity: 0,
28
+ },
29
+ {
30
+ opacity: 1,
31
+ },
32
+ {
33
+ opacity: 0,
34
+ },
35
+ ],
36
+ detail: true,
37
+ accent: true,
38
+ traceLength: 5,
39
+ gestures: [
40
+ null,
41
+ {
42
+ duration: 1.0,
43
+ repeatAfter: 1.5,
44
+ loop: true,
45
+ frames: [
46
+ {
47
+ at: 0,
48
+ draw: -0.8,
49
+ opacity: -1,
50
+ },
51
+ {
52
+ at: 0.18,
53
+ draw: -0.6,
54
+ },
55
+ {
56
+ at: 0.8,
57
+ },
58
+ {
59
+ at: 1,
60
+ opacity: -1,
61
+ },
62
+ ],
63
+ },
64
+ null,
65
+ ],
66
+ },
67
+ {
68
+ name: 'warm-air',
69
+ paths: ['M7 17q-1 1 0 2t0 2', 'M12 17q-1 1 0 2t0 2', 'M17 17q-1 1 0 2t0 2'],
70
+ poses: [
71
+ {
72
+ opacity: 0,
73
+ },
74
+ {
75
+ opacity: 0,
76
+ },
77
+ {
78
+ opacity: 1,
79
+ },
80
+ ],
81
+ detail: true,
82
+ accent: true,
83
+ gestures: [
84
+ null,
85
+ null,
86
+ {
87
+ duration: 1.5,
88
+ repeatAfter: 2,
89
+ loop: true,
90
+ frames: [
91
+ {
92
+ at: 0,
93
+ },
94
+ {
95
+ at: 0.28,
96
+ y: -0.25,
97
+ },
98
+ {
99
+ at: 0.65,
100
+ y: 0.1375,
101
+ },
102
+ {
103
+ at: 1,
104
+ },
105
+ ],
106
+ },
107
+ ],
108
+ },
109
+ ],
110
+ };
@@ -0,0 +1,5 @@
1
+ import type { StatefulIconProps } from "../../shared/icon-types.js";
2
+ import { type BarrierGateState } from "./barrier-gate-rig.js";
3
+ export { barrierGateStates, type BarrierGateState } from "./barrier-gate-rig.js";
4
+ export type BarrierGateIconProps = StatefulIconProps<BarrierGateState>;
5
+ export declare const BarrierGateIcon: import("react").NamedExoticComponent<BarrierGateIconProps>;
@@ -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 { barrierGateArt, barrierGateStates } from "./barrier-gate-rig.js";
6
+ export { barrierGateStates } from "./barrier-gate-rig.js";
7
+ export const BarrierGateIcon = memo(function BarrierGateIcon(props) {
8
+ return _jsx(ArticulatedIcon, { art: barrierGateArt, states: barrierGateStates, ...props });
9
+ });
@@ -0,0 +1,25 @@
1
+ export declare const barrierGateStates: readonly ["closed", "opening", "open"];
2
+ export type BarrierGateState = (typeof barrierGateStates)[number];
3
+ export declare const barrierGateArt: {
4
+ readonly name: "barrier-gate";
5
+ readonly parts: readonly [{
6
+ readonly name: "pedestal";
7
+ readonly paths: readonly ["M2 21v-7a3 3 0 0 1 6 0v7", "M2 21h6"];
8
+ readonly poses: readonly [{}, {}, {}];
9
+ }, {
10
+ readonly name: "boom";
11
+ readonly paths: readonly ["M5 16h15.5"];
12
+ readonly poses: readonly [{}, {
13
+ readonly angle: -28;
14
+ }, {
15
+ readonly angle: -55;
16
+ }];
17
+ readonly pivot: readonly [5, 16];
18
+ }, {
19
+ readonly name: "hinge";
20
+ readonly paths: readonly ["M4.2 16a0.8 0.8 0 1 0 1.6 0a0.8 0.8 0 1 0 -1.6 0"];
21
+ readonly poses: readonly [{}, {}, {}];
22
+ readonly detail: true;
23
+ readonly surface: true;
24
+ }];
25
+ };
@@ -0,0 +1,38 @@
1
+ // Geometry reference: https://raw.githubusercontent.com/tabler/tabler-icons/ed177a085b652fe04ec4f37ced867c94621e7840/icons/outline/barrier-block.svg
2
+ // Adaptation and motion are authored for Weasel. See THIRD_PARTY_NOTICES.md.
3
+ // Gate reference shows a fixed cabinet, a single boom pivot and stripes travelling with the arm. The Tabler panel supplies stripe vocabulary; pivoted boom geometry is authored.
4
+ // closed: Boom retained across the passage
5
+ // opening: Boom held halfway up while the host reports opening
6
+ // open: Boom raised clear of the passage; no timer decides this state
7
+ export const barrierGateStates = ['closed', 'opening', 'open'];
8
+ export const barrierGateArt = {
9
+ name: 'barrier-gate',
10
+ parts: [
11
+ {
12
+ name: 'pedestal',
13
+ paths: ['M2 21v-7a3 3 0 0 1 6 0v7', 'M2 21h6'],
14
+ poses: [{}, {}, {}],
15
+ },
16
+ {
17
+ name: 'boom',
18
+ paths: ['M5 16h15.5'],
19
+ poses: [
20
+ {},
21
+ {
22
+ angle: -28,
23
+ },
24
+ {
25
+ angle: -55,
26
+ },
27
+ ],
28
+ pivot: [5, 16],
29
+ },
30
+ {
31
+ name: 'hinge',
32
+ paths: ['M4.2 16a0.8 0.8 0 1 0 1.6 0a0.8 0.8 0 1 0 -1.6 0'],
33
+ poses: [{}, {}, {}],
34
+ detail: true,
35
+ surface: true,
36
+ },
37
+ ],
38
+ };
@@ -0,0 +1,5 @@
1
+ import type { StatefulIconProps } from "../../shared/icon-types.js";
2
+ import { type BaseballState } from "./baseball-rig.js";
3
+ export { baseballStates, type BaseballState } from "./baseball-rig.js";
4
+ export type BaseballIconProps = StatefulIconProps<BaseballState>;
5
+ export declare const BaseballIcon: import("react").NamedExoticComponent<BaseballIconProps>;
@@ -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 { baseballArt, baseballStates } from "./baseball-rig.js";
6
+ export { baseballStates } from "./baseball-rig.js";
7
+ export const BaseballIcon = memo(function BaseballIcon(props) {
8
+ return _jsx(ArticulatedIcon, { art: baseballArt, states: baseballStates, ...props });
9
+ });
@@ -0,0 +1,89 @@
1
+ export declare const baseballStates: readonly ["held", "pitching", "spinning"];
2
+ export type BaseballState = (typeof baseballStates)[number];
3
+ export declare const baseballArt: {
4
+ readonly name: "baseball";
5
+ readonly parts: readonly [{
6
+ readonly name: "outline";
7
+ readonly paths: readonly ["M5.636 18.364a9 9 0 1 0 12.728 -12.728a9 9 0 0 0 -12.728 12.728"];
8
+ readonly poses: readonly [{}, {}, {
9
+ readonly angle: 12;
10
+ }];
11
+ readonly pivot: readonly [12, 12];
12
+ readonly gestures: readonly [null, {
13
+ readonly duration: 1;
14
+ readonly repeatAfter: 1.4;
15
+ readonly loop: true;
16
+ readonly frames: readonly [{
17
+ readonly at: 0;
18
+ readonly x: -1.4;
19
+ readonly opacity: -1;
20
+ }, {
21
+ readonly at: 0.16;
22
+ readonly x: -1.4;
23
+ }, {
24
+ readonly at: 0.76;
25
+ readonly x: 1.4;
26
+ }, {
27
+ readonly at: 0.9;
28
+ readonly x: 1.4;
29
+ readonly opacity: -1;
30
+ }, {
31
+ readonly at: 1;
32
+ readonly x: -1.4;
33
+ readonly opacity: -1;
34
+ }];
35
+ }, {
36
+ readonly duration: 1.8;
37
+ readonly repeatAfter: 1.8;
38
+ readonly loop: true;
39
+ readonly frames: readonly [{
40
+ readonly at: 0;
41
+ }, {
42
+ readonly at: 1;
43
+ readonly angle: 360;
44
+ }];
45
+ }];
46
+ }, {
47
+ readonly name: "details";
48
+ readonly paths: readonly ["M12.495 3.02a9 9 0 0 1 -9.475 9.475", "M20.98 11.505a9 9 0 0 0 -9.475 9.475", "M9 9l2 2", "M13 13l2 2", "M11 7l2 1", "M7 11l1 2", "M16 11l1 2", "M11 16l2 1"];
49
+ readonly poses: readonly [{}, {}, {
50
+ readonly angle: 12;
51
+ }];
52
+ readonly detail: true;
53
+ readonly pivot: readonly [12, 12];
54
+ readonly gestures: readonly [null, {
55
+ readonly duration: 1;
56
+ readonly repeatAfter: 1.4;
57
+ readonly loop: true;
58
+ readonly frames: readonly [{
59
+ readonly at: 0;
60
+ readonly x: -1.4;
61
+ readonly opacity: -1;
62
+ }, {
63
+ readonly at: 0.16;
64
+ readonly x: -1.4;
65
+ }, {
66
+ readonly at: 0.76;
67
+ readonly x: 1.4;
68
+ }, {
69
+ readonly at: 0.9;
70
+ readonly x: 1.4;
71
+ readonly opacity: -1;
72
+ }, {
73
+ readonly at: 1;
74
+ readonly x: -1.4;
75
+ readonly opacity: -1;
76
+ }];
77
+ }, {
78
+ readonly duration: 1.8;
79
+ readonly repeatAfter: 1.8;
80
+ readonly loop: true;
81
+ readonly frames: readonly [{
82
+ readonly at: 0;
83
+ }, {
84
+ readonly at: 1;
85
+ readonly angle: 360;
86
+ }];
87
+ }];
88
+ }];
89
+ };
@@ -0,0 +1,140 @@
1
+ // Geometry reference: https://raw.githubusercontent.com/tabler/tabler-icons/ed177a085b652fe04ec4f37ced867c94621e7840/icons/outline/ball-baseball.svg
2
+ // Adaptation and motion are authored for Weasel. See THIRD_PARTY_NOTICES.md.
3
+ // Inspected ball outline and its characteristic seams are kept together as one rigid assembly; internal seams use the detail stroke.
4
+ // held: Ball held at rest
5
+ // pitching: Sport-specific ongoing movement; only alive repeats
6
+ // spinning: A distinct spin or strike gesture; no score is inferred
7
+ export const baseballStates = ['held', 'pitching', 'spinning'];
8
+ export const baseballArt = {
9
+ name: 'baseball',
10
+ parts: [
11
+ {
12
+ name: 'outline',
13
+ paths: ['M5.636 18.364a9 9 0 1 0 12.728 -12.728a9 9 0 0 0 -12.728 12.728'],
14
+ poses: [
15
+ {},
16
+ {},
17
+ {
18
+ angle: 12,
19
+ },
20
+ ],
21
+ pivot: [12, 12],
22
+ gestures: [
23
+ null,
24
+ {
25
+ duration: 1.0,
26
+ repeatAfter: 1.4,
27
+ loop: true,
28
+ frames: [
29
+ {
30
+ at: 0,
31
+ x: -1.4,
32
+ opacity: -1,
33
+ },
34
+ {
35
+ at: 0.16,
36
+ x: -1.4,
37
+ },
38
+ {
39
+ at: 0.76,
40
+ x: 1.4,
41
+ },
42
+ {
43
+ at: 0.9,
44
+ x: 1.4,
45
+ opacity: -1,
46
+ },
47
+ {
48
+ at: 1,
49
+ x: -1.4,
50
+ opacity: -1,
51
+ },
52
+ ],
53
+ },
54
+ {
55
+ duration: 1.8,
56
+ repeatAfter: 1.8,
57
+ loop: true,
58
+ frames: [
59
+ {
60
+ at: 0,
61
+ },
62
+ {
63
+ at: 1,
64
+ angle: 360,
65
+ },
66
+ ],
67
+ },
68
+ ],
69
+ },
70
+ {
71
+ name: 'details',
72
+ paths: [
73
+ 'M12.495 3.02a9 9 0 0 1 -9.475 9.475',
74
+ 'M20.98 11.505a9 9 0 0 0 -9.475 9.475',
75
+ 'M9 9l2 2',
76
+ 'M13 13l2 2',
77
+ 'M11 7l2 1',
78
+ 'M7 11l1 2',
79
+ 'M16 11l1 2',
80
+ 'M11 16l2 1',
81
+ ],
82
+ poses: [
83
+ {},
84
+ {},
85
+ {
86
+ angle: 12,
87
+ },
88
+ ],
89
+ detail: true,
90
+ pivot: [12, 12],
91
+ gestures: [
92
+ null,
93
+ {
94
+ duration: 1.0,
95
+ repeatAfter: 1.4,
96
+ loop: true,
97
+ frames: [
98
+ {
99
+ at: 0,
100
+ x: -1.4,
101
+ opacity: -1,
102
+ },
103
+ {
104
+ at: 0.16,
105
+ x: -1.4,
106
+ },
107
+ {
108
+ at: 0.76,
109
+ x: 1.4,
110
+ },
111
+ {
112
+ at: 0.9,
113
+ x: 1.4,
114
+ opacity: -1,
115
+ },
116
+ {
117
+ at: 1,
118
+ x: -1.4,
119
+ opacity: -1,
120
+ },
121
+ ],
122
+ },
123
+ {
124
+ duration: 1.8,
125
+ repeatAfter: 1.8,
126
+ loop: true,
127
+ frames: [
128
+ {
129
+ at: 0,
130
+ },
131
+ {
132
+ at: 1,
133
+ angle: 360,
134
+ },
135
+ ],
136
+ },
137
+ ],
138
+ },
139
+ ],
140
+ };
@@ -0,0 +1,5 @@
1
+ import type { StatefulIconProps } from "../../shared/icon-types.js";
2
+ import { type BasketballState } from "./basketball-rig.js";
3
+ export { basketballStates, type BasketballState } from "./basketball-rig.js";
4
+ export type BasketballIconProps = StatefulIconProps<BasketballState>;
5
+ export declare const BasketballIcon: import("react").NamedExoticComponent<BasketballIconProps>;
@@ -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 { basketballArt, basketballStates } from "./basketball-rig.js";
6
+ export { basketballStates } from "./basketball-rig.js";
7
+ export const BasketballIcon = memo(function BasketballIcon(props) {
8
+ return _jsx(ArticulatedIcon, { art: basketballArt, states: basketballStates, ...props });
9
+ });
@@ -0,0 +1,77 @@
1
+ export declare const basketballStates: readonly ["held", "bouncing", "spinning"];
2
+ export type BasketballState = (typeof basketballStates)[number];
3
+ export declare const basketballArt: {
4
+ readonly name: "basketball";
5
+ readonly parts: readonly [{
6
+ readonly name: "outline";
7
+ readonly paths: readonly ["M3 12a9 9 0 1 0 18 0a9 9 0 1 0 -18 0"];
8
+ readonly poses: readonly [{}, {
9
+ readonly y: 0.7;
10
+ }, {
11
+ readonly angle: 18;
12
+ }];
13
+ readonly pivot: readonly [12, 12];
14
+ readonly gestures: readonly [null, {
15
+ readonly duration: 0.8;
16
+ readonly repeatAfter: 0.85;
17
+ readonly loop: true;
18
+ readonly frames: readonly [{
19
+ readonly at: 0;
20
+ }, {
21
+ readonly at: 0.28;
22
+ readonly y: -1.2;
23
+ }, {
24
+ readonly at: 0.65;
25
+ readonly y: 0.66;
26
+ }, {
27
+ readonly at: 1;
28
+ }];
29
+ }, {
30
+ readonly duration: 2.2;
31
+ readonly repeatAfter: 2.2;
32
+ readonly loop: true;
33
+ readonly frames: readonly [{
34
+ readonly at: 0;
35
+ }, {
36
+ readonly at: 1;
37
+ readonly angle: 360;
38
+ }];
39
+ }];
40
+ }, {
41
+ readonly name: "details";
42
+ readonly paths: readonly ["M5.65 5.65l12.7 12.7", "M5.65 18.35l12.7 -12.7", "M12 3a9 9 0 0 0 9 9", "M3 12a9 9 0 0 1 9 9"];
43
+ readonly poses: readonly [{}, {
44
+ readonly y: 0.7;
45
+ }, {
46
+ readonly angle: 18;
47
+ }];
48
+ readonly detail: true;
49
+ readonly pivot: readonly [12, 12];
50
+ readonly gestures: readonly [null, {
51
+ readonly duration: 0.8;
52
+ readonly repeatAfter: 0.85;
53
+ readonly loop: true;
54
+ readonly frames: readonly [{
55
+ readonly at: 0;
56
+ }, {
57
+ readonly at: 0.28;
58
+ readonly y: -1.2;
59
+ }, {
60
+ readonly at: 0.65;
61
+ readonly y: 0.66;
62
+ }, {
63
+ readonly at: 1;
64
+ }];
65
+ }, {
66
+ readonly duration: 2.2;
67
+ readonly repeatAfter: 2.2;
68
+ readonly loop: true;
69
+ readonly frames: readonly [{
70
+ readonly at: 0;
71
+ }, {
72
+ readonly at: 1;
73
+ readonly angle: 360;
74
+ }];
75
+ }];
76
+ }];
77
+ };
@@ -0,0 +1,122 @@
1
+ // Geometry reference: https://raw.githubusercontent.com/tabler/tabler-icons/ed177a085b652fe04ec4f37ced867c94621e7840/icons/outline/ball-basketball.svg
2
+ // Adaptation and motion are authored for Weasel. See THIRD_PARTY_NOTICES.md.
3
+ // Inspected ball outline and its characteristic seams are kept together as one rigid assembly; internal seams use the detail stroke.
4
+ // held: Ball held at rest
5
+ // bouncing: Sport-specific ongoing movement; only alive repeats
6
+ // spinning: A distinct spin or strike gesture; no score is inferred
7
+ export const basketballStates = ['held', 'bouncing', 'spinning'];
8
+ export const basketballArt = {
9
+ name: 'basketball',
10
+ parts: [
11
+ {
12
+ name: 'outline',
13
+ paths: ['M3 12a9 9 0 1 0 18 0a9 9 0 1 0 -18 0'],
14
+ poses: [
15
+ {},
16
+ {
17
+ y: 0.7,
18
+ },
19
+ {
20
+ angle: 18,
21
+ },
22
+ ],
23
+ pivot: [12, 12],
24
+ gestures: [
25
+ null,
26
+ {
27
+ duration: 0.8,
28
+ repeatAfter: 0.85,
29
+ loop: true,
30
+ frames: [
31
+ {
32
+ at: 0,
33
+ },
34
+ {
35
+ at: 0.28,
36
+ y: -1.2,
37
+ },
38
+ {
39
+ at: 0.65,
40
+ y: 0.66,
41
+ },
42
+ {
43
+ at: 1,
44
+ },
45
+ ],
46
+ },
47
+ {
48
+ duration: 2.2,
49
+ repeatAfter: 2.2,
50
+ loop: true,
51
+ frames: [
52
+ {
53
+ at: 0,
54
+ },
55
+ {
56
+ at: 1,
57
+ angle: 360,
58
+ },
59
+ ],
60
+ },
61
+ ],
62
+ },
63
+ {
64
+ name: 'details',
65
+ paths: [
66
+ 'M5.65 5.65l12.7 12.7',
67
+ 'M5.65 18.35l12.7 -12.7',
68
+ 'M12 3a9 9 0 0 0 9 9',
69
+ 'M3 12a9 9 0 0 1 9 9',
70
+ ],
71
+ poses: [
72
+ {},
73
+ {
74
+ y: 0.7,
75
+ },
76
+ {
77
+ angle: 18,
78
+ },
79
+ ],
80
+ detail: true,
81
+ pivot: [12, 12],
82
+ gestures: [
83
+ null,
84
+ {
85
+ duration: 0.8,
86
+ repeatAfter: 0.85,
87
+ loop: true,
88
+ frames: [
89
+ {
90
+ at: 0,
91
+ },
92
+ {
93
+ at: 0.28,
94
+ y: -1.2,
95
+ },
96
+ {
97
+ at: 0.65,
98
+ y: 0.66,
99
+ },
100
+ {
101
+ at: 1,
102
+ },
103
+ ],
104
+ },
105
+ {
106
+ duration: 2.2,
107
+ repeatAfter: 2.2,
108
+ loop: true,
109
+ frames: [
110
+ {
111
+ at: 0,
112
+ },
113
+ {
114
+ at: 1,
115
+ angle: 360,
116
+ },
117
+ ],
118
+ },
119
+ ],
120
+ },
121
+ ],
122
+ };
@@ -0,0 +1,5 @@
1
+ import type { StatefulIconProps } from "../../shared/icon-types.js";
2
+ import { type BusStopState } from "./bus-stop-rig.js";
3
+ export { busStopStates, type BusStopState } from "./bus-stop-rig.js";
4
+ export type BusStopIconProps = StatefulIconProps<BusStopState>;
5
+ export declare const BusStopIcon: import("react").NamedExoticComponent<BusStopIconProps>;
@@ -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 { busStopArt, busStopStates } from "./bus-stop-rig.js";
6
+ export { busStopStates } from "./bus-stop-rig.js";
7
+ export const BusStopIcon = memo(function BusStopIcon(props) {
8
+ return _jsx(ArticulatedIcon, { art: busStopArt, states: busStopStates, ...props });
9
+ });