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.
- package/LICENSE +21 -0
- package/README.md +119 -0
- package/dist/__tests__/designStore.test.js +41 -0
- package/dist/__tests__/linter.test.js +23 -0
- package/dist/__tests__/sectionParser.test.js +60 -0
- package/dist/__tests__/server.test.js +129 -0
- package/dist/constants.js +12 -0
- package/dist/data/authoring-guide.md +113 -0
- package/dist/data/designs/airbnb.md +545 -0
- package/dist/data/designs/airtable.md +554 -0
- package/dist/data/designs/apple.md +562 -0
- package/dist/data/designs/binance.md +634 -0
- package/dist/data/designs/bmw-m.md +503 -0
- package/dist/data/designs/bmw.md +544 -0
- package/dist/data/designs/bugatti.md +454 -0
- package/dist/data/designs/cal.md +542 -0
- package/dist/data/designs/card-heavy.md +250 -0
- package/dist/data/designs/claude.md +589 -0
- package/dist/data/designs/clay.md +541 -0
- package/dist/data/designs/clickhouse.md +544 -0
- package/dist/data/designs/cohere.md +451 -0
- package/dist/data/designs/coinbase.md +570 -0
- package/dist/data/designs/composio.md +506 -0
- package/dist/data/designs/content-first.md +236 -0
- package/dist/data/designs/cursor.md +537 -0
- package/dist/data/designs/data-dashboard.md +300 -0
- package/dist/data/designs/dell-1996.md +632 -0
- package/dist/data/designs/elevenlabs.md +504 -0
- package/dist/data/designs/enterprise-neutral.md +252 -0
- package/dist/data/designs/expo.md +526 -0
- package/dist/data/designs/ferrari.md +531 -0
- package/dist/data/designs/figma.md +578 -0
- package/dist/data/designs/framer.md +544 -0
- package/dist/data/designs/hashicorp.md +575 -0
- package/dist/data/designs/hp.md +670 -0
- package/dist/data/designs/ibm.md +550 -0
- package/dist/data/designs/intercom.md +546 -0
- package/dist/data/designs/ios-acorns-android.md +430 -0
- package/dist/data/designs/ios-acorns-expo.md +381 -0
- package/dist/data/designs/ios-acorns-swiftui.md +378 -0
- package/dist/data/designs/ios-acorns.md +384 -0
- package/dist/data/designs/ios-airbnb-android.md +658 -0
- package/dist/data/designs/ios-airbnb-expo.md +457 -0
- package/dist/data/designs/ios-airbnb-swiftui.md +464 -0
- package/dist/data/designs/ios-airbnb.md +410 -0
- package/dist/data/designs/ios-alltrails-android.md +451 -0
- package/dist/data/designs/ios-alltrails-expo.md +400 -0
- package/dist/data/designs/ios-alltrails-swiftui.md +343 -0
- package/dist/data/designs/ios-alltrails.md +344 -0
- package/dist/data/designs/ios-amazon-android.md +686 -0
- package/dist/data/designs/ios-amazon-expo.md +433 -0
- package/dist/data/designs/ios-amazon-music-android.md +416 -0
- package/dist/data/designs/ios-amazon-music-expo.md +368 -0
- package/dist/data/designs/ios-amazon-music-swiftui.md +436 -0
- package/dist/data/designs/ios-amazon-music.md +389 -0
- package/dist/data/designs/ios-amazon-swiftui.md +460 -0
- package/dist/data/designs/ios-amazon.md +440 -0
- package/dist/data/designs/ios-apple-fitness-android.md +462 -0
- package/dist/data/designs/ios-apple-fitness-expo.md +373 -0
- package/dist/data/designs/ios-apple-fitness-swiftui.md +373 -0
- package/dist/data/designs/ios-apple-fitness.md +399 -0
- package/dist/data/designs/ios-apple-maps-android.md +646 -0
- package/dist/data/designs/ios-apple-maps-expo.md +557 -0
- package/dist/data/designs/ios-apple-maps-swiftui.md +588 -0
- package/dist/data/designs/ios-apple-maps.md +447 -0
- package/dist/data/designs/ios-apple-music-android.md +737 -0
- package/dist/data/designs/ios-apple-music-expo.md +596 -0
- package/dist/data/designs/ios-apple-music-swiftui.md +578 -0
- package/dist/data/designs/ios-apple-music.md +494 -0
- package/dist/data/designs/ios-apple-notes-android.md +675 -0
- package/dist/data/designs/ios-apple-notes-expo.md +468 -0
- package/dist/data/designs/ios-apple-notes-swiftui.md +489 -0
- package/dist/data/designs/ios-apple-notes.md +413 -0
- package/dist/data/designs/ios-apple-tv-android.md +405 -0
- package/dist/data/designs/ios-apple-tv-expo.md +341 -0
- package/dist/data/designs/ios-apple-tv-swiftui.md +348 -0
- package/dist/data/designs/ios-apple-tv.md +390 -0
- package/dist/data/designs/ios-apple-wallet-android.md +617 -0
- package/dist/data/designs/ios-apple-wallet-expo.md +487 -0
- package/dist/data/designs/ios-apple-wallet-swiftui.md +425 -0
- package/dist/data/designs/ios-apple-wallet.md +360 -0
- package/dist/data/designs/ios-asana-android.md +435 -0
- package/dist/data/designs/ios-asana-expo.md +411 -0
- package/dist/data/designs/ios-asana-swiftui.md +416 -0
- package/dist/data/designs/ios-asana.md +433 -0
- package/dist/data/designs/ios-audible-android.md +450 -0
- package/dist/data/designs/ios-audible-expo.md +328 -0
- package/dist/data/designs/ios-audible-swiftui.md +418 -0
- package/dist/data/designs/ios-audible.md +364 -0
- package/dist/data/designs/ios-bandcamp-android.md +471 -0
- package/dist/data/designs/ios-bandcamp-expo.md +378 -0
- package/dist/data/designs/ios-bandcamp-swiftui.md +374 -0
- package/dist/data/designs/ios-bandcamp.md +372 -0
- package/dist/data/designs/ios-bear-android.md +496 -0
- package/dist/data/designs/ios-bear-expo.md +449 -0
- package/dist/data/designs/ios-bear-swiftui.md +479 -0
- package/dist/data/designs/ios-bear.md +412 -0
- package/dist/data/designs/ios-bereal-android.md +392 -0
- package/dist/data/designs/ios-bereal-expo.md +299 -0
- package/dist/data/designs/ios-bereal-swiftui.md +319 -0
- package/dist/data/designs/ios-bereal.md +336 -0
- package/dist/data/designs/ios-binance-android.md +481 -0
- package/dist/data/designs/ios-binance-expo.md +404 -0
- package/dist/data/designs/ios-binance-swiftui.md +418 -0
- package/dist/data/designs/ios-binance.md +410 -0
- package/dist/data/designs/ios-bluesky-android.md +442 -0
- package/dist/data/designs/ios-bluesky-expo.md +362 -0
- package/dist/data/designs/ios-bluesky-swiftui.md +328 -0
- package/dist/data/designs/ios-bluesky.md +338 -0
- package/dist/data/designs/ios-booking-android.md +471 -0
- package/dist/data/designs/ios-booking-expo.md +364 -0
- package/dist/data/designs/ios-booking-swiftui.md +377 -0
- package/dist/data/designs/ios-booking.md +346 -0
- package/dist/data/designs/ios-bumble-android.md +756 -0
- package/dist/data/designs/ios-bumble-expo.md +629 -0
- package/dist/data/designs/ios-bumble-swiftui.md +546 -0
- package/dist/data/designs/ios-bumble.md +424 -0
- package/dist/data/designs/ios-cal-ai-android.md +664 -0
- package/dist/data/designs/ios-cal-ai-expo.md +415 -0
- package/dist/data/designs/ios-cal-ai-swiftui.md +486 -0
- package/dist/data/designs/ios-cal-ai.md +387 -0
- package/dist/data/designs/ios-calm-android.md +431 -0
- package/dist/data/designs/ios-calm-expo.md +384 -0
- package/dist/data/designs/ios-calm-swiftui.md +327 -0
- package/dist/data/designs/ios-calm.md +356 -0
- package/dist/data/designs/ios-canva-android.md +469 -0
- package/dist/data/designs/ios-canva-expo.md +374 -0
- package/dist/data/designs/ios-canva-swiftui.md +422 -0
- package/dist/data/designs/ios-canva.md +395 -0
- package/dist/data/designs/ios-cash-app-android.md +601 -0
- package/dist/data/designs/ios-cash-app-expo.md +453 -0
- package/dist/data/designs/ios-cash-app-swiftui.md +463 -0
- package/dist/data/designs/ios-cash-app.md +365 -0
- package/dist/data/designs/ios-character-ai-android.md +489 -0
- package/dist/data/designs/ios-character-ai-expo.md +420 -0
- package/dist/data/designs/ios-character-ai-swiftui.md +417 -0
- package/dist/data/designs/ios-character-ai.md +392 -0
- package/dist/data/designs/ios-charles-schwab-android.md +454 -0
- package/dist/data/designs/ios-charles-schwab-expo.md +388 -0
- package/dist/data/designs/ios-charles-schwab-swiftui.md +394 -0
- package/dist/data/designs/ios-charles-schwab.md +380 -0
- package/dist/data/designs/ios-chatgpt-android.md +753 -0
- package/dist/data/designs/ios-chatgpt-expo.md +644 -0
- package/dist/data/designs/ios-chatgpt-swiftui.md +653 -0
- package/dist/data/designs/ios-chatgpt.md +466 -0
- package/dist/data/designs/ios-chime-android.md +438 -0
- package/dist/data/designs/ios-chime-expo.md +419 -0
- package/dist/data/designs/ios-chime-swiftui.md +383 -0
- package/dist/data/designs/ios-chime.md +389 -0
- package/dist/data/designs/ios-chipotle-android.md +397 -0
- package/dist/data/designs/ios-chipotle-expo.md +301 -0
- package/dist/data/designs/ios-chipotle-swiftui.md +345 -0
- package/dist/data/designs/ios-chipotle.md +340 -0
- package/dist/data/designs/ios-citymapper-android.md +466 -0
- package/dist/data/designs/ios-citymapper-expo.md +420 -0
- package/dist/data/designs/ios-citymapper-swiftui.md +424 -0
- package/dist/data/designs/ios-citymapper.md +394 -0
- package/dist/data/designs/ios-claude-android.md +625 -0
- package/dist/data/designs/ios-claude-expo.md +671 -0
- package/dist/data/designs/ios-claude-swiftui.md +649 -0
- package/dist/data/designs/ios-claude.md +447 -0
- package/dist/data/designs/ios-clickup-android.md +484 -0
- package/dist/data/designs/ios-clickup-expo.md +423 -0
- package/dist/data/designs/ios-clickup-swiftui.md +416 -0
- package/dist/data/designs/ios-clickup.md +431 -0
- package/dist/data/designs/ios-clubhouse-android.md +524 -0
- package/dist/data/designs/ios-clubhouse-expo.md +425 -0
- package/dist/data/designs/ios-clubhouse-swiftui.md +447 -0
- package/dist/data/designs/ios-clubhouse.md +406 -0
- package/dist/data/designs/ios-coffee-meets-bagel-android.md +461 -0
- package/dist/data/designs/ios-coffee-meets-bagel-expo.md +372 -0
- package/dist/data/designs/ios-coffee-meets-bagel-swiftui.md +368 -0
- package/dist/data/designs/ios-coffee-meets-bagel.md +376 -0
- package/dist/data/designs/ios-coinbase-android.md +611 -0
- package/dist/data/designs/ios-coinbase-expo.md +500 -0
- package/dist/data/designs/ios-coinbase-swiftui.md +490 -0
- package/dist/data/designs/ios-coinbase.md +409 -0
- package/dist/data/designs/ios-copilot-android.md +625 -0
- package/dist/data/designs/ios-copilot-expo.md +423 -0
- package/dist/data/designs/ios-copilot-swiftui.md +471 -0
- package/dist/data/designs/ios-copilot.md +367 -0
- package/dist/data/designs/ios-craft-android.md +459 -0
- package/dist/data/designs/ios-craft-expo.md +417 -0
- package/dist/data/designs/ios-craft-swiftui.md +449 -0
- package/dist/data/designs/ios-craft.md +449 -0
- package/dist/data/designs/ios-crunchyroll-android.md +432 -0
- package/dist/data/designs/ios-crunchyroll-expo.md +388 -0
- package/dist/data/designs/ios-crunchyroll-swiftui.md +417 -0
- package/dist/data/designs/ios-crunchyroll.md +388 -0
- package/dist/data/designs/ios-crypto-com-android.md +461 -0
- package/dist/data/designs/ios-crypto-com-expo.md +404 -0
- package/dist/data/designs/ios-crypto-com-swiftui.md +419 -0
- package/dist/data/designs/ios-crypto-com.md +410 -0
- package/dist/data/designs/ios-deepseek-android.md +471 -0
- package/dist/data/designs/ios-deepseek-expo.md +391 -0
- package/dist/data/designs/ios-deepseek-swiftui.md +354 -0
- package/dist/data/designs/ios-deepseek.md +393 -0
- package/dist/data/designs/ios-deezer-android.md +475 -0
- package/dist/data/designs/ios-deezer-expo.md +400 -0
- package/dist/data/designs/ios-deezer-swiftui.md +430 -0
- package/dist/data/designs/ios-deezer.md +388 -0
- package/dist/data/designs/ios-deliveroo-android.md +493 -0
- package/dist/data/designs/ios-deliveroo-expo.md +424 -0
- package/dist/data/designs/ios-deliveroo-swiftui.md +398 -0
- package/dist/data/designs/ios-deliveroo.md +420 -0
- package/dist/data/designs/ios-delta-android.md +439 -0
- package/dist/data/designs/ios-delta-expo.md +381 -0
- package/dist/data/designs/ios-delta-swiftui.md +400 -0
- package/dist/data/designs/ios-delta.md +397 -0
- package/dist/data/designs/ios-discord-android.md +611 -0
- package/dist/data/designs/ios-discord-expo.md +618 -0
- package/dist/data/designs/ios-discord-swiftui.md +630 -0
- package/dist/data/designs/ios-discord.md +451 -0
- package/dist/data/designs/ios-disney-plus-android.md +464 -0
- package/dist/data/designs/ios-disney-plus-expo.md +358 -0
- package/dist/data/designs/ios-disney-plus-swiftui.md +412 -0
- package/dist/data/designs/ios-disney-plus.md +355 -0
- package/dist/data/designs/ios-dominos-android.md +417 -0
- package/dist/data/designs/ios-dominos-expo.md +316 -0
- package/dist/data/designs/ios-dominos-swiftui.md +340 -0
- package/dist/data/designs/ios-dominos.md +347 -0
- package/dist/data/designs/ios-doordash-android.md +527 -0
- package/dist/data/designs/ios-doordash-expo.md +323 -0
- package/dist/data/designs/ios-doordash-swiftui.md +301 -0
- package/dist/data/designs/ios-doordash.md +393 -0
- package/dist/data/designs/ios-dropbox-android.md +522 -0
- package/dist/data/designs/ios-dropbox-expo.md +393 -0
- package/dist/data/designs/ios-dropbox-swiftui.md +400 -0
- package/dist/data/designs/ios-dropbox.md +374 -0
- package/dist/data/designs/ios-duolingo-android.md +641 -0
- package/dist/data/designs/ios-duolingo-expo.md +597 -0
- package/dist/data/designs/ios-duolingo-swiftui.md +539 -0
- package/dist/data/designs/ios-duolingo.md +409 -0
- package/dist/data/designs/ios-ebay-android.md +436 -0
- package/dist/data/designs/ios-ebay-expo.md +344 -0
- package/dist/data/designs/ios-ebay-swiftui.md +308 -0
- package/dist/data/designs/ios-ebay.md +355 -0
- package/dist/data/designs/ios-espn-android.md +468 -0
- package/dist/data/designs/ios-espn-expo.md +387 -0
- package/dist/data/designs/ios-espn-swiftui.md +410 -0
- package/dist/data/designs/ios-espn.md +384 -0
- package/dist/data/designs/ios-etsy-android.md +439 -0
- package/dist/data/designs/ios-etsy-expo.md +351 -0
- package/dist/data/designs/ios-etsy-swiftui.md +296 -0
- package/dist/data/designs/ios-etsy.md +355 -0
- package/dist/data/designs/ios-evernote-android.md +419 -0
- package/dist/data/designs/ios-evernote-expo.md +379 -0
- package/dist/data/designs/ios-evernote-swiftui.md +380 -0
- package/dist/data/designs/ios-evernote.md +416 -0
- package/dist/data/designs/ios-expedia-android.md +451 -0
- package/dist/data/designs/ios-expedia-expo.md +433 -0
- package/dist/data/designs/ios-expedia-swiftui.md +399 -0
- package/dist/data/designs/ios-expedia.md +431 -0
- package/dist/data/designs/ios-facebook-android.md +628 -0
- package/dist/data/designs/ios-facebook-expo.md +471 -0
- package/dist/data/designs/ios-facebook-swiftui.md +459 -0
- package/dist/data/designs/ios-facebook.md +452 -0
- package/dist/data/designs/ios-feeld-android.md +431 -0
- package/dist/data/designs/ios-feeld-expo.md +379 -0
- package/dist/data/designs/ios-feeld-swiftui.md +401 -0
- package/dist/data/designs/ios-feeld.md +378 -0
- package/dist/data/designs/ios-fidelity-android.md +426 -0
- package/dist/data/designs/ios-fidelity-expo.md +396 -0
- package/dist/data/designs/ios-fidelity-swiftui.md +398 -0
- package/dist/data/designs/ios-fidelity.md +387 -0
- package/dist/data/designs/ios-figma-android.md +578 -0
- package/dist/data/designs/ios-figma-expo.md +504 -0
- package/dist/data/designs/ios-figma-swiftui.md +542 -0
- package/dist/data/designs/ios-figma.md +404 -0
- package/dist/data/designs/ios-fitbit-android.md +439 -0
- package/dist/data/designs/ios-fitbit-expo.md +389 -0
- package/dist/data/designs/ios-fitbit-swiftui.md +380 -0
- package/dist/data/designs/ios-fitbit.md +396 -0
- package/dist/data/designs/ios-flickr-android.md +506 -0
- package/dist/data/designs/ios-flickr-expo.md +434 -0
- package/dist/data/designs/ios-flickr-swiftui.md +421 -0
- package/dist/data/designs/ios-flickr.md +394 -0
- package/dist/data/designs/ios-flighty-android.md +418 -0
- package/dist/data/designs/ios-flighty-expo.md +353 -0
- package/dist/data/designs/ios-flighty-swiftui.md +337 -0
- package/dist/data/designs/ios-flighty.md +357 -0
- package/dist/data/designs/ios-flo-android.md +447 -0
- package/dist/data/designs/ios-flo-expo.md +363 -0
- package/dist/data/designs/ios-flo-swiftui.md +355 -0
- package/dist/data/designs/ios-flo.md +351 -0
- package/dist/data/designs/ios-garmin-connect-android.md +531 -0
- package/dist/data/designs/ios-garmin-connect-expo.md +429 -0
- package/dist/data/designs/ios-garmin-connect-swiftui.md +459 -0
- package/dist/data/designs/ios-garmin-connect.md +419 -0
- package/dist/data/designs/ios-gas-android.md +438 -0
- package/dist/data/designs/ios-gas-expo.md +350 -0
- package/dist/data/designs/ios-gas-swiftui.md +329 -0
- package/dist/data/designs/ios-gas.md +387 -0
- package/dist/data/designs/ios-gemini-android.md +568 -0
- package/dist/data/designs/ios-gemini-expo.md +416 -0
- package/dist/data/designs/ios-gemini-swiftui.md +424 -0
- package/dist/data/designs/ios-gemini.md +351 -0
- package/dist/data/designs/ios-github-android.md +507 -0
- package/dist/data/designs/ios-github-expo.md +486 -0
- package/dist/data/designs/ios-github-swiftui.md +459 -0
- package/dist/data/designs/ios-github.md +394 -0
- package/dist/data/designs/ios-gmail-android.md +548 -0
- package/dist/data/designs/ios-gmail-expo.md +457 -0
- package/dist/data/designs/ios-gmail-swiftui.md +470 -0
- package/dist/data/designs/ios-gmail.md +441 -0
- package/dist/data/designs/ios-goodreads-android.md +436 -0
- package/dist/data/designs/ios-goodreads-expo.md +407 -0
- package/dist/data/designs/ios-goodreads-swiftui.md +378 -0
- package/dist/data/designs/ios-goodreads.md +385 -0
- package/dist/data/designs/ios-google-calendar-android.md +565 -0
- package/dist/data/designs/ios-google-calendar-expo.md +616 -0
- package/dist/data/designs/ios-google-calendar-swiftui.md +585 -0
- package/dist/data/designs/ios-google-calendar.md +431 -0
- package/dist/data/designs/ios-google-maps-android.md +614 -0
- package/dist/data/designs/ios-google-maps-expo.md +515 -0
- package/dist/data/designs/ios-google-maps-swiftui.md +484 -0
- package/dist/data/designs/ios-google-maps.md +451 -0
- package/dist/data/designs/ios-grammarly-android.md +449 -0
- package/dist/data/designs/ios-grammarly-expo.md +383 -0
- package/dist/data/designs/ios-grammarly-swiftui.md +381 -0
- package/dist/data/designs/ios-grammarly.md +392 -0
- package/dist/data/designs/ios-grindr-android.md +494 -0
- package/dist/data/designs/ios-grindr-expo.md +358 -0
- package/dist/data/designs/ios-grindr-swiftui.md +357 -0
- package/dist/data/designs/ios-grindr.md +356 -0
- package/dist/data/designs/ios-grok-android.md +471 -0
- package/dist/data/designs/ios-grok-expo.md +388 -0
- package/dist/data/designs/ios-grok-swiftui.md +397 -0
- package/dist/data/designs/ios-grok.md +357 -0
- package/dist/data/designs/ios-groupme-android.md +551 -0
- package/dist/data/designs/ios-groupme-expo.md +442 -0
- package/dist/data/designs/ios-groupme-swiftui.md +439 -0
- package/dist/data/designs/ios-groupme.md +424 -0
- package/dist/data/designs/ios-grubhub-android.md +506 -0
- package/dist/data/designs/ios-grubhub-expo.md +428 -0
- package/dist/data/designs/ios-grubhub-swiftui.md +408 -0
- package/dist/data/designs/ios-grubhub.md +427 -0
- package/dist/data/designs/ios-happn-android.md +464 -0
- package/dist/data/designs/ios-happn-expo.md +411 -0
- package/dist/data/designs/ios-happn-swiftui.md +401 -0
- package/dist/data/designs/ios-happn.md +400 -0
- package/dist/data/designs/ios-headspace-android.md +688 -0
- package/dist/data/designs/ios-headspace-expo.md +574 -0
- package/dist/data/designs/ios-headspace-swiftui.md +498 -0
- package/dist/data/designs/ios-headspace.md +430 -0
- package/dist/data/designs/ios-hevy-android.md +473 -0
- package/dist/data/designs/ios-hevy-expo.md +405 -0
- package/dist/data/designs/ios-hevy-swiftui.md +367 -0
- package/dist/data/designs/ios-hevy.md +410 -0
- package/dist/data/designs/ios-hinge-android.md +743 -0
- package/dist/data/designs/ios-hinge-expo.md +580 -0
- package/dist/data/designs/ios-hinge-swiftui.md +512 -0
- package/dist/data/designs/ios-hinge.md +405 -0
- package/dist/data/designs/ios-hopper-android.md +440 -0
- package/dist/data/designs/ios-hopper-expo.md +353 -0
- package/dist/data/designs/ios-hopper-swiftui.md +340 -0
- package/dist/data/designs/ios-hopper.md +354 -0
- package/dist/data/designs/ios-hulu-android.md +435 -0
- package/dist/data/designs/ios-hulu-expo.md +331 -0
- package/dist/data/designs/ios-hulu-swiftui.md +374 -0
- package/dist/data/designs/ios-hulu.md +353 -0
- package/dist/data/designs/ios-iheartradio-android.md +481 -0
- package/dist/data/designs/ios-iheartradio-expo.md +417 -0
- package/dist/data/designs/ios-iheartradio-swiftui.md +423 -0
- package/dist/data/designs/ios-iheartradio.md +381 -0
- package/dist/data/designs/ios-imessage-android.md +426 -0
- package/dist/data/designs/ios-imessage-expo.md +384 -0
- package/dist/data/designs/ios-imessage-swiftui.md +378 -0
- package/dist/data/designs/ios-imessage.md +394 -0
- package/dist/data/designs/ios-instacart-android.md +471 -0
- package/dist/data/designs/ios-instacart-expo.md +349 -0
- package/dist/data/designs/ios-instacart-swiftui.md +378 -0
- package/dist/data/designs/ios-instacart.md +360 -0
- package/dist/data/designs/ios-instagram-android.md +646 -0
- package/dist/data/designs/ios-instagram-expo.md +310 -0
- package/dist/data/designs/ios-instagram-swiftui.md +333 -0
- package/dist/data/designs/ios-instagram.md +376 -0
- package/dist/data/designs/ios-jira-android.md +432 -0
- package/dist/data/designs/ios-jira-expo.md +375 -0
- package/dist/data/designs/ios-jira-swiftui.md +433 -0
- package/dist/data/designs/ios-jira.md +424 -0
- package/dist/data/designs/ios-kakaotalk-android.md +491 -0
- package/dist/data/designs/ios-kakaotalk-expo.md +418 -0
- package/dist/data/designs/ios-kakaotalk-swiftui.md +406 -0
- package/dist/data/designs/ios-kakaotalk.md +414 -0
- package/dist/data/designs/ios-kayak-android.md +466 -0
- package/dist/data/designs/ios-kayak-expo.md +407 -0
- package/dist/data/designs/ios-kayak-swiftui.md +426 -0
- package/dist/data/designs/ios-kayak.md +392 -0
- package/dist/data/designs/ios-kick-android.md +487 -0
- package/dist/data/designs/ios-kick-expo.md +434 -0
- package/dist/data/designs/ios-kick-swiftui.md +429 -0
- package/dist/data/designs/ios-kick.md +389 -0
- package/dist/data/designs/ios-kik-android.md +433 -0
- package/dist/data/designs/ios-kik-expo.md +363 -0
- package/dist/data/designs/ios-kik-swiftui.md +363 -0
- package/dist/data/designs/ios-kik.md +392 -0
- package/dist/data/designs/ios-kindle-android.md +439 -0
- package/dist/data/designs/ios-kindle-expo.md +356 -0
- package/dist/data/designs/ios-kindle-swiftui.md +372 -0
- package/dist/data/designs/ios-kindle.md +369 -0
- package/dist/data/designs/ios-klarna-android.md +420 -0
- package/dist/data/designs/ios-klarna-expo.md +349 -0
- package/dist/data/designs/ios-klarna-swiftui.md +360 -0
- package/dist/data/designs/ios-klarna.md +356 -0
- package/dist/data/designs/ios-lemon8-android.md +492 -0
- package/dist/data/designs/ios-lemon8-expo.md +413 -0
- package/dist/data/designs/ios-lemon8-swiftui.md +428 -0
- package/dist/data/designs/ios-lemon8.md +378 -0
- package/dist/data/designs/ios-life360-android.md +474 -0
- package/dist/data/designs/ios-life360-expo.md +375 -0
- package/dist/data/designs/ios-life360-swiftui.md +390 -0
- package/dist/data/designs/ios-life360.md +402 -0
- package/dist/data/designs/ios-line-android.md +517 -0
- package/dist/data/designs/ios-line-expo.md +402 -0
- package/dist/data/designs/ios-line-swiftui.md +361 -0
- package/dist/data/designs/ios-line.md +362 -0
- package/dist/data/designs/ios-linear-android.md +457 -0
- package/dist/data/designs/ios-linear-expo.md +367 -0
- package/dist/data/designs/ios-linear-swiftui.md +401 -0
- package/dist/data/designs/ios-linear.md +368 -0
- package/dist/data/designs/ios-linkedin-android.md +620 -0
- package/dist/data/designs/ios-linkedin-expo.md +469 -0
- package/dist/data/designs/ios-linkedin-swiftui.md +472 -0
- package/dist/data/designs/ios-linkedin.md +444 -0
- package/dist/data/designs/ios-locket-android.md +500 -0
- package/dist/data/designs/ios-locket-expo.md +375 -0
- package/dist/data/designs/ios-locket-swiftui.md +375 -0
- package/dist/data/designs/ios-locket.md +381 -0
- package/dist/data/designs/ios-lyft-android.md +406 -0
- package/dist/data/designs/ios-lyft-expo.md +333 -0
- package/dist/data/designs/ios-lyft-swiftui.md +315 -0
- package/dist/data/designs/ios-lyft.md +337 -0
- package/dist/data/designs/ios-marriott-bonvoy-android.md +488 -0
- package/dist/data/designs/ios-marriott-bonvoy-expo.md +412 -0
- package/dist/data/designs/ios-marriott-bonvoy-swiftui.md +461 -0
- package/dist/data/designs/ios-marriott-bonvoy.md +379 -0
- package/dist/data/designs/ios-mastodon-android.md +476 -0
- package/dist/data/designs/ios-mastodon-expo.md +379 -0
- package/dist/data/designs/ios-mastodon-swiftui.md +349 -0
- package/dist/data/designs/ios-mastodon.md +337 -0
- package/dist/data/designs/ios-match-android.md +496 -0
- package/dist/data/designs/ios-match-expo.md +393 -0
- package/dist/data/designs/ios-match-swiftui.md +450 -0
- package/dist/data/designs/ios-match.md +382 -0
- package/dist/data/designs/ios-max-android.md +454 -0
- package/dist/data/designs/ios-max-expo.md +342 -0
- package/dist/data/designs/ios-max-swiftui.md +332 -0
- package/dist/data/designs/ios-max.md +352 -0
- package/dist/data/designs/ios-mcdonalds-android.md +497 -0
- package/dist/data/designs/ios-mcdonalds-expo.md +382 -0
- package/dist/data/designs/ios-mcdonalds-swiftui.md +394 -0
- package/dist/data/designs/ios-mcdonalds.md +410 -0
- package/dist/data/designs/ios-messenger-android.md +523 -0
- package/dist/data/designs/ios-messenger-expo.md +379 -0
- package/dist/data/designs/ios-messenger-swiftui.md +369 -0
- package/dist/data/designs/ios-messenger.md +361 -0
- package/dist/data/designs/ios-microsoft-teams-android.md +446 -0
- package/dist/data/designs/ios-microsoft-teams-expo.md +362 -0
- package/dist/data/designs/ios-microsoft-teams-swiftui.md +384 -0
- package/dist/data/designs/ios-microsoft-teams.md +359 -0
- package/dist/data/designs/ios-midjourney-android.md +503 -0
- package/dist/data/designs/ios-midjourney-expo.md +406 -0
- package/dist/data/designs/ios-midjourney-swiftui.md +376 -0
- package/dist/data/designs/ios-midjourney.md +407 -0
- package/dist/data/designs/ios-miro-android.md +475 -0
- package/dist/data/designs/ios-miro-expo.md +421 -0
- package/dist/data/designs/ios-miro-swiftui.md +407 -0
- package/dist/data/designs/ios-miro.md +424 -0
- package/dist/data/designs/ios-monday-android.md +426 -0
- package/dist/data/designs/ios-monday-expo.md +382 -0
- package/dist/data/designs/ios-monday-swiftui.md +386 -0
- package/dist/data/designs/ios-monday.md +415 -0
- package/dist/data/designs/ios-monzo-android.md +423 -0
- package/dist/data/designs/ios-monzo-expo.md +391 -0
- package/dist/data/designs/ios-monzo-swiftui.md +371 -0
- package/dist/data/designs/ios-monzo.md +382 -0
- package/dist/data/designs/ios-myfitnesspal-android.md +631 -0
- package/dist/data/designs/ios-myfitnesspal-expo.md +489 -0
- package/dist/data/designs/ios-myfitnesspal-swiftui.md +500 -0
- package/dist/data/designs/ios-myfitnesspal.md +408 -0
- package/dist/data/designs/ios-netflix-android.md +570 -0
- package/dist/data/designs/ios-netflix-expo.md +528 -0
- package/dist/data/designs/ios-netflix-swiftui.md +543 -0
- package/dist/data/designs/ios-netflix.md +476 -0
- package/dist/data/designs/ios-nextdoor-android.md +399 -0
- package/dist/data/designs/ios-nextdoor-expo.md +317 -0
- package/dist/data/designs/ios-nextdoor-swiftui.md +343 -0
- package/dist/data/designs/ios-nextdoor.md +332 -0
- package/dist/data/designs/ios-nike-run-club-android.md +598 -0
- package/dist/data/designs/ios-nike-run-club-expo.md +459 -0
- package/dist/data/designs/ios-nike-run-club-swiftui.md +474 -0
- package/dist/data/designs/ios-nike-run-club.md +400 -0
- package/dist/data/designs/ios-noom-android.md +455 -0
- package/dist/data/designs/ios-noom-expo.md +362 -0
- package/dist/data/designs/ios-noom-swiftui.md +369 -0
- package/dist/data/designs/ios-noom.md +404 -0
- package/dist/data/designs/ios-notion-android.md +575 -0
- package/dist/data/designs/ios-notion-expo.md +543 -0
- package/dist/data/designs/ios-notion-swiftui.md +562 -0
- package/dist/data/designs/ios-notion.md +506 -0
- package/dist/data/designs/ios-nubank-android.md +447 -0
- package/dist/data/designs/ios-nubank-expo.md +391 -0
- package/dist/data/designs/ios-nubank-swiftui.md +391 -0
- package/dist/data/designs/ios-nubank.md +388 -0
- package/dist/data/designs/ios-obsidian-android.md +456 -0
- package/dist/data/designs/ios-obsidian-expo.md +401 -0
- package/dist/data/designs/ios-obsidian-swiftui.md +412 -0
- package/dist/data/designs/ios-obsidian.md +363 -0
- package/dist/data/designs/ios-okcupid-android.md +496 -0
- package/dist/data/designs/ios-okcupid-expo.md +378 -0
- package/dist/data/designs/ios-okcupid-swiftui.md +343 -0
- package/dist/data/designs/ios-okcupid.md +364 -0
- package/dist/data/designs/ios-opentable-android.md +426 -0
- package/dist/data/designs/ios-opentable-expo.md +350 -0
- package/dist/data/designs/ios-opentable-swiftui.md +328 -0
- package/dist/data/designs/ios-opentable.md +411 -0
- package/dist/data/designs/ios-oura-android.md +426 -0
- package/dist/data/designs/ios-oura-expo.md +353 -0
- package/dist/data/designs/ios-oura-swiftui.md +327 -0
- package/dist/data/designs/ios-oura.md +356 -0
- package/dist/data/designs/ios-overcast-android.md +508 -0
- package/dist/data/designs/ios-overcast-expo.md +420 -0
- package/dist/data/designs/ios-overcast-swiftui.md +427 -0
- package/dist/data/designs/ios-overcast.md +414 -0
- package/dist/data/designs/ios-pandora-android.md +477 -0
- package/dist/data/designs/ios-pandora-expo.md +406 -0
- package/dist/data/designs/ios-pandora-swiftui.md +413 -0
- package/dist/data/designs/ios-pandora.md +366 -0
- package/dist/data/designs/ios-panera-android.md +414 -0
- package/dist/data/designs/ios-panera-expo.md +352 -0
- package/dist/data/designs/ios-panera-swiftui.md +369 -0
- package/dist/data/designs/ios-panera.md +412 -0
- package/dist/data/designs/ios-paramount-plus-android.md +415 -0
- package/dist/data/designs/ios-paramount-plus-expo.md +363 -0
- package/dist/data/designs/ios-paramount-plus-swiftui.md +372 -0
- package/dist/data/designs/ios-paramount-plus.md +400 -0
- package/dist/data/designs/ios-paypal-android.md +535 -0
- package/dist/data/designs/ios-paypal-expo.md +429 -0
- package/dist/data/designs/ios-paypal-swiftui.md +466 -0
- package/dist/data/designs/ios-paypal.md +393 -0
- package/dist/data/designs/ios-peacock-android.md +453 -0
- package/dist/data/designs/ios-peacock-expo.md +393 -0
- package/dist/data/designs/ios-peacock-swiftui.md +420 -0
- package/dist/data/designs/ios-peacock.md +411 -0
- package/dist/data/designs/ios-peloton-android.md +470 -0
- package/dist/data/designs/ios-peloton-expo.md +401 -0
- package/dist/data/designs/ios-peloton-swiftui.md +409 -0
- package/dist/data/designs/ios-peloton.md +415 -0
- package/dist/data/designs/ios-perplexity-android.md +553 -0
- package/dist/data/designs/ios-perplexity-expo.md +703 -0
- package/dist/data/designs/ios-perplexity-swiftui.md +602 -0
- package/dist/data/designs/ios-perplexity.md +453 -0
- package/dist/data/designs/ios-pinterest-android.md +551 -0
- package/dist/data/designs/ios-pinterest-expo.md +466 -0
- package/dist/data/designs/ios-pinterest-swiftui.md +464 -0
- package/dist/data/designs/ios-pinterest.md +427 -0
- package/dist/data/designs/ios-plenty-of-fish-android.md +462 -0
- package/dist/data/designs/ios-plenty-of-fish-expo.md +380 -0
- package/dist/data/designs/ios-plenty-of-fish-swiftui.md +429 -0
- package/dist/data/designs/ios-plenty-of-fish.md +387 -0
- package/dist/data/designs/ios-plex-android.md +403 -0
- package/dist/data/designs/ios-plex-expo.md +333 -0
- package/dist/data/designs/ios-plex-swiftui.md +349 -0
- package/dist/data/designs/ios-plex.md +379 -0
- package/dist/data/designs/ios-pluto-tv-android.md +413 -0
- package/dist/data/designs/ios-pluto-tv-expo.md +379 -0
- package/dist/data/designs/ios-pluto-tv-swiftui.md +411 -0
- package/dist/data/designs/ios-pluto-tv.md +362 -0
- package/dist/data/designs/ios-pocket-casts-android.md +492 -0
- package/dist/data/designs/ios-pocket-casts-expo.md +430 -0
- package/dist/data/designs/ios-pocket-casts-swiftui.md +479 -0
- package/dist/data/designs/ios-pocket-casts.md +427 -0
- package/dist/data/designs/ios-postman-android.md +472 -0
- package/dist/data/designs/ios-postman-expo.md +372 -0
- package/dist/data/designs/ios-postman-swiftui.md +377 -0
- package/dist/data/designs/ios-postman.md +405 -0
- package/dist/data/designs/ios-prime-video-android.md +447 -0
- package/dist/data/designs/ios-prime-video-expo.md +365 -0
- package/dist/data/designs/ios-prime-video-swiftui.md +333 -0
- package/dist/data/designs/ios-prime-video.md +351 -0
- package/dist/data/designs/ios-quora-android.md +513 -0
- package/dist/data/designs/ios-quora-expo.md +362 -0
- package/dist/data/designs/ios-quora-swiftui.md +375 -0
- package/dist/data/designs/ios-quora.md +359 -0
- package/dist/data/designs/ios-raya-android.md +401 -0
- package/dist/data/designs/ios-raya-expo.md +366 -0
- package/dist/data/designs/ios-raya-swiftui.md +393 -0
- package/dist/data/designs/ios-raya.md +366 -0
- package/dist/data/designs/ios-reddit-android.md +605 -0
- package/dist/data/designs/ios-reddit-expo.md +553 -0
- package/dist/data/designs/ios-reddit-swiftui.md +514 -0
- package/dist/data/designs/ios-reddit.md +460 -0
- package/dist/data/designs/ios-resy-android.md +430 -0
- package/dist/data/designs/ios-resy-expo.md +344 -0
- package/dist/data/designs/ios-resy-swiftui.md +330 -0
- package/dist/data/designs/ios-resy.md +412 -0
- package/dist/data/designs/ios-revolut-android.md +433 -0
- package/dist/data/designs/ios-revolut-expo.md +379 -0
- package/dist/data/designs/ios-revolut-swiftui.md +372 -0
- package/dist/data/designs/ios-revolut.md +353 -0
- package/dist/data/designs/ios-robinhood-android.md +587 -0
- package/dist/data/designs/ios-robinhood-expo.md +416 -0
- package/dist/data/designs/ios-robinhood-swiftui.md +431 -0
- package/dist/data/designs/ios-robinhood.md +380 -0
- package/dist/data/designs/ios-runna-android.md +485 -0
- package/dist/data/designs/ios-runna-expo.md +388 -0
- package/dist/data/designs/ios-runna-swiftui.md +413 -0
- package/dist/data/designs/ios-runna.md +390 -0
- package/dist/data/designs/ios-shazam-android.md +436 -0
- package/dist/data/designs/ios-shazam-expo.md +348 -0
- package/dist/data/designs/ios-shazam-swiftui.md +394 -0
- package/dist/data/designs/ios-shazam.md +338 -0
- package/dist/data/designs/ios-signal-android.md +462 -0
- package/dist/data/designs/ios-signal-expo.md +361 -0
- package/dist/data/designs/ios-signal-swiftui.md +350 -0
- package/dist/data/designs/ios-signal.md +357 -0
- package/dist/data/designs/ios-skype-android.md +398 -0
- package/dist/data/designs/ios-skype-expo.md +368 -0
- package/dist/data/designs/ios-skype-swiftui.md +369 -0
- package/dist/data/designs/ios-skype.md +406 -0
- package/dist/data/designs/ios-skyscanner-android.md +451 -0
- package/dist/data/designs/ios-skyscanner-expo.md +423 -0
- package/dist/data/designs/ios-skyscanner-swiftui.md +419 -0
- package/dist/data/designs/ios-skyscanner.md +421 -0
- package/dist/data/designs/ios-slack-android.md +695 -0
- package/dist/data/designs/ios-slack-expo.md +601 -0
- package/dist/data/designs/ios-slack-swiftui.md +594 -0
- package/dist/data/designs/ios-slack.md +474 -0
- package/dist/data/designs/ios-sleep-cycle-android.md +436 -0
- package/dist/data/designs/ios-sleep-cycle-expo.md +380 -0
- package/dist/data/designs/ios-sleep-cycle-swiftui.md +409 -0
- package/dist/data/designs/ios-sleep-cycle.md +386 -0
- package/dist/data/designs/ios-snapchat-android.md +671 -0
- package/dist/data/designs/ios-snapchat-expo.md +528 -0
- package/dist/data/designs/ios-snapchat-swiftui.md +557 -0
- package/dist/data/designs/ios-snapchat.md +478 -0
- package/dist/data/designs/ios-sofi-android.md +446 -0
- package/dist/data/designs/ios-sofi-expo.md +387 -0
- package/dist/data/designs/ios-sofi-swiftui.md +379 -0
- package/dist/data/designs/ios-sofi.md +385 -0
- package/dist/data/designs/ios-soundcloud-android.md +488 -0
- package/dist/data/designs/ios-soundcloud-expo.md +364 -0
- package/dist/data/designs/ios-soundcloud-swiftui.md +399 -0
- package/dist/data/designs/ios-soundcloud.md +359 -0
- package/dist/data/designs/ios-southwest-android.md +446 -0
- package/dist/data/designs/ios-southwest-expo.md +389 -0
- package/dist/data/designs/ios-southwest-swiftui.md +405 -0
- package/dist/data/designs/ios-southwest.md +405 -0
- package/dist/data/designs/ios-spotify-android.md +427 -0
- package/dist/data/designs/ios-spotify-expo.md +321 -0
- package/dist/data/designs/ios-spotify-swiftui.md +312 -0
- package/dist/data/designs/ios-spotify.md +366 -0
- package/dist/data/designs/ios-starbucks-android.md +622 -0
- package/dist/data/designs/ios-starbucks-expo.md +497 -0
- package/dist/data/designs/ios-starbucks-swiftui.md +500 -0
- package/dist/data/designs/ios-starbucks.md +440 -0
- package/dist/data/designs/ios-strava-android.md +656 -0
- package/dist/data/designs/ios-strava-expo.md +501 -0
- package/dist/data/designs/ios-strava-swiftui.md +465 -0
- package/dist/data/designs/ios-strava.md +433 -0
- package/dist/data/designs/ios-strong-android.md +479 -0
- package/dist/data/designs/ios-strong-expo.md +396 -0
- package/dist/data/designs/ios-strong-swiftui.md +363 -0
- package/dist/data/designs/ios-strong.md +415 -0
- package/dist/data/designs/ios-substack-android.md +440 -0
- package/dist/data/designs/ios-substack-expo.md +395 -0
- package/dist/data/designs/ios-substack-swiftui.md +371 -0
- package/dist/data/designs/ios-substack.md +372 -0
- package/dist/data/designs/ios-swiggy-android.md +549 -0
- package/dist/data/designs/ios-swiggy-expo.md +443 -0
- package/dist/data/designs/ios-swiggy-swiftui.md +471 -0
- package/dist/data/designs/ios-swiggy.md +432 -0
- package/dist/data/designs/ios-taco-bell-android.md +529 -0
- package/dist/data/designs/ios-taco-bell-expo.md +407 -0
- package/dist/data/designs/ios-taco-bell-swiftui.md +419 -0
- package/dist/data/designs/ios-taco-bell.md +430 -0
- package/dist/data/designs/ios-telegram-android.md +676 -0
- package/dist/data/designs/ios-telegram-expo.md +594 -0
- package/dist/data/designs/ios-telegram-swiftui.md +518 -0
- package/dist/data/designs/ios-telegram.md +458 -0
- package/dist/data/designs/ios-the-league-android.md +454 -0
- package/dist/data/designs/ios-the-league-expo.md +391 -0
- package/dist/data/designs/ios-the-league-swiftui.md +409 -0
- package/dist/data/designs/ios-the-league.md +368 -0
- package/dist/data/designs/ios-things-3-android.md +421 -0
- package/dist/data/designs/ios-things-3-expo.md +351 -0
- package/dist/data/designs/ios-things-3-swiftui.md +359 -0
- package/dist/data/designs/ios-things-3.md +339 -0
- package/dist/data/designs/ios-threads-android.md +588 -0
- package/dist/data/designs/ios-threads-expo.md +468 -0
- package/dist/data/designs/ios-threads-swiftui.md +452 -0
- package/dist/data/designs/ios-threads.md +424 -0
- package/dist/data/designs/ios-threema-android.md +496 -0
- package/dist/data/designs/ios-threema-expo.md +415 -0
- package/dist/data/designs/ios-threema-swiftui.md +446 -0
- package/dist/data/designs/ios-threema.md +397 -0
- package/dist/data/designs/ios-tidal-android.md +398 -0
- package/dist/data/designs/ios-tidal-expo.md +323 -0
- package/dist/data/designs/ios-tidal-swiftui.md +340 -0
- package/dist/data/designs/ios-tidal.md +351 -0
- package/dist/data/designs/ios-tiktok-android.md +654 -0
- package/dist/data/designs/ios-tiktok-expo.md +578 -0
- package/dist/data/designs/ios-tiktok-swiftui.md +595 -0
- package/dist/data/designs/ios-tiktok.md +387 -0
- package/dist/data/designs/ios-tinder-android.md +681 -0
- package/dist/data/designs/ios-tinder-expo.md +512 -0
- package/dist/data/designs/ios-tinder-swiftui.md +497 -0
- package/dist/data/designs/ios-tinder.md +415 -0
- package/dist/data/designs/ios-todoist-android.md +711 -0
- package/dist/data/designs/ios-todoist-expo.md +607 -0
- package/dist/data/designs/ios-todoist-swiftui.md +573 -0
- package/dist/data/designs/ios-todoist.md +418 -0
- package/dist/data/designs/ios-trello-android.md +412 -0
- package/dist/data/designs/ios-trello-expo.md +332 -0
- package/dist/data/designs/ios-trello-swiftui.md +359 -0
- package/dist/data/designs/ios-trello.md +344 -0
- package/dist/data/designs/ios-tripadvisor-android.md +450 -0
- package/dist/data/designs/ios-tripadvisor-expo.md +322 -0
- package/dist/data/designs/ios-tripadvisor-swiftui.md +326 -0
- package/dist/data/designs/ios-tripadvisor.md +356 -0
- package/dist/data/designs/ios-tubi-android.md +453 -0
- package/dist/data/designs/ios-tubi-expo.md +419 -0
- package/dist/data/designs/ios-tubi-swiftui.md +463 -0
- package/dist/data/designs/ios-tubi.md +383 -0
- package/dist/data/designs/ios-tumblr-android.md +462 -0
- package/dist/data/designs/ios-tumblr-expo.md +374 -0
- package/dist/data/designs/ios-tumblr-swiftui.md +380 -0
- package/dist/data/designs/ios-tumblr.md +337 -0
- package/dist/data/designs/ios-turo-android.md +500 -0
- package/dist/data/designs/ios-turo-expo.md +454 -0
- package/dist/data/designs/ios-turo-swiftui.md +447 -0
- package/dist/data/designs/ios-turo.md +392 -0
- package/dist/data/designs/ios-twitch-android.md +412 -0
- package/dist/data/designs/ios-twitch-expo.md +342 -0
- package/dist/data/designs/ios-twitch-swiftui.md +328 -0
- package/dist/data/designs/ios-twitch.md +354 -0
- package/dist/data/designs/ios-uber-android.md +637 -0
- package/dist/data/designs/ios-uber-eats-android.md +502 -0
- package/dist/data/designs/ios-uber-eats-expo.md +407 -0
- package/dist/data/designs/ios-uber-eats-swiftui.md +393 -0
- package/dist/data/designs/ios-uber-eats.md +353 -0
- package/dist/data/designs/ios-uber-expo.md +512 -0
- package/dist/data/designs/ios-uber-swiftui.md +483 -0
- package/dist/data/designs/ios-uber.md +395 -0
- package/dist/data/designs/ios-united-airlines-android.md +494 -0
- package/dist/data/designs/ios-united-airlines-expo.md +408 -0
- package/dist/data/designs/ios-united-airlines-swiftui.md +453 -0
- package/dist/data/designs/ios-united-airlines.md +388 -0
- package/dist/data/designs/ios-venmo-android.md +654 -0
- package/dist/data/designs/ios-venmo-expo.md +458 -0
- package/dist/data/designs/ios-venmo-swiftui.md +469 -0
- package/dist/data/designs/ios-venmo.md +436 -0
- package/dist/data/designs/ios-vercel-android.md +454 -0
- package/dist/data/designs/ios-vercel-expo.md +387 -0
- package/dist/data/designs/ios-vercel-swiftui.md +374 -0
- package/dist/data/designs/ios-vercel.md +399 -0
- package/dist/data/designs/ios-vero-android.md +498 -0
- package/dist/data/designs/ios-vero-expo.md +376 -0
- package/dist/data/designs/ios-vero-swiftui.md +374 -0
- package/dist/data/designs/ios-vero.md +394 -0
- package/dist/data/designs/ios-viber-android.md +377 -0
- package/dist/data/designs/ios-viber-expo.md +375 -0
- package/dist/data/designs/ios-viber-swiftui.md +378 -0
- package/dist/data/designs/ios-viber.md +403 -0
- package/dist/data/designs/ios-vimeo-android.md +465 -0
- package/dist/data/designs/ios-vimeo-expo.md +347 -0
- package/dist/data/designs/ios-vimeo-swiftui.md +383 -0
- package/dist/data/designs/ios-vimeo.md +403 -0
- package/dist/data/designs/ios-vrbo-android.md +488 -0
- package/dist/data/designs/ios-vrbo-expo.md +395 -0
- package/dist/data/designs/ios-vrbo-swiftui.md +421 -0
- package/dist/data/designs/ios-vrbo.md +383 -0
- package/dist/data/designs/ios-vsco-android.md +490 -0
- package/dist/data/designs/ios-vsco-expo.md +413 -0
- package/dist/data/designs/ios-vsco-swiftui.md +449 -0
- package/dist/data/designs/ios-vsco.md +412 -0
- package/dist/data/designs/ios-walmart-android.md +479 -0
- package/dist/data/designs/ios-walmart-expo.md +370 -0
- package/dist/data/designs/ios-walmart-swiftui.md +387 -0
- package/dist/data/designs/ios-walmart.md +366 -0
- package/dist/data/designs/ios-waze-android.md +695 -0
- package/dist/data/designs/ios-waze-expo.md +587 -0
- package/dist/data/designs/ios-waze-swiftui.md +601 -0
- package/dist/data/designs/ios-waze.md +453 -0
- package/dist/data/designs/ios-webull-android.md +429 -0
- package/dist/data/designs/ios-webull-expo.md +384 -0
- package/dist/data/designs/ios-webull-swiftui.md +406 -0
- package/dist/data/designs/ios-webull.md +375 -0
- package/dist/data/designs/ios-wechat-android.md +545 -0
- package/dist/data/designs/ios-wechat-expo.md +398 -0
- package/dist/data/designs/ios-wechat-swiftui.md +394 -0
- package/dist/data/designs/ios-wechat.md +363 -0
- package/dist/data/designs/ios-whatsapp-android.md +568 -0
- package/dist/data/designs/ios-whatsapp-expo.md +502 -0
- package/dist/data/designs/ios-whatsapp-swiftui.md +483 -0
- package/dist/data/designs/ios-whatsapp.md +425 -0
- package/dist/data/designs/ios-whoop-android.md +635 -0
- package/dist/data/designs/ios-whoop-expo.md +562 -0
- package/dist/data/designs/ios-whoop-swiftui.md +553 -0
- package/dist/data/designs/ios-whoop.md +419 -0
- package/dist/data/designs/ios-wise-android.md +428 -0
- package/dist/data/designs/ios-wise-expo.md +357 -0
- package/dist/data/designs/ios-wise-swiftui.md +356 -0
- package/dist/data/designs/ios-wise.md +361 -0
- package/dist/data/designs/ios-x-twitter-android.md +618 -0
- package/dist/data/designs/ios-x-twitter-expo.md +442 -0
- package/dist/data/designs/ios-x-twitter-swiftui.md +429 -0
- package/dist/data/designs/ios-x-twitter.md +432 -0
- package/dist/data/designs/ios-yelp-android.md +455 -0
- package/dist/data/designs/ios-yelp-expo.md +397 -0
- package/dist/data/designs/ios-yelp-swiftui.md +369 -0
- package/dist/data/designs/ios-yelp.md +398 -0
- package/dist/data/designs/ios-youtube-android.md +668 -0
- package/dist/data/designs/ios-youtube-expo.md +435 -0
- package/dist/data/designs/ios-youtube-music-android.md +450 -0
- package/dist/data/designs/ios-youtube-music-expo.md +404 -0
- package/dist/data/designs/ios-youtube-music-swiftui.md +434 -0
- package/dist/data/designs/ios-youtube-music.md +381 -0
- package/dist/data/designs/ios-youtube-swiftui.md +496 -0
- package/dist/data/designs/ios-youtube.md +466 -0
- package/dist/data/designs/ios-zalo-android.md +510 -0
- package/dist/data/designs/ios-zalo-expo.md +389 -0
- package/dist/data/designs/ios-zalo-swiftui.md +431 -0
- package/dist/data/designs/ios-zalo.md +388 -0
- package/dist/data/designs/ios-zomato-android.md +527 -0
- package/dist/data/designs/ios-zomato-expo.md +437 -0
- package/dist/data/designs/ios-zomato-swiftui.md +433 -0
- package/dist/data/designs/ios-zomato.md +439 -0
- package/dist/data/designs/ios-zoom-android.md +423 -0
- package/dist/data/designs/ios-zoom-expo.md +355 -0
- package/dist/data/designs/ios-zoom-swiftui.md +379 -0
- package/dist/data/designs/ios-zoom.md +357 -0
- package/dist/data/designs/ios-zwift-android.md +402 -0
- package/dist/data/designs/ios-zwift-expo.md +402 -0
- package/dist/data/designs/ios-zwift-swiftui.md +378 -0
- package/dist/data/designs/ios-zwift.md +411 -0
- package/dist/data/designs/kraken.md +125 -0
- package/dist/data/designs/lamborghini.md +288 -0
- package/dist/data/designs/linear.app.md +548 -0
- package/dist/data/designs/lovable.md +298 -0
- package/dist/data/designs/mastercard.md +365 -0
- package/dist/data/designs/material-clean.md +289 -0
- package/dist/data/designs/meta.md +683 -0
- package/dist/data/designs/midnight-pro.md +256 -0
- package/dist/data/designs/minimal-brutalist.md +245 -0
- package/dist/data/designs/minimax.md +746 -0
- package/dist/data/designs/mintlify.md +852 -0
- package/dist/data/designs/miro.md +825 -0
- package/dist/data/designs/mistral.ai.md +773 -0
- package/dist/data/designs/mongodb.md +767 -0
- package/dist/data/designs/nike.md +575 -0
- package/dist/data/designs/nintendo-2001.md +649 -0
- package/dist/data/designs/notion.md +821 -0
- package/dist/data/designs/nova-mobile-design-md.md +235 -0
- package/dist/data/designs/nvidia.md +640 -0
- package/dist/data/designs/ollama.md +539 -0
- package/dist/data/designs/opencode.ai.md +521 -0
- package/dist/data/designs/pinterest.md +597 -0
- package/dist/data/designs/playful-color.md +253 -0
- package/dist/data/designs/playstation.md +661 -0
- package/dist/data/designs/posthog.md +690 -0
- package/dist/data/designs/raycast.md +669 -0
- package/dist/data/designs/renault.md +589 -0
- package/dist/data/designs/replicate.md +616 -0
- package/dist/data/designs/resend.md +585 -0
- package/dist/data/designs/revolut.md +636 -0
- package/dist/data/designs/runwayml.md +244 -0
- package/dist/data/designs/sanity.md +357 -0
- package/dist/data/designs/sentry.md +551 -0
- package/dist/data/designs/shopify.md +516 -0
- package/dist/data/designs/slack.md +482 -0
- package/dist/data/designs/soft-glass.md +258 -0
- package/dist/data/designs/spacex.md +363 -0
- package/dist/data/designs/spotify.md +246 -0
- package/dist/data/designs/starbucks.md +580 -0
- package/dist/data/designs/stripe.md +487 -0
- package/dist/data/designs/supabase.md +462 -0
- package/dist/data/designs/superhuman.md +448 -0
- package/dist/data/designs/tesla.md +286 -0
- package/dist/data/designs/theverge.md +339 -0
- package/dist/data/designs/together.ai.md +633 -0
- package/dist/data/designs/uber.md +636 -0
- package/dist/data/designs/vercel.md +736 -0
- package/dist/data/designs/vodafone.md +538 -0
- package/dist/data/designs/voltagent.md +521 -0
- package/dist/data/designs/warp.md +526 -0
- package/dist/data/designs/webflow.md +588 -0
- package/dist/data/designs/wired.md +497 -0
- package/dist/data/designs/wise.md +544 -0
- package/dist/data/designs/x.ai.md +465 -0
- package/dist/data/designs/zapier.md +537 -0
- package/dist/data/index.json +2600 -0
- package/dist/httpServer.js +83 -0
- package/dist/index.js +13 -0
- package/dist/server.js +32 -0
- package/dist/services/designStore.js +59 -0
- package/dist/services/linter.js +87 -0
- package/dist/services/sectionParser.js +154 -0
- package/dist/tools/authoring.js +131 -0
- package/dist/tools/browse.js +232 -0
- package/dist/tools/diff.js +88 -0
- package/dist/tools/getDesign.js +216 -0
- package/dist/tools/guardrails.js +87 -0
- package/dist/tools/lint.js +104 -0
- package/dist/types.js +1 -0
- 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)
|