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,414 @@
1
+ # Design System Inspiration of KakaoTalk (iOS)
2
+
3
+ ## 1. Visual Theme & Atmosphere
4
+
5
+ KakaoTalk's iOS app is the everyday super-app of South Korea — messaging at its core, with gifting, payments, channels, and shopping wrapped around it. Its design language is instantly identifiable by one thing: **Kakao Yellow (`#FEE500`)**, a saturated, almost-electric yellow that paints the outbound chat bubble, the primary CTA, and the rounded speech-bubble logo, always paired with a deep, near-black **Kakao Brown (`#3C1E1E`)** for the text that sits on that yellow. This yellow-and-brown pairing is the brand's whole personality: warm, playful, friendly, and unmistakably Korean. The app itself stays restrained — clean light backgrounds, a calm light-gray chat thread, plain system text — so the yellow can do the talking exactly where it matters.
6
+
7
+ Two screens anchor the product. The **Friends tab** is a vertically scrolling roster: your own profile banner at the top (rounded-square avatar, name, a one-line status message that often includes emoji), then a "Friends · N" section header, then friend rows — each a rounded-square avatar, name in semibold, and a status line (a mood, a now-playing track via the music badge, or "출근중..." style text). Below friends come Channels (Kakao's brand/business accounts). The **chat thread** is KakaoTalk's heart: inbound bubbles in light gray on the left with the sender's rounded-square avatar and small name above, outbound bubbles in Kakao Yellow on the right, and — the signature detail — the **unread-count number and timestamp docked to the inner side of the bubble**, not inside it. That little yellow "1" next to a bubble (meaning "1 person hasn't read this yet") is one of the most culturally recognizable UI elements in Korea.
8
+
9
+ KakaoTalk's other defining content type is **emoticons and gifticons**. Emoticons are Kakao Friends characters (Ryan the lionless-lion, Apeach, Muzi, Tube) sent as large stickers — they're a core revenue and expression channel, not an afterthought. Gifticons are sendable gift vouchers (a coffee, a cake, a chicken) that arrive as a rich card in the thread with a product image, brand, and name; the recipient redeems it with a barcode. The composer reflects this: a `+`/menu icon (to send gifticons, photos, money, location, schedules), a pill text field, and an emoticon-face icon that opens the Kakao Friends sticker keyboard.
10
+
11
+ Typography is the iOS system face (SF Pro) for Latin and the platform Korean face (Apple SD Gothic Neo) for Hangul; KakaoTalk does use a heavier "KakaoBig"-style weight for big titles. Hierarchy is utilitarian: bold nav titles, semibold list names, regular message body, small gray status/metadata. The type stays quiet and lets the yellow, the rounded-square avatars, and the Kakao Friends characters carry the brand.
12
+
13
+ **Key Characteristics:**
14
+ - Kakao Yellow (`#FEE500`) outbound bubbles + primary CTA + speech-bubble logo, on Kakao Brown (`#3C1E1E`) text
15
+ - Calm canvas — light gray/white light mode, warm charcoal `#1A1A1A` dark; a distinct light-gray chat thread backdrop
16
+ - Unread count + timestamp docked to the bubble's **inner side** — the yellow "1" is iconic in Korea
17
+ - Rounded-square avatars (≈16pt radius) — never circles — across friends, chat, and channels
18
+ - Friends tab: my-profile banner + "Friends · N" section + friend rows with status/now-playing
19
+ - Emoticons = Kakao Friends characters (Ryan / Apeach / Muzi / Tube) as large stickers — first-class
20
+ - Gifticons — sendable gift vouchers that arrive as a rich product card with a barcode redeem
21
+ - Channels — Kakao brand/business accounts listed below friends
22
+ - Bottom tab bar: Friends / Chats / Open (Chat) / Shopping / More — super-app surface area
23
+ - Status message line on profiles (a mood + emoji) — the social texture of Korean messaging
24
+ - Bubbles are gently rounded (≈14pt) with the head corner squared to ≈4pt
25
+
26
+ ## 2. Color Palette & Roles
27
+
28
+ ### Primary (Interactive)
29
+ - **Kakao Yellow** (`#FEE500`): The brand. Outbound message bubbles, primary CTA buttons, speech-bubble logo, unread count mark, key highlights.
30
+ - **Kakao Yellow Pressed** (`#E6CF00`): Pressed/active state on yellow buttons and bubbles.
31
+ - **Kakao Brown** (`#3C1E1E`): Text and glyphs that sit on yellow — logo fill, button label on yellow, outbound bubble text.
32
+ - **Kakao Brown Soft** (`#5A3A3A`): Secondary brown for icons/labels on lighter yellow surfaces.
33
+
34
+ ### Canvas & Surfaces (Light Mode)
35
+ - **Canvas White** (`#FFFFFF`): Friends list, settings, modal backgrounds.
36
+ - **Chat Backdrop Light** (`#B2C7DA`): KakaoTalk's signature blue-gray chat-thread background (the classic "KakaoTalk wallpaper" default).
37
+ - **Surface Gray** (`#F5F5F5`): Grouped settings backdrop, search field fill.
38
+ - **Inbound Bubble Light** (`#FFFFFF`): Inbound message bubble fill on the blue-gray thread.
39
+ - **Divider Light** (`#E6E6E6`): Hairline dividers between list rows and sections.
40
+
41
+ ### Canvas & Surfaces (Dark Mode)
42
+ - **Dark Canvas** (`#1A1A1A`): Friends/list canvas — NOT pure black; keeps the app warm.
43
+ - **Chat Backdrop Dark** (`#1E2A33`): Dark equivalent of the signature blue-gray thread color.
44
+ - **Dark Surface 1** (`#242424`): Composer bar, grouped settings rows, cards.
45
+ - **Dark Surface 2 / Inbound Bubble Dark** (`#2E2E2E`): Inbound bubble fill, hovered rows.
46
+ - **Dark Divider** (`#333333`): Hairline dividers.
47
+
48
+ ### Text
49
+ - **Text Primary Light** (`#191919`): Primary list and message text on light.
50
+ - **Text Secondary Light** (`#6A6A6A`): Status messages, timestamps, metadata.
51
+ - **Text Tertiary Light** (`#9A9A9A`): Disabled, very low-emphasis.
52
+ - **Text Primary Dark** (`#EDEDED`): Primary text on dark.
53
+ - **Text Secondary Dark** (`#9A9A9A`): Secondary text on dark.
54
+ - **Text On Yellow** (`#3C1E1E`): Text inside outbound bubbles and on yellow buttons (Kakao Brown).
55
+ - **Text On Thread (dark)** (`rgba(255,255,255,0.78)`): Sender names / day separators over the dark thread backdrop.
56
+
57
+ ### Semantic
58
+ - **Unread Yellow** (`#FEE500`): The "N unread" count mark docked beside a bubble — the iconic accent.
59
+ - **Link Blue** (`#4B9BFF`): Hyperlinks, "see all" actions, selectable text.
60
+ - **Success Green** (`#2ECC71`): Success toasts, payment confirmation.
61
+ - **Error Red** (`#F15E6C`): Failed send, destructive actions (Leave chat, Block).
62
+ - **Notification Red** (`#FF3B30`): Tab-bar unread badge dot/count.
63
+ - **Music Badge** (`#6A6A6A`): Now-playing badge on a friend's status line.
64
+
65
+ ### Kakao Friends Character Accents (emoticon brand palette)
66
+ | Character | Accent |
67
+ |-----------|--------|
68
+ | Ryan (lion) | `#FBC02D` |
69
+ | Apeach (peach) | `#FF9EB1` |
70
+ | Muzi (radish) | `#FFE082` |
71
+ | Tube (duck) | `#FFD54F` |
72
+ | Frodo (dog) | `#8D6E63` |
73
+ | Neo (cat) | `#A1887F` |
74
+
75
+ ## 3. Typography Rules
76
+
77
+ ### Font Family
78
+ - **Latin Primary**: `SF Pro Text` / `SF Pro Display` (Apple system font).
79
+ - **Hangul Primary**: `Apple SD Gothic Neo` (the iOS Korean system face) — KakaoTalk renders Korean text in the platform Korean font.
80
+ - **Big Titles**: KakaoTalk uses a heavier "KakaoBig"-style weight (mapped to SF Pro Display / Apple SD Gothic Neo Heavy on iOS) for large nav titles.
81
+ - **Fallback Stack**: `-apple-system, BlinkMacSystemFont, 'Apple SD Gothic Neo', 'SF Pro Text', 'Noto Sans KR', 'Segoe UI', Roboto, sans-serif`
82
+ - **Emoji / Emoticons**: Apple Color Emoji for system emoji; Kakao Friends emoticons are image stickers (not font glyphs).
83
+
84
+ ### Hierarchy
85
+
86
+ | Role | Font | Size | Weight | Line Height | Letter Spacing | Notes |
87
+ |------|------|------|--------|-------------|----------------|-------|
88
+ | Large Title | SF Pro Display / SD Gothic Heavy | 32pt | 900 | 1.15 | -0.4pt | Big screen title (e.g. "친구") |
89
+ | Screen Title | SF Pro Display | 26pt | 700 | 1.2 | -0.3pt | Modal / sheet titles |
90
+ | Nav Title | SF Pro Display | 20pt | 900 | 1.2 | -0.3pt | Compact nav bar title ("Friends") |
91
+ | Profile Name | SF Pro Text | 17pt | 700 | 1.25 | -0.1pt | My-profile banner name |
92
+ | Section Header | SF Pro Text | 18pt | 700 | 1.3 | -0.1pt | "Members & settings" |
93
+ | Message Body | SF Pro Text | 15pt | 400 | 1.35 | 0pt | The message text inside bubbles |
94
+ | List Row Title | SF Pro Text | 15pt | 600 | 1.3 | 0pt | Friend / chat name |
95
+ | Status / Preview | SF Pro Text | 13pt | 400 | 1.3 | 0pt | Status message, last-message preview |
96
+ | Sender / Tab | SF Pro Text | 12pt | 500 | 1.2 | 0.1pt | Name above an inbound bubble; tab labels |
97
+ | Unread Mark | SF Pro Text | 11pt | 700 | 1.0 | 0pt | The yellow "N" beside a bubble |
98
+ | Bubble Time | SF Pro Text | 10pt | 400 | 1.0 | 0pt | Timestamp docked beside a bubble |
99
+ | Tab Badge | SF Pro Text | 10pt | 700 | 1.0 | 0pt | Red unread count on a tab |
100
+ | Button | SF Pro Text | 16pt | 700 | 1.0 | 0pt | Primary button label |
101
+ | Emoticon-only | — | sticker | — | — | — | Kakao Friends stickers render ~120pt image |
102
+
103
+ ### Principles
104
+ - **System faces, heavier titles**: Latin in SF Pro, Hangul in Apple SD Gothic Neo; only big titles go very heavy (900) for the friendly KakaoBig feel.
105
+ - **Body is 400, names are 600**: Message text is regular; friend/chat names are semibold for fast scanning.
106
+ - **Korean-first metrics**: Line height is generous (≈1.35) so Hangul (which has taller glyphs than Latin) breathes; never tighten below 1.3 for body.
107
+ - **Quiet type, loud yellow**: Hierarchy leans on weight + the yellow accent + rounded-square avatars, not big type contrast.
108
+ - **Dynamic Type first-class**: Message body, list names, status lines scale; tab labels, unread marks, bubble times stay fixed.
109
+
110
+ ## 4. Component Stylings
111
+
112
+ ### Buttons
113
+
114
+ **Primary Button (확인 / Confirm / Send gift)**
115
+ - Shape: Rounded rectangle, 8pt corner radius
116
+ - Background: `#FEE500` (Kakao Yellow)
117
+ - Text: `#3C1E1E` (Kakao Brown), SF Pro Text 16pt weight 700
118
+ - Padding: 14pt vertical, 28pt horizontal
119
+ - Pressed: background `#E6CF00` + scale 0.98
120
+ - Disabled: `#FEE500` at 40% opacity
121
+
122
+ **Secondary / Outline Button (Add friend / Cancel)**
123
+ - Background: transparent
124
+ - Border: 1pt divider (`#E6E6E6` light / `#333333` dark)
125
+ - Text: primary text color, SF Pro Text 14pt weight 600
126
+ - Corner radius: 8pt
127
+ - Padding: 12pt vertical, 20pt horizontal
128
+ - Pressed: 6% gray fill
129
+
130
+ **Pill / Utility Button (선물하기 Gift / Mute / Filter)**
131
+ - Background: surface gray / `#2E2E2E` dark
132
+ - Border: 1pt divider
133
+ - Text: primary text color, SF Pro Text 14pt weight 500
134
+ - Corner radius: 999pt (pill)
135
+ - Padding: 10pt vertical, 18pt horizontal
136
+
137
+ **Text Button (전체 보기 / See all)**
138
+ - Font: SF Pro Text 14pt weight 600
139
+ - Color: `#4B9BFF` (Link Blue)
140
+ - No background, no underline
141
+ - Pressed: 50% opacity
142
+
143
+ ### Message Bubble (the core atom)
144
+
145
+ **Inbound Bubble**
146
+ - Background: `#FFFFFF` (light, on the blue-gray thread) / `#2E2E2E` (dark)
147
+ - Text: primary text color, SF Pro Text 15pt weight 400
148
+ - Corner radius: 14pt, with the **top-leading corner squared to 4pt** (head/tail toward the avatar)
149
+ - Padding: 9pt vertical, 12pt horizontal
150
+ - Max width: 82% of thread width
151
+ - Leading avatar: 36pt rounded-square (≈14pt radius), aligned to the top of the bubble run
152
+ - Sender name: 12pt weight 500, `rgba(255,255,255,0.78)` on dark thread / `#6A6A6A` on light, above the first bubble in a run
153
+ - Meta (to the trailing side of the bubble, bottom-aligned): timestamp 10pt; no unread mark on inbound
154
+
155
+ **Outbound Bubble**
156
+ - Background: `#FEE500` (Kakao Yellow)
157
+ - Text: `#3C1E1E` (Kakao Brown), SF Pro Text 15pt weight 500
158
+ - Corner radius: 14pt, with the top-trailing corner squared to 4pt
159
+ - Aligned trailing; no avatar for self
160
+ - Meta (to the **leading side** of the bubble, bottom-aligned): unread count mark (yellow `#FEE500` "N", weight 700, 11pt) stacked above the timestamp (10pt `rgba(255,255,255,0.5)` on dark)
161
+
162
+ **Bubble Run Grouping**
163
+ - Consecutive messages from the same sender within 60s collapse: avatar + name show once at the top; bubbles stack with 3pt gap; the meta (time / unread) shows only on the last bubble of the run
164
+
165
+ ### Unread Mark (signature distinctive component)
166
+ - A small number rendered to the **inner side** of an outbound bubble (between the bubble and the screen edge), bottom-aligned
167
+ - Color: Kakao Yellow `#FEE500`, SF Pro Text 11pt weight 700
168
+ - Means "N recipients have not yet read this message"; disappears (or counts down in a group) as people read
169
+ - The single most culturally recognizable KakaoTalk UI element
170
+
171
+ ### Gifticon Card (distinctive component)
172
+ - A rich card sent in the thread for a gift voucher
173
+ - Container: rounded 16pt, `#FFFFFF` light / `#242424` dark, soft shadow
174
+ - Top: product image band ~120pt tall (often a warm yellow gradient backdrop for the product)
175
+ - Body: brand name 11pt `#6A6A6A`, product name 13pt weight 700, "선물이 도착했어요" style header
176
+ - Footer (recipient side): "사용하기 / Use" pill button → opens a barcode redeem screen
177
+ - Width: ~188pt
178
+
179
+ ### Navigation
180
+
181
+ **Top Nav (Friends / Chats)**
182
+ - Height: 52pt + safe area
183
+ - Background: canvas (`#FFFFFF` light / `#1A1A1A` dark)
184
+ - Leading: large/compact title (20pt weight 900)
185
+ - Trailing: a row of 21pt outline action icons (search, add friend, settings/⋮) `#6A6A6A`
186
+ - 0.5pt bottom divider
187
+
188
+ **Chat Nav Bar (top of a thread)**
189
+ - Height: 52pt + safe area
190
+ - Background: matches the thread backdrop (blue-gray light / `#1E2A33` dark)
191
+ - Leading: back chevron 22pt
192
+ - Center-leading: chat title (friend/group name) 16pt weight 700
193
+ - Trailing: search-in-chat + hamburger (chat menu / drawer) 20pt
194
+
195
+ **Bottom Tab Bar**
196
+ - Height: 64pt + safe area
197
+ - Background: `rgba(255,255,255,0.96)` light / `rgba(26,26,26,0.96)` dark with blur + 0.5pt top divider
198
+ - Tabs (5): Friends, Chats, Open (Chat), Shopping, More
199
+ - Icon size: 24pt
200
+ - Active: primary text color (`#191919` / `#EDEDED`), icon filled — no color tint
201
+ - Inactive: `#777777`, icon stroked
202
+ - Unread badge: red `#FF3B30` pill on the Chats icon, white 10pt weight 700
203
+ - Labels: SF Pro Text 10pt weight 500, always shown
204
+
205
+ **Friend Row**
206
+ - Height: 64pt
207
+ - Leading: 44pt rounded-square avatar (≈16pt radius)
208
+ - Title: friend name 15pt weight 600
209
+ - Subtitle: status message 13pt weight 400 `#6A6A6A` (1 line) OR a now-playing badge (music note 13pt + track name)
210
+ - Trailing: optional gift / VIP / channel chip
211
+
212
+ ### Input Fields
213
+
214
+ **Composer**
215
+ - Layout: `+` menu button (left) · pill text field (center) · emoticon-face button (right) · (send/voice morphs in on the right when typing)
216
+ - Pill field: height 38pt, background `#F5F5F5` light / `#2E2E2E` dark, 999pt radius, 16pt horizontal padding
217
+ - Placeholder: empty (KakaoTalk shows no placeholder text — just the empty pill)
218
+ - `+` button: 24pt outline glyph `#6A6A6A` — opens the action sheet (album, camera, gifticon, pay/송금, location, schedule, voice, file, contact)
219
+ - Emoticon button: 24pt smiley glyph `#6A6A6A` — opens the Kakao Friends sticker keyboard
220
+ - Bar background: canvas, 0.5pt top divider
221
+
222
+ **Search Field (Friends / Chats)**
223
+ - Height: 38pt
224
+ - Background: `#F5F5F5` light / `#2E2E2E` dark
225
+ - Corner radius: 999pt (pill) or 8pt (depending on screen)
226
+ - Leading icon: magnifyingglass 16pt `#9A9A9A`
227
+ - Placeholder: "이름, 채팅방, 모임 검색" 14pt `#9A9A9A`
228
+
229
+ ### Distinctive Components
230
+
231
+ **Unread Count Mark** — see above; the iconic yellow "N" beside a bubble.
232
+
233
+ **Kakao Friends Emoticon Sticker**
234
+ - Sent as a large image sticker (~120pt) with no bubble background; tappable to enlarge/animate
235
+ - Emoticon keyboard: a grid of the user's owned sticker sets with character tabs along the bottom
236
+
237
+ **Gifticon Card** — see above; sendable gift voucher with barcode redeem.
238
+
239
+ **Status Message Line**
240
+ - A one-line mood under a profile name; supports emoji and updates over time — the social texture of the friends list
241
+
242
+ **My-Profile Banner**
243
+ - Top of the Friends tab: large rounded-square avatar + name + editable status message; tapping opens the full profile (cover image, decorations, music)
244
+
245
+ **Open Chat (오픈채팅) Tab**
246
+ - A discovery/list surface for public/anonymous group rooms by topic — its own bottom tab with a globe-style icon
247
+
248
+ **Now-Playing Badge**
249
+ - A music-note glyph + track title on a friend's status line, sourced from their profile music
250
+
251
+ ## 5. Layout Principles
252
+
253
+ ### Spacing System
254
+ - Base unit: 4pt
255
+ - Scale: 4, 6, 8, 10, 12, 16, 18, 20, 24, 28, 32
256
+ - Bubble vertical gap (different senders): 12pt
257
+ - Bubble vertical gap (same-sender run): 3pt
258
+ - Thread horizontal inset: 12pt
259
+ - List row inset: 18pt leading / 18pt trailing
260
+
261
+ ### Grid & Container
262
+ - iPhone: chat thread full-bleed over the backdrop with 12pt horizontal inset; bubbles max 82% width
263
+ - iPad: thread max-width 680pt centered; split view shows the Chats list (340pt) + thread
264
+ - Friends list: full-width 64pt rows; section headers ("Friends · N", "Channels")
265
+ - Bottom tab bar pinned; nav bars pinned
266
+
267
+ ### Whitespace Philosophy
268
+ - **Roster density**: friend rows are compact (64pt) so the eye scans names + statuses quickly
269
+ - **Thread breathing**: 12pt between speakers, 3pt within a run; the colored backdrop frames the bubbles
270
+ - **Avatars anchor the left rail**: inbound rows reserve a 36pt rounded-square avatar gutter so names + bubbles align
271
+ - **Meta sits outside the bubble**: time + unread count dock to the bubble's inner side so the bubble itself stays clean — a defining KakaoTalk layout choice
272
+
273
+ ### Border Radius Scale
274
+ - Square (0pt): nav bars, dividers, full-screen media
275
+ - Subtle (4pt): the squared head corner of a bubble
276
+ - Standard (8pt): primary/secondary buttons, search field
277
+ - Bubble (14pt): message bubbles
278
+ - Avatar / Card (16pt): rounded-square avatars, gifticon cards, sheets
279
+ - Comfortable (24pt): bottom sheets
280
+ - Pill (999pt): composer field, utility chips, gifticon "Use" button
281
+ - Circle (50%): rarely used — small status dots only (avatars are rounded-squares, not circles)
282
+
283
+ ## 6. Depth & Elevation
284
+
285
+ KakaoTalk is mostly flat with soft, subtle shadows; depth signals "this floats above the thread/list".
286
+
287
+ | Level | Treatment | Use |
288
+ |-------|-----------|-----|
289
+ | Flat (Level 0) | No shadow | Thread backdrop, list rows, bubbles |
290
+ | Raised (Level 1) | `rgba(0,0,0,0.06) 0 1px 3px` | Gifticon card, composer separation |
291
+ | Floating (Level 2) | `rgba(0,0,0,0.16) 0 6px 16px` | Action sheet, emoticon keyboard, popovers |
292
+ | Sheet (Level 3) | `rgba(0,0,0,0.22) 0 -4px 24px` | Bottom sheets (chat menu, gift flow, settings) |
293
+ | Modal Scrim | `rgba(0,0,0,0.4)` | Dim behind modals and sheets |
294
+
295
+ **Shadow Philosophy**: The thread and list stay flat so the yellow bubbles and rounded-square avatars carry the visual weight. Shadows are reserved for cards (gifticon) and floating UI (action sheet, emoticon keyboard). On dark mode shadows nearly vanish, so floating panels gain a 1pt `#333333` border as the elevation cue and cards switch to a `#242424` fill that lifts them off the `#1E2A33` thread / `#1A1A1A` canvas.
296
+
297
+ ### Motion
298
+ - **Message send**: outbound bubble pops up + fades in from the composer over 200ms ease-out; the unread mark fades in once delivered
299
+ - **Unread countdown (group)**: the yellow "N" cross-fades to "N-1" as each member reads — no aggressive animation
300
+ - **New inbound message**: bubble fades + 6pt slide-up in 180ms ease-out; thread auto-scrolls if pinned to bottom
301
+ - **Emoticon send**: sticker scales 0.7 → 1.0 over 220ms spring (animated emoticons then play their loop)
302
+ - **Action sheet / emoticon keyboard**: slides up from bottom 280ms ease-out with scrim fade
303
+ - **Tab switch**: instant content swap; active icon cross-fades fill in 120ms; red badge bounces in
304
+ - **Gifticon arrival**: card slides in + a subtle confetti/sparkle accent on first appearance
305
+ - **Pull-to-refresh (Friends)**: Kakao-yellow spinner; 250ms settle
306
+ - **Haptic feedback**: light tick on send, soft impact on emoticon send, selection tick on tab change
307
+
308
+ ## 7. Do's and Don'ts
309
+
310
+ ### Do
311
+ - Use Kakao Yellow (`#FEE500`) for outbound bubbles, the primary CTA, and the speech-bubble logo
312
+ - Put Kakao Brown (`#3C1E1E`) text on yellow — never white or black
313
+ - Dock the unread count + timestamp to the bubble's **inner side**, not inside the bubble
314
+ - Render the unread mark as a yellow "N" — it is the single most iconic KakaoTalk element
315
+ - Use rounded-square avatars (≈16pt radius) everywhere — friends, chat, channels
316
+ - Give the chat thread its signature blue-gray backdrop (light) / `#1E2A33` (dark)
317
+ - Treat Kakao Friends emoticons as large stickers (no bubble) — they are first-class content
318
+ - Render gifticons as rich product cards with a barcode "Use" redeem
319
+ - Show a status-message line under profile/friend names (mood + emoji, or now-playing)
320
+ - Use Apple SD Gothic Neo for Hangul and generous line height (≈1.35) for Korean text
321
+ - Keep the list/thread flat; reserve soft shadows for cards and floating sheets
322
+
323
+ ### Don't
324
+ - Don't use white or black text on the yellow bubble — it must be Kakao Brown `#3C1E1E`
325
+ - Don't put the time/unread count inside the bubble — KakaoTalk docks it to the inner side
326
+ - Don't use circular avatars — KakaoTalk avatars are rounded squares
327
+ - Don't color the chat thread plain white — it has a distinct blue-gray backdrop
328
+ - Don't render emoticons inside a bubble — they are bubble-less large stickers
329
+ - Don't tighten Hangul line height below ~1.3 — Korean glyphs need vertical room
330
+ - Don't tint the active tab yellow — active tabs use the primary text color (filled icon), no color tint
331
+ - Don't pure-black the dark canvas — use `#1A1A1A` (warm) and `#1E2A33` for the thread
332
+ - Don't substitute the yellow with orange/gold — it is specifically `#FEE500`
333
+ - Don't squarify bubbles — they're ≈14pt rounded with only the head corner clipped to ~4pt
334
+ - Don't bury the `+` menu — gifticons, pay, schedule, location all live there and are core to KakaoTalk
335
+
336
+ ## 8. Responsive Behavior
337
+
338
+ ### Device Sizes
339
+ | Device | Width | Key Changes |
340
+ |--------|-------|-------------|
341
+ | iPhone SE (3rd gen) | 375pt | Bubble max-width 84%; avatar 40pt; gifticon card 172pt |
342
+ | iPhone 13/14/15 | 390pt | Standard layout |
343
+ | iPhone 15/16 Pro | 393pt | Dynamic Island accommodated; nav bar extends under island |
344
+ | iPhone 15/16 Pro Max | 430pt | Bubble max-width 80%; avatar 48pt; larger gifticon image |
345
+ | iPad (portrait) | 768pt | Split: Chats list (340pt) + thread (centered max 680pt) |
346
+ | iPad (landscape) | 1024pt+ | Persistent Friends/Chats list + thread; Shopping in a wider grid |
347
+
348
+ ### Dynamic Type
349
+ - Scales: message body, list names, status lines, screen titles
350
+ - Fixed: tab labels, unread marks, bubble times, tab badges (layout-sensitive in run grouping)
351
+ - Gifticon card image scales proportionally with thread width, not font scale
352
+
353
+ ### Orientation
354
+ - All screens rotate; iPad gains persistent split view (list + thread)
355
+ - Media/emoticon full-screen viewer supports rotation
356
+ - Composer + emoticon keyboard stay pinned above the keyboard in both orientations
357
+
358
+ ### Touch Targets
359
+ - Bubble (long-press for reactions/menu): full bubble, min 44pt tall
360
+ - Tab bar icons: 24pt glyph, 44pt hit
361
+ - `+` menu / emoticon button: 24pt glyph, 44pt hit
362
+ - Friend row: full 64pt row tappable
363
+ - Gifticon "Use" pill: min 36pt tall
364
+
365
+ ### Safe Area Handling
366
+ - Top: nav bars extend to the top safe area and under the Dynamic Island (content within safe area)
367
+ - Bottom: tab bar + composer respect the home indicator
368
+ - Keyboard: thread scrolls above the keyboard; composer + emoticon keyboard dock on it
369
+ - Sides: 12pt thread inset, 18pt list inset
370
+
371
+ ## 9. Agent Prompt Guide
372
+
373
+ ### Quick Color Reference
374
+ - Kakao Yellow: `#FEE500`
375
+ - Yellow pressed: `#E6CF00`
376
+ - Kakao Brown (text on yellow): `#3C1E1E`
377
+ - Canvas (light): `#FFFFFF`
378
+ - Canvas (dark): `#1A1A1A`
379
+ - Chat backdrop: `#B2C7DA` light / `#1E2A33` dark
380
+ - Inbound bubble: `#FFFFFF` light / `#2E2E2E` dark
381
+ - Outbound bubble: `#FEE500` (brown text)
382
+ - Text primary: `#191919` light / `#EDEDED` dark
383
+ - Text secondary: `#6A6A6A` light / `#9A9A9A` dark
384
+ - Unread mark: `#FEE500`
385
+ - Link blue: `#4B9BFF`
386
+ - Notification badge: `#FF3B30`
387
+ - Error red: `#F15E6C`
388
+
389
+ ### Example Component Prompts
390
+ - "Build the KakaoTalk Friends top section in SwiftUI: a 52pt nav row (title 'Friends' SF Pro Display 20pt weight 900, trailing search/add/settings outline icons 21pt `#6A6A6A`), then a my-profile banner — 52pt rounded-square avatar (16pt radius, yellow gradient `#FEE500`→`#E6CF00`), name SF Pro Text 17pt weight 700, status message 13pt `#6A6A6A` with emoji — then a 'Friends · N' section label SF Pro Text 12pt weight 700 `#6A6A6A`."
391
+
392
+ - "Create a KakaoTalk inbound message row: a 36pt rounded-square avatar (14pt radius) on the leading side aligned to the top of the run, then a column — sender name SF Pro Text 12pt weight 500 `rgba(255,255,255,0.78)` (on the dark `#1E2A33` thread), then bubbles. Inbound bubble: `#2E2E2E` (dark) fill, SF Pro Text 15pt weight 400 `#EDEDED`, 14pt corner radius with the top-leading corner squared to 4pt, 9pt vertical / 12pt horizontal padding, max-width 82%. The timestamp (10pt `rgba(255,255,255,0.5)`) sits to the trailing side of the bubble, bottom-aligned."
393
+
394
+ - "Build the KakaoTalk outbound bubble with its iconic unread mark: a Kakao-Yellow `#FEE500` bubble with `#3C1E1E` text SF Pro Text 15pt weight 500, 14pt radius with the top-trailing corner squared to 4pt, aligned trailing. On the **leading** side of the bubble (between it and the screen edge), bottom-aligned, render a small column: the unread count as a yellow `#FEE500` '1' SF Pro Text 11pt weight 700, and below it the timestamp 10pt `rgba(255,255,255,0.5)`. The mark fades in once delivered and counts down as recipients read."
395
+
396
+ - "Render a KakaoTalk gifticon card: a 188pt-wide rounded-16pt card (`#242424` dark, soft shadow), a ~120pt product-image band on a warm yellow gradient at top, then body — brand name 11pt `#9A9A9A`, product name 13pt weight 700 `#EDEDED` — and (recipient side) a pill 'Use / 사용하기' button 999pt radius that opens a barcode redeem screen."
397
+
398
+ - "Build the KakaoTalk composer: a bottom bar on canvas with a 0.5pt top divider. Layout: a `+` menu button (24pt outline glyph `#6A6A6A`) on the left, an empty pill text field in the center (38pt tall, `#2E2E2E` dark fill, 999pt radius, 16pt horizontal padding, NO placeholder text), and an emoticon-face button (24pt smiley `#6A6A6A`) on the right; a send glyph morphs in on the right when the field has text. The `+` opens an action sheet (album, camera, gifticon, pay/송금, location, schedule, voice)."
399
+
400
+ - "Create the KakaoTalk friend row: 64pt tall, leading 44pt rounded-square avatar (16pt radius), title = friend name SF Pro Text 15pt weight 600, subtitle = either a status message 13pt weight 400 `#6A6A6A` (1 line) OR a now-playing badge (music-note glyph 13pt + track title). Optional trailing gift/VIP/channel chip."
401
+
402
+ - "Build the KakaoTalk bottom tab bar: 5 tabs — Friends, Chats, Open, Shopping, More — 24pt icons, active = primary text color with a FILLED icon (no color tint), inactive = `#777777` stroked. A red `#FF3B30` unread badge pill (white 10pt weight 700) sits on the Chats icon. Labels SF Pro Text 10pt weight 500 always shown. Backdrop `rgba(26,26,26,0.96)` (dark) with blur + 0.5pt top divider."
403
+
404
+ ### Iteration Guide
405
+ 1. Outbound bubbles are Kakao Yellow `#FEE500` with Kakao Brown `#3C1E1E` text — never white/black text on yellow
406
+ 2. The unread count + timestamp dock to the bubble's INNER side (outside the bubble) — the yellow "N" is the #1 iconic element
407
+ 3. Avatars are rounded squares (≈16pt radius) everywhere — never circles
408
+ 4. The chat thread has a distinct backdrop: blue-gray light / `#1E2A33` dark — not plain white
409
+ 5. Inbound bubbles are white (light) / `#2E2E2E` (dark); the head corner is clipped to ~4pt, radius ≈14pt
410
+ 6. Kakao Friends emoticons are large bubble-less stickers; gifticons are rich product cards with barcode redeem
411
+ 7. Hangul renders in Apple SD Gothic Neo with generous (~1.35) line height; big titles go weight 900 (KakaoBig feel)
412
+ 8. Active tabs use the primary text color with a filled icon — no yellow tint on the tab bar
413
+ 9. Canvas is white light / `#1A1A1A` dark (warm, not pure black)
414
+ 10. The `+` composer menu holds the super-app: gifticon, pay/송금, schedule, location — don't bury it