designmd-forge 1.2.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 (907) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +119 -0
  3. package/dist/__tests__/designStore.test.js +41 -0
  4. package/dist/__tests__/linter.test.js +23 -0
  5. package/dist/__tests__/sectionParser.test.js +60 -0
  6. package/dist/__tests__/server.test.js +129 -0
  7. package/dist/constants.js +12 -0
  8. package/dist/data/authoring-guide.md +113 -0
  9. package/dist/data/designs/airbnb.md +545 -0
  10. package/dist/data/designs/airtable.md +554 -0
  11. package/dist/data/designs/apple.md +562 -0
  12. package/dist/data/designs/binance.md +634 -0
  13. package/dist/data/designs/bmw-m.md +503 -0
  14. package/dist/data/designs/bmw.md +544 -0
  15. package/dist/data/designs/bugatti.md +454 -0
  16. package/dist/data/designs/cal.md +542 -0
  17. package/dist/data/designs/card-heavy.md +250 -0
  18. package/dist/data/designs/claude.md +589 -0
  19. package/dist/data/designs/clay.md +541 -0
  20. package/dist/data/designs/clickhouse.md +544 -0
  21. package/dist/data/designs/cohere.md +451 -0
  22. package/dist/data/designs/coinbase.md +570 -0
  23. package/dist/data/designs/composio.md +506 -0
  24. package/dist/data/designs/content-first.md +236 -0
  25. package/dist/data/designs/cursor.md +537 -0
  26. package/dist/data/designs/data-dashboard.md +300 -0
  27. package/dist/data/designs/dell-1996.md +632 -0
  28. package/dist/data/designs/elevenlabs.md +504 -0
  29. package/dist/data/designs/enterprise-neutral.md +252 -0
  30. package/dist/data/designs/expo.md +526 -0
  31. package/dist/data/designs/ferrari.md +531 -0
  32. package/dist/data/designs/figma.md +578 -0
  33. package/dist/data/designs/framer.md +544 -0
  34. package/dist/data/designs/hashicorp.md +575 -0
  35. package/dist/data/designs/hp.md +670 -0
  36. package/dist/data/designs/ibm.md +550 -0
  37. package/dist/data/designs/intercom.md +546 -0
  38. package/dist/data/designs/ios-acorns-android.md +430 -0
  39. package/dist/data/designs/ios-acorns-expo.md +381 -0
  40. package/dist/data/designs/ios-acorns-swiftui.md +378 -0
  41. package/dist/data/designs/ios-acorns.md +384 -0
  42. package/dist/data/designs/ios-airbnb-android.md +658 -0
  43. package/dist/data/designs/ios-airbnb-expo.md +457 -0
  44. package/dist/data/designs/ios-airbnb-swiftui.md +464 -0
  45. package/dist/data/designs/ios-airbnb.md +410 -0
  46. package/dist/data/designs/ios-alltrails-android.md +451 -0
  47. package/dist/data/designs/ios-alltrails-expo.md +400 -0
  48. package/dist/data/designs/ios-alltrails-swiftui.md +343 -0
  49. package/dist/data/designs/ios-alltrails.md +344 -0
  50. package/dist/data/designs/ios-amazon-android.md +686 -0
  51. package/dist/data/designs/ios-amazon-expo.md +433 -0
  52. package/dist/data/designs/ios-amazon-music-android.md +416 -0
  53. package/dist/data/designs/ios-amazon-music-expo.md +368 -0
  54. package/dist/data/designs/ios-amazon-music-swiftui.md +436 -0
  55. package/dist/data/designs/ios-amazon-music.md +389 -0
  56. package/dist/data/designs/ios-amazon-swiftui.md +460 -0
  57. package/dist/data/designs/ios-amazon.md +440 -0
  58. package/dist/data/designs/ios-apple-fitness-android.md +462 -0
  59. package/dist/data/designs/ios-apple-fitness-expo.md +373 -0
  60. package/dist/data/designs/ios-apple-fitness-swiftui.md +373 -0
  61. package/dist/data/designs/ios-apple-fitness.md +399 -0
  62. package/dist/data/designs/ios-apple-maps-android.md +646 -0
  63. package/dist/data/designs/ios-apple-maps-expo.md +557 -0
  64. package/dist/data/designs/ios-apple-maps-swiftui.md +588 -0
  65. package/dist/data/designs/ios-apple-maps.md +447 -0
  66. package/dist/data/designs/ios-apple-music-android.md +737 -0
  67. package/dist/data/designs/ios-apple-music-expo.md +596 -0
  68. package/dist/data/designs/ios-apple-music-swiftui.md +578 -0
  69. package/dist/data/designs/ios-apple-music.md +494 -0
  70. package/dist/data/designs/ios-apple-notes-android.md +675 -0
  71. package/dist/data/designs/ios-apple-notes-expo.md +468 -0
  72. package/dist/data/designs/ios-apple-notes-swiftui.md +489 -0
  73. package/dist/data/designs/ios-apple-notes.md +413 -0
  74. package/dist/data/designs/ios-apple-tv-android.md +405 -0
  75. package/dist/data/designs/ios-apple-tv-expo.md +341 -0
  76. package/dist/data/designs/ios-apple-tv-swiftui.md +348 -0
  77. package/dist/data/designs/ios-apple-tv.md +390 -0
  78. package/dist/data/designs/ios-apple-wallet-android.md +617 -0
  79. package/dist/data/designs/ios-apple-wallet-expo.md +487 -0
  80. package/dist/data/designs/ios-apple-wallet-swiftui.md +425 -0
  81. package/dist/data/designs/ios-apple-wallet.md +360 -0
  82. package/dist/data/designs/ios-asana-android.md +435 -0
  83. package/dist/data/designs/ios-asana-expo.md +411 -0
  84. package/dist/data/designs/ios-asana-swiftui.md +416 -0
  85. package/dist/data/designs/ios-asana.md +433 -0
  86. package/dist/data/designs/ios-audible-android.md +450 -0
  87. package/dist/data/designs/ios-audible-expo.md +328 -0
  88. package/dist/data/designs/ios-audible-swiftui.md +418 -0
  89. package/dist/data/designs/ios-audible.md +364 -0
  90. package/dist/data/designs/ios-bandcamp-android.md +471 -0
  91. package/dist/data/designs/ios-bandcamp-expo.md +378 -0
  92. package/dist/data/designs/ios-bandcamp-swiftui.md +374 -0
  93. package/dist/data/designs/ios-bandcamp.md +372 -0
  94. package/dist/data/designs/ios-bear-android.md +496 -0
  95. package/dist/data/designs/ios-bear-expo.md +449 -0
  96. package/dist/data/designs/ios-bear-swiftui.md +479 -0
  97. package/dist/data/designs/ios-bear.md +412 -0
  98. package/dist/data/designs/ios-bereal-android.md +392 -0
  99. package/dist/data/designs/ios-bereal-expo.md +299 -0
  100. package/dist/data/designs/ios-bereal-swiftui.md +319 -0
  101. package/dist/data/designs/ios-bereal.md +336 -0
  102. package/dist/data/designs/ios-binance-android.md +481 -0
  103. package/dist/data/designs/ios-binance-expo.md +404 -0
  104. package/dist/data/designs/ios-binance-swiftui.md +418 -0
  105. package/dist/data/designs/ios-binance.md +410 -0
  106. package/dist/data/designs/ios-bluesky-android.md +442 -0
  107. package/dist/data/designs/ios-bluesky-expo.md +362 -0
  108. package/dist/data/designs/ios-bluesky-swiftui.md +328 -0
  109. package/dist/data/designs/ios-bluesky.md +338 -0
  110. package/dist/data/designs/ios-booking-android.md +471 -0
  111. package/dist/data/designs/ios-booking-expo.md +364 -0
  112. package/dist/data/designs/ios-booking-swiftui.md +377 -0
  113. package/dist/data/designs/ios-booking.md +346 -0
  114. package/dist/data/designs/ios-bumble-android.md +756 -0
  115. package/dist/data/designs/ios-bumble-expo.md +629 -0
  116. package/dist/data/designs/ios-bumble-swiftui.md +546 -0
  117. package/dist/data/designs/ios-bumble.md +424 -0
  118. package/dist/data/designs/ios-cal-ai-android.md +664 -0
  119. package/dist/data/designs/ios-cal-ai-expo.md +415 -0
  120. package/dist/data/designs/ios-cal-ai-swiftui.md +486 -0
  121. package/dist/data/designs/ios-cal-ai.md +387 -0
  122. package/dist/data/designs/ios-calm-android.md +431 -0
  123. package/dist/data/designs/ios-calm-expo.md +384 -0
  124. package/dist/data/designs/ios-calm-swiftui.md +327 -0
  125. package/dist/data/designs/ios-calm.md +356 -0
  126. package/dist/data/designs/ios-canva-android.md +469 -0
  127. package/dist/data/designs/ios-canva-expo.md +374 -0
  128. package/dist/data/designs/ios-canva-swiftui.md +422 -0
  129. package/dist/data/designs/ios-canva.md +395 -0
  130. package/dist/data/designs/ios-cash-app-android.md +601 -0
  131. package/dist/data/designs/ios-cash-app-expo.md +453 -0
  132. package/dist/data/designs/ios-cash-app-swiftui.md +463 -0
  133. package/dist/data/designs/ios-cash-app.md +365 -0
  134. package/dist/data/designs/ios-character-ai-android.md +489 -0
  135. package/dist/data/designs/ios-character-ai-expo.md +420 -0
  136. package/dist/data/designs/ios-character-ai-swiftui.md +417 -0
  137. package/dist/data/designs/ios-character-ai.md +392 -0
  138. package/dist/data/designs/ios-charles-schwab-android.md +454 -0
  139. package/dist/data/designs/ios-charles-schwab-expo.md +388 -0
  140. package/dist/data/designs/ios-charles-schwab-swiftui.md +394 -0
  141. package/dist/data/designs/ios-charles-schwab.md +380 -0
  142. package/dist/data/designs/ios-chatgpt-android.md +753 -0
  143. package/dist/data/designs/ios-chatgpt-expo.md +644 -0
  144. package/dist/data/designs/ios-chatgpt-swiftui.md +653 -0
  145. package/dist/data/designs/ios-chatgpt.md +466 -0
  146. package/dist/data/designs/ios-chime-android.md +438 -0
  147. package/dist/data/designs/ios-chime-expo.md +419 -0
  148. package/dist/data/designs/ios-chime-swiftui.md +383 -0
  149. package/dist/data/designs/ios-chime.md +389 -0
  150. package/dist/data/designs/ios-chipotle-android.md +397 -0
  151. package/dist/data/designs/ios-chipotle-expo.md +301 -0
  152. package/dist/data/designs/ios-chipotle-swiftui.md +345 -0
  153. package/dist/data/designs/ios-chipotle.md +340 -0
  154. package/dist/data/designs/ios-citymapper-android.md +466 -0
  155. package/dist/data/designs/ios-citymapper-expo.md +420 -0
  156. package/dist/data/designs/ios-citymapper-swiftui.md +424 -0
  157. package/dist/data/designs/ios-citymapper.md +394 -0
  158. package/dist/data/designs/ios-claude-android.md +625 -0
  159. package/dist/data/designs/ios-claude-expo.md +671 -0
  160. package/dist/data/designs/ios-claude-swiftui.md +649 -0
  161. package/dist/data/designs/ios-claude.md +447 -0
  162. package/dist/data/designs/ios-clickup-android.md +484 -0
  163. package/dist/data/designs/ios-clickup-expo.md +423 -0
  164. package/dist/data/designs/ios-clickup-swiftui.md +416 -0
  165. package/dist/data/designs/ios-clickup.md +431 -0
  166. package/dist/data/designs/ios-clubhouse-android.md +524 -0
  167. package/dist/data/designs/ios-clubhouse-expo.md +425 -0
  168. package/dist/data/designs/ios-clubhouse-swiftui.md +447 -0
  169. package/dist/data/designs/ios-clubhouse.md +406 -0
  170. package/dist/data/designs/ios-coffee-meets-bagel-android.md +461 -0
  171. package/dist/data/designs/ios-coffee-meets-bagel-expo.md +372 -0
  172. package/dist/data/designs/ios-coffee-meets-bagel-swiftui.md +368 -0
  173. package/dist/data/designs/ios-coffee-meets-bagel.md +376 -0
  174. package/dist/data/designs/ios-coinbase-android.md +611 -0
  175. package/dist/data/designs/ios-coinbase-expo.md +500 -0
  176. package/dist/data/designs/ios-coinbase-swiftui.md +490 -0
  177. package/dist/data/designs/ios-coinbase.md +409 -0
  178. package/dist/data/designs/ios-copilot-android.md +625 -0
  179. package/dist/data/designs/ios-copilot-expo.md +423 -0
  180. package/dist/data/designs/ios-copilot-swiftui.md +471 -0
  181. package/dist/data/designs/ios-copilot.md +367 -0
  182. package/dist/data/designs/ios-craft-android.md +459 -0
  183. package/dist/data/designs/ios-craft-expo.md +417 -0
  184. package/dist/data/designs/ios-craft-swiftui.md +449 -0
  185. package/dist/data/designs/ios-craft.md +449 -0
  186. package/dist/data/designs/ios-crunchyroll-android.md +432 -0
  187. package/dist/data/designs/ios-crunchyroll-expo.md +388 -0
  188. package/dist/data/designs/ios-crunchyroll-swiftui.md +417 -0
  189. package/dist/data/designs/ios-crunchyroll.md +388 -0
  190. package/dist/data/designs/ios-crypto-com-android.md +461 -0
  191. package/dist/data/designs/ios-crypto-com-expo.md +404 -0
  192. package/dist/data/designs/ios-crypto-com-swiftui.md +419 -0
  193. package/dist/data/designs/ios-crypto-com.md +410 -0
  194. package/dist/data/designs/ios-deepseek-android.md +471 -0
  195. package/dist/data/designs/ios-deepseek-expo.md +391 -0
  196. package/dist/data/designs/ios-deepseek-swiftui.md +354 -0
  197. package/dist/data/designs/ios-deepseek.md +393 -0
  198. package/dist/data/designs/ios-deezer-android.md +475 -0
  199. package/dist/data/designs/ios-deezer-expo.md +400 -0
  200. package/dist/data/designs/ios-deezer-swiftui.md +430 -0
  201. package/dist/data/designs/ios-deezer.md +388 -0
  202. package/dist/data/designs/ios-deliveroo-android.md +493 -0
  203. package/dist/data/designs/ios-deliveroo-expo.md +424 -0
  204. package/dist/data/designs/ios-deliveroo-swiftui.md +398 -0
  205. package/dist/data/designs/ios-deliveroo.md +420 -0
  206. package/dist/data/designs/ios-delta-android.md +439 -0
  207. package/dist/data/designs/ios-delta-expo.md +381 -0
  208. package/dist/data/designs/ios-delta-swiftui.md +400 -0
  209. package/dist/data/designs/ios-delta.md +397 -0
  210. package/dist/data/designs/ios-discord-android.md +611 -0
  211. package/dist/data/designs/ios-discord-expo.md +618 -0
  212. package/dist/data/designs/ios-discord-swiftui.md +630 -0
  213. package/dist/data/designs/ios-discord.md +451 -0
  214. package/dist/data/designs/ios-disney-plus-android.md +464 -0
  215. package/dist/data/designs/ios-disney-plus-expo.md +358 -0
  216. package/dist/data/designs/ios-disney-plus-swiftui.md +412 -0
  217. package/dist/data/designs/ios-disney-plus.md +355 -0
  218. package/dist/data/designs/ios-dominos-android.md +417 -0
  219. package/dist/data/designs/ios-dominos-expo.md +316 -0
  220. package/dist/data/designs/ios-dominos-swiftui.md +340 -0
  221. package/dist/data/designs/ios-dominos.md +347 -0
  222. package/dist/data/designs/ios-doordash-android.md +527 -0
  223. package/dist/data/designs/ios-doordash-expo.md +323 -0
  224. package/dist/data/designs/ios-doordash-swiftui.md +301 -0
  225. package/dist/data/designs/ios-doordash.md +393 -0
  226. package/dist/data/designs/ios-dropbox-android.md +522 -0
  227. package/dist/data/designs/ios-dropbox-expo.md +393 -0
  228. package/dist/data/designs/ios-dropbox-swiftui.md +400 -0
  229. package/dist/data/designs/ios-dropbox.md +374 -0
  230. package/dist/data/designs/ios-duolingo-android.md +641 -0
  231. package/dist/data/designs/ios-duolingo-expo.md +597 -0
  232. package/dist/data/designs/ios-duolingo-swiftui.md +539 -0
  233. package/dist/data/designs/ios-duolingo.md +409 -0
  234. package/dist/data/designs/ios-ebay-android.md +436 -0
  235. package/dist/data/designs/ios-ebay-expo.md +344 -0
  236. package/dist/data/designs/ios-ebay-swiftui.md +308 -0
  237. package/dist/data/designs/ios-ebay.md +355 -0
  238. package/dist/data/designs/ios-espn-android.md +468 -0
  239. package/dist/data/designs/ios-espn-expo.md +387 -0
  240. package/dist/data/designs/ios-espn-swiftui.md +410 -0
  241. package/dist/data/designs/ios-espn.md +384 -0
  242. package/dist/data/designs/ios-etsy-android.md +439 -0
  243. package/dist/data/designs/ios-etsy-expo.md +351 -0
  244. package/dist/data/designs/ios-etsy-swiftui.md +296 -0
  245. package/dist/data/designs/ios-etsy.md +355 -0
  246. package/dist/data/designs/ios-evernote-android.md +419 -0
  247. package/dist/data/designs/ios-evernote-expo.md +379 -0
  248. package/dist/data/designs/ios-evernote-swiftui.md +380 -0
  249. package/dist/data/designs/ios-evernote.md +416 -0
  250. package/dist/data/designs/ios-expedia-android.md +451 -0
  251. package/dist/data/designs/ios-expedia-expo.md +433 -0
  252. package/dist/data/designs/ios-expedia-swiftui.md +399 -0
  253. package/dist/data/designs/ios-expedia.md +431 -0
  254. package/dist/data/designs/ios-facebook-android.md +628 -0
  255. package/dist/data/designs/ios-facebook-expo.md +471 -0
  256. package/dist/data/designs/ios-facebook-swiftui.md +459 -0
  257. package/dist/data/designs/ios-facebook.md +452 -0
  258. package/dist/data/designs/ios-feeld-android.md +431 -0
  259. package/dist/data/designs/ios-feeld-expo.md +379 -0
  260. package/dist/data/designs/ios-feeld-swiftui.md +401 -0
  261. package/dist/data/designs/ios-feeld.md +378 -0
  262. package/dist/data/designs/ios-fidelity-android.md +426 -0
  263. package/dist/data/designs/ios-fidelity-expo.md +396 -0
  264. package/dist/data/designs/ios-fidelity-swiftui.md +398 -0
  265. package/dist/data/designs/ios-fidelity.md +387 -0
  266. package/dist/data/designs/ios-figma-android.md +578 -0
  267. package/dist/data/designs/ios-figma-expo.md +504 -0
  268. package/dist/data/designs/ios-figma-swiftui.md +542 -0
  269. package/dist/data/designs/ios-figma.md +404 -0
  270. package/dist/data/designs/ios-fitbit-android.md +439 -0
  271. package/dist/data/designs/ios-fitbit-expo.md +389 -0
  272. package/dist/data/designs/ios-fitbit-swiftui.md +380 -0
  273. package/dist/data/designs/ios-fitbit.md +396 -0
  274. package/dist/data/designs/ios-flickr-android.md +506 -0
  275. package/dist/data/designs/ios-flickr-expo.md +434 -0
  276. package/dist/data/designs/ios-flickr-swiftui.md +421 -0
  277. package/dist/data/designs/ios-flickr.md +394 -0
  278. package/dist/data/designs/ios-flighty-android.md +418 -0
  279. package/dist/data/designs/ios-flighty-expo.md +353 -0
  280. package/dist/data/designs/ios-flighty-swiftui.md +337 -0
  281. package/dist/data/designs/ios-flighty.md +357 -0
  282. package/dist/data/designs/ios-flo-android.md +447 -0
  283. package/dist/data/designs/ios-flo-expo.md +363 -0
  284. package/dist/data/designs/ios-flo-swiftui.md +355 -0
  285. package/dist/data/designs/ios-flo.md +351 -0
  286. package/dist/data/designs/ios-garmin-connect-android.md +531 -0
  287. package/dist/data/designs/ios-garmin-connect-expo.md +429 -0
  288. package/dist/data/designs/ios-garmin-connect-swiftui.md +459 -0
  289. package/dist/data/designs/ios-garmin-connect.md +419 -0
  290. package/dist/data/designs/ios-gas-android.md +438 -0
  291. package/dist/data/designs/ios-gas-expo.md +350 -0
  292. package/dist/data/designs/ios-gas-swiftui.md +329 -0
  293. package/dist/data/designs/ios-gas.md +387 -0
  294. package/dist/data/designs/ios-gemini-android.md +568 -0
  295. package/dist/data/designs/ios-gemini-expo.md +416 -0
  296. package/dist/data/designs/ios-gemini-swiftui.md +424 -0
  297. package/dist/data/designs/ios-gemini.md +351 -0
  298. package/dist/data/designs/ios-github-android.md +507 -0
  299. package/dist/data/designs/ios-github-expo.md +486 -0
  300. package/dist/data/designs/ios-github-swiftui.md +459 -0
  301. package/dist/data/designs/ios-github.md +394 -0
  302. package/dist/data/designs/ios-gmail-android.md +548 -0
  303. package/dist/data/designs/ios-gmail-expo.md +457 -0
  304. package/dist/data/designs/ios-gmail-swiftui.md +470 -0
  305. package/dist/data/designs/ios-gmail.md +441 -0
  306. package/dist/data/designs/ios-goodreads-android.md +436 -0
  307. package/dist/data/designs/ios-goodreads-expo.md +407 -0
  308. package/dist/data/designs/ios-goodreads-swiftui.md +378 -0
  309. package/dist/data/designs/ios-goodreads.md +385 -0
  310. package/dist/data/designs/ios-google-calendar-android.md +565 -0
  311. package/dist/data/designs/ios-google-calendar-expo.md +616 -0
  312. package/dist/data/designs/ios-google-calendar-swiftui.md +585 -0
  313. package/dist/data/designs/ios-google-calendar.md +431 -0
  314. package/dist/data/designs/ios-google-maps-android.md +614 -0
  315. package/dist/data/designs/ios-google-maps-expo.md +515 -0
  316. package/dist/data/designs/ios-google-maps-swiftui.md +484 -0
  317. package/dist/data/designs/ios-google-maps.md +451 -0
  318. package/dist/data/designs/ios-grammarly-android.md +449 -0
  319. package/dist/data/designs/ios-grammarly-expo.md +383 -0
  320. package/dist/data/designs/ios-grammarly-swiftui.md +381 -0
  321. package/dist/data/designs/ios-grammarly.md +392 -0
  322. package/dist/data/designs/ios-grindr-android.md +494 -0
  323. package/dist/data/designs/ios-grindr-expo.md +358 -0
  324. package/dist/data/designs/ios-grindr-swiftui.md +357 -0
  325. package/dist/data/designs/ios-grindr.md +356 -0
  326. package/dist/data/designs/ios-grok-android.md +471 -0
  327. package/dist/data/designs/ios-grok-expo.md +388 -0
  328. package/dist/data/designs/ios-grok-swiftui.md +397 -0
  329. package/dist/data/designs/ios-grok.md +357 -0
  330. package/dist/data/designs/ios-groupme-android.md +551 -0
  331. package/dist/data/designs/ios-groupme-expo.md +442 -0
  332. package/dist/data/designs/ios-groupme-swiftui.md +439 -0
  333. package/dist/data/designs/ios-groupme.md +424 -0
  334. package/dist/data/designs/ios-grubhub-android.md +506 -0
  335. package/dist/data/designs/ios-grubhub-expo.md +428 -0
  336. package/dist/data/designs/ios-grubhub-swiftui.md +408 -0
  337. package/dist/data/designs/ios-grubhub.md +427 -0
  338. package/dist/data/designs/ios-happn-android.md +464 -0
  339. package/dist/data/designs/ios-happn-expo.md +411 -0
  340. package/dist/data/designs/ios-happn-swiftui.md +401 -0
  341. package/dist/data/designs/ios-happn.md +400 -0
  342. package/dist/data/designs/ios-headspace-android.md +688 -0
  343. package/dist/data/designs/ios-headspace-expo.md +574 -0
  344. package/dist/data/designs/ios-headspace-swiftui.md +498 -0
  345. package/dist/data/designs/ios-headspace.md +430 -0
  346. package/dist/data/designs/ios-hevy-android.md +473 -0
  347. package/dist/data/designs/ios-hevy-expo.md +405 -0
  348. package/dist/data/designs/ios-hevy-swiftui.md +367 -0
  349. package/dist/data/designs/ios-hevy.md +410 -0
  350. package/dist/data/designs/ios-hinge-android.md +743 -0
  351. package/dist/data/designs/ios-hinge-expo.md +580 -0
  352. package/dist/data/designs/ios-hinge-swiftui.md +512 -0
  353. package/dist/data/designs/ios-hinge.md +405 -0
  354. package/dist/data/designs/ios-hopper-android.md +440 -0
  355. package/dist/data/designs/ios-hopper-expo.md +353 -0
  356. package/dist/data/designs/ios-hopper-swiftui.md +340 -0
  357. package/dist/data/designs/ios-hopper.md +354 -0
  358. package/dist/data/designs/ios-hulu-android.md +435 -0
  359. package/dist/data/designs/ios-hulu-expo.md +331 -0
  360. package/dist/data/designs/ios-hulu-swiftui.md +374 -0
  361. package/dist/data/designs/ios-hulu.md +353 -0
  362. package/dist/data/designs/ios-iheartradio-android.md +481 -0
  363. package/dist/data/designs/ios-iheartradio-expo.md +417 -0
  364. package/dist/data/designs/ios-iheartradio-swiftui.md +423 -0
  365. package/dist/data/designs/ios-iheartradio.md +381 -0
  366. package/dist/data/designs/ios-imessage-android.md +426 -0
  367. package/dist/data/designs/ios-imessage-expo.md +384 -0
  368. package/dist/data/designs/ios-imessage-swiftui.md +378 -0
  369. package/dist/data/designs/ios-imessage.md +394 -0
  370. package/dist/data/designs/ios-instacart-android.md +471 -0
  371. package/dist/data/designs/ios-instacart-expo.md +349 -0
  372. package/dist/data/designs/ios-instacart-swiftui.md +378 -0
  373. package/dist/data/designs/ios-instacart.md +360 -0
  374. package/dist/data/designs/ios-instagram-android.md +646 -0
  375. package/dist/data/designs/ios-instagram-expo.md +310 -0
  376. package/dist/data/designs/ios-instagram-swiftui.md +333 -0
  377. package/dist/data/designs/ios-instagram.md +376 -0
  378. package/dist/data/designs/ios-jira-android.md +432 -0
  379. package/dist/data/designs/ios-jira-expo.md +375 -0
  380. package/dist/data/designs/ios-jira-swiftui.md +433 -0
  381. package/dist/data/designs/ios-jira.md +424 -0
  382. package/dist/data/designs/ios-kakaotalk-android.md +491 -0
  383. package/dist/data/designs/ios-kakaotalk-expo.md +418 -0
  384. package/dist/data/designs/ios-kakaotalk-swiftui.md +406 -0
  385. package/dist/data/designs/ios-kakaotalk.md +414 -0
  386. package/dist/data/designs/ios-kayak-android.md +466 -0
  387. package/dist/data/designs/ios-kayak-expo.md +407 -0
  388. package/dist/data/designs/ios-kayak-swiftui.md +426 -0
  389. package/dist/data/designs/ios-kayak.md +392 -0
  390. package/dist/data/designs/ios-kick-android.md +487 -0
  391. package/dist/data/designs/ios-kick-expo.md +434 -0
  392. package/dist/data/designs/ios-kick-swiftui.md +429 -0
  393. package/dist/data/designs/ios-kick.md +389 -0
  394. package/dist/data/designs/ios-kik-android.md +433 -0
  395. package/dist/data/designs/ios-kik-expo.md +363 -0
  396. package/dist/data/designs/ios-kik-swiftui.md +363 -0
  397. package/dist/data/designs/ios-kik.md +392 -0
  398. package/dist/data/designs/ios-kindle-android.md +439 -0
  399. package/dist/data/designs/ios-kindle-expo.md +356 -0
  400. package/dist/data/designs/ios-kindle-swiftui.md +372 -0
  401. package/dist/data/designs/ios-kindle.md +369 -0
  402. package/dist/data/designs/ios-klarna-android.md +420 -0
  403. package/dist/data/designs/ios-klarna-expo.md +349 -0
  404. package/dist/data/designs/ios-klarna-swiftui.md +360 -0
  405. package/dist/data/designs/ios-klarna.md +356 -0
  406. package/dist/data/designs/ios-lemon8-android.md +492 -0
  407. package/dist/data/designs/ios-lemon8-expo.md +413 -0
  408. package/dist/data/designs/ios-lemon8-swiftui.md +428 -0
  409. package/dist/data/designs/ios-lemon8.md +378 -0
  410. package/dist/data/designs/ios-life360-android.md +474 -0
  411. package/dist/data/designs/ios-life360-expo.md +375 -0
  412. package/dist/data/designs/ios-life360-swiftui.md +390 -0
  413. package/dist/data/designs/ios-life360.md +402 -0
  414. package/dist/data/designs/ios-line-android.md +517 -0
  415. package/dist/data/designs/ios-line-expo.md +402 -0
  416. package/dist/data/designs/ios-line-swiftui.md +361 -0
  417. package/dist/data/designs/ios-line.md +362 -0
  418. package/dist/data/designs/ios-linear-android.md +457 -0
  419. package/dist/data/designs/ios-linear-expo.md +367 -0
  420. package/dist/data/designs/ios-linear-swiftui.md +401 -0
  421. package/dist/data/designs/ios-linear.md +368 -0
  422. package/dist/data/designs/ios-linkedin-android.md +620 -0
  423. package/dist/data/designs/ios-linkedin-expo.md +469 -0
  424. package/dist/data/designs/ios-linkedin-swiftui.md +472 -0
  425. package/dist/data/designs/ios-linkedin.md +444 -0
  426. package/dist/data/designs/ios-locket-android.md +500 -0
  427. package/dist/data/designs/ios-locket-expo.md +375 -0
  428. package/dist/data/designs/ios-locket-swiftui.md +375 -0
  429. package/dist/data/designs/ios-locket.md +381 -0
  430. package/dist/data/designs/ios-lyft-android.md +406 -0
  431. package/dist/data/designs/ios-lyft-expo.md +333 -0
  432. package/dist/data/designs/ios-lyft-swiftui.md +315 -0
  433. package/dist/data/designs/ios-lyft.md +337 -0
  434. package/dist/data/designs/ios-marriott-bonvoy-android.md +488 -0
  435. package/dist/data/designs/ios-marriott-bonvoy-expo.md +412 -0
  436. package/dist/data/designs/ios-marriott-bonvoy-swiftui.md +461 -0
  437. package/dist/data/designs/ios-marriott-bonvoy.md +379 -0
  438. package/dist/data/designs/ios-mastodon-android.md +476 -0
  439. package/dist/data/designs/ios-mastodon-expo.md +379 -0
  440. package/dist/data/designs/ios-mastodon-swiftui.md +349 -0
  441. package/dist/data/designs/ios-mastodon.md +337 -0
  442. package/dist/data/designs/ios-match-android.md +496 -0
  443. package/dist/data/designs/ios-match-expo.md +393 -0
  444. package/dist/data/designs/ios-match-swiftui.md +450 -0
  445. package/dist/data/designs/ios-match.md +382 -0
  446. package/dist/data/designs/ios-max-android.md +454 -0
  447. package/dist/data/designs/ios-max-expo.md +342 -0
  448. package/dist/data/designs/ios-max-swiftui.md +332 -0
  449. package/dist/data/designs/ios-max.md +352 -0
  450. package/dist/data/designs/ios-mcdonalds-android.md +497 -0
  451. package/dist/data/designs/ios-mcdonalds-expo.md +382 -0
  452. package/dist/data/designs/ios-mcdonalds-swiftui.md +394 -0
  453. package/dist/data/designs/ios-mcdonalds.md +410 -0
  454. package/dist/data/designs/ios-messenger-android.md +523 -0
  455. package/dist/data/designs/ios-messenger-expo.md +379 -0
  456. package/dist/data/designs/ios-messenger-swiftui.md +369 -0
  457. package/dist/data/designs/ios-messenger.md +361 -0
  458. package/dist/data/designs/ios-microsoft-teams-android.md +446 -0
  459. package/dist/data/designs/ios-microsoft-teams-expo.md +362 -0
  460. package/dist/data/designs/ios-microsoft-teams-swiftui.md +384 -0
  461. package/dist/data/designs/ios-microsoft-teams.md +359 -0
  462. package/dist/data/designs/ios-midjourney-android.md +503 -0
  463. package/dist/data/designs/ios-midjourney-expo.md +406 -0
  464. package/dist/data/designs/ios-midjourney-swiftui.md +376 -0
  465. package/dist/data/designs/ios-midjourney.md +407 -0
  466. package/dist/data/designs/ios-miro-android.md +475 -0
  467. package/dist/data/designs/ios-miro-expo.md +421 -0
  468. package/dist/data/designs/ios-miro-swiftui.md +407 -0
  469. package/dist/data/designs/ios-miro.md +424 -0
  470. package/dist/data/designs/ios-monday-android.md +426 -0
  471. package/dist/data/designs/ios-monday-expo.md +382 -0
  472. package/dist/data/designs/ios-monday-swiftui.md +386 -0
  473. package/dist/data/designs/ios-monday.md +415 -0
  474. package/dist/data/designs/ios-monzo-android.md +423 -0
  475. package/dist/data/designs/ios-monzo-expo.md +391 -0
  476. package/dist/data/designs/ios-monzo-swiftui.md +371 -0
  477. package/dist/data/designs/ios-monzo.md +382 -0
  478. package/dist/data/designs/ios-myfitnesspal-android.md +631 -0
  479. package/dist/data/designs/ios-myfitnesspal-expo.md +489 -0
  480. package/dist/data/designs/ios-myfitnesspal-swiftui.md +500 -0
  481. package/dist/data/designs/ios-myfitnesspal.md +408 -0
  482. package/dist/data/designs/ios-netflix-android.md +570 -0
  483. package/dist/data/designs/ios-netflix-expo.md +528 -0
  484. package/dist/data/designs/ios-netflix-swiftui.md +543 -0
  485. package/dist/data/designs/ios-netflix.md +476 -0
  486. package/dist/data/designs/ios-nextdoor-android.md +399 -0
  487. package/dist/data/designs/ios-nextdoor-expo.md +317 -0
  488. package/dist/data/designs/ios-nextdoor-swiftui.md +343 -0
  489. package/dist/data/designs/ios-nextdoor.md +332 -0
  490. package/dist/data/designs/ios-nike-run-club-android.md +598 -0
  491. package/dist/data/designs/ios-nike-run-club-expo.md +459 -0
  492. package/dist/data/designs/ios-nike-run-club-swiftui.md +474 -0
  493. package/dist/data/designs/ios-nike-run-club.md +400 -0
  494. package/dist/data/designs/ios-noom-android.md +455 -0
  495. package/dist/data/designs/ios-noom-expo.md +362 -0
  496. package/dist/data/designs/ios-noom-swiftui.md +369 -0
  497. package/dist/data/designs/ios-noom.md +404 -0
  498. package/dist/data/designs/ios-notion-android.md +575 -0
  499. package/dist/data/designs/ios-notion-expo.md +543 -0
  500. package/dist/data/designs/ios-notion-swiftui.md +562 -0
  501. package/dist/data/designs/ios-notion.md +506 -0
  502. package/dist/data/designs/ios-nubank-android.md +447 -0
  503. package/dist/data/designs/ios-nubank-expo.md +391 -0
  504. package/dist/data/designs/ios-nubank-swiftui.md +391 -0
  505. package/dist/data/designs/ios-nubank.md +388 -0
  506. package/dist/data/designs/ios-obsidian-android.md +456 -0
  507. package/dist/data/designs/ios-obsidian-expo.md +401 -0
  508. package/dist/data/designs/ios-obsidian-swiftui.md +412 -0
  509. package/dist/data/designs/ios-obsidian.md +363 -0
  510. package/dist/data/designs/ios-okcupid-android.md +496 -0
  511. package/dist/data/designs/ios-okcupid-expo.md +378 -0
  512. package/dist/data/designs/ios-okcupid-swiftui.md +343 -0
  513. package/dist/data/designs/ios-okcupid.md +364 -0
  514. package/dist/data/designs/ios-opentable-android.md +426 -0
  515. package/dist/data/designs/ios-opentable-expo.md +350 -0
  516. package/dist/data/designs/ios-opentable-swiftui.md +328 -0
  517. package/dist/data/designs/ios-opentable.md +411 -0
  518. package/dist/data/designs/ios-oura-android.md +426 -0
  519. package/dist/data/designs/ios-oura-expo.md +353 -0
  520. package/dist/data/designs/ios-oura-swiftui.md +327 -0
  521. package/dist/data/designs/ios-oura.md +356 -0
  522. package/dist/data/designs/ios-overcast-android.md +508 -0
  523. package/dist/data/designs/ios-overcast-expo.md +420 -0
  524. package/dist/data/designs/ios-overcast-swiftui.md +427 -0
  525. package/dist/data/designs/ios-overcast.md +414 -0
  526. package/dist/data/designs/ios-pandora-android.md +477 -0
  527. package/dist/data/designs/ios-pandora-expo.md +406 -0
  528. package/dist/data/designs/ios-pandora-swiftui.md +413 -0
  529. package/dist/data/designs/ios-pandora.md +366 -0
  530. package/dist/data/designs/ios-panera-android.md +414 -0
  531. package/dist/data/designs/ios-panera-expo.md +352 -0
  532. package/dist/data/designs/ios-panera-swiftui.md +369 -0
  533. package/dist/data/designs/ios-panera.md +412 -0
  534. package/dist/data/designs/ios-paramount-plus-android.md +415 -0
  535. package/dist/data/designs/ios-paramount-plus-expo.md +363 -0
  536. package/dist/data/designs/ios-paramount-plus-swiftui.md +372 -0
  537. package/dist/data/designs/ios-paramount-plus.md +400 -0
  538. package/dist/data/designs/ios-paypal-android.md +535 -0
  539. package/dist/data/designs/ios-paypal-expo.md +429 -0
  540. package/dist/data/designs/ios-paypal-swiftui.md +466 -0
  541. package/dist/data/designs/ios-paypal.md +393 -0
  542. package/dist/data/designs/ios-peacock-android.md +453 -0
  543. package/dist/data/designs/ios-peacock-expo.md +393 -0
  544. package/dist/data/designs/ios-peacock-swiftui.md +420 -0
  545. package/dist/data/designs/ios-peacock.md +411 -0
  546. package/dist/data/designs/ios-peloton-android.md +470 -0
  547. package/dist/data/designs/ios-peloton-expo.md +401 -0
  548. package/dist/data/designs/ios-peloton-swiftui.md +409 -0
  549. package/dist/data/designs/ios-peloton.md +415 -0
  550. package/dist/data/designs/ios-perplexity-android.md +553 -0
  551. package/dist/data/designs/ios-perplexity-expo.md +703 -0
  552. package/dist/data/designs/ios-perplexity-swiftui.md +602 -0
  553. package/dist/data/designs/ios-perplexity.md +453 -0
  554. package/dist/data/designs/ios-pinterest-android.md +551 -0
  555. package/dist/data/designs/ios-pinterest-expo.md +466 -0
  556. package/dist/data/designs/ios-pinterest-swiftui.md +464 -0
  557. package/dist/data/designs/ios-pinterest.md +427 -0
  558. package/dist/data/designs/ios-plenty-of-fish-android.md +462 -0
  559. package/dist/data/designs/ios-plenty-of-fish-expo.md +380 -0
  560. package/dist/data/designs/ios-plenty-of-fish-swiftui.md +429 -0
  561. package/dist/data/designs/ios-plenty-of-fish.md +387 -0
  562. package/dist/data/designs/ios-plex-android.md +403 -0
  563. package/dist/data/designs/ios-plex-expo.md +333 -0
  564. package/dist/data/designs/ios-plex-swiftui.md +349 -0
  565. package/dist/data/designs/ios-plex.md +379 -0
  566. package/dist/data/designs/ios-pluto-tv-android.md +413 -0
  567. package/dist/data/designs/ios-pluto-tv-expo.md +379 -0
  568. package/dist/data/designs/ios-pluto-tv-swiftui.md +411 -0
  569. package/dist/data/designs/ios-pluto-tv.md +362 -0
  570. package/dist/data/designs/ios-pocket-casts-android.md +492 -0
  571. package/dist/data/designs/ios-pocket-casts-expo.md +430 -0
  572. package/dist/data/designs/ios-pocket-casts-swiftui.md +479 -0
  573. package/dist/data/designs/ios-pocket-casts.md +427 -0
  574. package/dist/data/designs/ios-postman-android.md +472 -0
  575. package/dist/data/designs/ios-postman-expo.md +372 -0
  576. package/dist/data/designs/ios-postman-swiftui.md +377 -0
  577. package/dist/data/designs/ios-postman.md +405 -0
  578. package/dist/data/designs/ios-prime-video-android.md +447 -0
  579. package/dist/data/designs/ios-prime-video-expo.md +365 -0
  580. package/dist/data/designs/ios-prime-video-swiftui.md +333 -0
  581. package/dist/data/designs/ios-prime-video.md +351 -0
  582. package/dist/data/designs/ios-quora-android.md +513 -0
  583. package/dist/data/designs/ios-quora-expo.md +362 -0
  584. package/dist/data/designs/ios-quora-swiftui.md +375 -0
  585. package/dist/data/designs/ios-quora.md +359 -0
  586. package/dist/data/designs/ios-raya-android.md +401 -0
  587. package/dist/data/designs/ios-raya-expo.md +366 -0
  588. package/dist/data/designs/ios-raya-swiftui.md +393 -0
  589. package/dist/data/designs/ios-raya.md +366 -0
  590. package/dist/data/designs/ios-reddit-android.md +605 -0
  591. package/dist/data/designs/ios-reddit-expo.md +553 -0
  592. package/dist/data/designs/ios-reddit-swiftui.md +514 -0
  593. package/dist/data/designs/ios-reddit.md +460 -0
  594. package/dist/data/designs/ios-resy-android.md +430 -0
  595. package/dist/data/designs/ios-resy-expo.md +344 -0
  596. package/dist/data/designs/ios-resy-swiftui.md +330 -0
  597. package/dist/data/designs/ios-resy.md +412 -0
  598. package/dist/data/designs/ios-revolut-android.md +433 -0
  599. package/dist/data/designs/ios-revolut-expo.md +379 -0
  600. package/dist/data/designs/ios-revolut-swiftui.md +372 -0
  601. package/dist/data/designs/ios-revolut.md +353 -0
  602. package/dist/data/designs/ios-robinhood-android.md +587 -0
  603. package/dist/data/designs/ios-robinhood-expo.md +416 -0
  604. package/dist/data/designs/ios-robinhood-swiftui.md +431 -0
  605. package/dist/data/designs/ios-robinhood.md +380 -0
  606. package/dist/data/designs/ios-runna-android.md +485 -0
  607. package/dist/data/designs/ios-runna-expo.md +388 -0
  608. package/dist/data/designs/ios-runna-swiftui.md +413 -0
  609. package/dist/data/designs/ios-runna.md +390 -0
  610. package/dist/data/designs/ios-shazam-android.md +436 -0
  611. package/dist/data/designs/ios-shazam-expo.md +348 -0
  612. package/dist/data/designs/ios-shazam-swiftui.md +394 -0
  613. package/dist/data/designs/ios-shazam.md +338 -0
  614. package/dist/data/designs/ios-signal-android.md +462 -0
  615. package/dist/data/designs/ios-signal-expo.md +361 -0
  616. package/dist/data/designs/ios-signal-swiftui.md +350 -0
  617. package/dist/data/designs/ios-signal.md +357 -0
  618. package/dist/data/designs/ios-skype-android.md +398 -0
  619. package/dist/data/designs/ios-skype-expo.md +368 -0
  620. package/dist/data/designs/ios-skype-swiftui.md +369 -0
  621. package/dist/data/designs/ios-skype.md +406 -0
  622. package/dist/data/designs/ios-skyscanner-android.md +451 -0
  623. package/dist/data/designs/ios-skyscanner-expo.md +423 -0
  624. package/dist/data/designs/ios-skyscanner-swiftui.md +419 -0
  625. package/dist/data/designs/ios-skyscanner.md +421 -0
  626. package/dist/data/designs/ios-slack-android.md +695 -0
  627. package/dist/data/designs/ios-slack-expo.md +601 -0
  628. package/dist/data/designs/ios-slack-swiftui.md +594 -0
  629. package/dist/data/designs/ios-slack.md +474 -0
  630. package/dist/data/designs/ios-sleep-cycle-android.md +436 -0
  631. package/dist/data/designs/ios-sleep-cycle-expo.md +380 -0
  632. package/dist/data/designs/ios-sleep-cycle-swiftui.md +409 -0
  633. package/dist/data/designs/ios-sleep-cycle.md +386 -0
  634. package/dist/data/designs/ios-snapchat-android.md +671 -0
  635. package/dist/data/designs/ios-snapchat-expo.md +528 -0
  636. package/dist/data/designs/ios-snapchat-swiftui.md +557 -0
  637. package/dist/data/designs/ios-snapchat.md +478 -0
  638. package/dist/data/designs/ios-sofi-android.md +446 -0
  639. package/dist/data/designs/ios-sofi-expo.md +387 -0
  640. package/dist/data/designs/ios-sofi-swiftui.md +379 -0
  641. package/dist/data/designs/ios-sofi.md +385 -0
  642. package/dist/data/designs/ios-soundcloud-android.md +488 -0
  643. package/dist/data/designs/ios-soundcloud-expo.md +364 -0
  644. package/dist/data/designs/ios-soundcloud-swiftui.md +399 -0
  645. package/dist/data/designs/ios-soundcloud.md +359 -0
  646. package/dist/data/designs/ios-southwest-android.md +446 -0
  647. package/dist/data/designs/ios-southwest-expo.md +389 -0
  648. package/dist/data/designs/ios-southwest-swiftui.md +405 -0
  649. package/dist/data/designs/ios-southwest.md +405 -0
  650. package/dist/data/designs/ios-spotify-android.md +427 -0
  651. package/dist/data/designs/ios-spotify-expo.md +321 -0
  652. package/dist/data/designs/ios-spotify-swiftui.md +312 -0
  653. package/dist/data/designs/ios-spotify.md +366 -0
  654. package/dist/data/designs/ios-starbucks-android.md +622 -0
  655. package/dist/data/designs/ios-starbucks-expo.md +497 -0
  656. package/dist/data/designs/ios-starbucks-swiftui.md +500 -0
  657. package/dist/data/designs/ios-starbucks.md +440 -0
  658. package/dist/data/designs/ios-strava-android.md +656 -0
  659. package/dist/data/designs/ios-strava-expo.md +501 -0
  660. package/dist/data/designs/ios-strava-swiftui.md +465 -0
  661. package/dist/data/designs/ios-strava.md +433 -0
  662. package/dist/data/designs/ios-strong-android.md +479 -0
  663. package/dist/data/designs/ios-strong-expo.md +396 -0
  664. package/dist/data/designs/ios-strong-swiftui.md +363 -0
  665. package/dist/data/designs/ios-strong.md +415 -0
  666. package/dist/data/designs/ios-substack-android.md +440 -0
  667. package/dist/data/designs/ios-substack-expo.md +395 -0
  668. package/dist/data/designs/ios-substack-swiftui.md +371 -0
  669. package/dist/data/designs/ios-substack.md +372 -0
  670. package/dist/data/designs/ios-swiggy-android.md +549 -0
  671. package/dist/data/designs/ios-swiggy-expo.md +443 -0
  672. package/dist/data/designs/ios-swiggy-swiftui.md +471 -0
  673. package/dist/data/designs/ios-swiggy.md +432 -0
  674. package/dist/data/designs/ios-taco-bell-android.md +529 -0
  675. package/dist/data/designs/ios-taco-bell-expo.md +407 -0
  676. package/dist/data/designs/ios-taco-bell-swiftui.md +419 -0
  677. package/dist/data/designs/ios-taco-bell.md +430 -0
  678. package/dist/data/designs/ios-telegram-android.md +676 -0
  679. package/dist/data/designs/ios-telegram-expo.md +594 -0
  680. package/dist/data/designs/ios-telegram-swiftui.md +518 -0
  681. package/dist/data/designs/ios-telegram.md +458 -0
  682. package/dist/data/designs/ios-the-league-android.md +454 -0
  683. package/dist/data/designs/ios-the-league-expo.md +391 -0
  684. package/dist/data/designs/ios-the-league-swiftui.md +409 -0
  685. package/dist/data/designs/ios-the-league.md +368 -0
  686. package/dist/data/designs/ios-things-3-android.md +421 -0
  687. package/dist/data/designs/ios-things-3-expo.md +351 -0
  688. package/dist/data/designs/ios-things-3-swiftui.md +359 -0
  689. package/dist/data/designs/ios-things-3.md +339 -0
  690. package/dist/data/designs/ios-threads-android.md +588 -0
  691. package/dist/data/designs/ios-threads-expo.md +468 -0
  692. package/dist/data/designs/ios-threads-swiftui.md +452 -0
  693. package/dist/data/designs/ios-threads.md +424 -0
  694. package/dist/data/designs/ios-threema-android.md +496 -0
  695. package/dist/data/designs/ios-threema-expo.md +415 -0
  696. package/dist/data/designs/ios-threema-swiftui.md +446 -0
  697. package/dist/data/designs/ios-threema.md +397 -0
  698. package/dist/data/designs/ios-tidal-android.md +398 -0
  699. package/dist/data/designs/ios-tidal-expo.md +323 -0
  700. package/dist/data/designs/ios-tidal-swiftui.md +340 -0
  701. package/dist/data/designs/ios-tidal.md +351 -0
  702. package/dist/data/designs/ios-tiktok-android.md +654 -0
  703. package/dist/data/designs/ios-tiktok-expo.md +578 -0
  704. package/dist/data/designs/ios-tiktok-swiftui.md +595 -0
  705. package/dist/data/designs/ios-tiktok.md +387 -0
  706. package/dist/data/designs/ios-tinder-android.md +681 -0
  707. package/dist/data/designs/ios-tinder-expo.md +512 -0
  708. package/dist/data/designs/ios-tinder-swiftui.md +497 -0
  709. package/dist/data/designs/ios-tinder.md +415 -0
  710. package/dist/data/designs/ios-todoist-android.md +711 -0
  711. package/dist/data/designs/ios-todoist-expo.md +607 -0
  712. package/dist/data/designs/ios-todoist-swiftui.md +573 -0
  713. package/dist/data/designs/ios-todoist.md +418 -0
  714. package/dist/data/designs/ios-trello-android.md +412 -0
  715. package/dist/data/designs/ios-trello-expo.md +332 -0
  716. package/dist/data/designs/ios-trello-swiftui.md +359 -0
  717. package/dist/data/designs/ios-trello.md +344 -0
  718. package/dist/data/designs/ios-tripadvisor-android.md +450 -0
  719. package/dist/data/designs/ios-tripadvisor-expo.md +322 -0
  720. package/dist/data/designs/ios-tripadvisor-swiftui.md +326 -0
  721. package/dist/data/designs/ios-tripadvisor.md +356 -0
  722. package/dist/data/designs/ios-tubi-android.md +453 -0
  723. package/dist/data/designs/ios-tubi-expo.md +419 -0
  724. package/dist/data/designs/ios-tubi-swiftui.md +463 -0
  725. package/dist/data/designs/ios-tubi.md +383 -0
  726. package/dist/data/designs/ios-tumblr-android.md +462 -0
  727. package/dist/data/designs/ios-tumblr-expo.md +374 -0
  728. package/dist/data/designs/ios-tumblr-swiftui.md +380 -0
  729. package/dist/data/designs/ios-tumblr.md +337 -0
  730. package/dist/data/designs/ios-turo-android.md +500 -0
  731. package/dist/data/designs/ios-turo-expo.md +454 -0
  732. package/dist/data/designs/ios-turo-swiftui.md +447 -0
  733. package/dist/data/designs/ios-turo.md +392 -0
  734. package/dist/data/designs/ios-twitch-android.md +412 -0
  735. package/dist/data/designs/ios-twitch-expo.md +342 -0
  736. package/dist/data/designs/ios-twitch-swiftui.md +328 -0
  737. package/dist/data/designs/ios-twitch.md +354 -0
  738. package/dist/data/designs/ios-uber-android.md +637 -0
  739. package/dist/data/designs/ios-uber-eats-android.md +502 -0
  740. package/dist/data/designs/ios-uber-eats-expo.md +407 -0
  741. package/dist/data/designs/ios-uber-eats-swiftui.md +393 -0
  742. package/dist/data/designs/ios-uber-eats.md +353 -0
  743. package/dist/data/designs/ios-uber-expo.md +512 -0
  744. package/dist/data/designs/ios-uber-swiftui.md +483 -0
  745. package/dist/data/designs/ios-uber.md +395 -0
  746. package/dist/data/designs/ios-united-airlines-android.md +494 -0
  747. package/dist/data/designs/ios-united-airlines-expo.md +408 -0
  748. package/dist/data/designs/ios-united-airlines-swiftui.md +453 -0
  749. package/dist/data/designs/ios-united-airlines.md +388 -0
  750. package/dist/data/designs/ios-venmo-android.md +654 -0
  751. package/dist/data/designs/ios-venmo-expo.md +458 -0
  752. package/dist/data/designs/ios-venmo-swiftui.md +469 -0
  753. package/dist/data/designs/ios-venmo.md +436 -0
  754. package/dist/data/designs/ios-vercel-android.md +454 -0
  755. package/dist/data/designs/ios-vercel-expo.md +387 -0
  756. package/dist/data/designs/ios-vercel-swiftui.md +374 -0
  757. package/dist/data/designs/ios-vercel.md +399 -0
  758. package/dist/data/designs/ios-vero-android.md +498 -0
  759. package/dist/data/designs/ios-vero-expo.md +376 -0
  760. package/dist/data/designs/ios-vero-swiftui.md +374 -0
  761. package/dist/data/designs/ios-vero.md +394 -0
  762. package/dist/data/designs/ios-viber-android.md +377 -0
  763. package/dist/data/designs/ios-viber-expo.md +375 -0
  764. package/dist/data/designs/ios-viber-swiftui.md +378 -0
  765. package/dist/data/designs/ios-viber.md +403 -0
  766. package/dist/data/designs/ios-vimeo-android.md +465 -0
  767. package/dist/data/designs/ios-vimeo-expo.md +347 -0
  768. package/dist/data/designs/ios-vimeo-swiftui.md +383 -0
  769. package/dist/data/designs/ios-vimeo.md +403 -0
  770. package/dist/data/designs/ios-vrbo-android.md +488 -0
  771. package/dist/data/designs/ios-vrbo-expo.md +395 -0
  772. package/dist/data/designs/ios-vrbo-swiftui.md +421 -0
  773. package/dist/data/designs/ios-vrbo.md +383 -0
  774. package/dist/data/designs/ios-vsco-android.md +490 -0
  775. package/dist/data/designs/ios-vsco-expo.md +413 -0
  776. package/dist/data/designs/ios-vsco-swiftui.md +449 -0
  777. package/dist/data/designs/ios-vsco.md +412 -0
  778. package/dist/data/designs/ios-walmart-android.md +479 -0
  779. package/dist/data/designs/ios-walmart-expo.md +370 -0
  780. package/dist/data/designs/ios-walmart-swiftui.md +387 -0
  781. package/dist/data/designs/ios-walmart.md +366 -0
  782. package/dist/data/designs/ios-waze-android.md +695 -0
  783. package/dist/data/designs/ios-waze-expo.md +587 -0
  784. package/dist/data/designs/ios-waze-swiftui.md +601 -0
  785. package/dist/data/designs/ios-waze.md +453 -0
  786. package/dist/data/designs/ios-webull-android.md +429 -0
  787. package/dist/data/designs/ios-webull-expo.md +384 -0
  788. package/dist/data/designs/ios-webull-swiftui.md +406 -0
  789. package/dist/data/designs/ios-webull.md +375 -0
  790. package/dist/data/designs/ios-wechat-android.md +545 -0
  791. package/dist/data/designs/ios-wechat-expo.md +398 -0
  792. package/dist/data/designs/ios-wechat-swiftui.md +394 -0
  793. package/dist/data/designs/ios-wechat.md +363 -0
  794. package/dist/data/designs/ios-whatsapp-android.md +568 -0
  795. package/dist/data/designs/ios-whatsapp-expo.md +502 -0
  796. package/dist/data/designs/ios-whatsapp-swiftui.md +483 -0
  797. package/dist/data/designs/ios-whatsapp.md +425 -0
  798. package/dist/data/designs/ios-whoop-android.md +635 -0
  799. package/dist/data/designs/ios-whoop-expo.md +562 -0
  800. package/dist/data/designs/ios-whoop-swiftui.md +553 -0
  801. package/dist/data/designs/ios-whoop.md +419 -0
  802. package/dist/data/designs/ios-wise-android.md +428 -0
  803. package/dist/data/designs/ios-wise-expo.md +357 -0
  804. package/dist/data/designs/ios-wise-swiftui.md +356 -0
  805. package/dist/data/designs/ios-wise.md +361 -0
  806. package/dist/data/designs/ios-x-twitter-android.md +618 -0
  807. package/dist/data/designs/ios-x-twitter-expo.md +442 -0
  808. package/dist/data/designs/ios-x-twitter-swiftui.md +429 -0
  809. package/dist/data/designs/ios-x-twitter.md +432 -0
  810. package/dist/data/designs/ios-yelp-android.md +455 -0
  811. package/dist/data/designs/ios-yelp-expo.md +397 -0
  812. package/dist/data/designs/ios-yelp-swiftui.md +369 -0
  813. package/dist/data/designs/ios-yelp.md +398 -0
  814. package/dist/data/designs/ios-youtube-android.md +668 -0
  815. package/dist/data/designs/ios-youtube-expo.md +435 -0
  816. package/dist/data/designs/ios-youtube-music-android.md +450 -0
  817. package/dist/data/designs/ios-youtube-music-expo.md +404 -0
  818. package/dist/data/designs/ios-youtube-music-swiftui.md +434 -0
  819. package/dist/data/designs/ios-youtube-music.md +381 -0
  820. package/dist/data/designs/ios-youtube-swiftui.md +496 -0
  821. package/dist/data/designs/ios-youtube.md +466 -0
  822. package/dist/data/designs/ios-zalo-android.md +510 -0
  823. package/dist/data/designs/ios-zalo-expo.md +389 -0
  824. package/dist/data/designs/ios-zalo-swiftui.md +431 -0
  825. package/dist/data/designs/ios-zalo.md +388 -0
  826. package/dist/data/designs/ios-zomato-android.md +527 -0
  827. package/dist/data/designs/ios-zomato-expo.md +437 -0
  828. package/dist/data/designs/ios-zomato-swiftui.md +433 -0
  829. package/dist/data/designs/ios-zomato.md +439 -0
  830. package/dist/data/designs/ios-zoom-android.md +423 -0
  831. package/dist/data/designs/ios-zoom-expo.md +355 -0
  832. package/dist/data/designs/ios-zoom-swiftui.md +379 -0
  833. package/dist/data/designs/ios-zoom.md +357 -0
  834. package/dist/data/designs/ios-zwift-android.md +402 -0
  835. package/dist/data/designs/ios-zwift-expo.md +402 -0
  836. package/dist/data/designs/ios-zwift-swiftui.md +378 -0
  837. package/dist/data/designs/ios-zwift.md +411 -0
  838. package/dist/data/designs/kraken.md +125 -0
  839. package/dist/data/designs/lamborghini.md +288 -0
  840. package/dist/data/designs/linear.app.md +548 -0
  841. package/dist/data/designs/lovable.md +298 -0
  842. package/dist/data/designs/mastercard.md +365 -0
  843. package/dist/data/designs/material-clean.md +289 -0
  844. package/dist/data/designs/meta.md +683 -0
  845. package/dist/data/designs/midnight-pro.md +256 -0
  846. package/dist/data/designs/minimal-brutalist.md +245 -0
  847. package/dist/data/designs/minimax.md +746 -0
  848. package/dist/data/designs/mintlify.md +852 -0
  849. package/dist/data/designs/miro.md +825 -0
  850. package/dist/data/designs/mistral.ai.md +773 -0
  851. package/dist/data/designs/mongodb.md +767 -0
  852. package/dist/data/designs/nike.md +575 -0
  853. package/dist/data/designs/nintendo-2001.md +649 -0
  854. package/dist/data/designs/notion.md +821 -0
  855. package/dist/data/designs/nova-mobile-design-md.md +235 -0
  856. package/dist/data/designs/nvidia.md +640 -0
  857. package/dist/data/designs/ollama.md +539 -0
  858. package/dist/data/designs/opencode.ai.md +521 -0
  859. package/dist/data/designs/pinterest.md +597 -0
  860. package/dist/data/designs/playful-color.md +253 -0
  861. package/dist/data/designs/playstation.md +661 -0
  862. package/dist/data/designs/posthog.md +690 -0
  863. package/dist/data/designs/raycast.md +669 -0
  864. package/dist/data/designs/renault.md +589 -0
  865. package/dist/data/designs/replicate.md +616 -0
  866. package/dist/data/designs/resend.md +585 -0
  867. package/dist/data/designs/revolut.md +636 -0
  868. package/dist/data/designs/runwayml.md +244 -0
  869. package/dist/data/designs/sanity.md +357 -0
  870. package/dist/data/designs/sentry.md +551 -0
  871. package/dist/data/designs/shopify.md +516 -0
  872. package/dist/data/designs/slack.md +482 -0
  873. package/dist/data/designs/soft-glass.md +258 -0
  874. package/dist/data/designs/spacex.md +363 -0
  875. package/dist/data/designs/spotify.md +246 -0
  876. package/dist/data/designs/starbucks.md +580 -0
  877. package/dist/data/designs/stripe.md +487 -0
  878. package/dist/data/designs/supabase.md +462 -0
  879. package/dist/data/designs/superhuman.md +448 -0
  880. package/dist/data/designs/tesla.md +286 -0
  881. package/dist/data/designs/theverge.md +339 -0
  882. package/dist/data/designs/together.ai.md +633 -0
  883. package/dist/data/designs/uber.md +636 -0
  884. package/dist/data/designs/vercel.md +736 -0
  885. package/dist/data/designs/vodafone.md +538 -0
  886. package/dist/data/designs/voltagent.md +521 -0
  887. package/dist/data/designs/warp.md +526 -0
  888. package/dist/data/designs/webflow.md +588 -0
  889. package/dist/data/designs/wired.md +497 -0
  890. package/dist/data/designs/wise.md +544 -0
  891. package/dist/data/designs/x.ai.md +465 -0
  892. package/dist/data/designs/zapier.md +537 -0
  893. package/dist/data/index.json +2600 -0
  894. package/dist/httpServer.js +83 -0
  895. package/dist/index.js +13 -0
  896. package/dist/server.js +32 -0
  897. package/dist/services/designStore.js +59 -0
  898. package/dist/services/linter.js +87 -0
  899. package/dist/services/sectionParser.js +154 -0
  900. package/dist/tools/authoring.js +131 -0
  901. package/dist/tools/browse.js +232 -0
  902. package/dist/tools/diff.js +88 -0
  903. package/dist/tools/getDesign.js +216 -0
  904. package/dist/tools/guardrails.js +87 -0
  905. package/dist/tools/lint.js +104 -0
  906. package/dist/types.js +1 -0
  907. package/package.json +65 -0
@@ -0,0 +1,411 @@
1
+ # Design System Inspiration of Peacock (iOS)
2
+
3
+ ## 1. Visual Theme & Atmosphere
4
+
5
+ Peacock's iOS app is a cinematic, glow-in-the-dark streaming surface built around a single idea: the catalog is the interface. There is no light mode — the app is permanently dark, anchored on a deep indigo-black canvas (`#0A0A14`) that warms toward a violet-charcoal (`#140E26`) directly beneath hero artwork. The effect is that the home billboard appears to *emit* light into the surrounding chrome rather than sit on flat black, a deliberate departure from the pure-`#000` look of competitors. Open the Home tab and you are dropped into a full-bleed hero billboard — a single featured title occupying roughly the top half of the screen with a centered logo lockup, a colored eyebrow label ("New Original Series"), and a white "Play" button — followed by horizontally scrolling content rows: a rounded **Channels rail** of live network tiles (NBC, Bravo, USA, E!, SNL), then **Trending**, **Continue Watching**, **Channels you might like**, and genre rows, each a row of 2:3 poster cards with rank numerals and the multicolor "TOP 10" flag.
6
+
7
+ The signature brand asset is the **Peacock feather swoosh**: five quill strokes fanning out in yellow (`#FACC15`), orange (`#F97316`), pink (`#EC4899`), purple (`#8B5CF6`), and blue (`#2563EB`). This gradient is the *only* chromatic accent in the system — it appears as the logomark in the top bar, as the premium-upsell button fill, as selection underlines, and occasionally as a thin progress bar — but it is never used as a fill behind body text and never tints poster art. Everything else in the chrome is greyscale-on-indigo so the full-color thumbnails are the loudest thing on screen.
8
+
9
+ The other defining moment is the **white primary CTA**. Where most streamers tint their play button with a brand color, Peacock keeps "Play" solid white (`#FFFFFF`) with a near-black label (`#0A0A14`). This guarantees maximum contrast over any poster, signals "this is the one action that matters," and lets the feather gradient stay reserved for identity and upsell. Live and sports content (Peacock carries NBC Sports, Premier League, WWE, the Olympics) is marked with NBC's broadcast red (`#E5142B`) and a pulsing dot — the one place a saturated non-feather color is allowed.
10
+
11
+ Typography is Peacock Sans (a custom geometric grotesque); the closest free substitute is **Poppins**. The hierarchy is broadcast-promo loud: hero titles at 26-30pt weight 800, row headers at 22pt weight 700, all-caps tracked eyebrows at 11pt. Numerals are emphatic (rank "1", "2", "3" on Top 10 art). The type system is built to read at a glance from couch distance on the matching tvOS app and scale down cleanly to the phone.
12
+
13
+ **Key Characteristics:**
14
+ - Permanently dark — indigo-black canvas (`#0A0A14`) warming to violet (`#140E26`) under hero art; no light mode
15
+ - Full-bleed **hero billboard** — one featured title, centered logo lockup, colored eyebrow, white Play button
16
+ - Five-color **feather swoosh** (yellow→orange→pink→purple→blue) — the only chromatic accent; logomark, upsell, selection
17
+ - **White primary CTA** — "Play" is solid `#FFFFFF` with near-black label, never brand-tinted
18
+ - **Channels rail** — rounded live-network tiles (NBC, Bravo, USA, E!, SNL) in a horizontal strip
19
+ - **Content rows** — horizontally scrolling 2:3 poster cards; Top 10 rows show large rank numerals
20
+ - **Live / sports red** (`#E5142B`) with a pulsing dot — the one saturated non-feather color
21
+ - Broadcast-promo typography — Poppins (Peacock Sans fallback), hero 800, eyebrows all-caps tracked
22
+ - Bottom tab bar: Home / Channels / Search / My Stuff — dark, icon fill on active, no tint pill
23
+ - Premium upsell ("Get Premium") rendered with the feather gradient as a recurring monetization surface
24
+
25
+ ## 2. Color Palette & Roles
26
+
27
+ Peacock ships dark-only. The "Light Mode" column below documents the rare light surfaces (account/legal web views, email-style screens) for completeness; the product UI uses the dark column everywhere.
28
+
29
+ ### Primary (Interactive)
30
+ - **CTA White** (`#FFFFFF`): Primary action — "Play" / "Resume" button fill. The single most important color.
31
+ - **CTA White Pressed** (`#E6E6EA`): Pressed state of the white CTA + scale 0.98.
32
+ - **CTA Label** (`#0A0A14`): Near-black text/icon on the white CTA.
33
+ - **Glass Fill** (`rgba(255,255,255,0.14)`): Secondary action ("+ My Stuff", "More Info") — translucent over art.
34
+
35
+ ### Feather Accent (Identity / Upsell / Selection)
36
+ - **Feather Yellow** (`#FACC15`): First quill; eyebrow labels, leading gradient stop.
37
+ - **Feather Orange** (`#F97316`): Second quill; Top-10 flag, progress fill start.
38
+ - **Feather Pink** (`#EC4899`): Center quill; gradient mid, premium button mid.
39
+ - **Feather Purple** (`#8B5CF6`): Fourth quill; gradient, radius/selection accent.
40
+ - **Feather Blue** (`#2563EB`): Fifth quill; gradient terminal stop.
41
+ - **Feather Gradient** (`linear-gradient(90deg, #FACC15, #F97316, #EC4899, #8B5CF6, #2563EB)`): Premium upsell, selection underline, logomark.
42
+
43
+ ### Canvas & Surfaces (Light Mode — account / web views only)
44
+ - **Light Canvas** (`#FFFFFF`): Legal & web-account pages.
45
+ - **Light Surface** (`#F4F3F7`): Cards in account views.
46
+ - **Light Divider** (`#E2E0EA`): Hairlines in light web views.
47
+ - **Light Text** (`#0A0A14`): Body text in light web views.
48
+
49
+ ### Canvas & Surfaces (Dark Mode — the product)
50
+ - **Canvas** (`#0A0A14`): Primary app background — deep indigo-black.
51
+ - **Canvas Warm** (`#140E26`): Background under hero billboard; violet glow.
52
+ - **Surface 1** (`#1A1530`): Cards, sheets, settings rows.
53
+ - **Surface 2** (`#241C3D`): Elevated chips, progress track, pressed rows.
54
+ - **Divider** (`#2C2545`): Hairline dividers, tab-bar top border.
55
+
56
+ ### Text
57
+ - **Text Primary** (`#FFFFFF`): Titles, hero, primary labels on dark.
58
+ - **Text Secondary** (`#B5B2C2`): Metadata, captions, "See All".
59
+ - **Text Tertiary** (`#7A7689`): Inactive tabs, disabled, faint meta dots.
60
+
61
+ ### Semantic
62
+ - **Live Red** (`#E5142B`): Live badge, sports "LIVE", channel-now indicator — pulsing dot.
63
+ - **Success Green** (`#1DB954`): Download-complete, save confirmation toast.
64
+ - **Error Red** (`#FF453A`): Playback error, payment failure.
65
+ - **Rating Gold** (`#FACC15`): Star rating / critic score (reuses Feather Yellow).
66
+
67
+ ### Role → Color Table
68
+
69
+ | Role | Light Mode | Dark Mode (product) |
70
+ |------|-----------|---------------------|
71
+ | Canvas | `#FFFFFF` | `#0A0A14` |
72
+ | Canvas (hero) | `#FFFFFF` | `#140E26` |
73
+ | Surface 1 | `#F4F3F7` | `#1A1530` |
74
+ | Surface 2 | `#ECEAF3` | `#241C3D` |
75
+ | Divider | `#E2E0EA` | `#2C2545` |
76
+ | Text Primary | `#0A0A14` | `#FFFFFF` |
77
+ | Text Secondary | `#5B596B` | `#B5B2C2` |
78
+ | Text Tertiary | `#9A98A8` | `#7A7689` |
79
+ | Primary CTA | `#0A0A14` | `#FFFFFF` |
80
+ | CTA Label | `#FFFFFF` | `#0A0A14` |
81
+ | Live | `#E5142B` | `#E5142B` |
82
+ | Accent (feather) | feather gradient | feather gradient |
83
+
84
+ ## 3. Typography Rules
85
+
86
+ ### Font Family
87
+ - **Brand**: `Peacock Sans` — a proprietary geometric grotesque commissioned for the Peacock identity.
88
+ - **Closest Free Substitute**: `Poppins` (by Indian Type Foundry / Jonny Pinhorn, Google Fonts, SIL OFL) — geometric sans with circular bowls and a confident, broadcast-friendly tone.
89
+ - **Alternate Substitute**: `Montserrat` or `Sora` if Poppins is unavailable.
90
+ - **System Fallback**: `-apple-system, BlinkMacSystemFont, 'SF Pro Display', 'SF Pro Text', 'Segoe UI', Roboto, Helvetica, Arial, sans-serif`
91
+ - **Numerals**: Lining, tabular for rank numerals and time codes; proportional elsewhere.
92
+
93
+ ### Hierarchy
94
+
95
+ | Role | Font | Size | Weight | Line Height | Letter Spacing | Notes |
96
+ |------|------|------|--------|-------------|----------------|-------|
97
+ | Screen Title | Poppins | 32pt | 800 | 1.1 | -0.5pt | "Home", "My Stuff" nav titles |
98
+ | Hero Title | Poppins | 28pt | 800 | 1.05 | -0.5pt | Featured billboard title (logo lockup may replace) |
99
+ | Row Header | Poppins | 22pt | 700 | 1.15 | -0.2pt | "Trending", "Continue Watching" |
100
+ | Card Title | Poppins | 18pt | 700 | 1.2 | -0.1pt | Detail-page / large-card title |
101
+ | Body | Poppins | 16pt | 600 | 1.5 | 0pt | Synopsis, descriptions |
102
+ | Body Regular | Poppins | 16pt | 400 | 1.5 | 0pt | Long-form legal / settings copy |
103
+ | Caption | Poppins | 15pt | 500 | 1.35 | 0pt | "S1 · E4 · 48 min" episode meta |
104
+ | Meta | Poppins | 13pt | 400 | 1.4 | 0pt | "2023 · Drama · TV-MA" dot-separated |
105
+ | Poster Caption | Poppins | 11pt | 500 | 1.25 | 0pt | Title under a poster card |
106
+ | Tab Label | Poppins | 12pt | 600 | 1.0 | 0.1pt | Bottom tab labels |
107
+ | Eyebrow | Poppins | 11pt | 700 | 1.0 | 1.4pt (uppercase) | "NEW ORIGINAL SERIES" over hero |
108
+ | Button | Poppins | 15pt | 700 | 1.0 | 0pt | Primary/secondary button label |
109
+ | Rank Numeral | Poppins | 13pt | 800 | 1.0 | 0pt | "1" "2" "3" on Top-10 poster art |
110
+ | Badge | Poppins | 10pt | 800 | 1.0 | 0.4pt (uppercase) | "TOP 10", "NEW", "LIVE" |
111
+
112
+ ### Principles
113
+ - **Broadcast-promo loudness**: Hero and row headers are heavy (700-800) — Peacock reads like an on-air promo, not a productivity app.
114
+ - **All-caps tracked eyebrows**: Category labels above the hero are 11pt uppercase with +1.4pt tracking — the signature framing device.
115
+ - **Numerals carry weight**: Rank numerals on Top-10 art and time codes use weight 800 tabular figures so "1 / 2 / 3" reads instantly.
116
+ - **Greyscale chrome, color content**: Type in the chrome is white / `#B5B2C2` only; chromatic feather color never sits behind text.
117
+ - **Dynamic Type**: Titles, body, captions scale; tab labels, eyebrows, badges, rank numerals stay fixed (layout-sensitive over art).
118
+
119
+ ## 4. Component Stylings
120
+
121
+ ### Buttons
122
+
123
+ **Primary Button (Play / Resume)**
124
+ - Shape: Rounded rectangle, 6pt corner radius
125
+ - Background: `#FFFFFF` (always white — never feather-tinted)
126
+ - Text/Icon: `#0A0A14`, Poppins 15pt weight 700, leading ▶ play glyph 14pt
127
+ - Padding: 13pt vertical, 26pt horizontal
128
+ - Pressed: background `#E6E6EA` + scale 0.98
129
+ - Width: hugs content on hero; full-width on detail page
130
+
131
+ **Secondary / Glass Button (+ My Stuff / More Info / Trailer)**
132
+ - Background: `rgba(255,255,255,0.14)` with `backdrop-filter: blur(6px)`
133
+ - Text: `#FFFFFF`, Poppins 14pt weight 600
134
+ - Border: none
135
+ - Corner radius: 6pt
136
+ - Padding: 12pt vertical, 18-22pt horizontal
137
+ - Pressed: background `rgba(255,255,255,0.22)`
138
+
139
+ **Premium Upsell Button (Get Premium / Upgrade)**
140
+ - Background: feather gradient `linear-gradient(90deg,#F97316,#EC4899)` (orange→pink subset) or full 5-stop on large CTAs
141
+ - Text: `#FFFFFF`, Poppins 14pt weight 700
142
+ - Corner radius: 6pt
143
+ - Padding: 12pt vertical, 22pt horizontal
144
+ - The only place the gradient is a button fill
145
+
146
+ **Text Button (More Info / See All / Manage)**
147
+ - Background: transparent
148
+ - Text: `#B5B2C2`, Poppins 14pt weight 600
149
+ - No underline (selection underline uses feather gradient elsewhere)
150
+ - Pressed: text → `#FFFFFF`
151
+
152
+ **Icon Button (search, profile, add)**
153
+ - 21pt glyph, 44pt hit area
154
+ - Color `#FFFFFF`; inactive `#7A7689`
155
+ - No background
156
+
157
+ ### Core Atoms
158
+
159
+ **Poster Card**
160
+ - 2:3 aspect ratio, ~112pt wide on phone (variable per row)
161
+ - Corner radius: 8pt
162
+ - Full-bleed key art, no border
163
+ - Optional rank numeral bottom-left in a 45%-black pill, Poppins 13pt w800
164
+ - Optional "TOP 10" / "NEW" badge top-left, feather-orange→pink gradient, Poppins 10pt w800
165
+ - Caption below: title, Poppins 11pt w500 `#B5B2C2`
166
+ - Pressed: scale 0.97, 150ms
167
+
168
+ **Channel Tile (Channels rail)**
169
+ - 60pt × 60pt rounded square, 14pt corner radius
170
+ - Filled with the network's brand gradient (NBC blue, Bravo purple, USA teal, E! orange, SNL red)
171
+ - Network mark/wordmark centered, white, Poppins 11pt w800
172
+ - Live tile gets a `#E5142B` "LIVE" pill top-right
173
+ - Pressed: scale 0.96
174
+
175
+ **Hero Billboard**
176
+ - Full-bleed key art occupying ~50% of screen height (360pt on phone)
177
+ - Bottom gradient scrim: `linear-gradient(180deg, transparent 38%, rgba(10,10,20,0.7) 70%, #0A0A14 100%)`
178
+ - Centered: eyebrow (11pt uppercase feather-yellow) → title or logo lockup → meta row (`13pt #B5B2C2` dot-separated) → button pair (white Play + glass +My Stuff)
179
+
180
+ **Live Badge**
181
+ - `#E5142B` fill, 4pt corner radius, Poppins 11pt w800 uppercase, 5pt/10pt padding
182
+ - Leading 7pt white dot that pulses (opacity 1 → 0.4, 1.2s loop)
183
+
184
+ **Progress Bar (Continue Watching)**
185
+ - 4pt track height, 2pt radius, track `#241C3D`
186
+ - Fill: feather orange→pink gradient
187
+ - Label below: Poppins 11pt w500 `#B5B2C2` — "S2 E6 · 24 min left"
188
+
189
+ **Top-10 Rank Numeral**
190
+ - Large outlined/filled numeral overlaying poster art OR pill numeral bottom-left
191
+ - Poppins weight 800, white, on 45%-black pill for legibility over varied art
192
+
193
+ ### Navigation
194
+
195
+ **Bottom Tab Bar**
196
+ - Height: 64pt + safe area
197
+ - Background: `rgba(10,10,20,0.96)` with `backdrop-filter: blur(18px) saturate(160%)`
198
+ - Top border: 0.5pt `#2C2545`
199
+ - Tabs (4): Home, Channels, Search, My Stuff
200
+ - Icon: 22pt; active = white **filled** glyph, inactive = `#7A7689` stroked glyph
201
+ - No tint pill — the fill swap is the only active treatment
202
+ - Labels: Poppins 12pt w600, always shown
203
+
204
+ **Top Bar (Home)**
205
+ - Height: 44pt + safe area
206
+ - Leading: feather logomark (30pt) + "peacock" wordmark (Poppins 19pt w800)
207
+ - Trailing: search glyph + profile/add (21pt, white)
208
+ - Transparent over hero; gains `#0A0A14` fill on scroll
209
+
210
+ **Detail Page**
211
+ - Full-bleed hero art + back chevron (top-left, white, on 40%-black circle)
212
+ - Sticky title bar appears on scroll past hero title
213
+
214
+ ### Input Fields
215
+
216
+ **Search Bar**
217
+ - Height: 44pt
218
+ - Background: `#1A1530`
219
+ - Border: none (1pt feather-purple on focus)
220
+ - Corner radius: 8pt
221
+ - Leading magnifier 18pt `#7A7689`
222
+ - Placeholder: "Search shows, movies, channels" Poppins 14pt `#7A7689`
223
+ - Text: white
224
+
225
+ **Profile / PIN Entry**
226
+ - Large segmented digit boxes, `#1A1530` fill, 8pt radius, white digits, focus ring feather-purple
227
+
228
+ ### Distinctive Components
229
+
230
+ **Feather Logomark Lockup**
231
+ - Five-quill SVG swoosh + lowercase "peacock" wordmark
232
+ - The brand signature; appears top-bar, splash, and as the centered hero lockup for Originals
233
+
234
+ **Channels Rail**
235
+ - Horizontal strip of network tiles directly under the hero — Peacock's identity as a *live TV + on-demand* hybrid
236
+ - Each tile is the network's brand color; live tiles carry a red "LIVE" pill
237
+
238
+ **Hero Billboard with Centered Logo Lockup**
239
+ - Featured Originals replace the text title with the show's logo treatment, centered, over key art — the most cinematic surface
240
+
241
+ **Top 10 Row**
242
+ - Dedicated row where each poster carries a large rank numeral; the numerals are part of the art composition
243
+
244
+ **Premium Upsell Surface**
245
+ - Feather-gradient banners/buttons recurring across Home, detail pages, and a "Plans" tab — the monetization layer rendered in brand color
246
+
247
+ **Live / Sports Lane**
248
+ - Rows of live event cards with `#E5142B` LIVE badges, live score strips, and "Watch Live" white CTAs — NBC Sports / Premier League / WWE surfaces
249
+
250
+ ## 5. Layout Principles
251
+
252
+ ### Spacing System
253
+ - Base unit: 4pt
254
+ - Scale: 4, 8, 12, 16, 18, 24, 32, 40, 48, 64
255
+ - Content horizontal inset: 18pt (rows bleed to the right edge for "more content" affordance)
256
+ - Inter-row vertical gap: 12-16pt
257
+ - Poster gap within a row: 10pt
258
+
259
+ ### Grid & Container
260
+ - iPhone: 18pt side inset; rows scroll horizontally and bleed off the right edge
261
+ - iPad: rows show more posters per viewport; hero billboard taller (480pt)
262
+ - Hero billboard: ~50% of screen height on phone, full-bleed top
263
+ - No max content width — rows are edge-to-edge horizontal scrollers
264
+
265
+ ### Whitespace Philosophy
266
+ - **Catalog density**: rows are packed tight (10pt gaps) so more art is visible — this is a content-discovery surface
267
+ - **Hero breathing room**: the billboard gets a generous scrim and centered composition so the featured title dominates
268
+ - **Chrome recedes**: minimal padding around chrome; the indigo canvas frames full-color art with no competing color
269
+
270
+ ### Border Radius Scale
271
+ - Square (0pt): full-bleed hero art, scrims
272
+ - Small (4pt): badges, live pill, progress track
273
+ - Standard (6pt): buttons, search results
274
+ - Card (8pt): poster cards, search bar, settings rows
275
+ - Tile (14pt): channel tiles
276
+ - Comfortable (20pt): bottom sheets, modals
277
+ - Pill (500pt): filter chips, toggle
278
+ - Circle (50%): avatars, back-button background
279
+
280
+ ## 6. Depth & Elevation
281
+
282
+ Peacock uses depth sparingly — the glow of the warm hero canvas is the primary "depth" cue, not drop shadows.
283
+
284
+ | Level | Treatment | Use |
285
+ |-------|-----------|-----|
286
+ | Flat (Level 0) | No shadow | Rows, posters, tabs on the indigo canvas |
287
+ | Hero Glow | Radial violet `#140E26` bleed behind art + bottom scrim | Featured billboard depth |
288
+ | Card Lift (Level 1) | `rgba(0,0,0,0.5) 0 8px 24px` | Focused/hovered poster (tvOS parity); pressed scale 0.97 |
289
+ | Floating (Level 2) | `rgba(0,0,0,0.55) 0 12px 32px` + 1pt `#2C2545` border | Bottom sheets, context menus, "Add to" sheet |
290
+ | Modal Overlay | `rgba(0,0,0,0.6)` | Dim behind sheets, age-gate, plan picker |
291
+
292
+ **Shadow Philosophy**: On a near-black indigo canvas, soft shadows barely register, so Peacock leans on (a) the warm violet glow under hero art and (b) a 1pt `#2C2545` border on floating panels as the elevation cue. Posters lift only via scale on press/focus. Nothing in the resting catalog casts a visible shadow — the full-color art against muted indigo provides all the figure/ground separation needed.
293
+
294
+ ### Motion
295
+ - **Hero auto-rotate / parallax**: the featured billboard may cross-fade between titles every ~8s (400ms ease-in-out); art parallaxes subtly on scroll
296
+ - **Row scroll**: native momentum horizontal scroll; cards do not snap (free scroll), 60fps
297
+ - **Poster press**: scale 1.0 → 0.97 in 120ms ease-out; release springs back
298
+ - **Tab switch**: instant content swap; icon fill cross-fades 150ms
299
+ - **Detail open**: poster expands / pushes into full-bleed detail with 300ms ease-out shared-element-style transition
300
+ - **Live dot pulse**: opacity 1 → 0.4 → 1 over 1.2s, infinite ease-in-out
301
+ - **Sheet present**: bottom sheet slides up 300ms ease-out; dim fades in parallel
302
+ - **Progress fill**: animates from 0 to value over 400ms when a Continue Watching row appears
303
+ - **Haptic feedback**: light impact on poster select, soft on add-to-My-Stuff confirm
304
+
305
+ ## 7. Do's and Don'ts
306
+
307
+ ### Do
308
+ - Keep the app permanently dark on indigo-black `#0A0A14`; warm to `#140E26` under hero art
309
+ - Make "Play" solid white `#FFFFFF` with a near-black label — the single most important CTA
310
+ - Reserve the five-color feather gradient for logomark, premium upsell, and selection accents
311
+ - Use NBC red `#E5142B` + a pulsing dot for live & sports — the only saturated non-feather color
312
+ - Render the hero as a full-bleed billboard with a centered logo lockup for Originals
313
+ - Put the Channels rail (network tiles) high on Home — Peacock is a live-TV + on-demand hybrid
314
+ - Use heavy Poppins weights (700-800) for hero & row headers — broadcast-promo loudness
315
+ - Frame the hero with an 11pt uppercase tracked eyebrow (feather-yellow)
316
+ - Show large weight-800 rank numerals on Top-10 poster art
317
+ - Let full-color poster art be the loudest thing on screen; keep chrome greyscale
318
+
319
+ ### Don't
320
+ - Don't add a light mode — Peacock is dark-only
321
+ - Don't tint the Play button with brand color — it is always white
322
+ - Don't use the feather gradient as a fill behind body text or as a poster overlay
323
+ - Don't use pure `#000000` for the canvas — the indigo `#0A0A14` / violet `#140E26` glow is the signature
324
+ - Don't use a tint pill on the active tab — the icon fill swap is the only active treatment
325
+ - Don't snap-scroll content rows — they are free momentum scrollers that bleed off the right edge
326
+ - Don't introduce a second accent color — feather + live-red is the entire chromatic budget
327
+ - Don't put borders on poster cards — art is full-bleed, separation comes from the indigo canvas
328
+ - Don't center body/synopsis text — only the hero lockup is centered; rows are left-aligned
329
+ - Don't animate aggressively — motion is cinematic and quiet (120-400ms ease-out)
330
+ - Don't let chrome compete with art — chrome stays white / `#B5B2C2` on indigo
331
+
332
+ ## 8. Responsive Behavior
333
+
334
+ ### Device Sizes
335
+ | Device | Width | Key Changes |
336
+ |--------|-------|-------------|
337
+ | iPhone SE (3rd gen) | 375pt | Hero ~320pt tall; ~2.4 posters per viewport |
338
+ | iPhone 13/14/15 | 390pt | Standard layout; hero 360pt |
339
+ | iPhone 15/16 Pro | 393pt | Dynamic Island accommodated in transparent top bar |
340
+ | iPhone 15/16 Pro Max | 430pt | Hero 400pt; ~3 posters per viewport |
341
+ | iPad (portrait) | 768pt | Hero 480pt full-bleed; ~5 posters per row; 24pt insets |
342
+ | iPad (landscape) | 1024pt+ | Hero 560pt; ~7 posters per row; channels rail wider |
343
+
344
+ ### Dynamic Type
345
+ - Hero title, row headers, body, captions: full scale
346
+ - Tab labels, eyebrows, badges, rank numerals, "LIVE": FIXED (composited over art / layout-sensitive)
347
+ - Synopsis on detail page scales to XL
348
+
349
+ ### Orientation
350
+ - Phone: portrait-primary for browsing; player rotates to landscape full-screen
351
+ - iPad: both orientations for browse; player always landscape full-screen
352
+ - Hero art re-crops (focal point preserved) across orientations
353
+
354
+ ### Touch Targets
355
+ - Poster card: full-card tap, ≥112×168pt
356
+ - Channel tile: 60×60pt, 44pt min effective
357
+ - Tab bar icon: 22pt glyph, 44pt hit
358
+ - Play button: ≥44pt tall
359
+ - Back button: 24pt glyph in 40pt circle
360
+
361
+ ### Safe Area Handling
362
+ - Top: transparent top bar respects safe area + Dynamic Island; hero art bleeds under it
363
+ - Bottom: tab bar respects home indicator; rows scroll above it
364
+ - Player: full-bleed edge-to-edge, controls inset from safe area
365
+ - Sides: 18pt content inset; rows intentionally bleed off the trailing edge
366
+
367
+ ## 9. Agent Prompt Guide
368
+
369
+ ### Quick Color Reference
370
+ - Canvas (dark): `#0A0A14`
371
+ - Canvas warm (under hero): `#140E26`
372
+ - Surface 1: `#1A1530`
373
+ - Surface 2: `#241C3D`
374
+ - Divider: `#2C2545`
375
+ - Text primary: `#FFFFFF`
376
+ - Text secondary: `#B5B2C2`
377
+ - Text tertiary: `#7A7689`
378
+ - Primary CTA (Play): `#FFFFFF` fill / `#0A0A14` label
379
+ - Glass secondary: `rgba(255,255,255,0.14)`
380
+ - Feather yellow: `#FACC15`
381
+ - Feather orange: `#F97316`
382
+ - Feather pink: `#EC4899`
383
+ - Feather purple: `#8B5CF6`
384
+ - Feather blue: `#2563EB`
385
+ - Feather gradient: `linear-gradient(90deg,#FACC15,#F97316,#EC4899,#8B5CF6,#2563EB)`
386
+ - Live / sports red: `#E5142B`
387
+
388
+ ### Example Component Prompts
389
+ - "Build the Peacock hero billboard in SwiftUI: full-bleed key art occupying 50% of screen height, bottom scrim `linear-gradient(180deg, .clear 38%, rgba(10,10,20,0.7) 70%, #0A0A14 100%)`. Centered stack: eyebrow 'NEW ORIGINAL SERIES' in Poppins 11pt w700 uppercase tracking 1.4pt color `#FACC15`; title in Poppins 28pt w800 `#FFFFFF` (or a logo image lockup); meta row Poppins 13pt w400 `#B5B2C2` dot-separated; button pair — white 'Play' (fill `#FFFFFF`, label `#0A0A14`, 6pt radius, ▶ glyph) + glass '+ My Stuff' (`rgba(255,255,255,0.14)` blurred)."
390
+
391
+ - "Create the Peacock Channels rail: horizontal scroller, 18pt leading inset, 10pt gaps, bleeds off trailing edge. Each tile 60×60pt, 14pt corner radius, filled with the network brand gradient (NBC `#1E3A8A→#0F1E4D`, Bravo `#6D28D9→#3B1576`, USA `#0E7490→#073B47`), centered white wordmark Poppins 11pt w800. Live tiles get a `#E5142B` 'LIVE' pill top-right with a pulsing 7pt white dot."
392
+
393
+ - "Render a Peacock Top-10 poster row: 2:3 cards ~112pt wide, 8pt radius, full-bleed art. Bottom-left rank numeral in a 45%-black pill, Poppins 13pt w800 white. Top-left 'TOP 10' badge with `linear-gradient(90deg,#F97316,#EC4899)`, Poppins 10pt w800 uppercase. Caption below: Poppins 11pt w500 `#B5B2C2`. Press: scale 0.97 over 120ms."
394
+
395
+ - "Build the Peacock bottom tab bar: 64pt + safe area, background `rgba(10,10,20,0.96)` blur 18px, 0.5pt top border `#2C2545`. Four tabs Home / Channels / Search / My Stuff, 22pt icons. Active = white filled glyph, inactive = `#7A7689` stroked glyph, no tint pill. Labels Poppins 12pt w600 always shown."
396
+
397
+ - "Create the Peacock Continue Watching progress bar: 4pt track height, 2pt radius, track `#241C3D`, fill `linear-gradient(90deg,#F97316,#EC4899)` at the watched fraction. Label below in Poppins 11pt w500 `#B5B2C2` like 'S2 E6 · 24 min left'. Animate fill 0 → value over 400ms ease-out on appear."
398
+
399
+ - "Render the Peacock premium upsell button: feather gradient fill `linear-gradient(90deg,#F97316,#EC4899)` (or full 5-stop on large CTAs), label 'Get Premium' Poppins 14pt w700 `#FFFFFF`, 6pt corner radius, 12pt/22pt padding. This is the only place the gradient is used as a button fill."
400
+
401
+ ### Iteration Guide
402
+ 1. Canvas is indigo-black `#0A0A14`, warming to violet `#140E26` under hero art — NEVER pure black, NEVER a light mode
403
+ 2. "Play" is solid white `#FFFFFF` with `#0A0A14` label — never brand-tinted; it is the single hero action
404
+ 3. The feather gradient (yellow→orange→pink→purple→blue) is identity/upsell/selection only — never behind text, never over art
405
+ 4. Live & sports use NBC red `#E5142B` + a pulsing dot — the only saturated non-feather color
406
+ 5. Home opens on a full-bleed billboard hero (centered logo lockup for Originals) over the warm canvas
407
+ 6. The Channels rail of network-brand tiles sits high on Home — Peacock is live-TV + on-demand
408
+ 7. Content rows are tight free-scroll poster strips that bleed off the trailing edge; no snap, no borders
409
+ 8. Typography is loud Poppins (Peacock Sans) — hero/header 700-800, eyebrows 11pt uppercase tracked
410
+ 9. Chrome is greyscale (white / `#B5B2C2` / `#7A7689`) so full-color art is the loudest thing on screen
411
+ 10. Motion is cinematic and quiet — 120-400ms ease-out; live dot pulses on a 1.2s loop