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,353 @@
|
|
|
1
|
+
# Design System Inspiration of Revolut (iOS)
|
|
2
|
+
|
|
3
|
+
## 1. Visual Theme & Atmosphere
|
|
4
|
+
|
|
5
|
+
Revolut's iOS app is a near-black financial cockpit where money looks engineered, not nostalgic. The canvas sits at `#0A0A0F` — a cool, almost-black with the faintest blue cast — so that the product's signature gradient (an electric violet-to-indigo sweep, `#5B6BFF → #9C6BFF`) and the metal-card hero read like premium hardware on a dark workbench. Nothing is beige, nothing is "bank green"; this is fintech as a precision instrument. Balance numbers are huge, spend analytics are charted in a single donut, and every surface is a slightly-lifted slab (`#16161F` / `#1E1E2A`) floating on the void.
|
|
6
|
+
|
|
7
|
+
The accent system is a gradient ritual. The violet→purple sweep carries the brand: the primary CTA, the active tab, the selected segment, the analytics donut's spent arc, and the sheen that rolls across the metal card. A solid `#6B5BFF` is the fallback when a gradient can't be used (thin strokes, small icons, focus rings). Everything else is white, gray, or the deep canvas. The restraint makes the gradient feel like *Revolut* — when it appears, it's the product speaking.
|
|
8
|
+
|
|
9
|
+
Typography is Aeonik, Revolut's geometric grotesque (Inter is the closest free substitute). It's confident and slightly tight — perfect for big balance figures and dense transaction lists. The hierarchy is built for numbers: a balance can hit 34–40pt weight 700, transaction amounts sit at 16pt weight 600 (green for incoming, white for outgoing), and the most expressive moment is the multi-currency balance — a stack of currency tiles, each with a flag, a code, and a precisely-aligned tabular figure.
|
|
10
|
+
|
|
11
|
+
**Key Characteristics:**
|
|
12
|
+
- Near-black canvas (`#0A0A0F`) with cool-blue cast — fintech as precision hardware
|
|
13
|
+
- Violet→purple gradient (`#5B6BFF → #9C6BFF`) as the single brand accent
|
|
14
|
+
- Metal-card hero with a moving sheen — the centerpiece of the Home / Cards tab
|
|
15
|
+
- Multi-currency balance tiles — flag chip + code + tabular figure, perfectly aligned
|
|
16
|
+
- Spend-analytics donut — one ring, gradient spent arc, category legend
|
|
17
|
+
- Transaction rows with merchant logos — incoming green, outgoing white
|
|
18
|
+
- Aeonik font (proprietary geometric grotesque), weights 400 / 600 / 700
|
|
19
|
+
- Bottom tabs: Home, Invest, Crypto, Lifestyle, Cards
|
|
20
|
+
- Card 3D flip + sheen, haptic on reveal — the signature motion moment
|
|
21
|
+
|
|
22
|
+
## 2. Color Palette & Roles
|
|
23
|
+
|
|
24
|
+
### Primary
|
|
25
|
+
- **Gradient Start** (`#5B6BFF`): Left/top stop of the brand gradient — CTAs, active tab, donut arc.
|
|
26
|
+
- **Gradient End** (`#9C6BFF`): Right/bottom stop of the brand gradient.
|
|
27
|
+
- **Brand Solid** (`#6B5BFF`): Solid fallback when a gradient cannot be used — strokes, small icons, focus rings, links.
|
|
28
|
+
- **Brand Pressed** (`#5648D6`): Pressed/active state for solid brand elements.
|
|
29
|
+
- **Brand Tint** (`#1C1B33`): Selected-row wash, info banners on dark, gradient-ghost backgrounds.
|
|
30
|
+
|
|
31
|
+
### Canvas & Surfaces
|
|
32
|
+
- **Canvas** (`#0A0A0F`): Primary near-black background, the void everything floats on.
|
|
33
|
+
- **Surface 1** (`#16161F`): Card backgrounds, balance tiles, list containers.
|
|
34
|
+
- **Surface 2** (`#1E1E2A`): Higher elevation — sheets, modals, active rows, the metal-card backing.
|
|
35
|
+
- **Surface 3** (`#28283A`): Pressed state on dark surfaces, segmented-control track.
|
|
36
|
+
- **Divider** (`#2A2A38`): Hairline rules between rows and around tiles.
|
|
37
|
+
- **Border Subtle** (`#33334A`): Card outline at rest, input border.
|
|
38
|
+
|
|
39
|
+
### Text
|
|
40
|
+
- **Text Primary** (`#FFFFFF`): Balances, headings, primary amounts, primary UI text.
|
|
41
|
+
- **Text Secondary** (`#9A9AAA`): Merchant subtitles, metadata, currency names, helper text.
|
|
42
|
+
- **Text Tertiary** (`#6A6A7E`): Disabled labels, placeholders, very low-emphasis captions.
|
|
43
|
+
|
|
44
|
+
### Semantic
|
|
45
|
+
- **Income Green** (`#1FD17B`): Incoming transactions, positive change, "received".
|
|
46
|
+
- **Spend Red** (`#FF5A6A`): Declined, negative alerts, "you spent more".
|
|
47
|
+
- **Warning Amber** (`#FFB23F`): Pending, attention-required, card-frozen banner.
|
|
48
|
+
- **Crypto Gold** (`#F7C948`): Crypto-specific accents, BTC highlight in portfolio.
|
|
49
|
+
- **Info Blue** (`#3F9BFF`): Informational links inside support / statements.
|
|
50
|
+
|
|
51
|
+
### Light Mode (Limited Use)
|
|
52
|
+
Revolut's iOS app is a dark-first product; a light variant exists for system light mode but the canonical experience — and all brand photography — is the dark cockpit.
|
|
53
|
+
- **Light Canvas** (`#FFFFFF`)
|
|
54
|
+
- **Light Surface** (`#F4F4F8`)
|
|
55
|
+
- **Light Text** (`#0A0A0F`)
|
|
56
|
+
- **Brand (light-adjusted)** (`#5648D6`) — solid, no gradient ghosting on light
|
|
57
|
+
|
|
58
|
+
## 3. Typography Rules
|
|
59
|
+
|
|
60
|
+
### Font Family
|
|
61
|
+
- **Primary**: `Aeonik` (proprietary geometric grotesque, Regular / Medium / Bold)
|
|
62
|
+
- **Fallback Stack**: `'Inter', -apple-system, BlinkMacSystemFont, 'SF Pro Text', 'Segoe UI', Roboto, Helvetica, Arial, sans-serif`
|
|
63
|
+
- **Numerals**: Tabular figures mandatory in balances, transaction amounts, and the currency stack
|
|
64
|
+
- **CJK/Non-Latin**: Falls to system stack — Revolut ships across EU/UK/US/APAC
|
|
65
|
+
|
|
66
|
+
### Hierarchy
|
|
67
|
+
|
|
68
|
+
| Role | Font | Size | Weight | Line Height | Letter Spacing | Notes |
|
|
69
|
+
|------|------|------|--------|-------------|----------------|-------|
|
|
70
|
+
| Balance (Hero) | Aeonik | 40pt | 700 | 1.05 | -0.6pt | Total balance on Home, tabular |
|
|
71
|
+
| Screen Title (Large) | Aeonik | 28pt | 700 | 1.15 | -0.4pt | "Accounts", "Invest" nav title |
|
|
72
|
+
| Section Header | Aeonik | 22pt | 700 | 1.2 | -0.3pt | "Spending", "Your cards" |
|
|
73
|
+
| Tile Balance | Aeonik | 22pt | 700 | 1.1 | -0.2pt | Per-currency balance figure, tabular |
|
|
74
|
+
| Subsection | Aeonik | 18pt | 600 | 1.3 | -0.1pt | Group titles, "This month" |
|
|
75
|
+
| Amount (Row) | Aeonik | 16pt | 600 | 1.2 | 0pt | Transaction amount, tabular |
|
|
76
|
+
| Body / Merchant | Aeonik | 16pt | 600 | 1.3 | 0pt | Merchant name on a transaction row |
|
|
77
|
+
| Body | Aeonik | 15pt | 400 | 1.45 | 0pt | Descriptions, statement copy |
|
|
78
|
+
| Button (Primary) | Aeonik | 16pt | 600 | 1.0 | 0pt | Gradient CTA label |
|
|
79
|
+
| Meta / Subtitle | Aeonik | 13pt | 400 | 1.3 | 0pt | "Today, 14:32", category, currency name |
|
|
80
|
+
| Label (UPPER) | Aeonik | 11pt | 700 | 1.2 | 0.6pt | "AVAILABLE", section labels |
|
|
81
|
+
| Tab Label | Aeonik | 10pt | 600 | 1.0 | 0.2pt | Bottom tab bar labels |
|
|
82
|
+
| Caption | Aeonik | 11pt | 400 | 1.3 | 0pt | Legal, "Rates update every 60s" |
|
|
83
|
+
|
|
84
|
+
### Principles
|
|
85
|
+
- **Numbers are the headline**: The balance is the largest type on the screen — 34–40pt weight 700
|
|
86
|
+
- **Tabular figures everywhere money appears**: Balances, amounts, and the currency stack must align to the decimal
|
|
87
|
+
- **Weight, not size, builds row hierarchy**: Merchant 16pt w600 vs. category 13pt w400 — compact lists
|
|
88
|
+
- **Gradient is never type**: The brand sweep is a fill/stroke, never applied to text glyphs
|
|
89
|
+
- **Negative tracking on big numbers**: -0.4 to -0.6pt on hero balance and large titles; body sits at 0pt
|
|
90
|
+
- **Dynamic Type respected** on titles, body, amounts; tab labels and uppercase labels fixed
|
|
91
|
+
|
|
92
|
+
## 4. Component Stylings
|
|
93
|
+
|
|
94
|
+
### Buttons
|
|
95
|
+
|
|
96
|
+
**Primary Gradient CTA ("Add money" / "Continue")**
|
|
97
|
+
- Background: linear gradient `#5B6BFF → #9C6BFF` (≈115°)
|
|
98
|
+
- Text: `#FFFFFF`, Aeonik 16pt weight 600
|
|
99
|
+
- Height: 52pt, full-width; corner radius 16pt
|
|
100
|
+
- Pressed: gradient dims to ~85% + scale 0.98, soft haptic
|
|
101
|
+
- Disabled: `#28283A`, text `#6A6A7E`
|
|
102
|
+
|
|
103
|
+
**Secondary Button ("Details" / outline)**
|
|
104
|
+
- Background: `#1E1E2A`
|
|
105
|
+
- Text: `#FFFFFF`, Aeonik 16pt weight 600
|
|
106
|
+
- No border (filled-tonal), height 52pt, radius 16pt
|
|
107
|
+
- Pressed: `#28283A`
|
|
108
|
+
|
|
109
|
+
**Tertiary / Ghost ("Skip")**
|
|
110
|
+
- Transparent, text `#9A9AAA` weight 600, no border
|
|
111
|
+
- Pressed: text `#FFFFFF`
|
|
112
|
+
|
|
113
|
+
**Circular Quick Action (Home action bar: Add, Exchange, More)**
|
|
114
|
+
- 56pt circle, background `#1E1E2A`, glyph 22pt
|
|
115
|
+
- Default glyph `#FFFFFF`; the primary "Add money" circle uses the gradient fill with white glyph
|
|
116
|
+
- Label below in 13pt `#9A9AAA`
|
|
117
|
+
|
|
118
|
+
**Icon Button (freeze, settings, statement)**
|
|
119
|
+
- 24pt glyph, 44pt hit area
|
|
120
|
+
- Default `#9A9AAA`; active `#6B5BFF`
|
|
121
|
+
|
|
122
|
+
**Text Link**
|
|
123
|
+
- Aeonik 15pt weight 600, color `#6B5BFF`, no underline; pressed `#5648D6`
|
|
124
|
+
|
|
125
|
+
### Cards & Containers
|
|
126
|
+
|
|
127
|
+
**Metal Card Hero (signature)**
|
|
128
|
+
- Full-width card, aspect ≈ 1.586 (ISO card), corner radius 16pt
|
|
129
|
+
- Background: dark brushed-metal gradient with a diagonal sheen highlight that animates on appear/flip
|
|
130
|
+
- Overlaid: Revolut wordmark, last-4 digits in Aeonik tabular, contactless glyph
|
|
131
|
+
- Variant chips: Standard / Plus / Premium / Metal change the base gradient (graphite, steel, rose-gold ghost)
|
|
132
|
+
- Tap: 3D flip (Y-axis) revealing CVV/expiry on the back, with haptic
|
|
133
|
+
|
|
134
|
+
**Currency Balance Tile**
|
|
135
|
+
- Background `#16161F`, 1pt `#2A2A38`, radius 16pt, height ~72pt
|
|
136
|
+
- Leading: 28pt circular flag chip; then currency code (16pt w600 white) + name (13pt w400 `#9A9AAA`)
|
|
137
|
+
- Trailing: balance figure 22pt w700 white, tabular, right-aligned
|
|
138
|
+
- Pressed: `#1E1E2A`
|
|
139
|
+
- A horizontal carousel of these is the multi-currency switcher
|
|
140
|
+
|
|
141
|
+
**Spend Analytics Donut Card**
|
|
142
|
+
- Card `#16161F`, radius 20pt, padding 20pt
|
|
143
|
+
- Centered ring: track `#28283A`, spent arc filled with the brand gradient, ~14pt stroke
|
|
144
|
+
- Center label: total spent 22pt w700 white + "this month" 13pt `#9A9AAA`
|
|
145
|
+
- Below: category legend rows (color dot + name + amount), top 4 categories
|
|
146
|
+
|
|
147
|
+
**Transaction Row**
|
|
148
|
+
- Height 64pt
|
|
149
|
+
- Leading: 40pt circular merchant logo (or category glyph on `#1E1E2A`)
|
|
150
|
+
- Center: merchant 16pt w600 white + meta "Today, 14:32 · Groceries" 13pt `#9A9AAA`
|
|
151
|
+
- Trailing: amount 16pt w600 — `#1FD17B` if incoming (prefixed `+`), `#FFFFFF` if outgoing
|
|
152
|
+
- Pressed: `#1E1E2A`; divider `#2A2A38`
|
|
153
|
+
|
|
154
|
+
**Account Switcher Sheet**
|
|
155
|
+
- Bottom sheet `#1E1E2A`, top grabber, radius 24pt top corners
|
|
156
|
+
- List of accounts/profiles with avatar, name, and balance; selected row has a gradient left bar
|
|
157
|
+
|
|
158
|
+
### Navigation
|
|
159
|
+
|
|
160
|
+
**Bottom Tab Bar**
|
|
161
|
+
- Height: 56pt + safe area
|
|
162
|
+
- Background: `rgba(10,10,15,0.92)` with `.regularMaterial` blur
|
|
163
|
+
- Tabs: Home, Invest, Crypto, Lifestyle, Cards
|
|
164
|
+
- Icon size: 24pt
|
|
165
|
+
- Active: gradient-tinted icon + label `#FFFFFF` (a 2pt gradient pill can sit under the active icon)
|
|
166
|
+
- Inactive: `#6A6A7E`
|
|
167
|
+
- Labels: Aeonik 10pt weight 600, always shown
|
|
168
|
+
|
|
169
|
+
**Top Bar (Home)**
|
|
170
|
+
- Profile avatar (32pt circle) top-left → name/plan; right: search + notifications (24pt)
|
|
171
|
+
- Total balance sits large directly below, with an "Accounts" disclosure
|
|
172
|
+
|
|
173
|
+
**Segmented Control (Analytics period / Card type)**
|
|
174
|
+
- Track `#1E1E2A`, height 36pt, radius 18pt
|
|
175
|
+
- Selected segment: gradient pill, white text weight 600
|
|
176
|
+
- Unselected: `#9A9AAA`
|
|
177
|
+
- Sliding thumb 220ms ease
|
|
178
|
+
|
|
179
|
+
### Input Fields
|
|
180
|
+
|
|
181
|
+
**Amount Entry (Exchange / Send)**
|
|
182
|
+
- Large centered field, value in Aeonik 34pt w700 white, currency chip trailing
|
|
183
|
+
- No box — the number *is* the input; a thin gradient caret blinks
|
|
184
|
+
- Sub-line: converted value 15pt `#9A9AAA`, live-updating
|
|
185
|
+
|
|
186
|
+
**Text Field (profile / address)**
|
|
187
|
+
- Filled style, background `#16161F`, height 56pt, radius 12pt
|
|
188
|
+
- Rest: 1pt `#33334A`; focus: 1.5pt gradient stroke (or `#6B5BFF` solid), label floats and tints
|
|
189
|
+
- Error: 1.5pt `#FF5A6A`, helper `#FF5A6A`
|
|
190
|
+
|
|
191
|
+
**Search Bar**
|
|
192
|
+
- Background `#16161F`, height 44pt, radius 22pt
|
|
193
|
+
- Leading `magnifyingglass` 18pt `#9A9AAA`; placeholder 16pt `#9A9AAA`
|
|
194
|
+
- Focus: 1pt `#6B5BFF` ring
|
|
195
|
+
|
|
196
|
+
### Distinctive Components
|
|
197
|
+
|
|
198
|
+
**Metal Card Carousel + Sheen**
|
|
199
|
+
- The Cards tab is a horizontally-paged carousel of card faces; the active card catches a moving diagonal sheen (a translucent white band sweeping ~1.2s on appear and on flip). This is the brand's signature object.
|
|
200
|
+
|
|
201
|
+
**Spend Donut**
|
|
202
|
+
- A single ring summarizing the month: track + gradient spent arc + center total. Tapping a legend row highlights its segment (arc brightens, others dim). The "one ring to read your month" device.
|
|
203
|
+
|
|
204
|
+
**Multi-Currency Stack**
|
|
205
|
+
- The balance switcher: a tight vertical/horizontal stack of currency tiles with flag chips and tabular figures, decimal-aligned. Exchange pulls two of these into a converter.
|
|
206
|
+
|
|
207
|
+
**Card 3D Flip**
|
|
208
|
+
- Tapping the card hero flips it on the Y-axis (front → back) over ~450ms with a subtle perspective and a confirming haptic, revealing CVV/expiry; tapping again flips back.
|
|
209
|
+
|
|
210
|
+
**Live FX Ticker**
|
|
211
|
+
- A slim strip in Exchange showing the mid-market rate with a 60s refresh and a tiny up/down delta in `#1FD17B`/`#FF5A6A`.
|
|
212
|
+
|
|
213
|
+
## 5. Layout Principles
|
|
214
|
+
|
|
215
|
+
### Spacing System
|
|
216
|
+
- Base unit: 4pt
|
|
217
|
+
- Scale: 4, 8, 12, 16, 20, 24, 32, 40, 52, 64
|
|
218
|
+
- Standard screen margin: 16pt horizontal
|
|
219
|
+
- Card internal padding: 20pt; section vertical gap: 24pt
|
|
220
|
+
- Transaction rows: 0pt gap, separated by `#2A2A38` hairlines
|
|
221
|
+
|
|
222
|
+
### Grid & Container
|
|
223
|
+
- Content width: full device width, 16pt side margins
|
|
224
|
+
- Quick-action bar: 4 circular actions, evenly distributed
|
|
225
|
+
- Card carousel: full-width pages, ~12pt peek of the next card
|
|
226
|
+
- Currency tiles: full-width stacked, or 1.2-up horizontal carousel
|
|
227
|
+
|
|
228
|
+
### Whitespace Philosophy
|
|
229
|
+
- **Floating slabs on a void**: Surfaces are clearly separated from the `#0A0A0F` canvas by elevation + radius, not heavy borders
|
|
230
|
+
- **Numbers get air**: The hero balance and donut center always have generous clear space — money is the focal point
|
|
231
|
+
- **Dense lists, calm cards**: Transaction lists are tight (64pt rows); analytic cards are roomy (20pt padding)
|
|
232
|
+
|
|
233
|
+
### Border Radius Scale
|
|
234
|
+
- Soft (8pt): Small chips, flag containers, inline tags
|
|
235
|
+
- Standard (12pt): Inputs, small tiles
|
|
236
|
+
- Comfortable (16pt): Buttons, cards, the metal-card hero
|
|
237
|
+
- Roomy (20pt): Analytics cards, feature modules
|
|
238
|
+
- Sheet (24pt): Bottom sheets (top corners)
|
|
239
|
+
- Pill (≥18pt half-height): Segmented control, filter chips
|
|
240
|
+
- Circle (50%): Quick-action circles, avatars, flag chips
|
|
241
|
+
|
|
242
|
+
## 6. Depth & Elevation
|
|
243
|
+
|
|
244
|
+
| Level | Treatment | Use |
|
|
245
|
+
|-------|-----------|-----|
|
|
246
|
+
| Flat (Level 0) | No shadow | Canvas, transaction list rows |
|
|
247
|
+
| Surface (Level 1) | `rgba(0,0,0,0.4) 0 2px 10px` | Balance tiles, list containers |
|
|
248
|
+
| Card (Level 2) | `rgba(0,0,0,0.5) 0 8px 24px` | Metal-card hero, analytics card |
|
|
249
|
+
| Glow (Level 2g) | `rgba(108,91,255,0.30) 0 8px 28px` | Gradient CTA / active state ambient glow |
|
|
250
|
+
| Sheet (Level 3) | `rgba(0,0,0,0.6) 0 -16px 48px` | Bottom sheets, account switcher |
|
|
251
|
+
| Tab Material | `.regularMaterial` over `rgba(10,10,15,0.92)` | Bottom tab bar over scrolling content |
|
|
252
|
+
|
|
253
|
+
**Shadow Philosophy**: On a near-black canvas, shadows must be deep (0.4–0.6 opacity) to register, and they're cool-toned, never warm. The one expressive shadow is the gradient *glow*: the primary CTA and active states cast a soft violet ambient halo so the brand color feels lit from within. Everything else relies on elevation + radius to lift off the void.
|
|
254
|
+
|
|
255
|
+
### Motion
|
|
256
|
+
- **Card flip**: Y-axis 3D rotation front→back ~450ms with perspective, confirming haptic on reveal
|
|
257
|
+
- **Card sheen**: diagonal white band sweeps across the active card ~1.2s on appear/flip
|
|
258
|
+
- **Gradient CTA press**: scale 0.98 + gradient dim to 85% + soft haptic, 150ms
|
|
259
|
+
- **Donut draw**: spent arc animates from 0 to value over 700ms ease-out on screen entry
|
|
260
|
+
- **Balance reveal**: tap-to-hide blurs/un-blurs the figure with a 250ms crossfade
|
|
261
|
+
- **Segmented thumb**: gradient pill slides 220ms ease-in-out
|
|
262
|
+
|
|
263
|
+
## 7. Do's and Don'ts
|
|
264
|
+
|
|
265
|
+
### Do
|
|
266
|
+
- Use `#0A0A0F` as the canvas — cool near-black, not pure `#000000`, not warm
|
|
267
|
+
- Reserve the violet→purple gradient (`#5B6BFF → #9C6BFF`) for the primary action, active tab, and the spent arc
|
|
268
|
+
- Use the solid `#6B5BFF` only where a gradient can't render (thin strokes, tiny icons, focus rings)
|
|
269
|
+
- Make the balance the largest element on the screen — 34–40pt weight 700, tabular
|
|
270
|
+
- Use tabular numerals for every balance, amount, and currency tile so columns align
|
|
271
|
+
- Color incoming amounts `#1FD17B` and outgoing `#FFFFFF` on transaction rows
|
|
272
|
+
- Give the card hero a 3D flip + sheen with a confirming haptic
|
|
273
|
+
- Let the gradient CTA cast a soft violet glow — the brand is lit from within
|
|
274
|
+
- Float surfaces on the void with elevation + radius, not heavy borders
|
|
275
|
+
|
|
276
|
+
### Don't
|
|
277
|
+
- Don't use pure black `#000000` or a warm dark — the canvas has a cool blue cast
|
|
278
|
+
- Don't apply the gradient to text glyphs — it's a fill/stroke device only
|
|
279
|
+
- Don't add a second accent hue — the gradient is the entire brand color story
|
|
280
|
+
- Don't let a merchant name outweigh its amount, or an amount outweigh the hero balance
|
|
281
|
+
- Don't use proportional figures for money — always tabular, decimal-aligned
|
|
282
|
+
- Don't use light/thin font weights — Aeonik starts at 400
|
|
283
|
+
- Don't over-skeuomorph the card — the sheen is a subtle band, not a glossy reflection
|
|
284
|
+
- Don't animate the donut or sheen aggressively — 700ms / 1.2s, smooth and singular
|
|
285
|
+
- Don't hide the live FX delta in Exchange — rate transparency is core
|
|
286
|
+
|
|
287
|
+
## 8. Responsive Behavior
|
|
288
|
+
|
|
289
|
+
### Device Sizes
|
|
290
|
+
| Device | Width | Key Changes |
|
|
291
|
+
|--------|-------|-------------|
|
|
292
|
+
| iPhone SE (3rd gen) | 375pt | Smaller card hero, balance caps ~34pt, 3 quick actions visible |
|
|
293
|
+
| iPhone 13/14/15 | 390pt | Standard card hero, balance ~40pt, 4 quick actions |
|
|
294
|
+
| iPhone 15/16 Pro | 393pt | Dynamic Island clears the top bar |
|
|
295
|
+
| iPhone 15/16 Pro Max | 430pt | Larger card hero, more carousel peek, donut scales up |
|
|
296
|
+
| iPad | 768pt+ | Two-pane (accounts list + detail), card carousel centered, larger donut |
|
|
297
|
+
|
|
298
|
+
### Dynamic Type
|
|
299
|
+
- Titles, body, merchant names, amounts: full scale
|
|
300
|
+
- Hero balance: scales but caps to protect the single-line layout
|
|
301
|
+
- Tab labels, uppercase labels: fixed
|
|
302
|
+
- Currency-tile figures: fixed tabular size for column alignment
|
|
303
|
+
|
|
304
|
+
### Orientation
|
|
305
|
+
- All primary tabs: **portrait-locked** on iPhone
|
|
306
|
+
- iPad: landscape supported with split layout
|
|
307
|
+
- Card flip / scanner: **portrait-locked**
|
|
308
|
+
|
|
309
|
+
### Touch Targets
|
|
310
|
+
- Gradient CTA: 52pt height — unmissable
|
|
311
|
+
- Quick-action circles: 56pt
|
|
312
|
+
- Transaction rows: 64pt, full-row tappable
|
|
313
|
+
- Tab icons: 24pt glyph, 44pt effective hit
|
|
314
|
+
- Card hero: full-card tap to flip
|
|
315
|
+
|
|
316
|
+
### Safe Area Handling
|
|
317
|
+
- Top: top bar + balance respect safe area / Dynamic Island
|
|
318
|
+
- Bottom: tab bar blur respects the home indicator; sheets present above it
|
|
319
|
+
- Sides: 16pt content insets throughout
|
|
320
|
+
|
|
321
|
+
## 9. Agent Prompt Guide
|
|
322
|
+
|
|
323
|
+
### Quick Color Reference
|
|
324
|
+
- Canvas: `#0A0A0F`
|
|
325
|
+
- Surface 1 (tiles/cards): `#16161F`
|
|
326
|
+
- Surface 2 (sheets/active): `#1E1E2A`
|
|
327
|
+
- Divider: `#2A2A38`
|
|
328
|
+
- Text primary: `#FFFFFF`
|
|
329
|
+
- Text secondary: `#9A9AAA`
|
|
330
|
+
- Gradient start: `#5B6BFF`
|
|
331
|
+
- Gradient end: `#9C6BFF`
|
|
332
|
+
- Brand solid (fallback): `#6B5BFF`
|
|
333
|
+
- Brand pressed: `#5648D6`
|
|
334
|
+
- Income green: `#1FD17B`
|
|
335
|
+
- Spend red: `#FF5A6A`
|
|
336
|
+
- Crypto gold: `#F7C948`
|
|
337
|
+
|
|
338
|
+
### Example Component Prompts
|
|
339
|
+
- "Create a SwiftUI Revolut currency balance tile: 72pt tall, background #16161F with 1pt #2A2A38 border and 16pt corner radius. Leading 28pt circular flag chip, then 'USD' in Inter 16pt weight 600 #FFFFFF with 'US Dollar' 13pt weight 400 #9A9AAA below. Trailing balance '$4,820.50' in Inter 22pt weight 700 #FFFFFF, tabular numerals, right-aligned. Pressed background #1E1E2A."
|
|
340
|
+
- "Build the Revolut primary CTA: 52pt tall full-width button, 16pt radius, background a 115° linear gradient from #5B6BFF to #9C6BFF, 'Add money' in Inter 16pt weight 600 white. Pressed: gradient dims to 85%, scale 0.98, soft haptic. Cast a soft violet glow rgba(108,91,255,0.30) 0 8px 28px."
|
|
341
|
+
- "Design the Revolut spend-analytics donut card: #16161F card, 20pt radius, 20pt padding. A centered ring (~14pt stroke) with track #28283A and the spent arc filled with the #5B6BFF→#9C6BFF gradient, animating 0→value over 700ms. Center: '£1,284' in 22pt weight 700 white + 'this month' 13pt #9A9AAA. Below: 4 legend rows, each a color dot + category + amount."
|
|
342
|
+
- "Create the Revolut metal-card hero: full-width ISO-ratio card (≈1.586), 16pt radius, dark brushed-metal gradient with a diagonal white sheen band that sweeps ~1.2s on appear. Overlaid Revolut wordmark, tabular last-4 '•••• 4821', contactless glyph. Tap flips it on the Y-axis over 450ms with a confirming haptic to reveal CVV/expiry."
|
|
343
|
+
- "Build a Revolut transaction row: 64pt tall, 40pt circular merchant logo leading, merchant 'Spotify' 16pt weight 600 white + 'Today, 14:32 · Subscriptions' 13pt #9A9AAA, trailing amount. Outgoing '-£9.99' in white weight 600; incoming '+£40.00' in #1FD17B. Pressed #1E1E2A, divider #2A2A38."
|
|
344
|
+
|
|
345
|
+
### Iteration Guide
|
|
346
|
+
1. Canvas is cool near-black `#0A0A0F` — never pure black, never warm
|
|
347
|
+
2. The violet→purple gradient (`#5B6BFF → #9C6BFF`) is the entire brand accent; solid `#6B5BFF` only where a gradient can't render
|
|
348
|
+
3. Never apply the gradient to text — it's a fill/stroke device
|
|
349
|
+
4. The balance is the largest element — 34–40pt weight 700, tabular numerals
|
|
350
|
+
5. Money columns (tiles, amounts, donut center) are always tabular and decimal-aligned
|
|
351
|
+
6. Incoming amounts are `#1FD17B`, outgoing are `#FFFFFF`
|
|
352
|
+
7. The metal-card hero (flip + sheen + haptic) and the spend donut are the signature objects
|
|
353
|
+
8. Float surfaces with deep cool shadows + radius; let the gradient CTA glow violet (lit from within)
|