@wardic/solid 0.0.0-stage → 1.0.0-rc.1

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 (994) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +26 -2
  3. package/THIRD_PARTY_NOTICES.md +145 -0
  4. package/dist/browser/animation-controls.js +150 -0
  5. package/dist/browser/animation-controls.js.map +1 -0
  6. package/dist/browser/animation-frame.js +29 -0
  7. package/dist/browser/animation-frame.js.map +1 -0
  8. package/dist/browser/appear.js +727 -0
  9. package/dist/browser/appear.js.map +1 -0
  10. package/dist/browser/arc.js +21 -0
  11. package/dist/browser/arc.js.map +1 -0
  12. package/dist/browser/bridge.js +69 -0
  13. package/dist/browser/bridge.js.map +1 -0
  14. package/dist/browser/complete.js +30 -0
  15. package/dist/browser/complete.js.map +1 -0
  16. package/dist/browser/config.js +2 -0
  17. package/dist/browser/config.js.map +1 -0
  18. package/dist/browser/create-animate.js +41 -0
  19. package/dist/browser/create-animate.js.map +1 -0
  20. package/dist/browser/create-ward.js +1001 -0
  21. package/dist/browser/create-ward.js.map +1 -0
  22. package/dist/browser/cycle-index.js +17 -0
  23. package/dist/browser/cycle-index.js.map +1 -0
  24. package/dist/browser/cycle.js +31 -0
  25. package/dist/browser/cycle.js.map +1 -0
  26. package/dist/browser/directive.js +80 -0
  27. package/dist/browser/directive.js.map +1 -0
  28. package/dist/browser/drag-constraints.js +76 -0
  29. package/dist/browser/drag-constraints.js.map +1 -0
  30. package/dist/browser/drag-controls.js +51 -0
  31. package/dist/browser/drag-controls.js.map +1 -0
  32. package/dist/browser/drag-samples.js +40 -0
  33. package/dist/browser/drag-samples.js.map +1 -0
  34. package/dist/browser/drag-sensor.js +35 -0
  35. package/dist/browser/drag-sensor.js.map +1 -0
  36. package/dist/browser/drag-track.js +817 -0
  37. package/dist/browser/drag-track.js.map +1 -0
  38. package/dist/browser/drag-transition.js +56 -0
  39. package/dist/browser/drag-transition.js.map +1 -0
  40. package/dist/browser/drag.js +44 -0
  41. package/dist/browser/drag.js.map +1 -0
  42. package/dist/browser/element-style.js +67 -0
  43. package/dist/browser/element-style.js.map +1 -0
  44. package/dist/browser/element.js +353 -0
  45. package/dist/browser/element.js.map +1 -0
  46. package/dist/browser/feature-section.js +17 -0
  47. package/dist/browser/feature-section.js.map +1 -0
  48. package/dist/browser/feature.js +261 -0
  49. package/dist/browser/feature.js.map +1 -0
  50. package/dist/browser/features/all.js +10 -0
  51. package/dist/browser/features/all.js.map +1 -0
  52. package/dist/browser/features/colors.js +33 -0
  53. package/dist/browser/features/colors.js.map +1 -0
  54. package/dist/browser/features/dom-animation.js +7 -0
  55. package/dist/browser/features/dom-animation.js.map +1 -0
  56. package/dist/browser/features/dom-max.js +4 -0
  57. package/dist/browser/features/dom-max.js.map +1 -0
  58. package/dist/browser/features/drag.js +28 -0
  59. package/dist/browser/features/drag.js.map +1 -0
  60. package/dist/browser/features/focus.js +18 -0
  61. package/dist/browser/features/focus.js.map +1 -0
  62. package/dist/browser/features/hover.js +18 -0
  63. package/dist/browser/features/hover.js.map +1 -0
  64. package/dist/browser/features/in-view.js +18 -0
  65. package/dist/browser/features/in-view.js.map +1 -0
  66. package/dist/browser/features/input.js +30 -0
  67. package/dist/browser/features/input.js.map +1 -0
  68. package/dist/browser/features/keys.js +19 -0
  69. package/dist/browser/features/keys.js.map +1 -0
  70. package/dist/browser/features/layout.js +33 -0
  71. package/dist/browser/features/layout.js.map +1 -0
  72. package/dist/browser/features/pan.js +18 -0
  73. package/dist/browser/features/pan.js.map +1 -0
  74. package/dist/browser/features/press.js +12 -0
  75. package/dist/browser/features/press.js.map +1 -0
  76. package/dist/browser/focus-sensor.js +23 -0
  77. package/dist/browser/focus-sensor.js.map +1 -0
  78. package/dist/browser/frame-time.js +40 -0
  79. package/dist/browser/frame-time.js.map +1 -0
  80. package/dist/browser/gesture-callbacks.js +172 -0
  81. package/dist/browser/gesture-callbacks.js.map +1 -0
  82. package/dist/browser/gesture-features.js +29 -0
  83. package/dist/browser/gesture-features.js.map +1 -0
  84. package/dist/browser/gesture-info.js +43 -0
  85. package/dist/browser/gesture-info.js.map +1 -0
  86. package/dist/browser/hover-sensor.js +29 -0
  87. package/dist/browser/hover-sensor.js.map +1 -0
  88. package/dist/browser/imperative.js +614 -0
  89. package/dist/browser/imperative.js.map +1 -0
  90. package/dist/browser/index.js +165 -0
  91. package/dist/browser/index.js.map +1 -0
  92. package/dist/browser/instant.js +51 -0
  93. package/dist/browser/instant.js.map +1 -0
  94. package/dist/browser/layout-group.js +27 -0
  95. package/dist/browser/layout-group.js.map +1 -0
  96. package/dist/browser/layout-member.js +362 -0
  97. package/dist/browser/layout-member.js.map +1 -0
  98. package/dist/browser/layout-projection.js +19 -0
  99. package/dist/browser/layout-projection.js.map +1 -0
  100. package/dist/browser/layout.js +91 -0
  101. package/dist/browser/layout.js.map +1 -0
  102. package/dist/browser/live-style.js +313 -0
  103. package/dist/browser/live-style.js.map +1 -0
  104. package/dist/browser/live-value.js +252 -0
  105. package/dist/browser/live-value.js.map +1 -0
  106. package/dist/browser/motion-props.js +172 -0
  107. package/dist/browser/motion-props.js.map +1 -0
  108. package/dist/browser/owner-scope.js +29 -0
  109. package/dist/browser/owner-scope.js.map +1 -0
  110. package/dist/browser/page-point.js +92 -0
  111. package/dist/browser/page-point.js.map +1 -0
  112. package/dist/browser/presence-controller.js +1324 -0
  113. package/dist/browser/presence-controller.js.map +1 -0
  114. package/dist/browser/presence-record.js +27 -0
  115. package/dist/browser/presence-record.js.map +1 -0
  116. package/dist/browser/presence.js +207 -0
  117. package/dist/browser/presence.js.map +1 -0
  118. package/dist/browser/press-sensor.js +30 -0
  119. package/dist/browser/press-sensor.js.map +1 -0
  120. package/dist/browser/press.js +24 -0
  121. package/dist/browser/press.js.map +1 -0
  122. package/dist/browser/provider.js +445 -0
  123. package/dist/browser/provider.js.map +1 -0
  124. package/dist/browser/reactivity.js +9 -0
  125. package/dist/browser/reactivity.js.map +1 -0
  126. package/dist/browser/reorder-input.js +46 -0
  127. package/dist/browser/reorder-input.js.map +1 -0
  128. package/dist/browser/reorder.js +543 -0
  129. package/dist/browser/reorder.js.map +1 -0
  130. package/dist/browser/retarget-legs.js +1019 -0
  131. package/dist/browser/retarget-legs.js.map +1 -0
  132. package/dist/browser/runtime.js +249 -0
  133. package/dist/browser/runtime.js.map +1 -0
  134. package/dist/browser/sensors.js +172 -0
  135. package/dist/browser/sensors.js.map +1 -0
  136. package/dist/browser/server-interpolators.js +20 -0
  137. package/dist/browser/server-interpolators.js.map +1 -0
  138. package/dist/browser/server.js +20 -0
  139. package/dist/browser/server.js.map +1 -0
  140. package/dist/browser/solid-reactivity.js +26 -0
  141. package/dist/browser/solid-reactivity.js.map +1 -0
  142. package/dist/browser/spine.js +2939 -0
  143. package/dist/browser/spine.js.map +1 -0
  144. package/dist/browser/stagger.js +13 -0
  145. package/dist/browser/stagger.js.map +1 -0
  146. package/dist/browser/unstable/v2/bridge.js +76 -0
  147. package/dist/browser/unstable/v2/bridge.js.map +1 -0
  148. package/dist/browser/unstable/v2/complete.js +29 -0
  149. package/dist/browser/unstable/v2/complete.js.map +1 -0
  150. package/dist/browser/unstable/v2/config-view.js +111 -0
  151. package/dist/browser/unstable/v2/config-view.js.map +1 -0
  152. package/dist/browser/unstable/v2/create-animate.js +102 -0
  153. package/dist/browser/unstable/v2/create-animate.js.map +1 -0
  154. package/dist/browser/unstable/v2/cycle.js +30 -0
  155. package/dist/browser/unstable/v2/cycle.js.map +1 -0
  156. package/dist/browser/unstable/v2/drag-sensor.js +34 -0
  157. package/dist/browser/unstable/v2/drag-sensor.js.map +1 -0
  158. package/dist/browser/unstable/v2/element.js +393 -0
  159. package/dist/browser/unstable/v2/element.js.map +1 -0
  160. package/dist/browser/unstable/v2/feature-section.js +27 -0
  161. package/dist/browser/unstable/v2/feature-section.js.map +1 -0
  162. package/dist/browser/unstable/v2/focus-sensor.js +23 -0
  163. package/dist/browser/unstable/v2/focus-sensor.js.map +1 -0
  164. package/dist/browser/unstable/v2/hover-sensor.js +28 -0
  165. package/dist/browser/unstable/v2/hover-sensor.js.map +1 -0
  166. package/dist/browser/unstable/v2/index.js +114 -0
  167. package/dist/browser/unstable/v2/index.js.map +1 -0
  168. package/dist/browser/unstable/v2/layout-projection.js +18 -0
  169. package/dist/browser/unstable/v2/layout-projection.js.map +1 -0
  170. package/dist/browser/unstable/v2/layout.js +71 -0
  171. package/dist/browser/unstable/v2/layout.js.map +1 -0
  172. package/dist/browser/unstable/v2/lifecycle.js +455 -0
  173. package/dist/browser/unstable/v2/lifecycle.js.map +1 -0
  174. package/dist/browser/unstable/v2/live-value.js +264 -0
  175. package/dist/browser/unstable/v2/live-value.js.map +1 -0
  176. package/dist/browser/unstable/v2/presence-handle.js +146 -0
  177. package/dist/browser/unstable/v2/presence-handle.js.map +1 -0
  178. package/dist/browser/unstable/v2/presence-hooks.js +142 -0
  179. package/dist/browser/unstable/v2/presence-hooks.js.map +1 -0
  180. package/dist/browser/unstable/v2/presence.js +124 -0
  181. package/dist/browser/unstable/v2/presence.js.map +1 -0
  182. package/dist/browser/unstable/v2/press-sensor.js +29 -0
  183. package/dist/browser/unstable/v2/press-sensor.js.map +1 -0
  184. package/dist/browser/unstable/v2/provider.js +457 -0
  185. package/dist/browser/unstable/v2/provider.js.map +1 -0
  186. package/dist/browser/unstable/v2/reorder.js +663 -0
  187. package/dist/browser/unstable/v2/reorder.js.map +1 -0
  188. package/dist/browser/unstable/v2/sensors.js +138 -0
  189. package/dist/browser/unstable/v2/sensors.js.map +1 -0
  190. package/dist/browser/unstable/v2/solid-reactivity.js +82 -0
  191. package/dist/browser/unstable/v2/solid-reactivity.js.map +1 -0
  192. package/dist/browser/unstable/v2/variant-node.js +395 -0
  193. package/dist/browser/unstable/v2/variant-node.js.map +1 -0
  194. package/dist/browser/unstable/v2/w.js +23 -0
  195. package/dist/browser/unstable/v2/w.js.map +1 -0
  196. package/dist/browser/unstable/v2/waiters.js +185 -0
  197. package/dist/browser/unstable/v2/waiters.js.map +1 -0
  198. package/dist/browser/unstable/v2/ward.js +1620 -0
  199. package/dist/browser/unstable/v2/ward.js.map +1 -0
  200. package/dist/browser/unstable/v2/wardic-config.js +40 -0
  201. package/dist/browser/unstable/v2/wardic-config.js.map +1 -0
  202. package/dist/browser/unstable/v2/wardic.js +16 -0
  203. package/dist/browser/unstable/v2/wardic.js.map +1 -0
  204. package/dist/browser/variant-node.js +308 -0
  205. package/dist/browser/variant-node.js.map +1 -0
  206. package/dist/browser/variant-target.js +224 -0
  207. package/dist/browser/variant-target.js.map +1 -0
  208. package/dist/browser/variant-tree.js +394 -0
  209. package/dist/browser/variant-tree.js.map +1 -0
  210. package/dist/browser/variants.js +43 -0
  211. package/dist/browser/variants.js.map +1 -0
  212. package/dist/browser/w.js +25 -0
  213. package/dist/browser/w.js.map +1 -0
  214. package/dist/browser/ward-keys.js +2 -0
  215. package/dist/browser/ward-keys.js.map +1 -0
  216. package/dist/browser/wardic-component.js +74 -0
  217. package/dist/browser/wardic-component.js.map +1 -0
  218. package/dist/browser/wardic-config-value.js +91 -0
  219. package/dist/browser/wardic-config-value.js.map +1 -0
  220. package/dist/browser/wardic-config.js +42 -0
  221. package/dist/browser/wardic-config.js.map +1 -0
  222. package/dist/browser/wardic.js +31 -0
  223. package/dist/browser/wardic.js.map +1 -0
  224. package/dist/server/animation-controls.js +150 -0
  225. package/dist/server/animation-controls.js.map +1 -0
  226. package/dist/server/animation-frame.js +29 -0
  227. package/dist/server/animation-frame.js.map +1 -0
  228. package/dist/server/appear.js +727 -0
  229. package/dist/server/appear.js.map +1 -0
  230. package/dist/server/arc.js +21 -0
  231. package/dist/server/arc.js.map +1 -0
  232. package/dist/server/bridge.js +69 -0
  233. package/dist/server/bridge.js.map +1 -0
  234. package/dist/server/complete.js +30 -0
  235. package/dist/server/complete.js.map +1 -0
  236. package/dist/server/config.js +2 -0
  237. package/dist/server/config.js.map +1 -0
  238. package/dist/server/create-animate.js +41 -0
  239. package/dist/server/create-animate.js.map +1 -0
  240. package/dist/server/create-ward.js +1001 -0
  241. package/dist/server/create-ward.js.map +1 -0
  242. package/dist/server/cycle-index.js +17 -0
  243. package/dist/server/cycle-index.js.map +1 -0
  244. package/dist/server/cycle.js +31 -0
  245. package/dist/server/cycle.js.map +1 -0
  246. package/dist/server/directive.js +80 -0
  247. package/dist/server/directive.js.map +1 -0
  248. package/dist/server/drag-constraints.js +76 -0
  249. package/dist/server/drag-constraints.js.map +1 -0
  250. package/dist/server/drag-controls.js +51 -0
  251. package/dist/server/drag-controls.js.map +1 -0
  252. package/dist/server/drag-samples.js +40 -0
  253. package/dist/server/drag-samples.js.map +1 -0
  254. package/dist/server/drag-sensor.js +35 -0
  255. package/dist/server/drag-sensor.js.map +1 -0
  256. package/dist/server/drag-track.js +817 -0
  257. package/dist/server/drag-track.js.map +1 -0
  258. package/dist/server/drag-transition.js +56 -0
  259. package/dist/server/drag-transition.js.map +1 -0
  260. package/dist/server/drag.js +44 -0
  261. package/dist/server/drag.js.map +1 -0
  262. package/dist/server/element-style.js +67 -0
  263. package/dist/server/element-style.js.map +1 -0
  264. package/dist/server/element.js +353 -0
  265. package/dist/server/element.js.map +1 -0
  266. package/dist/server/feature-section.js +17 -0
  267. package/dist/server/feature-section.js.map +1 -0
  268. package/dist/server/feature.js +261 -0
  269. package/dist/server/feature.js.map +1 -0
  270. package/dist/server/features/all.js +10 -0
  271. package/dist/server/features/all.js.map +1 -0
  272. package/dist/server/features/colors.js +33 -0
  273. package/dist/server/features/colors.js.map +1 -0
  274. package/dist/server/features/dom-animation.js +7 -0
  275. package/dist/server/features/dom-animation.js.map +1 -0
  276. package/dist/server/features/dom-max.js +4 -0
  277. package/dist/server/features/dom-max.js.map +1 -0
  278. package/dist/server/features/drag.js +28 -0
  279. package/dist/server/features/drag.js.map +1 -0
  280. package/dist/server/features/focus.js +18 -0
  281. package/dist/server/features/focus.js.map +1 -0
  282. package/dist/server/features/hover.js +18 -0
  283. package/dist/server/features/hover.js.map +1 -0
  284. package/dist/server/features/in-view.js +18 -0
  285. package/dist/server/features/in-view.js.map +1 -0
  286. package/dist/server/features/input.js +30 -0
  287. package/dist/server/features/input.js.map +1 -0
  288. package/dist/server/features/keys.js +19 -0
  289. package/dist/server/features/keys.js.map +1 -0
  290. package/dist/server/features/layout.js +33 -0
  291. package/dist/server/features/layout.js.map +1 -0
  292. package/dist/server/features/pan.js +18 -0
  293. package/dist/server/features/pan.js.map +1 -0
  294. package/dist/server/features/press.js +12 -0
  295. package/dist/server/features/press.js.map +1 -0
  296. package/dist/server/focus-sensor.js +23 -0
  297. package/dist/server/focus-sensor.js.map +1 -0
  298. package/dist/server/frame-time.js +40 -0
  299. package/dist/server/frame-time.js.map +1 -0
  300. package/dist/server/gesture-callbacks.js +172 -0
  301. package/dist/server/gesture-callbacks.js.map +1 -0
  302. package/dist/server/gesture-features.js +29 -0
  303. package/dist/server/gesture-features.js.map +1 -0
  304. package/dist/server/gesture-info.js +43 -0
  305. package/dist/server/gesture-info.js.map +1 -0
  306. package/dist/server/hover-sensor.js +29 -0
  307. package/dist/server/hover-sensor.js.map +1 -0
  308. package/dist/server/imperative.js +614 -0
  309. package/dist/server/imperative.js.map +1 -0
  310. package/dist/server/index.js +165 -0
  311. package/dist/server/index.js.map +1 -0
  312. package/dist/server/instant.js +51 -0
  313. package/dist/server/instant.js.map +1 -0
  314. package/dist/server/layout-group.js +27 -0
  315. package/dist/server/layout-group.js.map +1 -0
  316. package/dist/server/layout-member.js +362 -0
  317. package/dist/server/layout-member.js.map +1 -0
  318. package/dist/server/layout-projection.js +19 -0
  319. package/dist/server/layout-projection.js.map +1 -0
  320. package/dist/server/layout.js +90 -0
  321. package/dist/server/layout.js.map +1 -0
  322. package/dist/server/live-style.js +313 -0
  323. package/dist/server/live-style.js.map +1 -0
  324. package/dist/server/live-value.js +252 -0
  325. package/dist/server/live-value.js.map +1 -0
  326. package/dist/server/motion-props.js +172 -0
  327. package/dist/server/motion-props.js.map +1 -0
  328. package/dist/server/owner-scope.js +29 -0
  329. package/dist/server/owner-scope.js.map +1 -0
  330. package/dist/server/page-point.js +92 -0
  331. package/dist/server/page-point.js.map +1 -0
  332. package/dist/server/presence-controller.js +1324 -0
  333. package/dist/server/presence-controller.js.map +1 -0
  334. package/dist/server/presence-record.js +27 -0
  335. package/dist/server/presence-record.js.map +1 -0
  336. package/dist/server/presence.js +207 -0
  337. package/dist/server/presence.js.map +1 -0
  338. package/dist/server/press-sensor.js +30 -0
  339. package/dist/server/press-sensor.js.map +1 -0
  340. package/dist/server/press.js +24 -0
  341. package/dist/server/press.js.map +1 -0
  342. package/dist/server/provider.js +439 -0
  343. package/dist/server/provider.js.map +1 -0
  344. package/dist/server/reactivity.js +9 -0
  345. package/dist/server/reactivity.js.map +1 -0
  346. package/dist/server/reorder-input.js +46 -0
  347. package/dist/server/reorder-input.js.map +1 -0
  348. package/dist/server/reorder.js +543 -0
  349. package/dist/server/reorder.js.map +1 -0
  350. package/dist/server/retarget-legs.js +1019 -0
  351. package/dist/server/retarget-legs.js.map +1 -0
  352. package/dist/server/runtime.js +249 -0
  353. package/dist/server/runtime.js.map +1 -0
  354. package/dist/server/sensors.js +172 -0
  355. package/dist/server/sensors.js.map +1 -0
  356. package/dist/server/server-interpolators.js +20 -0
  357. package/dist/server/server-interpolators.js.map +1 -0
  358. package/dist/server/server.js +20 -0
  359. package/dist/server/server.js.map +1 -0
  360. package/dist/server/solid-reactivity.js +26 -0
  361. package/dist/server/solid-reactivity.js.map +1 -0
  362. package/dist/server/spine.js +2939 -0
  363. package/dist/server/spine.js.map +1 -0
  364. package/dist/server/stagger.js +13 -0
  365. package/dist/server/stagger.js.map +1 -0
  366. package/dist/server/unstable/v2/bridge.js +76 -0
  367. package/dist/server/unstable/v2/bridge.js.map +1 -0
  368. package/dist/server/unstable/v2/complete.js +29 -0
  369. package/dist/server/unstable/v2/complete.js.map +1 -0
  370. package/dist/server/unstable/v2/config-view.js +111 -0
  371. package/dist/server/unstable/v2/config-view.js.map +1 -0
  372. package/dist/server/unstable/v2/create-animate.js +102 -0
  373. package/dist/server/unstable/v2/create-animate.js.map +1 -0
  374. package/dist/server/unstable/v2/cycle.js +30 -0
  375. package/dist/server/unstable/v2/cycle.js.map +1 -0
  376. package/dist/server/unstable/v2/drag-sensor.js +34 -0
  377. package/dist/server/unstable/v2/drag-sensor.js.map +1 -0
  378. package/dist/server/unstable/v2/element.js +402 -0
  379. package/dist/server/unstable/v2/element.js.map +1 -0
  380. package/dist/server/unstable/v2/feature-section.js +27 -0
  381. package/dist/server/unstable/v2/feature-section.js.map +1 -0
  382. package/dist/server/unstable/v2/focus-sensor.js +23 -0
  383. package/dist/server/unstable/v2/focus-sensor.js.map +1 -0
  384. package/dist/server/unstable/v2/hover-sensor.js +28 -0
  385. package/dist/server/unstable/v2/hover-sensor.js.map +1 -0
  386. package/dist/server/unstable/v2/index.js +114 -0
  387. package/dist/server/unstable/v2/index.js.map +1 -0
  388. package/dist/server/unstable/v2/layout-projection.js +18 -0
  389. package/dist/server/unstable/v2/layout-projection.js.map +1 -0
  390. package/dist/server/unstable/v2/layout.js +88 -0
  391. package/dist/server/unstable/v2/layout.js.map +1 -0
  392. package/dist/server/unstable/v2/lifecycle.js +455 -0
  393. package/dist/server/unstable/v2/lifecycle.js.map +1 -0
  394. package/dist/server/unstable/v2/live-value.js +264 -0
  395. package/dist/server/unstable/v2/live-value.js.map +1 -0
  396. package/dist/server/unstable/v2/presence-handle.js +146 -0
  397. package/dist/server/unstable/v2/presence-handle.js.map +1 -0
  398. package/dist/server/unstable/v2/presence-hooks.js +142 -0
  399. package/dist/server/unstable/v2/presence-hooks.js.map +1 -0
  400. package/dist/server/unstable/v2/presence.js +142 -0
  401. package/dist/server/unstable/v2/presence.js.map +1 -0
  402. package/dist/server/unstable/v2/press-sensor.js +29 -0
  403. package/dist/server/unstable/v2/press-sensor.js.map +1 -0
  404. package/dist/server/unstable/v2/provider.js +475 -0
  405. package/dist/server/unstable/v2/provider.js.map +1 -0
  406. package/dist/server/unstable/v2/reorder.js +733 -0
  407. package/dist/server/unstable/v2/reorder.js.map +1 -0
  408. package/dist/server/unstable/v2/sensors.js +138 -0
  409. package/dist/server/unstable/v2/sensors.js.map +1 -0
  410. package/dist/server/unstable/v2/solid-reactivity.js +82 -0
  411. package/dist/server/unstable/v2/solid-reactivity.js.map +1 -0
  412. package/dist/server/unstable/v2/variant-node.js +395 -0
  413. package/dist/server/unstable/v2/variant-node.js.map +1 -0
  414. package/dist/server/unstable/v2/w.js +23 -0
  415. package/dist/server/unstable/v2/w.js.map +1 -0
  416. package/dist/server/unstable/v2/waiters.js +185 -0
  417. package/dist/server/unstable/v2/waiters.js.map +1 -0
  418. package/dist/server/unstable/v2/ward.js +1653 -0
  419. package/dist/server/unstable/v2/ward.js.map +1 -0
  420. package/dist/server/unstable/v2/wardic-config.js +49 -0
  421. package/dist/server/unstable/v2/wardic-config.js.map +1 -0
  422. package/dist/server/unstable/v2/wardic.js +16 -0
  423. package/dist/server/unstable/v2/wardic.js.map +1 -0
  424. package/dist/server/variant-node.js +308 -0
  425. package/dist/server/variant-node.js.map +1 -0
  426. package/dist/server/variant-target.js +224 -0
  427. package/dist/server/variant-target.js.map +1 -0
  428. package/dist/server/variant-tree.js +394 -0
  429. package/dist/server/variant-tree.js.map +1 -0
  430. package/dist/server/variants.js +43 -0
  431. package/dist/server/variants.js.map +1 -0
  432. package/dist/server/w.js +25 -0
  433. package/dist/server/w.js.map +1 -0
  434. package/dist/server/ward-keys.js +2 -0
  435. package/dist/server/ward-keys.js.map +1 -0
  436. package/dist/server/wardic-component.js +74 -0
  437. package/dist/server/wardic-component.js.map +1 -0
  438. package/dist/server/wardic-config-value.js +91 -0
  439. package/dist/server/wardic-config-value.js.map +1 -0
  440. package/dist/server/wardic-config.js +42 -0
  441. package/dist/server/wardic-config.js.map +1 -0
  442. package/dist/server/wardic.js +31 -0
  443. package/dist/server/wardic.js.map +1 -0
  444. package/dist/solid/animation-controls.d.ts +104 -0
  445. package/dist/solid/animation-controls.d.ts.map +1 -0
  446. package/dist/solid/animation-controls.js +129 -0
  447. package/dist/solid/animation-controls.js.map +1 -0
  448. package/dist/solid/animation-frame.d.ts +11 -0
  449. package/dist/solid/animation-frame.d.ts.map +1 -0
  450. package/dist/solid/animation-frame.js +31 -0
  451. package/dist/solid/animation-frame.js.map +1 -0
  452. package/dist/solid/appear.d.ts +205 -0
  453. package/dist/solid/appear.d.ts.map +1 -0
  454. package/dist/solid/appear.js +519 -0
  455. package/dist/solid/appear.js.map +1 -0
  456. package/dist/solid/arc.d.ts +25 -0
  457. package/dist/solid/arc.d.ts.map +1 -0
  458. package/dist/solid/arc.js +21 -0
  459. package/dist/solid/arc.js.map +1 -0
  460. package/dist/solid/bridge.d.ts +53 -0
  461. package/dist/solid/bridge.d.ts.map +1 -0
  462. package/dist/solid/bridge.js +66 -0
  463. package/dist/solid/bridge.js.map +1 -0
  464. package/dist/solid/complete.d.ts +31 -0
  465. package/dist/solid/complete.d.ts.map +1 -0
  466. package/dist/solid/complete.js +27 -0
  467. package/dist/solid/complete.js.map +1 -0
  468. package/dist/solid/config.d.ts +693 -0
  469. package/dist/solid/config.d.ts.map +1 -0
  470. package/dist/solid/config.js +2 -0
  471. package/dist/solid/config.js.map +1 -0
  472. package/dist/solid/create-animate.d.ts +17 -0
  473. package/dist/solid/create-animate.d.ts.map +1 -0
  474. package/dist/solid/create-animate.js +42 -0
  475. package/dist/solid/create-animate.js.map +1 -0
  476. package/dist/solid/create-ward.d.ts +278 -0
  477. package/dist/solid/create-ward.d.ts.map +1 -0
  478. package/dist/solid/create-ward.jsx +874 -0
  479. package/dist/solid/create-ward.jsx.map +1 -0
  480. package/dist/solid/cycle-index.d.ts +7 -0
  481. package/dist/solid/cycle-index.d.ts.map +1 -0
  482. package/dist/solid/cycle-index.js +17 -0
  483. package/dist/solid/cycle-index.js.map +1 -0
  484. package/dist/solid/cycle.d.ts +21 -0
  485. package/dist/solid/cycle.d.ts.map +1 -0
  486. package/dist/solid/cycle.js +31 -0
  487. package/dist/solid/cycle.js.map +1 -0
  488. package/dist/solid/directive.d.ts +21 -0
  489. package/dist/solid/directive.d.ts.map +1 -0
  490. package/dist/solid/directive.js +76 -0
  491. package/dist/solid/directive.js.map +1 -0
  492. package/dist/solid/drag-constraints.d.ts +46 -0
  493. package/dist/solid/drag-constraints.d.ts.map +1 -0
  494. package/dist/solid/drag-constraints.js +49 -0
  495. package/dist/solid/drag-constraints.js.map +1 -0
  496. package/dist/solid/drag-controls.d.ts +50 -0
  497. package/dist/solid/drag-controls.d.ts.map +1 -0
  498. package/dist/solid/drag-controls.js +51 -0
  499. package/dist/solid/drag-controls.js.map +1 -0
  500. package/dist/solid/drag-samples.d.ts +34 -0
  501. package/dist/solid/drag-samples.d.ts.map +1 -0
  502. package/dist/solid/drag-samples.js +28 -0
  503. package/dist/solid/drag-samples.js.map +1 -0
  504. package/dist/solid/drag-sensor.d.ts +23 -0
  505. package/dist/solid/drag-sensor.d.ts.map +1 -0
  506. package/dist/solid/drag-sensor.js +33 -0
  507. package/dist/solid/drag-sensor.js.map +1 -0
  508. package/dist/solid/drag-track.d.ts +227 -0
  509. package/dist/solid/drag-track.d.ts.map +1 -0
  510. package/dist/solid/drag-track.js +631 -0
  511. package/dist/solid/drag-track.js.map +1 -0
  512. package/dist/solid/drag-transition.d.ts +20 -0
  513. package/dist/solid/drag-transition.d.ts.map +1 -0
  514. package/dist/solid/drag-transition.js +31 -0
  515. package/dist/solid/drag-transition.js.map +1 -0
  516. package/dist/solid/drag.d.ts +23 -0
  517. package/dist/solid/drag.d.ts.map +1 -0
  518. package/dist/solid/drag.js +44 -0
  519. package/dist/solid/drag.js.map +1 -0
  520. package/dist/solid/element-style.d.ts +60 -0
  521. package/dist/solid/element-style.d.ts.map +1 -0
  522. package/dist/solid/element-style.js +50 -0
  523. package/dist/solid/element-style.js.map +1 -0
  524. package/dist/solid/element.d.ts +73 -0
  525. package/dist/solid/element.d.ts.map +1 -0
  526. package/dist/solid/element.jsx +326 -0
  527. package/dist/solid/element.jsx.map +1 -0
  528. package/dist/solid/feature-section.d.ts +18 -0
  529. package/dist/solid/feature-section.d.ts.map +1 -0
  530. package/dist/solid/feature-section.js +13 -0
  531. package/dist/solid/feature-section.js.map +1 -0
  532. package/dist/solid/feature.d.ts +114 -0
  533. package/dist/solid/feature.d.ts.map +1 -0
  534. package/dist/solid/feature.js +248 -0
  535. package/dist/solid/feature.js.map +1 -0
  536. package/dist/solid/features/all.d.ts +10 -0
  537. package/dist/solid/features/all.d.ts.map +1 -0
  538. package/dist/solid/features/all.js +10 -0
  539. package/dist/solid/features/all.js.map +1 -0
  540. package/dist/solid/features/colors.d.ts +12 -0
  541. package/dist/solid/features/colors.d.ts.map +1 -0
  542. package/dist/solid/features/colors.js +34 -0
  543. package/dist/solid/features/colors.js.map +1 -0
  544. package/dist/solid/features/dom-animation.d.ts +11 -0
  545. package/dist/solid/features/dom-animation.d.ts.map +1 -0
  546. package/dist/solid/features/dom-animation.js +7 -0
  547. package/dist/solid/features/dom-animation.js.map +1 -0
  548. package/dist/solid/features/dom-max.d.ts +10 -0
  549. package/dist/solid/features/dom-max.d.ts.map +1 -0
  550. package/dist/solid/features/dom-max.js +4 -0
  551. package/dist/solid/features/dom-max.js.map +1 -0
  552. package/dist/solid/features/drag.d.ts +5 -0
  553. package/dist/solid/features/drag.d.ts.map +1 -0
  554. package/dist/solid/features/drag.js +28 -0
  555. package/dist/solid/features/drag.js.map +1 -0
  556. package/dist/solid/features/focus.d.ts +5 -0
  557. package/dist/solid/features/focus.d.ts.map +1 -0
  558. package/dist/solid/features/focus.js +16 -0
  559. package/dist/solid/features/focus.js.map +1 -0
  560. package/dist/solid/features/hover.d.ts +5 -0
  561. package/dist/solid/features/hover.d.ts.map +1 -0
  562. package/dist/solid/features/hover.js +16 -0
  563. package/dist/solid/features/hover.js.map +1 -0
  564. package/dist/solid/features/in-view.d.ts +5 -0
  565. package/dist/solid/features/in-view.d.ts.map +1 -0
  566. package/dist/solid/features/in-view.js +16 -0
  567. package/dist/solid/features/in-view.js.map +1 -0
  568. package/dist/solid/features/input.d.ts +26 -0
  569. package/dist/solid/features/input.d.ts.map +1 -0
  570. package/dist/solid/features/input.js +31 -0
  571. package/dist/solid/features/input.js.map +1 -0
  572. package/dist/solid/features/keys.d.ts +70 -0
  573. package/dist/solid/features/keys.d.ts.map +1 -0
  574. package/dist/solid/features/keys.js +26 -0
  575. package/dist/solid/features/keys.js.map +1 -0
  576. package/dist/solid/features/layout.d.ts +32 -0
  577. package/dist/solid/features/layout.d.ts.map +1 -0
  578. package/dist/solid/features/layout.js +34 -0
  579. package/dist/solid/features/layout.js.map +1 -0
  580. package/dist/solid/features/pan.d.ts +5 -0
  581. package/dist/solid/features/pan.d.ts.map +1 -0
  582. package/dist/solid/features/pan.js +16 -0
  583. package/dist/solid/features/pan.js.map +1 -0
  584. package/dist/solid/features/press.d.ts +11 -0
  585. package/dist/solid/features/press.d.ts.map +1 -0
  586. package/dist/solid/features/press.js +10 -0
  587. package/dist/solid/features/press.js.map +1 -0
  588. package/dist/solid/focus-sensor.d.ts +19 -0
  589. package/dist/solid/focus-sensor.d.ts.map +1 -0
  590. package/dist/solid/focus-sensor.js +23 -0
  591. package/dist/solid/focus-sensor.js.map +1 -0
  592. package/dist/solid/frame-time.d.ts +21 -0
  593. package/dist/solid/frame-time.d.ts.map +1 -0
  594. package/dist/solid/frame-time.js +41 -0
  595. package/dist/solid/frame-time.js.map +1 -0
  596. package/dist/solid/gesture-callbacks.d.ts +53 -0
  597. package/dist/solid/gesture-callbacks.d.ts.map +1 -0
  598. package/dist/solid/gesture-callbacks.js +184 -0
  599. package/dist/solid/gesture-callbacks.js.map +1 -0
  600. package/dist/solid/gesture-features.d.ts +28 -0
  601. package/dist/solid/gesture-features.d.ts.map +1 -0
  602. package/dist/solid/gesture-features.js +29 -0
  603. package/dist/solid/gesture-features.js.map +1 -0
  604. package/dist/solid/gesture-info.d.ts +59 -0
  605. package/dist/solid/gesture-info.d.ts.map +1 -0
  606. package/dist/solid/gesture-info.js +23 -0
  607. package/dist/solid/gesture-info.js.map +1 -0
  608. package/dist/solid/hover-sensor.d.ts +19 -0
  609. package/dist/solid/hover-sensor.d.ts.map +1 -0
  610. package/dist/solid/hover-sensor.js +23 -0
  611. package/dist/solid/hover-sensor.js.map +1 -0
  612. package/dist/solid/imperative.d.ts +195 -0
  613. package/dist/solid/imperative.d.ts.map +1 -0
  614. package/dist/solid/imperative.js +536 -0
  615. package/dist/solid/imperative.js.map +1 -0
  616. package/dist/solid/index.d.ts +180 -0
  617. package/dist/solid/index.d.ts.map +1 -0
  618. package/dist/solid/index.js +165 -0
  619. package/dist/solid/index.js.map +1 -0
  620. package/dist/solid/instant.d.ts +44 -0
  621. package/dist/solid/instant.d.ts.map +1 -0
  622. package/dist/solid/instant.js +49 -0
  623. package/dist/solid/instant.js.map +1 -0
  624. package/dist/solid/layout-group.d.ts +14 -0
  625. package/dist/solid/layout-group.d.ts.map +1 -0
  626. package/dist/solid/layout-group.js +27 -0
  627. package/dist/solid/layout-group.js.map +1 -0
  628. package/dist/solid/layout-member.d.ts +117 -0
  629. package/dist/solid/layout-member.d.ts.map +1 -0
  630. package/dist/solid/layout-member.js +164 -0
  631. package/dist/solid/layout-member.js.map +1 -0
  632. package/dist/solid/layout-projection.d.ts +22 -0
  633. package/dist/solid/layout-projection.d.ts.map +1 -0
  634. package/dist/solid/layout-projection.js +19 -0
  635. package/dist/solid/layout-projection.js.map +1 -0
  636. package/dist/solid/layout.d.ts +76 -0
  637. package/dist/solid/layout.d.ts.map +1 -0
  638. package/dist/solid/layout.jsx +80 -0
  639. package/dist/solid/layout.jsx.map +1 -0
  640. package/dist/solid/live-style.d.ts +147 -0
  641. package/dist/solid/live-style.d.ts.map +1 -0
  642. package/dist/solid/live-style.js +304 -0
  643. package/dist/solid/live-style.js.map +1 -0
  644. package/dist/solid/live-value.d.ts +144 -0
  645. package/dist/solid/live-value.d.ts.map +1 -0
  646. package/dist/solid/live-value.js +223 -0
  647. package/dist/solid/live-value.js.map +1 -0
  648. package/dist/solid/motion-props.d.ts +75 -0
  649. package/dist/solid/motion-props.d.ts.map +1 -0
  650. package/dist/solid/motion-props.js +314 -0
  651. package/dist/solid/motion-props.js.map +1 -0
  652. package/dist/solid/owner-scope.d.ts +16 -0
  653. package/dist/solid/owner-scope.d.ts.map +1 -0
  654. package/dist/solid/owner-scope.js +31 -0
  655. package/dist/solid/owner-scope.js.map +1 -0
  656. package/dist/solid/page-point.d.ts +35 -0
  657. package/dist/solid/page-point.d.ts.map +1 -0
  658. package/dist/solid/page-point.js +87 -0
  659. package/dist/solid/page-point.js.map +1 -0
  660. package/dist/solid/presence-controller.d.ts +122 -0
  661. package/dist/solid/presence-controller.d.ts.map +1 -0
  662. package/dist/solid/presence-controller.js +1207 -0
  663. package/dist/solid/presence-controller.js.map +1 -0
  664. package/dist/solid/presence-record.d.ts +167 -0
  665. package/dist/solid/presence-record.d.ts.map +1 -0
  666. package/dist/solid/presence-record.js +26 -0
  667. package/dist/solid/presence-record.js.map +1 -0
  668. package/dist/solid/presence.d.ts +95 -0
  669. package/dist/solid/presence.d.ts.map +1 -0
  670. package/dist/solid/presence.jsx +195 -0
  671. package/dist/solid/presence.jsx.map +1 -0
  672. package/dist/solid/press-sensor.d.ts +20 -0
  673. package/dist/solid/press-sensor.d.ts.map +1 -0
  674. package/dist/solid/press-sensor.js +24 -0
  675. package/dist/solid/press-sensor.js.map +1 -0
  676. package/dist/solid/press.d.ts +24 -0
  677. package/dist/solid/press.d.ts.map +1 -0
  678. package/dist/solid/press.js +19 -0
  679. package/dist/solid/press.js.map +1 -0
  680. package/dist/solid/provider.d.ts +263 -0
  681. package/dist/solid/provider.d.ts.map +1 -0
  682. package/dist/solid/provider.jsx +411 -0
  683. package/dist/solid/provider.jsx.map +1 -0
  684. package/dist/solid/reactivity.d.ts +27 -0
  685. package/dist/solid/reactivity.d.ts.map +1 -0
  686. package/dist/solid/reactivity.js +9 -0
  687. package/dist/solid/reactivity.js.map +1 -0
  688. package/dist/solid/reorder-input.d.ts +22 -0
  689. package/dist/solid/reorder-input.d.ts.map +1 -0
  690. package/dist/solid/reorder-input.js +45 -0
  691. package/dist/solid/reorder-input.js.map +1 -0
  692. package/dist/solid/reorder.d.ts +241 -0
  693. package/dist/solid/reorder.d.ts.map +1 -0
  694. package/dist/solid/reorder.jsx +427 -0
  695. package/dist/solid/reorder.jsx.map +1 -0
  696. package/dist/solid/retarget-legs.d.ts +189 -0
  697. package/dist/solid/retarget-legs.d.ts.map +1 -0
  698. package/dist/solid/retarget-legs.js +825 -0
  699. package/dist/solid/retarget-legs.js.map +1 -0
  700. package/dist/solid/runtime.d.ts +179 -0
  701. package/dist/solid/runtime.d.ts.map +1 -0
  702. package/dist/solid/runtime.js +237 -0
  703. package/dist/solid/runtime.js.map +1 -0
  704. package/dist/solid/sensors.d.ts +95 -0
  705. package/dist/solid/sensors.d.ts.map +1 -0
  706. package/dist/solid/sensors.js +154 -0
  707. package/dist/solid/sensors.js.map +1 -0
  708. package/dist/solid/server-interpolators.d.ts +13 -0
  709. package/dist/solid/server-interpolators.d.ts.map +1 -0
  710. package/dist/solid/server-interpolators.js +20 -0
  711. package/dist/solid/server-interpolators.js.map +1 -0
  712. package/dist/solid/server.d.ts +9 -0
  713. package/dist/solid/server.d.ts.map +1 -0
  714. package/dist/solid/server.js +20 -0
  715. package/dist/solid/server.js.map +1 -0
  716. package/dist/solid/solid-reactivity.d.ts +3 -0
  717. package/dist/solid/solid-reactivity.d.ts.map +1 -0
  718. package/dist/solid/solid-reactivity.js +19 -0
  719. package/dist/solid/solid-reactivity.js.map +1 -0
  720. package/dist/solid/spine.d.ts +597 -0
  721. package/dist/solid/spine.d.ts.map +1 -0
  722. package/dist/solid/spine.js +2761 -0
  723. package/dist/solid/spine.js.map +1 -0
  724. package/dist/solid/stagger.d.ts +29 -0
  725. package/dist/solid/stagger.d.ts.map +1 -0
  726. package/dist/solid/stagger.js +13 -0
  727. package/dist/solid/stagger.js.map +1 -0
  728. package/dist/solid/unstable/v2/bridge.d.ts +33 -0
  729. package/dist/solid/unstable/v2/bridge.d.ts.map +1 -0
  730. package/dist/solid/unstable/v2/bridge.js +76 -0
  731. package/dist/solid/unstable/v2/bridge.js.map +1 -0
  732. package/dist/solid/unstable/v2/complete.d.ts +21 -0
  733. package/dist/solid/unstable/v2/complete.d.ts.map +1 -0
  734. package/dist/solid/unstable/v2/complete.js +27 -0
  735. package/dist/solid/unstable/v2/complete.js.map +1 -0
  736. package/dist/solid/unstable/v2/config-view.d.ts +49 -0
  737. package/dist/solid/unstable/v2/config-view.d.ts.map +1 -0
  738. package/dist/solid/unstable/v2/config-view.js +114 -0
  739. package/dist/solid/unstable/v2/config-view.js.map +1 -0
  740. package/dist/solid/unstable/v2/create-animate.d.ts +31 -0
  741. package/dist/solid/unstable/v2/create-animate.d.ts.map +1 -0
  742. package/dist/solid/unstable/v2/create-animate.js +102 -0
  743. package/dist/solid/unstable/v2/create-animate.js.map +1 -0
  744. package/dist/solid/unstable/v2/cycle.d.ts +20 -0
  745. package/dist/solid/unstable/v2/cycle.d.ts.map +1 -0
  746. package/dist/solid/unstable/v2/cycle.js +30 -0
  747. package/dist/solid/unstable/v2/cycle.js.map +1 -0
  748. package/dist/solid/unstable/v2/drag-sensor.d.ts +23 -0
  749. package/dist/solid/unstable/v2/drag-sensor.d.ts.map +1 -0
  750. package/dist/solid/unstable/v2/drag-sensor.js +32 -0
  751. package/dist/solid/unstable/v2/drag-sensor.js.map +1 -0
  752. package/dist/solid/unstable/v2/element.d.ts +178 -0
  753. package/dist/solid/unstable/v2/element.d.ts.map +1 -0
  754. package/dist/solid/unstable/v2/element.jsx +325 -0
  755. package/dist/solid/unstable/v2/element.jsx.map +1 -0
  756. package/dist/solid/unstable/v2/feature-section.d.ts +12 -0
  757. package/dist/solid/unstable/v2/feature-section.d.ts.map +1 -0
  758. package/dist/solid/unstable/v2/feature-section.js +23 -0
  759. package/dist/solid/unstable/v2/feature-section.js.map +1 -0
  760. package/dist/solid/unstable/v2/focus-sensor.d.ts +13 -0
  761. package/dist/solid/unstable/v2/focus-sensor.d.ts.map +1 -0
  762. package/dist/solid/unstable/v2/focus-sensor.js +23 -0
  763. package/dist/solid/unstable/v2/focus-sensor.js.map +1 -0
  764. package/dist/solid/unstable/v2/hover-sensor.d.ts +12 -0
  765. package/dist/solid/unstable/v2/hover-sensor.d.ts.map +1 -0
  766. package/dist/solid/unstable/v2/hover-sensor.js +22 -0
  767. package/dist/solid/unstable/v2/hover-sensor.js.map +1 -0
  768. package/dist/solid/unstable/v2/index.d.ts +131 -0
  769. package/dist/solid/unstable/v2/index.d.ts.map +1 -0
  770. package/dist/solid/unstable/v2/index.js +114 -0
  771. package/dist/solid/unstable/v2/index.js.map +1 -0
  772. package/dist/solid/unstable/v2/layout-projection.d.ts +21 -0
  773. package/dist/solid/unstable/v2/layout-projection.d.ts.map +1 -0
  774. package/dist/solid/unstable/v2/layout-projection.js +18 -0
  775. package/dist/solid/unstable/v2/layout-projection.js.map +1 -0
  776. package/dist/solid/unstable/v2/layout.d.ts +47 -0
  777. package/dist/solid/unstable/v2/layout.d.ts.map +1 -0
  778. package/dist/solid/unstable/v2/layout.jsx +62 -0
  779. package/dist/solid/unstable/v2/layout.jsx.map +1 -0
  780. package/dist/solid/unstable/v2/lifecycle.d.ts +267 -0
  781. package/dist/solid/unstable/v2/lifecycle.d.ts.map +1 -0
  782. package/dist/solid/unstable/v2/lifecycle.js +457 -0
  783. package/dist/solid/unstable/v2/lifecycle.js.map +1 -0
  784. package/dist/solid/unstable/v2/live-value.d.ts +146 -0
  785. package/dist/solid/unstable/v2/live-value.d.ts.map +1 -0
  786. package/dist/solid/unstable/v2/live-value.js +235 -0
  787. package/dist/solid/unstable/v2/live-value.js.map +1 -0
  788. package/dist/solid/unstable/v2/presence-handle.d.ts +55 -0
  789. package/dist/solid/unstable/v2/presence-handle.d.ts.map +1 -0
  790. package/dist/solid/unstable/v2/presence-handle.js +119 -0
  791. package/dist/solid/unstable/v2/presence-handle.js.map +1 -0
  792. package/dist/solid/unstable/v2/presence-hooks.d.ts +51 -0
  793. package/dist/solid/unstable/v2/presence-hooks.d.ts.map +1 -0
  794. package/dist/solid/unstable/v2/presence-hooks.js +115 -0
  795. package/dist/solid/unstable/v2/presence-hooks.js.map +1 -0
  796. package/dist/solid/unstable/v2/presence.d.ts +89 -0
  797. package/dist/solid/unstable/v2/presence.d.ts.map +1 -0
  798. package/dist/solid/unstable/v2/presence.jsx +107 -0
  799. package/dist/solid/unstable/v2/presence.jsx.map +1 -0
  800. package/dist/solid/unstable/v2/press-sensor.d.ts +13 -0
  801. package/dist/solid/unstable/v2/press-sensor.d.ts.map +1 -0
  802. package/dist/solid/unstable/v2/press-sensor.js +23 -0
  803. package/dist/solid/unstable/v2/press-sensor.js.map +1 -0
  804. package/dist/solid/unstable/v2/provider.d.ts +239 -0
  805. package/dist/solid/unstable/v2/provider.d.ts.map +1 -0
  806. package/dist/solid/unstable/v2/provider.jsx +423 -0
  807. package/dist/solid/unstable/v2/provider.jsx.map +1 -0
  808. package/dist/solid/unstable/v2/reorder.d.ts +292 -0
  809. package/dist/solid/unstable/v2/reorder.d.ts.map +1 -0
  810. package/dist/solid/unstable/v2/reorder.jsx +525 -0
  811. package/dist/solid/unstable/v2/reorder.jsx.map +1 -0
  812. package/dist/solid/unstable/v2/sensors.d.ts +91 -0
  813. package/dist/solid/unstable/v2/sensors.d.ts.map +1 -0
  814. package/dist/solid/unstable/v2/sensors.js +124 -0
  815. package/dist/solid/unstable/v2/sensors.js.map +1 -0
  816. package/dist/solid/unstable/v2/solid-reactivity.d.ts +61 -0
  817. package/dist/solid/unstable/v2/solid-reactivity.d.ts.map +1 -0
  818. package/dist/solid/unstable/v2/solid-reactivity.js +62 -0
  819. package/dist/solid/unstable/v2/solid-reactivity.js.map +1 -0
  820. package/dist/solid/unstable/v2/variant-node.d.ts +51 -0
  821. package/dist/solid/unstable/v2/variant-node.d.ts.map +1 -0
  822. package/dist/solid/unstable/v2/variant-node.js +336 -0
  823. package/dist/solid/unstable/v2/variant-node.js.map +1 -0
  824. package/dist/solid/unstable/v2/w.d.ts +42 -0
  825. package/dist/solid/unstable/v2/w.d.ts.map +1 -0
  826. package/dist/solid/unstable/v2/w.jsx +22 -0
  827. package/dist/solid/unstable/v2/w.jsx.map +1 -0
  828. package/dist/solid/unstable/v2/waiters.d.ts +72 -0
  829. package/dist/solid/unstable/v2/waiters.d.ts.map +1 -0
  830. package/dist/solid/unstable/v2/waiters.js +175 -0
  831. package/dist/solid/unstable/v2/waiters.js.map +1 -0
  832. package/dist/solid/unstable/v2/ward.d.ts +393 -0
  833. package/dist/solid/unstable/v2/ward.d.ts.map +1 -0
  834. package/dist/solid/unstable/v2/ward.jsx +1475 -0
  835. package/dist/solid/unstable/v2/ward.jsx.map +1 -0
  836. package/dist/solid/unstable/v2/wardic-config.d.ts +68 -0
  837. package/dist/solid/unstable/v2/wardic-config.d.ts.map +1 -0
  838. package/dist/solid/unstable/v2/wardic-config.jsx +28 -0
  839. package/dist/solid/unstable/v2/wardic-config.jsx.map +1 -0
  840. package/dist/solid/unstable/v2/wardic.d.ts +28 -0
  841. package/dist/solid/unstable/v2/wardic.d.ts.map +1 -0
  842. package/dist/solid/unstable/v2/wardic.jsx +16 -0
  843. package/dist/solid/unstable/v2/wardic.jsx.map +1 -0
  844. package/dist/solid/variant-node.d.ts +32 -0
  845. package/dist/solid/variant-node.d.ts.map +1 -0
  846. package/dist/solid/variant-node.js +257 -0
  847. package/dist/solid/variant-node.js.map +1 -0
  848. package/dist/solid/variant-target.d.ts +102 -0
  849. package/dist/solid/variant-target.d.ts.map +1 -0
  850. package/dist/solid/variant-target.js +180 -0
  851. package/dist/solid/variant-target.js.map +1 -0
  852. package/dist/solid/variant-tree.d.ts +349 -0
  853. package/dist/solid/variant-tree.d.ts.map +1 -0
  854. package/dist/solid/variant-tree.js +358 -0
  855. package/dist/solid/variant-tree.js.map +1 -0
  856. package/dist/solid/variants.d.ts +21 -0
  857. package/dist/solid/variants.d.ts.map +1 -0
  858. package/dist/solid/variants.js +43 -0
  859. package/dist/solid/variants.js.map +1 -0
  860. package/dist/solid/w.d.ts +42 -0
  861. package/dist/solid/w.d.ts.map +1 -0
  862. package/dist/solid/w.jsx +23 -0
  863. package/dist/solid/w.jsx.map +1 -0
  864. package/dist/solid/ward-keys.d.ts +236 -0
  865. package/dist/solid/ward-keys.d.ts.map +1 -0
  866. package/dist/solid/ward-keys.js +2 -0
  867. package/dist/solid/ward-keys.js.map +1 -0
  868. package/dist/solid/wardic-component.d.ts +50 -0
  869. package/dist/solid/wardic-component.d.ts.map +1 -0
  870. package/dist/solid/wardic-component.js +74 -0
  871. package/dist/solid/wardic-component.js.map +1 -0
  872. package/dist/solid/wardic-config-value.d.ts +87 -0
  873. package/dist/solid/wardic-config-value.d.ts.map +1 -0
  874. package/dist/solid/wardic-config-value.js +106 -0
  875. package/dist/solid/wardic-config-value.js.map +1 -0
  876. package/dist/solid/wardic-config.d.ts +69 -0
  877. package/dist/solid/wardic-config.d.ts.map +1 -0
  878. package/dist/solid/wardic-config.jsx +30 -0
  879. package/dist/solid/wardic-config.jsx.map +1 -0
  880. package/dist/solid/wardic.d.ts +45 -0
  881. package/dist/solid/wardic.d.ts.map +1 -0
  882. package/dist/solid/wardic.jsx +31 -0
  883. package/dist/solid/wardic.jsx.map +1 -0
  884. package/package.json +98 -4
  885. package/src/animation-controls.ts +204 -0
  886. package/src/animation-frame.ts +32 -0
  887. package/src/appear.ts +804 -0
  888. package/src/arc.ts +34 -0
  889. package/src/bridge.ts +98 -0
  890. package/src/complete.ts +45 -0
  891. package/src/config.ts +805 -0
  892. package/src/create-animate.ts +41 -0
  893. package/src/create-ward.tsx +1271 -0
  894. package/src/cycle-index.ts +18 -0
  895. package/src/cycle.ts +34 -0
  896. package/src/directive.ts +87 -0
  897. package/src/drag-constraints.ts +103 -0
  898. package/src/drag-controls.ts +94 -0
  899. package/src/drag-samples.ts +54 -0
  900. package/src/drag-sensor.ts +46 -0
  901. package/src/drag-track.ts +937 -0
  902. package/src/drag-transition.ts +43 -0
  903. package/src/drag.ts +58 -0
  904. package/src/element-style.ts +112 -0
  905. package/src/element.tsx +400 -0
  906. package/src/feature-section.ts +33 -0
  907. package/src/feature.ts +342 -0
  908. package/src/features/all.ts +18 -0
  909. package/src/features/colors.ts +36 -0
  910. package/src/features/dom-animation.ts +15 -0
  911. package/src/features/dom-max.ts +11 -0
  912. package/src/features/drag.ts +30 -0
  913. package/src/features/focus.ts +17 -0
  914. package/src/features/hover.ts +17 -0
  915. package/src/features/in-view.ts +17 -0
  916. package/src/features/input.ts +42 -0
  917. package/src/features/keys.ts +89 -0
  918. package/src/features/layout.ts +54 -0
  919. package/src/features/pan.ts +17 -0
  920. package/src/features/press.ts +17 -0
  921. package/src/focus-sensor.ts +32 -0
  922. package/src/frame-time.ts +45 -0
  923. package/src/gesture-callbacks.ts +212 -0
  924. package/src/gesture-features.ts +35 -0
  925. package/src/gesture-info.ts +81 -0
  926. package/src/hover-sensor.ts +32 -0
  927. package/src/imperative.ts +782 -0
  928. package/src/index.ts +334 -0
  929. package/src/instant.ts +90 -0
  930. package/src/layout-group.ts +32 -0
  931. package/src/layout-member.ts +300 -0
  932. package/src/layout-projection.ts +28 -0
  933. package/src/layout.tsx +127 -0
  934. package/src/live-style.ts +449 -0
  935. package/src/live-value.ts +378 -0
  936. package/src/motion-props.ts +325 -0
  937. package/src/owner-scope.ts +31 -0
  938. package/src/page-point.ts +98 -0
  939. package/src/presence-controller.ts +1483 -0
  940. package/src/presence-record.ts +189 -0
  941. package/src/presence.tsx +269 -0
  942. package/src/press-sensor.ts +33 -0
  943. package/src/press.ts +40 -0
  944. package/src/provider.tsx +526 -0
  945. package/src/reactivity.ts +29 -0
  946. package/src/reorder-input.ts +53 -0
  947. package/src/reorder.tsx +703 -0
  948. package/src/retarget-legs.ts +1048 -0
  949. package/src/runtime.ts +388 -0
  950. package/src/sensors.ts +189 -0
  951. package/src/server-interpolators.ts +33 -0
  952. package/src/server.ts +21 -0
  953. package/src/solid-reactivity.ts +21 -0
  954. package/src/spine.ts +3385 -0
  955. package/src/stagger.ts +31 -0
  956. package/src/unstable/v2/bridge.ts +79 -0
  957. package/src/unstable/v2/complete.ts +47 -0
  958. package/src/unstable/v2/config-view.ts +156 -0
  959. package/src/unstable/v2/create-animate.ts +123 -0
  960. package/src/unstable/v2/cycle.ts +33 -0
  961. package/src/unstable/v2/drag-sensor.ts +44 -0
  962. package/src/unstable/v2/element.tsx +478 -0
  963. package/src/unstable/v2/feature-section.ts +32 -0
  964. package/src/unstable/v2/focus-sensor.ts +31 -0
  965. package/src/unstable/v2/hover-sensor.ts +30 -0
  966. package/src/unstable/v2/index.ts +270 -0
  967. package/src/unstable/v2/layout-projection.ts +27 -0
  968. package/src/unstable/v2/layout.tsx +89 -0
  969. package/src/unstable/v2/lifecycle.ts +612 -0
  970. package/src/unstable/v2/live-value.ts +414 -0
  971. package/src/unstable/v2/presence-handle.ts +159 -0
  972. package/src/unstable/v2/presence-hooks.ts +157 -0
  973. package/src/unstable/v2/presence.tsx +174 -0
  974. package/src/unstable/v2/press-sensor.ts +31 -0
  975. package/src/unstable/v2/provider.tsx +524 -0
  976. package/src/unstable/v2/reorder.tsx +880 -0
  977. package/src/unstable/v2/sensors.ts +169 -0
  978. package/src/unstable/v2/solid-reactivity.ts +69 -0
  979. package/src/unstable/v2/variant-node.ts +446 -0
  980. package/src/unstable/v2/w.tsx +49 -0
  981. package/src/unstable/v2/waiters.ts +212 -0
  982. package/src/unstable/v2/ward.tsx +2068 -0
  983. package/src/unstable/v2/wardic-config.tsx +84 -0
  984. package/src/unstable/v2/wardic.tsx +41 -0
  985. package/src/variant-node.ts +368 -0
  986. package/src/variant-target.ts +234 -0
  987. package/src/variant-tree.ts +638 -0
  988. package/src/variants.ts +47 -0
  989. package/src/w.tsx +59 -0
  990. package/src/ward-keys.ts +343 -0
  991. package/src/wardic-component.ts +96 -0
  992. package/src/wardic-config-value.ts +150 -0
  993. package/src/wardic-config.tsx +78 -0
  994. package/src/wardic.tsx +59 -0
@@ -0,0 +1,427 @@
1
+ /**
2
+ * `<Reorder>` for Solid (ADR-0020): drag items to reorder a list, built headless first
3
+ * (D8). `createReorderGroup` and `createReorderItem` are spreads for any elements and
4
+ * `use:reorderItem` a directive, so a list outside JSX components (a web component, a
5
+ * plain element) reorders the same way; `Reorder.Group` / `Reorder.Item` are built on
6
+ * them.
7
+ *
8
+ * The **Reorder group** is `@wardic/dom`'s `makeReorderController` (core's
9
+ * `Reorder.Group` underneath): it reads each item's slot, drag offset and layout
10
+ * version from its projection node's handle, runs the **Crossover** on each drag
11
+ * sample, calls the app's `onReorder`, runs **Auto-scroll**, and detects the axis after
12
+ * every Measure pass. This file adds Solid's half: the reactive config, the lifecycle,
13
+ * the elements and the components. The app owns `values` and keys its items with
14
+ * `<For>`. Each item is a `layout` node with a drag the group's axis decides per
15
+ * gesture, raised while dragged, whose `touch-action` follows the group's axis. A
16
+ * `values` change re-measures, so a reorder the app makes itself animates.
17
+ *
18
+ * Each item is also a tab stop for the group's **Keyboard reorder** (ADR-0037): `tabindex="0"`
19
+ * unless the app gives its own, and `aria-describedby` pointing at the group's instructions (on
20
+ * the client, with the app's ids kept). Its keys, blurs and presses reach the controller, which
21
+ * speaks through the Environment's `Announcer`; a lift turns its `whileDrag` on. `keyboard: false`
22
+ * on the group turns all of that off; `move` still announces.
23
+ *
24
+ * Observability: the controller logs its own `wardic.reorder:` events through the
25
+ * runtime (cold path: once per reorder, wait, gesture, edge or axis change, never per
26
+ * sample); this file logs nothing.
27
+ */
28
+ import * as InputSource from "@wardic/core/InputSource";
29
+ import * as CoreReorder from "@wardic/core/Reorder";
30
+ import * as DomAnnouncer from "@wardic/dom/DomAnnouncer";
31
+ import * as ReorderController from "@wardic/dom/ReorderController";
32
+ import * as Style from "@wardic/dom/Style";
33
+ import { mergeRefs } from "@solid-primitives/refs";
34
+ import * as Arr from "effect/Array";
35
+ import * as Bool from "effect/Boolean";
36
+ import * as Effect from "effect/Effect";
37
+ import { constUndefined, identity, pipe } from "effect/Function";
38
+ import * as Match from "effect/Match";
39
+ import * as Option from "effect/Option";
40
+ import * as Predicate from "effect/Predicate";
41
+ import * as Scope from "effect/Scope";
42
+ import * as UndefinedOr from "effect/UndefinedOr";
43
+ import { createContext, createEffect, createMemo, createSignal, createUniqueId, mergeProps, on, onCleanup, splitProps, untrack, useContext, } from "solid-js";
44
+ import { Dynamic } from "solid-js/web";
45
+ import * as OwnerScope from "./owner-scope.js";
46
+ import { runWatch, useBrought, useWardicGate, useWardicRuntime } from "./provider.jsx";
47
+ import { useLayoutServices } from "./layout-projection.js";
48
+ import { watchItemInput } from "./reorder-input.js";
49
+ import { drag } from "./features/drag.js";
50
+ import { focus } from "./features/focus.js";
51
+ import { hover } from "./features/hover.js";
52
+ import { inView } from "./features/in-view.js";
53
+ import { layout } from "./features/layout.js";
54
+ import { pan } from "./features/pan.js";
55
+ import { press } from "./features/press.js";
56
+ import { inputIn } from "./gesture-features.js";
57
+ import { controlledOf, runSpine, createWardWith } from "./create-ward.jsx";
58
+ import { isServer } from "./server.js";
59
+ import { createVariantNode } from "./variant-node.js";
60
+ import { accessorOf } from "./spine.js";
61
+ import { changesContext } from "./variant-tree.js";
62
+ import { useVariantContext } from "./variants.js";
63
+ import { configOfMotion } from "./element.jsx";
64
+ import { MOTION_PROPS } from "./motion-props.js";
65
+ import { w } from "./w.jsx";
66
+ /** An item's `layout` as its Layout mode: `"position"`, else `true` (ADR-0009, *Amendment (#42)*). */
67
+ const itemLayoutOf = (layout) => Bool.match(layout === "position", { onTrue: () => "position", onFalse: () => true });
68
+ /** What a group's Scope reports when one of its finalizers fails as its owner goes. */
69
+ const CLOSE_FAILED = "wardic.reorder: a finalizer failed";
70
+ /**
71
+ * Makes a list of your own elements reorderable, by dragging or from the keyboard: spread the group on
72
+ * the list's element, and make each item with `createReorderItem`, keyed with `<For>`. Your app owns
73
+ * `values`, and sets them from `onReorder`. It gives the element `overflow-anchor: none`, so the
74
+ * browser doesn't scroll the page as items move. `Reorder.Group` is built on it.
75
+ *
76
+ * @example
77
+ * const list = createReorderGroup(() => ({ values: items(), onReorder: setItems }))
78
+ * <ul {...list()}>
79
+ * <For each={items()}>
80
+ * {(item) => {
81
+ * const row = createReorderItem(list, { value: item })
82
+ * return <li {...row()}>{item}</li>
83
+ * }}
84
+ * </For>
85
+ * </ul>
86
+ * @see https://wardic.dev/reference/solid/reorder/reorder-group
87
+ */
88
+ // ADR-0020. `overflow-anchor: none` goes under the app's style, as Motion's Group.tsx:187-195 at
89
+ // 16c6122 does. The axis is the config's, else detected from the items' boxes after every Measure pass
90
+ // (for their touch-action); a drag resolves its own at its start. On a server it renders the
91
+ // element's style and nothing else: no controller, no runtime; its `group`, `move` and `controller` do
92
+ // nothing (ADR-0021).
93
+ export function createReorderGroup(config) {
94
+ const cfg = accessorOf(config);
95
+ if (isServer) {
96
+ useWardicRuntime();
97
+ return serverReorderGroup(cfg);
98
+ }
99
+ const [detected, setDetected] = createSignal("y");
100
+ const runtime = useWardicRuntime();
101
+ // The group's controller, over the provider's projection system and the Environment's channel to
102
+ // assistive technology (ADR-0037), in a Scope of the group's own, closed on unmount (#132's PR 3),
103
+ // set before the controller is built, so one that fails as it's built leaves nothing (#618).
104
+ const scope = OwnerScope.open(runtime);
105
+ onCleanup(() => OwnerScope.close(runtime, scope, CLOSE_FAILED));
106
+ const controller = runtime.runSync(ReorderController.make({
107
+ values: () => untrack(cfg).values,
108
+ onReorder: (values) => untrack(cfg).onReorder(values),
109
+ onReorderEnd: (end) => UndefinedOr.map(untrack(cfg).onReorderEnd, (tell) => tell(end)),
110
+ onHoldStart: (start) => UndefinedOr.map(untrack(cfg).onHoldStart, (tell) => tell(start)),
111
+ onHoldEnd: (end) => UndefinedOr.map(untrack(cfg).onHoldEnd, (tell) => tell(end)),
112
+ axis: () => Option.fromUndefinedOr(untrack(cfg).axis),
113
+ onAxis: setDetected,
114
+ keyedWith: "<For>",
115
+ keyboard: () => untrack(cfg).keyboard !== false,
116
+ announcements: () => Option.fromUndefinedOr(untrack(cfg).announcements),
117
+ }).pipe(Effect.provide(useLayoutServices()), Scope.provide(scope)));
118
+ // The app's axis, else the detected one. When the app's is cleared, detected here, from the boxes the
119
+ // engine holds, so the items' touch-action follows in the same update (#257's audit: an effect that
120
+ // detected it wrote a signal the items read a step late). A Measure pass's change comes through `onAxis`.
121
+ const axis = createMemo(() => UndefinedOr.match(cfg().axis, {
122
+ onDefined: identity,
123
+ onUndefined: () => {
124
+ detected();
125
+ return controller.detect();
126
+ },
127
+ }));
128
+ // A `values` change re-measures, so the items animate to their new slots whoever
129
+ // reordered them (as LayoutGroup's layoutDependency does).
130
+ createEffect(on(() => cfg().values, () => controller.valuesChanged(), { defer: true }));
131
+ const spread = (userProps = NO_GROUP_PROPS) => ({
132
+ ref: mergeRefs(userProps.ref, (el) => controller.attach(el)),
133
+ get style() {
134
+ return pipe(userProps.style, Style.over(ReorderController.GROUP_STYLE));
135
+ },
136
+ });
137
+ const move = (value, toIndex) => controller.move(value, toIndex);
138
+ return Object.assign(spread, { group: controller.group, axis, move, controller, ...keyboardOf(cfg) });
139
+ }
140
+ /** A group's keyboard reorder settings, as accessors (ADR-0037). */
141
+ const keyboardOf = (cfg) => ({
142
+ keyboard: () => cfg().keyboard !== false,
143
+ instructions: () => UndefinedOr.match(cfg().instructions, { onUndefined: () => ReorderController.DEFAULT_INSTRUCTIONS, onDefined: (text) => text }),
144
+ });
145
+ /**
146
+ * An item's `touch-action`, its group's axis's, under its style: none when its own presses don't drag
147
+ * it (`dragListener={false}`, #431), as with its other drag defaults, so a list dragged by its handles
148
+ * scrolls by touch.
149
+ */
150
+ const touchActionOf = (group, listens) => Bool.match(listens, { onTrue: () => () => ({ "touch-action": Style.reorderTouchAction(group.axis()) }), onFalse: constUndefined });
151
+ /**
152
+ * What an item brings (ADR-0067 decision 12), whatever its section has (#511): its layout node, its
153
+ * drag, and every other gesture, so `whileHover` or `whileTap` on an item works as on Motion's, for
154
+ * about 0.5 KB gzipped beside the drag's.
155
+ */
156
+ const ITEM_BRINGS = [layout, drag, hover, press, focus, inView, pan];
157
+ const itemInternals = (group, value, element, runtime, listens) => {
158
+ // Its keys' input, the `drag` Feature's it brings (#511).
159
+ const services = useBrought(ITEM_BRINGS);
160
+ // A keyboard lift turns the item's `whileDrag` on (ADR-0037).
161
+ const [lifted, setLifted] = createSignal(false);
162
+ const driver = group.controller.item(value, () => Option.fromUndefinedOr(element()), setLifted);
163
+ // An item unmounted mid-gesture gets no end sample: its disposal ends the gesture (and a lift).
164
+ onCleanup(driver.dispose);
165
+ // Its keys, blurs and presses (ADR-0037), watched in a Scope of their own for as long as the element
166
+ // is this one, with no fiber at rest (#379).
167
+ createEffect(on(element, (el) => {
168
+ if (Predicate.isNotUndefined(el)) {
169
+ runWatch(runtime, (onDefect) => Effect.provideService(watchItemInput(el, driver, (effect) => void runtime.runFork(effect), onDefect), InputSource.InputSource, inputIn(services())));
170
+ }
171
+ }));
172
+ return {
173
+ brings: ITEM_BRINGS,
174
+ dragAxis: () => dragAxisFor(driver.dragAxis()),
175
+ onDragSample: driver.onSample,
176
+ onLayoutHandle: (handle) => onCleanup(driver.register(handle)),
177
+ raiseWhileDragged: true,
178
+ keysTaken: true,
179
+ lifted,
180
+ baseStyle: touchActionOf(group, listens),
181
+ };
182
+ };
183
+ /**
184
+ * What an item adds to its element for the keyboard reorder (ADR-0037): `tabindex="0"` while the
185
+ * group's keyboard is on and the app gave no `tabIndex` of its own, and `aria-describedby` with
186
+ * the group's instructions (`describedBy`, set on the client) after the app's own ids.
187
+ */
188
+ const keyboardAttributes = (group, user = NO_ITEM_PROPS, describedBy) => ({
189
+ get tabindex() {
190
+ return UndefinedOr.match(user.tabIndex, {
191
+ onDefined: identity,
192
+ onUndefined: () => Bool.match(group.keyboard(), { onTrue: () => 0, onFalse: constUndefined }),
193
+ });
194
+ },
195
+ get "aria-describedby"() {
196
+ const ids = Arr.filter([user["aria-describedby"], Bool.match(group.keyboard(), { onTrue: describedBy, onFalse: constUndefined })], Predicate.isNotUndefined);
197
+ return Bool.match(ids.length === 0, { onTrue: () => undefined, onFalse: () => ids.join(" ") });
198
+ },
199
+ });
200
+ /**
201
+ * Makes an element an item of a Reorder group: spread it on the element, `{...row()}`, as a ward.
202
+ * `value` is its value in the group's `values`, read once; the rest are its motion props, but
203
+ * `layout` (`true` or `"position"`), `layoutId` and `drag`, which the group sets. It's a tab stop for
204
+ * the keyboard reorder: give your own `tabIndex` and `aria-describedby` in the spread's props.
205
+ *
206
+ * @example
207
+ * const row = createReorderItem(list, { value: item, whileDrag: { scale: 1.05 } })
208
+ * <li {...row()}>{item.name}</li>
209
+ * @see https://wardic.dev/reference/solid/reorder/reorder-item
210
+ */
211
+ // ADR-0020, ADR-0037. The element takes the drag defaults, with the group's axis's touch-action, which
212
+ // its style can override.
213
+ export function createReorderItem(group, config) {
214
+ const cfg = accessorOf(config);
215
+ const value = untrack(cfg).value;
216
+ const listens = untrack(cfg).dragListener !== false;
217
+ const [element, setElement] = createSignal();
218
+ // On a server the item renders the drag defaults with its group's touch-action and
219
+ // joins no controller (ADR-0021).
220
+ const internals = Bool.match(isServer, {
221
+ onTrue: () => ({ brings: ITEM_BRINGS, dragAxis: () => true, baseStyle: touchActionOf(group, listens) }),
222
+ onFalse: () => itemInternals(group, value, element, useWardicRuntime(), listens),
223
+ });
224
+ const ward = createWardWith(() => ({ ...withoutValue(cfg()), layout: itemLayoutOf(cfg().layout) }), internals);
225
+ // The instructions element exists on the client only, so `aria-describedby` waits for the mount.
226
+ const [describedBy, setDescribedBy] = createSignal();
227
+ if (!isServer) {
228
+ createEffect(on([element, group.instructions], ([el, text]) => {
229
+ if (Predicate.isNotUndefined(el))
230
+ setDescribedBy(DomAnnouncer.instructionsId(DomAnnouncer.documentOf(el), text));
231
+ }));
232
+ }
233
+ // The item's element, for Auto-scroll's held scroll shift.
234
+ // The user's style is passed on as a getter, so a live one stays live (WardUserProps).
235
+ const item = (userProps = NO_ITEM_PROPS) => mergeProps(ward({
236
+ ref: mergeRefs(userProps.ref, setElement),
237
+ get style() {
238
+ return userProps.style;
239
+ },
240
+ }), keyboardAttributes(group, userProps, describedBy));
241
+ return Object.assign(item, {
242
+ Provider: ward.Provider,
243
+ });
244
+ }
245
+ const noop = () => { };
246
+ /** A group's spread's user props when it's given none. */
247
+ const NO_GROUP_PROPS = {};
248
+ const NO_ITEM_PROPS = {};
249
+ /** A Reorder item's drag axis for its gesture's axis: a grid's `xy` is a free drag. Built once, at module load. */
250
+ const dragAxisFor = Match.type().pipe(Match.when("xy", () => true), Match.orElse((axis) => axis));
251
+ /**
252
+ * {@link createReorderGroup} during a server render (ADR-0021): the group's element style
253
+ * (`overflow-anchor: none` under the user's) and the app's axis, else `"y"`; its `group`,
254
+ * `move` and `controller` do nothing.
255
+ */
256
+ const serverReorderGroup = (cfg) => {
257
+ const spread = (userProps = NO_GROUP_PROPS) => ({
258
+ ref: UndefinedOr.match(userProps.ref, { onUndefined: () => noop, onDefined: identity }),
259
+ style: pipe(userProps.style, Style.over(ReorderController.GROUP_STYLE)),
260
+ });
261
+ const controller = ReorderController.inert;
262
+ const axis = () => UndefinedOr.match(cfg().axis, { onUndefined: () => "y", onDefined: (a) => a });
263
+ return Object.assign(spread, { group: controller.group, axis, move: noop, controller, ...keyboardOf(cfg) });
264
+ };
265
+ const withoutValue = (config) => {
266
+ const { value: _value, ...rest } = config;
267
+ return rest;
268
+ };
269
+ /**
270
+ * `use:reorderItem`: makes an element an item of a Reorder group, as `use:wardic` makes it a Wardic
271
+ * element: `<li use:reorderItem={{ group: list, value: item }}>`. In the browser only: its drag
272
+ * defaults and `touch-action` are set as it mounts, not in the server's markup, so a server-rendered
273
+ * item takes `createReorderItem` or `Reorder.Item`. Import `reorderItem` in the module that uses it.
274
+ *
275
+ * @see https://wardic.dev/reference/solid/reorder/reorder-item
276
+ */
277
+ // ADR-0003: a directive is client-only. The import keeps `reorderItem` from being dropped as unused, as
278
+ // for `wardic`.
279
+ export function reorderItem(el, value) {
280
+ const first = untrack(value);
281
+ // Animation controls for its `animate` (#433): each change they make is its entry.
282
+ const { cfg, controls } = controlledOf(() => {
283
+ const { group: _group, value: _value, ...rest } = value();
284
+ return { ...rest, layout: itemLayoutOf(rest.layout) };
285
+ });
286
+ // As `use:wardic`: a Variant child joins the nearest variant context; it provides none (#50).
287
+ const node = createVariantNode(cfg, useVariantContext(), UndefinedOr.map(controls, (c) => c.change));
288
+ const runtime = useWardicRuntime();
289
+ const group = first.group;
290
+ // The keyboard reorder's tab stop and instructions (ADR-0037), on the element itself: the app's
291
+ // own `tabindex` wins, and its `aria-describedby` ids are kept.
292
+ createEffect(() => {
293
+ if (Bool.not(group.keyboard()))
294
+ return;
295
+ if (!el.hasAttribute("tabindex"))
296
+ el.setAttribute("tabindex", "0");
297
+ const id = DomAnnouncer.instructionsId(DomAnnouncer.documentOf(el), group.instructions());
298
+ const ids = Option.getOrElse(Option.fromNullishOr(el.getAttribute("aria-describedby")), () => "").split(" ").filter((t) => t !== "");
299
+ if (!ids.includes(id))
300
+ el.setAttribute("aria-describedby", [...ids, id].join(" "));
301
+ });
302
+ runSpine({
303
+ runtime,
304
+ gate: useWardicGate(),
305
+ id: createUniqueId(),
306
+ el: () => el,
307
+ cfg,
308
+ controls,
309
+ parent: node.inherited,
310
+ extraDelay: node.extraDelay,
311
+ byName: node.names,
312
+ canStart: node.canStart,
313
+ bindGestures: node.bindGestures,
314
+ onFrame: node.onFrame,
315
+ makeSink: (element) => ({ target: element }),
316
+ internal: itemInternals(group, first.value, () => el, runtime, first.dragListener !== false),
317
+ });
318
+ }
319
+ // --- Components (ADR-0020, D8: built on the headless API) --------------------------
320
+ const GroupContext = createContext();
321
+ /**
322
+ * The Wardic element for `tag`, typed as a plain component: a Slim element's (`w[tag]`, #511), so a
323
+ * Reorder brings no Feature but its own (ADR-0067 decision 12) and renders under a `strict` section.
324
+ */
325
+ const wardicTag = (tag) => UndefinedOr.getOrThrow(w[tag]);
326
+ /**
327
+ * A list put in order by dragging its items, or from the keyboard, rendered as `as`, `"ul"` by
328
+ * default. Your app owns `values`, and sets them from `onReorder`. Key its `Reorder.Item`s with `<For>`.
329
+ *
330
+ * @see https://wardic.dev/reference/solid/reorder/reorder
331
+ */
332
+ // ADR-0020: a `createReorderGroup` rendered as `w[as]`, the group in context for its items.
333
+ function Group(props) {
334
+ const [local, rest] = splitProps(props, [
335
+ "values",
336
+ "onReorder",
337
+ "onReorderEnd",
338
+ "onHoldStart",
339
+ "onHoldEnd",
340
+ "axis",
341
+ "keyboard",
342
+ "announcements",
343
+ "instructions",
344
+ "as",
345
+ "ref",
346
+ "style",
347
+ "children",
348
+ ]);
349
+ const group = createReorderGroup(() => ({
350
+ values: local.values,
351
+ onReorder: local.onReorder,
352
+ ...UndefinedOr.match(local.onReorderEnd, { onUndefined: () => ({}), onDefined: (onReorderEnd) => ({ onReorderEnd }) }),
353
+ ...UndefinedOr.match(local.onHoldStart, { onUndefined: () => ({}), onDefined: (onHoldStart) => ({ onHoldStart }) }),
354
+ ...UndefinedOr.match(local.onHoldEnd, { onUndefined: () => ({}), onDefined: (onHoldEnd) => ({ onHoldEnd }) }),
355
+ ...UndefinedOr.match(local.axis, { onUndefined: () => ({}), onDefined: (axis) => ({ axis }) }),
356
+ ...UndefinedOr.match(local.keyboard, { onUndefined: () => ({}), onDefined: (keyboard) => ({ keyboard }) }),
357
+ ...UndefinedOr.match(local.announcements, { onUndefined: () => ({}), onDefined: (announcements) => ({ announcements }) }),
358
+ ...UndefinedOr.match(local.instructions, { onUndefined: () => ({}), onDefined: (instructions) => ({ instructions }) }),
359
+ }));
360
+ const Tag = wardicTag(UndefinedOr.match(untrack(() => local.as), { onUndefined: () => "ul", onDefined: identity }));
361
+ const userRef = local.ref;
362
+ const spread = group({
363
+ ...UndefinedOr.match(userRef, { onUndefined: () => ({}), onDefined: (ref) => ({ ref }) }),
364
+ get style() {
365
+ return local.style;
366
+ },
367
+ });
368
+ return (<GroupContext.Provider value={group}>
369
+ <Tag {...rest} {...spread}>
370
+ {local.children}
371
+ </Tag>
372
+ </GroupContext.Provider>);
373
+ }
374
+ /**
375
+ * An item of the `Reorder.Group` around it, rendered as `as`, `"li"` by default. Outside a group it
376
+ * throws, as Motion's does.
377
+ *
378
+ * @see https://wardic.dev/reference/solid/reorder/reorder
379
+ */
380
+ // ADR-0020: a `createReorderItem` on the nearest group.
381
+ function Item(props) {
382
+ const group = useContext(GroupContext);
383
+ if (Predicate.isUndefined(group))
384
+ throw new Error("Reorder.Item must be a child of Reorder.Group");
385
+ // The item consumes every motion prop name (layoutId / drag included, though its type
386
+ // omits them), so none reaches the DOM.
387
+ const [local, motion, rest] = splitProps(props, ["value", "as", "ref", "style", "children", "tabIndex", "aria-describedby"], MOTION_PROPS);
388
+ const config = configOfMotion(motion);
389
+ const item = createReorderItem(group, () => ({ ...config(), layout: itemLayoutOf(config().layout), value: local.value }));
390
+ const tag = UndefinedOr.match(untrack(() => local.as), { onUndefined: () => "li", onDefined: identity });
391
+ const userRef = local.ref;
392
+ const spread = item({
393
+ ...UndefinedOr.match(userRef, { onUndefined: () => ({}), onDefined: (ref) => ({ ref }) }),
394
+ get style() {
395
+ return local.style;
396
+ },
397
+ get tabIndex() {
398
+ return local.tabIndex;
399
+ },
400
+ get "aria-describedby"() {
401
+ return local["aria-describedby"];
402
+ },
403
+ });
404
+ const element = () => (<Dynamic component={tag} {...rest} {...spread}>
405
+ {local.children}
406
+ </Dynamic>);
407
+ // An item that changes what its children read renders its variant context's Provider around
408
+ // them (#50), as every Wardic element does; any other renders none.
409
+ return Bool.match(changesContext(untrack(config)), {
410
+ onFalse: element,
411
+ onTrue: () => <item.Provider>{element()}</item.Provider>,
412
+ });
413
+ }
414
+ /**
415
+ * A list put in order by dragging its items, or from the keyboard: `Reorder.Group` and `Reorder.Item`.
416
+ * Your app owns the order: the group takes it as `values`, and `onReorder` hands each new one back.
417
+ * Motion's `Reorder`.
418
+ *
419
+ * @example
420
+ * <Reorder.Group values={items()} onReorder={setItems}>
421
+ * <For each={items()}>{(item) => <Reorder.Item value={item}>{item}</Reorder.Item>}</For>
422
+ * </Reorder.Group>
423
+ * @see https://wardic.dev/reference/solid/reorder/reorder
424
+ */
425
+ // ADR-0020.
426
+ export const Reorder = { Group, Item };
427
+ //# sourceMappingURL=reorder.jsx.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reorder.jsx","sourceRoot":"","sources":["../../src/reorder.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,189 @@
1
+ import * as DefaultTransition from "@wardic/core/DefaultTransition";
2
+ import type * as Frame from "@wardic/core/Frame";
3
+ import type * as InterpolatorRegistry from "@wardic/core/InterpolatorRegistry";
4
+ import * as Machine from "@wardic/core/Machine";
5
+ import * as ReducedMotion from "@wardic/core/ReducedMotion";
6
+ import * as Values from "@wardic/core/Values";
7
+ import * as MeasuredPair from "@wardic/dom/MeasuredPair";
8
+ import type * as Style from "@wardic/dom/Style";
9
+ import * as Effect from "effect/Effect";
10
+ import { type LazyArg } from "effect/Function";
11
+ import type { WardicTransition } from "./config.ts";
12
+ /** A Retarget's returns that follow a moving Live value (#130, ADR-0043 decision 6). */
13
+ export interface Follows {
14
+ /** The keys among the animated ones whose return follows its Live value. */
15
+ readonly keysOf: (rest: Values.Values) => ReadonlyArray<string>;
16
+ /** Where a following key's Live value is now, read each step. */
17
+ readonly targetOf: (key: string, start: number) => () => number;
18
+ }
19
+ /** A leg that snaps the positional keys (ADR-0029). */
20
+ export interface Snap {
21
+ readonly _tag: "Snap";
22
+ /** The keys it snaps: a spring starts each of them at rest after. */
23
+ readonly keys: ReadonlyArray<string>;
24
+ /** Each key it snaps, with the target the Retarget gave it (#325). */
25
+ readonly to: Values.Values;
26
+ readonly machine: () => Machine.Machine<Frame.Frame<Values.Values>>;
27
+ }
28
+ /** A leg that follows one key's moving Live value (#130). */
29
+ export interface Follow {
30
+ readonly _tag: "Follow";
31
+ readonly key: string;
32
+ /** Its key, with where its Live value was at the Retarget (#325). */
33
+ readonly to: Values.Values;
34
+ readonly machine: () => Machine.Machine<Frame.Frame<number> & {
35
+ readonly velocity?: number;
36
+ }>;
37
+ }
38
+ /** A leg over the numeric keys, carrying their velocities: a spring's. */
39
+ export interface Numbers {
40
+ readonly _tag: "Numbers";
41
+ /** Each key it animates, with its target (#325). */
42
+ readonly to: Values.Values;
43
+ readonly machine: () => Machine.Machine<Frame.MultiPhysics>;
44
+ }
45
+ /** A leg over values through the Interpolators: a tween's keys, or a spring's strings. */
46
+ export interface Blend {
47
+ readonly _tag: "Blend";
48
+ /** Each key it animates, with its target (#325). */
49
+ readonly to: Values.Values;
50
+ readonly machine: () => Effect.Effect<Machine.Machine<Frame.Frame<Values.Values>>, never, InterpolatorRegistry.InterpolatorRegistry>;
51
+ }
52
+ /** One leg of a Retarget. */
53
+ export type Leg = Snap | Follow | Numbers | Blend;
54
+ /**
55
+ * Each key's velocity now (#464): read only for a key a spring or a follow starts, so a tween's
56
+ * Retarget reads none. A spring takes its transition's own `velocity` over it, as Motion's
57
+ * `{ velocity: value.getVelocity(), ...valueTransition }`.
58
+ */
59
+ export type Velocities = (key: string) => number;
60
+ /** No velocity: every key at rest. */
61
+ export declare const NO_VELOCITY: Velocities;
62
+ /** Each key's velocity from a record of them, 0 for one it doesn't have. */
63
+ export declare const velocitiesOf: (record: Readonly<Record<string, number>>) => Velocities;
64
+ /**
65
+ * The fields no machine reads: the orchestration's (ADR-0007), the variant tree's, and a Path
66
+ * (#438), which {@link legsOf} takes out to `x` and `y`'s leg. Neither defines a transition.
67
+ */
68
+ declare const ORCHESTRATION: readonly ["staggerChildren", "delayChildren", "from", "staggerDirection", "when", "path"];
69
+ /** A transition as a machine takes it: without the orchestration's fields (#243) or its Path (#438), each arm. */
70
+ export type MotionTransition = WardicTransition extends infer T ? (T extends unknown ? Omit<T, (typeof ORCHESTRATION)[number]> : never) : never;
71
+ /**
72
+ * A transition as its machines take it: without the orchestration's fields (#243). A stagger's
73
+ * `from` (`"last"`, `"center"`) is the variant tree's, and a spring decodes `from` as its starting
74
+ * position, so it failed every leg; the rest of those fields a machine ignores. The same transition,
75
+ * one with none of them.
76
+ */
77
+ export declare const motionOf: (transition: WardicTransition | undefined) => MotionTransition | undefined;
78
+ /**
79
+ * A transition's entries (#301): its own fields, and each value's entry (`default` and `layout`
80
+ * among them). Each entry is resolved at its first need and kept, so its keys run on the same object
81
+ * at every Retarget (#66's decode cache keys on it).
82
+ */
83
+ interface Entries {
84
+ readonly own: WardicTransition;
85
+ readonly byKey: Readonly<Record<string, WardicTransition>>;
86
+ /** Whether any entry is a value's, not `default` or `layout`: else every value runs on one transition. */
87
+ readonly byValue: boolean;
88
+ readonly resolved: Map<string, WardicTransition>;
89
+ }
90
+ /**
91
+ * A transition's entries (#301), or `undefined` for one with none: worked out once per transition
92
+ * object, so an element whose transitions have none pays a lookup per Retarget.
93
+ */
94
+ export declare const entriesOf: (given: WardicTransition | undefined) => Entries | undefined;
95
+ /**
96
+ * The transition `key` runs on in `given` (#301): its entry, else `default`, else `given`'s own
97
+ * fields. `given` itself when it has no entry.
98
+ */
99
+ export declare const transitionForKey: (given: WardicTransition | undefined, key: string) => WardicTransition | undefined;
100
+ /**
101
+ * `given` held back by `extra` more seconds (ADR-0007's stagger, #290's exit delays): its own `delay`,
102
+ * and each entry's (#301), so a key on its entry waits as the rest do. An `inherit` entry with no
103
+ * `delay` of its own takes the own fields' as they are.
104
+ */
105
+ export declare const delayedBy: (given: WardicTransition | undefined, extra: number) => WardicTransition | undefined;
106
+ /**
107
+ * A transition as its legs run it: a spring or a tween, Motion's fields filled in (ADR-0051), with
108
+ * its reduced-motion opt-out.
109
+ */
110
+ export type Run = (DefaultTransition.Transition | DefaultTransition.KeyframesTransition | InertiaRun) & {
111
+ readonly respectReducedMotion?: boolean;
112
+ readonly skipAnimations?: boolean;
113
+ };
114
+ /** An inertia as its legs run it (#435): core's options, `timeConstant` in seconds, with the transition's `velocity` and `delay`. */
115
+ export type InertiaRun = Machine.InertiaValuesOptions & {
116
+ readonly type: "inertia";
117
+ };
118
+ /** Each key's stops past its first two (#429): the Keyframes a tween runs through `keyframesValues`. */
119
+ export type StopsByKey = Readonly<Record<string, ReadonlyArray<number | string>>>;
120
+ /**
121
+ * Whether `key` has Keyframes of more than two stops among `stops`: never a Measured pair (#430). They
122
+ * run through their stops, switching where types mix, as Motion's measures two stops only (#460).
123
+ */
124
+ export declare const hasManyStops: (stops: StopsByKey | undefined, key: string) => boolean;
125
+ /** Where a Retarget's keys start, and each one's stops, its Keyframes resolved ({@link keyframesFrom}). */
126
+ export interface KeyframesStart {
127
+ readonly from: Values.Values;
128
+ readonly stops: StopsByKey | undefined;
129
+ }
130
+ /**
131
+ * Where a target's keys start with its **Keyframes** resolved (#429, Motion's): a first `null` stop is
132
+ * where the key is (`from`), each later one the stop before (`fillWildcards`), and an explicit first
133
+ * stop is where it starts, jumped to. `stops` holds the keys with more than two: a key with two runs
134
+ * as a target does, from its first, so a spring takes it with the key's velocity, as Motion's.
135
+ *
136
+ * @param from each key's start
137
+ * @param to each key's target, its Keyframes' last stop
138
+ * @param keyframes each Keyframes key's stops; only the keys `to` has are read
139
+ */
140
+ export declare const keyframesFrom: (from: Values.Values, to: Values.Values, keyframes: Readonly<Record<string, Style.Stops>>) => KeyframesStart;
141
+ /**
142
+ * Stops with each `null` filled (#429, Motion's `fillWildcards`): the first with `start`, a later one
143
+ * with the stop before. A sequence's function Segment fills its own from 0 (#433).
144
+ */
145
+ export declare const filledStops: (stops: Style.Stops, start: number | string) => ReadonlyArray<number | string>;
146
+ /**
147
+ * The spring fields: one of them, with no `type`, makes a transition a spring, a value's or a layout
148
+ * animation's (ADR-0009 *Amendment (#171)*, ADR-0051); a time-based spring's `bounce` and
149
+ * `visualDuration` among them (#359), where a `duration` alone is a tween's.
150
+ */
151
+ export declare const SPRING_FIELDS: readonly ["stiffness", "damping", "mass", "velocity", "restDelta", "restSpeed", "bounce", "visualDuration"];
152
+ /**
153
+ * A transition as its legs run it (ADR-0051, #357), or `undefined` when it isn't defined: none, or
154
+ * one with only orchestration, `delay` and the reduced-motion opt-out (Motion's
155
+ * `isTransitionDefined`). A defined one:
156
+ * - is a spring when it says so, or gives no `type` and a spring field ({@link SPRING_FIELDS});
157
+ * anything else is a tween, as a layout animation's is (ADR-0009 *Amendment (#171)*): `{ duration:
158
+ * 0.5 }` a 0.5 s tween, as Motion's, where `{ stiffness: 300 }` stays a spring;
159
+ * - takes Motion's fields for those it leaves out: a spring's 100 / 10 / 1, a tween's `easeOut`
160
+ * (a tween's 0.3 s is core's too). A spring set by time, a `duration`, `bounce` or
161
+ * `visualDuration` and no stiffness, damping or mass (#359), takes no physics: core solves them.
162
+ *
163
+ * Worked out once per transition object. A field set to `undefined` gives nothing.
164
+ */
165
+ export declare const runOf: (given: WardicTransition | undefined) => Run | undefined;
166
+ /**
167
+ * A Retarget's keys with both of a Path's axes (#438): a Path couples `x` and `y`, so with either one
168
+ * retargeted, the other goes along it too, to its own target in `target`, though that hasn't changed
169
+ * and a Retarget otherwise keeps an unchanged key's Leg (#325). Without a Path, or neither axis, the
170
+ * keys as they are.
171
+ */
172
+ export declare const withPathAxes: (fresh: Values.Values, target: Values.Values, transition: WardicTransition | undefined) => Values.Values;
173
+ export declare const legsOf: (from: Values.Values, to: Values.Values, given: WardicTransition | undefined, reducedMotion: boolean, skipped: boolean, positionalKeys: ReducedMotion.PositionalKeys["Service"], defaults: DefaultTransition.DefaultTransition["Service"], velocities: Velocities, follow?: Follows | undefined, stops?: StopsByKey | undefined, measured?: MeasuredPairs | undefined, current?: Values.Values | undefined, rests?: Values.Values | undefined) => ReadonlyArray<Leg>;
174
+ /** Each key's Measured pair (#430), by its key. */
175
+ export type MeasuredPairs = Readonly<Record<string, MeasuredPair.Requested>>;
176
+ /** What a leg's machine can be run through: the same Frames, stepped another way. */
177
+ export type MachineMap = <F extends Frame.Frame<unknown>>(machine: Machine.Machine<F>) => Machine.Machine<F>;
178
+ /**
179
+ * `leg` with its machine run through `f`: started partway ({@link startingAt}), or through an
180
+ * **Imperative animation**'s Playhead (#433, `Playback.drive`).
181
+ */
182
+ export declare const mapMachine: (leg: Leg, f: MachineMap) => Leg;
183
+ /**
184
+ * `leg`, started `at()` seconds in (`Machine.startAt`): a Handoff's first legs, which pick up an
185
+ * Appear animation where its CSS has got (#48, ADR-0044 decision 6).
186
+ */
187
+ export declare const startingAt: (leg: Leg, at: LazyArg<number>) => Leg;
188
+ export {};
189
+ //# sourceMappingURL=retarget-legs.d.ts.map