@wardic/solid 0.0.0-stage → 1.0.0-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +26 -2
- package/THIRD_PARTY_NOTICES.md +145 -0
- package/dist/browser/animation-controls.js +150 -0
- package/dist/browser/animation-controls.js.map +1 -0
- package/dist/browser/animation-frame.js +29 -0
- package/dist/browser/animation-frame.js.map +1 -0
- package/dist/browser/appear.js +727 -0
- package/dist/browser/appear.js.map +1 -0
- package/dist/browser/arc.js +21 -0
- package/dist/browser/arc.js.map +1 -0
- package/dist/browser/bridge.js +69 -0
- package/dist/browser/bridge.js.map +1 -0
- package/dist/browser/complete.js +30 -0
- package/dist/browser/complete.js.map +1 -0
- package/dist/browser/config.js +2 -0
- package/dist/browser/config.js.map +1 -0
- package/dist/browser/create-animate.js +41 -0
- package/dist/browser/create-animate.js.map +1 -0
- package/dist/browser/create-ward.js +1001 -0
- package/dist/browser/create-ward.js.map +1 -0
- package/dist/browser/cycle-index.js +17 -0
- package/dist/browser/cycle-index.js.map +1 -0
- package/dist/browser/cycle.js +31 -0
- package/dist/browser/cycle.js.map +1 -0
- package/dist/browser/directive.js +80 -0
- package/dist/browser/directive.js.map +1 -0
- package/dist/browser/drag-constraints.js +76 -0
- package/dist/browser/drag-constraints.js.map +1 -0
- package/dist/browser/drag-controls.js +51 -0
- package/dist/browser/drag-controls.js.map +1 -0
- package/dist/browser/drag-samples.js +40 -0
- package/dist/browser/drag-samples.js.map +1 -0
- package/dist/browser/drag-sensor.js +35 -0
- package/dist/browser/drag-sensor.js.map +1 -0
- package/dist/browser/drag-track.js +817 -0
- package/dist/browser/drag-track.js.map +1 -0
- package/dist/browser/drag-transition.js +56 -0
- package/dist/browser/drag-transition.js.map +1 -0
- package/dist/browser/drag.js +44 -0
- package/dist/browser/drag.js.map +1 -0
- package/dist/browser/element-style.js +67 -0
- package/dist/browser/element-style.js.map +1 -0
- package/dist/browser/element.js +353 -0
- package/dist/browser/element.js.map +1 -0
- package/dist/browser/feature-section.js +17 -0
- package/dist/browser/feature-section.js.map +1 -0
- package/dist/browser/feature.js +261 -0
- package/dist/browser/feature.js.map +1 -0
- package/dist/browser/features/all.js +10 -0
- package/dist/browser/features/all.js.map +1 -0
- package/dist/browser/features/colors.js +33 -0
- package/dist/browser/features/colors.js.map +1 -0
- package/dist/browser/features/dom-animation.js +7 -0
- package/dist/browser/features/dom-animation.js.map +1 -0
- package/dist/browser/features/dom-max.js +4 -0
- package/dist/browser/features/dom-max.js.map +1 -0
- package/dist/browser/features/drag.js +28 -0
- package/dist/browser/features/drag.js.map +1 -0
- package/dist/browser/features/focus.js +18 -0
- package/dist/browser/features/focus.js.map +1 -0
- package/dist/browser/features/hover.js +18 -0
- package/dist/browser/features/hover.js.map +1 -0
- package/dist/browser/features/in-view.js +18 -0
- package/dist/browser/features/in-view.js.map +1 -0
- package/dist/browser/features/input.js +30 -0
- package/dist/browser/features/input.js.map +1 -0
- package/dist/browser/features/keys.js +19 -0
- package/dist/browser/features/keys.js.map +1 -0
- package/dist/browser/features/layout.js +33 -0
- package/dist/browser/features/layout.js.map +1 -0
- package/dist/browser/features/pan.js +18 -0
- package/dist/browser/features/pan.js.map +1 -0
- package/dist/browser/features/press.js +12 -0
- package/dist/browser/features/press.js.map +1 -0
- package/dist/browser/focus-sensor.js +23 -0
- package/dist/browser/focus-sensor.js.map +1 -0
- package/dist/browser/frame-time.js +40 -0
- package/dist/browser/frame-time.js.map +1 -0
- package/dist/browser/gesture-callbacks.js +172 -0
- package/dist/browser/gesture-callbacks.js.map +1 -0
- package/dist/browser/gesture-features.js +29 -0
- package/dist/browser/gesture-features.js.map +1 -0
- package/dist/browser/gesture-info.js +43 -0
- package/dist/browser/gesture-info.js.map +1 -0
- package/dist/browser/hover-sensor.js +29 -0
- package/dist/browser/hover-sensor.js.map +1 -0
- package/dist/browser/imperative.js +614 -0
- package/dist/browser/imperative.js.map +1 -0
- package/dist/browser/index.js +165 -0
- package/dist/browser/index.js.map +1 -0
- package/dist/browser/instant.js +51 -0
- package/dist/browser/instant.js.map +1 -0
- package/dist/browser/layout-group.js +27 -0
- package/dist/browser/layout-group.js.map +1 -0
- package/dist/browser/layout-member.js +362 -0
- package/dist/browser/layout-member.js.map +1 -0
- package/dist/browser/layout-projection.js +19 -0
- package/dist/browser/layout-projection.js.map +1 -0
- package/dist/browser/layout.js +91 -0
- package/dist/browser/layout.js.map +1 -0
- package/dist/browser/live-style.js +313 -0
- package/dist/browser/live-style.js.map +1 -0
- package/dist/browser/live-value.js +252 -0
- package/dist/browser/live-value.js.map +1 -0
- package/dist/browser/motion-props.js +172 -0
- package/dist/browser/motion-props.js.map +1 -0
- package/dist/browser/owner-scope.js +29 -0
- package/dist/browser/owner-scope.js.map +1 -0
- package/dist/browser/page-point.js +92 -0
- package/dist/browser/page-point.js.map +1 -0
- package/dist/browser/presence-controller.js +1324 -0
- package/dist/browser/presence-controller.js.map +1 -0
- package/dist/browser/presence-record.js +27 -0
- package/dist/browser/presence-record.js.map +1 -0
- package/dist/browser/presence.js +207 -0
- package/dist/browser/presence.js.map +1 -0
- package/dist/browser/press-sensor.js +30 -0
- package/dist/browser/press-sensor.js.map +1 -0
- package/dist/browser/press.js +24 -0
- package/dist/browser/press.js.map +1 -0
- package/dist/browser/provider.js +445 -0
- package/dist/browser/provider.js.map +1 -0
- package/dist/browser/reactivity.js +9 -0
- package/dist/browser/reactivity.js.map +1 -0
- package/dist/browser/reorder-input.js +46 -0
- package/dist/browser/reorder-input.js.map +1 -0
- package/dist/browser/reorder.js +543 -0
- package/dist/browser/reorder.js.map +1 -0
- package/dist/browser/retarget-legs.js +1019 -0
- package/dist/browser/retarget-legs.js.map +1 -0
- package/dist/browser/runtime.js +249 -0
- package/dist/browser/runtime.js.map +1 -0
- package/dist/browser/sensors.js +172 -0
- package/dist/browser/sensors.js.map +1 -0
- package/dist/browser/server-interpolators.js +20 -0
- package/dist/browser/server-interpolators.js.map +1 -0
- package/dist/browser/server.js +20 -0
- package/dist/browser/server.js.map +1 -0
- package/dist/browser/solid-reactivity.js +26 -0
- package/dist/browser/solid-reactivity.js.map +1 -0
- package/dist/browser/spine.js +2939 -0
- package/dist/browser/spine.js.map +1 -0
- package/dist/browser/stagger.js +13 -0
- package/dist/browser/stagger.js.map +1 -0
- package/dist/browser/unstable/v2/bridge.js +76 -0
- package/dist/browser/unstable/v2/bridge.js.map +1 -0
- package/dist/browser/unstable/v2/complete.js +29 -0
- package/dist/browser/unstable/v2/complete.js.map +1 -0
- package/dist/browser/unstable/v2/config-view.js +111 -0
- package/dist/browser/unstable/v2/config-view.js.map +1 -0
- package/dist/browser/unstable/v2/create-animate.js +102 -0
- package/dist/browser/unstable/v2/create-animate.js.map +1 -0
- package/dist/browser/unstable/v2/cycle.js +30 -0
- package/dist/browser/unstable/v2/cycle.js.map +1 -0
- package/dist/browser/unstable/v2/drag-sensor.js +34 -0
- package/dist/browser/unstable/v2/drag-sensor.js.map +1 -0
- package/dist/browser/unstable/v2/element.js +393 -0
- package/dist/browser/unstable/v2/element.js.map +1 -0
- package/dist/browser/unstable/v2/feature-section.js +27 -0
- package/dist/browser/unstable/v2/feature-section.js.map +1 -0
- package/dist/browser/unstable/v2/focus-sensor.js +23 -0
- package/dist/browser/unstable/v2/focus-sensor.js.map +1 -0
- package/dist/browser/unstable/v2/hover-sensor.js +28 -0
- package/dist/browser/unstable/v2/hover-sensor.js.map +1 -0
- package/dist/browser/unstable/v2/index.js +114 -0
- package/dist/browser/unstable/v2/index.js.map +1 -0
- package/dist/browser/unstable/v2/layout-projection.js +18 -0
- package/dist/browser/unstable/v2/layout-projection.js.map +1 -0
- package/dist/browser/unstable/v2/layout.js +71 -0
- package/dist/browser/unstable/v2/layout.js.map +1 -0
- package/dist/browser/unstable/v2/lifecycle.js +455 -0
- package/dist/browser/unstable/v2/lifecycle.js.map +1 -0
- package/dist/browser/unstable/v2/live-value.js +264 -0
- package/dist/browser/unstable/v2/live-value.js.map +1 -0
- package/dist/browser/unstable/v2/presence-handle.js +146 -0
- package/dist/browser/unstable/v2/presence-handle.js.map +1 -0
- package/dist/browser/unstable/v2/presence-hooks.js +142 -0
- package/dist/browser/unstable/v2/presence-hooks.js.map +1 -0
- package/dist/browser/unstable/v2/presence.js +124 -0
- package/dist/browser/unstable/v2/presence.js.map +1 -0
- package/dist/browser/unstable/v2/press-sensor.js +29 -0
- package/dist/browser/unstable/v2/press-sensor.js.map +1 -0
- package/dist/browser/unstable/v2/provider.js +457 -0
- package/dist/browser/unstable/v2/provider.js.map +1 -0
- package/dist/browser/unstable/v2/reorder.js +663 -0
- package/dist/browser/unstable/v2/reorder.js.map +1 -0
- package/dist/browser/unstable/v2/sensors.js +138 -0
- package/dist/browser/unstable/v2/sensors.js.map +1 -0
- package/dist/browser/unstable/v2/solid-reactivity.js +82 -0
- package/dist/browser/unstable/v2/solid-reactivity.js.map +1 -0
- package/dist/browser/unstable/v2/variant-node.js +395 -0
- package/dist/browser/unstable/v2/variant-node.js.map +1 -0
- package/dist/browser/unstable/v2/w.js +23 -0
- package/dist/browser/unstable/v2/w.js.map +1 -0
- package/dist/browser/unstable/v2/waiters.js +185 -0
- package/dist/browser/unstable/v2/waiters.js.map +1 -0
- package/dist/browser/unstable/v2/ward.js +1620 -0
- package/dist/browser/unstable/v2/ward.js.map +1 -0
- package/dist/browser/unstable/v2/wardic-config.js +40 -0
- package/dist/browser/unstable/v2/wardic-config.js.map +1 -0
- package/dist/browser/unstable/v2/wardic.js +16 -0
- package/dist/browser/unstable/v2/wardic.js.map +1 -0
- package/dist/browser/variant-node.js +308 -0
- package/dist/browser/variant-node.js.map +1 -0
- package/dist/browser/variant-target.js +224 -0
- package/dist/browser/variant-target.js.map +1 -0
- package/dist/browser/variant-tree.js +394 -0
- package/dist/browser/variant-tree.js.map +1 -0
- package/dist/browser/variants.js +43 -0
- package/dist/browser/variants.js.map +1 -0
- package/dist/browser/w.js +25 -0
- package/dist/browser/w.js.map +1 -0
- package/dist/browser/ward-keys.js +2 -0
- package/dist/browser/ward-keys.js.map +1 -0
- package/dist/browser/wardic-component.js +74 -0
- package/dist/browser/wardic-component.js.map +1 -0
- package/dist/browser/wardic-config-value.js +91 -0
- package/dist/browser/wardic-config-value.js.map +1 -0
- package/dist/browser/wardic-config.js +42 -0
- package/dist/browser/wardic-config.js.map +1 -0
- package/dist/browser/wardic.js +31 -0
- package/dist/browser/wardic.js.map +1 -0
- package/dist/server/animation-controls.js +150 -0
- package/dist/server/animation-controls.js.map +1 -0
- package/dist/server/animation-frame.js +29 -0
- package/dist/server/animation-frame.js.map +1 -0
- package/dist/server/appear.js +727 -0
- package/dist/server/appear.js.map +1 -0
- package/dist/server/arc.js +21 -0
- package/dist/server/arc.js.map +1 -0
- package/dist/server/bridge.js +69 -0
- package/dist/server/bridge.js.map +1 -0
- package/dist/server/complete.js +30 -0
- package/dist/server/complete.js.map +1 -0
- package/dist/server/config.js +2 -0
- package/dist/server/config.js.map +1 -0
- package/dist/server/create-animate.js +41 -0
- package/dist/server/create-animate.js.map +1 -0
- package/dist/server/create-ward.js +1001 -0
- package/dist/server/create-ward.js.map +1 -0
- package/dist/server/cycle-index.js +17 -0
- package/dist/server/cycle-index.js.map +1 -0
- package/dist/server/cycle.js +31 -0
- package/dist/server/cycle.js.map +1 -0
- package/dist/server/directive.js +80 -0
- package/dist/server/directive.js.map +1 -0
- package/dist/server/drag-constraints.js +76 -0
- package/dist/server/drag-constraints.js.map +1 -0
- package/dist/server/drag-controls.js +51 -0
- package/dist/server/drag-controls.js.map +1 -0
- package/dist/server/drag-samples.js +40 -0
- package/dist/server/drag-samples.js.map +1 -0
- package/dist/server/drag-sensor.js +35 -0
- package/dist/server/drag-sensor.js.map +1 -0
- package/dist/server/drag-track.js +817 -0
- package/dist/server/drag-track.js.map +1 -0
- package/dist/server/drag-transition.js +56 -0
- package/dist/server/drag-transition.js.map +1 -0
- package/dist/server/drag.js +44 -0
- package/dist/server/drag.js.map +1 -0
- package/dist/server/element-style.js +67 -0
- package/dist/server/element-style.js.map +1 -0
- package/dist/server/element.js +353 -0
- package/dist/server/element.js.map +1 -0
- package/dist/server/feature-section.js +17 -0
- package/dist/server/feature-section.js.map +1 -0
- package/dist/server/feature.js +261 -0
- package/dist/server/feature.js.map +1 -0
- package/dist/server/features/all.js +10 -0
- package/dist/server/features/all.js.map +1 -0
- package/dist/server/features/colors.js +33 -0
- package/dist/server/features/colors.js.map +1 -0
- package/dist/server/features/dom-animation.js +7 -0
- package/dist/server/features/dom-animation.js.map +1 -0
- package/dist/server/features/dom-max.js +4 -0
- package/dist/server/features/dom-max.js.map +1 -0
- package/dist/server/features/drag.js +28 -0
- package/dist/server/features/drag.js.map +1 -0
- package/dist/server/features/focus.js +18 -0
- package/dist/server/features/focus.js.map +1 -0
- package/dist/server/features/hover.js +18 -0
- package/dist/server/features/hover.js.map +1 -0
- package/dist/server/features/in-view.js +18 -0
- package/dist/server/features/in-view.js.map +1 -0
- package/dist/server/features/input.js +30 -0
- package/dist/server/features/input.js.map +1 -0
- package/dist/server/features/keys.js +19 -0
- package/dist/server/features/keys.js.map +1 -0
- package/dist/server/features/layout.js +33 -0
- package/dist/server/features/layout.js.map +1 -0
- package/dist/server/features/pan.js +18 -0
- package/dist/server/features/pan.js.map +1 -0
- package/dist/server/features/press.js +12 -0
- package/dist/server/features/press.js.map +1 -0
- package/dist/server/focus-sensor.js +23 -0
- package/dist/server/focus-sensor.js.map +1 -0
- package/dist/server/frame-time.js +40 -0
- package/dist/server/frame-time.js.map +1 -0
- package/dist/server/gesture-callbacks.js +172 -0
- package/dist/server/gesture-callbacks.js.map +1 -0
- package/dist/server/gesture-features.js +29 -0
- package/dist/server/gesture-features.js.map +1 -0
- package/dist/server/gesture-info.js +43 -0
- package/dist/server/gesture-info.js.map +1 -0
- package/dist/server/hover-sensor.js +29 -0
- package/dist/server/hover-sensor.js.map +1 -0
- package/dist/server/imperative.js +614 -0
- package/dist/server/imperative.js.map +1 -0
- package/dist/server/index.js +165 -0
- package/dist/server/index.js.map +1 -0
- package/dist/server/instant.js +51 -0
- package/dist/server/instant.js.map +1 -0
- package/dist/server/layout-group.js +27 -0
- package/dist/server/layout-group.js.map +1 -0
- package/dist/server/layout-member.js +362 -0
- package/dist/server/layout-member.js.map +1 -0
- package/dist/server/layout-projection.js +19 -0
- package/dist/server/layout-projection.js.map +1 -0
- package/dist/server/layout.js +90 -0
- package/dist/server/layout.js.map +1 -0
- package/dist/server/live-style.js +313 -0
- package/dist/server/live-style.js.map +1 -0
- package/dist/server/live-value.js +252 -0
- package/dist/server/live-value.js.map +1 -0
- package/dist/server/motion-props.js +172 -0
- package/dist/server/motion-props.js.map +1 -0
- package/dist/server/owner-scope.js +29 -0
- package/dist/server/owner-scope.js.map +1 -0
- package/dist/server/page-point.js +92 -0
- package/dist/server/page-point.js.map +1 -0
- package/dist/server/presence-controller.js +1324 -0
- package/dist/server/presence-controller.js.map +1 -0
- package/dist/server/presence-record.js +27 -0
- package/dist/server/presence-record.js.map +1 -0
- package/dist/server/presence.js +207 -0
- package/dist/server/presence.js.map +1 -0
- package/dist/server/press-sensor.js +30 -0
- package/dist/server/press-sensor.js.map +1 -0
- package/dist/server/press.js +24 -0
- package/dist/server/press.js.map +1 -0
- package/dist/server/provider.js +439 -0
- package/dist/server/provider.js.map +1 -0
- package/dist/server/reactivity.js +9 -0
- package/dist/server/reactivity.js.map +1 -0
- package/dist/server/reorder-input.js +46 -0
- package/dist/server/reorder-input.js.map +1 -0
- package/dist/server/reorder.js +543 -0
- package/dist/server/reorder.js.map +1 -0
- package/dist/server/retarget-legs.js +1019 -0
- package/dist/server/retarget-legs.js.map +1 -0
- package/dist/server/runtime.js +249 -0
- package/dist/server/runtime.js.map +1 -0
- package/dist/server/sensors.js +172 -0
- package/dist/server/sensors.js.map +1 -0
- package/dist/server/server-interpolators.js +20 -0
- package/dist/server/server-interpolators.js.map +1 -0
- package/dist/server/server.js +20 -0
- package/dist/server/server.js.map +1 -0
- package/dist/server/solid-reactivity.js +26 -0
- package/dist/server/solid-reactivity.js.map +1 -0
- package/dist/server/spine.js +2939 -0
- package/dist/server/spine.js.map +1 -0
- package/dist/server/stagger.js +13 -0
- package/dist/server/stagger.js.map +1 -0
- package/dist/server/unstable/v2/bridge.js +76 -0
- package/dist/server/unstable/v2/bridge.js.map +1 -0
- package/dist/server/unstable/v2/complete.js +29 -0
- package/dist/server/unstable/v2/complete.js.map +1 -0
- package/dist/server/unstable/v2/config-view.js +111 -0
- package/dist/server/unstable/v2/config-view.js.map +1 -0
- package/dist/server/unstable/v2/create-animate.js +102 -0
- package/dist/server/unstable/v2/create-animate.js.map +1 -0
- package/dist/server/unstable/v2/cycle.js +30 -0
- package/dist/server/unstable/v2/cycle.js.map +1 -0
- package/dist/server/unstable/v2/drag-sensor.js +34 -0
- package/dist/server/unstable/v2/drag-sensor.js.map +1 -0
- package/dist/server/unstable/v2/element.js +402 -0
- package/dist/server/unstable/v2/element.js.map +1 -0
- package/dist/server/unstable/v2/feature-section.js +27 -0
- package/dist/server/unstable/v2/feature-section.js.map +1 -0
- package/dist/server/unstable/v2/focus-sensor.js +23 -0
- package/dist/server/unstable/v2/focus-sensor.js.map +1 -0
- package/dist/server/unstable/v2/hover-sensor.js +28 -0
- package/dist/server/unstable/v2/hover-sensor.js.map +1 -0
- package/dist/server/unstable/v2/index.js +114 -0
- package/dist/server/unstable/v2/index.js.map +1 -0
- package/dist/server/unstable/v2/layout-projection.js +18 -0
- package/dist/server/unstable/v2/layout-projection.js.map +1 -0
- package/dist/server/unstable/v2/layout.js +88 -0
- package/dist/server/unstable/v2/layout.js.map +1 -0
- package/dist/server/unstable/v2/lifecycle.js +455 -0
- package/dist/server/unstable/v2/lifecycle.js.map +1 -0
- package/dist/server/unstable/v2/live-value.js +264 -0
- package/dist/server/unstable/v2/live-value.js.map +1 -0
- package/dist/server/unstable/v2/presence-handle.js +146 -0
- package/dist/server/unstable/v2/presence-handle.js.map +1 -0
- package/dist/server/unstable/v2/presence-hooks.js +142 -0
- package/dist/server/unstable/v2/presence-hooks.js.map +1 -0
- package/dist/server/unstable/v2/presence.js +142 -0
- package/dist/server/unstable/v2/presence.js.map +1 -0
- package/dist/server/unstable/v2/press-sensor.js +29 -0
- package/dist/server/unstable/v2/press-sensor.js.map +1 -0
- package/dist/server/unstable/v2/provider.js +475 -0
- package/dist/server/unstable/v2/provider.js.map +1 -0
- package/dist/server/unstable/v2/reorder.js +733 -0
- package/dist/server/unstable/v2/reorder.js.map +1 -0
- package/dist/server/unstable/v2/sensors.js +138 -0
- package/dist/server/unstable/v2/sensors.js.map +1 -0
- package/dist/server/unstable/v2/solid-reactivity.js +82 -0
- package/dist/server/unstable/v2/solid-reactivity.js.map +1 -0
- package/dist/server/unstable/v2/variant-node.js +395 -0
- package/dist/server/unstable/v2/variant-node.js.map +1 -0
- package/dist/server/unstable/v2/w.js +23 -0
- package/dist/server/unstable/v2/w.js.map +1 -0
- package/dist/server/unstable/v2/waiters.js +185 -0
- package/dist/server/unstable/v2/waiters.js.map +1 -0
- package/dist/server/unstable/v2/ward.js +1653 -0
- package/dist/server/unstable/v2/ward.js.map +1 -0
- package/dist/server/unstable/v2/wardic-config.js +49 -0
- package/dist/server/unstable/v2/wardic-config.js.map +1 -0
- package/dist/server/unstable/v2/wardic.js +16 -0
- package/dist/server/unstable/v2/wardic.js.map +1 -0
- package/dist/server/variant-node.js +308 -0
- package/dist/server/variant-node.js.map +1 -0
- package/dist/server/variant-target.js +224 -0
- package/dist/server/variant-target.js.map +1 -0
- package/dist/server/variant-tree.js +394 -0
- package/dist/server/variant-tree.js.map +1 -0
- package/dist/server/variants.js +43 -0
- package/dist/server/variants.js.map +1 -0
- package/dist/server/w.js +25 -0
- package/dist/server/w.js.map +1 -0
- package/dist/server/ward-keys.js +2 -0
- package/dist/server/ward-keys.js.map +1 -0
- package/dist/server/wardic-component.js +74 -0
- package/dist/server/wardic-component.js.map +1 -0
- package/dist/server/wardic-config-value.js +91 -0
- package/dist/server/wardic-config-value.js.map +1 -0
- package/dist/server/wardic-config.js +42 -0
- package/dist/server/wardic-config.js.map +1 -0
- package/dist/server/wardic.js +31 -0
- package/dist/server/wardic.js.map +1 -0
- package/dist/solid/animation-controls.d.ts +104 -0
- package/dist/solid/animation-controls.d.ts.map +1 -0
- package/dist/solid/animation-controls.js +129 -0
- package/dist/solid/animation-controls.js.map +1 -0
- package/dist/solid/animation-frame.d.ts +11 -0
- package/dist/solid/animation-frame.d.ts.map +1 -0
- package/dist/solid/animation-frame.js +31 -0
- package/dist/solid/animation-frame.js.map +1 -0
- package/dist/solid/appear.d.ts +205 -0
- package/dist/solid/appear.d.ts.map +1 -0
- package/dist/solid/appear.js +519 -0
- package/dist/solid/appear.js.map +1 -0
- package/dist/solid/arc.d.ts +25 -0
- package/dist/solid/arc.d.ts.map +1 -0
- package/dist/solid/arc.js +21 -0
- package/dist/solid/arc.js.map +1 -0
- package/dist/solid/bridge.d.ts +53 -0
- package/dist/solid/bridge.d.ts.map +1 -0
- package/dist/solid/bridge.js +66 -0
- package/dist/solid/bridge.js.map +1 -0
- package/dist/solid/complete.d.ts +31 -0
- package/dist/solid/complete.d.ts.map +1 -0
- package/dist/solid/complete.js +27 -0
- package/dist/solid/complete.js.map +1 -0
- package/dist/solid/config.d.ts +693 -0
- package/dist/solid/config.d.ts.map +1 -0
- package/dist/solid/config.js +2 -0
- package/dist/solid/config.js.map +1 -0
- package/dist/solid/create-animate.d.ts +17 -0
- package/dist/solid/create-animate.d.ts.map +1 -0
- package/dist/solid/create-animate.js +42 -0
- package/dist/solid/create-animate.js.map +1 -0
- package/dist/solid/create-ward.d.ts +278 -0
- package/dist/solid/create-ward.d.ts.map +1 -0
- package/dist/solid/create-ward.jsx +874 -0
- package/dist/solid/create-ward.jsx.map +1 -0
- package/dist/solid/cycle-index.d.ts +7 -0
- package/dist/solid/cycle-index.d.ts.map +1 -0
- package/dist/solid/cycle-index.js +17 -0
- package/dist/solid/cycle-index.js.map +1 -0
- package/dist/solid/cycle.d.ts +21 -0
- package/dist/solid/cycle.d.ts.map +1 -0
- package/dist/solid/cycle.js +31 -0
- package/dist/solid/cycle.js.map +1 -0
- package/dist/solid/directive.d.ts +21 -0
- package/dist/solid/directive.d.ts.map +1 -0
- package/dist/solid/directive.js +76 -0
- package/dist/solid/directive.js.map +1 -0
- package/dist/solid/drag-constraints.d.ts +46 -0
- package/dist/solid/drag-constraints.d.ts.map +1 -0
- package/dist/solid/drag-constraints.js +49 -0
- package/dist/solid/drag-constraints.js.map +1 -0
- package/dist/solid/drag-controls.d.ts +50 -0
- package/dist/solid/drag-controls.d.ts.map +1 -0
- package/dist/solid/drag-controls.js +51 -0
- package/dist/solid/drag-controls.js.map +1 -0
- package/dist/solid/drag-samples.d.ts +34 -0
- package/dist/solid/drag-samples.d.ts.map +1 -0
- package/dist/solid/drag-samples.js +28 -0
- package/dist/solid/drag-samples.js.map +1 -0
- package/dist/solid/drag-sensor.d.ts +23 -0
- package/dist/solid/drag-sensor.d.ts.map +1 -0
- package/dist/solid/drag-sensor.js +33 -0
- package/dist/solid/drag-sensor.js.map +1 -0
- package/dist/solid/drag-track.d.ts +227 -0
- package/dist/solid/drag-track.d.ts.map +1 -0
- package/dist/solid/drag-track.js +631 -0
- package/dist/solid/drag-track.js.map +1 -0
- package/dist/solid/drag-transition.d.ts +20 -0
- package/dist/solid/drag-transition.d.ts.map +1 -0
- package/dist/solid/drag-transition.js +31 -0
- package/dist/solid/drag-transition.js.map +1 -0
- package/dist/solid/drag.d.ts +23 -0
- package/dist/solid/drag.d.ts.map +1 -0
- package/dist/solid/drag.js +44 -0
- package/dist/solid/drag.js.map +1 -0
- package/dist/solid/element-style.d.ts +60 -0
- package/dist/solid/element-style.d.ts.map +1 -0
- package/dist/solid/element-style.js +50 -0
- package/dist/solid/element-style.js.map +1 -0
- package/dist/solid/element.d.ts +73 -0
- package/dist/solid/element.d.ts.map +1 -0
- package/dist/solid/element.jsx +326 -0
- package/dist/solid/element.jsx.map +1 -0
- package/dist/solid/feature-section.d.ts +18 -0
- package/dist/solid/feature-section.d.ts.map +1 -0
- package/dist/solid/feature-section.js +13 -0
- package/dist/solid/feature-section.js.map +1 -0
- package/dist/solid/feature.d.ts +114 -0
- package/dist/solid/feature.d.ts.map +1 -0
- package/dist/solid/feature.js +248 -0
- package/dist/solid/feature.js.map +1 -0
- package/dist/solid/features/all.d.ts +10 -0
- package/dist/solid/features/all.d.ts.map +1 -0
- package/dist/solid/features/all.js +10 -0
- package/dist/solid/features/all.js.map +1 -0
- package/dist/solid/features/colors.d.ts +12 -0
- package/dist/solid/features/colors.d.ts.map +1 -0
- package/dist/solid/features/colors.js +34 -0
- package/dist/solid/features/colors.js.map +1 -0
- package/dist/solid/features/dom-animation.d.ts +11 -0
- package/dist/solid/features/dom-animation.d.ts.map +1 -0
- package/dist/solid/features/dom-animation.js +7 -0
- package/dist/solid/features/dom-animation.js.map +1 -0
- package/dist/solid/features/dom-max.d.ts +10 -0
- package/dist/solid/features/dom-max.d.ts.map +1 -0
- package/dist/solid/features/dom-max.js +4 -0
- package/dist/solid/features/dom-max.js.map +1 -0
- package/dist/solid/features/drag.d.ts +5 -0
- package/dist/solid/features/drag.d.ts.map +1 -0
- package/dist/solid/features/drag.js +28 -0
- package/dist/solid/features/drag.js.map +1 -0
- package/dist/solid/features/focus.d.ts +5 -0
- package/dist/solid/features/focus.d.ts.map +1 -0
- package/dist/solid/features/focus.js +16 -0
- package/dist/solid/features/focus.js.map +1 -0
- package/dist/solid/features/hover.d.ts +5 -0
- package/dist/solid/features/hover.d.ts.map +1 -0
- package/dist/solid/features/hover.js +16 -0
- package/dist/solid/features/hover.js.map +1 -0
- package/dist/solid/features/in-view.d.ts +5 -0
- package/dist/solid/features/in-view.d.ts.map +1 -0
- package/dist/solid/features/in-view.js +16 -0
- package/dist/solid/features/in-view.js.map +1 -0
- package/dist/solid/features/input.d.ts +26 -0
- package/dist/solid/features/input.d.ts.map +1 -0
- package/dist/solid/features/input.js +31 -0
- package/dist/solid/features/input.js.map +1 -0
- package/dist/solid/features/keys.d.ts +70 -0
- package/dist/solid/features/keys.d.ts.map +1 -0
- package/dist/solid/features/keys.js +26 -0
- package/dist/solid/features/keys.js.map +1 -0
- package/dist/solid/features/layout.d.ts +32 -0
- package/dist/solid/features/layout.d.ts.map +1 -0
- package/dist/solid/features/layout.js +34 -0
- package/dist/solid/features/layout.js.map +1 -0
- package/dist/solid/features/pan.d.ts +5 -0
- package/dist/solid/features/pan.d.ts.map +1 -0
- package/dist/solid/features/pan.js +16 -0
- package/dist/solid/features/pan.js.map +1 -0
- package/dist/solid/features/press.d.ts +11 -0
- package/dist/solid/features/press.d.ts.map +1 -0
- package/dist/solid/features/press.js +10 -0
- package/dist/solid/features/press.js.map +1 -0
- package/dist/solid/focus-sensor.d.ts +19 -0
- package/dist/solid/focus-sensor.d.ts.map +1 -0
- package/dist/solid/focus-sensor.js +23 -0
- package/dist/solid/focus-sensor.js.map +1 -0
- package/dist/solid/frame-time.d.ts +21 -0
- package/dist/solid/frame-time.d.ts.map +1 -0
- package/dist/solid/frame-time.js +41 -0
- package/dist/solid/frame-time.js.map +1 -0
- package/dist/solid/gesture-callbacks.d.ts +53 -0
- package/dist/solid/gesture-callbacks.d.ts.map +1 -0
- package/dist/solid/gesture-callbacks.js +184 -0
- package/dist/solid/gesture-callbacks.js.map +1 -0
- package/dist/solid/gesture-features.d.ts +28 -0
- package/dist/solid/gesture-features.d.ts.map +1 -0
- package/dist/solid/gesture-features.js +29 -0
- package/dist/solid/gesture-features.js.map +1 -0
- package/dist/solid/gesture-info.d.ts +59 -0
- package/dist/solid/gesture-info.d.ts.map +1 -0
- package/dist/solid/gesture-info.js +23 -0
- package/dist/solid/gesture-info.js.map +1 -0
- package/dist/solid/hover-sensor.d.ts +19 -0
- package/dist/solid/hover-sensor.d.ts.map +1 -0
- package/dist/solid/hover-sensor.js +23 -0
- package/dist/solid/hover-sensor.js.map +1 -0
- package/dist/solid/imperative.d.ts +195 -0
- package/dist/solid/imperative.d.ts.map +1 -0
- package/dist/solid/imperative.js +536 -0
- package/dist/solid/imperative.js.map +1 -0
- package/dist/solid/index.d.ts +180 -0
- package/dist/solid/index.d.ts.map +1 -0
- package/dist/solid/index.js +165 -0
- package/dist/solid/index.js.map +1 -0
- package/dist/solid/instant.d.ts +44 -0
- package/dist/solid/instant.d.ts.map +1 -0
- package/dist/solid/instant.js +49 -0
- package/dist/solid/instant.js.map +1 -0
- package/dist/solid/layout-group.d.ts +14 -0
- package/dist/solid/layout-group.d.ts.map +1 -0
- package/dist/solid/layout-group.js +27 -0
- package/dist/solid/layout-group.js.map +1 -0
- package/dist/solid/layout-member.d.ts +117 -0
- package/dist/solid/layout-member.d.ts.map +1 -0
- package/dist/solid/layout-member.js +164 -0
- package/dist/solid/layout-member.js.map +1 -0
- package/dist/solid/layout-projection.d.ts +22 -0
- package/dist/solid/layout-projection.d.ts.map +1 -0
- package/dist/solid/layout-projection.js +19 -0
- package/dist/solid/layout-projection.js.map +1 -0
- package/dist/solid/layout.d.ts +76 -0
- package/dist/solid/layout.d.ts.map +1 -0
- package/dist/solid/layout.jsx +80 -0
- package/dist/solid/layout.jsx.map +1 -0
- package/dist/solid/live-style.d.ts +147 -0
- package/dist/solid/live-style.d.ts.map +1 -0
- package/dist/solid/live-style.js +304 -0
- package/dist/solid/live-style.js.map +1 -0
- package/dist/solid/live-value.d.ts +144 -0
- package/dist/solid/live-value.d.ts.map +1 -0
- package/dist/solid/live-value.js +223 -0
- package/dist/solid/live-value.js.map +1 -0
- package/dist/solid/motion-props.d.ts +75 -0
- package/dist/solid/motion-props.d.ts.map +1 -0
- package/dist/solid/motion-props.js +314 -0
- package/dist/solid/motion-props.js.map +1 -0
- package/dist/solid/owner-scope.d.ts +16 -0
- package/dist/solid/owner-scope.d.ts.map +1 -0
- package/dist/solid/owner-scope.js +31 -0
- package/dist/solid/owner-scope.js.map +1 -0
- package/dist/solid/page-point.d.ts +35 -0
- package/dist/solid/page-point.d.ts.map +1 -0
- package/dist/solid/page-point.js +87 -0
- package/dist/solid/page-point.js.map +1 -0
- package/dist/solid/presence-controller.d.ts +122 -0
- package/dist/solid/presence-controller.d.ts.map +1 -0
- package/dist/solid/presence-controller.js +1207 -0
- package/dist/solid/presence-controller.js.map +1 -0
- package/dist/solid/presence-record.d.ts +167 -0
- package/dist/solid/presence-record.d.ts.map +1 -0
- package/dist/solid/presence-record.js +26 -0
- package/dist/solid/presence-record.js.map +1 -0
- package/dist/solid/presence.d.ts +95 -0
- package/dist/solid/presence.d.ts.map +1 -0
- package/dist/solid/presence.jsx +195 -0
- package/dist/solid/presence.jsx.map +1 -0
- package/dist/solid/press-sensor.d.ts +20 -0
- package/dist/solid/press-sensor.d.ts.map +1 -0
- package/dist/solid/press-sensor.js +24 -0
- package/dist/solid/press-sensor.js.map +1 -0
- package/dist/solid/press.d.ts +24 -0
- package/dist/solid/press.d.ts.map +1 -0
- package/dist/solid/press.js +19 -0
- package/dist/solid/press.js.map +1 -0
- package/dist/solid/provider.d.ts +263 -0
- package/dist/solid/provider.d.ts.map +1 -0
- package/dist/solid/provider.jsx +411 -0
- package/dist/solid/provider.jsx.map +1 -0
- package/dist/solid/reactivity.d.ts +27 -0
- package/dist/solid/reactivity.d.ts.map +1 -0
- package/dist/solid/reactivity.js +9 -0
- package/dist/solid/reactivity.js.map +1 -0
- package/dist/solid/reorder-input.d.ts +22 -0
- package/dist/solid/reorder-input.d.ts.map +1 -0
- package/dist/solid/reorder-input.js +45 -0
- package/dist/solid/reorder-input.js.map +1 -0
- package/dist/solid/reorder.d.ts +241 -0
- package/dist/solid/reorder.d.ts.map +1 -0
- package/dist/solid/reorder.jsx +427 -0
- package/dist/solid/reorder.jsx.map +1 -0
- package/dist/solid/retarget-legs.d.ts +189 -0
- package/dist/solid/retarget-legs.d.ts.map +1 -0
- package/dist/solid/retarget-legs.js +825 -0
- package/dist/solid/retarget-legs.js.map +1 -0
- package/dist/solid/runtime.d.ts +179 -0
- package/dist/solid/runtime.d.ts.map +1 -0
- package/dist/solid/runtime.js +237 -0
- package/dist/solid/runtime.js.map +1 -0
- package/dist/solid/sensors.d.ts +95 -0
- package/dist/solid/sensors.d.ts.map +1 -0
- package/dist/solid/sensors.js +154 -0
- package/dist/solid/sensors.js.map +1 -0
- package/dist/solid/server-interpolators.d.ts +13 -0
- package/dist/solid/server-interpolators.d.ts.map +1 -0
- package/dist/solid/server-interpolators.js +20 -0
- package/dist/solid/server-interpolators.js.map +1 -0
- package/dist/solid/server.d.ts +9 -0
- package/dist/solid/server.d.ts.map +1 -0
- package/dist/solid/server.js +20 -0
- package/dist/solid/server.js.map +1 -0
- package/dist/solid/solid-reactivity.d.ts +3 -0
- package/dist/solid/solid-reactivity.d.ts.map +1 -0
- package/dist/solid/solid-reactivity.js +19 -0
- package/dist/solid/solid-reactivity.js.map +1 -0
- package/dist/solid/spine.d.ts +597 -0
- package/dist/solid/spine.d.ts.map +1 -0
- package/dist/solid/spine.js +2761 -0
- package/dist/solid/spine.js.map +1 -0
- package/dist/solid/stagger.d.ts +29 -0
- package/dist/solid/stagger.d.ts.map +1 -0
- package/dist/solid/stagger.js +13 -0
- package/dist/solid/stagger.js.map +1 -0
- package/dist/solid/unstable/v2/bridge.d.ts +33 -0
- package/dist/solid/unstable/v2/bridge.d.ts.map +1 -0
- package/dist/solid/unstable/v2/bridge.js +76 -0
- package/dist/solid/unstable/v2/bridge.js.map +1 -0
- package/dist/solid/unstable/v2/complete.d.ts +21 -0
- package/dist/solid/unstable/v2/complete.d.ts.map +1 -0
- package/dist/solid/unstable/v2/complete.js +27 -0
- package/dist/solid/unstable/v2/complete.js.map +1 -0
- package/dist/solid/unstable/v2/config-view.d.ts +49 -0
- package/dist/solid/unstable/v2/config-view.d.ts.map +1 -0
- package/dist/solid/unstable/v2/config-view.js +114 -0
- package/dist/solid/unstable/v2/config-view.js.map +1 -0
- package/dist/solid/unstable/v2/create-animate.d.ts +31 -0
- package/dist/solid/unstable/v2/create-animate.d.ts.map +1 -0
- package/dist/solid/unstable/v2/create-animate.js +102 -0
- package/dist/solid/unstable/v2/create-animate.js.map +1 -0
- package/dist/solid/unstable/v2/cycle.d.ts +20 -0
- package/dist/solid/unstable/v2/cycle.d.ts.map +1 -0
- package/dist/solid/unstable/v2/cycle.js +30 -0
- package/dist/solid/unstable/v2/cycle.js.map +1 -0
- package/dist/solid/unstable/v2/drag-sensor.d.ts +23 -0
- package/dist/solid/unstable/v2/drag-sensor.d.ts.map +1 -0
- package/dist/solid/unstable/v2/drag-sensor.js +32 -0
- package/dist/solid/unstable/v2/drag-sensor.js.map +1 -0
- package/dist/solid/unstable/v2/element.d.ts +178 -0
- package/dist/solid/unstable/v2/element.d.ts.map +1 -0
- package/dist/solid/unstable/v2/element.jsx +325 -0
- package/dist/solid/unstable/v2/element.jsx.map +1 -0
- package/dist/solid/unstable/v2/feature-section.d.ts +12 -0
- package/dist/solid/unstable/v2/feature-section.d.ts.map +1 -0
- package/dist/solid/unstable/v2/feature-section.js +23 -0
- package/dist/solid/unstable/v2/feature-section.js.map +1 -0
- package/dist/solid/unstable/v2/focus-sensor.d.ts +13 -0
- package/dist/solid/unstable/v2/focus-sensor.d.ts.map +1 -0
- package/dist/solid/unstable/v2/focus-sensor.js +23 -0
- package/dist/solid/unstable/v2/focus-sensor.js.map +1 -0
- package/dist/solid/unstable/v2/hover-sensor.d.ts +12 -0
- package/dist/solid/unstable/v2/hover-sensor.d.ts.map +1 -0
- package/dist/solid/unstable/v2/hover-sensor.js +22 -0
- package/dist/solid/unstable/v2/hover-sensor.js.map +1 -0
- package/dist/solid/unstable/v2/index.d.ts +131 -0
- package/dist/solid/unstable/v2/index.d.ts.map +1 -0
- package/dist/solid/unstable/v2/index.js +114 -0
- package/dist/solid/unstable/v2/index.js.map +1 -0
- package/dist/solid/unstable/v2/layout-projection.d.ts +21 -0
- package/dist/solid/unstable/v2/layout-projection.d.ts.map +1 -0
- package/dist/solid/unstable/v2/layout-projection.js +18 -0
- package/dist/solid/unstable/v2/layout-projection.js.map +1 -0
- package/dist/solid/unstable/v2/layout.d.ts +47 -0
- package/dist/solid/unstable/v2/layout.d.ts.map +1 -0
- package/dist/solid/unstable/v2/layout.jsx +62 -0
- package/dist/solid/unstable/v2/layout.jsx.map +1 -0
- package/dist/solid/unstable/v2/lifecycle.d.ts +267 -0
- package/dist/solid/unstable/v2/lifecycle.d.ts.map +1 -0
- package/dist/solid/unstable/v2/lifecycle.js +457 -0
- package/dist/solid/unstable/v2/lifecycle.js.map +1 -0
- package/dist/solid/unstable/v2/live-value.d.ts +146 -0
- package/dist/solid/unstable/v2/live-value.d.ts.map +1 -0
- package/dist/solid/unstable/v2/live-value.js +235 -0
- package/dist/solid/unstable/v2/live-value.js.map +1 -0
- package/dist/solid/unstable/v2/presence-handle.d.ts +55 -0
- package/dist/solid/unstable/v2/presence-handle.d.ts.map +1 -0
- package/dist/solid/unstable/v2/presence-handle.js +119 -0
- package/dist/solid/unstable/v2/presence-handle.js.map +1 -0
- package/dist/solid/unstable/v2/presence-hooks.d.ts +51 -0
- package/dist/solid/unstable/v2/presence-hooks.d.ts.map +1 -0
- package/dist/solid/unstable/v2/presence-hooks.js +115 -0
- package/dist/solid/unstable/v2/presence-hooks.js.map +1 -0
- package/dist/solid/unstable/v2/presence.d.ts +89 -0
- package/dist/solid/unstable/v2/presence.d.ts.map +1 -0
- package/dist/solid/unstable/v2/presence.jsx +107 -0
- package/dist/solid/unstable/v2/presence.jsx.map +1 -0
- package/dist/solid/unstable/v2/press-sensor.d.ts +13 -0
- package/dist/solid/unstable/v2/press-sensor.d.ts.map +1 -0
- package/dist/solid/unstable/v2/press-sensor.js +23 -0
- package/dist/solid/unstable/v2/press-sensor.js.map +1 -0
- package/dist/solid/unstable/v2/provider.d.ts +239 -0
- package/dist/solid/unstable/v2/provider.d.ts.map +1 -0
- package/dist/solid/unstable/v2/provider.jsx +423 -0
- package/dist/solid/unstable/v2/provider.jsx.map +1 -0
- package/dist/solid/unstable/v2/reorder.d.ts +292 -0
- package/dist/solid/unstable/v2/reorder.d.ts.map +1 -0
- package/dist/solid/unstable/v2/reorder.jsx +525 -0
- package/dist/solid/unstable/v2/reorder.jsx.map +1 -0
- package/dist/solid/unstable/v2/sensors.d.ts +91 -0
- package/dist/solid/unstable/v2/sensors.d.ts.map +1 -0
- package/dist/solid/unstable/v2/sensors.js +124 -0
- package/dist/solid/unstable/v2/sensors.js.map +1 -0
- package/dist/solid/unstable/v2/solid-reactivity.d.ts +61 -0
- package/dist/solid/unstable/v2/solid-reactivity.d.ts.map +1 -0
- package/dist/solid/unstable/v2/solid-reactivity.js +62 -0
- package/dist/solid/unstable/v2/solid-reactivity.js.map +1 -0
- package/dist/solid/unstable/v2/variant-node.d.ts +51 -0
- package/dist/solid/unstable/v2/variant-node.d.ts.map +1 -0
- package/dist/solid/unstable/v2/variant-node.js +336 -0
- package/dist/solid/unstable/v2/variant-node.js.map +1 -0
- package/dist/solid/unstable/v2/w.d.ts +42 -0
- package/dist/solid/unstable/v2/w.d.ts.map +1 -0
- package/dist/solid/unstable/v2/w.jsx +22 -0
- package/dist/solid/unstable/v2/w.jsx.map +1 -0
- package/dist/solid/unstable/v2/waiters.d.ts +72 -0
- package/dist/solid/unstable/v2/waiters.d.ts.map +1 -0
- package/dist/solid/unstable/v2/waiters.js +175 -0
- package/dist/solid/unstable/v2/waiters.js.map +1 -0
- package/dist/solid/unstable/v2/ward.d.ts +393 -0
- package/dist/solid/unstable/v2/ward.d.ts.map +1 -0
- package/dist/solid/unstable/v2/ward.jsx +1475 -0
- package/dist/solid/unstable/v2/ward.jsx.map +1 -0
- package/dist/solid/unstable/v2/wardic-config.d.ts +68 -0
- package/dist/solid/unstable/v2/wardic-config.d.ts.map +1 -0
- package/dist/solid/unstable/v2/wardic-config.jsx +28 -0
- package/dist/solid/unstable/v2/wardic-config.jsx.map +1 -0
- package/dist/solid/unstable/v2/wardic.d.ts +28 -0
- package/dist/solid/unstable/v2/wardic.d.ts.map +1 -0
- package/dist/solid/unstable/v2/wardic.jsx +16 -0
- package/dist/solid/unstable/v2/wardic.jsx.map +1 -0
- package/dist/solid/variant-node.d.ts +32 -0
- package/dist/solid/variant-node.d.ts.map +1 -0
- package/dist/solid/variant-node.js +257 -0
- package/dist/solid/variant-node.js.map +1 -0
- package/dist/solid/variant-target.d.ts +102 -0
- package/dist/solid/variant-target.d.ts.map +1 -0
- package/dist/solid/variant-target.js +180 -0
- package/dist/solid/variant-target.js.map +1 -0
- package/dist/solid/variant-tree.d.ts +349 -0
- package/dist/solid/variant-tree.d.ts.map +1 -0
- package/dist/solid/variant-tree.js +358 -0
- package/dist/solid/variant-tree.js.map +1 -0
- package/dist/solid/variants.d.ts +21 -0
- package/dist/solid/variants.d.ts.map +1 -0
- package/dist/solid/variants.js +43 -0
- package/dist/solid/variants.js.map +1 -0
- package/dist/solid/w.d.ts +42 -0
- package/dist/solid/w.d.ts.map +1 -0
- package/dist/solid/w.jsx +23 -0
- package/dist/solid/w.jsx.map +1 -0
- package/dist/solid/ward-keys.d.ts +236 -0
- package/dist/solid/ward-keys.d.ts.map +1 -0
- package/dist/solid/ward-keys.js +2 -0
- package/dist/solid/ward-keys.js.map +1 -0
- package/dist/solid/wardic-component.d.ts +50 -0
- package/dist/solid/wardic-component.d.ts.map +1 -0
- package/dist/solid/wardic-component.js +74 -0
- package/dist/solid/wardic-component.js.map +1 -0
- package/dist/solid/wardic-config-value.d.ts +87 -0
- package/dist/solid/wardic-config-value.d.ts.map +1 -0
- package/dist/solid/wardic-config-value.js +106 -0
- package/dist/solid/wardic-config-value.js.map +1 -0
- package/dist/solid/wardic-config.d.ts +69 -0
- package/dist/solid/wardic-config.d.ts.map +1 -0
- package/dist/solid/wardic-config.jsx +30 -0
- package/dist/solid/wardic-config.jsx.map +1 -0
- package/dist/solid/wardic.d.ts +45 -0
- package/dist/solid/wardic.d.ts.map +1 -0
- package/dist/solid/wardic.jsx +31 -0
- package/dist/solid/wardic.jsx.map +1 -0
- package/package.json +98 -4
- package/src/animation-controls.ts +204 -0
- package/src/animation-frame.ts +32 -0
- package/src/appear.ts +804 -0
- package/src/arc.ts +34 -0
- package/src/bridge.ts +98 -0
- package/src/complete.ts +45 -0
- package/src/config.ts +805 -0
- package/src/create-animate.ts +41 -0
- package/src/create-ward.tsx +1271 -0
- package/src/cycle-index.ts +18 -0
- package/src/cycle.ts +34 -0
- package/src/directive.ts +87 -0
- package/src/drag-constraints.ts +103 -0
- package/src/drag-controls.ts +94 -0
- package/src/drag-samples.ts +54 -0
- package/src/drag-sensor.ts +46 -0
- package/src/drag-track.ts +937 -0
- package/src/drag-transition.ts +43 -0
- package/src/drag.ts +58 -0
- package/src/element-style.ts +112 -0
- package/src/element.tsx +400 -0
- package/src/feature-section.ts +33 -0
- package/src/feature.ts +342 -0
- package/src/features/all.ts +18 -0
- package/src/features/colors.ts +36 -0
- package/src/features/dom-animation.ts +15 -0
- package/src/features/dom-max.ts +11 -0
- package/src/features/drag.ts +30 -0
- package/src/features/focus.ts +17 -0
- package/src/features/hover.ts +17 -0
- package/src/features/in-view.ts +17 -0
- package/src/features/input.ts +42 -0
- package/src/features/keys.ts +89 -0
- package/src/features/layout.ts +54 -0
- package/src/features/pan.ts +17 -0
- package/src/features/press.ts +17 -0
- package/src/focus-sensor.ts +32 -0
- package/src/frame-time.ts +45 -0
- package/src/gesture-callbacks.ts +212 -0
- package/src/gesture-features.ts +35 -0
- package/src/gesture-info.ts +81 -0
- package/src/hover-sensor.ts +32 -0
- package/src/imperative.ts +782 -0
- package/src/index.ts +334 -0
- package/src/instant.ts +90 -0
- package/src/layout-group.ts +32 -0
- package/src/layout-member.ts +300 -0
- package/src/layout-projection.ts +28 -0
- package/src/layout.tsx +127 -0
- package/src/live-style.ts +449 -0
- package/src/live-value.ts +378 -0
- package/src/motion-props.ts +325 -0
- package/src/owner-scope.ts +31 -0
- package/src/page-point.ts +98 -0
- package/src/presence-controller.ts +1483 -0
- package/src/presence-record.ts +189 -0
- package/src/presence.tsx +269 -0
- package/src/press-sensor.ts +33 -0
- package/src/press.ts +40 -0
- package/src/provider.tsx +526 -0
- package/src/reactivity.ts +29 -0
- package/src/reorder-input.ts +53 -0
- package/src/reorder.tsx +703 -0
- package/src/retarget-legs.ts +1048 -0
- package/src/runtime.ts +388 -0
- package/src/sensors.ts +189 -0
- package/src/server-interpolators.ts +33 -0
- package/src/server.ts +21 -0
- package/src/solid-reactivity.ts +21 -0
- package/src/spine.ts +3385 -0
- package/src/stagger.ts +31 -0
- package/src/unstable/v2/bridge.ts +79 -0
- package/src/unstable/v2/complete.ts +47 -0
- package/src/unstable/v2/config-view.ts +156 -0
- package/src/unstable/v2/create-animate.ts +123 -0
- package/src/unstable/v2/cycle.ts +33 -0
- package/src/unstable/v2/drag-sensor.ts +44 -0
- package/src/unstable/v2/element.tsx +478 -0
- package/src/unstable/v2/feature-section.ts +32 -0
- package/src/unstable/v2/focus-sensor.ts +31 -0
- package/src/unstable/v2/hover-sensor.ts +30 -0
- package/src/unstable/v2/index.ts +270 -0
- package/src/unstable/v2/layout-projection.ts +27 -0
- package/src/unstable/v2/layout.tsx +89 -0
- package/src/unstable/v2/lifecycle.ts +612 -0
- package/src/unstable/v2/live-value.ts +414 -0
- package/src/unstable/v2/presence-handle.ts +159 -0
- package/src/unstable/v2/presence-hooks.ts +157 -0
- package/src/unstable/v2/presence.tsx +174 -0
- package/src/unstable/v2/press-sensor.ts +31 -0
- package/src/unstable/v2/provider.tsx +524 -0
- package/src/unstable/v2/reorder.tsx +880 -0
- package/src/unstable/v2/sensors.ts +169 -0
- package/src/unstable/v2/solid-reactivity.ts +69 -0
- package/src/unstable/v2/variant-node.ts +446 -0
- package/src/unstable/v2/w.tsx +49 -0
- package/src/unstable/v2/waiters.ts +212 -0
- package/src/unstable/v2/ward.tsx +2068 -0
- package/src/unstable/v2/wardic-config.tsx +84 -0
- package/src/unstable/v2/wardic.tsx +41 -0
- package/src/variant-node.ts +368 -0
- package/src/variant-target.ts +234 -0
- package/src/variant-tree.ts +638 -0
- package/src/variants.ts +47 -0
- package/src/w.tsx +59 -0
- package/src/ward-keys.ts +343 -0
- package/src/wardic-component.ts +96 -0
- package/src/wardic-config-value.ts +150 -0
- package/src/wardic-config.tsx +78 -0
- package/src/wardic.tsx +59 -0
|
@@ -0,0 +1,449 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Live values in `style` (#130, ADR-0043): which of a user's `style` keys Wardic writes through the
|
|
3
|
+
* flush gate, what each is now, and when one changes.
|
|
4
|
+
*
|
|
5
|
+
* A key is **routed** when its value is live (an `effect/reactivity` Atom, or an accessor: a signal,
|
|
6
|
+
* a memo, `createTransform`'s) or when it's a transform key (`x`, `scale`, `rotate`…), live or not
|
|
7
|
+
* (decisions 2 and 4). A routed key is the key's `style` link, followed while no entry of the
|
|
8
|
+
* Override stack sets it (decision 1), and Wardic writes it: the gate composes the transform keys
|
|
9
|
+
* into `transform` with its own, and commits the rest once a frame. So Solid's `style` never
|
|
10
|
+
* carries one. A user's own `transform` string applies while no transform key is set; with one,
|
|
11
|
+
* the keys win (Motion's rule): the gate holds `transform`, so Solid never writes the string, and a
|
|
12
|
+
* warning is logged once per element.
|
|
13
|
+
*
|
|
14
|
+
* The binding reads its user's style reactively in one place, its element's `style`, so that's
|
|
15
|
+
* where `css` sees each new one. Following starts at mount, or at the first routed key after it
|
|
16
|
+
* (`whenRouted`): from then on, a change of a routed key's value, a new source for it, or its
|
|
17
|
+
* leaving the style, is told to the spine, which writes it while nothing else owns the key. An Atom is subscribed; an accessor gets its own
|
|
18
|
+
* computation, one per key, so a change runs only that.
|
|
19
|
+
*
|
|
20
|
+
* Solid-free: both bindings run it, each giving its own Solid as a {@link Reactivity} (#209).
|
|
21
|
+
*/
|
|
22
|
+
import * as BaseValue from "@wardic/core/BaseValue"
|
|
23
|
+
import * as LiveValue from "@wardic/core/LiveValue"
|
|
24
|
+
import type * as Values from "@wardic/core/Values"
|
|
25
|
+
import * as Style from "@wardic/dom/Style"
|
|
26
|
+
import * as Arr from "effect/Array"
|
|
27
|
+
import * as Bool from "effect/Boolean"
|
|
28
|
+
import { constVoid } from "effect/Function"
|
|
29
|
+
import * as Option from "effect/Option"
|
|
30
|
+
import * as Predicate from "effect/Predicate"
|
|
31
|
+
import { Atom, AtomRegistry } from "effect/reactivity"
|
|
32
|
+
import * as Rec from "effect/Record"
|
|
33
|
+
import * as UndefinedOr from "effect/UndefinedOr"
|
|
34
|
+
import type { WardicInertia } from "./config.ts"
|
|
35
|
+
import type { Accessor, Reactivity } from "./reactivity.ts"
|
|
36
|
+
import type { WardicRuntime } from "./runtime.ts"
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* A live value as Solid takes it: an accessor, such as a signal, a memo or another live value, or an
|
|
40
|
+
* `effect/reactivity` Atom. An element's `style` follows it, and the `create*` live values take it.
|
|
41
|
+
*/
|
|
42
|
+
export type LiveSource<A> = Atom.Atom<A> | Accessor<A>
|
|
43
|
+
|
|
44
|
+
/** A `style` value: a plain value, or a live one ({@link LiveSource}), which the element follows. */
|
|
45
|
+
export type Live<A> = A | LiveSource<A>
|
|
46
|
+
|
|
47
|
+
/** A user's style as a binding hands it over: a record, CSS text, or none. */
|
|
48
|
+
type StyleInput = object | string | undefined
|
|
49
|
+
|
|
50
|
+
/** Whether a style value is live: an Atom, or an accessor. */
|
|
51
|
+
export const isLive = (value: unknown): value is LiveSource<unknown> => Bool.or(Atom.isAtom(value), Predicate.isFunction(value))
|
|
52
|
+
|
|
53
|
+
/** Where an accessor keeps the Atom it carries (#209 PR 3's Q2). */
|
|
54
|
+
const CARRIED = Symbol.for("@wardic/solid/carried")
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* `accessor`, carrying `atom`: the Atom it reads, so a `style` that's given it follows the Atom
|
|
58
|
+
* itself, set where the Atom is, rather than the accessor through Solid (#209 PR 3's Q2). On Solid
|
|
59
|
+
* 2 an accessor's change shows at Solid's flush, after the gate's write: a value derived from a
|
|
60
|
+
* ward's would paint a frame late. Both must give the same value.
|
|
61
|
+
*/
|
|
62
|
+
export const carry = <A>(accessor: Accessor<A>, atom: Atom.Atom<A>): Accessor<A> =>
|
|
63
|
+
Object.defineProperty(accessor, CARRIED, { value: atom })
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* `createFollowValue`'s transition, in seconds: a spring (with no `type`), a tween or an inertia, an
|
|
67
|
+
* inertia's `timeConstant` in milliseconds, as a `transition`'s; and `skipInitialAnimation`, to make
|
|
68
|
+
* the source's first change a jump. Motion's `FollowValueOptions`.
|
|
69
|
+
*/
|
|
70
|
+
// #441; an inertia's `timeConstant` in milliseconds, as a transition's (#435).
|
|
71
|
+
export type FollowValueOptions = (Exclude<LiveValue.FollowTransition, { readonly type: "inertia" }> | WardicInertia) & LiveValue.FollowSkips
|
|
72
|
+
|
|
73
|
+
/** `options` as core's `LiveValue.follow` takes them: an inertia's `timeConstant` in seconds. */
|
|
74
|
+
export const followOptionsOf = (options: FollowValueOptions): LiveValue.FollowOptions =>
|
|
75
|
+
Bool.match(options.type === "inertia", {
|
|
76
|
+
onTrue: () =>
|
|
77
|
+
({
|
|
78
|
+
...options,
|
|
79
|
+
...UndefinedOr.match((options as WardicInertia).timeConstant, { onUndefined: () => ({}), onDefined: (ms) => ({ timeConstant: ms / 1000 }) }),
|
|
80
|
+
}) as LiveValue.FollowOptions,
|
|
81
|
+
onFalse: () => options as LiveValue.FollowOptions,
|
|
82
|
+
})
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
* A followed value, as an accessor: a number, or a string with its unit, as its source is. Its `jump`
|
|
86
|
+
* puts it somewhere at once.
|
|
87
|
+
*/
|
|
88
|
+
// A Follow value (#441), carrying its Atom; `createSpring`'s since #257 item 7.
|
|
89
|
+
export interface FollowAccessor<A extends number | string = number> extends Accessor<A> {
|
|
90
|
+
/**
|
|
91
|
+
* Set it to `value` at once, not as motion (Motion's `MotionValue.jump`): its run ends there with
|
|
92
|
+
* no velocity, and it rests there until its source next changes, then animates from there. A
|
|
93
|
+
* `createVelocity` of it reads 0 across the jump. A string's number is read as the follow reads
|
|
94
|
+
* its source's, and shown with the follow's unit. On a server, it does nothing.
|
|
95
|
+
*/
|
|
96
|
+
// A method, bivariant: one implementation serves the number and the string overloads.
|
|
97
|
+
jump(value: A): void
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
/** `createSpring`'s value: a spring's {@link FollowAccessor}. */
|
|
101
|
+
export type SpringAccessor<A extends number | string = number> = FollowAccessor<A>
|
|
102
|
+
|
|
103
|
+
/** The Atom of numbers each unit follow's Atom of strings shows ({@link withUnit}), for its `jump`. */
|
|
104
|
+
// Module state (#460, Q7): a cache held weakly by the object it's for, so it goes with it.
|
|
105
|
+
const UNIT_NUMBERS = new WeakMap<object, Atom.Atom<number>>()
|
|
106
|
+
|
|
107
|
+
/** A unit string's unit, as Motion's follower reads it (#441): what's left after its digits, `.` and `-`. */
|
|
108
|
+
export const unitOf = (value: string): string => value.replace(/[\d.-]/g, "")
|
|
109
|
+
|
|
110
|
+
/**
|
|
111
|
+
* `numbers`, a follow of a unit string's numbers, shown with `unit` (#441, Motion's follower: the
|
|
112
|
+
* unit its source started with, whatever a later one says). Its `jump` reaches `numbers`.
|
|
113
|
+
*/
|
|
114
|
+
export const withUnit =
|
|
115
|
+
(unit: string) =>
|
|
116
|
+
(numbers: Atom.Atom<number>): Atom.Atom<string> => {
|
|
117
|
+
const strings = Atom.map(numbers, (n) => `${n}${unit}`)
|
|
118
|
+
UNIT_NUMBERS.set(strings, numbers)
|
|
119
|
+
return strings
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
/** A value a follow reads: a number as it is, a string as `parseFloat` reads it, as Motion's follower does. */
|
|
123
|
+
export const numberOf = (value: number | string): number =>
|
|
124
|
+
Bool.match(Predicate.isString(value), { onTrue: () => Number.parseFloat(value as string), onFalse: () => value as number })
|
|
125
|
+
|
|
126
|
+
/** `accessor`, carrying a follow's Atom, with `jump` run on `runtime`. */
|
|
127
|
+
export const followAccessorOf = <A extends number | string>(runtime: WardicRuntime, accessor: Accessor<A>): FollowAccessor<A> => {
|
|
128
|
+
const atom = atomOf(accessor) as Atom.Atom<A>
|
|
129
|
+
// A follow's own Atom, by construction: the one kind `jump` takes (#618).
|
|
130
|
+
const numbers = UndefinedOr.match(UNIT_NUMBERS.get(atom), { onUndefined: () => atom, onDefined: (n) => n }) as unknown as LiveValue.Followed
|
|
131
|
+
return Object.assign(accessor, {
|
|
132
|
+
jump: (value: A): void => {
|
|
133
|
+
runtime.runSync(LiveValue.jump(numbers, numberOf(value)))
|
|
134
|
+
},
|
|
135
|
+
})
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
/** A server's follow: `read`, as it is now, and a `jump` that does nothing (ADR-0021). */
|
|
139
|
+
export const serverFollowOf = <A extends number | string>(read: Accessor<A>): FollowAccessor<A> => Object.assign(() => read(), { jump: constVoid })
|
|
140
|
+
|
|
141
|
+
/** The Atom a Live value is, or carries: `undefined` for a plain accessor or a plain value. Per key, per change: guards, no matcher. */
|
|
142
|
+
export const atomOf = (value: unknown): Atom.Atom<unknown> | undefined => {
|
|
143
|
+
if (Atom.isAtom(value)) return value as Atom.Atom<unknown>
|
|
144
|
+
if (Bool.not(Predicate.isFunction(value))) return undefined
|
|
145
|
+
return (value as { readonly [CARRIED]?: Atom.Atom<unknown> })[CARRIED]
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
/** Whether `key` is a transform key, composed into `transform` (`x`, `scale`, `rotate`…). */
|
|
149
|
+
export const isTransformKey = (key: string): boolean => Option.isSome(BaseValue.transformIdentity(key))
|
|
150
|
+
|
|
151
|
+
/** A style value, read now: an Atom (or the one an accessor carries) through `registry`, an accessor untracked, anything else as it is. */
|
|
152
|
+
export const readLive = (value: unknown, registry: () => AtomRegistry.AtomRegistry, untrack: Reactivity["untrack"]): unknown => {
|
|
153
|
+
const atom = atomOf(value)
|
|
154
|
+
if (Predicate.isNotUndefined(atom)) return registry().get(atom)
|
|
155
|
+
if (Predicate.isFunction(value)) return untrack(value as Accessor<unknown>)
|
|
156
|
+
return value
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
/** Whether a style's `key` is routed: its value is live, or it's a transform key with a value. */
|
|
160
|
+
const isRouted = (value: unknown, key: string): boolean =>
|
|
161
|
+
Bool.and(Predicate.isNotNullish(value), Bool.or(isLive(value), isTransformKey(key)))
|
|
162
|
+
|
|
163
|
+
/** A user's style split: what Solid's `style` carries, and the routed keys' sources. */
|
|
164
|
+
export interface Split {
|
|
165
|
+
/** The style without the routed keys. The user's own when nothing is routed. */
|
|
166
|
+
readonly css: StyleInput
|
|
167
|
+
/** Each routed key's value as given: an Atom, an accessor, or a transform key's plain value. */
|
|
168
|
+
readonly routed: Readonly<Record<string, unknown>>
|
|
169
|
+
/** Whether a `transform` string was dropped for the transform keys. */
|
|
170
|
+
readonly droppedTransform: boolean
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
const NOTHING_ROUTED: Readonly<Record<string, unknown>> = {}
|
|
174
|
+
const NO_VALUES: Values.Values = {}
|
|
175
|
+
/** No style: nothing routed. */
|
|
176
|
+
const NO_STYLE: Split = { css: undefined, routed: NOTHING_ROUTED, droppedTransform: false }
|
|
177
|
+
|
|
178
|
+
/** A user's style, split into Solid's part and the routed keys (CSS text parsed when it has one). */
|
|
179
|
+
export const split = (user: StyleInput): Split => {
|
|
180
|
+
if (Predicate.isUndefined(user)) return NO_STYLE
|
|
181
|
+
const record = Style.over(user, undefined)
|
|
182
|
+
const routed = Rec.filter(record, isRouted)
|
|
183
|
+
if (Rec.isEmptyRecord(routed)) return { css: user, routed: NOTHING_ROUTED, droppedTransform: false }
|
|
184
|
+
const droppedTransform = Bool.and(Arr.some(Rec.keys(routed), isTransformKey), Predicate.isNotNullish(record["transform"]))
|
|
185
|
+
// A `transform` string stays: the gate holds `transform` while a transform key is routed, so it's
|
|
186
|
+
// left out of what Solid writes, and shows again once none is.
|
|
187
|
+
const css = Rec.filter(record, (_, key) => Bool.not(Object.hasOwn(routed, key)))
|
|
188
|
+
return { css, routed, droppedTransform }
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
/** The routed keys' values, read now: the numbers and strings among them, as a values map. */
|
|
192
|
+
export const valuesOf = (
|
|
193
|
+
routed: Readonly<Record<string, unknown>>,
|
|
194
|
+
registry: () => AtomRegistry.AtomRegistry,
|
|
195
|
+
untrack: Reactivity["untrack"],
|
|
196
|
+
): Values.Values =>
|
|
197
|
+
Bool.match(routed === NOTHING_ROUTED, {
|
|
198
|
+
onTrue: () => NO_VALUES,
|
|
199
|
+
onFalse: () => Style.toValues(Rec.map(routed, (value) => readLive(value, registry, untrack))),
|
|
200
|
+
})
|
|
201
|
+
|
|
202
|
+
/** What the spine hears while it follows. */
|
|
203
|
+
export interface Follower {
|
|
204
|
+
/** A routed key's value changed, or its source did: `value` is its value now. */
|
|
205
|
+
readonly change: (key: string, value: unknown) => void
|
|
206
|
+
/** A routed key left the style. */
|
|
207
|
+
readonly removed: (key: string) => void
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
/** An element's routed `style` keys, seen through its `style` and followed from mount. */
|
|
211
|
+
export interface LiveStyle {
|
|
212
|
+
/** Sees the user's `style` (reconciling the routed keys), and gives Solid's part of it. Called where the binding reads it reactively. */
|
|
213
|
+
readonly css: (user: StyleInput) => StyleInput
|
|
214
|
+
/** The routed keys' values now, as a values map: the Starting style's. */
|
|
215
|
+
readonly values: () => Values.Values
|
|
216
|
+
/** Whether `key` is routed now. */
|
|
217
|
+
readonly routes: (key: string) => boolean
|
|
218
|
+
/** A routed key's value now, `None` when it isn't routed. */
|
|
219
|
+
readonly valueOf: (key: string) => Option.Option<unknown>
|
|
220
|
+
/** Whether a routed key's source is live, so a return to it follows it (decision 6). */
|
|
221
|
+
readonly isLive: (key: string) => boolean
|
|
222
|
+
/**
|
|
223
|
+
* Its `willChange`'s turn-on, when its style gives it a `createWillChange` value (#443), as
|
|
224
|
+
* `willChange` or `will-change`; `undefined` otherwise, at once for a style that routes nothing.
|
|
225
|
+
*/
|
|
226
|
+
readonly willChange: () => (() => void) | undefined
|
|
227
|
+
/** A style value read now, live or not. */
|
|
228
|
+
readonly read: (value: unknown) => unknown
|
|
229
|
+
/**
|
|
230
|
+
* Follow, from the first routed key on: `setup` is called once, at once if a key is routed now,
|
|
231
|
+
* else when one first is, and the follower it gives hears every change from then on, until
|
|
232
|
+
* `stop`. Its first call is where the element's routed keys are first written. An element whose
|
|
233
|
+
* `style` never routes a key never calls it.
|
|
234
|
+
*/
|
|
235
|
+
readonly whenRouted: (setup: () => Follower) => void
|
|
236
|
+
/** Stop following, and every watch with it. */
|
|
237
|
+
readonly stop: () => void
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
/** What {@link createLiveStyle} reads. */
|
|
241
|
+
export interface LiveStyleOptions {
|
|
242
|
+
/** The registry Atoms are read through: the provider's on a client, a fresh one on a server. */
|
|
243
|
+
readonly registry: () => AtomRegistry.AtomRegistry
|
|
244
|
+
/** Called once, the first time a `transform` string is dropped for the transform keys. */
|
|
245
|
+
readonly onDroppedTransform?: (() => void) | undefined
|
|
246
|
+
/** The binding's Solid: accessors are read untracked, and watched, through it (#209). */
|
|
247
|
+
readonly reactivity: Reactivity
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
/** A {@link LiveStyle}'s state: one object per element, its methods on {@link Proto}. */
|
|
251
|
+
interface State extends LiveStyle {
|
|
252
|
+
readonly registry: () => AtomRegistry.AtomRegistry
|
|
253
|
+
readonly onDroppedTransform: (() => void) | undefined
|
|
254
|
+
readonly reactivity: Reactivity
|
|
255
|
+
routed: Readonly<Record<string, unknown>>
|
|
256
|
+
seen: StyleInput
|
|
257
|
+
last: StyleInput
|
|
258
|
+
warned: boolean
|
|
259
|
+
follower: Follower | undefined
|
|
260
|
+
// The follower's setup, until a key is first routed.
|
|
261
|
+
pending: (() => Follower) | undefined
|
|
262
|
+
// While following: each routed key's stop (an Atom's unsubscribe, an accessor's root disposal),
|
|
263
|
+
// made at the first watch: most elements watch none.
|
|
264
|
+
watching: Map<string, () => void> | undefined
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
/**
|
|
268
|
+
* Watch `key`'s live source for `to`: an Atom, or the one an accessor carries, subscribed; any
|
|
269
|
+
* other accessor in a computation of its own.
|
|
270
|
+
*/
|
|
271
|
+
const watch = (self: State, key: string, source: unknown, to: Follower): void => {
|
|
272
|
+
if (Bool.not(isLive(source))) return
|
|
273
|
+
if (Predicate.isUndefined(self.watching)) self.watching = new Map()
|
|
274
|
+
const atom = atomOf(source)
|
|
275
|
+
if (Predicate.isNotUndefined(atom)) {
|
|
276
|
+
self.watching.set(key, self.registry().subscribe(atom, (value) => to.change(key, value)))
|
|
277
|
+
return
|
|
278
|
+
}
|
|
279
|
+
self.watching.set(key, self.reactivity.watch(source as Accessor<unknown>, (value) => to.change(key, value)))
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
const unwatch = (self: State, key: string): void => {
|
|
283
|
+
if (Predicate.isUndefined(self.watching)) return
|
|
284
|
+
const stop = self.watching.get(key)
|
|
285
|
+
if (Predicate.isUndefined(stop)) return
|
|
286
|
+
self.watching.delete(key)
|
|
287
|
+
stop()
|
|
288
|
+
}
|
|
289
|
+
|
|
290
|
+
/** Build the follower and watch every routed key. */
|
|
291
|
+
const start = (self: State, setup: () => Follower): void => {
|
|
292
|
+
self.pending = undefined
|
|
293
|
+
const to = setup()
|
|
294
|
+
self.follower = to
|
|
295
|
+
Arr.forEach(Rec.keys(self.routed), (key) => watch(self, key, self.routed[key], to))
|
|
296
|
+
}
|
|
297
|
+
|
|
298
|
+
/** The routed keys now `next`: what left is removed, what's new or changed is watched and told. */
|
|
299
|
+
const reconcile = (self: State, next: Readonly<Record<string, unknown>>): void => {
|
|
300
|
+
const prev = self.routed
|
|
301
|
+
// Nothing routed, as before: the usual style.
|
|
302
|
+
if (next === prev) return
|
|
303
|
+
self.routed = next
|
|
304
|
+
// The first routed key: the follower's setup writes them all.
|
|
305
|
+
if (Bool.and(Predicate.isNotUndefined(self.pending), Bool.not(Rec.isEmptyRecord(next)))) {
|
|
306
|
+
start(self, UndefinedOr.getOrThrow(self.pending))
|
|
307
|
+
return
|
|
308
|
+
}
|
|
309
|
+
const to = self.follower
|
|
310
|
+
if (Predicate.isUndefined(to)) return
|
|
311
|
+
Arr.forEach(Rec.keys(prev), (key) => {
|
|
312
|
+
if (Object.hasOwn(next, key)) return
|
|
313
|
+
unwatch(self, key)
|
|
314
|
+
to.removed(key)
|
|
315
|
+
})
|
|
316
|
+
Arr.forEach(Rec.keys(next), (key) => {
|
|
317
|
+
const source = next[key]
|
|
318
|
+
if (Bool.and(Object.hasOwn(prev, key), prev[key] === source)) return
|
|
319
|
+
unwatch(self, key)
|
|
320
|
+
watch(self, key, source, to)
|
|
321
|
+
to.change(key, readLive(source, self.registry, self.reactivity.untrack))
|
|
322
|
+
})
|
|
323
|
+
}
|
|
324
|
+
|
|
325
|
+
const Proto: Omit<LiveStyle, never> & ThisType<State> = {
|
|
326
|
+
css(user) {
|
|
327
|
+
// The same style object as last time: the same answer (Solid may read `style` more than once).
|
|
328
|
+
if (Bool.and(user === this.seen, Predicate.isNotUndefined(this.seen))) return this.last
|
|
329
|
+
this.seen = user
|
|
330
|
+
const parts = split(user)
|
|
331
|
+
if (Bool.and(parts.droppedTransform, Bool.not(this.warned))) {
|
|
332
|
+
this.warned = true
|
|
333
|
+
UndefinedOr.match(this.onDroppedTransform, { onUndefined: constVoid, onDefined: (warn) => warn() })
|
|
334
|
+
}
|
|
335
|
+
this.last = parts.css
|
|
336
|
+
reconcile(this, parts.routed)
|
|
337
|
+
return this.last
|
|
338
|
+
},
|
|
339
|
+
values() {
|
|
340
|
+
return valuesOf(this.routed, this.registry, this.reactivity.untrack)
|
|
341
|
+
},
|
|
342
|
+
routes(key) {
|
|
343
|
+
return Object.hasOwn(this.routed, key)
|
|
344
|
+
},
|
|
345
|
+
valueOf(key) {
|
|
346
|
+
return Option.map(Option.liftPredicate(this.routed, (routed) => Object.hasOwn(routed, key)), (routed) => readLive(routed[key], this.registry, this.reactivity.untrack))
|
|
347
|
+
},
|
|
348
|
+
isLive(key) {
|
|
349
|
+
return Bool.and(Object.hasOwn(this.routed, key), isLive(this.routed[key]))
|
|
350
|
+
},
|
|
351
|
+
willChange() {
|
|
352
|
+
const routed = this.routed
|
|
353
|
+
if (routed === NOTHING_ROUTED) return undefined
|
|
354
|
+
if (Object.hasOwn(routed, "willChange")) return turnOnOf(routed["willChange"])
|
|
355
|
+
if (Object.hasOwn(routed, "will-change")) return turnOnOf(routed["will-change"])
|
|
356
|
+
return undefined
|
|
357
|
+
},
|
|
358
|
+
read(value) {
|
|
359
|
+
return readLive(value, this.registry, this.reactivity.untrack)
|
|
360
|
+
},
|
|
361
|
+
whenRouted(setup) {
|
|
362
|
+
if (Rec.isEmptyRecord(this.routed)) {
|
|
363
|
+
this.pending = setup
|
|
364
|
+
return
|
|
365
|
+
}
|
|
366
|
+
start(this, setup)
|
|
367
|
+
},
|
|
368
|
+
stop() {
|
|
369
|
+
this.follower = undefined
|
|
370
|
+
this.pending = undefined
|
|
371
|
+
const watching = this.watching
|
|
372
|
+
if (Predicate.isUndefined(watching)) return
|
|
373
|
+
Arr.forEach(Arr.fromIterable(watching.keys()), (key) => unwatch(this, key))
|
|
374
|
+
},
|
|
375
|
+
}
|
|
376
|
+
|
|
377
|
+
/**
|
|
378
|
+
* An element's {@link LiveStyle}: one object, its methods shared, so an element that routes nothing
|
|
379
|
+
* pays for little more than it. Creates computations for accessors while it follows; their roots
|
|
380
|
+
* are its own. Call its methods on it (`live.read(v)`), not detached.
|
|
381
|
+
*/
|
|
382
|
+
export const createLiveStyle = (options: LiveStyleOptions): LiveStyle => {
|
|
383
|
+
const state: Omit<State, keyof LiveStyle> = {
|
|
384
|
+
registry: options.registry,
|
|
385
|
+
onDroppedTransform: options.onDroppedTransform,
|
|
386
|
+
reactivity: options.reactivity,
|
|
387
|
+
routed: NOTHING_ROUTED,
|
|
388
|
+
seen: undefined,
|
|
389
|
+
last: undefined,
|
|
390
|
+
warned: false,
|
|
391
|
+
follower: undefined,
|
|
392
|
+
pending: undefined,
|
|
393
|
+
watching: undefined,
|
|
394
|
+
}
|
|
395
|
+
return Object.assign(Object.create(Proto), state)
|
|
396
|
+
}
|
|
397
|
+
|
|
398
|
+
/** A `createWillChange` value: `"auto"` until its element animates, then `"transform"`. */
|
|
399
|
+
// #443, Motion's `useWillChange`.
|
|
400
|
+
export type WillChange = "auto" | "transform"
|
|
401
|
+
|
|
402
|
+
/** Each `createWillChange` value's turn-on (#443), by its accessor and by the Atom it carries. */
|
|
403
|
+
// Module state (#460, Q7): a cache held weakly by the object it's for, so it goes with it.
|
|
404
|
+
const WILL_CHANGE = new WeakMap<object, () => void>()
|
|
405
|
+
|
|
406
|
+
/**
|
|
407
|
+
* A `createWillChange` value (#443): its Atom, `"auto"`, held in `registry` until `onCleanup` runs,
|
|
408
|
+
* as an accessor `wrap` makes. Its turn-on sets it to `"transform"`, once, for good, as Motion's
|
|
409
|
+
* `WillChangeMotionValue` stays enabled. The accessor and its Atom are both marked, so a `style` that
|
|
410
|
+
* routes either finds it.
|
|
411
|
+
*/
|
|
412
|
+
export const willChangeOf = (
|
|
413
|
+
registry: AtomRegistry.AtomRegistry,
|
|
414
|
+
onCleanup: (fn: () => void) => void,
|
|
415
|
+
wrap: (atom: Atom.Atom<WillChange>) => Accessor<WillChange>,
|
|
416
|
+
): Accessor<WillChange> => {
|
|
417
|
+
const atom = Atom.make<WillChange>("auto")
|
|
418
|
+
onCleanup(registry.mount(atom))
|
|
419
|
+
let on = false
|
|
420
|
+
const turnOn = (): void => {
|
|
421
|
+
if (on) return
|
|
422
|
+
on = true
|
|
423
|
+
registry.set(atom, "transform")
|
|
424
|
+
}
|
|
425
|
+
const accessor = wrap(atom)
|
|
426
|
+
WILL_CHANGE.set(atom, turnOn)
|
|
427
|
+
WILL_CHANGE.set(accessor, turnOn)
|
|
428
|
+
return accessor
|
|
429
|
+
}
|
|
430
|
+
|
|
431
|
+
/** A style value's will-change turn-on (#443), when it's a `createWillChange` value; `undefined` for anything else. */
|
|
432
|
+
const turnOnOf = (value: unknown): (() => void) | undefined => WILL_CHANGE.get(value as object)
|
|
433
|
+
|
|
434
|
+
/**
|
|
435
|
+
* The keys whose animation turns a will-change value on (#443, Motion's `addValueToWillChange`): the
|
|
436
|
+
* transform keys, and the ones a browser can animate on its compositor (Motion's `acceleratedValues`).
|
|
437
|
+
*/
|
|
438
|
+
const ACCELERATED: ReadonlySet<string> = new Set(["transform", "opacity", "clipPath", "clip-path", "filter", "backgroundColor", "background-color"])
|
|
439
|
+
|
|
440
|
+
/** Whether animating `key` turns a will-change value on (#443). */
|
|
441
|
+
export const turnsWillChangeOn = (key: string): boolean => Bool.or(isTransformKey(key), ACCELERATED.has(key))
|
|
442
|
+
|
|
443
|
+
/** A server's registry, made on first need: an Atom read there gives the Atom's first value (ADR-0021). */
|
|
444
|
+
// Module state (#460, Q7): built once, on a server, where no provider's runtime runs.
|
|
445
|
+
let serverRegistry: AtomRegistry.AtomRegistry | undefined
|
|
446
|
+
export const serverRegistryOf = (): AtomRegistry.AtomRegistry => {
|
|
447
|
+
if (Predicate.isUndefined(serverRegistry)) serverRegistry = AtomRegistry.make()
|
|
448
|
+
return serverRegistry
|
|
449
|
+
}
|