@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
package/src/provider.tsx
ADDED
|
@@ -0,0 +1,526 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `WardicProvider` — owns the single Effect runtime for a Solid subtree.
|
|
3
|
+
*
|
|
4
|
+
* Per ADR-0006 ("Reactive bridge"), exactly one Effect runtime + `AtomRegistry`
|
|
5
|
+
* lives in `WardicProvider`, and every animation fiber is scoped to a consuming
|
|
6
|
+
* component's `onCleanup`, so unmount interrupts the fiber, tears down its
|
|
7
|
+
* Scope, and drops the ref-count on the Shared sources it subscribed to.
|
|
8
|
+
*
|
|
9
|
+
* This module supplies that runtime (a `ManagedRuntime` built once from the
|
|
10
|
+
* supplied environment `Layer`), the `useWardicRuntime` accessor, and the
|
|
11
|
+
* scoped-fiber runner (`runScoped` / `useWardicFiber`) that interrupts forked
|
|
12
|
+
* fibers on consumer unmount.
|
|
13
|
+
*/
|
|
14
|
+
import type * as DefaultTransition from "@wardic/core/DefaultTransition"
|
|
15
|
+
import type * as InputFeed from "@wardic/core/InputFeed"
|
|
16
|
+
import type * as ReducedMotion from "@wardic/core/ReducedMotion"
|
|
17
|
+
import type * as Renderer from "@wardic/core/Renderer"
|
|
18
|
+
import type * as Cause from "effect/Cause"
|
|
19
|
+
import * as Effect from "effect/Effect"
|
|
20
|
+
import * as Fiber from "effect/Fiber"
|
|
21
|
+
import * as Scope from "effect/Scope"
|
|
22
|
+
import * as Bool from "effect/Boolean"
|
|
23
|
+
import { constUndefined, identity } from "effect/Function"
|
|
24
|
+
import * as Latch from "effect/Latch"
|
|
25
|
+
import * as Option from "effect/Option"
|
|
26
|
+
import * as Predicate from "effect/Predicate"
|
|
27
|
+
import * as UndefinedOr from "effect/UndefinedOr"
|
|
28
|
+
import { batch, createContext, DEV, onCleanup, onMount, untrack, useContext } from "solid-js"
|
|
29
|
+
import type { JSX } from "solid-js"
|
|
30
|
+
import { useAssets } from "solid-js/web"
|
|
31
|
+
import * as Appear from "@wardic/dom/Appear"
|
|
32
|
+
import * as Report from "@wardic/dom/Report"
|
|
33
|
+
import type * as FlushGate from "@wardic/dom/FlushGate"
|
|
34
|
+
import type * as ProjectionSystem from "@wardic/dom/ProjectionSystem"
|
|
35
|
+
import { explainerOf, type ServerAppear, serverAppear } from "./appear.ts"
|
|
36
|
+
import * as Context from "effect/Context"
|
|
37
|
+
import { type Feature, type FeatureRegistry, type FeatureSection, type FeaturesProp, ROOT, strictMessage } from "./feature.ts"
|
|
38
|
+
import { FeatureSectionProvider, sectionUnder, useLazySection } from "./feature-section.ts"
|
|
39
|
+
import * as OwnerScope from "./owner-scope.ts"
|
|
40
|
+
import {
|
|
41
|
+
type AnimateLayout,
|
|
42
|
+
animateLayoutOf,
|
|
43
|
+
clientContext,
|
|
44
|
+
fromContext,
|
|
45
|
+
interrupted,
|
|
46
|
+
prepareIdle,
|
|
47
|
+
reducedMotionSettingWith,
|
|
48
|
+
reducedMotionWith,
|
|
49
|
+
reported,
|
|
50
|
+
serverContext,
|
|
51
|
+
type WardicContextValue,
|
|
52
|
+
type WardicEnv,
|
|
53
|
+
type WardicRuntime,
|
|
54
|
+
type WardicServices,
|
|
55
|
+
whenIdle,
|
|
56
|
+
} from "./runtime.ts"
|
|
57
|
+
import { isHydrating, isServer } from "./server.ts"
|
|
58
|
+
import { useWardicConfig } from "./wardic-config.tsx"
|
|
59
|
+
import { skipAnimationsOf } from "./wardic-config-value.ts"
|
|
60
|
+
import { instantLayoutOf, type InstantTransition, instantTransitionOf, resetOf } from "./instant.ts"
|
|
61
|
+
import type { WardicScaleCorrector } from "./config.ts"
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* Context carrying the single runtime + flush gate down the tree. Defaults to
|
|
65
|
+
* `undefined` so {@link useWardicRuntime} / {@link useWardicGate} can detect
|
|
66
|
+
* (and clearly reject) reads made outside a `WardicProvider`.
|
|
67
|
+
*/
|
|
68
|
+
const WardicContext = createContext<WardicContextValue | undefined>(undefined)
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* Puts Wardic in your app: every Wardic element sits under one. Give it the Environment, `DomLive` in
|
|
72
|
+
* a browser, and the Features your elements use.
|
|
73
|
+
*
|
|
74
|
+
* @example
|
|
75
|
+
* <WardicProvider env={DomLive} features={[domAnimation]}>
|
|
76
|
+
* <App />
|
|
77
|
+
* </WardicProvider>
|
|
78
|
+
* @see https://wardic.dev/reference/solid/provider/wardic-provider
|
|
79
|
+
*/
|
|
80
|
+
// One Effect runtime per provider (ADR-0006), made once from `env` and disposed on unmount
|
|
81
|
+
// (fire-and-forget). Built on first need (#51, ADR-0021 Amendment (#51)): the runtime on its first run,
|
|
82
|
+
// the gate, projection and reduced-motion inputs the first time an element or hook under it reads one,
|
|
83
|
+
// so a provider with nothing under it builds nothing, and a failing `env` fails at the first element.
|
|
84
|
+
// Client-only (ADR-0021): a server render holds an unbuilt runtime, an inert gate and no projection,
|
|
85
|
+
// and running anything on it fails with DomLive's client-only error; run Effects after mount (Solid 1:
|
|
86
|
+
// onMount or createEffect). reducedMotion: ADR-0029, read as each animation starts, a WardicConfig's
|
|
87
|
+
// over it (#434). appear: ADR-0044, read on the server once; "explain" (#585). scaleCorrectors: #443,
|
|
88
|
+
// this provider's alone, one keyed borderRadius/boxShadow replacing the built-in; ignored on a server.
|
|
89
|
+
// features/strict: #511, ADR-0067, read once.
|
|
90
|
+
export function WardicProvider(props: {
|
|
91
|
+
/** The Environment Wardic runs in: `DomLive` in a browser, from `@wardic/dom`. Read once. */
|
|
92
|
+
readonly env: WardicEnv
|
|
93
|
+
/**
|
|
94
|
+
* How animations honour the visitor's reduced-motion setting: `"user"` follows it (the default),
|
|
95
|
+
* `"always"` reduces motion, `"never"` doesn't. Under it, what moves or resizes jumps to where it's
|
|
96
|
+
* going, and the rest, such as opacity, still animates. A `WardicConfig` sets it for a subtree.
|
|
97
|
+
*/
|
|
98
|
+
readonly reducedMotion?: ReducedMotion.Config | undefined
|
|
99
|
+
/**
|
|
100
|
+
* On a server-rendered page, entrances play from the first paint, before the JavaScript has loaded
|
|
101
|
+
* (the default, `true`). `false` makes them wait for the JavaScript; `"explain"` plays them, and
|
|
102
|
+
* logs on the server why each element that can't play waits.
|
|
103
|
+
*/
|
|
104
|
+
readonly appear?: boolean | "explain" | undefined
|
|
105
|
+
/**
|
|
106
|
+
* The nonce your page's Content Security Policy gives inline styles: the `<style>` a server render
|
|
107
|
+
* writes for its entrances carries it, a streamed chunk's too. Motion's `MotionConfig` `nonce`.
|
|
108
|
+
*/
|
|
109
|
+
readonly nonce?: string | undefined
|
|
110
|
+
/**
|
|
111
|
+
* Your own corrections of a value a layout animation's scale would distort, by the key each corrects:
|
|
112
|
+
* Motion's `addScaleCorrector`, given here. Read once.
|
|
113
|
+
*/
|
|
114
|
+
readonly scaleCorrectors?: Readonly<Record<string, WardicScaleCorrector>> | undefined
|
|
115
|
+
/**
|
|
116
|
+
* The Features every `w.*` element under it has: at once (`[domAnimation]`), or loaded with a
|
|
117
|
+
* function (`() => import("./features").then((m) => m.drag)`). Read once.
|
|
118
|
+
*/
|
|
119
|
+
readonly features?: FeaturesProp | undefined
|
|
120
|
+
/** In development, a `wardic.*` element under it throws, so every element ships only its Features. */
|
|
121
|
+
readonly strict?: boolean | undefined
|
|
122
|
+
readonly children?: JSX.Element
|
|
123
|
+
}): JSX.Element {
|
|
124
|
+
if (isServer) {
|
|
125
|
+
// A server render builds no runtime (ADR-0021, decisions 1 and 3), and the same JSX as the
|
|
126
|
+
// client, so the hydration keys match. Its runtime is unbuilt, but an Environment that builds
|
|
127
|
+
// on a server (TestLive) could be built by user code: disposed with the render, as on unmount.
|
|
128
|
+
// The render's Appear animations (#48, ADR-0044): each element takes a slot as it renders,
|
|
129
|
+
// and once the render is done the head's `<style>` gets every rule and timing (`useAssets`,
|
|
130
|
+
// injected before `</head>`). A render with no `</head>` drops it, and its elements keep their
|
|
131
|
+
// Starting style, as they would without it.
|
|
132
|
+
const appear = Bool.match(props.appear === false, {
|
|
133
|
+
onTrue: constUndefined,
|
|
134
|
+
onFalse: () => serverAppear(Option.getOrElse(Option.fromUndefinedOr(props.reducedMotion), () => "user" as const), explainerOf(props.appear), props.nonce),
|
|
135
|
+
})
|
|
136
|
+
if (Predicate.isNotUndefined(appear)) useAssets(() => appearStyle(appear))
|
|
137
|
+
const value = serverContext(props.env, appear, () => untrack(() => props.reducedMotion))
|
|
138
|
+
onCleanup(() => void value.features.dispose())
|
|
139
|
+
sections.set(value, sectionOf(value, ROOT, props))
|
|
140
|
+
return <WardicContext.Provider value={value}>{props.children}</WardicContext.Provider>
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
// A streamed page's late chunks bring their own Appear rules (#245): moved into the head before
|
|
144
|
+
// the chunks hydrate, those already here now (this provider hydrates before its subtree), and
|
|
145
|
+
// each later one as it lands, until the stream ends.
|
|
146
|
+
if (isHydrating()) Appear.adoptChunks(document)
|
|
147
|
+
|
|
148
|
+
// Made ONCE: props.env is read a single time at construction, and the runtime built over it
|
|
149
|
+
// runs a frame's Starting-style switches through Solid's `batch` (ADR-0034). The rest builds on
|
|
150
|
+
// first need (#51). Disposing the runtime closes its Scope, which ends the projection system,
|
|
151
|
+
// then the gate (#132); dispose() returns a Promise, fire-and-forget on unmount.
|
|
152
|
+
const value = clientContext(
|
|
153
|
+
props.env,
|
|
154
|
+
batch,
|
|
155
|
+
() => untrack(() => props.reducedMotion),
|
|
156
|
+
// Tracked, for `createReducedMotionConfig` (#584).
|
|
157
|
+
() => props.reducedMotion,
|
|
158
|
+
untrack(() => props.scaleCorrectors),
|
|
159
|
+
)
|
|
160
|
+
// Its Features end first, then the runtime they stand on (#511).
|
|
161
|
+
onCleanup(() => void value.features.dispose())
|
|
162
|
+
const section = sectionOf(value, ROOT, props)
|
|
163
|
+
sections.set(value, section)
|
|
164
|
+
// Built at the browser's idle time, after this render (#535): what a first element would build, so an
|
|
165
|
+
// element mounted after pays none of it. One mounted before then builds it itself, as before. Asked
|
|
166
|
+
// for here, with no computation of the provider's own, so a hydration's owners are the server's.
|
|
167
|
+
onCleanup(whenIdle(() => prepareIdle(value, section)))
|
|
168
|
+
return <WardicContext.Provider value={value}>{props.children}</WardicContext.Provider>
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
/**
|
|
172
|
+
* Each provider's own section (#511): its Features, the first section of its tree. Kept beside its
|
|
173
|
+
* context value, not in a context of its own, so a provider renders one Provider, as before.
|
|
174
|
+
*/
|
|
175
|
+
// Module state (#460, Q7): each provider's root section, held weakly by its context value.
|
|
176
|
+
const sections = new WeakMap<WardicContextValue, FeatureSection>()
|
|
177
|
+
|
|
178
|
+
/**
|
|
179
|
+
* The section an element is in (#511): the nearest `LazyWardic`'s, else its provider's own; outside a
|
|
180
|
+
* provider, none. Internal.
|
|
181
|
+
*/
|
|
182
|
+
export function useFeatureSection(): FeatureSection {
|
|
183
|
+
return UndefinedOr.match(useLazySection(), {
|
|
184
|
+
onDefined: identity,
|
|
185
|
+
onUndefined: () => UndefinedOr.match(useContext(WardicContext), { onUndefined: () => ROOT, onDefined: (value) => UndefinedOr.getOrThrow(sections.get(value)) }),
|
|
186
|
+
})
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
/**
|
|
190
|
+
* The section `props` make under `parent` (#511), on `value`'s registry: a failed lazy load reported
|
|
191
|
+
* as a fiber's failure is (ADR-0030, decision 4).
|
|
192
|
+
*/
|
|
193
|
+
const sectionOf = (
|
|
194
|
+
value: WardicContextValue,
|
|
195
|
+
parent: FeatureSection,
|
|
196
|
+
props: { readonly features?: FeaturesProp | undefined; readonly strict?: boolean | undefined },
|
|
197
|
+
): FeatureSection =>
|
|
198
|
+
sectionUnder(parent, value.features, untrack(() => props.features), untrack(() => props.strict) === true, (cause) => {
|
|
199
|
+
value.runtime.runFork(Report.failure("wardic.features: a lazy load of Features failed", cause))
|
|
200
|
+
})
|
|
201
|
+
|
|
202
|
+
/**
|
|
203
|
+
* Gives the `w.*` elements in its section more Features, beside their provider's: at once
|
|
204
|
+
* (`features={[drag]}`), or loaded with a function, which runs as the section renders, so a page loads
|
|
205
|
+
* a Feature only when it needs it. Motion's `LazyMotion`.
|
|
206
|
+
*
|
|
207
|
+
* @example
|
|
208
|
+
* <LazyWardic features={() => import("./drag-feature").then((m) => m.drag)}>
|
|
209
|
+
* <w.div drag />
|
|
210
|
+
* </LazyWardic>
|
|
211
|
+
* @see https://wardic.dev/reference/solid/provider/lazy-wardic
|
|
212
|
+
*/
|
|
213
|
+
// #511, ADR-0067; Motion's LazyMotion. Given at once, built the first time an element below asks;
|
|
214
|
+
// loaded lazily, the load starts as it renders, on the client, its elements animating values at once and
|
|
215
|
+
// each Feature taking effect as it arrives, nothing replayed: a gesture or a drag (#551) starts then, and
|
|
216
|
+
// a layout node is made then (#582). A failed load is reported once. A server render loads nothing.
|
|
217
|
+
export function LazyWardic(props: {
|
|
218
|
+
/** Its Features: one, a list, or a function that loads them. Read once. */
|
|
219
|
+
readonly features: FeaturesProp
|
|
220
|
+
/** In development, a `wardic.*` element under it throws. Read once. */
|
|
221
|
+
readonly strict?: boolean | undefined
|
|
222
|
+
readonly children?: JSX.Element
|
|
223
|
+
}): JSX.Element {
|
|
224
|
+
const value = useContext(WardicContext)
|
|
225
|
+
const section = fromContext(value, "LazyWardic", (v) => sectionOf(v, useFeatureSection(), props))
|
|
226
|
+
return <FeatureSectionProvider value={section}>{props.children}</FeatureSectionProvider>
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
/**
|
|
230
|
+
* The Features an element has (#511): its section's, and those it brings, a Complete element's every
|
|
231
|
+
* one (`brings`), built at once. A Complete element under a `strict` section is an error in
|
|
232
|
+
* development. Internal.
|
|
233
|
+
*/
|
|
234
|
+
export function useElementFeatures(brings: ReadonlyArray<Feature> | undefined, complete: boolean): FeatureSection {
|
|
235
|
+
const section = useFeatureSection()
|
|
236
|
+
if (DEV && complete && section.strict) throw new Error(strictMessage("wardic.*, wardic.create, createWard, use:wardic", "w.*, w.create, w.createWard, use:w"))
|
|
237
|
+
if (Predicate.isUndefined(brings)) return section
|
|
238
|
+
const registry = useFeatureRegistry()
|
|
239
|
+
// A Complete element has every Feature, whatever its section has: one section per provider.
|
|
240
|
+
if (complete) return registry.section(brings)
|
|
241
|
+
const own = registry.build(brings)
|
|
242
|
+
return { services: () => Context.merge(section.services(), own), pending: section.pending, strict: section.strict }
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
/** The provider's Features (#511). Internal. */
|
|
246
|
+
export function useFeatureRegistry(): FeatureRegistry {
|
|
247
|
+
return fromContext(useContext(WardicContext), "useFeatureRegistry", (value) => value.features)
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
/**
|
|
251
|
+
* The services of `features`, which a hook or component brings (#511, decision 12) whatever its
|
|
252
|
+
* section has: built the first time they're read, on the client. `features` is a list the caller keeps,
|
|
253
|
+
* so its provider joins it once. Internal.
|
|
254
|
+
*/
|
|
255
|
+
export function useBrought(features: ReadonlyArray<Feature>): () => Context.Context<never> {
|
|
256
|
+
const registry = useFeatureRegistry()
|
|
257
|
+
return () => registry.build(features)
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
/**
|
|
261
|
+
* A server render's Appear animations (#48, ADR-0044), or `undefined`: on the client, outside a
|
|
262
|
+
* provider, or with `appear={false}`. Internal.
|
|
263
|
+
*/
|
|
264
|
+
export function useWardicAppear(): ServerAppear | undefined {
|
|
265
|
+
return UndefinedOr.match(useContext(WardicContext), { onUndefined: constUndefined, onDefined: (value) => value.appear })
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
/** The head's `<style>` for a render's Appear animations, or nothing when no element plays one. */
|
|
269
|
+
const appearStyle = (appear: ServerAppear): JSX.Element => {
|
|
270
|
+
const css = appear.css()
|
|
271
|
+
return Bool.match(css === "", { onTrue: () => undefined, onFalse: () => <style data-wardic-appear nonce={appear.nonce} innerHTML={css} /> })
|
|
272
|
+
}
|
|
273
|
+
|
|
274
|
+
/**
|
|
275
|
+
* The nearest `WardicProvider`'s Effect runtime, for running Effect code on Wardic's services: its
|
|
276
|
+
* clock, frame loop, renderer, probe and the rest. Throws outside a provider. During a server render
|
|
277
|
+
* it isn't built: hold it, but run on it only once the element has mounted.
|
|
278
|
+
*
|
|
279
|
+
* @example
|
|
280
|
+
* const runtime = useWardicRuntime()
|
|
281
|
+
* onMount(() => runtime.runFork(Effect.log("mounted")))
|
|
282
|
+
* @see https://wardic.dev/reference/solid/advanced/runtime
|
|
283
|
+
*/
|
|
284
|
+
// ADR-0021: a server builds no runtime, and DomLive refuses with its client-only error.
|
|
285
|
+
export function useWardicRuntime(): WardicRuntime {
|
|
286
|
+
return fromContext(useContext(WardicContext), "useWardicRuntime", (value) => value.runtime)
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
/**
|
|
290
|
+
* The nearest `WardicProvider`'s flush gate: what a binding registers its elements with, and writes
|
|
291
|
+
* their values into, committed once a frame. For building an element of your own on Wardic's
|
|
292
|
+
* rendering. Throws outside a provider; during a server render it's an inert gate that does nothing.
|
|
293
|
+
*
|
|
294
|
+
* @see https://wardic.dev/reference/solid/advanced/flush-gate
|
|
295
|
+
*/
|
|
296
|
+
// ADR-0006; inert on a server (ADR-0021, decision 9).
|
|
297
|
+
export function useWardicGate(): FlushGate.Shape {
|
|
298
|
+
return fromContext(useContext(WardicContext), "useWardicGate", (value) => value.gate)
|
|
299
|
+
}
|
|
300
|
+
|
|
301
|
+
/**
|
|
302
|
+
* Reads the Environment's Renderer (ADR-0003), read once by the provider: what an element and a
|
|
303
|
+
* presence project and commit through. Throws a clear, named error outside a `WardicProvider`.
|
|
304
|
+
* Internal: not exported from the package.
|
|
305
|
+
*/
|
|
306
|
+
export function useWardicRenderer(): Renderer.Renderer["Service"] {
|
|
307
|
+
return fromContext(useContext(WardicContext), "useWardicRenderer", (value) => value.renderer)
|
|
308
|
+
}
|
|
309
|
+
|
|
310
|
+
/**
|
|
311
|
+
* Reads the Environment's Positional keys (ADR-0036): which keys reduced motion Snaps. Throws a
|
|
312
|
+
* clear, named error outside a `WardicProvider`; during a server render, the transforms only.
|
|
313
|
+
* Internal: not exported from the package.
|
|
314
|
+
*/
|
|
315
|
+
export function useWardicPositionalKeys(): ReducedMotion.PositionalKeys["Service"] {
|
|
316
|
+
return fromContext(useContext(WardicContext), "useWardicPositionalKeys", (value) => value.positionalKeys)
|
|
317
|
+
}
|
|
318
|
+
|
|
319
|
+
/**
|
|
320
|
+
* Reads the Environment's Default transition (ADR-0051): what a key with no transition of its own
|
|
321
|
+
* runs on. Throws a clear, named error outside a `WardicProvider`. Internal: not exported from the
|
|
322
|
+
* package.
|
|
323
|
+
*/
|
|
324
|
+
export function useWardicDefaultTransition(): DefaultTransition.DefaultTransition["Service"] {
|
|
325
|
+
return fromContext(useContext(WardicContext), "useWardicDefaultTransition", (value) => value.defaultTransition)
|
|
326
|
+
}
|
|
327
|
+
|
|
328
|
+
/**
|
|
329
|
+
* Reads whether reduced motion applies now (ADR-0029): the nearest `WardicConfig`'s `reducedMotion`
|
|
330
|
+
* (#434), else the provider's, and the user's preference. Call the accessor when an animation starts. Throws a clear, named error
|
|
331
|
+
* outside a `WardicProvider`; during a server render it's always `false`. Internal: not exported
|
|
332
|
+
* from the package.
|
|
333
|
+
*/
|
|
334
|
+
export function useWardicReducedMotion(): () => boolean {
|
|
335
|
+
const config = useWardicConfig()
|
|
336
|
+
return fromContext(useContext(WardicContext), "useWardicReducedMotion", (value) => reducedMotionWith(value, config))
|
|
337
|
+
}
|
|
338
|
+
|
|
339
|
+
/**
|
|
340
|
+
* Whether the elements here skip their animations now (#468): the nearest `WardicConfig`'s
|
|
341
|
+
* `skipAnimations`, or the provider's Instant change while one runs (#443). Read when each starts.
|
|
342
|
+
* Internal.
|
|
343
|
+
*/
|
|
344
|
+
export function useWardicSkipAnimations(): () => boolean {
|
|
345
|
+
const config = skipAnimationsOf(useWardicConfig())
|
|
346
|
+
const value = useContext(WardicContext)
|
|
347
|
+
if (Predicate.isUndefined(value)) return config
|
|
348
|
+
const instant = value.instant
|
|
349
|
+
return () => Bool.or(instant.active(), config())
|
|
350
|
+
}
|
|
351
|
+
|
|
352
|
+
/**
|
|
353
|
+
* Makes a layout change land at once: `start(fn)` runs `fn`, and every layout element goes straight
|
|
354
|
+
* to its new box, a running layout animation ending there too. The change's other animations run as
|
|
355
|
+
* ever. `start()` with no function does the same for a change made later in the task. Motion's
|
|
356
|
+
* `useInstantLayoutTransition`. On a server it runs `fn`.
|
|
357
|
+
*
|
|
358
|
+
* @example
|
|
359
|
+
* const start = createInstantLayoutTransition()
|
|
360
|
+
* start(() => setOrder(sorted()))
|
|
361
|
+
* @see https://wardic.dev/reference/solid/layout/create-instant-layout-transition
|
|
362
|
+
*/
|
|
363
|
+
// #443: an Instant change of the layout, the projection system's `instant`.
|
|
364
|
+
export function createInstantLayoutTransition(): (fn?: () => void) => void {
|
|
365
|
+
return fromContext(useContext(WardicContext), "createInstantLayoutTransition", (value) => instantLayoutOf(() => value.projection))
|
|
366
|
+
}
|
|
367
|
+
|
|
368
|
+
/**
|
|
369
|
+
* Makes a change land at once, with no animation: `start(fn)` runs `fn`, and its layout change and
|
|
370
|
+
* every animation that starts until two frames after the call land where they're going. A later call
|
|
371
|
+
* extends it, and `start.end()` ends it now. For a change that shouldn't animate: a reset, a jump to
|
|
372
|
+
* a route. Motion's `useInstantTransition`.
|
|
373
|
+
*
|
|
374
|
+
* @example
|
|
375
|
+
* const start = createInstantTransition()
|
|
376
|
+
* <button onClick={() => start(() => setOpen(all))}>Open all</button>
|
|
377
|
+
* @see https://wardic.dev/reference/solid/layout/create-instant-transition
|
|
378
|
+
*/
|
|
379
|
+
// #443: an Instant change, each animation it covers a Skipped animation (#468); `start.end()` is
|
|
380
|
+
// Motion's `disableInstantTransitions`.
|
|
381
|
+
export function createInstantTransition(): InstantTransition {
|
|
382
|
+
return fromContext(useContext(WardicContext), "createInstantTransition", (value) => instantTransitionOf(() => value.projection, () => value.instant))
|
|
383
|
+
}
|
|
384
|
+
|
|
385
|
+
/**
|
|
386
|
+
* Starts layout animations afresh: `reset()` ends every running layout animation where the layout puts
|
|
387
|
+
* its element, lets go of every leaving `layoutId` element, and has the next measure take every box as
|
|
388
|
+
* it is, animating none. For a change that replaces the page wholesale. Motion's `useResetProjection`.
|
|
389
|
+
* On a server it does nothing.
|
|
390
|
+
*
|
|
391
|
+
* @example
|
|
392
|
+
* const reset = createResetProjection()
|
|
393
|
+
* const openWorkspace = (id: string) => {
|
|
394
|
+
* reset()
|
|
395
|
+
* setWorkspace(id)
|
|
396
|
+
* }
|
|
397
|
+
* @see https://wardic.dev/reference/solid/layout/create-reset-projection
|
|
398
|
+
*/
|
|
399
|
+
// #443: a Projection reset, the projection system's `reset`: leavers and Switch seeds dropped.
|
|
400
|
+
export function createResetProjection(): () => void {
|
|
401
|
+
return fromContext(useContext(WardicContext), "createResetProjection", (value) => resetOf(() => value.projection))
|
|
402
|
+
}
|
|
403
|
+
|
|
404
|
+
/**
|
|
405
|
+
* The reduced-motion setting that applies here (#443): the nearest `WardicConfig`'s `reducedMotion`,
|
|
406
|
+
* else the provider's, else `"user"`, each tracked (#584). Internal.
|
|
407
|
+
*/
|
|
408
|
+
export function useWardicReducedMotionSetting(): () => ReducedMotion.Config {
|
|
409
|
+
const config = useWardicConfig()
|
|
410
|
+
return fromContext(useContext(WardicContext), "useWardicReducedMotionSetting", (value) => reducedMotionSettingWith(value, config))
|
|
411
|
+
}
|
|
412
|
+
|
|
413
|
+
/**
|
|
414
|
+
* `read` of the nearest provider's context value, named `name` in the error outside one: for a hook in
|
|
415
|
+
* a module of its own (#548), such as `useWardicProjection`, which brings `layout`.
|
|
416
|
+
*/
|
|
417
|
+
export const fromWardicContext = <A,>(name: string, read: (value: WardicContextValue) => A): A => fromContext(useContext(WardicContext), name, read)
|
|
418
|
+
|
|
419
|
+
/**
|
|
420
|
+
* The provider's projection system once its `layout` Feature is built (#511), read as it's needed;
|
|
421
|
+
* `undefined` until then, and during a server render. For what brings no `layout` and works with the
|
|
422
|
+
* layout elements that are there: an element registering its values, a presence. Internal.
|
|
423
|
+
*/
|
|
424
|
+
export function useBuiltProjection(): () => ProjectionSystem.Shape | undefined {
|
|
425
|
+
return fromContext(useContext(WardicContext), "useBuiltProjection", (value) => () => value.projection)
|
|
426
|
+
}
|
|
427
|
+
|
|
428
|
+
/**
|
|
429
|
+
* Animates a layout change you make: `animateLayout(fn)` runs `fn`, and every layout element animates
|
|
430
|
+
* from where it was at the call to where the change puts it. For a change nothing else sees, such as a
|
|
431
|
+
* keyed `<For>` reordered or a plain element's class changed. `fn` runs at once, and `animateLayout`
|
|
432
|
+
* returns what it returns; `{ onSettled }` is called once the animations it started have ended. Only
|
|
433
|
+
* what `fn` changes synchronously animates. On a server it just runs `fn`. Throws outside a
|
|
434
|
+
* `WardicProvider`.
|
|
435
|
+
*
|
|
436
|
+
* @example
|
|
437
|
+
* const animateLayout = useAnimateLayout()
|
|
438
|
+
* const shuffle = () => animateLayout(() => setItems(shuffled(items())))
|
|
439
|
+
* @see https://wardic.dev/reference/solid/layout/use-animate-layout
|
|
440
|
+
*/
|
|
441
|
+
// #4, ADR-0038: a Declared layout change, from Measurements taken at the call; also for a change made
|
|
442
|
+
// after an untriggered one left a Measurement out of date. Calls in one task share the first call's
|
|
443
|
+
// Measurements. A promise `fn` returns isn't awaited, and logs a warning.
|
|
444
|
+
export function useAnimateLayout(): AnimateLayout {
|
|
445
|
+
return animateLayoutOf(useContext(WardicContext))
|
|
446
|
+
}
|
|
447
|
+
|
|
448
|
+
/**
|
|
449
|
+
* Runs `effect` on `runtime`, and interrupts it as the current owner is cleaned up, its Scope closed
|
|
450
|
+
* with it. Returns its fiber. A failure is logged and reported to the Environment's error reporters;
|
|
451
|
+
* an interruption is neither. On a server it starts nothing, and while hydrating it starts at mount.
|
|
452
|
+
* Call it within a Solid owner.
|
|
453
|
+
*
|
|
454
|
+
* @example
|
|
455
|
+
* runScoped(runtime, Stream.runForEach(ticks, (t) => Effect.sync(() => setTick(t))))
|
|
456
|
+
* @see https://wardic.dev/reference/solid/advanced/runtime
|
|
457
|
+
*/
|
|
458
|
+
// ADR-0006: the per-element fiber lifecycle; a failure is `wardic.runScoped: a fiber failed`
|
|
459
|
+
// (ADR-0030, decision 4); the Hydration hold (ADR-0021 decisions 8 and 9).
|
|
460
|
+
export function runScoped<A, E>(
|
|
461
|
+
runtime: WardicRuntime,
|
|
462
|
+
effect: Effect.Effect<A, E, WardicServices>,
|
|
463
|
+
): Fiber.Fiber<A, E> {
|
|
464
|
+
// A server render starts nothing (ADR-0021, decision 9): a fiber already ended by
|
|
465
|
+
// interruption, so joining it never hangs, and the runtime stays unbuilt.
|
|
466
|
+
if (isServer) return interrupted<A, E>()
|
|
467
|
+
const run = reported(effect)
|
|
468
|
+
if (isHydrating()) {
|
|
469
|
+
// Hydration hold: a real fiber now, whose effect starts at mount (once the latch
|
|
470
|
+
// opens), so nothing it writes can change what the hydration render shows.
|
|
471
|
+
const latch = Latch.makeUnsafe(false)
|
|
472
|
+
const held = runtime.runFork(Effect.andThen(latch.await, run))
|
|
473
|
+
onMount(() => {
|
|
474
|
+
latch.openUnsafe()
|
|
475
|
+
})
|
|
476
|
+
onCleanup(() => held.interruptUnsafe())
|
|
477
|
+
return held
|
|
478
|
+
}
|
|
479
|
+
const fiber = runtime.runFork(run)
|
|
480
|
+
// Interrupted where the cleanup runs, nothing waiting on its end, as `runCallback`'s interruptor
|
|
481
|
+
// does: a forked `Fiber.interrupt` was a fiber of its own for each (#618, L2).
|
|
482
|
+
onCleanup(() => fiber.interruptUnsafe())
|
|
483
|
+
return fiber
|
|
484
|
+
}
|
|
485
|
+
|
|
486
|
+
/**
|
|
487
|
+
* Runs a gesture watch (#318, ADR-0055) in a Scope of its own, closed when the current owner is
|
|
488
|
+
* disposed: subscribed at once, with no fiber. A throw from its handler is logged at Error and
|
|
489
|
+
* reported to the Environment's `ErrorReporter`s, as a fiber's failure is (ADR-0030, decision 4),
|
|
490
|
+
* and the watch goes on. A server render starts nothing; while hydrating it starts at mount (the
|
|
491
|
+
* Hydration hold, ADR-0021 decisions 8 and 9). Must be called within a Solid owner.
|
|
492
|
+
*/
|
|
493
|
+
export function runWatch(
|
|
494
|
+
runtime: WardicRuntime,
|
|
495
|
+
watch: (onDefect: InputFeed.OnDefect) => Effect.Effect<void, never, Scope.Scope | WardicServices>,
|
|
496
|
+
): void {
|
|
497
|
+
if (isServer) return
|
|
498
|
+
const scope = OwnerScope.open(runtime)
|
|
499
|
+
// Closed with the owner, set before the watch starts, so one that throws as it subscribes leaves no
|
|
500
|
+
// listener behind (#618, decision 5).
|
|
501
|
+
onCleanup(() => OwnerScope.close(runtime, scope, "wardic.runWatch: a finalizer failed"))
|
|
502
|
+
const onDefect = (cause: Cause.Cause<never>): void => {
|
|
503
|
+
runtime.runFork(Report.failure("wardic.runWatch: a gesture handler failed", cause))
|
|
504
|
+
}
|
|
505
|
+
const start = (): void => {
|
|
506
|
+
runtime.runSync(watch(onDefect).pipe(Scope.provide(scope)))
|
|
507
|
+
}
|
|
508
|
+
Bool.match(isHydrating(), { onTrue: () => onMount(start), onFalse: start })
|
|
509
|
+
}
|
|
510
|
+
|
|
511
|
+
/**
|
|
512
|
+
* Runs the Effect `effectThunk` makes on the provider's runtime, as `runScoped` does, until the
|
|
513
|
+
* current owner is cleaned up. The thunk is called once; not on a server. Returns its fiber.
|
|
514
|
+
*
|
|
515
|
+
* @example
|
|
516
|
+
* useWardicFiber(() => Stream.runForEach(ticks, (t) => Effect.sync(() => setTick(t))))
|
|
517
|
+
* @see https://wardic.dev/reference/solid/advanced/runtime
|
|
518
|
+
*/
|
|
519
|
+
export function useWardicFiber<A, E>(
|
|
520
|
+
effectThunk: () => Effect.Effect<A, E, WardicServices>,
|
|
521
|
+
): Fiber.Fiber<A, E> {
|
|
522
|
+
const runtime = useWardicRuntime()
|
|
523
|
+
// On a server the thunk isn't evaluated: it may read services (ADR-0021, decision 9).
|
|
524
|
+
if (isServer) return interrupted<A, E>()
|
|
525
|
+
return runScoped(runtime, effectThunk())
|
|
526
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The few reactive primitives the Solid-free modules take from a binding's Solid (#209): the Solid 1
|
|
3
|
+
* binding's (`./solid-reactivity.ts`) or the Solid 2 one's (`./unstable/v2/solid-reactivity.ts`).
|
|
4
|
+
* A module that takes one never imports Solid, so both bindings run the same code.
|
|
5
|
+
*
|
|
6
|
+
* @module
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
/** A value read through a function: a signal, a memo, a getter. */
|
|
10
|
+
export type Accessor<A> = () => A
|
|
11
|
+
|
|
12
|
+
/** A change notice: the computation that calls `track` re-runs on each `notify`. */
|
|
13
|
+
export interface Trigger {
|
|
14
|
+
readonly track: () => void
|
|
15
|
+
readonly notify: () => void
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
/** A binding's reactive primitives, as the Solid-free modules use them. */
|
|
19
|
+
export interface Reactivity {
|
|
20
|
+
/** Runs `fn` without tracking what it reads. */
|
|
21
|
+
readonly untrack: <A>(fn: () => A) => A
|
|
22
|
+
/** A {@link Trigger}, made under the current owner. Its `notify` may be called from anywhere. */
|
|
23
|
+
readonly trigger: () => Trigger
|
|
24
|
+
/**
|
|
25
|
+
* Calls `onChange` with each later value of `accessor`, not its first, until the returned stop.
|
|
26
|
+
* In a root of its own, which no owner disposes.
|
|
27
|
+
*/
|
|
28
|
+
readonly watch: <A>(accessor: Accessor<A>, onChange: (value: A) => void) => () => void
|
|
29
|
+
}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A Reorder item's input (ADR-0037), Solid-free (#379): its keys, blurs and presses told to its driver
|
|
3
|
+
* by watches while a Scope is open, each inside its event, with no fiber at rest. Both bindings run it
|
|
4
|
+
* in the item's watch Scope (ADR-0055, *Amendment (#379)*).
|
|
5
|
+
*
|
|
6
|
+
* @module
|
|
7
|
+
*/
|
|
8
|
+
import * as InputFeed from "@wardic/core/InputFeed"
|
|
9
|
+
import * as InputSource from "@wardic/core/InputSource"
|
|
10
|
+
import type * as ReorderController from "@wardic/dom/ReorderController"
|
|
11
|
+
import * as Report from "@wardic/dom/Report"
|
|
12
|
+
import * as Bool from "effect/Boolean"
|
|
13
|
+
import * as Effect from "effect/Effect"
|
|
14
|
+
import type * as Scope from "effect/Scope"
|
|
15
|
+
|
|
16
|
+
/** A Primary pointer's down: a press the driver hears. */
|
|
17
|
+
const isPress = (event: InputSource.PointerLikeEvent): boolean => Bool.and(event.type === "down", InputSource.isPrimaryPointer(event))
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Watch an item's keys, blurs and presses for its driver (ADR-0037, #379) while the Scope is open: its
|
|
21
|
+
* keys inside their dispatch, so the reorder's `handle()` (the page's `preventDefault`) counts. A blur
|
|
22
|
+
* is judged after this task's own work, one scheduler hop on (#318): a reorder can blur the node it
|
|
23
|
+
* moves and puts focus back after (the driver's `keepFocus`). So `fork` runs that hop on the provider
|
|
24
|
+
* runtime, only when a blur happens, and a blur whose judging fails is reported. A throw from the
|
|
25
|
+
* driver inside an event goes to `onDefect`.
|
|
26
|
+
*/
|
|
27
|
+
export const watchItemInput = (
|
|
28
|
+
el: HTMLElement,
|
|
29
|
+
driver: ReorderController.ItemDriver,
|
|
30
|
+
fork: (effect: Effect.Effect<void>) => void,
|
|
31
|
+
onDefect: InputFeed.OnDefect,
|
|
32
|
+
): Effect.Effect<void, never, Scope.Scope | InputSource.InputSource> => {
|
|
33
|
+
const judgeBlur = Effect.andThen(Effect.yieldNow, Effect.sync(() => driver.onBlur())).pipe(
|
|
34
|
+
Effect.catchCause((cause) => Report.failure("wardic.reorder: judging an item's blur failed", cause)),
|
|
35
|
+
)
|
|
36
|
+
return Effect.gen(function* () {
|
|
37
|
+
const input = yield* InputSource.InputSource
|
|
38
|
+
yield* InputFeed.watch(input.keyboard(el), { on: (event) => driver.onKey(event), onDefect })
|
|
39
|
+
yield* InputFeed.watch(input.focus(el), {
|
|
40
|
+
on: (event) => {
|
|
41
|
+
// The item's own blur: one inside it (#439) leaves it focused.
|
|
42
|
+
if (Bool.and(event.type === "blur", event.fromTarget !== false)) fork(judgeBlur)
|
|
43
|
+
},
|
|
44
|
+
onDefect,
|
|
45
|
+
})
|
|
46
|
+
yield* InputFeed.watch(input.pointer(el), {
|
|
47
|
+
on: (event) => {
|
|
48
|
+
if (isPress(event)) driver.onPress()
|
|
49
|
+
},
|
|
50
|
+
onDefect,
|
|
51
|
+
})
|
|
52
|
+
})
|
|
53
|
+
}
|