@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/feature.ts
ADDED
|
@@ -0,0 +1,342 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* **Features** (#511, ADR-0067): the parts of the binding an element pays for only when it needs them,
|
|
3
|
+
* for the Solid 1 binding and the Solid 2 one alike. Solid-free: each binding's `WardicProvider`,
|
|
4
|
+
* `LazyWardic` and elements read them through it.
|
|
5
|
+
*
|
|
6
|
+
* Each Feature is an Effect `Layer` (ADR-0067, *Features are Layers*): its services, built once per
|
|
7
|
+
* provider into the provider's runtime's `MemoMap` (`Layer.buildWithMemoMap`), so a Layer two Features
|
|
8
|
+
* share is built once, and ended with the provider. A Feature that arrives late, loaded lazily, is built
|
|
9
|
+
* the same way when it arrives: the runtime, made once, needn't change. A section of the tree (its
|
|
10
|
+
* `WardicProvider`, each `LazyWardic`) holds the services of the Features it has, a `Context`, joined
|
|
11
|
+
* with its parent's; an element looks a Feature up there.
|
|
12
|
+
*
|
|
13
|
+
* @module
|
|
14
|
+
*/
|
|
15
|
+
import * as Color from "@wardic/dom/Color"
|
|
16
|
+
import * as Report from "@wardic/dom/Report"
|
|
17
|
+
import * as Arr from "effect/Array"
|
|
18
|
+
import * as Cause from "effect/Cause"
|
|
19
|
+
import * as Context from "effect/Context"
|
|
20
|
+
import * as Effect from "effect/Effect"
|
|
21
|
+
import * as Exit from "effect/Exit"
|
|
22
|
+
import { constFalse, constVoid, identity } from "effect/Function"
|
|
23
|
+
import * as Layer from "effect/Layer"
|
|
24
|
+
import type * as ManagedRuntime from "effect/ManagedRuntime"
|
|
25
|
+
import * as Option from "effect/Option"
|
|
26
|
+
import * as Predicate from "effect/Predicate"
|
|
27
|
+
import * as UndefinedOr from "effect/UndefinedOr"
|
|
28
|
+
import * as OwnerScope from "./owner-scope.ts"
|
|
29
|
+
import type { Reactivity } from "./reactivity.ts"
|
|
30
|
+
import type { ProviderRuntime, ProviderServices, WardicServices } from "./runtime.ts"
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* A **Feature**: its name, the key of the service its Layer gives (what an element looks up),
|
|
34
|
+
* and that Layer, built on the provider's runtime: its Environment, its flush gate and its projection
|
|
35
|
+
* options. `server` is what a server render, which builds no runtime, does with it: the
|
|
36
|
+
* `colors` Feature registers its colour spaces there too, as the render reads colours; the rest do
|
|
37
|
+
* nothing.
|
|
38
|
+
*/
|
|
39
|
+
export interface Feature<I = any, S = any> {
|
|
40
|
+
readonly name: string
|
|
41
|
+
readonly key: Context.Key<I, S>
|
|
42
|
+
readonly layer: Layer.Layer<I, never, ProviderServices>
|
|
43
|
+
readonly server?: (() => void) | undefined
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
/** Features as an app gives them: one, or a list, a preset's nested in it (`[domAnimation, layout]`). */
|
|
47
|
+
export type Features = Feature | ReadonlyArray<Features>
|
|
48
|
+
|
|
49
|
+
/** Features loaded lazily: `() => import("./features.ts").then((m) => m.domMax)`. */
|
|
50
|
+
export type FeatureLoad = () => Promise<Features>
|
|
51
|
+
|
|
52
|
+
/** Features given to a `WardicProvider` or a `LazyWardic`: at once, or loaded lazily. */
|
|
53
|
+
export type FeaturesProp = Features | FeatureLoad
|
|
54
|
+
|
|
55
|
+
/** Features as one flat list, each once, in order. */
|
|
56
|
+
export const flatten = (features: Features): ReadonlyArray<Feature> => Arr.dedupeWith(flattenInto(features), (a, b) => a === b)
|
|
57
|
+
|
|
58
|
+
const flattenInto = (features: Features): ReadonlyArray<Feature> => {
|
|
59
|
+
if (isFeature(features)) return [features]
|
|
60
|
+
return Arr.flatMap(features as ReadonlyArray<Features>, flattenInto)
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
const isFeature = (value: Features): value is Feature => Predicate.hasProperty(value, "layer")
|
|
64
|
+
|
|
65
|
+
/** Whether a `features` prop loads lazily: a function, where Features are values. */
|
|
66
|
+
export const isLoad = (prop: FeaturesProp): prop is FeatureLoad => Predicate.isFunction(prop)
|
|
67
|
+
|
|
68
|
+
/** No Features. */
|
|
69
|
+
export const NONE: Context.Context<never> = Context.empty()
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* A section of the tree's Features (#511): a `WardicProvider`'s, a `LazyWardic`'s, or an element's,
|
|
73
|
+
* each its own joined with its parent's. Each binding makes its sections with its own signals.
|
|
74
|
+
*/
|
|
75
|
+
export interface FeatureSection {
|
|
76
|
+
/** The services of the Features it has now. Tracked: a lazy one arriving changes it. */
|
|
77
|
+
readonly services: () => Context.Context<never>
|
|
78
|
+
/** Whether a lazy load of its own or a parent's is still on its way: no missing-Feature warning while one is. */
|
|
79
|
+
readonly pending: () => boolean
|
|
80
|
+
/** Whether it, or a section above it, is `strict`: a Complete element under it is an error in development. */
|
|
81
|
+
readonly strict: boolean
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
/** Outside every provider, and above each provider's own: no Features, nothing on its way, not strict. */
|
|
85
|
+
export const ROOT: FeatureSection = { services: () => NONE, pending: constFalse, strict: false }
|
|
86
|
+
|
|
87
|
+
/** What a section takes from its binding: its reactivity, whether it renders on a server, and its owner's cleanup. */
|
|
88
|
+
export interface SectionHost {
|
|
89
|
+
readonly reactivity: Reactivity
|
|
90
|
+
readonly server: boolean
|
|
91
|
+
readonly onCleanup: (fn: () => void) => void
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
/**
|
|
95
|
+
* A section under `parent` with `prop`'s Features (#511):
|
|
96
|
+
* - **Given at once**, they're built on first need, the first time an element in it asks (#51: a
|
|
97
|
+
* provider with no element under it builds nothing); a server render runs their `server` part at
|
|
98
|
+
* once, as its elements may read what it registers.
|
|
99
|
+
* - **Loaded lazily** (decision 8), the load starts now on the client and they're built as they
|
|
100
|
+
* arrive, from then on; `pending` until it settles. A failed load is `report`ed, once. A server
|
|
101
|
+
* render loads nothing: it renders as it would without them.
|
|
102
|
+
*
|
|
103
|
+
* Its services join its own and its parent's, joined again only when either changes.
|
|
104
|
+
*/
|
|
105
|
+
export const makeSection = (
|
|
106
|
+
parent: FeatureSection,
|
|
107
|
+
registry: FeatureRegistry,
|
|
108
|
+
prop: FeaturesProp | undefined,
|
|
109
|
+
strict: boolean,
|
|
110
|
+
report: (cause: Cause.Cause<unknown>) => void,
|
|
111
|
+
host: SectionHost,
|
|
112
|
+
): FeatureSection => {
|
|
113
|
+
const own = ownOf(registry, prop, report, host)
|
|
114
|
+
let last: { readonly parent: Context.Context<never>; readonly own: Context.Context<never>; readonly joined: Context.Context<never> } | undefined
|
|
115
|
+
const services = (): Context.Context<never> => {
|
|
116
|
+
const above = parent.services()
|
|
117
|
+
const mine = own.services()
|
|
118
|
+
if (Predicate.isNotUndefined(last) && last.parent === above && last.own === mine) return last.joined
|
|
119
|
+
const joined = Context.merge(above, mine)
|
|
120
|
+
last = { parent: above, own: mine, joined }
|
|
121
|
+
return joined
|
|
122
|
+
}
|
|
123
|
+
return { services, pending: () => own.pending() || parent.pending(), strict: strict || parent.strict }
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
/** A section's own Features: their services and whether they're on their way. */
|
|
127
|
+
interface Own {
|
|
128
|
+
readonly services: () => Context.Context<never>
|
|
129
|
+
readonly pending: () => boolean
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
const NO_OWN: Own = { services: () => NONE, pending: constFalse }
|
|
133
|
+
|
|
134
|
+
const ownOf = (registry: FeatureRegistry, prop: FeaturesProp | undefined, report: (cause: Cause.Cause<unknown>) => void, host: SectionHost): Own => {
|
|
135
|
+
if (Predicate.isUndefined(prop)) return NO_OWN
|
|
136
|
+
if (isLoad(prop)) return loaded(registry, prop, report, host)
|
|
137
|
+
const features = flatten(prop)
|
|
138
|
+
if (host.server) registry.build(features)
|
|
139
|
+
let built: Context.Context<never> | undefined
|
|
140
|
+
return {
|
|
141
|
+
services: () =>
|
|
142
|
+
UndefinedOr.match(built, {
|
|
143
|
+
onDefined: identity,
|
|
144
|
+
onUndefined: () => {
|
|
145
|
+
built = registry.build(features)
|
|
146
|
+
return built
|
|
147
|
+
},
|
|
148
|
+
}),
|
|
149
|
+
pending: constFalse,
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
/** Features loaded lazily: none until they arrive, which a trigger tells; on the client only. */
|
|
154
|
+
const loaded = (registry: FeatureRegistry, load: FeatureLoad, report: (cause: Cause.Cause<unknown>) => void, host: SectionHost): Own => {
|
|
155
|
+
if (host.server) return NO_OWN
|
|
156
|
+
const changed = host.reactivity.trigger()
|
|
157
|
+
let services = NONE
|
|
158
|
+
let pending = true
|
|
159
|
+
let live = true
|
|
160
|
+
host.onCleanup(() => {
|
|
161
|
+
live = false
|
|
162
|
+
})
|
|
163
|
+
load().then(
|
|
164
|
+
(features) => {
|
|
165
|
+
if (!live) return
|
|
166
|
+
services = registry.build(flatten(features))
|
|
167
|
+
pending = false
|
|
168
|
+
changed.notify()
|
|
169
|
+
},
|
|
170
|
+
(error: unknown) => {
|
|
171
|
+
if (!live) return
|
|
172
|
+
pending = false
|
|
173
|
+
changed.notify()
|
|
174
|
+
report(Cause.die(error))
|
|
175
|
+
},
|
|
176
|
+
)
|
|
177
|
+
return {
|
|
178
|
+
services: () => {
|
|
179
|
+
changed.track()
|
|
180
|
+
return services
|
|
181
|
+
},
|
|
182
|
+
pending: () => {
|
|
183
|
+
changed.track()
|
|
184
|
+
return pending
|
|
185
|
+
},
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
/**
|
|
190
|
+
* A provider's Features: each built once, on first need, and every list it's asked for joined once.
|
|
191
|
+
* `build` is synchronous; a Feature's Layer that can't build at once is a defect.
|
|
192
|
+
*/
|
|
193
|
+
export interface FeatureRegistry {
|
|
194
|
+
/** The services of `features`, each Feature built the first time it's asked for. */
|
|
195
|
+
readonly build: (features: ReadonlyArray<Feature>) => Context.Context<never>
|
|
196
|
+
/** A section of exactly `features`, nothing on its way: one per list, a Complete element's (#511). */
|
|
197
|
+
readonly section: (features: ReadonlyArray<Feature>) => FeatureSection
|
|
198
|
+
/**
|
|
199
|
+
* The services of every Feature built so far, whichever section asked: what a part of the provider
|
|
200
|
+
* that brings no Feature works with when one is there (the projection system, for a presence).
|
|
201
|
+
*/
|
|
202
|
+
readonly built: () => Context.Context<never>
|
|
203
|
+
/** Logs `message` at Warning the first time `feature` is named: development's word on a missing Feature. */
|
|
204
|
+
readonly warnOnce: (feature: string, message: string) => void
|
|
205
|
+
/** Ends every Feature built, the provider's runtime after (a Feature's Layer may stand on it). */
|
|
206
|
+
readonly dispose: () => Promise<void>
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
/** A registry's sections of exactly a list, one per list, and its warnings, one per Feature. */
|
|
210
|
+
const sectionsAndWarnings = (build: (features: ReadonlyArray<Feature>) => Context.Context<never>, warn: (message: string) => void) => {
|
|
211
|
+
const sections = new WeakMap<ReadonlyArray<Feature>, FeatureSection>()
|
|
212
|
+
const warned = new Set<string>()
|
|
213
|
+
return {
|
|
214
|
+
section: (features: ReadonlyArray<Feature>): FeatureSection =>
|
|
215
|
+
UndefinedOr.match(sections.get(features), {
|
|
216
|
+
onDefined: identity,
|
|
217
|
+
onUndefined: () => {
|
|
218
|
+
const services = build(features)
|
|
219
|
+
const section: FeatureSection = { services: () => services, pending: constFalse, strict: false }
|
|
220
|
+
sections.set(features, section)
|
|
221
|
+
return section
|
|
222
|
+
},
|
|
223
|
+
}),
|
|
224
|
+
warnOnce: (feature: string, message: string): void => {
|
|
225
|
+
if (warned.has(feature)) return
|
|
226
|
+
warned.add(feature)
|
|
227
|
+
warn(message)
|
|
228
|
+
},
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
/**
|
|
233
|
+
* A client provider's Features (#511): built into `runtime`'s `MemoMap` in a Scope of their own, a child
|
|
234
|
+
* of the runtime's that closes before its Layers do, so a Feature ends before the Environment it stands
|
|
235
|
+
* on. A list asked for again (the Complete element's every Feature) is joined once.
|
|
236
|
+
*/
|
|
237
|
+
// #618 (decision 4): the Scope was detached, closed by `dispose` before the runtime's, and a failing
|
|
238
|
+
// Feature finalizer skipped the runtime's disposal. A child forked after `ManagedRuntime.make`'s own
|
|
239
|
+
// closes first in its Scope's reverse order.
|
|
240
|
+
export const clientRegistry = (runtime: ProviderRuntime): FeatureRegistry => {
|
|
241
|
+
const scope = OwnerScope.open(runtime)
|
|
242
|
+
const built = new Map<Feature, Context.Context<never>>()
|
|
243
|
+
const lists = new WeakMap<ReadonlyArray<Feature>, Context.Context<never>>()
|
|
244
|
+
let all = NONE
|
|
245
|
+
const one = (feature: Feature): Context.Context<never> =>
|
|
246
|
+
UndefinedOr.match(built.get(feature), {
|
|
247
|
+
onDefined: (services) => services,
|
|
248
|
+
onUndefined: () => {
|
|
249
|
+
const services = runtime.runSync(Layer.buildWithMemoMap(feature.layer, runtime.memoMap, scope)) as Context.Context<never>
|
|
250
|
+
built.set(feature, services)
|
|
251
|
+
all = Context.merge(all, services)
|
|
252
|
+
return services
|
|
253
|
+
},
|
|
254
|
+
})
|
|
255
|
+
const build = (features: ReadonlyArray<Feature>): Context.Context<never> =>
|
|
256
|
+
UndefinedOr.match(lists.get(features), {
|
|
257
|
+
onDefined: (services) => services,
|
|
258
|
+
onUndefined: () => {
|
|
259
|
+
const services = Arr.reduce(features, NONE, (joined, feature) => Context.merge(joined, one(feature)))
|
|
260
|
+
lists.set(features, services)
|
|
261
|
+
return services
|
|
262
|
+
},
|
|
263
|
+
})
|
|
264
|
+
return {
|
|
265
|
+
build,
|
|
266
|
+
built: () => all,
|
|
267
|
+
...sectionsAndWarnings(build, (message) => {
|
|
268
|
+
runtime.runFork(Effect.logWarning(message))
|
|
269
|
+
}),
|
|
270
|
+
dispose: () => disposeReported(runtime),
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
|
|
274
|
+
/**
|
|
275
|
+
* Disposes `runtime`, its Features first. A finalizer that fails is logged and reported, through the
|
|
276
|
+
* `ErrorReporter`s its Environment had, once the runtime has gone, and the rest still run: the promise
|
|
277
|
+
* never rejects.
|
|
278
|
+
*/
|
|
279
|
+
const disposeReported = (runtime: ProviderRuntime): Promise<void> => {
|
|
280
|
+
// Read before it goes: its reporters are in it. Unbuilt, there's none, and a report is logged only.
|
|
281
|
+
const context = runtime.cachedContext
|
|
282
|
+
return Effect.runPromiseExit(runtime.disposeEffect).then((exit) => {
|
|
283
|
+
if (Exit.isSuccess(exit)) return
|
|
284
|
+
const report = Report.failure("wardic.provider: a finalizer failed as it was disposed", exit.cause)
|
|
285
|
+
return Effect.runPromise(UndefinedOr.match(context, { onUndefined: () => report, onDefined: (services) => Effect.provideContext(report, services) }))
|
|
286
|
+
})
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
/**
|
|
290
|
+
* A server render's Features (ADR-0021): none built, as no runtime is; each one's `server` run once,
|
|
291
|
+
* the first time it's asked for. Disposing disposes the unbuilt runtime, as on unmount.
|
|
292
|
+
*/
|
|
293
|
+
export const serverRegistry = (runtime: ManagedRuntime.ManagedRuntime<WardicServices, never>): FeatureRegistry => {
|
|
294
|
+
const ran = new Set<Feature>()
|
|
295
|
+
const build = (features: ReadonlyArray<Feature>): Context.Context<never> => {
|
|
296
|
+
Arr.forEach(features, (feature) => {
|
|
297
|
+
if (ran.has(feature)) return
|
|
298
|
+
ran.add(feature)
|
|
299
|
+
UndefinedOr.map(feature.server, (server) => server())
|
|
300
|
+
})
|
|
301
|
+
return NONE
|
|
302
|
+
}
|
|
303
|
+
// A server render says nothing: the client, rendering the same, does.
|
|
304
|
+
return { build, built: () => NONE, ...sectionsAndWarnings(build, constVoid), dispose: () => runtime.dispose() }
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
/**
|
|
308
|
+
* A CSS function naming a colour space only the `colors` Feature reads: `oklch()`, `oklab()`, `lab()`,
|
|
309
|
+
* `lch()`, `hwb()`, and `color()` in any space but `srgb`, which the base reads.
|
|
310
|
+
*/
|
|
311
|
+
const WIDE_GAMUT = /^\s*(?:(?:oklch|oklab|lab|lch|hwb)\(|color\(\s*(?!srgb\s))/i
|
|
312
|
+
|
|
313
|
+
/**
|
|
314
|
+
* The first of `values` that only the `colors` Feature would read as a colour (#511, decision 7): a
|
|
315
|
+
* string naming a wide-gamut space, while no space beyond sRGB's is registered on the page.
|
|
316
|
+
* `undefined` when there's none. Asked of the page, not of an element's Features: culori's spaces are
|
|
317
|
+
* the page's, so one registered by any provider is read by every element (`features/colors.ts`).
|
|
318
|
+
*/
|
|
319
|
+
export const unreadColorIn = (values: Readonly<Record<string, unknown>>): string | undefined => {
|
|
320
|
+
if (Color.spacesRegistered()) return undefined
|
|
321
|
+
return Arr.findFirst(Object.values(values), (value): value is string => Predicate.isString(value) && WIDE_GAMUT.test(value)).pipe(Option.getOrUndefined)
|
|
322
|
+
}
|
|
323
|
+
|
|
324
|
+
/**
|
|
325
|
+
* Development's word on a Complete element under a `strict` section (#511, ADR-0067 decision 7,
|
|
326
|
+
* Motion's), naming the binding's `complete` forms and the `slim` ones to use.
|
|
327
|
+
*/
|
|
328
|
+
export const strictMessage = (complete: string, slim: string): string =>
|
|
329
|
+
`wardic: a Complete element (${complete}) is rendered under a strict WardicProvider or LazyWardic. ` +
|
|
330
|
+
`It brings every Feature's code with it; render the Slim element (${slim}) instead.`
|
|
331
|
+
|
|
332
|
+
/** What development's word on a missing `layout` Feature names (#511): the props that need it. */
|
|
333
|
+
export const LAYOUT_PROPS = "A layout prop (`layout`, `layoutId`, `layoutScroll` or `layoutRoot`)"
|
|
334
|
+
|
|
335
|
+
/**
|
|
336
|
+
* Development's word on a missing Feature (#511, ADR-0067 decision 7): what needed it, its import from
|
|
337
|
+
* the binding's `entry`, and where to add it. Not a Complete element, which a `strict` section makes
|
|
338
|
+
* an error (#581).
|
|
339
|
+
*/
|
|
340
|
+
export const missingMessage = (feature: string, what: string, entry: string): string =>
|
|
341
|
+
`wardic: ${what} needs the \`${feature}\` Feature, which no WardicProvider or LazyWardic above this element has. ` +
|
|
342
|
+
`Add it: \`import { ${feature} } from "${entry}"\`, then \`<WardicProvider features={[${feature}]}>\` or \`<LazyWardic features={[${feature}]}>\`.`
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Every **Feature** (#511, ADR-0067 decision 2): what a **Complete element** has, and so what its forms
|
|
3
|
+
* (`wardic.*`, `wardic.create`, `createWard`, `use:wardic`, Solid 2's `ward()`) import. A Slim element's
|
|
4
|
+
* forms never do.
|
|
5
|
+
*
|
|
6
|
+
* @module
|
|
7
|
+
*/
|
|
8
|
+
import type { Feature } from "../feature.ts"
|
|
9
|
+
import { colors } from "./colors.ts"
|
|
10
|
+
import { drag } from "./drag.ts"
|
|
11
|
+
import { focus } from "./focus.ts"
|
|
12
|
+
import { hover } from "./hover.ts"
|
|
13
|
+
import { inView } from "./in-view.ts"
|
|
14
|
+
import { layout } from "./layout.ts"
|
|
15
|
+
import { pan } from "./pan.ts"
|
|
16
|
+
import { press } from "./press.ts"
|
|
17
|
+
|
|
18
|
+
export const ALL: ReadonlyArray<Feature> = [colors, layout, hover, press, focus, inView, pan, drag]
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The **`colors` Feature** (#511, ADR-0067 decision 5), in a module of its own: an app that never
|
|
3
|
+
* imports it ships none of its colour spaces. Its top-level calls are marked pure: without the marks,
|
|
4
|
+
* Rollup kept `registerSpaces` and every space's definition for the callback `Effect.sync` is given,
|
|
5
|
+
* though nothing of the module's was emitted (1 KB gzipped on a Slim element's app).
|
|
6
|
+
*
|
|
7
|
+
* @module
|
|
8
|
+
*/
|
|
9
|
+
import * as InterpolatorRegistry from "@wardic/core/InterpolatorRegistry"
|
|
10
|
+
import * as Color from "@wardic/dom/Color"
|
|
11
|
+
import * as Effect from "effect/Effect"
|
|
12
|
+
import * as Layer from "effect/Layer"
|
|
13
|
+
import type { Feature } from "../feature.ts"
|
|
14
|
+
import { Colors } from "./keys.ts"
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Every CSS colour space beyond a hex, `rgb()`, `hsl()` and the colour names, which every element
|
|
18
|
+
* reads: `oklch()`, `lab()`, `lch()`, `oklab()`, `hwb()` and `color()`'s spaces (`display-p3`,
|
|
19
|
+
* `rec2020` …). Blends don't change: every colour blends in sRGB. culori
|
|
20
|
+
* keeps its spaces in one registry for the page, so once one provider, or a server render, registers
|
|
21
|
+
* them, every element on the page reads them; a pair another provider resolved before stays as it
|
|
22
|
+
* was resolved there.
|
|
23
|
+
*/
|
|
24
|
+
export const colors: Feature<Colors, true> = {
|
|
25
|
+
name: "colors",
|
|
26
|
+
key: Colors,
|
|
27
|
+
// The provider's registry forgets the pairs it resolved before: one with a wide-gamut colour read as
|
|
28
|
+
// a complex value then is a colour from now on (decision 8, "from then on").
|
|
29
|
+
layer: /*#__PURE__*/ Layer.effect(Colors)(
|
|
30
|
+
/*#__PURE__*/ Effect.flatMap(InterpolatorRegistry.InterpolatorRegistry, (registry) => {
|
|
31
|
+
Color.registerSpaces()
|
|
32
|
+
return Effect.as(registry.forget, true as const)
|
|
33
|
+
}),
|
|
34
|
+
),
|
|
35
|
+
server: Color.registerSpaces,
|
|
36
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Motion's `domAnimation` bundle (#511, ADR-0067 decision 3), as a list of Features: give it where a
|
|
3
|
+
* list goes (`features={domAnimation}`, or nested, `features={[domAnimation, layout]}`). In a module
|
|
4
|
+
* apart from `domMax` (#548), so a page given `domAnimation` never ships `domMax`'s Features with it.
|
|
5
|
+
*
|
|
6
|
+
* @module
|
|
7
|
+
*/
|
|
8
|
+
import type { Feature } from "../feature.ts"
|
|
9
|
+
import { focus } from "./focus.ts"
|
|
10
|
+
import { hover } from "./hover.ts"
|
|
11
|
+
import { inView } from "./in-view.ts"
|
|
12
|
+
import { press } from "./press.ts"
|
|
13
|
+
|
|
14
|
+
/** Motion's `domAnimation`: the gestures an element animates on without dragging, `hover`, `press`, `focus` and `inView`. */
|
|
15
|
+
export const domAnimation: ReadonlyArray<Feature> = [hover, press, focus, inView]
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Motion's `domMax` bundle (#511, ADR-0067 decision 3), as a list of Features: every one, as a Complete
|
|
3
|
+
* element has. In a module apart from `domAnimation` (#548).
|
|
4
|
+
*
|
|
5
|
+
* @module
|
|
6
|
+
*/
|
|
7
|
+
import type { Feature } from "../feature.ts"
|
|
8
|
+
import { ALL } from "./all.ts"
|
|
9
|
+
|
|
10
|
+
/** Motion's `domMax`: every Feature, `pan`, `drag`, `layout` and `colors` beside `domAnimation`'s, as a Complete element has. */
|
|
11
|
+
export const domMax: ReadonlyArray<Feature> = ALL
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The **`drag` Feature** (#511, ADR-0067 decision 3): an element's drag (`drag`, `dragControls`, its
|
|
3
|
+
* constraints, its release's inertia; Solid 2's `"drag"` events), in a module of its own, so an app that
|
|
4
|
+
* never imports it ships none of it: the drag track (`drag-track.ts`), core's `Drag` and `Inertia`. Its
|
|
5
|
+
* top-level calls are marked pure, as every Feature module's are.
|
|
6
|
+
*
|
|
7
|
+
* @module
|
|
8
|
+
*/
|
|
9
|
+
import * as InputSource from "@wardic/core/InputSource"
|
|
10
|
+
import * as Effect from "effect/Effect"
|
|
11
|
+
import { trackConstraintsOf } from "../drag-constraints.ts"
|
|
12
|
+
import { driveDragTrack } from "../drag-track.ts"
|
|
13
|
+
import type { Feature } from "../feature.ts"
|
|
14
|
+
import { DragGesture } from "./keys.ts"
|
|
15
|
+
import { gestureLayer } from "./input.ts"
|
|
16
|
+
|
|
17
|
+
/** Drag gestures: `drag`, `dragControls`, the drag callbacks, and what a `Reorder` item drags with. */
|
|
18
|
+
export const drag: Feature<DragGesture, DragGesture["Service"]> = {
|
|
19
|
+
name: "drag",
|
|
20
|
+
key: DragGesture,
|
|
21
|
+
layer: /*#__PURE__*/ gestureLayer(DragGesture, (source) => ({
|
|
22
|
+
drive: (run) =>
|
|
23
|
+
driveDragTrack({
|
|
24
|
+
...run,
|
|
25
|
+
watch: (track) => run.watch((onDefect) => Effect.provideService(track(onDefect), InputSource.InputSource, source)),
|
|
26
|
+
fork: (response) => run.fork(Effect.provideService(response, InputSource.InputSource, source)),
|
|
27
|
+
}),
|
|
28
|
+
constraintsOf: trackConstraintsOf,
|
|
29
|
+
})),
|
|
30
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The **`focus` Feature** (#511, ADR-0067 decision 3): an element's focus as the browser shows it (`whileFocus`), in a module of its own, so an app that
|
|
3
|
+
* never imports it ships none of it. Its top-level calls are marked pure, as every Feature module's are.
|
|
4
|
+
*
|
|
5
|
+
* @module
|
|
6
|
+
*/
|
|
7
|
+
import * as Recognizer from "@wardic/core/Recognizer"
|
|
8
|
+
import type { Feature } from "../feature.ts"
|
|
9
|
+
import { FocusGesture } from "./keys.ts"
|
|
10
|
+
import { gestureLayer, withInput } from "./input.ts"
|
|
11
|
+
|
|
12
|
+
/** Focus gestures: `whileFocus`. */
|
|
13
|
+
export const focus: Feature<FocusGesture, FocusGesture["Service"]> = {
|
|
14
|
+
name: "focus",
|
|
15
|
+
key: FocusGesture,
|
|
16
|
+
layer: /*#__PURE__*/ gestureLayer(FocusGesture, (source) => ({ watch: withInput(source, Recognizer.watchFocus) })),
|
|
17
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The **`hover` Feature** (#511, ADR-0067 decision 3): an element's hover (`whileHover`, `onHoverStart`, `onHoverEnd`; Solid 2's `"hover"` events), in a module of its own, so an app that
|
|
3
|
+
* never imports it ships none of it. Its top-level calls are marked pure, as every Feature module's are.
|
|
4
|
+
*
|
|
5
|
+
* @module
|
|
6
|
+
*/
|
|
7
|
+
import * as Recognizer from "@wardic/core/Recognizer"
|
|
8
|
+
import type { Feature } from "../feature.ts"
|
|
9
|
+
import { HoverGesture } from "./keys.ts"
|
|
10
|
+
import { gestureLayer, withInput } from "./input.ts"
|
|
11
|
+
|
|
12
|
+
/** Hover gestures: `whileHover` and the hover callbacks. */
|
|
13
|
+
export const hover: Feature<HoverGesture, HoverGesture["Service"]> = {
|
|
14
|
+
name: "hover",
|
|
15
|
+
key: HoverGesture,
|
|
16
|
+
layer: /*#__PURE__*/ gestureLayer(HoverGesture, (source) => ({ watch: withInput(source, Recognizer.watchHover) })),
|
|
17
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The **`inView` Feature** (#511, ADR-0067 decision 3): an element's place in its viewport (`whileInView`, `onViewportEnter`, `onViewportLeave`, `viewport`), in a module of its own, so an app that
|
|
3
|
+
* never imports it ships none of it. Its top-level calls are marked pure, as every Feature module's are.
|
|
4
|
+
*
|
|
5
|
+
* @module
|
|
6
|
+
*/
|
|
7
|
+
import * as Recognizer from "@wardic/core/Recognizer"
|
|
8
|
+
import * as Layer from "effect/Layer"
|
|
9
|
+
import type { Feature } from "../feature.ts"
|
|
10
|
+
import { InViewGesture } from "./keys.ts"
|
|
11
|
+
|
|
12
|
+
/** In-view gestures: `whileInView` and the viewport callbacks. It reads no input: the Probe's intersections. */
|
|
13
|
+
export const inView: Feature<InViewGesture, InViewGesture["Service"]> = {
|
|
14
|
+
name: "inView",
|
|
15
|
+
key: InViewGesture,
|
|
16
|
+
layer: /*#__PURE__*/ Layer.succeed(InViewGesture)({ watch: Recognizer.watchInView }),
|
|
17
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The gestures' input (#511, ADR-0067 decision 14): what every gesture Feature but `inView` stands on,
|
|
3
|
+
* in a module of its own. `DomLive` no longer builds the DOM's `InputSource`, so an app with no gesture
|
|
4
|
+
* ships none of it. Its top-level calls are marked pure, as every Feature module's are.
|
|
5
|
+
*
|
|
6
|
+
* @module
|
|
7
|
+
*/
|
|
8
|
+
import * as InputSource from "@wardic/core/InputSource"
|
|
9
|
+
import * as DomInput from "@wardic/dom/DomInput"
|
|
10
|
+
import * as Context from "effect/Context"
|
|
11
|
+
import * as Effect from "effect/Effect"
|
|
12
|
+
import * as Layer from "effect/Layer"
|
|
13
|
+
import * as Option from "effect/Option"
|
|
14
|
+
import type { ProviderServices } from "../runtime.ts"
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* The gestures' `InputSource`: the Environment's when it gives one (`@wardic/test`'s `TestLive`, a
|
|
18
|
+
* test's pushed input), else the DOM's, built over the page's `document`. One Layer, so a provider's
|
|
19
|
+
* `MemoMap` builds it once for every gesture Feature it has.
|
|
20
|
+
*/
|
|
21
|
+
export const input: Layer.Layer<InputSource.InputSource> = /*#__PURE__*/ Layer.unwrap(
|
|
22
|
+
/*#__PURE__*/ Effect.map(
|
|
23
|
+
Effect.serviceOption(InputSource.InputSource),
|
|
24
|
+
Option.match({
|
|
25
|
+
onSome: (given): Layer.Layer<InputSource.InputSource> => Layer.succeed(InputSource.InputSource)(given),
|
|
26
|
+
onNone: (): Layer.Layer<InputSource.InputSource> => DomInput.layer,
|
|
27
|
+
}),
|
|
28
|
+
),
|
|
29
|
+
)
|
|
30
|
+
|
|
31
|
+
/** `watch` with the gestures' input given: what a gesture Feature hands its elements, which run it on their provider. */
|
|
32
|
+
export const withInput =
|
|
33
|
+
<Args extends ReadonlyArray<unknown>, A, E, R>(source: InputSource.InputSource["Service"], watch: (...args: Args) => Effect.Effect<A, E, R>) =>
|
|
34
|
+
(...args: Args): Effect.Effect<A, E, Exclude<R, InputSource.InputSource>> =>
|
|
35
|
+
Effect.provideService(watch(...args), InputSource.InputSource, source)
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* A gesture Feature's Layer: its service, made over the gestures' input, which it gives beside it, so
|
|
39
|
+
* a section with the Feature has the input too (a `Reorder` item's keys, a `createPress`).
|
|
40
|
+
*/
|
|
41
|
+
export const gestureLayer = <I, S>(key: Context.Key<I, S>, make: (source: InputSource.InputSource["Service"]) => S): Layer.Layer<I | InputSource.InputSource, never, ProviderServices> =>
|
|
42
|
+
Layer.effect(key)(Effect.map(InputSource.InputSource, make)).pipe(Layer.provideMerge(input))
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Every Feature's key (#548, ADR-0067 *Amendment (#548)*): the services an element's code looks up,
|
|
3
|
+
* apart from the Features themselves, whose Layers bring a gesture's or the colour spaces' code. Every
|
|
4
|
+
* page's elements import these; only a page whose section has a Feature imports its module. The
|
|
5
|
+
* `layout` Feature's key is dom's `ProjectionSystem`.
|
|
6
|
+
*
|
|
7
|
+
* @module
|
|
8
|
+
*/
|
|
9
|
+
import type * as DragRecognizer from "@wardic/core/DragRecognizer"
|
|
10
|
+
import type * as InputFeed from "@wardic/core/InputFeed"
|
|
11
|
+
import type * as Probe from "@wardic/core/Probe"
|
|
12
|
+
import type * as Recognizer from "@wardic/core/Recognizer"
|
|
13
|
+
import * as Context from "effect/Context"
|
|
14
|
+
import type * as Effect from "effect/Effect"
|
|
15
|
+
import type { LazyArg } from "effect/Function"
|
|
16
|
+
import type * as Scope from "effect/Scope"
|
|
17
|
+
import type { trackConstraintsOf } from "../drag-constraints.ts"
|
|
18
|
+
import type { DragTrack, DragTrackOptions } from "../drag-track.ts"
|
|
19
|
+
import type { WardicServices } from "../runtime.ts"
|
|
20
|
+
|
|
21
|
+
/** The `hover` Feature's service: an element's hover watched, over the gestures' input. */
|
|
22
|
+
export class HoverGesture extends /*#__PURE__*/ Context.Service<
|
|
23
|
+
HoverGesture,
|
|
24
|
+
{ readonly watch: (target: unknown, handlers: Recognizer.HoverHandlers) => Effect.Effect<void, never, Scope.Scope> }
|
|
25
|
+
>()("@wardic/solid/HoverGesture") {}
|
|
26
|
+
|
|
27
|
+
/** The `press` Feature's service: an element's presses watched (`press.ts`), over the gestures' input. */
|
|
28
|
+
export class PressGesture extends /*#__PURE__*/ Context.Service<
|
|
29
|
+
PressGesture,
|
|
30
|
+
{
|
|
31
|
+
readonly watch: (
|
|
32
|
+
element: unknown,
|
|
33
|
+
handlers: InputFeed.Handlers<Recognizer.PressEvent>,
|
|
34
|
+
keysTaken?: boolean,
|
|
35
|
+
propagates?: LazyArg<boolean>,
|
|
36
|
+
) => Effect.Effect<void, never, Scope.Scope>
|
|
37
|
+
}
|
|
38
|
+
>()("@wardic/solid/PressGesture") {}
|
|
39
|
+
|
|
40
|
+
/** The `focus` Feature's service: an element's focus watched, over the gestures' input. */
|
|
41
|
+
export class FocusGesture extends /*#__PURE__*/ Context.Service<
|
|
42
|
+
FocusGesture,
|
|
43
|
+
{ readonly watch: (target: unknown, options: Recognizer.FocusOptions, handlers: InputFeed.Handlers<boolean>) => Effect.Effect<void, never, Scope.Scope> }
|
|
44
|
+
>()("@wardic/solid/FocusGesture") {}
|
|
45
|
+
|
|
46
|
+
/** The `inView` Feature's service: an element's intersections watched, over the Environment's Probe. */
|
|
47
|
+
export class InViewGesture extends /*#__PURE__*/ Context.Service<
|
|
48
|
+
InViewGesture,
|
|
49
|
+
{
|
|
50
|
+
readonly watch: (
|
|
51
|
+
target: unknown,
|
|
52
|
+
options: Recognizer.InViewOptions,
|
|
53
|
+
handlers: InputFeed.Handlers<Recognizer.ViewEdge>,
|
|
54
|
+
) => Effect.Effect<void, never, Scope.Scope | Probe.Probe>
|
|
55
|
+
}
|
|
56
|
+
>()("@wardic/solid/InViewGesture") {}
|
|
57
|
+
|
|
58
|
+
/** The `pan` Feature's service: an element's pans watched, over the gestures' input. */
|
|
59
|
+
export class PanGesture extends /*#__PURE__*/ Context.Service<
|
|
60
|
+
PanGesture,
|
|
61
|
+
{
|
|
62
|
+
readonly watch: (
|
|
63
|
+
target: unknown,
|
|
64
|
+
handlers: InputFeed.Handlers<DragRecognizer.PanSample>,
|
|
65
|
+
options?: DragRecognizer.PanOptions,
|
|
66
|
+
) => Effect.Effect<void, never, Scope.Scope>
|
|
67
|
+
}
|
|
68
|
+
>()("@wardic/solid/PanGesture") {}
|
|
69
|
+
|
|
70
|
+
/** What an element hands the drag Feature: the track's options, its watches and responses run on its provider. */
|
|
71
|
+
export interface DragRun extends Omit<DragTrackOptions, "watch" | "fork"> {
|
|
72
|
+
readonly watch: (track: (onDefect: InputFeed.OnDefect) => Effect.Effect<void, never, Scope.Scope | WardicServices>) => void
|
|
73
|
+
readonly fork: (response: Effect.Effect<void, never, WardicServices>) => void
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
/**
|
|
77
|
+
* The `drag` Feature's service: an element's drag track driven over the gestures' input, and its
|
|
78
|
+
* `dragConstraints` read (a box, or a container measured against the element).
|
|
79
|
+
*/
|
|
80
|
+
export class DragGesture extends /*#__PURE__*/ Context.Service<
|
|
81
|
+
DragGesture,
|
|
82
|
+
{
|
|
83
|
+
readonly drive: (run: DragRun) => DragTrack
|
|
84
|
+
readonly constraintsOf: typeof trackConstraintsOf
|
|
85
|
+
}
|
|
86
|
+
>()("@wardic/solid/DragGesture") {}
|
|
87
|
+
|
|
88
|
+
/** The `colors` Feature's service: that the page reads every CSS colour space. */
|
|
89
|
+
export class Colors extends /*#__PURE__*/ Context.Service<Colors, true>()("@wardic/solid/Colors") {}
|