@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,224 @@
1
+ import * as Style from "@wardic/dom/Style";
2
+ import * as Arr from "effect/Array";
3
+ import * as Bool from "effect/Boolean";
4
+ import * as Option from "effect/Option";
5
+ import * as Predicate from "effect/Predicate";
6
+ import * as Rec from "effect/Record";
7
+ import * as UndefinedOr from "effect/UndefinedOr";
8
+ /** No values yet: a server render's, and the Starting style's. */
9
+ export const NO_VARIANT_STATE = {
10
+ values: {},
11
+ velocities: {}
12
+ };
13
+ /**
14
+ * Whether an entry names variants (#297): a name, or a list of names. Not a values map: a list is an
15
+ * object too, so a check for a string alone would take it for one.
16
+ */
17
+ export const isLabels = entry => Bool.or(Predicate.isString(entry), Arr.isArray(entry));
18
+ /** An entry's names, in order (#297): one for a name, a list's own, none for a values map or nothing. */
19
+ export const labelsOf = entry => {
20
+ if (Predicate.isString(entry)) return [entry];
21
+ if (Arr.isArray(entry)) return entry;
22
+ return NO_LABELS;
23
+ };
24
+ /** No names. */
25
+ export const NO_LABELS = [];
26
+ /**
27
+ * Two entries' names the same (#297, Motion's `shallowCompare`): a name, or a list equal name by name
28
+ * in order, so a fresh list with the same names each render isn't a change. A values map, or nothing,
29
+ * matches only itself.
30
+ */
31
+ export const sameLabels = (a, b) => {
32
+ if (a === b) return true;
33
+ if (Bool.or(Bool.not(Arr.isArray(a)), Bool.not(Arr.isArray(b)))) return false;
34
+ const x = a;
35
+ const y = b;
36
+ return Bool.and(x.length === y.length, Arr.every(x, (name, i) => name === y[i]));
37
+ };
38
+ /** A resolver called with what it reads, as Motion calls it; anything else as it is. */
39
+ const calledOf = (definition, custom, state) => {
40
+ if (Predicate.isFunction(definition)) return definition(custom, {
41
+ ...state.values
42
+ }, {
43
+ ...state.velocities
44
+ });
45
+ return definition;
46
+ };
47
+ /** A name looked up in `variants`; anything else as it is. */
48
+ const namedOf = (definition, variants) => {
49
+ if (Bool.not(Predicate.isString(definition))) return definition;
50
+ if (Predicate.isUndefined(variants)) return undefined;
51
+ return variants[definition];
52
+ };
53
+ /**
54
+ * Resolve a target (#277): a values map, or a variant name, against `variants`, Motion's
55
+ * `resolveVariantFromProps`. A name's entry is looked up, a resolver is called with `custom` and the
56
+ * element's `state`, and a resolver that returns a name is followed once more. Its values go through
57
+ * `Style.valuesAt`, so `Override.resolve` and `Values.split` never see an `undefined` value, nor an
58
+ * array: a key's Keyframes (#429) are split off, its value their last stop; its `transition` is split
59
+ * off too.
60
+ */
61
+ export const resolveTarget = (entry, variants, custom, state) => {
62
+ if (Arr.isArray(entry)) return mergedOf(resolveTargets(entry, variants, custom, state));
63
+ return resolveOne(entry, variants, custom, state);
64
+ };
65
+ /**
66
+ * Each of an entry's targets, in order (#297): a list's names each resolved on its own, Motion's
67
+ * `definitionList`; a name or a values map alone. An empty list resolves nothing.
68
+ */
69
+ export const resolveTargets = (entry, variants, custom, state) => {
70
+ if (Arr.isArray(entry)) {
71
+ return Arr.map(entry, name => ({
72
+ ...resolveOne(name, variants, custom, state),
73
+ name
74
+ }));
75
+ }
76
+ const one = entry;
77
+ return [{
78
+ ...resolveOne(one, variants, custom, state),
79
+ name: Bool.match(Predicate.isString(one), {
80
+ onTrue: () => one,
81
+ onFalse: () => undefined
82
+ })
83
+ }];
84
+ };
85
+ /**
86
+ * Targets merged in order (#297): their values, a later one's winning a key both set, and their own
87
+ * transitions field by field, a later one's winning. The merged transition is what orchestration
88
+ * reads for a list as a whole (`when` the last name's that sets it); each key's legs run on the own
89
+ * transition of the name that drives it, not on this.
90
+ */
91
+ export const mergedOf = targets => Arr.reduce(targets, NO_TARGET, (merged, target) => ({
92
+ values: {
93
+ ...merged.values,
94
+ ...target.values
95
+ },
96
+ keyframes: keyframesOver(target, merged.keyframes),
97
+ transition: UndefinedOr.match(target.transition, {
98
+ onUndefined: () => merged.transition,
99
+ onDefined: own => UndefinedOr.match(merged.transition, {
100
+ onUndefined: () => own,
101
+ onDefined: before => ({
102
+ ...before,
103
+ ...own
104
+ })
105
+ })
106
+ }),
107
+ transitionEnd: UndefinedOr.match(target.transitionEnd, {
108
+ onUndefined: () => merged.transitionEnd,
109
+ onDefined: own => UndefinedOr.match(merged.transitionEnd, {
110
+ onUndefined: () => own,
111
+ onDefined: before => ({
112
+ ...before,
113
+ ...own
114
+ })
115
+ })
116
+ })
117
+ }));
118
+ /**
119
+ * `target`'s Keyframes over `before` (#429): a later name's own, and `before`'s for the keys it doesn't
120
+ * set, so a key it sets to one value is no longer Keyframes. `undefined` when neither has any.
121
+ */
122
+ const keyframesOver = (target, before) => {
123
+ if (Predicate.isUndefined(before)) return target.keyframes;
124
+ const kept = Rec.filter(before, (_, key) => Bool.not(Object.hasOwn(target.values, key)));
125
+ const over = {
126
+ ...kept,
127
+ ...target.keyframes
128
+ };
129
+ return Bool.match(Rec.isEmptyRecord(over), {
130
+ onTrue: () => undefined,
131
+ onFalse: () => over
132
+ });
133
+ };
134
+ /** Nothing resolved. */
135
+ export const NO_TARGET = {
136
+ values: {},
137
+ transition: undefined,
138
+ transitionEnd: undefined,
139
+ keyframes: undefined
140
+ };
141
+ /** One name or values map resolved ({@link resolveTarget}). */
142
+ const resolveOne = (entry, variants, custom, state) => {
143
+ const definition = calledOf(namedOf(calledOf(namedOf(entry, variants), custom, state), variants), custom, state);
144
+ if (Bool.or(Predicate.isUndefined(definition), Bool.or(Predicate.isString(definition), Predicate.isFunction(definition)))) {
145
+ return NO_TARGET;
146
+ }
147
+ // Its own transition is an object; a CSS `transition` string stays a value, as it was. Its
148
+ // Transition end (#428) is an object too, which `toValues` leaves out of its values.
149
+ const target = definition;
150
+ const transitionEnd = transitionEndOf(target.transitionEnd);
151
+ // A key's Keyframes (#429) rest at their last stop: its value, beside its stops, both found in one
152
+ // pass over its keys (#452).
153
+ if (Bool.not(Predicate.isObject(target.transition))) {
154
+ const split = Style.splitValues(target, "last");
155
+ return {
156
+ values: split.values,
157
+ transition: undefined,
158
+ transitionEnd,
159
+ keyframes: Option.getOrUndefined(split.keyframes)
160
+ };
161
+ }
162
+ const {
163
+ transition,
164
+ ...values
165
+ } = target;
166
+ const split = Style.splitValues(values, "last");
167
+ return {
168
+ values: split.values,
169
+ transition: transition,
170
+ transitionEnd,
171
+ keyframes: Option.getOrUndefined(split.keyframes)
172
+ };
173
+ };
174
+ /** A target's Transition end (#428), clean for core: none for anything but a values map, or an empty one. */
175
+ const transitionEndOf = given => {
176
+ if (Bool.not(Predicate.isObject(given))) return undefined;
177
+ const values = Style.toValues(given);
178
+ if (Rec.isEmptyRecord(values)) return undefined;
179
+ return values;
180
+ };
181
+ /**
182
+ * The transition an animation to a target runs on (#277, Motion's `resolveTransition`): the target's
183
+ * own in place of the element's, or laid over it with `inherit: true` (a shallow merge, its own keys
184
+ * winning); the element's when it has none. An own transition with no `inherit` is handed back as it
185
+ * is, the same object each call, so a memo of it holds (#460: a copy per call made Solid 2's variant
186
+ * node re-run its orchestration's readers at every gesture, `UNSTABLE_MEMO_OUTPUT`).
187
+ */
188
+ export const transitionOfTarget = (own, element) => {
189
+ if (Predicate.isUndefined(own)) return element;
190
+ if (!("inherit" in own)) return own;
191
+ const {
192
+ inherit,
193
+ ...rest
194
+ } = own;
195
+ if (inherit === true) return {
196
+ ...element,
197
+ ...rest
198
+ };
199
+ return rest;
200
+ };
201
+ /**
202
+ * `variants` with each entry resolved to its values, a dynamic one with `custom` and no values yet
203
+ * (#277): what dom's Starting style reads, which takes values maps only. As they are when none is a
204
+ * function.
205
+ */
206
+ export const startingVariantsOf = (variants, custom) => {
207
+ if (Predicate.isUndefined(variants)) return undefined;
208
+ const entries = variants;
209
+ if (Bool.not(Arr.some(Rec.values(entries), Predicate.isFunction))) return variants;
210
+ return Rec.map(entries, (_, name) => resolveTarget(name, entries, custom, NO_VARIANT_STATE).values);
211
+ };
212
+ /**
213
+ * The own transition of an element's target now (#277): its `animate` map's, else the variant it
214
+ * names or inherits (`name`), resolved with `custom` and no values. What its orchestration reads.
215
+ */
216
+ export const ownTransitionOf = (animate, name, variants, custom) => {
217
+ const byName = variants;
218
+ if (Bool.and(Predicate.isNotUndefined(animate), Bool.not(isLabels(animate)))) {
219
+ return resolveTarget(animate, byName, custom, NO_VARIANT_STATE).transition;
220
+ }
221
+ if (Predicate.isUndefined(name)) return undefined;
222
+ return resolveTarget(name, byName, custom, NO_VARIANT_STATE).transition;
223
+ };
224
+ //# sourceMappingURL=variant-target.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"variant-target.js","names":["Style","Arr","Bool","Option","Predicate","Rec","UndefinedOr","NO_VARIANT_STATE","values","velocities","isLabels","entry","or","isString","isArray","labelsOf","NO_LABELS","sameLabels","a","b","not","x","y","and","length","every","name","i","calledOf","definition","custom","state","isFunction","namedOf","variants","isUndefined","undefined","resolveTarget","mergedOf","resolveTargets","resolveOne","map","one","match","onTrue","onFalse","targets","reduce","NO_TARGET","merged","target","keyframes","keyframesOver","transition","onUndefined","onDefined","own","before","transitionEnd","kept","filter","_","key","Object","hasOwn","over","isEmptyRecord","transitionEndOf","isObject","split","splitValues","getOrUndefined","given","toValues","transitionOfTarget","element","inherit","rest","startingVariantsOf","entries","some","ownTransitionOf","animate","byName","isNotUndefined"],"sources":["../../src/variant-target.ts"],"sourcesContent":[null],"mappings":"AASA,OAAO,KAAKA,KAAK,MAAM,mBAAmB;AAC1C,OAAO,KAAKC,GAAG,MAAM,cAAc;AACnC,OAAO,KAAKC,IAAI,MAAM,gBAAgB;AACtC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,SAAS,MAAM,kBAAkB;AAC7C,OAAO,KAAKC,GAAG,MAAM,eAAe;AACpC,OAAO,KAAKC,WAAW,MAAM,oBAAoB;AAYjD;AACA,OAAO,MAAMC,gBAAgB,GAAiB;EAAEC,MAAM,EAAE,EAAE;EAAEC,UAAU,EAAE;AAAE,CAAE;AAwB5E;;;;AAIA,OAAO,MAAMC,QAAQ,GAAIC,KAAc,IAAmCT,IAAI,CAACU,EAAE,CAACR,SAAS,CAACS,QAAQ,CAACF,KAAK,CAAC,EAAEV,GAAG,CAACa,OAAO,CAACH,KAAK,CAAC,CAAC;AAEhI;AACA,OAAO,MAAMI,QAAQ,GAAIJ,KAAc,IAA2B;EAChE,IAAIP,SAAS,CAACS,QAAQ,CAACF,KAAK,CAAC,EAAE,OAAO,CAACA,KAAK,CAAC;EAC7C,IAAIV,GAAG,CAACa,OAAO,CAACH,KAAK,CAAC,EAAE,OAAOA,KAA8B;EAC7D,OAAOK,SAAS;AAClB,CAAC;AAED;AACA,OAAO,MAAMA,SAAS,GAA0B,EAAE;AAElD;;;;;AAKA,OAAO,MAAMC,UAAU,GAAGA,CAACC,CAAkC,EAAEC,CAAkC,KAAa;EAC5G,IAAID,CAAC,KAAKC,CAAC,EAAE,OAAO,IAAI;EACxB,IAAIjB,IAAI,CAACU,EAAE,CAACV,IAAI,CAACkB,GAAG,CAACnB,GAAG,CAACa,OAAO,CAACI,CAAC,CAAC,CAAC,EAAEhB,IAAI,CAACkB,GAAG,CAACnB,GAAG,CAACa,OAAO,CAACK,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,KAAK;EAC7E,MAAME,CAAC,GAAGH,CAA0B;EACpC,MAAMI,CAAC,GAAGH,CAA0B;EACpC,OAAOjB,IAAI,CAACqB,GAAG,CAACF,CAAC,CAACG,MAAM,KAAKF,CAAC,CAACE,MAAM,EAAEvB,GAAG,CAACwB,KAAK,CAACJ,CAAC,EAAE,CAACK,IAAI,EAAEC,CAAC,KAAKD,IAAI,KAAKJ,CAAC,CAACK,CAAC,CAAC,CAAC,CAAC;AAClF,CAAC;AAUD;AACA,MAAMC,QAAQ,GAAGA,CAACC,UAAsB,EAAEC,MAAe,EAAEC,KAAmB,KAAgB;EAC5F,IAAI3B,SAAS,CAAC4B,UAAU,CAACH,UAAU,CAAC,EAAE,OAAOA,UAAU,CAACC,MAAM,EAAE;IAAE,GAAGC,KAAK,CAACvB;EAAM,CAAE,EAAE;IAAE,GAAGuB,KAAK,CAACtB;EAAU,CAAE,CAAC;EAC7G,OAAOoB,UAAU;AACnB,CAAC;AAED;AACA,MAAMI,OAAO,GAAGA,CAACJ,UAAsB,EAAEK,QAAoC,KAAgB;EAC3F,IAAIhC,IAAI,CAACkB,GAAG,CAAChB,SAAS,CAACS,QAAQ,CAACgB,UAAU,CAAC,CAAC,EAAE,OAAOA,UAAU;EAC/D,IAAIzB,SAAS,CAAC+B,WAAW,CAACD,QAAQ,CAAC,EAAE,OAAOE,SAAS;EACrD,OAAOF,QAAQ,CAACL,UAAoB,CAAC;AACvC,CAAC;AAED;;;;;;;;AAQA,OAAO,MAAMQ,aAAa,GAAGA,CAAC1B,KAAY,EAAEuB,QAAoC,EAAEJ,MAAe,EAAEC,KAAmB,KAAY;EAChI,IAAI9B,GAAG,CAACa,OAAO,CAACH,KAAK,CAAC,EAAE,OAAO2B,QAAQ,CAACC,cAAc,CAAC5B,KAAK,EAAEuB,QAAQ,EAAEJ,MAAM,EAAEC,KAAK,CAAC,CAAC;EACvF,OAAOS,UAAU,CAAC7B,KAA2C,EAAEuB,QAAQ,EAAEJ,MAAM,EAAEC,KAAK,CAAC;AACzF,CAAC;AAED;;;;AAIA,OAAO,MAAMQ,cAAc,GAAGA,CAAC5B,KAAY,EAAEuB,QAAoC,EAAEJ,MAAe,EAAEC,KAAmB,KAAgC;EACrJ,IAAI9B,GAAG,CAACa,OAAO,CAACH,KAAK,CAAC,EAAE;IACtB,OAAOV,GAAG,CAACwC,GAAG,CAAC9B,KAA8B,EAAGe,IAAI,KAAmB;MAAE,GAAGc,UAAU,CAACd,IAAI,EAAEQ,QAAQ,EAAEJ,MAAM,EAAEC,KAAK,CAAC;MAAEL;IAAI,CAAE,CAAC,CAAC;EACjI;EACA,MAAMgB,GAAG,GAAG/B,KAA2C;EACvD,OAAO,CAAC;IAAE,GAAG6B,UAAU,CAACE,GAAG,EAAER,QAAQ,EAAEJ,MAAM,EAAEC,KAAK,CAAC;IAAEL,IAAI,EAAExB,IAAI,CAACyC,KAAK,CAACvC,SAAS,CAACS,QAAQ,CAAC6B,GAAG,CAAC,EAAE;MAAEE,MAAM,EAAEA,CAAA,KAAMF,GAAa;MAAEG,OAAO,EAAEA,CAAA,KAAMT;IAAS,CAAE;EAAC,CAAE,CAAC;AAChK,CAAC;AAED;;;;;;AAMA,OAAO,MAAME,QAAQ,GAAIQ,OAA8B,IACrD7C,GAAG,CAAC8C,MAAM,CAACD,OAAO,EAAEE,SAAS,EAAE,CAACC,MAAM,EAAEC,MAAM,MAAc;EAC1D1C,MAAM,EAAE;IAAE,GAAGyC,MAAM,CAACzC,MAAM;IAAE,GAAG0C,MAAM,CAAC1C;EAAM,CAAE;EAC9C2C,SAAS,EAAEC,aAAa,CAACF,MAAM,EAAED,MAAM,CAACE,SAAS,CAAC;EAClDE,UAAU,EAAE/C,WAAW,CAACqC,KAAK,CAACO,MAAM,CAACG,UAAU,EAAE;IAC/CC,WAAW,EAAEA,CAAA,KAAML,MAAM,CAACI,UAAU;IACpCE,SAAS,EAAGC,GAAG,IAAKlD,WAAW,CAACqC,KAAK,CAACM,MAAM,CAACI,UAAU,EAAE;MAAEC,WAAW,EAAEA,CAAA,KAAME,GAAG;MAAED,SAAS,EAAGE,MAAM,KAAM;QAAE,GAAGA,MAAM;QAAE,GAAGD;MAAG,CAAE;IAA4B,CAAE;GAC/J,CAAC;EACFE,aAAa,EAAEpD,WAAW,CAACqC,KAAK,CAACO,MAAM,CAACQ,aAAa,EAAE;IACrDJ,WAAW,EAAEA,CAAA,KAAML,MAAM,CAACS,aAAa;IACvCH,SAAS,EAAGC,GAAG,IAAKlD,WAAW,CAACqC,KAAK,CAACM,MAAM,CAACS,aAAa,EAAE;MAAEJ,WAAW,EAAEA,CAAA,KAAME,GAAG;MAAED,SAAS,EAAGE,MAAM,KAAM;QAAE,GAAGA,MAAM;QAAE,GAAGD;MAAG,CAAE;IAAC,CAAE;GACvI;CACF,CAAC,CAAC;AAEL;;;;AAIA,MAAMJ,aAAa,GAAGA,CAACF,MAAc,EAAEO,MAA6B,KAA2B;EAC7F,IAAIrD,SAAS,CAAC+B,WAAW,CAACsB,MAAM,CAAC,EAAE,OAAOP,MAAM,CAACC,SAAS;EAC1D,MAAMQ,IAAI,GAAGtD,GAAG,CAACuD,MAAM,CAACH,MAAM,EAAE,CAACI,CAAC,EAAEC,GAAG,KAAK5D,IAAI,CAACkB,GAAG,CAAC2C,MAAM,CAACC,MAAM,CAACd,MAAM,CAAC1C,MAAM,EAAEsD,GAAG,CAAC,CAAC,CAAC;EACxF,MAAMG,IAAI,GAAc;IAAE,GAAGN,IAAI;IAAE,GAAGT,MAAM,CAACC;EAAS,CAAE;EACxD,OAAOjD,IAAI,CAACyC,KAAK,CAACtC,GAAG,CAAC6D,aAAa,CAACD,IAAI,CAAC,EAAE;IAAErB,MAAM,EAAEA,CAAA,KAAMR,SAAS;IAAES,OAAO,EAAEA,CAAA,KAAMoB;EAAI,CAAE,CAAC;AAC9F,CAAC;AAED;AACA,OAAO,MAAMjB,SAAS,GAAW;EAAExC,MAAM,EAAE,EAAE;EAAE6C,UAAU,EAAEjB,SAAS;EAAEsB,aAAa,EAAEtB,SAAS;EAAEe,SAAS,EAAEf;AAAS,CAAE;AAEtH;AACA,MAAMI,UAAU,GAAGA,CAAC7B,KAAyC,EAAEuB,QAAoC,EAAEJ,MAAe,EAAEC,KAAmB,KAAY;EACnJ,MAAMF,UAAU,GAAGD,QAAQ,CAACK,OAAO,CAACL,QAAQ,CAACK,OAAO,CAACtB,KAAK,EAAEuB,QAAQ,CAAC,EAAEJ,MAAM,EAAEC,KAAK,CAAC,EAAEG,QAAQ,CAAC,EAAEJ,MAAM,EAAEC,KAAK,CAAC;EAChH,IAAI7B,IAAI,CAACU,EAAE,CAACR,SAAS,CAAC+B,WAAW,CAACN,UAAU,CAAC,EAAE3B,IAAI,CAACU,EAAE,CAACR,SAAS,CAACS,QAAQ,CAACgB,UAAU,CAAC,EAAEzB,SAAS,CAAC4B,UAAU,CAACH,UAAU,CAAC,CAAC,CAAC,EAAE;IACzH,OAAOmB,SAAS;EAClB;EACA;EACA;EACA,MAAME,MAAM,GAAGrB,UAAiF;EAChG,MAAM6B,aAAa,GAAGS,eAAe,CAACjB,MAAM,CAACQ,aAAa,CAAC;EAC3D;EACA;EACA,IAAIxD,IAAI,CAACkB,GAAG,CAAChB,SAAS,CAACgE,QAAQ,CAAClB,MAAM,CAACG,UAAU,CAAC,CAAC,EAAE;IACnD,MAAMgB,KAAK,GAAGrE,KAAK,CAACsE,WAAW,CAACpB,MAAM,EAAE,MAAM,CAAC;IAC/C,OAAO;MAAE1C,MAAM,EAAE6D,KAAK,CAAC7D,MAAM;MAAE6C,UAAU,EAAEjB,SAAS;MAAEsB,aAAa;MAAEP,SAAS,EAAEhD,MAAM,CAACoE,cAAc,CAACF,KAAK,CAAClB,SAAS;IAAC,CAAE;EAC1H;EACA,MAAM;IAAEE,UAAU;IAAE,GAAG7C;EAAM,CAAE,GAAG0C,MAAM;EACxC,MAAMmB,KAAK,GAAGrE,KAAK,CAACsE,WAAW,CAAC9D,MAAM,EAAE,MAAM,CAAC;EAC/C,OAAO;IAAEA,MAAM,EAAE6D,KAAK,CAAC7D,MAAM;IAAE6C,UAAU,EAAEA,UAAqC;IAAEK,aAAa;IAAEP,SAAS,EAAEhD,MAAM,CAACoE,cAAc,CAACF,KAAK,CAAClB,SAAS;EAAC,CAAE;AACtJ,CAAC;AAED;AACA,MAAMgB,eAAe,GAAIK,KAAc,IAA+B;EACpE,IAAItE,IAAI,CAACkB,GAAG,CAAChB,SAAS,CAACgE,QAAQ,CAACI,KAAK,CAAC,CAAC,EAAE,OAAOpC,SAAS;EACzD,MAAM5B,MAAM,GAAGR,KAAK,CAACyE,QAAQ,CAACD,KAAe,CAAC;EAC9C,IAAInE,GAAG,CAAC6D,aAAa,CAAC1D,MAAM,CAAC,EAAE,OAAO4B,SAAS;EAC/C,OAAO5B,MAAM;AACf,CAAC;AAED;;;;;;;AAOA,OAAO,MAAMkE,kBAAkB,GAAGA,CAAClB,GAAwC,EAAEmB,OAAqC,KAAkC;EAClJ,IAAIvE,SAAS,CAAC+B,WAAW,CAACqB,GAAG,CAAC,EAAE,OAAOmB,OAAO;EAC9C,IAAI,EAAE,SAAS,IAAInB,GAAG,CAAC,EAAE,OAAOA,GAAuB;EACvD,MAAM;IAAEoB,OAAO;IAAE,GAAGC;EAAI,CAAE,GAAGrB,GAAG;EAChC,IAAIoB,OAAO,KAAK,IAAI,EAAE,OAAO;IAAE,GAAGD,OAAO;IAAE,GAAGE;EAAI,CAAsB;EACxE,OAAOA,IAAwB;AACjC,CAAC;AAED;;;;;AAKA,OAAO,MAAMC,kBAAkB,GAAGA,CAAC5C,QAA4B,EAAEJ,MAAe,KAAwB;EACtG,IAAI1B,SAAS,CAAC+B,WAAW,CAACD,QAAQ,CAAC,EAAE,OAAOE,SAAS;EACrD,MAAM2C,OAAO,GAAG7C,QAA0B;EAC1C,IAAIhC,IAAI,CAACkB,GAAG,CAACnB,GAAG,CAAC+E,IAAI,CAAC3E,GAAG,CAACG,MAAM,CAACuE,OAAO,CAAC,EAAE3E,SAAS,CAAC4B,UAAU,CAAC,CAAC,EAAE,OAAOE,QAAQ;EAClF,OAAO7B,GAAG,CAACoC,GAAG,CAACsC,OAAO,EAAE,CAAClB,CAAC,EAAEnC,IAAI,KAAKW,aAAa,CAACX,IAAI,EAAEqD,OAAO,EAAEjD,MAAM,EAAEvB,gBAAgB,CAAC,CAACC,MAAM,CAAC;AACrG,CAAC;AAED;;;;AAIA,OAAO,MAAMyE,eAAe,GAAGA,CAC7BC,OAAiD,EACjDxD,IAAqC,EACrCQ,QAA4B,EAC5BJ,MAAe,KACwB;EACvC,MAAMqD,MAAM,GAAGjD,QAAsC;EACrD,IAAIhC,IAAI,CAACqB,GAAG,CAACnB,SAAS,CAACgF,cAAc,CAACF,OAAO,CAAC,EAAEhF,IAAI,CAACkB,GAAG,CAACV,QAAQ,CAACwE,OAAO,CAAC,CAAC,CAAC,EAAE;IAC5E,OAAO7C,aAAa,CAAC6C,OAAwB,EAAEC,MAAM,EAAErD,MAAM,EAAEvB,gBAAgB,CAAC,CAAC8C,UAAU;EAC7F;EACA,IAAIjD,SAAS,CAAC+B,WAAW,CAACT,IAAI,CAAC,EAAE,OAAOU,SAAS;EACjD,OAAOC,aAAa,CAACX,IAAI,EAAEyD,MAAM,EAAErD,MAAM,EAAEvB,gBAAgB,CAAC,CAAC8C,UAAU;AACzE,CAAC","ignoreList":[]}
@@ -0,0 +1,394 @@
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 * as Style from "@wardic/dom/Style";
24
+ import * as Arr from "effect/Array";
25
+ import * as Bool from "effect/Boolean";
26
+ import { constTrue, constUndefined, identity } from "effect/Function";
27
+ import * as Predicate from "effect/Predicate";
28
+ import * as UndefinedOr from "effect/UndefinedOr";
29
+ import { isAnimationControls } from "./animation-controls.js";
30
+ import { isLabels, labelsOf, NO_VARIANT_STATE, resolveTarget, sameLabels, startingVariantsOf } from "./variant-target.js";
31
+ /** The gesture layers in Motion's priority, lowest first. */
32
+ export const GESTURE_LAYERS = ["inView", "focused", "hovered", "pressed", "dragged"];
33
+ /** No gesture on: what an element with none active hands down. */
34
+ export const NO_GESTURE_NAMES = {};
35
+ /** Two {@link GestureNames} the same: the same names for each gesture, a list name by name (#297). */
36
+ export const sameGestureNames = (a, b) => GESTURE_LAYERS.every(layer => sameLabels(a[layer], b[layer]));
37
+ /** No gesture on. */
38
+ export const NO_GESTURE_STATES = {
39
+ inView: false,
40
+ focused: false,
41
+ hovered: false,
42
+ pressed: false,
43
+ dragged: false
44
+ };
45
+ /** Nothing on, no labels: what an element hands down with no provider and no gesture. */
46
+ export const NO_HAND_DOWN = {
47
+ on: NO_GESTURE_STATES,
48
+ names: NO_GESTURE_NAMES
49
+ };
50
+ /** Two hand-downs the same: each gesture on alike, with the same label. */
51
+ export const sameHandDown = (a, b) => GESTURE_LAYERS.every(layer => Bool.and(a.on[layer] === b.on[layer], sameLabels(a.names[layer], b.names[layer])));
52
+ /** What a context hands down, nothing without a context or its gestures. */
53
+ export const handDownFrom = context => {
54
+ // Per Retarget, per element: guards, nothing made (most elements have no provider).
55
+ if (Predicate.isUndefined(context)) return NO_HAND_DOWN;
56
+ const gestures = context.gestures;
57
+ if (Predicate.isUndefined(gestures)) return NO_HAND_DOWN;
58
+ return gestures();
59
+ };
60
+ /** Each gesture on: its own, or its provider's. */
61
+ export const gesturesOn = (own, above) => ({
62
+ inView: Bool.or(own.inView, above.inView),
63
+ focused: Bool.or(own.focused, above.focused),
64
+ hovered: Bool.or(own.hovered, above.hovered),
65
+ pressed: Bool.or(own.pressed, above.pressed),
66
+ dragged: Bool.or(own.dragged, above.dragged)
67
+ });
68
+ /** A gesture's label (#291): its own `while*`, if a name or a list (#297); with none of its own, the one it took. */
69
+ const labelOf = (own, inherited) => {
70
+ if (Predicate.isNotUndefined(own)) return nameOf(own);
71
+ return inherited;
72
+ };
73
+ /** What an element hands down (#291), from its config, its own states, and what it takes. */
74
+ export const handDownOf = (config, own, above) => ({
75
+ on: gesturesOn(own, above.on),
76
+ names: {
77
+ inView: labelOf(config.whileInView, above.names.inView),
78
+ focused: labelOf(config.whileFocus, above.names.focused),
79
+ hovered: labelOf(config.whileHover, above.names.hovered),
80
+ pressed: labelOf(config.whileTap, above.names.pressed),
81
+ dragged: labelOf(config.whileDrag, above.names.dragged)
82
+ }
83
+ });
84
+ /** The name each gesture's layer resolves while it's on (#291): its label then; off, none. */
85
+ export const activeNamesOf = handDown => ({
86
+ inView: activeName(handDown, "inView"),
87
+ focused: activeName(handDown, "focused"),
88
+ hovered: activeName(handDown, "hovered"),
89
+ pressed: activeName(handDown, "pressed"),
90
+ dragged: activeName(handDown, "dragged")
91
+ });
92
+ /** A gesture's label while it's on. */
93
+ const activeName = (handDown, layer) => {
94
+ if (Bool.not(handDown.on[layer])) return undefined;
95
+ return handDown.names[layer];
96
+ };
97
+ /**
98
+ * A key for a variant name and the active gestures' names: what a provider's orchestration snapshots
99
+ * at (#291), a list's names each (#297). A **Controls change** (#433) is one too, to the same name.
100
+ */
101
+ export const triggerKeyOf = (variant, handDown, change) => [keyOfLabels(variant), ...GESTURE_LAYERS.map(layer => keyOfLabels(activeName(handDown, layer))), UndefinedOr.match(change, {
102
+ onUndefined: () => "",
103
+ onDefined: c => `${c.serial}`
104
+ })].join("|");
105
+ /** {@link ChangeAtTrigger} after a trigger `key` with `change` in effect. */
106
+ export const changeAtTrigger = (change, key, previous) => {
107
+ if (Predicate.isUndefined(previous)) return {
108
+ change,
109
+ key,
110
+ by: change
111
+ };
112
+ if (change !== previous.change) return {
113
+ change,
114
+ key,
115
+ by: change
116
+ };
117
+ if (key !== previous.key) return {
118
+ change,
119
+ key,
120
+ by: undefined
121
+ };
122
+ return previous;
123
+ };
124
+ /** Each Controls change's override as a name's orchestration (#433), made once a change. */
125
+ // Module state (#460, Q7): a cache held weakly by the object it's for, so it goes with it.
126
+ const CHANGE_CONFIGS = new WeakMap();
127
+ /**
128
+ * The orchestration every name of a list takes at a trigger a Controls change came with (#433): its
129
+ * override's, or `undefined` for none (each name its own).
130
+ */
131
+ export const changeConfigOf = at => {
132
+ const by = at.by;
133
+ if (Predicate.isUndefined(by)) return undefined;
134
+ const override = by.override;
135
+ if (Predicate.isUndefined(override)) return undefined;
136
+ const known = CHANGE_CONFIGS.get(by);
137
+ if (Predicate.isNotUndefined(known)) return known;
138
+ const made = nameConfigOf(override);
139
+ CHANGE_CONFIGS.set(by, made);
140
+ return made;
141
+ };
142
+ /** A provider's orchestration at a trigger (#433): the override of the change it came with, else its own. */
143
+ export const orchestrationAt = (at, own) => UndefinedOr.match(UndefinedOr.map(at.by, by => by.override), {
144
+ onUndefined: own,
145
+ onDefined: identity
146
+ });
147
+ /** Labels as one key: a list's names apart by a character no name has in practice. */
148
+ const keyOfLabels = labels => Arr.join(labelsOf(labels), "\u0001");
149
+ /** The highest-priority active gesture's name, or list (#297), if any hands one down. */
150
+ export const topGestureName = names => UndefinedOr.match(names.dragged, {
151
+ onDefined: identity,
152
+ onUndefined: () => UndefinedOr.match(names.pressed, {
153
+ onDefined: identity,
154
+ onUndefined: () => UndefinedOr.match(names.hovered, {
155
+ onDefined: identity,
156
+ onUndefined: () => UndefinedOr.match(names.focused, {
157
+ onDefined: identity,
158
+ onUndefined: () => names.inView
159
+ })
160
+ })
161
+ })
162
+ });
163
+ /** An `initial` an element hands its children: a variant name or list (#297), `false` (#134), or `undefined` for a values map or nothing. */
164
+ export const initialNameOf = entry => Bool.match(entry === false, {
165
+ onTrue: () => false,
166
+ onFalse: () => nameOf(entry)
167
+ });
168
+ /** A variant name or a list of names (#297), or `undefined` for a values map or nothing. */
169
+ export const nameOf = entry => Bool.match(isLabels(entry), {
170
+ onTrue: () => entry,
171
+ onFalse: constUndefined
172
+ });
173
+ /**
174
+ * Whether `config` names its own variants: any of its variant props, `initial`, `animate`, the five
175
+ * `while*` and `exit`, is a name or a list, or its `animate` is **Animation controls** (#433), as given
176
+ * or as its binding marks the config it reads (Motion's `isControllingVariants`, `isVariantLabel`).
177
+ */
178
+ // #618 (decision 8): Motion's `variantProps` (motion-dom 14.6 render/utils/variant-props.mjs); only
179
+ // `initial` and `animate` counted before. Statements, not a loop over the keys: it's read per change.
180
+ export const namesOwnVariants = config => config.controlled === true || isAnimationControls(config.animate) || isLabels(config.initial) || isLabels(config.animate) || isLabels(config.whileInView) || isLabels(config.whileFocus) || isLabels(config.whileHover) || isLabels(config.whileTap) || isLabels(config.whileDrag) || isLabels(config.exit);
181
+ /** Whether an element has variants of its own, so Variant children join it (Motion's `isVariantNode`). */
182
+ export const hasOwnVariants = config => Predicate.isNotUndefined(config.variants) || namesOwnVariants(config);
183
+ /**
184
+ * Whether an element changes what its children read, so it renders its variant context's
185
+ * Provider (#50): it has variants of its own, or it sets `inherit={false}`. Any other element hands
186
+ * its children its parent's context as it is, so it renders none. Decided once, at setup, from the
187
+ * same props on a server and on the client, so the nesting never changes after mount.
188
+ */
189
+ export const changesContext = config => hasOwnVariants(config) || config.inherit === false;
190
+ /**
191
+ * The **Controls change** in effect for an element (#433): its own controls', else the one the context
192
+ * it inherits from is in, else none. Per mount, for every element (#460): guards, nothing built.
193
+ */
194
+ export const controlsChangeOf = (controls, inherited) => {
195
+ if (Predicate.isNotUndefined(controls)) return controls;
196
+ if (Predicate.isUndefined(inherited)) return constUndefined;
197
+ const change = inherited.change;
198
+ if (Predicate.isUndefined(change)) return constUndefined;
199
+ return change;
200
+ };
201
+ /** Whether an element is a **Variant child** (CONTEXT.md). */
202
+ export const isVariantChild = config => Predicate.isNotUndefined(config.variants) && !namesOwnVariants(config) && config.inherit !== false;
203
+ /** The context an element inherits names and its default transition from: its parent's, for a Variant child. */
204
+ export const inheritedContext = (config, parent) => {
205
+ // Per element at mount (#540): statements.
206
+ if (isVariantChild(config)) return parent;
207
+ return undefined;
208
+ };
209
+ /**
210
+ * The `initial` an element's Starting style resolves: its own, else the `initial` name (or `false`) of
211
+ * the context it inherits from (#50, #134). Read once, as every `initial` is.
212
+ */
213
+ export const initialOf = (config, inherited) => UndefinedOr.match(config.initial, {
214
+ onDefined: initial => initial,
215
+ onUndefined: () => UndefinedOr.match(inherited, {
216
+ onUndefined: constUndefined,
217
+ onDefined: context => context.initial
218
+ })
219
+ });
220
+ /** The `animate` an element starts at with `initial={false}`: its own, else the name its context hands down (#134). Read once, untracked. */
221
+ const animateOf = (config, inherited, untrack) => UndefinedOr.match(config.animate, {
222
+ onDefined: animate => animate,
223
+ onUndefined: () => UndefinedOr.match(inherited, {
224
+ onUndefined: constUndefined,
225
+ onDefined: context => untrack(context.variant)
226
+ })
227
+ });
228
+ /**
229
+ * Whether an element starts at its `animate`, with nothing animating at mount (#134, Motion's
230
+ * `isInitialAnimationBlocked`): its `initial` (own or inherited) is `false`, or it renders with an
231
+ * `<AnimatePresence initial={false}>`'s first render (`presenceBlocks`).
232
+ */
233
+ export const startsAtAnimate = (config, inherited, presenceBlocks) => presenceBlocks || initialOf(config, inherited) === false;
234
+ /**
235
+ * Whether an element's mount tells nothing (#448, Motion's `animation-state.ts`): it
236
+ * {@link startsAtAnimate}, or its `initial` (own, else inherited) is the same name, list or values map
237
+ * as its `animate` (own, else inherited). Its first Retarget, landing with nothing to animate, is told
238
+ * to no one. Read once, untracked.
239
+ */
240
+ export const startsQuiet = (config, inherited, presenceBlocks, untrack) => {
241
+ if (startsAtAnimate(config, inherited, presenceBlocks)) return true;
242
+ const initial = initialOf(config, inherited);
243
+ if (Predicate.isUndefined(initial)) return false;
244
+ // The same map is the same entry, as the same name or list is.
245
+ return sameLabels(initial, animateOf(config, inherited, untrack));
246
+ };
247
+ /**
248
+ * The values an element starts from, its Starting style's input (ADR-0003): its `initial` (own, else
249
+ * inherited, #50), or, when it {@link startsAtAnimate}, its `animate` (own, else inherited), as
250
+ * Motion's `initial={false}` (#134). Read once: an inherited name is read through `untrack`.
251
+ */
252
+ export const startingValuesOf = (config, inherited, presenceBlocks, untrack) => {
253
+ const atAnimate = startsAtAnimate(config, inherited, presenceBlocks);
254
+ const animate = animateOf(config, inherited, untrack);
255
+ const initial = initialOf(config, inherited);
256
+ // Per element at mount (#540): statements. Starting at `animate` resolves as `initial={false}`,
257
+ // and its first target is `animate`.
258
+ let from = initial;
259
+ let first = initial;
260
+ if (atAnimate) {
261
+ from = false;
262
+ first = animate;
263
+ }
264
+ const values = Style.resolveInitial({
265
+ initial: from,
266
+ animate,
267
+ // Dynamic variants resolved first (#277): dom's Starting style reads values maps only.
268
+ variants: startingVariantsOf(config.variants, config.custom)
269
+ });
270
+ // The first target's Transition end (#428, Motion's `makeLatestValues`): set at once, so a server
271
+ // renders it, and a hydration finds it.
272
+ if (Predicate.isUndefined(first) || first === false) return values;
273
+ const end = resolveTarget(first, config.variants, config.custom, NO_VARIANT_STATE).transitionEnd;
274
+ if (Predicate.isUndefined(end)) return values;
275
+ return {
276
+ ...values,
277
+ ...end
278
+ };
279
+ };
280
+ /**
281
+ * A name an element hands its children (Motion's `getCurrentTreeVariants`): `own` if it names its own
282
+ * variants, else `fromParent` unless it sets `inherit={false}`.
283
+ */
284
+ export const handedDown = (config, own, fromParent) => Bool.match(namesOwnVariants(config), {
285
+ onTrue: own,
286
+ onFalse: () => Bool.match(config.inherit === false, {
287
+ onTrue: constUndefined,
288
+ onFalse: fromParent
289
+ })
290
+ });
291
+ /** An element's own transition, else the one it inherits. */
292
+ export const ownOrInherited = (own, inherited) => UndefinedOr.match(own, {
293
+ onUndefined: () => UndefinedOr.map(inherited, context => context.transition()),
294
+ onDefined: identity
295
+ });
296
+ /** The stagger config an element's `transition` gives its Variant children. */
297
+ export const staggerOf = transition => UndefinedOr.match(transition, {
298
+ onUndefined: () => staggerWith({}),
299
+ onDefined: staggerWith
300
+ });
301
+ /** A context's stagger config for one of its names (#297): its `staggerFor`'s, else its whole orchestration's. */
302
+ export const staggerOfName = (context, name) => {
303
+ const of = context.staggerFor;
304
+ if (Predicate.isUndefined(of)) return context.stagger();
305
+ return of(name);
306
+ };
307
+ /** Whether a context lets a Variant child's keys of a list's name start (#297's PR 2): its `mayStartFor`, else always. */
308
+ export const mayStartOf = (context, name) => {
309
+ const of = context.mayStartFor;
310
+ if (Predicate.isUndefined(of)) return true;
311
+ return of(name);
312
+ };
313
+ /** A child's place in a stagger, turned by its `staggerDirection`: `-1` counts from the last. */
314
+ export const directed = (index, total, direction) => {
315
+ if (direction === -1) return total - 1 - index;
316
+ return index;
317
+ };
318
+ /**
319
+ * A child's delay in a stagger (ADR-0007): its `delayChildren` plus its place from the origin, turned
320
+ * by its `staggerDirection`. A function `delayChildren` (#436, Motion's `calcChildStagger`) decides it
321
+ * whole, from the child's index and the count. Every stagger, a Variant child's, a presence's exit's
322
+ * and a server's Appear timing, is placed by it.
323
+ */
324
+ export const childDelayOf = (s, index, total) => {
325
+ if (Predicate.isFunction(s.delayChildren)) return s.delayChildren(index, total);
326
+ return s.delayChildren + Stagger.make(s.amount, {
327
+ from: s.from
328
+ })(directed(index, total, s.direction), total);
329
+ };
330
+ /** A {@link NameConfig} from the transition a name orchestrates on. */
331
+ export const nameConfigOf = transition => ({
332
+ stagger: staggerOf(transition),
333
+ when: UndefinedOr.map(transition, t => t.when)
334
+ });
335
+ /** The stagger config of a transition's stagger keys, each defaulted. */
336
+ export const staggerWith = ({
337
+ staggerChildren = 0,
338
+ delayChildren = 0,
339
+ from = "first",
340
+ staggerDirection = 1
341
+ }) => ({
342
+ amount: staggerChildren,
343
+ delayChildren,
344
+ from,
345
+ direction: staggerDirection
346
+ });
347
+ /**
348
+ * Two stagger configs the same field by field: a memo of one holds while its orchestration changes to
349
+ * a transition with the same stagger (#460: a Variant child with no `press` variant, its parent
350
+ * pressed, made a new, equal config at each press and release, `UNSTABLE_MEMO_OUTPUT`).
351
+ */
352
+ export const sameStagger = (a, b) => a.amount === b.amount && a.delayChildren === b.delayChildren && a.from === b.from && a.direction === b.direction;
353
+ /** What an element provides when it has no variants of its own: its parent's context, unless `inherit={false}`. */
354
+ export const passedThrough = (config, parent) => Bool.match(config.inherit === false, {
355
+ onTrue: constUndefined,
356
+ onFalse: () => parent
357
+ });
358
+ /** A registration that does nothing: a server render has no orchestration to join. */
359
+ export const INERT_REGISTRATION = Object.freeze({
360
+ index: () => 0,
361
+ total: () => 1,
362
+ setSettled: () => {},
363
+ dispose: () => {}
364
+ });
365
+ /**
366
+ * {@link createVariantNode} during a server render: the same names, read once, and orchestration
367
+ * that does nothing. No runtime, no signals.
368
+ */
369
+ export const serverVariantNode = (config, parent) => {
370
+ const inherited = inheritedContext(config, parent);
371
+ const own = () => {
372
+ const variant = handedDown(config, () => nameOf(config.animate), () => UndefinedOr.map(parent, p => p.variant()));
373
+ const transition = ownOrInherited(config.transition, inherited);
374
+ const stagger = staggerOf(config.transition);
375
+ return {
376
+ variant: () => variant,
377
+ initial: handedDown(config, () => initialNameOf(config.initial), () => UndefinedOr.map(parent, p => p.initial)),
378
+ transition: () => transition,
379
+ register: () => INERT_REGISTRATION,
380
+ stagger: () => stagger,
381
+ when: () => UndefinedOr.map(config.transition, t => t.when),
382
+ childrenMayStart: constTrue,
383
+ allChildrenSettled: constTrue
384
+ };
385
+ };
386
+ return {
387
+ provided: Bool.match(hasOwnVariants(config), {
388
+ onTrue: own,
389
+ onFalse: () => passedThrough(config, parent)
390
+ }),
391
+ inherited
392
+ };
393
+ };
394
+ //# sourceMappingURL=variant-tree.js.map