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

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
package/src/config.ts ADDED
@@ -0,0 +1,805 @@
1
+ /**
2
+ * The Solid bindings' configuration types (#209): what an element's `initial`, `animate`,
3
+ * `transition`, variants, gestures, drag and layout props take, for the Solid 1 binding and the
4
+ * Solid 2 one (`@wardic/solid/unstable/v2`) alike. Solid-free: CSS properties come from
5
+ * `csstype`, as both Solids' own `JSX.CSSProperties` do.
6
+ *
7
+ * @module
8
+ */
9
+ import type { WardicAnimationControls } from "./animation-controls.ts"
10
+ import type * as Arc from "@wardic/core/Arc"
11
+ import type * as Machine from "@wardic/core/Machine"
12
+ import type * as Stagger from "@wardic/core/Stagger"
13
+ import type * as CSS from "csstype"
14
+ import type * as DomRenderer from "@wardic/dom/DomRenderer"
15
+ import type * as ProjectionSystem from "@wardic/dom/ProjectionSystem"
16
+ import type * as Box from "@wardic/core/Box"
17
+ import type { WardicDragConstraints, WardicMeasureDragConstraints } from "./drag-constraints.ts"
18
+ import type { WardicDragControls } from "./drag-controls.ts"
19
+ import type { WardicDragInfo, WardicPointInfo, WardicPressEvent, WardicPressInfo } from "./gesture-info.ts"
20
+
21
+ /** What "in view" means: an element's `viewport`, and `createInView`'s. Motion's `viewport` and `useInView` options. */
22
+ // #273, ADR-0047.
23
+ export interface WardicViewport {
24
+ /** Stays in view after its first entry. */
25
+ readonly once?: boolean
26
+ /** Grown around the root, as CSS `rootMargin`: `"0px 0px -100px 0px"` counts it in 100 px later at the bottom. */
27
+ readonly margin?: string
28
+ /** How much of the element must show: `"some"` (the default), `"all"`, or 0 to 1. */
29
+ readonly amount?: "some" | "all" | number
30
+ /** The scrolling container it's in view of, as an accessor; the window if none. Read as it starts watching. */
31
+ readonly root?: () => Element | undefined
32
+ }
33
+
34
+ /** CSS properties as Solid types them: `csstype`'s hyphenated set, and custom properties. */
35
+ export interface CSSProperties extends CSS.PropertiesHyphen {
36
+ [key: `-${string}`]: string | number | undefined
37
+ }
38
+
39
+ /**
40
+ * The transform-shorthand keys the `@wardic/dom` renderer's `TRANSFORM_KEYS`
41
+ * groups into a single `transform` string (see `renderer.ts`). They are NOT
42
+ * valid {@link CSSProperties} keys (`x`, `scale`, `rotate`, …), so they are added
43
+ * here as an intersection on top of {@link CSSProperties}. Each is
44
+ * `number | string` (a bare number gets the renderer's default unit; a string
45
+ * is used verbatim).
46
+ */
47
+ export interface WardicTransformShorthands {
48
+ readonly x?: number | string
49
+ readonly y?: number | string
50
+ readonly z?: number | string
51
+ readonly translateX?: number | string
52
+ readonly translateY?: number | string
53
+ readonly translateZ?: number | string
54
+ readonly scale?: number | string
55
+ readonly scaleX?: number | string
56
+ readonly scaleY?: number | string
57
+ readonly rotate?: number | string
58
+ readonly rotateX?: number | string
59
+ readonly rotateY?: number | string
60
+ readonly rotateZ?: number | string
61
+ readonly skewX?: number | string
62
+ readonly skewY?: number | string
63
+ }
64
+
65
+ /**
66
+ * Animatable SVG attributes (ADR-0014) the DOM applier routes via `setAttribute`.
67
+ * These are the SVG keys NOT already typed by {@link CSSProperties}, plus the
68
+ * geometry keys (`cx`/`cy`/`r`/`rx`/`ry`) re-typed `number | string` (csstype's
69
+ * CSS-Geometry types are narrower). `fill`/`stroke`/`stroke-*` stay as
70
+ * {@link CSSProperties} provides (color/length strings — already animatable). The
71
+ * runtime accepts any key regardless; this is purely DX typing.
72
+ */
73
+ export interface WardicSvgAttributes {
74
+ readonly cx?: number | string
75
+ readonly cy?: number | string
76
+ readonly r?: number | string
77
+ readonly rx?: number | string
78
+ readonly ry?: number | string
79
+ readonly x1?: number | string
80
+ readonly y1?: number | string
81
+ readonly x2?: number | string
82
+ readonly y2?: number | string
83
+ /** Motion's line-draw feature: portion (0–1) of the path stroked → `stroke-dasharray`. */
84
+ readonly pathLength?: number
85
+ readonly pathSpacing?: number
86
+ readonly pathOffset?: number
87
+ /** Set the SVG `x`/`y`/`scale` ATTRIBUTE explicitly (Wardic's `x`/`y` are transform shorthands). */
88
+ readonly attrX?: number | string
89
+ readonly attrY?: number | string
90
+ readonly attrScale?: number | string
91
+ }
92
+
93
+ /**
94
+ * The Solid bindings' value type: every {@link CSSProperties} key PLUS the transform
95
+ * shorthands and the {@link WardicSvgAttributes} the renderer understands. This is
96
+ * the type users write at the edge (`animate={{ opacity: 1, x: 100, cx: 50 }}`).
97
+ * Core's `Values` (`Record<string, number | string>`) is framework-agnostic and
98
+ * UNCHANGED; the binding funnels `WardicValues` through {@link toValues} before core.
99
+ *
100
+ * Some shorthand / geometry keys (`x`, `scale`, `cx`, `r`, …) ALSO exist on
101
+ * `csstype`'s property set with much narrower value types (e.g. `scale: "none" |
102
+ * string`). A plain intersection would narrow those to the (often `never`-like)
103
+ * overlap and reject `scale: 1.1`. So we `Omit` those keys off {@link CSSProperties}
104
+ * first, letting the `number | string` typing here win for them.
105
+ */
106
+ export type WardicValues =
107
+ & Omit<CSSProperties, keyof WardicTransformShorthands | keyof WardicSvgAttributes | DomRenderer.LengthKey>
108
+ & WardicLengths
109
+ & WardicTransformShorthands
110
+ & WardicSvgAttributes
111
+
112
+ /**
113
+ * The CSS lengths a value takes a bare number on, drawn in `px` (#522, Motion's `animate={{ height: 200 }}`):
114
+ * the DOM renderer's `LENGTH_KEYS`, so a number typechecks only where it's drawn as a length. Every
115
+ * other length takes `csstype`'s value, `0` or a string. `style` keeps Solid's own types: Solid writes a
116
+ * number there as it is.
117
+ */
118
+ export type WardicLengths = { readonly [K in DomRenderer.LengthKey]?: number | CSSProperties[K] }
119
+
120
+ /**
121
+ * A **Keyframes** value (Motion's): the stops a key passes through in order, as
122
+ * `animate={{ scale: [1, 1.2, 1] }}`. A first `null` is where the key is now; a later one repeats the
123
+ * stop before it. An explicit first stop is jumped to as its animation starts. More than two stops run
124
+ * on a tween (Motion's 0.8 s one with no transition defined; `times` places them, `ease` may be one per
125
+ * Interval, between two stops): a spring takes two.
126
+ */
127
+ export type WardicKeyframes<V> = ReadonlyArray<V | null>
128
+
129
+ /**
130
+ * A target's values: {@link WardicValues}, each a value or its {@link WardicKeyframes}. Every
131
+ * target takes them (`animate`, `exit`, each `while*`, a variant); `initial` reads one at its first
132
+ * stop. `style` and a Transition end take one value, as does CSS's own `transition` string.
133
+ */
134
+ export type WardicTargetValues = {
135
+ readonly [K in keyof WardicValues]?: K extends "transition" ? WardicValues[K] : WardicValues[K] | WardicKeyframes<Exclude<WardicValues[K], undefined>>
136
+ }
137
+
138
+ /** A stagger: a child's delay in seconds, from its index and the count. `stagger()` makes one. Motion's `DynamicOption<number>`. */
139
+ // #436.
140
+ export type WardicStagger = (index: number, total: number) => number
141
+
142
+ /**
143
+ * A path for `x` and `y` to travel along together: from where they start to where they end, the point
144
+ * at each progress, 0 to 1, with a turn (`rotate`, in degrees) for one that turns the element. `arc()`
145
+ * makes one; any function of this shape is one, a curve of your own.
146
+ */
147
+ // A Path (#438).
148
+ export type WardicPath = Arc.Path
149
+
150
+ /**
151
+ * How a parent's variant children are timed against it and each other: `when`, `delayChildren`,
152
+ * `staggerChildren`, `staggerDirection` and `from`. Read on the parent's transition, for the variant
153
+ * change it hands its children.
154
+ */
155
+ // ADR-0007: they take effect on the parent that hands its names down; a child inherits them as its
156
+ // default transition but reads orchestration off the parent's context, not its own transition.
157
+ export interface WardicOrchestration {
158
+ /** Seconds between one child's start and the next's. */
159
+ readonly staggerChildren?: number
160
+ /**
161
+ * Fixed delay added to every child before its staggered offset; or, as Motion's, a function of a
162
+ * child's index and the count, `stagger()`'s, which decides each child's whole delay:
163
+ * `staggerChildren`, `staggerDirection` and `from` aren't read beside it.
164
+ */
165
+ // #436.
166
+ readonly delayChildren?: number | WardicStagger
167
+ /** `-1` reverses the stagger order, the last child first. Default `1`. */
168
+ readonly staggerDirection?: 1 | -1
169
+ /** The child the stagger grows from: `"first"` (the default), `"last"`, `"center"` or an index. */
170
+ readonly from?: Stagger.Origin
171
+ /**
172
+ * Orders the parent and its children: `"beforeChildren"` animates the parent, then the children once
173
+ * it lands; `"afterChildren"` the children, then the parent once they've all landed. Left out, they
174
+ * animate together.
175
+ */
176
+ readonly when?: "beforeChildren" | "afterChildren"
177
+ }
178
+
179
+ /**
180
+ * A transition's reduced-motion opt-out, on both arms. An animation honours the
181
+ * provider's `reducedMotion` by default: under it, its positional keys snap and a layout
182
+ * animation lands at once.
183
+ */
184
+ export interface WardicReducedMotion {
185
+ /** `false` animates the transition's keys whatever the provider's `reducedMotion` says. Default `true`. */
186
+ readonly respectReducedMotion?: boolean
187
+ }
188
+
189
+ /**
190
+ * A transition of `type: "inertia"`: each number glides from where it is at its velocity, its own or
191
+ * `velocity`, and comes to rest `power × velocity` on, through `modifyTarget`, springing back to `min`
192
+ * or `max` past one. Its target isn't read, so with no velocity it stays where it is. A value that
193
+ * isn't a number, a colour or a length with units, runs on its default transition instead.
194
+ * `timeConstant` is in milliseconds, as Motion's. Motion's `inertia`.
195
+ */
196
+ // #435.
197
+ export interface WardicInertia {
198
+ readonly type: "inertia"
199
+ /** The velocity every key glides from, per second: each key's own when left out. */
200
+ readonly velocity?: number
201
+ /** How far a glide carries, as a multiple of its velocity. Default 0.8. */
202
+ readonly power?: number
203
+ /** The glide's time constant, in milliseconds. Default 325. */
204
+ readonly timeConstant?: number
205
+ /** The bounce back from an edge: its stiffness and damping. Defaults 500 and 10. */
206
+ readonly bounceStiffness?: number
207
+ readonly bounceDamping?: number
208
+ /** At rest within this of where it's going. Default 0.5. */
209
+ readonly restDelta?: number
210
+ /** A bounce at rest below this speed, per second. Default 2. */
211
+ readonly restSpeed?: number
212
+ /** Moves where a glide rests, called with where it would: snapping it to a grid, say. */
213
+ readonly modifyTarget?: (ideal: number) => number
214
+ /** The edges: past one, the glide springs back to it. */
215
+ readonly min?: number
216
+ readonly max?: number
217
+ /** Seconds each key holds where it is before it glides. */
218
+ readonly delay?: number
219
+ }
220
+
221
+ /**
222
+ * A transition's **Skipped animation** (Motion's `skipAnimations`), on both arms: `true` lands its
223
+ * keys at their ends on the next frame, with no delay, as a `WardicConfig`'s `skipAnimations` does.
224
+ * `false` doesn't undo a config's.
225
+ */
226
+ export interface WardicSkipAnimations {
227
+ readonly skipAnimations?: boolean
228
+ }
229
+
230
+ /**
231
+ * A transition's **Path** (#438, Motion's `path`): `x` and `y` travel along it together, rather than
232
+ * each on its own, on `x`'s transition, from rest. `arc()` makes one; any {@link WardicPath} is one.
233
+ * An axis the target leaves out ends where it rests (#574): where a Path in flight was taking it, so
234
+ * one caught mid-air curves back to its line, else where it is.
235
+ * A layout animation reads it where Motion's does, on its layout transition: the `layout` entry when
236
+ * there is one, else the element's transition. On any other value's entry it isn't read.
237
+ */
238
+ export interface WardicTransitionPath {
239
+ readonly path?: WardicPath
240
+ }
241
+
242
+ /**
243
+ * How an element gets to its target: a spring, a tween, or an inertia, with a value's own transition
244
+ * under its name. With no `type`, a spring field (`stiffness`, `damping`, `mass`, `velocity`,
245
+ * `restDelta`, `restSpeed`, `bounce`, `visualDuration`) makes it a spring, and anything else a tween, so
246
+ * `{ duration: 0.5 }` is a 0.5 s tween. A spring's missing fields are Motion's 100 / 10 / 1, or set by
247
+ * time, a `duration` or `visualDuration` with a `bounce`; a tween's easing is `easeOut`. With neither,
248
+ * each value runs on its default. It also takes `delay`, a tween's repeats, a `path`, its variant
249
+ * children's orchestration, `respectReducedMotion` and `skipAnimations`.
250
+ *
251
+ * @example
252
+ * <w.div animate={{ x: 100, opacity: 1 }} transition={{ type: "spring", bounce: 0.2, opacity: { duration: 0.2 } }} />
253
+ * @see https://wardic.dev/reference/solid/transitions/transition
254
+ */
255
+ // ADR-0051: a transition with only orchestration, `delay` or the opt-out leaves each key on its
256
+ // Environment's Default transition. A spring set by time (#359) is solved to its physics. A "tween"
257
+ // routes every key through `animateValues`, Keyframes through `keyframesValues` with `times` and an
258
+ // `ease` per Interval (#429). `from` is the stagger's origin on both arms: a spring's own `from` was
259
+ // never a transition's, and the two clashed (#243). A value's own transition: #301.
260
+ export type WardicTransition = WardicTransitionWith<WardicTransitionEntries>
261
+
262
+ /**
263
+ * A transition with the entries `E` (#301): {@link WardicTransition}'s two arms. A Wardic element's
264
+ * config checks each transition in it against the entries its keys allow (`WardChecked`).
265
+ */
266
+ export type WardicTransitionWith<E> =
267
+ | ({ readonly type?: "spring" } & Omit<Machine.SpringOptions, "from"> & WardicOrchestration & WardicReducedMotion & WardicSkipAnimations & WardicTransitionPath & E)
268
+ | ({ readonly type?: "tween" } & Machine.KeyframesOptions & WardicOrchestration & WardicReducedMotion & WardicSkipAnimations & WardicTransitionPath & E)
269
+ | (WardicInertia & WardicOrchestration & WardicReducedMotion & WardicSkipAnimations & WardicTransitionPath & E)
270
+
271
+ /**
272
+ * One value's own transition, under its name in a `transition`: a spring, a tween or an inertia, without
273
+ * the orchestration, which is the whole transition's. With `inherit: true` it's laid over the
274
+ * transition's own fields, its own winning; without, it stands alone, taking only the transition's
275
+ * `respectReducedMotion` and `skipAnimations`. Motion's `ValueTransition`.
276
+ */
277
+ // #301.
278
+ export type WardicValueTransition =
279
+ | ({ readonly type?: "spring" } & Omit<Machine.SpringOptions, "from"> & WardicReducedMotion & WardicSkipAnimations & WardicTransitionPath & WardicInherit)
280
+ | ({ readonly type?: "tween" } & Machine.KeyframesOptions & WardicReducedMotion & WardicSkipAnimations & WardicTransitionPath & WardicInherit)
281
+ | (WardicInertia & WardicReducedMotion & WardicSkipAnimations & WardicTransitionPath & WardicInherit)
282
+
283
+ /** `inherit: true` lays a transition over the one it would replace, its own fields winning, as Motion's. */
284
+ // #277, #301.
285
+ export interface WardicInherit {
286
+ readonly inherit?: boolean
287
+ }
288
+
289
+ /** The name of a value a transition can have an entry for: a style, a transform shorthand, an SVG attribute. */
290
+ export type WardicValueKey = Exclude<keyof WardicValues & string, "transition">
291
+
292
+ /**
293
+ * A transition's per-value entries: a value's own transition under its name, `default` for every value
294
+ * without one, and `layout` for the element's layout animations. A value runs on its entry, else
295
+ * `default`, else the transition's own fields. Motion's `TransitionWithValueOverrides`.
296
+ */
297
+ // #301; `layout`, ADR-0009 *Amendment (#171)*: a layout animation on `layout`, else `default`, else the
298
+ // own fields, else Motion's 0.45 s tween.
299
+ export type WardicTransitionEntries = WardicValueEntries<WardicValueKey> & { readonly layout?: WardicValueTransition }
300
+
301
+ /** Entries for the values `K`, and `default` for the rest (#301). */
302
+ export type WardicValueEntries<K extends string> = { readonly default?: WardicValueTransition } & { readonly [P in K]?: WardicValueTransition }
303
+
304
+ /**
305
+ * A variant's own transition, or a target's: it runs the animation that variant starts, in place of
306
+ * the element's `transition`, unless `inherit: true` lays it over the element's, its own fields winning.
307
+ * Motion's.
308
+ */
309
+ // #277, ADR-0048.
310
+ export type WardicVariantTransition = WardicTransition & WardicInherit
311
+
312
+ /**
313
+ * A target's **Transition end** (Motion's `transitionEnd`): values set at once, with no
314
+ * animation, once the keys the target animates have landed, `{ opacity: 0, transitionEnd: { display:
315
+ * "none" } }`. Its keys are the target's, so they return to their base when it's no longer active;
316
+ * a target interrupted before it lands never sets them; the target an element renders first sets its
317
+ * own at once, on a server too.
318
+ */
319
+ export type WardicTransitionEnd = Omit<WardicValues, "transition">
320
+
321
+ /**
322
+ * A target, as a variant, `animate` or `exit` gives it (Motion's `TargetAndTransition`): its
323
+ * values, each a value or its Keyframes ({@link WardicTargetValues}), optionally the transition
324
+ * the animation to it runs on, as an object, and its Transition end ({@link WardicTransitionEnd}).
325
+ * A plain {@link WardicValues} map fits too, its CSS `transition` string a value as any other.
326
+ */
327
+ export type WardicVariant =
328
+ | (WardicTargetValues & { readonly transitionEnd?: WardicTransitionEnd })
329
+ | (Omit<WardicTargetValues, "transition"> & { readonly transition?: WardicVariantTransition; readonly transitionEnd?: WardicTransitionEnd })
330
+
331
+ /**
332
+ * Variant names (Motion's `VariantLabels`): one name, or a list of them. A list merges its
333
+ * names' values in order, a later name's winning a key both set. Each key animates on the own
334
+ * transition of the last name that sets it, and each name orchestrates the keys it sets in the
335
+ * element's Variant children. An empty list is no name.
336
+ */
337
+ export type WardicVariantLabels = string | ReadonlyArray<string>
338
+
339
+ /**
340
+ * A dynamic variant (Motion's `TargetResolver`): called each time the variant is
341
+ * resolved with the element's `custom` (or, for an exit, its `<AnimatePresence custom>`), its values
342
+ * now and their velocities, and returns its target, or another variant's name.
343
+ */
344
+ export type WardicVariantResolver = (
345
+ // Motion's `custom` is `any`: a resolver declares its own (`(direction: number) => …`).
346
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
347
+ custom: any,
348
+ current: Readonly<Record<string, number | string>>,
349
+ velocity: Readonly<Record<string, number>>,
350
+ ) => WardicVariant | string
351
+
352
+ /** Named targets, each a target or a {@link WardicVariantResolver}. */
353
+ export type WardicVariants = Readonly<Record<string, WardicVariant | WardicVariantResolver>>
354
+
355
+ /**
356
+ * A drag's release, Motion's `dragTransition`: the inertia every
357
+ * release runs on, a Fling, a snap back to the origin, and a layout node's Release offset. A glide
358
+ * toward `power` × the release velocity that eases out over `timeConstant`, springing back on the
359
+ * bounce at an edge it would cross. Motion's names and units: `timeConstant` in milliseconds. The
360
+ * edges are `dragConstraints`, both at the origin with `dragSnapToOrigin`, or the slot for a layout
361
+ * node. A release never borrows the element's `transition`.
362
+ */
363
+ export interface WardicDragTransition {
364
+ /** How far a release glides, as a multiple of its velocity. Default 0.8. */
365
+ readonly power?: number
366
+ /** The glide's time constant, in milliseconds. Default 750. */
367
+ readonly timeConstant?: number
368
+ /** The bounce at an edge: 200 / 40 by default, a wall (1e6 / 1e7) with `dragElastic={0}`. */
369
+ readonly bounceStiffness?: number
370
+ readonly bounceDamping?: number
371
+ /** At rest within this many px of where it's going. Default 1. */
372
+ readonly restDelta?: number
373
+ /** At an edge, at rest below this speed, px/s. Default 10. */
374
+ readonly restSpeed?: number
375
+ /** Moves where a release rests, called per axis with where it would: snapping it to a grid, say. */
376
+ readonly modifyTarget?: (ideal: number) => number
377
+ }
378
+
379
+ /**
380
+ * Config accepted by {@link createWard}.
381
+ *
382
+ * REACTIVITY LAYERING (step 21e): every field here is a STATIC value. A Ward's
383
+ * reactivity is solely via the WHOLE-CONFIG accessor: `createWard(() => ({ ... }))`
384
+ * re-reads the config when a signal it touches changes, recomputing `target()`
385
+ * and driving a Retarget. Per-field accessor unwrapping is the COMPONENT layer's
386
+ * job ({@link "./wardic.tsx"} `MotionProps`), not `createWard`'s — at its
387
+ * boundary a config field is always a plain value.
388
+ */
389
+ /**
390
+ * Which of an element's gestures reach its pressable ancestors (Motion's `PropagateOptions`): only
391
+ * `tap` so far. `false` stops it; left out or `true`, it propagates.
392
+ */
393
+ export interface WardicPropagate {
394
+ readonly tap?: boolean
395
+ }
396
+
397
+ /**
398
+ * Motion's `definition` of an animation: a variant name, or its target values. A list of names
399
+ * on Solid 2's landing, where `animate` gave one; Solid 1's callbacks are told each name.
400
+ */
401
+ export type WardicAnimationDefinition = WardicVariantLabels | WardicValues
402
+
403
+ /**
404
+ * An app's scale corrector (Motion's `addScaleCorrector` entry), given to `WardicProvider`'s
405
+ * `scaleCorrectors` by the value key it corrects: `correct(latest, { target, treeScale, projectionDelta })`
406
+ * turns the element's value into the one to write while a layout animation scales it (`target` the
407
+ * box it's drawn into, `treeScale` its ancestors' scale, `projectionDelta` its delta, Motion's
408
+ * shapes), written under `applyTo`'s keys when given, else its own. `latest` is the element's own
409
+ * value for the key (from its `style` or an animation), else its Own value at its first measure.
410
+ */
411
+ export type WardicScaleCorrector = ProjectionSystem.ScaleCorrector
412
+
413
+ /**
414
+ * A point mapping (Motion's `TransformPoint`): handed a point in the viewport's coordinates, it
415
+ * gives the one a drag or a pan uses: `WardicConfig`'s `transformPagePoint`.
416
+ */
417
+ export type WardicTransformPoint = (point: { readonly x: number; readonly y: number }) => { readonly x: number; readonly y: number }
418
+
419
+ /** A layout box (Motion's `Box`): each axis's `min` and `max`, in the page's pixels. */
420
+ export type WardicLayoutBox = Box.Box
421
+
422
+ /**
423
+ * A **Transform template** (Motion's `transformTemplate`): `(values, generated) => transform`.
424
+ *
425
+ * - **At rest and animating:** `values` holds the element's transform keys in their units, as
426
+ * Motion's do (`x: "10px"`, `rotate: "45deg"`, `scale: 1.5`), and `generated` is the transform
427
+ * Wardic would draw, `""` when every key is at its identity. It's called with no transform key too.
428
+ * - **While a layout animation moves it:** `values` holds every value as it is (`x: 10`), and
429
+ * `generated` is the projection's transform. Once the flight lands, it's called as at rest.
430
+ * - **Held for a Measure pass:** every value as it is, and `""`.
431
+ */
432
+ export type WardicTransformTemplate = DomRenderer.TransformTemplate
433
+
434
+ /**
435
+ * The motion props a Wardic element takes, and the config a ward is made with: what it animates,
436
+ * when, how, and what it tells you. Motion's props, by Motion's names.
437
+ *
438
+ * @see https://wardic.dev/reference/solid/elements/props
439
+ */
440
+ export interface WardConfig {
441
+ /**
442
+ * Where the element starts: values, a `variants` name, or `false` to start at `animate`, so nothing
443
+ * animates as it mounts. On a server-rendered page, the element arrives in the HTML at `initial`.
444
+ *
445
+ * @example <w.div initial={{ opacity: 0, y: 12 }} />
446
+ */
447
+ // Read once per mount (untracked), so a later change doesn't re-seed; read again on every mount,
448
+ // an AnimatePresence re-entry included. `false` resolves `animate` once: its map, its variants
449
+ // entry, or a Variant child's inherited name (#134). A key started at returns to its `style`
450
+ // value, else where it started (ADR-0022).
451
+ readonly initial?: WardicVariant | WardicVariantLabels | false
452
+ /**
453
+ * Where the element animates to: values or a `variants` name. Change it, and the element animates
454
+ * from wherever it is to the new target. Or animation controls from `createAnimationControls()`,
455
+ * which set the target when you call `start` or `set`.
456
+ *
457
+ * @example <w.div animate={{ opacity: open() ? 1 : 0 }} />
458
+ */
459
+ // Read reactively through the whole-config accessor; its own `transition` drives it (#277). Controls
460
+ // are read once (#433).
461
+ readonly animate?: WardicVariant | WardicVariantLabels | WardicAnimationControls
462
+ /**
463
+ * Named targets that `initial`, `animate`, `exit` and the `while*` props can name instead of giving
464
+ * values. A variant can carry its own `transition`, or be a function of `custom`. Children with
465
+ * `variants` follow their parent's names, staggered by its `transition`.
466
+ *
467
+ * @example <w.div variants={{ hidden: { opacity: 0 }, shown: { opacity: 1 } }} />
468
+ */
469
+ // Dynamic variants: #277. Orchestration: ADR-0007.
470
+ readonly variants?: WardicVariants
471
+ /**
472
+ * The value passed to this element's function variants. When it changes, they're resolved again,
473
+ * and the element animates to what they give. A leaving element uses `<AnimatePresence custom>`
474
+ * instead, if given.
475
+ */
476
+ // #277, ADR-0048: a leaver's own `custom` can't change any more.
477
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
478
+ readonly custom?: any
479
+ /**
480
+ * Which child of an `<AnimatePresence>` this is, as React's `key` tells Motion. A child that comes
481
+ * back while one with its key is still leaving takes over from it, starting where it's drawn. Only
482
+ * on the presence's child itself; never written to the page.
483
+ */
484
+ // #286, ADR-0048. Read once.
485
+ readonly key?: string | number
486
+ /**
487
+ * `false` keeps an element with `variants` out of its parent's: it doesn't follow its names or take
488
+ * part in its stagger, and passes none of them on to its own children.
489
+ */
490
+ // #50. By default a Variant child (variants, no initial/animate name of its own) joins its nearest
491
+ // ancestor with variants (CONTEXT.md).
492
+ readonly inherit?: boolean
493
+ /**
494
+ * Where the element animates while the pointer is over it, and back when it leaves: values or a
495
+ * `variants` name, which children with `variants` follow too. Needs the `hover` Feature.
496
+ *
497
+ * @example <w.div whileHover={{ scale: 1.05 }} />
498
+ */
499
+ // Priority: under whileTap and whileDrag, over whileFocus and whileInView. Names reach Variant
500
+ // children (#291).
501
+ readonly whileHover?: WardicVariant | WardicVariantLabels
502
+ /**
503
+ * Where the element animates while it's pressed, by a pointer or by Enter or Space while it has
504
+ * focus. Needs the `press` Feature.
505
+ *
506
+ * @example <w.div whileTap={{ scale: 0.95 }} />
507
+ */
508
+ // Highest priority with whileDrag. Keyboard presses: #427.
509
+ readonly whileTap?: WardicVariant | WardicVariantLabels
510
+ /**
511
+ * Whether a press on this element also counts as a press of its ancestors. `{ tap: false }` keeps
512
+ * it to this element: a pressable parent doesn't play its `whileTap` or hear the tap.
513
+ */
514
+ // #439, ADR-0066: a Press claim on the pointer down or key. Read at each press's start. Only an
515
+ // element with a press claims; drags hold their own Drag claim.
516
+ readonly propagate?: WardicPropagate
517
+ /**
518
+ * Where the element animates while it's in view, as `viewport` defines it. Needs the `inView`
519
+ * Feature.
520
+ *
521
+ * @example <w.div whileInView={{ opacity: 1 }} viewport={{ once: true }} />
522
+ */
523
+ // #273, ADR-0047. Under whileFocus and the pointer gestures.
524
+ readonly whileInView?: WardicVariant | WardicVariantLabels
525
+ /**
526
+ * Where the element animates while it has the keyboard's focus (as `:focus-visible` shows it, not
527
+ * a click's). Needs the `focus` Feature.
528
+ */
529
+ // #273. Under the pointer gestures, over whileInView.
530
+ readonly whileFocus?: WardicVariant | WardicVariantLabels
531
+ /**
532
+ * What "in view" means for `whileInView` and the viewport callbacks: `root`, a scrolling container
533
+ * (the window if none); `margin`, grown around it, as CSS `rootMargin`; `amount` of the element that
534
+ * must show, `"some"`, `"all"` or 0 to 1; and `once`, to stay in view after the first entry.
535
+ */
536
+ // #273. Read when the recognizer starts.
537
+ readonly viewport?: WardicViewport
538
+ /**
539
+ * Makes the element draggable: `true` on both axes, `"x"` or `"y"` on one. On release it carries on
540
+ * at the speed it was let go, a Fling, and slows to a stop. Needs the `drag` Feature.
541
+ *
542
+ * The element gets `touch-action`, `user-select: none` and `draggable="false"`, so a touch drag
543
+ * isn't a scroll; its own `style` can override them. Of nested draggables, the innermost drags. With
544
+ * `layout`, the element moves within its layout and returns to its place on release.
545
+ *
546
+ * @example <w.div drag="x" dragConstraints={{ left: 0, right: 200 }} />
547
+ */
548
+ // ADR-0004: the pointer direct-sets x/y while the spine drives the rest and whileDrag. The drag
549
+ // config (this and dragConstraints … dragPropagation) is read once at mount; only whileDrag is
550
+ // reactive. Defaults: ADR-0019 Amendment (Reorder). Nested drags: Drag claims, ADR-0019 Amendment
551
+ // (#29). With layout/layoutId it feeds the projection (ADR-0016). Lists: <Reorder> (ADR-0020).
552
+ readonly drag?: boolean | "x" | "y"
553
+ /**
554
+ * Where the element animates while it's dragged, and back once it's let go.
555
+ *
556
+ * @example <w.div whileDrag={{ scale: 1.1 }} />
557
+ */
558
+ // Driven by the spring, not stripped; only read when `drag` is on.
559
+ readonly whileDrag?: WardicVariant | WardicVariantLabels
560
+ /**
561
+ * Keeps the element within bounds: `{ top, left, right, bottom }` in pixels from where it started
562
+ * (an edge left out is unbounded), or a container element, given as an accessor, that it stays
563
+ * inside. A Fling past an edge springs back to it.
564
+ *
565
+ * @example <w.div dragConstraints={() => frame} />
566
+ */
567
+ // ADR-0016 Amendment (#140): x/y whichever gesture moved them. A container is measured at each drag's
568
+ // start and when either resizes (#273). Read once at mount; an accessor at each measure.
569
+ readonly dragConstraints?: WardicDragConstraints
570
+ /**
571
+ * How far the element can be pulled past `dragConstraints`, 0 to 1: 0 stops it at the edge.
572
+ * Default `0.35`, Motion's.
573
+ */
574
+ // Read once at mount.
575
+ readonly dragElastic?: number
576
+ /**
577
+ * With a container in `dragConstraints`: called with the bounds measured against it, at each
578
+ * measure. Return other bounds to use them instead, such as with a margin, or nothing to keep these.
579
+ */
580
+ // #273, ADR-0047.
581
+ readonly onMeasureDragConstraints?: WardicMeasureDragConstraints
582
+ /** `false` stops the element where it's let go, instead of carrying on at the speed it was let go. Default `true`. */
583
+ // Read once at mount.
584
+ readonly dragMomentum?: boolean
585
+ /** Springs the element back to where it started when it's let go. */
586
+ // On dragTransition. Read once at mount.
587
+ readonly dragSnapToOrigin?: boolean
588
+ /**
589
+ * How the element carries on after it's let go: Motion's inertia options (`power`, `timeConstant`,
590
+ * `bounceStiffness`, `bounceDamping`, `min`, `max`…), over Motion's defaults.
591
+ */
592
+ // ADR-0016 Amendment (#140). Read once at mount.
593
+ readonly dragTransition?: WardicDragTransition
594
+ /** `true` lets a draggable ancestor drag along with this element, instead of only the innermost dragging. */
595
+ // ADR-0019 Amendment (#29): takes no Drag claim and is never refused one; still keeps hovers and
596
+ // presses from starting while it runs. Read once at mount.
597
+ readonly dragPropagation?: boolean
598
+ /**
599
+ * Waits until a drag has moved 10 px, then keeps it to the axis it moved on. A sideways swipe inside
600
+ * a sheet you drag down swipes, and a downward one drags the sheet. `onDirectionLock` says which.
601
+ */
602
+ // #273, ADR-0047: y checked first; claims only the locked axis; onDragStart/whileDrag come at the
603
+ // lock, after onDirectionLock. Read once at mount.
604
+ readonly dragDirectionLock?: boolean
605
+ /**
606
+ * Drag controls from `createDragControls()`: their `start(event)` begins this element's drag from a
607
+ * press somewhere else, such as a handle.
608
+ */
609
+ // #431. Read once at mount.
610
+ readonly dragControls?: WardicDragControls
611
+ /**
612
+ * `false`: pressing the element itself doesn't drag it; only its `dragControls` do. It then gets
613
+ * none of the drag's touch and selection styles, so a list whose items drag by a handle still
614
+ * scrolls by touch. Default `true`.
615
+ */
616
+ // #431. Read once at mount.
617
+ readonly dragListener?: boolean
618
+ /**
619
+ * How the element moves to a target: a spring (`stiffness`, `damping`, `mass`, or `duration` and
620
+ * `bounce`), a tween (`duration`, `ease`), keyframes' `times`, or `inertia`, with `delay`, `repeat`
621
+ * and, for variants, `staggerChildren` and `when`. A value's own (`opacity: {…}`) or `layout`'s apply
622
+ * to it alone. Without one, each value gets Motion's default.
623
+ *
624
+ * @example <w.div transition={{ type: "spring", stiffness: 300, damping: 20 }} />
625
+ * @see https://wardic.dev/guides/transitions
626
+ */
627
+ // Per-value entries: ADR-0049. Default transitions: ADR-0051.
628
+ readonly transition?: WardicTransition
629
+ /**
630
+ * Where the element animates as it leaves an `<AnimatePresence>`: values or a `variants` name. The
631
+ * element stays on the page until it has played.
632
+ *
633
+ * @example <w.div exit={{ opacity: 0, scale: 0.9 }} />
634
+ */
635
+ // ADR-0007: the child doesn't drive it (it's disposed); its spine publishes the exit into the
636
+ // presence registration, and the presence runs it on the retained node. A dynamic variant resolves
637
+ // as it leaves (#277); its own transition, else the element's.
638
+ readonly exit?: WardicVariant | WardicVariantLabels
639
+ /**
640
+ * Animates the element's layout: when its size or place on the page changes, by its own layout or
641
+ * its siblings', it moves there smoothly instead of jumping. `"position"` or `"size"` animates only
642
+ * that part, `"x"` or `"y"` one axis, and `"preserve-aspect"` its size only when the aspect ratio
643
+ * changes. Needs the `layout` Feature.
644
+ *
645
+ * @see https://wardic.dev/guides/layout
646
+ */
647
+ // ADR-0005, ADR-0009. Whether it's a layout node is read once at mount; its Layout mode (Amendment
648
+ // (#42)) at each layout animation's start. A measure re-reads the whole tree, so sibling reflow
649
+ // needs no LayoutGroup.
650
+ readonly layout?: boolean | "position" | "size" | "preserve-aspect" | "x" | "y"
651
+ /**
652
+ * A value whose change makes the element look for a layout change. In Solid nothing re-renders, so
653
+ * give it what your layout depends on, such as a signal's value; a size change is seen on its own.
654
+ *
655
+ * @example <w.div layoutDependency={open()} />
656
+ */
657
+ // Motion's prop name. Read reactively through the whole-config accessor.
658
+ readonly layoutDependency?: unknown
659
+ /**
660
+ * A shared-layout id: when an element with this id mounts as another with it leaves or hides, the
661
+ * new one animates from where the old one was, crossfading between them. Needs the `layout` Feature.
662
+ *
663
+ * @example <w.span layoutId="underline" />
664
+ */
665
+ // ADR-0005, ADR-0010. Works with no LayoutGroup (the registry is the provider's). Read once at
666
+ // mount. With drag, the drag moves the projection target (ADR-0016).
667
+ readonly layoutId?: string
668
+ /**
669
+ * Marks a scrolling element that is itself a layout element, so its descendants' layout animations
670
+ * aren't moved by its scroll. Every other scroll, `position: sticky` included, is accounted for
671
+ * without it.
672
+ */
673
+ // ADR-0012 and its Amendments (Reorder, #578). Read once at mount.
674
+ readonly layoutScroll?: boolean
675
+ /**
676
+ * Makes the element a root for the layout animations inside it: it never animates its own layout,
677
+ * and its descendants' are measured against it.
678
+ */
679
+ // ADR-0013: it self-snaps, bounds delta accumulation, and anchors its subtree. Read once at mount.
680
+ readonly layoutRoot?: boolean
681
+ /**
682
+ * Where in its parent's box a layout element anchors as the parent changes size: 0 to 1 on each
683
+ * axis, top-left `{ x: 0, y: 0 }` by default. `false` measures it against the page instead.
684
+ */
685
+ // ADR-0013 relative projection. Read once at mount.
686
+ readonly layoutAnchor?: { readonly x: number; readonly y: number } | false
687
+ /**
688
+ * Whether this element crossfades with the one it takes a `layoutId` over from. Default `true`.
689
+ * `false` hides the old one as the move starts, and this one keeps its own opacity.
690
+ */
691
+ // #442, ADR-0010. Read as each handover begins; only the twin that becomes the Lead reads it.
692
+ readonly layoutCrossfade?: boolean
693
+ /**
694
+ * Called when an animation of the element starts, with what it animates to: the variant name, or
695
+ * the values. Not for a layout animation, which has its own. Solid 1's.
696
+ */
697
+ // #257: at each Retarget that starts one (animate, its variant, a gesture layer turning on or off).
698
+ // Not for a same-target change, a drag's momentum or return. Read at that Retarget.
699
+ readonly onAnimationStart?: (definition: WardicAnimationDefinition) => void
700
+ /**
701
+ * Called when that animation lands, with the same definition, once every value it moves has
702
+ * settled. Not for one interrupted by a new target. Solid 1; on Solid 2, the element's ward gives
703
+ * `next("settled")`.
704
+ */
705
+ // #257. Read at the Retarget that started it.
706
+ readonly onAnimationComplete?: (definition: WardicAnimationDefinition) => void
707
+ // Motion's gesture callbacks (#273, ADR-0047): `(event, info)`, the DOM's PointerEvent first, called
708
+ // at the event, `info.point` in the viewport (not Motion's page). A hover's or a tap's starts its
709
+ // recognizer, as a while* does, set at mount or later. Solid 1's: Solid 2 hears the same through
710
+ // next(name). One that throws is reported, and the gesture goes on.
711
+ /** Called when the pointer comes over the element (a touch never hovers). Solid 1; Solid 2's ward gives `"hoverStart"`. */
712
+ readonly onHoverStart?: (event: PointerEvent, info: WardicPointInfo) => void
713
+ /** Called when the pointer leaves the element. Solid 1; Solid 2's ward gives `"hoverEnd"`. */
714
+ readonly onHoverEnd?: (event: PointerEvent, info: WardicPointInfo) => void
715
+ /**
716
+ * Called when a press begins on the element: a pointer going down, or Enter or Space while it has
717
+ * focus (`info.input` says which). Solid 1; Solid 2's ward gives `"pressStart"`.
718
+ */
719
+ // Keyboard presses: #427.
720
+ readonly onTapStart?: (event: WardicPressEvent, info: WardicPressInfo) => void
721
+ /** Called when that press ends on the element: a release on it, or its key coming up. Solid 1; Solid 2's ward gives `"tap"`. */
722
+ readonly onTap?: (event: WardicPressEvent, info: WardicPressInfo) => void
723
+ /**
724
+ * Called when that press ends anywhere else, or is cancelled. A press a drag took over is neither a
725
+ * tap nor a cancel. Solid 1; Solid 2's ward gives `"tapCancel"`.
726
+ */
727
+ readonly onTapCancel?: (event: WardicPressEvent, info: WardicPressInfo) => void
728
+ /** Called when a drag of the element starts. Solid 1; Solid 2's ward gives `"dragStart"`. */
729
+ readonly onDragStart?: (event: PointerEvent, info: WardicDragInfo) => void
730
+ /** Called as the drag moves: at its start, and each move after. Solid 1; Solid 2's ward gives `"drag"`. */
731
+ readonly onDrag?: (event: PointerEvent, info: WardicDragInfo) => void
732
+ /** Called when the drag is let go. Solid 1; Solid 2's ward gives `"dragEnd"`. */
733
+ readonly onDragEnd?: (event: PointerEvent, info: WardicDragInfo) => void
734
+ /** Called when the element comes to rest after it's let go. Not when a new grab stops it. Solid 1; Solid 2's ward gives `"dragTransitionEnd"`. */
735
+ readonly onDragTransitionEnd?: () => void
736
+ /** With `dragDirectionLock`: called with the axis a drag locked to, before `onDragStart`. Solid 1; Solid 2's ward gives `"directionLock"`. */
737
+ readonly onDirectionLock?: (axis: "x" | "y") => void
738
+ /** Called when the element comes into view, as `viewport` defines it, with the browser's `IntersectionObserverEntry`. Solid 1; Solid 2's ward gives `"viewportEnter"`. */
739
+ readonly onViewportEnter?: (entry: IntersectionObserverEntry) => void
740
+ /** Called when the element leaves the view. With `viewport.once`, never after the first entry. Solid 1; Solid 2's ward gives `"viewportLeave"`. */
741
+ readonly onViewportLeave?: (entry: IntersectionObserverEntry) => void
742
+ /**
743
+ * Called when a pointer goes down on the element, ready to pan. A pan moves nothing itself: read
744
+ * its offset and velocity in `onPan`. On a touch screen, give the element a `touch-action`, such as
745
+ * `pan-y` for a sideways pan, or the page's scroll takes the gesture. Solid 1; Solid 2's ward gives
746
+ * `"panSessionStart"`.
747
+ */
748
+ // Once started, a pan counts as a drag for the element's press and hover: a press it took over is
749
+ // neither a tap nor a cancel (ADR-0047).
750
+ readonly onPanSessionStart?: (event: PointerEvent, info: WardicPointInfo) => void
751
+ /** Called when a pan starts, past its threshold. Solid 1; Solid 2's ward gives `"panStart"`. */
752
+ readonly onPanStart?: (event: PointerEvent, info: WardicDragInfo) => void
753
+ /** Called as the pan moves: at its start, and each move after. Solid 1; Solid 2's ward gives `"pan"`. */
754
+ readonly onPan?: (event: PointerEvent, info: WardicDragInfo) => void
755
+ /** Called when a pan that started ends, or is cancelled. Solid 1; Solid 2's ward gives `"panEnd"`. */
756
+ readonly onPanEnd?: (event: PointerEvent, info: WardicDragInfo) => void
757
+ /**
758
+ * Called when a layout animation of the element starts moving. Not when there's nothing to move.
759
+ * Solid 1; Solid 2's ward gives `"layoutStart"`.
760
+ */
761
+ // #191, ADR-0039: at the frame of its first step, after it's painted. A restart fires it again;
762
+ // restarts in one task are one. A handover's is the new Lead's.
763
+ readonly onLayoutAnimationStart?: () => void
764
+ /**
765
+ * Called when a layout animation of the element lands. Not for one interrupted or cut short, so a
766
+ * start isn't always followed by a complete: `animateLayout`'s `onSettled` tells a change's end
767
+ * however it went. Solid 1; Solid 2's ward gives `"layoutComplete"`.
768
+ */
769
+ // #191, ADR-0039.
770
+ readonly onLayoutAnimationComplete?: () => void
771
+ /**
772
+ * Called once a frame in which the element's values changed, with every value it holds (`x` as a
773
+ * number). The object is reused: read it during the call, or copy it. For one value, `ward.read(key)`
774
+ * on Solid 2, or `ward.value(key)` on Solid 1, costs less.
775
+ */
776
+ // #233. After that frame's commits, before it's drawn. Whether it reports is read once at mount; the
777
+ // function at each call. A signal it sets paints in the next frame.
778
+ readonly onUpdate?: (latest: Readonly<Record<string, number | string>>) => void
779
+ /**
780
+ * Builds the element's whole `transform` from its values and the one Wardic would draw, wherever
781
+ * it's drawn: at rest, animating, on the server and during a layout animation.
782
+ *
783
+ * @example <w.div transformTemplate={(_, generated) => `translate(-50%, -50%) ${generated}`} />
784
+ */
785
+ // #443, a Transform template. See WardicTransformTemplate for what it's handed. Whether it has one is
786
+ // read at mount; the function each frame.
787
+ readonly transformTemplate?: WardicTransformTemplate
788
+ /** Called as each layout measure of this layout element begins, before it's measured. */
789
+ // #443. Resize-blocked and instant measures included. A throw is reported, and the measure goes on.
790
+ readonly onBeforeLayoutMeasure?: () => void
791
+ /**
792
+ * Called with this layout element's box each time it's measured, and its box before (`undefined`
793
+ * the first time): each axis's `min` and `max` in page pixels, its transforms left out.
794
+ */
795
+ // #443: after the read, before any animation starts. A throw is reported.
796
+ readonly onLayoutMeasure?: (box: WardicLayoutBox, prev: WardicLayoutBox | undefined) => void
797
+ /**
798
+ * `false`: on a server-rendered page, this element's entrance waits for the JavaScript instead of
799
+ * playing from the first paint. The provider's `appear` sets it for every element.
800
+ *
801
+ * @see https://wardic.dev/guides/server-rendering
802
+ */
803
+ // #48, ADR-0044. Read on the server, once.
804
+ readonly appear?: boolean
805
+ }