import * as PIXI from "pixi.js"; import { Component, Container, DisplayObject, DisplayObjectMutable, DisplayObjectProps, } from "../types"; import { getDisplayObjectMutable, setDisplayObjectProps } from "../utils"; export type ContainerProps = {} & DisplayObjectProps; export type ContainerMutable = { add: (displayObjectMutable: DisplayObjectMutable) => void; remove: (displayObjectMutable: DisplayObjectMutable) => void; } & DisplayObjectMutable; export const containerComponent: Component = ( props, ) => { const container = new PIXI.Container() as Container; setDisplayObjectProps(container, props); return { ...getDisplayObjectMutable(container), // add: (displayObjectMutable) => container.addChild(displayObjectMutable.getDisplayObject()), remove: (displayObjectMutable) => container.removeChild(displayObjectMutable.getDisplayObject()), }; };