2021-12-08 22:43:31 +01:00
|
|
|
import KEC from '../objects/kute';
|
|
|
|
import linkProperty from '../objects/linkProperty';
|
|
|
|
import supportedProperties from '../objects/supportedProperties';
|
2021-03-30 11:23:29 +02:00
|
|
|
|
2021-12-08 22:43:31 +01:00
|
|
|
/**
|
|
|
|
* linkInterpolation
|
|
|
|
* @this {KUTE.Tween}
|
|
|
|
*/
|
2021-03-30 11:23:29 +02:00
|
|
|
export default function linkInterpolation() { // DON'T change
|
|
|
|
Object.keys(linkProperty).forEach((component) => {
|
|
|
|
const componentLink = linkProperty[component];
|
|
|
|
const componentProps = supportedProperties[component];
|
|
|
|
|
|
|
|
Object.keys(componentLink).forEach((fnObj) => {
|
|
|
|
if (typeof (componentLink[fnObj]) === 'function' // ATTR, colors, scroll, boxModel, borderRadius
|
|
|
|
&& Object.keys(this.valuesEnd).some((i) => (componentProps && componentProps.includes(i))
|
|
|
|
|| (i === 'attr' && Object.keys(this.valuesEnd[i]).some((j) => componentProps && componentProps.includes(j))))) {
|
2021-12-08 22:43:31 +01:00
|
|
|
if (!KEC[fnObj]) KEC[fnObj] = componentLink[fnObj];
|
2021-03-30 11:23:29 +02:00
|
|
|
} else {
|
|
|
|
Object.keys(this.valuesEnd).forEach((prop) => {
|
2021-03-31 10:08:58 +02:00
|
|
|
const propObject = this.valuesEnd[prop];
|
|
|
|
if (propObject instanceof Object) {
|
|
|
|
Object.keys(propObject).forEach((i) => {
|
|
|
|
if (typeof (componentLink[i]) === 'function') { // transformCSS3
|
2021-12-08 22:43:31 +01:00
|
|
|
if (!KEC[i]) KEC[i] = componentLink[i];
|
2021-03-31 10:08:58 +02:00
|
|
|
} else {
|
|
|
|
Object.keys(componentLink[fnObj]).forEach((j) => {
|
|
|
|
if (componentLink[i] && typeof (componentLink[i][j]) === 'function') { // transformMatrix
|
2021-12-08 22:43:31 +01:00
|
|
|
if (!KEC[j]) KEC[j] = componentLink[i][j];
|
2021-03-31 10:08:58 +02:00
|
|
|
}
|
|
|
|
});
|
|
|
|
}
|
|
|
|
});
|
|
|
|
}
|
2021-03-30 11:23:29 +02:00
|
|
|
});
|
|
|
|
}
|
|
|
|
});
|
|
|
|
});
|
|
|
|
}
|