@wardic/solid 0.0.0-stage → 1.0.0-rc.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +26 -2
- package/THIRD_PARTY_NOTICES.md +145 -0
- package/dist/browser/animation-controls.js +150 -0
- package/dist/browser/animation-controls.js.map +1 -0
- package/dist/browser/animation-frame.js +29 -0
- package/dist/browser/animation-frame.js.map +1 -0
- package/dist/browser/appear.js +727 -0
- package/dist/browser/appear.js.map +1 -0
- package/dist/browser/arc.js +21 -0
- package/dist/browser/arc.js.map +1 -0
- package/dist/browser/bridge.js +69 -0
- package/dist/browser/bridge.js.map +1 -0
- package/dist/browser/complete.js +30 -0
- package/dist/browser/complete.js.map +1 -0
- package/dist/browser/config.js +2 -0
- package/dist/browser/config.js.map +1 -0
- package/dist/browser/create-animate.js +41 -0
- package/dist/browser/create-animate.js.map +1 -0
- package/dist/browser/create-ward.js +1001 -0
- package/dist/browser/create-ward.js.map +1 -0
- package/dist/browser/cycle-index.js +17 -0
- package/dist/browser/cycle-index.js.map +1 -0
- package/dist/browser/cycle.js +31 -0
- package/dist/browser/cycle.js.map +1 -0
- package/dist/browser/directive.js +80 -0
- package/dist/browser/directive.js.map +1 -0
- package/dist/browser/drag-constraints.js +76 -0
- package/dist/browser/drag-constraints.js.map +1 -0
- package/dist/browser/drag-controls.js +51 -0
- package/dist/browser/drag-controls.js.map +1 -0
- package/dist/browser/drag-samples.js +40 -0
- package/dist/browser/drag-samples.js.map +1 -0
- package/dist/browser/drag-sensor.js +35 -0
- package/dist/browser/drag-sensor.js.map +1 -0
- package/dist/browser/drag-track.js +817 -0
- package/dist/browser/drag-track.js.map +1 -0
- package/dist/browser/drag-transition.js +56 -0
- package/dist/browser/drag-transition.js.map +1 -0
- package/dist/browser/drag.js +44 -0
- package/dist/browser/drag.js.map +1 -0
- package/dist/browser/element-style.js +67 -0
- package/dist/browser/element-style.js.map +1 -0
- package/dist/browser/element.js +353 -0
- package/dist/browser/element.js.map +1 -0
- package/dist/browser/feature-section.js +17 -0
- package/dist/browser/feature-section.js.map +1 -0
- package/dist/browser/feature.js +261 -0
- package/dist/browser/feature.js.map +1 -0
- package/dist/browser/features/all.js +10 -0
- package/dist/browser/features/all.js.map +1 -0
- package/dist/browser/features/colors.js +33 -0
- package/dist/browser/features/colors.js.map +1 -0
- package/dist/browser/features/dom-animation.js +7 -0
- package/dist/browser/features/dom-animation.js.map +1 -0
- package/dist/browser/features/dom-max.js +4 -0
- package/dist/browser/features/dom-max.js.map +1 -0
- package/dist/browser/features/drag.js +28 -0
- package/dist/browser/features/drag.js.map +1 -0
- package/dist/browser/features/focus.js +18 -0
- package/dist/browser/features/focus.js.map +1 -0
- package/dist/browser/features/hover.js +18 -0
- package/dist/browser/features/hover.js.map +1 -0
- package/dist/browser/features/in-view.js +18 -0
- package/dist/browser/features/in-view.js.map +1 -0
- package/dist/browser/features/input.js +30 -0
- package/dist/browser/features/input.js.map +1 -0
- package/dist/browser/features/keys.js +19 -0
- package/dist/browser/features/keys.js.map +1 -0
- package/dist/browser/features/layout.js +33 -0
- package/dist/browser/features/layout.js.map +1 -0
- package/dist/browser/features/pan.js +18 -0
- package/dist/browser/features/pan.js.map +1 -0
- package/dist/browser/features/press.js +12 -0
- package/dist/browser/features/press.js.map +1 -0
- package/dist/browser/focus-sensor.js +23 -0
- package/dist/browser/focus-sensor.js.map +1 -0
- package/dist/browser/frame-time.js +40 -0
- package/dist/browser/frame-time.js.map +1 -0
- package/dist/browser/gesture-callbacks.js +172 -0
- package/dist/browser/gesture-callbacks.js.map +1 -0
- package/dist/browser/gesture-features.js +29 -0
- package/dist/browser/gesture-features.js.map +1 -0
- package/dist/browser/gesture-info.js +43 -0
- package/dist/browser/gesture-info.js.map +1 -0
- package/dist/browser/hover-sensor.js +29 -0
- package/dist/browser/hover-sensor.js.map +1 -0
- package/dist/browser/imperative.js +614 -0
- package/dist/browser/imperative.js.map +1 -0
- package/dist/browser/index.js +165 -0
- package/dist/browser/index.js.map +1 -0
- package/dist/browser/instant.js +51 -0
- package/dist/browser/instant.js.map +1 -0
- package/dist/browser/layout-group.js +27 -0
- package/dist/browser/layout-group.js.map +1 -0
- package/dist/browser/layout-member.js +362 -0
- package/dist/browser/layout-member.js.map +1 -0
- package/dist/browser/layout-projection.js +19 -0
- package/dist/browser/layout-projection.js.map +1 -0
- package/dist/browser/layout.js +91 -0
- package/dist/browser/layout.js.map +1 -0
- package/dist/browser/live-style.js +313 -0
- package/dist/browser/live-style.js.map +1 -0
- package/dist/browser/live-value.js +252 -0
- package/dist/browser/live-value.js.map +1 -0
- package/dist/browser/motion-props.js +172 -0
- package/dist/browser/motion-props.js.map +1 -0
- package/dist/browser/owner-scope.js +29 -0
- package/dist/browser/owner-scope.js.map +1 -0
- package/dist/browser/page-point.js +92 -0
- package/dist/browser/page-point.js.map +1 -0
- package/dist/browser/presence-controller.js +1324 -0
- package/dist/browser/presence-controller.js.map +1 -0
- package/dist/browser/presence-record.js +27 -0
- package/dist/browser/presence-record.js.map +1 -0
- package/dist/browser/presence.js +207 -0
- package/dist/browser/presence.js.map +1 -0
- package/dist/browser/press-sensor.js +30 -0
- package/dist/browser/press-sensor.js.map +1 -0
- package/dist/browser/press.js +24 -0
- package/dist/browser/press.js.map +1 -0
- package/dist/browser/provider.js +445 -0
- package/dist/browser/provider.js.map +1 -0
- package/dist/browser/reactivity.js +9 -0
- package/dist/browser/reactivity.js.map +1 -0
- package/dist/browser/reorder-input.js +46 -0
- package/dist/browser/reorder-input.js.map +1 -0
- package/dist/browser/reorder.js +543 -0
- package/dist/browser/reorder.js.map +1 -0
- package/dist/browser/retarget-legs.js +1019 -0
- package/dist/browser/retarget-legs.js.map +1 -0
- package/dist/browser/runtime.js +249 -0
- package/dist/browser/runtime.js.map +1 -0
- package/dist/browser/sensors.js +172 -0
- package/dist/browser/sensors.js.map +1 -0
- package/dist/browser/server-interpolators.js +20 -0
- package/dist/browser/server-interpolators.js.map +1 -0
- package/dist/browser/server.js +20 -0
- package/dist/browser/server.js.map +1 -0
- package/dist/browser/solid-reactivity.js +26 -0
- package/dist/browser/solid-reactivity.js.map +1 -0
- package/dist/browser/spine.js +2939 -0
- package/dist/browser/spine.js.map +1 -0
- package/dist/browser/stagger.js +13 -0
- package/dist/browser/stagger.js.map +1 -0
- package/dist/browser/unstable/v2/bridge.js +76 -0
- package/dist/browser/unstable/v2/bridge.js.map +1 -0
- package/dist/browser/unstable/v2/complete.js +29 -0
- package/dist/browser/unstable/v2/complete.js.map +1 -0
- package/dist/browser/unstable/v2/config-view.js +111 -0
- package/dist/browser/unstable/v2/config-view.js.map +1 -0
- package/dist/browser/unstable/v2/create-animate.js +102 -0
- package/dist/browser/unstable/v2/create-animate.js.map +1 -0
- package/dist/browser/unstable/v2/cycle.js +30 -0
- package/dist/browser/unstable/v2/cycle.js.map +1 -0
- package/dist/browser/unstable/v2/drag-sensor.js +34 -0
- package/dist/browser/unstable/v2/drag-sensor.js.map +1 -0
- package/dist/browser/unstable/v2/element.js +393 -0
- package/dist/browser/unstable/v2/element.js.map +1 -0
- package/dist/browser/unstable/v2/feature-section.js +27 -0
- package/dist/browser/unstable/v2/feature-section.js.map +1 -0
- package/dist/browser/unstable/v2/focus-sensor.js +23 -0
- package/dist/browser/unstable/v2/focus-sensor.js.map +1 -0
- package/dist/browser/unstable/v2/hover-sensor.js +28 -0
- package/dist/browser/unstable/v2/hover-sensor.js.map +1 -0
- package/dist/browser/unstable/v2/index.js +114 -0
- package/dist/browser/unstable/v2/index.js.map +1 -0
- package/dist/browser/unstable/v2/layout-projection.js +18 -0
- package/dist/browser/unstable/v2/layout-projection.js.map +1 -0
- package/dist/browser/unstable/v2/layout.js +71 -0
- package/dist/browser/unstable/v2/layout.js.map +1 -0
- package/dist/browser/unstable/v2/lifecycle.js +455 -0
- package/dist/browser/unstable/v2/lifecycle.js.map +1 -0
- package/dist/browser/unstable/v2/live-value.js +264 -0
- package/dist/browser/unstable/v2/live-value.js.map +1 -0
- package/dist/browser/unstable/v2/presence-handle.js +146 -0
- package/dist/browser/unstable/v2/presence-handle.js.map +1 -0
- package/dist/browser/unstable/v2/presence-hooks.js +142 -0
- package/dist/browser/unstable/v2/presence-hooks.js.map +1 -0
- package/dist/browser/unstable/v2/presence.js +124 -0
- package/dist/browser/unstable/v2/presence.js.map +1 -0
- package/dist/browser/unstable/v2/press-sensor.js +29 -0
- package/dist/browser/unstable/v2/press-sensor.js.map +1 -0
- package/dist/browser/unstable/v2/provider.js +457 -0
- package/dist/browser/unstable/v2/provider.js.map +1 -0
- package/dist/browser/unstable/v2/reorder.js +663 -0
- package/dist/browser/unstable/v2/reorder.js.map +1 -0
- package/dist/browser/unstable/v2/sensors.js +138 -0
- package/dist/browser/unstable/v2/sensors.js.map +1 -0
- package/dist/browser/unstable/v2/solid-reactivity.js +82 -0
- package/dist/browser/unstable/v2/solid-reactivity.js.map +1 -0
- package/dist/browser/unstable/v2/variant-node.js +395 -0
- package/dist/browser/unstable/v2/variant-node.js.map +1 -0
- package/dist/browser/unstable/v2/w.js +23 -0
- package/dist/browser/unstable/v2/w.js.map +1 -0
- package/dist/browser/unstable/v2/waiters.js +185 -0
- package/dist/browser/unstable/v2/waiters.js.map +1 -0
- package/dist/browser/unstable/v2/ward.js +1620 -0
- package/dist/browser/unstable/v2/ward.js.map +1 -0
- package/dist/browser/unstable/v2/wardic-config.js +40 -0
- package/dist/browser/unstable/v2/wardic-config.js.map +1 -0
- package/dist/browser/unstable/v2/wardic.js +16 -0
- package/dist/browser/unstable/v2/wardic.js.map +1 -0
- package/dist/browser/variant-node.js +308 -0
- package/dist/browser/variant-node.js.map +1 -0
- package/dist/browser/variant-target.js +224 -0
- package/dist/browser/variant-target.js.map +1 -0
- package/dist/browser/variant-tree.js +394 -0
- package/dist/browser/variant-tree.js.map +1 -0
- package/dist/browser/variants.js +43 -0
- package/dist/browser/variants.js.map +1 -0
- package/dist/browser/w.js +25 -0
- package/dist/browser/w.js.map +1 -0
- package/dist/browser/ward-keys.js +2 -0
- package/dist/browser/ward-keys.js.map +1 -0
- package/dist/browser/wardic-component.js +74 -0
- package/dist/browser/wardic-component.js.map +1 -0
- package/dist/browser/wardic-config-value.js +91 -0
- package/dist/browser/wardic-config-value.js.map +1 -0
- package/dist/browser/wardic-config.js +42 -0
- package/dist/browser/wardic-config.js.map +1 -0
- package/dist/browser/wardic.js +31 -0
- package/dist/browser/wardic.js.map +1 -0
- package/dist/server/animation-controls.js +150 -0
- package/dist/server/animation-controls.js.map +1 -0
- package/dist/server/animation-frame.js +29 -0
- package/dist/server/animation-frame.js.map +1 -0
- package/dist/server/appear.js +727 -0
- package/dist/server/appear.js.map +1 -0
- package/dist/server/arc.js +21 -0
- package/dist/server/arc.js.map +1 -0
- package/dist/server/bridge.js +69 -0
- package/dist/server/bridge.js.map +1 -0
- package/dist/server/complete.js +30 -0
- package/dist/server/complete.js.map +1 -0
- package/dist/server/config.js +2 -0
- package/dist/server/config.js.map +1 -0
- package/dist/server/create-animate.js +41 -0
- package/dist/server/create-animate.js.map +1 -0
- package/dist/server/create-ward.js +1001 -0
- package/dist/server/create-ward.js.map +1 -0
- package/dist/server/cycle-index.js +17 -0
- package/dist/server/cycle-index.js.map +1 -0
- package/dist/server/cycle.js +31 -0
- package/dist/server/cycle.js.map +1 -0
- package/dist/server/directive.js +80 -0
- package/dist/server/directive.js.map +1 -0
- package/dist/server/drag-constraints.js +76 -0
- package/dist/server/drag-constraints.js.map +1 -0
- package/dist/server/drag-controls.js +51 -0
- package/dist/server/drag-controls.js.map +1 -0
- package/dist/server/drag-samples.js +40 -0
- package/dist/server/drag-samples.js.map +1 -0
- package/dist/server/drag-sensor.js +35 -0
- package/dist/server/drag-sensor.js.map +1 -0
- package/dist/server/drag-track.js +817 -0
- package/dist/server/drag-track.js.map +1 -0
- package/dist/server/drag-transition.js +56 -0
- package/dist/server/drag-transition.js.map +1 -0
- package/dist/server/drag.js +44 -0
- package/dist/server/drag.js.map +1 -0
- package/dist/server/element-style.js +67 -0
- package/dist/server/element-style.js.map +1 -0
- package/dist/server/element.js +353 -0
- package/dist/server/element.js.map +1 -0
- package/dist/server/feature-section.js +17 -0
- package/dist/server/feature-section.js.map +1 -0
- package/dist/server/feature.js +261 -0
- package/dist/server/feature.js.map +1 -0
- package/dist/server/features/all.js +10 -0
- package/dist/server/features/all.js.map +1 -0
- package/dist/server/features/colors.js +33 -0
- package/dist/server/features/colors.js.map +1 -0
- package/dist/server/features/dom-animation.js +7 -0
- package/dist/server/features/dom-animation.js.map +1 -0
- package/dist/server/features/dom-max.js +4 -0
- package/dist/server/features/dom-max.js.map +1 -0
- package/dist/server/features/drag.js +28 -0
- package/dist/server/features/drag.js.map +1 -0
- package/dist/server/features/focus.js +18 -0
- package/dist/server/features/focus.js.map +1 -0
- package/dist/server/features/hover.js +18 -0
- package/dist/server/features/hover.js.map +1 -0
- package/dist/server/features/in-view.js +18 -0
- package/dist/server/features/in-view.js.map +1 -0
- package/dist/server/features/input.js +30 -0
- package/dist/server/features/input.js.map +1 -0
- package/dist/server/features/keys.js +19 -0
- package/dist/server/features/keys.js.map +1 -0
- package/dist/server/features/layout.js +33 -0
- package/dist/server/features/layout.js.map +1 -0
- package/dist/server/features/pan.js +18 -0
- package/dist/server/features/pan.js.map +1 -0
- package/dist/server/features/press.js +12 -0
- package/dist/server/features/press.js.map +1 -0
- package/dist/server/focus-sensor.js +23 -0
- package/dist/server/focus-sensor.js.map +1 -0
- package/dist/server/frame-time.js +40 -0
- package/dist/server/frame-time.js.map +1 -0
- package/dist/server/gesture-callbacks.js +172 -0
- package/dist/server/gesture-callbacks.js.map +1 -0
- package/dist/server/gesture-features.js +29 -0
- package/dist/server/gesture-features.js.map +1 -0
- package/dist/server/gesture-info.js +43 -0
- package/dist/server/gesture-info.js.map +1 -0
- package/dist/server/hover-sensor.js +29 -0
- package/dist/server/hover-sensor.js.map +1 -0
- package/dist/server/imperative.js +614 -0
- package/dist/server/imperative.js.map +1 -0
- package/dist/server/index.js +165 -0
- package/dist/server/index.js.map +1 -0
- package/dist/server/instant.js +51 -0
- package/dist/server/instant.js.map +1 -0
- package/dist/server/layout-group.js +27 -0
- package/dist/server/layout-group.js.map +1 -0
- package/dist/server/layout-member.js +362 -0
- package/dist/server/layout-member.js.map +1 -0
- package/dist/server/layout-projection.js +19 -0
- package/dist/server/layout-projection.js.map +1 -0
- package/dist/server/layout.js +90 -0
- package/dist/server/layout.js.map +1 -0
- package/dist/server/live-style.js +313 -0
- package/dist/server/live-style.js.map +1 -0
- package/dist/server/live-value.js +252 -0
- package/dist/server/live-value.js.map +1 -0
- package/dist/server/motion-props.js +172 -0
- package/dist/server/motion-props.js.map +1 -0
- package/dist/server/owner-scope.js +29 -0
- package/dist/server/owner-scope.js.map +1 -0
- package/dist/server/page-point.js +92 -0
- package/dist/server/page-point.js.map +1 -0
- package/dist/server/presence-controller.js +1324 -0
- package/dist/server/presence-controller.js.map +1 -0
- package/dist/server/presence-record.js +27 -0
- package/dist/server/presence-record.js.map +1 -0
- package/dist/server/presence.js +207 -0
- package/dist/server/presence.js.map +1 -0
- package/dist/server/press-sensor.js +30 -0
- package/dist/server/press-sensor.js.map +1 -0
- package/dist/server/press.js +24 -0
- package/dist/server/press.js.map +1 -0
- package/dist/server/provider.js +439 -0
- package/dist/server/provider.js.map +1 -0
- package/dist/server/reactivity.js +9 -0
- package/dist/server/reactivity.js.map +1 -0
- package/dist/server/reorder-input.js +46 -0
- package/dist/server/reorder-input.js.map +1 -0
- package/dist/server/reorder.js +543 -0
- package/dist/server/reorder.js.map +1 -0
- package/dist/server/retarget-legs.js +1019 -0
- package/dist/server/retarget-legs.js.map +1 -0
- package/dist/server/runtime.js +249 -0
- package/dist/server/runtime.js.map +1 -0
- package/dist/server/sensors.js +172 -0
- package/dist/server/sensors.js.map +1 -0
- package/dist/server/server-interpolators.js +20 -0
- package/dist/server/server-interpolators.js.map +1 -0
- package/dist/server/server.js +20 -0
- package/dist/server/server.js.map +1 -0
- package/dist/server/solid-reactivity.js +26 -0
- package/dist/server/solid-reactivity.js.map +1 -0
- package/dist/server/spine.js +2939 -0
- package/dist/server/spine.js.map +1 -0
- package/dist/server/stagger.js +13 -0
- package/dist/server/stagger.js.map +1 -0
- package/dist/server/unstable/v2/bridge.js +76 -0
- package/dist/server/unstable/v2/bridge.js.map +1 -0
- package/dist/server/unstable/v2/complete.js +29 -0
- package/dist/server/unstable/v2/complete.js.map +1 -0
- package/dist/server/unstable/v2/config-view.js +111 -0
- package/dist/server/unstable/v2/config-view.js.map +1 -0
- package/dist/server/unstable/v2/create-animate.js +102 -0
- package/dist/server/unstable/v2/create-animate.js.map +1 -0
- package/dist/server/unstable/v2/cycle.js +30 -0
- package/dist/server/unstable/v2/cycle.js.map +1 -0
- package/dist/server/unstable/v2/drag-sensor.js +34 -0
- package/dist/server/unstable/v2/drag-sensor.js.map +1 -0
- package/dist/server/unstable/v2/element.js +402 -0
- package/dist/server/unstable/v2/element.js.map +1 -0
- package/dist/server/unstable/v2/feature-section.js +27 -0
- package/dist/server/unstable/v2/feature-section.js.map +1 -0
- package/dist/server/unstable/v2/focus-sensor.js +23 -0
- package/dist/server/unstable/v2/focus-sensor.js.map +1 -0
- package/dist/server/unstable/v2/hover-sensor.js +28 -0
- package/dist/server/unstable/v2/hover-sensor.js.map +1 -0
- package/dist/server/unstable/v2/index.js +114 -0
- package/dist/server/unstable/v2/index.js.map +1 -0
- package/dist/server/unstable/v2/layout-projection.js +18 -0
- package/dist/server/unstable/v2/layout-projection.js.map +1 -0
- package/dist/server/unstable/v2/layout.js +88 -0
- package/dist/server/unstable/v2/layout.js.map +1 -0
- package/dist/server/unstable/v2/lifecycle.js +455 -0
- package/dist/server/unstable/v2/lifecycle.js.map +1 -0
- package/dist/server/unstable/v2/live-value.js +264 -0
- package/dist/server/unstable/v2/live-value.js.map +1 -0
- package/dist/server/unstable/v2/presence-handle.js +146 -0
- package/dist/server/unstable/v2/presence-handle.js.map +1 -0
- package/dist/server/unstable/v2/presence-hooks.js +142 -0
- package/dist/server/unstable/v2/presence-hooks.js.map +1 -0
- package/dist/server/unstable/v2/presence.js +142 -0
- package/dist/server/unstable/v2/presence.js.map +1 -0
- package/dist/server/unstable/v2/press-sensor.js +29 -0
- package/dist/server/unstable/v2/press-sensor.js.map +1 -0
- package/dist/server/unstable/v2/provider.js +475 -0
- package/dist/server/unstable/v2/provider.js.map +1 -0
- package/dist/server/unstable/v2/reorder.js +733 -0
- package/dist/server/unstable/v2/reorder.js.map +1 -0
- package/dist/server/unstable/v2/sensors.js +138 -0
- package/dist/server/unstable/v2/sensors.js.map +1 -0
- package/dist/server/unstable/v2/solid-reactivity.js +82 -0
- package/dist/server/unstable/v2/solid-reactivity.js.map +1 -0
- package/dist/server/unstable/v2/variant-node.js +395 -0
- package/dist/server/unstable/v2/variant-node.js.map +1 -0
- package/dist/server/unstable/v2/w.js +23 -0
- package/dist/server/unstable/v2/w.js.map +1 -0
- package/dist/server/unstable/v2/waiters.js +185 -0
- package/dist/server/unstable/v2/waiters.js.map +1 -0
- package/dist/server/unstable/v2/ward.js +1653 -0
- package/dist/server/unstable/v2/ward.js.map +1 -0
- package/dist/server/unstable/v2/wardic-config.js +49 -0
- package/dist/server/unstable/v2/wardic-config.js.map +1 -0
- package/dist/server/unstable/v2/wardic.js +16 -0
- package/dist/server/unstable/v2/wardic.js.map +1 -0
- package/dist/server/variant-node.js +308 -0
- package/dist/server/variant-node.js.map +1 -0
- package/dist/server/variant-target.js +224 -0
- package/dist/server/variant-target.js.map +1 -0
- package/dist/server/variant-tree.js +394 -0
- package/dist/server/variant-tree.js.map +1 -0
- package/dist/server/variants.js +43 -0
- package/dist/server/variants.js.map +1 -0
- package/dist/server/w.js +25 -0
- package/dist/server/w.js.map +1 -0
- package/dist/server/ward-keys.js +2 -0
- package/dist/server/ward-keys.js.map +1 -0
- package/dist/server/wardic-component.js +74 -0
- package/dist/server/wardic-component.js.map +1 -0
- package/dist/server/wardic-config-value.js +91 -0
- package/dist/server/wardic-config-value.js.map +1 -0
- package/dist/server/wardic-config.js +42 -0
- package/dist/server/wardic-config.js.map +1 -0
- package/dist/server/wardic.js +31 -0
- package/dist/server/wardic.js.map +1 -0
- package/dist/solid/animation-controls.d.ts +104 -0
- package/dist/solid/animation-controls.d.ts.map +1 -0
- package/dist/solid/animation-controls.js +129 -0
- package/dist/solid/animation-controls.js.map +1 -0
- package/dist/solid/animation-frame.d.ts +11 -0
- package/dist/solid/animation-frame.d.ts.map +1 -0
- package/dist/solid/animation-frame.js +31 -0
- package/dist/solid/animation-frame.js.map +1 -0
- package/dist/solid/appear.d.ts +205 -0
- package/dist/solid/appear.d.ts.map +1 -0
- package/dist/solid/appear.js +519 -0
- package/dist/solid/appear.js.map +1 -0
- package/dist/solid/arc.d.ts +25 -0
- package/dist/solid/arc.d.ts.map +1 -0
- package/dist/solid/arc.js +21 -0
- package/dist/solid/arc.js.map +1 -0
- package/dist/solid/bridge.d.ts +53 -0
- package/dist/solid/bridge.d.ts.map +1 -0
- package/dist/solid/bridge.js +66 -0
- package/dist/solid/bridge.js.map +1 -0
- package/dist/solid/complete.d.ts +31 -0
- package/dist/solid/complete.d.ts.map +1 -0
- package/dist/solid/complete.js +27 -0
- package/dist/solid/complete.js.map +1 -0
- package/dist/solid/config.d.ts +693 -0
- package/dist/solid/config.d.ts.map +1 -0
- package/dist/solid/config.js +2 -0
- package/dist/solid/config.js.map +1 -0
- package/dist/solid/create-animate.d.ts +17 -0
- package/dist/solid/create-animate.d.ts.map +1 -0
- package/dist/solid/create-animate.js +42 -0
- package/dist/solid/create-animate.js.map +1 -0
- package/dist/solid/create-ward.d.ts +278 -0
- package/dist/solid/create-ward.d.ts.map +1 -0
- package/dist/solid/create-ward.jsx +874 -0
- package/dist/solid/create-ward.jsx.map +1 -0
- package/dist/solid/cycle-index.d.ts +7 -0
- package/dist/solid/cycle-index.d.ts.map +1 -0
- package/dist/solid/cycle-index.js +17 -0
- package/dist/solid/cycle-index.js.map +1 -0
- package/dist/solid/cycle.d.ts +21 -0
- package/dist/solid/cycle.d.ts.map +1 -0
- package/dist/solid/cycle.js +31 -0
- package/dist/solid/cycle.js.map +1 -0
- package/dist/solid/directive.d.ts +21 -0
- package/dist/solid/directive.d.ts.map +1 -0
- package/dist/solid/directive.js +76 -0
- package/dist/solid/directive.js.map +1 -0
- package/dist/solid/drag-constraints.d.ts +46 -0
- package/dist/solid/drag-constraints.d.ts.map +1 -0
- package/dist/solid/drag-constraints.js +49 -0
- package/dist/solid/drag-constraints.js.map +1 -0
- package/dist/solid/drag-controls.d.ts +50 -0
- package/dist/solid/drag-controls.d.ts.map +1 -0
- package/dist/solid/drag-controls.js +51 -0
- package/dist/solid/drag-controls.js.map +1 -0
- package/dist/solid/drag-samples.d.ts +34 -0
- package/dist/solid/drag-samples.d.ts.map +1 -0
- package/dist/solid/drag-samples.js +28 -0
- package/dist/solid/drag-samples.js.map +1 -0
- package/dist/solid/drag-sensor.d.ts +23 -0
- package/dist/solid/drag-sensor.d.ts.map +1 -0
- package/dist/solid/drag-sensor.js +33 -0
- package/dist/solid/drag-sensor.js.map +1 -0
- package/dist/solid/drag-track.d.ts +227 -0
- package/dist/solid/drag-track.d.ts.map +1 -0
- package/dist/solid/drag-track.js +631 -0
- package/dist/solid/drag-track.js.map +1 -0
- package/dist/solid/drag-transition.d.ts +20 -0
- package/dist/solid/drag-transition.d.ts.map +1 -0
- package/dist/solid/drag-transition.js +31 -0
- package/dist/solid/drag-transition.js.map +1 -0
- package/dist/solid/drag.d.ts +23 -0
- package/dist/solid/drag.d.ts.map +1 -0
- package/dist/solid/drag.js +44 -0
- package/dist/solid/drag.js.map +1 -0
- package/dist/solid/element-style.d.ts +60 -0
- package/dist/solid/element-style.d.ts.map +1 -0
- package/dist/solid/element-style.js +50 -0
- package/dist/solid/element-style.js.map +1 -0
- package/dist/solid/element.d.ts +73 -0
- package/dist/solid/element.d.ts.map +1 -0
- package/dist/solid/element.jsx +326 -0
- package/dist/solid/element.jsx.map +1 -0
- package/dist/solid/feature-section.d.ts +18 -0
- package/dist/solid/feature-section.d.ts.map +1 -0
- package/dist/solid/feature-section.js +13 -0
- package/dist/solid/feature-section.js.map +1 -0
- package/dist/solid/feature.d.ts +114 -0
- package/dist/solid/feature.d.ts.map +1 -0
- package/dist/solid/feature.js +248 -0
- package/dist/solid/feature.js.map +1 -0
- package/dist/solid/features/all.d.ts +10 -0
- package/dist/solid/features/all.d.ts.map +1 -0
- package/dist/solid/features/all.js +10 -0
- package/dist/solid/features/all.js.map +1 -0
- package/dist/solid/features/colors.d.ts +12 -0
- package/dist/solid/features/colors.d.ts.map +1 -0
- package/dist/solid/features/colors.js +34 -0
- package/dist/solid/features/colors.js.map +1 -0
- package/dist/solid/features/dom-animation.d.ts +11 -0
- package/dist/solid/features/dom-animation.d.ts.map +1 -0
- package/dist/solid/features/dom-animation.js +7 -0
- package/dist/solid/features/dom-animation.js.map +1 -0
- package/dist/solid/features/dom-max.d.ts +10 -0
- package/dist/solid/features/dom-max.d.ts.map +1 -0
- package/dist/solid/features/dom-max.js +4 -0
- package/dist/solid/features/dom-max.js.map +1 -0
- package/dist/solid/features/drag.d.ts +5 -0
- package/dist/solid/features/drag.d.ts.map +1 -0
- package/dist/solid/features/drag.js +28 -0
- package/dist/solid/features/drag.js.map +1 -0
- package/dist/solid/features/focus.d.ts +5 -0
- package/dist/solid/features/focus.d.ts.map +1 -0
- package/dist/solid/features/focus.js +16 -0
- package/dist/solid/features/focus.js.map +1 -0
- package/dist/solid/features/hover.d.ts +5 -0
- package/dist/solid/features/hover.d.ts.map +1 -0
- package/dist/solid/features/hover.js +16 -0
- package/dist/solid/features/hover.js.map +1 -0
- package/dist/solid/features/in-view.d.ts +5 -0
- package/dist/solid/features/in-view.d.ts.map +1 -0
- package/dist/solid/features/in-view.js +16 -0
- package/dist/solid/features/in-view.js.map +1 -0
- package/dist/solid/features/input.d.ts +26 -0
- package/dist/solid/features/input.d.ts.map +1 -0
- package/dist/solid/features/input.js +31 -0
- package/dist/solid/features/input.js.map +1 -0
- package/dist/solid/features/keys.d.ts +70 -0
- package/dist/solid/features/keys.d.ts.map +1 -0
- package/dist/solid/features/keys.js +26 -0
- package/dist/solid/features/keys.js.map +1 -0
- package/dist/solid/features/layout.d.ts +32 -0
- package/dist/solid/features/layout.d.ts.map +1 -0
- package/dist/solid/features/layout.js +34 -0
- package/dist/solid/features/layout.js.map +1 -0
- package/dist/solid/features/pan.d.ts +5 -0
- package/dist/solid/features/pan.d.ts.map +1 -0
- package/dist/solid/features/pan.js +16 -0
- package/dist/solid/features/pan.js.map +1 -0
- package/dist/solid/features/press.d.ts +11 -0
- package/dist/solid/features/press.d.ts.map +1 -0
- package/dist/solid/features/press.js +10 -0
- package/dist/solid/features/press.js.map +1 -0
- package/dist/solid/focus-sensor.d.ts +19 -0
- package/dist/solid/focus-sensor.d.ts.map +1 -0
- package/dist/solid/focus-sensor.js +23 -0
- package/dist/solid/focus-sensor.js.map +1 -0
- package/dist/solid/frame-time.d.ts +21 -0
- package/dist/solid/frame-time.d.ts.map +1 -0
- package/dist/solid/frame-time.js +41 -0
- package/dist/solid/frame-time.js.map +1 -0
- package/dist/solid/gesture-callbacks.d.ts +53 -0
- package/dist/solid/gesture-callbacks.d.ts.map +1 -0
- package/dist/solid/gesture-callbacks.js +184 -0
- package/dist/solid/gesture-callbacks.js.map +1 -0
- package/dist/solid/gesture-features.d.ts +28 -0
- package/dist/solid/gesture-features.d.ts.map +1 -0
- package/dist/solid/gesture-features.js +29 -0
- package/dist/solid/gesture-features.js.map +1 -0
- package/dist/solid/gesture-info.d.ts +59 -0
- package/dist/solid/gesture-info.d.ts.map +1 -0
- package/dist/solid/gesture-info.js +23 -0
- package/dist/solid/gesture-info.js.map +1 -0
- package/dist/solid/hover-sensor.d.ts +19 -0
- package/dist/solid/hover-sensor.d.ts.map +1 -0
- package/dist/solid/hover-sensor.js +23 -0
- package/dist/solid/hover-sensor.js.map +1 -0
- package/dist/solid/imperative.d.ts +195 -0
- package/dist/solid/imperative.d.ts.map +1 -0
- package/dist/solid/imperative.js +536 -0
- package/dist/solid/imperative.js.map +1 -0
- package/dist/solid/index.d.ts +180 -0
- package/dist/solid/index.d.ts.map +1 -0
- package/dist/solid/index.js +165 -0
- package/dist/solid/index.js.map +1 -0
- package/dist/solid/instant.d.ts +44 -0
- package/dist/solid/instant.d.ts.map +1 -0
- package/dist/solid/instant.js +49 -0
- package/dist/solid/instant.js.map +1 -0
- package/dist/solid/layout-group.d.ts +14 -0
- package/dist/solid/layout-group.d.ts.map +1 -0
- package/dist/solid/layout-group.js +27 -0
- package/dist/solid/layout-group.js.map +1 -0
- package/dist/solid/layout-member.d.ts +117 -0
- package/dist/solid/layout-member.d.ts.map +1 -0
- package/dist/solid/layout-member.js +164 -0
- package/dist/solid/layout-member.js.map +1 -0
- package/dist/solid/layout-projection.d.ts +22 -0
- package/dist/solid/layout-projection.d.ts.map +1 -0
- package/dist/solid/layout-projection.js +19 -0
- package/dist/solid/layout-projection.js.map +1 -0
- package/dist/solid/layout.d.ts +76 -0
- package/dist/solid/layout.d.ts.map +1 -0
- package/dist/solid/layout.jsx +80 -0
- package/dist/solid/layout.jsx.map +1 -0
- package/dist/solid/live-style.d.ts +147 -0
- package/dist/solid/live-style.d.ts.map +1 -0
- package/dist/solid/live-style.js +304 -0
- package/dist/solid/live-style.js.map +1 -0
- package/dist/solid/live-value.d.ts +144 -0
- package/dist/solid/live-value.d.ts.map +1 -0
- package/dist/solid/live-value.js +223 -0
- package/dist/solid/live-value.js.map +1 -0
- package/dist/solid/motion-props.d.ts +75 -0
- package/dist/solid/motion-props.d.ts.map +1 -0
- package/dist/solid/motion-props.js +314 -0
- package/dist/solid/motion-props.js.map +1 -0
- package/dist/solid/owner-scope.d.ts +16 -0
- package/dist/solid/owner-scope.d.ts.map +1 -0
- package/dist/solid/owner-scope.js +31 -0
- package/dist/solid/owner-scope.js.map +1 -0
- package/dist/solid/page-point.d.ts +35 -0
- package/dist/solid/page-point.d.ts.map +1 -0
- package/dist/solid/page-point.js +87 -0
- package/dist/solid/page-point.js.map +1 -0
- package/dist/solid/presence-controller.d.ts +122 -0
- package/dist/solid/presence-controller.d.ts.map +1 -0
- package/dist/solid/presence-controller.js +1207 -0
- package/dist/solid/presence-controller.js.map +1 -0
- package/dist/solid/presence-record.d.ts +167 -0
- package/dist/solid/presence-record.d.ts.map +1 -0
- package/dist/solid/presence-record.js +26 -0
- package/dist/solid/presence-record.js.map +1 -0
- package/dist/solid/presence.d.ts +95 -0
- package/dist/solid/presence.d.ts.map +1 -0
- package/dist/solid/presence.jsx +195 -0
- package/dist/solid/presence.jsx.map +1 -0
- package/dist/solid/press-sensor.d.ts +20 -0
- package/dist/solid/press-sensor.d.ts.map +1 -0
- package/dist/solid/press-sensor.js +24 -0
- package/dist/solid/press-sensor.js.map +1 -0
- package/dist/solid/press.d.ts +24 -0
- package/dist/solid/press.d.ts.map +1 -0
- package/dist/solid/press.js +19 -0
- package/dist/solid/press.js.map +1 -0
- package/dist/solid/provider.d.ts +263 -0
- package/dist/solid/provider.d.ts.map +1 -0
- package/dist/solid/provider.jsx +411 -0
- package/dist/solid/provider.jsx.map +1 -0
- package/dist/solid/reactivity.d.ts +27 -0
- package/dist/solid/reactivity.d.ts.map +1 -0
- package/dist/solid/reactivity.js +9 -0
- package/dist/solid/reactivity.js.map +1 -0
- package/dist/solid/reorder-input.d.ts +22 -0
- package/dist/solid/reorder-input.d.ts.map +1 -0
- package/dist/solid/reorder-input.js +45 -0
- package/dist/solid/reorder-input.js.map +1 -0
- package/dist/solid/reorder.d.ts +241 -0
- package/dist/solid/reorder.d.ts.map +1 -0
- package/dist/solid/reorder.jsx +427 -0
- package/dist/solid/reorder.jsx.map +1 -0
- package/dist/solid/retarget-legs.d.ts +189 -0
- package/dist/solid/retarget-legs.d.ts.map +1 -0
- package/dist/solid/retarget-legs.js +825 -0
- package/dist/solid/retarget-legs.js.map +1 -0
- package/dist/solid/runtime.d.ts +179 -0
- package/dist/solid/runtime.d.ts.map +1 -0
- package/dist/solid/runtime.js +237 -0
- package/dist/solid/runtime.js.map +1 -0
- package/dist/solid/sensors.d.ts +95 -0
- package/dist/solid/sensors.d.ts.map +1 -0
- package/dist/solid/sensors.js +154 -0
- package/dist/solid/sensors.js.map +1 -0
- package/dist/solid/server-interpolators.d.ts +13 -0
- package/dist/solid/server-interpolators.d.ts.map +1 -0
- package/dist/solid/server-interpolators.js +20 -0
- package/dist/solid/server-interpolators.js.map +1 -0
- package/dist/solid/server.d.ts +9 -0
- package/dist/solid/server.d.ts.map +1 -0
- package/dist/solid/server.js +20 -0
- package/dist/solid/server.js.map +1 -0
- package/dist/solid/solid-reactivity.d.ts +3 -0
- package/dist/solid/solid-reactivity.d.ts.map +1 -0
- package/dist/solid/solid-reactivity.js +19 -0
- package/dist/solid/solid-reactivity.js.map +1 -0
- package/dist/solid/spine.d.ts +597 -0
- package/dist/solid/spine.d.ts.map +1 -0
- package/dist/solid/spine.js +2761 -0
- package/dist/solid/spine.js.map +1 -0
- package/dist/solid/stagger.d.ts +29 -0
- package/dist/solid/stagger.d.ts.map +1 -0
- package/dist/solid/stagger.js +13 -0
- package/dist/solid/stagger.js.map +1 -0
- package/dist/solid/unstable/v2/bridge.d.ts +33 -0
- package/dist/solid/unstable/v2/bridge.d.ts.map +1 -0
- package/dist/solid/unstable/v2/bridge.js +76 -0
- package/dist/solid/unstable/v2/bridge.js.map +1 -0
- package/dist/solid/unstable/v2/complete.d.ts +21 -0
- package/dist/solid/unstable/v2/complete.d.ts.map +1 -0
- package/dist/solid/unstable/v2/complete.js +27 -0
- package/dist/solid/unstable/v2/complete.js.map +1 -0
- package/dist/solid/unstable/v2/config-view.d.ts +49 -0
- package/dist/solid/unstable/v2/config-view.d.ts.map +1 -0
- package/dist/solid/unstable/v2/config-view.js +114 -0
- package/dist/solid/unstable/v2/config-view.js.map +1 -0
- package/dist/solid/unstable/v2/create-animate.d.ts +31 -0
- package/dist/solid/unstable/v2/create-animate.d.ts.map +1 -0
- package/dist/solid/unstable/v2/create-animate.js +102 -0
- package/dist/solid/unstable/v2/create-animate.js.map +1 -0
- package/dist/solid/unstable/v2/cycle.d.ts +20 -0
- package/dist/solid/unstable/v2/cycle.d.ts.map +1 -0
- package/dist/solid/unstable/v2/cycle.js +30 -0
- package/dist/solid/unstable/v2/cycle.js.map +1 -0
- package/dist/solid/unstable/v2/drag-sensor.d.ts +23 -0
- package/dist/solid/unstable/v2/drag-sensor.d.ts.map +1 -0
- package/dist/solid/unstable/v2/drag-sensor.js +32 -0
- package/dist/solid/unstable/v2/drag-sensor.js.map +1 -0
- package/dist/solid/unstable/v2/element.d.ts +178 -0
- package/dist/solid/unstable/v2/element.d.ts.map +1 -0
- package/dist/solid/unstable/v2/element.jsx +325 -0
- package/dist/solid/unstable/v2/element.jsx.map +1 -0
- package/dist/solid/unstable/v2/feature-section.d.ts +12 -0
- package/dist/solid/unstable/v2/feature-section.d.ts.map +1 -0
- package/dist/solid/unstable/v2/feature-section.js +23 -0
- package/dist/solid/unstable/v2/feature-section.js.map +1 -0
- package/dist/solid/unstable/v2/focus-sensor.d.ts +13 -0
- package/dist/solid/unstable/v2/focus-sensor.d.ts.map +1 -0
- package/dist/solid/unstable/v2/focus-sensor.js +23 -0
- package/dist/solid/unstable/v2/focus-sensor.js.map +1 -0
- package/dist/solid/unstable/v2/hover-sensor.d.ts +12 -0
- package/dist/solid/unstable/v2/hover-sensor.d.ts.map +1 -0
- package/dist/solid/unstable/v2/hover-sensor.js +22 -0
- package/dist/solid/unstable/v2/hover-sensor.js.map +1 -0
- package/dist/solid/unstable/v2/index.d.ts +131 -0
- package/dist/solid/unstable/v2/index.d.ts.map +1 -0
- package/dist/solid/unstable/v2/index.js +114 -0
- package/dist/solid/unstable/v2/index.js.map +1 -0
- package/dist/solid/unstable/v2/layout-projection.d.ts +21 -0
- package/dist/solid/unstable/v2/layout-projection.d.ts.map +1 -0
- package/dist/solid/unstable/v2/layout-projection.js +18 -0
- package/dist/solid/unstable/v2/layout-projection.js.map +1 -0
- package/dist/solid/unstable/v2/layout.d.ts +47 -0
- package/dist/solid/unstable/v2/layout.d.ts.map +1 -0
- package/dist/solid/unstable/v2/layout.jsx +62 -0
- package/dist/solid/unstable/v2/layout.jsx.map +1 -0
- package/dist/solid/unstable/v2/lifecycle.d.ts +267 -0
- package/dist/solid/unstable/v2/lifecycle.d.ts.map +1 -0
- package/dist/solid/unstable/v2/lifecycle.js +457 -0
- package/dist/solid/unstable/v2/lifecycle.js.map +1 -0
- package/dist/solid/unstable/v2/live-value.d.ts +146 -0
- package/dist/solid/unstable/v2/live-value.d.ts.map +1 -0
- package/dist/solid/unstable/v2/live-value.js +235 -0
- package/dist/solid/unstable/v2/live-value.js.map +1 -0
- package/dist/solid/unstable/v2/presence-handle.d.ts +55 -0
- package/dist/solid/unstable/v2/presence-handle.d.ts.map +1 -0
- package/dist/solid/unstable/v2/presence-handle.js +119 -0
- package/dist/solid/unstable/v2/presence-handle.js.map +1 -0
- package/dist/solid/unstable/v2/presence-hooks.d.ts +51 -0
- package/dist/solid/unstable/v2/presence-hooks.d.ts.map +1 -0
- package/dist/solid/unstable/v2/presence-hooks.js +115 -0
- package/dist/solid/unstable/v2/presence-hooks.js.map +1 -0
- package/dist/solid/unstable/v2/presence.d.ts +89 -0
- package/dist/solid/unstable/v2/presence.d.ts.map +1 -0
- package/dist/solid/unstable/v2/presence.jsx +107 -0
- package/dist/solid/unstable/v2/presence.jsx.map +1 -0
- package/dist/solid/unstable/v2/press-sensor.d.ts +13 -0
- package/dist/solid/unstable/v2/press-sensor.d.ts.map +1 -0
- package/dist/solid/unstable/v2/press-sensor.js +23 -0
- package/dist/solid/unstable/v2/press-sensor.js.map +1 -0
- package/dist/solid/unstable/v2/provider.d.ts +239 -0
- package/dist/solid/unstable/v2/provider.d.ts.map +1 -0
- package/dist/solid/unstable/v2/provider.jsx +423 -0
- package/dist/solid/unstable/v2/provider.jsx.map +1 -0
- package/dist/solid/unstable/v2/reorder.d.ts +292 -0
- package/dist/solid/unstable/v2/reorder.d.ts.map +1 -0
- package/dist/solid/unstable/v2/reorder.jsx +525 -0
- package/dist/solid/unstable/v2/reorder.jsx.map +1 -0
- package/dist/solid/unstable/v2/sensors.d.ts +91 -0
- package/dist/solid/unstable/v2/sensors.d.ts.map +1 -0
- package/dist/solid/unstable/v2/sensors.js +124 -0
- package/dist/solid/unstable/v2/sensors.js.map +1 -0
- package/dist/solid/unstable/v2/solid-reactivity.d.ts +61 -0
- package/dist/solid/unstable/v2/solid-reactivity.d.ts.map +1 -0
- package/dist/solid/unstable/v2/solid-reactivity.js +62 -0
- package/dist/solid/unstable/v2/solid-reactivity.js.map +1 -0
- package/dist/solid/unstable/v2/variant-node.d.ts +51 -0
- package/dist/solid/unstable/v2/variant-node.d.ts.map +1 -0
- package/dist/solid/unstable/v2/variant-node.js +336 -0
- package/dist/solid/unstable/v2/variant-node.js.map +1 -0
- package/dist/solid/unstable/v2/w.d.ts +42 -0
- package/dist/solid/unstable/v2/w.d.ts.map +1 -0
- package/dist/solid/unstable/v2/w.jsx +22 -0
- package/dist/solid/unstable/v2/w.jsx.map +1 -0
- package/dist/solid/unstable/v2/waiters.d.ts +72 -0
- package/dist/solid/unstable/v2/waiters.d.ts.map +1 -0
- package/dist/solid/unstable/v2/waiters.js +175 -0
- package/dist/solid/unstable/v2/waiters.js.map +1 -0
- package/dist/solid/unstable/v2/ward.d.ts +393 -0
- package/dist/solid/unstable/v2/ward.d.ts.map +1 -0
- package/dist/solid/unstable/v2/ward.jsx +1475 -0
- package/dist/solid/unstable/v2/ward.jsx.map +1 -0
- package/dist/solid/unstable/v2/wardic-config.d.ts +68 -0
- package/dist/solid/unstable/v2/wardic-config.d.ts.map +1 -0
- package/dist/solid/unstable/v2/wardic-config.jsx +28 -0
- package/dist/solid/unstable/v2/wardic-config.jsx.map +1 -0
- package/dist/solid/unstable/v2/wardic.d.ts +28 -0
- package/dist/solid/unstable/v2/wardic.d.ts.map +1 -0
- package/dist/solid/unstable/v2/wardic.jsx +16 -0
- package/dist/solid/unstable/v2/wardic.jsx.map +1 -0
- package/dist/solid/variant-node.d.ts +32 -0
- package/dist/solid/variant-node.d.ts.map +1 -0
- package/dist/solid/variant-node.js +257 -0
- package/dist/solid/variant-node.js.map +1 -0
- package/dist/solid/variant-target.d.ts +102 -0
- package/dist/solid/variant-target.d.ts.map +1 -0
- package/dist/solid/variant-target.js +180 -0
- package/dist/solid/variant-target.js.map +1 -0
- package/dist/solid/variant-tree.d.ts +349 -0
- package/dist/solid/variant-tree.d.ts.map +1 -0
- package/dist/solid/variant-tree.js +358 -0
- package/dist/solid/variant-tree.js.map +1 -0
- package/dist/solid/variants.d.ts +21 -0
- package/dist/solid/variants.d.ts.map +1 -0
- package/dist/solid/variants.js +43 -0
- package/dist/solid/variants.js.map +1 -0
- package/dist/solid/w.d.ts +42 -0
- package/dist/solid/w.d.ts.map +1 -0
- package/dist/solid/w.jsx +23 -0
- package/dist/solid/w.jsx.map +1 -0
- package/dist/solid/ward-keys.d.ts +236 -0
- package/dist/solid/ward-keys.d.ts.map +1 -0
- package/dist/solid/ward-keys.js +2 -0
- package/dist/solid/ward-keys.js.map +1 -0
- package/dist/solid/wardic-component.d.ts +50 -0
- package/dist/solid/wardic-component.d.ts.map +1 -0
- package/dist/solid/wardic-component.js +74 -0
- package/dist/solid/wardic-component.js.map +1 -0
- package/dist/solid/wardic-config-value.d.ts +87 -0
- package/dist/solid/wardic-config-value.d.ts.map +1 -0
- package/dist/solid/wardic-config-value.js +106 -0
- package/dist/solid/wardic-config-value.js.map +1 -0
- package/dist/solid/wardic-config.d.ts +69 -0
- package/dist/solid/wardic-config.d.ts.map +1 -0
- package/dist/solid/wardic-config.jsx +30 -0
- package/dist/solid/wardic-config.jsx.map +1 -0
- package/dist/solid/wardic.d.ts +45 -0
- package/dist/solid/wardic.d.ts.map +1 -0
- package/dist/solid/wardic.jsx +31 -0
- package/dist/solid/wardic.jsx.map +1 -0
- package/package.json +98 -4
- package/src/animation-controls.ts +204 -0
- package/src/animation-frame.ts +32 -0
- package/src/appear.ts +804 -0
- package/src/arc.ts +34 -0
- package/src/bridge.ts +98 -0
- package/src/complete.ts +45 -0
- package/src/config.ts +805 -0
- package/src/create-animate.ts +41 -0
- package/src/create-ward.tsx +1271 -0
- package/src/cycle-index.ts +18 -0
- package/src/cycle.ts +34 -0
- package/src/directive.ts +87 -0
- package/src/drag-constraints.ts +103 -0
- package/src/drag-controls.ts +94 -0
- package/src/drag-samples.ts +54 -0
- package/src/drag-sensor.ts +46 -0
- package/src/drag-track.ts +937 -0
- package/src/drag-transition.ts +43 -0
- package/src/drag.ts +58 -0
- package/src/element-style.ts +112 -0
- package/src/element.tsx +400 -0
- package/src/feature-section.ts +33 -0
- package/src/feature.ts +342 -0
- package/src/features/all.ts +18 -0
- package/src/features/colors.ts +36 -0
- package/src/features/dom-animation.ts +15 -0
- package/src/features/dom-max.ts +11 -0
- package/src/features/drag.ts +30 -0
- package/src/features/focus.ts +17 -0
- package/src/features/hover.ts +17 -0
- package/src/features/in-view.ts +17 -0
- package/src/features/input.ts +42 -0
- package/src/features/keys.ts +89 -0
- package/src/features/layout.ts +54 -0
- package/src/features/pan.ts +17 -0
- package/src/features/press.ts +17 -0
- package/src/focus-sensor.ts +32 -0
- package/src/frame-time.ts +45 -0
- package/src/gesture-callbacks.ts +212 -0
- package/src/gesture-features.ts +35 -0
- package/src/gesture-info.ts +81 -0
- package/src/hover-sensor.ts +32 -0
- package/src/imperative.ts +782 -0
- package/src/index.ts +334 -0
- package/src/instant.ts +90 -0
- package/src/layout-group.ts +32 -0
- package/src/layout-member.ts +300 -0
- package/src/layout-projection.ts +28 -0
- package/src/layout.tsx +127 -0
- package/src/live-style.ts +449 -0
- package/src/live-value.ts +378 -0
- package/src/motion-props.ts +325 -0
- package/src/owner-scope.ts +31 -0
- package/src/page-point.ts +98 -0
- package/src/presence-controller.ts +1483 -0
- package/src/presence-record.ts +189 -0
- package/src/presence.tsx +269 -0
- package/src/press-sensor.ts +33 -0
- package/src/press.ts +40 -0
- package/src/provider.tsx +526 -0
- package/src/reactivity.ts +29 -0
- package/src/reorder-input.ts +53 -0
- package/src/reorder.tsx +703 -0
- package/src/retarget-legs.ts +1048 -0
- package/src/runtime.ts +388 -0
- package/src/sensors.ts +189 -0
- package/src/server-interpolators.ts +33 -0
- package/src/server.ts +21 -0
- package/src/solid-reactivity.ts +21 -0
- package/src/spine.ts +3385 -0
- package/src/stagger.ts +31 -0
- package/src/unstable/v2/bridge.ts +79 -0
- package/src/unstable/v2/complete.ts +47 -0
- package/src/unstable/v2/config-view.ts +156 -0
- package/src/unstable/v2/create-animate.ts +123 -0
- package/src/unstable/v2/cycle.ts +33 -0
- package/src/unstable/v2/drag-sensor.ts +44 -0
- package/src/unstable/v2/element.tsx +478 -0
- package/src/unstable/v2/feature-section.ts +32 -0
- package/src/unstable/v2/focus-sensor.ts +31 -0
- package/src/unstable/v2/hover-sensor.ts +30 -0
- package/src/unstable/v2/index.ts +270 -0
- package/src/unstable/v2/layout-projection.ts +27 -0
- package/src/unstable/v2/layout.tsx +89 -0
- package/src/unstable/v2/lifecycle.ts +612 -0
- package/src/unstable/v2/live-value.ts +414 -0
- package/src/unstable/v2/presence-handle.ts +159 -0
- package/src/unstable/v2/presence-hooks.ts +157 -0
- package/src/unstable/v2/presence.tsx +174 -0
- package/src/unstable/v2/press-sensor.ts +31 -0
- package/src/unstable/v2/provider.tsx +524 -0
- package/src/unstable/v2/reorder.tsx +880 -0
- package/src/unstable/v2/sensors.ts +169 -0
- package/src/unstable/v2/solid-reactivity.ts +69 -0
- package/src/unstable/v2/variant-node.ts +446 -0
- package/src/unstable/v2/w.tsx +49 -0
- package/src/unstable/v2/waiters.ts +212 -0
- package/src/unstable/v2/ward.tsx +2068 -0
- package/src/unstable/v2/wardic-config.tsx +84 -0
- package/src/unstable/v2/wardic.tsx +41 -0
- package/src/variant-node.ts +368 -0
- package/src/variant-target.ts +234 -0
- package/src/variant-tree.ts +638 -0
- package/src/variants.ts +47 -0
- package/src/w.tsx +59 -0
- package/src/ward-keys.ts +343 -0
- package/src/wardic-component.ts +96 -0
- package/src/wardic-config-value.ts +150 -0
- package/src/wardic-config.tsx +78 -0
- package/src/wardic.tsx +59 -0
|
@@ -0,0 +1,612 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A ward's animation lifecycle on Solid 2 (#257, ADR-0046): its Retargets' starts and landings,
|
|
3
|
+
* handed over as async values in place of Solid 1's `onAnimationStart` / `onAnimationComplete`.
|
|
4
|
+
*
|
|
5
|
+
* - `settled()`: the last landing, `undefined` before the first. It's ready from its first read (#257
|
|
6
|
+
* PR 2's Q1, B): a Retarget in flight makes it pending, so `isPending(() => card.settled())` is
|
|
7
|
+
* "animating", and a read keeps the last landing meanwhile. Pending at its first read, a read with
|
|
8
|
+
* no `<Loading>` above it would defer the root's mount, the ward's own with it, and the landing it
|
|
9
|
+
* waits for would never come.
|
|
10
|
+
* - `next("settled")`: a promise of the next landing after the call. It rejects with a `DOMException`
|
|
11
|
+
* named `"AbortError"` once the ward is disposed, as Web Animations' `finished` does on a cancel.
|
|
12
|
+
* - **A failed animation** (#257 item 4), one a leg's failure keeps from landing: `next("settled")`
|
|
13
|
+
* rejects with the failure's error, `each("settled")` throws it, and `settled()` throws it at each
|
|
14
|
+
* read, so a read of it in JSX goes to the reader's `<Errored>`. The next Retarget clears it,
|
|
15
|
+
* pending, and its landing is read again. It's logged and reported apart (ADR-0030), whoever reads it.
|
|
16
|
+
*
|
|
17
|
+
* - `tapped()` (#427, ADR-0056): the last tap, as `settled()` is the last landing: `undefined`
|
|
18
|
+
* before the first, pending while a press is held, from a pointer or a key, so
|
|
19
|
+
* `isPending(() => card.tapped())` is "pressed". A tap resolves it; a cancel, or a press a drag took
|
|
20
|
+
* over, keeps the last tap. Its first read asks for the press, as `next("tap")` does.
|
|
21
|
+
*
|
|
22
|
+
* One object a ward, the spine's hooks itself. Nothing Solid is made until `settled` is first read,
|
|
23
|
+
* and nothing is allocated for a start or a landing until someone asks: until then they're counts
|
|
24
|
+
* and references.
|
|
25
|
+
*
|
|
26
|
+
* @module
|
|
27
|
+
*/
|
|
28
|
+
import * as Bool from "effect/Boolean"
|
|
29
|
+
import * as Predicate from "effect/Predicate"
|
|
30
|
+
import { constUndefined, identity } from "effect/Function"
|
|
31
|
+
import * as UndefinedOr from "effect/UndefinedOr"
|
|
32
|
+
import type * as Drag from "@wardic/core/Drag"
|
|
33
|
+
import type * as InputSource from "@wardic/core/InputSource"
|
|
34
|
+
import type * as DragRecognizer from "@wardic/core/DragRecognizer"
|
|
35
|
+
import type * as Recognizer from "@wardic/core/Recognizer"
|
|
36
|
+
import { type Accessor, createMemo, createSignal, type Owner, runWithOwner } from "solid-js"
|
|
37
|
+
import type { WardicAnimationDefinition, WardicValues } from "../../config.ts"
|
|
38
|
+
import { dragInfoOf, pointInfoOf, pointOfSample, pressInfoOf, type WardicDragInfo, type WardicPoint, type WardicPointInfo, type WardicPressInfo } from "../../gesture-info.ts"
|
|
39
|
+
import { type AnimationHooks, definitionOf, type Resolution } from "../../spine.ts"
|
|
40
|
+
import { CLIENT_ONLY } from "./solid-reactivity.ts"
|
|
41
|
+
import { eachOf, type Listener, Waiters, whenOf } from "./waiters.ts"
|
|
42
|
+
|
|
43
|
+
/** The gesture layers that were on for an animation: `whileHover`'s, `whileTap`'s and `whileDrag`'s (a drag, or a keyboard reorder's lift). */
|
|
44
|
+
export interface WardGestures {
|
|
45
|
+
readonly hover: boolean
|
|
46
|
+
readonly tap: boolean
|
|
47
|
+
readonly drag: boolean
|
|
48
|
+
/** In view: `whileInView` applied. */
|
|
49
|
+
readonly inView: boolean
|
|
50
|
+
/** Focused as the browser shows it: `whileFocus` applied. */
|
|
51
|
+
readonly focus: boolean
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
/** An animation's landing. */
|
|
55
|
+
export interface WardSettled {
|
|
56
|
+
/**
|
|
57
|
+
* Motion's `definition` of it: the variant name its `animate` changed to, else its target values
|
|
58
|
+
* (a values map, or a gesture layer turning on or off).
|
|
59
|
+
*/
|
|
60
|
+
readonly definition: WardicAnimationDefinition
|
|
61
|
+
/** The values it landed on: every key its Retarget animated. */
|
|
62
|
+
readonly target: WardicValues
|
|
63
|
+
/** The gesture layers that were on when it started. */
|
|
64
|
+
readonly gestures: WardGestures
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
/** A point in the viewport, as `clientX` / `clientY` and `getBoundingClientRect()` measure. */
|
|
68
|
+
export type WardPoint = WardicPoint
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* The element a gesture's event happened on: the ward's, or, for a ward given to `wardRef`,
|
|
72
|
+
* the element it drives. Motion's `event.currentTarget`: Solid 2's events have no DOM event.
|
|
73
|
+
*/
|
|
74
|
+
export type WardElement = HTMLElement | SVGElement
|
|
75
|
+
|
|
76
|
+
/**
|
|
77
|
+
* A hover's or a press's event (Motion's `EventInfo` / `TapInfo`): where the pointer was, in
|
|
78
|
+
* the viewport, and the element it was on.
|
|
79
|
+
*/
|
|
80
|
+
export interface WardPointInfo extends WardicPointInfo {
|
|
81
|
+
readonly element: WardElement
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
* A press's event: where it was, in the viewport, how it was made (`input: "pointer" |
|
|
86
|
+
* "keyboard"`), and the element it was on. A **Keyboard press**'s point is the element's centre,
|
|
87
|
+
* measured at the key.
|
|
88
|
+
*/
|
|
89
|
+
export interface WardPressInfo extends WardicPressInfo {
|
|
90
|
+
readonly element: WardElement
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
/**
|
|
94
|
+
* A drag's event (Motion's `PanInfo`): where the pointer was, in the viewport, the drag's
|
|
95
|
+
* `offset`, `delta` and `velocity` (`gesture-info.ts`), and the element dragged.
|
|
96
|
+
*/
|
|
97
|
+
export interface WardDragInfo extends WardicDragInfo {
|
|
98
|
+
readonly element: WardElement
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
/** What each of `next(name)`'s names resolves to. */
|
|
102
|
+
export interface WardEvents {
|
|
103
|
+
/** The next landing. */
|
|
104
|
+
readonly settled: WardSettled
|
|
105
|
+
/** The pointer came over the element (Motion's `onHoverStart`); touch never hovers. */
|
|
106
|
+
readonly hoverStart: WardPointInfo
|
|
107
|
+
/**
|
|
108
|
+
* The pointer over the element while it's hovered: its start, told after `hoverStart` at the
|
|
109
|
+
* same point, then each move until `hoverEnd`, as `drag` is a drag's. Wardic's own: Motion's hover
|
|
110
|
+
* has only a start and an end.
|
|
111
|
+
*/
|
|
112
|
+
readonly hover: WardPointInfo
|
|
113
|
+
/** It left, or a press held on it while it left was let go (Motion's `onHoverEnd`). */
|
|
114
|
+
readonly hoverEnd: WardPointInfo
|
|
115
|
+
/**
|
|
116
|
+
* A press began on the element (Motion's `onTapStart`): a primary pointer's down, or Enter or Space
|
|
117
|
+
* going down while it has focus (a **Keyboard press**).
|
|
118
|
+
*/
|
|
119
|
+
readonly pressStart: WardPressInfo
|
|
120
|
+
/** That press ended in a release on the element or inside it, or its key coming up (Motion's `onTap`). */
|
|
121
|
+
readonly tap: WardPressInfo
|
|
122
|
+
/**
|
|
123
|
+
* It ended elsewhere, or was cancelled; a key's, when the element lost focus (Motion's
|
|
124
|
+
* `onTapCancel`). A press a drag took over is neither.
|
|
125
|
+
*/
|
|
126
|
+
readonly tapCancel: WardPressInfo
|
|
127
|
+
/** A drag of the element started, past its threshold (Motion's `onDragStart`). */
|
|
128
|
+
readonly dragStart: WardDragInfo
|
|
129
|
+
/**
|
|
130
|
+
* With `dragDirectionLock`, the axis a drag locked to, at its start, before its `dragStart`
|
|
131
|
+
* (Motion's `onDirectionLock`).
|
|
132
|
+
*/
|
|
133
|
+
readonly directionLock: "x" | "y"
|
|
134
|
+
/** That drag moved: its start and each move after (Motion's `onDrag`). */
|
|
135
|
+
readonly drag: WardDragInfo
|
|
136
|
+
/** That drag ended at its release (Motion's `onDragEnd`). */
|
|
137
|
+
readonly dragEnd: WardDragInfo
|
|
138
|
+
/**
|
|
139
|
+
* The drag's release came to rest on its own (Motion's `onDragTransitionEnd`): its Fling
|
|
140
|
+
* or its spring back, or at once for one released in place. Not for one a grab stopped.
|
|
141
|
+
*/
|
|
142
|
+
readonly dragTransitionEnd: undefined
|
|
143
|
+
/**
|
|
144
|
+
* A pan's session began: a primary pointer went down on the element (Motion's
|
|
145
|
+
* `onPanSessionStart`). A pan moves nothing; once started, it counts as a drag for the
|
|
146
|
+
* element's press and hover. It sets no `touch-action`: give the element one for touch.
|
|
147
|
+
*/
|
|
148
|
+
readonly panSessionStart: WardPointInfo
|
|
149
|
+
/** That pan started, past its threshold (Motion's `onPanStart`). */
|
|
150
|
+
readonly panStart: WardDragInfo
|
|
151
|
+
/** That pan moved: its start and each move after (Motion's `onPan`). */
|
|
152
|
+
readonly pan: WardDragInfo
|
|
153
|
+
/** That pan ended at its release, or was cancelled (Motion's `onPanEnd`). Only a pan that started. */
|
|
154
|
+
readonly panEnd: WardDragInfo
|
|
155
|
+
/**
|
|
156
|
+
* The element came into view, as its `viewport` says (Motion's `onViewportEnter`). One that
|
|
157
|
+
* starts out of view tells nothing until it enters.
|
|
158
|
+
*/
|
|
159
|
+
readonly viewportEnter: undefined
|
|
160
|
+
/** It left the view (Motion's `onViewportLeave`). With `viewport.once`, never after its first entry. */
|
|
161
|
+
readonly viewportLeave: undefined
|
|
162
|
+
/**
|
|
163
|
+
* A layout animation of the element started, at the frame it takes its first step, after that
|
|
164
|
+
* frame is painted (Motion's `onLayoutAnimationStart`). A restart starts again.
|
|
165
|
+
*/
|
|
166
|
+
readonly layoutStart: undefined
|
|
167
|
+
/**
|
|
168
|
+
* A layout animation of the element landed on its own (Motion's `onLayoutAnimationComplete`): not
|
|
169
|
+
* one a restart interrupted, a window resize finished early, or an unmount cut off.
|
|
170
|
+
*/
|
|
171
|
+
readonly layoutComplete: undefined
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
/** A Retarget's failure (#257 item 4), as `settled()`'s memo holds it: `read` throws its error. */
|
|
175
|
+
class Failure {
|
|
176
|
+
readonly error: unknown
|
|
177
|
+
constructor(error: unknown) {
|
|
178
|
+
this.error = error
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
/** What `next(name)` waits for. */
|
|
183
|
+
export type WardEvent = keyof WardEvents
|
|
184
|
+
|
|
185
|
+
/** The `AbortError`'s message for a `next` the ward's disposal cut off. */
|
|
186
|
+
const GONE = "The ward was disposed before its next event."
|
|
187
|
+
|
|
188
|
+
/** A gesture whose recognizer the ward runs only once wanted (#87, #257, #273). */
|
|
189
|
+
export type WantedGesture = "hover" | "press" | "pan" | "inView"
|
|
190
|
+
|
|
191
|
+
/** The gesture whose recognizer an event needs: `next("tap")` needs the press one running. */
|
|
192
|
+
const GESTURE_OF: Partial<Record<WardEvent, WantedGesture>> = {
|
|
193
|
+
hoverStart: "hover",
|
|
194
|
+
hover: "hover",
|
|
195
|
+
hoverEnd: "hover",
|
|
196
|
+
pressStart: "press",
|
|
197
|
+
tap: "press",
|
|
198
|
+
tapCancel: "press",
|
|
199
|
+
panSessionStart: "pan",
|
|
200
|
+
panStart: "pan",
|
|
201
|
+
pan: "pan",
|
|
202
|
+
panEnd: "pan",
|
|
203
|
+
viewportEnter: "inView",
|
|
204
|
+
viewportLeave: "inView",
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
/** Each press phase's event: a press a drag took over has none (Motion tells neither). */
|
|
208
|
+
const PRESS_EVENT: Record<Recognizer.PressPhase, WardEvent | undefined> = {
|
|
209
|
+
start: "pressStart",
|
|
210
|
+
tap: "tap",
|
|
211
|
+
cancel: "tapCancel",
|
|
212
|
+
dragged: undefined,
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
/** A drag's or a pan's start or end. */
|
|
216
|
+
type MovementEvent = "dragStart" | "dragEnd" | "panStart" | "panEnd"
|
|
217
|
+
|
|
218
|
+
/** Each drag phase's event: its end; its start, which `drag` hears too, is told on its own. */
|
|
219
|
+
const DRAG_EVENT: Record<Drag.Sample["phase"], MovementEvent | undefined> = {
|
|
220
|
+
start: "dragStart",
|
|
221
|
+
move: undefined,
|
|
222
|
+
end: "dragEnd",
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
/** Each pan phase's event past its session's start: as {@link DRAG_EVENT}, `pan` its every move. */
|
|
226
|
+
const PAN_EVENT: Record<Drag.Sample["phase"], MovementEvent | undefined> = {
|
|
227
|
+
start: "panStart",
|
|
228
|
+
move: undefined,
|
|
229
|
+
end: "panEnd",
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
/**
|
|
233
|
+
* A ward's lifecycle, made under its `owner`. It's the spine's {@link AnimationHooks}; the ward
|
|
234
|
+
* hands over {@link Lifecycle.read} as `settled` and {@link Lifecycle.wait} as `next`, and calls
|
|
235
|
+
* {@link Lifecycle.dispose} in its own cleanup. A landing's gestures are the layers its Retarget's
|
|
236
|
+
* resolution was made with.
|
|
237
|
+
*/
|
|
238
|
+
export class Lifecycle implements AnimationHooks {
|
|
239
|
+
// The Retargets started and the last one landed, counted, and the one in flight.
|
|
240
|
+
private starts = 0
|
|
241
|
+
private landed = 0
|
|
242
|
+
private flying: Resolution | undefined = undefined
|
|
243
|
+
// The last landing, built when it's asked for: its resolution and the variant before it.
|
|
244
|
+
private landedResolution: Resolution | undefined = undefined
|
|
245
|
+
private landedPrevious: Resolution | undefined = undefined
|
|
246
|
+
private last: WardSettled | undefined = undefined
|
|
247
|
+
// Made at the first read: the setter of the count it tracks, its memo, and its pending read's resolver.
|
|
248
|
+
private setCount: ((count: number) => void) | undefined = undefined
|
|
249
|
+
private memo: Accessor<WardSettled | Failure | undefined> | undefined = undefined
|
|
250
|
+
private waiting: ((landing: WardSettled | Failure) => void) | undefined = undefined
|
|
251
|
+
// The last Retarget's failure, until the next starts (#257 item 4).
|
|
252
|
+
private failure: Failure | undefined = undefined
|
|
253
|
+
// `tapped()` (#427): the presses started and ended, counted; the last tap's press and element, kept
|
|
254
|
+
// as references until it's asked for, and its info, built then; and, made at the first read, the
|
|
255
|
+
// setter of the count it tracks, its memo, and its pending read's resolver.
|
|
256
|
+
private pressStarts = 0
|
|
257
|
+
private pressEnds = 0
|
|
258
|
+
private tapPress: Recognizer.PressEvent | undefined = undefined
|
|
259
|
+
private tapElement: WardElement | undefined = undefined
|
|
260
|
+
private lastTap: WardPressInfo | undefined = undefined
|
|
261
|
+
private setPresses: ((count: number) => void) | undefined = undefined
|
|
262
|
+
private tapMemo: Accessor<WardPressInfo | undefined> | undefined = undefined
|
|
263
|
+
private tapWaiting: ((tap: WardPressInfo | undefined) => void) | undefined = undefined
|
|
264
|
+
// The `next(name)` calls waiting, made at the first; and whether the ward is gone.
|
|
265
|
+
private events: Waiters<WardEvents> | undefined = undefined
|
|
266
|
+
private disposed = false
|
|
267
|
+
// The gestures a `next` has asked for, whose recognizers the ward runs from then on.
|
|
268
|
+
private hover = false
|
|
269
|
+
private press = false
|
|
270
|
+
private pan = false
|
|
271
|
+
private inView = false
|
|
272
|
+
private readonly owner: Owner | null
|
|
273
|
+
private readonly want: (gesture: WantedGesture) => void
|
|
274
|
+
|
|
275
|
+
/** `want` starts a gesture's recognizer on the mounted element the first time a `next` needs it. */
|
|
276
|
+
constructor(owner: Owner | null, want: (gesture: WantedGesture) => void) {
|
|
277
|
+
this.owner = owner
|
|
278
|
+
this.want = want
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
/** Whether a `next` has asked for the hover events, so the ward runs its recognizer. */
|
|
282
|
+
get wantsHover(): boolean {
|
|
283
|
+
return this.hover
|
|
284
|
+
}
|
|
285
|
+
|
|
286
|
+
/** Whether a `next` has asked for the press events. */
|
|
287
|
+
get wantsPress(): boolean {
|
|
288
|
+
return this.press
|
|
289
|
+
}
|
|
290
|
+
|
|
291
|
+
/** Whether a `next` has asked for the pan events (#273). */
|
|
292
|
+
get wantsPan(): boolean {
|
|
293
|
+
return this.pan
|
|
294
|
+
}
|
|
295
|
+
|
|
296
|
+
/** Whether a `next` has asked for the viewport events (#273). */
|
|
297
|
+
get wantsInView(): boolean {
|
|
298
|
+
return this.inView
|
|
299
|
+
}
|
|
300
|
+
|
|
301
|
+
started(resolution: Resolution): void {
|
|
302
|
+
this.starts++
|
|
303
|
+
this.flying = resolution
|
|
304
|
+
this.failure = undefined
|
|
305
|
+
// From a microtask, as at the first read (#315): a Retarget starts in Solid's flush, the mount's
|
|
306
|
+
// among them, where `render` still watches for a pending read reaching its root. A `<Loading>`
|
|
307
|
+
// already showing its content doesn't catch one, so a plain `settled()` read under it was
|
|
308
|
+
// reported as an async read outside any boundary, though the mount wasn't held.
|
|
309
|
+
if (Predicate.isNotUndefined(this.setCount)) queueMicrotask(this.tellStarts)
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
/** `settled()`'s count set to the starts now: its read pends while one is in flight. */
|
|
313
|
+
private readonly tellStarts = (): void => {
|
|
314
|
+
UndefinedOr.map(this.setCount, (set) => set(this.starts))
|
|
315
|
+
}
|
|
316
|
+
|
|
317
|
+
settled(resolution: Resolution, previous: Resolution | undefined): void {
|
|
318
|
+
// A landing told after a later Retarget started (a settle waits for the gate's flush) is stale.
|
|
319
|
+
if (resolution !== this.flying) return
|
|
320
|
+
this.landed = this.starts
|
|
321
|
+
this.landedResolution = resolution
|
|
322
|
+
this.landedPrevious = previous
|
|
323
|
+
this.last = undefined
|
|
324
|
+
// In the landing's own flush, not a start's microtask after: the count equals the landings, so
|
|
325
|
+
// `settled()` reads the landing, never pending (SE6, a Retarget with nothing to animate).
|
|
326
|
+
this.tellStarts()
|
|
327
|
+
const resolve = this.waiting
|
|
328
|
+
if (Bool.and(Predicate.isUndefined(resolve), Predicate.isUndefined(this.events))) return
|
|
329
|
+
this.waiting = undefined
|
|
330
|
+
if (Predicate.isNotUndefined(resolve)) resolve(this.lastLanding() as WardSettled)
|
|
331
|
+
this.tell("settled", this.landing)
|
|
332
|
+
}
|
|
333
|
+
|
|
334
|
+
/**
|
|
335
|
+
* The Retarget in flight can't land: a leg failed (#257 item 4). It's no longer in flight;
|
|
336
|
+
* `settled()` reads as errored until the next starts, and the waits for `settled` are rejected.
|
|
337
|
+
*/
|
|
338
|
+
failed(resolution: Resolution, error: unknown): void {
|
|
339
|
+
if (resolution !== this.flying) return
|
|
340
|
+
this.flying = undefined
|
|
341
|
+
this.landed = this.starts
|
|
342
|
+
const failure = new Failure(error)
|
|
343
|
+
this.failure = failure
|
|
344
|
+
const resolve = this.waiting
|
|
345
|
+
this.waiting = undefined
|
|
346
|
+
if (Predicate.isNotUndefined(resolve)) resolve(failure)
|
|
347
|
+
UndefinedOr.map(this.events, (events) => events.fail("settled", error))
|
|
348
|
+
}
|
|
349
|
+
|
|
350
|
+
/** A hover's start or end on `element` (#257): its start is the first `hover` too (#397). */
|
|
351
|
+
hovered(edge: Recognizer.Edge, element: WardElement): void {
|
|
352
|
+
if (Predicate.isUndefined(this.events)) return
|
|
353
|
+
const info = (): WardPointInfo => ({ ...pointInfoOf(edge.event), element })
|
|
354
|
+
if (edge.active) {
|
|
355
|
+
this.tell("hoverStart", info)
|
|
356
|
+
this.tell("hover", info)
|
|
357
|
+
return
|
|
358
|
+
}
|
|
359
|
+
this.tell("hoverEnd", info)
|
|
360
|
+
}
|
|
361
|
+
|
|
362
|
+
/** A move of the pointer over `element` while it's hovered (#397). */
|
|
363
|
+
hoverMoved(event: InputSource.PointerLikeEvent, element: WardElement): void {
|
|
364
|
+
if (Predicate.isUndefined(this.events)) return
|
|
365
|
+
this.tell("hover", () => ({ ...pointInfoOf(event), element }))
|
|
366
|
+
}
|
|
367
|
+
|
|
368
|
+
/** A press's start or end (#257): a press a drag took over tells nothing. */
|
|
369
|
+
pressed(press: Recognizer.PressEvent, element: WardElement): void {
|
|
370
|
+
this.pressNow(press, element)
|
|
371
|
+
if (Predicate.isUndefined(this.events)) return
|
|
372
|
+
const name = PRESS_EVENT[press.phase]
|
|
373
|
+
if (Predicate.isUndefined(name)) return
|
|
374
|
+
this.tell(name, () => ({ ...pressInfoOf(press, element), element }))
|
|
375
|
+
}
|
|
376
|
+
|
|
377
|
+
/**
|
|
378
|
+
* A drag's sample (#257, #273): its start, each move (its start among them) and its end are told;
|
|
379
|
+
* a direction-locked one's (`locked`) lock first, at its start. An end its controls cancelled
|
|
380
|
+
* (#431) isn't, as Motion's `cancel` tells no `onDragEnd`.
|
|
381
|
+
*/
|
|
382
|
+
dragged(sample: Drag.Sample, locked: boolean, element: WardElement): void {
|
|
383
|
+
if (sample.cancelled === true) return
|
|
384
|
+
if (Bool.and(locked, sample.phase === "start")) this.tell("directionLock", () => sample.axis as "x" | "y")
|
|
385
|
+
this.moved(DRAG_EVENT[sample.phase], "drag", sample, element)
|
|
386
|
+
}
|
|
387
|
+
|
|
388
|
+
/** A pan's sample (#273): its session's start, then as a drag's. */
|
|
389
|
+
panned(sample: DragRecognizer.PanSample, element: WardElement): void {
|
|
390
|
+
if (Predicate.isUndefined(this.events)) return
|
|
391
|
+
if (sample.phase === "session") {
|
|
392
|
+
this.tell("panSessionStart", () => ({ ...pointOfSample(sample), element }))
|
|
393
|
+
return
|
|
394
|
+
}
|
|
395
|
+
this.moved(PAN_EVENT[sample.phase], "pan", sample as Drag.Sample, element)
|
|
396
|
+
}
|
|
397
|
+
|
|
398
|
+
/** The drag's release came to rest on its own (#273). */
|
|
399
|
+
released(): void {
|
|
400
|
+
this.tell("dragTransitionEnd", constUndefined)
|
|
401
|
+
}
|
|
402
|
+
|
|
403
|
+
/** A layout animation's start (#257): the projection calls it after its first frame is painted. */
|
|
404
|
+
layoutStarted(): void {
|
|
405
|
+
this.tell("layoutStart", constUndefined)
|
|
406
|
+
}
|
|
407
|
+
|
|
408
|
+
/** A layout animation's landing (#257). */
|
|
409
|
+
layoutCompleted(): void {
|
|
410
|
+
this.tell("layoutComplete", constUndefined)
|
|
411
|
+
}
|
|
412
|
+
|
|
413
|
+
/** An in-view edge (#273): the element entered or left the view. */
|
|
414
|
+
viewed(edge: Recognizer.ViewEdge): void {
|
|
415
|
+
this.tell(Bool.match(edge.active, { onTrue: (): WardEvent => "viewportEnter", onFalse: () => "viewportLeave" }), constUndefined)
|
|
416
|
+
}
|
|
417
|
+
|
|
418
|
+
/** A drag's or a pan's sample past a pan's session's start: its start's or end's event (`named`), then `every` at its start and each move. */
|
|
419
|
+
private moved(named: MovementEvent | undefined, every: "drag" | "pan", sample: Drag.Sample, element: WardElement): void {
|
|
420
|
+
if (Predicate.isUndefined(this.events)) return
|
|
421
|
+
const info = (): WardDragInfo => ({ ...dragInfoOf(sample), element })
|
|
422
|
+
if (Predicate.isNotUndefined(named)) this.tell(named, info)
|
|
423
|
+
if (sample.phase !== "end") this.tell(every, info)
|
|
424
|
+
}
|
|
425
|
+
|
|
426
|
+
/** Resolve the `next(name)` calls waiting, with `value()`, made once there are any. */
|
|
427
|
+
private tell<E extends WardEvent>(name: E, value: () => WardEvents[E]): void {
|
|
428
|
+
UndefinedOr.map(this.events, (events) => events.tell(name, value))
|
|
429
|
+
}
|
|
430
|
+
|
|
431
|
+
/**
|
|
432
|
+
* A press for `tapped()` (#427): its start counted, and pending from there; its end counted, a tap's
|
|
433
|
+
* kept as references, and the pending read resolved with the last tap. Once `tapped()` has been read,
|
|
434
|
+
* its memo pends at each press's start, read or not, so a tap's info is built here, at the tap: a
|
|
435
|
+
* keyboard press's centre is measured at the key. Before, nothing is allocated for a tap.
|
|
436
|
+
*/
|
|
437
|
+
private pressNow(press: Recognizer.PressEvent, element: WardElement): void {
|
|
438
|
+
if (press.phase === "start") {
|
|
439
|
+
this.pressStarts++
|
|
440
|
+
this.tellPresses()
|
|
441
|
+
return
|
|
442
|
+
}
|
|
443
|
+
this.pressEnds = this.pressStarts
|
|
444
|
+
if (press.phase === "tap") {
|
|
445
|
+
this.tapPress = press
|
|
446
|
+
this.tapElement = element
|
|
447
|
+
this.lastTap = undefined
|
|
448
|
+
}
|
|
449
|
+
this.tellPresses()
|
|
450
|
+
const resolve = this.tapWaiting
|
|
451
|
+
if (Predicate.isUndefined(resolve)) return
|
|
452
|
+
this.tapWaiting = undefined
|
|
453
|
+
resolve(this.lastTapNow())
|
|
454
|
+
}
|
|
455
|
+
|
|
456
|
+
/** `tapped()`'s count set to the presses started: its read pends while one is held. */
|
|
457
|
+
private readonly tellPresses = (): void => {
|
|
458
|
+
UndefinedOr.map(this.setPresses, (set) => set(this.pressStarts))
|
|
459
|
+
}
|
|
460
|
+
|
|
461
|
+
/** The last tap's info, built from its references the first time it's asked for. */
|
|
462
|
+
private lastTapNow(): WardPressInfo | undefined {
|
|
463
|
+
if (Bool.or(Predicate.isNotUndefined(this.lastTap), Predicate.isUndefined(this.tapPress))) return this.lastTap
|
|
464
|
+
const element = this.tapElement as WardElement
|
|
465
|
+
this.lastTap = { ...pressInfoOf(this.tapPress as Recognizer.PressEvent, element), element }
|
|
466
|
+
return this.lastTap
|
|
467
|
+
}
|
|
468
|
+
|
|
469
|
+
/**
|
|
470
|
+
* `tapped()` (#427): the last tap, made reactive at the first read, which also asks for the press,
|
|
471
|
+
* as `next("tap")` does, so the ward runs its recognizer.
|
|
472
|
+
*/
|
|
473
|
+
tapped(): WardPressInfo | undefined {
|
|
474
|
+
if (Predicate.isUndefined(this.tapMemo)) {
|
|
475
|
+
this.tapMemo = runWithOwner(this.owner, () => this.makeTapMemo())
|
|
476
|
+
this.wanted("press")
|
|
477
|
+
}
|
|
478
|
+
return (this.tapMemo as Accessor<WardPressInfo | undefined>)()
|
|
479
|
+
}
|
|
480
|
+
|
|
481
|
+
// The count of presses it tracks starts at the ended count, so its first read is never pending. A
|
|
482
|
+
// press held at that read is set from a microtask, as `settled()`'s Retarget in flight is.
|
|
483
|
+
private makeTapMemo(): Accessor<WardPressInfo | undefined> {
|
|
484
|
+
const [count, set] = createSignal(this.pressEnds)
|
|
485
|
+
this.setPresses = set
|
|
486
|
+
const memo = createMemo((): WardPressInfo | undefined | PromiseLike<WardPressInfo | undefined> => {
|
|
487
|
+
if (count() === this.pressEnds) return this.lastTapNow()
|
|
488
|
+
return new Promise<WardPressInfo | undefined>((resolve) => {
|
|
489
|
+
this.tapWaiting = resolve
|
|
490
|
+
})
|
|
491
|
+
}, CLIENT_ONLY)
|
|
492
|
+
if (this.pressStarts !== this.pressEnds) queueMicrotask(this.tellPresses)
|
|
493
|
+
return memo
|
|
494
|
+
}
|
|
495
|
+
|
|
496
|
+
/** The last landing, for {@link tell}. */
|
|
497
|
+
private readonly landing = (): WardSettled => this.lastLanding() as WardSettled
|
|
498
|
+
|
|
499
|
+
/**
|
|
500
|
+
* `settled()`: the last landing, made reactive at the first read. A failure (#257 item 4) is
|
|
501
|
+
* thrown here, in the reader, so the reader's `<Errored>` catches it: the memo is the ward's, owned
|
|
502
|
+
* outside any boundary the reader is in, so it holds the failure as a value rather than erroring.
|
|
503
|
+
*/
|
|
504
|
+
read(): WardSettled | undefined {
|
|
505
|
+
if (Predicate.isUndefined(this.memo)) this.memo = runWithOwner(this.owner, () => this.makeMemo())
|
|
506
|
+
const value = this.memo()
|
|
507
|
+
if (value instanceof Failure) throw value.error
|
|
508
|
+
return value
|
|
509
|
+
}
|
|
510
|
+
|
|
511
|
+
/**
|
|
512
|
+
* `next(name)`: a promise of the next `name` after the call. A gesture's event starts that
|
|
513
|
+
* gesture's recognizer, if the ward doesn't run it already.
|
|
514
|
+
*/
|
|
515
|
+
wait<E extends WardEvent>(name: E): Promise<WardEvents[E]> {
|
|
516
|
+
const waited = this.eventsNow().wait(name)
|
|
517
|
+
const gesture = GESTURE_OF[name]
|
|
518
|
+
if (Bool.and(Predicate.isNotUndefined(gesture), Bool.not(this.disposed))) this.wanted(gesture as WantedGesture)
|
|
519
|
+
return waited
|
|
520
|
+
}
|
|
521
|
+
|
|
522
|
+
/**
|
|
523
|
+
* Hear every `name` from the call on (#355, `when`), until the returned stop or the ward's end. A
|
|
524
|
+
* gesture's event starts that gesture's recognizer, as a {@link wait} does.
|
|
525
|
+
*/
|
|
526
|
+
readonly listen = <E extends WardEvent>(name: E, listener: Listener<WardEvents[E]>): (() => void) => {
|
|
527
|
+
const stop = this.eventsNow().listen(name, listener)
|
|
528
|
+
const gesture = GESTURE_OF[name]
|
|
529
|
+
if (Bool.and(Predicate.isNotUndefined(gesture), Bool.not(this.disposed))) this.wanted(gesture as WantedGesture)
|
|
530
|
+
return stop
|
|
531
|
+
}
|
|
532
|
+
|
|
533
|
+
/** `when(name)` (#355): every `name`, as a memo for an effect: see `whenOf`. */
|
|
534
|
+
when<E extends WardEvent>(name: E): Accessor<WardEvents[E]> {
|
|
535
|
+
return whenOf<WardEvents, E>(this, name)
|
|
536
|
+
}
|
|
537
|
+
|
|
538
|
+
/**
|
|
539
|
+
* `each(name)`: every `name` from the call on, as an async iterable (#257): each step is a
|
|
540
|
+
* {@link wait}, so one that comes while the loop's body runs is missed, as a `next` asked later
|
|
541
|
+
* would miss it. It ends, rather than rejecting, once the ward is disposed.
|
|
542
|
+
*/
|
|
543
|
+
each<E extends WardEvent>(name: E): AsyncIterable<WardEvents[E]> {
|
|
544
|
+
return eachOf<WardEvents, E>(this, name)
|
|
545
|
+
}
|
|
546
|
+
|
|
547
|
+
/** The waits and listeners, made at the first: gone at once if the ward is. */
|
|
548
|
+
private eventsNow(): Waiters<WardEvents> {
|
|
549
|
+
if (Predicate.isUndefined(this.events)) {
|
|
550
|
+
this.events = new Waiters<WardEvents>(GONE)
|
|
551
|
+
if (this.disposed) this.events.dispose()
|
|
552
|
+
}
|
|
553
|
+
return this.events
|
|
554
|
+
}
|
|
555
|
+
|
|
556
|
+
/** The ward is gone: every `next` waiting is rejected, and any asked later at once. */
|
|
557
|
+
dispose(): void {
|
|
558
|
+
this.disposed = true
|
|
559
|
+
UndefinedOr.map(this.events, (events) => events.dispose())
|
|
560
|
+
}
|
|
561
|
+
|
|
562
|
+
/** A gesture a `next` needs: its recognizer is started the first time. */
|
|
563
|
+
private wanted(gesture: WantedGesture): void {
|
|
564
|
+
if (gesture === "hover") {
|
|
565
|
+
if (this.hover) return
|
|
566
|
+
this.hover = true
|
|
567
|
+
}
|
|
568
|
+
if (gesture === "press") {
|
|
569
|
+
if (this.press) return
|
|
570
|
+
this.press = true
|
|
571
|
+
}
|
|
572
|
+
if (gesture === "pan") {
|
|
573
|
+
if (this.pan) return
|
|
574
|
+
this.pan = true
|
|
575
|
+
}
|
|
576
|
+
if (gesture === "inView") {
|
|
577
|
+
if (this.inView) return
|
|
578
|
+
this.inView = true
|
|
579
|
+
}
|
|
580
|
+
this.want(gesture)
|
|
581
|
+
}
|
|
582
|
+
|
|
583
|
+
private lastLanding(): WardSettled | undefined {
|
|
584
|
+
const resolution = this.landedResolution
|
|
585
|
+
if (Bool.or(Predicate.isNotUndefined(this.last), Predicate.isUndefined(resolution))) return this.last
|
|
586
|
+
const landing = resolution as Resolution
|
|
587
|
+
const active = landing.active
|
|
588
|
+
this.last = {
|
|
589
|
+
definition: definitionOf(landing, this.landedPrevious) as WardicAnimationDefinition,
|
|
590
|
+
target: landing.resolved,
|
|
591
|
+
gestures: { hover: active.hovered, tap: active.pressed, drag: active.dragged, inView: active.inView, focus: active.focused },
|
|
592
|
+
}
|
|
593
|
+
return this.last
|
|
594
|
+
}
|
|
595
|
+
|
|
596
|
+
// The count of starts it tracks starts at the landed count, so its first read is never pending. A
|
|
597
|
+
// Retarget in flight at that read is set from a microtask: a change in flight from there
|
|
598
|
+
// (`isPending`), which a write in the read's own flush wouldn't be (Solid applies it there).
|
|
599
|
+
private makeMemo(): Accessor<WardSettled | Failure | undefined> {
|
|
600
|
+
const [count, set] = createSignal(this.landed)
|
|
601
|
+
this.setCount = set
|
|
602
|
+
const memo = createMemo((): WardSettled | Failure | undefined | PromiseLike<WardSettled | Failure> => {
|
|
603
|
+
// At rest: the last landing, or a failure told before this run (#257 item 4).
|
|
604
|
+
if (count() === this.landed) return UndefinedOr.match(this.failure, { onUndefined: () => this.lastLanding(), onDefined: identity })
|
|
605
|
+
return new Promise<WardSettled | Failure>((resolve) => {
|
|
606
|
+
this.waiting = resolve
|
|
607
|
+
})
|
|
608
|
+
}, CLIENT_ONLY)
|
|
609
|
+
if (this.starts !== this.landed) queueMicrotask(this.tellStarts)
|
|
610
|
+
return memo
|
|
611
|
+
}
|
|
612
|
+
}
|