@motion-script/core 0.1.0
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/README.md +69 -0
- package/dist/assets/catalog.d.ts +83 -0
- package/dist/assets/catalog.d.ts.map +1 -0
- package/dist/assets/catalog.js +110 -0
- package/dist/assets/catalog.js.map +1 -0
- package/dist/assets/index.d.ts +5 -0
- package/dist/assets/index.d.ts.map +1 -0
- package/dist/assets/index.js +4 -0
- package/dist/assets/index.js.map +1 -0
- package/dist/assets/manager.d.ts +32 -0
- package/dist/assets/manager.d.ts.map +1 -0
- package/dist/assets/manager.js +108 -0
- package/dist/assets/manager.js.map +1 -0
- package/dist/assets/manager.test.d.ts +2 -0
- package/dist/assets/manager.test.d.ts.map +1 -0
- package/dist/assets/manager.test.js +133 -0
- package/dist/assets/manager.test.js.map +1 -0
- package/dist/assets/manifest.d.ts +38 -0
- package/dist/assets/manifest.d.ts.map +1 -0
- package/dist/assets/manifest.js +2 -0
- package/dist/assets/manifest.js.map +1 -0
- package/dist/assets/record.d.ts +40 -0
- package/dist/assets/record.d.ts.map +1 -0
- package/dist/assets/record.js +2 -0
- package/dist/assets/record.js.map +1 -0
- package/dist/assets/tracker.d.ts +69 -0
- package/dist/assets/tracker.d.ts.map +1 -0
- package/dist/assets/tracker.js +178 -0
- package/dist/assets/tracker.js.map +1 -0
- package/dist/attributes/audio/request.d.ts +21 -0
- package/dist/attributes/audio/request.d.ts.map +1 -0
- package/dist/attributes/audio/request.js +2 -0
- package/dist/attributes/audio/request.js.map +1 -0
- package/dist/attributes/audio/sound.d.ts +83 -0
- package/dist/attributes/audio/sound.d.ts.map +1 -0
- package/dist/attributes/audio/sound.js +106 -0
- package/dist/attributes/audio/sound.js.map +1 -0
- package/dist/attributes/index.d.ts +18 -0
- package/dist/attributes/index.d.ts.map +1 -0
- package/dist/attributes/index.js +17 -0
- package/dist/attributes/index.js.map +1 -0
- package/dist/attributes/layout/bounds.d.ts +12 -0
- package/dist/attributes/layout/bounds.d.ts.map +1 -0
- package/dist/attributes/layout/bounds.js +2 -0
- package/dist/attributes/layout/bounds.js.map +1 -0
- package/dist/attributes/layout/constraints.d.ts +6 -0
- package/dist/attributes/layout/constraints.d.ts.map +1 -0
- package/dist/attributes/layout/constraints.js +2 -0
- package/dist/attributes/layout/constraints.js.map +1 -0
- package/dist/attributes/layout/index.d.ts +6 -0
- package/dist/attributes/layout/index.d.ts.map +1 -0
- package/dist/attributes/layout/index.js +2 -0
- package/dist/attributes/layout/index.js.map +1 -0
- package/dist/attributes/layout/padding.d.ts +26 -0
- package/dist/attributes/layout/padding.d.ts.map +1 -0
- package/dist/attributes/layout/padding.js +17 -0
- package/dist/attributes/layout/padding.js.map +1 -0
- package/dist/attributes/layout/padding.test.d.ts +2 -0
- package/dist/attributes/layout/padding.test.d.ts.map +1 -0
- package/dist/attributes/layout/padding.test.js +32 -0
- package/dist/attributes/layout/padding.test.js.map +1 -0
- package/dist/attributes/layout/size.d.ts +14 -0
- package/dist/attributes/layout/size.d.ts.map +1 -0
- package/dist/attributes/layout/size.js +2 -0
- package/dist/attributes/layout/size.js.map +1 -0
- package/dist/attributes/layout/vector2.d.ts +8 -0
- package/dist/attributes/layout/vector2.d.ts.map +1 -0
- package/dist/attributes/layout/vector2.js +8 -0
- package/dist/attributes/layout/vector2.js.map +1 -0
- package/dist/attributes/layout/vector2.test.d.ts +2 -0
- package/dist/attributes/layout/vector2.test.d.ts.map +1 -0
- package/dist/attributes/layout/vector2.test.js +23 -0
- package/dist/attributes/layout/vector2.test.js.map +1 -0
- package/dist/attributes/mask/boolean.d.ts +2 -0
- package/dist/attributes/mask/boolean.d.ts.map +1 -0
- package/dist/attributes/mask/boolean.js +2 -0
- package/dist/attributes/mask/boolean.js.map +1 -0
- package/dist/attributes/mask/mask.d.ts +9 -0
- package/dist/attributes/mask/mask.d.ts.map +1 -0
- package/dist/attributes/mask/mask.js +2 -0
- package/dist/attributes/mask/mask.js.map +1 -0
- package/dist/attributes/properties/decorator.d.ts +45 -0
- package/dist/attributes/properties/decorator.d.ts.map +1 -0
- package/dist/attributes/properties/decorator.js +72 -0
- package/dist/attributes/properties/decorator.js.map +1 -0
- package/dist/attributes/properties/decorator.test.d.ts +2 -0
- package/dist/attributes/properties/decorator.test.d.ts.map +1 -0
- package/dist/attributes/properties/decorator.test.js +52 -0
- package/dist/attributes/properties/decorator.test.js.map +1 -0
- package/dist/attributes/shape/corners/border-radius.d.ts +32 -0
- package/dist/attributes/shape/corners/border-radius.d.ts.map +1 -0
- package/dist/attributes/shape/corners/border-radius.js +50 -0
- package/dist/attributes/shape/corners/border-radius.js.map +1 -0
- package/dist/attributes/shape/corners/border-radius.test.d.ts +2 -0
- package/dist/attributes/shape/corners/border-radius.test.d.ts.map +1 -0
- package/dist/attributes/shape/corners/border-radius.test.js +52 -0
- package/dist/attributes/shape/corners/border-radius.test.js.map +1 -0
- package/dist/attributes/shape/corners/index.d.ts +2 -0
- package/dist/attributes/shape/corners/index.d.ts.map +1 -0
- package/dist/attributes/shape/corners/index.js +2 -0
- package/dist/attributes/shape/corners/index.js.map +1 -0
- package/dist/attributes/shape/effects/chain.d.ts +145 -0
- package/dist/attributes/shape/effects/chain.d.ts.map +1 -0
- package/dist/attributes/shape/effects/chain.js +163 -0
- package/dist/attributes/shape/effects/chain.js.map +1 -0
- package/dist/attributes/shape/effects/chain.test.d.ts +2 -0
- package/dist/attributes/shape/effects/chain.test.d.ts.map +1 -0
- package/dist/attributes/shape/effects/chain.test.js +63 -0
- package/dist/attributes/shape/effects/chain.test.js.map +1 -0
- package/dist/attributes/shape/effects/effect-data.d.ts +18 -0
- package/dist/attributes/shape/effects/effect-data.d.ts.map +1 -0
- package/dist/attributes/shape/effects/effect-data.js +2 -0
- package/dist/attributes/shape/effects/effect-data.js.map +1 -0
- package/dist/attributes/shape/effects/implementations/background-blur.d.ts +13 -0
- package/dist/attributes/shape/effects/implementations/background-blur.d.ts.map +1 -0
- package/dist/attributes/shape/effects/implementations/background-blur.js +6 -0
- package/dist/attributes/shape/effects/implementations/background-blur.js.map +1 -0
- package/dist/attributes/shape/effects/implementations/bloom.d.ts +12 -0
- package/dist/attributes/shape/effects/implementations/bloom.d.ts.map +1 -0
- package/dist/attributes/shape/effects/implementations/bloom.js +11 -0
- package/dist/attributes/shape/effects/implementations/bloom.js.map +1 -0
- package/dist/attributes/shape/effects/implementations/blur.d.ts +7 -0
- package/dist/attributes/shape/effects/implementations/blur.d.ts.map +1 -0
- package/dist/attributes/shape/effects/implementations/blur.js +6 -0
- package/dist/attributes/shape/effects/implementations/blur.js.map +1 -0
- package/dist/attributes/shape/effects/implementations/bulge-pinch.d.ts +13 -0
- package/dist/attributes/shape/effects/implementations/bulge-pinch.d.ts.map +1 -0
- package/dist/attributes/shape/effects/implementations/bulge-pinch.js +15 -0
- package/dist/attributes/shape/effects/implementations/bulge-pinch.js.map +1 -0
- package/dist/attributes/shape/effects/implementations/chromatic-aberration.d.ts +10 -0
- package/dist/attributes/shape/effects/implementations/chromatic-aberration.d.ts.map +1 -0
- package/dist/attributes/shape/effects/implementations/chromatic-aberration.js +10 -0
- package/dist/attributes/shape/effects/implementations/chromatic-aberration.js.map +1 -0
- package/dist/attributes/shape/effects/implementations/grayscale.d.ts +7 -0
- package/dist/attributes/shape/effects/implementations/grayscale.d.ts.map +1 -0
- package/dist/attributes/shape/effects/implementations/grayscale.js +6 -0
- package/dist/attributes/shape/effects/implementations/grayscale.js.map +1 -0
- package/dist/attributes/shape/effects/implementations/pixelate.d.ts +8 -0
- package/dist/attributes/shape/effects/implementations/pixelate.d.ts.map +1 -0
- package/dist/attributes/shape/effects/implementations/pixelate.js +10 -0
- package/dist/attributes/shape/effects/implementations/pixelate.js.map +1 -0
- package/dist/attributes/shape/effects/implementations/sksl.d.ts +39 -0
- package/dist/attributes/shape/effects/implementations/sksl.d.ts.map +1 -0
- package/dist/attributes/shape/effects/implementations/sksl.js +48 -0
- package/dist/attributes/shape/effects/implementations/sksl.js.map +1 -0
- package/dist/attributes/shape/effects/implementations/texture.d.ts +9 -0
- package/dist/attributes/shape/effects/implementations/texture.d.ts.map +1 -0
- package/dist/attributes/shape/effects/implementations/texture.js +11 -0
- package/dist/attributes/shape/effects/implementations/texture.js.map +1 -0
- package/dist/attributes/shape/effects/implementations/vintage.d.ts +10 -0
- package/dist/attributes/shape/effects/implementations/vintage.d.ts.map +1 -0
- package/dist/attributes/shape/effects/implementations/vintage.js +10 -0
- package/dist/attributes/shape/effects/implementations/vintage.js.map +1 -0
- package/dist/attributes/shape/effects/implementations/zoom.d.ts +14 -0
- package/dist/attributes/shape/effects/implementations/zoom.d.ts.map +1 -0
- package/dist/attributes/shape/effects/implementations/zoom.js +13 -0
- package/dist/attributes/shape/effects/implementations/zoom.js.map +1 -0
- package/dist/attributes/shape/effects/index.d.ts +19 -0
- package/dist/attributes/shape/effects/index.d.ts.map +1 -0
- package/dist/attributes/shape/effects/index.js +4 -0
- package/dist/attributes/shape/effects/index.js.map +1 -0
- package/dist/attributes/shape/effects/registry.d.ts +4 -0
- package/dist/attributes/shape/effects/registry.d.ts.map +1 -0
- package/dist/attributes/shape/effects/registry.js +51 -0
- package/dist/attributes/shape/effects/registry.js.map +1 -0
- package/dist/attributes/shape/effects/union.d.ts +14 -0
- package/dist/attributes/shape/effects/union.d.ts.map +1 -0
- package/dist/attributes/shape/effects/union.js +2 -0
- package/dist/attributes/shape/effects/union.js.map +1 -0
- package/dist/attributes/shape/fill/blend.d.ts +13 -0
- package/dist/attributes/shape/fill/blend.d.ts.map +1 -0
- package/dist/attributes/shape/fill/blend.js +32 -0
- package/dist/attributes/shape/fill/blend.js.map +1 -0
- package/dist/attributes/shape/fill/blend.test.d.ts +2 -0
- package/dist/attributes/shape/fill/blend.test.d.ts.map +1 -0
- package/dist/attributes/shape/fill/blend.test.js +18 -0
- package/dist/attributes/shape/fill/blend.test.js.map +1 -0
- package/dist/attributes/shape/fill/chain.d.ts +127 -0
- package/dist/attributes/shape/fill/chain.d.ts.map +1 -0
- package/dist/attributes/shape/fill/chain.js +116 -0
- package/dist/attributes/shape/fill/chain.js.map +1 -0
- package/dist/attributes/shape/fill/chain.test.d.ts +2 -0
- package/dist/attributes/shape/fill/chain.test.d.ts.map +1 -0
- package/dist/attributes/shape/fill/chain.test.js +92 -0
- package/dist/attributes/shape/fill/chain.test.js.map +1 -0
- package/dist/attributes/shape/fill/color/constants.d.ts +13 -0
- package/dist/attributes/shape/fill/color/constants.d.ts.map +1 -0
- package/dist/attributes/shape/fill/color/constants.js +162 -0
- package/dist/attributes/shape/fill/color/constants.js.map +1 -0
- package/dist/attributes/shape/fill/color/parser.d.ts +39 -0
- package/dist/attributes/shape/fill/color/parser.d.ts.map +1 -0
- package/dist/attributes/shape/fill/color/parser.js +212 -0
- package/dist/attributes/shape/fill/color/parser.js.map +1 -0
- package/dist/attributes/shape/fill/color/parser.test.d.ts +2 -0
- package/dist/attributes/shape/fill/color/parser.test.d.ts.map +1 -0
- package/dist/attributes/shape/fill/color/parser.test.js +99 -0
- package/dist/attributes/shape/fill/color/parser.test.js.map +1 -0
- package/dist/attributes/shape/fill/implementations/color.d.ts +17 -0
- package/dist/attributes/shape/fill/implementations/color.d.ts.map +1 -0
- package/dist/attributes/shape/fill/implementations/color.js +24 -0
- package/dist/attributes/shape/fill/implementations/color.js.map +1 -0
- package/dist/attributes/shape/fill/implementations/conic-gradient.d.ts +24 -0
- package/dist/attributes/shape/fill/implementations/conic-gradient.d.ts.map +1 -0
- package/dist/attributes/shape/fill/implementations/conic-gradient.js +33 -0
- package/dist/attributes/shape/fill/implementations/conic-gradient.js.map +1 -0
- package/dist/attributes/shape/fill/implementations/image.d.ts +27 -0
- package/dist/attributes/shape/fill/implementations/image.d.ts.map +1 -0
- package/dist/attributes/shape/fill/implementations/image.js +16 -0
- package/dist/attributes/shape/fill/implementations/image.js.map +1 -0
- package/dist/attributes/shape/fill/implementations/linear-gradient.d.ts +24 -0
- package/dist/attributes/shape/fill/implementations/linear-gradient.d.ts.map +1 -0
- package/dist/attributes/shape/fill/implementations/linear-gradient.js +33 -0
- package/dist/attributes/shape/fill/implementations/linear-gradient.js.map +1 -0
- package/dist/attributes/shape/fill/implementations/noise.d.ts +22 -0
- package/dist/attributes/shape/fill/implementations/noise.d.ts.map +1 -0
- package/dist/attributes/shape/fill/implementations/noise.js +35 -0
- package/dist/attributes/shape/fill/implementations/noise.js.map +1 -0
- package/dist/attributes/shape/fill/implementations/radial-gradient.d.ts +24 -0
- package/dist/attributes/shape/fill/implementations/radial-gradient.d.ts.map +1 -0
- package/dist/attributes/shape/fill/implementations/radial-gradient.js +33 -0
- package/dist/attributes/shape/fill/implementations/radial-gradient.js.map +1 -0
- package/dist/attributes/shape/fill/implementations/stripe.d.ts +23 -0
- package/dist/attributes/shape/fill/implementations/stripe.d.ts.map +1 -0
- package/dist/attributes/shape/fill/implementations/stripe.js +36 -0
- package/dist/attributes/shape/fill/implementations/stripe.js.map +1 -0
- package/dist/attributes/shape/fill/implementations/video.d.ts +41 -0
- package/dist/attributes/shape/fill/implementations/video.d.ts.map +1 -0
- package/dist/attributes/shape/fill/implementations/video.js +51 -0
- package/dist/attributes/shape/fill/implementations/video.js.map +1 -0
- package/dist/attributes/shape/fill/index.d.ts +18 -0
- package/dist/attributes/shape/fill/index.d.ts.map +1 -0
- package/dist/attributes/shape/fill/index.js +5 -0
- package/dist/attributes/shape/fill/index.js.map +1 -0
- package/dist/attributes/shape/fill/lerp.d.ts +11 -0
- package/dist/attributes/shape/fill/lerp.d.ts.map +1 -0
- package/dist/attributes/shape/fill/lerp.js +17 -0
- package/dist/attributes/shape/fill/lerp.js.map +1 -0
- package/dist/attributes/shape/fill/lerp.test.d.ts +2 -0
- package/dist/attributes/shape/fill/lerp.test.d.ts.map +1 -0
- package/dist/attributes/shape/fill/lerp.test.js +18 -0
- package/dist/attributes/shape/fill/lerp.test.js.map +1 -0
- package/dist/attributes/shape/fill/registry.d.ts +28 -0
- package/dist/attributes/shape/fill/registry.d.ts.map +1 -0
- package/dist/attributes/shape/fill/registry.js +83 -0
- package/dist/attributes/shape/fill/registry.js.map +1 -0
- package/dist/attributes/shape/fill/union.d.ts +50 -0
- package/dist/attributes/shape/fill/union.d.ts.map +1 -0
- package/dist/attributes/shape/fill/union.js +11 -0
- package/dist/attributes/shape/fill/union.js.map +1 -0
- package/dist/attributes/shape/filters/chain.d.ts +65 -0
- package/dist/attributes/shape/filters/chain.d.ts.map +1 -0
- package/dist/attributes/shape/filters/chain.js +83 -0
- package/dist/attributes/shape/filters/chain.js.map +1 -0
- package/dist/attributes/shape/filters/chain.test.d.ts +2 -0
- package/dist/attributes/shape/filters/chain.test.d.ts.map +1 -0
- package/dist/attributes/shape/filters/chain.test.js +49 -0
- package/dist/attributes/shape/filters/chain.test.js.map +1 -0
- package/dist/attributes/shape/filters/implementations/alpha.d.ts +7 -0
- package/dist/attributes/shape/filters/implementations/alpha.d.ts.map +1 -0
- package/dist/attributes/shape/filters/implementations/alpha.js +7 -0
- package/dist/attributes/shape/filters/implementations/alpha.js.map +1 -0
- package/dist/attributes/shape/filters/implementations/blur.d.ts +7 -0
- package/dist/attributes/shape/filters/implementations/blur.d.ts.map +1 -0
- package/dist/attributes/shape/filters/implementations/blur.js +7 -0
- package/dist/attributes/shape/filters/implementations/blur.js.map +1 -0
- package/dist/attributes/shape/filters/implementations/color-adjustment.d.ts +26 -0
- package/dist/attributes/shape/filters/implementations/color-adjustment.d.ts.map +1 -0
- package/dist/attributes/shape/filters/implementations/color-adjustment.js +26 -0
- package/dist/attributes/shape/filters/implementations/color-adjustment.js.map +1 -0
- package/dist/attributes/shape/filters/implementations/color-matrix.d.ts +13 -0
- package/dist/attributes/shape/filters/implementations/color-matrix.d.ts.map +1 -0
- package/dist/attributes/shape/filters/implementations/color-matrix.js +12 -0
- package/dist/attributes/shape/filters/implementations/color-matrix.js.map +1 -0
- package/dist/attributes/shape/filters/implementations/curves.d.ts +17 -0
- package/dist/attributes/shape/filters/implementations/curves.d.ts.map +1 -0
- package/dist/attributes/shape/filters/implementations/curves.js +18 -0
- package/dist/attributes/shape/filters/implementations/curves.js.map +1 -0
- package/dist/attributes/shape/filters/implementations/exposure.d.ts +7 -0
- package/dist/attributes/shape/filters/implementations/exposure.d.ts.map +1 -0
- package/dist/attributes/shape/filters/implementations/exposure.js +7 -0
- package/dist/attributes/shape/filters/implementations/exposure.js.map +1 -0
- package/dist/attributes/shape/filters/implementations/grayscale.d.ts +7 -0
- package/dist/attributes/shape/filters/implementations/grayscale.d.ts.map +1 -0
- package/dist/attributes/shape/filters/implementations/grayscale.js +7 -0
- package/dist/attributes/shape/filters/implementations/grayscale.js.map +1 -0
- package/dist/attributes/shape/filters/index.d.ts +16 -0
- package/dist/attributes/shape/filters/index.d.ts.map +1 -0
- package/dist/attributes/shape/filters/index.js +5 -0
- package/dist/attributes/shape/filters/index.js.map +1 -0
- package/dist/attributes/shape/filters/registry.d.ts +37 -0
- package/dist/attributes/shape/filters/registry.d.ts.map +1 -0
- package/dist/attributes/shape/filters/registry.js +60 -0
- package/dist/attributes/shape/filters/registry.js.map +1 -0
- package/dist/attributes/shape/filters/registry.test.d.ts +5 -0
- package/dist/attributes/shape/filters/registry.test.d.ts.map +1 -0
- package/dist/attributes/shape/filters/registry.test.js +75 -0
- package/dist/attributes/shape/filters/registry.test.js.map +1 -0
- package/dist/attributes/shape/filters/union.d.ts +10 -0
- package/dist/attributes/shape/filters/union.d.ts.map +1 -0
- package/dist/attributes/shape/filters/union.js +2 -0
- package/dist/attributes/shape/filters/union.js.map +1 -0
- package/dist/attributes/shape/path/bezier.d.ts +28 -0
- package/dist/attributes/shape/path/bezier.d.ts.map +1 -0
- package/dist/attributes/shape/path/bezier.js +76 -0
- package/dist/attributes/shape/path/bezier.js.map +1 -0
- package/dist/attributes/shape/path/bezier.test.d.ts +2 -0
- package/dist/attributes/shape/path/bezier.test.d.ts.map +1 -0
- package/dist/attributes/shape/path/bezier.test.js +85 -0
- package/dist/attributes/shape/path/bezier.test.js.map +1 -0
- package/dist/attributes/shape/path/dash.d.ts +15 -0
- package/dist/attributes/shape/path/dash.d.ts.map +1 -0
- package/dist/attributes/shape/path/dash.js +299 -0
- package/dist/attributes/shape/path/dash.js.map +1 -0
- package/dist/attributes/shape/path/dash.test.d.ts +2 -0
- package/dist/attributes/shape/path/dash.test.d.ts.map +1 -0
- package/dist/attributes/shape/path/dash.test.js +36 -0
- package/dist/attributes/shape/path/dash.test.js.map +1 -0
- package/dist/attributes/shape/path/index.d.ts +5 -0
- package/dist/attributes/shape/path/index.d.ts.map +1 -0
- package/dist/attributes/shape/path/index.js +5 -0
- package/dist/attributes/shape/path/index.js.map +1 -0
- package/dist/attributes/shape/path/length.d.ts +14 -0
- package/dist/attributes/shape/path/length.d.ts.map +1 -0
- package/dist/attributes/shape/path/length.js +169 -0
- package/dist/attributes/shape/path/length.js.map +1 -0
- package/dist/attributes/shape/path/length.test.d.ts +2 -0
- package/dist/attributes/shape/path/length.test.d.ts.map +1 -0
- package/dist/attributes/shape/path/length.test.js +56 -0
- package/dist/attributes/shape/path/length.test.js.map +1 -0
- package/dist/attributes/shape/path/subpath.d.ts +15 -0
- package/dist/attributes/shape/path/subpath.d.ts.map +1 -0
- package/dist/attributes/shape/path/subpath.js +486 -0
- package/dist/attributes/shape/path/subpath.js.map +1 -0
- package/dist/attributes/shape/path/subpath.test.d.ts +2 -0
- package/dist/attributes/shape/path/subpath.test.d.ts.map +1 -0
- package/dist/attributes/shape/path/subpath.test.js +54 -0
- package/dist/attributes/shape/path/subpath.test.js.map +1 -0
- package/dist/attributes/shape/shadow/index.d.ts +5 -0
- package/dist/attributes/shape/shadow/index.d.ts.map +1 -0
- package/dist/attributes/shape/shadow/index.js +3 -0
- package/dist/attributes/shape/shadow/index.js.map +1 -0
- package/dist/attributes/shape/shadow/lerp.d.ts +3 -0
- package/dist/attributes/shape/shadow/lerp.d.ts.map +1 -0
- package/dist/attributes/shape/shadow/lerp.js +30 -0
- package/dist/attributes/shape/shadow/lerp.js.map +1 -0
- package/dist/attributes/shape/shadow/resolver.d.ts +22 -0
- package/dist/attributes/shape/shadow/resolver.d.ts.map +1 -0
- package/dist/attributes/shape/shadow/resolver.js +17 -0
- package/dist/attributes/shape/shadow/resolver.js.map +1 -0
- package/dist/attributes/shape/stroke/index.d.ts +5 -0
- package/dist/attributes/shape/stroke/index.d.ts.map +1 -0
- package/dist/attributes/shape/stroke/index.js +3 -0
- package/dist/attributes/shape/stroke/index.js.map +1 -0
- package/dist/attributes/shape/stroke/lerp.d.ts +3 -0
- package/dist/attributes/shape/stroke/lerp.d.ts.map +1 -0
- package/dist/attributes/shape/stroke/lerp.js +30 -0
- package/dist/attributes/shape/stroke/lerp.js.map +1 -0
- package/dist/attributes/shape/stroke/mapper.d.ts +24 -0
- package/dist/attributes/shape/stroke/mapper.d.ts.map +1 -0
- package/dist/attributes/shape/stroke/mapper.js +25 -0
- package/dist/attributes/shape/stroke/mapper.js.map +1 -0
- package/dist/attributes/text/align.d.ts +2 -0
- package/dist/attributes/text/align.d.ts.map +1 -0
- package/dist/attributes/text/align.js +2 -0
- package/dist/attributes/text/align.js.map +1 -0
- package/dist/attributes/text/lerp.d.ts +8 -0
- package/dist/attributes/text/lerp.d.ts.map +1 -0
- package/dist/attributes/text/lerp.js +38 -0
- package/dist/attributes/text/lerp.js.map +1 -0
- package/dist/attributes/text/lerp.test.d.ts +2 -0
- package/dist/attributes/text/lerp.test.d.ts.map +1 -0
- package/dist/attributes/text/lerp.test.js +39 -0
- package/dist/attributes/text/lerp.test.js.map +1 -0
- package/dist/attributes/text/span.d.ts +37 -0
- package/dist/attributes/text/span.d.ts.map +1 -0
- package/dist/attributes/text/span.js +2 -0
- package/dist/attributes/text/span.js.map +1 -0
- package/dist/index.d.ts +14 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +14 -0
- package/dist/index.js.map +1 -0
- package/dist/jsx/jsx-dev-runtime.d.ts +19 -0
- package/dist/jsx/jsx-dev-runtime.d.ts.map +1 -0
- package/dist/jsx/jsx-dev-runtime.js +16 -0
- package/dist/jsx/jsx-dev-runtime.js.map +1 -0
- package/dist/jsx/jsx-runtime.d.ts +19 -0
- package/dist/jsx/jsx-runtime.d.ts.map +1 -0
- package/dist/jsx/jsx-runtime.js +16 -0
- package/dist/jsx/jsx-runtime.js.map +1 -0
- package/dist/layout/flex.d.ts +66 -0
- package/dist/layout/flex.d.ts.map +1 -0
- package/dist/layout/flex.js +196 -0
- package/dist/layout/flex.js.map +1 -0
- package/dist/layout/flex.test.d.ts +2 -0
- package/dist/layout/flex.test.d.ts.map +1 -0
- package/dist/layout/flex.test.js +336 -0
- package/dist/layout/flex.test.js.map +1 -0
- package/dist/layout/grid.d.ts +38 -0
- package/dist/layout/grid.d.ts.map +1 -0
- package/dist/layout/grid.js +117 -0
- package/dist/layout/grid.js.map +1 -0
- package/dist/layout/index.d.ts +6 -0
- package/dist/layout/index.d.ts.map +1 -0
- package/dist/layout/index.js +6 -0
- package/dist/layout/index.js.map +1 -0
- package/dist/layout/padding.d.ts +19 -0
- package/dist/layout/padding.d.ts.map +1 -0
- package/dist/layout/padding.js +16 -0
- package/dist/layout/padding.js.map +1 -0
- package/dist/layout/padding.test.d.ts +2 -0
- package/dist/layout/padding.test.d.ts.map +1 -0
- package/dist/layout/padding.test.js +39 -0
- package/dist/layout/padding.test.js.map +1 -0
- package/dist/layout/size-resolver.d.ts +13 -0
- package/dist/layout/size-resolver.d.ts.map +1 -0
- package/dist/layout/size-resolver.js +22 -0
- package/dist/layout/size-resolver.js.map +1 -0
- package/dist/layout/size-resolver.test.d.ts +2 -0
- package/dist/layout/size-resolver.test.d.ts.map +1 -0
- package/dist/layout/size-resolver.test.js +24 -0
- package/dist/layout/size-resolver.test.js.map +1 -0
- package/dist/layout/tweens.d.ts +5 -0
- package/dist/layout/tweens.d.ts.map +1 -0
- package/dist/layout/tweens.js +16 -0
- package/dist/layout/tweens.js.map +1 -0
- package/dist/layout/tweens.test.d.ts +2 -0
- package/dist/layout/tweens.test.d.ts.map +1 -0
- package/dist/layout/tweens.test.js +26 -0
- package/dist/layout/tweens.test.js.map +1 -0
- package/dist/nodes/base/boolean-node.d.ts +14 -0
- package/dist/nodes/base/boolean-node.d.ts.map +1 -0
- package/dist/nodes/base/boolean-node.js +34 -0
- package/dist/nodes/base/boolean-node.js.map +1 -0
- package/dist/nodes/base/camera-node.d.ts +27 -0
- package/dist/nodes/base/camera-node.d.ts.map +1 -0
- package/dist/nodes/base/camera-node.js +31 -0
- package/dist/nodes/base/camera-node.js.map +1 -0
- package/dist/nodes/base/mask-node.d.ts +14 -0
- package/dist/nodes/base/mask-node.d.ts.map +1 -0
- package/dist/nodes/base/mask-node.js +37 -0
- package/dist/nodes/base/mask-node.js.map +1 -0
- package/dist/nodes/base/node.d.ts +284 -0
- package/dist/nodes/base/node.d.ts.map +1 -0
- package/dist/nodes/base/node.js +800 -0
- package/dist/nodes/base/node.js.map +1 -0
- package/dist/nodes/base/scene-node.d.ts +45 -0
- package/dist/nodes/base/scene-node.d.ts.map +1 -0
- package/dist/nodes/base/scene-node.js +122 -0
- package/dist/nodes/base/scene-node.js.map +1 -0
- package/dist/nodes/geometry/ellipse-node.d.ts +18 -0
- package/dist/nodes/geometry/ellipse-node.d.ts.map +1 -0
- package/dist/nodes/geometry/ellipse-node.js +55 -0
- package/dist/nodes/geometry/ellipse-node.js.map +1 -0
- package/dist/nodes/geometry/grid-node.d.ts +40 -0
- package/dist/nodes/geometry/grid-node.d.ts.map +1 -0
- package/dist/nodes/geometry/grid-node.js +138 -0
- package/dist/nodes/geometry/grid-node.js.map +1 -0
- package/dist/nodes/geometry/line-node.d.ts +17 -0
- package/dist/nodes/geometry/line-node.d.ts.map +1 -0
- package/dist/nodes/geometry/line-node.js +34 -0
- package/dist/nodes/geometry/line-node.js.map +1 -0
- package/dist/nodes/geometry/path-node.d.ts +17 -0
- package/dist/nodes/geometry/path-node.d.ts.map +1 -0
- package/dist/nodes/geometry/path-node.js +230 -0
- package/dist/nodes/geometry/path-node.js.map +1 -0
- package/dist/nodes/geometry/polygon-node.d.ts +20 -0
- package/dist/nodes/geometry/polygon-node.d.ts.map +1 -0
- package/dist/nodes/geometry/polygon-node.js +42 -0
- package/dist/nodes/geometry/polygon-node.js.map +1 -0
- package/dist/nodes/geometry/polygram-node.d.ts +27 -0
- package/dist/nodes/geometry/polygram-node.d.ts.map +1 -0
- package/dist/nodes/geometry/polygram-node.js +47 -0
- package/dist/nodes/geometry/polygram-node.js.map +1 -0
- package/dist/nodes/geometry/rect-node.d.ts +50 -0
- package/dist/nodes/geometry/rect-node.d.ts.map +1 -0
- package/dist/nodes/geometry/rect-node.js +275 -0
- package/dist/nodes/geometry/rect-node.js.map +1 -0
- package/dist/nodes/geometry/shape-node.d.ts +66 -0
- package/dist/nodes/geometry/shape-node.d.ts.map +1 -0
- package/dist/nodes/geometry/shape-node.js +127 -0
- package/dist/nodes/geometry/shape-node.js.map +1 -0
- package/dist/nodes/index.d.ts +17 -0
- package/dist/nodes/index.d.ts.map +1 -0
- package/dist/nodes/index.js +20 -0
- package/dist/nodes/index.js.map +1 -0
- package/dist/nodes/media/image-node.d.ts +28 -0
- package/dist/nodes/media/image-node.d.ts.map +1 -0
- package/dist/nodes/media/image-node.js +53 -0
- package/dist/nodes/media/image-node.js.map +1 -0
- package/dist/nodes/text/richtext-node.d.ts +46 -0
- package/dist/nodes/text/richtext-node.d.ts.map +1 -0
- package/dist/nodes/text/richtext-node.js +155 -0
- package/dist/nodes/text/richtext-node.js.map +1 -0
- package/dist/nodes/text/text-node.d.ts +42 -0
- package/dist/nodes/text/text-node.d.ts.map +1 -0
- package/dist/nodes/text/text-node.js +123 -0
- package/dist/nodes/text/text-node.js.map +1 -0
- package/dist/platform/audio-device.d.ts +40 -0
- package/dist/platform/audio-device.d.ts.map +1 -0
- package/dist/platform/audio-device.js +19 -0
- package/dist/platform/audio-device.js.map +1 -0
- package/dist/platform/index.d.ts +4 -0
- package/dist/platform/index.d.ts.map +1 -0
- package/dist/platform/index.js +4 -0
- package/dist/platform/index.js.map +1 -0
- package/dist/platform/master-clock.d.ts +54 -0
- package/dist/platform/master-clock.d.ts.map +1 -0
- package/dist/platform/master-clock.js +85 -0
- package/dist/platform/master-clock.js.map +1 -0
- package/dist/platform/storage-adapter.d.ts +29 -0
- package/dist/platform/storage-adapter.d.ts.map +1 -0
- package/dist/platform/storage-adapter.js +70 -0
- package/dist/platform/storage-adapter.js.map +1 -0
- package/dist/project/config.d.ts +24 -0
- package/dist/project/config.d.ts.map +1 -0
- package/dist/project/config.js +14 -0
- package/dist/project/config.js.map +1 -0
- package/dist/project/config.test.d.ts +2 -0
- package/dist/project/config.test.d.ts.map +1 -0
- package/dist/project/config.test.js +28 -0
- package/dist/project/config.test.js.map +1 -0
- package/dist/project/index.d.ts +3 -0
- package/dist/project/index.d.ts.map +1 -0
- package/dist/project/index.js +3 -0
- package/dist/project/index.js.map +1 -0
- package/dist/project/tree.d.ts +48 -0
- package/dist/project/tree.d.ts.map +1 -0
- package/dist/project/tree.js +11 -0
- package/dist/project/tree.js.map +1 -0
- package/dist/render/build-stage.d.ts +63 -0
- package/dist/render/build-stage.d.ts.map +1 -0
- package/dist/render/build-stage.js +91 -0
- package/dist/render/build-stage.js.map +1 -0
- package/dist/render/descriptors/ellipse.d.ts +10 -0
- package/dist/render/descriptors/ellipse.d.ts.map +1 -0
- package/dist/render/descriptors/ellipse.js +20 -0
- package/dist/render/descriptors/ellipse.js.map +1 -0
- package/dist/render/descriptors/image.d.ts +12 -0
- package/dist/render/descriptors/image.d.ts.map +1 -0
- package/dist/render/descriptors/image.js +12 -0
- package/dist/render/descriptors/image.js.map +1 -0
- package/dist/render/descriptors/latex.d.ts +6 -0
- package/dist/render/descriptors/latex.d.ts.map +1 -0
- package/dist/render/descriptors/latex.js +2 -0
- package/dist/render/descriptors/latex.js.map +1 -0
- package/dist/render/descriptors/line.d.ts +9 -0
- package/dist/render/descriptors/line.d.ts.map +1 -0
- package/dist/render/descriptors/line.js +19 -0
- package/dist/render/descriptors/line.js.map +1 -0
- package/dist/render/descriptors/path-builder.d.ts +14 -0
- package/dist/render/descriptors/path-builder.d.ts.map +1 -0
- package/dist/render/descriptors/path-builder.js +34 -0
- package/dist/render/descriptors/path-builder.js.map +1 -0
- package/dist/render/descriptors/path.d.ts +105 -0
- package/dist/render/descriptors/path.d.ts.map +1 -0
- package/dist/render/descriptors/path.js +45 -0
- package/dist/render/descriptors/path.js.map +1 -0
- package/dist/render/descriptors/path.test.d.ts +2 -0
- package/dist/render/descriptors/path.test.d.ts.map +1 -0
- package/dist/render/descriptors/path.test.js +40 -0
- package/dist/render/descriptors/path.test.js.map +1 -0
- package/dist/render/descriptors/polygon.d.ts +9 -0
- package/dist/render/descriptors/polygon.d.ts.map +1 -0
- package/dist/render/descriptors/polygon.js +19 -0
- package/dist/render/descriptors/polygon.js.map +1 -0
- package/dist/render/descriptors/polygram.d.ts +10 -0
- package/dist/render/descriptors/polygram.d.ts.map +1 -0
- package/dist/render/descriptors/polygram.js +20 -0
- package/dist/render/descriptors/polygram.js.map +1 -0
- package/dist/render/descriptors/rect.d.ts +9 -0
- package/dist/render/descriptors/rect.d.ts.map +1 -0
- package/dist/render/descriptors/rect.js +18 -0
- package/dist/render/descriptors/rect.js.map +1 -0
- package/dist/render/descriptors/richtext.d.ts +12 -0
- package/dist/render/descriptors/richtext.d.ts.map +1 -0
- package/dist/render/descriptors/richtext.js +20 -0
- package/dist/render/descriptors/richtext.js.map +1 -0
- package/dist/render/descriptors/shape.d.ts +6 -0
- package/dist/render/descriptors/shape.d.ts.map +1 -0
- package/dist/render/descriptors/shape.js +2 -0
- package/dist/render/descriptors/shape.js.map +1 -0
- package/dist/render/descriptors/text.d.ts +19 -0
- package/dist/render/descriptors/text.d.ts.map +1 -0
- package/dist/render/descriptors/text.js +27 -0
- package/dist/render/descriptors/text.js.map +1 -0
- package/dist/render/descriptors/transform.d.ts +16 -0
- package/dist/render/descriptors/transform.d.ts.map +1 -0
- package/dist/render/descriptors/transform.js +14 -0
- package/dist/render/descriptors/transform.js.map +1 -0
- package/dist/render/index.d.ts +17 -0
- package/dist/render/index.d.ts.map +1 -0
- package/dist/render/index.js +16 -0
- package/dist/render/index.js.map +1 -0
- package/dist/render/measure-scope.d.ts +25 -0
- package/dist/render/measure-scope.d.ts.map +1 -0
- package/dist/render/measure-scope.js +11 -0
- package/dist/render/measure-scope.js.map +1 -0
- package/dist/render/render-context.d.ts +258 -0
- package/dist/render/render-context.d.ts.map +1 -0
- package/dist/render/render-context.js +95 -0
- package/dist/render/render-context.js.map +1 -0
- package/dist/runtime/index.d.ts +4 -0
- package/dist/runtime/index.d.ts.map +1 -0
- package/dist/runtime/index.js +4 -0
- package/dist/runtime/index.js.map +1 -0
- package/dist/runtime/playback-controller.d.ts +105 -0
- package/dist/runtime/playback-controller.d.ts.map +1 -0
- package/dist/runtime/playback-controller.js +244 -0
- package/dist/runtime/playback-controller.js.map +1 -0
- package/dist/runtime/playback-controller.test.d.ts +2 -0
- package/dist/runtime/playback-controller.test.d.ts.map +1 -0
- package/dist/runtime/playback-controller.test.js +148 -0
- package/dist/runtime/playback-controller.test.js.map +1 -0
- package/dist/runtime/precompisition.d.ts +107 -0
- package/dist/runtime/precompisition.d.ts.map +1 -0
- package/dist/runtime/precompisition.js +202 -0
- package/dist/runtime/precompisition.js.map +1 -0
- package/dist/runtime/precompisition.test.d.ts +2 -0
- package/dist/runtime/precompisition.test.d.ts.map +1 -0
- package/dist/runtime/precompisition.test.js +138 -0
- package/dist/runtime/precompisition.test.js.map +1 -0
- package/dist/runtime/runtime.fixtures.d.ts +158 -0
- package/dist/runtime/runtime.fixtures.d.ts.map +1 -0
- package/dist/runtime/runtime.fixtures.js +264 -0
- package/dist/runtime/runtime.fixtures.js.map +1 -0
- package/dist/runtime/state-evaluator.d.ts +76 -0
- package/dist/runtime/state-evaluator.d.ts.map +1 -0
- package/dist/runtime/state-evaluator.js +162 -0
- package/dist/runtime/state-evaluator.js.map +1 -0
- package/dist/runtime/state-evaluator.test.d.ts +2 -0
- package/dist/runtime/state-evaluator.test.d.ts.map +1 -0
- package/dist/runtime/state-evaluator.test.js +122 -0
- package/dist/runtime/state-evaluator.test.js.map +1 -0
- package/dist/signals/create.d.ts +21 -0
- package/dist/signals/create.d.ts.map +1 -0
- package/dist/signals/create.js +74 -0
- package/dist/signals/create.js.map +1 -0
- package/dist/signals/create.test.d.ts +2 -0
- package/dist/signals/create.test.d.ts.map +1 -0
- package/dist/signals/create.test.js +81 -0
- package/dist/signals/create.test.js.map +1 -0
- package/dist/signals/host.d.ts +11 -0
- package/dist/signals/host.d.ts.map +1 -0
- package/dist/signals/host.js +10 -0
- package/dist/signals/host.js.map +1 -0
- package/dist/signals/index.d.ts +4 -0
- package/dist/signals/index.d.ts.map +1 -0
- package/dist/signals/index.js +3 -0
- package/dist/signals/index.js.map +1 -0
- package/dist/signals/signal-cell.test.d.ts +2 -0
- package/dist/signals/signal-cell.test.d.ts.map +1 -0
- package/dist/signals/signal-cell.test.js +202 -0
- package/dist/signals/signal-cell.test.js.map +1 -0
- package/dist/signals/signal.d.ts +46 -0
- package/dist/signals/signal.d.ts.map +1 -0
- package/dist/signals/signal.js +162 -0
- package/dist/signals/signal.js.map +1 -0
- package/dist/signals/signal.test.d.ts +2 -0
- package/dist/signals/signal.test.d.ts.map +1 -0
- package/dist/signals/signal.test.js +192 -0
- package/dist/signals/signal.test.js.map +1 -0
- package/dist/signals/subscriber.d.ts +5 -0
- package/dist/signals/subscriber.d.ts.map +1 -0
- package/dist/signals/subscriber.js +2 -0
- package/dist/signals/subscriber.js.map +1 -0
- package/dist/tween/animation-builder.d.ts +74 -0
- package/dist/tween/animation-builder.d.ts.map +1 -0
- package/dist/tween/animation-builder.js +99 -0
- package/dist/tween/animation-builder.js.map +1 -0
- package/dist/tween/ease/constants.d.ts +13 -0
- package/dist/tween/ease/constants.d.ts.map +1 -0
- package/dist/tween/ease/constants.js +71 -0
- package/dist/tween/ease/constants.js.map +1 -0
- package/dist/tween/ease/type.d.ts +2 -0
- package/dist/tween/ease/type.d.ts.map +1 -0
- package/dist/tween/ease/type.js +2 -0
- package/dist/tween/ease/type.js.map +1 -0
- package/dist/tween/eases.test.d.ts +2 -0
- package/dist/tween/eases.test.d.ts.map +1 -0
- package/dist/tween/eases.test.js +91 -0
- package/dist/tween/eases.test.js.map +1 -0
- package/dist/tween/generator.d.ts +22 -0
- package/dist/tween/generator.d.ts.map +1 -0
- package/dist/tween/generator.js +2 -0
- package/dist/tween/generator.js.map +1 -0
- package/dist/tween/index.d.ts +12 -0
- package/dist/tween/index.d.ts.map +1 -0
- package/dist/tween/index.js +12 -0
- package/dist/tween/index.js.map +1 -0
- package/dist/tween/lerp.d.ts +11 -0
- package/dist/tween/lerp.d.ts.map +1 -0
- package/dist/tween/lerp.js +13 -0
- package/dist/tween/lerp.js.map +1 -0
- package/dist/tween/lerp.test.d.ts +2 -0
- package/dist/tween/lerp.test.d.ts.map +1 -0
- package/dist/tween/lerp.test.js +22 -0
- package/dist/tween/lerp.test.js.map +1 -0
- package/dist/tween/parallel.d.ts +23 -0
- package/dist/tween/parallel.d.ts.map +1 -0
- package/dist/tween/parallel.js +79 -0
- package/dist/tween/parallel.js.map +1 -0
- package/dist/tween/prepare.d.ts +34 -0
- package/dist/tween/prepare.d.ts.map +1 -0
- package/dist/tween/prepare.js +52 -0
- package/dist/tween/prepare.js.map +1 -0
- package/dist/tween/prepare.test.d.ts +2 -0
- package/dist/tween/prepare.test.d.ts.map +1 -0
- package/dist/tween/prepare.test.js +44 -0
- package/dist/tween/prepare.test.js.map +1 -0
- package/dist/tween/sequence.d.ts +19 -0
- package/dist/tween/sequence.d.ts.map +1 -0
- package/dist/tween/sequence.js +22 -0
- package/dist/tween/sequence.js.map +1 -0
- package/dist/tween/sequence.test.d.ts +2 -0
- package/dist/tween/sequence.test.d.ts.map +1 -0
- package/dist/tween/sequence.test.js +68 -0
- package/dist/tween/sequence.test.js.map +1 -0
- package/dist/tween/stepper.d.ts +34 -0
- package/dist/tween/stepper.d.ts.map +1 -0
- package/dist/tween/stepper.js +4 -0
- package/dist/tween/stepper.js.map +1 -0
- package/dist/tween/tests/batched-parallel.test.d.ts +2 -0
- package/dist/tween/tests/batched-parallel.test.d.ts.map +1 -0
- package/dist/tween/tests/batched-parallel.test.js +76 -0
- package/dist/tween/tests/batched-parallel.test.js.map +1 -0
- package/dist/tween/tests/parallel.test.d.ts +2 -0
- package/dist/tween/tests/parallel.test.d.ts.map +1 -0
- package/dist/tween/tests/parallel.test.js +129 -0
- package/dist/tween/tests/parallel.test.js.map +1 -0
- package/dist/tween/tests/realtime.test.d.ts +2 -0
- package/dist/tween/tests/realtime.test.d.ts.map +1 -0
- package/dist/tween/tests/realtime.test.js +76 -0
- package/dist/tween/tests/realtime.test.js.map +1 -0
- package/dist/tween/tween.d.ts +18 -0
- package/dist/tween/tween.d.ts.map +1 -0
- package/dist/tween/tween.js +28 -0
- package/dist/tween/tween.js.map +1 -0
- package/dist/tween/tween.test.d.ts +2 -0
- package/dist/tween/tween.test.d.ts.map +1 -0
- package/dist/tween/tween.test.js +38 -0
- package/dist/tween/tween.test.js.map +1 -0
- package/dist/tween/wait.d.ts +19 -0
- package/dist/tween/wait.d.ts.map +1 -0
- package/dist/tween/wait.js +25 -0
- package/dist/tween/wait.js.map +1 -0
- package/dist/tween/wait.test.d.ts +2 -0
- package/dist/tween/wait.test.d.ts.map +1 -0
- package/dist/tween/wait.test.js +35 -0
- package/dist/tween/wait.test.js.map +1 -0
- package/dist/util/clamp.d.ts +12 -0
- package/dist/util/clamp.d.ts.map +1 -0
- package/dist/util/clamp.js +16 -0
- package/dist/util/clamp.js.map +1 -0
- package/dist/util/clamp.test.d.ts +2 -0
- package/dist/util/clamp.test.d.ts.map +1 -0
- package/dist/util/clamp.test.js +31 -0
- package/dist/util/clamp.test.js.map +1 -0
- package/dist/util/index.d.ts +4 -0
- package/dist/util/index.d.ts.map +1 -0
- package/dist/util/index.js +4 -0
- package/dist/util/index.js.map +1 -0
- package/dist/util/random.d.ts +16 -0
- package/dist/util/random.d.ts.map +1 -0
- package/dist/util/random.js +28 -0
- package/dist/util/random.js.map +1 -0
- package/dist/util/random.test.d.ts +2 -0
- package/dist/util/random.test.d.ts.map +1 -0
- package/dist/util/random.test.js +42 -0
- package/dist/util/random.test.js.map +1 -0
- package/dist/util/range.d.ts +12 -0
- package/dist/util/range.d.ts.map +1 -0
- package/dist/util/range.js +11 -0
- package/dist/util/range.js.map +1 -0
- package/dist/util/reference.d.ts +15 -0
- package/dist/util/reference.d.ts.map +1 -0
- package/dist/util/reference.js +20 -0
- package/dist/util/reference.js.map +1 -0
- package/dist/util/reference.test.d.ts +2 -0
- package/dist/util/reference.test.d.ts.map +1 -0
- package/dist/util/reference.test.js +32 -0
- package/dist/util/reference.test.js.map +1 -0
- package/package.json +54 -0
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { BoxBounds, Extents } from './bounds';
|
|
2
|
+
export { SizeConstraints } from './constraints';
|
|
3
|
+
export { PaddingProps, PaddingResolved, resolvePadding } from './padding';
|
|
4
|
+
export { Size2D } from './size';
|
|
5
|
+
export { Vector2 } from './vector2';
|
|
6
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/attributes/layout/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC1E,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/attributes/layout/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAiC,cAAc,EAAE,MAAM,WAAW,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/** Fully resolved per-side padding in pixels. */
|
|
2
|
+
export interface PaddingResolved {
|
|
3
|
+
left: number;
|
|
4
|
+
right: number;
|
|
5
|
+
top: number;
|
|
6
|
+
bottom: number;
|
|
7
|
+
}
|
|
8
|
+
/** Shorthand for equal horizontal (left+right) or vertical (top+bottom) padding. */
|
|
9
|
+
export interface SymmetricPadding {
|
|
10
|
+
horizontal: number;
|
|
11
|
+
vertical: number;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* User-facing padding input. Accepts:
|
|
15
|
+
* - a single number (uniform padding on all sides)
|
|
16
|
+
* - per-side values (`left`, `right`, `top`, `bottom`)
|
|
17
|
+
* - symmetric shorthands (`horizontal`, `vertical`)
|
|
18
|
+
* Mixed forms are allowed; specific sides take precedence over shorthands.
|
|
19
|
+
*/
|
|
20
|
+
export type PaddingProps = number | Partial<PaddingResolved> & Partial<SymmetricPadding>;
|
|
21
|
+
/**
|
|
22
|
+
* Resolves a `PaddingProps` input to a fully specified `PaddingResolved` value.
|
|
23
|
+
* Resolution order per side: explicit side value → symmetric shorthand → `previous` fallback → 0.
|
|
24
|
+
*/
|
|
25
|
+
export declare function resolvePadding(value: PaddingProps, previous?: PaddingResolved): PaddingResolved;
|
|
26
|
+
//# sourceMappingURL=padding.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"padding.d.ts","sourceRoot":"","sources":["../../../src/attributes/layout/padding.ts"],"names":[],"mappings":"AAAA,iDAAiD;AACjD,MAAM,WAAW,eAAe;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;CAClB;AAED,oFAAoF;AACpF,MAAM,WAAW,gBAAgB;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;GAMG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;AAEzF;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,CAAC,EAAE,eAAe,GAAG,eAAe,CAY/F"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Resolves a `PaddingProps` input to a fully specified `PaddingResolved` value.
|
|
3
|
+
* Resolution order per side: explicit side value → symmetric shorthand → `previous` fallback → 0.
|
|
4
|
+
*/
|
|
5
|
+
export function resolvePadding(value, previous) {
|
|
6
|
+
if (typeof value === "number") {
|
|
7
|
+
return { left: value, right: value, top: value, bottom: value };
|
|
8
|
+
}
|
|
9
|
+
// Fallback resolution order: Specific side -> Symmetric shortcut -> Previous fallback -> Default 0
|
|
10
|
+
return {
|
|
11
|
+
left: value.left ?? value.horizontal ?? previous?.left ?? 0,
|
|
12
|
+
right: value.right ?? value.horizontal ?? previous?.right ?? 0,
|
|
13
|
+
top: value.top ?? value.vertical ?? previous?.top ?? 0,
|
|
14
|
+
bottom: value.bottom ?? value.vertical ?? previous?.bottom ?? 0,
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=padding.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"padding.js","sourceRoot":"","sources":["../../../src/attributes/layout/padding.ts"],"names":[],"mappings":"AAuBA;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,KAAmB,EAAE,QAA0B;IAC1E,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IACpE,CAAC;IAED,mGAAmG;IACnG,OAAO;QACH,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,UAAU,IAAI,QAAQ,EAAE,IAAI,IAAI,CAAC;QAC3D,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,UAAU,IAAI,QAAQ,EAAE,KAAK,IAAI,CAAC;QAC9D,GAAG,EAAE,KAAK,CAAC,GAAG,IAAI,KAAK,CAAC,QAAQ,IAAI,QAAQ,EAAE,GAAG,IAAI,CAAC;QACtD,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,QAAQ,IAAI,QAAQ,EAAE,MAAM,IAAI,CAAC;KAClE,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"padding.test.d.ts","sourceRoot":"","sources":["../../../src/attributes/layout/padding.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { describe, it, expect } from 'vitest';
|
|
2
|
+
import { resolvePadding } from '@/attributes/layout/padding';
|
|
3
|
+
describe('resolvePadding', () => {
|
|
4
|
+
it('expands a single number to all four sides', () => {
|
|
5
|
+
expect(resolvePadding(8)).toEqual({ left: 8, right: 8, top: 8, bottom: 8 });
|
|
6
|
+
});
|
|
7
|
+
it('uses explicit per-side values', () => {
|
|
8
|
+
expect(resolvePadding({ left: 1, right: 2, top: 3, bottom: 4 })).toEqual({
|
|
9
|
+
left: 1, right: 2, top: 3, bottom: 4,
|
|
10
|
+
});
|
|
11
|
+
});
|
|
12
|
+
it('applies symmetric horizontal/vertical shorthands', () => {
|
|
13
|
+
expect(resolvePadding({ horizontal: 10, vertical: 20 })).toEqual({
|
|
14
|
+
left: 10, right: 10, top: 20, bottom: 20,
|
|
15
|
+
});
|
|
16
|
+
});
|
|
17
|
+
it('prefers an explicit side over the symmetric shorthand', () => {
|
|
18
|
+
expect(resolvePadding({ horizontal: 10, left: 99 })).toEqual({
|
|
19
|
+
left: 99, right: 10, top: 0, bottom: 0,
|
|
20
|
+
});
|
|
21
|
+
});
|
|
22
|
+
it('falls back to previous values when a side is unspecified', () => {
|
|
23
|
+
const previous = { left: 5, right: 6, top: 7, bottom: 8 };
|
|
24
|
+
expect(resolvePadding({ left: 1 }, previous)).toEqual({
|
|
25
|
+
left: 1, right: 6, top: 7, bottom: 8,
|
|
26
|
+
});
|
|
27
|
+
});
|
|
28
|
+
it('defaults to 0 when neither side, shorthand, nor previous is given', () => {
|
|
29
|
+
expect(resolvePadding({})).toEqual({ left: 0, right: 0, top: 0, bottom: 0 });
|
|
30
|
+
});
|
|
31
|
+
});
|
|
32
|
+
//# sourceMappingURL=padding.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"padding.test.js","sourceRoot":"","sources":["../../../src/attributes/layout/padding.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAmB,MAAM,6BAA6B,CAAC;AAE9E,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC5B,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACjD,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;IAChF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACrC,MAAM,CAAC,cAAc,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;YACrE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC;SACvC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;QACxD,MAAM,CAAC,cAAc,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;YAC7D,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE;SAC3C,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;QAC7D,MAAM,CAAC,cAAc,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;YACzD,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC;SACzC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0DAA0D,EAAE,GAAG,EAAE;QAChE,MAAM,QAAQ,GAAoB,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;QAC3E,MAAM,CAAC,cAAc,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC;YAClD,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC;SACvC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mEAAmE,EAAE,GAAG,EAAE;QACzE,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;IACjF,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/** Width and height in pixels. */
|
|
2
|
+
export interface Size2D {
|
|
3
|
+
width: number;
|
|
4
|
+
height: number;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Sizing behavior for a node dimension.
|
|
8
|
+
* - `"fill"`: expand to fill available space from the parent
|
|
9
|
+
* - `"hug"`: shrink to fit the node's own content
|
|
10
|
+
*/
|
|
11
|
+
export type SizeType = "fill" | "hug";
|
|
12
|
+
/** A dimension can be specified as a behavior keyword or a fixed pixel value. */
|
|
13
|
+
export type SizeInput = SizeType | number;
|
|
14
|
+
//# sourceMappingURL=size.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"size.d.ts","sourceRoot":"","sources":["../../../src/attributes/layout/size.ts"],"names":[],"mappings":"AAAA,kCAAkC;AAClC,MAAM,WAAW,MAAM;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAClB;AAED;;;;GAIG;AACH,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,KAAK,CAAC;AAEtC,iFAAiF;AACjF,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"size.js","sourceRoot":"","sources":["../../../src/attributes/layout/size.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/** A 2D point or offset in pixel space. */
|
|
2
|
+
export interface Vector2 {
|
|
3
|
+
x: number;
|
|
4
|
+
y: number;
|
|
5
|
+
}
|
|
6
|
+
/** Linear interpolation between two Vector2 positions. t=0 returns `from`, t=1 returns `to`. */
|
|
7
|
+
export declare function lerpVector2(from: Vector2, to: Vector2, t: number): Vector2;
|
|
8
|
+
//# sourceMappingURL=vector2.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vector2.d.ts","sourceRoot":"","sources":["../../../src/attributes/layout/vector2.ts"],"names":[],"mappings":"AAAA,2CAA2C;AAC3C,MAAM,WAAW,OAAO;IACpB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACb;AAED,gGAAgG;AAChG,wBAAgB,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAK1E"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/** Linear interpolation between two Vector2 positions. t=0 returns `from`, t=1 returns `to`. */
|
|
2
|
+
export function lerpVector2(from, to, t) {
|
|
3
|
+
return {
|
|
4
|
+
x: from.x + (to.x - from.x) * t,
|
|
5
|
+
y: from.y + (to.y - from.y) * t,
|
|
6
|
+
};
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=vector2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vector2.js","sourceRoot":"","sources":["../../../src/attributes/layout/vector2.ts"],"names":[],"mappings":"AAMA,gGAAgG;AAChG,MAAM,UAAU,WAAW,CAAC,IAAa,EAAE,EAAW,EAAE,CAAS;IAC7D,OAAO;QACH,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;QAC/B,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;KAClC,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vector2.test.d.ts","sourceRoot":"","sources":["../../../src/attributes/layout/vector2.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { describe, it, expect } from 'vitest';
|
|
2
|
+
import { lerpVector2 } from '@/attributes/layout/vector2';
|
|
3
|
+
describe('lerpVector2', () => {
|
|
4
|
+
it('returns from at t=0', () => {
|
|
5
|
+
expect(lerpVector2({ x: 1, y: 2 }, { x: 10, y: 20 }, 0)).toEqual({ x: 1, y: 2 });
|
|
6
|
+
});
|
|
7
|
+
it('returns to at t=1', () => {
|
|
8
|
+
expect(lerpVector2({ x: 1, y: 2 }, { x: 10, y: 20 }, 1)).toEqual({ x: 10, y: 20 });
|
|
9
|
+
});
|
|
10
|
+
it('interpolates each axis independently at the midpoint', () => {
|
|
11
|
+
expect(lerpVector2({ x: 0, y: 0 }, { x: 10, y: 4 }, 0.5)).toEqual({ x: 5, y: 2 });
|
|
12
|
+
});
|
|
13
|
+
it('handles negative coordinates', () => {
|
|
14
|
+
expect(lerpVector2({ x: -10, y: 10 }, { x: 10, y: -10 }, 0.5)).toEqual({ x: 0, y: 0 });
|
|
15
|
+
});
|
|
16
|
+
it('returns a fresh object rather than mutating an input', () => {
|
|
17
|
+
const from = { x: 0, y: 0 };
|
|
18
|
+
const result = lerpVector2(from, { x: 2, y: 2 }, 0.5);
|
|
19
|
+
expect(result).not.toBe(from);
|
|
20
|
+
expect(from).toEqual({ x: 0, y: 0 });
|
|
21
|
+
});
|
|
22
|
+
});
|
|
23
|
+
//# sourceMappingURL=vector2.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vector2.test.js","sourceRoot":"","sources":["../../../src/attributes/layout/vector2.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAE1D,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IACzB,EAAE,CAAC,qBAAqB,EAAE,GAAG,EAAE;QAC3B,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACrF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mBAAmB,EAAE,GAAG,EAAE;QACzB,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IACvF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;QAC5D,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACtF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;QACpC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAC3F,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;QAC5D,MAAM,IAAI,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QACtD,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9B,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"boolean.d.ts","sourceRoot":"","sources":["../../../src/attributes/mask/boolean.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,UAAU,GAAG,WAAW,GAAG,SAAS,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"boolean.js","sourceRoot":"","sources":["../../../src/attributes/mask/boolean.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export type MaskMode = "alpha" | "vector" | "luminance";
|
|
2
|
+
export type MaskApplyLayer = "fill" | "stroke";
|
|
3
|
+
export type MaskApply = MaskApplyLayer | MaskApplyLayer[];
|
|
4
|
+
export interface MaskOptions {
|
|
5
|
+
mode?: MaskMode;
|
|
6
|
+
inverted?: boolean;
|
|
7
|
+
apply?: MaskApply;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=mask.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mask.d.ts","sourceRoot":"","sources":["../../../src/attributes/mask/mask.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,WAAW,CAAC;AAKxD,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,QAAQ,CAAC;AAC/C,MAAM,MAAM,SAAS,GAAG,cAAc,GAAG,cAAc,EAAE,CAAC;AAE1D,MAAM,WAAW,WAAW;IACxB,IAAI,CAAC,EAAE,QAAQ,CAAC;IAEhB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,KAAK,CAAC,EAAE,SAAS,CAAC;CACrB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mask.js","sourceRoot":"","sources":["../../../src/attributes/mask/mask.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { TweenFn } from "../../signals/host";
|
|
2
|
+
export interface PropOptions<Ext, Int> {
|
|
3
|
+
/** Lerp the *internal* (post-mapper) value during `to()`. */
|
|
4
|
+
tween?: TweenFn<Int>;
|
|
5
|
+
/** Converts the external input into the internal stored value. Receives the previous internal value as the second arg when available. */
|
|
6
|
+
mapper?: (ext: Ext, prev?: Int) => Int;
|
|
7
|
+
/** Changing this prop invalidates layout (triggers re-measure / re-position). */
|
|
8
|
+
layout?: boolean;
|
|
9
|
+
}
|
|
10
|
+
export interface PropertyMeta {
|
|
11
|
+
key: string;
|
|
12
|
+
default?: unknown;
|
|
13
|
+
options?: PropOptions<any, any>;
|
|
14
|
+
}
|
|
15
|
+
/** Symbol used to store @property metadata on class prototypes. */
|
|
16
|
+
export declare const PROPERTY_META: unique symbol;
|
|
17
|
+
/**
|
|
18
|
+
* Retrieve all @property() metadata for an instance's class, including
|
|
19
|
+
* inherited metadata. Ordered base class → subclass so applyProp calls
|
|
20
|
+
* happen in the same order as the original manual constructor calls.
|
|
21
|
+
*/
|
|
22
|
+
export declare function getPropertyMeta(instance: object): PropertyMeta[];
|
|
23
|
+
/**
|
|
24
|
+
* Legacy property decorator (`experimentalDecorators: true`) that registers
|
|
25
|
+
* a reactive property on a SceneNode subclass.
|
|
26
|
+
*
|
|
27
|
+
* @example
|
|
28
|
+
* ```ts
|
|
29
|
+
* @property({ default: 0 }) declare x: number;
|
|
30
|
+
*
|
|
31
|
+
* @property({ mapper: resolveFillArray, tween: FillRegistry.lerpArray })
|
|
32
|
+
* declare fill: FillResolved[];
|
|
33
|
+
* ```
|
|
34
|
+
*
|
|
35
|
+
* The `default` value is used when the corresponding key is absent from the
|
|
36
|
+
* constructor `props` object. The `mapper` / `tween` options are forwarded
|
|
37
|
+
* directly to `applyProp()`.
|
|
38
|
+
*/
|
|
39
|
+
export declare function property<Ext = any, Int = Ext>(opts?: {
|
|
40
|
+
default?: Ext;
|
|
41
|
+
mapper?: (ext: Ext, prev?: Int) => Int;
|
|
42
|
+
tween?: TweenFn<Int>;
|
|
43
|
+
layout?: boolean;
|
|
44
|
+
}): (target: object, propertyKey: string | symbol) => void;
|
|
45
|
+
//# sourceMappingURL=decorator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decorator.d.ts","sourceRoot":"","sources":["../../../src/attributes/properties/decorator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAEzC,MAAM,WAAW,WAAW,CAAC,GAAG,EAAE,GAAG;IACjC,6DAA6D;IAC7D,KAAK,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IACrB,yIAAyI;IACzI,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,GAAG,KAAK,GAAG,CAAC;IACvC,iFAAiF;IACjF,MAAM,CAAC,EAAE,OAAO,CAAC;CACpB;AAGD,MAAM,WAAW,YAAY;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;CACnC;AAED,mEAAmE;AACnE,eAAO,MAAM,aAAa,eAAyB,CAAC;AAEpD;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY,EAAE,CAqBhE;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,QAAQ,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,IAAI,CAAC,EAAE;IAClD,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,GAAG,KAAK,GAAG,CAAC;IACvC,KAAK,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;CACpB,IAEoB,QAAQ,MAAM,EAAE,aAAa,MAAM,GAAG,MAAM,KAAG,IAAI,CAwBvE"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/** Symbol used to store @property metadata on class prototypes. */
|
|
2
|
+
export const PROPERTY_META = Symbol("propertyMeta");
|
|
3
|
+
/**
|
|
4
|
+
* Retrieve all @property() metadata for an instance's class, including
|
|
5
|
+
* inherited metadata. Ordered base class → subclass so applyProp calls
|
|
6
|
+
* happen in the same order as the original manual constructor calls.
|
|
7
|
+
*/
|
|
8
|
+
export function getPropertyMeta(instance) {
|
|
9
|
+
const result = [];
|
|
10
|
+
const chain = [];
|
|
11
|
+
let proto = Object.getPrototypeOf(instance);
|
|
12
|
+
while (proto && proto !== Object.prototype) {
|
|
13
|
+
chain.unshift(proto);
|
|
14
|
+
proto = Object.getPrototypeOf(proto);
|
|
15
|
+
}
|
|
16
|
+
const seen = new Set();
|
|
17
|
+
for (const p of chain) {
|
|
18
|
+
const own = p[PROPERTY_META];
|
|
19
|
+
if (own) {
|
|
20
|
+
for (const m of own) {
|
|
21
|
+
if (!seen.has(m.key)) {
|
|
22
|
+
seen.add(m.key);
|
|
23
|
+
result.push(m);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
return result;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Legacy property decorator (`experimentalDecorators: true`) that registers
|
|
32
|
+
* a reactive property on a SceneNode subclass.
|
|
33
|
+
*
|
|
34
|
+
* @example
|
|
35
|
+
* ```ts
|
|
36
|
+
* @property({ default: 0 }) declare x: number;
|
|
37
|
+
*
|
|
38
|
+
* @property({ mapper: resolveFillArray, tween: FillRegistry.lerpArray })
|
|
39
|
+
* declare fill: FillResolved[];
|
|
40
|
+
* ```
|
|
41
|
+
*
|
|
42
|
+
* The `default` value is used when the corresponding key is absent from the
|
|
43
|
+
* constructor `props` object. The `mapper` / `tween` options are forwarded
|
|
44
|
+
* directly to `applyProp()`.
|
|
45
|
+
*/
|
|
46
|
+
export function property(opts) {
|
|
47
|
+
// Legacy decorator: (target: object, propertyKey: string | symbol) => void
|
|
48
|
+
return function (target, propertyKey) {
|
|
49
|
+
const key = propertyKey;
|
|
50
|
+
const meta = {
|
|
51
|
+
key,
|
|
52
|
+
default: opts?.default,
|
|
53
|
+
options: (opts?.mapper != null || opts?.tween != null || opts?.layout != null)
|
|
54
|
+
? {
|
|
55
|
+
mapper: opts.mapper,
|
|
56
|
+
tween: opts.tween,
|
|
57
|
+
layout: opts.layout,
|
|
58
|
+
}
|
|
59
|
+
: undefined,
|
|
60
|
+
};
|
|
61
|
+
// Store metadata on the class prototype (own property so getPropertyMeta
|
|
62
|
+
// can distinguish each class's own entries from inherited ones).
|
|
63
|
+
if (!Object.prototype.hasOwnProperty.call(target, PROPERTY_META)) {
|
|
64
|
+
target[PROPERTY_META] = [];
|
|
65
|
+
}
|
|
66
|
+
const list = target[PROPERTY_META];
|
|
67
|
+
if (!list.some(m => m.key === key)) {
|
|
68
|
+
list.push(meta);
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=decorator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decorator.js","sourceRoot":"","sources":["../../../src/attributes/properties/decorator.ts"],"names":[],"mappings":"AAkBA,mEAAmE;AACnE,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;AAEpD;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,QAAgB;IAC5C,MAAM,MAAM,GAAmB,EAAE,CAAC;IAClC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IAC5C,OAAO,KAAK,IAAI,KAAK,KAAK,MAAM,CAAC,SAAS,EAAE,CAAC;QACzC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACrB,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACpB,MAAM,GAAG,GAAgC,CAAS,CAAC,aAAa,CAAC,CAAC;QAClE,IAAI,GAAG,EAAE,CAAC;YACN,KAAK,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC;gBAClB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;oBACnB,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;oBAChB,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACnB,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;IACD,OAAO,MAAM,CAAC;AAClB,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,QAAQ,CAAuB,IAK9C;IACG,2EAA2E;IAC3E,OAAO,UAAU,MAAc,EAAE,WAA4B;QACzD,MAAM,GAAG,GAAG,WAAqB,CAAC;QAClC,MAAM,IAAI,GAAiB;YACvB,GAAG;YACH,OAAO,EAAE,IAAI,EAAE,OAAO;YACtB,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,EAAE,MAAM,IAAI,IAAI,CAAC;gBAC1E,CAAC,CAAC;oBACE,MAAM,EAAE,IAAK,CAAC,MAAyC;oBACvD,KAAK,EAAE,IAAK,CAAC,KAAiC;oBAC9C,MAAM,EAAE,IAAK,CAAC,MAAM;iBACvB;gBACD,CAAC,CAAC,SAAS;SAClB,CAAC;QAEF,yEAAyE;QACzE,iEAAiE;QACjE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,EAAE,CAAC;YAC9D,MAAc,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC;QACxC,CAAC;QACD,MAAM,IAAI,GAAoB,MAAc,CAAC,aAAa,CAAC,CAAC;QAC5D,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC;YACjC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC;IACL,CAAC,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decorator.test.d.ts","sourceRoot":"","sources":["../../../src/attributes/properties/decorator.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { describe, it, expect } from 'vitest';
|
|
2
|
+
import { property, getPropertyMeta, PROPERTY_META } from '@/attributes/properties/decorator';
|
|
3
|
+
describe('property decorator + getPropertyMeta', () => {
|
|
4
|
+
it('registers a property with its default on the prototype', () => {
|
|
5
|
+
class Node {
|
|
6
|
+
}
|
|
7
|
+
property({ default: 0 })(Node.prototype, 'x');
|
|
8
|
+
const meta = getPropertyMeta(new Node());
|
|
9
|
+
expect(meta).toHaveLength(1);
|
|
10
|
+
expect(meta[0]).toMatchObject({ key: 'x', default: 0 });
|
|
11
|
+
});
|
|
12
|
+
it('omits options when neither mapper nor tween is given', () => {
|
|
13
|
+
class Node {
|
|
14
|
+
}
|
|
15
|
+
property({ default: 1 })(Node.prototype, 'a');
|
|
16
|
+
expect(getPropertyMeta(new Node())[0].options).toBeUndefined();
|
|
17
|
+
});
|
|
18
|
+
it('captures mapper/tween into options when provided', () => {
|
|
19
|
+
class Node {
|
|
20
|
+
}
|
|
21
|
+
const mapper = (v) => v * 2;
|
|
22
|
+
property({ mapper })(Node.prototype, 'scaled');
|
|
23
|
+
const meta = getPropertyMeta(new Node())[0];
|
|
24
|
+
expect(meta.options?.mapper).toBe(mapper);
|
|
25
|
+
});
|
|
26
|
+
it('does not register the same key twice on one class', () => {
|
|
27
|
+
class Node {
|
|
28
|
+
}
|
|
29
|
+
property({ default: 0 })(Node.prototype, 'x');
|
|
30
|
+
property({ default: 5 })(Node.prototype, 'x');
|
|
31
|
+
const meta = getPropertyMeta(new Node());
|
|
32
|
+
expect(meta.filter((m) => m.key === 'x')).toHaveLength(1);
|
|
33
|
+
});
|
|
34
|
+
it('orders inherited metadata base→subclass and dedupes by key', () => {
|
|
35
|
+
class Base {
|
|
36
|
+
}
|
|
37
|
+
property({ default: 1 })(Base.prototype, 'base');
|
|
38
|
+
class Sub extends Base {
|
|
39
|
+
}
|
|
40
|
+
property({ default: 2 })(Sub.prototype, 'sub');
|
|
41
|
+
const meta = getPropertyMeta(new Sub());
|
|
42
|
+
const keys = meta.map((m) => m.key);
|
|
43
|
+
expect(keys).toEqual(['base', 'sub']);
|
|
44
|
+
});
|
|
45
|
+
it('stores metadata under the PROPERTY_META symbol', () => {
|
|
46
|
+
class Node {
|
|
47
|
+
}
|
|
48
|
+
property({ default: 0 })(Node.prototype, 'x');
|
|
49
|
+
expect(Array.isArray(Node.prototype[PROPERTY_META])).toBe(true);
|
|
50
|
+
});
|
|
51
|
+
});
|
|
52
|
+
//# sourceMappingURL=decorator.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decorator.test.js","sourceRoot":"","sources":["../../../src/attributes/properties/decorator.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/** Per-corner border radius values, all fully resolved to numbers. */
|
|
2
|
+
export interface BorderRadiusResolved {
|
|
3
|
+
topLeft: number;
|
|
4
|
+
topRight: number;
|
|
5
|
+
bottomLeft: number;
|
|
6
|
+
bottomRight: number;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Accepted border radius input: a single number applies uniformly to all corners;
|
|
10
|
+
* a partial object overrides only the specified corners (unspecified corners fall
|
|
11
|
+
* back to a previous value or 0 when resolved).
|
|
12
|
+
*/
|
|
13
|
+
export type BorderRadiusProps = number | Partial<BorderRadiusResolved>;
|
|
14
|
+
/** Returns true when `value` is a uniform (single-number) border radius. */
|
|
15
|
+
export declare function isUniformBorderRadius(value: BorderRadiusProps): value is number;
|
|
16
|
+
/**
|
|
17
|
+
* Returns the radius of a single corner from a resolved value.
|
|
18
|
+
* Only valid when all corners are equal (i.e. the value originated from a uniform input).
|
|
19
|
+
*/
|
|
20
|
+
export declare function getUniformBorderRadius(value: BorderRadiusResolved): number;
|
|
21
|
+
/** Returns true when every corner of a resolved border radius is 0. */
|
|
22
|
+
export declare function isZeroBorderRadius(value: BorderRadiusResolved): boolean;
|
|
23
|
+
/** Interpolates each corner independently between two resolved radii. */
|
|
24
|
+
export declare function lerpBorderRadius(from: BorderRadiusResolved, to: BorderRadiusResolved, t: number): BorderRadiusResolved;
|
|
25
|
+
/**
|
|
26
|
+
* Resolves `BorderRadiusProps` into a fully-specified `BorderRadiusResolved`.
|
|
27
|
+
*
|
|
28
|
+
* - A number expands to all four corners set to that value.
|
|
29
|
+
* - A partial object fills missing corners from `previous`, then falls back to 0.
|
|
30
|
+
*/
|
|
31
|
+
export declare function resolveBorderRadius(value: BorderRadiusProps, previous?: BorderRadiusResolved): BorderRadiusResolved;
|
|
32
|
+
//# sourceMappingURL=border-radius.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"border-radius.d.ts","sourceRoot":"","sources":["../../../../src/attributes/shape/corners/border-radius.ts"],"names":[],"mappings":"AAEA,sEAAsE;AACtE,MAAM,WAAW,oBAAoB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACvB;AAED;;;;GAIG;AACH,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;AAEvE,4EAA4E;AAC5E,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,iBAAiB,GAAG,KAAK,IAAI,MAAM,CAE/E;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,oBAAoB,GAAG,MAAM,CAE1E;AAED,uEAAuE;AACvE,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAEvE;AAED,yEAAyE;AACzE,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,oBAAoB,EAAE,EAAE,EAAE,oBAAoB,EAAE,CAAC,EAAE,MAAM,GAAG,oBAAoB,CAOtH;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,iBAAiB,EAAE,QAAQ,CAAC,EAAE,oBAAoB,GAAG,oBAAoB,CAgBnH"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { lerpNumber } from "../../../tween/lerp";
|
|
2
|
+
/** Returns true when `value` is a uniform (single-number) border radius. */
|
|
3
|
+
export function isUniformBorderRadius(value) {
|
|
4
|
+
return typeof value === "number";
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Returns the radius of a single corner from a resolved value.
|
|
8
|
+
* Only valid when all corners are equal (i.e. the value originated from a uniform input).
|
|
9
|
+
*/
|
|
10
|
+
export function getUniformBorderRadius(value) {
|
|
11
|
+
return value.topLeft;
|
|
12
|
+
}
|
|
13
|
+
/** Returns true when every corner of a resolved border radius is 0. */
|
|
14
|
+
export function isZeroBorderRadius(value) {
|
|
15
|
+
return value.topLeft === 0 && value.topRight === 0 && value.bottomRight === 0 && value.bottomLeft === 0;
|
|
16
|
+
}
|
|
17
|
+
/** Interpolates each corner independently between two resolved radii. */
|
|
18
|
+
export function lerpBorderRadius(from, to, t) {
|
|
19
|
+
return {
|
|
20
|
+
topLeft: lerpNumber(from.topLeft, to.topLeft, t),
|
|
21
|
+
topRight: lerpNumber(from.topRight, to.topRight, t),
|
|
22
|
+
bottomLeft: lerpNumber(from.bottomLeft, to.bottomLeft, t),
|
|
23
|
+
bottomRight: lerpNumber(from.bottomRight, to.bottomRight, t),
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Resolves `BorderRadiusProps` into a fully-specified `BorderRadiusResolved`.
|
|
28
|
+
*
|
|
29
|
+
* - A number expands to all four corners set to that value.
|
|
30
|
+
* - A partial object fills missing corners from `previous`, then falls back to 0.
|
|
31
|
+
*/
|
|
32
|
+
export function resolveBorderRadius(value, previous) {
|
|
33
|
+
if (typeof value === "number") {
|
|
34
|
+
return {
|
|
35
|
+
topLeft: value,
|
|
36
|
+
topRight: value,
|
|
37
|
+
bottomLeft: value,
|
|
38
|
+
bottomRight: value,
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
return {
|
|
43
|
+
topLeft: value.topLeft ?? previous?.topLeft ?? 0,
|
|
44
|
+
topRight: value.topRight ?? previous?.topRight ?? 0,
|
|
45
|
+
bottomLeft: value.bottomLeft ?? previous?.bottomLeft ?? 0,
|
|
46
|
+
bottomRight: value.bottomRight ?? previous?.bottomRight ?? 0,
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=border-radius.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"border-radius.js","sourceRoot":"","sources":["../../../../src/attributes/shape/corners/border-radius.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAiB1C,4EAA4E;AAC5E,MAAM,UAAU,qBAAqB,CAAC,KAAwB;IAC1D,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC;AACrC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CAAC,KAA2B;IAC9D,OAAO,KAAK,CAAC,OAAO,CAAC;AACzB,CAAC;AAED,uEAAuE;AACvE,MAAM,UAAU,kBAAkB,CAAC,KAA2B;IAC1D,OAAO,KAAK,CAAC,OAAO,KAAK,CAAC,IAAI,KAAK,CAAC,QAAQ,KAAK,CAAC,IAAI,KAAK,CAAC,WAAW,KAAK,CAAC,IAAI,KAAK,CAAC,UAAU,KAAK,CAAC,CAAC;AAC5G,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,gBAAgB,CAAC,IAA0B,EAAE,EAAwB,EAAE,CAAS;IAC5F,OAAO;QACH,OAAO,EAAE,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;QAChD,QAAQ,EAAE,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;QACnD,UAAU,EAAE,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,CAAC,CAAC;QACzD,WAAW,EAAE,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;KAC/D,CAAC;AACN,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAwB,EAAE,QAA+B;IACzF,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO;YACH,OAAO,EAAE,KAAK;YACd,QAAQ,EAAE,KAAK;YACf,UAAU,EAAE,KAAK;YACjB,WAAW,EAAE,KAAK;SACrB,CAAC;IACN,CAAC;SAAM,CAAC;QACJ,OAAO;YACH,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,QAAQ,EAAE,OAAO,IAAI,CAAC;YAChD,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,QAAQ,EAAE,QAAQ,IAAI,CAAC;YACnD,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,QAAQ,EAAE,UAAU,IAAI,CAAC;YACzD,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,QAAQ,EAAE,WAAW,IAAI,CAAC;SAC/D,CAAC;IACN,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"border-radius.test.d.ts","sourceRoot":"","sources":["../../../../src/attributes/shape/corners/border-radius.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { describe, it, expect } from 'vitest';
|
|
2
|
+
import { isUniformBorderRadius, getUniformBorderRadius, isZeroBorderRadius, lerpBorderRadius, resolveBorderRadius, } from '@/attributes/shape/corners/border-radius';
|
|
3
|
+
const corners = (tl, tr, bl, br) => ({
|
|
4
|
+
topLeft: tl, topRight: tr, bottomLeft: bl, bottomRight: br,
|
|
5
|
+
});
|
|
6
|
+
describe('isUniformBorderRadius', () => {
|
|
7
|
+
it('is true for a number', () => {
|
|
8
|
+
expect(isUniformBorderRadius(8)).toBe(true);
|
|
9
|
+
});
|
|
10
|
+
it('is false for an object', () => {
|
|
11
|
+
expect(isUniformBorderRadius({ topLeft: 8 })).toBe(false);
|
|
12
|
+
});
|
|
13
|
+
});
|
|
14
|
+
describe('getUniformBorderRadius', () => {
|
|
15
|
+
it('returns the (shared) topLeft corner', () => {
|
|
16
|
+
expect(getUniformBorderRadius(corners(4, 4, 4, 4))).toBe(4);
|
|
17
|
+
});
|
|
18
|
+
});
|
|
19
|
+
describe('isZeroBorderRadius', () => {
|
|
20
|
+
it('is true when every corner is 0', () => {
|
|
21
|
+
expect(isZeroBorderRadius(corners(0, 0, 0, 0))).toBe(true);
|
|
22
|
+
});
|
|
23
|
+
it('is false when any corner is non-zero', () => {
|
|
24
|
+
expect(isZeroBorderRadius(corners(0, 0, 0, 1))).toBe(false);
|
|
25
|
+
});
|
|
26
|
+
});
|
|
27
|
+
describe('resolveBorderRadius', () => {
|
|
28
|
+
it('expands a number to all four corners', () => {
|
|
29
|
+
expect(resolveBorderRadius(10)).toEqual(corners(10, 10, 10, 10));
|
|
30
|
+
});
|
|
31
|
+
it('fills missing corners from previous, then 0', () => {
|
|
32
|
+
const previous = corners(1, 2, 3, 4);
|
|
33
|
+
expect(resolveBorderRadius({ topLeft: 99 }, previous)).toEqual(corners(99, 2, 3, 4));
|
|
34
|
+
});
|
|
35
|
+
it('defaults unspecified corners to 0 with no previous', () => {
|
|
36
|
+
expect(resolveBorderRadius({ topRight: 5 })).toEqual(corners(0, 5, 0, 0));
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
describe('lerpBorderRadius', () => {
|
|
40
|
+
it('interpolates each corner independently', () => {
|
|
41
|
+
const from = corners(0, 0, 0, 0);
|
|
42
|
+
const to = corners(10, 20, 30, 40);
|
|
43
|
+
expect(lerpBorderRadius(from, to, 0.5)).toEqual(corners(5, 10, 15, 20));
|
|
44
|
+
});
|
|
45
|
+
it('returns endpoints at t=0 and t=1', () => {
|
|
46
|
+
const from = corners(1, 2, 3, 4);
|
|
47
|
+
const to = corners(5, 6, 7, 8);
|
|
48
|
+
expect(lerpBorderRadius(from, to, 0)).toEqual(from);
|
|
49
|
+
expect(lerpBorderRadius(from, to, 1)).toEqual(to);
|
|
50
|
+
});
|
|
51
|
+
});
|
|
52
|
+
//# sourceMappingURL=border-radius.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"border-radius.test.js","sourceRoot":"","sources":["../../../../src/attributes/shape/corners/border-radius.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/attributes/shape/corners/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,oBAAoB,EACpB,iBAAiB,EACjB,qBAAqB,EACrB,sBAAsB,EACtB,kBAAkB,EAClB,mBAAmB,GACtB,MAAM,iBAAiB,CAAC"}
|