@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,81 @@
|
|
|
1
|
+
import {
|
|
2
|
+
getPlacementSignalHandoffStyle,
|
|
3
|
+
setPlacementSignalHandoff
|
|
4
|
+
} from "../element/metadata.js";
|
|
5
|
+
import { isSignal } from "../signals/graph.js";
|
|
6
|
+
import { resolveLocalOffset } from "./resolve-built-in.js";
|
|
7
|
+
const PLACEMENT_HANDOFF = /* @__PURE__ */ Symbol("pibbl.placement-handoff");
|
|
8
|
+
let activeSignalHandoff;
|
|
9
|
+
function hasPositioning(style) {
|
|
10
|
+
if (Object.hasOwn(style, "left") || Object.hasOwn(style, "top")) return true;
|
|
11
|
+
const when = style.when;
|
|
12
|
+
return Array.isArray(when) && when.some((rule) => {
|
|
13
|
+
if (!rule || typeof rule !== "object") return false;
|
|
14
|
+
const patch = rule.style;
|
|
15
|
+
return !!patch && typeof patch === "object" && (Object.hasOwn(patch, "left") || Object.hasOwn(patch, "top"));
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
function withPlacementHandoff(props, consumedStyle) {
|
|
19
|
+
if (!props || typeof props !== "object") return props;
|
|
20
|
+
const candidate = props;
|
|
21
|
+
const style = candidate.style;
|
|
22
|
+
if (!style || typeof style !== "object" || isSignal(style) || style[PLACEMENT_HANDOFF] !== void 0 || !hasPositioning(style)) {
|
|
23
|
+
return props;
|
|
24
|
+
}
|
|
25
|
+
return {
|
|
26
|
+
...candidate,
|
|
27
|
+
style: Object.freeze({
|
|
28
|
+
...style,
|
|
29
|
+
[PLACEMENT_HANDOFF]: Object.freeze({
|
|
30
|
+
source: consumedStyle ?? style
|
|
31
|
+
})
|
|
32
|
+
})
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
function enterPlacementHandoffCapture(props, consumedStyle) {
|
|
36
|
+
const style = props && typeof props === "object" ? props.style : void 0;
|
|
37
|
+
const previous = activeSignalHandoff;
|
|
38
|
+
activeSignalHandoff = style && isSignal(style) && consumedStyle !== void 0 ? {
|
|
39
|
+
signal: style,
|
|
40
|
+
consumedStyle
|
|
41
|
+
} : void 0;
|
|
42
|
+
return () => {
|
|
43
|
+
activeSignalHandoff = previous;
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
function capturePlacementHandoff(element, style) {
|
|
47
|
+
if (style && style === activeSignalHandoff?.signal) {
|
|
48
|
+
setPlacementSignalHandoff(element, activeSignalHandoff.consumedStyle);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
function getPlacementHandoffSource(style) {
|
|
52
|
+
if (!style || typeof style !== "object") return void 0;
|
|
53
|
+
const marker = style[PLACEMENT_HANDOFF];
|
|
54
|
+
if (!marker || typeof marker !== "object") return void 0;
|
|
55
|
+
return marker.source;
|
|
56
|
+
}
|
|
57
|
+
function consumePlacementHandoff(style) {
|
|
58
|
+
if (getPlacementHandoffSource(style) === void 0) return style;
|
|
59
|
+
const withoutHandoff = { ...style };
|
|
60
|
+
delete withoutHandoff[PLACEMENT_HANDOFF];
|
|
61
|
+
return Object.freeze(withoutHandoff);
|
|
62
|
+
}
|
|
63
|
+
function getPlacementSignalHandoff(element) {
|
|
64
|
+
return getPlacementSignalHandoffStyle(element);
|
|
65
|
+
}
|
|
66
|
+
function resolveStandalonePosition(style, context) {
|
|
67
|
+
return {
|
|
68
|
+
left: resolveLocalOffset(style.left, context.percentageBasis.width, "left", context),
|
|
69
|
+
top: resolveLocalOffset(style.top, context.percentageBasis.height, "top", context)
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
export {
|
|
73
|
+
capturePlacementHandoff,
|
|
74
|
+
consumePlacementHandoff,
|
|
75
|
+
enterPlacementHandoffCapture,
|
|
76
|
+
getPlacementHandoffSource,
|
|
77
|
+
getPlacementSignalHandoff,
|
|
78
|
+
resolveStandalonePosition,
|
|
79
|
+
withPlacementHandoff
|
|
80
|
+
};
|
|
81
|
+
//# sourceMappingURL=positioning.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/lib/style/positioning.ts"],
|
|
4
|
+
"sourcesContent": ["import type { StyleResolutionContext, SystemStyle } from '../types.js';\nimport {\n getPlacementSignalHandoffStyle,\n setPlacementSignalHandoff,\n} from '../element/metadata.js';\nimport type { PibblElement } from '../element/types.js';\nimport { isSignal } from '../signals/graph.js';\nimport { resolveLocalOffset } from './resolve-built-in.js';\nimport type { Length } from './types.js';\n\nconst PLACEMENT_HANDOFF = Symbol('pibbl.placement-handoff');\n\ntype PropsWithStyle = Record<PropertyKey, unknown> & {\n readonly style?: unknown;\n};\n\ntype PlacementHandoff = Readonly<{\n source: Readonly<SystemStyle>;\n}>;\n\nlet activeSignalHandoff: {\n readonly signal: object;\n readonly consumedStyle: Readonly<SystemStyle>;\n} | undefined;\n\nfunction hasPositioning(style: Readonly<Record<PropertyKey, unknown>>): boolean {\n if (Object.hasOwn(style, 'left') || Object.hasOwn(style, 'top')) return true;\n const when = style.when;\n return Array.isArray(when) && when.some((rule) => {\n if (!rule || typeof rule !== 'object') return false;\n const patch = (rule as { style?: unknown }).style;\n return !!patch && typeof patch === 'object' &&\n (Object.hasOwn(patch, 'left') || Object.hasOwn(patch, 'top'));\n });\n}\n\n/** @internal Marks a placed function component's object style for forwarding. */\nexport function withPlacementHandoff<P>(\n props: P,\n consumedStyle: Readonly<SystemStyle> | undefined,\n): P {\n if (!props || typeof props !== 'object') return props;\n const candidate = props as PropsWithStyle;\n const style = candidate.style;\n if (\n !style ||\n typeof style !== 'object' ||\n isSignal(style) ||\n (style as Record<PropertyKey, unknown>)[PLACEMENT_HANDOFF] !== undefined ||\n !hasPositioning(style as Readonly<Record<PropertyKey, unknown>>)\n ) {\n return props;\n }\n return {\n ...candidate,\n style: Object.freeze({\n ...(style as Record<PropertyKey, unknown>),\n [PLACEMENT_HANDOFF]: Object.freeze({\n source: consumedStyle ?? style as Readonly<SystemStyle>,\n }),\n }),\n } as P;\n}\n\n/** @internal Activates signal identity capture while one plain component runs. */\nexport function enterPlacementHandoffCapture(\n props: unknown,\n consumedStyle: Readonly<SystemStyle> | undefined,\n): () => void {\n const style = props && typeof props === 'object' ?\n (props as PropsWithStyle).style : undefined;\n const previous = activeSignalHandoff;\n activeSignalHandoff = style && isSignal(style) && consumedStyle !== undefined ? {\n signal: style,\n consumedStyle,\n } : undefined;\n return () => {\n activeSignalHandoff = previous;\n };\n}\n\n/** @internal Annotates an element created with the active forwarded style signal. */\nexport function capturePlacementHandoff(\n element: PibblElement<any>,\n style: unknown,\n): void {\n if (style && style === activeSignalHandoff?.signal) {\n setPlacementSignalHandoff(element, activeSignalHandoff.consumedStyle);\n }\n}\n\n/** @internal Reads the original style behind an enumerable forwarding marker. */\nexport function getPlacementHandoffSource(\n style: unknown,\n): Readonly<SystemStyle> | undefined {\n if (!style || typeof style !== 'object') return undefined;\n const marker = (style as Record<PropertyKey, unknown>)[PLACEMENT_HANDOFF];\n if (!marker || typeof marker !== 'object') return undefined;\n return (marker as PlacementHandoff).source;\n}\n\n/** @internal Removes a private handoff marker before style callbacks run. */\nexport function consumePlacementHandoff(\n style: Readonly<SystemStyle>,\n): Readonly<SystemStyle> {\n if (getPlacementHandoffSource(style) === undefined) return style;\n const withoutHandoff = { ...(style as Record<PropertyKey, unknown>) };\n delete withoutHandoff[PLACEMENT_HANDOFF];\n return Object.freeze(withoutHandoff) as Readonly<SystemStyle>;\n}\n\n/** @internal Determines whether a primitive consumes one forwarded signal style. */\nexport function getPlacementSignalHandoff(\n element: PibblElement<any>,\n): Readonly<SystemStyle> | undefined {\n return getPlacementSignalHandoffStyle(element);\n}\n\n/**\n * Offsets in the parent layout coordinate system; percentages resolve against the containing box.\n *\n * @see {@link Length}\n * @see {@link SystemStyle}\n */\nexport interface PositioningStyle extends SystemStyle {\n /** Left edge coordinate or inset. See {@link Length}. */\n left?: Exclude<Length, 'auto'>;\n /** Top edge value or top envelope guide. See {@link Length}. */\n top?: Exclude<Length, 'auto'>;\n}\n\nexport interface ResolvedPosition {\n left: number;\n top: number;\n}\n\nexport function resolveStandalonePosition(\n style: Readonly<PositioningStyle>,\n context: Readonly<StyleResolutionContext>,\n): ResolvedPosition {\n return {\n left: resolveLocalOffset(style.left, context.percentageBasis.width, 'left', context),\n top: resolveLocalOffset(style.top, context.percentageBasis.height, 'top', context),\n };\n}\n"],
|
|
5
|
+
"mappings": "AACA;AAAA,EACE;AAAA,EACA;AAAA,OACK;AAEP,SAAS,gBAAgB;AACzB,SAAS,0BAA0B;AAGnC,MAAM,oBAAoB,uBAAO,yBAAyB;AAU1D,IAAI;AAKJ,SAAS,eAAe,OAAwD;AAC9E,MAAI,OAAO,OAAO,OAAO,MAAM,KAAK,OAAO,OAAO,OAAO,KAAK,EAAG,QAAO;AACxE,QAAM,OAAO,MAAM;AACnB,SAAO,MAAM,QAAQ,IAAI,KAAK,KAAK,KAAK,CAAC,SAAS;AAChD,QAAI,CAAC,QAAQ,OAAO,SAAS,SAAU,QAAO;AAC9C,UAAM,QAAS,KAA6B;AAC5C,WAAO,CAAC,CAAC,SAAS,OAAO,UAAU,aAChC,OAAO,OAAO,OAAO,MAAM,KAAK,OAAO,OAAO,OAAO,KAAK;AAAA,EAC/D,CAAC;AACH;AAGO,SAAS,qBACd,OACA,eACG;AACH,MAAI,CAAC,SAAS,OAAO,UAAU,SAAU,QAAO;AAChD,QAAM,YAAY;AAClB,QAAM,QAAQ,UAAU;AACxB,MACE,CAAC,SACD,OAAO,UAAU,YACjB,SAAS,KAAK,KACb,MAAuC,iBAAiB,MAAM,UAC/D,CAAC,eAAe,KAA+C,GAC/D;AACA,WAAO;AAAA,EACT;AACA,SAAO;AAAA,IACL,GAAG;AAAA,IACH,OAAO,OAAO,OAAO;AAAA,MACnB,GAAI;AAAA,MACJ,CAAC,iBAAiB,GAAG,OAAO,OAAO;AAAA,QACjC,QAAQ,iBAAiB;AAAA,MAC3B,CAAC;AAAA,IACH,CAAC;AAAA,EACH;AACF;AAGO,SAAS,6BACd,OACA,eACY;AACZ,QAAM,QAAQ,SAAS,OAAO,UAAU,WACrC,MAAyB,QAAQ;AACpC,QAAM,WAAW;AACjB,wBAAsB,SAAS,SAAS,KAAK,KAAK,kBAAkB,SAAY;AAAA,IAC9E,QAAQ;AAAA,IACR;AAAA,EACF,IAAI;AACJ,SAAO,MAAM;AACX,0BAAsB;AAAA,EACxB;AACF;AAGO,SAAS,wBACd,SACA,OACM;AACN,MAAI,SAAS,UAAU,qBAAqB,QAAQ;AAClD,8BAA0B,SAAS,oBAAoB,aAAa;AAAA,EACtE;AACF;AAGO,SAAS,0BACd,OACmC;AACnC,MAAI,CAAC,SAAS,OAAO,UAAU,SAAU,QAAO;AAChD,QAAM,SAAU,MAAuC,iBAAiB;AACxE,MAAI,CAAC,UAAU,OAAO,WAAW,SAAU,QAAO;AAClD,SAAQ,OAA4B;AACtC;AAGO,SAAS,wBACd,OACuB;AACvB,MAAI,0BAA0B,KAAK,MAAM,OAAW,QAAO;AAC3D,QAAM,iBAAiB,EAAE,GAAI,MAAuC;AACpE,SAAO,eAAe,iBAAiB;AACvC,SAAO,OAAO,OAAO,cAAc;AACrC;AAGO,SAAS,0BACd,SACmC;AACnC,SAAO,+BAA+B,OAAO;AAC/C;AAoBO,SAAS,0BACd,OACA,SACkB;AAClB,SAAO;AAAA,IACL,MAAM,mBAAmB,MAAM,MAAM,QAAQ,gBAAgB,OAAO,QAAQ,OAAO;AAAA,IACnF,KAAK,mBAAmB,MAAM,KAAK,QAAQ,gBAAgB,QAAQ,OAAO,OAAO;AAAA,EACnF;AACF;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { StyleResolutionContext, SystemStyle } from '../types.js';
|
|
2
|
+
import type { Length } from './types.js';
|
|
3
|
+
export declare function stripLayoutParticipation<S extends SystemStyle>(style: Readonly<S>): Record<string, unknown>;
|
|
4
|
+
export declare function resolveRequiredLength(value: Length, reference: number, property: string, context: Readonly<StyleResolutionContext>): number;
|
|
5
|
+
export declare function resolveOptionalLength(value: Length | undefined, reference: number, property: string, context: Readonly<StyleResolutionContext>): number | undefined;
|
|
6
|
+
export declare function resolveLocalOffset(value: Exclude<Length, 'auto'> | undefined, reference: number, property: string, context: Readonly<StyleResolutionContext>): number;
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { layoutDiagnostic } from "./diagnostics.js";
|
|
2
|
+
import { resolveLength } from "./resolve-length.js";
|
|
3
|
+
const LAYOUT_PARTICIPATION_KEYS = /* @__PURE__ */ new Set([
|
|
4
|
+
"width",
|
|
5
|
+
"height",
|
|
6
|
+
"minWidth",
|
|
7
|
+
"maxWidth",
|
|
8
|
+
"minHeight",
|
|
9
|
+
"maxHeight",
|
|
10
|
+
"padding",
|
|
11
|
+
"overflow",
|
|
12
|
+
"left",
|
|
13
|
+
"top",
|
|
14
|
+
"alignSelf",
|
|
15
|
+
"justifySelf",
|
|
16
|
+
"flexBasis",
|
|
17
|
+
"flexGrow",
|
|
18
|
+
"flexShrink",
|
|
19
|
+
"gridColumnStart",
|
|
20
|
+
"gridColumnSpan",
|
|
21
|
+
"gridRowStart",
|
|
22
|
+
"gridRowSpan"
|
|
23
|
+
]);
|
|
24
|
+
function stripLayoutParticipation(style) {
|
|
25
|
+
const result = {};
|
|
26
|
+
for (const [key, value] of Object.entries(style)) {
|
|
27
|
+
if (!LAYOUT_PARTICIPATION_KEYS.has(key)) result[key] = value;
|
|
28
|
+
}
|
|
29
|
+
return result;
|
|
30
|
+
}
|
|
31
|
+
function resolveRequiredLength(value, reference, property, context) {
|
|
32
|
+
const resolved = resolveLength(value, reference, property, context);
|
|
33
|
+
if (resolved === void 0) {
|
|
34
|
+
throw layoutDiagnostic({
|
|
35
|
+
component: context.component,
|
|
36
|
+
property,
|
|
37
|
+
value,
|
|
38
|
+
algorithm: context.algorithm,
|
|
39
|
+
constraints: context.constraints,
|
|
40
|
+
reason: "must resolve to a finite number before rendering"
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
return resolved;
|
|
44
|
+
}
|
|
45
|
+
function resolveOptionalLength(value, reference, property, context) {
|
|
46
|
+
if (value === void 0) return void 0;
|
|
47
|
+
return resolveLength(value, reference, property, context);
|
|
48
|
+
}
|
|
49
|
+
function resolveLocalOffset(value, reference, property, context) {
|
|
50
|
+
return resolveRequiredLength(value ?? 0, reference, property, context);
|
|
51
|
+
}
|
|
52
|
+
export {
|
|
53
|
+
resolveLocalOffset,
|
|
54
|
+
resolveOptionalLength,
|
|
55
|
+
resolveRequiredLength,
|
|
56
|
+
stripLayoutParticipation
|
|
57
|
+
};
|
|
58
|
+
//# sourceMappingURL=resolve-built-in.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/lib/style/resolve-built-in.ts"],
|
|
4
|
+
"sourcesContent": ["import type { StyleResolutionContext, SystemStyle } from '../types.js';\nimport { layoutDiagnostic } from './diagnostics.js';\nimport { resolveLength } from './resolve-length.js';\nimport type { Length } from './types.js';\n\nconst LAYOUT_PARTICIPATION_KEYS = new Set([\n 'width',\n 'height',\n 'minWidth',\n 'maxWidth',\n 'minHeight',\n 'maxHeight',\n 'padding',\n 'overflow',\n 'left',\n 'top',\n 'alignSelf',\n 'justifySelf',\n 'flexBasis',\n 'flexGrow',\n 'flexShrink',\n 'gridColumnStart',\n 'gridColumnSpan',\n 'gridRowStart',\n 'gridRowSpan',\n]);\n\nexport function stripLayoutParticipation<S extends SystemStyle>(\n style: Readonly<S>,\n): Record<string, unknown> {\n const result: Record<string, unknown> = {};\n for (const [key, value] of Object.entries(style)) {\n if (!LAYOUT_PARTICIPATION_KEYS.has(key)) result[key] = value;\n }\n return result;\n}\n\nexport function resolveRequiredLength(\n value: Length,\n reference: number,\n property: string,\n context: Readonly<StyleResolutionContext>,\n): number {\n const resolved = resolveLength(value, reference, property, context);\n if (resolved === undefined) {\n throw layoutDiagnostic({\n component: context.component,\n property,\n value,\n algorithm: context.algorithm,\n constraints: context.constraints,\n reason: 'must resolve to a finite number before rendering',\n });\n }\n return resolved;\n}\n\nexport function resolveOptionalLength(\n value: Length | undefined,\n reference: number,\n property: string,\n context: Readonly<StyleResolutionContext>,\n): number | undefined {\n if (value === undefined) return undefined;\n return resolveLength(value, reference, property, context);\n}\n\nexport function resolveLocalOffset(\n value: Exclude<Length, 'auto'> | undefined,\n reference: number,\n property: string,\n context: Readonly<StyleResolutionContext>,\n): number {\n return resolveRequiredLength(value ?? 0, reference, property, context);\n}\n"],
|
|
5
|
+
"mappings": "AACA,SAAS,wBAAwB;AACjC,SAAS,qBAAqB;AAG9B,MAAM,4BAA4B,oBAAI,IAAI;AAAA,EACxC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;AAEM,SAAS,yBACd,OACyB;AACzB,QAAM,SAAkC,CAAC;AACzC,aAAW,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,KAAK,GAAG;AAChD,QAAI,CAAC,0BAA0B,IAAI,GAAG,EAAG,QAAO,GAAG,IAAI;AAAA,EACzD;AACA,SAAO;AACT;AAEO,SAAS,sBACd,OACA,WACA,UACA,SACQ;AACR,QAAM,WAAW,cAAc,OAAO,WAAW,UAAU,OAAO;AAClE,MAAI,aAAa,QAAW;AAC1B,UAAM,iBAAiB;AAAA,MACrB,WAAW,QAAQ;AAAA,MACnB;AAAA,MACA;AAAA,MACA,WAAW,QAAQ;AAAA,MACnB,aAAa,QAAQ;AAAA,MACrB,QAAQ;AAAA,IACV,CAAC;AAAA,EACH;AACA,SAAO;AACT;AAEO,SAAS,sBACd,OACA,WACA,UACA,SACoB;AACpB,MAAI,UAAU,OAAW,QAAO;AAChC,SAAO,cAAc,OAAO,WAAW,UAAU,OAAO;AAC1D;AAEO,SAAS,mBACd,OACA,WACA,UACA,SACQ;AACR,SAAO,sBAAsB,SAAS,GAAG,WAAW,UAAU,OAAO;AACvE;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { type PreparedQuery } from './responsive.js';
|
|
2
|
+
import type { PibblElement } from '../element/types.js';
|
|
3
|
+
import type { ResolvedStyle, SystemStyle } from '../types.js';
|
|
4
|
+
import type { PibblFilter } from './filter-types.js';
|
|
5
|
+
export interface PreparedStyleInput {
|
|
6
|
+
style: Readonly<SystemStyle>;
|
|
7
|
+
source: PibblElement<any>;
|
|
8
|
+
query?: PreparedQuery;
|
|
9
|
+
}
|
|
10
|
+
/** @internal Carries one normalized style through an internal placement descriptor. */
|
|
11
|
+
export declare function setPreNormalizedStyle(element: PibblElement<any>, style: Readonly<SystemStyle>, source?: PibblElement<any>, receiverToken?: object, query?: PreparedQuery): void;
|
|
12
|
+
/** @internal Consumes an internal normalized-style override exactly once. */
|
|
13
|
+
export declare function takePreNormalizedStyle(element: PibblElement<any>): PreparedStyleInput | undefined;
|
|
14
|
+
/** @internal Registers strings that are data, paint, or enums, not allocation syntax. */
|
|
15
|
+
export declare function registerOpaqueStyleProperties(type: Function, properties: readonly string[]): void;
|
|
16
|
+
/** @internal Reads the framework-owned filter property from a system style. */
|
|
17
|
+
export declare function extractSystemFilter(style: Readonly<SystemStyle>): PibblFilter | readonly PibblFilter[] | undefined;
|
|
18
|
+
/** @internal Removes the framework-owned filter before custom style callbacks run. */
|
|
19
|
+
export declare function withoutSystemFilter(style: Readonly<SystemStyle>): Readonly<SystemStyle>;
|
|
20
|
+
export declare function resolveElementStyle<S extends SystemStyle, N extends SystemStyle, R extends SystemStyle>(element: PibblElement<any>, resolvedSpecifiedStyle?: Readonly<SystemStyle>, hasResolvedSpecifiedStyle?: boolean, prepared?: PreparedStyleInput): ResolvedStyle<R>;
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
import { resolveTransitionBinding } from "../transitions/binding.js";
|
|
2
|
+
import { getLayoutBox, getPercentageBasis } from "../layout/context.js";
|
|
3
|
+
import { EMPTY_STYLE } from "./empty-style.js";
|
|
4
|
+
import {
|
|
5
|
+
getPrimitiveDefinition,
|
|
6
|
+
getSpecifiedStyle,
|
|
7
|
+
setPrimitiveReceiverToken
|
|
8
|
+
} from "../element/metadata.js";
|
|
9
|
+
import { layoutDiagnostic } from "./diagnostics.js";
|
|
10
|
+
import { resolveFilterList } from "./filter.js";
|
|
11
|
+
import { isPlacementConsumed } from "../element/metadata.js";
|
|
12
|
+
import {
|
|
13
|
+
consumePlacementHandoff,
|
|
14
|
+
getPlacementSignalHandoff,
|
|
15
|
+
getPlacementHandoffSource,
|
|
16
|
+
resolveStandalonePosition
|
|
17
|
+
} from "./positioning.js";
|
|
18
|
+
import { CANVAS_2D_BACKEND } from "../backend/canvas-2d-backend.js";
|
|
19
|
+
const opaqueStyleProperties = /* @__PURE__ */ new WeakMap();
|
|
20
|
+
const preNormalizedStyles = /* @__PURE__ */ new WeakMap();
|
|
21
|
+
function setPreNormalizedStyle(element, style, source = element, receiverToken, query) {
|
|
22
|
+
preNormalizedStyles.set(element, { style, source, query });
|
|
23
|
+
if (receiverToken) setPrimitiveReceiverToken(element, receiverToken);
|
|
24
|
+
}
|
|
25
|
+
function takePreNormalizedStyle(element) {
|
|
26
|
+
const value = preNormalizedStyles.get(element);
|
|
27
|
+
preNormalizedStyles.delete(element);
|
|
28
|
+
return value;
|
|
29
|
+
}
|
|
30
|
+
function registerOpaqueStyleProperties(type, properties) {
|
|
31
|
+
opaqueStyleProperties.set(type, new Set(properties));
|
|
32
|
+
}
|
|
33
|
+
function extractSystemFilter(style) {
|
|
34
|
+
return style.filter;
|
|
35
|
+
}
|
|
36
|
+
function withoutSystemFilter(style) {
|
|
37
|
+
if (!("when" in style)) {
|
|
38
|
+
const { filter: _filter2, transition: _transition2, ...withoutFilter2 } = style;
|
|
39
|
+
return Object.freeze(withoutFilter2);
|
|
40
|
+
}
|
|
41
|
+
const { filter: _filter, transition: _transition, when: _when, ...withoutFilter } = style;
|
|
42
|
+
return Object.freeze(withoutFilter);
|
|
43
|
+
}
|
|
44
|
+
function resolveElementStyle(element, resolvedSpecifiedStyle, hasResolvedSpecifiedStyle = false, prepared) {
|
|
45
|
+
const allocation = getLayoutBox();
|
|
46
|
+
const percentageBasis = getPercentageBasis();
|
|
47
|
+
const type = element.type;
|
|
48
|
+
const definition = getPrimitiveDefinition(type);
|
|
49
|
+
if (!definition) {
|
|
50
|
+
throw new Error(
|
|
51
|
+
`${type.name || "Anonymous"} does not have Pibbl primitive metadata`
|
|
52
|
+
);
|
|
53
|
+
}
|
|
54
|
+
const component = type.name || "Anonymous";
|
|
55
|
+
const context = {
|
|
56
|
+
allocation,
|
|
57
|
+
percentageBasis,
|
|
58
|
+
constraints: {
|
|
59
|
+
minWidth: 0,
|
|
60
|
+
maxWidth: allocation.width,
|
|
61
|
+
minHeight: 0,
|
|
62
|
+
maxHeight: allocation.height
|
|
63
|
+
},
|
|
64
|
+
component,
|
|
65
|
+
algorithm: "render-dispatch"
|
|
66
|
+
};
|
|
67
|
+
const preNormalized = prepared;
|
|
68
|
+
const specified = (hasResolvedSpecifiedStyle ? resolvedSpecifiedStyle : getSpecifiedStyle(element)) ?? EMPTY_STYLE;
|
|
69
|
+
const resolvedInput = preNormalized?.style ?? specified;
|
|
70
|
+
const forwardedStyle = getPlacementHandoffSource(
|
|
71
|
+
getSpecifiedStyle(element)
|
|
72
|
+
) ?? getPlacementSignalHandoff(element);
|
|
73
|
+
const handoffStyle = consumePlacementHandoff(resolvedInput);
|
|
74
|
+
const ordinaryFilter = extractSystemFilter(handoffStyle);
|
|
75
|
+
const transitionFilters = handoffStyle.transition === void 0 ? void 0 : resolveTransitionBinding(handoffStyle.transition);
|
|
76
|
+
const combined = transitionFilters?.length ? [...ordinaryFilter === void 0 ? [] : Array.isArray(ordinaryFilter) ? ordinaryFilter : [ordinaryFilter], ...transitionFilters] : ordinaryFilter;
|
|
77
|
+
const systemFilter = resolveFilterList(
|
|
78
|
+
combined,
|
|
79
|
+
context
|
|
80
|
+
);
|
|
81
|
+
const normalized = preNormalized ? withoutSystemFilter(handoffStyle) : definition.normalizeStyle ? definition.normalizeStyle(
|
|
82
|
+
withoutSystemFilter(handoffStyle)
|
|
83
|
+
) : withoutSystemFilter(handoffStyle);
|
|
84
|
+
const resolved = definition.resolveStyle ? definition.resolveStyle(normalized, context) : normalized;
|
|
85
|
+
const positioning = normalized;
|
|
86
|
+
const hasLeft = positioning.left !== void 0;
|
|
87
|
+
const hasTop = positioning.top !== void 0;
|
|
88
|
+
let positioned = resolved;
|
|
89
|
+
if (definition.backend === CANVAS_2D_BACKEND.token && (hasLeft || hasTop)) {
|
|
90
|
+
const standalone = resolveStandalonePosition(normalized, context);
|
|
91
|
+
const forwarded = forwardedStyle;
|
|
92
|
+
const consumesOuterPosition = isPlacementConsumed(element);
|
|
93
|
+
const position = {
|
|
94
|
+
left: consumesOuterPosition || forwarded !== void 0 && Object.is(positioning.left, forwarded.left) ? 0 : standalone.left,
|
|
95
|
+
top: consumesOuterPosition || forwarded !== void 0 && Object.is(positioning.top, forwarded.top) ? 0 : standalone.top
|
|
96
|
+
};
|
|
97
|
+
positioned = {
|
|
98
|
+
...resolved,
|
|
99
|
+
...hasLeft ? { left: position.left } : {},
|
|
100
|
+
...hasTop ? { top: position.top } : {}
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
const final = systemFilter ? { ...positioned, filter: systemFilter.values } : positioned;
|
|
104
|
+
assertResolvedValue(
|
|
105
|
+
final,
|
|
106
|
+
"",
|
|
107
|
+
context,
|
|
108
|
+
/* @__PURE__ */ new Set(),
|
|
109
|
+
opaqueStyleProperties.get(type) ?? /* @__PURE__ */ new Set()
|
|
110
|
+
);
|
|
111
|
+
return final;
|
|
112
|
+
}
|
|
113
|
+
function assertResolvedValue(value, property, context, seen, opaqueProperties) {
|
|
114
|
+
if (typeof value === "number") {
|
|
115
|
+
if (!Number.isFinite(value)) {
|
|
116
|
+
throw unresolvedDiagnostic(property, value, context, "must be finite");
|
|
117
|
+
}
|
|
118
|
+
return;
|
|
119
|
+
}
|
|
120
|
+
if (typeof value === "string") {
|
|
121
|
+
if (!opaqueProperties.has(property) && (value === "auto" || value.endsWith("%"))) {
|
|
122
|
+
throw unresolvedDiagnostic(
|
|
123
|
+
property,
|
|
124
|
+
value,
|
|
125
|
+
context,
|
|
126
|
+
"must resolve before the component callback is invoked"
|
|
127
|
+
);
|
|
128
|
+
}
|
|
129
|
+
return;
|
|
130
|
+
}
|
|
131
|
+
if (!value || typeof value !== "object" || seen.has(value)) return;
|
|
132
|
+
if (property === "custom" || property === "filter") return;
|
|
133
|
+
const prototype = Object.getPrototypeOf(value);
|
|
134
|
+
if (!Array.isArray(value) && prototype !== Object.prototype && prototype !== null) {
|
|
135
|
+
return;
|
|
136
|
+
}
|
|
137
|
+
seen.add(value);
|
|
138
|
+
for (const [key, child] of Object.entries(value)) {
|
|
139
|
+
if (key === "custom") continue;
|
|
140
|
+
assertResolvedValue(
|
|
141
|
+
child,
|
|
142
|
+
property ? `${property}.${key}` : key,
|
|
143
|
+
context,
|
|
144
|
+
seen,
|
|
145
|
+
opaqueProperties
|
|
146
|
+
);
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
function unresolvedDiagnostic(property, value, context, reason) {
|
|
150
|
+
return layoutDiagnostic({
|
|
151
|
+
component: context.component,
|
|
152
|
+
property: property || "style",
|
|
153
|
+
value,
|
|
154
|
+
algorithm: context.algorithm,
|
|
155
|
+
constraints: context.constraints,
|
|
156
|
+
reason
|
|
157
|
+
});
|
|
158
|
+
}
|
|
159
|
+
export {
|
|
160
|
+
extractSystemFilter,
|
|
161
|
+
registerOpaqueStyleProperties,
|
|
162
|
+
resolveElementStyle,
|
|
163
|
+
setPreNormalizedStyle,
|
|
164
|
+
takePreNormalizedStyle,
|
|
165
|
+
withoutSystemFilter
|
|
166
|
+
};
|
|
167
|
+
//# sourceMappingURL=resolve-dispatch.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/lib/style/resolve-dispatch.ts"],
|
|
4
|
+
"sourcesContent": ["import { resolveTransitionBinding } from '../transitions/binding.js';\nimport { type PreparedQuery } from './responsive.js';\nimport { getLayoutBox, getPercentageBasis } from '../layout/context.js';\nimport { EMPTY_STYLE } from './empty-style.js';\nimport {\n getPrimitiveDefinition,\n getSpecifiedStyle,\n setPrimitiveReceiverToken,\n type PrimitiveDefinition,\n} from '../element/metadata.js';\nimport type { PibblElement } from '../element/types.js';\nimport type {\n ResolvedStyle,\n SpecifiedStyle,\n StyleResolutionContext,\n SystemStyle,\n} from '../types.js';\nimport { layoutDiagnostic } from './diagnostics.js';\nimport { resolveFilterList } from './filter.js';\nimport type { PibblFilter } from './filter-types.js';\nimport { isPlacementConsumed } from '../element/metadata.js';\nimport {\n consumePlacementHandoff,\n getPlacementSignalHandoff,\n getPlacementHandoffSource,\n resolveStandalonePosition,\n type PositioningStyle,\n} from './positioning.js';\nimport { CANVAS_2D_BACKEND } from '../backend/canvas-2d-backend.js';\n\nconst opaqueStyleProperties = new WeakMap<Function, ReadonlySet<string>>();\nexport interface PreparedStyleInput {\n style: Readonly<SystemStyle>;\n source: PibblElement<any>;\n query?: PreparedQuery;\n}\nconst preNormalizedStyles = new WeakMap<PibblElement<any>, PreparedStyleInput>();\n\n/** @internal Carries one normalized style through an internal placement descriptor. */\nexport function setPreNormalizedStyle(\n element: PibblElement<any>,\n style: Readonly<SystemStyle>,\n source: PibblElement<any> = element,\n receiverToken?: object,\n query?: PreparedQuery,\n): void {\n preNormalizedStyles.set(element, { style, source, query });\n if (receiverToken) setPrimitiveReceiverToken(element, receiverToken);\n}\n\n/** @internal Consumes an internal normalized-style override exactly once. */\nexport function takePreNormalizedStyle(\n element: PibblElement<any>,\n): PreparedStyleInput | undefined {\n const value = preNormalizedStyles.get(element);\n preNormalizedStyles.delete(element);\n return value;\n}\n\n/** @internal Registers strings that are data, paint, or enums, not allocation syntax. */\nexport function registerOpaqueStyleProperties(\n type: Function,\n properties: readonly string[],\n): void {\n opaqueStyleProperties.set(type, new Set(properties));\n}\n\n/** @internal Reads the framework-owned filter property from a system style. */\nexport function extractSystemFilter(\n style: Readonly<SystemStyle>,\n): PibblFilter | readonly PibblFilter[] | undefined {\n return style.filter;\n}\n\n/** @internal Removes the framework-owned filter before custom style callbacks run. */\nexport function withoutSystemFilter(\n style: Readonly<SystemStyle>,\n): Readonly<SystemStyle> {\n if (!('when' in style)) {\n const { filter: _filter, transition: _transition, ...withoutFilter } = style;\n return Object.freeze(withoutFilter);\n }\n const { filter: _filter, transition: _transition, when: _when, ...withoutFilter } = style as Readonly<SystemStyle> & { when?: unknown };\n return Object.freeze(withoutFilter);\n}\n\nexport function resolveElementStyle<\n S extends SystemStyle,\n N extends SystemStyle,\n R extends SystemStyle,\n>(\n element: PibblElement<any>,\n resolvedSpecifiedStyle?: Readonly<SystemStyle>,\n hasResolvedSpecifiedStyle = false,\n prepared?: PreparedStyleInput,\n): ResolvedStyle<R> {\n const allocation = getLayoutBox();\n const percentageBasis = getPercentageBasis();\n const type = element.type;\n const definition = getPrimitiveDefinition(type) as\n PrimitiveDefinition<any, S, N, R> | undefined;\n if (!definition) {\n throw new Error(\n `${type.name || 'Anonymous'} does not have Pibbl primitive metadata`,\n );\n }\n const component = type.name || 'Anonymous';\n const context: StyleResolutionContext = {\n allocation,\n percentageBasis,\n constraints: {\n minWidth: 0,\n maxWidth: allocation.width,\n minHeight: 0,\n maxHeight: allocation.height,\n },\n component,\n algorithm: 'render-dispatch',\n };\n // The renderer already consumed placement metadata before resolving inputs.\n const preNormalized = prepared;\n const specified = ((hasResolvedSpecifiedStyle ?\n resolvedSpecifiedStyle : getSpecifiedStyle(element)) ?? EMPTY_STYLE) as\n SpecifiedStyle<S>;\n const resolvedInput = preNormalized?.style ?? specified;\n const forwardedStyle = getPlacementHandoffSource(\n getSpecifiedStyle(element),\n ) ?? getPlacementSignalHandoff(element);\n const handoffStyle = consumePlacementHandoff(resolvedInput);\n const ordinaryFilter = extractSystemFilter(handoffStyle);\n const transitionFilters = handoffStyle.transition === undefined ? undefined : resolveTransitionBinding(handoffStyle.transition);\n const combined = transitionFilters?.length ? [...(ordinaryFilter === undefined ? [] : Array.isArray(ordinaryFilter) ? ordinaryFilter : [ordinaryFilter]), ...transitionFilters] : ordinaryFilter;\n const systemFilter = resolveFilterList(\n combined,\n context,\n );\n const normalized = preNormalized ?\n withoutSystemFilter(handoffStyle) as Readonly<N> :\n definition.normalizeStyle ?\n definition.normalizeStyle(\n withoutSystemFilter(handoffStyle) as SpecifiedStyle<S>,\n ) :\n withoutSystemFilter(handoffStyle) as unknown as Readonly<N>;\n const resolved = definition.resolveStyle ?\n definition.resolveStyle(normalized, context) :\n normalized as unknown as ResolvedStyle<R>;\n const positioning = normalized as Readonly<PositioningStyle>;\n const hasLeft = positioning.left !== undefined;\n const hasTop = positioning.top !== undefined;\n let positioned = resolved;\n if (definition.backend === CANVAS_2D_BACKEND.token && (hasLeft || hasTop)) {\n const standalone = resolveStandalonePosition(normalized, context);\n const forwarded = forwardedStyle as Readonly<PositioningStyle> | undefined;\n const consumesOuterPosition = isPlacementConsumed(element);\n const position = {\n left: consumesOuterPosition ||\n (forwarded !== undefined && Object.is(positioning.left, forwarded.left)) ?\n 0 : standalone.left,\n top: consumesOuterPosition ||\n (forwarded !== undefined && Object.is(positioning.top, forwarded.top)) ?\n 0 : standalone.top,\n };\n positioned = {\n ...resolved,\n ...(hasLeft ? { left: position.left } : {}),\n ...(hasTop ? { top: position.top } : {}),\n };\n }\n const final = systemFilter ? { ...positioned, filter: systemFilter.values } : positioned;\n assertResolvedValue(\n final,\n '',\n context,\n new Set(),\n opaqueStyleProperties.get(type) ?? new Set(),\n );\n return final;\n}\n\nfunction assertResolvedValue(\n value: unknown,\n property: string,\n context: Readonly<StyleResolutionContext>,\n seen: Set<object>,\n opaqueProperties: ReadonlySet<string>,\n): void {\n if (typeof value === 'number') {\n if (!Number.isFinite(value)) {\n throw unresolvedDiagnostic(property, value, context, 'must be finite');\n }\n return;\n }\n if (typeof value === 'string') {\n if (\n !opaqueProperties.has(property) &&\n (value === 'auto' || value.endsWith('%'))\n ) {\n throw unresolvedDiagnostic(\n property,\n value,\n context,\n 'must resolve before the component callback is invoked',\n );\n }\n return;\n }\n if (!value || typeof value !== 'object' || seen.has(value)) return;\n if (property === 'custom' || property === 'filter') return;\n const prototype = Object.getPrototypeOf(value);\n if (!Array.isArray(value) && prototype !== Object.prototype && prototype !== null) {\n return;\n }\n seen.add(value);\n for (const [key, child] of Object.entries(value)) {\n if (key === 'custom') continue;\n assertResolvedValue(\n child,\n property ? `${property}.${key}` : key,\n context,\n seen,\n opaqueProperties,\n );\n }\n}\n\nfunction unresolvedDiagnostic(\n property: string,\n value: unknown,\n context: Readonly<StyleResolutionContext>,\n reason: string,\n) {\n return layoutDiagnostic({\n component: context.component,\n property: property || 'style',\n value,\n algorithm: context.algorithm,\n constraints: context.constraints,\n reason,\n });\n}\n"],
|
|
5
|
+
"mappings": "AAAA,SAAS,gCAAgC;AAEzC,SAAS,cAAc,0BAA0B;AACjD,SAAS,mBAAmB;AAC5B;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,OAEK;AAQP,SAAS,wBAAwB;AACjC,SAAS,yBAAyB;AAElC,SAAS,2BAA2B;AACpC;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OAEK;AACP,SAAS,yBAAyB;AAElC,MAAM,wBAAwB,oBAAI,QAAuC;AAMzE,MAAM,sBAAsB,oBAAI,QAA+C;AAGxE,SAAS,sBACd,SACA,OACA,SAA4B,SAC5B,eACA,OACM;AACN,sBAAoB,IAAI,SAAS,EAAE,OAAO,QAAQ,MAAM,CAAC;AACzD,MAAI,cAAe,2BAA0B,SAAS,aAAa;AACrE;AAGO,SAAS,uBACd,SACgC;AAChC,QAAM,QAAQ,oBAAoB,IAAI,OAAO;AAC7C,sBAAoB,OAAO,OAAO;AAClC,SAAO;AACT;AAGO,SAAS,8BACd,MACA,YACM;AACN,wBAAsB,IAAI,MAAM,IAAI,IAAI,UAAU,CAAC;AACrD;AAGO,SAAS,oBACd,OACkD;AAClD,SAAO,MAAM;AACf;AAGO,SAAS,oBACd,OACuB;AACvB,MAAI,EAAE,UAAU,QAAQ;AACtB,UAAM,EAAE,QAAQA,UAAS,YAAYC,cAAa,GAAGC,eAAc,IAAI;AACvE,WAAO,OAAO,OAAOA,cAAa;AAAA,EACpC;AACA,QAAM,EAAE,QAAQ,SAAS,YAAY,aAAa,MAAM,OAAO,GAAG,cAAc,IAAI;AACpF,SAAO,OAAO,OAAO,aAAa;AACpC;AAEO,SAAS,oBAKd,SACA,wBACA,4BAA4B,OAC5B,UACkB;AAClB,QAAM,aAAa,aAAa;AAChC,QAAM,kBAAkB,mBAAmB;AAC3C,QAAM,OAAO,QAAQ;AACrB,QAAM,aAAa,uBAAuB,IAAI;AAE9C,MAAI,CAAC,YAAY;AACf,UAAM,IAAI;AAAA,MACR,GAAG,KAAK,QAAQ,WAAW;AAAA,IAC7B;AAAA,EACF;AACA,QAAM,YAAY,KAAK,QAAQ;AAC/B,QAAM,UAAkC;AAAA,IACtC;AAAA,IACA;AAAA,IACA,aAAa;AAAA,MACX,UAAU;AAAA,MACV,UAAU,WAAW;AAAA,MACrB,WAAW;AAAA,MACX,WAAW,WAAW;AAAA,IACxB;AAAA,IACA;AAAA,IACA,WAAW;AAAA,EACb;AAEA,QAAM,gBAAgB;AACtB,QAAM,aAAc,4BAClB,yBAAyB,kBAAkB,OAAO,MAAM;AAE1D,QAAM,gBAAgB,eAAe,SAAS;AAC9C,QAAM,iBAAiB;AAAA,IACrB,kBAAkB,OAAO;AAAA,EAC3B,KAAK,0BAA0B,OAAO;AACtC,QAAM,eAAe,wBAAwB,aAAa;AAC1D,QAAM,iBAAiB,oBAAoB,YAAY;AACvD,QAAM,oBAAoB,aAAa,eAAe,SAAY,SAAY,yBAAyB,aAAa,UAAU;AAC9H,QAAM,WAAW,mBAAmB,SAAS,CAAC,GAAI,mBAAmB,SAAY,CAAC,IAAI,MAAM,QAAQ,cAAc,IAAI,iBAAiB,CAAC,cAAc,GAAI,GAAG,iBAAiB,IAAI;AAClL,QAAM,eAAe;AAAA,IACnB;AAAA,IACA;AAAA,EACF;AACA,QAAM,aAAa,gBACf,oBAAoB,YAAY,IAClC,WAAW,iBACP,WAAW;AAAA,IACT,oBAAoB,YAAY;AAAA,EAClC,IACA,oBAAoB,YAAY;AACtC,QAAM,WAAW,WAAW,eACxB,WAAW,aAAa,YAAY,OAAO,IAC3C;AACJ,QAAM,cAAc;AACpB,QAAM,UAAU,YAAY,SAAS;AACrC,QAAM,SAAS,YAAY,QAAQ;AACnC,MAAI,aAAa;AACjB,MAAI,WAAW,YAAY,kBAAkB,UAAU,WAAW,SAAS;AACzE,UAAM,aAAa,0BAA0B,YAAY,OAAO;AAChE,UAAM,YAAY;AAClB,UAAM,wBAAwB,oBAAoB,OAAO;AACzD,UAAM,WAAW;AAAA,MACf,MAAM,yBACH,cAAc,UAAa,OAAO,GAAG,YAAY,MAAM,UAAU,IAAI,IACtE,IAAI,WAAW;AAAA,MACjB,KAAK,yBACF,cAAc,UAAa,OAAO,GAAG,YAAY,KAAK,UAAU,GAAG,IACpE,IAAI,WAAW;AAAA,IACnB;AACA,iBAAa;AAAA,MACX,GAAG;AAAA,MACH,GAAI,UAAU,EAAE,MAAM,SAAS,KAAK,IAAI,CAAC;AAAA,MACzC,GAAI,SAAS,EAAE,KAAK,SAAS,IAAI,IAAI,CAAC;AAAA,IACxC;AAAA,EACF;AACA,QAAM,QAAQ,eAAe,EAAE,GAAG,YAAY,QAAQ,aAAa,OAAO,IAAI;AAC9E;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA,oBAAI,IAAI;AAAA,IACR,sBAAsB,IAAI,IAAI,KAAK,oBAAI,IAAI;AAAA,EAC7C;AACA,SAAO;AACT;AAEA,SAAS,oBACP,OACA,UACA,SACA,MACA,kBACM;AACN,MAAI,OAAO,UAAU,UAAU;AAC7B,QAAI,CAAC,OAAO,SAAS,KAAK,GAAG;AAC3B,YAAM,qBAAqB,UAAU,OAAO,SAAS,gBAAgB;AAAA,IACvE;AACA;AAAA,EACF;AACA,MAAI,OAAO,UAAU,UAAU;AAC7B,QACE,CAAC,iBAAiB,IAAI,QAAQ,MAC7B,UAAU,UAAU,MAAM,SAAS,GAAG,IACvC;AACA,YAAM;AAAA,QACJ;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AACA;AAAA,EACF;AACA,MAAI,CAAC,SAAS,OAAO,UAAU,YAAY,KAAK,IAAI,KAAK,EAAG;AAC5D,MAAI,aAAa,YAAY,aAAa,SAAU;AACpD,QAAM,YAAY,OAAO,eAAe,KAAK;AAC7C,MAAI,CAAC,MAAM,QAAQ,KAAK,KAAK,cAAc,OAAO,aAAa,cAAc,MAAM;AACjF;AAAA,EACF;AACA,OAAK,IAAI,KAAK;AACd,aAAW,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,KAAK,GAAG;AAChD,QAAI,QAAQ,SAAU;AACtB;AAAA,MACE;AAAA,MACA,WAAW,GAAG,QAAQ,IAAI,GAAG,KAAK;AAAA,MAClC;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AACF;AAEA,SAAS,qBACP,UACA,OACA,SACA,QACA;AACA,SAAO,iBAAiB;AAAA,IACtB,WAAW,QAAQ;AAAA,IACnB,UAAU,YAAY;AAAA,IACtB;AAAA,IACA,WAAW,QAAQ;AAAA,IACnB,aAAa,QAAQ;AAAA,IACrB;AAAA,EACF,CAAC;AACH;",
|
|
6
|
+
"names": ["_filter", "_transition", "withoutFilter"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { type LayoutDiagnosticContext } from './diagnostics.js';
|
|
2
|
+
import type { Length } from './types.js';
|
|
3
|
+
/**
|
|
4
|
+
* Resolves a numeric or percentage length; automatic sizing returns undefined.
|
|
5
|
+
*
|
|
6
|
+
* @param value - Logical length or percentage to resolve. See {@link Length}.
|
|
7
|
+
* @param reference - Reference length for percentages, or undefined if unavailable.
|
|
8
|
+
* @param property - Property name used in diagnostics.
|
|
9
|
+
* @param context - Component and property context for diagnostic messages. See
|
|
10
|
+
* {@link LayoutDiagnosticContext} .
|
|
11
|
+
* @returns The resolved logical length, or undefined for an unresolved automatic length.
|
|
12
|
+
*
|
|
13
|
+
* @see {@link Length}
|
|
14
|
+
* @see {@link LayoutDiagnosticContext}
|
|
15
|
+
*/
|
|
16
|
+
export declare function resolveLength(value: Length, reference: number | undefined, property: string, context?: Readonly<LayoutDiagnosticContext>): number | undefined;
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import {
|
|
2
|
+
layoutDiagnostic
|
|
3
|
+
} from "./diagnostics.js";
|
|
4
|
+
const DECIMAL_PERCENTAGE = /^[+-]?(?:\d+(?:\.\d+)?|\.\d+)%$/;
|
|
5
|
+
function resolveLength(value, reference, property, context = {}) {
|
|
6
|
+
if (value === "auto") return void 0;
|
|
7
|
+
if (typeof value === "number") {
|
|
8
|
+
if (!Number.isFinite(value)) {
|
|
9
|
+
throw diagnostic(property, value, "must be a finite number", context);
|
|
10
|
+
}
|
|
11
|
+
return value;
|
|
12
|
+
}
|
|
13
|
+
if (typeof value !== "string" || !DECIMAL_PERCENTAGE.test(value)) {
|
|
14
|
+
throw diagnostic(
|
|
15
|
+
property,
|
|
16
|
+
value,
|
|
17
|
+
`uses an unsupported length value ${String(value)}`,
|
|
18
|
+
context
|
|
19
|
+
);
|
|
20
|
+
}
|
|
21
|
+
if (reference === void 0 || !Number.isFinite(reference)) {
|
|
22
|
+
throw diagnostic(
|
|
23
|
+
property,
|
|
24
|
+
value,
|
|
25
|
+
"requires a definite finite percentage reference",
|
|
26
|
+
context
|
|
27
|
+
);
|
|
28
|
+
}
|
|
29
|
+
if (reference < 0) {
|
|
30
|
+
throw diagnostic(
|
|
31
|
+
property,
|
|
32
|
+
value,
|
|
33
|
+
"percentage reference must be nonnegative",
|
|
34
|
+
context
|
|
35
|
+
);
|
|
36
|
+
}
|
|
37
|
+
const resolved = Number.parseFloat(value) / 100 * reference;
|
|
38
|
+
if (!Number.isFinite(resolved)) {
|
|
39
|
+
throw diagnostic(
|
|
40
|
+
property,
|
|
41
|
+
value,
|
|
42
|
+
"resolved percentage arithmetic must remain finite",
|
|
43
|
+
context
|
|
44
|
+
);
|
|
45
|
+
}
|
|
46
|
+
return resolved;
|
|
47
|
+
}
|
|
48
|
+
function diagnostic(property, value, reason, context) {
|
|
49
|
+
return layoutDiagnostic({ ...context, property, value, reason });
|
|
50
|
+
}
|
|
51
|
+
export {
|
|
52
|
+
resolveLength
|
|
53
|
+
};
|
|
54
|
+
//# sourceMappingURL=resolve-length.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/lib/style/resolve-length.ts"],
|
|
4
|
+
"sourcesContent": ["import {\n layoutDiagnostic,\n type LayoutDiagnosticContext,\n} from './diagnostics.js';\nimport type { Length } from './types.js';\n\nconst DECIMAL_PERCENTAGE = /^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)%$/;\n\n/**\n * Resolves a numeric or percentage length; automatic sizing returns undefined.\n *\n * @param value - Logical length or percentage to resolve. See {@link Length}.\n * @param reference - Reference length for percentages, or undefined if unavailable.\n * @param property - Property name used in diagnostics.\n * @param context - Component and property context for diagnostic messages. See\n * {@link LayoutDiagnosticContext} .\n * @returns The resolved logical length, or undefined for an unresolved automatic length.\n *\n * @see {@link Length}\n * @see {@link LayoutDiagnosticContext}\n */\nexport function resolveLength(\n value: Length,\n reference: number | undefined,\n property: string,\n context: Readonly<LayoutDiagnosticContext> = {},\n): number | undefined {\n if (value === 'auto') return undefined;\n\n if (typeof value === 'number') {\n if (!Number.isFinite(value)) {\n throw diagnostic(property, value, 'must be a finite number', context);\n }\n return value;\n }\n\n if (typeof value !== 'string' || !DECIMAL_PERCENTAGE.test(value)) {\n throw diagnostic(\n property,\n value,\n `uses an unsupported length value ${String(value)}`,\n context,\n );\n }\n\n if (reference === undefined || !Number.isFinite(reference)) {\n throw diagnostic(\n property,\n value,\n 'requires a definite finite percentage reference',\n context,\n );\n }\n if (reference < 0) {\n throw diagnostic(\n property,\n value,\n 'percentage reference must be nonnegative',\n context,\n );\n }\n\n const resolved = (Number.parseFloat(value) / 100) * reference;\n if (!Number.isFinite(resolved)) {\n throw diagnostic(\n property,\n value,\n 'resolved percentage arithmetic must remain finite',\n context,\n );\n }\n return resolved;\n}\n\nfunction diagnostic(\n property: string,\n value: unknown,\n reason: string,\n context: Readonly<LayoutDiagnosticContext>,\n) {\n return layoutDiagnostic({ ...context, property, value, reason });\n}\n"],
|
|
5
|
+
"mappings": "AAAA;AAAA,EACE;AAAA,OAEK;AAGP,MAAM,qBAAqB;AAepB,SAAS,cACd,OACA,WACA,UACA,UAA6C,CAAC,GAC1B;AACpB,MAAI,UAAU,OAAQ,QAAO;AAE7B,MAAI,OAAO,UAAU,UAAU;AAC7B,QAAI,CAAC,OAAO,SAAS,KAAK,GAAG;AAC3B,YAAM,WAAW,UAAU,OAAO,2BAA2B,OAAO;AAAA,IACtE;AACA,WAAO;AAAA,EACT;AAEA,MAAI,OAAO,UAAU,YAAY,CAAC,mBAAmB,KAAK,KAAK,GAAG;AAChE,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA,oCAAoC,OAAO,KAAK,CAAC;AAAA,MACjD;AAAA,IACF;AAAA,EACF;AAEA,MAAI,cAAc,UAAa,CAAC,OAAO,SAAS,SAAS,GAAG;AAC1D,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AACA,MAAI,YAAY,GAAG;AACjB,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAEA,QAAM,WAAY,OAAO,WAAW,KAAK,IAAI,MAAO;AACpD,MAAI,CAAC,OAAO,SAAS,QAAQ,GAAG;AAC9B,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AACA,SAAO;AACT;AAEA,SAAS,WACP,UACA,OACA,QACA,SACA;AACA,SAAO,iBAAiB,EAAE,GAAG,SAAS,UAAU,OAAO,OAAO,CAAC;AACjE;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { PibblElement } from '../element/types.js';
|
|
2
|
+
export interface QueryBasis {
|
|
3
|
+
readonly width: number;
|
|
4
|
+
readonly height: number;
|
|
5
|
+
}
|
|
6
|
+
export interface PreparedQuery {
|
|
7
|
+
readonly basis: QueryBasis;
|
|
8
|
+
readonly axes: number;
|
|
9
|
+
}
|
|
10
|
+
/** A single evaluation's selected style; never indexed by receiver identity. */
|
|
11
|
+
export declare class ResponsiveStylePreparation<T extends object = Readonly<Record<PropertyKey, unknown>>> {
|
|
12
|
+
style: T;
|
|
13
|
+
readonly query: PreparedQuery;
|
|
14
|
+
constructor(style: T, query: PreparedQuery);
|
|
15
|
+
}
|
|
16
|
+
export declare function preparedStyleValue<T extends object>(value: T | ResponsiveStylePreparation<T>): T;
|
|
17
|
+
export declare function preparedStyleQuery(value: object): PreparedQuery | undefined;
|
|
18
|
+
export type StyleMeasurementMode = 'standalone-root' | 'mounted-intrinsic' | 'recursive';
|
|
19
|
+
export declare function getStyleMeasurementMode(): StyleMeasurementMode | undefined;
|
|
20
|
+
export declare function withStyleMeasurement<T>(mode: StyleMeasurementMode, work: () => T): T;
|
|
21
|
+
export declare class UnsupportedResponsiveMeasurement extends Error {
|
|
22
|
+
}
|
|
23
|
+
export declare function rejectResponsiveMeasurement(element?: PibblElement<any>): never;
|
|
24
|
+
export declare function responsiveStyleSnapshot(): {
|
|
25
|
+
preparations: number;
|
|
26
|
+
rules: number;
|
|
27
|
+
patchFields: number;
|
|
28
|
+
mergeCopies: number;
|
|
29
|
+
};
|
|
30
|
+
/** Selects a closed local rule list; ordinary styles bypass this function. */
|
|
31
|
+
export declare function resolveResponsiveStyle(source: Readonly<Record<PropertyKey, unknown>>, element?: PibblElement<any>, suppliedBasis?: QueryBasis): Readonly<Record<PropertyKey, unknown>> | ResponsiveStylePreparation;
|