{"version":3,"file":"index-DszZ3txh.js","sources":["../../../app/assets/javascripts/components/buttons/copy_btn/index.ts"],"sourcesContent":["\nimport $ from \"jquery\"\nimport Clipboard from \"clipboard\"\n\n\ninterface Selector {\n  scope:  string | HTMLElement | JQuery\n  button: string | HTMLElement | JQuery\n}\nexport interface InputSelector {\n  scope:    string | HTMLElement | JQuery\n  button?:  string | HTMLElement | JQuery\n}\nconst default_selector = {\n  scope: \"body\",\n  button: \".js-listing-reference-copy\",\n}\n\n\nclass CopyBtn {\n  protected selector: Selector\n  protected $scope:   JQuery\n  protected $el:      JQuery\n  protected clip:     Clipboard | null\n\n  constructor(selector: InputSelector){\n    this.selector = Object.assign({}, default_selector, selector)\n    this.$scope = $(this.selector.scope)\n\n    if (this.$scope.length !== 1 ) {\n      throw new Error(\"clipboard btn init with more than one element\")\n    }\n\n    this.$el = this.$scope.find(this.selector.button)\n\n    this.clip = new Clipboard(this.$el[0])\n    this.bind_action()\n    return this\n  }\n\n  protected bind_action(){\n    if (this.clip != null) {\n      this.clip.on(\"success\", (e) => this.onSuccess(e))\n    }\n    // to Stop weird jumping to page top\n    this.$el.on(\"click\", (e) => e.preventDefault())\n    return this\n  }\n  protected onSuccess(e: ClipboardJS.Event){\n    e.clearSelection()\n  }\n}\n\nexport {\n  CopyBtn,\n}\n"],"names":["default_selector","CopyBtn","selector","$","Clipboard","e"],"mappings":"qFAaA,MAAMA,EAAmB,CACvB,MAAO,OACP,OAAQ,4BACV,EAGA,MAAMC,CAAQ,CAMZ,YAAYC,EAAwB,CAI9B,GAHJ,KAAK,SAAW,OAAO,OAAO,CAAC,EAAGF,EAAkBE,CAAQ,EAC5D,KAAK,OAASC,EAAE,KAAK,SAAS,KAAK,EAE/B,KAAK,OAAO,SAAW,EACnB,MAAA,IAAI,MAAM,+CAA+C,EAGjE,YAAK,IAAM,KAAK,OAAO,KAAK,KAAK,SAAS,MAAM,EAEhD,KAAK,KAAO,IAAIC,EAAU,KAAK,IAAI,CAAC,CAAC,EACrC,KAAK,YAAY,EACV,IAAA,CAGC,aAAa,CACjB,OAAA,KAAK,MAAQ,MACV,KAAA,KAAK,GAAG,UAAYC,GAAM,KAAK,UAAUA,CAAC,CAAC,EAGlD,KAAK,IAAI,GAAG,QAAUA,GAAMA,EAAE,gBAAgB,EACvC,IAAA,CAEC,UAAUA,EAAqB,CACvCA,EAAE,eAAe,CAAA,CAErB"}