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,410 @@
1
+ # Design System Inspiration of McDonald's (iOS)
2
+
3
+ ## 1. Visual Theme & Atmosphere
4
+
5
+ McDonald's iOS app is **a loyalty-and-ordering machine wearing the most recognizable brand colors on earth**. The instant you open it, two things establish identity: the **Golden Arches Yellow `#FFC72C`** and **McDonald's Red `#DA291C`**. The canvas is white (`#FFFFFF`) in light mode and a near-black charcoal (`#121212`) in dark mode, but the screen is *carried* by the yellow — it is the rewards points number, the primary CTA pill, the active tab, the order FAB, and the arches logomark. Red is the energetic counterpoint: deal flags, the secondary "Add to Mobile Order" button, urgency states. The aesthetic is bold, rounded, friendly, and unmistakably fast-food — pill-shaped buttons everywhere, generous rounding, big confident type, and appetizing product photography on every deal tile.
6
+
7
+ The signature screen is the **home / deals + mobile-order hub**. It opens with a personal greeting ("Hi, Alex" with the arches), then the hero of the whole app: the **MyMcDonald's Rewards** card — a points balance in huge yellow numerals, a progress bar toward the next reward, and a "X points away from a free …" line. Below it, a **Deals & Rewards** grid of two-up tiles (product photo + red "DEAL"/"FREE" flag + name + offer + "or N,NNN pts"), and a **Start an order** mode selector: four large pill/tile choices — **Pickup**, **Curbside**, **Drive Thru**, **Delivery** — the active one outlined in yellow. The second signature surface is the **deal/coupon detail** — a dashed-yellow-bordered coupon card with the food image, the offer, validity, and an "Add to order" yellow pill that drops the deal into a mobile order.
8
+
9
+ The color system is deliberately tiny and iconic: yellow + red carry everything, over a neutral canvas, with a single success green for "Order Ready". There is a hard brand rule baked into the system — **yellow always pairs with near-black text (`#1A1A1A`), never white**; the arches are never recolored. The mood is *cheerful efficiency*: get the user to a deal and into a mobile order in as few taps as possible, and make the rewards balance feel rewarding every time the app opens.
10
+
11
+ Typography is McDonald's proprietary **Speedee** — a friendly, slightly rounded humanist sans designed for the brand's signage and digital. On iOS it falls back to SF Pro (or a rounded grotesque) when Speedee isn't bundled; for documentation and the catalog, **Archivo** is the closest free analog. The hierarchy is heavy and confident: screen titles at 32pt/900, the rewards number at 28pt/900, card titles at 18pt/800, body at 16pt/400. Weight (800/900) and the yellow accent do the heavy lifting.
12
+
13
+ **Key Characteristics:**
14
+ - White canvas (`#FFFFFF`) light / near-black charcoal (`#121212`) dark — carried by **Golden Arches Yellow `#FFC72C`**
15
+ - Two-color brand system: **Yellow `#FFC72C`** (primary CTA, rewards, active tab, FAB) + **Red `#DA291C`** (deal flags, secondary CTA, urgency)
16
+ - Hard rule: yellow always pairs with near-black text `#1A1A1A` — **never white on yellow**; arches never recolored
17
+ - MyMcDonald's Rewards card — the home hero: huge yellow points number + progress bar + "X points to free …"
18
+ - Deals grid — two-up product-photo tiles with a red "DEAL"/"FREE"/"NEW" flag, offer line, and points alternative
19
+ - Mobile-order mode selector — Pickup / Curbside / Drive Thru / Delivery as four large tiles, active outlined yellow
20
+ - Pill-shaped buttons everywhere — 999pt radius CTAs; rounded 16pt cards
21
+ - Center "Order" FAB in the tab bar — elevated yellow circle, the app's primary action
22
+ - Coupon/deal cards — dashed yellow border, food photo, "Add to order" yellow pill
23
+ - Friendly heavy type — Speedee (Archivo fallback), screen titles 32pt/900, weight + yellow carry hierarchy
24
+ - Personal greeting header — "Hi, {name}" with the arches and a notification bell
25
+
26
+ ## 2. Color Palette & Roles
27
+
28
+ ### Primary (Interactive)
29
+ - **Golden Arches Yellow** (`#FFC72C`): The brand. Primary CTA pill, rewards points number, active tab, order FAB, progress fill, arches logomark. **Always with `#1A1A1A` text/icon on top.**
30
+ - **Yellow Pressed** (`#E6B015`): Pressed state for yellow CTAs.
31
+ - **Yellow Tint** (`#FFC72C14`): 8% yellow wash behind the active order-mode tile.
32
+
33
+ ### Secondary (Brand Red)
34
+ - **McDonald's Red** (`#DA291C`): Deal/offer flags, the secondary "Add to Mobile Order" button, urgency/error, "See all" links.
35
+ - **Red Pressed** (`#B71F14`): Pressed state for red CTAs.
36
+ - **Dark Red** (`#B0210E`): Pressed deal flags, deep accents.
37
+
38
+ ### Canvas & Surfaces (Light Mode)
39
+ - **Canvas White** (`#FFFFFF`): Primary light canvas.
40
+ - **Surface Gray** (`#F4F4F5`): Card backgrounds, grouped sections, the rewards card base.
41
+ - **Surface Pressed** (`#EAEAEB`): Pressed rows / tiles.
42
+ - **Divider** (`#E3E3E5`): Hairline dividers; dashed variant on coupons (yellow).
43
+
44
+ ### Canvas & Surfaces (Dark Mode)
45
+ - **Dark Canvas** (`#121212`): Primary dark canvas — near-black, NOT pure black.
46
+ - **Dark Surface 1** (`#1C1C1E`): Card backgrounds, rewards card, sheets.
47
+ - **Dark Surface 2** (`#2A2A2A`): Elevated tiles, coupon background, badge fills.
48
+ - **Dark Divider** (`#2C2C2E`): Hairline dividers.
49
+
50
+ ### Text
51
+ - **Text Primary Light** (`#1A1A1A`): Primary text — near-black; the only color allowed on yellow.
52
+ - **Text Secondary Light** (`#5C5C5C`): Metadata, validity, sub-copy.
53
+ - **Text Tertiary Light** (`#8A8A8A`): Disabled, low-emphasis.
54
+ - **Text Primary Dark** (`#F2F2F2`): Primary text on dark.
55
+ - **Text Secondary Dark** (`#A0A0A0`): Metadata on dark.
56
+ - **Text On Yellow** (`#1A1A1A`): Mandatory text/icon color over `#FFC72C` in both modes.
57
+
58
+ ### Roles Summary
59
+
60
+ | Role | Light Mode | Dark Mode |
61
+ |------|-----------|-----------|
62
+ | Canvas | `#FFFFFF` | `#121212` |
63
+ | Surface 1 | `#F4F4F5` | `#1C1C1E` |
64
+ | Surface 2 | `#EAEAEB` | `#2A2A2A` |
65
+ | Divider | `#E3E3E5` | `#2C2C2E` |
66
+ | Text Primary | `#1A1A1A` | `#F2F2F2` |
67
+ | Text Secondary | `#5C5C5C` | `#A0A0A0` |
68
+ | Brand Yellow / CTA | `#FFC72C` | `#FFC72C` |
69
+ | Text on Yellow | `#1A1A1A` | `#1A1A1A` |
70
+ | Brand Red | `#DA291C` | `#DA291C` |
71
+ | Error | `#DA291C` | `#DA291C` |
72
+
73
+ ### Semantic
74
+ - **Success Green** (`#2B8A3E`): "Order Ready", payment success, "Reward redeemed".
75
+ - **Error Red** (`#DA291C`): Payment failure, item unavailable, destructive delete (shares the brand red).
76
+ - **Warning Amber** (`#E6A700`): "Deal expiring soon", store-closing notice.
77
+ - **Info Blue** (`#2E6DB4`): Informational links, store-info notices in checkout.
78
+ - **Rewards Gold** (`#FFC72C`): Points balance, progress fill, reward chips (the brand yellow).
79
+
80
+ ## 3. Typography Rules
81
+
82
+ ### Font Family
83
+ - **Brand / All UI**: `Speedee` — McDonald's proprietary humanist sans (friendly, slightly rounded; designed for signage + digital). Bundled in the official app.
84
+ - **iOS Fallback Stack**: `-apple-system, BlinkMacSystemFont, 'SF Pro Rounded', 'SF Pro Display', 'SF Pro Text', 'Segoe UI', Roboto, Helvetica, Arial, sans-serif`
85
+ - **Web/Catalog Fallback**: `Archivo` (closest free grotesque with the same confident weight range)
86
+ - Numerals are tabular in points, prices, and timers so balances and totals align.
87
+
88
+ ### Hierarchy
89
+
90
+ | Role | Font | Size | Weight | Line Height | Letter Spacing | Notes |
91
+ |------|------|------|--------|-------------|----------------|-------|
92
+ | Screen Title | Speedee | 32pt | 900 | 1.2 | -0.4pt | "Rewards", "Menu" large title |
93
+ | Rewards Number | Speedee | 28pt | 900 | 1.0 | -0.5pt | The points balance — yellow |
94
+ | Hero / Tagline | Speedee | 26pt | 800 | 1.25 | -0.3pt | "i'm lovin' it", promo headline |
95
+ | Greeting | Speedee | 22pt | 800 | 1.25 | -0.4pt | "Hi, {name}" |
96
+ | Card Title | Speedee | 18pt | 800 | 1.3 | -0.3pt | "MyMcDonald's Rewards", section card |
97
+ | Section Header | Speedee | 19pt | 800 | 1.3 | -0.3pt | "Deals & Rewards", "Start an order" |
98
+ | Body | Speedee | 16pt | 400 | 1.5 | 0pt | Descriptions, paragraph copy |
99
+ | Deal Title | Speedee | 15pt | 600 | 1.4 | 0pt | "Buy one, get one $1" |
100
+ | Price / Points | Speedee | 14pt | 700 | 1.4 | 0pt | "$5.99" / "1,900 pts" — tabular |
101
+ | Meta | Speedee | 14pt | 400 | 1.4 | 0pt | "Valid through Sun", store name |
102
+ | Badge / Flag | Speedee | 12pt | 800 | 1.1 | 0.3pt | "DEAL", "FREE", "NEW" — UPPERCASE |
103
+ | Button (Primary) | Speedee | 15pt | 800 | 1.0 | 0.1pt | Pill CTAs |
104
+ | Caption | Speedee | 12pt | 400 | 1.4 | 0pt | T&C, tiny print |
105
+ | Tab Label | Speedee | 10pt | 700 | 1.0 | 0.1pt | Bottom tab labels |
106
+ | Mode Tile Label | Speedee | 11pt | 700 | 1.1 | 0pt | "Pickup", "Curbside" |
107
+
108
+ ### Principles
109
+ - **Weight + yellow carry hierarchy**: emphasis lives at 800/900 and in the Golden Arches Yellow. The rewards number is the single largest, heaviest, most colorful element on the home screen.
110
+ - **Friendly, not corporate**: Speedee's slight roundness keeps the heavy weights warm — pair with rounded shapes (pill buttons, 16pt cards) to keep the tone cheerful.
111
+ - **Tabular numerals for points/money/timers**: the rewards balance, deal points, prices, and the "order ready in X min" timer all align.
112
+ - **UPPERCASE flags**: deal flags and status badges are uppercase with +0.3pt tracking — punchy and scannable.
113
+ - **Dynamic Type**: titles, body, deal copy scale; the rewards number, badges/flags, tab labels, and mode-tile labels stay fixed (layout-critical).
114
+
115
+ ## 4. Component Stylings
116
+
117
+ ### Buttons
118
+
119
+ **Primary Button (Order Now / Add to order / Redeem)**
120
+ - Shape: **Pill**, 999pt corner radius
121
+ - Background: `#FFC72C` (Golden Arches Yellow)
122
+ - Text: `#1A1A1A` (mandatory — never white), Speedee 15pt weight 800
123
+ - Padding: 14pt vertical, 28pt horizontal (full-width in cart/checkout)
124
+ - Pressed: background `#E6B015` + scale 0.98
125
+ - Disabled: background `#E3E3E5` / `#2A2A2A`, text `#8A8A8A`
126
+
127
+ **Secondary Button (Add to Mobile Order / Continue)**
128
+ - Shape: Pill, 999pt corner radius
129
+ - Background: `#DA291C` (McDonald's Red)
130
+ - Text: `#FFFFFF`, Speedee 15pt weight 800
131
+ - Pressed: background `#B71F14` + scale 0.98
132
+
133
+ **Outline Button (Change Location / Edit)**
134
+ - Background: transparent
135
+ - Border: 1.5pt `#1A1A1A` / `#F2F2F2`
136
+ - Text: `#1A1A1A` / `#F2F2F2`, Speedee 14pt weight 700
137
+ - Corner radius: 999pt (pill)
138
+ - Padding: 12pt vertical, 22pt horizontal
139
+
140
+ **Text Button (View Deal Details / See all)**
141
+ - Text: `#DA291C` (brand red), Speedee 14pt weight 800
142
+ - No background, no border
143
+ - Pressed: opacity 0.6
144
+
145
+ **Icon Button (bell, close, back)**
146
+ - 36pt circle, `#F4F4F5` / `#1C1C1E` background
147
+ - 18pt glyph, `#1A1A1A` / `#F2F2F2`
148
+
149
+ ### Core Atoms
150
+
151
+ **Rewards Points Pill**
152
+ - Pill, 999pt radius, `#FFC72C` fill
153
+ - "2,150 PTS" in `#1A1A1A`, Speedee 12pt weight 800, tabular numerals
154
+ - Sometimes a leading 11pt star glyph in `#1A1A1A`
155
+
156
+ **Deal Flag**
157
+ - Rounded rectangle, 6pt corner radius, `#DA291C` fill
158
+ - "DEAL" / "FREE" / "NEW" in `#FFFFFF`, Speedee 12pt weight 800 UPPERCASE
159
+ - Top-left corner of the deal-tile image, 8pt inset
160
+
161
+ **Progress Bar (Rewards)**
162
+ - Track: `#3A3A3A` (dark) / `#E3E3E5` (light), 8pt tall, 4pt radius
163
+ - Fill: `linear-gradient(90deg, #FFC72C, #FFD75E)`, 4pt radius
164
+ - Caption beneath: "Just {N} points away from {reward}" — secondary text, reward name bold primary
165
+
166
+ **Status Badge**
167
+ - Pill, 999pt radius
168
+ - "ORDER READY" green `#2B8A3E` / white text; "PREPARING" yellow `#FFC72C` / `#1A1A1A`; "DEAL" red
169
+ - Speedee 12pt weight 800 UPPERCASE
170
+
171
+ **Order-Mode Tile**
172
+ - Rounded rectangle, 12pt corner radius
173
+ - Default: 1.5pt `#E3E3E5`/`#2C2C2E` border, transparent fill, icon + label `#1A1A1A`/`#F2F2F2`
174
+ - Active: 1.5pt `#FFC72C` border, `#FFC72C14` fill, icon + label tinted `#FFC72C`
175
+ - 22pt centered icon, 11pt/700 label below
176
+
177
+ ### Navigation
178
+
179
+ **Greeting Header**
180
+ - Leading: 32×28pt arches logomark (yellow, never recolored)
181
+ - Title: "Hi, {name}" — Speedee 22pt/800, the name often tinted `#FFC72C`
182
+ - Trailing: 36pt circular bell button (`#1C1C1E` bg)
183
+ - Scrolls away; a compact title bar replaces it on scroll
184
+
185
+ **Bottom Tab Bar**
186
+ - Height: 70pt incl. safe area
187
+ - Background: `rgba(255,255,255,0.94)` / `rgba(18,18,18,0.94)` with blur, 0.5pt top divider
188
+ - Tabs (5): **Home**, **Rewards**, **Order** (center FAB), **Menu**, **More**
189
+ - Center **Order FAB**: 50pt elevated yellow `#FFC72C` circle, `#1A1A1A` cart glyph, `rgba(255,199,44,0.4) 0 6px 16px` shadow, lifted -6pt above the bar; label "Order" in yellow
190
+ - Side tabs: 22pt glyph; active = filled glyph in `#FFC72C`; inactive = stroke `#888`; labels 10pt/700 always shown
191
+
192
+ **Top Nav (Menu / Deal detail)**
193
+ - Height: 56pt incl. safe area
194
+ - Leading back chevron (circular icon button)
195
+ - Center: screen title, Speedee 18pt/800
196
+ - Trailing: bag / search / store-info as circular icon buttons
197
+ - Sticky category strip on the menu once it scrolls
198
+
199
+ ### Input Fields
200
+
201
+ **Search Field**
202
+ - Height: 48pt
203
+ - Background: `#F4F4F5` / `#1C1C1E`
204
+ - Corner radius: 999pt (pill) — consistent with the rounded language
205
+ - Leading 18pt `magnifyingglass` `#5C5C5C`/`#A0A0A0`
206
+ - Placeholder: "Search the menu" `#5C5C5C`/`#A0A0A0` 15pt
207
+ - Focus: 1.5pt `#FFC72C` border
208
+
209
+ **Form Field (address / payment)**
210
+ - Height: 52pt
211
+ - Background: `#F4F4F5` / `#1C1C1E`
212
+ - Corner radius: 12pt
213
+ - Floating label 11pt `#5C5C5C` on focus; text `#1A1A1A`/`#F2F2F2` 15pt
214
+ - Focus: 1.5pt `#FFC72C` border
215
+ - Error: 1.5pt `#DA291C` border + 12pt red helper text
216
+
217
+ **Promo Code Field**
218
+ - Inline, dashed `#FFC72C` border, 12pt radius
219
+ - "APPLY" trailing text button in `#DA291C` 13pt/800 UPPERCASE
220
+
221
+ ### Distinctive Components
222
+
223
+ **MyMcDonald's Rewards Card**
224
+ - Rounded 16pt card, subtle radial yellow glow in a corner
225
+ - "MyMcDonald's Rewards" eyebrow (12pt/700 secondary UPPERCASE)
226
+ - Points balance: huge `#FFC72C` Speedee 28pt/900 + " points" secondary
227
+ - Progress bar (yellow gradient fill) + "Just {N} points away from {reward}"
228
+ - Tapping opens the full rewards catalog (100 / 200 / 400 / 600 / 1500 pt tiers)
229
+
230
+ **Deal Tile (two-up grid)**
231
+ - Rounded 16pt card
232
+ - Top: ~96pt product photo with a red `DEAL`/`FREE` flag top-left
233
+ - Body: deal name 14pt/800 → offer line 12pt secondary → "or N,NNN pts" in `#FFC72C` 11pt/800 with a leading star
234
+ - Full-tile tap opens the deal detail
235
+
236
+ **Deal / Coupon Detail Card**
237
+ - Dashed `#FFC72C` border, 14pt radius
238
+ - Leading food image strip + body (name 14pt/800, sub 12pt secondary, validity)
239
+ - "Add to order" yellow pill (`#FFC72C`, `#1A1A1A` text) — drops the deal into a mobile order
240
+
241
+ **Order-Mode Selector**
242
+ - "Start an order" card holding four tiles in a row: Pickup / Curbside / Drive Thru / Delivery
243
+ - Selecting a mode reveals the store picker / curbside-spot entry inline
244
+
245
+ **Curbside Check-In Sheet**
246
+ - Bottom sheet, 20pt top corners
247
+ - "I'm here" big yellow pill, spot-number stepper, vehicle description
248
+ - Live status: "We'll bring your order out to spot {N}" with a progress indicator
249
+
250
+ **Order Status Tracker**
251
+ - Stepped: Order Received → Preparing → Almost ready → Ready / Out for delivery
252
+ - Active step in `#FFC72C`; "ORDER READY" badge flips to green `#2B8A3E`
253
+ - Estimated-time number in heavy Speedee, tabular
254
+
255
+ ## 5. Layout Principles
256
+
257
+ ### Spacing System
258
+ - Base unit: 4pt
259
+ - Scale: 4, 8, 12, 16, 20, 24, 32, 40, 48, 64
260
+ - Card vertical gap: 16pt
261
+ - Screen horizontal inset: 18pt
262
+ - Intra-card content gaps: 3–8pt
263
+ - Section header top margin: 16pt
264
+
265
+ ### Grid & Container
266
+ - iPhone: single-column scroll; deals in a 2-up grid (12pt gutter); order modes in a 4-up row
267
+ - Horizontal carousels (featured deals, favorites): 12pt gap, peek of next tile
268
+ - iPad: 2–3 column deal grid, max content width 760pt centered, 24pt insets
269
+ - Order FAB is a fixed 50pt circle centered in the tab bar, lifted -6pt
270
+
271
+ ### Whitespace Philosophy
272
+ - **Rounded and roomy**: pill buttons + 16pt cards + generous gaps keep the tone friendly, never cramped
273
+ - **The rewards card owns the top**: it's the largest, most colorful block — points are the reason to open the app
274
+ - **Photos sell deals**: every deal tile leads with appetizing product imagery; chrome stays minimal around it
275
+ - **Two colors, disciplined**: yellow for primary action + rewards, red for deals/urgency; everything else neutral so the brand colors pop
276
+
277
+ ### Border Radius Scale
278
+ - Square (0pt): full-bleed imagery edges, dividers
279
+ - Subtle (6pt): deal flags, small badges
280
+ - Compact (8pt): chips, inline tags
281
+ - Comfortable (12pt): form fields, order-mode tiles
282
+ - Card (16pt): rewards card, deal tiles, sheets' content cards
283
+ - Sheet (20pt): bottom sheets (curbside, customise, payment)
284
+ - Pill (999pt): all CTAs, search field, rewards/status pills
285
+ - Circle (50%): icon buttons, the order FAB, avatars
286
+
287
+ ## 6. Depth & Elevation
288
+
289
+ McDonald's is mostly flat and rounded; elevation marks the one action the app most wants you to take.
290
+
291
+ | Level | Treatment | Use |
292
+ |-------|-----------|-----|
293
+ | Flat (Level 0) | No shadow, 1pt divider/border | Deal tiles, rewards card, list rows |
294
+ | Lifted (Level 1) | `rgba(0,0,0,0.10) 0 2px 8px` light / `rgba(0,0,0,0.5) 0 4px 12px` dark | Sticky bottom CTA bar, floating coupon |
295
+ | Order FAB (Level 2) | `rgba(255,199,44,0.40) 0 6px 16px` | The center Order FAB — a glowing yellow call-to-action |
296
+ | Sheet (Level 3) | `rgba(0,0,0,0.12) 0 -4px 24px` | Bottom sheets (curbside, customise, payment) |
297
+ | Modal Overlay | `rgba(0,0,0,0.5)` | Dim behind sheets and dialogs |
298
+
299
+ **Shadow Philosophy**: Cards are flat (border/divider defines them). The one element that *glows* is the Order FAB — its yellow-tinted shadow makes it read as the app's heartbeat, lifting above the tab bar. Sticky CTA bars get a soft top shadow so they detach from scrolling content. On dark mode, shadows deepen and the Order FAB's yellow glow is even more prominent; bottom sheets gain a 1pt `#2C2C2E` top border.
300
+
301
+ ### Motion
302
+ - **Add to Mobile Order**: tapping a deal's CTA animates the item flying into the Order FAB; the FAB pulses once (scale 1.0→1.08→1.0, 260ms) with a soft haptic; a count badge pops on the FAB
303
+ - **Rewards progress**: on app open or after earning, the yellow fill animates from current → new over 600ms ease-out; the points number rolls (counting up)
304
+ - **Order-mode select**: tile border + fill cross-fade to yellow over 150ms; the store-picker section expands beneath over 220ms ease-out
305
+ - **Deal tile tap**: shared-element image zoom into the deal detail, 300ms ease-out
306
+ - **Curbside "I'm here"**: button fills, a checkmark draws (200ms), status text crossfades to "On our way to spot N"
307
+ - **Order status step**: each step ticks with a soft pop; the "READY" badge flips green with a 1.05 scale bounce + success haptic
308
+ - **Bottom sheet**: slides up 300ms ease-out; dim fades in parallel; drag-to-dismiss with rubber-banding
309
+ - **Pull-to-refresh**: yellow arches spinner; haptic tick on release
310
+ - **Haptics**: soft impact on add-to-order, light tick on mode select & chip toggle, success notification on order placed / reward redeemed
311
+
312
+ ## 7. Do's and Don'ts
313
+
314
+ ### Do
315
+ - Use Golden Arches Yellow (`#FFC72C`) for the primary CTA, rewards number, active tab, and Order FAB
316
+ - Always put `#1A1A1A` near-black text/icons on yellow — it's a hard brand rule
317
+ - Use McDonald's Red (`#DA291C`) for deal flags, the secondary CTA, and urgency
318
+ - Make the MyMcDonald's Rewards card the home hero — big yellow points number + progress bar
319
+ - Lead every deal tile with appetizing product photography + a red flag
320
+ - Use pill (999pt) buttons and rounded 16pt cards throughout — the language is round and friendly
321
+ - Elevate the center Order FAB with a yellow-tinted glow shadow
322
+ - Offer the four order modes (Pickup / Curbside / Drive Thru / Delivery) as large tiles, active outlined yellow
323
+ - Roll the points number and animate the progress fill when rewards change
324
+ - Use tabular numerals for points, prices, and timers
325
+ - Keep dark mode near-black (`#121212`) with full-saturation food photography
326
+
327
+ ### Don't
328
+ - Don't put white text on yellow — ever; near-black `#1A1A1A` only
329
+ - Don't recolor or restyle the Golden Arches
330
+ - Don't introduce a third loud brand color competing with yellow + red
331
+ - Don't use sharp-cornered buttons — CTAs are pills, cards are 16pt rounded
332
+ - Don't bury the rewards balance — it's the reason the app is opened; it leads the home screen
333
+ - Don't shrink or crop deal photography to thumbnails — product imagery sells the deal
334
+ - Don't hide the Order FAB — it's the elevated center of the tab bar and the app's primary action
335
+ - Don't use pure black (`#000000`) for the dark canvas — `#121212` is correct
336
+ - Don't desaturate food imagery in dark mode — chrome recedes, food does not
337
+ - Don't animate aggressively — motion is cheerful and quick (150–300ms), tied to ordering/rewards
338
+ - Don't use timid sentence-case flags — deal flags are UPPERCASE and punchy
339
+
340
+ ## 8. Responsive Behavior
341
+
342
+ ### Device Sizes
343
+ | Device | Width | Key Changes |
344
+ |--------|-------|-------------|
345
+ | iPhone SE (3rd gen) | 375pt | Single column; deals stay 2-up but shorter photos; compact greeting |
346
+ | iPhone 13/14/15 | 390pt | Standard layout |
347
+ | iPhone 15/16 Pro | 393pt | Dynamic Island accommodated; greeting respects it |
348
+ | iPhone 15/16 Pro Max | 430pt | Larger deal photos; bigger rewards number |
349
+ | iPad (portrait) | 768pt | 2–3 column deal grid; rewards card spans top; content max 760pt centered |
350
+ | iPad (landscape) | 1024pt+ | 3-column deals; persistent order summary panel on the right |
351
+
352
+ ### Dynamic Type
353
+ - Screen titles, section headers, body, deal copy: full scale
354
+ - Rewards number, deal flags, status badges, tab labels, mode-tile labels: FIXED (layout-critical)
355
+ - Prices/points scale one step then truncate gracefully
356
+
357
+ ### Orientation
358
+ - iPhone: portrait-locked for the order flow (category standard)
359
+ - iPad: supports landscape with a 3-column grid + sticky order panel
360
+
361
+ ### Touch Targets
362
+ - Pill CTA: ≥ 48pt tall
363
+ - Order FAB: 50pt circle, 56pt+ hit area
364
+ - Order-mode tile: full-tile tap, ≥ 64pt tall
365
+ - Tab bar icon: 22pt glyph, 44pt+ hit
366
+ - Rewards card: full-card tap to open catalog
367
+
368
+ ### Safe Area Handling
369
+ - Top: greeting + Dynamic Island respected
370
+ - Bottom: Order FAB and tab bar above the home indicator; sticky CTA bar pins above the tab bar
371
+ - Keyboard: address/promo forms scroll above keyboard; curbside sheet positions above it
372
+
373
+ ## 9. Agent Prompt Guide
374
+
375
+ ### Quick Color Reference
376
+ - Canvas (light): `#FFFFFF`
377
+ - Canvas (dark): `#121212`
378
+ - Surface (dark card): `#1C1C1E`
379
+ - Divider: `#E3E3E5` light / `#2C2C2E` dark
380
+ - Text primary: `#1A1A1A` light / `#F2F2F2` dark
381
+ - Text secondary: `#5C5C5C` light / `#A0A0A0` dark
382
+ - Brand Yellow / CTA: **`#FFC72C`** (pressed `#E6B015`) — text on it is **always `#1A1A1A`**
383
+ - Brand Red / deal flag / secondary CTA: **`#DA291C`** (pressed `#B71F14`)
384
+ - Success (Order Ready): `#2B8A3E`
385
+ - Info: `#2E6DB4`
386
+
387
+ ### Example Component Prompts
388
+ - "Build the MyMcDonald's Rewards card in SwiftUI: a 16pt rounded card on `#1C1C1E` with a faint radial `#FFC72C` glow in the top-right corner. Eyebrow 'MyMcDonald's Rewards' in Speedee 12pt/700 `#A0A0A0` UPPERCASE. Below: the points balance '2,150' in Speedee 28pt/900 `#FFC72C` followed by ' points' in 13pt/700 `#A0A0A0` — tabular numerals. Then an 8pt-tall progress bar (track `#3A3A3A`, fill `linear-gradient(90deg, #FFC72C, #FFD75E)`, 4pt radius) at ~62%, and a caption 'Just 350 points away from a free McNuggets' (`#A0A0A0`, 'free McNuggets' bold `#F2F2F2`). On appear, animate the fill and roll the number up over 600ms."
389
+
390
+ - "Create a McDonald's deal tile: 16pt rounded card on `#1C1C1E`. Top ~96pt product photo with a red `#DA291C` 'DEAL' flag (6pt radius, white Speedee 12pt/800 UPPERCASE) inset 8pt top-left. Body: name 'Big Mac' Speedee 14pt/800 `#F2F2F2`; offer 'Buy one, get one $1' 12pt `#A0A0A0`; then 'or 1,900 pts' in `#FFC72C` 11pt/800 with a leading 11pt star. Whole tile tappable. Lay out two per row with a 12pt gutter."
391
+
392
+ - "Render the McDonald's order-mode selector: a card holding four tiles in a row — Pickup, Curbside, Drive Thru, Delivery. Each tile: 12pt rounded, 1.5pt `#2C2C2E` border, transparent fill, a 22pt centered icon and an 11pt/700 label `#F2F2F2`. The active tile uses a 1.5pt `#FFC72C` border, `rgba(255,199,44,0.08)` fill, and tints the icon + label `#FFC72C`. Selecting one expands a store-picker section beneath over 220ms ease-out."
393
+
394
+ - "Build the McDonald's bottom tab bar: 5 tabs — Home, Rewards, Order (center FAB), Menu, More. The center Order item is a 50pt `#FFC72C` circle with a `#1A1A1A` cart glyph, lifted -6pt above the bar, with a `rgba(255,199,44,0.40) 0 6px 16px` shadow and the label 'Order' in `#FFC72C`. Side tabs: 22pt glyph, active = filled glyph `#FFC72C`, inactive = stroke `#888`, labels 10pt/700 always shown. Bar background `rgba(18,18,18,0.94)` blurred with a 0.5pt `#2C2C2E` top divider."
395
+
396
+ - "Create the McDonald's primary button: a pill (999pt radius), `#FFC72C` background, text in `#1A1A1A` (NEVER white) Speedee 15pt/800, 14pt vertical / 28pt horizontal padding, full-width in cart. Pressed: `#E6B015` + scale 0.98. Provide a secondary variant: `#DA291C` background, white text, same shape."
397
+
398
+ - "Render the McDonald's deal/coupon detail card: 14pt rounded card with a dashed `#FFC72C` border. Leading 84pt food-image strip; body with name Speedee 14pt/800 `#F2F2F2`, sub 12pt `#A0A0A0`, validity line; an 'Add to order' yellow pill (`#FFC72C` bg, `#1A1A1A` text, 999pt radius, Speedee 11pt/800 UPPERCASE). Tapping 'Add to order' animates the item flying into the Order FAB, which pulses scale 1.0→1.08→1.0 over 260ms with a soft haptic and a count-badge pop."
399
+
400
+ ### Iteration Guide
401
+ 1. Yellow (`#FFC72C`) carries primary action + rewards; red (`#DA291C`) carries deals + urgency — only these two brand colors
402
+ 2. Text on yellow is ALWAYS `#1A1A1A` near-black, never white — hard brand rule; arches never recolored
403
+ 3. The MyMcDonald's Rewards card is the home hero — huge yellow points number + animated progress bar
404
+ 4. Every deal tile leads with appetizing product photography + a red `DEAL`/`FREE` flag
405
+ 5. All CTAs are pills (999pt); all cards are 16pt rounded — the language is round and friendly
406
+ 6. The center Order FAB is an elevated, yellow-glowing circle — the app's primary action
407
+ 7. Offer Pickup / Curbside / Drive Thru / Delivery as four tiles; the active one is outlined yellow
408
+ 8. Roll the points number and animate the progress fill whenever rewards change
409
+ 9. Dark canvas is `#121212` (near-black); food photography stays full-saturation
410
+ 10. Motion is cheerful and quick (150–300ms), always tied to ordering or rewards (fly-to-FAB, points roll, status flip)