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,376 @@
|
|
|
1
|
+
# Design System Inspiration of Instagram (iOS)
|
|
2
|
+
|
|
3
|
+
## 1. Visual Theme & Atmosphere
|
|
4
|
+
|
|
5
|
+
Instagram's iOS app is a study in chromatic restraint punctuated by one unforgettable gradient. The entire chrome — nav bar, tab bar, icons, typography — is rendered in pure monochrome (black on white, or white on true black), creating a neutral frame that lets photos and videos become the only colorful thing on screen. The content is the product; the interface is the picture frame, and the frame is deliberately invisible. This is the anti-skeuomorphic endgame — a UI so quiet that a user's 1:1 photograph, a friend's selfie, or a Reel's saturated grade commands 100% of the visual attention.
|
|
6
|
+
|
|
7
|
+
The single chromatic exception is the Instagram logomark gradient — that famous purple-to-pink-to-orange-to-yellow sweep (`#833AB4` → `#FD1D1D` → `#FCAF45`) — which appears in exactly three places: the app icon, the Stories ring for unread stories, and the Reels/Create action. Nowhere else. No buttons, no accents, no badges. This scarcity is what makes the gradient iconic. Everything else defaults to black (`#000000`) or white (`#FFFFFF`), with grays between them for secondary affordances.
|
|
8
|
+
|
|
9
|
+
Typography is SF Pro — the system face — with zero customization, except for the logotype at the top of the feed which uses a custom Billabong-inspired script. Headlines are absent; instead, small-but-confident UI text (13-17pt, weight 400-600) guides the user. Every control is a glyph or icon — Instagram famously stripped text labels from its tab bar years ago, trusting that users recognize the outline house, magnifying glass, Reels chevron-play, and circular profile without instruction. The interface says little and shows everything.
|
|
10
|
+
|
|
11
|
+
**Key Characteristics:**
|
|
12
|
+
- Pure monochrome chrome (black/white only) with the Instagram gradient as the single chromatic signature
|
|
13
|
+
- Content-as-hero layout: photos and videos span edge-to-edge with zero competing UI color
|
|
14
|
+
- SF Pro at small-to-medium sizes (11-17pt) — no display-size headlines anywhere
|
|
15
|
+
- Iconography dominates text labels — the tab bar has no words
|
|
16
|
+
- Signature gradient (`#833AB4` → `#FD1D1D` → `#FCAF45`) reserved for brand moments only
|
|
17
|
+
- Edge-to-edge media: feed posts, Reels, and Stories bleed to the device edges
|
|
18
|
+
- Full dark mode with true-black (`#000000`) for OLED battery efficiency
|
|
19
|
+
- Haptics on double-tap-to-like and tab-bar long-press — subtle but signature
|
|
20
|
+
|
|
21
|
+
## 2. Color Palette & Roles
|
|
22
|
+
|
|
23
|
+
### Primary (Monochrome)
|
|
24
|
+
- **Pure Black** (`#000000`): Dark mode canvas, light mode text, iconography. True black to max contrast and conserve OLED power.
|
|
25
|
+
- **Pure White** (`#FFFFFF`): Light mode canvas, dark mode text, iconography, tab bar background.
|
|
26
|
+
- **Secondary Gray** (`#8E8E8E` / `#A8A8A8`): Metadata text ("2h", view counts, placeholder copy, usernames in comments). Light mode uses `#8E8E8E`; dark mode uses `#A8A8A8` for legibility.
|
|
27
|
+
- **Separator** (`#DBDBDB` light / `#262626` dark): Hairline dividers between feed posts, between navigation and content, between stacked list rows.
|
|
28
|
+
|
|
29
|
+
### Interactive
|
|
30
|
+
- **Link Blue** (`#00376B` light / `#E0F1FF` dark): @mentions, #hashtags, linked URLs in captions and bios. Note: it's NOT system blue — it's deeper, navy-leaning.
|
|
31
|
+
- **Primary Button Blue** (`#0095F6`): The "Follow", "Log in", and "Sign up" pill buttons. The only blue chip in the app and it means "take action."
|
|
32
|
+
- **Primary Button Blue Pressed** (`#1877F2`): Pressed state — Meta-flavored blue, slightly deeper.
|
|
33
|
+
- **Destructive Red** (`#ED4956`): Heart-liked state, destructive actions ("Delete", "Report"), notification badges. Instagram red is pink-shifted vs. system red.
|
|
34
|
+
|
|
35
|
+
### Brand Gradient (Reserved)
|
|
36
|
+
The official Instagram brand gradient is a **10-stop diagonal sweep** (bottom-left to top-right) used in the app icon:
|
|
37
|
+
- `#FFDC80` (Yellow) → `#FCAF45` (Orange-Yellow) → `#F77737` (Orange) → `#F56040` (Red-Orange) → `#FD1D1D` (Red) → `#E1306C` (Rose) → `#C13584` (Purple-Red) → `#833AB4` (Purple) → `#5851DB` (Purple-Blue) → `#405DE6` (Blue)
|
|
38
|
+
|
|
39
|
+
A **3-stop shorthand** (`#833AB4` → `#FD1D1D` → `#FCAF45`) is commonly used in UI moments where the full 10-stop would be too busy.
|
|
40
|
+
|
|
41
|
+
The gradient appears ONLY in: the app icon, the logotype, unread Stories rings (as an angular gradient), the Create (+) tab icon, and occasional brand CTAs. Never on text, regular buttons, or decorative fills.
|
|
42
|
+
|
|
43
|
+
### Dark Mode Surfaces
|
|
44
|
+
- **Background** (`#000000`): Primary dark canvas — true black for OLED.
|
|
45
|
+
- **Elevated Surface** (`#121212`): Comment sheet backgrounds, settings rows grouped container.
|
|
46
|
+
- **Input Field** (`#1C1C1E` / `#262626`): Search fields, comment input, DM compose bubble background.
|
|
47
|
+
- **Incoming DM Bubble** (`#262626`): Received message bubble in dark mode.
|
|
48
|
+
- **Outgoing DM Bubble** (`#3797F0` → `#7644FF` gradient): Sent message — the only gradient bubble in messaging UI.
|
|
49
|
+
|
|
50
|
+
### Light Mode Surfaces
|
|
51
|
+
- **Background** (`#FFFFFF`): Primary light canvas.
|
|
52
|
+
- **Input Field** (`#EFEFEF`): Search bar fill, comment composer.
|
|
53
|
+
- **Incoming DM Bubble** (`#EFEFEF`): Received message bubble in light mode.
|
|
54
|
+
- **Pressed Row** (`#F5F5F5`): Tap-down state for list rows and settings items.
|
|
55
|
+
|
|
56
|
+
### Status & State
|
|
57
|
+
- **Online Green** (`#78DE45`): Active-now indicator dot on profile photos in DM and Close Friends.
|
|
58
|
+
- **Close Friends Green** (`#2FB825`): The Close Friends star/ring color.
|
|
59
|
+
- **Unread Red Dot** (`#ED4956`): Notification badges on the Activity tab and DM rows.
|
|
60
|
+
|
|
61
|
+
## 3. Typography Rules
|
|
62
|
+
|
|
63
|
+
### Font Family
|
|
64
|
+
- **System**: `SF Pro Text` (iOS default). Instagram respects the user's Dynamic Type preference throughout most of the app.
|
|
65
|
+
- **Logotype**: `Instagram Sans` (proprietary, based on Billabong script for the wordmark). Only used for the "Instagram" logo at the top of the Home feed — never body text.
|
|
66
|
+
- **Monospace**: `SF Mono` for story-reply typing indicators (rare).
|
|
67
|
+
|
|
68
|
+
### Hierarchy
|
|
69
|
+
|
|
70
|
+
| Role | Font | Size | Weight | Line Height | Letter Spacing | Notes |
|
|
71
|
+
|------|------|------|--------|-------------|----------------|-------|
|
|
72
|
+
| Logotype | Instagram Sans | 28pt | 400 | 1.0 | normal | Top of Home feed ONLY |
|
|
73
|
+
| Screen Title | SF Pro Text | 16pt | 600 | 1.25 | -0.2pt | Nav bar title (e.g. "Profile", "Messages") |
|
|
74
|
+
| Username (Post Header) | SF Pro Text | 14pt | 600 | 1.3 | -0.15pt | Above each feed post |
|
|
75
|
+
| Username (Large) | SF Pro Text | 20pt | 700 | 1.2 | -0.3pt | Profile screen username |
|
|
76
|
+
| Bio | SF Pro Text | 14pt | 400 | 1.4 | normal | Profile bio copy, multi-line |
|
|
77
|
+
| Caption | SF Pro Text | 14pt | 400 | 1.35 | -0.1pt | Post caption text under each feed item |
|
|
78
|
+
| Caption Truncated | SF Pro Text | 14pt | 400 | 1.35 | -0.1pt | 2-line clamp, "more" button in secondary gray |
|
|
79
|
+
| Comment | SF Pro Text | 14pt | 400 | 1.4 | -0.1pt | Comment body; username bold-inline |
|
|
80
|
+
| Secondary Meta | SF Pro Text | 12pt | 400 | 1.3 | 0pt | "2h", "View all 24 comments", view counts |
|
|
81
|
+
| Button (Primary) | SF Pro Text | 14pt | 600 | 1.0 | -0.15pt | "Follow", "Message", "Log In" |
|
|
82
|
+
| Button (Small Pill) | SF Pro Text | 12pt | 600 | 1.0 | -0.1pt | Story ring label, "See All" |
|
|
83
|
+
| Tab Label (legacy) | SF Pro Text | 10pt | 500 | 1.0 | 0.1pt | Currently hidden — tab bar is icon-only |
|
|
84
|
+
| Counter Large | SF Pro Text | 16pt | 700 | 1.1 | -0.2pt | Profile stats (posts / followers / following) |
|
|
85
|
+
| Counter Small | SF Pro Text | 12pt | 400 | 1.2 | 0pt | "followers" / "following" label under the number |
|
|
86
|
+
| DM Bubble | SF Pro Text | 16pt | 400 | 1.3 | -0.2pt | Message text inside chat bubbles |
|
|
87
|
+
| System Badge | SF Pro Text | 11pt | 700 | 1.0 | 0.2pt | Notification badge counts |
|
|
88
|
+
|
|
89
|
+
### Principles
|
|
90
|
+
- **No display-size type**: The biggest text in the entire app is the 28pt logotype. No 40pt hero headlines, no 60pt marketing type. The interface is designed for a phone held close to the face, not a billboard.
|
|
91
|
+
- **Weight concentrated at 400 / 600 / 700**: Regular, semibold, bold. Light (300) and heavy (800+) are never used. Semibold (600) carries almost all UI emphasis.
|
|
92
|
+
- **Dynamic Type support**: SF Pro scales with the user's accessibility setting. Numeric counters and nav titles use semantic styles so they grow; the Instagram logotype stays fixed.
|
|
93
|
+
- **Username-first hierarchy**: In every row (feed, comments, DM list), the username is the most emphasized element, always semibold. This reinforces that Instagram is about people, not posts.
|
|
94
|
+
|
|
95
|
+
## 4. Component Stylings
|
|
96
|
+
|
|
97
|
+
### Buttons
|
|
98
|
+
|
|
99
|
+
**Primary Action (Follow / Log In)**
|
|
100
|
+
- Background: `#0095F6`
|
|
101
|
+
- Text: `#FFFFFF`
|
|
102
|
+
- Padding: 7pt vertical, 16pt horizontal (full-width variants go to 12pt)
|
|
103
|
+
- Corner radius: 8pt
|
|
104
|
+
- Font: SF Pro Text, 14pt, weight 600
|
|
105
|
+
- Pressed: background shifts to `#1877F2`, scale 0.97
|
|
106
|
+
- Disabled: 50% opacity
|
|
107
|
+
|
|
108
|
+
**Secondary Action (Following / Message)**
|
|
109
|
+
- Background: `#EFEFEF` (light) / `#363636` (dark)
|
|
110
|
+
- Text: `#000000` (light) / `#FFFFFF` (dark)
|
|
111
|
+
- Padding: 7pt vertical, 16pt horizontal
|
|
112
|
+
- Corner radius: 8pt
|
|
113
|
+
- Font: SF Pro Text, 14pt, weight 600
|
|
114
|
+
- Pressed: background darkens one step
|
|
115
|
+
|
|
116
|
+
**Destructive (Delete / Report)**
|
|
117
|
+
- Background: transparent
|
|
118
|
+
- Text: `#ED4956`
|
|
119
|
+
- Font: SF Pro Text, 14pt, weight 600 (in sheets) / 17pt weight 400 (in action sheets)
|
|
120
|
+
- No border, no background — text only on sheet rows
|
|
121
|
+
|
|
122
|
+
**Icon Button (Heart, Comment, Share, Save)**
|
|
123
|
+
- Size: 24pt glyph, 44x44pt hit target
|
|
124
|
+
- Default: SF Pro / custom outlined glyph at current text color
|
|
125
|
+
- Liked (heart): fills to `#ED4956` with a 0.9 → 1.15 → 1.0 spring scale animation
|
|
126
|
+
- Double-tap-to-like: large heart animates from 0 → 1.4 → 0 over 0.6s in center of image, with success haptic
|
|
127
|
+
|
|
128
|
+
### Cards & Containers
|
|
129
|
+
|
|
130
|
+
**Feed Post**
|
|
131
|
+
- Background: current canvas color (no elevated fill)
|
|
132
|
+
- Border: top/bottom 0.5pt hairline in separator color (`#DBDBDB` / `#262626`)
|
|
133
|
+
- Corner radius: 0 (edge-to-edge)
|
|
134
|
+
- Photo: 1:1 square or portrait, NO corner radius, full device width
|
|
135
|
+
- Carousel dots: 6pt dots, 3pt gap, primary dot is `#0095F6`
|
|
136
|
+
- Structure: header (56pt) → media (1:1 square) → action bar (48pt) → caption → comments preview → timestamp
|
|
137
|
+
|
|
138
|
+
**Grid Tile (Profile / Explore)**
|
|
139
|
+
- Size: 1/3 of device width minus 2pt gaps
|
|
140
|
+
- Aspect: 1:1 square
|
|
141
|
+
- Corner radius: 0
|
|
142
|
+
- Gap between tiles: 2pt (feels tighter than most iOS grids — this is intentional)
|
|
143
|
+
- Hover/pressed: 85% opacity
|
|
144
|
+
- Video indicator: SF Symbol `play.fill` top-right, 14pt, white with subtle shadow
|
|
145
|
+
- Multi-image indicator: SF Symbol `square.on.square` top-right
|
|
146
|
+
|
|
147
|
+
**Story Ring**
|
|
148
|
+
- Ring diameter: 66pt (home rail) / 77pt (profile)
|
|
149
|
+
- Inner photo: 3pt inset from ring
|
|
150
|
+
- Unread ring: 2.5pt stroke with conic gradient (`#833AB4` → `#FD1D1D` → `#FCAF45`)
|
|
151
|
+
- Read ring: 1pt stroke in `#DBDBDB` light / `#262626` dark
|
|
152
|
+
- Your Story: plus badge overlay (bottom-right), 22pt blue circle with white `+`
|
|
153
|
+
|
|
154
|
+
**Sheet (Comments, Share, More)**
|
|
155
|
+
- Background: `#FFFFFF` (light) / `#121212` (dark)
|
|
156
|
+
- Corner radius: 12pt top corners only
|
|
157
|
+
- Top grabber: 36pt wide × 4pt tall pill, centered, 8pt from top, color `#C7C7CC` / `#48484A`
|
|
158
|
+
- Shadow: `rgba(0,0,0,0.2) 0 -4px 12px`
|
|
159
|
+
- Snap points: medium (50%) and large (92%) — never fully covers the status bar
|
|
160
|
+
|
|
161
|
+
### Navigation
|
|
162
|
+
|
|
163
|
+
**Bottom Tab Bar**
|
|
164
|
+
- Height: 49pt (plus safe area)
|
|
165
|
+
- Background: `rgba(255,255,255,0.92)` (light) / `rgba(0,0,0,0.92)` (dark) with `.regularMaterial` blur
|
|
166
|
+
- Icons: 5 tabs — Home, Search, Reels (gradient), Shop/Create (replaced by +), Profile photo (your own)
|
|
167
|
+
- Icon size: 24pt
|
|
168
|
+
- Active tab: icon filled variant; inactive: outlined variant
|
|
169
|
+
- No text labels (Instagram removed them in 2020)
|
|
170
|
+
- Profile tab uses the user's actual avatar with a 2pt selection ring when active
|
|
171
|
+
- Long press on Home tab opens account switcher with haptic feedback
|
|
172
|
+
|
|
173
|
+
**Top Nav (Home Feed)**
|
|
174
|
+
- Height: 44pt (plus safe area)
|
|
175
|
+
- Left: Instagram logotype (Instagram Sans, 28pt)
|
|
176
|
+
- Right: SF Symbol `heart` (Activity), SF Symbol `paperplane` (DMs), with red dot badges when unread
|
|
177
|
+
- Icon size: 24pt
|
|
178
|
+
- Background: canvas color (not translucent — feed scrolls under the safe area only)
|
|
179
|
+
|
|
180
|
+
**Top Nav (Other Screens)**
|
|
181
|
+
- Height: 44pt
|
|
182
|
+
- Back chevron: SF Symbol `chevron.backward`, 17pt, primary text color, left-aligned with 16pt inset
|
|
183
|
+
- Title: centered, 16pt weight 600
|
|
184
|
+
- Right action: single icon or short text action, right-aligned
|
|
185
|
+
- No large-title style — everything is compact inline
|
|
186
|
+
|
|
187
|
+
### Image & Media Treatment
|
|
188
|
+
- Feed photos: edge-to-edge, 1:1 square default, 4:5 portrait, 16:9 landscape; NEVER rounded corners
|
|
189
|
+
- Stories: full-screen (100% viewport), 9:16 aspect, rounded top corners (12pt) on the iPhone device frame only
|
|
190
|
+
- Reels: full-bleed 9:16 vertical video, overlay text in white with subtle shadow
|
|
191
|
+
- Profile avatar: circular, 2pt border in current background color (makes it "float" against story rings)
|
|
192
|
+
- Video thumbnails in grid: play icon top-right, white with 4pt shadow offset 0/2
|
|
193
|
+
|
|
194
|
+
### Input Fields
|
|
195
|
+
|
|
196
|
+
**Search Bar (Explore)**
|
|
197
|
+
- Background: `#EFEFEF` (light) / `#262626` (dark)
|
|
198
|
+
- Corner radius: 10pt
|
|
199
|
+
- Height: 36pt
|
|
200
|
+
- Leading SF Symbol `magnifyingglass`, 14pt, `#8E8E8E`
|
|
201
|
+
- Placeholder: "Search", same gray
|
|
202
|
+
- Text: 14pt, primary text color
|
|
203
|
+
|
|
204
|
+
**Comment Composer**
|
|
205
|
+
- Background: current canvas
|
|
206
|
+
- Top hairline: 0.5pt separator
|
|
207
|
+
- Avatar: 24pt circular on the left
|
|
208
|
+
- Text field: inline, no border, placeholder "Add a comment..."
|
|
209
|
+
- Right: "Post" button in `#0095F6` weight 600 14pt — disabled/hidden when field is empty
|
|
210
|
+
|
|
211
|
+
**DM Compose**
|
|
212
|
+
- Bubble-shaped input: `#EFEFEF` / `#262626`, corner radius 20pt, min-height 36pt, grows with content
|
|
213
|
+
- Leading: camera icon (blue), inline
|
|
214
|
+
- Trailing: mic / sticker icons when empty; send arrow when populated (blue)
|
|
215
|
+
|
|
216
|
+
### Distinctive Components
|
|
217
|
+
|
|
218
|
+
**Stories Rail**
|
|
219
|
+
- Horizontal scroll at top of Home feed
|
|
220
|
+
- Your Story first, then unread (gradient rings), then read (gray rings), then muted
|
|
221
|
+
- 8pt gap between rings
|
|
222
|
+
- Below each ring: username truncated to 10 chars, 11pt weight 400, centered
|
|
223
|
+
|
|
224
|
+
**Action Bar (under each feed post)**
|
|
225
|
+
- Height: 48pt
|
|
226
|
+
- Layout: heart, comment, share (left cluster) + save (right)
|
|
227
|
+
- Icon size: 24pt
|
|
228
|
+
- Gaps: 16pt between left icons, save pinned right with 16pt inset
|
|
229
|
+
- Double-tap feedback: large centered heart animation on the image above
|
|
230
|
+
|
|
231
|
+
**Like Count / Caption Block**
|
|
232
|
+
- "Liked by [user] and [n] others" — 13pt weight 600
|
|
233
|
+
- Caption: username (bold inline) + caption text, 2-line clamp by default
|
|
234
|
+
- "View all X comments" in secondary gray 14pt weight 400
|
|
235
|
+
- Up to 2 top comments previewed, username bold inline
|
|
236
|
+
- Timestamp: 11pt weight 400 UPPERCASE in secondary gray (e.g., "2 HOURS AGO")
|
|
237
|
+
|
|
238
|
+
## 5. Layout Principles
|
|
239
|
+
|
|
240
|
+
### Spacing System
|
|
241
|
+
- Base unit: 4pt
|
|
242
|
+
- Scale: 2, 4, 6, 8, 12, 16, 20, 24, 32, 44, 56, 77
|
|
243
|
+
- Notable characteristic: 2pt micro-gap between grid tiles (tighter than most apps), 16pt inset for nav chrome, 4pt between icon rows in tab bar
|
|
244
|
+
|
|
245
|
+
### Grid & Container
|
|
246
|
+
- Max content width: device width (no content margins on feed posts)
|
|
247
|
+
- Safe-area aware: chrome (nav, tab bar) respects safe areas; media content ignores them to bleed to edge
|
|
248
|
+
- Profile grid: 3-column, 2pt gaps — content is king, chrome is minimal
|
|
249
|
+
- Settings list: standard iOS inset grouped style, 16pt horizontal padding, rows 44pt min-height
|
|
250
|
+
|
|
251
|
+
### Whitespace Philosophy
|
|
252
|
+
- **Edge-to-edge content, inset chrome**: The fundamental rule. Media bleeds; text/UI insets at 16pt.
|
|
253
|
+
- **Vertical density over horizontal**: Feed posts stack tightly (48pt action bar + 6pt to caption) but scroll is infinite. You can see ~1.2 posts per phone viewport.
|
|
254
|
+
- **No section headers**: Unlike Apple.com's chaptered sections, Instagram has zero visible section dividers beyond a 0.5pt hairline between posts.
|
|
255
|
+
- **The tab bar never disappears**: It's translucent, always present, always 49pt — the one persistent anchor.
|
|
256
|
+
|
|
257
|
+
### Border Radius Scale
|
|
258
|
+
- Square (0pt): Feed photos, Reels, grid tiles, Stories thumbnails
|
|
259
|
+
- Hairline (4pt): Comment composer prompts, small badges
|
|
260
|
+
- Standard (8pt): Buttons, follow pills, input fields (legacy)
|
|
261
|
+
- Comfortable (10pt): Search bars, DM bubbles (partial)
|
|
262
|
+
- Bubble (20pt): DM message bubbles, composer input
|
|
263
|
+
- Full Circle (50%): Profile avatars, story rings, action buttons, icon hit targets
|
|
264
|
+
|
|
265
|
+
## 6. Depth & Elevation
|
|
266
|
+
|
|
267
|
+
| Level | Treatment | Use |
|
|
268
|
+
|-------|-----------|-----|
|
|
269
|
+
| Flat (Level 0) | No shadow, solid background | Feed posts, list rows, tab content |
|
|
270
|
+
| Tab Bar Material | `.regularMaterial` blur over 92% white/black | Bottom tab bar — floats above scrolling feed |
|
|
271
|
+
| Nav Bar Material | `.regularMaterial` blur (scroll edge) | Top nav on Profile, Explore when content scrolls under |
|
|
272
|
+
| Sheet Elevation | `rgba(0,0,0,0.20) 0 -4px 12px` | Comment sheet, share sheet, action sheet |
|
|
273
|
+
| Double-tap Heart | Scale 0 → 1.4 → 1.0 + fade-out, spring damping 0.6 | The signature micro-interaction |
|
|
274
|
+
| Carousel Shadow | None | Posts do not elevate; carousels use dots not shadows |
|
|
275
|
+
|
|
276
|
+
**Shadow Philosophy**: Instagram uses almost zero drop shadows. Depth comes from the blur materials on tab/nav bars and the elevation implied by sheet presentations. Feed content lives on a single z-plane — nothing lifts, nothing hovers. The only "elevation" cue is the translucent glass of the tab bar and Comments sheet. This keeps the focus on the 2D content.
|
|
277
|
+
|
|
278
|
+
### Motion & Haptics
|
|
279
|
+
- **Double-tap to like**: Heart springs to 1.4 scale over 250ms, bounces back to 1.0, fades to 0 over 400ms. Paired with `.impactOccurred(.soft)` haptic.
|
|
280
|
+
- **Tab bar press**: `.selectionChanged()` haptic on tap
|
|
281
|
+
- **Long press on Home tab**: `.impactOccurred(.medium)` haptic → account switcher sheet
|
|
282
|
+
- **Pull to refresh on Feed**: Custom Instagram camera glyph rotates; standard iOS elastic with a branded spinner
|
|
283
|
+
- **Swipe between tabs in Reels**: 60fps snap with rubber-band resistance at edges
|
|
284
|
+
- **Story tap-and-hold**: Pauses timeline; UI chrome fades to 20% opacity over 150ms
|
|
285
|
+
|
|
286
|
+
## 7. Do's and Don'ts
|
|
287
|
+
|
|
288
|
+
### Do
|
|
289
|
+
- Keep all chrome monochrome — black, white, gray only
|
|
290
|
+
- Reserve the Instagram gradient for Stories rings, the Create action, and brand moments
|
|
291
|
+
- Use SF Pro — never introduce a custom body typeface
|
|
292
|
+
- Bleed media edge-to-edge with zero corner radius on photos and videos
|
|
293
|
+
- Use outlined icons by default, filled icons for active/selected state
|
|
294
|
+
- Respect the user's Dynamic Type setting on all UI text except the logotype
|
|
295
|
+
- Use `#0095F6` for the single "take action" button (Follow, Log in, Sign up)
|
|
296
|
+
- Pair every like/save/follow action with subtle haptics
|
|
297
|
+
- Use true black (`#000000`) for dark mode — not `#1C1C1E` — to serve OLED screens
|
|
298
|
+
|
|
299
|
+
### Don't
|
|
300
|
+
- Don't introduce new accent colors beyond the defined palette — the monochrome chrome is the brand
|
|
301
|
+
- Don't apply the brand gradient to buttons, text, or general UI — it's reserved
|
|
302
|
+
- Don't round feed photo corners — edge-to-edge squares and portraits are sacred
|
|
303
|
+
- Don't add text labels to the tab bar — the icons do the work
|
|
304
|
+
- Don't use large-title nav bars — Instagram is compact-title throughout
|
|
305
|
+
- Don't use shadows on feed cards — the app has a single z-plane for content
|
|
306
|
+
- Don't animate aggressively — motion is subtle (0.15-0.3s, spring damping 0.7+)
|
|
307
|
+
- Don't introduce skeuomorphic textures or gradients on UI chrome
|
|
308
|
+
- Don't replace SF Symbols with custom icons where a Symbol exists
|
|
309
|
+
|
|
310
|
+
## 8. Responsive Behavior
|
|
311
|
+
|
|
312
|
+
### Device Sizes
|
|
313
|
+
| Device | Width | Key Changes |
|
|
314
|
+
|--------|-------|-------------|
|
|
315
|
+
| iPhone SE (3rd gen) | 375pt | Tighter line-heights, tab bar icon gaps reduce to 12pt |
|
|
316
|
+
| iPhone 13 / 14 / 15 | 390pt | Standard layout |
|
|
317
|
+
| iPhone 15 / 16 Pro | 393pt | Standard layout, Dynamic Island accommodated |
|
|
318
|
+
| iPhone 15 / 16 Pro Max | 430pt | Slightly wider grid tiles, typography unchanged |
|
|
319
|
+
| iPad (Instagram is compact) | 768pt+ | App runs in compact-width mode — functionally identical to iPhone |
|
|
320
|
+
|
|
321
|
+
### Dynamic Type
|
|
322
|
+
- Usernames, captions, comments, DMs: scale with user setting (caption → body → larger variants up to accessibility XXXL)
|
|
323
|
+
- Counter numbers (followers, following, posts): scale 100% → 140% (xxxLarge cap)
|
|
324
|
+
- Tab bar icons: do NOT grow (fixed 24pt)
|
|
325
|
+
- Instagram logotype: does NOT grow (fixed 28pt)
|
|
326
|
+
- Nav titles: scale to a max of 20pt to stay within the 44pt nav bar
|
|
327
|
+
|
|
328
|
+
### Orientation
|
|
329
|
+
- Feed, Profile, Explore, Activity: **portrait-locked**
|
|
330
|
+
- Reels: **portrait-locked**
|
|
331
|
+
- Stories camera: **portrait-locked**
|
|
332
|
+
- Video player in full-screen: **rotates to landscape**
|
|
333
|
+
- DM: **portrait-locked**
|
|
334
|
+
|
|
335
|
+
### Touch Targets
|
|
336
|
+
- Minimum hit area: 44x44pt on all icons (even 24pt glyphs)
|
|
337
|
+
- Story rings: 66pt diameter gives a generous tap zone
|
|
338
|
+
- Grid tiles: full tile is tappable (125pt+ wide)
|
|
339
|
+
- Double-tap-to-like: full image area (~390pt wide × 390pt tall)
|
|
340
|
+
|
|
341
|
+
### Safe Area Handling
|
|
342
|
+
- Top: status bar + notch/Dynamic Island — content scrolls under a translucent nav on Profile/Explore
|
|
343
|
+
- Bottom: tab bar extends into the home indicator area with blur material
|
|
344
|
+
- Edge: media bleeds to left and right edges; text insets 16pt from safe area
|
|
345
|
+
|
|
346
|
+
## 9. Agent Prompt Guide
|
|
347
|
+
|
|
348
|
+
### Quick Color Reference
|
|
349
|
+
- Canvas (light): `#FFFFFF`
|
|
350
|
+
- Canvas (dark): `#000000`
|
|
351
|
+
- Text (light): `#000000`
|
|
352
|
+
- Text (dark): `#FFFFFF`
|
|
353
|
+
- Secondary gray: `#8E8E8E` (light) / `#A8A8A8` (dark)
|
|
354
|
+
- Separator: `#DBDBDB` (light) / `#262626` (dark)
|
|
355
|
+
- Primary action: `#0095F6`
|
|
356
|
+
- Destructive / heart-liked: `#ED4956`
|
|
357
|
+
- Link blue: `#00376B` (light) / `#E0F1FF` (dark)
|
|
358
|
+
- Brand gradient stops: `#833AB4` → `#FD1D1D` → `#FCAF45`
|
|
359
|
+
- Input field: `#EFEFEF` (light) / `#262626` (dark)
|
|
360
|
+
|
|
361
|
+
### Example Component Prompts
|
|
362
|
+
- "Build a SwiftUI Instagram feed post view: username row (28pt avatar + 14pt semibold username + `ellipsis` trailing icon), 1:1 square photo edge-to-edge with no corner radius, action bar with heart/comment/paperplane/bookmark (24pt SF Symbols, 16pt gap), like count at 13pt weight 600, caption with inline-bold username at 14pt weight 400, timestamp at 11pt uppercase in #8E8E8E."
|
|
363
|
+
- "Create a Story ring: 66pt outer circle with a 2.5pt conic gradient stroke (#833AB4, #FD1D1D, #FCAF45) for unread state, or 1pt gray stroke (#DBDBDB) for read state. Inner 57pt circular image with a 3pt inset. Below: username 11pt weight 400 centered, truncated to 10 chars."
|
|
364
|
+
- "Design an Instagram tab bar: 49pt height + safe area, .regularMaterial background at 92% opacity. Five equally-spaced icons at 24pt: house, magnifyingglass, play.rectangle (with brand gradient fill when active), plus.app (gradient), and a circular profile image. No text labels. Active icons use filled SF Symbol variants; inactive use outlined."
|
|
365
|
+
- "Build the Follow button: background #0095F6, corner radius 8pt, padding 7pt×16pt, text 'Follow' at 14pt weight 600 in white. Pressed state: background shifts to #1877F2 with 0.97 scale spring. Following state: background #EFEFEF, text #000000."
|
|
366
|
+
- "Create a comment composer: 48pt height bar pinned above keyboard, 24pt circular avatar on the left with 16pt padding, inline 14pt text field with placeholder 'Add a comment...', right-aligned 'Post' text button in #0095F6 weight 600 that disables when the field is empty."
|
|
367
|
+
|
|
368
|
+
### Iteration Guide
|
|
369
|
+
1. Chrome is ALWAYS monochrome — if you're adding color to an icon or button that isn't `#0095F6` or `#ED4956`, reconsider
|
|
370
|
+
2. The brand gradient is precious — reserve it for Stories rings, the Create action, and the logotype
|
|
371
|
+
3. Photos and videos are edge-to-edge with corner radius 0 — no exceptions in feed
|
|
372
|
+
4. Typography stays under 20pt everywhere except the 28pt logotype and the 77pt story ring on Profile
|
|
373
|
+
5. Tab bar is always translucent blur, always 5 icons, never labeled
|
|
374
|
+
6. Haptics on every meaningful interaction (like, save, follow, tab long-press)
|
|
375
|
+
7. Use SF Symbols first; fall back to custom only when Apple hasn't shipped the glyph
|
|
376
|
+
8. Dark mode is `#000000` pure — not the iOS `.systemBackground` default gray-black
|