@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,663 @@
1
+ import { createComponent as _$createComponent } from "@solidjs/web";
2
+ import { mergeProps as _$mergeProps } from "@solidjs/web";
3
+ import { applyRef as _$applyRef } from "@solidjs/web";
4
+ /**
5
+ * `<Reorder>` on Solid 2 (#209 PR 3b, ADR-0020, ADR-0037, ADR-0045): drag items to reorder a list,
6
+ * or reorder it by keyboard. `reorderGroup(config)` and `reorderItem(list, config)` are refs that
7
+ * carry their props, as a ward is; `Reorder.Group` and `Reorder.Item` are built on them.
8
+ *
9
+ * ```tsx
10
+ * const list = reorderGroup({ values: items, onReorder: setItems })
11
+ * <ul {...list}>
12
+ * <For each={items()}>
13
+ * {(item) => {
14
+ * const row = reorderItem(list, { value: item, whileDrag: { scale: 1.05 } })
15
+ * return <li {...row}>{item.name}</li>
16
+ * }}
17
+ * </For>
18
+ * </ul>
19
+ * ```
20
+ *
21
+ * The **Reorder group** is `@wardic/dom`'s `ReorderController` (core's `Reorder.Group` underneath),
22
+ * as on the Solid 1 binding: it reads each item's slot and drag offset from its projection node,
23
+ * runs the **Crossover** on each drag sample, calls the app's `onReorder`, runs **Auto-scroll**,
24
+ * detects the axis after every Measure pass, and speaks the **Keyboard reorder** through the
25
+ * Environment's `Announcer`. This file adds Solid 2's half: the reactive config, the lifecycle, the
26
+ * props and the components. The app owns `values` and keys its items with `<For>`. The group flushes
27
+ * Solid right after the app's `onReorder`, so the DOM follows within the controller's call, as
28
+ * Solid 1's synchronous updates have it.
29
+ *
30
+ * - **The group** spreads `overflow-anchor: none` under the config's `style` (Motion's
31
+ * Group.tsx:187-195 at 16c6122), so the browser's scroll anchoring doesn't shift the page as items
32
+ * move; given to `ref` alone it sets it on the element. `list.move(value, toIndex)` moves a value
33
+ * in code, announced.
34
+ * - **An item** is a ward (`row.read`, `row.atom`, `row.Provider`): a `layout` node whose drag the
35
+ * group's axis decides per gesture, raised while dragged, whose `touch-action` follows the group's
36
+ * axis. Its `value` is read once. Its spread carries the keyboard reorder's `tabindex="0"` and
37
+ * `aria-describedby` (the group's instructions); an app's own `tabindex` and `aria-describedby`
38
+ * go in the item's config, as a ward's `style` does: its `tabindex` wins, its ids come first
39
+ * (#209 PR 3b's R2). Written in JSX after the spread, they'd replace the item's (Solid's rule).
40
+ *
41
+ * @module
42
+ */
43
+ import * as InputSource from "@wardic/core/InputSource";
44
+ import * as DomAnnouncer from "@wardic/dom/DomAnnouncer";
45
+ import * as ReorderController from "@wardic/dom/ReorderController";
46
+ import * as Style from "@wardic/dom/Style";
47
+ import * as Arr from "effect/Array";
48
+ import * as Bool from "effect/Boolean";
49
+ import * as Effect from "effect/Effect";
50
+ import { constUndefined, identity, pipe } from "effect/Function";
51
+ import * as Match from "effect/Match";
52
+ import * as Option from "effect/Option";
53
+ import * as Predicate from "effect/Predicate";
54
+ import * as Scope from "effect/Scope";
55
+ import * as UndefinedOr from "effect/UndefinedOr";
56
+ import { isServer } from "@solidjs/web";
57
+ import { createContext, createEffect, createMemo, createSignal, flush, omit, onCleanup, untrack, useContext } from "solid-js";
58
+ import { MOTION_PROPS_V2 as MOTION_PROPS } from "../../motion-props.js";
59
+ import { drag } from "../../features/drag.js";
60
+ import { focus } from "../../features/focus.js";
61
+ import { hover } from "../../features/hover.js";
62
+ import { inView } from "../../features/in-view.js";
63
+ import { layout } from "../../features/layout.js";
64
+ import { pan } from "../../features/pan.js";
65
+ import { press } from "../../features/press.js";
66
+ import { inputIn } from "../../gesture-features.js";
67
+ import * as OwnerScope from "../../owner-scope.js";
68
+ import { watchItemInput } from "../../reorder-input.js";
69
+ import { changesContext } from "../../variant-tree.js";
70
+ import { configView } from "./config-view.js";
71
+ import { useBrought, useWardicRuntime } from "./provider.js";
72
+ import { useLayoutServices } from "./layout-projection.js";
73
+ import { spreadPropsOf, withSpreadProps, wardConfigView, wardWith } from "./ward.js";
74
+ import { drivenWard, givenOf, handOver, listOf, refsOf, sets, setKeysOf, staticElementOf } from "./element.js";
75
+ import { w } from "./w.js";
76
+ import { CLIENT_ONLY, CLIENT_ONLY_DEFERRED } from "./solid-reactivity.js";
77
+ import { eachOf, neverLands, NO_EVENTS, serverWhen, Waiters, whenOf } from "./waiters.js";
78
+ /** A group's config read per key (#259). */
79
+ const GROUP_VIEW = configView(["values", "onReorder", "axis", "keyboard", "announcements", "instructions", "style"], ["onReorder"]);
80
+ /** A group's config as a view of `config`. */
81
+ const groupViewOf = (config, beside) => GROUP_VIEW.of(config, beside);
82
+ // Module state (#460, Q7): a cache held weakly by the object it's for, so it goes with it.
83
+ const GROUP_LAYERS = new WeakMap();
84
+ /** The `AbortError`'s message for a group's `next` its disposal cut off. */
85
+ const GROUP_GONE = "The Reorder group was disposed before its next event.";
86
+ /**
87
+ * A **Reorder group**'s mark (#349): what tells a group given to `Reorder.Group`'s `groupRef` from a
88
+ * function handed the component's own. Internal.
89
+ */
90
+ export const REORDER_GROUP = Symbol("wardic.reorderGroup");
91
+ /** An item's own keys read per key (#259); the rest are its ward's, which reads them itself. */
92
+ /**
93
+ * What an item brings (ADR-0067 decision 12), whatever its section has (#511): its layout node, its
94
+ * drag, and every other gesture, so `whileHover` or `whileTap` on an item works as on Motion's, for
95
+ * about 0.5 KB gzipped beside the drag's.
96
+ */
97
+ const ITEM_BRINGS = [layout, drag, hover, press, focus, inView, pan];
98
+ const ITEM_VIEW = configView(["value", "layout", "tabindex", "aria-describedby"], []);
99
+ /** An item's `layout` as its Layout mode: `"position"`, else `true` (ADR-0009, *Amendment (#42)*). */
100
+ const itemLayoutOf = layout => Bool.match(layout === "position", {
101
+ onTrue: () => "position",
102
+ onFalse: () => true
103
+ });
104
+ /** A config given whole as an accessor, which the Solid 2 binding no longer reads (#259). */
105
+ const WHOLE_GROUP_ACCESSOR = "reorderGroup(config) takes its config as an object, read per key (#259): make a key reactive with an accessor " + "(`reorderGroup({ values: items, onReorder: setItems })`), a getter, a store or a component's props.";
106
+ const WHOLE_ITEM_ACCESSOR = "reorderItem(list, config) takes its config as an object, read per key (#259): `reorderItem(list, { value })`, " + "a key made reactive with an accessor, a getter, a store or a component's props.";
107
+ /** Whether a call is Solid applying a ref. */
108
+ const isElement = value => Predicate.hasProperty(value, "nodeType");
109
+ /** The group's keyboard reorder settings, as accessors (ADR-0037). */
110
+ const keyboardOf = cfg => ({
111
+ keyboard: () => cfg().keyboard !== false,
112
+ instructions: () => UndefinedOr.match(cfg().instructions, {
113
+ onUndefined: () => ReorderController.DEFAULT_INSTRUCTIONS,
114
+ onDefined: identity
115
+ })
116
+ });
117
+ /** The group element's style: the config's over `overflow-anchor: none`. */
118
+ const groupStyleOf = style => pipe(style, Style.over(ReorderController.GROUP_STYLE));
119
+ /**
120
+ * A ref carrying `props` and `reads`: `props` enumerable (a spread applies them), `reads` not. Called
121
+ * with nothing, as Solid 2's `merge` calls a spread's function source, it gives `ref` and `props` alone
122
+ * (#495), so none of its own names (`name`, `length`, its reads) shadows the element's props.
123
+ */
124
+ const refCarrying = (attach, props, reads) => {
125
+ const self = value => {
126
+ if (isElement(value)) {
127
+ attach(value);
128
+ return undefined;
129
+ }
130
+ return spread;
131
+ };
132
+ const spreadProps = {
133
+ ref: {
134
+ value: self,
135
+ enumerable: true
136
+ },
137
+ ...props
138
+ };
139
+ const spread = spreadPropsOf(spreadProps);
140
+ Object.defineProperties(self, {
141
+ [REORDER_GROUP]: {
142
+ value: true
143
+ },
144
+ ...spreadProps
145
+ });
146
+ return Object.assign(self, reads);
147
+ };
148
+ /**
149
+ * Makes a list of your own elements reorderable, by dragging or from the keyboard: spread the group on
150
+ * the list's element, and make each item with `reorderItem`, keyed with `<For>`. Your app owns
151
+ * `values`, and sets them from `onReorder`; a reorder it makes itself animates too. Call it where you'd
152
+ * make a signal, under a `WardicProvider`. `Reorder.Group` is built on it.
153
+ *
154
+ * @example
155
+ * const list = reorderGroup({ values: items, onReorder: setItems })
156
+ * <ul {...list}>
157
+ * <For each={items()}>
158
+ * {(item) => {
159
+ * const row = reorderItem(list, { value: item })
160
+ * return <li {...row}>{item.name}</li>
161
+ * }}
162
+ * </For>
163
+ * </ul>
164
+ * @see https://wardic.dev/reference/solid/reorder/reorder-group
165
+ */
166
+ // ADR-0020. Given to `ref` alone, it's client-only. Its axis is the config's, else detected from the
167
+ // items' boxes after every Measure pass (for their touch-action); a drag resolves its own at its start.
168
+ // A `values` change re-measures. On a server it renders the element's style and nothing else: no
169
+ // controller, no runtime; its `group`, `move` and `controller` do nothing (ADR-0021).
170
+ export function reorderGroup(config) {
171
+ if (Predicate.isFunction(config)) throw new Error(WHOLE_GROUP_ACCESSOR);
172
+ const beside = {};
173
+ const view = groupViewOf(config, beside);
174
+ const cfg = () => view;
175
+ const runtime = useWardicRuntime();
176
+ if (isServer) return layered(serverReorderGroup(cfg), config, beside);
177
+ const [detected, setDetected] = createSignal("y");
178
+ // Its events (#257 item 3), ended with it.
179
+ const events = new Waiters(GROUP_GONE);
180
+ onCleanup(() => events.dispose());
181
+ // Whether the app's `move` is the call under way: its reorder isn't flushed.
182
+ let moving = false;
183
+ // The group's controller, over the provider's projection system and the Environment's channel to
184
+ // assistive technology (ADR-0037), in a Scope of the group's own, closed with its owner: set before
185
+ // the controller is built, so one that fails as it's built leaves nothing (#618).
186
+ const scope = OwnerScope.open(runtime);
187
+ onCleanup(() => OwnerScope.close(runtime, scope, CLOSE_FAILED));
188
+ const controller = runtime.runSync(ReorderController.make({
189
+ values: () => untrack(() => cfg().values),
190
+ // The DOM follows a reorder within the controller's call, as on Solid 1, whose updates are
191
+ // synchronous: the controller keeps focus on a lifted item right after (moving a focused node
192
+ // can blur it), and Solid 2 would otherwise move the node at its next flush, after that.
193
+ // A `move` the app calls doesn't: nothing reads the DOM after it, and the app may call it inside
194
+ // an `action`, where Solid refuses a flush (FLUSH_IN_ACTION, #257 item 12).
195
+ onReorder: values => {
196
+ const onReorder = untrack(() => cfg().onReorder);
197
+ if (moving) return onReorder(values);
198
+ flush(() => onReorder(values));
199
+ },
200
+ onReorderEnd: end => events.tell("reorderEnd", () => end),
201
+ onHoldStart: start => events.tell("holdStart", () => start),
202
+ onHoldEnd: end => events.tell("holdEnd", () => end),
203
+ axis: () => Option.fromUndefinedOr(untrack(() => cfg().axis)),
204
+ onAxis: setDetected,
205
+ keyedWith: "<For>",
206
+ keyboard: () => untrack(() => cfg().keyboard) !== false,
207
+ announcements: () => Option.fromUndefinedOr(untrack(() => cfg().announcements))
208
+ }).pipe(Effect.provide(useLayoutServices()), Scope.provide(scope)));
209
+ // The app's axis, else the detected one. When the app's is cleared, detected here, from the boxes the
210
+ // engine holds, so the items' touch-action follows in the same flush (#257's audit: an effect that
211
+ // detected it wrote a signal the items read a flush late, EFFECT_RELAY_TEAR). A Measure pass's change
212
+ // comes through `onAxis`. Lazy: read first by an item, so a given group's `axis` beside it, laid
213
+ // over its config by the `Reorder.Group` the items render in, is the one it tracks (#398).
214
+ const axis = createMemo(() => UndefinedOr.match(cfg().axis, {
215
+ onDefined: identity,
216
+ onUndefined: () => {
217
+ detected();
218
+ return controller.detect();
219
+ }
220
+ }), AXIS_MEMO);
221
+ // A `values` change re-measures, so the items animate to their new slots whoever reordered them.
222
+ createEffect(() => cfg().values, () => {
223
+ controller.valuesChanged();
224
+ }, CLIENT_ONLY_DEFERRED);
225
+ const attach = element => {
226
+ // Given to `ref` alone, the element has no spread's style: the group sets its own.
227
+ if (element.style.getPropertyValue("overflow-anchor") === "") element.style.setProperty("overflow-anchor", "none");
228
+ controller.attach(element);
229
+ };
230
+ return layered(refCarrying(attach, {
231
+ style: {
232
+ get: () => groupStyleOf(cfg().style),
233
+ enumerable: true
234
+ }
235
+ }, {
236
+ group: controller.group,
237
+ axis,
238
+ move: (value, toIndex) => {
239
+ moving = true;
240
+ try {
241
+ controller.move(value, toIndex);
242
+ } finally {
243
+ moving = false;
244
+ }
245
+ },
246
+ next: name => events.wait(name),
247
+ each: name => eachOf(events, name),
248
+ when: name => whenOf(events, name),
249
+ controller,
250
+ ...keyboardOf(cfg)
251
+ }), config, beside);
252
+ }
253
+ /** The group's axis memo's options: client-only, and lazy (#398). */
254
+ const AXIS_MEMO = {
255
+ ...CLIENT_ONLY,
256
+ lazy: true
257
+ };
258
+ /** `group`, its config and its layer kept for a `Reorder.Group` it's given to (#398). */
259
+ const layered = (group, config, beside) => {
260
+ GROUP_LAYERS.set(group, {
261
+ config,
262
+ beside
263
+ });
264
+ return group;
265
+ };
266
+ /**
267
+ * A given group's element props (#398): each config key its `Reorder.Group` sets, laid over the
268
+ * group's config, read through the element's prop. A key the group's config sets too is an error.
269
+ */
270
+ const besideGroup = (local, group) => {
271
+ const layer = UndefinedOr.getOrThrow(GROUP_LAYERS.get(group));
272
+ const given = setKeysOf(local, GROUP_CONFIG);
273
+ const twice = setKeysOf(layer.config, given);
274
+ if (twice.length > 0) {
275
+ throw new Error(`Reorder.Group: ${listOf(twice)} set both in the group given to groupRef and on the element (#398). ` + "Set each key in one place: in reorderGroup({ … }), or on the element.");
276
+ }
277
+ Arr.forEach(given, key => Object.defineProperty(layer.beside, key, {
278
+ enumerable: true,
279
+ configurable: true,
280
+ get: () => local[key]
281
+ }));
282
+ };
283
+ /** What a group's Scope reports when one of its finalizers fails as its owner goes. */
284
+ const CLOSE_FAILED = "wardic.reorder: a finalizer failed";
285
+ /**
286
+ * {@link reorderGroup} during a server render (ADR-0021): the group element's style and the app's
287
+ * axis, else `"y"`; its `group`, `move` and `controller` do nothing.
288
+ */
289
+ const serverReorderGroup = cfg => {
290
+ const controller = ReorderController.inert;
291
+ const axis = () => UndefinedOr.match(cfg().axis, {
292
+ onUndefined: () => "y",
293
+ onDefined: identity
294
+ });
295
+ return refCarrying(constUndefined, {
296
+ style: {
297
+ value: groupStyleOf(untrack(() => cfg().style)),
298
+ enumerable: true
299
+ }
300
+ }, {
301
+ group: controller.group,
302
+ axis,
303
+ move: constUndefined,
304
+ next: neverLands,
305
+ each: () => NO_EVENTS,
306
+ when: serverWhen,
307
+ controller,
308
+ ...keyboardOf(cfg)
309
+ });
310
+ };
311
+ /** A Reorder item's drag axis for its gesture's axis: a grid's `xy` is a free drag. Built once, at module load. */
312
+ const dragAxisFor = Match.type().pipe(Match.when("xy", () => true), Match.orElse(axis => axis));
313
+ /**
314
+ * What an item adds to its spread for the keyboard reorder (ADR-0037): `tabindex="0"` while the
315
+ * group's keyboard is on and the app gave no `tabindex`, and `aria-describedby` with the group's
316
+ * instructions (`describedBy`, set on the client) after the app's own ids.
317
+ */
318
+ const keyboardAttributes = (list, cfg, describedBy) => ({
319
+ tabindex: {
320
+ get: () => UndefinedOr.match(cfg().tabindex, {
321
+ onDefined: identity,
322
+ onUndefined: () => Bool.match(list.keyboard(), {
323
+ onTrue: () => 0,
324
+ onFalse: constUndefined
325
+ })
326
+ }),
327
+ enumerable: true
328
+ },
329
+ "aria-describedby": {
330
+ get: () => {
331
+ const ids = Arr.filter([cfg()["aria-describedby"], Bool.match(list.keyboard(), {
332
+ onTrue: describedBy,
333
+ onFalse: constUndefined
334
+ })], Predicate.isNotUndefined);
335
+ return Bool.match(ids.length === 0, {
336
+ onTrue: constUndefined,
337
+ onFalse: () => ids.join(" ")
338
+ });
339
+ },
340
+ enumerable: true
341
+ }
342
+ });
343
+ /**
344
+ * Makes an element an item of a Reorder group: a ward, spread on the element, `<li {...row}>`, or given
345
+ * to `Reorder.Item`'s `wardRef`. `value` is its value in the group's `values`, read once; the rest is a
346
+ * ward's config, but `layout` (`true` or `"position"`), `layoutId` and `drag`, which the group sets. It's
347
+ * a tab stop for the keyboard reorder: your own `tabindex` and `aria-describedby` go in its config.
348
+ * Call it where you'd make a signal: in a `<For>` callback.
349
+ *
350
+ * @example
351
+ * const row = reorderItem(list, { value: item, whileDrag: { scale: 1.05 } })
352
+ * <li {...row}>{item.name}</li>
353
+ * @see https://wardic.dev/reference/solid/reorder/reorder-item
354
+ */
355
+ // ADR-0020. Given to `ref` alone, it's client-only. The element takes the drag defaults, with the
356
+ // group's axis's touch-action, which its `style` can override.
357
+ export function reorderItem(list, config, options) {
358
+ return reorderItemWith(list, config, UndefinedOr.map(options, o => o.parent), undefined);
359
+ }
360
+ /** A `<Reorder>` item's mark (#349): the group it's in. Internal. */
361
+ export const REORDER_ITEM = Symbol("wardic.reorderItem");
362
+ /** {@link reorderItem} for `tag` (`Reorder.Item`'s `as`). Internal. */
363
+ const reorderItemWith = (list, config, parent, tag) => {
364
+ if (Predicate.isFunction(config)) throw new Error(WHOLE_ITEM_ACCESSOR);
365
+ // Its own keys read per key (#259); the rest are its ward's config, read by the ward. Its `layout`
366
+ // is its Layout mode, `true` or `"position"` whatever the config gives, read at each layout
367
+ // animation's start as any ward's is (ADR-0009, *Amendment (#42)*).
368
+ const own = ITEM_VIEW.of(config);
369
+ const cfg = () => own;
370
+ const fixed = {
371
+ layout: () => itemLayoutOf(own.layout)
372
+ };
373
+ const wardConfig = config;
374
+ // Its group's axis's `touch-action`, under its style: none when its own presses don't drag it
375
+ // (`dragListener={false}`, #431), as with its other drag defaults, so a list dragged by handles scrolls by touch.
376
+ const touchAction = Bool.match(untrack(() => wardConfig.dragListener) !== false, {
377
+ onTrue: () => () => ({
378
+ "touch-action": Style.reorderTouchAction(list.axis())
379
+ }),
380
+ onFalse: constUndefined
381
+ });
382
+ // On a server the item renders the drag defaults with its group's touch-action, and joins no
383
+ // controller (ADR-0021); the instructions element exists on the client only.
384
+ if (isServer) {
385
+ const row = wardWith(wardConfig, {
386
+ tag,
387
+ brings: ITEM_BRINGS,
388
+ dragAxis: () => true,
389
+ baseStyle: touchAction,
390
+ fixed,
391
+ group: list,
392
+ parent
393
+ });
394
+ return withSpreadProps(Object.defineProperties(row, {
395
+ [REORDER_ITEM]: {
396
+ value: list
397
+ }
398
+ }), keyboardAttributes(list, cfg, constUndefined));
399
+ }
400
+ const runtime = useWardicRuntime();
401
+ // Its keys' input, the `drag` Feature's it brings (#511).
402
+ const services = useBrought(ITEM_BRINGS);
403
+ const value = untrack(() => own.value);
404
+ // A keyboard lift turns the item's `whileDrag` on (ADR-0037).
405
+ const [lifted, setLifted] = createSignal(false);
406
+ let element;
407
+ const driver = list.controller.item(value, () => Option.fromUndefinedOr(element), setLifted);
408
+ // An item unmounted mid-gesture gets no end sample: its disposal ends the gesture (and a lift).
409
+ onCleanup(driver.dispose);
410
+ // The instructions' id (ADR-0037), derived, so the element is rendered with its `aria-describedby`:
411
+ // the page's document's, until the element's own replaces it (an iframe's). An effect adds the
412
+ // instructions element, writing nothing. An effect that wrote the id after the mount relayed
413
+ // through four effects, each flush showing the item without it (#320).
414
+ const [document, setDocument] = createSignal(globalThis.document);
415
+ const describedBy = createMemo(() => DomAnnouncer.instructionsIdOf(document(), list.instructions()), CLIENT_ONLY);
416
+ createEffect(() => ({
417
+ doc: document(),
418
+ text: list.instructions()
419
+ }), ({
420
+ doc,
421
+ text
422
+ }) => DomAnnouncer.showInstructions(doc, text), CLIENT_ONLY);
423
+ const row = wardWith(wardConfig, {
424
+ tag,
425
+ brings: ITEM_BRINGS,
426
+ fixed,
427
+ group: list,
428
+ parent,
429
+ dragAxis: () => dragAxisFor(driver.dragAxis()),
430
+ onDragSample: driver.onSample,
431
+ onLayoutHandle: driver.register,
432
+ raiseWhileDragged: true,
433
+ keysTaken: true,
434
+ lifted,
435
+ baseStyle: touchAction,
436
+ onMount: (el, watch) => {
437
+ element = el;
438
+ setDocument(DomAnnouncer.documentOf(el));
439
+ // Its keys, blurs and presses (ADR-0037), watched in the ward's watch Scope, with no fiber at rest (#379).
440
+ watch(onDefect => Effect.provideService(watchItemInput(el, driver, effect => void runtime.runFork(effect), onDefect), InputSource.InputSource, inputIn(services())));
441
+ return () => {
442
+ element = undefined;
443
+ };
444
+ }
445
+ });
446
+ // eslint-disable-next-line solid/reactivity -- handed to getters, which read it where the spread tracks them
447
+ return withSpreadProps(Object.defineProperties(row, {
448
+ [REORDER_ITEM]: {
449
+ value: list
450
+ }
451
+ }), keyboardAttributes(list, cfg, describedBy));
452
+ };
453
+ // --- Components (ADR-0020: built on the factories) ---------------------------------------------
454
+ /** The nearest `Reorder.Group`'s group, for its items: `null` for none (Solid 2's contexts). */
455
+ const GroupContext = createContext(null);
456
+ const GROUP_OWN = ["values", "onReorder", "axis", "keyboard", "announcements", "instructions", "as", "ref", "style", "children", "groupRef"];
457
+ const ITEM_OWN = [...MOTION_PROPS, "value", "as", "ref", "style", "children", "tabindex", "aria-describedby", "wardRef"];
458
+ /** A group's config keys: beside a given group, each it doesn't set (#398). */
459
+ const GROUP_CONFIG = ["values", "onReorder", "axis", "keyboard", "announcements", "instructions"];
460
+ /** An item's config keys, its motion props and its own: beside a given item, each it doesn't set (#398). */
461
+ const ITEM_CONFIG = [...MOTION_PROPS, "value", "tabindex", "aria-describedby"];
462
+ /** A `<Reorder>` item's keyboard reorder attributes (ADR-0037), which a given item's element carries (#349). */
463
+ const KEYBOARD_ATTRIBUTES = ["tabindex", "aria-describedby"];
464
+ /**
465
+ * The Wardic element for `tag`, as a plain component: a Slim element's (`w[tag]`, #511), so a Reorder
466
+ * brings no Feature but its own (ADR-0067 decision 12) and renders under a `strict` section.
467
+ */
468
+ const wardicTag = tag => UndefinedOr.getOrThrow(w[tag]);
469
+ /** The group given to `groupRef` (#349), or `undefined` for a function or none: read once, untracked, as `ref` is. */
470
+ const givenGroupOf = local => {
471
+ const ref = untrack(() => local.groupRef);
472
+ return Bool.match(Predicate.hasProperty(ref, REORDER_GROUP), {
473
+ onTrue: () => ref,
474
+ onFalse: constUndefined
475
+ });
476
+ };
477
+ /**
478
+ * A list put in order by dragging its items, or from the keyboard, rendered as `as`, `"ul"` by
479
+ * default. Your app owns `values`, and sets them from `onReorder`; or give it a group made with
480
+ * `reorderGroup` as `groupRef`. Key its `Reorder.Item`s with `<For>`.
481
+ *
482
+ * @see https://wardic.dev/reference/solid/reorder/reorder
483
+ */
484
+ // ADR-0020, #349: a `reorderGroup` on `w[as]`, the group in context for its items.
485
+ function Group(props) {
486
+ const local = props;
487
+ const given = givenGroupOf(local);
488
+ const list = UndefinedOr.match(given, {
489
+ onUndefined: () => {
490
+ // Its props are its config, read per key (#259).
491
+ const made = reorderGroup(local);
492
+ // The group, to its `groupRef` (#257 item 3), read once, untracked, as `ref` is.
493
+ const give = untrack(() => local.groupRef);
494
+ if (Predicate.isFunction(give)) give(made);
495
+ return made;
496
+ },
497
+ onDefined: group => {
498
+ besideGroup(local, group);
499
+ return group;
500
+ }
501
+ });
502
+ const Tag = wardicTag(UndefinedOr.match(untrack(() => local.as), {
503
+ onUndefined: () => "ul",
504
+ onDefined: identity
505
+ }));
506
+ const rest = omit(props, ...GROUP_OWN);
507
+ // Its element's style over the group's: `overflow-anchor: none`, under a given group's config (#349).
508
+ const styleOf = UndefinedOr.match(given, {
509
+ onUndefined: () => () => pipe(local.style, Style.over(ReorderController.GROUP_STYLE)),
510
+ onDefined: group => () => pipe(local.style, Style.over(group.style))
511
+ });
512
+ return _$createComponent(GroupContext, {
513
+ value: list,
514
+ get children() {
515
+ var _ref$ = refsOf(local, [list]);
516
+ return _$createComponent(Tag, _$mergeProps(rest, {
517
+ get style() {
518
+ return styleOf();
519
+ },
520
+ ref(r$) {
521
+ (typeof _ref$ === "function" || Array.isArray(_ref$)) && _$applyRef(_ref$, r$);
522
+ },
523
+ get children() {
524
+ return local.children;
525
+ }
526
+ }));
527
+ }
528
+ });
529
+ }
530
+ /**
531
+ * A `<Reorder>` item given to `Reorder.Item`'s `wardRef` (#349): one of `list`'s, made with
532
+ * {@link reorderItem}. Its element is driven by a ward of the component's, and carries the item's
533
+ * keyboard reorder attributes.
534
+ */
535
+ const givenItem = (list, local, share, tag) => {
536
+ if (Predicate.isUndefined(share.internal.group)) {
537
+ throw new Error("Reorder.Item: the ward in wardRef isn't a Reorder item (#349). Make it with reorderItem(list, { value }), list the group it's in.");
538
+ }
539
+ if (share.internal.group !== list) {
540
+ throw new Error("Reorder.Item: the item in wardRef is another group's (#349). Make it with reorderItem(list, …), list the Reorder.Group it renders in.");
541
+ }
542
+ const item = untrack(() => local.wardRef);
543
+ const {
544
+ ward: row,
545
+ setup
546
+ } = drivenWard("Reorder.Item", local, share, {
547
+ tag
548
+ }, ITEM_CONFIG);
549
+ // Its keyboard attributes: the item's, or the element's where it sets one the item doesn't (#398).
550
+ const keys = Object.defineProperties({}, Object.fromEntries(Arr.map(KEYBOARD_ATTRIBUTES, key => [key, Bool.match(sets(local, key), {
551
+ onTrue: () => ({
552
+ enumerable: true,
553
+ get: () => local[key]
554
+ }),
555
+ onFalse: () => UndefinedOr.getOrThrow(Object.getOwnPropertyDescriptor(item, key))
556
+ })])));
557
+ return {
558
+ row,
559
+ keys,
560
+ setup
561
+ };
562
+ };
563
+ /**
564
+ * An item of the `Reorder.Group` around it, rendered as `as`, `"li"` by default: made from its props,
565
+ * or an item made with `reorderItem` given as `wardRef`. Outside a group it throws, as Motion's does.
566
+ *
567
+ * @see https://wardic.dev/reference/solid/reorder/reorder
568
+ */
569
+ // ADR-0020, #349: a `reorderItem` on the nearest group.
570
+ function Item(props) {
571
+ const list = useContext(GroupContext);
572
+ if (Predicate.isNull(list)) throw new Error("Reorder.Item must be a child of Reorder.Group");
573
+ const local = props;
574
+ const tag = UndefinedOr.match(untrack(() => local.as), {
575
+ onUndefined: () => "li",
576
+ onDefined: identity
577
+ });
578
+ const given = givenOf(local);
579
+ // One plain element a tag, as every Wardic element's (#618, M3).
580
+ const Element = staticElementOf(tag);
581
+ const rest = omit(props, ...ITEM_OWN);
582
+ const element = UndefinedOr.match(given, {
583
+ onUndefined: () => {
584
+ // Its props are its config, read per key (#259); its `layout` is read as a Layout mode.
585
+ const row = reorderItemWith(list, local, undefined, tag);
586
+ // Its ward, to the item's `wardRef` (#257).
587
+ handOver(local, row);
588
+ // The ward's spread props, as an object: spread as the function it is, it's a source `merge`
589
+ // calls in a computation, whose keys `spread` can't know, so it inserts children too (#525, #618 M3).
590
+ const rowProps = row();
591
+ return {
592
+ row,
593
+ setup: undefined,
594
+ render: () => (() => {
595
+ var _ref$2 = refsOf(local, [row]);
596
+ return _$createComponent(Element, _$mergeProps(rest, rowProps, {
597
+ ref(r$) {
598
+ (typeof _ref$2 === "function" || Array.isArray(_ref$2)) && _$applyRef(_ref$2, r$);
599
+ },
600
+ get children() {
601
+ return local.children;
602
+ }
603
+ }));
604
+ })()
605
+ };
606
+ },
607
+ onDefined: share => {
608
+ const {
609
+ row,
610
+ keys,
611
+ setup
612
+ } = givenItem(list, local, share, tag);
613
+ return {
614
+ row,
615
+ setup,
616
+ render: () => (() => {
617
+ var _ref$3 = refsOf(local, [row]);
618
+ return _$createComponent(Element, _$mergeProps(rest, () => row.with({
619
+ style: local.style
620
+ }), keys, {
621
+ ref(r$) {
622
+ (typeof _ref$3 === "function" || Array.isArray(_ref$3)) && _$applyRef(_ref$3, r$);
623
+ },
624
+ get children() {
625
+ return local.children;
626
+ }
627
+ }));
628
+ })()
629
+ };
630
+ }
631
+ });
632
+ // An item that changes what its children read renders its variant context's Provider around them
633
+ // (#50), as every Wardic element does; any other renders none.
634
+ const config = UndefinedOr.match(element.setup, {
635
+ onUndefined: () => wardConfigView(local),
636
+ onDefined: identity
637
+ });
638
+ return Bool.match(untrack(() => changesContext(config)), {
639
+ onFalse: element.render,
640
+ onTrue: () => _$createComponent(element.row.Provider, {
641
+ get children() {
642
+ return element.render();
643
+ }
644
+ })
645
+ });
646
+ }
647
+ /**
648
+ * A list put in order by dragging its items, or from the keyboard: `Reorder.Group` and `Reorder.Item`.
649
+ * Your app owns the order: the group takes it as `values`, and `onReorder` hands each new one back.
650
+ * Motion's `Reorder`.
651
+ *
652
+ * @example
653
+ * <Reorder.Group values={items()} onReorder={setItems}>
654
+ * <For each={items()}>{(item) => <Reorder.Item value={item}>{item}</Reorder.Item>}</For>
655
+ * </Reorder.Group>
656
+ * @see https://wardic.dev/reference/solid/reorder/reorder
657
+ */
658
+ // ADR-0020.
659
+ export const Reorder = {
660
+ Group,
661
+ Item
662
+ };
663
+ //# sourceMappingURL=reorder.js.map