/** * Options of the `layoutgroup` component accepted by {@link LayoutGroupComponentSystem} that differ * from the properties of {@link LayoutGroupComponent}. Each replaces the same-named property of the * options that {@link Entity#addComponent} derives from the component class; see * {@link ComponentOptionsOverrides}. */ export type LayoutGroupComponentOptionsOverrides = { /** * - Same as {@link LayoutGroupComponent#alignment}, also * accepting an `[x, y]` array. */ alignment?: Vec2 | number[]; /** * - Same as {@link LayoutGroupComponent#padding}, also * accepting an `[x, y, z, w]` array. */ padding?: Vec4 | number[]; /** * - Same as {@link LayoutGroupComponent#spacing}, also * accepting an `[x, y]` array. */ spacing?: Vec2 | number[]; }; /** * Manages the {@link LayoutGroupComponent}s of an application. Reach it through * `app.systems.layoutgroup`; components are created with {@link Entity#addComponent}, never by * calling the system directly. * * @category User Interface */ export class LayoutGroupComponentSystem extends ComponentSystem { id: string; ComponentType: typeof LayoutGroupComponent; _reflowQueue: any[]; initializeComponentData(component: any, data: any, properties: any): void; cloneComponent(entity: any, clone: any): import("../component.js").Component; scheduleReflow(component: any): void; _onPostUpdate(): void; _processReflowQueue(): void; onBeforeRemove(entity: any, component: any): void; } import { Vec2 } from '../../../core/math/vec2.js'; import { Vec4 } from '../../../core/math/vec4.js'; import { ComponentSystem } from '../system.js'; import { LayoutGroupComponent } from './component.js';