motion-ui-skill 2.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 (886) hide show
  1. package/LICENSE +22 -0
  2. package/README.md +637 -0
  3. package/SKILL.md +529 -0
  4. package/agents/openai.yaml +8 -0
  5. package/bin/index.mjs +242 -0
  6. package/bin/installer.mjs +457 -0
  7. package/bin/updater.mjs +207 -0
  8. package/catalog.json +8120 -0
  9. package/components/agents/agent-activity/activity-row.tsx +242 -0
  10. package/components/agents/agent-activity/index.tsx +287 -0
  11. package/components/agents/agent-activity/types.ts +106 -0
  12. package/components/agents/agent-code.tsx +171 -0
  13. package/components/agents/agent-disclosure.tsx +55 -0
  14. package/components/agents/ai-sidebar.tsx +981 -0
  15. package/components/agents/approval-card/index.tsx +467 -0
  16. package/components/agents/approval-card/types.ts +56 -0
  17. package/components/agents/chat-app.tsx +97 -0
  18. package/components/agents/citations.tsx +288 -0
  19. package/components/agents/code-block.tsx +202 -0
  20. package/components/agents/file-diff.tsx +288 -0
  21. package/components/agents/image-generation.tsx +388 -0
  22. package/components/agents/loading-states/agent-progress.tsx +105 -0
  23. package/components/agents/loading-states/index.ts +13 -0
  24. package/components/agents/loading-states/reasoning-text.tsx +224 -0
  25. package/components/agents/loading-states/thinking-shimmer.tsx +27 -0
  26. package/components/agents/message-bubble.tsx +369 -0
  27. package/components/agents/message-context.tsx +9 -0
  28. package/components/agents/message-scroller.tsx +487 -0
  29. package/components/agents/message.tsx +272 -0
  30. package/components/agents/prompt-input.tsx +327 -0
  31. package/components/agents/streaming-response.tsx +263 -0
  32. package/components/agents/todo-list.tsx +387 -0
  33. package/components/agents/tool-approval.tsx +276 -0
  34. package/components/agents/tool-result.tsx +352 -0
  35. package/components/app/icons.tsx +19 -0
  36. package/components/audio/music-player-card.tsx +146 -0
  37. package/components/audio/music-playlist-card.tsx +172 -0
  38. package/components/audio/now-playing-bar.tsx +116 -0
  39. package/components/background-gradient/arc-bands-background.tsx +54 -0
  40. package/components/background-gradient/aurora-background.tsx +49 -0
  41. package/components/background-gradient/cherry-petal-background.tsx +50 -0
  42. package/components/background-gradient/coral-glow-background.tsx +47 -0
  43. package/components/background-gradient/dark-arc-bands-background.tsx +52 -0
  44. package/components/background-gradient/dark-aurora-background.tsx +52 -0
  45. package/components/background-gradient/dark-carbon-spotlight-background.tsx +47 -0
  46. package/components/background-gradient/dark-ember-background.tsx +47 -0
  47. package/components/background-gradient/dark-ink-field-background.tsx +46 -0
  48. package/components/background-gradient/dark-midnight-mesh-background.tsx +61 -0
  49. package/components/background-gradient/dark-rose-noir-background.tsx +52 -0
  50. package/components/background-gradient/dark-teal-depth-background.tsx +52 -0
  51. package/components/background-gradient/frost-mesh-background.tsx +56 -0
  52. package/components/background-gradient/halftone-pop-background.tsx +52 -0
  53. package/components/background-gradient/honey-ember-background.tsx +47 -0
  54. package/components/background-gradient/ink-wash-background.tsx +49 -0
  55. package/components/background-gradient/linen-weave-background.tsx +47 -0
  56. package/components/background-gradient/mint-lagoon-background.tsx +47 -0
  57. package/components/background-gradient/paper-fold-background.tsx +52 -0
  58. package/components/background-gradient/rain-prism-background.tsx +52 -0
  59. package/components/background-gradient/sand-drift-background.tsx +47 -0
  60. package/components/background-gradient/soft-spotlight-background.tsx +47 -0
  61. package/components/background-gradient/sunrise-horizon-background.tsx +51 -0
  62. package/components/background-gradient/sunset-bloom-background.tsx +47 -0
  63. package/components/background-gradient/terrazzo-fragment-background.tsx +53 -0
  64. package/components/background-gradient/tropical-tide-background.tsx +47 -0
  65. package/components/background-pattern/diagonal-box-pattern.tsx +29 -0
  66. package/components/background-pattern/dot-grid-pattern.tsx +29 -0
  67. package/components/background-pattern/fine-grain-pattern.tsx +39 -0
  68. package/components/background-pattern/graph-paper-pattern.tsx +29 -0
  69. package/components/background-pattern/line-grid-pattern.tsx +39 -0
  70. package/components/background-pattern/reverse-diagonal-box-pattern.tsx +30 -0
  71. package/components/buttons/add-to-cart-button.tsx +190 -0
  72. package/components/buttons/bookmark-save-button.tsx +105 -0
  73. package/components/buttons/cinder-latch-button.tsx +80 -0
  74. package/components/buttons/copy-button.tsx +155 -0
  75. package/components/buttons/depth-outline-button.tsx +72 -0
  76. package/components/buttons/dimple-switch.tsx +114 -0
  77. package/components/buttons/download-button.tsx +186 -0
  78. package/components/buttons/follow-button.tsx +98 -0
  79. package/components/buttons/hold-to-delete-button.tsx +205 -0
  80. package/components/buttons/inset-button.tsx +82 -0
  81. package/components/buttons/like-button.tsx +135 -0
  82. package/components/buttons/linen-tab-button.tsx +92 -0
  83. package/components/buttons/prism-depth-button.tsx +90 -0
  84. package/components/buttons/quantity-stepper-button.tsx +104 -0
  85. package/components/buttons/segmented-toggle-button.tsx +134 -0
  86. package/components/buttons/sheen-pill-button.tsx +127 -0
  87. package/components/buttons/slate-chip-switch.tsx +94 -0
  88. package/components/buttons/slide-to-confirm-button.tsx +163 -0
  89. package/components/buttons/soft-pill-button.tsx +86 -0
  90. package/components/buttons/soft-ui-button.tsx +59 -0
  91. package/components/buttons/three-d-button.tsx +99 -0
  92. package/components/buttons/three-d-icon-button.tsx +88 -0
  93. package/components/calendar/booking-slot-calendar.tsx +315 -0
  94. package/components/calendar/date-range-picker-card.tsx +216 -0
  95. package/components/calendar/event-countdown-card.tsx +105 -0
  96. package/components/calendar/month-picker-calendar.tsx +183 -0
  97. package/components/calendar/week-strip-calendar.tsx +182 -0
  98. package/components/contact/copy-email.tsx +94 -0
  99. package/components/docks/Icons.tsx +222 -0
  100. package/components/docks/app-dock.tsx +111 -0
  101. package/components/docks/editor-tool-dock.tsx +113 -0
  102. package/components/docks/mac-dock.tsx +144 -0
  103. package/components/docks/presence-dock.tsx +178 -0
  104. package/components/docks/spotlight-bar.tsx +188 -0
  105. package/components/dropdowns/file-menu-dropdown.tsx +192 -0
  106. package/components/dropdowns/filter-sort-dropdown.tsx +189 -0
  107. package/components/dropdowns/kebab-actions-dropdown.tsx +195 -0
  108. package/components/dropdowns/notification-dropdown.tsx +235 -0
  109. package/components/dropdowns/share-menu-dropdown.tsx +197 -0
  110. package/components/dropdowns/user-menu-dropdown.tsx +251 -0
  111. package/components/dropdowns/workspace-switcher-dropdown.tsx +248 -0
  112. package/components/event/event-ticket-card.tsx +116 -0
  113. package/components/files/ink-stamp-document-card.tsx +88 -0
  114. package/components/files/stacked-folder-card.tsx +176 -0
  115. package/components/folder/folder-tab-card.tsx +123 -0
  116. package/components/forms/contact-form.tsx +417 -0
  117. package/components/forms/forgot-password-form.tsx +264 -0
  118. package/components/forms/login-form.tsx +342 -0
  119. package/components/forms/newsletter-form.tsx +212 -0
  120. package/components/forms/signup-form.tsx +487 -0
  121. package/components/frames/circle-cut-frame.tsx +198 -0
  122. package/components/frames/hard-shadow-polaroid-frame.tsx +158 -0
  123. package/components/frames/sticky-note-polaroid-frame.tsx +230 -0
  124. package/components/frames/transform-box-frame.tsx +287 -0
  125. package/components/frames/transform-plus-frame.tsx +308 -0
  126. package/components/gallery/film-strip-card.tsx +103 -0
  127. package/components/gallery/gallery-grid-card.tsx +106 -0
  128. package/components/gallery/gallery-wall-card.tsx +71 -0
  129. package/components/gallery/glass-overlay-image-card.tsx +156 -0
  130. package/components/gallery/museum-placard-card.tsx +105 -0
  131. package/components/gallery/photo-album-card.tsx +114 -0
  132. package/components/gallery/photo-contact-sheet-card.tsx +71 -0
  133. package/components/gallery/polaroid-image-card.tsx +81 -0
  134. package/components/gallery/slow-living-polaroid-card.tsx +88 -0
  135. package/components/gallery/stamp-postcard-card.tsx +78 -0
  136. package/components/inputs/checkbox-field-input.tsx +148 -0
  137. package/components/inputs/combobox-field-input.tsx +466 -0
  138. package/components/inputs/date-field-input.tsx +472 -0
  139. package/components/inputs/file-upload-field-input.tsx +578 -0
  140. package/components/inputs/floating-label-field-input.tsx +206 -0
  141. package/components/inputs/input-group-field.tsx +132 -0
  142. package/components/inputs/password-field-input.tsx +125 -0
  143. package/components/inputs/phone-field-input.tsx +157 -0
  144. package/components/inputs/radio-group-field-input.tsx +220 -0
  145. package/components/inputs/search-input.tsx +163 -0
  146. package/components/inputs/select-field-input.tsx +416 -0
  147. package/components/inputs/switch-field-input.tsx +179 -0
  148. package/components/inputs/text-field-input.tsx +89 -0
  149. package/components/inputs/textarea-field-input.tsx +152 -0
  150. package/components/loaders/apple-hello-loader.tsx +86 -0
  151. package/components/loaders/spin-loader.tsx +51 -0
  152. package/components/loaders/text-loader.tsx +148 -0
  153. package/components/mockups/apple-ipod-mockup-card.tsx +155 -0
  154. package/components/mockups/apple-watch-mockup-card.tsx +278 -0
  155. package/components/mockups/browser-mockup-card.tsx +109 -0
  156. package/components/mockups/laptop-mockup-card.tsx +118 -0
  157. package/components/mockups/phone-mockup-card.tsx +210 -0
  158. package/components/mockups/tablet-mockup-card.tsx +212 -0
  159. package/components/motion/action-sheet.tsx +218 -0
  160. package/components/motion/action-swap-roll.tsx +32 -0
  161. package/components/motion/action-swap.tsx +340 -0
  162. package/components/motion/adaptive-stepper.tsx +442 -0
  163. package/components/motion/animated-badge.tsx +213 -0
  164. package/components/motion/animated-number.tsx +50 -0
  165. package/components/motion/animated-sidebar.tsx +1174 -0
  166. package/components/motion/animated-toast-stack.tsx +503 -0
  167. package/components/motion/aspect-ratio.tsx +55 -0
  168. package/components/motion/attachment-upload.tsx +1080 -0
  169. package/components/motion/audio-player.tsx +266 -0
  170. package/components/motion/autocomplete.tsx +183 -0
  171. package/components/motion/availability-scheduler/copy-menu.tsx +119 -0
  172. package/components/motion/availability-scheduler/day-row.tsx +231 -0
  173. package/components/motion/availability-scheduler/icon-button.tsx +46 -0
  174. package/components/motion/availability-scheduler/index.tsx +154 -0
  175. package/components/motion/availability-scheduler/time-select.tsx +49 -0
  176. package/components/motion/availability-scheduler/types.ts +189 -0
  177. package/components/motion/avatar-group.tsx +154 -0
  178. package/components/motion/bloom-menu.tsx +216 -0
  179. package/components/motion/bottom-sheet.tsx +249 -0
  180. package/components/motion/bounce-sidebar.tsx +266 -0
  181. package/components/motion/bouncy-accordion.tsx +325 -0
  182. package/components/motion/breadcrumb.tsx +122 -0
  183. package/components/motion/button/base.tsx +189 -0
  184. package/components/motion/button/index.tsx +13 -0
  185. package/components/motion/button/magnetic.tsx +25 -0
  186. package/components/motion/button/metallic.tsx +100 -0
  187. package/components/motion/button/stateful.tsx +237 -0
  188. package/components/motion/card-folder.tsx +345 -0
  189. package/components/motion/card-resize.tsx +229 -0
  190. package/components/motion/cascader.tsx +279 -0
  191. package/components/motion/center-morph-modal.tsx +366 -0
  192. package/components/motion/checkbox.tsx +123 -0
  193. package/components/motion/chip.tsx +121 -0
  194. package/components/motion/chromatic-text-reveal.tsx +203 -0
  195. package/components/motion/collapsible.tsx +108 -0
  196. package/components/motion/color-picker.tsx +206 -0
  197. package/components/motion/combobox/content.tsx +163 -0
  198. package/components/motion/combobox/context.tsx +359 -0
  199. package/components/motion/combobox/list.tsx +222 -0
  200. package/components/motion/combobox/trigger.tsx +191 -0
  201. package/components/motion/combobox/use-active-option.ts +130 -0
  202. package/components/motion/combobox.tsx +33 -0
  203. package/components/motion/command-palette.tsx +381 -0
  204. package/components/motion/confetti.tsx +128 -0
  205. package/components/motion/context-menu.tsx +790 -0
  206. package/components/motion/copy-button.tsx +103 -0
  207. package/components/motion/cylinder-carousel.tsx +459 -0
  208. package/components/motion/date-range-picker.tsx +218 -0
  209. package/components/motion/digit-swap.tsx +125 -0
  210. package/components/motion/dock.tsx +113 -0
  211. package/components/motion/drawer.tsx +108 -0
  212. package/components/motion/dynamic-island.tsx +221 -0
  213. package/components/motion/error-shake.tsx +66 -0
  214. package/components/motion/event-calendar.tsx +224 -0
  215. package/components/motion/expandable-action-bar.tsx +412 -0
  216. package/components/motion/expandable-control.tsx +254 -0
  217. package/components/motion/expandable-tabs.tsx +444 -0
  218. package/components/motion/expanding-arrow-button.tsx +171 -0
  219. package/components/motion/feedback-widget.tsx +473 -0
  220. package/components/motion/file-tree.tsx +429 -0
  221. package/components/motion/file-upload.tsx +606 -0
  222. package/components/motion/filter-builder.tsx +283 -0
  223. package/components/motion/frame.tsx +116 -0
  224. package/components/motion/gantt.tsx +156 -0
  225. package/components/motion/glow-button.tsx +101 -0
  226. package/components/motion/haptic-pressable.tsx +107 -0
  227. package/components/motion/hold-action-button.tsx +279 -0
  228. package/components/motion/hover-card.tsx +118 -0
  229. package/components/motion/icon-stack.tsx +138 -0
  230. package/components/motion/infinite-masonry.tsx +349 -0
  231. package/components/motion/input.tsx +242 -0
  232. package/components/motion/kanban.tsx +255 -0
  233. package/components/motion/kbd.tsx +127 -0
  234. package/components/motion/knockout-bracket.tsx +909 -0
  235. package/components/motion/knockout-wheel.tsx +1112 -0
  236. package/components/motion/liquid.tsx +351 -0
  237. package/components/motion/loader.tsx +616 -0
  238. package/components/motion/magnet-dock.tsx +117 -0
  239. package/components/motion/magnetic.tsx +50 -0
  240. package/components/motion/marquee.tsx +66 -0
  241. package/components/motion/metric-card.tsx +116 -0
  242. package/components/motion/morphing-modal.tsx +160 -0
  243. package/components/motion/morphing-search.tsx +643 -0
  244. package/components/motion/morphing-tabs.tsx +940 -0
  245. package/components/motion/multi-select/content.tsx +164 -0
  246. package/components/motion/multi-select/context.tsx +381 -0
  247. package/components/motion/multi-select/index.tsx +33 -0
  248. package/components/motion/multi-select/list.tsx +239 -0
  249. package/components/motion/multi-select/trigger.tsx +262 -0
  250. package/components/motion/not-found/glitch.tsx +107 -0
  251. package/components/motion/not-found/index.tsx +11 -0
  252. package/components/motion/not-found/magnetic.tsx +57 -0
  253. package/components/motion/not-found/shared.tsx +96 -0
  254. package/components/motion/not-found/spotlight.tsx +86 -0
  255. package/components/motion/not-found/stacked.tsx +77 -0
  256. package/components/motion/not-found/terminal.tsx +83 -0
  257. package/components/motion/notification-stack.tsx +380 -0
  258. package/components/motion/number-field.tsx +178 -0
  259. package/components/motion/number-ticker.tsx +185 -0
  260. package/components/motion/otp-input.tsx +392 -0
  261. package/components/motion/overflow-actions.tsx +375 -0
  262. package/components/motion/page-transition.tsx +92 -0
  263. package/components/motion/pagination.tsx +163 -0
  264. package/components/motion/parallax.tsx +64 -0
  265. package/components/motion/password-input.tsx +165 -0
  266. package/components/motion/phone-input.tsx +181 -0
  267. package/components/motion/popover-morph.tsx +317 -0
  268. package/components/motion/popover-position.ts +86 -0
  269. package/components/motion/popover.tsx +694 -0
  270. package/components/motion/prediction-market.tsx +682 -0
  271. package/components/motion/preview-rail.tsx +390 -0
  272. package/components/motion/progress-ring.tsx +115 -0
  273. package/components/motion/project-folder.tsx +418 -0
  274. package/components/motion/pull-to-refresh.tsx +522 -0
  275. package/components/motion/radio.tsx +148 -0
  276. package/components/motion/range-slider.tsx +93 -0
  277. package/components/motion/rating.tsx +171 -0
  278. package/components/motion/reorder-grid.tsx +123 -0
  279. package/components/motion/resizable-panel.tsx +160 -0
  280. package/components/motion/scroll-progress.tsx +127 -0
  281. package/components/motion/scroll-reveal.tsx +60 -0
  282. package/components/motion/scroll-to.tsx +48 -0
  283. package/components/motion/segmented-control.tsx +130 -0
  284. package/components/motion/segmented-progress.tsx +128 -0
  285. package/components/motion/select.tsx +440 -0
  286. package/components/motion/shader-background.tsx +134 -0
  287. package/components/motion/shared-layout-bg.tsx +151 -0
  288. package/components/motion/signup-form.tsx +467 -0
  289. package/components/motion/slide-action-button.tsx +203 -0
  290. package/components/motion/smooth-scroll.tsx +264 -0
  291. package/components/motion/sortable-list.tsx +98 -0
  292. package/components/motion/speed-dial.tsx +144 -0
  293. package/components/motion/split-text.tsx +115 -0
  294. package/components/motion/spotlight-card.tsx +89 -0
  295. package/components/motion/stepper.tsx +127 -0
  296. package/components/motion/success-check.tsx +142 -0
  297. package/components/motion/swap/constants.ts +2 -0
  298. package/components/motion/swap/controls.tsx +201 -0
  299. package/components/motion/swap/data.ts +186 -0
  300. package/components/motion/swap/field.tsx +115 -0
  301. package/components/motion/swap/quote-row.tsx +46 -0
  302. package/components/motion/swap/token-badges.tsx +83 -0
  303. package/components/motion/swap/token-picker.tsx +219 -0
  304. package/components/motion/swap/types.ts +20 -0
  305. package/components/motion/swap/utils.ts +28 -0
  306. package/components/motion/swap.tsx +182 -0
  307. package/components/motion/swipeable-list.tsx +507 -0
  308. package/components/motion/switch.tsx +96 -0
  309. package/components/motion/table/editable-cell.tsx +22 -0
  310. package/components/motion/table/index.tsx +431 -0
  311. package/components/motion/table/row-handle.tsx +81 -0
  312. package/components/motion/table/skeleton-rows.tsx +39 -0
  313. package/components/motion/table/table-header.tsx +344 -0
  314. package/components/motion/table/table-menu.tsx +129 -0
  315. package/components/motion/table/types.ts +86 -0
  316. package/components/motion/table/use-column-reorder.ts +105 -0
  317. package/components/motion/table/use-column-resize.ts +81 -0
  318. package/components/motion/table/use-column-sort.ts +64 -0
  319. package/components/motion/table/use-row-selection.ts +59 -0
  320. package/components/motion/table/utils.ts +33 -0
  321. package/components/motion/tabs.tsx +207 -0
  322. package/components/motion/text-cascade.tsx +22 -0
  323. package/components/motion/text-reveal.tsx +143 -0
  324. package/components/motion/text-scramble.tsx +84 -0
  325. package/components/motion/text-shimmer.tsx +34 -0
  326. package/components/motion/text-swap.tsx +56 -0
  327. package/components/motion/theme-toggle.tsx +210 -0
  328. package/components/motion/tilt-card.tsx +68 -0
  329. package/components/motion/timeline.tsx +236 -0
  330. package/components/motion/toggle-group.tsx +128 -0
  331. package/components/motion/tooltip.tsx +297 -0
  332. package/components/motion/tree-view.tsx +200 -0
  333. package/components/motion/wallet-card/account-avatar.tsx +21 -0
  334. package/components/motion/wallet-card/account-switcher.tsx +199 -0
  335. package/components/motion/wallet-card/actions.tsx +59 -0
  336. package/components/motion/wallet-card/balance-delta.tsx +69 -0
  337. package/components/motion/wallet-card/constants.ts +18 -0
  338. package/components/motion/wallet-card/copy-button.tsx +58 -0
  339. package/components/motion/wallet-card/index.tsx +151 -0
  340. package/components/motion/wallet-card/search-bar.tsx +198 -0
  341. package/components/motion/wallet-card/types.ts +34 -0
  342. package/components/motion/wallet-card/utils.ts +9 -0
  343. package/components/motion/wheel-picker.tsx +610 -0
  344. package/components/notifications/apple-notification-banner.tsx +155 -0
  345. package/components/notifications/calendar-reminder-notification-banner.tsx +138 -0
  346. package/components/notifications/chat-bubble-notification-banner.tsx +136 -0
  347. package/components/notifications/delivery-notification-banner.tsx +126 -0
  348. package/components/notifications/deploy-notification-banner.tsx +140 -0
  349. package/components/notifications/email-notification-banner.tsx +148 -0
  350. package/components/notifications/incoming-call-notification-banner.tsx +144 -0
  351. package/components/notifications/payment-notification-banner.tsx +137 -0
  352. package/components/notifications/system-alert-banner.tsx +137 -0
  353. package/components/notifications/toast-notification-banner.tsx +130 -0
  354. package/components/others/progress-ring-card.tsx +217 -0
  355. package/components/others/stacked-cards-effect.tsx +62 -0
  356. package/components/others/terminal-log-card.tsx +107 -0
  357. package/components/others/thermal-receipt-card.tsx +132 -0
  358. package/components/others/weather-snapshot-card.tsx +124 -0
  359. package/components/otp/otp-boxed-input.tsx +482 -0
  360. package/components/otp/otp-underline-input.tsx +356 -0
  361. package/components/previews/agents/agent-activity.preview.tsx +136 -0
  362. package/components/previews/agents/ai-sidebar.preview.tsx +236 -0
  363. package/components/previews/agents/chat-app-usage.tsx +689 -0
  364. package/components/previews/agents/chat-app.preview.tsx +130 -0
  365. package/components/previews/agents/chat-preview.tsx +285 -0
  366. package/components/previews/agents/citations.preview.tsx +78 -0
  367. package/components/previews/agents/code-block.preview.tsx +67 -0
  368. package/components/previews/agents/file-diff.preview.tsx +64 -0
  369. package/components/previews/agents/image-generation.preview.tsx +117 -0
  370. package/components/previews/agents/message-bubble.preview.tsx +12 -0
  371. package/components/previews/agents/message-scroller.preview.tsx +70 -0
  372. package/components/previews/agents/message.preview.tsx +14 -0
  373. package/components/previews/agents/prompt-input.preview.tsx +145 -0
  374. package/components/previews/agents/streaming-response.preview.tsx +156 -0
  375. package/components/previews/agents/todo-list.preview.tsx +73 -0
  376. package/components/previews/agents/tool-approval.preview.tsx +80 -0
  377. package/components/previews/agents/use-tool-result-demo.ts +28 -0
  378. package/components/previews/blocks/availability-scheduler.preview.tsx +11 -0
  379. package/components/previews/blocks/bloom-menu.preview.tsx +11 -0
  380. package/components/previews/blocks/card-folder.preview.tsx +105 -0
  381. package/components/previews/blocks/command-palette.preview.tsx +40 -0
  382. package/components/previews/blocks/dynamic-island.preview.tsx +150 -0
  383. package/components/previews/blocks/expandable-action-bar.preview.tsx +136 -0
  384. package/components/previews/blocks/expandable-tabs.preview.tsx +136 -0
  385. package/components/previews/blocks/feedback-widget.preview.tsx +34 -0
  386. package/components/previews/blocks/file-upload.preview.tsx +175 -0
  387. package/components/previews/blocks/infinite-masonry.preview.tsx +145 -0
  388. package/components/previews/blocks/knockout-bracket.preview.tsx +43 -0
  389. package/components/previews/blocks/morphing-search.preview.tsx +59 -0
  390. package/components/previews/blocks/morphing-tabs.preview.tsx +91 -0
  391. package/components/previews/blocks/notification-stack.preview.tsx +39 -0
  392. package/components/previews/blocks/otp-input.preview.tsx +29 -0
  393. package/components/previews/blocks/overflow-actions.preview.tsx +51 -0
  394. package/components/previews/blocks/prediction-market.preview.tsx +41 -0
  395. package/components/previews/blocks/project-folder.preview.tsx +41 -0
  396. package/components/previews/blocks/signup-form.preview.tsx +36 -0
  397. package/components/previews/blocks/swap.preview.tsx +11 -0
  398. package/components/previews/blocks/swipeable-list.preview.tsx +149 -0
  399. package/components/previews/blocks/wallet-card.preview.tsx +36 -0
  400. package/components/previews/motion/action-swap.preview.tsx +82 -0
  401. package/components/previews/motion/adaptive-stepper.preview.tsx +20 -0
  402. package/components/previews/motion/animated-badge.preview.tsx +43 -0
  403. package/components/previews/motion/animated-sidebar.preview.tsx +269 -0
  404. package/components/previews/motion/animated-toast-stack.preview.tsx +151 -0
  405. package/components/previews/motion/bottom-sheet.preview.tsx +35 -0
  406. package/components/previews/motion/bounce-sidebar.preview.tsx +30 -0
  407. package/components/previews/motion/bouncy-accordion.preview.tsx +66 -0
  408. package/components/previews/motion/center-morph-modal.preview.tsx +75 -0
  409. package/components/previews/motion/checkbox.preview.tsx +26 -0
  410. package/components/previews/motion/combobox.preview.tsx +119 -0
  411. package/components/previews/motion/context-menu.preview.tsx +144 -0
  412. package/components/previews/motion/cylinder-carousel.preview.tsx +96 -0
  413. package/components/previews/motion/dock.preview.tsx +46 -0
  414. package/components/previews/motion/drawer.preview.tsx +46 -0
  415. package/components/previews/motion/expandable-control.preview.tsx +27 -0
  416. package/components/previews/motion/expanding-arrow-button.preview.tsx +11 -0
  417. package/components/previews/motion/file-tree.preview.tsx +67 -0
  418. package/components/previews/motion/input.preview.tsx +55 -0
  419. package/components/previews/motion/loader.preview.tsx +36 -0
  420. package/components/previews/motion/marquee.preview.tsx +22 -0
  421. package/components/previews/motion/morphing-modal.preview.tsx +184 -0
  422. package/components/previews/motion/multi-select.preview.tsx +73 -0
  423. package/components/previews/motion/number.preview.tsx +61 -0
  424. package/components/previews/motion/popover.preview.tsx +53 -0
  425. package/components/previews/motion/preview-rail.preview.tsx +108 -0
  426. package/components/previews/motion/pull-to-refresh.preview.tsx +117 -0
  427. package/components/previews/motion/radio.preview.tsx +17 -0
  428. package/components/previews/motion/range-slider.preview.tsx +19 -0
  429. package/components/previews/motion/select.preview.tsx +29 -0
  430. package/components/previews/motion/shader-background.preview.tsx +308 -0
  431. package/components/previews/motion/shared-layout-bg.preview.tsx +33 -0
  432. package/components/previews/motion/switch.preview.tsx +15 -0
  433. package/components/previews/motion/table.preview.tsx +140 -0
  434. package/components/previews/motion/tabs.preview.tsx +49 -0
  435. package/components/previews/motion/text-animation.preview.tsx +63 -0
  436. package/components/previews/motion/theme-toggle.preview.tsx +28 -0
  437. package/components/previews/motion/tilt-card.preview.tsx +15 -0
  438. package/components/previews/motion/tooltip.preview.tsx +34 -0
  439. package/components/previews/motion/wheel-picker.preview.tsx +91 -0
  440. package/components/pricing/retail-price-tag-card.tsx +104 -0
  441. package/components/pricing/toggle-pricing-cards.tsx +209 -0
  442. package/components/profile/contact-profile-card.tsx +100 -0
  443. package/components/profile/editorial-staff-profile-card.tsx +79 -0
  444. package/components/profile/team-member-profile-grid.tsx +159 -0
  445. package/components/profile/user-profile-card.tsx +125 -0
  446. package/components/resources/resource-links-panel.tsx +176 -0
  447. package/components/socials/discord-chat-card.tsx +157 -0
  448. package/components/socials/facebook-post-card.tsx +198 -0
  449. package/components/socials/github-contribution.tsx +716 -0
  450. package/components/socials/github-repo-card.tsx +111 -0
  451. package/components/socials/instagram-post-card.tsx +204 -0
  452. package/components/socials/linked-in-post-card.tsx +213 -0
  453. package/components/socials/linked-in-profile-card.tsx +173 -0
  454. package/components/socials/threads-post-card.tsx +162 -0
  455. package/components/socials/twitter-post-card.tsx +184 -0
  456. package/components/socials/twitter-profile-card.tsx +180 -0
  457. package/components/system/loaders/index.ts +1 -0
  458. package/components/system/loaders/page-loader-overlay.tsx +16 -0
  459. package/components/table/customers-table.tsx +146 -0
  460. package/components/table/orders-table.tsx +195 -0
  461. package/components/table/recent-transactions-table.tsx +125 -0
  462. package/components/table/tasks-table.tsx +163 -0
  463. package/components/table/team-members-table.tsx +155 -0
  464. package/components/table/users-select-table.tsx +184 -0
  465. package/components/text/cafe-menu-board-card.tsx +101 -0
  466. package/components/text/cinema-ticket-card.tsx +99 -0
  467. package/components/text/daily-motivation-card.tsx +80 -0
  468. package/components/text/denim-product-editorial-card.tsx +101 -0
  469. package/components/text/drop-cap-editorial-card.tsx +54 -0
  470. package/components/text/editorial-quote-card.tsx +98 -0
  471. package/components/text/journal-writing-card.tsx +131 -0
  472. package/components/text/keyboard-shortcuts-card.tsx +92 -0
  473. package/components/text/magazine-cover-card.tsx +109 -0
  474. package/components/text/notepad-card.tsx +95 -0
  475. package/components/travel/flight-boarding-card.tsx +177 -0
  476. package/components/travel/travel-postcard-card.tsx +96 -0
  477. package/components/underlines/annotated-text-showcase.tsx +37 -0
  478. package/components/underlines/annotated-text.tsx +471 -0
  479. package/components/users/credit-card-glass.tsx +113 -0
  480. package/components/users/team-member-card.tsx +50 -0
  481. package/components/users/testimonial-card.tsx +239 -0
  482. package/components/wallet/wallet-pass-card.tsx +220 -0
  483. package/components/widgets/analog-clock-widget.tsx +203 -0
  484. package/components/widgets/audio-recorder-widget.tsx +87 -0
  485. package/components/widgets/battery-face-widget.tsx +152 -0
  486. package/components/widgets/blob-profile.tsx +64 -0
  487. package/components/widgets/bluetooth-face-widget.tsx +125 -0
  488. package/components/widgets/compass-widget.tsx +296 -0
  489. package/components/widgets/daily-activity-calendar-widget.tsx +133 -0
  490. package/components/widgets/dnd-face-widget.tsx +129 -0
  491. package/components/widgets/electric-scooter-widget.tsx +88 -0
  492. package/components/widgets/flight-arrival-widget.tsx +76 -0
  493. package/components/widgets/focus-breath-widget.tsx +71 -0
  494. package/components/widgets/heart-rate-widget.tsx +93 -0
  495. package/components/widgets/hydration-widget.tsx +109 -0
  496. package/components/widgets/ios-calendar-widget.tsx +87 -0
  497. package/components/widgets/ios-digital-clock-widget.tsx +192 -0
  498. package/components/widgets/ios-earbuds-widget.tsx +120 -0
  499. package/components/widgets/ios-map-location-widget.tsx +133 -0
  500. package/components/widgets/minimal-agenda-widget.tsx +123 -0
  501. package/components/widgets/pomodoro-widget.tsx +155 -0
  502. package/components/widgets/recorder-face-widget.tsx +146 -0
  503. package/components/widgets/ride-pickup-widget.tsx +72 -0
  504. package/components/widgets/sleep-score-widget.tsx +107 -0
  505. package/components/widgets/step-count-widget.tsx +53 -0
  506. package/components/widgets/stopwatch-widget.tsx +176 -0
  507. package/components/widgets/torch-face-widget.tsx +128 -0
  508. package/components/widgets/voice-assistant-widget.tsx +103 -0
  509. package/components/widgets/wifi-toggle-widget.tsx +108 -0
  510. package/lib/cn.ts +1 -0
  511. package/lib/ease.ts +108 -0
  512. package/lib/favicon.ts +8 -0
  513. package/lib/hooks/use-dismiss.ts +120 -0
  514. package/lib/hooks/use-favicon.ts +39 -0
  515. package/lib/hooks/use-haptic.ts +44 -0
  516. package/lib/hooks/use-hover-capable.ts +23 -0
  517. package/lib/hooks/use-hover-gesture.ts +61 -0
  518. package/lib/hooks/use-in-view-animation.ts +35 -0
  519. package/lib/hooks/use-measure.ts +39 -0
  520. package/lib/hooks/use-on-open.ts +24 -0
  521. package/lib/hooks/use-row-cursor.ts +86 -0
  522. package/lib/hooks/use-slider.ts +176 -0
  523. package/lib/hooks/use-tap-gesture.ts +66 -0
  524. package/lib/hooks/use-touch-capable.ts +31 -0
  525. package/lib/presence-gate.tsx +52 -0
  526. package/lib/styles.ts +124 -0
  527. package/lib/text-shimmer.ts +21 -0
  528. package/lib/tick-sound.ts +151 -0
  529. package/lib/touch.ts +117 -0
  530. package/lib/utils.ts +6 -0
  531. package/package.json +49 -0
  532. package/references/agents/agent-activity.md +747 -0
  533. package/references/agents/ai-sidebar.md +293 -0
  534. package/references/agents/approval-card.md +233 -0
  535. package/references/agents/chat-app.md +184 -0
  536. package/references/agents/citations.md +159 -0
  537. package/references/agents/code-block.md +122 -0
  538. package/references/agents/file-diff.md +119 -0
  539. package/references/agents/image-generation.md +173 -0
  540. package/references/agents/loading-states.md +186 -0
  541. package/references/agents/message-bubble.md +274 -0
  542. package/references/agents/message-scroller.md +128 -0
  543. package/references/agents/message.md +162 -0
  544. package/references/agents/prompt-input.md +204 -0
  545. package/references/agents/streaming-response.md +216 -0
  546. package/references/agents/todo-list.md +123 -0
  547. package/references/agents/tool-approval.md +143 -0
  548. package/references/agents/tool-result.md +199 -0
  549. package/references/blocks/availability-scheduler.md +59 -0
  550. package/references/blocks/bloom-menu.md +56 -0
  551. package/references/blocks/card-folder.md +165 -0
  552. package/references/blocks/command-palette.md +89 -0
  553. package/references/blocks/dynamic-island.md +203 -0
  554. package/references/blocks/expandable-action-bar.md +191 -0
  555. package/references/blocks/expandable-tabs.md +184 -0
  556. package/references/blocks/feedback-widget.md +82 -0
  557. package/references/blocks/file-upload.md +406 -0
  558. package/references/blocks/infinite-masonry.md +211 -0
  559. package/references/blocks/knockout-bracket.md +161 -0
  560. package/references/blocks/morphing-search.md +113 -0
  561. package/references/blocks/morphing-tabs.md +143 -0
  562. package/references/blocks/not-found.md +228 -0
  563. package/references/blocks/notification-stack.md +92 -0
  564. package/references/blocks/otp-input.md +85 -0
  565. package/references/blocks/overflow-actions.md +105 -0
  566. package/references/blocks/prediction-market.md +97 -0
  567. package/references/blocks/project-folder.md +99 -0
  568. package/references/blocks/signup-form.md +92 -0
  569. package/references/blocks/swap.md +58 -0
  570. package/references/blocks/swipeable-list.md +202 -0
  571. package/references/blocks/wallet-card.md +97 -0
  572. package/references/codex-install.md +59 -0
  573. package/references/craft/3d-button.md +51 -0
  574. package/references/craft/3d-icon-button.md +51 -0
  575. package/references/craft/add-to-cart-button.md +52 -0
  576. package/references/craft/analog-clock-minimal.md +51 -0
  577. package/references/craft/analog-clock-numeric.md +51 -0
  578. package/references/craft/analog-clock-roman.md +51 -0
  579. package/references/craft/annotated-text.md +51 -0
  580. package/references/craft/app-dock.md +52 -0
  581. package/references/craft/apple-hello-loader.md +51 -0
  582. package/references/craft/apple-notification.md +53 -0
  583. package/references/craft/apple-watch.md +51 -0
  584. package/references/craft/arc-bands-background.md +51 -0
  585. package/references/craft/audio-recorder.md +52 -0
  586. package/references/craft/aurora-background.md +51 -0
  587. package/references/craft/battery-face.md +52 -0
  588. package/references/craft/blob-profile.md +53 -0
  589. package/references/craft/bluetooth-face.md +52 -0
  590. package/references/craft/booking-slot-calendar.md +52 -0
  591. package/references/craft/bookmark-save-button.md +52 -0
  592. package/references/craft/browser.md +51 -0
  593. package/references/craft/cafe-menu-board.md +52 -0
  594. package/references/craft/calendar-reminder-notification.md +52 -0
  595. package/references/craft/chat-bubble-notification.md +53 -0
  596. package/references/craft/checkbox-field-input.md +52 -0
  597. package/references/craft/cherry-petal-background.md +51 -0
  598. package/references/craft/cinder-latch-button.md +51 -0
  599. package/references/craft/cinema-ticket.md +52 -0
  600. package/references/craft/circle-cut-frame.md +51 -0
  601. package/references/craft/combobox-field-input.md +52 -0
  602. package/references/craft/compass.md +51 -0
  603. package/references/craft/contact-form.md +52 -0
  604. package/references/craft/contact-profile.md +52 -0
  605. package/references/craft/copy-email.md +53 -0
  606. package/references/craft/coral-glow-background.md +51 -0
  607. package/references/craft/craft-copy-button.md +52 -0
  608. package/references/craft/craft-signup-form.md +53 -0
  609. package/references/craft/credit-card-glass.md +51 -0
  610. package/references/craft/customers-table.md +52 -0
  611. package/references/craft/daily-activity-calendar.md +52 -0
  612. package/references/craft/daily-motivation.md +53 -0
  613. package/references/craft/dark-arc-bands-background.md +51 -0
  614. package/references/craft/dark-aurora-background.md +51 -0
  615. package/references/craft/dark-carbon-spotlight-background.md +51 -0
  616. package/references/craft/dark-ember-background.md +51 -0
  617. package/references/craft/dark-ink-field-background.md +51 -0
  618. package/references/craft/dark-midnight-mesh-background.md +51 -0
  619. package/references/craft/dark-rose-noir-background.md +51 -0
  620. package/references/craft/dark-teal-depth-background.md +51 -0
  621. package/references/craft/date-field-input.md +52 -0
  622. package/references/craft/date-range-picker-card.md +52 -0
  623. package/references/craft/delivery-notification.md +52 -0
  624. package/references/craft/denim-product-editorial.md +52 -0
  625. package/references/craft/deploy-notification.md +52 -0
  626. package/references/craft/depth-outline-button.md +51 -0
  627. package/references/craft/diagonal-box-pattern.md +51 -0
  628. package/references/craft/dimple-switch.md +51 -0
  629. package/references/craft/discord-chat.md +53 -0
  630. package/references/craft/dnd-face.md +52 -0
  631. package/references/craft/dot-grid-pattern.md +51 -0
  632. package/references/craft/download-button.md +52 -0
  633. package/references/craft/drop-cap-editorial.md +52 -0
  634. package/references/craft/editor-tool-dock.md +52 -0
  635. package/references/craft/editorial-quote.md +52 -0
  636. package/references/craft/editorial-staff-profile.md +51 -0
  637. package/references/craft/electric-scooter.md +53 -0
  638. package/references/craft/email-notification.md +53 -0
  639. package/references/craft/event-countdown-card.md +51 -0
  640. package/references/craft/event-ticket.md +53 -0
  641. package/references/craft/facebook-post.md +53 -0
  642. package/references/craft/file-menu.md +52 -0
  643. package/references/craft/file-upload-field-input.md +52 -0
  644. package/references/craft/film-strip.md +52 -0
  645. package/references/craft/filter-sort.md +52 -0
  646. package/references/craft/fine-grain-pattern.md +51 -0
  647. package/references/craft/flight-arrival.md +52 -0
  648. package/references/craft/flight-boarding.md +52 -0
  649. package/references/craft/floating-label-field-input.md +51 -0
  650. package/references/craft/focus-breath.md +51 -0
  651. package/references/craft/folder-tab-card.md +52 -0
  652. package/references/craft/follow-button.md +52 -0
  653. package/references/craft/forgot-password-form.md +53 -0
  654. package/references/craft/frost-mesh-background.md +51 -0
  655. package/references/craft/gallery-grid.md +53 -0
  656. package/references/craft/gallery-wall.md +52 -0
  657. package/references/craft/github-contribution.md +52 -0
  658. package/references/craft/github-repo.md +52 -0
  659. package/references/craft/glass-overlay-image.md +53 -0
  660. package/references/craft/graph-paper-pattern.md +51 -0
  661. package/references/craft/halftone-pop-background.md +51 -0
  662. package/references/craft/hard-shadow-polaroid-frame.md +51 -0
  663. package/references/craft/heart-rate.md +52 -0
  664. package/references/craft/hold-to-delete-button.md +52 -0
  665. package/references/craft/honey-ember-background.md +51 -0
  666. package/references/craft/hydration.md +51 -0
  667. package/references/craft/incoming-call-notification.md +53 -0
  668. package/references/craft/ink-stamp-document.md +52 -0
  669. package/references/craft/ink-wash-background.md +51 -0
  670. package/references/craft/input-group-field.md +51 -0
  671. package/references/craft/inset-button.md +51 -0
  672. package/references/craft/instagram-post.md +53 -0
  673. package/references/craft/ios-calendar-widget.md +51 -0
  674. package/references/craft/ios-digital-clock.md +51 -0
  675. package/references/craft/ios-earbuds.md +51 -0
  676. package/references/craft/ios-map-location.md +51 -0
  677. package/references/craft/ipad.md +51 -0
  678. package/references/craft/ipod.md +51 -0
  679. package/references/craft/journal-writing.md +52 -0
  680. package/references/craft/kebab-actions.md +52 -0
  681. package/references/craft/keyboard-shortcuts.md +52 -0
  682. package/references/craft/laptop.md +51 -0
  683. package/references/craft/like-button.md +52 -0
  684. package/references/craft/line-grid-pattern.md +51 -0
  685. package/references/craft/linen-tab-button.md +51 -0
  686. package/references/craft/linen-weave-background.md +51 -0
  687. package/references/craft/linked-in-post.md +53 -0
  688. package/references/craft/linked-in-profile.md +52 -0
  689. package/references/craft/login-form.md +53 -0
  690. package/references/craft/mac-dock.md +52 -0
  691. package/references/craft/magazine-cover.md +53 -0
  692. package/references/craft/minimal-agenda.md +52 -0
  693. package/references/craft/mint-lagoon-background.md +51 -0
  694. package/references/craft/month-picker-calendar.md +52 -0
  695. package/references/craft/museum-placard.md +51 -0
  696. package/references/craft/music-player.md +53 -0
  697. package/references/craft/music-playlist.md +53 -0
  698. package/references/craft/newsletter-form.md +52 -0
  699. package/references/craft/notepad.md +52 -0
  700. package/references/craft/notification.md +52 -0
  701. package/references/craft/now-playing-bar.md +53 -0
  702. package/references/craft/orders-table.md +52 -0
  703. package/references/craft/otp-boxed-input.md +52 -0
  704. package/references/craft/otp-underline-input.md +51 -0
  705. package/references/craft/page-loader-overlay.md +46 -0
  706. package/references/craft/paper-fold-background.md +51 -0
  707. package/references/craft/password-field-input.md +52 -0
  708. package/references/craft/payment-notification.md +52 -0
  709. package/references/craft/phone-field-input.md +51 -0
  710. package/references/craft/phone.md +51 -0
  711. package/references/craft/photo-album.md +52 -0
  712. package/references/craft/photo-contact-sheet.md +52 -0
  713. package/references/craft/polaroid-image.md +52 -0
  714. package/references/craft/pomodoro.md +52 -0
  715. package/references/craft/presence-dock.md +51 -0
  716. package/references/craft/prism-depth-button.md +51 -0
  717. package/references/craft/progress-ring-card.md +51 -0
  718. package/references/craft/quantity-stepper-button.md +52 -0
  719. package/references/craft/radio-group-field-input.md +51 -0
  720. package/references/craft/rain-prism-background.md +51 -0
  721. package/references/craft/recent-transactions-table.md +52 -0
  722. package/references/craft/recorder-face.md +52 -0
  723. package/references/craft/resource-links-panel.md +52 -0
  724. package/references/craft/retail-price-tag.md +51 -0
  725. package/references/craft/reverse-diagonal-box-pattern.md +51 -0
  726. package/references/craft/ride-pickup.md +53 -0
  727. package/references/craft/sand-drift-background.md +51 -0
  728. package/references/craft/search-input.md +52 -0
  729. package/references/craft/segmented-toggle-button.md +51 -0
  730. package/references/craft/select-field-input.md +52 -0
  731. package/references/craft/share-menu.md +52 -0
  732. package/references/craft/sheen-pill-button.md +51 -0
  733. package/references/craft/slate-chip-switch.md +51 -0
  734. package/references/craft/sleep-score.md +52 -0
  735. package/references/craft/slide-to-confirm-button.md +52 -0
  736. package/references/craft/slow-living-polaroid.md +52 -0
  737. package/references/craft/soft-pill-button.md +51 -0
  738. package/references/craft/soft-spotlight-background.md +51 -0
  739. package/references/craft/soft-ui-button.md +51 -0
  740. package/references/craft/spin-loader.md +52 -0
  741. package/references/craft/spotlight-bar.md +52 -0
  742. package/references/craft/stacked-cards-effect.md +52 -0
  743. package/references/craft/stacked-folder-card.md +52 -0
  744. package/references/craft/stamp-postcard.md +52 -0
  745. package/references/craft/step-count.md +51 -0
  746. package/references/craft/sticky-note-polaroid-frame.md +51 -0
  747. package/references/craft/stopwatch.md +52 -0
  748. package/references/craft/sunrise-horizon-background.md +51 -0
  749. package/references/craft/sunset-bloom-background.md +51 -0
  750. package/references/craft/switch-field-input.md +51 -0
  751. package/references/craft/system-alert.md +52 -0
  752. package/references/craft/tasks-table.md +53 -0
  753. package/references/craft/team-member-profile-grid.md +52 -0
  754. package/references/craft/team-member.md +53 -0
  755. package/references/craft/team-members-table.md +53 -0
  756. package/references/craft/terminal-log.md +52 -0
  757. package/references/craft/terrazzo-fragment-background.md +51 -0
  758. package/references/craft/testimonial.md +53 -0
  759. package/references/craft/text-field-input.md +51 -0
  760. package/references/craft/text-loader.md +51 -0
  761. package/references/craft/textarea-field-input.md +51 -0
  762. package/references/craft/thermal-receipt.md +52 -0
  763. package/references/craft/threads-post.md +53 -0
  764. package/references/craft/toast-notification.md +52 -0
  765. package/references/craft/toggle-pricing-cards.md +52 -0
  766. package/references/craft/torch-face.md +52 -0
  767. package/references/craft/transform-box-frame.md +51 -0
  768. package/references/craft/transform-plus-frame.md +51 -0
  769. package/references/craft/travel-postcard.md +53 -0
  770. package/references/craft/tropical-tide-background.md +51 -0
  771. package/references/craft/twitter-post.md +53 -0
  772. package/references/craft/twitter-profile.md +53 -0
  773. package/references/craft/user-menu.md +53 -0
  774. package/references/craft/user-profile.md +53 -0
  775. package/references/craft/users-select-table.md +53 -0
  776. package/references/craft/voice-assistant.md +52 -0
  777. package/references/craft/wallet-pass.md +52 -0
  778. package/references/craft/weather-snapshot.md +52 -0
  779. package/references/craft/week-strip-calendar.md +52 -0
  780. package/references/craft/wifi-toggle.md +52 -0
  781. package/references/craft/workspace-switcher.md +52 -0
  782. package/references/guides/baseline-ui-craft.md +61 -0
  783. package/references/guides/craft-surface-design-system.md +120 -0
  784. package/references/guides/design-system-checklist.md +98 -0
  785. package/references/guides/enterprise-dashboard-patterns.md +53 -0
  786. package/references/guides/interaction-transitions.md +71 -0
  787. package/references/guides/motion-engineering.md +137 -0
  788. package/references/guides/motion-patterns.md +106 -0
  789. package/references/guides/motion-performance.md +66 -0
  790. package/references/guides/style-presets.md +115 -0
  791. package/references/guides/universal-mobile-patterns.md +72 -0
  792. package/references/motion/action-sheet.md +98 -0
  793. package/references/motion/action-swap.md +339 -0
  794. package/references/motion/adaptive-stepper.md +95 -0
  795. package/references/motion/animated-badge.md +92 -0
  796. package/references/motion/animated-sidebar.md +446 -0
  797. package/references/motion/animated-toast-stack.md +214 -0
  798. package/references/motion/aspect-ratio.md +59 -0
  799. package/references/motion/audio-player.md +59 -0
  800. package/references/motion/autocomplete.md +69 -0
  801. package/references/motion/avatar-group.md +93 -0
  802. package/references/motion/bottom-sheet.md +85 -0
  803. package/references/motion/bounce-sidebar.md +80 -0
  804. package/references/motion/bouncy-accordion.md +115 -0
  805. package/references/motion/breadcrumb.md +62 -0
  806. package/references/motion/button.md +271 -0
  807. package/references/motion/card-resize.md +60 -0
  808. package/references/motion/cascader.md +99 -0
  809. package/references/motion/center-morph-modal.md +133 -0
  810. package/references/motion/checkbox.md +76 -0
  811. package/references/motion/chip.md +81 -0
  812. package/references/motion/collapsible.md +73 -0
  813. package/references/motion/color-picker.md +57 -0
  814. package/references/motion/combobox.md +247 -0
  815. package/references/motion/confetti.md +65 -0
  816. package/references/motion/context-menu.md +269 -0
  817. package/references/motion/copy-button.md +59 -0
  818. package/references/motion/cylinder-carousel.md +151 -0
  819. package/references/motion/date-range-picker.md +68 -0
  820. package/references/motion/dock.md +105 -0
  821. package/references/motion/drawer.md +94 -0
  822. package/references/motion/error-shake.md +85 -0
  823. package/references/motion/event-calendar.md +81 -0
  824. package/references/motion/expandable-control.md +89 -0
  825. package/references/motion/expanding-arrow-button.md +178 -0
  826. package/references/motion/file-tree.md +139 -0
  827. package/references/motion/filter-builder.md +106 -0
  828. package/references/motion/frame.md +61 -0
  829. package/references/motion/gantt.md +61 -0
  830. package/references/motion/glow-button.md +59 -0
  831. package/references/motion/haptic-pressable.md +64 -0
  832. package/references/motion/hover-card.md +86 -0
  833. package/references/motion/icon-stack.md +64 -0
  834. package/references/motion/input.md +108 -0
  835. package/references/motion/kanban.md +111 -0
  836. package/references/motion/kbd.md +66 -0
  837. package/references/motion/loader.md +82 -0
  838. package/references/motion/magnet-dock.md +64 -0
  839. package/references/motion/marquee.md +68 -0
  840. package/references/motion/metric-card.md +81 -0
  841. package/references/motion/morphing-modal.md +230 -0
  842. package/references/motion/multi-select.md +202 -0
  843. package/references/motion/number-field.md +70 -0
  844. package/references/motion/number.md +198 -0
  845. package/references/motion/page-transition.md +78 -0
  846. package/references/motion/pagination.md +64 -0
  847. package/references/motion/password-input.md +77 -0
  848. package/references/motion/phone-input.md +63 -0
  849. package/references/motion/popover.md +209 -0
  850. package/references/motion/preview-rail.md +165 -0
  851. package/references/motion/progress-ring.md +73 -0
  852. package/references/motion/pull-to-refresh.md +172 -0
  853. package/references/motion/radio.md +73 -0
  854. package/references/motion/range-slider.md +290 -0
  855. package/references/motion/rating.md +69 -0
  856. package/references/motion/reorder-grid.md +69 -0
  857. package/references/motion/resizable-panel.md +75 -0
  858. package/references/motion/scroll-animation.md +397 -0
  859. package/references/motion/segmented-control.md +68 -0
  860. package/references/motion/segmented-progress.md +70 -0
  861. package/references/motion/select.md +196 -0
  862. package/references/motion/shader-background.md +351 -0
  863. package/references/motion/shared-layout-bg.md +80 -0
  864. package/references/motion/sortable-list.md +62 -0
  865. package/references/motion/speed-dial.md +63 -0
  866. package/references/motion/split-text.md +62 -0
  867. package/references/motion/spotlight-card.md +67 -0
  868. package/references/motion/stepper.md +83 -0
  869. package/references/motion/success-check.md +67 -0
  870. package/references/motion/switch.md +62 -0
  871. package/references/motion/table.md +519 -0
  872. package/references/motion/tabs.md +116 -0
  873. package/references/motion/text-animation.md +285 -0
  874. package/references/motion/text-swap.md +64 -0
  875. package/references/motion/theme-toggle.md +82 -0
  876. package/references/motion/tilt-card.md +59 -0
  877. package/references/motion/timeline.md +85 -0
  878. package/references/motion/toggle-group.md +70 -0
  879. package/references/motion/tooltip.md +82 -0
  880. package/references/motion/tree-view.md +87 -0
  881. package/references/motion/wheel-picker.md +142 -0
  882. package/scripts/build_docs.py +557 -0
  883. package/scripts/install-component.py +232 -0
  884. package/scripts/test_release.py +119 -0
  885. package/scripts/updater.mjs +9 -0
  886. package/scripts/verify_skill.py +84 -0
@@ -0,0 +1,557 @@
1
+ #!/usr/bin/env python3
2
+ import json
3
+ import re
4
+ from pathlib import Path
5
+
6
+ ROOT = Path(__file__).resolve().parent.parent
7
+ catalog = json.loads((ROOT / "catalog.json").read_text(encoding="utf-8"))
8
+ comps = catalog["components"]
9
+ total_count = len(comps)
10
+
11
+ def format_deps(deps):
12
+ filtered = [d for d in deps if d not in ("clsx", "react", "tailwind-merge")]
13
+ if not filtered:
14
+ return "None (core)"
15
+ return ", ".join(f"`{d}`" for d in sorted(filtered))
16
+
17
+ def format_row(item):
18
+ name = item["name"]
19
+ slug = item["slug"]
20
+ desc = item["description"]
21
+ deps_str = format_deps(item.get("dependencies", []))
22
+ primary = item["component_files"][0]
23
+ doc = item["doc_path"]
24
+ return f"| **{name}** | `{slug}` | {desc} | {deps_str} | [`{primary}`]({primary}) | [Guide]({doc}) |"
25
+
26
+ # Group by category
27
+ motion_items = [c for c in comps.values() if c["category"] == "motion"]
28
+ agents_items = [c for c in comps.values() if c["category"] == "agents"]
29
+ blocks_items = [c for c in comps.values() if c["category"] == "blocks"]
30
+ craft_items = [c for c in comps.values() if c["category"] == "craft"]
31
+
32
+ # Sort alphabetically by name
33
+ motion_items.sort(key=lambda x: x["name"].lower())
34
+ agents_items.sort(key=lambda x: x["name"].lower())
35
+ blocks_items.sort(key=lambda x: x["name"].lower())
36
+ craft_items.sort(key=lambda x: x["name"].lower())
37
+
38
+ guide_counts = {}
39
+ for item in comps.values():
40
+ guide_dir = Path(item["doc_path"]).parts[1]
41
+ guide_counts[guide_dir] = guide_counts.get(guide_dir, 0) + 1
42
+
43
+ motion_table = "\n".join([
44
+ "| Component | Slug | Description | Dependencies | Primary File | Docs |",
45
+ "| :--- | :--- | :--- | :--- | :--- | :--- |",
46
+ *[format_row(it) for it in motion_items]
47
+ ])
48
+
49
+ agents_table = "\n".join([
50
+ "| Component | Slug | Description | Dependencies | Primary File | Docs |",
51
+ "| :--- | :--- | :--- | :--- | :--- | :--- |",
52
+ *[format_row(it) for it in agents_items]
53
+ ])
54
+
55
+ blocks_table = "\n".join([
56
+ "| Component | Slug | Description | Dependencies | Primary File | Docs |",
57
+ "| :--- | :--- | :--- | :--- | :--- | :--- |",
58
+ *[format_row(it) for it in blocks_items]
59
+ ])
60
+
61
+ craft_table = "\n".join([
62
+ "| Component | Slug | Description | Dependencies | Primary File | Docs |",
63
+ "| :--- | :--- | :--- | :--- | :--- | :--- |",
64
+ *[format_row(it) for it in craft_items]
65
+ ])
66
+
67
+ # Generate SKILL.md
68
+ skill_md = f"""---
69
+ name: motion-ui
70
+ description: >-
71
+ Production-ready animated UI component library for React and Next.js built with Motion (Framer Motion)
72
+ and Tailwind CSS. Includes {total_count} interactive components across 4 categories: Motion Primitives ({len(motion_items)} components), AI Agent Surfaces ({len(agents_items)} components), Blocks & Widgets ({len(blocks_items)} components), and Craft & Surface Components ({len(craft_items)} components: tactile 3D buttons, neumorphic controls, device mockups, background gradients & patterns, calendar widgets, data tables, editorial typography, and interactive cards). Supports 6 aesthetic style presets (minimal, origin, enterprise, glow, ios, brutalist).
73
+ Includes local Codex installation instructions, comprehensive design system guides, and an AI-agent install prompt.
74
+ license: MIT
75
+ metadata:
76
+ author: Rkj0123
77
+ version: "2.0.0"
78
+ ---
79
+
80
+ # Motion UI Skill
81
+
82
+ > Complete offline repository of **{total_count} production-ready animated UI components** for React and Next.js, built with **Motion** (`motion/react` / `framer-motion`) and **Tailwind CSS**.
83
+
84
+ This skill is **self-contained and offline-first** for the bundled components. All source code, shared animation utilities, hooks, physics tokens, component guides, and Codex setup instructions exist directly in this repository.
85
+
86
+ ---
87
+
88
+ ## Architecture & Shared Foundation
89
+
90
+ All components in this skill share a clean, high-performance foundation located in [`lib/`](./lib):
91
+
92
+ ### 1. Motion Tokens & Physics Curves (`lib/ease.ts`)
93
+ Physics curves mirror CSS variables and drive all spring animations:
94
+ - `EASE_OUT` (`[0.16, 1, 0.3, 1]`): Fast responsive entrances that settle smoothly.
95
+ - `EASE_IN_OUT` (`[0.77, 0, 0.175, 1]`): Movement between existing onscreen positions.
96
+ - `EASE_EMPHASIZED` (`[0.2, 0, 0, 1]`): Material & Transitions.dev emphasized spatial navigation.
97
+ - `SPRING_PRESS` (`stiffness: 500, damping: 30, mass: 0.6`): Physical tactile press feedback for buttons and triggers.
98
+ - `SPRING_BOUNCE` (`stiffness: 300, damping: 18, mass: 0.8`): Playful bounce for badges, celebration checks, stars, and micro-pops.
99
+ - `SPRING_SWAP` (`stiffness: 460, damping: 30, mass: 0.55`): Content/icon trades within fixed slots.
100
+ - `SPRING_PANEL` (`stiffness: 420, damping: 40, mass: 0.5`): Entrances for modals, drawers, and popovers.
101
+ - `SPRING_LAYOUT` (`stiffness: 360, damping: 32, mass: 0.6`): Morphing layout pills and active indicator glides.
102
+ - `SPRING_GENTLE` (`stiffness: 180, damping: 24, mass: 1.0`): Natural calm spring for spacious card expansions and drawer reveals.
103
+ - `SPRING_SNAPPY` (`stiffness: 600, damping: 35, mass: 0.5`): Snappy, high-velocity spring for fast toggles, segmented pills, and tabs.
104
+ - `SPRING_FLOAT` (`stiffness: 120, damping: 14, mass: 0.8`): Soft floating physics for tooltips, hover cards, and ambient elevation.
105
+ - `SPRING_MOUSE` (`stiffness: 200, damping: 15, mass: 0.3`): Decorative cursor-tracking (dock, tilt, magnetic).
106
+ - `SPRING_GLIDE` (`stiffness: 700, damping: 50, mass: 0.5`): Critically damped slider handles with zero overshoot.
107
+
108
+ ### 2. Multi-Style Presets Architecture (`lib/styles.ts`)
109
+ Components and wrappers support 6 distinct design aesthetics:
110
+ - **`minimal`**: Clean monochrome typography, flat card surfaces, crisp 1px borders, subtle transitions (shadcn/ui style).
111
+ - **`origin`**: High-craft, micro-elevation, fine inner specular borders, dark luxury (Coss / Cal.com style).
112
+ - **`enterprise`**: High information density, compact spacing, sharp geometry, data grids (KeenThemes ReUI style).
113
+ - **`glow`**: Luminous radial halos, spotlight cursor highlights, cyan/purple beams (ibelick style).
114
+ - **`ios`**: Fluid squircle curves, translucent blurred glass, bouncy springs, haptics (Expo / Apple style).
115
+ - **`brutalist`**: Bold 2px outlines, high-contrast flat fills, hard 4px offset drop-shadows (Neo-brutalist style).
116
+
117
+ ### 3. Class Merger (`lib/utils.ts`)
118
+ Canonical `cn(...inputs)` utility combining `clsx` and `tailwind-merge` for conflict-free Tailwind utility resolution.
119
+
120
+ ### 4. Pointer & Interaction Hooks (`lib/hooks/`)
121
+ - `useHoverCapable`: Restricts hover-only transformations to devices with true pointer input (prevents sticky phantom taps on mobile).
122
+ - `useDismiss`: Universal click-outside and Escape-key listener for overlays.
123
+ - `useTapGesture` & `useHoverGesture`: Physical press and hover states with reduced-motion fallbacks.
124
+ - `useHaptic`: Semantic mobile vibration feedback with cross-platform desktop fallback.
125
+ - `useInViewAnimation`: Viewport intersection trigger with reduced-motion support for staggered entry.
126
+ - `useMeasure`: Performant ResizeObserver measurement hook for zero-layout-shift container morphing.
127
+
128
+ ### 5. Accessibility & Reduced Motion
129
+ Every component respects user accessibility preferences (`prefers-reduced-motion`):
130
+ - Uses Motion's `useReducedMotion()` hook.
131
+ - Gracefully degrades transforms, scale shifts, and travel distances to calm opacity fades and instant state transitions.
132
+
133
+ ---
134
+
135
+ ## How AI Agents Should Select & Apply Component Styles
136
+
137
+ Shared tokens support six aesthetics. `MetricCard` accepts `stylePreset` directly; other components can use `getStylePreset` for custom wrappers until they expose that prop:
138
+
139
+ 1. **Detect Aesthetic Preference**:
140
+ - For Clean/Monochrome/Vercel → use **`minimal`**
141
+ - For High-Craft/Stripe/Cal.com → use **`origin`**
142
+ - For Data-Dense/Admin/ERP/ReUI → use **`enterprise`**
143
+ - For Web3/AI/Spotlight/Luminous → use **`glow`**
144
+ - For Mobile/Touch/iOS/Expo → use **`ios`**
145
+ - For Retro/Bold/High-Contrast → use **`brutalist`**
146
+
147
+ 2. **Apply via Component Prop**:
148
+ Pass `stylePreset` to components supporting multi-style:
149
+ ```tsx
150
+ <MetricCard
151
+ title="Total Revenue"
152
+ value="$124,592"
153
+ change="+12.4%"
154
+ stylePreset="origin" // or "minimal", "enterprise", "glow", "ios", "brutalist"
155
+ />
156
+ ```
157
+
158
+ 3. **Apply via Shared Style Tokens**:
159
+ Import `getStylePreset` from `@/lib/styles` to style any custom container, button, or input:
160
+ ```tsx
161
+ import {{ getStylePreset }} from "@/lib/styles";
162
+ const tokens = getStylePreset("enterprise");
163
+ // <div className={{tokens.card}}> ... </div>
164
+ ```
165
+
166
+ 4. **Include the Shared Tokens with the CLI**:
167
+ ```bash
168
+ python scripts/install-component.py <slug> --style <minimal|origin|enterprise|glow|ios|brutalist> --dest ./src
169
+ # The flag copies lib/styles.ts; it does not rewrite component class names.
170
+ ```
171
+
172
+ Read [`references/guides/style-presets.md`](./references/guides/style-presets.md) for full token matrices and migration recipes.
173
+
174
+ ---
175
+
176
+ ## How AI Agents Should Use This Skill
177
+
178
+ When the user asks for any animated component, UI widget, micro-interaction, or AI chat surface:
179
+
180
+ 0. **Skill Activation & Auto-Update Check**:
181
+ Before selecting or writing components, verify the skill is up to date:
182
+ ```bash
183
+ node bin/updater.mjs --silent
184
+ ```
185
+ *(Or from the consuming project: `node .agents/skills/motion-ui/bin/updater.mjs --silent`). If an upstream update exists, it auto-updates before proceeding.*
186
+
187
+ 1. **Locate the Component**: Find the matching component from the {total_count} components listed in the catalog below or in [`catalog.json`](./catalog.json).
188
+ 2. **Read Component Source & Docs**:
189
+ - Inspect the `Primary File` path in the matching catalog entry.
190
+ - Read the `doc_path` file from that same catalog entry for props, variants, and examples.
191
+ 3. **Copy or Generate Files**:
192
+ - Provide the complete TypeScript component code directly into the user's project (e.g. `@/components/...`).
193
+ - If missing, also supply the shared utility files from [`lib/`](./lib) (`lib/ease.ts`, `lib/styles.ts`, `lib/utils.ts`, `lib/hooks/...`).
194
+ 4. **Install NPM Dependencies**:
195
+ - Inform the user or run: `npm install motion@^13.1.0 clsx tailwind-merge` + any specific component dependency (e.g. `lucide-react`, `shiki`, `@tanstack/react-virtual`).
196
+ 5. **Alternatively, use the CLI Installer**:
197
+ ```bash
198
+ node bin/index.mjs add <slug> --dest ./src
199
+ # or
200
+ python scripts/install-component.py <slug> --dest ./src
201
+ ```
202
+
203
+ To auto-detect and install this skill into supported AI harnesses, run:
204
+ ```bash
205
+ npx motion-ui-skill
206
+ ```
207
+ When the user asks to install this skill in Codex specifically, read [`references/codex-install.md`](./references/codex-install.md). When they ask an AI agent to install it, provide [`prompts/install-motion-ui.md`](./prompts/install-motion-ui.md) verbatim.
208
+
209
+ ---
210
+
211
+ ## Component Catalog ({total_count} Components)
212
+
213
+ ### Category 1: Motion Components ({len(motion_items)} Components)
214
+ Interactive, animated primitives including buttons, inputs, tabs, modals, bottom sheets, sliders, accordions, sidebars, and loaders.
215
+
216
+ {motion_table}
217
+
218
+ ---
219
+
220
+ ### Category 2: AI Agent Surfaces ({len(agents_items)} Components)
221
+ Specialized UI surfaces for conversational agent interfaces: message bubbles, scrollers, prompt inputs, approval cards, code blocks, diffs, tool activity, and streaming responses.
222
+
223
+ {agents_table}
224
+
225
+ ---
226
+
227
+ ### Category 3: Blocks & Composed Widgets ({len(blocks_items)} Components)
228
+ Complex composable animated UI widgets: kanban boards, filter builders, action sheets, dynamic island, command palette, multi-chain swap, prediction market, availability scheduler, event calendars, and gantt timelines.
229
+
230
+ {blocks_table}
231
+
232
+ ---
233
+
234
+ ### Category 4: Craft & Surface Components ({len(craft_items)} Components)
235
+ Tactile 3D buttons, neumorphic controls, high-fidelity device mockups, background gradients & patterns, calendar widgets, data tables, editorial typography, and interactive surface cards.
236
+
237
+ {craft_table}
238
+
239
+ ---
240
+
241
+ ## Motion Guides & Best Practices
242
+
243
+ For in-depth animation principles, design system checklists, and accessibility rules, read:
244
+ - [`references/guides/style-presets.md`](./references/guides/style-presets.md): Multi-Style Presets & Aesthetic Themes Guide covering minimal, origin, enterprise, glow, ios, and brutalist tokens.
245
+ - [`references/guides/motion-patterns.md`](./references/guides/motion-patterns.md): Complete motion guidelines, physics tokens, timing tables, recipes, and accessibility rules.
246
+ - [`references/guides/design-system-checklist.md`](./references/guides/design-system-checklist.md): Comprehensive design system architecture checklist, token scales, contrast rules (WCAG 2.1 AA/AAA), and component health criteria.
247
+ - [`references/guides/motion-engineering.md`](./references/guides/motion-engineering.md): Deep dive into `motion/react`, physics-based springs, `layoutId`, `AnimatePresence`, gestures, and hardware acceleration.
248
+ - [`references/guides/motion-performance.md`](./references/guides/motion-performance.md): 60/120 FPS animation performance guide covering compositor-only properties, avoiding layout thrashing, and layer budgets.
249
+ - [`references/guides/baseline-ui-craft.md`](./references/guides/baseline-ui-craft.md): Design Engineer craft principles: optical alignment, spacing rhythm, accessible focus rings, and micro-interactions.
250
+ - [`references/guides/interaction-transitions.md`](./references/guides/interaction-transitions.md): The 12 canonical interaction transitions from Transitions.dev with token specs and timing tables.
251
+ - [`references/guides/universal-mobile-patterns.md`](./references/guides/universal-mobile-patterns.md): Cross-platform mobile interaction patterns, touch ergonomics (44pt/48dp rules), and semantic haptics.
252
+ - [`references/guides/craft-surface-design-system.md`](./references/guides/craft-surface-design-system.md): Craft & Surface Design System covering neutral stages, tactile 3D elevation, typography pairing, and component patterns.
253
+ - [`references/guides/enterprise-dashboard-patterns.md`](./references/guides/enterprise-dashboard-patterns.md): Architecture for complex enterprise surfaces, timelines, kanban task boards, faceted query builders, and data grids.
254
+ """
255
+
256
+ (ROOT / "SKILL.md").write_text(skill_md, encoding="utf-8")
257
+ print("Wrote SKILL.md")
258
+
259
+ # Generate README.md
260
+ readme_md = f"""# Motion UI Skill
261
+
262
+ <div align="center">
263
+
264
+ ![Motion UI Banner](https://img.shields.io/badge/Components-{total_count}%20Total-6366f1?style=for-the-badge)
265
+ ![React](https://img.shields.io/badge/React-18%20%2F%2019-61dafb?style=for-the-badge&logo=react)
266
+ ![Next.js](https://img.shields.io/badge/Next.js-14%20%2F%2015-000000?style=for-the-badge&logo=next.js)
267
+ ![Tailwind CSS](https://img.shields.io/badge/Tailwind-v3%20%2F%20v4-38bdf8?style=for-the-badge&logo=tailwindcss)
268
+ ![Motion](https://img.shields.io/badge/Motion-Framer%20Motion-f43f5e?style=for-the-badge)
269
+ ![Local](https://img.shields.io/badge/Skill-Local--First-10b981?style=for-the-badge)
270
+ ![License](https://img.shields.io/badge/License-MIT-yellow?style=for-the-badge)
271
+
272
+ <p align="center">
273
+ <b>Comprehensive Library of {total_count} Animated React & Next.js UI Components</b><br/>
274
+ Built with Motion and Tailwind CSS. Designed as an offline-first AI Agent Skill & Developer Toolkit with 6 aesthetic style presets.
275
+ </p>
276
+
277
+ </div>
278
+
279
+ ---
280
+
281
+ ## Overview
282
+
283
+ **Motion UI Skill** is a production-ready, fully self-contained collection of **{total_count} interactive, animated UI components** across four distinct categories:
284
+
285
+ 1. **Motion Components ({len(motion_items)})**: Micro-interactions, spring-loaded buttons, morphing inputs, bouncily unfolding selects, bottom sheets, virtualized tables, 3D cylinder carousels, 17 loader variants, cascaders, ratings, avatar groups, celebration success checks, rich hover cards, keyboard keycaps, smart password fields, spotlight cards, glow buttons, chronological timelines, steppers, segmented controls, breadcrumbs, pagination, collapsibles, chips, copy buttons, progress rings, tree views, sortable lists, date range pickers, icon stacks, phone inputs, speed dials, color pickers, magnet docks, page transitions, card resizes, error shakes, text swaps, and autocompletes.
286
+ 2. **AI Agent Surfaces ({len(agents_items)})**: Complete modern conversational agent interfaces including message bubbles, viewport scrollers, expandable prompt composers, human-in-the-loop approval cards, streaming responses, diff viewers, syntax-highlighted code blocks, and adaptive activity streams.
287
+ 3. **Blocks & Widgets ({len(blocks_items)})**: Rich, composable application widgets such as drag-and-drop kanban workflow boards, faceted query filter builders, universal mobile action sheets, Apple-style dynamic islands, ⌘K command palettes, knockout tournament fixtures, weekly availability schedulers, cross-chain swaps, prediction market tickets, morphing tab views, event calendars, gantt timeline charts, resizable split panels, audio players, metric stat cards with sparklines, reorder grids, and browser frame mockups.
288
+ 4. **Craft & Surface Components ({len(craft_items)})**: Tactile 3D buttons, neumorphic soft UI controls, high-fidelity Apple device mockups (iPhone, MacBook, iPad, Watch, iPod), background gradients & geometric patterns, booking calendars, customer and transaction tables, editorial typography cards, social cards, and interactive widgets.
289
+
290
+ ### 🌟 Key Highlights
291
+ - **Local-First**: Every bundled component source file (`.tsx`), shared utility (`lib/`), and markdown guide exists directly in this repository. No remote registry is needed to discover or copy the bundled components.
292
+ - **6 Aesthetic Style Presets**: Built-in support for `minimal` (shadcn), `origin` (Coss / Cal.com), `enterprise` (ReUI), `glow` (ibelick), `ios` (Expo), and `brutalist` (neo-brutalist) styles.
293
+ - **Physics-Based Animation**: Powered by Motion (`motion/react` or `framer-motion`) using calibrated spring configurations (`SPRING_PRESS`, `SPRING_PANEL`, `SPRING_LAYOUT`, `SPRING_BOUNCE`, `SPRING_GENTLE`, `SPRING_SNAPPY`, `SPRING_FLOAT`, `SPRING_MOUSE`, `SPRING_GLIDE`).
294
+ - **Accessible & Reduced-Motion Safe**: Every component natively respects `prefers-reduced-motion` and suppresses phantom touch `:hover` states on mobile via pointer capability detection.
295
+ - **Ecosystem Integration**: Enriched with patterns and standards from KeenThemes ReUI, Design System Checklist, Motion, Expo, Transitions.dev, shadcn/ui, Coss (Origin UI), and ibelick/ui-skills.
296
+ - **Copy-Paste & Drop-In Ready**: Drop files directly into your project's `components/` and `lib/` folders, or use the included CLI installer.
297
+
298
+ ---
299
+
300
+ ## Multi-Style Selection for AI Agents & Developers
301
+
302
+ Shared tokens support 6 distinct design aesthetics. `MetricCard` accepts `stylePreset` directly; other components can use `getStylePreset` for custom wrappers:
303
+
304
+ | Style Preset | Border & Geometry | Surface & Lighting | Target Aesthetic |
305
+ | :--- | :--- | :--- | :--- |
306
+ | **`minimal`** | `border-border`, `rounded-xl` | Flat monochrome, subtle transitions | shadcn/ui, Linear clean |
307
+ | **`origin`** | `border-border/70`, `rounded-2xl`, inner specular | Subtle gradient cards, micro-shadows | Cal.com, Coss high-craft |
308
+ | **`enterprise`** | `border-border`, `rounded-md`, compact | High data density, structured hierarchy | KeenThemes ReUI, admin ERP |
309
+ | **`glow`** | `border-border/60`, `rounded-2xl` | Radial gradient spotlights, halo beams | ibelick, Web3, AI platforms |
310
+ | **`ios`** | `border-white/10`, `rounded-3xl` | Translucent glass, fluid squircle bounce | Expo mobile, Apple iOS |
311
+ | **`brutalist`** | `border-2 border-foreground`, `rounded-none` | High contrast flat fills, 4px drop shadows | Neo-brutalist, retro bold |
312
+
313
+ ```bash
314
+ # List available style presets:
315
+ python scripts/install-component.py --list-styles
316
+
317
+ # Install component and include the shared style tokens:
318
+ python scripts/install-component.py metric-card --style origin --dest ./src
319
+ # The flag copies lib/styles.ts; it does not rewrite component class names.
320
+ ```
321
+
322
+ Read [`references/guides/style-presets.md`](./references/guides/style-presets.md) for complete token documentation.
323
+
324
+ ---
325
+
326
+ ## Installation & Setup Guide
327
+
328
+ ### Universal Agent Setup (Auto-Detect)
329
+
330
+ The fastest way to connect and configure Motion UI for **Claude Code, Cursor, Windsurf, Codex, Antigravity, OpenCode, and GitHub Copilot**:
331
+
332
+ ```bash
333
+ npx motion-ui-skill
334
+ ```
335
+
336
+ The installer auto-detects supported AI harnesses and configures the skill and agent rules for you.
337
+
338
+ - **Auto-Update on Activation**: Every time the skill is activated, it quickly verifies the upstream version and auto-updates in place so physics tokens and component catalogs stay current.
339
+ - **Manual update check**: `npx motion-ui-skill update` (or `node bin/updater.mjs`)
340
+
341
+ ---
342
+
343
+ ### Manual Harness Setup
344
+
345
+ #### A. Google Antigravity
346
+ This repository is pre-configured with workspace skill discovery:
347
+ - Clone or copy into your workspace's `.agents/skills/motion-ui`:
348
+ ```bash
349
+ git clone https://github.com/Rkj0123/motion-ui-skill.git .agents/skills/motion-ui
350
+ ```
351
+ - Antigravity automatically detects the skill and activates it whenever you ask for UI components, animations, or agent interfaces.
352
+
353
+ #### B. Codex app or Codex CLI
354
+ Recommended project-scoped install:
355
+ ```bash
356
+ npx skills add Rkj0123/motion-ui-skill --skill motion-ui --agent codex --copy -y
357
+ ```
358
+ This creates `.agents/skills/motion-ui` in the current project. For a global install visible in every project:
359
+ ```bash
360
+ npx skills add Rkj0123/motion-ui-skill --skill motion-ui --agent codex --global --copy -y
361
+ ```
362
+
363
+ ---
364
+
365
+ ## CLI Component Installer
366
+
367
+ A standalone Python resolver and installer is included in `scripts/install-component.py`:
368
+
369
+ #### List all {total_count} components:
370
+ ```bash
371
+ python scripts/install-component.py --list
372
+ ```
373
+
374
+ #### List available aesthetic styles:
375
+ ```bash
376
+ python scripts/install-component.py --list-styles
377
+ ```
378
+
379
+ #### Search components by keyword:
380
+ ```bash
381
+ python scripts/install-component.py --search "kanban"
382
+ python scripts/install-component.py --search "agent"
383
+ ```
384
+
385
+ #### Inspect component files & dependencies:
386
+ ```bash
387
+ python scripts/install-component.py spotlight-card --info
388
+ ```
389
+
390
+ #### Install a component into your project:
391
+ ```bash
392
+ python scripts/install-component.py spotlight-card --style glow --dest ./src
393
+ ```
394
+ This automatically:
395
+ 1. Copies the component file to `./src/components/motion/spotlight-card.tsx`.
396
+ 2. Copies all required utilities (`lib/ease.ts`, `lib/utils.ts`, `lib/hooks/...`) to `./src/lib/`.
397
+ 3. With `--style`, also copies `lib/styles.ts` and its `lib/ease.ts` dependency.
398
+ 4. Outputs the exact `npm install` command for any missing dependencies.
399
+
400
+ ---
401
+
402
+ ## Prerequisites for Projects
403
+
404
+ Ensure your target React or Next.js project has the base dependencies installed:
405
+
406
+ ```bash
407
+ npm install motion@^13.1.0 clsx tailwind-merge lucide-react
408
+ # or: pnpm add motion@^13.1.0 clsx tailwind-merge lucide-react
409
+ ```
410
+
411
+ ### Tailwind Configuration
412
+ Ensure your `tailwind.config.js` or `globals.css` supports CSS variable colors (`background`, `foreground`, `muted`, `border`, etc.). The canonical `cn` helper is provided in [`lib/utils.ts`](./lib/utils.ts).
413
+
414
+ ---
415
+
416
+ ## Component Catalog ({total_count} Components)
417
+
418
+ ### 1. Motion Components ({len(motion_items)})
419
+
420
+ {motion_table}
421
+
422
+ ---
423
+
424
+ ### 2. AI Agent Surfaces ({len(agents_items)})
425
+
426
+ {agents_table}
427
+
428
+ ---
429
+
430
+ ### 3. Blocks & Widgets ({len(blocks_items)})
431
+
432
+ {blocks_table}
433
+
434
+ ---
435
+
436
+ ### 4. Craft & Surface Components ({len(craft_items)})
437
+
438
+ {craft_table}
439
+
440
+ ---
441
+
442
+ ## Comprehensive Guides Suite
443
+
444
+ - [Multi-Style Presets Guide](./references/guides/style-presets.md): Architecture and token matrices for minimal, origin, enterprise, glow, ios, and brutalist styles.
445
+ - [Motion Guides & Principles](./references/guides/motion-patterns.md): Decision framework, physics tokens, timing tables, recipes, and accessibility rules.
446
+ - [Design System Architecture & Checklist](./references/guides/design-system-checklist.md): Standards for color contrast (WCAG 2.1 AA/AAA), typography scales, spacing grids, and component health.
447
+ - [Motion Engineering Guide](./references/guides/motion-engineering.md): Motion v12/v13+ architecture, spring formulas, shared layoutId morphs, and AnimatePresence.
448
+ - [Motion Performance & 60/120 FPS](./references/guides/motion-performance.md): Compositor properties, avoiding layout thrashing, and layer budgets.
449
+ - [Baseline UI Craft & Anti-Slop](./references/guides/baseline-ui-craft.md): Design engineering principles, optical alignment, spacing rhythm, and micro-interactions.
450
+ - [The 12 Canonical Interaction Transitions](./references/guides/interaction-transitions.md): Transitions.dev interaction patterns and token specs.
451
+ - [Universal Mobile-First Interaction Patterns](./references/guides/universal-mobile-patterns.md): Touch ergonomics, haptic feedback semantics, and swipe gestures.
452
+ - [Craft & Surface Design System](./references/guides/craft-surface-design-system.md): Visual language, tactile 3D elevation, typography pairing, and component patterns.
453
+ - [Enterprise Dashboard Architecture](./references/guides/enterprise-dashboard-patterns.md): High-density data grids, kanban boards, faceted query builders, and timelines.
454
+
455
+ ---
456
+
457
+ ## Animation Physics & Motion Tokens
458
+
459
+ Components use standardized spring and easing constants defined in [`lib/ease.ts`](./lib/ease.ts):
460
+
461
+ ```typescript
462
+ export const EASE_OUT = [0.16, 1, 0.3, 1] as const;
463
+ export const EASE_IN_OUT = [0.77, 0, 0.175, 1] as const;
464
+ export const EASE_EMPHASIZED = [0.2, 0, 0, 1] as const;
465
+
466
+ export const SPRING_PRESS = {{
467
+ type: "spring",
468
+ stiffness: 500,
469
+ damping: 30,
470
+ mass: 0.6,
471
+ }} as const;
472
+
473
+ export const SPRING_BOUNCE = {{
474
+ type: "spring",
475
+ stiffness: 300,
476
+ damping: 18,
477
+ mass: 0.8,
478
+ }} as const;
479
+
480
+ export const SPRING_LAYOUT = {{
481
+ type: "spring",
482
+ stiffness: 360,
483
+ damping: 32,
484
+ mass: 0.6,
485
+ }} as const;
486
+
487
+ export const SPRING_PANEL = {{
488
+ type: "spring",
489
+ stiffness: 420,
490
+ damping: 40,
491
+ mass: 0.5,
492
+ }} as const;
493
+ ```
494
+
495
+ ---
496
+
497
+ ## Validate the package
498
+
499
+ Run the dependency-free integrity gate, release checks, and catalog evaluation before publishing a change:
500
+
501
+ ```bash
502
+ python scripts/verify_skill.py
503
+ python scripts/test_release.py
504
+ python evals/catalog_eval.py
505
+ ```
506
+
507
+ The checks cover the {total_count}-component catalog, referenced files, installer safety, generated docs, dependency coverage, and the source-reference exclusion rule.
508
+
509
+ ---
510
+
511
+ ## Directory Structure
512
+
513
+ ```text
514
+ motion-ui-skill/
515
+ ├── README.md # Comprehensive guide & installation instructions
516
+ ├── SKILL.md # Main agent skill definition with catalog & instructions
517
+ ├── agents/openai.yaml # Codex skill-list metadata and default prompt
518
+ ├── catalog.json # Machine-readable metadata for all {total_count} components
519
+ ├── components/ # Production TypeScript/React source code
520
+ │ ├── motion/ # {len(motion_items)} motion primitives and composed blocks
521
+ │ ├── agents/ # {len(agents_items)} conversational agent surfaces
522
+ │ ├── previews/ # Component preview & demo implementations
523
+ │ └── [category]/ # {len(craft_items)} craft & surface component files across categories
524
+ ├── icons/ # 21 custom brand and annotation icons
525
+ ├── lib/ # Foundation tokens, easing physics, and utility hooks
526
+ │ ├── ease.ts # Easing curves and spring physics constants
527
+ │ ├── styles.ts # Multi-style preset tokens (minimal, origin, enterprise, glow, ios, brutalist)
528
+ │ ├── utils.ts # cn() utility
529
+ │ ├── cn.ts # cn() re-export
530
+ │ └── hooks/ # Custom hooks (use-haptic, use-dismiss, use-measure, etc.)
531
+ ├── references/ # Offline-first detailed markdown component documentation
532
+ │ ├── motion/ # {guide_counts.get("motion", 0)} component guides with props & examples
533
+ │ ├── agents/ # {len(agents_items)} agent component guides
534
+ │ ├── blocks/ # {guide_counts.get("blocks", 0)} block guides
535
+ │ ├── craft/ # {guide_counts.get("craft", 0)} craft and surface component guides
536
+ │ ├── guides/ # Complete suite of 10 motion & design system guides
537
+ │ └── codex-install.md # Codex app and CLI installation guide
538
+ ├── prompts/
539
+ │ └── install-motion-ui.md # Copy-paste prompt for AI-agent installation
540
+ ├── evals/
541
+ │ └── catalog_eval.py # Dependency-free catalog coverage evaluation
542
+ └── scripts/
543
+ ├── install-component.py # Standalone CLI tool to install components into projects
544
+ ├── build_docs.py # Script to synchronize SKILL.md and README.md from catalog
545
+ ├── verify_skill.py # Dependency-free package integrity gate
546
+ └── test_release.py # Installer and release regression checks
547
+ ```
548
+
549
+ ---
550
+
551
+ ## License
552
+
553
+ This project is licensed under the [MIT License](./LICENSE).
554
+ """
555
+
556
+ (ROOT / "README.md").write_text(readme_md, encoding="utf-8")
557
+ print("Wrote README.md")