@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.
- 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,414 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Live values on Solid 2 (#130, ADR-0043; #209 PR 3's Q2, ADR-0045): `createTransform`,
|
|
3
|
+
* `createFollowValue`, `createSpring`, `createVelocity`, `createTime` and `createScroll`, core's
|
|
4
|
+
* `LiveValue` helpers wrapped, as on the Solid 1 binding (Motion's `useTransform`, `useFollowValue`,
|
|
5
|
+
* `useSpring`, `useVelocity`, `useTime`, `useScroll`).
|
|
6
|
+
*
|
|
7
|
+
* Each gives an accessor back, for an element's `style` or anything else. Where it's derived on an
|
|
8
|
+
* Atom, the accessor carries it (`live-style.ts`'s `carry`): a `style` given it follows the Atom,
|
|
9
|
+
* set where its source is, so a value derived from a ward's `read(key)` is written in the gate's
|
|
10
|
+
* frame and paints with it. Read through Solid it would come a frame late: Solid 2 shows a change at
|
|
11
|
+
* its flush, after the gate's write. So:
|
|
12
|
+
*
|
|
13
|
+
* - `createFollowValue`, `createSpring`, `createVelocity`, `createTime` and `createScroll` are always
|
|
14
|
+
* derived on Atoms (core's); an accessor source with no Atom of its own is mirrored into one.
|
|
15
|
+
* - `createTransform` derives on an Atom when its source is one or carries one (a ward's `read`,
|
|
16
|
+
* another helper's); a plain accessor (a signal) is mapped in a memo, as Solid maps it. Its
|
|
17
|
+
* function form's own reads of Solid stay tracked: a change re-derives it.
|
|
18
|
+
*
|
|
19
|
+
* Call them where you'd create a signal, in a component's body, not in JSX: on Solid 2 a prop's
|
|
20
|
+
* expression runs in an effect, where no primitive can be made. Each owns what it subscribes to
|
|
21
|
+
* until its owner is disposed. On a server, each gives its source's value as it is now, or 0
|
|
22
|
+
* (ADR-0021).
|
|
23
|
+
*
|
|
24
|
+
* @module
|
|
25
|
+
*/
|
|
26
|
+
import type * as InterpolatorRegistry from "@wardic/core/InterpolatorRegistry"
|
|
27
|
+
import * as LiveValue from "@wardic/core/LiveValue"
|
|
28
|
+
import type * as ScrollOffset from "@wardic/dom/ScrollOffset"
|
|
29
|
+
import * as Arr from "effect/Array"
|
|
30
|
+
import * as Bool from "effect/Boolean"
|
|
31
|
+
import * as Effect from "effect/Effect"
|
|
32
|
+
import * as Option from "effect/Option"
|
|
33
|
+
import * as Predicate from "effect/Predicate"
|
|
34
|
+
import { Atom, AtomRegistry } from "effect/reactivity"
|
|
35
|
+
import * as Rec from "effect/Record"
|
|
36
|
+
import * as Scope from "effect/Scope"
|
|
37
|
+
import * as UndefinedOr from "effect/UndefinedOr"
|
|
38
|
+
import { isServer } from "@solidjs/web"
|
|
39
|
+
import { type Accessor, createEffect, createMemo, createSignal, onCleanup, untrack } from "solid-js"
|
|
40
|
+
import {
|
|
41
|
+
atomOf,
|
|
42
|
+
type FollowAccessor,
|
|
43
|
+
followAccessorOf,
|
|
44
|
+
followOptionsOf,
|
|
45
|
+
type FollowValueOptions,
|
|
46
|
+
type LiveSource,
|
|
47
|
+
numberOf,
|
|
48
|
+
readLive,
|
|
49
|
+
serverFollowOf,
|
|
50
|
+
serverRegistryOf,
|
|
51
|
+
type SpringAccessor,
|
|
52
|
+
unitOf,
|
|
53
|
+
type WillChange,
|
|
54
|
+
willChangeOf,
|
|
55
|
+
withUnit,
|
|
56
|
+
} from "../../live-style.ts"
|
|
57
|
+
import type { WardicRuntime, WardicServices } from "../../runtime.ts"
|
|
58
|
+
import { eachFrameOf } from "../../animation-frame.ts"
|
|
59
|
+
import * as OwnerScope from "../../owner-scope.ts"
|
|
60
|
+
import { withServerInterpolators } from "../../server-interpolators.ts"
|
|
61
|
+
import { followAtom } from "./bridge.ts"
|
|
62
|
+
import { CLIENT_ONLY, CLIENT_ONLY_DEFERRED, onSettledClientOnly } from "./solid-reactivity.ts"
|
|
63
|
+
import { useWardicRuntime, useWardicSkipAnimations } from "./provider.tsx"
|
|
64
|
+
|
|
65
|
+
/** A Live value read now on a server: an Atom through a server's own registry, an accessor called. */
|
|
66
|
+
const readOnServer = <A>(source: LiveSource<A>): A => readLive(source, serverRegistryOf, untrack) as A
|
|
67
|
+
|
|
68
|
+
/** An accessor as an Atom, set at each of its changes (at Solid's flush), held in `registry` until its owner's disposal. */
|
|
69
|
+
const mirrorOf = <A>(accessor: Accessor<A>, registry: AtomRegistry.AtomRegistry): Atom.Writable<A> => {
|
|
70
|
+
const atom = Atom.make(untrack(accessor))
|
|
71
|
+
onCleanup(registry.mount(atom))
|
|
72
|
+
createEffect(
|
|
73
|
+
accessor,
|
|
74
|
+
(value) => {
|
|
75
|
+
registry.set(atom, value)
|
|
76
|
+
},
|
|
77
|
+
CLIENT_ONLY_DEFERRED,
|
|
78
|
+
)
|
|
79
|
+
return atom
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
/** `source`'s Atom: its own, the one it carries, or, for a plain accessor, a mirror of it. */
|
|
83
|
+
const sourceAtomOf = <A>(source: LiveSource<A>, registry: AtomRegistry.AtomRegistry): Atom.Atom<A> =>
|
|
84
|
+
UndefinedOr.match(atomOf(source) as Atom.Atom<A> | undefined, {
|
|
85
|
+
onUndefined: () => mirrorOf(source as Accessor<A>, registry),
|
|
86
|
+
onDefined: (atom) => atom,
|
|
87
|
+
})
|
|
88
|
+
|
|
89
|
+
/** What a helper's Scope reports when one of its finalizers fails as its owner goes. */
|
|
90
|
+
const CLOSE_FAILED = "wardic.liveValue: a finalizer failed"
|
|
91
|
+
|
|
92
|
+
/** A helper's Atom, made on the provider's runtime in a Scope its owner's disposal closes, as an accessor carrying it. */
|
|
93
|
+
const liveOf = <A, R>(runtime: WardicRuntime, live: Effect.Effect<Atom.Atom<A>, never, R>): Accessor<A> => {
|
|
94
|
+
const scope = OwnerScope.open(runtime)
|
|
95
|
+
onCleanup(() => OwnerScope.close(runtime, scope, CLOSE_FAILED))
|
|
96
|
+
const out = runtime.runSync((live as Effect.Effect<Atom.Atom<A>, never, WardicServices | Scope.Scope>).pipe(Scope.provide(scope)))
|
|
97
|
+
return followAtom(runtime.runSync(AtomRegistry.AtomRegistry), out)
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
/**
|
|
101
|
+
* A value mapped from another: through a function, `createTransform(x, (x) => x * 2)`, or through
|
|
102
|
+
* ranges, `createTransform(x, input, output)`: a source at `input[i]` gives `output[i]`, and one between
|
|
103
|
+
* two stops blends their outputs, numbers, units and colours alike. `input` is as long as `output`,
|
|
104
|
+
* ascending or descending; outside it the ends hold, unless `clamp: false`. `ease` eases each stretch,
|
|
105
|
+
* one for all or one each, and a `mixer`, `(from, to) => (t) => value`, blends outputs of any type. A signal read inside `fn` is tracked too: its change maps again.
|
|
106
|
+
* Motion's `useTransform`.
|
|
107
|
+
*
|
|
108
|
+
* @example
|
|
109
|
+
* const card = w.ward({ drag: "x" })
|
|
110
|
+
* const opacity = createTransform(card.read("x"), [-150, 0, 150], [0, 1, 0])
|
|
111
|
+
* <w.div wardRef={card} style={{ opacity }} />
|
|
112
|
+
* @see https://wardic.dev/reference/solid/live-values/create-transform
|
|
113
|
+
*/
|
|
114
|
+
// #440 (descending ranges, `mixer`), #360 (`ease`).
|
|
115
|
+
export function createTransform<A, B>(source: LiveSource<A>, fn: (a: A) => B): Accessor<B>
|
|
116
|
+
export function createTransform<O extends number | string>(
|
|
117
|
+
source: LiveSource<number>,
|
|
118
|
+
input: ReadonlyArray<number>,
|
|
119
|
+
output: ReadonlyArray<O>,
|
|
120
|
+
options?: LiveValue.TransformOptions<O>,
|
|
121
|
+
): Accessor<O>
|
|
122
|
+
export function createTransform<O>(source: LiveSource<number>, input: ReadonlyArray<number>, output: ReadonlyArray<O>, options: LiveValue.MixedTransformOptions<O>): Accessor<O>
|
|
123
|
+
export function createTransform(
|
|
124
|
+
source: LiveSource<unknown>,
|
|
125
|
+
fnOrInput: ((a: unknown) => unknown) | ReadonlyArray<number>,
|
|
126
|
+
output?: ReadonlyArray<unknown>,
|
|
127
|
+
options?: LiveValue.TransformOptions<unknown>,
|
|
128
|
+
): Accessor<unknown> {
|
|
129
|
+
const fn = Bool.match(Predicate.isFunction(fnOrInput), {
|
|
130
|
+
onTrue: () => fnOrInput as (a: unknown) => unknown,
|
|
131
|
+
onFalse: () => interpolatorOf(fnOrInput as ReadonlyArray<number>, output as ReadonlyArray<unknown>, options) as (a: unknown) => unknown,
|
|
132
|
+
})
|
|
133
|
+
if (isServer) return () => fn(readOnServer(source))
|
|
134
|
+
const atom = atomOf(source)
|
|
135
|
+
// A plain accessor: mapped in a memo, as Solid maps it.
|
|
136
|
+
if (Predicate.isUndefined(atom)) return createMemo(() => fn((source as Accessor<unknown>)()), CLIENT_ONLY)
|
|
137
|
+
// On an Atom: derived on it, so it's set where its source is. What `fn` reads of Solid besides its
|
|
138
|
+
// source is tracked here, and a change of it re-derives the Atom.
|
|
139
|
+
const registry = useWardicRuntime().runSync(AtomRegistry.AtomRegistry)
|
|
140
|
+
const derived = Atom.make((get) => untrack(() => fn(get(atom))))
|
|
141
|
+
// A change of what `fn` reads of Solid derives it again: the registry's own refresh, where a counter
|
|
142
|
+
// Atom it read was bumped (#618, L2).
|
|
143
|
+
createEffect(
|
|
144
|
+
() => fn(registry.get(atom)),
|
|
145
|
+
() => {
|
|
146
|
+
registry.refresh(derived)
|
|
147
|
+
},
|
|
148
|
+
CLIENT_ONLY_DEFERRED,
|
|
149
|
+
)
|
|
150
|
+
return followAtom(registry, derived)
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
/**
|
|
154
|
+
* The ranges' mapping, resolved once: through the provider's `InterpolatorRegistry` on a client, the
|
|
155
|
+
* DOM's on a server, which builds no runtime (ADR-0021).
|
|
156
|
+
*/
|
|
157
|
+
const interpolatorOf = <O>(
|
|
158
|
+
input: ReadonlyArray<number>,
|
|
159
|
+
output: ReadonlyArray<O>,
|
|
160
|
+
options: LiveValue.TransformOptions<O> | undefined,
|
|
161
|
+
): ((v: number) => O) => {
|
|
162
|
+
// Typed at `createTransform`'s overloads: numbers and strings through the registry, any type through a
|
|
163
|
+
// `mixer` (#440). Here one mapping serves both.
|
|
164
|
+
const mapping = LiveValue.interpolate(input, output as ReadonlyArray<number | string>, options as LiveValue.TransformOptions | undefined) as unknown as Effect.Effect<
|
|
165
|
+
(v: number) => O,
|
|
166
|
+
never,
|
|
167
|
+
InterpolatorRegistry.InterpolatorRegistry
|
|
168
|
+
>
|
|
169
|
+
if (isServer) return Effect.runSync(withServerInterpolators(mapping))
|
|
170
|
+
return useWardicRuntime().runSync(mapping)
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
/**
|
|
174
|
+
* A value that follows `source` on a transition, in seconds: from each change of `source`, it animates
|
|
175
|
+
* there, then rests. No `type` is a spring, 100 / 10 / 1 unless it's set by time; `type: "tween"` is
|
|
176
|
+
* 0.3 s `easeInOut`; `type: "inertia"` glides. A change mid-way: a spring steers to it, keeping its
|
|
177
|
+
* speed; a tween starts again from where it is; an inertia glides again from there. `delay` waits at
|
|
178
|
+
* every change, so a source that never rests moves it once it does. A string with a unit, `"10px"`,
|
|
179
|
+
* is followed as its number. `jump(value)` puts it somewhere at once. Motion's `useFollowValue`.
|
|
180
|
+
*
|
|
181
|
+
* @example
|
|
182
|
+
* const [x, setX] = createSignal(0)
|
|
183
|
+
* const eased = createFollowValue(x, { type: "tween", duration: 0.4, ease: "easeOut" })
|
|
184
|
+
* <w.div style={{ x: eased }} />
|
|
185
|
+
* @see https://wardic.dev/reference/solid/live-values/create-follow-value
|
|
186
|
+
*/
|
|
187
|
+
// #441: on the Frame loop, idle while it rests, ended with its owner. An inertia mid-flight glides again,
|
|
188
|
+
// its target unread (#435). A `velocity` given is the one every run starts or steers with.
|
|
189
|
+
export function createFollowValue(source: LiveSource<number>, options?: FollowValueOptions): FollowAccessor<number>
|
|
190
|
+
export function createFollowValue(source: LiveSource<string>, options?: FollowValueOptions): FollowAccessor<string>
|
|
191
|
+
export function createFollowValue(source: LiveSource<number | string>, options: FollowValueOptions = {}): FollowAccessor<number | string> {
|
|
192
|
+
if (isServer) return serverFollowOf(() => readOnServer(source))
|
|
193
|
+
const runtime = useWardicRuntime()
|
|
194
|
+
// Its nearest WardicConfig's `skipAnimations` (#468): each change lands at once while it's on.
|
|
195
|
+
const skipped = useWardicSkipAnimations()
|
|
196
|
+
const transition = followOptionsOf(options)
|
|
197
|
+
const registry = runtime.runSync(AtomRegistry.AtomRegistry)
|
|
198
|
+
const atom = sourceAtomOf(source, registry)
|
|
199
|
+
const initial = registry.get(atom)
|
|
200
|
+
// A string's accessor or a number's, as its source started.
|
|
201
|
+
return followAccessorOf(
|
|
202
|
+
runtime,
|
|
203
|
+
Bool.match(Predicate.isString(initial), {
|
|
204
|
+
onFalse: () => liveOf(runtime, LiveValue.follow(atom as Atom.Atom<number>, transition, skipped)),
|
|
205
|
+
// A unit string: its number followed, shown with the unit it started with (Motion's).
|
|
206
|
+
onTrue: () =>
|
|
207
|
+
liveOf(
|
|
208
|
+
runtime,
|
|
209
|
+
Effect.map(LiveValue.follow(Atom.map(atom, numberOf), transition, skipped), withUnit(unitOf(initial as string))),
|
|
210
|
+
) as Accessor<number | string>,
|
|
211
|
+
}),
|
|
212
|
+
)
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
/**
|
|
216
|
+
* A value that follows `source` on a spring: from each change, it springs there, a change mid-way
|
|
217
|
+
* keeping its speed. `stiffness`, `damping` and `mass`, 100 / 10 / 1 by default, or a `visualDuration`
|
|
218
|
+
* and `bounce`. A string with a unit, `"10px"`, is followed as its number. `jump(value)` puts it
|
|
219
|
+
* somewhere at once, and `skipInitialAnimation` makes the source's first change a jump. On a source that's both derived and
|
|
220
|
+
* set, Solid 2's `createSignal(fn)`, a write springs there, and the next change of what it derives from
|
|
221
|
+
* springs on to that.
|
|
222
|
+
* Motion's `useSpring`.
|
|
223
|
+
*
|
|
224
|
+
* @example
|
|
225
|
+
* const [x, setX] = createSignal(0)
|
|
226
|
+
* const followX = createSpring(x, { stiffness: 300, damping: 30 })
|
|
227
|
+
* <w.div style={{ x: followX }} />
|
|
228
|
+
* @see https://wardic.dev/reference/solid/live-values/create-spring
|
|
229
|
+
*/
|
|
230
|
+
// `createFollowValue`'s spring case (#441), at rest within 0.001. A writable memo source: #257 item 7.
|
|
231
|
+
export function createSpring(source: LiveSource<number>, options?: LiveValue.SpringOptions): SpringAccessor<number>
|
|
232
|
+
export function createSpring(source: LiveSource<string>, options?: LiveValue.SpringOptions): SpringAccessor<string>
|
|
233
|
+
export function createSpring(source: LiveSource<number | string>, options: LiveValue.SpringOptions = {}): SpringAccessor<number | string> {
|
|
234
|
+
return createFollowValue(source as LiveSource<number>, { ...options, type: "spring" })
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
/**
|
|
238
|
+
* How fast `source` is changing, in its units a second: 0 to begin with, then each frame while it
|
|
239
|
+
* moves, and 0 once it stops. A velocity is a value too: `createVelocity(createVelocity(x))` is its
|
|
240
|
+
* acceleration. Motion's `useVelocity`.
|
|
241
|
+
*
|
|
242
|
+
* @example
|
|
243
|
+
* const { scrollY } = createScroll()
|
|
244
|
+
* const skewY = createTransform(createVelocity(scrollY), [-1000, 1000], [-8, 8])
|
|
245
|
+
* @see https://wardic.dev/reference/solid/live-values/create-velocity
|
|
246
|
+
*/
|
|
247
|
+
export const createVelocity = (source: LiveSource<number>): Accessor<number> => {
|
|
248
|
+
if (isServer) return SERVER_ZERO
|
|
249
|
+
const runtime = useWardicRuntime()
|
|
250
|
+
return liveOf(runtime, LiveValue.velocity(sourceAtomOf(source, runtime.runSync(AtomRegistry.AtomRegistry))))
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
/**
|
|
254
|
+
* The milliseconds since it was made, wall time, set every frame while its owner lives: for something
|
|
255
|
+
* that turns forever. It keeps Wardic's frames running while it lives. Motion's `useTime`.
|
|
256
|
+
*
|
|
257
|
+
* @example
|
|
258
|
+
* const rotate = createTransform(createTime(), (ms) => (ms / 1000) * 90)
|
|
259
|
+
* <w.div style={{ rotate }} />
|
|
260
|
+
* @see https://wardic.dev/reference/solid/live-values/create-time
|
|
261
|
+
*/
|
|
262
|
+
export const createTime = (): Accessor<number> => {
|
|
263
|
+
if (isServer) return SERVER_ZERO
|
|
264
|
+
return liveOf(useWardicRuntime(), LiveValue.time())
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
const SERVER_ZERO: Accessor<number> = () => 0
|
|
268
|
+
|
|
269
|
+
/**
|
|
270
|
+
* A `will-change` for an element's `style`: `"auto"` until the element first animates a transform key,
|
|
271
|
+
* `opacity`, `clipPath`, `filter` or `backgroundColor`, or is dragged; then `"transform"`, for good, so
|
|
272
|
+
* the browser keeps it on a layer of its own from its first move on. A key already at its target and a
|
|
273
|
+
* layout animation don't count. `"auto"` on a server. Motion's `useWillChange`.
|
|
274
|
+
*
|
|
275
|
+
* @example
|
|
276
|
+
* const willChange = createWillChange()
|
|
277
|
+
* <w.div whileHover={{ scale: 1.1 }} style={{ "will-change": willChange }} />
|
|
278
|
+
* @see https://wardic.dev/reference/solid/live-values/create-will-change
|
|
279
|
+
*/
|
|
280
|
+
// #443.
|
|
281
|
+
export const createWillChange = (): Accessor<WillChange> => {
|
|
282
|
+
if (isServer) return SERVER_AUTO
|
|
283
|
+
const registry = useWardicRuntime().runSync(AtomRegistry.AtomRegistry)
|
|
284
|
+
return willChangeOf(registry, onCleanup, (atom) => followAtom(registry, atom))
|
|
285
|
+
}
|
|
286
|
+
|
|
287
|
+
const SERVER_AUTO: Accessor<WillChange> = () => "auto"
|
|
288
|
+
|
|
289
|
+
/**
|
|
290
|
+
* Calls `callback` every frame while its owner lives, with the frame's `time` and `delta` in
|
|
291
|
+
* milliseconds: for what a frame draws itself, such as a canvas or a 3D scene. `time` is 0 at the
|
|
292
|
+
* first frame, then wall time since, a hidden tab's minutes included; `delta` is the frame's own, held
|
|
293
|
+
* to 1–40 ms, so the first frame back from a hidden tab steps 40 ms. A throw is logged, and the next
|
|
294
|
+
* frame calls it again. Nothing runs on a server. Motion's `useAnimationFrame`.
|
|
295
|
+
*
|
|
296
|
+
* @example
|
|
297
|
+
* createAnimationFrame((time) => {
|
|
298
|
+
* cube.style.transform = `rotateY(${time / 10}deg)`
|
|
299
|
+
* })
|
|
300
|
+
* @see https://wardic.dev/reference/solid/live-values/create-animation-frame
|
|
301
|
+
*/
|
|
302
|
+
// #443. It keeps the Clock ticking every frame. A throw is logged at the first of a run of throws, as
|
|
303
|
+
// `onUpdate`'s.
|
|
304
|
+
export const createAnimationFrame = (callback: (time: number, delta: number) => void): void => {
|
|
305
|
+
if (isServer) return
|
|
306
|
+
const runtime = useWardicRuntime()
|
|
307
|
+
const scope = OwnerScope.open(runtime)
|
|
308
|
+
onCleanup(() => OwnerScope.close(runtime, scope, CLOSE_FAILED))
|
|
309
|
+
runtime.runSync(eachFrameOf(runtime, callback).pipe(Scope.provide(scope)))
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
/** An element, or an accessor of one, such as `() => box` for a ref: read once it's there. */
|
|
313
|
+
export type ElementSource = Element | Accessor<Element | undefined>
|
|
314
|
+
|
|
315
|
+
/** `createScroll`'s options, as Motion's `useScroll`'s. */
|
|
316
|
+
export interface ScrollOptions {
|
|
317
|
+
/** The scrolling element, as an accessor of its ref: `() => box`. The page's scroll when left out. */
|
|
318
|
+
readonly container?: ElementSource
|
|
319
|
+
/** An element whose way through the container the progress reads, between the `offset`s. */
|
|
320
|
+
readonly target?: ElementSource
|
|
321
|
+
/**
|
|
322
|
+
* Where the progress runs, as Motion's: each stop pairs an edge of the target with an edge of the
|
|
323
|
+
* container, `["start end", "end start"]`, 0 at the first and 1 at the last. An edge is `start`,
|
|
324
|
+
* `center` or `end`, a fraction, or a length. With a target, `["start start", "end end"]` by default.
|
|
325
|
+
*/
|
|
326
|
+
// The DOM's syntax (`@wardic/dom/ScrollOffset`); with a target and none given, its `All`.
|
|
327
|
+
readonly offset?: ScrollOffset.ScrollOffset
|
|
328
|
+
/** The axis `target` and `offset` read: `"y"` (the default) or `"x"`. */
|
|
329
|
+
readonly axis?: "x" | "y"
|
|
330
|
+
}
|
|
331
|
+
|
|
332
|
+
/** `createScroll`'s values, Motion's four, each an accessor. */
|
|
333
|
+
export interface ScrollValues {
|
|
334
|
+
/** How far it's scrolled across, in pixels. */
|
|
335
|
+
readonly scrollX: Accessor<number>
|
|
336
|
+
/** How far it's scrolled down, in pixels. */
|
|
337
|
+
readonly scrollY: Accessor<number>
|
|
338
|
+
/** Its progress across, from 0 to 1: through its range, or, with a `target` or `offset`, through theirs. */
|
|
339
|
+
readonly scrollXProgress: Accessor<number>
|
|
340
|
+
/** Its progress down, from 0 to 1: through its range, or, with a `target` or `offset`, through theirs. */
|
|
341
|
+
readonly scrollYProgress: Accessor<number>
|
|
342
|
+
}
|
|
343
|
+
|
|
344
|
+
const SCROLL_KEYS = ["scrollX", "scrollY", "scrollXProgress", "scrollYProgress"] as const
|
|
345
|
+
/** `createScroll`'s elements before the render has settled: none yet. */
|
|
346
|
+
const NOT_YET = { container: Option.none(), target: Option.none() } as const
|
|
347
|
+
const SERVER_SCROLL: ScrollValues = { scrollX: SERVER_ZERO, scrollY: SERVER_ZERO, scrollXProgress: SERVER_ZERO, scrollYProgress: SERVER_ZERO }
|
|
348
|
+
|
|
349
|
+
/** An element source read now: `None` for an accessor whose ref hasn't arrived. */
|
|
350
|
+
const elementOf = (source: ElementSource | undefined): Option.Option<Element | undefined> =>
|
|
351
|
+
Bool.match(Predicate.isFunction(source), {
|
|
352
|
+
onTrue: () => Option.fromUndefinedOr((source as Accessor<Element | undefined>)()),
|
|
353
|
+
onFalse: () => Option.some(source as Element | undefined),
|
|
354
|
+
})
|
|
355
|
+
|
|
356
|
+
/**
|
|
357
|
+
* A scroll as values: `scrollX` and `scrollY`, how far it's scrolled, in pixels, and `scrollXProgress`
|
|
358
|
+
* and `scrollYProgress`, from 0 to 1 through its range. The page's, or a `container`'s. With a
|
|
359
|
+
* `target`, the progress is the target's way through, between two `offset`s, on `axis`. Each is set in
|
|
360
|
+
* the scroll's own event, so a value derived from one paints in the frame that shows the scroll. A
|
|
361
|
+
* `container` or `target` given as an accessor of a ref reads 0s until the ref is there. 0s on a
|
|
362
|
+
* server. Motion's `useScroll`.
|
|
363
|
+
*
|
|
364
|
+
* @example
|
|
365
|
+
* let box!: HTMLDivElement
|
|
366
|
+
* const { scrollYProgress } = createScroll({ container: () => box })
|
|
367
|
+
* <div ref={box}>…</div>
|
|
368
|
+
* <w.div style={{ scaleX: scrollYProgress }} />
|
|
369
|
+
* @see https://wardic.dev/reference/solid/live-values/create-scroll
|
|
370
|
+
*/
|
|
371
|
+
// #234. An accessor `container` or `target` is read in an effect, and a change of either follows the
|
|
372
|
+
// new one. Each value carries one Atom for its life.
|
|
373
|
+
export const createScroll = (options: ScrollOptions = {}): ScrollValues => {
|
|
374
|
+
if (isServer) return SERVER_SCROLL
|
|
375
|
+
const runtime = useWardicRuntime()
|
|
376
|
+
const registry = runtime.runSync(AtomRegistry.AtomRegistry)
|
|
377
|
+
// Its own four Atoms, set from the scroll of the elements there now.
|
|
378
|
+
const outs = Rec.fromIterableWith(SCROLL_KEYS, (key) => [key, Atom.make(0)] as const)
|
|
379
|
+
Arr.forEach(SCROLL_KEYS, (key) => onCleanup(registry.mount(outs[key])))
|
|
380
|
+
// Its elements are read once the render has settled: a ref given as `() => box` is set during the
|
|
381
|
+
// render, after this effect's first compute, and isn't a signal, so nothing would read it again.
|
|
382
|
+
const [settled, setSettled] = createSignal(false)
|
|
383
|
+
onSettledClientOnly(() => {
|
|
384
|
+
setSettled(true)
|
|
385
|
+
})
|
|
386
|
+
createEffect(
|
|
387
|
+
() =>
|
|
388
|
+
Bool.match(settled(), {
|
|
389
|
+
onTrue: () => ({ container: elementOf(options.container), target: elementOf(options.target) }),
|
|
390
|
+
onFalse: () => NOT_YET,
|
|
391
|
+
}),
|
|
392
|
+
({ container, target }) => {
|
|
393
|
+
// A ref not there yet: the values hold until it is.
|
|
394
|
+
if (Bool.or(Option.isNone(container), Option.isNone(target))) return undefined
|
|
395
|
+
const scope = OwnerScope.open(runtime)
|
|
396
|
+
const values = runtime.runSync(
|
|
397
|
+
LiveValue.scroll({
|
|
398
|
+
...UndefinedOr.match(Option.getOrUndefined(container), { onUndefined: () => ({}), onDefined: (element) => ({ container: element }) }),
|
|
399
|
+
...UndefinedOr.match(Option.getOrUndefined(target), { onUndefined: () => ({}), onDefined: (element) => ({ target: element }) }),
|
|
400
|
+
...UndefinedOr.match(options.offset, { onUndefined: () => ({}), onDefined: (offset) => ({ offset }) }),
|
|
401
|
+
...UndefinedOr.match(options.axis, { onUndefined: () => ({}), onDefined: (axis) => ({ axis }) }),
|
|
402
|
+
}).pipe(Scope.provide(scope)),
|
|
403
|
+
)
|
|
404
|
+
// Each derived Atom is read at once: it tracks the scroll only once it's been read.
|
|
405
|
+
const stops = Arr.map(SCROLL_KEYS, (key) => registry.subscribe(values[key], (v) => registry.set(outs[key], v), { immediate: true }))
|
|
406
|
+
return () => {
|
|
407
|
+
Arr.forEach(stops, (stop) => stop())
|
|
408
|
+
OwnerScope.close(runtime, scope, CLOSE_FAILED)
|
|
409
|
+
}
|
|
410
|
+
},
|
|
411
|
+
CLIENT_ONLY,
|
|
412
|
+
)
|
|
413
|
+
return Rec.map(outs, (atom) => followAtom(registry, atom)) as unknown as ScrollValues
|
|
414
|
+
}
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A presence handle on Solid 2 (#257, ADR-0046): an `<AnimatePresence>`'s exits, heard where Solid 1
|
|
3
|
+
* has Motion's `onExitComplete`. A ward can't hand them over: it's disposed the moment its exit
|
|
4
|
+
* starts. The presence outlives its child, so the handle is the presence's.
|
|
5
|
+
*
|
|
6
|
+
* ```tsx
|
|
7
|
+
* const presence = createPresence()
|
|
8
|
+
* <AnimatePresence ref={presence}>…</AnimatePresence>
|
|
9
|
+
* <button disabled={presence.exiting()} onClick={async () => {
|
|
10
|
+
* setOpen(false)
|
|
11
|
+
* await presence.next("exitComplete")
|
|
12
|
+
* await api.save()
|
|
13
|
+
* }}>Close and save</button>
|
|
14
|
+
* ```
|
|
15
|
+
*
|
|
16
|
+
* - `exiting()`: whether a child is exiting, a plain reactive boolean.
|
|
17
|
+
* - `next("exitStart")`: a child left and its exit started. `next("exitComplete")`: every exiting
|
|
18
|
+
* child has animated out and been removed. An exit a re-entry interrupts doesn't complete: a
|
|
19
|
+
* waiting `next("exitComplete")` waits on for one that does. Both resolve with `undefined`.
|
|
20
|
+
* - `each(name)`: every one, for `for await` (`waiters.ts`).
|
|
21
|
+
* - `when(name)`: every one, as a memo for an effect (#355).
|
|
22
|
+
* - `createPresence()`'s owner disposed: waiting calls reject with an `AbortError`, and an `each` ends.
|
|
23
|
+
*
|
|
24
|
+
* `ref` also takes a plain callback, `ref={(p) => (presence = p)}`: it's handed the presence's own
|
|
25
|
+
* handle. A `createPresence()` handle given to `ref` is called with that same handle, and hears it.
|
|
26
|
+
*
|
|
27
|
+
* @module
|
|
28
|
+
*/
|
|
29
|
+
import { constUndefined } from "effect/Function"
|
|
30
|
+
import * as Predicate from "effect/Predicate"
|
|
31
|
+
import { isServer } from "@solidjs/web"
|
|
32
|
+
import { type Accessor, createSignal, onCleanup } from "solid-js"
|
|
33
|
+
import type { PresenceEvents as ControllerEvents } from "../../presence-controller.ts"
|
|
34
|
+
import { eachOf, serverWhen, Waiters, whenOf } from "./waiters.ts"
|
|
35
|
+
|
|
36
|
+
/** What a presence handle's `next(name)` waits for. */
|
|
37
|
+
export interface PresenceEvents {
|
|
38
|
+
/** A child left, and its exit started. */
|
|
39
|
+
readonly exitStart: undefined
|
|
40
|
+
/**
|
|
41
|
+
* Every exiting child has animated out and been removed (Motion's `onExitComplete`): not when the
|
|
42
|
+
* last one ended because a child came back mid-exit, nor when the presence itself went.
|
|
43
|
+
*/
|
|
44
|
+
readonly exitComplete: undefined
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
/** A presence handle's event names. */
|
|
48
|
+
export type PresenceEvent = keyof PresenceEvents
|
|
49
|
+
|
|
50
|
+
/** An `<AnimatePresence>`'s exits, heard: see the module. */
|
|
51
|
+
export interface Presence {
|
|
52
|
+
/** Given to `<AnimatePresence ref>`: called with that presence's own handle, whose exits it hears from then on. */
|
|
53
|
+
(source: Presence): void
|
|
54
|
+
/** Whether a child is exiting: `true` from an exit's start until no exiting child is left. */
|
|
55
|
+
readonly exiting: Accessor<boolean>
|
|
56
|
+
/** A promise of the next `name` after the call. */
|
|
57
|
+
readonly next: <E extends PresenceEvent>(name: E) => Promise<PresenceEvents[E]>
|
|
58
|
+
/** Every `name` from the call on, for `for await`; it ends when the handle's owner is disposed. */
|
|
59
|
+
readonly each: <E extends PresenceEvent>(name: E) => AsyncIterable<PresenceEvents[E]>
|
|
60
|
+
/**
|
|
61
|
+
* Every `name`, as a memo for an effect: pending until the first, so the effect runs at each
|
|
62
|
+
* one, on any page. `createEffect(presence.when("exitComplete"), () => trigger.focus())`.
|
|
63
|
+
*/
|
|
64
|
+
readonly when: <E extends PresenceEvent>(name: E) => Accessor<PresenceEvents[E]>
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
/** A handle's own hearing: what another handle given its source calls. Internal. */
|
|
68
|
+
const HEAR = Symbol("wardic.presence.hear")
|
|
69
|
+
|
|
70
|
+
interface Hearing {
|
|
71
|
+
readonly [HEAR]: (events: ControllerEvents) => void
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
/** The `AbortError`'s message for a `next` the handle's owner cut off. */
|
|
75
|
+
const GONE = "The presence handle was disposed before its next event."
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* A handle, under the current owner, and the events that drive it: what an `<AnimatePresence>`
|
|
79
|
+
* tells its controller's exits to, and what a handle given it hears through.
|
|
80
|
+
*/
|
|
81
|
+
export const makePresenceHandle = (): { readonly handle: Presence; readonly events: ControllerEvents } => {
|
|
82
|
+
const [exiting, setExiting] = createSignal(false)
|
|
83
|
+
// The last value written: Solid 2 reads a write from its next flush, so the signal can't say.
|
|
84
|
+
let written = false
|
|
85
|
+
const waiters = new Waiters<PresenceEvents>(GONE)
|
|
86
|
+
// The handles hearing this one (`createPresence()`'s, given to the presence's `ref`).
|
|
87
|
+
const hearers = new Set<ControllerEvents>()
|
|
88
|
+
const events: ControllerEvents = {
|
|
89
|
+
exitStart: () => {
|
|
90
|
+
waiters.tell("exitStart", constUndefined)
|
|
91
|
+
hearers.forEach((hearer) => hearer.exitStart())
|
|
92
|
+
},
|
|
93
|
+
exiting: (on) => {
|
|
94
|
+
// Only a change is written: a hearer joining syncs to where this one is, in the presence's
|
|
95
|
+
// body, where nothing exits yet, and a write there is one Solid refuses.
|
|
96
|
+
if (written !== on) {
|
|
97
|
+
written = on
|
|
98
|
+
setExiting(on)
|
|
99
|
+
}
|
|
100
|
+
hearers.forEach((hearer) => hearer.exiting(on))
|
|
101
|
+
},
|
|
102
|
+
exitComplete: () => {
|
|
103
|
+
waiters.tell("exitComplete", constUndefined)
|
|
104
|
+
hearers.forEach((hearer) => hearer.exitComplete())
|
|
105
|
+
},
|
|
106
|
+
}
|
|
107
|
+
const handle = ((source: Presence): void => {
|
|
108
|
+
;(source as unknown as Hearing)[HEAR](events)
|
|
109
|
+
}) as Presence
|
|
110
|
+
Object.defineProperties(handle, {
|
|
111
|
+
exiting: { value: exiting },
|
|
112
|
+
next: { value: <E extends PresenceEvent>(name: E) => waiters.wait(name) },
|
|
113
|
+
each: { value: <E extends PresenceEvent>(name: E) => eachOf<PresenceEvents, E>(waiters, name) },
|
|
114
|
+
when: { value: <E extends PresenceEvent>(name: E) => whenOf<PresenceEvents, E>(waiters, name) },
|
|
115
|
+
[HEAR]: {
|
|
116
|
+
value: (hearer: ControllerEvents): void => {
|
|
117
|
+
hearers.add(hearer)
|
|
118
|
+
// It starts from where this presence is now.
|
|
119
|
+
hearer.exiting(written)
|
|
120
|
+
},
|
|
121
|
+
},
|
|
122
|
+
})
|
|
123
|
+
// Its waits end with its owner. Its hearers stay: a presence's teardown, after, still tells them
|
|
124
|
+
// its exits are off.
|
|
125
|
+
onCleanup(() => waiters.dispose())
|
|
126
|
+
return { handle, events }
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
/**
|
|
130
|
+
* Hears an `<AnimatePresence>`'s exits, given to its `ref`: `exiting()` is whether a child is
|
|
131
|
+
* leaving, and `next("exitComplete")` resolves once every leaving child has gone. Solid 2's form of
|
|
132
|
+
* Motion's `onExitComplete`.
|
|
133
|
+
*
|
|
134
|
+
* @example
|
|
135
|
+
* const presence = createPresence()
|
|
136
|
+
* <AnimatePresence ref={presence}>…</AnimatePresence>
|
|
137
|
+
* await presence.next("exitComplete")
|
|
138
|
+
* @see https://wardic.dev/reference/solid/presence/create-presence
|
|
139
|
+
*/
|
|
140
|
+
// On a server nothing exits: exiting() is false, next never settles, and each ends at once.
|
|
141
|
+
export const createPresence = (): Presence => {
|
|
142
|
+
if (isServer) return SERVER_PRESENCE
|
|
143
|
+
return makePresenceHandle().handle
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
/** A server's handle: nothing exits there. */
|
|
147
|
+
const SERVER_PRESENCE: Presence = Object.defineProperties((() => {}) as unknown as Presence, {
|
|
148
|
+
exiting: { value: () => false },
|
|
149
|
+
next: { value: (): Promise<never> => new Promise<never>(constUndefined) },
|
|
150
|
+
each: { value: () => ({ [Symbol.asyncIterator]: () => ({ next: () => Promise.resolve({ value: undefined, done: true as const }) }) }) },
|
|
151
|
+
when: { value: serverWhen },
|
|
152
|
+
[HEAR]: { value: () => {} },
|
|
153
|
+
})
|
|
154
|
+
|
|
155
|
+
/** A server's `<AnimatePresence ref>`: handed the server's handle. Internal. */
|
|
156
|
+
export const serverPresenceHandle = (): Presence => SERVER_PRESENCE
|
|
157
|
+
|
|
158
|
+
/** Whether `ref` was given. Internal. */
|
|
159
|
+
export const hasRef = (ref: ((presence: Presence) => void) | undefined): ref is (presence: Presence) => void => Predicate.isFunction(ref)
|