{"version":3,"sources":["jsdelivr-header.js","/gh/bobbyg211/ultimate-carousel@0.3.0-alpha/uc-scripts.js"],"names":[],"mappings":"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","file":"/gh/bobbyg211/ultimate-carousel@0.3.0-alpha/uc-scripts.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /gh/bobbyg211/ultimate-carousel@0.3.0-alpha/uc-scripts.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","const UC = (element, desktopOptions, mobileOptions) => {\n  // GLOBAL variables\n  const _this = this;\n  _this._ = {};\n  const { _ } = _this;\n  _.carousel = {};\n  const { carousel } = _;\n  carousel.el = $(element);\n  const mobile = $(window).width() < 768 ? true : false;\n  const desktop = $(window).width() > 767 ? true : false;\n\n  // Options setup & validation\n\n  let defaults;\n  desktopOptions = desktopOptions || {};\n  mobileOptions = mobileOptions || {};\n\n  if (desktop) {\n    defaults = {\n      animationSpeed: 500,\n      autoSlide: false,\n      autoSlideDelay: 3000,\n      continuousLoop: false,\n      continuousSpeed: 5,\n      infiniteLoop: true,\n      itemsPerSlide: 1,\n      maxSlidesShown: 1,\n      navigationDirection: \"two-way\",\n      showIndicatorDots: true,\n      stopOnHover: true, // unique\n      slideSpace: 20,\n    };\n  } else {\n    defaults = {\n      animationSpeed: 500,\n      autoSlide: false,\n      autoSlideDelay: 3000,\n      continuousLoop: false,\n      continuousSpeed: 5,\n      infiniteLoop: true,\n      itemsPerSlide: 1,\n      maxSlidesShown: 1,\n      swipeToScroll: true, // unique\n      navigationDirection: \"none\",\n      showIndicatorDots: true,\n      slideSpace: 20,\n    };\n  }\n\n  let validated;\n\n  if (desktop) {\n    validated = optValidation(desktopOptions);\n  } else {\n    validated = optValidation(mobileOptions);\n  }\n\n  required = optRequirements(validated);\n\n  _.options = {\n    ...defaults,\n    ...validated,\n    ...required,\n  };\n\n  const { options } = _;\n\n  function optValidation(optObj) {\n    let validOpts = {};\n\n    Object.entries(optObj).forEach((option) => {\n      let [key, value] = option;\n\n      // Animation Speed\n      if (key === \"animationSpeed\") {\n        if (\n          (typeof value === \"number\" && value >= 250) ||\n          value === undefined\n        ) {\n          validOpts[key] = value;\n        } else {\n          errorHandler(option, \"number\", [], 250, \"infinity\");\n        }\n      }\n\n      // Auto Slide\n      if (key === \"autoSlide\") {\n        if (typeof value === \"boolean\" || value === undefined) {\n          validOpts[key] = value;\n        } else {\n          errorHandler(option, \"boolean\");\n        }\n      }\n\n      // Auto Slide Delay\n      if (key === \"autoSlideDelay\") {\n        if (\n          (typeof value === \"number\" && value >= 500) ||\n          value === undefined\n        ) {\n          validOpts[key] = value;\n        } else {\n          errorHandler(option, \"number\", [], 500, \"infinity\");\n        }\n      }\n\n      // Continuous Loop\n      if (key === \"continuousLoop\") {\n        if (typeof value === \"boolean\" || value === undefined) {\n          validOpts[key] = value;\n        } else {\n          errorHandler(option, \"boolean\");\n        }\n      }\n\n      // Continuous Speed\n      if (key === \"continuousSpeed\") {\n        if ((typeof value === \"number\" && value > 0) || value === undefined) {\n          validOpts[key] = value;\n        } else {\n          errorHandler(option, \"number\", [], 1, 10);\n        }\n      }\n\n      // Infinite Loop\n      if (key === \"infiniteLoop\") {\n        if (typeof value === \"boolean\" || value === undefined) {\n          validOpts[key] = value;\n        } else {\n          errorHandler(option, \"boolean\");\n        }\n      }\n\n      // itemsPerSlide\n      if (key === \"itemsPerSlide\") {\n        const numSlides = carousel.el.children().length;\n        const maxSlides = optObj.maxSlidesShown || defaults.maxSlidesShown;\n\n        if (\n          (typeof value === \"number\" &&\n            value > 0 &&\n            value <= Math.ceil(numSlides / maxSlides - 1)) ||\n          value === undefined\n        ) {\n          validOpts[key] = value;\n        } else {\n          errorHandler(\n            option,\n            \"number\",\n            [],\n            1,\n            Math.ceil(numSlides / maxSlides - 1)\n          );\n        }\n      }\n\n      // maxSlidesShown\n      if (key === \"maxSlidesShown\") {\n        const numSlides = carousel.el.children().length;\n        if (\n          (typeof value === \"number\" &&\n            value > 0 &&\n            value <= numSlides - 1 &&\n            value <= 5) ||\n          value === undefined\n        ) {\n          validOpts[key] = value;\n        } else {\n          if (value > 5) {\n            errorHandler(option, \"number\", [], 1, 5);\n          } else {\n            errorHandler(option, \"number\", [], 1, numSlides - 1);\n          }\n        }\n      }\n\n      // Navigation Direction\n      if (key === \"navigationDirection\") {\n        if (\n          value === undefined ||\n          (typeof value === \"string\" &&\n            (value === \"two-way\" || value === \"one-way\" || value === \"none\"))\n        ) {\n          validOpts[key] = value;\n        } else {\n          errorHandler(option, \"string\", [\"two-way\", \"one-way\", \"none\"]);\n        }\n      }\n\n      // Show Indicator Dots\n      if (key === \"showIndicatorDots\") {\n        if (typeof value === \"boolean\" || value === undefined) {\n          validOpts[key] = value;\n        } else {\n          errorHandler(option, \"boolean\");\n        }\n      }\n\n      // Slide Space\n      if (key === \"slideSpace\") {\n        if ((typeof value === \"number\" && value > 0) || value === undefined) {\n          validOpts[key] = value;\n        } else {\n          errorHandler(option, \"number\", [], 1, \"infinity\");\n        }\n      }\n\n      // Stop On Hover\n      if (key === \"stopOnHover\") {\n        if (typeof value === \"boolean\" || value === undefined) {\n          validOpts[key] = value;\n        } else {\n          errorHandler(option, \"boolean\");\n        }\n      }\n    });\n\n    return validOpts;\n  }\n\n  function optRequirements(optObj) {\n    let requiredOpts = {};\n\n    Object.entries(optObj).forEach((option) => {\n      let [key, value] = option;\n\n      // Animation Speed\n      if (key === \"animationSpeed\") {\n        // NONE\n      }\n\n      // Auto Slide\n      if (key === \"autoSlide\") {\n        if (optObj[key]) {\n          requiredOpts[\"infiniteLoop\"] = true;\n        }\n      }\n\n      // Auto Slide Delay\n      if (key === \"autoSlideDelay\") {\n        // NONE\n      }\n\n      // Continuous Loop\n      if (key === \"continuousLoop\") {\n        if (optObj[key]) {\n          requiredOpts[\"infiniteLoop\"] = true;\n          requiredOpts[\"showIndicatorDots\"] = false;\n          if (mobile) {\n            requiredOpts[\"swipeToScroll\"] = false;\n          }\n        }\n      }\n\n      // Continuous Speed\n      if (key === \"continuousSpeed\") {\n        if (optObj[key]) {\n          requiredOpts[\"navigationDirection\"] = \"none\";\n        }\n      }\n\n      // Infinite Loop\n      if (key === \"infiniteLoop\") {\n        if (optObj[key] === false) {\n          requiredOpts[\"navigationDirection\"] = \"two-way\";\n        }\n      }\n\n      // maxSlidesShown\n      if (key === \"maxSlidesShown\") {\n        // NONE\n      }\n\n      // Navigation Direction\n      if (key === \"navigationDirection\") {\n        if (optObj[key] === \"none\") {\n          requiredOpts[\"autoSlide\"] = true;\n        }\n      }\n\n      // Show Indicator Dots\n      if (key === \"showIndicatorDots\") {\n        // NONE\n      }\n\n      // Stop On Hover\n      if (key === \"stopOnHover\") {\n        // NONE\n      }\n    });\n\n    return requiredOpts;\n  }\n\n  function errorHandler(option, type, array, min, max) {\n    let [key, value] = option;\n    array = array || [];\n\n    // WRONG TYPE\n    if (typeof value !== type) {\n      let err = new Error(`${key} value must be of type '${type}'.`);\n      err.name = `Invalid Type '${typeof value}'`;\n      throw err;\n    }\n\n    // BAD VALUE 'number'\n    if (value < min || value > max) {\n      if (key === \"maxSlidesShown\") {\n        let err;\n        if (value > 5) {\n          err = new Error(`${key} can not be greater than 5.`);\n        } else {\n          err = new Error(\n            `${key} must be greater than 0 and less than the total number of slides (${\n              max + 1\n            }).`\n          );\n        }\n\n        err.name = `Invalid Value '${key}: ${value}'`;\n        throw err;\n      } else if (key === \"itemsPerSlide\") {\n        let err = new Error(\n          `maxSlidesShown and the total number of slides limits this value. With current values, ${key} must be between ${min} and ${max}.`\n        );\n        err.name = `Invalid Value '${key}: ${value}'`;\n        throw err;\n      } else {\n        let err = new Error(\n          `${key} must be ${\n            max !== \"infinity\" ? `between ${min} and ${max}` : `at least ${min}`\n          }.`\n        );\n        err.name = `Invalid Value '${key}: ${value}'`;\n        throw err;\n      }\n    }\n\n    // BAD VALUE 'string'\n    if (!array.includes(value)) {\n      let err = new Error(\n        `${key} must be one of the following values: '${array}'.`\n      );\n      err.name = `Invalid Value '${key}: ${value}'`;\n      throw err;\n    }\n  }\n\n  // Create Carousel\n\n  function createCarousel() {\n    const allClasses = carousel.el[0].className;\n    carousel.el.addClass(\"uc--wrapper\");\n    const origSlides = carousel.el\n      .find(\"> *\")\n      .map(function () {\n        return $(this)[0].outerHTML;\n      })\n      .get();\n\n    if (options.navigationDirection === \"two-way\") {\n      carousel.el.css(\"margin\", \"0 50px\");\n    } else if (options.navigationDirection === \"one-way\") {\n      carousel.el.css(\"margin\", \"0 50px 0 0\");\n    } else if (options.navigationDirection === \"none\") {\n      carousel.el.css(\"margin\", \"0\");\n    }\n\n    carousel.el.empty();\n    carousel.el.append(`<div class=\"uc--scroll-area\"></div>`);\n\n    let numUsed = 0;\n\n    for (\n      let i = 1;\n      i <= Math.ceil(origSlides.length / options.itemsPerSlide);\n      i++\n    ) {\n      carousel.el\n        .find(\".uc--scroll-area\")\n        .append(\n          `<div class=\"uc--slide real ${\n            i - 1 < options.maxSlidesShown ? \"active\" : \"\"\n          }\"><div class=\"uc--content ${allClasses}\"></div></div>`\n        );\n\n      for (let j = numUsed; j < numUsed + options.itemsPerSlide; j++) {\n        const currSlide = carousel.el.find(\n          `.uc--slide:nth-child(${i}) .uc--content`\n        );\n        currSlide.append(origSlides[j]);\n      }\n      numUsed += options.itemsPerSlide;\n    }\n\n    // Add slide copies\n    if (options.infiniteLoop) {\n      carousel.firstSlides = carousel.el.find(\n        \".uc--slide:nth-child(-n+\" + options.maxSlidesShown + \")\"\n      );\n      carousel.lastSlides = carousel.el.find(\n        \".uc--slide:nth-last-child(-n+\" + options.maxSlidesShown + \")\"\n      );\n\n      if (!options.continuousLoop) {\n        carousel.el\n          .find(\".uc--scroll-area\")\n          .prepend(\n            carousel.lastSlides\n              .clone()\n              .removeClass(\"real\")\n              .addClass(\"copy before\")\n          );\n      }\n\n      carousel.el\n        .find(\".uc--scroll-area\")\n        .append(\n          carousel.firstSlides\n            .clone()\n            .removeClass(\"real\")\n            .addClass(\"copy after\")\n            .removeClass(\"active\")\n        );\n    }\n\n    // Add arrows and dots\n    if (!options.continuousLoop) {\n      let indicators = `\n    <div class=\"uc--indicators\">\n      \n      ${\n        options.navigationDirection === \"two-way\"\n          ? `<button class=\"uc--scroll-left uc--arrow\">\n      <img\n        src=\"https://www.enrollify.org/hubfs/Empower/images/icons/grey-arrow-left.svg\"\n        alt=\"Scroll Left\"\n      />\n    </button>`\n          : \"\"\n      }\n      ${\n        options.navigationDirection !== \"none\"\n          ? `<button class=\"uc--scroll-right uc--arrow\">\n        <img\n          src=\"https://www.enrollify.org/hubfs/Empower/images/icons/grey-arrow-right.svg\"\n          alt=\"Scroll Right\"\n        />\n      </button>`\n          : \"\"\n      }\n      \n      ${\n        options.showIndicatorDots\n          ? `<div class=\"uc--dots\">\n      <span class=\"uc--dot active trailing\"></span>\n      <span class=\"uc--dot active leading\"></span>\n    </div>`\n          : \"\"\n      }\n      \n    </div>\n    `;\n\n      carousel.el.append(indicators);\n\n      for (let i = 0; i < carousel.el.find(\".uc--slide.real\").length; i++) {\n        carousel.el.find(\".uc--dots\").append(\"<span class='uc--dot'></span>\");\n      }\n    }\n  }\n\n  function carouselOptions() {\n    carousel.scrollArea = carousel.el.find(\".uc--scroll-area\");\n    carousel.allSlides = carousel.el.find(\".uc--slide\");\n    carousel.afterSlides = carousel.el.find(\".uc--slide.copy.after\");\n    carousel.beforeSlides = carousel.el.find(\".uc--slide.copy.before\");\n\n    carousel.arrows = carousel.el.find(\".uc--arrow\");\n    carousel.rightArrow = carousel.el.find(\".uc--scroll-right\");\n    carousel.leftArrow = carousel.el.find(\".uc--scroll-left\");\n\n    carousel.carouselIndicsWidth = carousel.el.find(\".uc--dots\").width();\n    carousel.activeDots = carousel.el.find(\".uc--dot.active\");\n    carousel.leadingDot = carousel.el.find(\".uc--dot.active.leading\");\n    carousel.trailingDot = carousel.el.find(\".uc--dot.active.trailing\");\n\n    carousel.scrollWidth = carousel.el.find(\".uc--scroll-area\")[0].scrollWidth;\n    carousel.clientWidth = carousel.el.find(\".uc--scroll-area\")[0].clientWidth;\n    carousel.slideWidth = carousel.el.find(\".uc--slide.real\").outerWidth();\n    carousel.numChildren = carousel.el.find(\".uc--slide\").length;\n    carousel.numRealChildren = carousel.el.find(\".uc--slide.real\").length;\n    carousel.numVisibleBeforeChildren = carousel.el.find(\n      \".uc--slide.before:visible\"\n    ).length;\n\n    carousel.counter = 0;\n\n    carousel.scrollDist = carousel.scrollWidth - carousel.clientWidth;\n    carousel.startingPos =\n      carousel.slideWidth * carousel.numVisibleBeforeChildren;\n    carousel.endingPos = carousel.scrollDist - carousel.slideWidth;\n    carousel.dotActiveWidth =\n      8 * options.maxSlidesShown + 8 * (options.maxSlidesShown - 1);\n\n    carousel.max = options.infiniteLoop\n      ? carousel.numRealChildren\n      : carousel.numRealChildren - options.maxSlidesShown;\n    carousel.indicEndpoint = 8 * carousel.max + 8 * 3;\n    carousel.speed = options.animationSpeed;\n    carousel.halfSpeed = carousel.speed / 2;\n  }\n\n  function initPos(slidesShown) {\n    carousel.scrollArea.scrollLeft(carousel.startingPos);\n    carousel.dotActiveWidth = 8 * slidesShown + 8 * (slidesShown - 1);\n    carousel.activeDots.width(carousel.dotActiveWidth);\n    carousel.leadingDot.css(\"left\", carousel.carouselIndicsWidth + \"px\");\n    carousel.trailingDot.css(\"left\", \"0px\");\n  }\n\n  function stopAnimations() {\n    // HOVER OVER ELEMENT\n    if (options.stopOnHover) {\n      carousel.el.mouseenter(function () {\n        if (options.continuousLoop) {\n          carousel.scrollArea.stop(true);\n        } else if (options.autoSlide) {\n          clearInterval(carousel.scrollInterval);\n        }\n      });\n\n      carousel.el.mouseleave(function () {\n        if (options.continuousLoop) {\n          infiniteScroll();\n        } else if (options.autoSlide) {\n          carousel.scrollInterval = setInterval(function () {\n            scrollActions(true);\n          }, carousel.speed + options.autoSlideDelay);\n        }\n      });\n    }\n\n    // DOCUMENT HIDDEN\n\n    document.addEventListener(\"visibilitychange\", function () {\n      if (document.hidden) {\n        if (options.continuousLoop) {\n          carousel.scrollArea.stop(true);\n        } else if (options.autoSlide) {\n          clearInterval(carousel.scrollInterval);\n        }\n      } else {\n        if (options.continuousLoop) {\n          infiniteScroll();\n        } else if (options.autoSlide) {\n          carousel.scrollInterval = setInterval(function () {\n            scrollActions(true);\n          }, carousel.speed + options.autoSlideDelay);\n        }\n      }\n    });\n\n    // OUT OF VIEW\n\n    let isScrolling;\n    carousel.wasVis = false;\n\n    [\"scroll\", \"load\", \"resize\"].forEach(function (e) {\n      window.addEventListener(e, function () {\n        window.clearTimeout(isScrolling);\n\n        isScrolling = setTimeout(function () {\n          carousel.position = carousel.el[0].getBoundingClientRect();\n          carousel.visible =\n            carousel.position.top >= -carousel.el.height() &&\n            carousel.position.bottom <=\n              window.innerHeight + carousel.el.height();\n\n          if (options.continuousLoop) {\n            if (!carousel.visible) {\n              carousel.scrollArea.stop(true);\n              carousel.wasVis = true;\n            } else {\n              if (carousel.wasVis) {\n                infiniteScroll();\n                carousel.wasVis = false;\n              }\n            }\n          } else if (options.autoSlide) {\n            if (!carousel.visible) {\n              clearInterval(carousel.scrollInterval);\n              carousel.wasVis = true;\n            } else {\n              if (carousel.wasVis) {\n                carousel.scrollInterval = setInterval(function () {\n                  scrollActions(true);\n                }, carousel.speed + options.autoSlideDelay);\n                carousel.wasVis = false;\n              }\n            }\n          }\n        }, 66);\n      });\n    });\n  }\n\n  function initActions() {\n    if (!options.continuousLoop) {\n      // Scroll on click\n      carousel.arrows.click(function () {\n        if ($(this).hasClass(\"uc--scroll-right\")) {\n          scrollActions(true);\n        } else {\n          scrollActions(false);\n        }\n\n        // Stop auto slide on arrow click\n        if (options.autoSlide) {\n          clearInterval(carousel.scrollInterval);\n          carousel.scrollInterval = setInterval(function () {\n            scrollActions(true);\n          }, carousel.speed + options.autoSlideDelay);\n        }\n      });\n\n      // Auto slide\n      if (options.autoSlide) {\n        carousel.scrollInterval = setInterval(function () {\n          scrollActions(true);\n        }, carousel.speed + options.autoSlideDelay);\n      }\n\n      // Mobile swipe to scroll\n      if (options.swipeToScroll) {\n        carousel.el[0].addEventListener(\n          \"touchstart\",\n          function (event) {\n            touchstartX = event.changedTouches[0].screenX;\n          },\n          false\n        );\n\n        carousel.el[0].addEventListener(\n          \"touchend\",\n          function (event) {\n            touchendX = event.changedTouches[0].screenX;\n            handleGesture();\n          },\n          false\n        );\n\n        function handleGesture() {\n          if (touchendX < touchstartX) {\n            scrollActions(true);\n          }\n\n          if (touchendX > touchstartX) {\n            scrollActions(false);\n          }\n        }\n      }\n    } else {\n      infiniteScroll();\n    }\n\n    $(window).on(\"resize\", function () {\n      responsiveAdjust();\n    });\n  }\n\n  // Scroll Functions\n\n  function scrollActions(direction) {\n    if (\n      options.infiniteLoop ||\n      (!options.infiniteLoop &&\n        ((direction && carousel.counter !== carousel.max) ||\n          (!direction && carousel.counter !== 0)))\n    ) {\n      carousel.rightArrow.css(\"pointer-events\", \"none\");\n      carousel.leftArrow.css(\"pointer-events\", \"none\");\n\n      let edge, pos, reset;\n\n      if (direction) {\n        edge = carousel.max;\n        reset = 0;\n        pos = carousel.startingPos;\n      } else {\n        edge = 0;\n        reset = carousel.max;\n        pos = carousel.endingPos;\n      }\n\n      carousel.scrollArea.animate(\n        {\n          scrollLeft: `${direction ? \"+\" : \"-\"}=${carousel.slideWidth}`,\n        },\n        carousel.speed\n      );\n\n      carousel.activeDots\n        .animate(\n          {\n            width: carousel.dotActiveWidth + 16,\n            marginLeft: `${direction ? \"+=0px\" : \"-=16px\"}`,\n          },\n          carousel.halfSpeed\n        )\n        .promise()\n        .then(function () {\n          carousel.activeDots\n            .animate(\n              {\n                width: carousel.dotActiveWidth,\n                left: `${direction ? \"+=16px\" : \"-=0\"}`,\n              },\n              carousel.halfSpeed\n            )\n            .promise()\n            .then(function () {\n              if (direction && carousel.counter !== carousel.max) {\n                carousel.counter++;\n              }\n\n              if (!direction) {\n                carousel.activeDots.css(\"margin-left\", \"5px\");\n                const leadLeftPos = parseInt(\n                    $(carousel.leadingDot).css(\"left\"),\n                    10\n                  ),\n                  trailLeftPos = parseInt(\n                    $(carousel.trailingDot).css(\"left\"),\n                    10\n                  );\n                carousel.leadingDot.css(\"left\", leadLeftPos - 16 + \"px\");\n                carousel.trailingDot.css(\"left\", trailLeftPos - 16 + \"px\");\n              }\n\n              if (carousel.counter === edge && options.infiniteLoop) {\n                carousel.scrollArea.scrollLeft(pos);\n                carousel.counter = reset;\n              }\n\n              carousel.activeDots.each(function () {\n                if (\n                  parseInt($(this).css(\"left\"), 10) ===\n                  carousel.carouselIndicsWidth + 16\n                ) {\n                  $(this).css(\n                    \"left\",\n                    \"-\" + (carousel.carouselIndicsWidth - 16) + \"px\"\n                  );\n                } else if (\n                  parseInt($(this).css(\"left\"), 10) ===\n                  -carousel.carouselIndicsWidth\n                ) {\n                  $(this).css(\"left\", carousel.carouselIndicsWidth + \"px\");\n                }\n              });\n\n              if (!direction && carousel.counter !== 0) {\n                carousel.counter--;\n              }\n\n              carousel.el.find(\".uc--slide\").each(function (i) {\n                let elLeftPos = $(this).position().left;\n\n                if (elLeftPos > 0 && elLeftPos < carousel.scrollArea.width()) {\n                  $(this).addClass(\"active\");\n                } else {\n                  $(this).removeClass(\"active\");\n                }\n              });\n\n              carousel.rightArrow.css(\"pointer-events\", \"auto\");\n              carousel.leftArrow.css(\"pointer-events\", \"auto\");\n            });\n        });\n    }\n  }\n\n  function infiniteScroll() {\n    let speed =\n      ((carousel.scrollDist - carousel.scrollArea.scrollLeft()) /\n        (carousel.slideWidth * options.maxSlidesShown)) *\n      1000 *\n      (11 - options.continuousSpeed);\n\n    carousel.scrollArea.animate(\n      {\n        scrollLeft: carousel.scrollDist,\n      },\n      speed,\n      \"linear\",\n      function () {\n        carousel.scrollArea.scrollLeft(0);\n        infiniteScroll(carousel);\n      }\n    );\n  }\n\n  // Responsiveness\n\n  function responsiveAdjust() {\n    carousel.el\n      .find(\".uc--slide\")\n      .css(\"flex-basis\", `${100 / options.maxSlidesShown}%`);\n\n    carousel.el\n      .find(\".uc--content\")\n      .css(\"margin\", `0 ${options.slideSpace / 2}px`);\n\n    carousel.afterSlides.each(function (i) {\n      $(this).show();\n    });\n\n    $(carousel.beforeSlides.get().reverse()).each(function (i) {\n      $(this).show();\n    });\n\n    carouselOptions();\n    initPos(options.maxSlidesShown);\n\n    // FOUR slides\n    if ($(window).width() <= 1500 && options.maxSlidesShown > 4) {\n      carousel.el.find(\".uc--slide\").css(\"flex-basis\", `${100 / 4}%`);\n\n      carousel.afterSlides.each(function (i) {\n        if (i >= 4) {\n          $(this).hide();\n        }\n      });\n\n      $(carousel.beforeSlides.get().reverse()).each(function (i) {\n        if (i >= 4) {\n          $(this).hide();\n        }\n      });\n\n      carouselOptions();\n      initPos(4);\n    }\n\n    // THREE slides\n    if ($(window).width() <= 1200 && options.maxSlidesShown > 3) {\n      carousel.el.find(\".uc--slide\").css(\"flex-basis\", `${100 / 3}%`);\n\n      carousel.afterSlides.each(function (i) {\n        if (i >= 3) {\n          $(this).hide();\n        }\n      });\n\n      $(carousel.beforeSlides.get().reverse()).each(function (i) {\n        if (i >= 3) {\n          $(this).hide();\n        }\n      });\n\n      carouselOptions();\n      initPos(3);\n    }\n\n    // TWO slides\n    if ($(window).width() <= 1000 && options.maxSlidesShown > 2) {\n      carousel.el.find(\".uc--slide\").css(\"flex-basis\", `${100 / 2}%`);\n\n      carousel.afterSlides.each(function (i) {\n        if (i >= 2) {\n          $(this).hide();\n        }\n      });\n\n      $(carousel.beforeSlides.get().reverse()).each(function (i) {\n        if (i >= 2) {\n          $(this).hide();\n        }\n      });\n\n      carouselOptions();\n      initPos(2);\n    }\n\n    // ONE slide\n    if ($(window).width() <= 767 && options.maxSlidesShown > 1) {\n      carousel.el.find(\".uc--slide\").css(\"flex-basis\", `${100 / 1}%`);\n\n      carousel.afterSlides.each(function (i) {\n        if (i >= 1) {\n          $(this).hide();\n        }\n      });\n\n      $(carousel.beforeSlides.get().reverse()).each(function (i) {\n        if (i >= 1) {\n          $(this).hide();\n        }\n      });\n\n      carouselOptions();\n      initPos(1);\n    }\n  }\n\n  function respondToVisibility(element, callback) {\n    var options = {\n      root: document.documentElement,\n    };\n\n    var observer = new IntersectionObserver((entries, observer) => {\n      entries.forEach((entry) => {\n        callback(entry.intersectionRatio > 0);\n      });\n    }, options);\n\n    observer.observe(element);\n  }\n\n  // Initialize\n\n  function init() {\n    let rendered = false;\n    respondToVisibility(carousel.el[0], (visible) => {\n      if (visible && !rendered) {\n        createCarousel();\n        carouselOptions();\n        responsiveAdjust();\n        initActions();\n        stopAnimations();\n\n        console.log(_);\n\n        rendered = true;\n      }\n    });\n  }\n\n  return {\n    init: init,\n    options,\n    carousel,\n  };\n};\n"]}