@hex-core/themes 0.1.1 → 0.2.1
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/README.md +5 -1
- package/dist/chunk-2LU3ENLP.js +68 -0
- package/dist/chunk-2LU3ENLP.js.map +1 -0
- package/dist/chunk-2OH25A4J.js +68 -0
- package/dist/chunk-2OH25A4J.js.map +1 -0
- package/dist/chunk-2SI7O4FQ.js +68 -0
- package/dist/chunk-2SI7O4FQ.js.map +1 -0
- package/dist/chunk-4LQ3BH7F.js +68 -0
- package/dist/chunk-4LQ3BH7F.js.map +1 -0
- package/dist/chunk-4QXKFLEQ.js +68 -0
- package/dist/chunk-4QXKFLEQ.js.map +1 -0
- package/dist/chunk-5BH5ZMDH.js +68 -0
- package/dist/chunk-5BH5ZMDH.js.map +1 -0
- package/dist/chunk-5O65TVZP.js +68 -0
- package/dist/chunk-5O65TVZP.js.map +1 -0
- package/dist/chunk-5TDK4XMA.js +68 -0
- package/dist/chunk-5TDK4XMA.js.map +1 -0
- package/dist/chunk-72IPJZ6V.js +68 -0
- package/dist/chunk-72IPJZ6V.js.map +1 -0
- package/dist/chunk-73N7YFTY.js +68 -0
- package/dist/chunk-73N7YFTY.js.map +1 -0
- package/dist/chunk-7MPAMAFC.js +68 -0
- package/dist/chunk-7MPAMAFC.js.map +1 -0
- package/dist/chunk-7OAKNGRU.js +68 -0
- package/dist/chunk-7OAKNGRU.js.map +1 -0
- package/dist/chunk-7YP2HHHV.js +68 -0
- package/dist/chunk-7YP2HHHV.js.map +1 -0
- package/dist/chunk-7YPET3HT.js +68 -0
- package/dist/chunk-7YPET3HT.js.map +1 -0
- package/dist/chunk-7ZAFN5WE.js +68 -0
- package/dist/chunk-7ZAFN5WE.js.map +1 -0
- package/dist/chunk-ATBX7KXM.js +68 -0
- package/dist/chunk-ATBX7KXM.js.map +1 -0
- package/dist/chunk-BCLCH6JZ.js +68 -0
- package/dist/chunk-BCLCH6JZ.js.map +1 -0
- package/dist/chunk-BH7IPZBT.js +68 -0
- package/dist/chunk-BH7IPZBT.js.map +1 -0
- package/dist/chunk-BK432RWC.js +68 -0
- package/dist/chunk-BK432RWC.js.map +1 -0
- package/dist/chunk-BMLLM5GC.js +68 -0
- package/dist/chunk-BMLLM5GC.js.map +1 -0
- package/dist/chunk-CEQN6EQY.js +68 -0
- package/dist/chunk-CEQN6EQY.js.map +1 -0
- package/dist/chunk-CFLNGBY5.js +68 -0
- package/dist/chunk-CFLNGBY5.js.map +1 -0
- package/dist/chunk-CTI3W357.js +68 -0
- package/dist/chunk-CTI3W357.js.map +1 -0
- package/dist/chunk-CUO2HNBR.js +68 -0
- package/dist/chunk-CUO2HNBR.js.map +1 -0
- package/dist/chunk-D5JFUYFN.js +68 -0
- package/dist/chunk-D5JFUYFN.js.map +1 -0
- package/dist/chunk-DE2NWOEB.js +68 -0
- package/dist/chunk-DE2NWOEB.js.map +1 -0
- package/dist/chunk-DLLP5KXF.js +68 -0
- package/dist/chunk-DLLP5KXF.js.map +1 -0
- package/dist/chunk-E26YKJRK.js +68 -0
- package/dist/chunk-E26YKJRK.js.map +1 -0
- package/dist/chunk-EV4APPVD.js +528 -0
- package/dist/chunk-EV4APPVD.js.map +1 -0
- package/dist/chunk-EZFP45CP.js +68 -0
- package/dist/chunk-EZFP45CP.js.map +1 -0
- package/dist/chunk-FE2IENES.js +68 -0
- package/dist/chunk-FE2IENES.js.map +1 -0
- package/dist/chunk-FK5WSFAA.js +68 -0
- package/dist/chunk-FK5WSFAA.js.map +1 -0
- package/dist/chunk-G2V6XAJ7.js +68 -0
- package/dist/chunk-G2V6XAJ7.js.map +1 -0
- package/dist/chunk-GAOOBTSH.js +68 -0
- package/dist/chunk-GAOOBTSH.js.map +1 -0
- package/dist/chunk-GAQ6LS55.js +68 -0
- package/dist/chunk-GAQ6LS55.js.map +1 -0
- package/dist/chunk-GSTGBWQZ.js +68 -0
- package/dist/chunk-GSTGBWQZ.js.map +1 -0
- package/dist/chunk-I267MA2D.js +68 -0
- package/dist/chunk-I267MA2D.js.map +1 -0
- package/dist/chunk-I4Z7DY3Z.js +68 -0
- package/dist/chunk-I4Z7DY3Z.js.map +1 -0
- package/dist/chunk-I6H6W42Y.js +68 -0
- package/dist/chunk-I6H6W42Y.js.map +1 -0
- package/dist/chunk-IJBNLZQH.js +68 -0
- package/dist/chunk-IJBNLZQH.js.map +1 -0
- package/dist/chunk-IRDDULX7.js +68 -0
- package/dist/chunk-IRDDULX7.js.map +1 -0
- package/dist/chunk-IXKXYUXQ.js +68 -0
- package/dist/chunk-IXKXYUXQ.js.map +1 -0
- package/dist/chunk-JZEZHM5N.js +68 -0
- package/dist/chunk-JZEZHM5N.js.map +1 -0
- package/dist/chunk-KCI73LIZ.js +68 -0
- package/dist/chunk-KCI73LIZ.js.map +1 -0
- package/dist/chunk-KDS62BXD.js +68 -0
- package/dist/chunk-KDS62BXD.js.map +1 -0
- package/dist/chunk-KLNZW4GO.js +68 -0
- package/dist/chunk-KLNZW4GO.js.map +1 -0
- package/dist/chunk-KXBE5FQ7.js +68 -0
- package/dist/chunk-KXBE5FQ7.js.map +1 -0
- package/dist/chunk-KZDIZ2FL.js +68 -0
- package/dist/chunk-KZDIZ2FL.js.map +1 -0
- package/dist/chunk-LDZC2QYF.js +68 -0
- package/dist/chunk-LDZC2QYF.js.map +1 -0
- package/dist/chunk-LNKOIFH4.js +68 -0
- package/dist/chunk-LNKOIFH4.js.map +1 -0
- package/dist/chunk-MVMZS3PQ.js +68 -0
- package/dist/chunk-MVMZS3PQ.js.map +1 -0
- package/dist/chunk-NIED6GXO.js +68 -0
- package/dist/chunk-NIED6GXO.js.map +1 -0
- package/dist/chunk-NKTZOR54.js +68 -0
- package/dist/chunk-NKTZOR54.js.map +1 -0
- package/dist/chunk-OCQYO6PW.js +68 -0
- package/dist/chunk-OCQYO6PW.js.map +1 -0
- package/dist/chunk-PJAJD5VJ.js +68 -0
- package/dist/chunk-PJAJD5VJ.js.map +1 -0
- package/dist/chunk-PN567MCL.js +68 -0
- package/dist/chunk-PN567MCL.js.map +1 -0
- package/dist/chunk-QEBXRSTH.js +68 -0
- package/dist/chunk-QEBXRSTH.js.map +1 -0
- package/dist/chunk-QTKMLEEM.js +68 -0
- package/dist/chunk-QTKMLEEM.js.map +1 -0
- package/dist/chunk-RN4ZII2I.js +68 -0
- package/dist/chunk-RN4ZII2I.js.map +1 -0
- package/dist/chunk-RTCJ5B7S.js +68 -0
- package/dist/chunk-RTCJ5B7S.js.map +1 -0
- package/dist/chunk-SG2ACM7O.js +68 -0
- package/dist/chunk-SG2ACM7O.js.map +1 -0
- package/dist/chunk-SORTCBSJ.js +68 -0
- package/dist/chunk-SORTCBSJ.js.map +1 -0
- package/dist/chunk-TXY7LBYM.js +68 -0
- package/dist/chunk-TXY7LBYM.js.map +1 -0
- package/dist/chunk-UIS6TMM5.js +68 -0
- package/dist/chunk-UIS6TMM5.js.map +1 -0
- package/dist/chunk-VOXUB4AT.js +68 -0
- package/dist/chunk-VOXUB4AT.js.map +1 -0
- package/dist/chunk-VUSSQAEI.js +68 -0
- package/dist/chunk-VUSSQAEI.js.map +1 -0
- package/dist/chunk-WAU2FYDY.js +68 -0
- package/dist/chunk-WAU2FYDY.js.map +1 -0
- package/dist/chunk-YRGKMQP4.js +68 -0
- package/dist/chunk-YRGKMQP4.js.map +1 -0
- package/dist/chunk-Z3XCYZN4.js +68 -0
- package/dist/chunk-Z3XCYZN4.js.map +1 -0
- package/dist/chunk-Z6XLNVF3.js +68 -0
- package/dist/chunk-Z6XLNVF3.js.map +1 -0
- package/dist/chunk-ZQJDUTSK.js +68 -0
- package/dist/chunk-ZQJDUTSK.js.map +1 -0
- package/dist/chunk-ZTYINGDT.js +68 -0
- package/dist/chunk-ZTYINGDT.js.map +1 -0
- package/dist/index.d.ts +185 -23
- package/dist/index.js +359 -3
- package/dist/index.js.map +1 -1
- package/dist/presets/_briefs/airbnb.d.ts +3 -0
- package/dist/presets/_briefs/airbnb.js +551 -0
- package/dist/presets/_briefs/airbnb.js.map +1 -0
- package/dist/presets/_briefs/airtable.d.ts +3 -0
- package/dist/presets/_briefs/airtable.js +560 -0
- package/dist/presets/_briefs/airtable.js.map +1 -0
- package/dist/presets/_briefs/apple.d.ts +3 -0
- package/dist/presets/_briefs/apple.js +568 -0
- package/dist/presets/_briefs/apple.js.map +1 -0
- package/dist/presets/_briefs/binance.d.ts +3 -0
- package/dist/presets/_briefs/binance.js +640 -0
- package/dist/presets/_briefs/binance.js.map +1 -0
- package/dist/presets/_briefs/bmw-m.d.ts +3 -0
- package/dist/presets/_briefs/bmw-m.js +509 -0
- package/dist/presets/_briefs/bmw-m.js.map +1 -0
- package/dist/presets/_briefs/bmw.d.ts +3 -0
- package/dist/presets/_briefs/bmw.js +550 -0
- package/dist/presets/_briefs/bmw.js.map +1 -0
- package/dist/presets/_briefs/bugatti.d.ts +3 -0
- package/dist/presets/_briefs/bugatti.js +460 -0
- package/dist/presets/_briefs/bugatti.js.map +1 -0
- package/dist/presets/_briefs/cal.d.ts +3 -0
- package/dist/presets/_briefs/cal.js +548 -0
- package/dist/presets/_briefs/cal.js.map +1 -0
- package/dist/presets/_briefs/claude.d.ts +3 -0
- package/dist/presets/_briefs/claude.js +595 -0
- package/dist/presets/_briefs/claude.js.map +1 -0
- package/dist/presets/_briefs/clay.d.ts +3 -0
- package/dist/presets/_briefs/clay.js +547 -0
- package/dist/presets/_briefs/clay.js.map +1 -0
- package/dist/presets/_briefs/clickhouse.d.ts +3 -0
- package/dist/presets/_briefs/clickhouse.js +550 -0
- package/dist/presets/_briefs/clickhouse.js.map +1 -0
- package/dist/presets/_briefs/cohere.d.ts +3 -0
- package/dist/presets/_briefs/cohere.js +457 -0
- package/dist/presets/_briefs/cohere.js.map +1 -0
- package/dist/presets/_briefs/coinbase.d.ts +3 -0
- package/dist/presets/_briefs/coinbase.js +576 -0
- package/dist/presets/_briefs/coinbase.js.map +1 -0
- package/dist/presets/_briefs/composio.d.ts +3 -0
- package/dist/presets/_briefs/composio.js +512 -0
- package/dist/presets/_briefs/composio.js.map +1 -0
- package/dist/presets/_briefs/cursor.d.ts +3 -0
- package/dist/presets/_briefs/cursor.js +543 -0
- package/dist/presets/_briefs/cursor.js.map +1 -0
- package/dist/presets/_briefs/elevenlabs.d.ts +3 -0
- package/dist/presets/_briefs/elevenlabs.js +510 -0
- package/dist/presets/_briefs/elevenlabs.js.map +1 -0
- package/dist/presets/_briefs/expo.d.ts +3 -0
- package/dist/presets/_briefs/expo.js +532 -0
- package/dist/presets/_briefs/expo.js.map +1 -0
- package/dist/presets/_briefs/ferrari.d.ts +3 -0
- package/dist/presets/_briefs/ferrari.js +537 -0
- package/dist/presets/_briefs/ferrari.js.map +1 -0
- package/dist/presets/_briefs/figma.d.ts +3 -0
- package/dist/presets/_briefs/figma.js +226 -0
- package/dist/presets/_briefs/figma.js.map +1 -0
- package/dist/presets/_briefs/framer.d.ts +3 -0
- package/dist/presets/_briefs/framer.js +252 -0
- package/dist/presets/_briefs/framer.js.map +1 -0
- package/dist/presets/_briefs/hashicorp.d.ts +3 -0
- package/dist/presets/_briefs/hashicorp.js +284 -0
- package/dist/presets/_briefs/hashicorp.js.map +1 -0
- package/dist/presets/_briefs/ibm.d.ts +3 -0
- package/dist/presets/_briefs/ibm.js +338 -0
- package/dist/presets/_briefs/ibm.js.map +1 -0
- package/dist/presets/_briefs/intercom.d.ts +3 -0
- package/dist/presets/_briefs/intercom.js +152 -0
- package/dist/presets/_briefs/intercom.js.map +1 -0
- package/dist/presets/_briefs/kraken.d.ts +3 -0
- package/dist/presets/_briefs/kraken.js +131 -0
- package/dist/presets/_briefs/kraken.js.map +1 -0
- package/dist/presets/_briefs/lamborghini.d.ts +3 -0
- package/dist/presets/_briefs/lamborghini.js +294 -0
- package/dist/presets/_briefs/lamborghini.js.map +1 -0
- package/dist/presets/_briefs/linear.d.ts +3 -0
- package/dist/presets/_briefs/linear.js +373 -0
- package/dist/presets/_briefs/linear.js.map +1 -0
- package/dist/presets/_briefs/lovable.d.ts +3 -0
- package/dist/presets/_briefs/lovable.js +304 -0
- package/dist/presets/_briefs/lovable.js.map +1 -0
- package/dist/presets/_briefs/mastercard.d.ts +3 -0
- package/dist/presets/_briefs/mastercard.js +371 -0
- package/dist/presets/_briefs/mastercard.js.map +1 -0
- package/dist/presets/_briefs/meta.d.ts +3 -0
- package/dist/presets/_briefs/meta.js +372 -0
- package/dist/presets/_briefs/meta.js.map +1 -0
- package/dist/presets/_briefs/minimax.d.ts +3 -0
- package/dist/presets/_briefs/minimax.js +263 -0
- package/dist/presets/_briefs/minimax.js.map +1 -0
- package/dist/presets/_briefs/mintlify.d.ts +3 -0
- package/dist/presets/_briefs/mintlify.js +332 -0
- package/dist/presets/_briefs/mintlify.js.map +1 -0
- package/dist/presets/_briefs/miro.d.ts +3 -0
- package/dist/presets/_briefs/miro.js +114 -0
- package/dist/presets/_briefs/miro.js.map +1 -0
- package/dist/presets/_briefs/mistral.d.ts +3 -0
- package/dist/presets/_briefs/mistral.js +267 -0
- package/dist/presets/_briefs/mistral.js.map +1 -0
- package/dist/presets/_briefs/mongodb.d.ts +3 -0
- package/dist/presets/_briefs/mongodb.js +272 -0
- package/dist/presets/_briefs/mongodb.js.map +1 -0
- package/dist/presets/_briefs/nike.d.ts +3 -0
- package/dist/presets/_briefs/nike.js +369 -0
- package/dist/presets/_briefs/nike.js.map +1 -0
- package/dist/presets/_briefs/notion.d.ts +3 -0
- package/dist/presets/_briefs/notion.js +315 -0
- package/dist/presets/_briefs/notion.js.map +1 -0
- package/dist/presets/_briefs/nvidia.d.ts +3 -0
- package/dist/presets/_briefs/nvidia.js +299 -0
- package/dist/presets/_briefs/nvidia.js.map +1 -0
- package/dist/presets/_briefs/ollama.d.ts +3 -0
- package/dist/presets/_briefs/ollama.js +273 -0
- package/dist/presets/_briefs/ollama.js.map +1 -0
- package/dist/presets/_briefs/opencode.d.ts +3 -0
- package/dist/presets/_briefs/opencode.js +287 -0
- package/dist/presets/_briefs/opencode.js.map +1 -0
- package/dist/presets/_briefs/pinterest.d.ts +3 -0
- package/dist/presets/_briefs/pinterest.js +236 -0
- package/dist/presets/_briefs/pinterest.js.map +1 -0
- package/dist/presets/_briefs/playstation.d.ts +3 -0
- package/dist/presets/_briefs/playstation.js +370 -0
- package/dist/presets/_briefs/playstation.js.map +1 -0
- package/dist/presets/_briefs/posthog.d.ts +3 -0
- package/dist/presets/_briefs/posthog.js +262 -0
- package/dist/presets/_briefs/posthog.js.map +1 -0
- package/dist/presets/_briefs/raycast.d.ts +3 -0
- package/dist/presets/_briefs/raycast.js +274 -0
- package/dist/presets/_briefs/raycast.js.map +1 -0
- package/dist/presets/_briefs/renault.d.ts +3 -0
- package/dist/presets/_briefs/renault.js +317 -0
- package/dist/presets/_briefs/renault.js.map +1 -0
- package/dist/presets/_briefs/replicate.d.ts +3 -0
- package/dist/presets/_briefs/replicate.js +267 -0
- package/dist/presets/_briefs/replicate.js.map +1 -0
- package/dist/presets/_briefs/resend.d.ts +3 -0
- package/dist/presets/_briefs/resend.js +309 -0
- package/dist/presets/_briefs/resend.js.map +1 -0
- package/dist/presets/_briefs/revolut.d.ts +3 -0
- package/dist/presets/_briefs/revolut.js +191 -0
- package/dist/presets/_briefs/revolut.js.map +1 -0
- package/dist/presets/_briefs/runwayml.d.ts +3 -0
- package/dist/presets/_briefs/runwayml.js +250 -0
- package/dist/presets/_briefs/runwayml.js.map +1 -0
- package/dist/presets/_briefs/sanity.d.ts +3 -0
- package/dist/presets/_briefs/sanity.js +363 -0
- package/dist/presets/_briefs/sanity.js.map +1 -0
- package/dist/presets/_briefs/sentry.d.ts +3 -0
- package/dist/presets/_briefs/sentry.js +268 -0
- package/dist/presets/_briefs/sentry.js.map +1 -0
- package/dist/presets/_briefs/shopify.d.ts +3 -0
- package/dist/presets/_briefs/shopify.js +356 -0
- package/dist/presets/_briefs/shopify.js.map +1 -0
- package/dist/presets/_briefs/slack.d.ts +3 -0
- package/dist/presets/_briefs/slack.js +221 -0
- package/dist/presets/_briefs/slack.js.map +1 -0
- package/dist/presets/_briefs/spacex.d.ts +3 -0
- package/dist/presets/_briefs/spacex.js +200 -0
- package/dist/presets/_briefs/spacex.js.map +1 -0
- package/dist/presets/_briefs/spotify.d.ts +3 -0
- package/dist/presets/_briefs/spotify.js +252 -0
- package/dist/presets/_briefs/spotify.js.map +1 -0
- package/dist/presets/_briefs/starbucks.d.ts +3 -0
- package/dist/presets/_briefs/starbucks.js +586 -0
- package/dist/presets/_briefs/starbucks.js.map +1 -0
- package/dist/presets/_briefs/stripe.d.ts +3 -0
- package/dist/presets/_briefs/stripe.js +328 -0
- package/dist/presets/_briefs/stripe.js.map +1 -0
- package/dist/presets/_briefs/supabase.d.ts +3 -0
- package/dist/presets/_briefs/supabase.js +261 -0
- package/dist/presets/_briefs/supabase.js.map +1 -0
- package/dist/presets/_briefs/superhuman.d.ts +3 -0
- package/dist/presets/_briefs/superhuman.js +258 -0
- package/dist/presets/_briefs/superhuman.js.map +1 -0
- package/dist/presets/_briefs/tesla.d.ts +3 -0
- package/dist/presets/_briefs/tesla.js +292 -0
- package/dist/presets/_briefs/tesla.js.map +1 -0
- package/dist/presets/_briefs/theverge.d.ts +3 -0
- package/dist/presets/_briefs/theverge.js +345 -0
- package/dist/presets/_briefs/theverge.js.map +1 -0
- package/dist/presets/_briefs/together.d.ts +3 -0
- package/dist/presets/_briefs/together.js +269 -0
- package/dist/presets/_briefs/together.js.map +1 -0
- package/dist/presets/_briefs/uber.d.ts +3 -0
- package/dist/presets/_briefs/uber.js +301 -0
- package/dist/presets/_briefs/uber.js.map +1 -0
- package/dist/presets/_briefs/vercel.d.ts +3 -0
- package/dist/presets/_briefs/vercel.js +316 -0
- package/dist/presets/_briefs/vercel.js.map +1 -0
- package/dist/presets/_briefs/vodafone.d.ts +3 -0
- package/dist/presets/_briefs/vodafone.js +429 -0
- package/dist/presets/_briefs/vodafone.js.map +1 -0
- package/dist/presets/_briefs/voltagent.d.ts +3 -0
- package/dist/presets/_briefs/voltagent.js +329 -0
- package/dist/presets/_briefs/voltagent.js.map +1 -0
- package/dist/presets/_briefs/warp.d.ts +3 -0
- package/dist/presets/_briefs/warp.js +259 -0
- package/dist/presets/_briefs/warp.js.map +1 -0
- package/dist/presets/_briefs/webflow.d.ts +3 -0
- package/dist/presets/_briefs/webflow.js +98 -0
- package/dist/presets/_briefs/webflow.js.map +1 -0
- package/dist/presets/_briefs/wired.d.ts +3 -0
- package/dist/presets/_briefs/wired.js +284 -0
- package/dist/presets/_briefs/wired.js.map +1 -0
- package/dist/presets/_briefs/wise.d.ts +3 -0
- package/dist/presets/_briefs/wise.js +179 -0
- package/dist/presets/_briefs/wise.js.map +1 -0
- package/dist/presets/_briefs/x.d.ts +3 -0
- package/dist/presets/_briefs/x.js +263 -0
- package/dist/presets/_briefs/x.js.map +1 -0
- package/dist/presets/_briefs/zapier.d.ts +3 -0
- package/dist/presets/_briefs/zapier.js +334 -0
- package/dist/presets/_briefs/zapier.js.map +1 -0
- package/dist/presets/airbnb.d.ts +5 -0
- package/dist/presets/airbnb.js +7 -0
- package/dist/presets/airbnb.js.map +1 -0
- package/dist/presets/airtable.d.ts +5 -0
- package/dist/presets/airtable.js +7 -0
- package/dist/presets/airtable.js.map +1 -0
- package/dist/presets/apple.d.ts +5 -0
- package/dist/presets/apple.js +7 -0
- package/dist/presets/apple.js.map +1 -0
- package/dist/presets/binance.d.ts +5 -0
- package/dist/presets/binance.js +7 -0
- package/dist/presets/binance.js.map +1 -0
- package/dist/presets/bmw-m.d.ts +5 -0
- package/dist/presets/bmw-m.js +7 -0
- package/dist/presets/bmw-m.js.map +1 -0
- package/dist/presets/bmw.d.ts +5 -0
- package/dist/presets/bmw.js +7 -0
- package/dist/presets/bmw.js.map +1 -0
- package/dist/presets/bugatti.d.ts +5 -0
- package/dist/presets/bugatti.js +7 -0
- package/dist/presets/bugatti.js.map +1 -0
- package/dist/presets/cal.d.ts +5 -0
- package/dist/presets/cal.js +7 -0
- package/dist/presets/cal.js.map +1 -0
- package/dist/presets/claude.d.ts +5 -0
- package/dist/presets/claude.js +7 -0
- package/dist/presets/claude.js.map +1 -0
- package/dist/presets/clay.d.ts +5 -0
- package/dist/presets/clay.js +7 -0
- package/dist/presets/clay.js.map +1 -0
- package/dist/presets/clickhouse.d.ts +5 -0
- package/dist/presets/clickhouse.js +7 -0
- package/dist/presets/clickhouse.js.map +1 -0
- package/dist/presets/cohere.d.ts +5 -0
- package/dist/presets/cohere.js +7 -0
- package/dist/presets/cohere.js.map +1 -0
- package/dist/presets/coinbase.d.ts +5 -0
- package/dist/presets/coinbase.js +7 -0
- package/dist/presets/coinbase.js.map +1 -0
- package/dist/presets/composio.d.ts +5 -0
- package/dist/presets/composio.js +7 -0
- package/dist/presets/composio.js.map +1 -0
- package/dist/presets/cursor.d.ts +5 -0
- package/dist/presets/cursor.js +7 -0
- package/dist/presets/cursor.js.map +1 -0
- package/dist/presets/elevenlabs.d.ts +5 -0
- package/dist/presets/elevenlabs.js +7 -0
- package/dist/presets/elevenlabs.js.map +1 -0
- package/dist/presets/expo.d.ts +5 -0
- package/dist/presets/expo.js +7 -0
- package/dist/presets/expo.js.map +1 -0
- package/dist/presets/ferrari.d.ts +5 -0
- package/dist/presets/ferrari.js +7 -0
- package/dist/presets/ferrari.js.map +1 -0
- package/dist/presets/figma.d.ts +5 -0
- package/dist/presets/figma.js +7 -0
- package/dist/presets/figma.js.map +1 -0
- package/dist/presets/framer.d.ts +5 -0
- package/dist/presets/framer.js +7 -0
- package/dist/presets/framer.js.map +1 -0
- package/dist/presets/hashicorp.d.ts +5 -0
- package/dist/presets/hashicorp.js +7 -0
- package/dist/presets/hashicorp.js.map +1 -0
- package/dist/presets/ibm.d.ts +5 -0
- package/dist/presets/ibm.js +7 -0
- package/dist/presets/ibm.js.map +1 -0
- package/dist/presets/index.d.ts +94 -0
- package/dist/presets/index.js +297 -0
- package/dist/presets/index.js.map +1 -0
- package/dist/presets/intercom.d.ts +5 -0
- package/dist/presets/intercom.js +7 -0
- package/dist/presets/intercom.js.map +1 -0
- package/dist/presets/kraken.d.ts +5 -0
- package/dist/presets/kraken.js +7 -0
- package/dist/presets/kraken.js.map +1 -0
- package/dist/presets/lamborghini.d.ts +5 -0
- package/dist/presets/lamborghini.js +7 -0
- package/dist/presets/lamborghini.js.map +1 -0
- package/dist/presets/linear.d.ts +5 -0
- package/dist/presets/linear.js +7 -0
- package/dist/presets/linear.js.map +1 -0
- package/dist/presets/lovable.d.ts +5 -0
- package/dist/presets/lovable.js +7 -0
- package/dist/presets/lovable.js.map +1 -0
- package/dist/presets/mastercard.d.ts +5 -0
- package/dist/presets/mastercard.js +7 -0
- package/dist/presets/mastercard.js.map +1 -0
- package/dist/presets/meta.d.ts +5 -0
- package/dist/presets/meta.js +7 -0
- package/dist/presets/meta.js.map +1 -0
- package/dist/presets/minimax.d.ts +5 -0
- package/dist/presets/minimax.js +7 -0
- package/dist/presets/minimax.js.map +1 -0
- package/dist/presets/mintlify.d.ts +5 -0
- package/dist/presets/mintlify.js +7 -0
- package/dist/presets/mintlify.js.map +1 -0
- package/dist/presets/miro.d.ts +5 -0
- package/dist/presets/miro.js +7 -0
- package/dist/presets/miro.js.map +1 -0
- package/dist/presets/mistral.d.ts +5 -0
- package/dist/presets/mistral.js +7 -0
- package/dist/presets/mistral.js.map +1 -0
- package/dist/presets/mongodb.d.ts +5 -0
- package/dist/presets/mongodb.js +7 -0
- package/dist/presets/mongodb.js.map +1 -0
- package/dist/presets/nike.d.ts +5 -0
- package/dist/presets/nike.js +7 -0
- package/dist/presets/nike.js.map +1 -0
- package/dist/presets/notion.d.ts +5 -0
- package/dist/presets/notion.js +7 -0
- package/dist/presets/notion.js.map +1 -0
- package/dist/presets/nvidia.d.ts +5 -0
- package/dist/presets/nvidia.js +7 -0
- package/dist/presets/nvidia.js.map +1 -0
- package/dist/presets/ollama.d.ts +5 -0
- package/dist/presets/ollama.js +7 -0
- package/dist/presets/ollama.js.map +1 -0
- package/dist/presets/opencode.d.ts +5 -0
- package/dist/presets/opencode.js +7 -0
- package/dist/presets/opencode.js.map +1 -0
- package/dist/presets/pinterest.d.ts +5 -0
- package/dist/presets/pinterest.js +7 -0
- package/dist/presets/pinterest.js.map +1 -0
- package/dist/presets/playstation.d.ts +5 -0
- package/dist/presets/playstation.js +7 -0
- package/dist/presets/playstation.js.map +1 -0
- package/dist/presets/posthog.d.ts +5 -0
- package/dist/presets/posthog.js +7 -0
- package/dist/presets/posthog.js.map +1 -0
- package/dist/presets/raycast.d.ts +5 -0
- package/dist/presets/raycast.js +7 -0
- package/dist/presets/raycast.js.map +1 -0
- package/dist/presets/renault.d.ts +5 -0
- package/dist/presets/renault.js +7 -0
- package/dist/presets/renault.js.map +1 -0
- package/dist/presets/replicate.d.ts +5 -0
- package/dist/presets/replicate.js +7 -0
- package/dist/presets/replicate.js.map +1 -0
- package/dist/presets/resend.d.ts +5 -0
- package/dist/presets/resend.js +7 -0
- package/dist/presets/resend.js.map +1 -0
- package/dist/presets/revolut.d.ts +5 -0
- package/dist/presets/revolut.js +7 -0
- package/dist/presets/revolut.js.map +1 -0
- package/dist/presets/runwayml.d.ts +5 -0
- package/dist/presets/runwayml.js +7 -0
- package/dist/presets/runwayml.js.map +1 -0
- package/dist/presets/sanity.d.ts +5 -0
- package/dist/presets/sanity.js +7 -0
- package/dist/presets/sanity.js.map +1 -0
- package/dist/presets/sentry.d.ts +5 -0
- package/dist/presets/sentry.js +7 -0
- package/dist/presets/sentry.js.map +1 -0
- package/dist/presets/shopify.d.ts +5 -0
- package/dist/presets/shopify.js +7 -0
- package/dist/presets/shopify.js.map +1 -0
- package/dist/presets/slack.d.ts +5 -0
- package/dist/presets/slack.js +7 -0
- package/dist/presets/slack.js.map +1 -0
- package/dist/presets/spacex.d.ts +5 -0
- package/dist/presets/spacex.js +7 -0
- package/dist/presets/spacex.js.map +1 -0
- package/dist/presets/spotify.d.ts +5 -0
- package/dist/presets/spotify.js +7 -0
- package/dist/presets/spotify.js.map +1 -0
- package/dist/presets/starbucks.d.ts +5 -0
- package/dist/presets/starbucks.js +7 -0
- package/dist/presets/starbucks.js.map +1 -0
- package/dist/presets/stripe.d.ts +5 -0
- package/dist/presets/stripe.js +7 -0
- package/dist/presets/stripe.js.map +1 -0
- package/dist/presets/supabase.d.ts +5 -0
- package/dist/presets/supabase.js +7 -0
- package/dist/presets/supabase.js.map +1 -0
- package/dist/presets/superhuman.d.ts +5 -0
- package/dist/presets/superhuman.js +7 -0
- package/dist/presets/superhuman.js.map +1 -0
- package/dist/presets/tesla.d.ts +5 -0
- package/dist/presets/tesla.js +7 -0
- package/dist/presets/tesla.js.map +1 -0
- package/dist/presets/theverge.d.ts +5 -0
- package/dist/presets/theverge.js +7 -0
- package/dist/presets/theverge.js.map +1 -0
- package/dist/presets/together.d.ts +5 -0
- package/dist/presets/together.js +7 -0
- package/dist/presets/together.js.map +1 -0
- package/dist/presets/uber.d.ts +5 -0
- package/dist/presets/uber.js +7 -0
- package/dist/presets/uber.js.map +1 -0
- package/dist/presets/vercel.d.ts +5 -0
- package/dist/presets/vercel.js +7 -0
- package/dist/presets/vercel.js.map +1 -0
- package/dist/presets/vodafone.d.ts +5 -0
- package/dist/presets/vodafone.js +7 -0
- package/dist/presets/vodafone.js.map +1 -0
- package/dist/presets/voltagent.d.ts +5 -0
- package/dist/presets/voltagent.js +7 -0
- package/dist/presets/voltagent.js.map +1 -0
- package/dist/presets/warp.d.ts +5 -0
- package/dist/presets/warp.js +7 -0
- package/dist/presets/warp.js.map +1 -0
- package/dist/presets/webflow.d.ts +5 -0
- package/dist/presets/webflow.js +7 -0
- package/dist/presets/webflow.js.map +1 -0
- package/dist/presets/wired.d.ts +5 -0
- package/dist/presets/wired.js +7 -0
- package/dist/presets/wired.js.map +1 -0
- package/dist/presets/wise.d.ts +5 -0
- package/dist/presets/wise.js +7 -0
- package/dist/presets/wise.js.map +1 -0
- package/dist/presets/x.d.ts +5 -0
- package/dist/presets/x.js +7 -0
- package/dist/presets/x.js.map +1 -0
- package/dist/presets/zapier.d.ts +5 -0
- package/dist/presets/zapier.js +7 -0
- package/dist/presets/zapier.js.map +1 -0
- package/package.json +17 -5
|
@@ -0,0 +1,221 @@
|
|
|
1
|
+
// src/presets/_briefs/slack.ts
|
|
2
|
+
var slackBrief = `# Design System Inspired by Slack
|
|
3
|
+
|
|
4
|
+
## 1. Visual Theme & Atmosphere
|
|
5
|
+
|
|
6
|
+
Slack's marketing website is a confident, enterprise-friendly showcase that balances Salesforce's corporate muscle with Slack's original playful personality. The design operates on a white canvas with deep aubergine purple (\`#481a54\`, \`#4a154b\`) as the signature brand color \u2014 a rich, wine-dark hue that distinguishes Slack from every blue-dominated enterprise tool. Product screenshots and animated UI demos punctuate the white space, creating a "see it in action" experience.
|
|
7
|
+
|
|
8
|
+
The typography reflects Slack's acquisition by Salesforce: Salesforce-Avant-Garde handles display headings at massive scale (64px, weight 700) with negative letter-spacing (-0.768px), while Salesforce-Sans serves as the UI/body workhorse. Both fonts carry Salesforce's geometric precision but retain enough warmth to feel approachable. Uppercase button labels with positive letter-spacing (0.8px\u20130.96px) create a systematic, enterprise-label voice.
|
|
9
|
+
|
|
10
|
+
What makes Slack distinctive is its hover behavior: buttons transition from a soft lavender (\`#f9f0ff\`) to deep aubergine (\`#4a154b\`) on hover with a \`translate(3px)\` shift \u2014 a playful micro-animation that retains Slack's personality within the Salesforce design language. The sidebar highlight blue (\`#1264a3\`) provides the secondary interactive accent, and the overall shadow system uses soft, wide-radius shadows (\`0px 0px 32px\` at 0.1 opacity) that create a gentle, cloud-like elevation.
|
|
11
|
+
|
|
12
|
+
**Key Characteristics:**
|
|
13
|
+
- Aubergine purple (\`#481a54\`, \`#4a154b\`) as singular brand color \u2014 distinctive in an ocean of blue enterprise tools
|
|
14
|
+
- Salesforce-Avant-Garde for display (up to 64px, weight 700, negative tracking)
|
|
15
|
+
- Salesforce-Sans for body/UI with both positive and negative letter-spacing variants
|
|
16
|
+
- Soft lavender button (\`#f9f0ff\`) \u2192 aubergine hover with translate(3px) animation
|
|
17
|
+
- Sidebar Blue (\`#1264a3\`) as secondary interactive accent
|
|
18
|
+
- Uppercase labels with wide tracking (0.8px\u20130.96px) for enterprise structure
|
|
19
|
+
- Soft, wide-radius shadows (32px blur at 0.1 opacity) \u2014 cloud-like elevation
|
|
20
|
+
- Purple inset ring (\`rgb(97,31,105) 0px 0px 0px 1px inset\`) for active states
|
|
21
|
+
|
|
22
|
+
## 2. Color Palette & Roles
|
|
23
|
+
|
|
24
|
+
### Primary Brand
|
|
25
|
+
- **Aubergine** (\`#481a54\`): Deep purple brand color \u2014 hero backgrounds, dark sections
|
|
26
|
+
- **Aubergine Dark** (\`#4a154b\`): Button hover, slightly different shade for depth
|
|
27
|
+
- **Aubergine Link** (\`#611f69\`): Purple link text variant
|
|
28
|
+
|
|
29
|
+
### Interactive
|
|
30
|
+
- **Sidebar Blue** (\`#1264a3\`): \`--sidebar-highlight-color\`, active states, focus borders
|
|
31
|
+
- **Hover Blue** (\`#3860be\`): All link hover states transition to this blue
|
|
32
|
+
- **Lavender Surface** (\`#f9f0ff\`): Primary button background \u2014 soft, inviting purple tint
|
|
33
|
+
- **Purple Border** (\`#592466\`): Button borders on purple context
|
|
34
|
+
- **Purple Inset** (\`rgb(97, 31, 105)\`): Inset ring shadow for active/focus
|
|
35
|
+
|
|
36
|
+
### Text
|
|
37
|
+
- **White** (\`#ffffff\`): Primary text on dark/purple surfaces
|
|
38
|
+
- **Near Black** (\`#1d1d1d\`): Primary text on light surfaces
|
|
39
|
+
- **Black** (\`#000000\`): Secondary, attachment color
|
|
40
|
+
- **Mid Gray** (\`#696969\`): Muted text, secondary descriptions
|
|
41
|
+
|
|
42
|
+
### Shadows
|
|
43
|
+
- **Soft Wide** (\`rgba(0,0,0,0.1) 0px 0px 32px\`): Primary card elevation \u2014 cloud-like
|
|
44
|
+
- **Button Lift** (\`rgba(0,0,0,0.1) 0px 5px 20px\`): Button default shadow
|
|
45
|
+
- **Subtle** (\`rgba(0,0,0,0.2) 0px 1px 10px\`): Light elevation
|
|
46
|
+
|
|
47
|
+
## 3. Typography Rules
|
|
48
|
+
|
|
49
|
+
### Font Families
|
|
50
|
+
- **Display**: \`Salesforce-Avant-Garde\`, fallbacks: \`system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans\`
|
|
51
|
+
- **Body / UI**: \`Salesforce-Sans\`, same fallback stack
|
|
52
|
+
|
|
53
|
+
### Hierarchy
|
|
54
|
+
|
|
55
|
+
| Role | Font | Size | Weight | Line Height | Letter Spacing | Notes |
|
|
56
|
+
|------|------|------|--------|-------------|----------------|-------|
|
|
57
|
+
| Display Hero | SF-Avant-Garde | 64px (4.00rem) | 700 | 1.12 (tight) | -0.768px | Maximum impact |
|
|
58
|
+
| Display Secondary | SF-Avant-Garde | 58px (3.63rem) | 600 | 1.25 (tight) | -0.464px | Sub-hero |
|
|
59
|
+
| Section Heading | SF-Avant-Garde | 50px (3.13rem) | 700 | 1.12 (tight) | -0.6px | Feature sections |
|
|
60
|
+
| Sub-heading | SF-Avant-Garde | 32px (2.00rem) | 700 | 1.25 (tight) | -0.256px | Card headings |
|
|
61
|
+
| Card Title | SF-Avant-Garde | 24px (1.50rem) | 700 | 1.33 | -0.096px | Smaller headings |
|
|
62
|
+
| Feature Label | SF-Avant-Garde | 18px (1.13rem) | 600 | 1.56 | -0.0216px | Feature emphasis |
|
|
63
|
+
| Body Bold | Salesforce-Sans | 18px (1.13rem) | 700 | 1.55\u20131.67 | -0.072px | Strong body |
|
|
64
|
+
| Body | Salesforce-Sans | 18px (1.13rem) | 400 | 1.55 | -0.0216px | Standard reading |
|
|
65
|
+
| Body Light | Salesforce-Sans | 18px (1.13rem) | 300 | \u2014 | \u2014 | Light variant |
|
|
66
|
+
| Button Large | SF-Avant-Garde / SF-Sans | 18px (1.13rem) | 700 | \u2014 | \u2014 | Primary CTA |
|
|
67
|
+
| Button | Salesforce-Sans | 16px (1.00rem) | 700 | 1.38 | 0.2px | Standard button |
|
|
68
|
+
| Nav Bold | Salesforce-Sans | 15px (0.94rem) | 700 | 1.55 | -0.0216px | Navigation |
|
|
69
|
+
| Caption | Salesforce-Sans | 14px (0.88rem) | 400\u2013700 | 1.30\u20131.55 | 0.1px | Metadata |
|
|
70
|
+
| Uppercase Label | Salesforce-Sans | 14px (0.88rem) | 700 | 1.29 (tight) | 0.798px | \`text-transform: uppercase\` |
|
|
71
|
+
| Uppercase Small | Salesforce-Sans | 12px (0.75rem) | 700 | 1.00 (tight) | 0.96px | \`text-transform: uppercase\` |
|
|
72
|
+
|
|
73
|
+
### Principles
|
|
74
|
+
- **Dual-font Salesforce system**: Avant-Garde for display authority, Sans for body reliability. The enterprise weight of Salesforce's type system gives Slack corporate credibility.
|
|
75
|
+
- **Negative tracking on display**: -0.256px to -0.768px on headings creates compressed, impactful titles.
|
|
76
|
+
- **Positive tracking on labels**: +0.2px to +0.96px on uppercase labels creates the structured enterprise labeling system.
|
|
77
|
+
- **Weight 700 dominant for headings**: Both fonts use bold as the primary heading weight \u2014 confident, not subtle.
|
|
78
|
+
|
|
79
|
+
## 4. Component Stylings
|
|
80
|
+
|
|
81
|
+
### Buttons
|
|
82
|
+
|
|
83
|
+
**Primary Lavender**
|
|
84
|
+
- Background: \`#f9f0ff\` (soft lavender)
|
|
85
|
+
- Text: \`#000000\`
|
|
86
|
+
- Padding: 10px 30px
|
|
87
|
+
- Shadow: \`rgba(0,0,0,0.1) 0px 5px 20px\`
|
|
88
|
+
- Hover: background \`#4a154b\` (aubergine), text white, border \`2px solid #1264a3\`, translate(3px)
|
|
89
|
+
- Active: text \`#1264a3\`, inset ring \`rgb(255,255,255) 0px 0px 0px 2px inset\`, dotted outline \`#611f69\`
|
|
90
|
+
- The signature button \u2014 lavender to aubergine on hover
|
|
91
|
+
|
|
92
|
+
**Pill Button (90px radius)**
|
|
93
|
+
- Salesforce-Sans 16px weight 700
|
|
94
|
+
- Various background treatments
|
|
95
|
+
- 90px radius creates large pill shape
|
|
96
|
+
|
|
97
|
+
**Uppercase Small**
|
|
98
|
+
- Salesforce-Sans 12px weight 700
|
|
99
|
+
- \`text-transform: uppercase\`
|
|
100
|
+
- Letter-spacing: 0.96px
|
|
101
|
+
- 4px radius
|
|
102
|
+
|
|
103
|
+
### Cards & Containers
|
|
104
|
+
- Background: white
|
|
105
|
+
- Radius: 16px (cards), 48px (large panels)
|
|
106
|
+
- Shadow: \`rgba(0,0,0,0.1) 0px 0px 32px\` (soft, wide)
|
|
107
|
+
- Border: \`1px solid rgba(0,0,0,0.04)\` (ultra-subtle)
|
|
108
|
+
- Product screenshots as primary card content
|
|
109
|
+
|
|
110
|
+
### Navigation
|
|
111
|
+
- Dark aubergine header or white header
|
|
112
|
+
- Salesforce-Sans 15px weight 700 for nav links
|
|
113
|
+
- Slack/Salesforce logo left-aligned
|
|
114
|
+
- Lavender CTA button right-aligned
|
|
115
|
+
- Mobile: hamburger with 4px radius toggle
|
|
116
|
+
|
|
117
|
+
## 5. Layout Principles
|
|
118
|
+
|
|
119
|
+
### Spacing System
|
|
120
|
+
- Base unit: 8px
|
|
121
|
+
- Scale: 4px, 5px, 6px, 8px, 10px, 12px, 16px, 19px, 20px, 23px, 24px, 28px
|
|
122
|
+
|
|
123
|
+
### Grid & Container
|
|
124
|
+
- Centered content with generous max-width
|
|
125
|
+
- Product demo sections with screenshots
|
|
126
|
+
- Stat counter sections with large numbers
|
|
127
|
+
- Trust bar with company logos
|
|
128
|
+
- Full-width aubergine footer
|
|
129
|
+
|
|
130
|
+
### Whitespace Philosophy
|
|
131
|
+
- **Enterprise generosity**: Wide spacing between sections creates a professional, unhurried pace that communicates stability.
|
|
132
|
+
- **Demo-forward**: Product screenshots and UI demos get generous space to breathe.
|
|
133
|
+
|
|
134
|
+
### Border Radius Scale
|
|
135
|
+
- Minimal (2px): Close buttons, small utility
|
|
136
|
+
- Subtle (4px): Standard buttons, search
|
|
137
|
+
- Standard (8px): List items, video containers
|
|
138
|
+
- Comfortable (12px): Video, medium panels
|
|
139
|
+
- Card (16px): Feature cards, navigation
|
|
140
|
+
- Large (48px): Hero panels, large containers
|
|
141
|
+
- Pill (90px): Primary CTA buttons
|
|
142
|
+
|
|
143
|
+
## 6. Depth & Elevation
|
|
144
|
+
|
|
145
|
+
| Level | Treatment | Use |
|
|
146
|
+
|-------|-----------|-----|
|
|
147
|
+
| Flat (Level 0) | No shadow | Default surfaces |
|
|
148
|
+
| Soft Wide (Level 1) | \`rgba(0,0,0,0.1) 0px 0px 32px\` | Cards, demo panels |
|
|
149
|
+
| Button (Level 2) | \`rgba(0,0,0,0.1) 0px 5px 20px\` | CTA buttons |
|
|
150
|
+
| Subtle (Level 3) | \`rgba(0,0,0,0.2) 0px 1px 10px\` | Dropdowns |
|
|
151
|
+
| Purple Inset | \`rgb(97,31,105) 0px 0px 0px 1px inset\` | Active state ring |
|
|
152
|
+
|
|
153
|
+
**Shadow Philosophy**: Slack uses notably wide-radius shadows (32px blur) at low opacity (0.1), creating a cloud-like floating quality. Elements don't appear elevated \u2014 they appear to gently hover, reflecting the "Slack is where work happens in the cloud" metaphor.
|
|
154
|
+
|
|
155
|
+
## 7. Do's and Don'ts
|
|
156
|
+
|
|
157
|
+
### Do
|
|
158
|
+
- Use aubergine (\`#481a54\` / \`#4a154b\`) as the primary brand color \u2014 it's Slack's identity
|
|
159
|
+
- Apply the lavender-to-aubergine hover transition on primary buttons
|
|
160
|
+
- Use Salesforce-Avant-Garde for display headings only, Salesforce-Sans for everything else
|
|
161
|
+
- Apply uppercase + positive letter-spacing (0.8px\u20130.96px) for labels and small buttons
|
|
162
|
+
- Use wide-radius shadows (32px blur) for cloud-like elevation
|
|
163
|
+
- Include the translate(3px) hover animation on buttons
|
|
164
|
+
- Use Sidebar Blue (\`#1264a3\`) for secondary interactive accents
|
|
165
|
+
|
|
166
|
+
### Don't
|
|
167
|
+
- Don't use standard blue as the primary brand color \u2014 aubergine is non-negotiable
|
|
168
|
+
- Don't skip the hover animation (translate + color shift) on primary buttons
|
|
169
|
+
- Don't use heavy/sharp shadows \u2014 Slack's elevation is soft and wide
|
|
170
|
+
- Don't apply negative letter-spacing to button labels \u2014 buttons use positive tracking
|
|
171
|
+
- Don't use aubergine as body text color \u2014 it's for surfaces and dark sections
|
|
172
|
+
- Don't mix Avant-Garde into body text \u2014 it's display-only
|
|
173
|
+
|
|
174
|
+
## 8. Responsive Behavior
|
|
175
|
+
|
|
176
|
+
### Breakpoints
|
|
177
|
+
| Name | Width | Key Changes |
|
|
178
|
+
|------|-------|-------------|
|
|
179
|
+
| Mobile | <479px | Single column, hamburger nav |
|
|
180
|
+
| Mobile Large | 479\u2013768px | Slight adjustments |
|
|
181
|
+
| Tablet | 768\u20131024px | 2-column layouts begin |
|
|
182
|
+
| Desktop | 1024\u20131280px | Standard desktop layout |
|
|
183
|
+
| Large Desktop | 1280\u20131440px | Expanded |
|
|
184
|
+
| Ultra-wide | >1440px | Maximum width |
|
|
185
|
+
|
|
186
|
+
### Collapsing Strategy
|
|
187
|
+
- Hero: 64px \u2192 50px \u2192 scales down
|
|
188
|
+
- Navigation: horizontal \u2192 hamburger (4px radius toggle)
|
|
189
|
+
- Feature sections: side-by-side \u2192 stacked
|
|
190
|
+
- Stats: horizontal counters \u2192 vertical
|
|
191
|
+
- Buttons: maintain pill shape, full-width on mobile
|
|
192
|
+
|
|
193
|
+
## 9. Agent Prompt Guide
|
|
194
|
+
|
|
195
|
+
### Quick Color Reference
|
|
196
|
+
- Brand: Aubergine (\`#481a54\`)
|
|
197
|
+
- Button: Lavender (\`#f9f0ff\`)
|
|
198
|
+
- Button hover: Aubergine Dark (\`#4a154b\`)
|
|
199
|
+
- Interactive: Sidebar Blue (\`#1264a3\`)
|
|
200
|
+
- Text light: White (\`#ffffff\`)
|
|
201
|
+
- Text dark: Near Black (\`#1d1d1d\`)
|
|
202
|
+
- Muted: Mid Gray (\`#696969\`)
|
|
203
|
+
|
|
204
|
+
### Example Component Prompts
|
|
205
|
+
- "Create a hero: white background. Headline at 64px Salesforce-Avant-Garde weight 700, line-height 1.12, letter-spacing -0.768px, black text. Lavender CTA button (#f9f0ff, 10px 30px padding, shadow rgba(0,0,0,0.1) 0px 5px 20px). On hover: aubergine (#4a154b) background, white text, translate(3px)."
|
|
206
|
+
- "Design an aubergine section: #481a54 background. White text at 32px SF-Avant-Garde weight 700. Stat counters at 50px weight 700."
|
|
207
|
+
- "Build uppercase label: 12px Salesforce-Sans weight 700, text-transform uppercase, letter-spacing 0.96px."
|
|
208
|
+
- "Create a card: white background, 16px radius, shadow rgba(0,0,0,0.1) 0px 0px 32px. Product screenshot inside."
|
|
209
|
+
|
|
210
|
+
### Iteration Guide
|
|
211
|
+
1. Aubergine purple is the signature \u2014 every design should include it somewhere
|
|
212
|
+
2. Lavender (#f9f0ff) buttons with aubergine hover = the Slack interaction
|
|
213
|
+
3. Salesforce-Avant-Garde for display, Salesforce-Sans for body \u2014 strict split
|
|
214
|
+
4. Uppercase + positive tracking for labels and small buttons
|
|
215
|
+
5. Soft wide shadows (32px blur) for the cloud-floating quality
|
|
216
|
+
6. translate(3px) on hover for playful enterprise personality
|
|
217
|
+
`;
|
|
218
|
+
export {
|
|
219
|
+
slackBrief
|
|
220
|
+
};
|
|
221
|
+
//# sourceMappingURL=slack.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/presets/_briefs/slack.ts"],"sourcesContent":["// AUTO-GENERATED — do not hand-edit. Source: https://github.com/voltagent/awesome-design-md\nexport const slackBrief = `# Design System Inspired by Slack\n\n## 1. Visual Theme & Atmosphere\n\nSlack's marketing website is a confident, enterprise-friendly showcase that balances Salesforce's corporate muscle with Slack's original playful personality. The design operates on a white canvas with deep aubergine purple (\\`#481a54\\`, \\`#4a154b\\`) as the signature brand color — a rich, wine-dark hue that distinguishes Slack from every blue-dominated enterprise tool. Product screenshots and animated UI demos punctuate the white space, creating a \"see it in action\" experience.\n\nThe typography reflects Slack's acquisition by Salesforce: Salesforce-Avant-Garde handles display headings at massive scale (64px, weight 700) with negative letter-spacing (-0.768px), while Salesforce-Sans serves as the UI/body workhorse. Both fonts carry Salesforce's geometric precision but retain enough warmth to feel approachable. Uppercase button labels with positive letter-spacing (0.8px–0.96px) create a systematic, enterprise-label voice.\n\nWhat makes Slack distinctive is its hover behavior: buttons transition from a soft lavender (\\`#f9f0ff\\`) to deep aubergine (\\`#4a154b\\`) on hover with a \\`translate(3px)\\` shift — a playful micro-animation that retains Slack's personality within the Salesforce design language. The sidebar highlight blue (\\`#1264a3\\`) provides the secondary interactive accent, and the overall shadow system uses soft, wide-radius shadows (\\`0px 0px 32px\\` at 0.1 opacity) that create a gentle, cloud-like elevation.\n\n**Key Characteristics:**\n- Aubergine purple (\\`#481a54\\`, \\`#4a154b\\`) as singular brand color — distinctive in an ocean of blue enterprise tools\n- Salesforce-Avant-Garde for display (up to 64px, weight 700, negative tracking)\n- Salesforce-Sans for body/UI with both positive and negative letter-spacing variants\n- Soft lavender button (\\`#f9f0ff\\`) → aubergine hover with translate(3px) animation\n- Sidebar Blue (\\`#1264a3\\`) as secondary interactive accent\n- Uppercase labels with wide tracking (0.8px–0.96px) for enterprise structure\n- Soft, wide-radius shadows (32px blur at 0.1 opacity) — cloud-like elevation\n- Purple inset ring (\\`rgb(97,31,105) 0px 0px 0px 1px inset\\`) for active states\n\n## 2. Color Palette & Roles\n\n### Primary Brand\n- **Aubergine** (\\`#481a54\\`): Deep purple brand color — hero backgrounds, dark sections\n- **Aubergine Dark** (\\`#4a154b\\`): Button hover, slightly different shade for depth\n- **Aubergine Link** (\\`#611f69\\`): Purple link text variant\n\n### Interactive\n- **Sidebar Blue** (\\`#1264a3\\`): \\`--sidebar-highlight-color\\`, active states, focus borders\n- **Hover Blue** (\\`#3860be\\`): All link hover states transition to this blue\n- **Lavender Surface** (\\`#f9f0ff\\`): Primary button background — soft, inviting purple tint\n- **Purple Border** (\\`#592466\\`): Button borders on purple context\n- **Purple Inset** (\\`rgb(97, 31, 105)\\`): Inset ring shadow for active/focus\n\n### Text\n- **White** (\\`#ffffff\\`): Primary text on dark/purple surfaces\n- **Near Black** (\\`#1d1d1d\\`): Primary text on light surfaces\n- **Black** (\\`#000000\\`): Secondary, attachment color\n- **Mid Gray** (\\`#696969\\`): Muted text, secondary descriptions\n\n### Shadows\n- **Soft Wide** (\\`rgba(0,0,0,0.1) 0px 0px 32px\\`): Primary card elevation — cloud-like\n- **Button Lift** (\\`rgba(0,0,0,0.1) 0px 5px 20px\\`): Button default shadow\n- **Subtle** (\\`rgba(0,0,0,0.2) 0px 1px 10px\\`): Light elevation\n\n## 3. Typography Rules\n\n### Font Families\n- **Display**: \\`Salesforce-Avant-Garde\\`, fallbacks: \\`system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans\\`\n- **Body / UI**: \\`Salesforce-Sans\\`, same fallback stack\n\n### Hierarchy\n\n| Role | Font | Size | Weight | Line Height | Letter Spacing | Notes |\n|------|------|------|--------|-------------|----------------|-------|\n| Display Hero | SF-Avant-Garde | 64px (4.00rem) | 700 | 1.12 (tight) | -0.768px | Maximum impact |\n| Display Secondary | SF-Avant-Garde | 58px (3.63rem) | 600 | 1.25 (tight) | -0.464px | Sub-hero |\n| Section Heading | SF-Avant-Garde | 50px (3.13rem) | 700 | 1.12 (tight) | -0.6px | Feature sections |\n| Sub-heading | SF-Avant-Garde | 32px (2.00rem) | 700 | 1.25 (tight) | -0.256px | Card headings |\n| Card Title | SF-Avant-Garde | 24px (1.50rem) | 700 | 1.33 | -0.096px | Smaller headings |\n| Feature Label | SF-Avant-Garde | 18px (1.13rem) | 600 | 1.56 | -0.0216px | Feature emphasis |\n| Body Bold | Salesforce-Sans | 18px (1.13rem) | 700 | 1.55–1.67 | -0.072px | Strong body |\n| Body | Salesforce-Sans | 18px (1.13rem) | 400 | 1.55 | -0.0216px | Standard reading |\n| Body Light | Salesforce-Sans | 18px (1.13rem) | 300 | — | — | Light variant |\n| Button Large | SF-Avant-Garde / SF-Sans | 18px (1.13rem) | 700 | — | — | Primary CTA |\n| Button | Salesforce-Sans | 16px (1.00rem) | 700 | 1.38 | 0.2px | Standard button |\n| Nav Bold | Salesforce-Sans | 15px (0.94rem) | 700 | 1.55 | -0.0216px | Navigation |\n| Caption | Salesforce-Sans | 14px (0.88rem) | 400–700 | 1.30–1.55 | 0.1px | Metadata |\n| Uppercase Label | Salesforce-Sans | 14px (0.88rem) | 700 | 1.29 (tight) | 0.798px | \\`text-transform: uppercase\\` |\n| Uppercase Small | Salesforce-Sans | 12px (0.75rem) | 700 | 1.00 (tight) | 0.96px | \\`text-transform: uppercase\\` |\n\n### Principles\n- **Dual-font Salesforce system**: Avant-Garde for display authority, Sans for body reliability. The enterprise weight of Salesforce's type system gives Slack corporate credibility.\n- **Negative tracking on display**: -0.256px to -0.768px on headings creates compressed, impactful titles.\n- **Positive tracking on labels**: +0.2px to +0.96px on uppercase labels creates the structured enterprise labeling system.\n- **Weight 700 dominant for headings**: Both fonts use bold as the primary heading weight — confident, not subtle.\n\n## 4. Component Stylings\n\n### Buttons\n\n**Primary Lavender**\n- Background: \\`#f9f0ff\\` (soft lavender)\n- Text: \\`#000000\\`\n- Padding: 10px 30px\n- Shadow: \\`rgba(0,0,0,0.1) 0px 5px 20px\\`\n- Hover: background \\`#4a154b\\` (aubergine), text white, border \\`2px solid #1264a3\\`, translate(3px)\n- Active: text \\`#1264a3\\`, inset ring \\`rgb(255,255,255) 0px 0px 0px 2px inset\\`, dotted outline \\`#611f69\\`\n- The signature button — lavender to aubergine on hover\n\n**Pill Button (90px radius)**\n- Salesforce-Sans 16px weight 700\n- Various background treatments\n- 90px radius creates large pill shape\n\n**Uppercase Small**\n- Salesforce-Sans 12px weight 700\n- \\`text-transform: uppercase\\`\n- Letter-spacing: 0.96px\n- 4px radius\n\n### Cards & Containers\n- Background: white\n- Radius: 16px (cards), 48px (large panels)\n- Shadow: \\`rgba(0,0,0,0.1) 0px 0px 32px\\` (soft, wide)\n- Border: \\`1px solid rgba(0,0,0,0.04)\\` (ultra-subtle)\n- Product screenshots as primary card content\n\n### Navigation\n- Dark aubergine header or white header\n- Salesforce-Sans 15px weight 700 for nav links\n- Slack/Salesforce logo left-aligned\n- Lavender CTA button right-aligned\n- Mobile: hamburger with 4px radius toggle\n\n## 5. Layout Principles\n\n### Spacing System\n- Base unit: 8px\n- Scale: 4px, 5px, 6px, 8px, 10px, 12px, 16px, 19px, 20px, 23px, 24px, 28px\n\n### Grid & Container\n- Centered content with generous max-width\n- Product demo sections with screenshots\n- Stat counter sections with large numbers\n- Trust bar with company logos\n- Full-width aubergine footer\n\n### Whitespace Philosophy\n- **Enterprise generosity**: Wide spacing between sections creates a professional, unhurried pace that communicates stability.\n- **Demo-forward**: Product screenshots and UI demos get generous space to breathe.\n\n### Border Radius Scale\n- Minimal (2px): Close buttons, small utility\n- Subtle (4px): Standard buttons, search\n- Standard (8px): List items, video containers\n- Comfortable (12px): Video, medium panels\n- Card (16px): Feature cards, navigation\n- Large (48px): Hero panels, large containers\n- Pill (90px): Primary CTA buttons\n\n## 6. Depth & Elevation\n\n| Level | Treatment | Use |\n|-------|-----------|-----|\n| Flat (Level 0) | No shadow | Default surfaces |\n| Soft Wide (Level 1) | \\`rgba(0,0,0,0.1) 0px 0px 32px\\` | Cards, demo panels |\n| Button (Level 2) | \\`rgba(0,0,0,0.1) 0px 5px 20px\\` | CTA buttons |\n| Subtle (Level 3) | \\`rgba(0,0,0,0.2) 0px 1px 10px\\` | Dropdowns |\n| Purple Inset | \\`rgb(97,31,105) 0px 0px 0px 1px inset\\` | Active state ring |\n\n**Shadow Philosophy**: Slack uses notably wide-radius shadows (32px blur) at low opacity (0.1), creating a cloud-like floating quality. Elements don't appear elevated — they appear to gently hover, reflecting the \"Slack is where work happens in the cloud\" metaphor.\n\n## 7. Do's and Don'ts\n\n### Do\n- Use aubergine (\\`#481a54\\` / \\`#4a154b\\`) as the primary brand color — it's Slack's identity\n- Apply the lavender-to-aubergine hover transition on primary buttons\n- Use Salesforce-Avant-Garde for display headings only, Salesforce-Sans for everything else\n- Apply uppercase + positive letter-spacing (0.8px–0.96px) for labels and small buttons\n- Use wide-radius shadows (32px blur) for cloud-like elevation\n- Include the translate(3px) hover animation on buttons\n- Use Sidebar Blue (\\`#1264a3\\`) for secondary interactive accents\n\n### Don't\n- Don't use standard blue as the primary brand color — aubergine is non-negotiable\n- Don't skip the hover animation (translate + color shift) on primary buttons\n- Don't use heavy/sharp shadows — Slack's elevation is soft and wide\n- Don't apply negative letter-spacing to button labels — buttons use positive tracking\n- Don't use aubergine as body text color — it's for surfaces and dark sections\n- Don't mix Avant-Garde into body text — it's display-only\n\n## 8. Responsive Behavior\n\n### Breakpoints\n| Name | Width | Key Changes |\n|------|-------|-------------|\n| Mobile | <479px | Single column, hamburger nav |\n| Mobile Large | 479–768px | Slight adjustments |\n| Tablet | 768–1024px | 2-column layouts begin |\n| Desktop | 1024–1280px | Standard desktop layout |\n| Large Desktop | 1280–1440px | Expanded |\n| Ultra-wide | >1440px | Maximum width |\n\n### Collapsing Strategy\n- Hero: 64px → 50px → scales down\n- Navigation: horizontal → hamburger (4px radius toggle)\n- Feature sections: side-by-side → stacked\n- Stats: horizontal counters → vertical\n- Buttons: maintain pill shape, full-width on mobile\n\n## 9. Agent Prompt Guide\n\n### Quick Color Reference\n- Brand: Aubergine (\\`#481a54\\`)\n- Button: Lavender (\\`#f9f0ff\\`)\n- Button hover: Aubergine Dark (\\`#4a154b\\`)\n- Interactive: Sidebar Blue (\\`#1264a3\\`)\n- Text light: White (\\`#ffffff\\`)\n- Text dark: Near Black (\\`#1d1d1d\\`)\n- Muted: Mid Gray (\\`#696969\\`)\n\n### Example Component Prompts\n- \"Create a hero: white background. Headline at 64px Salesforce-Avant-Garde weight 700, line-height 1.12, letter-spacing -0.768px, black text. Lavender CTA button (#f9f0ff, 10px 30px padding, shadow rgba(0,0,0,0.1) 0px 5px 20px). On hover: aubergine (#4a154b) background, white text, translate(3px).\"\n- \"Design an aubergine section: #481a54 background. White text at 32px SF-Avant-Garde weight 700. Stat counters at 50px weight 700.\"\n- \"Build uppercase label: 12px Salesforce-Sans weight 700, text-transform uppercase, letter-spacing 0.96px.\"\n- \"Create a card: white background, 16px radius, shadow rgba(0,0,0,0.1) 0px 0px 32px. Product screenshot inside.\"\n\n### Iteration Guide\n1. Aubergine purple is the signature — every design should include it somewhere\n2. Lavender (#f9f0ff) buttons with aubergine hover = the Slack interaction\n3. Salesforce-Avant-Garde for display, Salesforce-Sans for body — strict split\n4. Uppercase + positive tracking for labels and small buttons\n5. Soft wide shadows (32px blur) for the cloud-floating quality\n6. translate(3px) on hover for playful enterprise personality\n`;\n"],"mappings":";AACO,IAAM,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;","names":[]}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
declare const spacexBrief = "# Design System Inspired by SpaceX\n\n## 1. Visual Theme & Atmosphere\n\nSpaceX's website is a full-screen cinematic experience that treats aerospace engineering like a film \u2014 every section is a scene, every photograph is a frame, and the interface disappears entirely behind the imagery. The design is pure black (`#000000`) with photography of rockets, space, and planets occupying 100% of the viewport. Text overlays sit directly on these photographs with no background panels, cards, or containers \u2014 just type on image, bold and unapologetic.\n\nThe typography system uses D-DIN, an industrial geometric typeface with DIN heritage (the German industrial standard). The defining characteristic is that virtually ALL text is uppercase with positive letter-spacing (0.96px\u20131.17px), creating a military/aerospace labeling system where every word feels stenciled onto a spacecraft hull. D-DIN-Bold at 48px with uppercase and 0.96px tracking for the hero creates headlines that feel like mission briefing titles. Even body text at 16px maintains the uppercase/tracked treatment at smaller scales.\n\nWhat makes SpaceX distinctive is its radical minimalism: no shadows, no borders (except one ghost button border at `rgba(240,240,250,0.35)`), no color (only black and a spectral near-white `#f0f0fa`), no cards, no grids. The only visual element is photography + text. The ghost button with `rgba(240,240,250,0.1)` background and 32px radius is the sole interactive element \u2014 barely visible, floating over the imagery like a heads-up display. This isn't a design system in the traditional sense \u2014 it's a photographic exhibition with a type system and a single button.\n\n**Key Characteristics:**\n- Pure black canvas with full-viewport cinematic photography \u2014 the interface is invisible\n- D-DIN / D-DIN-Bold \u2014 industrial DIN-heritage typeface\n- Universal uppercase + positive letter-spacing (0.96px\u20131.17px) \u2014 aerospace stencil aesthetic\n- Near-white spectral text (`#f0f0fa`) \u2014 not pure white, a slight blue-violet tint\n- Zero shadows, zero cards, zero containers \u2014 text on image only\n- Single ghost button: `rgba(240,240,250,0.1)` background with spectral border\n- Full-viewport sections \u2014 each section is a cinematic \"scene\"\n- No decorative elements \u2014 every pixel serves the photography\n\n## 2. Color Palette & Roles\n\n### Primary\n- **Space Black** (`#000000`): Page background, the void of space \u2014 at 50% opacity for overlay gradient\n- **Spectral White** (`#f0f0fa`): Text color \u2014 not pure white, a slight blue-violet tint that mimics starlight\n\n### Interactive\n- **Ghost Surface** (`rgba(240, 240, 250, 0.1)`): Button background \u2014 nearly invisible, 10% opacity\n- **Ghost Border** (`rgba(240, 240, 250, 0.35)`): Button border \u2014 spectral, 35% opacity\n- **Hover White** (`var(--white-100)`): Link hover state \u2014 full spectral white\n\n### Gradient\n- **Dark Overlay** (`rgba(0, 0, 0, 0.5)`): Gradient overlay on photographs to ensure text legibility\n\n## 3. Typography Rules\n\n### Font Families\n- **Display**: `D-DIN-Bold` \u2014 bold industrial geometric\n- **Body / UI**: `D-DIN`, fallbacks: `Arial, Verdana`\n\n### Hierarchy\n\n| Role | Font | Size | Weight | Line Height | Letter Spacing | Notes |\n|------|------|------|--------|-------------|----------------|-------|\n| Display Hero | D-DIN-Bold | 48px (3.00rem) | 700 | 1.00 (tight) | 0.96px | `text-transform: uppercase` |\n| Body | D-DIN | 16px (1.00rem) | 400 | 1.50\u20131.70 | normal | Standard reading text |\n| Nav Link Bold | D-DIN | 13px (0.81rem) | 700 | 0.94 (tight) | 1.17px | `text-transform: uppercase` |\n| Nav Link | D-DIN | 12px (0.75rem) | 400 | 2.00 (relaxed) | normal | `text-transform: uppercase` |\n| Caption Bold | D-DIN | 13px (0.81rem) | 700 | 0.94 (tight) | 1.17px | `text-transform: uppercase` |\n| Caption | D-DIN | 12px (0.75rem) | 400 | 1.00 (tight) | normal | `text-transform: uppercase` |\n| Micro | D-DIN | 10px (0.63rem) | 400 | 0.94 (tight) | 1px | `text-transform: uppercase` |\n\n### Principles\n- **Universal uppercase**: Nearly every text element uses `text-transform: uppercase`. This creates a systematic military/aerospace voice where all communication feels like official documentation.\n- **Positive letter-spacing as identity**: 0.96px on display, 1.17px on nav \u2014 the wide tracking creates the stenciled, industrial feel that connects to DIN's heritage as a German engineering standard.\n- **Two weights, strict hierarchy**: D-DIN-Bold (700) for headlines and nav emphasis, D-DIN (400) for body. No medium or semibold weights exist in the system.\n- **Tight line-heights**: 0.94\u20131.00 across most text \u2014 compressed, efficient, mission-critical communication.\n\n## 4. Component Stylings\n\n### Buttons\n\n**Ghost Button**\n- Background: `rgba(240, 240, 250, 0.1)` (barely visible)\n- Text: Spectral White (`#f0f0fa`)\n- Padding: 18px\n- Radius: 32px\n- Border: `1px solid rgba(240, 240, 250, 0.35)`\n- Hover: background brightens, text to `var(--white-100)`\n- Use: The only button variant \u2014 \"LEARN MORE\" CTAs on photography\n\n### Cards & Containers\n- **None.** SpaceX does not use cards, panels, or containers. All content is text directly on full-viewport photographs. The absence of containers IS the design.\n\n### Inputs & Forms\n- Not present on the homepage. The site is purely presentational.\n\n### Navigation\n- Transparent overlay nav on photography\n- D-DIN 13px weight 700, uppercase, 1.17px tracking\n- Spectral white text on dark imagery\n- Logo: SpaceX wordmark at 147x19px\n- Mobile: hamburger collapse\n\n### Image Treatment\n- Full-viewport (100vh) photography sections\n- Professional aerospace photography: rockets, Mars, space\n- Dark gradient overlays (`rgba(0,0,0,0.5)`) for text legibility\n- Each section = one full-screen photograph with text overlay\n- No border radius, no frames \u2014 edge-to-edge imagery\n\n## 5. Layout Principles\n\n### Spacing System\n- Base unit: 8px\n- Scale: 3px, 5px, 12px, 15px, 18px, 20px, 24px, 30px\n- Minimal scale \u2014 spacing is not the organizing principle; photography is\n\n### Grid & Container\n- No traditional grid \u2014 each section is a full-viewport cinematic frame\n- Text is positioned absolutely or with generous padding over imagery\n- Left-aligned text blocks on photography backgrounds\n- No max-width container \u2014 content bleeds to viewport edges\n\n### Whitespace Philosophy\n- **Photography IS the whitespace**: Empty space in the design is never empty \u2014 it's filled with the dark expanse of space, the curve of a planet, or the flame of a rocket engine. Traditional whitespace concepts don't apply.\n- **Vertical pacing through viewport**: Each section is exactly one viewport tall, creating a rhythmic scroll where each \"page\" reveals a new scene.\n\n### Border Radius Scale\n- Sharp (4px): Small dividers, utility elements\n- Button (32px): Ghost buttons \u2014 the only rounded element\n\n## 6. Depth & Elevation\n\n| Level | Treatment | Use |\n|-------|-----------|-----|\n| Photography (Level 0) | Full-viewport imagery | Background layer \u2014 always present |\n| Overlay (Level 1) | `rgba(0, 0, 0, 0.5)` gradient | Text legibility layer over photography |\n| Text (Level 2) | Spectral white text, no shadow | Content layer \u2014 text floats directly on image |\n| Ghost (Level 3) | `rgba(240, 240, 250, 0.1)` surface | Barely-visible interactive layer |\n\n**Shadow Philosophy**: SpaceX uses ZERO shadows. In a design built entirely on photography, shadows are meaningless \u2014 every surface is already a photograph with natural lighting. Depth comes from the photographic content itself: the receding curvature of Earth, the diminishing trail of a rocket, the atmospheric haze around Mars.\n\n## 7. Do's and Don'ts\n\n### Do\n- Use full-viewport photography as the primary design element \u2014 every section is a scene\n- Apply uppercase + positive letter-spacing to ALL text \u2014 the aerospace stencil voice\n- Use D-DIN exclusively \u2014 no other fonts exist in the system\n- Keep the color palette to black + spectral white (`#f0f0fa`) only\n- Use ghost buttons (`rgba(240,240,250,0.1)`) as the sole interactive element\n- Apply dark gradient overlays for text legibility on photographs\n- Let photography carry the emotional weight \u2014 the type system is functional, not expressive\n\n### Don't\n- Don't add cards, panels, or containers \u2014 text sits directly on photography\n- Don't use shadows \u2014 they have no meaning in a photographic context\n- Don't introduce colors \u2014 the palette is strictly achromatic with spectral tint\n- Don't use sentence case \u2014 everything is uppercase\n- Don't use negative letter-spacing \u2014 all tracking is positive (0.96px\u20131.17px)\n- Don't reduce photography to thumbnails \u2014 every image is full-viewport\n- Don't add decorative elements (icons, badges, dividers) \u2014 the design is photography + type + one button\n\n## 8. Responsive Behavior\n\n### Breakpoints\n| Name | Width | Key Changes |\n|------|-------|-------------|\n| Mobile | <600px | Stacked, reduced padding, smaller type |\n| Tablet Small | 600\u2013960px | Adjusted layout |\n| Tablet | 960\u20131280px | Standard scaling |\n| Desktop | 1280\u20131350px | Full layout |\n| Large Desktop | 1350\u20131500px | Expanded |\n| Ultra-wide | >1500px | Maximum viewport |\n\n### Touch Targets\n- Ghost buttons: 18px padding provides adequate touch area\n- Navigation links: uppercase with generous letter-spacing aids readability\n\n### Collapsing Strategy\n- Photography: maintains full-viewport at all sizes, content reposition\n- Hero text: 48px \u2192 scales down proportionally\n- Navigation: horizontal \u2192 hamburger\n- Text blocks: reposition but maintain overlay-on-photography pattern\n- Full-viewport sections maintained on mobile\n\n### Image Behavior\n- Edge-to-edge photography at all viewport sizes\n- Background-size: cover with center focus\n- Dark overlay gradients adapt to content position\n- No art direction changes \u2014 same photographs, responsive positioning\n\n## 9. Agent Prompt Guide\n\n### Quick Color Reference\n- Background: Space Black (`#000000`)\n- Text: Spectral White (`#f0f0fa`)\n- Button background: Ghost (`rgba(240, 240, 250, 0.1)`)\n- Button border: Ghost Border (`rgba(240, 240, 250, 0.35)`)\n- Overlay: `rgba(0, 0, 0, 0.5)`\n\n### Example Component Prompts\n- \"Create a full-viewport hero: background-image covering 100vh, dark gradient overlay rgba(0,0,0,0.5). Headline at 48px D-DIN-Bold, uppercase, letter-spacing 0.96px, spectral white (#f0f0fa) text. Ghost CTA button: rgba(240,240,250,0.1) bg, 1px solid rgba(240,240,250,0.35) border, 32px radius, 18px padding.\"\n- \"Design a navigation: transparent over photography. D-DIN 13px weight 700, uppercase, letter-spacing 1.17px, spectral white text. SpaceX wordmark left-aligned.\"\n- \"Build a content section: full-viewport height, background photography with dark overlay. Left-aligned text block with 48px D-DIN-Bold uppercase heading, 16px D-DIN body text, and ghost button below.\"\n- \"Create a micro label: D-DIN 10px, uppercase, letter-spacing 1px, spectral white, line-height 0.94.\"\n\n### Iteration Guide\n1. Start with photography \u2014 the image IS the design\n2. All text is uppercase with positive letter-spacing \u2014 no exceptions\n3. Only two colors: black and spectral white (#f0f0fa)\n4. Ghost buttons are the only interactive element \u2014 transparent, spectral-bordered\n5. Zero shadows, zero cards, zero decorative elements\n6. Every section is full-viewport (100vh) \u2014 cinematic pacing\n";
|
|
2
|
+
|
|
3
|
+
export { spacexBrief };
|
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
// src/presets/_briefs/spacex.ts
|
|
2
|
+
var spacexBrief = `# Design System Inspired by SpaceX
|
|
3
|
+
|
|
4
|
+
## 1. Visual Theme & Atmosphere
|
|
5
|
+
|
|
6
|
+
SpaceX's website is a full-screen cinematic experience that treats aerospace engineering like a film \u2014 every section is a scene, every photograph is a frame, and the interface disappears entirely behind the imagery. The design is pure black (\`#000000\`) with photography of rockets, space, and planets occupying 100% of the viewport. Text overlays sit directly on these photographs with no background panels, cards, or containers \u2014 just type on image, bold and unapologetic.
|
|
7
|
+
|
|
8
|
+
The typography system uses D-DIN, an industrial geometric typeface with DIN heritage (the German industrial standard). The defining characteristic is that virtually ALL text is uppercase with positive letter-spacing (0.96px\u20131.17px), creating a military/aerospace labeling system where every word feels stenciled onto a spacecraft hull. D-DIN-Bold at 48px with uppercase and 0.96px tracking for the hero creates headlines that feel like mission briefing titles. Even body text at 16px maintains the uppercase/tracked treatment at smaller scales.
|
|
9
|
+
|
|
10
|
+
What makes SpaceX distinctive is its radical minimalism: no shadows, no borders (except one ghost button border at \`rgba(240,240,250,0.35)\`), no color (only black and a spectral near-white \`#f0f0fa\`), no cards, no grids. The only visual element is photography + text. The ghost button with \`rgba(240,240,250,0.1)\` background and 32px radius is the sole interactive element \u2014 barely visible, floating over the imagery like a heads-up display. This isn't a design system in the traditional sense \u2014 it's a photographic exhibition with a type system and a single button.
|
|
11
|
+
|
|
12
|
+
**Key Characteristics:**
|
|
13
|
+
- Pure black canvas with full-viewport cinematic photography \u2014 the interface is invisible
|
|
14
|
+
- D-DIN / D-DIN-Bold \u2014 industrial DIN-heritage typeface
|
|
15
|
+
- Universal uppercase + positive letter-spacing (0.96px\u20131.17px) \u2014 aerospace stencil aesthetic
|
|
16
|
+
- Near-white spectral text (\`#f0f0fa\`) \u2014 not pure white, a slight blue-violet tint
|
|
17
|
+
- Zero shadows, zero cards, zero containers \u2014 text on image only
|
|
18
|
+
- Single ghost button: \`rgba(240,240,250,0.1)\` background with spectral border
|
|
19
|
+
- Full-viewport sections \u2014 each section is a cinematic "scene"
|
|
20
|
+
- No decorative elements \u2014 every pixel serves the photography
|
|
21
|
+
|
|
22
|
+
## 2. Color Palette & Roles
|
|
23
|
+
|
|
24
|
+
### Primary
|
|
25
|
+
- **Space Black** (\`#000000\`): Page background, the void of space \u2014 at 50% opacity for overlay gradient
|
|
26
|
+
- **Spectral White** (\`#f0f0fa\`): Text color \u2014 not pure white, a slight blue-violet tint that mimics starlight
|
|
27
|
+
|
|
28
|
+
### Interactive
|
|
29
|
+
- **Ghost Surface** (\`rgba(240, 240, 250, 0.1)\`): Button background \u2014 nearly invisible, 10% opacity
|
|
30
|
+
- **Ghost Border** (\`rgba(240, 240, 250, 0.35)\`): Button border \u2014 spectral, 35% opacity
|
|
31
|
+
- **Hover White** (\`var(--white-100)\`): Link hover state \u2014 full spectral white
|
|
32
|
+
|
|
33
|
+
### Gradient
|
|
34
|
+
- **Dark Overlay** (\`rgba(0, 0, 0, 0.5)\`): Gradient overlay on photographs to ensure text legibility
|
|
35
|
+
|
|
36
|
+
## 3. Typography Rules
|
|
37
|
+
|
|
38
|
+
### Font Families
|
|
39
|
+
- **Display**: \`D-DIN-Bold\` \u2014 bold industrial geometric
|
|
40
|
+
- **Body / UI**: \`D-DIN\`, fallbacks: \`Arial, Verdana\`
|
|
41
|
+
|
|
42
|
+
### Hierarchy
|
|
43
|
+
|
|
44
|
+
| Role | Font | Size | Weight | Line Height | Letter Spacing | Notes |
|
|
45
|
+
|------|------|------|--------|-------------|----------------|-------|
|
|
46
|
+
| Display Hero | D-DIN-Bold | 48px (3.00rem) | 700 | 1.00 (tight) | 0.96px | \`text-transform: uppercase\` |
|
|
47
|
+
| Body | D-DIN | 16px (1.00rem) | 400 | 1.50\u20131.70 | normal | Standard reading text |
|
|
48
|
+
| Nav Link Bold | D-DIN | 13px (0.81rem) | 700 | 0.94 (tight) | 1.17px | \`text-transform: uppercase\` |
|
|
49
|
+
| Nav Link | D-DIN | 12px (0.75rem) | 400 | 2.00 (relaxed) | normal | \`text-transform: uppercase\` |
|
|
50
|
+
| Caption Bold | D-DIN | 13px (0.81rem) | 700 | 0.94 (tight) | 1.17px | \`text-transform: uppercase\` |
|
|
51
|
+
| Caption | D-DIN | 12px (0.75rem) | 400 | 1.00 (tight) | normal | \`text-transform: uppercase\` |
|
|
52
|
+
| Micro | D-DIN | 10px (0.63rem) | 400 | 0.94 (tight) | 1px | \`text-transform: uppercase\` |
|
|
53
|
+
|
|
54
|
+
### Principles
|
|
55
|
+
- **Universal uppercase**: Nearly every text element uses \`text-transform: uppercase\`. This creates a systematic military/aerospace voice where all communication feels like official documentation.
|
|
56
|
+
- **Positive letter-spacing as identity**: 0.96px on display, 1.17px on nav \u2014 the wide tracking creates the stenciled, industrial feel that connects to DIN's heritage as a German engineering standard.
|
|
57
|
+
- **Two weights, strict hierarchy**: D-DIN-Bold (700) for headlines and nav emphasis, D-DIN (400) for body. No medium or semibold weights exist in the system.
|
|
58
|
+
- **Tight line-heights**: 0.94\u20131.00 across most text \u2014 compressed, efficient, mission-critical communication.
|
|
59
|
+
|
|
60
|
+
## 4. Component Stylings
|
|
61
|
+
|
|
62
|
+
### Buttons
|
|
63
|
+
|
|
64
|
+
**Ghost Button**
|
|
65
|
+
- Background: \`rgba(240, 240, 250, 0.1)\` (barely visible)
|
|
66
|
+
- Text: Spectral White (\`#f0f0fa\`)
|
|
67
|
+
- Padding: 18px
|
|
68
|
+
- Radius: 32px
|
|
69
|
+
- Border: \`1px solid rgba(240, 240, 250, 0.35)\`
|
|
70
|
+
- Hover: background brightens, text to \`var(--white-100)\`
|
|
71
|
+
- Use: The only button variant \u2014 "LEARN MORE" CTAs on photography
|
|
72
|
+
|
|
73
|
+
### Cards & Containers
|
|
74
|
+
- **None.** SpaceX does not use cards, panels, or containers. All content is text directly on full-viewport photographs. The absence of containers IS the design.
|
|
75
|
+
|
|
76
|
+
### Inputs & Forms
|
|
77
|
+
- Not present on the homepage. The site is purely presentational.
|
|
78
|
+
|
|
79
|
+
### Navigation
|
|
80
|
+
- Transparent overlay nav on photography
|
|
81
|
+
- D-DIN 13px weight 700, uppercase, 1.17px tracking
|
|
82
|
+
- Spectral white text on dark imagery
|
|
83
|
+
- Logo: SpaceX wordmark at 147x19px
|
|
84
|
+
- Mobile: hamburger collapse
|
|
85
|
+
|
|
86
|
+
### Image Treatment
|
|
87
|
+
- Full-viewport (100vh) photography sections
|
|
88
|
+
- Professional aerospace photography: rockets, Mars, space
|
|
89
|
+
- Dark gradient overlays (\`rgba(0,0,0,0.5)\`) for text legibility
|
|
90
|
+
- Each section = one full-screen photograph with text overlay
|
|
91
|
+
- No border radius, no frames \u2014 edge-to-edge imagery
|
|
92
|
+
|
|
93
|
+
## 5. Layout Principles
|
|
94
|
+
|
|
95
|
+
### Spacing System
|
|
96
|
+
- Base unit: 8px
|
|
97
|
+
- Scale: 3px, 5px, 12px, 15px, 18px, 20px, 24px, 30px
|
|
98
|
+
- Minimal scale \u2014 spacing is not the organizing principle; photography is
|
|
99
|
+
|
|
100
|
+
### Grid & Container
|
|
101
|
+
- No traditional grid \u2014 each section is a full-viewport cinematic frame
|
|
102
|
+
- Text is positioned absolutely or with generous padding over imagery
|
|
103
|
+
- Left-aligned text blocks on photography backgrounds
|
|
104
|
+
- No max-width container \u2014 content bleeds to viewport edges
|
|
105
|
+
|
|
106
|
+
### Whitespace Philosophy
|
|
107
|
+
- **Photography IS the whitespace**: Empty space in the design is never empty \u2014 it's filled with the dark expanse of space, the curve of a planet, or the flame of a rocket engine. Traditional whitespace concepts don't apply.
|
|
108
|
+
- **Vertical pacing through viewport**: Each section is exactly one viewport tall, creating a rhythmic scroll where each "page" reveals a new scene.
|
|
109
|
+
|
|
110
|
+
### Border Radius Scale
|
|
111
|
+
- Sharp (4px): Small dividers, utility elements
|
|
112
|
+
- Button (32px): Ghost buttons \u2014 the only rounded element
|
|
113
|
+
|
|
114
|
+
## 6. Depth & Elevation
|
|
115
|
+
|
|
116
|
+
| Level | Treatment | Use |
|
|
117
|
+
|-------|-----------|-----|
|
|
118
|
+
| Photography (Level 0) | Full-viewport imagery | Background layer \u2014 always present |
|
|
119
|
+
| Overlay (Level 1) | \`rgba(0, 0, 0, 0.5)\` gradient | Text legibility layer over photography |
|
|
120
|
+
| Text (Level 2) | Spectral white text, no shadow | Content layer \u2014 text floats directly on image |
|
|
121
|
+
| Ghost (Level 3) | \`rgba(240, 240, 250, 0.1)\` surface | Barely-visible interactive layer |
|
|
122
|
+
|
|
123
|
+
**Shadow Philosophy**: SpaceX uses ZERO shadows. In a design built entirely on photography, shadows are meaningless \u2014 every surface is already a photograph with natural lighting. Depth comes from the photographic content itself: the receding curvature of Earth, the diminishing trail of a rocket, the atmospheric haze around Mars.
|
|
124
|
+
|
|
125
|
+
## 7. Do's and Don'ts
|
|
126
|
+
|
|
127
|
+
### Do
|
|
128
|
+
- Use full-viewport photography as the primary design element \u2014 every section is a scene
|
|
129
|
+
- Apply uppercase + positive letter-spacing to ALL text \u2014 the aerospace stencil voice
|
|
130
|
+
- Use D-DIN exclusively \u2014 no other fonts exist in the system
|
|
131
|
+
- Keep the color palette to black + spectral white (\`#f0f0fa\`) only
|
|
132
|
+
- Use ghost buttons (\`rgba(240,240,250,0.1)\`) as the sole interactive element
|
|
133
|
+
- Apply dark gradient overlays for text legibility on photographs
|
|
134
|
+
- Let photography carry the emotional weight \u2014 the type system is functional, not expressive
|
|
135
|
+
|
|
136
|
+
### Don't
|
|
137
|
+
- Don't add cards, panels, or containers \u2014 text sits directly on photography
|
|
138
|
+
- Don't use shadows \u2014 they have no meaning in a photographic context
|
|
139
|
+
- Don't introduce colors \u2014 the palette is strictly achromatic with spectral tint
|
|
140
|
+
- Don't use sentence case \u2014 everything is uppercase
|
|
141
|
+
- Don't use negative letter-spacing \u2014 all tracking is positive (0.96px\u20131.17px)
|
|
142
|
+
- Don't reduce photography to thumbnails \u2014 every image is full-viewport
|
|
143
|
+
- Don't add decorative elements (icons, badges, dividers) \u2014 the design is photography + type + one button
|
|
144
|
+
|
|
145
|
+
## 8. Responsive Behavior
|
|
146
|
+
|
|
147
|
+
### Breakpoints
|
|
148
|
+
| Name | Width | Key Changes |
|
|
149
|
+
|------|-------|-------------|
|
|
150
|
+
| Mobile | <600px | Stacked, reduced padding, smaller type |
|
|
151
|
+
| Tablet Small | 600\u2013960px | Adjusted layout |
|
|
152
|
+
| Tablet | 960\u20131280px | Standard scaling |
|
|
153
|
+
| Desktop | 1280\u20131350px | Full layout |
|
|
154
|
+
| Large Desktop | 1350\u20131500px | Expanded |
|
|
155
|
+
| Ultra-wide | >1500px | Maximum viewport |
|
|
156
|
+
|
|
157
|
+
### Touch Targets
|
|
158
|
+
- Ghost buttons: 18px padding provides adequate touch area
|
|
159
|
+
- Navigation links: uppercase with generous letter-spacing aids readability
|
|
160
|
+
|
|
161
|
+
### Collapsing Strategy
|
|
162
|
+
- Photography: maintains full-viewport at all sizes, content reposition
|
|
163
|
+
- Hero text: 48px \u2192 scales down proportionally
|
|
164
|
+
- Navigation: horizontal \u2192 hamburger
|
|
165
|
+
- Text blocks: reposition but maintain overlay-on-photography pattern
|
|
166
|
+
- Full-viewport sections maintained on mobile
|
|
167
|
+
|
|
168
|
+
### Image Behavior
|
|
169
|
+
- Edge-to-edge photography at all viewport sizes
|
|
170
|
+
- Background-size: cover with center focus
|
|
171
|
+
- Dark overlay gradients adapt to content position
|
|
172
|
+
- No art direction changes \u2014 same photographs, responsive positioning
|
|
173
|
+
|
|
174
|
+
## 9. Agent Prompt Guide
|
|
175
|
+
|
|
176
|
+
### Quick Color Reference
|
|
177
|
+
- Background: Space Black (\`#000000\`)
|
|
178
|
+
- Text: Spectral White (\`#f0f0fa\`)
|
|
179
|
+
- Button background: Ghost (\`rgba(240, 240, 250, 0.1)\`)
|
|
180
|
+
- Button border: Ghost Border (\`rgba(240, 240, 250, 0.35)\`)
|
|
181
|
+
- Overlay: \`rgba(0, 0, 0, 0.5)\`
|
|
182
|
+
|
|
183
|
+
### Example Component Prompts
|
|
184
|
+
- "Create a full-viewport hero: background-image covering 100vh, dark gradient overlay rgba(0,0,0,0.5). Headline at 48px D-DIN-Bold, uppercase, letter-spacing 0.96px, spectral white (#f0f0fa) text. Ghost CTA button: rgba(240,240,250,0.1) bg, 1px solid rgba(240,240,250,0.35) border, 32px radius, 18px padding."
|
|
185
|
+
- "Design a navigation: transparent over photography. D-DIN 13px weight 700, uppercase, letter-spacing 1.17px, spectral white text. SpaceX wordmark left-aligned."
|
|
186
|
+
- "Build a content section: full-viewport height, background photography with dark overlay. Left-aligned text block with 48px D-DIN-Bold uppercase heading, 16px D-DIN body text, and ghost button below."
|
|
187
|
+
- "Create a micro label: D-DIN 10px, uppercase, letter-spacing 1px, spectral white, line-height 0.94."
|
|
188
|
+
|
|
189
|
+
### Iteration Guide
|
|
190
|
+
1. Start with photography \u2014 the image IS the design
|
|
191
|
+
2. All text is uppercase with positive letter-spacing \u2014 no exceptions
|
|
192
|
+
3. Only two colors: black and spectral white (#f0f0fa)
|
|
193
|
+
4. Ghost buttons are the only interactive element \u2014 transparent, spectral-bordered
|
|
194
|
+
5. Zero shadows, zero cards, zero decorative elements
|
|
195
|
+
6. Every section is full-viewport (100vh) \u2014 cinematic pacing
|
|
196
|
+
`;
|
|
197
|
+
export {
|
|
198
|
+
spacexBrief
|
|
199
|
+
};
|
|
200
|
+
//# sourceMappingURL=spacex.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/presets/_briefs/spacex.ts"],"sourcesContent":["// AUTO-GENERATED — do not hand-edit. Source: https://github.com/voltagent/awesome-design-md\nexport const spacexBrief = `# Design System Inspired by SpaceX\n\n## 1. Visual Theme & Atmosphere\n\nSpaceX's website is a full-screen cinematic experience that treats aerospace engineering like a film — every section is a scene, every photograph is a frame, and the interface disappears entirely behind the imagery. The design is pure black (\\`#000000\\`) with photography of rockets, space, and planets occupying 100% of the viewport. Text overlays sit directly on these photographs with no background panels, cards, or containers — just type on image, bold and unapologetic.\n\nThe typography system uses D-DIN, an industrial geometric typeface with DIN heritage (the German industrial standard). The defining characteristic is that virtually ALL text is uppercase with positive letter-spacing (0.96px–1.17px), creating a military/aerospace labeling system where every word feels stenciled onto a spacecraft hull. D-DIN-Bold at 48px with uppercase and 0.96px tracking for the hero creates headlines that feel like mission briefing titles. Even body text at 16px maintains the uppercase/tracked treatment at smaller scales.\n\nWhat makes SpaceX distinctive is its radical minimalism: no shadows, no borders (except one ghost button border at \\`rgba(240,240,250,0.35)\\`), no color (only black and a spectral near-white \\`#f0f0fa\\`), no cards, no grids. The only visual element is photography + text. The ghost button with \\`rgba(240,240,250,0.1)\\` background and 32px radius is the sole interactive element — barely visible, floating over the imagery like a heads-up display. This isn't a design system in the traditional sense — it's a photographic exhibition with a type system and a single button.\n\n**Key Characteristics:**\n- Pure black canvas with full-viewport cinematic photography — the interface is invisible\n- D-DIN / D-DIN-Bold — industrial DIN-heritage typeface\n- Universal uppercase + positive letter-spacing (0.96px–1.17px) — aerospace stencil aesthetic\n- Near-white spectral text (\\`#f0f0fa\\`) — not pure white, a slight blue-violet tint\n- Zero shadows, zero cards, zero containers — text on image only\n- Single ghost button: \\`rgba(240,240,250,0.1)\\` background with spectral border\n- Full-viewport sections — each section is a cinematic \"scene\"\n- No decorative elements — every pixel serves the photography\n\n## 2. Color Palette & Roles\n\n### Primary\n- **Space Black** (\\`#000000\\`): Page background, the void of space — at 50% opacity for overlay gradient\n- **Spectral White** (\\`#f0f0fa\\`): Text color — not pure white, a slight blue-violet tint that mimics starlight\n\n### Interactive\n- **Ghost Surface** (\\`rgba(240, 240, 250, 0.1)\\`): Button background — nearly invisible, 10% opacity\n- **Ghost Border** (\\`rgba(240, 240, 250, 0.35)\\`): Button border — spectral, 35% opacity\n- **Hover White** (\\`var(--white-100)\\`): Link hover state — full spectral white\n\n### Gradient\n- **Dark Overlay** (\\`rgba(0, 0, 0, 0.5)\\`): Gradient overlay on photographs to ensure text legibility\n\n## 3. Typography Rules\n\n### Font Families\n- **Display**: \\`D-DIN-Bold\\` — bold industrial geometric\n- **Body / UI**: \\`D-DIN\\`, fallbacks: \\`Arial, Verdana\\`\n\n### Hierarchy\n\n| Role | Font | Size | Weight | Line Height | Letter Spacing | Notes |\n|------|------|------|--------|-------------|----------------|-------|\n| Display Hero | D-DIN-Bold | 48px (3.00rem) | 700 | 1.00 (tight) | 0.96px | \\`text-transform: uppercase\\` |\n| Body | D-DIN | 16px (1.00rem) | 400 | 1.50–1.70 | normal | Standard reading text |\n| Nav Link Bold | D-DIN | 13px (0.81rem) | 700 | 0.94 (tight) | 1.17px | \\`text-transform: uppercase\\` |\n| Nav Link | D-DIN | 12px (0.75rem) | 400 | 2.00 (relaxed) | normal | \\`text-transform: uppercase\\` |\n| Caption Bold | D-DIN | 13px (0.81rem) | 700 | 0.94 (tight) | 1.17px | \\`text-transform: uppercase\\` |\n| Caption | D-DIN | 12px (0.75rem) | 400 | 1.00 (tight) | normal | \\`text-transform: uppercase\\` |\n| Micro | D-DIN | 10px (0.63rem) | 400 | 0.94 (tight) | 1px | \\`text-transform: uppercase\\` |\n\n### Principles\n- **Universal uppercase**: Nearly every text element uses \\`text-transform: uppercase\\`. This creates a systematic military/aerospace voice where all communication feels like official documentation.\n- **Positive letter-spacing as identity**: 0.96px on display, 1.17px on nav — the wide tracking creates the stenciled, industrial feel that connects to DIN's heritage as a German engineering standard.\n- **Two weights, strict hierarchy**: D-DIN-Bold (700) for headlines and nav emphasis, D-DIN (400) for body. No medium or semibold weights exist in the system.\n- **Tight line-heights**: 0.94–1.00 across most text — compressed, efficient, mission-critical communication.\n\n## 4. Component Stylings\n\n### Buttons\n\n**Ghost Button**\n- Background: \\`rgba(240, 240, 250, 0.1)\\` (barely visible)\n- Text: Spectral White (\\`#f0f0fa\\`)\n- Padding: 18px\n- Radius: 32px\n- Border: \\`1px solid rgba(240, 240, 250, 0.35)\\`\n- Hover: background brightens, text to \\`var(--white-100)\\`\n- Use: The only button variant — \"LEARN MORE\" CTAs on photography\n\n### Cards & Containers\n- **None.** SpaceX does not use cards, panels, or containers. All content is text directly on full-viewport photographs. The absence of containers IS the design.\n\n### Inputs & Forms\n- Not present on the homepage. The site is purely presentational.\n\n### Navigation\n- Transparent overlay nav on photography\n- D-DIN 13px weight 700, uppercase, 1.17px tracking\n- Spectral white text on dark imagery\n- Logo: SpaceX wordmark at 147x19px\n- Mobile: hamburger collapse\n\n### Image Treatment\n- Full-viewport (100vh) photography sections\n- Professional aerospace photography: rockets, Mars, space\n- Dark gradient overlays (\\`rgba(0,0,0,0.5)\\`) for text legibility\n- Each section = one full-screen photograph with text overlay\n- No border radius, no frames — edge-to-edge imagery\n\n## 5. Layout Principles\n\n### Spacing System\n- Base unit: 8px\n- Scale: 3px, 5px, 12px, 15px, 18px, 20px, 24px, 30px\n- Minimal scale — spacing is not the organizing principle; photography is\n\n### Grid & Container\n- No traditional grid — each section is a full-viewport cinematic frame\n- Text is positioned absolutely or with generous padding over imagery\n- Left-aligned text blocks on photography backgrounds\n- No max-width container — content bleeds to viewport edges\n\n### Whitespace Philosophy\n- **Photography IS the whitespace**: Empty space in the design is never empty — it's filled with the dark expanse of space, the curve of a planet, or the flame of a rocket engine. Traditional whitespace concepts don't apply.\n- **Vertical pacing through viewport**: Each section is exactly one viewport tall, creating a rhythmic scroll where each \"page\" reveals a new scene.\n\n### Border Radius Scale\n- Sharp (4px): Small dividers, utility elements\n- Button (32px): Ghost buttons — the only rounded element\n\n## 6. Depth & Elevation\n\n| Level | Treatment | Use |\n|-------|-----------|-----|\n| Photography (Level 0) | Full-viewport imagery | Background layer — always present |\n| Overlay (Level 1) | \\`rgba(0, 0, 0, 0.5)\\` gradient | Text legibility layer over photography |\n| Text (Level 2) | Spectral white text, no shadow | Content layer — text floats directly on image |\n| Ghost (Level 3) | \\`rgba(240, 240, 250, 0.1)\\` surface | Barely-visible interactive layer |\n\n**Shadow Philosophy**: SpaceX uses ZERO shadows. In a design built entirely on photography, shadows are meaningless — every surface is already a photograph with natural lighting. Depth comes from the photographic content itself: the receding curvature of Earth, the diminishing trail of a rocket, the atmospheric haze around Mars.\n\n## 7. Do's and Don'ts\n\n### Do\n- Use full-viewport photography as the primary design element — every section is a scene\n- Apply uppercase + positive letter-spacing to ALL text — the aerospace stencil voice\n- Use D-DIN exclusively — no other fonts exist in the system\n- Keep the color palette to black + spectral white (\\`#f0f0fa\\`) only\n- Use ghost buttons (\\`rgba(240,240,250,0.1)\\`) as the sole interactive element\n- Apply dark gradient overlays for text legibility on photographs\n- Let photography carry the emotional weight — the type system is functional, not expressive\n\n### Don't\n- Don't add cards, panels, or containers — text sits directly on photography\n- Don't use shadows — they have no meaning in a photographic context\n- Don't introduce colors — the palette is strictly achromatic with spectral tint\n- Don't use sentence case — everything is uppercase\n- Don't use negative letter-spacing — all tracking is positive (0.96px–1.17px)\n- Don't reduce photography to thumbnails — every image is full-viewport\n- Don't add decorative elements (icons, badges, dividers) — the design is photography + type + one button\n\n## 8. Responsive Behavior\n\n### Breakpoints\n| Name | Width | Key Changes |\n|------|-------|-------------|\n| Mobile | <600px | Stacked, reduced padding, smaller type |\n| Tablet Small | 600–960px | Adjusted layout |\n| Tablet | 960–1280px | Standard scaling |\n| Desktop | 1280–1350px | Full layout |\n| Large Desktop | 1350–1500px | Expanded |\n| Ultra-wide | >1500px | Maximum viewport |\n\n### Touch Targets\n- Ghost buttons: 18px padding provides adequate touch area\n- Navigation links: uppercase with generous letter-spacing aids readability\n\n### Collapsing Strategy\n- Photography: maintains full-viewport at all sizes, content reposition\n- Hero text: 48px → scales down proportionally\n- Navigation: horizontal → hamburger\n- Text blocks: reposition but maintain overlay-on-photography pattern\n- Full-viewport sections maintained on mobile\n\n### Image Behavior\n- Edge-to-edge photography at all viewport sizes\n- Background-size: cover with center focus\n- Dark overlay gradients adapt to content position\n- No art direction changes — same photographs, responsive positioning\n\n## 9. Agent Prompt Guide\n\n### Quick Color Reference\n- Background: Space Black (\\`#000000\\`)\n- Text: Spectral White (\\`#f0f0fa\\`)\n- Button background: Ghost (\\`rgba(240, 240, 250, 0.1)\\`)\n- Button border: Ghost Border (\\`rgba(240, 240, 250, 0.35)\\`)\n- Overlay: \\`rgba(0, 0, 0, 0.5)\\`\n\n### Example Component Prompts\n- \"Create a full-viewport hero: background-image covering 100vh, dark gradient overlay rgba(0,0,0,0.5). Headline at 48px D-DIN-Bold, uppercase, letter-spacing 0.96px, spectral white (#f0f0fa) text. Ghost CTA button: rgba(240,240,250,0.1) bg, 1px solid rgba(240,240,250,0.35) border, 32px radius, 18px padding.\"\n- \"Design a navigation: transparent over photography. D-DIN 13px weight 700, uppercase, letter-spacing 1.17px, spectral white text. SpaceX wordmark left-aligned.\"\n- \"Build a content section: full-viewport height, background photography with dark overlay. Left-aligned text block with 48px D-DIN-Bold uppercase heading, 16px D-DIN body text, and ghost button below.\"\n- \"Create a micro label: D-DIN 10px, uppercase, letter-spacing 1px, spectral white, line-height 0.94.\"\n\n### Iteration Guide\n1. Start with photography — the image IS the design\n2. All text is uppercase with positive letter-spacing — no exceptions\n3. Only two colors: black and spectral white (#f0f0fa)\n4. Ghost buttons are the only interactive element — transparent, spectral-bordered\n5. Zero shadows, zero cards, zero decorative elements\n6. Every section is full-viewport (100vh) — cinematic pacing\n`;\n"],"mappings":";AACO,IAAM,cAAc;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;","names":[]}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
declare const spotifyBrief = "# Design System Inspired by Spotify\n\n## 1. Visual Theme & Atmosphere\n\nSpotify's web interface is a dark, immersive music player that wraps listeners in a near-black cocoon (`#121212`, `#181818`, `#1f1f1f`) where album art and content become the primary source of color. The design philosophy is \"content-first darkness\" \u2014 the UI recedes into shadow so that music, podcasts, and playlists can glow. Every surface is a shade of charcoal, creating a theater-like environment where the only true color comes from the iconic Spotify Green (`#1ed760`) and the album artwork itself.\n\nThe typography uses SpotifyMixUI and SpotifyMixUITitle \u2014 proprietary fonts from the CircularSp family (Circular by Lineto, customized for Spotify) with an extensive fallback stack that includes Arabic, Hebrew, Cyrillic, Greek, Devanagari, and CJK fonts, reflecting Spotify's global reach. The type system is compact and functional: 700 (bold) for emphasis and navigation, 600 (semibold) for secondary emphasis, and 400 (regular) for body. Buttons use uppercase with positive letter-spacing (1.4px\u20132px) for a systematic, label-like quality.\n\nWhat distinguishes Spotify is its pill-and-circle geometry. Primary buttons use 500px\u20139999px radius (full pill), circular play buttons use 50% radius, and search inputs are 500px pills. Combined with heavy shadows (`rgba(0,0,0,0.5) 0px 8px 24px`) on elevated elements and a unique inset border-shadow combo (`rgb(18,18,18) 0px 1px 0px, rgb(124,124,124) 0px 0px 0px 1px inset`), the result is an interface that feels like a premium audio device \u2014 tactile, rounded, and built for touch.\n\n**Key Characteristics:**\n- Near-black immersive dark theme (`#121212`\u2013`#1f1f1f`) \u2014 UI disappears behind content\n- Spotify Green (`#1ed760`) as singular brand accent \u2014 never decorative, always functional\n- SpotifyMixUI/CircularSp font family with global script support\n- Pill buttons (500px\u20139999px) and circular controls (50%) \u2014 rounded, touch-optimized\n- Uppercase button labels with wide letter-spacing (1.4px\u20132px)\n- Heavy shadows on elevated elements (`rgba(0,0,0,0.5) 0px 8px 24px`)\n- Semantic colors: negative red (`#f3727f`), warning orange (`#ffa42b`), announcement blue (`#539df5`)\n- Album art as the primary color source \u2014 the UI is achromatic by design\n\n## 2. Color Palette & Roles\n\n### Primary Brand\n- **Spotify Green** (`#1ed760`): Primary brand accent \u2014 play buttons, active states, CTAs\n- **Near Black** (`#121212`): Deepest background surface\n- **Dark Surface** (`#181818`): Cards, containers, elevated surfaces\n- **Mid Dark** (`#1f1f1f`): Button backgrounds, interactive surfaces\n\n### Text\n- **White** (`#ffffff`): `--text-base`, primary text\n- **Silver** (`#b3b3b3`): Secondary text, muted labels, inactive nav\n- **Near White** (`#cbcbcb`): Slightly brighter secondary text\n- **Light** (`#fdfdfd`): Near-pure white for maximum emphasis\n\n### Semantic\n- **Negative Red** (`#f3727f`): `--text-negative`, error states\n- **Warning Orange** (`#ffa42b`): `--text-warning`, warning states\n- **Announcement Blue** (`#539df5`): `--text-announcement`, info states\n\n### Surface & Border\n- **Dark Card** (`#252525`): Elevated card surface\n- **Mid Card** (`#272727`): Alternate card surface\n- **Border Gray** (`#4d4d4d`): Button borders on dark\n- **Light Border** (`#7c7c7c`): Outlined button borders, muted links\n- **Separator** (`#b3b3b3`): Divider lines\n- **Light Surface** (`#eeeeee`): Light-mode buttons (rare)\n- **Spotify Green Border** (`#1db954`): Green accent border variant\n\n### Shadows\n- **Heavy** (`rgba(0,0,0,0.5) 0px 8px 24px`): Dialogs, menus, elevated panels\n- **Medium** (`rgba(0,0,0,0.3) 0px 8px 8px`): Cards, dropdowns\n- **Inset Border** (`rgb(18,18,18) 0px 1px 0px, rgb(124,124,124) 0px 0px 0px 1px inset`): Input border-shadow combo\n\n## 3. Typography Rules\n\n### Font Families\n- **Title**: `SpotifyMixUITitle`, fallbacks: `CircularSp-Arab, CircularSp-Hebr, CircularSp-Cyrl, CircularSp-Grek, CircularSp-Deva, Helvetica Neue, helvetica, arial, Hiragino Sans, Hiragino Kaku Gothic ProN, Meiryo, MS Gothic`\n- **UI / Body**: `SpotifyMixUI`, same fallback stack\n\n### Hierarchy\n\n| Role | Font | Size | Weight | Line Height | Letter Spacing | Notes |\n|------|------|------|--------|-------------|----------------|-------|\n| Section Title | SpotifyMixUITitle | 24px (1.50rem) | 700 | normal | normal | Bold title weight |\n| Feature Heading | SpotifyMixUI | 18px (1.13rem) | 600 | 1.30 (tight) | normal | Semibold section heads |\n| Body Bold | SpotifyMixUI | 16px (1.00rem) | 700 | normal | normal | Emphasized text |\n| Body | SpotifyMixUI | 16px (1.00rem) | 400 | normal | normal | Standard body |\n| Button Uppercase | SpotifyMixUI | 14px (0.88rem) | 600\u2013700 | 1.00 (tight) | 1.4px\u20132px | `text-transform: uppercase` |\n| Button | SpotifyMixUI | 14px (0.88rem) | 700 | normal | 0.14px | Standard button |\n| Nav Link Bold | SpotifyMixUI | 14px (0.88rem) | 700 | normal | normal | Navigation |\n| Nav Link | SpotifyMixUI | 14px (0.88rem) | 400 | normal | normal | Inactive nav |\n| Caption Bold | SpotifyMixUI | 14px (0.88rem) | 700 | 1.50\u20131.54 | normal | Bold metadata |\n| Caption | SpotifyMixUI | 14px (0.88rem) | 400 | normal | normal | Metadata |\n| Small Bold | SpotifyMixUI | 12px (0.75rem) | 700 | 1.50 | normal | Tags, counts |\n| Small | SpotifyMixUI | 12px (0.75rem) | 400 | normal | normal | Fine print |\n| Badge | SpotifyMixUI | 10.5px (0.66rem) | 600 | 1.33 | normal | `text-transform: capitalize` |\n| Micro | SpotifyMixUI | 10px (0.63rem) | 400 | normal | normal | Smallest text |\n\n### Principles\n- **Bold/regular binary**: Most text is either 700 (bold) or 400 (regular), with 600 used sparingly. This creates a clear visual hierarchy through weight contrast rather than size variation.\n- **Uppercase buttons as system**: Button labels use uppercase + wide letter-spacing (1.4px\u20132px), creating a systematic \"label\" voice distinct from content text.\n- **Compact sizing**: The range is 10px\u201324px \u2014 narrower than most systems. Spotify's type is compact and functional, designed for scanning playlists, not reading articles.\n- **Global script support**: The extensive fallback stack (Arabic, Hebrew, Cyrillic, Greek, Devanagari, CJK) reflects Spotify's 180+ market reach.\n\n## 4. Component Stylings\n\n### Buttons\n\n**Dark Pill**\n- Background: `#1f1f1f`\n- Text: `#ffffff` or `#b3b3b3`\n- Padding: 8px 16px\n- Radius: 9999px (full pill)\n- Use: Navigation pills, secondary actions\n\n**Dark Large Pill**\n- Background: `#181818`\n- Text: `#ffffff`\n- Padding: 0px 43px\n- Radius: 500px\n- Use: Primary app navigation buttons\n\n**Light Pill**\n- Background: `#eeeeee`\n- Text: `#181818`\n- Radius: 500px\n- Use: Light-mode CTAs (cookie consent, marketing)\n\n**Outlined Pill**\n- Background: transparent\n- Text: `#ffffff`\n- Border: `1px solid #7c7c7c`\n- Padding: 4px 16px 4px 36px (asymmetric for icon)\n- Radius: 9999px\n- Use: Follow buttons, secondary actions\n\n**Circular Play**\n- Background: `#1f1f1f`\n- Text: `#ffffff`\n- Padding: 12px\n- Radius: 50% (circle)\n- Use: Play/pause controls\n\n### Cards & Containers\n- Background: `#181818` or `#1f1f1f`\n- Radius: 6px\u20138px\n- No visible borders on most cards\n- Hover: slight background lightening\n- Shadow: `rgba(0,0,0,0.3) 0px 8px 8px` on elevated\n\n### Inputs\n- Search input: `#1f1f1f` background, `#ffffff` text\n- Radius: 500px (pill)\n- Padding: 12px 96px 12px 48px (icon-aware)\n- Focus: border becomes `#000000`, outline `1px solid`\n\n### Navigation\n- Dark sidebar with SpotifyMixUI 14px weight 700 for active, 400 for inactive\n- `#b3b3b3` muted color for inactive items, `#ffffff` for active\n- Circular icon buttons (50% radius)\n- Spotify logo top-left in green\n\n## 5. Layout Principles\n\n### Spacing System\n- Base unit: 8px\n- Scale: 1px, 2px, 3px, 4px, 5px, 6px, 8px, 10px, 12px, 14px, 15px, 16px, 20px\n\n### Grid & Container\n- Sidebar (fixed) + main content area\n- Grid-based album/playlist cards\n- Full-width now-playing bar at bottom\n- Responsive content area fills remaining space\n\n### Whitespace Philosophy\n- **Dark compression**: Spotify packs content densely \u2014 playlist grids, track lists, and navigation are all tightly spaced. The dark background provides visual rest between elements without needing large gaps.\n- **Content density over breathing room**: This is an app, not a marketing site. Every pixel serves the listening experience.\n\n### Border Radius Scale\n- Minimal (2px): Badges, explicit tags\n- Subtle (4px): Inputs, small elements\n- Standard (6px): Album art containers, cards\n- Comfortable (8px): Sections, dialogs\n- Medium (10px\u201320px): Panels, overlay elements\n- Large (100px): Large pill buttons\n- Pill (500px): Primary buttons, search input\n- Full Pill (9999px): Navigation pills, search\n- Circle (50%): Play buttons, avatars, icons\n\n## 6. Depth & Elevation\n\n| Level | Treatment | Use |\n|-------|-----------|-----|\n| Base (Level 0) | `#121212` background | Deepest layer, page background |\n| Surface (Level 1) | `#181818` or `#1f1f1f` | Cards, sidebar, containers |\n| Elevated (Level 2) | `rgba(0,0,0,0.3) 0px 8px 8px` | Dropdown menus, hover cards |\n| Dialog (Level 3) | `rgba(0,0,0,0.5) 0px 8px 24px` | Modals, overlays, menus |\n| Inset (Border) | `rgb(18,18,18) 0px 1px 0px, rgb(124,124,124) 0px 0px 0px 1px inset` | Input borders |\n\n**Shadow Philosophy**: Spotify uses notably heavy shadows for a dark-themed app. The 0.5 opacity shadow at 24px blur creates a dramatic \"floating in darkness\" effect for dialogs and menus, while the 0.3 opacity at 8px blur provides a more subtle card lift. The unique inset border-shadow combination on inputs creates a recessed, tactile quality.\n\n## 7. Do's and Don'ts\n\n### Do\n- Use near-black backgrounds (`#121212`\u2013`#1f1f1f`) \u2014 depth through shade variation\n- Apply Spotify Green (`#1ed760`) only for play controls, active states, and primary CTAs\n- Use pill shape (500px\u20139999px) for all buttons \u2014 circular (50%) for play controls\n- Apply uppercase + wide letter-spacing (1.4px\u20132px) on button labels\n- Keep typography compact (10px\u201324px range) \u2014 this is an app, not a magazine\n- Use heavy shadows (`0.3\u20130.5 opacity`) for elevated elements on dark backgrounds\n- Let album art provide color \u2014 the UI itself is achromatic\n\n### Don't\n- Don't use Spotify Green decoratively or on backgrounds \u2014 it's functional only\n- Don't use light backgrounds for primary surfaces \u2014 the dark immersion is core\n- Don't skip the pill/circle geometry on buttons \u2014 square buttons break the identity\n- Don't use thin/subtle shadows \u2014 on dark backgrounds, shadows need to be heavy to be visible\n- Don't add additional brand colors \u2014 green + achromatic grays is the complete palette\n- Don't use relaxed line-heights \u2014 Spotify's typography is compact and dense\n- Don't expose raw gray borders \u2014 use shadow-based or inset borders instead\n\n## 8. Responsive Behavior\n\n### Breakpoints\n| Name | Width | Key Changes |\n|------|-------|-------------|\n| Mobile Small | <425px | Compact mobile layout |\n| Mobile | 425\u2013576px | Standard mobile |\n| Tablet | 576\u2013768px | 2-column grid |\n| Tablet Large | 768\u2013896px | Expanded layout |\n| Desktop Small | 896\u20131024px | Sidebar visible |\n| Desktop | 1024\u20131280px | Full desktop layout |\n| Large Desktop | >1280px | Expanded grid |\n\n### Collapsing Strategy\n- Sidebar: full \u2192 collapsed \u2192 hidden\n- Album grid: 5 columns \u2192 3 \u2192 2 \u2192 1\n- Now-playing bar: maintained at all sizes\n- Search: pill input maintained, width adjusts\n- Navigation: sidebar \u2192 bottom bar on mobile\n\n## 9. Agent Prompt Guide\n\n### Quick Color Reference\n- Background: Near Black (`#121212`)\n- Surface: Dark Card (`#181818`)\n- Text: White (`#ffffff`)\n- Secondary text: Silver (`#b3b3b3`)\n- Accent: Spotify Green (`#1ed760`)\n- Border: `#4d4d4d`\n- Error: Negative Red (`#f3727f`)\n\n### Example Component Prompts\n- \"Create a dark card: #181818 background, 8px radius. Title at 16px SpotifyMixUI weight 700, white text. Subtitle at 14px weight 400, #b3b3b3. Shadow rgba(0,0,0,0.3) 0px 8px 8px on hover.\"\n- \"Design a pill button: #1f1f1f background, white text, 9999px radius, 8px 16px padding. 14px SpotifyMixUI weight 700, uppercase, letter-spacing 1.4px.\"\n- \"Build a circular play button: Spotify Green (#1ed760) background, #000000 icon, 50% radius, 12px padding.\"\n- \"Create search input: #1f1f1f background, white text, 500px radius, 12px 48px padding. Inset border: rgb(124,124,124) 0px 0px 0px 1px inset.\"\n- \"Design navigation sidebar: #121212 background. Active items: 14px weight 700, white. Inactive: 14px weight 400, #b3b3b3.\"\n\n### Iteration Guide\n1. Start with #121212 \u2014 everything lives in near-black darkness\n2. Spotify Green for functional highlights only (play, active, CTA)\n3. Pill everything \u2014 500px for large, 9999px for small, 50% for circular\n4. Uppercase + wide tracking on buttons \u2014 the systematic label voice\n5. Heavy shadows (0.3\u20130.5 opacity) for elevation \u2014 light shadows are invisible on dark\n6. Album art provides all the color \u2014 the UI stays achromatic\n";
|
|
2
|
+
|
|
3
|
+
export { spotifyBrief };
|