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,285 @@
1
+ ---
2
+ title: "Text Animation"
3
+ description: "Animated text primitives for spring reveals, chromatic sweeps, shimmer loading states, letter-cascade swaps and character scrambles."
4
+ category: "Components"
5
+ publishedAt: "2026-05-17"
6
+ updatedAt: "2026-08-19"
7
+ documentation: "references/motion/text-animation.md"
8
+ markdown: "references/motion/text-animation.md"
9
+ license: "MIT"
10
+ ---
11
+
12
+ # Text Animation
13
+
14
+ > Animated text primitives for spring reveals, chromatic sweeps, shimmer loading states, letter-cascade swaps and character scrambles.
15
+
16
+ ## Install
17
+
18
+ ### Text Scramble
19
+
20
+ A controlled character scramble that resolves changed text while keeping its final value accessible.
21
+
22
+ ```bash
23
+ # Install via motion-ui skill CLI:
24
+ python scripts/install-component.py text-scramble --dest ./src
25
+ ```
26
+
27
+ ### Dia Text Animation
28
+
29
+ A Dia-inspired text effect with a fixed sentence prefix and a cycling final word revealed by a colorful sweep.
30
+
31
+ ```bash
32
+ # Install via motion-ui skill CLI:
33
+ python scripts/install-component.py chromatic-text-reveal --dest ./src
34
+ ```
35
+
36
+ ### Text Reveal
37
+
38
+ Word or character reveal with spring slide-up and blur.
39
+
40
+ ```bash
41
+ # Install via motion-ui skill CLI:
42
+ python scripts/install-component.py text-reveal --dest ./src
43
+ ```
44
+
45
+ ### Text Shimmer
46
+
47
+ Gradient sweep across text for loading or emphasis.
48
+
49
+ ```bash
50
+ # Install via motion-ui skill CLI:
51
+ python scripts/install-component.py text-shimmer --dest ./src
52
+ ```
53
+
54
+ ### Text Cascade
55
+
56
+ Letter-by-letter slot roll for standalone text — old letters drop away as new ones land, left to right.
57
+
58
+ ```bash
59
+ # Install via motion-ui skill CLI:
60
+ python scripts/install-component.py text-cascade --dest ./src
61
+ ```
62
+
63
+ ## Dependencies
64
+
65
+ - `clsx`
66
+ - `motion`
67
+ - `react`
68
+ - `tailwind-merge`
69
+
70
+ ## Usage
71
+
72
+ ### Text Scramble usage
73
+
74
+ A controlled character scramble that resolves changed text while keeping its final value accessible.
75
+
76
+ ```tsx
77
+ "use client";
78
+
79
+ import { useState } from "react";
80
+ import { TextScramble } from "@/components/motion/text-scramble";
81
+
82
+ const PHRASES = [
83
+ "Inspecting the repository",
84
+ "Running the checks",
85
+ "Preparing the update",
86
+ ];
87
+
88
+ export function TextScramblePreview() {
89
+ const [index, setIndex] = useState(0);
90
+
91
+ return (
92
+ <div className="flex w-full flex-col items-center gap-8 text-center">
93
+ <TextScramble
94
+ text={PHRASES[index]}
95
+ className="font-mono text-xl font-medium text-foreground"
96
+ />
97
+
98
+ <button
99
+ type="button"
100
+ onClick={() => setIndex((current) => (current + 1) % PHRASES.length)}
101
+ className="inline-flex h-9 items-center rounded-full border border-border bg-card px-4 text-xs font-medium text-foreground press hover:border-(--color-border-strong)"
102
+ >
103
+ Next phrase
104
+ </button>
105
+ </div>
106
+ );
107
+ }
108
+ ```
109
+
110
+ ### Dia Text Animation usage
111
+
112
+ A Dia-inspired text effect with a fixed sentence prefix and a cycling final word revealed by a colorful sweep.
113
+
114
+ ```tsx
115
+ import { ChromaticTextReveal } from "@/components/motion/chromatic-text-reveal";
116
+
117
+ export function ChromaticTextRevealPreview() {
118
+ return (
119
+ // The sentence never wraps, so it has to be sized against the space it
120
+ // actually gets — the surrounding column, not the viewport.
121
+ <div className="@container flex w-full justify-center">
122
+ <ChromaticTextReveal
123
+ prefix="Motion that feels"
124
+ words={["natural.", "intentional.", "alive."]}
125
+ startOnView={false}
126
+ className="shrink-0 font-medium tracking-[-0.04em] text-foreground [font-size:clamp(1.25rem,7.8cqw,3rem)]"
127
+ />
128
+ </div>
129
+ );
130
+ }
131
+ ```
132
+
133
+ ### Text Reveal usage
134
+
135
+ Word or character reveal with spring slide-up and blur.
136
+
137
+ ```tsx
138
+ "use client";
139
+
140
+ import { useState } from "react";
141
+ import { TextReveal } from "@/components/motion/text-reveal";
142
+
143
+ export function TextRevealPreview() {
144
+ const [key, setKey] = useState(0);
145
+ return (
146
+ <div className="flex w-full flex-col items-center gap-8 text-center">
147
+ <div key={key} className="flex flex-col gap-2">
148
+ <TextReveal
149
+ as="h2"
150
+ text={["Motion that feels", "considered."]}
151
+ className="text-balance text-4xl font-semibold leading-[0.95] tracking-[-0.04em] text-foreground sm:text-5xl"
152
+ />
153
+ <TextReveal
154
+ text="Word by word, with a soft blur."
155
+ delay={0.9}
156
+ stagger={0.05}
157
+ blur={6}
158
+ yOffset="20%"
159
+ className="text-sm text-muted-foreground"
160
+ />
161
+ </div>
162
+
163
+ <button
164
+ type="button"
165
+ onClick={() => setKey((k) => k + 1)}
166
+ className="inline-flex h-9 items-center rounded-full border border-border bg-card px-4 text-xs font-medium text-foreground press hover:border-(--color-border-strong)"
167
+ >
168
+ Replay
169
+ </button>
170
+ </div>
171
+ );
172
+ }
173
+ ```
174
+
175
+ ### Text Shimmer usage
176
+
177
+ Gradient sweep across text for loading or emphasis.
178
+
179
+ ```tsx
180
+ "use client";
181
+
182
+ import { TextShimmer } from "@/components/motion/text-shimmer";
183
+
184
+ export function TextShimmerPreview() {
185
+ return (
186
+ <div className="flex flex-col gap-4">
187
+ <TextShimmer className="text-3xl font-semibold">Loading projects…</TextShimmer>
188
+ <TextShimmer duration={1.5} className="text-sm">Faster shimmer</TextShimmer>
189
+ </div>
190
+ );
191
+ }
192
+ ```
193
+
194
+ ### Text Cascade usage
195
+
196
+ Letter-by-letter slot roll for standalone text — old letters drop away as new ones land, left to right.
197
+
198
+ ```tsx
199
+ "use client";
200
+
201
+ import { useEffect, useState } from "react";
202
+ import { TextCascade } from "@/components/motion/text-cascade";
203
+
204
+ const PHRASES = ["Install skills", "Open settings", "Ship updates"];
205
+
206
+ export function TextCascadePreview() {
207
+ const [phrase, setPhrase] = useState(0);
208
+
209
+ useEffect(() => {
210
+ const id = window.setInterval(() => {
211
+ setPhrase((p) => (p + 1) % PHRASES.length);
212
+ }, 2400);
213
+ return () => window.clearInterval(id);
214
+ }, []);
215
+
216
+ return (
217
+ <div className="flex w-full justify-center">
218
+ <p className="text-lg font-medium text-foreground">
219
+ <TextCascade text={PHRASES[phrase] ?? PHRASES[0]} />
220
+ </p>
221
+ </div>
222
+ );
223
+ }
224
+ ```
225
+
226
+ ## API Reference
227
+
228
+ ### TextScramble
229
+
230
+ | Prop | Type | Default | Required | Description |
231
+ | --- | --- | --- | --- | --- |
232
+ | `text` | `string` | — | Yes | Final text revealed by the scramble animation. |
233
+ | `duration` | `number` | — | No | Maximum animation duration in milliseconds. |
234
+ | `glyphs` | `string` | `ABCDEFGHJKLMNPQRSTUVWXYZ0123456789#%&@$?/` | No | Characters sampled while unresolved positions are scrambling. |
235
+ | `className` | `string` | — | No | — |
236
+ | `style` | `CSSProperties` | — | No | — |
237
+
238
+ ### ChromaticTextReveal
239
+
240
+ | Prop | Type | Default | Required | Description |
241
+ | --- | --- | --- | --- | --- |
242
+ | `prefix` | `string` | — | Yes | Sentence fragment that remains fixed while the final word changes. |
243
+ | `words` | `string[]` | — | Yes | Words revealed one after another after the fixed prefix. |
244
+ | `colors` | `string[]` | `[ "#60a5fa", "#818cf8", "#c084fc", "#fb7185", "#fbbf24", ]` | No | Colors used along the moving chromatic edge. |
245
+ | `foregroundColor` | `string` | `var(--foreground)` | No | Final text color after the sweep passes. |
246
+ | `duration` | `number` | `1.2` | No | Sweep duration in seconds. |
247
+ | `delay` | `number` | `0` | No | Delay before the first sweep, in seconds. |
248
+ | `pauseDuration` | `number` | `0.8` | No | Rest after a word finishes revealing, in seconds. |
249
+ | `loop` | `boolean` | `true` | No | Returns to the first word after the final word. |
250
+ | `startOnView` | `boolean` | `true` | No | Starts when the text enters the viewport. |
251
+ | `once` | `boolean` | `true` | No | Only starts on the first viewport entry. |
252
+ | `inViewMargin` | `MarginType` | — | No | IntersectionObserver root margin used by the viewport trigger. |
253
+ | `className` | `string` | — | No | — |
254
+
255
+ ### TextReveal
256
+
257
+ | Prop | Type | Default | Required | Description |
258
+ | --- | --- | --- | --- | --- |
259
+ | `text` | `string \| string[]` | — | Yes | — |
260
+ | `as` | `ElementType` | `span` | No | — |
261
+ | `className` | `string` | — | No | — |
262
+ | `split` | `"word" \| "char"` | `word` | No | — |
263
+ | `stagger` | `number` | `0.09` | No | — |
264
+ | `delay` | `number` | `0` | No | — |
265
+ | `blur` | `number` | `12` | No | — |
266
+ | `yOffset` | `string \| number` | `40%` | No | — |
267
+ | `spring` | `{ stiffness?: number; damping?: number; mass?: number \| undefined; } \| undefined` | — | No | — |
268
+ | `once` | `boolean` | `true` | No | — |
269
+ | `whileInView` | `boolean` | `false` | No | — |
270
+
271
+ ### TextShimmer
272
+
273
+ | Prop | Type | Default | Required | Description |
274
+ | --- | --- | --- | --- | --- |
275
+ | `as` | `ElementType` | `span` | No | — |
276
+ | `duration` | `number` | `2.5` | No | — |
277
+ | `className` | `string` | — | No | — |
278
+
279
+ ### TextCascade
280
+
281
+ | Prop | Type | Default | Required | Description |
282
+ | --- | --- | --- | --- | --- |
283
+ | `text` | `string` | — | Yes | Current text. Changing it cascades the letters to the new value. |
284
+ | `className` | `string` | — | No | — |
285
+
@@ -0,0 +1,64 @@
1
+ ---
2
+ title: "Text Swap"
3
+ description: "Slot-machine vertical ticker transition that rolls text or numbers with subtle blur and spring velocity handoffs."
4
+ category: "Components"
5
+ publishedAt: "2026-09-05"
6
+ updatedAt: "2026-09-05"
7
+ documentation: "references/motion/text-swap.md"
8
+ markdown: "references/motion/text-swap.md"
9
+ license: "MIT"
10
+ ---
11
+
12
+ # Text Swap
13
+
14
+ > Slot-machine vertical ticker transition that rolls text or numbers with subtle blur and spring velocity handoffs. Inspired by transitions.dev and ibelick/ui-skills.
15
+
16
+ ## Install
17
+
18
+ ```bash
19
+ # Install via motion-ui skill CLI:
20
+ python scripts/install-component.py text-swap --dest ./src
21
+ ```
22
+
23
+ ## Dependencies
24
+
25
+ - `clsx`
26
+ - `motion`
27
+ - `react`
28
+ - `tailwind-merge`
29
+
30
+ ## Usage
31
+
32
+ ```tsx
33
+ "use client";
34
+
35
+ import { TextSwap } from "@/components/motion/text-swap";
36
+ import { useState, useEffect } from "react";
37
+
38
+ const WORDS = ["Developers", "Designers", "Founders", "Teams"];
39
+
40
+ export function TextSwapExample() {
41
+ const [index, setIndex] = useState(0);
42
+
43
+ useEffect(() => {
44
+ const timer = setInterval(() => {
45
+ setIndex((prev) => (prev + 1) % WORDS.length);
46
+ }, 2000);
47
+ return () => clearInterval(timer);
48
+ }, []);
49
+
50
+ return (
51
+ <div className="p-8 text-2xl font-bold">
52
+ Built for <TextSwap text={WORDS[index]} className="text-primary ml-1.5" />
53
+ </div>
54
+ );
55
+ }
56
+ ```
57
+
58
+ ## Props
59
+
60
+ | Prop | Type | Default | Description |
61
+ | :--- | :--- | :--- | :--- |
62
+ | `text` | `string \| number` | Required | Content string or number that triggers rolling animation on change. |
63
+ | `direction` | `"up" \| "down"` | `"up"` | Rolling direction. |
64
+ | `className` | `string` | `undefined` | Container classes. |
@@ -0,0 +1,82 @@
1
+ ---
2
+ title: "Theme Toggle"
3
+ description: "Theme toggle button that repaints the whole page through the View Transition API — a rectangle or circle clip-path reveal, or slats that open across the screen like a shutter."
4
+ category: "Components"
5
+ publishedAt: "2026-06-15"
6
+ updatedAt: "2026-06-20"
7
+ documentation: "references/motion/theme-toggle.md"
8
+ markdown: "references/motion/theme-toggle.md"
9
+ license: "MIT"
10
+ ---
11
+
12
+ # Theme Toggle
13
+
14
+ > Theme toggle button that repaints the whole page through the View Transition API — a rectangle or circle clip-path reveal, or slats that open across the screen like a shutter.
15
+
16
+ ## Install
17
+
18
+ ```bash
19
+ # Install via motion-ui skill CLI:
20
+ python scripts/install-component.py theme-toggle --dest ./src
21
+ ```
22
+
23
+ ## Dependencies
24
+
25
+ - `clsx`
26
+ - `lucide-react`
27
+ - `motion`
28
+ - `next-themes`
29
+ - `react`
30
+ - `tailwind-merge`
31
+
32
+ ## Usage
33
+
34
+ ```tsx
35
+ "use client";
36
+
37
+ import { ThemeToggle, type ThemeVariant } from "@/components/motion/theme-toggle";
38
+
39
+ const VARIANTS: { variant: ThemeVariant; label: string }[] = [
40
+ { variant: "rectangle", label: "Rectangle" },
41
+ { variant: "circle", label: "Circle" },
42
+ { variant: "circle-blur", label: "Circle blur" },
43
+ { variant: "blinds", label: "Blinds" },
44
+ ];
45
+
46
+ export function ThemeTogglePreview() {
47
+ return (
48
+ <div className="flex h-full w-full items-center justify-center gap-5">
49
+ {VARIANTS.map(({ variant, label }) => (
50
+ <div key={variant} className="flex flex-col items-center gap-2">
51
+ <ThemeToggle
52
+ variant={variant}
53
+ start="bottom-up"
54
+ className="rounded-xl border border-border bg-background p-2.5"
55
+ iconClassName="h-5 w-5"
56
+ />
57
+ <span className="text-[11px] text-muted-foreground">{label}</span>
58
+ </div>
59
+ ))}
60
+ </div>
61
+ );
62
+ }
63
+ ```
64
+
65
+ ## API Reference
66
+
67
+ ### useThemeToggle
68
+
69
+ | Prop | Type | Default | Required | Description |
70
+ | --- | --- | --- | --- | --- |
71
+ | `variant` | `"circle" \| "rectangle" \| "circle-blur" \| "blinds"` | `rectangle` | No | — |
72
+ | `start` | `"center" \| "top-left" \| "top-right" \| "bottom-left" \| "bottom-right" \| "bottom-up"` | `bottom-up` | No | — |
73
+
74
+ ### ThemeToggle
75
+
76
+ | Prop | Type | Default | Required | Description |
77
+ | --- | --- | --- | --- | --- |
78
+ | `variant` | `"circle" \| "rectangle" \| "circle-blur" \| "blinds"` | `rectangle` | No | Animation variant. Default: "rectangle". |
79
+ | `start` | `"center" \| "top-left" \| "top-right" \| "bottom-left" \| "bottom-right" \| "bottom-up"` | `bottom-up` | No | Origin direction for the reveal. Default: "bottom-up". |
80
+ | `iconClassName` | `string` | — | No | — |
81
+ | `className` | `string` | — | No | — |
82
+
@@ -0,0 +1,59 @@
1
+ ---
2
+ title: "Tilt Card"
3
+ description: "3D perspective tilt on hover with cursor-tracked glare."
4
+ category: "Components"
5
+ publishedAt: "2026-05-17"
6
+ updatedAt: "2026-06-22"
7
+ documentation: "references/motion/tilt-card.md"
8
+ markdown: "references/motion/tilt-card.md"
9
+ license: "MIT"
10
+ ---
11
+
12
+ # Tilt Card
13
+
14
+ > 3D perspective tilt on hover with cursor-tracked glare.
15
+
16
+ ## Install
17
+
18
+ ```bash
19
+ # Install via motion-ui skill CLI:
20
+ python scripts/install-component.py tilt-card --dest ./src
21
+ ```
22
+
23
+ ## Dependencies
24
+
25
+ - `clsx`
26
+ - `motion`
27
+ - `react`
28
+ - `tailwind-merge`
29
+
30
+ ## Usage
31
+
32
+ ```tsx
33
+ "use client";
34
+
35
+ import { TiltCard } from "@/components/motion/tilt-card";
36
+
37
+ export function TiltCardPreview() {
38
+ return (
39
+ <div className="flex items-center justify-center p-6">
40
+ <TiltCard className="w-[280px] border border-border bg-card p-8">
41
+ <div className="text-xs uppercase tracking-wider text-muted-foreground">Premium</div>
42
+ <h3 className="mt-2 text-2xl font-semibold text-foreground">Tilt me</h3>
43
+ <p className="mt-3 text-sm text-muted-foreground">Move your cursor across the card to see 3D tilt + glare.</p>
44
+ </TiltCard>
45
+ </div>
46
+ );
47
+ }
48
+ ```
49
+
50
+ ## API Reference
51
+
52
+ ### TiltCard
53
+
54
+ | Prop | Type | Default | Required | Description |
55
+ | --- | --- | --- | --- | --- |
56
+ | `max` | `number` | `12` | No | — |
57
+ | `glare` | `boolean` | `true` | No | — |
58
+ | `className` | `string` | — | No | — |
59
+
@@ -0,0 +1,85 @@
1
+ ---
2
+ title: "Timeline"
3
+ description: "Interactive chronological milestone and audit tracker with animated progress lines, status badges, and expandable step disclosures."
4
+ category: "Components"
5
+ publishedAt: "2026-09-05"
6
+ updatedAt: "2026-09-05"
7
+ documentation: "references/motion/timeline.md"
8
+ markdown: "references/motion/timeline.md"
9
+ license: "MIT"
10
+ ---
11
+
12
+ # Timeline
13
+
14
+ > Interactive chronological milestone and audit tracker with animated progress lines, status badges, and expandable step disclosures. Inspired by KeenThemes ReUI.
15
+
16
+ ## Install
17
+
18
+ ```bash
19
+ # Install via motion-ui skill CLI:
20
+ python scripts/install-component.py timeline --dest ./src
21
+ ```
22
+
23
+ ## Dependencies
24
+
25
+ - `clsx`
26
+ - `lucide-react`
27
+ - `motion`
28
+ - `react`
29
+ - `tailwind-merge`
30
+
31
+ ## Usage
32
+
33
+ ```tsx
34
+ "use client";
35
+
36
+ import { Timeline, type TimelineItem } from "@/components/motion/timeline";
37
+ import { GitBranch, Rocket, ShieldCheck } from "lucide-react";
38
+
39
+ const ITEMS: TimelineItem[] = [
40
+ {
41
+ id: "step-1",
42
+ title: "Code Review Approved",
43
+ description: "2 senior engineers signed off on PR #142 across security and performance checks.",
44
+ timestamp: "10:45 AM",
45
+ status: "completed",
46
+ icon: GitBranch,
47
+ tags: ["GitHub", "Verified"],
48
+ },
49
+ {
50
+ id: "step-2",
51
+ title: "Security Sandbox Verification",
52
+ description: "Running automated SAST scanning and container isolation policy tests.",
53
+ timestamp: "10:48 AM",
54
+ status: "current",
55
+ icon: ShieldCheck,
56
+ tags: ["In Progress"],
57
+ },
58
+ {
59
+ id: "step-3",
60
+ title: "Production Deployment",
61
+ description: "Canary rollout to 10% edge traffic nodes across us-east and eu-west.",
62
+ timestamp: "Pending",
63
+ status: "upcoming",
64
+ icon: Rocket,
65
+ },
66
+ ];
67
+
68
+ export function TimelineExample() {
69
+ return (
70
+ <div className="max-w-md p-6 bg-card rounded-2xl border border-border">
71
+ <h3 className="text-base font-semibold mb-6">Deployment Pipeline</h3>
72
+ <Timeline items={ITEMS} />
73
+ </div>
74
+ );
75
+ }
76
+ ```
77
+
78
+ ## Props
79
+
80
+ | Prop | Type | Default | Description |
81
+ | :--- | :--- | :--- | :--- |
82
+ | `items` | `TimelineItem[]` | required | Array of timeline steps with statuses, icons, timestamps, and tags. |
83
+ | `orientation` | `"vertical" \| "horizontal"` | `"vertical"` | Directional layout of the timeline stream. |
84
+ | `collapsible` | `boolean` | `true` | Allows clicking on milestone headers to expand or collapse step details. |
85
+ | `className` | `string` | `undefined` | Custom styling overrides merged via `cn()`. |
@@ -0,0 +1,70 @@
1
+ ---
2
+ title: "Toggle Group"
3
+ description: "Single or multiple selection button group with active state elevation, icon labels, and tactile spring feedback."
4
+ category: "Components"
5
+ publishedAt: "2026-09-05"
6
+ updatedAt: "2026-09-05"
7
+ documentation: "references/motion/toggle-group.md"
8
+ markdown: "references/motion/toggle-group.md"
9
+ license: "MIT"
10
+ ---
11
+
12
+ # Toggle Group
13
+
14
+ > Single or multiple selection button group with active state elevation, icon labels, and tactile spring feedback. Inspired by shadcn/ui and Coss.
15
+
16
+ ## Install
17
+
18
+ ```bash
19
+ # Install via motion-ui skill CLI:
20
+ python scripts/install-component.py toggle-group --dest ./src
21
+ ```
22
+
23
+ ## Dependencies
24
+
25
+ - `clsx`
26
+ - `motion`
27
+ - `react`
28
+ - `tailwind-merge`
29
+
30
+ ## Usage
31
+
32
+ ```tsx
33
+ "use client";
34
+
35
+ import { ToggleGroup } from "@/components/motion/toggle-group";
36
+ import { AlignCenter, AlignJustify, AlignLeft, AlignRight } from "lucide-react";
37
+ import { useState } from "react";
38
+
39
+ export function ToggleGroupExample() {
40
+ const [alignment, setAlignment] = useState("left");
41
+
42
+ return (
43
+ <div className="p-6 bg-card rounded-2xl border border-border inline-block">
44
+ <ToggleGroup
45
+ type="single"
46
+ value={alignment}
47
+ onChange={setAlignment}
48
+ items={[
49
+ { value: "left", icon: <AlignLeft className="size-4" />, ariaLabel: "Align left" },
50
+ { value: "center", icon: <AlignCenter className="size-4" />, ariaLabel: "Align center" },
51
+ { value: "right", icon: <AlignRight className="size-4" />, ariaLabel: "Align right" },
52
+ { value: "justify", icon: <AlignJustify className="size-4" />, ariaLabel: "Justify" },
53
+ ]}
54
+ />
55
+ </div>
56
+ );
57
+ }
58
+ ```
59
+
60
+ ## Props
61
+
62
+ | Prop | Type | Default | Description |
63
+ | :--- | :--- | :--- | :--- |
64
+ | `items` | `ToggleItem[]` | required | Array of toggle button definitions with value, label, icon, and ariaLabel. |
65
+ | `type` | `"single" \| "multiple"` | `"single"` | Selection mode allowing one or multiple active toggles. |
66
+ | `value` | `string \| string[]` | `undefined` | Controlled active value(s). |
67
+ | `onChange` | `(val: any) => void` | `undefined` | Callback emitted on toggle state changes. |
68
+ | `size` | `"sm" \| "md" \| "lg"` | `"md"` | Button size tier. |
69
+ | `variant` | `"default" \| "outline"` | `"default"` | Background wrapper visual style. |
70
+ | `className` | `string` | `undefined` | Custom styling overrides merged via `cn()`. |