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,393 @@
|
|
|
1
|
+
# Design System Inspiration of DoorDash (iOS)
|
|
2
|
+
|
|
3
|
+
## 1. Visual Theme & Atmosphere
|
|
4
|
+
|
|
5
|
+
DoorDash's iOS app is warm, appetizing, and unapologetically commercial — a design optimized for one job: turning browsing into a placed order in under sixty seconds. The visual language leans on large, saturated food photography set against bright white surfaces, with the signature DoorDash Red (`#EB1700`) deployed as a beacon for every "take action" moment. Where Instagram's chrome retreats, DoorDash's chrome leans in: prominent search bars, bold category pills, pulsing promo banners, and a red floating checkout button that follows you down every scroll. This is e-commerce design at its most confident — the app assumes you're hungry and your attention is scarce.
|
|
6
|
+
|
|
7
|
+
The layout rhythm is card-first and card-dense. Restaurants appear as large, photo-heavy tiles with the name, rating stars, delivery time, and delivery fee stacked in a tight block underneath. Horizontal carousels segment content by intent ("Fastest near you", "$0 delivery fee", "Order it again"), and each carousel scrolls infinitely to the right — tapping the hero image and scrolling horizontally feel like the two primary gestures in the app. The grid is not subtle: photos are cropped aggressively, contrasts are pushed, and food is lit to look hotter than it really is.
|
|
8
|
+
|
|
9
|
+
Typography is TT Norms Pro (DoorDash's proprietary face, very close to a tightened Proxima Nova / SF Pro hybrid). Titles are set in weight 700 at 20-28pt — assertive, not elegant — and body copy sits at weight 400 with generous tracking that keeps restaurant names and delivery times readable at speed. The hierarchy is brutal and efficient: price in large bold numerals, restaurant name in 17-20pt semibold, meta-data (rating, fee, time) in 13pt regular gray. The color temperature is warm throughout: off-white (`#FFFFFF`) body, charcoal text (`#191919`), neutral cool grays for borders, and a small supporting palette of warm highlights (orange `#FF8000` for ratings, green `#008B4A` for $0 fee badges).
|
|
10
|
+
|
|
11
|
+
**Key Characteristics:**
|
|
12
|
+
- DoorDash Red (`#EB1700`) used aggressively for every primary CTA — checkout, place order, add to cart
|
|
13
|
+
- Photo-first merchant cards with 16:9 hero imagery — food is the content, chrome steps back only here
|
|
14
|
+
- TT Norms Pro in weight 700 for titles, 400 for body — bold hierarchy
|
|
15
|
+
- Warm white canvas (`#FFFFFF`) with near-black text (`#191919`) — high contrast, appetizing
|
|
16
|
+
- Horizontal carousels by "intent" stacked vertically — infinite scroll of themed rails
|
|
17
|
+
- Rating orange (`#FF8000`) and $0-fee green (`#008B4A`) as semantic accents
|
|
18
|
+
- Floating checkout button with item count — anchors the bottom of every screen once cart is populated
|
|
19
|
+
- Map integration on tracking screens — rounded 16pt corners, red pin with DoorDash logo
|
|
20
|
+
- 16pt corner radius on cards, 28pt on primary CTAs — rounder than most e-commerce apps
|
|
21
|
+
|
|
22
|
+
## 2. Color Palette & Roles
|
|
23
|
+
|
|
24
|
+
### Primary (Brand)
|
|
25
|
+
- **DoorDash Red** (`#EB1700`): Primary CTA backgrounds, logo mark, promo badges, delivery pin. The defining chromatic identity.
|
|
26
|
+
- **Red Pressed** (`#C31500`): Active/pressed state for red CTAs.
|
|
27
|
+
- **Red Tint** (`#FFEBE8`): Promo banner backgrounds, "New" chip fills, sale-tag surfaces.
|
|
28
|
+
|
|
29
|
+
### Canvas & Text
|
|
30
|
+
- **Canvas White** (`#FFFFFF`): Primary background — light mode.
|
|
31
|
+
- **Charcoal** (`#191919`): Primary text, headings, strong body.
|
|
32
|
+
- **Text Secondary** (`#757575`): Restaurant meta, timestamps, helper text.
|
|
33
|
+
- **Text Tertiary** (`#AFAFAF`): Disabled state, placeholder, very-low-emphasis labels.
|
|
34
|
+
- **Divider** (`#E5E5E5`): Hairline dividers, card borders (where used), list row separators.
|
|
35
|
+
- **Surface Muted** (`#F7F7F7`): Search bar fill, quiet card backgrounds, category chip fill.
|
|
36
|
+
- **Surface Tint** (`#FAFAFA`): Sectional backgrounds to separate content bands.
|
|
37
|
+
|
|
38
|
+
### Semantic
|
|
39
|
+
- **Rating Orange** (`#FF8000`): Star glyph for rating, $$ badges at higher tier, "Popular" chips.
|
|
40
|
+
- **Fee Green** (`#008B4A`): "$0 delivery" green tags, DashPass savings indicators, success toasts.
|
|
41
|
+
- **Warning Amber** (`#F5B800`): "Busy" / "Estimated delay" notices, mild warnings.
|
|
42
|
+
- **Error Red** (`#D1350F`): Form validation errors (slightly deeper than brand red), destructive actions.
|
|
43
|
+
- **Info Blue** (`#0066E3`): Info banners, link text, map legend.
|
|
44
|
+
|
|
45
|
+
### Dark Mode Surfaces
|
|
46
|
+
- **Background** (`#191919`): Dark mode canvas.
|
|
47
|
+
- **Surface 1** (`#262626`): Card backgrounds, sheet surfaces.
|
|
48
|
+
- **Surface 2** (`#303030`): Elevated cards on dark backgrounds, search bar fill.
|
|
49
|
+
- **Divider Dark** (`#3A3A3A`): Hairline dividers in dark mode.
|
|
50
|
+
|
|
51
|
+
### Status Colors
|
|
52
|
+
- **Store Open Green Dot** (`#008B4A`): Merchant "open now" indicator.
|
|
53
|
+
- **Store Closed Gray** (`#8E8E8E`): Unavailable merchants, "Pre-order only" state.
|
|
54
|
+
- **DashPass Teal** (`#006B82`): DashPass member perks, blue-teal signature for subscription UI.
|
|
55
|
+
|
|
56
|
+
## 3. Typography Rules
|
|
57
|
+
|
|
58
|
+
### Font Family
|
|
59
|
+
- **Brand / UI**: `TT Norms Pro` — proprietary DoorDash face. Fallback stack: `-apple-system, BlinkMacSystemFont, 'SF Pro Text', 'Segoe UI', Roboto, sans-serif`.
|
|
60
|
+
- **Monospace**: `SF Mono` for order numbers, promo codes.
|
|
61
|
+
- TT Norms Pro is used across both UI and prose — there is no separate display face.
|
|
62
|
+
|
|
63
|
+
### Hierarchy
|
|
64
|
+
|
|
65
|
+
| Role | Font | Size | Weight | Line Height | Letter Spacing | Notes |
|
|
66
|
+
|------|------|------|--------|-------------|----------------|-------|
|
|
67
|
+
| Hero Title | TT Norms Pro | 28pt | 700 | 1.15 | -0.4pt | "Featured restaurants", merchant screen header |
|
|
68
|
+
| Section Title | TT Norms Pro | 22pt | 700 | 1.2 | -0.3pt | "Trending near you", "Order it again" |
|
|
69
|
+
| Merchant Name | TT Norms Pro | 18pt | 700 | 1.25 | -0.2pt | Restaurant card title |
|
|
70
|
+
| Menu Item Title | TT Norms Pro | 17pt | 600 | 1.3 | -0.15pt | Dish name on menu list |
|
|
71
|
+
| Body | TT Norms Pro | 15pt | 400 | 1.4 | 0pt | Descriptions, terms text |
|
|
72
|
+
| Price Large | TT Norms Pro | 20pt | 700 | 1.0 | -0.2pt | Total, subtotal, order price |
|
|
73
|
+
| Price Body | TT Norms Pro | 15pt | 600 | 1.2 | 0pt | Menu item price, delivery fee |
|
|
74
|
+
| Rating / Meta | TT Norms Pro | 13pt | 400 | 1.3 | 0pt | "4.8 · 20 min · $0 delivery" |
|
|
75
|
+
| Category Chip | TT Norms Pro | 14pt | 600 | 1.0 | 0pt | "Pizza", "Sushi", "Healthy" |
|
|
76
|
+
| Button (Primary) | TT Norms Pro | 16pt | 700 | 1.0 | 0pt | "Checkout ($23.40)", "Place Order" |
|
|
77
|
+
| Button (Secondary) | TT Norms Pro | 14pt | 600 | 1.0 | 0pt | "Add to cart", "View more" |
|
|
78
|
+
| Tab Label | TT Norms Pro | 11pt | 600 | 1.0 | 0.1pt | Tab bar labels — DoorDash labels its tabs |
|
|
79
|
+
| Promo Badge | TT Norms Pro | 11pt | 700 | 1.0 | 0.3pt | "20% OFF", "FREE DELIVERY" uppercase |
|
|
80
|
+
| Nav Title | TT Norms Pro | 17pt | 700 | 1.1 | -0.1pt | Default navigation bar title |
|
|
81
|
+
| Nav Large Title | TT Norms Pro | 34pt | 700 | 1.1 | -0.5pt | iOS large-title variant on Browse tab |
|
|
82
|
+
|
|
83
|
+
### Principles
|
|
84
|
+
- **Weights concentrated at 400 / 600 / 700**: No thin or black weights. 700 (bold) carries all titles and primary CTAs.
|
|
85
|
+
- **Prices always bold**: Any currency amount displayed in the UI is weight 700 minimum, often 700 at 18-28pt. Money is never light.
|
|
86
|
+
- **Dynamic Type support**: TT Norms Pro scales across all accessibility sizes; numeric prices scale to a max of 140%.
|
|
87
|
+
- **Tight title tracking**: -0.15 to -0.5pt on titles to pack more merchant name onto narrow cards.
|
|
88
|
+
|
|
89
|
+
## 4. Component Stylings
|
|
90
|
+
|
|
91
|
+
### Buttons
|
|
92
|
+
|
|
93
|
+
**Primary CTA (Full-width "Checkout", "Place Order")**
|
|
94
|
+
- Background: `#EB1700`
|
|
95
|
+
- Text: `#FFFFFF`
|
|
96
|
+
- Padding: 16pt vertical, full-width (minus 16pt margins)
|
|
97
|
+
- Corner radius: 28pt (pill-rounded) for bottom-anchored CTA; 12pt for in-card CTAs
|
|
98
|
+
- Font: TT Norms Pro, 16pt, weight 700
|
|
99
|
+
- Pressed: background shifts to `#C31500`, scale 0.98
|
|
100
|
+
- Disabled: `#AFAFAF` background, white text, 60% opacity
|
|
101
|
+
|
|
102
|
+
**Primary CTA with Counter (Checkout with price)**
|
|
103
|
+
- Layout: left-aligned "Checkout" label, right-aligned dynamic price
|
|
104
|
+
- Height: 52pt, corner radius 28pt, padding 16pt horizontal
|
|
105
|
+
- Always shows item count (tiny white pill on red) on the leading side when items >1
|
|
106
|
+
|
|
107
|
+
**Secondary Pill ("Add to Cart", "View Menu")**
|
|
108
|
+
- Background: `#191919` or `transparent`
|
|
109
|
+
- Text: `#FFFFFF` or `#191919`
|
|
110
|
+
- Padding: 10pt vertical, 20pt horizontal
|
|
111
|
+
- Corner radius: 20pt
|
|
112
|
+
- Font: TT Norms Pro, 14pt, weight 600
|
|
113
|
+
- Border: 1pt solid `#E5E5E5` for transparent variant
|
|
114
|
+
|
|
115
|
+
**Category Chip**
|
|
116
|
+
- Background: `#F7F7F7` (inactive) / `#191919` (active)
|
|
117
|
+
- Text: `#191919` (inactive) / `#FFFFFF` (active)
|
|
118
|
+
- Padding: 8pt vertical, 14pt horizontal
|
|
119
|
+
- Corner radius: 20pt (full pill)
|
|
120
|
+
- Font: TT Norms Pro, 14pt, weight 600
|
|
121
|
+
- Icon (optional): 16pt leading SF Symbol or emoji
|
|
122
|
+
|
|
123
|
+
**Icon Button (Heart / Save / Share)**
|
|
124
|
+
- Size: 28pt circular hit zone on light background
|
|
125
|
+
- Fill: 40% white scrim over image in hero tiles so icons stay legible
|
|
126
|
+
- Active heart: `#EB1700` fill with pop animation
|
|
127
|
+
- Share: SF Symbol `square.and.arrow.up`
|
|
128
|
+
|
|
129
|
+
**Promo Badge (inline CTA)**
|
|
130
|
+
- Background: `#FFEBE8` (red tint)
|
|
131
|
+
- Text: `#EB1700`
|
|
132
|
+
- Padding: 4pt vertical, 8pt horizontal
|
|
133
|
+
- Corner radius: 4pt
|
|
134
|
+
- Font: TT Norms Pro, 11pt, weight 700 UPPERCASE
|
|
135
|
+
- Examples: "20% OFF", "FREE DELIVERY", "NEW"
|
|
136
|
+
|
|
137
|
+
### Cards & Containers
|
|
138
|
+
|
|
139
|
+
**Merchant Card (Horizontal carousel)**
|
|
140
|
+
- Width: 260pt
|
|
141
|
+
- Image aspect: 16:10 at the top
|
|
142
|
+
- Corner radius: 12pt (image), 0pt on text block
|
|
143
|
+
- Padding: 12pt text block
|
|
144
|
+
- Background: `#FFFFFF` with `rgba(0,0,0,0.06) 0 4px 12px` shadow on scroll
|
|
145
|
+
- Structure: image → save heart (top-right, white scrim) → promo badge overlay → merchant name → rating + time + fee row
|
|
146
|
+
|
|
147
|
+
**Merchant Card (Full-width vertical)**
|
|
148
|
+
- Full device width minus 16pt margins
|
|
149
|
+
- Image aspect: 16:9
|
|
150
|
+
- Corner radius: 16pt (consistent throughout card)
|
|
151
|
+
- Padding: 14pt text
|
|
152
|
+
- DashPass chip overlay top-left when applicable
|
|
153
|
+
- Same info hierarchy as horizontal variant
|
|
154
|
+
|
|
155
|
+
**Menu Item Row**
|
|
156
|
+
- Layout: left-side text block, right-side 88pt × 88pt square thumbnail
|
|
157
|
+
- Corner radius on thumbnail: 8pt
|
|
158
|
+
- Text: item name (17pt w600), description (13pt w400 gray, 2-line clamp), price (15pt w600)
|
|
159
|
+
- Divider: 0.5pt hairline between rows
|
|
160
|
+
- Tap: full row highlights to `#F7F7F7` for 120ms
|
|
161
|
+
|
|
162
|
+
**Cart Row**
|
|
163
|
+
- Layout: 48pt × 48pt thumbnail → item name + customizations (stacked) → right-aligned price → trailing stepper
|
|
164
|
+
- Stepper: "-" and "+" in 28pt circles with `#F7F7F7` fill, bold char in `#191919`
|
|
165
|
+
- Divider between rows
|
|
166
|
+
|
|
167
|
+
**Order Tracking Card**
|
|
168
|
+
- Height: 160pt map embed on top, info block below
|
|
169
|
+
- Corner radius: 16pt
|
|
170
|
+
- Driver photo: 56pt circular, positioned over the map edge (overlap)
|
|
171
|
+
- Progress bar: 4pt height, `#EB1700` fill, `#E5E5E5` track, 4pt corner radius
|
|
172
|
+
- ETA text: 28pt weight 700, right-aligned
|
|
173
|
+
|
|
174
|
+
### Navigation
|
|
175
|
+
|
|
176
|
+
**Bottom Tab Bar**
|
|
177
|
+
- Height: 49pt + safe area
|
|
178
|
+
- Background: `#FFFFFF` with 0.5pt top border in `#E5E5E5` (not translucent — solid)
|
|
179
|
+
- Tabs: 4-5 (Home, Grocery, Offers, Orders, Account)
|
|
180
|
+
- Icon size: 24pt, active state in `#EB1700`
|
|
181
|
+
- Label: 11pt weight 600, shown always
|
|
182
|
+
- Active indicator: filled SF Symbol variant + red color + bolder label
|
|
183
|
+
- Cart badge: red dot with item count (white number, 10pt w700)
|
|
184
|
+
|
|
185
|
+
**Top Nav Bar**
|
|
186
|
+
- Height: 44pt + safe area
|
|
187
|
+
- Background: `#FFFFFF` (no blur — opaque)
|
|
188
|
+
- Left: address selector (location pin + "Home ▾" in 15pt w700)
|
|
189
|
+
- Right: search icon, account/avatar
|
|
190
|
+
- Large-title variant: 34pt w700 on Browse tab, collapses to 17pt on scroll
|
|
191
|
+
- Sticky search bar below nav when scrolled: 44pt height, `#F7F7F7` fill, 12pt radius
|
|
192
|
+
|
|
193
|
+
**Filter / Sort Pills Bar**
|
|
194
|
+
- Horizontal scroll below nav
|
|
195
|
+
- Pills: `#F7F7F7` inactive, `#191919` active
|
|
196
|
+
- Active count badge: small red circle with white count
|
|
197
|
+
|
|
198
|
+
### Image Treatment
|
|
199
|
+
- Food photography at 16:9 or 16:10 aspect — never square, never portrait
|
|
200
|
+
- Corner radius 12-16pt on all thumbnail/card images
|
|
201
|
+
- Slight color grade: warm, high-saturation, shadows lifted
|
|
202
|
+
- Restaurant logo: 56pt circular, 2pt white border to pop against photography
|
|
203
|
+
- Empty state: light gray illustration + title + helper body + CTA
|
|
204
|
+
|
|
205
|
+
### Input Fields
|
|
206
|
+
|
|
207
|
+
**Search Bar (Top of Home)**
|
|
208
|
+
- Background: `#F7F7F7`
|
|
209
|
+
- Height: 44pt
|
|
210
|
+
- Corner radius: 12pt
|
|
211
|
+
- Leading: SF Symbol `magnifyingglass`, 16pt, `#757575`
|
|
212
|
+
- Placeholder: "Find food or restaurants", 15pt w400 `#757575`
|
|
213
|
+
- Focus: border becomes 1pt `#191919`
|
|
214
|
+
|
|
215
|
+
**Address Input (Checkout)**
|
|
216
|
+
- Background: `#FFFFFF`
|
|
217
|
+
- Height: 56pt
|
|
218
|
+
- Corner radius: 12pt
|
|
219
|
+
- Border: 1pt `#E5E5E5` default, 1pt `#191919` focus, 1pt `#D1350F` error
|
|
220
|
+
- Label: 11pt w600 uppercase floating above input
|
|
221
|
+
- Helper text: 11pt w400 `#757575` or `#D1350F` for error
|
|
222
|
+
|
|
223
|
+
**Quantity Stepper**
|
|
224
|
+
- Three elements: "-" button, count, "+" button
|
|
225
|
+
- Buttons: 28pt circular, `#F7F7F7` background, 16pt weight 700 character
|
|
226
|
+
- Count: 16pt w700 centered between buttons
|
|
227
|
+
- Disabled "-": 40% opacity when count at minimum
|
|
228
|
+
|
|
229
|
+
### Distinctive Components
|
|
230
|
+
|
|
231
|
+
**Category Carousel (Home)**
|
|
232
|
+
- Horizontal scroll, rounded 96pt × 120pt tiles
|
|
233
|
+
- Photo 96pt × 96pt with 16pt radius, label 13pt w600 centered below
|
|
234
|
+
- 12 visible categories ("Pizza", "Sushi", "Mexican", "Healthy", etc.)
|
|
235
|
+
- Tap: full-screen filter applied
|
|
236
|
+
|
|
237
|
+
**DashPass Promo Banner**
|
|
238
|
+
- Height: 72pt, full-width
|
|
239
|
+
- Background: `#006B82` (DashPass teal) with white text
|
|
240
|
+
- Layout: icon + "Save $7 on this order with DashPass" + ">" chevron
|
|
241
|
+
- Corner radius: 12pt, 16pt horizontal margin
|
|
242
|
+
|
|
243
|
+
**Floating Checkout Button**
|
|
244
|
+
- Position: fixed bottom, 16pt inset from safe area
|
|
245
|
+
- Width: full screen minus 16pt margins
|
|
246
|
+
- Red pill (28pt radius), 52pt tall
|
|
247
|
+
- Shows on every screen where cart has items
|
|
248
|
+
- Swipes up to reveal cart drawer; tap proceeds to checkout
|
|
249
|
+
|
|
250
|
+
**Map Tracking**
|
|
251
|
+
- Full-width map, 240pt tall
|
|
252
|
+
- Red delivery pin (DoorDash logo embedded)
|
|
253
|
+
- Driver avatar + name card floating at top of map
|
|
254
|
+
- Live route polyline in `#EB1700`, 4pt width, rounded caps
|
|
255
|
+
- ETA banner fixed to bottom of map
|
|
256
|
+
|
|
257
|
+
## 5. Layout Principles
|
|
258
|
+
|
|
259
|
+
### Spacing System
|
|
260
|
+
- Base unit: 4pt
|
|
261
|
+
- Scale: 2, 4, 8, 12, 16, 20, 24, 32, 40, 56, 72
|
|
262
|
+
- Card padding standard: 12-16pt
|
|
263
|
+
- Section vertical rhythm: 24pt between carousels, 16pt within
|
|
264
|
+
- Safe-area-aware bottom for floating CTA (extends under home indicator with blur)
|
|
265
|
+
|
|
266
|
+
### Grid & Container
|
|
267
|
+
- Content width: device width
|
|
268
|
+
- Horizontal padding: 16pt on content rows
|
|
269
|
+
- Carousel cards poke beyond the right edge (cropped 30%) to communicate "there's more, swipe"
|
|
270
|
+
- 2-column grid on iPad-compact variant, 1-column on iPhone
|
|
271
|
+
|
|
272
|
+
### Whitespace Philosophy
|
|
273
|
+
- **Dense but scannable**: DoorDash packs more per viewport than Instagram — a viewport shows the location bar, search, 2 category chips, 1 promo banner, and the start of the "Trending" carousel. Every pixel sells.
|
|
274
|
+
- **Section rhythm via color bands**: Alternating `#FFFFFF` and `#FAFAFA` backgrounds separate content rails without drawing explicit lines.
|
|
275
|
+
- **Floating CTA dominance**: The red checkout button occupies about 8% of the viewport bottom and never disappears once cart > 0. This is the single most valuable real estate in the UI.
|
|
276
|
+
|
|
277
|
+
### Border Radius Scale
|
|
278
|
+
- Chip (4pt): Promo badges, small tags
|
|
279
|
+
- Thumbnail (8pt): 88pt menu item thumbnails
|
|
280
|
+
- Card (12pt): Horizontal merchant cards, info banners
|
|
281
|
+
- Full Card (16pt): Full-width merchant cards, map panels, order summary
|
|
282
|
+
- CTA Pill (20pt): Secondary pill buttons
|
|
283
|
+
- Primary CTA (28pt): Checkout/Place Order buttons — the app's most rounded element
|
|
284
|
+
- Circle (50%): Merchant logo avatar, driver avatar, stepper buttons
|
|
285
|
+
|
|
286
|
+
## 6. Depth & Elevation
|
|
287
|
+
|
|
288
|
+
| Level | Treatment | Use |
|
|
289
|
+
|-------|-----------|-----|
|
|
290
|
+
| Flat (Level 0) | No shadow | Backgrounds, list rows, text blocks |
|
|
291
|
+
| Card (Level 1) | `rgba(0, 0, 0, 0.06) 0 4px 12px` | Merchant cards, menu items when lifted |
|
|
292
|
+
| Floating CTA (Level 2) | `rgba(0, 0, 0, 0.16) 0 8px 24px` | Bottom-pinned checkout button, active sheets |
|
|
293
|
+
| Sheet (Level 3) | `rgba(0, 0, 0, 0.24) 0 -8px 24px` | Bottom sheets, filter modals |
|
|
294
|
+
| Map Overlay | `rgba(0, 0, 0, 0.12) 0 2px 8px` | Driver card floating over map |
|
|
295
|
+
|
|
296
|
+
**Shadow Philosophy**: DoorDash uses shadows to guide action. The checkout CTA has a heavier shadow than any merchant card — a visual weight hierarchy that tells your eye "this is the thing to tap." Merchant cards only elevate when they're in a horizontal carousel; full-width list cards stay flat.
|
|
297
|
+
|
|
298
|
+
### Motion
|
|
299
|
+
- **Card entrance**: Fade + 8pt rise-up, 300ms, ease-out
|
|
300
|
+
- **Add-to-cart**: Button pulses (scale 0.95 → 1.05 → 1.0), 250ms with success haptic
|
|
301
|
+
- **Cart badge update**: Spring bounce on badge number change
|
|
302
|
+
- **Carousel snap**: Rubber-band edge, 60fps paging
|
|
303
|
+
- **Order placed**: Full-screen red confetti + checkmark + haptic success notification
|
|
304
|
+
|
|
305
|
+
## 7. Do's and Don'ts
|
|
306
|
+
|
|
307
|
+
### Do
|
|
308
|
+
- Use DoorDash Red (`#EB1700`) for every primary CTA — it's the "spend money" color
|
|
309
|
+
- Photograph food at 16:9 with warm lighting; never use stock-flat food photos
|
|
310
|
+
- Set titles in weight 700 — hierarchy is bold, not subtle
|
|
311
|
+
- Keep the floating checkout button pinned bottom when cart > 0
|
|
312
|
+
- Round primary CTAs to 28pt (pill shape); round cards to 16pt
|
|
313
|
+
- Show price in weight 700 always — money is never light
|
|
314
|
+
- Use promo red tint (`#FFEBE8`) for offer banners, NOT full red — save `#EB1700` for buttons
|
|
315
|
+
- Stack content in infinite horizontal carousels organized by intent
|
|
316
|
+
- Badge rating in orange (`#FF8000`) and $0 fee in green (`#008B4A`) — two semantic accents only
|
|
317
|
+
|
|
318
|
+
### Don't
|
|
319
|
+
- Don't use DoorDash Red for non-interactive elements — no red text, no red icons beyond the pin/logo
|
|
320
|
+
- Don't use small-title nav bars on top-level tabs — DoorDash uses large-title iOS style
|
|
321
|
+
- Don't understate price — always weight 700, never italicized
|
|
322
|
+
- Don't compose food cards without a photo — no placeholders, no gray blocks in production
|
|
323
|
+
- Don't use square food photos — 16:9 is the law
|
|
324
|
+
- Don't introduce new accent colors — orange and green are the only semantic chromas
|
|
325
|
+
- Don't hide the cart badge — it must be visible the instant an item is added
|
|
326
|
+
- Don't use heavy drop shadows on non-interactive cards — elevation implies action
|
|
327
|
+
- Don't use weight 300 or 900 — stick to 400/600/700
|
|
328
|
+
|
|
329
|
+
## 8. Responsive Behavior
|
|
330
|
+
|
|
331
|
+
### Device Sizes
|
|
332
|
+
| Device | Width | Key Changes |
|
|
333
|
+
|--------|-------|-------------|
|
|
334
|
+
| iPhone SE (3rd gen) | 375pt | Category chips wrap to 2 rows; carousel cards resize to 240pt |
|
|
335
|
+
| iPhone 13 / 14 / 15 | 390pt | Standard layout — 260pt carousel cards |
|
|
336
|
+
| iPhone 15 / 16 Pro | 393pt | Dynamic Island accommodated; nav adjusts |
|
|
337
|
+
| iPhone 15 / 16 Pro Max | 430pt | 280pt carousel cards, slightly more breathing room |
|
|
338
|
+
| iPad | 768pt+ | Split view: sidebar nav, 2-column merchant grid |
|
|
339
|
+
|
|
340
|
+
### Dynamic Type
|
|
341
|
+
- Merchant names, prices, body: scale fully across all sizes
|
|
342
|
+
- Category chips cap at 140% to prevent wrapping breakage
|
|
343
|
+
- Tab labels scale up to 14pt max
|
|
344
|
+
- Price numerals scale with the corresponding price label
|
|
345
|
+
|
|
346
|
+
### Orientation
|
|
347
|
+
- All primary tabs: **portrait-locked**
|
|
348
|
+
- Map tracking: **rotates to landscape** for a wider map view
|
|
349
|
+
- Menu item detail sheet: **portrait-locked**
|
|
350
|
+
|
|
351
|
+
### Touch Targets
|
|
352
|
+
- Primary CTAs: 52pt tall, full-width minus 16pt margins — huge tap zone
|
|
353
|
+
- Category chips: min 32pt height, 14pt horizontal padding
|
|
354
|
+
- Steppers: 28pt circles with 44pt effective hit area via padding
|
|
355
|
+
- Heart / Save / Share icons: 28pt visible, 44pt hit area
|
|
356
|
+
|
|
357
|
+
### Safe Area Handling
|
|
358
|
+
- Top: standard iOS safe area, nav bar + large title honor it
|
|
359
|
+
- Bottom: floating CTA hovers 16pt above home indicator; tab bar extends into indicator area
|
|
360
|
+
- Sides: content insets 16pt from edges; merchant cards in carousels "bleed" 16pt past the right edge
|
|
361
|
+
|
|
362
|
+
## 9. Agent Prompt Guide
|
|
363
|
+
|
|
364
|
+
### Quick Color Reference
|
|
365
|
+
- Primary CTA: DoorDash Red (`#EB1700`)
|
|
366
|
+
- CTA pressed: `#C31500`
|
|
367
|
+
- Canvas: `#FFFFFF` (light) / `#191919` (dark)
|
|
368
|
+
- Text: `#191919` (light) / `#FFFFFF` (dark)
|
|
369
|
+
- Secondary text: `#757575` (light) / `#AFAFAF` (dark)
|
|
370
|
+
- Divider: `#E5E5E5` (light) / `#3A3A3A` (dark)
|
|
371
|
+
- Surface muted: `#F7F7F7`
|
|
372
|
+
- Rating orange: `#FF8000`
|
|
373
|
+
- $0 Delivery green: `#008B4A`
|
|
374
|
+
- Promo tint: `#FFEBE8`
|
|
375
|
+
- DashPass teal: `#006B82`
|
|
376
|
+
- Error: `#D1350F`
|
|
377
|
+
|
|
378
|
+
### Example Component Prompts
|
|
379
|
+
- "Create a SwiftUI DoorDash merchant card (260pt wide): 16:10 hero food photo at the top with 12pt corner radius and a white-scrim heart icon in the top-right corner. Below: merchant name in TT Norms Pro 18pt weight 700, rating row showing orange star (#FF8000), rating number, '·' separator, delivery time in minutes, '·' separator, and delivery fee ('$0 Delivery' in #008B4A when applicable). Apply rgba(0,0,0,0.06) 0 4px 12px shadow."
|
|
380
|
+
- "Build the floating checkout CTA: 52pt tall, pill-rounded (28pt radius), full-width minus 16pt margins, background #EB1700, pinned bottom with 16pt safe-area inset. Left-aligned label 'Checkout' in TT Norms Pro 16pt weight 700 white; right-aligned dynamic total like '$23.40' same typography. Leading pill with white bg and red item count number (10pt weight 700). Drop shadow rgba(0,0,0,0.16) 0 8px 24px."
|
|
381
|
+
- "Design a category chip row: horizontally scrolling TT Norms Pro 14pt weight 600 chips, padding 8pt × 14pt, corner radius 20pt. Inactive: background #F7F7F7, text #191919. Active: background #191919, text #FFFFFF. Each chip has a 16pt leading emoji (🍕 Pizza, 🍣 Sushi, 🥗 Healthy)."
|
|
382
|
+
- "Create a menu item row: 88pt × 88pt food thumbnail with 8pt corner radius on the right, stacked text block on the left with item name (TT Norms Pro 17pt w600), 2-line clamped description (13pt w400 #757575), and price (15pt w600). 0.5pt hairline divider between rows. Row highlights to #F7F7F7 on tap for 120ms."
|
|
383
|
+
- "Build an order tracking header: 240pt tall map with rounded 16pt corners, red (#EB1700) route polyline, red DoorDash pin at the destination. Driver card floating over the top-left of the map: 56pt circular driver photo, driver name TT Norms Pro 17pt w700, vehicle make/model 13pt w400 #757575, star rating row. ETA below in 28pt weight 700 right-aligned."
|
|
384
|
+
|
|
385
|
+
### Iteration Guide
|
|
386
|
+
1. Red (`#EB1700`) is the take-action color — it appears ONLY on things users should tap to commit
|
|
387
|
+
2. Photos are the content — every merchant must have a real 16:9 food image, never a placeholder
|
|
388
|
+
3. Weight 700 for all titles and prices; weight 600 for secondary actions; weight 400 for prose
|
|
389
|
+
4. Corner radius scales with commitment level: chips 20pt → cards 16pt → checkout 28pt
|
|
390
|
+
5. Carousels are organized by user intent ("Fastest", "$0 delivery", "Order it again") not by cuisine
|
|
391
|
+
6. Dark mode is `#191919` canvas, not true black — DoorDash keeps food photos appetizing with a slight warmth
|
|
392
|
+
7. The floating CTA is non-negotiable — it's the app's whole point
|
|
393
|
+
8. Rating orange and $0-fee green are the only semantic chromas beyond brand red
|