designkit-ai 1.0.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 (530) hide show
  1. package/AI-AGENT.md +51 -0
  2. package/LICENSE +21 -0
  3. package/README.md +517 -0
  4. package/bin/designkit.js +61 -0
  5. package/components/_index.md +81 -0
  6. package/components/app-mobile/README.md +117 -0
  7. package/components/app-mobile/badges/badge-count.html +9 -0
  8. package/components/app-mobile/badges/badge-dot.html +9 -0
  9. package/components/app-mobile/badges/badge-large.html +9 -0
  10. package/components/app-mobile/buttons/button-filled.html +9 -0
  11. package/components/app-mobile/buttons/button-icon.html +11 -0
  12. package/components/app-mobile/buttons/button-outlined.html +9 -0
  13. package/components/app-mobile/buttons/button-text.html +9 -0
  14. package/components/app-mobile/buttons/button-tonal.html +9 -0
  15. package/components/app-mobile/buttons/fab-extended.html +12 -0
  16. package/components/app-mobile/buttons/fab-small.html +11 -0
  17. package/components/app-mobile/buttons/fab.html +11 -0
  18. package/components/app-mobile/buttons/icon-button-filled.html +11 -0
  19. package/components/app-mobile/buttons/icon-button-tonal.html +11 -0
  20. package/components/app-mobile/buttons/segmented-button.html +13 -0
  21. package/components/app-mobile/cards/card-elevated.html +15 -0
  22. package/components/app-mobile/cards/card-filled.html +15 -0
  23. package/components/app-mobile/cards/card-outlined.html +15 -0
  24. package/components/app-mobile/charts/bar-chart.html +20 -0
  25. package/components/app-mobile/charts/donut-chart.html +20 -0
  26. package/components/app-mobile/charts/horizontal-bar.html +15 -0
  27. package/components/app-mobile/charts/line-chart.html +26 -0
  28. package/components/app-mobile/charts/progress-ring.html +17 -0
  29. package/components/app-mobile/charts/sparkline.html +11 -0
  30. package/components/app-mobile/charts/stat-card.html +18 -0
  31. package/components/app-mobile/chips/chip-assist.html +12 -0
  32. package/components/app-mobile/chips/chip-filter.html +12 -0
  33. package/components/app-mobile/chips/chip-input.html +14 -0
  34. package/components/app-mobile/chips/chip-suggestion.html +9 -0
  35. package/components/app-mobile/data-display/avatar-group.html +35 -0
  36. package/components/app-mobile/dialogs/dialog-basic.html +16 -0
  37. package/components/app-mobile/dialogs/dialog-fullscreen.html +18 -0
  38. package/components/app-mobile/dividers/divider-full.html +9 -0
  39. package/components/app-mobile/dividers/divider-inset.html +9 -0
  40. package/components/app-mobile/ecommerce/cart-item.html +29 -0
  41. package/components/app-mobile/ecommerce/cart-summary.html +31 -0
  42. package/components/app-mobile/ecommerce/color-selector.html +17 -0
  43. package/components/app-mobile/ecommerce/order-status.html +25 -0
  44. package/components/app-mobile/ecommerce/product-detail-hero.html +45 -0
  45. package/components/app-mobile/ecommerce/size-selector.html +17 -0
  46. package/components/app-mobile/ecommerce/wishlist-item.html +22 -0
  47. package/components/app-mobile/education/assignment-card.html +24 -0
  48. package/components/app-mobile/education/certificate.html +30 -0
  49. package/components/app-mobile/education/course-card.html +32 -0
  50. package/components/app-mobile/education/grade-report.html +53 -0
  51. package/components/app-mobile/education/lesson-progress.html +21 -0
  52. package/components/app-mobile/education/quiz-mcq.html +35 -0
  53. package/components/app-mobile/education/quiz-truefalse.html +26 -0
  54. package/components/app-mobile/education/student-dashboard.html +57 -0
  55. package/components/app-mobile/feedback/banner.html +13 -0
  56. package/components/app-mobile/feedback/progress-circular.html +14 -0
  57. package/components/app-mobile/feedback/progress-linear.html +11 -0
  58. package/components/app-mobile/feedback/skeleton.html +20 -0
  59. package/components/app-mobile/feedback/snackbar.html +15 -0
  60. package/components/app-mobile/feedback/tooltip.html +9 -0
  61. package/components/app-mobile/finance/bank-account-card.html +36 -0
  62. package/components/app-mobile/finance/budget-category.html +24 -0
  63. package/components/app-mobile/finance/credit-score.html +29 -0
  64. package/components/app-mobile/finance/investment-portfolio.html +52 -0
  65. package/components/app-mobile/finance/transaction-row.html +26 -0
  66. package/components/app-mobile/finance/transfer-form.html +42 -0
  67. package/components/app-mobile/fitness/body-metrics.html +41 -0
  68. package/components/app-mobile/fitness/calorie-tracker.html +48 -0
  69. package/components/app-mobile/fitness/exercise-timer.html +30 -0
  70. package/components/app-mobile/fitness/meal-plan.html +36 -0
  71. package/components/app-mobile/fitness/sleep-tracker.html +50 -0
  72. package/components/app-mobile/fitness/workout-card.html +37 -0
  73. package/components/app-mobile/food/cuisine-filter.html +39 -0
  74. package/components/app-mobile/food/menu-item.html +25 -0
  75. package/components/app-mobile/food/order-tracker.html +46 -0
  76. package/components/app-mobile/food/restaurant-card.html +34 -0
  77. package/components/app-mobile/food/review-card.html +35 -0
  78. package/components/app-mobile/food/table-reservation.html +42 -0
  79. package/components/app-mobile/forms/form-address.html +41 -0
  80. package/components/app-mobile/forms/form-payment.html +37 -0
  81. package/components/app-mobile/forms/form-profile.html +39 -0
  82. package/components/app-mobile/forms/time-picker.html +28 -0
  83. package/components/app-mobile/healthcare/appointment-card.html +26 -0
  84. package/components/app-mobile/healthcare/doctor-profile.html +32 -0
  85. package/components/app-mobile/healthcare/health-metric-chart.html +51 -0
  86. package/components/app-mobile/healthcare/insurance-card.html +35 -0
  87. package/components/app-mobile/healthcare/lab-results.html +23 -0
  88. package/components/app-mobile/healthcare/medication-reminder.html +24 -0
  89. package/components/app-mobile/healthcare/symptom-checker.html +42 -0
  90. package/components/app-mobile/healthcare/vitals-dashboard.html +56 -0
  91. package/components/app-mobile/inputs/date-picker.html +68 -0
  92. package/components/app-mobile/inputs/file-upload.html +13 -0
  93. package/components/app-mobile/inputs/otp-input.html +16 -0
  94. package/components/app-mobile/inputs/password-field.html +13 -0
  95. package/components/app-mobile/inputs/search-bar.html +17 -0
  96. package/components/app-mobile/inputs/select.html +17 -0
  97. package/components/app-mobile/inputs/text-field-filled.html +12 -0
  98. package/components/app-mobile/inputs/text-field-outlined.html +12 -0
  99. package/components/app-mobile/inputs/textarea.html +12 -0
  100. package/components/app-mobile/inputs/time-picker.html +33 -0
  101. package/components/app-mobile/job/application-status.html +18 -0
  102. package/components/app-mobile/job/interview-schedule.html +32 -0
  103. package/components/app-mobile/lists/list-item-1line.html +14 -0
  104. package/components/app-mobile/lists/list-item-2line.html +20 -0
  105. package/components/app-mobile/lists/list-item-3line.html +17 -0
  106. package/components/app-mobile/logistics/delivery-map.html +40 -0
  107. package/components/app-mobile/logistics/driver-card.html +25 -0
  108. package/components/app-mobile/logistics/package-tracker.html +42 -0
  109. package/components/app-mobile/logistics/shipment-row.html +20 -0
  110. package/components/app-mobile/media/audio-player.html +38 -0
  111. package/components/app-mobile/media/image-carousel.html +28 -0
  112. package/components/app-mobile/menus/menu-context.html +13 -0
  113. package/components/app-mobile/menus/menu-dropdown.html +14 -0
  114. package/components/app-mobile/native/gesture-nav-bar.html +11 -0
  115. package/components/app-mobile/native/ios-action-sheet.html +19 -0
  116. package/components/app-mobile/native/ios-alert.html +18 -0
  117. package/components/app-mobile/native/ios-home-indicator.html +11 -0
  118. package/components/app-mobile/native/ios-list-cell.html +14 -0
  119. package/components/app-mobile/native/ios-nav-bar.html +16 -0
  120. package/components/app-mobile/native/ios-page-sheet.html +17 -0
  121. package/components/app-mobile/native/ios-search-bar.html +15 -0
  122. package/components/app-mobile/native/ios-segmented-control.html +13 -0
  123. package/components/app-mobile/native/ios-status-bar.html +17 -0
  124. package/components/app-mobile/native/ios-tab-bar.html +31 -0
  125. package/components/app-mobile/native/ios-wheel-picker.html +34 -0
  126. package/components/app-mobile/native/notification-item.html +19 -0
  127. package/components/app-mobile/native/permission-dialog.html +18 -0
  128. package/components/app-mobile/native/status-bar.html +16 -0
  129. package/components/app-mobile/navbars/bottom-app-bar.html +19 -0
  130. package/components/app-mobile/navbars/bottom-nav-3.html +28 -0
  131. package/components/app-mobile/navbars/bottom-nav-4.html +26 -0
  132. package/components/app-mobile/navbars/bottom-nav-5.html +30 -0
  133. package/components/app-mobile/navbars/top-app-bar-center.html +17 -0
  134. package/components/app-mobile/navbars/top-app-bar-large.html +20 -0
  135. package/components/app-mobile/navbars/top-app-bar-medium.html +20 -0
  136. package/components/app-mobile/navbars/top-app-bar-small.html +22 -0
  137. package/components/app-mobile/navigation/back-header.html +32 -0
  138. package/components/app-mobile/navigation/segmented-control.html +19 -0
  139. package/components/app-mobile/navigation/stepper-vertical.html +65 -0
  140. package/components/app-mobile/patterns/accordion.html +20 -0
  141. package/components/app-mobile/patterns/activity-feed.html +26 -0
  142. package/components/app-mobile/patterns/audio-waveform.html +34 -0
  143. package/components/app-mobile/patterns/avatar-group.html +14 -0
  144. package/components/app-mobile/patterns/breadcrumb.html +15 -0
  145. package/components/app-mobile/patterns/calendar-month.html +56 -0
  146. package/components/app-mobile/patterns/camera-viewfinder.html +33 -0
  147. package/components/app-mobile/patterns/card-horizontal.html +15 -0
  148. package/components/app-mobile/patterns/cart-item.html +23 -0
  149. package/components/app-mobile/patterns/category-pills.html +15 -0
  150. package/components/app-mobile/patterns/chat-bubble-received.html +15 -0
  151. package/components/app-mobile/patterns/chat-bubble-sent.html +14 -0
  152. package/components/app-mobile/patterns/chat-conversation.html +27 -0
  153. package/components/app-mobile/patterns/chat-input-bar.html +13 -0
  154. package/components/app-mobile/patterns/code-editor.html +29 -0
  155. package/components/app-mobile/patterns/comment-item.html +15 -0
  156. package/components/app-mobile/patterns/contact-card.html +19 -0
  157. package/components/app-mobile/patterns/data-table.html +25 -0
  158. package/components/app-mobile/patterns/empty-state.html +19 -0
  159. package/components/app-mobile/patterns/error-screen.html +14 -0
  160. package/components/app-mobile/patterns/event-card.html +22 -0
  161. package/components/app-mobile/patterns/image-editor.html +34 -0
  162. package/components/app-mobile/patterns/image-grid.html +16 -0
  163. package/components/app-mobile/patterns/login-form.html +22 -0
  164. package/components/app-mobile/patterns/map-card.html +19 -0
  165. package/components/app-mobile/patterns/media-player.html +26 -0
  166. package/components/app-mobile/patterns/notification-list.html +25 -0
  167. package/components/app-mobile/patterns/onboarding-slide.html +24 -0
  168. package/components/app-mobile/patterns/order-summary.html +16 -0
  169. package/components/app-mobile/patterns/order-tracker.html +27 -0
  170. package/components/app-mobile/patterns/pagination.html +17 -0
  171. package/components/app-mobile/patterns/post-card.html +28 -0
  172. package/components/app-mobile/patterns/product-card.html +26 -0
  173. package/components/app-mobile/patterns/profile-header.html +18 -0
  174. package/components/app-mobile/patterns/rating-stars.html +15 -0
  175. package/components/app-mobile/patterns/review-card.html +22 -0
  176. package/components/app-mobile/patterns/search-results.html +35 -0
  177. package/components/app-mobile/patterns/settings-group.html +30 -0
  178. package/components/app-mobile/patterns/stepper-horizontal.html +24 -0
  179. package/components/app-mobile/patterns/story-circle.html +16 -0
  180. package/components/app-mobile/patterns/swipe-action.html +19 -0
  181. package/components/app-mobile/patterns/tag-pills.html +14 -0
  182. package/components/app-mobile/patterns/timeline-item.html +19 -0
  183. package/components/app-mobile/patterns/todo-item.html +18 -0
  184. package/components/app-mobile/patterns/video-editor-timeline.html +36 -0
  185. package/components/app-mobile/patterns/video-player.html +33 -0
  186. package/components/app-mobile/patterns/wallet-card.html +18 -0
  187. package/components/app-mobile/sliders/slider-continuous.html +14 -0
  188. package/components/app-mobile/sliders/slider-discrete.html +21 -0
  189. package/components/app-mobile/social/chat-bubble-received.html +15 -0
  190. package/components/app-mobile/social/chat-bubble-sent.html +16 -0
  191. package/components/app-mobile/social/notification-item.html +17 -0
  192. package/components/app-mobile/social/post-card.html +46 -0
  193. package/components/app-mobile/social/reaction-bar.html +29 -0
  194. package/components/app-mobile/social/story-circle.html +15 -0
  195. package/components/app-mobile/social/user-profile-card.html +29 -0
  196. package/components/app-mobile/surfaces/bottom-sheet.html +23 -0
  197. package/components/app-mobile/surfaces/nav-drawer.html +20 -0
  198. package/components/app-mobile/surfaces/nav-rail.html +14 -0
  199. package/components/app-mobile/surfaces/side-sheet.html +17 -0
  200. package/components/app-mobile/tabs/tabs-primary.html +13 -0
  201. package/components/app-mobile/tabs/tabs-secondary.html +13 -0
  202. package/components/app-mobile/toggles/checkbox.html +14 -0
  203. package/components/app-mobile/toggles/radio.html +14 -0
  204. package/components/app-mobile/toggles/switch.html +11 -0
  205. package/components/app-mobile/travel/booking-summary.html +51 -0
  206. package/components/app-mobile/travel/flight-card.html +41 -0
  207. package/components/app-mobile/travel/hotel-card.html +35 -0
  208. package/components/app-mobile/travel/itinerary-item.html +29 -0
  209. package/components/app-mobile/travel/map-pins.html +42 -0
  210. package/components/app-mobile/travel/travel-date-picker.html +72 -0
  211. package/components/common/decorations/abstract-lines.html +30 -0
  212. package/components/common/decorations/circle-rings.html +26 -0
  213. package/components/common/decorations/corner-decoration.html +27 -0
  214. package/components/common/decorations/dots-pattern.html +51 -0
  215. package/components/common/decorations/gradient-blob.html +19 -0
  216. package/components/common/decorations/mesh-gradient.html +32 -0
  217. package/components/common/decorations/sparkle-burst.html +35 -0
  218. package/components/common/decorations/wave-divider.html +17 -0
  219. package/components/common/illustrations/empty-cart.html +27 -0
  220. package/components/common/illustrations/empty-inbox.html +28 -0
  221. package/components/common/illustrations/empty-search.html +26 -0
  222. package/components/common/illustrations/error-404.html +29 -0
  223. package/components/common/illustrations/no-data.html +31 -0
  224. package/components/common/illustrations/success-check.html +33 -0
  225. package/components/common/illustrations/upload-cloud.html +23 -0
  226. package/components/common/illustrations/welcome.html +31 -0
  227. package/components/common/mockup-elements/avatar-placeholder.html +17 -0
  228. package/components/common/mockup-elements/browser-chrome.html +37 -0
  229. package/components/common/mockup-elements/chart-bar.html +42 -0
  230. package/components/common/mockup-elements/image-placeholder.html +27 -0
  231. package/components/common/mockup-elements/laptop-frame.html +32 -0
  232. package/components/common/mockup-elements/map-placeholder.html +39 -0
  233. package/components/common/mockup-elements/phone-frame.html +29 -0
  234. package/components/common/mockup-elements/status-bar-android.html +30 -0
  235. package/components/common/mockup-elements/status-bar-ios.html +26 -0
  236. package/components/common/mockup-elements/video-placeholder.html +29 -0
  237. package/components/common/ui-icons/icon-add-circle.html +12 -0
  238. package/components/common/ui-icons/icon-airdrop.html +10 -0
  239. package/components/common/ui-icons/icon-airplay.html +10 -0
  240. package/components/common/ui-icons/icon-apple-logo.html +10 -0
  241. package/components/common/ui-icons/icon-arrow-back.html +11 -0
  242. package/components/common/ui-icons/icon-arrow-down.html +10 -0
  243. package/components/common/ui-icons/icon-arrow-right.html +10 -0
  244. package/components/common/ui-icons/icon-arrow-up.html +10 -0
  245. package/components/common/ui-icons/icon-bag.html +10 -0
  246. package/components/common/ui-icons/icon-battery.html +10 -0
  247. package/components/common/ui-icons/icon-bluetooth.html +10 -0
  248. package/components/common/ui-icons/icon-bolt.html +10 -0
  249. package/components/common/ui-icons/icon-bookmark-fill.html +10 -0
  250. package/components/common/ui-icons/icon-bookmark.html +10 -0
  251. package/components/common/ui-icons/icon-bubble-left.html +10 -0
  252. package/components/common/ui-icons/icon-calendar.html +19 -0
  253. package/components/common/ui-icons/icon-camera.html +11 -0
  254. package/components/common/ui-icons/icon-cart.html +10 -0
  255. package/components/common/ui-icons/icon-checkmark.html +10 -0
  256. package/components/common/ui-icons/icon-chevron-down.html +10 -0
  257. package/components/common/ui-icons/icon-chevron-left.html +10 -0
  258. package/components/common/ui-icons/icon-chevron-right.html +10 -0
  259. package/components/common/ui-icons/icon-chevron-up.html +10 -0
  260. package/components/common/ui-icons/icon-clock.html +10 -0
  261. package/components/common/ui-icons/icon-creditcard.html +10 -0
  262. package/components/common/ui-icons/icon-doc.html +10 -0
  263. package/components/common/ui-icons/icon-download.html +10 -0
  264. package/components/common/ui-icons/icon-ellipsis-vertical.html +10 -0
  265. package/components/common/ui-icons/icon-ellipsis.html +10 -0
  266. package/components/common/ui-icons/icon-envelope.html +10 -0
  267. package/components/common/ui-icons/icon-eye-slash.html +10 -0
  268. package/components/common/ui-icons/icon-eye.html +10 -0
  269. package/components/common/ui-icons/icon-faceid.html +10 -0
  270. package/components/common/ui-icons/icon-favorite.html +10 -0
  271. package/components/common/ui-icons/icon-folder.html +10 -0
  272. package/components/common/ui-icons/icon-globe.html +10 -0
  273. package/components/common/ui-icons/icon-heart-fill.html +10 -0
  274. package/components/common/ui-icons/icon-heart.html +10 -0
  275. package/components/common/ui-icons/icon-home.html +10 -0
  276. package/components/common/ui-icons/icon-link.html +10 -0
  277. package/components/common/ui-icons/icon-list-bullet.html +10 -0
  278. package/components/common/ui-icons/icon-location.html +11 -0
  279. package/components/common/ui-icons/icon-lock.html +10 -0
  280. package/components/common/ui-icons/icon-magnifying-glass.html +10 -0
  281. package/components/common/ui-icons/icon-map.html +10 -0
  282. package/components/common/ui-icons/icon-menu-hamburger.html +12 -0
  283. package/components/common/ui-icons/icon-mic.html +10 -0
  284. package/components/common/ui-icons/icon-minus.html +10 -0
  285. package/components/common/ui-icons/icon-notification.html +11 -0
  286. package/components/common/ui-icons/icon-paperplane.html +10 -0
  287. package/components/common/ui-icons/icon-pause.html +10 -0
  288. package/components/common/ui-icons/icon-pencil.html +10 -0
  289. package/components/common/ui-icons/icon-person-2.html +10 -0
  290. package/components/common/ui-icons/icon-person-crop-circle.html +10 -0
  291. package/components/common/ui-icons/icon-phone-fill.html +10 -0
  292. package/components/common/ui-icons/icon-photo.html +10 -0
  293. package/components/common/ui-icons/icon-play-fill.html +10 -0
  294. package/components/common/ui-icons/icon-plus.html +10 -0
  295. package/components/common/ui-icons/icon-profile.html +11 -0
  296. package/components/common/ui-icons/icon-qrcode.html +10 -0
  297. package/components/common/ui-icons/icon-settings.html +11 -0
  298. package/components/common/ui-icons/icon-share.html +14 -0
  299. package/components/common/ui-icons/icon-slider-horizontal.html +10 -0
  300. package/components/common/ui-icons/icon-square-grid.html +10 -0
  301. package/components/common/ui-icons/icon-star-fill.html +10 -0
  302. package/components/common/ui-icons/icon-star.html +10 -0
  303. package/components/common/ui-icons/icon-touchid.html +10 -0
  304. package/components/common/ui-icons/icon-trash.html +10 -0
  305. package/components/common/ui-icons/icon-upload.html +10 -0
  306. package/components/common/ui-icons/icon-video.html +10 -0
  307. package/components/common/ui-icons/icon-wifi.html +10 -0
  308. package/components/common/ui-icons/icon-xmark.html +10 -0
  309. package/components/componentmap-app-mobile.md +210 -0
  310. package/components/componentmap-web.md +206 -0
  311. package/components/web/README.md +110 -0
  312. package/components/web/account/payment-method.html +13 -0
  313. package/components/web/account/profile-card.html +18 -0
  314. package/components/web/account/subscription-card.html +21 -0
  315. package/components/web/badges/badge-set.html +14 -0
  316. package/components/web/buttons/button-danger.html +10 -0
  317. package/components/web/buttons/button-ghost.html +10 -0
  318. package/components/web/buttons/button-group.html +12 -0
  319. package/components/web/buttons/button-icon.html +10 -0
  320. package/components/web/buttons/button-primary.html +11 -0
  321. package/components/web/buttons/button-secondary.html +10 -0
  322. package/components/web/cards/card-basic.html +11 -0
  323. package/components/web/cards/card-feature.html +12 -0
  324. package/components/web/cards/card-image.html +16 -0
  325. package/components/web/cards/card-pricing.html +21 -0
  326. package/components/web/cards/card-stat.html +15 -0
  327. package/components/web/cards/card-testimonial.html +21 -0
  328. package/components/web/cart/cart-page.html +30 -0
  329. package/components/web/cart/checkout-form.html +27 -0
  330. package/components/web/cart/order-confirmation.html +24 -0
  331. package/components/web/charts/chart-area.html +25 -0
  332. package/components/web/charts/chart-bar.html +19 -0
  333. package/components/web/charts/chart-donut.html +27 -0
  334. package/components/web/content/author-card.html +15 -0
  335. package/components/web/content/blog-card-horizontal.html +16 -0
  336. package/components/web/cta/cta-centered.html +15 -0
  337. package/components/web/cta/cta-newsletter.html +16 -0
  338. package/components/web/cta/cta-with-image.html +17 -0
  339. package/components/web/data-display/accordion.html +45 -0
  340. package/components/web/data-display/grid-view.html +21 -0
  341. package/components/web/data-display/list-view.html +27 -0
  342. package/components/web/data-display/progress-steps.html +39 -0
  343. package/components/web/data-display/rating-stars.html +38 -0
  344. package/components/web/data-display/stat-card-compact.html +32 -0
  345. package/components/web/data-display/stat-card-large.html +34 -0
  346. package/components/web/data-display/table-selectable.html +127 -0
  347. package/components/web/data-display/table-sortable.html +120 -0
  348. package/components/web/data-display/tag-group.html +25 -0
  349. package/components/web/data-display/timeline-horizontal.html +55 -0
  350. package/components/web/data-display/timeline-vertical.html +76 -0
  351. package/components/web/data-display/tree-view.html +86 -0
  352. package/components/web/dividers/divider-text.html +8 -0
  353. package/components/web/ecommerce/coupon-input.html +11 -0
  354. package/components/web/ecommerce/product-card-grid.html +29 -0
  355. package/components/web/ecommerce/product-card-list.html +32 -0
  356. package/components/web/features/features-alternating.html +35 -0
  357. package/components/web/features/features-bento.html +43 -0
  358. package/components/web/features/features-icon-list.html +44 -0
  359. package/components/web/feedback/alert-banner.html +12 -0
  360. package/components/web/feedback/empty-state-error.html +18 -0
  361. package/components/web/feedback/empty-state-no-data.html +18 -0
  362. package/components/web/feedback/empty-state-no-search.html +15 -0
  363. package/components/web/feedback/empty-state.html +16 -0
  364. package/components/web/feedback/loading-spinner.html +14 -0
  365. package/components/web/feedback/progress-bar.html +11 -0
  366. package/components/web/feedback/skeleton-card.html +17 -0
  367. package/components/web/feedback/skeleton-list.html +45 -0
  368. package/components/web/feedback/skeleton.html +16 -0
  369. package/components/web/feedback/toast-error.html +12 -0
  370. package/components/web/feedback/toast-info.html +12 -0
  371. package/components/web/feedback/toast-success.html +12 -0
  372. package/components/web/feedback/tooltip.html +8 -0
  373. package/components/web/forms/date-picker.html +67 -0
  374. package/components/web/forms/file-upload.html +16 -0
  375. package/components/web/forms/form-contact.html +35 -0
  376. package/components/web/forms/form-login.html +29 -0
  377. package/components/web/forms/form-search-filters.html +57 -0
  378. package/components/web/forms/form-signup.html +35 -0
  379. package/components/web/heroes/hero-gradient.html +20 -0
  380. package/components/web/heroes/hero-image-bg.html +21 -0
  381. package/components/web/heroes/hero-video.html +17 -0
  382. package/components/web/inputs/checkbox.html +11 -0
  383. package/components/web/inputs/date-input.html +15 -0
  384. package/components/web/inputs/file-upload.html +12 -0
  385. package/components/web/inputs/radio-group.html +15 -0
  386. package/components/web/inputs/search-command.html +12 -0
  387. package/components/web/inputs/select.html +14 -0
  388. package/components/web/inputs/tag-input.html +15 -0
  389. package/components/web/inputs/text-input.html +11 -0
  390. package/components/web/inputs/textarea.html +11 -0
  391. package/components/web/inputs/toggle.html +11 -0
  392. package/components/web/job/candidate-profile.html +47 -0
  393. package/components/web/job/job-listing.html +44 -0
  394. package/components/web/job/resume-section.html +41 -0
  395. package/components/web/job/salary-range.html +19 -0
  396. package/components/web/layout/cta-banner.html +15 -0
  397. package/components/web/layout/features-grid.html +31 -0
  398. package/components/web/layout/hero-centered.html +19 -0
  399. package/components/web/layout/hero-split.html +21 -0
  400. package/components/web/layout/pricing-section.html +37 -0
  401. package/components/web/layout/stats-row.html +13 -0
  402. package/components/web/logos/logo-grid.html +20 -0
  403. package/components/web/logos/logo-ticker.html +19 -0
  404. package/components/web/marketing/cta-simple.html +18 -0
  405. package/components/web/marketing/cta-split.html +20 -0
  406. package/components/web/marketing/faq-accordion.html +55 -0
  407. package/components/web/marketing/feature-centered.html +35 -0
  408. package/components/web/marketing/feature-grid-2col.html +58 -0
  409. package/components/web/marketing/feature-grid-3col.html +44 -0
  410. package/components/web/marketing/footer-complex.html +86 -0
  411. package/components/web/marketing/footer-simple.html +59 -0
  412. package/components/web/marketing/hero-centered.html +44 -0
  413. package/components/web/marketing/hero-split-left.html +41 -0
  414. package/components/web/marketing/hero-split-right.html +35 -0
  415. package/components/web/marketing/logo-cloud.html +18 -0
  416. package/components/web/marketing/newsletter-signup.html +25 -0
  417. package/components/web/marketing/pricing-3tier.html +72 -0
  418. package/components/web/marketing/pricing-toggle.html +85 -0
  419. package/components/web/marketing/social-proof-bar.html +32 -0
  420. package/components/web/marketing/stats-row.html +45 -0
  421. package/components/web/marketing/team-grid.html +65 -0
  422. package/components/web/marketing/testimonial-carousel.html +45 -0
  423. package/components/web/marketing/testimonial-grid.html +75 -0
  424. package/components/web/media/blog-post-card.html +24 -0
  425. package/components/web/media/comment-single.html +26 -0
  426. package/components/web/media/image-gallery-grid.html +18 -0
  427. package/components/web/media/rich-text-block.html +20 -0
  428. package/components/web/media/testimonial-quote.html +20 -0
  429. package/components/web/media/video-player.html +44 -0
  430. package/components/web/menus/dropdown-menu.html +14 -0
  431. package/components/web/metrics/kpi-row.html +13 -0
  432. package/components/web/modals/modal-basic.html +21 -0
  433. package/components/web/modals/modal-form.html +22 -0
  434. package/components/web/navbars/breadcrumb.html +14 -0
  435. package/components/web/navbars/footer.html +35 -0
  436. package/components/web/navbars/sidebar-dark.html +21 -0
  437. package/components/web/navbars/sidebar.html +23 -0
  438. package/components/web/navbars/topnav-search.html +25 -0
  439. package/components/web/navbars/topnav.html +20 -0
  440. package/components/web/navigation/mega-menu.html +92 -0
  441. package/components/web/navigation/pagination.html +43 -0
  442. package/components/web/navigation/sidebar-collapsed.html +93 -0
  443. package/components/web/navigation/sidebar-expanded.html +121 -0
  444. package/components/web/navigation/stepper-horizontal.html +51 -0
  445. package/components/web/patterns/accordion.html +19 -0
  446. package/components/web/patterns/activity-feed.html +25 -0
  447. package/components/web/patterns/auth-login.html +24 -0
  448. package/components/web/patterns/avatar-group.html +13 -0
  449. package/components/web/patterns/calendar-month.html +44 -0
  450. package/components/web/patterns/category-pills.html +15 -0
  451. package/components/web/patterns/chat-web.html +24 -0
  452. package/components/web/patterns/code-editor.html +34 -0
  453. package/components/web/patterns/comparison-table.html +39 -0
  454. package/components/web/patterns/cookie-banner.html +14 -0
  455. package/components/web/patterns/error-page.html +16 -0
  456. package/components/web/patterns/file-list.html +24 -0
  457. package/components/web/patterns/filter-toolbar.html +14 -0
  458. package/components/web/patterns/kanban-column.html +27 -0
  459. package/components/web/patterns/notification-list.html +26 -0
  460. package/components/web/patterns/order-tracker.html +16 -0
  461. package/components/web/patterns/pagination.html +16 -0
  462. package/components/web/patterns/product-card-web.html +23 -0
  463. package/components/web/patterns/settings-form.html +24 -0
  464. package/components/web/patterns/stepper.html +16 -0
  465. package/components/web/patterns/user-table-row.html +15 -0
  466. package/components/web/patterns/video-player.html +26 -0
  467. package/components/web/presentation/slide-content.html +17 -0
  468. package/components/web/presentation/slide-title.html +13 -0
  469. package/components/web/pricing/pricing-table.html +51 -0
  470. package/components/web/pricing/pricing-toggle.html +62 -0
  471. package/components/web/print/business-card.html +20 -0
  472. package/components/web/products/product-card-horizontal.html +19 -0
  473. package/components/web/products/product-detail.html +39 -0
  474. package/components/web/products/product-grid.html +13 -0
  475. package/components/web/products/review-section.html +29 -0
  476. package/components/web/promotions/coupon-card.html +17 -0
  477. package/components/web/promotions/promo-banner.html +24 -0
  478. package/components/web/real-estate/agent-contact.html +32 -0
  479. package/components/web/real-estate/listing-detail-hero.html +44 -0
  480. package/components/web/real-estate/price-range-slider.html +20 -0
  481. package/components/web/real-estate/property-card.html +38 -0
  482. package/components/web/real-estate/property-map-pin.html +19 -0
  483. package/components/web/real-estate/virtual-tour-button.html +17 -0
  484. package/components/web/saas/api-key-row.html +31 -0
  485. package/components/web/saas/audit-log-row.html +21 -0
  486. package/components/web/saas/billing-plan.html +50 -0
  487. package/components/web/saas/kpi-row.html +61 -0
  488. package/components/web/saas/team-member-row.html +30 -0
  489. package/components/web/saas/webhook-config.html +44 -0
  490. package/components/web/screenshots/app-screenshot.html +32 -0
  491. package/components/web/screenshots/screenshot-gallery.html +45 -0
  492. package/components/web/social/comment-thread.html +75 -0
  493. package/components/web/social-media/instagram-post.html +17 -0
  494. package/components/web/social-proof/logo-cloud.html +18 -0
  495. package/components/web/social-proof/testimonial-carousel.html +30 -0
  496. package/components/web/surfaces/slide-over.html +20 -0
  497. package/components/web/tables/data-table.html +41 -0
  498. package/components/web/tables/table-simple.html +13 -0
  499. package/components/web/tabs/tabs-pills.html +12 -0
  500. package/components/web/tabs/tabs-underline.html +13 -0
  501. package/components/web/toggles/toggle-dark-mode.html +19 -0
  502. package/components/web/toggles/toggle-group.html +38 -0
  503. package/components/web/toggles/toggle-switch.html +14 -0
  504. package/components/web/widgets/api-key-row.html +16 -0
  505. package/components/web/widgets/billing-card.html +14 -0
  506. package/components/web/widgets/changelog-item.html +15 -0
  507. package/components/web/widgets/integration-card.html +15 -0
  508. package/components/web/widgets/onboarding-checklist.html +18 -0
  509. package/components/web/widgets/pricing-toggle.html +13 -0
  510. package/components/web/widgets/team-member-row.html +13 -0
  511. package/components/web/widgets/usage-meter.html +12 -0
  512. package/package.json +46 -0
  513. package/skills/README.md +35 -0
  514. package/skills/contribute.md +267 -0
  515. package/skills/design.md +470 -0
  516. package/skills/flutter.md +156 -0
  517. package/skills/nextjs.md +143 -0
  518. package/skills/react-native.md +258 -0
  519. package/skills/react.md +171 -0
  520. package/skills/svelte.md +95 -0
  521. package/skills/swiftui.md +171 -0
  522. package/skills/tailwind.md +108 -0
  523. package/skills/vue.md +111 -0
  524. package/src/commands/add.js +51 -0
  525. package/src/commands/convert.js +120 -0
  526. package/src/commands/design.js +89 -0
  527. package/src/commands/init.js +136 -0
  528. package/src/commands/list.js +52 -0
  529. package/src/commands/search.js +40 -0
  530. package/src/lib/index.js +100 -0
@@ -0,0 +1,17 @@
1
+ <!--
2
+ @name: Top App Bar — Center Aligned
3
+ @category: navbars
4
+ @kit: app-mobile
5
+ @width: 360
6
+ @height: 64
7
+ @tags: appbar, top, center, navigation
8
+ -->
9
+ <div data-component="Top App Bar — Center Aligned" style="display:flex;align-items:center;width:100%;height:64px;background:var(--kit-bg, #FFFFFF);font-family:var(--kit-font, system-ui, -apple-system, sans-serif);padding:0 8px;box-sizing:border-box">
10
+ <div style="color:var(--kit-text, #0F172A);padding:12px;cursor:pointer;display:flex;align-items:center;justify-content:center">
11
+ <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><line x1="3" y1="6" x2="21" y2="6"/><line x1="3" y1="12" x2="21" y2="12"/><line x1="3" y1="18" x2="21" y2="18"/></svg>
12
+ </div>
13
+ <div style="flex:1;text-align:center;font-size:var(--kit-text-xl, 20px);font-weight:var(--kit-font-normal, 400);color:var(--kit-text, #0F172A)">Title</div>
14
+ <div style="color:var(--kit-text, #0F172A);padding:12px;cursor:pointer;display:flex;align-items:center;justify-content:center">
15
+ <svg width="24" height="24" viewBox="0 0 24 24" fill="currentColor"><circle cx="12" cy="5" r="1.5"/><circle cx="12" cy="12" r="1.5"/><circle cx="12" cy="19" r="1.5"/></svg>
16
+ </div>
17
+ </div>
@@ -0,0 +1,20 @@
1
+ <!--
2
+ @name: Top App Bar — Large
3
+ @category: navbars
4
+ @kit: app-mobile
5
+ @width: 360
6
+ @height: 152
7
+ @tags: appbar, top, large, display, navigation
8
+ -->
9
+ <div data-component="Top App Bar — Large" style="display:flex;flex-direction:column;width:100%;height:152px;background:var(--kit-bg, #FFFFFF);font-family:var(--kit-font, system-ui, -apple-system, sans-serif);box-sizing:border-box">
10
+ <div style="display:flex;align-items:center;height:64px;padding:0 8px">
11
+ <div style="color:var(--kit-text, #0F172A);padding:12px;cursor:pointer;display:flex;align-items:center">
12
+ <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M19 12H5"/><path d="M12 19l-7-7 7-7"/></svg>
13
+ </div>
14
+ <div style="flex:1"></div>
15
+ <div style="color:var(--kit-text, #0F172A);padding:12px;cursor:pointer;display:flex;align-items:center">
16
+ <svg width="24" height="24" viewBox="0 0 24 24" fill="currentColor"><circle cx="12" cy="5" r="1.5"/><circle cx="12" cy="12" r="1.5"/><circle cx="12" cy="19" r="1.5"/></svg>
17
+ </div>
18
+ </div>
19
+ <div style="flex:1;display:flex;align-items:flex-end;padding:0 16px 16px;font-size:var(--kit-text-3xl, 30px);font-weight:var(--kit-font-normal, 400);color:var(--kit-text, #0F172A)">Large Title</div>
20
+ </div>
@@ -0,0 +1,20 @@
1
+ <!--
2
+ @name: Top App Bar — Medium
3
+ @category: navbars
4
+ @kit: app-mobile
5
+ @width: 360
6
+ @height: 112
7
+ @tags: appbar, top, medium, headline, navigation
8
+ -->
9
+ <div data-component="Top App Bar — Medium" style="display:flex;flex-direction:column;width:100%;height:112px;background:var(--kit-bg, #FFFFFF);font-family:var(--kit-font, system-ui, -apple-system, sans-serif);box-sizing:border-box">
10
+ <div style="display:flex;align-items:center;height:64px;padding:0 8px">
11
+ <div style="color:var(--kit-text, #0F172A);padding:12px;cursor:pointer;display:flex;align-items:center">
12
+ <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M19 12H5"/><path d="M12 19l-7-7 7-7"/></svg>
13
+ </div>
14
+ <div style="flex:1"></div>
15
+ <div style="color:var(--kit-text, #0F172A);padding:12px;cursor:pointer;display:flex;align-items:center">
16
+ <svg width="24" height="24" viewBox="0 0 24 24" fill="currentColor"><circle cx="12" cy="5" r="1.5"/><circle cx="12" cy="12" r="1.5"/><circle cx="12" cy="19" r="1.5"/></svg>
17
+ </div>
18
+ </div>
19
+ <div style="padding:0 16px;font-size:var(--kit-text-2xl, 24px);font-weight:var(--kit-font-normal, 400);color:var(--kit-text, #0F172A)">Medium Title</div>
20
+ </div>
@@ -0,0 +1,22 @@
1
+ <!--
2
+ @name: Top App Bar — Small
3
+ @category: navbars
4
+ @kit: app-mobile
5
+ @width: 360
6
+ @height: 64
7
+ @tags: appbar, top, small, back, navigation
8
+ -->
9
+ <div data-component="Top App Bar — Small" style="display:flex;align-items:center;width:100%;height:64px;background:var(--kit-bg, #FFFFFF);font-family:var(--kit-font, system-ui, -apple-system, sans-serif);padding:0 8px;box-sizing:border-box;gap:4px">
10
+ <div style="color:var(--kit-text, #0F172A);padding:12px;cursor:pointer;display:flex;align-items:center">
11
+ <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M19 12H5"/><path d="M12 19l-7-7 7-7"/></svg>
12
+ </div>
13
+ <div style="flex:1;font-size:var(--kit-text-xl, 20px);font-weight:var(--kit-font-normal, 400);color:var(--kit-text, #0F172A)">Title</div>
14
+ <div style="display:flex">
15
+ <div style="color:var(--kit-text, #0F172A);padding:12px;cursor:pointer;display:flex;align-items:center">
16
+ <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="11" cy="11" r="8"/><line x1="21" y1="21" x2="16.65" y2="16.65"/></svg>
17
+ </div>
18
+ <div style="color:var(--kit-text, #0F172A);padding:12px;cursor:pointer;display:flex;align-items:center">
19
+ <svg width="24" height="24" viewBox="0 0 24 24" fill="currentColor"><circle cx="12" cy="5" r="1.5"/><circle cx="12" cy="12" r="1.5"/><circle cx="12" cy="19" r="1.5"/></svg>
20
+ </div>
21
+ </div>
22
+ </div>
@@ -0,0 +1,32 @@
1
+ <!--
2
+ @name: Back Header
3
+ @kit: app-mobile
4
+ @width: 360
5
+ @height: 56
6
+ @tags: header, back, navigation, title
7
+ -->
8
+ <header data-component="Back Header" style="width:100%;height:56px;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;padding:0 var(--kit-space-4, 16px);background:var(--kit-bg, #FFFFFF);border-bottom:1px solid var(--kit-border, #E2E8F0);font-family:var(--kit-font, Inter, system-ui, sans-serif);">
9
+
10
+ <!-- Back button -->
11
+ <button style="width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;cursor:pointer;border-radius:var(--kit-radius, 8px);padding:0;flex-shrink:0;">
12
+ <svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="var(--kit-text, #0F172A)" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
13
+ <line x1="19" y1="12" x2="5" y2="12"/>
14
+ <polyline points="12 19 5 12 12 5"/>
15
+ </svg>
16
+ </button>
17
+
18
+ <!-- Title -->
19
+ <span style="font-size:var(--kit-text-md, 16px);font-weight:var(--kit-font-semibold, 600);color:var(--kit-text, #0F172A);position:absolute;left:50%;transform:translateX(-50%);white-space:nowrap;">Project Details</span>
20
+
21
+ <!-- Action button (share) -->
22
+ <button style="width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;cursor:pointer;border-radius:var(--kit-radius, 8px);padding:0;flex-shrink:0;">
23
+ <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="var(--kit-text, #0F172A)" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
24
+ <circle cx="18" cy="5" r="3"/>
25
+ <circle cx="6" cy="12" r="3"/>
26
+ <circle cx="18" cy="19" r="3"/>
27
+ <line x1="8.59" y1="13.51" x2="15.42" y2="17.49"/>
28
+ <line x1="15.41" y1="6.51" x2="8.59" y2="10.49"/>
29
+ </svg>
30
+ </button>
31
+
32
+ </header>
@@ -0,0 +1,19 @@
1
+ <!--
2
+ @name: Segmented Control
3
+ @kit: app-mobile
4
+ @width: 320
5
+ @height: 36
6
+ @tags: segment, tabs, toggle, control
7
+ -->
8
+ <div data-component="Segmented Control" style="width:100%;height:36px;box-sizing:border-box;display:flex;align-items:center;background:var(--kit-surface-2, #F1F5F9);border-radius:var(--kit-radius, 8px);padding:3px;gap:2px;font-family:var(--kit-font, Inter, system-ui, sans-serif);">
9
+
10
+ <!-- All — Active -->
11
+ <button style="flex:1;height:100%;border:none;border-radius:6px;background:var(--kit-bg, #FFFFFF);color:var(--kit-text, #0F172A);font-size:var(--kit-text-sm, 14px);font-weight:var(--kit-font-semibold, 600);cursor:pointer;font-family:inherit;box-shadow:0 1px 3px rgba(0,0,0,0.08);display:flex;align-items:center;justify-content:center;">All</button>
12
+
13
+ <!-- Active -->
14
+ <button style="flex:1;height:100%;border:none;border-radius:6px;background:transparent;color:var(--kit-text-2, #475569);font-size:var(--kit-text-sm, 14px);font-weight:var(--kit-font-medium, 500);cursor:pointer;font-family:inherit;display:flex;align-items:center;justify-content:center;">Active</button>
15
+
16
+ <!-- Completed -->
17
+ <button style="flex:1;height:100%;border:none;border-radius:6px;background:transparent;color:var(--kit-text-2, #475569);font-size:var(--kit-text-sm, 14px);font-weight:var(--kit-font-medium, 500);cursor:pointer;font-family:inherit;display:flex;align-items:center;justify-content:center;">Completed</button>
18
+
19
+ </div>
@@ -0,0 +1,65 @@
1
+ <!--
2
+ @name: Stepper — Vertical
3
+ @kit: app-mobile
4
+ @width: 300
5
+ @height: 280
6
+ @tags: stepper, steps, vertical, progress
7
+ -->
8
+ <div data-component="Stepper — Vertical" style="width:100%;box-sizing:border-box;display:flex;flex-direction:column;padding:var(--kit-space-4, 16px);font-family:var(--kit-font, Inter, system-ui, sans-serif);">
9
+
10
+ <!-- Step 1: Account — Done -->
11
+ <div style="display:flex;gap:var(--kit-space-3, 12px);">
12
+ <div style="display:flex;flex-direction:column;align-items:center;flex-shrink:0;">
13
+ <div style="width:28px;height:28px;border-radius:var(--kit-radius-full, 9999px);background:var(--kit-success, #22C55E);display:flex;align-items:center;justify-content:center;">
14
+ <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="#FFFFFF" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"/></svg>
15
+ </div>
16
+ <div style="width:2px;flex:1;background:var(--kit-success, #22C55E);margin:var(--kit-space-1, 4px) 0;min-height:28px;"></div>
17
+ </div>
18
+ <div style="padding-bottom:var(--kit-space-4, 16px);">
19
+ <div style="font-size:var(--kit-text-sm, 14px);font-weight:var(--kit-font-semibold, 600);color:var(--kit-text, #0F172A);">Create Account</div>
20
+ <div style="font-size:var(--kit-text-xs, 12px);color:var(--kit-text-3, #94A3B8);margin-top:2px;">Sign up with email and password</div>
21
+ </div>
22
+ </div>
23
+
24
+ <!-- Step 2: Profile — Active -->
25
+ <div style="display:flex;gap:var(--kit-space-3, 12px);">
26
+ <div style="display:flex;flex-direction:column;align-items:center;flex-shrink:0;">
27
+ <div style="width:28px;height:28px;border-radius:var(--kit-radius-full, 9999px);background:var(--kit-primary, #6366F1);display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 4px rgba(99,102,241,0.2);">
28
+ <span style="font-size:var(--kit-text-xs, 12px);font-weight:var(--kit-font-bold, 700);color:#FFFFFF;">2</span>
29
+ </div>
30
+ <div style="width:2px;flex:1;background:var(--kit-border, #E2E8F0);margin:var(--kit-space-1, 4px) 0;min-height:28px;"></div>
31
+ </div>
32
+ <div style="padding-bottom:var(--kit-space-4, 16px);">
33
+ <div style="font-size:var(--kit-text-sm, 14px);font-weight:var(--kit-font-semibold, 600);color:var(--kit-primary, #6366F1);">Complete Profile</div>
34
+ <div style="font-size:var(--kit-text-xs, 12px);color:var(--kit-text-2, #475569);margin-top:2px;">Add your name and photo</div>
35
+ </div>
36
+ </div>
37
+
38
+ <!-- Step 3: Preferences — Pending -->
39
+ <div style="display:flex;gap:var(--kit-space-3, 12px);">
40
+ <div style="display:flex;flex-direction:column;align-items:center;flex-shrink:0;">
41
+ <div style="width:28px;height:28px;border-radius:var(--kit-radius-full, 9999px);background:var(--kit-surface-2, #F1F5F9);border:2px solid var(--kit-border, #E2E8F0);display:flex;align-items:center;justify-content:center;">
42
+ <span style="font-size:var(--kit-text-xs, 12px);font-weight:var(--kit-font-medium, 500);color:var(--kit-text-3, #94A3B8);">3</span>
43
+ </div>
44
+ <div style="width:2px;flex:1;background:var(--kit-border, #E2E8F0);margin:var(--kit-space-1, 4px) 0;min-height:28px;"></div>
45
+ </div>
46
+ <div style="padding-bottom:var(--kit-space-4, 16px);">
47
+ <div style="font-size:var(--kit-text-sm, 14px);font-weight:var(--kit-font-medium, 500);color:var(--kit-text-3, #94A3B8);">Set Preferences</div>
48
+ <div style="font-size:var(--kit-text-xs, 12px);color:var(--kit-text-3, #94A3B8);margin-top:2px;">Choose your interests</div>
49
+ </div>
50
+ </div>
51
+
52
+ <!-- Step 4: Done — Pending -->
53
+ <div style="display:flex;gap:var(--kit-space-3, 12px);">
54
+ <div style="display:flex;flex-direction:column;align-items:center;flex-shrink:0;">
55
+ <div style="width:28px;height:28px;border-radius:var(--kit-radius-full, 9999px);background:var(--kit-surface-2, #F1F5F9);border:2px solid var(--kit-border, #E2E8F0);display:flex;align-items:center;justify-content:center;">
56
+ <span style="font-size:var(--kit-text-xs, 12px);font-weight:var(--kit-font-medium, 500);color:var(--kit-text-3, #94A3B8);">4</span>
57
+ </div>
58
+ </div>
59
+ <div>
60
+ <div style="font-size:var(--kit-text-sm, 14px);font-weight:var(--kit-font-medium, 500);color:var(--kit-text-3, #94A3B8);">Get Started</div>
61
+ <div style="font-size:var(--kit-text-xs, 12px);color:var(--kit-text-3, #94A3B8);margin-top:2px;">You're all set!</div>
62
+ </div>
63
+ </div>
64
+
65
+ </div>
@@ -0,0 +1,20 @@
1
+ <!--
2
+ @name: Accordion / Expandable Section
3
+ @category: patterns
4
+ @kit: app-mobile
5
+ @width: 360
6
+ @height: 180
7
+ @tags: accordion, expandable, collapse, faq, section
8
+ -->
9
+ <div data-component="Accordion / Expandable Section" style="width:100%;font-family:var(--kit-font, system-ui, -apple-system, sans-serif);border:1px solid var(--kit-border, #E2E8F0);border-radius:var(--kit-radius-md, 12px);overflow:hidden">
10
+ <div style="display:flex;align-items:center;padding:16px;cursor:pointer;background:var(--kit-surface, #F8FAFC)">
11
+ <div style="flex:1;font-size:var(--kit-text-md, 16px);font-weight:var(--kit-font-medium, 500);color:var(--kit-text, #0F172A)">Section Title (Expanded)</div>
12
+ <div style="color:var(--kit-text-2, #475569);transform:rotate(180deg)"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"/></svg></div>
13
+ </div>
14
+ <div style="padding:0 16px 16px;font-size:var(--kit-text-sm, 14px);color:var(--kit-text-2, #475569);line-height:1.5">This is the expanded content area. You can put any content here including text, lists, images, or other components.</div>
15
+ <div style="border-top:1px solid var(--kit-border, #E2E8F0)"></div>
16
+ <div style="display:flex;align-items:center;padding:16px;cursor:pointer">
17
+ <div style="flex:1;font-size:var(--kit-text-md, 16px);font-weight:var(--kit-font-medium, 500);color:var(--kit-text, #0F172A)">Collapsed Section</div>
18
+ <div style="color:var(--kit-text-2, #475569)"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"/></svg></div>
19
+ </div>
20
+ </div>
@@ -0,0 +1,26 @@
1
+ <!--
2
+ @name: Activity Feed — Timeline
3
+ @category: patterns
4
+ @kit: app-mobile
5
+ @width: 360
6
+ @height: 300
7
+ @tags: activity, feed, timeline, log, history
8
+ -->
9
+ <div data-component="Activity Feed — Timeline" style="width:100%;font-family:var(--kit-font, system-ui, -apple-system, sans-serif);padding:0 16px;box-sizing:border-box">
10
+ <div style="display:flex;gap:12px;padding-bottom:20px">
11
+ <div style="display:flex;flex-direction:column;align-items:center;width:24px;flex-shrink:0"><div style="width:10px;height:10px;border-radius:5px;background:var(--kit-success, #22C55E);margin-top:4px;flex-shrink:0"></div><div style="width:2px;flex:1;background:var(--kit-border, #E2E8F0)"></div></div>
12
+ <div><div style="font-size:var(--kit-text-sm, 14px);color:var(--kit-text, #0F172A);line-height:1.4"><span style="font-weight:600">Alex</span> completed <span style="font-weight:600">Homepage design</span></div><div style="font-size:11px;color:var(--kit-text-3, #94A3B8);margin-top:3px">2 hours ago</div></div>
13
+ </div>
14
+ <div style="display:flex;gap:12px;padding-bottom:20px">
15
+ <div style="display:flex;flex-direction:column;align-items:center;width:24px;flex-shrink:0"><div style="width:10px;height:10px;border-radius:5px;background:var(--kit-primary, #6366F1);margin-top:4px;flex-shrink:0"></div><div style="width:2px;flex:1;background:var(--kit-border, #E2E8F0)"></div></div>
16
+ <div><div style="font-size:var(--kit-text-sm, 14px);color:var(--kit-text, #0F172A);line-height:1.4"><span style="font-weight:600">Sarah</span> commented on <span style="font-weight:600">API docs</span></div><div style="font-size:11px;color:var(--kit-text-3, #94A3B8);margin-top:3px">5 hours ago</div></div>
17
+ </div>
18
+ <div style="display:flex;gap:12px;padding-bottom:20px">
19
+ <div style="display:flex;flex-direction:column;align-items:center;width:24px;flex-shrink:0"><div style="width:10px;height:10px;border-radius:5px;background:var(--kit-warning, #F59E0B);margin-top:4px;flex-shrink:0"></div><div style="width:2px;flex:1;background:var(--kit-border, #E2E8F0)"></div></div>
20
+ <div><div style="font-size:var(--kit-text-sm, 14px);color:var(--kit-text, #0F172A);line-height:1.4"><span style="font-weight:600">Mike</span> created project <span style="font-weight:600">v2 Launch</span></div><div style="font-size:11px;color:var(--kit-text-3, #94A3B8);margin-top:3px">Yesterday</div></div>
21
+ </div>
22
+ <div style="display:flex;gap:12px">
23
+ <div style="display:flex;flex-direction:column;align-items:center;width:24px;flex-shrink:0"><div style="width:10px;height:10px;border-radius:5px;background:var(--kit-text-3, #94A3B8);margin-top:4px"></div></div>
24
+ <div><div style="font-size:var(--kit-text-sm, 14px);color:var(--kit-text, #0F172A)"><span style="font-weight:600">Emma</span> joined the team</div><div style="font-size:11px;color:var(--kit-text-3, #94A3B8);margin-top:3px">2 days ago</div></div>
25
+ </div>
26
+ </div>
@@ -0,0 +1,34 @@
1
+ <!--
2
+ @name: Audio Waveform — Voice Message
3
+ @category: patterns
4
+ @kit: app-mobile
5
+ @width: 260
6
+ @height: 48
7
+ @tags: audio, waveform, voice, message, sound
8
+ -->
9
+ <div data-component="Audio Waveform — Voice Message" style="display:flex;align-items:center;gap:10px;width:260px;height:48px;background:var(--kit-surface, #F8FAFC);border-radius:24px;padding:0 6px 0 4px;box-sizing:border-box;font-family:var(--kit-font, system-ui, -apple-system, sans-serif)">
10
+ <div style="width:36px;height:36px;border-radius:18px;background:var(--kit-primary, #6366F1);display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0"><svg width="14" height="14" viewBox="0 0 24 24" fill="#FFFFFF" stroke="#FFFFFF" stroke-width="1"><polygon points="5 3 19 12 5 21 5 3"/></svg></div>
11
+ <div style="flex:1;display:flex;align-items:center;gap:1.5px;height:28px">
12
+ <div style="width:3px;height:6px;background:var(--kit-primary, #6366F1);border-radius:2px;opacity:0.9"></div>
13
+ <div style="width:3px;height:14px;background:var(--kit-primary, #6366F1);border-radius:2px;opacity:0.9"></div>
14
+ <div style="width:3px;height:8px;background:var(--kit-primary, #6366F1);border-radius:2px;opacity:0.9"></div>
15
+ <div style="width:3px;height:20px;background:var(--kit-primary, #6366F1);border-radius:2px;opacity:0.9"></div>
16
+ <div style="width:3px;height:12px;background:var(--kit-primary, #6366F1);border-radius:2px;opacity:0.9"></div>
17
+ <div style="width:3px;height:24px;background:var(--kit-primary, #6366F1);border-radius:2px;opacity:0.9"></div>
18
+ <div style="width:3px;height:10px;background:var(--kit-primary, #6366F1);border-radius:2px;opacity:0.9"></div>
19
+ <div style="width:3px;height:18px;background:var(--kit-primary, #6366F1);border-radius:2px;opacity:0.9"></div>
20
+ <div style="width:3px;height:6px;background:var(--kit-primary, #6366F1);border-radius:2px;opacity:0.9"></div>
21
+ <div style="width:3px;height:16px;background:var(--kit-primary, #6366F1);border-radius:2px;opacity:0.9"></div>
22
+ <div style="width:3px;height:22px;background:var(--kit-primary, #6366F1);border-radius:2px;opacity:0.9"></div>
23
+ <div style="width:3px;height:8px;background:var(--kit-primary, #6366F1);border-radius:2px;opacity:0.9"></div>
24
+ <div style="width:3px;height:14px;background:var(--kit-text-3, #94A3B8);border-radius:2px;opacity:0.4"></div>
25
+ <div style="width:3px;height:6px;background:var(--kit-text-3, #94A3B8);border-radius:2px;opacity:0.4"></div>
26
+ <div style="width:3px;height:18px;background:var(--kit-text-3, #94A3B8);border-radius:2px;opacity:0.4"></div>
27
+ <div style="width:3px;height:10px;background:var(--kit-text-3, #94A3B8);border-radius:2px;opacity:0.4"></div>
28
+ <div style="width:3px;height:20px;background:var(--kit-text-3, #94A3B8);border-radius:2px;opacity:0.4"></div>
29
+ <div style="width:3px;height:8px;background:var(--kit-text-3, #94A3B8);border-radius:2px;opacity:0.4"></div>
30
+ <div style="width:3px;height:12px;background:var(--kit-text-3, #94A3B8);border-radius:2px;opacity:0.4"></div>
31
+ <div style="width:3px;height:6px;background:var(--kit-text-3, #94A3B8);border-radius:2px;opacity:0.4"></div>
32
+ </div>
33
+ <span style="font-size:12px;color:var(--kit-text-3, #94A3B8);flex-shrink:0">0:23</span>
34
+ </div>
@@ -0,0 +1,14 @@
1
+ <!--
2
+ @name: Avatar Group — Stacked
3
+ @category: patterns
4
+ @kit: app-mobile
5
+ @width: 120
6
+ @height: 32
7
+ @tags: avatar, group, stack, team, users
8
+ -->
9
+ <div data-component="Avatar Group — Stacked" style="display:flex;align-items:center;font-family:var(--kit-font, system-ui, -apple-system, sans-serif)">
10
+ <div style="width:32px;height:32px;border-radius:16px;background:#6366F1;border:2px solid var(--kit-bg, #FFFFFF);display:flex;align-items:center;justify-content:center;color:#FFFFFF;font-size:12px;font-weight:600;z-index:4">A</div>
11
+ <div style="width:32px;height:32px;border-radius:16px;background:#EC4899;border:2px solid var(--kit-bg, #FFFFFF);display:flex;align-items:center;justify-content:center;color:#FFFFFF;font-size:12px;font-weight:600;margin-left:-8px;z-index:3">B</div>
12
+ <div style="width:32px;height:32px;border-radius:16px;background:#10B981;border:2px solid var(--kit-bg, #FFFFFF);display:flex;align-items:center;justify-content:center;color:#FFFFFF;font-size:12px;font-weight:600;margin-left:-8px;z-index:2">C</div>
13
+ <div style="width:32px;height:32px;border-radius:16px;background:var(--kit-surface-2, #F1F5F9);border:2px solid var(--kit-bg, #FFFFFF);display:flex;align-items:center;justify-content:center;color:var(--kit-text-2, #475569);font-size:11px;font-weight:600;margin-left:-8px;z-index:1">+5</div>
14
+ </div>
@@ -0,0 +1,15 @@
1
+ <!--
2
+ @name: Breadcrumb Navigation
3
+ @category: patterns
4
+ @kit: app-mobile
5
+ @width: 360
6
+ @height: 32
7
+ @tags: breadcrumb, navigation, path, hierarchy
8
+ -->
9
+ <div data-component="Breadcrumb Navigation" style="display:flex;align-items:center;gap:4px;font-family:var(--kit-font, system-ui, -apple-system, sans-serif);font-size:var(--kit-text-sm, 14px);padding:0 16px">
10
+ <span style="color:var(--kit-primary, #6366F1);cursor:pointer">Home</span>
11
+ <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="var(--kit-text-3, #94A3B8)" stroke-width="2"><polyline points="9 18 15 12 9 6"/></svg>
12
+ <span style="color:var(--kit-primary, #6366F1);cursor:pointer">Products</span>
13
+ <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="var(--kit-text-3, #94A3B8)" stroke-width="2"><polyline points="9 18 15 12 9 6"/></svg>
14
+ <span style="color:var(--kit-text-2, #475569)">Electronics</span>
15
+ </div>
@@ -0,0 +1,56 @@
1
+ <!--
2
+ @name: Calendar — Month View
3
+ @category: patterns
4
+ @kit: app-mobile
5
+ @width: 360
6
+ @height: 380
7
+ @tags: calendar, month, grid, date, schedule, events
8
+ -->
9
+ <div data-component="Calendar — Month View" style="width:100%;background:var(--kit-bg, #FFFFFF);font-family:var(--kit-font, system-ui, -apple-system, sans-serif);padding:16px;box-sizing:border-box">
10
+ <div style="display:flex;align-items:center;justify-content:space-between;margin-bottom:20px">
11
+ <div style="cursor:pointer;color:var(--kit-text-2, #475569)"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="15 18 9 12 15 6"/></svg></div>
12
+ <div style="font-size:var(--kit-text-lg, 18px);font-weight:var(--kit-font-semibold, 600);color:var(--kit-text, #0F172A)">March 2026</div>
13
+ <div style="cursor:pointer;color:var(--kit-text-2, #475569)"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="9 18 15 12 9 6"/></svg></div>
14
+ </div>
15
+ <div style="display:grid;grid-template-columns:repeat(7,1fr);gap:0;text-align:center">
16
+ <div style="height:32px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:var(--kit-text-3, #94A3B8)">Sun</div>
17
+ <div style="height:32px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:var(--kit-text-3, #94A3B8)">Mon</div>
18
+ <div style="height:32px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:var(--kit-text-3, #94A3B8)">Tue</div>
19
+ <div style="height:32px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:var(--kit-text-3, #94A3B8)">Wed</div>
20
+ <div style="height:32px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:var(--kit-text-3, #94A3B8)">Thu</div>
21
+ <div style="height:32px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:var(--kit-text-3, #94A3B8)">Fri</div>
22
+ <div style="height:32px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:var(--kit-text-3, #94A3B8)">Sat</div>
23
+ <div style="height:44px"></div>
24
+ <div style="height:44px;display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--kit-text, #0F172A)">1</div>
25
+ <div style="height:44px;display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--kit-text, #0F172A)">2</div>
26
+ <div style="height:44px;display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--kit-text, #0F172A)">3</div>
27
+ <div style="height:44px;display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--kit-text, #0F172A)">4</div>
28
+ <div style="height:44px;display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--kit-text, #0F172A)">5</div>
29
+ <div style="height:44px;display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--kit-text, #0F172A)">6</div>
30
+ <div style="height:44px;display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--kit-text, #0F172A)">7</div>
31
+ <div style="height:44px;display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--kit-text, #0F172A)">8</div>
32
+ <div style="height:44px;display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--kit-text, #0F172A)">9</div>
33
+ <div style="height:44px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:14px;color:var(--kit-text, #0F172A)">10<div style="width:4px;height:4px;border-radius:2px;background:var(--kit-primary, #6366F1);margin-top:2px"></div></div>
34
+ <div style="height:44px;display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--kit-text, #0F172A)">11</div>
35
+ <div style="height:44px;display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--kit-text, #0F172A)">12</div>
36
+ <div style="height:44px;display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--kit-text, #0F172A)">13</div>
37
+ <div style="height:44px;display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--kit-text, #0F172A)">14</div>
38
+ <div style="height:44px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:14px;color:var(--kit-text, #0F172A)">15<div style="width:4px;height:4px;border-radius:2px;background:var(--kit-danger, #EF4444);margin-top:2px"></div></div>
39
+ <div style="height:44px;display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--kit-text, #0F172A)">16</div>
40
+ <div style="height:44px;display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--kit-text, #0F172A)">17</div>
41
+ <div style="height:44px;display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--kit-text, #0F172A)">18</div>
42
+ <div style="height:44px;display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--kit-text, #0F172A)">19</div>
43
+ <div style="height:44px;display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--kit-text, #0F172A)">20</div>
44
+ <div style="height:44px;display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--kit-text, #0F172A)">21</div>
45
+ <div style="height:44px;display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--kit-text, #0F172A)">22</div>
46
+ <div style="height:44px;display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--kit-text, #0F172A)">23</div>
47
+ <div style="height:44px;display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--kit-text, #0F172A)">24</div>
48
+ <div style="height:44px;display:flex;align-items:center;justify-content:center"><div style="width:36px;height:36px;border-radius:18px;background:var(--kit-primary, #6366F1);color:#FFFFFF;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600">25</div></div>
49
+ <div style="height:44px;display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--kit-text, #0F172A)">26</div>
50
+ <div style="height:44px;display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--kit-text, #0F172A)">27</div>
51
+ <div style="height:44px;display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--kit-text, #0F172A)">28</div>
52
+ <div style="height:44px;display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--kit-text, #0F172A)">29</div>
53
+ <div style="height:44px;display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--kit-text, #0F172A)">30</div>
54
+ <div style="height:44px;display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--kit-text, #0F172A)">31</div>
55
+ </div>
56
+ </div>
@@ -0,0 +1,33 @@
1
+ <!--
2
+ @name: Camera Viewfinder — with Capture
3
+ @category: patterns
4
+ @kit: app-mobile
5
+ @width: 360
6
+ @height: 640
7
+ @tags: camera, viewfinder, capture, photo, shutter
8
+ -->
9
+ <div data-component="Camera Viewfinder — with Capture" style="width:100%;height:100%;background:#000;position:relative;font-family:var(--kit-font, system-ui, -apple-system, sans-serif);display:flex;flex-direction:column">
10
+ <div style="display:flex;align-items:center;justify-content:space-between;padding:16px;z-index:1">
11
+ <div style="cursor:pointer"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#FFFFFF" stroke-width="2" stroke-linecap="round"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg></div>
12
+ <div style="cursor:pointer"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#FFFFFF" stroke-width="2"><polygon points="13 2 3 14 12 14 11 22 21 10 12 10 13 2"/></svg></div>
13
+ <div style="cursor:pointer"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#FFFFFF" stroke-width="2"><circle cx="12" cy="12" r="3"/><path d="M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1-2.83 2.83l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-4 0v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 0 1-2.83-2.83l.06-.06A1.65 1.65 0 0 0 4.68 15a1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1 0-4h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1 2.83-2.83l.06.06A1.65 1.65 0 0 0 9 4.68a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 4 0v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 0 1 2.83 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82V9c.26.604.852.997 1.51 1H21a2 2 0 0 1 0 4h-.09a1.65 1.65 0 0 0-1.51 1.08z"/></svg></div>
14
+ </div>
15
+ <div style="flex:1;display:flex;align-items:center;justify-content:center;position:relative">
16
+ <div style="width:260px;height:260px;border:2px solid rgba(255,255,255,0.3);border-radius:16px;position:relative">
17
+ <div style="position:absolute;top:-2px;left:-2px;width:24px;height:24px;border-top:3px solid #FFFFFF;border-left:3px solid #FFFFFF;border-radius:8px 0 0 0"></div>
18
+ <div style="position:absolute;top:-2px;right:-2px;width:24px;height:24px;border-top:3px solid #FFFFFF;border-right:3px solid #FFFFFF;border-radius:0 8px 0 0"></div>
19
+ <div style="position:absolute;bottom:-2px;left:-2px;width:24px;height:24px;border-bottom:3px solid #FFFFFF;border-left:3px solid #FFFFFF;border-radius:0 0 0 8px"></div>
20
+ <div style="position:absolute;bottom:-2px;right:-2px;width:24px;height:24px;border-bottom:3px solid #FFFFFF;border-right:3px solid #FFFFFF;border-radius:0 0 8px 0"></div>
21
+ </div>
22
+ </div>
23
+ <div style="display:flex;align-items:center;justify-content:center;gap:48px;padding:24px 0 48px">
24
+ <div style="width:48px;height:48px;border-radius:8px;border:2px solid rgba(255,255,255,0.3);overflow:hidden;cursor:pointer"><img src="https://placehold.jp/48x48.png" style="width:100%;height:100%;object-fit:cover" alt="Last photo"/></div>
25
+ <div style="width:72px;height:72px;border-radius:36px;border:4px solid #FFFFFF;display:flex;align-items:center;justify-content:center;cursor:pointer"><div style="width:60px;height:60px;border-radius:30px;background:#FFFFFF"></div></div>
26
+ <div style="width:48px;height:48px;display:flex;align-items:center;justify-content:center;cursor:pointer"><svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="#FFFFFF" stroke-width="2"><polyline points="23 4 23 10 17 10"/><polyline points="1 20 1 14 7 14"/><path d="M3.51 9a9 9 0 0 1 14.85-3.36L23 10M1 14l4.64 4.36A9 9 0 0 0 20.49 15"/></svg></div>
27
+ </div>
28
+ <div style="display:flex;justify-content:center;gap:24px;padding-bottom:16px">
29
+ <span style="font-size:13px;color:rgba(255,255,255,0.5);cursor:pointer">Video</span>
30
+ <span style="font-size:13px;color:#FFFFFF;font-weight:600">Photo</span>
31
+ <span style="font-size:13px;color:rgba(255,255,255,0.5);cursor:pointer">Portrait</span>
32
+ </div>
33
+ </div>
@@ -0,0 +1,15 @@
1
+ <!--
2
+ @name: Card — Horizontal (Image + Content)
3
+ @category: patterns
4
+ @kit: app-mobile
5
+ @width: 360
6
+ @height: 100
7
+ @tags: card, horizontal, image, list, article
8
+ -->
9
+ <div data-component="Card — Horizontal (Image + Content)" style="display:flex;width:100%;background:var(--kit-surface, #F8FAFC);border-radius:var(--kit-radius-md, 12px);overflow:hidden;font-family:var(--kit-font, system-ui, -apple-system, sans-serif)">
10
+ <img src="https://placehold.jp/100x100.png" style="width:100px;height:100px;object-fit:cover;flex-shrink:0;display:block" alt="Card image"/>
11
+ <div style="flex:1;padding:12px 16px;display:flex;flex-direction:column;justify-content:center;min-width:0">
12
+ <div style="font-size:var(--kit-text-md, 16px);font-weight:var(--kit-font-medium, 500);color:var(--kit-text, #0F172A);white-space:nowrap;overflow:hidden;text-overflow:ellipsis">Card Title Here</div>
13
+ <div style="font-size:var(--kit-text-sm, 13px);color:var(--kit-text-2, #475569);margin-top:4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.4">Supporting text with a brief description that may span two lines.</div>
14
+ </div>
15
+ </div>
@@ -0,0 +1,23 @@
1
+ <!--
2
+ @name: Cart Item Row
3
+ @category: patterns
4
+ @kit: app-mobile
5
+ @width: 360
6
+ @height: 100
7
+ @tags: cart, item, ecommerce, quantity, price
8
+ -->
9
+ <div data-component="Cart Item Row" style="display:flex;width:100%;padding:12px 0;gap:12px;font-family:var(--kit-font, system-ui, -apple-system, sans-serif);align-items:center">
10
+ <img src="https://placehold.jp/80x80.png" style="width:80px;height:80px;border-radius:var(--kit-radius, 8px);object-fit:cover;flex-shrink:0;display:block" alt="Product"/>
11
+ <div style="flex:1;min-width:0">
12
+ <div style="font-size:var(--kit-text-sm, 14px);font-weight:var(--kit-font-medium, 500);color:var(--kit-text, #0F172A)">Product Name</div>
13
+ <div style="font-size:var(--kit-text-xs, 12px);color:var(--kit-text-3, #94A3B8);margin-top:2px">Size: M • Color: Blue</div>
14
+ <div style="display:flex;align-items:center;justify-content:space-between;margin-top:10px">
15
+ <div style="display:flex;align-items:center;gap:0;border:1px solid var(--kit-border, #E2E8F0);border-radius:var(--kit-radius, 8px);overflow:hidden">
16
+ <div style="width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--kit-text-2, #475569)"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><line x1="5" y1="12" x2="19" y2="12"/></svg></div>
17
+ <div style="width:36px;height:32px;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:500;color:var(--kit-text, #0F172A);border-left:1px solid var(--kit-border, #E2E8F0);border-right:1px solid var(--kit-border, #E2E8F0)">2</div>
18
+ <div style="width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--kit-text-2, #475569)"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><line x1="12" y1="5" x2="12" y2="19"/><line x1="5" y1="12" x2="19" y2="12"/></svg></div>
19
+ </div>
20
+ <div style="font-size:var(--kit-text-md, 16px);font-weight:var(--kit-font-bold, 700);color:var(--kit-text, #0F172A)">$79.99</div>
21
+ </div>
22
+ </div>
23
+ </div>
@@ -0,0 +1,15 @@
1
+ <!--
2
+ @name: Category Pills — Horizontal Scroll
3
+ @category: patterns
4
+ @kit: app-mobile
5
+ @width: 360
6
+ @height: 40
7
+ @tags: category, pills, filter, tags, horizontal, scroll
8
+ -->
9
+ <div data-component="Category Pills — Horizontal Scroll" style="display:flex;gap:8px;width:100%;overflow-x:auto;font-family:var(--kit-font, system-ui, -apple-system, sans-serif);padding:0 16px;box-sizing:border-box">
10
+ <div style="height:32px;padding:0 16px;border-radius:16px;background:var(--kit-primary, #6366F1);color:#FFFFFF;font-size:var(--kit-text-sm, 13px);font-weight:var(--kit-font-medium, 500);display:flex;align-items:center;white-space:nowrap;flex-shrink:0">All</div>
11
+ <div style="height:32px;padding:0 16px;border-radius:16px;background:var(--kit-surface-2, #F1F5F9);color:var(--kit-text, #0F172A);font-size:var(--kit-text-sm, 13px);display:flex;align-items:center;white-space:nowrap;flex-shrink:0">Popular</div>
12
+ <div style="height:32px;padding:0 16px;border-radius:16px;background:var(--kit-surface-2, #F1F5F9);color:var(--kit-text, #0F172A);font-size:var(--kit-text-sm, 13px);display:flex;align-items:center;white-space:nowrap;flex-shrink:0">Recent</div>
13
+ <div style="height:32px;padding:0 16px;border-radius:16px;background:var(--kit-surface-2, #F1F5F9);color:var(--kit-text, #0F172A);font-size:var(--kit-text-sm, 13px);display:flex;align-items:center;white-space:nowrap;flex-shrink:0">Trending</div>
14
+ <div style="height:32px;padding:0 16px;border-radius:16px;background:var(--kit-surface-2, #F1F5F9);color:var(--kit-text, #0F172A);font-size:var(--kit-text-sm, 13px);display:flex;align-items:center;white-space:nowrap;flex-shrink:0">Favorites</div>
15
+ </div>
@@ -0,0 +1,15 @@
1
+ <!--
2
+ @name: Chat Bubble — Received
3
+ @category: patterns
4
+ @kit: app-mobile
5
+ @width: 260
6
+ @height: 60
7
+ @tags: chat, bubble, message, received, incoming
8
+ -->
9
+ <div data-component="Chat Bubble — Received" style="display:flex;justify-content:flex-start;width:100%;font-family:var(--kit-font, system-ui, -apple-system, sans-serif);gap:8px">
10
+ <div style="width:32px;height:32px;border-radius:16px;background:var(--kit-surface-2, #F1F5F9);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--kit-text-3, #94A3B8)"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2"/><circle cx="12" cy="7" r="4"/></svg></div>
11
+ <div style="max-width:70%;background:var(--kit-surface, #F8FAFC);color:var(--kit-text, #0F172A);border-radius:18px 18px 18px 4px;padding:10px 16px;font-size:var(--kit-text-sm, 14px);line-height:1.4">
12
+ Sure! That new ramen place sounds great 🍜
13
+ <div style="font-size:11px;color:var(--kit-text-3, #94A3B8);margin-top:4px">10:31 AM</div>
14
+ </div>
15
+ </div>
@@ -0,0 +1,14 @@
1
+ <!--
2
+ @name: Chat Bubble — Sent
3
+ @category: patterns
4
+ @kit: app-mobile
5
+ @width: 260
6
+ @height: 60
7
+ @tags: chat, bubble, message, sent, outgoing
8
+ -->
9
+ <div data-component="Chat Bubble — Sent" style="display:flex;justify-content:flex-end;width:100%;font-family:var(--kit-font, system-ui, -apple-system, sans-serif)">
10
+ <div style="max-width:75%;background:var(--kit-primary, #6366F1);color:var(--kit-primary-fg, #FFFFFF);border-radius:18px 18px 4px 18px;padding:10px 16px;font-size:var(--kit-text-sm, 14px);line-height:1.4">
11
+ Hey! Are you free for lunch today?
12
+ <div style="font-size:11px;opacity:0.7;text-align:right;margin-top:4px">10:30 AM ✓✓</div>
13
+ </div>
14
+ </div>
@@ -0,0 +1,27 @@
1
+ <!--
2
+ @name: Chat Conversation — Full Screen
3
+ @category: patterns
4
+ @kit: app-mobile
5
+ @width: 360
6
+ @height: 640
7
+ @tags: chat, conversation, messages, full-screen, inbox
8
+ -->
9
+ <div data-component="Chat Conversation — Full Screen" style="width:100%;height:100%;display:flex;flex-direction:column;background:var(--kit-bg, #FFFFFF);font-family:var(--kit-font, system-ui, -apple-system, sans-serif)">
10
+ <div style="display:flex;align-items:center;height:56px;padding:0 8px;border-bottom:1px solid var(--kit-border, #E2E8F0);gap:8px;flex-shrink:0">
11
+ <div style="padding:8px;color:var(--kit-text, #0F172A);cursor:pointer"><svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M19 12H5"/><path d="M12 19l-7-7 7-7"/></svg></div>
12
+ <div style="width:36px;height:36px;border-radius:18px;background:var(--kit-primary, #6366F1);color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;flex-shrink:0">SC</div>
13
+ <div style="flex:1"><div style="font-size:15px;font-weight:600;color:var(--kit-text, #0F172A)">Sarah Chen</div><div style="font-size:12px;color:var(--kit-success, #22C55E)">Online</div></div>
14
+ <div style="padding:8px;color:var(--kit-text-2, #475569)"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.127.96.361 1.903.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.907.339 1.85.573 2.81.7A2 2 0 0 1 22 16.92z"/></svg></div>
15
+ </div>
16
+ <div style="flex:1;padding:16px;display:flex;flex-direction:column;gap:12px;overflow-y:auto">
17
+ <div style="display:flex;gap:8px;max-width:80%"><div style="width:28px;height:28px;border-radius:14px;background:var(--kit-primary, #6366F1);color:#fff;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;flex-shrink:0;margin-top:2px">SC</div><div><div style="background:var(--kit-surface, #F8FAFC);border-radius:4px 16px 16px 16px;padding:10px 14px;font-size:15px;color:var(--kit-text, #0F172A);line-height:1.4">Hey! How's the project coming along?</div><div style="font-size:11px;color:var(--kit-text-3, #94A3B8);margin-top:3px">10:30 AM</div></div></div>
18
+ <div style="display:flex;justify-content:flex-end"><div><div style="background:var(--kit-primary, #6366F1);color:#fff;border-radius:16px 4px 16px 16px;padding:10px 14px;font-size:15px;line-height:1.4">Almost done! Just finishing the dark mode.</div><div style="font-size:11px;color:var(--kit-text-3, #94A3B8);margin-top:3px;text-align:right">10:32 AM</div></div></div>
19
+ <div style="display:flex;gap:8px;max-width:80%"><div style="width:28px;height:28px;border-radius:14px;background:var(--kit-primary, #6366F1);color:#fff;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;flex-shrink:0;margin-top:2px">SC</div><div><div style="background:var(--kit-surface, #F8FAFC);border-radius:4px 16px 16px 16px;padding:10px 14px;font-size:15px;color:var(--kit-text, #0F172A);line-height:1.4">Awesome! Can't wait to see it</div><div style="font-size:11px;color:var(--kit-text-3, #94A3B8);margin-top:3px">10:33 AM</div></div></div>
20
+ <div style="display:flex;justify-content:flex-end"><div><div style="background:var(--kit-primary, #6366F1);color:#fff;border-radius:16px 4px 16px 16px;padding:10px 14px;font-size:15px;line-height:1.4">I'll share the preview link tonight</div><div style="font-size:11px;color:var(--kit-text-3, #94A3B8);margin-top:3px;text-align:right">10:35 AM</div></div></div>
21
+ </div>
22
+ <div style="display:flex;align-items:center;padding:8px 12px;border-top:1px solid var(--kit-border, #E2E8F0);gap:8px;flex-shrink:0">
23
+ <div style="padding:6px;cursor:pointer;color:var(--kit-text-2, #475569)"><svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><line x1="12" y1="5" x2="12" y2="19"/><line x1="5" y1="12" x2="19" y2="12"/></svg></div>
24
+ <div style="flex:1;height:40px;background:var(--kit-surface, #F8FAFC);border-radius:20px;padding:0 16px;display:flex;align-items:center;font-size:15px;color:var(--kit-text-3, #94A3B8)">Message...</div>
25
+ <div style="width:40px;height:40px;border-radius:20px;background:var(--kit-primary, #6366F1);display:flex;align-items:center;justify-content:center;cursor:pointer"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="#fff" stroke-width="2"><line x1="22" y1="2" x2="11" y2="13"/><polygon points="22 2 15 22 11 13 2 9 22 2"/></svg></div>
26
+ </div>
27
+ </div>
@@ -0,0 +1,13 @@
1
+ <!--
2
+ @name: Chat Input Bar
3
+ @category: patterns
4
+ @kit: app-mobile
5
+ @width: 360
6
+ @height: 56
7
+ @tags: chat, input, message, compose, send, attach
8
+ -->
9
+ <div data-component="Chat Input Bar" style="display:flex;align-items:center;width:100%;height:56px;padding:8px;gap:8px;box-sizing:border-box;font-family:var(--kit-font, system-ui, -apple-system, sans-serif)">
10
+ <div style="padding:8px;cursor:pointer;color:var(--kit-text-2, #475569);display:flex;align-items:center"><svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><line x1="12" y1="5" x2="12" y2="19"/><line x1="5" y1="12" x2="19" y2="12"/></svg></div>
11
+ <div style="flex:1;height:40px;background:var(--kit-surface, #F8FAFC);border-radius:20px;padding:0 16px;display:flex;align-items:center;font-size:var(--kit-text-sm, 14px);color:var(--kit-text-3, #94A3B8)">Type a message...</div>
12
+ <div style="width:40px;height:40px;border-radius:20px;background:var(--kit-primary, #6366F1);display:flex;align-items:center;justify-content:center;cursor:pointer"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="#FFFFFF" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="22" y1="2" x2="11" y2="13"/><polygon points="22 2 15 22 11 13 2 9 22 2"/></svg></div>
13
+ </div>