@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,395 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* An element's place in variant orchestration on Solid 2 (ADR-0007, #50, #209): the variant context
|
|
3
|
+
* a ward's `.Provider` and every `wardic.*` element provide, and the registry, stagger and `when` an
|
|
4
|
+
* element with variants of its own runs for its Variant children. The rules are the Solid 1
|
|
5
|
+
* binding's, Solid-free in `variant-tree.ts`; what Solid 2 changes is when a write is seen.
|
|
6
|
+
*
|
|
7
|
+
* A Solid 2 signal's read lags its write until the flush, and an effect's apply runs in an order
|
|
8
|
+
* the binding doesn't choose. So nothing a child reads at its Retarget is written by an effect at
|
|
9
|
+
* the trigger:
|
|
10
|
+
*
|
|
11
|
+
* - **Stagger slots** are plain fields, snapshotted as the handed-down name changes, in the memo
|
|
12
|
+
* that computes it. Every Variant child reads that memo for its target, so the snapshot is taken
|
|
13
|
+
* before any child's Retarget in that flush, and read there through its `extraDelay`.
|
|
14
|
+
* - **`beforeChildren`** compares two values its children read in the same flush: the name handed
|
|
15
|
+
* down now, and the one the element last settled at (written by its spine's frames, outside any
|
|
16
|
+
* flush). A new name holds them until the element settles at it.
|
|
17
|
+
*
|
|
18
|
+
* @module
|
|
19
|
+
*/
|
|
20
|
+
import * as Arr from "effect/Array";
|
|
21
|
+
import * as Bool from "effect/Boolean";
|
|
22
|
+
import { constTrue, constUndefined, constVoid } from "effect/Function";
|
|
23
|
+
import * as Option from "effect/Option";
|
|
24
|
+
import * as Predicate from "effect/Predicate";
|
|
25
|
+
import * as UndefinedOr from "effect/UndefinedOr";
|
|
26
|
+
import { createContext, createMemo, createSignal, onCleanup, untrack, useContext } from "solid-js";
|
|
27
|
+
import { activeNamesOf, changeAtTrigger, controlsChangeOf, changeConfigOf, orchestrationAt, handDownFrom, handDownOf, NO_GESTURE_STATES, sameHandDown, topGestureName, triggerKeyOf, handedDown, hasOwnVariants, inheritedContext, namesOwnVariants, initialNameOf, nameOf, ownOrInherited, childDelayOf, mayStartOf, nameConfigOf, passedThrough, sameStagger, staggerOf, staggerOfName } from "../../variant-tree.js";
|
|
28
|
+
import { CLIENT_ONLY, CLIENT_ONLY_SYNC } from "./solid-reactivity.js";
|
|
29
|
+
import { ownTransitionOf, sameLabels, transitionOfTarget } from "../../variant-target.js";
|
|
30
|
+
/**
|
|
31
|
+
* The variant context: what the nearest variant parent hands its children, its names, transition and
|
|
32
|
+
* orchestration. Wardic's elements read it to follow their parent's variants; a binding of your own
|
|
33
|
+
* provides or reads it the same way. `null` outside a parent.
|
|
34
|
+
*
|
|
35
|
+
* @see https://wardic.dev/reference/solid/advanced/variant-context
|
|
36
|
+
*/
|
|
37
|
+
// ADR-0007.
|
|
38
|
+
// Solid 2 reads a context made with `undefined` as having none, and throws in `useContext`.
|
|
39
|
+
export const WardicVariantContext = createContext(null);
|
|
40
|
+
/**
|
|
41
|
+
* The nearest variant parent's context, or `undefined` outside one: its current variant name,
|
|
42
|
+
* `initial`, transition and orchestration, for an element of your own that follows a parent's variants.
|
|
43
|
+
*
|
|
44
|
+
* @example
|
|
45
|
+
* const parent = useVariantContext()
|
|
46
|
+
* const name = () => parent?.variant()
|
|
47
|
+
* @see https://wardic.dev/reference/solid/advanced/variant-context
|
|
48
|
+
*/
|
|
49
|
+
// ADR-0007: local `animate` over the inherited name over `initial`.
|
|
50
|
+
export const useVariantContext = () => Option.getOrUndefined(Option.fromNullishOr(useContext(WardicVariantContext)));
|
|
51
|
+
/** What an element has settled at while it moves: no name. */
|
|
52
|
+
const MOVING = Symbol("wardic.moving");
|
|
53
|
+
/**
|
|
54
|
+
* The registry, stagger and `when` an element with variants of its own runs for its Variant
|
|
55
|
+
* children (ADR-0007), and the names it hands them. Call within a Solid owner.
|
|
56
|
+
*/
|
|
57
|
+
const ownOrchestration = (cfg, config, parent, inherited, change) => {
|
|
58
|
+
// Children in mount order (a Set keeps insertion order), snapshotted at each trigger. Kept with a
|
|
59
|
+
// count of the unsettled ones rather than a signal of the records, so a child's mount, unmount or
|
|
60
|
+
// settle costs the same at 1,000 children as at 1. The count is plain, and the signal its copy:
|
|
61
|
+
// two writes in one flush each see the other's. A Variant child registers in its own body, an owned
|
|
62
|
+
// scope, as it renders: so this signal is written there (`ownedWrite`, #257's audit).
|
|
63
|
+
const records = new Set();
|
|
64
|
+
let unsettledCount = 0;
|
|
65
|
+
const [unsettled, setUnsettled] = createSignal(0, {
|
|
66
|
+
ownedWrite: true
|
|
67
|
+
});
|
|
68
|
+
const countUnsettled = change => {
|
|
69
|
+
unsettledCount += change;
|
|
70
|
+
setUnsettled(unsettledCount);
|
|
71
|
+
};
|
|
72
|
+
const register = () => {
|
|
73
|
+
const record = {
|
|
74
|
+
index: 0,
|
|
75
|
+
total: 1,
|
|
76
|
+
names: new Map()
|
|
77
|
+
};
|
|
78
|
+
// A child starts unsettled; its spine reports each frame, so only a change counts.
|
|
79
|
+
let settled = false;
|
|
80
|
+
records.add(record);
|
|
81
|
+
countUnsettled(1);
|
|
82
|
+
const setSettled = done => {
|
|
83
|
+
if (done === settled) return;
|
|
84
|
+
settled = done;
|
|
85
|
+
countUnsettled(Bool.match(done, {
|
|
86
|
+
onTrue: () => -1,
|
|
87
|
+
onFalse: () => 1
|
|
88
|
+
}));
|
|
89
|
+
};
|
|
90
|
+
const dispose = () => {
|
|
91
|
+
if (!records.delete(record)) return;
|
|
92
|
+
if (!settled) countUnsettled(-1);
|
|
93
|
+
};
|
|
94
|
+
return {
|
|
95
|
+
index: () => {
|
|
96
|
+
fresh();
|
|
97
|
+
return record.index;
|
|
98
|
+
},
|
|
99
|
+
total: () => {
|
|
100
|
+
fresh();
|
|
101
|
+
return record.total;
|
|
102
|
+
},
|
|
103
|
+
setSettled,
|
|
104
|
+
// At this element's trigger now: a settle from before its list changed counts for nothing.
|
|
105
|
+
setSettledFor: (name, done) => {
|
|
106
|
+
Bool.match(done, {
|
|
107
|
+
onTrue: () => record.names.set(name, untrack(trigger)),
|
|
108
|
+
onFalse: () => record.names.delete(name)
|
|
109
|
+
});
|
|
110
|
+
},
|
|
111
|
+
dispose
|
|
112
|
+
};
|
|
113
|
+
};
|
|
114
|
+
// Snapshot-at-trigger (ADR-0007): each child's index and total are recomputed only when this
|
|
115
|
+
// element's variant changes, so a mount, unmount or reorder mid-transition doesn't reshuffle
|
|
116
|
+
// in-flight delays. `staggerDirection: -1` reverses the index. Taken at the first slot read after
|
|
117
|
+
// the change (#209 PR 4a): at mount this element's name is first computed in its setup, before
|
|
118
|
+
// its children register, and they read their slots at their first Retarget, once all have.
|
|
119
|
+
let stale = true;
|
|
120
|
+
const fresh = () => {
|
|
121
|
+
if (!stale) return;
|
|
122
|
+
stale = false;
|
|
123
|
+
snapshotSlots();
|
|
124
|
+
};
|
|
125
|
+
// Each in order: a name's `staggerDirection` turns it at its delay (#297), a list's names each theirs.
|
|
126
|
+
const snapshotSlots = () => {
|
|
127
|
+
const n = records.size;
|
|
128
|
+
let i = 0;
|
|
129
|
+
records.forEach(record => {
|
|
130
|
+
record.total = n;
|
|
131
|
+
record.index = i;
|
|
132
|
+
i++;
|
|
133
|
+
});
|
|
134
|
+
};
|
|
135
|
+
// The names handed down. `animate`'s is reactive, its change the trigger; `initial`'s is read once.
|
|
136
|
+
// A list the same name by name is no change (#297): the one before is kept.
|
|
137
|
+
const variant = createMemo(previous => {
|
|
138
|
+
const c = cfg();
|
|
139
|
+
const next = handedDown(c, () => nameOf(c.animate), () => UndefinedOr.map(parent, p => p.variant()));
|
|
140
|
+
if (sameLabels(next, previous)) return previous;
|
|
141
|
+
stale = true;
|
|
142
|
+
return next;
|
|
143
|
+
}, {
|
|
144
|
+
...CLIENT_ONLY,
|
|
145
|
+
equals: (a, b) => sameLabels(a, b)
|
|
146
|
+
});
|
|
147
|
+
// What it hands down for its gestures (#291), whether each is on and its label: its spine's states, bound at its ward's
|
|
148
|
+
// setup. Changed only when a name does, so its children re-resolve only then; a change is a trigger.
|
|
149
|
+
// Written where its ward binds its spine's states, at setup, in a component's body: an owned scope,
|
|
150
|
+
// so said (`ownedWrite`, #257's audit; #618).
|
|
151
|
+
const [states, setStates] = createSignal(undefined, {
|
|
152
|
+
ownedWrite: true
|
|
153
|
+
});
|
|
154
|
+
const gestures = createMemo(previous => {
|
|
155
|
+
const next = handDownOf(cfg(), UndefinedOr.match(states(), {
|
|
156
|
+
onUndefined: () => NO_GESTURE_STATES,
|
|
157
|
+
onDefined: on => on()
|
|
158
|
+
}), handDownFrom(inherited));
|
|
159
|
+
if (Predicate.isNotUndefined(previous) && sameHandDown(previous, next)) return previous;
|
|
160
|
+
stale = true;
|
|
161
|
+
return next;
|
|
162
|
+
}, {
|
|
163
|
+
...CLIENT_ONLY_SYNC,
|
|
164
|
+
equals: (a, b) => sameHandDown(a, b)
|
|
165
|
+
});
|
|
166
|
+
// The Controls change its latest trigger came with (#433): while it's the latest, its override is
|
|
167
|
+
// the orchestration. A new one is a trigger, to the same name too: its children's slots are taken again.
|
|
168
|
+
const at = createMemo(previous => {
|
|
169
|
+
const made = changeAtTrigger(change(), triggerKeyOf(variant(), gestures(), change()), previous);
|
|
170
|
+
if (Bool.and(Predicate.isNotUndefined(previous), made.change !== UndefinedOr.map(previous, p => p.change))) stale = true;
|
|
171
|
+
return made;
|
|
172
|
+
}, CLIENT_ONLY_SYNC);
|
|
173
|
+
// Its orchestration (#277, #291, Motion's): the own transition of its highest active gesture's name,
|
|
174
|
+
// else of its target (the variant it names), else its `transition`; a Controls change's override at
|
|
175
|
+
// the trigger it came with (#433).
|
|
176
|
+
const orchestration = createMemo(() => orchestrationAt(at(), () => {
|
|
177
|
+
const c = cfg();
|
|
178
|
+
const own = UndefinedOr.match(topGestureName(activeNamesOf(gestures())), {
|
|
179
|
+
onDefined: name => ownTransitionOf(undefined, name, c.variants, c.custom),
|
|
180
|
+
onUndefined: () => ownTransitionOf(c.animate, variant(), c.variants, c.custom)
|
|
181
|
+
});
|
|
182
|
+
return transitionOfTarget(own, c.transition);
|
|
183
|
+
}), CLIENT_ONLY);
|
|
184
|
+
// What its `beforeChildren` settles at: its variant, its gestures' names (#291), and a Controls change (#433).
|
|
185
|
+
const trigger = createMemo(() => at().key, CLIENT_ONLY);
|
|
186
|
+
const stagger = createMemo(() => staggerOf(orchestration()), {
|
|
187
|
+
...CLIENT_ONLY_SYNC,
|
|
188
|
+
equals: sameStagger
|
|
189
|
+
});
|
|
190
|
+
// A list's names have each their own (#297's PR 2): none for the list as a whole.
|
|
191
|
+
const when = () => {
|
|
192
|
+
if (Arr.isArray(variant())) return undefined;
|
|
193
|
+
return UndefinedOr.map(orchestration(), t => t.when);
|
|
194
|
+
};
|
|
195
|
+
const initial = handedDown(config, () => initialNameOf(config.initial), () => UndefinedOr.map(parent, p => p.initial));
|
|
196
|
+
// Each name's orchestration for the Variant children's keys of that name (#297, Motion's
|
|
197
|
+
// `animateVariant` a name): its own transition's, else the element's. Kept per name until what it's
|
|
198
|
+
// resolved from changes; a key from no name takes the element's whole orchestration.
|
|
199
|
+
const byName = createMemo(() => {
|
|
200
|
+
const c = cfg();
|
|
201
|
+
void c.variants;
|
|
202
|
+
void c.custom;
|
|
203
|
+
void c.transition;
|
|
204
|
+
return new Map();
|
|
205
|
+
}, CLIENT_ONLY_SYNC);
|
|
206
|
+
const configOf = name => {
|
|
207
|
+
// A Controls change's override orchestrates every name at its trigger (#433).
|
|
208
|
+
const changed = changeConfigOf(untrack(at));
|
|
209
|
+
if (Predicate.isNotUndefined(changed)) return changed;
|
|
210
|
+
const known = untrack(byName);
|
|
211
|
+
const kept = known.get(name);
|
|
212
|
+
if (Predicate.isNotUndefined(kept)) return kept;
|
|
213
|
+
const c = untrack(cfg);
|
|
214
|
+
const made = untrack(() => nameConfigOf(transitionOfTarget(ownTransitionOf(undefined, name, c.variants, c.custom), c.transition)));
|
|
215
|
+
known.set(name, made);
|
|
216
|
+
return made;
|
|
217
|
+
};
|
|
218
|
+
const staggerFor = name => {
|
|
219
|
+
if (Predicate.isUndefined(name)) return untrack(stagger);
|
|
220
|
+
return configOf(name).stagger;
|
|
221
|
+
};
|
|
222
|
+
// Each of a list's names' own `when` (#297's PR 2), read by polling: the trigger each of its names'
|
|
223
|
+
// keys settled at, and (in each record) its children's. A settle at an earlier trigger counts for
|
|
224
|
+
// nothing, so nothing is reset when the list changes.
|
|
225
|
+
const ownNames = new Map();
|
|
226
|
+
const mayStartFor = name => Bool.or(configOf(name).when !== "beforeChildren", ownNames.get(name) === untrack(trigger));
|
|
227
|
+
const canStartFor = name => {
|
|
228
|
+
if (configOf(name).when !== "afterChildren") return true;
|
|
229
|
+
const now = untrack(trigger);
|
|
230
|
+
let all = true;
|
|
231
|
+
records.forEach(record => {
|
|
232
|
+
if (record.names.get(name) !== now) all = false;
|
|
233
|
+
});
|
|
234
|
+
return all;
|
|
235
|
+
};
|
|
236
|
+
const settledFor = (names, done) => {
|
|
237
|
+
const now = untrack(trigger);
|
|
238
|
+
Arr.forEach(names, name => {
|
|
239
|
+
Bool.match(done, {
|
|
240
|
+
onTrue: () => ownNames.set(name, now),
|
|
241
|
+
onFalse: () => ownNames.delete(name)
|
|
242
|
+
});
|
|
243
|
+
});
|
|
244
|
+
};
|
|
245
|
+
// The name this element last settled at: `MOVING` while its own animation runs.
|
|
246
|
+
const [settledAt, setSettledAt] = createSignal(MOVING);
|
|
247
|
+
const childrenMayStart = () => when() !== "beforeChildren" || settledAt() === trigger();
|
|
248
|
+
const allChildrenSettled = () => unsettled() === 0;
|
|
249
|
+
// The transition its children default to: its own, else the one it inherits.
|
|
250
|
+
const transition = createMemo(() => ownOrInherited(cfg().transition, inherited), CLIENT_ONLY);
|
|
251
|
+
return {
|
|
252
|
+
context: {
|
|
253
|
+
variant,
|
|
254
|
+
initial,
|
|
255
|
+
transition,
|
|
256
|
+
gestures,
|
|
257
|
+
register,
|
|
258
|
+
stagger,
|
|
259
|
+
staggerFor,
|
|
260
|
+
mayStartFor,
|
|
261
|
+
when,
|
|
262
|
+
childrenMayStart,
|
|
263
|
+
allChildrenSettled,
|
|
264
|
+
change
|
|
265
|
+
},
|
|
266
|
+
// It holds its own start for `afterChildren` (it owns the registry, so it reads it directly).
|
|
267
|
+
canStart: () => when() !== "afterChildren" || allChildrenSettled(),
|
|
268
|
+
settled: done => {
|
|
269
|
+
setSettledAt(Bool.match(done, {
|
|
270
|
+
onTrue: () => untrack(trigger),
|
|
271
|
+
onFalse: () => MOVING
|
|
272
|
+
}));
|
|
273
|
+
},
|
|
274
|
+
bindGestures: on => {
|
|
275
|
+
setStates(() => on);
|
|
276
|
+
},
|
|
277
|
+
canStartFor,
|
|
278
|
+
settledFor
|
|
279
|
+
};
|
|
280
|
+
};
|
|
281
|
+
/** A node's gesture binding: its own orchestration's, none without one. A guard: it's made per element. */
|
|
282
|
+
const bindOf = own => {
|
|
283
|
+
if (Predicate.isUndefined(own)) return undefined;
|
|
284
|
+
return own.bindGestures;
|
|
285
|
+
};
|
|
286
|
+
/**
|
|
287
|
+
* An element's place in variant orchestration on the client, from its config (`cfg`, read where it
|
|
288
|
+
* tracks; `config`, the ward's plain copy at setup, #259) and the nearest context
|
|
289
|
+
* (`useVariantContext()`). Call within a Solid owner.
|
|
290
|
+
*/
|
|
291
|
+
export const createVariantNode = (cfg, config, parent, controls) => {
|
|
292
|
+
if (Bool.and(Predicate.isUndefined(config.variants), Bool.not(namesOwnVariants(config)))) return plainNode(config, parent);
|
|
293
|
+
const inherited = inheritedContext(config, parent);
|
|
294
|
+
// The Controls change in effect (#433): its own controls', else the one its provider is in.
|
|
295
|
+
const change = controlsChangeOf(controls, inherited);
|
|
296
|
+
// A Variant child registers with the ancestor it joins, for its stagger slot and its `when`.
|
|
297
|
+
const joined = UndefinedOr.map(inherited, context => ({
|
|
298
|
+
context,
|
|
299
|
+
registration: context.register()
|
|
300
|
+
}));
|
|
301
|
+
if (Predicate.isNotUndefined(joined)) onCleanup(joined.registration.dispose);
|
|
302
|
+
const own = Bool.match(hasOwnVariants(config), {
|
|
303
|
+
onFalse: constUndefined,
|
|
304
|
+
onTrue: () => ownOrchestration(cfg, config, parent, inherited, change)
|
|
305
|
+
});
|
|
306
|
+
// The spine reports on every frame (the per-frame path, docs/agents/effect-first.md): both
|
|
307
|
+
// reports are resolved here, once, so a frame makes two plain calls and allocates nothing.
|
|
308
|
+
const reportJoined = UndefinedOr.match(joined, {
|
|
309
|
+
onUndefined: () => constVoid,
|
|
310
|
+
onDefined: ({
|
|
311
|
+
registration
|
|
312
|
+
}) => registration.setSettled
|
|
313
|
+
});
|
|
314
|
+
const reportOwn = UndefinedOr.match(own, {
|
|
315
|
+
onUndefined: () => constVoid,
|
|
316
|
+
onDefined: o => o.settled
|
|
317
|
+
});
|
|
318
|
+
return {
|
|
319
|
+
provided: UndefinedOr.match(own, {
|
|
320
|
+
onDefined: o => o.context,
|
|
321
|
+
onUndefined: () => passedThrough(config, parent)
|
|
322
|
+
}),
|
|
323
|
+
inherited,
|
|
324
|
+
extraDelay: UndefinedOr.map(joined, ({
|
|
325
|
+
context,
|
|
326
|
+
registration
|
|
327
|
+
}) => name => {
|
|
328
|
+
const s = staggerOfName(context, name);
|
|
329
|
+
const n = registration.total();
|
|
330
|
+
return childDelayOf(s, registration.index(), n);
|
|
331
|
+
}),
|
|
332
|
+
canStart: () => UndefinedOr.match(inherited, {
|
|
333
|
+
onUndefined: constTrue,
|
|
334
|
+
onDefined: context => context.childrenMayStart()
|
|
335
|
+
}) && UndefinedOr.match(own, {
|
|
336
|
+
onUndefined: constTrue,
|
|
337
|
+
onDefined: o => o.canStart()
|
|
338
|
+
}),
|
|
339
|
+
onFrame: done => {
|
|
340
|
+
reportJoined(done);
|
|
341
|
+
reportOwn(done);
|
|
342
|
+
},
|
|
343
|
+
bindGestures: bindOf(own),
|
|
344
|
+
names: namesOf(joined, own)
|
|
345
|
+
};
|
|
346
|
+
};
|
|
347
|
+
/**
|
|
348
|
+
* The node of an element with no variants and no names of its own (#398): it joins nothing and
|
|
349
|
+
* provides nothing, so all it holds is the context it passes through. Most elements are one, and
|
|
350
|
+
* each Listening ward's driving ward makes one: no closures per element.
|
|
351
|
+
*/
|
|
352
|
+
const plainNode = (config, parent) => {
|
|
353
|
+
if (Bool.or(config.inherit === false, Predicate.isUndefined(parent))) return PLAIN_NODE;
|
|
354
|
+
return {
|
|
355
|
+
...PLAIN_NODE,
|
|
356
|
+
provided: parent
|
|
357
|
+
};
|
|
358
|
+
};
|
|
359
|
+
const PLAIN_NODE = Object.freeze({
|
|
360
|
+
provided: undefined,
|
|
361
|
+
inherited: undefined,
|
|
362
|
+
extraDelay: undefined,
|
|
363
|
+
canStart: constTrue,
|
|
364
|
+
onFrame: constVoid,
|
|
365
|
+
bindGestures: undefined,
|
|
366
|
+
names: undefined
|
|
367
|
+
});
|
|
368
|
+
/**
|
|
369
|
+
* Its spine's per-name orchestration (#297's PR 2): a name's keys start once its provider's
|
|
370
|
+
* `beforeChildren` and its own `afterChildren` for that name allow; their starts and settles are told
|
|
371
|
+
* to both. None for an element that joins nothing and provides nothing: made per element, a guard.
|
|
372
|
+
*/
|
|
373
|
+
const namesOf = (joined, own) => {
|
|
374
|
+
if (Bool.and(Predicate.isUndefined(joined), Predicate.isUndefined(own))) return undefined;
|
|
375
|
+
const tell = (names, done) => {
|
|
376
|
+
UndefinedOr.map(joined, ({
|
|
377
|
+
registration
|
|
378
|
+
}) => UndefinedOr.map(registration.setSettledFor, set => Arr.forEach(names, name => set(name, done))));
|
|
379
|
+
UndefinedOr.map(own, o => o.settledFor(names, done));
|
|
380
|
+
};
|
|
381
|
+
return {
|
|
382
|
+
mayStart: name => Bool.and(UndefinedOr.match(joined, {
|
|
383
|
+
onUndefined: constTrue,
|
|
384
|
+
onDefined: ({
|
|
385
|
+
context
|
|
386
|
+
}) => mayStartOf(context, name)
|
|
387
|
+
}), UndefinedOr.match(own, {
|
|
388
|
+
onUndefined: constTrue,
|
|
389
|
+
onDefined: o => o.canStartFor(name)
|
|
390
|
+
})),
|
|
391
|
+
moving: names => tell(names, false),
|
|
392
|
+
settled: names => tell(names, true)
|
|
393
|
+
};
|
|
394
|
+
};
|
|
395
|
+
//# sourceMappingURL=variant-node.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"variant-node.js","names":["Arr","Bool","constTrue","constUndefined","constVoid","Option","Predicate","UndefinedOr","createContext","createMemo","createSignal","onCleanup","untrack","useContext","activeNamesOf","changeAtTrigger","controlsChangeOf","changeConfigOf","orchestrationAt","handDownFrom","handDownOf","NO_GESTURE_STATES","sameHandDown","topGestureName","triggerKeyOf","handedDown","hasOwnVariants","inheritedContext","namesOwnVariants","initialNameOf","nameOf","ownOrInherited","childDelayOf","mayStartOf","nameConfigOf","passedThrough","sameStagger","staggerOf","staggerOfName","CLIENT_ONLY","CLIENT_ONLY_SYNC","ownTransitionOf","sameLabels","transitionOfTarget","WardicVariantContext","useVariantContext","getOrUndefined","fromNullishOr","MOVING","Symbol","ownOrchestration","cfg","config","parent","inherited","change","records","Set","unsettledCount","unsettled","setUnsettled","ownedWrite","countUnsettled","register","record","index","total","names","Map","settled","add","setSettled","done","match","onTrue","onFalse","dispose","delete","fresh","setSettledFor","name","set","trigger","stale","snapshotSlots","n","size","i","forEach","variant","previous","c","next","animate","map","p","equals","a","b","states","setStates","undefined","gestures","onUndefined","onDefined","on","isNotUndefined","at","made","and","orchestration","own","variants","custom","transition","key","stagger","when","isArray","t","initial","byName","configOf","changed","known","kept","get","staggerFor","isUndefined","ownNames","mayStartFor","or","canStartFor","now","all","settledFor","settledAt","setSettledAt","childrenMayStart","allChildrenSettled","context","canStart","bindGestures","bindOf","createVariantNode","controls","not","plainNode","joined","registration","reportJoined","reportOwn","o","provided","extraDelay","s","onFrame","namesOf","inherit","PLAIN_NODE","Object","freeze","tell","mayStart","moving"],"sources":["../../../../src/unstable/v2/variant-node.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import * as Predicate from "effect/Predicate";
|
|
2
|
+
import { createOf, formOf } from "./element.js";
|
|
3
|
+
import { internalsOf, SLIM, wardWith } from "./ward.js";
|
|
4
|
+
function slimWard(config, options) {
|
|
5
|
+
if (Predicate.isUndefined(config)) return wardWith(NO_CONFIG, internalsOf(options, SLIM));
|
|
6
|
+
return wardWith(config, internalsOf(options, SLIM));
|
|
7
|
+
}
|
|
8
|
+
/** No config: a ward that only listens (#398), `w.ward()`. */
|
|
9
|
+
const NO_CONFIG = {};
|
|
10
|
+
/**
|
|
11
|
+
* The Slim element: `w.div`, `w.button` and every other tag, each taking the element's own props and
|
|
12
|
+
* Wardic's motion props. It has the Features its `WardicProvider` and any `LazyWardic` above it give.
|
|
13
|
+
* `w.create(Component)` makes your own component one, and `w.ward(config)` a ward for an element of
|
|
14
|
+
* your own. Motion's `m.div`.
|
|
15
|
+
*
|
|
16
|
+
* @example <w.div initial={{ opacity: 0 }} animate={{ opacity: 1 }} />
|
|
17
|
+
* @see https://wardic.dev/reference/solid/elements/w
|
|
18
|
+
*/
|
|
19
|
+
// Every form of the Slim element, as `wardic`'s and `ward()` are of the Complete one (ADR-0067).
|
|
20
|
+
export const w = formOf(createOf(SLIM), {
|
|
21
|
+
ward: slimWard
|
|
22
|
+
});
|
|
23
|
+
//# sourceMappingURL=w.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"w.js","names":["Predicate","createOf","formOf","internalsOf","SLIM","wardWith","slimWard","config","options","isUndefined","NO_CONFIG","w","ward"],"sources":["../../../../src/unstable/v2/w.tsx"],"sourcesContent":[null],"mappings":"AAiBA,OAAO,KAAKA,SAAS,MAAM,kBAAkB;AAC7C,SAAsBC,QAAQ,EAAEC,MAAM,QAA8B,cAAe;AACnF,SAASC,WAAW,EAAEC,IAAI,EAAgDC,QAAQ,QAA0B,WAAY;AAMxH,SAASC,QAAQA,CAACC,MAAmB,EAAEC,OAAqB;EAC1D,IAAIR,SAAS,CAACS,WAAW,CAACF,MAAM,CAAC,EAAE,OAAOF,QAAQ,CAACK,SAAS,EAAEP,WAAW,CAACK,OAAO,EAAEJ,IAAI,CAAC,CAAC;EACzF,OAAOC,QAAQ,CAACE,MAAM,EAAEJ,WAAW,CAACK,OAAO,EAAEJ,IAAI,CAAC,CAAC;AACrD;AAEA;AACA,MAAMM,SAAS,GAAe,EAAE;AAOhC;;;;;;;;;AASA;AACA,OAAO,MAAMC,CAAC,GAAMT,MAAM,CAAID,QAAQ,CAACG,IAAI,CAAC,EAAE;EAAEQ,IAAI,EAAEN;AAAQ,CAAE,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `next(name)` and `each(name)` on Solid 2 (#257, ADR-0046): the waits a ward's lifecycle, a
|
|
3
|
+
* presence handle and a Reorder group hand over, by event name.
|
|
4
|
+
*
|
|
5
|
+
* - A wait resolves with the next `name` told after it.
|
|
6
|
+
* - A failure of `name` (#257 item 4: an animation that can't land) rejects its waits with the
|
|
7
|
+
* failure's error, and an `each` of it throws it, ending there.
|
|
8
|
+
* - Disposal rejects every wait with a `DOMException` named `"AbortError"`, as Web Animations'
|
|
9
|
+
* `finished` does on a cancel, and any wait asked after it at once.
|
|
10
|
+
* - An `each` is a wait per step, so an event that comes while its loop's body runs is missed, as a
|
|
11
|
+
* wait asked later would miss it; disposal ends it, rather than rejecting.
|
|
12
|
+
* - A `when` (#355) is a browser-only memo of every `name` for an effect, through a listener that
|
|
13
|
+
* hears each one as it's told: see {@link whenOf}.
|
|
14
|
+
*
|
|
15
|
+
* @module
|
|
16
|
+
*/
|
|
17
|
+
import * as Arr from "effect/Array";
|
|
18
|
+
import * as Bool from "effect/Boolean";
|
|
19
|
+
import { constUndefined, constVoid } from "effect/Function";
|
|
20
|
+
import * as Predicate from "effect/Predicate";
|
|
21
|
+
import * as UndefinedOr from "effect/UndefinedOr";
|
|
22
|
+
// eslint-disable-next-line solid/removed-api -- Solid 2 rc.18 exports `from` and documents it (`solid-js/types/from.d.ts`); the plugin's list predates it
|
|
23
|
+
import { createMemo, from } from "solid-js";
|
|
24
|
+
/** The waits for a source's events, by name: see the module. `gone` is the `AbortError`'s message. */
|
|
25
|
+
export class Waiters {
|
|
26
|
+
// The waits, by name, made at the first; the listeners (#355), made at the first; and whether the
|
|
27
|
+
// source is gone.
|
|
28
|
+
waits = undefined;
|
|
29
|
+
listeners = undefined;
|
|
30
|
+
disposed = false;
|
|
31
|
+
gone;
|
|
32
|
+
constructor(gone) {
|
|
33
|
+
this.gone = gone;
|
|
34
|
+
}
|
|
35
|
+
/** A promise of the next `name` told after the call. */
|
|
36
|
+
wait = name => new Promise((resolve, reject) => {
|
|
37
|
+
if (this.disposed) return reject(this.aborted());
|
|
38
|
+
if (Predicate.isUndefined(this.waits)) this.waits = new Map();
|
|
39
|
+
const waits = this.waits;
|
|
40
|
+
const waiter = {
|
|
41
|
+
resolve: resolve,
|
|
42
|
+
reject
|
|
43
|
+
};
|
|
44
|
+
UndefinedOr.match(waits.get(name), {
|
|
45
|
+
onUndefined: () => waits.set(name, [waiter]),
|
|
46
|
+
onDefined: waiting => waiting.push(waiter)
|
|
47
|
+
});
|
|
48
|
+
});
|
|
49
|
+
/**
|
|
50
|
+
* Hear every `name` from the call on (#355), until the returned stop or a failure of `name`. A
|
|
51
|
+
* source that's gone hears nothing more.
|
|
52
|
+
*/
|
|
53
|
+
listen = (name, listener) => {
|
|
54
|
+
if (this.disposed) return constVoid;
|
|
55
|
+
if (Predicate.isUndefined(this.listeners)) this.listeners = new Map();
|
|
56
|
+
const listeners = this.listeners;
|
|
57
|
+
const heard = listener;
|
|
58
|
+
UndefinedOr.match(listeners.get(name), {
|
|
59
|
+
onUndefined: () => listeners.set(name, new Set([heard])),
|
|
60
|
+
onDefined: set => set.add(heard)
|
|
61
|
+
});
|
|
62
|
+
return () => {
|
|
63
|
+
UndefinedOr.map(listeners.get(name), set => set.delete(heard));
|
|
64
|
+
};
|
|
65
|
+
};
|
|
66
|
+
/** Resolve the waits for `name` and tell its listeners, with `value()`, made once there are any. */
|
|
67
|
+
tell(name, value) {
|
|
68
|
+
const due = this.takeWaits(name);
|
|
69
|
+
const listening = this.listening(name);
|
|
70
|
+
if (Bool.and(Predicate.isUndefined(due), Predicate.isUndefined(listening))) return;
|
|
71
|
+
const told = value();
|
|
72
|
+
if (Predicate.isNotUndefined(due)) Arr.forEach(due, waiter => waiter.resolve(told));
|
|
73
|
+
if (Predicate.isNotUndefined(listening)) listening.forEach(listener => listener.next(told));
|
|
74
|
+
}
|
|
75
|
+
/** `name` failed (#257 item 4): its waits are rejected with `error`, and its listeners end with it. */
|
|
76
|
+
fail(name, error) {
|
|
77
|
+
UndefinedOr.map(this.takeWaits(name), due => Arr.forEach(due, waiter => waiter.reject(error)));
|
|
78
|
+
UndefinedOr.map(this.listeners, listeners => {
|
|
79
|
+
const listening = listeners.get(name);
|
|
80
|
+
listeners.delete(name);
|
|
81
|
+
UndefinedOr.map(listening, set => set.forEach(listener => listener.error(error)));
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
/** The source is gone: every wait is rejected, and any asked later at once; its listeners let go. */
|
|
85
|
+
dispose() {
|
|
86
|
+
this.disposed = true;
|
|
87
|
+
this.listeners = undefined;
|
|
88
|
+
const waits = this.waits;
|
|
89
|
+
if (Predicate.isUndefined(waits)) return;
|
|
90
|
+
this.waits = undefined;
|
|
91
|
+
waits.forEach(due => Arr.forEach(due, waiter => waiter.reject(this.aborted())));
|
|
92
|
+
}
|
|
93
|
+
/** `name`'s listeners, if it has any: a plain read, as `tell` runs at each drag sample. */
|
|
94
|
+
listening(name) {
|
|
95
|
+
const listeners = this.listeners;
|
|
96
|
+
if (Predicate.isUndefined(listeners)) return undefined;
|
|
97
|
+
const set = listeners.get(name);
|
|
98
|
+
if (Predicate.isUndefined(set)) return undefined;
|
|
99
|
+
if (set.size === 0) return undefined;
|
|
100
|
+
return set;
|
|
101
|
+
}
|
|
102
|
+
/** The waits for `name`, taken: they're due now. */
|
|
103
|
+
takeWaits(name) {
|
|
104
|
+
const waits = this.waits;
|
|
105
|
+
if (Predicate.isUndefined(waits)) return undefined;
|
|
106
|
+
const due = waits.get(name);
|
|
107
|
+
waits.delete(name);
|
|
108
|
+
return due;
|
|
109
|
+
}
|
|
110
|
+
aborted() {
|
|
111
|
+
return new DOMException(this.gone, "AbortError");
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
/** Whether a wait's rejection is its source's disposal: the `AbortError` {@link Waiters} rejects with. */
|
|
115
|
+
const isDisposal = reason => Bool.and(reason instanceof DOMException, reason.name === "AbortError");
|
|
116
|
+
/** The end of an `each`. */
|
|
117
|
+
const ENDED = {
|
|
118
|
+
value: undefined,
|
|
119
|
+
done: true
|
|
120
|
+
};
|
|
121
|
+
/** Every `name` from `source` after the call, as an async iterable: see the module. */
|
|
122
|
+
export const eachOf = (source, name) => ({
|
|
123
|
+
[Symbol.asyncIterator]: () => new Each(source, name)
|
|
124
|
+
});
|
|
125
|
+
/** An `each`'s iterator: each step the next `name`, the end once its source is disposed. */
|
|
126
|
+
class Each {
|
|
127
|
+
source;
|
|
128
|
+
name;
|
|
129
|
+
constructor(source, name) {
|
|
130
|
+
this.source = source;
|
|
131
|
+
this.name = name;
|
|
132
|
+
}
|
|
133
|
+
next() {
|
|
134
|
+
// Its source's disposal (its AbortError) ends the iteration; a failure (#257 item 4) is thrown.
|
|
135
|
+
return this.source.wait(this.name).then(value => ({
|
|
136
|
+
value,
|
|
137
|
+
done: false
|
|
138
|
+
}), reason => Bool.match(isDisposal(reason), {
|
|
139
|
+
onTrue: () => ENDED,
|
|
140
|
+
onFalse: () => Promise.reject(reason)
|
|
141
|
+
}));
|
|
142
|
+
}
|
|
143
|
+
/** A `break` out of the loop: nothing waits between steps, so nothing is left behind. */
|
|
144
|
+
return() {
|
|
145
|
+
return Promise.resolve(ENDED);
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* `when(name)` (#355): every `name` from `source`, as a memo for an effect to act on.
|
|
150
|
+
*
|
|
151
|
+
* - **In the browser:** pending until the first `name`, so an effect over it runs at each one and
|
|
152
|
+
* never before; nothing else waits on it. It listens through Solid's `from`, so none is lost
|
|
153
|
+
* between steps, as `each`'s waits can lose one: several in one flush run its effect once, with
|
|
154
|
+
* the latest. `equals: false`, so an event with no value runs it each time.
|
|
155
|
+
* - **On a server** ({@link serverWhen}): a browser-only memo (`ssrSource: "client"`), so nothing of
|
|
156
|
+
* it is serialized for the browser's to adopt, with a provisional `undefined` (`loadingValue`):
|
|
157
|
+
* Solid's server runs an effect's compute, never its function, and a browser-only memo read there
|
|
158
|
+
* outside a `<Loading>` is an error. No effect sees it.
|
|
159
|
+
* - A failure of `name` (#257 item 4) errors it: an effect over it gets it in its `error` arm, or,
|
|
160
|
+
* with none, Solid logs it and skips the run. The source's end leaves it at its last value, or
|
|
161
|
+
* pending.
|
|
162
|
+
*
|
|
163
|
+
* Read it in an effect, not in JSX: a read in the ward's own markup waits on a gesture its region
|
|
164
|
+
* holds back. Made where it's called, as `createMemo` is: call it in a component's body.
|
|
165
|
+
*/
|
|
166
|
+
export const whenOf = (source, name) => createMemo(() => from((next, error) => source.listen(name, {
|
|
167
|
+
next,
|
|
168
|
+
error
|
|
169
|
+
})), {
|
|
170
|
+
equals: false
|
|
171
|
+
});
|
|
172
|
+
/** A server's `when` (#355): the browser-only memo, with a provisional `undefined` no effect sees. */
|
|
173
|
+
export const serverWhen = () => createMemo(constUndefined, {
|
|
174
|
+
ssrSource: "client",
|
|
175
|
+
loadingValue: undefined
|
|
176
|
+
});
|
|
177
|
+
/** A server's `next`: nothing happens there, and nothing disposes it. */
|
|
178
|
+
export const neverLands = () => new Promise(() => {});
|
|
179
|
+
/** A server's `each`: nothing happens there, so it ends at once. */
|
|
180
|
+
export const NO_EVENTS = {
|
|
181
|
+
[Symbol.asyncIterator]: () => ({
|
|
182
|
+
next: () => Promise.resolve(ENDED)
|
|
183
|
+
})
|
|
184
|
+
};
|
|
185
|
+
//# sourceMappingURL=waiters.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"waiters.js","names":["Arr","Bool","constUndefined","constVoid","Predicate","UndefinedOr","createMemo","from","Waiters","waits","undefined","listeners","disposed","gone","constructor","wait","name","Promise","resolve","reject","aborted","isUndefined","Map","waiter","match","get","onUndefined","set","onDefined","waiting","push","listen","listener","heard","Set","add","map","delete","tell","value","due","takeWaits","listening","and","told","isNotUndefined","forEach","next","fail","error","dispose","size","DOMException","isDisposal","reason","ENDED","done","eachOf","source","Symbol","asyncIterator","Each","then","onTrue","onFalse","return","whenOf","equals","serverWhen","ssrSource","loadingValue","neverLands","NO_EVENTS"],"sources":["../../../../src/unstable/v2/waiters.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|