{
  "version": 3,
  "sources": ["/cdn/shop/t/402/assets/cus-bare-root-trees.js?autoplay=1&rel=0"],
  "sourcesContent": ["/* =========================================================\n   CUS Bare Root Trees\n   Separate JavaScript for the Shopify section\n   ========================================================= */\n\n(function () {\n  'use strict';\n\n  function destroyPlayer(player) {\n    if (!player) return;\n\n    var iframe = player.querySelector('iframe');\n\n    if (iframe) {\n      iframe.src = '';\n      iframe.remove();\n    }\n\n    var video = player.querySelector('video');\n\n    if (video) { \n      video.pause();\n      video.removeAttribute('src');\n      video.load();\n      video.remove();\n    }\n\n    player.innerHTML = '';\n  }\n\n\n  function initSection(section) {\n    if (!section || section.dataset.cusInitialized === 'true') {\n      return;\n    }\n\n    section.dataset.cusInitialized = 'true';\n\n    var cards = section.querySelectorAll('[data-video-card]');\n\n    cards.forEach(function (card) {\n\n      var playButtons = card.querySelectorAll('[data-play-video]');\n      var closeButton = card.querySelector('[data-close-video]');\n      var player = card.querySelector('[data-video-player]');\n\n      var youtubeId = (card.dataset.youtubeId || '').trim();\n      var videoUrl = (card.dataset.videoUrl || '').trim();\n\n\n      /* -----------------------------------------------------\n         Open video\n         ----------------------------------------------------- */\n\n      function openVideo() {\n\n        if (!player || (!youtubeId && !videoUrl)) {\n          return;\n        }\n\n        destroyPlayer(player);\n\n\n        /* YouTube video */\n\n        if (youtubeId) {\n\n          var iframe = document.createElement('iframe');\n\n          iframe.src =\n            'https://www.youtube.com/embed/' +\n            encodeURIComponent(youtubeId) +\n            '?autoplay=1&rel=0';\n\n          iframe.title = 'Farm video';\n\n          iframe.allow =\n            'autoplay; encrypted-media; picture-in-picture';\n\n          iframe.allowFullscreen = true;\n\n          player.appendChild(iframe);\n\n        }\n\n\n        /* Self-hosted video */\n\n        else {\n\n          var video = document.createElement('video');\n\n          video.src = videoUrl;\n          video.autoplay = true;\n          video.controls = true;\n          video.playsInline = true;\n\n          player.appendChild(video);\n\n\n          var playPromise = video.play();\n\n          if (\n            playPromise &&\n            typeof playPromise.catch === 'function'\n          ) {\n            playPromise.catch(function () {});\n          }\n        }\n\n\n        card.classList.add('is-playing');\n\n        player.setAttribute(\n          'aria-hidden',\n          'false'\n        );\n      }\n\n\n      /* -----------------------------------------------------\n         Close video\n         ----------------------------------------------------- */\n\n      function closeVideo() {\n\n        destroyPlayer(player);\n\n        card.classList.remove('is-playing');\n\n        if (player) {\n          player.setAttribute(\n            'aria-hidden',\n            'true'\n          );\n        }\n      }\n\n\n      /* -----------------------------------------------------\n         Play buttons\n         ----------------------------------------------------- */\n\n      playButtons.forEach(function (button) {\n\n        button.addEventListener(\n          'click',\n          function (event) {\n\n            event.preventDefault();\n\n            openVideo();\n          }\n        );\n\n      });\n\n\n      /* -----------------------------------------------------\n         Close button\n         ----------------------------------------------------- */\n\n      if (closeButton) {\n\n        closeButton.addEventListener(\n          'click',\n          function (event) {\n\n            event.preventDefault();\n\n            closeVideo();\n          }\n        );\n\n      }\n\n\n      /* -----------------------------------------------------\n         Escape key\n         ----------------------------------------------------- */\n\n      card.addEventListener(\n        'keydown',\n        function (event) {\n\n          if (\n            event.key === 'Escape' &&\n            card.classList.contains('is-playing')\n          ) {\n            closeVideo();\n          }\n\n        }\n      );\n\n    });\n  }\n\n\n  /* ---------------------------------------------------------\n     Initialize all sections\n     --------------------------------------------------------- */\n\n  function initAll() {\n\n    document\n      .querySelectorAll('.cus-bare-root-trees')\n      .forEach(initSection);\n\n  }\n\n\n  /* ---------------------------------------------------------\n     Initial page load\n     --------------------------------------------------------- */\n\n  document.addEventListener(\n    'DOMContentLoaded',\n    initAll\n  );\n\n\n  /* ---------------------------------------------------------\n     Shopify Theme Editor support\n     --------------------------------------------------------- */\n\n  document.addEventListener(\n    'shopify:section:load',\n    function (event) {\n\n      var section = event.target.querySelector\n        ? event.target.querySelector(\n            '.cus-bare-root-trees'\n          )\n        : null;\n\n      if (section) {\n        initSection(section);\n      }\n\n    }\n  );\n\n\n  /* ---------------------------------------------------------\n     Shopify section unload\n     --------------------------------------------------------- */\n\n  document.addEventListener(\n    'shopify:section:unload',\n    function (event) {\n\n      var section = event.target.querySelector\n        ? event.target.querySelector(\n            '.cus-bare-root-trees'\n          )\n        : null;\n\n      if (!section) {\n        return;\n      }\n\n      section\n        .querySelectorAll('[data-video-player]')\n        .forEach(function (player) {\n\n          destroyPlayer(player);\n\n        });\n\n    }\n  );\n\n})();"],
  "mappings": "CAKC,UAAY,CACX,aAEA,SAAS,cAAc,OAAQ,CAC7B,GAAK,OAEL,KAAI,OAAS,OAAO,cAAc,QAAQ,EAEtC,SACF,OAAO,IAAM,GACb,OAAO,OAAO,GAGhB,IAAI,MAAQ,OAAO,cAAc,OAAO,EAEpC,QACF,MAAM,MAAM,EACZ,MAAM,gBAAgB,KAAK,EAC3B,MAAM,KAAK,EACX,MAAM,OAAO,GAGf,OAAO,UAAY,GACrB,CAGA,SAAS,YAAY,QAAS,CAC5B,GAAI,GAAC,SAAW,QAAQ,QAAQ,iBAAmB,QAInD,SAAQ,QAAQ,eAAiB,OAEjC,IAAI,MAAQ,QAAQ,iBAAiB,mBAAmB,EAExD,MAAM,QAAQ,SAAU,KAAM,CAE5B,IAAI,YAAc,KAAK,iBAAiB,mBAAmB,EACvD,YAAc,KAAK,cAAc,oBAAoB,EACrD,OAAS,KAAK,cAAc,qBAAqB,EAEjD,WAAa,KAAK,QAAQ,WAAa,IAAI,KAAK,EAChD,UAAY,KAAK,QAAQ,UAAY,IAAI,KAAK,EAOlD,SAAS,WAAY,CAEnB,GAAI,GAAC,QAAW,CAAC,WAAa,CAAC,UAS/B,IALA,cAAc,MAAM,EAKhB,UAAW,CAEb,IAAI,OAAS,SAAS,cAAc,QAAQ,EAE5C,OAAO,IACL,iCACA,mBAAmB,SAAS,EAC5B,oBAEF,OAAO,MAAQ,aAEf,OAAO,MACL,gDAEF,OAAO,gBAAkB,GAEzB,OAAO,YAAY,MAAM,CAE3B,KAKK,CAEH,IAAI,MAAQ,SAAS,cAAc,OAAO,EAE1C,MAAM,IAAM,SACZ,MAAM,SAAW,GACjB,MAAM,SAAW,GACjB,MAAM,YAAc,GAEpB,OAAO,YAAY,KAAK,EAGxB,IAAI,YAAc,MAAM,KAAK,EAG3B,aACA,OAAO,YAAY,OAAU,YAE7B,YAAY,MAAM,UAAY,CAAC,CAAC,CAEpC,CAGA,KAAK,UAAU,IAAI,YAAY,EAE/B,OAAO,aACL,cACA,OACF,EACF,CAOA,SAAS,YAAa,CAEpB,cAAc,MAAM,EAEpB,KAAK,UAAU,OAAO,YAAY,EAE9B,QACF,OAAO,aACL,cACA,MACF,CAEJ,CAOA,YAAY,QAAQ,SAAU,OAAQ,CAEpC,OAAO,iBACL,QACA,SAAU,MAAO,CAEf,MAAM,eAAe,EAErB,UAAU,CACZ,CACF,CAEF,CAAC,EAOG,aAEF,YAAY,iBACV,QACA,SAAU,MAAO,CAEf,MAAM,eAAe,EAErB,WAAW,CACb,CACF,EASF,KAAK,iBACH,UACA,SAAU,MAAO,CAGb,MAAM,MAAQ,UACd,KAAK,UAAU,SAAS,YAAY,GAEpC,WAAW,CAGf,CACF,CAEF,CAAC,EACH,CAOA,SAAS,SAAU,CAEjB,SACG,iBAAiB,sBAAsB,EACvC,QAAQ,WAAW,CAExB,CAOA,SAAS,iBACP,mBACA,OACF,EAOA,SAAS,iBACP,uBACA,SAAU,MAAO,CAEf,IAAI,QAAU,MAAM,OAAO,cACvB,MAAM,OAAO,cACX,sBACF,EACA,KAEA,SACF,YAAY,OAAO,CAGvB,CACF,EAOA,SAAS,iBACP,yBACA,SAAU,MAAO,CAEf,IAAI,QAAU,MAAM,OAAO,cACvB,MAAM,OAAO,cACX,sBACF,EACA,KAEC,SAIL,QACG,iBAAiB,qBAAqB,EACtC,QAAQ,SAAU,OAAQ,CAEzB,cAAc,MAAM,CAEtB,CAAC,CAEL,CACF,CAEF,GAAG",
  "names": []
}
