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