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,415 @@
1
+ # Design System Inspiration of Tinder (iOS)
2
+
3
+ ## 1. Visual Theme & Atmosphere
4
+
5
+ Tinder's iOS app is built around a single, unforgettable gesture: the swipe. Every primary screen is really just a stage for the swipeable card — a 3:4 portrait photo that takes up roughly 80% of the viewport, adorned with a name, age, and a trio of subtle overlays, floating on a clean canvas. The visual language is pure gravity: the card is the object, the five action buttons below it are the verbs, and everything else is chrome that steps aside. This is the rare app where the UI doesn't frame the content — the content *is* the UI, and every design decision is in service of the swipe feeling fast, tactile, and slightly dangerous.
6
+
7
+ The accent is a horizontal gradient from Tinder Pink (`#FD267A`) to Tinder Orange (`#FF6036`) — the exact gradient of the famous flame logo. This gradient shows up exactly three places: on the "Match" screen (the entire background goes gradient when two users match), on the primary "subscribe" CTA for Tinder Gold/Platinum, and in micro-moments like the flame icon in the tab bar and the heart stamp overlay on a right-swipe. Beyond the gradient, the app is ruthlessly disciplined: Pink (`#FD267A`) alone marks the "Like" action, Blue (`#5D8DF1`) marks "Super Like", Purple (`#A952FF`) marks "Boost", Gold (`#FFBD3B`) marks "Rewind", and Green marks new-match glow states. These five colors are the verbs, and the app never uses them decoratively. The canvas itself is stark white (`#FFFFFF`) in light mode, `#121212` in dark — letting the photos do all the work.
8
+
9
+ Typography is Tinder Sans (proprietary, 2021) — a humanist sans with slightly condensed proportions, optimized for readability at card-overlay sizes. Before 2021, Tinder used Proxima Nova, and many legacy surfaces still reflect that family's geometry. The hierarchy on the swipe card itself is intentionally minimal: the person's name is 28pt weight 700 in white, with a comma and a lighter 24pt weight 400 age right after ("Jamie, 27"). Below that, a single line of metadata (location, distance, occupation) at 14pt weight 400 with 70% white opacity. The "It's a Match!" screen uses an entirely different type register — 48pt script-feeling display text that feels celebratory, because the whole point of the app is getting here.
10
+
11
+ **Key Characteristics:**
12
+ - Swipe cards — 3:4 profile photos full-bleed, name + age overlaid bottom-left, info "ⓘ" button bottom-right
13
+ - Pink-to-orange brand gradient (`#FD267A → #FF6036`) for Match screens and premium upsells
14
+ - Stamp overlays during swipe: "LIKE" (green rotated), "NOPE" (red rotated), "SUPER LIKE" (blue rotated)
15
+ - Five action buttons below the card: Rewind (gold) | Nope (red X) | Super Like (blue star) | Like (green heart) | Boost (purple lightning)
16
+ - Tinder Sans font (2021+), Proxima Nova legacy fallback
17
+ - Circular action buttons with colored SF Symbols — the only place color appears in chrome
18
+ - Match screen: full pink→orange gradient, "It's a Match!" in script display type, both profiles side-by-side
19
+ - Chat bubbles: white sender / pink gradient receiver (matched user) — the visual "this is your match" continues
20
+ - Tab bar: Flame (swipe) | Star (top picks) | Chat bubble | Profile — icons only, no labels, spartan
21
+ - Haptics on swipe threshold, match reveal, and super-like — the gesture *feels* like a slot machine
22
+
23
+ ## 2. Color Palette & Roles
24
+
25
+ ### Primary (Brand Gradient)
26
+ - **Tinder Pink** (`#FD267A`): Primary brand anchor, Like heart button, gradient start.
27
+ - **Tinder Orange** (`#FF6036`): Gradient terminus, flame logo secondary.
28
+ - **Brand Gradient**: horizontal linear `#FD267A → #FF6036` — used on Match screen, premium CTAs, and the flame logo itself.
29
+
30
+ ### Action Colors (The 5 Verbs)
31
+ - **Like Pink** (`#FD267A`): Right-swipe action, heart button, "LIKE" stamp green? — NO, stamp is green for Like; the button glyph is pink.
32
+ - **Like Stamp Green** (`#00D68F`): The rotated "LIKE" stamp overlay on right-swipe; echoes "yes" / "match" semantics.
33
+ - **Nope Red** (`#FF4458`): X button background, "NOPE" stamp overlay, swipe-left haptic.
34
+ - **Super Like Blue** (`#5D8DF1`): Star button, "SUPER LIKE" stamp, swipe-up action, premium badge.
35
+ - **Boost Purple** (`#A952FF`): Lightning button (promote profile for 30 min), premium feature highlight.
36
+ - **Rewind Gold** (`#FFBD3B`): Clockwise-arrow button (undo last swipe), flame-gold moments.
37
+
38
+ ### Canvas & Text (Light Mode)
39
+ - **Canvas White** (`#FFFFFF`): Primary background.
40
+ - **Surface Muted** (`#F5F5F5`): Card backgrounds in profile view, chat background.
41
+ - **Surface Tint** (`#FAFAFA`): Sectional fills, table row background.
42
+ - **Divider** (`#E5E5E5`): Hairline dividers.
43
+ - **Text Primary** (`#424242`): Primary body text (note: Tinder uses a softer dark gray, not pure black).
44
+ - **Text Secondary** (`#737373`): Metadata, timestamps, helper text.
45
+ - **Text Tertiary** (`#9E9E9E`): Disabled state, placeholder.
46
+
47
+ ### Dark Mode
48
+ - **Dark Canvas** (`#121212`): Primary dark canvas.
49
+ - **Dark Surface 1** (`#1D1D1D`): Card background on dark.
50
+ - **Dark Surface 2** (`#2A2A2A`): Elevated surfaces on dark.
51
+ - **Dark Divider** (`#3A3A3A`).
52
+ - **Dark Text Primary** (`#FFFFFF`).
53
+ - **Dark Text Secondary** (`#B8B8B8`).
54
+
55
+ ### Semantic
56
+ - **Match Glow Green** (`#00D68F`): "New Match!" glow animation, unread-match badge dot.
57
+ - **Alert Red** (`#FF4458`): Error, form validation, destructive.
58
+ - **Online Dot Green** (`#00D68F`): "Recently active" dot in chat list.
59
+ - **Verified Blue** (`#29B0FF`): Blue-check verified profile badge.
60
+
61
+ ### Profile Card Overlay
62
+ - **Card Gradient Bottom** (`rgba(0,0,0,0.0) → rgba(0,0,0,0.7)`): Vertical gradient at bottom ~30% of card to ensure name/age/meta readability over any photo.
63
+
64
+ ## 3. Typography Rules
65
+
66
+ ### Font Family
67
+ - **Primary (2021+)**: `Tinder Sans` (proprietary, humanist sans) — used across profile cards, CTAs, body, UI
68
+ - **Legacy (pre-2021)**: `Proxima Nova` (many older surfaces still reflect it)
69
+ - **Match Screen Display**: `Tinder Sans Display` weight 800 italic, used only for "It's a Match!" and hero moments
70
+ - **Fallback Stack**: `-apple-system, BlinkMacSystemFont, 'SF Pro Display', 'Proxima Nova', Helvetica, Arial, sans-serif`
71
+ - **CJK / Non-Latin**: Noto Sans family fallback
72
+
73
+ ### Hierarchy
74
+
75
+ | Role | Font | Size | Weight | Line Height | Letter Spacing | Notes |
76
+ |------|------|------|--------|-------------|----------------|-------|
77
+ | Match Hero | Tinder Sans Display | 48pt | 800 italic | 1.1 | -0.5pt | "It's a Match!" on match screen |
78
+ | Screen Title | Tinder Sans | 28pt | 700 | 1.2 | -0.3pt | "Matches", "Messages" hero |
79
+ | Profile Name (Card) | Tinder Sans | 28pt | 700 | 1.15 | -0.3pt | Name on swipe card |
80
+ | Profile Age (inline) | Tinder Sans | 24pt | 400 | 1.15 | 0pt | Age follows name after comma |
81
+ | Section Header | Tinder Sans | 20pt | 700 | 1.2 | -0.2pt | "About me", "Photos" |
82
+ | Button (Primary) | Tinder Sans | 16pt | 700 | 1.0 | 0.2pt | "Get Tinder Gold", "Send Message" |
83
+ | Button (Secondary) | Tinder Sans | 15pt | 500 | 1.0 | 0pt | Text links, outline buttons |
84
+ | Body | Tinder Sans | 15pt | 400 | 1.45 | 0pt | Bio, "About me" paragraph |
85
+ | Card Meta | Tinder Sans | 14pt | 400 | 1.3 | 0pt | "2 miles away · Software Engineer" |
86
+ | Chat Message | Tinder Sans | 15pt | 400 | 1.35 | 0pt | Bubble text |
87
+ | Chat Timestamp | Tinder Sans | 11pt | 400 | 1.2 | 0pt | Below bubble, gray |
88
+ | Stamp (LIKE/NOPE) | Tinder Sans | 36pt | 800 italic | 1.0 | 2pt | Rotated swipe stamp overlay |
89
+ | Tab Label (none) | — | — | — | — | — | Tab bar is icon-only, no labels |
90
+ | Input Placeholder | Tinder Sans | 16pt | 400 | 1.0 | 0pt | Search input, message input |
91
+ | Notification | Tinder Sans | 13pt | 500 | 1.3 | 0pt | Toast, snackbar messages |
92
+
93
+ ### Principles
94
+ - **Two type moments**: Small UI is in Tinder Sans; the match screen breaks the rules with italic display type
95
+ - **Weights concentrated at 400 / 500 / 700 / 800-italic**: 800 italic exclusively for the match screen
96
+ - **Name/age formula**: "Jamie, 27" — name at 28pt w700, comma, age at 24pt w400, no other ornamentation
97
+ - **Tight tracking on titles**: -0.3pt on 20pt+
98
+ - **Stamp type is rotated 15°**: The "LIKE" / "NOPE" / "SUPER LIKE" swipe stamps sit at a slight rotation
99
+ - **No italics in body**: Italic is reserved for the match-hero moment
100
+
101
+ ## 4. Component Stylings
102
+
103
+ ### Buttons
104
+
105
+ **Five Action Buttons (Below Swipe Card)**
106
+ - All are circular, ranging from 48pt (outer: Rewind, Boost) to 64pt (outer: Nope, Like) to 40pt (center: Super Like)
107
+ - Stacked horizontally: `[Rewind 48pt] [Nope 64pt] [Super Like 40pt] [Like 64pt] [Boost 48pt]`
108
+ - Wait — standard Tinder arrangement: `[Rewind 48] [Nope 56] [Super Like 40] [Like 56] [Boost 48]`
109
+ - Background: `#FFFFFF` with 2pt colored stroke ring matching action
110
+ - Shadow: `rgba(0,0,0,0.1) 0 2px 8px`
111
+ - Glyph: 24pt colored SF Symbol centered
112
+ - Rewind: `arrow.counterclockwise` in `#FFBD3B` gold
113
+ - Nope: `xmark` in `#FF4458` red
114
+ - Super Like: `star.fill` in `#5D8DF1` blue
115
+ - Like: `heart.fill` in `#00D68F` green
116
+ - Boost: `bolt.fill` in `#A952FF` purple
117
+ - Pressed: scale 0.92 spring + medium haptic, glyph fills the ring entirely for a brief 150ms
118
+
119
+ **Primary Pill CTA ("Get Tinder Gold", "Send Like")**
120
+ - Background: pink→orange brand gradient `#FD267A → #FF6036`
121
+ - Text: `#FFFFFF`, Tinder Sans 16pt w700 with 0.2pt tracking
122
+ - Padding: 14pt vertical, 32pt horizontal
123
+ - Corner radius: 32pt (full pill)
124
+ - Height: 52pt
125
+ - Pressed: scale 0.97 + gradient darkens 10%, medium haptic
126
+ - Shadow: `rgba(253,38,122,0.3) 0 4px 16px`
127
+
128
+ **Secondary Outline Button**
129
+ - Background: transparent
130
+ - Border: 1.5pt `#424242` (light mode) / `#FFFFFF` (dark mode)
131
+ - Text: `#424242` / `#FFFFFF`, Tinder Sans 15pt w500
132
+ - Height: 44pt, corner radius 22pt (pill)
133
+ - Pressed: border color darkens + light haptic
134
+
135
+ **Icon Button (Chat Header)**
136
+ - Size: 44pt
137
+ - Icon: 22pt, `#737373` default / `#FD267A` on interaction
138
+ - Background: transparent
139
+ - Used for: back chevron, profile, menu
140
+
141
+ ### Cards & Containers
142
+
143
+ **Swipe Card**
144
+ - Width: full screen minus 16pt margins
145
+ - Aspect: 3:4 (e.g., 358×478pt on iPhone 15)
146
+ - Corner radius: 16pt
147
+ - Shadow: `rgba(0,0,0,0.15) 0 4px 16px`
148
+ - Content: full-bleed photo
149
+ - Photo pagination: tap left/right edge to go prev/next photo; thin `#FFFFFF` dashes at top of card count photos, with a subtle white-filled active segment
150
+ - Bottom gradient: `rgba(0,0,0,0.0) → rgba(0,0,0,0.7)` over bottom 30% for text legibility
151
+ - Name + age row: name 28pt w700 white + ", age 24pt w400 white" (inline)
152
+ - Verified badge: 18pt blue `checkmark.seal.fill` next to name if verified
153
+ - Meta row: "2 miles away · Software Engineer" in Tinder Sans 14pt w400 `rgba(255,255,255,0.9)`
154
+ - Info button (ⓘ): bottom-right corner, 32pt white circle with `info` glyph in `#424242`
155
+
156
+ **Profile Card (Expanded Detail)**
157
+ - Appears when user taps ⓘ or scrolls up on a card
158
+ - Full-screen sheet with same photo carousel at top
159
+ - Below: bio text, prompts (e.g., "My ideal Saturday: 🌅"), Instagram/Spotify sections
160
+ - Corner radius: 24pt on the sheet
161
+ - Close button: top-right, 32pt white circle with `xmark` glyph
162
+
163
+ **Match Screen**
164
+ - Full-screen takeover with pink→orange gradient background `#FD267A → #FF6036`
165
+ - Top: "It's a Match!" in Tinder Sans Display 48pt w800 italic white
166
+ - Subtitle: "You and [Name] liked each other" in Tinder Sans 16pt w400 white 80%
167
+ - Two circular profile photos (120pt each) side-by-side, with 20pt gap
168
+ - CTA row below: "Send Message" pill (white bg, gradient text) | "Keep Playing" outline (white border, white text)
169
+ - Celebratory confetti-like particle animation on entry (300ms)
170
+ - Success haptic + optional sound
171
+
172
+ **Chat Bubble**
173
+ - Incoming (from matched user): background pink→orange gradient (or solid `#FD267A`), text white, 20pt radius (more bubbly on sender-side corner)
174
+ - Outgoing (yours): background `#F5F5F5`, text `#424242`, 20pt radius with squared corner bottom-right
175
+ - Max width: 75% of screen
176
+ - Padding: 10pt vertical, 14pt horizontal
177
+ - Timestamp below: 11pt w400 `#9E9E9E`
178
+ - GIF / Sticker messages: no bubble, just the media with rounded corners
179
+ - Long-press: shows reactions (6 emoji row)
180
+
181
+ **Conversation List Row**
182
+ - Height: 72pt
183
+ - Leading: 56pt circular profile photo with optional `#00D68F` online-dot overlay (12pt circle, 2pt white ring)
184
+ - Title: Tinder Sans 16pt w700 `#424242` (name)
185
+ - Snippet: Tinder Sans 14pt w400 `#737373`, 1-line clamp
186
+ - Trailing: timestamp Tinder Sans 12pt w400 `#9E9E9E` + optional unread dot (10pt pink circle)
187
+ - Pressed: `#FAFAFA`
188
+
189
+ ### Navigation
190
+
191
+ **Top Nav (Swipe Screen)**
192
+ - Height: 56pt + safe area
193
+ - Background: `#FFFFFF` (light) / `#121212` (dark), transparent when swipe card is scrolled
194
+ - Leading: 32pt flame logo (pink→orange gradient filled)
195
+ - Trailing: 32pt settings gear `#424242`, then 32pt boost lightning `#A952FF` (premium chip)
196
+ - No title text — logo is the anchor
197
+
198
+ **Bottom Tab Bar**
199
+ - Height: 64pt + safe area (taller than typical because icons are larger)
200
+ - Background: `#FFFFFF` with 0.5pt top border `#E5E5E5`
201
+ - Tabs: Flame (swipe) | Star (Top Picks / Likes You) | Chat bubble | Profile
202
+ - Icons: 28pt (bigger than typical, no labels)
203
+ - Active: pink→orange gradient filled icon
204
+ - Inactive: `#9E9E9E` outline icon
205
+ - No labels — icon-only tab bar
206
+
207
+ ### Input Fields
208
+
209
+ **Search Input (Conversations)**
210
+ - Background: `#F5F5F5`
211
+ - Height: 40pt
212
+ - Leading: 16pt `magnifyingglass` `#737373`
213
+ - Placeholder: "Search matches", Tinder Sans 16pt w400 `#9E9E9E`
214
+ - Corner radius: 20pt (pill)
215
+ - Focus: no border change
216
+
217
+ **Message Input (Chat)**
218
+ - Height: 44pt
219
+ - Background: `#F5F5F5`, corner radius 22pt (pill)
220
+ - Leading: GIF picker icon 22pt
221
+ - Placeholder: "Say something...", Tinder Sans 15pt w400 `#9E9E9E`
222
+ - Trailing: when text entered, send button appears as 36pt pink→orange gradient circle with `arrow.up` white inside
223
+
224
+ ### Distinctive Components
225
+
226
+ **Swipe Stamps**
227
+ - During a swipe gesture, an overlay "stamp" appears at the top of the card, rotated 15°, with opacity tied to swipe progress
228
+ - **LIKE**: green `#00D68F`, Tinder Sans 36pt w800 italic, 4pt border, rotated -15° (right side of card)
229
+ - **NOPE**: red `#FF4458`, Tinder Sans 36pt w800 italic, 4pt border, rotated 15° (left side of card)
230
+ - **SUPER LIKE**: blue `#5D8DF1`, Tinder Sans 32pt w800 italic, 4pt border, centered top, paired with a blue star burst animation
231
+ - Opacity: 0 → 1 as swipe distance reaches 40% of threshold; snaps to full opacity past 60%
232
+
233
+ **Photo Paginator (Top of Card)**
234
+ - Thin `#FFFFFF` line at top of card, divided into N equal segments (one per photo)
235
+ - Inactive segment: `rgba(255,255,255,0.4)` filled
236
+ - Active segment: `rgba(255,255,255,1.0)` filled
237
+ - Segment height: 3pt; gap between: 3pt
238
+ - Padding: 8pt from top, 16pt left/right
239
+
240
+ **New Match Glow**
241
+ - On the conversation list, an unread new match gets a pulsing `#00D68F` green ring around the avatar
242
+ - Ring: 2pt stroke expanding 1.0 → 1.2 scale over 1.5s, opacity 1.0 → 0.0, infinite loop
243
+
244
+ **Boost Activated Chip**
245
+ - Top-right corner pill when Boost is active
246
+ - Background: purple→pink gradient `#A952FF → #FD267A`
247
+ - Text: white, Tinder Sans 12pt w700 "⚡ Boost Active · 25m"
248
+ - Corner radius: 16pt
249
+ - Countdown updates live
250
+
251
+ **Tinder Gold / Platinum Hero**
252
+ - Full-screen modal with gold gradient background `#FFBD3B → #FF6036`
253
+ - Hero flame logo (oversized, 120pt) centered
254
+ - Feature list with checkmarks in gold
255
+ - Sticky CTA at bottom: "Continue" pill with brand gradient
256
+
257
+ **Top Picks Card (Curated Daily)**
258
+ - Same 3:4 card but with gold glow around the border
259
+ - "Top Pick" badge top-left corner: gold `#FFBD3B` pill with black text
260
+ - Limited to premium users
261
+
262
+ ## 5. Layout Principles
263
+
264
+ ### Spacing System
265
+ - Base unit: 4pt
266
+ - Scale: 4, 8, 12, 16, 20, 24, 32, 40, 48
267
+ - Standard margin: 16pt horizontal
268
+ - Card stack: centered in viewport, 16pt margins from edges, 24pt above action buttons
269
+ - Action buttons: centered row, 12pt gap between, 32pt below card
270
+
271
+ ### Grid & Container
272
+ - Swipe stage: single card centered, subsequent cards peek behind (slight scale offset, 0.95)
273
+ - Profile detail sheet: single column, 16pt horizontal padding, sections with 24pt gaps
274
+ - Chat: full-width messages, 16pt horizontal padding, bubbles max 75%
275
+
276
+ ### Whitespace Philosophy
277
+ - **The card breathes**: 16pt margins on sides, 20pt above (below nav), 32pt below (above action buttons)
278
+ - **Action buttons have room**: 32pt of canvas around them — they're meant to look iconic, like a remote control
279
+ - **Match screen is all space**: gradient fills everything, photos and text centered with generous negative space
280
+ - **Chat is dense but cozy**: bubbles pack tight but have 12pt gaps between messages
281
+
282
+ ### Border Radius Scale
283
+ - Square (0pt): Rare, only for sharp pattern tiles
284
+ - Subtle (4pt): Photo pagination segments
285
+ - Standard (12pt): Inner cards, small buttons
286
+ - Card (16pt): Swipe card, bottom sheet
287
+ - Comfortable (20pt): Chat bubbles, modal sheets
288
+ - Pill (22-32pt): Secondary buttons, search inputs
289
+ - Full Pill (500pt): Primary CTAs, message input
290
+ - Circle (50%): Action buttons, profile photos, tab icons, send button
291
+
292
+ ## 6. Depth & Elevation
293
+
294
+ | Level | Treatment | Use |
295
+ |-------|-----------|-----|
296
+ | Flat (Level 0) | No shadow | List rows, chat backgrounds |
297
+ | Hairline (Level 1) | 1pt `#E5E5E5` border | Outline buttons, input borders (rare) |
298
+ | Card (Level 2) | `rgba(0,0,0,0.15) 0 4px 16px` | The swipe card — the primary elevated object |
299
+ | Action Button (Level 3) | `rgba(0,0,0,0.1) 0 2px 8px` | Five circular action buttons below the card |
300
+ | Primary CTA Glow (Level 4) | `rgba(253,38,122,0.3) 0 4px 16px` | Pink→orange gradient buttons (branded shadow) |
301
+ | Match Screen (Level 5) | Full-screen gradient | Match takeover — no shadows, just saturated color |
302
+ | Sheet (Level 6) | `rgba(0,0,0,0.2) 0 -4px 20px` | Profile detail sheet rising from bottom |
303
+ | Dim Overlay | `rgba(0,0,0,0.6)` | Behind modal sheets and match screen entry |
304
+
305
+ **Shadow Philosophy**: The swipe card floats — it's the object of desire, and the 15% black shadow at 16pt blur is what sells the "you can pick it up" feeling. Action buttons get a lighter 10% shadow to sit as a second layer below the card. Primary CTAs get a *colored* shadow (pink glow) instead of a black shadow, because the gradient is the identity and a black shadow would dull it. The match screen abandons shadows entirely — the gradient is the whole event.
306
+
307
+ ### Motion
308
+ - **Swipe drag**: card follows finger 1:1 with slight rotation based on horizontal velocity (-15° to 15°)
309
+ - **Swipe threshold**: at 40% horizontal displacement, stamp overlay fades in; at 100% it locks and the card animates off-screen at 600pt/s
310
+ - **Swipe snap-back**: if threshold not reached, spring back with damping 0.7 over 400ms, light haptic
311
+ - **Like / Nope commit**: card flies off-screen 400ms ease-out, next card scales from 0.95 to 1.0 over 250ms, medium haptic at commit
312
+ - **Super Like swipe up**: blue star burst particle animation (300ms), success haptic, card flies up off-screen
313
+ - **Match reveal**: full-screen gradient fade-in 300ms, confetti particle animation over 800ms, success + medium haptic combo
314
+ - **Action button press**: scale 0.92 spring damping 0.5, glyph fills the ring briefly (150ms), medium haptic
315
+ - **Photo paginator tap**: 120ms cross-fade between photos, no haptic (lightweight)
316
+ - **New match glow**: infinite 1.5s ease-in-out green ring pulse on avatar
317
+ - **Boost activation**: purple→pink gradient sweep across the card stack (500ms), strong haptic
318
+
319
+ ## 7. Do's and Don'ts
320
+
321
+ ### Do
322
+ - Center the swipe card in the viewport with 16pt margins and 32pt of breathing room below it
323
+ - Use the brand gradient `#FD267A → #FF6036` on Match screens and premium CTAs — never elsewhere
324
+ - Assign one color per action: Gold (Rewind), Red (Nope), Blue (Super Like), Green (Like), Purple (Boost)
325
+ - Render LIKE / NOPE / SUPER LIKE stamps rotated 15° with 4pt colored borders in italic display type
326
+ - Show the photo paginator at the top of the card as thin white segments
327
+ - Use "Name, age" formula (28pt w700 + 24pt w400 after comma)
328
+ - Trigger medium haptic on swipe commit and action button tap; success haptic on match
329
+ - Keep the tab bar icon-only (Flame / Star / Chat / Profile) — no labels
330
+ - Use the softer `#424242` for body text in light mode (not pure black)
331
+ - On match, let the entire screen go pink→orange gradient — it should feel like a celebration
332
+
333
+ ### Don't
334
+ - Don't change the swipe card aspect ratio — 3:4 portrait is load-bearing to the gesture
335
+ - Don't add text labels to the tab bar — icons only
336
+ - Don't use the brand gradient on every button — reserved for Match screens and premium
337
+ - Don't swap the action button colors — the 5-verb color system is the UI language
338
+ - Don't use pure black (`#000000`) for body text — `#424242` is softer and on-brand
339
+ - Don't straighten the LIKE / NOPE stamps — they must be rotated
340
+ - Don't add decorative colors to chat bubbles beyond sender/receiver — the gradient is the sender identity
341
+ - Don't hide the flame logo in the top-left of the swipe screen — it's the visual anchor
342
+ - Don't animate swipe commits too slow — it must feel snappy (400ms max off-screen)
343
+ - Don't use underlines on links — color + weight signal interactivity
344
+
345
+ ## 8. Responsive Behavior
346
+
347
+ ### Device Sizes
348
+ | Device | Width | Key Changes |
349
+ |--------|-------|-------------|
350
+ | iPhone SE (3rd gen) | 375pt | Card height reduces by 60pt, action buttons shrink proportionally |
351
+ | iPhone 13/14/15 | 390pt | Standard 358×478pt card |
352
+ | iPhone 15/16 Pro | 393pt | Dynamic Island pushes nav 8pt lower, card unchanged |
353
+ | iPhone 15/16 Pro Max | 430pt | Card scales to 398×530pt, profile detail gets more breathing room |
354
+ | iPad | 768pt+ | Card caps at 420pt wide, centered with generous whitespace around |
355
+
356
+ ### Dynamic Type
357
+ - Profile name/age, body, meta: full scale
358
+ - Match hero "It's a Match!": scales to 56pt max then truncates
359
+ - Stamp type (LIKE/NOPE): fixed 36pt (layout-sensitive rotation)
360
+ - Tab icons: fixed 28pt (visual consistency)
361
+ - Chat messages: full scale with max multiplier 1.4
362
+
363
+ ### Orientation
364
+ - Swipe / Chat / Profile: **portrait-locked** (the card gesture is designed for portrait)
365
+ - Match screen: **portrait-locked**
366
+ - No landscape support — the card is the product
367
+
368
+ ### Touch Targets
369
+ - Action buttons: 48-64pt (larger than typical because they're mission-critical)
370
+ - Swipe card: full-card drag area (300pt+ diagonal)
371
+ - Photo paginator tap zones: 50% of card width (left half = previous photo, right half = next)
372
+ - Chat send button: 36pt circle with 44pt effective hit
373
+ - Tab icons: 28pt icon inside 44pt hit
374
+
375
+ ### Safe Area Handling
376
+ - Top: safe area honored on nav (except swipe screen extends under with transparent nav)
377
+ - Bottom: action buttons respect home indicator with 24pt padding above
378
+ - Sides: 16pt content insets everywhere
379
+
380
+ ## 9. Agent Prompt Guide
381
+
382
+ ### Quick Color Reference
383
+ - Canvas (light): `#FFFFFF`
384
+ - Canvas (dark): `#121212`
385
+ - Surface muted: `#F5F5F5`
386
+ - Text primary: `#424242`
387
+ - Text secondary: `#737373`
388
+ - Tinder Pink (Like): `#FD267A`
389
+ - Tinder Orange: `#FF6036`
390
+ - Nope Red: `#FF4458`
391
+ - Super Like Blue: `#5D8DF1`
392
+ - Boost Purple: `#A952FF`
393
+ - Rewind Gold: `#FFBD3B`
394
+ - Like Stamp Green: `#00D68F`
395
+ - Verified Blue: `#29B0FF`
396
+ - Brand Gradient: `linear-gradient(90deg, #FD267A 0%, #FF6036 100%)`
397
+
398
+ ### Example Component Prompts
399
+ - "Create a SwiftUI Tinder swipe card: 3:4 aspect ratio, full-bleed photo, 16pt corner radius, shadow `rgba(0,0,0,0.15) 0 4px 16px`. Bottom 30% vertical gradient `rgba(0,0,0,0.0) → rgba(0,0,0,0.7)` for legibility. Name 'Jamie' in Tinder Sans 28pt w700 white + comma + age '27' in Tinder Sans 24pt w400 white. Meta row '2 miles away · Software Engineer' in Tinder Sans 14pt w400 `rgba(255,255,255,0.9)`. Photo paginator at top: thin 3pt white segments with 3pt gaps. Bottom-right ⓘ info button (32pt white circle with info glyph in `#424242`). Drag gesture with -15° to 15° rotation based on horizontal velocity."
400
+ - "Build the 5 action buttons row below the swipe card: centered horizontal row with 12pt gaps, 32pt below the card. `[Rewind 48pt gold arrow.counterclockwise] [Nope 56pt red xmark] [Super Like 40pt blue star.fill] [Like 56pt green heart.fill] [Boost 48pt purple bolt.fill]`. Each button: white background, 2pt colored stroke ring, 24pt colored SF Symbol centered, shadow `rgba(0,0,0,0.1) 0 2px 8px`. Pressed: scale 0.92 spring with medium haptic, glyph fills the ring briefly."
401
+ - "Design the LIKE swipe stamp: green `#00D68F` Tinder Sans 36pt w800 italic, 4pt border in the same green, rotated -15°. Appears top-right of the card as the user drags right, opacity 0 → 1 tied to swipe distance (40% → 100% of threshold). Paired with a medium haptic at commit."
402
+ - "Create the Match screen: full-screen linear gradient `#FD267A → #FF6036` horizontal. Top: 'It's a Match!' in Tinder Sans Display 48pt w800 italic white. Subtitle 'You and Sarah liked each other' in Tinder Sans 16pt w400 white 80%. Two 120pt circular profile photos side-by-side with 20pt gap. Bottom: 'Send Message' pill button (white background with gradient text) and 'Keep Playing' outline pill button (2pt white border, white text). Confetti particle burst on entry."
403
+ - "Build the primary brand CTA: 52pt tall pill button with horizontal linear gradient background `#FD267A → #FF6036`. Text 'Get Tinder Gold' in Tinder Sans 16pt w700 white with 0.2pt tracking, 14pt vertical / 32pt horizontal padding. Full-pill 32pt corner radius. Shadow `rgba(253,38,122,0.3) 0 4px 16px` (branded pink glow, not black). Pressed: scale 0.97, gradient darkens 10%, medium haptic."
404
+ - "Design the bottom tab bar: 64pt + safe area, `#FFFFFF` background with 0.5pt top border `#E5E5E5`. 4 icon-only tabs (no labels): Flame (swipe), Star (Top Picks), Chat bubble, Profile. Icons 28pt. Active icon filled with horizontal pink→orange gradient `#FD267A → #FF6036`; inactive icon outline in `#9E9E9E`."
405
+
406
+ ### Iteration Guide
407
+ 1. The swipe card is the product — 3:4 aspect, 16pt margins, 16pt radius, black shadow for lift
408
+ 2. Brand gradient (`#FD267A → #FF6036`) appears only on Match screens and premium CTAs — reserve it
409
+ 3. Five action buttons = five colors = five verbs: Rewind gold, Nope red, Super Like blue, Like green, Boost purple
410
+ 4. LIKE / NOPE / SUPER LIKE stamps are rotated 15° italic display type with colored borders — always
411
+ 5. "Name, 27" formula: name 28pt w700 + age 24pt w400 with a comma between
412
+ 6. Tab bar is icon-only — no labels, 28pt icons, active tint is the brand gradient
413
+ 7. Pure black is not on-brand — use `#424242` for body text in light mode
414
+ 8. Haptics are the soul of the gesture: medium on swipe commit, success on match, strong on Boost
415
+ 9. Match screen is a full-screen celebration — gradient fills everything, confetti particles burst on entry