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,431 @@
|
|
|
1
|
+
# Design System Inspiration of ClickUp (iOS)
|
|
2
|
+
|
|
3
|
+
## 1. Visual Theme & Atmosphere
|
|
4
|
+
|
|
5
|
+
ClickUp's iOS app is a dense, feature-maximal productivity surface whose personality is the **brand gradient** and an information-rich task list. The default canvas is white (`#FFFFFF`) in light mode and a deep blue-violet (`#1B1B2E`) in dark mode — chosen to complement the gradient, NOT neutral black. The app opens to a List view: tasks grouped under **custom status pills** ("To do", "In progress", "Review", "Complete"), where each task row packs a status checkbox, name, priority flag, tags, due date, and assignee avatar into a compact line. ClickUp's thesis is "one app to replace them all" — so the UI is deliberately dense, with 12+ view types (List, Board, Calendar, Gantt, Timeline, Workload, Table, Doc, Mind Map, Activity, Map, Embed) rendering the same task objects.
|
|
6
|
+
|
|
7
|
+
The signature visual element is the **3-stop brand gradient**: purple (`#7B68EE`) → pink (`#FD71AF`) → blue (`#49CCF9`). It is the brand's hero moment — used on the floating action button, the primary CTA, the logo, and every **ClickUp AI** surface (the AI bar, AI buttons, AI-generated content highlights). The gradient is reserved and intentional: it never tiles the background; it marks "the most important action" and "AI". The other signature is the **custom status system**: every List defines its own ordered set of colored statuses, and the task list is grouped by them — each group headed by a saturated status pill with a count.
|
|
8
|
+
|
|
9
|
+
The color system pairs the gradient triad with a functional palette: status green (`#2ECC71`), red (`#F44E6E`), orange (`#FF9F1A`), blue (`#49CCF9`), yellow (`#FFCC00`), teal (`#1ECBE1`), plus a neutral gray (`#5B5B79`) for "to do"/unset. Priority is encoded as a **colored flag triangle**: Urgent (red `#F44E6E`), High (orange `#FF9F1A`), Normal (blue `#49CCF9`), Low (gray). Tags are small rounded pills in any of the palette hues at ~22% opacity with saturated text. Color is functional and dense — it differentiates many simultaneous attributes at a glance.
|
|
10
|
+
|
|
11
|
+
Typography is **Plus Jakarta Sans** — a geometric, slightly humanist sans (a close free match to ClickUp's product face). On iOS it falls back to SF Pro. Hierarchy is confident: 32pt extrabold screen titles, 26pt extrabold list titles, 22pt section heads, 14pt semibold task names (denser/bolder than Asana's), 13pt metadata, 10pt extrabold status pills (uppercased, tracked). Headings push to 800; task names sit at a deliberate 600 so the dense list still scans.
|
|
12
|
+
|
|
13
|
+
**Key Characteristics:**
|
|
14
|
+
- White canvas (`#FFFFFF`) light / deep blue-violet (`#1B1B2E`) dark — complements the gradient, NOT neutral black
|
|
15
|
+
- 3-stop brand gradient — purple `#7B68EE` → pink `#FD71AF` → blue `#49CCF9` on FAB, primary CTA, logo, all AI surfaces
|
|
16
|
+
- Custom status pills — every List defines its own ordered colored statuses; the task list is grouped by them
|
|
17
|
+
- Dense task rows — status box + name + priority flag + tags + due + assignee packed into one compact line
|
|
18
|
+
- Priority flag — a colored triangle: Urgent (red) / High (orange) / Normal (blue) / Low (gray)
|
|
19
|
+
- ClickUp AI surfaces — the gradient marks every AI affordance (AI bar, AI buttons, AI content)
|
|
20
|
+
- 12+ view types — List / Board / Calendar / Gantt / Timeline / Workload / Table / Doc / Mind Map / Activity / Map
|
|
21
|
+
- Tags as ~22% tinted pills with saturated text in any palette hue
|
|
22
|
+
- Hierarchy nesting — Spaces ▸ Folders ▸ Lists ▸ Tasks ▸ Subtasks
|
|
23
|
+
- Squircle FAB — a rounded-square (18pt radius) gradient button, not a circle
|
|
24
|
+
- Minimal but information-dense chrome — bottom tab bar (Home / Tasks / Inbox / Search) + per-list view tabs
|
|
25
|
+
|
|
26
|
+
## 2. Color Palette & Roles
|
|
27
|
+
|
|
28
|
+
### Primary (Interactive)
|
|
29
|
+
- **Brand Gradient** (`#7B68EE` → `#FD71AF` → `#49CCF9`, 135°): The hero — FAB, primary CTA, logo, AI surfaces. Identical light & dark.
|
|
30
|
+
- **Brand Purple** (`#7B68EE`): The single solid brand color — active tab, links, solid secondary CTA, selection.
|
|
31
|
+
- **Brand Pink** (`#FD71AF`): Gradient mid-stop; accent on AI / highlights.
|
|
32
|
+
- **Brand Blue** (`#49CCF9`): Gradient end-stop; also "Normal" priority & "In progress" default status.
|
|
33
|
+
- **Purple Pressed** (`#6A57DD`): Pressed state of solid-purple surfaces.
|
|
34
|
+
- **Purple Tint** (`#7B68EE38`): ~22% purple behind selected rows / focused fields.
|
|
35
|
+
|
|
36
|
+
### Canvas & Surfaces (Light Mode)
|
|
37
|
+
- **Canvas White** (`#FFFFFF`): Primary light canvas, task list background.
|
|
38
|
+
- **Surface Gray** (`#F7F7FB`): Grouped surfaces, sidebar, hovered rows.
|
|
39
|
+
- **Surface Pressed** (`#EDEDF4`): Pressed/selected rows.
|
|
40
|
+
- **Divider** (`#E7E7EF`): Hairline between task rows and groups.
|
|
41
|
+
- **Card Border** (`#DEDEE9`): 1pt border on board cards.
|
|
42
|
+
|
|
43
|
+
### Canvas & Surfaces (Dark Mode)
|
|
44
|
+
- **Dark Canvas** (`#1B1B2E`): Primary dark canvas — deep blue-violet, NOT pure black.
|
|
45
|
+
- **Dark Surface 1** (`#232338`): Cards, grouped surfaces.
|
|
46
|
+
- **Dark Surface 2** (`#2C2C44`): Elevated chips, hovered rows, board columns.
|
|
47
|
+
- **Dark Divider** (`#383852`): Hairline dividers.
|
|
48
|
+
- **Dark Card Border** (`#42425C`): 1pt border on board cards in dark.
|
|
49
|
+
|
|
50
|
+
### Text
|
|
51
|
+
- **Text Primary Light** (`#1B1B2E`): Primary task names, body.
|
|
52
|
+
- **Text Secondary Light** (`#5E5E7A`): Metadata, due dates, counts, placeholders.
|
|
53
|
+
- **Text Tertiary Light** (`#9292A8`): Disabled, completed-task strikethrough.
|
|
54
|
+
- **Text Primary Dark** (`#F1F1F6`): Primary text on dark.
|
|
55
|
+
- **Text Secondary Dark** (`#A6A6BC`): Metadata on dark.
|
|
56
|
+
- **Text Tertiary Dark** (`#6E6E88`): Disabled / completed on dark.
|
|
57
|
+
|
|
58
|
+
### Functional Palette (Status / Priority / Tags)
|
|
59
|
+
The palette every custom status, priority, and tag draws from. Statuses render as **solid pills**; tags as ~22% tints.
|
|
60
|
+
|
|
61
|
+
| Role | Solid Hue | Tint (22%) | On-Solid Text |
|
|
62
|
+
|------|-----------|-----------|---------------|
|
|
63
|
+
| Green / Complete | `#2ECC71` | `#2ECC7138` | `#FFFFFF` |
|
|
64
|
+
| Red / Urgent | `#F44E6E` | `#F44E6E38` | `#FFFFFF` |
|
|
65
|
+
| Orange / High | `#FF9F1A` | `#FF9F1A38` | `#FFFFFF` |
|
|
66
|
+
| Blue / Normal | `#49CCF9` | `#49CCF938` | `#0E2A33` |
|
|
67
|
+
| Purple / Brand | `#7B68EE` | `#7B68EE38` | `#FFFFFF` |
|
|
68
|
+
| Pink | `#FD71AF` | `#FD71AF38` | `#FFFFFF` |
|
|
69
|
+
| Yellow | `#FFCC00` | `#FFCC0038` | `#3A2F00` |
|
|
70
|
+
| Teal | `#1ECBE1` | `#1ECBE138` | `#06363C` |
|
|
71
|
+
| Gray / To-do / Unset | `#5B5B79` | `#5B5B7938` | `#FFFFFF` |
|
|
72
|
+
|
|
73
|
+
### Priority (Flag Triangle)
|
|
74
|
+
| Role | Color |
|
|
75
|
+
|------|-------|
|
|
76
|
+
| Urgent | `#F44E6E` |
|
|
77
|
+
| High | `#FF9F1A` |
|
|
78
|
+
| Normal | `#49CCF9` |
|
|
79
|
+
| Low | `#9292A8` (gray) |
|
|
80
|
+
| No priority | outline gray, no fill |
|
|
81
|
+
|
|
82
|
+
### Semantic
|
|
83
|
+
- **Success Green** (`#2ECC71`): "Complete" status, success toast.
|
|
84
|
+
- **Error / Urgent Red** (`#F44E6E`): Overdue date, delete, urgent priority, error toast.
|
|
85
|
+
- **Warning Orange** (`#FF9F1A`): High priority, warning callout.
|
|
86
|
+
- **AI Glow** (`#7B68EE` → `#FD71AF` → `#49CCF9` at ~18% on a panel): backdrop tint behind ClickUp AI content.
|
|
87
|
+
|
|
88
|
+
## 3. Typography Rules
|
|
89
|
+
|
|
90
|
+
### Font Family
|
|
91
|
+
- **Primary**: `Plus Jakarta Sans` (by Tokotype, 2020, SIL OFL) — geometric humanist sans; the closest free match to ClickUp's product typeface.
|
|
92
|
+
- **Numeric**: Plus Jakarta Sans tabular figures for due dates, counts, points, time-tracking (`font-feature-settings: "tnum"`).
|
|
93
|
+
- **Fallback Stack**: `-apple-system, BlinkMacSystemFont, 'SF Pro Text', 'Segoe UI', Roboto, Helvetica, Arial, sans-serif`
|
|
94
|
+
- **iOS Note**: falls back to SF Pro Text/Display when Plus Jakarta Sans isn't bundled.
|
|
95
|
+
|
|
96
|
+
### Hierarchy
|
|
97
|
+
|
|
98
|
+
| Role | Font | Size | Weight | Line Height | Letter Spacing | Notes |
|
|
99
|
+
|------|------|------|--------|-------------|----------------|-------|
|
|
100
|
+
| Screen Title | Plus Jakarta Sans | 32pt | 800 | 1.15 | -0.5pt | "Everything", "Home" — large nav title |
|
|
101
|
+
| List Title | Plus Jakarta Sans | 26pt | 800 | 1.2 | -0.3pt | List/Folder name in header (+ color square) |
|
|
102
|
+
| Section | Plus Jakarta Sans | 22pt | 700 | 1.25 | -0.2pt | "Today's tasks", subsection headings |
|
|
103
|
+
| Subsection | Plus Jakarta Sans | 17pt | 700 | 1.3 | -0.1pt | "Assigned to me", group labels |
|
|
104
|
+
| Body | Plus Jakarta Sans | 15pt | 400 | 1.5 | 0pt | Task descriptions, comments, Docs |
|
|
105
|
+
| Task Name | Plus Jakarta Sans | 14pt | 600 | 1.35 | 0pt | The task name in a dense list row |
|
|
106
|
+
| Status Group Label | Plus Jakarta Sans | 10pt | 800 | 1.1 | 0.6pt | Status-pill text heading a group (uppercased) |
|
|
107
|
+
| Meta | Plus Jakarta Sans | 13pt | 400 | 1.35 | 0pt | Due date, subtask count, time estimate |
|
|
108
|
+
| Tag | Plus Jakarta Sans | 10pt | 700 | 1.0 | 0.2pt | Tag pill text |
|
|
109
|
+
| Button | Plus Jakarta Sans | 15pt | 700 | 1.0 | 0pt | Primary / secondary buttons |
|
|
110
|
+
| Text Action | Plus Jakarta Sans | 14pt | 600 | 1.0 | 0pt | "Add subtask", "More options" |
|
|
111
|
+
| Assignee Initials | Plus Jakarta Sans | 9pt | 700 | 1.0 | 0.2pt | Initials inside an assignee avatar |
|
|
112
|
+
| Tab Label | Plus Jakarta Sans | 10pt | 600 | 1.0 | 0.1pt | Bottom tab bar labels |
|
|
113
|
+
| Comment Author | Plus Jakarta Sans | 13pt | 700 | 1.3 | 0pt | Comment / activity author name |
|
|
114
|
+
|
|
115
|
+
### Principles
|
|
116
|
+
- **Dense but legible**: ClickUp packs many attributes per row — task names at 14pt/600 (bolder than typical) so the eye anchors fast.
|
|
117
|
+
- **Status pills are tight & loud**: 10pt/800, uppercased, +0.6pt tracking, white-on-saturated — they head every group.
|
|
118
|
+
- **Weight concentrated at 400 / 600 / 700 / 800**: regular body, semibold task names & actions, bold buttons/headings, extrabold titles & status pills. No thin.
|
|
119
|
+
- **Tabular numerals for the data**: due dates, points, time-tracked, counts must not jitter in the dense grid.
|
|
120
|
+
- **The gradient never appears in type**: text is always solid; the gradient is for surfaces (FAB/CTA/AI), never letterforms in-app.
|
|
121
|
+
- **Dynamic Type first-class**: titles, sections, body, task names, comments scale; status pills, tags, tab labels, assignee initials stay fixed.
|
|
122
|
+
|
|
123
|
+
## 4. Component Stylings
|
|
124
|
+
|
|
125
|
+
### Buttons
|
|
126
|
+
|
|
127
|
+
**Primary Button (Create task / Save / Generate with AI)**
|
|
128
|
+
- Shape: Rounded rectangle, 10pt corner radius
|
|
129
|
+
- Background: the 3-stop brand gradient (135°, `#7B68EE` → `#FD71AF` → `#49CCF9`)
|
|
130
|
+
- Text: `#FFFFFF`, Plus Jakarta Sans 15pt weight 700
|
|
131
|
+
- Padding: 13pt vertical, 26pt horizontal
|
|
132
|
+
- Pressed: brightness 0.94 + scale 0.98
|
|
133
|
+
- Disabled: gradient at 40% opacity
|
|
134
|
+
|
|
135
|
+
**Solid Secondary Button (Save / Apply)**
|
|
136
|
+
- Background: `#7B68EE` (Brand Purple, solid)
|
|
137
|
+
- Text: `#FFFFFF`, Plus Jakarta Sans 15pt weight 700
|
|
138
|
+
- Corner radius: 10pt; padding 13/24pt
|
|
139
|
+
- Pressed: `#6A57DD` + scale 0.98
|
|
140
|
+
|
|
141
|
+
**Outline Button (Add subtask / Add field)**
|
|
142
|
+
- Background: transparent
|
|
143
|
+
- Text: `#1B1B2E` light / `#F1F1F6` dark, Plus Jakarta Sans 14pt weight 600
|
|
144
|
+
- Border: 1pt `#E7E7EF` light / `#383852` dark
|
|
145
|
+
- Corner radius: 10pt; padding 12/20pt
|
|
146
|
+
- Pressed: background `#EDEDF4` / `#2C2C44`
|
|
147
|
+
|
|
148
|
+
**Text Button (More options / Add subtask)**
|
|
149
|
+
- Font: Plus Jakarta Sans 14pt weight 600
|
|
150
|
+
- Color: `#7B68EE` (brand purple)
|
|
151
|
+
- Pressed: 60% opacity
|
|
152
|
+
|
|
153
|
+
**Floating Action Button (Create — squircle, not circle)**
|
|
154
|
+
- Size: 56pt, 18pt corner radius (rounded-square / squircle)
|
|
155
|
+
- Background: the 3-stop brand gradient
|
|
156
|
+
- Icon: white `plus` 24pt, stroke 2.6
|
|
157
|
+
- Shadow: `rgba(123,104,238,0.50) 0 8px 22px`
|
|
158
|
+
- Position: 16pt from trailing edge, 16pt above the tab bar
|
|
159
|
+
- Pressed: scale 0.94 + brightness 0.94
|
|
160
|
+
|
|
161
|
+
### Task Row (the core atom)
|
|
162
|
+
|
|
163
|
+
Every task in any list view is a dense row:
|
|
164
|
+
- Height: ~52pt with one metadata line
|
|
165
|
+
- Leading: 18pt status checkbox — a 5pt-radius rounded square, 2pt border in the status color; checkmark when done
|
|
166
|
+
- Name: Plus Jakarta Sans 14pt w600 `#1B1B2E` / `#F1F1F6`, truncates with ellipsis
|
|
167
|
+
- Metadata row (6pt gap): priority flag triangle, tag pills, due date
|
|
168
|
+
- Trailing: 22pt circular assignee avatar (initials or photo)
|
|
169
|
+
- Divider: 1pt `#E7E7EF` / `#383852` between rows
|
|
170
|
+
- Swipe-left: Complete (green) + More; swipe-right: set priority
|
|
171
|
+
- Tap row: opens the full task panel (description, subtasks, custom fields, checklists, comments, activity)
|
|
172
|
+
|
|
173
|
+
**Status Checkbox**
|
|
174
|
+
- Default: 18pt rounded square, 5pt radius, 2pt border in the status's color, transparent fill
|
|
175
|
+
- "In progress" group: orange/blue border; "Complete": filled `#2ECC71` + white check
|
|
176
|
+
- Tap: cycles to the next status (or opens the status picker on long-press) + soft haptic
|
|
177
|
+
|
|
178
|
+
**Status Pill (group header)**
|
|
179
|
+
- A saturated solid pill in the status color: Plus Jakarta Sans 10pt w800, uppercased, +0.6pt tracking, white (or dark on yellow/blue) text
|
|
180
|
+
- 4pt vertical / 9pt horizontal padding, 5pt corner radius
|
|
181
|
+
- Followed by a count `#9292A8` and a trailing "+ add task" affordance
|
|
182
|
+
|
|
183
|
+
**Priority Flag**
|
|
184
|
+
- A small filled triangle (≈12pt) in the priority color: Urgent `#F44E6E`, High `#FF9F1A`, Normal `#49CCF9`, Low gray; "No priority" = gray outline
|
|
185
|
+
- Tap: opens the priority picker
|
|
186
|
+
|
|
187
|
+
**Tag Pill**
|
|
188
|
+
- ~22% tint of a palette hue with saturated text, Plus Jakarta Sans 10pt w700
|
|
189
|
+
- 2pt vertical / 7pt horizontal, 999pt radius (full pill)
|
|
190
|
+
|
|
191
|
+
### Status Group
|
|
192
|
+
|
|
193
|
+
- A status pill (see above) + item count + "+ add task"
|
|
194
|
+
- Tap the pill chevron: collapse/expand the group's tasks (200ms ease-out)
|
|
195
|
+
- Lists define an ordered set of statuses; "Complete"-type statuses collapse by default
|
|
196
|
+
|
|
197
|
+
### ClickUp AI Bar / Surfaces
|
|
198
|
+
|
|
199
|
+
- A horizontal bar (10pt radius) with a ~18% gradient backdrop tint + 1pt purple border
|
|
200
|
+
- Leading sparkle glyph in brand purple; label "ClickUp AI · {action}" in Plus Jakarta Sans 12pt w600
|
|
201
|
+
- AI-generated content blocks get the same subtle gradient tint to mark provenance
|
|
202
|
+
- AI action buttons use the full gradient fill
|
|
203
|
+
|
|
204
|
+
### Navigation
|
|
205
|
+
|
|
206
|
+
**Bottom Tab Bar**
|
|
207
|
+
- Height: 52pt + safe area
|
|
208
|
+
- Background: `#FFFFFF` / `#1B1B2E` with 1pt top border `#E7E7EF` / `#383852`
|
|
209
|
+
- Tabs (4): Home, Tasks (My Work), Inbox (Notifications), Search
|
|
210
|
+
- Icon size: 22pt; active filled, inactive stroked
|
|
211
|
+
- Active color: `#7B68EE` (brand purple); inactive `#9292A8` / `#6E6E88`
|
|
212
|
+
- Labels: Plus Jakarta Sans 10pt w600, always shown
|
|
213
|
+
|
|
214
|
+
**View Switcher Tabs (per list)**
|
|
215
|
+
- Below the list title: List, Board, Calendar, Gantt, Timeline, Doc, Table, … (12+; horizontally scrollable)
|
|
216
|
+
- Active tab: `#7B68EE` text with a 2.5pt purple `#7B68EE` underline
|
|
217
|
+
- Inactive: `#5E5E7A` / `#A6A6BC`
|
|
218
|
+
- Plus Jakarta Sans 13pt w600, 18pt gap
|
|
219
|
+
|
|
220
|
+
**Top Nav (list / task detail)**
|
|
221
|
+
- Height: 44pt + safe area
|
|
222
|
+
- Leading: back chevron / close X + breadcrumb (Space ▸ Folder ▸ List)
|
|
223
|
+
- Center / leading: compact list or task title
|
|
224
|
+
- Trailing: ⋯ actions / share / AI
|
|
225
|
+
|
|
226
|
+
### Input Fields
|
|
227
|
+
|
|
228
|
+
**Search Bar**
|
|
229
|
+
- Height: 40pt
|
|
230
|
+
- Background: `#F7F7FB` / `#2C2C44`
|
|
231
|
+
- Border: none
|
|
232
|
+
- Corner radius: 10pt
|
|
233
|
+
- Leading icon `magnifyingglass` 16pt `#9292A8`
|
|
234
|
+
- Placeholder: "Search tasks, docs, people" 14pt `#9292A8`
|
|
235
|
+
- Focus: 1.5pt `#7B68EE` border
|
|
236
|
+
|
|
237
|
+
**Inline Field / Composer**
|
|
238
|
+
- Tapping a custom-field or name cell turns it into an inline field with a 1.5pt `#7B68EE` focus ring
|
|
239
|
+
- Comment composer: `#F7F7FB` / `#2C2C44` fill, 10pt radius, "Comment or type / for commands" placeholder; a `/` slash menu and `@`-mention picker are available
|
|
240
|
+
- AI compose: a gradient-bordered field with the sparkle prefix
|
|
241
|
+
|
|
242
|
+
### Distinctive Components
|
|
243
|
+
|
|
244
|
+
**Brand-Gradient FAB & AI Surfaces**
|
|
245
|
+
- The hero — see Buttons & AI Bar. The gradient is reserved for "most important action" and "AI"; never a background.
|
|
246
|
+
|
|
247
|
+
**Custom-Status Grouped List**
|
|
248
|
+
- The default screen: tasks grouped by the List's ordered custom statuses, each headed by a saturated pill.
|
|
249
|
+
|
|
250
|
+
**Board View**
|
|
251
|
+
- Columns = one status each; cards carry the status-color top accent + priority flag + tags + assignee
|
|
252
|
+
- Drag a card to another column = change its status; lift shadow + 200ms settle
|
|
253
|
+
|
|
254
|
+
**Task Panel**
|
|
255
|
+
- A full-screen / bottom-sheet detail: title, status pill, assignees, priority, dates, custom fields, subtasks, checklists, attachments, a description (rich-text Doc), comments + activity
|
|
256
|
+
|
|
257
|
+
**Custom Field Cell**
|
|
258
|
+
- Inline labeled value in the field's type: dropdown (tinted pill), number, money, progress bar, rating, formula — each compact
|
|
259
|
+
|
|
260
|
+
**Slash / Mention Menu**
|
|
261
|
+
- `/` opens a command menu (turn into, add field, embed); `@` mentions people/tasks/docs — a floating panel with the AI gradient border on AI options
|
|
262
|
+
|
|
263
|
+
**Inbox Notification Row**
|
|
264
|
+
- Leading actor avatar (28pt); bold actor + action; subtitle = task + List breadcrumb; trailing timestamp; unread = purple dot
|
|
265
|
+
|
|
266
|
+
**Hierarchy Breadcrumb**
|
|
267
|
+
- Space ▸ Folder ▸ List path in the top nav; each segment tappable; the Space carries its color square
|
|
268
|
+
|
|
269
|
+
## 5. Layout Principles
|
|
270
|
+
|
|
271
|
+
### Spacing System
|
|
272
|
+
- Base unit: 4pt
|
|
273
|
+
- Scale: 4, 6, 8, 10, 14, 16, 18, 22, 26, 32, 40, 56
|
|
274
|
+
- Task row vertical padding: 11pt (dense)
|
|
275
|
+
- Status group header: 10pt top / 6pt bottom
|
|
276
|
+
- Screen horizontal inset: 16pt
|
|
277
|
+
|
|
278
|
+
### Grid & Container
|
|
279
|
+
- iPhone: full-width dense list; metadata wraps if narrow
|
|
280
|
+
- iPad: master-detail — Spaces/Lists sidebar (300pt) + list/task detail
|
|
281
|
+
- Board columns: ~270pt wide, horizontal scroll, 12pt gap
|
|
282
|
+
- Task panel: max-width 760pt centered on large screens
|
|
283
|
+
- Gantt/Timeline: horizontally scrolling timeline canvas
|
|
284
|
+
|
|
285
|
+
### Whitespace Philosophy
|
|
286
|
+
- **Density is the point**: ClickUp deliberately surfaces many attributes per row — tight 11pt padding, small pills, compact flags — so power users see everything without tapping in
|
|
287
|
+
- **The gradient is rare and loud**: exactly one gradient element is visible at rest (the FAB) plus AI surfaces — its scarcity is what makes it read as "primary"
|
|
288
|
+
- **Status pills bucket the list**: saturated pill headers create strong visual groups in a dense scroll
|
|
289
|
+
- **Squircle, not circle**: the FAB's 18pt-radius rounded square is a deliberate brand signature distinct from circular FABs
|
|
290
|
+
|
|
291
|
+
### Border Radius Scale
|
|
292
|
+
- Square (0pt): dividers, full-bleed media
|
|
293
|
+
- Subtle (5pt): status checkbox, status pills, color squares
|
|
294
|
+
- Standard (8-10pt): buttons, search bar, cards, AI bar
|
|
295
|
+
- Comfortable (14pt): bottom sheets, modals, pickers
|
|
296
|
+
- Squircle (18pt): the FAB, large feature cards
|
|
297
|
+
- Pill (999pt): tags, filter pills
|
|
298
|
+
- Circle (50%): assignee avatars
|
|
299
|
+
|
|
300
|
+
## 6. Depth & Elevation
|
|
301
|
+
|
|
302
|
+
ClickUp is mostly flat — density + status color provide structure; shadows are reserved for floating, dragged, and the gradient FAB.
|
|
303
|
+
|
|
304
|
+
| Level | Treatment | Use |
|
|
305
|
+
|-------|-----------|-----|
|
|
306
|
+
| Flat (Level 0) | No shadow | Task rows, list, status group headers |
|
|
307
|
+
| Card (Level 1) | `rgba(0,0,0,0.07) 0 1px 4px` | Board cards at rest (light); 1pt border in dark |
|
|
308
|
+
| Floating (Level 2) | `rgba(0,0,0,0.14) 0 4px 14px` | Slash/mention menu, status & priority pickers, dropdowns |
|
|
309
|
+
| FAB | `rgba(123,104,238,0.50) 0 8px 22px` | Gradient FAB — a purple-tinted colored shadow |
|
|
310
|
+
| Dragged (Level 3) | `rgba(0,0,0,0.22) 0 8px 24px` | A board card / task being dragged |
|
|
311
|
+
| Sheet (Level 4) | `rgba(0,0,0,0.20) 0 -4px 24px` | Bottom sheets (task panel, filters, pickers) |
|
|
312
|
+
| Modal Scrim | `rgba(0,0,0,0.45)` | Dim behind modals/sheets |
|
|
313
|
+
|
|
314
|
+
**Shadow Philosophy**: Shadows mean "liftable / floating", never decoration. The board itself is flat — status color + density encode structure. The FAB gets a soft *purple* shadow tying it to the brand gradient. On dark, gray shadows vanish, so board cards rely on a 1pt `#42425C` border + a status-color top accent while the FAB keeps its purple glow.
|
|
315
|
+
|
|
316
|
+
### Motion
|
|
317
|
+
- **Status change**: tapping the checkbox cycles status with a 180ms color crossfade + soft haptic; long-press opens the picker (fade + 4pt slide-up, 150ms); "Complete" plays a quick check-draw
|
|
318
|
+
- **Drag task / board card**: 1:1 finger tracking at 60fps; neighbors shift over 200ms ease-out; drop snaps with 150ms ease-out + soft haptic; status recolors on cross-column drop
|
|
319
|
+
- **Status group collapse/expand**: chevron rotates 90° in 150ms; tasks height 0 → auto over 200ms ease-out
|
|
320
|
+
- **FAB → create**: squircle scales up and the create sheet rises from bottom over 280ms ease-out
|
|
321
|
+
- **AI generation**: the AI bar's gradient shimmers (a 1.2s sweep) while generating; result fades in over 200ms with the gradient-tint backdrop
|
|
322
|
+
- **View tab switch**: 2.5pt purple underline slides over 200ms; the view cross-fades 150ms
|
|
323
|
+
- **Push navigation / breadcrumb drill**: iOS-native push, 300ms horizontal slide
|
|
324
|
+
- **Haptic feedback**: soft impact on status change, drag start, group toggle; light tick on tab switch; success tick on task complete
|
|
325
|
+
|
|
326
|
+
## 7. Do's and Don'ts
|
|
327
|
+
|
|
328
|
+
### Do
|
|
329
|
+
- Reserve the 3-stop gradient (`#7B68EE` → `#FD71AF` → `#49CCF9`) for the FAB, primary CTA, logo, and AI surfaces only
|
|
330
|
+
- Use the deep blue-violet `#1B1B2E` for dark canvas — it complements the gradient, NOT neutral black
|
|
331
|
+
- Group the task list by the List's ordered custom status pills (saturated, uppercased, 10pt/800)
|
|
332
|
+
- Make the FAB a squircle (56pt, 18pt radius) — a deliberate brand signature, not a circle
|
|
333
|
+
- Encode priority as a colored flag triangle (Urgent red / High orange / Normal blue / Low gray)
|
|
334
|
+
- Embrace density — surface priority + tags + due + assignee per row; power users want it all visible
|
|
335
|
+
- Mark every AI affordance with the gradient (AI bar tint, AI buttons, AI content backdrop)
|
|
336
|
+
- Use tags as ~22% tinted pills with saturated text in any palette hue
|
|
337
|
+
- Offer the full view switcher (List / Board / Calendar / Gantt / Timeline / Doc / …) over the same tasks
|
|
338
|
+
- Use tabular numerals for due dates, points, time-tracked, and counts in the dense grid
|
|
339
|
+
- Show the Space ▸ Folder ▸ List breadcrumb so users always know where they are
|
|
340
|
+
|
|
341
|
+
### Don't
|
|
342
|
+
- Don't tile the gradient as a background or use it on body text — it marks primary action + AI only
|
|
343
|
+
- Don't use pure black (`#000000`) for the dark canvas — `#1B1B2E` blue-violet is correct
|
|
344
|
+
- Don't render statuses as faint tint chips — group-header status pills are SOLID and saturated (tags are the tinted ones)
|
|
345
|
+
- Don't make the FAB a circle — the squircle is the brand signature
|
|
346
|
+
- Don't over-sparsify the list — ClickUp's value is information density; don't strip metadata to "clean it up"
|
|
347
|
+
- Don't use a flat checkbox for status — it's a status-colored rounded square that cycles statuses
|
|
348
|
+
- Don't use heavy shadows on rows — only floating / dragged elements and the FAB get shadow
|
|
349
|
+
- Don't use gray as the FAB shadow — it's a soft purple glow tied to the gradient
|
|
350
|
+
- Don't bold task names beyond 600 or lighten below it — 14pt/600 keeps the dense list scannable
|
|
351
|
+
- Don't introduce a second gradient — there is exactly one brand gradient; functional colors are solids
|
|
352
|
+
- Don't hide the breadcrumb — hierarchy (Space/Folder/List) is core to ClickUp's mental model
|
|
353
|
+
|
|
354
|
+
## 8. Responsive Behavior
|
|
355
|
+
|
|
356
|
+
### Device Sizes
|
|
357
|
+
| Device | Width | Key Changes |
|
|
358
|
+
|--------|-------|-------------|
|
|
359
|
+
| iPhone SE (3rd gen) | 375pt | Metadata may wrap; fewer tags shown, "+N" overflow |
|
|
360
|
+
| iPhone 13/14/15 | 390pt | Standard dense layout |
|
|
361
|
+
| iPhone 15/16 Pro | 393pt | Dynamic Island accommodated in top nav |
|
|
362
|
+
| iPhone 15/16 Pro Max | 430pt | One extra metadata column without wrap |
|
|
363
|
+
| iPad (portrait) | 768pt | Master-detail: Spaces/Lists sidebar (300pt) + list/task detail |
|
|
364
|
+
| iPad (landscape) | 1024pt+ | Three-pane: sidebar + list + task panel; full Gantt/Table |
|
|
365
|
+
|
|
366
|
+
### Dynamic Type
|
|
367
|
+
- Screen/list/section titles, body, task names, comments, Docs: full scale
|
|
368
|
+
- Status pills, tags, tab labels, assignee initials, status group labels: FIXED (dense-layout-sensitive)
|
|
369
|
+
- Due dates / points / counts: scale but stay tabular
|
|
370
|
+
|
|
371
|
+
### Orientation
|
|
372
|
+
- All screens support rotation
|
|
373
|
+
- iPad landscape unlocks the three-pane (sidebar / list / task panel)
|
|
374
|
+
- Board / Gantt / Timeline scroll horizontally in both orientations
|
|
375
|
+
|
|
376
|
+
### Touch Targets
|
|
377
|
+
- Status checkbox: 18pt glyph, 44pt hit area (separate from row tap)
|
|
378
|
+
- Tab bar icons: 22pt glyph, 44pt hit
|
|
379
|
+
- Task row: full-row tap opens the task panel
|
|
380
|
+
- Status group chevron: 16pt glyph, 44pt hit
|
|
381
|
+
- FAB: 56pt squircle (exceeds minimum)
|
|
382
|
+
- Priority flag / tag: 44pt hit even though the glyph is small
|
|
383
|
+
|
|
384
|
+
### Safe Area Handling
|
|
385
|
+
- Top: list title & top nav respect safe area + Dynamic Island
|
|
386
|
+
- Bottom: tab bar + home indicator respected; FAB 16pt above the tab bar
|
|
387
|
+
- Keyboard: inline field, comment composer, and AI compose rise above the keyboard
|
|
388
|
+
- Sides: 16pt content inset
|
|
389
|
+
|
|
390
|
+
## 9. Agent Prompt Guide
|
|
391
|
+
|
|
392
|
+
### Quick Color Reference
|
|
393
|
+
- Canvas (light): `#FFFFFF`
|
|
394
|
+
- Canvas (dark): `#1B1B2E`
|
|
395
|
+
- Surface (dark): `#232338` / `#2C2C44`
|
|
396
|
+
- Divider: `#E7E7EF` light / `#383852` dark
|
|
397
|
+
- Text primary: `#1B1B2E` light / `#F1F1F6` dark
|
|
398
|
+
- Text secondary: `#5E5E7A` light / `#A6A6BC` dark
|
|
399
|
+
- Brand gradient: `#7B68EE` → `#FD71AF` → `#49CCF9` (135°)
|
|
400
|
+
- Brand purple (solid): `#7B68EE` (pressed `#6A57DD`)
|
|
401
|
+
- Status green / Complete: `#2ECC71`
|
|
402
|
+
- Status red / Urgent: `#F44E6E`
|
|
403
|
+
- Status orange / High: `#FF9F1A`
|
|
404
|
+
- Status blue / Normal: `#49CCF9`
|
|
405
|
+
- Gray / To-do / unset: `#5B5B79`
|
|
406
|
+
- Tag tint: hue at ~22% (`#7B68EE38`) with saturated text
|
|
407
|
+
|
|
408
|
+
### Example Component Prompts
|
|
409
|
+
- "Build a ClickUp task row in SwiftUI: leading 18pt status checkbox (a 5pt-radius rounded square, 2pt border in the status color, transparent fill — filled `#2ECC71` + white check when done). 10pt gap to a VStack: task name Plus Jakarta Sans 14pt w600 `#1B1B2E` (truncating); below, an HStack — a priority flag triangle (filled, Urgent `#F44E6E` / High `#FF9F1A` / Normal `#49CCF9` / Low gray), tag pills (Plus Jakarta Sans 10pt w700 saturated text on a ~22% tint, 999pt radius), and a due date (`#5E5E7A`, or `#F44E6E` if overdue). Trailing: 22pt circular avatar. 11pt vertical padding, 1pt `#E7E7EF` divider, ~52pt tall. Tap checkbox cycles status with a 180ms color crossfade + soft haptic."
|
|
410
|
+
|
|
411
|
+
- "Create the ClickUp custom-status group header: a saturated solid status pill — e.g. `#49CCF9` 'IN PROGRESS' in Plus Jakarta Sans 10pt w800 uppercased +0.6pt tracking, dark `#0E2A33` text (white on most colors), 4/9pt padding, 5pt radius — followed by an item count `#9292A8` and a trailing '+ add task'. Tapping the pill chevron collapses the group (tasks height 0 → auto, 200ms ease-out)."
|
|
412
|
+
|
|
413
|
+
- "Render the ClickUp FAB: a 56pt squircle (18pt corner radius — NOT a circle) filled with the 3-stop brand gradient (135°, `#7B68EE` → `#FD71AF` → `#49CCF9`), a white `plus` icon 24pt, shadow `rgba(123,104,238,0.50) 0 8px 22px`. Position 16pt from trailing edge, 16pt above the tab bar. Press: scale 0.94 + brightness 0.94."
|
|
414
|
+
|
|
415
|
+
- "Build a ClickUp AI bar: a 10pt-radius horizontal bar with a ~18% 3-stop-gradient backdrop tint + 1pt `#7B68EE` border, a leading brand-purple sparkle glyph, label 'ClickUp AI · {action}' in Plus Jakarta Sans 12pt w600 `#5E5E7A` ('ClickUp AI' bold `#1B1B2E`). While generating, the gradient shimmers over 1.2s; the result fades in (200ms) on a gradient-tint backdrop."
|
|
416
|
+
|
|
417
|
+
- "Create the ClickUp Board view: horizontally scrolling columns (~270pt, `#F7F7FB` / `#2C2C44`, 10pt radius), one per custom status. Cards: `#FFFFFF` / `#232338`, 1pt border, a 3pt status-color top accent, priority flag + tags + 22pt avatar, lift shadow on drag (`rgba(0,0,0,0.22) 0 8px 24px`). Dropping a card into another column changes its status; drop snaps 150ms + soft haptic; the status accent recolors."
|
|
418
|
+
|
|
419
|
+
- "Create the ClickUp bottom tab bar: 52pt + safe area, `#FFFFFF` / `#1B1B2E`, 1pt top border `#E7E7EF` / `#383852`. Four tabs — Home, Tasks, Inbox, Search — 22pt icons (filled active, stroked inactive), active `#7B68EE`, inactive `#9292A8` / `#6E6E88`, labels Plus Jakarta Sans 10pt w600 always shown. A 56pt squircle gradient FAB sits bottom-right."
|
|
420
|
+
|
|
421
|
+
### Iteration Guide
|
|
422
|
+
1. Canvas is white in light, deep blue-violet `#1B1B2E` in dark — complements the gradient, NOT neutral black
|
|
423
|
+
2. The 3-stop gradient (`#7B68EE` → `#FD71AF` → `#49CCF9`) is reserved for the FAB, primary CTA, logo, and AI — never a background or body text
|
|
424
|
+
3. The FAB is a SQUIRCLE (56pt, 18pt radius), not a circle — a deliberate brand signature
|
|
425
|
+
4. Group the task list by the List's ordered custom status pills — SOLID, saturated, uppercased 10pt/800
|
|
426
|
+
5. Priority is a colored flag triangle (Urgent red / High orange / Normal blue / Low gray)
|
|
427
|
+
6. Embrace density — surface priority + tags + due + assignee per row; don't strip metadata
|
|
428
|
+
7. Tags are ~22% tinted pills with saturated text; statuses (group headers) are the solid ones
|
|
429
|
+
8. Mark every AI affordance with the gradient (AI bar tint + border, AI buttons, AI content backdrop)
|
|
430
|
+
9. Typography is Plus Jakarta Sans, confident — task names 14pt/600, titles 800, status pills 10pt/800, tabular numerals
|
|
431
|
+
10. Dark mode keeps the gradient + status colors identical, inverts text to `#F1F1F6`, uses 1pt borders + status accents where shadows vanish
|