@wardic/solid 0.0.0-stage → 1.0.0-rc.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +26 -2
- package/THIRD_PARTY_NOTICES.md +145 -0
- package/dist/browser/animation-controls.js +150 -0
- package/dist/browser/animation-controls.js.map +1 -0
- package/dist/browser/animation-frame.js +29 -0
- package/dist/browser/animation-frame.js.map +1 -0
- package/dist/browser/appear.js +727 -0
- package/dist/browser/appear.js.map +1 -0
- package/dist/browser/arc.js +21 -0
- package/dist/browser/arc.js.map +1 -0
- package/dist/browser/bridge.js +69 -0
- package/dist/browser/bridge.js.map +1 -0
- package/dist/browser/complete.js +30 -0
- package/dist/browser/complete.js.map +1 -0
- package/dist/browser/config.js +2 -0
- package/dist/browser/config.js.map +1 -0
- package/dist/browser/create-animate.js +41 -0
- package/dist/browser/create-animate.js.map +1 -0
- package/dist/browser/create-ward.js +1001 -0
- package/dist/browser/create-ward.js.map +1 -0
- package/dist/browser/cycle-index.js +17 -0
- package/dist/browser/cycle-index.js.map +1 -0
- package/dist/browser/cycle.js +31 -0
- package/dist/browser/cycle.js.map +1 -0
- package/dist/browser/directive.js +80 -0
- package/dist/browser/directive.js.map +1 -0
- package/dist/browser/drag-constraints.js +76 -0
- package/dist/browser/drag-constraints.js.map +1 -0
- package/dist/browser/drag-controls.js +51 -0
- package/dist/browser/drag-controls.js.map +1 -0
- package/dist/browser/drag-samples.js +40 -0
- package/dist/browser/drag-samples.js.map +1 -0
- package/dist/browser/drag-sensor.js +35 -0
- package/dist/browser/drag-sensor.js.map +1 -0
- package/dist/browser/drag-track.js +817 -0
- package/dist/browser/drag-track.js.map +1 -0
- package/dist/browser/drag-transition.js +56 -0
- package/dist/browser/drag-transition.js.map +1 -0
- package/dist/browser/drag.js +44 -0
- package/dist/browser/drag.js.map +1 -0
- package/dist/browser/element-style.js +67 -0
- package/dist/browser/element-style.js.map +1 -0
- package/dist/browser/element.js +353 -0
- package/dist/browser/element.js.map +1 -0
- package/dist/browser/feature-section.js +17 -0
- package/dist/browser/feature-section.js.map +1 -0
- package/dist/browser/feature.js +261 -0
- package/dist/browser/feature.js.map +1 -0
- package/dist/browser/features/all.js +10 -0
- package/dist/browser/features/all.js.map +1 -0
- package/dist/browser/features/colors.js +33 -0
- package/dist/browser/features/colors.js.map +1 -0
- package/dist/browser/features/dom-animation.js +7 -0
- package/dist/browser/features/dom-animation.js.map +1 -0
- package/dist/browser/features/dom-max.js +4 -0
- package/dist/browser/features/dom-max.js.map +1 -0
- package/dist/browser/features/drag.js +28 -0
- package/dist/browser/features/drag.js.map +1 -0
- package/dist/browser/features/focus.js +18 -0
- package/dist/browser/features/focus.js.map +1 -0
- package/dist/browser/features/hover.js +18 -0
- package/dist/browser/features/hover.js.map +1 -0
- package/dist/browser/features/in-view.js +18 -0
- package/dist/browser/features/in-view.js.map +1 -0
- package/dist/browser/features/input.js +30 -0
- package/dist/browser/features/input.js.map +1 -0
- package/dist/browser/features/keys.js +19 -0
- package/dist/browser/features/keys.js.map +1 -0
- package/dist/browser/features/layout.js +33 -0
- package/dist/browser/features/layout.js.map +1 -0
- package/dist/browser/features/pan.js +18 -0
- package/dist/browser/features/pan.js.map +1 -0
- package/dist/browser/features/press.js +12 -0
- package/dist/browser/features/press.js.map +1 -0
- package/dist/browser/focus-sensor.js +23 -0
- package/dist/browser/focus-sensor.js.map +1 -0
- package/dist/browser/frame-time.js +40 -0
- package/dist/browser/frame-time.js.map +1 -0
- package/dist/browser/gesture-callbacks.js +172 -0
- package/dist/browser/gesture-callbacks.js.map +1 -0
- package/dist/browser/gesture-features.js +29 -0
- package/dist/browser/gesture-features.js.map +1 -0
- package/dist/browser/gesture-info.js +43 -0
- package/dist/browser/gesture-info.js.map +1 -0
- package/dist/browser/hover-sensor.js +29 -0
- package/dist/browser/hover-sensor.js.map +1 -0
- package/dist/browser/imperative.js +614 -0
- package/dist/browser/imperative.js.map +1 -0
- package/dist/browser/index.js +165 -0
- package/dist/browser/index.js.map +1 -0
- package/dist/browser/instant.js +51 -0
- package/dist/browser/instant.js.map +1 -0
- package/dist/browser/layout-group.js +27 -0
- package/dist/browser/layout-group.js.map +1 -0
- package/dist/browser/layout-member.js +362 -0
- package/dist/browser/layout-member.js.map +1 -0
- package/dist/browser/layout-projection.js +19 -0
- package/dist/browser/layout-projection.js.map +1 -0
- package/dist/browser/layout.js +91 -0
- package/dist/browser/layout.js.map +1 -0
- package/dist/browser/live-style.js +313 -0
- package/dist/browser/live-style.js.map +1 -0
- package/dist/browser/live-value.js +252 -0
- package/dist/browser/live-value.js.map +1 -0
- package/dist/browser/motion-props.js +172 -0
- package/dist/browser/motion-props.js.map +1 -0
- package/dist/browser/owner-scope.js +29 -0
- package/dist/browser/owner-scope.js.map +1 -0
- package/dist/browser/page-point.js +92 -0
- package/dist/browser/page-point.js.map +1 -0
- package/dist/browser/presence-controller.js +1324 -0
- package/dist/browser/presence-controller.js.map +1 -0
- package/dist/browser/presence-record.js +27 -0
- package/dist/browser/presence-record.js.map +1 -0
- package/dist/browser/presence.js +207 -0
- package/dist/browser/presence.js.map +1 -0
- package/dist/browser/press-sensor.js +30 -0
- package/dist/browser/press-sensor.js.map +1 -0
- package/dist/browser/press.js +24 -0
- package/dist/browser/press.js.map +1 -0
- package/dist/browser/provider.js +445 -0
- package/dist/browser/provider.js.map +1 -0
- package/dist/browser/reactivity.js +9 -0
- package/dist/browser/reactivity.js.map +1 -0
- package/dist/browser/reorder-input.js +46 -0
- package/dist/browser/reorder-input.js.map +1 -0
- package/dist/browser/reorder.js +543 -0
- package/dist/browser/reorder.js.map +1 -0
- package/dist/browser/retarget-legs.js +1019 -0
- package/dist/browser/retarget-legs.js.map +1 -0
- package/dist/browser/runtime.js +249 -0
- package/dist/browser/runtime.js.map +1 -0
- package/dist/browser/sensors.js +172 -0
- package/dist/browser/sensors.js.map +1 -0
- package/dist/browser/server-interpolators.js +20 -0
- package/dist/browser/server-interpolators.js.map +1 -0
- package/dist/browser/server.js +20 -0
- package/dist/browser/server.js.map +1 -0
- package/dist/browser/solid-reactivity.js +26 -0
- package/dist/browser/solid-reactivity.js.map +1 -0
- package/dist/browser/spine.js +2939 -0
- package/dist/browser/spine.js.map +1 -0
- package/dist/browser/stagger.js +13 -0
- package/dist/browser/stagger.js.map +1 -0
- package/dist/browser/unstable/v2/bridge.js +76 -0
- package/dist/browser/unstable/v2/bridge.js.map +1 -0
- package/dist/browser/unstable/v2/complete.js +29 -0
- package/dist/browser/unstable/v2/complete.js.map +1 -0
- package/dist/browser/unstable/v2/config-view.js +111 -0
- package/dist/browser/unstable/v2/config-view.js.map +1 -0
- package/dist/browser/unstable/v2/create-animate.js +102 -0
- package/dist/browser/unstable/v2/create-animate.js.map +1 -0
- package/dist/browser/unstable/v2/cycle.js +30 -0
- package/dist/browser/unstable/v2/cycle.js.map +1 -0
- package/dist/browser/unstable/v2/drag-sensor.js +34 -0
- package/dist/browser/unstable/v2/drag-sensor.js.map +1 -0
- package/dist/browser/unstable/v2/element.js +393 -0
- package/dist/browser/unstable/v2/element.js.map +1 -0
- package/dist/browser/unstable/v2/feature-section.js +27 -0
- package/dist/browser/unstable/v2/feature-section.js.map +1 -0
- package/dist/browser/unstable/v2/focus-sensor.js +23 -0
- package/dist/browser/unstable/v2/focus-sensor.js.map +1 -0
- package/dist/browser/unstable/v2/hover-sensor.js +28 -0
- package/dist/browser/unstable/v2/hover-sensor.js.map +1 -0
- package/dist/browser/unstable/v2/index.js +114 -0
- package/dist/browser/unstable/v2/index.js.map +1 -0
- package/dist/browser/unstable/v2/layout-projection.js +18 -0
- package/dist/browser/unstable/v2/layout-projection.js.map +1 -0
- package/dist/browser/unstable/v2/layout.js +71 -0
- package/dist/browser/unstable/v2/layout.js.map +1 -0
- package/dist/browser/unstable/v2/lifecycle.js +455 -0
- package/dist/browser/unstable/v2/lifecycle.js.map +1 -0
- package/dist/browser/unstable/v2/live-value.js +264 -0
- package/dist/browser/unstable/v2/live-value.js.map +1 -0
- package/dist/browser/unstable/v2/presence-handle.js +146 -0
- package/dist/browser/unstable/v2/presence-handle.js.map +1 -0
- package/dist/browser/unstable/v2/presence-hooks.js +142 -0
- package/dist/browser/unstable/v2/presence-hooks.js.map +1 -0
- package/dist/browser/unstable/v2/presence.js +124 -0
- package/dist/browser/unstable/v2/presence.js.map +1 -0
- package/dist/browser/unstable/v2/press-sensor.js +29 -0
- package/dist/browser/unstable/v2/press-sensor.js.map +1 -0
- package/dist/browser/unstable/v2/provider.js +457 -0
- package/dist/browser/unstable/v2/provider.js.map +1 -0
- package/dist/browser/unstable/v2/reorder.js +663 -0
- package/dist/browser/unstable/v2/reorder.js.map +1 -0
- package/dist/browser/unstable/v2/sensors.js +138 -0
- package/dist/browser/unstable/v2/sensors.js.map +1 -0
- package/dist/browser/unstable/v2/solid-reactivity.js +82 -0
- package/dist/browser/unstable/v2/solid-reactivity.js.map +1 -0
- package/dist/browser/unstable/v2/variant-node.js +395 -0
- package/dist/browser/unstable/v2/variant-node.js.map +1 -0
- package/dist/browser/unstable/v2/w.js +23 -0
- package/dist/browser/unstable/v2/w.js.map +1 -0
- package/dist/browser/unstable/v2/waiters.js +185 -0
- package/dist/browser/unstable/v2/waiters.js.map +1 -0
- package/dist/browser/unstable/v2/ward.js +1620 -0
- package/dist/browser/unstable/v2/ward.js.map +1 -0
- package/dist/browser/unstable/v2/wardic-config.js +40 -0
- package/dist/browser/unstable/v2/wardic-config.js.map +1 -0
- package/dist/browser/unstable/v2/wardic.js +16 -0
- package/dist/browser/unstable/v2/wardic.js.map +1 -0
- package/dist/browser/variant-node.js +308 -0
- package/dist/browser/variant-node.js.map +1 -0
- package/dist/browser/variant-target.js +224 -0
- package/dist/browser/variant-target.js.map +1 -0
- package/dist/browser/variant-tree.js +394 -0
- package/dist/browser/variant-tree.js.map +1 -0
- package/dist/browser/variants.js +43 -0
- package/dist/browser/variants.js.map +1 -0
- package/dist/browser/w.js +25 -0
- package/dist/browser/w.js.map +1 -0
- package/dist/browser/ward-keys.js +2 -0
- package/dist/browser/ward-keys.js.map +1 -0
- package/dist/browser/wardic-component.js +74 -0
- package/dist/browser/wardic-component.js.map +1 -0
- package/dist/browser/wardic-config-value.js +91 -0
- package/dist/browser/wardic-config-value.js.map +1 -0
- package/dist/browser/wardic-config.js +42 -0
- package/dist/browser/wardic-config.js.map +1 -0
- package/dist/browser/wardic.js +31 -0
- package/dist/browser/wardic.js.map +1 -0
- package/dist/server/animation-controls.js +150 -0
- package/dist/server/animation-controls.js.map +1 -0
- package/dist/server/animation-frame.js +29 -0
- package/dist/server/animation-frame.js.map +1 -0
- package/dist/server/appear.js +727 -0
- package/dist/server/appear.js.map +1 -0
- package/dist/server/arc.js +21 -0
- package/dist/server/arc.js.map +1 -0
- package/dist/server/bridge.js +69 -0
- package/dist/server/bridge.js.map +1 -0
- package/dist/server/complete.js +30 -0
- package/dist/server/complete.js.map +1 -0
- package/dist/server/config.js +2 -0
- package/dist/server/config.js.map +1 -0
- package/dist/server/create-animate.js +41 -0
- package/dist/server/create-animate.js.map +1 -0
- package/dist/server/create-ward.js +1001 -0
- package/dist/server/create-ward.js.map +1 -0
- package/dist/server/cycle-index.js +17 -0
- package/dist/server/cycle-index.js.map +1 -0
- package/dist/server/cycle.js +31 -0
- package/dist/server/cycle.js.map +1 -0
- package/dist/server/directive.js +80 -0
- package/dist/server/directive.js.map +1 -0
- package/dist/server/drag-constraints.js +76 -0
- package/dist/server/drag-constraints.js.map +1 -0
- package/dist/server/drag-controls.js +51 -0
- package/dist/server/drag-controls.js.map +1 -0
- package/dist/server/drag-samples.js +40 -0
- package/dist/server/drag-samples.js.map +1 -0
- package/dist/server/drag-sensor.js +35 -0
- package/dist/server/drag-sensor.js.map +1 -0
- package/dist/server/drag-track.js +817 -0
- package/dist/server/drag-track.js.map +1 -0
- package/dist/server/drag-transition.js +56 -0
- package/dist/server/drag-transition.js.map +1 -0
- package/dist/server/drag.js +44 -0
- package/dist/server/drag.js.map +1 -0
- package/dist/server/element-style.js +67 -0
- package/dist/server/element-style.js.map +1 -0
- package/dist/server/element.js +353 -0
- package/dist/server/element.js.map +1 -0
- package/dist/server/feature-section.js +17 -0
- package/dist/server/feature-section.js.map +1 -0
- package/dist/server/feature.js +261 -0
- package/dist/server/feature.js.map +1 -0
- package/dist/server/features/all.js +10 -0
- package/dist/server/features/all.js.map +1 -0
- package/dist/server/features/colors.js +33 -0
- package/dist/server/features/colors.js.map +1 -0
- package/dist/server/features/dom-animation.js +7 -0
- package/dist/server/features/dom-animation.js.map +1 -0
- package/dist/server/features/dom-max.js +4 -0
- package/dist/server/features/dom-max.js.map +1 -0
- package/dist/server/features/drag.js +28 -0
- package/dist/server/features/drag.js.map +1 -0
- package/dist/server/features/focus.js +18 -0
- package/dist/server/features/focus.js.map +1 -0
- package/dist/server/features/hover.js +18 -0
- package/dist/server/features/hover.js.map +1 -0
- package/dist/server/features/in-view.js +18 -0
- package/dist/server/features/in-view.js.map +1 -0
- package/dist/server/features/input.js +30 -0
- package/dist/server/features/input.js.map +1 -0
- package/dist/server/features/keys.js +19 -0
- package/dist/server/features/keys.js.map +1 -0
- package/dist/server/features/layout.js +33 -0
- package/dist/server/features/layout.js.map +1 -0
- package/dist/server/features/pan.js +18 -0
- package/dist/server/features/pan.js.map +1 -0
- package/dist/server/features/press.js +12 -0
- package/dist/server/features/press.js.map +1 -0
- package/dist/server/focus-sensor.js +23 -0
- package/dist/server/focus-sensor.js.map +1 -0
- package/dist/server/frame-time.js +40 -0
- package/dist/server/frame-time.js.map +1 -0
- package/dist/server/gesture-callbacks.js +172 -0
- package/dist/server/gesture-callbacks.js.map +1 -0
- package/dist/server/gesture-features.js +29 -0
- package/dist/server/gesture-features.js.map +1 -0
- package/dist/server/gesture-info.js +43 -0
- package/dist/server/gesture-info.js.map +1 -0
- package/dist/server/hover-sensor.js +29 -0
- package/dist/server/hover-sensor.js.map +1 -0
- package/dist/server/imperative.js +614 -0
- package/dist/server/imperative.js.map +1 -0
- package/dist/server/index.js +165 -0
- package/dist/server/index.js.map +1 -0
- package/dist/server/instant.js +51 -0
- package/dist/server/instant.js.map +1 -0
- package/dist/server/layout-group.js +27 -0
- package/dist/server/layout-group.js.map +1 -0
- package/dist/server/layout-member.js +362 -0
- package/dist/server/layout-member.js.map +1 -0
- package/dist/server/layout-projection.js +19 -0
- package/dist/server/layout-projection.js.map +1 -0
- package/dist/server/layout.js +90 -0
- package/dist/server/layout.js.map +1 -0
- package/dist/server/live-style.js +313 -0
- package/dist/server/live-style.js.map +1 -0
- package/dist/server/live-value.js +252 -0
- package/dist/server/live-value.js.map +1 -0
- package/dist/server/motion-props.js +172 -0
- package/dist/server/motion-props.js.map +1 -0
- package/dist/server/owner-scope.js +29 -0
- package/dist/server/owner-scope.js.map +1 -0
- package/dist/server/page-point.js +92 -0
- package/dist/server/page-point.js.map +1 -0
- package/dist/server/presence-controller.js +1324 -0
- package/dist/server/presence-controller.js.map +1 -0
- package/dist/server/presence-record.js +27 -0
- package/dist/server/presence-record.js.map +1 -0
- package/dist/server/presence.js +207 -0
- package/dist/server/presence.js.map +1 -0
- package/dist/server/press-sensor.js +30 -0
- package/dist/server/press-sensor.js.map +1 -0
- package/dist/server/press.js +24 -0
- package/dist/server/press.js.map +1 -0
- package/dist/server/provider.js +439 -0
- package/dist/server/provider.js.map +1 -0
- package/dist/server/reactivity.js +9 -0
- package/dist/server/reactivity.js.map +1 -0
- package/dist/server/reorder-input.js +46 -0
- package/dist/server/reorder-input.js.map +1 -0
- package/dist/server/reorder.js +543 -0
- package/dist/server/reorder.js.map +1 -0
- package/dist/server/retarget-legs.js +1019 -0
- package/dist/server/retarget-legs.js.map +1 -0
- package/dist/server/runtime.js +249 -0
- package/dist/server/runtime.js.map +1 -0
- package/dist/server/sensors.js +172 -0
- package/dist/server/sensors.js.map +1 -0
- package/dist/server/server-interpolators.js +20 -0
- package/dist/server/server-interpolators.js.map +1 -0
- package/dist/server/server.js +20 -0
- package/dist/server/server.js.map +1 -0
- package/dist/server/solid-reactivity.js +26 -0
- package/dist/server/solid-reactivity.js.map +1 -0
- package/dist/server/spine.js +2939 -0
- package/dist/server/spine.js.map +1 -0
- package/dist/server/stagger.js +13 -0
- package/dist/server/stagger.js.map +1 -0
- package/dist/server/unstable/v2/bridge.js +76 -0
- package/dist/server/unstable/v2/bridge.js.map +1 -0
- package/dist/server/unstable/v2/complete.js +29 -0
- package/dist/server/unstable/v2/complete.js.map +1 -0
- package/dist/server/unstable/v2/config-view.js +111 -0
- package/dist/server/unstable/v2/config-view.js.map +1 -0
- package/dist/server/unstable/v2/create-animate.js +102 -0
- package/dist/server/unstable/v2/create-animate.js.map +1 -0
- package/dist/server/unstable/v2/cycle.js +30 -0
- package/dist/server/unstable/v2/cycle.js.map +1 -0
- package/dist/server/unstable/v2/drag-sensor.js +34 -0
- package/dist/server/unstable/v2/drag-sensor.js.map +1 -0
- package/dist/server/unstable/v2/element.js +402 -0
- package/dist/server/unstable/v2/element.js.map +1 -0
- package/dist/server/unstable/v2/feature-section.js +27 -0
- package/dist/server/unstable/v2/feature-section.js.map +1 -0
- package/dist/server/unstable/v2/focus-sensor.js +23 -0
- package/dist/server/unstable/v2/focus-sensor.js.map +1 -0
- package/dist/server/unstable/v2/hover-sensor.js +28 -0
- package/dist/server/unstable/v2/hover-sensor.js.map +1 -0
- package/dist/server/unstable/v2/index.js +114 -0
- package/dist/server/unstable/v2/index.js.map +1 -0
- package/dist/server/unstable/v2/layout-projection.js +18 -0
- package/dist/server/unstable/v2/layout-projection.js.map +1 -0
- package/dist/server/unstable/v2/layout.js +88 -0
- package/dist/server/unstable/v2/layout.js.map +1 -0
- package/dist/server/unstable/v2/lifecycle.js +455 -0
- package/dist/server/unstable/v2/lifecycle.js.map +1 -0
- package/dist/server/unstable/v2/live-value.js +264 -0
- package/dist/server/unstable/v2/live-value.js.map +1 -0
- package/dist/server/unstable/v2/presence-handle.js +146 -0
- package/dist/server/unstable/v2/presence-handle.js.map +1 -0
- package/dist/server/unstable/v2/presence-hooks.js +142 -0
- package/dist/server/unstable/v2/presence-hooks.js.map +1 -0
- package/dist/server/unstable/v2/presence.js +142 -0
- package/dist/server/unstable/v2/presence.js.map +1 -0
- package/dist/server/unstable/v2/press-sensor.js +29 -0
- package/dist/server/unstable/v2/press-sensor.js.map +1 -0
- package/dist/server/unstable/v2/provider.js +475 -0
- package/dist/server/unstable/v2/provider.js.map +1 -0
- package/dist/server/unstable/v2/reorder.js +733 -0
- package/dist/server/unstable/v2/reorder.js.map +1 -0
- package/dist/server/unstable/v2/sensors.js +138 -0
- package/dist/server/unstable/v2/sensors.js.map +1 -0
- package/dist/server/unstable/v2/solid-reactivity.js +82 -0
- package/dist/server/unstable/v2/solid-reactivity.js.map +1 -0
- package/dist/server/unstable/v2/variant-node.js +395 -0
- package/dist/server/unstable/v2/variant-node.js.map +1 -0
- package/dist/server/unstable/v2/w.js +23 -0
- package/dist/server/unstable/v2/w.js.map +1 -0
- package/dist/server/unstable/v2/waiters.js +185 -0
- package/dist/server/unstable/v2/waiters.js.map +1 -0
- package/dist/server/unstable/v2/ward.js +1653 -0
- package/dist/server/unstable/v2/ward.js.map +1 -0
- package/dist/server/unstable/v2/wardic-config.js +49 -0
- package/dist/server/unstable/v2/wardic-config.js.map +1 -0
- package/dist/server/unstable/v2/wardic.js +16 -0
- package/dist/server/unstable/v2/wardic.js.map +1 -0
- package/dist/server/variant-node.js +308 -0
- package/dist/server/variant-node.js.map +1 -0
- package/dist/server/variant-target.js +224 -0
- package/dist/server/variant-target.js.map +1 -0
- package/dist/server/variant-tree.js +394 -0
- package/dist/server/variant-tree.js.map +1 -0
- package/dist/server/variants.js +43 -0
- package/dist/server/variants.js.map +1 -0
- package/dist/server/w.js +25 -0
- package/dist/server/w.js.map +1 -0
- package/dist/server/ward-keys.js +2 -0
- package/dist/server/ward-keys.js.map +1 -0
- package/dist/server/wardic-component.js +74 -0
- package/dist/server/wardic-component.js.map +1 -0
- package/dist/server/wardic-config-value.js +91 -0
- package/dist/server/wardic-config-value.js.map +1 -0
- package/dist/server/wardic-config.js +42 -0
- package/dist/server/wardic-config.js.map +1 -0
- package/dist/server/wardic.js +31 -0
- package/dist/server/wardic.js.map +1 -0
- package/dist/solid/animation-controls.d.ts +104 -0
- package/dist/solid/animation-controls.d.ts.map +1 -0
- package/dist/solid/animation-controls.js +129 -0
- package/dist/solid/animation-controls.js.map +1 -0
- package/dist/solid/animation-frame.d.ts +11 -0
- package/dist/solid/animation-frame.d.ts.map +1 -0
- package/dist/solid/animation-frame.js +31 -0
- package/dist/solid/animation-frame.js.map +1 -0
- package/dist/solid/appear.d.ts +205 -0
- package/dist/solid/appear.d.ts.map +1 -0
- package/dist/solid/appear.js +519 -0
- package/dist/solid/appear.js.map +1 -0
- package/dist/solid/arc.d.ts +25 -0
- package/dist/solid/arc.d.ts.map +1 -0
- package/dist/solid/arc.js +21 -0
- package/dist/solid/arc.js.map +1 -0
- package/dist/solid/bridge.d.ts +53 -0
- package/dist/solid/bridge.d.ts.map +1 -0
- package/dist/solid/bridge.js +66 -0
- package/dist/solid/bridge.js.map +1 -0
- package/dist/solid/complete.d.ts +31 -0
- package/dist/solid/complete.d.ts.map +1 -0
- package/dist/solid/complete.js +27 -0
- package/dist/solid/complete.js.map +1 -0
- package/dist/solid/config.d.ts +693 -0
- package/dist/solid/config.d.ts.map +1 -0
- package/dist/solid/config.js +2 -0
- package/dist/solid/config.js.map +1 -0
- package/dist/solid/create-animate.d.ts +17 -0
- package/dist/solid/create-animate.d.ts.map +1 -0
- package/dist/solid/create-animate.js +42 -0
- package/dist/solid/create-animate.js.map +1 -0
- package/dist/solid/create-ward.d.ts +278 -0
- package/dist/solid/create-ward.d.ts.map +1 -0
- package/dist/solid/create-ward.jsx +874 -0
- package/dist/solid/create-ward.jsx.map +1 -0
- package/dist/solid/cycle-index.d.ts +7 -0
- package/dist/solid/cycle-index.d.ts.map +1 -0
- package/dist/solid/cycle-index.js +17 -0
- package/dist/solid/cycle-index.js.map +1 -0
- package/dist/solid/cycle.d.ts +21 -0
- package/dist/solid/cycle.d.ts.map +1 -0
- package/dist/solid/cycle.js +31 -0
- package/dist/solid/cycle.js.map +1 -0
- package/dist/solid/directive.d.ts +21 -0
- package/dist/solid/directive.d.ts.map +1 -0
- package/dist/solid/directive.js +76 -0
- package/dist/solid/directive.js.map +1 -0
- package/dist/solid/drag-constraints.d.ts +46 -0
- package/dist/solid/drag-constraints.d.ts.map +1 -0
- package/dist/solid/drag-constraints.js +49 -0
- package/dist/solid/drag-constraints.js.map +1 -0
- package/dist/solid/drag-controls.d.ts +50 -0
- package/dist/solid/drag-controls.d.ts.map +1 -0
- package/dist/solid/drag-controls.js +51 -0
- package/dist/solid/drag-controls.js.map +1 -0
- package/dist/solid/drag-samples.d.ts +34 -0
- package/dist/solid/drag-samples.d.ts.map +1 -0
- package/dist/solid/drag-samples.js +28 -0
- package/dist/solid/drag-samples.js.map +1 -0
- package/dist/solid/drag-sensor.d.ts +23 -0
- package/dist/solid/drag-sensor.d.ts.map +1 -0
- package/dist/solid/drag-sensor.js +33 -0
- package/dist/solid/drag-sensor.js.map +1 -0
- package/dist/solid/drag-track.d.ts +227 -0
- package/dist/solid/drag-track.d.ts.map +1 -0
- package/dist/solid/drag-track.js +631 -0
- package/dist/solid/drag-track.js.map +1 -0
- package/dist/solid/drag-transition.d.ts +20 -0
- package/dist/solid/drag-transition.d.ts.map +1 -0
- package/dist/solid/drag-transition.js +31 -0
- package/dist/solid/drag-transition.js.map +1 -0
- package/dist/solid/drag.d.ts +23 -0
- package/dist/solid/drag.d.ts.map +1 -0
- package/dist/solid/drag.js +44 -0
- package/dist/solid/drag.js.map +1 -0
- package/dist/solid/element-style.d.ts +60 -0
- package/dist/solid/element-style.d.ts.map +1 -0
- package/dist/solid/element-style.js +50 -0
- package/dist/solid/element-style.js.map +1 -0
- package/dist/solid/element.d.ts +73 -0
- package/dist/solid/element.d.ts.map +1 -0
- package/dist/solid/element.jsx +326 -0
- package/dist/solid/element.jsx.map +1 -0
- package/dist/solid/feature-section.d.ts +18 -0
- package/dist/solid/feature-section.d.ts.map +1 -0
- package/dist/solid/feature-section.js +13 -0
- package/dist/solid/feature-section.js.map +1 -0
- package/dist/solid/feature.d.ts +114 -0
- package/dist/solid/feature.d.ts.map +1 -0
- package/dist/solid/feature.js +248 -0
- package/dist/solid/feature.js.map +1 -0
- package/dist/solid/features/all.d.ts +10 -0
- package/dist/solid/features/all.d.ts.map +1 -0
- package/dist/solid/features/all.js +10 -0
- package/dist/solid/features/all.js.map +1 -0
- package/dist/solid/features/colors.d.ts +12 -0
- package/dist/solid/features/colors.d.ts.map +1 -0
- package/dist/solid/features/colors.js +34 -0
- package/dist/solid/features/colors.js.map +1 -0
- package/dist/solid/features/dom-animation.d.ts +11 -0
- package/dist/solid/features/dom-animation.d.ts.map +1 -0
- package/dist/solid/features/dom-animation.js +7 -0
- package/dist/solid/features/dom-animation.js.map +1 -0
- package/dist/solid/features/dom-max.d.ts +10 -0
- package/dist/solid/features/dom-max.d.ts.map +1 -0
- package/dist/solid/features/dom-max.js +4 -0
- package/dist/solid/features/dom-max.js.map +1 -0
- package/dist/solid/features/drag.d.ts +5 -0
- package/dist/solid/features/drag.d.ts.map +1 -0
- package/dist/solid/features/drag.js +28 -0
- package/dist/solid/features/drag.js.map +1 -0
- package/dist/solid/features/focus.d.ts +5 -0
- package/dist/solid/features/focus.d.ts.map +1 -0
- package/dist/solid/features/focus.js +16 -0
- package/dist/solid/features/focus.js.map +1 -0
- package/dist/solid/features/hover.d.ts +5 -0
- package/dist/solid/features/hover.d.ts.map +1 -0
- package/dist/solid/features/hover.js +16 -0
- package/dist/solid/features/hover.js.map +1 -0
- package/dist/solid/features/in-view.d.ts +5 -0
- package/dist/solid/features/in-view.d.ts.map +1 -0
- package/dist/solid/features/in-view.js +16 -0
- package/dist/solid/features/in-view.js.map +1 -0
- package/dist/solid/features/input.d.ts +26 -0
- package/dist/solid/features/input.d.ts.map +1 -0
- package/dist/solid/features/input.js +31 -0
- package/dist/solid/features/input.js.map +1 -0
- package/dist/solid/features/keys.d.ts +70 -0
- package/dist/solid/features/keys.d.ts.map +1 -0
- package/dist/solid/features/keys.js +26 -0
- package/dist/solid/features/keys.js.map +1 -0
- package/dist/solid/features/layout.d.ts +32 -0
- package/dist/solid/features/layout.d.ts.map +1 -0
- package/dist/solid/features/layout.js +34 -0
- package/dist/solid/features/layout.js.map +1 -0
- package/dist/solid/features/pan.d.ts +5 -0
- package/dist/solid/features/pan.d.ts.map +1 -0
- package/dist/solid/features/pan.js +16 -0
- package/dist/solid/features/pan.js.map +1 -0
- package/dist/solid/features/press.d.ts +11 -0
- package/dist/solid/features/press.d.ts.map +1 -0
- package/dist/solid/features/press.js +10 -0
- package/dist/solid/features/press.js.map +1 -0
- package/dist/solid/focus-sensor.d.ts +19 -0
- package/dist/solid/focus-sensor.d.ts.map +1 -0
- package/dist/solid/focus-sensor.js +23 -0
- package/dist/solid/focus-sensor.js.map +1 -0
- package/dist/solid/frame-time.d.ts +21 -0
- package/dist/solid/frame-time.d.ts.map +1 -0
- package/dist/solid/frame-time.js +41 -0
- package/dist/solid/frame-time.js.map +1 -0
- package/dist/solid/gesture-callbacks.d.ts +53 -0
- package/dist/solid/gesture-callbacks.d.ts.map +1 -0
- package/dist/solid/gesture-callbacks.js +184 -0
- package/dist/solid/gesture-callbacks.js.map +1 -0
- package/dist/solid/gesture-features.d.ts +28 -0
- package/dist/solid/gesture-features.d.ts.map +1 -0
- package/dist/solid/gesture-features.js +29 -0
- package/dist/solid/gesture-features.js.map +1 -0
- package/dist/solid/gesture-info.d.ts +59 -0
- package/dist/solid/gesture-info.d.ts.map +1 -0
- package/dist/solid/gesture-info.js +23 -0
- package/dist/solid/gesture-info.js.map +1 -0
- package/dist/solid/hover-sensor.d.ts +19 -0
- package/dist/solid/hover-sensor.d.ts.map +1 -0
- package/dist/solid/hover-sensor.js +23 -0
- package/dist/solid/hover-sensor.js.map +1 -0
- package/dist/solid/imperative.d.ts +195 -0
- package/dist/solid/imperative.d.ts.map +1 -0
- package/dist/solid/imperative.js +536 -0
- package/dist/solid/imperative.js.map +1 -0
- package/dist/solid/index.d.ts +180 -0
- package/dist/solid/index.d.ts.map +1 -0
- package/dist/solid/index.js +165 -0
- package/dist/solid/index.js.map +1 -0
- package/dist/solid/instant.d.ts +44 -0
- package/dist/solid/instant.d.ts.map +1 -0
- package/dist/solid/instant.js +49 -0
- package/dist/solid/instant.js.map +1 -0
- package/dist/solid/layout-group.d.ts +14 -0
- package/dist/solid/layout-group.d.ts.map +1 -0
- package/dist/solid/layout-group.js +27 -0
- package/dist/solid/layout-group.js.map +1 -0
- package/dist/solid/layout-member.d.ts +117 -0
- package/dist/solid/layout-member.d.ts.map +1 -0
- package/dist/solid/layout-member.js +164 -0
- package/dist/solid/layout-member.js.map +1 -0
- package/dist/solid/layout-projection.d.ts +22 -0
- package/dist/solid/layout-projection.d.ts.map +1 -0
- package/dist/solid/layout-projection.js +19 -0
- package/dist/solid/layout-projection.js.map +1 -0
- package/dist/solid/layout.d.ts +76 -0
- package/dist/solid/layout.d.ts.map +1 -0
- package/dist/solid/layout.jsx +80 -0
- package/dist/solid/layout.jsx.map +1 -0
- package/dist/solid/live-style.d.ts +147 -0
- package/dist/solid/live-style.d.ts.map +1 -0
- package/dist/solid/live-style.js +304 -0
- package/dist/solid/live-style.js.map +1 -0
- package/dist/solid/live-value.d.ts +144 -0
- package/dist/solid/live-value.d.ts.map +1 -0
- package/dist/solid/live-value.js +223 -0
- package/dist/solid/live-value.js.map +1 -0
- package/dist/solid/motion-props.d.ts +75 -0
- package/dist/solid/motion-props.d.ts.map +1 -0
- package/dist/solid/motion-props.js +314 -0
- package/dist/solid/motion-props.js.map +1 -0
- package/dist/solid/owner-scope.d.ts +16 -0
- package/dist/solid/owner-scope.d.ts.map +1 -0
- package/dist/solid/owner-scope.js +31 -0
- package/dist/solid/owner-scope.js.map +1 -0
- package/dist/solid/page-point.d.ts +35 -0
- package/dist/solid/page-point.d.ts.map +1 -0
- package/dist/solid/page-point.js +87 -0
- package/dist/solid/page-point.js.map +1 -0
- package/dist/solid/presence-controller.d.ts +122 -0
- package/dist/solid/presence-controller.d.ts.map +1 -0
- package/dist/solid/presence-controller.js +1207 -0
- package/dist/solid/presence-controller.js.map +1 -0
- package/dist/solid/presence-record.d.ts +167 -0
- package/dist/solid/presence-record.d.ts.map +1 -0
- package/dist/solid/presence-record.js +26 -0
- package/dist/solid/presence-record.js.map +1 -0
- package/dist/solid/presence.d.ts +95 -0
- package/dist/solid/presence.d.ts.map +1 -0
- package/dist/solid/presence.jsx +195 -0
- package/dist/solid/presence.jsx.map +1 -0
- package/dist/solid/press-sensor.d.ts +20 -0
- package/dist/solid/press-sensor.d.ts.map +1 -0
- package/dist/solid/press-sensor.js +24 -0
- package/dist/solid/press-sensor.js.map +1 -0
- package/dist/solid/press.d.ts +24 -0
- package/dist/solid/press.d.ts.map +1 -0
- package/dist/solid/press.js +19 -0
- package/dist/solid/press.js.map +1 -0
- package/dist/solid/provider.d.ts +263 -0
- package/dist/solid/provider.d.ts.map +1 -0
- package/dist/solid/provider.jsx +411 -0
- package/dist/solid/provider.jsx.map +1 -0
- package/dist/solid/reactivity.d.ts +27 -0
- package/dist/solid/reactivity.d.ts.map +1 -0
- package/dist/solid/reactivity.js +9 -0
- package/dist/solid/reactivity.js.map +1 -0
- package/dist/solid/reorder-input.d.ts +22 -0
- package/dist/solid/reorder-input.d.ts.map +1 -0
- package/dist/solid/reorder-input.js +45 -0
- package/dist/solid/reorder-input.js.map +1 -0
- package/dist/solid/reorder.d.ts +241 -0
- package/dist/solid/reorder.d.ts.map +1 -0
- package/dist/solid/reorder.jsx +427 -0
- package/dist/solid/reorder.jsx.map +1 -0
- package/dist/solid/retarget-legs.d.ts +189 -0
- package/dist/solid/retarget-legs.d.ts.map +1 -0
- package/dist/solid/retarget-legs.js +825 -0
- package/dist/solid/retarget-legs.js.map +1 -0
- package/dist/solid/runtime.d.ts +179 -0
- package/dist/solid/runtime.d.ts.map +1 -0
- package/dist/solid/runtime.js +237 -0
- package/dist/solid/runtime.js.map +1 -0
- package/dist/solid/sensors.d.ts +95 -0
- package/dist/solid/sensors.d.ts.map +1 -0
- package/dist/solid/sensors.js +154 -0
- package/dist/solid/sensors.js.map +1 -0
- package/dist/solid/server-interpolators.d.ts +13 -0
- package/dist/solid/server-interpolators.d.ts.map +1 -0
- package/dist/solid/server-interpolators.js +20 -0
- package/dist/solid/server-interpolators.js.map +1 -0
- package/dist/solid/server.d.ts +9 -0
- package/dist/solid/server.d.ts.map +1 -0
- package/dist/solid/server.js +20 -0
- package/dist/solid/server.js.map +1 -0
- package/dist/solid/solid-reactivity.d.ts +3 -0
- package/dist/solid/solid-reactivity.d.ts.map +1 -0
- package/dist/solid/solid-reactivity.js +19 -0
- package/dist/solid/solid-reactivity.js.map +1 -0
- package/dist/solid/spine.d.ts +597 -0
- package/dist/solid/spine.d.ts.map +1 -0
- package/dist/solid/spine.js +2761 -0
- package/dist/solid/spine.js.map +1 -0
- package/dist/solid/stagger.d.ts +29 -0
- package/dist/solid/stagger.d.ts.map +1 -0
- package/dist/solid/stagger.js +13 -0
- package/dist/solid/stagger.js.map +1 -0
- package/dist/solid/unstable/v2/bridge.d.ts +33 -0
- package/dist/solid/unstable/v2/bridge.d.ts.map +1 -0
- package/dist/solid/unstable/v2/bridge.js +76 -0
- package/dist/solid/unstable/v2/bridge.js.map +1 -0
- package/dist/solid/unstable/v2/complete.d.ts +21 -0
- package/dist/solid/unstable/v2/complete.d.ts.map +1 -0
- package/dist/solid/unstable/v2/complete.js +27 -0
- package/dist/solid/unstable/v2/complete.js.map +1 -0
- package/dist/solid/unstable/v2/config-view.d.ts +49 -0
- package/dist/solid/unstable/v2/config-view.d.ts.map +1 -0
- package/dist/solid/unstable/v2/config-view.js +114 -0
- package/dist/solid/unstable/v2/config-view.js.map +1 -0
- package/dist/solid/unstable/v2/create-animate.d.ts +31 -0
- package/dist/solid/unstable/v2/create-animate.d.ts.map +1 -0
- package/dist/solid/unstable/v2/create-animate.js +102 -0
- package/dist/solid/unstable/v2/create-animate.js.map +1 -0
- package/dist/solid/unstable/v2/cycle.d.ts +20 -0
- package/dist/solid/unstable/v2/cycle.d.ts.map +1 -0
- package/dist/solid/unstable/v2/cycle.js +30 -0
- package/dist/solid/unstable/v2/cycle.js.map +1 -0
- package/dist/solid/unstable/v2/drag-sensor.d.ts +23 -0
- package/dist/solid/unstable/v2/drag-sensor.d.ts.map +1 -0
- package/dist/solid/unstable/v2/drag-sensor.js +32 -0
- package/dist/solid/unstable/v2/drag-sensor.js.map +1 -0
- package/dist/solid/unstable/v2/element.d.ts +178 -0
- package/dist/solid/unstable/v2/element.d.ts.map +1 -0
- package/dist/solid/unstable/v2/element.jsx +325 -0
- package/dist/solid/unstable/v2/element.jsx.map +1 -0
- package/dist/solid/unstable/v2/feature-section.d.ts +12 -0
- package/dist/solid/unstable/v2/feature-section.d.ts.map +1 -0
- package/dist/solid/unstable/v2/feature-section.js +23 -0
- package/dist/solid/unstable/v2/feature-section.js.map +1 -0
- package/dist/solid/unstable/v2/focus-sensor.d.ts +13 -0
- package/dist/solid/unstable/v2/focus-sensor.d.ts.map +1 -0
- package/dist/solid/unstable/v2/focus-sensor.js +23 -0
- package/dist/solid/unstable/v2/focus-sensor.js.map +1 -0
- package/dist/solid/unstable/v2/hover-sensor.d.ts +12 -0
- package/dist/solid/unstable/v2/hover-sensor.d.ts.map +1 -0
- package/dist/solid/unstable/v2/hover-sensor.js +22 -0
- package/dist/solid/unstable/v2/hover-sensor.js.map +1 -0
- package/dist/solid/unstable/v2/index.d.ts +131 -0
- package/dist/solid/unstable/v2/index.d.ts.map +1 -0
- package/dist/solid/unstable/v2/index.js +114 -0
- package/dist/solid/unstable/v2/index.js.map +1 -0
- package/dist/solid/unstable/v2/layout-projection.d.ts +21 -0
- package/dist/solid/unstable/v2/layout-projection.d.ts.map +1 -0
- package/dist/solid/unstable/v2/layout-projection.js +18 -0
- package/dist/solid/unstable/v2/layout-projection.js.map +1 -0
- package/dist/solid/unstable/v2/layout.d.ts +47 -0
- package/dist/solid/unstable/v2/layout.d.ts.map +1 -0
- package/dist/solid/unstable/v2/layout.jsx +62 -0
- package/dist/solid/unstable/v2/layout.jsx.map +1 -0
- package/dist/solid/unstable/v2/lifecycle.d.ts +267 -0
- package/dist/solid/unstable/v2/lifecycle.d.ts.map +1 -0
- package/dist/solid/unstable/v2/lifecycle.js +457 -0
- package/dist/solid/unstable/v2/lifecycle.js.map +1 -0
- package/dist/solid/unstable/v2/live-value.d.ts +146 -0
- package/dist/solid/unstable/v2/live-value.d.ts.map +1 -0
- package/dist/solid/unstable/v2/live-value.js +235 -0
- package/dist/solid/unstable/v2/live-value.js.map +1 -0
- package/dist/solid/unstable/v2/presence-handle.d.ts +55 -0
- package/dist/solid/unstable/v2/presence-handle.d.ts.map +1 -0
- package/dist/solid/unstable/v2/presence-handle.js +119 -0
- package/dist/solid/unstable/v2/presence-handle.js.map +1 -0
- package/dist/solid/unstable/v2/presence-hooks.d.ts +51 -0
- package/dist/solid/unstable/v2/presence-hooks.d.ts.map +1 -0
- package/dist/solid/unstable/v2/presence-hooks.js +115 -0
- package/dist/solid/unstable/v2/presence-hooks.js.map +1 -0
- package/dist/solid/unstable/v2/presence.d.ts +89 -0
- package/dist/solid/unstable/v2/presence.d.ts.map +1 -0
- package/dist/solid/unstable/v2/presence.jsx +107 -0
- package/dist/solid/unstable/v2/presence.jsx.map +1 -0
- package/dist/solid/unstable/v2/press-sensor.d.ts +13 -0
- package/dist/solid/unstable/v2/press-sensor.d.ts.map +1 -0
- package/dist/solid/unstable/v2/press-sensor.js +23 -0
- package/dist/solid/unstable/v2/press-sensor.js.map +1 -0
- package/dist/solid/unstable/v2/provider.d.ts +239 -0
- package/dist/solid/unstable/v2/provider.d.ts.map +1 -0
- package/dist/solid/unstable/v2/provider.jsx +423 -0
- package/dist/solid/unstable/v2/provider.jsx.map +1 -0
- package/dist/solid/unstable/v2/reorder.d.ts +292 -0
- package/dist/solid/unstable/v2/reorder.d.ts.map +1 -0
- package/dist/solid/unstable/v2/reorder.jsx +525 -0
- package/dist/solid/unstable/v2/reorder.jsx.map +1 -0
- package/dist/solid/unstable/v2/sensors.d.ts +91 -0
- package/dist/solid/unstable/v2/sensors.d.ts.map +1 -0
- package/dist/solid/unstable/v2/sensors.js +124 -0
- package/dist/solid/unstable/v2/sensors.js.map +1 -0
- package/dist/solid/unstable/v2/solid-reactivity.d.ts +61 -0
- package/dist/solid/unstable/v2/solid-reactivity.d.ts.map +1 -0
- package/dist/solid/unstable/v2/solid-reactivity.js +62 -0
- package/dist/solid/unstable/v2/solid-reactivity.js.map +1 -0
- package/dist/solid/unstable/v2/variant-node.d.ts +51 -0
- package/dist/solid/unstable/v2/variant-node.d.ts.map +1 -0
- package/dist/solid/unstable/v2/variant-node.js +336 -0
- package/dist/solid/unstable/v2/variant-node.js.map +1 -0
- package/dist/solid/unstable/v2/w.d.ts +42 -0
- package/dist/solid/unstable/v2/w.d.ts.map +1 -0
- package/dist/solid/unstable/v2/w.jsx +22 -0
- package/dist/solid/unstable/v2/w.jsx.map +1 -0
- package/dist/solid/unstable/v2/waiters.d.ts +72 -0
- package/dist/solid/unstable/v2/waiters.d.ts.map +1 -0
- package/dist/solid/unstable/v2/waiters.js +175 -0
- package/dist/solid/unstable/v2/waiters.js.map +1 -0
- package/dist/solid/unstable/v2/ward.d.ts +393 -0
- package/dist/solid/unstable/v2/ward.d.ts.map +1 -0
- package/dist/solid/unstable/v2/ward.jsx +1475 -0
- package/dist/solid/unstable/v2/ward.jsx.map +1 -0
- package/dist/solid/unstable/v2/wardic-config.d.ts +68 -0
- package/dist/solid/unstable/v2/wardic-config.d.ts.map +1 -0
- package/dist/solid/unstable/v2/wardic-config.jsx +28 -0
- package/dist/solid/unstable/v2/wardic-config.jsx.map +1 -0
- package/dist/solid/unstable/v2/wardic.d.ts +28 -0
- package/dist/solid/unstable/v2/wardic.d.ts.map +1 -0
- package/dist/solid/unstable/v2/wardic.jsx +16 -0
- package/dist/solid/unstable/v2/wardic.jsx.map +1 -0
- package/dist/solid/variant-node.d.ts +32 -0
- package/dist/solid/variant-node.d.ts.map +1 -0
- package/dist/solid/variant-node.js +257 -0
- package/dist/solid/variant-node.js.map +1 -0
- package/dist/solid/variant-target.d.ts +102 -0
- package/dist/solid/variant-target.d.ts.map +1 -0
- package/dist/solid/variant-target.js +180 -0
- package/dist/solid/variant-target.js.map +1 -0
- package/dist/solid/variant-tree.d.ts +349 -0
- package/dist/solid/variant-tree.d.ts.map +1 -0
- package/dist/solid/variant-tree.js +358 -0
- package/dist/solid/variant-tree.js.map +1 -0
- package/dist/solid/variants.d.ts +21 -0
- package/dist/solid/variants.d.ts.map +1 -0
- package/dist/solid/variants.js +43 -0
- package/dist/solid/variants.js.map +1 -0
- package/dist/solid/w.d.ts +42 -0
- package/dist/solid/w.d.ts.map +1 -0
- package/dist/solid/w.jsx +23 -0
- package/dist/solid/w.jsx.map +1 -0
- package/dist/solid/ward-keys.d.ts +236 -0
- package/dist/solid/ward-keys.d.ts.map +1 -0
- package/dist/solid/ward-keys.js +2 -0
- package/dist/solid/ward-keys.js.map +1 -0
- package/dist/solid/wardic-component.d.ts +50 -0
- package/dist/solid/wardic-component.d.ts.map +1 -0
- package/dist/solid/wardic-component.js +74 -0
- package/dist/solid/wardic-component.js.map +1 -0
- package/dist/solid/wardic-config-value.d.ts +87 -0
- package/dist/solid/wardic-config-value.d.ts.map +1 -0
- package/dist/solid/wardic-config-value.js +106 -0
- package/dist/solid/wardic-config-value.js.map +1 -0
- package/dist/solid/wardic-config.d.ts +69 -0
- package/dist/solid/wardic-config.d.ts.map +1 -0
- package/dist/solid/wardic-config.jsx +30 -0
- package/dist/solid/wardic-config.jsx.map +1 -0
- package/dist/solid/wardic.d.ts +45 -0
- package/dist/solid/wardic.d.ts.map +1 -0
- package/dist/solid/wardic.jsx +31 -0
- package/dist/solid/wardic.jsx.map +1 -0
- package/package.json +98 -4
- package/src/animation-controls.ts +204 -0
- package/src/animation-frame.ts +32 -0
- package/src/appear.ts +804 -0
- package/src/arc.ts +34 -0
- package/src/bridge.ts +98 -0
- package/src/complete.ts +45 -0
- package/src/config.ts +805 -0
- package/src/create-animate.ts +41 -0
- package/src/create-ward.tsx +1271 -0
- package/src/cycle-index.ts +18 -0
- package/src/cycle.ts +34 -0
- package/src/directive.ts +87 -0
- package/src/drag-constraints.ts +103 -0
- package/src/drag-controls.ts +94 -0
- package/src/drag-samples.ts +54 -0
- package/src/drag-sensor.ts +46 -0
- package/src/drag-track.ts +937 -0
- package/src/drag-transition.ts +43 -0
- package/src/drag.ts +58 -0
- package/src/element-style.ts +112 -0
- package/src/element.tsx +400 -0
- package/src/feature-section.ts +33 -0
- package/src/feature.ts +342 -0
- package/src/features/all.ts +18 -0
- package/src/features/colors.ts +36 -0
- package/src/features/dom-animation.ts +15 -0
- package/src/features/dom-max.ts +11 -0
- package/src/features/drag.ts +30 -0
- package/src/features/focus.ts +17 -0
- package/src/features/hover.ts +17 -0
- package/src/features/in-view.ts +17 -0
- package/src/features/input.ts +42 -0
- package/src/features/keys.ts +89 -0
- package/src/features/layout.ts +54 -0
- package/src/features/pan.ts +17 -0
- package/src/features/press.ts +17 -0
- package/src/focus-sensor.ts +32 -0
- package/src/frame-time.ts +45 -0
- package/src/gesture-callbacks.ts +212 -0
- package/src/gesture-features.ts +35 -0
- package/src/gesture-info.ts +81 -0
- package/src/hover-sensor.ts +32 -0
- package/src/imperative.ts +782 -0
- package/src/index.ts +334 -0
- package/src/instant.ts +90 -0
- package/src/layout-group.ts +32 -0
- package/src/layout-member.ts +300 -0
- package/src/layout-projection.ts +28 -0
- package/src/layout.tsx +127 -0
- package/src/live-style.ts +449 -0
- package/src/live-value.ts +378 -0
- package/src/motion-props.ts +325 -0
- package/src/owner-scope.ts +31 -0
- package/src/page-point.ts +98 -0
- package/src/presence-controller.ts +1483 -0
- package/src/presence-record.ts +189 -0
- package/src/presence.tsx +269 -0
- package/src/press-sensor.ts +33 -0
- package/src/press.ts +40 -0
- package/src/provider.tsx +526 -0
- package/src/reactivity.ts +29 -0
- package/src/reorder-input.ts +53 -0
- package/src/reorder.tsx +703 -0
- package/src/retarget-legs.ts +1048 -0
- package/src/runtime.ts +388 -0
- package/src/sensors.ts +189 -0
- package/src/server-interpolators.ts +33 -0
- package/src/server.ts +21 -0
- package/src/solid-reactivity.ts +21 -0
- package/src/spine.ts +3385 -0
- package/src/stagger.ts +31 -0
- package/src/unstable/v2/bridge.ts +79 -0
- package/src/unstable/v2/complete.ts +47 -0
- package/src/unstable/v2/config-view.ts +156 -0
- package/src/unstable/v2/create-animate.ts +123 -0
- package/src/unstable/v2/cycle.ts +33 -0
- package/src/unstable/v2/drag-sensor.ts +44 -0
- package/src/unstable/v2/element.tsx +478 -0
- package/src/unstable/v2/feature-section.ts +32 -0
- package/src/unstable/v2/focus-sensor.ts +31 -0
- package/src/unstable/v2/hover-sensor.ts +30 -0
- package/src/unstable/v2/index.ts +270 -0
- package/src/unstable/v2/layout-projection.ts +27 -0
- package/src/unstable/v2/layout.tsx +89 -0
- package/src/unstable/v2/lifecycle.ts +612 -0
- package/src/unstable/v2/live-value.ts +414 -0
- package/src/unstable/v2/presence-handle.ts +159 -0
- package/src/unstable/v2/presence-hooks.ts +157 -0
- package/src/unstable/v2/presence.tsx +174 -0
- package/src/unstable/v2/press-sensor.ts +31 -0
- package/src/unstable/v2/provider.tsx +524 -0
- package/src/unstable/v2/reorder.tsx +880 -0
- package/src/unstable/v2/sensors.ts +169 -0
- package/src/unstable/v2/solid-reactivity.ts +69 -0
- package/src/unstable/v2/variant-node.ts +446 -0
- package/src/unstable/v2/w.tsx +49 -0
- package/src/unstable/v2/waiters.ts +212 -0
- package/src/unstable/v2/ward.tsx +2068 -0
- package/src/unstable/v2/wardic-config.tsx +84 -0
- package/src/unstable/v2/wardic.tsx +41 -0
- package/src/variant-node.ts +368 -0
- package/src/variant-target.ts +234 -0
- package/src/variant-tree.ts +638 -0
- package/src/variants.ts +47 -0
- package/src/w.tsx +59 -0
- package/src/ward-keys.ts +343 -0
- package/src/wardic-component.ts +96 -0
- package/src/wardic-config-value.ts +150 -0
- package/src/wardic-config.tsx +78 -0
- package/src/wardic.tsx +59 -0
|
@@ -0,0 +1,638 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The rules of an element's place in variant orchestration (ADR-0007, #50), Solid-free (#209): the
|
|
3
|
+
* names an element hands its children and inherits from its parent, the values it starts from, and
|
|
4
|
+
* what a server render builds. Each binding's variant node (`variant-node.ts` for Solid 1,
|
|
5
|
+
* `unstable/v2/variant-node.ts` for Solid 2) runs the orchestration over them, with its own Solid.
|
|
6
|
+
*
|
|
7
|
+
* Motion's rule (CONTEXT.md, **Variant child**):
|
|
8
|
+
* - An element that names its own variants, a name on any variant prop (`initial`, `animate`, the
|
|
9
|
+
* `while*` gestures, `exit`; #618), hands its children its `initial` and `animate` names, and an
|
|
10
|
+
* `initial={false}` with them (#134). Any other passes its parent's through, unless it sets
|
|
11
|
+
* `inherit={false}`, which passes none.
|
|
12
|
+
* - A **Variant child** (`variants`, no names of its own, `inherit` not `false`) inherits its
|
|
13
|
+
* ancestor's names and default transition, takes a stagger slot among the ancestor's variant
|
|
14
|
+
* children, and counts for the ancestor's `when`.
|
|
15
|
+
* - An element with variants of its own (`variants`, or a name) is what its Variant children
|
|
16
|
+
* join: it owns their registry, their stagger and their `when`. Any other element passes its
|
|
17
|
+
* parent's context through, so a Variant child joins its nearest such ancestor; it renders no
|
|
18
|
+
* Provider unless it sets `inherit={false}` ({@link changesContext}).
|
|
19
|
+
*
|
|
20
|
+
* @module
|
|
21
|
+
*/
|
|
22
|
+
import * as Stagger from "@wardic/core/Stagger"
|
|
23
|
+
import type * as Values from "@wardic/core/Values"
|
|
24
|
+
import * as Style from "@wardic/dom/Style"
|
|
25
|
+
import * as Arr from "effect/Array"
|
|
26
|
+
import * as Bool from "effect/Boolean"
|
|
27
|
+
import { constTrue, constUndefined, identity } from "effect/Function"
|
|
28
|
+
import * as Predicate from "effect/Predicate"
|
|
29
|
+
import * as UndefinedOr from "effect/UndefinedOr"
|
|
30
|
+
import { type ControlsChange, isAnimationControls } from "./animation-controls.ts"
|
|
31
|
+
import type { AppearGroup } from "./appear.ts"
|
|
32
|
+
import type { WardicStagger, WardicTransition, WardicVariantLabels, WardicVariants } from "./config.ts"
|
|
33
|
+
import type { Accessor, Reactivity } from "./reactivity.ts"
|
|
34
|
+
import { type Entry, isLabels, labelsOf, NO_VARIANT_STATE, resolveTarget, sameLabels, startingVariantsOf } from "./variant-target.ts"
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* The handle a child receives from {@link WardicVariantContextValue.register}
|
|
38
|
+
* when it mounts under a `ward.Provider` (ADR-0007, step 21b).
|
|
39
|
+
*
|
|
40
|
+
* - `index` / `total` — the child's SNAPSHOT position + sibling count for the
|
|
41
|
+
* CURRENT transition. The Provider rewrites these only at the trigger (the
|
|
42
|
+
* parent variant changing), never mid-transition; the child reads them to feed
|
|
43
|
+
* core `stagger(amount, { from })(index, total)`.
|
|
44
|
+
* - `setSettled` — the child reports its own settle state (true when its spine
|
|
45
|
+
* settles, false while animating), feeding the parent's `allChildrenSettled`.
|
|
46
|
+
* - `dispose` — removes this record from the registry on unmount.
|
|
47
|
+
*/
|
|
48
|
+
export interface WardicChildRegistration {
|
|
49
|
+
readonly index: Accessor<number>
|
|
50
|
+
readonly total: Accessor<number>
|
|
51
|
+
readonly setSettled: (settled: boolean) => void
|
|
52
|
+
/**
|
|
53
|
+
* The child's keys of one of a list's names settled, or moving again (#297's PR 2): for that name's
|
|
54
|
+
* own `afterChildren`. Optional: left out, nothing per name.
|
|
55
|
+
*/
|
|
56
|
+
readonly setSettledFor?: (name: string, settled: boolean) => void
|
|
57
|
+
readonly dispose: () => void
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* A list's names orchestrated each on their own (#297's PR 2, Motion's `animateVariant` a name): whether
|
|
62
|
+
* a name's keys may start (its provider's `beforeChildren` for that name, and its own `afterChildren`),
|
|
63
|
+
* and what a spine tells as a list's names start moving and settle. Read by polling: a group waiting
|
|
64
|
+
* on a name's gate reads it each tick.
|
|
65
|
+
*/
|
|
66
|
+
export interface NameOrchestration {
|
|
67
|
+
readonly mayStart: (name: string) => boolean
|
|
68
|
+
readonly moving: (names: ReadonlyArray<string>) => void
|
|
69
|
+
readonly settled: (names: ReadonlyArray<string>) => void
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
/** The resolved stagger config the Provider exposes to its children. */
|
|
73
|
+
export interface WardicStaggerConfig {
|
|
74
|
+
/** Seconds between siblings (core `stagger` amount). */
|
|
75
|
+
readonly amount: number
|
|
76
|
+
/** Fixed offset added to every child's computed delay, or a function that decides it whole (#436). */
|
|
77
|
+
readonly delayChildren: number | WardicStagger
|
|
78
|
+
/** Origin the stagger distance grows outward from (core option). */
|
|
79
|
+
readonly from: Stagger.Origin
|
|
80
|
+
/** `1` forward (index = position), `-1` reverses the effective index. */
|
|
81
|
+
readonly direction: 1 | -1
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
* The value carried down the tree by {@link WardicVariantContext}.
|
|
86
|
+
*
|
|
87
|
+
* - `variant` — the parent instance's CURRENT variant NAME (reactive). It is
|
|
88
|
+
* `undefined` when the parent's resolved `animate` is a `Values` map rather
|
|
89
|
+
* than a name (propagation is by name only — a values map has no name to
|
|
90
|
+
* inherit).
|
|
91
|
+
* - `initial` — the parent's `initial` NAME, or `false`, read once (#50, #134).
|
|
92
|
+
*
|
|
93
|
+
* Every Wardic element provides one (#50): its own if it has variants of its own, else its
|
|
94
|
+
* parent's, passed through (`variant-node.ts`).
|
|
95
|
+
* - `transition` — the parent's transition, inherited as the DEFAULT for
|
|
96
|
+
* children that supply no local `transition`.
|
|
97
|
+
*
|
|
98
|
+
* Designed to extend without breaking: 21b adds optional `registry` / `stagger`
|
|
99
|
+
* / `when` members; readers consume only the fields they know.
|
|
100
|
+
*/
|
|
101
|
+
/** A gesture layer, in Motion's priority, lowest first (#291): `whileInView` … `whileDrag`. */
|
|
102
|
+
export type GestureLayer = "inView" | "focused" | "hovered" | "pressed" | "dragged"
|
|
103
|
+
|
|
104
|
+
/** The gesture layers in Motion's priority, lowest first. */
|
|
105
|
+
export const GESTURE_LAYERS: ReadonlyArray<GestureLayer> = ["inView", "focused", "hovered", "pressed", "dragged"]
|
|
106
|
+
|
|
107
|
+
/** The variant names an element hands its Variant children for its active gestures (#291): a name or a list each (#297). */
|
|
108
|
+
export type GestureNames = Readonly<Partial<Record<GestureLayer, WardicVariantLabels | undefined>>>
|
|
109
|
+
|
|
110
|
+
/** No gesture on: what an element with none active hands down. */
|
|
111
|
+
export const NO_GESTURE_NAMES: GestureNames = {}
|
|
112
|
+
|
|
113
|
+
/** Two {@link GestureNames} the same: the same names for each gesture, a list name by name (#297). */
|
|
114
|
+
export const sameGestureNames = (a: GestureNames, b: GestureNames): boolean =>
|
|
115
|
+
GESTURE_LAYERS.every((layer) => sameLabels(a[layer], b[layer]))
|
|
116
|
+
|
|
117
|
+
/** Whether each gesture is on (#291): a spine's, bound to its variant node. */
|
|
118
|
+
export type GestureStates = Readonly<Record<GestureLayer, boolean>>
|
|
119
|
+
|
|
120
|
+
/** No gesture on. */
|
|
121
|
+
export const NO_GESTURE_STATES: GestureStates = { inView: false, focused: false, hovered: false, pressed: false, dragged: false }
|
|
122
|
+
|
|
123
|
+
/**
|
|
124
|
+
* What an element hands its Variant children for its gestures (#291, Motion's `setActive` and variant
|
|
125
|
+
* context): whether each is on (its own, or its own provider's), and each one's label (its own
|
|
126
|
+
* `while*`, if a name, else the one it took). A Variant child's gesture is on while its provider's is.
|
|
127
|
+
*/
|
|
128
|
+
export interface GestureHandDown {
|
|
129
|
+
readonly on: GestureStates
|
|
130
|
+
readonly names: GestureNames
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
/** Nothing on, no labels: what an element hands down with no provider and no gesture. */
|
|
134
|
+
export const NO_HAND_DOWN: GestureHandDown = { on: NO_GESTURE_STATES, names: NO_GESTURE_NAMES }
|
|
135
|
+
|
|
136
|
+
/** Two hand-downs the same: each gesture on alike, with the same label. */
|
|
137
|
+
export const sameHandDown = (a: GestureHandDown, b: GestureHandDown): boolean =>
|
|
138
|
+
GESTURE_LAYERS.every((layer) => Bool.and(a.on[layer] === b.on[layer], sameLabels(a.names[layer], b.names[layer])))
|
|
139
|
+
|
|
140
|
+
/** What a context hands down, nothing without a context or its gestures. */
|
|
141
|
+
export const handDownFrom = (context: WardicVariantContextValue | undefined): GestureHandDown => {
|
|
142
|
+
// Per Retarget, per element: guards, nothing made (most elements have no provider).
|
|
143
|
+
if (Predicate.isUndefined(context)) return NO_HAND_DOWN
|
|
144
|
+
const gestures = context.gestures
|
|
145
|
+
if (Predicate.isUndefined(gestures)) return NO_HAND_DOWN
|
|
146
|
+
return gestures()
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
/** The gesture props a variant node reads (#291). */
|
|
150
|
+
export interface GestureConfig {
|
|
151
|
+
readonly whileInView?: object | WardicVariantLabels | undefined
|
|
152
|
+
readonly whileFocus?: object | WardicVariantLabels | undefined
|
|
153
|
+
readonly whileHover?: object | WardicVariantLabels | undefined
|
|
154
|
+
readonly whileTap?: object | WardicVariantLabels | undefined
|
|
155
|
+
readonly whileDrag?: object | WardicVariantLabels | undefined
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
/** Each gesture on: its own, or its provider's. */
|
|
159
|
+
export const gesturesOn = (own: GestureStates, above: GestureStates): GestureStates => ({
|
|
160
|
+
inView: Bool.or(own.inView, above.inView),
|
|
161
|
+
focused: Bool.or(own.focused, above.focused),
|
|
162
|
+
hovered: Bool.or(own.hovered, above.hovered),
|
|
163
|
+
pressed: Bool.or(own.pressed, above.pressed),
|
|
164
|
+
dragged: Bool.or(own.dragged, above.dragged),
|
|
165
|
+
})
|
|
166
|
+
|
|
167
|
+
/** A gesture's label (#291): its own `while*`, if a name or a list (#297); with none of its own, the one it took. */
|
|
168
|
+
const labelOf = (own: object | WardicVariantLabels | undefined, inherited: WardicVariantLabels | undefined): WardicVariantLabels | undefined => {
|
|
169
|
+
if (Predicate.isNotUndefined(own)) return nameOf(own)
|
|
170
|
+
return inherited
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
/** What an element hands down (#291), from its config, its own states, and what it takes. */
|
|
174
|
+
export const handDownOf = (config: GestureConfig, own: GestureStates, above: GestureHandDown): GestureHandDown => ({
|
|
175
|
+
on: gesturesOn(own, above.on),
|
|
176
|
+
names: {
|
|
177
|
+
inView: labelOf(config.whileInView, above.names.inView),
|
|
178
|
+
focused: labelOf(config.whileFocus, above.names.focused),
|
|
179
|
+
hovered: labelOf(config.whileHover, above.names.hovered),
|
|
180
|
+
pressed: labelOf(config.whileTap, above.names.pressed),
|
|
181
|
+
dragged: labelOf(config.whileDrag, above.names.dragged),
|
|
182
|
+
},
|
|
183
|
+
})
|
|
184
|
+
|
|
185
|
+
/** The name each gesture's layer resolves while it's on (#291): its label then; off, none. */
|
|
186
|
+
export const activeNamesOf = (handDown: GestureHandDown): GestureNames => ({
|
|
187
|
+
inView: activeName(handDown, "inView"),
|
|
188
|
+
focused: activeName(handDown, "focused"),
|
|
189
|
+
hovered: activeName(handDown, "hovered"),
|
|
190
|
+
pressed: activeName(handDown, "pressed"),
|
|
191
|
+
dragged: activeName(handDown, "dragged"),
|
|
192
|
+
})
|
|
193
|
+
|
|
194
|
+
/** A gesture's label while it's on. */
|
|
195
|
+
const activeName = (handDown: GestureHandDown, layer: GestureLayer): WardicVariantLabels | undefined => {
|
|
196
|
+
if (Bool.not(handDown.on[layer])) return undefined
|
|
197
|
+
return handDown.names[layer]
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
/**
|
|
201
|
+
* A key for a variant name and the active gestures' names: what a provider's orchestration snapshots
|
|
202
|
+
* at (#291), a list's names each (#297). A **Controls change** (#433) is one too, to the same name.
|
|
203
|
+
*/
|
|
204
|
+
export const triggerKeyOf = (variant: WardicVariantLabels | undefined, handDown: GestureHandDown, change: ControlsChange | undefined): string =>
|
|
205
|
+
[keyOfLabels(variant), ...GESTURE_LAYERS.map((layer) => keyOfLabels(activeName(handDown, layer))), UndefinedOr.match(change, { onUndefined: () => "", onDefined: (c) => `${c.serial}` })].join("|")
|
|
206
|
+
|
|
207
|
+
/**
|
|
208
|
+
* The **Controls change** a provider's latest trigger came with (#433): its orchestration is that
|
|
209
|
+
* change's override until a trigger without one. `previous` is the last answer.
|
|
210
|
+
*/
|
|
211
|
+
export interface ChangeAtTrigger {
|
|
212
|
+
readonly change: ControlsChange | undefined
|
|
213
|
+
readonly key: string
|
|
214
|
+
/** The change that orchestrates now: the one the latest trigger came with, or none. */
|
|
215
|
+
readonly by: ControlsChange | undefined
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
/** {@link ChangeAtTrigger} after a trigger `key` with `change` in effect. */
|
|
219
|
+
export const changeAtTrigger = (change: ControlsChange | undefined, key: string, previous: ChangeAtTrigger | undefined): ChangeAtTrigger => {
|
|
220
|
+
if (Predicate.isUndefined(previous)) return { change, key, by: change }
|
|
221
|
+
if (change !== previous.change) return { change, key, by: change }
|
|
222
|
+
if (key !== previous.key) return { change, key, by: undefined }
|
|
223
|
+
return previous
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
/** Each Controls change's override as a name's orchestration (#433), made once a change. */
|
|
227
|
+
// Module state (#460, Q7): a cache held weakly by the object it's for, so it goes with it.
|
|
228
|
+
const CHANGE_CONFIGS = new WeakMap<ControlsChange, NameConfig>()
|
|
229
|
+
|
|
230
|
+
/**
|
|
231
|
+
* The orchestration every name of a list takes at a trigger a Controls change came with (#433): its
|
|
232
|
+
* override's, or `undefined` for none (each name its own).
|
|
233
|
+
*/
|
|
234
|
+
export const changeConfigOf = (at: ChangeAtTrigger): NameConfig | undefined => {
|
|
235
|
+
const by = at.by
|
|
236
|
+
if (Predicate.isUndefined(by)) return undefined
|
|
237
|
+
const override = by.override
|
|
238
|
+
if (Predicate.isUndefined(override)) return undefined
|
|
239
|
+
const known = CHANGE_CONFIGS.get(by)
|
|
240
|
+
if (Predicate.isNotUndefined(known)) return known
|
|
241
|
+
const made = nameConfigOf(override)
|
|
242
|
+
CHANGE_CONFIGS.set(by, made)
|
|
243
|
+
return made
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
/** A provider's orchestration at a trigger (#433): the override of the change it came with, else its own. */
|
|
247
|
+
export const orchestrationAt = (at: ChangeAtTrigger, own: () => WardicTransition | undefined): WardicTransition | undefined =>
|
|
248
|
+
UndefinedOr.match(UndefinedOr.map(at.by, (by) => by.override), { onUndefined: own, onDefined: identity })
|
|
249
|
+
|
|
250
|
+
/** Labels as one key: a list's names apart by a character no name has in practice. */
|
|
251
|
+
const keyOfLabels = (labels: WardicVariantLabels | undefined): string => Arr.join(labelsOf(labels), "\u0001")
|
|
252
|
+
|
|
253
|
+
/** The highest-priority active gesture's name, or list (#297), if any hands one down. */
|
|
254
|
+
export const topGestureName = (names: GestureNames): WardicVariantLabels | undefined =>
|
|
255
|
+
UndefinedOr.match(names.dragged, {
|
|
256
|
+
onDefined: identity,
|
|
257
|
+
onUndefined: () =>
|
|
258
|
+
UndefinedOr.match(names.pressed, {
|
|
259
|
+
onDefined: identity,
|
|
260
|
+
onUndefined: () =>
|
|
261
|
+
UndefinedOr.match(names.hovered, {
|
|
262
|
+
onDefined: identity,
|
|
263
|
+
onUndefined: () => UndefinedOr.match(names.focused, { onDefined: identity, onUndefined: () => names.inView }),
|
|
264
|
+
}),
|
|
265
|
+
}),
|
|
266
|
+
})
|
|
267
|
+
|
|
268
|
+
/**
|
|
269
|
+
* What a variant parent hands its children: `variant()`, its current name or names; `initial`;
|
|
270
|
+
* `transition()`; `when()` and its stagger; and the registration its children make, in mount order,
|
|
271
|
+
* for that orchestration.
|
|
272
|
+
*
|
|
273
|
+
* @see https://wardic.dev/reference/solid/advanced/variant-context
|
|
274
|
+
*/
|
|
275
|
+
export interface WardicVariantContextValue {
|
|
276
|
+
/** The parent's current variant NAME, or list of names, reactive (undefined if it's a values map). */
|
|
277
|
+
readonly variant: Accessor<WardicVariantLabels | undefined>
|
|
278
|
+
/**
|
|
279
|
+
* The parent's `initial` variant NAME, or `false`, read once (undefined if it's a values map or
|
|
280
|
+
* absent): a Variant child with no `initial` of its own starts from it, or, for `false`,
|
|
281
|
+
* at its `animate` (Motion's `getCurrentTreeVariants`).
|
|
282
|
+
*/
|
|
283
|
+
readonly initial: WardicVariantLabels | false | undefined
|
|
284
|
+
/** The parent's transition, inherited as the default for children. */
|
|
285
|
+
readonly transition: Accessor<WardicTransition | undefined>
|
|
286
|
+
/**
|
|
287
|
+
* What the parent hands down for its gestures (Motion's): whether each is on, and its label.
|
|
288
|
+
* A Variant child's gesture is on while the parent's is, on its own `while*`, else that label.
|
|
289
|
+
* Optional: left out, nothing.
|
|
290
|
+
*/
|
|
291
|
+
readonly gestures?: Accessor<GestureHandDown>
|
|
292
|
+
/**
|
|
293
|
+
* Register this child with the parent's ordered registry (call on mount).
|
|
294
|
+
* Returns the child's reactive snapshot index/total + a settle reporter +
|
|
295
|
+
* a disposer. Children register in mount order; the parent snapshots that
|
|
296
|
+
* order at each change it hands down.
|
|
297
|
+
*/
|
|
298
|
+
// ADR-0007: snapshot at trigger.
|
|
299
|
+
readonly register: () => WardicChildRegistration
|
|
300
|
+
/**
|
|
301
|
+
* The parent's resolved stagger config (from `config.transition`): amount =
|
|
302
|
+
* `staggerChildren`, plus `delayChildren` / `from` / `direction`.
|
|
303
|
+
*/
|
|
304
|
+
readonly stagger: Accessor<WardicStaggerConfig>
|
|
305
|
+
/**
|
|
306
|
+
* The parent's stagger config for one of its names (Motion's `animateVariant` a name): that
|
|
307
|
+
* name's own transition's, else the parent's `transition`. A Variant child's keys of that name take
|
|
308
|
+
* their delay from it. `undefined` asks for {@link stagger}. Optional: left out, `stagger` for all.
|
|
309
|
+
*/
|
|
310
|
+
readonly staggerFor?: (name: string | undefined) => WardicStaggerConfig
|
|
311
|
+
/**
|
|
312
|
+
* For a list: whether a Variant child's keys of `name` may start, that name's own
|
|
313
|
+
* `beforeChildren`: true unless it has one and this element's keys of that name haven't settled
|
|
314
|
+
* since its list last changed. Optional: left out, always.
|
|
315
|
+
*/
|
|
316
|
+
readonly mayStartFor?: (name: string) => boolean
|
|
317
|
+
/** The parent's `when` mode, or `undefined` (default concurrent); a list's names have each their own. */
|
|
318
|
+
readonly when: Accessor<"beforeChildren" | "afterChildren" | undefined>
|
|
319
|
+
/**
|
|
320
|
+
* Whether children may START their inherited-variant Retarget yet. True
|
|
321
|
+
* immediately UNLESS `when === "beforeChildren"`, in which case it flips true
|
|
322
|
+
* once the parent's own variant animation settles.
|
|
323
|
+
*/
|
|
324
|
+
readonly childrenMayStart: Accessor<boolean>
|
|
325
|
+
/** Whether EVERY Variant child has reported its spine as settled. */
|
|
326
|
+
readonly allChildrenSettled: Accessor<boolean>
|
|
327
|
+
/**
|
|
328
|
+
* The **Controls change** in effect: its own controls' latest, else the one it inherits. A
|
|
329
|
+
* Variant child joins it, and runs its first Retarget for it on its override. Optional: none.
|
|
330
|
+
*/
|
|
331
|
+
readonly change?: Accessor<ControlsChange | undefined>
|
|
332
|
+
/**
|
|
333
|
+
* During a server render, the parent's Appear group: its Variant
|
|
334
|
+
* children join it in render order, for their stagger and `when` before hydration.
|
|
335
|
+
*/
|
|
336
|
+
readonly appearGroup?: AppearGroup | undefined
|
|
337
|
+
}
|
|
338
|
+
|
|
339
|
+
/** The part of an element's config its place in variant orchestration reads. */
|
|
340
|
+
export interface VariantConfig extends GestureConfig {
|
|
341
|
+
readonly initial?: object | WardicVariantLabels | false | undefined
|
|
342
|
+
readonly animate?: object | WardicVariantLabels | undefined
|
|
343
|
+
readonly exit?: object | WardicVariantLabels | undefined
|
|
344
|
+
readonly variants?: object | undefined
|
|
345
|
+
readonly inherit?: boolean | undefined
|
|
346
|
+
readonly transition?: WardicTransition | undefined
|
|
347
|
+
/** What its dynamic variants resolve with (#277). */
|
|
348
|
+
readonly custom?: unknown
|
|
349
|
+
/**
|
|
350
|
+
* Whether its `animate` is **Animation controls**' (#433): it names its own variants whatever its
|
|
351
|
+
* entry is, as Motion's `isControllingVariants`, so it hands down the names its controls set.
|
|
352
|
+
*/
|
|
353
|
+
readonly controlled?: boolean | undefined
|
|
354
|
+
}
|
|
355
|
+
|
|
356
|
+
/** An `initial` an element hands its children: a variant name or list (#297), `false` (#134), or `undefined` for a values map or nothing. */
|
|
357
|
+
export const initialNameOf = (entry: object | WardicVariantLabels | false | undefined): WardicVariantLabels | false | undefined =>
|
|
358
|
+
Bool.match(entry === false, { onTrue: () => false as const, onFalse: () => nameOf(entry as object | WardicVariantLabels | undefined) })
|
|
359
|
+
|
|
360
|
+
/** A variant name or a list of names (#297), or `undefined` for a values map or nothing. */
|
|
361
|
+
export const nameOf = (entry: object | WardicVariantLabels | undefined): WardicVariantLabels | undefined =>
|
|
362
|
+
Bool.match(isLabels(entry), { onTrue: () => entry as WardicVariantLabels, onFalse: constUndefined })
|
|
363
|
+
|
|
364
|
+
/**
|
|
365
|
+
* Whether `config` names its own variants: any of its variant props, `initial`, `animate`, the five
|
|
366
|
+
* `while*` and `exit`, is a name or a list, or its `animate` is **Animation controls** (#433), as given
|
|
367
|
+
* or as its binding marks the config it reads (Motion's `isControllingVariants`, `isVariantLabel`).
|
|
368
|
+
*/
|
|
369
|
+
// #618 (decision 8): Motion's `variantProps` (motion-dom 14.6 render/utils/variant-props.mjs); only
|
|
370
|
+
// `initial` and `animate` counted before. Statements, not a loop over the keys: it's read per change.
|
|
371
|
+
export const namesOwnVariants = (config: VariantConfig): boolean =>
|
|
372
|
+
config.controlled === true ||
|
|
373
|
+
isAnimationControls(config.animate) ||
|
|
374
|
+
isLabels(config.initial) ||
|
|
375
|
+
isLabels(config.animate) ||
|
|
376
|
+
isLabels(config.whileInView) ||
|
|
377
|
+
isLabels(config.whileFocus) ||
|
|
378
|
+
isLabels(config.whileHover) ||
|
|
379
|
+
isLabels(config.whileTap) ||
|
|
380
|
+
isLabels(config.whileDrag) ||
|
|
381
|
+
isLabels(config.exit)
|
|
382
|
+
|
|
383
|
+
/** Whether an element has variants of its own, so Variant children join it (Motion's `isVariantNode`). */
|
|
384
|
+
export const hasOwnVariants = (config: VariantConfig): boolean =>
|
|
385
|
+
Predicate.isNotUndefined(config.variants) || namesOwnVariants(config)
|
|
386
|
+
|
|
387
|
+
/**
|
|
388
|
+
* Whether an element changes what its children read, so it renders its variant context's
|
|
389
|
+
* Provider (#50): it has variants of its own, or it sets `inherit={false}`. Any other element hands
|
|
390
|
+
* its children its parent's context as it is, so it renders none. Decided once, at setup, from the
|
|
391
|
+
* same props on a server and on the client, so the nesting never changes after mount.
|
|
392
|
+
*/
|
|
393
|
+
export const changesContext = (config: VariantConfig): boolean => hasOwnVariants(config) || config.inherit === false
|
|
394
|
+
|
|
395
|
+
/**
|
|
396
|
+
* The **Controls change** in effect for an element (#433): its own controls', else the one the context
|
|
397
|
+
* it inherits from is in, else none. Per mount, for every element (#460): guards, nothing built.
|
|
398
|
+
*/
|
|
399
|
+
export const controlsChangeOf = (
|
|
400
|
+
controls: Accessor<ControlsChange | undefined> | undefined,
|
|
401
|
+
inherited: WardicVariantContextValue | undefined,
|
|
402
|
+
): Accessor<ControlsChange | undefined> => {
|
|
403
|
+
if (Predicate.isNotUndefined(controls)) return controls
|
|
404
|
+
if (Predicate.isUndefined(inherited)) return constUndefined
|
|
405
|
+
const change = inherited.change
|
|
406
|
+
if (Predicate.isUndefined(change)) return constUndefined
|
|
407
|
+
return change
|
|
408
|
+
}
|
|
409
|
+
|
|
410
|
+
/** Whether an element is a **Variant child** (CONTEXT.md). */
|
|
411
|
+
export const isVariantChild = (config: VariantConfig): boolean =>
|
|
412
|
+
Predicate.isNotUndefined(config.variants) && !namesOwnVariants(config) && config.inherit !== false
|
|
413
|
+
|
|
414
|
+
/** The context an element inherits names and its default transition from: its parent's, for a Variant child. */
|
|
415
|
+
export const inheritedContext = (
|
|
416
|
+
config: VariantConfig,
|
|
417
|
+
parent: WardicVariantContextValue | undefined,
|
|
418
|
+
): WardicVariantContextValue | undefined => {
|
|
419
|
+
// Per element at mount (#540): statements.
|
|
420
|
+
if (isVariantChild(config)) return parent
|
|
421
|
+
return undefined
|
|
422
|
+
}
|
|
423
|
+
|
|
424
|
+
/**
|
|
425
|
+
* The `initial` an element's Starting style resolves: its own, else the `initial` name (or `false`) of
|
|
426
|
+
* the context it inherits from (#50, #134). Read once, as every `initial` is.
|
|
427
|
+
*/
|
|
428
|
+
export const initialOf = (
|
|
429
|
+
config: VariantConfig,
|
|
430
|
+
inherited: WardicVariantContextValue | undefined,
|
|
431
|
+
): object | WardicVariantLabels | false | undefined =>
|
|
432
|
+
UndefinedOr.match(config.initial, {
|
|
433
|
+
onDefined: (initial) => initial,
|
|
434
|
+
onUndefined: () => UndefinedOr.match(inherited, { onUndefined: constUndefined, onDefined: (context) => context.initial }),
|
|
435
|
+
})
|
|
436
|
+
|
|
437
|
+
/** The `animate` an element starts at with `initial={false}`: its own, else the name its context hands down (#134). Read once, untracked. */
|
|
438
|
+
const animateOf = (
|
|
439
|
+
config: VariantConfig,
|
|
440
|
+
inherited: WardicVariantContextValue | undefined,
|
|
441
|
+
untrack: Reactivity["untrack"],
|
|
442
|
+
): object | WardicVariantLabels | undefined =>
|
|
443
|
+
UndefinedOr.match(config.animate, {
|
|
444
|
+
onDefined: (animate) => animate,
|
|
445
|
+
onUndefined: () => UndefinedOr.match(inherited, { onUndefined: constUndefined, onDefined: (context) => untrack(context.variant) }),
|
|
446
|
+
})
|
|
447
|
+
|
|
448
|
+
/**
|
|
449
|
+
* Whether an element starts at its `animate`, with nothing animating at mount (#134, Motion's
|
|
450
|
+
* `isInitialAnimationBlocked`): its `initial` (own or inherited) is `false`, or it renders with an
|
|
451
|
+
* `<AnimatePresence initial={false}>`'s first render (`presenceBlocks`).
|
|
452
|
+
*/
|
|
453
|
+
export const startsAtAnimate = (
|
|
454
|
+
config: VariantConfig,
|
|
455
|
+
inherited: WardicVariantContextValue | undefined,
|
|
456
|
+
presenceBlocks: boolean,
|
|
457
|
+
): boolean => presenceBlocks || initialOf(config, inherited) === false
|
|
458
|
+
|
|
459
|
+
/**
|
|
460
|
+
* Whether an element's mount tells nothing (#448, Motion's `animation-state.ts`): it
|
|
461
|
+
* {@link startsAtAnimate}, or its `initial` (own, else inherited) is the same name, list or values map
|
|
462
|
+
* as its `animate` (own, else inherited). Its first Retarget, landing with nothing to animate, is told
|
|
463
|
+
* to no one. Read once, untracked.
|
|
464
|
+
*/
|
|
465
|
+
export const startsQuiet = (
|
|
466
|
+
config: VariantConfig,
|
|
467
|
+
inherited: WardicVariantContextValue | undefined,
|
|
468
|
+
presenceBlocks: boolean,
|
|
469
|
+
untrack: Reactivity["untrack"],
|
|
470
|
+
): boolean => {
|
|
471
|
+
if (startsAtAnimate(config, inherited, presenceBlocks)) return true
|
|
472
|
+
const initial = initialOf(config, inherited)
|
|
473
|
+
if (Predicate.isUndefined(initial)) return false
|
|
474
|
+
// The same map is the same entry, as the same name or list is.
|
|
475
|
+
return sameLabels(initial as WardicVariantLabels, animateOf(config, inherited, untrack) as WardicVariantLabels)
|
|
476
|
+
}
|
|
477
|
+
|
|
478
|
+
/**
|
|
479
|
+
* The values an element starts from, its Starting style's input (ADR-0003): its `initial` (own, else
|
|
480
|
+
* inherited, #50), or, when it {@link startsAtAnimate}, its `animate` (own, else inherited), as
|
|
481
|
+
* Motion's `initial={false}` (#134). Read once: an inherited name is read through `untrack`.
|
|
482
|
+
*/
|
|
483
|
+
export const startingValuesOf = (
|
|
484
|
+
config: VariantConfig,
|
|
485
|
+
inherited: WardicVariantContextValue | undefined,
|
|
486
|
+
presenceBlocks: boolean,
|
|
487
|
+
untrack: Reactivity["untrack"],
|
|
488
|
+
): Values.Values => {
|
|
489
|
+
const atAnimate = startsAtAnimate(config, inherited, presenceBlocks)
|
|
490
|
+
const animate = animateOf(config, inherited, untrack)
|
|
491
|
+
const initial = initialOf(config, inherited)
|
|
492
|
+
// Per element at mount (#540): statements. Starting at `animate` resolves as `initial={false}`,
|
|
493
|
+
// and its first target is `animate`.
|
|
494
|
+
let from = initial
|
|
495
|
+
let first = initial
|
|
496
|
+
if (atAnimate) {
|
|
497
|
+
from = false
|
|
498
|
+
first = animate
|
|
499
|
+
}
|
|
500
|
+
const values = Style.resolveInitial({
|
|
501
|
+
initial: from,
|
|
502
|
+
animate,
|
|
503
|
+
// Dynamic variants resolved first (#277): dom's Starting style reads values maps only.
|
|
504
|
+
variants: startingVariantsOf(config.variants, config.custom) as Readonly<Record<string, object | undefined>> | undefined,
|
|
505
|
+
})
|
|
506
|
+
// The first target's Transition end (#428, Motion's `makeLatestValues`): set at once, so a server
|
|
507
|
+
// renders it, and a hydration finds it.
|
|
508
|
+
if (Predicate.isUndefined(first) || first === false) return values
|
|
509
|
+
const end = resolveTarget(first as Entry, config.variants as WardicVariants | undefined, config.custom, NO_VARIANT_STATE).transitionEnd
|
|
510
|
+
if (Predicate.isUndefined(end)) return values
|
|
511
|
+
return { ...values, ...end }
|
|
512
|
+
}
|
|
513
|
+
|
|
514
|
+
/**
|
|
515
|
+
* A name an element hands its children (Motion's `getCurrentTreeVariants`): `own` if it names its own
|
|
516
|
+
* variants, else `fromParent` unless it sets `inherit={false}`.
|
|
517
|
+
*/
|
|
518
|
+
export const handedDown = <A extends WardicVariantLabels | false>(config: VariantConfig, own: () => A | undefined, fromParent: () => A | undefined): A | undefined =>
|
|
519
|
+
Bool.match(namesOwnVariants(config), {
|
|
520
|
+
onTrue: own,
|
|
521
|
+
onFalse: () => Bool.match(config.inherit === false, { onTrue: constUndefined, onFalse: fromParent }),
|
|
522
|
+
})
|
|
523
|
+
|
|
524
|
+
/** An element's own transition, else the one it inherits. */
|
|
525
|
+
export const ownOrInherited = (own: WardicTransition | undefined, inherited: WardicVariantContextValue | undefined): WardicTransition | undefined =>
|
|
526
|
+
UndefinedOr.match(own, { onUndefined: () => UndefinedOr.map(inherited, (context) => context.transition()), onDefined: identity })
|
|
527
|
+
|
|
528
|
+
/** The stagger config an element's `transition` gives its Variant children. */
|
|
529
|
+
export const staggerOf = (transition: WardicTransition | undefined): WardicStaggerConfig =>
|
|
530
|
+
UndefinedOr.match(transition, { onUndefined: () => staggerWith({}), onDefined: staggerWith })
|
|
531
|
+
|
|
532
|
+
/** A context's stagger config for one of its names (#297): its `staggerFor`'s, else its whole orchestration's. */
|
|
533
|
+
export const staggerOfName = (context: WardicVariantContextValue, name: string | undefined): WardicStaggerConfig => {
|
|
534
|
+
const of = context.staggerFor
|
|
535
|
+
if (Predicate.isUndefined(of)) return context.stagger()
|
|
536
|
+
return of(name)
|
|
537
|
+
}
|
|
538
|
+
|
|
539
|
+
/** Whether a context lets a Variant child's keys of a list's name start (#297's PR 2): its `mayStartFor`, else always. */
|
|
540
|
+
export const mayStartOf = (context: WardicVariantContextValue, name: string): boolean => {
|
|
541
|
+
const of = context.mayStartFor
|
|
542
|
+
if (Predicate.isUndefined(of)) return true
|
|
543
|
+
return of(name)
|
|
544
|
+
}
|
|
545
|
+
|
|
546
|
+
/** A child's place in a stagger, turned by its `staggerDirection`: `-1` counts from the last. */
|
|
547
|
+
export const directed = (index: number, total: number, direction: 1 | -1): number => {
|
|
548
|
+
if (direction === -1) return total - 1 - index
|
|
549
|
+
return index
|
|
550
|
+
}
|
|
551
|
+
|
|
552
|
+
/**
|
|
553
|
+
* A child's delay in a stagger (ADR-0007): its `delayChildren` plus its place from the origin, turned
|
|
554
|
+
* by its `staggerDirection`. A function `delayChildren` (#436, Motion's `calcChildStagger`) decides it
|
|
555
|
+
* whole, from the child's index and the count. Every stagger, a Variant child's, a presence's exit's
|
|
556
|
+
* and a server's Appear timing, is placed by it.
|
|
557
|
+
*/
|
|
558
|
+
export const childDelayOf = (s: WardicStaggerConfig, index: number, total: number): number => {
|
|
559
|
+
if (Predicate.isFunction(s.delayChildren)) return s.delayChildren(index, total)
|
|
560
|
+
return s.delayChildren + Stagger.make(s.amount, { from: s.from })(directed(index, total, s.direction), total)
|
|
561
|
+
}
|
|
562
|
+
|
|
563
|
+
/** A name's orchestration (#297): its stagger config, and its own `when`, from its own transition, else the element's. */
|
|
564
|
+
export interface NameConfig {
|
|
565
|
+
readonly stagger: WardicStaggerConfig
|
|
566
|
+
readonly when: "beforeChildren" | "afterChildren" | undefined
|
|
567
|
+
}
|
|
568
|
+
|
|
569
|
+
/** A {@link NameConfig} from the transition a name orchestrates on. */
|
|
570
|
+
export const nameConfigOf = (transition: WardicTransition | undefined): NameConfig => ({
|
|
571
|
+
stagger: staggerOf(transition),
|
|
572
|
+
when: UndefinedOr.map(transition, (t) => t.when),
|
|
573
|
+
})
|
|
574
|
+
|
|
575
|
+
/** The stagger config of a transition's stagger keys, each defaulted. */
|
|
576
|
+
export const staggerWith = ({ staggerChildren = 0, delayChildren = 0, from = "first", staggerDirection = 1 }: WardicTransition): WardicStaggerConfig => ({
|
|
577
|
+
amount: staggerChildren,
|
|
578
|
+
delayChildren,
|
|
579
|
+
from,
|
|
580
|
+
direction: staggerDirection,
|
|
581
|
+
})
|
|
582
|
+
|
|
583
|
+
/**
|
|
584
|
+
* Two stagger configs the same field by field: a memo of one holds while its orchestration changes to
|
|
585
|
+
* a transition with the same stagger (#460: a Variant child with no `press` variant, its parent
|
|
586
|
+
* pressed, made a new, equal config at each press and release, `UNSTABLE_MEMO_OUTPUT`).
|
|
587
|
+
*/
|
|
588
|
+
export const sameStagger = (a: WardicStaggerConfig, b: WardicStaggerConfig): boolean =>
|
|
589
|
+
a.amount === b.amount && a.delayChildren === b.delayChildren && a.from === b.from && a.direction === b.direction
|
|
590
|
+
|
|
591
|
+
/** What an element provides when it has no variants of its own: its parent's context, unless `inherit={false}`. */
|
|
592
|
+
export const passedThrough = (
|
|
593
|
+
config: VariantConfig,
|
|
594
|
+
parent: WardicVariantContextValue | undefined,
|
|
595
|
+
): WardicVariantContextValue | undefined => Bool.match(config.inherit === false, { onTrue: constUndefined, onFalse: () => parent })
|
|
596
|
+
|
|
597
|
+
/** A registration that does nothing: a server render has no orchestration to join. */
|
|
598
|
+
export const INERT_REGISTRATION: WardicChildRegistration = Object.freeze({
|
|
599
|
+
index: () => 0,
|
|
600
|
+
total: () => 1,
|
|
601
|
+
setSettled: () => {},
|
|
602
|
+
dispose: () => {},
|
|
603
|
+
})
|
|
604
|
+
|
|
605
|
+
/** An element's place in variant orchestration during a server render (ADR-0021). */
|
|
606
|
+
export interface ServerVariantNode {
|
|
607
|
+
/** What its children read: the same context the client builds, with inert orchestration. */
|
|
608
|
+
readonly provided: WardicVariantContextValue | undefined
|
|
609
|
+
/** The context it inherits from: its parent's, for a Variant child. */
|
|
610
|
+
readonly inherited: WardicVariantContextValue | undefined
|
|
611
|
+
}
|
|
612
|
+
|
|
613
|
+
/**
|
|
614
|
+
* {@link createVariantNode} during a server render: the same names, read once, and orchestration
|
|
615
|
+
* that does nothing. No runtime, no signals.
|
|
616
|
+
*/
|
|
617
|
+
export const serverVariantNode = (config: VariantConfig, parent: WardicVariantContextValue | undefined): ServerVariantNode => {
|
|
618
|
+
const inherited = inheritedContext(config, parent)
|
|
619
|
+
const own = (): WardicVariantContextValue => {
|
|
620
|
+
const variant = handedDown(config, () => nameOf(config.animate), () => UndefinedOr.map(parent, (p) => p.variant()))
|
|
621
|
+
const transition = ownOrInherited(config.transition, inherited)
|
|
622
|
+
const stagger = staggerOf(config.transition)
|
|
623
|
+
return {
|
|
624
|
+
variant: () => variant,
|
|
625
|
+
initial: handedDown<WardicVariantLabels | false>(config, () => initialNameOf(config.initial), () => UndefinedOr.map(parent, (p) => p.initial)),
|
|
626
|
+
transition: () => transition,
|
|
627
|
+
register: () => INERT_REGISTRATION,
|
|
628
|
+
stagger: () => stagger,
|
|
629
|
+
when: () => UndefinedOr.map(config.transition, (t) => t.when),
|
|
630
|
+
childrenMayStart: constTrue,
|
|
631
|
+
allChildrenSettled: constTrue,
|
|
632
|
+
}
|
|
633
|
+
}
|
|
634
|
+
return {
|
|
635
|
+
provided: Bool.match(hasOwnVariants(config), { onTrue: own, onFalse: () => passedThrough(config, parent) }),
|
|
636
|
+
inherited,
|
|
637
|
+
}
|
|
638
|
+
}
|