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,376 @@
1
+ # Design System Inspiration of Coffee Meets Bagel (iOS)
2
+
3
+ ## 1. Visual Theme & Atmosphere
4
+
5
+ Coffee Meets Bagel's iOS app is a *relaxed first date over coffee*, rendered as software. Where swipe-apps are cold and infinite, CMB is warm, curated, and deliberately scarce: you get a small batch of hand-picked "bagels" (matches) once a day. The whole visual language is built from a coffee-house palette — roasted brew-brown (`#A0522D`), a friendly bagel-orange (`#F4623A`), and warm cream (`#F3E4CF`) — over a cozy brown-black canvas (`#14100D` in dark, warm off-white `#FBF6EF` in light). Nothing is stark; even "white" is cream. The atmosphere says *take your time, this is a curated introduction, not a slot machine.*
6
+
7
+ The signature screen is **Today's Bagels**: a single large profile card at a time, framed in a generous 24pt-radius rounded rectangle with a full-bleed photo, a soft bottom gradient, the person's name + age in Poppins 26pt, a one-line meta row ("Designer · 2 mi away · ☕ Latte person"), and a row of warm interest chips. Below the card sit exactly two primary actions: a roasted-brown circular **Pass** (×) and a noticeably larger bagel-orange circular **Like** (♥). The Like is always the biggest, warmest element on screen — CMB wants you to lean toward connection. A smaller brew-brown **Send a Bagel** (★) action lets you spend beans to stand out. The second core surface is the **curated batch header** ("6 fresh picks · expires in 23h") that frames the day's selection as finite and fresh, and the third is the **profile detail** — a long, scrollable, photo-and-prompt card where the bagel's answers ("My ideal Sunday is…") are rendered as warm cream prompt blocks.
8
+
9
+ The color system is a tight, food-warm triad. **Bagel-orange** (`#F4623A`, deepening to `#D94E2A`) is the single primary action color: the big Like, the active tab, "fresh" badges, the unread chat dot. **Brew-brown** (`#A0522D`, deep `#7E3F22`) is the secondary brand color: "Send a Bagel", selected interest chips, the beans/currency surfaces. **Cream** (`#F3E4CF` / soft `#E8D4B8`) replaces pure white everywhere — on-photo text, outline buttons, card insets. A muted **like-green** (`#4CC38A`) marks mutual-match confirmations, and **premium gold** (`#E0A82E`) is reserved for the subscription upsell. The discipline keeps the app feeling like one warm, coherent café rather than a loud marketplace.
10
+
11
+ Typography is rounded and friendly. CMB's product uses a warm geometric sans (Brandon Grotesque / Gotham-family in marketing); **Poppins** is the closest free face and is used here. Hierarchy is people-first: screen title 32pt/800, profile name 26pt/700, section 22pt/700, card title 18pt/600, body 16pt/400, prompt answer 15pt/600, meta 14pt/400, chip 13pt/600, badge 12pt/700 uppercase. Weight concentrates at 400/600/700/800 — regular for prose, semibold for prompts and chips, bold for names and sections, extrabold for screen titles. The rounded letterforms reinforce the cozy, approachable mood.
12
+
13
+ **Key Characteristics:**
14
+ - Coffee-house palette — brew-brown (`#A0522D`) + bagel-orange (`#F4623A`) + cream (`#F3E4CF`) over warm brown-black (`#14100D`)
15
+ - Curated, scarce model — a small daily batch of "bagels", framed as fresh and expiring
16
+ - Today's Bagels card — one large profile at a time, 24pt-radius, full-bleed photo, bottom gradient
17
+ - Two-action commitment — roasted-brown circular Pass + a noticeably larger bagel-orange Like
18
+ - Send a Bagel — brew-brown star action, spend beans to stand out
19
+ - Warm interest chips — emoji + label, cream on translucent over photo, brown when selected
20
+ - Batch header — "6 fresh picks · expires in 23h" — finite, fresh, no infinite feed
21
+ - Cream replaces white — on-photo text, outline buttons, prompt blocks; nothing is stark
22
+ - Pill buttons & circular actions — fully rounded (999pt) everywhere
23
+ - Poppins / Brandon type — rounded, friendly, people-first hierarchy
24
+ - Like-green (`#4CC38A`) for mutual match; premium gold (`#E0A82E`) for upsell only
25
+ - Mascot warmth — the bagel logomark and gentle copy keep the tone playful, not transactional
26
+
27
+ ## 2. Color Palette & Roles
28
+
29
+ ### Primary (Interactive)
30
+ - **Bagel Orange** (`#F4623A`): The single primary action color — the big Like button, active tab, "fresh"/"active" badges, unread chat dot, primary CTAs.
31
+ - **Bagel Deep** (`#D94E2A`): Pressed state of the Like / primary buttons, gradient end.
32
+ - **Bagel Tint** (`#F4623A1F`): 12% wash behind a just-liked card and the match-confirm flash.
33
+
34
+ ### Secondary (Brand)
35
+ - **Brew Brown** (`#A0522D`): Secondary brand color — "Send a Bagel", selected interest chips, beans/currency surfaces, the roasted-brown Pass ring.
36
+ - **Brew Deep** (`#7E3F22`): Pressed state of brown buttons, deep accents.
37
+ - **Brew Pressed** (`#693318`): Active-press of brown circular actions.
38
+
39
+ ### Cream (replaces white)
40
+ - **Cream** (`#F3E4CF`): On-photo text, outline-button text/border, prompt-block background — the app's "white".
41
+ - **Cream Soft** (`#E8D4B8`): Secondary on-photo text, dividers over photos.
42
+
43
+ ### Canvas & Surfaces (Light Mode)
44
+ - **Canvas Warm** (`#FBF6EF`): Primary light canvas — warm off-white, NOT pure white.
45
+ - **Surface 1** (`#FFFFFF`): Cards on light, elevated panels.
46
+ - **Surface 2** (`#F3ECE1`): Pressed rows, chip backgrounds, secondary fills.
47
+ - **Divider** (`#E8DECF`): Hairline separators.
48
+
49
+ ### Canvas & Surfaces (Dark Mode)
50
+ - **Coffee Canvas** (`#14100D`): Primary dark canvas — deep roasted brown-black, NOT neutral grey.
51
+ - **Surface 1** (`#1F1813`): Cards, settings rows.
52
+ - **Surface 2** (`#2A2017`): Pressed rows, chip backgrounds.
53
+ - **Divider** (`#33281D`): Hairline separators (warm brown, not grey).
54
+
55
+ ### Text
56
+ - **Text Primary Light** (`#3A2A18`): Body, names — warm dark brown, NOT pure black.
57
+ - **Text Secondary Light** (`#8A7458`): Meta, secondary copy.
58
+ - **Text Tertiary Light** (`#B0A088`): Placeholders, disabled.
59
+ - **Text Primary Dark** (`#EFE6DA`): Body, names on dark — warm cream-white.
60
+ - **Text Secondary Dark** (`#B7A48E`): Meta, secondary copy on dark.
61
+ - **Text Tertiary Dark** (`#7C6B57`): Placeholders, disabled on dark.
62
+
63
+ ### Action / Status Roles
64
+
65
+ | Role | Light Mode | Dark Mode | Treatment |
66
+ |------|-----------|-----------|-----------|
67
+ | Like (primary action) | `#F4623A` | `#F4623A` | Large filled circle, white heart |
68
+ | Pass | `#8A7458` on `#F3ECE1` | `#B7A48E` on `#2A2017` | Outline/soft circle, × glyph |
69
+ | Send a Bagel | `#A0522D` | `#A0522D` | Brew circle, cream star |
70
+ | Mutual match | `#4CC38A` | `#4CC38A` | Match-confirm banner + check |
71
+ | Just-liked flash | `#F4623A1F` | `#F4623A24` | 12% orange wash, 500ms fade |
72
+
73
+ ### Semantic
74
+ - **Like / Match Green** (`#4CC38A`): "It's a match!" confirmation, mutual-like banner.
75
+ - **Error Red** (`#D94E2A`): Destructive confirm, failed-send (shares Bagel Deep family).
76
+ - **Warning Gold** (`#E0A82E`): Out-of-beans notice, premium-locked feature.
77
+ - **Premium Gold** (`#E0A82E`): CMB Premium upsell, "Boost", subscription surfaces.
78
+
79
+ ## 3. Typography Rules
80
+
81
+ ### Font Family
82
+ - **Product**: `Brandon Grotesque` / `Gotham`-family (CMB's warm geometric brand sans) in marketing; rounded geometric sans on app.
83
+ - **Closest Free Face**: `Poppins` (by Indian Type Foundry, SIL OFL) — geometric sans with friendly rounded terminals, near-identical warmth.
84
+ - **Numeric / Mono (rare)**: `SF Mono` for the beans balance and timers.
85
+ - **Fallback Stack**: `-apple-system, BlinkMacSystemFont, 'SF Pro Text', 'Segoe UI', Roboto, Helvetica, Arial, sans-serif`
86
+
87
+ ### Hierarchy
88
+
89
+ | Role | Font | Size | Weight | Line Height | Letter Spacing | Notes |
90
+ |------|------|------|--------|-------------|----------------|-------|
91
+ | Screen Title | Poppins | 32pt | 800 | 1.15 | -0.6pt | "Today's Bagels", "Discover" |
92
+ | Profile Name | Poppins | 26pt | 700 | 1.2 | -0.3pt | "Maya, 28" on the card |
93
+ | Section | Poppins | 22pt | 700 | 1.25 | -0.2pt | "A little about Maya" |
94
+ | Card Title | Poppins | 18pt | 600 | 1.3 | -0.1pt | "Why you matched" |
95
+ | Body | Poppins | 16pt | 400 | 1.5 | 0pt | Bio prose, descriptions |
96
+ | Prompt Answer | Poppins | 15pt | 600 | 1.4 | 0pt | "My ideal Sunday is…" answer |
97
+ | Meta | Poppins | 14pt | 400 | 1.4 | 0pt | "Designer · 2 mi away · ☕ Latte person" |
98
+ | Chip | Poppins | 13pt | 600 | 1.0 | 0pt | Interest chips "🥾 Hiking" |
99
+ | Badge | Poppins | 12pt | 700 | 1.0 | 0.4pt | "ACTIVE TODAY" uppercase |
100
+ | Beans / Number | Poppins | 16pt | 700 | 1.0 | 0pt | Bean balance, batch count |
101
+ | Tab Label | Poppins | 11pt | 600 | 1.0 | 0.1pt | Bottom tab labels |
102
+ | Button | Poppins | 16pt | 700 | 1.0 | 0pt | Primary pill label |
103
+
104
+ ### Principles
105
+ - **People-first hierarchy**: The profile name is the loudest text on the card; sizes serve the person, not the chrome.
106
+ - **Rounded warmth**: The geometric-rounded face (Poppins / Brandon) is intentional — it reinforces the cozy café tone; never substitute a cold grotesque.
107
+ - **Weight discipline**: 400 (prose), 600 (chips/prompts/card titles), 700 (names/sections/numbers), 800 (screen titles). No thin, no black, no light.
108
+ - **Badges are uppercase 12pt/700**: "ACTIVE TODAY", "NEW" — the only consistently uppercased text, a small confident label.
109
+ - **Dynamic Type first-class**: Profile name, section, body, prompt answer scale; chips, badges, bean numbers, tab labels stay fixed.
110
+
111
+ ## 4. Component Stylings
112
+
113
+ ### Buttons
114
+
115
+ **Primary Button (Like / Continue / Match)**
116
+ - Shape: Fully rounded pill, 999pt corner radius (or large circle for the card Like action)
117
+ - Background: `#F4623A` (Bagel Orange)
118
+ - Text/Glyph: `#FFFFFF` — Poppins 16pt weight 700
119
+ - Padding: 14pt vertical, 28pt horizontal (circle: 72pt diameter for card Like)
120
+ - Pressed: background `#D94E2A` + scale 0.98
121
+ - Disabled: background `#F4623A` at 40% opacity
122
+
123
+ **Secondary Button (Send a Bagel / brand)**
124
+ - Background: `#A0522D` (Brew Brown)
125
+ - Text: `#F3E4CF` (Cream) Poppins 15pt weight 600
126
+ - Corner radius: 999pt
127
+ - Padding: 13pt vertical, 24pt horizontal
128
+ - Pressed: background `#7E3F22` + scale 0.98
129
+
130
+ **Outline Button (Pass / Skip)**
131
+ - Background: transparent
132
+ - Text/Border: `#F3E4CF` (cream) on photos / `#8A7458` on surfaces
133
+ - Border: 1.5pt cream / divider
134
+ - Corner radius: 999pt
135
+ - Padding: 12pt vertical, 22pt horizontal
136
+ - Pressed: background `#F3E4CF14` (8% cream)
137
+
138
+ **Circular Action Buttons (card Pass / Like / Send a Bagel)**
139
+ - Pass: 56-60pt circle, `Surface 2` fill, 1.5pt divider border, `×` glyph in Text Secondary
140
+ - Like: 68-72pt circle (always the largest), `#F4623A` fill, white `♥` — the visual center of gravity
141
+ - Send a Bagel: 56pt circle, `#A0522D` fill, cream `★`
142
+ - Shadow: `0 8px 20px -8px rgba(0,0,0,0.4)` light / `rgba(0,0,0,0.6)` dark
143
+ - Press: scale 0.92 + soft haptic; Like also triggers a 1.0→1.15→1.0 heart pop
144
+
145
+ **Text Button (See full profile / Learn more)**
146
+ - Font: Poppins 14pt weight 600
147
+ - Color: `#F4623A`
148
+ - No underline; 12pt vertical hit padding
149
+ - Pressed: 60% opacity
150
+
151
+ ### Today's Bagel Card (the core atom)
152
+
153
+ The defining component — one curated profile at a time.
154
+
155
+ - Container: 24pt corner radius, full-bleed photo, `overflow: hidden`, shadow `0 16px 40px -16px rgba(0,0,0,0.7)`
156
+ - Photo: 3:4 aspect ratio, full-bleed
157
+ - Bottom gradient: transparent → `rgba(20,16,13,0.95)` over the lower 55% so text is legible
158
+ - Top-left badge: translucent blurred pill (`rgba(20,16,13,0.55)` + blur), cream text 12pt 700, leading icon (e.g., clock for "Active today")
159
+ - Info block (bottom-left, 20pt inset): name+age Poppins 26pt 700 (age weight 500) in white, meta row 14pt cream, then interest chips
160
+ - Interest chip (on photo): `rgba(243,228,207,0.18)` fill, 1pt `rgba(243,228,207,0.28)` border, cream 13pt 600, 999pt radius, 5×12 padding
161
+ - Tap card → expands to full scrollable profile detail (push transition)
162
+
163
+ ### Profile Detail (scrollable)
164
+
165
+ - Stacked full-width photos (24pt radius, 12pt gap) interleaved with prompt blocks
166
+ - Prompt block: cream-tinted card (`#F3E4CF` light / `#2A2017` dark), 16pt radius, prompt label 13pt 600 secondary, answer 15pt 600 primary, 16pt padding
167
+ - Sticky bottom action bar with the same Pass / Like / Send-a-Bagel circular trio
168
+
169
+ ### Curated Batch Header
170
+
171
+ - Title "Today's Bagels" Poppins 19pt 700; subtitle "6 fresh picks · expires in 23h" 12pt secondary
172
+ - Trailing 38pt circular icon button (beans / info) `Surface 2` fill
173
+ - The "expires in" timer counts down live; at expiry the batch animates out and "Come back tomorrow" empty state appears
174
+
175
+ ### Match Confirmation ("It's a match!")
176
+
177
+ - Full-screen takeover: warm gradient (`#F4623A` → `#A0522D`), two circular avatars overlapping, "It's a match!" Poppins 32pt 800 white, like-green check accent, "Say hi" primary pill + "Keep browsing" text button
178
+ - Confetti of small bagel glyphs, gentle scale-in
179
+
180
+ ### Navigation
181
+
182
+ **Top Bar**
183
+ - Height: 44pt + safe area; leading screen/section title, trailing circular icon (beans balance / filter)
184
+ - On profile detail: leading back chevron, trailing report/overflow
185
+
186
+ **Bottom Tab Bar**
187
+ - Height: 56pt + safe area, `#FBF6EF` / `#14100D`, 0.5pt top border
188
+ - 4 tabs: Suggested (bagel logomark), Discover (`magnifyingglass`), Chats (`message`, with orange unread dot), Profile (`person`)
189
+ - Active color: `#F4623A`; inactive `#B0A088` / `#7C6B57`
190
+ - Labels: Poppins 11pt 600, always shown; active icon fills + label goes orange; no tint pill
191
+ - Unread badge: 8pt `#F4623A` dot, top-right of the Chats icon, 1.5pt canvas-colored ring
192
+
193
+ ### Input Fields
194
+
195
+ **Chat Composer**
196
+ - Height: 44pt, `Surface 2` fill, no border, 999pt radius
197
+ - Placeholder: "Message Maya…" Poppins 15pt secondary
198
+ - Trailing send: 36pt `#F4623A` circle with white arrow when text present
199
+
200
+ **Search (Discover)**
201
+ - Height: 40pt, `Surface 2` fill, 999pt radius
202
+ - Leading `magnifyingglass` 16pt secondary, placeholder "Search by name or interest" 14pt secondary
203
+
204
+ ### Distinctive Components
205
+
206
+ **Today's Bagel Card** — see core atom; the defining one-at-a-time curated profile.
207
+
208
+ **Pass / Like / Send-a-Bagel Trio** — the three circular actions, with Like always the largest, warmest element.
209
+
210
+ **Curated Batch Header** — finite, fresh, expiring daily selection — the anti-infinite-feed signature.
211
+
212
+ **Interest Chips** — emoji + label warm pills; cream-on-translucent over photos, brew-brown when selected.
213
+
214
+ **Beans Currency** — the brew-brown bean economy: a coffee-bean glyph + balance, spent on "Send a Bagel" / Discover likes; surfaces are always brown-toned.
215
+
216
+ **Match Confirmation Takeover** — warm orange→brown gradient celebration with bagel confetti.
217
+
218
+ **Couples / Success Stories Strip** — a warm testimonial carousel on the discover/onboarding surface reinforcing the "real relationships" brand.
219
+
220
+ ## 5. Layout Principles
221
+
222
+ ### Spacing System
223
+ - Base unit: 4pt
224
+ - Scale: 4, 8, 12, 16, 20, 24, 32, 40, 48, 64
225
+ - Screen horizontal inset: 20pt
226
+ - Card internal inset (over photo): 20pt
227
+ - Action-row gap: 28pt between circular actions
228
+ - Prompt-block padding: 16pt
229
+
230
+ ### Grid & Container
231
+ - iPhone: card at 20pt horizontal insets, 3:4 photo, single column
232
+ - iPad: card max-width 480pt centered; profile detail max 600pt; chat list as 360pt left rail + thread
233
+ - Chats list: single-column rows, 72pt tall, 20pt insets
234
+
235
+ ### Whitespace Philosophy
236
+ - **Scarcity has room**: one bagel card fills the screen with generous margins — the curated model is reflected in the calm, uncrowded layout
237
+ - **The person is the hero**: photo is full-bleed; chrome (badges, chips) floats translucently so it never competes with the face
238
+ - **Two clear choices**: Pass and Like get their own breathing room and unequal weight — the bigger Like nudges toward connection
239
+ - **Warm, never clinical**: generous radii (24pt cards), soft shadows, cream insets — the layout feels like a cozy café table
240
+
241
+ ### Border Radius Scale
242
+ - Square (0pt): full-bleed photo edges that meet card edges, dividers
243
+ - Subtle (6pt): small inline chips, timers
244
+ - Standard (10pt): list rows, small media
245
+ - Comfortable (16pt): prompt blocks, settings cards, sheets
246
+ - Card (20pt): chat cards, modal sheets
247
+ - Hero (24pt): the Today's Bagel card, profile photos
248
+ - Pill (999pt): all buttons, interest chips, badges
249
+ - Circle (50%): Pass/Like/Send actions, avatars, icon buttons
250
+
251
+ ## 6. Depth & Elevation
252
+
253
+ CMB uses soft, warm elevation — shadows are brown-tinted and gentle, like lamplight in a café.
254
+
255
+ | Level | Treatment | Use |
256
+ |-------|-----------|-----|
257
+ | Flat (Level 0) | No shadow | Canvas, list rows, prompt blocks |
258
+ | Card (Level 1) | `rgba(0,0,0,0.7) 0 16px 40px -16px` (dark) / `rgba(58,42,24,0.16) 0 12px 32px -12px` (light) | Today's Bagel card, profile photos |
259
+ | Action (Level 2) | `rgba(0,0,0,0.6) 0 8px 20px -8px` | Circular Pass/Like/Send buttons |
260
+ | Sheet (Level 3) | `rgba(0,0,0,0.5) 0 -8px 32px` | Bottom sheets (filters, beans store, premium) |
261
+ | Modal Scrim | `rgba(20,16,13,0.6)` | Dim behind match takeover & confirm modals |
262
+
263
+ **Shadow Philosophy**: Elevation makes the bagel card feel like a physical photo resting on a warm table, and the Like button feel like a tactile button you press. Shadows are intentionally brown-warm, never neutral grey. On dark mode shadows deepen to `0.6–0.7` opacity and cards add a subtle 1pt `#33281D` warm border as a secondary lift cue.
264
+
265
+ ### Motion
266
+ - **Card advance (Pass/Like)**: liked card scales 1.0→1.04 then flies up-right with a slight rotate over 320ms ease-in; passed card slides down-left over 280ms; next card cross-fades + scales 0.96→1.0 over 260ms ease-out
267
+ - **Like heart pop**: the heart glyph scales 1.0→1.15→1.0 over 280ms spring (response 0.3, damping 0.6) + soft success haptic; a 12% orange wash flashes over the card and fades over 500ms
268
+ - **Match takeover**: full-screen gradient scales in from 0.9→1.0 + fades over 400ms; bagel confetti falls over 1.2s; avatars settle with a gentle spring
269
+ - **Batch expiry**: at 00:00 the timer pulses, the last card fades out, the "Come back tomorrow" empty state cross-fades in over 400ms
270
+ - **Chip select**: scale 0.95 tap-down, fill animates `Surface 2` → `#A0522D` over 180ms
271
+ - **Tab switch**: cross-dissolve 200ms; active icon does a gentle 1.0→1.1→1.0 pop; unread dot pulses once on new message
272
+ - **Profile open**: card expands into the full profile via an iOS push (300ms) with the hero photo shared-element matched
273
+ - **Haptic feedback**: soft success on Like, light tick on Pass, medium impact on match takeover, light tap on chip select
274
+
275
+ ## 7. Do's and Don'ts
276
+
277
+ ### Do
278
+ - Use a warm coffee-house palette — brew-brown (`#A0522D`) + bagel-orange (`#F4623A`) + cream (`#F3E4CF`) over warm brown-black (`#14100D`)
279
+ - Make Bagel Orange the single primary action color — the Like, active tab, fresh badges
280
+ - Make the Like button the largest, warmest element on the card — nudge toward connection
281
+ - Use Brew Brown as the secondary brand color — Send a Bagel, selected chips, the beans economy
282
+ - Replace pure white with cream (`#F3E4CF`) everywhere — on-photo text, outlines, prompt blocks
283
+ - Present one curated bagel card at a time with generous margins and a 24pt radius
284
+ - Frame the batch as finite and fresh ("6 fresh picks · expires in 23h")
285
+ - Use warm interest chips (emoji + label) — translucent cream over photos, brown when selected
286
+ - Pop the Like heart (1.0→1.15→1.0) with a soft haptic and a fading orange card wash
287
+ - Celebrate a mutual match with a warm orange→brown takeover and bagel confetti
288
+ - Keep shadows brown-warm and soft — like café lamplight, never neutral grey
289
+
290
+ ### Don't
291
+ - Don't use a cold neutral-grey dark mode — the canvas is roasted brown-black `#14100D`
292
+ - Don't make Pass and Like the same size — the Like is intentionally bigger
293
+ - Don't build an infinite swipe feed — CMB is curated and scarce by design
294
+ - Don't use pure white — cream `#F3E4CF` is the app's "white"
295
+ - Don't use pure black text — warm dark brown `#3A2A18` light / cream `#EFE6DA` dark
296
+ - Don't use a cold grotesque typeface — the rounded geometric warmth (Poppins/Brandon) is the tone
297
+ - Don't use sharp rectangular cards or buttons — generous radii (24pt cards, pill/circle actions)
298
+ - Don't let chrome compete with the photo — badges and chips float translucently
299
+ - Don't reserve premium gold for anything but the subscription upsell
300
+ - Don't animate aggressively — motion is warm and gentle, 180–400ms ease-out with soft haptics
301
+ - Don't add a Material-style tint pill to the active tab — icon fills + label goes orange only
302
+
303
+ ## 8. Responsive Behavior
304
+
305
+ ### Device Sizes
306
+ | Device | Width | Key Changes |
307
+ |--------|-------|-------------|
308
+ | iPhone SE (3rd gen) | 375pt | Card 16pt insets; 2 interest chips max on card; action circles 56/68 |
309
+ | iPhone 13/14/15 | 390pt | Standard layout, 20pt insets, 60/72 action circles |
310
+ | iPhone 15/16 Pro | 393pt | Dynamic Island accommodated in top bar |
311
+ | iPhone 15/16 Pro Max | 430pt | Taller photo; up to 3 chips; slightly larger action circles |
312
+ | iPad (portrait) | 768pt | Card max 480pt centered; profile detail max 600pt |
313
+ | iPad (landscape) | 1024pt+ | 2-pane: chats list (360pt) + thread; bagel card stays centered max 480pt |
314
+
315
+ ### Dynamic Type
316
+ - Profile name, section, body, prompt answer: full scale
317
+ - Interest chips, badges, bean numbers, tab labels: FIXED (layout-sensitive)
318
+ - Timers / numeric: scale to L but stay tabular
319
+
320
+ ### Orientation
321
+ - Portrait-primary (dating context); iPad supports landscape with chats-list + thread split
322
+ - The bagel card stays portrait-proportioned (3:4 photo) regardless of orientation; it never stretches wide
323
+
324
+ ### Touch Targets
325
+ - Like circle: 68–72pt
326
+ - Pass / Send circle: 56–60pt
327
+ - Chip: min 32pt tall, full-chip tap
328
+ - Tab bar icons: 22pt glyph, 56pt hit
329
+ - Card tap (open profile): full card
330
+
331
+ ### Safe Area Handling
332
+ - Top: top bar respects safe area and Dynamic Island
333
+ - Bottom: action row + tab bar respect home indicator; profile-detail action bar floats above the home indicator
334
+ - Keyboard: chat composer lifts above the keyboard; profile editing scrolls above it
335
+ - Sides: 20pt screen inset (16pt on SE)
336
+
337
+ ## 9. Agent Prompt Guide
338
+
339
+ ### Quick Color Reference
340
+ - Canvas (light): `#FBF6EF` · Canvas (dark): `#14100D`
341
+ - Surface 1: `#FFFFFF` light / `#1F1813` dark
342
+ - Surface 2: `#F3ECE1` light / `#2A2017` dark
343
+ - Divider: `#E8DECF` light / `#33281D` dark
344
+ - Text primary: `#3A2A18` light / `#EFE6DA` dark
345
+ - Text secondary: `#8A7458` light / `#B7A48E` dark
346
+ - Bagel Orange (primary action): `#F4623A` → deep `#D94E2A`
347
+ - Brew Brown (secondary brand): `#A0522D` → deep `#7E3F22`
348
+ - Cream (replaces white): `#F3E4CF` / soft `#E8D4B8`
349
+ - Match green: `#4CC38A`
350
+ - Premium gold: `#E0A82E`
351
+ - Just-liked flash: `#F4623A1F`
352
+
353
+ ### Example Component Prompts
354
+ - "Build the Coffee Meets Bagel Today's Bagel card in SwiftUI: 24pt corner radius, full-bleed 3:4 photo, `overflow: hidden`, shadow `rgba(0,0,0,0.7) 0 16px 40px -16px`. Top-left translucent badge: `rgba(20,16,13,0.55)` + blur, cream text Poppins 12pt w700, leading clock icon, '·ACTIVE TODAY·'. Bottom gradient transparent → `rgba(20,16,13,0.95)` over lower 55%. Bottom-left 20pt inset: 'Maya' + ' 28' (Poppins 26pt w700, age w500) white; meta 'Designer · 2 mi away · ☕ Latte person' Poppins 14pt cream; then 3 interest chips (`rgba(243,228,207,0.18)` fill, 1pt `rgba(243,228,207,0.28)` border, cream 13pt w600, 999pt radius)."
355
+
356
+ - "Create the CMB action trio: a centered row, 28pt gap. Pass = 60pt circle, `#2A2017` fill, 1.5pt `#33281D` border, × glyph `#B7A48E`. Like = 72pt circle (the largest), `#F4623A` fill, white ♥ 32pt. Send a Bagel = 56pt circle, `#A0522D` fill, cream ★. On Like tap: heart scales 1.0→1.15→1.0 over 280ms spring, soft success haptic, a 12% `#F4623A` wash flashes over the card fading over 500ms; the liked card scales 1.04 then flies up-right with slight rotate over 320ms, next card cross-fades + scales 0.96→1.0."
357
+
358
+ - "Render the CMB curated batch header: title 'Today's Bagels' Poppins 19pt w700 `#EFE6DA`, subtitle '6 fresh picks · expires in 23h' Poppins 12pt `#B7A48E` with a live countdown; trailing 38pt circular beans button `#2A2017` fill. At expiry, pulse the timer, fade the last card out, cross-fade a 'Come back tomorrow' empty state in over 400ms."
359
+
360
+ - "Build the CMB match takeover: full-screen warm gradient `#F4623A` → `#A0522D`, two overlapping 96pt circular avatars, 'It's a match!' Poppins 32pt w800 white with a `#4CC38A` check accent, 'Say hi' primary orange pill + 'Keep browsing' cream text button. Scale in 0.9→1.0 + fade over 400ms; bagel-glyph confetti falls over 1.2s; medium impact haptic."
361
+
362
+ - "Create CMB interest chips: emoji + label, Poppins 13pt w600, 999pt radius, 8×14 padding. Default `#2A2017` fill, 1pt `#33281D` border, text `#EFE6DA`. Selected `#A0522D` fill + border, text `#F3E4CF`. On tap: scale 0.95 down, fill animates over 180ms, light haptic."
363
+
364
+ - "Build the CMB profile detail: stacked full-width photos (24pt radius, 12pt gap) interleaved with prompt blocks. Prompt block: `#2A2017` card, 16pt radius, 16pt padding — label Poppins 13pt w600 `#B7A48E`, answer Poppins 15pt w600 `#EFE6DA`. Sticky bottom bar repeats the Pass/Like/Send circular trio. Open via iOS push with the hero photo as a shared element."
365
+
366
+ ### Iteration Guide
367
+ 1. Canvas is warm brown-black `#14100D` dark / warm off-white `#FBF6EF` light — NOT neutral grey, NOT pure white/black
368
+ 2. Bagel Orange `#F4623A` is the single primary action color; Brew Brown `#A0522D` is the secondary brand
369
+ 3. The Like button is always the largest, warmest element — nudge toward connection
370
+ 4. Cream `#F3E4CF` replaces pure white everywhere (on-photo text, outlines, prompt blocks)
371
+ 5. Show ONE curated bagel card at a time with generous margins and a 24pt radius — no infinite feed
372
+ 6. Frame the batch as finite and fresh ("X fresh picks · expires in Yh")
373
+ 7. Interest chips are warm pills: cream-on-translucent over photos, brew-brown when selected
374
+ 8. The Like pops the heart (1.0→1.15→1.0) with a soft haptic and a fading orange card wash
375
+ 9. A mutual match is a warm orange→brown takeover with bagel confetti
376
+ 10. Motion is gentle: 180–400ms ease-out, soft/medium haptics, brown-warm soft shadows