{"version":3,"file":"vue-daum-postcode.mjs","sources":["../node_modules/nano-loader/index.mjs","../src/createVueDaumPostcode.ts","../src/VueDaumPostcode.ts","../src/index.ts"],"sourcesContent":["function i(r){let e=null;return()=>{try{return e||(e=Promise.resolve(r()).catch(o=>{throw e=null,o}))}catch(o){return Promise.reject(o)}}}var c=i,s=(r,e)=>new Promise((o,n)=>{let t=document.createElement(\"script\");(document.head||document.body).appendChild(Object.assign(t,e,{src:r,async:!0,onload:o,onerror:()=>{t.remove(),n(new Error(`Failed to load script: ${r}`))}}))});typeof document>\"u\"&&(s=()=>Promise.reject(new Error(\"load is not supported in nodejs\")));export{c as defer,s as load,i as once};\n","import { once, load } from \"nano-loader\";\nimport { defineComponent, PropType, h } from \"vue\";\n\nimport type {\n  VueDaumPostcodeCompleteResult,\n  VueDaumPostcodeResizeResult,\n  VueDaumPostcodeSearchResult,\n  VueDaumPostcodeTheme,\n} from \"./interfaces\";\n\nexport interface CreateVueDaumPostcodeOptions {\n  scriptUrl?: string | null;\n}\n\nexport function createVueDaumPostcode(\n  options: CreateVueDaumPostcodeOptions = {},\n) {\n  const scriptUrl =\n    options.scriptUrl ||\n    \"//t1.kakaocdn.net/mapjsapi/bundle/postcode/prod/postcode.v2.js\";\n  const loadDaumPostcode = once(() =>\n    load(scriptUrl).then(\n      () =>\n        new Promise<void>((resolve) =>\n          (window as any).kakao.postcode.load(resolve),\n        ),\n    ),\n  );\n\n  return defineComponent({\n    props: {\n      q: {\n        type: String,\n        default: \"\",\n      },\n      animation: {\n        type: Boolean,\n        default: false,\n      },\n      noAutoMapping: {\n        type: Boolean,\n        default: false,\n      },\n      noShorthand: {\n        type: Boolean,\n        default: false,\n      },\n      noSubmitMode: {\n        type: Boolean,\n        default: false,\n      },\n      pleaseReadGuide: {\n        type: Number,\n        default: 0,\n      },\n      pleaseReadGuideTimer: {\n        type: Number,\n        default: 1.5,\n      },\n      maxSuggestItems: {\n        type: Number,\n        default: 10,\n      },\n      showMoreHName: {\n        type: Boolean,\n        default: false,\n      },\n      hideMapBtn: {\n        type: Boolean,\n        default: false,\n      },\n      hideEngBtn: {\n        type: Boolean,\n        default: false,\n      },\n      alwaysShowEngAddr: {\n        type: Boolean,\n        default: false,\n      },\n      zonecodeOnly: {\n        type: Boolean,\n        default: false,\n      },\n      theme: {\n        type: Object as PropType<VueDaumPostcodeTheme>,\n        default: () => ({}),\n      },\n    },\n    data() {\n      return {\n        styleHeight: 0 as string | number,\n        isLoaded: false,\n      };\n    },\n    mounted() {\n      loadDaumPostcode()\n        .then(() => {\n          this.isLoaded = true;\n          return this.$nextTick();\n        })\n        .then(() => {\n          new (window as any).kakao.Postcode({\n            width: \"100%\",\n            height: \"100%\",\n            animation: this.animation,\n            autoMapping: !this.noAutoMapping,\n            shorthand: !this.noShorthand,\n            pleaseReadGuide: this.pleaseReadGuide,\n            pleaseReadGuideTimer: this.pleaseReadGuideTimer,\n            maxSuggestItems: this.maxSuggestItems,\n            showMoreHName: this.showMoreHName,\n            hideMapBtn: this.hideMapBtn,\n            hideEngBtn: this.hideEngBtn,\n            alwaysShowEngAddr: this.alwaysShowEngAddr,\n            zonecodeOnly: this.zonecodeOnly,\n            theme: this.theme,\n            submitMode: !this.noSubmitMode,\n            onsearch: (data: VueDaumPostcodeSearchResult) => {\n              this.$emit(\"search\", data);\n            },\n            oncomplete: (data: VueDaumPostcodeCompleteResult) => {\n              this.$emit(\"complete\", data);\n            },\n            onresize: (data: VueDaumPostcodeResizeResult) => {\n              this.styleHeight = `${data.height}px`;\n              this.$emit(\"resize\", data);\n            },\n          }).embed(this.$refs.container, {\n            q: this.q,\n            autoClose: false,\n          });\n          this.$emit(\"load\");\n        })\n        .catch((e) => {\n          const error = new Error(`Load ${scriptUrl} failed.`);\n          error.cause = e;\n          this.$emit(\"error\", error);\n        });\n    },\n    render() {\n      return h(\n        \"div\",\n        {\n          class: [\"vue-daum-postcode\"],\n        },\n        this.isLoaded || !this.$slots.loading\n          ? [\n              h(\"div\", {\n                class: [\"vue-daum-postcode-container\"],\n                ref: \"container\",\n                style: {\n                  height: this.styleHeight,\n                },\n              }),\n            ]\n          : [\n              h(\n                \"div\",\n                {\n                  class: [\"vue-daum-postcode-loading\"],\n                },\n                [this.$slots.loading()],\n              ),\n            ],\n      );\n    },\n  });\n}\n","import { createVueDaumPostcode } from \"./createVueDaumPostcode\";\n\nconst VueDaumPostcode = createVueDaumPostcode();\n\nexport default VueDaumPostcode;\n","import { App, Plugin } from \"vue\";\n\nimport VueDaumPostcode from \"./VueDaumPostcode\";\nimport { createVueDaumPostcode } from \"./createVueDaumPostcode\";\nimport type { CreateVueDaumPostcodeOptions } from \"./createVueDaumPostcode\";\nimport type {\n  VueDaumPostcodeTheme,\n  VueDaumPostcodeCompleteResult,\n  VueDaumPostcodeSearchResult,\n  VueDaumPostcodeResizeResult,\n} from \"./interfaces\";\n\nexport interface VueDaumPostcodeInstallOptions extends CreateVueDaumPostcodeOptions {\n  name?: string | null;\n}\n\nexport function install(\n  app: App,\n  { name, ...options }: VueDaumPostcodeInstallOptions = {},\n) {\n  app.component(\n    name ?? \"VueDaumPostcode\",\n    Object.keys(options).length > 0\n      ? createVueDaumPostcode(options)\n      : VueDaumPostcode,\n  );\n}\n\nconst plugin: Plugin = {\n  install,\n};\n\nexport {\n  plugin as default,\n  createVueDaumPostcode,\n  CreateVueDaumPostcodeOptions,\n  VueDaumPostcodeTheme,\n  VueDaumPostcode,\n  VueDaumPostcodeCompleteResult,\n  VueDaumPostcodeSearchResult,\n  VueDaumPostcodeResizeResult,\n};\n"],"names":["i","r","e","s","n","t","createVueDaumPostcode","options","scriptUrl","loadDaumPostcode","once","load","resolve","defineComponent","data","error","h","VueDaumPostcode","install","app","name","plugin"],"mappings":";AAAA,SAASA,EAAEC,GAAE;AAAC,MAAIC,IAAE;AAAK,SAAM,MAAI;AAAC,QAAG;AAAC,aAAOA,MAAIA,IAAE,QAAQ,QAAQD,GAAG,EAAE,MAAM,OAAG;AAAC,cAAMC,IAAE,MAAK;AAAA,MAAC,CAAC;AAAA,IAAE,SAAO,GAAE;AAAC,aAAO,QAAQ,OAAO,CAAC;AAAA,IAAC;AAAA,EAAC;AAAC;AAAI,IAAKC,IAAE,CAACF,GAAEC,MAAI,IAAI,QAAQ,CAAC,GAAEE,MAAI;AAAC,MAAIC,IAAE,SAAS,cAAc,QAAQ;AAAE,GAAC,SAAS,QAAM,SAAS,MAAM,YAAY,OAAO,OAAOA,GAAEH,GAAE,EAAC,KAAID,GAAE,OAAM,IAAG,QAAO,GAAE,SAAQ,MAAI;AAAC,IAAAI,EAAE,OAAM,GAAGD,EAAE,IAAI,MAAM,0BAA0BH,CAAC,EAAE,CAAC;AAAA,EAAC,EAAC,CAAC,CAAC;AAAC,CAAC;AAAE,OAAO,WAAS,QAAME,IAAE,MAAI,QAAQ,OAAO,IAAI,MAAM,iCAAiC,CAAC;ACctc,SAASG,EACdC,IAAwC,IACxC;AACA,QAAMC,IACJD,EAAQ,aACR,kEACIE,IAAmBC;AAAAA,IAAK,MAC5BC,EAAKH,CAAS,EAAE;AAAA,MACd,MACE,IAAI;AAAA,QAAc,CAACI,MAChB,OAAe,MAAM,SAAS,KAAKA,CAAO;AAAA,MAAA;AAAA,IAC7C;AAAA,EACJ;AAGF,SAAOC,EAAgB;AAAA,IACrB,OAAO;AAAA,MACL,GAAG;AAAA,QACD,MAAM;AAAA,QACN,SAAS;AAAA,MAAA;AAAA,MAEX,WAAW;AAAA,QACT,MAAM;AAAA,QACN,SAAS;AAAA,MAAA;AAAA,MAEX,eAAe;AAAA,QACb,MAAM;AAAA,QACN,SAAS;AAAA,MAAA;AAAA,MAEX,aAAa;AAAA,QACX,MAAM;AAAA,QACN,SAAS;AAAA,MAAA;AAAA,MAEX,cAAc;AAAA,QACZ,MAAM;AAAA,QACN,SAAS;AAAA,MAAA;AAAA,MAEX,iBAAiB;AAAA,QACf,MAAM;AAAA,QACN,SAAS;AAAA,MAAA;AAAA,MAEX,sBAAsB;AAAA,QACpB,MAAM;AAAA,QACN,SAAS;AAAA,MAAA;AAAA,MAEX,iBAAiB;AAAA,QACf,MAAM;AAAA,QACN,SAAS;AAAA,MAAA;AAAA,MAEX,eAAe;AAAA,QACb,MAAM;AAAA,QACN,SAAS;AAAA,MAAA;AAAA,MAEX,YAAY;AAAA,QACV,MAAM;AAAA,QACN,SAAS;AAAA,MAAA;AAAA,MAEX,YAAY;AAAA,QACV,MAAM;AAAA,QACN,SAAS;AAAA,MAAA;AAAA,MAEX,mBAAmB;AAAA,QACjB,MAAM;AAAA,QACN,SAAS;AAAA,MAAA;AAAA,MAEX,cAAc;AAAA,QACZ,MAAM;AAAA,QACN,SAAS;AAAA,MAAA;AAAA,MAEX,OAAO;AAAA,QACL,MAAM;AAAA,QACN,SAAS,OAAO,CAAA;AAAA,MAAC;AAAA,IACnB;AAAA,IAEF,OAAO;AACL,aAAO;AAAA,QACL,aAAa;AAAA,QACb,UAAU;AAAA,MAAA;AAAA,IAEd;AAAA,IACA,UAAU;AACR,MAAAJ,EAAA,EACG,KAAK,OACJ,KAAK,WAAW,IACT,KAAK,UAAA,EACb,EACA,KAAK,MAAM;AACV,YAAK,OAAe,MAAM,SAAS;AAAA,UACjC,OAAO;AAAA,UACP,QAAQ;AAAA,UACR,WAAW,KAAK;AAAA,UAChB,aAAa,CAAC,KAAK;AAAA,UACnB,WAAW,CAAC,KAAK;AAAA,UACjB,iBAAiB,KAAK;AAAA,UACtB,sBAAsB,KAAK;AAAA,UAC3B,iBAAiB,KAAK;AAAA,UACtB,eAAe,KAAK;AAAA,UACpB,YAAY,KAAK;AAAA,UACjB,YAAY,KAAK;AAAA,UACjB,mBAAmB,KAAK;AAAA,UACxB,cAAc,KAAK;AAAA,UACnB,OAAO,KAAK;AAAA,UACZ,YAAY,CAAC,KAAK;AAAA,UAClB,UAAU,CAACK,MAAsC;AAC/C,iBAAK,MAAM,UAAUA,CAAI;AAAA,UAC3B;AAAA,UACA,YAAY,CAACA,MAAwC;AACnD,iBAAK,MAAM,YAAYA,CAAI;AAAA,UAC7B;AAAA,UACA,UAAU,CAACA,MAAsC;AAC/C,iBAAK,cAAc,GAAGA,EAAK,MAAM,MACjC,KAAK,MAAM,UAAUA,CAAI;AAAA,UAC3B;AAAA,QAAA,CACD,EAAE,MAAM,KAAK,MAAM,WAAW;AAAA,UAC7B,GAAG,KAAK;AAAA,UACR,WAAW;AAAA,QAAA,CACZ,GACD,KAAK,MAAM,MAAM;AAAA,MACnB,CAAC,EACA,MAAM,CAAC,MAAM;AACZ,cAAMC,IAAQ,IAAI,MAAM,QAAQP,CAAS,UAAU;AACnD,QAAAO,EAAM,QAAQ,GACd,KAAK,MAAM,SAASA,CAAK;AAAA,MAC3B,CAAC;AAAA,IACL;AAAA,IACA,SAAS;AACP,aAAOC;AAAA,QACL;AAAA,QACA;AAAA,UACE,OAAO,CAAC,mBAAmB;AAAA,QAAA;AAAA,QAE7B,KAAK,YAAY,CAAC,KAAK,OAAO,UAC1B;AAAA,UACEA,EAAE,OAAO;AAAA,YACP,OAAO,CAAC,6BAA6B;AAAA,YACrC,KAAK;AAAA,YACL,OAAO;AAAA,cACL,QAAQ,KAAK;AAAA,YAAA;AAAA,UACf,CACD;AAAA,QAAA,IAEH;AAAA,UACEA;AAAA,YACE;AAAA,YACA;AAAA,cACE,OAAO,CAAC,2BAA2B;AAAA,YAAA;AAAA,YAErC,CAAC,KAAK,OAAO,QAAA,CAAS;AAAA,UAAA;AAAA,QACxB;AAAA,MACF;AAAA,IAER;AAAA,EAAA,CACD;AACH;ACrKA,MAAMC,IAAkBX,EAAA;ACcjB,SAASY,EACdC,GACA,EAAE,MAAAC,GAAM,GAAGb,EAAA,IAA2C,CAAA,GACtD;AACA,EAAAY,EAAI;AAAA,IACFC,KAAQ;AAAA,IACR,OAAO,KAAKb,CAAO,EAAE,SAAS,IAC1BD,EAAsBC,CAAO,IAC7BU;AAAA,EAAA;AAER;AAEA,MAAMI,IAAiB;AAAA,EACrB,SAAAH;AACF;","x_google_ignoreList":[0]}