{"version":3,"sources":["jsdelivr-header.js","/npm/flickity-bg-lazyload@2.0.0/bg-lazyload.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,CCDE,SAAU,EAAQ,GAEI,iBAAV,QAAsB,OAAO,QAEvC,OAAO,QAAU,EACb,QAAQ,YACR,QAAQ,mBAIZ,EACI,EAAO,SACP,EAAO,aAIf,CAhBA,CAgBG,QAAQ,SAAkB,EAAU,GAEvC,EAAS,OAAO,WAAa,WAC3B,KAAK,GAAI,SAAU,KAAK,WAC1B,EAEA,IAAI,EAAQ,EAAS,UAErB,MAAM,EAAiB,4BAiCvB,SAAS,EAAc,EAAM,EAAK,GAChC,KAAK,QAAU,EACf,KAAK,IAAM,EACX,KAAK,IAAM,IAAI,MACf,KAAK,WAAa,EAClB,KAAK,MACP,CAmCA,OAxEA,EAAM,WAAa,WACjB,IAAI,EAAW,KAAK,QAAQ,WAC5B,IAAM,EAAW,OAGjB,IAAI,EAA8B,iBAAZ,EAAuB,EAAW,EACxC,KAAK,wBAAyB,GAEpC,SAAW,IACnB,KAAK,eAAgB,GAErB,IAAI,EAAW,EAAS,iBAAiB,IAAI,MAC7C,IAAM,IAAI,KAAS,EACjB,KAAK,eAAgB,EACvB,GAEJ,EAEA,EAAM,eAAiB,SAAU,GAC/B,IAAI,EAAO,EAAK,aAAc,GAC9B,IAAM,EAAO,OAKb,IAAI,EAAc,EAAM,GAHL,IACjB,KAAK,cAAe,aAAc,EAAO,EAAM,GAGnD,EAaA,EAAa,UAAU,YAAc,EAAM,YAE3C,EAAa,UAAU,KAAO,WAC5B,KAAK,IAAI,iBAAkB,OAAQ,MACnC,KAAK,IAAI,iBAAkB,QAAS,MAEpC,KAAK,IAAI,IAAM,KAAK,IAEpB,KAAK,QAAQ,gBAAiB,EAChC,EAEA,EAAa,UAAU,OAAS,SAAU,GACxC,KAAK,QAAQ,MAAM,gBAAkB,QAAQ,KAAK,QAClD,KAAK,SAAU,EAAO,yBACxB,EAEA,EAAa,UAAU,QAAU,SAAU,GACzC,KAAK,SAAU,EAAO,wBACxB,EAEA,EAAa,UAAU,SAAW,SAAU,EAAO,GAEjD,KAAK,IAAI,oBAAqB,OAAQ,MACtC,KAAK,IAAI,oBAAqB,QAAS,MAEvC,KAAK,QAAQ,UAAU,IAAK,GAC5B,KAAK,WAAY,EACnB,EAIA,EAAS,aAAe,EAEjB,CAEP","file":"/npm/flickity-bg-lazyload@2.0.0/bg-lazyload.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.19.2.\n * Original file: /npm/flickity-bg-lazyload@2.0.0/bg-lazyload.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","/**\n * Flickity background lazyload v2.0.0\n * lazyload background cell images\n */\n\n( function( window, factory ) {\n  // universal module definition\n  if ( typeof module == 'object' && module.exports ) {\n    // CommonJS\n    module.exports = factory(\n        require('flickity'),\n        require('fizzy-ui-utils'),\n    );\n  } else {\n    // browser global\n    factory(\n        window.Flickity,\n        window.fizzyUIUtils,\n    );\n  }\n\n}( window, function factory( Flickity, utils ) {\n\nFlickity.create.bgLazyLoad = function() {\n  this.on( 'select', this.bgLazyLoad );\n};\n\nlet proto = Flickity.prototype;\n\nconst bgLazyloadAttr = 'data-flickity-bg-lazyload';\n\nproto.bgLazyLoad = function() {\n  let lazyLoad = this.options.bgLazyLoad;\n  if ( !lazyLoad ) return;\n\n  // get adjacent cells, use lazyLoad option for adjacent count\n  let adjCount = typeof lazyLoad == 'number' ? lazyLoad : 0;\n  let cellElems = this.getAdjacentCellElements( adjCount );\n\n  cellElems.forEach( ( cellElem ) => {\n    this.bgLazyLoadElem( cellElem );\n    // select lazy elems in cell\n    let children = cellElem.querySelectorAll(`[${bgLazyloadAttr}]`);\n    for ( let child of children ) {\n      this.bgLazyLoadElem( child );\n    }\n  } );\n};\n\nproto.bgLazyLoadElem = function( elem ) {\n  let attr = elem.getAttribute( bgLazyloadAttr );\n  if ( !attr ) return;\n\n  let onComplete = ( event ) => {\n    this.dispatchEvent( 'bgLazyLoad', event, elem );\n  };\n  new BgLazyLoader( elem, attr, onComplete );\n};\n\n// -------------------------- LazyBGLoader -------------------------- //\n\n// class to handle loading images\nfunction BgLazyLoader( elem, url, onComplete ) {\n  this.element = elem;\n  this.url = url;\n  this.img = new Image();\n  this.onComplete = onComplete;\n  this.load();\n}\n\nBgLazyLoader.prototype.handleEvent = utils.handleEvent;\n\nBgLazyLoader.prototype.load = function() {\n  this.img.addEventListener( 'load', this );\n  this.img.addEventListener( 'error', this );\n  // load image\n  this.img.src = this.url;\n  // remove attr\n  this.element.removeAttribute( bgLazyloadAttr );\n};\n\nBgLazyLoader.prototype.onload = function( event ) {\n  this.element.style.backgroundImage = `url(\"${this.url}\")`;\n  this.complete( event, 'flickity-bg-lazyloaded' );\n};\n\nBgLazyLoader.prototype.onerror = function( event ) {\n  this.complete( event, 'flickity-bg-lazyerror' );\n};\n\nBgLazyLoader.prototype.complete = function( event, className ) {\n  // unbind events\n  this.img.removeEventListener( 'load', this );\n  this.img.removeEventListener( 'error', this );\n\n  this.element.classList.add( className );\n  this.onComplete( event );\n};\n\n// -----  ----- //\n\nFlickity.BgLazyLoader = BgLazyLoader;\n\nreturn Flickity;\n\n} ) );\n"]}