{"version":3,"file":"index-BNhkoEEa.js","sources":["../../../app/assets/javascripts/components/swiper/index.ts"],"sourcesContent":["\nimport $ from \"jquery\"\nimport _extend from \"lodash/assign\"\nimport Swiper from \"swiper\"\nimport { Navigation, Pagination } from \"swiper/modules\"\n\n\ninterface Selector {\n  swiper_pagination:    string\n}\ninterface InputSelector {\n  swiper_pagination?:    string\n}\nconst default_selector = {\n  swiper_pagination: \".swiper-pagination\",\n}\n\nclass ListingSwiper {\n  private selector: Selector\n  private readonly $container_el: JQuery\n  private readonly $swipe_pagination: JQuery\n\n  private swiper: Swiper | undefined\n\n  constructor({container_element, selector = {}}: {container_element: Element | string | JQuery, selector: InputSelector}) {\n    if (container_element == null) {\n      throw new Error(\"container_element is absent\")\n    }\n\n    this.selector = _extend({}, default_selector, selector)\n    this.$container_el = $(container_element)\n\n    // region swiper instantiation\n\n    this.$swipe_pagination = this.$container_el.find(this.selector.swiper_pagination)\n\n    this.swiper = new Swiper(this.$container_el[0] as HTMLElement, {\n      modules:    [Navigation, Pagination],\n      pagination: {\n        el:             this.$swipe_pagination[0] as HTMLElement,\n        dynamicBullets: true,\n      },\n      speed:          500,\n      direction:      \"horizontal\",\n    })\n\n    // endregion swiper instantiation\n\n    this.bind_action()\n  }\n\n  protected bind_action(){\n    this.$container_el.on(\"touchstart\", () => {\n      this.$container_el.attr(\"data-slideout-ignore\", \"true\")\n    })\n\n    this.$container_el.on(\"touchend\",() => {\n      this.$container_el.attr(\"data-slideout-ignore\", \"false\")\n    })\n  }\n}\n\nconst Index = {\n  create(container_element: Element | string | JQuery, selector?: InputSelector){\n    return new ListingSwiper({container_element: container_element, selector: (selector || {})})\n  },\n}\n\nexport { Index as default }\n"],"names":["default_selector","ListingSwiper","container_element","selector","_extend","$","Swiper","Navigation","Pagination","Index"],"mappings":"mLAaA,MAAMA,EAAmB,CACvB,kBAAmB,oBACrB,EAEA,MAAMC,CAAc,CAOlB,YAAY,CAAC,kBAAAC,EAAmB,SAAAC,EAAW,IAA8E,CACvH,GAAID,GAAqB,KACjB,MAAA,IAAI,MAAM,6BAA6B,EAG/C,KAAK,SAAWE,EAAQ,CAAA,EAAIJ,EAAkBG,CAAQ,EACjD,KAAA,cAAgBE,EAAEH,CAAiB,EAIxC,KAAK,kBAAoB,KAAK,cAAc,KAAK,KAAK,SAAS,iBAAiB,EAEhF,KAAK,OAAS,IAAII,EAAO,KAAK,cAAc,CAAC,EAAkB,CAC7D,QAAY,CAACC,EAAYC,CAAU,EACnC,WAAY,CACV,GAAgB,KAAK,kBAAkB,CAAC,EACxC,eAAgB,EAClB,EACA,MAAgB,IAChB,UAAgB,YAAA,CACjB,EAID,KAAK,YAAY,CAAA,CAGT,aAAa,CAChB,KAAA,cAAc,GAAG,aAAc,IAAM,CACnC,KAAA,cAAc,KAAK,uBAAwB,MAAM,CAAA,CACvD,EAEI,KAAA,cAAc,GAAG,WAAW,IAAM,CAChC,KAAA,cAAc,KAAK,uBAAwB,OAAO,CAAA,CACxD,CAAA,CAEL,CAEA,MAAMC,EAAQ,CACZ,OAAOP,EAA8CC,EAAyB,CACrE,OAAA,IAAIF,EAAc,CAAC,kBAAAC,EAAsC,SAAWC,GAAY,CAAA,EAAI,CAAA,CAE/F"}