{"version":3,"sources":["webpack:///./scripts/social/Social.js","webpack:///./scripts/social/Instagram.js","webpack:///./scripts/social/index.js","webpack:///./scripts/config/instagram.config.js","webpack:///./scripts/social/templates/instagram-cell.template.js"],"names":["gsap","ScrollTrigger","Social","Main","container","this","$container","url","loading","loaded","loadingText","scrollController","APIServices","data","scrollOptions","trigger","dataset","triggerHook","hook","triggerEndHook","endHook","offset","setupAPI","addCallbacks","addScrollController","options","Object","assign","updateScrollOptions","onEnter","fetchData","appendChild","loadingHTML","$loadingHtml","querySelector","remove","listingHTML","$loader","document","createElement","classList","add","innerHTML","API","updateHTML","get","$instaBlock","Insta","init","items","length","$wrapper","$list","forEach","item","createCell","$singleCell","utilities","imagesArray","images","push","$bgImg","$link","setAttribute","link","JSON","stringify","LazyLoad"],"mappings":"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","file":"js/social.3f6438862333cefbefaf.bundle.js","sourcesContent":["\nimport {API} from '@/scripts/common/api/api.services'\nimport { gsap } from \"gsap\";\nimport { ScrollTrigger } from \"gsap/ScrollTrigger\"\nimport settings from \"@/scripts/common/settings\"\nimport {addScrollController, refreshAllControllers} from \"@/scripts/common/api/scrolltrigger.services\"\ngsap.registerPlugin(ScrollTrigger)\n\nexport const Social = (() => {\n class Main {\n constructor(container) {\n this.$container = container\n this.url = \"\"\n this.loading = false\n this.loaded = false\n this.loadingText = 'Loading...'\n this.scrollController = null\n this.APIServices = null\n this.data = null\n this.scrollOptions = {\n trigger: this.$container.dataset.trigger || this.$container,\n triggerHook: this.$container.dataset.hook || 'top bottom',\n triggerEndHook: this.$container.dataset.endHook || 'bottom top',\n offset: this.$container.dataset.offset || 0,\n }\n }\n\n init() {\n this.setupAPI()\n this.addCallbacks()\n this.addScrollController()\n }\n\n\n\n updateScrollOptions(options) {\n this.scrollOptions = Object.assign(this.scrollOptions, options)\n }\n\n // Callbacks\n\n addCallbacks() {\n this.updateScrollOptions({\n onEnter: () => {\n this.fetchData()\n }\n })\n }\n\n // UI updates\n updateHTML() {\n if(this.loading) {\n this.$container.appendChild(this.loadingHTML())\n return\n }\n\n const $loadingHtml = this.$container.querySelector('.social-loading')\n if($loadingHtml) $loadingHtml.remove()\n\n if(this.listingHTML()) this.$container.appendChild(this.listingHTML())\n \n }\n\n loadingHTML() {\n const $loader = document.createElement('div')\n $loader.classList.add('text-center', 'social-loading')\n $loader.innerHTML = `${this.loadingText}`\n\n return $loader\n }\n\n listingHTML() {\n return false\n }\n\n // API\n setupAPI() {\n this.APIServices = new API.Controller()\n }\n \n async fetchData() {\n if(!this.url && this.loaded) return\n this.loading = true\n this.updateHTML()\n this.data = await this.APIServices.get(this.url)\n this.loading = false\n this.updateHTML()\n }\n\n addScrollController() {\n this.scrollController = ScrollTrigger.create(this.scrollOptions)\n addScrollController(this.scrollController)\n }\n }\n\n const DefaultOptions = {\n \n }\n\n return {\n Main\n }\n})()","import { Social } from \"./Social\"\nimport { INSTA_URL } from \"@/scripts/config/instagram.config\"\nimport { utilities } from \"@/scripts/common/utilities\"\nimport { instaCellTpl } from './templates/instagram-cell.template'\nimport { LazyLoad } from '@/scripts/lazyload/Lazyload'\n\nexport class Insta extends Social.Main {\n constructor(container) {\n super(container)\n this.url = INSTA_URL\n this.init()\n }\n\n listingHTML() {\n const items = this.data.data\n\n if (this.data.data.length === 0) return\n const $wrapper = document.createElement('div')\n const $list = document.createElement('ul')\n $wrapper.classList.add('bordered-col-list')\n $list.classList.add('row', 'row--grid-gutter-lg', 'list-unstyled')\n items.forEach(item => {\n $list.appendChild(this.createCell(item))\n })\n $wrapper.appendChild($list)\n this.$container.appendChild($wrapper)\n }\n\n createCell(item) {\n const $singleCell = utilities.createNodeParsing(instaCellTpl())\n const imagesArray = []\n\n if (item.images['low_resolution'])\n imagesArray.push({\n \"screen\": 0,\n \"src\": item.images['low_resolution'].url\n })\n if (item.images['thumbnail'])\n imagesArray.push({\n \"screen\": 1024,\n \"src\": item.images['thumbnail'].url\n })\n if (item.images['standard_resolution'])\n imagesArray.push({\n \"screen\": 1200,\n \"src\": item.images['standard_resolution'].url\n })\n\n if (imagesArray.length === 0) return\n const $bgImg = $singleCell.querySelector('.bg-img')\n const $link = $singleCell.querySelector('a[href]')\n $link.setAttribute('href', item.link)\n $link.setAttribute('target', '_blank')\n $bgImg.setAttribute(\"data-image-array\", `${JSON.stringify(imagesArray)}`)\n new LazyLoad($bgImg)\n return $singleCell\n }\n}","import {Insta} from \"./Instagram\"\n(function() {\n const $instaBlock = document.querySelector('#instagram-block')\n if($instaBlock) new Insta($instaBlock)\n})()","export const INSTA_URL = \"/js/instagram.json\"","export const instaCellTpl = () => {\n return `
  • \n
    \n
  • `\n}"],"sourceRoot":""}