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,470 @@
1
+ # Skill: Design (HTML — single file output)
2
+
3
+ > **For:** Claude, GPT-4o, Gemini, Cursor, Copilot, or any AI agent.
4
+ > **Goal:** Read this kit → design a single-file HTML page or mobile screen.
5
+ > **Output:** One self-contained `.html` file. No external dependencies.
6
+
7
+ ---
8
+
9
+ ## Your role
10
+
11
+ You are a **UI/UX designer and front-end developer**.
12
+ When given a design request (e.g. "design a finance app home screen"), you will:
13
+
14
+ 1. Read the token system below
15
+ 2. Pick the correct platform (mobile or web)
16
+ 3. Compose components from the component library
17
+ 4. Output a **single, complete, self-contained HTML file**
18
+
19
+ The output must open in any browser and look like a finished, pixel-perfect design.
20
+
21
+ ---
22
+
23
+ ## Step 1 — Choose platform & canvas size
24
+
25
+ | Platform | Viewport width | Typical height | Use for |
26
+ |----------|---------------|----------------|---------|
27
+ | **Mobile** | `390px` | `844px` (scroll ok) | App screens, iOS/Android |
28
+ | **Tablet** | `768px` | `1024px` | iPad, large mobile |
29
+ | **Web / Desktop** | `1440px` | `900px` (scroll ok) | Landing pages, dashboards, web apps |
30
+
31
+ Set `<meta name="viewport" content="width=390">` for mobile.
32
+ Set `<meta name="viewport" content="width=1440">` for desktop.
33
+
34
+ ---
35
+
36
+ ## Step 2 — Load the token kit
37
+
38
+ Always start your `<style>` block with these CSS variables. Adjust values to match the design mood.
39
+
40
+ ```css
41
+ :root {
42
+ /* ── Brand colors ── */
43
+ --kit-primary: #6366F1; /* main brand — change this first */
44
+ --kit-primary-text: #FFFFFF; /* text on primary bg */
45
+ --kit-secondary: #64748B;
46
+ --kit-accent: #F59E0B;
47
+
48
+ /* ── Surface hierarchy ── */
49
+ --kit-bg: #FFFFFF; /* page background */
50
+ --kit-surface: #F8FAFC; /* card, panel */
51
+ --kit-surface-2: #F1F5F9; /* nested card, input bg */
52
+ --kit-surface-3: #E2E8F0; /* deeply nested, divider bg */
53
+
54
+ /* ── Text hierarchy ── */
55
+ --kit-text: #0F172A; /* primary text */
56
+ --kit-text-2: #475569; /* secondary, label */
57
+ --kit-text-3: #94A3B8; /* caption, placeholder */
58
+ --kit-text-inverse: #FFFFFF; /* text on dark bg */
59
+
60
+ /* ── Borders ── */
61
+ --kit-border: #E2E8F0;
62
+ --kit-border-strong: #CBD5E1;
63
+
64
+ /* ── Status colors ── */
65
+ --kit-success: #22C55E;
66
+ --kit-success-bg: #F0FDF4;
67
+ --kit-error: #EF4444;
68
+ --kit-error-bg: #FEF2F2;
69
+ --kit-warning: #F59E0B;
70
+ --kit-warning-bg: #FFFBEB;
71
+ --kit-info: #3B82F6;
72
+ --kit-info-bg: #EFF6FF;
73
+
74
+ /* ── Typography ── */
75
+ --kit-font: 'Inter', system-ui, -apple-system, sans-serif;
76
+ --kit-text-xs: 11px;
77
+ --kit-text-sm: 13px;
78
+ --kit-text-md: 15px; /* default body */
79
+ --kit-text-lg: 17px;
80
+ --kit-text-xl: 20px;
81
+ --kit-text-2xl: 24px;
82
+ --kit-text-3xl: 32px;
83
+ --kit-text-4xl: 48px;
84
+
85
+ /* ── Spacing ── */
86
+ --kit-space-1: 4px;
87
+ --kit-space-2: 8px;
88
+ --kit-space-3: 12px;
89
+ --kit-space-4: 16px; /* default padding */
90
+ --kit-space-5: 20px;
91
+ --kit-space-6: 24px;
92
+ --kit-space-8: 32px;
93
+ --kit-space-10: 40px;
94
+ --kit-space-12: 48px;
95
+ --kit-space-16: 80px;
96
+
97
+ /* ── Radii ── */
98
+ --kit-radius-sm: 6px;
99
+ --kit-radius: 10px; /* default */
100
+ --kit-radius-lg: 14px;
101
+ --kit-radius-xl: 20px;
102
+ --kit-radius-full: 9999px;
103
+
104
+ /* ── Shadows ── */
105
+ --kit-shadow-sm: 0 1px 3px rgba(0,0,0,0.08);
106
+ --kit-shadow: 0 4px 12px rgba(0,0,0,0.10);
107
+ --kit-shadow-lg: 0 8px 32px rgba(0,0,0,0.12);
108
+ --kit-shadow-xl: 0 20px 60px rgba(0,0,0,0.15);
109
+ }
110
+ ```
111
+
112
+ ### Dark mode token override
113
+
114
+ ```css
115
+ /* Add inside <style> after :root */
116
+ @media (prefers-color-scheme: dark) {
117
+ :root {
118
+ --kit-bg: #0F172A;
119
+ --kit-surface: #1E293B;
120
+ --kit-surface-2: #334155;
121
+ --kit-surface-3: #475569;
122
+ --kit-text: #F1F5F9;
123
+ --kit-text-2: #94A3B8;
124
+ --kit-text-3: #64748B;
125
+ --kit-text-inverse: #0F172A;
126
+ --kit-border: #334155;
127
+ --kit-border-strong: #475569;
128
+ }
129
+ }
130
+ ```
131
+
132
+ ---
133
+
134
+ ## Step 3 — Compose your design
135
+
136
+ Use HTML components from this kit. All components use inline styles with `var(--kit-*)`.
137
+
138
+ ### Available components (read from `components/` folder)
139
+
140
+ #### Mobile (`components/app-mobile/`)
141
+
142
+ ```
143
+ navbars/ top-app-bar-small, top-app-bar-center, top-app-bar-large
144
+ bottom-nav-3, bottom-nav-4, bottom-nav-5, bottom-app-bar
145
+ buttons/ button-filled, button-tonal, button-outlined, button-text
146
+ button-icon, button-fab, button-fab-small, button-fab-extended
147
+ button-segmented
148
+ cards/ card-elevated, card-filled, card-outlined
149
+ inputs/ text-field-filled, text-field-outlined, search-bar
150
+ date-picker, time-picker, otp-input, password-field
151
+ file-upload, textarea, select
152
+ lists/ list-item-1line, list-item-2line, list-item-3line
153
+ chips/ chip-assist, chip-filter, chip-input, chip-suggestion
154
+ feedback/ snackbar, progress-linear, progress-circular, skeleton, banner, tooltip
155
+ tabs/ tabs-primary, tabs-secondary
156
+ toggles/ switch, checkbox, radio
157
+ surfaces/ bottom-sheet, drawer, navigation-rail
158
+ badges/ badge-dot, badge-count
159
+ native/ ios-status-bar, ios-nav-bar, ios-tab-bar, ios-home-indicator
160
+ android-status-bar, android-gesture-nav
161
+ patterns/ product-card, order-tracker, story-row, chat-bubble, contact-card
162
+ map-preview, transaction-item, health-metric, workout-card, …
163
+ charts/ bar-chart, line-chart, donut-chart, progress-ring, sparkline, stat-card
164
+ ```
165
+
166
+ #### Web (`components/web/`)
167
+
168
+ ```
169
+ navbars/ topnav, topnav-search, sidebar, sidebar-dark, breadcrumb, footer
170
+ heroes/ hero-gradient, hero-image-bg, hero-video
171
+ buttons/ button-primary, button-secondary, button-danger, button-ghost, button-icon
172
+ cards/ card-basic, card-image, card-stat, card-pricing, card-testimonial
173
+ inputs/ text-input, textarea, select, search-command, date-input
174
+ file-upload, tag-input, checkbox, radio-group, toggle
175
+ features/ features-icon-list, features-alternating, features-bento
176
+ cta/ cta-centered, cta-split-image, cta-newsletter
177
+ pricing/ pricing-comparison, pricing-toggle
178
+ social-proof/ logo-cloud, testimonials
179
+ layout/ hero-centered, hero-split, pricing-section, stats-row
180
+ tables/ table-simple, data-table
181
+ modals/ modal-basic, modal-form
182
+ feedback/ alert-banner, empty-state, loading-spinner, skeleton, toast, tooltip
183
+ tabs/ tabs-pills, tabs-underline
184
+ charts/ area-chart, bar-chart, donut-chart
185
+ widgets/ kpi-row, api-keys, billing, changelog, onboarding-checklist
186
+ patterns/ auth-login, kanban-board, chat-interface, calendar, settings-page
187
+ comparison-table, code-editor, activity-feed, filter-toolbar, …
188
+ products/ product-card, product-detail, product-grid, review-section
189
+ cart/ cart-page, checkout, order-confirmation
190
+ ```
191
+
192
+ ---
193
+
194
+ ## Step 4 — Output format (single-file HTML)
195
+
196
+ ```html
197
+ <!DOCTYPE html>
198
+ <html lang="en">
199
+ <head>
200
+ <meta charset="UTF-8">
201
+ <meta name="viewport" content="width=390, initial-scale=1.0"><!-- 390 mobile, 1440 web -->
202
+ <title>Screen / Page Name</title>
203
+ <style>
204
+ /* ── 1. Kit tokens ───────────────────────────────────── */
205
+ :root {
206
+ --kit-primary: #6366F1;
207
+ --kit-primary-text: #FFFFFF;
208
+ /* ... all tokens ... */
209
+ }
210
+
211
+ /* ── 2. Reset ────────────────────────────────────────── */
212
+ *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
213
+ body {
214
+ font-family: var(--kit-font, Inter, system-ui, sans-serif);
215
+ background: var(--kit-bg, #FFFFFF);
216
+ color: var(--kit-text, #0F172A);
217
+ -webkit-font-smoothing: antialiased;
218
+ }
219
+
220
+ /* ── 3. Screen wrapper ───────────────────────────────── */
221
+ /* MOBILE: */
222
+ .screen {
223
+ width: 390px;
224
+ min-height: 844px;
225
+ margin: 0 auto;
226
+ overflow-x: hidden;
227
+ position: relative;
228
+ background: var(--kit-bg, #FFFFFF);
229
+ }
230
+
231
+ /* DESKTOP: */
232
+ /* .screen { width: 100%; max-width: 1440px; margin: 0 auto; min-height: 100vh; } */
233
+ </style>
234
+ </head>
235
+ <body>
236
+ <div class="screen">
237
+
238
+ <!-- ALL COMPONENT HTML HERE — inline styles only -->
239
+
240
+ </div>
241
+ </body>
242
+ </html>
243
+ ```
244
+
245
+ ---
246
+
247
+ ## Rules for AI-generated HTML
248
+
249
+ ### MUST follow
250
+
251
+ 1. **Inline styles only** — no Tailwind, no Bootstrap, no class-based CSS frameworks
252
+ 2. **All colors via `var(--kit-*)`** — never hardcode `#hex` or `rgb()` inside component HTML
253
+ 3. **Semantic HTML** — use `<button>`, `<nav>`, `<header>`, `<a>`, `<ul>/<li>`, `<input>` correctly
254
+ 4. **No JavaScript** — output is a static design preview, not an interactive app
255
+ 5. **Placeholder images** — use `https://placehold.jp/{W}x{H}.png` for any images needed
256
+ 6. **Single file** — everything in one `.html` file, zero external dependencies
257
+ 7. **data-component** attribute on each component root element (for Pixeliro editor)
258
+
259
+ ### Semantic HTML examples
260
+
261
+ ```html
262
+ <!-- ❌ WRONG — div-soup -->
263
+ <div style="cursor:pointer; background:#6366F1; color:white;">Click me</div>
264
+
265
+ <!-- ✅ CORRECT — semantic -->
266
+ <button type="button" style="background:var(--kit-primary,#6366F1); color:var(--kit-primary-text,#FFF); ...">Click me</button>
267
+ ```
268
+
269
+ ```html
270
+ <!-- ❌ WRONG -->
271
+ <div style="font-size:24px; font-weight:700;">Dashboard</div>
272
+
273
+ <!-- ✅ CORRECT -->
274
+ <h1 style="font-size:var(--kit-text-2xl,24px); font-weight:700; color:var(--kit-text,#0F172A);">Dashboard</h1>
275
+ ```
276
+
277
+ ### Layout patterns
278
+
279
+ #### Mobile screen layout
280
+ ```html
281
+ <!-- Fixed top bar -->
282
+ <header data-component="Top App Bar" style="
283
+ position: sticky; top: 0; z-index: 100;
284
+ height: 56px; padding: 0 16px;
285
+ display: flex; align-items: center;
286
+ background: var(--kit-surface,#F8FAFC);
287
+ border-bottom: 1px solid var(--kit-border,#E2E8F0);
288
+ ">
289
+
290
+ <!-- Scrollable content -->
291
+ <main style="
292
+ flex: 1; overflow-y: auto;
293
+ padding: 16px;
294
+ padding-bottom: 83px; /* tab bar height */
295
+ ">
296
+
297
+ <!-- Fixed bottom tab bar -->
298
+ <nav data-component="Bottom Navigation" style="
299
+ position: fixed; bottom: 0; left: 0; right: 0;
300
+ height: 83px; /* 49px tabs + 34px safe area */
301
+ background: var(--kit-surface,#F8FAFC);
302
+ border-top: 1px solid var(--kit-border,#E2E8F0);
303
+ display: flex; align-items: center; justify-content: space-around;
304
+ padding-bottom: 34px; /* iOS home indicator safe area */
305
+ ">
306
+ ```
307
+
308
+ #### Web dashboard layout
309
+ ```html
310
+ <div style="display:flex; height:100vh; background:var(--kit-bg,#FFF);">
311
+ <!-- Sidebar -->
312
+ <aside style="width:240px; flex-shrink:0; background:var(--kit-surface,#F8FAFC); border-right:1px solid var(--kit-border,#E2E8F0);">
313
+ ...
314
+ </aside>
315
+ <!-- Main -->
316
+ <main style="flex:1; overflow-y:auto; padding:32px;">
317
+ ...
318
+ </main>
319
+ </div>
320
+ ```
321
+
322
+ ---
323
+
324
+ ## Token presets for different design moods
325
+
326
+ ### Finance / Banking (dark, professional)
327
+ ```css
328
+ --kit-primary: #6366F1; --kit-bg: #0A0E1A; --kit-surface: #141926;
329
+ --kit-surface-2: #1E2538; --kit-text: #F1F5F9; --kit-text-2: #94A3B8;
330
+ --kit-border: #1E2538; --kit-font: 'Inter', sans-serif;
331
+ ```
332
+
333
+ ### Health / Wellness (soft, calming)
334
+ ```css
335
+ --kit-primary: #10B981; --kit-bg: #F0FDF4; --kit-surface: #FFFFFF;
336
+ --kit-text: #064E3B; --kit-text-2: #6EE7B7; --kit-accent: #34D399;
337
+ --kit-radius: 16px; --kit-font: 'Inter', sans-serif;
338
+ ```
339
+
340
+ ### E-commerce (energetic, orange)
341
+ ```css
342
+ --kit-primary: #F97316; --kit-bg: #FFFFFF; --kit-surface: #FFF7ED;
343
+ --kit-text: #1C1917; --kit-accent: #EAB308; --kit-radius: 8px;
344
+ ```
345
+
346
+ ### SaaS / Productivity (clean, indigo)
347
+ ```css
348
+ --kit-primary: #6366F1; --kit-bg: #FFFFFF; --kit-surface: #F8FAFC;
349
+ --kit-text: #0F172A; --kit-radius: 8px; --kit-font: 'Inter', sans-serif;
350
+ ```
351
+
352
+ ### Social / Dating (vibrant, pink)
353
+ ```css
354
+ --kit-primary: #EC4899; --kit-secondary: #8B5CF6; --kit-accent: #F59E0B;
355
+ --kit-bg: #FFFFFF; --kit-surface: #FDF2F8; --kit-text: #1F2937;
356
+ --kit-radius: 20px; --kit-radius-full: 9999px;
357
+ ```
358
+
359
+ ### Travel (bold, blue-teal)
360
+ ```css
361
+ --kit-primary: #0EA5E9; --kit-secondary: #14B8A6; --kit-accent: #F59E0B;
362
+ --kit-bg: #F0F9FF; --kit-surface: #FFFFFF; --kit-text: #0C4A6E;
363
+ --kit-radius: 12px;
364
+ ```
365
+
366
+ ### News / Editorial (neutral, classic)
367
+ ```css
368
+ --kit-primary: #1D4ED8; --kit-bg: #FFFFFF; --kit-surface: #F9FAFB;
369
+ --kit-text: #111827; --kit-text-2: #6B7280; --kit-font: 'Georgia', serif;
370
+ --kit-radius: 4px; --kit-radius-lg: 8px;
371
+ ```
372
+
373
+ ---
374
+
375
+ ## Component reference — copy-paste patterns
376
+
377
+ ### Mobile status bar (iOS)
378
+ ```html
379
+ <div data-component="iOS Status Bar" style="
380
+ height: 44px; padding: 14px 16px 0;
381
+ display: flex; justify-content: space-between; align-items: center;
382
+ background: var(--kit-surface, #F8FAFC);
383
+ ">
384
+ <span style="font-size:15px; font-weight:600; color:var(--kit-text,#0F172A);">9:41</span>
385
+ <div style="display:flex; gap:6px; align-items:center;">
386
+ <svg width="17" height="12" viewBox="0 0 17 12" fill="none">
387
+ <rect x="0" y="3" width="3" height="9" rx="1" fill="var(--kit-text,#0F172A)"/>
388
+ <rect x="4.5" y="2" width="3" height="10" rx="1" fill="var(--kit-text,#0F172A)"/>
389
+ <rect x="9" y="0" width="3" height="12" rx="1" fill="var(--kit-text,#0F172A)"/>
390
+ <rect x="13.5" y="0" width="3" height="12" rx="1" fill="var(--kit-text,#0F172A)" opacity="0.3"/>
391
+ </svg>
392
+ <svg width="16" height="12" viewBox="0 0 16 12" fill="none">
393
+ <path d="M8 9.5a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3z" fill="var(--kit-text,#0F172A)"/>
394
+ <path d="M3.5 6.5A6.5 6.5 0 0 1 8 5a6.5 6.5 0 0 1 4.5 1.5" stroke="var(--kit-text,#0F172A)" stroke-width="1.5" stroke-linecap="round" fill="none"/>
395
+ <path d="M1 3.5A10 10 0 0 1 8 1a10 10 0 0 1 7 2.5" stroke="var(--kit-text,#0F172A)" stroke-width="1.5" stroke-linecap="round" fill="none" opacity="0.5"/>
396
+ </svg>
397
+ <svg width="25" height="12" viewBox="0 0 25 12" fill="none">
398
+ <rect x="0.5" y="0.5" width="21" height="11" rx="3.5" stroke="var(--kit-text,#0F172A)" stroke-opacity="0.35"/>
399
+ <rect x="2" y="2" width="16" height="8" rx="2" fill="var(--kit-text,#0F172A)"/>
400
+ <path d="M23 4v4a2 2 0 0 0 0-4z" fill="var(--kit-text,#0F172A)" opacity="0.4"/>
401
+ </svg>
402
+ </div>
403
+ </div>
404
+ ```
405
+
406
+ ### Gradient hero card
407
+ ```html
408
+ <div data-component="Balance Card" style="
409
+ background: linear-gradient(135deg, var(--kit-primary,#6366F1), var(--kit-secondary,#8B5CF6));
410
+ border-radius: var(--kit-radius-xl, 20px);
411
+ padding: 24px;
412
+ color: var(--kit-primary-text, #FFFFFF);
413
+ box-shadow: 0 8px 32px rgba(99,102,241,0.3);
414
+ ">
415
+ <div style="font-size:var(--kit-text-sm,13px); opacity:0.8; margin-bottom:8px;">Total Balance</div>
416
+ <div style="font-size:var(--kit-text-4xl,48px); font-weight:700; letter-spacing:-1px;">$12,450</div>
417
+ <div style="font-size:var(--kit-text-sm,13px); opacity:0.7; margin-top:4px;">↑ 12.5% from last month</div>
418
+ </div>
419
+ ```
420
+
421
+ ### Card
422
+ ```html
423
+ <div data-component="Card" style="
424
+ background: var(--kit-surface, #FFFFFF);
425
+ border-radius: var(--kit-radius-lg, 14px);
426
+ padding: var(--kit-space-4, 16px);
427
+ box-shadow: var(--kit-shadow-sm, 0 1px 3px rgba(0,0,0,0.08));
428
+ border: 1px solid var(--kit-border, #E2E8F0);
429
+ ">
430
+ </div>
431
+ ```
432
+
433
+ ### Web nav bar
434
+ ```html
435
+ <nav data-component="Top Navigation" style="
436
+ height: 64px; padding: 0 32px;
437
+ display: flex; align-items: center; justify-content: space-between;
438
+ background: var(--kit-surface, #FFFFFF);
439
+ border-bottom: 1px solid var(--kit-border, #E2E8F0);
440
+ position: sticky; top: 0; z-index: 100;
441
+ ">
442
+ <a href="#" style="font-size:18px;font-weight:700;color:var(--kit-primary,#6366F1);text-decoration:none;">Logo</a>
443
+ <ul style="display:flex;gap:32px;list-style:none;margin:0;padding:0;">
444
+ <li><a href="#" style="font-size:14px;font-weight:500;color:var(--kit-text,#0F172A);text-decoration:none;">Features</a></li>
445
+ <li><a href="#" style="font-size:14px;font-weight:500;color:var(--kit-text-2,#475569);text-decoration:none;">Pricing</a></li>
446
+ </ul>
447
+ <button type="button" style="height:38px;padding:0 20px;background:var(--kit-primary,#6366F1);color:var(--kit-primary-text,#FFF);border:none;border-radius:var(--kit-radius,10px);font-size:14px;font-weight:500;cursor:pointer;">Get Started</button>
448
+ </nav>
449
+ ```
450
+
451
+ ---
452
+
453
+ ## Output checklist
454
+
455
+ Before responding, verify:
456
+
457
+ - [ ] Single `.html` file, opens in browser without internet
458
+ - [ ] `<!DOCTYPE html>` + proper `<head>` + viewport meta
459
+ - [ ] `:root` with ALL `--kit-*` tokens defined
460
+ - [ ] `box-sizing: border-box` reset
461
+ - [ ] All colors via `var(--kit-*)` — no hardcoded hex in component HTML
462
+ - [ ] Semantic HTML (`<nav>`, `<button>`, `<header>`, `<h1>`-`<h6>`, `<ul>/<li>`, `<a>`)
463
+ - [ ] No JavaScript
464
+ - [ ] Placeholder images via `https://placehold.jp/{W}x{H}.png`
465
+ - [ ] `data-component="..."` on each component root
466
+ - [ ] Looks complete and polished — not just skeleton markup
467
+
468
+ ---
469
+
470
+ *Part of [DesignKit](../README.md) · See [skills/](../skills/) for framework conversion skills.*
@@ -0,0 +1,156 @@
1
+ # Skill: Flutter (Dart)
2
+
3
+ Build, design, and convert DesignKit UI using Flutter.
4
+
5
+ ## Your role
6
+
7
+ You are a Flutter developer with strong UI skills.
8
+ You can:
9
+ - **Design** a screen from scratch using the token system
10
+ - **Convert** a DesignKit HTML file to Flutter Widget tree
11
+ - **Build** a full feature (onboarding flow, tab navigation, list + detail, etc.)
12
+
13
+ Read the request and determine which mode applies.
14
+
15
+ ## Token class (`lib/tokens.dart`)
16
+
17
+ ```dart
18
+ import 'package:flutter/material.dart';
19
+
20
+ class T {
21
+ // Colors
22
+ static const primary = Color(0xFF6366F1);
23
+ static const primaryText = Color(0xFFFFFFFF);
24
+ static const secondary = Color(0xFF64748B);
25
+ static const accent = Color(0xFFF59E0B);
26
+ static const bg = Color(0xFFFFFFFF);
27
+ static const surface = Color(0xFFF8FAFC);
28
+ static const surface2 = Color(0xFFF1F5F9);
29
+ static const textPrimary = Color(0xFF0F172A);
30
+ static const text2 = Color(0xFF475569);
31
+ static const text3 = Color(0xFF94A3B8);
32
+ static const border = Color(0xFFE2E8F0);
33
+ static const success = Color(0xFF22C55E);
34
+ static const error = Color(0xFFEF4444);
35
+ static const warning = Color(0xFFF59E0B);
36
+
37
+ // Border radius
38
+ static const radiusSm = BorderRadius.all(Radius.circular(6));
39
+ static const radius = BorderRadius.all(Radius.circular(10));
40
+ static const radiusLg = BorderRadius.all(Radius.circular(14));
41
+ static const radiusXl = BorderRadius.all(Radius.circular(20));
42
+ static const radiusFull = BorderRadius.all(Radius.circular(9999));
43
+
44
+ // Spacing
45
+ static const space1 = 4.0;
46
+ static const space2 = 8.0;
47
+ static const space3 = 12.0;
48
+ static const space4 = 16.0;
49
+ static const space5 = 20.0;
50
+ static const space6 = 24.0;
51
+ static const space8 = 32.0;
52
+
53
+ // Shadows
54
+ static const shadowSm = [
55
+ BoxShadow(color: Color(0x14000000), blurRadius: 3, offset: Offset(0, 1))
56
+ ];
57
+ static const shadow = [
58
+ BoxShadow(color: Color(0x1A000000), blurRadius: 12, offset: Offset(0, 4))
59
+ ];
60
+ static const shadowLg = [
61
+ BoxShadow(color: Color(0x1F000000), blurRadius: 32, offset: Offset(0, 8))
62
+ ];
63
+
64
+ // Typography
65
+ static const fontFamily = 'Inter';
66
+ static TextStyle textXs({Color? color, FontWeight? weight}) =>
67
+ TextStyle(fontSize: 11, fontFamily: fontFamily, color: color ?? textPrimary, fontWeight: weight);
68
+ static TextStyle textSm({Color? color, FontWeight? weight}) =>
69
+ TextStyle(fontSize: 13, fontFamily: fontFamily, color: color ?? textPrimary, fontWeight: weight);
70
+ static TextStyle textMd({Color? color, FontWeight? weight}) =>
71
+ TextStyle(fontSize: 15, fontFamily: fontFamily, color: color ?? textPrimary, fontWeight: weight);
72
+ static TextStyle textLg({Color? color, FontWeight? weight}) =>
73
+ TextStyle(fontSize: 17, fontFamily: fontFamily, color: color ?? textPrimary, fontWeight: weight);
74
+ static TextStyle textXl({Color? color, FontWeight? weight}) =>
75
+ TextStyle(fontSize: 20, fontFamily: fontFamily, color: color ?? textPrimary, fontWeight: weight);
76
+ static TextStyle text2xl({Color? color, FontWeight? weight}) =>
77
+ TextStyle(fontSize: 24, fontFamily: fontFamily, color: color ?? textPrimary, fontWeight: weight);
78
+ static TextStyle text3xl({Color? color, FontWeight? weight}) =>
79
+ TextStyle(fontSize: 32, fontFamily: fontFamily, color: color ?? textPrimary, fontWeight: weight);
80
+ }
81
+ ```
82
+
83
+ ## HTML → Flutter mapping
84
+
85
+ | HTML | Flutter |
86
+ |------|---------|
87
+ | `<div style="display:flex">` | `Row()` |
88
+ | `<div style="display:flex; flex-direction:column">` | `Column()` |
89
+ | `<div style="position:relative">` | `Stack()` |
90
+ | `<div style="overflow-y:auto">` | `SingleChildScrollView()` or `ListView()` |
91
+ | `<div style="background:X; border-radius:Y; padding:Z">` | `Container(decoration: BoxDecoration(...), padding: ...)` |
92
+ | `<button>` | `ElevatedButton()` or `GestureDetector()` |
93
+ | `<input>` | `TextField()` |
94
+ | `<img>` | `Image.network()` or `Container(color: Colors.grey[200])` |
95
+ | `<span>` / `<p>` / `<h1>` | `Text()` |
96
+ | `gap: 8px` in flex | `SizedBox(width/height: 8)` or `mainAxisAlignment` |
97
+
98
+ ## Output format
99
+
100
+ ```dart
101
+ import 'package:flutter/material.dart';
102
+ import '../tokens.dart';
103
+
104
+ class ScreenName extends StatefulWidget {
105
+ const ScreenName({super.key});
106
+
107
+ @override
108
+ State<ScreenName> createState() => _ScreenNameState();
109
+ }
110
+
111
+ class _ScreenNameState extends State<ScreenName> {
112
+ // state here
113
+
114
+ @override
115
+ Widget build(BuildContext context) {
116
+ return Scaffold(
117
+ backgroundColor: T.bg,
118
+ body: SafeArea(
119
+ child: Column(
120
+ children: [
121
+ // widgets here
122
+ ],
123
+ ),
124
+ ),
125
+ );
126
+ }
127
+ }
128
+ ```
129
+
130
+ ## Rules
131
+
132
+ - **`T.*` tokens** — never hardcode Color(0xFF...)
133
+ - **`const`** constructors everywhere possible
134
+ - **`SafeArea`** wrapping body for iOS notch/bottom bar
135
+ - **`SizedBox`** for spacing — not `Padding` with one side
136
+ - **`StatefulWidget`** only when state is needed, otherwise `StatelessWidget`
137
+ - **Screen width** — use `MediaQuery.of(context).size.width`, not hardcoded 390
138
+
139
+ ## Example prompt
140
+
141
+ ```
142
+ Read AI-AGENT.md and skills/flutter.md, then:
143
+
144
+ Design and build a finance app home screen in Flutter:
145
+ - iOS status bar area (SafeArea)
146
+ - Top bar: greeting "Good morning, John" + notification bell
147
+ - Balance card: gradient indigo, large balance number, +12.5% label
148
+ - Quick actions: Send, Receive, Pay, More (2x2 or row)
149
+ - "Recent Transactions" header
150
+ - 4 transaction list items (icon, title, date, amount)
151
+ - Bottom navigation: 5 tabs
152
+
153
+ Output:
154
+ - lib/screens/home_screen.dart
155
+ - lib/tokens.dart
156
+ ```