@servicenow/library-enhanced-element
Version:
Base element for Now Design System components
18 lines (15 loc) • 739 B
JavaScript
import {createCustomElement} from '@servicenow/ui-core';
import {extendWithLocals} from './locals';
import {extendWithCast} from './cast';
import {extendWithDefaultBehaviors} from './default-behaviors';
import {extendWithManageableProperties} from './manageable-properties';
import {extendWithOnRender} from './on-render';
const createEnhancedElement = (name, baseConfig = {}) => {
let mergedConfig = extendWithCast(baseConfig);
mergedConfig = extendWithLocals(mergedConfig);
mergedConfig = extendWithDefaultBehaviors(mergedConfig);
mergedConfig = extendWithManageableProperties(name, mergedConfig);
mergedConfig = extendWithOnRender(mergedConfig);
createCustomElement(name, mergedConfig);
};
export default createEnhancedElement;