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.
Files changed (351) hide show
  1. package/LICENSE +21 -0
  2. package/NOTICE +5 -0
  3. package/README.md +233 -0
  4. package/README_EN.md +236 -0
  5. package/README_JA.md +230 -0
  6. package/dist/chunk-KUURJUBW.js +2344 -0
  7. package/dist/chunk-KUURJUBW.js.map +1 -0
  8. package/dist/client.css +2634 -0
  9. package/dist/client.css.map +1 -0
  10. package/dist/client.d.ts +1012 -0
  11. package/dist/client.js +7708 -0
  12. package/dist/client.js.map +1 -0
  13. package/dist/server.css +1091 -0
  14. package/dist/server.css.map +1 -0
  15. package/dist/server.d.ts +813 -0
  16. package/dist/server.js +117 -0
  17. package/dist/server.js.map +1 -0
  18. package/dist/styles.css +4225 -0
  19. package/package.json +119 -0
  20. package/public/_images/backgrounds/base-bg-pattern-2x.jpg +0 -0
  21. package/public/_images/backgrounds/base-bg-pattern.jpg +0 -0
  22. package/public/_images/backgrounds/camo-black-2x.png +0 -0
  23. package/public/_images/backgrounds/camo-black-2x.webp +0 -0
  24. package/public/_images/backgrounds/camo-black.png +0 -0
  25. package/public/_images/backgrounds/camo-green-2x.png +0 -0
  26. package/public/_images/backgrounds/camo-green.png +0 -0
  27. package/public/_images/backgrounds/camo-orange-2x.png +0 -0
  28. package/public/_images/backgrounds/camo-orange.png +0 -0
  29. package/public/_images/backgrounds/camo-purple-2x.png +0 -0
  30. package/public/_images/backgrounds/camo-purple-revised-2x.png +0 -0
  31. package/public/_images/backgrounds/camo-purple-revised.png +0 -0
  32. package/public/_images/backgrounds/camo-purple.png +0 -0
  33. package/public/_images/backgrounds/camo-red-2x.png +0 -0
  34. package/public/_images/backgrounds/camo-red.png +0 -0
  35. package/public/_images/backgrounds/camo-white-2x.png +0 -0
  36. package/public/_images/backgrounds/camo-white-outline-2x.png +0 -0
  37. package/public/_images/backgrounds/camo-white-outline.png +0 -0
  38. package/public/_images/backgrounds/camo-white.png +0 -0
  39. package/public/_images/backgrounds/chip-white-2x.png +0 -0
  40. package/public/_images/backgrounds/chip-white.png +0 -0
  41. package/public/_images/backgrounds/circles-green-2x.png +0 -0
  42. package/public/_images/backgrounds/circles-green.png +0 -0
  43. package/public/_images/backgrounds/graffiti-2x.jpg +0 -0
  44. package/public/_images/backgrounds/graffiti-medium-up-2x.jpg +0 -0
  45. package/public/_images/backgrounds/graffiti-medium-up.jpg +0 -0
  46. package/public/_images/backgrounds/graffiti.jpg +0 -0
  47. package/public/_images/backgrounds/hardware-background-2x.png +0 -0
  48. package/public/_images/backgrounds/hardware-background-medium-up-2x.png +0 -0
  49. package/public/_images/backgrounds/hardware-background-medium-up.png +0 -0
  50. package/public/_images/backgrounds/hardware-background.png +0 -0
  51. package/public/_images/backgrounds/monsters-black-2x.png +0 -0
  52. package/public/_images/backgrounds/monsters-black.png +0 -0
  53. package/public/_images/backgrounds/octo-black-2x.png +0 -0
  54. package/public/_images/backgrounds/octo-black.png +0 -0
  55. package/public/_images/backgrounds/octo-red-2x.png +0 -0
  56. package/public/_images/backgrounds/octo-red.png +0 -0
  57. package/public/_images/backgrounds/octoarrow-green-2x.png +0 -0
  58. package/public/_images/backgrounds/octoarrow-green.png +0 -0
  59. package/public/_images/backgrounds/octoarrow-orange-2x.png +0 -0
  60. package/public/_images/backgrounds/octoarrow-orange.png +0 -0
  61. package/public/_images/backgrounds/squid-black-2x.png +0 -0
  62. package/public/_images/backgrounds/squid-black.png +0 -0
  63. package/public/_images/backgrounds/tapes-black-2x.jpg +0 -0
  64. package/public/_images/backgrounds/tapes-black-2x.webp +0 -0
  65. package/public/_images/backgrounds/tapes-black.jpg +0 -0
  66. package/public/_images/backgrounds/tapes-black.webp +0 -0
  67. package/public/_images/backgrounds/tapes-green-2x.jpg +0 -0
  68. package/public/_images/backgrounds/tapes-green-2x.webp +0 -0
  69. package/public/_images/backgrounds/tapes-green.jpg +0 -0
  70. package/public/_images/backgrounds/tapes-green.webp +0 -0
  71. package/public/_images/backgrounds/tapes-pattern-2x.jpg +0 -0
  72. package/public/_images/backgrounds/tapes-pattern.jpg +0 -0
  73. package/public/_images/backgrounds/tapes-purple-2x.jpg +0 -0
  74. package/public/_images/backgrounds/tapes-purple-2x.webp +0 -0
  75. package/public/_images/backgrounds/tapes-purple.jpg +0 -0
  76. package/public/_images/backgrounds/tapes-purple.webp +0 -0
  77. package/public/_images/banners/banner-blue-2x.png +0 -0
  78. package/public/_images/banners/banner-blue-medium-up-2x.png +0 -0
  79. package/public/_images/banners/banner-blue-medium-up.png +0 -0
  80. package/public/_images/banners/banner-blue.png +0 -0
  81. package/public/_images/banners/banner-design1-2x.png +0 -0
  82. package/public/_images/banners/banner-design1-medium-up-2x.png +0 -0
  83. package/public/_images/banners/banner-design1-medium-up.png +0 -0
  84. package/public/_images/banners/banner-design1.png +0 -0
  85. package/public/_images/banners/banner-design2-2x.png +0 -0
  86. package/public/_images/banners/banner-design2-medium-up-2x.png +0 -0
  87. package/public/_images/banners/banner-design2-medium-up.png +0 -0
  88. package/public/_images/banners/banner-design2.png +0 -0
  89. package/public/_images/banners/banner-design3-2x.png +0 -0
  90. package/public/_images/banners/banner-design3-medium-up-2x.png +0 -0
  91. package/public/_images/banners/banner-design3-medium-up.png +0 -0
  92. package/public/_images/banners/banner-design3.png +0 -0
  93. package/public/_images/banners/banner-green-2x.png +0 -0
  94. package/public/_images/banners/banner-green-medium-up-2x.png +0 -0
  95. package/public/_images/banners/banner-green-medium-up.png +0 -0
  96. package/public/_images/banners/banner-green.png +0 -0
  97. package/public/_images/banners/banner-orange-2x.png +0 -0
  98. package/public/_images/banners/banner-orange-medium-up-2x.png +0 -0
  99. package/public/_images/banners/banner-orange-medium-up.png +0 -0
  100. package/public/_images/banners/banner-orange.png +0 -0
  101. package/public/_images/banners/banner-purple-2x.png +0 -0
  102. package/public/_images/banners/banner-purple-medium-up-2x.png +0 -0
  103. package/public/_images/banners/banner-purple-medium-up.png +0 -0
  104. package/public/_images/banners/banner-purple.png +0 -0
  105. package/public/_images/banners/banner-red-2x.png +0 -0
  106. package/public/_images/banners/banner-red-medium-up-2x.png +0 -0
  107. package/public/_images/banners/banner-red-medium-up.png +0 -0
  108. package/public/_images/banners/banner-red.png +0 -0
  109. package/public/_images/banners/banner-yellow-2x.png +0 -0
  110. package/public/_images/banners/banner-yellow-medium-up-2x.png +0 -0
  111. package/public/_images/banners/banner-yellow-medium-up.png +0 -0
  112. package/public/_images/banners/banner-yellow.png +0 -0
  113. package/public/_images/characters/char-10.png +0 -0
  114. package/public/_images/characters/char-11.png +0 -0
  115. package/public/_images/characters/char-12.png +0 -0
  116. package/public/_images/characters/char-13.png +0 -0
  117. package/public/_images/characters/char-14.png +0 -0
  118. package/public/_images/characters/char-15.png +0 -0
  119. package/public/_images/characters/char-17.png +0 -0
  120. package/public/_images/characters/char-18.png +0 -0
  121. package/public/_images/characters/char-2.png +0 -0
  122. package/public/_images/characters/char-3.png +0 -0
  123. package/public/_images/characters/char-4.png +0 -0
  124. package/public/_images/characters/char-5.png +0 -0
  125. package/public/_images/characters/char-7.png +0 -0
  126. package/public/_images/characters/char-8.png +0 -0
  127. package/public/_images/characters/game-pack.png +0 -0
  128. package/public/_images/characters/salmonid.png +0 -0
  129. package/public/_images/events/active-splat-2x.webp +0 -0
  130. package/public/_images/events/active-splat.webp +0 -0
  131. package/public/_images/events/big-run-callout.jpg +0 -0
  132. package/public/_images/events/golden-egg.png +0 -0
  133. package/public/_images/events/splatnet-blade.jpg +0 -0
  134. package/public/_images/events/splatnet-next-page.png +0 -0
  135. package/public/_images/gameplay/battle-online/gameplay-battle-online-anarchy-1.jpg +0 -0
  136. package/public/_images/gameplay/battle-online/gameplay-battle-online-turfwar-left-screen.jpg +0 -0
  137. package/public/_images/gameplay/battle-online/gameplay-battle-online-turfwar-right-screen.jpg +0 -0
  138. package/public/_images/gameplay/gameplay-salmonrun.jpg +0 -0
  139. package/public/_images/gameplay/splatfest/gameplay-splatfest-1.jpg +0 -0
  140. package/public/_images/gameplay/splatfest/gameplay-splatfest-2.jpg +0 -0
  141. package/public/_images/home/character.png +0 -0
  142. package/public/_images/home/header-back.jpg +0 -0
  143. package/public/_images/home/s3-home-intro-blade.jpg +0 -0
  144. package/public/_images/news/news-staple-left.png +0 -0
  145. package/public/_images/news/news-staple-right.png +0 -0
  146. package/public/_images/news/next-page.png +0 -0
  147. package/public/_images/screenshots/video-trailer.jpg +0 -0
  148. package/public/_images/squid/ika.png +0 -0
  149. package/public/_images/squid/loader-morph-sprite.png +0 -0
  150. package/public/_images/squid/loader-swim-sprite.png +0 -0
  151. package/public/_images/squid/loader_ika.gif +0 -0
  152. package/public/_images/svg/icon-pagination.svg +1 -0
  153. package/public/_images/svg/left-black-tape-container.svg +1 -0
  154. package/public/_images/svg/left-tape.svg +9 -0
  155. package/public/_images/svg/left-yellow-tape-container.svg +1 -0
  156. package/public/_images/svg/pagination-splat.svg +1 -0
  157. package/public/_images/svg/paper-tear-down.svg +3 -0
  158. package/public/_images/svg/paper-tear-up.svg +3 -0
  159. package/public/_images/svg/right-black-tape-container.svg +1 -0
  160. package/public/_images/svg/right-tape.svg +10 -0
  161. package/public/_images/svg/right-yellow-tape-container.svg +1 -0
  162. package/public/_images/svg/styled-photo-background.svg +1 -0
  163. package/public/_images/tape-assets/sticker-1-2x.png +0 -0
  164. package/public/_images/tape-assets/sticker-1-2x.webp +0 -0
  165. package/public/_images/tape-assets/sticker-1-medium-up-2x.png +0 -0
  166. package/public/_images/tape-assets/sticker-1-medium-up-2x.webp +0 -0
  167. package/public/_images/tape-assets/sticker-1-medium-up.png +0 -0
  168. package/public/_images/tape-assets/sticker-1-medium-up.webp +0 -0
  169. package/public/_images/tape-assets/sticker-1.png +0 -0
  170. package/public/_images/tape-assets/sticker-1.webp +0 -0
  171. package/public/_images/tape-assets/sticker-10-2x.png +0 -0
  172. package/public/_images/tape-assets/sticker-10-2x.webp +0 -0
  173. package/public/_images/tape-assets/sticker-10-medium-up-2x.png +0 -0
  174. package/public/_images/tape-assets/sticker-10-medium-up-2x.webp +0 -0
  175. package/public/_images/tape-assets/sticker-10-medium-up.png +0 -0
  176. package/public/_images/tape-assets/sticker-10-medium-up.webp +0 -0
  177. package/public/_images/tape-assets/sticker-10.png +0 -0
  178. package/public/_images/tape-assets/sticker-10.webp +0 -0
  179. package/public/_images/tape-assets/sticker-11-2x.png +0 -0
  180. package/public/_images/tape-assets/sticker-11-2x.webp +0 -0
  181. package/public/_images/tape-assets/sticker-11-medium-up-2x.png +0 -0
  182. package/public/_images/tape-assets/sticker-11-medium-up-2x.webp +0 -0
  183. package/public/_images/tape-assets/sticker-11-medium-up.png +0 -0
  184. package/public/_images/tape-assets/sticker-11-medium-up.webp +0 -0
  185. package/public/_images/tape-assets/sticker-11.png +0 -0
  186. package/public/_images/tape-assets/sticker-11.webp +0 -0
  187. package/public/_images/tape-assets/sticker-12-2x.png +0 -0
  188. package/public/_images/tape-assets/sticker-12-2x.webp +0 -0
  189. package/public/_images/tape-assets/sticker-12-medium-up-2x.png +0 -0
  190. package/public/_images/tape-assets/sticker-12-medium-up-2x.webp +0 -0
  191. package/public/_images/tape-assets/sticker-12-medium-up.png +0 -0
  192. package/public/_images/tape-assets/sticker-12-medium-up.webp +0 -0
  193. package/public/_images/tape-assets/sticker-12.png +0 -0
  194. package/public/_images/tape-assets/sticker-12.webp +0 -0
  195. package/public/_images/tape-assets/sticker-2-red-2x.png +0 -0
  196. package/public/_images/tape-assets/sticker-2-red-2x.webp +0 -0
  197. package/public/_images/tape-assets/sticker-2-red-medium-up-2x.png +0 -0
  198. package/public/_images/tape-assets/sticker-2-red-medium-up-2x.webp +0 -0
  199. package/public/_images/tape-assets/sticker-2-red-medium-up.png +0 -0
  200. package/public/_images/tape-assets/sticker-2-red-medium-up.webp +0 -0
  201. package/public/_images/tape-assets/sticker-2-red.png +0 -0
  202. package/public/_images/tape-assets/sticker-2-red.webp +0 -0
  203. package/public/_images/tape-assets/sticker-3-2x.png +0 -0
  204. package/public/_images/tape-assets/sticker-3-2x.webp +0 -0
  205. package/public/_images/tape-assets/sticker-3-medium-up-2x.png +0 -0
  206. package/public/_images/tape-assets/sticker-3-medium-up-2x.webp +0 -0
  207. package/public/_images/tape-assets/sticker-3-medium-up.png +0 -0
  208. package/public/_images/tape-assets/sticker-3-medium-up.webp +0 -0
  209. package/public/_images/tape-assets/sticker-3.png +0 -0
  210. package/public/_images/tape-assets/sticker-3.webp +0 -0
  211. package/public/_images/tape-assets/sticker-4-2x.png +0 -0
  212. package/public/_images/tape-assets/sticker-4-2x.webp +0 -0
  213. package/public/_images/tape-assets/sticker-4-medium-up-2x.png +0 -0
  214. package/public/_images/tape-assets/sticker-4-medium-up-2x.webp +0 -0
  215. package/public/_images/tape-assets/sticker-4-medium-up.png +0 -0
  216. package/public/_images/tape-assets/sticker-4-medium-up.webp +0 -0
  217. package/public/_images/tape-assets/sticker-4.png +0 -0
  218. package/public/_images/tape-assets/sticker-4.webp +0 -0
  219. package/public/_images/tape-assets/sticker-5-2x.png +0 -0
  220. package/public/_images/tape-assets/sticker-5-2x.webp +0 -0
  221. package/public/_images/tape-assets/sticker-5-medium-up-2x.png +0 -0
  222. package/public/_images/tape-assets/sticker-5-medium-up-2x.webp +0 -0
  223. package/public/_images/tape-assets/sticker-5-medium-up.png +0 -0
  224. package/public/_images/tape-assets/sticker-5-medium-up.webp +0 -0
  225. package/public/_images/tape-assets/sticker-5.png +0 -0
  226. package/public/_images/tape-assets/sticker-5.webp +0 -0
  227. package/public/_images/tape-assets/sticker-6-2x.png +0 -0
  228. package/public/_images/tape-assets/sticker-6-2x.webp +0 -0
  229. package/public/_images/tape-assets/sticker-6-medium-up-2x.png +0 -0
  230. package/public/_images/tape-assets/sticker-6-medium-up-2x.webp +0 -0
  231. package/public/_images/tape-assets/sticker-6-medium-up.png +0 -0
  232. package/public/_images/tape-assets/sticker-6-medium-up.webp +0 -0
  233. package/public/_images/tape-assets/sticker-6.png +0 -0
  234. package/public/_images/tape-assets/sticker-6.webp +0 -0
  235. package/public/_images/tape-assets/sticker-7-2x.png +0 -0
  236. package/public/_images/tape-assets/sticker-7-2x.webp +0 -0
  237. package/public/_images/tape-assets/sticker-7-medium-up-2x.png +0 -0
  238. package/public/_images/tape-assets/sticker-7-medium-up-2x.webp +0 -0
  239. package/public/_images/tape-assets/sticker-7-medium-up.png +0 -0
  240. package/public/_images/tape-assets/sticker-7-medium-up.webp +0 -0
  241. package/public/_images/tape-assets/sticker-7.png +0 -0
  242. package/public/_images/tape-assets/sticker-7.webp +0 -0
  243. package/public/_images/tape-assets/sticker-8-2x.png +0 -0
  244. package/public/_images/tape-assets/sticker-8-2x.webp +0 -0
  245. package/public/_images/tape-assets/sticker-8-medium-up-2x.png +0 -0
  246. package/public/_images/tape-assets/sticker-8-medium-up-2x.webp +0 -0
  247. package/public/_images/tape-assets/sticker-8-medium-up.png +0 -0
  248. package/public/_images/tape-assets/sticker-8-medium-up.webp +0 -0
  249. package/public/_images/tape-assets/sticker-8.png +0 -0
  250. package/public/_images/tape-assets/sticker-8.webp +0 -0
  251. package/public/_images/tape-assets/sticker-9-2x.png +0 -0
  252. package/public/_images/tape-assets/sticker-9-2x.webp +0 -0
  253. package/public/_images/tape-assets/sticker-9-medium-up-2x.png +0 -0
  254. package/public/_images/tape-assets/sticker-9-medium-up-2x.webp +0 -0
  255. package/public/_images/tape-assets/sticker-9-medium-up.png +0 -0
  256. package/public/_images/tape-assets/sticker-9-medium-up.webp +0 -0
  257. package/public/_images/tape-assets/sticker-9.png +0 -0
  258. package/public/_images/tape-assets/sticker-9.webp +0 -0
  259. package/public/_images/tape-assets/tape-1.png +0 -0
  260. package/public/_images/tape-assets/tape-2-2x.png +0 -0
  261. package/public/_images/tape-assets/tape-2-2x.webp +0 -0
  262. package/public/_images/tape-assets/tape-2-medium-up-2x.png +0 -0
  263. package/public/_images/tape-assets/tape-2-medium-up-2x.webp +0 -0
  264. package/public/_images/tape-assets/tape-2-medium-up.png +0 -0
  265. package/public/_images/tape-assets/tape-2-medium-up.webp +0 -0
  266. package/public/_images/tape-assets/tape-2.png +0 -0
  267. package/public/_images/tape-assets/tape-2.webp +0 -0
  268. package/public/_images/tape-assets/tape-3-2x.png +0 -0
  269. package/public/_images/tape-assets/tape-3-2x.webp +0 -0
  270. package/public/_images/tape-assets/tape-3-medium-up-2x.png +0 -0
  271. package/public/_images/tape-assets/tape-3-medium-up-2x.webp +0 -0
  272. package/public/_images/tape-assets/tape-3-medium-up.png +0 -0
  273. package/public/_images/tape-assets/tape-3-medium-up.webp +0 -0
  274. package/public/_images/tape-assets/tape-3.png +0 -0
  275. package/public/_images/tape-assets/tape-3.webp +0 -0
  276. package/public/_images/tape-assets/tape-4-medium-up-2x.png +0 -0
  277. package/public/_images/tape-assets/tape-4-medium-up-2x.webp +0 -0
  278. package/public/_images/tape-assets/tape-4-medium-up.png +0 -0
  279. package/public/_images/tape-assets/tape-4-medium-up.webp +0 -0
  280. package/public/_images/tape-assets/tape-5-2x.png +0 -0
  281. package/public/_images/tape-assets/tape-5-2x.webp +0 -0
  282. package/public/_images/tape-assets/tape-5-medium-up-2x.png +0 -0
  283. package/public/_images/tape-assets/tape-5-medium-up-2x.webp +0 -0
  284. package/public/_images/tape-assets/tape-5-medium-up.png +0 -0
  285. package/public/_images/tape-assets/tape-5-medium-up.webp +0 -0
  286. package/public/_images/tape-assets/tape-5.png +0 -0
  287. package/public/_images/tape-assets/tape-5.webp +0 -0
  288. package/public/_images/tape-assets/tape-6-2x.png +0 -0
  289. package/public/_images/tape-assets/tape-6-2x.webp +0 -0
  290. package/public/_images/tape-assets/tape-6-medium-up-2x.png +0 -0
  291. package/public/_images/tape-assets/tape-6-medium-up-2x.webp +0 -0
  292. package/public/_images/tape-assets/tape-6-medium-up.png +0 -0
  293. package/public/_images/tape-assets/tape-6-medium-up.webp +0 -0
  294. package/public/_images/tape-assets/tape-6.png +0 -0
  295. package/public/_images/tape-assets/tape-6.webp +0 -0
  296. package/public/_images/tape-assets/tape-7-2x.png +0 -0
  297. package/public/_images/tape-assets/tape-7-2x.webp +0 -0
  298. package/public/_images/tape-assets/tape-7.png +0 -0
  299. package/public/_images/tape-assets/tape-7.webp +0 -0
  300. package/public/_images/weapons/marquee/s3_weapons_social-1.jpg +0 -0
  301. package/public/_images/weapons/marquee/s3_weapons_social-10.jpg +0 -0
  302. package/public/_images/weapons/marquee/s3_weapons_social-11.jpg +0 -0
  303. package/public/_images/weapons/marquee/s3_weapons_social-12.jpg +0 -0
  304. package/public/_images/weapons/marquee/s3_weapons_social-13.jpg +0 -0
  305. package/public/_images/weapons/marquee/s3_weapons_social-14.jpg +0 -0
  306. package/public/_images/weapons/marquee/s3_weapons_social-15.jpg +0 -0
  307. package/public/_images/weapons/marquee/s3_weapons_social-16.jpg +0 -0
  308. package/public/_images/weapons/marquee/s3_weapons_social-17.jpg +0 -0
  309. package/public/_images/weapons/marquee/s3_weapons_social-18.jpg +0 -0
  310. package/public/_images/weapons/marquee/s3_weapons_social-19.jpg +0 -0
  311. package/public/_images/weapons/marquee/s3_weapons_social-2.jpg +0 -0
  312. package/public/_images/weapons/marquee/s3_weapons_social-20.jpg +0 -0
  313. package/public/_images/weapons/marquee/s3_weapons_social-21.jpg +0 -0
  314. package/public/_images/weapons/marquee/s3_weapons_social-22.jpg +0 -0
  315. package/public/_images/weapons/marquee/s3_weapons_social-3.jpg +0 -0
  316. package/public/_images/weapons/marquee/s3_weapons_social-4.jpg +0 -0
  317. package/public/_images/weapons/marquee/s3_weapons_social-5.jpg +0 -0
  318. package/public/_images/weapons/marquee/s3_weapons_social-6.jpg +0 -0
  319. package/public/_images/weapons/marquee/s3_weapons_social-7.jpg +0 -0
  320. package/public/_images/weapons/marquee/s3_weapons_social-8.jpg +0 -0
  321. package/public/_images/weapons/marquee/s3_weapons_social-9.jpg +0 -0
  322. package/public/_images/weapons/shops-gallery/coco-icon.png +0 -0
  323. package/public/_images/weapons/shops-gallery/coco.png +0 -0
  324. package/public/_images/weapons/shops-gallery/eddy-icon.png +0 -0
  325. package/public/_images/weapons/shops-gallery/eddy.png +0 -0
  326. package/public/_images/weapons/shops-gallery/harmony-icon.png +0 -0
  327. package/public/_images/weapons/shops-gallery/harmony.png +0 -0
  328. package/public/_images/weapons/shops-gallery/jella-icon.png +0 -0
  329. package/public/_images/weapons/shops-gallery/jella.png +0 -0
  330. package/public/_images/weapons/shops-gallery/sheldon-icon.png +0 -0
  331. package/public/_images/weapons/shops-gallery/sheldon.png +0 -0
  332. package/public/_images/weapons/shops-gallery/weapons-express-ammo-knights-2.jpg +0 -0
  333. package/public/_images/weapons/shops-gallery/weapons-express-crush-station-5.jpg +0 -0
  334. package/public/_images/weapons/shops-gallery/weapons-express-hotlantis-1.jpg +0 -0
  335. package/public/_images/weapons/shops-gallery/weapons-express-manoward-4.jpg +0 -0
  336. package/public/_images/weapons/shops-gallery/weapons-express-naut-couture-3.jpg +0 -0
  337. package/public/fonts/foo-webfont.woff +0 -0
  338. package/public/fonts/foo-webfont.woff2 +0 -0
  339. package/public/fonts/montserrat-v24-latin-500.woff +0 -0
  340. package/public/fonts/montserrat-v24-latin-500.woff2 +0 -0
  341. package/public/fonts/montserrat-v24-latin-600.woff2 +0 -0
  342. package/public/fonts/montserrat-v24-latin-700.woff2 +0 -0
  343. package/public/fonts/montserrat-v24-latin-900.woff2 +0 -0
  344. package/public/fonts/montserrat-v24-latin-regular.woff +0 -0
  345. package/public/fonts/montserrat-v24-latin-regular.woff2 +0 -0
  346. package/public/fonts/obviously-narrow-600.woff2 +0 -0
  347. package/public/svgs/paper-tear-down.svg +3 -0
  348. package/public/svgs/paper-tear-up.svg +3 -0
  349. package/public/svgs/rip-left.svg +3 -0
  350. package/public/svgs/rip-right.svg +3 -0
  351. 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._