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,431 @@
1
+ # Design System Inspiration of Expedia (iOS)
2
+
3
+ ## 1. Visual Theme & Atmosphere
4
+
5
+ Expedia's iOS app is a **deal-forward travel marketplace** wrapped in a confident, trip-blue identity. The light canvas is a clean near-white (`#FFFFFF` / `#F5F7FA`) and the app's emotional center of gravity is the moment you see a *better price*: bundle savings, member prices, and One Key rewards are surfaced everywhere, almost always in the brand's signature **Expedia Yellow** (`#FFC94D`). The app is dense but not cluttered — it leans on full-bleed property and destination photography, big legible price typography, and a yellow "savings" accent that punches against the otherwise blue-and-grey chrome. Where Airbnb whispers and Notion disappears, Expedia *sells*: every card has a reason-to-believe (a strikethrough price, a "−24% Bundle" flag, a "Member price" tag, an "Earn 2,040 One Key cash" line).
6
+
7
+ The structural anchor is the **search-and-results loop**. Open the app and you land on a search surface with a segmented mode switch — **Stays / Flights / Cars / Packages (Bundle)** — sitting above a single tappable search pill ("San Diego, CA · Oct 12–17 · 2 travelers · 1 room"). Tap search and you drop into a vertically scrolling **results list** of property cards: a 16:10 hero photo with a deal flag top-left and a save-heart top-right, then title, neighborhood, a navy review-score badge ("9.2 Wonderful · 1,847 reviews"), a price block (strikethrough → discounted → "/ night"), and a gold One Key earn line. This card is the workhorse of the entire app and its anatomy is repeated for flights (fare cards) and cars.
8
+
9
+ Color is purposeful and role-bound. **Expedia Yellow** `#FFC94D` is the *savings/deal/loyalty highlight* — bundle tags, member-price flags, the One Key chip, primary "Bundle & save" CTAs. **Action Blue** `#1668E3` is the *interactive* color — links, secondary CTAs, the reserve button, selected states. **Expedia Navy** `#00355F` is the *brand/trust* color — the logomark field, review-score badge backgrounds, dark headers. **One Key gold** `#F5C518` is a tightly-scoped *rewards-only* color — One Key cash balances and "earn" lines, never used for generic UI. There is a clear hierarchy: navy says "trusted travel brand," blue says "tap me," yellow says "you're saving money," gold says "this is your loyalty currency."
10
+
11
+ Typography is **Expedia Sans** (the company's proprietary geometric humanist family, designed by Pentagram for the 2017+ rebrand), which falls back gracefully to **Inter** / SF Pro on iOS when the bundled face is unavailable. The hierarchy is product-UI rhythm (display → screen title → section → card title → body → meta → badge), not editorial. Prices are the loudest non-display element: an 18pt 800-weight number with a strikethrough antecedent and a quiet "/ night" suffix. Weights concentrate at 400 (body), 600 (subtitles, badges), 700 (card titles, sections), 800 (display, prices).
12
+
13
+ **Key Characteristics:**
14
+ - Light near-white canvas (`#FFFFFF` / `#F5F7FA`) light / navy-tinted charcoal (`#0E1116`) dark — content-forward, deal-forward
15
+ - Search-and-results loop — segmented Stays/Flights/Cars/Bundle switch → single search pill → vertical results list
16
+ - Property/fare result card — 16:10 hero, deal flag (top-left), save heart (top-right), title, location, review-score badge, price block, One Key earn line
17
+ - Expedia Yellow (`#FFC94D`) = savings/deal/loyalty highlight; never generic chrome
18
+ - Action Blue (`#1668E3`) = interactive (links, CTAs, selection)
19
+ - Expedia Navy (`#00355F`) = brand/trust (logomark, review badge, headers)
20
+ - One Key gold (`#F5C518`) = rewards-only (balances, earn lines, One Key chip)
21
+ - Navy review-score badge ("9.2 Wonderful · 1,847 reviews") — Expedia's signature trust signal
22
+ - Bundle + Save — packaging stay+flight+car for a discounted "Bundle" price (the core monetization gesture)
23
+ - Strikethrough → discounted price pattern on nearly every card
24
+ - Trips tab — itinerary timeline grouping flights, stays, cars under a single trip
25
+ - Bottom tab bar: Search / Saved / Trips / Support / Account
26
+
27
+ ## 2. Color Palette & Roles
28
+
29
+ ### Primary (Brand & Interactive)
30
+ - **Expedia Yellow** (`#FFC94D`): Savings/deal/loyalty highlight — bundle tags, member-price flags, One Key chip, "Bundle & save" primary CTA fill (text on it is navy `#00355F`).
31
+ - **Yellow Deep** (`#FFB31A`): Pressed state for yellow CTAs and tags.
32
+ - **Action Blue** (`#1668E3`): Primary interactive — "Reserve" CTA, links, secondary CTAs, selected segment underline, in-card actions.
33
+ - **Action Blue Pressed** (`#0F4FB0`): Pressed state for blue CTAs.
34
+ - **Expedia Navy** (`#00355F`): Brand/trust — logomark field, review-score badge background, dark hero overlays, top app bar on detail screens.
35
+ - **Navy Soft** (`#14416B`): Lighter navy for secondary badges and chips on dark.
36
+ - **One Key Gold** (`#F5C518`): Rewards-only — One Key cash balance, "Earn X One Key cash" lines, One Key membership chip. Never used for generic UI.
37
+
38
+ ### Canvas & Surfaces (Light Mode)
39
+ - **Canvas White** (`#FFFFFF`): Primary light canvas, card backgrounds.
40
+ - **Surface Gray** (`#F5F7FA`): App background behind cards, grouped sections.
41
+ - **Surface Pressed** (`#ECEFF4`): Pressed rows, selected list items.
42
+ - **Divider** (`#E3E7ED`): Hairline dividers between rows, card borders.
43
+ - **Scrim** (`#00000066`): 40% black overlay on hero photos for text legibility.
44
+
45
+ ### Canvas & Surfaces (Dark Mode)
46
+ - **Dark Canvas** (`#0E1116`): Primary dark canvas — carries a subtle navy bias (NOT pure black) echoing Expedia Navy.
47
+ - **Dark Surface 1** (`#161B22`): Card backgrounds, elevated surfaces.
48
+ - **Dark Surface 2** (`#1F2630`): Chips, segmented controls, secondary fills.
49
+ - **Dark Divider** (`#2A323E`): Hairline dividers and card borders.
50
+ - **Dark Scrim** (`#00000080`): 50% black overlay on hero photos.
51
+
52
+ ### Text
53
+ - **Text Primary Light** (`#1A1F26`): Primary body and titles on light.
54
+ - **Text Secondary Light** (`#5A6573`): Metadata, neighborhoods, captions.
55
+ - **Text Tertiary Light** (`#8A95A3`): Strikethrough prices, disabled.
56
+ - **Text Primary Dark** (`#E8EBEF`): Primary text on dark.
57
+ - **Text Secondary Dark** (`#9AA4B2`): Metadata on dark.
58
+ - **Text Tertiary Dark** (`#6A7585`): Strikethrough prices, disabled on dark.
59
+
60
+ ### Semantic
61
+ - **Success Green** (`#1A8B4B`): "Free cancellation", high review scores (9.0+ badge), confirmed booking.
62
+ - **Error Red** (`#D93A3A`): Form errors, "Only 2 rooms left at this price" urgency, cancellation warnings.
63
+ - **Warning Amber** (`#E8830C`): Price-change alerts, "Prices may rise" banners.
64
+ - **Star Gold** (`#FFC94D`): Star ratings on properties (shares Expedia Yellow).
65
+ - **Member Price Tint** (`#FFC94D1F`): 12% yellow background behind member-price callouts.
66
+
67
+ ### Review-Score Badge Color Ramp
68
+ The navy/blue/green badge that fronts every property — color shifts with score band.
69
+
70
+ | Score Band | Badge Background | Label Text |
71
+ |------------|------------------|------------|
72
+ | 9.0–10 (Wonderful) | `#1A8B4B` | Wonderful |
73
+ | 8.0–8.9 (Excellent) | `#1668E3` | Excellent |
74
+ | 7.0–7.9 (Very Good / Good) | `#14416B` | Good |
75
+ | 6.0–6.9 (Pleasant) | `#5A6573` | Pleasant |
76
+ | < 6.0 | `#8A95A3` | — |
77
+
78
+ ## 3. Typography Rules
79
+
80
+ ### Font Family
81
+ - **Primary**: `Expedia Sans` (proprietary, by Pentagram for Expedia Group, 2017+ rebrand) — geometric humanist sans tuned for travel commerce: legible price figures, generous x-height, confident bold weights.
82
+ - **Fallback Stack**: `'Expedia Sans', -apple-system, BlinkMacSystemFont, 'SF Pro Display', 'SF Pro Text', 'Inter', 'Segoe UI', Roboto, Helvetica, Arial, sans-serif`
83
+ - **Closest free substitute**: `Inter` (by Rasmus Andersson, SIL OFL) — matched x-height, geometric construction, excellent tabular figures for prices.
84
+ - **Numerals**: Tabular/lining figures for all prices and review scores (so columns of prices align).
85
+
86
+ ### Hierarchy
87
+
88
+ | Role | Font | Size | Weight | Line Height | Letter Spacing | Notes |
89
+ |------|------|------|--------|-------------|----------------|-------|
90
+ | Display | Expedia Sans | 32pt | 800 | 1.15 | -0.6pt | Home hero ("Find your next trip") |
91
+ | Screen Title | Expedia Sans | 26pt | 800 | 1.2 | -0.4pt | Destination / results header |
92
+ | Section | Expedia Sans | 22pt | 700 | 1.25 | -0.2pt | "Bundle + Save deals" |
93
+ | Card Title | Expedia Sans | 18pt | 700 | 1.3 | -0.2pt | Property / fare name |
94
+ | Price (Now) | Expedia Sans | 18pt | 800 | 1.2 | -0.2pt | Discounted price figure |
95
+ | Body | Expedia Sans | 16pt | 400 | 1.5 | 0pt | Descriptions, policy text |
96
+ | Card Subtitle | Expedia Sans | 15pt | 600 | 1.35 | 0pt | Neighborhood, "0.4 mi from center" |
97
+ | Review Score | Expedia Sans | 15pt | 800 | 1.0 | 0pt | "9.2" inside navy badge |
98
+ | Meta | Expedia Sans | 14pt | 400 | 1.4 | 0pt | "1,847 reviews · Free cancellation" |
99
+ | Price (Strike) | Expedia Sans | 13pt | 400 | 1.0 | 0pt | Strikethrough antecedent price |
100
+ | Badge / Tag | Expedia Sans | 12pt | 600 | 1.0 | 0.2pt | "−24% Bundle", "Member price" |
101
+ | One Key Line | Expedia Sans | 11pt | 700 | 1.2 | 0.1pt | "Earn 2,040 One Key cash" |
102
+ | Button | Expedia Sans | 16pt | 700 | 1.0 | 0pt | Primary/secondary CTAs |
103
+ | Tab Label | Expedia Sans | 10pt | 600 | 1.0 | 0.1pt | Bottom tab labels |
104
+
105
+ ### Principles
106
+ - **Price is the loudest content element**: discounted price at 18pt 800, strikethrough at 13pt 400 tertiary, "/ night" suffix at 12pt secondary — the eye lands on savings.
107
+ - **Tabular figures everywhere prices appear**: prices, review scores, point balances must align in vertical lists.
108
+ - **Weight concentrated at 400 / 600 / 700 / 800**: body regular, subtitles/badges semibold, titles/sections bold, display/prices extra-bold. No thin, no black.
109
+ - **Navy on yellow, white on blue**: text on Expedia Yellow is always navy `#00355F`; text on Action Blue is always white `#FFFFFF`.
110
+ - **Dynamic Type first-class**: display, titles, body, prices scale; tab labels, badges, One Key lines stay fixed.
111
+
112
+ ## 4. Component Stylings
113
+
114
+ ### Buttons
115
+
116
+ **Primary Button (Reserve / Continue)**
117
+ - Shape: Rounded rectangle, 8pt corner radius
118
+ - Background: `#1668E3` (Action Blue)
119
+ - Text: `#FFFFFF`, Expedia Sans 16pt weight 700
120
+ - Padding: 14pt vertical, 28pt horizontal
121
+ - Full-width on detail/checkout screens (leading + trailing 16pt insets)
122
+ - Pressed: background `#0F4FB0` + scale 0.98
123
+ - Disabled: `#1668E3` at 38% opacity
124
+
125
+ **Savings / Bundle Button (Bundle & save)**
126
+ - Shape: Rounded rectangle, 8pt corner radius
127
+ - Background: `#FFC94D` (Expedia Yellow)
128
+ - Text: `#00355F` (Expedia Navy), Expedia Sans 16pt weight 700
129
+ - Padding: 14pt vertical, 28pt horizontal
130
+ - Pressed: background `#FFB31A` + scale 0.98
131
+ - Used for the package/bundle conversion CTA — the highest-intent action
132
+
133
+ **Secondary / Outline Button (Add a flight)**
134
+ - Background: transparent
135
+ - Text: `#1668E3` (Action Blue)
136
+ - Border: 1pt `#1668E3`
137
+ - Padding: 12pt vertical, 20pt horizontal
138
+ - Corner radius: 8pt
139
+ - Pressed: background `#1668E31A` (10% blue)
140
+
141
+ **Text Button (See all 38 deals)**
142
+ - Font: Expedia Sans 14pt weight 600
143
+ - Color: `#1668E3`
144
+ - No underline; chevron trailing optional
145
+ - Pressed: 60% opacity
146
+
147
+ **Icon Button (Save heart)**
148
+ - Size: 20pt glyph in 30pt circular hit area
149
+ - On hero photo: filled-black-40% circle behind for contrast
150
+ - Unsaved: hollow heart, `#FFFFFF` stroke 1.8pt, `rgba(0,0,0,0.4)` fill
151
+ - Saved: filled `#1668E3` with `#FFFFFF` 1.6pt stroke
152
+ - Toggle: scale-bounce 1.0 → 1.2 → 1.0 in 220ms + soft haptic
153
+
154
+ ### Core Atoms
155
+
156
+ **Property / Result Card**
157
+ - Container: `#FFFFFF` light / `#161B22` dark, 16pt corner radius, 0.5pt `#E3E7ED` / `#2A323E` border, subtle shadow `0 4px 12px rgba(0,0,0,0.08)` light / `0 4px 12px rgba(0,0,0,0.4)` dark
158
+ - Hero photo: full-width, 16:10 aspect ratio, square top corners (clipped to card radius)
159
+ - **Deal flag** (top-left, 12pt inset): `#FFC94D` background, `#00355F` text, Expedia Sans 12pt w800, 6pt corner radius, 4pt vertical / 9pt horizontal padding ("−24% Bundle", "Member price")
160
+ - **Save heart** (top-right, 10pt inset): see Icon Button
161
+ - Body padding: 12pt top, 14pt horizontal, 14pt bottom
162
+ - Title: Expedia Sans 18pt w700
163
+ - Subtitle (location): Expedia Sans 15pt w600 secondary, 3pt below title
164
+ - **Review-score row** (8pt below subtitle): navy badge (`#14416B`/`#1A8B4B`/`#1668E3` per band) with white 15pt w800 score + 6pt gap + word ("Wonderful") in 12pt w700 + " · 1,847 reviews" in 12pt secondary
165
+ - **Price row** (10pt below): optional strikethrough `#8A95A3` 13pt + discounted `#1A1F26` 18pt w800 + "/ night" 12pt secondary
166
+ - **One Key earn line** (7pt below): gold dot/coin + "Earn 2,040 One Key cash" Expedia Sans 11pt w700 `#F5C518`
167
+
168
+ **Flight / Fare Card** (variant of result card)
169
+ - Top row: airline logo (24pt) + airline name + cabin
170
+ - Center: depart time → duration arc with stops dots → arrive time (times Expedia Sans 18pt w700, airport codes 13pt secondary)
171
+ - Bottom: price block (right-aligned, 18pt w800) + "Round trip" 12pt secondary + One Key earn line
172
+ - "Hacker fare" / "Self-transfer" badge: amber `#E8830C` chip when mixed-carrier
173
+
174
+ **Review-Score Badge**
175
+ - Rounded rectangle, 6pt corner radius
176
+ - Background per score band (see §2 ramp)
177
+ - Text: white, Expedia Sans 15pt w800
178
+ - Padding: 3pt vertical, 7pt horizontal
179
+ - Always paired with a word label and review count to its right
180
+
181
+ **Price Block**
182
+ - Strikethrough antecedent: Expedia Sans 13pt w400 `#8A95A3`, `line-through`
183
+ - Discounted/now: Expedia Sans 18pt w800 `#1A1F26` (or `#E8EBEF` dark)
184
+ - Period suffix: Expedia Sans 12pt w400 secondary, baseline-aligned
185
+ - "Member price" / "Bundle price" label: 12pt w600, color = green `#1A8B4B` for member, navy `#00355F` on yellow tag for bundle
186
+
187
+ **One Key Chip / Pill**
188
+ - Pill, 500pt corner radius
189
+ - Background: `#1F2630` dark / `#FFC94D1F` light
190
+ - Leading 7pt gold dot or coin glyph
191
+ - Text: Expedia Sans 11pt w700 `#F5C518`
192
+ - Content: "12,480 One Key" or "$124.80 One Key cash"
193
+
194
+ ### Navigation
195
+
196
+ **Bottom Tab Bar**
197
+ - Height: 52pt + safe area
198
+ - Background: `#FFFFFF` / `#0E1116` with 0.5pt top divider `#E3E7ED` / `#2A323E`
199
+ - Tabs (5): Search, Saved, Trips, Support, Account
200
+ - Icon size: 22pt
201
+ - Active: `#1668E3` (Action Blue), filled glyph
202
+ - Inactive: `#8A95A3` / `#6A7585`, outline glyph
203
+ - Labels: Expedia Sans 10pt w600, always shown
204
+ - No pill indicator — color + fill change only
205
+
206
+ **Top App Bar (Detail / Results)**
207
+ - Height: 44pt + safe area
208
+ - On photo hero: transparent → solidifies to `#FFFFFF`/`#0E1116` on scroll
209
+ - Leading: back chevron (white over photo, primary text once solid)
210
+ - Trailing: share + save heart
211
+ - Title: appears centered on scroll past hero
212
+
213
+ **Segmented Mode Switch (Stays / Flights / Cars / Bundle)**
214
+ - 4 equal segments, each a 10pt-radius pill, 9pt vertical padding
215
+ - Inactive: `#F5F7FA`/`#1F2630` background, `#5A6573`/`#9AA4B2` text, 0.5pt divider border
216
+ - Active: `#FFC94D` background, `#00355F` text, no border
217
+ - Transition: 200ms ease-out background + text color crossfade
218
+
219
+ ### Input Fields
220
+
221
+ **Search Pill (the entry point)**
222
+ - Height: 52pt
223
+ - Background: `#FFFFFF`/`#161B22`, 0.5pt `#E3E7ED`/`#2A323E` border
224
+ - Corner radius: 14pt
225
+ - Shadow: `0 4px 12px rgba(0,0,0,0.08)` / `rgba(0,0,0,0.4)`
226
+ - Leading: `magnifyingglass` 17pt secondary
227
+ - Two-line content: line 1 destination Expedia Sans 14pt w700; line 2 "Oct 12 – 17 · 2 travelers · 1 room" 11pt secondary
228
+ - Tap: pushes full search form (destination autocomplete, date range, traveler stepper)
229
+
230
+ **Text Field (forms / traveler details)**
231
+ - Height: 52pt
232
+ - Background: `#F5F7FA`/`#1F2630`
233
+ - Corner radius: 8pt
234
+ - Border: 1pt transparent → `#1668E3` on focus
235
+ - Label: floating, Expedia Sans 12pt secondary
236
+ - Error: 1pt `#D93A3A` border + helper text `#D93A3A` 12pt
237
+
238
+ **Date Range / Calendar**
239
+ - Two-month vertical scroll calendar
240
+ - Selected start/end: `#1668E3` filled circle, white text
241
+ - In-range: `#1668E31A` (10% blue) connecting band
242
+ - Today: `#1668E3` ring
243
+
244
+ ### Distinctive Components
245
+
246
+ **Bundle + Save Module**
247
+ - A horizontally laid "stay + flight (+ car)" stack with a yellow savings ribbon
248
+ - Header: "Bundle and save $214" — savings figure in `#00355F` on `#FFC94D1F` band
249
+ - CTA: yellow "Bundle & save" button
250
+ - Each component row: icon + name + individual price (strikethrough) → bundled price
251
+
252
+ **One Key Rewards Strip**
253
+ - Surface `#F5F7FA`/`#1F2630`, 12pt corner radius, 0.5pt divider
254
+ - Leading 36pt gold coin ("1K"), title "One Key cash available" 13pt w700, subtitle 11pt secondary
255
+ - Trailing balance: Expedia Sans 16pt w800 `#F5C518`
256
+ - Appears on home, checkout, and Account
257
+
258
+ **Trips Timeline**
259
+ - Vertical itinerary grouped by trip → by day
260
+ - Each item: type icon (flight/bed/car) + time + title + status chip
261
+ - Connecting vertical rail `#E3E7ED`/`#2A323E` between items
262
+ - Confirmed status: green `#1A8B4B` chip; pending: amber `#E8830C`
263
+
264
+ **Price Forecast / Change Banner**
265
+ - Full-width inline banner, `#FFC94D1F` background, 8pt radius
266
+ - Leading trend glyph, text "Prices for these dates are trending up" 13pt w600
267
+ - Optional "Track price" outline button trailing
268
+
269
+ **Map Price Pins**
270
+ - Pill, 12pt radius, drop shadow `0 2px 6px rgba(0,0,0,0.4)`
271
+ - Default: `#FFFFFF`/`#161B22` bg, navy text
272
+ - Selected: `#1668E3` bg, white text
273
+ - Viewed: `#ECEFF4`/`#0E1116` muted
274
+
275
+ ## 5. Layout Principles
276
+
277
+ ### Spacing System
278
+ - Base unit: 4pt
279
+ - Scale: 4, 8, 12, 16, 20, 24, 32, 40, 48, 64
280
+ - Card vertical gap: 16pt
281
+ - Card internal padding: 12–14pt
282
+ - Screen horizontal inset: 16pt
283
+ - Section header to first card: 10pt
284
+
285
+ ### Grid & Container
286
+ - iPhone: single-column results list, 16pt insets, full-bleed hero photos within cards
287
+ - iPad: 2-column results grid (max content width 980pt centered, 24pt insets); detail uses split (list + map/detail)
288
+ - Map view: full-bleed map with floating result carousel at bottom
289
+
290
+ ### Whitespace Philosophy
291
+ - **Commerce density with breathing room**: cards are information-dense (photo, title, score, price, loyalty) but separated by a generous 16pt gap so each is a discrete decision unit
292
+ - **Savings gets the spotlight**: yellow deal flags and One Key lines get their own visual lane — never crowded by body copy
293
+ - **Photo-first**: every result leads with a 16:10 photo; chrome is minimal over it (just deal flag + heart)
294
+
295
+ ### Border Radius Scale
296
+ - Square (0pt): hero photo top edge (clipped to card), dividers
297
+ - Subtle (4pt): inline price chips
298
+ - Tag (6pt): deal flags, review-score badge
299
+ - Standard (8pt): buttons, text fields, inline banners
300
+ - Card (12–16pt): result cards, rewards strip, modules
301
+ - Pill (500pt): One Key chip, segmented control, map pins
302
+ - Circle (50%): save-heart hit area, avatars, One Key coin
303
+
304
+ ## 6. Depth & Elevation
305
+
306
+ Expedia uses **soft, functional elevation** — cards lift just enough to read as tappable units; deal flags and CTAs sit flat on their surfaces.
307
+
308
+ | Level | Treatment (Light) | Treatment (Dark) | Use |
309
+ |-------|-------------------|------------------|-----|
310
+ | Flat (0) | none | none | Page background, deal flags, badges |
311
+ | Card (1) | `0 4px 12px rgba(0,0,0,0.08)` | `0 4px 12px rgba(0,0,0,0.4)` | Result cards, rewards strip, search pill |
312
+ | Floating (2) | `0 8px 24px rgba(0,0,0,0.12)` | `0 8px 24px rgba(0,0,0,0.55)` | Map result carousel, sticky CTA bar |
313
+ | Sheet (3) | `0 -8px 28px rgba(0,0,0,0.14)` | `0 -8px 28px rgba(0,0,0,0.6)` | Bottom sheets (filters, traveler picker) |
314
+ | Modal Scrim | `rgba(0,0,0,0.4)` | `rgba(0,0,0,0.55)` | Dim behind modals & sheets |
315
+
316
+ **Shadow Philosophy**: shadow signals "this is a tappable card / it floats." Deal flags, review badges, and the One Key chip are deliberately flat (color carries them). On dark, shadows deepen to 0.4–0.6 opacity to register over `#0E1116`.
317
+
318
+ ### Motion
319
+ - **Card tap → detail**: shared-element hero photo expands, push transition 320ms ease-out
320
+ - **Save heart**: scale 1.0 → 1.2 → 1.0 over 220ms + soft haptic; deal recalculates silently
321
+ - **Segmented switch**: active pill background + text crossfade 200ms ease-out
322
+ - **Price update (date change)**: old price cross-dissolves to new in 180ms; brief `#FFC94D` flash on the price if it dropped
323
+ - **Bundle reveal**: savings ribbon slides down + scales from 0.96 over 240ms ease-out when a flight is added
324
+ - **Filter sheet**: bottom sheet slides up 300ms ease-out; result count animates as filters toggle
325
+ - **Sticky CTA bar**: fades/translates in over 200ms once the user scrolls past the fold on a detail screen
326
+ - **Pull-to-refresh**: Expedia-yellow spinner
327
+ - **Haptics**: soft impact on save, segment switch, date-range commit; success haptic on booking confirmation
328
+
329
+ ## 7. Do's and Don'ts
330
+
331
+ ### Do
332
+ - Use Expedia Yellow (`#FFC94D`) strictly for savings/deal/loyalty highlights — bundle tags, member prices, One Key chip, the "Bundle & save" CTA
333
+ - Put navy `#00355F` text on yellow, white on Action Blue `#1668E3`
334
+ - Lead every result card with a 16:10 photo; deal flag top-left, save heart top-right
335
+ - Show the review-score badge with score + word + count ("9.2 Wonderful · 1,847 reviews")
336
+ - Use the strikethrough → discounted price pattern when there is a real saving
337
+ - Reserve One Key gold (`#F5C518`) exclusively for rewards balances and earn lines
338
+ - Use Action Blue (`#1668E3`) for the primary "Reserve" CTA and all links
339
+ - Give cards a 16pt gap and a soft `0 4px 12px` shadow so each is a discrete decision
340
+ - Carry the search-and-results loop: segmented mode switch → search pill → vertical list
341
+ - Use a navy-biased dark canvas (`#0E1116`), NOT pure black
342
+ - Animate a brief yellow price flash when a price drops
343
+
344
+ ### Don't
345
+ - Don't use Expedia Yellow for generic chrome, body text, or non-savings UI — it dilutes the savings signal
346
+ - Don't put white text on yellow or yellow text on blue (contrast + brand violation)
347
+ - Don't use One Key gold for anything other than rewards (no generic icons, no body accents)
348
+ - Don't show a strikethrough price when there is no real discount
349
+ - Don't bury the review-score badge — it's the primary trust signal and must front the card
350
+ - Don't use pure black (`#000000`) for the dark canvas — `#0E1116` carries the navy bias
351
+ - Don't make the bundle/savings CTA blue — the highest-intent action is yellow
352
+ - Don't over-shadow flat elements (deal flags, badges, One Key chip stay flat)
353
+ - Don't crowd the One Key earn line with other copy — it has its own lane
354
+ - Don't animate aggressively — motion is functional, 180–320ms ease-out
355
+ - Don't replace the segmented mode switch with a dropdown — Stays/Flights/Cars/Bundle is a glanceable, always-visible switch
356
+
357
+ ## 8. Responsive Behavior
358
+
359
+ ### Device Sizes
360
+ | Device | Width | Key Changes |
361
+ |--------|-------|-------------|
362
+ | iPhone SE (3rd gen) | 375pt | Single column; hero photo 16:10; segmented switch labels may abbreviate |
363
+ | iPhone 13/14/15 | 390pt | Standard layout |
364
+ | iPhone 15/16 Pro | 393pt | Dynamic Island accommodated; sticky CTA respects safe area |
365
+ | iPhone 15/16 Pro Max | 430pt | Larger hero photos; 2-line meta has more room |
366
+ | iPad (portrait) | 768pt | 2-column results grid; detail in split view (list + detail) |
367
+ | iPad (landscape) | 1024pt+ | Results list + persistent map pane side-by-side |
368
+
369
+ ### Dynamic Type
370
+ - Display, screen title, section, card title, body, prices: full scale
371
+ - Tab labels, deal flags/badges, One Key lines, review-score number: FIXED (layout-sensitive)
372
+ - Prices keep tabular figures at every scale
373
+
374
+ ### Orientation
375
+ - iPhone: portrait-primary; landscape supported on detail/photo gallery
376
+ - iPad: full rotation; landscape unlocks side-by-side list + map
377
+
378
+ ### Touch Targets
379
+ - Save heart: 30pt circle hit (20pt glyph)
380
+ - Tab bar icons: 22pt glyph, 44pt hit
381
+ - Segmented switch segment: full segment height (≥ 36pt)
382
+ - Search pill: full 52pt height tappable
383
+ - Primary CTA: ≥ 48pt tall
384
+
385
+ ### Safe Area Handling
386
+ - Top app bar respects safe area + Dynamic Island
387
+ - Sticky CTA bar and bottom tab respect home indicator
388
+ - Map result carousel floats above bottom safe area
389
+ - Keyboard: search form scrolls above keyboard; date picker is a sheet above it
390
+
391
+ ## 9. Agent Prompt Guide
392
+
393
+ ### Quick Color Reference
394
+ - Canvas (light): `#FFFFFF` / surface `#F5F7FA`
395
+ - Canvas (dark): `#0E1116`
396
+ - Surface (dark card): `#161B22`
397
+ - Divider: `#E3E7ED` light / `#2A323E` dark
398
+ - Text primary: `#1A1F26` light / `#E8EBEF` dark
399
+ - Text secondary: `#5A6573` light / `#9AA4B2` dark
400
+ - Expedia Yellow (savings): `#FFC94D` (text on it: navy `#00355F`)
401
+ - Action Blue (interactive): `#1668E3`
402
+ - Expedia Navy (brand/trust): `#00355F`
403
+ - One Key Gold (rewards): `#F5C518`
404
+ - Success: `#1A8B4B`
405
+ - Error: `#D93A3A`
406
+ - Review badge — Wonderful: `#1A8B4B`, Excellent: `#1668E3`, Good: `#14416B`
407
+
408
+ ### Example Component Prompts
409
+ - "Build the Expedia property result card in SwiftUI: `#FFFFFF` card (`#161B22` dark), 16pt corner radius, 0.5pt `#E3E7ED` border, shadow `0 4px 12px rgba(0,0,0,0.08)`. Top: 16:10 hero photo with a `#FFC94D` deal flag top-left (text `#00355F`, Expedia Sans 12pt w800, 6pt radius, '−24% Bundle') and a save heart top-right (20pt glyph in 30pt black-40% circle). Body 12/14/14pt padding: title Expedia Sans 18pt w700; location 15pt w600 `#5A6573`; review row = `#1A8B4B` badge with white 15pt w800 '9.2' + '· Wonderful · 1,847 reviews'; price row = strikethrough `#8A95A3` 13pt '$268' then `#1A1F26` 18pt w800 '$204' + '/ night' 12pt secondary; One Key line = gold dot + 'Earn 2,040 One Key cash' 11pt w700 `#F5C518`."
410
+
411
+ - "Create the Expedia segmented mode switch: 4 equal pills (Stays / Flights / Cars / Bundle), 10pt radius, 9pt vertical padding. Inactive: `#F5F7FA` bg, `#5A6573` text, 0.5pt `#E3E7ED` border. Active: `#FFC94D` bg, `#00355F` text, no border. 200ms ease-out crossfade on switch."
412
+
413
+ - "Build the Expedia search pill: 52pt tall, `#FFFFFF` bg, 14pt radius, 0.5pt `#E3E7ED` border, shadow `0 4px 12px rgba(0,0,0,0.08)`. Leading magnifyingglass 17pt `#5A6573`. Two lines: 'San Diego, CA' Expedia Sans 14pt w700; 'Oct 12 – 17 · 2 travelers · 1 room' 11pt `#5A6573`. Tap pushes full search form."
414
+
415
+ - "Render the Expedia One Key rewards strip: `#F5F7FA` surface (`#1F2630` dark), 12pt radius, 0.5pt divider. Leading 36pt gold (`#F5C518`) coin '1K'. Title 'One Key cash available' Expedia Sans 13pt w700; subtitle 11pt `#5A6573`. Trailing balance Expedia Sans 16pt w800 `#F5C518`."
416
+
417
+ - "Build the Expedia primary CTA pair: 'Reserve' = `#1668E3` fill, white Expedia Sans 16pt w700, 8pt radius, 14/28pt padding, pressed `#0F4FB0` + scale 0.98. 'Bundle & save' = `#FFC94D` fill, `#00355F` text, same metrics, pressed `#FFB31A`."
418
+
419
+ - "Create the Expedia review-score badge: rounded rect 6pt radius, background by band — `#1A8B4B` (9.0+ Wonderful), `#1668E3` (8.0+ Excellent), `#14416B` (7.0+ Good). White Expedia Sans 15pt w800 score, 3/7pt padding, followed by word label 12pt w700 + ' · 1,847 reviews' 12pt `#5A6573`."
420
+
421
+ ### Iteration Guide
422
+ 1. Canvas is near-white (`#FFFFFF`/`#F5F7FA`) light, navy-biased charcoal `#0E1116` dark — NOT true black
423
+ 2. Expedia Yellow `#FFC94D` is the savings/deal/loyalty color ONLY — never generic chrome; text on it is navy `#00355F`
424
+ 3. Action Blue `#1668E3` is interactive — Reserve CTA, links, selection; white text on it
425
+ 4. Every result card leads with a 16:10 photo, deal flag top-left, save heart top-right
426
+ 5. The review-score badge (score + word + count) fronts every card — it's the trust signal
427
+ 6. Use strikethrough → discounted price only when there's a real saving; prices use tabular figures
428
+ 7. One Key gold `#F5C518` is rewards-only (balances, earn lines, One Key chip)
429
+ 8. The search-and-results loop is the spine: segmented switch (Stays/Flights/Cars/Bundle) → search pill → vertical list
430
+ 9. The highest-intent CTA ("Bundle & save") is yellow, not blue
431
+ 10. Motion is functional 180–320ms ease-out; flash the price yellow when it drops