UNPKG

flexacore-ui-dev

Version:

Universal UI Framework for CDN, React, Angular, Vue, Svelte with TypeScript support

47 lines (46 loc) 1.52 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.BaseComponent = exports.ComponentManagerPlugin = void 0; class ComponentManagerPlugin { constructor() { this.name = 'component-manager'; this.version = '2.0.0'; this.components = new Map(); this.engine = null; } init(engine) { this.engine = engine; // Không auto DOM, chỉ cung cấp API universal } registerComponent(name, def) { var _a, _b; this.components.set(name, def); (_b = (_a = this.engine) === null || _a === void 0 ? void 0 : _a.log) === null || _b === void 0 ? void 0 : _b.call(_a, `Component "${name}" registered`); } getComponent(name) { return this.components.get(name); } getAllComponents() { return Array.from(this.components.entries()); } getAPI() { return { registerComponent: this.registerComponent.bind(this), getComponent: this.getComponent.bind(this), getAllComponents: this.getAllComponents.bind(this) }; } } exports.ComponentManagerPlugin = ComponentManagerPlugin; // BaseComponent universal (không phụ thuộc DOM) class BaseComponent { constructor(options, engine) { this.initialized = false; this.options = options; this.engine = engine; this.init(); } init() { this.initialized = true; } destroy() { this.initialized = false; } } exports.BaseComponent = BaseComponent;