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,352 @@
|
|
|
1
|
+
# Design System Inspiration of Max (iOS)
|
|
2
|
+
|
|
3
|
+
## 1. Visual Theme & Atmosphere
|
|
4
|
+
|
|
5
|
+
Max's iOS app is a prestige-cinema surface built on a deep, saturated purple canvas (`#12053A`) that feels less like a neutral void and more like a darkened theater drenched in brand color. Where most streamers default to near-black, Max commits to its identity: the entire background is a deep blue-violet, and elevated surfaces (`#1B0B4D`, `#250F5E`) step up within the same purple family rather than toward gray. The effect is immersive and premium — the chrome itself carries the brand, so even an empty screen reads as "Max."
|
|
6
|
+
|
|
7
|
+
The accent system is a gradient, not a single hue. The Max brand gradient sweeps from electric blue (`#0046FF`) to violet (`#7B2FF7`) and powers the wordmark, the primary "Play" CTA, focus rings, and the auto-playing hero billboard's framing. A solid fallback (`#5A2BE0`) is used where a gradient can't render (small toggles, tab indicator). This is the design equivalent of a marquee light — the gradient is reserved for brand and primary action moments, while everything else is white, lavender-gray, or deep purple. The restraint around the gradient is what keeps it feeling prestige rather than gaudy.
|
|
8
|
+
|
|
9
|
+
Typography is Inter (standing in for Max's clean grotesque brand face), with a compact, confident hierarchy from 11-32pt at weights 400 / 600 / 800. There are no decorative display fonts — the content artwork and the auto-trailer billboard are the spectacle. Type's role is to label and badge: row titles at 20-22pt weight 800, tile titles at 15pt weight 600, metadata in lavender-gray at 13pt weight 400, and the signature "Max Originals" badge in 11pt weight 800 uppercase. The most expressive type moment is the billboard, where a show's logo art (or 32pt weight 800 title) sits over a slowly cross-fading auto-trailer.
|
|
10
|
+
|
|
11
|
+
**Key Characteristics:**
|
|
12
|
+
- Deep purple canvas (`#12053A`) — brand color as the entire environment, not a neutral dark
|
|
13
|
+
- Max brand gradient (`#0046FF → #7B2FF7`) — wordmark, primary CTA, focus, billboard framing
|
|
14
|
+
- Auto-trailer hero billboard — a full-bleed muted trailer that cross-fades into the next title
|
|
15
|
+
- Prestige content rows — large 16:9 / 2:3 tiles with restrained, premium spacing
|
|
16
|
+
- "Max Originals" badge — gradient-edged pill marking first-party prestige content
|
|
17
|
+
- Profile gate — full-screen avatar grid on launch (HBO-lineage "who's watching")
|
|
18
|
+
- Solid violet fallback (`#5A2BE0`) for toggles and the tab indicator where gradients can't render
|
|
19
|
+
- Inter typeface (clean grotesque), weights 400/600/800
|
|
20
|
+
- Trailer crossfade + a subtle gradient shimmer on the CTA
|
|
21
|
+
|
|
22
|
+
## 2. Color Palette & Roles
|
|
23
|
+
|
|
24
|
+
### Primary (Brand Gradient)
|
|
25
|
+
- **Gradient Start** (`#0046FF`): Electric blue — left/top stop of the Max brand gradient.
|
|
26
|
+
- **Gradient End** (`#7B2FF7`): Violet — right/bottom stop of the Max brand gradient.
|
|
27
|
+
- **Gradient Solid** (`#5A2BE0`): Solid violet fallback — toggles, tab indicator, small UI where a gradient can't render.
|
|
28
|
+
- **Gradient Pressed** (`#4A22BD`): Pressed/active state for the solid fallback and CTA overlay.
|
|
29
|
+
- **Gradient Glow** (`rgba(91,43,224,0.35)`): Soft glow under the primary CTA and around focused tiles.
|
|
30
|
+
|
|
31
|
+
### Canvas & Surfaces
|
|
32
|
+
- **Canvas** (`#12053A`): Primary deep-purple app background — the branded environment.
|
|
33
|
+
- **Deep Black** (`#000000`): Full-screen video player background only.
|
|
34
|
+
- **Surface 1** (`#1B0B4D`): Card backgrounds, sheets, elevated rails, details metadata panel.
|
|
35
|
+
- **Surface 2** (`#250F5E`): Higher elevation — modals, active rows, chip default background.
|
|
36
|
+
- **Surface 3** (`#36206E`): Pressed state on purple surfaces, hairline divider tone.
|
|
37
|
+
- **Divider** (`#36206E`): 1pt separators between settings rows and metadata blocks.
|
|
38
|
+
|
|
39
|
+
### Text
|
|
40
|
+
- **Text Primary** (`#FFFFFF`): Show titles, screen headers, primary labels.
|
|
41
|
+
- **Text Secondary** (`#B0A8D0`): Lavender-gray — metadata, descriptions, row subtitles.
|
|
42
|
+
- **Text Tertiary** (`#7E76A6`): Disabled labels, very low-emphasis captions, placeholder text.
|
|
43
|
+
|
|
44
|
+
### Semantic
|
|
45
|
+
- **Live Gold** (`#F2C94C`): "LIVE" sports badge (Bleacher Report / live events) and now-playing marker.
|
|
46
|
+
- **Badge Surface** (`#250F5E`): "TV-MA" / "R" maturity-rating chip background, text `#FFFFFF`.
|
|
47
|
+
- **Originals Gradient** (`#0046FF → #7B2FF7`): "Max Originals" badge border/fill.
|
|
48
|
+
- **Error Red** (`#FF5C7A`): Playback errors, download failures, offline state.
|
|
49
|
+
|
|
50
|
+
### Light Mode (Limited Use)
|
|
51
|
+
Max's iOS app is effectively dark-only — the prestige-theater atmosphere depends on the deep-purple canvas. A light variant is not part of the core product.
|
|
52
|
+
- **Light Canvas** (`#FFFFFF`)
|
|
53
|
+
- **Light Text** (`#12053A`)
|
|
54
|
+
|
|
55
|
+
## 3. Typography Rules
|
|
56
|
+
|
|
57
|
+
### Font Family
|
|
58
|
+
- **Primary**: `Inter` (standing in for Max's clean grotesque brand typeface)
|
|
59
|
+
- **Fallback Stack**: `-apple-system, BlinkMacSystemFont, 'SF Pro Text', 'Segoe UI', Roboto, Helvetica, Arial, sans-serif`
|
|
60
|
+
- **Numerals**: Tabular figures for runtime, episode counts, and live times
|
|
61
|
+
|
|
62
|
+
### Hierarchy
|
|
63
|
+
|
|
64
|
+
| Role | Font | Size | Weight | Line Height | Letter Spacing | Notes |
|
|
65
|
+
|------|------|------|--------|-------------|----------------|-------|
|
|
66
|
+
| Billboard Title | Inter | 32pt | 800 | 1.1 | -0.5pt | Show title on the auto-trailer billboard (when no logo art) |
|
|
67
|
+
| Screen Title (Large) | Inter | 28pt | 800 | 1.15 | -0.4pt | "My List", "Series" large nav title |
|
|
68
|
+
| Row Header | Inter | 22pt | 800 | 1.2 | -0.3pt | "Max Originals", "Trending Now" |
|
|
69
|
+
| Section Header | Inter | 20pt | 800 | 1.2 | -0.3pt | Sub-rows inside a category |
|
|
70
|
+
| Episode Title | Inter | 16pt | 600 | 1.25 | -0.1pt | Episode row title in details |
|
|
71
|
+
| Tile Title | Inter | 15pt | 600 | 1.3 | -0.1pt | Show title under a tile |
|
|
72
|
+
| Body | Inter | 15pt | 400 | 1.45 | 0pt | Synopsis, episode description |
|
|
73
|
+
| Metadata | Inter | 13pt | 400 | 1.3 | 0pt | "2024 · TV-MA · 1 Season" |
|
|
74
|
+
| Tile Subtitle | Inter | 12pt | 400 | 1.3 | 0pt | "S2 · E1" / "New episode" |
|
|
75
|
+
| Label (UPPER) | Inter | 11pt | 800 | 1.2 | 0.6pt | "TRENDING NOW" eyebrow labels |
|
|
76
|
+
| Button (Primary) | Inter | 16pt | 800 | 1.0 | 0.2pt | Gradient "Play" button |
|
|
77
|
+
| Button (Secondary) | Inter | 15pt | 600 | 1.0 | 0pt | "More Info", outline buttons |
|
|
78
|
+
| Tab Label | Inter | 10pt | 600 | 1.0 | 0.2pt | Bottom tab bar labels |
|
|
79
|
+
| Badge | Inter | 11pt | 800 | 1.0 | 0.4pt | "Max Originals", "LIVE", rating pill |
|
|
80
|
+
|
|
81
|
+
### Principles
|
|
82
|
+
- **Weights concentrated at 400 / 600 / 800**: Regular for body/metadata, semibold for titles, extrabold for headers, CTAs, and badges — no thin, no medium
|
|
83
|
+
- **Content is the spectacle**: No decorative display type; the auto-trailer billboard and artwork carry drama
|
|
84
|
+
- **Negative tracking on big type, neutral on small**: -0.5pt at 32pt easing to 0pt at body
|
|
85
|
+
- **All-caps only for eyebrows and badges**: "TRENDING NOW", "MAX ORIGINALS" — never for titles
|
|
86
|
+
- **Gradient is brand-only**: gradient fills appear on the wordmark, primary CTA, focus, and Originals badge — never on body text
|
|
87
|
+
|
|
88
|
+
## 4. Component Stylings
|
|
89
|
+
|
|
90
|
+
### Buttons
|
|
91
|
+
|
|
92
|
+
**Primary Play CTA (The Gradient Button)**
|
|
93
|
+
- Shape: Rounded rectangle, height 52pt, full-width within content margins (auto-width on billboard)
|
|
94
|
+
- Background: linear gradient 135° from `#0046FF` to `#7B2FF7`
|
|
95
|
+
- Text: `#FFFFFF`
|
|
96
|
+
- Icon: SF Symbol `play.fill` 18pt leading the label, also `#FFFFFF`
|
|
97
|
+
- Corner radius: 8pt
|
|
98
|
+
- Font: Inter 16pt weight 800, letter-spacing 0.2pt
|
|
99
|
+
- Shadow: `rgba(91,43,224,0.35) 0 8px 24px` — a soft brand glow
|
|
100
|
+
- Pressed: a `rgba(74,34,189,0.55)` overlay darkens the gradient, scale 0.97, `.impactOccurred(.light)` haptic
|
|
101
|
+
- Idle: a slow 4s diagonal shimmer sweeps across the gradient
|
|
102
|
+
|
|
103
|
+
**Secondary Button ("More Info")**
|
|
104
|
+
- Background: `rgba(255,255,255,0.14)`
|
|
105
|
+
- Text: `#FFFFFF`
|
|
106
|
+
- Height: 52pt, corner radius 8pt
|
|
107
|
+
- Font: Inter 15pt weight 600
|
|
108
|
+
- Pressed: background `rgba(255,255,255,0.22)`, scale 0.98
|
|
109
|
+
|
|
110
|
+
**Icon Actions (My List +, Download, Share)**
|
|
111
|
+
- Size: 24pt glyph, 44pt hit area
|
|
112
|
+
- Default: `#FFFFFF`
|
|
113
|
+
- Active: gradient-tinted (use `#5A2BE0` solid where a gradient mask is impractical) — added to My List, download complete
|
|
114
|
+
- Layout: vertical icon-over-label stacks on the details action row, 32pt gap
|
|
115
|
+
|
|
116
|
+
**Profile Avatar (gate)**
|
|
117
|
+
- 96pt circle on the launch gate grid, 2pt gradient ring when focused
|
|
118
|
+
- Name label below, Inter 15pt weight 600 `#FFFFFF`
|
|
119
|
+
- Pressed: scale 0.95 + ring brightens
|
|
120
|
+
|
|
121
|
+
**Text Button ("See All")**
|
|
122
|
+
- Font: Inter 13pt weight 600
|
|
123
|
+
- Color: `#B0A8D0`
|
|
124
|
+
- No underline, 44pt hit area, trailing each row header
|
|
125
|
+
|
|
126
|
+
### Cards & Containers
|
|
127
|
+
|
|
128
|
+
**Content Tile (Horizontal row)**
|
|
129
|
+
- Width: 200pt (16:9 standard) or 130pt (2:3 poster, used in movie rows)
|
|
130
|
+
- Aspect: 16:9 or 2:3
|
|
131
|
+
- Corner radius: 6pt on the artwork
|
|
132
|
+
- Gap between tiles: 12pt
|
|
133
|
+
- Structure: artwork → optional title (15pt w600, 1-line) → subtitle (12pt w400 `#B0A8D0`)
|
|
134
|
+
- "Max Originals" tiles carry a small gradient-edge badge top-left
|
|
135
|
+
- Press: scale 1.04 with focus lift `rgba(0,0,0,0.55) 0 12px 28px` and a 2pt gradient ring
|
|
136
|
+
|
|
137
|
+
**Billboard (auto-trailer hero)**
|
|
138
|
+
- Full-bleed, height ~ 460pt (top of Home)
|
|
139
|
+
- A muted auto-playing trailer fills the frame; a bottom-up gradient `rgba(18,5,58,0) → #12053A` anchors text
|
|
140
|
+
- Show logo art (or 32pt w800 title) bottom-left
|
|
141
|
+
- Metadata line "2024 · TV-MA · 1 Season · Drama" 13pt w400 `#B0A8D0`
|
|
142
|
+
- Action row: gradient "Play" CTA + `+ My List` + `More Info`
|
|
143
|
+
- Trailer cross-fades to the next billboard title every ~20s with a 1.2s dissolve
|
|
144
|
+
|
|
145
|
+
**Max Originals Row**
|
|
146
|
+
- Header "Max Originals" 22pt w800 (with a small gradient accent mark) + "See All" trailing
|
|
147
|
+
- Larger tiles (220pt), each with the gradient-edge Originals badge
|
|
148
|
+
|
|
149
|
+
**Details Hero**
|
|
150
|
+
- Full-bleed 16:9 backdrop still, height ~ 280pt, darkened bottom-up to `#12053A`
|
|
151
|
+
- Logo art (or 32pt w800 title) anchored bottom-left
|
|
152
|
+
- Metadata + gradient "Play" CTA + `+ My List` + `Download` + `Share` vertical icon stacks
|
|
153
|
+
- Below: synopsis (15pt w400, 3-line clamp + "More"), then season picker + episode list
|
|
154
|
+
|
|
155
|
+
**Episode Row**
|
|
156
|
+
- Height: 96pt
|
|
157
|
+
- Layout: 140pt × 79pt (16:9) thumbnail → stacked title (16pt w600) + "S2 · E1 · 58 min" meta (13pt w400 `#B0A8D0`) + 2-line description → trailing download icon
|
|
158
|
+
- Background: transparent (`#12053A`)
|
|
159
|
+
- Pressed: background `#1B0B4D`
|
|
160
|
+
|
|
161
|
+
### Navigation
|
|
162
|
+
|
|
163
|
+
**Bottom Tab Bar**
|
|
164
|
+
- Height: 52pt + safe area
|
|
165
|
+
- Background: `rgba(18,5,58,0.94)` with `.regularMaterial` blur
|
|
166
|
+
- Tabs: Home, Search, My List
|
|
167
|
+
- Icon size: 24pt
|
|
168
|
+
- Active color: `#FFFFFF` with a 3pt solid `#5A2BE0` underline indicator (gradient can't render reliably at this size — solid fallback)
|
|
169
|
+
- Inactive: `#B0A8D0`
|
|
170
|
+
- Labels: Inter 10pt w600, always shown
|
|
171
|
+
- Active tab icon: filled SF Symbol; inactive: outlined
|
|
172
|
+
|
|
173
|
+
**Top Nav (Home)**
|
|
174
|
+
- Height: 48pt + safe area
|
|
175
|
+
- Max gradient wordmark top-left, 22pt
|
|
176
|
+
- Profile avatar (28pt circular) top-right
|
|
177
|
+
- Transparent over the billboard, fades to `rgba(18,5,58,0.94)` blur on scroll
|
|
178
|
+
|
|
179
|
+
**Player Controls Overlay**
|
|
180
|
+
- Tap video → controls fade in over a `rgba(0,0,0,0.55)` scrim
|
|
181
|
+
- Center: 64pt circular `rgba(255,255,255,0.16)` button with white `play.fill` / `pause.fill`, ±10s skip flanking at 28pt
|
|
182
|
+
- Bottom: gradient scrubber (2pt track `rgba(255,255,255,0.3)`, gradient fill `#0046FF→#7B2FF7`, 14pt white thumb), elapsed/remaining 12pt
|
|
183
|
+
- Top: title + close (✕); bottom-right: captions, audio, AirPlay
|
|
184
|
+
|
|
185
|
+
### Input Fields
|
|
186
|
+
|
|
187
|
+
**Search Bar**
|
|
188
|
+
- Background: `#250F5E`
|
|
189
|
+
- Height: 44pt, corner radius 8pt
|
|
190
|
+
- Leading SF Symbol `magnifyingglass` 18pt `#B0A8D0`
|
|
191
|
+
- Placeholder: "Search Max", 16pt w400 `#B0A8D0`
|
|
192
|
+
- Text color: `#FFFFFF`
|
|
193
|
+
- Focus: 1.5pt gradient ring (solid `#5A2BE0` fallback)
|
|
194
|
+
|
|
195
|
+
**Filter / Genre Chip**
|
|
196
|
+
- Background: `#250F5E` default / gradient `#0046FF→#7B2FF7` selected
|
|
197
|
+
- Text: `#FFFFFF` (both states)
|
|
198
|
+
- Height: 36pt, corner radius 500pt (full pill), horizontal padding 16pt
|
|
199
|
+
- Font: Inter 14pt weight 600
|
|
200
|
+
|
|
201
|
+
### Distinctive Components
|
|
202
|
+
|
|
203
|
+
**Gradient-Brand Hero Billboard**
|
|
204
|
+
- The signature Max move: a full-bleed muted auto-trailer at the top of Home, framed by the deep-purple gradient fade, with the gradient "Play" CTA pinned over it. The trailer cross-fades to the next title every ~20s. This is the prestige-marquee moment — brand gradient, motion, and content fused.
|
|
205
|
+
|
|
206
|
+
**Max Originals Badge**
|
|
207
|
+
- A small pill with a gradient border (or gradient fill) and "Max Originals" in 11pt w800 uppercase, marking first-party prestige content on tiles, details, and the billboard.
|
|
208
|
+
|
|
209
|
+
**Profile Gate**
|
|
210
|
+
- On launch, a full-screen grid of large 96pt circular avatars ("Who's watching?") over the purple canvas — the HBO-lineage profile selector. Focused avatar gets a 2pt gradient ring.
|
|
211
|
+
|
|
212
|
+
**Trailer Crossfade + Gradient Shimmer**
|
|
213
|
+
- The billboard trailer dissolves between titles (1.2s); the primary CTA carries a slow 4s diagonal gradient shimmer to signal it as the brand action.
|
|
214
|
+
|
|
215
|
+
## 5. Layout Principles
|
|
216
|
+
|
|
217
|
+
### Spacing System
|
|
218
|
+
- Base unit: 4pt
|
|
219
|
+
- Scale: 4, 8, 12, 16, 20, 24, 32, 40, 52, 64
|
|
220
|
+
- Standard margin: 16pt horizontal
|
|
221
|
+
- Between rows: 28pt vertical
|
|
222
|
+
- Tile gap: 12pt
|
|
223
|
+
|
|
224
|
+
### Grid & Container
|
|
225
|
+
- Content width: full device width with 16pt horizontal margins
|
|
226
|
+
- Horizontal rows: begin at 16pt left inset, peek last tile at right edge
|
|
227
|
+
- My List grid: 3-column (16:9) or 3-column (2:3 movies), 12pt gap
|
|
228
|
+
- Profile gate: 2-column avatar grid, centered, 32pt gap
|
|
229
|
+
|
|
230
|
+
### Whitespace Philosophy
|
|
231
|
+
- **Prestige spacing**: Rows sit 28pt apart with restrained metadata — more breathing room than a budget streamer, signaling premium
|
|
232
|
+
- **Billboard dominance**: The auto-trailer billboard owns ~460pt before any rows — the spectacle leads
|
|
233
|
+
- **Tight tile gaps within rows**: 12pt keeps the row scannable while each tile stays large
|
|
234
|
+
|
|
235
|
+
### Border Radius Scale
|
|
236
|
+
- Sharp (0pt): Full-bleed billboard, details backdrop, video surface
|
|
237
|
+
- Soft (6pt): Content tiles, posters, hero thumbnails
|
|
238
|
+
- Standard (8pt): Buttons, search bar, cards
|
|
239
|
+
- Comfortable (12-16pt): Bottom sheets, modals
|
|
240
|
+
- Full Pill (500pt): Genre/filter chips, "Max Originals" badge, "LIVE" badge
|
|
241
|
+
- Circle (50%): Profile avatars, player center button
|
|
242
|
+
|
|
243
|
+
## 6. Depth & Elevation
|
|
244
|
+
|
|
245
|
+
| Level | Treatment | Use |
|
|
246
|
+
|-------|-----------|-----|
|
|
247
|
+
| Flat (Level 0) | No shadow | Canvas, rows, list rows |
|
|
248
|
+
| Tile Focus (Level 1) | `rgba(0,0,0,0.55) 0 12px 28px` | Tile lifted on press/focus |
|
|
249
|
+
| Card (Level 2) | `rgba(0,0,0,0.45) 0 6px 18px` | Sheets, metadata panels |
|
|
250
|
+
| Brand Glow (Accent) | `rgba(91,43,224,0.35) 0 8px 24px` | Under the gradient CTA, focused-tile gradient ring |
|
|
251
|
+
| Sheet (Level 3) | `rgba(0,0,0,0.6) 0 -16px 44px` | Bottom sheets, episode-options menu |
|
|
252
|
+
| Tab Bar Material | `.regularMaterial` over `rgba(18,5,58,0.94)` | Bottom tab bar over scrolling content |
|
|
253
|
+
|
|
254
|
+
**Shadow Philosophy**: On the deep-purple canvas, neutral shadows must be deep (0.45-0.55 opacity, 18-28pt blur) to register. The signature elevation cue is chromatic and brand-aligned: the violet glow under the gradient CTA and the gradient ring on a focused tile communicate lift where neutral shadows can't. Everything else is flat — depth is surface-step color within the purple family, never borders.
|
|
255
|
+
|
|
256
|
+
### Motion
|
|
257
|
+
- **Tile press**: scale 1.0 → 1.04 over 180ms ease-out, focus shadow + gradient ring fade in, `.impactOccurred(.light)` haptic
|
|
258
|
+
- **Play CTA tap**: scale 0.97 spring (damping 0.7), gradient darkens, `.impactOccurred(.light)`
|
|
259
|
+
- **Billboard trailer crossfade**: 1.2s opacity dissolve between consecutive titles every ~20s
|
|
260
|
+
- **CTA gradient shimmer**: a slow 4s diagonal highlight sweep, infinite
|
|
261
|
+
- **Row scroll**: native momentum, last tile peeks; no snap
|
|
262
|
+
- **Details enter**: backdrop cross-dissolves in over 250ms, rows slide up 12pt + fade
|
|
263
|
+
- **Player controls**: fade in/out over 200ms with the scrim
|
|
264
|
+
|
|
265
|
+
## 7. Do's and Don'ts
|
|
266
|
+
|
|
267
|
+
### Do
|
|
268
|
+
- Use `#12053A` deep purple as the canvas — the brand color IS the environment, not a neutral dark
|
|
269
|
+
- Reserve the gradient (`#0046FF→#7B2FF7`) for the wordmark, primary CTA, focus, and Originals badge
|
|
270
|
+
- Use the solid violet fallback (`#5A2BE0`) for the tab indicator and small toggles where a gradient can't render
|
|
271
|
+
- Lead Home with the auto-trailer billboard and cross-fade between titles
|
|
272
|
+
- Mark first-party content with the gradient-edge "Max Originals" badge
|
|
273
|
+
- Step elevation within the purple family (`#1B0B4D`, `#250F5E`) — not toward gray
|
|
274
|
+
- Put the violet glow under the gradient CTA — it's the chromatic elevation cue
|
|
275
|
+
- Use white text on the gradient button — white on the blue-violet gradient is correct
|
|
276
|
+
|
|
277
|
+
### Don't
|
|
278
|
+
- Don't use near-black or gray as the canvas — Max's identity is the deep-purple environment
|
|
279
|
+
- Don't apply the gradient to body text or decorative elements — it's brand/action-only
|
|
280
|
+
- Don't try to render the full gradient on the tiny tab indicator — use the `#5A2BE0` solid fallback
|
|
281
|
+
- Don't use thin or medium weights — Inter here is 400 / 600 / 800 only
|
|
282
|
+
- Don't round content tiles heavily — 6pt max keeps artwork integrity
|
|
283
|
+
- Don't crowd the rows — prestige spacing (28pt) is part of the premium signal
|
|
284
|
+
- Don't introduce visible card borders — elevation is surface-step color, not strokes
|
|
285
|
+
- Don't over-animate — tile scale is subtle (1.04); the only continuous motion is the slow billboard crossfade and CTA shimmer
|
|
286
|
+
|
|
287
|
+
## 8. Responsive Behavior
|
|
288
|
+
|
|
289
|
+
### Device Sizes
|
|
290
|
+
| Device | Width | Key Changes |
|
|
291
|
+
|--------|-------|-------------|
|
|
292
|
+
| iPhone SE (3rd gen) | 375pt | 170pt 16:9 tiles, billboard 400pt |
|
|
293
|
+
| iPhone 13/14/15 | 390pt | Standard 200pt tiles, billboard 460pt |
|
|
294
|
+
| iPhone 15/16 Pro | 393pt | Dynamic Island accommodated in transparent top nav |
|
|
295
|
+
| iPhone 15/16 Pro Max | 430pt | 230pt tiles, billboard scales to 520pt |
|
|
296
|
+
| iPad | 768pt+ | 4-column My List grid, larger billboard, rows show 4-5 tiles |
|
|
297
|
+
|
|
298
|
+
### Dynamic Type
|
|
299
|
+
- Show titles, episode titles, synopsis: full scale
|
|
300
|
+
- Tile subtitle / metadata: scales but clamps at +2 steps (layout-sensitive in rows)
|
|
301
|
+
- Play CTA label: scales to 18pt max; button height fixed at 52pt
|
|
302
|
+
- Tab labels, badges, scrubber times: fixed (never scale)
|
|
303
|
+
|
|
304
|
+
### Orientation
|
|
305
|
+
- Home / Search / My List / Details / Profile gate: **portrait-locked**
|
|
306
|
+
- Video player: **rotates to landscape** — auto-enters full-screen landscape on play
|
|
307
|
+
- Billboard trailer: portrait, muted; full-screen on tap
|
|
308
|
+
|
|
309
|
+
### Touch Targets
|
|
310
|
+
- Play CTA: 52pt height, full-width — impossible to miss
|
|
311
|
+
- Content tiles: full-tile tappable, ≥ 110pt tall hit
|
|
312
|
+
- Episode rows: 96pt height, full-row tappable
|
|
313
|
+
- Profile avatars: 96pt circle, generous gate spacing
|
|
314
|
+
- Tab bar icons: 24pt icon, 44pt effective hit
|
|
315
|
+
|
|
316
|
+
### Safe Area Handling
|
|
317
|
+
- Top: transparent nav respects safe area / Dynamic Island over the billboard
|
|
318
|
+
- Bottom: tab bar floats above home indicator; player controls inset from it
|
|
319
|
+
- Sides: 16pt content margins; rows bleed to the right edge intentionally
|
|
320
|
+
|
|
321
|
+
## 9. Agent Prompt Guide
|
|
322
|
+
|
|
323
|
+
### Quick Color Reference
|
|
324
|
+
- Canvas: `#12053A`
|
|
325
|
+
- Surface 1 (cards): `#1B0B4D`
|
|
326
|
+
- Surface 2 (sheets/chips): `#250F5E`
|
|
327
|
+
- Surface 3 / Divider: `#36206E`
|
|
328
|
+
- Primary text: `#FFFFFF`
|
|
329
|
+
- Secondary text: `#B0A8D0`
|
|
330
|
+
- Tertiary text: `#7E76A6`
|
|
331
|
+
- Gradient start: `#0046FF`
|
|
332
|
+
- Gradient end: `#7B2FF7`
|
|
333
|
+
- Gradient solid (fallback): `#5A2BE0`
|
|
334
|
+
- Live gold: `#F2C94C`
|
|
335
|
+
- Error red: `#FF5C7A`
|
|
336
|
+
|
|
337
|
+
### Example Component Prompts
|
|
338
|
+
- "Create a SwiftUI Max primary Play button: full-width, 52pt tall, 8pt corner radius, background a 135° linear gradient from #0046FF to #7B2FF7, leading SF Symbol 'play.fill' 18pt + label 'Play' in Inter 16pt weight 800, both #FFFFFF. Soft brand glow shadow rgba(91,43,224,0.35) 0 8px 24px. Pressed: a rgba(74,34,189,0.55) overlay, scale 0.97, light haptic. Idle: a slow 4s diagonal shimmer across the gradient."
|
|
339
|
+
- "Build the Max hero billboard: full-bleed 460pt-tall auto-trailer frame with a bottom-up gradient from rgba(18,5,58,0) to #12053A. Show title 'Dune: Prophecy' bottom-left in Inter 32pt weight 800 #FFFFFF, metadata '2024 · TV-MA · 1 Season · Sci-Fi' in 13pt weight 400 #B0A8D0, a small gradient-bordered 'Max Originals' pill above it. Action row: gradient Play CTA, '+ My List', 'More Info'. Cross-fade to the next title every ~20s with a 1.2s dissolve."
|
|
340
|
+
- "Design a Max Originals tile: 220×124pt (16:9) artwork, 6pt corner radius, with a small gradient-edge 'Max Originals' badge top-left (Inter 11pt weight 800 uppercase #FFFFFF). On press: scale 1.04 with shadow rgba(0,0,0,0.55) 0 12px 28px and a 2pt gradient ring (#0046FF→#7B2FF7)."
|
|
341
|
+
- "Create the Max profile gate: deep-purple #12053A full screen, centered title 'Who's watching?' in Inter 28pt weight 800 #FFFFFF, a 2-column grid of 96pt circular avatars with names below in 15pt weight 600. Focused avatar gets a 2pt gradient ring; pressed scales to 0.95."
|
|
342
|
+
- "Build the Max bottom tab bar: 52pt + safe area, background rgba(18,5,58,0.94) with regularMaterial blur. Tabs Home, Search, My List. Active icon + label #FFFFFF with a 3pt solid #5A2BE0 underline indicator (gradient fallback at small size), inactive #B0A8D0. Labels Inter 10pt weight 600, filled SF Symbol when active."
|
|
343
|
+
|
|
344
|
+
### Iteration Guide
|
|
345
|
+
1. Canvas is `#12053A` deep purple — the brand color is the environment, NOT a neutral dark
|
|
346
|
+
2. The gradient (`#0046FF→#7B2FF7`) is brand/action-only — wordmark, Play CTA, focus, Originals badge
|
|
347
|
+
3. Use the solid violet `#5A2BE0` fallback wherever a gradient can't render cleanly (tab indicator, tiny toggles)
|
|
348
|
+
4. Lead Home with the auto-trailer billboard; cross-fade between titles every ~20s
|
|
349
|
+
5. White text on the gradient button — white on the blue-violet gradient is correct
|
|
350
|
+
6. Step elevation within the purple family (`#1B0B4D`, `#250F5E`), never toward gray
|
|
351
|
+
7. Elevation on dark = surface-step color + the violet glow / gradient ring, never borders
|
|
352
|
+
8. Typography is Inter, weights 400/600/800 only — no thin, no medium; prestige 28pt row spacing
|