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,405 @@
|
|
|
1
|
+
# Design System Inspiration of Postman (iOS)
|
|
2
|
+
|
|
3
|
+
## 1. Visual Theme & Atmosphere
|
|
4
|
+
|
|
5
|
+
Postman's iOS app is a developer instrument, not a consumer app — and it looks like one. It opens on a neutral dark grey canvas (`#1A1A1A`) and the entire screen is organized around a single task: build an HTTP request, fire it, read the response. The visual atmosphere is "API console in your pocket": dense, monospaced, color-coded, with one warm orange brand mark that appears only on the verbs that matter (Send, Save, primary CTAs). Nothing is decorative; every pixel either holds request data or signals state.
|
|
6
|
+
|
|
7
|
+
The spine of the app is the **request builder**: a horizontal URL bar with a colored HTTP-method pill on the left, the request URL in the middle (monospace), and a bright orange **Send** button on the right. Below it sits a tab strip — `Params`, `Headers`, `Body`, `Auth`, `Pre-request Script`, `Tests` — each opening a key-value editor where keys and values are typed in monospace. Fire the request and the bottom half of the screen becomes the **response viewer**: a status line (`200 OK` in green, `404` in yellow, `500` in red), timing and size metadata, and a syntax-highlighted JSON body. This request-then-response rhythm is the entire product; Collections, History, and Environments are just ways to organize and replay it.
|
|
8
|
+
|
|
9
|
+
The signature of the design is its **HTTP-method color system**. Every method has a fixed hue that is consistent everywhere the method appears — in the URL-bar pill, in collection request rows, in history entries: GET is green, POST is yellow, PUT is blue, PATCH is purple, DELETE is red, OPTIONS/HEAD are grey. This is not decoration — it is the primary information channel. A developer scanning a collection reads color before text. On dark mode these hues are softened (pastel-ish) versus the saturated light-mode versions, but the hue identity never changes.
|
|
10
|
+
|
|
11
|
+
The color logic is therefore split in two: a **single brand orange** (`#FF6C37`, "Postman Orange," from the company's logo and brand) reserved strictly for action affordances (Send button, active-tab underline, primary buttons, links) — and the **method/status palette** that carries semantic meaning. The neutral greys do everything else: canvas `#1A1A1A`, surfaces `#212121`/`#2A2A2A`, dividers `#3A3A3A`, text `#E8E8E8`/`#A6A6A6`. There is deliberately no second brand accent — orange means "do the thing," method colors mean "what kind of thing."
|
|
12
|
+
|
|
13
|
+
Typography is a clean UI sans (Postman ships a system-leaning stack; **Inter** is the closest free analog) for all chrome — labels, headings, navigation — paired with a strong monospace (**JetBrains Mono** as the free analog) for every piece of machine data: URLs, headers, JSON keys/values, query params, status codes, timing. The sans/mono split mirrors Postman's product reality: humans label things, machines speak JSON.
|
|
14
|
+
|
|
15
|
+
**Key Characteristics:**
|
|
16
|
+
- Neutral dark grey canvas (`#1A1A1A`) — a developer console, not a branded surface
|
|
17
|
+
- Request builder as the home screen — method pill + monospace URL + orange Send button
|
|
18
|
+
- HTTP-method color system — GET green / POST yellow / PUT blue / PATCH purple / DELETE red, consistent everywhere
|
|
19
|
+
- Single brand orange (`#FF6C37`) — reserved for Send / active tab / primary CTAs, never decorative
|
|
20
|
+
- Response viewer — status code (color-coded) + timing/size meta + syntax-highlighted JSON
|
|
21
|
+
- Sans for chrome, Mono for data — Inter labels, JetBrains Mono URLs/headers/JSON
|
|
22
|
+
- Tab strip request editor — Params / Headers / Body / Auth / Scripts / Tests with key-value rows
|
|
23
|
+
- Status-code chips — 2xx green, 3xx blue, 4xx yellow, 5xx red — pills in monospace
|
|
24
|
+
- Collections / History / Environments — three ways to organize and replay the same request
|
|
25
|
+
- JSON syntax coloring — keys blue, strings green, numbers/booleans purple, punctuation dim
|
|
26
|
+
|
|
27
|
+
## 2. Color Palette & Roles
|
|
28
|
+
|
|
29
|
+
### Primary (Interactive — the single brand accent)
|
|
30
|
+
- **Postman Orange** (`#FF6C37`): The one brand color — Send button, active-tab underline, primary buttons, links, FAB. Never decorative.
|
|
31
|
+
- **Postman Orange Pressed** (`#E55A2B`): Pressed state of orange affordances.
|
|
32
|
+
- **Postman Orange Dim** (`#3D2417`): 12% orange wash behind selected orange contexts (rare).
|
|
33
|
+
|
|
34
|
+
### Canvas & Surfaces (Dark — default)
|
|
35
|
+
- **Dark Canvas** (`#1A1A1A`): Primary canvas — neutral grey, not pure black, not charcoal-blue.
|
|
36
|
+
- **Surface 1** (`#212121`): Cards, URL bar, key-value cells, the first elevation step.
|
|
37
|
+
- **Surface 2** (`#2A2A2A`): Hovered/pressed rows, secondary panels.
|
|
38
|
+
- **Surface 3** (`#333333`): Inline code chips, tag fills.
|
|
39
|
+
- **Code Surface** (`#161616`): The response/JSON body background — slightly darker than canvas for contrast.
|
|
40
|
+
- **Divider** (`#3A3A3A`): Hairline separators between rows, under tab strips.
|
|
41
|
+
- **Border** (`#444444`): URL-bar border, input borders.
|
|
42
|
+
|
|
43
|
+
### Canvas & Surfaces (Light)
|
|
44
|
+
- **Canvas White** (`#FFFFFF`): Primary light canvas.
|
|
45
|
+
- **Surface Gray** (`#F4F5F5`): Cards, key-value cells.
|
|
46
|
+
- **Surface Gray 2** (`#EBECEC`): Pressed rows.
|
|
47
|
+
- **Code Surface Light** (`#FAFAFA`): JSON body background.
|
|
48
|
+
- **Divider Light** (`#E1E3E3`): Hairline separators.
|
|
49
|
+
- **Border Light** (`#D6D8D8`): Input borders.
|
|
50
|
+
|
|
51
|
+
### Text
|
|
52
|
+
- **Text Primary Dark** (`#E8E8E8`): Primary text & headings on dark.
|
|
53
|
+
- **Text Secondary Dark** (`#A6A6A6`): Metadata, secondary labels.
|
|
54
|
+
- **Text Tertiary Dark** (`#6E6E6E`): Disabled, placeholders, JSON punctuation.
|
|
55
|
+
- **Text Primary Light** (`#212121`): Primary text on white.
|
|
56
|
+
- **Text Secondary Light** (`#6B6B6B`): Metadata on white.
|
|
57
|
+
|
|
58
|
+
### HTTP Method Colors (the semantic core — Dark Mode)
|
|
59
|
+
These are consistent everywhere a method appears. Light-mode versions are more saturated; hue identity is preserved.
|
|
60
|
+
|
|
61
|
+
| Method | Dark Mode | Light Mode | Chip Fill (dark, ~12%) |
|
|
62
|
+
|--------|-----------|-----------|------------------------|
|
|
63
|
+
| GET | `#6BDD9A` | `#0CBB52` | `rgba(107,221,154,0.12)` |
|
|
64
|
+
| POST | `#FFE47A` | `#C9A227` (text on chip) | `rgba(255,228,122,0.12)` |
|
|
65
|
+
| PUT | `#74AEF6` | `#1A73E8` | `rgba(116,174,246,0.12)` |
|
|
66
|
+
| PATCH | `#C0A8E1` | `#7D4FC4` | `rgba(192,168,225,0.12)` |
|
|
67
|
+
| DELETE | `#F79090` | `#E5484D` | `rgba(247,144,144,0.12)` |
|
|
68
|
+
| OPTIONS / HEAD | `#A6A6A6` | `#6B6B6B` | `rgba(166,166,166,0.12)` |
|
|
69
|
+
|
|
70
|
+
### Status Code Colors
|
|
71
|
+
| Class | Color (dark) | Use |
|
|
72
|
+
|-------|--------------|-----|
|
|
73
|
+
| 1xx / 2xx Success | `#6BDD9A` | `200 OK`, `201 Created` |
|
|
74
|
+
| 3xx Redirect | `#74AEF6` | `301 Moved`, `304 Not Modified` |
|
|
75
|
+
| 4xx Client Error | `#FFE47A` | `400`, `401`, `404` |
|
|
76
|
+
| 5xx Server Error | `#F79090` | `500`, `502`, `503` |
|
|
77
|
+
|
|
78
|
+
### JSON Syntax Colors
|
|
79
|
+
- **Key** (`#74AEF6`): Object keys.
|
|
80
|
+
- **String** (`#6BDD9A`): String values.
|
|
81
|
+
- **Number / Boolean / null** (`#C0A8E1`): Numeric, boolean, null literals.
|
|
82
|
+
- **Punctuation** (`#6E6E6E`): Braces, brackets, colons, commas.
|
|
83
|
+
|
|
84
|
+
### Semantic
|
|
85
|
+
- **Success** (`#6BDD9A`): 2xx responses, save success, passed tests.
|
|
86
|
+
- **Error** (`#F79090`): 5xx responses, failed tests, destructive actions.
|
|
87
|
+
- **Warning** (`#FFE47A`): 4xx responses, unsaved-change indicator.
|
|
88
|
+
- **Info** (`#74AEF6`): 3xx, informational toasts.
|
|
89
|
+
|
|
90
|
+
## 3. Typography Rules
|
|
91
|
+
|
|
92
|
+
### Font Family
|
|
93
|
+
- **Sans (UI / chrome)**: `Inter` (by Rasmus Andersson, SIL OFL) — the closest free analog to Postman's system-leaning UI face; neutral, legible at small sizes.
|
|
94
|
+
- **Mono (request data)**: `JetBrains Mono` (by JetBrains, SIL OFL) — strong developer monospace for URLs, headers, JSON, params, status codes, timing.
|
|
95
|
+
- **Fallback Sans Stack**: `-apple-system, BlinkMacSystemFont, 'SF Pro Text', 'Segoe UI', Roboto, Helvetica, Arial, sans-serif`
|
|
96
|
+
- **Fallback Mono Stack**: `'SF Mono', ui-monospace, 'Menlo', 'Consolas', monospace`
|
|
97
|
+
- **Not user-switchable**: The sans/mono split is by content type (chrome vs machine data), not a setting.
|
|
98
|
+
|
|
99
|
+
### Hierarchy
|
|
100
|
+
|
|
101
|
+
| Role | Font | Size | Weight | Line Height | Letter Spacing | Notes |
|
|
102
|
+
|------|------|------|--------|-------------|----------------|-------|
|
|
103
|
+
| Display | Inter | 32pt | 800 | 1.1 | -0.5pt | Top-level screen title ("Collections") |
|
|
104
|
+
| Title | Inter | 26pt | 700 | 1.2 | -0.3pt | API / collection name |
|
|
105
|
+
| Section | Inter | 22pt | 700 | 1.2 | -0.2pt | "Request Builder" |
|
|
106
|
+
| Subsection | Inter | 18pt | 600 | 1.3 | -0.1pt | "Query Params", tab-content headings |
|
|
107
|
+
| Body | Inter | 16pt | 400 | 1.5 | 0pt | Descriptive prose, empty-state text |
|
|
108
|
+
| Label | Inter | 15pt | 500 | 1.3 | 0pt | Form labels, list-item titles |
|
|
109
|
+
| Method Pill | JetBrains Mono | 13pt | 700 | 1.0 | 0.3pt | `GET` / `POST` in URL bar & rows |
|
|
110
|
+
| URL / JSON | JetBrains Mono | 13pt | 400/500 | 1.4 | 0pt | Request URL, headers, key-value data |
|
|
111
|
+
| JSON Body | JetBrains Mono | 12pt | 400 | 1.6 | 0pt | Response body, pretty-printed |
|
|
112
|
+
| Status Code | JetBrains Mono | 12pt | 700 | 1.0 | 0.2pt | `200 OK`, status chips |
|
|
113
|
+
| Meta | Inter | 14pt | 400 | 1.4 | 0pt | "182 ms · 1.2 KB · 2m ago" |
|
|
114
|
+
| Caption | Inter | 12pt | 500 | 1.3 | 0.5pt | "QUERY PARAMS" eyebrow (uppercase) |
|
|
115
|
+
| Tab Label | Inter | 10pt | 500 | 1.0 | 0.1pt | Bottom tab labels |
|
|
116
|
+
| Button | Inter | 14pt | 700 | 1.0 | 0pt | All buttons (Send is 700) |
|
|
117
|
+
|
|
118
|
+
### Principles
|
|
119
|
+
- **Sans for chrome, Mono for machine data**: Any string that is part of an HTTP transaction — URL, header name/value, query param, JSON, status code, timing — is JetBrains Mono. Everything a human wrote — labels, headings, prose — is Inter. This split is the most legible part of the system.
|
|
120
|
+
- **Method pills are always Mono + bold**: `GET`/`POST`/`PUT` render in JetBrains Mono 13pt weight 700 with +0.3pt tracking and the method's fixed hue.
|
|
121
|
+
- **Weight concentrated at 400 / 500 / 600 / 700 / 800**: Body 400, labels 500, subsections 600, headings/buttons 700, display 800. No thin.
|
|
122
|
+
- **JSON is colored, not bolded**: Syntax meaning is carried by hue (key blue / string green / number purple / punctuation dim), never by weight.
|
|
123
|
+
- **Uppercase only for tiny eyebrows**: Section eyebrows ("QUERY PARAMS") at 12pt +0.5pt tracking. Never uppercase body or data.
|
|
124
|
+
- **Tabular Mono figures**: timing/size columns and JSON numbers use JetBrains Mono's even-width digits so columns align.
|
|
125
|
+
|
|
126
|
+
## 4. Component Stylings
|
|
127
|
+
|
|
128
|
+
### Buttons
|
|
129
|
+
|
|
130
|
+
**Primary Button (Send / Save / Confirm)**
|
|
131
|
+
- Shape: Rounded rectangle, 8pt corner radius
|
|
132
|
+
- Background: `#FF6C37` (Postman Orange) — identical light & dark
|
|
133
|
+
- Text: `#FFFFFF`, Inter 14pt weight 700
|
|
134
|
+
- Padding: 12pt vertical, 22pt horizontal (Send in the URL bar is full-height of the bar)
|
|
135
|
+
- Pressed: background `#E55A2B` + scale 0.98
|
|
136
|
+
- Disabled: background `#3D2417`, text `#6E6E6E`
|
|
137
|
+
|
|
138
|
+
**Secondary / Ghost Button (Cancel / Reset)**
|
|
139
|
+
- Background: transparent
|
|
140
|
+
- Text: `#E8E8E8` dark / `#212121` light, Inter 14pt weight 500
|
|
141
|
+
- Border: 1pt `#444444` dark / `#D6D8D8` light
|
|
142
|
+
- Padding: 11pt vertical, 20pt horizontal
|
|
143
|
+
- Corner radius: 8pt
|
|
144
|
+
- Pressed: background `#2A2A2A`
|
|
145
|
+
|
|
146
|
+
**Outline Orange Button (Save Request / secondary action)**
|
|
147
|
+
- Background: transparent
|
|
148
|
+
- Text & border: `#FF6C37` 1pt
|
|
149
|
+
- Padding: 11pt vertical, 20pt horizontal, 8pt radius
|
|
150
|
+
- Pressed: background `rgba(255,108,55,0.10)`
|
|
151
|
+
|
|
152
|
+
**Text Button (Add to Collection / link action)**
|
|
153
|
+
- Background: none
|
|
154
|
+
- Text: `#FF6C37`, Inter 14pt weight 600
|
|
155
|
+
- No underline by default; underline on press
|
|
156
|
+
|
|
157
|
+
**Icon Button**
|
|
158
|
+
- 20pt glyph in 44pt hit area
|
|
159
|
+
- Color: `#A6A6A6` default → `#E8E8E8` active (orange if it's a primary action like Send)
|
|
160
|
+
|
|
161
|
+
### Core Atoms
|
|
162
|
+
|
|
163
|
+
**URL / Request Bar**
|
|
164
|
+
- Container: `#212121`, 1pt `#444444` border, 10pt corner radius, overflow hidden
|
|
165
|
+
- Method pill: left segment, JetBrains Mono 13pt 700, method-colored text, 1pt right divider, 12pt horizontal padding — tappable to open the method picker
|
|
166
|
+
- URL field: JetBrains Mono 12–13pt `#E8E8E8`, single-line, horizontal scroll
|
|
167
|
+
- Send button: right segment, full-height, `#FF6C37` fill, white Inter 13pt 700
|
|
168
|
+
|
|
169
|
+
**HTTP Method Chip**
|
|
170
|
+
- JetBrains Mono 13pt 700, method hue text, method-hue background at 12%, 6pt corner radius, 6×12pt padding
|
|
171
|
+
- Used in collection rows, history entries, request tabs
|
|
172
|
+
|
|
173
|
+
**Status Code Chip**
|
|
174
|
+
- JetBrains Mono 12pt 700, class-colored text + 1pt class-colored border at 40% + class fill at 8%, 999pt pill, 5×10pt padding
|
|
175
|
+
- 2xx green, 3xx blue, 4xx yellow, 5xx red
|
|
176
|
+
|
|
177
|
+
**Key-Value Row (Params / Headers editor)**
|
|
178
|
+
- Two cells side-by-side: key cell (flex ~38%, JetBrains Mono 12pt, key-blue `#74AEF6` text) + value cell (flex, JetBrains Mono 12pt `#E8E8E8`)
|
|
179
|
+
- Each cell: `#212121` fill, 1pt `#3A3A3A` border, 6pt radius, 9×10pt padding
|
|
180
|
+
- Leading checkbox (enable/disable row), trailing delete on swipe
|
|
181
|
+
|
|
182
|
+
**Response Body Block**
|
|
183
|
+
- Background `#161616`, 1pt `#3A3A3A`, 8pt radius, 12pt padding
|
|
184
|
+
- JetBrains Mono 12pt, syntax-colored JSON, line wrap or horizontal scroll toggle
|
|
185
|
+
- Header row: status chip + timing (Mono `#A6A6A6`) + size + copy/raw/preview toggle
|
|
186
|
+
|
|
187
|
+
### Navigation
|
|
188
|
+
|
|
189
|
+
**Bottom Tab Bar**
|
|
190
|
+
- Height: 52pt + safe area
|
|
191
|
+
- Background: `rgba(26,26,26,0.94)` with `backdrop-filter: blur(20px)`, 0.5pt top border `#3A3A3A`
|
|
192
|
+
- Tabs (4): Request, Collections, History, Environments
|
|
193
|
+
- Icon size: 21pt, 2pt stroke
|
|
194
|
+
- Active: `#FF6C37` / Inactive: `#6E6E6E`
|
|
195
|
+
- Labels: Inter 10pt 500, always shown
|
|
196
|
+
|
|
197
|
+
**Request Editor Tab Strip**
|
|
198
|
+
- Horizontal scroll strip under the URL bar: Params / Headers / Body / Auth / Pre-request / Tests
|
|
199
|
+
- Inter 13pt; active 600 `#E8E8E8` with a 2pt `#FF6C37` underline; inactive 500 `#A6A6A6`
|
|
200
|
+
- A dot badge on a tab indicates it has content (e.g. Headers has 4 keys)
|
|
201
|
+
|
|
202
|
+
**Top Bar (Request)**
|
|
203
|
+
- Height: 44pt + safe area
|
|
204
|
+
- Leading: Postman roundel (26pt) + request name (Inter 16pt 600)
|
|
205
|
+
- Trailing: `Save` text action (Inter 13pt 600 `#FF6C37`, shows a dot when unsaved) + overflow `⋯`
|
|
206
|
+
|
|
207
|
+
### Input Fields
|
|
208
|
+
|
|
209
|
+
**Text Field**
|
|
210
|
+
- Height: 40pt, background `#212121` dark / `#F4F5F5` light, 1pt `#444444` border, 8pt radius
|
|
211
|
+
- Text: JetBrains Mono 13pt for URL/header/value fields; Inter 15pt for name/label fields
|
|
212
|
+
- Placeholder: `#6E6E6E`
|
|
213
|
+
- Focus: border `#FF6C37` + 2pt `rgba(255,108,55,0.35)` ring
|
|
214
|
+
- Error: border `#F79090`, helper text `#F79090` 12pt
|
|
215
|
+
|
|
216
|
+
**Method Picker (sheet)**
|
|
217
|
+
- Bottom sheet listing GET/POST/PUT/PATCH/DELETE/HEAD/OPTIONS
|
|
218
|
+
- Each row: method name in its hue (JetBrains Mono 15pt 700) + short description (Inter 12pt `#A6A6A6`)
|
|
219
|
+
- Selected row: `#2A2A2A` background, leading orange check
|
|
220
|
+
|
|
221
|
+
**Environment Variable Row**
|
|
222
|
+
- Key (Mono 13pt `#74AEF6`) + current value (Mono 13pt `#E8E8E8`), scope label (Inter 11pt `#A6A6A6`)
|
|
223
|
+
- `{{variable}}` tokens inside URL/body render in orange `#FF6C37` to show interpolation
|
|
224
|
+
|
|
225
|
+
**Search Field**
|
|
226
|
+
- Height: 38pt, leading magnifier 16pt `#6E6E6E`, `#212121`, 1pt `#3A3A3A`, 8pt radius
|
|
227
|
+
- Placeholder "Search collections" `#6E6E6E`
|
|
228
|
+
|
|
229
|
+
### Distinctive Components
|
|
230
|
+
|
|
231
|
+
**Method-Colored URL Bar**
|
|
232
|
+
- The atomic Postman element: a single pill+field+Send unit where the method's color is the first thing the eye reads.
|
|
233
|
+
|
|
234
|
+
**Request → Response Split**
|
|
235
|
+
- The screen is conceptually two halves: builder (top) and response (bottom). Sending animates the Send button into a spinner; the response slides up.
|
|
236
|
+
|
|
237
|
+
**HTTP Method Color System**
|
|
238
|
+
- The semantic core — see Color Palette. Consistent in URL bars, collection rows, history. Color is read before text.
|
|
239
|
+
|
|
240
|
+
**Syntax-Highlighted JSON Viewer**
|
|
241
|
+
- Pretty-printed, collapsible nodes (▸/▾), keys blue / strings green / numbers purple / punctuation dim. Copy + Raw + Preview toggle.
|
|
242
|
+
|
|
243
|
+
**Collection Tree Row**
|
|
244
|
+
- Folder/request hierarchy: leading method chip (for requests) or folder glyph, request name (Inter 15pt), trailing run/⋯. Nested rows indent 16pt per level.
|
|
245
|
+
|
|
246
|
+
**Status Code Chip + Timing**
|
|
247
|
+
- After a send: `200 OK` (green pill) · `182 ms` · `1.2 KB`, all JetBrains Mono — the developer's instant verdict.
|
|
248
|
+
|
|
249
|
+
**Environment Pill**
|
|
250
|
+
- A pill in the top area showing the active environment (e.g. `Staging`); tap to switch. `{{vars}}` interpolate against it.
|
|
251
|
+
|
|
252
|
+
**Tests / Assertions Result List**
|
|
253
|
+
- Each assertion row: green check + name (passed) or red ✕ + name + failure detail; counts summarized "5 passed, 1 failed".
|
|
254
|
+
|
|
255
|
+
## 5. Layout Principles
|
|
256
|
+
|
|
257
|
+
### Spacing System
|
|
258
|
+
- Base unit: 4pt
|
|
259
|
+
- Scale: 4, 6, 8, 10, 12, 14, 16, 20, 24, 28, 32
|
|
260
|
+
- URL bar internal segment padding: 12pt; key-value row gap: 8pt; section gap: 12–16pt
|
|
261
|
+
- Screen horizontal inset: 14–18pt
|
|
262
|
+
|
|
263
|
+
### Grid & Container
|
|
264
|
+
- iPhone: single column; the screen splits vertically into builder (top ~55%) and response (bottom ~45%) after a send
|
|
265
|
+
- iPad: optional 2-pane — collection sidebar (left ~300pt) + request/response detail (right)
|
|
266
|
+
- Key-value editors use a fixed 2-column proportion (key ~38% / value flex)
|
|
267
|
+
|
|
268
|
+
### Whitespace Philosophy
|
|
269
|
+
- **Dense but legible**: this is a power tool — rows are compact, but 8pt gaps and 1pt dividers keep the JSON and key-value grids scannable
|
|
270
|
+
- **Color carries hierarchy**: method/status colors do work that whitespace would in a consumer app — the eye navigates by hue
|
|
271
|
+
- **Code gets its own surface**: response JSON sits on a darker `#161616` block so it reads as "output," distinct from the chrome
|
|
272
|
+
- **Orange is rationed**: a single orange affordance per context keeps "the action" unambiguous
|
|
273
|
+
|
|
274
|
+
### Border Radius Scale
|
|
275
|
+
- Square (0pt): dividers, full-bleed code panes
|
|
276
|
+
- Subtle (4pt): inline code chips
|
|
277
|
+
- Chip (6pt): method chips, key-value cells
|
|
278
|
+
- Standard (8pt): buttons, inputs, response block
|
|
279
|
+
- Bar (10pt): the URL/request bar
|
|
280
|
+
- Comfortable (16pt): sheets, modals, large containers
|
|
281
|
+
- Pill (500pt): status-code chips, environment pill
|
|
282
|
+
- Circle (50%): the Postman roundel, avatars
|
|
283
|
+
|
|
284
|
+
## 6. Depth & Elevation
|
|
285
|
+
|
|
286
|
+
Postman is mostly flat with restrained elevation — it's a console, not a card-based consumer app.
|
|
287
|
+
|
|
288
|
+
| Level | Treatment | Use |
|
|
289
|
+
|-------|-----------|-----|
|
|
290
|
+
| Flat (Level 0) | No border, no shadow | Canvas, JSON code pane |
|
|
291
|
+
| Bordered (Level 1) | 1pt `#3A3A3A`/`#444444`, bg `#212121` | URL bar, key-value cells, inputs, cards |
|
|
292
|
+
| Floating (Level 2) | `rgba(0,0,0,0.5) 0 8px 24px` + 1pt `#444444` | Method picker, environment switcher, dropdowns, bottom sheets |
|
|
293
|
+
| Modal Overlay | `rgba(0,0,0,0.6)` scrim | Behind sheets and destructive-confirm dialogs |
|
|
294
|
+
|
|
295
|
+
**Shadow Philosophy**: On the neutral grey canvas, separation is primarily a 1pt border + a slightly lighter surface; shadows are reserved for genuinely floating layers (the method picker, environment switcher, bottom sheets) so they read as "above" the request. The response code block goes the other way — it's *darker* than the canvas, signaling "machine output" rather than "elevated UI." This inversion (data sinks, controls float) is a Postman tell.
|
|
296
|
+
|
|
297
|
+
### Motion
|
|
298
|
+
- **Send → response**: the Send button label cross-fades into a 14pt spinner (orange) for the request duration; on completion the response section slides up 220ms ease-out and the status chip pops (scale 0.9→1.0)
|
|
299
|
+
- **Method picker**: bottom sheet slides up 280ms ease-out; selecting a method animates the URL-bar pill's color with a 180ms cross-fade
|
|
300
|
+
- **Tab strip switch**: the `#FF6C37` underline slides horizontally to the new tab over 200ms ease-out; content cross-fades
|
|
301
|
+
- **JSON node collapse**: chevron rotates 90° in 150ms; children height 0→auto over 180ms ease-out
|
|
302
|
+
- **Unsaved indicator**: the `Save` action's dot fades in (120ms) when the request is modified
|
|
303
|
+
- **Pull-to-refresh (History/Collections)**: native rubber-band; an orange progress arc
|
|
304
|
+
- **Test results**: each assertion row staggers in (40ms apart), green checks / red ✕ with a soft scale-in
|
|
305
|
+
- **Haptics**: light impact on Send tap; success notification on 2xx, error notification on 4xx/5xx; selection tick on method change and tab switch
|
|
306
|
+
|
|
307
|
+
## 7. Do's and Don'ts
|
|
308
|
+
|
|
309
|
+
### Do
|
|
310
|
+
- Use the neutral grey canvas `#1A1A1A` (dark) / `#FFFFFF` (light) — a console, not a branded surface
|
|
311
|
+
- Make the request builder the home screen — method pill + monospace URL + orange Send
|
|
312
|
+
- Apply the HTTP-method color system consistently (GET green / POST yellow / PUT blue / PATCH purple / DELETE red) everywhere a method appears
|
|
313
|
+
- Reserve Postman Orange `#FF6C37` strictly for actions (Send / active tab / primary CTAs)
|
|
314
|
+
- Set every URL, header, param, JSON, status code, and timing in JetBrains Mono
|
|
315
|
+
- Color JSON by syntax role (key blue / string green / number purple / punctuation dim)
|
|
316
|
+
- Use status-code chips (2xx green / 3xx blue / 4xx yellow / 5xx red) as pills
|
|
317
|
+
- Put the response JSON on a darker `#161616` surface so it reads as machine output
|
|
318
|
+
- Show the active environment as a pill and render `{{variables}}` in orange
|
|
319
|
+
- Soften method hues on dark vs light but keep their hue identity
|
|
320
|
+
|
|
321
|
+
### Don't
|
|
322
|
+
- Don't use orange decoratively — it means "do the thing," nothing else
|
|
323
|
+
- Don't introduce a second brand accent — method colors carry semantics, orange carries action
|
|
324
|
+
- Don't set URLs/headers/JSON in the proportional sans — machine data is always Mono
|
|
325
|
+
- Don't change a method's hue between screens — GET is always the same green everywhere
|
|
326
|
+
- Don't bold JSON for emphasis — syntax meaning is hue, not weight
|
|
327
|
+
- Don't use a pure-black or charcoal-blue canvas — Postman dark is neutral grey `#1A1A1A`
|
|
328
|
+
- Don't elevate the response code block — data sinks (darker), controls float (lighter)
|
|
329
|
+
- Don't uppercase body or data — only tiny section eyebrows
|
|
330
|
+
- Don't drop the timing/size meta after a send — `ms` + size is the developer's verdict
|
|
331
|
+
- Don't animate aggressively — motion is functional (slide/cross-fade, 150–280ms)
|
|
332
|
+
|
|
333
|
+
## 8. Responsive Behavior
|
|
334
|
+
|
|
335
|
+
### Device Sizes
|
|
336
|
+
| Device | Width | Key Changes |
|
|
337
|
+
|--------|-------|-------------|
|
|
338
|
+
| iPhone SE (3rd gen) | 375pt | URL truncates earlier; response pane shorter; key cell ~40% |
|
|
339
|
+
| iPhone 13/14/15 | 390pt | Standard single-column builder/response split |
|
|
340
|
+
| iPhone 15/16 Pro | 393pt | Dynamic Island accommodated in the compact top bar |
|
|
341
|
+
| iPhone 15/16 Pro Max | 430pt | More URL visible inline; taller response pane |
|
|
342
|
+
| iPad (portrait) | 768pt | Optional collection sidebar (~300pt) + detail |
|
|
343
|
+
| iPad (landscape) | 1024pt+ | 3-pane: collections, request builder, response side-by-side |
|
|
344
|
+
|
|
345
|
+
### Dynamic Type
|
|
346
|
+
- Display, Title, Section, Body, Label, Meta: full scale
|
|
347
|
+
- Method pills, status chips, tab labels, JSON body, ≤12pt mono: FIXED (column-alignment-sensitive)
|
|
348
|
+
- URL/header Mono: scales up but stays monospace; columns stay aligned
|
|
349
|
+
|
|
350
|
+
### Orientation
|
|
351
|
+
- All screens rotate
|
|
352
|
+
- iPhone landscape widens the URL bar and shows builder + response side-by-side
|
|
353
|
+
- iPad landscape adds the 3-pane console layout
|
|
354
|
+
|
|
355
|
+
### Touch Targets
|
|
356
|
+
- Method pill: tappable, ≥40pt tall (full URL-bar height)
|
|
357
|
+
- Send button: ≥44pt tall
|
|
358
|
+
- Key-value cells: ≥40pt tall, full-cell tap to edit
|
|
359
|
+
- Tab strip items: ≥44pt hit, 13pt label
|
|
360
|
+
- Tab bar icons: 21pt glyph, 44pt hit
|
|
361
|
+
|
|
362
|
+
### Safe Area Handling
|
|
363
|
+
- Top: compact top bar respects safe area + Dynamic Island
|
|
364
|
+
- Bottom: tab bar + home indicator respected; blurred bar floats over content
|
|
365
|
+
- Keyboard: the active key-value editor and URL field scroll above the keyboard; the response pane collapses to make room
|
|
366
|
+
- Sides: 14pt content inset on iPhone, paned layout on iPad
|
|
367
|
+
|
|
368
|
+
## 9. Agent Prompt Guide
|
|
369
|
+
|
|
370
|
+
### Quick Color Reference
|
|
371
|
+
- Canvas (dark): `#1A1A1A` (neutral grey) / light `#FFFFFF`
|
|
372
|
+
- Surface 1 (card/URL bar): `#212121`
|
|
373
|
+
- Code surface (JSON body): `#161616`
|
|
374
|
+
- Divider / border: `#3A3A3A` / `#444444`
|
|
375
|
+
- Text primary: `#E8E8E8` dark / `#212121` light
|
|
376
|
+
- Text secondary: `#A6A6A6`
|
|
377
|
+
- Brand orange (Send / active / CTA): `#FF6C37`
|
|
378
|
+
- GET: `#6BDD9A` · POST: `#FFE47A` · PUT: `#74AEF6` · PATCH: `#C0A8E1` · DELETE: `#F79090`
|
|
379
|
+
- Status 2xx: `#6BDD9A` · 3xx: `#74AEF6` · 4xx: `#FFE47A` · 5xx: `#F79090`
|
|
380
|
+
- JSON key `#74AEF6` · string `#6BDD9A` · number `#C0A8E1` · punctuation `#6E6E6E`
|
|
381
|
+
|
|
382
|
+
### Example Component Prompts
|
|
383
|
+
- "Build the Postman URL/request bar in SwiftUI: a single rounded container (`#212121` fill, 1pt `#444444` border, 10pt radius). Left segment: the HTTP method in JetBrains Mono 13pt w700 colored by method (GET `#6BDD9A`, POST `#FFE47A`, PUT `#74AEF6`, PATCH `#C0A8E1`, DELETE `#F79090`) with a 1pt right divider and 12pt padding — tappable to open the method picker. Middle: the URL in JetBrains Mono 12pt `#E8E8E8`, single-line, horizontal scroll. Right segment: a full-height `#FF6C37` Send button, white Inter 13pt w700."
|
|
384
|
+
|
|
385
|
+
- "Create a Postman HTTP method chip: JetBrains Mono 13pt w700, text in the method's hue, background that hue at 12% alpha, 6pt corner radius, 6pt vertical / 12pt horizontal padding. GET=`#6BDD9A`, POST=`#FFE47A`, PUT=`#74AEF6`, PATCH=`#C0A8E1`, DELETE=`#F79090`, OPTIONS/HEAD=`#A6A6A6`. This color is consistent everywhere the method appears."
|
|
386
|
+
|
|
387
|
+
- "Render the Postman response viewer: a header row with a status-code pill (JetBrains Mono 12pt w700; 2xx text/border `#6BDD9A`, 4xx `#FFE47A`, 5xx `#F79090`; 999pt radius, class color at 8% fill + 40% border), then timing `182 ms` and size `1.2 KB` in JetBrains Mono `#A6A6A6`. Below: the JSON body on a `#161616` block, 1pt `#3A3A3A`, 8pt radius, JetBrains Mono 12pt with syntax colors — keys `#74AEF6`, strings `#6BDD9A`, numbers/booleans `#C0A8E1`, punctuation `#6E6E6E`."
|
|
388
|
+
|
|
389
|
+
- "Build the Postman key-value editor row: two cells side-by-side. Key cell flex 38%, JetBrains Mono 12pt `#74AEF6`. Value cell flex 1, JetBrains Mono 12pt `#E8E8E8`. Each cell `#212121` fill, 1pt `#3A3A3A` border, 6pt radius, 9pt vertical / 10pt horizontal padding, 8pt gap between cells. Leading enable checkbox, swipe-to-delete."
|
|
390
|
+
|
|
391
|
+
- "Create the Postman primary Send button: `#FF6C37` background, white Inter 14pt w700, 8pt corner radius, 12pt vertical / 22pt horizontal padding. Pressed: `#E55A2B` + scale 0.98. On tap, cross-fade the label into a 14pt white spinner for the request duration. Orange is reserved for actions only — never decorative."
|
|
392
|
+
|
|
393
|
+
- "Render the Postman request editor tab strip: a horizontal scroll row of Params / Headers / Body / Auth / Pre-request / Tests in Inter 13pt. Active tab: w600 `#E8E8E8` with a 2pt `#FF6C37` underline that slides to the selected tab over 200ms. Inactive: w500 `#A6A6A6`. A small dot on a tab signals it has content."
|
|
394
|
+
|
|
395
|
+
### Iteration Guide
|
|
396
|
+
1. Canvas is neutral grey `#1A1A1A` (dark) / `#FFFFFF` (light) — a developer console, not a branded surface
|
|
397
|
+
2. The request builder is the home screen — method pill + monospace URL + orange Send button
|
|
398
|
+
3. The HTTP-method color system (GET green / POST yellow / PUT blue / PATCH purple / DELETE red) is the semantic core — consistent everywhere, read before text
|
|
399
|
+
4. Postman Orange `#FF6C37` is the ONLY brand accent and is reserved for actions (Send / active tab / primary CTAs) — never decorative
|
|
400
|
+
5. Every URL, header, param, JSON, status code, and timing is JetBrains Mono; chrome is Inter
|
|
401
|
+
6. JSON is colored by syntax role (key blue / string green / number purple / punctuation dim), never bolded
|
|
402
|
+
7. Status-code chips are pills: 2xx green, 3xx blue, 4xx yellow, 5xx red
|
|
403
|
+
8. The response JSON sits on a darker `#161616` block — data sinks, controls float (the depth inversion is a Postman tell)
|
|
404
|
+
9. Show the active environment as a pill; render `{{variables}}` in orange to signal interpolation
|
|
405
|
+
10. Method hues soften on dark vs the saturated light versions, but hue identity never changes
|