| 12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- import { isMotionValue } from '../../value/utils/is-motion-value.mjs';
- import { VisualElement } from '../VisualElement.mjs';
- import { DOMKeyframesResolver } from './DOMKeyframesResolver.mjs';
- class DOMVisualElement extends VisualElement {
- constructor() {
- super(...arguments);
- this.KeyframeResolver = DOMKeyframesResolver;
- }
- sortInstanceNodePosition(a, b) {
- /**
- * compareDocumentPosition returns a bitmask, by using the bitwise &
- * we're returning true if 2 in that bitmask is set to true. 2 is set
- * to true if b preceeds a.
- */
- return a.compareDocumentPosition(b) & 2 ? 1 : -1;
- }
- getBaseTargetFromProps(props, key) {
- return props.style
- ? props.style[key]
- : undefined;
- }
- removeValueFromRenderState(key, { vars, style }) {
- delete vars[key];
- delete style[key];
- }
- handleChildMotionValue() {
- if (this.childSubscription) {
- this.childSubscription();
- delete this.childSubscription;
- }
- const { children } = this.props;
- if (isMotionValue(children)) {
- this.childSubscription = children.on("change", (latest) => {
- if (this.current) {
- this.current.textContent = `${latest}`;
- }
- });
- }
- }
- }
- export { DOMVisualElement };
|