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

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,326 @@
1
+ /**
2
+ * What every Wardic element's component form shares, for the Solid 1 binding (#511): `createWith`,
3
+ * which makes `wardic.create`'s component and `w.create`'s, a Complete element's or a Slim one's by the
4
+ * `kind` it's given, and the forms' proxy. `wardic.tsx` holds the Complete forms, `w.tsx` the Slim ones;
5
+ * this module names no Feature, so a Slim element's app ships none it doesn't choose (ADR-0067).
6
+ *
7
+ * `create(tag)` returns a Solid component that accepts the element's own props PLUS Wardic's motion
8
+ * props (`initial` / `animate` / `whileHover` / ...), wires them through {@link createWardWith}, and
9
+ * renders the underlying element with the user's props passed through. The flush gate commits each
10
+ * frame onto the element (ADR-0034). `create(Component)` is the same over the component, which
11
+ * forwards its `ref` to its root element (#253).
12
+ *
13
+ * Locked merge policy (Option A) — the merge now lives in `ward()`
14
+ * ({@link createWardWith}); this HOC just forwards the user's `ref` + `style` into it:
15
+ * - Motion props are split off so none leak to the DOM (even ones not yet
16
+ * wired by {@link createWardWith}).
17
+ * - The user's `ref` AND Wardic's ref are both invoked (via `mergeRefs`).
18
+ * - Wardic's keys win: the Starting style goes over the user's `style` until the first
19
+ * commit; from then on the user's `style` is the fallback, without the keys the
20
+ * gate holds, which Wardic writes onto the element (ADR-0034). A reactive user
21
+ * `style` re-runs the spread's `style`; a frame never does.
22
+ *
23
+ * SSR-correct: {@link createWardWith} computes the Starting style synchronously, so the
24
+ * `<Dynamic>` renders with the merged Starting style on the very first render.
25
+ *
26
+ * REACTIVITY (component props): each motion prop is a plain VALUE, not an
27
+ * accessor. Solid's reactive prop getters already make a component prop tracked —
28
+ * reading `motion.animate` INSIDE {@link motionToConfig}'s config accessor
29
+ * subscribes to whatever signals back the prop. So write a TRACKED EXPRESSION as
30
+ * the value (`animate={open() ? { opacity: 1 } : { opacity: 0 }}`), NOT a function
31
+ * (`animate={() => expr}` is a type error — props are values, not accessors). A
32
+ * signal flip in that expression re-runs the config accessor and drives a Retarget.
33
+ */
34
+ import { mergeRefs } from "@solid-primitives/refs";
35
+ import * as Arr from "effect/Array";
36
+ import * as Bool from "effect/Boolean";
37
+ import * as Option from "effect/Option";
38
+ import * as Predicate from "effect/Predicate";
39
+ import * as Rec from "effect/Record";
40
+ import * as UndefinedOr from "effect/UndefinedOr";
41
+ import { $PROXY, children, createComponent, createEffect, createRenderEffect, sharedConfig, splitProps, untrack } from "solid-js";
42
+ import { assign, Dynamic, getNextElement, insert, spread, SVGElements, use } from "solid-js/web";
43
+ import { isServer } from "./server.js";
44
+ import { GESTURE_KEYS } from "./gesture-callbacks.js";
45
+ import { renderServerElement, serverAppearOfWard, createWardWith } from "./create-ward.jsx";
46
+ import { changesContext } from "./variant-tree.js";
47
+ import { MOTION_PROPS, motionToConfig } from "./motion-props.js";
48
+ import { droppedKeysOf, markWardic, routingTagOf } from "./wardic-component.js";
49
+ import { useWardicConfig } from "./wardic-config.jsx";
50
+ import { isValidPropOf } from "./wardic-config-value.js";
51
+ export { MOTION_PROPS, motionToConfig } from "./motion-props.js";
52
+ /**
53
+ * A client element's config from its split-off motion props: their keys are fixed unless they're a
54
+ * proxy (over a reactive spread), so the gesture callbacks the element wasn't given are never read
55
+ * (#273).
56
+ */
57
+ export const configOfMotion = (motion) => motionToConfig(motion, Bool.not($PROXY in motion));
58
+ /**
59
+ * `create(tag | Component)` of a form (`wardic.create`, `w.create`): a Wardic component, a Complete
60
+ * element's or a Slim one's as `kind` says (#511).
61
+ *
62
+ * Both are an element with a Ward on it, made by {@link createWardWith} (#253, as the Solid 2
63
+ * binding's `create` is, ADR-0045): the Starting style in `style` until the gate's first frame
64
+ * is committed (so on a server and in the hydration render), then the user's style (over the drag
65
+ * defaults) without the keys the gate holds (ADR-0034).
66
+ * - `create("div")` (element-string): renders `<Dynamic component={tag}>`.
67
+ * - `create(Component)` (a component function): the wrapped component must forward `props.ref`
68
+ * to its single root element, where the gate commits each frame; that is the only
69
+ * requirement. It also gets `style` and `draggable`: one that applies `props.style` renders
70
+ * its Starting style on a server, and one that doesn't still animates, the drag defaults
71
+ * set on its element at mount (ADR-0021, decision 6). One that never forwards its ref is a
72
+ * clear error once mounted (ADR-0008).
73
+ *
74
+ * `options` (#443, Motion's `motion.create` options): `forwardMotionProps` hands the motion props on
75
+ * to what it renders as well, and `type` says what its element is for its server render and Starting
76
+ * style ({@link WardicCreateOptions}).
77
+ */
78
+ export function createWith(arg, options, kind) {
79
+ const forward = options.forwardMotionProps === true;
80
+ const made = Bool.match(Predicate.isString(arg), {
81
+ onTrue: () => wardComponent(arg, { ...kind, tag: routingTagOf(arg, options.type) }, forward),
82
+ onFalse: () => wardComponent(arg, { ...WRAPPED, ...kind, tag: routingTagOf(undefined, options.type) }, forward),
83
+ });
84
+ // Marked with what it wraps (#443): `isWardicComponent`, `unwrapWardicComponent`.
85
+ return markWardic(made, arg);
86
+ }
87
+ /** A form's `create`, its elements of `kind`. */
88
+ export const createOf = (kind) => ((arg, options = {}) => createWith(arg, options, kind));
89
+ /**
90
+ * A form's proxy (`wardic`, `w`): called, it's the form's directive; `create` and the form's
91
+ * `extras` are its properties, and `<form>.<tag>` is `create(tag)`, cached so `wardic.div ===
92
+ * wardic.div` (stable component identity across reads). Any non-string key is `undefined`.
93
+ */
94
+ export const formOf = (directive, create, extras) => {
95
+ const cache = new Map();
96
+ return new Proxy(directive, {
97
+ get(_, prop) {
98
+ if (prop === "create")
99
+ return create;
100
+ if (Predicate.isString(prop)) {
101
+ if (Object.hasOwn(extras, prop))
102
+ return extras[prop];
103
+ return Option.getOrElse(Option.fromUndefinedOr(cache.get(prop)), () => {
104
+ const c = create(prop);
105
+ cache.set(prop, c);
106
+ return c;
107
+ });
108
+ }
109
+ return undefined;
110
+ },
111
+ });
112
+ };
113
+ /** What wraps a component tells {@link createWardWith}: its component may not pass `style` on. */
114
+ const WRAPPED = { defaultsOnElement: true };
115
+ /** The namespace an svg tag's element is made in, as Solid's `createDynamic` makes it. */
116
+ const SVG_NAMESPACE = "http://www.w3.org/2000/svg";
117
+ /**
118
+ * What `<Dynamic component={component}>` renders, for a form's tag or component, which never changes
119
+ * (#525). Still a component boundary, as `Dynamic` is, so the hydration keys land where the server's
120
+ * `Dynamic` puts them. Without `Dynamic`'s `splitProps`, which copied every prop to take `component`
121
+ * out, and without `createDynamic`'s two memos over a component that can't change.
122
+ */
123
+ const fixedElement = (component) => {
124
+ if (Predicate.isFunction(component))
125
+ return (props) => untrack(() => component(props));
126
+ const tag = component;
127
+ const isSvg = SVGElements.has(tag);
128
+ return (props) => {
129
+ const el = tagElementOf(tag, isSvg, props);
130
+ spreadOnto(el, props, isSvg);
131
+ return el;
132
+ };
133
+ };
134
+ /** `tag`'s element: the server's while hydrating, else a new one, as `createDynamic` makes it. */
135
+ const tagElementOf = (tag, isSvg, props) => {
136
+ if (Predicate.isNotNullish(sharedConfig.context))
137
+ return getNextElement();
138
+ if (isSvg)
139
+ return document.createElementNS(SVG_NAMESPACE, tag);
140
+ const is = untrack(() => props.is);
141
+ if (Predicate.isString(is))
142
+ return document.createElement(tag, { is });
143
+ return document.createElement(tag);
144
+ };
145
+ /**
146
+ * Solid's `spread` for props whose keys are fixed (#525): their children's effect only when they have
147
+ * children, and their ref called once, as JSX calls its own `ref`, where `spread` gives each a render
148
+ * effect an element. A proxy's keys can change (a reactive spread), so it takes Solid's `spread`.
149
+ */
150
+ const spreadOnto = (el, props, isSvg) => {
151
+ if ($PROXY in props) {
152
+ spread(el, props, isSvg);
153
+ return;
154
+ }
155
+ if ("children" in props)
156
+ insert(el, () => props.children);
157
+ untrack(() => {
158
+ const ref = props.ref;
159
+ if (Predicate.isFunction(ref))
160
+ use(ref, el);
161
+ });
162
+ const prev = {};
163
+ createRenderEffect(() => assign(el, props, isSvg, true, prev, true));
164
+ };
165
+ /**
166
+ * `<form>.<tag>` and `<form>.create(Component)`: the element, or the wrapped component, with a
167
+ * Ward from {@link createWardWith} spread on it, its variant context's Provider around it when it
168
+ * changes what its children read (#50). `forward`: its motion props are handed on too (#443).
169
+ */
170
+ const wardComponent = (component, internal, forward) => {
171
+ const Rendered = fixedElement(component);
172
+ // What an element that can never want a gesture runs with (#525): made once a form.
173
+ const gestureless = { ...internal, gestureless: true };
174
+ return (props) => {
175
+ // The nearest `WardicConfig`'s `isValidProp`, as the element is made (#443).
176
+ const isValidProp = isValidPropOf(useWardicConfig());
177
+ // A server render takes the lean path (ADR-0021, decision 4).
178
+ if (isServer)
179
+ return serverElement(component, internal, props, forward, isValidProp);
180
+ // 3-way split: motion props (consumed, and only handed on when forwarded, #443), then ref+style
181
+ // (merged), then everything else (rest) passes through to the element or component, but a tag's
182
+ // props a `WardicConfig`'s `isValidProp` keeps off it.
183
+ const [motion, refStyle, own] = splitProps(props, MOTION_PROPS, ["ref", "style"]);
184
+ const dropped = droppedKeysOf(() => Object.keys(own), isValidProp, Predicate.isString(component));
185
+ // Split again only when it keeps any off (most elements have no `isValidProp` above them).
186
+ const rest = Bool.match(Arr.isReadonlyArrayEmpty(dropped), {
187
+ onTrue: () => own,
188
+ onFalse: () => splitProps(own, dropped)[1],
189
+ });
190
+ const handedOn = Bool.match(forward, { onTrue: () => motion, onFalse: () => NO_PROPS });
191
+ // Reactive config accessor: motionToConfig reads each (reactive) prop getter
192
+ // inside the accessor, so a changed `animate` / `whileHover` / `transition`
193
+ // (a tracked expression) drives a Retarget. The tag lets an svg-inner element
194
+ // render its Starting style's attribute keys as attributes (ADR-0021).
195
+ const cfg = configOfMotion(motion);
196
+ // Its keys fixed (no reactive spread) and none of them a gesture's, it can never want one (#525).
197
+ let spineInternal = internal;
198
+ if (Bool.not($PROXY in motion)) {
199
+ if (Bool.not(Arr.some(GESTURE_KEYS, (key) => key in motion)))
200
+ spineInternal = gestureless;
201
+ }
202
+ const ward = createWardWith(cfg, spineInternal);
203
+ // Delegate the ref + style merge entirely to ward(): it invokes both the
204
+ // user's ref and ward's internal ref, and gives the element its `style`: the
205
+ // Starting style over the user's, then the user's without the keys the gate
206
+ // holds (ADR-0034).
207
+ //
208
+ // `style` is threaded as a LIVE GETTER, not a value read once at setup:
209
+ // `refStyle.style` is a reactive `splitProps` getter, so a reactive user
210
+ // `style` prop (e.g. `style={{ left: pos() }}` on a non-animated key) is
211
+ // tracked by ward()'s reactive style getter and re-merged on change. Reading
212
+ // it into a `const` here would freeze it at its initial value. `ref` is wired
213
+ // once at mount (refs don't change), so it stays a one-time read.
214
+ const forwarding = forwardingOf(component, refStyle.ref);
215
+ const ref = forwarding.ref;
216
+ const userProps = {
217
+ ...UndefinedOr.match(ref, { onUndefined: () => ({}), onDefined: (defined) => ({ ref: defined }) }),
218
+ get style() {
219
+ return refStyle.style;
220
+ },
221
+ };
222
+ // An element that changes what its children read renders its variant context's Provider
223
+ // around them (#50); any other renders none (`changesContext`, decided once, as on a server).
224
+ // The Ward's props, made once: a call spread in JSX compiles to a function source, which made
225
+ // `mergeProps` a proxy that the spread read every key through (#525). Their `style` is a getter.
226
+ const wardProps = ward(userProps);
227
+ const element = () => <Rendered {...handedOn} {...rest} {...wardProps}/>;
228
+ return Bool.match(changesContext(untrack(cfg)), {
229
+ onFalse: () => forwarding.render(element),
230
+ onTrue: () => <ward.Provider>{forwarding.render(element)}</ward.Provider>,
231
+ });
232
+ };
233
+ };
234
+ /** A tag's: the user's ref, and its element as it is. */
235
+ const ownElement = (element) => element();
236
+ /**
237
+ * The user's ref, and, for a wrapped component, the check that it forwards the Ward's (ADR-0008,
238
+ * narrowed by #414): one that renders an element and forwards its ref to none of what it renders
239
+ * leaves the gate no element to commit to, a clear error. One that renders nothing yet (a component
240
+ * library's part that shows only while open or selected) is waited on: its element is driven when it
241
+ * comes. Checked each time what it renders changes, inside the wrap's Provider (#50).
242
+ */
243
+ const forwardingOf = (component, userRef) => {
244
+ if (Predicate.isString(component))
245
+ return { ref: userRef, render: ownElement };
246
+ let reached;
247
+ const ref = mergeRefs(userRef, (el) => {
248
+ reached = el;
249
+ });
250
+ const render = (element) => {
251
+ const rendered = children(element);
252
+ createEffect(() => {
253
+ const elements = Arr.filter(rendered.toArray(), isElement);
254
+ if (Arr.isArrayEmpty(elements))
255
+ return;
256
+ if (Arr.some(elements, (inside) => Predicate.isNotUndefined(reached) && inside.contains(reached)))
257
+ return;
258
+ const name = component.name || "anonymous component";
259
+ throw new Error(`wardic.create(${name}): the wrapped component rendered an element but did not forward its ref to it. ` +
260
+ "The component must forward props.ref to a single root DOM element " +
261
+ "(e.g. <div ref={props.ref}>...</div>). Element-only motion is wired through the ref.");
262
+ });
263
+ return rendered;
264
+ };
265
+ return { ref, render };
266
+ };
267
+ /** Whether a rendered node is an element. */
268
+ const isElement = (node) => node instanceof Element;
269
+ /** No props: what an element that doesn't forward its motion props hands on of them. */
270
+ const NO_PROPS = {};
271
+ /** The motion props, as a set for the server path's one pass. */
272
+ const MOTION_KEYS = new Set(MOTION_PROPS);
273
+ /**
274
+ * Set each of `values` on `out` as a plain data property. A key copied from the user's props
275
+ * may be a getter (a reactive prop like `cx={cx()}`), which an assignment can't overwrite;
276
+ * Wardic's value wins, as `mergeProps` makes it on the client.
277
+ */
278
+ const override = (out, values) => Arr.forEach(Rec.keys(values), (key) => {
279
+ Object.defineProperty(out, key, { value: values[key], enumerable: true, configurable: true, writable: true });
280
+ });
281
+ /**
282
+ * Everything in `props` but `ref`, `style`, the motion props unless `forward`, and the keys `dropped`
283
+ * (#443), in one pass; getters stay getters.
284
+ */
285
+ const passThrough = (props, forward, dropped) => {
286
+ const descriptors = Object.getOwnPropertyDescriptors(props);
287
+ const out = {};
288
+ const off = new Set(dropped);
289
+ Arr.forEach(Rec.keys(descriptors), (key) => {
290
+ if (key === "ref" || key === "style" || off.has(key))
291
+ return;
292
+ if (MOTION_KEYS.has(key) && !forward)
293
+ return;
294
+ Object.defineProperty(out, key, UndefinedOr.getOrThrow(descriptors[key]));
295
+ });
296
+ return out;
297
+ };
298
+ /**
299
+ * `wardic.<tag>` and `wardic.create(Component)` during a server render (ADR-0021, decisions 4 and
300
+ * 6): the element, or the component, with its Starting style and static attributes, built in one
301
+ * pass over the props. Solid's server `splitProps` and `mergeProps` cost most of a wrapped
302
+ * element's server time, and none of their reactivity matters there. The client's
303
+ * `createUniqueId` (inside `createWardWith`) and its `Dynamic` boundary are kept, so every
304
+ * hydration key lands where the client's render puts it.
305
+ */
306
+ const serverElement = (component, internal, props, forward, isValidProp) => {
307
+ // A tag's props `isValidProp` keeps off it, as the client's (#443): of its own, the motion props, `ref` and `style` aside.
308
+ const ownKeys = () => Arr.filter(Object.keys(props), (key) => !MOTION_KEYS.has(key) && key !== "ref" && key !== "style");
309
+ const out = passThrough(props, forward, droppedKeysOf(ownKeys, isValidProp, Predicate.isString(component)));
310
+ const cfg = motionToConfig(props);
311
+ const ward = createWardWith(cfg, internal);
312
+ override(out, { ...ward({ style: props.style }), component });
313
+ // The client's nesting: the element's `ward.Provider` when it changes what its children read
314
+ // (#50), then the element; a late chunk's root then its chunk's style (#245).
315
+ const element = () => createComponent(Dynamic, out);
316
+ const render = () => Bool.match(changesContext(cfg()), {
317
+ onFalse: element,
318
+ onTrue: () => createComponent(ward.Provider, {
319
+ get children() {
320
+ return element();
321
+ },
322
+ }),
323
+ });
324
+ return renderServerElement(serverAppearOfWard(ward), render);
325
+ };
326
+ //# sourceMappingURL=element.jsx.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"element.jsx","sourceRoot":"","sources":["../../src/element.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * A section's **Features** (#511, ADR-0067), for the Solid 1 binding: the context each `LazyWardic`
3
+ * puts its section in (`feature.ts`'s `makeSection`), so a Slim element has its provider's Features
4
+ * and every `LazyWardic`'s between them (decision 2). A provider's own section isn't in it: the
5
+ * provider keeps it (`provider.tsx`), so a provider renders no second context, and every hydration
6
+ * key stays where it was.
7
+ *
8
+ * @module
9
+ */
10
+ import type * as Cause from "effect/Cause";
11
+ import { type FeatureRegistry, type FeatureSection, type FeaturesProp } from "./feature.ts";
12
+ /** The nearest `LazyWardic`'s section, or `undefined` under none: its provider's then. */
13
+ export declare const useLazySection: () => FeatureSection | undefined;
14
+ /** The Provider a `LazyWardic`'s subtree renders under. */
15
+ export declare const FeatureSectionProvider: import("solid-js").ContextProviderComponent<FeatureSection | undefined>;
16
+ /** A section under `parent`, made under the current owner (`feature.ts`'s `makeSection`). */
17
+ export declare const sectionUnder: (parent: FeatureSection, registry: FeatureRegistry, prop: FeaturesProp | undefined, strict: boolean, report: (cause: Cause.Cause<unknown>) => void) => FeatureSection;
18
+ //# sourceMappingURL=feature-section.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"feature-section.d.ts","sourceRoot":"","sources":["../../src/feature-section.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAA;AAE1C,OAAO,EAAE,KAAK,eAAe,EAAE,KAAK,cAAc,EAAE,KAAK,YAAY,EAAiC,MAAM,cAAc,CAAA;AAM1H,0FAA0F;AAC1F,eAAO,MAAM,cAAc,QAAO,cAAc,GAAG,SAA8C,CAAA;AAEjG,2DAA2D;AAC3D,eAAO,MAAM,sBAAsB,yEAAiC,CAAA;AAIpE,6FAA6F;AAC7F,eAAO,MAAM,YAAY,WACf,cAAc,YACZ,eAAe,QACnB,YAAY,GAAG,SAAS,UACtB,OAAO,UACP,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,IAAI,KAC5C,cAA2E,CAAA"}
@@ -0,0 +1,13 @@
1
+ import { createContext, onCleanup, useContext } from "solid-js";
2
+ import { makeSection } from "./feature.js";
3
+ import { isServer } from "./server.js";
4
+ import { reactivity } from "./solid-reactivity.js";
5
+ const FeatureSectionContext = createContext(undefined);
6
+ /** The nearest `LazyWardic`'s section, or `undefined` under none: its provider's then. */
7
+ export const useLazySection = () => useContext(FeatureSectionContext);
8
+ /** The Provider a `LazyWardic`'s subtree renders under. */
9
+ export const FeatureSectionProvider = FeatureSectionContext.Provider;
10
+ const HOST = { reactivity, server: isServer, onCleanup };
11
+ /** A section under `parent`, made under the current owner (`feature.ts`'s `makeSection`). */
12
+ export const sectionUnder = (parent, registry, prop, strict, report) => makeSection(parent, registry, prop, strict, report, HOST);
13
+ //# sourceMappingURL=feature-section.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"feature-section.js","sourceRoot":"","sources":["../../src/feature-section.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAC/D,OAAO,EAAgE,WAAW,EAAoB,MAAM,cAAc,CAAA;AAC1H,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAElD,MAAM,qBAAqB,GAAG,aAAa,CAA6B,SAAS,CAAC,CAAA;AAElF,0FAA0F;AAC1F,MAAM,CAAC,MAAM,cAAc,GAAG,GAA+B,EAAE,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAA;AAEjG,2DAA2D;AAC3D,MAAM,CAAC,MAAM,sBAAsB,GAAG,qBAAqB,CAAC,QAAQ,CAAA;AAEpE,MAAM,IAAI,GAAgB,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAA;AAErE,6FAA6F;AAC7F,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,MAAsB,EACtB,QAAyB,EACzB,IAA8B,EAC9B,MAAe,EACf,MAA6C,EAC7B,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA"}
@@ -0,0 +1,114 @@
1
+ import * as Cause from "effect/Cause";
2
+ import * as Context from "effect/Context";
3
+ import * as Layer from "effect/Layer";
4
+ import type * as ManagedRuntime from "effect/ManagedRuntime";
5
+ import type { Reactivity } from "./reactivity.ts";
6
+ import type { ProviderRuntime, ProviderServices, WardicServices } from "./runtime.ts";
7
+ /**
8
+ * A **Feature**: its name, the key of the service its Layer gives (what an element looks up),
9
+ * and that Layer, built on the provider's runtime: its Environment, its flush gate and its projection
10
+ * options. `server` is what a server render, which builds no runtime, does with it: the
11
+ * `colors` Feature registers its colour spaces there too, as the render reads colours; the rest do
12
+ * nothing.
13
+ */
14
+ export interface Feature<I = any, S = any> {
15
+ readonly name: string;
16
+ readonly key: Context.Key<I, S>;
17
+ readonly layer: Layer.Layer<I, never, ProviderServices>;
18
+ readonly server?: (() => void) | undefined;
19
+ }
20
+ /** Features as an app gives them: one, or a list, a preset's nested in it (`[domAnimation, layout]`). */
21
+ export type Features = Feature | ReadonlyArray<Features>;
22
+ /** Features loaded lazily: `() => import("./features.ts").then((m) => m.domMax)`. */
23
+ export type FeatureLoad = () => Promise<Features>;
24
+ /** Features given to a `WardicProvider` or a `LazyWardic`: at once, or loaded lazily. */
25
+ export type FeaturesProp = Features | FeatureLoad;
26
+ /** Features as one flat list, each once, in order. */
27
+ export declare const flatten: (features: Features) => ReadonlyArray<Feature>;
28
+ /** Whether a `features` prop loads lazily: a function, where Features are values. */
29
+ export declare const isLoad: (prop: FeaturesProp) => prop is FeatureLoad;
30
+ /** No Features. */
31
+ export declare const NONE: Context.Context<never>;
32
+ /**
33
+ * A section of the tree's Features (#511): a `WardicProvider`'s, a `LazyWardic`'s, or an element's,
34
+ * each its own joined with its parent's. Each binding makes its sections with its own signals.
35
+ */
36
+ export interface FeatureSection {
37
+ /** The services of the Features it has now. Tracked: a lazy one arriving changes it. */
38
+ readonly services: () => Context.Context<never>;
39
+ /** Whether a lazy load of its own or a parent's is still on its way: no missing-Feature warning while one is. */
40
+ readonly pending: () => boolean;
41
+ /** Whether it, or a section above it, is `strict`: a Complete element under it is an error in development. */
42
+ readonly strict: boolean;
43
+ }
44
+ /** Outside every provider, and above each provider's own: no Features, nothing on its way, not strict. */
45
+ export declare const ROOT: FeatureSection;
46
+ /** What a section takes from its binding: its reactivity, whether it renders on a server, and its owner's cleanup. */
47
+ export interface SectionHost {
48
+ readonly reactivity: Reactivity;
49
+ readonly server: boolean;
50
+ readonly onCleanup: (fn: () => void) => void;
51
+ }
52
+ /**
53
+ * A section under `parent` with `prop`'s Features (#511):
54
+ * - **Given at once**, they're built on first need, the first time an element in it asks (#51: a
55
+ * provider with no element under it builds nothing); a server render runs their `server` part at
56
+ * once, as its elements may read what it registers.
57
+ * - **Loaded lazily** (decision 8), the load starts now on the client and they're built as they
58
+ * arrive, from then on; `pending` until it settles. A failed load is `report`ed, once. A server
59
+ * render loads nothing: it renders as it would without them.
60
+ *
61
+ * Its services join its own and its parent's, joined again only when either changes.
62
+ */
63
+ export declare const makeSection: (parent: FeatureSection, registry: FeatureRegistry, prop: FeaturesProp | undefined, strict: boolean, report: (cause: Cause.Cause<unknown>) => void, host: SectionHost) => FeatureSection;
64
+ /**
65
+ * A provider's Features: each built once, on first need, and every list it's asked for joined once.
66
+ * `build` is synchronous; a Feature's Layer that can't build at once is a defect.
67
+ */
68
+ export interface FeatureRegistry {
69
+ /** The services of `features`, each Feature built the first time it's asked for. */
70
+ readonly build: (features: ReadonlyArray<Feature>) => Context.Context<never>;
71
+ /** A section of exactly `features`, nothing on its way: one per list, a Complete element's (#511). */
72
+ readonly section: (features: ReadonlyArray<Feature>) => FeatureSection;
73
+ /**
74
+ * The services of every Feature built so far, whichever section asked: what a part of the provider
75
+ * that brings no Feature works with when one is there (the projection system, for a presence).
76
+ */
77
+ readonly built: () => Context.Context<never>;
78
+ /** Logs `message` at Warning the first time `feature` is named: development's word on a missing Feature. */
79
+ readonly warnOnce: (feature: string, message: string) => void;
80
+ /** Ends every Feature built, the provider's runtime after (a Feature's Layer may stand on it). */
81
+ readonly dispose: () => Promise<void>;
82
+ }
83
+ /**
84
+ * A client provider's Features (#511): built into `runtime`'s `MemoMap` in a Scope of their own, a child
85
+ * of the runtime's that closes before its Layers do, so a Feature ends before the Environment it stands
86
+ * on. A list asked for again (the Complete element's every Feature) is joined once.
87
+ */
88
+ export declare const clientRegistry: (runtime: ProviderRuntime) => FeatureRegistry;
89
+ /**
90
+ * A server render's Features (ADR-0021): none built, as no runtime is; each one's `server` run once,
91
+ * the first time it's asked for. Disposing disposes the unbuilt runtime, as on unmount.
92
+ */
93
+ export declare const serverRegistry: (runtime: ManagedRuntime.ManagedRuntime<WardicServices, never>) => FeatureRegistry;
94
+ /**
95
+ * The first of `values` that only the `colors` Feature would read as a colour (#511, decision 7): a
96
+ * string naming a wide-gamut space, while no space beyond sRGB's is registered on the page.
97
+ * `undefined` when there's none. Asked of the page, not of an element's Features: culori's spaces are
98
+ * the page's, so one registered by any provider is read by every element (`features/colors.ts`).
99
+ */
100
+ export declare const unreadColorIn: (values: Readonly<Record<string, unknown>>) => string | undefined;
101
+ /**
102
+ * Development's word on a Complete element under a `strict` section (#511, ADR-0067 decision 7,
103
+ * Motion's), naming the binding's `complete` forms and the `slim` ones to use.
104
+ */
105
+ export declare const strictMessage: (complete: string, slim: string) => string;
106
+ /** What development's word on a missing `layout` Feature names (#511): the props that need it. */
107
+ export declare const LAYOUT_PROPS = "A layout prop (`layout`, `layoutId`, `layoutScroll` or `layoutRoot`)";
108
+ /**
109
+ * Development's word on a missing Feature (#511, ADR-0067 decision 7): what needed it, its import from
110
+ * the binding's `entry`, and where to add it. Not a Complete element, which a `strict` section makes
111
+ * an error (#581).
112
+ */
113
+ export declare const missingMessage: (feature: string, what: string, entry: string) => string;
114
+ //# sourceMappingURL=feature.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"feature.d.ts","sourceRoot":"","sources":["../../src/feature.ts"],"names":[],"mappings":"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"}