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,337 @@
|
|
|
1
|
+
# Design System Inspiration of Lyft (iOS)
|
|
2
|
+
|
|
3
|
+
## 1. Visual Theme & Atmosphere
|
|
4
|
+
|
|
5
|
+
Lyft's iOS app is a full-screen map with a friendly card floating over it. There is no tab bar — the map *is* the app. A live, edge-to-edge map fills the entire viewport; everything else (the "Where to?" search, the ride-type picker, the ETA, the driver card) lives in a rounded bottom sheet that slides up from below. The design philosophy is "the world is the canvas, the controls come to you": you should always see where you are, and the interface arrives as a soft, springy panel exactly when you need to make a choice.
|
|
6
|
+
|
|
7
|
+
The accent is Lyft Pink (`#FF00BF`) — a vivid, unmistakable magenta lifted from the brand mark. It is reserved for the single most important action on screen: the "Select Lyft" / "Confirm" CTA, the active ride-type selection, the pickup pin, and key brand moments. Everything else is a calm, near-neutral system: white surfaces, soft gray dividers, near-black text. The pink is loud precisely because the rest of the UI is quiet — when it appears, it means "this is the thing to tap." Lyft ships a full dark mode (`#11111F` canvas) for night rides, and the pink holds its punch on both.
|
|
8
|
+
|
|
9
|
+
Typography is Inter with a deliberately *rounded* geometric feel — soft, approachable, friendly (Lyft's brand voice is warm, not corporate). Weights run 400 / 600 / 700. The hierarchy is sheet-driven: the sheet title ("Choose a ride", "Confirm pickup") sits at 22pt weight 700, ride-type names at 17pt weight 700, prices at 17pt weight 700 right-aligned, the big "Where to?" prompt at 20pt weight 600, and a recurring 14pt secondary gray for ETAs, descriptions, and capacity ("4 seats · 3 min away"). Generously rounded corners (16-28pt) everywhere reinforce the soft, pill-and-bubble personality.
|
|
10
|
+
|
|
11
|
+
**Key Characteristics:**
|
|
12
|
+
- Full-screen edge-to-edge map — no tab bar; the map is the primary surface
|
|
13
|
+
- Rounded bottom sheet — every control arrives in a soft, springy panel that slides up
|
|
14
|
+
- Lyft Pink (`#FF00BF`) as the single accent — Confirm CTA, active ride-type, pickup pin
|
|
15
|
+
- Very rounded geometry — 16-28pt radii everywhere; pill buttons; bubble cards
|
|
16
|
+
- "Where to?" search bar — the persistent entry point floating over the map
|
|
17
|
+
- Ride-type selector cards — Wait & Save / Standard / XL / Lux Black, each with icon + price + ETA
|
|
18
|
+
- Pickup pin — a pink map pin with a soft drop shadow and a precise tip
|
|
19
|
+
- ETA strings — "3 min away", "12:45 arrival" in calm secondary gray
|
|
20
|
+
- Full dark mode (`#11111F`) for night rides — pink holds on both themes
|
|
21
|
+
- Rounded bottom-sheet spring — the panel's signature springy entrance and detent snapping
|
|
22
|
+
|
|
23
|
+
## 2. Color Palette & Roles
|
|
24
|
+
|
|
25
|
+
### Primary
|
|
26
|
+
- **Lyft Pink** (`#FF00BF`): Primary CTA ("Select Lyft", "Confirm"), active ride-type selection, pickup pin, brand moments.
|
|
27
|
+
- **Pink Pressed** (`#D500A0`): Active/pressed state for the pink CTA.
|
|
28
|
+
- **Pink Tint** (`#FFE5F7`): Light wash behind the selected ride-type row and pink confirmation chips (light mode).
|
|
29
|
+
|
|
30
|
+
### Canvas & Text — Light
|
|
31
|
+
- **Canvas White** (`#FFFFFF`): Sheet background, cards, primary surfaces.
|
|
32
|
+
- **Surface** (`#F4F4F7`): Grouped backgrounds, search field fill, segmented track, skeletons.
|
|
33
|
+
- **Surface Deep** (`#E9E9EF`): Pressed state on surface, inactive segments.
|
|
34
|
+
- **Divider** (`#E5E5EA`): Hairline dividers between sheet rows and sections.
|
|
35
|
+
- **Text Primary** (`#11111F`): Sheet titles, ride-type names, prices, primary UI text — near-black ink.
|
|
36
|
+
- **Text Secondary** (`#6B6B7B`): ETAs, descriptions, capacity, metadata.
|
|
37
|
+
- **Text Tertiary** (`#9A9AA8`): Disabled labels, very low-emphasis captions.
|
|
38
|
+
|
|
39
|
+
### Canvas & Text — Dark
|
|
40
|
+
- **Dark Canvas** (`#11111F`): Sheet background, primary surfaces at night.
|
|
41
|
+
- **Dark Surface** (`#1C1C2B`): Grouped backgrounds, search field fill, segmented track.
|
|
42
|
+
- **Dark Surface Deep** (`#26263A`): Pressed state on dark surface.
|
|
43
|
+
- **Dark Divider** (`#2C2C40`): Hairline dividers in dark mode.
|
|
44
|
+
- **Dark Text Primary** (`#FFFFFF`): Sheet titles, ride-type names, prices.
|
|
45
|
+
- **Dark Text Secondary** (`#A0A0B4`): ETAs, descriptions, metadata.
|
|
46
|
+
- **Pink Tint Dark** (`#33102B`): Selected ride-type wash on dark.
|
|
47
|
+
|
|
48
|
+
### Map
|
|
49
|
+
- **Route Line** (`#FF00BF`): The active trip route polyline drawn on the map (pink).
|
|
50
|
+
- **Pickup Pin** (`#FF00BF`): The pickup location marker.
|
|
51
|
+
- **Destination Pin** (`#11111F`): The drop-off marker (near-black for contrast against pink pickup).
|
|
52
|
+
|
|
53
|
+
### Semantic
|
|
54
|
+
- **Success Green** (`#00A862`): Trip-confirmed state, payment success.
|
|
55
|
+
- **Rating Gold** (`#FFB400`): Driver star rating fill.
|
|
56
|
+
- **Warning Amber** (`#F5A623`): Surge / "prices are higher", limited availability.
|
|
57
|
+
- **Error Red** (`#E5484D`): Payment failures, ride-cancel errors.
|
|
58
|
+
|
|
59
|
+
## 3. Typography Rules
|
|
60
|
+
|
|
61
|
+
### Font Family
|
|
62
|
+
- **Primary**: `Inter` (with a rounded, friendly geometric character — Lyft's brand voice)
|
|
63
|
+
- **Numerals**: Inter tabular figures for prices, ETAs, fare estimates (`font-variant-numeric: tabular-nums`)
|
|
64
|
+
- **Fallback Stack**: `'Inter', -apple-system, BlinkMacSystemFont, 'SF Pro Rounded', 'SF Pro Text', Helvetica, Arial, sans-serif`
|
|
65
|
+
|
|
66
|
+
### Hierarchy
|
|
67
|
+
|
|
68
|
+
| Role | Font | Size | Weight | Line Height | Letter Spacing | Notes |
|
|
69
|
+
|------|------|------|--------|-------------|----------------|-------|
|
|
70
|
+
| Sheet Title | Inter | 22pt | 700 | 1.2 | -0.3pt | "Choose a ride", "Confirm pickup" |
|
|
71
|
+
| Where To Prompt | Inter | 20pt | 600 | 1.25 | -0.2pt | The big "Where to?" search prompt |
|
|
72
|
+
| Ride-Type Name | Inter | 17pt | 700 | 1.25 | -0.1pt | "Standard", "Lux Black", "Wait & Save" |
|
|
73
|
+
| Price | Inter | 17pt | 700 | 1.2 | 0pt | Fare estimate, right-aligned, tabular |
|
|
74
|
+
| Body | Inter | 15pt | 400 | 1.45 | 0pt | Descriptions, trip detail copy |
|
|
75
|
+
| Button (Primary) | Inter | 17pt | 700 | 1.0 | 0pt | Pink "Select Lyft", "Confirm" |
|
|
76
|
+
| Driver Name | Inter | 18pt | 700 | 1.2 | -0.1pt | On the en-route driver card |
|
|
77
|
+
| Meta / ETA | Inter | 14pt | 400 | 1.3 | 0pt | "3 min away", "4 seats", "12:45 arrival" |
|
|
78
|
+
| Ride-Type Sub | Inter | 13pt | 400 | 1.3 | 0pt | "Affordable rides, all to yourself" |
|
|
79
|
+
| Badge | Inter | 11pt | 700 | 1.2 | 0.3pt | "FASTEST", "VALUE", "PRIORITY" |
|
|
80
|
+
| Caption | Inter | 12pt | 400 | 1.3 | 0pt | Fine print, fare-breakdown labels |
|
|
81
|
+
| Pin Label | Inter | 13pt | 700 | 1.0 | 0pt | Floating label on map pins / ETA bubble |
|
|
82
|
+
|
|
83
|
+
### Principles
|
|
84
|
+
- **Sheet-driven hierarchy**: The biggest type is the sheet title; there are no hero headlines because the map is the hero — type guides the decision in the panel
|
|
85
|
+
- **Friendly, rounded tone**: Inter is chosen for its approachable geometry; pair with `SF Pro Rounded` as the system fallback to keep the soft personality
|
|
86
|
+
- **Weights at 400 / 600 / 700**: Regular for body and ETAs, semibold for the "Where to?" prompt, bold for titles, ride-type names, prices, and the CTA
|
|
87
|
+
- **Tabular figures for fares**: Prices, ETAs, and fare breakdowns use tabular Inter so the right-aligned price column stays aligned across ride types
|
|
88
|
+
- **Quiet secondary gray**: ETAs, capacity, and descriptions sit in `#6B6B7B` (or `#A0A0B4` on dark) so the ride-type name and price lead
|
|
89
|
+
|
|
90
|
+
## 4. Component Stylings
|
|
91
|
+
|
|
92
|
+
### Buttons
|
|
93
|
+
|
|
94
|
+
**Primary CTA ("Select Lyft" / "Confirm pickup" / "Confirm")**
|
|
95
|
+
- Background: `#FF00BF`
|
|
96
|
+
- Text: `#FFFFFF`, Inter 17pt weight 700
|
|
97
|
+
- Height: 56pt (full-width sheet CTA)
|
|
98
|
+
- Corner radius: 16pt (soft, not full-pill — the sheet CTA is a rounded rect)
|
|
99
|
+
- Pressed: background `#D500A0`, scale 0.98
|
|
100
|
+
- Disabled: background `#E5E5EA` (light) / `#26263A` (dark), text tertiary
|
|
101
|
+
|
|
102
|
+
**Secondary / Neutral ("Edit", "Add a stop")**
|
|
103
|
+
- Background: `#F4F4F7` (light) / `#1C1C2B` (dark)
|
|
104
|
+
- Text: `#11111F` (light) / `#FFFFFF` (dark), Inter 16pt weight 600
|
|
105
|
+
- Padding: 14pt vertical, 24pt horizontal
|
|
106
|
+
- Corner radius: 16pt
|
|
107
|
+
- Pressed: surface-deep
|
|
108
|
+
|
|
109
|
+
**Pill Button (map overlay — "Recenter", "Safety")**
|
|
110
|
+
- Background: `#FFFFFF` (light) / `#1C1C2B` (dark) with a soft shadow
|
|
111
|
+
- Text/icon: `#11111F` / `#FFFFFF`
|
|
112
|
+
- Shape: full pill (radius 500pt), 40pt tall, floats over the map
|
|
113
|
+
- Pressed: subtle scale 0.96
|
|
114
|
+
|
|
115
|
+
**Icon Button (map controls — locate, layers, back)**
|
|
116
|
+
- Circular, 44pt, white (light) / dark-surface (dark) with soft shadow
|
|
117
|
+
- Glyph 20pt `#11111F` / `#FFFFFF`
|
|
118
|
+
- Floats over the map at the screen edges
|
|
119
|
+
|
|
120
|
+
### Cards & Containers
|
|
121
|
+
|
|
122
|
+
**Bottom Sheet (the core container)**
|
|
123
|
+
- Background: `#FFFFFF` (light) / `#11111F` (dark)
|
|
124
|
+
- Top corners: 28pt radius (very rounded — the signature soft panel)
|
|
125
|
+
- Grab handle: 36pt × 4pt rounded bar, `#E5E5EA` / `#2C2C40`, centered, 8pt from top
|
|
126
|
+
- Detents: collapsed (peek), medium (ride list), large (full)
|
|
127
|
+
- Shadow: large soft upward shadow so it floats above the map
|
|
128
|
+
- Slides up with a spring; snaps between detents
|
|
129
|
+
|
|
130
|
+
**Ride-Type Selector Card / Row**
|
|
131
|
+
- Layout: leading vehicle illustration (~56pt) → name + capacity/ETA sub → trailing price
|
|
132
|
+
- Height: ~72pt
|
|
133
|
+
- Selected: `#FFE5F7` (light) / `#33102B` (dark) wash, 2pt `#FF00BF` rounded border (16pt radius), name and price weight 700
|
|
134
|
+
- Unselected: transparent, 1pt `#E5E5EA` divider between rows
|
|
135
|
+
- Tap: row springs subtly, selection ring animates in
|
|
136
|
+
- Optional badge ("FASTEST", "VALUE") as a small pill near the name
|
|
137
|
+
|
|
138
|
+
**"Where to?" Search Bar**
|
|
139
|
+
- Floating rounded bar over the map (or top of the collapsed sheet)
|
|
140
|
+
- Background: `#FFFFFF` (light) / `#1C1C2B` (dark), soft shadow
|
|
141
|
+
- Height: 56pt, corner radius 16pt
|
|
142
|
+
- Leading: a small pink square/dot accent (saved-place dot) or `magnifyingglass`
|
|
143
|
+
- Text: "Where to?" Inter 20pt weight 600 `#6B6B7B`
|
|
144
|
+
|
|
145
|
+
**Driver / En-Route Card**
|
|
146
|
+
- Appears in the sheet once a driver is matched
|
|
147
|
+
- Driver avatar (56pt circle) + name (18pt weight 700) + rating (gold star + number) + vehicle/plate
|
|
148
|
+
- Big rounded "Contact" / "Share trip" pill actions
|
|
149
|
+
- ETA bubble pinned on the map showing "3 min"
|
|
150
|
+
|
|
151
|
+
**Map Pins**
|
|
152
|
+
- **Pickup pin**: Lyft Pink teardrop with a white center dot, soft drop shadow, precise tip
|
|
153
|
+
- **Destination pin**: near-black teardrop, same silhouette
|
|
154
|
+
- **Vehicle markers**: small rounded car glyphs that move along the route
|
|
155
|
+
|
|
156
|
+
### Navigation
|
|
157
|
+
|
|
158
|
+
**No Tab Bar — Map + Sheet Model**
|
|
159
|
+
- The app has **no bottom tab bar**. Primary navigation is: full-screen map + a bottom sheet whose detents and contents change by trip state (search → choose ride → confirm pickup → en route → rate).
|
|
160
|
+
- A hamburger/avatar button floats top-left over the map for the menu (account, history, payment).
|
|
161
|
+
- Back/dismiss is a circular icon button top-left within flows.
|
|
162
|
+
|
|
163
|
+
**Sheet State Progression**
|
|
164
|
+
1. **Idle**: collapsed sheet with "Where to?" + saved places
|
|
165
|
+
2. **Choose a ride**: medium sheet, ride-type list, pink "Select Lyft" CTA
|
|
166
|
+
3. **Confirm pickup**: map centers on pickup pin, sheet shows address + "Confirm pickup"
|
|
167
|
+
4. **En route**: driver card, ETA, route polyline on map
|
|
168
|
+
5. **Rate**: post-trip rating + tip in the sheet
|
|
169
|
+
|
|
170
|
+
### Input Fields
|
|
171
|
+
|
|
172
|
+
**Destination Search Field (expanded)**
|
|
173
|
+
- Background: `#F4F4F7` (light) / `#1C1C2B` (dark)
|
|
174
|
+
- Height: 52pt, corner radius 14pt
|
|
175
|
+
- Leading dot accent (pink for "pickup", dark for "destination") in a vertical from/to stack
|
|
176
|
+
- Placeholder: Inter 16pt weight 400 secondary
|
|
177
|
+
- Focus: 2pt `#FF00BF` border
|
|
178
|
+
|
|
179
|
+
**Saved-Place Row**
|
|
180
|
+
- Leading rounded icon chip (Home / Work / star), label + address
|
|
181
|
+
- 56pt tall, full-row tappable, divider between rows
|
|
182
|
+
|
|
183
|
+
### Distinctive Components
|
|
184
|
+
|
|
185
|
+
**Ride-Type Selector Sheet**
|
|
186
|
+
- The signature decision surface. A vertically scrolling list of ride options inside the bottom sheet: **Wait & Save**, **Standard**, **XL**, **Lux Black** (and others).
|
|
187
|
+
- Each row: vehicle illustration, name (17pt weight 700), one-line description (13pt secondary), capacity + ETA ("4 seats · 3 min"), and a right-aligned tabular price (17pt weight 700).
|
|
188
|
+
- The selected row gets the pink-tint wash + 2pt pink rounded border; the others stay flat.
|
|
189
|
+
- A persistent pink "Select [Type]" CTA at the bottom updates its label to the chosen ride.
|
|
190
|
+
- Switching selection springs the ring from the old row to the new with a light haptic.
|
|
191
|
+
|
|
192
|
+
**Rounded Bottom-Sheet Spring**
|
|
193
|
+
- The sheet enters and snaps between detents with a spring (response ~0.45, damping ~0.85) — overshooting slightly then settling, giving Lyft its signature soft, bouncy panel feel.
|
|
194
|
+
- Dragging the grab handle resists past the large detent and snaps to the nearest detent on release.
|
|
195
|
+
|
|
196
|
+
**Pickup Pin Drop**
|
|
197
|
+
- When "Confirm pickup" appears, the pink pin drops onto the map with a small bounce and a soft shadow that scales with the drop — a tactile "you are here" moment.
|
|
198
|
+
|
|
199
|
+
**Map ETA Bubble**
|
|
200
|
+
- A small white (or dark) rounded bubble tethered to the vehicle marker showing the live ETA ("3 min"), updating as the car moves.
|
|
201
|
+
|
|
202
|
+
## 5. Layout Principles
|
|
203
|
+
|
|
204
|
+
### Spacing System
|
|
205
|
+
- Base unit: 4pt
|
|
206
|
+
- Scale: 4, 8, 12, 16, 20, 24, 32, 40, 56
|
|
207
|
+
- Sheet content margin: 20pt horizontal (a touch wider than typical — the soft, generous feel)
|
|
208
|
+
- Ride-type row spacing: rows touch, separated by hairline dividers or selection rings
|
|
209
|
+
|
|
210
|
+
### Grid & Container
|
|
211
|
+
- The map is full-bleed, edge to edge, behind everything
|
|
212
|
+
- The sheet spans the full width, pinned to the bottom, with rounded top corners
|
|
213
|
+
- Map overlay controls float at screen edges with 16pt insets
|
|
214
|
+
- Ride-type list is a single full-width column inside the sheet
|
|
215
|
+
|
|
216
|
+
### Whitespace Philosophy
|
|
217
|
+
- **The map breathes; the sheet is dense-but-soft**: The map is uncluttered (just pins + route); the sheet packs the decision compactly but with generous 20pt margins and rounded forms so it never feels cramped
|
|
218
|
+
- **Controls come to you**: Whitespace is mostly the map itself — UI only occupies the sheet and a few floating pills, keeping the world visible
|
|
219
|
+
- **Rounded everything**: The soft radii (16-28pt) are the breathing room — corners are never sharp
|
|
220
|
+
|
|
221
|
+
### Border Radius Scale
|
|
222
|
+
- Soft (12-14pt): Search fields, small inputs
|
|
223
|
+
- Comfortable (16pt): Buttons, ride-type selection rings, secondary buttons
|
|
224
|
+
- Large (20-24pt): Cards, map overlay panels
|
|
225
|
+
- Sheet (28pt): The bottom sheet's top corners — the signature very-rounded panel
|
|
226
|
+
- Pill (500pt): Map overlay pills (Recenter, Safety), badges
|
|
227
|
+
- Circle (50%): Avatars, icon buttons, saved-place chips, vehicle markers
|
|
228
|
+
|
|
229
|
+
## 6. Depth & Elevation
|
|
230
|
+
|
|
231
|
+
| Level | Treatment | Use |
|
|
232
|
+
|-------|-----------|-----|
|
|
233
|
+
| Flat (Level 0) | No shadow | Map base, rows inside the sheet |
|
|
234
|
+
| Floating Control (Level 1) | `rgba(17,17,31,0.16) 0 4px 12px` | Map overlay pills + icon buttons |
|
|
235
|
+
| Sheet (Level 2) | `rgba(17,17,31,0.20) 0 -10px 40px` | The bottom sheet floating above the map |
|
|
236
|
+
| Pin Shadow | `rgba(17,17,31,0.30) 0 6px 12px` (scales on drop) | Pickup / destination map pins |
|
|
237
|
+
| Overlay Dim | `rgba(17,17,31,0.45)` | Modal scrim behind full-screen flows |
|
|
238
|
+
|
|
239
|
+
**Shadow Philosophy**: Shadows are soft and cool (mixed from the `#11111F` ink), tuned so floating elements clearly separate from the live map without looking heavy. The most important shadow is the bottom sheet's large upward glow — it must read as a distinct soft panel hovering over the moving map. Map pins carry a focused drop shadow that briefly scales during the pickup-pin drop. On dark mode shadows deepen slightly so the sheet still separates from the night map.
|
|
240
|
+
|
|
241
|
+
### Motion
|
|
242
|
+
- **Sheet entrance / detent snap**: spring (response ~0.45, damping ~0.85), slight overshoot then settle
|
|
243
|
+
- **Ride-type select**: selection ring springs from old to new row ~250ms; light haptic; price/name bolden
|
|
244
|
+
- **Pickup pin drop**: pin falls with a small bounce; shadow scales 0.6 → 1.0 as it lands; soft haptic
|
|
245
|
+
- **Map recenter**: camera eases back to the user with a 0.4s ease-in-out
|
|
246
|
+
- **CTA press**: scale 0.98 → 1.0 spring
|
|
247
|
+
- **ETA bubble update**: number cross-fades when the ETA changes (no layout jump — tabular figures)
|
|
248
|
+
|
|
249
|
+
## 7. Do's and Don'ts
|
|
250
|
+
|
|
251
|
+
### Do
|
|
252
|
+
- Make the map full-screen and edge-to-edge — it is the primary surface
|
|
253
|
+
- Put every control in a rounded bottom sheet that slides up with a spring
|
|
254
|
+
- Use Lyft Pink (`#FF00BF`) only for the primary CTA, active ride-type, and the pickup pin
|
|
255
|
+
- Use very rounded geometry — 28pt sheet corners, 16pt buttons, pill map controls
|
|
256
|
+
- Render the ride-type selector as a list with vehicle icon, name, sub, ETA, and a right-aligned tabular price
|
|
257
|
+
- Give the selected ride-type a pink-tint wash + 2pt pink rounded border
|
|
258
|
+
- Support a full dark mode (`#11111F` canvas) for night rides — keep pink at full strength
|
|
259
|
+
- Use tabular figures for prices and ETAs so the price column aligns
|
|
260
|
+
- Keep secondary info (ETA, capacity) in calm gray so name + price lead
|
|
261
|
+
|
|
262
|
+
### Don't
|
|
263
|
+
- Don't add a bottom tab bar — Lyft navigates via map + sheet, not tabs
|
|
264
|
+
- Don't cover the map with opaque chrome — controls float or live in the sheet
|
|
265
|
+
- Don't use pink for decoration, dividers, or body text — it's the single action color
|
|
266
|
+
- Don't use sharp corners — the soft, rounded personality is core to the brand
|
|
267
|
+
- Don't make the sheet appear without the spring — the bouncy entrance is the signature feel
|
|
268
|
+
- Don't use proportional figures for fares — the right-aligned price column will misalign
|
|
269
|
+
- Don't let the destination pin be pink — pink is the pickup; destination is near-black
|
|
270
|
+
- Don't drop the dark theme — night rides are a primary use case
|
|
271
|
+
- Don't crowd the map with more than pins + the active route polyline
|
|
272
|
+
|
|
273
|
+
## 8. Responsive Behavior
|
|
274
|
+
|
|
275
|
+
### Device Sizes
|
|
276
|
+
| Device | Width | Key Changes |
|
|
277
|
+
|--------|-------|-------------|
|
|
278
|
+
| iPhone SE (3rd gen) | 375pt | Sheet medium detent shows ~3 ride types; smaller vehicle illustrations |
|
|
279
|
+
| iPhone 13/14/15 | 390pt | Standard sheet detents; ~4 ride types visible at medium |
|
|
280
|
+
| iPhone 15/16 Pro | 393pt | Dynamic Island clears the floating top-left menu button |
|
|
281
|
+
| iPhone 15/16 Pro Max | 430pt | Larger sheet, ~5 ride types visible; bigger map viewport |
|
|
282
|
+
| iPad | 768pt+ | Sheet becomes a fixed left rail panel over a full-bleed map; ride list in the rail |
|
|
283
|
+
|
|
284
|
+
### Dynamic Type
|
|
285
|
+
- Sheet title, ride-type names, body: full scale
|
|
286
|
+
- Prices and ETAs: scale but stay tabular and right-aligned
|
|
287
|
+
- Badges and pin labels: fixed (layout-sensitive)
|
|
288
|
+
- "Where to?" prompt: scales to a max, never wraps
|
|
289
|
+
|
|
290
|
+
### Orientation
|
|
291
|
+
- Map + sheet flow: **portrait-locked** on iPhone
|
|
292
|
+
- iPad: supports landscape with the rail-panel + full map layout
|
|
293
|
+
|
|
294
|
+
### Touch Targets
|
|
295
|
+
- Primary CTA: 56pt tall, full sheet width
|
|
296
|
+
- Ride-type rows: full-row tappable, ~72pt
|
|
297
|
+
- Map overlay icon buttons / pills: 44pt / 40pt minimum
|
|
298
|
+
- Grab handle: small visually but a generous ~44pt drag zone
|
|
299
|
+
- Saved-place rows: 56pt, full-row tappable
|
|
300
|
+
|
|
301
|
+
### Safe Area Handling
|
|
302
|
+
- Top: floating menu + map controls respect the safe area and Dynamic Island
|
|
303
|
+
- Bottom: the sheet's content and CTA respect the home indicator; collapsed peek clears it
|
|
304
|
+
- The map renders behind the safe areas (full-bleed) with controls inset
|
|
305
|
+
|
|
306
|
+
## 9. Agent Prompt Guide
|
|
307
|
+
|
|
308
|
+
### Quick Color Reference
|
|
309
|
+
- Light canvas (sheet): `#FFFFFF`
|
|
310
|
+
- Light surface: `#F4F4F7`
|
|
311
|
+
- Light divider: `#E5E5EA`
|
|
312
|
+
- Light text primary: `#11111F`
|
|
313
|
+
- Light text secondary: `#6B6B7B`
|
|
314
|
+
- Dark canvas (sheet): `#11111F`
|
|
315
|
+
- Dark surface: `#1C1C2B`
|
|
316
|
+
- Dark text primary: `#FFFFFF`
|
|
317
|
+
- Dark text secondary: `#A0A0B4`
|
|
318
|
+
- Lyft Pink (action): `#FF00BF`
|
|
319
|
+
- Pink pressed: `#D500A0`
|
|
320
|
+
- Pink tint (light): `#FFE5F7`
|
|
321
|
+
|
|
322
|
+
### Example Component Prompts
|
|
323
|
+
- "Create the SwiftUI Lyft ride-type selector row: ~72pt tall, leading 56pt vehicle illustration, then a column with name 'Standard' Inter 17pt weight 700 #11111F and sub '4 seats · 3 min away' Inter 14pt weight 400 #6B6B7B, and a right-aligned price '$18.40' Inter 17pt weight 700 tabular. When selected, the row gets a #FFE5F7 wash and a 2pt #FF00BF rounded border (16pt radius); selecting springs the ring in with a light haptic."
|
|
324
|
+
- "Build the Lyft primary CTA: full-width 56pt button, background #FF00BF, label 'Select Lyft' Inter 17pt weight 700 #FFFFFF, 16pt corner radius. Pressed: background #D500A0, scale 0.98. The label updates to the chosen ride type."
|
|
325
|
+
- "Design the Lyft bottom sheet: top corners 28pt radius, background #FFFFFF (light) / #11111F (dark), a 36×4pt rounded grab handle in #E5E5EA centered 8pt from the top, a large soft upward shadow so it floats over a full-screen map. It enters and snaps between collapsed/medium/large detents with a spring (response 0.45, damping 0.85, slight overshoot)."
|
|
326
|
+
- "Create the Lyft pickup pin: a Lyft-Pink (#FF00BF) teardrop marker with a white center dot, a precise bottom tip, and a soft cool drop shadow rgba(17,17,31,0.30) 0 6px 12px. On 'Confirm pickup' it drops onto the map with a small bounce and the shadow scales 0.6 → 1.0 as it lands."
|
|
327
|
+
- "Build the 'Where to?' search bar: a floating rounded bar over the map, 56pt tall, 16pt corner radius, background #FFFFFF (light) / #1C1C2B (dark) with a soft shadow, a small pink saved-place dot leading, and 'Where to?' in Inter 20pt weight 600 #6B6B7B."
|
|
328
|
+
|
|
329
|
+
### Iteration Guide
|
|
330
|
+
1. The map is full-screen and edge-to-edge — there is NO tab bar; controls live in a rounded bottom sheet
|
|
331
|
+
2. Lyft Pink `#FF00BF` is the single action color: primary CTA, active ride-type, pickup pin — nothing decorative
|
|
332
|
+
3. Geometry is very rounded — 28pt sheet corners, 16pt buttons, pill map controls; never sharp
|
|
333
|
+
4. The bottom sheet enters and snaps between detents with a slightly overshooting spring — that bounce is the signature feel
|
|
334
|
+
5. The ride-type selector is the key decision surface: icon + name + sub + ETA + right-aligned tabular price; selected row gets pink-tint + 2pt pink border
|
|
335
|
+
6. Ship a full dark mode (`#11111F` canvas) for night rides — pink stays at full strength on both
|
|
336
|
+
7. Pickup pin is pink; destination pin is near-black `#11111F` for contrast
|
|
337
|
+
8. Tabular figures for fares and ETAs; secondary info stays calm gray so name + price lead
|