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,374 @@
|
|
|
1
|
+
# Design System Inspiration of Dropbox (iOS)
|
|
2
|
+
|
|
3
|
+
## 1. Visual Theme & Atmosphere
|
|
4
|
+
|
|
5
|
+
Dropbox's iOS app is a calm, paper-white workspace built around one idea: your files should feel as legible and stress-free as a tidy desk. The canvas is a true white (`#FFFFFF`) with a faint warm-cream surface (`#F7F5F2`) reserved for grouped sections and recents shelves. There is almost no chrome — no gradients, no glass, no decorative texture. The app gets out of the way so the content (a folder of photos, a shared PDF, a scanned receipt) is the only thing with weight. This restraint is deliberate brand strategy: Dropbox sells trust and focus, and the UI reads like a well-lit filing room rather than a feed.
|
|
6
|
+
|
|
7
|
+
The accent system is monastic. Dropbox Blue (`#0061FF`) — the exact hue of the open-box logomark — is the single brand color, and it is rationed. It appears on the primary action ("Share", "Upload", the floating create button), on the active bottom-tab item, on selected checkboxes, and on links. Everything else is ink, gray, or the warm divider line (`#E6E1DA`). File-type icons carry their own product colors (PDF red, Doc blue, image teal) but those are illustration, not UI accent. The result: when blue appears, it always means "this is the thing to tap."
|
|
8
|
+
|
|
9
|
+
Typography is Sharp Grotesk (Dropbox's brand typeface as of the 2017+ rebrand), rendered here with Inter as the closest free substitute. It is a clean, slightly condensed grotesque — confident but never loud. The hierarchy is tight and utilitarian: 11–28pt with weights at 400 / 600 / 700. There are no oversized hero headlines because a file browser does not need them; the largest type is the screen title at 28pt bold, and most of the screen is 15–17pt file names in a dense, scannable list. The most expressive type moment is the empty state ("No files yet — tap + to add one") rendered in friendly 17pt regular with a simple line illustration above it.
|
|
10
|
+
|
|
11
|
+
**Key Characteristics:**
|
|
12
|
+
- Paper-white canvas (`#FFFFFF`) with a warm-cream grouped surface (`#F7F5F2`)
|
|
13
|
+
- Dropbox Blue (`#0061FF`) as the only accent — primary actions, active tab, links, selection
|
|
14
|
+
- File/folder list rows with colored type icons — the signature browsing pattern
|
|
15
|
+
- Open-box blue logomark — flat, geometric, never gradient
|
|
16
|
+
- Preview thumbnail grid for the Photos tab — square tiles, tight 2pt gutters
|
|
17
|
+
- Floating circular blue Upload/Create FAB anchored bottom-right above the tab bar
|
|
18
|
+
- Recent files shelf — horizontally scrolling cards above the folder list
|
|
19
|
+
- Sharp Grotesk typeface (Inter fallback), weights 400/600/700, condensed grotesque
|
|
20
|
+
- Determinate blue upload progress bar — the only persistent motion in the app
|
|
21
|
+
|
|
22
|
+
## 2. Color Palette & Roles
|
|
23
|
+
|
|
24
|
+
### Primary
|
|
25
|
+
- **Dropbox Blue** (`#0061FF`): Primary CTA, "Share"/"Upload" buttons, upload FAB, active bottom-tab item, selected checkbox fill, hyperlinks.
|
|
26
|
+
- **Blue Pressed** (`#0050D0`): Active/pressed state for blue CTAs and the FAB.
|
|
27
|
+
- **Blue Tint** (`#E6F0FF`): Selected-row background, focused-input ring, subtle blue chips.
|
|
28
|
+
|
|
29
|
+
### Canvas & Surfaces (Light)
|
|
30
|
+
- **Canvas White** (`#FFFFFF`): Primary canvas — file list background, sheets, nav bar.
|
|
31
|
+
- **Surface Cream** (`#F7F5F2`): Grouped section background, recents shelf, settings groups.
|
|
32
|
+
- **Surface Raised** (`#FFFFFF` + shadow): Cards and modals lift via shadow, not fill.
|
|
33
|
+
- **Divider** (`#E6E1DA`): Warm hairline between file rows and section groups.
|
|
34
|
+
- **Text Primary** (`#1E1919`): File names, screen titles, primary UI text (warm near-black).
|
|
35
|
+
- **Text Secondary** (`#6F6A65`): File metadata (size, modified date), subtitles, placeholders.
|
|
36
|
+
- **Text Tertiary** (`#A39E98`): Disabled labels, very low-emphasis captions.
|
|
37
|
+
|
|
38
|
+
### Canvas & Surfaces (Dark)
|
|
39
|
+
- **Dark Canvas** (`#1E1919`): Primary dark canvas — warm charcoal, not pure black.
|
|
40
|
+
- **Dark Surface** (`#2A2424`): Grouped sections, recents shelf, raised cards.
|
|
41
|
+
- **Dark Divider** (`#3A3331`): Hairline between rows on dark.
|
|
42
|
+
- **Dark Text Primary** (`#FFFFFF`): File names and titles on dark.
|
|
43
|
+
- **Dark Text Secondary** (`#A39E98`): Metadata and subtitles on dark.
|
|
44
|
+
- **Dark Blue** (`#3D8BFF`): Blue accent lightened for AA contrast on the dark canvas.
|
|
45
|
+
|
|
46
|
+
### File-Type Icon Colors
|
|
47
|
+
- **PDF Red** (`#FA551E`): PDF document tiles and row icons.
|
|
48
|
+
- **Doc Blue** (`#0061FF`): Word / Paper document icons.
|
|
49
|
+
- **Sheet Green** (`#1A8754`): Spreadsheet icons.
|
|
50
|
+
- **Image Teal** (`#00B2A9`): Image and photo file icons.
|
|
51
|
+
- **Folder Slate** (`#8C97A8`): Generic folder glyph fill.
|
|
52
|
+
|
|
53
|
+
### Semantic
|
|
54
|
+
- **Success Green** (`#1A8754`): Upload-complete checkmark, "Synced" state.
|
|
55
|
+
- **Warning Amber** (`#FFAF00`): "Offline — will sync" banner.
|
|
56
|
+
- **Error Red** (`#D1180B`): Failed upload, storage-full, sign-in error.
|
|
57
|
+
|
|
58
|
+
## 3. Typography Rules
|
|
59
|
+
|
|
60
|
+
### Font Family
|
|
61
|
+
- **Primary (2017+)**: `Sharp Grotesk` (Dropbox brand typeface, by Sharp Type)
|
|
62
|
+
- **Substitute / Fallback**: `Inter` — closest free condensed-grotesque match
|
|
63
|
+
- **Fallback Stack**: `-apple-system, BlinkMacSystemFont, 'SF Pro Text', 'Segoe UI', Roboto, Helvetica, Arial, sans-serif`
|
|
64
|
+
- **Numerics**: Tabular figures for file sizes and dates so columns align
|
|
65
|
+
|
|
66
|
+
### Hierarchy
|
|
67
|
+
|
|
68
|
+
| Role | Font | Size | Weight | Line Height | Letter Spacing | Notes |
|
|
69
|
+
|------|------|------|--------|-------------|----------------|-------|
|
|
70
|
+
| Screen Title (Large) | Sharp Grotesk | 28pt | 700 | 1.15 | -0.4pt | "Home", "Files", large nav title |
|
|
71
|
+
| Section Header | Sharp Grotesk | 22pt | 700 | 1.2 | -0.3pt | "Recents", "Suggested", "Starred" |
|
|
72
|
+
| Sheet Title | Sharp Grotesk | 20pt | 700 | 1.2 | -0.2pt | Share sheet, upload sheet header |
|
|
73
|
+
| Folder / Card Title | Sharp Grotesk | 17pt | 600 | 1.3 | -0.1pt | Folder tile name, recent-file card |
|
|
74
|
+
| File Row Name | Sharp Grotesk | 16pt | 600 | 1.25 | -0.1pt | Primary text in a file list row |
|
|
75
|
+
| Body | Sharp Grotesk | 15pt | 400 | 1.45 | 0pt | Descriptions, empty-state copy |
|
|
76
|
+
| Metadata | Sharp Grotesk | 14pt | 400 | 1.3 | 0pt | "2.4 MB · Modified Apr 12" |
|
|
77
|
+
| Tab Label | Sharp Grotesk | 11pt | 600 | 1.0 | 0.2pt | Bottom tab bar labels |
|
|
78
|
+
| Caption / Count | Sharp Grotesk | 12pt | 400 | 1.3 | 0pt | "12 items", "3 people" |
|
|
79
|
+
| Label (UPPER) | Sharp Grotesk | 11pt | 700 | 1.2 | 0.6pt | "SHARED WITH YOU" group labels |
|
|
80
|
+
| Button (Primary) | Sharp Grotesk | 16pt | 600 | 1.0 | 0pt | Blue "Share" / "Upload" buttons |
|
|
81
|
+
| Button (Secondary) | Sharp Grotesk | 15pt | 600 | 1.0 | 0pt | Outline / text buttons |
|
|
82
|
+
| Link | Sharp Grotesk | 15pt | 600 | 1.4 | 0pt | Inline blue links, "Manage access" |
|
|
83
|
+
|
|
84
|
+
### Principles
|
|
85
|
+
- **Weights concentrated at 400 / 600 / 700**: Regular for body/metadata, semibold for names, bold for titles — no light, no black
|
|
86
|
+
- **Tabular numerals everywhere data aligns**: file sizes, dates, item counts use fixed-width figures
|
|
87
|
+
- **Negative tracking on titles only**: -0.4pt max at 28pt; body and metadata sit at 0pt
|
|
88
|
+
- **Dynamic Type respected**: file names, metadata, and body scale; tab labels and progress timers are pinned
|
|
89
|
+
- **Blue text means link or action**; never use blue for decoration or non-interactive emphasis
|
|
90
|
+
|
|
91
|
+
## 4. Component Stylings
|
|
92
|
+
|
|
93
|
+
### Buttons
|
|
94
|
+
|
|
95
|
+
**Primary Button (Share / Upload / Done)**
|
|
96
|
+
- Background: `#0061FF`
|
|
97
|
+
- Text: `#FFFFFF`
|
|
98
|
+
- Padding: 14pt vertical, 24pt horizontal
|
|
99
|
+
- Corner radius: 8pt
|
|
100
|
+
- Font: Sharp Grotesk, 16pt, weight 600
|
|
101
|
+
- Pressed: background `#0050D0`, scale 0.98, soft haptic
|
|
102
|
+
- Disabled: background `#0061FF` at 40% opacity, text `#FFFFFF`
|
|
103
|
+
|
|
104
|
+
**Secondary / Outline Button (Cancel / Manage)**
|
|
105
|
+
- Background: transparent
|
|
106
|
+
- Text: `#1E1919`
|
|
107
|
+
- Border: 1pt solid `#E6E1DA`
|
|
108
|
+
- Padding: 14pt vertical, 24pt horizontal
|
|
109
|
+
- Corner radius: 8pt
|
|
110
|
+
- Font: Sharp Grotesk, 15pt, weight 600
|
|
111
|
+
- Pressed: background `#F7F5F2`
|
|
112
|
+
|
|
113
|
+
**Upload / Create FAB (The Floating Blue Plus)**
|
|
114
|
+
- Shape: Circle, diameter 56pt
|
|
115
|
+
- Position: anchored bottom-right, 16pt inset, floating 16pt above the tab bar
|
|
116
|
+
- Background: `#0061FF`
|
|
117
|
+
- Icon: SF Symbol `plus`, 24pt, `#FFFFFF`
|
|
118
|
+
- Shadow: `rgba(0,97,255,0.32) 0 8px 20px`
|
|
119
|
+
- Pressed: scale 0.92, background `#0050D0`, with haptic; expands into an action sheet (Upload, Scan, Create Folder, Paper)
|
|
120
|
+
|
|
121
|
+
**Text Button ("Select" / "Manage access")**
|
|
122
|
+
- Font: Sharp Grotesk, 15pt, weight 600
|
|
123
|
+
- Color: `#0061FF`
|
|
124
|
+
- No background, no underline, 44pt hit area
|
|
125
|
+
|
|
126
|
+
**Icon Action (Star, Share, Download, More)**
|
|
127
|
+
- Size: 22pt glyph, 44pt hit area
|
|
128
|
+
- Default: `#6F6A65`
|
|
129
|
+
- Active: `#0061FF` (starred, shared, downloaded)
|
|
130
|
+
- Spacing: 20pt between icons in a row action bar
|
|
131
|
+
|
|
132
|
+
### Cards & Containers
|
|
133
|
+
|
|
134
|
+
**File / Folder Row**
|
|
135
|
+
- Height: 60pt
|
|
136
|
+
- Layout: 40pt × 40pt type icon (leading) → stacked name + metadata → trailing 20pt ellipsis (⋯)
|
|
137
|
+
- Background: `#FFFFFF`
|
|
138
|
+
- Pressed: background `#F7F5F2`
|
|
139
|
+
- Selected: background `#E6F0FF`, leading icon replaced by a `#0061FF` filled checkbox
|
|
140
|
+
- Name: Sharp Grotesk 16pt w600 `#1E1919`; Metadata: 14pt w400 `#6F6A65` ("2.4 MB · Apr 12")
|
|
141
|
+
- Folder rows show a `#8C97A8` folder glyph and a trailing chevron instead of ellipsis
|
|
142
|
+
|
|
143
|
+
**Recent File Card (Horizontal shelf)**
|
|
144
|
+
- Width: 140pt, height: 160pt
|
|
145
|
+
- Top: 140pt × 96pt preview thumbnail (4pt radius) or a centered type icon on `#F7F5F2`
|
|
146
|
+
- Below: file name (17pt w600, 2-line clamp) + metadata (12pt w400 `#6F6A65`)
|
|
147
|
+
- Corner radius: 12pt on the card, 1pt border `#E6E1DA`
|
|
148
|
+
- Gap between cards: 12pt
|
|
149
|
+
- Tap: scale 0.97 with subtle haptic
|
|
150
|
+
|
|
151
|
+
**Photo Grid Tile**
|
|
152
|
+
- Square, 3-column grid, 2pt gutter, edge-to-edge
|
|
153
|
+
- Corner radius: 0pt (tiles touch — a contact-sheet feel)
|
|
154
|
+
- Selected: 4pt `#0061FF` inset border + a top-right `#0061FF` checkmark badge
|
|
155
|
+
- Long-press enters multi-select with a count chip in the nav bar
|
|
156
|
+
|
|
157
|
+
**Share Sheet**
|
|
158
|
+
- Bottom sheet, corner radius 16pt top corners, 16pt grabber
|
|
159
|
+
- Background: `#FFFFFF`
|
|
160
|
+
- Header: file thumbnail + name + "X people have access"
|
|
161
|
+
- Access rows: avatar + name + a permission dropdown ("Can edit" / "Can view")
|
|
162
|
+
- Footer: full-width `#0061FF` "Copy link" primary button
|
|
163
|
+
|
|
164
|
+
**Section Group (Settings / Account)**
|
|
165
|
+
- Background: `#F7F5F2` container with `#FFFFFF` rows
|
|
166
|
+
- Group header label: 11pt w700 uppercase `#6F6A65`, 0.6pt tracking
|
|
167
|
+
- Rows: 52pt tall, 1pt `#E6E1DA` divider inset to align with text
|
|
168
|
+
|
|
169
|
+
### Navigation
|
|
170
|
+
|
|
171
|
+
**Bottom Tab Bar**
|
|
172
|
+
- Height: 56pt + safe area
|
|
173
|
+
- Background: `rgba(255,255,255,0.94)` with `.regularMaterial` blur, 0.5pt top divider `#E6E1DA`
|
|
174
|
+
- Tabs: Home, Files, Photos, Offline, Account
|
|
175
|
+
- Icon size: 24pt
|
|
176
|
+
- Active color: `#0061FF` (icon + label)
|
|
177
|
+
- Inactive: `#6F6A65`
|
|
178
|
+
- Labels: Sharp Grotesk 11pt w600, always shown
|
|
179
|
+
- Active icon: filled SF Symbol variant; inactive: outlined
|
|
180
|
+
|
|
181
|
+
**Top Nav**
|
|
182
|
+
- Height: 44pt + safe area
|
|
183
|
+
- Large title (28pt w700 `#1E1919`) collapsing to inline 17pt on scroll
|
|
184
|
+
- Trailing: search icon (22pt) + select/overflow icon (22pt), both `#6F6A65`
|
|
185
|
+
- Translucent white blur on scroll, 0.5pt bottom divider
|
|
186
|
+
|
|
187
|
+
**Search Field (in Search screen)**
|
|
188
|
+
- Background: `#F7F5F2`
|
|
189
|
+
- Height: 44pt
|
|
190
|
+
- Corner radius: 10pt
|
|
191
|
+
- Leading SF Symbol `magnifyingglass`, 18pt, `#6F6A65`
|
|
192
|
+
- Placeholder: "Search files and folders", 16pt w400 `#6F6A65`
|
|
193
|
+
- Focused: 2pt `#0061FF` ring, background `#FFFFFF`
|
|
194
|
+
|
|
195
|
+
### Input Fields
|
|
196
|
+
|
|
197
|
+
**Text Field (Rename / Folder name)**
|
|
198
|
+
- Background: `#FFFFFF`
|
|
199
|
+
- Border: 1pt solid `#E6E1DA`, corner radius 8pt
|
|
200
|
+
- Height: 48pt, 14pt horizontal padding
|
|
201
|
+
- Label above in 14pt w600 `#1E1919`
|
|
202
|
+
- Focused: border `#0061FF` 2pt, subtle `#E6F0FF` glow
|
|
203
|
+
- Error: border `#D1180B`, helper text `#D1180B` 13pt
|
|
204
|
+
|
|
205
|
+
**Permission Dropdown**
|
|
206
|
+
- Pill, background `#F7F5F2`, text `#1E1919` 14pt w600
|
|
207
|
+
- Trailing chevron `#6F6A65`
|
|
208
|
+
- Tap opens a menu: "Can edit", "Can view", "Remove"
|
|
209
|
+
|
|
210
|
+
### Distinctive Components
|
|
211
|
+
|
|
212
|
+
**File-Type Row List**
|
|
213
|
+
- The core browsing surface: a flat vertical list where each row leads with a colored, glyph-bearing type icon (PDF red, Doc blue, Sheet green, Image teal, Folder slate)
|
|
214
|
+
- Icons are simple filled rectangles with a folded corner and a 1-letter or glyph label — no skeuomorphism
|
|
215
|
+
- Rows are 60pt, ultra-scannable, with tabular metadata so size/date columns align vertically
|
|
216
|
+
|
|
217
|
+
**Upload Progress Bar**
|
|
218
|
+
- A 3pt determinate bar pinned to the bottom of the active list (above the tab bar) during upload
|
|
219
|
+
- Track `#E6E1DA`, fill `#0061FF`, animates left→right by real byte progress (no indeterminate shimmer)
|
|
220
|
+
- Accompanied by a 14pt w600 label: "Uploading 3 of 8 · 4.2 MB"
|
|
221
|
+
- On completion: bar fills, flashes a `#1A8754` check, then fades after 1.5s
|
|
222
|
+
|
|
223
|
+
**Preview Thumbnail Grid (Photos tab)**
|
|
224
|
+
- A dense, edge-to-edge square grid (3 columns, 2pt gutter) that turns the camera roll into a contact sheet
|
|
225
|
+
- Scroll is virtualized; thumbnails fade in as they decode (200ms opacity)
|
|
226
|
+
- Pinch to switch between 3-col and 5-col density
|
|
227
|
+
|
|
228
|
+
**Share Link Banner**
|
|
229
|
+
- After "Copy link", a `#E6F0FF` banner slides down: "Link copied · Anyone with the link can view" + a "Change" link
|
|
230
|
+
- Auto-dismisses after 3s or on tap
|
|
231
|
+
|
|
232
|
+
## 5. Layout Principles
|
|
233
|
+
|
|
234
|
+
### Spacing System
|
|
235
|
+
- Base unit: 4pt
|
|
236
|
+
- Scale: 4, 8, 12, 16, 20, 24, 32, 40, 56
|
|
237
|
+
- Standard margin: 16pt horizontal
|
|
238
|
+
- Section spacing: 24pt between the recents shelf and the file list
|
|
239
|
+
- Row internal padding: 12pt vertical, 16pt horizontal
|
|
240
|
+
|
|
241
|
+
### Grid & Container
|
|
242
|
+
- Content width: full device width, 16pt horizontal margins
|
|
243
|
+
- Recents shelf: begins at 16pt left inset, 12pt card gaps, peeks the next card
|
|
244
|
+
- Photo grid: 3-column edge-to-edge, 2pt gutter, no outer margin
|
|
245
|
+
- Folder grid view (optional): 2-column, 12pt gap, 8pt card radius
|
|
246
|
+
|
|
247
|
+
### Whitespace Philosophy
|
|
248
|
+
- **Dense but breathable lists**: 60pt rows are tall enough to tap comfortably while still showing ~10 files per screen — this is a browse-and-find app
|
|
249
|
+
- **Generous empty states**: when a folder is empty, the illustration + copy is vertically centered with ~120pt of air above
|
|
250
|
+
- **Content over chrome**: thumbnails and previews get full edge-to-edge width; UI furniture stays thin
|
|
251
|
+
|
|
252
|
+
### Border Radius Scale
|
|
253
|
+
- Square (0pt): Photo grid tiles (intentional contact-sheet edges)
|
|
254
|
+
- Soft (4pt): Preview thumbnails inside cards
|
|
255
|
+
- Standard (8pt): Buttons, text fields, file-type icons
|
|
256
|
+
- Comfortable (12pt): Recent-file cards, content cards
|
|
257
|
+
- Sheet (16pt): Bottom sheets, modals (top corners)
|
|
258
|
+
- Full Pill (500pt): Permission chips, filter chips
|
|
259
|
+
- Circle (50%): Upload FAB, avatars, checkbox
|
|
260
|
+
|
|
261
|
+
## 6. Depth & Elevation
|
|
262
|
+
|
|
263
|
+
| Level | Treatment | Use |
|
|
264
|
+
|-------|-----------|-----|
|
|
265
|
+
| Flat (Level 0) | No shadow | File rows, list canvas, section groups |
|
|
266
|
+
| Card (Level 1) | `rgba(30,25,25,0.06) 0 1px 3px` | Recent-file cards, content cards |
|
|
267
|
+
| Raised (Level 2) | `rgba(30,25,25,0.10) 0 4px 12px` | Search bar on scroll, sticky headers |
|
|
268
|
+
| FAB (Level 3) | `rgba(0,97,255,0.32) 0 8px 20px` | Floating Upload/Create button |
|
|
269
|
+
| Sheet (Level 4) | `rgba(30,25,25,0.16) 0 -12px 32px` | Share sheet, action sheets, modals |
|
|
270
|
+
| Scrim | `rgba(30,25,25,0.40)` | Behind modal sheets and the FAB action menu |
|
|
271
|
+
|
|
272
|
+
**Shadow Philosophy**: Shadows are soft, low-opacity, and warm-tinted (built from the `#1E1919` ink, not pure black) so they sit naturally on the cream-white canvas. Elevation is used sparingly — only the FAB and active sheets really lift. The FAB is the single exception with a colored blue shadow that signals "primary, floating, always reachable." Everything else stays flat to keep the file list calm and scannable.
|
|
273
|
+
|
|
274
|
+
### Motion
|
|
275
|
+
- **FAB tap**: scale 0.92 → 1.0 spring (damping 0.7), `.impactOccurred(.soft)` haptic, then a 0.25s action-sheet rise
|
|
276
|
+
- **Upload progress**: determinate fill animating to real byte ratio, 60fps, no easing tricks — honesty over flourish
|
|
277
|
+
- **Row press**: instant `#F7F5F2` background, no scale
|
|
278
|
+
- **Pull-to-refresh**: minimal blue spinner, 0.4s
|
|
279
|
+
- **Thumbnail decode**: 200ms opacity fade-in as each tile loads
|
|
280
|
+
- **Sheet present**: 0.3s spring rise with a `rgba(30,25,25,0.40)` scrim fade
|
|
281
|
+
- **Star toggle**: subtle scale bounce 1.0 → 1.12 → 1.0 over 240ms, fill flips to `#0061FF`
|
|
282
|
+
|
|
283
|
+
## 7. Do's and Don'ts
|
|
284
|
+
|
|
285
|
+
### Do
|
|
286
|
+
- Use a true white canvas (`#FFFFFF`) with the warm cream surface (`#F7F5F2`) for grouped sections
|
|
287
|
+
- Reserve Dropbox Blue (`#0061FF`) for primary actions, the active tab, links, and selection — nothing else
|
|
288
|
+
- Lead every file row with a colored type icon — it is the core wayfinding signal
|
|
289
|
+
- Use tabular numerals for file sizes, dates, and counts so columns align
|
|
290
|
+
- Keep the Upload FAB circular, blue, bottom-right, floating above the tab bar
|
|
291
|
+
- Show a determinate (real-progress) upload bar — never a fake indeterminate spinner for uploads
|
|
292
|
+
- Use warm ink (`#1E1919`) for text and warm dividers (`#E6E1DA`) — not pure black or cold gray
|
|
293
|
+
- Render the Photos grid edge-to-edge with 0pt tile radius for the contact-sheet feel
|
|
294
|
+
- Use Sharp Grotesk (Inter fallback) at weights 400/600/700 only
|
|
295
|
+
|
|
296
|
+
### Don't
|
|
297
|
+
- Don't use pure black `#000000` for text or dividers — the system is warm; use `#1E1919` / `#E6E1DA`
|
|
298
|
+
- Don't add accent colors beyond blue to UI chrome — type-icon colors are illustration, not UI accent
|
|
299
|
+
- Don't apply gradients or glass to the logomark or the canvas — Dropbox is flat and matte
|
|
300
|
+
- Don't round the photo grid tiles — the square edges are intentional
|
|
301
|
+
- Don't use an indeterminate spinner for file uploads — uploads must show real byte progress
|
|
302
|
+
- Don't over-elevate — only the FAB and active sheets lift; lists stay flat
|
|
303
|
+
- Don't use light or black font weights — Sharp Grotesk runs 400/600/700 here
|
|
304
|
+
- Don't hide the upload progress bar while a transfer is active
|
|
305
|
+
- Don't use blue text for non-interactive emphasis — blue means link or action
|
|
306
|
+
|
|
307
|
+
## 8. Responsive Behavior
|
|
308
|
+
|
|
309
|
+
### Device Sizes
|
|
310
|
+
| Device | Width | Key Changes |
|
|
311
|
+
|--------|-------|-------------|
|
|
312
|
+
| iPhone SE (3rd gen) | 375pt | 2-col photo grid option; recents cards shrink to 128pt |
|
|
313
|
+
| iPhone 13/14/15 | 390pt | Standard 140pt recents cards, 3-col photo grid |
|
|
314
|
+
| iPhone 15/16 Pro | 393pt | Dynamic Island accommodated in the large title nav |
|
|
315
|
+
| iPhone 15/16 Pro Max | 430pt | 4-col photo grid option, 156pt recents cards |
|
|
316
|
+
| iPad | 768pt+ | Two-pane: folder sidebar + file list; 5–6 col photo grid |
|
|
317
|
+
|
|
318
|
+
### Dynamic Type
|
|
319
|
+
- File names, metadata, body, empty-state copy: full scale
|
|
320
|
+
- Tab labels: fixed 11pt (layout-sensitive)
|
|
321
|
+
- Upload progress label: scales; the bar height stays 3pt
|
|
322
|
+
- Large title scales up to 34pt before collapsing to inline
|
|
323
|
+
|
|
324
|
+
### Orientation
|
|
325
|
+
- Home / Files / Photos: **portrait-primary**, landscape supported (grid recolumns)
|
|
326
|
+
- File preview (PDF / image): **rotates freely** — full-screen viewer
|
|
327
|
+
- iPad: **all orientations**, two-pane layout persists
|
|
328
|
+
|
|
329
|
+
### Touch Targets
|
|
330
|
+
- File rows: 60pt height, full-row tappable
|
|
331
|
+
- Upload FAB: 56pt — always reachable bottom-right
|
|
332
|
+
- Ellipsis / overflow: 44pt hit area
|
|
333
|
+
- Tab bar icons: 24pt glyph, 44pt effective hit
|
|
334
|
+
- Photo tiles: full tile tappable; long-press to multi-select
|
|
335
|
+
|
|
336
|
+
### Safe Area Handling
|
|
337
|
+
- Top: large title respects safe area + Dynamic Island
|
|
338
|
+
- Bottom: FAB floats 16pt above the tab bar; both clear the home indicator
|
|
339
|
+
- Upload progress bar pins just above the tab bar, inside safe area
|
|
340
|
+
- Sides: 16pt content insets (photo grid goes edge-to-edge intentionally)
|
|
341
|
+
|
|
342
|
+
## 9. Agent Prompt Guide
|
|
343
|
+
|
|
344
|
+
### Quick Color Reference
|
|
345
|
+
- Canvas: `#FFFFFF`
|
|
346
|
+
- Surface (cream): `#F7F5F2`
|
|
347
|
+
- Divider (warm): `#E6E1DA`
|
|
348
|
+
- Text primary (warm ink): `#1E1919`
|
|
349
|
+
- Text secondary: `#6F6A65`
|
|
350
|
+
- Text tertiary: `#A39E98`
|
|
351
|
+
- Dropbox Blue (action): `#0061FF`
|
|
352
|
+
- Blue pressed: `#0050D0`
|
|
353
|
+
- Blue tint (selection): `#E6F0FF`
|
|
354
|
+
- Dark canvas: `#1E1919`
|
|
355
|
+
- Dark surface: `#2A2424`
|
|
356
|
+
- Success green: `#1A8754`
|
|
357
|
+
- Error red: `#D1180B`
|
|
358
|
+
|
|
359
|
+
### Example Component Prompts
|
|
360
|
+
- "Create a SwiftUI Dropbox file row: 60pt height, leading 40×40pt colored type icon (PDF red `#FA551E` rounded-corner glyph), stacked file name 'Q3 Report.pdf' in Inter 16pt weight 600 `#1E1919` and metadata '2.4 MB · Modified Apr 12' in 14pt weight 400 `#6F6A65` with tabular figures. Trailing 20pt ellipsis `#6F6A65`. Pressed background `#F7F5F2`; selected background `#E6F0FF` with a `#0061FF` filled checkbox replacing the icon."
|
|
361
|
+
- "Build the Upload FAB: 56pt circular button, `#0061FF` background, SF Symbol `plus` 24pt `#FFFFFF`, shadow `rgba(0,97,255,0.32) 0 8px 20px`, anchored bottom-right 16pt inset and 16pt above the tab bar. Pressed: scale 0.92 with soft haptic, background `#0050D0`, then present an action sheet (Upload, Scan, Create Folder)."
|
|
362
|
+
- "Design the recents shelf: section header 'Recents' in Inter 22pt weight 700 `#1E1919`. Below: horizontal scroll of 140×160pt cards (12pt radius, 1pt `#E6E1DA` border), each with a 140×96pt preview thumbnail (4pt radius) on top, file name 17pt weight 600 (2-line clamp) and '12 KB · Today' in 12pt weight 400 `#6F6A65` below. 12pt gap, peek the next card."
|
|
363
|
+
- "Create the upload progress bar: 3pt determinate bar pinned above the tab bar, track `#E6E1DA`, fill `#0061FF` driven by real byte ratio (no shimmer). Above it a 14pt weight 600 `#1E1919` label 'Uploading 3 of 8 · 4.2 MB'. On completion fill to 100%, flash a `#1A8754` checkmark, fade after 1.5s."
|
|
364
|
+
- "Build the Photos grid: edge-to-edge 3-column square tiles, 2pt gutter, 0pt corner radius (contact-sheet feel). Tiles fade in over 200ms as they decode. Long-press enters multi-select: selected tiles get a 4pt `#0061FF` inset border and a top-right `#0061FF` checkmark badge; a count chip appears in the nav bar."
|
|
365
|
+
|
|
366
|
+
### Iteration Guide
|
|
367
|
+
1. Canvas is true white `#FFFFFF`; grouped sections use warm cream `#F7F5F2` — never gray
|
|
368
|
+
2. Dropbox Blue `#0061FF` only for primary action, active tab, links, and selection
|
|
369
|
+
3. Text and dividers are warm (`#1E1919`, `#E6E1DA`) — never pure black or cold gray
|
|
370
|
+
4. Every file row leads with a colored type icon — it is the core wayfinding device
|
|
371
|
+
5. Uploads show a real determinate progress bar — honesty over decorative spinners
|
|
372
|
+
6. Typography: Sharp Grotesk (Inter fallback), weights 400/600/700, tabular numerals for data
|
|
373
|
+
7. Only the FAB and active sheets elevate — the file list stays flat and scannable
|
|
374
|
+
8. Photo grid is edge-to-edge with 0pt tile radius — keep the contact-sheet square integrity
|