HEX
Server: Apache
System: Linux b5.s-host.com.ua 4.18.0-305.10.2.el7.x86_64 #1 SMP Fri Jul 23 21:00:55 UTC 2021 x86_64
User: unelbhzm (1470)
PHP: 8.0.18
Disabled: NONE
Upload Files
File: /sites/nuofama.com/wp-content/themes/blocksy/static/bundle/167.fd81135b71bdeae94258.js.map
{"version":3,"file":"167.fd81135b71bdeae94258.js","mappings":"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","sources":["webpack://ctFrontend/../src/direction-helpers.js","webpack://ctFrontend/../src/helpers.js","webpack://ctFrontend/../src/pills.js","webpack://ctFrontend/../src/arrows.js","webpack://ctFrontend/../src/dynamic-height.js","webpack://ctFrontend/../src/flexy.js","webpack://ctFrontend/../src/hover-state.js","webpack://ctFrontend/../src/drag.js","webpack://ctFrontend/./static/js/frontend/flexy.js"],"sourcesContent":["export const getRightOrBottom = (rect, flexyInstance) => {\n  if (flexyInstance.options.orientation === \"vertical\") {\n    return rect.top + rect.height\n  }\n\n  return rect.right\n}\n\nexport const getLeftOrTop = (rect, flexyInstance) => {\n  if (flexyInstance.options.orientation === \"vertical\") {\n    return rect.top\n  }\n\n  return rect.left\n}\n\nexport const getDimensionFor = (rect, flexyInstance) => {\n  if (flexyInstance.options.orientation === \"vertical\") {\n    return rect.height\n  }\n\n  return rect.width\n}\n","import {\n  getDimensionFor,\n  getLeftOrTop,\n  getRightOrBottom,\n} from \"./direction-helpers\"\n\n/**\n * Develop a suggestion-based mechanism.\n * That is, ignore a checking for a specific side when we do not have a need\n * for it. Also, when we don't care about that particular side.\n *\n * TODO: implement _both_ strategy for wrapAround\n */\nexport const fetchWrapAroundStatusFor = (\n  flexyInstance,\n  elementsOnBehind,\n  theSideWeAreMovingOnto = \"left\",\n  wrapAroundMode = \"container\"\n) => {\n  const sliderContainer = flexyInstance.sliderContainer\n  let relativeDelta = 0\n\n  if (theSideWeAreMovingOnto === \"left\") {\n    let leftmostOffset = [...sliderContainer.children].reduce(\n      (leftmostEl, currentEl) => {\n        let left = getLeftOrTop(\n          nullifyTransforms(\n            leftmostEl,\n            flexyInstance.options.nullifyTransformEl\n          ),\n          flexyInstance\n        )\n\n        let currentLeft = getLeftOrTop(\n          nullifyTransforms(\n            currentEl,\n            flexyInstance.options.nullifyTransformEl\n          ),\n          flexyInstance\n        )\n\n        return currentLeft < left ? currentEl : leftmostEl\n      },\n      {\n        getBoundingClientRect: () => ({\n          left: 100000000000,\n          bottom: 100000000000,\n          top: 100000000000,\n          right: 100000000000,\n        }),\n      }\n    )\n\n    if (\n      getLeftOrTop(\n        nullifyTransforms(\n          leftmostOffset,\n          flexyInstance.options.nullifyTransformEl\n        ),\n        flexyInstance\n      ) >\n      (wrapAroundMode === \"container\"\n        ? getLeftOrTop(\n            nullifyTransforms(\n              sliderContainer,\n              flexyInstance.options.nullifyTransformEl\n            ),\n            flexyInstance\n          )\n        : 0)\n    ) {\n      relativeDelta =\n        -1 *\n        getDimensionFor(\n          nullifyTransforms(\n            sliderContainer.firstElementChild,\n            flexyInstance.options.nullifyTransformEl\n          ),\n          flexyInstance\n        )\n\n      elementsOnBehind =\n        elementsOnBehind === sliderContainer.children.length\n          ? 1\n          : elementsOnBehind + 1\n    }\n  }\n\n  if (theSideWeAreMovingOnto === \"right\") {\n    let rightmostOffset = [...sliderContainer.children].reduce(\n      (rightmostEl, currentEl) => {\n        let right = getRightOrBottom(\n          nullifyTransforms(\n            rightmostEl,\n            flexyInstance.options.nullifyTransformEl\n          ),\n          flexyInstance\n        )\n\n        let currentRight = getRightOrBottom(\n          nullifyTransforms(\n            currentEl,\n            flexyInstance.options.nullifyTransformEl\n          ),\n          flexyInstance\n        )\n\n        return right > currentRight ? rightmostEl : currentEl\n      },\n      {\n        getBoundingClientRect: () => ({\n          left: -1,\n          bottom: -9999999999999,\n          top: -1,\n          right: -1,\n        }),\n      }\n    )\n\n    if (\n      getRightOrBottom(\n        nullifyTransforms(\n          rightmostOffset,\n          flexyInstance.options.nullifyTransformEl\n        ),\n        flexyInstance\n      ) <\n      (wrapAroundMode === \"container\"\n        ? getRightOrBottom(\n            nullifyTransforms(\n              sliderContainer,\n              flexyInstance.options.nullifyTransformEl\n            ),\n            flexyInstance\n          )\n        : window.innerWidth)\n    ) {\n      relativeDelta = getDimensionFor(\n        nullifyTransforms(\n          sliderContainer.firstElementChild,\n          flexyInstance.options.nullifyTransformEl\n        ),\n        flexyInstance\n      )\n      elementsOnBehind =\n        elementsOnBehind === 1\n          ? sliderContainer.children.length\n          : elementsOnBehind - 1\n    }\n  }\n\n  return { relativeDelta, elementsOnBehind }\n}\n\nexport function nullifyTransforms(el, elementToLookAt = null) {\n  if (!el) return null\n  if (el.getBoundingClientRect && !el.firstElementChild) {\n    return el.getBoundingClientRect()\n  }\n\n  if (!elementToLookAt) {\n    elementToLookAt = el\n  }\n\n  //add sanity checks and default values\n\n  let { top, left, right, width, height } = el.getBoundingClientRect()\n\n  let transformArr = window\n    .getComputedStyle(elementToLookAt)\n    .transform.split(/\\(|,|\\)/)\n    .slice(1, -1)\n    .map((v) => parseFloat(v))\n\n  if (transformArr.length != 6) {\n    return el.getBoundingClientRect()\n  }\n\n  // 2D matrix\n  // need some math to apply inverse of matrix\n  // That is the matrix of the transformation of the element\n  var t = transformArr\n  let det = t[0] * t[3] - t[1] * t[2]\n\n  /*if (transformArr.length > 6)*/\n  //3D matrix\n  //haven't done the calculation to apply inverse of 4x4 matrix\n\n  return {\n    width: width / t[0],\n    height: height / t[3],\n    left: (left * t[3] - top * t[2] + t[2] * t[5] - t[4] * t[3]) / det,\n    right: (right * t[3] - top * t[2] + t[2] * t[5] - t[4] * t[3]) / det,\n    top: (-left * t[1] + top * t[0] + t[4] * t[1] - t[0] * t[5]) / det,\n  }\n}\n","import { nullifyTransforms } from \"./helpers\"\nimport { getDimensionFor, getLeftOrTop } from \"./direction-helpers\"\n\nexport const renderPillsFor = (flexyInstance) => {\n  if (!flexyInstance.options.pillsContainerSelector) return\n  flexyInstance.options.pillsContainerSelector.querySelector(\".active\") &&\n    flexyInstance.options.pillsContainerSelector\n      .querySelector(\".active\")\n      .classList.remove(\"active\")\n\n  flexyInstance.options.pillsContainerSelector.children[\n    flexyInstance.state.previousCurrentIndex\n  ].classList.add(\"active\")\n\n  if (flexyInstance.options.pillsFlexyInstance) {\n    let localFlexyInstance = flexyInstance.options.pillsFlexyInstance.flexy\n    let allPills = [...flexyInstance.options.pillsContainerSelector.children]\n\n    let fromIndex = [...localFlexyInstance.sliderContainer.children].indexOf(\n      [...localFlexyInstance.sliderContainer.children].reduce(\n        (leftmostEl, currentEl) => {\n          let left = getLeftOrTop(\n            nullifyTransforms(\n              leftmostEl,\n              localFlexyInstance.options.nullifyTransformEl\n            ),\n            localFlexyInstance\n          )\n\n          let currentLeft = getLeftOrTop(\n            nullifyTransforms(\n              currentEl,\n              localFlexyInstance.options.nullifyTransformEl\n            ),\n            localFlexyInstance\n          )\n\n          return Math.abs(\n            currentLeft -\n              getLeftOrTop(\n                nullifyTransforms(\n                  localFlexyInstance.sliderContainer,\n                  localFlexyInstance.options.nullifyTransformEl\n                ),\n                localFlexyInstance\n              )\n          ) <\n            Math.abs(\n              left -\n                getLeftOrTop(\n                  nullifyTransforms(\n                    localFlexyInstance.sliderContainer,\n                    localFlexyInstance.options.nullifyTransformEl\n                  ),\n                  localFlexyInstance\n                )\n            )\n            ? currentEl\n            : leftmostEl\n        },\n        {\n          getBoundingClientRect: () => ({\n            left: 100000000000,\n            top: 100000000000,\n          }),\n        }\n      )\n    )\n\n    let toIndex = 0\n\n    if (localFlexyInstance.options.orientation === \"horizontal\") {\n      let perPage = Math.round(\n        nullifyTransforms(localFlexyInstance.sliderContainer).width /\n          nullifyTransforms(\n            localFlexyInstance.sliderContainer.firstElementChild\n          ).width\n      )\n\n      toIndex = flexyInstance.state.previousCurrentIndex\n\n      if (perPage === 5) {\n        if (flexyInstance.state.previousCurrentIndex > 2) {\n          toIndex = flexyInstance.state.previousCurrentIndex - 2\n        }\n\n        if (\n          allPills.length - 1 - flexyInstance.state.previousCurrentIndex <\n          3\n        ) {\n          toIndex = allPills.length - 5\n        }\n      }\n\n      if (perPage === 3) {\n        if (flexyInstance.state.previousCurrentIndex >= 1) {\n          toIndex = flexyInstance.state.previousCurrentIndex - 1\n        }\n\n        if (\n          allPills.length - 1 - flexyInstance.state.previousCurrentIndex <\n          1\n        ) {\n          toIndex = allPills.length - 3\n        }\n      }\n    } else {\n      toIndex = flexyInstance.state.previousCurrentIndex\n    }\n\n    let amountToTheLeft = Math.abs(toIndex - fromIndex)\n    let amountToTheRight =\n      Math.min(fromIndex, toIndex) +\n      (allPills.length - Math.max(fromIndex, toIndex))\n\n    let p =\n      Math.min(amountToTheLeft, amountToTheRight) *\n      (amountToTheRight >= amountToTheLeft\n        ? fromIndex > toIndex\n          ? 1\n          : -1\n        : fromIndex > toIndex\n        ? -1\n        : 1)\n\n    let resultTarget =\n      (Math.round(\n        (localFlexyInstance.state.positionX * 100) /\n          getDimensionFor(\n            nullifyTransforms(\n              localFlexyInstance.sliderContainer.firstElementChild,\n              localFlexyInstance.options.nullifyTransformEl\n            ),\n            localFlexyInstance\n          ) /\n          100\n      ) *\n        100 *\n        getDimensionFor(\n          nullifyTransforms(\n            localFlexyInstance.sliderContainer.firstElementChild,\n            localFlexyInstance.options.nullifyTransformEl\n          ),\n          localFlexyInstance\n        )) /\n        100 +\n      getDimensionFor(\n        nullifyTransforms(\n          localFlexyInstance.sliderContainer.firstElementChild,\n          localFlexyInstance.options.nullifyTransformEl\n        ),\n        localFlexyInstance\n      ) *\n        p\n\n    localFlexyInstance.state = {\n      ...localFlexyInstance.state,\n      positionTarget: resultTarget,\n    }\n  }\n}\n\nexport const mountPillsListeners = (flexyInstance) => {\n  if (!flexyInstance.options.pillsContainerSelector) return\n\n  let allPills = [...flexyInstance.options.pillsContainerSelector.children]\n\n  const handlePillEvent = (singlePill) => {\n    let fromIndex = [...flexyInstance.sliderContainer.children].indexOf(\n      [...flexyInstance.sliderContainer.children].reduce(\n        (leftmostEl, currentEl) => {\n          let left = getLeftOrTop(\n            nullifyTransforms(\n              leftmostEl,\n              flexyInstance.options.nullifyTransformEl\n            ),\n            flexyInstance\n          )\n\n          let currentLeft = getLeftOrTop(\n            nullifyTransforms(\n              currentEl,\n              flexyInstance.options.nullifyTransformEl\n            ),\n            flexyInstance\n          )\n\n          return Math.abs(\n            currentLeft -\n              getLeftOrTop(\n                nullifyTransforms(\n                  flexyInstance.sliderContainer,\n                  flexyInstance.options.nullifyTransformEl\n                ),\n                flexyInstance\n              )\n          ) <\n            Math.abs(\n              left -\n                getLeftOrTop(\n                  nullifyTransforms(\n                    flexyInstance.sliderContainer,\n                    flexyInstance.options.nullifyTransformEl\n                  ),\n                  flexyInstance\n                )\n            )\n            ? currentEl\n            : leftmostEl\n        },\n        {\n          getBoundingClientRect: () => ({\n            left: 100000000000,\n          }),\n        }\n      )\n    )\n\n    let toIndex = allPills.indexOf(singlePill)\n\n    flexyInstance.options.pillsContainerSelector.querySelector(\".active\") &&\n      flexyInstance.options.pillsContainerSelector\n        .querySelector(\".active\")\n        .classList.remove(\"active\")\n\n    singlePill.classList.add(\"active\")\n\n    let amountToTheLeft = Math.abs(toIndex - fromIndex)\n    let amountToTheRight =\n      Math.min(fromIndex, toIndex) +\n      (allPills.length - Math.max(fromIndex, toIndex))\n\n    let p =\n      Math.min(amountToTheLeft, amountToTheRight) *\n      (amountToTheRight >= amountToTheLeft\n        ? fromIndex > toIndex\n          ? 1\n          : -1\n        : fromIndex > toIndex\n        ? -1\n        : 1)\n\n    let resultTarget =\n      (Math.round(\n        (flexyInstance.state.positionX * 100) /\n          getDimensionFor(\n            nullifyTransforms(\n              flexyInstance.sliderContainer.firstElementChild,\n              flexyInstance.options.nullifyTransformEl\n            ),\n            flexyInstance\n          ) /\n          100\n      ) *\n        100 *\n        getDimensionFor(\n          nullifyTransforms(\n            flexyInstance.sliderContainer.firstElementChild,\n            flexyInstance.options.nullifyTransformEl\n          ),\n          flexyInstance\n        )) /\n        100 +\n      getDimensionFor(\n        nullifyTransforms(\n          flexyInstance.sliderContainer.firstElementChild,\n          flexyInstance.options.nullifyTransformEl\n        ),\n        flexyInstance\n      ) *\n        p\n\n    flexyInstance.state = {\n      ...flexyInstance.state,\n      positionTarget: resultTarget,\n    }\n  }\n\n  if (\n    flexyInstance.options.initialDragEvent &&\n    flexyInstance.options.initialDragEvent.target.closest(\n      \".flexy-pills > * > *\"\n    )\n  ) {\n    setTimeout(() => {\n      handlePillEvent(\n        flexyInstance.options.initialDragEvent.target.closest(\n          \".flexy-pills > * > *\"\n        )\n      )\n    })\n  }\n\n  allPills.map((singlePill) =>\n    singlePill.addEventListener(\"click\", (e) => {\n      handlePillEvent(singlePill)\n      e.preventDefault()\n    })\n  )\n}\n","import { getDimensionFor, getLeftOrTop } from \"./direction-helpers\"\n\nimport { nullifyTransforms } from \"./helpers\"\n\nconst moveToIndexFor = (flexyInstance, cb) => {\n  let fromIndex = [...flexyInstance.sliderContainer.children].indexOf(\n    [...flexyInstance.sliderContainer.children].reduce(\n      (leftmostEl, currentEl) => {\n        let left = getLeftOrTop(\n          nullifyTransforms(\n            leftmostEl,\n            flexyInstance.options.nullifyTransformEl\n          ),\n          flexyInstance\n        )\n\n        let currentLeft = getLeftOrTop(\n          nullifyTransforms(\n            currentEl,\n            flexyInstance.options.nullifyTransformEl\n          ),\n          flexyInstance\n        )\n\n        return Math.abs(\n          currentLeft -\n            getLeftOrTop(\n              nullifyTransforms(\n                flexyInstance.sliderContainer,\n                flexyInstance.options.nullifyTransformEl\n              ),\n              flexyInstance\n            )\n        ) <\n          Math.abs(\n            left -\n              getLeftOrTop(\n                nullifyTransforms(\n                  flexyInstance.sliderContainer,\n                  flexyInstance.options.nullifyTransformEl\n                ),\n                flexyInstance\n              )\n          )\n          ? currentEl\n          : leftmostEl\n      },\n      {\n        getBoundingClientRect: () => ({\n          left: 100000000000,\n          top: 100000000000,\n        }),\n      }\n    )\n  )\n\n  let toIndex = cb(fromIndex)\n\n  if (toIndex < 0) {\n    toIndex = flexyInstance.sliderContainer.children.length - 1\n  }\n\n  if (toIndex > flexyInstance.sliderContainer.children.length - 1) {\n    toIndex = 0\n  }\n\n  let amountToTheLeft = Math.abs(toIndex - fromIndex)\n  let amountToTheRight =\n    Math.min(fromIndex, toIndex) +\n    (flexyInstance.sliderContainer.children.length -\n      Math.max(fromIndex, toIndex))\n\n  let p =\n    Math.min(amountToTheLeft, amountToTheRight) *\n    (amountToTheRight > amountToTheLeft\n      ? fromIndex > toIndex\n        ? 1\n        : -1\n      : fromIndex > toIndex\n      ? -1\n      : 1)\n\n  let resultTarget =\n    (Math.round(\n      (flexyInstance.state.positionX * 100) /\n        getDimensionFor(\n          nullifyTransforms(\n            flexyInstance.sliderContainer.firstElementChild,\n            flexyInstance.options.nullifyTransformEl\n          ),\n          flexyInstance\n        ) /\n        100\n    ) *\n      100 *\n      getDimensionFor(\n        nullifyTransforms(\n          flexyInstance.sliderContainer.firstElementChild,\n          flexyInstance.options.nullifyTransformEl\n        ),\n        flexyInstance\n      )) /\n      100 +\n    getDimensionFor(\n      nullifyTransforms(\n        flexyInstance.sliderContainer.firstElementChild,\n        flexyInstance.options.nullifyTransformEl\n      ),\n      flexyInstance\n    ) *\n      p\n\n  flexyInstance.state = {\n    ...flexyInstance.state,\n    positionTarget: resultTarget,\n  }\n}\n\nexport const mountArrowsListeners = (flexyInstance) => {\n  flexyInstance.options.leftArrow &&\n    flexyInstance.options.leftArrow.addEventListener(\"click\", (e) => {\n      e.preventDefault()\n      moveToIndexFor(flexyInstance, (fromIndex) => fromIndex - 1)\n    })\n\n  flexyInstance.options.rightArrow &&\n    flexyInstance.options.rightArrow.addEventListener(\"click\", (e) => {\n      e.preventDefault()\n      moveToIndexFor(flexyInstance, (fromIndex) => fromIndex + 1)\n    })\n}\n","export const adjustContainerHeightFor = (flexyInstance) => {\n  if (!flexyInstance.options.adjustHeight) return\n\n  let currentChild =\n    flexyInstance.sliderContainer.children[\n      flexyInstance.state.previousCurrentIndex\n    ]\n\n  flexyInstance.sliderContainer.style.setProperty(\n    \"--sliderHeight\",\n    `${\n      (currentChild.firstElementChild || currentChild).getBoundingClientRect()\n        .height\n    }px`\n  )\n}\n","import { fetchWrapAroundStatusFor, nullifyTransforms } from \"./helpers\"\n\n// import { handleScaleRotateEffectFor } from \"./rotate-effect\"\nimport { renderPillsFor, mountPillsListeners } from \"./pills\"\nimport { mountArrowsListeners } from \"./arrows\"\nimport { handleHoverStateFor } from \"./hover-state\"\nexport { adjustContainerHeightFor } from \"./dynamic-height\"\nimport { adjustContainerHeightFor } from \"./dynamic-height\"\n\nimport { getDimensionFor } from \"./direction-helpers\"\n\nimport { handleDragFor } from \"./drag\"\n\nconst clamp = (n, min, max) => Math.min(Math.max(n, min), max)\n\nconst DESTROYED = \"__DESTROYED__\"\n\nexport class Flexy {\n  getDefaultState = () => ({\n    elementsOnBehind: 1,\n\n    positionSnapshot: 0,\n    positionX: 0,\n\n    /**\n     * The thing the algorithm tends to move the slides to\n     */\n    positionTarget: 0,\n\n    velocity: 0,\n\n    containerInnerWidth: this.sliderContainer\n      ? getDimensionFor(\n          nullifyTransforms(this.sliderContainer, this.nullifyTransformEl),\n          this\n        )\n      : 0,\n\n    slideWidth: this.sliderContainer\n      ? getDimensionFor(\n          nullifyTransforms(\n            this.sliderContainer.firstElementChild,\n            this.sliderContainer\n          ),\n          this\n        )\n      : 0,\n\n    previousCurrentIndex: 0,\n\n    startX: 0,\n    endX: 0,\n    mouseDown: false,\n\n    lastTimeAnimated: Infinity,\n  })\n\n  state = this.getDefaultState()\n\n  options = {\n    onDragStart: () => {},\n    autoplay: false,\n    scaleRotateEffect: false,\n    pillsContainerSelector: null,\n    pillsFlexyInstance: null,\n    flexyAttributeEl: null,\n\n    initialDragEvent: null,\n\n    adjustHeight: false,\n\n    // container | viewport\n    wrapAroundMode: \"container\",\n\n    // horizontal | vertical\n    orientation: \"horizontal\",\n\n    nullifyTransformEl: null,\n\n    elementsThatDoNotStartDrag: [],\n\n    hasDragAndDrop: true,\n  }\n\n  sliderContainer = null\n\n  constructor(sliderContainer, options = {}) {\n    this.options = {\n      ...this.options,\n      flexyAttributeEl: sliderContainer,\n      nullifyTransformEl: sliderContainer,\n      ...options,\n    }\n\n    this.sliderContainer = sliderContainer\n\n    mountPillsListeners(this)\n    mountArrowsListeners(this)\n    handleHoverStateFor(this)\n\n    handleDragFor(\n      this,\n      () => this.state,\n      (newState) => (this.state = newState)\n    )\n    ;[...this.sliderContainer.children].map((singleSlide) =>\n      singleSlide.addEventListener(\n        \"click\",\n        (e) =>\n          Math.abs(this.state.startX - this.state.endX) > 3 &&\n          e.preventDefault()\n      )\n    )\n\n    let elementsOnBehind = 1\n    let firstItem = 1\n\n    let flexyAttributeElStyle = getComputedStyle(this.options.flexyAttributeEl)\n\n    if (flexyAttributeElStyle.getPropertyValue(\"--current-item\")) {\n      firstItem = parseInt(\n        flexyAttributeElStyle.getPropertyValue(\"--current-item\")\n      )\n\n      elementsOnBehind = this.sliderContainer.children.length\n    }\n\n    this.state = {\n      ...this.state,\n      elementsOnBehind,\n      positionX:\n        getDimensionFor(\n          nullifyTransforms(\n            this.sliderContainer.firstElementChild,\n            this.options.nullifyTransformEl\n          ),\n          this\n        ) *\n        firstItem *\n        -1,\n      positionTarget:\n        getDimensionFor(\n          nullifyTransforms(\n            this.sliderContainer.firstElementChild,\n            this.options.nullifyTransformEl\n          ),\n          this\n        ) *\n        firstItem *\n        -1,\n      containerInnerWidth: getDimensionFor(\n        nullifyTransforms(this.sliderContainer, this.nullifyTransformEl),\n        this\n      ),\n      slideWidth: getDimensionFor(\n        nullifyTransforms(\n          this.sliderContainer.firstElementChild,\n          this.options.nullifyTransformEl\n        ),\n        this\n      ),\n    }\n\n    this.refreshActivation()\n    requestAnimationFrame(() => this.drawLoop(true))\n    adjustContainerHeightFor(this)\n  }\n\n  destroy() {\n    this.state = {\n      ...this.state,\n      sliderActivated: DESTROYED,\n    }\n  }\n\n  refreshActivation() {\n    let totalSlidesWidth =\n      getDimensionFor(\n        nullifyTransforms(\n          this.sliderContainer.children[0],\n          this.options.nullifyTransformEl\n        ) || {\n          width: 0,\n          height: 0,\n        },\n        this\n      ) * this.sliderContainer.children.length\n\n    this.state = {\n      ...this.state,\n      sliderActivated: this.sliderContainer\n        ? getComputedStyle(this.sliderContainer, \":after\").content.indexOf(\n            \"no-flexy\"\n          ) === -1 &&\n          totalSlidesWidth >\n            getDimensionFor(\n              nullifyTransforms(\n                this.options.orientation === \"vertical\"\n                  ? this.sliderContainer.parentNode\n                  : this.sliderContainer,\n                this.options.nullifyTransformEl\n              ),\n              this\n            ) +\n              10\n        : false,\n\n      /*\n      &&\n          totalSlidesWidth > window.innerWidth\n          */\n    }\n\n    if (this.state.sliderActivated) {\n      this.options.flexyAttributeEl.dataset.flexy = \"\"\n    } else {\n      this.options.flexyAttributeEl.removeAttribute(\"data-flexy\")\n      ;[...this.sliderContainer.children].map((el) =>\n        el.removeAttribute(\"style\")\n      )\n    }\n  }\n\n  drawLoop = (fallThroughTheFirstDraw = false) => {\n    let oldPositionX = fallThroughTheFirstDraw ? Infinity : this.state.positionX\n\n    // TODO: maybe do a smarter destroy\n    if (this.state.sliderActivated === DESTROYED) {\n      return\n    }\n\n    if (\n      this.state.containerInnerWidth !==\n      nullifyTransforms(this.sliderContainer, this.nullifyTransformEl).width\n    ) {\n      this.refreshActivation()\n    }\n\n    this.state = {\n      ...this.state,\n      ...(this.state.sliderActivated\n        ? ((t, c) => c(t))(\n            this.state.velocity +\n              /**\n               * Apply different forces based on the conditions\n               */\n              (this.state.mouseDown\n                ? this.state.positionSnapshot +\n                  (this.state.endX - this.state.startX) -\n                  this.state.positionX -\n                  this.state.velocity\n                : (this.state.positionTarget - this.state.positionX) * 0.02),\n\n            (velocity) => ({\n              velocity: velocity * 0.72,\n              positionX: this.state.positionX + velocity,\n            })\n          )\n        : {}),\n      ...(this.state.sliderActivated &&\n      Math.abs(\n        this.state.containerInnerWidth -\n          getDimensionFor(\n            nullifyTransforms(this.sliderContainer, this.nullifyTransformEl),\n            this\n          )\n      ) > 1\n        ? {\n            positionX: Math.round(\n              (getDimensionFor(\n                nullifyTransforms(\n                  this.sliderContainer.firstElementChild,\n                  this.options.nullifyTransformEl\n                ),\n                this\n              ) *\n                (Math.round(this.state.positionX / this.state.slideWidth) *\n                  100)) /\n                100\n            ),\n            positionTarget: Math.round(\n              (getDimensionFor(\n                nullifyTransforms(\n                  this.sliderContainer.firstElementChild,\n                  this.options.nullifyTransformEl\n                ),\n                this\n              ) *\n                (Math.round(this.state.positionX / this.state.slideWidth) *\n                  100)) /\n                100\n            ),\n          }\n        : {}),\n      scrollPosition: {\n        x: window.pageXOffset,\n        y: window.pageYOffset,\n      },\n      containerInnerWidth: getDimensionFor(\n        nullifyTransforms(this.sliderContainer, this.nullifyTransformEl),\n        this\n      ),\n      slideWidth: getDimensionFor(\n        nullifyTransforms(\n          this.sliderContainer.firstElementChild,\n          this.options.nullifyTransformEl\n        ),\n        this\n      ),\n    }\n\n    if (\n      (oldPositionX !== this.state.positionX ||\n        Math.abs(this.state.positionX - this.state.positionTarget) > 0.1) &&\n      !fallThroughTheFirstDraw\n    ) {\n      if (this.state.sliderActivated) {\n        let { relativeDelta, elementsOnBehind } = fetchWrapAroundStatusFor(\n          this,\n          this.state.elementsOnBehind,\n          this.state.mouseDown\n            ? this.state.endX <= this.state.startX\n              ? \"right\"\n              : \"left\"\n            : this.state.positionX >= this.state.positionTarget\n            ? \"right\"\n            : \"left\",\n\n          this.options.wrapAroundMode\n        )\n\n        this.state = {\n          ...this.state,\n          elementsOnBehind,\n          positionTarget: this.state.positionTarget + relativeDelta,\n          positionX: this.state.positionX + relativeDelta,\n          positionSnapshot: this.state.positionSnapshot + relativeDelta,\n        }\n      }\n    }\n\n    if (this.options.autoplay && this.state.sliderActivated) {\n      if (Math.abs(this.state.positionX - this.state.positionTarget) < 0.5) {\n        if (\n          new Date().getTime() / 1000 - this.state.lastTimeAnimated / 1000 >\n          (parseFloat(this.options.autoplay, 10)\n            ? parseFloat(this.options.autoplay, 10)\n            : 3)\n        ) {\n          this.state = {\n            ...this.state,\n            positionTarget:\n              this.state.positionX -\n              getDimensionFor(\n                nullifyTransforms(\n                  this.sliderContainer.firstElementChild,\n                  this.options.nullifyTransformEl\n                ),\n                this\n              ),\n          }\n        }\n      }\n    }\n\n    if (!this.state.mouseDown && this.state.sliderActivated) {\n      if (Math.abs(this.state.positionX - this.state.positionTarget) < 0.2) {\n        this.state = {\n          ...this.state,\n          positionX: this.state.positionTarget,\n          velocity: 0,\n        }\n      }\n\n      let oldIndex = this.state.previousCurrentIndex\n\n      this.state = {\n        ...this.state,\n        previousCurrentIndex: clamp(\n          this.state.elementsOnBehind >\n            Math.round(\n              Math.abs(this.state.positionTarget) /\n                getDimensionFor(\n                  nullifyTransforms(\n                    this.sliderContainer.firstElementChild,\n                    this.options.nullifyTransformEl\n                  ),\n                  this\n                )\n            )\n            ? Math.round(\n                Math.abs(this.state.positionTarget) /\n                  getDimensionFor(\n                    nullifyTransforms(\n                      this.sliderContainer.firstElementChild,\n                      this.options.nullifyTransformEl\n                    ),\n                    this\n                  )\n              ) +\n                (this.sliderContainer.children.length -\n                  this.state.elementsOnBehind)\n            : Math.abs(\n                Math.round(\n                  Math.abs(this.state.positionTarget) /\n                    getDimensionFor(\n                      nullifyTransforms(\n                        this.sliderContainer.firstElementChild,\n                        this.options.nullifyTransformEl\n                      ),\n                      this\n                    )\n                ) - this.state.elementsOnBehind\n              ),\n          0,\n          this.sliderContainer.children.length - 1\n        ),\n      }\n\n      if (oldIndex !== this.state.previousCurrentIndex) {\n        renderPillsFor(this)\n        adjustContainerHeightFor(this)\n        ;[...this.sliderContainer.querySelectorAll(\"video\")].map((video) => {\n          video.pause()\n        })\n        ;[...this.sliderContainer.querySelectorAll('iframe[src*=\"youtu\"]')].map(\n          (i) => {\n            i.contentWindow.postMessage(\n              '{\"event\":\"command\",\"func\":\"stopVideo\",\"args\":\"\"}',\n              \"*\"\n            )\n          }\n        )\n        ;[\n          ...this.sliderContainer.querySelectorAll(\n            'iframe:not([src*=\"youtu\"])'\n          ),\n        ].map((i) => {\n          const source = i.src\n          i.src = \"\"\n          i.src = source\n        })\n      }\n    }\n\n    if (this.state.positionX !== oldPositionX && this.state.sliderActivated) {\n      this.render()\n\n      // handleScaleRotateEffectFor(this)\n\n      this.state = {\n        ...this.state,\n        lastTimeAnimated: new Date().getTime(),\n      }\n    }\n\n    requestAnimationFrame(() => this.drawLoop())\n  }\n\n  render() {\n    ;[...this.sliderContainer.children].map((el) => {\n      if (this.options.orientation === \"vertical\") {\n        el.style.transform = `translate3d(0, ${this.state.positionX}px, 0)`\n      } else {\n        el.style.transform = `translate3d(${this.state.positionX}px, 0, 0)`\n      }\n    })\n\n    if (this.state.mouseDown) {\n      this.options.flexyAttributeEl.dataset.flexyDragging = \"\"\n    } else {\n      this.options.flexyAttributeEl.removeAttribute(\"data-flexy-dragging\")\n    }\n\n    if (this.state.elementsOnBehind > 0) {\n      ;[...this.sliderContainer.children]\n        .slice(0, this.state.elementsOnBehind * -1)\n        .map((el) => (el.style.order = 2))\n      ;[...this.sliderContainer.children]\n        .slice(this.state.elementsOnBehind * -1)\n        .map((el) => (el.style.order = 1))\n    } else {\n      ;[...this.sliderContainer.children].map((el) => (el.style.order = 1))\n    }\n  }\n}\n","export const handleHoverStateFor = (flexyInstance) => {\n  const sliderContainer = flexyInstance.sliderContainer\n\n  if (!flexyInstance.options.autoplay) return\n\n  sliderContainer.addEventListener(\n    \"mouseenter\",\n    () =>\n      (flexyInstance.options = {\n        ...flexyInstance.options,\n        autoplay: false,\n        _autoplay: flexyInstance.options.autoplay,\n      })\n  )\n\n  sliderContainer.addEventListener(\"mouseleave\", () => {\n    flexyInstance.options = {\n      ...flexyInstance.options,\n      autoplay: flexyInstance.options._autoplay,\n      _autoplay: false,\n    }\n\n    flexyInstance.state = {\n      ...flexyInstance.state,\n      lastTimeAnimated: new Date().getTime(),\n    }\n  })\n}\n","import { nullifyTransforms } from \"./helpers\"\n\nexport const handleDragFor = (flexyInstance, getState, setState) => {\n  if (!flexyInstance.options.hasDragAndDrop) {\n    return\n  }\n\n  const sliderContainer = flexyInstance.sliderContainer\n\n  const handleDown = (e) => {\n    if (!getState().sliderActivated) return\n\n    if (\n      flexyInstance.options.elementsThatDoNotStartDrag.reduce(\n        (shouldSkipDrag, selector) =>\n          shouldSkipDrag\n            ? true\n            : e.target.matches(selector) || e.target.closest(selector),\n\n        false\n      )\n    ) {\n      return\n    }\n\n    // e.preventDefault()\n    e.stopPropagation()\n\n    if (e.type !== \"touchstart\") {\n      e.preventDefault()\n    }\n\n    flexyInstance.options.onDragStart(e)\n\n    setState({\n      ...getState(),\n      startX: e.pageX || e.touches[0].pageX,\n      endX: e.pageX || e.touches[0].pageX,\n      mouseDown: true,\n      downScrollPosition: {\n        x: window.pageXOffset,\n        y: window.pageYOffset,\n      },\n      positionSnapshot: getState().positionX,\n    })\n\n    const handleMouseUp = (e) => {\n      if (!getState().mouseDown) return\n\n      e.stopPropagation()\n\n      setState({\n        ...getState(),\n        mouseDown: false,\n      })\n\n      document.removeEventListener(\"mousemove\", handleMouseMove)\n      document.removeEventListener(\"mouseup\", handleMouseUp)\n\n      document.removeEventListener(\"touchmove\", handleMouseMove)\n      document.removeEventListener(\"touchend\", handleMouseUp)\n\n      let state = getState()\n\n      let fromPercentage =\n        (state.positionX * 100) /\n        nullifyTransforms(\n          sliderContainer.firstElementChild,\n          flexyInstance.options.nullifyTransformEl\n        ).width\n\n      setState({\n        ...getState(),\n        positionTarget:\n          (nullifyTransforms(\n            sliderContainer.firstElementChild,\n            flexyInstance.options.nullifyTransformEl\n          ).width *\n            (Math.abs(state.endX - state.startX) > 50\n              ? state.endX - state.startX < 0\n                ? Math.floor(fromPercentage / 100) * 100\n                : Math.ceil(fromPercentage / 100) * 100\n              : Math.round(fromPercentage / 100) * 100)) /\n          100,\n      })\n    }\n\n    const handleMouseMove = (e) => {\n      let { pageX: endX } = e\n\n      if (!endX) {\n        endX = e.touches[0].pageX\n      }\n\n      if (!getState().mouseDown) return\n\n      let state = getState()\n\n      let { startX, positionSnapshot } = state\n\n      setState({\n        ...state,\n        endX,\n      })\n\n      if (\n        Math.abs(state.downScrollPosition.x - state.scrollPosition.x) > 3 ||\n        Math.abs(state.downScrollPosition.y - state.scrollPosition.y) > 5\n      ) {\n        handleMouseUp(e, false)\n      }\n    }\n\n    document.addEventListener(\"mousemove\", handleMouseMove)\n    document.addEventListener(\"mouseup\", handleMouseUp)\n\n    document.addEventListener(\"touchmove\", handleMouseMove)\n    document.addEventListener(\"touchend\", handleMouseUp)\n  }\n\n  sliderContainer.addEventListener(\"mousedown\", handleDown)\n  sliderContainer.addEventListener(\"touchstart\", handleDown)\n\n  if (\n    flexyInstance.options.initialDragEvent &&\n    !flexyInstance.options.initialDragEvent.target.closest(\n      \".flexy-pills > * > *\"\n    )\n  ) {\n    requestAnimationFrame(() => {\n      handleDown(flexyInstance.options.initialDragEvent)\n    })\n  }\n}\n","import $ from 'jquery'\nimport { Flexy, adjustContainerHeightFor } from 'flexy'\nimport ctEvents from 'ct-events'\nimport { getCurrentScreen } from '../frontend/helpers/current-screen'\n\nexport const mount = (sliderEl, args) => {\n\t// sliderEl = sliderEl.parentNode\n\n\tif (sliderEl.flexy) {\n\t\treturn\n\t}\n\n\tlet maybePillsSlider = sliderEl.querySelector('.flexy-pills [data-flexy]')\n\n\tconst inst = new Flexy(sliderEl.querySelector('.flexy-items'), {\n\t\tflexyAttributeEl: sliderEl,\n\t\telementsThatDoNotStartDrag: ['.twentytwenty-handle'],\n\t\tadjustHeight: !!sliderEl.querySelector('.flexy-items').dataset.height,\n\n\t\t...(args.event ? { initialDragEvent: args.event } : {}),\n\n\t\tautoplay:\n\t\t\tObject.keys(sliderEl.dataset).indexOf('autoplay') > -1 &&\n\t\t\tparseInt(sliderEl.dataset.autoplay, 10)\n\t\t\t\t? sliderEl.dataset.autoplay\n\t\t\t\t: false,\n\n\t\t...(sliderEl.querySelector('.flexy-pills')\n\t\t\t? {\n\t\t\t\t\tpillsContainerSelector: sliderEl.querySelector(\n\t\t\t\t\t\t'.flexy-pills'\n\t\t\t\t\t).firstElementChild,\n\t\t\t  }\n\t\t\t: {}),\n\t\tleftArrow: sliderEl.querySelector('.flexy .flexy-arrow-prev'),\n\t\trightArrow: sliderEl.querySelector('.flexy .flexy-arrow-next'),\n\t\tscaleRotateEffect: false,\n\n\t\tonDragStart: (e) => {\n\t\t\tif (!e.target.closest('.flexy-items')) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tArray.from(\n\t\t\t\te.target.closest('.flexy-items').querySelectorAll('.zoomImg')\n\t\t\t).map((img) => {\n\t\t\t\t$(img).stop().fadeTo(120, 0)\n\t\t\t})\n\t\t},\n\n\t\t// viewport | container\n\t\twrapAroundMode:\n\t\t\tsliderEl.dataset.wrap === 'viewport' ? 'viewport' : 'container',\n\n\t\t...(maybePillsSlider\n\t\t\t? {\n\t\t\t\t\tpillsFlexyInstance: maybePillsSlider,\n\t\t\t  }\n\t\t\t: {}),\n\t})\n\n\tif (maybePillsSlider) {\n\t\tconst inst = new Flexy(maybePillsSlider, {\n\t\t\telementsThatDoNotStartDrag: ['.twentytwenty-handle'],\n\t\t\t// viewport | container\n\t\t\twrapAroundMode:\n\t\t\t\tmaybePillsSlider.dataset.wrap === 'viewport'\n\t\t\t\t\t? 'viewport'\n\t\t\t\t\t: 'container',\n\n\t\t\tleftArrow: maybePillsSlider.parentNode.querySelector(\n\t\t\t\t'.flexy-arrow-prev'\n\t\t\t),\n\t\t\trightArrow: maybePillsSlider.parentNode.querySelector(\n\t\t\t\t'.flexy-arrow-next'\n\t\t\t),\n\t\t\thasDragAndDrop: false,\n\n\t\t\t...(maybePillsSlider.closest('.thumbs-left') &&\n\t\t\tgetCurrentScreen({ withTablet: true }) !== 'mobile'\n\t\t\t\t? {\n\t\t\t\t\t\torientation: 'vertical',\n\t\t\t\t  }\n\t\t\t\t: {}),\n\t\t})\n\n\t\tmaybePillsSlider.flexy = inst\n\t}\n\n\tsliderEl.flexy = inst\n}\n\nctEvents.on('ct:flexy:update-height', () => {\n\t;[...document.querySelectorAll('.flexy-container')].map((el) => {\n\t\tif (!el.flexy) {\n\t\t\treturn\n\t\t}\n\n\t\tadjustContainerHeightFor(el.flexy)\n\t})\n})\n"],"names":["getRightOrBottom","rect","flexyInstance","options","orientation","top","height","right","getLeftOrTop","left","getDimensionFor","width","fetchWrapAroundStatusFor","elementsOnBehind","theSideWeAreMovingOnto","wrapAroundMode","sliderContainer","relativeDelta","leftmostOffset","children","reduce","leftmostEl","currentEl","nullifyTransforms","nullifyTransformEl","getBoundingClientRect","bottom","firstElementChild","length","rightmostOffset","rightmostEl","window","innerWidth","el","elementToLookAt","transformArr","getComputedStyle","transform","split","slice","map","v","parseFloat","t","det","renderPillsFor","pillsContainerSelector","querySelector","classList","remove","state","previousCurrentIndex","add","pillsFlexyInstance","localFlexyInstance","flexy","allPills","fromIndex","indexOf","currentLeft","Math","abs","toIndex","perPage","round","amountToTheLeft","amountToTheRight","min","max","p","resultTarget","positionX","positionTarget","moveToIndexFor","cb","adjustContainerHeightFor","adjustHeight","currentChild","style","setProperty","clamp","n","DESTROYED","Flexy","constructor","_defineProperty","positionSnapshot","velocity","containerInnerWidth","slideWidth","startX","endX","mouseDown","lastTimeAnimated","Infinity","this","getDefaultState","onDragStart","autoplay","scaleRotateEffect","flexyAttributeEl","initialDragEvent","elementsThatDoNotStartDrag","hasDragAndDrop","fallThroughTheFirstDraw","oldPositionX","sliderActivated","refreshActivation","scrollPosition","x","pageXOffset","y","pageYOffset","Date","getTime","oldIndex","querySelectorAll","video","pause","i","contentWindow","postMessage","source","src","render","requestAnimationFrame","drawLoop","handlePillEvent","singlePill","target","closest","setTimeout","addEventListener","e","preventDefault","mountPillsListeners","leftArrow","rightArrow","_autoplay","handleHoverStateFor","getState","setState","handleDown","shouldSkipDrag","selector","matches","stopPropagation","type","pageX","touches","downScrollPosition","handleMouseUp","document","removeEventListener","handleMouseMove","fromPercentage","floor","ceil","handleDragFor","newState","singleSlide","firstItem","flexyAttributeElStyle","getPropertyValue","parseInt","destroy","totalSlidesWidth","content","parentNode","dataset","removeAttribute","flexyDragging","order","mount","sliderEl","args","maybePillsSlider","inst","event","Object","keys","Array","from","img","$","stop","fadeTo","wrap","getCurrentScreen","withTablet","ctEvents"],"sourceRoot":""}