designmd-forge 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (907) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +119 -0
  3. package/dist/__tests__/designStore.test.js +41 -0
  4. package/dist/__tests__/linter.test.js +23 -0
  5. package/dist/__tests__/sectionParser.test.js +60 -0
  6. package/dist/__tests__/server.test.js +129 -0
  7. package/dist/constants.js +12 -0
  8. package/dist/data/authoring-guide.md +113 -0
  9. package/dist/data/designs/airbnb.md +545 -0
  10. package/dist/data/designs/airtable.md +554 -0
  11. package/dist/data/designs/apple.md +562 -0
  12. package/dist/data/designs/binance.md +634 -0
  13. package/dist/data/designs/bmw-m.md +503 -0
  14. package/dist/data/designs/bmw.md +544 -0
  15. package/dist/data/designs/bugatti.md +454 -0
  16. package/dist/data/designs/cal.md +542 -0
  17. package/dist/data/designs/card-heavy.md +250 -0
  18. package/dist/data/designs/claude.md +589 -0
  19. package/dist/data/designs/clay.md +541 -0
  20. package/dist/data/designs/clickhouse.md +544 -0
  21. package/dist/data/designs/cohere.md +451 -0
  22. package/dist/data/designs/coinbase.md +570 -0
  23. package/dist/data/designs/composio.md +506 -0
  24. package/dist/data/designs/content-first.md +236 -0
  25. package/dist/data/designs/cursor.md +537 -0
  26. package/dist/data/designs/data-dashboard.md +300 -0
  27. package/dist/data/designs/dell-1996.md +632 -0
  28. package/dist/data/designs/elevenlabs.md +504 -0
  29. package/dist/data/designs/enterprise-neutral.md +252 -0
  30. package/dist/data/designs/expo.md +526 -0
  31. package/dist/data/designs/ferrari.md +531 -0
  32. package/dist/data/designs/figma.md +578 -0
  33. package/dist/data/designs/framer.md +544 -0
  34. package/dist/data/designs/hashicorp.md +575 -0
  35. package/dist/data/designs/hp.md +670 -0
  36. package/dist/data/designs/ibm.md +550 -0
  37. package/dist/data/designs/intercom.md +546 -0
  38. package/dist/data/designs/ios-acorns-android.md +430 -0
  39. package/dist/data/designs/ios-acorns-expo.md +381 -0
  40. package/dist/data/designs/ios-acorns-swiftui.md +378 -0
  41. package/dist/data/designs/ios-acorns.md +384 -0
  42. package/dist/data/designs/ios-airbnb-android.md +658 -0
  43. package/dist/data/designs/ios-airbnb-expo.md +457 -0
  44. package/dist/data/designs/ios-airbnb-swiftui.md +464 -0
  45. package/dist/data/designs/ios-airbnb.md +410 -0
  46. package/dist/data/designs/ios-alltrails-android.md +451 -0
  47. package/dist/data/designs/ios-alltrails-expo.md +400 -0
  48. package/dist/data/designs/ios-alltrails-swiftui.md +343 -0
  49. package/dist/data/designs/ios-alltrails.md +344 -0
  50. package/dist/data/designs/ios-amazon-android.md +686 -0
  51. package/dist/data/designs/ios-amazon-expo.md +433 -0
  52. package/dist/data/designs/ios-amazon-music-android.md +416 -0
  53. package/dist/data/designs/ios-amazon-music-expo.md +368 -0
  54. package/dist/data/designs/ios-amazon-music-swiftui.md +436 -0
  55. package/dist/data/designs/ios-amazon-music.md +389 -0
  56. package/dist/data/designs/ios-amazon-swiftui.md +460 -0
  57. package/dist/data/designs/ios-amazon.md +440 -0
  58. package/dist/data/designs/ios-apple-fitness-android.md +462 -0
  59. package/dist/data/designs/ios-apple-fitness-expo.md +373 -0
  60. package/dist/data/designs/ios-apple-fitness-swiftui.md +373 -0
  61. package/dist/data/designs/ios-apple-fitness.md +399 -0
  62. package/dist/data/designs/ios-apple-maps-android.md +646 -0
  63. package/dist/data/designs/ios-apple-maps-expo.md +557 -0
  64. package/dist/data/designs/ios-apple-maps-swiftui.md +588 -0
  65. package/dist/data/designs/ios-apple-maps.md +447 -0
  66. package/dist/data/designs/ios-apple-music-android.md +737 -0
  67. package/dist/data/designs/ios-apple-music-expo.md +596 -0
  68. package/dist/data/designs/ios-apple-music-swiftui.md +578 -0
  69. package/dist/data/designs/ios-apple-music.md +494 -0
  70. package/dist/data/designs/ios-apple-notes-android.md +675 -0
  71. package/dist/data/designs/ios-apple-notes-expo.md +468 -0
  72. package/dist/data/designs/ios-apple-notes-swiftui.md +489 -0
  73. package/dist/data/designs/ios-apple-notes.md +413 -0
  74. package/dist/data/designs/ios-apple-tv-android.md +405 -0
  75. package/dist/data/designs/ios-apple-tv-expo.md +341 -0
  76. package/dist/data/designs/ios-apple-tv-swiftui.md +348 -0
  77. package/dist/data/designs/ios-apple-tv.md +390 -0
  78. package/dist/data/designs/ios-apple-wallet-android.md +617 -0
  79. package/dist/data/designs/ios-apple-wallet-expo.md +487 -0
  80. package/dist/data/designs/ios-apple-wallet-swiftui.md +425 -0
  81. package/dist/data/designs/ios-apple-wallet.md +360 -0
  82. package/dist/data/designs/ios-asana-android.md +435 -0
  83. package/dist/data/designs/ios-asana-expo.md +411 -0
  84. package/dist/data/designs/ios-asana-swiftui.md +416 -0
  85. package/dist/data/designs/ios-asana.md +433 -0
  86. package/dist/data/designs/ios-audible-android.md +450 -0
  87. package/dist/data/designs/ios-audible-expo.md +328 -0
  88. package/dist/data/designs/ios-audible-swiftui.md +418 -0
  89. package/dist/data/designs/ios-audible.md +364 -0
  90. package/dist/data/designs/ios-bandcamp-android.md +471 -0
  91. package/dist/data/designs/ios-bandcamp-expo.md +378 -0
  92. package/dist/data/designs/ios-bandcamp-swiftui.md +374 -0
  93. package/dist/data/designs/ios-bandcamp.md +372 -0
  94. package/dist/data/designs/ios-bear-android.md +496 -0
  95. package/dist/data/designs/ios-bear-expo.md +449 -0
  96. package/dist/data/designs/ios-bear-swiftui.md +479 -0
  97. package/dist/data/designs/ios-bear.md +412 -0
  98. package/dist/data/designs/ios-bereal-android.md +392 -0
  99. package/dist/data/designs/ios-bereal-expo.md +299 -0
  100. package/dist/data/designs/ios-bereal-swiftui.md +319 -0
  101. package/dist/data/designs/ios-bereal.md +336 -0
  102. package/dist/data/designs/ios-binance-android.md +481 -0
  103. package/dist/data/designs/ios-binance-expo.md +404 -0
  104. package/dist/data/designs/ios-binance-swiftui.md +418 -0
  105. package/dist/data/designs/ios-binance.md +410 -0
  106. package/dist/data/designs/ios-bluesky-android.md +442 -0
  107. package/dist/data/designs/ios-bluesky-expo.md +362 -0
  108. package/dist/data/designs/ios-bluesky-swiftui.md +328 -0
  109. package/dist/data/designs/ios-bluesky.md +338 -0
  110. package/dist/data/designs/ios-booking-android.md +471 -0
  111. package/dist/data/designs/ios-booking-expo.md +364 -0
  112. package/dist/data/designs/ios-booking-swiftui.md +377 -0
  113. package/dist/data/designs/ios-booking.md +346 -0
  114. package/dist/data/designs/ios-bumble-android.md +756 -0
  115. package/dist/data/designs/ios-bumble-expo.md +629 -0
  116. package/dist/data/designs/ios-bumble-swiftui.md +546 -0
  117. package/dist/data/designs/ios-bumble.md +424 -0
  118. package/dist/data/designs/ios-cal-ai-android.md +664 -0
  119. package/dist/data/designs/ios-cal-ai-expo.md +415 -0
  120. package/dist/data/designs/ios-cal-ai-swiftui.md +486 -0
  121. package/dist/data/designs/ios-cal-ai.md +387 -0
  122. package/dist/data/designs/ios-calm-android.md +431 -0
  123. package/dist/data/designs/ios-calm-expo.md +384 -0
  124. package/dist/data/designs/ios-calm-swiftui.md +327 -0
  125. package/dist/data/designs/ios-calm.md +356 -0
  126. package/dist/data/designs/ios-canva-android.md +469 -0
  127. package/dist/data/designs/ios-canva-expo.md +374 -0
  128. package/dist/data/designs/ios-canva-swiftui.md +422 -0
  129. package/dist/data/designs/ios-canva.md +395 -0
  130. package/dist/data/designs/ios-cash-app-android.md +601 -0
  131. package/dist/data/designs/ios-cash-app-expo.md +453 -0
  132. package/dist/data/designs/ios-cash-app-swiftui.md +463 -0
  133. package/dist/data/designs/ios-cash-app.md +365 -0
  134. package/dist/data/designs/ios-character-ai-android.md +489 -0
  135. package/dist/data/designs/ios-character-ai-expo.md +420 -0
  136. package/dist/data/designs/ios-character-ai-swiftui.md +417 -0
  137. package/dist/data/designs/ios-character-ai.md +392 -0
  138. package/dist/data/designs/ios-charles-schwab-android.md +454 -0
  139. package/dist/data/designs/ios-charles-schwab-expo.md +388 -0
  140. package/dist/data/designs/ios-charles-schwab-swiftui.md +394 -0
  141. package/dist/data/designs/ios-charles-schwab.md +380 -0
  142. package/dist/data/designs/ios-chatgpt-android.md +753 -0
  143. package/dist/data/designs/ios-chatgpt-expo.md +644 -0
  144. package/dist/data/designs/ios-chatgpt-swiftui.md +653 -0
  145. package/dist/data/designs/ios-chatgpt.md +466 -0
  146. package/dist/data/designs/ios-chime-android.md +438 -0
  147. package/dist/data/designs/ios-chime-expo.md +419 -0
  148. package/dist/data/designs/ios-chime-swiftui.md +383 -0
  149. package/dist/data/designs/ios-chime.md +389 -0
  150. package/dist/data/designs/ios-chipotle-android.md +397 -0
  151. package/dist/data/designs/ios-chipotle-expo.md +301 -0
  152. package/dist/data/designs/ios-chipotle-swiftui.md +345 -0
  153. package/dist/data/designs/ios-chipotle.md +340 -0
  154. package/dist/data/designs/ios-citymapper-android.md +466 -0
  155. package/dist/data/designs/ios-citymapper-expo.md +420 -0
  156. package/dist/data/designs/ios-citymapper-swiftui.md +424 -0
  157. package/dist/data/designs/ios-citymapper.md +394 -0
  158. package/dist/data/designs/ios-claude-android.md +625 -0
  159. package/dist/data/designs/ios-claude-expo.md +671 -0
  160. package/dist/data/designs/ios-claude-swiftui.md +649 -0
  161. package/dist/data/designs/ios-claude.md +447 -0
  162. package/dist/data/designs/ios-clickup-android.md +484 -0
  163. package/dist/data/designs/ios-clickup-expo.md +423 -0
  164. package/dist/data/designs/ios-clickup-swiftui.md +416 -0
  165. package/dist/data/designs/ios-clickup.md +431 -0
  166. package/dist/data/designs/ios-clubhouse-android.md +524 -0
  167. package/dist/data/designs/ios-clubhouse-expo.md +425 -0
  168. package/dist/data/designs/ios-clubhouse-swiftui.md +447 -0
  169. package/dist/data/designs/ios-clubhouse.md +406 -0
  170. package/dist/data/designs/ios-coffee-meets-bagel-android.md +461 -0
  171. package/dist/data/designs/ios-coffee-meets-bagel-expo.md +372 -0
  172. package/dist/data/designs/ios-coffee-meets-bagel-swiftui.md +368 -0
  173. package/dist/data/designs/ios-coffee-meets-bagel.md +376 -0
  174. package/dist/data/designs/ios-coinbase-android.md +611 -0
  175. package/dist/data/designs/ios-coinbase-expo.md +500 -0
  176. package/dist/data/designs/ios-coinbase-swiftui.md +490 -0
  177. package/dist/data/designs/ios-coinbase.md +409 -0
  178. package/dist/data/designs/ios-copilot-android.md +625 -0
  179. package/dist/data/designs/ios-copilot-expo.md +423 -0
  180. package/dist/data/designs/ios-copilot-swiftui.md +471 -0
  181. package/dist/data/designs/ios-copilot.md +367 -0
  182. package/dist/data/designs/ios-craft-android.md +459 -0
  183. package/dist/data/designs/ios-craft-expo.md +417 -0
  184. package/dist/data/designs/ios-craft-swiftui.md +449 -0
  185. package/dist/data/designs/ios-craft.md +449 -0
  186. package/dist/data/designs/ios-crunchyroll-android.md +432 -0
  187. package/dist/data/designs/ios-crunchyroll-expo.md +388 -0
  188. package/dist/data/designs/ios-crunchyroll-swiftui.md +417 -0
  189. package/dist/data/designs/ios-crunchyroll.md +388 -0
  190. package/dist/data/designs/ios-crypto-com-android.md +461 -0
  191. package/dist/data/designs/ios-crypto-com-expo.md +404 -0
  192. package/dist/data/designs/ios-crypto-com-swiftui.md +419 -0
  193. package/dist/data/designs/ios-crypto-com.md +410 -0
  194. package/dist/data/designs/ios-deepseek-android.md +471 -0
  195. package/dist/data/designs/ios-deepseek-expo.md +391 -0
  196. package/dist/data/designs/ios-deepseek-swiftui.md +354 -0
  197. package/dist/data/designs/ios-deepseek.md +393 -0
  198. package/dist/data/designs/ios-deezer-android.md +475 -0
  199. package/dist/data/designs/ios-deezer-expo.md +400 -0
  200. package/dist/data/designs/ios-deezer-swiftui.md +430 -0
  201. package/dist/data/designs/ios-deezer.md +388 -0
  202. package/dist/data/designs/ios-deliveroo-android.md +493 -0
  203. package/dist/data/designs/ios-deliveroo-expo.md +424 -0
  204. package/dist/data/designs/ios-deliveroo-swiftui.md +398 -0
  205. package/dist/data/designs/ios-deliveroo.md +420 -0
  206. package/dist/data/designs/ios-delta-android.md +439 -0
  207. package/dist/data/designs/ios-delta-expo.md +381 -0
  208. package/dist/data/designs/ios-delta-swiftui.md +400 -0
  209. package/dist/data/designs/ios-delta.md +397 -0
  210. package/dist/data/designs/ios-discord-android.md +611 -0
  211. package/dist/data/designs/ios-discord-expo.md +618 -0
  212. package/dist/data/designs/ios-discord-swiftui.md +630 -0
  213. package/dist/data/designs/ios-discord.md +451 -0
  214. package/dist/data/designs/ios-disney-plus-android.md +464 -0
  215. package/dist/data/designs/ios-disney-plus-expo.md +358 -0
  216. package/dist/data/designs/ios-disney-plus-swiftui.md +412 -0
  217. package/dist/data/designs/ios-disney-plus.md +355 -0
  218. package/dist/data/designs/ios-dominos-android.md +417 -0
  219. package/dist/data/designs/ios-dominos-expo.md +316 -0
  220. package/dist/data/designs/ios-dominos-swiftui.md +340 -0
  221. package/dist/data/designs/ios-dominos.md +347 -0
  222. package/dist/data/designs/ios-doordash-android.md +527 -0
  223. package/dist/data/designs/ios-doordash-expo.md +323 -0
  224. package/dist/data/designs/ios-doordash-swiftui.md +301 -0
  225. package/dist/data/designs/ios-doordash.md +393 -0
  226. package/dist/data/designs/ios-dropbox-android.md +522 -0
  227. package/dist/data/designs/ios-dropbox-expo.md +393 -0
  228. package/dist/data/designs/ios-dropbox-swiftui.md +400 -0
  229. package/dist/data/designs/ios-dropbox.md +374 -0
  230. package/dist/data/designs/ios-duolingo-android.md +641 -0
  231. package/dist/data/designs/ios-duolingo-expo.md +597 -0
  232. package/dist/data/designs/ios-duolingo-swiftui.md +539 -0
  233. package/dist/data/designs/ios-duolingo.md +409 -0
  234. package/dist/data/designs/ios-ebay-android.md +436 -0
  235. package/dist/data/designs/ios-ebay-expo.md +344 -0
  236. package/dist/data/designs/ios-ebay-swiftui.md +308 -0
  237. package/dist/data/designs/ios-ebay.md +355 -0
  238. package/dist/data/designs/ios-espn-android.md +468 -0
  239. package/dist/data/designs/ios-espn-expo.md +387 -0
  240. package/dist/data/designs/ios-espn-swiftui.md +410 -0
  241. package/dist/data/designs/ios-espn.md +384 -0
  242. package/dist/data/designs/ios-etsy-android.md +439 -0
  243. package/dist/data/designs/ios-etsy-expo.md +351 -0
  244. package/dist/data/designs/ios-etsy-swiftui.md +296 -0
  245. package/dist/data/designs/ios-etsy.md +355 -0
  246. package/dist/data/designs/ios-evernote-android.md +419 -0
  247. package/dist/data/designs/ios-evernote-expo.md +379 -0
  248. package/dist/data/designs/ios-evernote-swiftui.md +380 -0
  249. package/dist/data/designs/ios-evernote.md +416 -0
  250. package/dist/data/designs/ios-expedia-android.md +451 -0
  251. package/dist/data/designs/ios-expedia-expo.md +433 -0
  252. package/dist/data/designs/ios-expedia-swiftui.md +399 -0
  253. package/dist/data/designs/ios-expedia.md +431 -0
  254. package/dist/data/designs/ios-facebook-android.md +628 -0
  255. package/dist/data/designs/ios-facebook-expo.md +471 -0
  256. package/dist/data/designs/ios-facebook-swiftui.md +459 -0
  257. package/dist/data/designs/ios-facebook.md +452 -0
  258. package/dist/data/designs/ios-feeld-android.md +431 -0
  259. package/dist/data/designs/ios-feeld-expo.md +379 -0
  260. package/dist/data/designs/ios-feeld-swiftui.md +401 -0
  261. package/dist/data/designs/ios-feeld.md +378 -0
  262. package/dist/data/designs/ios-fidelity-android.md +426 -0
  263. package/dist/data/designs/ios-fidelity-expo.md +396 -0
  264. package/dist/data/designs/ios-fidelity-swiftui.md +398 -0
  265. package/dist/data/designs/ios-fidelity.md +387 -0
  266. package/dist/data/designs/ios-figma-android.md +578 -0
  267. package/dist/data/designs/ios-figma-expo.md +504 -0
  268. package/dist/data/designs/ios-figma-swiftui.md +542 -0
  269. package/dist/data/designs/ios-figma.md +404 -0
  270. package/dist/data/designs/ios-fitbit-android.md +439 -0
  271. package/dist/data/designs/ios-fitbit-expo.md +389 -0
  272. package/dist/data/designs/ios-fitbit-swiftui.md +380 -0
  273. package/dist/data/designs/ios-fitbit.md +396 -0
  274. package/dist/data/designs/ios-flickr-android.md +506 -0
  275. package/dist/data/designs/ios-flickr-expo.md +434 -0
  276. package/dist/data/designs/ios-flickr-swiftui.md +421 -0
  277. package/dist/data/designs/ios-flickr.md +394 -0
  278. package/dist/data/designs/ios-flighty-android.md +418 -0
  279. package/dist/data/designs/ios-flighty-expo.md +353 -0
  280. package/dist/data/designs/ios-flighty-swiftui.md +337 -0
  281. package/dist/data/designs/ios-flighty.md +357 -0
  282. package/dist/data/designs/ios-flo-android.md +447 -0
  283. package/dist/data/designs/ios-flo-expo.md +363 -0
  284. package/dist/data/designs/ios-flo-swiftui.md +355 -0
  285. package/dist/data/designs/ios-flo.md +351 -0
  286. package/dist/data/designs/ios-garmin-connect-android.md +531 -0
  287. package/dist/data/designs/ios-garmin-connect-expo.md +429 -0
  288. package/dist/data/designs/ios-garmin-connect-swiftui.md +459 -0
  289. package/dist/data/designs/ios-garmin-connect.md +419 -0
  290. package/dist/data/designs/ios-gas-android.md +438 -0
  291. package/dist/data/designs/ios-gas-expo.md +350 -0
  292. package/dist/data/designs/ios-gas-swiftui.md +329 -0
  293. package/dist/data/designs/ios-gas.md +387 -0
  294. package/dist/data/designs/ios-gemini-android.md +568 -0
  295. package/dist/data/designs/ios-gemini-expo.md +416 -0
  296. package/dist/data/designs/ios-gemini-swiftui.md +424 -0
  297. package/dist/data/designs/ios-gemini.md +351 -0
  298. package/dist/data/designs/ios-github-android.md +507 -0
  299. package/dist/data/designs/ios-github-expo.md +486 -0
  300. package/dist/data/designs/ios-github-swiftui.md +459 -0
  301. package/dist/data/designs/ios-github.md +394 -0
  302. package/dist/data/designs/ios-gmail-android.md +548 -0
  303. package/dist/data/designs/ios-gmail-expo.md +457 -0
  304. package/dist/data/designs/ios-gmail-swiftui.md +470 -0
  305. package/dist/data/designs/ios-gmail.md +441 -0
  306. package/dist/data/designs/ios-goodreads-android.md +436 -0
  307. package/dist/data/designs/ios-goodreads-expo.md +407 -0
  308. package/dist/data/designs/ios-goodreads-swiftui.md +378 -0
  309. package/dist/data/designs/ios-goodreads.md +385 -0
  310. package/dist/data/designs/ios-google-calendar-android.md +565 -0
  311. package/dist/data/designs/ios-google-calendar-expo.md +616 -0
  312. package/dist/data/designs/ios-google-calendar-swiftui.md +585 -0
  313. package/dist/data/designs/ios-google-calendar.md +431 -0
  314. package/dist/data/designs/ios-google-maps-android.md +614 -0
  315. package/dist/data/designs/ios-google-maps-expo.md +515 -0
  316. package/dist/data/designs/ios-google-maps-swiftui.md +484 -0
  317. package/dist/data/designs/ios-google-maps.md +451 -0
  318. package/dist/data/designs/ios-grammarly-android.md +449 -0
  319. package/dist/data/designs/ios-grammarly-expo.md +383 -0
  320. package/dist/data/designs/ios-grammarly-swiftui.md +381 -0
  321. package/dist/data/designs/ios-grammarly.md +392 -0
  322. package/dist/data/designs/ios-grindr-android.md +494 -0
  323. package/dist/data/designs/ios-grindr-expo.md +358 -0
  324. package/dist/data/designs/ios-grindr-swiftui.md +357 -0
  325. package/dist/data/designs/ios-grindr.md +356 -0
  326. package/dist/data/designs/ios-grok-android.md +471 -0
  327. package/dist/data/designs/ios-grok-expo.md +388 -0
  328. package/dist/data/designs/ios-grok-swiftui.md +397 -0
  329. package/dist/data/designs/ios-grok.md +357 -0
  330. package/dist/data/designs/ios-groupme-android.md +551 -0
  331. package/dist/data/designs/ios-groupme-expo.md +442 -0
  332. package/dist/data/designs/ios-groupme-swiftui.md +439 -0
  333. package/dist/data/designs/ios-groupme.md +424 -0
  334. package/dist/data/designs/ios-grubhub-android.md +506 -0
  335. package/dist/data/designs/ios-grubhub-expo.md +428 -0
  336. package/dist/data/designs/ios-grubhub-swiftui.md +408 -0
  337. package/dist/data/designs/ios-grubhub.md +427 -0
  338. package/dist/data/designs/ios-happn-android.md +464 -0
  339. package/dist/data/designs/ios-happn-expo.md +411 -0
  340. package/dist/data/designs/ios-happn-swiftui.md +401 -0
  341. package/dist/data/designs/ios-happn.md +400 -0
  342. package/dist/data/designs/ios-headspace-android.md +688 -0
  343. package/dist/data/designs/ios-headspace-expo.md +574 -0
  344. package/dist/data/designs/ios-headspace-swiftui.md +498 -0
  345. package/dist/data/designs/ios-headspace.md +430 -0
  346. package/dist/data/designs/ios-hevy-android.md +473 -0
  347. package/dist/data/designs/ios-hevy-expo.md +405 -0
  348. package/dist/data/designs/ios-hevy-swiftui.md +367 -0
  349. package/dist/data/designs/ios-hevy.md +410 -0
  350. package/dist/data/designs/ios-hinge-android.md +743 -0
  351. package/dist/data/designs/ios-hinge-expo.md +580 -0
  352. package/dist/data/designs/ios-hinge-swiftui.md +512 -0
  353. package/dist/data/designs/ios-hinge.md +405 -0
  354. package/dist/data/designs/ios-hopper-android.md +440 -0
  355. package/dist/data/designs/ios-hopper-expo.md +353 -0
  356. package/dist/data/designs/ios-hopper-swiftui.md +340 -0
  357. package/dist/data/designs/ios-hopper.md +354 -0
  358. package/dist/data/designs/ios-hulu-android.md +435 -0
  359. package/dist/data/designs/ios-hulu-expo.md +331 -0
  360. package/dist/data/designs/ios-hulu-swiftui.md +374 -0
  361. package/dist/data/designs/ios-hulu.md +353 -0
  362. package/dist/data/designs/ios-iheartradio-android.md +481 -0
  363. package/dist/data/designs/ios-iheartradio-expo.md +417 -0
  364. package/dist/data/designs/ios-iheartradio-swiftui.md +423 -0
  365. package/dist/data/designs/ios-iheartradio.md +381 -0
  366. package/dist/data/designs/ios-imessage-android.md +426 -0
  367. package/dist/data/designs/ios-imessage-expo.md +384 -0
  368. package/dist/data/designs/ios-imessage-swiftui.md +378 -0
  369. package/dist/data/designs/ios-imessage.md +394 -0
  370. package/dist/data/designs/ios-instacart-android.md +471 -0
  371. package/dist/data/designs/ios-instacart-expo.md +349 -0
  372. package/dist/data/designs/ios-instacart-swiftui.md +378 -0
  373. package/dist/data/designs/ios-instacart.md +360 -0
  374. package/dist/data/designs/ios-instagram-android.md +646 -0
  375. package/dist/data/designs/ios-instagram-expo.md +310 -0
  376. package/dist/data/designs/ios-instagram-swiftui.md +333 -0
  377. package/dist/data/designs/ios-instagram.md +376 -0
  378. package/dist/data/designs/ios-jira-android.md +432 -0
  379. package/dist/data/designs/ios-jira-expo.md +375 -0
  380. package/dist/data/designs/ios-jira-swiftui.md +433 -0
  381. package/dist/data/designs/ios-jira.md +424 -0
  382. package/dist/data/designs/ios-kakaotalk-android.md +491 -0
  383. package/dist/data/designs/ios-kakaotalk-expo.md +418 -0
  384. package/dist/data/designs/ios-kakaotalk-swiftui.md +406 -0
  385. package/dist/data/designs/ios-kakaotalk.md +414 -0
  386. package/dist/data/designs/ios-kayak-android.md +466 -0
  387. package/dist/data/designs/ios-kayak-expo.md +407 -0
  388. package/dist/data/designs/ios-kayak-swiftui.md +426 -0
  389. package/dist/data/designs/ios-kayak.md +392 -0
  390. package/dist/data/designs/ios-kick-android.md +487 -0
  391. package/dist/data/designs/ios-kick-expo.md +434 -0
  392. package/dist/data/designs/ios-kick-swiftui.md +429 -0
  393. package/dist/data/designs/ios-kick.md +389 -0
  394. package/dist/data/designs/ios-kik-android.md +433 -0
  395. package/dist/data/designs/ios-kik-expo.md +363 -0
  396. package/dist/data/designs/ios-kik-swiftui.md +363 -0
  397. package/dist/data/designs/ios-kik.md +392 -0
  398. package/dist/data/designs/ios-kindle-android.md +439 -0
  399. package/dist/data/designs/ios-kindle-expo.md +356 -0
  400. package/dist/data/designs/ios-kindle-swiftui.md +372 -0
  401. package/dist/data/designs/ios-kindle.md +369 -0
  402. package/dist/data/designs/ios-klarna-android.md +420 -0
  403. package/dist/data/designs/ios-klarna-expo.md +349 -0
  404. package/dist/data/designs/ios-klarna-swiftui.md +360 -0
  405. package/dist/data/designs/ios-klarna.md +356 -0
  406. package/dist/data/designs/ios-lemon8-android.md +492 -0
  407. package/dist/data/designs/ios-lemon8-expo.md +413 -0
  408. package/dist/data/designs/ios-lemon8-swiftui.md +428 -0
  409. package/dist/data/designs/ios-lemon8.md +378 -0
  410. package/dist/data/designs/ios-life360-android.md +474 -0
  411. package/dist/data/designs/ios-life360-expo.md +375 -0
  412. package/dist/data/designs/ios-life360-swiftui.md +390 -0
  413. package/dist/data/designs/ios-life360.md +402 -0
  414. package/dist/data/designs/ios-line-android.md +517 -0
  415. package/dist/data/designs/ios-line-expo.md +402 -0
  416. package/dist/data/designs/ios-line-swiftui.md +361 -0
  417. package/dist/data/designs/ios-line.md +362 -0
  418. package/dist/data/designs/ios-linear-android.md +457 -0
  419. package/dist/data/designs/ios-linear-expo.md +367 -0
  420. package/dist/data/designs/ios-linear-swiftui.md +401 -0
  421. package/dist/data/designs/ios-linear.md +368 -0
  422. package/dist/data/designs/ios-linkedin-android.md +620 -0
  423. package/dist/data/designs/ios-linkedin-expo.md +469 -0
  424. package/dist/data/designs/ios-linkedin-swiftui.md +472 -0
  425. package/dist/data/designs/ios-linkedin.md +444 -0
  426. package/dist/data/designs/ios-locket-android.md +500 -0
  427. package/dist/data/designs/ios-locket-expo.md +375 -0
  428. package/dist/data/designs/ios-locket-swiftui.md +375 -0
  429. package/dist/data/designs/ios-locket.md +381 -0
  430. package/dist/data/designs/ios-lyft-android.md +406 -0
  431. package/dist/data/designs/ios-lyft-expo.md +333 -0
  432. package/dist/data/designs/ios-lyft-swiftui.md +315 -0
  433. package/dist/data/designs/ios-lyft.md +337 -0
  434. package/dist/data/designs/ios-marriott-bonvoy-android.md +488 -0
  435. package/dist/data/designs/ios-marriott-bonvoy-expo.md +412 -0
  436. package/dist/data/designs/ios-marriott-bonvoy-swiftui.md +461 -0
  437. package/dist/data/designs/ios-marriott-bonvoy.md +379 -0
  438. package/dist/data/designs/ios-mastodon-android.md +476 -0
  439. package/dist/data/designs/ios-mastodon-expo.md +379 -0
  440. package/dist/data/designs/ios-mastodon-swiftui.md +349 -0
  441. package/dist/data/designs/ios-mastodon.md +337 -0
  442. package/dist/data/designs/ios-match-android.md +496 -0
  443. package/dist/data/designs/ios-match-expo.md +393 -0
  444. package/dist/data/designs/ios-match-swiftui.md +450 -0
  445. package/dist/data/designs/ios-match.md +382 -0
  446. package/dist/data/designs/ios-max-android.md +454 -0
  447. package/dist/data/designs/ios-max-expo.md +342 -0
  448. package/dist/data/designs/ios-max-swiftui.md +332 -0
  449. package/dist/data/designs/ios-max.md +352 -0
  450. package/dist/data/designs/ios-mcdonalds-android.md +497 -0
  451. package/dist/data/designs/ios-mcdonalds-expo.md +382 -0
  452. package/dist/data/designs/ios-mcdonalds-swiftui.md +394 -0
  453. package/dist/data/designs/ios-mcdonalds.md +410 -0
  454. package/dist/data/designs/ios-messenger-android.md +523 -0
  455. package/dist/data/designs/ios-messenger-expo.md +379 -0
  456. package/dist/data/designs/ios-messenger-swiftui.md +369 -0
  457. package/dist/data/designs/ios-messenger.md +361 -0
  458. package/dist/data/designs/ios-microsoft-teams-android.md +446 -0
  459. package/dist/data/designs/ios-microsoft-teams-expo.md +362 -0
  460. package/dist/data/designs/ios-microsoft-teams-swiftui.md +384 -0
  461. package/dist/data/designs/ios-microsoft-teams.md +359 -0
  462. package/dist/data/designs/ios-midjourney-android.md +503 -0
  463. package/dist/data/designs/ios-midjourney-expo.md +406 -0
  464. package/dist/data/designs/ios-midjourney-swiftui.md +376 -0
  465. package/dist/data/designs/ios-midjourney.md +407 -0
  466. package/dist/data/designs/ios-miro-android.md +475 -0
  467. package/dist/data/designs/ios-miro-expo.md +421 -0
  468. package/dist/data/designs/ios-miro-swiftui.md +407 -0
  469. package/dist/data/designs/ios-miro.md +424 -0
  470. package/dist/data/designs/ios-monday-android.md +426 -0
  471. package/dist/data/designs/ios-monday-expo.md +382 -0
  472. package/dist/data/designs/ios-monday-swiftui.md +386 -0
  473. package/dist/data/designs/ios-monday.md +415 -0
  474. package/dist/data/designs/ios-monzo-android.md +423 -0
  475. package/dist/data/designs/ios-monzo-expo.md +391 -0
  476. package/dist/data/designs/ios-monzo-swiftui.md +371 -0
  477. package/dist/data/designs/ios-monzo.md +382 -0
  478. package/dist/data/designs/ios-myfitnesspal-android.md +631 -0
  479. package/dist/data/designs/ios-myfitnesspal-expo.md +489 -0
  480. package/dist/data/designs/ios-myfitnesspal-swiftui.md +500 -0
  481. package/dist/data/designs/ios-myfitnesspal.md +408 -0
  482. package/dist/data/designs/ios-netflix-android.md +570 -0
  483. package/dist/data/designs/ios-netflix-expo.md +528 -0
  484. package/dist/data/designs/ios-netflix-swiftui.md +543 -0
  485. package/dist/data/designs/ios-netflix.md +476 -0
  486. package/dist/data/designs/ios-nextdoor-android.md +399 -0
  487. package/dist/data/designs/ios-nextdoor-expo.md +317 -0
  488. package/dist/data/designs/ios-nextdoor-swiftui.md +343 -0
  489. package/dist/data/designs/ios-nextdoor.md +332 -0
  490. package/dist/data/designs/ios-nike-run-club-android.md +598 -0
  491. package/dist/data/designs/ios-nike-run-club-expo.md +459 -0
  492. package/dist/data/designs/ios-nike-run-club-swiftui.md +474 -0
  493. package/dist/data/designs/ios-nike-run-club.md +400 -0
  494. package/dist/data/designs/ios-noom-android.md +455 -0
  495. package/dist/data/designs/ios-noom-expo.md +362 -0
  496. package/dist/data/designs/ios-noom-swiftui.md +369 -0
  497. package/dist/data/designs/ios-noom.md +404 -0
  498. package/dist/data/designs/ios-notion-android.md +575 -0
  499. package/dist/data/designs/ios-notion-expo.md +543 -0
  500. package/dist/data/designs/ios-notion-swiftui.md +562 -0
  501. package/dist/data/designs/ios-notion.md +506 -0
  502. package/dist/data/designs/ios-nubank-android.md +447 -0
  503. package/dist/data/designs/ios-nubank-expo.md +391 -0
  504. package/dist/data/designs/ios-nubank-swiftui.md +391 -0
  505. package/dist/data/designs/ios-nubank.md +388 -0
  506. package/dist/data/designs/ios-obsidian-android.md +456 -0
  507. package/dist/data/designs/ios-obsidian-expo.md +401 -0
  508. package/dist/data/designs/ios-obsidian-swiftui.md +412 -0
  509. package/dist/data/designs/ios-obsidian.md +363 -0
  510. package/dist/data/designs/ios-okcupid-android.md +496 -0
  511. package/dist/data/designs/ios-okcupid-expo.md +378 -0
  512. package/dist/data/designs/ios-okcupid-swiftui.md +343 -0
  513. package/dist/data/designs/ios-okcupid.md +364 -0
  514. package/dist/data/designs/ios-opentable-android.md +426 -0
  515. package/dist/data/designs/ios-opentable-expo.md +350 -0
  516. package/dist/data/designs/ios-opentable-swiftui.md +328 -0
  517. package/dist/data/designs/ios-opentable.md +411 -0
  518. package/dist/data/designs/ios-oura-android.md +426 -0
  519. package/dist/data/designs/ios-oura-expo.md +353 -0
  520. package/dist/data/designs/ios-oura-swiftui.md +327 -0
  521. package/dist/data/designs/ios-oura.md +356 -0
  522. package/dist/data/designs/ios-overcast-android.md +508 -0
  523. package/dist/data/designs/ios-overcast-expo.md +420 -0
  524. package/dist/data/designs/ios-overcast-swiftui.md +427 -0
  525. package/dist/data/designs/ios-overcast.md +414 -0
  526. package/dist/data/designs/ios-pandora-android.md +477 -0
  527. package/dist/data/designs/ios-pandora-expo.md +406 -0
  528. package/dist/data/designs/ios-pandora-swiftui.md +413 -0
  529. package/dist/data/designs/ios-pandora.md +366 -0
  530. package/dist/data/designs/ios-panera-android.md +414 -0
  531. package/dist/data/designs/ios-panera-expo.md +352 -0
  532. package/dist/data/designs/ios-panera-swiftui.md +369 -0
  533. package/dist/data/designs/ios-panera.md +412 -0
  534. package/dist/data/designs/ios-paramount-plus-android.md +415 -0
  535. package/dist/data/designs/ios-paramount-plus-expo.md +363 -0
  536. package/dist/data/designs/ios-paramount-plus-swiftui.md +372 -0
  537. package/dist/data/designs/ios-paramount-plus.md +400 -0
  538. package/dist/data/designs/ios-paypal-android.md +535 -0
  539. package/dist/data/designs/ios-paypal-expo.md +429 -0
  540. package/dist/data/designs/ios-paypal-swiftui.md +466 -0
  541. package/dist/data/designs/ios-paypal.md +393 -0
  542. package/dist/data/designs/ios-peacock-android.md +453 -0
  543. package/dist/data/designs/ios-peacock-expo.md +393 -0
  544. package/dist/data/designs/ios-peacock-swiftui.md +420 -0
  545. package/dist/data/designs/ios-peacock.md +411 -0
  546. package/dist/data/designs/ios-peloton-android.md +470 -0
  547. package/dist/data/designs/ios-peloton-expo.md +401 -0
  548. package/dist/data/designs/ios-peloton-swiftui.md +409 -0
  549. package/dist/data/designs/ios-peloton.md +415 -0
  550. package/dist/data/designs/ios-perplexity-android.md +553 -0
  551. package/dist/data/designs/ios-perplexity-expo.md +703 -0
  552. package/dist/data/designs/ios-perplexity-swiftui.md +602 -0
  553. package/dist/data/designs/ios-perplexity.md +453 -0
  554. package/dist/data/designs/ios-pinterest-android.md +551 -0
  555. package/dist/data/designs/ios-pinterest-expo.md +466 -0
  556. package/dist/data/designs/ios-pinterest-swiftui.md +464 -0
  557. package/dist/data/designs/ios-pinterest.md +427 -0
  558. package/dist/data/designs/ios-plenty-of-fish-android.md +462 -0
  559. package/dist/data/designs/ios-plenty-of-fish-expo.md +380 -0
  560. package/dist/data/designs/ios-plenty-of-fish-swiftui.md +429 -0
  561. package/dist/data/designs/ios-plenty-of-fish.md +387 -0
  562. package/dist/data/designs/ios-plex-android.md +403 -0
  563. package/dist/data/designs/ios-plex-expo.md +333 -0
  564. package/dist/data/designs/ios-plex-swiftui.md +349 -0
  565. package/dist/data/designs/ios-plex.md +379 -0
  566. package/dist/data/designs/ios-pluto-tv-android.md +413 -0
  567. package/dist/data/designs/ios-pluto-tv-expo.md +379 -0
  568. package/dist/data/designs/ios-pluto-tv-swiftui.md +411 -0
  569. package/dist/data/designs/ios-pluto-tv.md +362 -0
  570. package/dist/data/designs/ios-pocket-casts-android.md +492 -0
  571. package/dist/data/designs/ios-pocket-casts-expo.md +430 -0
  572. package/dist/data/designs/ios-pocket-casts-swiftui.md +479 -0
  573. package/dist/data/designs/ios-pocket-casts.md +427 -0
  574. package/dist/data/designs/ios-postman-android.md +472 -0
  575. package/dist/data/designs/ios-postman-expo.md +372 -0
  576. package/dist/data/designs/ios-postman-swiftui.md +377 -0
  577. package/dist/data/designs/ios-postman.md +405 -0
  578. package/dist/data/designs/ios-prime-video-android.md +447 -0
  579. package/dist/data/designs/ios-prime-video-expo.md +365 -0
  580. package/dist/data/designs/ios-prime-video-swiftui.md +333 -0
  581. package/dist/data/designs/ios-prime-video.md +351 -0
  582. package/dist/data/designs/ios-quora-android.md +513 -0
  583. package/dist/data/designs/ios-quora-expo.md +362 -0
  584. package/dist/data/designs/ios-quora-swiftui.md +375 -0
  585. package/dist/data/designs/ios-quora.md +359 -0
  586. package/dist/data/designs/ios-raya-android.md +401 -0
  587. package/dist/data/designs/ios-raya-expo.md +366 -0
  588. package/dist/data/designs/ios-raya-swiftui.md +393 -0
  589. package/dist/data/designs/ios-raya.md +366 -0
  590. package/dist/data/designs/ios-reddit-android.md +605 -0
  591. package/dist/data/designs/ios-reddit-expo.md +553 -0
  592. package/dist/data/designs/ios-reddit-swiftui.md +514 -0
  593. package/dist/data/designs/ios-reddit.md +460 -0
  594. package/dist/data/designs/ios-resy-android.md +430 -0
  595. package/dist/data/designs/ios-resy-expo.md +344 -0
  596. package/dist/data/designs/ios-resy-swiftui.md +330 -0
  597. package/dist/data/designs/ios-resy.md +412 -0
  598. package/dist/data/designs/ios-revolut-android.md +433 -0
  599. package/dist/data/designs/ios-revolut-expo.md +379 -0
  600. package/dist/data/designs/ios-revolut-swiftui.md +372 -0
  601. package/dist/data/designs/ios-revolut.md +353 -0
  602. package/dist/data/designs/ios-robinhood-android.md +587 -0
  603. package/dist/data/designs/ios-robinhood-expo.md +416 -0
  604. package/dist/data/designs/ios-robinhood-swiftui.md +431 -0
  605. package/dist/data/designs/ios-robinhood.md +380 -0
  606. package/dist/data/designs/ios-runna-android.md +485 -0
  607. package/dist/data/designs/ios-runna-expo.md +388 -0
  608. package/dist/data/designs/ios-runna-swiftui.md +413 -0
  609. package/dist/data/designs/ios-runna.md +390 -0
  610. package/dist/data/designs/ios-shazam-android.md +436 -0
  611. package/dist/data/designs/ios-shazam-expo.md +348 -0
  612. package/dist/data/designs/ios-shazam-swiftui.md +394 -0
  613. package/dist/data/designs/ios-shazam.md +338 -0
  614. package/dist/data/designs/ios-signal-android.md +462 -0
  615. package/dist/data/designs/ios-signal-expo.md +361 -0
  616. package/dist/data/designs/ios-signal-swiftui.md +350 -0
  617. package/dist/data/designs/ios-signal.md +357 -0
  618. package/dist/data/designs/ios-skype-android.md +398 -0
  619. package/dist/data/designs/ios-skype-expo.md +368 -0
  620. package/dist/data/designs/ios-skype-swiftui.md +369 -0
  621. package/dist/data/designs/ios-skype.md +406 -0
  622. package/dist/data/designs/ios-skyscanner-android.md +451 -0
  623. package/dist/data/designs/ios-skyscanner-expo.md +423 -0
  624. package/dist/data/designs/ios-skyscanner-swiftui.md +419 -0
  625. package/dist/data/designs/ios-skyscanner.md +421 -0
  626. package/dist/data/designs/ios-slack-android.md +695 -0
  627. package/dist/data/designs/ios-slack-expo.md +601 -0
  628. package/dist/data/designs/ios-slack-swiftui.md +594 -0
  629. package/dist/data/designs/ios-slack.md +474 -0
  630. package/dist/data/designs/ios-sleep-cycle-android.md +436 -0
  631. package/dist/data/designs/ios-sleep-cycle-expo.md +380 -0
  632. package/dist/data/designs/ios-sleep-cycle-swiftui.md +409 -0
  633. package/dist/data/designs/ios-sleep-cycle.md +386 -0
  634. package/dist/data/designs/ios-snapchat-android.md +671 -0
  635. package/dist/data/designs/ios-snapchat-expo.md +528 -0
  636. package/dist/data/designs/ios-snapchat-swiftui.md +557 -0
  637. package/dist/data/designs/ios-snapchat.md +478 -0
  638. package/dist/data/designs/ios-sofi-android.md +446 -0
  639. package/dist/data/designs/ios-sofi-expo.md +387 -0
  640. package/dist/data/designs/ios-sofi-swiftui.md +379 -0
  641. package/dist/data/designs/ios-sofi.md +385 -0
  642. package/dist/data/designs/ios-soundcloud-android.md +488 -0
  643. package/dist/data/designs/ios-soundcloud-expo.md +364 -0
  644. package/dist/data/designs/ios-soundcloud-swiftui.md +399 -0
  645. package/dist/data/designs/ios-soundcloud.md +359 -0
  646. package/dist/data/designs/ios-southwest-android.md +446 -0
  647. package/dist/data/designs/ios-southwest-expo.md +389 -0
  648. package/dist/data/designs/ios-southwest-swiftui.md +405 -0
  649. package/dist/data/designs/ios-southwest.md +405 -0
  650. package/dist/data/designs/ios-spotify-android.md +427 -0
  651. package/dist/data/designs/ios-spotify-expo.md +321 -0
  652. package/dist/data/designs/ios-spotify-swiftui.md +312 -0
  653. package/dist/data/designs/ios-spotify.md +366 -0
  654. package/dist/data/designs/ios-starbucks-android.md +622 -0
  655. package/dist/data/designs/ios-starbucks-expo.md +497 -0
  656. package/dist/data/designs/ios-starbucks-swiftui.md +500 -0
  657. package/dist/data/designs/ios-starbucks.md +440 -0
  658. package/dist/data/designs/ios-strava-android.md +656 -0
  659. package/dist/data/designs/ios-strava-expo.md +501 -0
  660. package/dist/data/designs/ios-strava-swiftui.md +465 -0
  661. package/dist/data/designs/ios-strava.md +433 -0
  662. package/dist/data/designs/ios-strong-android.md +479 -0
  663. package/dist/data/designs/ios-strong-expo.md +396 -0
  664. package/dist/data/designs/ios-strong-swiftui.md +363 -0
  665. package/dist/data/designs/ios-strong.md +415 -0
  666. package/dist/data/designs/ios-substack-android.md +440 -0
  667. package/dist/data/designs/ios-substack-expo.md +395 -0
  668. package/dist/data/designs/ios-substack-swiftui.md +371 -0
  669. package/dist/data/designs/ios-substack.md +372 -0
  670. package/dist/data/designs/ios-swiggy-android.md +549 -0
  671. package/dist/data/designs/ios-swiggy-expo.md +443 -0
  672. package/dist/data/designs/ios-swiggy-swiftui.md +471 -0
  673. package/dist/data/designs/ios-swiggy.md +432 -0
  674. package/dist/data/designs/ios-taco-bell-android.md +529 -0
  675. package/dist/data/designs/ios-taco-bell-expo.md +407 -0
  676. package/dist/data/designs/ios-taco-bell-swiftui.md +419 -0
  677. package/dist/data/designs/ios-taco-bell.md +430 -0
  678. package/dist/data/designs/ios-telegram-android.md +676 -0
  679. package/dist/data/designs/ios-telegram-expo.md +594 -0
  680. package/dist/data/designs/ios-telegram-swiftui.md +518 -0
  681. package/dist/data/designs/ios-telegram.md +458 -0
  682. package/dist/data/designs/ios-the-league-android.md +454 -0
  683. package/dist/data/designs/ios-the-league-expo.md +391 -0
  684. package/dist/data/designs/ios-the-league-swiftui.md +409 -0
  685. package/dist/data/designs/ios-the-league.md +368 -0
  686. package/dist/data/designs/ios-things-3-android.md +421 -0
  687. package/dist/data/designs/ios-things-3-expo.md +351 -0
  688. package/dist/data/designs/ios-things-3-swiftui.md +359 -0
  689. package/dist/data/designs/ios-things-3.md +339 -0
  690. package/dist/data/designs/ios-threads-android.md +588 -0
  691. package/dist/data/designs/ios-threads-expo.md +468 -0
  692. package/dist/data/designs/ios-threads-swiftui.md +452 -0
  693. package/dist/data/designs/ios-threads.md +424 -0
  694. package/dist/data/designs/ios-threema-android.md +496 -0
  695. package/dist/data/designs/ios-threema-expo.md +415 -0
  696. package/dist/data/designs/ios-threema-swiftui.md +446 -0
  697. package/dist/data/designs/ios-threema.md +397 -0
  698. package/dist/data/designs/ios-tidal-android.md +398 -0
  699. package/dist/data/designs/ios-tidal-expo.md +323 -0
  700. package/dist/data/designs/ios-tidal-swiftui.md +340 -0
  701. package/dist/data/designs/ios-tidal.md +351 -0
  702. package/dist/data/designs/ios-tiktok-android.md +654 -0
  703. package/dist/data/designs/ios-tiktok-expo.md +578 -0
  704. package/dist/data/designs/ios-tiktok-swiftui.md +595 -0
  705. package/dist/data/designs/ios-tiktok.md +387 -0
  706. package/dist/data/designs/ios-tinder-android.md +681 -0
  707. package/dist/data/designs/ios-tinder-expo.md +512 -0
  708. package/dist/data/designs/ios-tinder-swiftui.md +497 -0
  709. package/dist/data/designs/ios-tinder.md +415 -0
  710. package/dist/data/designs/ios-todoist-android.md +711 -0
  711. package/dist/data/designs/ios-todoist-expo.md +607 -0
  712. package/dist/data/designs/ios-todoist-swiftui.md +573 -0
  713. package/dist/data/designs/ios-todoist.md +418 -0
  714. package/dist/data/designs/ios-trello-android.md +412 -0
  715. package/dist/data/designs/ios-trello-expo.md +332 -0
  716. package/dist/data/designs/ios-trello-swiftui.md +359 -0
  717. package/dist/data/designs/ios-trello.md +344 -0
  718. package/dist/data/designs/ios-tripadvisor-android.md +450 -0
  719. package/dist/data/designs/ios-tripadvisor-expo.md +322 -0
  720. package/dist/data/designs/ios-tripadvisor-swiftui.md +326 -0
  721. package/dist/data/designs/ios-tripadvisor.md +356 -0
  722. package/dist/data/designs/ios-tubi-android.md +453 -0
  723. package/dist/data/designs/ios-tubi-expo.md +419 -0
  724. package/dist/data/designs/ios-tubi-swiftui.md +463 -0
  725. package/dist/data/designs/ios-tubi.md +383 -0
  726. package/dist/data/designs/ios-tumblr-android.md +462 -0
  727. package/dist/data/designs/ios-tumblr-expo.md +374 -0
  728. package/dist/data/designs/ios-tumblr-swiftui.md +380 -0
  729. package/dist/data/designs/ios-tumblr.md +337 -0
  730. package/dist/data/designs/ios-turo-android.md +500 -0
  731. package/dist/data/designs/ios-turo-expo.md +454 -0
  732. package/dist/data/designs/ios-turo-swiftui.md +447 -0
  733. package/dist/data/designs/ios-turo.md +392 -0
  734. package/dist/data/designs/ios-twitch-android.md +412 -0
  735. package/dist/data/designs/ios-twitch-expo.md +342 -0
  736. package/dist/data/designs/ios-twitch-swiftui.md +328 -0
  737. package/dist/data/designs/ios-twitch.md +354 -0
  738. package/dist/data/designs/ios-uber-android.md +637 -0
  739. package/dist/data/designs/ios-uber-eats-android.md +502 -0
  740. package/dist/data/designs/ios-uber-eats-expo.md +407 -0
  741. package/dist/data/designs/ios-uber-eats-swiftui.md +393 -0
  742. package/dist/data/designs/ios-uber-eats.md +353 -0
  743. package/dist/data/designs/ios-uber-expo.md +512 -0
  744. package/dist/data/designs/ios-uber-swiftui.md +483 -0
  745. package/dist/data/designs/ios-uber.md +395 -0
  746. package/dist/data/designs/ios-united-airlines-android.md +494 -0
  747. package/dist/data/designs/ios-united-airlines-expo.md +408 -0
  748. package/dist/data/designs/ios-united-airlines-swiftui.md +453 -0
  749. package/dist/data/designs/ios-united-airlines.md +388 -0
  750. package/dist/data/designs/ios-venmo-android.md +654 -0
  751. package/dist/data/designs/ios-venmo-expo.md +458 -0
  752. package/dist/data/designs/ios-venmo-swiftui.md +469 -0
  753. package/dist/data/designs/ios-venmo.md +436 -0
  754. package/dist/data/designs/ios-vercel-android.md +454 -0
  755. package/dist/data/designs/ios-vercel-expo.md +387 -0
  756. package/dist/data/designs/ios-vercel-swiftui.md +374 -0
  757. package/dist/data/designs/ios-vercel.md +399 -0
  758. package/dist/data/designs/ios-vero-android.md +498 -0
  759. package/dist/data/designs/ios-vero-expo.md +376 -0
  760. package/dist/data/designs/ios-vero-swiftui.md +374 -0
  761. package/dist/data/designs/ios-vero.md +394 -0
  762. package/dist/data/designs/ios-viber-android.md +377 -0
  763. package/dist/data/designs/ios-viber-expo.md +375 -0
  764. package/dist/data/designs/ios-viber-swiftui.md +378 -0
  765. package/dist/data/designs/ios-viber.md +403 -0
  766. package/dist/data/designs/ios-vimeo-android.md +465 -0
  767. package/dist/data/designs/ios-vimeo-expo.md +347 -0
  768. package/dist/data/designs/ios-vimeo-swiftui.md +383 -0
  769. package/dist/data/designs/ios-vimeo.md +403 -0
  770. package/dist/data/designs/ios-vrbo-android.md +488 -0
  771. package/dist/data/designs/ios-vrbo-expo.md +395 -0
  772. package/dist/data/designs/ios-vrbo-swiftui.md +421 -0
  773. package/dist/data/designs/ios-vrbo.md +383 -0
  774. package/dist/data/designs/ios-vsco-android.md +490 -0
  775. package/dist/data/designs/ios-vsco-expo.md +413 -0
  776. package/dist/data/designs/ios-vsco-swiftui.md +449 -0
  777. package/dist/data/designs/ios-vsco.md +412 -0
  778. package/dist/data/designs/ios-walmart-android.md +479 -0
  779. package/dist/data/designs/ios-walmart-expo.md +370 -0
  780. package/dist/data/designs/ios-walmart-swiftui.md +387 -0
  781. package/dist/data/designs/ios-walmart.md +366 -0
  782. package/dist/data/designs/ios-waze-android.md +695 -0
  783. package/dist/data/designs/ios-waze-expo.md +587 -0
  784. package/dist/data/designs/ios-waze-swiftui.md +601 -0
  785. package/dist/data/designs/ios-waze.md +453 -0
  786. package/dist/data/designs/ios-webull-android.md +429 -0
  787. package/dist/data/designs/ios-webull-expo.md +384 -0
  788. package/dist/data/designs/ios-webull-swiftui.md +406 -0
  789. package/dist/data/designs/ios-webull.md +375 -0
  790. package/dist/data/designs/ios-wechat-android.md +545 -0
  791. package/dist/data/designs/ios-wechat-expo.md +398 -0
  792. package/dist/data/designs/ios-wechat-swiftui.md +394 -0
  793. package/dist/data/designs/ios-wechat.md +363 -0
  794. package/dist/data/designs/ios-whatsapp-android.md +568 -0
  795. package/dist/data/designs/ios-whatsapp-expo.md +502 -0
  796. package/dist/data/designs/ios-whatsapp-swiftui.md +483 -0
  797. package/dist/data/designs/ios-whatsapp.md +425 -0
  798. package/dist/data/designs/ios-whoop-android.md +635 -0
  799. package/dist/data/designs/ios-whoop-expo.md +562 -0
  800. package/dist/data/designs/ios-whoop-swiftui.md +553 -0
  801. package/dist/data/designs/ios-whoop.md +419 -0
  802. package/dist/data/designs/ios-wise-android.md +428 -0
  803. package/dist/data/designs/ios-wise-expo.md +357 -0
  804. package/dist/data/designs/ios-wise-swiftui.md +356 -0
  805. package/dist/data/designs/ios-wise.md +361 -0
  806. package/dist/data/designs/ios-x-twitter-android.md +618 -0
  807. package/dist/data/designs/ios-x-twitter-expo.md +442 -0
  808. package/dist/data/designs/ios-x-twitter-swiftui.md +429 -0
  809. package/dist/data/designs/ios-x-twitter.md +432 -0
  810. package/dist/data/designs/ios-yelp-android.md +455 -0
  811. package/dist/data/designs/ios-yelp-expo.md +397 -0
  812. package/dist/data/designs/ios-yelp-swiftui.md +369 -0
  813. package/dist/data/designs/ios-yelp.md +398 -0
  814. package/dist/data/designs/ios-youtube-android.md +668 -0
  815. package/dist/data/designs/ios-youtube-expo.md +435 -0
  816. package/dist/data/designs/ios-youtube-music-android.md +450 -0
  817. package/dist/data/designs/ios-youtube-music-expo.md +404 -0
  818. package/dist/data/designs/ios-youtube-music-swiftui.md +434 -0
  819. package/dist/data/designs/ios-youtube-music.md +381 -0
  820. package/dist/data/designs/ios-youtube-swiftui.md +496 -0
  821. package/dist/data/designs/ios-youtube.md +466 -0
  822. package/dist/data/designs/ios-zalo-android.md +510 -0
  823. package/dist/data/designs/ios-zalo-expo.md +389 -0
  824. package/dist/data/designs/ios-zalo-swiftui.md +431 -0
  825. package/dist/data/designs/ios-zalo.md +388 -0
  826. package/dist/data/designs/ios-zomato-android.md +527 -0
  827. package/dist/data/designs/ios-zomato-expo.md +437 -0
  828. package/dist/data/designs/ios-zomato-swiftui.md +433 -0
  829. package/dist/data/designs/ios-zomato.md +439 -0
  830. package/dist/data/designs/ios-zoom-android.md +423 -0
  831. package/dist/data/designs/ios-zoom-expo.md +355 -0
  832. package/dist/data/designs/ios-zoom-swiftui.md +379 -0
  833. package/dist/data/designs/ios-zoom.md +357 -0
  834. package/dist/data/designs/ios-zwift-android.md +402 -0
  835. package/dist/data/designs/ios-zwift-expo.md +402 -0
  836. package/dist/data/designs/ios-zwift-swiftui.md +378 -0
  837. package/dist/data/designs/ios-zwift.md +411 -0
  838. package/dist/data/designs/kraken.md +125 -0
  839. package/dist/data/designs/lamborghini.md +288 -0
  840. package/dist/data/designs/linear.app.md +548 -0
  841. package/dist/data/designs/lovable.md +298 -0
  842. package/dist/data/designs/mastercard.md +365 -0
  843. package/dist/data/designs/material-clean.md +289 -0
  844. package/dist/data/designs/meta.md +683 -0
  845. package/dist/data/designs/midnight-pro.md +256 -0
  846. package/dist/data/designs/minimal-brutalist.md +245 -0
  847. package/dist/data/designs/minimax.md +746 -0
  848. package/dist/data/designs/mintlify.md +852 -0
  849. package/dist/data/designs/miro.md +825 -0
  850. package/dist/data/designs/mistral.ai.md +773 -0
  851. package/dist/data/designs/mongodb.md +767 -0
  852. package/dist/data/designs/nike.md +575 -0
  853. package/dist/data/designs/nintendo-2001.md +649 -0
  854. package/dist/data/designs/notion.md +821 -0
  855. package/dist/data/designs/nova-mobile-design-md.md +235 -0
  856. package/dist/data/designs/nvidia.md +640 -0
  857. package/dist/data/designs/ollama.md +539 -0
  858. package/dist/data/designs/opencode.ai.md +521 -0
  859. package/dist/data/designs/pinterest.md +597 -0
  860. package/dist/data/designs/playful-color.md +253 -0
  861. package/dist/data/designs/playstation.md +661 -0
  862. package/dist/data/designs/posthog.md +690 -0
  863. package/dist/data/designs/raycast.md +669 -0
  864. package/dist/data/designs/renault.md +589 -0
  865. package/dist/data/designs/replicate.md +616 -0
  866. package/dist/data/designs/resend.md +585 -0
  867. package/dist/data/designs/revolut.md +636 -0
  868. package/dist/data/designs/runwayml.md +244 -0
  869. package/dist/data/designs/sanity.md +357 -0
  870. package/dist/data/designs/sentry.md +551 -0
  871. package/dist/data/designs/shopify.md +516 -0
  872. package/dist/data/designs/slack.md +482 -0
  873. package/dist/data/designs/soft-glass.md +258 -0
  874. package/dist/data/designs/spacex.md +363 -0
  875. package/dist/data/designs/spotify.md +246 -0
  876. package/dist/data/designs/starbucks.md +580 -0
  877. package/dist/data/designs/stripe.md +487 -0
  878. package/dist/data/designs/supabase.md +462 -0
  879. package/dist/data/designs/superhuman.md +448 -0
  880. package/dist/data/designs/tesla.md +286 -0
  881. package/dist/data/designs/theverge.md +339 -0
  882. package/dist/data/designs/together.ai.md +633 -0
  883. package/dist/data/designs/uber.md +636 -0
  884. package/dist/data/designs/vercel.md +736 -0
  885. package/dist/data/designs/vodafone.md +538 -0
  886. package/dist/data/designs/voltagent.md +521 -0
  887. package/dist/data/designs/warp.md +526 -0
  888. package/dist/data/designs/webflow.md +588 -0
  889. package/dist/data/designs/wired.md +497 -0
  890. package/dist/data/designs/wise.md +544 -0
  891. package/dist/data/designs/x.ai.md +465 -0
  892. package/dist/data/designs/zapier.md +537 -0
  893. package/dist/data/index.json +2600 -0
  894. package/dist/httpServer.js +83 -0
  895. package/dist/index.js +13 -0
  896. package/dist/server.js +32 -0
  897. package/dist/services/designStore.js +59 -0
  898. package/dist/services/linter.js +87 -0
  899. package/dist/services/sectionParser.js +154 -0
  900. package/dist/tools/authoring.js +131 -0
  901. package/dist/tools/browse.js +232 -0
  902. package/dist/tools/diff.js +88 -0
  903. package/dist/tools/getDesign.js +216 -0
  904. package/dist/tools/guardrails.js +87 -0
  905. package/dist/tools/lint.js +104 -0
  906. package/dist/types.js +1 -0
  907. package/package.json +65 -0
@@ -0,0 +1,378 @@
1
+ # Design System Inspiration of Lemon8 (iOS)
2
+
3
+ ## 1. Visual Theme & Atmosphere
4
+
5
+ Lemon8's iOS app is a digital lifestyle magazine. Where most social apps default to a single-column feed of full-width posts, Lemon8 opens to a **two-column staggered masonry grid** of richly styled lifestyle cards — a layout that reads like flipping through the discovery board of a glossy magazine crossed with Pinterest and Xiaohongshu (RED). The canvas is bright editorial white (`#FFFFFF`), generous with whitespace, and every card is a small magazine cover: a tall lifestyle photo, a punchy 1-2 line title, pastel topic tags, and a tiny creator byline with a like count. The aesthetic is aspirational, warm, and content-dense without feeling cluttered — the masonry's varied heights create a pleasing editorial rhythm as you scroll.
6
+
7
+ The signature surface is the **discovery masonry feed**. Cards break across two columns with uneven heights (because cover images vary from 1:1 to 3:4 to 4:5), 10pt column gaps, and 12pt vertical gaps. Each card has a 14pt corner radius and a very soft elevation (`0 1px 3px` + `0 4px 12px` at low opacity) so it lifts gently off the white. Tapping a card opens the **post detail**: a swipeable photo carousel at the top (with a "5 photos" pill), then the title in Poppins, a rich body of styled text with inline subheadings and embedded photos, the pastel tag row, the creator card with a Follow button, and a comment thread — structured like a magazine article, not a tweet.
8
+
9
+ The brand color is **Lemon8 Yellow** (`#FFE600`) — but it is used with deliberate restraint. It is NOT a flood color. Yellow appears only on: the post-compose FAB (a rounded yellow rectangle in the tab bar), the active top-tab underline, the primary CTA (Post / Follow), and small accent moments. Critically, Lemon8 Yellow is *always* paired with ink text (`#1A1A1A`) — never white-on-yellow (the contrast would fail and it's off-brand). The workhorse of the system is actually the ink-on-white editorial type and the **pastel topic-tag palette**: mint (`#E4F5EC`/`#1F8A52`), blush (`#FCE8EE`/`#C13E68`), sky (`#E6F0FB`/`#2D6FB8`), butter (`#FFF6CC`/`#8A7300`). Every card carries 1-3 of these soft category tags; they are the color rhythm of the entire app.
10
+
11
+ Typography pairs a friendly geometric display face with a clean UI sans. **Poppins** (Google Fonts, geometric, rounded) carries display titles, screen headers, tab headers, and post titles — giving Lemon8 its approachable magazine-headline voice. **Inter** handles card titles, body copy, metadata, tags, and tab labels. Hierarchy is editorial: a 32pt display, 18pt post titles, 15pt card titles, 13pt creator metadata, 11pt tags.
12
+
13
+ **Key Characteristics:**
14
+ - Bright editorial white canvas (`#FFFFFF`) — a digital lifestyle magazine, generous whitespace
15
+ - Two-column staggered masonry feed — varied card heights, 10pt column gap, 12pt vertical gap
16
+ - Lifestyle cards as mini magazine covers — tall photo + punchy title + pastel tags + creator byline
17
+ - Lemon8 Yellow (`#FFE600`) used sparingly — post FAB, active tab underline, primary CTA — always with ink text
18
+ - Pastel topic-tag palette — mint / blush / sky / butter; every card carries 1-3 category tags
19
+ - Post detail as a magazine article — photo carousel + styled body with subheadings + embedded photos
20
+ - Poppins display headlines + Inter UI/body
21
+ - Soft card elevation (`0 1px 3px` + `0 4px 12px` low-opacity) — cards lift gently off white
22
+ - Top segmented tabs — Following / For You / Nearby with a small yellow underline
23
+ - Photo-overlay chips ("5 photos", "Guide") in translucent dark, bottom-left of cover
24
+ - Creator-centric — bylines, Follow buttons, like counts on every card
25
+ - Light-first identity — dark mode exists but the magazine-white aesthetic is core
26
+
27
+ ## 2. Color Palette & Roles
28
+
29
+ ### Primary (Brand — used sparingly)
30
+ - **Lemon8 Yellow** (`#FFE600`): Post-compose FAB, active top-tab underline, primary CTA (Post / Follow). ALWAYS paired with ink text `#1A1A1A`.
31
+ - **Lemon8 Yellow Pressed** (`#E6CF00`): Pressed state for yellow controls.
32
+ - **Ink** (`#1A1A1A`): Primary text, primary dark buttons (Save), the partner color to yellow.
33
+
34
+ ### Canvas & Surfaces (Light Mode — core identity)
35
+ - **Canvas White** (`#FFFFFF`): Primary canvas, card background.
36
+ - **Surface 1** (`#FAFAFA`): Grouped settings, subtle sections.
37
+ - **Surface 2** (`#F2F2F2`): Search field, pressed rows, skeleton placeholders.
38
+ - **Divider** (`#ECECEC`): Hairline dividers between sections and comment rows.
39
+
40
+ ### Canvas & Surfaces (Dark Mode — secondary)
41
+ - **Dark Canvas** (`#121212`): Primary dark canvas.
42
+ - **Dark Surface 1** (`#1C1C1E`): Card background on dark.
43
+ - **Dark Surface 2** (`#2A2A2A`): Search field, pressed rows on dark.
44
+ - **Dark Divider** (`#2E2E2E`): Hairline dividers on dark.
45
+
46
+ ### Text
47
+ - **Ink / Text Primary** (`#1A1A1A`): Titles, card titles, primary text.
48
+ - **Text Secondary** (`#6B6B6B`): Creator names, like counts, metadata.
49
+ - **Text Tertiary** (`#9A9A9A`): Inactive tabs, timestamps, placeholders.
50
+ - **Text Primary Dark** (`#F2F2F2`): Primary text on dark.
51
+ - **Text Secondary Dark** (`#A0A0A0`): Metadata on dark.
52
+
53
+ ### Pastel Topic Tags (the color rhythm)
54
+ Each card carries 1-3 category tags. Background is the soft pastel; text is the saturated sibling.
55
+
56
+ | Tag | Light Background | Light Text | Dark Background | Dark Text |
57
+ |-----|------------------|-----------|-----------------|-----------|
58
+ | Mint (Recipe/Food) | `#E4F5EC` | `#1F8A52` | `#1F3A2C` | `#6FD49E` |
59
+ | Blush (Beauty/Fashion) | `#FCE8EE` | `#C13E68` | `#3A2630` | `#F09BB6` |
60
+ | Sky (Travel/Wellness) | `#E6F0FB` | `#2D6FB8` | `#1F2F42` | `#8FBEE8` |
61
+ | Butter (Home/Lifestyle) | `#FFF6CC` | `#8A7300` | `#3A350F` | `#E6CF66` |
62
+ | Lavender (Hobbies) | `#F0EAFB` | `#7050B0` | `#2E263C` | `#C0A8E8` |
63
+
64
+ ### Semantic
65
+ - **Like Red** (`#FF2E63`): Liked-heart fill, like count when liked.
66
+ - **Success Green** (`#1FB877`): Posted / saved confirmation toast.
67
+ - **Error Red** (`#FF3B5C`): Upload failed, destructive confirmation.
68
+ - **Photo Chip Scrim** (`rgba(0,0,0,0.55)`): Background of "5 photos" / "Guide" chips on covers.
69
+
70
+ ## 3. Typography Rules
71
+
72
+ ### Font Family
73
+ - **Display**: `Poppins` (by Indian Type Foundry, Google Fonts, SIL OFL) — geometric, friendly, rounded; display titles, screen headers, tab headers, post titles. Gives Lemon8 its approachable magazine-headline voice.
74
+ - **UI / Body**: `Inter` (by Rasmus Andersson, SIL OFL) — card titles, body copy, metadata, tags, tab labels.
75
+ - **Fallback Stack (display)**: `'Poppins', -apple-system, BlinkMacSystemFont, 'SF Pro Display', 'Segoe UI', sans-serif`
76
+ - **Fallback Stack (UI)**: `'Inter', -apple-system, BlinkMacSystemFont, 'SF Pro Text', 'Segoe UI', Roboto, sans-serif`
77
+
78
+ ### Hierarchy
79
+
80
+ | Role | Font | Size | Weight | Line Height | Letter Spacing | Notes |
81
+ |------|------|------|--------|-------------|----------------|-------|
82
+ | Display | Poppins | 32pt | 800 | 1.2 | -0.5pt | Large screen header / hero |
83
+ | Screen Title | Poppins | 26pt | 700 | 1.25 | -0.3pt | "Discover", "Profile" |
84
+ | Tab Header | Poppins | 22pt | 700 | 1.3 | -0.3pt | Active segmented top tab |
85
+ | Post Title | Poppins | 18pt | 600 | 1.3 | -0.2pt | Title on post detail |
86
+ | Body | Inter | 16pt | 400 | 1.55 | 0pt | Post article body |
87
+ | Subheading (in body) | Poppins | 17pt | 600 | 1.35 | -0.1pt | Section headings inside an article |
88
+ | Card Title | Inter | 15pt | 600 | 1.35 | 0pt | Masonry card title (often 13pt on phone) |
89
+ | Button | Inter | 15pt | 700 | 1.0 | 0pt | Primary / dark buttons |
90
+ | Meta | Inter | 13pt | 400 | 1.4 | 0pt | "mira.styles · 2.4k likes · 3d" |
91
+ | Card Byline | Inter | 11pt | 500 | 1.3 | 0pt | Creator name + like count on card |
92
+ | Tag | Inter | 11pt | 600 | 1.0 | 0.1pt | Pastel topic tag label (9pt on card) |
93
+ | Tab Label | Inter | 10pt | 500 | 1.0 | 0.1pt | Bottom tab labels |
94
+ | Caption | Inter | 12pt | 400 | 1.4 | 0pt | Timestamps, small print |
95
+
96
+ ### Principles
97
+ - **Poppins for headlines, Inter for everything else**: Poppins is the magazine voice (titles, headers); Inter is the readable workhorse (body, cards, meta, tags). Never set body copy in Poppins.
98
+ - **Card titles are tight and punchy**: 1-2 lines, 15pt (13pt on phone) w600, line-clamp at 2 — they're cover-line teasers, not full sentences.
99
+ - **Article body breathes**: post detail body is Inter 16pt w400 at 1.55 line height with Poppins subheadings — reads like an edited magazine feature.
100
+ - **Tags are small and quiet**: pastel-on-pastel, 9-11pt w600 — they categorize without shouting.
101
+ - **Dynamic Type first-class**: display, titles, body scale; card bylines, tags, tab labels stay fixed (layout-sensitive in the masonry).
102
+
103
+ ## 4. Component Stylings
104
+
105
+ ### Buttons
106
+
107
+ **Primary Button (Post / Follow / primary CTA)**
108
+ - Shape: Fully rounded pill (500pt corner radius)
109
+ - Background: `#FFE600` (Lemon8 Yellow)
110
+ - Text: `#1A1A1A` (ink — NEVER white), Inter 15pt weight 700
111
+ - Padding: 13pt vertical, 28pt horizontal
112
+ - Pressed: background `#E6CF00` + scale 0.98
113
+ - Disabled: `#FFE600` at 40% opacity, text `#9A9A9A`
114
+
115
+ **Dark Button (Save / secondary primary)**
116
+ - Background: `#1A1A1A` (ink)
117
+ - Text: `#FFFFFF`, Inter 15pt weight 700
118
+ - Pill (500pt), padding 13pt / 28pt
119
+ - Pressed: `#000000`
120
+
121
+ **Outline Button (Share / Cancel)**
122
+ - Background: transparent
123
+ - Text: Ink (`#1A1A1A`) light / `#F2F2F2` dark
124
+ - Border: 1pt `#D8D8D8` light / `#404040` dark
125
+ - Pill (500pt), padding 11pt / 22pt
126
+ - Font: Inter 14pt weight 600
127
+
128
+ **Follow Pill (on card / creator)**
129
+ - Background: `#FFE600`, pill, text `#1A1A1A` Inter 12pt w700, padding 7pt / 18pt
130
+ - Following state: outline — transparent bg, 1pt `#D8D8D8` border, text `#6B6B6B`
131
+
132
+ **Text Link Button**
133
+ - Font: Inter 14pt weight 600, color Ink `#1A1A1A`
134
+ - No underline; pressed: 60% opacity
135
+
136
+ ### Core Atoms
137
+
138
+ **Lifestyle Card (masonry cell)**
139
+ - Background: `#FFFFFF` (card), 14pt corner radius
140
+ - Cover image: full-width, native-ish aspect (1:1 / 3:4 / 4:5), top corners follow card radius
141
+ - Photo chip (optional): bottom-left, `rgba(0,0,0,0.55)` bg, white 10pt w600, 6pt radius, 4pt/8pt padding, `blur(4px)` backdrop ("5 photos", "Guide")
142
+ - Body: 10-11pt padding
143
+ - Title: Inter 13-15pt w600 `#1A1A1A`, line-clamp 2
144
+ - Tag row: pastel tags, 5pt gap, 7pt top margin
145
+ - Byline row: 18pt circular avatar + creator name (Inter 11pt `#6B6B6B`) + like heart + count (right)
146
+ - Elevation: `0 1px 3px rgba(0,0,0,0.06)` + `0 4px 12px rgba(0,0,0,0.04)`
147
+ - Press: scale 0.98 + slight shadow lift
148
+
149
+ **Pastel Topic Tag**
150
+ - Pill-ish rounded rect, 8pt corner radius (5pt on card)
151
+ - Background: pastel (mint/blush/sky/butter/lavender); Text: saturated sibling, Inter 11pt w600 (9pt on card)
152
+ - Padding: 7pt/14pt (3pt/7pt on card)
153
+ - Tappable -> topic feed
154
+
155
+ **Avatar**
156
+ - Circle: 18pt on card byline, 24pt in comments, 56pt on profile/creator card
157
+ - Fallback: linear-gradient(135deg, `#FFE600`, `#FF2E63`) with initials
158
+
159
+ **Like Heart**
160
+ - Inactive: outline, `#6B6B6B` 2pt stroke
161
+ - Active: filled `#FF2E63`, count turns `#FF2E63`
162
+ - Tap: scale 1.0 → 1.2 → 1.0 over 260ms spring + soft haptic
163
+
164
+ **Photo Carousel (post detail)**
165
+ - Full-width, swipeable, native aspect; page dots bottom-center (active dot ink, inactive `rgba(0,0,0,0.25)`)
166
+ - Top-right counter chip "1/8" in `rgba(0,0,0,0.55)`
167
+
168
+ ### Navigation
169
+
170
+ **Top Segmented Tabs**
171
+ - Row: "Following", "For You", "Nearby" — Poppins 18-22pt
172
+ - Active: ink (`#1A1A1A`) w700 + a small (20pt wide, 3pt tall) `#FFE600` underline centered below, 2pt radius
173
+ - Inactive: `#9A9A9A` w600
174
+ - Trailing search glyph (22pt ink stroke)
175
+
176
+ **Bottom Tab Bar**
177
+ - Height: 54pt + safe area
178
+ - Background: `rgba(255,255,255,0.96)` with `saturate(180%) blur(20px)`, 0.5pt top border `#ECECEC`
179
+ - Tabs (5): Home, Discover, **Post** (center — yellow rounded rectangle, not an icon-only tab), Inbox, Me
180
+ - Post FAB: 42×30pt `#FFE600` rounded rect (9pt radius) with an ink `+` glyph
181
+ - Icon size: 23pt; Active: ink fill; Inactive: `#9A9A9A`
182
+ - Labels: Inter 10pt w500 (Post has no label)
183
+
184
+ **Top Nav (Post detail)**
185
+ - Height: 44pt + safe area, translucent
186
+ - Leading: back chevron; Trailing: share + ⋯ overflow
187
+ - Creator avatar + name + Follow pill can pin to the nav on scroll
188
+
189
+ ### Input Fields
190
+
191
+ **Search Bar**
192
+ - Height: 40pt, background `#F2F2F2` / `#2A2A2A` dark, 20pt radius (capsule)
193
+ - Leading magnifyingglass 16pt `#9A9A9A`
194
+ - Placeholder "Search recipes, outfits, places" Inter 14pt `#9A9A9A`
195
+ - Focus: 1.5pt ink border
196
+
197
+ **Comment Composer**
198
+ - Height 44pt min, `#F2F2F2` bg, 22pt radius capsule
199
+ - Trailing "Post" text in ink (disabled `#9A9A9A` when empty)
200
+
201
+ ### Distinctive Components
202
+
203
+ **Discovery Masonry Feed**
204
+ - The signature layout. Two columns, balanced by shortest-column placement. Column gap 10pt, card vertical gap 12pt.
205
+ - Each card a lifestyle mini-cover; infinite scroll; new cards drop into the shorter column
206
+ - Pull-to-refresh: yellow lemon-slice spinner
207
+
208
+ **Post Detail (magazine article)**
209
+ - Photo carousel -> Poppins 18pt title -> creator card (avatar + name + Follow) -> styled body (Inter 16pt body, Poppins 17pt subheadings, embedded full-width photos at 14pt radius, inline pastel tags) -> tag row -> like/save/share action bar -> comments
210
+
211
+ **Creator Card (in post / profile)**
212
+ - 56pt avatar + name (Poppins 17pt w600) + follower count (Inter 13pt `#6B6B6B`) + Follow pill
213
+ - Optional 1-line bio
214
+
215
+ **Topic Hub Header**
216
+ - A pastel-tinted banner (the topic's tag color at full pastel) with the topic name in Poppins 26pt and a post count
217
+
218
+ **Photo Overlay Chip**
219
+ - "5 photos" / "Guide" / "Recipe" — `rgba(0,0,0,0.55)` bg, white Inter 10pt w600, 6pt radius, bottom-left of cover
220
+
221
+ ## 5. Layout Principles
222
+
223
+ ### Spacing System
224
+ - Base unit: 4pt
225
+ - Scale: 4, 5 (card tag gap), 8, 10 (masonry column gap), 12, 16, 20, 24, 32
226
+ - Masonry column gap: **10pt**; card vertical gap: **12pt**
227
+ - Card inner padding: 10-11pt
228
+ - Screen horizontal inset: 10pt (feed) / 16pt (text content)
229
+
230
+ ### Grid & Container
231
+ - Feed: 2-column masonry, ~10pt outer + 10pt column gap (phone)
232
+ - Post detail: photo carousel full-bleed; text content 16pt insets
233
+ - iPad: 3-4 column masonry; post detail in centered 680pt column
234
+ - Cards never exceed ~50% screen width minus gaps on phone
235
+
236
+ ### Whitespace Philosophy
237
+ - **Editorial generosity**: white is the magazine page — cards float on it with soft shadows, never edge-to-edge
238
+ - **Masonry rhythm**: varied card heights create a flowing, browsable cadence — the whitespace between cards is intentional
239
+ - **Article breathing room**: post detail body uses 1.55 line height and 16pt insets so it reads like a feature, not a caption
240
+
241
+ ### Border Radius Scale
242
+ - Square (0pt): full-bleed carousel photos (when full-screen)
243
+ - Subtle (5pt): tags on cards, small chips
244
+ - Standard (8pt): pastel topic tags, photo-overlay chips, inputs (small)
245
+ - Card (14pt): lifestyle cards, embedded article photos
246
+ - Comfortable (20pt): bottom sheets, search capsule, modals
247
+ - Pill (500pt): all buttons, Follow pills, segmented controls
248
+ - Circle (50%): avatars, like-burst particles
249
+
250
+ ## 6. Depth & Elevation
251
+
252
+ Lemon8 uses soft, magazine-print elevation — cards lift gently off the white page; nothing is harsh.
253
+
254
+ | Level | Treatment | Use |
255
+ |-------|-----------|-----|
256
+ | Page (Level 0) | No shadow | Canvas, article body text, dividers |
257
+ | Card (Level 1) | `rgba(0,0,0,0.06) 0 1px 3px` + `rgba(0,0,0,0.04) 0 4px 12px` | Lifestyle cards in the masonry feed |
258
+ | Floating (Level 2) | `rgba(0,0,0,0.10) 0 4px 16px` | Post FAB region, sticky creator bar |
259
+ | Sheet (Level 3) | `rgba(0,0,0,0.12) 0 -4px 24px` | Bottom sheets (Share, comment composer, filters) |
260
+ | Modal Overlay | `rgba(0,0,0,0.45)` scrim | Behind modals, full-screen photo viewer |
261
+
262
+ **Shadow Philosophy**: The masonry card shadow is deliberately *two-layer and very low opacity* — a tight `0 1px 3px` for crispness plus a diffuse `0 4px 12px` for the gentle float. This mimics a magazine page where photos sit slightly proud of the paper. There is no heavy Material elevation; Lemon8's depth is soft and editorial. In dark mode shadows nearly vanish, so cards gain a 0.5pt `#2E2E2E` border as the separation cue.
263
+
264
+ ### Motion
265
+ - **Masonry card press**: scale 1.0 → 0.98 over 120ms, shadow lifts slightly; release springs back
266
+ - **Card -> post detail**: tapped card's cover expands into the post carousel over 300ms ease-out (shared element); back collapses in 260ms
267
+ - **Like heart tap**: scale 1.0 → 1.2 → 1.0 over 260ms spring (damping 0.6) + soft haptic + brief `#FF2E63` particle burst
268
+ - **Top tab switch**: yellow underline slides horizontally to the new tab over 220ms ease-out; content cross-fades 180ms
269
+ - **Photo carousel**: paged horizontal scroll with 1:1 finger tracking; dots animate
270
+ - **Masonry infinite load**: new cards fade + 6pt slide-up over 220ms as they drop into the shorter column
271
+ - **Pull to refresh**: yellow lemon-slice rotates while pulling, spins on release
272
+ - **Post / save success**: green `#1FB877` checkmark pops (200ms) + toast slides up
273
+ - **Haptic feedback**: soft on like, light tick on tab switch, medium on follow/save confirm
274
+
275
+ ## 7. Do's and Don'ts
276
+
277
+ ### Do
278
+ - Use bright editorial white (`#FFFFFF`) as the canvas — Lemon8 is a magazine
279
+ - Build the feed as a two-column staggered masonry with varied card heights
280
+ - Style each card as a mini magazine cover: tall photo + punchy title + pastel tags + creator byline
281
+ - Use Lemon8 Yellow (`#FFE600`) sparingly — post FAB, active tab underline, primary CTA only
282
+ - ALWAYS pair Lemon8 Yellow with ink text (`#1A1A1A`) — never white-on-yellow
283
+ - Use the pastel topic-tag palette (mint/blush/sky/butter) as the app's color rhythm
284
+ - Use soft two-layer low-opacity card shadows so cards float gently off the white
285
+ - Use Poppins for display/titles, Inter for body/cards/meta
286
+ - Structure post detail like a magazine article — carousel + subheadings + embedded photos
287
+ - Give the post-compose FAB a yellow rounded-rectangle treatment in the tab bar
288
+ - Line-clamp card titles to 2 lines — they're cover teasers, not paragraphs
289
+
290
+ ### Don't
291
+ - Don't use a single-column full-width feed — the masonry is the signature
292
+ - Don't flood the UI with yellow — it's a sparing accent, not a background
293
+ - Don't put white text on Lemon8 Yellow — always ink `#1A1A1A`
294
+ - Don't use heavy/hard Material shadows — Lemon8's elevation is soft and editorial
295
+ - Don't set body copy or card titles in Poppins — that's Inter's job
296
+ - Don't make the canvas off-white or gray — bright `#FFFFFF` is the magazine page
297
+ - Don't use saturated tag backgrounds — the topic tags are soft pastels with saturated text
298
+ - Don't center card titles — they're left-aligned cover lines
299
+ - Don't crop card covers to a fixed square — varied aspect ratios feed the masonry rhythm
300
+ - Don't bury topic tags — every card should carry 1-3, they're the color system
301
+ - Don't force dark mode as primary — the light magazine aesthetic is core identity
302
+
303
+ ## 8. Responsive Behavior
304
+
305
+ ### Device Sizes
306
+ | Device | Width | Key Changes |
307
+ |--------|-------|-------------|
308
+ | iPhone SE (3rd gen) | 375pt | 2-column masonry, ~8pt gaps, card title 13pt |
309
+ | iPhone 13/14/15 | 390pt | Standard 2-column, 10pt gaps |
310
+ | iPhone 15/16 Pro | 393pt | Dynamic Island accommodated in translucent nav |
311
+ | iPhone 15/16 Pro Max | 430pt | 2-column, slightly wider cards, 15pt card titles |
312
+ | iPad (portrait) | 768pt | 3-column masonry; post detail centered 680pt |
313
+ | iPad (landscape) | 1024pt+ | 4-column masonry; 2-pane (feed + detail) optional |
314
+
315
+ ### Dynamic Type
316
+ - Display, screen titles, post title, body: full scale
317
+ - Card titles: scale to L then line-clamp at 2
318
+ - Tags, card bylines, tab labels: FIXED (layout-sensitive in the masonry)
319
+
320
+ ### Orientation
321
+ - Masonry re-balances column count and card widths on rotation
322
+ - Post detail rotates; carousel becomes full-screen lightbox in landscape
323
+ - iPad landscape: optional 2-pane (masonry left, article right)
324
+
325
+ ### Touch Targets
326
+ - Card: full card tappable (always > 44pt)
327
+ - Like heart: 24pt glyph, 44pt hit
328
+ - Tab bar icons: 23pt glyph, 48pt hit; Post FAB 42×30pt with 48pt hit
329
+ - Tag: full-pill tappable, 32pt min
330
+ - Buttons: 44pt tall minimum
331
+
332
+ ### Safe Area Handling
333
+ - Top: translucent segmented tabs respect safe area + Dynamic Island
334
+ - Bottom: translucent tab bar respects home indicator
335
+ - Sides: feed keeps ~10pt insets; article content 16pt; full-screen photo viewer edge-to-edge
336
+ - Keyboard: comment composer docks above keyboard
337
+
338
+ ## 9. Agent Prompt Guide
339
+
340
+ ### Quick Color Reference
341
+ - Canvas (light): `#FFFFFF`
342
+ - Canvas (dark): `#121212`
343
+ - Surface 1 / 2: `#FAFAFA` / `#F2F2F2` light · `#1C1C1E` / `#2A2A2A` dark
344
+ - Divider: `#ECECEC` light / `#2E2E2E` dark
345
+ - Ink / text primary: `#1A1A1A` light / `#F2F2F2` dark
346
+ - Text secondary: `#6B6B6B` · tertiary `#9A9A9A`
347
+ - Lemon8 Yellow: `#FFE600` (pressed `#E6CF00`) — always with ink `#1A1A1A`
348
+ - Tag mint: `#E4F5EC` / `#1F8A52`
349
+ - Tag blush: `#FCE8EE` / `#C13E68`
350
+ - Tag sky: `#E6F0FB` / `#2D6FB8`
351
+ - Tag butter: `#FFF6CC` / `#8A7300`
352
+ - Like red: `#FF2E63` · Success `#1FB877` · Error `#FF3B5C`
353
+ - Card shadow: `rgba(0,0,0,0.06) 0 1px 3px` + `rgba(0,0,0,0.04) 0 4px 12px`
354
+
355
+ ### Example Component Prompts
356
+ - "Build the Lemon8 discovery masonry feed in SwiftUI: a two-column staggered grid that places each card into the currently-shorter column. 10pt column gap, 12pt vertical gap, 10pt outer inset. Each card: `#FFFFFF` bg, 14pt corner radius, soft shadow (`0 1px 3px rgba(0,0,0,0.06)` + `0 4px 12px rgba(0,0,0,0.04)`). Card content: cover image at varied aspect (1:1 / 3:4 / 4:5) with an optional bottom-left `rgba(0,0,0,0.55)` chip ('5 photos'), then 10pt padding holding a 2-line-clamped title (Inter 13pt w600 `#1A1A1A`), a pastel tag row, and a byline (18pt avatar + name Inter 11pt `#6B6B6B` + like heart + count)."
357
+
358
+ - "Create a Lemon8 lifestyle card: white card, 14pt radius, soft two-layer shadow. Top: cover photo (aspect 3:4) with top corners following the card radius and a `rgba(0,0,0,0.55)` 'Guide' chip bottom-left (white Inter 10pt w600, 6pt radius). Body padding 11pt: title 'Autumn capsule wardrobe' Inter 13pt w600 `#1A1A1A` clamped to 2 lines; tag row with a blush tag ('Fashion', bg `#FCE8EE` text `#C13E68`, 9pt w600, 5pt radius); byline row: 18pt gradient avatar + 'mira.styles' (Inter 11pt `#6B6B6B`) + like heart + '2.4k'."
359
+
360
+ - "Render the Lemon8 top segmented tabs: a row of 'Following', 'For You', 'Nearby' in Poppins 22pt. Active tab is ink `#1A1A1A` w700 with a 20pt-wide 3pt-tall `#FFE600` underline centered 6pt below it (2pt radius); inactive tabs are `#9A9A9A` w600. Trailing magnifyingglass 22pt ink stroke. Switching tabs slides the yellow underline horizontally over 220ms ease-out and cross-fades content."
361
+
362
+ - "Build the Lemon8 bottom tab bar: 54pt + safe area, `rgba(255,255,255,0.96)` with `saturate(180%) blur(20px)`, 0.5pt top border `#ECECEC`. Five slots: Home, Discover, Post, Inbox, Me. The Post slot is NOT an icon — it's a 42x30pt `#FFE600` rounded rectangle (9pt radius) centering an ink `+` glyph. Other tabs: 23pt icon, ink fill when active, `#9A9A9A` inactive, Inter 10pt w500 label."
363
+
364
+ - "Create a Lemon8 pastel topic-tag row: pill-ish rounded rects (8pt radius), Inter 11pt w600, 7pt/14pt padding. Mint (`#E4F5EC` bg / `#1F8A52` text) for Recipe, blush (`#FCE8EE` / `#C13E68`) for Beauty, sky (`#E6F0FB` / `#2D6FB8`) for Travel, butter (`#FFF6CC` / `#8A7300`) for Home. Each tag tappable -> topic feed."
365
+
366
+ - "Render the Lemon8 post detail (magazine article): a full-width swipeable photo carousel with page dots and a '1/8' counter chip top-right (`rgba(0,0,0,0.55)`). Below at 16pt insets: title in Poppins 18pt w600 `#1A1A1A`; creator card (56pt avatar + name Poppins 17pt w600 + follower count Inter 13pt `#6B6B6B` + yellow Follow pill); styled body (Inter 16pt w400 line-height 1.55, Poppins 17pt w600 subheadings, embedded full-width photos at 14pt radius); pastel tag row; like/save/share action bar; comments."
367
+
368
+ ### Iteration Guide
369
+ 1. Canvas is bright editorial white `#FFFFFF` (dark `#121212`) — it's a magazine, light is the core identity
370
+ 2. The feed is a two-column staggered MASONRY of varied-height lifestyle cards — never single-column
371
+ 3. Lemon8 Yellow `#FFE600` is a sparing accent (post FAB, active tab underline, primary CTA) — never a flood, ALWAYS with ink text
372
+ 4. Pastel topic tags (mint/blush/sky/butter) are the app's color rhythm — every card carries 1-3
373
+ 5. Cards are mini magazine covers: tall photo + punchy 2-line title + tags + creator byline + like count
374
+ 6. Card elevation is soft and two-layer (`0 1px 3px` + `0 4px 12px`, very low opacity) — gentle float, never harsh
375
+ 7. Poppins = display/titles/headers; Inter = body/cards/meta/tags — never swap them
376
+ 8. Post detail is a structured magazine article — carousel + subheadings + embedded photos, not a tweet
377
+ 9. The post-compose FAB is a yellow rounded rectangle in the tab bar, not a plain icon
378
+ 10. Card titles line-clamp at 2 lines — they're cover teasers; the body breathes at 1.55 line height