{"version":3,"sources":["https://lively-kernel.org/lively4/lively4-jsx/src/client/reactive/components/rewritten/conduit/rpComponents/link-rp19.js"],"names":["ReactiveMorph","router","Link","attachedCallback","isDummy","addAExpr","lastChild","resolve","_render","nextHtmlDoc","htmlDoc","differentialUpdate","onClick","evt","preventDefault","targetDestination","currentRouter","navigateTo","render","wrapper","getAttribute"],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;AAEOA,mB;;AACEC,Y,wEAAAA,M;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEM,YAAMC,IAAN,SAAmBF,aAAnB,CAAiC;;AAE9CG,2BAAmB;AACjB,wFAAI,KAAKC,OAAL,EAAJ;AAAoB;AAApB,WACA,0CAAkB,IAAlB;AAFiB;AAGjB,eAAKC,QAAL,mBAAc,OAAM;AAAM;AAAN,WAAN;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAAd,eAAmDC,aAAa;AAAA;;AAC9D,gBAAI,8HAAsB,GAA1B,EAA+B;AAC7B,wDAAkB,IAAlB;AACC,4MACEC,OADF,4EACU,KAAKC,OAAL,EADV,cAEOC;AAAA;AAAe,0JAA0BA,WAA1B;AAAf,eAFP,aAGOC;AAAA;AAAW,iHAAKC,kBAAL,qFAAwBD,OAAxB;AAAX,eAHP;AAIF;AACF,WARD;AASA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AACD;;AAEDE,gBAAQC,GAAR,EAAa;AAAA;AAAA;;AACX,2FAAIC,cAAJ;AACA,gBAAM,EAAEC,iBAAF,gBAAwB,IAAxB,UAAN;AACA,cAAI,yGAACA,iBAAD,CAAJ;AAAwB;AAAxB,WACA,MAAMC,gBAAgB,0FAAtB;AACA,6GAAIA,aAAJ;AAAA;;AACE,2HAAcC,UAAd,yGAAyBF,iBAAzB;AADF;AAED;;AAEDG,iBAAS;AAAA;;AACP,gBAAMC,kEAEM,GAAE,qFAAKC,YAAL,CAAkB,WAAlB,MAAkC,EAAG,IAAG,oDAAsB,QAAtB,GAAiC,EAAG,EAFpF,mCAGG,GAHH,iCAIKP;AAAA;AAAO,kGAAKD,OAAL,6EAAaC,GAAb;AAAP,WAJL;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAAN;AAOA,2IAAoB,IAApB;AACA,oGAAOM,OAAP;AACD;;AApC6C;;AAAA;;yBAA3BjB,I","file":"link-rp19.js","sourcesContent":["'enable rp19-jsx';\n\nimport ReactiveMorph from 'src/client/reactive/components/rewritten/conduit/rpComponents/reactiveMorph.js';\nimport { router } from 'src/client/reactive/components/rewritten/conduit/rpComponents/router-rp19.js';\n\nexport default class Link extends ReactiveMorph {\n  \n  attachedCallback() {\n    if (this.isDummy()) return;\n    this._innerHTML = this.innerHTML;\n    this.addAExpr(aexpr(() => this.lastChild).onChange(lastChild => {\n      if (lastChild.tagName !== 'A') {\n        this._innerHTML = this.innerHTML;\n         Promise\n          .resolve(this._render())\n          .then(nextHtmlDoc => this.lastResolvedRender = nextHtmlDoc)\n          .then(htmlDoc => this.differentialUpdate(htmlDoc))\n      }\n    }));\n    super.attachedCallback();\n  }\n  \n  onClick(evt) {\n    evt.preventDefault();\n    const { targetDestination } = this.props;\n    if (!targetDestination) return;\n    const currentRouter = router();\n    if (currentRouter)\n      currentRouter.navigateTo(targetDestination);\n  }\n  \n  render() {\n    const wrapper = (\n      <a \n        class={`${this.getAttribute('className') || ''} ${this.props.isActive ? 'active' : ''}`} \n        href=\"#\"\n        click={evt => this.onClick(evt)}\n      />\n    );\n    wrapper.innerHTML = this._innerHTML;\n    return wrapper;\n  }\n}"]}