@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,566 @@
1
+ import { e as MenuOptions, M as MenuInstance, g as RevealSpeed } from './reveal-WFUWDrei.js';
2
+ import { I as Instance } from './types-BkS_raL8.js';
3
+ import { SplitText } from 'gsap/SplitText';
4
+
5
+ type TicketMenuOptions = Omit<MenuOptions, 'ticket'>;
6
+ type TicketMenuInstance = MenuInstance;
7
+ declare const createTicketMenu: (root: HTMLElement | null, options?: TicketMenuOptions) => TicketMenuInstance;
8
+
9
+ interface CurvedCarouselOptions {
10
+ /** Slides inside the root. */
11
+ slideSelector?: string;
12
+ /** Per-frame velocity decay (0–1). */
13
+ friction?: number;
14
+ /** Multiplier applied to the release velocity before snapping. */
15
+ throwBoost?: number;
16
+ /** Horizontal wheel / trackpad factor. */
17
+ wheel?: number;
18
+ /** Movement below this many px counts as a tap (click), not a drag. */
19
+ tapDistance?: number;
20
+ startIndex?: number;
21
+ /** Tap/click or Enter on a slide. */
22
+ onSelect?: (index: number, slide: HTMLElement) => void;
23
+ }
24
+ interface CurvedCarouselInstance extends Instance {
25
+ next(): void;
26
+ prev(): void;
27
+ goTo(index: number): void;
28
+ /** Index of the slide closest to the centre. */
29
+ readonly index: number;
30
+ }
31
+ declare function createCurvedCarousel(root: HTMLElement | null, options?: CurvedCarouselOptions): CurvedCarouselInstance;
32
+
33
+ interface SpringCardsOptions {
34
+ /** Cards inside the root. */
35
+ selector?: string;
36
+ /** Random start offset range, ±px. */
37
+ initialOffset?: number;
38
+ /** Delay before the springs are pulled to rest, ms. */
39
+ releaseAfter?: number;
40
+ /** Strength of the pointer push. */
41
+ push?: number;
42
+ /** Exponent of the distance falloff. */
43
+ falloff?: number;
44
+ /** Per-frame decay of the pushed velocity. */
45
+ damping?: number;
46
+ stiffness?: number;
47
+ friction?: number;
48
+ /** Scale-in entrance. */
49
+ entrance?: boolean;
50
+ stagger?: number;
51
+ delay?: number;
52
+ }
53
+ type SpringCardsInstance = Instance;
54
+ declare function createSpringCards(root: HTMLElement | null, options?: SpringCardsOptions): SpringCardsInstance;
55
+
56
+ interface PileLayer {
57
+ rotation: number;
58
+ offsetX: number;
59
+ offsetY: number;
60
+ }
61
+ /** Spencer's stack transforms, seeded so SSR output is stable. Layer 0 is the back. */
62
+ declare function pileLayers(count: number, seed: number): PileLayer[];
63
+
64
+ interface PileOptions {
65
+ /** Fraction of the pile that must be visible before it scales in. */
66
+ threshold?: number;
67
+ }
68
+ type PileInstance = Instance;
69
+ /** Inline style for a back layer: `style={pileStyle(layer)}`. */
70
+ declare const pileStyle: (layer: PileLayer) => string;
71
+ declare function createPile(root: HTMLElement | null, options?: PileOptions): PileInstance;
72
+
73
+ interface WordsOptions {
74
+ by?: 'words' | 'chars';
75
+ /** 'scroll' plays when the element enters the viewport; 'load' plays now; 'manual' waits for reveal(). */
76
+ trigger?: 'scroll' | 'load' | 'manual';
77
+ /** ScrollTrigger start for trigger 'scroll'. */
78
+ start?: string;
79
+ duration?: number;
80
+ stagger?: number;
81
+ delay?: number;
82
+ }
83
+ interface WordsInstance extends Instance {
84
+ /** Play the entrance (splits first if needed). */
85
+ reveal(delay?: number): void;
86
+ /** Change the text (e.g. language switch) and replay the entrance. */
87
+ replace(mutate: () => void): void;
88
+ }
89
+ declare function createWords(el: HTMLElement | null, options?: WordsOptions): WordsInstance;
90
+
91
+ interface FlowInOptions {
92
+ /** Distance travelled (style 1), px. */
93
+ y?: number;
94
+ blur?: number;
95
+ duration?: number;
96
+ stagger?: number;
97
+ delay?: number;
98
+ /** 1: drop from above (default). 2: grow from `startScale`. */
99
+ style?: 1 | 2;
100
+ startScale?: number;
101
+ /** Last item first. */
102
+ reverse?: boolean;
103
+ /** With a single container as target, animate its matches instead. */
104
+ target?: string;
105
+ ease?: string;
106
+ /**
107
+ * Hide with visibility as well as opacity (default). Off for controls that must
108
+ * take focus while they enter (menu options): a visibility:hidden element cannot.
109
+ */
110
+ autoAlpha?: boolean;
111
+ }
112
+ interface FlowOutOptions {
113
+ y?: number;
114
+ blur?: number;
115
+ duration?: number;
116
+ stagger?: number;
117
+ delay?: number;
118
+ reverse?: boolean;
119
+ target?: string;
120
+ }
121
+ /** Flow items in. Returns the tween, or null when there is nothing to animate or motion is reduced. */
122
+ declare function flowIn(targets: gsap.TweenTarget, options?: FlowInOptions): gsap.core.Tween | null;
123
+ /** Flow items out (down into a blur). They stay hidden afterwards; flowIn brings them back. */
124
+ declare function flowOut(targets: gsap.TweenTarget, options?: FlowOutOptions): gsap.core.Tween | null;
125
+ /**
126
+ * Stepbro's step change: the current children flow out, `mutate` swaps the
127
+ * content (render the next step there), and after a frame the new children flow in.
128
+ */
129
+ declare function stepChange(container: HTMLElement, mutate: () => void | Promise<void>, { duration }?: {
130
+ duration?: number;
131
+ }): Promise<void>;
132
+
133
+ interface FlowOptions extends FlowInOptions {
134
+ trigger?: 'scroll' | 'load' | 'manual';
135
+ start?: string;
136
+ }
137
+ interface FlowInstance extends Instance {
138
+ play(): void;
139
+ }
140
+
141
+ /** Flow the container's children in, on scroll by default. */
142
+ declare function createFlow(container: HTMLElement | null, options?: FlowOptions): FlowInstance;
143
+
144
+ interface PopOptions {
145
+ scale?: number;
146
+ duration?: number;
147
+ delay?: number;
148
+ trigger?: 'scroll' | 'load' | 'manual';
149
+ start?: string;
150
+ }
151
+ interface PopInstance extends Instance {
152
+ play(): void;
153
+ }
154
+ declare function createPop(el: HTMLElement | null, options?: PopOptions): PopInstance;
155
+
156
+ interface FitTextOptions {
157
+ /** Fraction of the available width to use; leaves room for side bearings. */
158
+ safety?: number;
159
+ }
160
+ interface FitTextInstance extends Instance {
161
+ refit(): void;
162
+ }
163
+ declare function createFitText(el: HTMLElement | null, options?: FitTextOptions): FitTextInstance;
164
+
165
+ interface StretchFooterOptions {
166
+ /** Spacer at the end of the flow; defaults to `[data-mk-phantom]` in the document. */
167
+ phantom?: HTMLElement | null;
168
+ /** Stretching title; defaults to `[data-mk-footer-title]` inside the footer. */
169
+ title?: HTMLElement | null;
170
+ /** Scroll smoothing (higher follows faster). */
171
+ lambda?: number;
172
+ }
173
+ type StretchFooterInstance = Instance;
174
+ declare function createStretchFooter(footer: HTMLElement | null, options?: StretchFooterOptions): StretchFooterInstance;
175
+
176
+ interface RadialMenuOptions {
177
+ /** Distance of the options from the toggle (any CSS length). */
178
+ radius?: string;
179
+ /** Angle of the first option, radians (π/2 → left, 0 → down). */
180
+ startAngle?: number;
181
+ /** Angle between options, radians. */
182
+ spacing?: number;
183
+ closeOnOutside?: boolean;
184
+ onToggle?: (open: boolean) => void;
185
+ }
186
+ interface RadialMenuInstance extends Instance {
187
+ open(): void;
188
+ close(): void;
189
+ toggle(): void;
190
+ readonly isOpen: boolean;
191
+ }
192
+ declare function createRadialMenu(root: HTMLElement | null, options?: RadialMenuOptions): RadialMenuInstance;
193
+
194
+ interface TabsOptions {
195
+ orientation?: 'horizontal' | 'vertical';
196
+ duration?: number;
197
+ onSelect?: (index: number, tab: HTMLElement) => void;
198
+ }
199
+ interface TabsInstance extends Instance {
200
+ select(index: number): void;
201
+ readonly index: number;
202
+ }
203
+ declare function createTabs(root: HTMLElement | null, options?: TabsOptions): TabsInstance;
204
+
205
+ interface CounterOptions {
206
+ /** Final value. Default: the number written in the element. */
207
+ to?: number;
208
+ from?: number;
209
+ duration?: number;
210
+ decimals?: number;
211
+ /** Intl locale for grouping and decimals. Default: the browser's. */
212
+ locale?: string;
213
+ prefix?: string;
214
+ suffix?: string;
215
+ trigger?: 'scroll' | 'load' | 'manual';
216
+ start?: string;
217
+ }
218
+ interface CounterInstance extends Instance {
219
+ /** Count from the start value to `to`. */
220
+ play(): void;
221
+ /** Count from the value shown to `value`. */
222
+ set(value: number): void;
223
+ }
224
+ declare function createCounter(el: HTMLElement | null, options?: CounterOptions): CounterInstance;
225
+
226
+ interface RevealRecipeOptions {
227
+ speed?: RevealSpeed;
228
+ /** CSS selector of the origin element (searched in the document). */
229
+ origin?: string;
230
+ delay?: number;
231
+ trigger?: 'manual' | 'load';
232
+ }
233
+ interface RevealInstance extends Instance {
234
+ /** Play the wave, optionally from another origin. */
235
+ play(origin?: Element | {
236
+ x: number;
237
+ y: number;
238
+ }): void;
239
+ }
240
+ declare function createReveal(el: HTMLElement | null, options?: RevealRecipeOptions): RevealInstance;
241
+
242
+ interface ReflowOptions {
243
+ selector?: string;
244
+ duration?: number;
245
+ }
246
+ interface ReflowInstance extends Instance {
247
+ capture(): void;
248
+ play(): void;
249
+ }
250
+ declare function createReflow(root: HTMLElement | null, options?: ReflowOptions): ReflowInstance;
251
+
252
+ interface SlotTextOptions {
253
+ direction?: 'down' | 'up';
254
+ /** ms per letter */
255
+ duration?: number;
256
+ /** ms between letters */
257
+ stagger?: number;
258
+ /** ms between the old letter leaving and the new one entering */
259
+ exitOffset?: number;
260
+ /** ms the letters take to fade */
261
+ colorFade?: number;
262
+ maxTilt?: number;
263
+ /** Initial text. Default: the element's text. Pass it when a framework owns the element (it must render no children). */
264
+ text?: string;
265
+ /** Add a visually hidden plain copy for screen readers (default). Turn off when you render your own. */
266
+ accessibleCopy?: boolean;
267
+ }
268
+ interface SlotTextInstance extends Instance {
269
+ set(text: string): void;
270
+ readonly text: string;
271
+ }
272
+ declare function createSlotText(el: HTMLElement | null, options?: SlotTextOptions): SlotTextInstance;
273
+
274
+ interface SortableLabels {
275
+ lifted?: (position: number, total: number) => string;
276
+ moved?: (position: number, total: number, group: string) => string;
277
+ dropped?: (position: number, total: number) => string;
278
+ cancelled?: string;
279
+ }
280
+ interface SortableOptions {
281
+ /** Reorder the DOM on drop (default). Off when a framework renders the list: answer onReorder. */
282
+ mutate?: boolean;
283
+ /** Drag only from [data-mk-sort-handle] (always so on touch screens). */
284
+ handle?: boolean;
285
+ autoScroll?: boolean;
286
+ /** The floating copy's spring (Stepbro: 1100 / 38). */
287
+ follow?: {
288
+ stiffness?: number;
289
+ damping?: number;
290
+ };
291
+ labels?: SortableLabels;
292
+ onReorder?: (detail: ReorderDetail) => void;
293
+ }
294
+ interface ReorderDetail {
295
+ id: string;
296
+ item: HTMLElement;
297
+ fromGroup: string;
298
+ toGroup: string;
299
+ fromIndex: number;
300
+ toIndex: number;
301
+ groupChanged: boolean;
302
+ /** Neighbours at the destination (Stepbro sends one to its API as the anchor). */
303
+ afterId: string | null;
304
+ beforeId: string | null;
305
+ }
306
+ interface SortableInstance extends Instance {
307
+ /** Stop a drag in progress: the item flies back. */
308
+ cancel(): void;
309
+ readonly dragging: boolean;
310
+ }
311
+ declare function createSortable(root: HTMLElement | null, options?: SortableOptions): SortableInstance;
312
+ /** Move one entry of an array (for onReorder in a single list): moveItem(list, fromIndex, toIndex). */
313
+ declare function moveItem<T>(list: readonly T[], from: number, to: number): T[];
314
+
315
+ interface MaskTextOptions {
316
+ by?: 'lines' | 'words' | 'chars';
317
+ /** Start offset in % of each piece (Siena's case titles: 120). */
318
+ y?: number;
319
+ duration?: number;
320
+ ease?: string;
321
+ delay?: number;
322
+ stagger?: number;
323
+ /** 'scroll' (default) plays when 80 % is visible; 'load' now; 'manual' waits for play(). */
324
+ trigger?: 'scroll' | 'load' | 'manual';
325
+ /** Play once and stay (OFFFICE's data-a-mod). */
326
+ once?: boolean;
327
+ }
328
+ interface MaskTextInstance extends Instance {
329
+ play(): void;
330
+ /** OFFFICE's exit: back down into the clips, 2 ms apart. */
331
+ hide(): void;
332
+ readonly split: SplitText | null;
333
+ }
334
+ declare function createMaskText(el: HTMLElement | null, options?: MaskTextOptions): MaskTextInstance;
335
+
336
+ interface CascadeOptions {
337
+ /** Seconds before the first child (also data-mk-delay). */
338
+ delay?: number;
339
+ duration?: number;
340
+ /** Seconds between children. */
341
+ step?: number;
342
+ once?: boolean;
343
+ trigger?: 'scroll' | 'load' | 'manual';
344
+ }
345
+ interface CascadeInstance extends Instance {
346
+ play(): void;
347
+ /** Every child back to its start state (what Siena does when the block leaves). */
348
+ reset(): void;
349
+ }
350
+ declare function createCascade(root: HTMLElement | null, options?: CascadeOptions): CascadeInstance;
351
+
352
+ interface TextRollOptions {
353
+ duration?: number;
354
+ stagger?: number;
355
+ /** [min, max] repeats of each letter's turn (Siena: 8–14). */
356
+ turns?: readonly [number, number];
357
+ /** 'load' (default) after `delay`; 'scroll' when it shows; 'hover'; 'manual'. */
358
+ trigger?: 'load' | 'scroll' | 'hover' | 'manual';
359
+ delay?: number;
360
+ /** Replay every n ms while visible and not scrolling (Siena: 6000). 0: off. */
361
+ interval?: number;
362
+ }
363
+ interface TextRollInstance extends Instance {
364
+ play(): void;
365
+ readonly timelines: gsap.core.Timeline[];
366
+ }
367
+ declare function createTextRoll(el: HTMLElement | null, options?: TextRollOptions): TextRollInstance;
368
+
369
+ interface LettersOptions {
370
+ effect?: 'scale' | 'blink';
371
+ /** Blink colours (default Dousan's pastels). */
372
+ colors?: string[];
373
+ /** Blink once 0.6 s after start (default true). */
374
+ autoplay?: boolean;
375
+ }
376
+ interface LettersInstance extends Instance {
377
+ /** Blink now (the scale effect follows the pointer). */
378
+ play(): void;
379
+ }
380
+ declare function createLetters(el: HTMLElement | null, options?: LettersOptions): LettersInstance;
381
+
382
+ interface ParallaxOptions {
383
+ amount?: number;
384
+ lerp?: number;
385
+ /** Follow the scroll (default). Off: only seek() moves it. */
386
+ scroll?: boolean;
387
+ }
388
+ interface ParallaxInstance extends Instance {
389
+ /** Show the state at progress 0…1. */
390
+ seek(progress: number): void;
391
+ }
392
+ declare function createParallax(root: HTMLElement | null, options?: ParallaxOptions): ParallaxInstance;
393
+
394
+ interface DepthGridOptions {
395
+ start?: string;
396
+ end?: string;
397
+ lerp?: number;
398
+ /** Follow the scroll (default). Off: only seek() moves it. */
399
+ scroll?: boolean;
400
+ }
401
+ interface DepthGridInstance extends Instance {
402
+ seek(progress: number): void;
403
+ }
404
+ declare function createDepthGrid(root: HTMLElement | null, options?: DepthGridOptions): DepthGridInstance;
405
+
406
+ interface FrameZoomOptions {
407
+ start?: string;
408
+ end?: string;
409
+ lerp?: number;
410
+ scroll?: boolean;
411
+ }
412
+ interface FrameZoomInstance extends Instance {
413
+ seek(progress: number): void;
414
+ /** Full frame (true) or back to the scroll (false). */
415
+ open(on: boolean): void;
416
+ readonly state: {
417
+ progress: number;
418
+ open: number;
419
+ };
420
+ }
421
+ declare function createFrameZoom(root: HTMLElement | null, options?: FrameZoomOptions): FrameZoomInstance;
422
+
423
+ interface ContrastOptions {
424
+ /** Sections to watch (default [data-mk-tone]). */
425
+ sections?: string;
426
+ /** Attribute written on the target (default data-mk-on). */
427
+ attribute?: string;
428
+ }
429
+ interface ContrastInstance extends Instance {
430
+ readonly tone: string | null;
431
+ }
432
+ declare function createContrast(target: HTMLElement | null, options?: ContrastOptions): ContrastInstance;
433
+
434
+ interface MarqueeOptions {
435
+ /** 'x' (default) or 'y' (Siena's vertical strip). */
436
+ axis?: 'x' | 'y';
437
+ /** Seconds per item. */
438
+ speed?: number;
439
+ reverse?: boolean;
440
+ }
441
+ interface MarqueeInstance extends Instance {
442
+ /** Recount the copies (after the content or size changed). */
443
+ refresh(): void;
444
+ }
445
+ declare function createMarquee(root: HTMLElement | null, options?: MarqueeOptions): MarqueeInstance;
446
+
447
+ interface CardDockOptions {
448
+ /** Milliseconds the cards stay spread out on load before stacking (iyo: 1600; 0 skips it). */
449
+ intro?: number;
450
+ }
451
+ interface CardDockInstance extends Instance {
452
+ expand(): void;
453
+ collapse(): void;
454
+ readonly expanded: boolean;
455
+ }
456
+ declare function createCardDock(root: HTMLElement | null, options?: CardDockOptions): CardDockInstance;
457
+
458
+ interface SnapStripOptions {
459
+ autoplay?: boolean;
460
+ /** Milliseconds between cards (iyo: 5000). */
461
+ interval?: number;
462
+ /** Milliseconds to wait after the reader touches it (iyo: 2000). */
463
+ resume?: number;
464
+ /** Milliseconds after it shows before autoplay starts (iyo's data-delay: 500). */
465
+ delay?: number;
466
+ }
467
+ interface SnapStripInstance extends Instance {
468
+ next(): void;
469
+ previous(): void;
470
+ /** Index of the card nearest the start edge. */
471
+ readonly index: number;
472
+ }
473
+ declare function createSnapStrip(root: HTMLElement | null, options?: SnapStripOptions): SnapStripInstance;
474
+
475
+ interface FillTextOptions {
476
+ /** Opacity the letters start at. */
477
+ from?: number;
478
+ /** ScrollTrigger-style positions, as in trackScroll. */
479
+ start?: string;
480
+ end?: string;
481
+ /** Follow the scroll (default). Off: only seek() moves it. */
482
+ scroll?: boolean;
483
+ }
484
+ interface FillTextInstance extends Instance {
485
+ /** Show the state at progress 0…1. */
486
+ seek(progress: number): void;
487
+ readonly progress: number;
488
+ }
489
+ declare function createFillText(el: HTMLElement | null, options?: FillTextOptions): FillTextInstance;
490
+
491
+ interface InfiniteReelOptions {
492
+ speed?: number;
493
+ friction?: number;
494
+ axis?: 'x' | 'y';
495
+ }
496
+ interface InfiniteReelInstance extends Instance {
497
+ moveBy(pixels: number): void;
498
+ pause(): void;
499
+ resume(): void;
500
+ readonly position: number;
501
+ }
502
+ declare function createInfiniteReel(root: HTMLElement | null, options?: InfiniteReelOptions): InfiniteReelInstance;
503
+
504
+ interface RepelBentoOptions {
505
+ distance?: number;
506
+ breakpoint?: number;
507
+ }
508
+ interface RepelBentoInstance extends Instance {
509
+ play(): void;
510
+ reset(): void;
511
+ }
512
+ declare function createRepelBento(root: HTMLElement | null, options?: RepelBentoOptions): RepelBentoInstance;
513
+
514
+ interface RotatorOptions {
515
+ interval?: number;
516
+ autoplay?: boolean;
517
+ index?: number;
518
+ onChange?: (index: number) => void;
519
+ }
520
+ interface RotatorInstance extends Instance {
521
+ select(index: number): void;
522
+ next(): void;
523
+ previous(): void;
524
+ readonly index: number;
525
+ }
526
+ declare function createRotator(root: HTMLElement | null, options?: RotatorOptions): RotatorInstance;
527
+
528
+ interface DragRulerOptions {
529
+ min?: number;
530
+ max?: number;
531
+ step?: number;
532
+ value?: number;
533
+ pixelsPerUnit?: number;
534
+ onChange?: (value: number) => void;
535
+ }
536
+ interface DragRulerInstance extends Instance {
537
+ set(value: number): void;
538
+ readonly value: number;
539
+ }
540
+ declare function createDragRuler(root: HTMLElement | null, options?: DragRulerOptions): DragRulerInstance;
541
+
542
+ interface DockPillOptions {
543
+ index?: number;
544
+ onSelect?: (index: number, item: HTMLElement) => void;
545
+ }
546
+ interface DockPillInstance extends Instance {
547
+ select(index: number): void;
548
+ readonly index: number;
549
+ }
550
+ declare function createDockPill(root: HTMLElement | null, options?: DockPillOptions): DockPillInstance;
551
+
552
+ /** `prefers-reduced-motion: reduce`. Always false during SSR. */
553
+ declare function reduced(): boolean;
554
+ /**
555
+ * Entrance animations run only with motion allowed and when the head safety net
556
+ * (see MK_HEAD_SCRIPT) has not given up on JavaScript.
557
+ */
558
+ declare function entrances(): boolean;
559
+ /**
560
+ * Inline this in <head> (before CSS paints). It enables the hidden entrance states
561
+ * (`.mk-js`) and reveals everything again (`.mk-failed`) if no recipe has started
562
+ * within 2.5 s — e.g. the bundle failed to load.
563
+ */
564
+ declare const MK_HEAD_SCRIPT = "(function(){var r=document.documentElement;r.classList.add('mk-js');setTimeout(function(){if(!r.classList.contains('mk-ready'))r.classList.add('mk-failed')},2500)})();";
565
+
566
+ export { type FitTextOptions as $, type TicketMenuInstance as A, createInfiniteReel as B, type CurvedCarouselInstance as C, createRepelBento as D, createRotator as E, createDragRuler as F, createDockPill as G, type CardDockInstance as H, type CardDockOptions as I, type CascadeInstance as J, type CascadeOptions as K, type ContrastInstance as L, MK_HEAD_SCRIPT as M, type ContrastOptions as N, type CounterInstance as O, type CounterOptions as P, type CurvedCarouselOptions as Q, type DepthGridInstance as R, type DepthGridOptions as S, type TicketMenuOptions as T, type DockPillInstance as U, type DockPillOptions as V, type DragRulerInstance as W, type DragRulerOptions as X, type FillTextInstance as Y, type FillTextOptions as Z, type FitTextInstance as _, createPile as a, type FlowInOptions as a0, type FlowInstance as a1, type FlowOptions as a2, type FlowOutOptions as a3, type FrameZoomInstance as a4, type FrameZoomOptions as a5, type InfiniteReelInstance as a6, type InfiniteReelOptions as a7, type LettersInstance as a8, type LettersOptions as a9, type SortableInstance as aA, type SortableLabels as aB, type SortableOptions as aC, type SpringCardsInstance as aD, type SpringCardsOptions as aE, type StretchFooterInstance as aF, type StretchFooterOptions as aG, type TabsInstance as aH, type TabsOptions as aI, type TextRollInstance as aJ, type TextRollOptions as aK, type WordsInstance as aL, type WordsOptions as aM, createCurvedCarousel as aN, createTicketMenu as aO, entrances as aP, flowIn as aQ, flowOut as aR, moveItem as aS, pileLayers as aT, pileStyle as aU, reduced as aV, stepChange as aW, type MarqueeInstance as aa, type MarqueeOptions as ab, type MaskTextInstance as ac, type MaskTextOptions as ad, type ParallaxInstance as ae, type ParallaxOptions as af, type PileInstance as ag, type PileLayer as ah, type PileOptions as ai, type PopInstance as aj, type PopOptions as ak, type RadialMenuInstance as al, type RadialMenuOptions as am, type ReflowInstance as an, type ReflowOptions as ao, type ReorderDetail as ap, type RepelBentoInstance as aq, type RepelBentoOptions as ar, type RevealInstance as as, type RevealRecipeOptions as at, type RotatorInstance as au, type RotatorOptions as av, type SlotTextInstance as aw, type SlotTextOptions as ax, type SnapStripInstance as ay, type SnapStripOptions as az, createWords as b, createSpringCards as c, createFlow as d, createPop as e, createFitText as f, createStretchFooter as g, createRadialMenu as h, createTabs as i, createCounter as j, createReveal as k, createReflow as l, createSlotText as m, createSortable as n, createMaskText as o, createCascade as p, createTextRoll as q, createLetters as r, createParallax as s, createDepthGrid as t, createFrameZoom as u, createContrast as v, createMarquee as w, createCardDock as x, createSnapStrip as y, createFillText as z };