{"version":3,"file":"to-true-if-observed.js","sources":["../../../../src/site/js/directives/to-true-if-observed.js"],"sourcesContent":["import { isObject } from \"@helpers/utils.js\";\r\n\r\nfunction ifObservedShared(deleteElement, element, binding){\r\n\tvar props = binding.value;\r\n\r\n\tif(typeof props === 'function'){\r\n\t\tprops = {\r\n\t\t\tcallback: props,\r\n\t\t};\r\n\t}\r\n\telse if(isObject(props) && props.hasOwnProperty('value') && Object.keys(props).length === 1){\r\n\t\tprops = {\r\n\t\t\tobs: props,\r\n\t\t};\r\n\t}\r\n\t\r\n\tif(typeof props.disconnect !== 'boolean') props.disconnect = true;\r\n\r\n\tvar observer = new IntersectionObserver(entries => {\r\n\t\tfor(var i = 0, len = entries.length; i < len; i++){\r\n\t\t\tvar entry = entries[i];\r\n\t\t\tif(!entry.isIntersecting && props.disconnect) continue;\r\n\r\n\t\t\tdeleteElement && $(element).remove();\r\n\t\t\tprops.disconnect && observer.disconnect();\r\n\r\n\t\t\tif(props.callback) props.callback();\r\n\t\t\telse props.obs.value = entry.isIntersecting;\r\n\t\t}\r\n\t}, {\r\n\t\trootMargin: props.rootMargin,\r\n\t\tthreshold: props.threshold,\r\n\t});\r\n\r\n\tobserver.observe(element);\r\n}\r\n\r\nexport const toTrueIfObserved = {\r\n\tbeforeMount(element, binding){\r\n\t\treturn ifObservedShared(false, element, binding);\r\n\t}\r\n};\r\n\r\nexport const toTrueIfObservedDelElem = {\r\n\tbeforeMount(element, binding){\r\n\t\treturn ifObservedShared(true, element, binding);\r\n\t}\r\n};"],"names":["ifObservedShared","deleteElement","element","binding","props","isObject","observer","entries","i","len","entry","toTrueIfObserved","toTrueIfObservedDelElem"],"mappings":"+BAEA,SAASA,EAAiBC,EAAeC,EAASC,EAAQ,CACzD,IAAIC,EAAQD,EAAQ,MAEjB,OAAOC,GAAU,WACnBA,EAAQ,CACP,SAAUA,CACb,EAESC,EAASD,CAAK,GAAKA,EAAM,eAAe,OAAO,GAAK,OAAO,KAAKA,CAAK,EAAE,SAAW,IACzFA,EAAQ,CACP,IAAKA,CACR,GAGI,OAAOA,EAAM,YAAe,YAAWA,EAAM,WAAa,IAE7D,IAAIE,EAAW,IAAI,qBAAqBC,GAAW,CAClD,QAAQC,EAAI,EAAGC,EAAMF,EAAQ,OAAQC,EAAIC,EAAKD,IAAI,CACjD,IAAIE,EAAQH,EAAQC,CAAC,EAClB,CAACE,EAAM,gBAAkBN,EAAM,aAElCH,GAAiB,EAAEC,CAAO,EAAE,OAAM,EAClCE,EAAM,YAAcE,EAAS,aAE1BF,EAAM,SAAUA,EAAM,SAAQ,EAC5BA,EAAM,IAAI,MAAQM,EAAM,eAC7B,CACH,EAAI,CACF,WAAYN,EAAM,WAClB,UAAWA,EAAM,SACnB,CAAE,EAEDE,EAAS,QAAQJ,CAAO,CACzB,CAEY,MAACS,EAAmB,CAC/B,YAAYT,EAASC,EAAQ,CAC5B,OAAOH,EAAiB,GAAOE,EAASC,CAAO,CAC/C,CACF,EAEaS,EAA0B,CACtC,YAAYV,EAASC,EAAQ,CAC5B,OAAOH,EAAiB,GAAME,EAASC,CAAO,CAC9C,CACF"}