{"version":3,"file":"index.cjs","sources":["../src/InkMde.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { ink, renderToString } from 'ink-mde'\nimport type * as Ink from 'ink-mde'\nimport { type PropType, defineComponent } from 'vue'\n\nexport default defineComponent({\n  name: 'InkMde',\n  props: {\n    modelValue: {\n      type: String,\n    },\n    options: {\n      type: Object as PropType<Ink.Options>,\n    },\n  },\n  emits: ['update:modelValue'],\n  data() {\n    return {\n      html: '',\n      instance: undefined,\n    } as { html: string, instance?: Ink.Instance }\n  },\n  watch: {\n    modelValue(value) {\n      if (this.instance?.getDoc() !== value) {\n        this.instance?.update(value)\n      }\n    },\n    options: {\n      deep: true,\n      handler(newValue, _oldValue) {\n        this.instance?.reconfigure(newValue)\n      },\n    },\n  },\n  created() {\n    if (import.meta.env.VITE_SSR) {\n      this.html = renderToString(this.options)\n    }\n  },\n  mounted() {\n    this.tryInit()\n  },\n  updated() {\n    this.tryInit()\n  },\n  methods: {\n    tryInit() {\n      if (this.$refs.ink && !this.instance) {\n        this.instance = ink(this.$refs.ink as HTMLElement, {\n          ...this.options,\n          doc: this.modelValue,\n          hooks: {\n            ...this.options?.hooks,\n            afterUpdate: (doc: string) => {\n              this.$emit('update:modelValue', doc)\n\n              if (this.options?.hooks?.afterUpdate) {\n                this.options.hooks.afterUpdate(doc)\n              }\n            },\n          },\n        })\n\n        // @ts-expect-error Todo: Fix type recognition on $refs.\n        this.$refs.ink.addEventListener('input', (event: InputEvent) => {\n          event.stopPropagation()\n        })\n      }\n    },\n  },\n})\n</script>\n\n<template>\n  <div ref=\"ink\" v-html=\"html\" />\n</template>\n"],"names":["defineComponent","renderToString","ink","_a","_ssrRenderAttrs","_mergeProps"],"mappings":";;;;;AAKA,MAAA,YAAeA,oBAAgB;AAAA,EAC7B,MAAM;AAAA,EACN,OAAO;AAAA,IACL,YAAY;AAAA,MACV,MAAM;AAAA,IACR;AAAA,IACA,SAAS;AAAA,MACP,MAAM;AAAA,IACR;AAAA,EACF;AAAA,EACA,OAAO,CAAC,mBAAmB;AAAA,EAC3B,OAAO;AACE,WAAA;AAAA,MACL,MAAM;AAAA,MACN,UAAU;AAAA,IAAA;AAAA,EAEd;AAAA,EACA,OAAO;AAAA,IACL,WAAW,OAAO;;AAChB,YAAI,UAAK,aAAL,mBAAe,cAAa,OAAO;AAChC,mBAAA,aAAA,mBAAU,OAAO;AAAA,MACxB;AAAA,IACF;AAAA,IACA,SAAS;AAAA,MACP,MAAM;AAAA,MACN,QAAQ,UAAU,WAAW;;AACtB,mBAAA,aAAA,mBAAU,YAAY;AAAA,MAC7B;AAAA,IACF;AAAA,EACF;AAAA,EACA,UAAU;AACsB;AACvB,WAAA,OAAOC,OAAAA,eAAe,KAAK,OAAO;AAAA,IACzC;AAAA,EACF;AAAA,EACA,UAAU;AACR,SAAK,QAAQ;AAAA,EACf;AAAA,EACA,UAAU;AACR,SAAK,QAAQ;AAAA,EACf;AAAA,EACA,SAAS;AAAA,IACP,UAAU;;AACR,UAAI,KAAK,MAAM,OAAO,CAAC,KAAK,UAAU;AACpC,aAAK,WAAWC,OAAAA,IAAI,KAAK,MAAM,KAAoB;AAAA,UACjD,GAAG,KAAK;AAAA,UACR,KAAK,KAAK;AAAA,UACV,OAAO;AAAA,YACL,IAAG,UAAK,YAAL,mBAAc;AAAA,YACjB,aAAa,CAAC,QAAgB;;AACvB,mBAAA,MAAM,qBAAqB,GAAG;AAE/B,mBAAA,MAAAC,MAAA,KAAK,YAAL,gBAAAA,IAAc,UAAd,mBAAqB,aAAa;AAC/B,qBAAA,QAAQ,MAAM,YAAY,GAAG;AAAA,cACpC;AAAA,YACF;AAAA,UACF;AAAA,QAAA,CACD;AAGD,aAAK,MAAM,IAAI,iBAAiB,SAAS,CAAC,UAAsB;AAC9D,gBAAM,gBAAgB;AAAA,QAAA,CACvB;AAAA,MACH;AAAA,IACF;AAAA,EACF;AACF,CAAC;;;;;;;;AAvED,SAAA,eAAA,MAAA,OA2EU,SAAM,QA3EhB,QAAA,QAAA,OAAA,UAAA;AA2E6B,QAAA,OAAAC,eAAAA,eAAAC,IAAAA,WAAA,EAAA,KAAA,MAAA,GAAA,MAAA,CAAA,CAAA,IAAA,KAAA,QAAA,EAAA,QAAA;;;;;;;;;;;"}