@pmndrs/uikit
Version:
Build performant 3D user interfaces with Three.js and yoga.
21 lines (20 loc) • 1.09 kB
TypeScript
import { Signal } from '@preact/signals-core';
import { Matrix4 } from 'three';
import { alignmentXMap, alignmentYMap } from './utils.js';
import { Component } from './components/component.js';
import { type NumberValue, type AbsoluteLengthValue, type LengthValue, type NumberOrPercentageValue } from './properties/values.js';
export type { AbsoluteLengthValue, LengthValue, NumberOrPercentageValue, NumberValue } from './properties/values.js';
export type TransformProperties = {
transformTranslateX?: LengthValue;
transformTranslateY?: LengthValue;
transformTranslateZ?: AbsoluteLengthValue;
transformRotateX?: NumberValue;
transformRotateY?: NumberValue;
transformRotateZ?: NumberValue;
transformScaleX?: NumberOrPercentageValue;
transformScaleY?: NumberOrPercentageValue;
transformScaleZ?: NumberOrPercentageValue;
transformOriginX?: keyof typeof alignmentXMap;
transformOriginY?: keyof typeof alignmentYMap;
};
export declare function computedTransformMatrix({ relativeCenter, size, properties, root, }: Component): Signal<Matrix4 | undefined>;