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,506 @@
1
+ # Design System Inspiration of Notion (iOS)
2
+
3
+ ## 1. Visual Theme & Atmosphere
4
+
5
+ Notion's iOS app is an almost-invisible design system. The canvas is pure white (`#FFFFFF`) with barely any chrome, because Notion's philosophy is that the *content you write* is the interface. Open a page and you'll see a hero cover image (full-bleed, 120-200pt tall), a large emoji sitting just above the title, the title itself in Inter 32pt bold, and then a flow of "blocks" — paragraphs, headings, toggles, callouts, images — with no obvious framing, borders, or cards. This radical minimalism is deliberate: Notion is a blank canvas that takes on the shape of whatever the user is building (a journal, a wiki, a project tracker, a meeting note) and the UI is engineered to recede until it looks like a well-typed document.
6
+
7
+ The one piece of chrome that does appear is the **block handle** — a tiny 8pt dot-grid icon (⋮⋮⋮) and a `+` button that materialize on the left edge of a block when you hover (desktop) or long-press (mobile). These handles are the "interface" of Notion; they let you drag-reorder, duplicate, and insert blocks. The other signature UI moment is the **`/` command palette** — typing `/` at the start of a line opens a floating menu of block types (Heading, Toggle, Image, Callout, Database, Code, etc.) that is the primary creation gesture. Everything built in Notion flows through these two affordances.
8
+
9
+ The color system is muted, near-greyscale pastels. Page backgrounds can be set to nine colors (default white, gray, brown, orange, yellow, green, blue, purple, pink, red) — all desaturated and nearly paper-like (`#F1F1EF` gray, `#FAEBDD` orange, `#FBF3DB` yellow, `#EDF3EC` green, `#E7F3F8` blue, `#F6F3F9` purple, `#FAF1F5` pink, `#FDEBEC` red). These same hues (at stronger saturation) appear as callout block backgrounds, highlight chips on inline text, database tag colors, and cover images. The app has no primary CTA color — action is signaled by typography weight and position, not by a "Spotify Green" or "Gmail Red". The closest thing to an accent is links (`#2E75CC`) and the subtle Notion Black (`#000000`) on the primary "New page" button.
10
+
11
+ Typography is user-switchable in settings: **Inter** (default sans, the modern workhorse), **Lora** (optional serif, for more literary notes), or **IBM Plex Mono** (optional mono, for code/technical users). On iOS it falls back to SF Pro when the user's chosen face isn't bundled. Hierarchy is document-like: title at 32pt, heading 1 at 24pt, heading 2 at 20pt, heading 3 at 16pt, body at 16pt. All headings are weight 700 bold; body at 400. The type system prioritizes reading rhythm over brand expression — it reads like a well-designed Medium article, which is exactly what Notion wants.
12
+
13
+ **Key Characteristics:**
14
+ - Pure white canvas (`#FFFFFF`) light / dark charcoal (`#191919`) dark — minimum chrome, maximum content
15
+ - Block-based editor — every paragraph, heading, toggle, image is a draggable/replaceable "block"
16
+ - Block handles (⋮⋮⋮ + `+`) appear on hover/long-press as the primary interface affordance
17
+ - `/` command palette — type `/` to insert any block type — the core creation gesture
18
+ - Emoji as page icon + full-bleed cover image — the page "hero" is user-chosen, not designer-set
19
+ - Nine muted pastel page backgrounds + callout/highlight colors (Gray / Brown / Orange / Yellow / Green / Blue / Purple / Pink / Red)
20
+ - Inter / Lora / IBM Plex Mono — user-switchable typography in settings
21
+ - Toggle blocks — collapsible sections with ▸/▾ triangle affordance
22
+ - Database views: Table, Board (Kanban), Timeline, Calendar, Gallery, List — each a different rendering of the same block-row data
23
+ - Mentions (@-person or @-page) as inline interactive chips with avatar
24
+ - Minimal navigation chrome: slide-in sidebar from left, bottom tab strip with Home / Search / Updates / Settings
25
+
26
+ ## 2. Color Palette & Roles
27
+
28
+ ### Primary (Interactive)
29
+ - **Notion Black** (`#000000`): Primary interactive color — "New page" button background, primary CTAs.
30
+ - **Notion Black Pressed** (`#1A1A1A`): Pressed state.
31
+ - **Link Blue** (`#2E75CC`): Hyperlinks, @-mentions, selected text.
32
+
33
+ ### Canvas & Surfaces (Light Mode)
34
+ - **Canvas White** (`#FFFFFF`): Primary light canvas.
35
+ - **Surface Gray** (`#F7F6F3`): Sidebar background, subtle elevated surfaces (e.g., "Recently visited" chips), hovered rows.
36
+ - **Surface Pressed** (`#EFEEE9`): Pressed/selected rows.
37
+ - **Divider** (`#EAECEC`): Hairline dividers between database rows and between page sections.
38
+ - **Selection Highlight** (`#2E75CC33`): 20% blue overlay on selected text.
39
+
40
+ ### Canvas & Surfaces (Dark Mode)
41
+ - **Dark Canvas** (`#191919`): Primary dark canvas — Notion's signature dark, NOT pure black.
42
+ - **Dark Surface 1** (`#202020`): Sidebar, elevated surfaces.
43
+ - **Dark Surface 2** (`#2F2F2F`): Hovered rows, card backgrounds.
44
+ - **Dark Divider** (`#373737`): Hairline dividers.
45
+ - **Dark Link Blue** (`#529CCA`): Link color shifts lighter for contrast.
46
+
47
+ ### Text
48
+ - **Text Primary Light** (`#37352F`): Primary body text — a warm dark gray, NOT pure black.
49
+ - **Text Secondary Light** (`#9B9A97`): Placeholder, metadata, block handle icons.
50
+ - **Text Tertiary Light** (`#C3C2BF`): Disabled, very low-emphasis.
51
+ - **Text Primary Dark** (`#E6E6E4`): Primary body on dark.
52
+ - **Text Secondary Dark** (`#9B9A97`): Same secondary on both modes (works for both).
53
+
54
+ ### Page Background Colors (9 Muted Pastels, Light)
55
+ These are the page-background options available to users — also used as callout/highlight backgrounds and database tag chip fills.
56
+
57
+ | Role | Light Mode | Dark Mode |
58
+ |------|-----------|-----------|
59
+ | Default | `#FFFFFF` | `#191919` |
60
+ | Gray | `#F1F1EF` | `#2F2F2F` |
61
+ | Brown | `#F4EEEE` | `#4A3228` |
62
+ | Orange | `#FAEBDD` | `#5C3B23` |
63
+ | Yellow | `#FBF3DB` | `#564328` |
64
+ | Green | `#EDF3EC` | `#243D30` |
65
+ | Blue | `#E7F3F8` | `#143A4E` |
66
+ | Purple | `#F6F3F9` | `#3C2B4A` |
67
+ | Pink | `#FAF1F5` | `#4B2740` |
68
+ | Red | `#FDEBEC` | `#512E29` |
69
+
70
+ ### Callout / Highlight Text Colors (9 Saturated Pastels)
71
+ For inline text highlights and callout text.
72
+
73
+ | Role | Color |
74
+ |------|-------|
75
+ | Gray Text | `#9B9A97` |
76
+ | Brown Text | `#64473A` |
77
+ | Orange Text | `#D9730D` |
78
+ | Yellow Text | `#DFAB01` |
79
+ | Green Text | `#0F7B6C` |
80
+ | Blue Text | `#0B6E99` |
81
+ | Purple Text | `#6940A5` |
82
+ | Pink Text | `#AD1A72` |
83
+ | Red Text | `#E03E3E` |
84
+
85
+ ### Semantic
86
+ - **Error Red** (`#E03E3E`): Inline error toast, delete confirmation.
87
+ - **Success Green** (`#0F7B6C`): Save-success toast.
88
+ - **Warning Orange** (`#D9730D`): Warning callouts.
89
+ - **Mention Background** (`#2E75CC1A`): 10% blue behind @-mentions inline.
90
+
91
+ ## 3. Typography Rules
92
+
93
+ ### Font Family
94
+ - **Default**: `Inter` (by Rasmus Andersson, 2020, SIL OFL licensed) — geometric humanist sans optimized for UI at small sizes, excellent hinting, extensive weight range.
95
+ - **Serif Option**: `Lora` (Google Fonts, SIL OFL) — transitional serif with calligraphic features, used for literary notes.
96
+ - **Mono Option**: `IBM Plex Mono` (by Bold Monday for IBM, SIL OFL) — technical mono face used for code blocks and tech-heavy note-takers.
97
+ - **Fallback Stack**: `-apple-system, BlinkMacSystemFont, 'SF Pro Text', 'Segoe UI', Roboto, Helvetica, Arial, sans-serif`
98
+ - **User-Switchable in Settings**: Default (Inter), Serif (Lora), Mono (IBM Plex Mono) — per user setting, applied to all pages
99
+
100
+ ### Hierarchy
101
+
102
+ | Role | Font | Size | Weight | Line Height | Letter Spacing | Notes |
103
+ |------|------|------|--------|-------------|----------------|-------|
104
+ | Page Title | Inter | 32pt | 700 | 1.2 | -0.5pt | Below page icon & cover, bold hero |
105
+ | Heading 1 (`/h1`) | Inter | 24pt | 700 | 1.25 | -0.3pt | Top-level section heading in page |
106
+ | Heading 2 (`/h2`) | Inter | 20pt | 700 | 1.3 | -0.2pt | Sub-section |
107
+ | Heading 3 (`/h3`) | Inter | 16pt | 700 | 1.4 | -0.1pt | Sub-sub-section |
108
+ | Body | Inter | 16pt | 400 | 1.5 | 0pt | Paragraph block default |
109
+ | Body (Dense) | Inter | 15pt | 400 | 1.4 | 0pt | Compact mode (user setting) |
110
+ | Code Inline | IBM Plex Mono | 14pt | 400 | 1.4 | 0pt | `inline code` highlighted with `#F7F6F3` bg |
111
+ | Code Block | IBM Plex Mono | 13pt | 400 | 1.5 | 0pt | Code blocks in fenced block |
112
+ | Caption | Inter | 14pt | 400 | 1.4 | 0pt | Image captions, small text |
113
+ | Quote | Lora | 17pt | 400 | 1.5 | 0pt | Italic quote block |
114
+ | Button | Inter | 14pt | 600 | 1.0 | 0pt | Primary/secondary buttons |
115
+ | Link | Inter | 16pt | 400 | 1.5 | 0pt | Inline link — underlined `#2E75CC` |
116
+ | Mention | Inter | 16pt | 500 | 1.5 | 0pt | @-chip text |
117
+ | Block Handle | Inter | 10pt | 400 | 1.0 | 0pt | ⋮⋮⋮ and + icons (actually icons, but adjacent caption uses this) |
118
+ | Placeholder | Inter | 16pt | 400 | 1.5 | 0pt | "Type '/' for commands" |
119
+ | Tab Label | Inter | 11pt | 500 | 1.0 | 0.1pt | Bottom tab labels |
120
+ | Sidebar Label | Inter | 14pt | 500 | 1.3 | 0pt | Sidebar page names |
121
+
122
+ ### Principles
123
+ - **Document rhythm, not UI rhythm**: Type sizes and weights follow editorial conventions (title > H1 > H2 > H3 > body), not product-UI conventions (hero > section > card > caption).
124
+ - **Weight concentrated at 400 / 500 / 600 / 700**: Regular body, medium for emphasis, semibold for buttons, bold for headings. No thin, no black.
125
+ - **User controls family**: Respect the user's chosen type family (Inter/Lora/Mono) globally — don't hardcode Inter.
126
+ - **Monospace is for code only**: IBM Plex Mono appears on inline code and code blocks; nothing else.
127
+ - **Dynamic Type first-class**: Titles, headings, body, captions all scale; block handles, tab labels, mention chips stay fixed.
128
+
129
+ ## 4. Component Stylings
130
+
131
+ ### Buttons
132
+
133
+ **Primary Button (New Page / Share / Save)**
134
+ - Shape: Rounded rectangle, 6pt corner radius
135
+ - Background: `#000000` (Notion Black) / `#E6E6E4` (dark mode — inverted)
136
+ - Text: `#FFFFFF` light / `#191919` dark
137
+ - Padding: 8pt vertical, 14pt horizontal
138
+ - Font: Inter 14pt weight 600
139
+ - Pressed: background `#1A1A1A` light / `#D1D0CB` dark + scale 0.98
140
+ - Leading icon (optional): SF Symbol 14pt
141
+
142
+ **Secondary / Ghost Button**
143
+ - Background: transparent
144
+ - Text: `#37352F` light / `#E6E6E4` dark
145
+ - Border: 1pt `#EAECEC`
146
+ - Padding: 8pt vertical, 14pt horizontal
147
+ - Corner radius: 6pt
148
+ - Font: Inter 14pt weight 500
149
+ - Pressed: background `#F7F6F3`
150
+
151
+ **Icon Button (Block Handle `⋮⋮⋮` / `+`)**
152
+ - Size: 20pt glyph in a 28pt hit area
153
+ - Default color: `#9B9A97` (Text Secondary) at 50% opacity — appears subtle
154
+ - Hover / active: 100% opacity
155
+ - The "⋮⋮⋮" (dot-grid) opens the block menu; the "+" inserts a new block below
156
+ - Spacing from block content: 4pt
157
+
158
+ **Text Button (Link in sidebar / action)**
159
+ - Font: Inter 14pt weight 500
160
+ - Color: `#37352F`
161
+ - No underline
162
+ - Pressed: background `#F7F6F3` (full row highlight in sidebar)
163
+
164
+ ### Blocks (the core atom)
165
+
166
+ Every content unit in Notion is a "block". Blocks have:
167
+ - Hover / long-press handle: ⋮⋮⋮ (20pt, left of block at 4pt gap)
168
+ - Insert-below affordance: `+` (same position)
169
+ - Content area: full-width (minus 16pt page insets)
170
+ - 6-8pt vertical gap between blocks
171
+
172
+ **Paragraph Block**
173
+ - Content: body text 16pt w400 `#37352F`
174
+ - Empty state placeholder: "Type '/' for commands" in `#9B9A97`
175
+
176
+ **Heading 1 / 2 / 3 Block**
177
+ - Content: 24 / 20 / 16pt w700
178
+ - 16pt top margin, 6pt bottom margin
179
+
180
+ **Toggle Block** (collapsible)
181
+ - Leading chevron: ▸ (closed) / ▾ (open), 16pt `#9B9A97`
182
+ - Content: inline heading text, 16pt w500
183
+ - Expanded: children blocks indented 24pt below
184
+
185
+ **Callout Block**
186
+ - Background: user-picked page-bg color (e.g., `#FBF3DB` yellow)
187
+ - Border: none
188
+ - Padding: 16pt all
189
+ - Corner radius: 4pt
190
+ - Leading emoji: 20pt glyph
191
+ - Content: body text 16pt w400
192
+
193
+ **Code Block**
194
+ - Background: `#F7F6F3` light / `#2F2F2F` dark
195
+ - Padding: 16pt
196
+ - Corner radius: 4pt
197
+ - Font: IBM Plex Mono 13pt
198
+ - Language label: top-right corner, `#9B9A97` 12pt
199
+ - "Copy" button: top-right, appears on hover
200
+
201
+ **Quote Block**
202
+ - Left border: 3pt solid `#37352F`
203
+ - Padding: 4pt top/bottom, 14pt left
204
+ - Font: Inter 16pt w400 (or Lora 17pt if user has serif preference)
205
+ - Italic by default
206
+
207
+ **Divider Block**
208
+ - A single 1pt `#EAECEC` horizontal line with 16pt vertical margin
209
+
210
+ **Image / Video Block**
211
+ - Full-width minus 16pt insets
212
+ - Corner radius: 4pt
213
+ - Optional caption below: 14pt w400 `#9B9A97` italic
214
+
215
+ **Page Link Block (inline)**
216
+ - Leading page-icon emoji (16pt)
217
+ - Text: page title, underlined 1pt
218
+ - Font: Inter 16pt w500
219
+
220
+ **Database Block (Table / Board / Calendar / Gallery / Timeline / List)**
221
+ - A full micro-app inside a block — renders its rows in one of 6 view modes
222
+ - Views selectable via tabs at top of database
223
+ - Add-row affordance: `+ New` at bottom of table view
224
+
225
+ ### Page Structure
226
+
227
+ **Page Header**
228
+ - Full-bleed cover image (if set), 120pt tall on mobile, 200pt on tablet
229
+ - Page emoji icon: 64pt glyph, positioned with -32pt top offset overlapping cover if present
230
+ - Page title: Inter 32pt w700 `#37352F`, 16pt horizontal inset, 16pt top margin from icon
231
+ - Sub-actions row below title: `Add icon`, `Add cover`, `Add comment`, `Add link` — all ghost-gray small buttons
232
+
233
+ **Page Body**
234
+ - Full-width minus 16pt insets
235
+ - Flow of blocks
236
+ - Empty state: "Type '/' for commands" placeholder in first block
237
+
238
+ ### Navigation
239
+
240
+ **Left Sidebar (slides in from left)**
241
+ - Width: 280pt (or 80% of screen width on small devices)
242
+ - Background: `#F7F6F3` light / `#202020` dark
243
+ - Slides in with 250ms ease-out when user swipes right from left edge OR taps hamburger
244
+ - Sections:
245
+ 1. Workspace header: workspace icon (24pt) + name + expand chevron
246
+ 2. "Teamspaces" section
247
+ 3. "Shared" section
248
+ 4. "Private" section
249
+ 5. "Settings & members" link at bottom
250
+ - Each page row: 32pt tall, leading 16pt icon (emoji or default page icon), page title 14pt w500, trailing ⋯ menu (visible on row hover)
251
+ - Active page: `#EFEEE9` row background
252
+ - Nested pages: 24pt indent per level, leading chevron ▸/▾
253
+
254
+ **Bottom Tab Bar**
255
+ - Height: 52pt + safe area
256
+ - Background: `#FFFFFF` / `#191919` with 0.5pt top border `#EAECEC` / `#373737`
257
+ - Tabs (4): Home, Search, Updates, Settings (or sometimes "Jump to", "AI", "New page")
258
+ - Icon size: 24pt
259
+ - Active color: `#37352F` / `#E6E6E4` (no tint pill — just icon fill change)
260
+ - Inactive: `#9B9A97`
261
+ - Labels: Inter 11pt w500, shown always
262
+
263
+ **Top Nav (Page view)**
264
+ - Height: 44pt + safe area
265
+ - Leading: hamburger (opens sidebar) or back chevron
266
+ - Center: page title (compact, shown when scrolled past hero title)
267
+ - Trailing: share icon + ⋯ ellipsis (page actions menu)
268
+
269
+ ### Input Fields
270
+
271
+ **Search Bar**
272
+ - Height: 40pt
273
+ - Background: `#F7F6F3` / `#2F2F2F` dark
274
+ - Border: none
275
+ - Corner radius: 6pt
276
+ - Leading icon `magnifyingglass` 16pt `#9B9A97`
277
+ - Placeholder: "Search" 14pt w400 `#9B9A97`
278
+ - Focus: 1pt `#2E75CC` border
279
+
280
+ **`/` Command Palette (appears when you type `/`)**
281
+ - A floating panel at cursor position
282
+ - Width: 280pt (or full screen width on small devices with 16pt insets)
283
+ - Background: `#FFFFFF` with shadow `rgba(0,0,0,0.08) 0 4px 12px`
284
+ - Border: 1pt `#EAECEC`
285
+ - Corner radius: 6pt
286
+ - Max height: 360pt with scroll
287
+ - Each option row:
288
+ - Height: 40pt
289
+ - Leading: block-type icon 20pt (text, heading, toggle, image, callout, code, etc.)
290
+ - Title: Inter 14pt w500 `#37352F`
291
+ - Subtitle: Inter 12pt w400 `#9B9A97` (block description)
292
+ - Trailing keyboard-shortcut hint (desktop only): `⌘` glyph + letter in 12pt monospace
293
+ - Selected row: `#EFEEE9` background
294
+ - Keyboard navigation with up/down arrows; tap to insert
295
+
296
+ **@-Mention Picker (appears when you type `@`)**
297
+ - Similar floating panel
298
+ - Shows people, pages, dates as selectable rows
299
+ - Person row: 24pt avatar + name
300
+ - Page row: page emoji + page title
301
+ - Date row: calendar icon + date text
302
+
303
+ ### Distinctive Components
304
+
305
+ **Block Handle (⋮⋮⋮) + Insert (`+`)**
306
+ - On mobile, long-press a block for 400ms surfaces the handles
307
+ - On desktop, hover shows them
308
+ - Drag ⋮⋮⋮ to reorder blocks; tap ⋮⋮⋮ to open block menu (Turn into, Copy link, Duplicate, Move to, Delete)
309
+ - Tap `+` to open block-type picker inline below current block
310
+
311
+ **`/` Command Palette**
312
+ - Cursor-anchored floating panel — see Input Fields above
313
+ - The heart of Notion's creation UX
314
+
315
+ **Toggle Block**
316
+ - Click ▸ arrow to expand children (slide down animation, 200ms ease-out)
317
+ - Nested content indented 24pt
318
+
319
+ **Callout with Emoji**
320
+ - Pastel-colored block with leading emoji — "⚠️ Warning: ..." / "💡 Tip: ..."
321
+ - User picks emoji and background color
322
+
323
+ **Database Views (switcher tabs at top of database block)**
324
+ - Row of view tabs: "Table", "Board", "Timeline", "Calendar", "Gallery", "List"
325
+ - Active tab: underlined 2pt `#37352F`
326
+ - Inactive: `#9B9A97`
327
+ - Below: the rendered view (Table = grid, Board = Kanban columns, etc.)
328
+
329
+ **Mention Chip (inline @-person or @-page)**
330
+ - Inline element in text flow
331
+ - Leading avatar / page-icon (16pt)
332
+ - Text with 10% blue background (`#2E75CC1A`), `#2E75CC` color, Inter 16pt w500
333
+ - 2pt horizontal padding, 2pt corner radius
334
+
335
+ **Cover Image Hero**
336
+ - Full-bleed image at top of page
337
+ - Hover reveals "Change cover" and "Reposition" small buttons in top-right
338
+ - User can pick from Unsplash gallery, upload, or solid color
339
+
340
+ **Page Icon (Emoji)**
341
+ - 64pt emoji sitting in the page header, overlapping the cover image if present
342
+ - Tap to open emoji picker
343
+ - Default icon: blank page outline in `#9B9A97`
344
+
345
+ ## 5. Layout Principles
346
+
347
+ ### Spacing System
348
+ - Base unit: 4pt
349
+ - Scale: 4, 8, 12, 16, 20, 24, 32, 40, 48, 64, 96
350
+ - Block vertical gap: 6pt (tight reading flow)
351
+ - Heading top margin: 16pt (extra breathing room)
352
+ - Page content inset: 16pt horizontal
353
+
354
+ ### Grid & Container
355
+ - iPhone: content at 16pt horizontal insets, full-bleed cover
356
+ - iPad: content at max-width 760pt centered, 24pt insets
357
+ - Sidebar width: 280pt (collapsed to 0 on iPhone; always visible on iPad landscape)
358
+ - Database table: horizontal scroll within the block
359
+
360
+ ### Whitespace Philosophy
361
+ - **Document rhythm**: 6pt between paragraph blocks, 16pt before headings — reads like a well-designed article
362
+ - **Minimal chrome everywhere**: the only chrome is block handles (which appear on hover / long-press, not always visible)
363
+ - **Hero zone is optional**: cover image + emoji + title zone can be any height user wants (no cover = 0pt hero)
364
+ - **Callouts and code breathe**: 16pt internal padding, so they stand out from inline text without needing borders
365
+
366
+ ### Border Radius Scale
367
+ - Square (0pt): Divider lines, full-bleed covers
368
+ - Subtle (4pt): Callout blocks, code blocks, image blocks, chips
369
+ - Standard (6pt): Buttons, search bar, / command palette
370
+ - Comfortable (12pt): Bottom sheets, modals
371
+ - Pill (500pt): Rarely used — the toggle switches in settings
372
+ - Circle (50%): Avatars
373
+
374
+ ## 6. Depth & Elevation
375
+
376
+ Notion is radically flat. Shadows exist only in three contexts:
377
+
378
+ | Level | Treatment | Use |
379
+ |-------|-----------|-----|
380
+ | Flat (Level 0) | No shadow | Page content, blocks, sidebar rows |
381
+ | Floating (Level 1) | `rgba(0,0,0,0.08) 0 4px 12px` | `/` command palette, @-mention picker, block menu |
382
+ | Sheet (Level 2) | `rgba(0,0,0,0.1) 0 -4px 24px` | Bottom sheets (Share, emoji picker, move-to-workspace) |
383
+ | Modal Overlay | `rgba(0,0,0,0.3)` | Dim behind modals and bottom sheets |
384
+
385
+ **Shadow Philosophy**: Notion doesn't use shadow as a visual style — it uses it purely as a "this is floating, tap outside to dismiss" signal. The command palette, mention picker, and block menu all get a light `0 4px 12px` shadow so they clearly float above the page without adding visual noise. On dark mode, shadows become harder to see, so Notion adds a subtle 1pt border to floating panels as a secondary affordance.
386
+
387
+ ### Motion
388
+ - **Block reorder (drag)**: 60fps drag following finger; other blocks shift over 200ms ease-out to make room; drop snaps into position with 150ms ease-out + soft haptic
389
+ - **Toggle expand/collapse**: chevron rotates 90° in 150ms; children slide down with height 0 → auto over 200ms ease-out
390
+ - **`/` command palette**: fade-in + 4pt slide-down in 150ms ease-out; fade-out + 4pt slide-up on dismiss; arrow-key selection is instant (no animation)
391
+ - **Page navigation**: push transition in 300ms (iOS native push), horizontal slide
392
+ - **Sidebar swipe**: edge-swipe drags sidebar with 1:1 finger tracking; release threshold at 50% commits open/close with 250ms spring damping 0.8
393
+ - **Block handle reveal**: on long-press (400ms hold), handles fade-in over 120ms
394
+ - **Selection highlight**: blue `#2E75CC33` overlay appears instantly on text selection
395
+ - **Emoji picker**: bottom sheet slides up with 300ms ease-out
396
+ - **Page save (auto)**: no visible motion — silent; toast "Saved" appears only on manual save or error
397
+ - **Haptic feedback**: soft impact on toggle expand, block drag start, command palette open
398
+
399
+ ## 7. Do's and Don'ts
400
+
401
+ ### Do
402
+ - Use pure white (`#FFFFFF`) as the light canvas — Notion is paper
403
+ - Use dark charcoal (`#191919`) for dark mode — NOT true black
404
+ - Use warm dark text (`#37352F`) — NOT pure black
405
+ - Surface block handles (⋮⋮⋮ + `+`) on long-press (mobile) or hover (desktop) — never always-visible
406
+ - Use the `/` command as the primary block-creation gesture — it's the heart of Notion
407
+ - Respect user's chosen font family globally (Inter / Lora / IBM Plex Mono)
408
+ - Render callouts with pastel backgrounds + leading emoji — never with borders
409
+ - Use toggles (▸/▾) for collapsible sections — the chevron always leading, 4pt from text
410
+ - Embed databases as blocks — they have their own view switcher (Table / Board / Timeline / Calendar / Gallery / List)
411
+ - Make mentions inline chips with avatar + blue background — never plain blue text
412
+ - Keep chrome minimal — content is the interface
413
+
414
+ ### Don't
415
+ - Don't use card-style borders around content blocks — Notion is flat, content flows inline
416
+ - Don't use saturated colors as page backgrounds — the 9 pastels are all near-greyscale
417
+ - Don't hard-code Inter — users can switch to Lora (serif) or IBM Plex Mono
418
+ - Don't surface block handles always — the "invisible" design is the signature
419
+ - Don't use pure black (`#000000`) for body text — `#37352F` warm dark gray is correct
420
+ - Don't add primary-color CTAs ("Add", "Save" should be black or ghost) — Notion doesn't have a brand accent
421
+ - Don't animate aggressively — motion is quiet, 150-300ms ease-out range
422
+ - Don't use shadow on content blocks — shadows are reserved for floating panels only
423
+ - Don't bold "Body" paragraphs by default — body is 400 weight
424
+ - Don't use column layouts without user request — Notion's defaults are single-column top-to-bottom
425
+ - Don't surface the full block menu on tap — tap inserts cursor; long-press opens handles; tap ⋮⋮⋮ opens menu
426
+
427
+ ## 8. Responsive Behavior
428
+
429
+ ### Device Sizes
430
+ | Device | Width | Key Changes |
431
+ |--------|-------|-------------|
432
+ | iPhone SE (3rd gen) | 375pt | Cover image 100pt tall; sidebar is 80% screen width |
433
+ | iPhone 13/14/15 | 390pt | Standard layout |
434
+ | iPhone 15/16 Pro | 393pt | Dynamic Island accommodated in top nav |
435
+ | iPhone 15/16 Pro Max | 430pt | Cover image 140pt tall; larger emoji |
436
+ | iPad (portrait) | 768pt | 2-column: sidebar always visible (280pt) + content (centered max 760pt) |
437
+ | iPad (landscape) | 1024pt+ | Same 2-column; content max 800pt centered |
438
+
439
+ ### Dynamic Type
440
+ - Page title, headings, body, captions: full scale
441
+ - Block handles, tab labels, sidebar labels, mention chips, command palette option text: FIXED (layout-sensitive)
442
+ - Code blocks: scale to XL (but stay monospace)
443
+
444
+ ### Orientation
445
+ - All pages support rotation
446
+ - iPad adds split-view controller: primary sidebar (280pt) + secondary page content
447
+ - Video/image blocks rotate freely
448
+
449
+ ### Touch Targets
450
+ - Block handle (⋮⋮⋮): 28pt hit, 20pt glyph
451
+ - Tab bar icons: 24pt glyph, 44pt hit
452
+ - Sidebar row: 32pt tall, full-row tap
453
+ - Toggle chevron: 16pt glyph, 44pt hit
454
+ - Primary buttons: 36pt tall minimum
455
+
456
+ ### Safe Area Handling
457
+ - Top: top nav respects safe area and Dynamic Island
458
+ - Bottom: bottom tab + home indicator respected
459
+ - Keyboard: page body scrolls above keyboard; command palette positions above keyboard when triggered
460
+ - Sides: 16pt content inset
461
+
462
+ ## 9. Agent Prompt Guide
463
+
464
+ ### Quick Color Reference
465
+ - Canvas (light): `#FFFFFF`
466
+ - Canvas (dark): `#191919`
467
+ - Surface gray: `#F7F6F3`
468
+ - Divider: `#EAECEC`
469
+ - Text primary: `#37352F` light / `#E6E6E4` dark
470
+ - Text secondary: `#9B9A97`
471
+ - Link blue: `#2E75CC`
472
+ - Primary button (Notion Black): `#000000`
473
+ - Pastel page bg (gray): `#F1F1EF`
474
+ - Pastel page bg (yellow): `#FBF3DB`
475
+ - Pastel page bg (blue): `#E7F3F8`
476
+ - Pastel page bg (green): `#EDF3EC`
477
+ - Pastel page bg (red): `#FDEBEC`
478
+ - Callout text (orange): `#D9730D`
479
+ - Callout text (green): `#0F7B6C`
480
+ - Callout text (blue): `#0B6E99`
481
+ - Callout text (red): `#E03E3E`
482
+
483
+ ### Example Component Prompts
484
+ - "Build the Notion page header in SwiftUI: 120pt full-bleed cover image at top (optional — if no cover, skip this row). Below: 64pt emoji icon at leading 16pt with -32pt top offset (overlaps cover). Below emoji: page title in Inter 32pt weight 700 `#37352F`, 16pt horizontal inset. Below title: sub-actions row with small ghost buttons 'Add icon', 'Add cover', 'Add comment' — Inter 13pt w400 `#9B9A97`, 8pt horizontal padding, no background, visible only when page is empty."
485
+
486
+ - "Create a Notion paragraph block: 16pt horizontal insets, 6pt bottom margin, Inter 16pt weight 400 `#37352F`. On long-press (400ms), fade-in leading block handle ⋮⋮⋮ (20pt `#9B9A97` at 50% opacity) + `+` insert-below icon, positioned at -24pt left of block. Empty-state placeholder: 'Type ''/'' for commands' in `#9B9A97`."
487
+
488
+ - "Render the Notion `/` command palette: floating panel anchored at cursor. 280pt wide (or full-width minus 16pt on phone), `#FFFFFF` bg, 1pt `#EAECEC` border, 6pt corner radius, shadow `rgba(0,0,0,0.08) 0 4px 12px`. Max height 360pt scroll. Each row: 40pt tall, leading 20pt block-type icon, title in Inter 14pt w500 `#37352F`, subtitle in Inter 12pt w400 `#9B9A97`. Up/down arrows navigate; selected row: `#EFEEE9` background. Tap or Enter inserts block. Dismiss: fade-out + 4pt slide-up in 150ms."
489
+
490
+ - "Build a Notion callout block: full-width minus 16pt insets, 16pt all padding, 4pt corner radius, background one of the pastel page colors (default yellow `#FBF3DB` with text `#DFAB01`, or blue `#E7F3F8` with `#0B6E99`, etc.). Leading 20pt emoji glyph (user-picked). Content area: Inter 16pt w400 in the matching callout text color. No border."
491
+
492
+ - "Create a Notion toggle block: leading chevron ▸ (16pt `#9B9A97`) at 4pt gap from text, text in Inter 16pt w500 `#37352F`. On tap: chevron rotates 90° to ▾ over 150ms, children slide down from height 0 → auto over 200ms ease-out. Children indented 24pt from left. Soft haptic on toggle."
493
+
494
+ - "Render the Notion sidebar: 280pt wide, `#F7F6F3` background, slides in from left with 250ms ease-out when swipe-right or hamburger tapped. Header: 48pt workspace row with 24pt workspace icon + name + chevron. Sections: 'Teamspaces', 'Shared', 'Private'. Each page row: 32pt tall, leading 16pt emoji/page-icon, title in Inter 14pt w500 `#37352F`, trailing ⋯ menu. Active page: `#EFEEE9` background. Nested children indented 24pt per level with leading chevron."
495
+
496
+ ### Iteration Guide
497
+ 1. Canvas is pure white (`#FFFFFF`) in light, charcoal `#191919` in dark — NOT true black, NOT off-white
498
+ 2. Text primary is warm gray `#37352F` — NOT pure black; body at 400 weight, headings at 700
499
+ 3. Page-background pastels are all desaturated near-greyscale (gray/brown/orange/yellow/green/blue/purple/pink/red) — NOT bright
500
+ 4. Block handles (⋮⋮⋮ + `+`) appear only on long-press/hover — "invisible until needed" is the signature
501
+ 5. Typography is user-switchable: default Inter, optional Lora (serif) or IBM Plex Mono — respect user setting globally
502
+ 6. The `/` command palette is the primary block-creation gesture — a floating 280pt panel anchored at cursor
503
+ 7. Blocks flow top-to-bottom with 6pt gap — no cards, no borders, no shadows on content
504
+ 8. Callouts use pastel backgrounds + leading emoji, text in matching saturated color — NEVER with borders
505
+ 9. Primary CTAs are Notion Black (`#000000`) — the app has no brand accent color
506
+ 10. Mentions (@person / @page) are inline chips with avatar + 10% blue background + blue text — never plain inline text