weasel-icons 0.2.0 → 0.3.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.
- package/README.md +81 -2
- package/THIRD_PARTY_NOTICES.md +6 -4
- package/dist/icons/arrow-down/arrow-down-icon.d.ts +5 -0
- package/dist/icons/arrow-down/arrow-down-icon.js +9 -0
- package/dist/icons/arrow-down/arrow-down-rig.d.ts +43 -0
- package/dist/icons/arrow-down/arrow-down-rig.js +64 -0
- package/dist/icons/arrow-left/arrow-left-icon.d.ts +5 -0
- package/dist/icons/arrow-left/arrow-left-icon.js +9 -0
- package/dist/icons/arrow-left/arrow-left-rig.d.ts +43 -0
- package/dist/icons/arrow-left/arrow-left-rig.js +64 -0
- package/dist/icons/arrow-right/arrow-right-icon.d.ts +5 -0
- package/dist/icons/arrow-right/arrow-right-icon.js +9 -0
- package/dist/icons/arrow-right/arrow-right-rig.d.ts +43 -0
- package/dist/icons/arrow-right/arrow-right-rig.js +64 -0
- package/dist/icons/arrow-up/arrow-up-icon.d.ts +5 -0
- package/dist/icons/arrow-up/arrow-up-icon.js +9 -0
- package/dist/icons/arrow-up/arrow-up-rig.d.ts +43 -0
- package/dist/icons/arrow-up/arrow-up-rig.js +64 -0
- package/dist/icons/book-open/book-open-icon.d.ts +5 -0
- package/dist/icons/book-open/book-open-icon.js +9 -0
- package/dist/icons/book-open/book-open-rig.d.ts +65 -0
- package/dist/icons/book-open/book-open-rig.js +95 -0
- package/dist/icons/bookmark/bookmark-icon.d.ts +5 -0
- package/dist/icons/bookmark/bookmark-icon.js +9 -0
- package/dist/icons/bookmark/bookmark-rig.d.ts +43 -0
- package/dist/icons/bookmark/bookmark-rig.js +65 -0
- package/dist/icons/calendar/calendar-icon.d.ts +5 -0
- package/dist/icons/calendar/calendar-icon.js +9 -0
- package/dist/icons/calendar/calendar-rig.d.ts +67 -0
- package/dist/icons/calendar/calendar-rig.js +95 -0
- package/dist/icons/camera/camera-icon.d.ts +5 -0
- package/dist/icons/camera/camera-icon.js +9 -0
- package/dist/icons/camera/camera-rig.d.ts +58 -0
- package/dist/icons/camera/camera-rig.js +82 -0
- package/dist/icons/chevron-down/chevron-down-icon.d.ts +5 -0
- package/dist/icons/chevron-down/chevron-down-icon.js +9 -0
- package/dist/icons/chevron-down/chevron-down-rig.d.ts +48 -0
- package/dist/icons/chevron-down/chevron-down-rig.js +30 -0
- package/dist/icons/chevron-left/chevron-left-icon.d.ts +5 -0
- package/dist/icons/chevron-left/chevron-left-icon.js +9 -0
- package/dist/icons/chevron-left/chevron-left-rig.d.ts +34 -0
- package/dist/icons/chevron-left/chevron-left-rig.js +49 -0
- package/dist/icons/chevron-right/chevron-right-icon.d.ts +5 -0
- package/dist/icons/chevron-right/chevron-right-icon.js +9 -0
- package/dist/icons/chevron-right/chevron-right-rig.d.ts +34 -0
- package/dist/icons/chevron-right/chevron-right-rig.js +49 -0
- package/dist/icons/chevron-up/chevron-up-icon.d.ts +5 -0
- package/dist/icons/chevron-up/chevron-up-icon.js +9 -0
- package/dist/icons/chevron-up/chevron-up-rig.d.ts +48 -0
- package/dist/icons/chevron-up/chevron-up-rig.js +30 -0
- package/dist/icons/circle-help/circle-help-icon.d.ts +5 -0
- package/dist/icons/circle-help/circle-help-icon.js +9 -0
- package/dist/icons/circle-help/circle-help-rig.d.ts +45 -0
- package/dist/icons/circle-help/circle-help-rig.js +70 -0
- package/dist/icons/clipboard/clipboard-icon.d.ts +5 -0
- package/dist/icons/clipboard/clipboard-icon.js +9 -0
- package/dist/icons/clipboard/clipboard-rig.d.ts +69 -0
- package/dist/icons/clipboard/clipboard-rig.js +99 -0
- package/dist/icons/clock/clock-icon.d.ts +5 -0
- package/dist/icons/clock/clock-icon.js +9 -0
- package/dist/icons/clock/clock-rig.d.ts +40 -0
- package/dist/icons/clock/clock-rig.js +53 -0
- package/dist/icons/cloud/cloud-icon.d.ts +5 -0
- package/dist/icons/cloud/cloud-icon.js +9 -0
- package/dist/icons/cloud/cloud-rig.d.ts +74 -0
- package/dist/icons/cloud/cloud-rig.js +103 -0
- package/dist/icons/code/code-icon.d.ts +5 -0
- package/dist/icons/code/code-icon.js +9 -0
- package/dist/icons/code/code-rig.d.ts +104 -0
- package/dist/icons/code/code-rig.js +148 -0
- package/dist/icons/credit-card/credit-card-icon.d.ts +5 -0
- package/dist/icons/credit-card/credit-card-icon.js +9 -0
- package/dist/icons/credit-card/credit-card-rig.d.ts +88 -0
- package/dist/icons/credit-card/credit-card-rig.js +122 -0
- package/dist/icons/database/database-icon.d.ts +5 -0
- package/dist/icons/database/database-icon.js +9 -0
- package/dist/icons/database/database-rig.d.ts +61 -0
- package/dist/icons/database/database-rig.js +86 -0
- package/dist/icons/external-link/external-link-icon.d.ts +5 -0
- package/dist/icons/external-link/external-link-icon.js +9 -0
- package/dist/icons/external-link/external-link-rig.d.ts +45 -0
- package/dist/icons/external-link/external-link-rig.js +42 -0
- package/dist/icons/file/file-icon.d.ts +5 -0
- package/dist/icons/file/file-icon.js +9 -0
- package/dist/icons/file/file-rig.d.ts +53 -0
- package/dist/icons/file/file-rig.js +80 -0
- package/dist/icons/file-text/file-text-icon.d.ts +5 -0
- package/dist/icons/file-text/file-text-icon.js +9 -0
- package/dist/icons/file-text/file-text-rig.d.ts +93 -0
- package/dist/icons/file-text/file-text-rig.js +138 -0
- package/dist/icons/filter/filter-icon.d.ts +5 -0
- package/dist/icons/filter/filter-icon.js +9 -0
- package/dist/icons/filter/filter-rig.d.ts +72 -0
- package/dist/icons/filter/filter-rig.js +99 -0
- package/dist/icons/folder/folder-icon.d.ts +5 -0
- package/dist/icons/folder/folder-icon.js +9 -0
- package/dist/icons/folder/folder-rig.d.ts +20 -0
- package/dist/icons/folder/folder-rig.js +28 -0
- package/dist/icons/globe/globe-icon.d.ts +5 -0
- package/dist/icons/globe/globe-icon.js +9 -0
- package/dist/icons/globe/globe-rig.d.ts +40 -0
- package/dist/icons/globe/globe-rig.js +57 -0
- package/dist/icons/home/home-icon.d.ts +5 -0
- package/dist/icons/home/home-icon.js +9 -0
- package/dist/icons/home/home-rig.d.ts +49 -0
- package/dist/icons/home/home-rig.js +76 -0
- package/dist/icons/image/image-icon.d.ts +5 -0
- package/dist/icons/image/image-icon.js +9 -0
- package/dist/icons/image/image-rig.d.ts +70 -0
- package/dist/icons/image/image-rig.js +99 -0
- package/dist/icons/info/info-icon.d.ts +5 -0
- package/dist/icons/info/info-icon.js +9 -0
- package/dist/icons/info/info-rig.d.ts +48 -0
- package/dist/icons/info/info-rig.js +69 -0
- package/dist/icons/key/key-icon.d.ts +5 -0
- package/dist/icons/key/key-icon.js +9 -0
- package/dist/icons/key/key-rig.d.ts +50 -0
- package/dist/icons/key/key-rig.js +76 -0
- package/dist/icons/layers/layers-icon.d.ts +5 -0
- package/dist/icons/layers/layers-icon.js +9 -0
- package/dist/icons/layers/layers-rig.d.ts +147 -0
- package/dist/icons/layers/layers-rig.js +211 -0
- package/dist/icons/layout-dashboard/layout-dashboard-icon.d.ts +5 -0
- package/dist/icons/layout-dashboard/layout-dashboard-icon.js +9 -0
- package/dist/icons/layout-dashboard/layout-dashboard-rig.d.ts +194 -0
- package/dist/icons/layout-dashboard/layout-dashboard-rig.js +284 -0
- package/dist/icons/layout-grid/layout-grid-icon.d.ts +5 -0
- package/dist/icons/layout-grid/layout-grid-icon.js +9 -0
- package/dist/icons/layout-grid/layout-grid-rig.d.ts +103 -0
- package/dist/icons/layout-grid/layout-grid-rig.js +167 -0
- package/dist/icons/list/list-icon.d.ts +5 -0
- package/dist/icons/list/list-icon.js +9 -0
- package/dist/icons/list/list-rig.d.ts +165 -0
- package/dist/icons/list/list-rig.js +231 -0
- package/dist/icons/lock/lock-icon.d.ts +5 -0
- package/dist/icons/lock/lock-icon.js +9 -0
- package/dist/icons/lock/lock-rig.d.ts +42 -0
- package/dist/icons/lock/lock-rig.js +58 -0
- package/dist/icons/log-in/log-in-icon.d.ts +5 -0
- package/dist/icons/log-in/log-in-icon.js +9 -0
- package/dist/icons/log-in/log-in-rig.d.ts +39 -0
- package/dist/icons/log-in/log-in-rig.js +55 -0
- package/dist/icons/log-out/log-out-icon.d.ts +5 -0
- package/dist/icons/log-out/log-out-icon.js +9 -0
- package/dist/icons/log-out/log-out-rig.d.ts +39 -0
- package/dist/icons/log-out/log-out-rig.js +55 -0
- package/dist/icons/mail/mail-icon.d.ts +5 -0
- package/dist/icons/mail/mail-icon.js +9 -0
- package/dist/icons/mail/mail-rig.d.ts +20 -0
- package/dist/icons/mail/mail-rig.js +28 -0
- package/dist/icons/map-pin/map-pin-icon.d.ts +5 -0
- package/dist/icons/map-pin/map-pin-icon.js +9 -0
- package/dist/icons/map-pin/map-pin-rig.d.ts +118 -0
- package/dist/icons/map-pin/map-pin-rig.js +164 -0
- package/dist/icons/maximize/maximize-icon.d.ts +5 -0
- package/dist/icons/maximize/maximize-icon.js +9 -0
- package/dist/icons/maximize/maximize-rig.d.ts +190 -0
- package/dist/icons/maximize/maximize-rig.js +268 -0
- package/dist/icons/menu/menu-icon.d.ts +5 -0
- package/dist/icons/menu/menu-icon.js +9 -0
- package/dist/icons/menu/menu-rig.d.ts +41 -0
- package/dist/icons/menu/menu-rig.js +58 -0
- package/dist/icons/message-circle/message-circle-icon.d.ts +5 -0
- package/dist/icons/message-circle/message-circle-icon.js +9 -0
- package/dist/icons/message-circle/message-circle-rig.d.ts +99 -0
- package/dist/icons/message-circle/message-circle-rig.js +143 -0
- package/dist/icons/mic/mic-icon.d.ts +5 -0
- package/dist/icons/mic/mic-icon.js +9 -0
- package/dist/icons/mic/mic-rig.d.ts +67 -0
- package/dist/icons/mic/mic-rig.js +96 -0
- package/dist/icons/minimize/minimize-icon.d.ts +5 -0
- package/dist/icons/minimize/minimize-icon.js +9 -0
- package/dist/icons/minimize/minimize-rig.d.ts +190 -0
- package/dist/icons/minimize/minimize-rig.js +268 -0
- package/dist/icons/minus/minus-icon.d.ts +5 -0
- package/dist/icons/minus/minus-icon.js +9 -0
- package/dist/icons/minus/minus-rig.d.ts +31 -0
- package/dist/icons/minus/minus-rig.js +47 -0
- package/dist/icons/moon/moon-icon.d.ts +5 -0
- package/dist/icons/moon/moon-icon.js +9 -0
- package/dist/icons/moon/moon-rig.d.ts +62 -0
- package/dist/icons/moon/moon-rig.js +87 -0
- package/dist/icons/more-horizontal/more-horizontal-icon.d.ts +5 -0
- package/dist/icons/more-horizontal/more-horizontal-icon.js +9 -0
- package/dist/icons/more-horizontal/more-horizontal-rig.d.ts +91 -0
- package/dist/icons/more-horizontal/more-horizontal-rig.js +141 -0
- package/dist/icons/more-vertical/more-vertical-icon.d.ts +5 -0
- package/dist/icons/more-vertical/more-vertical-icon.js +9 -0
- package/dist/icons/more-vertical/more-vertical-rig.d.ts +91 -0
- package/dist/icons/more-vertical/more-vertical-rig.js +141 -0
- package/dist/icons/music/music-icon.d.ts +5 -0
- package/dist/icons/music/music-icon.js +9 -0
- package/dist/icons/music/music-rig.d.ts +66 -0
- package/dist/icons/music/music-rig.js +95 -0
- package/dist/icons/package/package-icon.d.ts +5 -0
- package/dist/icons/package/package-icon.js +9 -0
- package/dist/icons/package/package-rig.d.ts +40 -0
- package/dist/icons/package/package-rig.js +60 -0
- package/dist/icons/pause/pause-icon.d.ts +5 -0
- package/dist/icons/pause/pause-icon.js +9 -0
- package/dist/icons/pause/pause-rig.d.ts +104 -0
- package/dist/icons/pause/pause-rig.js +147 -0
- package/dist/icons/pencil/pencil-icon.d.ts +5 -0
- package/dist/icons/pencil/pencil-icon.js +9 -0
- package/dist/icons/pencil/pencil-rig.d.ts +48 -0
- package/dist/icons/pencil/pencil-rig.js +68 -0
- package/dist/icons/phone/phone-icon.d.ts +5 -0
- package/dist/icons/phone/phone-icon.js +9 -0
- package/dist/icons/phone/phone-rig.d.ts +41 -0
- package/dist/icons/phone/phone-rig.js +60 -0
- package/dist/icons/play/play-icon.d.ts +5 -0
- package/dist/icons/play/play-icon.js +9 -0
- package/dist/icons/play/play-rig.d.ts +58 -0
- package/dist/icons/play/play-rig.js +80 -0
- package/dist/icons/plus/plus-icon.d.ts +5 -0
- package/dist/icons/plus/plus-icon.js +9 -0
- package/dist/icons/plus/plus-rig.d.ts +94 -0
- package/dist/icons/plus/plus-rig.js +137 -0
- package/dist/icons/replace/replace-icon.js +9 -8
- package/dist/icons/replace/replace-rig.d.ts +7 -1
- package/dist/icons/replace/replace-rig.js +35 -17
- package/dist/icons/save/save-icon.d.ts +5 -0
- package/dist/icons/save/save-icon.js +9 -0
- package/dist/icons/save/save-rig.d.ts +43 -0
- package/dist/icons/save/save-rig.js +63 -0
- package/dist/icons/send/send-icon.d.ts +5 -0
- package/dist/icons/send/send-icon.js +9 -0
- package/dist/icons/send/send-rig.d.ts +43 -0
- package/dist/icons/send/send-rig.js +61 -0
- package/dist/icons/settings/settings-icon.d.ts +5 -0
- package/dist/icons/settings/settings-icon.js +9 -0
- package/dist/icons/settings/settings-rig.d.ts +41 -0
- package/dist/icons/settings/settings-rig.js +64 -0
- package/dist/icons/share/share-icon.d.ts +5 -0
- package/dist/icons/share/share-icon.js +9 -0
- package/dist/icons/share/share-rig.d.ts +80 -0
- package/dist/icons/share/share-rig.js +114 -0
- package/dist/icons/shopping-bag/shopping-bag-icon.d.ts +5 -0
- package/dist/icons/shopping-bag/shopping-bag-icon.js +9 -0
- package/dist/icons/shopping-bag/shopping-bag-rig.d.ts +92 -0
- package/dist/icons/shopping-bag/shopping-bag-rig.js +139 -0
- package/dist/icons/shopping-cart/shopping-cart-icon.d.ts +5 -0
- package/dist/icons/shopping-cart/shopping-cart-icon.js +9 -0
- package/dist/icons/shopping-cart/shopping-cart-rig.d.ts +72 -0
- package/dist/icons/shopping-cart/shopping-cart-rig.js +111 -0
- package/dist/icons/sliders/sliders-icon.d.ts +5 -0
- package/dist/icons/sliders/sliders-icon.js +9 -0
- package/dist/icons/sliders/sliders-rig.d.ts +156 -0
- package/dist/icons/sliders/sliders-rig.js +231 -0
- package/dist/icons/sun/sun-icon.d.ts +5 -0
- package/dist/icons/sun/sun-icon.js +9 -0
- package/dist/icons/sun/sun-rig.d.ts +290 -0
- package/dist/icons/sun/sun-rig.js +401 -0
- package/dist/icons/terminal/terminal-icon.d.ts +5 -0
- package/dist/icons/terminal/terminal-icon.js +9 -0
- package/dist/icons/terminal/terminal-rig.d.ts +71 -0
- package/dist/icons/terminal/terminal-rig.js +102 -0
- package/dist/icons/timer/timer-icon.d.ts +5 -0
- package/dist/icons/timer/timer-icon.js +9 -0
- package/dist/icons/timer/timer-rig.d.ts +50 -0
- package/dist/icons/timer/timer-rig.js +72 -0
- package/dist/icons/truck/truck-icon.d.ts +5 -0
- package/dist/icons/truck/truck-icon.js +9 -0
- package/dist/icons/truck/truck-rig.d.ts +184 -0
- package/dist/icons/truck/truck-rig.js +272 -0
- package/dist/icons/upload/upload-icon.d.ts +5 -0
- package/dist/icons/upload/upload-icon.js +9 -0
- package/dist/icons/upload/upload-rig.d.ts +99 -0
- package/dist/icons/upload/upload-rig.js +124 -0
- package/dist/icons/user/user-icon.d.ts +5 -0
- package/dist/icons/user/user-icon.js +9 -0
- package/dist/icons/user/user-rig.d.ts +45 -0
- package/dist/icons/user/user-rig.js +66 -0
- package/dist/icons/users/users-icon.d.ts +5 -0
- package/dist/icons/users/users-icon.js +9 -0
- package/dist/icons/users/users-rig.d.ts +76 -0
- package/dist/icons/users/users-rig.js +113 -0
- package/dist/icons/video/video-icon.d.ts +5 -0
- package/dist/icons/video/video-icon.js +9 -0
- package/dist/icons/video/video-rig.d.ts +62 -0
- package/dist/icons/video/video-rig.js +84 -0
- package/dist/icons/volume/volume-icon.d.ts +5 -0
- package/dist/icons/volume/volume-icon.js +9 -0
- package/dist/icons/volume/volume-rig.d.ts +82 -0
- package/dist/icons/volume/volume-rig.js +120 -0
- package/dist/icons/wallet/wallet-icon.d.ts +5 -0
- package/dist/icons/wallet/wallet-icon.js +9 -0
- package/dist/icons/wallet/wallet-rig.d.ts +63 -0
- package/dist/icons/wallet/wallet-rig.js +90 -0
- package/dist/icons/wifi/wifi-icon.d.ts +5 -0
- package/dist/icons/wifi/wifi-icon.js +9 -0
- package/dist/icons/wifi/wifi-rig.d.ts +189 -0
- package/dist/icons/wifi/wifi-rig.js +260 -0
- package/dist/index.d.ts +72 -0
- package/dist/index.js +72 -0
- package/dist/shared/articulated-icon.d.ts +7 -0
- package/dist/shared/articulated-icon.js +49 -0
- package/dist/shared/articulation.d.ts +62 -0
- package/dist/shared/articulation.js +85 -0
- package/dist/shared/icon-colors.d.ts +72 -0
- package/dist/shared/use-icon-motion.d.ts +1 -1
- package/dist/shared/use-icon-motion.js +4 -3
- package/package.json +361 -1
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Icons that overreact beautifully. Stateful React SVG icons with smooth transitions and optional continuous behavior.
|
|
4
4
|
|
|
5
|
-
Version `0.
|
|
5
|
+
Version `0.3.0` contains 100 icons, including the revised utility motions and settled Replace confirmation.
|
|
6
6
|
|
|
7
7
|
## Install
|
|
8
8
|
|
|
@@ -51,6 +51,85 @@ The existing SVG smoothly transitions when `state` changes, including during an
|
|
|
51
51
|
|
|
52
52
|
Exports in the current local build: `DogIcon`, `MonkeyIcon`, `HeartIcon`, `ShipIcon`, `RocketIcon`, `SearchIcon`, `BellIcon`, `DownloadIcon`, `ShieldIcon`, `CursorIcon`, `ClapperboardIcon`, `PlugIcon`, `BulbIcon`, `AlertIcon`, `BadgeCheckIcon`, `ReplaceIcon`, `DeleteIcon`, `SwapIcon`, `SparklesIcon`, `SparkleIcon`, `StarIcon`, `WaveIcon`, `RefreshIcon`, `CopyIcon`, `EyeIcon`, `LinkIcon`, `CheckIcon`, and `CloseIcon`. Each icon exports its own state type and list, for example `DogState` and `dogStates`, or `BadgeCheckState` and `badgeCheckStates`. TypeScript autocompletion shows the valid states for each icon.
|
|
53
53
|
|
|
54
|
+
### Added in 0.3.0
|
|
55
|
+
|
|
56
|
+
| Icon | States | Intended use |
|
|
57
|
+
| --- | --- | --- |
|
|
58
|
+
| `HomeIcon` | `idle`, `entering`, `active` | Navigation: Home link in a header or sidebar |
|
|
59
|
+
| `MenuIcon` | `closed`, `hover`, `open` | Navigation: Collapsed mobile navigation |
|
|
60
|
+
| `PlusIcon` | `idle`, `hover`, `pressed` | Actions: Create item or increase quantity |
|
|
61
|
+
| `MinusIcon` | `idle`, `hover`, `pressed` | Actions: Decrease quantity or remove a row |
|
|
62
|
+
| `ChevronDownIcon` | `collapsed`, `hover`, `expanded` | Navigation: Closed disclosure or select menu |
|
|
63
|
+
| `ChevronRightIcon` | `idle`, `advancing`, `arrived` | Navigation: Next step or drill into a row |
|
|
64
|
+
| `ChevronLeftIcon` | `idle`, `returning`, `arrived` | Navigation: Previous page or back in a wizard |
|
|
65
|
+
| `ChevronUpIcon` | `collapsed`, `hover`, `expanded` | Navigation: Closed upward popover |
|
|
66
|
+
| `ArrowRightIcon` | `idle`, `moving`, `arrived` | Navigation: Next page or primary landing-page CTA |
|
|
67
|
+
| `ArrowLeftIcon` | `idle`, `moving`, `arrived` | Navigation: Back navigation |
|
|
68
|
+
| `ArrowUpIcon` | `idle`, `moving`, `arrived` | Navigation: Scroll to top or move a row upward |
|
|
69
|
+
| `ArrowDownIcon` | `idle`, `moving`, `arrived` | Navigation: Scroll down or move a row downward |
|
|
70
|
+
| `ExternalLinkIcon` | `idle`, `opening`, `opened` | Navigation: Open external resource from blog or app |
|
|
71
|
+
| `MoreHorizontalIcon` | `closed`, `opening`, `open` | Actions: Overflow action menu closed |
|
|
72
|
+
| `MoreVerticalIcon` | `closed`, `opening`, `open` | Actions: Row overflow menu closed |
|
|
73
|
+
| `UserIcon` | `idle`, `loading`, `active` | Accounts: Profile or account entry |
|
|
74
|
+
| `UsersIcon` | `idle`, `inviting`, `joined` | Accounts: Team or member list |
|
|
75
|
+
| `SettingsIcon` | `idle`, `adjusting`, `applied` | Accounts: Open preferences |
|
|
76
|
+
| `LogInIcon` | `idle`, `entering`, `signed-in` | Accounts: Sign-in action |
|
|
77
|
+
| `LogOutIcon` | `idle`, `leaving`, `signed-out` | Accounts: Sign-out action |
|
|
78
|
+
| `LockIcon` | `locked`, `unlocking`, `unlocked` | Security: Protected or private content |
|
|
79
|
+
| `KeyIcon` | `idle`, `turning`, `unlocked` | Security: Credentials or access-key action |
|
|
80
|
+
| `InfoIcon` | `idle`, `revealing`, `open` | Status: Information tooltip trigger |
|
|
81
|
+
| `MailIcon` | `unread`, `opening`, `read` | Communication: Unread email or inbox |
|
|
82
|
+
| `SendIcon` | `idle`, `sending`, `sent` | Communication: Submit message or contact form |
|
|
83
|
+
| `MessageCircleIcon` | `idle`, `typing`, `received` | Communication: Conversation or comment entry |
|
|
84
|
+
| `PhoneIcon` | `idle`, `ringing`, `connected` | Communication: Start a phone call |
|
|
85
|
+
| `VideoIcon` | `off`, `connecting`, `on` | Media: Camera is disabled |
|
|
86
|
+
| `MicIcon` | `muted`, `listening`, `recording` | Media: Microphone is muted |
|
|
87
|
+
| `PencilIcon` | `idle`, `writing`, `saved` | Editing: Edit article or field |
|
|
88
|
+
| `FileTextIcon` | `idle`, `reading`, `complete` | Files: Document or blog post link |
|
|
89
|
+
| `FileIcon` | `idle`, `creating`, `ready` | Files: File picker or file row |
|
|
90
|
+
| `FolderIcon` | `closed`, `opening`, `open` | Files: Closed folder or collapsed collection |
|
|
91
|
+
| `SaveIcon` | `idle`, `saving`, `saved` | Editing: Save document or preferences |
|
|
92
|
+
| `UploadIcon` | `idle`, `uploading`, `complete` | Files: Upload media or attachment |
|
|
93
|
+
| `ClipboardIcon` | `idle`, `checking`, `complete` | Files: Checklist or review queue |
|
|
94
|
+
| `BookmarkIcon` | `unsaved`, `saving`, `saved` | Content: Save blog post or resource |
|
|
95
|
+
| `BookOpenIcon` | `idle`, `reading`, `finished` | Content: Documentation or article reading entry |
|
|
96
|
+
| `ImageIcon` | `idle`, `loading`, `loaded` | Content: Image picker or media placeholder |
|
|
97
|
+
| `CameraIcon` | `idle`, `focusing`, `captured` | Media: Take a photo or avatar picture |
|
|
98
|
+
| `ShareIcon` | `idle`, `sharing`, `shared` | Content: Share article or app content |
|
|
99
|
+
| `CalendarIcon` | `idle`, `selecting`, `selected` | Time: Date picker or event link |
|
|
100
|
+
| `ClockIcon` | `idle`, `running`, `paused` | Time: Time or recent activity |
|
|
101
|
+
| `TimerIcon` | `idle`, `running`, `finished` | Time: Start a countdown |
|
|
102
|
+
| `MapPinIcon` | `idle`, `locating`, `located` | Location: Address or location entry |
|
|
103
|
+
| `GlobeIcon` | `idle`, `connecting`, `online` | Location: Language or worldwide availability |
|
|
104
|
+
| `CircleHelpIcon` | `idle`, `asking`, `answered` | Status: Help or FAQ trigger |
|
|
105
|
+
| `PlayIcon` | `idle`, `hover`, `pressed` | Media: Start media or a tutorial |
|
|
106
|
+
| `PauseIcon` | `idle`, `hover`, `pressed` | Media: Pause media or a task |
|
|
107
|
+
| `VolumeIcon` | `muted`, `low`, `high` | Media: Audio muted |
|
|
108
|
+
| `MusicIcon` | `idle`, `playing`, `paused` | Media: Music or audio track |
|
|
109
|
+
| `SunIcon` | `idle`, `rising`, `bright` | Appearance: Light theme or daylight |
|
|
110
|
+
| `ShoppingCartIcon` | `empty`, `adding`, `filled` | Commerce: Cart has no selected items |
|
|
111
|
+
| `ShoppingBagIcon` | `empty`, `packing`, `packed` | Commerce: Shopping bag or checkout entry |
|
|
112
|
+
| `CreditCardIcon` | `idle`, `processing`, `approved` | Commerce: Payment method selection |
|
|
113
|
+
| `WalletIcon` | `closed`, `opening`, `open` | Commerce: Wallet or balance entry |
|
|
114
|
+
| `PackageIcon` | `sealed`, `opening`, `open` | Commerce: Shipment or package row |
|
|
115
|
+
| `TruckIcon` | `idle`, `delivering`, `delivered` | Commerce: Delivery option or shipment |
|
|
116
|
+
| `FilterIcon` | `idle`, `filtering`, `filtered` | Controls: Filter options available |
|
|
117
|
+
| `SlidersIcon` | `idle`, `adjusting`, `applied` | Controls: Open tuning or adjustment controls |
|
|
118
|
+
| `LayoutGridIcon` | `idle`, `reordering`, `ordered` | Controls: Grid view or app launcher |
|
|
119
|
+
| `LayoutDashboardIcon` | `idle`, `loading`, `ready` | Controls: Dashboard navigation |
|
|
120
|
+
| `ListIcon` | `idle`, `sorting`, `sorted` | Controls: List view or item collection |
|
|
121
|
+
| `LayersIcon` | `stacked`, `separating`, `separated` | Controls: Layer stack or grouped content |
|
|
122
|
+
| `MaximizeIcon` | `idle`, `expanding`, `expanded` | Controls: Enter fullscreen or expand preview |
|
|
123
|
+
| `MinimizeIcon` | `idle`, `contracting`, `contracted` | Controls: Exit fullscreen or collapse preview |
|
|
124
|
+
| `CodeIcon` | `idle`, `compiling`, `ready` | Development: Code sample or developer feature |
|
|
125
|
+
| `TerminalIcon` | `idle`, `running`, `complete` | Development: Open command prompt or CLI example |
|
|
126
|
+
| `DatabaseIcon` | `idle`, `syncing`, `synced` | Development: Data store or record source |
|
|
127
|
+
| `WifiIcon` | `offline`, `connecting`, `connected` | Connectivity: No wireless connection |
|
|
128
|
+
| `CloudIcon` | `idle`, `syncing`, `synced` | Connectivity: Cloud files or remote storage |
|
|
129
|
+
| `MoonIcon` | `idle`, `setting`, `asleep` | Appearance: Dark theme or quiet hours |
|
|
130
|
+
|
|
131
|
+
New icons also expose per-icon imports such as `weasel-icons/menu`, `weasel-icons/upload` and `weasel-icons/shopping-cart`, plus typed state lists. Play and Pause use control states (`idle`, `hover`, `pressed`); the application owns playback. Clock, Timer and Truck retain phase when activity stops. Quiet states remain still even with `alive`; finite capture, selection and insertion actions play once per entry.
|
|
132
|
+
|
|
54
133
|
### Upgrading from 0.1.0
|
|
55
134
|
|
|
56
135
|
Version `0.2.0` also includes `SparklesIcon` and the single-contour `SparkleIcon` (both `idle`, `shimmering`, `blink`, `dimmed`), `StarIcon` (`idle`, `shooting`, `starred`, `loading`) and `WaveIcon` (`idle`, `flowing`, `energetic`, `flat`), with direct exports at `/sparkles`, `/sparkle`, `/star` and `/wave`. Sparkles uses `blink` and Star uses `shooting`. `RefreshIcon`, `CopyIcon` and `LinkIcon` have four states; `EyeIcon`, `CheckIcon` and `CloseIcon` intentionally have three.
|
|
@@ -64,7 +143,7 @@ Common optional props: `state`, `size`, `color`, `accentColor`, `strokeWidth`, `
|
|
|
64
143
|
- `alive` adds varied continuous in-state behavior. System reduced-motion preferences take precedence.
|
|
65
144
|
- `color` and `accentColor` default to `currentColor`.
|
|
66
145
|
- Dog, monkey, heart, ship and alert accept small icon-specific `colors` objects, with exported types such as `DogColors`. Alert's critical punctuation defaults to red; use `colors={{ critical: 'your-colour' }}` to override it without recolouring the triangle.
|
|
67
|
-
-
|
|
146
|
+
- Neutral interiors use `--weasel-surface` (white by default), including Dog, Ship, Lock, Mail, Folder, Wallet, Package, Sliders and the cart item. Set it on their parent for other backgrounds. Monkey supports `colors.face`.
|
|
68
147
|
|
|
69
148
|
SVGs are decorative and hidden from screen readers. Label the containing control or adjacent status text. Do not communicate state using only color or animation.
|
|
70
149
|
|
package/THIRD_PARTY_NOTICES.md
CHANGED
|
@@ -4,11 +4,13 @@ The animated components in this project use original Weasel motion design on top
|
|
|
4
4
|
|
|
5
5
|
## Lucide
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
The icon expansion adapts upstream Lucide assets inspected at revision `7faf87628a1ad6175975bc595344337ce14a7db4`. Geometry is split into persistent articulated parts with original Weasel poses and motion. The ISC notice below and the additional Feather MIT notice apply to these adaptations; no Lucide runtime package is added.
|
|
8
|
+
|
|
9
|
+
Rocket, Dog, Heart, Ship, Bell, Search, Download, Shield, Cursor, Clapperboard, and Plug base SVG geometry is adapted from [Lucide](https://github.com/lucide-icons/lucide), licensed under the ISC License, with the additional Feather notice below for Search and Download. The current front-facing ship replaces the earlier Fluent side-profile implementation. Shield uses `shield`; Cursor uses `mouse-pointer-2`; Clapperboard adapts `clapperboard` into a left-hinged rig; Plug articulates the two halves of `unplug`.
|
|
8
10
|
|
|
9
11
|
Bulb, Alert, Badge Check, Replace, Delete and Swap additionally adapt Lucide's `lightbulb`, `triangle-alert`, `badge-check`, `replace`, `delete` and `arrow-left-right` assets. Their motion, rays, filament and status details are original to this project. No `lucide-react` runtime dependency is installed or redistributed.
|
|
10
12
|
|
|
11
|
-
Refresh, Copy, Eye, Link, Check and Close additionally adapt `refresh-cw`, `copy`, `eye` / `eye-off` landmarks, `link` (previously `link-2`), `check` and `x`. Eye uses a compatible cubic eyelid rather than swapping complete SVGs.
|
|
13
|
+
Refresh, Copy, Eye, Link, Check and Close additionally adapt `refresh-cw`, `copy`, `eye` / `eye-off` landmarks, `link` (previously `link-2`), `check` and `x`. Eye uses a compatible cubic eyelid rather than swapping complete SVGs. Check, Link and Close retain the additional Feather MIT notice below.
|
|
12
14
|
|
|
13
15
|
The retained Lucide geometry carries the following [Lucide ISC notice](https://lucide.dev/license):
|
|
14
16
|
Star, Sparkles and Sparkle additionally adapt the current `star` and central `sparkles` contours. Sparkle is the single-contour composition; Sparkles' satellite diamonds and the single-line Wave geometry are original to Weasel. Wave follows the user's visual reference, not Lucide's stacked wave glyph.
|
|
@@ -62,7 +64,7 @@ SOFTWARE.
|
|
|
62
64
|
|
|
63
65
|
## Microsoft Fluent Emoji
|
|
64
66
|
|
|
65
|
-
Monkey Face base SVG geometry is adapted from [Microsoft Fluent Emoji](https://github.com/microsoft/fluentui-emoji), licensed under the MIT License.
|
|
67
|
+
Monkey Face base SVG geometry is adapted from [Microsoft Fluent Emoji](https://github.com/microsoft/fluentui-emoji), licensed under the MIT License. The complete Microsoft copyright and permission notice follows.
|
|
66
68
|
|
|
67
69
|
```text
|
|
68
70
|
MIT License
|
|
@@ -92,7 +94,7 @@ The animation choreography, state behavior and state effects are independently a
|
|
|
92
94
|
|
|
93
95
|
## Website-only illustration references and brand draft
|
|
94
96
|
|
|
95
|
-
The red-panda sheet under `public/art` and its reference-derived raster cutout match [Madi / madivoid's Red Panda Spread Art Print](https://www.etsy.com/listing/1624097837/red-panda-spread-art-print-animal-art), visually checked on October 24, 2026. Reuse permission has not been obtained; the physical-print listing is not a commercial website or branding licence. The website
|
|
97
|
+
The red-panda sheet under `public/art` and its reference-derived raster cutout match [Madi / madivoid's Red Panda Spread Art Print](https://www.etsy.com/listing/1624097837/red-panda-spread-art-print-animal-art), visually checked on October 24, 2026. Reuse permission has not been obtained; the physical-print listing is not a commercial website or branding licence. The website uses three hero poses and one lower illustration from this sheet. Older dog/cat sheets remain local historical files but are not rendered; the animated SVG box-cat component has been removed. The eyes/nose/apple logo in `public/weasel-mark.svg` has newly drawn paths, but has not received copyright or trademark clearance. The requested red-panda head crop has not replaced it. The owner authorized public website use of the two red-panda files; attribution and the permission-pending notice remain. See `docs/reference-artwork.md`. These assets are not part of the npm icon package, and its MIT licence does not license the supplied illustrations.
|
|
96
98
|
|
|
97
99
|
## Motion study reference
|
|
98
100
|
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { StatefulIconProps } from "../../shared/icon-types.js";
|
|
2
|
+
import { type ArrowDownState } from "./arrow-down-rig.js";
|
|
3
|
+
export { arrowDownStates, type ArrowDownState } from "./arrow-down-rig.js";
|
|
4
|
+
export type ArrowDownIconProps = StatefulIconProps<ArrowDownState>;
|
|
5
|
+
export declare const ArrowDownIcon: import("react").NamedExoticComponent<ArrowDownIconProps>;
|
|
@@ -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 { arrowDownArt, arrowDownStates } from "./arrow-down-rig.js";
|
|
6
|
+
export { arrowDownStates } from "./arrow-down-rig.js";
|
|
7
|
+
export const ArrowDownIcon = memo(function ArrowDownIcon(props) {
|
|
8
|
+
return _jsx(ArticulatedIcon, { art: arrowDownArt, states: arrowDownStates, ...props });
|
|
9
|
+
});
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
export declare const arrowDownStates: readonly ["idle", "moving", "arrived"];
|
|
2
|
+
export type ArrowDownState = (typeof arrowDownStates)[number];
|
|
3
|
+
export declare const arrowDownArt: {
|
|
4
|
+
readonly name: "arrow-down";
|
|
5
|
+
readonly parts: readonly [{
|
|
6
|
+
readonly name: "arrow";
|
|
7
|
+
readonly paths: readonly ["M12 5L12 19", "M19 12L12 19L5 12"];
|
|
8
|
+
readonly poses: readonly [{}, {}, {}];
|
|
9
|
+
readonly pivot: readonly [12, 12];
|
|
10
|
+
readonly gestures: readonly [null, {
|
|
11
|
+
readonly duration: 1.05;
|
|
12
|
+
readonly repeatAfter: 2.15;
|
|
13
|
+
readonly loop: true;
|
|
14
|
+
readonly frames: readonly [{
|
|
15
|
+
readonly at: 0;
|
|
16
|
+
}, {
|
|
17
|
+
readonly at: 0.15;
|
|
18
|
+
readonly y: -1.3;
|
|
19
|
+
}, {
|
|
20
|
+
readonly at: 0.6;
|
|
21
|
+
readonly y: 2;
|
|
22
|
+
}, {
|
|
23
|
+
readonly at: 0.78;
|
|
24
|
+
readonly y: 2;
|
|
25
|
+
}, {
|
|
26
|
+
readonly at: 1;
|
|
27
|
+
}];
|
|
28
|
+
}, {
|
|
29
|
+
readonly duration: 0.55;
|
|
30
|
+
readonly repeatAfter: 2;
|
|
31
|
+
readonly loop: false;
|
|
32
|
+
readonly frames: readonly [{
|
|
33
|
+
readonly at: 0;
|
|
34
|
+
}, {
|
|
35
|
+
readonly at: 0.35;
|
|
36
|
+
readonly y: 0.7;
|
|
37
|
+
}, {
|
|
38
|
+
readonly at: 1;
|
|
39
|
+
}];
|
|
40
|
+
}];
|
|
41
|
+
readonly pathStates: readonly [readonly ["M12 5L12 19", "M19 12L12 19L5 12"], readonly ["M12 5L12 16", "M17 11L12 16L7 11"], readonly ["M12 11L12 20", "M17 15L12 20L7 15"]];
|
|
42
|
+
}];
|
|
43
|
+
};
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
export const arrowDownStates = ['idle', 'moving', 'arrived'];
|
|
2
|
+
// Lucide-derived outline; attribution and pinned source: THIRD_PARTY_NOTICES.md.
|
|
3
|
+
// The attached arrowhead draws back with a shorter shaft, accelerates toward the destination, then rests as a compact arrived arrow.
|
|
4
|
+
export const arrowDownArt = {
|
|
5
|
+
name: 'arrow-down',
|
|
6
|
+
parts: [
|
|
7
|
+
{
|
|
8
|
+
name: 'arrow',
|
|
9
|
+
paths: ['M12 5L12 19', 'M19 12L12 19L5 12'],
|
|
10
|
+
poses: [{}, {}, {}],
|
|
11
|
+
pivot: [12, 12],
|
|
12
|
+
gestures: [
|
|
13
|
+
null,
|
|
14
|
+
{
|
|
15
|
+
duration: 1.05,
|
|
16
|
+
repeatAfter: 2.15,
|
|
17
|
+
loop: true,
|
|
18
|
+
frames: [
|
|
19
|
+
{
|
|
20
|
+
at: 0,
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
at: 0.15,
|
|
24
|
+
y: -1.3,
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
at: 0.6,
|
|
28
|
+
y: 2,
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
at: 0.78,
|
|
32
|
+
y: 2,
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
at: 1,
|
|
36
|
+
},
|
|
37
|
+
],
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
duration: 0.55,
|
|
41
|
+
repeatAfter: 2,
|
|
42
|
+
loop: false,
|
|
43
|
+
frames: [
|
|
44
|
+
{
|
|
45
|
+
at: 0,
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
at: 0.35,
|
|
49
|
+
y: 0.7,
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
at: 1,
|
|
53
|
+
},
|
|
54
|
+
],
|
|
55
|
+
},
|
|
56
|
+
],
|
|
57
|
+
pathStates: [
|
|
58
|
+
['M12 5L12 19', 'M19 12L12 19L5 12'],
|
|
59
|
+
['M12 5L12 16', 'M17 11L12 16L7 11'],
|
|
60
|
+
['M12 11L12 20', 'M17 15L12 20L7 15'],
|
|
61
|
+
],
|
|
62
|
+
},
|
|
63
|
+
],
|
|
64
|
+
};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { StatefulIconProps } from "../../shared/icon-types.js";
|
|
2
|
+
import { type ArrowLeftState } from "./arrow-left-rig.js";
|
|
3
|
+
export { arrowLeftStates, type ArrowLeftState } from "./arrow-left-rig.js";
|
|
4
|
+
export type ArrowLeftIconProps = StatefulIconProps<ArrowLeftState>;
|
|
5
|
+
export declare const ArrowLeftIcon: import("react").NamedExoticComponent<ArrowLeftIconProps>;
|
|
@@ -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 { arrowLeftArt, arrowLeftStates } from "./arrow-left-rig.js";
|
|
6
|
+
export { arrowLeftStates } from "./arrow-left-rig.js";
|
|
7
|
+
export const ArrowLeftIcon = memo(function ArrowLeftIcon(props) {
|
|
8
|
+
return _jsx(ArticulatedIcon, { art: arrowLeftArt, states: arrowLeftStates, ...props });
|
|
9
|
+
});
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
export declare const arrowLeftStates: readonly ["idle", "moving", "arrived"];
|
|
2
|
+
export type ArrowLeftState = (typeof arrowLeftStates)[number];
|
|
3
|
+
export declare const arrowLeftArt: {
|
|
4
|
+
readonly name: "arrow-left";
|
|
5
|
+
readonly parts: readonly [{
|
|
6
|
+
readonly name: "arrow";
|
|
7
|
+
readonly paths: readonly ["M19 12L5 12", "M12 19L5 12L12 5"];
|
|
8
|
+
readonly poses: readonly [{}, {}, {}];
|
|
9
|
+
readonly pivot: readonly [12, 12];
|
|
10
|
+
readonly gestures: readonly [null, {
|
|
11
|
+
readonly duration: 1.05;
|
|
12
|
+
readonly repeatAfter: 2.15;
|
|
13
|
+
readonly loop: true;
|
|
14
|
+
readonly frames: readonly [{
|
|
15
|
+
readonly at: 0;
|
|
16
|
+
}, {
|
|
17
|
+
readonly at: 0.15;
|
|
18
|
+
readonly x: 1.3;
|
|
19
|
+
}, {
|
|
20
|
+
readonly at: 0.6;
|
|
21
|
+
readonly x: -2;
|
|
22
|
+
}, {
|
|
23
|
+
readonly at: 0.78;
|
|
24
|
+
readonly x: -2;
|
|
25
|
+
}, {
|
|
26
|
+
readonly at: 1;
|
|
27
|
+
}];
|
|
28
|
+
}, {
|
|
29
|
+
readonly duration: 0.55;
|
|
30
|
+
readonly repeatAfter: 2;
|
|
31
|
+
readonly loop: false;
|
|
32
|
+
readonly frames: readonly [{
|
|
33
|
+
readonly at: 0;
|
|
34
|
+
}, {
|
|
35
|
+
readonly at: 0.35;
|
|
36
|
+
readonly x: -0.7;
|
|
37
|
+
}, {
|
|
38
|
+
readonly at: 1;
|
|
39
|
+
}];
|
|
40
|
+
}];
|
|
41
|
+
readonly pathStates: readonly [readonly ["M19 12L5 12", "M12 19L5 12L12 5"], readonly ["M19 12L8 12", "M13 17L8 12L13 7"], readonly ["M13 12L4 12", "M9 17L4 12L9 7"]];
|
|
42
|
+
}];
|
|
43
|
+
};
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
export const arrowLeftStates = ['idle', 'moving', 'arrived'];
|
|
2
|
+
// Lucide-derived outline; attribution and pinned source: THIRD_PARTY_NOTICES.md.
|
|
3
|
+
// The attached arrowhead draws back with a shorter shaft, accelerates toward the destination, then rests as a compact arrived arrow.
|
|
4
|
+
export const arrowLeftArt = {
|
|
5
|
+
name: 'arrow-left',
|
|
6
|
+
parts: [
|
|
7
|
+
{
|
|
8
|
+
name: 'arrow',
|
|
9
|
+
paths: ['M19 12L5 12', 'M12 19L5 12L12 5'],
|
|
10
|
+
poses: [{}, {}, {}],
|
|
11
|
+
pivot: [12, 12],
|
|
12
|
+
gestures: [
|
|
13
|
+
null,
|
|
14
|
+
{
|
|
15
|
+
duration: 1.05,
|
|
16
|
+
repeatAfter: 2.15,
|
|
17
|
+
loop: true,
|
|
18
|
+
frames: [
|
|
19
|
+
{
|
|
20
|
+
at: 0,
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
at: 0.15,
|
|
24
|
+
x: 1.3,
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
at: 0.6,
|
|
28
|
+
x: -2,
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
at: 0.78,
|
|
32
|
+
x: -2,
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
at: 1,
|
|
36
|
+
},
|
|
37
|
+
],
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
duration: 0.55,
|
|
41
|
+
repeatAfter: 2,
|
|
42
|
+
loop: false,
|
|
43
|
+
frames: [
|
|
44
|
+
{
|
|
45
|
+
at: 0,
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
at: 0.35,
|
|
49
|
+
x: -0.7,
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
at: 1,
|
|
53
|
+
},
|
|
54
|
+
],
|
|
55
|
+
},
|
|
56
|
+
],
|
|
57
|
+
pathStates: [
|
|
58
|
+
['M19 12L5 12', 'M12 19L5 12L12 5'],
|
|
59
|
+
['M19 12L8 12', 'M13 17L8 12L13 7'],
|
|
60
|
+
['M13 12L4 12', 'M9 17L4 12L9 7'],
|
|
61
|
+
],
|
|
62
|
+
},
|
|
63
|
+
],
|
|
64
|
+
};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { StatefulIconProps } from "../../shared/icon-types.js";
|
|
2
|
+
import { type ArrowRightState } from "./arrow-right-rig.js";
|
|
3
|
+
export { arrowRightStates, type ArrowRightState } from "./arrow-right-rig.js";
|
|
4
|
+
export type ArrowRightIconProps = StatefulIconProps<ArrowRightState>;
|
|
5
|
+
export declare const ArrowRightIcon: import("react").NamedExoticComponent<ArrowRightIconProps>;
|
|
@@ -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 { arrowRightArt, arrowRightStates } from "./arrow-right-rig.js";
|
|
6
|
+
export { arrowRightStates } from "./arrow-right-rig.js";
|
|
7
|
+
export const ArrowRightIcon = memo(function ArrowRightIcon(props) {
|
|
8
|
+
return _jsx(ArticulatedIcon, { art: arrowRightArt, states: arrowRightStates, ...props });
|
|
9
|
+
});
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
export declare const arrowRightStates: readonly ["idle", "moving", "arrived"];
|
|
2
|
+
export type ArrowRightState = (typeof arrowRightStates)[number];
|
|
3
|
+
export declare const arrowRightArt: {
|
|
4
|
+
readonly name: "arrow-right";
|
|
5
|
+
readonly parts: readonly [{
|
|
6
|
+
readonly name: "arrow";
|
|
7
|
+
readonly paths: readonly ["M5 12L19 12", "M12 5L19 12L12 19"];
|
|
8
|
+
readonly poses: readonly [{}, {}, {}];
|
|
9
|
+
readonly pivot: readonly [12, 12];
|
|
10
|
+
readonly gestures: readonly [null, {
|
|
11
|
+
readonly duration: 1.05;
|
|
12
|
+
readonly repeatAfter: 2.15;
|
|
13
|
+
readonly loop: true;
|
|
14
|
+
readonly frames: readonly [{
|
|
15
|
+
readonly at: 0;
|
|
16
|
+
}, {
|
|
17
|
+
readonly at: 0.15;
|
|
18
|
+
readonly x: -1.3;
|
|
19
|
+
}, {
|
|
20
|
+
readonly at: 0.6;
|
|
21
|
+
readonly x: 2;
|
|
22
|
+
}, {
|
|
23
|
+
readonly at: 0.78;
|
|
24
|
+
readonly x: 2;
|
|
25
|
+
}, {
|
|
26
|
+
readonly at: 1;
|
|
27
|
+
}];
|
|
28
|
+
}, {
|
|
29
|
+
readonly duration: 0.55;
|
|
30
|
+
readonly repeatAfter: 2;
|
|
31
|
+
readonly loop: false;
|
|
32
|
+
readonly frames: readonly [{
|
|
33
|
+
readonly at: 0;
|
|
34
|
+
}, {
|
|
35
|
+
readonly at: 0.35;
|
|
36
|
+
readonly x: 0.7;
|
|
37
|
+
}, {
|
|
38
|
+
readonly at: 1;
|
|
39
|
+
}];
|
|
40
|
+
}];
|
|
41
|
+
readonly pathStates: readonly [readonly ["M5 12L19 12", "M12 5L19 12L12 19"], readonly ["M5 12L16 12", "M11 7L16 12L11 17"], readonly ["M11 12L20 12", "M15 7L20 12L15 17"]];
|
|
42
|
+
}];
|
|
43
|
+
};
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
export const arrowRightStates = ['idle', 'moving', 'arrived'];
|
|
2
|
+
// Lucide-derived outline; attribution and pinned source: THIRD_PARTY_NOTICES.md.
|
|
3
|
+
// The attached arrowhead draws back with a shorter shaft, accelerates toward the destination, then rests as a compact arrived arrow.
|
|
4
|
+
export const arrowRightArt = {
|
|
5
|
+
name: 'arrow-right',
|
|
6
|
+
parts: [
|
|
7
|
+
{
|
|
8
|
+
name: 'arrow',
|
|
9
|
+
paths: ['M5 12L19 12', 'M12 5L19 12L12 19'],
|
|
10
|
+
poses: [{}, {}, {}],
|
|
11
|
+
pivot: [12, 12],
|
|
12
|
+
gestures: [
|
|
13
|
+
null,
|
|
14
|
+
{
|
|
15
|
+
duration: 1.05,
|
|
16
|
+
repeatAfter: 2.15,
|
|
17
|
+
loop: true,
|
|
18
|
+
frames: [
|
|
19
|
+
{
|
|
20
|
+
at: 0,
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
at: 0.15,
|
|
24
|
+
x: -1.3,
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
at: 0.6,
|
|
28
|
+
x: 2,
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
at: 0.78,
|
|
32
|
+
x: 2,
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
at: 1,
|
|
36
|
+
},
|
|
37
|
+
],
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
duration: 0.55,
|
|
41
|
+
repeatAfter: 2,
|
|
42
|
+
loop: false,
|
|
43
|
+
frames: [
|
|
44
|
+
{
|
|
45
|
+
at: 0,
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
at: 0.35,
|
|
49
|
+
x: 0.7,
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
at: 1,
|
|
53
|
+
},
|
|
54
|
+
],
|
|
55
|
+
},
|
|
56
|
+
],
|
|
57
|
+
pathStates: [
|
|
58
|
+
['M5 12L19 12', 'M12 5L19 12L12 19'],
|
|
59
|
+
['M5 12L16 12', 'M11 7L16 12L11 17'],
|
|
60
|
+
['M11 12L20 12', 'M15 7L20 12L15 17'],
|
|
61
|
+
],
|
|
62
|
+
},
|
|
63
|
+
],
|
|
64
|
+
};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { StatefulIconProps } from "../../shared/icon-types.js";
|
|
2
|
+
import { type ArrowUpState } from "./arrow-up-rig.js";
|
|
3
|
+
export { arrowUpStates, type ArrowUpState } from "./arrow-up-rig.js";
|
|
4
|
+
export type ArrowUpIconProps = StatefulIconProps<ArrowUpState>;
|
|
5
|
+
export declare const ArrowUpIcon: import("react").NamedExoticComponent<ArrowUpIconProps>;
|
|
@@ -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 { arrowUpArt, arrowUpStates } from "./arrow-up-rig.js";
|
|
6
|
+
export { arrowUpStates } from "./arrow-up-rig.js";
|
|
7
|
+
export const ArrowUpIcon = memo(function ArrowUpIcon(props) {
|
|
8
|
+
return _jsx(ArticulatedIcon, { art: arrowUpArt, states: arrowUpStates, ...props });
|
|
9
|
+
});
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
export declare const arrowUpStates: readonly ["idle", "moving", "arrived"];
|
|
2
|
+
export type ArrowUpState = (typeof arrowUpStates)[number];
|
|
3
|
+
export declare const arrowUpArt: {
|
|
4
|
+
readonly name: "arrow-up";
|
|
5
|
+
readonly parts: readonly [{
|
|
6
|
+
readonly name: "arrow";
|
|
7
|
+
readonly paths: readonly ["M12 19L12 5", "M5 12L12 5L19 12"];
|
|
8
|
+
readonly poses: readonly [{}, {}, {}];
|
|
9
|
+
readonly pivot: readonly [12, 12];
|
|
10
|
+
readonly gestures: readonly [null, {
|
|
11
|
+
readonly duration: 1.05;
|
|
12
|
+
readonly repeatAfter: 2.15;
|
|
13
|
+
readonly loop: true;
|
|
14
|
+
readonly frames: readonly [{
|
|
15
|
+
readonly at: 0;
|
|
16
|
+
}, {
|
|
17
|
+
readonly at: 0.15;
|
|
18
|
+
readonly y: 1.3;
|
|
19
|
+
}, {
|
|
20
|
+
readonly at: 0.6;
|
|
21
|
+
readonly y: -2;
|
|
22
|
+
}, {
|
|
23
|
+
readonly at: 0.78;
|
|
24
|
+
readonly y: -2;
|
|
25
|
+
}, {
|
|
26
|
+
readonly at: 1;
|
|
27
|
+
}];
|
|
28
|
+
}, {
|
|
29
|
+
readonly duration: 0.55;
|
|
30
|
+
readonly repeatAfter: 2;
|
|
31
|
+
readonly loop: false;
|
|
32
|
+
readonly frames: readonly [{
|
|
33
|
+
readonly at: 0;
|
|
34
|
+
}, {
|
|
35
|
+
readonly at: 0.35;
|
|
36
|
+
readonly y: -0.7;
|
|
37
|
+
}, {
|
|
38
|
+
readonly at: 1;
|
|
39
|
+
}];
|
|
40
|
+
}];
|
|
41
|
+
readonly pathStates: readonly [readonly ["M12 19L12 5", "M5 12L12 5L19 12"], readonly ["M12 19L12 8", "M7 13L12 8L17 13"], readonly ["M12 13L12 4", "M7 9L12 4L17 9"]];
|
|
42
|
+
}];
|
|
43
|
+
};
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
export const arrowUpStates = ['idle', 'moving', 'arrived'];
|
|
2
|
+
// Lucide-derived outline; attribution and pinned source: THIRD_PARTY_NOTICES.md.
|
|
3
|
+
// The attached arrowhead draws back with a shorter shaft, accelerates toward the destination, then rests as a compact arrived arrow.
|
|
4
|
+
export const arrowUpArt = {
|
|
5
|
+
name: 'arrow-up',
|
|
6
|
+
parts: [
|
|
7
|
+
{
|
|
8
|
+
name: 'arrow',
|
|
9
|
+
paths: ['M12 19L12 5', 'M5 12L12 5L19 12'],
|
|
10
|
+
poses: [{}, {}, {}],
|
|
11
|
+
pivot: [12, 12],
|
|
12
|
+
gestures: [
|
|
13
|
+
null,
|
|
14
|
+
{
|
|
15
|
+
duration: 1.05,
|
|
16
|
+
repeatAfter: 2.15,
|
|
17
|
+
loop: true,
|
|
18
|
+
frames: [
|
|
19
|
+
{
|
|
20
|
+
at: 0,
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
at: 0.15,
|
|
24
|
+
y: 1.3,
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
at: 0.6,
|
|
28
|
+
y: -2,
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
at: 0.78,
|
|
32
|
+
y: -2,
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
at: 1,
|
|
36
|
+
},
|
|
37
|
+
],
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
duration: 0.55,
|
|
41
|
+
repeatAfter: 2,
|
|
42
|
+
loop: false,
|
|
43
|
+
frames: [
|
|
44
|
+
{
|
|
45
|
+
at: 0,
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
at: 0.35,
|
|
49
|
+
y: -0.7,
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
at: 1,
|
|
53
|
+
},
|
|
54
|
+
],
|
|
55
|
+
},
|
|
56
|
+
],
|
|
57
|
+
pathStates: [
|
|
58
|
+
['M12 19L12 5', 'M5 12L12 5L19 12'],
|
|
59
|
+
['M12 19L12 8', 'M7 13L12 8L17 13'],
|
|
60
|
+
['M12 13L12 4', 'M7 9L12 4L17 9'],
|
|
61
|
+
],
|
|
62
|
+
},
|
|
63
|
+
],
|
|
64
|
+
};
|