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,404 @@
1
+ # Design System Inspiration of Figma (iOS)
2
+
3
+ ## 1. Visual Theme & Atmosphere
4
+
5
+ Figma's iOS app is not a design tool. The desktop app is the design tool — Figma for iPhone is a *companion app*, the place you go to leave a comment on a teammate's frame at 11pm or fan through your latest projects on the subway. The aesthetic, then, is *Figma minus the chrome*: the same disciplined, content-first sensibility that powers the canvas-tool — neutral background, generous breathing room, geometric precision — but stripped of toolbars, layer panels, and right-click menus. What's left is the *signature* — five primary-colored cubes (the Figma swatches), a thin geometric sans, and the same Macaron-pink "F" lockup that anchors every Figma surface.
6
+
7
+ The canvas is **Off-White** (`#FFFFFF`) on light mode and **Near-Black** (`#1E1E1E`) on dark mode — Figma's exact Editor background palette. The brand cubes — the five signature colors that have defined Figma since 2016 — appear as **avatar fills**, **file thumbnails** (when no preview is set), **selection cursors**, and as the accent pop on each project card: **Figma Red** (`#F24E1E`), **Figma Orange** (`#FF7262`), **Figma Purple** (`#A259FF`), **Figma Blue** (`#1ABCFE`), **Figma Green** (`#0ACF83`). They are loud, but they are used *as accents on white*, never as canvas fills — the photography-of-a-design-tool restraint. The system grey ramp (`#F5F5F5` through `#1E1E1E`) does 90% of the chrome work.
8
+
9
+ Typography is **Inter** (the open-source face Rasmus Andersson originally drew for Figma's marketing) across the marketing site and the mobile app. Inter is geometric, low-contrast, and ships with excellent OpenType features — tabular numerals, slashed zero, alternate one — which Figma exploits in code-like contexts (frame dimensions, hex codes, line/column counts). Type sizes are small and information-dense: file names at 14pt, comment bodies at 13pt, metadata at 11pt — this is a *productivity* app, not a hero-text app.
10
+
11
+ **Key Characteristics:**
12
+ - White canvas (`#FFFFFF`) in light, near-black (`#1E1E1E`) in dark — both modes are first-class and the app is mostly used in dark mode on iPhone
13
+ - The five Figma cubes — Red `#F24E1E`, Orange `#FF7262`, Purple `#A259FF`, Blue `#1ABCFE`, Green `#0ACF83` — as the brand pop on avatars, file thumbnails, cursors, project pop
14
+ - Blurple `#5551FF` and Blue `#0D99FF` as the actual UI action color — Figma's "Blue" is the Action Blue used on the Editor's selection outlines and primary CTAs (separate from the avatar Blue cube)
15
+ - File cards as 16:10 aspect-ratio rectangles with the preview thumbnail filling the card and metadata stacked below — recents grid is the home screen
16
+ - Comment threads as the dominant interactive surface — a pinned circular avatar on a frame opens a side-sheet with threaded replies
17
+ - Macaron Pink (`#FFC8C8`) as the brand softness; appears as the Community accent and the empty-state illustration palette
18
+ - Inter typography at small, dense sizes (11-16pt range carries the app); SF Pro Mono for hex codes and dimensions
19
+ - Bottom tab bar: Recents, Drafts, Notifications, Profile — four tabs, content-density first
20
+ - Thin 1px (literal, not 1pt) hairlines throughout — Figma is precise, edge-defined, not elevated
21
+ - Subtle shadows only on floating elements (`rgba(0,0,0,0.08)` max); the canvas does most of the visual work
22
+
23
+ ## 2. Color Palette & Roles
24
+
25
+ ### Brand Cubes (the iconic five)
26
+ - **Figma Red** (`#F24E1E`): Avatar fill, file thumbnail accent, cursor color #1.
27
+ - **Figma Orange** (`#FF7262`): Avatar fill, cursor color #2.
28
+ - **Figma Purple** (`#A259FF`): Avatar fill, cursor color #3.
29
+ - **Figma Blue (cube)** (`#1ABCFE`): Avatar fill, cursor color #4.
30
+ - **Figma Green** (`#0ACF83`): Avatar fill, cursor color #5.
31
+
32
+ These five are *brand accents*, not action colors. They appear on avatars, thumbnails, and cursors, randomly assigned per user. Never use them for UI actions.
33
+
34
+ ### UI Action Colors
35
+ - **Action Blue** (`#0D99FF`): Primary CTA on the Editor — "Share", "Open in Figma", "Reply". The button color.
36
+ - **Action Blue Pressed** (`#0769B5`): Pressed state.
37
+ - **Blurple** (`#5551FF`): The Figma marketing brand purple-blue; appears on plan upgrades, FigJam links, and Slides accents.
38
+ - **Selection Blue** (`#5EB6FC`): The Editor's selection-outline blue — appears on selection cursors and the "selected layer" outline in mobile mirroring views.
39
+
40
+ ### Macaron Pinks (softness)
41
+ - **Macaron Pink** (`#FFC8C8`): Empty-state illustration palette, Community accent, occasional onboarding fills.
42
+ - **Macaron Pink Bright** (`#FFA6A6`): A slightly more saturated variant for hover/press on pink chips.
43
+
44
+ ### Canvas, Surfaces & Dividers
45
+ - **Canvas White** (`#FFFFFF`): Light-mode primary canvas — Recents, file cards, sheets.
46
+ - **Surface Light 1** (`#F5F5F5`): Section fills, search field bg, sidebar fills.
47
+ - **Surface Light 2** (`#E5E5E5`): Chip backgrounds, hover states, dividers used as fills.
48
+ - **Divider Light** (`#E5E5E5`): Hairline 1px dividers.
49
+ - **Hairline Light** (`#EEEEEE`): Lighter hairlines inside cards.
50
+
51
+ ### Dark Mode Surfaces (Figma Editor's exact tokens)
52
+ - **Dark Canvas** (`#1E1E1E`): Primary dark background — matches the Figma Editor canvas exactly.
53
+ - **Dark Surface 1** (`#2C2C2C`): Cards, sheets, the file list rows.
54
+ - **Dark Surface 2** (`#383838`): Chip fills, hover states.
55
+ - **Dark Surface 3** (`#444444`): Highest elevation — popovers, the Comments sidebar inside the editor.
56
+ - **Dark Divider** (`#2C2C2C`): Hairlines on dark canvas.
57
+
58
+ ### Text
59
+ - **Ink** (`#1E1E1E`): Light-mode primary text — file names, comment bodies, headings.
60
+ - **Text Secondary Light** (`#757575`): Secondary — metadata, timestamps, author bylines.
61
+ - **Text Tertiary Light** (`#B3B3B3`): Tertiary — placeholders, empty-state labels.
62
+ - **Text Dark Primary** (`#FFFFFF`): Dark-mode primary text.
63
+ - **Text Dark Secondary** (`#B3B3B3`): Dark-mode secondary.
64
+ - **Text Dark Tertiary** (`#757575`): Dark-mode tertiary.
65
+
66
+ ### Semantic
67
+ - **Success Green** (`#14AE5C`): "Saved", "Comment resolved", deploy success. Distinct from the cube Green.
68
+ - **Warning Amber** (`#F2AC2A`): Caution states, "Unsaved changes", trial countdown.
69
+ - **Error Red** (`#E03E1A`): Form validation, "Failed to save". Distinct from cube Red.
70
+ - **Info Blue** (`#0D99FF`): Same as Action Blue — informational toasts.
71
+
72
+ ## 3. Typography Rules
73
+
74
+ ### Font Family
75
+ - **Primary**: `Inter` (Rasmus Andersson, originally for Figma marketing — now open-source)
76
+ - **Weights available**: Thin (100), ExtraLight (200), Light (300), Regular (400), Medium (500), SemiBold (600), Bold (700), ExtraBold (800), Black (900)
77
+ - **Numbers**: Inter's tabular-nums OpenType feature is enabled on every numeric value
78
+ - **Monospace**: `SF Mono` for hex codes (`#FF7262`), pixel dimensions (`120 × 80`), and code blocks. Falls back to `JetBrains Mono`.
79
+ - **Fallback stack**: `'Inter', -apple-system, BlinkMacSystemFont, 'SF Pro Text', 'Helvetica Neue', Arial, sans-serif`
80
+
81
+ ### Hierarchy
82
+
83
+ | Role | Font | Size | Weight | Line Height | Letter Spacing | Notes |
84
+ |------|------|------|--------|-------------|----------------|-------|
85
+ | Hero Title | Inter | 28pt | 700 | 1.2 | -0.4pt | "Recents", "Drafts" large-title nav |
86
+ | Page Section | Inter | 17pt | 700 | 1.3 | -0.2pt | "Recently viewed", "Recent files" |
87
+ | Subhead | Inter | 15pt | 600 | 1.3 | -0.1pt | Card section dividers, modal titles |
88
+ | File Name | Inter | 14pt | 500 | 1.3 | -0.1pt | Project / file thumbnail labels |
89
+ | Body | Inter | 14pt | 400 | 1.5 | 0pt | Comment thread body, description copy |
90
+ | Metadata | Inter | 12pt | 400 | 1.4 | 0pt | Timestamps, byline, "Edited 2h ago" |
91
+ | Caption | Inter | 11pt | 500 | 1.3 | 0pt | Small labels, badge text |
92
+ | Comment Body | Inter | 13pt | 400 | 1.5 | 0pt | The threaded reply body |
93
+ | Comment Author | Inter | 13pt | 600 | 1.3 | 0pt | The display name above each reply |
94
+ | Pixel Dimension | SF Mono | 12pt | 500 tnum | 1.3 | 0pt | "120 × 80", "16pt" inspect values |
95
+ | Hex Code | SF Mono | 12pt | 500 tnum | 1.3 | 0pt | "#FF7262" — always all-caps hex letters |
96
+ | Button (Primary) | Inter | 14pt | 600 | 1.0 | 0pt | "Open in Figma", "Reply" |
97
+ | Tab Label | Inter | 11pt | 500 | 1.0 | 0pt | Bottom tab bar labels |
98
+ | Avatar Initial | Inter | 14pt | 600 | 1.0 | 0pt | The single letter inside the cube avatar |
99
+
100
+ ### Principles
101
+ - **Information density over hero scale** — Figma is a productivity app; type sizes cluster in the 11-16pt range
102
+ - **Weights cluster at 400 / 500 / 600 / 700** — Regular for body, Medium for file names, SemiBold for emphasis and short headings, Bold for large nav
103
+ - **Tabular numerals on every number** — frame dimensions, counts, timestamps; Inter's `tnum` feature handles this
104
+ - **Slashed zero in code contexts** — Inter has alternate stylistic sets; `cv11` slashes the zero on hex codes and dimensions
105
+ - **All-caps hex letters** — `#FF7262`, never `#ff7262`. This is a Figma convention.
106
+ - **Mixed-unit values stay mono** — "120 × 80", "16pt", "1.5×" stay in SF Mono with tabular figures
107
+ - **Dynamic Type respected on comment bodies and metadata**; fixed on file-card labels and tab labels for grid integrity
108
+
109
+ ## 4. Component Stylings
110
+
111
+ ### Buttons
112
+
113
+ **Primary CTA ("Open in Figma", "Reply", "Share")**
114
+ - Background: `#0D99FF` (Action Blue)
115
+ - Text: `#FFFFFF`, Inter 14pt SemiBold (600)
116
+ - Padding: 10pt vertical, 16pt horizontal
117
+ - Corner radius: 6pt — Figma's exact button radius (small and precise)
118
+ - Height: 36pt minimum (40pt with safe-area on iOS tap targets)
119
+ - Pressed: background `#0769B5`, scale 0.98
120
+ - Haptic: `.impactOccurred(.light)` on tap
121
+
122
+ **Secondary Outline Button ("Cancel", "Discard")**
123
+ - Background: transparent
124
+ - Border: 1pt `#E5E5E5` (light) / `#444444` (dark)
125
+ - Text: `#1E1E1E` (light) / `#FFFFFF` (dark), Inter 14pt 500
126
+ - Corner radius: 6pt
127
+ - Same height/padding as primary
128
+
129
+ **Tertiary Text Button**
130
+ - Text: `#0D99FF` Action Blue, Inter 14pt 500
131
+ - No background, 44pt tap slop
132
+ - Used in toolbars and lists ("Edit", "Save", "View all")
133
+
134
+ **Icon Button (toolbar)**
135
+ - 32pt square hit area, 18pt SF Symbol or Figma icon inside
136
+ - Default: `#757575`
137
+ - Hover/press: `#1E1E1E` (light) / `#FFFFFF` (dark) + `#F5F5F5` (light) / `#383838` (dark) background fill
138
+ - Corner radius: 6pt
139
+
140
+ ### Cards & Containers
141
+
142
+ **File Card (the hero component of Recents)**
143
+ - Aspect ratio: 16:10 — Figma's exact file-card aspect
144
+ - Width: full content width on a 2-col grid (mobile) with 16pt outer margins and 8pt inter-column gap
145
+ - Structure: thumbnail preview (full card) → 8pt gap → file name (14pt 500, 1-line truncate) → 2pt → metadata "Edited 2h ago · 4 collaborators" (12pt 400 Secondary)
146
+ - Thumbnail background: `#F5F5F5` (light) / `#2C2C2C` (dark) when no preview
147
+ - Thumbnail corner radius: 6pt
148
+ - When no preview: render the file with a centered Figma cube color (random of the 5) and the first letter of the file name in 28pt 600 white
149
+ - Hover/press: background `#F5F5F5`, no shadow
150
+ - Tap haptic: `.impactOccurred(.light)`
151
+
152
+ **Project Card (Recents column)**
153
+ - Inline row, 56pt tall
154
+ - Layout: 32pt × 32pt cube-color square with the project initial → 12pt gap → project name (15pt 500) + "12 files" metadata (12pt 400 Secondary) → 12pt chevron Secondary
155
+ - Tap haptic: `.selectionChanged()`
156
+
157
+ **Avatar (cube color)**
158
+ - Sizes: 24pt, 32pt, 40pt
159
+ - Background: randomly assigned from the 5 brand cubes — `#F24E1E`, `#FF7262`, `#A259FF`, `#1ABCFE`, `#0ACF83`
160
+ - Initial: white, Inter 14pt 600 (at 24pt) / 16pt 600 (at 32pt) / 18pt 600 (at 40pt)
161
+ - Always a perfect circle (50% radius)
162
+ - Stack pattern: when showing collaborators, overlap by -8pt, max 3 visible + "+5" pill if more
163
+ - The user's own avatar uses their assigned cube color across all surfaces
164
+
165
+ **Comment Pin (on a frame in mobile mirror)**
166
+ - 28pt circle, cube-color background, white "1" / "2" / "3" / etc. number in 13pt 700
167
+ - Border: 2pt white (light mode) / 2pt `#1E1E1E` (dark) for legibility over varied frame backgrounds
168
+ - Shadow: `rgba(0,0,0,0.16) 0 2px 4px`
169
+ - Tap opens the comment thread side sheet
170
+
171
+ **Comment Thread Sheet**
172
+ - Slides up from the bottom or from the right (iPad)
173
+ - Background: `#FFFFFF` (light) / `#2C2C2C` (dark)
174
+ - Top: 32pt × 32pt original commenter avatar + "Sarah Chen · 2h ago" 13pt 600 + meta 12pt 400 Secondary
175
+ - Body: comment text Inter 13pt 400, line-height 1.5
176
+ - Replies stack with a 1pt `#E5E5E5` left-rail border 12pt indented
177
+ - Reply composer at the bottom: 36pt-tall rounded rectangle with @ mention support and a Send icon button on the right (filled Action Blue when text is present)
178
+
179
+ **Frame Thumbnail (file detail mirror)**
180
+ - Each frame in a file rendered at its native aspect inside a 6pt-corner-radius card
181
+ - Background of the card: the actual frame's background color (often white)
182
+ - Border: 1pt `#E5E5E5` (light) / `#383838` (dark)
183
+ - Tap zooms into the frame in a pinch-zoom mirror view
184
+
185
+ **Search Bar**
186
+ - Background: `#F5F5F5` (light) / `#2C2C2C` (dark)
187
+ - Height: 36pt
188
+ - Corner radius: 6pt
189
+ - Leading 14pt `magnifyingglass` `#757575`
190
+ - Placeholder: "Search files and projects" Inter 14pt 400 Tertiary
191
+ - Focused border: 1pt `#0D99FF`
192
+
193
+ ### Navigation
194
+
195
+ **Large-Title Nav Bar**
196
+ - Height: variable — 88pt with large title, collapses to 44pt inline
197
+ - Background: `#FFFFFF` (light) / `#1E1E1E` (dark)
198
+ - Title: Inter 28pt 700 `#1E1E1E` (light) / `#FFFFFF` (dark), left-aligned, 16pt leading inset
199
+ - Trailing: user avatar (32pt circle, the user's assigned cube color)
200
+ - A subtitle metadata row below the title shows account context: "Personal · 4 teams" in 12pt 400 Secondary
201
+
202
+ **Bottom Tab Bar**
203
+ - Height: 50pt + safe area
204
+ - Background: `#FFFFFF` (light) / `#1E1E1E` (dark) with 1pt `#E5E5E5` / `#2C2C2C` top divider
205
+ - Tabs (4): Recents, Drafts, Notifications, Profile
206
+ - Icon size: 22pt — Figma-styled glyphs (or SF Symbols as substitutes)
207
+ - Active tint: `#1E1E1E` (light) / `#FFFFFF` (dark) — Figma's tab is *not* colored; it's a weight/fill swap
208
+ - Inactive: `#757575`
209
+ - Labels: Inter 11pt 500
210
+ - Tap haptic: `.selectionChanged()`
211
+
212
+ **Editor Bottom Bar (when viewing a file)**
213
+ - Floating pill at the bottom: 56pt-tall capsule with three actions — Comment (`bubble.left`), Mirror (`iphone`), Share (`square.and.arrow.up`)
214
+ - Background: `#1E1E1E` (always dark even in light mode — this is a tool surface)
215
+ - Corner radius: 28pt (full capsule)
216
+ - Shadow: `rgba(0,0,0,0.16) 0 4px 12px`
217
+
218
+ ### Input Fields
219
+
220
+ **Comment Composer**
221
+ - Background: `#F5F5F5` (light) / `#2C2C2C` (dark)
222
+ - Height: 36pt minimum, grows up to 120pt as content grows
223
+ - Corner radius: 18pt (half height)
224
+ - Leading 14pt `at.symbol` icon for mentions
225
+ - Trailing 28pt circle Action Blue Send button (`paperplane.fill` 14pt white) — appears only when text is present
226
+
227
+ **Text Input (Generic)**
228
+ - Background: `#FFFFFF`
229
+ - Border: 1pt `#E5E5E5` default, 2pt `#0D99FF` focused
230
+ - Corner radius: 6pt
231
+ - Height: 36pt
232
+ - Text: Inter 14pt 400 Ink
233
+
234
+ ### Distinctive Components
235
+
236
+ **The Cube (avatar / logo / brand mark)**
237
+ - A 32pt square is the canonical Figma avatar at default size
238
+ - Cube colors are randomly assigned per user from the five — the user keeps theirs forever
239
+ - For *the Figma brand mark*: render the iconic "F" lockup which is a vertical arrangement of the five colored shapes (red rectangle, orange circle, purple half-circle, blue half-circle, green circle) — this stays at the App Store level
240
+
241
+ **Cursor (in mirror view)**
242
+ - A 12pt × 12pt cursor arrow + the collaborator's name tag below
243
+ - Cursor color = the collaborator's cube color
244
+ - Name tag: cube color background, white Inter 11pt 500 text, 4pt corner radius, 2pt padding
245
+ - The cursor animates with a slight 80ms ease-out lag — Figma's "trailing" effect from the desktop is preserved on mobile mirror
246
+
247
+ **File Cover (no preview)**
248
+ - A 16:10 card filled with a random cube color
249
+ - Centered "F" or the first letter of the file name in Inter 32pt 700 white
250
+ - Used when a file has no rendered thumbnail yet
251
+
252
+ **Plan Badge ("Pro", "Org", "Enterprise")**
253
+ - A small pill: 18pt height, 4pt radius, 2pt vertical / 6pt horizontal padding
254
+ - Background: `#5551FF` (Blurple) for Pro, `#0D99FF` (Action Blue) for Org, `#FFC8C8` (Macaron Pink) with `#1E1E1E` text for Free
255
+ - Text: Inter 10pt 600 uppercase white (Pro/Org)
256
+
257
+ **Empty State Illustration**
258
+ - Soft pastel illustrations in the Macaron Pink palette
259
+ - Always 200pt × 200pt centered, with copy 16pt below in 15pt 500 Ink and a 14pt 400 Secondary subtitle
260
+
261
+ ## 5. Layout Principles
262
+
263
+ ### Spacing System
264
+ - Base unit: 4pt (Figma's literal spacing system uses 4 / 8 / 12 / 16 / 24 / 32 / 48 / 64)
265
+ - Scale: 4, 8, 12, 16, 24, 32, 48, 64, 96
266
+ - Standard horizontal margin: 16pt on lists, 16pt on Recents grid
267
+ - Section vertical gap: 32pt between major sections; 16pt between cards in a grid
268
+
269
+ ### Grid & Container
270
+ - Content width: full device width minus 16pt outer margins
271
+ - Recents grid: 2-col on iPhone, 3-col on iPhone Pro Max, 4-col on iPad
272
+ - Inter-column gap: 8pt on iPhone, 16pt on iPad
273
+ - File cards: 16:10 aspect ratio, full grid-cell width
274
+
275
+ ### Whitespace Philosophy
276
+ - **Generous outer breathing** — 16pt margins frame everything; 32pt gaps between sections let the dense content breathe
277
+ - **Tight inner packing** — within a card, 8pt and 12pt gaps keep the file name, metadata, and thumbnail tightly grouped
278
+ - **Edge-defined cards** — 1pt hairline borders separate cards rather than shadows; the canvas is a precise tool, not a soft surface
279
+
280
+ ### Border Radius Scale
281
+ - Square (0pt): rare — only on dividers
282
+ - Small (4pt): badges, plan pills, hex code chips
283
+ - Medium (6pt): file thumbnails, buttons, input fields, search bar — Figma's primary radius
284
+ - Standard (12pt): bottom-sheet top corners
285
+ - Comfortable (16pt): no major use — Figma stays tight
286
+ - Half (50%): cube avatars, comment pins, send button
287
+ - Full Pill (500pt): editor bottom bar, plan badges
288
+
289
+ ## 6. Depth & Elevation
290
+
291
+ | Level | Treatment | Use |
292
+ |-------|-----------|-----|
293
+ | Flat (Level 0) | No shadow, 1pt hairline border | All file/project cards on Recents |
294
+ | Subtle (Level 1) | `rgba(0,0,0,0.04) 0 1px 3px` | File card press states |
295
+ | Floating (Level 2) | `rgba(0,0,0,0.08) 0 2px 6px` | Comment pins on frames |
296
+ | Sticky Element (Level 3) | `rgba(0,0,0,0.16) 0 4px 12px` | Editor bottom bar pill |
297
+ | Sheet (Level 4) | `rgba(0,0,0,0.24) 0 -8px 24px` | Comment thread sheet, file detail modal |
298
+ | Blur Material | `.regularMaterial` over canvas | Nav bar on scroll, tab bar |
299
+
300
+ **Shadow Philosophy**: Figma is a precision tool — shadows are quiet and short. Cards rely on 1pt `#E5E5E5` / `#2C2C2C` hairline borders for definition, not elevation. The only meaningfully shadowed elements are the editor bottom bar pill (which floats over content) and comment pins (which need to read over any frame color). In dark mode, borders pull more of the weight because shadows lose contrast on `#1E1E1E`.
301
+
302
+ ### Motion
303
+ - **File card tap**: scale 0.98 over 100ms, opens the file detail screen with a 350ms shared-element transition (the thumbnail morphs into the detail header)
304
+ - **Comment pin tap**: scale 1.0 → 1.15 → 1.0 spring (response 0.3, damping 0.6), then the comment sheet slides up over 400ms cubic-bezier
305
+ - **Cursor trailing in mirror**: 80ms ease-out lag on every position update — feels alive
306
+ - **Avatar stack overlap**: when a new collaborator joins, their avatar slides in from the right with a 250ms spring
307
+ - **Reply send**: composer text fades, send button bounces (scale 1.0 → 0.9 → 1.0), `.notificationOccurred(.success)` haptic
308
+ - **Tab switch**: `.selectionChanged()` haptic, icon weight/fill swap (no animation)
309
+ - **Empty state illustration**: slow 4-second loop where one element (e.g., a hand-drawn pencil) gently sways
310
+
311
+ ## 7. Do's and Don'ts
312
+
313
+ ### Do
314
+ - Use the five Figma cubes (`#F24E1E`, `#FF7262`, `#A259FF`, `#1ABCFE`, `#0ACF83`) as accent colors on avatars, thumbnails, and cursors — they are the brand
315
+ - Use Action Blue `#0D99FF` for primary CTAs and the selection blue in mirror views
316
+ - Use Blurple `#5551FF` for Plan upgrade banners, FigJam links, and Slides — *not* for the primary CTA
317
+ - Render file cards at 16:10 — Figma's exact aspect
318
+ - Use 6pt corner radius on file thumbnails, buttons, input fields — Figma's signature radius
319
+ - Use Inter at weights 400/500/600/700 with tabular numerals enabled
320
+ - Render hex codes in SF Mono uppercase with a slashed zero ("#FF7262", never "#ff7262")
321
+ - Use 1pt hairline borders instead of shadows for card definition
322
+ - Randomly assign cube colors to users and persist that assignment — the user is "their cube"
323
+ - Use the Macaron Pink palette only for illustration / empty states, never for primary action
324
+
325
+ ### Don't
326
+ - Don't use a cube color as a primary CTA — they are avatars/cursors/thumbnails only
327
+ - Don't use Action Blue `#0D99FF` as the Figma "Blue cube" — they are different blues with different roles
328
+ - Don't render the file thumbnail with a non-16:10 aspect
329
+ - Don't replace Inter with a humanist sans — Inter's geometric tabular figures are part of the brand
330
+ - Don't lowercase hex codes — Figma is uppercase always
331
+ - Don't compress the 16pt outer margins — the breathing room is intentional
332
+ - Don't use heavy shadows — Figma is edge-defined; max shadow is `rgba(0,0,0,0.16)`
333
+ - Don't break the 4-tab bottom bar — Recents, Drafts, Notifications, Profile are canonical
334
+ - Don't use the Figma brand "F" lockup as the in-app logomark on every screen — it appears only at App Store level and in About
335
+ - Don't add a 5th cube — there are exactly five colors and they have stayed the same since 2016
336
+
337
+ ## 8. Responsive Behavior
338
+
339
+ ### Device Sizes
340
+ | Device | Width | Key Changes |
341
+ |--------|-------|-------------|
342
+ | iPhone SE (3rd gen) | 375pt | Recents grid 2-col; file thumbnail compresses but keeps 16:10 |
343
+ | iPhone 13/14/15 | 390pt | Standard 2-col grid; 16pt outer margins |
344
+ | iPhone 15/16 Pro | 393pt | Dynamic Island respected |
345
+ | iPhone 15/16 Pro Max | 430pt | 3-col grid possible; comment sheet sits as a side panel on landscape |
346
+ | iPad | 768pt+ | 4-col grid; comment sheet always lives as a right-rail side panel; file detail uses split view |
347
+
348
+ ### Dynamic Type
349
+ - Comment bodies, file names, metadata: scale up to XL
350
+ - **Fixed**: tab labels, hex code chips, dimension labels, avatar initials — layout would break if scaled
351
+
352
+ ### Orientation
353
+ - Recents: portrait-locked on iPhone, supports both on iPad
354
+ - File mirror: rotates freely on every device — the mirror should match what's on canvas
355
+ - Comment threads: portrait on iPhone, side-panel on iPad landscape
356
+
357
+ ### Touch Targets
358
+ - File card: full card tap target
359
+ - Comment pin: 28pt visual, 44pt hit slop
360
+ - Tab bar item: 50pt row, 44pt minimum width
361
+ - Avatar in stack: 44pt slop minimum
362
+
363
+ ### Safe Area Handling
364
+ - Top: large nav title starts at safe-area top + 16pt
365
+ - Bottom: tab bar honors home indicator; editor bottom pill sits 16pt above the home indicator
366
+ - Sides: 16pt content insets
367
+
368
+ ## 9. Quick Reference Cheat Sheet
369
+
370
+ ### Color Quick Reference
371
+ - **Figma Cubes**: `#F24E1E` Red · `#FF7262` Orange · `#A259FF` Purple · `#1ABCFE` Blue · `#0ACF83` Green
372
+ - Action Blue: `#0D99FF`
373
+ - Blurple: `#5551FF`
374
+ - Macaron Pink: `#FFC8C8`
375
+ - Canvas Light: `#FFFFFF`
376
+ - Canvas Dark: `#1E1E1E`
377
+ - Surface Light 1: `#F5F5F5`
378
+ - Dark Surface 1: `#2C2C2C`
379
+ - Divider Light: `#E5E5E5`
380
+ - Divider Dark: `#2C2C2C`
381
+ - Ink: `#1E1E1E`
382
+ - Text Secondary: `#757575`
383
+ - Success Green: `#14AE5C`
384
+ - Warning Amber: `#F2AC2A`
385
+ - Error Red: `#E03E1A`
386
+
387
+ ### Example Component Prompts
388
+ - "Create a SwiftUI Figma file card: 16:10 aspect ratio, full-width on a 2-col grid with 16pt outer margins and 8pt inter-column gap. The thumbnail is a `#F5F5F5` (light) or `#2C2C2C` (dark) rectangle with 6pt corner radius — when no preview, render a centered Figma cube color (random of the 5) with the file's first letter in Inter 32pt 600 white. Below the thumbnail, 8pt gap, then the file name in Inter 14pt 500 (1-line truncate), 2pt, then metadata 'Edited 2h ago · 4 collaborators' in Inter 12pt 400 `#757575`."
389
+ - "Build the Figma avatar component: 32pt circle, background is one of the 5 brand cube colors (`#F24E1E`, `#FF7262`, `#A259FF`, `#1ABCFE`, `#0ACF83`) randomly assigned to the user and persisted. Single white initial in the center, Inter 16pt 600. When showing a stack of collaborators, overlap by -8pt with max 3 visible and a 24pt `+5` pill (background `#F5F5F5`, Inter 11pt 600 `#1E1E1E`) for the remainder."
390
+ - "Design the Figma primary CTA: Action Blue `#0D99FF` background, white Inter 14pt 600 text, 10pt vertical and 16pt horizontal padding, 6pt corner radius, 36pt min height. Pressed: bg `#0769B5`, scale 0.98. Haptic `.impactOccurred(.light)` on tap."
391
+ - "Build the comment pin: 28pt circle filled with the commenter's cube color, white number ('1', '2', etc.) in Inter 13pt 700 centered. 2pt white border (or 2pt `#1E1E1E` in dark mode) for legibility over varied frame backgrounds. Shadow `rgba(0,0,0,0.16) 0 2px 4px`. On tap: scale 1.0 → 1.15 → 1.0 spring (response 0.3, damping 0.6), then a 400ms cubic-bezier sheet rises with the comment thread."
392
+ - "Create the file detail comment composer: 36pt tall minimum, growing up to 120pt as content grows. Background `#F5F5F5` (light) / `#2C2C2C` (dark), 18pt corner radius (half height), leading 14pt `at.symbol` for @mentions, trailing 28pt Action Blue circle with a 14pt white paper-plane icon — appears only when text is non-empty. Inter 13pt 400 input text, placeholder `#757575`."
393
+
394
+ ### Iteration Guide
395
+ 1. The five Figma cubes are brand accents only — `#F24E1E`, `#FF7262`, `#A259FF`, `#1ABCFE`, `#0ACF83` — never as primary CTAs
396
+ 2. Primary action is Action Blue `#0D99FF`; Blurple `#5551FF` is reserved for Plan upgrades and FigJam/Slides accents
397
+ 3. Use Inter at 400/500/600/700 with tabular numerals enabled
398
+ 4. 6pt corner radius is the Figma signature; 16:10 is the file-card aspect
399
+ 5. Hex codes are SF Mono, uppercase, slashed zero — "#FF7262"
400
+ 6. 1pt `#E5E5E5` (light) / `#2C2C2C` (dark) hairline borders instead of shadows
401
+ 7. Dark mode canvas is `#1E1E1E` — Figma Editor's exact tone
402
+ 8. The avatar is the user — randomly assigned cube color, persisted forever
403
+ 9. 4-tab bottom bar: Recents, Drafts, Notifications, Profile
404
+ 10. Inter at small sizes (11–14pt) carries 80% of the app — information density first