@pibbl/core 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.txt +19 -0
- package/README.md +76 -0
- package/THIRD_PARTY_NOTICES.txt +205 -0
- package/dist/features/particles/index.d.ts +7 -0
- package/dist/features/particles/index.js +26 -0
- package/dist/features/particles/index.js.map +7 -0
- package/dist/features/particles/index.mjs +1 -0
- package/dist/features/particles/lib/canvas/birth-ledger.d.ts +69 -0
- package/dist/features/particles/lib/canvas/birth-ledger.js +752 -0
- package/dist/features/particles/lib/canvas/birth-ledger.js.map +7 -0
- package/dist/features/particles/lib/canvas/component.d.ts +14 -0
- package/dist/features/particles/lib/canvas/component.js +249 -0
- package/dist/features/particles/lib/canvas/component.js.map +7 -0
- package/dist/features/particles/lib/canvas/executor.d.ts +31 -0
- package/dist/features/particles/lib/canvas/executor.js +537 -0
- package/dist/features/particles/lib/canvas/executor.js.map +7 -0
- package/dist/features/particles/lib/canvas/primitive.d.ts +14 -0
- package/dist/features/particles/lib/canvas/primitive.js +50 -0
- package/dist/features/particles/lib/canvas/primitive.js.map +7 -0
- package/dist/features/particles/lib/canvas/raster-cache.d.ts +13 -0
- package/dist/features/particles/lib/canvas/raster-cache.js +106 -0
- package/dist/features/particles/lib/canvas/raster-cache.js.map +7 -0
- package/dist/features/particles/lib/color.d.ts +7 -0
- package/dist/features/particles/lib/color.js +159 -0
- package/dist/features/particles/lib/color.js.map +7 -0
- package/dist/features/particles/lib/compiler.d.ts +134 -0
- package/dist/features/particles/lib/compiler.js +443 -0
- package/dist/features/particles/lib/compiler.js.map +7 -0
- package/dist/features/particles/lib/curve.d.ts +19 -0
- package/dist/features/particles/lib/curve.js +129 -0
- package/dist/features/particles/lib/curve.js.map +7 -0
- package/dist/features/particles/lib/definition-records.d.ts +58 -0
- package/dist/features/particles/lib/definition-records.js +500 -0
- package/dist/features/particles/lib/definition-records.js.map +7 -0
- package/dist/features/particles/lib/definition.d.ts +18 -0
- package/dist/features/particles/lib/definition.js +602 -0
- package/dist/features/particles/lib/definition.js.map +7 -0
- package/dist/features/particles/lib/emission.d.ts +54 -0
- package/dist/features/particles/lib/emission.js +184 -0
- package/dist/features/particles/lib/emission.js.map +7 -0
- package/dist/features/particles/lib/flow/field.d.ts +81 -0
- package/dist/features/particles/lib/flow/field.js +585 -0
- package/dist/features/particles/lib/flow/field.js.map +7 -0
- package/dist/features/particles/lib/flow/hook.d.ts +158 -0
- package/dist/features/particles/lib/flow/hook.js +215 -0
- package/dist/features/particles/lib/flow/hook.js.map +7 -0
- package/dist/features/particles/lib/flow/population.d.ts +25 -0
- package/dist/features/particles/lib/flow/population.js +104 -0
- package/dist/features/particles/lib/flow/population.js.map +7 -0
- package/dist/features/particles/lib/particle.d.ts +113 -0
- package/dist/features/particles/lib/particle.js +192 -0
- package/dist/features/particles/lib/particle.js.map +7 -0
- package/dist/features/particles/lib/random.d.ts +16 -0
- package/dist/features/particles/lib/random.js +61 -0
- package/dist/features/particles/lib/random.js.map +7 -0
- package/dist/features/particles/lib/sample.d.ts +32 -0
- package/dist/features/particles/lib/sample.js +397 -0
- package/dist/features/particles/lib/sample.js.map +7 -0
- package/dist/features/particles/lib/signal-inputs.d.ts +6 -0
- package/dist/features/particles/lib/signal-inputs.js +41 -0
- package/dist/features/particles/lib/signal-inputs.js.map +7 -0
- package/dist/features/particles/lib/system/binding.d.ts +59 -0
- package/dist/features/particles/lib/system/binding.js +122 -0
- package/dist/features/particles/lib/system/binding.js.map +7 -0
- package/dist/features/particles/lib/system/controller.d.ts +58 -0
- package/dist/features/particles/lib/system/controller.js +1446 -0
- package/dist/features/particles/lib/system/controller.js.map +7 -0
- package/dist/features/particles/lib/system/hook.d.ts +13 -0
- package/dist/features/particles/lib/system/hook.js +52 -0
- package/dist/features/particles/lib/system/hook.js.map +7 -0
- package/dist/features/particles/lib/system/ownership.d.ts +26 -0
- package/dist/features/particles/lib/system/ownership.js +128 -0
- package/dist/features/particles/lib/system/ownership.js.map +7 -0
- package/dist/features/particles/lib/types.d.ts +983 -0
- package/dist/features/physics/2d-geometry.d.ts +216 -0
- package/dist/features/physics/2d-geometry.js +59 -0
- package/dist/features/physics/2d-geometry.js.map +7 -0
- package/dist/features/physics/2d-geometry.mjs +1 -0
- package/dist/features/physics/2d-testing.d.ts +80 -0
- package/dist/features/physics/2d-testing.js +141 -0
- package/dist/features/physics/2d-testing.js.map +7 -0
- package/dist/features/physics/2d-testing.mjs +1 -0
- package/dist/features/physics/2d.d.ts +165 -0
- package/dist/features/physics/2d.js +119 -0
- package/dist/features/physics/2d.js.map +7 -0
- package/dist/features/physics/2d.mjs +1 -0
- package/dist/features/physics/lib/2d/canvas/components.d.ts +46 -0
- package/dist/features/physics/lib/2d/canvas/components.js +212 -0
- package/dist/features/physics/lib/2d/canvas/components.js.map +7 -0
- package/dist/features/physics/lib/2d/canvas/custom.d.ts +24 -0
- package/dist/features/physics/lib/2d/canvas/custom.js +45 -0
- package/dist/features/physics/lib/2d/canvas/custom.js.map +7 -0
- package/dist/features/physics/lib/2d/canvas/debug.d.ts +23 -0
- package/dist/features/physics/lib/2d/canvas/debug.js +53 -0
- package/dist/features/physics/lib/2d/canvas/debug.js.map +7 -0
- package/dist/features/physics/lib/2d/canvas/inference.d.ts +9 -0
- package/dist/features/physics/lib/2d/canvas/inference.js +704 -0
- package/dist/features/physics/lib/2d/canvas/inference.js.map +7 -0
- package/dist/features/physics/lib/2d/canvas/presentation.d.ts +11 -0
- package/dist/features/physics/lib/2d/canvas/presentation.js +169 -0
- package/dist/features/physics/lib/2d/canvas/presentation.js.map +7 -0
- package/dist/features/physics/lib/2d/collision/analytic.d.ts +15 -0
- package/dist/features/physics/lib/2d/collision/analytic.js +151 -0
- package/dist/features/physics/lib/2d/collision/analytic.js.map +7 -0
- package/dist/features/physics/lib/2d/collision/casts.d.ts +37 -0
- package/dist/features/physics/lib/2d/collision/casts.js +631 -0
- package/dist/features/physics/lib/2d/collision/casts.js.map +7 -0
- package/dist/features/physics/lib/2d/collision/epa.d.ts +21 -0
- package/dist/features/physics/lib/2d/collision/epa.js +102 -0
- package/dist/features/physics/lib/2d/collision/epa.js.map +7 -0
- package/dist/features/physics/lib/2d/collision/gjk.d.ts +28 -0
- package/dist/features/physics/lib/2d/collision/gjk.js +233 -0
- package/dist/features/physics/lib/2d/collision/gjk.js.map +7 -0
- package/dist/features/physics/lib/2d/collision/manifold.d.ts +35 -0
- package/dist/features/physics/lib/2d/collision/manifold.js +238 -0
- package/dist/features/physics/lib/2d/collision/manifold.js.map +7 -0
- package/dist/features/physics/lib/2d/collision/pairs.d.ts +10 -0
- package/dist/features/physics/lib/2d/collision/pairs.js +285 -0
- package/dist/features/physics/lib/2d/collision/pairs.js.map +7 -0
- package/dist/features/physics/lib/2d/collision/support.d.ts +20 -0
- package/dist/features/physics/lib/2d/collision/support.js +155 -0
- package/dist/features/physics/lib/2d/collision/support.js.map +7 -0
- package/dist/features/physics/lib/2d/inspection-types.d.ts +159 -0
- package/dist/features/physics/lib/2d/math.d.ts +27 -0
- package/dist/features/physics/lib/2d/math.js +314 -0
- package/dist/features/physics/lib/2d/math.js.map +7 -0
- package/dist/features/physics/lib/2d/numeric-policy.d.ts +24 -0
- package/dist/features/physics/lib/2d/numeric-policy.js +51 -0
- package/dist/features/physics/lib/2d/numeric-policy.js.map +7 -0
- package/dist/features/physics/lib/2d/runtime/body-handle.d.ts +148 -0
- package/dist/features/physics/lib/2d/runtime/body-handle.js +305 -0
- package/dist/features/physics/lib/2d/runtime/body-handle.js.map +7 -0
- package/dist/features/physics/lib/2d/runtime/context.d.ts +9 -0
- package/dist/features/physics/lib/2d/runtime/context.js +57 -0
- package/dist/features/physics/lib/2d/runtime/context.js.map +7 -0
- package/dist/features/physics/lib/2d/runtime/controller.d.ts +106 -0
- package/dist/features/physics/lib/2d/runtime/controller.js +1317 -0
- package/dist/features/physics/lib/2d/runtime/controller.js.map +7 -0
- package/dist/features/physics/lib/2d/runtime/descriptors.d.ts +153 -0
- package/dist/features/physics/lib/2d/runtime/descriptors.js +526 -0
- package/dist/features/physics/lib/2d/runtime/descriptors.js.map +7 -0
- package/dist/features/physics/lib/2d/runtime/events.d.ts +56 -0
- package/dist/features/physics/lib/2d/runtime/events.js +153 -0
- package/dist/features/physics/lib/2d/runtime/events.js.map +7 -0
- package/dist/features/physics/lib/2d/runtime/obstacles.d.ts +22 -0
- package/dist/features/physics/lib/2d/runtime/obstacles.js +192 -0
- package/dist/features/physics/lib/2d/runtime/obstacles.js.map +7 -0
- package/dist/features/physics/lib/2d/runtime/ownership.d.ts +41 -0
- package/dist/features/physics/lib/2d/runtime/ownership.js +46 -0
- package/dist/features/physics/lib/2d/runtime/ownership.js.map +7 -0
- package/dist/features/physics/lib/2d/runtime/trace.d.ts +32 -0
- package/dist/features/physics/lib/2d/runtime/trace.js +22 -0
- package/dist/features/physics/lib/2d/runtime/trace.js.map +7 -0
- package/dist/features/physics/lib/2d/runtime/world-component.d.ts +18 -0
- package/dist/features/physics/lib/2d/runtime/world-component.js +41 -0
- package/dist/features/physics/lib/2d/runtime/world-component.js.map +7 -0
- package/dist/features/physics/lib/2d/runtime/world-props.d.ts +16 -0
- package/dist/features/physics/lib/2d/shape-records.d.ts +60 -0
- package/dist/features/physics/lib/2d/shape-records.js +26 -0
- package/dist/features/physics/lib/2d/shape-records.js.map +7 -0
- package/dist/features/physics/lib/2d/shapes.d.ts +191 -0
- package/dist/features/physics/lib/2d/shapes.js +543 -0
- package/dist/features/physics/lib/2d/shapes.js.map +7 -0
- package/dist/features/physics/lib/2d/types.d.ts +713 -0
- package/dist/features/physics/lib/2d/types.js +1 -0
- package/dist/features/physics/lib/2d/types.js.map +7 -0
- package/dist/features/physics/lib/2d/world/broad-phase.d.ts +77 -0
- package/dist/features/physics/lib/2d/world/broad-phase.js +762 -0
- package/dist/features/physics/lib/2d/world/broad-phase.js.map +7 -0
- package/dist/features/physics/lib/2d/world/ccd.d.ts +19 -0
- package/dist/features/physics/lib/2d/world/ccd.js +265 -0
- package/dist/features/physics/lib/2d/world/ccd.js.map +7 -0
- package/dist/features/physics/lib/2d/world/contact-cache.d.ts +81 -0
- package/dist/features/physics/lib/2d/world/contact-cache.js +497 -0
- package/dist/features/physics/lib/2d/world/contact-cache.js.map +7 -0
- package/dist/features/physics/lib/2d/world/integrator.d.ts +11 -0
- package/dist/features/physics/lib/2d/world/integrator.js +99 -0
- package/dist/features/physics/lib/2d/world/integrator.js.map +7 -0
- package/dist/features/physics/lib/2d/world/queries.d.ts +62 -0
- package/dist/features/physics/lib/2d/world/queries.js +424 -0
- package/dist/features/physics/lib/2d/world/queries.js.map +7 -0
- package/dist/features/physics/lib/2d/world/rapier-engine.js +7054 -0
- package/dist/features/physics/lib/2d/world/rapier-engine.js.map +7 -0
- package/dist/features/physics/lib/2d/world/rapier.d.ts +50 -0
- package/dist/features/physics/lib/2d/world/rapier.js +655 -0
- package/dist/features/physics/lib/2d/world/rapier.js.map +7 -0
- package/dist/features/physics/lib/2d/world/solver.d.ts +58 -0
- package/dist/features/physics/lib/2d/world/solver.js +660 -0
- package/dist/features/physics/lib/2d/world/solver.js.map +7 -0
- package/dist/features/physics/lib/2d/world/storage.d.ts +96 -0
- package/dist/features/physics/lib/2d/world/storage.js +371 -0
- package/dist/features/physics/lib/2d/world/storage.js.map +7 -0
- package/dist/features/physics/lib/2d/world/world.d.ts +265 -0
- package/dist/features/physics/lib/2d/world/world.js +1713 -0
- package/dist/features/physics/lib/2d/world/world.js.map +7 -0
- package/dist/features/physics/lib/shared/signal-inputs.d.ts +5 -0
- package/dist/features/physics/lib/shared/signal-inputs.js +20 -0
- package/dist/features/physics/lib/shared/signal-inputs.js.map +7 -0
- package/dist/features/physics/lib/shared/validation.d.ts +5 -0
- package/dist/features/physics/lib/shared/validation.js +48 -0
- package/dist/features/physics/lib/shared/validation.js.map +7 -0
- package/dist/features/sprites/formats/aseprite.js +23 -0
- package/dist/features/sprites/formats/aseprite.js.map +7 -0
- package/dist/features/sprites/formats/aseprite.mjs +1 -0
- package/dist/features/sprites/formats/texture-packer.js +14 -0
- package/dist/features/sprites/formats/texture-packer.js.map +7 -0
- package/dist/features/sprites/formats/texture-packer.mjs +1 -0
- package/dist/features/sprites/index.js +9 -0
- package/dist/features/sprites/index.js.map +7 -0
- package/dist/features/sprites/index.mjs +1 -0
- package/dist/features/sprites/loader.js +63 -0
- package/dist/features/sprites/loader.js.map +7 -0
- package/dist/features/sprites/model.js +64 -0
- package/dist/features/sprites/model.js.map +7 -0
- package/dist/features/sprites/sprite.js +31 -0
- package/dist/features/sprites/sprite.js.map +7 -0
- package/dist/features/textures/index.d.ts +22 -0
- package/dist/features/textures/index.js +31 -0
- package/dist/features/textures/index.js.map +7 -0
- package/dist/features/textures/index.mjs +1 -0
- package/dist/features/textures/lib/definitions.d.ts +117 -0
- package/dist/features/textures/lib/definitions.js +179 -0
- package/dist/features/textures/lib/definitions.js.map +7 -0
- package/dist/features/textures/lib/electric-boundary.d.ts +3 -0
- package/dist/features/textures/lib/electric-boundary.js +11 -0
- package/dist/features/textures/lib/electric-boundary.js.map +7 -0
- package/dist/features/textures/lib/electric-shared.d.ts +69 -0
- package/dist/features/textures/lib/electric-shared.js +43 -0
- package/dist/features/textures/lib/electric-shared.js.map +7 -0
- package/dist/features/textures/lib/electric-sources.d.ts +50 -0
- package/dist/features/textures/lib/electric-sources.js +43 -0
- package/dist/features/textures/lib/electric-sources.js.map +7 -0
- package/dist/features/textures/lib/lightning.d.ts +72 -0
- package/dist/features/textures/lib/lightning.js +139 -0
- package/dist/features/textures/lib/lightning.js.map +7 -0
- package/dist/features/textures/lib/material-field.d.ts +12 -0
- package/dist/features/textures/lib/material-field.js +31 -0
- package/dist/features/textures/lib/material-field.js.map +7 -0
- package/dist/features/textures/lib/palette.d.ts +45 -0
- package/dist/features/textures/lib/palette.js +52 -0
- package/dist/features/textures/lib/palette.js.map +7 -0
- package/dist/features/textures/lib/presentation.d.ts +54 -0
- package/dist/features/textures/lib/presentation.js +83 -0
- package/dist/features/textures/lib/presentation.js.map +7 -0
- package/dist/features/textures/lib/procedural-texture.d.ts +44 -0
- package/dist/features/textures/lib/procedural-texture.js +110 -0
- package/dist/features/textures/lib/procedural-texture.js.map +7 -0
- package/dist/features/textures/lib/rain-drops.d.ts +96 -0
- package/dist/features/textures/lib/rain-drops.js +322 -0
- package/dist/features/textures/lib/rain-drops.js.map +7 -0
- package/dist/features/textures/lib/reaction-diffusion.d.ts +67 -0
- package/dist/features/textures/lib/reaction-diffusion.js +210 -0
- package/dist/features/textures/lib/reaction-diffusion.js.map +7 -0
- package/dist/features/textures/lib/simulation.d.ts +16 -0
- package/dist/features/textures/lib/simulation.js +85 -0
- package/dist/features/textures/lib/simulation.js.map +7 -0
- package/dist/features/textures/lib/tendrils.d.ts +57 -0
- package/dist/features/textures/lib/tendrils.js +216 -0
- package/dist/features/textures/lib/tendrils.js.map +7 -0
- package/dist/features/textures/lib/wasm/cellular-bytes.d.ts +1 -0
- package/dist/features/textures/lib/wasm/cellular-bytes.js +5 -0
- package/dist/features/textures/lib/wasm/cellular-bytes.js.map +7 -0
- package/dist/features/textures/lib/wasm/electric.d.ts +88 -0
- package/dist/features/textures/lib/wasm/electric.js +299 -0
- package/dist/features/textures/lib/wasm/electric.js.map +7 -0
- package/dist/features/textures/lib/wasm/ink-bytes.d.ts +1 -0
- package/dist/features/textures/lib/wasm/ink-bytes.js +5 -0
- package/dist/features/textures/lib/wasm/ink-bytes.js.map +7 -0
- package/dist/features/textures/lib/wasm/lightning-bytes.d.ts +1 -0
- package/dist/features/textures/lib/wasm/lightning-bytes.js +5 -0
- package/dist/features/textures/lib/wasm/lightning-bytes.js.map +7 -0
- package/dist/features/textures/lib/wasm/marble-bytes.d.ts +1 -0
- package/dist/features/textures/lib/wasm/marble-bytes.js +5 -0
- package/dist/features/textures/lib/wasm/marble-bytes.js.map +7 -0
- package/dist/features/textures/lib/wasm/memory.d.ts +31 -0
- package/dist/features/textures/lib/wasm/memory.js +103 -0
- package/dist/features/textures/lib/wasm/memory.js.map +7 -0
- package/dist/features/textures/lib/wasm/paper-bytes.d.ts +1 -0
- package/dist/features/textures/lib/wasm/paper-bytes.js +5 -0
- package/dist/features/textures/lib/wasm/paper-bytes.js.map +7 -0
- package/dist/features/textures/lib/wasm/tendrils-bytes.d.ts +1 -0
- package/dist/features/textures/lib/wasm/tendrils-bytes.js +5 -0
- package/dist/features/textures/lib/wasm/tendrils-bytes.js.map +7 -0
- package/dist/features/textures/lib/wasm/water-surface-bytes.d.ts +1 -0
- package/dist/features/textures/lib/wasm/water-surface-bytes.js +5 -0
- package/dist/features/textures/lib/wasm/water-surface-bytes.js.map +7 -0
- package/dist/features/textures/lib/wasm/water-waves-bytes.d.ts +1 -0
- package/dist/features/textures/lib/wasm/water-waves-bytes.js +5 -0
- package/dist/features/textures/lib/wasm/water-waves-bytes.js.map +7 -0
- package/dist/features/textures/lib/water-surface.d.ts +92 -0
- package/dist/features/textures/lib/water-surface.js +378 -0
- package/dist/features/textures/lib/water-surface.js.map +7 -0
- package/dist/features/textures/lib/water-waves.d.ts +60 -0
- package/dist/features/textures/lib/water-waves.js +154 -0
- package/dist/features/textures/lib/water-waves.js.map +7 -0
- package/dist/features/viz/index.d.ts +28 -0
- package/dist/features/viz/index.js +45 -0
- package/dist/features/viz/index.js.map +7 -0
- package/dist/features/viz/index.mjs +1 -0
- package/dist/features/viz/lib/anchored-layout.d.ts +104 -0
- package/dist/features/viz/lib/anchored-layout.js +166 -0
- package/dist/features/viz/lib/anchored-layout.js.map +7 -0
- package/dist/features/viz/lib/axis.d.ts +10 -0
- package/dist/features/viz/lib/axis.js +116 -0
- package/dist/features/viz/lib/axis.js.map +7 -0
- package/dist/features/viz/lib/band-scale.d.ts +3 -0
- package/dist/features/viz/lib/band-scale.js +57 -0
- package/dist/features/viz/lib/band-scale.js.map +7 -0
- package/dist/features/viz/lib/bar-fill.d.ts +16 -0
- package/dist/features/viz/lib/bar-fill.js +53 -0
- package/dist/features/viz/lib/bar-fill.js.map +7 -0
- package/dist/features/viz/lib/bar-series.d.ts +150 -0
- package/dist/features/viz/lib/bar-series.js +152 -0
- package/dist/features/viz/lib/bar-series.js.map +7 -0
- package/dist/features/viz/lib/hover-card.d.ts +92 -0
- package/dist/features/viz/lib/hover-card.js +146 -0
- package/dist/features/viz/lib/hover-card.js.map +7 -0
- package/dist/features/viz/lib/hover-data.d.ts +12 -0
- package/dist/features/viz/lib/hover-data.js +50 -0
- package/dist/features/viz/lib/hover-data.js.map +7 -0
- package/dist/features/viz/lib/hover-placement.d.ts +46 -0
- package/dist/features/viz/lib/hover-placement.js +51 -0
- package/dist/features/viz/lib/hover-placement.js.map +7 -0
- package/dist/features/viz/lib/hover-queries.d.ts +60 -0
- package/dist/features/viz/lib/hover-queries.js +185 -0
- package/dist/features/viz/lib/hover-queries.js.map +7 -0
- package/dist/features/viz/lib/hover-types.d.ts +277 -0
- package/dist/features/viz/lib/layout-pie.d.ts +13 -0
- package/dist/features/viz/lib/layout-pie.js +159 -0
- package/dist/features/viz/lib/layout-pie.js.map +7 -0
- package/dist/features/viz/lib/line-series.d.ts +11 -0
- package/dist/features/viz/lib/line-series.js +89 -0
- package/dist/features/viz/lib/line-series.js.map +7 -0
- package/dist/features/viz/lib/linear-scale.d.ts +3 -0
- package/dist/features/viz/lib/linear-scale.js +70 -0
- package/dist/features/viz/lib/linear-scale.js.map +7 -0
- package/dist/features/viz/lib/nearest.d.ts +82 -0
- package/dist/features/viz/lib/nearest.js +51 -0
- package/dist/features/viz/lib/nearest.js.map +7 -0
- package/dist/features/viz/lib/paint.d.ts +2 -0
- package/dist/features/viz/lib/paint.js +17 -0
- package/dist/features/viz/lib/paint.js.map +7 -0
- package/dist/features/viz/lib/pie-layout.d.ts +31 -0
- package/dist/features/viz/lib/pie-layout.js +324 -0
- package/dist/features/viz/lib/pie-layout.js.map +7 -0
- package/dist/features/viz/lib/pie-slices.d.ts +51 -0
- package/dist/features/viz/lib/pie-slices.js +50 -0
- package/dist/features/viz/lib/pie-slices.js.map +7 -0
- package/dist/features/viz/lib/pie-types.d.ts +215 -0
- package/dist/features/viz/lib/plot-series.d.ts +13 -0
- package/dist/features/viz/lib/plot-series.js +53 -0
- package/dist/features/viz/lib/plot-series.js.map +7 -0
- package/dist/features/viz/lib/plot-types.d.ts +63 -0
- package/dist/features/viz/lib/point-data.d.ts +5 -0
- package/dist/features/viz/lib/point-data.js +17 -0
- package/dist/features/viz/lib/point-data.js.map +7 -0
- package/dist/features/viz/lib/point-geometry.d.ts +2 -0
- package/dist/features/viz/lib/point-geometry.js +24 -0
- package/dist/features/viz/lib/point-geometry.js.map +7 -0
- package/dist/features/viz/lib/point-series.d.ts +11 -0
- package/dist/features/viz/lib/point-series.js +118 -0
- package/dist/features/viz/lib/point-series.js.map +7 -0
- package/dist/features/viz/lib/point-types.d.ts +94 -0
- package/dist/features/viz/lib/scale-adjust.d.ts +11 -0
- package/dist/features/viz/lib/scale-adjust.js +25 -0
- package/dist/features/viz/lib/scale-adjust.js.map +7 -0
- package/dist/features/viz/lib/scale-context.d.ts +8 -0
- package/dist/features/viz/lib/scale-context.js +61 -0
- package/dist/features/viz/lib/scale-context.js.map +7 -0
- package/dist/features/viz/lib/scale.d.ts +11 -0
- package/dist/features/viz/lib/scale.js +80 -0
- package/dist/features/viz/lib/scale.js.map +7 -0
- package/dist/features/viz/lib/types.d.ts +414 -0
- package/dist/features/viz/lib/use-scale.d.ts +20 -0
- package/dist/features/viz/lib/use-scale.js +10 -0
- package/dist/features/viz/lib/use-scale.js.map +7 -0
- package/dist/filters/displacement-gpu.d.ts +38 -0
- package/dist/filters/displacement-gpu.js +243 -0
- package/dist/filters/displacement-gpu.js.map +7 -0
- package/dist/filters/displacement-math.d.ts +5 -0
- package/dist/filters/displacement-math.js +22 -0
- package/dist/filters/displacement-math.js.map +7 -0
- package/dist/filters/displacement.d.ts +13 -0
- package/dist/filters/displacement.js +65 -0
- package/dist/filters/displacement.js.map +7 -0
- package/dist/filters/filter-executor.d.ts +21 -0
- package/dist/filters/filter-executor.js +120 -0
- package/dist/filters/filter-executor.js.map +7 -0
- package/dist/filters/native-canvas-filter.d.ts +4 -0
- package/dist/filters/native-canvas-filter.js +105 -0
- package/dist/filters/native-canvas-filter.js.map +7 -0
- package/dist/filters/native-color.d.ts +2 -0
- package/dist/filters/native-color.js +200 -0
- package/dist/filters/native-color.js.map +7 -0
- package/dist/filters/native-operations.d.ts +8 -0
- package/dist/filters/native-operations.js +7 -0
- package/dist/filters/native-operations.js.map +7 -0
- package/dist/filters/native.d.ts +113 -0
- package/dist/filters/native.js +115 -0
- package/dist/filters/native.js.map +7 -0
- package/dist/filters/reflected-light.d.ts +12 -0
- package/dist/filters/reflected-light.js +93 -0
- package/dist/filters/reflected-light.js.map +7 -0
- package/dist/filters/reflection-gpu.d.ts +58 -0
- package/dist/filters/reflection-gpu.js +266 -0
- package/dist/filters/reflection-gpu.js.map +7 -0
- package/dist/filters/render-displacement-boundary.d.ts +12 -0
- package/dist/filters/render-displacement-boundary.js +116 -0
- package/dist/filters/render-displacement-boundary.js.map +7 -0
- package/dist/filters/render-reflection-boundary.d.ts +15 -0
- package/dist/filters/render-reflection-boundary.js +127 -0
- package/dist/filters/render-reflection-boundary.js.map +7 -0
- package/dist/filters.d.ts +5 -0
- package/dist/filters.js +29 -0
- package/dist/filters.js.map +7 -0
- package/dist/filters.mjs +1 -0
- package/dist/index.d.ts +111 -0
- package/dist/index.js +300 -0
- package/dist/index.js.map +7 -0
- package/dist/index.mjs +1 -0
- package/dist/internal.d.ts +160 -0
- package/dist/internal.js +320 -0
- package/dist/internal.js.map +7 -0
- package/dist/internal.mjs +1 -0
- package/dist/jsx-dev-runtime.d.ts +35 -0
- package/dist/jsx-dev-runtime.js +6 -0
- package/dist/jsx-dev-runtime.js.map +7 -0
- package/dist/jsx-dev-runtime.mjs +1 -0
- package/dist/jsx-runtime.d.ts +35 -0
- package/dist/jsx-runtime.js +7 -0
- package/dist/jsx-runtime.js.map +7 -0
- package/dist/jsx-runtime.mjs +1 -0
- package/dist/lib/animation/definition.d.ts +140 -0
- package/dist/lib/animation/definition.js +605 -0
- package/dist/lib/animation/definition.js.map +7 -0
- package/dist/lib/animation/easing.d.ts +55 -0
- package/dist/lib/animation/easing.js +112 -0
- package/dist/lib/animation/easing.js.map +7 -0
- package/dist/lib/animation/evaluate.d.ts +118 -0
- package/dist/lib/animation/evaluate.js +2398 -0
- package/dist/lib/animation/evaluate.js.map +7 -0
- package/dist/lib/animation/playback.d.ts +30 -0
- package/dist/lib/animation/playback.js +932 -0
- package/dist/lib/animation/playback.js.map +7 -0
- package/dist/lib/animation/program.d.ts +145 -0
- package/dist/lib/animation/program.js +741 -0
- package/dist/lib/animation/program.js.map +7 -0
- package/dist/lib/animation/spring.d.ts +30 -0
- package/dist/lib/animation/spring.js +324 -0
- package/dist/lib/animation/spring.js.map +7 -0
- package/dist/lib/animation/types.d.ts +418 -0
- package/dist/lib/animation/writer-leases.d.ts +47 -0
- package/dist/lib/animation/writer-leases.js +314 -0
- package/dist/lib/animation/writer-leases.js.map +7 -0
- package/dist/lib/backend/canvas-2d-backend.d.ts +4 -0
- package/dist/lib/backend/canvas-2d-backend.js +97 -0
- package/dist/lib/backend/canvas-2d-backend.js.map +7 -0
- package/dist/lib/backend/types.d.ts +309 -0
- package/dist/lib/backend/types.js +26 -0
- package/dist/lib/backend/types.js.map +7 -0
- package/dist/lib/components/arc-geometry.d.ts +4 -0
- package/dist/lib/components/arc-geometry.js +46 -0
- package/dist/lib/components/arc-geometry.js.map +7 -0
- package/dist/lib/components/arc.d.ts +55 -0
- package/dist/lib/components/arc.js +91 -0
- package/dist/lib/components/arc.js.map +7 -0
- package/dist/lib/components/circle.d.ts +49 -0
- package/dist/lib/components/circle.js +46 -0
- package/dist/lib/components/circle.js.map +7 -0
- package/dist/lib/components/clip.d.ts +43 -0
- package/dist/lib/components/clip.js +24 -0
- package/dist/lib/components/clip.js.map +7 -0
- package/dist/lib/components/ellipse.d.ts +53 -0
- package/dist/lib/components/ellipse.js +59 -0
- package/dist/lib/components/ellipse.js.map +7 -0
- package/dist/lib/components/g.d.ts +56 -0
- package/dist/lib/components/g.js +24 -0
- package/dist/lib/components/g.js.map +7 -0
- package/dist/lib/components/horizontal-line.d.ts +56 -0
- package/dist/lib/components/horizontal-line.js +71 -0
- package/dist/lib/components/horizontal-line.js.map +7 -0
- package/dist/lib/components/html-box.d.ts +16 -0
- package/dist/lib/components/html-box.js +57 -0
- package/dist/lib/components/html-box.js.map +7 -0
- package/dist/lib/components/img.d.ts +24 -0
- package/dist/lib/components/img.js +150 -0
- package/dist/lib/components/img.js.map +7 -0
- package/dist/lib/components/layer-node-equality.d.ts +65 -0
- package/dist/lib/components/layer-node-equality.js +91 -0
- package/dist/lib/components/layer-node-equality.js.map +7 -0
- package/dist/lib/components/layer.d.ts +34 -0
- package/dist/lib/components/layer.js +172 -0
- package/dist/lib/components/layer.js.map +7 -0
- package/dist/lib/components/line.d.ts +51 -0
- package/dist/lib/components/line.js +76 -0
- package/dist/lib/components/line.js.map +7 -0
- package/dist/lib/components/path.d.ts +28 -0
- package/dist/lib/components/path.js +47 -0
- package/dist/lib/components/path.js.map +7 -0
- package/dist/lib/components/polygon.d.ts +45 -0
- package/dist/lib/components/polygon.js +93 -0
- package/dist/lib/components/polygon.js.map +7 -0
- package/dist/lib/components/rect.d.ts +24 -0
- package/dist/lib/components/rect.js +83 -0
- package/dist/lib/components/rect.js.map +7 -0
- package/dist/lib/components/regular-polygon.d.ts +102 -0
- package/dist/lib/components/regular-polygon.js +112 -0
- package/dist/lib/components/regular-polygon.js.map +7 -0
- package/dist/lib/components/rounded-corner-style.d.ts +7 -0
- package/dist/lib/components/rounded-corner-style.js +40 -0
- package/dist/lib/components/rounded-corner-style.js.map +7 -0
- package/dist/lib/components/shape-style.d.ts +7 -0
- package/dist/lib/components/shape-style.js +52 -0
- package/dist/lib/components/shape-style.js.map +7 -0
- package/dist/lib/components/star.d.ts +56 -0
- package/dist/lib/components/star.js +98 -0
- package/dist/lib/components/star.js.map +7 -0
- package/dist/lib/components/structural-events.d.ts +10 -0
- package/dist/lib/components/structural-events.js +8 -0
- package/dist/lib/components/structural-events.js.map +7 -0
- package/dist/lib/components/svg-path.d.ts +23 -0
- package/dist/lib/components/svg-path.js +25 -0
- package/dist/lib/components/svg-path.js.map +7 -0
- package/dist/lib/components/text-layout.d.ts +31 -0
- package/dist/lib/components/text-layout.js +139 -0
- package/dist/lib/components/text-layout.js.map +7 -0
- package/dist/lib/components/text.d.ts +29 -0
- package/dist/lib/components/text.js +174 -0
- package/dist/lib/components/text.js.map +7 -0
- package/dist/lib/components/vertical-line.d.ts +57 -0
- package/dist/lib/components/vertical-line.js +71 -0
- package/dist/lib/components/vertical-line.js.map +7 -0
- package/dist/lib/components/wedge.d.ts +55 -0
- package/dist/lib/components/wedge.js +93 -0
- package/dist/lib/components/wedge.js.map +7 -0
- package/dist/lib/define-primitive.d.ts +82 -0
- package/dist/lib/define-primitive.js +85 -0
- package/dist/lib/define-primitive.js.map +7 -0
- package/dist/lib/development.d.ts +2 -0
- package/dist/lib/development.js +5 -0
- package/dist/lib/development.js.map +7 -0
- package/dist/lib/element/children.d.ts +16 -0
- package/dist/lib/element/children.js +333 -0
- package/dist/lib/element/children.js.map +7 -0
- package/dist/lib/element/create-element.d.ts +34 -0
- package/dist/lib/element/create-element.js +75 -0
- package/dist/lib/element/create-element.js.map +7 -0
- package/dist/lib/element/fragment.d.ts +15 -0
- package/dist/lib/element/fragment.js +11 -0
- package/dist/lib/element/fragment.js.map +7 -0
- package/dist/lib/element/jsx-runtime.d.ts +48 -0
- package/dist/lib/element/jsx-runtime.js +16 -0
- package/dist/lib/element/jsx-runtime.js.map +7 -0
- package/dist/lib/element/metadata.d.ts +96 -0
- package/dist/lib/element/metadata.js +160 -0
- package/dist/lib/element/metadata.js.map +7 -0
- package/dist/lib/element/resolve-primitive-inputs.d.ts +12 -0
- package/dist/lib/element/resolve-primitive-inputs.js +83 -0
- package/dist/lib/element/resolve-primitive-inputs.js.map +7 -0
- package/dist/lib/element/types.d.ts +123 -0
- package/dist/lib/element-enhancers.d.ts +134 -0
- package/dist/lib/element-enhancers.js +193 -0
- package/dist/lib/element-enhancers.js.map +7 -0
- package/dist/lib/events/adapters/clipboard.d.ts +9 -0
- package/dist/lib/events/adapters/clipboard.js +23 -0
- package/dist/lib/events/adapters/clipboard.js.map +7 -0
- package/dist/lib/events/adapters/drag.d.ts +12 -0
- package/dist/lib/events/adapters/drag.js +29 -0
- package/dist/lib/events/adapters/drag.js.map +7 -0
- package/dist/lib/events/adapters/editing.d.ts +15 -0
- package/dist/lib/events/adapters/editing.js +41 -0
- package/dist/lib/events/adapters/editing.js.map +7 -0
- package/dist/lib/events/adapters/keyboard-focus.d.ts +12 -0
- package/dist/lib/events/adapters/keyboard-focus.js +36 -0
- package/dist/lib/events/adapters/keyboard-focus.js.map +7 -0
- package/dist/lib/events/adapters/mouse.d.ts +17 -0
- package/dist/lib/events/adapters/mouse.js +32 -0
- package/dist/lib/events/adapters/mouse.js.map +7 -0
- package/dist/lib/events/adapters/pointer.d.ts +19 -0
- package/dist/lib/events/adapters/pointer.js +40 -0
- package/dist/lib/events/adapters/pointer.js.map +7 -0
- package/dist/lib/events/adapters/touch.d.ts +16 -0
- package/dist/lib/events/adapters/touch.js +36 -0
- package/dist/lib/events/adapters/touch.js.map +7 -0
- package/dist/lib/events/adapters/wheel.d.ts +10 -0
- package/dist/lib/events/adapters/wheel.js +16 -0
- package/dist/lib/events/adapters/wheel.js.map +7 -0
- package/dist/lib/events/boundary-transitions.d.ts +9 -0
- package/dist/lib/events/boundary-transitions.js +16 -0
- package/dist/lib/events/boundary-transitions.js.map +7 -0
- package/dist/lib/events/dispatch.d.ts +21 -0
- package/dist/lib/events/dispatch.js +1078 -0
- package/dist/lib/events/dispatch.js.map +7 -0
- package/dist/lib/events/event-definitions.d.ts +23 -0
- package/dist/lib/events/event-definitions.js +74 -0
- package/dist/lib/events/event-definitions.js.map +7 -0
- package/dist/lib/events/event-facade.d.ts +19 -0
- package/dist/lib/events/event-facade.js +188 -0
- package/dist/lib/events/event-facade.js.map +7 -0
- package/dist/lib/events/event-path.d.ts +3 -0
- package/dist/lib/events/event-path.js +43 -0
- package/dist/lib/events/event-path.js.map +7 -0
- package/dist/lib/events/hit-test.d.ts +13 -0
- package/dist/lib/events/hit-test.js +135 -0
- package/dist/lib/events/hit-test.js.map +7 -0
- package/dist/lib/events/native-listener-hub.d.ts +10 -0
- package/dist/lib/events/native-listener-hub.js +72 -0
- package/dist/lib/events/native-listener-hub.js.map +7 -0
- package/dist/lib/events/paint-entry.d.ts +66 -0
- package/dist/lib/events/paint-entry.js +30 -0
- package/dist/lib/events/paint-entry.js.map +7 -0
- package/dist/lib/events/pointer-capture.d.ts +23 -0
- package/dist/lib/events/pointer-capture.js +339 -0
- package/dist/lib/events/pointer-capture.js.map +7 -0
- package/dist/lib/events/propagation.d.ts +7 -0
- package/dist/lib/events/propagation.js +56 -0
- package/dist/lib/events/propagation.js.map +7 -0
- package/dist/lib/events/registrations.d.ts +120 -0
- package/dist/lib/events/registrations.js +397 -0
- package/dist/lib/events/registrations.js.map +7 -0
- package/dist/lib/events/resolver-input.d.ts +25 -0
- package/dist/lib/events/resolver-input.js +62 -0
- package/dist/lib/events/resolver-input.js.map +7 -0
- package/dist/lib/events/types.d.ts +596 -0
- package/dist/lib/execute-render.d.ts +9 -0
- package/dist/lib/execute-render.js +195 -0
- package/dist/lib/execute-render.js.map +7 -0
- package/dist/lib/filter/canvas-state.d.ts +2 -0
- package/dist/lib/filter/canvas-state.js +31 -0
- package/dist/lib/filter/canvas-state.js.map +7 -0
- package/dist/lib/filter/filter-region.d.ts +33 -0
- package/dist/lib/filter/filter-region.js +291 -0
- package/dist/lib/filter/filter-region.js.map +7 -0
- package/dist/lib/filter/filter-surface-pool.d.ts +38 -0
- package/dist/lib/filter/filter-surface-pool.js +252 -0
- package/dist/lib/filter/filter-surface-pool.js.map +7 -0
- package/dist/lib/filter/render-filter-boundary.d.ts +14 -0
- package/dist/lib/filter/render-filter-boundary.js +211 -0
- package/dist/lib/filter/render-filter-boundary.js.map +7 -0
- package/dist/lib/focus/directional-navigation.d.ts +12 -0
- package/dist/lib/focus/directional-navigation.js +86 -0
- package/dist/lib/focus/directional-navigation.js.map +7 -0
- package/dist/lib/focus/dom-focus-host.d.ts +13 -0
- package/dist/lib/focus/dom-focus-host.js +352 -0
- package/dist/lib/focus/dom-focus-host.js.map +7 -0
- package/dist/lib/focus/dom-tab-stops.d.ts +3 -0
- package/dist/lib/focus/dom-tab-stops.js +71 -0
- package/dist/lib/focus/dom-tab-stops.js.map +7 -0
- package/dist/lib/focus/focus-events.d.ts +4 -0
- package/dist/lib/focus/focus-events.js +78 -0
- package/dist/lib/focus/focus-events.js.map +7 -0
- package/dist/lib/focus/focus-manager.d.ts +121 -0
- package/dist/lib/focus/focus-manager.js +1131 -0
- package/dist/lib/focus/focus-manager.js.map +7 -0
- package/dist/lib/focus/geometry.d.ts +4 -0
- package/dist/lib/focus/geometry.js +64 -0
- package/dist/lib/focus/geometry.js.map +7 -0
- package/dist/lib/focus/html-focus-region.d.ts +27 -0
- package/dist/lib/focus/keyboard-defaults.d.ts +7 -0
- package/dist/lib/focus/keyboard-defaults.js +110 -0
- package/dist/lib/focus/keyboard-defaults.js.map +7 -0
- package/dist/lib/focus/policy-components.d.ts +45 -0
- package/dist/lib/focus/policy-components.js +94 -0
- package/dist/lib/focus/policy-components.js.map +7 -0
- package/dist/lib/focus/types.d.ts +37 -0
- package/dist/lib/focus/types.js +7 -0
- package/dist/lib/focus/types.js.map +7 -0
- package/dist/lib/geometry/circle.d.ts +22 -0
- package/dist/lib/geometry/circle.js +13 -0
- package/dist/lib/geometry/circle.js.map +7 -0
- package/dist/lib/geometry/circular-sweep.d.ts +54 -0
- package/dist/lib/geometry/circular-sweep.js +95 -0
- package/dist/lib/geometry/circular-sweep.js.map +7 -0
- package/dist/lib/geometry/ellipse.d.ts +26 -0
- package/dist/lib/geometry/ellipse.js +17 -0
- package/dist/lib/geometry/ellipse.js.map +7 -0
- package/dist/lib/geometry/line.d.ts +20 -0
- package/dist/lib/geometry/line.js +15 -0
- package/dist/lib/geometry/line.js.map +7 -0
- package/dist/lib/geometry/path-arc.d.ts +25 -0
- package/dist/lib/geometry/path-arc.js +57 -0
- package/dist/lib/geometry/path-arc.js.map +7 -0
- package/dist/lib/geometry/path-bend-guide.d.ts +31 -0
- package/dist/lib/geometry/path-bend-guide.js +282 -0
- package/dist/lib/geometry/path-bend-guide.js.map +7 -0
- package/dist/lib/geometry/path-bend-spans.d.ts +31 -0
- package/dist/lib/geometry/path-bend-spans.js +109 -0
- package/dist/lib/geometry/path-bend-spans.js.map +7 -0
- package/dist/lib/geometry/path-bending.d.ts +90 -0
- package/dist/lib/geometry/path-bending.js +202 -0
- package/dist/lib/geometry/path-bending.js.map +7 -0
- package/dist/lib/geometry/path-conversion.d.ts +19 -0
- package/dist/lib/geometry/path-conversion.js +114 -0
- package/dist/lib/geometry/path-conversion.js.map +7 -0
- package/dist/lib/geometry/path-geometry.d.ts +218 -0
- package/dist/lib/geometry/path-geometry.js +557 -0
- package/dist/lib/geometry/path-geometry.js.map +7 -0
- package/dist/lib/geometry/path-radial.d.ts +15 -0
- package/dist/lib/geometry/path-radial.js +107 -0
- package/dist/lib/geometry/path-radial.js.map +7 -0
- package/dist/lib/geometry/path-transforms.d.ts +233 -0
- package/dist/lib/geometry/path-transforms.js +478 -0
- package/dist/lib/geometry/path-transforms.js.map +7 -0
- package/dist/lib/geometry/path-utilities.d.ts +78 -0
- package/dist/lib/geometry/path-utilities.js +341 -0
- package/dist/lib/geometry/path-utilities.js.map +7 -0
- package/dist/lib/geometry/path-wang.d.ts +18 -0
- package/dist/lib/geometry/path-wang.js +136 -0
- package/dist/lib/geometry/path-wang.js.map +7 -0
- package/dist/lib/geometry/path-warp-bezier.d.ts +17 -0
- package/dist/lib/geometry/path-warp-bezier.js +109 -0
- package/dist/lib/geometry/path-warp-bezier.js.map +7 -0
- package/dist/lib/geometry/path-warp.d.ts +27 -0
- package/dist/lib/geometry/path-warp.js +165 -0
- package/dist/lib/geometry/path-warp.js.map +7 -0
- package/dist/lib/geometry/polygon.d.ts +21 -0
- package/dist/lib/geometry/polygon.js +12 -0
- package/dist/lib/geometry/polygon.js.map +7 -0
- package/dist/lib/geometry/rectangle.d.ts +38 -0
- package/dist/lib/geometry/rectangle.js +22 -0
- package/dist/lib/geometry/rectangle.js.map +7 -0
- package/dist/lib/geometry/regular-polygon.d.ts +88 -0
- package/dist/lib/geometry/regular-polygon.js +67 -0
- package/dist/lib/geometry/regular-polygon.js.map +7 -0
- package/dist/lib/geometry/resolve-path.d.ts +4 -0
- package/dist/lib/geometry/resolve-path.js +16 -0
- package/dist/lib/geometry/resolve-path.js.map +7 -0
- package/dist/lib/geometry/rounded-corners.d.ts +28 -0
- package/dist/lib/geometry/rounded-corners.js +118 -0
- package/dist/lib/geometry/rounded-corners.js.map +7 -0
- package/dist/lib/geometry/star.d.ts +39 -0
- package/dist/lib/geometry/star.js +90 -0
- package/dist/lib/geometry/star.js.map +7 -0
- package/dist/lib/geometry/svg-path.d.ts +21 -0
- package/dist/lib/geometry/svg-path.js +7 -0
- package/dist/lib/geometry/svg-path.js.map +7 -0
- package/dist/lib/geometry/transform-bend.d.ts +46 -0
- package/dist/lib/geometry/transform-bend.js +219 -0
- package/dist/lib/geometry/transform-bend.js.map +7 -0
- package/dist/lib/geometry/transform-guide.d.ts +57 -0
- package/dist/lib/geometry/transform-guide.js +157 -0
- package/dist/lib/geometry/transform-guide.js.map +7 -0
- package/dist/lib/geometry/transform-math.d.ts +21 -0
- package/dist/lib/geometry/transform-math.js +91 -0
- package/dist/lib/geometry/transform-math.js.map +7 -0
- package/dist/lib/geometry/transform-mesh.d.ts +39 -0
- package/dist/lib/geometry/transform-mesh.js +129 -0
- package/dist/lib/geometry/transform-mesh.js.map +7 -0
- package/dist/lib/geometry/validation.d.ts +6 -0
- package/dist/lib/geometry/validation.js +42 -0
- package/dist/lib/geometry/validation.js.map +7 -0
- package/dist/lib/global-state.d.ts +63 -0
- package/dist/lib/global-state.js +176 -0
- package/dist/lib/global-state.js.map +7 -0
- package/dist/lib/hooks/hook-slot.d.ts +30 -0
- package/dist/lib/hooks/hook-slot.js +66 -0
- package/dist/lib/hooks/hook-slot.js.map +7 -0
- package/dist/lib/hooks/use-animated-value.d.ts +24 -0
- package/dist/lib/hooks/use-animated-value.js +169 -0
- package/dist/lib/hooks/use-animated-value.js.map +7 -0
- package/dist/lib/hooks/use-canvas-context.d.ts +10 -0
- package/dist/lib/hooks/use-canvas-context.js +13 -0
- package/dist/lib/hooks/use-canvas-context.js.map +7 -0
- package/dist/lib/hooks/use-computed.d.ts +13 -0
- package/dist/lib/hooks/use-computed.js +91 -0
- package/dist/lib/hooks/use-computed.js.map +7 -0
- package/dist/lib/hooks/use-const.d.ts +10 -0
- package/dist/lib/hooks/use-const.js +15 -0
- package/dist/lib/hooks/use-const.js.map +7 -0
- package/dist/lib/hooks/use-cursor.d.ts +16 -0
- package/dist/lib/hooks/use-cursor.js +51 -0
- package/dist/lib/hooks/use-cursor.js.map +7 -0
- package/dist/lib/hooks/use-event-listener.d.ts +10 -0
- package/dist/lib/hooks/use-event-listener.js +24 -0
- package/dist/lib/hooks/use-event-listener.js.map +7 -0
- package/dist/lib/hooks/use-event-target.d.ts +14 -0
- package/dist/lib/hooks/use-event-target.js +30 -0
- package/dist/lib/hooks/use-event-target.js.map +7 -0
- package/dist/lib/hooks/use-layout-box.d.ts +9 -0
- package/dist/lib/hooks/use-layout-box.js +8 -0
- package/dist/lib/hooks/use-layout-box.js.map +7 -0
- package/dist/lib/hooks/use-line-path.d.ts +14 -0
- package/dist/lib/hooks/use-line-path.js +13 -0
- package/dist/lib/hooks/use-line-path.js.map +7 -0
- package/dist/lib/hooks/use-paint-target.d.ts +3 -0
- package/dist/lib/hooks/use-paint-target.js +34 -0
- package/dist/lib/hooks/use-paint-target.js.map +7 -0
- package/dist/lib/hooks/use-playback.d.ts +21 -0
- package/dist/lib/hooks/use-playback.js +87 -0
- package/dist/lib/hooks/use-playback.js.map +7 -0
- package/dist/lib/hooks/use-reaction.d.ts +19 -0
- package/dist/lib/hooks/use-reaction.js +245 -0
- package/dist/lib/hooks/use-reaction.js.map +7 -0
- package/dist/lib/hooks/use-rect-path.d.ts +20 -0
- package/dist/lib/hooks/use-rect-path.js +25 -0
- package/dist/lib/hooks/use-rect-path.js.map +7 -0
- package/dist/lib/hooks/use-ref.d.ts +17 -0
- package/dist/lib/hooks/use-ref.js +8 -0
- package/dist/lib/hooks/use-ref.js.map +7 -0
- package/dist/lib/hooks/use-region.d.ts +11 -0
- package/dist/lib/hooks/use-region.js +34 -0
- package/dist/lib/hooks/use-region.js.map +7 -0
- package/dist/lib/hooks/use-signal.d.ts +12 -0
- package/dist/lib/hooks/use-signal.js +12 -0
- package/dist/lib/hooks/use-signal.js.map +7 -0
- package/dist/lib/hooks/use-svg-path.d.ts +11 -0
- package/dist/lib/hooks/use-svg-path.js +13 -0
- package/dist/lib/hooks/use-svg-path.js.map +7 -0
- package/dist/lib/hooks/use-value-memo-slot.d.ts +12 -0
- package/dist/lib/hooks/use-value-memo-slot.js +45 -0
- package/dist/lib/hooks/use-value-memo-slot.js.map +7 -0
- package/dist/lib/hooks/use-visibility-transition.d.ts +103 -0
- package/dist/lib/hooks/use-visibility-transition.js +195 -0
- package/dist/lib/hooks/use-visibility-transition.js.map +7 -0
- package/dist/lib/html/html-service.d.ts +30 -0
- package/dist/lib/html/html-service.js +281 -0
- package/dist/lib/html/html-service.js.map +7 -0
- package/dist/lib/html/overlay-config.d.ts +3 -0
- package/dist/lib/html/overlay-config.js +37 -0
- package/dist/lib/html/overlay-config.js.map +7 -0
- package/dist/lib/html/portable-clips.d.ts +4 -0
- package/dist/lib/html/portable-clips.js +20 -0
- package/dist/lib/html/portable-clips.js.map +7 -0
- package/dist/lib/html/types.d.ts +110 -0
- package/dist/lib/layout/absolute.d.ts +57 -0
- package/dist/lib/layout/absolute.js +348 -0
- package/dist/lib/layout/absolute.js.map +7 -0
- package/dist/lib/layout/box.d.ts +19 -0
- package/dist/lib/layout/box.js +209 -0
- package/dist/lib/layout/box.js.map +7 -0
- package/dist/lib/layout/context.d.ts +13 -0
- package/dist/lib/layout/context.js +42 -0
- package/dist/lib/layout/context.js.map +7 -0
- package/dist/lib/layout/diagnostics.d.ts +15 -0
- package/dist/lib/layout/diagnostics.js +30 -0
- package/dist/lib/layout/diagnostics.js.map +7 -0
- package/dist/lib/layout/flex.d.ts +64 -0
- package/dist/lib/layout/flex.js +803 -0
- package/dist/lib/layout/flex.js.map +7 -0
- package/dist/lib/layout/flow.d.ts +53 -0
- package/dist/lib/layout/flow.js +400 -0
- package/dist/lib/layout/flow.js.map +7 -0
- package/dist/lib/layout/grid.d.ts +64 -0
- package/dist/lib/layout/grid.js +597 -0
- package/dist/lib/layout/grid.js.map +7 -0
- package/dist/lib/layout/measure.d.ts +19 -0
- package/dist/lib/layout/measure.js +144 -0
- package/dist/lib/layout/measure.js.map +7 -0
- package/dist/lib/layout/overlay.d.ts +42 -0
- package/dist/lib/layout/overlay.js +151 -0
- package/dist/lib/layout/overlay.js.map +7 -0
- package/dist/lib/layout/place-child.d.ts +12 -0
- package/dist/lib/layout/place-child.js +72 -0
- package/dist/lib/layout/place-child.js.map +7 -0
- package/dist/lib/layout/positioning-diagnostics.d.ts +3 -0
- package/dist/lib/layout/positioning-diagnostics.js +15 -0
- package/dist/lib/layout/positioning-diagnostics.js.map +7 -0
- package/dist/lib/layout/types.d.ts +78 -0
- package/dist/lib/manipulation/controller-types.d.ts +299 -0
- package/dist/lib/manipulation/controller.d.ts +57 -0
- package/dist/lib/manipulation/controller.js +464 -0
- package/dist/lib/manipulation/controller.js.map +7 -0
- package/dist/lib/manipulation/coordinates.d.ts +9 -0
- package/dist/lib/manipulation/coordinates.js +55 -0
- package/dist/lib/manipulation/coordinates.js.map +7 -0
- package/dist/lib/manipulation/degrees.d.ts +10 -0
- package/dist/lib/manipulation/degrees.js +9 -0
- package/dist/lib/manipulation/degrees.js.map +7 -0
- package/dist/lib/manipulation/frame.d.ts +24 -0
- package/dist/lib/manipulation/frame.js +101 -0
- package/dist/lib/manipulation/frame.js.map +7 -0
- package/dist/lib/manipulation/geometry.d.ts +4 -0
- package/dist/lib/manipulation/geometry.js +26 -0
- package/dist/lib/manipulation/geometry.js.map +7 -0
- package/dist/lib/manipulation/handles.d.ts +298 -0
- package/dist/lib/manipulation/handles.js +598 -0
- package/dist/lib/manipulation/handles.js.map +7 -0
- package/dist/lib/manipulation/manipulable.d.ts +65 -0
- package/dist/lib/manipulation/manipulable.js +47 -0
- package/dist/lib/manipulation/manipulable.js.map +7 -0
- package/dist/lib/manipulation/ownership.d.ts +15 -0
- package/dist/lib/manipulation/ownership.js +80 -0
- package/dist/lib/manipulation/ownership.js.map +7 -0
- package/dist/lib/manipulation/snap.d.ts +6 -0
- package/dist/lib/manipulation/snap.js +40 -0
- package/dist/lib/manipulation/snap.js.map +7 -0
- package/dist/lib/manipulation/solve.d.ts +2 -0
- package/dist/lib/manipulation/solve.js +563 -0
- package/dist/lib/manipulation/solve.js.map +7 -0
- package/dist/lib/manipulation/types.d.ts +178 -0
- package/dist/lib/mount-pibbl.d.ts +25 -0
- package/dist/lib/mount-pibbl.js +278 -0
- package/dist/lib/mount-pibbl.js.map +7 -0
- package/dist/lib/optional-services.d.ts +8 -0
- package/dist/lib/optional-services.js +11 -0
- package/dist/lib/optional-services.js.map +7 -0
- package/dist/lib/pibbl.d.ts +17 -0
- package/dist/lib/pibbl.js +21 -0
- package/dist/lib/pibbl.js.map +7 -0
- package/dist/lib/primitive-presentation.d.ts +24 -0
- package/dist/lib/primitive-presentation.js +102 -0
- package/dist/lib/primitive-presentation.js.map +7 -0
- package/dist/lib/render-layer/controller.d.ts +67 -0
- package/dist/lib/render-layer/controller.js +603 -0
- package/dist/lib/render-layer/controller.js.map +7 -0
- package/dist/lib/render-layer/define-render-layer.d.ts +17 -0
- package/dist/lib/render-layer/define-render-layer.js +90 -0
- package/dist/lib/render-layer/define-render-layer.js.map +7 -0
- package/dist/lib/render-layer/types.d.ts +315 -0
- package/dist/lib/render-target.d.ts +27 -0
- package/dist/lib/render-target.js +118 -0
- package/dist/lib/render-target.js.map +7 -0
- package/dist/lib/render-transaction.d.ts +10 -0
- package/dist/lib/render-transaction.js +46 -0
- package/dist/lib/render-transaction.js.map +7 -0
- package/dist/lib/render.d.ts +3 -0
- package/dist/lib/render.js +385 -0
- package/dist/lib/render.js.map +7 -0
- package/dist/lib/scheduler/realm-scheduler.d.ts +52 -0
- package/dist/lib/scheduler/realm-scheduler.js +964 -0
- package/dist/lib/scheduler/realm-scheduler.js.map +7 -0
- package/dist/lib/scheduler/renderer-participant.d.ts +257 -0
- package/dist/lib/scheduler/renderer-participant.js +216 -0
- package/dist/lib/scheduler/renderer-participant.js.map +7 -0
- package/dist/lib/scheduler/simulation-participant.d.ts +103 -0
- package/dist/lib/scheduler/simulation-participant.js +229 -0
- package/dist/lib/scheduler/simulation-participant.js.map +7 -0
- package/dist/lib/scheduler/testing.d.ts +56 -0
- package/dist/lib/scheduler/testing.js +71 -0
- package/dist/lib/scheduler/testing.js.map +7 -0
- package/dist/lib/scheduler/types.d.ts +103 -0
- package/dist/lib/signals/edge.d.ts +44 -0
- package/dist/lib/signals/edge.js +245 -0
- package/dist/lib/signals/edge.js.map +7 -0
- package/dist/lib/signals/graph.d.ts +220 -0
- package/dist/lib/signals/graph.js +1035 -0
- package/dist/lib/signals/graph.js.map +7 -0
- package/dist/lib/signals/input-provision.d.ts +3 -0
- package/dist/lib/signals/input-provision.js +67 -0
- package/dist/lib/signals/input-provision.js.map +7 -0
- package/dist/lib/signals/render-consumer.d.ts +21 -0
- package/dist/lib/signals/render-consumer.js +218 -0
- package/dist/lib/signals/render-consumer.js.map +7 -0
- package/dist/lib/signals/resolve-signal-value.d.ts +10 -0
- package/dist/lib/signals/resolve-signal-value.js +17 -0
- package/dist/lib/signals/resolve-signal-value.js.map +7 -0
- package/dist/lib/signals/types.d.ts +80 -0
- package/dist/lib/style/diagnostics.d.ts +83 -0
- package/dist/lib/style/diagnostics.js +63 -0
- package/dist/lib/style/diagnostics.js.map +7 -0
- package/dist/lib/style/empty-style.d.ts +3 -0
- package/dist/lib/style/empty-style.js +5 -0
- package/dist/lib/style/empty-style.js.map +7 -0
- package/dist/lib/style/filter-types.d.ts +243 -0
- package/dist/lib/style/filter-types.js +5 -0
- package/dist/lib/style/filter-types.js.map +7 -0
- package/dist/lib/style/filter.d.ts +7 -0
- package/dist/lib/style/filter.js +50 -0
- package/dist/lib/style/filter.js.map +7 -0
- package/dist/lib/style/normalize.d.ts +18 -0
- package/dist/lib/style/normalize.js +50 -0
- package/dist/lib/style/normalize.js.map +7 -0
- package/dist/lib/style/positioning.d.ts +32 -0
- package/dist/lib/style/positioning.js +81 -0
- package/dist/lib/style/positioning.js.map +7 -0
- package/dist/lib/style/resolve-built-in.d.ts +6 -0
- package/dist/lib/style/resolve-built-in.js +58 -0
- package/dist/lib/style/resolve-built-in.js.map +7 -0
- package/dist/lib/style/resolve-dispatch.d.ts +20 -0
- package/dist/lib/style/resolve-dispatch.js +167 -0
- package/dist/lib/style/resolve-dispatch.js.map +7 -0
- package/dist/lib/style/resolve-length.d.ts +16 -0
- package/dist/lib/style/resolve-length.js +54 -0
- package/dist/lib/style/resolve-length.js.map +7 -0
- package/dist/lib/style/responsive.d.ts +31 -0
- package/dist/lib/style/responsive.js +172 -0
- package/dist/lib/style/responsive.js.map +7 -0
- package/dist/lib/style/types.d.ts +338 -0
- package/dist/lib/surface/resolve-surface.d.ts +4 -0
- package/dist/lib/surface/resolve-surface.js +184 -0
- package/dist/lib/surface/resolve-surface.js.map +7 -0
- package/dist/lib/surface/root-surface.d.ts +7 -0
- package/dist/lib/surface/root-surface.js +171 -0
- package/dist/lib/surface/root-surface.js.map +7 -0
- package/dist/lib/surface/transform.d.ts +4 -0
- package/dist/lib/surface/transform.js +16 -0
- package/dist/lib/surface/transform.js.map +7 -0
- package/dist/lib/surface/types.d.ts +132 -0
- package/dist/lib/teardowns.d.ts +14 -0
- package/dist/lib/teardowns.js +50 -0
- package/dist/lib/teardowns.js.map +7 -0
- package/dist/lib/textures/texture-protocol.d.ts +124 -0
- package/dist/lib/textures/texture-protocol.js +40 -0
- package/dist/lib/textures/texture-protocol.js.map +7 -0
- package/dist/lib/textures/texture.d.ts +170 -0
- package/dist/lib/textures/texture.js +385 -0
- package/dist/lib/textures/texture.js.map +7 -0
- package/dist/lib/transitions/bifrost.d.ts +47 -0
- package/dist/lib/transitions/bifrost.js +91 -0
- package/dist/lib/transitions/bifrost.js.map +7 -0
- package/dist/lib/transitions/binding.d.ts +14 -0
- package/dist/lib/transitions/binding.js +35 -0
- package/dist/lib/transitions/binding.js.map +7 -0
- package/dist/lib/transitions/capture.d.ts +21 -0
- package/dist/lib/transitions/capture.js +91 -0
- package/dist/lib/transitions/capture.js.map +7 -0
- package/dist/lib/transitions/common.d.ts +130 -0
- package/dist/lib/transitions/common.js +57 -0
- package/dist/lib/transitions/common.js.map +7 -0
- package/dist/lib/transitions/define-transition.d.ts +64 -0
- package/dist/lib/transitions/define-transition.js +31 -0
- package/dist/lib/transitions/define-transition.js.map +7 -0
- package/dist/lib/transitions/embers-physics.d.ts +114 -0
- package/dist/lib/transitions/embers-physics.js +161 -0
- package/dist/lib/transitions/embers-physics.js.map +7 -0
- package/dist/lib/transitions/embers.d.ts +67 -0
- package/dist/lib/transitions/embers.js +196 -0
- package/dist/lib/transitions/embers.js.map +7 -0
- package/dist/lib/transitions/fade.d.ts +41 -0
- package/dist/lib/transitions/fade.js +31 -0
- package/dist/lib/transitions/fade.js.map +7 -0
- package/dist/lib/transitions/hologram.d.ts +47 -0
- package/dist/lib/transitions/hologram.js +94 -0
- package/dist/lib/transitions/hologram.js.map +7 -0
- package/dist/lib/transitions/wasm/bifrost-bytes.d.ts +1 -0
- package/dist/lib/transitions/wasm/bifrost-bytes.js +5 -0
- package/dist/lib/transitions/wasm/bifrost-bytes.js.map +7 -0
- package/dist/lib/transitions/wasm/bifrost-kernel.d.ts +1 -0
- package/dist/lib/transitions/wasm/bifrost-kernel.js +27 -0
- package/dist/lib/transitions/wasm/bifrost-kernel.js.map +7 -0
- package/dist/lib/transitions/wasm/embers-bytes.d.ts +1 -0
- package/dist/lib/transitions/wasm/embers-bytes.js +5 -0
- package/dist/lib/transitions/wasm/embers-bytes.js.map +7 -0
- package/dist/lib/transitions/wasm/hologram-bytes.d.ts +1 -0
- package/dist/lib/transitions/wasm/hologram-bytes.js +5 -0
- package/dist/lib/transitions/wasm/hologram-bytes.js.map +7 -0
- package/dist/lib/transitions/wasm/kernel.d.ts +7 -0
- package/dist/lib/transitions/wasm/kernel.js +26 -0
- package/dist/lib/transitions/wasm/kernel.js.map +7 -0
- package/dist/lib/types.d.ts +570 -0
- package/dist/lib/update.d.ts +8 -0
- package/dist/lib/update.js +20 -0
- package/dist/lib/update.js.map +7 -0
- package/dist/lib/util/get-2d-context.d.ts +2 -0
- package/dist/lib/util/get-2d-context.js +11 -0
- package/dist/lib/util/get-2d-context.js.map +7 -0
- package/dist/lib/util/get-mouse-coordinates.d.ts +2 -0
- package/dist/lib/util/get-mouse-coordinates.js +32 -0
- package/dist/lib/util/get-mouse-coordinates.js.map +7 -0
- package/dist/lib/util/is-hit.d.ts +11 -0
- package/dist/lib/util/is-hit.js +52 -0
- package/dist/lib/util/is-hit.js.map +7 -0
- package/dist/lib/util/is-transparent.d.ts +1 -0
- package/dist/lib/util/is-transparent.js +8 -0
- package/dist/lib/util/is-transparent.js.map +7 -0
- package/dist/lib/util/pixel-grid-adjustments.d.ts +8 -0
- package/dist/lib/util/pixel-grid-adjustments.js +28 -0
- package/dist/lib/util/pixel-grid-adjustments.js.map +7 -0
- package/dist/lib/util/push-clipping-path.d.ts +6 -0
- package/dist/lib/util/push-clipping-path.js +28 -0
- package/dist/lib/util/push-clipping-path.js.map +7 -0
- package/dist/lib/util/wire-common-events.d.ts +2 -0
- package/dist/lib/util/wire-common-events.js +15 -0
- package/dist/lib/util/wire-common-events.js.map +7 -0
- package/dist/types.d.ts +1 -0
- package/dist/types.js +1 -0
- package/dist/types.js.map +7 -0
- package/dist/types.mjs +1 -0
- package/package.json +149 -0
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { PibblSpringAnimatedValueOptions, PibblTweenAnimatedValueOptions } from '../animation/types.js';
|
|
2
|
+
import type { Signal, SignalValue } from '../signals/types.js';
|
|
3
|
+
/**
|
|
4
|
+
* Animates a numeric target using an analytic spring. See {@link PibblSpringAnimatedValueOptions}
|
|
5
|
+
* and {@link Signal}.
|
|
6
|
+
* @param target - Target value or signal whose changes start transitions. See {@link SignalValue}.
|
|
7
|
+
* @param options - Spring or tween configuration, including signal-backed fields. See
|
|
8
|
+
* {@link SignalValue} , {@link PibblSpringAnimatedValueOptions} .
|
|
9
|
+
* @returns A readonly signal containing the animated value. See {@link Signal}.
|
|
10
|
+
*/
|
|
11
|
+
export declare function useAnimatedValue(target: SignalValue<number>, options: SignalValue<{
|
|
12
|
+
readonly [K in keyof PibblSpringAnimatedValueOptions]: SignalValue<PibblSpringAnimatedValueOptions[K]>;
|
|
13
|
+
}>): Signal<number>;
|
|
14
|
+
/**
|
|
15
|
+
* Animates a target using a tween and optional custom interpolation. See
|
|
16
|
+
* {@link PibblTweenAnimatedValueOptions} and {@link Signal}.
|
|
17
|
+
* @param target - Target value or signal whose changes start transitions. See {@link SignalValue}.
|
|
18
|
+
* @param options - Spring or tween configuration, including signal-backed fields. See
|
|
19
|
+
* {@link SignalValue} , {@link PibblTweenAnimatedValueOptions} .
|
|
20
|
+
* @returns A readonly signal containing the animated value. See {@link Signal}.
|
|
21
|
+
*/
|
|
22
|
+
export declare function useAnimatedValue<T>(target: SignalValue<T>, options: SignalValue<{
|
|
23
|
+
readonly [K in keyof PibblTweenAnimatedValueOptions<T>]: SignalValue<PibblTweenAnimatedValueOptions<T>[K]>;
|
|
24
|
+
}>): Signal<T>;
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
import {
|
|
2
|
+
createAnimationPlaybackController
|
|
3
|
+
} from "../animation/playback.js";
|
|
4
|
+
import { spring, tween } from "../animation/definition.js";
|
|
5
|
+
import { drive } from "../animation/program.js";
|
|
6
|
+
import { GLOBAL_STATE } from "../global-state.js";
|
|
7
|
+
import {
|
|
8
|
+
isSignal,
|
|
9
|
+
provisionSignalValueForRender,
|
|
10
|
+
signal,
|
|
11
|
+
untracked
|
|
12
|
+
} from "../signals/graph.js";
|
|
13
|
+
import { resolveSignalValue } from "../signals/resolve-signal-value.js";
|
|
14
|
+
import { requireHookContext, useHookSlot } from "./hook-slot.js";
|
|
15
|
+
function hasOwn(value, key) {
|
|
16
|
+
return Object.prototype.hasOwnProperty.call(value, key);
|
|
17
|
+
}
|
|
18
|
+
function normalizeCandidate(target, options) {
|
|
19
|
+
if (typeof options !== "object" || options === null) {
|
|
20
|
+
throw new TypeError("Pibbl transition options must be an object.");
|
|
21
|
+
}
|
|
22
|
+
if (options.type !== "tween" && options.type !== "spring") {
|
|
23
|
+
throw new TypeError('Pibbl transition type must be "tween" or "spring".');
|
|
24
|
+
}
|
|
25
|
+
if (options.equals !== void 0 && typeof options.equals !== "function") {
|
|
26
|
+
throw new TypeError("Pibbl transition equals must be a function.");
|
|
27
|
+
}
|
|
28
|
+
const snapshot = Object.freeze({ ...options });
|
|
29
|
+
if (snapshot.type === "spring") {
|
|
30
|
+
spring({
|
|
31
|
+
from: target,
|
|
32
|
+
to: target,
|
|
33
|
+
mass: snapshot.mass,
|
|
34
|
+
stiffness: snapshot.stiffness,
|
|
35
|
+
damping: snapshot.damping,
|
|
36
|
+
initialVelocity: snapshot.initialVelocity,
|
|
37
|
+
restSpeed: snapshot.restSpeed,
|
|
38
|
+
restDelta: snapshot.restDelta,
|
|
39
|
+
maxDuration: snapshot.maxDuration,
|
|
40
|
+
debugName: snapshot.debugName
|
|
41
|
+
});
|
|
42
|
+
} else {
|
|
43
|
+
tween({
|
|
44
|
+
from: target,
|
|
45
|
+
to: target,
|
|
46
|
+
duration: snapshot.duration,
|
|
47
|
+
easing: snapshot.easing,
|
|
48
|
+
interpolate: snapshot.interpolate,
|
|
49
|
+
debugName: snapshot.debugName
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
const hasInitial = hasOwn(options, "initial");
|
|
53
|
+
return Object.freeze({
|
|
54
|
+
options: snapshot,
|
|
55
|
+
equals: snapshot.equals ?? Object.is,
|
|
56
|
+
hasInitial,
|
|
57
|
+
initial: hasInitial ? snapshot.initial : target,
|
|
58
|
+
target
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
function programFor(output, from, candidate, springVelocity) {
|
|
62
|
+
const options = candidate.options;
|
|
63
|
+
if (options.type === "spring") {
|
|
64
|
+
return drive(output, spring({
|
|
65
|
+
from,
|
|
66
|
+
to: candidate.target,
|
|
67
|
+
mass: options.mass,
|
|
68
|
+
stiffness: options.stiffness,
|
|
69
|
+
damping: options.damping,
|
|
70
|
+
initialVelocity: springVelocity ?? options.initialVelocity,
|
|
71
|
+
restSpeed: options.restSpeed,
|
|
72
|
+
restDelta: options.restDelta,
|
|
73
|
+
maxDuration: options.maxDuration,
|
|
74
|
+
debugName: options.debugName
|
|
75
|
+
}));
|
|
76
|
+
}
|
|
77
|
+
return drive(output, tween({
|
|
78
|
+
from,
|
|
79
|
+
to: candidate.target,
|
|
80
|
+
duration: options.duration,
|
|
81
|
+
easing: options.easing,
|
|
82
|
+
interpolate: options.interpolate,
|
|
83
|
+
debugName: options.debugName
|
|
84
|
+
}));
|
|
85
|
+
}
|
|
86
|
+
function isCurrentSlot(slot) {
|
|
87
|
+
return !slot.componentRefs.teardowns.closed && !slot.pibblInstance.mainTeardowns.closed && GLOBAL_STATE.pibblInstances.get(slot.pibblInstance.canvas) === slot.pibblInstance && slot.pibblInstance.refs.get(slot.componentRefs.id) === slot.componentRefs;
|
|
88
|
+
}
|
|
89
|
+
function useAnimatedValue(targetInput, optionsInput) {
|
|
90
|
+
const { componentRefs, pibblInstance } = requireHookContext();
|
|
91
|
+
const target = resolveSignalValue(targetInput);
|
|
92
|
+
const options = resolveTransitionOptions(optionsInput);
|
|
93
|
+
const candidate = normalizeCandidate(target, options);
|
|
94
|
+
const slot = useHookSlot("transition", (teardowns) => {
|
|
95
|
+
const output = signal(candidate.initial);
|
|
96
|
+
const program = programFor(output, candidate.initial, candidate);
|
|
97
|
+
const controller = createAnimationPlaybackController(program, {
|
|
98
|
+
conflict: "replace",
|
|
99
|
+
debugName: candidate.options.debugName
|
|
100
|
+
});
|
|
101
|
+
const value = {
|
|
102
|
+
componentRefs,
|
|
103
|
+
controller,
|
|
104
|
+
pibblInstance,
|
|
105
|
+
output,
|
|
106
|
+
readonlyOutput: output.asReadonly(),
|
|
107
|
+
renderRevision: 0,
|
|
108
|
+
settled: false,
|
|
109
|
+
target: candidate.target
|
|
110
|
+
};
|
|
111
|
+
teardowns.add(() => controller.dispose());
|
|
112
|
+
return value;
|
|
113
|
+
}).value;
|
|
114
|
+
const shouldEnter = !slot.settled && candidate.hasInitial && !candidate.equals(candidate.initial, candidate.target);
|
|
115
|
+
const shouldRetarget = slot.settled && !candidate.equals(slot.target, candidate.target);
|
|
116
|
+
const previousProvisionalValue = untracked(() => slot.output.get());
|
|
117
|
+
const hasProvisionalValue = !slot.settled && !Object.is(previousProvisionalValue, candidate.initial);
|
|
118
|
+
const transaction = GLOBAL_STATE.renderTransaction;
|
|
119
|
+
if (!transaction) {
|
|
120
|
+
throw new Error("useAnimatedValue requires an active Pibbl render transaction.");
|
|
121
|
+
}
|
|
122
|
+
if (hasProvisionalValue) {
|
|
123
|
+
provisionSignalValueForRender(slot.output, candidate.initial, transaction);
|
|
124
|
+
}
|
|
125
|
+
const revision = ++slot.renderRevision;
|
|
126
|
+
transaction.onFinish((success) => {
|
|
127
|
+
if (!success) return;
|
|
128
|
+
if (revision !== slot.renderRevision || !isCurrentSlot(slot)) return;
|
|
129
|
+
slot.settled = true;
|
|
130
|
+
slot.target = candidate.target;
|
|
131
|
+
if (!shouldEnter && !shouldRetarget) {
|
|
132
|
+
slot.controller.adopt(
|
|
133
|
+
programFor(slot.output, slot.output.get(), candidate),
|
|
134
|
+
{
|
|
135
|
+
conflict: "replace",
|
|
136
|
+
debugName: candidate.options.debugName
|
|
137
|
+
}
|
|
138
|
+
);
|
|
139
|
+
return;
|
|
140
|
+
}
|
|
141
|
+
const springVelocity = candidate.options.type === "spring" ? slot.controller.committedSpringSnapshot()?.velocity : void 0;
|
|
142
|
+
const program = programFor(
|
|
143
|
+
slot.output,
|
|
144
|
+
slot.output.get(),
|
|
145
|
+
candidate,
|
|
146
|
+
springVelocity
|
|
147
|
+
);
|
|
148
|
+
slot.controller.retarget(program, {
|
|
149
|
+
conflict: "replace",
|
|
150
|
+
debugName: candidate.options.debugName
|
|
151
|
+
});
|
|
152
|
+
});
|
|
153
|
+
return slot.readonlyOutput;
|
|
154
|
+
}
|
|
155
|
+
function resolveTransitionOptions(input) {
|
|
156
|
+
const source = resolveSignalValue(input);
|
|
157
|
+
let resolved;
|
|
158
|
+
for (const key in source) {
|
|
159
|
+
const value = source[key];
|
|
160
|
+
if (!isSignal(value)) continue;
|
|
161
|
+
resolved ??= { ...source };
|
|
162
|
+
resolved[key] = resolveSignalValue(value);
|
|
163
|
+
}
|
|
164
|
+
return resolved ?? source;
|
|
165
|
+
}
|
|
166
|
+
export {
|
|
167
|
+
useAnimatedValue
|
|
168
|
+
};
|
|
169
|
+
//# sourceMappingURL=use-animated-value.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/lib/hooks/use-animated-value.ts"],
|
|
4
|
+
"sourcesContent": ["import {\n createAnimationPlaybackController,\n type AnimationPlaybackController,\n} from '../animation/playback.js';\nimport { spring, tween } from '../animation/definition.js';\nimport { drive } from '../animation/program.js';\nimport type {\n PibblAnimationProgram,\n PibblSpringAnimatedValueOptions,\n PibblTweenAnimatedValueOptions,\n} from '../animation/types.js';\nimport { GLOBAL_STATE } from '../global-state.js';\nimport {\n isSignal,\n provisionSignalValueForRender,\n signal,\n untracked,\n} from '../signals/graph.js';\nimport { resolveSignalValue } from '../signals/resolve-signal-value.js';\nimport type {\n Signal,\n SignalEquals,\n SignalValue,\n WritableSignal,\n} from '../signals/types.js';\nimport type { PibblComponentRefs, PibblInstance } from '../types.js';\nimport { requireHookContext, useHookSlot } from './hook-slot.js';\n\ntype PibblTransitionOptions<T> =\n | PibblTweenAnimatedValueOptions<T>\n | PibblSpringAnimatedValueOptions;\n\ntype PibblTransitionOptionsInput<T> =\n | {\n readonly [K in keyof PibblTweenAnimatedValueOptions<T>]:\n SignalValue<PibblTweenAnimatedValueOptions<T>[K]>;\n }\n | {\n readonly [K in keyof PibblSpringAnimatedValueOptions]:\n SignalValue<PibblSpringAnimatedValueOptions[K]>;\n };\n\ninterface PibblTransitionCandidate<T> {\n readonly options: PibblTransitionOptions<T>;\n readonly equals: SignalEquals<T>;\n readonly hasInitial: boolean;\n readonly initial: T;\n readonly target: T;\n}\n\ninterface PibblTransitionHookSlot<T> {\n readonly componentRefs: PibblComponentRefs<any>;\n readonly controller: AnimationPlaybackController;\n readonly pibblInstance: PibblInstance;\n readonly output: WritableSignal<T>;\n readonly readonlyOutput: Signal<T>;\n renderRevision: number;\n settled: boolean;\n target: T;\n}\n\nfunction hasOwn(value: object, key: PropertyKey): boolean {\n return Object.prototype.hasOwnProperty.call(value, key);\n}\n\nfunction normalizeCandidate<T>(\n target: T,\n options: PibblTransitionOptions<T>,\n): PibblTransitionCandidate<T> {\n if (typeof options !== 'object' || options === null) {\n throw new TypeError('Pibbl transition options must be an object.');\n }\n if (options.type !== 'tween' && options.type !== 'spring') {\n throw new TypeError('Pibbl transition type must be \"tween\" or \"spring\".');\n }\n if (options.equals !== undefined && typeof options.equals !== 'function') {\n throw new TypeError('Pibbl transition equals must be a function.');\n }\n const snapshot = Object.freeze({ ...options }) as PibblTransitionOptions<T>;\n if (snapshot.type === 'spring') {\n spring({\n from: target as number,\n to: target as number,\n mass: snapshot.mass,\n stiffness: snapshot.stiffness,\n damping: snapshot.damping,\n initialVelocity: snapshot.initialVelocity,\n restSpeed: snapshot.restSpeed,\n restDelta: snapshot.restDelta,\n maxDuration: snapshot.maxDuration,\n debugName: snapshot.debugName,\n });\n } else {\n tween({\n from: target,\n to: target,\n duration: snapshot.duration,\n easing: snapshot.easing,\n interpolate: snapshot.interpolate,\n debugName: snapshot.debugName,\n });\n }\n const hasInitial = hasOwn(options, 'initial');\n return Object.freeze({\n options: snapshot,\n equals: (snapshot.equals ?? Object.is) as SignalEquals<T>,\n hasInitial,\n initial: (hasInitial ? snapshot.initial : target) as T,\n target,\n });\n}\n\nfunction programFor<T>(\n output: WritableSignal<T>,\n from: T,\n candidate: PibblTransitionCandidate<T>,\n springVelocity?: number,\n): PibblAnimationProgram {\n const options = candidate.options;\n if (options.type === 'spring') {\n return drive(output as unknown as WritableSignal<number>, spring({\n from: from as number,\n to: candidate.target as number,\n mass: options.mass,\n stiffness: options.stiffness,\n damping: options.damping,\n initialVelocity: springVelocity ?? options.initialVelocity,\n restSpeed: options.restSpeed,\n restDelta: options.restDelta,\n maxDuration: options.maxDuration,\n debugName: options.debugName,\n }));\n }\n return drive(output, tween({\n from,\n to: candidate.target,\n duration: options.duration,\n easing: options.easing,\n interpolate: options.interpolate,\n debugName: options.debugName,\n }));\n}\n\nfunction isCurrentSlot<T>(slot: PibblTransitionHookSlot<T>): boolean {\n return !slot.componentRefs.teardowns.closed &&\n !slot.pibblInstance.mainTeardowns.closed &&\n GLOBAL_STATE.pibblInstances.get(slot.pibblInstance.canvas) === slot.pibblInstance &&\n slot.pibblInstance.refs.get(slot.componentRefs.id) === slot.componentRefs;\n}\n\n/**\n * Animates a numeric target using an analytic spring. See {@link PibblSpringAnimatedValueOptions}\n * and {@link Signal}.\n * @param target - Target value or signal whose changes start transitions. See {@link SignalValue}.\n * @param options - Spring or tween configuration, including signal-backed fields. See\n * {@link SignalValue} , {@link PibblSpringAnimatedValueOptions} .\n * @returns A readonly signal containing the animated value. See {@link Signal}.\n */\nexport function useAnimatedValue(\n target: SignalValue<number>,\n options: SignalValue<{\n readonly [K in keyof PibblSpringAnimatedValueOptions]:\n SignalValue<PibblSpringAnimatedValueOptions[K]>;\n }>,\n): Signal<number>;\n/**\n * Animates a target using a tween and optional custom interpolation. See\n * {@link PibblTweenAnimatedValueOptions} and {@link Signal}.\n * @param target - Target value or signal whose changes start transitions. See {@link SignalValue}.\n * @param options - Spring or tween configuration, including signal-backed fields. See\n * {@link SignalValue} , {@link PibblTweenAnimatedValueOptions} .\n * @returns A readonly signal containing the animated value. See {@link Signal}.\n */\nexport function useAnimatedValue<T>(\n target: SignalValue<T>,\n options: SignalValue<{\n readonly [K in keyof PibblTweenAnimatedValueOptions<T>]:\n SignalValue<PibblTweenAnimatedValueOptions<T>[K]>;\n }>,\n): Signal<T>;\n/**\n * Returns a mount-owned signal that animates toward the current target using the supplied\n * transition options.\n *\n * @param targetInput - Target value or signal whose changes start transitions. See\n * {@link SignalValue} .\n * @param optionsInput - Spring or tween configuration, including signal-backed fields. See\n * {@link SignalValue} , {@link PibblTransitionOptionsInput} .\n * @returns A readonly signal containing the animated value. See {@link Signal}.\n *\n * @see {@link SignalValue}\n * @see {@link Signal}\n */\nexport function useAnimatedValue<T>(\n targetInput: SignalValue<T>,\n optionsInput: SignalValue<PibblTransitionOptionsInput<T>>,\n): Signal<T> {\n const { componentRefs, pibblInstance } = requireHookContext();\n const target = resolveSignalValue(targetInput);\n const options = resolveTransitionOptions(optionsInput);\n const candidate = normalizeCandidate(target, options);\n const slot = useHookSlot<PibblTransitionHookSlot<T>>('transition', teardowns => {\n const output = signal(candidate.initial);\n const program = programFor(output, candidate.initial, candidate);\n const controller = createAnimationPlaybackController(program, {\n conflict: 'replace',\n debugName: candidate.options.debugName,\n });\n const value: PibblTransitionHookSlot<T> = {\n componentRefs,\n controller,\n pibblInstance,\n output,\n readonlyOutput: output.asReadonly(),\n renderRevision: 0,\n settled: false,\n target: candidate.target,\n };\n teardowns.add(() => controller.dispose());\n return value;\n }).value;\n\n const shouldEnter = !slot.settled && candidate.hasInitial &&\n !candidate.equals(candidate.initial, candidate.target);\n const shouldRetarget = slot.settled &&\n !candidate.equals(slot.target, candidate.target);\n const previousProvisionalValue = untracked(() => slot.output.get());\n const hasProvisionalValue = !slot.settled &&\n !Object.is(previousProvisionalValue, candidate.initial);\n const transaction = GLOBAL_STATE.renderTransaction;\n if (!transaction) {\n throw new Error('useAnimatedValue requires an active Pibbl render transaction.');\n }\n if (hasProvisionalValue) {\n provisionSignalValueForRender(slot.output, candidate.initial, transaction);\n }\n const revision = ++slot.renderRevision;\n transaction.onFinish(success => {\n if (!success) return;\n if (revision !== slot.renderRevision || !isCurrentSlot(slot)) return;\n slot.settled = true;\n slot.target = candidate.target;\n if (!shouldEnter && !shouldRetarget) {\n slot.controller.adopt(\n programFor(slot.output, slot.output.get(), candidate),\n {\n conflict: 'replace',\n debugName: candidate.options.debugName,\n },\n );\n return;\n }\n const springVelocity = candidate.options.type === 'spring' ?\n slot.controller.committedSpringSnapshot()?.velocity : undefined;\n const program = programFor(\n slot.output,\n slot.output.get(),\n candidate,\n springVelocity,\n );\n slot.controller.retarget(program, {\n conflict: 'replace',\n debugName: candidate.options.debugName,\n });\n });\n return slot.readonlyOutput;\n}\n\nfunction resolveTransitionOptions<T>(\n input: SignalValue<PibblTransitionOptionsInput<T>>,\n): PibblTransitionOptions<T> {\n const source = resolveSignalValue(input);\n let resolved: Record<PropertyKey, unknown> | undefined;\n for (const key in source) {\n const value = source[key as keyof typeof source];\n if (!isSignal(value)) continue;\n resolved ??= { ...source };\n resolved[key] = resolveSignalValue(value as SignalValue<unknown>);\n }\n return (resolved ?? source) as PibblTransitionOptions<T>;\n}\n"],
|
|
5
|
+
"mappings": "AAAA;AAAA,EACE;AAAA,OAEK;AACP,SAAS,QAAQ,aAAa;AAC9B,SAAS,aAAa;AAMtB,SAAS,oBAAoB;AAC7B;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,0BAA0B;AAQnC,SAAS,oBAAoB,mBAAmB;AAmChD,SAAS,OAAO,OAAe,KAA2B;AACxD,SAAO,OAAO,UAAU,eAAe,KAAK,OAAO,GAAG;AACxD;AAEA,SAAS,mBACP,QACA,SAC6B;AAC7B,MAAI,OAAO,YAAY,YAAY,YAAY,MAAM;AACnD,UAAM,IAAI,UAAU,6CAA6C;AAAA,EACnE;AACA,MAAI,QAAQ,SAAS,WAAW,QAAQ,SAAS,UAAU;AACzD,UAAM,IAAI,UAAU,oDAAoD;AAAA,EAC1E;AACA,MAAI,QAAQ,WAAW,UAAa,OAAO,QAAQ,WAAW,YAAY;AACxE,UAAM,IAAI,UAAU,6CAA6C;AAAA,EACnE;AACA,QAAM,WAAW,OAAO,OAAO,EAAE,GAAG,QAAQ,CAAC;AAC7C,MAAI,SAAS,SAAS,UAAU;AAC9B,WAAO;AAAA,MACL,MAAM;AAAA,MACN,IAAI;AAAA,MACJ,MAAM,SAAS;AAAA,MACf,WAAW,SAAS;AAAA,MACpB,SAAS,SAAS;AAAA,MAClB,iBAAiB,SAAS;AAAA,MAC1B,WAAW,SAAS;AAAA,MACpB,WAAW,SAAS;AAAA,MACpB,aAAa,SAAS;AAAA,MACtB,WAAW,SAAS;AAAA,IACtB,CAAC;AAAA,EACH,OAAO;AACL,UAAM;AAAA,MACJ,MAAM;AAAA,MACN,IAAI;AAAA,MACJ,UAAU,SAAS;AAAA,MACnB,QAAQ,SAAS;AAAA,MACjB,aAAa,SAAS;AAAA,MACtB,WAAW,SAAS;AAAA,IACtB,CAAC;AAAA,EACH;AACA,QAAM,aAAa,OAAO,SAAS,SAAS;AAC5C,SAAO,OAAO,OAAO;AAAA,IACnB,SAAS;AAAA,IACT,QAAS,SAAS,UAAU,OAAO;AAAA,IACnC;AAAA,IACA,SAAU,aAAa,SAAS,UAAU;AAAA,IAC1C;AAAA,EACF,CAAC;AACH;AAEA,SAAS,WACP,QACA,MACA,WACA,gBACuB;AACvB,QAAM,UAAU,UAAU;AAC1B,MAAI,QAAQ,SAAS,UAAU;AAC7B,WAAO,MAAM,QAA6C,OAAO;AAAA,MAC/D;AAAA,MACA,IAAI,UAAU;AAAA,MACd,MAAM,QAAQ;AAAA,MACd,WAAW,QAAQ;AAAA,MACnB,SAAS,QAAQ;AAAA,MACjB,iBAAiB,kBAAkB,QAAQ;AAAA,MAC3C,WAAW,QAAQ;AAAA,MACnB,WAAW,QAAQ;AAAA,MACnB,aAAa,QAAQ;AAAA,MACrB,WAAW,QAAQ;AAAA,IACrB,CAAC,CAAC;AAAA,EACJ;AACA,SAAO,MAAM,QAAQ,MAAM;AAAA,IACzB;AAAA,IACA,IAAI,UAAU;AAAA,IACd,UAAU,QAAQ;AAAA,IAClB,QAAQ,QAAQ;AAAA,IAChB,aAAa,QAAQ;AAAA,IACrB,WAAW,QAAQ;AAAA,EACrB,CAAC,CAAC;AACJ;AAEA,SAAS,cAAiB,MAA2C;AACnE,SAAO,CAAC,KAAK,cAAc,UAAU,UACnC,CAAC,KAAK,cAAc,cAAc,UAClC,aAAa,eAAe,IAAI,KAAK,cAAc,MAAM,MAAM,KAAK,iBACpE,KAAK,cAAc,KAAK,IAAI,KAAK,cAAc,EAAE,MAAM,KAAK;AAChE;AA6CO,SAAS,iBACd,aACA,cACW;AACX,QAAM,EAAE,eAAe,cAAc,IAAI,mBAAmB;AAC5D,QAAM,SAAS,mBAAmB,WAAW;AAC7C,QAAM,UAAU,yBAAyB,YAAY;AACrD,QAAM,YAAY,mBAAmB,QAAQ,OAAO;AACpD,QAAM,OAAO,YAAwC,cAAc,eAAa;AAC9E,UAAM,SAAS,OAAO,UAAU,OAAO;AACvC,UAAM,UAAU,WAAW,QAAQ,UAAU,SAAS,SAAS;AAC/D,UAAM,aAAa,kCAAkC,SAAS;AAAA,MAC5D,UAAU;AAAA,MACV,WAAW,UAAU,QAAQ;AAAA,IAC/B,CAAC;AACD,UAAM,QAAoC;AAAA,MACxC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,gBAAgB,OAAO,WAAW;AAAA,MAClC,gBAAgB;AAAA,MAChB,SAAS;AAAA,MACT,QAAQ,UAAU;AAAA,IACpB;AACA,cAAU,IAAI,MAAM,WAAW,QAAQ,CAAC;AACxC,WAAO;AAAA,EACT,CAAC,EAAE;AAEH,QAAM,cAAc,CAAC,KAAK,WAAW,UAAU,cAC7C,CAAC,UAAU,OAAO,UAAU,SAAS,UAAU,MAAM;AACvD,QAAM,iBAAiB,KAAK,WAC1B,CAAC,UAAU,OAAO,KAAK,QAAQ,UAAU,MAAM;AACjD,QAAM,2BAA2B,UAAU,MAAM,KAAK,OAAO,IAAI,CAAC;AAClE,QAAM,sBAAsB,CAAC,KAAK,WAChC,CAAC,OAAO,GAAG,0BAA0B,UAAU,OAAO;AACxD,QAAM,cAAc,aAAa;AACjC,MAAI,CAAC,aAAa;AAChB,UAAM,IAAI,MAAM,+DAA+D;AAAA,EACjF;AACA,MAAI,qBAAqB;AACvB,kCAA8B,KAAK,QAAQ,UAAU,SAAS,WAAW;AAAA,EAC3E;AACA,QAAM,WAAW,EAAE,KAAK;AACxB,cAAY,SAAS,aAAW;AAC9B,QAAI,CAAC,QAAS;AACd,QAAI,aAAa,KAAK,kBAAkB,CAAC,cAAc,IAAI,EAAG;AAC9D,SAAK,UAAU;AACf,SAAK,SAAS,UAAU;AACxB,QAAI,CAAC,eAAe,CAAC,gBAAgB;AACnC,WAAK,WAAW;AAAA,QACd,WAAW,KAAK,QAAQ,KAAK,OAAO,IAAI,GAAG,SAAS;AAAA,QACpD;AAAA,UACE,UAAU;AAAA,UACV,WAAW,UAAU,QAAQ;AAAA,QAC/B;AAAA,MACF;AACA;AAAA,IACF;AACA,UAAM,iBAAiB,UAAU,QAAQ,SAAS,WAChD,KAAK,WAAW,wBAAwB,GAAG,WAAW;AACxD,UAAM,UAAU;AAAA,MACd,KAAK;AAAA,MACL,KAAK,OAAO,IAAI;AAAA,MAChB;AAAA,MACA;AAAA,IACF;AACA,SAAK,WAAW,SAAS,SAAS;AAAA,MAChC,UAAU;AAAA,MACV,WAAW,UAAU,QAAQ;AAAA,IAC/B,CAAC;AAAA,EACH,CAAC;AACD,SAAO,KAAK;AACd;AAEA,SAAS,yBACP,OAC2B;AAC3B,QAAM,SAAS,mBAAmB,KAAK;AACvC,MAAI;AACJ,aAAW,OAAO,QAAQ;AACxB,UAAM,QAAQ,OAAO,GAA0B;AAC/C,QAAI,CAAC,SAAS,KAAK,EAAG;AACtB,iBAAa,EAAE,GAAG,OAAO;AACzB,aAAS,GAAG,IAAI,mBAAmB,KAA6B;AAAA,EAClE;AACA,SAAQ,YAAY;AACtB;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { RenderingContext2D } from '../types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Returns the current component's isolated Canvas 2D context.
|
|
4
|
+
*
|
|
5
|
+
* @returns The active Canvas 2D rendering context for this component evaluation. See
|
|
6
|
+
* {@link RenderingContext2D} .
|
|
7
|
+
*
|
|
8
|
+
* @see {@link RenderingContext2D}
|
|
9
|
+
*/
|
|
10
|
+
export declare function useCanvasContext(): RenderingContext2D;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { GLOBAL_STATE } from "../global-state.js";
|
|
2
|
+
const PIBBL_CANVAS_CONTEXT_ERROR = "useCanvasContext() is available only during Pibbl rendering and cannot be used during pure measurement.";
|
|
3
|
+
function useCanvasContext() {
|
|
4
|
+
const context = GLOBAL_STATE.renderContext;
|
|
5
|
+
if (!context || GLOBAL_STATE.backendDriver?.name !== "canvas2d" || !GLOBAL_STATE.componentRefs || !GLOBAL_STATE.currentPibblInstance || !GLOBAL_STATE.canvas) {
|
|
6
|
+
throw new Error(PIBBL_CANVAS_CONTEXT_ERROR);
|
|
7
|
+
}
|
|
8
|
+
return context;
|
|
9
|
+
}
|
|
10
|
+
export {
|
|
11
|
+
useCanvasContext
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=use-canvas-context.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/lib/hooks/use-canvas-context.ts"],
|
|
4
|
+
"sourcesContent": ["import { GLOBAL_STATE } from '../global-state.js';\nimport type { RenderingContext2D } from '../types.js';\n\nconst PIBBL_CANVAS_CONTEXT_ERROR =\n 'useCanvasContext() is available only during Pibbl rendering and cannot be ' +\n 'used during pure measurement.';\n\n/**\n * Returns the current component's isolated Canvas 2D context.\n *\n * @returns The active Canvas 2D rendering context for this component evaluation. See\n * {@link RenderingContext2D} .\n *\n * @see {@link RenderingContext2D}\n */\nexport function useCanvasContext(): RenderingContext2D {\n const context = GLOBAL_STATE.renderContext;\n if (\n !context ||\n GLOBAL_STATE.backendDriver?.name !== 'canvas2d' ||\n !GLOBAL_STATE.componentRefs ||\n !GLOBAL_STATE.currentPibblInstance ||\n !GLOBAL_STATE.canvas\n ) {\n throw new Error(PIBBL_CANVAS_CONTEXT_ERROR);\n }\n return context;\n}\n"],
|
|
5
|
+
"mappings": "AAAA,SAAS,oBAAoB;AAG7B,MAAM,6BACJ;AAWK,SAAS,mBAAuC;AACrD,QAAM,UAAU,aAAa;AAC7B,MACE,CAAC,WACD,aAAa,eAAe,SAAS,cACrC,CAAC,aAAa,iBACd,CAAC,aAAa,wBACd,CAAC,aAAa,QACd;AACA,UAAM,IAAI,MAAM,0BAA0B;AAAA,EAC5C;AACA,SAAO;AACT;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { Signal, SignalOptions } from '../signals/types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Creates one component-owned lazy computed signal for a mounted hook slot.
|
|
4
|
+
*
|
|
5
|
+
* @param compute - Synchronous calculation whose signal reads are tracked.
|
|
6
|
+
* @param dependencies - Values controlling replacement of the captured computation.
|
|
7
|
+
* @param options - Equality comparison and optional diagnostic name. See {@link SignalOptions}.
|
|
8
|
+
* @returns A mount-owned readonly computed signal. See {@link Signal}.
|
|
9
|
+
*
|
|
10
|
+
* @see {@link SignalOptions}
|
|
11
|
+
* @see {@link Signal}
|
|
12
|
+
*/
|
|
13
|
+
export declare function useComputed<T>(compute: () => T, dependencies?: readonly unknown[], options?: SignalOptions<T>): Signal<T>;
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { GLOBAL_STATE } from "../global-state.js";
|
|
2
|
+
import {
|
|
3
|
+
adoptComputedFormulaCandidate,
|
|
4
|
+
computed,
|
|
5
|
+
createComputedFormulaCandidate,
|
|
6
|
+
createComputedSignalAlias,
|
|
7
|
+
readComputedFormulaCandidate,
|
|
8
|
+
replaceComputedFormula
|
|
9
|
+
} from "../signals/graph.js";
|
|
10
|
+
import {
|
|
11
|
+
requireHookContext,
|
|
12
|
+
useHookSlot,
|
|
13
|
+
withHooksForbidden
|
|
14
|
+
} from "./hook-slot.js";
|
|
15
|
+
function useComputed(compute, dependencies, options) {
|
|
16
|
+
const { componentRefs, pibblInstance } = requireHookContext();
|
|
17
|
+
const formula = guardedFormula(compute);
|
|
18
|
+
const dependencySnapshot = snapshotDependencies(dependencies);
|
|
19
|
+
const slot = useHookSlot("computed", () => {
|
|
20
|
+
const output = computed(formula, options);
|
|
21
|
+
const candidates = /* @__PURE__ */ new WeakMap();
|
|
22
|
+
const signal = createComputedSignalAlias(output, () => {
|
|
23
|
+
const transaction2 = GLOBAL_STATE.renderTransaction;
|
|
24
|
+
const candidate2 = transaction2 === void 0 ? void 0 : candidates.get(transaction2);
|
|
25
|
+
return candidate2 === void 0 ? output.get() : readComputedFormulaCandidate(output, candidate2);
|
|
26
|
+
});
|
|
27
|
+
return {
|
|
28
|
+
candidates,
|
|
29
|
+
componentRefs,
|
|
30
|
+
pibblInstance,
|
|
31
|
+
dependencies: dependencySnapshot,
|
|
32
|
+
output,
|
|
33
|
+
signal,
|
|
34
|
+
renderRevision: 0
|
|
35
|
+
};
|
|
36
|
+
}).value;
|
|
37
|
+
const transaction = GLOBAL_STATE.renderTransaction;
|
|
38
|
+
if (!transaction) {
|
|
39
|
+
throw new Error("useComputed requires an active Pibbl render transaction.");
|
|
40
|
+
}
|
|
41
|
+
const dependenciesChanged = !dependencySnapshotsEqual(
|
|
42
|
+
slot.dependencies,
|
|
43
|
+
dependencySnapshot
|
|
44
|
+
);
|
|
45
|
+
const candidate = dependenciesChanged ? createComputedFormulaCandidate(slot.output, formula) : void 0;
|
|
46
|
+
if (candidate !== void 0) slot.candidates.set(transaction, candidate);
|
|
47
|
+
const revision = ++slot.renderRevision;
|
|
48
|
+
transaction.onFinish((success) => {
|
|
49
|
+
if (candidate !== void 0 && slot.candidates.get(transaction) === candidate) {
|
|
50
|
+
slot.candidates.delete(transaction);
|
|
51
|
+
}
|
|
52
|
+
if (!success || revision !== slot.renderRevision || !isCurrentSlot(slot)) {
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
if (candidate === void 0) {
|
|
56
|
+
replaceComputedFormula(slot.output, formula, false);
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
slot.dependencies = dependencySnapshot;
|
|
60
|
+
if (candidate.evaluated) {
|
|
61
|
+
adoptComputedFormulaCandidate(slot.output, candidate, formula);
|
|
62
|
+
} else {
|
|
63
|
+
replaceComputedFormula(slot.output, formula, true);
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
return slot.signal;
|
|
67
|
+
}
|
|
68
|
+
function guardedFormula(compute) {
|
|
69
|
+
return () => withHooksForbidden(
|
|
70
|
+
"Pibbl hooks cannot be called inside a useComputed formula.",
|
|
71
|
+
compute
|
|
72
|
+
);
|
|
73
|
+
}
|
|
74
|
+
function snapshotDependencies(dependencies) {
|
|
75
|
+
return dependencies === void 0 ? void 0 : [...dependencies];
|
|
76
|
+
}
|
|
77
|
+
function dependencySnapshotsEqual(previous, next) {
|
|
78
|
+
if (previous === void 0 || next === void 0) return previous === next;
|
|
79
|
+
if (previous.length !== next.length) return false;
|
|
80
|
+
for (let index = 0; index < previous.length; index++) {
|
|
81
|
+
if (!Object.is(previous[index], next[index])) return false;
|
|
82
|
+
}
|
|
83
|
+
return true;
|
|
84
|
+
}
|
|
85
|
+
function isCurrentSlot(slot) {
|
|
86
|
+
return !slot.componentRefs.teardowns.closed && !slot.pibblInstance.mainTeardowns.closed && GLOBAL_STATE.pibblInstances.get(slot.pibblInstance.canvas) === slot.pibblInstance && slot.pibblInstance.refs.get(slot.componentRefs.id) === slot.componentRefs;
|
|
87
|
+
}
|
|
88
|
+
export {
|
|
89
|
+
useComputed
|
|
90
|
+
};
|
|
91
|
+
//# sourceMappingURL=use-computed.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/lib/hooks/use-computed.ts"],
|
|
4
|
+
"sourcesContent": ["import { GLOBAL_STATE } from '../global-state.js';\nimport type { PibblComponentRefs, PibblInstance, PibblRenderTransaction } from '../types.js';\nimport {\n adoptComputedFormulaCandidate,\n computed,\n createComputedFormulaCandidate,\n createComputedSignalAlias,\n readComputedFormulaCandidate,\n replaceComputedFormula,\n type ComputedFormulaCandidate,\n} from '../signals/graph.js';\nimport type { Signal, SignalOptions } from '../signals/types.js';\nimport {\n requireHookContext,\n useHookSlot,\n withHooksForbidden,\n} from './hook-slot.js';\n\ninterface PibblComputedHookSlot<T> {\n readonly candidates: WeakMap<\n PibblRenderTransaction,\n ComputedFormulaCandidate<T>\n >;\n readonly componentRefs: PibblComponentRefs<any>;\n readonly pibblInstance: PibblInstance;\n dependencies: readonly unknown[] | undefined;\n readonly output: Signal<T>;\n readonly signal: Signal<T>;\n renderRevision: number;\n}\n\n/**\n * Creates one component-owned lazy computed signal for a mounted hook slot.\n *\n * @param compute - Synchronous calculation whose signal reads are tracked.\n * @param dependencies - Values controlling replacement of the captured computation.\n * @param options - Equality comparison and optional diagnostic name. See {@link SignalOptions}.\n * @returns A mount-owned readonly computed signal. See {@link Signal}.\n *\n * @see {@link SignalOptions}\n * @see {@link Signal}\n */\nexport function useComputed<T>(\n compute: () => T,\n dependencies?: readonly unknown[],\n options?: SignalOptions<T>,\n): Signal<T> {\n const { componentRefs, pibblInstance } = requireHookContext();\n const formula = guardedFormula(compute);\n const dependencySnapshot = snapshotDependencies(dependencies);\n const slot = useHookSlot<PibblComputedHookSlot<T>>('computed', () => {\n const output = computed(formula, options);\n const candidates = new WeakMap<\n PibblRenderTransaction,\n ComputedFormulaCandidate<T>\n >();\n const signal = createComputedSignalAlias(output, () => {\n const transaction = GLOBAL_STATE.renderTransaction;\n const candidate = transaction === undefined ? undefined :\n candidates.get(transaction);\n return candidate === undefined ? output.get() :\n readComputedFormulaCandidate(output, candidate);\n });\n return {\n candidates,\n componentRefs,\n pibblInstance,\n dependencies: dependencySnapshot,\n output,\n signal,\n renderRevision: 0,\n };\n }).value;\n\n const transaction = GLOBAL_STATE.renderTransaction;\n if (!transaction) {\n throw new Error('useComputed requires an active Pibbl render transaction.');\n }\n const dependenciesChanged = !dependencySnapshotsEqual(\n slot.dependencies,\n dependencySnapshot,\n );\n const candidate = dependenciesChanged ?\n createComputedFormulaCandidate(slot.output, formula) : undefined;\n if (candidate !== undefined) slot.candidates.set(transaction, candidate);\n\n const revision = ++slot.renderRevision;\n transaction.onFinish(success => {\n if (\n candidate !== undefined &&\n slot.candidates.get(transaction) === candidate\n ) {\n slot.candidates.delete(transaction);\n }\n if (!success || revision !== slot.renderRevision || !isCurrentSlot(slot)) {\n return;\n }\n if (candidate === undefined) {\n replaceComputedFormula(slot.output, formula, false);\n return;\n }\n\n slot.dependencies = dependencySnapshot;\n if (candidate.evaluated) {\n adoptComputedFormulaCandidate(slot.output, candidate, formula);\n } else {\n replaceComputedFormula(slot.output, formula, true);\n }\n });\n return slot.signal;\n}\n\nfunction guardedFormula<T>(compute: () => T): () => T {\n return () => withHooksForbidden(\n 'Pibbl hooks cannot be called inside a useComputed formula.',\n compute,\n );\n}\n\nfunction snapshotDependencies(\n dependencies: readonly unknown[] | undefined,\n): readonly unknown[] | undefined {\n return dependencies === undefined ? undefined : [...dependencies];\n}\n\nfunction dependencySnapshotsEqual(\n previous: readonly unknown[] | undefined,\n next: readonly unknown[] | undefined,\n): boolean {\n if (previous === undefined || next === undefined) return previous === next;\n if (previous.length !== next.length) return false;\n for (let index = 0; index < previous.length; index++) {\n if (!Object.is(previous[index], next[index])) return false;\n }\n return true;\n}\n\nfunction isCurrentSlot(slot: PibblComputedHookSlot<unknown>): boolean {\n return !slot.componentRefs.teardowns.closed &&\n !slot.pibblInstance.mainTeardowns.closed &&\n GLOBAL_STATE.pibblInstances.get(slot.pibblInstance.canvas) === slot.pibblInstance &&\n slot.pibblInstance.refs.get(slot.componentRefs.id) === slot.componentRefs;\n}\n"],
|
|
5
|
+
"mappings": "AAAA,SAAS,oBAAoB;AAE7B;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OAEK;AAEP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,OACK;AA0BA,SAAS,YACd,SACA,cACA,SACW;AACX,QAAM,EAAE,eAAe,cAAc,IAAI,mBAAmB;AAC5D,QAAM,UAAU,eAAe,OAAO;AACtC,QAAM,qBAAqB,qBAAqB,YAAY;AAC5D,QAAM,OAAO,YAAsC,YAAY,MAAM;AACnE,UAAM,SAAS,SAAS,SAAS,OAAO;AACxC,UAAM,aAAa,oBAAI,QAGrB;AACF,UAAM,SAAS,0BAA0B,QAAQ,MAAM;AACrD,YAAMA,eAAc,aAAa;AACjC,YAAMC,aAAYD,iBAAgB,SAAY,SAC5C,WAAW,IAAIA,YAAW;AAC5B,aAAOC,eAAc,SAAY,OAAO,IAAI,IAC1C,6BAA6B,QAAQA,UAAS;AAAA,IAClD,CAAC;AACD,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA,cAAc;AAAA,MACd;AAAA,MACA;AAAA,MACA,gBAAgB;AAAA,IAClB;AAAA,EACF,CAAC,EAAE;AAEH,QAAM,cAAc,aAAa;AACjC,MAAI,CAAC,aAAa;AAChB,UAAM,IAAI,MAAM,0DAA0D;AAAA,EAC5E;AACA,QAAM,sBAAsB,CAAC;AAAA,IAC3B,KAAK;AAAA,IACL;AAAA,EACF;AACA,QAAM,YAAY,sBAChB,+BAA+B,KAAK,QAAQ,OAAO,IAAI;AACzD,MAAI,cAAc,OAAW,MAAK,WAAW,IAAI,aAAa,SAAS;AAEvE,QAAM,WAAW,EAAE,KAAK;AACxB,cAAY,SAAS,aAAW;AAC9B,QACE,cAAc,UACd,KAAK,WAAW,IAAI,WAAW,MAAM,WACrC;AACA,WAAK,WAAW,OAAO,WAAW;AAAA,IACpC;AACA,QAAI,CAAC,WAAW,aAAa,KAAK,kBAAkB,CAAC,cAAc,IAAI,GAAG;AACxE;AAAA,IACF;AACA,QAAI,cAAc,QAAW;AAC3B,6BAAuB,KAAK,QAAQ,SAAS,KAAK;AAClD;AAAA,IACF;AAEA,SAAK,eAAe;AACpB,QAAI,UAAU,WAAW;AACvB,oCAA8B,KAAK,QAAQ,WAAW,OAAO;AAAA,IAC/D,OAAO;AACL,6BAAuB,KAAK,QAAQ,SAAS,IAAI;AAAA,IACnD;AAAA,EACF,CAAC;AACD,SAAO,KAAK;AACd;AAEA,SAAS,eAAkB,SAA2B;AACpD,SAAO,MAAM;AAAA,IACX;AAAA,IACA;AAAA,EACF;AACF;AAEA,SAAS,qBACP,cACgC;AAChC,SAAO,iBAAiB,SAAY,SAAY,CAAC,GAAG,YAAY;AAClE;AAEA,SAAS,yBACP,UACA,MACS;AACT,MAAI,aAAa,UAAa,SAAS,OAAW,QAAO,aAAa;AACtE,MAAI,SAAS,WAAW,KAAK,OAAQ,QAAO;AAC5C,WAAS,QAAQ,GAAG,QAAQ,SAAS,QAAQ,SAAS;AACpD,QAAI,CAAC,OAAO,GAAG,SAAS,KAAK,GAAG,KAAK,KAAK,CAAC,EAAG,QAAO;AAAA,EACvD;AACA,SAAO;AACT;AAEA,SAAS,cAAc,MAA+C;AACpE,SAAO,CAAC,KAAK,cAAc,UAAU,UACnC,CAAC,KAAK,cAAc,cAAc,UAClC,aAAa,eAAe,IAAI,KAAK,cAAc,MAAM,MAAM,KAAK,iBACpE,KAAK,cAAc,KAAK,IAAI,KAAK,cAAc,EAAE,MAAM,KAAK;AAChE;",
|
|
6
|
+
"names": ["transaction", "candidate"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { PibblComponent } from "../element/types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Creates one non-reactive value for the lifetime of a mounted hook slot.
|
|
4
|
+
*
|
|
5
|
+
* @param create - Initializer called once for this mounted hook slot.
|
|
6
|
+
* @returns The value retained by this hook slot.
|
|
7
|
+
*
|
|
8
|
+
* @see {@link PibblComponent}
|
|
9
|
+
*/
|
|
10
|
+
export declare function useConst<T>(create: () => T): T;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { untracked } from "../signals/graph.js";
|
|
2
|
+
import { useHookSlot, withHooksForbidden } from "./hook-slot.js";
|
|
3
|
+
function useConst(create) {
|
|
4
|
+
return useHookSlot(
|
|
5
|
+
"const",
|
|
6
|
+
() => untracked(() => withHooksForbidden(
|
|
7
|
+
"Pibbl hooks cannot be called inside a useConst factory.",
|
|
8
|
+
create
|
|
9
|
+
))
|
|
10
|
+
).value;
|
|
11
|
+
}
|
|
12
|
+
export {
|
|
13
|
+
useConst
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=use-const.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/lib/hooks/use-const.ts"],
|
|
4
|
+
"sourcesContent": ["import type { PibblComponent } from '../element/types.js';\nimport { untracked } from '../signals/graph.js';\nimport { useHookSlot, withHooksForbidden } from './hook-slot.js';\n\n/**\n * Creates one non-reactive value for the lifetime of a mounted hook slot.\n *\n * @param create - Initializer called once for this mounted hook slot.\n * @returns The value retained by this hook slot.\n *\n * @see {@link PibblComponent}\n */\nexport function useConst<T>(create: () => T): T {\n return useHookSlot(\n 'const',\n () => untracked(() => withHooksForbidden(\n 'Pibbl hooks cannot be called inside a useConst factory.',\n create,\n )),\n ).value;\n}\n"],
|
|
5
|
+
"mappings": "AACA,SAAS,iBAAiB;AAC1B,SAAS,aAAa,0BAA0B;AAUzC,SAAS,SAAY,QAAoB;AAC9C,SAAO;AAAA,IACL;AAAA,IACA,MAAM,UAAU,MAAM;AAAA,MACpB;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH,EAAE;AACJ;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { PathGeometry } from '../geometry/path-geometry.js';
|
|
2
|
+
/**
|
|
3
|
+
* Hook: wires a CSS cursor to the same logical target resolver used by mouse
|
|
4
|
+
* events. The cursor is released when this hook slot is replaced or removed.
|
|
5
|
+
*
|
|
6
|
+
* @param options - Cursor style and optional fill or stroke hit region for the current component.
|
|
7
|
+
* See {@link PathGeometry} .
|
|
8
|
+
*
|
|
9
|
+
* @see {@link PathGeometry}
|
|
10
|
+
*/
|
|
11
|
+
export declare function useCursor({ path, style, fill, lineInteractionWidth, }: {
|
|
12
|
+
path?: Path2D | PathGeometry;
|
|
13
|
+
style?: string;
|
|
14
|
+
fill?: boolean;
|
|
15
|
+
lineInteractionWidth?: number;
|
|
16
|
+
}): void;
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { getInteractionRoot } from "../global-state.js";
|
|
2
|
+
import {
|
|
3
|
+
refreshCursorDefault,
|
|
4
|
+
removeCursorDefault,
|
|
5
|
+
updateCursorDefault
|
|
6
|
+
} from "../events/dispatch.js";
|
|
7
|
+
import { requireHookContext, useHookSlot } from "./hook-slot.js";
|
|
8
|
+
import { createRegion, releaseRegion, updateRegion } from "./use-region.js";
|
|
9
|
+
function useCursor({
|
|
10
|
+
path,
|
|
11
|
+
style,
|
|
12
|
+
fill = false,
|
|
13
|
+
lineInteractionWidth = 0
|
|
14
|
+
}) {
|
|
15
|
+
const { pibblInstance } = requireHookContext();
|
|
16
|
+
const interactionRoot = getInteractionRoot(pibblInstance);
|
|
17
|
+
const slot = useHookSlot("cursor", (teardowns) => {
|
|
18
|
+
const cursorDefault2 = { style: "" };
|
|
19
|
+
const region2 = createRegion(pibblInstance);
|
|
20
|
+
teardowns.add(() => {
|
|
21
|
+
removeCursorDefault(interactionRoot, cursorDefault2);
|
|
22
|
+
releaseRegion(pibblInstance, region2);
|
|
23
|
+
});
|
|
24
|
+
return { cursorDefault: cursorDefault2, region: region2 };
|
|
25
|
+
});
|
|
26
|
+
const { cursorDefault, region } = slot.value;
|
|
27
|
+
if (path) {
|
|
28
|
+
removeCursorDefault(interactionRoot, cursorDefault);
|
|
29
|
+
updateRegion(pibblInstance, region, {
|
|
30
|
+
path,
|
|
31
|
+
cursor: style,
|
|
32
|
+
fill,
|
|
33
|
+
lineInteractionWidth
|
|
34
|
+
});
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
releaseRegion(pibblInstance, region);
|
|
38
|
+
interactionRoot.cursorDefaults.delete(cursorDefault);
|
|
39
|
+
if (!style) {
|
|
40
|
+
removeCursorDefault(interactionRoot, cursorDefault);
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
cursorDefault.style = style;
|
|
44
|
+
interactionRoot.cursorDefaults.add(cursorDefault);
|
|
45
|
+
updateCursorDefault(interactionRoot, cursorDefault);
|
|
46
|
+
refreshCursorDefault(interactionRoot);
|
|
47
|
+
}
|
|
48
|
+
export {
|
|
49
|
+
useCursor
|
|
50
|
+
};
|
|
51
|
+
//# sourceMappingURL=use-cursor.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/lib/hooks/use-cursor.ts"],
|
|
4
|
+
"sourcesContent": ["import { getInteractionRoot } from '../global-state.js';\nimport type { PathGeometry } from '../geometry/path-geometry.js';\nimport {\n refreshCursorDefault,\n removeCursorDefault,\n updateCursorDefault,\n} from '../events/dispatch.js';\nimport type {\n PibblCursorDefault,\n PibblInteractionRegion,\n} from '../types.js';\nimport { requireHookContext, useHookSlot } from './hook-slot.js';\nimport { createRegion, releaseRegion, updateRegion } from './use-region.js';\n\ninterface PibblCursorDefaultSlot {\n cursorDefault: PibblCursorDefault;\n region: PibblInteractionRegion;\n}\n\n/**\n * Hook: wires a CSS cursor to the same logical target resolver used by mouse\n * events. The cursor is released when this hook slot is replaced or removed.\n *\n * @param options - Cursor style and optional fill or stroke hit region for the current component.\n * See {@link PathGeometry} .\n *\n * @see {@link PathGeometry}\n */\nexport function useCursor({\n path,\n style,\n fill = false,\n lineInteractionWidth = 0,\n}: {\n path?: Path2D | PathGeometry;\n style?: string;\n fill?: boolean;\n lineInteractionWidth?: number;\n}): void {\n const { pibblInstance } = requireHookContext();\n const interactionRoot = getInteractionRoot(pibblInstance);\n const slot = useHookSlot<PibblCursorDefaultSlot>('cursor', teardowns => {\n const cursorDefault = { style: '' };\n const region = createRegion(pibblInstance);\n teardowns.add(() => {\n removeCursorDefault(interactionRoot, cursorDefault);\n releaseRegion(pibblInstance, region);\n });\n return { cursorDefault, region };\n });\n\n const { cursorDefault, region } = slot.value;\n if (path) {\n removeCursorDefault(interactionRoot, cursorDefault);\n updateRegion(pibblInstance, region, {\n path,\n cursor: style,\n fill,\n lineInteractionWidth,\n });\n return;\n }\n\n releaseRegion(pibblInstance, region);\n interactionRoot.cursorDefaults.delete(cursorDefault);\n if (!style) {\n removeCursorDefault(interactionRoot, cursorDefault);\n return;\n }\n\n cursorDefault.style = style;\n interactionRoot.cursorDefaults.add(cursorDefault);\n updateCursorDefault(interactionRoot, cursorDefault);\n refreshCursorDefault(interactionRoot);\n}\n"],
|
|
5
|
+
"mappings": "AAAA,SAAS,0BAA0B;AAEnC;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAKP,SAAS,oBAAoB,mBAAmB;AAChD,SAAS,cAAc,eAAe,oBAAoB;AAgBnD,SAAS,UAAU;AAAA,EACxB;AAAA,EACA;AAAA,EACA,OAAO;AAAA,EACP,uBAAuB;AACzB,GAKS;AACP,QAAM,EAAE,cAAc,IAAI,mBAAmB;AAC7C,QAAM,kBAAkB,mBAAmB,aAAa;AACxD,QAAM,OAAO,YAAoC,UAAU,eAAa;AACtE,UAAMA,iBAAgB,EAAE,OAAO,GAAG;AAClC,UAAMC,UAAS,aAAa,aAAa;AACzC,cAAU,IAAI,MAAM;AAClB,0BAAoB,iBAAiBD,cAAa;AAClD,oBAAc,eAAeC,OAAM;AAAA,IACrC,CAAC;AACD,WAAO,EAAE,eAAAD,gBAAe,QAAAC,QAAO;AAAA,EACjC,CAAC;AAED,QAAM,EAAE,eAAe,OAAO,IAAI,KAAK;AACvC,MAAI,MAAM;AACR,wBAAoB,iBAAiB,aAAa;AAClD,iBAAa,eAAe,QAAQ;AAAA,MAClC;AAAA,MACA,QAAQ;AAAA,MACR;AAAA,MACA;AAAA,IACF,CAAC;AACD;AAAA,EACF;AAEA,gBAAc,eAAe,MAAM;AACnC,kBAAgB,eAAe,OAAO,aAAa;AACnD,MAAI,CAAC,OAAO;AACV,wBAAoB,iBAAiB,aAAa;AAClD;AAAA,EACF;AAEA,gBAAc,QAAQ;AACtB,kBAAgB,eAAe,IAAI,aAAa;AAChD,sBAAoB,iBAAiB,aAAa;AAClD,uBAAqB,eAAe;AACtC;",
|
|
6
|
+
"names": ["cursorDefault", "region"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { PibblEventHandlers } from '../events/types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Registers the current component's event handlers with mount-owned cleanup.
|
|
4
|
+
*
|
|
5
|
+
* @param handlers - Handlers to register for the current component's event participation. See
|
|
6
|
+
* {@link PibblEventHandlers} .
|
|
7
|
+
*
|
|
8
|
+
* @see {@link PibblEventHandlers}
|
|
9
|
+
*/
|
|
10
|
+
export declare function useEventListener(handlers: PibblEventHandlers): void;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import {
|
|
2
|
+
createListener,
|
|
3
|
+
releaseListener,
|
|
4
|
+
updateListener
|
|
5
|
+
} from "../events/registrations.js";
|
|
6
|
+
import { GLOBAL_STATE } from "../global-state.js";
|
|
7
|
+
import { requireHookContext, useHookSlot } from "./hook-slot.js";
|
|
8
|
+
function useEventListener(handlers) {
|
|
9
|
+
const { componentRefs, pibblInstance } = requireHookContext();
|
|
10
|
+
const hookIndex = GLOBAL_STATE.componentHookIndex;
|
|
11
|
+
const slot = useHookSlot(
|
|
12
|
+
"eventListener",
|
|
13
|
+
(teardowns) => {
|
|
14
|
+
const listener = createListener(pibblInstance, componentRefs, hookIndex);
|
|
15
|
+
teardowns.add(() => releaseListener(listener));
|
|
16
|
+
return listener;
|
|
17
|
+
}
|
|
18
|
+
);
|
|
19
|
+
updateListener(slot.value, handlers);
|
|
20
|
+
}
|
|
21
|
+
export {
|
|
22
|
+
useEventListener
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=use-event-listener.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/lib/hooks/use-event-listener.ts"],
|
|
4
|
+
"sourcesContent": ["import {\n createListener,\n releaseListener,\n updateListener,\n type PibblEventListenerRegistration,\n} from '../events/registrations.js';\nimport type { PibblEventHandlers } from '../events/types.js';\nimport { GLOBAL_STATE } from '../global-state.js';\nimport { requireHookContext, useHookSlot } from './hook-slot.js';\n\n/**\n * Registers the current component's event handlers with mount-owned cleanup.\n *\n * @param handlers - Handlers to register for the current component's event participation. See\n * {@link PibblEventHandlers} .\n *\n * @see {@link PibblEventHandlers}\n */\nexport function useEventListener(handlers: PibblEventHandlers): void {\n const { componentRefs, pibblInstance } = requireHookContext();\n const hookIndex = GLOBAL_STATE.componentHookIndex;\n const slot = useHookSlot<PibblEventListenerRegistration>(\n 'eventListener',\n teardowns => {\n const listener = createListener(pibblInstance, componentRefs, hookIndex);\n teardowns.add(() => releaseListener(listener));\n return listener;\n },\n );\n updateListener(slot.value, handlers);\n}\n"],
|
|
5
|
+
"mappings": "AAAA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,OAEK;AAEP,SAAS,oBAAoB;AAC7B,SAAS,oBAAoB,mBAAmB;AAUzC,SAAS,iBAAiB,UAAoC;AACnE,QAAM,EAAE,eAAe,cAAc,IAAI,mBAAmB;AAC5D,QAAM,YAAY,aAAa;AAC/B,QAAM,OAAO;AAAA,IACX;AAAA,IACA,eAAa;AACX,YAAM,WAAW,eAAe,eAAe,eAAe,SAAS;AACvE,gBAAU,IAAI,MAAM,gBAAgB,QAAQ,CAAC;AAC7C,aAAO;AAAA,IACT;AAAA,EACF;AACA,iBAAe,KAAK,OAAO,QAAQ;AACrC;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { PibblEventHandlers, PibblEventTargetOptions, PibblEventTargetSnapshot } from '../events/types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Registers a logical event target and returns its current focus and interaction snapshot.
|
|
4
|
+
*
|
|
5
|
+
* @param handlers - Handlers for this logical event target. See {@link PibblEventHandlers}.
|
|
6
|
+
* @param options - Hit geometry, focus, and target participation options. See
|
|
7
|
+
* {@link PibblEventTargetOptions} .
|
|
8
|
+
* @returns The registered target's snapshot. See {@link PibblEventTargetSnapshot}.
|
|
9
|
+
*
|
|
10
|
+
* @see {@link PibblEventHandlers}
|
|
11
|
+
* @see {@link PibblEventTargetOptions}
|
|
12
|
+
* @see {@link PibblEventTargetSnapshot}
|
|
13
|
+
*/
|
|
14
|
+
export declare function useEventTarget(handlers: PibblEventHandlers, options: PibblEventTargetOptions): PibblEventTargetSnapshot;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import {
|
|
2
|
+
createTarget,
|
|
3
|
+
releaseTarget,
|
|
4
|
+
updateTarget
|
|
5
|
+
} from "../events/registrations.js";
|
|
6
|
+
import { GLOBAL_STATE } from "../global-state.js";
|
|
7
|
+
import { requireHookContext, useHookSlot } from "./hook-slot.js";
|
|
8
|
+
const UNFOCUSED_SNAPSHOT = Object.freeze({
|
|
9
|
+
isFocused: false,
|
|
10
|
+
isFocusVisible: false
|
|
11
|
+
});
|
|
12
|
+
function useEventTarget(handlers, options) {
|
|
13
|
+
const { componentRefs, pibblInstance } = requireHookContext();
|
|
14
|
+
const hookIndex = GLOBAL_STATE.componentHookIndex;
|
|
15
|
+
const slot = useHookSlot(
|
|
16
|
+
"eventTarget",
|
|
17
|
+
(teardowns) => {
|
|
18
|
+
const target2 = createTarget(pibblInstance, componentRefs, hookIndex);
|
|
19
|
+
teardowns.add(() => releaseTarget(target2));
|
|
20
|
+
return target2;
|
|
21
|
+
}
|
|
22
|
+
);
|
|
23
|
+
const target = slot.value;
|
|
24
|
+
updateTarget(target, handlers, options);
|
|
25
|
+
return pibblInstance.eventRoot.focusPolicy?.snapshot(target) ?? UNFOCUSED_SNAPSHOT;
|
|
26
|
+
}
|
|
27
|
+
export {
|
|
28
|
+
useEventTarget
|
|
29
|
+
};
|
|
30
|
+
//# sourceMappingURL=use-event-target.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/lib/hooks/use-event-target.ts"],
|
|
4
|
+
"sourcesContent": ["import type {\n PibblEventHandlers,\n PibblEventTargetOptions,\n PibblEventTargetSnapshot,\n} from '../events/types.js';\nimport {\n createTarget,\n releaseTarget,\n updateTarget,\n type PibblEventTargetRegistration,\n} from '../events/registrations.js';\nimport { GLOBAL_STATE } from '../global-state.js';\nimport { requireHookContext, useHookSlot } from './hook-slot.js';\n\nconst UNFOCUSED_SNAPSHOT: PibblEventTargetSnapshot = Object.freeze({\n isFocused: false,\n isFocusVisible: false,\n});\n\n/**\n * Registers a logical event target and returns its current focus and interaction snapshot.\n *\n * @param handlers - Handlers for this logical event target. See {@link PibblEventHandlers}.\n * @param options - Hit geometry, focus, and target participation options. See\n * {@link PibblEventTargetOptions} .\n * @returns The registered target's snapshot. See {@link PibblEventTargetSnapshot}.\n *\n * @see {@link PibblEventHandlers}\n * @see {@link PibblEventTargetOptions}\n * @see {@link PibblEventTargetSnapshot}\n */\nexport function useEventTarget(\n handlers: PibblEventHandlers,\n options: PibblEventTargetOptions,\n): PibblEventTargetSnapshot {\n const { componentRefs, pibblInstance } = requireHookContext();\n const hookIndex = GLOBAL_STATE.componentHookIndex;\n const slot = useHookSlot<PibblEventTargetRegistration>(\n 'eventTarget',\n teardowns => {\n const target = createTarget(pibblInstance, componentRefs, hookIndex);\n teardowns.add(() => releaseTarget(target));\n return target;\n },\n );\n const target = slot.value;\n updateTarget(target, handlers, options);\n return pibblInstance.eventRoot.focusPolicy?.snapshot(target) ??\n UNFOCUSED_SNAPSHOT;\n}\n"],
|
|
5
|
+
"mappings": "AAKA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,OAEK;AACP,SAAS,oBAAoB;AAC7B,SAAS,oBAAoB,mBAAmB;AAEhD,MAAM,qBAA+C,OAAO,OAAO;AAAA,EACjE,WAAW;AAAA,EACX,gBAAgB;AAClB,CAAC;AAcM,SAAS,eACd,UACA,SAC0B;AAC1B,QAAM,EAAE,eAAe,cAAc,IAAI,mBAAmB;AAC5D,QAAM,YAAY,aAAa;AAC/B,QAAM,OAAO;AAAA,IACX;AAAA,IACA,eAAa;AACX,YAAMA,UAAS,aAAa,eAAe,eAAe,SAAS;AACnE,gBAAU,IAAI,MAAM,cAAcA,OAAM,CAAC;AACzC,aAAOA;AAAA,IACT;AAAA,EACF;AACA,QAAM,SAAS,KAAK;AACpB,eAAa,QAAQ,UAAU,OAAO;AACtC,SAAO,cAAc,UAAU,aAAa,SAAS,MAAM,KACzD;AACJ;",
|
|
6
|
+
"names": ["target"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { LayoutBox } from '../layout/types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Returns the current stable child-local allocation without scheduling work.
|
|
4
|
+
*
|
|
5
|
+
* @returns The current parent-assigned layout box in logical coordinates. See {@link LayoutBox}.
|
|
6
|
+
*
|
|
7
|
+
* @see {@link LayoutBox}
|
|
8
|
+
*/
|
|
9
|
+
export declare function useLayoutBox(): Readonly<LayoutBox>;
|