@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,147 @@
1
+ import * as LiveValue from "@wardic/core/LiveValue";
2
+ import type * as Values from "@wardic/core/Values";
3
+ import * as Option from "effect/Option";
4
+ import { Atom, AtomRegistry } from "effect/reactivity";
5
+ import type { WardicInertia } from "./config.ts";
6
+ import type { Accessor, Reactivity } from "./reactivity.ts";
7
+ import type { WardicRuntime } from "./runtime.ts";
8
+ /**
9
+ * A live value as Solid takes it: an accessor, such as a signal, a memo or another live value, or an
10
+ * `effect/reactivity` Atom. An element's `style` follows it, and the `create*` live values take it.
11
+ */
12
+ export type LiveSource<A> = Atom.Atom<A> | Accessor<A>;
13
+ /** A `style` value: a plain value, or a live one ({@link LiveSource}), which the element follows. */
14
+ export type Live<A> = A | LiveSource<A>;
15
+ /** A user's style as a binding hands it over: a record, CSS text, or none. */
16
+ type StyleInput = object | string | undefined;
17
+ /** Whether a style value is live: an Atom, or an accessor. */
18
+ export declare const isLive: (value: unknown) => value is LiveSource<unknown>;
19
+ /**
20
+ * `accessor`, carrying `atom`: the Atom it reads, so a `style` that's given it follows the Atom
21
+ * itself, set where the Atom is, rather than the accessor through Solid (#209 PR 3's Q2). On Solid
22
+ * 2 an accessor's change shows at Solid's flush, after the gate's write: a value derived from a
23
+ * ward's would paint a frame late. Both must give the same value.
24
+ */
25
+ export declare const carry: <A>(accessor: Accessor<A>, atom: Atom.Atom<A>) => Accessor<A>;
26
+ /**
27
+ * `createFollowValue`'s transition, in seconds: a spring (with no `type`), a tween or an inertia, an
28
+ * inertia's `timeConstant` in milliseconds, as a `transition`'s; and `skipInitialAnimation`, to make
29
+ * the source's first change a jump. Motion's `FollowValueOptions`.
30
+ */
31
+ export type FollowValueOptions = (Exclude<LiveValue.FollowTransition, {
32
+ readonly type: "inertia";
33
+ }> | WardicInertia) & LiveValue.FollowSkips;
34
+ /** `options` as core's `LiveValue.follow` takes them: an inertia's `timeConstant` in seconds. */
35
+ export declare const followOptionsOf: (options: FollowValueOptions) => LiveValue.FollowOptions;
36
+ /**
37
+ * A followed value, as an accessor: a number, or a string with its unit, as its source is. Its `jump`
38
+ * puts it somewhere at once.
39
+ */
40
+ export interface FollowAccessor<A extends number | string = number> extends Accessor<A> {
41
+ /**
42
+ * Set it to `value` at once, not as motion (Motion's `MotionValue.jump`): its run ends there with
43
+ * no velocity, and it rests there until its source next changes, then animates from there. A
44
+ * `createVelocity` of it reads 0 across the jump. A string's number is read as the follow reads
45
+ * its source's, and shown with the follow's unit. On a server, it does nothing.
46
+ */
47
+ jump(value: A): void;
48
+ }
49
+ /** `createSpring`'s value: a spring's {@link FollowAccessor}. */
50
+ export type SpringAccessor<A extends number | string = number> = FollowAccessor<A>;
51
+ /** A unit string's unit, as Motion's follower reads it (#441): what's left after its digits, `.` and `-`. */
52
+ export declare const unitOf: (value: string) => string;
53
+ /**
54
+ * `numbers`, a follow of a unit string's numbers, shown with `unit` (#441, Motion's follower: the
55
+ * unit its source started with, whatever a later one says). Its `jump` reaches `numbers`.
56
+ */
57
+ export declare const withUnit: (unit: string) => (numbers: Atom.Atom<number>) => Atom.Atom<string>;
58
+ /** A value a follow reads: a number as it is, a string as `parseFloat` reads it, as Motion's follower does. */
59
+ export declare const numberOf: (value: number | string) => number;
60
+ /** `accessor`, carrying a follow's Atom, with `jump` run on `runtime`. */
61
+ export declare const followAccessorOf: <A extends number | string>(runtime: WardicRuntime, accessor: Accessor<A>) => FollowAccessor<A>;
62
+ /** A server's follow: `read`, as it is now, and a `jump` that does nothing (ADR-0021). */
63
+ export declare const serverFollowOf: <A extends number | string>(read: Accessor<A>) => FollowAccessor<A>;
64
+ /** The Atom a Live value is, or carries: `undefined` for a plain accessor or a plain value. Per key, per change: guards, no matcher. */
65
+ export declare const atomOf: (value: unknown) => Atom.Atom<unknown> | undefined;
66
+ /** Whether `key` is a transform key, composed into `transform` (`x`, `scale`, `rotate`…). */
67
+ export declare const isTransformKey: (key: string) => boolean;
68
+ /** A style value, read now: an Atom (or the one an accessor carries) through `registry`, an accessor untracked, anything else as it is. */
69
+ export declare const readLive: (value: unknown, registry: () => AtomRegistry.AtomRegistry, untrack: Reactivity["untrack"]) => unknown;
70
+ /** A user's style split: what Solid's `style` carries, and the routed keys' sources. */
71
+ export interface Split {
72
+ /** The style without the routed keys. The user's own when nothing is routed. */
73
+ readonly css: StyleInput;
74
+ /** Each routed key's value as given: an Atom, an accessor, or a transform key's plain value. */
75
+ readonly routed: Readonly<Record<string, unknown>>;
76
+ /** Whether a `transform` string was dropped for the transform keys. */
77
+ readonly droppedTransform: boolean;
78
+ }
79
+ /** A user's style, split into Solid's part and the routed keys (CSS text parsed when it has one). */
80
+ export declare const split: (user: StyleInput) => Split;
81
+ /** The routed keys' values, read now: the numbers and strings among them, as a values map. */
82
+ export declare const valuesOf: (routed: Readonly<Record<string, unknown>>, registry: () => AtomRegistry.AtomRegistry, untrack: Reactivity["untrack"]) => Values.Values;
83
+ /** What the spine hears while it follows. */
84
+ export interface Follower {
85
+ /** A routed key's value changed, or its source did: `value` is its value now. */
86
+ readonly change: (key: string, value: unknown) => void;
87
+ /** A routed key left the style. */
88
+ readonly removed: (key: string) => void;
89
+ }
90
+ /** An element's routed `style` keys, seen through its `style` and followed from mount. */
91
+ export interface LiveStyle {
92
+ /** Sees the user's `style` (reconciling the routed keys), and gives Solid's part of it. Called where the binding reads it reactively. */
93
+ readonly css: (user: StyleInput) => StyleInput;
94
+ /** The routed keys' values now, as a values map: the Starting style's. */
95
+ readonly values: () => Values.Values;
96
+ /** Whether `key` is routed now. */
97
+ readonly routes: (key: string) => boolean;
98
+ /** A routed key's value now, `None` when it isn't routed. */
99
+ readonly valueOf: (key: string) => Option.Option<unknown>;
100
+ /** Whether a routed key's source is live, so a return to it follows it (decision 6). */
101
+ readonly isLive: (key: string) => boolean;
102
+ /**
103
+ * Its `willChange`'s turn-on, when its style gives it a `createWillChange` value (#443), as
104
+ * `willChange` or `will-change`; `undefined` otherwise, at once for a style that routes nothing.
105
+ */
106
+ readonly willChange: () => (() => void) | undefined;
107
+ /** A style value read now, live or not. */
108
+ readonly read: (value: unknown) => unknown;
109
+ /**
110
+ * Follow, from the first routed key on: `setup` is called once, at once if a key is routed now,
111
+ * else when one first is, and the follower it gives hears every change from then on, until
112
+ * `stop`. Its first call is where the element's routed keys are first written. An element whose
113
+ * `style` never routes a key never calls it.
114
+ */
115
+ readonly whenRouted: (setup: () => Follower) => void;
116
+ /** Stop following, and every watch with it. */
117
+ readonly stop: () => void;
118
+ }
119
+ /** What {@link createLiveStyle} reads. */
120
+ export interface LiveStyleOptions {
121
+ /** The registry Atoms are read through: the provider's on a client, a fresh one on a server. */
122
+ readonly registry: () => AtomRegistry.AtomRegistry;
123
+ /** Called once, the first time a `transform` string is dropped for the transform keys. */
124
+ readonly onDroppedTransform?: (() => void) | undefined;
125
+ /** The binding's Solid: accessors are read untracked, and watched, through it (#209). */
126
+ readonly reactivity: Reactivity;
127
+ }
128
+ /**
129
+ * An element's {@link LiveStyle}: one object, its methods shared, so an element that routes nothing
130
+ * pays for little more than it. Creates computations for accessors while it follows; their roots
131
+ * are its own. Call its methods on it (`live.read(v)`), not detached.
132
+ */
133
+ export declare const createLiveStyle: (options: LiveStyleOptions) => LiveStyle;
134
+ /** A `createWillChange` value: `"auto"` until its element animates, then `"transform"`. */
135
+ export type WillChange = "auto" | "transform";
136
+ /**
137
+ * A `createWillChange` value (#443): its Atom, `"auto"`, held in `registry` until `onCleanup` runs,
138
+ * as an accessor `wrap` makes. Its turn-on sets it to `"transform"`, once, for good, as Motion's
139
+ * `WillChangeMotionValue` stays enabled. The accessor and its Atom are both marked, so a `style` that
140
+ * routes either finds it.
141
+ */
142
+ export declare const willChangeOf: (registry: AtomRegistry.AtomRegistry, onCleanup: (fn: () => void) => void, wrap: (atom: Atom.Atom<WillChange>) => Accessor<WillChange>) => Accessor<WillChange>;
143
+ /** Whether animating `key` turns a will-change value on (#443). */
144
+ export declare const turnsWillChangeOn: (key: string) => boolean;
145
+ export declare const serverRegistryOf: () => AtomRegistry.AtomRegistry;
146
+ export {};
147
+ //# sourceMappingURL=live-style.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"live-style.d.ts","sourceRoot":"","sources":["../../src/live-style.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,304 @@
1
+ /**
2
+ * Live values in `style` (#130, ADR-0043): which of a user's `style` keys Wardic writes through the
3
+ * flush gate, what each is now, and when one changes.
4
+ *
5
+ * A key is **routed** when its value is live (an `effect/reactivity` Atom, or an accessor: a signal,
6
+ * a memo, `createTransform`'s) or when it's a transform key (`x`, `scale`, `rotate`…), live or not
7
+ * (decisions 2 and 4). A routed key is the key's `style` link, followed while no entry of the
8
+ * Override stack sets it (decision 1), and Wardic writes it: the gate composes the transform keys
9
+ * into `transform` with its own, and commits the rest once a frame. So Solid's `style` never
10
+ * carries one. A user's own `transform` string applies while no transform key is set; with one,
11
+ * the keys win (Motion's rule): the gate holds `transform`, so Solid never writes the string, and a
12
+ * warning is logged once per element.
13
+ *
14
+ * The binding reads its user's style reactively in one place, its element's `style`, so that's
15
+ * where `css` sees each new one. Following starts at mount, or at the first routed key after it
16
+ * (`whenRouted`): from then on, a change of a routed key's value, a new source for it, or its
17
+ * leaving the style, is told to the spine, which writes it while nothing else owns the key. An Atom is subscribed; an accessor gets its own
18
+ * computation, one per key, so a change runs only that.
19
+ *
20
+ * Solid-free: both bindings run it, each giving its own Solid as a {@link Reactivity} (#209).
21
+ */
22
+ import * as BaseValue from "@wardic/core/BaseValue";
23
+ import * as LiveValue from "@wardic/core/LiveValue";
24
+ import * as Style from "@wardic/dom/Style";
25
+ import * as Arr from "effect/Array";
26
+ import * as Bool from "effect/Boolean";
27
+ import { constVoid } from "effect/Function";
28
+ import * as Option from "effect/Option";
29
+ import * as Predicate from "effect/Predicate";
30
+ import { Atom, AtomRegistry } from "effect/reactivity";
31
+ import * as Rec from "effect/Record";
32
+ import * as UndefinedOr from "effect/UndefinedOr";
33
+ /** Whether a style value is live: an Atom, or an accessor. */
34
+ export const isLive = (value) => Bool.or(Atom.isAtom(value), Predicate.isFunction(value));
35
+ /** Where an accessor keeps the Atom it carries (#209 PR 3's Q2). */
36
+ const CARRIED = Symbol.for("@wardic/solid/carried");
37
+ /**
38
+ * `accessor`, carrying `atom`: the Atom it reads, so a `style` that's given it follows the Atom
39
+ * itself, set where the Atom is, rather than the accessor through Solid (#209 PR 3's Q2). On Solid
40
+ * 2 an accessor's change shows at Solid's flush, after the gate's write: a value derived from a
41
+ * ward's would paint a frame late. Both must give the same value.
42
+ */
43
+ export const carry = (accessor, atom) => Object.defineProperty(accessor, CARRIED, { value: atom });
44
+ /** `options` as core's `LiveValue.follow` takes them: an inertia's `timeConstant` in seconds. */
45
+ export const followOptionsOf = (options) => Bool.match(options.type === "inertia", {
46
+ onTrue: () => ({
47
+ ...options,
48
+ ...UndefinedOr.match(options.timeConstant, { onUndefined: () => ({}), onDefined: (ms) => ({ timeConstant: ms / 1000 }) }),
49
+ }),
50
+ onFalse: () => options,
51
+ });
52
+ /** The Atom of numbers each unit follow's Atom of strings shows ({@link withUnit}), for its `jump`. */
53
+ // Module state (#460, Q7): a cache held weakly by the object it's for, so it goes with it.
54
+ const UNIT_NUMBERS = new WeakMap();
55
+ /** A unit string's unit, as Motion's follower reads it (#441): what's left after its digits, `.` and `-`. */
56
+ export const unitOf = (value) => value.replace(/[\d.-]/g, "");
57
+ /**
58
+ * `numbers`, a follow of a unit string's numbers, shown with `unit` (#441, Motion's follower: the
59
+ * unit its source started with, whatever a later one says). Its `jump` reaches `numbers`.
60
+ */
61
+ export const withUnit = (unit) => (numbers) => {
62
+ const strings = Atom.map(numbers, (n) => `${n}${unit}`);
63
+ UNIT_NUMBERS.set(strings, numbers);
64
+ return strings;
65
+ };
66
+ /** A value a follow reads: a number as it is, a string as `parseFloat` reads it, as Motion's follower does. */
67
+ export const numberOf = (value) => Bool.match(Predicate.isString(value), { onTrue: () => Number.parseFloat(value), onFalse: () => value });
68
+ /** `accessor`, carrying a follow's Atom, with `jump` run on `runtime`. */
69
+ export const followAccessorOf = (runtime, accessor) => {
70
+ const atom = atomOf(accessor);
71
+ // A follow's own Atom, by construction: the one kind `jump` takes (#618).
72
+ const numbers = UndefinedOr.match(UNIT_NUMBERS.get(atom), { onUndefined: () => atom, onDefined: (n) => n });
73
+ return Object.assign(accessor, {
74
+ jump: (value) => {
75
+ runtime.runSync(LiveValue.jump(numbers, numberOf(value)));
76
+ },
77
+ });
78
+ };
79
+ /** A server's follow: `read`, as it is now, and a `jump` that does nothing (ADR-0021). */
80
+ export const serverFollowOf = (read) => Object.assign(() => read(), { jump: constVoid });
81
+ /** The Atom a Live value is, or carries: `undefined` for a plain accessor or a plain value. Per key, per change: guards, no matcher. */
82
+ export const atomOf = (value) => {
83
+ if (Atom.isAtom(value))
84
+ return value;
85
+ if (Bool.not(Predicate.isFunction(value)))
86
+ return undefined;
87
+ return value[CARRIED];
88
+ };
89
+ /** Whether `key` is a transform key, composed into `transform` (`x`, `scale`, `rotate`…). */
90
+ export const isTransformKey = (key) => Option.isSome(BaseValue.transformIdentity(key));
91
+ /** A style value, read now: an Atom (or the one an accessor carries) through `registry`, an accessor untracked, anything else as it is. */
92
+ export const readLive = (value, registry, untrack) => {
93
+ const atom = atomOf(value);
94
+ if (Predicate.isNotUndefined(atom))
95
+ return registry().get(atom);
96
+ if (Predicate.isFunction(value))
97
+ return untrack(value);
98
+ return value;
99
+ };
100
+ /** Whether a style's `key` is routed: its value is live, or it's a transform key with a value. */
101
+ const isRouted = (value, key) => Bool.and(Predicate.isNotNullish(value), Bool.or(isLive(value), isTransformKey(key)));
102
+ const NOTHING_ROUTED = {};
103
+ const NO_VALUES = {};
104
+ /** No style: nothing routed. */
105
+ const NO_STYLE = { css: undefined, routed: NOTHING_ROUTED, droppedTransform: false };
106
+ /** A user's style, split into Solid's part and the routed keys (CSS text parsed when it has one). */
107
+ export const split = (user) => {
108
+ if (Predicate.isUndefined(user))
109
+ return NO_STYLE;
110
+ const record = Style.over(user, undefined);
111
+ const routed = Rec.filter(record, isRouted);
112
+ if (Rec.isEmptyRecord(routed))
113
+ return { css: user, routed: NOTHING_ROUTED, droppedTransform: false };
114
+ const droppedTransform = Bool.and(Arr.some(Rec.keys(routed), isTransformKey), Predicate.isNotNullish(record["transform"]));
115
+ // A `transform` string stays: the gate holds `transform` while a transform key is routed, so it's
116
+ // left out of what Solid writes, and shows again once none is.
117
+ const css = Rec.filter(record, (_, key) => Bool.not(Object.hasOwn(routed, key)));
118
+ return { css, routed, droppedTransform };
119
+ };
120
+ /** The routed keys' values, read now: the numbers and strings among them, as a values map. */
121
+ export const valuesOf = (routed, registry, untrack) => Bool.match(routed === NOTHING_ROUTED, {
122
+ onTrue: () => NO_VALUES,
123
+ onFalse: () => Style.toValues(Rec.map(routed, (value) => readLive(value, registry, untrack))),
124
+ });
125
+ /**
126
+ * Watch `key`'s live source for `to`: an Atom, or the one an accessor carries, subscribed; any
127
+ * other accessor in a computation of its own.
128
+ */
129
+ const watch = (self, key, source, to) => {
130
+ if (Bool.not(isLive(source)))
131
+ return;
132
+ if (Predicate.isUndefined(self.watching))
133
+ self.watching = new Map();
134
+ const atom = atomOf(source);
135
+ if (Predicate.isNotUndefined(atom)) {
136
+ self.watching.set(key, self.registry().subscribe(atom, (value) => to.change(key, value)));
137
+ return;
138
+ }
139
+ self.watching.set(key, self.reactivity.watch(source, (value) => to.change(key, value)));
140
+ };
141
+ const unwatch = (self, key) => {
142
+ if (Predicate.isUndefined(self.watching))
143
+ return;
144
+ const stop = self.watching.get(key);
145
+ if (Predicate.isUndefined(stop))
146
+ return;
147
+ self.watching.delete(key);
148
+ stop();
149
+ };
150
+ /** Build the follower and watch every routed key. */
151
+ const start = (self, setup) => {
152
+ self.pending = undefined;
153
+ const to = setup();
154
+ self.follower = to;
155
+ Arr.forEach(Rec.keys(self.routed), (key) => watch(self, key, self.routed[key], to));
156
+ };
157
+ /** The routed keys now `next`: what left is removed, what's new or changed is watched and told. */
158
+ const reconcile = (self, next) => {
159
+ const prev = self.routed;
160
+ // Nothing routed, as before: the usual style.
161
+ if (next === prev)
162
+ return;
163
+ self.routed = next;
164
+ // The first routed key: the follower's setup writes them all.
165
+ if (Bool.and(Predicate.isNotUndefined(self.pending), Bool.not(Rec.isEmptyRecord(next)))) {
166
+ start(self, UndefinedOr.getOrThrow(self.pending));
167
+ return;
168
+ }
169
+ const to = self.follower;
170
+ if (Predicate.isUndefined(to))
171
+ return;
172
+ Arr.forEach(Rec.keys(prev), (key) => {
173
+ if (Object.hasOwn(next, key))
174
+ return;
175
+ unwatch(self, key);
176
+ to.removed(key);
177
+ });
178
+ Arr.forEach(Rec.keys(next), (key) => {
179
+ const source = next[key];
180
+ if (Bool.and(Object.hasOwn(prev, key), prev[key] === source))
181
+ return;
182
+ unwatch(self, key);
183
+ watch(self, key, source, to);
184
+ to.change(key, readLive(source, self.registry, self.reactivity.untrack));
185
+ });
186
+ };
187
+ const Proto = {
188
+ css(user) {
189
+ // The same style object as last time: the same answer (Solid may read `style` more than once).
190
+ if (Bool.and(user === this.seen, Predicate.isNotUndefined(this.seen)))
191
+ return this.last;
192
+ this.seen = user;
193
+ const parts = split(user);
194
+ if (Bool.and(parts.droppedTransform, Bool.not(this.warned))) {
195
+ this.warned = true;
196
+ UndefinedOr.match(this.onDroppedTransform, { onUndefined: constVoid, onDefined: (warn) => warn() });
197
+ }
198
+ this.last = parts.css;
199
+ reconcile(this, parts.routed);
200
+ return this.last;
201
+ },
202
+ values() {
203
+ return valuesOf(this.routed, this.registry, this.reactivity.untrack);
204
+ },
205
+ routes(key) {
206
+ return Object.hasOwn(this.routed, key);
207
+ },
208
+ valueOf(key) {
209
+ return Option.map(Option.liftPredicate(this.routed, (routed) => Object.hasOwn(routed, key)), (routed) => readLive(routed[key], this.registry, this.reactivity.untrack));
210
+ },
211
+ isLive(key) {
212
+ return Bool.and(Object.hasOwn(this.routed, key), isLive(this.routed[key]));
213
+ },
214
+ willChange() {
215
+ const routed = this.routed;
216
+ if (routed === NOTHING_ROUTED)
217
+ return undefined;
218
+ if (Object.hasOwn(routed, "willChange"))
219
+ return turnOnOf(routed["willChange"]);
220
+ if (Object.hasOwn(routed, "will-change"))
221
+ return turnOnOf(routed["will-change"]);
222
+ return undefined;
223
+ },
224
+ read(value) {
225
+ return readLive(value, this.registry, this.reactivity.untrack);
226
+ },
227
+ whenRouted(setup) {
228
+ if (Rec.isEmptyRecord(this.routed)) {
229
+ this.pending = setup;
230
+ return;
231
+ }
232
+ start(this, setup);
233
+ },
234
+ stop() {
235
+ this.follower = undefined;
236
+ this.pending = undefined;
237
+ const watching = this.watching;
238
+ if (Predicate.isUndefined(watching))
239
+ return;
240
+ Arr.forEach(Arr.fromIterable(watching.keys()), (key) => unwatch(this, key));
241
+ },
242
+ };
243
+ /**
244
+ * An element's {@link LiveStyle}: one object, its methods shared, so an element that routes nothing
245
+ * pays for little more than it. Creates computations for accessors while it follows; their roots
246
+ * are its own. Call its methods on it (`live.read(v)`), not detached.
247
+ */
248
+ export const createLiveStyle = (options) => {
249
+ const state = {
250
+ registry: options.registry,
251
+ onDroppedTransform: options.onDroppedTransform,
252
+ reactivity: options.reactivity,
253
+ routed: NOTHING_ROUTED,
254
+ seen: undefined,
255
+ last: undefined,
256
+ warned: false,
257
+ follower: undefined,
258
+ pending: undefined,
259
+ watching: undefined,
260
+ };
261
+ return Object.assign(Object.create(Proto), state);
262
+ };
263
+ /** Each `createWillChange` value's turn-on (#443), by its accessor and by the Atom it carries. */
264
+ // Module state (#460, Q7): a cache held weakly by the object it's for, so it goes with it.
265
+ const WILL_CHANGE = new WeakMap();
266
+ /**
267
+ * A `createWillChange` value (#443): its Atom, `"auto"`, held in `registry` until `onCleanup` runs,
268
+ * as an accessor `wrap` makes. Its turn-on sets it to `"transform"`, once, for good, as Motion's
269
+ * `WillChangeMotionValue` stays enabled. The accessor and its Atom are both marked, so a `style` that
270
+ * routes either finds it.
271
+ */
272
+ export const willChangeOf = (registry, onCleanup, wrap) => {
273
+ const atom = Atom.make("auto");
274
+ onCleanup(registry.mount(atom));
275
+ let on = false;
276
+ const turnOn = () => {
277
+ if (on)
278
+ return;
279
+ on = true;
280
+ registry.set(atom, "transform");
281
+ };
282
+ const accessor = wrap(atom);
283
+ WILL_CHANGE.set(atom, turnOn);
284
+ WILL_CHANGE.set(accessor, turnOn);
285
+ return accessor;
286
+ };
287
+ /** A style value's will-change turn-on (#443), when it's a `createWillChange` value; `undefined` for anything else. */
288
+ const turnOnOf = (value) => WILL_CHANGE.get(value);
289
+ /**
290
+ * The keys whose animation turns a will-change value on (#443, Motion's `addValueToWillChange`): the
291
+ * transform keys, and the ones a browser can animate on its compositor (Motion's `acceleratedValues`).
292
+ */
293
+ const ACCELERATED = new Set(["transform", "opacity", "clipPath", "clip-path", "filter", "backgroundColor", "background-color"]);
294
+ /** Whether animating `key` turns a will-change value on (#443). */
295
+ export const turnsWillChangeOn = (key) => Bool.or(isTransformKey(key), ACCELERATED.has(key));
296
+ /** A server's registry, made on first need: an Atom read there gives the Atom's first value (ADR-0021). */
297
+ // Module state (#460, Q7): built once, on a server, where no provider's runtime runs.
298
+ let serverRegistry;
299
+ export const serverRegistryOf = () => {
300
+ if (Predicate.isUndefined(serverRegistry))
301
+ serverRegistry = AtomRegistry.make();
302
+ return serverRegistry;
303
+ };
304
+ //# sourceMappingURL=live-style.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"live-style.js","sourceRoot":"","sources":["../../src/live-style.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,144 @@
1
+ import * as LiveValue from "@wardic/core/LiveValue";
2
+ import type * as ScrollOffset from "@wardic/dom/ScrollOffset";
3
+ import { type Accessor } from "solid-js";
4
+ import type { FollowAccessor, FollowValueOptions, LiveSource, SpringAccessor, WillChange } from "./live-style.ts";
5
+ /**
6
+ * A value mapped from another: through a function, `createTransform(x, (x) => x * 2)`, or through
7
+ * ranges, `createTransform(x, input, output)`: a source at `input[i]` gives `output[i]`, and one between
8
+ * two stops blends their outputs, numbers, units and colours alike. `input` is as long as `output`,
9
+ * ascending or descending; outside it the ends hold, unless `clamp: false`. `ease` eases each stretch,
10
+ * one for all or one each, and a `mixer`, `(from, to) => (t) => value`, blends outputs of any type. The function form needs no `WardicProvider` when its source is a signal.
11
+ * Motion's `useTransform`.
12
+ *
13
+ * @example
14
+ * const card = createWard({ drag: "x" })
15
+ * const opacity = createTransform(card.value("x"), [-150, 0, 150], [0, 1, 0])
16
+ * <div {...card({ style: { opacity } })} />
17
+ * @see https://wardic.dev/reference/solid/live-values/create-transform
18
+ */
19
+ export declare function createTransform<A, B>(source: LiveSource<A>, fn: (a: A) => B): Accessor<B>;
20
+ export declare function createTransform<O extends number | string>(source: LiveSource<number>, input: ReadonlyArray<number>, output: ReadonlyArray<O>, options?: LiveValue.TransformOptions<O>): Accessor<O>;
21
+ export declare function createTransform<O>(source: LiveSource<number>, input: ReadonlyArray<number>, output: ReadonlyArray<O>, options: LiveValue.MixedTransformOptions<O>): Accessor<O>;
22
+ /**
23
+ * A value that follows `source` on a transition, in seconds: from each change of `source`, it animates
24
+ * there, then rests. No `type` is a spring, 100 / 10 / 1 unless it's set by time; `type: "tween"` is
25
+ * 0.3 s `easeInOut`; `type: "inertia"` glides. A change mid-way: a spring steers to it, keeping its
26
+ * speed; a tween starts again from where it is; an inertia glides again from there. `delay` waits at
27
+ * every change, so a source that never rests moves it once it does. A string with a unit, `"10px"`,
28
+ * is followed as its number. `jump(value)` puts it somewhere at once. Motion's `useFollowValue`.
29
+ *
30
+ * @example
31
+ * const [x, setX] = createSignal(0)
32
+ * const eased = createFollowValue(x, { type: "tween", duration: 0.4, ease: "easeOut" })
33
+ * <w.div style={{ x: eased }} />
34
+ * @see https://wardic.dev/reference/solid/live-values/create-follow-value
35
+ */
36
+ export declare function createFollowValue(source: LiveSource<number>, options?: FollowValueOptions): FollowAccessor<number>;
37
+ export declare function createFollowValue(source: LiveSource<string>, options?: FollowValueOptions): FollowAccessor<string>;
38
+ /**
39
+ * A value that follows `source` on a spring: from each change, it springs there, a change mid-way
40
+ * keeping its speed. `stiffness`, `damping` and `mass`, 100 / 10 / 1 by default, or a `visualDuration`
41
+ * and `bounce`. A string with a unit, `"10px"`, is followed as its number. `jump(value)` puts it
42
+ * somewhere at once, and `skipInitialAnimation` makes the source's first change a jump.
43
+ * Motion's `useSpring`.
44
+ *
45
+ * @example
46
+ * const [x, setX] = createSignal(0)
47
+ * const followX = createSpring(x, { stiffness: 300, damping: 30 })
48
+ * <w.div style={{ x: followX }} />
49
+ * @see https://wardic.dev/reference/solid/live-values/create-spring
50
+ */
51
+ export declare function createSpring(source: LiveSource<number>, options?: LiveValue.SpringOptions): SpringAccessor<number>;
52
+ export declare function createSpring(source: LiveSource<string>, options?: LiveValue.SpringOptions): SpringAccessor<string>;
53
+ /**
54
+ * How fast `source` is changing, in its units a second: 0 to begin with, then each frame while it
55
+ * moves, and 0 once it stops. A velocity is a value too: `createVelocity(createVelocity(x))` is its
56
+ * acceleration. Motion's `useVelocity`.
57
+ *
58
+ * @example
59
+ * const { scrollY } = createScroll()
60
+ * const skewY = createTransform(createVelocity(scrollY), [-1000, 1000], [-8, 8])
61
+ * @see https://wardic.dev/reference/solid/live-values/create-velocity
62
+ */
63
+ export declare const createVelocity: (source: LiveSource<number>) => Accessor<number>;
64
+ /**
65
+ * The milliseconds since it was made, wall time, set every frame while its owner lives: for something
66
+ * that turns forever. It keeps Wardic's frames running while it lives. Motion's `useTime`.
67
+ *
68
+ * @example
69
+ * const rotate = createTransform(createTime(), (ms) => (ms / 1000) * 90)
70
+ * <w.div style={{ rotate }} />
71
+ * @see https://wardic.dev/reference/solid/live-values/create-time
72
+ */
73
+ export declare const createTime: () => Accessor<number>;
74
+ /**
75
+ * A `will-change` for an element's `style`: `"auto"` until the element first animates a transform key,
76
+ * `opacity`, `clipPath`, `filter` or `backgroundColor`, or is dragged; then `"transform"`, for good, so
77
+ * the browser keeps it on a layer of its own from its first move on. A key already at its target and a
78
+ * layout animation don't count. `"auto"` on a server. Motion's `useWillChange`.
79
+ *
80
+ * @example
81
+ * const willChange = createWillChange()
82
+ * <w.div whileHover={{ scale: 1.1 }} style={{ "will-change": willChange }} />
83
+ * @see https://wardic.dev/reference/solid/live-values/create-will-change
84
+ */
85
+ export declare const createWillChange: () => Accessor<WillChange>;
86
+ /**
87
+ * Calls `callback` every frame while its owner lives, with the frame's `time` and `delta` in
88
+ * milliseconds: for what a frame draws itself, such as a canvas or a 3D scene. `time` is 0 at the
89
+ * first frame, then wall time since, a hidden tab's minutes included; `delta` is the frame's own, held
90
+ * to 1–40 ms, so the first frame back from a hidden tab steps 40 ms. A throw is logged, and the next
91
+ * frame calls it again. Nothing runs on a server. Motion's `useAnimationFrame`.
92
+ *
93
+ * @example
94
+ * createAnimationFrame((time) => {
95
+ * cube.style.transform = `rotateY(${time / 10}deg)`
96
+ * })
97
+ * @see https://wardic.dev/reference/solid/live-values/create-animation-frame
98
+ */
99
+ export declare const createAnimationFrame: (callback: (time: number, delta: number) => void) => void;
100
+ /** An element, or an accessor of one, such as `() => box` for a ref: read once it's there. */
101
+ export type ElementSource = Element | Accessor<Element | undefined>;
102
+ /** `createScroll`'s options, as Motion's `useScroll`'s. */
103
+ export interface ScrollOptions {
104
+ /** The scrolling element, as an accessor of its ref: `() => box`. The page's scroll when left out. */
105
+ readonly container?: ElementSource;
106
+ /** An element whose way through the container the progress reads, between the `offset`s. */
107
+ readonly target?: ElementSource;
108
+ /**
109
+ * Where the progress runs, as Motion's: each stop pairs an edge of the target with an edge of the
110
+ * container, `["start end", "end start"]`, 0 at the first and 1 at the last. An edge is `start`,
111
+ * `center` or `end`, a fraction, or a length. With a target, `["start start", "end end"]` by default.
112
+ */
113
+ readonly offset?: ScrollOffset.ScrollOffset;
114
+ /** The axis `target` and `offset` read: `"y"` (the default) or `"x"`. */
115
+ readonly axis?: "x" | "y";
116
+ }
117
+ /** `createScroll`'s values, Motion's four, each an accessor. */
118
+ export interface ScrollValues {
119
+ /** How far it's scrolled across, in pixels. */
120
+ readonly scrollX: Accessor<number>;
121
+ /** How far it's scrolled down, in pixels. */
122
+ readonly scrollY: Accessor<number>;
123
+ /** Its progress across, from 0 to 1: through its range, or, with a `target` or `offset`, through theirs. */
124
+ readonly scrollXProgress: Accessor<number>;
125
+ /** Its progress down, from 0 to 1: through its range, or, with a `target` or `offset`, through theirs. */
126
+ readonly scrollYProgress: Accessor<number>;
127
+ }
128
+ /**
129
+ * A scroll as values: `scrollX` and `scrollY`, how far it's scrolled, in pixels, and `scrollXProgress`
130
+ * and `scrollYProgress`, from 0 to 1 through its range. The page's, or a `container`'s. With a
131
+ * `target`, the progress is the target's way through, between two `offset`s, on `axis`. Each is set in
132
+ * the scroll's own event, so a value derived from one paints in the frame that shows the scroll. A
133
+ * `container` or `target` given as an accessor of a ref reads 0s until the ref is there. 0s on a
134
+ * server. Motion's `useScroll`.
135
+ *
136
+ * @example
137
+ * let box!: HTMLDivElement
138
+ * const { scrollYProgress } = createScroll({ container: () => box })
139
+ * <div ref={box}>…</div>
140
+ * <w.div style={{ scaleX: scrollYProgress }} />
141
+ * @see https://wardic.dev/reference/solid/live-values/create-scroll
142
+ */
143
+ export declare const createScroll: (options?: ScrollOptions) => ScrollValues;
144
+ //# sourceMappingURL=live-value.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"live-value.d.ts","sourceRoot":"","sources":["../../src/live-value.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,SAAS,MAAM,wBAAwB,CAAA;AACnD,OAAO,KAAK,KAAK,YAAY,MAAM,0BAA0B,CAAA;AAU7D,OAAO,EAAE,KAAK,QAAQ,EAAkF,MAAM,UAAU,CAAA;AAGxH,OAAO,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,UAAU,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAmBjH;;;;;;;;;;;;;GAaG;AAEH,wBAAgB,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;AAC1F,wBAAgB,eAAe,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,EACvD,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,EAC1B,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,EAC5B,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,EACxB,OAAO,CAAC,EAAE,SAAS,CAAC,gBAAgB,CAAC,CAAC,CAAC,GACtC,QAAQ,CAAC,CAAC,CAAC,CAAA;AACd,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,SAAS,CAAC,qBAAqB,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;AAiChL;;;;;;;;;;;;;GAaG;AAGH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,cAAc,CAAC,MAAM,CAAC,CAAA;AACnH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,cAAc,CAAC,MAAM,CAAC,CAAA;AAyBnH;;;;;;;;;;;;GAYG;AAEH,wBAAgB,YAAY,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,EAAE,SAAS,CAAC,aAAa,GAAG,cAAc,CAAC,MAAM,CAAC,CAAA;AACnH,wBAAgB,YAAY,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,EAAE,SAAS,CAAC,aAAa,GAAG,cAAc,CAAC,MAAM,CAAC,CAAA;AAKnH;;;;;;;;;GASG;AACH,eAAO,MAAM,cAAc,WAAY,UAAU,CAAC,MAAM,CAAC,KAAG,QAAQ,CAAC,MAAM,CAAmD,CAAA;AAE9H;;;;;;;;GAQG;AACH,eAAO,MAAM,UAAU,QAAO,QAAQ,CAAC,MAAM,CAI5C,CAAA;AAgCD;;;;;;;;;;GAUG;AAEH,eAAO,MAAM,gBAAgB,QAAO,QAAQ,CAAC,UAAU,CAItD,CAAA;AAID;;;;;;;;;;;;GAYG;AAGH,eAAO,MAAM,oBAAoB,aAAc,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,KAAG,IAMtF,CAAA;AAED,8FAA8F;AAC9F,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,QAAQ,CAAC,OAAO,GAAG,SAAS,CAAC,CAAA;AAEnE,2DAA2D;AAC3D,MAAM,WAAW,aAAa;IAC5B,sGAAsG;IACtG,QAAQ,CAAC,SAAS,CAAC,EAAE,aAAa,CAAA;IAClC,4FAA4F;IAC5F,QAAQ,CAAC,MAAM,CAAC,EAAE,aAAa,CAAA;IAC/B;;;;OAIG;IAEH,QAAQ,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC,YAAY,CAAA;IAC3C,yEAAyE;IACzE,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,CAAA;CAC1B;AAED,gEAAgE;AAChE,MAAM,WAAW,YAAY;IAC3B,+CAA+C;IAC/C,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAA;IAClC,6CAA6C;IAC7C,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAA;IAClC,4GAA4G;IAC5G,QAAQ,CAAC,eAAe,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAA;IAC1C,0GAA0G;IAC1G,QAAQ,CAAC,eAAe,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAA;CAC3C;AAWD;;;;;;;;;;;;;;GAcG;AAGH,eAAO,MAAM,YAAY,aAAa,aAAa,KAAQ,YAoC1D,CAAA"}