@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,142 @@
1
+ var _m$ = Symbol();
2
+ var _d$ = {
3
+ get() {
4
+ const Tracker = this[_m$];
5
+ return Tracker({});
6
+ },
7
+ enumerable: true,
8
+ configurable: true
9
+ };
10
+ function _P$(_p, _p2) {
11
+ this[_m$] = _p;
12
+ this.value = _p2;
13
+ Object.defineProperty(this, "children", _d$);
14
+ }
15
+ _P$.prototype = Object.prototype;
16
+ var _d$2 = {
17
+ get() {
18
+ const Tracker = this[_m$];
19
+ return Tracker({});
20
+ },
21
+ enumerable: true,
22
+ configurable: true
23
+ };
24
+ function _P$2(_p3, _p4) {
25
+ this[_m$] = _p3;
26
+ this.value = _p4;
27
+ Object.defineProperty(this, "children", _d$2);
28
+ }
29
+ _P$2.prototype = Object.prototype;
30
+ /**
31
+ * `<AnimatePresence>` on Solid 2 (#209, ADR-0007): exit-before-unmount for its children (many since
32
+ * #277, ADR-0048), and `mode="wait"`, as the Solid 1 binding's. Its work (each retained node, its parent-driven exit,
33
+ * the twins it hands back) is Solid-free, in `presence-controller.ts`. What's Solid 2's:
34
+ *
35
+ * - **The children are resolved with `children()`** under the presence's context, so each child's
36
+ * ward registers its exit record with it.
37
+ * - **An effect tells the controller which elements are present,** in its apply: after Solid 2's
38
+ * flush has applied the change, the leaving nodes removed. The controller puts them back before
39
+ * the flush ends, so no paint shows them gone.
40
+ * - **Once settled** (`onSettledClientOnly`), the first render has ended, for `initial={false}` (#134).
41
+ *
42
+ * @module
43
+ */
44
+ import { isServer } from "@solidjs/web";
45
+ import * as Bool from "effect/Boolean";
46
+ import { constUndefined } from "effect/Function";
47
+ import * as Option from "effect/Option";
48
+ import * as UndefinedOr from "effect/UndefinedOr";
49
+ import { children, createContext, createEffect, createMemo, createSignal, onCleanup, untrack, useContext } from "solid-js";
50
+ import { makePresence, propagateTo } from "../../presence-controller.js";
51
+ import { useBuiltProjection, useWardicDefaultTransition, useWardicPositionalKeys, useWardicReducedMotion, useWardicRenderer, useWardicRuntime } from "./provider.js";
52
+ import { CLIENT_ONLY, onSettledClientOnly } from "./solid-reactivity.js";
53
+ import { hasRef, makePresenceHandle, serverPresenceHandle } from "./presence-handle.js";
54
+ /**
55
+ * The nearest `<AnimatePresence>`'s registrar, `null` outside one: Solid 2 takes an `undefined`
56
+ * default for none and then throws in `useContext`.
57
+ */
58
+ export const PresenceContext = createContext(null);
59
+ /** The nearest `<AnimatePresence>`'s registrar, `undefined` outside one. */
60
+ export const usePresenceContext = () => Option.getOrUndefined(Option.fromNullishOr(useContext(PresenceContext)));
61
+ /**
62
+ * Wraps its children (a conditional one, `<Show>`, or a `<For>`'s) and animates each one's exit
63
+ * before it's removed: each that leaves exits in its place, and one that comes back mid-exit
64
+ * is a new node, entering beside the leaver, or, with the leaver's `key` on its Wardic element,
65
+ * taking over from where the leaver is.
66
+ * A leaving child runs its own `exit` if it's a `wardic.*` element or an element with a ward on
67
+ * it, and the exits of the Wardic elements inside it either way, staying until they've ended; a
68
+ * plain child with nothing inside it to wait for goes at once. Inside a `<WardicProvider>`.
69
+ */
70
+ export function AnimatePresence(props) {
71
+ // A server render has no exit to drive: the same boundaries, a context that registers nothing.
72
+ // eslint-disable-next-line solid/components-return-once -- `isServer` is a constant: the component takes one path for its life
73
+ if (isServer) return serverPresence(props);
74
+ // Its own handle, made only when `ref` is given (#257): its exits are told to it, and it's handed to `ref`.
75
+ const ref = untrack(() => props.ref);
76
+ const own = Bool.match(hasRef(ref), {
77
+ onTrue: makePresenceHandle,
78
+ onFalse: constUndefined
79
+ });
80
+ // `mode="wait"`'s held children may go on the page (#277): the children are rendered again.
81
+ const [released, release] = createSignal(undefined, {
82
+ equals: false
83
+ });
84
+ // The presence above, if any (#277's PR 5c): read before this one provides its own.
85
+ const parent = usePresenceContext();
86
+ const presence = makePresence({
87
+ runtime: useWardicRuntime(),
88
+ renderer: useWardicRenderer(),
89
+ projection: useBuiltProjection(),
90
+ reducedMotion: useWardicReducedMotion(),
91
+ positionalKeys: useWardicPositionalKeys(),
92
+ defaultTransition: useWardicDefaultTransition(),
93
+ initial: () => untrack(() => props.initial),
94
+ events: UndefinedOr.map(own, handle => handle.events),
95
+ mode: () => props.mode,
96
+ custom: () => untrack(() => props.custom),
97
+ anchorX: () => untrack(() => props.anchorX),
98
+ anchorY: () => untrack(() => props.anchorY),
99
+ presenceAffectsLayout: () => untrack(() => props.presenceAffectsLayout),
100
+ release: () => release(undefined)
101
+ });
102
+ UndefinedOr.map(own, handle => ref(handle.handle));
103
+ onSettledClientOnly(presence.mounted);
104
+ // `propagate` (#277's PR 5c): with a presence above, its teardown waits to hear whether this one's
105
+ // child left. Read before this presence provides its own context.
106
+ onCleanup(propagateTo(parent, untrack(() => props.propagate) === true, presence));
107
+ // Resolved under the context, so the child's ward sees it.
108
+ const Tracker = () => {
109
+ const resolved = children(() => props.children);
110
+ // What goes on the page (#277): every child, but under `mode="wait"` one entering is held off it
111
+ // while a child exits. The controller is told what went on.
112
+ const shown = createMemo(() => {
113
+ released();
114
+ return presence.shown(resolved());
115
+ }, CLIENT_ONLY);
116
+ createEffect(shown, current => {
117
+ presence.present(current);
118
+ }, CLIENT_ONLY);
119
+ return shown;
120
+ };
121
+ // Its `custom`, reactive, for `usePresenceData` (#277's PR 5b).
122
+ const context = {
123
+ ...presence.context,
124
+ data: () => props.custom
125
+ };
126
+ return PresenceContext(new _P$(Tracker, context));
127
+ }
128
+ /** {@link AnimatePresence} during a server render: the client's boundaries, nothing to track. */
129
+ const serverPresence = props => {
130
+ // A `ref` is handed the server's handle, on which nothing exits (#257).
131
+ const ref = untrack(() => props.ref);
132
+ if (hasRef(ref)) ref(serverPresenceHandle());
133
+ // A server renders once: every child is set up with the first render (#134).
134
+ const context = {
135
+ register: () => () => {},
136
+ blocksInitial: () => untrack(() => props.initial) === false,
137
+ data: () => props.custom
138
+ };
139
+ const Tracker = () => children(() => props.children);
140
+ return PresenceContext(new _P$2(Tracker, context));
141
+ };
142
+ //# sourceMappingURL=presence.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"presence.js","names":["Tracker","enumerable","configurable","_P$","_p","_p2","_m$","value","Object","defineProperty","_d$","prototype","_d$2","get","_P$2","_p3","_p4","isServer","Bool","constUndefined","Option","UndefinedOr","children","createContext","createEffect","createMemo","createSignal","onCleanup","untrack","useContext","makePresence","propagateTo","useBuiltProjection","useWardicDefaultTransition","useWardicPositionalKeys","useWardicReducedMotion","useWardicRenderer","useWardicRuntime","CLIENT_ONLY","onSettledClientOnly","hasRef","makePresenceHandle","serverPresenceHandle","PresenceContext","usePresenceContext","getOrUndefined","fromNullishOr","AnimatePresence","props","serverPresence","ref","own","match","onTrue","onFalse","released","release","undefined","equals","parent","presence","runtime","renderer","projection","reducedMotion","positionalKeys","defaultTransition","initial","events","map","handle","mode","custom","anchorX","anchorY","presenceAffectsLayout","mounted","propagate","resolved","shown","current","present","context","data","register","blocksInitial"],"sources":["../../../../src/unstable/v2/presence.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,29 @@
1
+ import { press } from "../../features/press.js";
2
+ import { PressGesture } from "../../features/keys.js";
3
+ import { serviceOf } from "../../gesture-features.js";
4
+ import { useBrought } from "./provider.js";
5
+ import { watchSensorOf } from "./sensors.js";
6
+ /** What it brings (ADR-0067 decision 12): its gesture's Feature, whatever its section has (#511). */
7
+ const PRESS = [press];
8
+ /**
9
+ * `true` while the element it's given to as a `ref` is pressed, by a pointer held down on it or by
10
+ * Enter or Space while it has focus, `false` once it's released or the press is cancelled. An element
11
+ * that takes no focus of itself is given `tabindex="0"`, so a keyboard can press it.
12
+ *
13
+ * @example
14
+ * const pressed = createPress()
15
+ * <button ref={pressed}>{pressed() ? "Holding" : "Press and hold"}</button>
16
+ * @see https://wardic.dev/reference/solid/gestures/create-press
17
+ */
18
+ // The core press watch; a Keyboard press (#427).
19
+ export const createPress = () => {
20
+ const services = useBrought(PRESS);
21
+ return watchSensorOf((target, {
22
+ on,
23
+ onDefect
24
+ }) => serviceOf(services(), PressGesture).watch(target, {
25
+ on: press => on(press.phase === "start"),
26
+ onDefect
27
+ }), false);
28
+ };
29
+ //# sourceMappingURL=press-sensor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"press-sensor.js","names":["press","PressGesture","serviceOf","useBrought","watchSensorOf","PRESS","createPress","services","target","on","onDefect","watch","phase"],"sources":["../../../../src/unstable/v2/press-sensor.ts"],"sourcesContent":[null],"mappings":"AAOA,SAASA,KAAK,QAAQ,yBAAyB;AAC/C,SAASC,YAAY,QAAQ,wBAAwB;AACrD,SAASC,SAAS,QAAQ,2BAA2B;AACrD,SAASC,UAAU,QAAQ,eAAgB;AAC3C,SAAsBC,aAAa,QAAQ,cAAc;AAEzD;AACA,MAAMC,KAAK,GAA2B,CAACL,KAAK,CAAC;AAE7C;;;;;;;;;;AAUA;AACA,OAAO,MAAMM,WAAW,GAAGA,CAAA,KAAsB;EAC/C,MAAMC,QAAQ,GAAGJ,UAAU,CAACE,KAAK,CAAC;EAClC,OAAOD,aAAa,CAAU,CAACI,MAAM,EAAE;IAAEC,EAAE;IAAEC;EAAQ,CAAE,KAAKR,SAAS,CAACK,QAAQ,EAAE,EAAEN,YAAY,CAAC,CAACU,KAAK,CAACH,MAAM,EAAE;IAAEC,EAAE,EAAGT,KAAK,IAAKS,EAAE,CAACT,KAAK,CAACY,KAAK,KAAK,OAAO,CAAC;IAAEF;EAAQ,CAAE,CAAC,EAAE,KAAK,CAAC;AACjL,CAAC","ignoreList":[]}
@@ -0,0 +1,475 @@
1
+ var _m$ = Symbol();
2
+ var _d$ = {
3
+ get() {
4
+ const props = this[_m$];
5
+ return props.children;
6
+ },
7
+ enumerable: true,
8
+ configurable: true
9
+ };
10
+ function _P$(_p, _p2) {
11
+ this[_m$] = _p;
12
+ this.value = _p2;
13
+ Object.defineProperty(this, "children", _d$);
14
+ }
15
+ _P$.prototype = Object.prototype;
16
+ var _d$2 = {
17
+ get() {
18
+ const props = this[_m$];
19
+ return props.children;
20
+ },
21
+ enumerable: true,
22
+ configurable: true
23
+ };
24
+ function _P$2(_p3, _p4) {
25
+ this[_m$] = _p3;
26
+ this.value = _p4;
27
+ Object.defineProperty(this, "children", _d$2);
28
+ }
29
+ _P$2.prototype = Object.prototype;
30
+ /**
31
+ * `WardicProvider` for Solid 2 (`@wardic/solid/unstable/v2`, #209): one Effect runtime for a
32
+ * subtree, as the Solid 1 binding's provider (`../../provider.tsx`), over the same runtime and
33
+ * services (`../../runtime.ts`). What Solid 2 changes:
34
+ *
35
+ * - **No `batch`.** Solid 2 batches every update on a microtask, and a read lags its setter until
36
+ * then. The flush gate needs a frame's Starting-style switches to have reached the elements
37
+ * before it commits (ADR-0034), so it gets `flush(apply)`: the switches set their signals in a
38
+ * synchronous flush scope, drained as it returns, with no microtask scheduled for them (#257
39
+ * item 12). The gate runs them from its frame flush, outside any owner, where Solid 2 lets a
40
+ * signal be written.
41
+ * - **A context value is its own provider** (`<WardicContext value={…}>`).
42
+ * - **`onSettled`** opens the Hydration hold where Solid 1 had `onMount` (`onSettledClientOnly`: a
43
+ * server starts nothing, so it takes no hydration id).
44
+ * - **Appear animations' `<style>` goes through the head registry** (`useHead`, #209 PR 4a) where
45
+ * Solid 1 had `useAssets`. Registered on the server only, in its function form, which the server
46
+ * reads when it writes the head, once the shell has rendered: every element is entered then, with
47
+ * its timing. A client never registers it, and leaves the server's in the head. A late chunk's
48
+ * elements register their own, which streams with the chunk as a head patch (`ward.tsx`).
49
+ *
50
+ * @module
51
+ */
52
+ import * as Bool from "effect/Boolean";
53
+ import * as Effect from "effect/Effect";
54
+ import * as Fiber from "effect/Fiber";
55
+ import { constUndefined, identity } from "effect/Function";
56
+ import * as Latch from "effect/Latch";
57
+ import * as Option from "effect/Option";
58
+ import * as Predicate from "effect/Predicate";
59
+ import * as UndefinedOr from "effect/UndefinedOr";
60
+ import { isServer, useHead } from "@solidjs/web";
61
+ import { createContext, DEV, flush, isHydrating, onCleanup, onSettled, runWithOwner, untrack, useContext } from "solid-js";
62
+ import * as Context from "effect/Context";
63
+ import * as Report from "@wardic/dom/Report";
64
+ import { ROOT, strictMessage } from "../../feature.js";
65
+ import { FeatureSectionContext, sectionUnder, useLazySection } from "./feature-section.js";
66
+ import { explainerOf, serverAppear } from "../../appear.js";
67
+ import { animateLayoutOf, clientContext, fromContext, interrupted, prepareIdle, reducedMotionSettingWith, reducedMotionWith, reported, serverContext, whenIdle } from "../../runtime.js";
68
+ import { onSettledClientOnly } from "./solid-reactivity.js";
69
+ import { useWardicConfig } from "./wardic-config.js";
70
+ import { skipAnimationsOf } from "../../wardic-config-value.js";
71
+ import { instantLayoutOf, instantTransitionOf, resetOf } from "../../instant.js";
72
+ /** A frame's Starting-style switches, applied and drained before the gate commits (ADR-0034): Solid 2's `batch`. */
73
+ const applyAndFlush = apply => {
74
+ flush(apply);
75
+ };
76
+ /**
77
+ * The runtime and services a provider carries down its subtree; `null` outside one. Solid 2 takes
78
+ * an `undefined` default for none, and its `useContext` then throws its own error outside a
79
+ * provider: `null` keeps Wardic's, which names the hook.
80
+ */
81
+ const WardicContext = createContext(null);
82
+ /** The nearest provider's value, `undefined` outside one. */
83
+ const contextValue = () => Option.getOrUndefined(Option.fromNullishOr(useContext(WardicContext)));
84
+ /**
85
+ * Puts Wardic in your app: every Wardic element sits under one. Give it the Environment, `DomLive` in
86
+ * a browser, and the Features your elements use.
87
+ *
88
+ * @example
89
+ * <WardicProvider env={DomLive} features={[domAnimation]}>
90
+ * <App />
91
+ * </WardicProvider>
92
+ * @see https://wardic.dev/reference/solid/provider/wardic-provider
93
+ */
94
+ // As the Solid 1 binding's: one runtime made once from `env` (#51: built on first need), disposed on
95
+ // unmount, inert during a server render (ADR-0021). reducedMotion is read as each animation starts
96
+ // (ADR-0029), a WardicConfig's over it (#434); appear (ADR-0044, #585) on the server once.
97
+ export function WardicProvider(props) {
98
+ const value = Bool.match(isServer, {
99
+ onTrue: () => serverContext(props.env, serverAppearOf(props.appear, props.reducedMotion, props.nonce), () => untrack(() => props.reducedMotion)),
100
+ onFalse: () => clientContext(props.env, applyAndFlush, () => untrack(() => props.reducedMotion),
101
+ // eslint-disable-next-line solid/reactivity -- the provider's setting, tracked too: `createReducedMotionConfig` reads it where it tracks (#584)
102
+ () => props.reducedMotion, untrack(() => props.scaleCorrectors))
103
+ });
104
+ // Disposing the runtime closes its Scope: the projection system, then the gate (#132). Its
105
+ // disposal rejects first, ending every `animateLayout` still waiting: their flights won't end (#257).
106
+ let abort = constUndefined;
107
+ const disposed = new Promise((_, reject) => {
108
+ abort = reject;
109
+ });
110
+ // Each waiting call races it and handles it; with none, it's handled here.
111
+ disposed.catch(constUndefined);
112
+ disposals.set(value, disposed);
113
+ onCleanup(() => {
114
+ abort(new DOMException("The WardicProvider was disposed before its layout animations ended.", "AbortError"));
115
+ // Its Features end first, then the runtime they stand on (#511).
116
+ void value.features.dispose();
117
+ });
118
+ const section = sectionOf(value, ROOT, props);
119
+ sections.set(value, section);
120
+ // Built at the browser's idle time, after this render (#535): what a first element would build, so an
121
+ // element mounted after pays none of it. One mounted before then builds it itself, as before. Asked
122
+ // for here, with no computation of the provider's own (an `onSettled`'s would shift a hydration's
123
+ // owners from the server's), and on the client alone.
124
+ if (Bool.not(isServer)) onCleanup(whenIdle(() => prepareIdle(value, section)));
125
+ return WardicContext(new _P$(props, value));
126
+ }
127
+ /**
128
+ * Each provider's own section (#511): its Features, the first section of its tree. Kept beside its
129
+ * context value, not in a context of its own, so a provider renders one context, as before.
130
+ */
131
+ // Module state (#460, Q7): each provider's root section, held weakly by its context value.
132
+ const sections = new WeakMap();
133
+ /**
134
+ * The section an element is in (#511): the nearest `LazyWardic`'s, else its provider's own; outside a
135
+ * provider, none. Internal.
136
+ */
137
+ export function useFeatureSection() {
138
+ return UndefinedOr.match(useLazySection(), {
139
+ onDefined: identity,
140
+ onUndefined: () => UndefinedOr.match(contextValue(), {
141
+ onUndefined: () => ROOT,
142
+ onDefined: value => UndefinedOr.getOrThrow(sections.get(value))
143
+ })
144
+ });
145
+ }
146
+ /**
147
+ * The section `props` make under `parent` (#511), on `value`'s registry: a failed lazy load reported
148
+ * as a fiber's failure is (ADR-0030, decision 4).
149
+ */
150
+ const sectionOf = (value, parent, props) => sectionUnder(parent, value.features, untrack(() => props.features), untrack(() => props.strict) === true, cause => {
151
+ value.runtime.runFork(Report.failure("wardic.features: a lazy load of Features failed", cause));
152
+ });
153
+ /**
154
+ * Gives the `w.*` elements in its section more Features, beside their provider's: at once
155
+ * (`features={[drag]}`), or loaded with a function, which runs as the section renders, so a page loads
156
+ * a Feature only when it needs it. Motion's `LazyMotion`.
157
+ *
158
+ * @example
159
+ * <LazyWardic features={() => import("./drag-feature").then((m) => m.drag)}>
160
+ * <w.div drag />
161
+ * </LazyWardic>
162
+ * @see https://wardic.dev/reference/solid/provider/lazy-wardic
163
+ */
164
+ // #511, ADR-0067, as the Solid 1 binding's: given at once, built at first need; loaded lazily, each
165
+ // Feature takes effect as it arrives (#551, #582). A failed load is reported once; a server loads nothing.
166
+ export function LazyWardic(props) {
167
+ const section = fromContext(contextValue(), "LazyWardic", value => sectionOf(value, useFeatureSection(), props));
168
+ return FeatureSectionContext(new _P$2(props, section));
169
+ }
170
+ /**
171
+ * The Features an element has (#511): its section's, and those it brings, a Complete element's every
172
+ * one (`brings`), built at once. A Complete element under a `strict` section is an error in
173
+ * development. Internal.
174
+ */
175
+ export function useElementFeatures(brings, complete) {
176
+ const section = useFeatureSection();
177
+ if (DEV && complete && section.strict) throw new Error(strictMessage("wardic.*, wardic.create, ward()", "w.*, w.create, w.ward()"));
178
+ if (Predicate.isUndefined(brings)) return section;
179
+ const registry = useFeatureRegistry();
180
+ // A Complete element has every Feature, whatever its section has: one section per provider.
181
+ if (complete) return registry.section(brings);
182
+ const own = registry.build(brings);
183
+ return {
184
+ services: () => Context.merge(section.services(), own),
185
+ pending: section.pending,
186
+ strict: section.strict
187
+ };
188
+ }
189
+ /** The provider's Features (#511). Internal. */
190
+ export function useFeatureRegistry() {
191
+ return fromContext(contextValue(), "useFeatureRegistry", value => value.features);
192
+ }
193
+ /**
194
+ * The services of `features`, which a hook or component brings (#511, decision 12) whatever its
195
+ * section has: built the first time they're read, on the client. `features` is a list the caller keeps,
196
+ * so its provider joins it once. Internal.
197
+ */
198
+ export function useBrought(features) {
199
+ const registry = useFeatureRegistry();
200
+ return () => registry.build(features);
201
+ }
202
+ /** Each client provider's disposal (#257): a promise that rejects with an `AbortError` then. */
203
+ // Module state (#460, Q7): each provider's disposal, held weakly by its context value.
204
+ const disposals = new WeakMap();
205
+ /**
206
+ * A server render's Appear animations (#48, ADR-0044), with the head's `<style>` registered for
207
+ * them, or `undefined` with `appear={false}`. Each element takes a slot as it renders; the head
208
+ * gets every rule and timing once the shell has rendered.
209
+ */
210
+ const serverAppearOf = (appear, reducedMotion, nonce) => {
211
+ if (appear === false) return undefined;
212
+ const state = serverAppear(UndefinedOr.match(reducedMotion, {
213
+ onUndefined: () => "user",
214
+ onDefined: identity
215
+ }), explainerOf(appear), nonce);
216
+ useHead(appearStyle(() => state.css(), nonce));
217
+ return state;
218
+ };
219
+ /**
220
+ * The head tags for an Appear `<style>` whose CSS `css` gives, in `useHead`'s function form: read
221
+ * when the server writes the head, and once, so a second read can't find it written already. No
222
+ * tag when there's none to write. With a `nonce` (#618, P1), the tag carries it. Internal: the
223
+ * provider's, and a late chunk's (`ward.tsx`).
224
+ */
225
+ export const appearStyle = (css, nonce) => {
226
+ let tags;
227
+ return () => {
228
+ if (Predicate.isUndefined(tags)) tags = styleTags(css(), nonce);
229
+ return tags;
230
+ };
231
+ };
232
+ const styleTags = (css, nonce) => {
233
+ if (css === "") return [];
234
+ if (Predicate.isUndefined(nonce)) return [{
235
+ tag: "style",
236
+ props: {
237
+ "data-wardic-appear": "",
238
+ children: css
239
+ }
240
+ }];
241
+ return [{
242
+ tag: "style",
243
+ props: {
244
+ "data-wardic-appear": "",
245
+ nonce,
246
+ children: css
247
+ }
248
+ }];
249
+ };
250
+ /** A server render's Appear animations; `undefined` on the client, or with `appear={false}`. Internal. */
251
+ export function useWardicAppear() {
252
+ return UndefinedOr.match(contextValue(), {
253
+ onUndefined: constUndefined,
254
+ onDefined: value => value.appear
255
+ });
256
+ }
257
+ /**
258
+ * The nearest `WardicProvider`'s Effect runtime, for running Effect code on Wardic's services: its
259
+ * clock, frame loop, renderer, probe and the rest. Throws outside a provider. During a server render
260
+ * it isn't built: hold it, but run on it only once the element has mounted.
261
+ *
262
+ * @example
263
+ * const runtime = useWardicRuntime()
264
+ * onSettled(() => {
265
+ * runtime.runFork(Effect.log("mounted"))
266
+ * })
267
+ * @see https://wardic.dev/reference/solid/advanced/runtime
268
+ */
269
+ // ADR-0021: a server builds no runtime, and DomLive refuses with its client-only error.
270
+ export function useWardicRuntime() {
271
+ return fromContext(contextValue(), "useWardicRuntime", value => value.runtime);
272
+ }
273
+ /**
274
+ * The nearest `WardicProvider`'s flush gate: what a binding registers its elements with, and writes
275
+ * their values into, committed once a frame. For building an element of your own on Wardic's
276
+ * rendering. Throws outside a provider; during a server render it's an inert gate that does nothing.
277
+ *
278
+ * @see https://wardic.dev/reference/solid/advanced/flush-gate
279
+ */
280
+ // ADR-0006; inert on a server (ADR-0021, decision 9).
281
+ export function useWardicGate() {
282
+ return fromContext(contextValue(), "useWardicGate", value => value.gate);
283
+ }
284
+ /** The Environment's Renderer (ADR-0003), read once by the provider: what an element and a presence project and commit through. Internal. */
285
+ export function useWardicRenderer() {
286
+ return fromContext(contextValue(), "useWardicRenderer", value => value.renderer);
287
+ }
288
+ /** The Environment's Positional keys (ADR-0036): which keys reduced motion Snaps. Internal. */
289
+ export function useWardicPositionalKeys() {
290
+ return fromContext(contextValue(), "useWardicPositionalKeys", value => value.positionalKeys);
291
+ }
292
+ /** The Environment's Default transition (ADR-0051): what a key with no transition of its own runs on. Internal. */
293
+ export function useWardicDefaultTransition() {
294
+ return fromContext(contextValue(), "useWardicDefaultTransition", value => value.defaultTransition);
295
+ }
296
+ /**
297
+ * Whether reduced motion applies now (ADR-0029): the nearest `WardicConfig`'s `reducedMotion` (#434),
298
+ * else the provider's, and the user's preference; always `false` during a server render. Internal.
299
+ */
300
+ export function useWardicReducedMotion() {
301
+ const config = useWardicConfig();
302
+ return fromContext(contextValue(), "useWardicReducedMotion", value => reducedMotionWith(value, config));
303
+ }
304
+ /**
305
+ * Whether the elements here skip their animations now (#468): the nearest `WardicConfig`'s
306
+ * `skipAnimations`, or the provider's Instant change while one runs (#443). Read when each starts.
307
+ * Internal.
308
+ */
309
+ export function useWardicSkipAnimations() {
310
+ const config = skipAnimationsOf(useWardicConfig());
311
+ const value = contextValue();
312
+ if (Predicate.isUndefined(value)) return config;
313
+ const instant = value.instant;
314
+ return () => Bool.or(instant.active(), config());
315
+ }
316
+ /**
317
+ * Makes a layout change land at once: `start(fn)` runs `fn`, and every layout element goes straight
318
+ * to its new box, a running layout animation ending there too. The change's other animations run as
319
+ * ever. `start()` with no function does the same for a change made later in the task. Motion's
320
+ * `useInstantLayoutTransition`. On a server it runs `fn`.
321
+ *
322
+ * @example
323
+ * const start = createInstantLayoutTransition()
324
+ * start(() => setOrder(sorted()))
325
+ * @see https://wardic.dev/reference/solid/layout/create-instant-layout-transition
326
+ */
327
+ // #443, as Solid 1's: an Instant change of the layout, the projection system's `instant`.
328
+ export function createInstantLayoutTransition() {
329
+ return fromContext(contextValue(), "createInstantLayoutTransition", value => instantLayoutOf(() => value.projection));
330
+ }
331
+ /**
332
+ * Makes a change land at once, with no animation: `start(fn)` runs `fn`, and its layout change and
333
+ * every animation that starts until two frames after the call land where they're going. A later call
334
+ * extends it, and `start.end()` ends it now. For a change that shouldn't animate: a reset, a jump to
335
+ * a route. Motion's `useInstantTransition`.
336
+ *
337
+ * @example
338
+ * const start = createInstantTransition()
339
+ * <button onClick={() => start(() => setOpen(all))}>Open all</button>
340
+ * @see https://wardic.dev/reference/solid/layout/create-instant-transition
341
+ */
342
+ // #443, as Solid 1's: an Instant change, each animation it covers a Skipped animation (#468).
343
+ export function createInstantTransition() {
344
+ return fromContext(contextValue(), "createInstantTransition", value => instantTransitionOf(() => value.projection, () => value.instant));
345
+ }
346
+ /**
347
+ * Starts layout animations afresh: `reset()` ends every running layout animation where the layout puts
348
+ * its element, lets go of every leaving `layoutId` element, and has the next measure take every box as
349
+ * it is, animating none. For a change that replaces the page wholesale. Motion's `useResetProjection`.
350
+ * On a server it does nothing.
351
+ *
352
+ * @example
353
+ * const reset = createResetProjection()
354
+ * const openWorkspace = (id: string) => {
355
+ * reset()
356
+ * setWorkspace(id)
357
+ * }
358
+ * @see https://wardic.dev/reference/solid/layout/create-reset-projection
359
+ */
360
+ // #443, as Solid 1's: a Projection reset, the projection system's `reset`: leavers and Switch seeds dropped.
361
+ export function createResetProjection() {
362
+ return fromContext(contextValue(), "createResetProjection", value => resetOf(() => value.projection));
363
+ }
364
+ /**
365
+ * The reduced-motion setting that applies here (#443): the nearest `WardicConfig`'s `reducedMotion`,
366
+ * else the provider's, else `"user"`, each tracked (#584). Internal.
367
+ */
368
+ export function useWardicReducedMotionSetting() {
369
+ const config = useWardicConfig();
370
+ return fromContext(contextValue(), "useWardicReducedMotionSetting", value => reducedMotionSettingWith(value, config));
371
+ }
372
+ /**
373
+ * `read` of the nearest provider's context value, named `name` in the error outside one: for a hook in
374
+ * a module of its own (#548), such as `useWardicProjection`, which brings `layout`.
375
+ */
376
+ export const fromWardicContext = (name, read) => fromContext(contextValue(), name, read);
377
+ /**
378
+ * The provider's projection system once its `layout` Feature is built (#511), read as it's needed;
379
+ * `undefined` until then, and during a server render. For what brings no `layout` and works with the
380
+ * layout elements that are there: an element registering its values, a presence. Internal.
381
+ */
382
+ export function useBuiltProjection() {
383
+ return fromContext(contextValue(), "useBuiltProjection", value => () => value.projection);
384
+ }
385
+ /**
386
+ * Animates a layout change you make: `animateLayout(fn)` runs `fn`, and every layout element animates
387
+ * from where it was at the call to where the change puts it. For a change nothing else sees, such as a
388
+ * keyed `<For>` reordered or a plain element's class changed. A write Solid holds, inside an `action`
389
+ * or beside a write that starts async work, animates once it lands. Its promise resolves with what
390
+ * `fn` returns once the animations it started have ended. Only what `fn` changes synchronously
391
+ * animates. Throws outside a `WardicProvider`.
392
+ *
393
+ * @example
394
+ * const animateLayout = useAnimateLayout()
395
+ * const shuffle = () => animateLayout(() => setItems(shuffled(items())))
396
+ * @see https://wardic.dev/reference/solid/layout/use-animate-layout
397
+ */
398
+ export function useAnimateLayout() {
399
+ const value = contextValue();
400
+ const declare = animateLayoutOf(value);
401
+ const disposed = UndefinedOr.match(value, {
402
+ onUndefined: constUndefined,
403
+ onDefined: v => disposals.get(v)
404
+ });
405
+ return fn => {
406
+ // A server render has nothing to animate, and never settles.
407
+ if (isServer) return Promise.resolve(declare(fn));
408
+ let settle = constUndefined;
409
+ const settled = new Promise(resolve => {
410
+ settle = resolve;
411
+ });
412
+ // A throw from `fn` is thrown here: `settled` is just dropped, unsettled.
413
+ const result = declare(fn);
414
+ // Once what the call is part of has settled, a pass from the boxes the last one kept: it folds into
415
+ // the call's own when nothing was held, and measures a write Solid 2 held (inside an action, or in
416
+ // the frame of a write that started async work) once it lands. The promise waits for that pass's
417
+ // animations (#618, decision 13). Unowned, so it runs once whatever the caller's owner does: an
418
+ // owner disposed first would drop it, and the promise with it.
419
+ runWithOwner(null, () => onSettled(() => {
420
+ declare(constUndefined, {
421
+ from: "lastPass",
422
+ onSettled: () => settle()
423
+ });
424
+ }));
425
+ const waiting = UndefinedOr.match(disposed, {
426
+ onUndefined: () => settled,
427
+ onDefined: gone => Promise.race([settled, gone])
428
+ });
429
+ return waiting.then(() => result);
430
+ };
431
+ }
432
+ /**
433
+ * Runs `effect` on `runtime`, and interrupts it as the current owner is cleaned up, its Scope closed
434
+ * with it. Returns its fiber. A failure is logged and reported to the Environment's error reporters;
435
+ * an interruption is neither. On a server it starts nothing, and while hydrating it starts once its owner has settled.
436
+ * Call it within a Solid owner.
437
+ *
438
+ * @example
439
+ * runScoped(runtime, Stream.runForEach(ticks, (t) => Effect.sync(() => setTick(t))))
440
+ * @see https://wardic.dev/reference/solid/advanced/runtime
441
+ */
442
+ // ADR-0006: the per-element fiber lifecycle; a failure is `wardic.runScoped: a fiber failed`
443
+ // (ADR-0030, decision 4); the Hydration hold (ADR-0021 decisions 8 and 9).
444
+ export function runScoped(runtime, effect) {
445
+ if (isServer) return interrupted();
446
+ const run = reported(effect);
447
+ if (isHydrating()) {
448
+ const latch = Latch.makeUnsafe(false);
449
+ const held = runtime.runFork(Effect.andThen(latch.await, run));
450
+ onSettledClientOnly(() => {
451
+ latch.openUnsafe();
452
+ });
453
+ onCleanup(() => held.interruptUnsafe());
454
+ return held;
455
+ }
456
+ const fiber = runtime.runFork(run);
457
+ // Interrupted where the cleanup runs, nothing waiting on its end, as `runCallback`'s interruptor
458
+ // does: a forked `Fiber.interrupt` was a fiber of its own for each (#618, L2).
459
+ onCleanup(() => fiber.interruptUnsafe());
460
+ return fiber;
461
+ }
462
+ /**
463
+ * Runs the Effect `effectThunk` makes on the provider's runtime, as `runScoped` does, until the
464
+ * current owner is cleaned up. The thunk is called once; not on a server. Returns its fiber.
465
+ *
466
+ * @example
467
+ * useWardicFiber(() => Stream.runForEach(ticks, (t) => Effect.sync(() => setTick(t))))
468
+ * @see https://wardic.dev/reference/solid/advanced/runtime
469
+ */
470
+ export function useWardicFiber(effectThunk) {
471
+ const runtime = useWardicRuntime();
472
+ if (isServer) return interrupted();
473
+ return runScoped(runtime, effectThunk());
474
+ }
475
+ //# sourceMappingURL=provider.js.map