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,452 @@
1
+ # Design System Inspiration of Facebook (iOS)
2
+
3
+ ## 1. Visual Theme & Atmosphere
4
+
5
+ Facebook's iOS app is a utility dashboard — dense, function-first, colorful, and recognizable from 25 paces by its one signature element: the Facebook Blue bar and `f` logo at the top of the screen. The canvas is a soft light gray (`#F0F2F5`) on light mode, specifically chosen so that the white post cards and stories strip float above it with just enough contrast to register as separate surfaces. Where X and Threads sit on flat, edge-to-edge black canvases, Facebook uses cards — each post, each ad, each suggested group — lives in its own white rectangle with a subtle shadow underneath. This is the most "card-based" of the social apps, and the visual rhythm is a vertical stack of discrete content units, not an unbroken river.
6
+
7
+ Color does three jobs on Facebook: Facebook Blue (`#1877F2`) is the brand — it paints the top nav bar, the "Like" thumbs-up icon when active, the primary CTA (Login, Post, Send), and any "Facebook" self-reference. The reactions system is its own palette — Love is a coral-pink heart (`#F3425F`), Haha/Wow/Sad share an amber yellow (`#F7B928`), Angry is an orange-red (`#E9710F`), Care is a warm yellow-hug (`#F7B928`). And the informational green (`#42B72A`, sometimes the "Create Post" green) tips users toward creation actions. Everything else is neutral gray — post metadata, timestamps, comment bubbles, dividers. The result is a chromatic app that uses color to signal role, not to decorate.
8
+
9
+ Facebook switched from its historical Helvetica / Klavika branding to the SF Pro platform default on iOS several years ago — the app now honors Apple's system font for all body UI. Large-format type is rare: the biggest moment is a 24-28pt post-detail title or a 32pt "f" glyph on splash. The majority of reading happens at 15pt w400 — the post body text — a size that must work for a very wide demographic. Facebook's type hierarchy is flatter and less expressive than X or Threads because the app is built for information density: a user's feed regularly contains 10+ content types (photo posts, text posts, shared links, Marketplace listings, event invites, Memory cards, Reels previews, ads) and the type system must accommodate all of them without shouting. The Reactions popover on a long-press of the Like button remains the app's most unmistakable micro-interaction: seven emoji reactions pop up in a horizontal row on a floating white pill, each scaling up with a spring as the user drags across them — the only place in the app where illustration-style icons live.
10
+
11
+ **Key Characteristics:**
12
+ - Soft-gray canvas (`#F0F2F5` light / `#18191A` dark) with white cards floating above
13
+ - Facebook Blue (`#1877F2`) on the top nav bar, `f` logo, Like icon active state, primary CTAs
14
+ - Card-based feed — every post, ad, suggestion is its own white rounded rectangle
15
+ - 5-tab bottom bar: Home, Video, Marketplace, Notifications, Menu
16
+ - Stories ring row at the top of Home — Facebook's Instagram-style stories imported
17
+ - Reactions popover on long-press — 7 emoji (Like, Love, Care, Haha, Wow, Sad, Angry) scale up in a horizontal floating pill
18
+ - Profile cover photo hero at top of profile — full-width banner with rounded avatar overlapping
19
+ - Comment threading — nested replies with a 1pt vertical rule connecting parent to children
20
+ - Reels tab in the bottom nav opens a TikTok-like fullscreen vertical video feed
21
+ - Live indicators — red `LIVE` badge on streaming content
22
+ - Memory cards — occasional full-width color cards (green, purple, blue gradient) with "On This Day" memories
23
+
24
+ ## 2. Color Palette & Roles
25
+
26
+ ### Primary
27
+ - **Facebook Blue** (`#1877F2`): The brand — top nav bar background, `f` logo, active Like thumb, primary CTAs ("Log In", "Post", "Send"), link color in post body.
28
+ - **Blue Pressed** (`#0A5FC8`): Pressed state on blue buttons.
29
+ - **Blue Light** (`#E7F3FF`): Background tint for Liked button when user has tapped it (a pale blue pill).
30
+
31
+ ### Canvas & Surfaces (Light)
32
+ - **Canvas Gray** (`#F0F2F5`): Primary light canvas — the space between cards.
33
+ - **Card White** (`#FFFFFF`): Post cards, story thumbnails, profile cover, modals.
34
+ - **Surface Tint** (`#F7F8FA`): Slightly off-white for suggested content (grouped suggestions, Marketplace hero).
35
+ - **Divider** (`#E4E6EB`): Hairlines between comments, action rows.
36
+ - **Separator Bar** (`#CED0D4`): Thicker separator between feed sections (rare).
37
+
38
+ ### Canvas & Surfaces (Dark)
39
+ - **Dark Canvas** (`#18191A`): Primary dark canvas.
40
+ - **Dark Card** (`#242526`): Post cards, modals, story thumbnails.
41
+ - **Dark Surface Tint** (`#3A3B3C`): Elevated surfaces — comment input fields, selected rows.
42
+ - **Dark Divider** (`#3E4042`): Hairlines.
43
+
44
+ ### Text
45
+ - **Text Primary Light** (`#050505`): Primary body on light mode — a near-black softer than pure `#000000`.
46
+ - **Text Primary Dark** (`#E4E6EB`): Primary body on dark mode.
47
+ - **Text Secondary Light** (`#65676B`): Timestamps, comment metadata, secondary labels on light.
48
+ - **Text Secondary Dark** (`#B0B3B8`): Timestamps on dark.
49
+ - **Text Tertiary** (`#8A8D91`): Disabled text, lowest-emphasis metadata (e.g., "Sponsored"), shared across modes.
50
+
51
+ ### Reactions Palette
52
+ Each Reaction has a distinct color. Reactions appear in the horizontal popover on long-press and as small color-dot indicators at the bottom of a post ("You, Sarah, and 23 others reacted").
53
+ - **Like Blue** (`#1877F2`): The classic Facebook Blue thumbs-up.
54
+ - **Love Pink** (`#F3425F`): Heart reaction.
55
+ - **Care Warm** (`#F7B928`): Hugging-a-heart reaction (introduced 2020).
56
+ - **Haha Yellow** (`#F7B928`): Laughing emoji reaction.
57
+ - **Wow Yellow** (`#F7B928`): Wide-mouth emoji reaction.
58
+ - **Sad Yellow** (`#F7B928`): Tear emoji reaction.
59
+ - **Angry Orange** (`#E9710F`): Red-faced anger reaction.
60
+
61
+ Note: Haha, Wow, Sad, and Care all share the same amber yellow as base color on their emoji faces. Their distinguishing feature is the emoji illustration, not the color.
62
+
63
+ ### Semantic
64
+ - **Live Red** (`#FA3E3E`): "LIVE" badge on live video and streaming indicators.
65
+ - **Error Red** (`#FA383E`): Destructive actions, post-failed banners.
66
+ - **Success Green** (`#42B72A`): "Create Post" green pill CTA, success toast, new-message indicator.
67
+ - **Info Blue** (`#1877F2`): Same as primary Blue for informational callouts.
68
+ - **Sponsored Label** (`#8A8D91`): "Sponsored" text on ads.
69
+
70
+ ### Memory / Story Ring Gradient
71
+ - **Story Ring (Gradient)**: `#C13584` → `#E1306C` → `#FD1D1D` → `#F77737` (pink → red → orange) — inherited from Instagram's story ring, used on Facebook Stories.
72
+ - **Memory Card Colors**: Blue `#1877F2`, Green `#42B72A`, Purple `#8B46C5` — used as gradient backgrounds for "On This Day" memory cards.
73
+
74
+ ## 3. Typography Rules
75
+
76
+ ### Font Family
77
+ - **Primary (current)**: `SF Pro` (Apple system font) — adopted as the platform default when Facebook moved away from custom branding for the iOS app. Uses SF Pro Text below 20pt and SF Pro Display at 20pt+ automatically.
78
+ - **Historical**: Previously `Helvetica` on iOS and `Klavika` on marketing/print. Current iOS app relies on the system font.
79
+ - **Fallback Stack**: `-apple-system, BlinkMacSystemFont, 'SF Pro Text', 'Helvetica Neue', Helvetica, Arial, sans-serif`
80
+ - **CJK / Non-Latin**: Apple's system font handles CJK, Arabic, Hebrew, etc. natively — no additional fonts needed.
81
+
82
+ ### Hierarchy
83
+
84
+ | Role | Font | Size | Weight | Line Height | Letter Spacing | Notes |
85
+ |------|------|------|--------|-------------|----------------|-------|
86
+ | "f" Logo | SF Pro Display | 22pt | 900 | 1.0 | 0pt | The Facebook `f` in the top nav — weight 900 / Heavy |
87
+ | Screen Title | SF Pro Display | 24pt | 700 | 1.15 | -0.2pt | "Home", "Marketplace", "Menu" title on respective tabs |
88
+ | Section Header | SF Pro Display | 20pt | 700 | 1.2 | -0.1pt | "Stories", "Suggested for you", "Your Memories" |
89
+ | Post Display Name | SF Pro Text | 15pt | 600 | 1.3 | 0pt | Post author's display name |
90
+ | Post Body | SF Pro Text | 15pt | 400 | 1.35 | 0pt | The main post text — primary reading size |
91
+ | Post Body (Large Text Mode) | SF Pro Text | 24pt | 600 | 1.25 | 0pt | When user posts short text only, Facebook auto-styles it at 24pt on a colored background |
92
+ | Comment Body | SF Pro Text | 14pt | 400 | 1.3 | 0pt | Comment text inside the bubble |
93
+ | Comment Name | SF Pro Text | 13pt | 600 | 1.3 | 0pt | Commenter name at top of comment bubble |
94
+ | Timestamp / Meta | SF Pro Text | 13pt | 400 | 1.3 | 0pt | "2 hrs · Public", "12 comments" — color `#65676B` |
95
+ | Reaction Count | SF Pro Text | 13pt | 400 | 1.3 | 0pt | "You, Sarah and 45 others" |
96
+ | Primary Button | SF Pro Text | 15pt | 600 | 1.0 | 0pt | "Like", "Comment", "Share" action row labels |
97
+ | CTA Button | SF Pro Text | 17pt | 600 | 1.0 | 0pt | "Post", "Send", "Log In" — the filled blue pills |
98
+ | Tab Label | SF Pro Text | 11pt | 500 | 1.0 | 0pt | Bottom tab labels (shown always) |
99
+ | Link / Mention | SF Pro Text | inherit | 400 | inherit | 0pt | `#1877F2` inline |
100
+ | Sponsored / Ad | SF Pro Text | 13pt | 400 | 1.3 | 0pt | "Sponsored" label above ad card — color `#65676B` |
101
+
102
+ ### Principles
103
+ - **System font, not custom**: Facebook uses SF Pro across iOS — no proprietary face in the current app. Respect the platform's native optical sizing.
104
+ - **Weight concentrated at 400 / 600 / 700 / 900**: Regular for body, semibold for names and buttons, bold for section headers, heavy for the `f` logo. No thin or light.
105
+ - **Dynamic Type respected broadly**: Post body, comment body, bio, message body all scale. Timestamps and tab labels cap at xLarge to preserve dense layouts.
106
+ - **Color on text is structural**: Blue for links, secondary gray for metadata, primary black on white canvas. No decorative text coloring.
107
+ - **Reactions count is plain text**: "You, Sarah, and 45 others" is rendered in standard secondary gray — the reaction emojis are the icon, not colored text.
108
+
109
+ ## 4. Component Stylings
110
+
111
+ ### Buttons
112
+
113
+ **Primary Blue CTA ("Post", "Send", "Log In")**
114
+ - Shape: Rounded rectangle, 8pt corner radius (not a pill — Facebook's buttons are blockier than X/Threads)
115
+ - Background: `#1877F2`
116
+ - Text: `#FFFFFF` SF Pro Text 17pt w600
117
+ - Padding: 12pt vertical, 24pt horizontal (full-width on login screens; inline on compose bar)
118
+ - Disabled: opacity 0.5
119
+ - Pressed: background `#0A5FC8` + scale 0.98
120
+ - Font: SF Pro Text 17pt w600
121
+
122
+ **Create Post Green Pill (Menu > "Create")**
123
+ - Shape: Pill, 500pt corner radius
124
+ - Background: `#42B72A`
125
+ - Text: `#FFFFFF` SF Pro Text 15pt w600
126
+ - Padding: 8pt vertical, 20pt horizontal
127
+ - Used sparingly — on the Menu tab for the "Create" entry and on Marketplace "List for Sale"
128
+
129
+ **Action Row Buttons (Like / Comment / Share)**
130
+ The row below every post. Three buttons evenly spaced.
131
+ - Shape: invisible button (no background by default), 40pt tall
132
+ - Text: SF Pro Text 15pt w600 `#65676B` (secondary gray)
133
+ - Icon: SF Pro glyph 20pt + 6pt gap + label
134
+ - Default Like: thumbs-up outline `hand.thumbsup` icon
135
+ - Active Like (user liked with default): thumbs-up filled in `#1877F2` + "Like" label turns `#1877F2`
136
+ - Active Reaction (user picked a non-Like reaction): shows the reaction emoji inline + label name ("Love", "Haha", etc.) in reaction color
137
+ - Long-press: opens Reactions popover (see Distinctive Components)
138
+ - Label background on active Like (rare): pill pill `#E7F3FF` light blue tint
139
+
140
+ **Follow / Add Friend Blue Pill**
141
+ - Shape: Rounded rectangle, 6pt corner radius
142
+ - Background: `#1877F2` (Add Friend) / `#E4E6EB` (Friends - neutral gray)
143
+ - Text: white for Add Friend; `#050505` for Friends
144
+ - Icon: `person.badge.plus` 16pt for Add Friend; `person.fill.checkmark` for Friends
145
+ - Padding: 8pt vertical, 16pt horizontal
146
+ - Font: SF Pro Text 15pt w600
147
+
148
+ ### Cards & Containers
149
+
150
+ **Post Card (The Feed Unit)**
151
+ The card-based feed is Facebook's signature layout. Every feed item is a white card.
152
+ - Background: `#FFFFFF` light / `#242526` dark
153
+ - Corner radius: 8pt
154
+ - Margin: 8pt horizontal from canvas edge, 8pt vertical gap between cards
155
+ - Shadow: none by default (the light-gray canvas provides the visual separation); on press, subtle highlight
156
+ - Structure (top-to-bottom):
157
+ - **Header row**: 40pt circular avatar + name/timestamp + overflow `ellipsis` — padding 12pt
158
+ - **Post body**: SF Pro Text 15pt w400, aligned full-width within card (not indented after avatar — body takes full card width with 12pt horizontal padding)
159
+ - **Media** (optional): 0pt-margin edge-to-edge inside card (card clips to rounded corners)
160
+ - **Reaction summary**: small reactions icons + "You, Sarah, and 45 others" text in 13pt `#65676B` + "12 comments · 3 shares" — 12pt padding
161
+ - **Action row**: 1pt `#E4E6EB` divider above, then 3 buttons (Like / Comment / Share) at 40pt tall evenly spaced
162
+ - **Comment preview** (optional): Top 1-2 comments shown directly below action row, each in its own rounded bubble
163
+
164
+ **Stories Row (Top of Feed)**
165
+ - Height: 200pt
166
+ - Horizontal scroll of story thumbnails
167
+ - Each thumbnail: 110pt × 200pt rounded rectangle, 12pt corner radius
168
+ - Thumbnail structure: full-bleed background image + gradient overlay + 32pt circular avatar top-left + name text bottom-left
169
+ - First card: "Create a Story" — white card with `+` glyph and user's blurred profile pic as background
170
+ - Unread story: 3pt border in Instagram gradient (`#C13584` → `#E1306C` → `#FD1D1D` → `#F77737`) around avatar
171
+ - Read story: no border, 3pt gray ring around avatar
172
+
173
+ **Comment Bubble**
174
+ - Background: `#F0F2F5` light / `#3A3B3C` dark
175
+ - Corner radius: 16pt
176
+ - Padding: 8pt vertical, 12pt horizontal
177
+ - Structure: commenter name (13pt w600) + comment body (14pt w400) stacked
178
+ - Max width: 80% of card width, aligned to leading side (after the commenter avatar)
179
+ - Avatar: 32pt circular leading
180
+ - Nested replies: indented 44pt with a 1pt vertical rule connecting parent to child
181
+
182
+ **Ad Card**
183
+ - Same structure as a post card
184
+ - "Sponsored" label above the header row in 13pt `#65676B`
185
+ - CTA button at the bottom (above the action row) — "Shop Now", "Learn More", "Sign Up" — a `#E7F3FF` blue-tinted button with `#1877F2` text
186
+
187
+ **Memory Card**
188
+ - Full-width card, 200pt tall, colored gradient background (blue, green, or purple)
189
+ - "On This Day" label top
190
+ - "1 year ago" subtitle in white 15pt w400 80% opacity
191
+ - Memory content image or post preview center
192
+ - "Share" CTA at bottom
193
+
194
+ **Profile Cover Hero**
195
+ - Height: 200pt
196
+ - Full-width banner image (edge-to-edge, no margin)
197
+ - 168pt circular avatar overlapping the bottom of the cover, centered horizontally, with a 4pt white border
198
+ - Below: display name in 24pt w700, secondary line "Lives in …" in 15pt w400 `#65676B`
199
+
200
+ ### Navigation
201
+
202
+ **Top Nav Bar (Home tab)**
203
+ - Height: 56pt + safe area (taller than iOS default due to the Facebook branding)
204
+ - Background: `#FFFFFF` light / `#242526` dark — not blue anymore (Facebook quietly moved away from the blue top bar in 2020 on iOS; it's now white/dark-card with a blue `f` logo)
205
+ - Leading: **blue `f` logo** 28pt — the brand anchor (SF Pro Display 22pt w900 in a blue rounded square OR the actual glyph image)
206
+ - Trailing: three circular icon buttons in a row — Search (`magnifyingglass`), Messenger (`ellipsis.message.fill`), and optionally a third depending on region — each 32pt inside a 36pt gray circle `#E4E6EB`
207
+ - Hairline divider 1pt `#E4E6EB` below
208
+
209
+ **Bottom Tab Bar**
210
+ - Height: 49pt + safe area (iOS default)
211
+ - Background: `#FFFFFF` light / `#242526` dark with 1pt top border `#E4E6EB`
212
+ - 5 Tabs (left to right): Home (`house`), Video (`play.rectangle`), Marketplace (`cart`), Notifications (`bell`), Menu (`line.3.horizontal`)
213
+ - Icon size: 26pt
214
+ - Active color: `#1877F2` (the blue)
215
+ - Inactive: `#65676B`
216
+ - Labels: SF Pro Text 11pt w500, shown always
217
+ - Active tab: filled icon variant; inactive: outlined
218
+ - Notifications tab: red badge `#FA383E` with white count number (bottom-right of bell icon)
219
+
220
+ **Tab-Level Top Nav (Marketplace / Video / Notifications / Menu)**
221
+ - Height: 44pt + safe area
222
+ - Leading: tab title in SF Pro Display 24pt w700
223
+ - Trailing: tab-specific icons (search, filter, etc.)
224
+
225
+ ### Input Fields
226
+
227
+ **Compose Post Bar (Top of Feed)**
228
+ - Height: 56pt, white card, 8pt corner radius
229
+ - Leading: 40pt circular user avatar
230
+ - Center: "What's on your mind?" placeholder 15pt w400 `#65676B` in a pill-shaped tappable area with `#F0F2F5` fill, 500pt radius
231
+ - Trailing: two quick icons — photo picker 24pt `#45BD62` and live video 24pt `#FA3E3E`
232
+ - Tap anywhere: opens the full-screen Compose modal
233
+
234
+ **Search Bar**
235
+ - Height: 40pt
236
+ - Corner radius: 500pt (full pill)
237
+ - Background: `#F0F2F5` light / `#3A3B3C` dark
238
+ - Leading: `magnifyingglass` 16pt in `#65676B`
239
+ - Placeholder: "Search Facebook" in 15pt w400 `#65676B`
240
+
241
+ **Comment Input (at bottom of post detail)**
242
+ - Height: 40pt, grows vertically on long text
243
+ - Corner radius: 20pt (pill)
244
+ - Background: `#F0F2F5` light / `#3A3B3C` dark
245
+ - Leading: emoji picker 20pt
246
+ - Trailing: `paperplane.fill` blue when text present, `camera.fill` + gallery icons when empty
247
+
248
+ ### Distinctive Components
249
+
250
+ **Reactions Popover (Long-press on Like)**
251
+ The signature Facebook micro-interaction.
252
+ - Horizontal floating pill appearing above the Like button on long-press
253
+ - Contains 7 emoji reactions in a row: Like (👍), Love (❤️), Care (🤗), Haha (😂), Wow (😮), Sad (😢), Angry (😠)
254
+ - Each icon: 40pt emoji illustration in a 48pt tap area
255
+ - Background: `#FFFFFF` light / `#242526` dark, shadow `rgba(0,0,0,0.2) 0 4px 16px`, 500pt radius pill
256
+ - Gesture: user long-presses Like → popover appears with pop animation (scale 0.5 → 1.0 + fade) → user drags across icons; hovered icon scales to 1.3 + label tooltip appears above it; release to select that reaction
257
+ - Haptic: `.impact(.light)` on open + `.selection` on each icon hover
258
+
259
+ **Like Thumb Icon with Count Summary**
260
+ - Below the post body, above the action row, a horizontal summary
261
+ - Leading: stacked reaction emoji icons (up to 3 overlapping in circles: Like + Love + Haha indicator dots)
262
+ - Text: "You, Sarah, and 45 others" in 13pt `#65676B` (tappable to see full reaction breakdown)
263
+ - Trailing: "12 comments · 3 shares" in 13pt `#65676B`
264
+
265
+ **Stories Ring Avatar**
266
+ - 60pt × 60pt circular avatar
267
+ - 3pt ring border in Instagram gradient for unread
268
+ - Tap: opens story viewer (same pattern as Instagram)
269
+
270
+ **Live Badge**
271
+ - Red `#FA3E3E` 500pt-radius pill
272
+ - Text: "LIVE" SF Pro Text 10pt w700 uppercase white
273
+ - Small pulsing red dot beside text
274
+ - Positioned on live video thumbnails, Watch Party entries
275
+
276
+ **Marketplace Listing Card**
277
+ - Card layout, 8pt radius
278
+ - Image top (square aspect, full-width of card)
279
+ - Price `$45` below image in SF Pro Display 17pt w700
280
+ - Title 15pt w400 in 2-line clamp
281
+ - Location / distance in 13pt `#65676B` below title
282
+ - Tap opens detail view
283
+
284
+ **Reels Vertical Feed**
285
+ - Fullscreen edge-to-edge vertical video player
286
+ - Leading action column: Like, Comment, Share, More — stacked vertically, each with count underneath
287
+ - Bottom: author info + caption
288
+ - Swipe up: next Reel; swipe down: previous
289
+ - This is accessed via the Video tab (or a Reels tab in some regions)
290
+
291
+ **Memory / On-This-Day Card**
292
+ - Full-width card with saturated gradient background (blue / purple / green)
293
+ - "On This Day" label top-left in SF Pro Display 15pt w700 white
294
+ - Year badge "1 year ago" 13pt
295
+ - Memory content (the original post thumbnail) center
296
+ - "Share Memory" CTA button bottom
297
+
298
+ ## 5. Layout Principles
299
+
300
+ ### Spacing System
301
+ - Base unit: 4pt
302
+ - Scale: 4, 8, 12, 16, 20, 24, 32, 40, 48, 56
303
+ - Card horizontal margin from canvas: 8pt (narrower than content apps — cards are close to the edges)
304
+ - Between cards: 8pt gap
305
+ - Inside-card padding: 12pt horizontal, 12pt vertical
306
+ - Action row buttons: evenly distributed across card width
307
+
308
+ ### Grid & Container
309
+ - Content width: full device width minus 16pt (8pt left + 8pt right for cards)
310
+ - Stories row: 200pt tall, full-width horizontal scroll with 8pt inter-story gap
311
+ - Reactions popover: 7 icons at 48pt each = ~336pt wide, centered above the Like button
312
+
313
+ ### Whitespace Philosophy
314
+ - **Card rhythm**: The feed's visual rhythm is driven by the 8pt canvas gap between cards — a subtle but constant drumbeat that separates each content unit
315
+ - **Dense inside, breathing outside**: Each card packs avatars, names, body, media, reactions, action row — but the gap between cards gives the eye rest
316
+ - **Profile hero is spacious**: The 200pt cover photo + 168pt avatar creates a heroic profile landing, distinct from the dense feed
317
+
318
+ ### Border Radius Scale
319
+ - Blocky Button (6pt): Add Friend / Friends pills (slightly softer than pure rect)
320
+ - Standard (8pt): Post cards, CTA buttons, search bars on marketplace
321
+ - Thumbnail (12pt): Story thumbnails, video player controls
322
+ - Comment Bubble (16pt): Comment containers
323
+ - Pill (20pt): Comment input field, quick-action pills
324
+ - Full Pill (500pt): Reactions popover, "What's on your mind" pill, search bars
325
+ - Circle (50%): Avatars, reaction icons in popover, icon buttons in top nav
326
+
327
+ ## 6. Depth & Elevation
328
+
329
+ Facebook uses cards with subtle shadows — the most elevation-aware of the social apps. The card surface separating from the gray canvas is the primary depth cue.
330
+
331
+ | Level | Treatment | Use |
332
+ |-------|-----------|-----|
333
+ | Canvas (Level 0) | `#F0F2F5` / `#18191A` — the between-card gray | Feed background |
334
+ | Card (Level 1) | `#FFFFFF` / `#242526` with no shadow (canvas contrast alone) | Post cards, ads, suggestions |
335
+ | Pressed Card (Level 1.5) | Card with slight darkening `rgba(0,0,0,0.03)` overlay | Card tap feedback |
336
+ | Reactions Popover (Level 2) | `rgba(0,0,0,0.2) 0 4px 16px` | Floating reactions on long-press |
337
+ | Floating Messenger (Level 3) | `rgba(0,0,0,0.3) 0 8px 24px` | Messenger chat head floating over content |
338
+ | Sheet (Level 3) | `rgba(0,0,0,0.25) 0 -4px 20px` | Bottom sheets, share sheet, reactions breakdown |
339
+ | Modal Backdrop | `rgba(0,0,0,0.5)` | Behind full-screen compose, media lightbox |
340
+
341
+ **Shadow Philosophy**: Cards don't cast their own drop shadows — they rely on the gray canvas providing visual separation. Shadows appear only on floating elements that truly need to elevate above content: the Reactions popover, floating Messenger chat heads, and bottom sheets.
342
+
343
+ ### Motion
344
+ - **Like tap**: thumbs-up icon scales 0.9 → 1.15 → 1.0 spring over 300ms, fills in `#1877F2`, count ticks up, `.impact(.light)` haptic
345
+ - **Reactions long-press**: icons pop up with stagger (each icon +25ms delay) scale 0.5 → 1.0 spring 400ms total; hovered icon scales to 1.3 with tooltip
346
+ - **Reactions drag-select**: haptic `.selection` on each icon hover; on release, selected icon scales to 1.5 → 1.0 with `.impact(.medium)` haptic
347
+ - **Card tap**: subtle background darken 3% for 150ms on press; release for navigation
348
+ - **Stories ring tap**: ring animates (scale 1.0 → 0.9 → 1.0) + opens full-screen story viewer with crossfade
349
+ - **Memory card reveal**: confetti particles fall for 500ms on first view per day, paired with a warm haptic
350
+ - **Scroll-refresh**: pull-to-refresh with custom Facebook loading indicator (the `f` glyph appears and the dot inside bounces)
351
+ - **Reaction selected**: the corresponding emoji swaps into the action row's Like slot with a cross-fade 200ms + label changes color to match
352
+
353
+ ## 7. Do's and Don'ts
354
+
355
+ ### Do
356
+ - Use soft gray `#F0F2F5` as the light canvas — it's the between-card space that defines Facebook's rhythm
357
+ - Put every feed item in a white rounded card (8pt radius) — Facebook is the most card-based of social apps
358
+ - Use Facebook Blue `#1877F2` for the brand, active Like, primary CTAs, and links — consistently
359
+ - Keep the 5-tab bottom bar: Home / Video / Marketplace / Notifications / Menu — with labels always shown
360
+ - Use the Reactions popover on long-press — 7 emoji in a horizontal floating pill, each scaling as the user drags across
361
+ - Use SF Pro (system font) at weights 400/600/700/900 — the `f` logo at 900 is the only heavy weight
362
+ - Use the blue `f` glyph as the brand anchor in the top-left — not a word mark, just the `f`
363
+ - Use stories ring in Instagram's pink-red-orange gradient on unread stories
364
+ - Keep card padding at 12pt inside edges — consistent density across all card types
365
+ - Pair each tab label with both the icon and 11pt text — Facebook is label-forward, not icon-only like X/Threads
366
+
367
+ ### Don't
368
+ - Don't use pure black canvas — Facebook's light mode canvas is `#F0F2F5`, dark is `#18191A`
369
+ - Don't hide tab labels — Facebook shows them; this is a deliberate choice for accessibility and utility
370
+ - Don't add colors beyond the Reactions palette — the 7 reaction colors are the expressive palette, nothing else
371
+ - Don't use heavy drop shadows on cards — the gray canvas does the separation work
372
+ - Don't use fancy custom fonts — the current app uses SF Pro, not Klavika or Helvetica Neue
373
+ - Don't remove the Reactions popover — the 7-emoji long-press is the signature interaction
374
+ - Don't use uppercase on button labels except the "LIVE" badge
375
+ - Don't default the top nav bar to blue — it's white/dark-card with a blue `f` anchor (the historical blue top bar is deprecated)
376
+ - Don't make stories square — they're 110pt × 200pt vertical rectangles, 12pt radius
377
+ - Don't use green as a primary accent — green (`#42B72A`) is reserved for creation CTAs only
378
+
379
+ ## 8. Responsive Behavior
380
+
381
+ ### Device Sizes
382
+ | Device | Width | Key Changes |
383
+ |--------|-------|-------------|
384
+ | iPhone SE (3rd gen) | 375pt | Card inner width ~359pt; story thumbnails 96pt wide |
385
+ | iPhone 13/14/15 | 390pt | Standard card width ~374pt; story thumbnails 110pt |
386
+ | iPhone 15/16 Pro | 393pt | Dynamic Island accommodated in top nav — `f` shifts left of island |
387
+ | iPhone 15/16 Pro Max | 430pt | Card width ~414pt; story thumbnails 120pt; more comments preview visible |
388
+ | iPad | 768pt+ | Multi-column layout — feed in center, profile in right sidebar, nav in left rail |
389
+
390
+ ### Dynamic Type
391
+ - Post body, comment body, bio, message body: full scale
392
+ - Display name, timestamps, action row labels: cap at xxLarge
393
+ - Tab labels: fixed 11pt (layout-sensitive)
394
+ - Reaction counts: fixed 13pt
395
+ - Large-text posts (when user types short text): already at 24pt, scale with Dynamic Type
396
+
397
+ ### Orientation
398
+ - Feed / Marketplace / Notifications / Menu: **portrait-locked**
399
+ - Video / Reels: **rotates to landscape** on video playback
400
+ - Media lightbox (photo / video viewer): **rotates freely**
401
+
402
+ ### Touch Targets
403
+ - Like / Comment / Share buttons: 40pt tall rows
404
+ - Reaction icons in popover: 48pt tap area each, 40pt glyph
405
+ - Tab bar icons: 26pt glyph, 49pt hit area
406
+ - Avatar tap: 40pt glyph, 44pt hit
407
+ - `ellipsis` overflow: 24pt glyph, 44pt hit
408
+
409
+ ### Safe Area Handling
410
+ - Top: top nav respects safe area + Dynamic Island; `f` logo shifts left of island
411
+ - Bottom: tab bar respects home indicator
412
+ - Sides: 8pt card margin on all scrollable screens
413
+ - Story thumbnails extend slightly into the 16pt safe inset to achieve the full-bleed edge-peek effect
414
+
415
+ ## 9. Agent Prompt Guide
416
+
417
+ ### Quick Color Reference
418
+ - Canvas (light): `#F0F2F5`
419
+ - Canvas (dark): `#18191A`
420
+ - Card white: `#FFFFFF`
421
+ - Card dark: `#242526`
422
+ - Divider: `#E4E6EB`
423
+ - Text primary (light): `#050505`
424
+ - Text primary (dark): `#E4E6EB`
425
+ - Text secondary: `#65676B`
426
+ - Facebook Blue: `#1877F2`
427
+ - Blue pressed: `#0A5FC8`
428
+ - Love pink: `#F3425F`
429
+ - Haha/Wow/Sad/Care yellow: `#F7B928`
430
+ - Angry orange: `#E9710F`
431
+ - Live red: `#FA3E3E`
432
+ - Success green: `#42B72A`
433
+
434
+ ### Example Component Prompts
435
+ - "Build a Facebook post card in SwiftUI: 8pt corner radius white `#FFFFFF` background on a `#F0F2F5` canvas, 8pt horizontal margin from screen edge, 8pt gap between cards. Header row: 40pt circular avatar + display name 'Sarah Johnson' in SF Pro Text 15pt w600 `#050505` + '2 hrs · Public' in 13pt w400 `#65676B` + trailing `ellipsis` 24pt `#65676B`. Body: SF Pro Text 15pt w400 primary text with 1.35 line height, 12pt horizontal padding. Media edge-to-edge rounded to card corners. Reaction summary: 3 stacked reaction circles + 'You, Sarah, and 45 others' in 13pt `#65676B`. 1pt `#E4E6EB` divider, then action row with 3 buttons (Like / Comment / Share) at 40pt tall, SF Pro Text 15pt w600 `#65676B` + 20pt SF Symbol icons."
436
+ - "Create the Facebook Reactions popover on long-press of Like: horizontal floating pill at `#FFFFFF` 500pt corner radius with shadow `rgba(0,0,0,0.2) 0 4px 16px`. 7 reactions spread horizontally: 👍 Like, ❤️ Love, 🤗 Care, 😂 Haha, 😮 Wow, 😢 Sad, 😠 Angry — each 40pt emoji glyph in a 48pt tap area. Open animation: scale 0.5 → 1.0 spring 400ms with 25ms stagger per icon. On drag across: hovered icon scales to 1.3 with a tooltip label above ('Love', 'Haha', etc.) and `.selection` haptic. On release: selected icon bounces 1.5 → 1.0 + `.impact(.medium)` haptic + emoji swaps into action row Like slot with cross-fade 200ms."
437
+ - "Build Facebook's top nav bar: 56pt tall + safe area, white `#FFFFFF` background on light, `#242526` on dark, 1pt `#E4E6EB` divider bottom. Leading: blue `f` logo 28pt — use a blue `#1877F2` rounded square 32pt with white `f` glyph inside at weight 900 (or the actual brand glyph). Trailing: horizontal row of 36pt circular buttons with `#E4E6EB` background — `magnifyingglass` 20pt for search, `ellipsis.message.fill` 20pt for Messenger. Each button tap-area 44pt."
438
+ - "Design the Facebook tab bar: 49pt + safe area, 5 tabs with labels always shown. Tabs left-to-right: Home (`house.fill` / `house`), Video (`play.rectangle.fill` / `play.rectangle`), Marketplace (`cart.fill` / `cart`), Notifications (`bell.fill` / `bell` with red badge), Menu (`line.3.horizontal`). Active icon 26pt in `#1877F2` blue, label in SF Pro Text 11pt w500 blue. Inactive icon `#65676B`, label also `#65676B`. Notifications badge: 16pt red `#FA383E` circle at top-right of bell icon with white count number 11pt w700."
439
+ - "Create a Facebook Stories row: 200pt tall horizontal scroll, 8pt leading inset. First card 'Create a Story' with blurred user-profile-pic background + white `+` glyph in center + 'Create Story' label bottom. Subsequent cards: 110pt × 200pt rounded 12pt, full-bleed story-preview image, dark gradient overlay bottom 50% for text legibility, 32pt circular avatar top-left with a 3pt Instagram gradient border ring for unread (pink `#C13584` → red `#E1306C` → orange `#F77737`) or 3pt gray ring for read, name in SF Pro Text 13pt w600 white bottom-left."
440
+ - "Build the Facebook comment: leading 32pt circular avatar, trailing a comment bubble at `#F0F2F5` background, 16pt corner radius, 8pt × 12pt padding, max 80% of card width. Inside bubble: commenter name SF Pro Text 13pt w600 `#050505` + comment body SF Pro Text 14pt w400 `#050505`. Below bubble: 'Like · Reply · 2h' in SF Pro Text 13pt w600 `#65676B` with 12pt gaps between. Nested replies indented 44pt with a 1pt `#E4E6EB` vertical rule connecting parent to child."
441
+
442
+ ### Iteration Guide
443
+ 1. Canvas is soft gray `#F0F2F5` light / dark gray `#18191A` dark — cards are white/dark-card floating above
444
+ 2. Every feed item is a CARD — 8pt corner radius, 12pt padding, 8pt gap between cards — the most card-based social app
445
+ 3. Facebook Blue `#1877F2` is the brand color — top nav `f` logo, active Like, primary CTAs, links
446
+ 4. The 5-tab bottom bar is canonical: Home / Video / Marketplace / Notifications / Menu with labels always shown (NOT icon-only)
447
+ 5. Reactions popover on long-press of Like — 7 emoji in a horizontal floating pill, scale 1.3 on hover, haptic on each, swap into action row on release
448
+ 6. SF Pro platform font at weights 400/600/700/900 — no custom font; the `f` logo at 900 is the only heavy weight
449
+ 7. The top nav is NOT blue anymore — it's white/dark-card with the blue `f` anchor (historical blue bar is deprecated)
450
+ 8. Stories ring uses Instagram pink-red-orange gradient for unread — inherited from Meta
451
+ 9. Card shadows are subtle — the canvas gray alone provides the elevation cue; avoid heavy drop shadows
452
+ 10. Action row labels are SF Pro 15pt w600 in secondary gray — turn blue when Like is active; show reaction emoji + label name if user picked a non-Like reaction