@yewdiel21/motion-kit 0.0.0-stage → 0.9.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 (391) hide show
  1. package/NOTICE +38 -0
  2. package/README.md +80 -2
  3. package/bin/motion-kit.mjs +242 -0
  4. package/css.d.ts +2 -0
  5. package/dist/auto/index.d.ts +63 -0
  6. package/dist/auto/index.js +207 -0
  7. package/dist/auto/index.js.map +1 -0
  8. package/dist/chunk-2BQGFOA7.js +177 -0
  9. package/dist/chunk-2BQGFOA7.js.map +1 -0
  10. package/dist/chunk-34XYOXHG.js +2374 -0
  11. package/dist/chunk-34XYOXHG.js.map +1 -0
  12. package/dist/chunk-6OJAP6ZL.js +832 -0
  13. package/dist/chunk-6OJAP6ZL.js.map +1 -0
  14. package/dist/chunk-ABNRDDO7.js +28 -0
  15. package/dist/chunk-ABNRDDO7.js.map +1 -0
  16. package/dist/chunk-FS2HJVVY.js +3320 -0
  17. package/dist/chunk-FS2HJVVY.js.map +1 -0
  18. package/dist/chunk-J27KH2A2.js +157 -0
  19. package/dist/chunk-J27KH2A2.js.map +1 -0
  20. package/dist/chunk-KLY5BRRI.js +18 -0
  21. package/dist/chunk-KLY5BRRI.js.map +1 -0
  22. package/dist/chunk-Q4LVFNLN.js +1617 -0
  23. package/dist/chunk-Q4LVFNLN.js.map +1 -0
  24. package/dist/chunk-RFDIZYFX.js +304 -0
  25. package/dist/chunk-RFDIZYFX.js.map +1 -0
  26. package/dist/chunk-TGV27ZWM.js +17 -0
  27. package/dist/chunk-TGV27ZWM.js.map +1 -0
  28. package/dist/confetti-BSX1CLLV.d.ts +41 -0
  29. package/dist/css/components/chat-background.css +87 -0
  30. package/dist/css/components/chat.css +237 -0
  31. package/dist/css/components/cursor.css +178 -0
  32. package/dist/css/components/dialog.css +259 -0
  33. package/dist/css/components/island.css +301 -0
  34. package/dist/css/components/menu.css +105 -0
  35. package/dist/css/components/nav.css +1054 -0
  36. package/dist/css/components/steps.css +50 -0
  37. package/dist/css/components/theme-picker.css +115 -0
  38. package/dist/css/components/toast.css +115 -0
  39. package/dist/css/controls.css +950 -0
  40. package/dist/css/effects.css +587 -0
  41. package/dist/css/fonts.css +3 -0
  42. package/dist/css/themes/black-green.css +126 -0
  43. package/dist/css/themes/black.css +126 -0
  44. package/dist/css/themes/blue.css +126 -0
  45. package/dist/css/themes/brown.css +126 -0
  46. package/dist/css/themes/cold-blue.css +126 -0
  47. package/dist/css/themes/funny.css +126 -0
  48. package/dist/css/themes/gray.css +126 -0
  49. package/dist/css/themes/green.css +126 -0
  50. package/dist/css/themes/modern-1.css +126 -0
  51. package/dist/css/themes/neogreen.css +126 -0
  52. package/dist/css/themes/new.css +126 -0
  53. package/dist/css/themes/new2.css +126 -0
  54. package/dist/css/themes/oled.css +126 -0
  55. package/dist/css/themes/orange.css +126 -0
  56. package/dist/css/themes/pastel-pink.css +126 -0
  57. package/dist/css/themes/pink.css +126 -0
  58. package/dist/css/themes/purple.css +126 -0
  59. package/dist/css/themes/red.css +126 -0
  60. package/dist/css/themes/super-blue.css +126 -0
  61. package/dist/css/themes.css +2431 -0
  62. package/dist/css/tokens.css +452 -0
  63. package/dist/elements/index.d.ts +183 -0
  64. package/dist/elements/index.js +472 -0
  65. package/dist/elements/index.js.map +1 -0
  66. package/dist/engine-CUr9QijM.d.ts +46 -0
  67. package/dist/gl/index.d.ts +61 -0
  68. package/dist/gl/index.js +18 -0
  69. package/dist/gl/index.js.map +1 -0
  70. package/dist/index.css +5296 -0
  71. package/dist/index.d.ts +440 -0
  72. package/dist/index.js +390 -0
  73. package/dist/index.js.map +1 -0
  74. package/dist/react/index.d.ts +476 -0
  75. package/dist/react/index.js +969 -0
  76. package/dist/react/index.js.map +1 -0
  77. package/dist/reduced-BM4Ls0g5.d.ts +566 -0
  78. package/dist/reveal-WFUWDrei.d.ts +416 -0
  79. package/dist/store-Bqy_obnD.d.ts +195 -0
  80. package/dist/theme/generate.d.ts +18 -0
  81. package/dist/theme/generate.js +64 -0
  82. package/dist/theme/generate.js.map +1 -0
  83. package/dist/theme/index.d.ts +17 -0
  84. package/dist/theme/index.js +32 -0
  85. package/dist/theme/index.js.map +1 -0
  86. package/dist/theme-BFMoCzi6.d.ts +158 -0
  87. package/dist/types-BkS_raL8.d.ts +7 -0
  88. package/package.json +114 -3
  89. package/registry.json +469 -0
  90. package/skills/motion-kit/SKILL.md +189 -0
  91. package/skills/motion-kit/reference/components.md +86 -0
  92. package/skills/motion-kit/reference/design.md +92 -0
  93. package/skills/motion-kit/reference/recipes.md +172 -0
  94. package/src/auto/auto-init.ts +151 -0
  95. package/src/auto/index.ts +3 -0
  96. package/src/auto/parse-options.ts +68 -0
  97. package/src/components/chat/README.md +90 -0
  98. package/src/components/chat/chat.css +236 -0
  99. package/src/components/chat/element.ts +98 -0
  100. package/src/components/chat/engine.ts +295 -0
  101. package/src/components/chat/react.tsx +196 -0
  102. package/src/components/chat-background/README.md +50 -0
  103. package/src/components/chat-background/audio.ts +56 -0
  104. package/src/components/chat-background/chat-background.css +86 -0
  105. package/src/components/chat-background/element.ts +31 -0
  106. package/src/components/chat-background/engine.ts +108 -0
  107. package/src/components/chat-background/react.tsx +36 -0
  108. package/src/components/cursor/README.md +53 -0
  109. package/src/components/cursor/cursor.css +177 -0
  110. package/src/components/cursor/element.ts +23 -0
  111. package/src/components/cursor/engine.ts +254 -0
  112. package/src/components/cursor/react.tsx +26 -0
  113. package/src/components/dialog/README.md +106 -0
  114. package/src/components/dialog/dialog.css +258 -0
  115. package/src/components/dialog/element.ts +118 -0
  116. package/src/components/dialog/engine.ts +432 -0
  117. package/src/components/dialog/react.tsx +200 -0
  118. package/src/components/icon.tsx +10 -0
  119. package/src/components/icons.ts +24 -0
  120. package/src/components/island/README.md +91 -0
  121. package/src/components/island/element.ts +45 -0
  122. package/src/components/island/engine.ts +200 -0
  123. package/src/components/island/island.css +300 -0
  124. package/src/components/island/react.tsx +115 -0
  125. package/src/components/menu/README.md +67 -0
  126. package/src/components/menu/element.ts +55 -0
  127. package/src/components/menu/engine.ts +142 -0
  128. package/src/components/menu/menu.css +104 -0
  129. package/src/components/menu/react.tsx +82 -0
  130. package/src/components/nav/README.md +85 -0
  131. package/src/components/nav/element.ts +39 -0
  132. package/src/components/nav/engine.ts +164 -0
  133. package/src/components/nav/nav.css +1053 -0
  134. package/src/components/nav/react.tsx +90 -0
  135. package/src/components/steps/README.md +70 -0
  136. package/src/components/steps/element.ts +43 -0
  137. package/src/components/steps/engine.ts +185 -0
  138. package/src/components/steps/react.tsx +91 -0
  139. package/src/components/steps/steps.css +49 -0
  140. package/src/components/theme-picker/README.md +57 -0
  141. package/src/components/theme-picker/element.ts +20 -0
  142. package/src/components/theme-picker/engine.ts +91 -0
  143. package/src/components/theme-picker/react.tsx +31 -0
  144. package/src/components/theme-picker/theme-picker.css +114 -0
  145. package/src/components/toast/README.md +60 -0
  146. package/src/components/toast/element.ts +25 -0
  147. package/src/components/toast/engine.ts +483 -0
  148. package/src/components/toast/react.tsx +22 -0
  149. package/src/components/toast/store.ts +122 -0
  150. package/src/components/toast/toast.css +114 -0
  151. package/src/core/channels.ts +165 -0
  152. package/src/core/curves.ts +35 -0
  153. package/src/core/frame.ts +12 -0
  154. package/src/core/gsap.ts +65 -0
  155. package/src/core/loop.ts +44 -0
  156. package/src/core/math.ts +9 -0
  157. package/src/core/physics-spring.ts +59 -0
  158. package/src/core/pointer.ts +63 -0
  159. package/src/core/reduced.ts +21 -0
  160. package/src/core/scope.ts +70 -0
  161. package/src/core/scroll-track.ts +106 -0
  162. package/src/core/split.ts +68 -0
  163. package/src/core/spring.ts +22 -0
  164. package/src/core/styles.ts +31 -0
  165. package/src/core/timing.ts +204 -0
  166. package/src/core/types.ts +20 -0
  167. package/src/core/visible.ts +19 -0
  168. package/src/css/base.css +142 -0
  169. package/src/css/controls/README.md +122 -0
  170. package/src/css/controls/burger.css +67 -0
  171. package/src/css/controls/button.css +226 -0
  172. package/src/css/controls/checkbox.css +53 -0
  173. package/src/css/controls/chip.css +85 -0
  174. package/src/css/controls/field.css +124 -0
  175. package/src/css/controls/glass.css +220 -0
  176. package/src/css/controls/icon.css +26 -0
  177. package/src/css/controls/segmented.css +60 -0
  178. package/src/css/controls/switch.css +72 -0
  179. package/src/css/default-theme.css +123 -0
  180. package/src/css/effects/README.md +134 -0
  181. package/src/css/effects/anim.css +224 -0
  182. package/src/css/effects/fade.css +15 -0
  183. package/src/css/effects/float.css +64 -0
  184. package/src/css/effects/frost.css +62 -0
  185. package/src/css/effects/grain.css +58 -0
  186. package/src/css/effects/loading.css +60 -0
  187. package/src/css/effects/success.css +22 -0
  188. package/src/css/effects/text.css +67 -0
  189. package/src/css/fonts.css +3 -0
  190. package/src/css/states.css +51 -0
  191. package/src/css/themes/black-green.css +126 -0
  192. package/src/css/themes/black.css +126 -0
  193. package/src/css/themes/blue.css +126 -0
  194. package/src/css/themes/brown.css +126 -0
  195. package/src/css/themes/cold-blue.css +126 -0
  196. package/src/css/themes/funny.css +126 -0
  197. package/src/css/themes/gray.css +126 -0
  198. package/src/css/themes/green.css +126 -0
  199. package/src/css/themes/modern-1.css +126 -0
  200. package/src/css/themes/neogreen.css +126 -0
  201. package/src/css/themes/new.css +126 -0
  202. package/src/css/themes/new2.css +126 -0
  203. package/src/css/themes/oled.css +126 -0
  204. package/src/css/themes/orange.css +126 -0
  205. package/src/css/themes/pastel-pink.css +126 -0
  206. package/src/css/themes/pink.css +126 -0
  207. package/src/css/themes/purple.css +126 -0
  208. package/src/css/themes/red.css +126 -0
  209. package/src/css/themes/super-blue.css +126 -0
  210. package/src/css/tokens.css +182 -0
  211. package/src/elements/base.ts +76 -0
  212. package/src/elements/index.ts +48 -0
  213. package/src/gl/index.ts +15 -0
  214. package/src/gl/liquid-blend/README.md +23 -0
  215. package/src/gl/liquid-blend/create-liquid-blend.ts +7 -0
  216. package/src/gl/liquid-blend/shader.ts +9 -0
  217. package/src/gl/matcap/README.md +23 -0
  218. package/src/gl/matcap/create-matcap.ts +7 -0
  219. package/src/gl/matcap/shader.ts +16 -0
  220. package/src/gl/particle-hero/README.md +41 -0
  221. package/src/gl/particle-hero/create-particle-hero.ts +544 -0
  222. package/src/gl/particle-hero/particle-hero.css +19 -0
  223. package/src/gl/particle-hero/shaders.ts +84 -0
  224. package/src/gl/shader-blur/README.md +23 -0
  225. package/src/gl/shader-blur/create-shader-blur.ts +7 -0
  226. package/src/gl/shader-blur/shader.ts +11 -0
  227. package/src/gl/shader-grain/README.md +23 -0
  228. package/src/gl/shader-grain/create-shader-grain.ts +7 -0
  229. package/src/gl/shader-grain/shader.ts +6 -0
  230. package/src/gl/shared/create-shader-effect.ts +186 -0
  231. package/src/gl/shared/shader.css +3 -0
  232. package/src/gl/shared/shaders.ts +30 -0
  233. package/src/index.ts +177 -0
  234. package/src/motion/anchor.ts +45 -0
  235. package/src/motion/chat.ts +97 -0
  236. package/src/motion/confetti.ts +130 -0
  237. package/src/motion/count.ts +95 -0
  238. package/src/motion/details.ts +70 -0
  239. package/src/motion/drag-dismiss.ts +231 -0
  240. package/src/motion/effects.ts +81 -0
  241. package/src/motion/entrances.ts +27 -0
  242. package/src/motion/floating.ts +389 -0
  243. package/src/motion/flow.ts +115 -0
  244. package/src/motion/indicator.ts +44 -0
  245. package/src/motion/layout.ts +39 -0
  246. package/src/motion/liquid.ts +227 -0
  247. package/src/motion/morph.ts +540 -0
  248. package/src/motion/reveal.ts +112 -0
  249. package/src/motion/sheet.ts +65 -0
  250. package/src/motion/surface.ts +108 -0
  251. package/src/react/animated-number.tsx +30 -0
  252. package/src/react/flip-group.tsx +44 -0
  253. package/src/react/frost.tsx +33 -0
  254. package/src/react/index.ts +80 -0
  255. package/src/react/slot-text.tsx +44 -0
  256. package/src/react/theme-provider.tsx +42 -0
  257. package/src/react/use-card-dock.ts +9 -0
  258. package/src/react/use-cascade.ts +9 -0
  259. package/src/react/use-contrast.ts +9 -0
  260. package/src/react/use-counter.ts +8 -0
  261. package/src/react/use-curved-carousel.ts +10 -0
  262. package/src/react/use-depth-grid.ts +9 -0
  263. package/src/react/use-details.ts +7 -0
  264. package/src/react/use-dock-pill.ts +10 -0
  265. package/src/react/use-drag-ruler.ts +10 -0
  266. package/src/react/use-fill-text.ts +9 -0
  267. package/src/react/use-fit-text.ts +8 -0
  268. package/src/react/use-flow.ts +8 -0
  269. package/src/react/use-frame-zoom.ts +9 -0
  270. package/src/react/use-infinite-reel.ts +8 -0
  271. package/src/react/use-letters.ts +9 -0
  272. package/src/react/use-liquid-blend.ts +8 -0
  273. package/src/react/use-marquee.ts +9 -0
  274. package/src/react/use-mask-text.ts +9 -0
  275. package/src/react/use-matcap.ts +8 -0
  276. package/src/react/use-parallax.ts +9 -0
  277. package/src/react/use-particle-hero.ts +9 -0
  278. package/src/react/use-pile.ts +8 -0
  279. package/src/react/use-pop.ts +8 -0
  280. package/src/react/use-radial-menu.ts +10 -0
  281. package/src/react/use-recipe.ts +38 -0
  282. package/src/react/use-reflow.ts +9 -0
  283. package/src/react/use-repel-bento.ts +8 -0
  284. package/src/react/use-reveal.ts +8 -0
  285. package/src/react/use-rotator.ts +10 -0
  286. package/src/react/use-shader-blur.ts +8 -0
  287. package/src/react/use-shader-grain.ts +8 -0
  288. package/src/react/use-slot-text.ts +17 -0
  289. package/src/react/use-snap-strip.ts +9 -0
  290. package/src/react/use-sortable.ts +14 -0
  291. package/src/react/use-spring-cards.ts +8 -0
  292. package/src/react/use-stretch-footer.ts +20 -0
  293. package/src/react/use-tabs.ts +10 -0
  294. package/src/react/use-text-roll.ts +9 -0
  295. package/src/react/use-ticket-menu.ts +15 -0
  296. package/src/react/use-words.ts +8 -0
  297. package/src/recipes/card-dock/README.md +36 -0
  298. package/src/recipes/card-dock/card-dock.css +178 -0
  299. package/src/recipes/card-dock/create-card-dock.ts +97 -0
  300. package/src/recipes/cascade/README.md +33 -0
  301. package/src/recipes/cascade/create-cascade.ts +111 -0
  302. package/src/recipes/contrast/README.md +29 -0
  303. package/src/recipes/contrast/create-contrast.ts +68 -0
  304. package/src/recipes/counter/README.md +42 -0
  305. package/src/recipes/counter/create-counter.ts +84 -0
  306. package/src/recipes/curved-carousel/README.md +50 -0
  307. package/src/recipes/curved-carousel/carousel-math.ts +20 -0
  308. package/src/recipes/curved-carousel/create-curved-carousel.ts +257 -0
  309. package/src/recipes/curved-carousel/curved-carousel.css +50 -0
  310. package/src/recipes/depth-grid/README.md +30 -0
  311. package/src/recipes/depth-grid/create-depth-grid.ts +120 -0
  312. package/src/recipes/details/README.md +31 -0
  313. package/src/recipes/details/create-details.ts +27 -0
  314. package/src/recipes/dock-pill/README.md +23 -0
  315. package/src/recipes/dock-pill/create-dock-pill.ts +68 -0
  316. package/src/recipes/dock-pill/dock-pill.css +5 -0
  317. package/src/recipes/drag-ruler/README.md +21 -0
  318. package/src/recipes/drag-ruler/create-drag-ruler.ts +95 -0
  319. package/src/recipes/drag-ruler/drag-ruler.css +16 -0
  320. package/src/recipes/fill-text/README.md +27 -0
  321. package/src/recipes/fill-text/create-fill-text.ts +93 -0
  322. package/src/recipes/fit-text/README.md +37 -0
  323. package/src/recipes/fit-text/create-fit-text.ts +55 -0
  324. package/src/recipes/fit-text/fit-text.css +6 -0
  325. package/src/recipes/flow/README.md +46 -0
  326. package/src/recipes/flow/create-flow.ts +55 -0
  327. package/src/recipes/frame-zoom/README.md +29 -0
  328. package/src/recipes/frame-zoom/create-frame-zoom.ts +91 -0
  329. package/src/recipes/infinite-reel/README.md +23 -0
  330. package/src/recipes/infinite-reel/create-infinite-reel.ts +140 -0
  331. package/src/recipes/infinite-reel/infinite-reel.css +8 -0
  332. package/src/recipes/letters/README.md +30 -0
  333. package/src/recipes/letters/create-letters.ts +113 -0
  334. package/src/recipes/marquee/README.md +32 -0
  335. package/src/recipes/marquee/create-marquee.ts +74 -0
  336. package/src/recipes/marquee/marquee.css +41 -0
  337. package/src/recipes/mask-text/README.md +39 -0
  338. package/src/recipes/mask-text/create-mask-text.ts +134 -0
  339. package/src/recipes/parallax/README.md +31 -0
  340. package/src/recipes/parallax/create-parallax.ts +74 -0
  341. package/src/recipes/pile/README.md +48 -0
  342. package/src/recipes/pile/create-pile.ts +50 -0
  343. package/src/recipes/pile/pile-math.ts +27 -0
  344. package/src/recipes/pile/pile.css +63 -0
  345. package/src/recipes/pill/README.md +30 -0
  346. package/src/recipes/pill/pill.css +48 -0
  347. package/src/recipes/pop/README.md +36 -0
  348. package/src/recipes/pop/create-pop.ts +52 -0
  349. package/src/recipes/radial-menu/README.md +44 -0
  350. package/src/recipes/radial-menu/create-radial-menu.ts +96 -0
  351. package/src/recipes/radial-menu/radial-menu.css +45 -0
  352. package/src/recipes/reflow/README.md +47 -0
  353. package/src/recipes/reflow/create-reflow.ts +49 -0
  354. package/src/recipes/repel-bento/README.md +21 -0
  355. package/src/recipes/repel-bento/create-repel-bento.ts +65 -0
  356. package/src/recipes/repel-bento/repel-bento.css +3 -0
  357. package/src/recipes/reveal/README.md +36 -0
  358. package/src/recipes/reveal/create-reveal.ts +48 -0
  359. package/src/recipes/rotator/README.md +21 -0
  360. package/src/recipes/rotator/create-rotator.ts +66 -0
  361. package/src/recipes/rotator/rotator.css +3 -0
  362. package/src/recipes/slot-text/README.md +44 -0
  363. package/src/recipes/slot-text/create-slot-text.ts +244 -0
  364. package/src/recipes/slot-text/slot-text.css +42 -0
  365. package/src/recipes/snap-strip/README.md +31 -0
  366. package/src/recipes/snap-strip/create-snap-strip.ts +133 -0
  367. package/src/recipes/snap-strip/snap-strip.css +23 -0
  368. package/src/recipes/sortable/README.md +88 -0
  369. package/src/recipes/sortable/create-sortable.ts +863 -0
  370. package/src/recipes/sortable/sortable.css +40 -0
  371. package/src/recipes/spring-cards/README.md +48 -0
  372. package/src/recipes/spring-cards/create-spring-cards.ts +140 -0
  373. package/src/recipes/spring-cards/spring-cards.css +23 -0
  374. package/src/recipes/stretch-footer/README.md +44 -0
  375. package/src/recipes/stretch-footer/create-stretch-footer.ts +69 -0
  376. package/src/recipes/stretch-footer/stretch-footer.css +28 -0
  377. package/src/recipes/tabs/README.md +39 -0
  378. package/src/recipes/tabs/create-tabs.ts +91 -0
  379. package/src/recipes/tabs/tabs.css +19 -0
  380. package/src/recipes/text-roll/README.md +35 -0
  381. package/src/recipes/text-roll/create-text-roll.ts +137 -0
  382. package/src/recipes/text-roll/text-roll.css +21 -0
  383. package/src/recipes/ticket-menu/README.md +24 -0
  384. package/src/recipes/ticket-menu/create-ticket-menu.ts +6 -0
  385. package/src/recipes/words/README.md +43 -0
  386. package/src/recipes/words/create-words.ts +114 -0
  387. package/src/theme/css-format.ts +32 -0
  388. package/src/theme/generate.ts +72 -0
  389. package/src/theme/index.ts +15 -0
  390. package/src/theme/presets.ts +79 -0
  391. package/src/theme/theme.ts +119 -0
@@ -0,0 +1,476 @@
1
+ import * as react from 'react';
2
+ import { useLayoutEffect, RefObject, DependencyList, ReactNode, CSSProperties, Component, ButtonHTMLAttributes, DialogHTMLAttributes, HTMLAttributes, MutableRefObject, ContextType, TextareaHTMLAttributes, MouseEvent } from 'react';
3
+ import { I as Instance } from '../types-BkS_raL8.js';
4
+ import { aE as SpringCardsOptions, Q as CurvedCarouselOptions, C as CurvedCarouselInstance, ai as PileOptions, aM as WordsOptions, aL as WordsInstance, a2 as FlowOptions, a1 as FlowInstance, ak as PopOptions, aj as PopInstance, $ as FitTextOptions, _ as FitTextInstance, aG as StretchFooterOptions, am as RadialMenuOptions, al as RadialMenuInstance, aI as TabsOptions, aH as TabsInstance, P as CounterOptions, O as CounterInstance, at as RevealRecipeOptions, as as RevealInstance, ao as ReflowOptions, an as ReflowInstance, ax as SlotTextOptions, aw as SlotTextInstance, aC as SortableOptions, aA as SortableInstance, ad as MaskTextOptions, ac as MaskTextInstance, K as CascadeOptions, J as CascadeInstance, aK as TextRollOptions, aJ as TextRollInstance, a9 as LettersOptions, a8 as LettersInstance, af as ParallaxOptions, ae as ParallaxInstance, S as DepthGridOptions, R as DepthGridInstance, a5 as FrameZoomOptions, a4 as FrameZoomInstance, N as ContrastOptions, L as ContrastInstance, ab as MarqueeOptions, aa as MarqueeInstance, I as CardDockOptions, H as CardDockInstance, az as SnapStripOptions, ay as SnapStripInstance, Z as FillTextOptions, Y as FillTextInstance, T as TicketMenuOptions, a7 as InfiniteReelOptions, a6 as InfiniteReelInstance, ar as RepelBentoOptions, aq as RepelBentoInstance, av as RotatorOptions, au as RotatorInstance, X as DragRulerOptions, W as DragRulerInstance, V as DockPillOptions, U as DockPillInstance } from '../reduced-BM4Ls0g5.js';
5
+ export { M as MK_HEAD_SCRIPT, ah as PileLayer, ap as ReorderDetail, aS as moveItem, aT as pileLayers, aU as pileStyle } from '../reduced-BM4Ls0g5.js';
6
+ import { M as MenuInstance, b as DialogOptions, D as DialogInstance } from '../reveal-WFUWDrei.js';
7
+ import { LiquidBlendOptions, ShaderEffectInstance, MatcapOptions, ShaderGrainOptions, ShaderBlurOptions, ParticleHeroOptions, ParticleHeroInstance } from '../gl/index.js';
8
+ import * as react_jsx_runtime from 'react/jsx-runtime';
9
+ import { T as ThemeState, s as setTheme, a as setMode, I as InitThemeOptions, b as ThemeMode } from '../theme-BFMoCzi6.js';
10
+ export { M as MK_THEME_HEAD_SCRIPT, t as themeHeadScript } from '../theme-BFMoCzi6.js';
11
+ import { n as ThemePickerOptions, s as ToasterLabels, e as ChatLabels, C as ChatInstance, v as capturePending, b as ChatRole, c as NavStyle, h as CursorVariant, g as CursorOptions, i as IslandOptions, I as IslandInstance } from '../store-Bqy_obnD.js';
12
+ export { j as NAV_STYLES, o as ToastAction, q as ToastOptions, r as ToastTone, x as clearToasts, F as dismissToast, t as toast } from '../store-Bqy_obnD.js';
13
+ import { C as CapturedLayout } from '../confetti-BSX1CLLV.js';
14
+ export { A as ANIMATIONS, b as AnimationName, d as ConfettiOptions, e as animate, g as confetti, l as leave } from '../confetti-BSX1CLLV.js';
15
+ import 'gsap/SplitText';
16
+ import 'gsap/Flip';
17
+
18
+ /** useLayoutEffect in the browser (no flash), useEffect during SSR (no warning). */
19
+ declare const useIsomorphicLayoutEffect: typeof useLayoutEffect;
20
+ /**
21
+ * Create a recipe on `ref.current` after mount and destroy it on unmount or when
22
+ * `deps` change. Returns a ref holding the live instance (controls like `next()`).
23
+ */
24
+ declare function useRecipe<I extends Instance, O>(ref: RefObject<HTMLElement | null>, factory: (el: HTMLElement | null, options?: O) => I, options?: O, deps?: DependencyList): RefObject<I | null>;
25
+ /** Keep the latest callback in a ref so recipes do not restart on every render. */
26
+ declare function useLatest<T>(value: T): RefObject<T>;
27
+
28
+ declare const useSpringCards: (ref: RefObject<HTMLElement | null>, options?: SpringCardsOptions, deps?: DependencyList) => RefObject<Instance | null>;
29
+
30
+ declare function useCurvedCarousel(ref: RefObject<HTMLElement | null>, options?: CurvedCarouselOptions, deps?: DependencyList): RefObject<CurvedCarouselInstance | null>;
31
+
32
+ declare const usePile: (ref: RefObject<HTMLElement | null>, options?: PileOptions, deps?: DependencyList) => RefObject<Instance | null>;
33
+
34
+ declare const useWords: (ref: RefObject<HTMLElement | null>, options?: WordsOptions, deps?: DependencyList) => RefObject<WordsInstance | null>;
35
+
36
+ declare const useFlow: (ref: RefObject<HTMLElement | null>, options?: FlowOptions, deps?: DependencyList) => RefObject<FlowInstance | null>;
37
+
38
+ declare const usePop: (ref: RefObject<HTMLElement | null>, options?: PopOptions, deps?: DependencyList) => RefObject<PopInstance | null>;
39
+
40
+ declare const useFitText: (ref: RefObject<HTMLElement | null>, options?: FitTextOptions, deps?: DependencyList) => RefObject<FitTextInstance | null>;
41
+
42
+ interface UseStretchFooterOptions extends Omit<StretchFooterOptions, 'phantom' | 'title'> {
43
+ phantomRef?: RefObject<HTMLElement | null>;
44
+ titleRef?: RefObject<HTMLElement | null>;
45
+ }
46
+ declare function useStretchFooter(ref: RefObject<HTMLElement | null>, options?: UseStretchFooterOptions, deps?: DependencyList): RefObject<Instance | null>;
47
+
48
+ declare function useRadialMenu(ref: RefObject<HTMLElement | null>, options?: RadialMenuOptions, deps?: DependencyList): RefObject<RadialMenuInstance | null>;
49
+
50
+ declare function useTabs(ref: RefObject<HTMLElement | null>, options?: TabsOptions, deps?: DependencyList): RefObject<TabsInstance | null>;
51
+
52
+ declare const useCounter: (ref: RefObject<HTMLElement | null>, options?: CounterOptions, deps?: DependencyList) => RefObject<CounterInstance | null>;
53
+
54
+ declare const useDetails: (ref: RefObject<HTMLElement | null>, deps?: DependencyList) => RefObject<Instance | null>;
55
+
56
+ declare const useReveal: (ref: RefObject<HTMLElement | null>, options?: RevealRecipeOptions, deps?: DependencyList) => RefObject<RevealInstance | null>;
57
+
58
+ /** Call `.current.capture()` before the state change and `.current.play()` in a layout effect after it. */
59
+ declare const useReflow: (ref: RefObject<HTMLElement | null>, options?: ReflowOptions, deps?: DependencyList) => RefObject<ReflowInstance | null>;
60
+
61
+ /**
62
+ * Rolls `text` into `ref` whenever it changes. The element must render no
63
+ * children of its own: the recipe writes the letters (see `<SlotText>`).
64
+ */
65
+ declare function useSlotText(ref: RefObject<HTMLElement | null>, text: string, options?: Omit<SlotTextOptions, 'text'>): RefObject<SlotTextInstance | null>;
66
+
67
+ /**
68
+ * Drag to reorder a list React renders: answer `onReorder` by updating your state
69
+ * (React moves the DOM; the engine waits for it and lands the item). `mutate` is off.
70
+ */
71
+ declare function useSortable(ref: RefObject<HTMLElement | null>, options?: SortableOptions, deps?: DependencyList): RefObject<SortableInstance | null>;
72
+
73
+ /** Masked lines / words / letters rising into view (OFFFICE). */
74
+ declare const useMaskText: (ref: RefObject<HTMLElement | null>, options?: MaskTextOptions, deps?: DependencyList) => RefObject<MaskTextInstance | null>;
75
+
76
+ /** Siena's reveal group: rules, fades and rises one after another. */
77
+ declare const useCascade: (ref: RefObject<HTMLElement | null>, options?: CascadeOptions, deps?: DependencyList) => RefObject<CascadeInstance | null>;
78
+
79
+ /** Siena's slot title. `.current.play()` spins it. */
80
+ declare const useTextRoll: (ref: RefObject<HTMLElement | null>, options?: TextRollOptions, deps?: DependencyList) => RefObject<TextRollInstance | null>;
81
+
82
+ /** Dousan's hero letters (scale on hover or pastel blink). */
83
+ declare const useLetters: (ref: RefObject<HTMLElement | null>, options?: LettersOptions, deps?: DependencyList) => RefObject<LettersInstance | null>;
84
+
85
+ /** Siena's photo parallax inside its frame. */
86
+ declare const useParallax: (ref: RefObject<HTMLElement | null>, options?: ParallaxOptions, deps?: DependencyList) => RefObject<ParallaxInstance | null>;
87
+
88
+ /** Siena's grid gathering from depth as it scrolls. */
89
+ declare const useDepthGrid: (ref: RefObject<HTMLElement | null>, options?: DepthGridOptions, deps?: DependencyList) => RefObject<DepthGridInstance | null>;
90
+
91
+ /** Siena's video mask: frame and picture scale in opposite directions. */
92
+ declare const useFrameZoom: (ref: RefObject<HTMLElement | null>, options?: FrameZoomOptions, deps?: DependencyList) => RefObject<FrameZoomInstance | null>;
93
+
94
+ /** Siena's header contrast from the section under it. */
95
+ declare const useContrast: (ref: RefObject<HTMLElement | null>, options?: ContrastOptions, deps?: DependencyList) => RefObject<ContrastInstance | null>;
96
+
97
+ /** Siena's seamless marquee. */
98
+ declare const useMarquee: (ref: RefObject<HTMLElement | null>, options?: MarqueeOptions, deps?: DependencyList) => RefObject<MarqueeInstance | null>;
99
+
100
+ /** iyo.ai's product dock (stacked glass cards that spread on hover). */
101
+ declare const useCardDock: (ref: RefObject<HTMLElement | null>, options?: CardDockOptions, deps?: DependencyList) => RefObject<CardDockInstance | null>;
102
+
103
+ /** iyo.ai's phone cards: an autoplaying scroll-snap strip. */
104
+ declare const useSnapStrip: (ref: RefObject<HTMLElement | null>, options?: SnapStripOptions, deps?: DependencyList) => RefObject<SnapStripInstance | null>;
105
+
106
+ /** iyo.ai's fill-text: letters fill in as the text scrolls up. */
107
+ declare const useFillText: (ref: RefObject<HTMLElement | null>, options?: FillTextOptions, deps?: DependencyList) => RefObject<FillTextInstance | null>;
108
+
109
+ declare function useTicketMenu(ref: RefObject<HTMLElement | null>, options?: TicketMenuOptions, deps?: DependencyList): RefObject<MenuInstance | null>;
110
+
111
+ declare const useInfiniteReel: (ref: RefObject<HTMLElement | null>, options?: InfiniteReelOptions, deps?: DependencyList) => RefObject<InfiniteReelInstance | null>;
112
+
113
+ declare const useRepelBento: (ref: RefObject<HTMLElement | null>, options?: RepelBentoOptions, deps?: DependencyList) => RefObject<RepelBentoInstance | null>;
114
+
115
+ declare function useRotator(ref: RefObject<HTMLElement | null>, options?: RotatorOptions, deps?: DependencyList): RefObject<RotatorInstance | null>;
116
+
117
+ declare function useDragRuler(ref: RefObject<HTMLElement | null>, options?: DragRulerOptions, deps?: DependencyList): RefObject<DragRulerInstance | null>;
118
+
119
+ declare function useDockPill(ref: RefObject<HTMLElement | null>, options?: DockPillOptions, deps?: DependencyList): RefObject<DockPillInstance | null>;
120
+
121
+ declare const useLiquidBlend: (ref: RefObject<HTMLElement | null>, options?: LiquidBlendOptions, deps?: DependencyList) => RefObject<ShaderEffectInstance | null>;
122
+
123
+ declare const useMatcap: (ref: RefObject<HTMLElement | null>, options?: MatcapOptions, deps?: DependencyList) => RefObject<ShaderEffectInstance | null>;
124
+
125
+ declare const useShaderGrain: (ref: RefObject<HTMLElement | null>, options?: ShaderGrainOptions, deps?: DependencyList) => RefObject<ShaderEffectInstance | null>;
126
+
127
+ declare const useShaderBlur: (ref: RefObject<HTMLElement | null>, options?: ShaderBlurOptions, deps?: DependencyList) => RefObject<ShaderEffectInstance | null>;
128
+
129
+ /** iyo.ai's particle hero (WebGL2, Canvas2D fallback). The canvas joins the ref's element. */
130
+ declare const useParticleHero: (ref: RefObject<HTMLElement | null>, options?: ParticleHeroOptions, deps?: DependencyList) => RefObject<ParticleHeroInstance | null>;
131
+
132
+ interface ThemeContextValue extends ThemeState {
133
+ setTheme: typeof setTheme;
134
+ setMode: typeof setMode;
135
+ }
136
+ interface ThemeProviderProps {
137
+ children?: ReactNode;
138
+ defaultTheme?: InitThemeOptions['default'];
139
+ mode?: ThemeMode;
140
+ storageKey?: string;
141
+ }
142
+ /**
143
+ * Applies the stored (or default) theme on mount and shares it. Add
144
+ * MK_THEME_HEAD_SCRIPT to <head> as well, so the first paint already has it.
145
+ */
146
+ declare function ThemeProvider({ children, defaultTheme, mode, storageKey }: ThemeProviderProps): react_jsx_runtime.JSX.Element;
147
+ declare function useTheme(): ThemeContextValue;
148
+
149
+ interface ThemePickerProps extends ThemePickerOptions {
150
+ className?: string;
151
+ style?: CSSProperties;
152
+ /** Skip the base class (style it yourself). */
153
+ unstyled?: boolean;
154
+ }
155
+ /** Stepbro's theme picker. Wrap the app in <ThemeProvider> to read the choice. */
156
+ declare function ThemePicker({ className, style, unstyled, themes, showHidden, labels, onChange }: ThemePickerProps): react_jsx_runtime.JSX.Element;
157
+
158
+ interface SlotTextProps extends Omit<SlotTextOptions, 'text' | 'accessibleCopy'> {
159
+ text: string;
160
+ className?: string;
161
+ }
162
+ /**
163
+ * Text whose letters roll when it changes (Stepbro's SlotText). The server
164
+ * renders the text itself; React never reconciles the letters (they belong to
165
+ * the recipe), and screen readers read the plain copy.
166
+ */
167
+ declare function SlotText({ text, className, direction, duration, stagger, exitOffset, colorFade, maxTilt }: SlotTextProps): react_jsx_runtime.JSX.Element;
168
+
169
+ interface AnimatedNumberProps {
170
+ value: number;
171
+ /** How the shown value is written. Default: whole numbers. */
172
+ format?: (shown: number) => string;
173
+ /** Seconds. Default 0.6 (Stepbro's numberSoft); prices use 0.7. */
174
+ duration?: number;
175
+ }
176
+ /** A number that counts to each new value from the one shown (Stepbro's AnimatedNumber). */
177
+ declare function AnimatedNumber({ value, format, duration }: AnimatedNumberProps): react_jsx_runtime.JSX.Element;
178
+
179
+ interface FlipGroupProps {
180
+ /** The list element. */
181
+ root: RefObject<HTMLElement | null>;
182
+ /** Items inside it; they need a stable `data-flip-id`. */
183
+ selector?: string;
184
+ /** Changes whenever the layout should animate (order, filter, grouping): e.g. the ids joined. */
185
+ signature: string;
186
+ children?: ReactNode;
187
+ }
188
+ /**
189
+ * Plays Stepbro's layout reflow when `signature` changes: the layout is
190
+ * measured just before React commits and the items travel from there. A class
191
+ * component, because only `getSnapshotBeforeUpdate` reads the DOM before the commit.
192
+ */
193
+ declare class FlipGroup extends Component<FlipGroupProps> {
194
+ private flip;
195
+ getSnapshotBeforeUpdate(previous: Readonly<FlipGroupProps>): CapturedLayout | null;
196
+ componentDidUpdate(_previous: unknown, _state: unknown, before: CapturedLayout | null): void;
197
+ componentWillUnmount(): void;
198
+ render(): ReactNode;
199
+ }
200
+
201
+ declare const ICON_PATHS: {
202
+ readonly close: "M6 6l12 12M18 6L6 18";
203
+ readonly expand: "M14 4h6v6M10 20H4v-6M20 4l-7 7M4 20l7-7";
204
+ readonly shrink: "M4 14h6v6M20 10h-6V4M10 14l-7 7M14 10l7-7";
205
+ readonly check: "M5 12.5l4.5 4.5L19 7.5";
206
+ readonly alert: "M12 8v5M12 16.5v.01M10.3 3.9L2.6 17.3a2 2 0 001.7 3h15.4a2 2 0 001.7-3L13.7 3.9a2 2 0 00-3.4 0z";
207
+ readonly info: "M12 11v6M12 7.5v.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z";
208
+ readonly send: "M12 19V5M5.5 11.5L12 5l6.5 6.5";
209
+ readonly mic: "M12 3a3 3 0 00-3 3v6a3 3 0 006 0V6a3 3 0 00-3-3zM5.5 11a6.5 6.5 0 0013 0M12 17.5V21";
210
+ readonly sparkle: "M12 3l1.9 5.1L19 10l-5.1 1.9L12 17l-1.9-5.1L5 10l5.1-1.9z";
211
+ readonly grip: "M9 6h.01M15 6h.01M9 12h.01M15 12h.01M9 18h.01M15 18h.01";
212
+ };
213
+ type IconName = keyof typeof ICON_PATHS;
214
+
215
+ /** The same stroke icons the vanilla components use (aria-hidden). */
216
+ declare function MkIcon({ name, size }: {
217
+ name: IconName;
218
+ size?: number;
219
+ }): react_jsx_runtime.JSX.Element;
220
+
221
+ type SurfaceOptions = Omit<DialogOptions, 'onOpen' | 'onClose' | 'triggers'>;
222
+ interface SurfaceRootProps extends SurfaceOptions {
223
+ open?: boolean;
224
+ defaultOpen?: boolean;
225
+ onOpenChange?: (open: boolean) => void;
226
+ children?: ReactNode;
227
+ }
228
+ declare function Root$3(props: SurfaceRootProps): react_jsx_runtime.JSX.Element;
229
+ /** A button that opens the dialog and is the shape it grows from. */
230
+ declare function Trigger$1({ onClick, children, ...props }: ButtonHTMLAttributes<HTMLButtonElement>): react_jsx_runtime.JSX.Element;
231
+ interface DialogContentProps extends Omit<DialogHTMLAttributes<HTMLDialogElement>, 'open'> {
232
+ size?: 'sm' | 'md' | 'lg' | 'xl';
233
+ /** Skip the base class (style it yourself). */
234
+ unstyled?: boolean;
235
+ }
236
+ declare function Content$1({ size, unstyled, className, children, ...props }: DialogContentProps): react_jsx_runtime.JSX.Element;
237
+ declare function Close({ children, label, ...props }: ButtonHTMLAttributes<HTMLButtonElement> & {
238
+ label?: string;
239
+ }): react_jsx_runtime.JSX.Element;
240
+ declare function Handle({ children, ...props }: ButtonHTMLAttributes<HTMLButtonElement>): react_jsx_runtime.JSX.Element;
241
+ /**
242
+ * Stepbro's dialog for React:
243
+ * <Dialog.Root><Dialog.Trigger>Crear</Dialog.Trigger><Dialog.Content>
244
+ * <Dialog.Header><Dialog.Title>…</Dialog.Title><Dialog.Close /></Dialog.Header>
245
+ * <Dialog.Body>…</Dialog.Body><Dialog.Footer>…</Dialog.Footer>
246
+ * </Dialog.Content></Dialog.Root>
247
+ */
248
+ declare const Dialog: {
249
+ Root: typeof Root$3;
250
+ Trigger: typeof Trigger$1;
251
+ Content: typeof Content$1;
252
+ Header: ({ children, ...props }: HTMLAttributes<HTMLElement>) => react_jsx_runtime.JSX.Element;
253
+ Title: ({ children, ...props }: HTMLAttributes<HTMLElement>) => react_jsx_runtime.JSX.Element;
254
+ Description: ({ children, ...props }: HTMLAttributes<HTMLElement>) => react_jsx_runtime.JSX.Element;
255
+ Actions: ({ children, ...props }: HTMLAttributes<HTMLElement>) => react_jsx_runtime.JSX.Element;
256
+ Body: ({ children, ...props }: HTMLAttributes<HTMLElement>) => react_jsx_runtime.JSX.Element;
257
+ Footer: ({ children, ...props }: HTMLAttributes<HTMLElement>) => react_jsx_runtime.JSX.Element;
258
+ Close: typeof Close;
259
+ Handle: typeof Handle;
260
+ };
261
+ /** The dialog instance of the surrounding <Dialog.Root> (open, close, float…). */
262
+ declare function useDialog(): {
263
+ open: boolean;
264
+ setOpen: (open: boolean) => void;
265
+ instance: MutableRefObject<DialogInstance | null>;
266
+ };
267
+
268
+ interface MenuRootProps extends Omit<SurfaceRootProps, 'placement' | 'backdrop' | 'drag' | 'autoResize'> {
269
+ ticket?: boolean;
270
+ onSelect?: (value: string, item: HTMLElement) => void;
271
+ closeOnSelect?: boolean;
272
+ children?: ReactNode;
273
+ }
274
+ declare function Root$2({ onSelect, closeOnSelect, ticket, children, ...props }: MenuRootProps): react_jsx_runtime.JSX.Element;
275
+ declare function Trigger({ onClick, children, ...props }: ButtonHTMLAttributes<HTMLButtonElement>): react_jsx_runtime.JSX.Element;
276
+ declare function Content({ className, children, ...props }: Omit<DialogHTMLAttributes<HTMLDialogElement>, 'open'>): react_jsx_runtime.JSX.Element;
277
+ declare function Item({ value, children, ...props }: ButtonHTMLAttributes<HTMLButtonElement> & {
278
+ value?: string;
279
+ }): react_jsx_runtime.JSX.Element;
280
+ declare function Separator(): react_jsx_runtime.JSX.Element;
281
+ /** Stepbro's options menu: <Menu.Root onSelect><Menu.Trigger/><Menu.Content><Menu.Item value/>…</Menu.Content></Menu.Root>. */
282
+ declare const Menu: {
283
+ Root: typeof Root$2;
284
+ Trigger: typeof Trigger;
285
+ Content: typeof Content;
286
+ Item: typeof Item;
287
+ Separator: typeof Separator;
288
+ };
289
+
290
+ interface ToasterProps {
291
+ labels?: ToasterLabels;
292
+ }
293
+ /** Stepbro's toast deck. Mount once near the root; show toasts with `toast()`. */
294
+ declare function Toaster({ labels }: ToasterProps): react_jsx_runtime.JSX.Element;
295
+
296
+ interface ChatBackgroundProps {
297
+ /** 0…1 (the microphone's, see audioEnergy); onboarding's busy state goes to 1.6. */
298
+ energy?: number;
299
+ scale?: number;
300
+ className?: string;
301
+ style?: CSSProperties;
302
+ }
303
+ /** Stepbro's chat background. Put it first inside a positioned container. */
304
+ declare function ChatBackground({ energy, scale, className, style }: ChatBackgroundProps): react_jsx_runtime.JSX.Element;
305
+
306
+ interface ChatContextValue {
307
+ instance: MutableRefObject<ChatInstance | null>;
308
+ labels: ChatLabels;
309
+ }
310
+ declare const ChatContext: react.Context<ChatContextValue | null>;
311
+ interface ChatRootProps extends HTMLAttributes<HTMLDivElement> {
312
+ onSend?: (text: string) => void;
313
+ animateExisting?: boolean;
314
+ labels?: ChatLabels;
315
+ children?: ReactNode;
316
+ }
317
+ declare function Root$1({ onSend, animateExisting, labels, className, children, ...props }: ChatRootProps): react_jsx_runtime.JSX.Element;
318
+ interface ChatMessagesProps {
319
+ /** Waiting for an answer: "Pensando…" shows after 500 ms and morphs into the next assistant message. */
320
+ pending?: boolean;
321
+ children?: ReactNode;
322
+ }
323
+ interface MessagesState {
324
+ showPending: boolean;
325
+ }
326
+ type Snapshot = ReturnType<typeof capturePending>;
327
+ /**
328
+ * The message list. A class component: only getSnapshotBeforeUpdate can measure
329
+ * the placeholder before React replaces it with the answer.
330
+ */
331
+ declare class Messages extends Component<ChatMessagesProps, MessagesState> {
332
+ static contextType: react.Context<ChatContextValue | null>;
333
+ context: ContextType<typeof ChatContext>;
334
+ state: MessagesState;
335
+ private list;
336
+ private timer;
337
+ componentDidMount(): void;
338
+ componentDidUpdate(previous: ChatMessagesProps, _state: MessagesState, snapshot: Snapshot): void;
339
+ getSnapshotBeforeUpdate(previous: ChatMessagesProps): Snapshot;
340
+ componentWillUnmount(): void;
341
+ private wait;
342
+ render(): react_jsx_runtime.JSX.Element;
343
+ }
344
+ interface ChatMessageProps extends HTMLAttributes<HTMLDivElement> {
345
+ role?: ChatRole;
346
+ children?: ReactNode;
347
+ }
348
+ declare function Message({ role, children, ...props }: ChatMessageProps): react_jsx_runtime.JSX.Element;
349
+ interface ChatComposerProps extends TextareaHTMLAttributes<HTMLTextAreaElement> {
350
+ /** Extra buttons before send (a microphone…). */
351
+ actions?: ReactNode;
352
+ sendLabel?: string;
353
+ }
354
+ declare function Composer({ actions, sendLabel, placeholder, ...props }: ChatComposerProps): react_jsx_runtime.JSX.Element;
355
+ declare function Confirm({ children, ...props }: HTMLAttributes<HTMLDivElement>): react_jsx_runtime.JSX.Element;
356
+ /**
357
+ * Stepbro's chat: <Chat.Root onSend><ChatBackground /><Chat.Messages pending>{messages.map(m =>
358
+ * <Chat.Message role>)}</Chat.Messages><Chat.Composer /></Chat.Root>.
359
+ */
360
+ declare const Chat: {
361
+ Root: typeof Root$1;
362
+ Messages: typeof Messages;
363
+ Message: typeof Message;
364
+ Composer: typeof Composer;
365
+ Confirm: typeof Confirm;
366
+ };
367
+ /** The chat engine of the surrounding <Chat.Root> (setRecording, scrollToLatest…). */
368
+ declare function useChat(): MutableRefObject<ChatInstance | null>;
369
+
370
+ interface NavItem {
371
+ value: string;
372
+ label: ReactNode;
373
+ icon?: ReactNode;
374
+ /** Render a link instead of a button. */
375
+ href?: string;
376
+ /** Hidden in the phone bar (Stepbro's hide-on-mobile). */
377
+ hideOnMobile?: boolean;
378
+ }
379
+ interface NavProps extends Omit<HTMLAttributes<HTMLElement>, 'onSelect'> {
380
+ items: NavItem[];
381
+ /** Value of the current page. */
382
+ active?: string;
383
+ onSelect?: (value: string, event: MouseEvent<HTMLElement>) => void;
384
+ navStyle?: NavStyle;
385
+ accent?: boolean;
386
+ /** Reveal the surrounding .mk-shell from the first button on mount. */
387
+ reveal?: boolean;
388
+ /** The top button (workspace, account…): give it className "mk-nav__button mk-nav__button--first". */
389
+ first?: ReactNode;
390
+ /** Buttons at the end (className "mk-nav__button mk-nav__button--action"). */
391
+ actions?: ReactNode;
392
+ }
393
+ /** Stepbro's navigation. Put it inside a <div className="mk-shell"> next to <main className="mk-shell__view">. */
394
+ declare function Nav({ items, active, onSelect, navStyle, accent, reveal, first, actions, className, ...props }: NavProps): react_jsx_runtime.JSX.Element;
395
+
396
+ interface StepsProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange'> {
397
+ /** Current step (0-based). Changing it flows to that step. */
398
+ index?: number;
399
+ onChange?: (index: number, previous: number) => void;
400
+ /** A step is working: the chat background inside speeds up (Stepbro's onBusy). */
401
+ busy?: boolean;
402
+ duration?: number;
403
+ children?: ReactNode;
404
+ }
405
+ declare function Root({ index, onChange, busy, duration, className, children, ...props }: StepsProps): react_jsx_runtime.JSX.Element;
406
+ declare function Step({ children, ...props }: HTMLAttributes<HTMLElement>): react_jsx_runtime.JSX.Element;
407
+ /** The step number; the engine rolls it (React only writes the first value). */
408
+ declare function Counter(props: HTMLAttributes<HTMLSpanElement>): react_jsx_runtime.JSX.Element;
409
+ /**
410
+ * Stepbro's onboarding: <Steps index={i} busy={working}><ChatBackground /><Steps.Counter />
411
+ * <Steps.Step><h2 data-mk-flow-item>…</h2></Steps.Step>…</Steps>. Steps must be direct children.
412
+ */
413
+ declare const Steps: typeof Root & {
414
+ Step: typeof Step;
415
+ Counter: typeof Counter;
416
+ };
417
+
418
+ interface CursorProps {
419
+ /** 'chip' (Dousan, default) or 'dot' (Siena). */
420
+ variant?: CursorVariant;
421
+ /** dot: the word when nothing under the pointer gives one. */
422
+ text?: string;
423
+ arrows?: CursorOptions['arrows'];
424
+ /** CSS selector of the zone (dot: default the parent). */
425
+ zone?: string;
426
+ className?: string;
427
+ }
428
+ /** Put <Cursor /> once in the layout (chip), or inside the zone (dot). */
429
+ declare function Cursor({ variant, text, arrows, zone, className }: CursorProps): react_jsx_runtime.JSX.Element;
430
+
431
+ interface FrostProps {
432
+ /** Which edge the blur grows toward (default bottom). */
433
+ position?: 'bottom' | 'top';
434
+ /** Pin it to the window instead of the positioned parent. */
435
+ fixed?: boolean;
436
+ height?: number | string;
437
+ /** Multiplies the five blurs (default 1). */
438
+ strength?: number;
439
+ className?: string;
440
+ style?: CSSProperties;
441
+ }
442
+ /** Dousan's progressive frost: five blur layers. Put it inside a positioned container (or use `fixed`). */
443
+ declare function Frost({ position, fixed, height, strength, className, style }: FrostProps): react_jsx_runtime.JSX.Element;
444
+
445
+ interface IslandPanel {
446
+ name: string;
447
+ /** Accessible name of its button. */
448
+ label: string;
449
+ /** Button content; the menu's nine dots by default. */
450
+ icon?: ReactNode;
451
+ /** Light button (iyo's cart). */
452
+ light?: boolean;
453
+ content: ReactNode;
454
+ }
455
+ interface IslandProps extends Omit<HTMLAttributes<HTMLElement>, 'onChange'>, Omit<IslandOptions, 'onChange'> {
456
+ brand?: ReactNode;
457
+ /** The call to action that fades out while a panel is open. */
458
+ cta?: {
459
+ href: string;
460
+ label: ReactNode;
461
+ };
462
+ panels: IslandPanel[];
463
+ /** Keep it (and its backdrop) inside a positioned parent instead of fixed over the page. */
464
+ contained?: boolean;
465
+ onChange?: (active: string | null) => void;
466
+ /** Receives the live instance (open, close, toggle, ready). */
467
+ instanceRef?: {
468
+ current: IslandInstance | null;
469
+ };
470
+ }
471
+ /** The nine static dots of iyo's menu button. */
472
+ declare function IslandDots(): react_jsx_runtime.JSX.Element;
473
+ /** iyo.ai's floating navbar. */
474
+ declare function Island({ brand, cta, panels, contained, entrance, closeOnScroll, closeOnNavigate, focusOnOpen, onChange, instanceRef, className, ...props }: IslandProps): react_jsx_runtime.JSX.Element;
475
+
476
+ export { AnimatedNumber, type AnimatedNumberProps, Chat, ChatBackground, type ChatBackgroundProps, type ChatComposerProps, type ChatMessageProps, type ChatMessagesProps, type ChatRootProps, Cursor, type CursorProps, Dialog, type DialogContentProps, FlipGroup, type FlipGroupProps, Frost, type FrostProps, Island, IslandDots, type IslandPanel, type IslandProps, Menu, type MenuRootProps, MkIcon, Nav, type NavItem, type NavProps, NavStyle, SlotText, type SlotTextProps, Steps, type StepsProps, type SurfaceRootProps, type ThemeContextValue, ThemePicker, type ThemePickerProps, ThemeProvider, type ThemeProviderProps, Toaster, type ToasterProps, type UseStretchFooterOptions, useCardDock, useCascade, useChat, useContrast, useCounter, useCurvedCarousel, useDepthGrid, useDetails, useDialog, useDockPill, useDragRuler, useFillText, useFitText, useFlow, useFrameZoom, useInfiniteReel, useIsomorphicLayoutEffect, useLatest, useLetters, useLiquidBlend, useMarquee, useMaskText, useMatcap, useParallax, useParticleHero, usePile, usePop, useRadialMenu, useRecipe, useReflow, useRepelBento, useReveal, useRotator, useShaderBlur, useShaderGrain, useSlotText, useSnapStrip, useSortable, useSpringCards, useStretchFooter, useTabs, useTextRoll, useTheme, useTicketMenu, useWords };