@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
@@ -0,0 +1,638 @@
1
+ /**
2
+ * The rules of an element's place in variant orchestration (ADR-0007, #50), Solid-free (#209): the
3
+ * names an element hands its children and inherits from its parent, the values it starts from, and
4
+ * what a server render builds. Each binding's variant node (`variant-node.ts` for Solid 1,
5
+ * `unstable/v2/variant-node.ts` for Solid 2) runs the orchestration over them, with its own Solid.
6
+ *
7
+ * Motion's rule (CONTEXT.md, **Variant child**):
8
+ * - An element that names its own variants, a name on any variant prop (`initial`, `animate`, the
9
+ * `while*` gestures, `exit`; #618), hands its children its `initial` and `animate` names, and an
10
+ * `initial={false}` with them (#134). Any other passes its parent's through, unless it sets
11
+ * `inherit={false}`, which passes none.
12
+ * - A **Variant child** (`variants`, no names of its own, `inherit` not `false`) inherits its
13
+ * ancestor's names and default transition, takes a stagger slot among the ancestor's variant
14
+ * children, and counts for the ancestor's `when`.
15
+ * - An element with variants of its own (`variants`, or a name) is what its Variant children
16
+ * join: it owns their registry, their stagger and their `when`. Any other element passes its
17
+ * parent's context through, so a Variant child joins its nearest such ancestor; it renders no
18
+ * Provider unless it sets `inherit={false}` ({@link changesContext}).
19
+ *
20
+ * @module
21
+ */
22
+ import * as Stagger from "@wardic/core/Stagger"
23
+ import type * as Values from "@wardic/core/Values"
24
+ import * as Style from "@wardic/dom/Style"
25
+ import * as Arr from "effect/Array"
26
+ import * as Bool from "effect/Boolean"
27
+ import { constTrue, constUndefined, identity } from "effect/Function"
28
+ import * as Predicate from "effect/Predicate"
29
+ import * as UndefinedOr from "effect/UndefinedOr"
30
+ import { type ControlsChange, isAnimationControls } from "./animation-controls.ts"
31
+ import type { AppearGroup } from "./appear.ts"
32
+ import type { WardicStagger, WardicTransition, WardicVariantLabels, WardicVariants } from "./config.ts"
33
+ import type { Accessor, Reactivity } from "./reactivity.ts"
34
+ import { type Entry, isLabels, labelsOf, NO_VARIANT_STATE, resolveTarget, sameLabels, startingVariantsOf } from "./variant-target.ts"
35
+
36
+ /**
37
+ * The handle a child receives from {@link WardicVariantContextValue.register}
38
+ * when it mounts under a `ward.Provider` (ADR-0007, step 21b).
39
+ *
40
+ * - `index` / `total` — the child's SNAPSHOT position + sibling count for the
41
+ * CURRENT transition. The Provider rewrites these only at the trigger (the
42
+ * parent variant changing), never mid-transition; the child reads them to feed
43
+ * core `stagger(amount, { from })(index, total)`.
44
+ * - `setSettled` — the child reports its own settle state (true when its spine
45
+ * settles, false while animating), feeding the parent's `allChildrenSettled`.
46
+ * - `dispose` — removes this record from the registry on unmount.
47
+ */
48
+ export interface WardicChildRegistration {
49
+ readonly index: Accessor<number>
50
+ readonly total: Accessor<number>
51
+ readonly setSettled: (settled: boolean) => void
52
+ /**
53
+ * The child's keys of one of a list's names settled, or moving again (#297's PR 2): for that name's
54
+ * own `afterChildren`. Optional: left out, nothing per name.
55
+ */
56
+ readonly setSettledFor?: (name: string, settled: boolean) => void
57
+ readonly dispose: () => void
58
+ }
59
+
60
+ /**
61
+ * A list's names orchestrated each on their own (#297's PR 2, Motion's `animateVariant` a name): whether
62
+ * a name's keys may start (its provider's `beforeChildren` for that name, and its own `afterChildren`),
63
+ * and what a spine tells as a list's names start moving and settle. Read by polling: a group waiting
64
+ * on a name's gate reads it each tick.
65
+ */
66
+ export interface NameOrchestration {
67
+ readonly mayStart: (name: string) => boolean
68
+ readonly moving: (names: ReadonlyArray<string>) => void
69
+ readonly settled: (names: ReadonlyArray<string>) => void
70
+ }
71
+
72
+ /** The resolved stagger config the Provider exposes to its children. */
73
+ export interface WardicStaggerConfig {
74
+ /** Seconds between siblings (core `stagger` amount). */
75
+ readonly amount: number
76
+ /** Fixed offset added to every child's computed delay, or a function that decides it whole (#436). */
77
+ readonly delayChildren: number | WardicStagger
78
+ /** Origin the stagger distance grows outward from (core option). */
79
+ readonly from: Stagger.Origin
80
+ /** `1` forward (index = position), `-1` reverses the effective index. */
81
+ readonly direction: 1 | -1
82
+ }
83
+
84
+ /**
85
+ * The value carried down the tree by {@link WardicVariantContext}.
86
+ *
87
+ * - `variant` — the parent instance's CURRENT variant NAME (reactive). It is
88
+ * `undefined` when the parent's resolved `animate` is a `Values` map rather
89
+ * than a name (propagation is by name only — a values map has no name to
90
+ * inherit).
91
+ * - `initial` — the parent's `initial` NAME, or `false`, read once (#50, #134).
92
+ *
93
+ * Every Wardic element provides one (#50): its own if it has variants of its own, else its
94
+ * parent's, passed through (`variant-node.ts`).
95
+ * - `transition` — the parent's transition, inherited as the DEFAULT for
96
+ * children that supply no local `transition`.
97
+ *
98
+ * Designed to extend without breaking: 21b adds optional `registry` / `stagger`
99
+ * / `when` members; readers consume only the fields they know.
100
+ */
101
+ /** A gesture layer, in Motion's priority, lowest first (#291): `whileInView` … `whileDrag`. */
102
+ export type GestureLayer = "inView" | "focused" | "hovered" | "pressed" | "dragged"
103
+
104
+ /** The gesture layers in Motion's priority, lowest first. */
105
+ export const GESTURE_LAYERS: ReadonlyArray<GestureLayer> = ["inView", "focused", "hovered", "pressed", "dragged"]
106
+
107
+ /** The variant names an element hands its Variant children for its active gestures (#291): a name or a list each (#297). */
108
+ export type GestureNames = Readonly<Partial<Record<GestureLayer, WardicVariantLabels | undefined>>>
109
+
110
+ /** No gesture on: what an element with none active hands down. */
111
+ export const NO_GESTURE_NAMES: GestureNames = {}
112
+
113
+ /** Two {@link GestureNames} the same: the same names for each gesture, a list name by name (#297). */
114
+ export const sameGestureNames = (a: GestureNames, b: GestureNames): boolean =>
115
+ GESTURE_LAYERS.every((layer) => sameLabels(a[layer], b[layer]))
116
+
117
+ /** Whether each gesture is on (#291): a spine's, bound to its variant node. */
118
+ export type GestureStates = Readonly<Record<GestureLayer, boolean>>
119
+
120
+ /** No gesture on. */
121
+ export const NO_GESTURE_STATES: GestureStates = { inView: false, focused: false, hovered: false, pressed: false, dragged: false }
122
+
123
+ /**
124
+ * What an element hands its Variant children for its gestures (#291, Motion's `setActive` and variant
125
+ * context): whether each is on (its own, or its own provider's), and each one's label (its own
126
+ * `while*`, if a name, else the one it took). A Variant child's gesture is on while its provider's is.
127
+ */
128
+ export interface GestureHandDown {
129
+ readonly on: GestureStates
130
+ readonly names: GestureNames
131
+ }
132
+
133
+ /** Nothing on, no labels: what an element hands down with no provider and no gesture. */
134
+ export const NO_HAND_DOWN: GestureHandDown = { on: NO_GESTURE_STATES, names: NO_GESTURE_NAMES }
135
+
136
+ /** Two hand-downs the same: each gesture on alike, with the same label. */
137
+ export const sameHandDown = (a: GestureHandDown, b: GestureHandDown): boolean =>
138
+ GESTURE_LAYERS.every((layer) => Bool.and(a.on[layer] === b.on[layer], sameLabels(a.names[layer], b.names[layer])))
139
+
140
+ /** What a context hands down, nothing without a context or its gestures. */
141
+ export const handDownFrom = (context: WardicVariantContextValue | undefined): GestureHandDown => {
142
+ // Per Retarget, per element: guards, nothing made (most elements have no provider).
143
+ if (Predicate.isUndefined(context)) return NO_HAND_DOWN
144
+ const gestures = context.gestures
145
+ if (Predicate.isUndefined(gestures)) return NO_HAND_DOWN
146
+ return gestures()
147
+ }
148
+
149
+ /** The gesture props a variant node reads (#291). */
150
+ export interface GestureConfig {
151
+ readonly whileInView?: object | WardicVariantLabels | undefined
152
+ readonly whileFocus?: object | WardicVariantLabels | undefined
153
+ readonly whileHover?: object | WardicVariantLabels | undefined
154
+ readonly whileTap?: object | WardicVariantLabels | undefined
155
+ readonly whileDrag?: object | WardicVariantLabels | undefined
156
+ }
157
+
158
+ /** Each gesture on: its own, or its provider's. */
159
+ export const gesturesOn = (own: GestureStates, above: GestureStates): GestureStates => ({
160
+ inView: Bool.or(own.inView, above.inView),
161
+ focused: Bool.or(own.focused, above.focused),
162
+ hovered: Bool.or(own.hovered, above.hovered),
163
+ pressed: Bool.or(own.pressed, above.pressed),
164
+ dragged: Bool.or(own.dragged, above.dragged),
165
+ })
166
+
167
+ /** A gesture's label (#291): its own `while*`, if a name or a list (#297); with none of its own, the one it took. */
168
+ const labelOf = (own: object | WardicVariantLabels | undefined, inherited: WardicVariantLabels | undefined): WardicVariantLabels | undefined => {
169
+ if (Predicate.isNotUndefined(own)) return nameOf(own)
170
+ return inherited
171
+ }
172
+
173
+ /** What an element hands down (#291), from its config, its own states, and what it takes. */
174
+ export const handDownOf = (config: GestureConfig, own: GestureStates, above: GestureHandDown): GestureHandDown => ({
175
+ on: gesturesOn(own, above.on),
176
+ names: {
177
+ inView: labelOf(config.whileInView, above.names.inView),
178
+ focused: labelOf(config.whileFocus, above.names.focused),
179
+ hovered: labelOf(config.whileHover, above.names.hovered),
180
+ pressed: labelOf(config.whileTap, above.names.pressed),
181
+ dragged: labelOf(config.whileDrag, above.names.dragged),
182
+ },
183
+ })
184
+
185
+ /** The name each gesture's layer resolves while it's on (#291): its label then; off, none. */
186
+ export const activeNamesOf = (handDown: GestureHandDown): GestureNames => ({
187
+ inView: activeName(handDown, "inView"),
188
+ focused: activeName(handDown, "focused"),
189
+ hovered: activeName(handDown, "hovered"),
190
+ pressed: activeName(handDown, "pressed"),
191
+ dragged: activeName(handDown, "dragged"),
192
+ })
193
+
194
+ /** A gesture's label while it's on. */
195
+ const activeName = (handDown: GestureHandDown, layer: GestureLayer): WardicVariantLabels | undefined => {
196
+ if (Bool.not(handDown.on[layer])) return undefined
197
+ return handDown.names[layer]
198
+ }
199
+
200
+ /**
201
+ * A key for a variant name and the active gestures' names: what a provider's orchestration snapshots
202
+ * at (#291), a list's names each (#297). A **Controls change** (#433) is one too, to the same name.
203
+ */
204
+ export const triggerKeyOf = (variant: WardicVariantLabels | undefined, handDown: GestureHandDown, change: ControlsChange | undefined): string =>
205
+ [keyOfLabels(variant), ...GESTURE_LAYERS.map((layer) => keyOfLabels(activeName(handDown, layer))), UndefinedOr.match(change, { onUndefined: () => "", onDefined: (c) => `${c.serial}` })].join("|")
206
+
207
+ /**
208
+ * The **Controls change** a provider's latest trigger came with (#433): its orchestration is that
209
+ * change's override until a trigger without one. `previous` is the last answer.
210
+ */
211
+ export interface ChangeAtTrigger {
212
+ readonly change: ControlsChange | undefined
213
+ readonly key: string
214
+ /** The change that orchestrates now: the one the latest trigger came with, or none. */
215
+ readonly by: ControlsChange | undefined
216
+ }
217
+
218
+ /** {@link ChangeAtTrigger} after a trigger `key` with `change` in effect. */
219
+ export const changeAtTrigger = (change: ControlsChange | undefined, key: string, previous: ChangeAtTrigger | undefined): ChangeAtTrigger => {
220
+ if (Predicate.isUndefined(previous)) return { change, key, by: change }
221
+ if (change !== previous.change) return { change, key, by: change }
222
+ if (key !== previous.key) return { change, key, by: undefined }
223
+ return previous
224
+ }
225
+
226
+ /** Each Controls change's override as a name's orchestration (#433), made once a change. */
227
+ // Module state (#460, Q7): a cache held weakly by the object it's for, so it goes with it.
228
+ const CHANGE_CONFIGS = new WeakMap<ControlsChange, NameConfig>()
229
+
230
+ /**
231
+ * The orchestration every name of a list takes at a trigger a Controls change came with (#433): its
232
+ * override's, or `undefined` for none (each name its own).
233
+ */
234
+ export const changeConfigOf = (at: ChangeAtTrigger): NameConfig | undefined => {
235
+ const by = at.by
236
+ if (Predicate.isUndefined(by)) return undefined
237
+ const override = by.override
238
+ if (Predicate.isUndefined(override)) return undefined
239
+ const known = CHANGE_CONFIGS.get(by)
240
+ if (Predicate.isNotUndefined(known)) return known
241
+ const made = nameConfigOf(override)
242
+ CHANGE_CONFIGS.set(by, made)
243
+ return made
244
+ }
245
+
246
+ /** A provider's orchestration at a trigger (#433): the override of the change it came with, else its own. */
247
+ export const orchestrationAt = (at: ChangeAtTrigger, own: () => WardicTransition | undefined): WardicTransition | undefined =>
248
+ UndefinedOr.match(UndefinedOr.map(at.by, (by) => by.override), { onUndefined: own, onDefined: identity })
249
+
250
+ /** Labels as one key: a list's names apart by a character no name has in practice. */
251
+ const keyOfLabels = (labels: WardicVariantLabels | undefined): string => Arr.join(labelsOf(labels), "\u0001")
252
+
253
+ /** The highest-priority active gesture's name, or list (#297), if any hands one down. */
254
+ export const topGestureName = (names: GestureNames): WardicVariantLabels | undefined =>
255
+ UndefinedOr.match(names.dragged, {
256
+ onDefined: identity,
257
+ onUndefined: () =>
258
+ UndefinedOr.match(names.pressed, {
259
+ onDefined: identity,
260
+ onUndefined: () =>
261
+ UndefinedOr.match(names.hovered, {
262
+ onDefined: identity,
263
+ onUndefined: () => UndefinedOr.match(names.focused, { onDefined: identity, onUndefined: () => names.inView }),
264
+ }),
265
+ }),
266
+ })
267
+
268
+ /**
269
+ * What a variant parent hands its children: `variant()`, its current name or names; `initial`;
270
+ * `transition()`; `when()` and its stagger; and the registration its children make, in mount order,
271
+ * for that orchestration.
272
+ *
273
+ * @see https://wardic.dev/reference/solid/advanced/variant-context
274
+ */
275
+ export interface WardicVariantContextValue {
276
+ /** The parent's current variant NAME, or list of names, reactive (undefined if it's a values map). */
277
+ readonly variant: Accessor<WardicVariantLabels | undefined>
278
+ /**
279
+ * The parent's `initial` variant NAME, or `false`, read once (undefined if it's a values map or
280
+ * absent): a Variant child with no `initial` of its own starts from it, or, for `false`,
281
+ * at its `animate` (Motion's `getCurrentTreeVariants`).
282
+ */
283
+ readonly initial: WardicVariantLabels | false | undefined
284
+ /** The parent's transition, inherited as the default for children. */
285
+ readonly transition: Accessor<WardicTransition | undefined>
286
+ /**
287
+ * What the parent hands down for its gestures (Motion's): whether each is on, and its label.
288
+ * A Variant child's gesture is on while the parent's is, on its own `while*`, else that label.
289
+ * Optional: left out, nothing.
290
+ */
291
+ readonly gestures?: Accessor<GestureHandDown>
292
+ /**
293
+ * Register this child with the parent's ordered registry (call on mount).
294
+ * Returns the child's reactive snapshot index/total + a settle reporter +
295
+ * a disposer. Children register in mount order; the parent snapshots that
296
+ * order at each change it hands down.
297
+ */
298
+ // ADR-0007: snapshot at trigger.
299
+ readonly register: () => WardicChildRegistration
300
+ /**
301
+ * The parent's resolved stagger config (from `config.transition`): amount =
302
+ * `staggerChildren`, plus `delayChildren` / `from` / `direction`.
303
+ */
304
+ readonly stagger: Accessor<WardicStaggerConfig>
305
+ /**
306
+ * The parent's stagger config for one of its names (Motion's `animateVariant` a name): that
307
+ * name's own transition's, else the parent's `transition`. A Variant child's keys of that name take
308
+ * their delay from it. `undefined` asks for {@link stagger}. Optional: left out, `stagger` for all.
309
+ */
310
+ readonly staggerFor?: (name: string | undefined) => WardicStaggerConfig
311
+ /**
312
+ * For a list: whether a Variant child's keys of `name` may start, that name's own
313
+ * `beforeChildren`: true unless it has one and this element's keys of that name haven't settled
314
+ * since its list last changed. Optional: left out, always.
315
+ */
316
+ readonly mayStartFor?: (name: string) => boolean
317
+ /** The parent's `when` mode, or `undefined` (default concurrent); a list's names have each their own. */
318
+ readonly when: Accessor<"beforeChildren" | "afterChildren" | undefined>
319
+ /**
320
+ * Whether children may START their inherited-variant Retarget yet. True
321
+ * immediately UNLESS `when === "beforeChildren"`, in which case it flips true
322
+ * once the parent's own variant animation settles.
323
+ */
324
+ readonly childrenMayStart: Accessor<boolean>
325
+ /** Whether EVERY Variant child has reported its spine as settled. */
326
+ readonly allChildrenSettled: Accessor<boolean>
327
+ /**
328
+ * The **Controls change** in effect: its own controls' latest, else the one it inherits. A
329
+ * Variant child joins it, and runs its first Retarget for it on its override. Optional: none.
330
+ */
331
+ readonly change?: Accessor<ControlsChange | undefined>
332
+ /**
333
+ * During a server render, the parent's Appear group: its Variant
334
+ * children join it in render order, for their stagger and `when` before hydration.
335
+ */
336
+ readonly appearGroup?: AppearGroup | undefined
337
+ }
338
+
339
+ /** The part of an element's config its place in variant orchestration reads. */
340
+ export interface VariantConfig extends GestureConfig {
341
+ readonly initial?: object | WardicVariantLabels | false | undefined
342
+ readonly animate?: object | WardicVariantLabels | undefined
343
+ readonly exit?: object | WardicVariantLabels | undefined
344
+ readonly variants?: object | undefined
345
+ readonly inherit?: boolean | undefined
346
+ readonly transition?: WardicTransition | undefined
347
+ /** What its dynamic variants resolve with (#277). */
348
+ readonly custom?: unknown
349
+ /**
350
+ * Whether its `animate` is **Animation controls**' (#433): it names its own variants whatever its
351
+ * entry is, as Motion's `isControllingVariants`, so it hands down the names its controls set.
352
+ */
353
+ readonly controlled?: boolean | undefined
354
+ }
355
+
356
+ /** An `initial` an element hands its children: a variant name or list (#297), `false` (#134), or `undefined` for a values map or nothing. */
357
+ export const initialNameOf = (entry: object | WardicVariantLabels | false | undefined): WardicVariantLabels | false | undefined =>
358
+ Bool.match(entry === false, { onTrue: () => false as const, onFalse: () => nameOf(entry as object | WardicVariantLabels | undefined) })
359
+
360
+ /** A variant name or a list of names (#297), or `undefined` for a values map or nothing. */
361
+ export const nameOf = (entry: object | WardicVariantLabels | undefined): WardicVariantLabels | undefined =>
362
+ Bool.match(isLabels(entry), { onTrue: () => entry as WardicVariantLabels, onFalse: constUndefined })
363
+
364
+ /**
365
+ * Whether `config` names its own variants: any of its variant props, `initial`, `animate`, the five
366
+ * `while*` and `exit`, is a name or a list, or its `animate` is **Animation controls** (#433), as given
367
+ * or as its binding marks the config it reads (Motion's `isControllingVariants`, `isVariantLabel`).
368
+ */
369
+ // #618 (decision 8): Motion's `variantProps` (motion-dom 14.6 render/utils/variant-props.mjs); only
370
+ // `initial` and `animate` counted before. Statements, not a loop over the keys: it's read per change.
371
+ export const namesOwnVariants = (config: VariantConfig): boolean =>
372
+ config.controlled === true ||
373
+ isAnimationControls(config.animate) ||
374
+ isLabels(config.initial) ||
375
+ isLabels(config.animate) ||
376
+ isLabels(config.whileInView) ||
377
+ isLabels(config.whileFocus) ||
378
+ isLabels(config.whileHover) ||
379
+ isLabels(config.whileTap) ||
380
+ isLabels(config.whileDrag) ||
381
+ isLabels(config.exit)
382
+
383
+ /** Whether an element has variants of its own, so Variant children join it (Motion's `isVariantNode`). */
384
+ export const hasOwnVariants = (config: VariantConfig): boolean =>
385
+ Predicate.isNotUndefined(config.variants) || namesOwnVariants(config)
386
+
387
+ /**
388
+ * Whether an element changes what its children read, so it renders its variant context's
389
+ * Provider (#50): it has variants of its own, or it sets `inherit={false}`. Any other element hands
390
+ * its children its parent's context as it is, so it renders none. Decided once, at setup, from the
391
+ * same props on a server and on the client, so the nesting never changes after mount.
392
+ */
393
+ export const changesContext = (config: VariantConfig): boolean => hasOwnVariants(config) || config.inherit === false
394
+
395
+ /**
396
+ * The **Controls change** in effect for an element (#433): its own controls', else the one the context
397
+ * it inherits from is in, else none. Per mount, for every element (#460): guards, nothing built.
398
+ */
399
+ export const controlsChangeOf = (
400
+ controls: Accessor<ControlsChange | undefined> | undefined,
401
+ inherited: WardicVariantContextValue | undefined,
402
+ ): Accessor<ControlsChange | undefined> => {
403
+ if (Predicate.isNotUndefined(controls)) return controls
404
+ if (Predicate.isUndefined(inherited)) return constUndefined
405
+ const change = inherited.change
406
+ if (Predicate.isUndefined(change)) return constUndefined
407
+ return change
408
+ }
409
+
410
+ /** Whether an element is a **Variant child** (CONTEXT.md). */
411
+ export const isVariantChild = (config: VariantConfig): boolean =>
412
+ Predicate.isNotUndefined(config.variants) && !namesOwnVariants(config) && config.inherit !== false
413
+
414
+ /** The context an element inherits names and its default transition from: its parent's, for a Variant child. */
415
+ export const inheritedContext = (
416
+ config: VariantConfig,
417
+ parent: WardicVariantContextValue | undefined,
418
+ ): WardicVariantContextValue | undefined => {
419
+ // Per element at mount (#540): statements.
420
+ if (isVariantChild(config)) return parent
421
+ return undefined
422
+ }
423
+
424
+ /**
425
+ * The `initial` an element's Starting style resolves: its own, else the `initial` name (or `false`) of
426
+ * the context it inherits from (#50, #134). Read once, as every `initial` is.
427
+ */
428
+ export const initialOf = (
429
+ config: VariantConfig,
430
+ inherited: WardicVariantContextValue | undefined,
431
+ ): object | WardicVariantLabels | false | undefined =>
432
+ UndefinedOr.match(config.initial, {
433
+ onDefined: (initial) => initial,
434
+ onUndefined: () => UndefinedOr.match(inherited, { onUndefined: constUndefined, onDefined: (context) => context.initial }),
435
+ })
436
+
437
+ /** The `animate` an element starts at with `initial={false}`: its own, else the name its context hands down (#134). Read once, untracked. */
438
+ const animateOf = (
439
+ config: VariantConfig,
440
+ inherited: WardicVariantContextValue | undefined,
441
+ untrack: Reactivity["untrack"],
442
+ ): object | WardicVariantLabels | undefined =>
443
+ UndefinedOr.match(config.animate, {
444
+ onDefined: (animate) => animate,
445
+ onUndefined: () => UndefinedOr.match(inherited, { onUndefined: constUndefined, onDefined: (context) => untrack(context.variant) }),
446
+ })
447
+
448
+ /**
449
+ * Whether an element starts at its `animate`, with nothing animating at mount (#134, Motion's
450
+ * `isInitialAnimationBlocked`): its `initial` (own or inherited) is `false`, or it renders with an
451
+ * `<AnimatePresence initial={false}>`'s first render (`presenceBlocks`).
452
+ */
453
+ export const startsAtAnimate = (
454
+ config: VariantConfig,
455
+ inherited: WardicVariantContextValue | undefined,
456
+ presenceBlocks: boolean,
457
+ ): boolean => presenceBlocks || initialOf(config, inherited) === false
458
+
459
+ /**
460
+ * Whether an element's mount tells nothing (#448, Motion's `animation-state.ts`): it
461
+ * {@link startsAtAnimate}, or its `initial` (own, else inherited) is the same name, list or values map
462
+ * as its `animate` (own, else inherited). Its first Retarget, landing with nothing to animate, is told
463
+ * to no one. Read once, untracked.
464
+ */
465
+ export const startsQuiet = (
466
+ config: VariantConfig,
467
+ inherited: WardicVariantContextValue | undefined,
468
+ presenceBlocks: boolean,
469
+ untrack: Reactivity["untrack"],
470
+ ): boolean => {
471
+ if (startsAtAnimate(config, inherited, presenceBlocks)) return true
472
+ const initial = initialOf(config, inherited)
473
+ if (Predicate.isUndefined(initial)) return false
474
+ // The same map is the same entry, as the same name or list is.
475
+ return sameLabels(initial as WardicVariantLabels, animateOf(config, inherited, untrack) as WardicVariantLabels)
476
+ }
477
+
478
+ /**
479
+ * The values an element starts from, its Starting style's input (ADR-0003): its `initial` (own, else
480
+ * inherited, #50), or, when it {@link startsAtAnimate}, its `animate` (own, else inherited), as
481
+ * Motion's `initial={false}` (#134). Read once: an inherited name is read through `untrack`.
482
+ */
483
+ export const startingValuesOf = (
484
+ config: VariantConfig,
485
+ inherited: WardicVariantContextValue | undefined,
486
+ presenceBlocks: boolean,
487
+ untrack: Reactivity["untrack"],
488
+ ): Values.Values => {
489
+ const atAnimate = startsAtAnimate(config, inherited, presenceBlocks)
490
+ const animate = animateOf(config, inherited, untrack)
491
+ const initial = initialOf(config, inherited)
492
+ // Per element at mount (#540): statements. Starting at `animate` resolves as `initial={false}`,
493
+ // and its first target is `animate`.
494
+ let from = initial
495
+ let first = initial
496
+ if (atAnimate) {
497
+ from = false
498
+ first = animate
499
+ }
500
+ const values = Style.resolveInitial({
501
+ initial: from,
502
+ animate,
503
+ // Dynamic variants resolved first (#277): dom's Starting style reads values maps only.
504
+ variants: startingVariantsOf(config.variants, config.custom) as Readonly<Record<string, object | undefined>> | undefined,
505
+ })
506
+ // The first target's Transition end (#428, Motion's `makeLatestValues`): set at once, so a server
507
+ // renders it, and a hydration finds it.
508
+ if (Predicate.isUndefined(first) || first === false) return values
509
+ const end = resolveTarget(first as Entry, config.variants as WardicVariants | undefined, config.custom, NO_VARIANT_STATE).transitionEnd
510
+ if (Predicate.isUndefined(end)) return values
511
+ return { ...values, ...end }
512
+ }
513
+
514
+ /**
515
+ * A name an element hands its children (Motion's `getCurrentTreeVariants`): `own` if it names its own
516
+ * variants, else `fromParent` unless it sets `inherit={false}`.
517
+ */
518
+ export const handedDown = <A extends WardicVariantLabels | false>(config: VariantConfig, own: () => A | undefined, fromParent: () => A | undefined): A | undefined =>
519
+ Bool.match(namesOwnVariants(config), {
520
+ onTrue: own,
521
+ onFalse: () => Bool.match(config.inherit === false, { onTrue: constUndefined, onFalse: fromParent }),
522
+ })
523
+
524
+ /** An element's own transition, else the one it inherits. */
525
+ export const ownOrInherited = (own: WardicTransition | undefined, inherited: WardicVariantContextValue | undefined): WardicTransition | undefined =>
526
+ UndefinedOr.match(own, { onUndefined: () => UndefinedOr.map(inherited, (context) => context.transition()), onDefined: identity })
527
+
528
+ /** The stagger config an element's `transition` gives its Variant children. */
529
+ export const staggerOf = (transition: WardicTransition | undefined): WardicStaggerConfig =>
530
+ UndefinedOr.match(transition, { onUndefined: () => staggerWith({}), onDefined: staggerWith })
531
+
532
+ /** A context's stagger config for one of its names (#297): its `staggerFor`'s, else its whole orchestration's. */
533
+ export const staggerOfName = (context: WardicVariantContextValue, name: string | undefined): WardicStaggerConfig => {
534
+ const of = context.staggerFor
535
+ if (Predicate.isUndefined(of)) return context.stagger()
536
+ return of(name)
537
+ }
538
+
539
+ /** Whether a context lets a Variant child's keys of a list's name start (#297's PR 2): its `mayStartFor`, else always. */
540
+ export const mayStartOf = (context: WardicVariantContextValue, name: string): boolean => {
541
+ const of = context.mayStartFor
542
+ if (Predicate.isUndefined(of)) return true
543
+ return of(name)
544
+ }
545
+
546
+ /** A child's place in a stagger, turned by its `staggerDirection`: `-1` counts from the last. */
547
+ export const directed = (index: number, total: number, direction: 1 | -1): number => {
548
+ if (direction === -1) return total - 1 - index
549
+ return index
550
+ }
551
+
552
+ /**
553
+ * A child's delay in a stagger (ADR-0007): its `delayChildren` plus its place from the origin, turned
554
+ * by its `staggerDirection`. A function `delayChildren` (#436, Motion's `calcChildStagger`) decides it
555
+ * whole, from the child's index and the count. Every stagger, a Variant child's, a presence's exit's
556
+ * and a server's Appear timing, is placed by it.
557
+ */
558
+ export const childDelayOf = (s: WardicStaggerConfig, index: number, total: number): number => {
559
+ if (Predicate.isFunction(s.delayChildren)) return s.delayChildren(index, total)
560
+ return s.delayChildren + Stagger.make(s.amount, { from: s.from })(directed(index, total, s.direction), total)
561
+ }
562
+
563
+ /** A name's orchestration (#297): its stagger config, and its own `when`, from its own transition, else the element's. */
564
+ export interface NameConfig {
565
+ readonly stagger: WardicStaggerConfig
566
+ readonly when: "beforeChildren" | "afterChildren" | undefined
567
+ }
568
+
569
+ /** A {@link NameConfig} from the transition a name orchestrates on. */
570
+ export const nameConfigOf = (transition: WardicTransition | undefined): NameConfig => ({
571
+ stagger: staggerOf(transition),
572
+ when: UndefinedOr.map(transition, (t) => t.when),
573
+ })
574
+
575
+ /** The stagger config of a transition's stagger keys, each defaulted. */
576
+ export const staggerWith = ({ staggerChildren = 0, delayChildren = 0, from = "first", staggerDirection = 1 }: WardicTransition): WardicStaggerConfig => ({
577
+ amount: staggerChildren,
578
+ delayChildren,
579
+ from,
580
+ direction: staggerDirection,
581
+ })
582
+
583
+ /**
584
+ * Two stagger configs the same field by field: a memo of one holds while its orchestration changes to
585
+ * a transition with the same stagger (#460: a Variant child with no `press` variant, its parent
586
+ * pressed, made a new, equal config at each press and release, `UNSTABLE_MEMO_OUTPUT`).
587
+ */
588
+ export const sameStagger = (a: WardicStaggerConfig, b: WardicStaggerConfig): boolean =>
589
+ a.amount === b.amount && a.delayChildren === b.delayChildren && a.from === b.from && a.direction === b.direction
590
+
591
+ /** What an element provides when it has no variants of its own: its parent's context, unless `inherit={false}`. */
592
+ export const passedThrough = (
593
+ config: VariantConfig,
594
+ parent: WardicVariantContextValue | undefined,
595
+ ): WardicVariantContextValue | undefined => Bool.match(config.inherit === false, { onTrue: constUndefined, onFalse: () => parent })
596
+
597
+ /** A registration that does nothing: a server render has no orchestration to join. */
598
+ export const INERT_REGISTRATION: WardicChildRegistration = Object.freeze({
599
+ index: () => 0,
600
+ total: () => 1,
601
+ setSettled: () => {},
602
+ dispose: () => {},
603
+ })
604
+
605
+ /** An element's place in variant orchestration during a server render (ADR-0021). */
606
+ export interface ServerVariantNode {
607
+ /** What its children read: the same context the client builds, with inert orchestration. */
608
+ readonly provided: WardicVariantContextValue | undefined
609
+ /** The context it inherits from: its parent's, for a Variant child. */
610
+ readonly inherited: WardicVariantContextValue | undefined
611
+ }
612
+
613
+ /**
614
+ * {@link createVariantNode} during a server render: the same names, read once, and orchestration
615
+ * that does nothing. No runtime, no signals.
616
+ */
617
+ export const serverVariantNode = (config: VariantConfig, parent: WardicVariantContextValue | undefined): ServerVariantNode => {
618
+ const inherited = inheritedContext(config, parent)
619
+ const own = (): WardicVariantContextValue => {
620
+ const variant = handedDown(config, () => nameOf(config.animate), () => UndefinedOr.map(parent, (p) => p.variant()))
621
+ const transition = ownOrInherited(config.transition, inherited)
622
+ const stagger = staggerOf(config.transition)
623
+ return {
624
+ variant: () => variant,
625
+ initial: handedDown<WardicVariantLabels | false>(config, () => initialNameOf(config.initial), () => UndefinedOr.map(parent, (p) => p.initial)),
626
+ transition: () => transition,
627
+ register: () => INERT_REGISTRATION,
628
+ stagger: () => stagger,
629
+ when: () => UndefinedOr.map(config.transition, (t) => t.when),
630
+ childrenMayStart: constTrue,
631
+ allChildrenSettled: constTrue,
632
+ }
633
+ }
634
+ return {
635
+ provided: Bool.match(hasOwnVariants(config), { onTrue: own, onFalse: () => passedThrough(config, parent) }),
636
+ inherited,
637
+ }
638
+ }