@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,236 @@
1
+ /**
2
+ * The keys a ward can read, typed from its config (#209 PR 3's Q4): completion offers every key the
3
+ * config animates, through `initial`, `animate`, `exit`, any variant, `whileHover`, `whileTap`,
4
+ * `whileDrag` or `style`, and `x`/`y` when it drags; any other key is still accepted (a custom
5
+ * property, a config built at run time). A config typed as a plain `WardConfig` offers every key.
6
+ *
7
+ * And a config's transitions' entries, checked against the keys each drives (#301's PR 2,
8
+ * {@link WardCheckedConfig}): Solid 2's `ward()` checks its config so.
9
+ *
10
+ * And a Wardic element's keys, inferred from its targets alone (#305, {@link InferredMotion}): the
11
+ * `wardic.*` components of both bindings and Solid 1's `createWard` check their transitions so.
12
+ * Types only.
13
+ *
14
+ * @module
15
+ */
16
+ import type * as Machine from "@wardic/core/Machine";
17
+ import type { Atom } from "effect/reactivity";
18
+ import type { WardicInertia, WardicInherit, WardicOrchestration, WardicReducedMotion, WardicSkipAnimations, WardicTargetValues, WardicTransformShorthands, WardicTransition, WardicTransitionWith, WardicValueEntries, WardicValueKey, WardicValues, WardicValueTransition, WardicVariantLabels, WardicVariantResolver } from "./config.ts";
19
+ import type { WardicAnimationControls } from "./animation-controls.ts";
20
+ import type { Accessor } from "./reactivity.ts";
21
+ /** A key's value through its accessor, the Solid 2 binding's per-key form (#259): what it returns. */
22
+ type Unwrap<V> = V extends (...args: never) => infer R ? R : V;
23
+ /**
24
+ * A layer's values map: nothing for a variant name, a list of names (#297), `false`, **Animation
25
+ * controls** (#433) or none; an accessor's, what it returns.
26
+ */
27
+ type MapOf<V> = Unwrap<V> extends infer U ? U extends object ? U extends (...args: never) => unknown ? never : U extends ReadonlyArray<unknown> ? never : U extends WardicAnimationControls ? never : U : never : never;
28
+ /** Every variant's values map. */
29
+ type VariantMaps<C> = C extends {
30
+ readonly variants?: infer Ws;
31
+ } ? Unwrap<Ws> extends infer Vs ? Vs extends object ? MapOf<Exclude<Vs, undefined>[keyof Exclude<Vs, undefined>]> : never : never : never;
32
+ /** Every values map a config animates. */
33
+ type MotionLayers<C> = MapOf<C extends {
34
+ readonly initial?: infer V;
35
+ } ? V : never> | MapOf<C extends {
36
+ readonly animate?: infer V;
37
+ } ? V : never> | MapOf<C extends {
38
+ readonly exit?: infer V;
39
+ } ? V : never> | MapOf<C extends {
40
+ readonly whileHover?: infer V;
41
+ } ? V : never> | MapOf<C extends {
42
+ readonly whileTap?: infer V;
43
+ } ? V : never> | MapOf<C extends {
44
+ readonly whileDrag?: infer V;
45
+ } ? V : never> | VariantMaps<C>;
46
+ /** Every values map a config animates or styles with. */
47
+ type Layers<C> = MotionLayers<C> | MapOf<C extends {
48
+ readonly style?: infer V;
49
+ } ? V : never>;
50
+ /** The keys of each member of a union. */
51
+ type KeysOf<U> = U extends unknown ? Exclude<keyof U & string, "transition" | "transitionEnd"> : never;
52
+ /** Each member's Transition end's keys (#428): keys a ward reads, though no transition drives them. */
53
+ type EndKeysOf<U> = U extends {
54
+ readonly transitionEnd?: infer E;
55
+ } ? KeysOf<MapOf<E>> : never;
56
+ /** A config's `drag`, through its accessor. */
57
+ type DragOf<C> = C extends {
58
+ readonly drag: infer D;
59
+ } ? Unwrap<D> : never;
60
+ /** The keys a drag moves: its axis's, or both. */
61
+ type DragKeys<C> = [DragOf<C>] extends [never] ? never : [DragOf<C>] extends ["x"] ? "x" : [DragOf<C>] extends ["y"] ? "y" : [DragOf<C>] extends [true] ? "x" | "y" : never;
62
+ /** The keys a config animates, and the ones its targets' Transition ends set. */
63
+ export type AnimatedKey<C> = KeysOf<Layers<C>> | EndKeysOf<MotionLayers<C>> | DragKeys<C>;
64
+ /**
65
+ * The keys a config's transitions drive (#305's Q2): {@link AnimatedKey}'s but `style`'s. Wardic never
66
+ * follows a `style` change (ADR-0022, decision 5), so a key only `style` sets never runs on one.
67
+ */
68
+ export type DrivenKey<C> = KeysOf<MotionLayers<C>> | DragKeys<C>;
69
+ /** A key a ward can read: one its config animates (completed), or any other (accepted). */
70
+ export type WardKey<C> = AnimatedKey<C> | (string & {});
71
+ /** A value as a ward reads it: a number or a string, a Live value read through. */
72
+ type Widen<V> = V extends number ? number : V extends string ? string : V extends Accessor<infer A> ? Widen<A> : V extends Atom.Atom<infer A> ? Widen<A> : never;
73
+ /** `K`'s values across a config's layers. */
74
+ type ValuesAt<C, K extends string> = Layers<C> extends infer L ? (L extends unknown ? (K extends keyof L ? L[K] : never) : never) : never;
75
+ /**
76
+ * What a ward reads for `K`: a transform key is always a number (its identity at rest); any other
77
+ * key, the type its config gives it (a number or a string), or `undefined` with no value.
78
+ */
79
+ export type WardValueOf<C, K extends string> = K extends keyof WardicTransformShorthands ? number : [Widen<ValuesAt<C, K>>] extends [never] ? number | string | undefined : Widen<ValuesAt<C, K>> | undefined;
80
+ /** A transition option's name, on either arm, a target's `inherit` among them: never an entry. */
81
+ type OptionName = keyof (Omit<Machine.SpringOptions, "from"> & Machine.AnimateOptions & WardicOrchestration & WardicReducedMotion & WardicSkipAnimations & WardicInherit & WardicInertia) | "type";
82
+ /**
83
+ * What a name that's neither an option nor an entry the transition allows is checked against: why.
84
+ * As an object for a value that isn't one (a mistyped option), which a string would meet as `never`.
85
+ */
86
+ type NotHere<P extends string, V> = V extends object ? `'${P}' is neither a transition option nor a key animated here` : {
87
+ readonly "is neither a transition option nor a key animated here": P;
88
+ };
89
+ /** Whether keys are every value's (a config typed wide, `WardConfig`'s): no literal key is a template. */
90
+ type IsWide<K> = `-${string}` extends K ? true : false;
91
+ /**
92
+ * Each member's keys, as one union. A union's own `keyof` is the keys they share, an intersection:
93
+ * for a transition's two arms, two unions of every value's name, which TS crosses (TS2590).
94
+ */
95
+ type KeysIn<T> = T extends unknown ? keyof T & string : never;
96
+ /** Each member's value at `P`. */
97
+ type ValueIn<T, P extends string> = T extends unknown ? (P extends keyof T ? T[P] : never) : never;
98
+ /** `X` in the form `raw` was given: an accessor of it for an accessor (#259's per-key config), which may read none. */
99
+ type Rewrap<Raw, X> = Raw extends (...args: never) => unknown ? () => X | undefined : X;
100
+ /**
101
+ * The transition given as `raw`, checked (#301): entries for `K` (and `default`), every other name
102
+ * an option, else an error naming it.
103
+ */
104
+ type CheckedTransition<Raw, E, K extends string> = IsWide<K | KeysIn<NonNullable<Unwrap<Raw>>>> extends true ? unknown : Rewrap<Raw, WardicTransitionWith<E> & WardicInherit & {
105
+ readonly [P in Exclude<KeysIn<NonNullable<Unwrap<Raw>>>, K | OptionName | "default">]: NotHere<P, ValueIn<NonNullable<Unwrap<Raw>>, P>>;
106
+ }>;
107
+ /** `C`'s value at `K`, or `undefined` without one. */
108
+ type RawOf<C, K extends string> = K extends keyof C ? C[K] : undefined;
109
+ /**
110
+ * A target, checked: its values as any target's, Keyframes among them (#429), and its own transition (#277) with entries for the
111
+ * keys it sets (Q2) and `default`, no `layout`. A dynamic variant is a resolver as ever, a variant
112
+ * name or `false` as it is.
113
+ */
114
+ type CheckedTarget<T> = T extends (...args: never) => unknown ? WardicVariantResolver : T extends WardicAnimationControls ? T : T extends object ? T extends ReadonlyArray<unknown> ? T : Omit<WardicTargetValues, "transition"> & {
115
+ readonly transition?: CheckedTransition<RawOf<T, "transition">, WardicValueEntries<KeysOf<T>>, KeysOf<T>>;
116
+ } & CheckedEnd<T> & NoStray<T> : T;
117
+ /** `initial`, checked (#305's Q4): its values' names. A variant name, a list of them or `false` as it is. */
118
+ type CheckedInitial<T> = T extends object ? (T extends ReadonlyArray<unknown> ? T : Omit<WardicTargetValues, "transition"> & CheckedEnd<T> & NoStray<T>) : T;
119
+ /** What a name in a values map that isn't a value meets: an error naming it, an object, as {@link NotHere}'s. */
120
+ type NotAValue<P extends string> = {
121
+ readonly "is not a value Wardic animates": P;
122
+ };
123
+ /**
124
+ * `T`'s names that aren't values, each an error (#305's Q4). The config is inferred from its literal,
125
+ * so every name a values map has is a known property: the check is what rejects `opacty`.
126
+ */
127
+ type NoStray<T> = T extends object ? IsWide<keyof T & string> extends true ? unknown : {
128
+ readonly [P in Exclude<keyof T & string, WardicValueKey | "transition" | "transitionEnd">]: NotAValue<P>;
129
+ } : unknown;
130
+ /** A target's Transition end, checked (#428): a values map whose names are values. */
131
+ type CheckedEnd<T> = {
132
+ readonly transitionEnd?: Omit<WardicValues, "transition"> & NoStray<RawOf<T, "transitionEnd">>;
133
+ };
134
+ /** The config props that take a target. */
135
+ type TargetProp = "animate" | "exit" | "whileHover" | "whileTap" | "whileDrag" | "whileFocus" | "whileInView";
136
+ /** Each variant, checked; a variants map typed wide as it is. */
137
+ type VariantsOf<C> = Unwrap<C["variants" & keyof C]> extends infer Vs ? Vs extends object ? Rewrap<C["variants" & keyof C], {
138
+ readonly [N in keyof Vs]: CheckedTarget<Vs[N]>;
139
+ }> : C["variants" & keyof C] : never;
140
+ /** Whether a prop gives a variant name, or a list of them (#297), or **Animation controls** (#433), which give them. */
141
+ type GivesLabels<V> = Unwrap<V> extends string | ReadonlyArray<string> | WardicAnimationControls ? true : false;
142
+ /**
143
+ * Whether Variant children can join the element (Motion's `isVariantNode`): it has `variants`, or
144
+ * gives a variant name in `initial` or `animate`. They inherit its `transition`, so its entries may
145
+ * be for their keys.
146
+ */
147
+ type HandsDown<C> = true extends ("variants" extends keyof C ? ([Unwrap<C["variants" & keyof C]>] extends [undefined] ? false : true) : false) | ("initial" extends keyof C ? GivesLabels<C["initial" & keyof C]> : false) | ("animate" extends keyof C ? GivesLabels<C["animate" & keyof C]> : false) ? true : false;
148
+ /**
149
+ * The element's `transition`, checked (Q1): entries for the keys it animates, `default` and `layout`.
150
+ * An element Variant children can join takes every value's name, as Motion types it: they inherit
151
+ * it.
152
+ */
153
+ type ElementTransition<C> = HandsDown<C> extends true ? Rewrap<RawOf<C, "transition">, WardicTransition> : CheckedTransition<RawOf<C, "transition">, WardicValueEntries<DrivenKey<C>> & {
154
+ readonly layout?: WardicValueTransition;
155
+ }, DrivenKey<C> | "layout">;
156
+ /**
157
+ * A config `C` with its transitions' entries checked (#301's PR 2, ADR-0049), for a binding whose
158
+ * config is `W`: completion inside a `transition` offers the keys it drives, and an entry for any
159
+ * other is an error naming it. The element's `transition` takes the keys the element animates,
160
+ * `default` and `layout`, every value's name for an element Variant children can join; a target's
161
+ * own (a variant's, `animate`'s, a gesture's, `exit`'s), the keys that target sets and `default`. A
162
+ * config typed as a plain `WardConfig` takes every name. Every other key is `W`'s, so a callback's
163
+ * parameters are typed as ever.
164
+ */
165
+ export type WardCheckedConfig<C, W> = C & {
166
+ readonly [K in keyof W]?: K extends "transition" ? ElementTransition<C> : K extends keyof C ? K extends TargetProp ? Rewrap<C[K], CheckedTarget<Unwrap<C[K]>>> : K extends "variants" ? VariantsOf<C> : K extends "initial" ? Rewrap<C[K], CheckedInitial<Unwrap<C[K]>>> : W[K] : W[K];
167
+ };
168
+ /** A name a target sets: a value's, its own `transition`, or its `transitionEnd` (#428). */
169
+ export type TargetKey = WardicValueKey | "transition" | "transitionEnd";
170
+ /** The value names among a target's names: not its `transition` or its `transitionEnd`. */
171
+ type ValueNameOf<K> = Exclude<K, "transition" | "transitionEnd">;
172
+ /**
173
+ * The names `K` a values map sets, inferred from it. One that isn't a value fails `K`'s constraint, so
174
+ * `K` is every name and the map is checked against all of them, where it's an excess property.
175
+ */
176
+ type NamesOf<K extends string> = {
177
+ readonly [P in K]?: unknown;
178
+ };
179
+ /**
180
+ * A target, its names inferred into `K` (#305's Q1): any target's values, and its own transition with
181
+ * entries for the element's keys `E` and `default`, no `layout` (Q3). A values map's own type stays
182
+ * whole, so an editor completes every value's name inside it while `K` is being inferred.
183
+ */
184
+ export type InferredTarget<K extends TargetKey, E extends string> = Omit<WardicTargetValues, "transition"> & {
185
+ readonly transition?: (WardicTransitionWith<WardicValueEntries<E>> & WardicInherit) | WardicValues["transition"];
186
+ } & {
187
+ readonly transitionEnd?: Omit<WardicValues, "transition">;
188
+ } & NamesOf<K>;
189
+ /** The keys a drag `D` moves. */
190
+ type DragMoves<D> = [D] extends [never] ? never : [D] extends ["x"] ? "x" : [D] extends ["y"] ? "y" : [D] extends [true] ? "x" | "y" : never;
191
+ /**
192
+ * Whether variant names `L` were given. A values map is inferred into `L` too, failing its constraint,
193
+ * so `L` is then every name, `string`-wide: only a literal name counts.
194
+ */
195
+ type GivesNames<L> = [L] extends [never] ? false : string extends L ? false : true;
196
+ /**
197
+ * Whether Variant children can join the element (Motion's `isVariantNode`): it has `variants` (names
198
+ * `N`), or gives a name in `initial` or `animate`. They inherit its `transition`, so it takes every
199
+ * value's name (#301's Q1).
200
+ */
201
+ type JoinedBy<N extends string, LI, LA> = [N] extends [never] ? (true extends GivesNames<LI> | GivesNames<LA> ? true : false) : true;
202
+ /**
203
+ * The keys the element animates: its targets' names, its drag axis's, and `X`, those it animates
204
+ * through a ward given to it (#398). A key only `style` sets never runs on a transition (Q2).
205
+ */
206
+ type InferredKey<K extends TargetKey, D, X extends string> = ValueNameOf<K> | DragMoves<D> | X;
207
+ /** The props {@link InferredMotion} types again. */
208
+ type InferredProp = "initial" | "animate" | "exit" | "whileHover" | "whileTap" | "whileDrag" | "whileFocus" | "whileInView" | "variants" | "transition" | "drag";
209
+ /**
210
+ * The motion props `M` (a Wardic element's, or a Solid 1 ward's config) with their keys inferred
211
+ * (#305): `K` from every target, `N` from `variants`' names, `LI` and `LA` from a name given in
212
+ * `initial` and `animate`, `D` from `drag`; `X`, the keys a ward given to the element animates. Each target keeps its own type, so a name in it that isn't
213
+ * a value is still an error. The element's `transition` takes entries for the keys it animates,
214
+ * `default` and `layout`, every value's name when Variant children can join it, or when no key could
215
+ * be inferred: an overloaded generic call in a target (Effect's `Bool.match`) gives TS none.
216
+ * `transition` gives `K` no names of its own (`NoInfer`).
217
+ */
218
+ export type InferredMotion<M, K extends TargetKey, N extends string, LI extends WardicVariantLabels, LA extends WardicVariantLabels, D extends boolean | "x" | "y", X extends string = never> = Omit<M, InferredProp> & {
219
+ readonly initial?: InferredTarget<K, NoInfer<ValueNameOf<K>>> | LI | false;
220
+ readonly animate?: InferredTarget<K, NoInfer<ValueNameOf<K>>> | LA | WardicAnimationControls;
221
+ readonly exit?: InferredTarget<K, NoInfer<ValueNameOf<K>>> | WardicVariantLabels;
222
+ readonly whileHover?: InferredTarget<K, NoInfer<ValueNameOf<K>>> | WardicVariantLabels;
223
+ readonly whileTap?: InferredTarget<K, NoInfer<ValueNameOf<K>>> | WardicVariantLabels;
224
+ readonly whileDrag?: InferredTarget<K, NoInfer<ValueNameOf<K>>> | WardicVariantLabels;
225
+ readonly whileFocus?: InferredTarget<K, NoInfer<ValueNameOf<K>>> | WardicVariantLabels;
226
+ readonly whileInView?: InferredTarget<K, NoInfer<ValueNameOf<K>>> | WardicVariantLabels;
227
+ readonly variants?: {
228
+ readonly [V in N]: InferredTarget<K, NoInfer<ValueNameOf<K>>> | WardicVariantResolver;
229
+ };
230
+ readonly drag?: D;
231
+ readonly transition?: true extends NoInfer<JoinedBy<N, LI, LA> | ([InferredKey<K, D, X>] extends [never] ? true : false)> ? WardicTransition : WardicTransitionWith<NoInfer<WardicValueEntries<InferredKey<K, D, X>> & {
232
+ readonly layout?: WardicValueTransition;
233
+ }>>;
234
+ };
235
+ export {};
236
+ //# sourceMappingURL=ward-keys.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ward-keys.d.ts","sourceRoot":"","sources":["../../src/ward-keys.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ward-keys.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ward-keys.js","sourceRoot":"","sources":["../../src/ward-keys.ts"],"names":[],"mappings":""}
@@ -0,0 +1,50 @@
1
+ /** `wardic.create`'s options (Motion's `motion.create(Component, options)`). */
2
+ export interface WardicCreateOptions {
3
+ /**
4
+ * Hand the motion props on to what it renders as well (Motion's `forwardMotionProps`): a wrapped
5
+ * component gets `animate`, `whileHover` and the rest beside the Ward's spread, and a tag gets them as
6
+ * attributes, as Motion's does. They still drive the element. Default `false`.
7
+ */
8
+ readonly forwardMotionProps?: boolean | undefined;
9
+ /**
10
+ * What its element is, for its server render and its Starting style (Motion's `type`): `"svg"`, an
11
+ * element inside an `<svg>`, whose attribute keys (`d`, `cx`, `pathLength`…) render as attributes;
12
+ * `"html"`, every key as style. Left out, a tag's own name decides, and a wrapped component's
13
+ * element is HTML. In the browser, the element itself decides, as it always has.
14
+ */
15
+ readonly type?: "svg" | "html" | undefined;
16
+ }
17
+ /**
18
+ * The tag an element's server render and Starting style route its keys by (#443): `type`'s over its
19
+ * own (`undefined` for a wrapped component). `"svg"` keeps a known tag, which says which SVG element.
20
+ */
21
+ export declare const routingTagOf: (tag: string | undefined, type: WardicCreateOptions["type"]) => string | undefined;
22
+ /** A component function, as {@link unwrapWardicComponent} gives it back, whichever Solid it's for. */
23
+ export type AnyComponentFunction = (props: never) => unknown;
24
+ /** `component`, marked as made by `wardic.create` from `wraps` (#443). */
25
+ export declare const markWardic: <C extends object>(component: C, wraps: string | AnyComponentFunction) => C;
26
+ /**
27
+ * Whether `component` is a Wardic element's component: one that `w.<tag>`, `wardic.<tag>` or
28
+ * `wardic.create` made, on either binding. Motion's `isMotionComponent`.
29
+ *
30
+ * @example
31
+ * isWardicComponent(wardic.div) // true
32
+ * @see https://wardic.dev/reference/solid/utilities/component-checks
33
+ */
34
+ export declare const isWardicComponent: (component: unknown) => boolean;
35
+ /**
36
+ * What a Wardic element's component wraps: its tag, `"div"` for `wardic.div`, or the component given to
37
+ * `wardic.create`; `undefined` for anything else. Motion's `unwrapMotionComponent`.
38
+ *
39
+ * @see https://wardic.dev/reference/solid/utilities/component-checks
40
+ */
41
+ export declare const unwrapWardicComponent: (component: unknown) => string | AnyComponentFunction | undefined;
42
+ /**
43
+ * The keys of a tag's own props (`keysOf`: the motion props, `ref` and `style` split off) that a
44
+ * `WardicConfig`'s `isValidProp` keeps from the element (#443, Motion's `filterProps`): each that
45
+ * doesn't start with `on` and that it says isn't valid. None without one, or for a wrapped component,
46
+ * which gets every prop, as Motion's does; `keysOf` isn't read then. Decided for the keys it has as
47
+ * it's made.
48
+ */
49
+ export declare const droppedKeysOf: (keysOf: () => ReadonlyArray<string>, isValidProp: ((key: string) => boolean) | undefined, isTag: boolean) => ReadonlyArray<string>;
50
+ //# sourceMappingURL=wardic-component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wardic-component.d.ts","sourceRoot":"","sources":["../../src/wardic-component.ts"],"names":[],"mappings":"AAaA,gFAAgF;AAChF,MAAM,WAAW,mBAAmB;IAClC;;;;OAIG;IACH,QAAQ,CAAC,kBAAkB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IACjD;;;;;OAKG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,SAAS,CAAA;CAC3C;AAQD;;;GAGG;AACH,eAAO,MAAM,YAAY,QAAS,MAAM,GAAG,SAAS,QAAQ,mBAAmB,CAAC,MAAM,CAAC,KAAG,MAAM,GAAG,SAIlG,CAAA;AASD,sGAAsG;AACtG,MAAM,MAAM,oBAAoB,GAAG,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,CAAA;AAE5D,0EAA0E;AAC1E,eAAO,MAAM,UAAU,GAAI,CAAC,SAAS,MAAM,aAAa,CAAC,SAAS,MAAM,GAAG,oBAAoB,KAAG,CAC5B,CAAA;AAEtE;;;;;;;GAOG;AAEH,eAAO,MAAM,iBAAiB,cAAe,OAAO,KAAG,OAA6D,CAAA;AAEpH;;;;;GAKG;AAEH,eAAO,MAAM,qBAAqB,cAAe,OAAO,KAAG,MAAM,GAAG,oBAAoB,GAAG,SAG1F,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,WAAY,MAAM,aAAa,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,SAAS,SAAS,OAAO,KAAG,aAAa,CAAC,MAAM,CAK5J,CAAA"}
@@ -0,0 +1,74 @@
1
+ /**
2
+ * What both bindings' `wardic.create` shares, Solid-free (#443): its options (Motion's `motion.create`
3
+ * options, `forwardMotionProps` and `type`), the mark it sets on what it makes (Motion's
4
+ * `motionComponentSymbol`), and the `WardicConfig` `isValidProp` filter on a tag's own props.
5
+ *
6
+ * @module
7
+ */
8
+ import * as Arr from "effect/Array";
9
+ import * as Bool from "effect/Boolean";
10
+ import { identity } from "effect/Function";
11
+ import * as Predicate from "effect/Predicate";
12
+ import * as UndefinedOr from "effect/UndefinedOr";
13
+ /**
14
+ * The tag a wrapped component's svg-inner element routes its keys by when its own tag isn't known:
15
+ * every svg-inner element routes them alike (ADR-0014).
16
+ */
17
+ const SVG_INNER = "g";
18
+ /**
19
+ * The tag an element's server render and Starting style route its keys by (#443): `type`'s over its
20
+ * own (`undefined` for a wrapped component). `"svg"` keeps a known tag, which says which SVG element.
21
+ */
22
+ export const routingTagOf = (tag, type) => {
23
+ if (type === "html")
24
+ return undefined;
25
+ if (type === "svg")
26
+ return UndefinedOr.match(tag, { onUndefined: () => SVG_INNER, onDefined: identity });
27
+ return tag;
28
+ };
29
+ /**
30
+ * The mark on every component `wardic.create` and `wardic.<tag>` make (#443, Motion's
31
+ * `motionComponentSymbol`), holding the tag or the component it wraps. Registered, so both bindings,
32
+ * and two copies of the package, read each other's.
33
+ */
34
+ const WARDIC_COMPONENT = Symbol.for("@wardic/solid/component");
35
+ /** `component`, marked as made by `wardic.create` from `wraps` (#443). */
36
+ export const markWardic = (component, wraps) => Object.defineProperty(component, WARDIC_COMPONENT, { value: wraps });
37
+ /**
38
+ * Whether `component` is a Wardic element's component: one that `w.<tag>`, `wardic.<tag>` or
39
+ * `wardic.create` made, on either binding. Motion's `isMotionComponent`.
40
+ *
41
+ * @example
42
+ * isWardicComponent(wardic.div) // true
43
+ * @see https://wardic.dev/reference/solid/utilities/component-checks
44
+ */
45
+ // #443.
46
+ export const isWardicComponent = (component) => Predicate.hasProperty(component, WARDIC_COMPONENT);
47
+ /**
48
+ * What a Wardic element's component wraps: its tag, `"div"` for `wardic.div`, or the component given to
49
+ * `wardic.create`; `undefined` for anything else. Motion's `unwrapMotionComponent`.
50
+ *
51
+ * @see https://wardic.dev/reference/solid/utilities/component-checks
52
+ */
53
+ // #443.
54
+ export const unwrapWardicComponent = (component) => {
55
+ if (Bool.not(isWardicComponent(component)))
56
+ return undefined;
57
+ return component[WARDIC_COMPONENT];
58
+ };
59
+ /**
60
+ * The keys of a tag's own props (`keysOf`: the motion props, `ref` and `style` split off) that a
61
+ * `WardicConfig`'s `isValidProp` keeps from the element (#443, Motion's `filterProps`): each that
62
+ * doesn't start with `on` and that it says isn't valid. None without one, or for a wrapped component,
63
+ * which gets every prop, as Motion's does; `keysOf` isn't read then. Decided for the keys it has as
64
+ * it's made.
65
+ */
66
+ export const droppedKeysOf = (keysOf, isValidProp, isTag) => {
67
+ if (Predicate.isUndefined(isValidProp))
68
+ return Arr.empty();
69
+ if (Bool.not(isTag))
70
+ return Arr.empty();
71
+ // `&&`, not `Bool.and`: `isValidProp` is asked of no `on` key, as Motion asks it.
72
+ return Arr.filter(keysOf(), (key) => !key.startsWith("on") && !isValidProp(key));
73
+ };
74
+ //# sourceMappingURL=wardic-component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wardic-component.js","sourceRoot":"","sources":["../../src/wardic-component.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,GAAG,MAAM,cAAc,CAAA;AACnC,OAAO,KAAK,IAAI,MAAM,gBAAgB,CAAA;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAC1C,OAAO,KAAK,SAAS,MAAM,kBAAkB,CAAA;AAC7C,OAAO,KAAK,WAAW,MAAM,oBAAoB,CAAA;AAmBjD;;;GAGG;AACH,MAAM,SAAS,GAAG,GAAG,CAAA;AAErB;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,GAAuB,EAAE,IAAiC,EAAsB,EAAE;IAC7G,IAAI,IAAI,KAAK,MAAM;QAAE,OAAO,SAAS,CAAA;IACrC,IAAI,IAAI,KAAK,KAAK;QAAE,OAAO,WAAW,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAA;IACxG,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA;AAED;;;;GAIG;AACH,MAAM,gBAAgB,GAAkB,MAAM,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAA;AAK7E,0EAA0E;AAC1E,MAAM,CAAC,MAAM,UAAU,GAAG,CAAmB,SAAY,EAAE,KAAoC,EAAK,EAAE,CACpG,MAAM,CAAC,cAAc,CAAC,SAAS,EAAE,gBAAgB,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAA;AAEtE;;;;;;;GAOG;AACH,QAAQ;AACR,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,SAAkB,EAAW,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAA;AAEpH;;;;;GAKG;AACH,QAAQ;AACR,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,SAAkB,EAA6C,EAAE;IACrG,IAAI,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAAE,OAAO,SAAS,CAAA;IAC5D,OAAQ,SAA4E,CAAC,gBAAgB,CAAC,CAAA;AACxG,CAAC,CAAA;AAED;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,MAAmC,EAAE,WAAmD,EAAE,KAAc,EAAyB,EAAE;IAC/J,IAAI,SAAS,CAAC,WAAW,CAAC,WAAW,CAAC;QAAE,OAAO,GAAG,CAAC,KAAK,EAAE,CAAA;IAC1D,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;QAAE,OAAO,GAAG,CAAC,KAAK,EAAE,CAAA;IACvC,kFAAkF;IAClF,OAAO,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAA;AAClF,CAAC,CAAA"}
@@ -0,0 +1,87 @@
1
+ /**
2
+ * What a `WardicConfig` gives the Wardic elements below it (#434, Motion's `MotionConfig`),
3
+ * Solid-free, on both bindings: its **Config transition**, its reduced motion and whether its
4
+ * animations are skipped (#468).
5
+ *
6
+ * - **The Config transition is an element's own when it gives none,** as Motion's
7
+ * `{ ...config, ...props }`: whatever reads the element's `transition` reads it, a Variant child's in
8
+ * place of its parent's (Q3).
9
+ * - **Its reduced motion** (ADR-0029) is the element's, over the `WardicProvider`'s (Q2), as Motion
10
+ * reads its `MotionConfig`'s per element.
11
+ * - **`skipAnimations`** (#468) makes every animation of the elements below a **Skipped animation**,
12
+ * Motion's `MotionConfig` `skipAnimations`, whatever their reduced motion.
13
+ * - **`isValidProp`** (#443) keeps a tag's props it says aren't valid off its element, Motion's
14
+ * `MotionConfig` `isValidProp`.
15
+ * - **`transformPagePoint`** (#443) maps the points a drag or a pan below it uses, Motion's
16
+ * `MotionConfig` `transformPagePoint`.
17
+ * - **A `WardicConfig` inside another** replaces its transition, or with `inherit: true` lays its own
18
+ * fields over it (Motion's `resolveTransition`); one that gives none passes its parent's on, as one
19
+ * that gives no reduced motion, `skipAnimations`, `isValidProp` or `transformPagePoint` passes its parent's.
20
+ *
21
+ * @module
22
+ */
23
+ import type * as ReducedMotion from "@wardic/core/ReducedMotion";
24
+ import * as Option from "effect/Option";
25
+ import type { WardicTransformPoint, WardicTransition, WardicVariantTransition } from "./config.ts";
26
+ /** What a `WardicConfig` gives below it (#434): one value per config, read where a binding reads it. */
27
+ export interface WardicConfigValue {
28
+ /** Its **Config transition**: read when an element's transition is, so a change starts nothing by itself. */
29
+ readonly transition: () => WardicTransition | undefined;
30
+ /**
31
+ * Its reduced motion (ADR-0029): its own, else an enclosing config's, else `undefined` for the
32
+ * `WardicProvider`'s. Read when each animation starts.
33
+ */
34
+ readonly reducedMotion: () => ReducedMotion.Config | undefined;
35
+ /**
36
+ * Whether its animations are skipped (#468): its own, else an enclosing config's, else `undefined`,
37
+ * as `false`. Read when each animation starts.
38
+ */
39
+ readonly skipAnimations: () => boolean | undefined;
40
+ /**
41
+ * Which of a tag's own props reach its element (#443, Motion's `MotionConfig` `isValidProp`): its
42
+ * own, else an enclosing config's, else `undefined`, every one. Read as each element is made.
43
+ */
44
+ readonly isValidProp: () => ((key: string) => boolean) | undefined;
45
+ /**
46
+ * Where a drag's or a pan's points are (#443, Motion's `MotionConfig` `transformPagePoint`): its
47
+ * own, else an enclosing config's, else `undefined`, as they are. Read at each drag or pan start.
48
+ */
49
+ readonly transformPagePoint: () => WardicTransformPoint | undefined;
50
+ }
51
+ /**
52
+ * A `WardicConfig`'s transition (#434): its own, laid over its parent's with `inherit: true` (as a
53
+ * variant's own is over the element's), else its parent's when it gives none.
54
+ */
55
+ export declare const configTransitionOf: (own: WardicVariantTransition | undefined, parent: WardicConfigValue | undefined) => WardicTransition | undefined;
56
+ /** A `WardicConfig`'s reduced motion (#434): its own, else its parent's, else none (the provider's). */
57
+ export declare const configReducedMotionOf: (own: ReducedMotion.Config | undefined, parent: WardicConfigValue | undefined) => ReducedMotion.Config | undefined;
58
+ /** A `WardicConfig`'s `skipAnimations` (#468): its own, else its parent's, else none. */
59
+ export declare const configSkipAnimationsOf: (own: boolean | undefined, parent: WardicConfigValue | undefined) => boolean | undefined;
60
+ /** A `WardicConfig`'s `isValidProp` (#443): its own, else its parent's, else none. */
61
+ export declare const configIsValidPropOf: (own: ((key: string) => boolean) | undefined, parent: WardicConfigValue | undefined) => ((key: string) => boolean) | undefined;
62
+ /** A `WardicConfig`'s `transformPagePoint` (#443): its own, else its parent's, else none. */
63
+ export declare const configTransformPagePointOf: (own: WardicTransformPoint | undefined, parent: WardicConfigValue | undefined) => WardicTransformPoint | undefined;
64
+ /** The nearest config's `transformPagePoint` (#443), read at each drag or pan start: `undefined` for none. */
65
+ export declare const transformPagePointOf: (config: WardicConfigValue | undefined) => (() => WardicTransformPoint | undefined);
66
+ /**
67
+ * A `transformPagePoint` as core's gestures take it (#618, A1): an `Option`, the same `Some` while the
68
+ * mapping is the same, so a gesture's down allocates nothing.
69
+ */
70
+ export declare const pointMapOptionOf: (read: () => WardicTransformPoint | undefined) => (() => Option.Option<WardicTransformPoint>);
71
+ /** The nearest config's `isValidProp` (#443), as an element is made: `undefined` for none. */
72
+ export declare const isValidPropOf: (config: WardicConfigValue | undefined) => ((key: string) => boolean) | undefined;
73
+ /**
74
+ * Whether an element's animations are skipped (#468), read when each starts: its nearest config's
75
+ * `skipAnimations`. With no config above, never, and nothing made.
76
+ */
77
+ export declare const skipAnimationsOf: (config: WardicConfigValue | undefined) => (() => boolean);
78
+ /** The reduced motion an element's nearest config sets (#434), now: `undefined` for none, the provider's. */
79
+ export declare const settingOf: (config: WardicConfigValue | undefined) => ReducedMotion.Config | undefined;
80
+ /**
81
+ * `c` with its **Config transition** as its own when it gives none (#434, Motion's spread): `c` as it
82
+ * is when it has its own or the config gives none.
83
+ */
84
+ export declare const withConfigTransition: <C extends {
85
+ readonly transition?: WardicTransition | undefined;
86
+ }>(c: C, config: WardicConfigValue | undefined) => C;
87
+ //# sourceMappingURL=wardic-config-value.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wardic-config-value.d.ts","sourceRoot":"","sources":["../../src/wardic-config-value.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,KAAK,KAAK,aAAa,MAAM,4BAA4B,CAAA;AAEhE,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAA;AAGlG,wGAAwG;AACxG,MAAM,WAAW,iBAAiB;IAChC,6GAA6G;IAC7G,QAAQ,CAAC,UAAU,EAAE,MAAM,gBAAgB,GAAG,SAAS,CAAA;IACvD;;;OAGG;IACH,QAAQ,CAAC,aAAa,EAAE,MAAM,aAAa,CAAC,MAAM,GAAG,SAAS,CAAA;IAC9D;;;OAGG;IACH,QAAQ,CAAC,cAAc,EAAE,MAAM,OAAO,GAAG,SAAS,CAAA;IAClD;;;OAGG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,SAAS,CAAA;IAClE;;;OAGG;IACH,QAAQ,CAAC,kBAAkB,EAAE,MAAM,oBAAoB,GAAG,SAAS,CAAA;CACpE;AAED;;;GAGG;AACH,eAAO,MAAM,kBAAkB,QAAS,uBAAuB,GAAG,SAAS,UAAU,iBAAiB,GAAG,SAAS,KAAG,gBAAgB,GAAG,SACnF,CAAA;AAOrD,wGAAwG;AACxG,eAAO,MAAM,qBAAqB,QAAS,aAAa,CAAC,MAAM,GAAG,SAAS,UAAU,iBAAiB,GAAG,SAAS,KAAG,aAAa,CAAC,MAAM,GAAG,SAI3I,CAAA;AAED,yFAAyF;AACzF,eAAO,MAAM,sBAAsB,QAAS,OAAO,GAAG,SAAS,UAAU,iBAAiB,GAAG,SAAS,KAAG,OAAO,GAAG,SAIlH,CAAA;AAED,sFAAsF;AACtF,eAAO,MAAM,mBAAmB,QAAS,CAAC,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,SAAS,UAAU,iBAAiB,GAAG,SAAS,KAAG,CAAC,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,SAIrJ,CAAA;AAED,6FAA6F;AAC7F,eAAO,MAAM,0BAA0B,QAAS,oBAAoB,GAAG,SAAS,UAAU,iBAAiB,GAAG,SAAS,KAAG,oBAAoB,GAAG,SAIhJ,CAAA;AAED,8GAA8G;AAC9G,eAAO,MAAM,oBAAoB,WAAY,iBAAiB,GAAG,SAAS,KAAG,CAAC,MAAM,oBAAoB,GAAG,SAAS,CAGnH,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,gBAAgB,SAAU,MAAM,oBAAoB,GAAG,SAAS,KAAG,CAAC,MAAM,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAWzH,CAAA;AAED,8FAA8F;AAC9F,eAAO,MAAM,aAAa,WAAY,iBAAiB,GAAG,SAAS,KAAG,CAAC,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,SAGlG,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,gBAAgB,WAAY,iBAAiB,GAAG,SAAS,KAAG,CAAC,MAAM,OAAO,CAGtF,CAAA;AAED,6GAA6G;AAC7G,eAAO,MAAM,SAAS,WAAY,iBAAiB,GAAG,SAAS,KAAG,aAAa,CAAC,MAAM,GAAG,SAGxF,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,oBAAoB,GAAI,CAAC,SAAS;IAAE,QAAQ,CAAC,UAAU,CAAC,EAAE,gBAAgB,GAAG,SAAS,CAAA;CAAE,KAAK,CAAC,UAAU,iBAAiB,GAAG,SAAS,KAAG,CAMpJ,CAAA"}
@@ -0,0 +1,106 @@
1
+ import { constFalse, constUndefined } from "effect/Function";
2
+ import * as Option from "effect/Option";
3
+ import * as Predicate from "effect/Predicate";
4
+ import { transitionOfTarget } from "./variant-target.js";
5
+ /**
6
+ * A `WardicConfig`'s transition (#434): its own, laid over its parent's with `inherit: true` (as a
7
+ * variant's own is over the element's), else its parent's when it gives none.
8
+ */
9
+ export const configTransitionOf = (own, parent) => transitionOfTarget(own, parentTransitionOf(parent));
10
+ const parentTransitionOf = (parent) => {
11
+ if (Predicate.isUndefined(parent))
12
+ return undefined;
13
+ return parent.transition();
14
+ };
15
+ /** A `WardicConfig`'s reduced motion (#434): its own, else its parent's, else none (the provider's). */
16
+ export const configReducedMotionOf = (own, parent) => {
17
+ if (Predicate.isNotUndefined(own))
18
+ return own;
19
+ if (Predicate.isUndefined(parent))
20
+ return undefined;
21
+ return parent.reducedMotion();
22
+ };
23
+ /** A `WardicConfig`'s `skipAnimations` (#468): its own, else its parent's, else none. */
24
+ export const configSkipAnimationsOf = (own, parent) => {
25
+ if (Predicate.isNotUndefined(own))
26
+ return own;
27
+ if (Predicate.isUndefined(parent))
28
+ return undefined;
29
+ return parent.skipAnimations();
30
+ };
31
+ /** A `WardicConfig`'s `isValidProp` (#443): its own, else its parent's, else none. */
32
+ export const configIsValidPropOf = (own, parent) => {
33
+ if (Predicate.isNotUndefined(own))
34
+ return own;
35
+ if (Predicate.isUndefined(parent))
36
+ return undefined;
37
+ return parent.isValidProp();
38
+ };
39
+ /** A `WardicConfig`'s `transformPagePoint` (#443): its own, else its parent's, else none. */
40
+ export const configTransformPagePointOf = (own, parent) => {
41
+ if (Predicate.isNotUndefined(own))
42
+ return own;
43
+ if (Predicate.isUndefined(parent))
44
+ return undefined;
45
+ return parent.transformPagePoint();
46
+ };
47
+ /** The nearest config's `transformPagePoint` (#443), read at each drag or pan start: `undefined` for none. */
48
+ export const transformPagePointOf = (config) => {
49
+ if (Predicate.isUndefined(config))
50
+ return constUndefined;
51
+ return () => config.transformPagePoint();
52
+ };
53
+ /**
54
+ * A `transformPagePoint` as core's gestures take it (#618, A1): an `Option`, the same `Some` while the
55
+ * mapping is the same, so a gesture's down allocates nothing.
56
+ */
57
+ export const pointMapOptionOf = (read) => {
58
+ let last = Option.none();
59
+ return () => {
60
+ const now = read();
61
+ if (Predicate.isUndefined(now))
62
+ return Option.none();
63
+ if (Option.isSome(last)) {
64
+ if (last.value === now)
65
+ return last;
66
+ }
67
+ last = Option.some(now);
68
+ return last;
69
+ };
70
+ };
71
+ /** The nearest config's `isValidProp` (#443), as an element is made: `undefined` for none. */
72
+ export const isValidPropOf = (config) => {
73
+ if (Predicate.isUndefined(config))
74
+ return undefined;
75
+ return config.isValidProp();
76
+ };
77
+ /**
78
+ * Whether an element's animations are skipped (#468), read when each starts: its nearest config's
79
+ * `skipAnimations`. With no config above, never, and nothing made.
80
+ */
81
+ export const skipAnimationsOf = (config) => {
82
+ if (Predicate.isUndefined(config))
83
+ return constFalse;
84
+ return () => config.skipAnimations() === true;
85
+ };
86
+ /** The reduced motion an element's nearest config sets (#434), now: `undefined` for none, the provider's. */
87
+ export const settingOf = (config) => {
88
+ if (Predicate.isUndefined(config))
89
+ return undefined;
90
+ return config.reducedMotion();
91
+ };
92
+ /**
93
+ * `c` with its **Config transition** as its own when it gives none (#434, Motion's spread): `c` as it
94
+ * is when it has its own or the config gives none.
95
+ */
96
+ export const withConfigTransition = (c, config) => {
97
+ if (Predicate.isNotUndefined(c.transition))
98
+ return c;
99
+ if (Predicate.isUndefined(config))
100
+ return c;
101
+ const transition = config.transition();
102
+ if (Predicate.isUndefined(transition))
103
+ return c;
104
+ return { ...c, transition };
105
+ };
106
+ //# sourceMappingURL=wardic-config-value.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wardic-config-value.js","sourceRoot":"","sources":["../../src/wardic-config-value.ts"],"names":[],"mappings":"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"}