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,431 @@
|
|
|
1
|
+
# Design System Inspiration of Expedia (iOS)
|
|
2
|
+
|
|
3
|
+
## 1. Visual Theme & Atmosphere
|
|
4
|
+
|
|
5
|
+
Expedia's iOS app is a **deal-forward travel marketplace** wrapped in a confident, trip-blue identity. The light canvas is a clean near-white (`#FFFFFF` / `#F5F7FA`) and the app's emotional center of gravity is the moment you see a *better price*: bundle savings, member prices, and One Key rewards are surfaced everywhere, almost always in the brand's signature **Expedia Yellow** (`#FFC94D`). The app is dense but not cluttered — it leans on full-bleed property and destination photography, big legible price typography, and a yellow "savings" accent that punches against the otherwise blue-and-grey chrome. Where Airbnb whispers and Notion disappears, Expedia *sells*: every card has a reason-to-believe (a strikethrough price, a "−24% Bundle" flag, a "Member price" tag, an "Earn 2,040 One Key cash" line).
|
|
6
|
+
|
|
7
|
+
The structural anchor is the **search-and-results loop**. Open the app and you land on a search surface with a segmented mode switch — **Stays / Flights / Cars / Packages (Bundle)** — sitting above a single tappable search pill ("San Diego, CA · Oct 12–17 · 2 travelers · 1 room"). Tap search and you drop into a vertically scrolling **results list** of property cards: a 16:10 hero photo with a deal flag top-left and a save-heart top-right, then title, neighborhood, a navy review-score badge ("9.2 Wonderful · 1,847 reviews"), a price block (strikethrough → discounted → "/ night"), and a gold One Key earn line. This card is the workhorse of the entire app and its anatomy is repeated for flights (fare cards) and cars.
|
|
8
|
+
|
|
9
|
+
Color is purposeful and role-bound. **Expedia Yellow** `#FFC94D` is the *savings/deal/loyalty highlight* — bundle tags, member-price flags, the One Key chip, primary "Bundle & save" CTAs. **Action Blue** `#1668E3` is the *interactive* color — links, secondary CTAs, the reserve button, selected states. **Expedia Navy** `#00355F` is the *brand/trust* color — the logomark field, review-score badge backgrounds, dark headers. **One Key gold** `#F5C518` is a tightly-scoped *rewards-only* color — One Key cash balances and "earn" lines, never used for generic UI. There is a clear hierarchy: navy says "trusted travel brand," blue says "tap me," yellow says "you're saving money," gold says "this is your loyalty currency."
|
|
10
|
+
|
|
11
|
+
Typography is **Expedia Sans** (the company's proprietary geometric humanist family, designed by Pentagram for the 2017+ rebrand), which falls back gracefully to **Inter** / SF Pro on iOS when the bundled face is unavailable. The hierarchy is product-UI rhythm (display → screen title → section → card title → body → meta → badge), not editorial. Prices are the loudest non-display element: an 18pt 800-weight number with a strikethrough antecedent and a quiet "/ night" suffix. Weights concentrate at 400 (body), 600 (subtitles, badges), 700 (card titles, sections), 800 (display, prices).
|
|
12
|
+
|
|
13
|
+
**Key Characteristics:**
|
|
14
|
+
- Light near-white canvas (`#FFFFFF` / `#F5F7FA`) light / navy-tinted charcoal (`#0E1116`) dark — content-forward, deal-forward
|
|
15
|
+
- Search-and-results loop — segmented Stays/Flights/Cars/Bundle switch → single search pill → vertical results list
|
|
16
|
+
- Property/fare result card — 16:10 hero, deal flag (top-left), save heart (top-right), title, location, review-score badge, price block, One Key earn line
|
|
17
|
+
- Expedia Yellow (`#FFC94D`) = savings/deal/loyalty highlight; never generic chrome
|
|
18
|
+
- Action Blue (`#1668E3`) = interactive (links, CTAs, selection)
|
|
19
|
+
- Expedia Navy (`#00355F`) = brand/trust (logomark, review badge, headers)
|
|
20
|
+
- One Key gold (`#F5C518`) = rewards-only (balances, earn lines, One Key chip)
|
|
21
|
+
- Navy review-score badge ("9.2 Wonderful · 1,847 reviews") — Expedia's signature trust signal
|
|
22
|
+
- Bundle + Save — packaging stay+flight+car for a discounted "Bundle" price (the core monetization gesture)
|
|
23
|
+
- Strikethrough → discounted price pattern on nearly every card
|
|
24
|
+
- Trips tab — itinerary timeline grouping flights, stays, cars under a single trip
|
|
25
|
+
- Bottom tab bar: Search / Saved / Trips / Support / Account
|
|
26
|
+
|
|
27
|
+
## 2. Color Palette & Roles
|
|
28
|
+
|
|
29
|
+
### Primary (Brand & Interactive)
|
|
30
|
+
- **Expedia Yellow** (`#FFC94D`): Savings/deal/loyalty highlight — bundle tags, member-price flags, One Key chip, "Bundle & save" primary CTA fill (text on it is navy `#00355F`).
|
|
31
|
+
- **Yellow Deep** (`#FFB31A`): Pressed state for yellow CTAs and tags.
|
|
32
|
+
- **Action Blue** (`#1668E3`): Primary interactive — "Reserve" CTA, links, secondary CTAs, selected segment underline, in-card actions.
|
|
33
|
+
- **Action Blue Pressed** (`#0F4FB0`): Pressed state for blue CTAs.
|
|
34
|
+
- **Expedia Navy** (`#00355F`): Brand/trust — logomark field, review-score badge background, dark hero overlays, top app bar on detail screens.
|
|
35
|
+
- **Navy Soft** (`#14416B`): Lighter navy for secondary badges and chips on dark.
|
|
36
|
+
- **One Key Gold** (`#F5C518`): Rewards-only — One Key cash balance, "Earn X One Key cash" lines, One Key membership chip. Never used for generic UI.
|
|
37
|
+
|
|
38
|
+
### Canvas & Surfaces (Light Mode)
|
|
39
|
+
- **Canvas White** (`#FFFFFF`): Primary light canvas, card backgrounds.
|
|
40
|
+
- **Surface Gray** (`#F5F7FA`): App background behind cards, grouped sections.
|
|
41
|
+
- **Surface Pressed** (`#ECEFF4`): Pressed rows, selected list items.
|
|
42
|
+
- **Divider** (`#E3E7ED`): Hairline dividers between rows, card borders.
|
|
43
|
+
- **Scrim** (`#00000066`): 40% black overlay on hero photos for text legibility.
|
|
44
|
+
|
|
45
|
+
### Canvas & Surfaces (Dark Mode)
|
|
46
|
+
- **Dark Canvas** (`#0E1116`): Primary dark canvas — carries a subtle navy bias (NOT pure black) echoing Expedia Navy.
|
|
47
|
+
- **Dark Surface 1** (`#161B22`): Card backgrounds, elevated surfaces.
|
|
48
|
+
- **Dark Surface 2** (`#1F2630`): Chips, segmented controls, secondary fills.
|
|
49
|
+
- **Dark Divider** (`#2A323E`): Hairline dividers and card borders.
|
|
50
|
+
- **Dark Scrim** (`#00000080`): 50% black overlay on hero photos.
|
|
51
|
+
|
|
52
|
+
### Text
|
|
53
|
+
- **Text Primary Light** (`#1A1F26`): Primary body and titles on light.
|
|
54
|
+
- **Text Secondary Light** (`#5A6573`): Metadata, neighborhoods, captions.
|
|
55
|
+
- **Text Tertiary Light** (`#8A95A3`): Strikethrough prices, disabled.
|
|
56
|
+
- **Text Primary Dark** (`#E8EBEF`): Primary text on dark.
|
|
57
|
+
- **Text Secondary Dark** (`#9AA4B2`): Metadata on dark.
|
|
58
|
+
- **Text Tertiary Dark** (`#6A7585`): Strikethrough prices, disabled on dark.
|
|
59
|
+
|
|
60
|
+
### Semantic
|
|
61
|
+
- **Success Green** (`#1A8B4B`): "Free cancellation", high review scores (9.0+ badge), confirmed booking.
|
|
62
|
+
- **Error Red** (`#D93A3A`): Form errors, "Only 2 rooms left at this price" urgency, cancellation warnings.
|
|
63
|
+
- **Warning Amber** (`#E8830C`): Price-change alerts, "Prices may rise" banners.
|
|
64
|
+
- **Star Gold** (`#FFC94D`): Star ratings on properties (shares Expedia Yellow).
|
|
65
|
+
- **Member Price Tint** (`#FFC94D1F`): 12% yellow background behind member-price callouts.
|
|
66
|
+
|
|
67
|
+
### Review-Score Badge Color Ramp
|
|
68
|
+
The navy/blue/green badge that fronts every property — color shifts with score band.
|
|
69
|
+
|
|
70
|
+
| Score Band | Badge Background | Label Text |
|
|
71
|
+
|------------|------------------|------------|
|
|
72
|
+
| 9.0–10 (Wonderful) | `#1A8B4B` | Wonderful |
|
|
73
|
+
| 8.0–8.9 (Excellent) | `#1668E3` | Excellent |
|
|
74
|
+
| 7.0–7.9 (Very Good / Good) | `#14416B` | Good |
|
|
75
|
+
| 6.0–6.9 (Pleasant) | `#5A6573` | Pleasant |
|
|
76
|
+
| < 6.0 | `#8A95A3` | — |
|
|
77
|
+
|
|
78
|
+
## 3. Typography Rules
|
|
79
|
+
|
|
80
|
+
### Font Family
|
|
81
|
+
- **Primary**: `Expedia Sans` (proprietary, by Pentagram for Expedia Group, 2017+ rebrand) — geometric humanist sans tuned for travel commerce: legible price figures, generous x-height, confident bold weights.
|
|
82
|
+
- **Fallback Stack**: `'Expedia Sans', -apple-system, BlinkMacSystemFont, 'SF Pro Display', 'SF Pro Text', 'Inter', 'Segoe UI', Roboto, Helvetica, Arial, sans-serif`
|
|
83
|
+
- **Closest free substitute**: `Inter` (by Rasmus Andersson, SIL OFL) — matched x-height, geometric construction, excellent tabular figures for prices.
|
|
84
|
+
- **Numerals**: Tabular/lining figures for all prices and review scores (so columns of prices align).
|
|
85
|
+
|
|
86
|
+
### Hierarchy
|
|
87
|
+
|
|
88
|
+
| Role | Font | Size | Weight | Line Height | Letter Spacing | Notes |
|
|
89
|
+
|------|------|------|--------|-------------|----------------|-------|
|
|
90
|
+
| Display | Expedia Sans | 32pt | 800 | 1.15 | -0.6pt | Home hero ("Find your next trip") |
|
|
91
|
+
| Screen Title | Expedia Sans | 26pt | 800 | 1.2 | -0.4pt | Destination / results header |
|
|
92
|
+
| Section | Expedia Sans | 22pt | 700 | 1.25 | -0.2pt | "Bundle + Save deals" |
|
|
93
|
+
| Card Title | Expedia Sans | 18pt | 700 | 1.3 | -0.2pt | Property / fare name |
|
|
94
|
+
| Price (Now) | Expedia Sans | 18pt | 800 | 1.2 | -0.2pt | Discounted price figure |
|
|
95
|
+
| Body | Expedia Sans | 16pt | 400 | 1.5 | 0pt | Descriptions, policy text |
|
|
96
|
+
| Card Subtitle | Expedia Sans | 15pt | 600 | 1.35 | 0pt | Neighborhood, "0.4 mi from center" |
|
|
97
|
+
| Review Score | Expedia Sans | 15pt | 800 | 1.0 | 0pt | "9.2" inside navy badge |
|
|
98
|
+
| Meta | Expedia Sans | 14pt | 400 | 1.4 | 0pt | "1,847 reviews · Free cancellation" |
|
|
99
|
+
| Price (Strike) | Expedia Sans | 13pt | 400 | 1.0 | 0pt | Strikethrough antecedent price |
|
|
100
|
+
| Badge / Tag | Expedia Sans | 12pt | 600 | 1.0 | 0.2pt | "−24% Bundle", "Member price" |
|
|
101
|
+
| One Key Line | Expedia Sans | 11pt | 700 | 1.2 | 0.1pt | "Earn 2,040 One Key cash" |
|
|
102
|
+
| Button | Expedia Sans | 16pt | 700 | 1.0 | 0pt | Primary/secondary CTAs |
|
|
103
|
+
| Tab Label | Expedia Sans | 10pt | 600 | 1.0 | 0.1pt | Bottom tab labels |
|
|
104
|
+
|
|
105
|
+
### Principles
|
|
106
|
+
- **Price is the loudest content element**: discounted price at 18pt 800, strikethrough at 13pt 400 tertiary, "/ night" suffix at 12pt secondary — the eye lands on savings.
|
|
107
|
+
- **Tabular figures everywhere prices appear**: prices, review scores, point balances must align in vertical lists.
|
|
108
|
+
- **Weight concentrated at 400 / 600 / 700 / 800**: body regular, subtitles/badges semibold, titles/sections bold, display/prices extra-bold. No thin, no black.
|
|
109
|
+
- **Navy on yellow, white on blue**: text on Expedia Yellow is always navy `#00355F`; text on Action Blue is always white `#FFFFFF`.
|
|
110
|
+
- **Dynamic Type first-class**: display, titles, body, prices scale; tab labels, badges, One Key lines stay fixed.
|
|
111
|
+
|
|
112
|
+
## 4. Component Stylings
|
|
113
|
+
|
|
114
|
+
### Buttons
|
|
115
|
+
|
|
116
|
+
**Primary Button (Reserve / Continue)**
|
|
117
|
+
- Shape: Rounded rectangle, 8pt corner radius
|
|
118
|
+
- Background: `#1668E3` (Action Blue)
|
|
119
|
+
- Text: `#FFFFFF`, Expedia Sans 16pt weight 700
|
|
120
|
+
- Padding: 14pt vertical, 28pt horizontal
|
|
121
|
+
- Full-width on detail/checkout screens (leading + trailing 16pt insets)
|
|
122
|
+
- Pressed: background `#0F4FB0` + scale 0.98
|
|
123
|
+
- Disabled: `#1668E3` at 38% opacity
|
|
124
|
+
|
|
125
|
+
**Savings / Bundle Button (Bundle & save)**
|
|
126
|
+
- Shape: Rounded rectangle, 8pt corner radius
|
|
127
|
+
- Background: `#FFC94D` (Expedia Yellow)
|
|
128
|
+
- Text: `#00355F` (Expedia Navy), Expedia Sans 16pt weight 700
|
|
129
|
+
- Padding: 14pt vertical, 28pt horizontal
|
|
130
|
+
- Pressed: background `#FFB31A` + scale 0.98
|
|
131
|
+
- Used for the package/bundle conversion CTA — the highest-intent action
|
|
132
|
+
|
|
133
|
+
**Secondary / Outline Button (Add a flight)**
|
|
134
|
+
- Background: transparent
|
|
135
|
+
- Text: `#1668E3` (Action Blue)
|
|
136
|
+
- Border: 1pt `#1668E3`
|
|
137
|
+
- Padding: 12pt vertical, 20pt horizontal
|
|
138
|
+
- Corner radius: 8pt
|
|
139
|
+
- Pressed: background `#1668E31A` (10% blue)
|
|
140
|
+
|
|
141
|
+
**Text Button (See all 38 deals)**
|
|
142
|
+
- Font: Expedia Sans 14pt weight 600
|
|
143
|
+
- Color: `#1668E3`
|
|
144
|
+
- No underline; chevron trailing optional
|
|
145
|
+
- Pressed: 60% opacity
|
|
146
|
+
|
|
147
|
+
**Icon Button (Save heart)**
|
|
148
|
+
- Size: 20pt glyph in 30pt circular hit area
|
|
149
|
+
- On hero photo: filled-black-40% circle behind for contrast
|
|
150
|
+
- Unsaved: hollow heart, `#FFFFFF` stroke 1.8pt, `rgba(0,0,0,0.4)` fill
|
|
151
|
+
- Saved: filled `#1668E3` with `#FFFFFF` 1.6pt stroke
|
|
152
|
+
- Toggle: scale-bounce 1.0 → 1.2 → 1.0 in 220ms + soft haptic
|
|
153
|
+
|
|
154
|
+
### Core Atoms
|
|
155
|
+
|
|
156
|
+
**Property / Result Card**
|
|
157
|
+
- Container: `#FFFFFF` light / `#161B22` dark, 16pt corner radius, 0.5pt `#E3E7ED` / `#2A323E` border, subtle shadow `0 4px 12px rgba(0,0,0,0.08)` light / `0 4px 12px rgba(0,0,0,0.4)` dark
|
|
158
|
+
- Hero photo: full-width, 16:10 aspect ratio, square top corners (clipped to card radius)
|
|
159
|
+
- **Deal flag** (top-left, 12pt inset): `#FFC94D` background, `#00355F` text, Expedia Sans 12pt w800, 6pt corner radius, 4pt vertical / 9pt horizontal padding ("−24% Bundle", "Member price")
|
|
160
|
+
- **Save heart** (top-right, 10pt inset): see Icon Button
|
|
161
|
+
- Body padding: 12pt top, 14pt horizontal, 14pt bottom
|
|
162
|
+
- Title: Expedia Sans 18pt w700
|
|
163
|
+
- Subtitle (location): Expedia Sans 15pt w600 secondary, 3pt below title
|
|
164
|
+
- **Review-score row** (8pt below subtitle): navy badge (`#14416B`/`#1A8B4B`/`#1668E3` per band) with white 15pt w800 score + 6pt gap + word ("Wonderful") in 12pt w700 + " · 1,847 reviews" in 12pt secondary
|
|
165
|
+
- **Price row** (10pt below): optional strikethrough `#8A95A3` 13pt + discounted `#1A1F26` 18pt w800 + "/ night" 12pt secondary
|
|
166
|
+
- **One Key earn line** (7pt below): gold dot/coin + "Earn 2,040 One Key cash" Expedia Sans 11pt w700 `#F5C518`
|
|
167
|
+
|
|
168
|
+
**Flight / Fare Card** (variant of result card)
|
|
169
|
+
- Top row: airline logo (24pt) + airline name + cabin
|
|
170
|
+
- Center: depart time → duration arc with stops dots → arrive time (times Expedia Sans 18pt w700, airport codes 13pt secondary)
|
|
171
|
+
- Bottom: price block (right-aligned, 18pt w800) + "Round trip" 12pt secondary + One Key earn line
|
|
172
|
+
- "Hacker fare" / "Self-transfer" badge: amber `#E8830C` chip when mixed-carrier
|
|
173
|
+
|
|
174
|
+
**Review-Score Badge**
|
|
175
|
+
- Rounded rectangle, 6pt corner radius
|
|
176
|
+
- Background per score band (see §2 ramp)
|
|
177
|
+
- Text: white, Expedia Sans 15pt w800
|
|
178
|
+
- Padding: 3pt vertical, 7pt horizontal
|
|
179
|
+
- Always paired with a word label and review count to its right
|
|
180
|
+
|
|
181
|
+
**Price Block**
|
|
182
|
+
- Strikethrough antecedent: Expedia Sans 13pt w400 `#8A95A3`, `line-through`
|
|
183
|
+
- Discounted/now: Expedia Sans 18pt w800 `#1A1F26` (or `#E8EBEF` dark)
|
|
184
|
+
- Period suffix: Expedia Sans 12pt w400 secondary, baseline-aligned
|
|
185
|
+
- "Member price" / "Bundle price" label: 12pt w600, color = green `#1A8B4B` for member, navy `#00355F` on yellow tag for bundle
|
|
186
|
+
|
|
187
|
+
**One Key Chip / Pill**
|
|
188
|
+
- Pill, 500pt corner radius
|
|
189
|
+
- Background: `#1F2630` dark / `#FFC94D1F` light
|
|
190
|
+
- Leading 7pt gold dot or coin glyph
|
|
191
|
+
- Text: Expedia Sans 11pt w700 `#F5C518`
|
|
192
|
+
- Content: "12,480 One Key" or "$124.80 One Key cash"
|
|
193
|
+
|
|
194
|
+
### Navigation
|
|
195
|
+
|
|
196
|
+
**Bottom Tab Bar**
|
|
197
|
+
- Height: 52pt + safe area
|
|
198
|
+
- Background: `#FFFFFF` / `#0E1116` with 0.5pt top divider `#E3E7ED` / `#2A323E`
|
|
199
|
+
- Tabs (5): Search, Saved, Trips, Support, Account
|
|
200
|
+
- Icon size: 22pt
|
|
201
|
+
- Active: `#1668E3` (Action Blue), filled glyph
|
|
202
|
+
- Inactive: `#8A95A3` / `#6A7585`, outline glyph
|
|
203
|
+
- Labels: Expedia Sans 10pt w600, always shown
|
|
204
|
+
- No pill indicator — color + fill change only
|
|
205
|
+
|
|
206
|
+
**Top App Bar (Detail / Results)**
|
|
207
|
+
- Height: 44pt + safe area
|
|
208
|
+
- On photo hero: transparent → solidifies to `#FFFFFF`/`#0E1116` on scroll
|
|
209
|
+
- Leading: back chevron (white over photo, primary text once solid)
|
|
210
|
+
- Trailing: share + save heart
|
|
211
|
+
- Title: appears centered on scroll past hero
|
|
212
|
+
|
|
213
|
+
**Segmented Mode Switch (Stays / Flights / Cars / Bundle)**
|
|
214
|
+
- 4 equal segments, each a 10pt-radius pill, 9pt vertical padding
|
|
215
|
+
- Inactive: `#F5F7FA`/`#1F2630` background, `#5A6573`/`#9AA4B2` text, 0.5pt divider border
|
|
216
|
+
- Active: `#FFC94D` background, `#00355F` text, no border
|
|
217
|
+
- Transition: 200ms ease-out background + text color crossfade
|
|
218
|
+
|
|
219
|
+
### Input Fields
|
|
220
|
+
|
|
221
|
+
**Search Pill (the entry point)**
|
|
222
|
+
- Height: 52pt
|
|
223
|
+
- Background: `#FFFFFF`/`#161B22`, 0.5pt `#E3E7ED`/`#2A323E` border
|
|
224
|
+
- Corner radius: 14pt
|
|
225
|
+
- Shadow: `0 4px 12px rgba(0,0,0,0.08)` / `rgba(0,0,0,0.4)`
|
|
226
|
+
- Leading: `magnifyingglass` 17pt secondary
|
|
227
|
+
- Two-line content: line 1 destination Expedia Sans 14pt w700; line 2 "Oct 12 – 17 · 2 travelers · 1 room" 11pt secondary
|
|
228
|
+
- Tap: pushes full search form (destination autocomplete, date range, traveler stepper)
|
|
229
|
+
|
|
230
|
+
**Text Field (forms / traveler details)**
|
|
231
|
+
- Height: 52pt
|
|
232
|
+
- Background: `#F5F7FA`/`#1F2630`
|
|
233
|
+
- Corner radius: 8pt
|
|
234
|
+
- Border: 1pt transparent → `#1668E3` on focus
|
|
235
|
+
- Label: floating, Expedia Sans 12pt secondary
|
|
236
|
+
- Error: 1pt `#D93A3A` border + helper text `#D93A3A` 12pt
|
|
237
|
+
|
|
238
|
+
**Date Range / Calendar**
|
|
239
|
+
- Two-month vertical scroll calendar
|
|
240
|
+
- Selected start/end: `#1668E3` filled circle, white text
|
|
241
|
+
- In-range: `#1668E31A` (10% blue) connecting band
|
|
242
|
+
- Today: `#1668E3` ring
|
|
243
|
+
|
|
244
|
+
### Distinctive Components
|
|
245
|
+
|
|
246
|
+
**Bundle + Save Module**
|
|
247
|
+
- A horizontally laid "stay + flight (+ car)" stack with a yellow savings ribbon
|
|
248
|
+
- Header: "Bundle and save $214" — savings figure in `#00355F` on `#FFC94D1F` band
|
|
249
|
+
- CTA: yellow "Bundle & save" button
|
|
250
|
+
- Each component row: icon + name + individual price (strikethrough) → bundled price
|
|
251
|
+
|
|
252
|
+
**One Key Rewards Strip**
|
|
253
|
+
- Surface `#F5F7FA`/`#1F2630`, 12pt corner radius, 0.5pt divider
|
|
254
|
+
- Leading 36pt gold coin ("1K"), title "One Key cash available" 13pt w700, subtitle 11pt secondary
|
|
255
|
+
- Trailing balance: Expedia Sans 16pt w800 `#F5C518`
|
|
256
|
+
- Appears on home, checkout, and Account
|
|
257
|
+
|
|
258
|
+
**Trips Timeline**
|
|
259
|
+
- Vertical itinerary grouped by trip → by day
|
|
260
|
+
- Each item: type icon (flight/bed/car) + time + title + status chip
|
|
261
|
+
- Connecting vertical rail `#E3E7ED`/`#2A323E` between items
|
|
262
|
+
- Confirmed status: green `#1A8B4B` chip; pending: amber `#E8830C`
|
|
263
|
+
|
|
264
|
+
**Price Forecast / Change Banner**
|
|
265
|
+
- Full-width inline banner, `#FFC94D1F` background, 8pt radius
|
|
266
|
+
- Leading trend glyph, text "Prices for these dates are trending up" 13pt w600
|
|
267
|
+
- Optional "Track price" outline button trailing
|
|
268
|
+
|
|
269
|
+
**Map Price Pins**
|
|
270
|
+
- Pill, 12pt radius, drop shadow `0 2px 6px rgba(0,0,0,0.4)`
|
|
271
|
+
- Default: `#FFFFFF`/`#161B22` bg, navy text
|
|
272
|
+
- Selected: `#1668E3` bg, white text
|
|
273
|
+
- Viewed: `#ECEFF4`/`#0E1116` muted
|
|
274
|
+
|
|
275
|
+
## 5. Layout Principles
|
|
276
|
+
|
|
277
|
+
### Spacing System
|
|
278
|
+
- Base unit: 4pt
|
|
279
|
+
- Scale: 4, 8, 12, 16, 20, 24, 32, 40, 48, 64
|
|
280
|
+
- Card vertical gap: 16pt
|
|
281
|
+
- Card internal padding: 12–14pt
|
|
282
|
+
- Screen horizontal inset: 16pt
|
|
283
|
+
- Section header to first card: 10pt
|
|
284
|
+
|
|
285
|
+
### Grid & Container
|
|
286
|
+
- iPhone: single-column results list, 16pt insets, full-bleed hero photos within cards
|
|
287
|
+
- iPad: 2-column results grid (max content width 980pt centered, 24pt insets); detail uses split (list + map/detail)
|
|
288
|
+
- Map view: full-bleed map with floating result carousel at bottom
|
|
289
|
+
|
|
290
|
+
### Whitespace Philosophy
|
|
291
|
+
- **Commerce density with breathing room**: cards are information-dense (photo, title, score, price, loyalty) but separated by a generous 16pt gap so each is a discrete decision unit
|
|
292
|
+
- **Savings gets the spotlight**: yellow deal flags and One Key lines get their own visual lane — never crowded by body copy
|
|
293
|
+
- **Photo-first**: every result leads with a 16:10 photo; chrome is minimal over it (just deal flag + heart)
|
|
294
|
+
|
|
295
|
+
### Border Radius Scale
|
|
296
|
+
- Square (0pt): hero photo top edge (clipped to card), dividers
|
|
297
|
+
- Subtle (4pt): inline price chips
|
|
298
|
+
- Tag (6pt): deal flags, review-score badge
|
|
299
|
+
- Standard (8pt): buttons, text fields, inline banners
|
|
300
|
+
- Card (12–16pt): result cards, rewards strip, modules
|
|
301
|
+
- Pill (500pt): One Key chip, segmented control, map pins
|
|
302
|
+
- Circle (50%): save-heart hit area, avatars, One Key coin
|
|
303
|
+
|
|
304
|
+
## 6. Depth & Elevation
|
|
305
|
+
|
|
306
|
+
Expedia uses **soft, functional elevation** — cards lift just enough to read as tappable units; deal flags and CTAs sit flat on their surfaces.
|
|
307
|
+
|
|
308
|
+
| Level | Treatment (Light) | Treatment (Dark) | Use |
|
|
309
|
+
|-------|-------------------|------------------|-----|
|
|
310
|
+
| Flat (0) | none | none | Page background, deal flags, badges |
|
|
311
|
+
| Card (1) | `0 4px 12px rgba(0,0,0,0.08)` | `0 4px 12px rgba(0,0,0,0.4)` | Result cards, rewards strip, search pill |
|
|
312
|
+
| Floating (2) | `0 8px 24px rgba(0,0,0,0.12)` | `0 8px 24px rgba(0,0,0,0.55)` | Map result carousel, sticky CTA bar |
|
|
313
|
+
| Sheet (3) | `0 -8px 28px rgba(0,0,0,0.14)` | `0 -8px 28px rgba(0,0,0,0.6)` | Bottom sheets (filters, traveler picker) |
|
|
314
|
+
| Modal Scrim | `rgba(0,0,0,0.4)` | `rgba(0,0,0,0.55)` | Dim behind modals & sheets |
|
|
315
|
+
|
|
316
|
+
**Shadow Philosophy**: shadow signals "this is a tappable card / it floats." Deal flags, review badges, and the One Key chip are deliberately flat (color carries them). On dark, shadows deepen to 0.4–0.6 opacity to register over `#0E1116`.
|
|
317
|
+
|
|
318
|
+
### Motion
|
|
319
|
+
- **Card tap → detail**: shared-element hero photo expands, push transition 320ms ease-out
|
|
320
|
+
- **Save heart**: scale 1.0 → 1.2 → 1.0 over 220ms + soft haptic; deal recalculates silently
|
|
321
|
+
- **Segmented switch**: active pill background + text crossfade 200ms ease-out
|
|
322
|
+
- **Price update (date change)**: old price cross-dissolves to new in 180ms; brief `#FFC94D` flash on the price if it dropped
|
|
323
|
+
- **Bundle reveal**: savings ribbon slides down + scales from 0.96 over 240ms ease-out when a flight is added
|
|
324
|
+
- **Filter sheet**: bottom sheet slides up 300ms ease-out; result count animates as filters toggle
|
|
325
|
+
- **Sticky CTA bar**: fades/translates in over 200ms once the user scrolls past the fold on a detail screen
|
|
326
|
+
- **Pull-to-refresh**: Expedia-yellow spinner
|
|
327
|
+
- **Haptics**: soft impact on save, segment switch, date-range commit; success haptic on booking confirmation
|
|
328
|
+
|
|
329
|
+
## 7. Do's and Don'ts
|
|
330
|
+
|
|
331
|
+
### Do
|
|
332
|
+
- Use Expedia Yellow (`#FFC94D`) strictly for savings/deal/loyalty highlights — bundle tags, member prices, One Key chip, the "Bundle & save" CTA
|
|
333
|
+
- Put navy `#00355F` text on yellow, white on Action Blue `#1668E3`
|
|
334
|
+
- Lead every result card with a 16:10 photo; deal flag top-left, save heart top-right
|
|
335
|
+
- Show the review-score badge with score + word + count ("9.2 Wonderful · 1,847 reviews")
|
|
336
|
+
- Use the strikethrough → discounted price pattern when there is a real saving
|
|
337
|
+
- Reserve One Key gold (`#F5C518`) exclusively for rewards balances and earn lines
|
|
338
|
+
- Use Action Blue (`#1668E3`) for the primary "Reserve" CTA and all links
|
|
339
|
+
- Give cards a 16pt gap and a soft `0 4px 12px` shadow so each is a discrete decision
|
|
340
|
+
- Carry the search-and-results loop: segmented mode switch → search pill → vertical list
|
|
341
|
+
- Use a navy-biased dark canvas (`#0E1116`), NOT pure black
|
|
342
|
+
- Animate a brief yellow price flash when a price drops
|
|
343
|
+
|
|
344
|
+
### Don't
|
|
345
|
+
- Don't use Expedia Yellow for generic chrome, body text, or non-savings UI — it dilutes the savings signal
|
|
346
|
+
- Don't put white text on yellow or yellow text on blue (contrast + brand violation)
|
|
347
|
+
- Don't use One Key gold for anything other than rewards (no generic icons, no body accents)
|
|
348
|
+
- Don't show a strikethrough price when there is no real discount
|
|
349
|
+
- Don't bury the review-score badge — it's the primary trust signal and must front the card
|
|
350
|
+
- Don't use pure black (`#000000`) for the dark canvas — `#0E1116` carries the navy bias
|
|
351
|
+
- Don't make the bundle/savings CTA blue — the highest-intent action is yellow
|
|
352
|
+
- Don't over-shadow flat elements (deal flags, badges, One Key chip stay flat)
|
|
353
|
+
- Don't crowd the One Key earn line with other copy — it has its own lane
|
|
354
|
+
- Don't animate aggressively — motion is functional, 180–320ms ease-out
|
|
355
|
+
- Don't replace the segmented mode switch with a dropdown — Stays/Flights/Cars/Bundle is a glanceable, always-visible switch
|
|
356
|
+
|
|
357
|
+
## 8. Responsive Behavior
|
|
358
|
+
|
|
359
|
+
### Device Sizes
|
|
360
|
+
| Device | Width | Key Changes |
|
|
361
|
+
|--------|-------|-------------|
|
|
362
|
+
| iPhone SE (3rd gen) | 375pt | Single column; hero photo 16:10; segmented switch labels may abbreviate |
|
|
363
|
+
| iPhone 13/14/15 | 390pt | Standard layout |
|
|
364
|
+
| iPhone 15/16 Pro | 393pt | Dynamic Island accommodated; sticky CTA respects safe area |
|
|
365
|
+
| iPhone 15/16 Pro Max | 430pt | Larger hero photos; 2-line meta has more room |
|
|
366
|
+
| iPad (portrait) | 768pt | 2-column results grid; detail in split view (list + detail) |
|
|
367
|
+
| iPad (landscape) | 1024pt+ | Results list + persistent map pane side-by-side |
|
|
368
|
+
|
|
369
|
+
### Dynamic Type
|
|
370
|
+
- Display, screen title, section, card title, body, prices: full scale
|
|
371
|
+
- Tab labels, deal flags/badges, One Key lines, review-score number: FIXED (layout-sensitive)
|
|
372
|
+
- Prices keep tabular figures at every scale
|
|
373
|
+
|
|
374
|
+
### Orientation
|
|
375
|
+
- iPhone: portrait-primary; landscape supported on detail/photo gallery
|
|
376
|
+
- iPad: full rotation; landscape unlocks side-by-side list + map
|
|
377
|
+
|
|
378
|
+
### Touch Targets
|
|
379
|
+
- Save heart: 30pt circle hit (20pt glyph)
|
|
380
|
+
- Tab bar icons: 22pt glyph, 44pt hit
|
|
381
|
+
- Segmented switch segment: full segment height (≥ 36pt)
|
|
382
|
+
- Search pill: full 52pt height tappable
|
|
383
|
+
- Primary CTA: ≥ 48pt tall
|
|
384
|
+
|
|
385
|
+
### Safe Area Handling
|
|
386
|
+
- Top app bar respects safe area + Dynamic Island
|
|
387
|
+
- Sticky CTA bar and bottom tab respect home indicator
|
|
388
|
+
- Map result carousel floats above bottom safe area
|
|
389
|
+
- Keyboard: search form scrolls above keyboard; date picker is a sheet above it
|
|
390
|
+
|
|
391
|
+
## 9. Agent Prompt Guide
|
|
392
|
+
|
|
393
|
+
### Quick Color Reference
|
|
394
|
+
- Canvas (light): `#FFFFFF` / surface `#F5F7FA`
|
|
395
|
+
- Canvas (dark): `#0E1116`
|
|
396
|
+
- Surface (dark card): `#161B22`
|
|
397
|
+
- Divider: `#E3E7ED` light / `#2A323E` dark
|
|
398
|
+
- Text primary: `#1A1F26` light / `#E8EBEF` dark
|
|
399
|
+
- Text secondary: `#5A6573` light / `#9AA4B2` dark
|
|
400
|
+
- Expedia Yellow (savings): `#FFC94D` (text on it: navy `#00355F`)
|
|
401
|
+
- Action Blue (interactive): `#1668E3`
|
|
402
|
+
- Expedia Navy (brand/trust): `#00355F`
|
|
403
|
+
- One Key Gold (rewards): `#F5C518`
|
|
404
|
+
- Success: `#1A8B4B`
|
|
405
|
+
- Error: `#D93A3A`
|
|
406
|
+
- Review badge — Wonderful: `#1A8B4B`, Excellent: `#1668E3`, Good: `#14416B`
|
|
407
|
+
|
|
408
|
+
### Example Component Prompts
|
|
409
|
+
- "Build the Expedia property result card in SwiftUI: `#FFFFFF` card (`#161B22` dark), 16pt corner radius, 0.5pt `#E3E7ED` border, shadow `0 4px 12px rgba(0,0,0,0.08)`. Top: 16:10 hero photo with a `#FFC94D` deal flag top-left (text `#00355F`, Expedia Sans 12pt w800, 6pt radius, '−24% Bundle') and a save heart top-right (20pt glyph in 30pt black-40% circle). Body 12/14/14pt padding: title Expedia Sans 18pt w700; location 15pt w600 `#5A6573`; review row = `#1A8B4B` badge with white 15pt w800 '9.2' + '· Wonderful · 1,847 reviews'; price row = strikethrough `#8A95A3` 13pt '$268' then `#1A1F26` 18pt w800 '$204' + '/ night' 12pt secondary; One Key line = gold dot + 'Earn 2,040 One Key cash' 11pt w700 `#F5C518`."
|
|
410
|
+
|
|
411
|
+
- "Create the Expedia segmented mode switch: 4 equal pills (Stays / Flights / Cars / Bundle), 10pt radius, 9pt vertical padding. Inactive: `#F5F7FA` bg, `#5A6573` text, 0.5pt `#E3E7ED` border. Active: `#FFC94D` bg, `#00355F` text, no border. 200ms ease-out crossfade on switch."
|
|
412
|
+
|
|
413
|
+
- "Build the Expedia search pill: 52pt tall, `#FFFFFF` bg, 14pt radius, 0.5pt `#E3E7ED` border, shadow `0 4px 12px rgba(0,0,0,0.08)`. Leading magnifyingglass 17pt `#5A6573`. Two lines: 'San Diego, CA' Expedia Sans 14pt w700; 'Oct 12 – 17 · 2 travelers · 1 room' 11pt `#5A6573`. Tap pushes full search form."
|
|
414
|
+
|
|
415
|
+
- "Render the Expedia One Key rewards strip: `#F5F7FA` surface (`#1F2630` dark), 12pt radius, 0.5pt divider. Leading 36pt gold (`#F5C518`) coin '1K'. Title 'One Key cash available' Expedia Sans 13pt w700; subtitle 11pt `#5A6573`. Trailing balance Expedia Sans 16pt w800 `#F5C518`."
|
|
416
|
+
|
|
417
|
+
- "Build the Expedia primary CTA pair: 'Reserve' = `#1668E3` fill, white Expedia Sans 16pt w700, 8pt radius, 14/28pt padding, pressed `#0F4FB0` + scale 0.98. 'Bundle & save' = `#FFC94D` fill, `#00355F` text, same metrics, pressed `#FFB31A`."
|
|
418
|
+
|
|
419
|
+
- "Create the Expedia review-score badge: rounded rect 6pt radius, background by band — `#1A8B4B` (9.0+ Wonderful), `#1668E3` (8.0+ Excellent), `#14416B` (7.0+ Good). White Expedia Sans 15pt w800 score, 3/7pt padding, followed by word label 12pt w700 + ' · 1,847 reviews' 12pt `#5A6573`."
|
|
420
|
+
|
|
421
|
+
### Iteration Guide
|
|
422
|
+
1. Canvas is near-white (`#FFFFFF`/`#F5F7FA`) light, navy-biased charcoal `#0E1116` dark — NOT true black
|
|
423
|
+
2. Expedia Yellow `#FFC94D` is the savings/deal/loyalty color ONLY — never generic chrome; text on it is navy `#00355F`
|
|
424
|
+
3. Action Blue `#1668E3` is interactive — Reserve CTA, links, selection; white text on it
|
|
425
|
+
4. Every result card leads with a 16:10 photo, deal flag top-left, save heart top-right
|
|
426
|
+
5. The review-score badge (score + word + count) fronts every card — it's the trust signal
|
|
427
|
+
6. Use strikethrough → discounted price only when there's a real saving; prices use tabular figures
|
|
428
|
+
7. One Key gold `#F5C518` is rewards-only (balances, earn lines, One Key chip)
|
|
429
|
+
8. The search-and-results loop is the spine: segmented switch (Stays/Flights/Cars/Bundle) → search pill → vertical list
|
|
430
|
+
9. The highest-intent CTA ("Bundle & save") is yellow, not blue
|
|
431
|
+
10. Motion is functional 180–320ms ease-out; flash the price yellow when it drops
|