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,412 @@
1
+ # Design System Inspiration of Bear (iOS)
2
+
3
+ ## 1. Visual Theme & Atmosphere
4
+
5
+ Bear's iOS app is a writer's instrument disguised as a design system. The whole product is built around one idea: *the prose is the interface*. Open a note and you see a calm canvas — pure white (`#FFFFFF`) in light, warm blue-charcoal (`#21252B`) in the default dark theme — a 24pt note title, then a flowing column of Markdown text that renders *live*. You type `# Heading` and the hash dims while the line grows bold; you type `**bold**` and the asterisks fade as the word thickens; you type `- [ ] task` and a tappable checkbox appears in place of the brackets. There are no panels, cards, borders or shadows around the writing. The editor is a single, uninterrupted text column with generous 22pt side margins and a comfortable 1.55 line height, tuned for long-form reading rhythm rather than dense UI.
6
+
7
+ The one piece of unmistakable Bear identity is the **#hashtag**. Bear has no folders — organization is entirely tag-driven. Type `#work/sprint` anywhere in a note and it becomes an inline, tappable, red-tinted token; nested tags (`#work/sprint`) build a hierarchical sidebar automatically. The hashtag *is* Bear's navigation model, and it is rendered in the brand's signature red (`#E0566F`) everywhere it appears — in the body text, in the tag sidebar, and as the section headers of the note list. The other signature moment is the **red→orange gradient** (`#E0566F → #FF8A65`): it is the app icon, the compose-note button, the completed-checkbox fill, the selection accent, and the only saturated color in the entire product. Bear deliberately has *one* accent — everything else is greyscale typography.
8
+
9
+ The structural model is three panes that collapse responsively: a **tag sidebar** (the hashtag tree + smart filters like Untagged, Todo, Today, Archive, Trash), a **note list** (title + 2-line preview + relative date), and the **editor** itself. On iPhone these are pushed-navigation screens; on iPad they sit side-by-side. Typography is user-switchable in settings across a curated set of faces — Bear ships its own *Avenir Next*-class sans for prose, a serif option for literary notes, and a monospace for code-forward writers. This guide maps those three roles to **Inter** (default sans), **Lora** (serif option), and **JetBrains Mono** (code blocks and mono theme) — all free, SIL OFL fonts that match Bear's reading-first hierarchy.
10
+
11
+ **Key Characteristics:**
12
+ - Pure white canvas (`#FFFFFF`) light / warm blue-charcoal (`#21252B`) dark — the prose is the interface, minimum chrome
13
+ - Live Markdown rendering — syntax markers (`#`, `**`, `- [ ]`) dim/disappear as styling applies, in-place, no preview pane
14
+ - Inline #hashtags as the *entire* organization model — no folders; nested tags build the sidebar tree automatically
15
+ - Red→orange gradient (`#E0566F → #FF8A65`) is the *single* brand accent — icon, compose FAB, checkbox fill, selection
16
+ - Three-pane responsive layout: tag sidebar → note list → editor (pushed nav on iPhone, side-by-side on iPad)
17
+ - User-switchable typography — sans (Inter) / serif (Lora) / mono (JetBrains Mono), applied globally
18
+ - Markdown checkboxes, quotes (orange left rule), fenced code blocks, inline code, links — all rendered live
19
+ - Multiple shipped themes (Charcoal, Red Graphite, Solarized, Dark Graphite…) — Charcoal `#21252B` is the default dark
20
+ - Note list rows: title 17pt semibold + 14pt 2-line preview + relative date, tag-colored section headers
21
+ - Bottom info bar in the editor: live word/character count + export, link, pin, info actions
22
+ - Minimal navigation chrome: back-chevron + 2–3 trailing glyphs, all in Bear Orange `#FF8A65`
23
+
24
+ ## 2. Color Palette & Roles
25
+
26
+ ### Primary (Interactive)
27
+ - **Bear Red** (`#E0566F`): The brand anchor — #hashtag text, note-list section headers, gradient start, destructive emphasis.
28
+ - **Bear Orange** (`#FF8A65`): Gradient end, all interactive glyphs (nav icons, info-bar actions), quote left-rule, link-secondary accents.
29
+ - **Bear Gradient** (`#E0566F → #FF8A65`, 135°): Compose-note button, completed-checkbox fill, app icon, selection highlight.
30
+ - **Bear Red Pressed** (`#C8485E`): Pressed state for red elements and gradient buttons (apply via 0.92 brightness).
31
+ - **Link Blue** (`#5AAFEF`): Hyperlinks and `[[wiki-links]]` — the only non-warm interactive color, kept for link legibility.
32
+
33
+ ### Canvas & Surfaces (Light Mode)
34
+ - **Canvas White** (`#FFFFFF`): Primary light editor canvas — paper.
35
+ - **Surface Gray** (`#F6F6F4`): Tag sidebar, note-list background, selected-row hover.
36
+ - **Surface Pressed** (`#ECECE8`): Pressed/selected note-list row.
37
+ - **Divider** (`#E6E6E2`): Hairline between note-list rows and editor info bar.
38
+
39
+ ### Canvas & Surfaces (Dark Mode — "Charcoal" default)
40
+ - **Charcoal Canvas** (`#21252B`): Primary dark canvas — Bear's signature warm blue-charcoal, NOT pure black.
41
+ - **Dark Surface 1** (`#282C34`): Tag sidebar, note list, code-block background, elevated surfaces.
42
+ - **Dark Surface 2** (`#2F343D`): Pressed rows, secondary chips.
43
+ - **Dark Divider** (`#353A42`): Hairline dividers and the info-bar top border.
44
+
45
+ ### Text
46
+ - **Text Primary Light** (`#2A2C33`): Primary body prose on white — warm near-black, NOT pure black.
47
+ - **Text Secondary Light** (`#6B7280`): Note preview, metadata, dimmed Markdown syntax markers.
48
+ - **Text Tertiary Light** (`#9AA0AB`): Disabled, very low-emphasis.
49
+ - **Text Primary Dark** (`#E8EAED`): Primary body prose on charcoal.
50
+ - **Text Secondary Dark** (`#9DA3AD`): Preview, metadata on dark.
51
+ - **Text Tertiary Dark** (`#6B7280`): Dimmed syntax markers, disabled (works both modes).
52
+
53
+ ### Tag / Highlight Accents
54
+ Bear renders different tag families and inline highlights in a small accent set. These appear as tag-chip text, highlight backgrounds, and note-list section labels.
55
+
56
+ | Role | Light Mode | Dark Mode |
57
+ |------|-----------|-----------|
58
+ | Tag Red (default) | `#E0566F` | `#E0566F` |
59
+ | Tag Blue | `#3F9AE0` | `#5AAFEF` |
60
+ | Tag Green | `#3FB873` | `#57C98B` |
61
+ | Tag Yellow | `#E0A92E` | `#F2C14E` |
62
+ | Tag Purple | `#9B6FE0` | `#B08CF0` |
63
+ | Highlight Yellow (bg) | `#FFF1B8` | `#4A431F` |
64
+
65
+ ### Semantic
66
+ - **Error Red** (`#F2545B`): Delete confirmation, sync-failure banner.
67
+ - **Success Green** (`#3FB873` / `#57C98B`): Sync-success toast, restored-from-trash confirmation.
68
+ - **Warning Orange** (`#FF8A65`): Conflict / unsynced-changes warning (reuses Bear Orange).
69
+ - **Selection Tint** (`#E0566F26`): ~15% red overlay on selected text in the editor.
70
+
71
+ ## 3. Typography Rules
72
+
73
+ ### Font Family
74
+ - **Default (Sans)**: `Inter` (by Rasmus Andersson, SIL OFL) — humanist UI sans standing in for Bear's prose face; superb at long-form reading sizes.
75
+ - **Serif Option**: `Lora` (Google Fonts, SIL OFL) — calligraphic transitional serif for literary notes and the serif theme.
76
+ - **Mono / Code**: `JetBrains Mono` (by JetBrains, SIL OFL) — code blocks, inline code, and the monospace theme.
77
+ - **Fallback Stack**: `-apple-system, BlinkMacSystemFont, 'SF Pro Text', 'Segoe UI', Roboto, Helvetica, Arial, sans-serif`
78
+ - **User-Switchable in Settings**: Sans (Inter) / Serif (Lora) / Mono (JetBrains Mono) — applied to *all* notes globally; code blocks always render mono regardless.
79
+
80
+ ### Hierarchy
81
+
82
+ | Role | Font | Size | Weight | Line Height | Letter Spacing | Notes |
83
+ |------|------|------|--------|-------------|----------------|-------|
84
+ | App / Large Title | Inter | 32pt | 800 | 1.2 | -0.6pt | Settings / large nav titles |
85
+ | Note Title (`# `) | Inter | 24pt | 700 | 1.25 | -0.3pt | First line of every note; H1 |
86
+ | Heading 2 (`## `) | Inter | 19pt | 700 | 1.3 | -0.2pt | In-note section heading |
87
+ | Heading 3 (`### `) | Inter | 17pt | 700 | 1.35 | -0.1pt | Sub-section |
88
+ | Subhead | Inter | 17pt | 600 | 1.35 | 0pt | Note-list row title |
89
+ | Body | Inter | 16pt | 400 | 1.55 | 0pt | Paragraph prose default |
90
+ | Body (Dense) | Inter | 15pt | 400 | 1.5 | 0pt | Compact line-spacing setting |
91
+ | Quote (`> `) | Lora | 17pt | 400 italic | 1.5 | 0pt | Blockquote — orange left rule |
92
+ | Preview | Inter | 14pt | 400 | 1.4 | 0pt | Note-list 2-line preview |
93
+ | Meta | Inter | 14pt | 400 | 1.4 | 0pt | Edited date · word count |
94
+ | Tag / #hashtag | Inter | 14pt | 500 | 1.4 | 0pt | Inline tag token + sidebar |
95
+ | Code Inline | JetBrains Mono | 14pt | 400 | 1.4 | 0pt | `inline code`, `#282C34` chip |
96
+ | Code Block | JetBrains Mono | 13pt | 400 | 1.55 | 0pt | Fenced ``` blocks |
97
+ | Caption | Inter | 12pt | 500 | 1.3 | 0.1pt | Info-bar word/char count |
98
+ | Tab / Filter Label | Inter | 13pt | 500 | 1.3 | 0.1pt | Sidebar smart-filter rows |
99
+
100
+ ### Principles
101
+ - **Reading rhythm, not UI rhythm**: sizes follow editorial convention (title → H2 → H3 → body → quote), not product chrome. Body line height is a generous 1.55.
102
+ - **Weight concentrated at 400 / 500 / 600 / 700 / 800**: regular prose, medium for tags, semibold for list titles, bold for headings. No thin, no black.
103
+ - **Live Markdown is the rule**: never show a separate preview. Render styling in-place; dim the syntax marker (`#`, `**`, `- [ ]`) to `#6B7280` rather than hiding the structure entirely.
104
+ - **User controls family**: respect the chosen face (Sans/Serif/Mono) globally; only fenced code is always JetBrains Mono.
105
+ - **Monospace is for code only** (and the mono theme): inline code and code blocks get JetBrains Mono; nothing else does in the default theme.
106
+ - **Dynamic Type first-class**: title, headings, body, quote, preview, meta scale; tab labels, info-bar caption, tag tokens stay fixed.
107
+
108
+ ## 4. Component Stylings
109
+
110
+ ### Buttons
111
+
112
+ **Primary Button (New Note / compose FAB)**
113
+ - Shape: rounded rectangle, 12pt corner radius (the FAB is a 56pt circle)
114
+ - Background: linear gradient `#E0566F → #FF8A65` at 135°
115
+ - Text/Icon: `#FFFFFF`
116
+ - Padding: 13pt vertical, 26pt horizontal
117
+ - Font: Inter 16pt weight 600
118
+ - Pressed: brightness 0.92 + scale 0.98
119
+ - The compose FAB casts the only meaningful shadow in the app: `rgba(224,86,111,0.35) 0 6px 16px`
120
+
121
+ **Secondary / Outline Button (Export · Share)**
122
+ - Background: transparent
123
+ - Text/Icon: `#FF8A65` (Bear Orange)
124
+ - Border: 1pt `#FF8A65`
125
+ - Padding: 11pt vertical, 20pt horizontal
126
+ - Corner radius: 12pt
127
+ - Font: Inter 15pt weight 500
128
+ - Pressed: background `#FF8A6514` (8% orange)
129
+
130
+ **Tag Pill Button (Add Tag)**
131
+ - Background: `#2F343D` dark / `#F6F6F4` light
132
+ - Text: `#E0566F` (Bear Red)
133
+ - Border: 1pt `#353A42` / `#E6E6E2`
134
+ - Corner radius: 999pt (pill)
135
+ - Padding: 8pt vertical, 14pt horizontal
136
+ - Font: Inter 14pt weight 500
137
+
138
+ **Text Button (Show all notes / Cancel)**
139
+ - Font: Inter 15pt weight 500
140
+ - Color: `#FF8A65`
141
+ - No underline, no background
142
+ - Pressed: opacity 0.6
143
+
144
+ **Icon Button (nav + info-bar glyphs)**
145
+ - 20pt glyph in a 44pt hit area
146
+ - Color: `#FF8A65` (Bear Orange) — every interactive glyph in the app is orange
147
+ - Pressed: opacity 0.5
148
+
149
+ ### Core Atoms
150
+
151
+ **#hashtag Token (inline + sidebar)**
152
+ - Inline in prose: text-only, no background, color `#E0566F`, Inter 14pt w500 — flows with the line
153
+ - Sidebar tag row: 36pt tall, leading 16pt tag glyph, label Inter 14pt w500, nested children indent 18pt with a disclosure chevron
154
+ - Active tag row: `#2F343D` background, label brightens
155
+ - Tag chip variant (filter bar): pill, 6pt/12pt padding, tinted background at ~14% of the tag color
156
+
157
+ **Markdown Checkbox (`- [ ]` / `- [x]`)**
158
+ - Box: 19pt, 5pt corner radius
159
+ - Unchecked: 2pt border `#6B7280`, transparent fill
160
+ - Checked: gradient `#E0566F → #FF8A65` fill, white 3.4-weight checkmark, no border
161
+ - Checked label: `#6B7280` with strike-through
162
+ - Tap toggles in place with a 150ms ease + soft haptic
163
+
164
+ **Quote Block (`> `)**
165
+ - Left rule: 3pt solid `#FF8A65` (Bear Orange)
166
+ - Padding: 2pt vertical, 14pt left
167
+ - Font: Lora 17pt w400 *italic*, color `#9DA3AD` (secondary)
168
+ - No background, no right border
169
+
170
+ **Inline Code (`` `code` ``)**
171
+ - Background: `#282C34` dark / `#F0F0EC` light
172
+ - Padding: 2pt vertical, 5pt horizontal
173
+ - Corner radius: 5pt
174
+ - Font: JetBrains Mono 14pt w400, color `#E8EAED`
175
+
176
+ **Code Block (fenced ```)**
177
+ - Background: `#282C34` dark / `#F6F6F4` light
178
+ - Padding: 14pt all
179
+ - Corner radius: 8pt
180
+ - Font: JetBrains Mono 13pt, line height 1.55
181
+ - Optional language label top-right `#6B7280` 12pt
182
+ - Lightweight syntax tint: keywords `#FF8A65`, strings `#57C98B`
183
+
184
+ **Link (`[text](url)` / `[[wiki]]`)**
185
+ - Color: `#5AAFEF`, underlined 1pt
186
+ - Font: inherits body (Inter 16pt w400)
187
+ - `[[wiki-links]]` get the same blue, no brackets shown
188
+
189
+ ### Navigation
190
+
191
+ **Editor Top Nav**
192
+ - Height: 44pt + safe area
193
+ - Leading: back-chevron + "Notes" label, Inter 15pt w500, `#FF8A65`
194
+ - Trailing: 2–3 glyphs (info / format / more), 19pt, `#FF8A65`, 20pt gap
195
+ - No title in the bar — the note's own `#` title is the title; nav is transparent over canvas
196
+
197
+ **Tag Sidebar (left pane / pushed screen)**
198
+ - Width: 280pt (full screen on iPhone as a pushed screen)
199
+ - Background: `#282C34` dark / `#F6F6F4` light
200
+ - Top: smart filters — Notes, Untagged, Todo, Today, Locked, Archive, Trash — each a 40pt row with leading glyph
201
+ - Below: the #hashtag tree; each tag row 36pt, nested indent 18pt with disclosure chevron
202
+ - Active row: `#2F343D` background; tag glyphs tinted `#E0566F`
203
+
204
+ **Note List (middle pane)**
205
+ - Each row: ~84pt tall, 16pt insets
206
+ - Title: Inter 17pt w600 `#E8EAED`
207
+ - Preview: Inter 14pt w400 `#9DA3AD`, 2 lines, truncated
208
+ - Trailing: relative date `#6B7280` 13pt
209
+ - Selected row: `#2F343D` background, 3pt leading accent rule in tag color
210
+ - Section headers (when grouped by tag): the tag name in its accent color, Inter 13pt w600 uppercase
211
+
212
+ **Bottom Info Bar (editor)**
213
+ - Height: 60pt + safe area
214
+ - Background: `#282C34` at 85% + blur, 0.5pt top border `#353A42`
215
+ - Leading: live "248 words · 1,492 chars" Inter 12pt `#6B7280`
216
+ - Trailing: action glyphs (table, preview, export, info) 20pt `#FF8A65`, 22pt gap
217
+
218
+ ### Input Fields
219
+
220
+ **Search Bar (note list / sidebar)**
221
+ - Height: 40pt
222
+ - Background: `#2F343D` dark / `#ECECE8` light
223
+ - Corner radius: 10pt
224
+ - Leading magnifier 16pt `#6B7280`
225
+ - Placeholder "Search notes" Inter 14pt `#6B7280`
226
+ - Focus: 1pt `#FF8A65` border
227
+
228
+ **Title / Body Editor Field**
229
+ - No box, no border, no background — pure text on canvas
230
+ - Title: Inter 24pt w700; placeholder "Title" `#6B7280`
231
+ - Body: Inter 16pt w400, 22pt side insets, 1.55 line height
232
+ - Markdown renders live as typed; the keyboard accessory row holds formatting shortcuts (#, **, `- [ ]`, `>`, ```, link)
233
+
234
+ ### Distinctive Components
235
+
236
+ **Live Markdown Renderer**
237
+ - The signature behavior: as the user types Markdown, syntax markers fade to `#6B7280` and styling applies in-place — no preview toggle. `# ` → 24pt bold; `**x**` → bold with dimmed asterisks; `- [ ]` → tappable checkbox; `> ` → orange-ruled italic; ``` → mono code block.
238
+
239
+ **#hashtag Organization**
240
+ - Typing `#tag` mid-prose creates a live, tappable red token. `#parent/child` auto-creates a nested sidebar branch. There are *no folders* — the tag tree is the whole filing system. Tapping a tag filters the note list to that tag.
241
+
242
+ **Compose FAB**
243
+ - 56pt circle, gradient `#E0566F → #FF8A65`, white `+` glyph, bottom-trailing, shadow `rgba(224,86,111,0.35) 0 6px 16px` — the one elevated element in the app.
244
+
245
+ **Theme Engine**
246
+ - Bear ships multiple full themes (Charcoal, Red Graphite, Dark Graphite, Solarized, Dracula…). Each theme retripes canvas + surfaces + syntax tints; the red→orange brand gradient persists across all of them as the constant identity.
247
+
248
+ **Tag-Colored Section Headers**
249
+ - When the note list is grouped, each group header is the tag name rendered in that tag's accent color (default `#E0566F`) — the only place color enters the list.
250
+
251
+ **Export Sheet**
252
+ - Bottom sheet, 12pt top corners, lists export formats (PDF, Markdown, HTML, DOCX, JPG, TXT). Each row 52pt with leading format glyph; primary "Export" button uses the brand gradient.
253
+
254
+ ## 5. Layout Principles
255
+
256
+ ### Spacing System
257
+ - Base unit: 4pt
258
+ - Scale: 4, 8, 12, 16, 18, 22, 24, 32, 40, 48, 64
259
+ - Editor side inset: 22pt (wider than typical UI — reading measure)
260
+ - Paragraph vertical gap: 16pt; before headings: 20pt
261
+ - Note-list row inset: 16pt; row height ~84pt
262
+
263
+ ### Grid & Container
264
+ - iPhone: single pushed pane at a time (sidebar → list → editor), full width, 22pt editor inset
265
+ - iPad portrait: 2-pane (list 320pt + editor)
266
+ - iPad landscape: 3-pane (sidebar 280pt + list 320pt + editor flexible, max measure ~720pt)
267
+ - Editor text column caps reading measure on wide screens; never full-bleed text on iPad
268
+
269
+ ### Whitespace Philosophy
270
+ - **Prose breathes**: 1.55 body line height, 22pt side margins, 16pt paragraph gaps — tuned for reading sessions, not screen density
271
+ - **Chrome recedes**: transparent nav, no card borders around content, a single elevated FAB
272
+ - **One accent**: color appears only on hashtags, the FAB, checkboxes and selection — everything else is greyscale type
273
+ - **Code stands apart**: code blocks get a filled surface + 14pt padding so they read as a distinct zone without borders
274
+
275
+ ### Border Radius Scale
276
+ - Square (0pt): dividers, full-bleed nothing (Bear has no hero images)
277
+ - Subtle (5pt): inline code chip, checkbox
278
+ - Standard (8pt): code blocks, search bar (≈10pt)
279
+ - Comfortable (12pt): buttons, export sheet rows
280
+ - Large (22pt): bottom-sheet top corners
281
+ - Pill (500pt): tag-pill buttons, filter chips
282
+ - Circle (50%): compose FAB, avatars
283
+
284
+ ## 6. Depth & Elevation
285
+
286
+ Bear is almost entirely flat — depth is reserved for true overlays and the one FAB.
287
+
288
+ | Level | Treatment | Use |
289
+ |-------|-----------|-----|
290
+ | Flat (Level 0) | No shadow | Editor canvas, prose blocks, sidebar/list rows, code blocks |
291
+ | Accent FAB | `rgba(224,86,111,0.35) 0 6px 16px` | Compose-note floating button only |
292
+ | Floating (Level 1) | `rgba(0,0,0,0.18) 0 4px 16px` | Format popover, tag autocomplete, more-menu |
293
+ | Sheet (Level 2) | `rgba(0,0,0,0.28) 0 -6px 28px` | Export sheet, theme picker, share sheet |
294
+ | Modal Overlay | `rgba(0,0,0,0.45)` | Dim behind sheets and the lock screen |
295
+
296
+ **Shadow Philosophy**: shadows are a "this floats, tap outside to dismiss" signal, not a style. The compose FAB is the single exception — it gets a tinted red glow to read as the primary action. On dark themes shadows nearly vanish, so floating panels add a 1pt `#353A42` border as the secondary elevation cue.
297
+
298
+ ### Motion
299
+ - **Markdown render**: styling applies instantly on keystroke; the syntax-marker fade is a 120ms opacity transition (marker → `#6B7280`), never a layout jump
300
+ - **Checkbox toggle**: fill cross-fades to gradient over 150ms ease + soft haptic; label strike-through draws left→right in 150ms
301
+ - **Tag tap → filter**: note list cross-fades (200ms) to the filtered set; pushed screens use the iOS native 300ms horizontal slide
302
+ - **Sidebar / list / editor**: standard iOS push (300ms) on iPhone; on iPad pane changes cross-fade content (200ms), panes don't move
303
+ - **Compose FAB**: tap scales 0.92 then opens the new note with a 280ms ease-out push; FAB fades out during transition
304
+ - **Export / theme sheet**: slides up 300ms ease-out; dim fades in parallel
305
+ - **Disclosure chevron**: rotates 90° in 150ms when expanding a nested tag branch; children slide down height 0→auto in 200ms ease-out
306
+ - **Haptic feedback**: soft impact on checkbox toggle, tag tap, FAB press, theme switch; success haptic on export complete
307
+
308
+ ## 7. Do's and Don'ts
309
+
310
+ ### Do
311
+ - Use pure white (`#FFFFFF`) light / warm charcoal (`#21252B`) dark — Bear's canvas is calm, never pure black
312
+ - Render Markdown *live and in-place* — dim the syntax marker to `#6B7280`, never hide structure or show a preview pane
313
+ - Make #hashtags inline red (`#E0566F`) tappable tokens — they are the entire organization model; there are no folders
314
+ - Keep the red→orange gradient (`#E0566F → #FF8A65`) as the *only* accent — icon, FAB, checkbox, selection
315
+ - Tint every interactive glyph Bear Orange (`#FF8A65`) — nav, info-bar, list affordances
316
+ - Give prose room: 22pt side insets, 1.55 line height, 16pt paragraph gaps
317
+ - Style quotes with a 3pt orange left rule + Lora italic — no background
318
+ - Respect the user's chosen type family (Sans/Serif/Mono) globally; only code is always JetBrains Mono
319
+ - Use the bottom info bar for live word/char count + export/link/pin actions
320
+ - Keep the compose FAB as the single elevated element, with its tinted red glow
321
+
322
+ ### Don't
323
+ - Don't add a separate Markdown preview screen — live in-place rendering is the signature
324
+ - Don't introduce folders or a second accent color — tags + the single gradient are the brand
325
+ - Don't box prose in cards, borders or shadows — the editor is one uninterrupted column
326
+ - Don't use pure black (`#000000`) for text or canvas — warm `#2A2C33` text / `#21252B` canvas
327
+ - Don't tint nav/info glyphs anything but Bear Orange — color discipline is the identity
328
+ - Don't hard-code Inter — users can switch to serif (Lora) or mono (JetBrains Mono)
329
+ - Don't render hashtags as plain text or as chips inside prose — inline red token, no background, flows with the line
330
+ - Don't animate aggressively — motion is quiet (120–300ms ease-out); the marker fade never causes a layout jump
331
+ - Don't put shadows on content blocks — only the FAB and true overlays get elevation
332
+ - Don't crowd the line — Bear's wide margins and tall leading are deliberate reading ergonomics
333
+ - Don't bold body prose by default — body is 400; bold is bold
334
+
335
+ ## 8. Responsive Behavior
336
+
337
+ ### Device Sizes
338
+ | Device | Width | Key Changes |
339
+ |--------|-------|-------------|
340
+ | iPhone SE (3rd gen) | 375pt | Single pushed pane; editor inset 18pt; FAB 52pt |
341
+ | iPhone 13/14/15 | 390pt | Standard single-pane push; editor inset 22pt |
342
+ | iPhone 15/16 Pro | 393pt | Dynamic Island accommodated by transparent top nav |
343
+ | iPhone 15/16 Pro Max | 430pt | Editor inset 24pt; slightly larger reading measure |
344
+ | iPad (portrait) | 768pt | 2-pane: note list 320pt + editor (measure-capped) |
345
+ | iPad (landscape) | 1024pt+ | 3-pane: tag sidebar 280pt + list 320pt + editor (max measure ~720pt) |
346
+
347
+ ### Dynamic Type
348
+ - Note title, headings, body, quote, preview, meta: full scale
349
+ - Tag tokens, info-bar caption (12pt), sidebar filter labels, tab labels: FIXED (layout-sensitive)
350
+ - Code blocks: scale but stay JetBrains Mono
351
+
352
+ ### Orientation
353
+ - All screens rotate
354
+ - iPad gains a pane on landscape (2-pane → 3-pane)
355
+ - Editor reading measure re-caps on width change; text reflows, side insets hold
356
+
357
+ ### Touch Targets
358
+ - Nav / info-bar glyph: 20pt glyph, 44pt hit
359
+ - Checkbox: 19pt box, 44pt hit row
360
+ - Sidebar tag row: 36pt tall, full-row tap
361
+ - Note-list row: ~84pt, full-row tap
362
+ - Compose FAB: 56pt (52pt on SE)
363
+ - Disclosure chevron: 16pt glyph, 44pt hit
364
+
365
+ ### Safe Area Handling
366
+ - Top: transparent nav respects safe area + Dynamic Island
367
+ - Bottom: info bar + home indicator respected; FAB sits above the home indicator
368
+ - Keyboard: editor scrolls above keyboard; the formatting accessory row docks to the keyboard top
369
+ - Sides: 22pt editor inset (18pt on SE); list rows 16pt
370
+
371
+ ## 9. Agent Prompt Guide
372
+
373
+ ### Quick Color Reference
374
+ - Canvas (light): `#FFFFFF`
375
+ - Canvas (dark / Charcoal): `#21252B`
376
+ - Surface 1 (dark): `#282C34`
377
+ - Divider (dark): `#353A42`
378
+ - Text primary: `#2A2C33` light / `#E8EAED` dark
379
+ - Text secondary / dimmed markers: `#6B7280` / `#9DA3AD`
380
+ - Bear Red (hashtags): `#E0566F`
381
+ - Bear Orange (glyphs / quote rule): `#FF8A65`
382
+ - Brand gradient: `#E0566F → #FF8A65` (135°)
383
+ - Link blue: `#5AAFEF`
384
+ - Tag green: `#57C98B` · Tag blue: `#5AAFEF` · Tag yellow: `#F2C14E`
385
+ - Error red: `#F2545B`
386
+ - Code block bg: `#282C34` (dark) / `#F6F6F4` (light)
387
+ - Selection tint: `#E0566F26`
388
+
389
+ ### Example Component Prompts
390
+ - "Build the Bear note editor in SwiftUI: transparent top nav with a back-chevron + 'Notes' label in Bear Orange `#FF8A65` 15pt w500, plus 2 trailing 19pt orange glyphs. Canvas `#21252B`. Body is a single text column at 22pt side insets: the first line is the note title in Inter 24pt w700 `#E8EAED`; below, prose in Inter 16pt w400 line-height 1.55. Render Markdown live — `# ` makes a 24pt bold heading and dims the `#` to `#6B7280`; `- [ ]` becomes a 19pt 5pt-radius checkbox. Bottom info bar `#282C34` @85% blur, 0.5pt `#353A42` top border, leading 'N words · M chars' in Inter 12pt `#6B7280`, trailing 4 orange 20pt action glyphs."
391
+
392
+ - "Create a Bear #hashtag token: inline in the text run, no background, color `#E0566F`, Inter 14pt w500, tappable, flows with the line. Nested form `#parent/child` registers a sidebar branch. On tap, filter the note list to that tag with a 200ms cross-fade."
393
+
394
+ - "Render a Bear Markdown checkbox row: 19pt box with 5pt corner radius. Unchecked = 2pt border `#6B7280`, transparent fill. Checked = linear-gradient `#E0566F → #FF8A65` fill with a white 3.4-weight checkmark, no border, and the label in `#6B7280` with strike-through. Tap toggles in place over 150ms ease with a soft haptic; the strike-through draws left→right in 150ms."
395
+
396
+ - "Build the Bear tag sidebar: 280pt wide, `#282C34` background. Top section = smart filters (Notes, Untagged, Todo, Today, Archive, Trash) as 40pt rows with leading 18pt glyphs. Below = the #hashtag tree; each tag row 36pt with a leading 16pt tag glyph tinted `#E0566F`, label Inter 14pt w500, nested children indented 18pt behind a disclosure chevron that rotates 90° over 150ms. Active row: `#2F343D` background."
397
+
398
+ - "Create the Bear compose FAB: 56pt circle, linear-gradient `#E0566F → #FF8A65` at 135°, white `+` glyph, bottom-trailing with 16pt margins, shadow `rgba(224,86,111,0.35) 0 6px 16px`. Tap scales to 0.92 then opens a new blank note with a 280ms ease-out push."
399
+
400
+ - "Build a Bear quote block: a 3pt solid `#FF8A65` left rule, 14pt left padding, no background, text in Lora 17pt w400 italic `#9DA3AD`. Place a fenced code block below it: `#282C34` background, 8pt corner radius, 14pt padding, JetBrains Mono 13pt line-height 1.55, keywords tinted `#FF8A65` and strings `#57C98B`, optional language label top-right in `#6B7280` 12pt."
401
+
402
+ ### Iteration Guide
403
+ 1. Canvas is white (`#FFFFFF`) light / warm charcoal `#21252B` dark — NOT pure black, NOT off-white
404
+ 2. Text primary is warm `#2A2C33` / `#E8EAED` — body at 400, headings at 700; reading line height 1.55
405
+ 3. The red→orange gradient `#E0566F → #FF8A65` is the *only* accent — icon, FAB, checkbox, selection; everything else greyscale
406
+ 4. Every interactive glyph is Bear Orange `#FF8A65` — nav, info-bar, affordances; never another tint
407
+ 5. Markdown renders live and in-place — dim markers to `#6B7280`, no preview pane ever
408
+ 6. #hashtags are inline red (`#E0566F`) tappable tokens and the *entire* filing system — no folders
409
+ 7. Prose breathes: 22pt side insets, 1.55 line height, 16pt paragraph gaps — reading ergonomics, not density
410
+ 8. Quotes = 3pt orange left rule + Lora italic; code = filled `#282C34` surface + JetBrains Mono, no borders
411
+ 9. Typography is user-switchable (Inter / Lora / JetBrains Mono) globally — only code is always mono
412
+ 10. One elevated element: the compose FAB with its tinted red glow; content blocks are flat, motion is quiet (120–300ms)