@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,727 @@
1
+ import * as Easing from "@wardic/core/Easing";
2
+ import * as Machine from "@wardic/core/Machine";
3
+ import * as Appear from "@wardic/dom/Appear";
4
+ import * as DomDefaultTransition from "@wardic/dom/DomDefaultTransition";
5
+ import * as DomPositionalKeys from "@wardic/dom/DomPositionalKeys";
6
+ import * as OwnValues from "@wardic/dom/OwnValues";
7
+ import * as Arr from "effect/Array";
8
+ import * as Bool from "effect/Boolean";
9
+ import * as Effect from "effect/Effect";
10
+ import { identity } from "effect/Function";
11
+ import * as Match from "effect/Match";
12
+ import * as Option from "effect/Option";
13
+ import * as Order from "effect/Order";
14
+ import * as Predicate from "effect/Predicate";
15
+ import * as Rec from "effect/Record";
16
+ import * as Result from "effect/Result";
17
+ import * as UndefinedOr from "effect/UndefinedOr";
18
+ import { entriesOf, keyframesFrom, legsOf, NO_VELOCITY, runOf, transitionForKey } from "./retarget-legs.js";
19
+ import { withServerInterpolators } from "./server-interpolators.js";
20
+ import { childDelayOf } from "./variant-tree.js";
21
+ /** What stands in for a function with no easing name: canonical text holding it is no key. */
22
+ const UNNAMED = "\u0000unnamed";
23
+ /**
24
+ * A value as canonical text: JSON with each object's keys in order, `undefined`s left out, and a
25
+ * function by its easing name (`Easing.nameOf`), else {@link UNNAMED}. Written directly, its cases
26
+ * built once at module load: it runs per element (#69's PR 2).
27
+ */
28
+ const textOf = /*#__PURE__*/Match.type().pipe(Match.when(Predicate.isFunction, fn => Option.match(Easing.nameOf(fn), {
29
+ onNone: () => UNNAMED,
30
+ onSome: easing => `{"easing":${JSON.stringify(easing)}}`
31
+ })), Match.when(Arr.isArray, items => `[${Arr.map(items, item => textOf(item)).join(",")}]`), Match.when(Predicate.isObject, record => {
32
+ const keys = Arr.sort(Arr.filter(Object.keys(record), key => Predicate.isNotUndefined(record[key])), Order.String);
33
+ return `{${Arr.map(keys, key => `${JSON.stringify(key)}:${textOf(record[key])}`).join(",")}}`;
34
+ }), Match.orElse(v => String(JSON.stringify(v))));
35
+ /** Where a Path's key samples it (#438): nine points, its ends among them. */
36
+ const PATH_SAMPLES = [0, 0.125, 0.25, 0.375, 0.5, 0.625, 0.75, 0.875, 1];
37
+ /** An axis's number in `values`, its identity 0 when it has none (#438), as the leg reads it on a server. */
38
+ const axisIn = (values, key) => UndefinedOr.match(values[key], {
39
+ onUndefined: () => 0,
40
+ onDefined: v => Number(v)
41
+ });
42
+ /**
43
+ * A mount animation's transition as its key holds it: a Path (#438), a function, as its samples
44
+ * between the mount's ends, so two paths key apart and one path keys the same each time. Sampling it
45
+ * again is safe: an arc's memory of its side changes only with the way it travels.
46
+ */
47
+ const keyedTransitionOf = m => UndefinedOr.match(m.transition, {
48
+ onUndefined: () => null,
49
+ onDefined: t => UndefinedOr.match(t.path, {
50
+ onUndefined: () => t,
51
+ onDefined: path => {
52
+ const from = {
53
+ x: axisIn(m.from, "x"),
54
+ y: axisIn(m.from, "y")
55
+ };
56
+ const at = path(from, {
57
+ x: UndefinedOr.match(m.to.x, {
58
+ onUndefined: () => from.x,
59
+ onDefined: Number
60
+ }),
61
+ y: UndefinedOr.match(m.to.y, {
62
+ onUndefined: () => from.y,
63
+ onDefined: Number
64
+ })
65
+ });
66
+ return {
67
+ ...t,
68
+ path: Arr.map(PATH_SAMPLES, p => at(p))
69
+ };
70
+ }
71
+ })
72
+ });
73
+ /** A value as canonical text; `None` when a function in it has no easing name. */
74
+ const canonical = value => Option.filter(Option.some(textOf(value)), text => Bool.not(text.includes(UNNAMED)));
75
+ /** Each mount animation's canonical starts, targets and transition, by its `from`: both its plays share one. */
76
+ // Module state (#460, Q7): a cache held weakly by the object it's for, so it goes with it.
77
+ const baseKeys = /*#__PURE__*/new WeakMap();
78
+ /**
79
+ * The mount animation's key: its starts, targets and transition as one canonical text, and whether
80
+ * motion is reduced. `None` when the transition holds a function with no easing name
81
+ * (`Easing.nameOf`): the server can't tell it from another, so the element keeps its Starting style.
82
+ */
83
+ export const keyOf = m => {
84
+ const base = Option.getOrElse(Option.fromUndefinedOr(baseKeys.get(m.from)), () => {
85
+ const computed = canonical({
86
+ from: m.from,
87
+ to: m.to,
88
+ transition: keyedTransitionOf(m),
89
+ stops: m.stops
90
+ });
91
+ baseKeys.set(m.from, computed);
92
+ return computed;
93
+ });
94
+ // A skipped one's (#468) named apart: an unskipped one's name is as it was.
95
+ return Option.map(base, text => Bool.match(m.skipped === true, {
96
+ onTrue: () => `${text}|skipped`,
97
+ onFalse: () => `${text}|reduced:${m.reduced}`
98
+ }));
99
+ };
100
+ /** Whether a mount animation plays for ever: its transition repeats for ever, and it isn't skipped (#468), which lands it. */
101
+ const playsForever = m => Bool.and(m.skipped !== true, repeatsForever(m.transition));
102
+ /** Whether a transition repeats for ever: a tween's `repeat: Infinity`, a tween as it runs (ADR-0051). */
103
+ export const repeatsForever = transition => UndefinedOr.match(runOf(transition), {
104
+ onUndefined: () => false,
105
+ onDefined: run => Bool.and(run.type === "tween", run.repeat === Number.POSITIVE_INFINITY)
106
+ });
107
+ /** A transition's own delay, 0 without one. */
108
+ const ownDelayOf = transition => UndefinedOr.match(transition, {
109
+ onUndefined: () => 0,
110
+ onDefined: ({
111
+ delay = 0
112
+ }) => delay
113
+ });
114
+ /**
115
+ * The seconds a rule holds before it moves, of the delay the client counts: a transition's own
116
+ * delay is in its rule, except a forever-repeating one's, whose rule is a cycle and whose own delay
117
+ * goes in `animation-delay` with the stagger.
118
+ */
119
+ const heldInRule = transition => Bool.match(repeatsForever(transition), {
120
+ onTrue: () => 0,
121
+ onFalse: () => ownDelayOf(transition)
122
+ });
123
+ /**
124
+ * The transition a server samples: as given, but for one that repeats for ever, two runs and the
125
+ * delay that follows them, with no delay before (one cycle of the CSS, played `infinite`). Two
126
+ * runs, so a cycle is exact for every `repeatType`, `reverse` and `mirror` included.
127
+ */
128
+ const sampledTransition = transition => Bool.match(repeatsForever(transition), {
129
+ onTrue: () => ({
130
+ ...transition,
131
+ delay: 0,
132
+ repeat: 1
133
+ }),
134
+ onFalse: () => transition
135
+ });
136
+ /**
137
+ * One machine of a Retarget's legs, run together: each step steps every leg not yet settled, and
138
+ * merges their values; it settles with the last. What a server samples. Built with the DOM's
139
+ * Interpolators (a server projects with the DOM's `project`, ADR-0021 decision 2).
140
+ */
141
+ const together = legs => {
142
+ const machines = Effect.runSync(withServerInterpolators(Effect.all(Arr.map(legs, leg => machineOfLeg(leg)))));
143
+ return Machine.make({
144
+ settles: true,
145
+ span: {
146
+ name: "wardic.appear",
147
+ attributes: {
148
+ legs: legs.length
149
+ }
150
+ },
151
+ start: () => {
152
+ const runs = Arr.map(machines, (machine, i) => ({
153
+ step: machine.start(),
154
+ key: keyOfLeg(legs[i]),
155
+ last: Option.none()
156
+ }));
157
+ return dt => {
158
+ const value = {};
159
+ const done = Arr.reduce(runs, true, (all, run) => {
160
+ const frame = Option.getOrElse(Option.filter(run.last, last => last.done), () => run.step(dt));
161
+ run.last = Option.some(frame);
162
+ Option.match(run.key, {
163
+ onNone: () => Object.assign(value, frame.value),
164
+ onSome: key => Object.assign(value, {
165
+ [key]: frame.value
166
+ })
167
+ });
168
+ return Bool.and(all, frame.done);
169
+ });
170
+ return {
171
+ value,
172
+ done
173
+ };
174
+ };
175
+ }
176
+ });
177
+ };
178
+ /** A leg's machine, built: a Blend's through the Interpolators `together` provides. */
179
+ const machineOfLeg = leg => Bool.match(leg._tag === "Blend", {
180
+ onTrue: () => leg.machine(),
181
+ onFalse: () => Effect.sync(() => leg.machine())
182
+ });
183
+ /** The key a Follow leg's single value is: its own. */
184
+ const keyOfLeg = leg => Bool.match(leg._tag === "Follow", {
185
+ onTrue: () => Option.some(leg.key),
186
+ onFalse: () => Option.none()
187
+ });
188
+ /** The DOM's Positional keys, which a server's reduced rule snaps (ADR-0029, ADR-0036). */
189
+ const DOM_POSITIONAL = {
190
+ isPositional: DomPositionalKeys.isPositional
191
+ };
192
+ /** The DOM's Default transition, which a key with no transition defined samples as the client runs it (ADR-0051). */
193
+ const DOM_DEFAULTS = {
194
+ transitionFor: DomDefaultTransition.transitionFor,
195
+ keyframes: DomDefaultTransition.keyframes
196
+ };
197
+ /**
198
+ * Whether a value's own transition drives one of its keys while anything repeats for ever (#301): one
199
+ * CSS cycle can't hold a key that stops beside one that repeats, nor two cycles' lengths. With every
200
+ * key on the transition's own fields (a `layout` entry alone), it plays as before.
201
+ */
202
+ const foreverByValue = m => {
203
+ const entries = entriesOf(m.transition);
204
+ if (Predicate.isUndefined(entries)) return false;
205
+ const runsOn = Arr.map(Rec.keys(m.to), key => transitionForKey(m.transition, key));
206
+ if (Arr.every(runsOn, transition => transition === entries.own)) return false;
207
+ return Bool.or(repeatsForever(m.transition), Arr.some(runsOn, repeatsForever));
208
+ };
209
+ /** A mount animation's spec for the DOM's sampler, or why it has none. */
210
+ export const specOf = m => Option.match(keyOf(m), {
211
+ onNone: () => Result.fail("its transition holds a function with no easing name"),
212
+ onSome: key => {
213
+ const skipped = m.skipped === true;
214
+ if (Bool.and(Bool.not(skipped), foreverByValue(m))) return Result.fail("a value's own transition repeats for ever beside another");
215
+ const forever = playsForever(m);
216
+ const transition = Bool.match(skipped, {
217
+ onTrue: () => m.transition,
218
+ onFalse: () => sampledTransition(m.transition)
219
+ });
220
+ const repeatDelay = UndefinedOr.match(m.transition, {
221
+ onUndefined: () => 0,
222
+ onDefined: t => Option.getOrElse(Option.fromUndefinedOr(t.repeatDelay), () => 0)
223
+ });
224
+ return Result.succeed({
225
+ key,
226
+ tag: m.tag,
227
+ infinite: forever,
228
+ projected: m.layout,
229
+ template: m.template,
230
+ // Skipped (#468): every key's snap, landing on its first frame, a rule of 0 s.
231
+ machine: () => Bool.match(forever, {
232
+ onTrue: () => Machine.holdAfter(together(legsOf(m.from, m.to, transition, m.reduced, skipped, DOM_POSITIONAL, DOM_DEFAULTS, NO_VELOCITY, undefined, m.stops)), repeatDelay),
233
+ onFalse: () => together(legsOf(m.from, m.to, transition, m.reduced, skipped, DOM_POSITIONAL, DOM_DEFAULTS, NO_VELOCITY, undefined, m.stops))
234
+ })
235
+ });
236
+ }
237
+ });
238
+ /**
239
+ * Why a mount animation can't play before hydration, or `None` when it can (decision 4): a key
240
+ * starting from anything but `initial`, a value the DOM reads from the element (`auto`, `var()`),
241
+ * or a start that can't take its target's shape (a length pair in two units).
242
+ */
243
+ export const unplayable = (initial, to) => Arr.findFirst(Rec.toEntries(to), ([key, target]) => Option.match(Option.fromUndefinedOr(initial[key]), {
244
+ onNone: () => Option.some(`${key} starts from the element's own value (no initial)`),
245
+ onSome: start => Bool.match(Bool.or(readsElement(start), readsElement(target)), {
246
+ onTrue: () => Option.some(`${key} is a value the DOM reads from the element`),
247
+ onFalse: () =>
248
+ // A start that can't take its target's shape, a length in another unit among them (ADR-0024).
249
+ Bool.match(Option.isNone(OwnValues.valueLike(start, target)), {
250
+ onTrue: () => Option.some(`${key}'s start and target don't take one shape`),
251
+ onFalse: () => Option.none()
252
+ })
253
+ })
254
+ }));
255
+ /** Whether a value is one the DOM reads from the element: `auto`, or a custom property. */
256
+ const readsElement = value => Predicate.isString(value) && /\bauto\b|var\(/.test(value);
257
+ /** Whether an `initial` value, coerced to its target's shape, is that target: its key starts no leg (#448). */
258
+ const atTarget = (start, target) => Option.exists(OwnValues.valueLike(start, target), like => like === target);
259
+ /** No transition: no orchestration. */
260
+ const NO_TRANSITION = {};
261
+ /** An element's reduced motion (#434): its nearest config's, else the provider's. */
262
+ const settingOr = (setting, provider) => {
263
+ if (Predicate.isNotUndefined(setting)) return setting;
264
+ return provider;
265
+ };
266
+ /**
267
+ * An element's plays under its reduced motion (#434): `"always"` plays its reduced one in both
268
+ * settings, `"never"` its normal one, and `"user"` each in its own, the reduced under the media query.
269
+ */
270
+ const playsUnder = (plays, setting) => {
271
+ if (setting === "always") return {
272
+ normal: plays.reduced,
273
+ reduced: plays.reduced
274
+ };
275
+ if (setting === "never") return {
276
+ normal: plays.normal,
277
+ reduced: plays.normal
278
+ };
279
+ return plays;
280
+ };
281
+ /** Whether an entry follows the user's preference (#434). */
282
+ const isUser = entry => entry.user;
283
+ /**
284
+ * What a provider's `appear` explains with (#585): with `"explain"`, a Warning for each element that
285
+ * waits for the JavaScript, logged as the render finds it with Effect's own logger, since a server
286
+ * builds no runtime from the app's `env`; nothing otherwise.
287
+ */
288
+ export const explainerOf = appear => {
289
+ if (appear !== "explain") return undefined;
290
+ return message => Effect.runSync(Effect.logWarning(message));
291
+ };
292
+ /** An element as the provider's explanation names it (#585): its tag and the keys its mount animates. */
293
+ const nameOf = entry => {
294
+ const element = UndefinedOr.match(entry.tag, {
295
+ onUndefined: () => "an element",
296
+ onDefined: tag => `<${tag}>`
297
+ });
298
+ return Option.match(entry.to, {
299
+ onNone: () => element,
300
+ onSome: to => `${element} (${Rec.keys(to).join(", ")})`
301
+ });
302
+ };
303
+ /**
304
+ * A server render's Appear animations, for a provider whose reduced motion is `reducedMotion`. With
305
+ * `explain` (the provider's `appear="explain"`, #585), it says why each element that doesn't play
306
+ * waits for the JavaScript, as it finds out; without it, nothing is kept or said.
307
+ */
308
+ export const serverAppear = (reducedMotion, explain, nonce) => {
309
+ const sheet = Appear.sheet();
310
+ const entries = [];
311
+ /** Says why `entry` waits for the JavaScript, when the provider explains. */
312
+ const waits = (entry, reason) => {
313
+ if (Predicate.isNotUndefined(explain)) explain(`wardic.appear: ${nameOf(entry)} waits for the JavaScript: ${reason}`);
314
+ };
315
+ // The shell is flushed once the head's CSS is asked for: what enters after is late (#245).
316
+ let flushed = false;
317
+ // The entries written so far, and how deep the render is in late elements.
318
+ let written = 0;
319
+ let lateDepth = 0;
320
+ /** The entries since the last write, now written. */
321
+ const nextBatch = () => {
322
+ const batch = entries.slice(written);
323
+ written = entries.length;
324
+ return batch;
325
+ };
326
+ /** A batch's timing, each slot defined, and the sheet's CSS for them (decision 5). */
327
+ const write = batch => {
328
+ // Each entry's plays are its own setting's (#434): the normal ones always, the reduced ones under
329
+ // the media query when an entry follows the user.
330
+ const resolve = pick => timings(batch, pick);
331
+ const normal = resolve("normal");
332
+ const reduced = Bool.match(Arr.some(batch, isUser), {
333
+ onTrue: () => Option.some(resolve("reduced")),
334
+ onFalse: () => Option.none()
335
+ });
336
+ const settings = Arr.prepend(Option.toArray(reduced), normal);
337
+ // Most renders write no SVG geometry: no group pass.
338
+ const supports = Bool.match(Arr.some(settings, byEntry => byEntry.geometry), {
339
+ onTrue: () => groupSupports(batch, settings),
340
+ onFalse: () => () => NO_SUPPORTS
341
+ });
342
+ Arr.forEach(batch, entry => Option.map(entry.slot, slot => {
343
+ const play = UndefinedOr.getOrThrow(normal.get(entry));
344
+ const reducedPlay = Option.map(Option.filter(reduced, () => entry.user), byEntry => UndefinedOr.getOrThrow(byEntry.get(entry)));
345
+ const defined = Result.flatMap(play, p => Option.match(reducedPlay, {
346
+ onNone: () => slot.define(p, undefined, supports(entry)),
347
+ onSome: r => Result.flatMap(r, rp => slot.define(p, rp, supports(entry)))
348
+ }));
349
+ Result.match(defined, {
350
+ onFailure: reason => waits(entry, reason),
351
+ onSuccess: () => undefined
352
+ });
353
+ }));
354
+ return sheet.css();
355
+ };
356
+ const plays = animation => Bool.or(Option.exists(animation.normal, Result.isSuccess), Option.exists(animation.reduced, Result.isSuccess));
357
+ const chunkCss = () => write(nextBatch());
358
+ return {
359
+ reducedMotion,
360
+ enter: (given, group, setting, skipped, tag, to) => {
361
+ // Skipped (#468): its one play in both slots, under no media query.
362
+ const own = Bool.match(skipped, {
363
+ onTrue: () => "never",
364
+ onFalse: () => settingOr(setting, reducedMotion)
365
+ });
366
+ const animation = playsUnder(given, own);
367
+ const slot = Option.liftPredicate(animation, plays).pipe(Option.map(() => sheet.slot()));
368
+ const entry = {
369
+ plays: animation,
370
+ slot,
371
+ group,
372
+ vetoes: [],
373
+ user: own === "user",
374
+ skipped,
375
+ tag,
376
+ to
377
+ };
378
+ // Why it plays neither: its normal play's reason, its reduced one's when that differs (#585).
379
+ if (Predicate.isNotUndefined(explain)) {
380
+ const reasons = Arr.dedupe(Arr.flatMap([animation.normal, animation.reduced], play => Option.toArray(Option.flatMap(play, p => Result.getFailure(p)))));
381
+ Arr.forEach(reasons, reason => waits(entry, reason));
382
+ }
383
+ entries.push(entry);
384
+ Option.map(group, g => g.children.push(entry));
385
+ return {
386
+ entry,
387
+ animation: Option.map(slot, s => s.animation),
388
+ late: flushed,
389
+ chunkRoot: Bool.and(flushed, lateDepth === 0)
390
+ };
391
+ },
392
+ within: (late, render) => {
393
+ // Per element on a server: a guard, no allocation.
394
+ if (Bool.not(late)) return render();
395
+ lateDepth++;
396
+ try {
397
+ return render();
398
+ } finally {
399
+ lateDepth--;
400
+ }
401
+ },
402
+ chunkCss,
403
+ chunk: () => Appear.chunkStyle(chunkCss(), nonce),
404
+ nonce,
405
+ group: (leader, transition) => {
406
+ const {
407
+ staggerChildren = 0,
408
+ delayChildren = 0,
409
+ from = "first",
410
+ staggerDirection = 1,
411
+ when
412
+ } = UndefinedOr.match(transition, {
413
+ onUndefined: () => NO_TRANSITION,
414
+ onDefined: t => t
415
+ });
416
+ return {
417
+ leader,
418
+ stagger: {
419
+ amount: staggerChildren,
420
+ delayChildren,
421
+ from,
422
+ direction: staggerDirection
423
+ },
424
+ when,
425
+ children: []
426
+ };
427
+ },
428
+ css: () => {
429
+ flushed = true;
430
+ return write(nextBatch());
431
+ }
432
+ };
433
+ };
434
+ /**
435
+ * Each entry's play for one motion setting: its spec and its delay, or why it has none. A Variant
436
+ * child starts after its stagger (`delayChildren` plus its place, ADR-0007), and after its parent
437
+ * settles under `when: "beforeChildren"`; a parent under `"afterChildren"` starts once its last
438
+ * child settles. A start that depends on an element with no rule has none.
439
+ *
440
+ * Timed a batch at a time (#245): the shell's, then each late chunk's, whose CSS starts when the
441
+ * chunk lands. A late Variant child of a group led earlier is a fresh mount from then: its stagger
442
+ * is among that group's children in its batch, and it doesn't wait on the leader (decision 5 of
443
+ * *Amendment (#245)*). The shell's batch is every entry, so nothing changes for it.
444
+ */
445
+ const timings = (entries, pick) => {
446
+ const memo = new Map();
447
+ let geometry = false;
448
+ const inBatch = new Set(entries);
449
+ // Each group's children in this batch, once a group.
450
+ const batchChildren = new Map();
451
+ const childrenOf = g => Option.getOrElse(Option.fromUndefinedOr(batchChildren.get(g)), () => {
452
+ const children = Arr.filter(g.children, child => inBatch.has(child));
453
+ batchChildren.set(g, children);
454
+ return children;
455
+ });
456
+ /** An entry's spec and rule, or why it has none; a missing play (nothing animates) is a rule of 0 s. */
457
+ const ruleOf = entry => Arr.match(entry.vetoes, {
458
+ onNonEmpty: vetoes => Result.fail(vetoes.join("; ")),
459
+ onEmpty: () => playOf(entry)
460
+ });
461
+ const playOf = entry => Option.match(entry.plays[pick], {
462
+ onNone: () => Result.succeed(Option.none()),
463
+ onSome: animation => Result.flatMap(Result.flatMap(animation, specOf), spec => Result.map(Appear.keyframes(spec), rule => Option.some({
464
+ spec,
465
+ rule
466
+ })))
467
+ });
468
+ /** The seconds from first paint to when `entry` starts, and its play. */
469
+ const timingOf = entry => Option.getOrElse(Option.fromUndefinedOr(memo.get(entry)), () => {
470
+ const computed = Result.flatMap(ruleOf(entry), rule => Result.map(startOf(entry), start => {
471
+ const spec = Option.match(rule, {
472
+ onNone: () => undefined,
473
+ onSome: r => r.spec
474
+ });
475
+ // A forever-repeating rule is a cycle: its own delay plays before it, and it never settles.
476
+ const mount = Option.match(entry.plays[pick], {
477
+ onNone: () => undefined,
478
+ onSome: p => Result.match(p, {
479
+ onFailure: () => undefined,
480
+ onSuccess: identity
481
+ })
482
+ });
483
+ const transition = UndefinedOr.map(mount, m => m.transition);
484
+ const forever = UndefinedOr.match(mount, {
485
+ onUndefined: () => false,
486
+ onDefined: playsForever
487
+ });
488
+ const before = Bool.match(forever, {
489
+ onTrue: () => ownDelayOf(transition),
490
+ onFalse: () => 0
491
+ });
492
+ const settled = Option.match(rule, {
493
+ onNone: () => 0,
494
+ onSome: r => Bool.match(forever, {
495
+ onTrue: () => Number.POSITIVE_INFINITY,
496
+ onFalse: () => r.rule.settled
497
+ })
498
+ });
499
+ const supports = Option.match(rule, {
500
+ onNone: () => NO_SUPPORTS,
501
+ onSome: r => r.rule.supports
502
+ });
503
+ geometry = Bool.or(geometry, Arr.isReadonlyArrayNonEmpty(supports));
504
+ return {
505
+ play: {
506
+ spec: spec,
507
+ delay: start + before,
508
+ supports
509
+ },
510
+ settled: start + before + settled
511
+ };
512
+ }));
513
+ memo.set(entry, computed);
514
+ return computed;
515
+ });
516
+ /** When `entry` starts: its stagger, after its parent under `beforeChildren`, after its children under `afterChildren`. */
517
+ const startOf = entry => Result.flatMap(afterParent(entry), afterLeader => Result.map(afterChildren(entry), afterKids => Math.max(afterLeader, afterKids) + ownStaggerOf(entry, childrenOf)));
518
+ // A leader written earlier started at first paint: a late child doesn't wait on it.
519
+ const afterParent = entry => Option.match(Option.filter(entry.group, g => Bool.and(g.when === "beforeChildren", inBatch.has(g.leader))), {
520
+ onNone: () => Result.succeed(0),
521
+ onSome: g => Result.flatMap(Result.mapError(Result.map(timingOf(g.leader), t => t.settled), reason => `its parent has no rule (${reason})`), settled => Bool.match(Number.isFinite(settled), {
522
+ onTrue: () => Result.succeed(settled),
523
+ onFalse: () => Result.fail("its parent never settles")
524
+ }))
525
+ });
526
+ const afterChildren = entry => Option.match(Option.fromUndefinedOr(groupsLed.get(entry)), {
527
+ onNone: () => Result.succeed(0),
528
+ onSome: g => Bool.match(g.when === "afterChildren", {
529
+ onFalse: () => Result.succeed(0),
530
+ onTrue: () => Result.mapError(Result.map(Result.all(Arr.map(childrenOf(g), timingOf)), kids => Arr.reduce(kids, 0, (latest, t) => Math.max(latest, t.settled))), reason => `a child has no rule (${reason})`)
531
+ })
532
+ });
533
+ const groupsLed = new Map();
534
+ Arr.forEach(entries, entry => Option.map(entry.group, g => groupsLed.set(g.leader, g)));
535
+ const plays = new Map(Arr.map(entries, entry => [entry, Result.flatMap(timingOf(entry), t => Bool.match(Predicate.isUndefined(t.play.spec), {
536
+ onTrue: () => Result.fail("nothing animates"),
537
+ onFalse: () => Result.succeed(t.play)
538
+ }))]));
539
+ return Object.assign(plays, {
540
+ geometry
541
+ });
542
+ };
543
+ const NO_SUPPORTS = [];
544
+ /**
545
+ * The SVG geometry properties each entry's orchestrated group writes, over every play (#245,
546
+ * `Appear.Keyframes.supports`): the whole tree a top leader orchestrates is defined under one
547
+ * `@supports`, so a browser without them keeps all of it at its Starting style, not part of it
548
+ * (decision 4: an element qualifies whole, and so does what it orchestrates). Per element on a
549
+ * server: a render whose rules write none (most) pays a look at each play.
550
+ */
551
+ const groupSupports = (entries, settings) => {
552
+ /** The leader at the top of an entry's orchestration: itself, outside any group. */
553
+ const topOf = entry => Option.match(entry.group, {
554
+ onNone: () => entry,
555
+ onSome: g => topOf(g.leader)
556
+ });
557
+ /** What an entry's own rules write, over every play. */
558
+ const own = entry => Arr.flatMap(settings, byEntry => Option.match(Option.fromUndefinedOr(byEntry.get(entry)), {
559
+ onNone: () => NO_SUPPORTS,
560
+ onSome: play => Result.match(play, {
561
+ onFailure: () => NO_SUPPORTS,
562
+ onSuccess: p => p.supports
563
+ })
564
+ }));
565
+ const byTop = new Map();
566
+ Arr.forEach(entries, entry => Arr.match(own(entry), {
567
+ onEmpty: () => undefined,
568
+ onNonEmpty: mine => {
569
+ const top = topOf(entry);
570
+ byTop.set(top, Arr.appendAll(Option.getOrElse(Option.fromUndefinedOr(byTop.get(top)), () => NO_SUPPORTS), mine));
571
+ }
572
+ }));
573
+ return entry => Bool.match(byTop.size === 0, {
574
+ onTrue: () => NO_SUPPORTS,
575
+ onFalse: () => Option.getOrElse(Option.fromUndefinedOr(byTop.get(topOf(entry))), () => NO_SUPPORTS)
576
+ });
577
+ };
578
+ /** An entry's own stagger: none when it's skipped (#468), as its client's snap has no delay; its `when` waits still hold. */
579
+ const ownStaggerOf = (entry, childrenOf) => {
580
+ if (entry.skipped) return 0;
581
+ return staggerOf(entry, childrenOf);
582
+ };
583
+ /**
584
+ * A Variant child's stagger: its parent's `delayChildren` plus its place (ADR-0007), as the client
585
+ * works it out, among the group's children in its batch (`childrenOf`, #245).
586
+ */
587
+ const staggerOf = (entry, childrenOf) => Option.match(entry.group, {
588
+ onNone: () => 0,
589
+ onSome: g => {
590
+ const children = childrenOf(g);
591
+ const n = children.length;
592
+ const i = children.indexOf(entry);
593
+ return childDelayOf(g.stagger, i, n);
594
+ }
595
+ });
596
+ /**
597
+ * An element's entry in a server render's Appear animations: its inline `animation` when it plays
598
+ * one, and the group its Variant children join when it leads one.
599
+ */
600
+ export const enterServer = (appear, el) => {
601
+ // Its starts and targets once, both plays sharing them (and so their key's text, `keyOf`). A key
602
+ // already at its target, coerced to its shape, is left out, as the client's first Retarget starts
603
+ // it no leg (#448); a Keyframes key never is, and starts at its first stop, unless the mount starts
604
+ // at its `animate`, when nothing plays (#429, Motion's).
605
+ const mount = Option.flatMap(el.to, to => {
606
+ const moving = Rec.filter(to, (target, key) => Bool.match(hasStops(el.keyframes, key), {
607
+ onTrue: () => Bool.not(el.quiet),
608
+ onFalse: () => Bool.not(atTarget(el.initial[key], target))
609
+ }));
610
+ return Bool.match(Rec.isEmptyRecord(moving), {
611
+ onTrue: () => Option.none(),
612
+ onFalse: () => Option.some(Result.map(playable(el, moving), prepared => startedOf(prepared, el.keyframes)))
613
+ });
614
+ });
615
+ // Skipped (#468): its config's, or its whole transition's own, as the client's legs read them.
616
+ const skipped = Bool.or(el.skipAnimations === true, UndefinedOr.match(el.transition, {
617
+ onUndefined: () => false,
618
+ onDefined: t => t.skipAnimations === true
619
+ }));
620
+ const play = reduced => Option.map(mount, prepared => Result.map(prepared, ({
621
+ from,
622
+ to,
623
+ stops
624
+ }) => ({
625
+ tag: el.tag,
626
+ from,
627
+ to,
628
+ transition: el.transition,
629
+ reduced,
630
+ layout: el.layout,
631
+ stops,
632
+ ...skippedField(skipped),
633
+ ...UndefinedOr.match(el.template, {
634
+ onUndefined: () => ({}),
635
+ onDefined: template => ({
636
+ template
637
+ })
638
+ })
639
+ })));
640
+ const plays = Bool.match(skipped, {
641
+ onTrue: () => {
642
+ const one = play(false);
643
+ return {
644
+ normal: one,
645
+ reduced: one
646
+ };
647
+ },
648
+ onFalse: () => ({
649
+ normal: play(false),
650
+ reduced: play(true)
651
+ })
652
+ });
653
+ const {
654
+ entry,
655
+ animation: inline,
656
+ late,
657
+ chunkRoot
658
+ } = appear.enter(plays, el.group, el.reducedMotion, skipped, el.tag, el.to);
659
+ return {
660
+ late,
661
+ chunkRoot,
662
+ animation: inline,
663
+ group: Option.liftPredicate(entry, () => el.leads).pipe(Option.map(leader => appear.group(leader, el.ownTransition))),
664
+ veto: reason => {
665
+ entry.vetoes.push(reason);
666
+ }
667
+ };
668
+ };
669
+ /** A mount animation's `skipped` (#468): left out when it isn't, so its key is as before. */
670
+ export const skippedField = skipped => Bool.match(skipped, {
671
+ onTrue: () => ({
672
+ skipped: true
673
+ }),
674
+ onFalse: () => ({})
675
+ });
676
+ /** Whether `key` has Keyframes in `keyframes` (#429). */
677
+ const hasStops = (keyframes, key) => {
678
+ if (Predicate.isUndefined(keyframes)) return false;
679
+ return Object.hasOwn(keyframes, key);
680
+ };
681
+ /** A mount's starts with its Keyframes resolved (#429, `keyframesFrom`), as the client's first Retarget resolves them. */
682
+ const startedOf = (prepared, keyframes) => UndefinedOr.match(keyframes, {
683
+ onUndefined: () => ({
684
+ from: prepared.from,
685
+ to: prepared.to,
686
+ stops: undefined
687
+ }),
688
+ onDefined: byKey => ({
689
+ ...keyframesFrom(prepared.from, prepared.to, byKey),
690
+ to: prepared.to
691
+ })
692
+ });
693
+ /** An element's starts and targets, or why its mount animation can't play before hydration (decision 4). */
694
+ const playable = (el, to) => playableMatch({
695
+ el,
696
+ to
697
+ });
698
+ /** {@link playable}'s cases, built once at module load: it runs per element (#69's PR 2). */
699
+ const playableMatch = /*#__PURE__*/Match.type().pipe(Match.when({
700
+ el: {
701
+ appear: false
702
+ }
703
+ }, () => Result.fail("appear={false}")), Match.orElse(({
704
+ el,
705
+ to
706
+ }) => Option.match(unplayable(el.initial, to), {
707
+ onSome: reason => Result.fail(reason),
708
+ onNone: () => Result.succeed({
709
+ from: Rec.map(to, (target, key) => Option.getOrThrow(OwnValues.valueLike(el.initial[key], target))),
710
+ to
711
+ })
712
+ })));
713
+ /** Whether a user style sets an `animation` of its own: the element's one CSS animation would be taken. */
714
+ export const setsAnimation = /*#__PURE__*/Match.type().pipe(Match.when(Predicate.isString, text => /(^|;)\s*animation(-name)?\s*:/i.test(text)), Match.when(Predicate.isObject, record => Bool.or(Object.hasOwn(record, "animation"), Object.hasOwn(record, "animationName"))), Match.orElse(() => false));
715
+ /** The element's Appear animation, if a server started one (decision 6). */
716
+ export const handoffOf = element => Option.map(Appear.find(element), animation => ({
717
+ animation
718
+ }));
719
+ /**
720
+ * How far into its own run the client's first legs start, in seconds, read at their first tick:
721
+ * where the CSS has got, less what the CSS waited that the client waits for itself. The CSS waited
722
+ * its `animation-delay` and its rule's hold; the client's legs hold their transition's delay
723
+ * (`clientDelay`, the stagger in it). The difference is a `when` wait, which the client has already
724
+ * waited.
725
+ */
726
+ export const startAtOf = (handoff, ownTransition, clientDelay) => () => Appear.elapsedOf(handoff.animation) - Appear.delayOf(handoff.animation) - heldInRule(ownTransition) + clientDelay;
727
+ //# sourceMappingURL=appear.js.map