@yewdiel21/motion-kit 0.9.0 → 0.10.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 (399) hide show
  1. package/NOTICE +3 -35
  2. package/README.md +93 -81
  3. package/dist/auto/index.d.ts +22 -3
  4. package/dist/auto/index.js +43 -5
  5. package/dist/auto/index.js.map +1 -1
  6. package/dist/{chunk-KLY5BRRI.js → chunk-34EZ7DF4.js} +1 -1
  7. package/dist/chunk-34EZ7DF4.js.map +1 -0
  8. package/dist/{chunk-RFDIZYFX.js → chunk-DOOMULVV.js} +20 -20
  9. package/dist/chunk-DOOMULVV.js.map +1 -0
  10. package/dist/{chunk-ABNRDDO7.js → chunk-I3DXF2KQ.js} +2 -2
  11. package/dist/{chunk-Q4LVFNLN.js → chunk-IKQ5FODN.js} +4 -4
  12. package/dist/chunk-IKQ5FODN.js.map +1 -0
  13. package/dist/{chunk-2BQGFOA7.js → chunk-J6OCFNGU.js} +2 -2
  14. package/dist/chunk-J6OCFNGU.js.map +1 -0
  15. package/dist/{chunk-6OJAP6ZL.js → chunk-QFBOHPWZ.js} +3 -3
  16. package/dist/chunk-QFBOHPWZ.js.map +1 -0
  17. package/dist/{chunk-J27KH2A2.js → chunk-RVSKEBIC.js} +1 -1
  18. package/dist/chunk-RVSKEBIC.js.map +1 -0
  19. package/dist/{chunk-34XYOXHG.js → chunk-TFNRIZHU.js} +1615 -12
  20. package/dist/chunk-TFNRIZHU.js.map +1 -0
  21. package/dist/{chunk-FS2HJVVY.js → chunk-XAKC2QY7.js} +1204 -5
  22. package/dist/chunk-XAKC2QY7.js.map +1 -0
  23. package/dist/css/components/calendar.css +159 -0
  24. package/dist/css/components/chat-background.css +2 -2
  25. package/dist/css/components/chat.css +1 -1
  26. package/dist/css/components/cursor.css +3 -3
  27. package/dist/css/components/dialog.css +3 -3
  28. package/dist/css/components/hover-card.css +14 -0
  29. package/dist/css/components/input-otp.css +10 -0
  30. package/dist/css/components/island.css +1 -1
  31. package/dist/css/components/menu.css +1 -1
  32. package/dist/css/components/nav.css +1 -5
  33. package/dist/css/components/pagination.css +11 -0
  34. package/dist/css/components/quantity.css +16 -0
  35. package/dist/css/components/slot-picker.css +126 -0
  36. package/dist/css/components/steps.css +2 -2
  37. package/dist/css/components/studio-dock.css +35 -0
  38. package/dist/css/components/theme-picker.css +1 -1
  39. package/dist/css/components/toast.css +1 -1
  40. package/dist/css/components/trailer.css +37 -0
  41. package/dist/css/controls.css +78 -13
  42. package/dist/css/effects.css +8 -8
  43. package/dist/css/fonts.css +1 -1
  44. package/dist/css/themes/black-green.css +1 -1
  45. package/dist/css/themes/black.css +1 -1
  46. package/dist/css/themes/blue.css +1 -1
  47. package/dist/css/themes/brown.css +1 -1
  48. package/dist/css/themes/cold-blue.css +1 -1
  49. package/dist/css/themes/funny.css +1 -1
  50. package/dist/css/themes/gray.css +1 -1
  51. package/dist/css/themes/green.css +1 -1
  52. package/dist/css/themes/modern-1.css +1 -1
  53. package/dist/css/themes/neogreen.css +1 -1
  54. package/dist/css/themes/new.css +1 -1
  55. package/dist/css/themes/new2.css +1 -1
  56. package/dist/css/themes/oled.css +1 -1
  57. package/dist/css/themes/orange.css +1 -1
  58. package/dist/css/themes/pastel-pink.css +1 -1
  59. package/dist/css/themes/pink.css +1 -1
  60. package/dist/css/themes/purple.css +1 -1
  61. package/dist/css/themes/red.css +1 -1
  62. package/dist/css/themes/super-blue.css +1 -1
  63. package/dist/css/themes.css +19 -19
  64. package/dist/css/tokens.css +9 -9
  65. package/dist/elements/index.d.ts +75 -7
  66. package/dist/elements/index.js +172 -6
  67. package/dist/elements/index.js.map +1 -1
  68. package/dist/{engine-CUr9QijM.d.ts → engine-GDGwQnJE.d.ts} +2 -2
  69. package/dist/gl/index.js +3 -3
  70. package/dist/index.css +1076 -63
  71. package/dist/index.d.ts +17 -17
  72. package/dist/index.js +49 -7
  73. package/dist/index.js.map +1 -1
  74. package/dist/react/index.d.ts +139 -40
  75. package/dist/react/index.js +355 -8
  76. package/dist/react/index.js.map +1 -1
  77. package/dist/{reduced-BM4Ls0g5.d.ts → reduced-BmBzKH94.d.ts} +215 -18
  78. package/dist/{reveal-WFUWDrei.d.ts → reveal-jsX-uwUz.d.ts} +233 -24
  79. package/dist/{store-Bqy_obnD.d.ts → store-DYb3tTsZ.d.ts} +5 -5
  80. package/dist/theme/generate.d.ts +1 -1
  81. package/dist/theme/generate.js +2 -2
  82. package/dist/theme/generate.js.map +1 -1
  83. package/dist/theme/index.d.ts +2 -2
  84. package/dist/theme/index.js +2 -2
  85. package/dist/{theme-BFMoCzi6.d.ts → theme-Bjf9qIIy.d.ts} +1 -1
  86. package/package.json +2 -2
  87. package/registry.json +230 -156
  88. package/skills/motion-kit/SKILL.md +209 -189
  89. package/skills/motion-kit/reference/components.md +5 -5
  90. package/skills/motion-kit/reference/design.md +14 -14
  91. package/skills/motion-kit/reference/recipes.md +48 -49
  92. package/src/auto/auto-init.ts +38 -0
  93. package/src/components/calendar/README.md +82 -0
  94. package/src/components/calendar/calendar.css +158 -0
  95. package/src/components/calendar/element.ts +27 -0
  96. package/src/components/calendar/engine.ts +412 -0
  97. package/src/components/calendar/react.tsx +69 -0
  98. package/src/components/chat/README.md +1 -3
  99. package/src/components/chat/chat.css +1 -1
  100. package/src/components/chat/engine.ts +1 -1
  101. package/src/components/chat/react.tsx +1 -1
  102. package/src/components/chat-background/README.md +1 -3
  103. package/src/components/chat-background/audio.ts +1 -1
  104. package/src/components/chat-background/chat-background.css +2 -2
  105. package/src/components/chat-background/engine.ts +1 -1
  106. package/src/components/chat-background/react.tsx +1 -1
  107. package/src/components/cursor/README.md +3 -5
  108. package/src/components/cursor/cursor.css +3 -3
  109. package/src/components/cursor/element.ts +2 -2
  110. package/src/components/cursor/engine.ts +5 -5
  111. package/src/components/cursor/react.tsx +1 -1
  112. package/src/components/dialog/README.md +4 -8
  113. package/src/components/dialog/dialog.css +3 -3
  114. package/src/components/dialog/engine.ts +2 -2
  115. package/src/components/dialog/react.tsx +1 -1
  116. package/src/components/hover-card/README.md +16 -0
  117. package/src/components/hover-card/element.ts +8 -0
  118. package/src/components/hover-card/engine.ts +69 -0
  119. package/src/components/hover-card/hover-card.css +13 -0
  120. package/src/components/hover-card/react.tsx +19 -0
  121. package/src/components/input-otp/README.md +18 -0
  122. package/src/components/input-otp/element.ts +14 -0
  123. package/src/components/input-otp/engine.ts +106 -0
  124. package/src/components/input-otp/input-otp.css +9 -0
  125. package/src/components/input-otp/react.tsx +21 -0
  126. package/src/components/island/README.md +7 -7
  127. package/src/components/island/engine.ts +3 -3
  128. package/src/components/island/island.css +1 -1
  129. package/src/components/island/react.tsx +3 -3
  130. package/src/components/menu/README.md +2 -4
  131. package/src/components/menu/engine.ts +1 -1
  132. package/src/components/menu/menu.css +1 -1
  133. package/src/components/menu/react.tsx +1 -1
  134. package/src/components/nav/README.md +12 -14
  135. package/src/components/nav/engine.ts +5 -5
  136. package/src/components/nav/nav.css +1 -5
  137. package/src/components/nav/react.tsx +3 -3
  138. package/src/components/pagination/README.md +17 -0
  139. package/src/components/pagination/element.ts +14 -0
  140. package/src/components/pagination/engine.ts +102 -0
  141. package/src/components/pagination/pagination.css +10 -0
  142. package/src/components/pagination/react.tsx +22 -0
  143. package/src/components/quantity/README.md +20 -0
  144. package/src/components/quantity/element.ts +14 -0
  145. package/src/components/quantity/engine.ts +85 -0
  146. package/src/components/quantity/quantity.css +15 -0
  147. package/src/components/quantity/react.tsx +21 -0
  148. package/src/components/slot-picker/README.md +68 -0
  149. package/src/components/slot-picker/element.ts +27 -0
  150. package/src/components/slot-picker/engine.ts +412 -0
  151. package/src/components/slot-picker/react.tsx +76 -0
  152. package/src/components/slot-picker/slot-picker.css +125 -0
  153. package/src/components/steps/README.md +1 -3
  154. package/src/components/steps/engine.ts +3 -3
  155. package/src/components/steps/react.tsx +2 -2
  156. package/src/components/steps/steps.css +2 -2
  157. package/src/components/studio-dock/README.md +44 -0
  158. package/src/components/studio-dock/element.ts +11 -0
  159. package/src/components/studio-dock/engine.ts +212 -0
  160. package/src/components/studio-dock/react.tsx +23 -0
  161. package/src/components/studio-dock/studio-dock.css +34 -0
  162. package/src/components/theme-picker/README.md +3 -5
  163. package/src/components/theme-picker/engine.ts +2 -2
  164. package/src/components/theme-picker/react.tsx +1 -1
  165. package/src/components/theme-picker/theme-picker.css +1 -1
  166. package/src/components/toast/README.md +1 -3
  167. package/src/components/toast/engine.ts +2 -2
  168. package/src/components/toast/react.tsx +1 -1
  169. package/src/components/toast/store.ts +1 -2
  170. package/src/components/toast/toast.css +1 -1
  171. package/src/components/trailer/README.md +28 -0
  172. package/src/components/trailer/element.ts +13 -0
  173. package/src/components/trailer/engine.ts +189 -0
  174. package/src/components/trailer/react.tsx +16 -0
  175. package/src/components/trailer/trailer.css +36 -0
  176. package/src/core/channels.ts +3 -3
  177. package/src/core/curves.ts +3 -3
  178. package/src/core/dates.ts +98 -0
  179. package/src/core/gsap.ts +2 -2
  180. package/src/core/loop.ts +1 -1
  181. package/src/core/math.ts +1 -1
  182. package/src/core/physics-spring.ts +2 -2
  183. package/src/core/scroll-track.ts +2 -4
  184. package/src/core/spring.ts +1 -1
  185. package/src/core/timing.ts +21 -22
  186. package/src/css/controls/README.md +24 -20
  187. package/src/css/controls/burger.css +1 -1
  188. package/src/css/controls/button.css +4 -4
  189. package/src/css/controls/checkbox.css +1 -1
  190. package/src/css/controls/chip.css +1 -1
  191. package/src/css/controls/field.css +2 -2
  192. package/src/css/controls/glass.css +4 -4
  193. package/src/css/controls/status.css +63 -0
  194. package/src/css/default-theme.css +1 -1
  195. package/src/css/effects/README.md +19 -21
  196. package/src/css/effects/anim.css +1 -1
  197. package/src/css/effects/fade.css +1 -1
  198. package/src/css/effects/float.css +1 -1
  199. package/src/css/effects/frost.css +1 -1
  200. package/src/css/effects/grain.css +1 -1
  201. package/src/css/effects/loading.css +1 -1
  202. package/src/css/effects/success.css +1 -1
  203. package/src/css/effects/text.css +1 -1
  204. package/src/css/fonts.css +1 -1
  205. package/src/css/states.css +1 -1
  206. package/src/css/themes/black-green.css +1 -1
  207. package/src/css/themes/black.css +1 -1
  208. package/src/css/themes/blue.css +1 -1
  209. package/src/css/themes/brown.css +1 -1
  210. package/src/css/themes/cold-blue.css +1 -1
  211. package/src/css/themes/funny.css +1 -1
  212. package/src/css/themes/gray.css +1 -1
  213. package/src/css/themes/green.css +1 -1
  214. package/src/css/themes/modern-1.css +1 -1
  215. package/src/css/themes/neogreen.css +1 -1
  216. package/src/css/themes/new.css +1 -1
  217. package/src/css/themes/new2.css +1 -1
  218. package/src/css/themes/oled.css +1 -1
  219. package/src/css/themes/orange.css +1 -1
  220. package/src/css/themes/pastel-pink.css +1 -1
  221. package/src/css/themes/pink.css +1 -1
  222. package/src/css/themes/purple.css +1 -1
  223. package/src/css/themes/red.css +1 -1
  224. package/src/css/themes/super-blue.css +1 -1
  225. package/src/css/tokens.css +8 -8
  226. package/src/elements/index.ts +24 -0
  227. package/src/gl/liquid-blend/README.md +3 -3
  228. package/src/gl/matcap/README.md +3 -3
  229. package/src/gl/particle-hero/README.md +1 -1
  230. package/src/gl/particle-hero/create-particle-hero.ts +3 -5
  231. package/src/gl/particle-hero/shaders.ts +1 -1
  232. package/src/gl/shader-blur/README.md +3 -3
  233. package/src/gl/shader-grain/README.md +3 -3
  234. package/src/index.ts +25 -0
  235. package/src/motion/chat.ts +2 -2
  236. package/src/motion/confetti.ts +1 -1
  237. package/src/motion/count.ts +1 -1
  238. package/src/motion/details.ts +1 -1
  239. package/src/motion/drag-dismiss.ts +1 -1
  240. package/src/motion/effects.ts +1 -1
  241. package/src/motion/entrances.ts +1 -1
  242. package/src/motion/floating.ts +1 -1
  243. package/src/motion/flow.ts +2 -2
  244. package/src/motion/indicator.ts +1 -1
  245. package/src/motion/layout.ts +1 -1
  246. package/src/motion/liquid.ts +1 -1
  247. package/src/motion/morph.ts +2 -2
  248. package/src/motion/reveal.ts +1 -1
  249. package/src/motion/sheet.ts +1 -1
  250. package/src/motion/surface.ts +1 -1
  251. package/src/react/animated-number.tsx +2 -2
  252. package/src/react/flip-group.tsx +1 -1
  253. package/src/react/frost.tsx +1 -1
  254. package/src/react/index.ts +21 -0
  255. package/src/react/slot-text.tsx +1 -1
  256. package/src/react/use-action-button.ts +6 -0
  257. package/src/react/use-card-dock.ts +1 -1
  258. package/src/react/use-cascade.ts +1 -1
  259. package/src/react/use-contrast.ts +1 -1
  260. package/src/react/use-depth-grid.ts +1 -1
  261. package/src/react/use-editorial-reveal.ts +7 -0
  262. package/src/react/use-fill-text.ts +1 -1
  263. package/src/react/use-film-hero.ts +6 -0
  264. package/src/react/use-font-cycle.ts +7 -0
  265. package/src/react/use-frame-zoom.ts +1 -1
  266. package/src/react/use-image-zoom.ts +5 -0
  267. package/src/react/use-joined-cta.ts +5 -0
  268. package/src/react/use-letters.ts +1 -1
  269. package/src/react/use-local-clock.ts +5 -0
  270. package/src/react/use-marquee.ts +1 -1
  271. package/src/react/use-mask-text.ts +1 -1
  272. package/src/react/use-parallax.ts +1 -1
  273. package/src/react/use-particle-hero.ts +1 -1
  274. package/src/react/use-scroll-dock.ts +5 -0
  275. package/src/react/use-snap-strip.ts +1 -1
  276. package/src/react/use-sticker.ts +5 -0
  277. package/src/react/use-studio-dock.ts +8 -0
  278. package/src/react/use-text-roll.ts +1 -1
  279. package/src/react/use-thumbnail-nav.ts +7 -0
  280. package/src/react/use-trailer.ts +6 -0
  281. package/src/react/use-weight-hover.ts +5 -0
  282. package/src/recipes/action-button/README.md +31 -0
  283. package/src/recipes/action-button/action-button.css +113 -0
  284. package/src/recipes/action-button/create-action-button.ts +56 -0
  285. package/src/recipes/card-dock/README.md +1 -1
  286. package/src/recipes/card-dock/card-dock.css +1 -1
  287. package/src/recipes/card-dock/create-card-dock.ts +2 -2
  288. package/src/recipes/cascade/README.md +1 -3
  289. package/src/recipes/cascade/create-cascade.ts +3 -3
  290. package/src/recipes/contrast/README.md +0 -2
  291. package/src/recipes/contrast/create-contrast.ts +1 -1
  292. package/src/recipes/counter/README.md +0 -2
  293. package/src/recipes/counter/create-counter.ts +1 -1
  294. package/src/recipes/curved-carousel/README.md +0 -2
  295. package/src/recipes/curved-carousel/create-curved-carousel.ts +2 -2
  296. package/src/recipes/curved-carousel/curved-carousel.css +1 -1
  297. package/src/recipes/depth-grid/README.md +0 -2
  298. package/src/recipes/depth-grid/create-depth-grid.ts +3 -4
  299. package/src/recipes/details/README.md +0 -2
  300. package/src/recipes/details/create-details.ts +1 -1
  301. package/src/recipes/dock-pill/README.md +3 -3
  302. package/src/recipes/drag-ruler/README.md +3 -3
  303. package/src/recipes/editorial-reveal/README.md +35 -0
  304. package/src/recipes/editorial-reveal/create-editorial-reveal.ts +91 -0
  305. package/src/recipes/editorial-reveal/editorial-reveal.css +17 -0
  306. package/src/recipes/fill-text/README.md +1 -1
  307. package/src/recipes/fill-text/create-fill-text.ts +1 -1
  308. package/src/recipes/film-hero/README.md +23 -0
  309. package/src/recipes/film-hero/create-film-hero.ts +65 -0
  310. package/src/recipes/film-hero/film-hero.css +29 -0
  311. package/src/recipes/fit-text/README.md +0 -2
  312. package/src/recipes/flow/README.md +0 -2
  313. package/src/recipes/flow/create-flow.ts +1 -1
  314. package/src/recipes/font-cycle/README.md +11 -0
  315. package/src/recipes/font-cycle/create-font-cycle.ts +126 -0
  316. package/src/recipes/font-cycle/font-cycle.css +36 -0
  317. package/src/recipes/frame-zoom/README.md +1 -3
  318. package/src/recipes/frame-zoom/create-frame-zoom.ts +2 -2
  319. package/src/recipes/image-zoom/README.md +16 -0
  320. package/src/recipes/image-zoom/create-image-zoom.ts +27 -0
  321. package/src/recipes/image-zoom/image-zoom.css +7 -0
  322. package/src/recipes/infinite-reel/README.md +3 -3
  323. package/src/recipes/joined-cta/README.md +13 -0
  324. package/src/recipes/joined-cta/create-joined-cta.ts +22 -0
  325. package/src/recipes/joined-cta/joined-cta.css +17 -0
  326. package/src/recipes/letters/README.md +2 -4
  327. package/src/recipes/letters/create-letters.ts +3 -3
  328. package/src/recipes/local-clock/README.md +31 -0
  329. package/src/recipes/local-clock/create-local-clock.ts +61 -0
  330. package/src/recipes/marquee/README.md +0 -2
  331. package/src/recipes/marquee/create-marquee.ts +3 -3
  332. package/src/recipes/marquee/marquee.css +1 -1
  333. package/src/recipes/mask-text/README.md +3 -5
  334. package/src/recipes/mask-text/create-mask-text.ts +4 -4
  335. package/src/recipes/parallax/README.md +1 -3
  336. package/src/recipes/parallax/create-parallax.ts +1 -1
  337. package/src/recipes/pile/README.md +0 -2
  338. package/src/recipes/pile/create-pile.ts +1 -1
  339. package/src/recipes/pile/pile-math.ts +1 -1
  340. package/src/recipes/pile/pile.css +1 -1
  341. package/src/recipes/pill/README.md +0 -2
  342. package/src/recipes/pill/pill.css +2 -2
  343. package/src/recipes/pop/README.md +0 -2
  344. package/src/recipes/pop/create-pop.ts +1 -1
  345. package/src/recipes/radial-menu/README.md +0 -2
  346. package/src/recipes/radial-menu/create-radial-menu.ts +1 -1
  347. package/src/recipes/radial-menu/radial-menu.css +1 -1
  348. package/src/recipes/reflow/README.md +3 -5
  349. package/src/recipes/reflow/create-reflow.ts +1 -1
  350. package/src/recipes/repel-bento/README.md +3 -3
  351. package/src/recipes/reveal/README.md +0 -2
  352. package/src/recipes/reveal/create-reveal.ts +1 -1
  353. package/src/recipes/rotator/README.md +3 -3
  354. package/src/recipes/scroll-dock/README.md +46 -0
  355. package/src/recipes/scroll-dock/create-scroll-dock.ts +72 -0
  356. package/src/recipes/scroll-dock/scroll-dock.css +70 -0
  357. package/src/recipes/slot-text/README.md +0 -2
  358. package/src/recipes/slot-text/create-slot-text.ts +1 -1
  359. package/src/recipes/snap-strip/README.md +1 -1
  360. package/src/recipes/snap-strip/create-snap-strip.ts +5 -6
  361. package/src/recipes/snap-strip/snap-strip.css +1 -1
  362. package/src/recipes/sortable/README.md +3 -5
  363. package/src/recipes/sortable/create-sortable.ts +4 -4
  364. package/src/recipes/sortable/sortable.css +1 -1
  365. package/src/recipes/spring-cards/README.md +0 -2
  366. package/src/recipes/spring-cards/create-spring-cards.ts +1 -1
  367. package/src/recipes/spring-cards/spring-cards.css +1 -1
  368. package/src/recipes/sticker/README.md +59 -0
  369. package/src/recipes/sticker/create-sticker.ts +490 -0
  370. package/src/recipes/sticker/sticker.css +112 -0
  371. package/src/recipes/stretch-footer/README.md +0 -2
  372. package/src/recipes/stretch-footer/create-stretch-footer.ts +1 -1
  373. package/src/recipes/stretch-footer/stretch-footer.css +1 -1
  374. package/src/recipes/tabs/README.md +0 -2
  375. package/src/recipes/tabs/create-tabs.ts +1 -1
  376. package/src/recipes/text-roll/README.md +1 -3
  377. package/src/recipes/text-roll/create-text-roll.ts +3 -3
  378. package/src/recipes/text-roll/text-roll.css +1 -1
  379. package/src/recipes/thumbnail-nav/README.md +16 -0
  380. package/src/recipes/thumbnail-nav/create-thumbnail-nav.ts +165 -0
  381. package/src/recipes/thumbnail-nav/thumbnail-nav.css +108 -0
  382. package/src/recipes/ticket-menu/README.md +3 -3
  383. package/src/recipes/weight-hover/README.md +37 -0
  384. package/src/recipes/weight-hover/create-weight-hover.ts +136 -0
  385. package/src/recipes/weight-hover/weight-hover.css +7 -0
  386. package/src/recipes/words/README.md +0 -2
  387. package/src/recipes/words/create-words.ts +1 -1
  388. package/src/theme/generate.ts +1 -1
  389. package/src/theme/presets.ts +2 -2
  390. package/src/theme/theme.ts +1 -2
  391. package/dist/chunk-2BQGFOA7.js.map +0 -1
  392. package/dist/chunk-34XYOXHG.js.map +0 -1
  393. package/dist/chunk-6OJAP6ZL.js.map +0 -1
  394. package/dist/chunk-FS2HJVVY.js.map +0 -1
  395. package/dist/chunk-J27KH2A2.js.map +0 -1
  396. package/dist/chunk-KLY5BRRI.js.map +0 -1
  397. package/dist/chunk-Q4LVFNLN.js.map +0 -1
  398. package/dist/chunk-RFDIZYFX.js.map +0 -1
  399. /package/dist/{chunk-ABNRDDO7.js.map → chunk-I3DXF2KQ.js.map} +0 -0
package/registry.json CHANGED
@@ -4,233 +4,217 @@
4
4
  "entries": {
5
5
  "spring-cards": {
6
6
  "kind": "recipe",
7
- "description": "Cards fanned out that spring into place and get pushed by the pointer (spencergabor.com hero).",
7
+ "description": "Tarjetas que entran con resorte y responden al movimiento del puntero.",
8
8
  "files": ["recipes/spring-cards/create-spring-cards.ts", "recipes/spring-cards/spring-cards.css", "recipes/spring-cards/README.md"],
9
9
  "react": "react/use-spring-cards.ts",
10
10
  "since": "0.1.0"
11
11
  },
12
12
  "curved-carousel": {
13
13
  "kind": "recipe",
14
- "description": "Draggable carousel on an arc with inertia, snap, loop, wheel and keyboard (spencergabor.com).",
15
- "files": [
16
- "recipes/curved-carousel/create-curved-carousel.ts",
17
- "recipes/curved-carousel/curved-carousel.css",
18
- "recipes/curved-carousel/README.md"
19
- ],
14
+ "description": "Carrusel en arco con arrastre, inercia, snap, bucle, rueda y teclado.",
15
+ "files": ["recipes/curved-carousel/create-curved-carousel.ts", "recipes/curved-carousel/curved-carousel.css", "recipes/curved-carousel/README.md"],
20
16
  "react": "react/use-curved-carousel.ts",
21
17
  "since": "0.1.0"
22
18
  },
23
19
  "pile": {
24
20
  "kind": "recipe",
25
- "description": "Project shown as a pile of rotated layers that scales in when visible (spencergabor.com grid).",
21
+ "description": "Pila de tarjetas giradas que crece al entrar en pantalla.",
26
22
  "files": ["recipes/pile/create-pile.ts", "recipes/pile/pile.css", "recipes/pile/README.md"],
27
23
  "react": "react/use-pile.ts",
28
24
  "since": "0.1.0"
29
25
  },
30
26
  "words": {
31
27
  "kind": "recipe",
32
- "description": "Words or letters grow from the baseline with an elastic stagger (spencergabor.com headlines).",
28
+ "description": "Palabras o letras que crecen desde la base con entrada escalonada.",
33
29
  "files": ["recipes/words/create-words.ts", "recipes/words/README.md"],
34
30
  "react": "react/use-words.ts",
35
31
  "since": "0.1.0"
36
32
  },
37
33
  "flow": {
38
34
  "kind": "recipe",
39
- "description": "Children drop in from above, blurred, staggered (Stepbro flowIn).",
35
+ "description": "Entrada escalonada con desplazamiento, desenfoque y opacidad.",
40
36
  "files": ["recipes/flow/create-flow.ts", "recipes/flow/README.md"],
41
37
  "react": "react/use-flow.ts",
42
38
  "since": "0.1.0"
43
39
  },
44
40
  "pop": {
45
41
  "kind": "recipe",
46
- "description": "Single element pops in with an elastic scale.",
42
+ "description": "Aparición de un elemento mediante escala y rebote.",
47
43
  "files": ["recipes/pop/create-pop.ts", "recipes/pop/README.md"],
48
44
  "react": "react/use-pop.ts",
49
45
  "since": "0.1.0"
50
46
  },
51
47
  "fit-text": {
52
48
  "kind": "recipe",
53
- "description": "One-line text sized to fill its parent's width.",
49
+ "description": "Texto de una línea que se ajusta al ancho de su contenedor.",
54
50
  "files": ["recipes/fit-text/create-fit-text.ts", "recipes/fit-text/fit-text.css", "recipes/fit-text/README.md"],
55
51
  "react": "react/use-fit-text.ts",
56
52
  "since": "0.1.0"
57
53
  },
58
54
  "stretch-footer": {
59
55
  "kind": "recipe",
60
- "description": "Fixed footer revealed behind the page whose giant title stretches with the scroll (spencergabor.com).",
61
- "files": [
62
- "recipes/stretch-footer/create-stretch-footer.ts",
63
- "recipes/stretch-footer/stretch-footer.css",
64
- "recipes/stretch-footer/README.md"
65
- ],
56
+ "description": "Footer que aparece detrás de la página y estira su título con el scroll.",
57
+ "files": ["recipes/stretch-footer/create-stretch-footer.ts", "recipes/stretch-footer/stretch-footer.css", "recipes/stretch-footer/README.md"],
66
58
  "react": "react/use-stretch-footer.ts",
67
59
  "since": "0.1.0"
68
60
  },
69
61
  "radial-menu": {
70
62
  "kind": "recipe",
71
- "description": "Round toggle whose options fan out in an arc (spencergabor.com colour picker).",
63
+ "description": "Menú con opciones que se despliegan en arco alrededor de un botón.",
72
64
  "files": ["recipes/radial-menu/create-radial-menu.ts", "recipes/radial-menu/radial-menu.css", "recipes/radial-menu/README.md"],
73
65
  "react": "react/use-radial-menu.ts",
74
66
  "since": "0.1.0"
75
67
  },
76
68
  "pill": {
77
69
  "kind": "recipe",
78
- "description": "Pill button and hover stretch with elastic CSS transitions.",
70
+ "description": "Botón píldora y enlaces con respuesta de escala al interactuar.",
79
71
  "files": ["recipes/pill/pill.css", "recipes/pill/README.md"],
80
72
  "since": "0.1.0"
81
73
  },
82
74
  "tabs": {
83
75
  "kind": "recipe",
84
- "description": "Tabs whose indicator slides onto the selected tab on the signature curve (Stepbro PrettyTabs).",
76
+ "description": "Pestañas con indicador deslizante y navegación por teclado.",
85
77
  "files": ["recipes/tabs/create-tabs.ts", "recipes/tabs/tabs.css", "recipes/tabs/README.md"],
86
78
  "react": "react/use-tabs.ts",
87
79
  "since": "0.2.0"
88
80
  },
89
81
  "counter": {
90
82
  "kind": "recipe",
91
- "description": "Number that counts to its value from the one shown (Stepbro animated number).",
83
+ "description": "Contador que anima los cambios de valor con formato configurable.",
92
84
  "files": ["recipes/counter/create-counter.ts", "recipes/counter/README.md"],
93
85
  "react": "react/use-counter.ts",
94
86
  "since": "0.2.0"
95
87
  },
96
88
  "details": {
97
89
  "kind": "recipe",
98
- "description": "Disclosures that grow to their content and fade it in (Stepbro PrettyDetails).",
90
+ "description": "Paneles details con apertura y cierre animados.",
99
91
  "files": ["recipes/details/create-details.ts", "recipes/details/README.md"],
100
92
  "react": "react/use-details.ts",
101
93
  "since": "0.2.0"
102
94
  },
103
95
  "reveal": {
104
96
  "kind": "recipe",
105
- "description": "A veil in the surface colour opens like a wave from a point (Stepbro reveal).",
97
+ "description": "Revelado de una superficie desde un punto o elemento.",
106
98
  "files": ["recipes/reveal/create-reveal.ts", "recipes/reveal/README.md"],
107
99
  "react": "react/use-reveal.ts",
108
100
  "since": "0.2.0"
109
101
  },
110
102
  "reflow": {
111
103
  "kind": "recipe",
112
- "description": "List items travel to their new place on a spring; new ones grow in (Stepbro layout reflow).",
104
+ "description": "Transición de posición de elementos cuando cambia su distribución.",
113
105
  "files": ["recipes/reflow/create-reflow.ts", "recipes/reflow/README.md"],
114
106
  "react": "react/use-reflow.ts",
115
107
  "since": "0.2.0"
116
108
  },
117
109
  "slot-text": {
118
110
  "kind": "recipe",
119
- "description": "Letters roll out and in when the text changes, with a slight tilt (Stepbro SlotText).",
111
+ "description": "Texto cuyas letras ruedan al cambiar su contenido.",
120
112
  "files": ["recipes/slot-text/create-slot-text.ts", "recipes/slot-text/slot-text.css", "recipes/slot-text/README.md"],
121
113
  "react": "react/use-slot-text.ts",
122
114
  "since": "0.2.0"
123
115
  },
124
116
  "sortable": {
125
117
  "kind": "recipe",
126
- "description": "Drag to reorder (lists and kanban) with a tilting floating copy, neighbours that make room, auto-scroll and keyboard (Stepbro Tasks useDragReorder).",
118
+ "description": "Listas y kanban con reordenamiento por arrastre o teclado.",
127
119
  "files": ["recipes/sortable/create-sortable.ts", "recipes/sortable/sortable.css", "recipes/sortable/README.md"],
128
120
  "react": "react/use-sortable.ts",
129
121
  "since": "0.4.0"
130
122
  },
131
123
  "mask-text": {
132
124
  "kind": "recipe",
133
- "description": "Text rising out of its mask by lines, words or letters when it scrolls into view, hiding again when it leaves (OFFFICE masked type).",
125
+ "description": "Texto que aparece desde una máscara por líneas, palabras o caracteres.",
134
126
  "files": ["recipes/mask-text/create-mask-text.ts", "recipes/mask-text/README.md"],
135
127
  "react": "react/use-mask-text.ts",
136
128
  "since": "0.6.0"
137
129
  },
138
130
  "cascade": {
139
131
  "kind": "recipe",
140
- "description": "Rules, fades and rises entering one after another, 30 ms apart (Siena reveal group).",
132
+ "description": "Entrada escalonada de líneas, separadores y bloques.",
141
133
  "files": ["recipes/cascade/create-cascade.ts", "recipes/cascade/README.md"],
142
134
  "react": "react/use-cascade.ts",
143
135
  "since": "0.6.0"
144
136
  },
145
137
  "text-roll": {
146
138
  "kind": "recipe",
147
- "description": "A title whose letters spin like a slot machine and settle on themselves (Siena slot title).",
139
+ "description": "Letras que giran como un rodillo y regresan a su posición.",
148
140
  "files": ["recipes/text-roll/create-text-roll.ts", "recipes/text-roll/text-roll.css", "recipes/text-roll/README.md"],
149
141
  "react": "react/use-text-roll.ts",
150
142
  "since": "0.6.0"
151
143
  },
152
144
  "letters": {
153
145
  "kind": "recipe",
154
- "description": "Playful letters: springing up on hover or blinking in pastels (Dousan Miao hero).",
146
+ "description": "Letras que crecen al pasar el puntero o parpadean con una paleta.",
155
147
  "files": ["recipes/letters/create-letters.ts", "recipes/letters/README.md"],
156
148
  "react": "react/use-letters.ts",
157
149
  "since": "0.6.0"
158
150
  },
159
151
  "parallax": {
160
152
  "kind": "recipe",
161
- "description": "A picture travelling and scaled inside its clipped frame as it crosses the screen (Siena).",
153
+ "description": "Imagen que se desplaza y escala dentro de su marco con el scroll.",
162
154
  "files": ["recipes/parallax/create-parallax.ts", "recipes/parallax/README.md"],
163
155
  "react": "react/use-parallax.ts",
164
156
  "since": "0.6.0"
165
157
  },
166
158
  "depth-grid": {
167
159
  "kind": "recipe",
168
- "description": "Grid pictures arriving from far out and deep into the screen, assembled by the scroll (Siena About).",
160
+ "description": "Grid de imágenes que se reúne desde la profundidad con el scroll.",
169
161
  "files": ["recipes/depth-grid/create-depth-grid.ts", "recipes/depth-grid/README.md"],
170
162
  "react": "react/use-depth-grid.ts",
171
163
  "since": "0.6.0"
172
164
  },
173
165
  "frame-zoom": {
174
166
  "kind": "recipe",
175
- "description": "A frame closing like a window as it leaves while the picture inside grows; open() fills it (Siena video mask).",
167
+ "description": "Marco e imagen que escalan en direcciones opuestas con el scroll.",
176
168
  "files": ["recipes/frame-zoom/create-frame-zoom.ts", "recipes/frame-zoom/README.md"],
177
169
  "react": "react/use-frame-zoom.ts",
178
170
  "since": "0.6.0"
179
171
  },
180
172
  "contrast": {
181
173
  "kind": "recipe",
182
- "description": "Header tone from the section under the top 10 % of the screen (Siena).",
174
+ "description": "Cabecera que cambia de tono según la sección situada debajo.",
183
175
  "files": ["recipes/contrast/create-contrast.ts", "recipes/contrast/README.md"],
184
176
  "react": "react/use-contrast.ts",
185
177
  "since": "0.6.0"
186
178
  },
187
179
  "marquee": {
188
180
  "kind": "recipe",
189
- "description": "Seamless infinite strip, horizontal or vertical, 2 s per item (Siena).",
181
+ "description": "Banda continua horizontal o vertical con copias decorativas.",
190
182
  "files": ["recipes/marquee/create-marquee.ts", "recipes/marquee/marquee.css", "recipes/marquee/README.md"],
191
183
  "react": "react/use-marquee.ts",
192
184
  "since": "0.6.0"
193
185
  },
194
186
  "card-dock": {
195
187
  "kind": "recipe",
196
- "description": "iyo.ai's product dock: glass cards stacked behind the front one that spread out on hover, focus or a first tap, names sliding out.",
188
+ "description": "Tarjetas apiladas que se despliegan al señalar, enfocar o tocar.",
197
189
  "files": ["recipes/card-dock/create-card-dock.ts", "recipes/card-dock/card-dock.css", "recipes/card-dock/README.md"],
198
190
  "react": "react/use-card-dock.ts",
199
191
  "since": "0.7.0"
200
192
  },
201
193
  "snap-strip": {
202
194
  "kind": "recipe",
203
- "description": "iyo.ai's phone cards: a native scroll-snap strip that moves on every 5 s while on screen and waits after a touch.",
195
+ "description": "Tira de tarjetas con scroll-snap, autoplay y pausa al interactuar.",
204
196
  "files": ["recipes/snap-strip/create-snap-strip.ts", "recipes/snap-strip/snap-strip.css", "recipes/snap-strip/README.md"],
205
197
  "react": "react/use-snap-strip.ts",
206
198
  "since": "0.7.0"
207
199
  },
208
200
  "fill-text": {
209
201
  "kind": "recipe",
210
- "description": "iyo.ai's fill-text: letters go from 20 % to full one after another as the text scrolls up.",
202
+ "description": "Texto que se rellena progresivamente con el scroll.",
211
203
  "files": ["recipes/fill-text/create-fill-text.ts", "recipes/fill-text/README.md"],
212
204
  "react": "react/use-fill-text.ts",
213
205
  "since": "0.7.0"
214
206
  },
215
207
  "particle-hero": {
216
208
  "kind": "recipe",
217
- "description": "iyo.ai's particle hero (motion-kit/gl): GPU points settling on shifting Chladni patterns and drawing words, pushed by the pointer; Canvas2D fallback.",
218
- "files": [
219
- "gl/particle-hero/create-particle-hero.ts",
220
- "gl/particle-hero/shaders.ts",
221
- "gl/particle-hero/particle-hero.css",
222
- "gl/particle-hero/README.md"
223
- ],
209
+ "description": "Nube de partículas en GPU que forma palabras, con fallback Canvas2D.",
210
+ "files": ["gl/particle-hero/create-particle-hero.ts", "gl/particle-hero/shaders.ts", "gl/particle-hero/particle-hero.css", "gl/particle-hero/README.md"],
224
211
  "react": "react/use-particle-hero.ts",
225
212
  "since": "0.7.0"
226
213
  },
227
214
  "ticket-menu": {
228
215
  "kind": "recipe",
229
- "description": "Menú boleto de Siena sobre menu: recorte, filas escalonadas, teclado y foco.",
230
- "files": [
231
- "recipes/ticket-menu/create-ticket-menu.ts",
232
- "recipes/ticket-menu/README.md"
233
- ],
216
+ "description": "Menú boleto con recorte de apertura, filas escalonadas, foco y teclado.",
217
+ "files": ["recipes/ticket-menu/create-ticket-menu.ts", "recipes/ticket-menu/README.md"],
234
218
  "react": "react/use-ticket-menu.ts",
235
219
  "requires": [
236
220
  "menu"
@@ -239,146 +223,83 @@
239
223
  },
240
224
  "infinite-reel": {
241
225
  "kind": "recipe",
242
- "description": "Reel infinito horizontal o vertical con rueda, arrastre e inercia (Siena).",
243
- "files": [
244
- "recipes/infinite-reel/create-infinite-reel.ts",
245
- "recipes/infinite-reel/infinite-reel.css",
246
- "recipes/infinite-reel/README.md"
247
- ],
226
+ "description": "Reel infinito horizontal o vertical con rueda, arrastre e inercia.",
227
+ "files": ["recipes/infinite-reel/create-infinite-reel.ts", "recipes/infinite-reel/infinite-reel.css", "recipes/infinite-reel/README.md"],
248
228
  "react": "react/use-infinite-reel.ts",
249
229
  "since": "0.8.0"
250
230
  },
251
231
  "repel-bento": {
252
232
  "kind": "recipe",
253
- "description": "Bento con entrada spring y repulsión de tarjetas vecinas (Dousan).",
254
- "files": [
255
- "recipes/repel-bento/create-repel-bento.ts",
256
- "recipes/repel-bento/repel-bento.css",
257
- "recipes/repel-bento/README.md"
258
- ],
233
+ "description": "Grid bento con entrada de resorte y repulsión entre tarjetas.",
234
+ "files": ["recipes/repel-bento/create-repel-bento.ts", "recipes/repel-bento/repel-bento.css", "recipes/repel-bento/README.md"],
259
235
  "react": "react/use-repel-bento.ts",
260
236
  "since": "0.8.0"
261
237
  },
262
238
  "rotator": {
263
239
  "kind": "recipe",
264
- "description": "Rotador de testimonios con autoplay, pausa al enfocar y controles manuales (Dousan).",
265
- "files": [
266
- "recipes/rotator/create-rotator.ts",
267
- "recipes/rotator/rotator.css",
268
- "recipes/rotator/README.md"
269
- ],
240
+ "description": "Rotador de contenido con autoplay, controles y pausa al enfocar o señalar.",
241
+ "files": ["recipes/rotator/create-rotator.ts", "recipes/rotator/rotator.css", "recipes/rotator/README.md"],
270
242
  "react": "react/use-rotator.ts",
271
243
  "since": "0.8.0"
272
244
  },
273
245
  "drag-ruler": {
274
246
  "kind": "recipe",
275
- "description": "Regla numérica arrastrable de 60 px por unidad, paso y teclado (Dousan).",
276
- "files": [
277
- "recipes/drag-ruler/create-drag-ruler.ts",
278
- "recipes/drag-ruler/drag-ruler.css",
279
- "recipes/drag-ruler/README.md"
280
- ],
247
+ "description": "Regla numérica con arrastre, límites, paso y teclado.",
248
+ "files": ["recipes/drag-ruler/create-drag-ruler.ts", "recipes/drag-ruler/drag-ruler.css", "recipes/drag-ruler/README.md"],
281
249
  "react": "react/use-drag-ruler.ts",
282
250
  "since": "0.8.0"
283
251
  },
284
252
  "dock-pill": {
285
253
  "kind": "recipe",
286
- "description": "Indicador spring que sigue la opción activa de un dock (Dousan).",
287
- "files": [
288
- "recipes/dock-pill/create-dock-pill.ts",
289
- "recipes/dock-pill/dock-pill.css",
290
- "recipes/dock-pill/README.md"
291
- ],
254
+ "description": "Indicador con resorte que sigue la opción activa de un dock.",
255
+ "files": ["recipes/dock-pill/create-dock-pill.ts", "recipes/dock-pill/dock-pill.css", "recipes/dock-pill/README.md"],
292
256
  "react": "react/use-dock-pill.ts",
293
257
  "since": "0.8.0"
294
258
  },
295
259
  "liquid-blend": {
296
260
  "kind": "recipe",
297
- "description": "Mezcla de dos texturas con deformación UV (OFFFICE, adaptación).",
298
- "files": [
299
- "gl/liquid-blend/create-liquid-blend.ts",
300
- "gl/liquid-blend/shader.ts",
301
- "gl/shared/shader.css",
302
- "gl/liquid-blend/README.md"
303
- ],
261
+ "description": "Mezcla de dos imágenes con deformación de sus coordenadas UV.",
262
+ "files": ["gl/liquid-blend/create-liquid-blend.ts", "gl/liquid-blend/shader.ts", "gl/shared/shader.css", "gl/liquid-blend/README.md"],
304
263
  "react": "react/use-liquid-blend.ts",
305
264
  "since": "0.9.0"
306
265
  },
307
266
  "matcap": {
308
267
  "kind": "recipe",
309
- "description": "Superficie esférica iluminada con matcap y hemisferio (OFFFICE, adaptación).",
310
- "files": [
311
- "gl/matcap/create-matcap.ts",
312
- "gl/matcap/shader.ts",
313
- "gl/shared/shader.css",
314
- "gl/matcap/README.md"
315
- ],
268
+ "description": "Superficie esférica iluminada con un mapa de material y luz hemisférica.",
269
+ "files": ["gl/matcap/create-matcap.ts", "gl/matcap/shader.ts", "gl/shared/shader.css", "gl/matcap/README.md"],
316
270
  "react": "react/use-matcap.ts",
317
271
  "since": "0.9.0"
318
272
  },
319
273
  "shader-grain": {
320
274
  "kind": "recipe",
321
- "description": "Grano de película animado por shader, intensidad .07 (Siena).",
322
- "files": [
323
- "gl/shader-grain/create-shader-grain.ts",
324
- "gl/shader-grain/shader.ts",
325
- "gl/shared/shader.css",
326
- "gl/shader-grain/README.md"
327
- ],
275
+ "description": "Grano de película generado y animado mediante shader.",
276
+ "files": ["gl/shader-grain/create-shader-grain.ts", "gl/shader-grain/shader.ts", "gl/shared/shader.css", "gl/shader-grain/README.md"],
328
277
  "react": "react/use-shader-grain.ts",
329
278
  "since": "0.9.0"
330
279
  },
331
280
  "shader-blur": {
332
281
  "kind": "recipe",
333
- "description": "Desenfoque direccional de siete muestras por shader (Siena).",
334
- "files": [
335
- "gl/shader-blur/create-shader-blur.ts",
336
- "gl/shader-blur/shader.ts",
337
- "gl/shared/shader.css",
338
- "gl/shader-blur/README.md"
339
- ],
282
+ "description": "Desenfoque direccional de siete muestras mediante shader.",
283
+ "files": ["gl/shader-blur/create-shader-blur.ts", "gl/shader-blur/shader.ts", "gl/shared/shader.css", "gl/shader-blur/README.md"],
340
284
  "react": "react/use-shader-blur.ts",
341
285
  "since": "0.9.0"
342
286
  },
343
287
  "controls": {
344
288
  "kind": "controls",
345
- "description": "CSS-only controls in the Stepbro line: button (rolling label, press squash), field, switch, checkbox, chip, segmented, icon, burger; Dousan's glass.",
346
- "files": [
347
- "css/controls/button.css",
348
- "css/controls/field.css",
349
- "css/controls/switch.css",
350
- "css/controls/checkbox.css",
351
- "css/controls/chip.css",
352
- "css/controls/segmented.css",
353
- "css/controls/icon.css",
354
- "css/controls/glass.css",
355
- "css/controls/burger.css",
356
- "css/controls/README.md"
357
- ],
289
+ "description": "Controles CSS: botones, campos, switches, checkboxes, chips, iconos y cristal.",
290
+ "files": ["css/controls/button.css", "css/controls/field.css", "css/controls/switch.css", "css/controls/checkbox.css", "css/controls/chip.css", "css/controls/segmented.css", "css/controls/icon.css", "css/controls/glass.css", "css/controls/burger.css", "css/controls/status.css", "css/controls/README.md"],
358
291
  "since": "0.2.0"
359
292
  },
360
293
  "effects": {
361
294
  "kind": "effects",
362
- "description": "Stepbro's utility animations (exits, shake, highlight, loading sweeps, gradient text), Dousan's progressive frost, floating, film grain and success confetti, Siena's edge fades; animate() and leave() replay them.",
363
- "files": [
364
- "css/effects/anim.css",
365
- "css/effects/loading.css",
366
- "css/effects/text.css",
367
- "css/effects/frost.css",
368
- "css/effects/float.css",
369
- "css/effects/grain.css",
370
- "css/effects/success.css",
371
- "css/effects/fade.css",
372
- "motion/effects.ts",
373
- "motion/confetti.ts",
374
- "css/effects/README.md"
375
- ],
295
+ "description": "Efectos CSS y funciones para entradas, salidas, carga, blur, flotación y confeti.",
296
+ "files": ["css/effects/anim.css", "css/effects/loading.css", "css/effects/text.css", "css/effects/frost.css", "css/effects/float.css", "css/effects/grain.css", "css/effects/success.css", "css/effects/fade.css", "motion/effects.ts", "motion/confetti.ts", "css/effects/README.md"],
376
297
  "react": "react/frost.tsx",
377
298
  "since": "0.5.0"
378
299
  },
379
300
  "theme-picker": {
380
301
  "kind": "component",
381
- "description": "Stepbro theme picker: colour balls that pop in and morph into a rounded square when chosen; applies the theme.",
302
+ "description": "Selector de temas con muestras de color y selección animada.",
382
303
  "files": ["components/theme-picker/engine.ts", "components/theme-picker/theme-picker.css", "components/theme-picker/README.md"],
383
304
  "element": "components/theme-picker/element.ts",
384
305
  "react": "components/theme-picker/react.tsx",
@@ -386,7 +307,7 @@
386
307
  },
387
308
  "dialog": {
388
309
  "kind": "component",
389
- "description": "Stepbro dialog on native <dialog>: grows out of its button (morph or liquid), shared items, auto-resize, drag to dismiss, floating window.",
310
+ "description": "Diálogo con apertura desde un botón, variantes morph, liquid y sheet, y gestos.",
390
311
  "files": ["components/dialog/engine.ts", "components/dialog/dialog.css", "components/dialog/README.md"],
391
312
  "element": "components/dialog/element.ts",
392
313
  "react": "components/dialog/react.tsx",
@@ -394,16 +315,18 @@
394
315
  },
395
316
  "menu": {
396
317
  "kind": "component",
397
- "description": "Stepbro options menu: translucent anchored panel that grows out of its button; options cascade in.",
318
+ "description": "Menú de opciones anclado a un botón, con entrada escalonada y teclado.",
398
319
  "files": ["components/menu/engine.ts", "components/menu/menu.css", "components/menu/README.md"],
399
320
  "element": "components/menu/element.ts",
400
321
  "react": "components/menu/react.tsx",
401
- "requires": ["dialog"],
322
+ "requires": [
323
+ "dialog"
324
+ ],
402
325
  "since": "0.3.0"
403
326
  },
404
327
  "toast": {
405
328
  "kind": "component",
406
- "description": "Stepbro toast deck: stack that opens on hover, grows out of its button, letters rise, swipe to dismiss.",
329
+ "description": "Pila de notificaciones con apertura desde un botón y gestos para descartar.",
407
330
  "files": ["components/toast/engine.ts", "components/toast/store.ts", "components/toast/toast.css", "components/toast/README.md"],
408
331
  "element": "components/toast/element.ts",
409
332
  "react": "components/toast/react.tsx",
@@ -411,29 +334,26 @@
411
334
  },
412
335
  "chat-background": {
413
336
  "kind": "component",
414
- "description": "Stepbro chat background: two orbiting blobs and a grain; energy (microphone, busy) speeds and grows them.",
415
- "files": [
416
- "components/chat-background/engine.ts",
417
- "components/chat-background/audio.ts",
418
- "components/chat-background/chat-background.css",
419
- "components/chat-background/README.md"
420
- ],
337
+ "description": "Fondo de manchas animadas cuya energía puede seguir al micrófono.",
338
+ "files": ["components/chat-background/engine.ts", "components/chat-background/audio.ts", "components/chat-background/chat-background.css", "components/chat-background/README.md"],
421
339
  "element": "components/chat-background/element.ts",
422
340
  "react": "components/chat-background/react.tsx",
423
341
  "since": "0.4.0"
424
342
  },
425
343
  "chat": {
426
344
  "kind": "component",
427
- "description": "Stepbro chat: glass bubbles that grow from their side with rising words, a delayed \"Pensando…\" that morphs into the reply, a composer that grows.",
345
+ "description": "Chat con burbujas animadas, estado de espera y campo de entrada adaptable.",
428
346
  "files": ["components/chat/engine.ts", "components/chat/chat.css", "components/chat/README.md"],
429
347
  "element": "components/chat/element.ts",
430
348
  "react": "components/chat/react.tsx",
431
- "requires": ["chat-background"],
349
+ "requires": [
350
+ "chat-background"
351
+ ],
432
352
  "since": "0.4.0"
433
353
  },
434
354
  "nav": {
435
355
  "kind": "component",
436
- "description": "Stepbro navigation: seven desktop styles (Clásica, Bonita, Dock, Guapa, Tasks, Melon, Tunnel), one glass bar on phones, app shell.",
356
+ "description": "Navegación con siete estilos de escritorio y una barra de cristal en móvil.",
437
357
  "files": ["components/nav/engine.ts", "components/nav/nav.css", "components/nav/README.md"],
438
358
  "element": "components/nav/element.ts",
439
359
  "react": "components/nav/react.tsx",
@@ -441,29 +361,183 @@
441
361
  },
442
362
  "steps": {
443
363
  "kind": "component",
444
- "description": "Stepbro onboarding: one step at a time, items flow out and in, the counter rolls, the background works while busy.",
364
+ "description": "Flujo por pasos con transiciones, contador, foco y estado ocupado.",
445
365
  "files": ["components/steps/engine.ts", "components/steps/steps.css", "components/steps/README.md"],
446
366
  "element": "components/steps/element.ts",
447
367
  "react": "components/steps/react.tsx",
448
- "requires": ["chat-background"],
368
+ "requires": [
369
+ "chat-background"
370
+ ],
449
371
  "since": "0.4.0"
450
372
  },
451
373
  "cursor": {
452
374
  "kind": "component",
453
- "description": "Two cursors: Dousan's glass chip that follows the pointer over [data-mk-cursor], and Siena's dot that replaces it inside a zone.",
375
+ "description": "Cursor de cristal con texto o círculo que sigue al puntero en una zona.",
454
376
  "files": ["components/cursor/engine.ts", "components/cursor/cursor.css", "components/cursor/README.md"],
455
377
  "element": "components/cursor/element.ts",
456
378
  "react": "components/cursor/react.tsx",
457
- "requires": ["controls"],
379
+ "requires": [
380
+ "controls"
381
+ ],
458
382
  "since": "0.6.0"
459
383
  },
460
384
  "island": {
461
385
  "kind": "component",
462
- "description": "iyo.ai's floating navbar: a frosted glass pill that grows into a panel (grid rows), darkens the page and staggers its rows; menu and cart share the shell.",
386
+ "description": "Barra flotante de cristal que se expande en paneles de menú y carrito.",
463
387
  "files": ["components/island/engine.ts", "components/island/island.css", "components/island/README.md"],
464
388
  "element": "components/island/element.ts",
465
389
  "react": "components/island/react.tsx",
466
390
  "since": "0.7.0"
391
+ },
392
+ "quantity": {
393
+ "kind": "component",
394
+ "description": "Selector numérico con límites, botones de mordida y edición accesible.",
395
+ "files": ["components/quantity/engine.ts", "components/quantity/quantity.css", "components/quantity/README.md"],
396
+ "element": "components/quantity/element.ts",
397
+ "react": "components/quantity/react.tsx",
398
+ "since": "0.10.0"
399
+ },
400
+ "pagination": {
401
+ "kind": "component",
402
+ "description": "Paginación con elipsis, controles animados y navegación por teclado.",
403
+ "files": ["components/pagination/engine.ts", "components/pagination/pagination.css", "components/pagination/README.md"],
404
+ "element": "components/pagination/element.ts",
405
+ "react": "components/pagination/react.tsx",
406
+ "since": "0.10.0"
407
+ },
408
+ "hover-card": {
409
+ "kind": "component",
410
+ "description": "Vista previa con apertura por puntero, foco o toque y cierre con Escape.",
411
+ "files": ["components/hover-card/engine.ts", "components/hover-card/hover-card.css", "components/hover-card/README.md"],
412
+ "element": "components/hover-card/element.ts",
413
+ "react": "components/hover-card/react.tsx",
414
+ "since": "0.10.0"
415
+ },
416
+ "input-otp": {
417
+ "kind": "component",
418
+ "description": "Código OTP con input nativo, slots animados, pegado y autocompletado.",
419
+ "files": ["components/input-otp/engine.ts", "components/input-otp/input-otp.css", "components/input-otp/README.md"],
420
+ "element": "components/input-otp/element.ts",
421
+ "react": "components/input-otp/react.tsx",
422
+ "since": "0.10.0"
423
+ },
424
+ "joined-cta": {
425
+ "kind": "recipe",
426
+ "description": "Tres cápsulas de contacto que se unen al señalar o enfocar.",
427
+ "files": ["recipes/joined-cta/create-joined-cta.ts", "recipes/joined-cta/joined-cta.css", "recipes/joined-cta/README.md"],
428
+ "react": "react/use-joined-cta.ts",
429
+ "since": "0.10.0"
430
+ },
431
+ "image-zoom": {
432
+ "kind": "recipe",
433
+ "description": "Zoom opuesto del marco y la imagen al señalar o enfocar.",
434
+ "files": ["recipes/image-zoom/create-image-zoom.ts", "recipes/image-zoom/image-zoom.css", "recipes/image-zoom/README.md"],
435
+ "react": "react/use-image-zoom.ts",
436
+ "since": "0.10.0"
437
+ },
438
+ "font-cycle": {
439
+ "kind": "recipe",
440
+ "description": "Tipografía variable por carácter con rodillo y overlay opcional.",
441
+ "files": ["recipes/font-cycle/create-font-cycle.ts", "recipes/font-cycle/font-cycle.css", "recipes/font-cycle/README.md"],
442
+ "react": "react/use-font-cycle.ts",
443
+ "since": "0.10.0"
444
+ },
445
+ "thumbnail-nav": {
446
+ "kind": "recipe",
447
+ "description": "Navegador de categorías en cápsula con miniaturas y teclado.",
448
+ "files": ["recipes/thumbnail-nav/create-thumbnail-nav.ts", "recipes/thumbnail-nav/thumbnail-nav.css", "recipes/thumbnail-nav/README.md"],
449
+ "react": "react/use-thumbnail-nav.ts",
450
+ "since": "0.10.0"
451
+ },
452
+ "action-button": {
453
+ "kind": "recipe",
454
+ "description": "Botones dibujados, iconos y etiquetas de cine con respuesta al pulsar.",
455
+ "files": ["recipes/action-button/create-action-button.ts", "recipes/action-button/action-button.css", "recipes/action-button/README.md"],
456
+ "react": "react/use-action-button.ts",
457
+ "since": "0.10.0"
458
+ },
459
+ "film-hero": {
460
+ "kind": "recipe",
461
+ "description": "Hero cinematográfico con revelado de líneas y desplazamiento de medios.",
462
+ "files": ["recipes/film-hero/create-film-hero.ts", "recipes/film-hero/film-hero.css", "recipes/film-hero/README.md"],
463
+ "react": "react/use-film-hero.ts",
464
+ "since": "0.10.0"
465
+ },
466
+ "editorial-reveal": {
467
+ "kind": "recipe",
468
+ "description": "Composición editorial de hero, tarjetas y contacto con entradas escalonadas.",
469
+ "files": ["recipes/editorial-reveal/create-editorial-reveal.ts", "recipes/editorial-reveal/editorial-reveal.css", "recipes/editorial-reveal/README.md"],
470
+ "react": "react/use-editorial-reveal.ts",
471
+ "since": "0.10.0",
472
+ "requires": [
473
+ "mask-text",
474
+ "cascade",
475
+ "parallax",
476
+ "contrast"
477
+ ]
478
+ },
479
+ "studio-dock": {
480
+ "kind": "component",
481
+ "description": "Dock de estudio que se transforma en panel bento con páginas y contacto.",
482
+ "files": ["components/studio-dock/engine.ts", "components/studio-dock/studio-dock.css", "components/studio-dock/README.md"],
483
+ "react": "components/studio-dock/react.tsx",
484
+ "element": "components/studio-dock/element.ts",
485
+ "since": "0.10.0"
486
+ },
487
+ "trailer": {
488
+ "kind": "component",
489
+ "description": "Reproductor de video en modal con controles accesibles y retorno de foco.",
490
+ "files": ["components/trailer/engine.ts", "components/trailer/trailer.css", "components/trailer/README.md"],
491
+ "react": "components/trailer/react.tsx",
492
+ "element": "components/trailer/element.ts",
493
+ "since": "0.10.0",
494
+ "requires": [
495
+ "dialog"
496
+ ]
497
+ },
498
+ "calendar": {
499
+ "kind": "component",
500
+ "description": "Calendario de mes y semana con eventos, entrada escalonada de días y deslizamiento al navegar (Melon Mind).",
501
+ "files": ["components/calendar/engine.ts", "components/calendar/calendar.css", "components/calendar/README.md"],
502
+ "element": "components/calendar/element.ts",
503
+ "react": "components/calendar/react.tsx",
504
+ "since": "0.10.0"
505
+ },
506
+ "slot-picker": {
507
+ "kind": "component",
508
+ "description": "Selector de día y horario para citas o reservas: horarios que se deslizan al cambiar de día (Melon Mind).",
509
+ "files": ["components/slot-picker/engine.ts", "components/slot-picker/slot-picker.css", "components/slot-picker/README.md"],
510
+ "element": "components/slot-picker/element.ts",
511
+ "react": "components/slot-picker/react.tsx",
512
+ "since": "0.10.0"
513
+ },
514
+ "weight-hover": {
515
+ "kind": "recipe",
516
+ "description": "Peso variable por letra que baja al acercarse el puntero (DOVV Studio).",
517
+ "files": ["recipes/weight-hover/create-weight-hover.ts", "recipes/weight-hover/weight-hover.css", "recipes/weight-hover/README.md"],
518
+ "react": "react/use-weight-hover.ts",
519
+ "since": "0.10.0"
520
+ },
521
+ "sticker": {
522
+ "kind": "recipe",
523
+ "description": "Sticker holográfico troquelado que se despega, se arrastra y cae (DOVV Studio).",
524
+ "files": ["recipes/sticker/create-sticker.ts", "recipes/sticker/sticker.css", "recipes/sticker/README.md"],
525
+ "react": "react/use-sticker.ts",
526
+ "since": "0.10.0"
527
+ },
528
+ "scroll-dock": {
529
+ "kind": "recipe",
530
+ "description": "Cápsula de navegación que sube al hacer scroll y se esconde en el footer (DOVV Studio).",
531
+ "files": ["recipes/scroll-dock/create-scroll-dock.ts", "recipes/scroll-dock/scroll-dock.css", "recipes/scroll-dock/README.md"],
532
+ "react": "react/use-scroll-dock.ts",
533
+ "since": "0.10.0"
534
+ },
535
+ "local-clock": {
536
+ "kind": "recipe",
537
+ "description": "Hora en vivo de una zona horaria, actualizada al cambiar el minuto (DOVV Studio).",
538
+ "files": ["recipes/local-clock/create-local-clock.ts", "recipes/local-clock/README.md"],
539
+ "react": "react/use-local-clock.ts",
540
+ "since": "0.10.0"
467
541
  }
468
542
  }
469
543
  }