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,379 @@
1
+ # Design System Inspiration of Marriott Bonvoy (iOS)
2
+
3
+ ## 1. Visual Theme & Atmosphere
4
+
5
+ Marriott Bonvoy's iOS app is a premium hotel-booking and loyalty product, and its visual language is engineered to feel like a high-end travel concierge in your pocket. It is not a discount-forward marketplace — it is a *membership*. The base palette is a deep, restrained Bonvoy navy (`#16264A`) and a near-black (`#1C1C1C`), with **gold** (`#B3852A`) used sparingly and deliberately to mark **member value**: your points balance, your elite tier, points-redemption rates, and the gold "Book" call-to-action. The discipline is the point — gold never decorates; it signals "this is what your loyalty is worth." The result is an app that reads as expensive, calm, and trustworthy: big hotel hero photography, generous whitespace, serif-adjacent confidence in the headings, and a quiet, premium chrome.
6
+
7
+ The signature surface is the **hotel detail screen with the Bonvoy points panel + points-aware rate select**. Open a hotel and you see a tall full-bleed hero photo with the sub-brand eyebrow (THE RITZ-CARLTON, W HOTELS, ST. REGIS, COURTYARD, etc.) in gold small-caps, the hotel name in heavy type, location, and a star/review row. Below, a **navy member panel** shows your elite tier, your points balance in large numerals, and a gold progress bar toward your next free night. Then the **rate select**: a stack of rate cards — Member Rate (with the points you'll earn), Points Redemption (priced in points, "no cash due"), Flexible, Prepaid — where the *selected* rate gets a gold border and tint. Pinned to the bottom: a booking bar with the nightly price, the points you'll earn, and the gold "Book" button. This points-and-tier-aware booking flow is the heart of Bonvoy.
8
+
9
+ The other recognizable surfaces are the **Mobile Key** (a navy card with a gold key glyph: "Skip the front desk · Tap to unlock · Room 1408") and the **elite tier badges** (Silver / Gold / Platinum / Titanium / Ambassador) shown as small-caps pills across the account and stay screens. Search → hotel detail → rate select → confirmation → Mobile Key is the loop the app revolves around, and loyalty is woven through every step.
10
+
11
+ Color is disciplined to communicate hierarchy of value. Navy is structure (panels, secondary CTAs, the brand frame). Gold is *earned value* (points, tiers, redemption, the primary "Book" CTA). Standard semantics handle success (a muted green confirmation) and error (a restrained red). Everything else is near-black, soft grays, and hairline dividers — the photography and the points number always win the eye. The app deliberately avoids bright consumer accents; it wants to feel like a luxury hotel lobby, not a deal site.
12
+
13
+ Typography is Apple's **SF Pro** — Marriott Bonvoy ships no custom typeface in-app; it leans on the iOS system font and Dynamic Type, with a distinctive use of **letter-spaced small-caps eyebrows** (sub-brand names, tier names) that evoke luxury hospitality wordmarks. Hierarchy is value-shaped: a heavy points balance, a confident hotel name, gold small-caps eyebrows, readable body, and clear rate-card typography. The points number and the tier name are among the most prominent, intentional type moments on every screen.
14
+
15
+ **Key Characteristics:**
16
+ - Deep Bonvoy navy (`#16264A`) / near-black (`#1C1C1C`) base — premium, restrained, concierge-like
17
+ - **Gold (`#B3852A`) reserved for member value** — points balances, elite tiers, redemption, the "Book" CTA — never decoration
18
+ - **Big hotel hero photography** leading every property with a gold small-caps sub-brand eyebrow
19
+ - **Bonvoy points panel** — elite tier + points balance in large numerals + gold progress-to-next-free-night bar
20
+ - **Points-aware rate select** — Member / Points Redemption / Flexible / Prepaid cards; selected = gold border + tint
21
+ - **Mobile Key** — navy card, gold key glyph, "tap to unlock, Room 1408" — skip the front desk
22
+ - **Elite tier badges** — Silver / Gold / Platinum / Titanium / Ambassador as small-caps pills
23
+ - Sticky booking bar — nightly price + points earned + gold "Book" button
24
+ - SF Pro system font + Dynamic Type; letter-spaced small-caps eyebrows for sub-brands and tiers
25
+ - Calm premium chrome: navy panels, hairline dividers, minimal shadows, photography-forward
26
+
27
+ ## 2. Color Palette & Roles
28
+
29
+ ### Primary (Member Value — Gold)
30
+ - **Bonvoy Gold** (`#B3852A`): The value color — points balances, elite-tier eyebrows, points-redemption labels, the primary "Book" CTA. Used sparingly to mark loyalty worth.
31
+ - **Bonvoy Gold Pressed** (`#8F6A1F`): Pressed/active state for the gold CTA.
32
+ - **Bonvoy Gold Bright** (`#D2A23E`): Dark-mode variant — points numerals, tier eyebrows, gold CTA on the dark canvas where `#B3852A` is too dim.
33
+
34
+ ### Structure (Navy)
35
+ - **Bonvoy Navy** (`#16264A`): Member panels, secondary CTAs ("Use points"), the brand frame, Mobile Key card. Constant across light/dark.
36
+ - **Near-Black** (`#1C1C1C`): Alternative deep base for headers and immersive screens.
37
+ - **Navy Line** (`#243A66`): Borders on navy panels, dividers within the member surface.
38
+
39
+ ### Canvas & Surfaces (Light Mode)
40
+ - **Canvas White** (`#FFFFFF`): Primary light canvas — search, hotel body, account.
41
+ - **Surface Cream** (`#F6F4EF`): Grouped section background, rate-card rest state — a warm off-white that pairs with gold.
42
+ - **Surface Pressed** (`#ECE9E1`): Pressed/selected rows.
43
+ - **Divider** (`#E3E1DA`): Hairline separators.
44
+
45
+ ### Canvas & Surfaces (Dark Mode)
46
+ - **Dark Canvas** (`#121214`): Primary dark canvas — near-black, slightly warm.
47
+ - **Dark Surface 1** (`#1A1A1D`): Cards, grouped section background, nav bar.
48
+ - **Dark Surface 2** (`#232327`): Pressed rows, rate cards at rest.
49
+ - **Dark Divider** (`#2E2E33`): Hairline separators on dark.
50
+
51
+ ### Text
52
+ - **Text Primary Light** (`#1A1A1C`): Hotel names, points, body — near-black.
53
+ - **Text Secondary Light** (`#5C5C63`): Location, metadata, descriptions.
54
+ - **Text Tertiary Light** (`#8E8E96`): Disabled, low-emphasis.
55
+ - **Text Primary Dark** (`#EDEDEF`): Primary text on dark.
56
+ - **Text Secondary Dark** (`#A0A0A8`): Secondary text on dark.
57
+ - **On-Navy Text** (`#FFFFFF` / `rgba(255,255,255,0.7)`): Text inside navy panels.
58
+
59
+ ### Elite Tier Accents
60
+ | Tier | Accent | Treatment |
61
+ |------|--------|-----------|
62
+ | Member (base) | `#5C5C63` | Neutral gray small-caps |
63
+ | Silver Elite | `#C7C7CE` on `#2A2A2E` | Cool silver pill |
64
+ | Gold Elite | `#D2A23E` on `rgba(179,133,42,0.16)` | Gold pill |
65
+ | Platinum Elite | `#9FB6E0` on `rgba(36,58,102,0.4)` | Navy-blue pill |
66
+ | Titanium Elite | `#D2A23E` on `#16264A` | Navy + gold |
67
+ | Ambassador Elite | `#D2A23E` on `#16264A` with gold border | Navy + gold border (top tier) |
68
+
69
+ ### Semantic
70
+ - **Success Green** (`#2E8B57`): Booking confirmed, "Free cancellation", points-credited toast — muted, not bright.
71
+ - **Error / Destructive Red** (`#C7453B`): Failed payment, unavailable dates, cancel reservation — restrained.
72
+ - **Warning Amber** (`#C8901C`): "Only 2 rooms left at this rate", rate-change notices.
73
+ - **Link** (`#16264A` light / `#D2A23E` dark): Inline links — navy on light, gold on dark.
74
+ - **Points Earned Accent** (`#B3852A` / `#D2A23E`): The "+2,180 pts" earn line on rate cards and the booking bar.
75
+
76
+ ## 3. Typography Rules
77
+
78
+ ### Font Family
79
+ - **Primary**: `SF Pro` (Apple system font) — Marriott Bonvoy ships no custom typeface in-app; it uses the iOS system font with Dynamic Type. SF Pro Display for large titles, points balances, and hotel names; SF Pro Text for body and rate cards.
80
+ - **Eyebrow Treatment**: SF Pro Text in **letter-spaced uppercase small-caps** for sub-brand names (THE RITZ-CARLTON, W HOTELS) and elite tiers (TITANIUM ELITE) — evokes luxury hospitality wordmarks.
81
+ - **Fallback Stack (non-Apple / web mirror)**: `-apple-system, BlinkMacSystemFont, 'SF Pro Text', 'Inter', 'Segoe UI', Roboto, Helvetica, Arial, sans-serif`
82
+ - **Not user-switchable**: The face is always the system font; only Dynamic Type size scales.
83
+
84
+ ### Hierarchy
85
+
86
+ | Role | Font | Size | Weight | Line Height | Letter Spacing | Notes |
87
+ |------|------|------|--------|-------------|----------------|-------|
88
+ | Large Title | SF Pro Display | 32pt | 800 | 1.15 | -0.4pt | Top-level screen header ("Stays", "Account") |
89
+ | Points Balance | SF Pro Display | 26pt | 800 | 1.2 | -0.3pt | Member panel points numerals |
90
+ | Hotel Name | SF Pro Display | 22pt | 700 | 1.2 | -0.3pt | Hotel name on detail / hero |
91
+ | Section Header | SF Pro Text | 18pt | 700 | 1.3 | -0.2pt | "Choose your rate", "Your stay" |
92
+ | Body | SF Pro Text | 16pt | 400 | 1.5 | 0pt | Descriptions, policy text |
93
+ | Rate Title | SF Pro Text | 15pt | 600 | 1.3 | 0pt | "Member Rate", "Points Redemption" |
94
+ | Price / Rate Amount | SF Pro Display | 17pt | 800 | 1.2 | 0pt | Per-night price on rate cards / booking bar |
95
+ | Meta / Subtitle | SF Pro Text | 14pt | 400 | 1.35 | 0pt | Location, review count, rate description |
96
+ | Eyebrow (small-caps) | SF Pro Text | 11pt | 700 | 1.0 | 1.2pt | Sub-brand + elite-tier labels — uppercase |
97
+ | Points Earn Line | SF Pro Text | 11pt | 700 | 1.0 | 0.3pt | "+2,180 pts" in gold |
98
+ | Button | SF Pro Text | 16pt | 700 | 1.0 | 0pt | Primary / secondary buttons |
99
+ | Tab Label | SF Pro Text | 10pt | 500 | 1.0 | 0.1pt | Bottom tab labels |
100
+ | Caption | SF Pro Text | 12pt | 500 | 1.2 | 0pt | Fine print, progress legends |
101
+
102
+ ### Principles
103
+ - **Points and tier are loud and intentional**: The points balance is an 800-weight numeral; the tier eyebrow is letter-spaced small-caps gold — these are among the most prominent type moments because loyalty is the product.
104
+ - **Eyebrows evoke luxury wordmarks**: Sub-brand and tier labels are uppercase, tightly tracked, small — the hospitality-brand cue.
105
+ - **System font, always**: SF Pro + Dynamic Type; never override the system face.
106
+ - **Weight concentrated at 400 / 500 / 600 / 700 / 800**: Regular body, medium for tabs/captions, semibold for rate titles, bold for headers, extra-bold for points/prices/titles.
107
+ - **Hierarchy via weight + the gold/navy split, not bright color**: Gold marks value, navy marks structure; text emphasis comes from size and weight.
108
+ - **Dynamic Type first-class**: Titles, points balance, hotel name, headers, body all scale. Eyebrows, tab labels, points-earn lines stay fixed (layout-sensitive small-caps).
109
+
110
+ ## 4. Component Stylings
111
+
112
+ ### Buttons
113
+
114
+ **Primary Button ("Book" / "Reserve" / "Confirm")**
115
+ - Shape: Rounded rectangle, 8pt corner radius (slightly tighter than consumer apps — premium restraint)
116
+ - Background: `#B3852A` (Bonvoy Gold) / `#D2A23E` (dark mode)
117
+ - Text: `#1C1206` (deep brown-black for contrast on gold), SF Pro Text 16pt weight 700
118
+ - Padding: 14pt vertical, 28pt horizontal (full-width in the booking bar)
119
+ - Pressed: background `#8F6A1F` + scale 0.98 + light haptic
120
+ - Disabled: background `#B3852A` at 35% opacity
121
+
122
+ **Secondary / Navy Button ("Use points" / "View rates")**
123
+ - Background: `#16264A` (Bonvoy Navy)
124
+ - Text: `#FFFFFF`, SF Pro Text 15pt weight 700
125
+ - Padding: 13pt vertical, 24pt horizontal
126
+ - Corner radius: 8pt
127
+ - Pressed: background `#1F3157` + scale 0.98
128
+
129
+ **Outline Button ("Add to trip" / "Map")**
130
+ - Background: transparent
131
+ - Text: `#16264A` light / `#D2A23E` dark
132
+ - Border: 1.5pt `#16264A` / `#D2A23E`
133
+ - Padding: 12pt vertical, 22pt horizontal
134
+ - Corner radius: 8pt
135
+ - Font: SF Pro Text 15pt weight 700
136
+
137
+ **Text Button ("View all 64 photos" / hotel link)**
138
+ - Font: SF Pro Text 15pt weight 700
139
+ - Color: `#16264A` light / `#D2A23E` dark
140
+ - Underlined
141
+ - Pressed: 0.6 opacity
142
+
143
+ ### Bonvoy Points Panel (the core component)
144
+
145
+ The signature loyalty surface — a navy panel that shows what the member's points are worth.
146
+
147
+ - Background: `#16264A` (Bonvoy Navy), 12pt corner radius, 1pt `#243A66` border
148
+ - Padding: 16pt all
149
+ - Top row: leading = elite-tier eyebrow (11pt w700 small-caps gold `#D2A23E`) + member name (13pt `rgba(255,255,255,0.7)`); trailing = points balance (26pt w800 white) + "POINTS" caption (11pt `rgba(255,255,255,0.6)`)
150
+ - Progress bar: 6pt tall, track `rgba(255,255,255,0.14)`, fill a gold gradient `#B3852A → #D2A23E`, rounded
151
+ - Footer: "21,550 points to your next free night · Redeem from 50,000" in 11pt `rgba(255,255,255,0.6)`
152
+
153
+ ### Rate Select Cards
154
+
155
+ A stack of selectable rate options on the hotel detail screen.
156
+
157
+ - Each card: 14pt padding, 10pt corner radius, 1pt `#E3E1DA` / `#2E2E33` border, surface `#F6F4EF` / `#1A1A1D`
158
+ - **Selected** card: 1pt `#B3852A` gold border + a 10% gold tint background
159
+ - Leading: rate name (15pt w600) + description (12pt secondary, e.g. "Free cancellation · Earn 2,180 pts")
160
+ - Trailing: price (17pt w800) + a gold points line ("+2,180 pts" or "68,000 points / night" 11pt w700 gold)
161
+ - Rate types: Member Rate, Points Redemption (priced in points), Flexible, Prepaid (Non-Refundable)
162
+
163
+ ### Hotel Hero
164
+
165
+ - Full-bleed hero photo, ≈256pt tall, square top corners, bottom scrim gradient
166
+ - Overlay top: back / share / save circular 36pt buttons (`rgba(18,18,20,0.55)` + blur)
167
+ - Overlay bottom: sub-brand eyebrow (gold small-caps 11pt w700 tracked 1.4px) + hotel name (white 22-23pt w800) + location (white 70%)
168
+ - On scroll past the hero, a solid compact nav fades in (back + hotel name + share/save)
169
+
170
+ ### Mobile Key
171
+
172
+ - Navy card (`#16264A`), 14pt corner radius, 1pt `#243A66` border, 16pt padding
173
+ - Leading: a 48pt gold-tint rounded tile with a gold key/lock glyph (`#D2A23E`)
174
+ - Content: title "Mobile Key ready" (14pt w700 white) + subtitle "Skip the front desk · Tap your phone to unlock" (12pt `rgba(255,255,255,0.65)`) + room line "ROOM 1408 · CHECK-IN 3:00 PM" (11pt w700 gold small-caps)
175
+
176
+ ### Elite Tier Badge
177
+
178
+ - Small-caps pill, 6pt × 12pt padding, 999pt radius, 11pt w700 tracked 0.6px uppercase
179
+ - Color per tier (see Color §2): Silver cool-gray, Gold gold-tint, Platinum navy-blue, Titanium/Ambassador navy + gold (Ambassador adds a gold border)
180
+
181
+ ### Navigation
182
+
183
+ **Hotel Detail Nav (over hero)**
184
+ - Translucent circular overlay buttons (back / share / save) over the hero photo + scrim
185
+ - On scroll, a solid compact bar fades in: back chevron + hotel name (truncated) + share/save
186
+
187
+ **Bottom Tab Bar**
188
+ - Height: ≈68pt incl. home indicator
189
+ - Tabs: Home, Search, Trips, Mobile Key, Account
190
+ - Icon size: 22pt
191
+ - Active color: `#B3852A` / `#D2A23E` (gold — loyalty is the spine of the app); inactive: `#8E8E96`
192
+ - Labels: SF Pro Text 10pt w500, always shown
193
+ - Background: blurred translucent, 0.5pt top divider
194
+ - Mobile Key tab may show a gold dot when a key is active
195
+
196
+ ### Input Fields
197
+
198
+ **Search Bar**
199
+ - Pill or rounded-rect, ≈54pt tall, `#F6F4EF` / `#232327` background, 10pt radius
200
+ - Two lines: "Where to?" (15pt w700) and "Add dates · 1 room, 2 guests" (12pt secondary)
201
+ - Leading location glyph; trailing filter glyph
202
+
203
+ **Date / Room & Guest Picker**
204
+ - Inline calendar; selected range filled `#16264A` at 12% with navy endpoints
205
+ - Room/guest steppers with navy-outline `−` / `+` round buttons
206
+ - A "Use points" toggle that re-prices rates in points when on (gold accent)
207
+
208
+ ### Distinctive Components
209
+
210
+ **Bonvoy Points Panel** — see core component. The loyalty heart of the app.
211
+
212
+ **Points-Aware Rate Cards** — cash + points priced side by side; selected gets the gold border.
213
+
214
+ **Mobile Key Card** — navy + gold, "skip the front desk". The premium-stay payoff.
215
+
216
+ **Elite Tier Badge** — small-caps pills marking Silver → Ambassador status everywhere.
217
+
218
+ **Sub-Brand Eyebrow** — gold letter-spaced small-caps (THE RITZ-CARLTON, ST. REGIS) above hotel names — the luxury wordmark cue.
219
+
220
+ ## 5. Layout Principles
221
+
222
+ ### Spacing System
223
+ - Base unit: 4pt
224
+ - Scale: 4, 8, 12, 16, 18, 24, 32, 40, 48
225
+ - Screen content inset: 18pt horizontal
226
+ - Card vertical gap: 12pt (rate cards), 16pt (sections)
227
+ - Section gap: 24pt; member panel sits 16pt below the star/review row
228
+
229
+ ### Grid & Container
230
+ - iPhone: content at 18pt horizontal insets; hero and map full-bleed
231
+ - iPad: hotel detail uses a split (hero + member panel | sticky rate/booking panel); search results in a 2-column grid
232
+ - Rate cards: full-width stacked list
233
+
234
+ ### Whitespace Philosophy
235
+ - **Premium calm**: generous vertical rhythm; the app should feel like a luxury lobby, not a cluttered deal site
236
+ - **Points are always near the top of value hierarchy**: the member panel sits high on the hotel screen; the booking bar always shows points earned
237
+ - **Photography-forward**: the hero is tall and full-bleed; chrome recedes
238
+ - **Gold is scarce by design**: navy/near-black dominate; gold is reserved for what the member earned
239
+
240
+ ### Border Radius Scale
241
+ - Square (0pt): full-bleed hero top, immersive headers
242
+ - Subtle (4pt): inner image frames, small chips
243
+ - Standard (8pt): primary/secondary buttons, rate cards (tight, premium)
244
+ - Comfortable (10pt): grouped cards, rate-card containers, search bar
245
+ - Large (14pt): member panel, Mobile Key card, bottom sheets
246
+ - Extra (20pt): hero modal sheets
247
+ - Pill (999pt): tier badges, filter chips
248
+ - Circle (50%): hero overlay buttons, avatars
249
+
250
+ ## 6. Depth & Elevation
251
+
252
+ Marriott Bonvoy is restrained and premium — elevation is quiet and functional, never glossy.
253
+
254
+ | Level | Treatment | Use |
255
+ |-------|-----------|-----|
256
+ | Flat (Level 0) | No shadow | List rows, hotel body, settings cells |
257
+ | Card (Level 1) | `rgba(0,0,0,0.06) 0 2px 8px` | Rate cards, results cards (subtle lift) |
258
+ | Panel (Level 1.5) | 1pt `#243A66` border, no shadow | Member panel, Mobile Key card (navy panels use a border, not a shadow) |
259
+ | Bar (Level 2) | Backdrop blur + 1pt hairline divider | Booking bar, nav bar, tab bar |
260
+ | Floating (Level 3) | `rgba(0,0,0,0.16) 0 4px 16px` | Context menus, popovers, map peek |
261
+ | Sheet (Level 4) | `rgba(0,0,0,0.2) 0 -4px 24px` | Date picker, filters, rate-detail sheets |
262
+ | Modal Overlay | `rgba(0,0,0,0.45)` scrim | Dim behind sheets and full-screen galleries |
263
+
264
+ **Shadow Philosophy**: The navy member panel and Mobile Key card use a hairline navy border rather than a drop shadow — they should feel inset and crafted, not floating. Rate/results cards get a very soft lift so they read as tappable. On dark mode shadows nearly vanish, so floating panels add a 1pt `#2E2E33` border. Photography never carries a shadow.
265
+
266
+ ### Motion
267
+ - **Points balance count-up**: on stay completion or screen entry, the points numeral counts up to the value over 600ms ease-out; a brief gold shimmer sweeps the number
268
+ - **Progress-bar fill**: the gold gradient bar animates width from 0 → target over 500ms ease-out on the member panel appearing
269
+ - **Rate select**: tapping a rate card animates the gold border in + tint over 180ms; the booking-bar price/points cross-dissolve to the new rate over 250ms
270
+ - **Mobile Key unlock**: tapping the key triggers a gold ring pulse + a success haptic; the card briefly flips to "Unlocked"
271
+ - **Hero parallax**: the hero photo translates at 0.5× scroll speed as the body scrolls over it
272
+ - **Card appear**: fade + 8pt slide-up, 60ms stagger, 220ms ease-out
273
+ - **Push navigation**: native iOS push, 300ms horizontal slide
274
+ - **Sheet present**: slides up 300ms ease-out; scrim fades 250ms
275
+ - **Tab switch**: instant; active glyph crossfades to gold in 120ms
276
+ - **Haptics**: soft impact on Book, success haptic on Mobile Key unlock and booking confirmed, selection feedback on rate select and date endpoints
277
+
278
+ ## 7. Do's and Don'ts
279
+
280
+ ### Do
281
+ - Use a deep Bonvoy navy (`#16264A`) / near-black (`#1C1C1C`) base — premium and restrained
282
+ - Reserve gold (`#B3852A`) for member value only — points, tiers, redemption, the "Book" CTA; brighten to `#D2A23E` on dark
283
+ - Lead every hotel with a tall full-bleed hero + a gold letter-spaced small-caps sub-brand eyebrow
284
+ - Show the Bonvoy points panel high on the hotel screen — tier + balance + gold progress-to-free-night
285
+ - Price rate cards in both cash and points; give the selected card a gold border + tint
286
+ - Surface the Mobile Key as a navy + gold card ("skip the front desk")
287
+ - Render elite tiers as small-caps pills (Silver / Gold / Platinum / Titanium / Ambassador)
288
+ - Always show points earned in the sticky booking bar alongside the cash price
289
+ - Use SF Pro + Dynamic Type — respect the user's text-size setting globally
290
+ - Keep chrome calm: navy panels with hairline borders, soft card lifts, photography-forward
291
+ - Make the points balance and tier among the most prominent intentional type moments
292
+
293
+ ### Don't
294
+ - Don't use gold as decoration — it must mean "earned value" (points / tier / redemption / Book)
295
+ - Don't introduce a bright consumer accent — Bonvoy is navy + disciplined gold; nothing else competes
296
+ - Don't shadow the navy member panel or Mobile Key — they use a hairline navy border, not a drop shadow
297
+ - Don't bury points — the member panel sits high; the booking bar always shows points earned
298
+ - Don't ship a custom typeface — Bonvoy uses the system font; respect Dynamic Type
299
+ - Don't use the deep navy `#16264A` for thin links on dark — switch to gold `#D2A23E`
300
+ - Don't render sub-brand or tier labels in sentence case — they are uppercase, tightly tracked small-caps
301
+ - Don't over-round corners — buttons/cards are tight (8pt) for a premium, restrained feel
302
+ - Don't animate aggressively — motion is calm; the loudest moment is the points count-up
303
+ - Don't use pure black (`#000000`) for body text — `#1A1A1C` near-black is correct
304
+ - Don't hide the elite tier — it belongs visible on the member panel and account
305
+
306
+ ## 8. Responsive Behavior
307
+
308
+ ### Device Sizes
309
+ | Device | Width | Key Changes |
310
+ |--------|-------|-------------|
311
+ | iPhone SE (3rd gen) | 375pt | Hero ≈220pt; member panel stacks tier above balance; compact booking bar |
312
+ | iPhone 13/14/15 | 390pt | Standard layout; hero ≈256pt |
313
+ | iPhone 15/16 Pro | 393pt | Dynamic Island accommodated in the compact scroll nav |
314
+ | iPhone 15/16 Pro Max | 430pt | Hero ≈320pt; larger points numeral; bigger rate cards |
315
+ | iPad (portrait) | 768pt | Split: hero + member panel / sticky rate+booking panel |
316
+ | iPad (landscape) | 1024pt+ | 2-column results; persistent rate panel beside the hero |
317
+
318
+ ### Dynamic Type
319
+ - Large titles, points balance, hotel name, section headers, body: full scale
320
+ - Eyebrows (sub-brand / tier small-caps), tab labels, points-earn lines, progress legends: FIXED (layout-sensitive)
321
+ - Rate cards grow vertically with text; price/points stay aligned
322
+
323
+ ### Orientation
324
+ - All screens support rotation
325
+ - iPad uses split-view: hero + member panel and a persistent rate/booking panel
326
+ - Hero supports landscape (wider photo, same scrim + eyebrow)
327
+
328
+ ### Touch Targets
329
+ - Hero overlay buttons: 36pt visual, 44pt hit
330
+ - Rate cards: full-card tap to select, ≥ 44pt tall
331
+ - Tab bar icons: 22pt glyph, 49pt hit
332
+ - Mobile Key card: full-card tap to unlock, ≥ 56pt tall
333
+ - Book button: full-width bar button, ≥ 50pt tall
334
+
335
+ ### Safe Area Handling
336
+ - Top: hero extends under the status bar; overlay controls inset to the safe area
337
+ - Bottom: booking bar and tab bar respect the home indicator
338
+ - Keyboard: search and form fields scroll above the keyboard
339
+ - Sides: 18pt content inset; hero and map full-bleed including safe areas
340
+
341
+ ## 9. Agent Prompt Guide
342
+
343
+ ### Quick Color Reference
344
+ - Canvas (light): `#FFFFFF` / cream surface `#F6F4EF`
345
+ - Canvas (dark): `#121214` / surface `#1A1A1D`
346
+ - Bonvoy Navy (structure): `#16264A` (constant) · navy line `#243A66`
347
+ - Near-black: `#1C1C1C`
348
+ - Bonvoy Gold (value): `#B3852A` light / `#D2A23E` dark · pressed `#8F6A1F`
349
+ - Text primary: `#1A1A1C` light / `#EDEDEF` dark
350
+ - Text secondary: `#5C5C63` light / `#A0A0A8` dark
351
+ - Divider: `#E3E1DA` light / `#2E2E33` dark
352
+ - Success: `#2E8B57`
353
+ - Error / destructive: `#C7453B`
354
+ - Link: `#16264A` light / `#D2A23E` dark
355
+
356
+ ### Example Component Prompts
357
+ - "Build the Bonvoy points panel in SwiftUI: a `#16264A` navy card, 14pt corner radius, 1pt `#243A66` border, 16pt padding. Top row: leading VStack with an elite-tier eyebrow 'TITANIUM ELITE' (SF Pro 11pt w700, tracking 1.2, `#D2A23E`) and member name 'A. Morgan · Member' (13pt `rgba(255,255,255,0.7)`); trailing VStack right-aligned with points '128,450' (SF Pro Display 26pt w800 white) and 'POINTS' (11pt `rgba(255,255,255,0.6)`). Below: a 6pt progress bar, track `rgba(255,255,255,0.14)`, fill a `#B3852A → #D2A23E` gradient at 64%. Footer: '21,550 points to your next free night' 11pt `rgba(255,255,255,0.6)`. Animate the bar 0 → target over 500ms and count the points up over 600ms."
358
+
359
+ - "Create a Bonvoy rate-select card: 14pt padding, 10pt corner radius, 1pt `#2E2E33` border, surface `#1A1A1D`. Leading: rate name 'Member Rate' SF Pro 15pt w600 `#EDEDEF` + 'Free cancellation · Earn 2,180 pts' 12pt `#A0A0A8`. Trailing right-aligned: '$545' SF Pro Display 17pt w800 + '+ 2,180 pts' 11pt w700 `#D2A23E`. When selected: 1pt `#B3852A` border + a 10% gold tint background; animate the border/tint in over 180ms."
360
+
361
+ - "Build the Bonvoy hotel hero: a full-bleed photo ≈256pt, square top corners, bottom scrim gradient to `rgba(18,18,20,0.7)`. Overlay top: back / share / save circular 36pt buttons (`rgba(18,18,20,0.55)` + blur) inset to the safe area. Overlay bottom-leading: a gold small-caps eyebrow 'THE RITZ-CARLTON' (11pt w700 tracked 1.4 `#D2A23E`), hotel name 'The Ritz-Carlton, Half Moon Bay' (white 23pt w800), location 'Half Moon Bay, California · Luxury' (`rgba(255,255,255,0.82)` 13pt)."
362
+
363
+ - "Render the Bonvoy Mobile Key card: a `#16264A` navy card, 14pt radius, 1pt `#243A66` border, 16pt padding, horizontal layout. Leading: a 48pt rounded tile `rgba(210,162,62,0.16)` with a gold lock glyph `#D2A23E`. Content: 'Mobile Key ready' 14pt w700 white, 'Skip the front desk · Tap your phone to unlock' 12pt `rgba(255,255,255,0.65)`, and 'ROOM 1408 · CHECK-IN 3:00 PM' 11pt w700 `#D2A23E` tracked 0.5. On tap: gold ring pulse + success haptic."
364
+
365
+ - "Create the Bonvoy sticky booking bar: pinned bottom, ≈76pt + safe area, `rgba(18,18,20,0.97)` + 20pt blur, 1pt `#2E2E33` top divider. Leading: '$545' SF Pro Display 19pt w800 `#EDEDEF` + '/ night' 13pt `#A0A0A8`, and 'Earn 2,180 Bonvoy points' 12pt w700 `#D2A23E`. Trailing: a 'Book' button — `#B3852A` fill, `#1C1206` text 15pt w700, 8pt radius, pressed `#8F6A1F` + scale 0.98."
366
+
367
+ - "Render the Bonvoy bottom tab bar: ≈68pt incl. home indicator, tabs Home / Search / Trips / Mobile Key / Account, 22pt glyphs, active tint `#D2A23E` (gold — loyalty is the spine) inactive `#8E8E96`, labels SF Pro 10pt w500 always shown, translucent blurred background with a 0.5pt `#2E2E33` top divider, and a gold dot on Mobile Key when a key is active."
368
+
369
+ ### Iteration Guide
370
+ 1. Base is deep Bonvoy navy `#16264A` / near-black `#1C1C1C`; dark canvas `#121214` — premium, restrained, NOT a deal site
371
+ 2. Gold `#B3852A` means earned value ONLY — points, tiers, redemption, the Book CTA; brighten to `#D2A23E` on dark
372
+ 3. The Bonvoy points panel (tier + balance + gold progress bar) sits high on the hotel screen — loyalty is the heart
373
+ 4. Rate cards are priced in cash AND points; the selected card gets a gold border + tint
374
+ 5. Every hotel leads with a tall full-bleed hero + a gold letter-spaced small-caps sub-brand eyebrow
375
+ 6. The Mobile Key is a navy + gold card ("skip the front desk") — the premium-stay payoff
376
+ 7. Elite tiers (Silver / Gold / Platinum / Titanium / Ambassador) are small-caps pills, visible on the member panel
377
+ 8. The points balance and tier are among the loudest, most intentional type moments (800-weight numeral, tracked small-caps)
378
+ 9. Typography is SF Pro + Dynamic Type — no custom typeface; eyebrows are uppercase, tightly tracked
379
+ 10. Keep it calm — navy panels with hairline borders (not shadows), tight 8pt corners, photography-forward; loudest motion is the points count-up