splatoon-ui 0.1.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/LICENSE +21 -0
- package/NOTICE +5 -0
- package/README.md +233 -0
- package/README_EN.md +236 -0
- package/README_JA.md +230 -0
- package/dist/chunk-KUURJUBW.js +2344 -0
- package/dist/chunk-KUURJUBW.js.map +1 -0
- package/dist/client.css +2634 -0
- package/dist/client.css.map +1 -0
- package/dist/client.d.ts +1012 -0
- package/dist/client.js +7708 -0
- package/dist/client.js.map +1 -0
- package/dist/server.css +1091 -0
- package/dist/server.css.map +1 -0
- package/dist/server.d.ts +813 -0
- package/dist/server.js +117 -0
- package/dist/server.js.map +1 -0
- package/dist/styles.css +4225 -0
- package/package.json +119 -0
- package/public/_images/backgrounds/base-bg-pattern-2x.jpg +0 -0
- package/public/_images/backgrounds/base-bg-pattern.jpg +0 -0
- package/public/_images/backgrounds/camo-black-2x.png +0 -0
- package/public/_images/backgrounds/camo-black-2x.webp +0 -0
- package/public/_images/backgrounds/camo-black.png +0 -0
- package/public/_images/backgrounds/camo-green-2x.png +0 -0
- package/public/_images/backgrounds/camo-green.png +0 -0
- package/public/_images/backgrounds/camo-orange-2x.png +0 -0
- package/public/_images/backgrounds/camo-orange.png +0 -0
- package/public/_images/backgrounds/camo-purple-2x.png +0 -0
- package/public/_images/backgrounds/camo-purple-revised-2x.png +0 -0
- package/public/_images/backgrounds/camo-purple-revised.png +0 -0
- package/public/_images/backgrounds/camo-purple.png +0 -0
- package/public/_images/backgrounds/camo-red-2x.png +0 -0
- package/public/_images/backgrounds/camo-red.png +0 -0
- package/public/_images/backgrounds/camo-white-2x.png +0 -0
- package/public/_images/backgrounds/camo-white-outline-2x.png +0 -0
- package/public/_images/backgrounds/camo-white-outline.png +0 -0
- package/public/_images/backgrounds/camo-white.png +0 -0
- package/public/_images/backgrounds/chip-white-2x.png +0 -0
- package/public/_images/backgrounds/chip-white.png +0 -0
- package/public/_images/backgrounds/circles-green-2x.png +0 -0
- package/public/_images/backgrounds/circles-green.png +0 -0
- package/public/_images/backgrounds/graffiti-2x.jpg +0 -0
- package/public/_images/backgrounds/graffiti-medium-up-2x.jpg +0 -0
- package/public/_images/backgrounds/graffiti-medium-up.jpg +0 -0
- package/public/_images/backgrounds/graffiti.jpg +0 -0
- package/public/_images/backgrounds/hardware-background-2x.png +0 -0
- package/public/_images/backgrounds/hardware-background-medium-up-2x.png +0 -0
- package/public/_images/backgrounds/hardware-background-medium-up.png +0 -0
- package/public/_images/backgrounds/hardware-background.png +0 -0
- package/public/_images/backgrounds/monsters-black-2x.png +0 -0
- package/public/_images/backgrounds/monsters-black.png +0 -0
- package/public/_images/backgrounds/octo-black-2x.png +0 -0
- package/public/_images/backgrounds/octo-black.png +0 -0
- package/public/_images/backgrounds/octo-red-2x.png +0 -0
- package/public/_images/backgrounds/octo-red.png +0 -0
- package/public/_images/backgrounds/octoarrow-green-2x.png +0 -0
- package/public/_images/backgrounds/octoarrow-green.png +0 -0
- package/public/_images/backgrounds/octoarrow-orange-2x.png +0 -0
- package/public/_images/backgrounds/octoarrow-orange.png +0 -0
- package/public/_images/backgrounds/squid-black-2x.png +0 -0
- package/public/_images/backgrounds/squid-black.png +0 -0
- package/public/_images/backgrounds/tapes-black-2x.jpg +0 -0
- package/public/_images/backgrounds/tapes-black-2x.webp +0 -0
- package/public/_images/backgrounds/tapes-black.jpg +0 -0
- package/public/_images/backgrounds/tapes-black.webp +0 -0
- package/public/_images/backgrounds/tapes-green-2x.jpg +0 -0
- package/public/_images/backgrounds/tapes-green-2x.webp +0 -0
- package/public/_images/backgrounds/tapes-green.jpg +0 -0
- package/public/_images/backgrounds/tapes-green.webp +0 -0
- package/public/_images/backgrounds/tapes-pattern-2x.jpg +0 -0
- package/public/_images/backgrounds/tapes-pattern.jpg +0 -0
- package/public/_images/backgrounds/tapes-purple-2x.jpg +0 -0
- package/public/_images/backgrounds/tapes-purple-2x.webp +0 -0
- package/public/_images/backgrounds/tapes-purple.jpg +0 -0
- package/public/_images/backgrounds/tapes-purple.webp +0 -0
- package/public/_images/banners/banner-blue-2x.png +0 -0
- package/public/_images/banners/banner-blue-medium-up-2x.png +0 -0
- package/public/_images/banners/banner-blue-medium-up.png +0 -0
- package/public/_images/banners/banner-blue.png +0 -0
- package/public/_images/banners/banner-design1-2x.png +0 -0
- package/public/_images/banners/banner-design1-medium-up-2x.png +0 -0
- package/public/_images/banners/banner-design1-medium-up.png +0 -0
- package/public/_images/banners/banner-design1.png +0 -0
- package/public/_images/banners/banner-design2-2x.png +0 -0
- package/public/_images/banners/banner-design2-medium-up-2x.png +0 -0
- package/public/_images/banners/banner-design2-medium-up.png +0 -0
- package/public/_images/banners/banner-design2.png +0 -0
- package/public/_images/banners/banner-design3-2x.png +0 -0
- package/public/_images/banners/banner-design3-medium-up-2x.png +0 -0
- package/public/_images/banners/banner-design3-medium-up.png +0 -0
- package/public/_images/banners/banner-design3.png +0 -0
- package/public/_images/banners/banner-green-2x.png +0 -0
- package/public/_images/banners/banner-green-medium-up-2x.png +0 -0
- package/public/_images/banners/banner-green-medium-up.png +0 -0
- package/public/_images/banners/banner-green.png +0 -0
- package/public/_images/banners/banner-orange-2x.png +0 -0
- package/public/_images/banners/banner-orange-medium-up-2x.png +0 -0
- package/public/_images/banners/banner-orange-medium-up.png +0 -0
- package/public/_images/banners/banner-orange.png +0 -0
- package/public/_images/banners/banner-purple-2x.png +0 -0
- package/public/_images/banners/banner-purple-medium-up-2x.png +0 -0
- package/public/_images/banners/banner-purple-medium-up.png +0 -0
- package/public/_images/banners/banner-purple.png +0 -0
- package/public/_images/banners/banner-red-2x.png +0 -0
- package/public/_images/banners/banner-red-medium-up-2x.png +0 -0
- package/public/_images/banners/banner-red-medium-up.png +0 -0
- package/public/_images/banners/banner-red.png +0 -0
- package/public/_images/banners/banner-yellow-2x.png +0 -0
- package/public/_images/banners/banner-yellow-medium-up-2x.png +0 -0
- package/public/_images/banners/banner-yellow-medium-up.png +0 -0
- package/public/_images/banners/banner-yellow.png +0 -0
- package/public/_images/characters/char-10.png +0 -0
- package/public/_images/characters/char-11.png +0 -0
- package/public/_images/characters/char-12.png +0 -0
- package/public/_images/characters/char-13.png +0 -0
- package/public/_images/characters/char-14.png +0 -0
- package/public/_images/characters/char-15.png +0 -0
- package/public/_images/characters/char-17.png +0 -0
- package/public/_images/characters/char-18.png +0 -0
- package/public/_images/characters/char-2.png +0 -0
- package/public/_images/characters/char-3.png +0 -0
- package/public/_images/characters/char-4.png +0 -0
- package/public/_images/characters/char-5.png +0 -0
- package/public/_images/characters/char-7.png +0 -0
- package/public/_images/characters/char-8.png +0 -0
- package/public/_images/characters/game-pack.png +0 -0
- package/public/_images/characters/salmonid.png +0 -0
- package/public/_images/events/active-splat-2x.webp +0 -0
- package/public/_images/events/active-splat.webp +0 -0
- package/public/_images/events/big-run-callout.jpg +0 -0
- package/public/_images/events/golden-egg.png +0 -0
- package/public/_images/events/splatnet-blade.jpg +0 -0
- package/public/_images/events/splatnet-next-page.png +0 -0
- package/public/_images/gameplay/battle-online/gameplay-battle-online-anarchy-1.jpg +0 -0
- package/public/_images/gameplay/battle-online/gameplay-battle-online-turfwar-left-screen.jpg +0 -0
- package/public/_images/gameplay/battle-online/gameplay-battle-online-turfwar-right-screen.jpg +0 -0
- package/public/_images/gameplay/gameplay-salmonrun.jpg +0 -0
- package/public/_images/gameplay/splatfest/gameplay-splatfest-1.jpg +0 -0
- package/public/_images/gameplay/splatfest/gameplay-splatfest-2.jpg +0 -0
- package/public/_images/home/character.png +0 -0
- package/public/_images/home/header-back.jpg +0 -0
- package/public/_images/home/s3-home-intro-blade.jpg +0 -0
- package/public/_images/news/news-staple-left.png +0 -0
- package/public/_images/news/news-staple-right.png +0 -0
- package/public/_images/news/next-page.png +0 -0
- package/public/_images/screenshots/video-trailer.jpg +0 -0
- package/public/_images/squid/ika.png +0 -0
- package/public/_images/squid/loader-morph-sprite.png +0 -0
- package/public/_images/squid/loader-swim-sprite.png +0 -0
- package/public/_images/squid/loader_ika.gif +0 -0
- package/public/_images/svg/icon-pagination.svg +1 -0
- package/public/_images/svg/left-black-tape-container.svg +1 -0
- package/public/_images/svg/left-tape.svg +9 -0
- package/public/_images/svg/left-yellow-tape-container.svg +1 -0
- package/public/_images/svg/pagination-splat.svg +1 -0
- package/public/_images/svg/paper-tear-down.svg +3 -0
- package/public/_images/svg/paper-tear-up.svg +3 -0
- package/public/_images/svg/right-black-tape-container.svg +1 -0
- package/public/_images/svg/right-tape.svg +10 -0
- package/public/_images/svg/right-yellow-tape-container.svg +1 -0
- package/public/_images/svg/styled-photo-background.svg +1 -0
- package/public/_images/tape-assets/sticker-1-2x.png +0 -0
- package/public/_images/tape-assets/sticker-1-2x.webp +0 -0
- package/public/_images/tape-assets/sticker-1-medium-up-2x.png +0 -0
- package/public/_images/tape-assets/sticker-1-medium-up-2x.webp +0 -0
- package/public/_images/tape-assets/sticker-1-medium-up.png +0 -0
- package/public/_images/tape-assets/sticker-1-medium-up.webp +0 -0
- package/public/_images/tape-assets/sticker-1.png +0 -0
- package/public/_images/tape-assets/sticker-1.webp +0 -0
- package/public/_images/tape-assets/sticker-10-2x.png +0 -0
- package/public/_images/tape-assets/sticker-10-2x.webp +0 -0
- package/public/_images/tape-assets/sticker-10-medium-up-2x.png +0 -0
- package/public/_images/tape-assets/sticker-10-medium-up-2x.webp +0 -0
- package/public/_images/tape-assets/sticker-10-medium-up.png +0 -0
- package/public/_images/tape-assets/sticker-10-medium-up.webp +0 -0
- package/public/_images/tape-assets/sticker-10.png +0 -0
- package/public/_images/tape-assets/sticker-10.webp +0 -0
- package/public/_images/tape-assets/sticker-11-2x.png +0 -0
- package/public/_images/tape-assets/sticker-11-2x.webp +0 -0
- package/public/_images/tape-assets/sticker-11-medium-up-2x.png +0 -0
- package/public/_images/tape-assets/sticker-11-medium-up-2x.webp +0 -0
- package/public/_images/tape-assets/sticker-11-medium-up.png +0 -0
- package/public/_images/tape-assets/sticker-11-medium-up.webp +0 -0
- package/public/_images/tape-assets/sticker-11.png +0 -0
- package/public/_images/tape-assets/sticker-11.webp +0 -0
- package/public/_images/tape-assets/sticker-12-2x.png +0 -0
- package/public/_images/tape-assets/sticker-12-2x.webp +0 -0
- package/public/_images/tape-assets/sticker-12-medium-up-2x.png +0 -0
- package/public/_images/tape-assets/sticker-12-medium-up-2x.webp +0 -0
- package/public/_images/tape-assets/sticker-12-medium-up.png +0 -0
- package/public/_images/tape-assets/sticker-12-medium-up.webp +0 -0
- package/public/_images/tape-assets/sticker-12.png +0 -0
- package/public/_images/tape-assets/sticker-12.webp +0 -0
- package/public/_images/tape-assets/sticker-2-red-2x.png +0 -0
- package/public/_images/tape-assets/sticker-2-red-2x.webp +0 -0
- package/public/_images/tape-assets/sticker-2-red-medium-up-2x.png +0 -0
- package/public/_images/tape-assets/sticker-2-red-medium-up-2x.webp +0 -0
- package/public/_images/tape-assets/sticker-2-red-medium-up.png +0 -0
- package/public/_images/tape-assets/sticker-2-red-medium-up.webp +0 -0
- package/public/_images/tape-assets/sticker-2-red.png +0 -0
- package/public/_images/tape-assets/sticker-2-red.webp +0 -0
- package/public/_images/tape-assets/sticker-3-2x.png +0 -0
- package/public/_images/tape-assets/sticker-3-2x.webp +0 -0
- package/public/_images/tape-assets/sticker-3-medium-up-2x.png +0 -0
- package/public/_images/tape-assets/sticker-3-medium-up-2x.webp +0 -0
- package/public/_images/tape-assets/sticker-3-medium-up.png +0 -0
- package/public/_images/tape-assets/sticker-3-medium-up.webp +0 -0
- package/public/_images/tape-assets/sticker-3.png +0 -0
- package/public/_images/tape-assets/sticker-3.webp +0 -0
- package/public/_images/tape-assets/sticker-4-2x.png +0 -0
- package/public/_images/tape-assets/sticker-4-2x.webp +0 -0
- package/public/_images/tape-assets/sticker-4-medium-up-2x.png +0 -0
- package/public/_images/tape-assets/sticker-4-medium-up-2x.webp +0 -0
- package/public/_images/tape-assets/sticker-4-medium-up.png +0 -0
- package/public/_images/tape-assets/sticker-4-medium-up.webp +0 -0
- package/public/_images/tape-assets/sticker-4.png +0 -0
- package/public/_images/tape-assets/sticker-4.webp +0 -0
- package/public/_images/tape-assets/sticker-5-2x.png +0 -0
- package/public/_images/tape-assets/sticker-5-2x.webp +0 -0
- package/public/_images/tape-assets/sticker-5-medium-up-2x.png +0 -0
- package/public/_images/tape-assets/sticker-5-medium-up-2x.webp +0 -0
- package/public/_images/tape-assets/sticker-5-medium-up.png +0 -0
- package/public/_images/tape-assets/sticker-5-medium-up.webp +0 -0
- package/public/_images/tape-assets/sticker-5.png +0 -0
- package/public/_images/tape-assets/sticker-5.webp +0 -0
- package/public/_images/tape-assets/sticker-6-2x.png +0 -0
- package/public/_images/tape-assets/sticker-6-2x.webp +0 -0
- package/public/_images/tape-assets/sticker-6-medium-up-2x.png +0 -0
- package/public/_images/tape-assets/sticker-6-medium-up-2x.webp +0 -0
- package/public/_images/tape-assets/sticker-6-medium-up.png +0 -0
- package/public/_images/tape-assets/sticker-6-medium-up.webp +0 -0
- package/public/_images/tape-assets/sticker-6.png +0 -0
- package/public/_images/tape-assets/sticker-6.webp +0 -0
- package/public/_images/tape-assets/sticker-7-2x.png +0 -0
- package/public/_images/tape-assets/sticker-7-2x.webp +0 -0
- package/public/_images/tape-assets/sticker-7-medium-up-2x.png +0 -0
- package/public/_images/tape-assets/sticker-7-medium-up-2x.webp +0 -0
- package/public/_images/tape-assets/sticker-7-medium-up.png +0 -0
- package/public/_images/tape-assets/sticker-7-medium-up.webp +0 -0
- package/public/_images/tape-assets/sticker-7.png +0 -0
- package/public/_images/tape-assets/sticker-7.webp +0 -0
- package/public/_images/tape-assets/sticker-8-2x.png +0 -0
- package/public/_images/tape-assets/sticker-8-2x.webp +0 -0
- package/public/_images/tape-assets/sticker-8-medium-up-2x.png +0 -0
- package/public/_images/tape-assets/sticker-8-medium-up-2x.webp +0 -0
- package/public/_images/tape-assets/sticker-8-medium-up.png +0 -0
- package/public/_images/tape-assets/sticker-8-medium-up.webp +0 -0
- package/public/_images/tape-assets/sticker-8.png +0 -0
- package/public/_images/tape-assets/sticker-8.webp +0 -0
- package/public/_images/tape-assets/sticker-9-2x.png +0 -0
- package/public/_images/tape-assets/sticker-9-2x.webp +0 -0
- package/public/_images/tape-assets/sticker-9-medium-up-2x.png +0 -0
- package/public/_images/tape-assets/sticker-9-medium-up-2x.webp +0 -0
- package/public/_images/tape-assets/sticker-9-medium-up.png +0 -0
- package/public/_images/tape-assets/sticker-9-medium-up.webp +0 -0
- package/public/_images/tape-assets/sticker-9.png +0 -0
- package/public/_images/tape-assets/sticker-9.webp +0 -0
- package/public/_images/tape-assets/tape-1.png +0 -0
- package/public/_images/tape-assets/tape-2-2x.png +0 -0
- package/public/_images/tape-assets/tape-2-2x.webp +0 -0
- package/public/_images/tape-assets/tape-2-medium-up-2x.png +0 -0
- package/public/_images/tape-assets/tape-2-medium-up-2x.webp +0 -0
- package/public/_images/tape-assets/tape-2-medium-up.png +0 -0
- package/public/_images/tape-assets/tape-2-medium-up.webp +0 -0
- package/public/_images/tape-assets/tape-2.png +0 -0
- package/public/_images/tape-assets/tape-2.webp +0 -0
- package/public/_images/tape-assets/tape-3-2x.png +0 -0
- package/public/_images/tape-assets/tape-3-2x.webp +0 -0
- package/public/_images/tape-assets/tape-3-medium-up-2x.png +0 -0
- package/public/_images/tape-assets/tape-3-medium-up-2x.webp +0 -0
- package/public/_images/tape-assets/tape-3-medium-up.png +0 -0
- package/public/_images/tape-assets/tape-3-medium-up.webp +0 -0
- package/public/_images/tape-assets/tape-3.png +0 -0
- package/public/_images/tape-assets/tape-3.webp +0 -0
- package/public/_images/tape-assets/tape-4-medium-up-2x.png +0 -0
- package/public/_images/tape-assets/tape-4-medium-up-2x.webp +0 -0
- package/public/_images/tape-assets/tape-4-medium-up.png +0 -0
- package/public/_images/tape-assets/tape-4-medium-up.webp +0 -0
- package/public/_images/tape-assets/tape-5-2x.png +0 -0
- package/public/_images/tape-assets/tape-5-2x.webp +0 -0
- package/public/_images/tape-assets/tape-5-medium-up-2x.png +0 -0
- package/public/_images/tape-assets/tape-5-medium-up-2x.webp +0 -0
- package/public/_images/tape-assets/tape-5-medium-up.png +0 -0
- package/public/_images/tape-assets/tape-5-medium-up.webp +0 -0
- package/public/_images/tape-assets/tape-5.png +0 -0
- package/public/_images/tape-assets/tape-5.webp +0 -0
- package/public/_images/tape-assets/tape-6-2x.png +0 -0
- package/public/_images/tape-assets/tape-6-2x.webp +0 -0
- package/public/_images/tape-assets/tape-6-medium-up-2x.png +0 -0
- package/public/_images/tape-assets/tape-6-medium-up-2x.webp +0 -0
- package/public/_images/tape-assets/tape-6-medium-up.png +0 -0
- package/public/_images/tape-assets/tape-6-medium-up.webp +0 -0
- package/public/_images/tape-assets/tape-6.png +0 -0
- package/public/_images/tape-assets/tape-6.webp +0 -0
- package/public/_images/tape-assets/tape-7-2x.png +0 -0
- package/public/_images/tape-assets/tape-7-2x.webp +0 -0
- package/public/_images/tape-assets/tape-7.png +0 -0
- package/public/_images/tape-assets/tape-7.webp +0 -0
- package/public/_images/weapons/marquee/s3_weapons_social-1.jpg +0 -0
- package/public/_images/weapons/marquee/s3_weapons_social-10.jpg +0 -0
- package/public/_images/weapons/marquee/s3_weapons_social-11.jpg +0 -0
- package/public/_images/weapons/marquee/s3_weapons_social-12.jpg +0 -0
- package/public/_images/weapons/marquee/s3_weapons_social-13.jpg +0 -0
- package/public/_images/weapons/marquee/s3_weapons_social-14.jpg +0 -0
- package/public/_images/weapons/marquee/s3_weapons_social-15.jpg +0 -0
- package/public/_images/weapons/marquee/s3_weapons_social-16.jpg +0 -0
- package/public/_images/weapons/marquee/s3_weapons_social-17.jpg +0 -0
- package/public/_images/weapons/marquee/s3_weapons_social-18.jpg +0 -0
- package/public/_images/weapons/marquee/s3_weapons_social-19.jpg +0 -0
- package/public/_images/weapons/marquee/s3_weapons_social-2.jpg +0 -0
- package/public/_images/weapons/marquee/s3_weapons_social-20.jpg +0 -0
- package/public/_images/weapons/marquee/s3_weapons_social-21.jpg +0 -0
- package/public/_images/weapons/marquee/s3_weapons_social-22.jpg +0 -0
- package/public/_images/weapons/marquee/s3_weapons_social-3.jpg +0 -0
- package/public/_images/weapons/marquee/s3_weapons_social-4.jpg +0 -0
- package/public/_images/weapons/marquee/s3_weapons_social-5.jpg +0 -0
- package/public/_images/weapons/marquee/s3_weapons_social-6.jpg +0 -0
- package/public/_images/weapons/marquee/s3_weapons_social-7.jpg +0 -0
- package/public/_images/weapons/marquee/s3_weapons_social-8.jpg +0 -0
- package/public/_images/weapons/marquee/s3_weapons_social-9.jpg +0 -0
- package/public/_images/weapons/shops-gallery/coco-icon.png +0 -0
- package/public/_images/weapons/shops-gallery/coco.png +0 -0
- package/public/_images/weapons/shops-gallery/eddy-icon.png +0 -0
- package/public/_images/weapons/shops-gallery/eddy.png +0 -0
- package/public/_images/weapons/shops-gallery/harmony-icon.png +0 -0
- package/public/_images/weapons/shops-gallery/harmony.png +0 -0
- package/public/_images/weapons/shops-gallery/jella-icon.png +0 -0
- package/public/_images/weapons/shops-gallery/jella.png +0 -0
- package/public/_images/weapons/shops-gallery/sheldon-icon.png +0 -0
- package/public/_images/weapons/shops-gallery/sheldon.png +0 -0
- package/public/_images/weapons/shops-gallery/weapons-express-ammo-knights-2.jpg +0 -0
- package/public/_images/weapons/shops-gallery/weapons-express-crush-station-5.jpg +0 -0
- package/public/_images/weapons/shops-gallery/weapons-express-hotlantis-1.jpg +0 -0
- package/public/_images/weapons/shops-gallery/weapons-express-manoward-4.jpg +0 -0
- package/public/_images/weapons/shops-gallery/weapons-express-naut-couture-3.jpg +0 -0
- package/public/fonts/foo-webfont.woff +0 -0
- package/public/fonts/foo-webfont.woff2 +0 -0
- package/public/fonts/montserrat-v24-latin-500.woff +0 -0
- package/public/fonts/montserrat-v24-latin-500.woff2 +0 -0
- package/public/fonts/montserrat-v24-latin-600.woff2 +0 -0
- package/public/fonts/montserrat-v24-latin-700.woff2 +0 -0
- package/public/fonts/montserrat-v24-latin-900.woff2 +0 -0
- package/public/fonts/montserrat-v24-latin-regular.woff +0 -0
- package/public/fonts/montserrat-v24-latin-regular.woff2 +0 -0
- package/public/fonts/obviously-narrow-600.woff2 +0 -0
- package/public/svgs/paper-tear-down.svg +3 -0
- package/public/svgs/paper-tear-up.svg +3 -0
- package/public/svgs/rip-left.svg +3 -0
- package/public/svgs/rip-right.svg +3 -0
- package/public/svgs/wave.svg +3 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Splatoon UI contributors
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/NOTICE
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
Splatoon UI is a fan-made project and is not affiliated with, authorized by, or endorsed by Nintendo Co., Ltd.
|
|
2
|
+
|
|
3
|
+
Splatoon and related marks are trademarks of Nintendo. Splatoon-related visual styles, names, and reference artwork belong to their respective owners.
|
|
4
|
+
|
|
5
|
+
The MIT license applies to the source code authored for this project. Any third-party fonts, trademarks, screenshots, references, or visual assets remain subject to their original owners' rights and licenses.
|
package/README.md
ADDED
|
@@ -0,0 +1,233 @@
|
|
|
1
|
+
# Splatoon UI
|
|
2
|
+
|
|
3
|
+
一个基于 Splatoon 视觉风格的 React 组件库,为同人创作者提供开箱即用的 UI 工具。
|
|
4
|
+
|
|
5
|
+
> **本项目与 Nintendo 无任何关联。** Splatoon 是 Nintendo 的注册商标。本项目是粉丝创作(fan-made),仅供非商业的同人社区使用。如涉及侵权,请联系我们,我们将立即处理。
|
|
6
|
+
|
|
7
|
+
**[English Version](./README_EN.md) | [日本語版](./README_JA.md)**
|
|
8
|
+
|
|
9
|
+
## 这是什么
|
|
10
|
+
|
|
11
|
+
Splatoon UI 是一套完整的 React 组件库,基于 Splatoon 系列鲜艳、高对比、墨水感的视觉语言做了前端组件化整理。你可以用它快速搭建 Splatoon 风格的同人网站、Wiki、锦标赛页面、粉丝社区等。
|
|
12
|
+
|
|
13
|
+
**核心特色:**
|
|
14
|
+
|
|
15
|
+
- 墨水滴落(drip)动画按钮
|
|
16
|
+
- 撕纸、胶带、钉书针风格的卡片系统
|
|
17
|
+
- WebGL 墨水飞溅过渡效果
|
|
18
|
+
- 基于物理摆锤模型的卡片堆叠轮播
|
|
19
|
+
- 12 种墨水飞溅装饰组件
|
|
20
|
+
- 15 种迷彩/图案背景纹理(支持 Retina)
|
|
21
|
+
- 完整的可访问性支持(`prefers-reduced-motion`、WCAG AA 对比度)
|
|
22
|
+
|
|
23
|
+
## 快速开始
|
|
24
|
+
|
|
25
|
+
### 使用 npm 包
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
npm install splatoon-ui
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
在应用入口导入一次全局样式:
|
|
32
|
+
|
|
33
|
+
```tsx
|
|
34
|
+
import 'splatoon-ui/styles.css'
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
默认入口导出 server-safe 基础组件;交互组件从 client 入口导入:
|
|
38
|
+
|
|
39
|
+
```tsx
|
|
40
|
+
import { HeadingTape, Section } from 'splatoon-ui'
|
|
41
|
+
import { Button, Dialog } from 'splatoon-ui/client'
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
Splatoon UI 的样式会引用 `/_images`、`/fonts`、`/svgs` 下的静态资源。部署前,把包内的 `public/_images`、`public/fonts`、`public/svgs` 复制到你的应用 public 根目录。
|
|
45
|
+
|
|
46
|
+
`styles.css` 是 Tailwind CSS v4 入口文件;消费方应用需要具备能处理 npm 包 CSS imports 的 Tailwind v4/PostCSS 流程。
|
|
47
|
+
|
|
48
|
+
### 本地运行 demo
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
# 克隆项目
|
|
52
|
+
git clone https://github.com/YoungSx/splatoon-ui.git
|
|
53
|
+
cd splatoon-ui
|
|
54
|
+
|
|
55
|
+
# 安装依赖
|
|
56
|
+
pnpm install
|
|
57
|
+
|
|
58
|
+
# 启动开发服务器
|
|
59
|
+
pnpm dev
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
打开 http://localhost:4317 查看效果。
|
|
63
|
+
|
|
64
|
+
## 技术栈
|
|
65
|
+
|
|
66
|
+
| 层级 | 技术 |
|
|
67
|
+
| ------- | ----------------------------------------- |
|
|
68
|
+
| 框架 | Next.js 16 (App Router + Turbopack) |
|
|
69
|
+
| UI 基座 | shadcn/ui + Base UI |
|
|
70
|
+
| 样式 | Tailwind CSS v4 |
|
|
71
|
+
| 动画 | framer-motion + CSS transitions/keyframes |
|
|
72
|
+
| WebGL | 自定义墨水飞溅着色器 |
|
|
73
|
+
| 图标 | lucide-react |
|
|
74
|
+
| 语言 | TypeScript (strict mode) |
|
|
75
|
+
| 包管理 | pnpm |
|
|
76
|
+
|
|
77
|
+
## 组件清单
|
|
78
|
+
|
|
79
|
+
### 核心组件
|
|
80
|
+
|
|
81
|
+
| 组件 | 说明 |
|
|
82
|
+
| ----------------------------------- | ------------------------------------------------------------------------------------ |
|
|
83
|
+
| `Button` | 6 色变体 + drip 动画 + 墨水飞溅装饰 |
|
|
84
|
+
| `Card` | 4 种变体:paper(撕纸)、staple(钉书针 + 胶带)、rugged(悬挂标签)、torn(手撕边) |
|
|
85
|
+
| `PhotoFrame` | 统一相纸容器:撕边 SVG + 胶带/贴纸装饰、mask-image 裁切、响应式 |
|
|
86
|
+
| `Dialog` | Base UI 封装,WaveButton 关闭按钮 + 全屏墨水飞溅模式 |
|
|
87
|
+
| `Tabs` | 墨水飞溅 hover + 颜色下划线标签页(default / line 两种变体) |
|
|
88
|
+
| `Input / Select / Checkbox / Radio` | 表单控件 |
|
|
89
|
+
| `Badge` | 7 色倾斜标签 + 贴纸变体 |
|
|
90
|
+
| `Navigation` | 固定头部(滚动折叠)+ 导航对话框 |
|
|
91
|
+
|
|
92
|
+
### 装饰组件
|
|
93
|
+
|
|
94
|
+
| 组件 | 说明 |
|
|
95
|
+
| --------------------- | ------------------------------------------------------------- |
|
|
96
|
+
| `Tape Title` | 红 / 黄 / 黑背景 + SVG 胶带装饰标题 |
|
|
97
|
+
| `Banner Divider` | 波浪形分区过渡 |
|
|
98
|
+
| `Marquee` | 无限滚动内容条(default / tape / warning 变体,支持任意内容) |
|
|
99
|
+
| `Ink Splat` | 12 种墨水飞溅装饰组件 + 交互式墨水生成器 |
|
|
100
|
+
| `Sticker` | 装饰性贴纸 |
|
|
101
|
+
| `Background Patterns` | 15 种迷彩 / 图案纹理(支持 Retina) |
|
|
102
|
+
|
|
103
|
+
### 高级组件
|
|
104
|
+
|
|
105
|
+
| 组件 | 说明 |
|
|
106
|
+
| --------------------- | --------------------------------------------------- |
|
|
107
|
+
| `Video Dialog` | YouTube 模态 + WebGL 墨水飞溅过渡 |
|
|
108
|
+
| `Ink Splash Canvas` | WebGL 着色器驱动的墨水过渡效果 |
|
|
109
|
+
| `Card Stack Carousel` | 基于物理摆锤模型的卡片轮播 |
|
|
110
|
+
| `Gallery System` | 统一轮播(Marquee / Weapons / Shops)+ 鱿鱼图标分页 |
|
|
111
|
+
| `InView` | IntersectionObserver 滚动触发动画 |
|
|
112
|
+
| `Page Transition` | WebGL 墨水飞溅页面过渡 |
|
|
113
|
+
| `Wave Canvas` | 交互式波浪画布 |
|
|
114
|
+
|
|
115
|
+
## 设计系统
|
|
116
|
+
|
|
117
|
+
### 颜色
|
|
118
|
+
|
|
119
|
+
| 名称 | 色值 | 用途 |
|
|
120
|
+
| ----------- | --------- | --------------- |
|
|
121
|
+
| Neon Yellow | `#EAFF3D` | 主品牌色、CTA |
|
|
122
|
+
| Ink Blue | `#603BFF` | 副品牌色、hover |
|
|
123
|
+
| Ink Purple | `#AF50FF` | 强调色 |
|
|
124
|
+
| Ink Green | `#6AF7CE` | 播放 / 特殊控件 |
|
|
125
|
+
| Ink Orange | `#FF9750` | 暖色操作 |
|
|
126
|
+
| Ink Red | `#FF505E` | 破坏性操作 |
|
|
127
|
+
| Chaos Black | `#0D0D0D` | 文本、阴影 |
|
|
128
|
+
| Desert Sand | `#F5F0E8` | 背景 |
|
|
129
|
+
|
|
130
|
+
### 字体
|
|
131
|
+
|
|
132
|
+
| 角色 | 字体 | 用途 |
|
|
133
|
+
| ----------------- | ---------------- | ------------------ |
|
|
134
|
+
| Display / Heading | fooregular | 英雄标题、章节标题 |
|
|
135
|
+
| Alt | obviously-narrow | 按钮、分类 |
|
|
136
|
+
| Body | Montserrat | 正文 |
|
|
137
|
+
|
|
138
|
+
### 阴影
|
|
139
|
+
|
|
140
|
+
主阴影使用柔和模糊(soft blur),用于 UI 元素的层次感;硬偏移实色(hard offset)仅用于特殊剪贴画风格元素:
|
|
141
|
+
|
|
142
|
+
```
|
|
143
|
+
# 柔和模糊(主用)
|
|
144
|
+
shadow-soft-splat-sm → 0 4px 10px rgba(0,0,0,0.14)
|
|
145
|
+
shadow-soft-splat-md → 0 8px 18px rgba(0,0,0,0.16)
|
|
146
|
+
shadow-soft-splat-lg → 0 14px 30px rgba(0,0,0,0.18)
|
|
147
|
+
|
|
148
|
+
# 硬偏移(legacy / 特殊场景)
|
|
149
|
+
shadow-solid-sm → 2px 2px 0px
|
|
150
|
+
shadow-solid → 4px 4px 0px
|
|
151
|
+
shadow-solid-lg → 6px 6px 0px
|
|
152
|
+
shadow-solid-xl → 8px 8px 0px
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
## 项目结构
|
|
156
|
+
|
|
157
|
+
```
|
|
158
|
+
src/
|
|
159
|
+
app/ # Next.js 页面
|
|
160
|
+
components/ui/ # 86 个组件 + 32 个 CSS Module
|
|
161
|
+
splats/ # 12 种墨水飞溅装饰组件(TSX)
|
|
162
|
+
stickers/ # 装饰贴纸
|
|
163
|
+
config/ # 导航配置等
|
|
164
|
+
lib/
|
|
165
|
+
utils.ts # 工具函数(cn 等)
|
|
166
|
+
wobble-math.ts # 摆锤物理数学
|
|
167
|
+
drip-math.ts # 滴落动画数学
|
|
168
|
+
ink-particle.ts # 墨水粒子系统
|
|
169
|
+
physics/ # 卡片堆叠物理引擎
|
|
170
|
+
shaders/ # WebGL 着色器
|
|
171
|
+
hooks/ # 自定义 Hooks(useDripAnimation 等)
|
|
172
|
+
public/
|
|
173
|
+
_images/ # 背景、胶带素材、截图
|
|
174
|
+
tape-assets/ # 胶带/贴纸 PNG 素材(含 @2x)
|
|
175
|
+
svg/ # 装饰 SVG 素材(撕边背景等)
|
|
176
|
+
fonts/ # 字体文件(fooregular、Montserrat 自托管)
|
|
177
|
+
svgs/ # 通用 SVG 资源(纸张撕裂、波浪等)
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
## 开发命令
|
|
181
|
+
|
|
182
|
+
```bash
|
|
183
|
+
pnpm dev # 启动开发服务器
|
|
184
|
+
pnpm build # 生产构建
|
|
185
|
+
pnpm start # 启动生产服务器
|
|
186
|
+
npx tsc --noEmit # 类型检查
|
|
187
|
+
pnpm reference:crawl # 从 sitemap 生成官网参考资源 manifest(输出到 scratch/)
|
|
188
|
+
pnpm reference:crawl:all # 抓取英文 locale 的全部 sitemap 页面
|
|
189
|
+
pnpm reference:crawl:all-locales # 抓取 sitemap 中全部 locale 页面(独立输出目录)
|
|
190
|
+
pnpm reference:analyze # 将 manifest 映射为组件资产候选清单
|
|
191
|
+
pnpm reference:analyze:all-locales # 分析全部 locale 的 manifest
|
|
192
|
+
pnpm reference:analyze:videos # 去重并归档官方远程 mp4 候选
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
如需下载 manifest 中的参考资源,使用 `pnpm reference:crawl:download`。下载结果仍在
|
|
196
|
+
`scratch/`,需要人工筛选、重命名和确认用途后再迁入可发布资源目录。
|
|
197
|
+
全 locale 抓取会写入 `scratch/splatoon-reference-all-locales/`,避免覆盖默认英文参考报告。
|
|
198
|
+
视频分析只输出远程候选清单到 scratch,不会把 mp4 二进制复制到可发布目录。
|
|
199
|
+
|
|
200
|
+
## 发布 npm 包
|
|
201
|
+
|
|
202
|
+
```bash
|
|
203
|
+
pnpm install
|
|
204
|
+
pnpm typecheck
|
|
205
|
+
pnpm build:package
|
|
206
|
+
pnpm pack:dry-run
|
|
207
|
+
pnpm test:package-consumer
|
|
208
|
+
pnpm changeset
|
|
209
|
+
pnpm version
|
|
210
|
+
pnpm publish --access public
|
|
211
|
+
git push --follow-tags
|
|
212
|
+
```
|
|
213
|
+
|
|
214
|
+
发布前必须看 `pnpm pack:dry-run` 输出,确认 tarball 只包含 `dist`、`public/_images`、`public/fonts`、`public/svgs`、README 文件、LICENSE、NOTICE 和 package metadata。
|
|
215
|
+
|
|
216
|
+
## 许可证
|
|
217
|
+
|
|
218
|
+
MIT
|
|
219
|
+
|
|
220
|
+
## 版权声明
|
|
221
|
+
|
|
222
|
+
本项目是 **粉丝创作(fan-made)**,与 Nintendo Co., Ltd. 没有任何关联、授权或背书关系。
|
|
223
|
+
|
|
224
|
+
- **Splatoon** 是 Nintendo 的注册商标
|
|
225
|
+
- 本项目中所有 Splatoon 相关的视觉风格、设计语言和美术元素的版权归 Nintendo 所有
|
|
226
|
+
- 本项目仅使用了公开可访问的网页设计作为视觉参考,不包含任何游戏代码、资源文件或未公开素材
|
|
227
|
+
- 本项目仅供非商业的同人社区使用
|
|
228
|
+
|
|
229
|
+
**如本项目涉及侵权,请通过 GitHub Issues 联系我们,我们将立即处理。**
|
|
230
|
+
|
|
231
|
+
---
|
|
232
|
+
|
|
233
|
+
_由 Splatoon 同人社区爱好者制作,献给所有热爱 Splatoon 的玩家。_
|
package/README_EN.md
ADDED
|
@@ -0,0 +1,236 @@
|
|
|
1
|
+
# Splatoon UI
|
|
2
|
+
|
|
3
|
+
A React component library inspired by Splatoon's visual language, providing ready-to-use UI tools for fan creators.
|
|
4
|
+
|
|
5
|
+
> **This project is not affiliated with Nintendo in any way.** Splatoon is a registered trademark of Nintendo. This project is fan-made and intended for non-commercial fan community use only. If this project infringes on any rights, please contact us and we will address it immediately.
|
|
6
|
+
|
|
7
|
+
**[中文版 (Chinese Version)](./README.md) | [日本語版 (Japanese Version)](./README_JA.md)**
|
|
8
|
+
|
|
9
|
+
## About
|
|
10
|
+
|
|
11
|
+
Splatoon UI is a comprehensive React component library shaped around Splatoon's vivid, high-contrast, ink-heavy visual language. Build Splatoon-style fan sites, wikis, tournament pages, and more in minutes.
|
|
12
|
+
|
|
13
|
+
**Key features:**
|
|
14
|
+
|
|
15
|
+
- Buttons with liquid ink drip animations
|
|
16
|
+
- Card system with torn-paper, tape, and staple variants
|
|
17
|
+
- WebGL ink splash transition effects
|
|
18
|
+
- Physics-driven pendulum card stack carousel
|
|
19
|
+
- 12 ink splat decorative components
|
|
20
|
+
- 15 camouflage and pattern background textures (Retina support)
|
|
21
|
+
- Full accessibility support (`prefers-reduced-motion`, WCAG AA contrast)
|
|
22
|
+
|
|
23
|
+
## Quick Start
|
|
24
|
+
|
|
25
|
+
### Use the package
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
npm install splatoon-ui
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
Import the global stylesheet once in your app shell:
|
|
32
|
+
|
|
33
|
+
```tsx
|
|
34
|
+
import 'splatoon-ui/styles.css'
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
Use server-safe primitives from the default entrypoint, and interactive components from the client entrypoint:
|
|
38
|
+
|
|
39
|
+
```tsx
|
|
40
|
+
import { HeadingTape, Section } from 'splatoon-ui'
|
|
41
|
+
import { Button, Dialog } from 'splatoon-ui/client'
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
Splatoon UI styles reference static assets from `/_images`, `/fonts`, and `/svgs`. Copy the package `public/_images`, `public/fonts`, and `public/svgs` directories into your app's public root before deploying.
|
|
45
|
+
|
|
46
|
+
The stylesheet is a Tailwind CSS v4 entrypoint. Your app needs a normal Tailwind v4/PostCSS pipeline that can process CSS imports from npm packages.
|
|
47
|
+
|
|
48
|
+
### Run the demo locally
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
# Clone the project
|
|
52
|
+
git clone https://github.com/YoungSx/splatoon-ui.git
|
|
53
|
+
cd splatoon-ui
|
|
54
|
+
|
|
55
|
+
# Install dependencies
|
|
56
|
+
pnpm install
|
|
57
|
+
|
|
58
|
+
# Start dev server
|
|
59
|
+
pnpm dev
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
Open http://localhost:4317 to see it in action.
|
|
63
|
+
|
|
64
|
+
## Tech Stack
|
|
65
|
+
|
|
66
|
+
| Layer | Technology |
|
|
67
|
+
| --------------- | ----------------------------------------- |
|
|
68
|
+
| Framework | Next.js 16 (App Router + Turbopack) |
|
|
69
|
+
| UI Base | shadcn/ui + Base UI |
|
|
70
|
+
| Styling | Tailwind CSS v4 |
|
|
71
|
+
| Animation | framer-motion + CSS transitions/keyframes |
|
|
72
|
+
| WebGL | Custom ink splash shaders |
|
|
73
|
+
| Icons | lucide-react |
|
|
74
|
+
| Language | TypeScript (strict mode) |
|
|
75
|
+
| Package Manager | pnpm |
|
|
76
|
+
|
|
77
|
+
## Component Inventory
|
|
78
|
+
|
|
79
|
+
### Core Components
|
|
80
|
+
|
|
81
|
+
| Component | Description |
|
|
82
|
+
| ----------------------------------- | --------------------------------------------------------------------------------------------------- |
|
|
83
|
+
| `Button` | 6 color variants + drip animation + ink splat decorations |
|
|
84
|
+
| `Card` | 4 variants: paper (torn paper), staple (staple and tape), rugged (hanging label), torn (rough edge) |
|
|
85
|
+
| `PhotoFrame` | Unified photo frame: torn-paper SVG + tape/sticker decoration, mask-image clipping, responsive |
|
|
86
|
+
| `Dialog` | Base UI wrapper with WaveButton close button + fullscreen ink splash mode |
|
|
87
|
+
| `Tabs` | Ink splat hover + color underline tabs (default / line variants) |
|
|
88
|
+
| `Input / Select / Checkbox / Radio` | Form controls |
|
|
89
|
+
| `Badge` | 7 color skewed labels + sticker variant |
|
|
90
|
+
| `Navigation` | Fixed header (scroll-collapse) + navigation dialog |
|
|
91
|
+
|
|
92
|
+
### Decorative Components
|
|
93
|
+
|
|
94
|
+
| Component | Description |
|
|
95
|
+
| --------------------- | ------------------------------------------------------------------------------------------ |
|
|
96
|
+
| `Tape Title` | Red / yellow / black background + SVG tape decoration heading |
|
|
97
|
+
| `Banner Divider` | Wavy section transitions |
|
|
98
|
+
| `Marquee` | Infinite scrolling content strip (default / tape / warning variants, supports any content) |
|
|
99
|
+
| `Ink Splat` | 12 ink splat decorative components + interactive ink splat generator |
|
|
100
|
+
| `Sticker` | Decorative sticker elements |
|
|
101
|
+
| `Background Patterns` | 15 camouflage / pattern textures (Retina support) |
|
|
102
|
+
|
|
103
|
+
### Advanced Components
|
|
104
|
+
|
|
105
|
+
| Component | Description |
|
|
106
|
+
| --------------------- | -------------------------------------------------------------------------- |
|
|
107
|
+
| `Video Dialog` | YouTube modal + WebGL ink splash transition |
|
|
108
|
+
| `Ink Splash Canvas` | WebGL shader-driven ink transition effect |
|
|
109
|
+
| `Card Stack Carousel` | Physics-based pendulum model card carousel |
|
|
110
|
+
| `Gallery System` | Unified carousel (Marquee / Weapons / Shops) + pagination with squid icons |
|
|
111
|
+
| `InView` | IntersectionObserver scroll-triggered animations |
|
|
112
|
+
| `Page Transition` | WebGL ink splash page transitions |
|
|
113
|
+
| `Wave Canvas` | Interactive wave canvas |
|
|
114
|
+
|
|
115
|
+
## Design System
|
|
116
|
+
|
|
117
|
+
### Colors
|
|
118
|
+
|
|
119
|
+
| Name | Value | Usage |
|
|
120
|
+
| ----------- | --------- | ----------------------- |
|
|
121
|
+
| Neon Yellow | `#EAFF3D` | Primary brand, CTA |
|
|
122
|
+
| Ink Blue | `#603BFF` | Secondary brand, hover |
|
|
123
|
+
| Ink Purple | `#AF50FF` | Accent |
|
|
124
|
+
| Ink Green | `#6AF7CE` | Play / special controls |
|
|
125
|
+
| Ink Orange | `#FF9750` | Warm actions |
|
|
126
|
+
| Ink Red | `#FF505E` | Destructive actions |
|
|
127
|
+
| Chaos Black | `#0D0D0D` | Text, shadows |
|
|
128
|
+
| Desert Sand | `#F5F0E8` | Backgrounds |
|
|
129
|
+
|
|
130
|
+
### Typography
|
|
131
|
+
|
|
132
|
+
| Role | Font | Usage |
|
|
133
|
+
| ----------------- | ---------------- | ------------------------- |
|
|
134
|
+
| Display / Heading | fooregular | Hero and section headings |
|
|
135
|
+
| Alt | obviously-narrow | Buttons, categories |
|
|
136
|
+
| Body | Montserrat | Body text |
|
|
137
|
+
|
|
138
|
+
### Shadows
|
|
139
|
+
|
|
140
|
+
Primary shadows use soft blur for general UI elevation; hard-offset solid colors are reserved for special paper-cutout-style elements:
|
|
141
|
+
|
|
142
|
+
```
|
|
143
|
+
# Soft blur (primary)
|
|
144
|
+
shadow-soft-splat-sm → 0 4px 10px rgba(0,0,0,0.14)
|
|
145
|
+
shadow-soft-splat-md → 0 8px 18px rgba(0,0,0,0.16)
|
|
146
|
+
shadow-soft-splat-lg → 0 14px 30px rgba(0,0,0,0.18)
|
|
147
|
+
|
|
148
|
+
# Hard offset (legacy / special cases)
|
|
149
|
+
shadow-solid-sm → 2px 2px 0px
|
|
150
|
+
shadow-solid → 4px 4px 0px
|
|
151
|
+
shadow-solid-lg → 6px 6px 0px
|
|
152
|
+
shadow-solid-xl → 8px 8px 0px
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
## Project Structure
|
|
156
|
+
|
|
157
|
+
```
|
|
158
|
+
src/
|
|
159
|
+
app/ # Next.js pages
|
|
160
|
+
components/ui/ # 86 components + 32 CSS Modules
|
|
161
|
+
splats/ # 12 ink splat decorative components (TSX)
|
|
162
|
+
stickers/ # Decorative stickers
|
|
163
|
+
config/ # Navigation config, etc.
|
|
164
|
+
lib/
|
|
165
|
+
utils.ts # Utilities (cn, etc.)
|
|
166
|
+
wobble-math.ts # Pendulum physics math
|
|
167
|
+
drip-math.ts # Drip animation math
|
|
168
|
+
ink-particle.ts # Ink particle system
|
|
169
|
+
physics/ # Card stack physics engine
|
|
170
|
+
shaders/ # WebGL shaders
|
|
171
|
+
hooks/ # Custom hooks (useDripAnimation, etc.)
|
|
172
|
+
public/
|
|
173
|
+
_images/ # Backgrounds, tape assets, screenshots
|
|
174
|
+
tape-assets/ # Tape/sticker PNG assets (with @2x)
|
|
175
|
+
svg/ # Decorative SVG assets (torn-paper background, etc.)
|
|
176
|
+
fonts/ # Font files (fooregular, Montserrat self-hosted)
|
|
177
|
+
svgs/ # General SVG assets (paper tears, waves, etc.)
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
## Development Commands
|
|
181
|
+
|
|
182
|
+
```bash
|
|
183
|
+
pnpm dev # Start dev server
|
|
184
|
+
pnpm build # Production build
|
|
185
|
+
pnpm start # Start production server
|
|
186
|
+
npx tsc --noEmit # Type check
|
|
187
|
+
pnpm reference:crawl # Generate a reference asset manifest from the sitemap (scratch/ output)
|
|
188
|
+
pnpm reference:crawl:all # Crawl every English-locale sitemap page
|
|
189
|
+
pnpm reference:crawl:all-locales # Crawl every sitemap page across locales (separate output)
|
|
190
|
+
pnpm reference:analyze # Map the manifest into component asset candidates
|
|
191
|
+
pnpm reference:analyze:all-locales # Analyze the all-locale manifest
|
|
192
|
+
pnpm reference:analyze:videos # Deduplicate and catalog official remote mp4 candidates
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
To download the referenced assets, run `pnpm reference:crawl:download`. Downloads still land
|
|
196
|
+
in `scratch/`; curate, rename, and approve assets before moving anything into publishable
|
|
197
|
+
static directories.
|
|
198
|
+
The all-locale crawl writes to `scratch/splatoon-reference-all-locales/` so it does not
|
|
199
|
+
overwrite the default English reference report.
|
|
200
|
+
Video analysis only writes remote candidates into scratch; it does not copy mp4 binaries into
|
|
201
|
+
publishable static directories.
|
|
202
|
+
|
|
203
|
+
## Package Release
|
|
204
|
+
|
|
205
|
+
```bash
|
|
206
|
+
pnpm install
|
|
207
|
+
pnpm typecheck
|
|
208
|
+
pnpm build:package
|
|
209
|
+
pnpm pack:dry-run
|
|
210
|
+
pnpm test:package-consumer
|
|
211
|
+
pnpm changeset
|
|
212
|
+
pnpm version
|
|
213
|
+
pnpm publish --access public
|
|
214
|
+
git push --follow-tags
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
Use `pnpm pack:dry-run` before publishing and check that the tarball only contains `dist`, `public/_images`, `public/fonts`, `public/svgs`, README files, license, notice, and package metadata.
|
|
218
|
+
|
|
219
|
+
## License
|
|
220
|
+
|
|
221
|
+
MIT
|
|
222
|
+
|
|
223
|
+
## Copyright Notice
|
|
224
|
+
|
|
225
|
+
This project is **fan-made** and is not affiliated with, authorized by, or endorsed by Nintendo Co., Ltd.
|
|
226
|
+
|
|
227
|
+
- **Splatoon** is a registered trademark of Nintendo
|
|
228
|
+
- All Splatoon-related visual styles, design language, and artwork are copyright of Nintendo
|
|
229
|
+
- This project only uses publicly accessible web design as visual reference, and does not contain any game code, asset files, or unreleased materials
|
|
230
|
+
- This project is intended for non-commercial fan community use only
|
|
231
|
+
|
|
232
|
+
**If this project infringes on any rights, please contact us via GitHub Issues and we will address it immediately.**
|
|
233
|
+
|
|
234
|
+
---
|
|
235
|
+
|
|
236
|
+
_Built by Splatoon fans, dedicated to all Splatoon players._
|