/**  
 * @since Last modified: 2024/04/17 20:55:06
 * @class LinkElem
 * @description The father of all a elements.
 * @example
 * class xxxElement extends LinkElem;
 */

import { T_obj } from '../../../types/ax';
import Observe from '../modules/Observe';
import attrJoinVal from '../utils/attrJoinVal';

class LinkElem extends  HTMLAnchorElement {
    propsRaw: any;
    properties: any;
    propsProxy: any;
    observer: any;
    reset: any;
    constructor() {
        super();
        this.propsRaw = {};
        this.properties = {};
        
        this.reset = () => {
            this.render(this.propsRaw);
        }
    }
    createObserver() {
        
        this.observer = new Observe(this.properties);
        this.propsProxy = this.observer.proxy;
    }
    
    render(data:T_obj){
        
    }

}
window.customElements.define("ax-link", LinkElem);
export default LinkElem;
