{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/zvkTOpMSuRzRhLzZZIwG/bwgDNfOkuRQlrlKseDFD/SlideShow.js"],
  "sourcesContent": ["import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { Children, useLayoutEffect, useEffect, useState, useRef, useMemo, createRef, useCallback, cloneElement, forwardRef } from \"react\";\nimport { addPropertyControls, ControlType, RenderTarget } from \"framer\";\nimport { motion, animate, useMotionValue, useTransform, LayoutGroup, wrap, sync } from \"framer-motion\";\nimport { resize } from \"@motionone/dom\";\nimport { usePageVisibility } from \"https://framerusercontent.com/modules/V9ryrjN5Am9WM1dJeyyJ/9mrJHeWj7rhvLTLu7Yzt/UsePageVisibility.js\"; /**\n                                                                                                                                          *\n                                                                                                                                          * SLIDESHOW\n                                                                                                                                          * V2 with Drag\n                                                                                                                                          * By Benjamin and Matt\n                                                                                                                                          *\n                                                                                                                                          * @framerIntrinsicWidth 400\n                                                                                                                                          * @framerIntrinsicHeight 200\n                                                                                                                                          *\n                                                                                                                                          * @framerDisableUnlink\n                                                                                                                                          *\n                                                                                                                                          * @framerSupportedLayoutWidth fixed\n                                                                                                                                          * @framerSupportedLayoutHeight fixed\n                                                                                                                                          */\nexport default function Slideshow(props) {\n  /**\n  * Properties\n  */\n  const {\n    slots,\n    startFrom,\n    direction,\n    effectsOptions,\n    autoPlayControl,\n    dragControl,\n    alignment,\n    gap,\n    padding,\n    paddingPerSide,\n    paddingTop,\n    paddingRight,\n    paddingBottom,\n    paddingLeft,\n    itemAmount,\n    fadeOptions,\n    intervalControl,\n    transitionControl,\n    arrowOptions,\n    borderRadius,\n    progressOptions,\n    style\n  } = props;\n  const {\n    effectsOpacity,\n    effectsScale,\n    effectsRotate,\n    effectsPerspective,\n    effectsHover\n  } = effectsOptions;\n  const {\n    fadeContent,\n    overflow,\n    fadeWidth,\n    fadeInset,\n    fadeAlpha\n  } = fadeOptions;\n  const {\n    showMouseControls,\n    arrowSize,\n    arrowRadius,\n    arrowFill,\n    leftArrow,\n    rightArrow,\n    arrowShouldSpace = true,\n    arrowShouldFadeIn = false,\n    arrowPosition,\n    arrowPadding,\n    arrowGap,\n    arrowPaddingTop,\n    arrowPaddingRight,\n    arrowPaddingBottom,\n    arrowPaddingLeft\n  } = arrowOptions;\n  const {\n    showProgressDots,\n    dotSize,\n    dotsInset,\n    dotsRadius,\n    dotsPadding,\n    dotsGap,\n    dotsFill,\n    dotsBackground,\n    dotsActiveOpacity,\n    dotsOpacity,\n    dotsBlur\n  } = progressOptions;\n  const paddingValue = paddingPerSide ? `${paddingTop}px ${paddingRight}px ${paddingBottom}px ${paddingLeft}px` : `${padding}px`; /**\n                                                                                                                                  * Checks\n                                                                                                                                  */\n  const isCanvas = RenderTarget.current() === RenderTarget.canvas;\n  const hasChildren = Children.count(slots) > 0;\n  const isHorizontal = direction === \"left\" || direction === \"right\";\n  const isInverted = direction === \"right\" || direction === \"bottom\"; /**\n                                                                      * Empty state for Canvas\n                                                                      */\n  if (!hasChildren) {\n    return /*#__PURE__*/_jsxs(\"section\", {\n      style: placeholderStyles,\n      children: [/*#__PURE__*/_jsx(\"div\", {\n        style: emojiStyles,\n        children: \"\u2B50\uFE0F\"\n      }), /*#__PURE__*/_jsx(\"p\", {\n        style: titleStyles,\n        children: \"Connect to Content\"\n      }), /*#__PURE__*/_jsx(\"p\", {\n        style: subtitleStyles,\n        children: \"Add layers or components to make infinite auto-playing slideshows.\"\n      })]\n    });\n  } /**\n    * Refs, State\n    */\n  const parentRef = useRef(null);\n  const childrenRef = useMemo(() => {\n    return slots.map(index => /*#__PURE__*/createRef());\n  }, [slots]);\n  const timeoutRef = useRef(undefined);\n  const [size, setSize] = useState({\n    parent: null,\n    children: null,\n    item: null,\n    itemWidth: null,\n    itemHeight: null\n  }); /* For pausing on hover */\n  const [isHovering, setIsHovering] = useState(false);\n  const [shouldPlayOnHover, setShouldPlayOnHover] = useState(autoPlayControl); /* For cursor updates */\n  const [isMouseDown, setIsMouseDown] = useState(false); /* Check if resizing */\n  const [isResizing, setIsResizing] = useState(false); /**\n                                                       * Array for children\n                                                       */\n  const dupedChildren = [];\n  let duplicateBy = 4;\n  if (isCanvas) {\n    duplicateBy = 1;\n  } /**\n    * Measure parent, child, items\n    */\n  const measure = useCallback(() => {\n    sync.read(() => {\n      if (hasChildren && parentRef.current) {\n        const total = slots.length - 1;\n        const parentLength = isHorizontal ? parentRef.current.offsetWidth : parentRef.current.offsetHeight;\n        const start = childrenRef[0].current ? isHorizontal ? childrenRef[0].current.offsetLeft : childrenRef[0].current.offsetTop : 0;\n        const end = childrenRef[total].current ? isHorizontal ? childrenRef[total].current.offsetLeft + childrenRef[total].current.offsetWidth : childrenRef[total].current.offsetTop + childrenRef[total].current.offsetHeight : 0;\n        const childrenLength = end - start + gap;\n        const itemSize = childrenRef[0].current ? isHorizontal ? childrenRef[0].current.offsetWidth : childrenRef[0].current.offsetHeight : 0;\n        const itemWidth = childrenRef[0].current ? childrenRef[0].current.offsetWidth : 0;\n        const itemHeight = childrenRef[0].current ? childrenRef[0].current.offsetHeight : 0;\n        setSize({\n          parent: parentLength,\n          children: childrenLength,\n          item: itemSize,\n          itemWidth,\n          itemHeight\n        });\n      }\n    });\n  }, [hasChildren]); /**\n                     * Add refs to all children\n                     * Added itemAmount for resizing\n                     */\n  useLayoutEffect(() => {\n    if (hasChildren) measure();\n  }, [hasChildren, itemAmount]); /**\n                                 * Track whether this is the initial resize event. By default this will fire on mount,\n                                 * which we do in the useEffect. We should only fire it on subsequent resizes.\n                                 */\n  let initialResize = useRef(true);\n  useEffect(() => {\n    return resize(parentRef.current, ({\n      contentSize\n    }) => {\n      if (!initialResize.current && (contentSize.width || contentSize.height)) {\n        measure();\n        setIsResizing(true);\n      }\n      initialResize.current = false;\n    });\n  }, []);\n  useEffect(() => {\n    if (isResizing) {\n      const timer = setTimeout(() => setIsResizing(false), 500);\n      return () => clearTimeout(timer);\n    }\n  }, [isResizing]); /**\n                    * Animation, pagination\n                    */\n  const totalItems = slots === null || slots === void 0 ? void 0 : slots.length;\n  const childrenSize = isCanvas ? 0 : size === null || size === void 0 ? void 0 : size.children;\n  const itemWithGap = (size === null || size === void 0 ? void 0 : size.item) + gap;\n  const itemOffset = startFrom * itemWithGap;\n  const [currentItem, setCurrentItem] = useState(startFrom + totalItems);\n  const [isDragging, setIsDragging] = useState(false); /* Check for browser window visibility */ /* Otherwise, it will re-play all the item increments */\n  const isVisible = usePageVisibility();\n  const factor = isInverted ? 1 : -1; /* The x and y values to start from */\n  const xOrY = useMotionValue(childrenSize); /* For canvas only. Using xOrY is slower upon page switching */\n  const canvasPosition = isHorizontal ? -startFrom * ((size === null || size === void 0 ? void 0 : size.itemWidth) + gap) : -startFrom * ((size === null || size === void 0 ? void 0 : size.itemHeight) + gap); /* Calculate the new value to animate to */\n  const newPosition = () => factor * currentItem * itemWithGap; /* Wrapped values for infinite looping */ /* Instead of 0 to a negative full duplicated row, we start with an offset */\n  const wrappedValue = !isCanvas ? useTransform(xOrY, value => {\n    const wrapped = wrap(-childrenSize, -childrenSize * 2, value);\n    return isNaN(wrapped) ? 0 : wrapped;\n  }) : 0; /* Convert the current item to a wrapping index for dots */\n  const wrappedIndex = wrap(0, totalItems, currentItem);\n  const wrappedIndexInverted = wrap(0, -totalItems, currentItem); /* Update x or y with the provided starting point */ /* The subtraction of a full row of children is for overflow */\n  useLayoutEffect(() => {\n    if ((size === null || size === void 0 ? void 0 : size.children) === null) return; /* Initial measure */ // if (initialResize.current) {\n    //     xOrY.set((childrenSize + itemOffset) * factor)\n    // }\n    /* Subsequent resizes */\n    if (!initialResize.current && isResizing) {\n      xOrY.set(newPosition());\n    }\n  }, [size, childrenSize, factor, itemOffset, currentItem, itemWithGap, isResizing]); /**\n                                                                                      * Page item methods\n                                                                                      * Switching, deltas, autoplaying\n                                                                                      */ /* Next and previous function, animates the X */\n  const switchPages = () => {\n    if (isCanvas || !hasChildren || !size.parent || isDragging) return;\n    if (xOrY.get() !== newPosition()) {\n      animate(xOrY, newPosition(), transitionControl);\n    }\n    if (autoPlayControl && shouldPlayOnHover) {\n      timeoutRef.current = setTimeout(() => {\n        setCurrentItem(currentItem + 1);\n        switchPages();\n      }, intervalControl * 1e3);\n    }\n  }; /* Page navigation functions */\n  const setDelta = delta => {\n    if (!isInverted) {\n      setCurrentItem(currentItem + delta);\n    } else {\n      setCurrentItem(currentItem - delta);\n    }\n  };\n  const setPage = index => {\n    const currentItemWrapped = wrap(0, totalItems, currentItem);\n    const currentItemWrappedInvert = wrap(0, -totalItems, currentItem);\n    const goto = index - currentItemWrapped;\n    const gotoInverted = index - Math.abs(currentItemWrappedInvert);\n    if (!isInverted) {\n      setCurrentItem(currentItem + goto);\n    } else {\n      setCurrentItem(currentItem - gotoInverted);\n    }\n  }; /**\n     * Drag\n     */\n  const handleDragStart = () => {\n    setIsDragging(true);\n  };\n  const handleDragEnd = (event, {\n    offset,\n    velocity\n  }) => {\n    setIsDragging(false);\n    const offsetXorY = isHorizontal ? offset.x : offset.y;\n    const velocityThreshold = 200 // Based on testing, can be tweaked or could be 0\n    ;\n    const velocityXorY = isHorizontal ? velocity.x : velocity.y;\n    const isHalfOfNext = offsetXorY < -size.item / 2;\n    const isHalfOfPrev = offsetXorY > size.item / 2; /* In case you drag more than 1 item left or right */\n    const normalizedOffset = Math.abs(offsetXorY);\n    const itemDelta = Math.round(normalizedOffset / size.item); /* Minimum delta is 1 to initiate a page switch */ /* For velocity use only */\n    const itemDeltaFromOne = itemDelta === 0 ? 1 : itemDelta; /* For quick flicks, even with low offsets */\n    if (velocityXorY > velocityThreshold) {\n      setDelta(-itemDeltaFromOne);\n    } else if (velocityXorY < -velocityThreshold) {\n      setDelta(itemDeltaFromOne);\n    } else {\n      /* For dragging over half of the current item with 0 velocity */if (isHalfOfNext) {\n        setDelta(itemDelta);\n      }\n      if (isHalfOfPrev) {\n        setDelta(-itemDelta);\n      }\n    }\n  }; /* Kickstart the auto-playing once we have all the children */\n  useEffect(() => {\n    if (!isVisible || isResizing) return;\n    switchPages();\n    return () => timeoutRef.current && clearTimeout(timeoutRef.current);\n  }, [dupedChildren, isVisible, isResizing]); /* Create copies of our children to create a perfect loop */\n  let childCounter = 0; /**\n                        * Sizing\n                        * */\n  let columnOrRowValue = `calc(${100 / itemAmount}% - ${gap}px + ${gap / itemAmount}px)`; /**\n                                                                                          * Nested array to create duplicates of the children for infinite looping\n                                                                                          * These are wrapped around, and start at a full \"page\" worth of offset\n                                                                                          * as defined above.\n                                                                                          */\n  for (let index = 0; index < duplicateBy; index++) {\n    dupedChildren.push(...Children.map(slots, (child, childIndex) => {\n      let ref;\n      if (childIndex === 0) {\n        ref = childrenRef[0];\n      }\n      if (childIndex === slots.length - 1) {\n        ref = childrenRef[1];\n      }\n      return /*#__PURE__*/_jsx(Slide, {\n        ref: childrenRef[childIndex],\n        slideKey: index + childIndex + \"lg\",\n        index: index,\n        width: isHorizontal ? itemAmount > 1 ? columnOrRowValue : \"100%\" : \"100%\",\n        height: !isHorizontal ? itemAmount > 1 ? columnOrRowValue : \"100%\" : \"100%\",\n        size: size,\n        child: child,\n        numChildren: slots === null || slots === void 0 ? void 0 : slots.length,\n        wrappedValue: wrappedValue,\n        childCounter: childCounter++,\n        gap: gap,\n        isCanvas: isCanvas,\n        isHorizontal: isHorizontal,\n        effectsOpacity: effectsOpacity,\n        effectsScale: effectsScale,\n        effectsRotate: effectsRotate,\n        children: index + childIndex\n      }, index + childIndex + \"lg\");\n    }));\n  } /**\n    * Fades with masks\n    */\n  const fadeDirection = isHorizontal ? \"to right\" : \"to bottom\";\n  const fadeWidthStart = fadeWidth / 2;\n  const fadeWidthEnd = 100 - fadeWidth / 2;\n  const fadeInsetStart = clamp(fadeInset, 0, fadeWidthStart);\n  const fadeInsetEnd = 100 - fadeInset;\n  const fadeMask = `linear-gradient(${fadeDirection}, rgba(0, 0, 0, ${fadeAlpha}) ${fadeInsetStart}%, rgba(0, 0, 0, 1) ${fadeWidthStart}%, rgba(0, 0, 0, 1) ${fadeWidthEnd}%, rgba(0, 0, 0, ${fadeAlpha}) ${fadeInsetEnd}%)`; /**\n                                                                                                                                                                                                                              * Dots\n                                                                                                                                                                                                                              */\n  const dots = [];\n  const dotsBlurStyle = {};\n  if (showProgressDots) {\n    for (let i = 0; i < (slots === null || slots === void 0 ? void 0 : slots.length); i++) {\n      dots.push( /*#__PURE__*/_jsx(Dot, {\n        dotStyle: {\n          ...dotStyle,\n          width: dotSize,\n          height: dotSize,\n          backgroundColor: dotsFill\n        },\n        buttonStyle: baseButtonStyles,\n        selectedOpacity: dotsActiveOpacity,\n        opacity: dotsOpacity,\n        onClick: () => setPage(i),\n        wrappedIndex: wrappedIndex,\n        wrappedIndexInverted: wrappedIndexInverted,\n        total: totalItems,\n        index: i,\n        gap: dotsGap,\n        padding: dotsPadding,\n        isHorizontal: isHorizontal,\n        isInverted: isInverted\n      }, i));\n    }\n    if (dotsBlur > 0) {\n      dotsBlurStyle.backdropFilter = dotsBlurStyle.WebkitBackdropFilter = dotsBlurStyle.MozBackdropFilter = `blur(${dotsBlur}px)`;\n    }\n  }\n  const dragProps = dragControl ? {\n    drag: isHorizontal ? \"x\" : \"y\",\n    onDragStart: handleDragStart,\n    onDragEnd: handleDragEnd,\n    dragDirectionLock: true,\n    values: {\n      x: xOrY,\n      y: xOrY\n    },\n    dragMomentum: false\n  } : {};\n  const arrowHasTop = arrowPosition === \"top-left\" || arrowPosition === \"top-mid\" || arrowPosition === \"top-right\";\n  const arrowHasBottom = arrowPosition === \"bottom-left\" || arrowPosition === \"bottom-mid\" || arrowPosition === \"bottom-right\";\n  const arrowHasLeft = arrowPosition === \"top-left\" || arrowPosition === \"bottom-left\";\n  const arrowHasRight = arrowPosition === \"top-right\" || arrowPosition === \"bottom-right\";\n  const arrowHasMid = arrowPosition === \"top-mid\" || arrowPosition === \"bottom-mid\" || arrowPosition === \"auto\";\n  return /*#__PURE__*/_jsxs(\"section\", {\n    style: {\n      ...containerStyle,\n      padding: paddingValue,\n      WebkitMaskImage: fadeContent ? fadeMask : undefined,\n      MozMaskImage: fadeContent ? fadeMask : undefined,\n      maskImage: fadeContent ? fadeMask : undefined,\n      opacity: (size === null || size === void 0 ? void 0 : size.item) !== null ? 1 : 0,\n      userSelect: \"none\"\n    },\n    onMouseEnter: () => {\n      setIsHovering(true);\n      if (!effectsHover) setShouldPlayOnHover(false);\n    },\n    onMouseLeave: () => {\n      setIsHovering(false);\n      if (!effectsHover) setShouldPlayOnHover(true);\n    },\n    onMouseDown: event => {\n      // Preventdefault fixes the cursor switching to text on drag on safari\n      event.preventDefault();\n      setIsMouseDown(true);\n    },\n    onMouseUp: () => setIsMouseDown(false),\n    children: [/*#__PURE__*/_jsx(\"div\", {\n      style: {\n        width: \"100%\",\n        height: \"100%\",\n        margin: 0,\n        padding: \"inherit\",\n        position: \"absolute\",\n        inset: 0,\n        overflow: overflow ? \"visible\" : \"hidden\",\n        borderRadius: borderRadius,\n        userSelect: \"none\",\n        perspective: effectsPerspective\n      },\n      children: /*#__PURE__*/_jsx(motion.ul, {\n        ref: parentRef,\n        ...dragProps,\n        style: {\n          ...containerStyle,\n          gap: gap,\n          placeItems: alignment,\n          x: isHorizontal ? isCanvas ? canvasPosition : wrappedValue : 0,\n          y: !isHorizontal ? isCanvas ? canvasPosition : wrappedValue : 0,\n          flexDirection: isHorizontal ? \"row\" : \"column\",\n          transformStyle: effectsRotate !== 0 ? \"preserve-3d\" : undefined,\n          cursor: dragControl ? isMouseDown ? \"grabbing\" : \"grab\" : \"auto\",\n          userSelect: \"none\",\n          ...style\n        },\n        children: dupedChildren\n      })\n    }), /*#__PURE__*/_jsxs(\"fieldset\", {\n      style: {\n        ...controlsStyles\n      },\n      \"aria-label\": \"Slideshow pagination controls\",\n      className: \"framer--slideshow-controls\",\n      children: [/*#__PURE__*/_jsxs(motion.div, {\n        style: {\n          position: \"absolute\",\n          display: \"flex\",\n          flexDirection: isHorizontal ? \"row\" : \"column\",\n          justifyContent: arrowShouldSpace ? \"space-between\" : \"center\",\n          gap: arrowShouldSpace ? \"unset\" : arrowGap,\n          opacity: arrowShouldFadeIn ? 0 : 1,\n          alignItems: \"center\",\n          inset: arrowPadding,\n          top: arrowShouldSpace ? arrowPadding : arrowHasTop ? arrowPaddingTop : \"unset\",\n          left: arrowShouldSpace ? arrowPadding : arrowHasLeft ? arrowPaddingLeft : arrowHasMid ? 0 : \"unset\",\n          right: arrowShouldSpace ? arrowPadding : arrowHasRight ? arrowPaddingRight : arrowHasMid ? 0 : \"unset\",\n          bottom: arrowShouldSpace ? arrowPadding : arrowHasBottom ? arrowPaddingBottom : \"unset\"\n        },\n        animate: arrowShouldFadeIn && {\n          opacity: isHovering ? 1 : 0\n        },\n        transition: transitionControl,\n        children: [/*#__PURE__*/_jsx(motion.button, {\n          type: \"button\",\n          style: {\n            ...baseButtonStyles,\n            backgroundColor: arrowFill,\n            width: arrowSize,\n            height: arrowSize,\n            borderRadius: arrowRadius,\n            rotate: !isHorizontal ? 90 : 0,\n            display: showMouseControls ? \"block\" : \"none\",\n            pointerEvents: \"auto\"\n          },\n          onClick: () => setDelta(-1),\n          \"aria-label\": \"Previous\",\n          whileTap: {\n            scale: .9\n          },\n          transition: {\n            duration: .15\n          },\n          children: /*#__PURE__*/_jsx(\"img\", {\n            width: arrowSize,\n            height: arrowSize,\n            src: leftArrow || \"https://framerusercontent.com/images/6tTbkXggWgQCAJ4DO2QEdXXmgM.svg\",\n            alt: \"Back Arrow\"\n          })\n        }), /*#__PURE__*/_jsx(motion.button, {\n          type: \"button\",\n          style: {\n            ...baseButtonStyles,\n            backgroundColor: arrowFill,\n            width: arrowSize,\n            height: arrowSize,\n            borderRadius: arrowRadius,\n            rotate: !isHorizontal ? 90 : 0,\n            display: showMouseControls ? \"block\" : \"none\",\n            pointerEvents: \"auto\"\n          },\n          onClick: () => setDelta(1),\n          \"aria-label\": \"Next\",\n          whileTap: {\n            scale: .9\n          },\n          transition: {\n            duration: .15\n          },\n          children: /*#__PURE__*/_jsx(\"img\", {\n            width: arrowSize,\n            height: arrowSize,\n            src: rightArrow || \"https://framerusercontent.com/images/11KSGbIZoRSg4pjdnUoif6MKHI.svg\",\n            alt: \"Next Arrow\"\n          })\n        })]\n      }), dots.length > 1 ? /*#__PURE__*/_jsx(\"div\", {\n        style: {\n          ...dotsContainerStyle,\n          left: isHorizontal ? \"50%\" : dotsInset,\n          top: !isHorizontal ? \"50%\" : \"unset\",\n          transform: isHorizontal ? \"translateX(-50%)\" : \"translateY(-50%)\",\n          flexDirection: isHorizontal ? \"row\" : \"column\",\n          bottom: isHorizontal ? dotsInset : \"unset\",\n          borderRadius: dotsRadius,\n          backgroundColor: dotsBackground,\n          userSelect: \"none\",\n          ...dotsBlurStyle\n        },\n        children: dots\n      }) : null]\n    })]\n  });\n}\n; /* Default Properties */\nSlideshow.defaultProps = {\n  direction: \"left\",\n  dragControl: false,\n  startFrom: 0,\n  itemAmount: 1,\n  infinity: true,\n  gap: 10,\n  padding: 10,\n  autoPlayControl: true,\n  effectsOptions: {\n    effectsOpacity: 1,\n    effectsScale: 1,\n    effectsRotate: 0,\n    effectsPerspective: 1200,\n    effectsHover: true\n  },\n  transitionControl: {\n    type: \"spring\",\n    stiffness: 200,\n    damping: 40\n  },\n  fadeOptions: {\n    fadeContent: false,\n    overflow: false,\n    fadeWidth: 25,\n    fadeAlpha: 0,\n    fadeInset: 0\n  },\n  arrowOptions: {\n    showMouseControls: true,\n    arrowShouldFadeIn: false,\n    arrowShouldSpace: true,\n    arrowFill: \"rgba(0,0,0,0.2)\",\n    arrowSize: 40\n  },\n  progressOptions: {\n    showProgressDots: true\n  }\n}; /* Property Controls */\naddPropertyControls(Slideshow, {\n  slots: {\n    type: ControlType.Array,\n    title: \"Content\",\n    control: {\n      type: ControlType.ComponentInstance\n    }\n  },\n  direction: {\n    type: ControlType.Enum,\n    title: \"Direction\",\n    options: [\"left\", \"right\", \"top\", \"bottom\"],\n    optionIcons: [\"direction-left\", \"direction-right\", \"direction-up\", \"direction-down\"],\n    optionTitles: [\"Left\", \"Right\", \"Top\", \"Bottom\"],\n    displaySegmentedControl: true,\n    defaultValue: Slideshow.defaultProps.direction\n  },\n  autoPlayControl: {\n    type: ControlType.Boolean,\n    title: \"Auto Play\",\n    defaultValue: true\n  },\n  intervalControl: {\n    type: ControlType.Number,\n    title: \"Interval\",\n    defaultValue: 1.5,\n    min: .5,\n    max: 10,\n    step: .1,\n    displayStepper: true,\n    unit: \"s\",\n    hidden: props => !props.autoPlayControl\n  },\n  dragControl: {\n    type: ControlType.Boolean,\n    title: \"Draggable\",\n    defaultValue: false\n  },\n  startFrom: {\n    type: ControlType.Number,\n    title: \"Current\",\n    min: 0,\n    max: 10,\n    displayStepper: true,\n    defaultValue: Slideshow.defaultProps.startFrom\n  },\n  effectsOptions: {\n    type: ControlType.Object,\n    title: \"Effects\",\n    controls: {\n      effectsOpacity: {\n        type: ControlType.Number,\n        title: \"Opacity\",\n        defaultValue: Slideshow.defaultProps.effectsOptions.effectsOpacity,\n        min: 0,\n        max: 1,\n        step: .01,\n        displayStepper: true\n      },\n      effectsScale: {\n        type: ControlType.Number,\n        title: \"Scale\",\n        defaultValue: Slideshow.defaultProps.effectsOptions.effectsScale,\n        min: 0,\n        max: 1,\n        step: .01,\n        displayStepper: true\n      },\n      effectsPerspective: {\n        type: ControlType.Number,\n        title: \"Perspective\",\n        defaultValue: Slideshow.defaultProps.effectsOptions.effectsPerspective,\n        min: 200,\n        max: 2e3,\n        step: 1\n      },\n      effectsRotate: {\n        type: ControlType.Number,\n        title: \"Rotate\",\n        defaultValue: Slideshow.defaultProps.effectsOptions.effectsRotate,\n        min: -180,\n        max: 180,\n        step: 1\n      },\n      effectsHover: {\n        type: ControlType.Boolean,\n        title: \"On Hover\",\n        enabledTitle: \"Play\",\n        disabledTitle: \"Pause\",\n        defaultValue: Slideshow.defaultProps.effectsOptions.effectsHover\n      }\n    }\n  },\n  alignment: {\n    type: ControlType.Enum,\n    title: \"Align\",\n    options: [\"flex-start\", \"center\", \"flex-end\"],\n    optionIcons: {\n      direction: {\n        right: [\"align-top\", \"align-middle\", \"align-bottom\"],\n        left: [\"align-top\", \"align-middle\", \"align-bottom\"],\n        top: [\"align-left\", \"align-center\", \"align-right\"],\n        bottom: [\"align-left\", \"align-center\", \"align-right\"]\n      }\n    },\n    defaultValue: \"center\",\n    displaySegmentedControl: true\n  },\n  itemAmount: {\n    type: ControlType.Number,\n    title: \"Items\",\n    min: 1,\n    max: 10,\n    displayStepper: true,\n    defaultValue: Slideshow.defaultProps.itemAmount\n  },\n  gap: {\n    type: ControlType.Number,\n    title: \"Gap\",\n    min: 0\n  },\n  padding: {\n    title: \"Padding\",\n    type: ControlType.FusedNumber,\n    toggleKey: \"paddingPerSide\",\n    toggleTitles: [\"Padding\", \"Padding per side\"],\n    defaultValue: 0,\n    valueKeys: [\"paddingTop\", \"paddingRight\", \"paddingBottom\", \"paddingLeft\"],\n    valueLabels: [\"T\", \"R\", \"B\", \"L\"],\n    min: 0\n  },\n  borderRadius: {\n    type: ControlType.Number,\n    title: \"Radius\",\n    min: 0,\n    max: 500,\n    displayStepper: true,\n    defaultValue: 0\n  },\n  transitionControl: {\n    type: ControlType.Transition,\n    defaultValue: Slideshow.defaultProps.transitionControl,\n    title: \"Transition\"\n  },\n  fadeOptions: {\n    type: ControlType.Object,\n    title: \"Clipping\",\n    controls: {\n      fadeContent: {\n        type: ControlType.Boolean,\n        title: \"Fade\",\n        defaultValue: false\n      },\n      overflow: {\n        type: ControlType.Boolean,\n        title: \"Overflow\",\n        enabledTitle: \"Show\",\n        disabledTitle: \"Hide\",\n        defaultValue: false,\n        hidden(props) {\n          return props.fadeContent === true;\n        }\n      },\n      fadeWidth: {\n        type: ControlType.Number,\n        title: \"Width\",\n        defaultValue: 25,\n        min: 0,\n        max: 100,\n        unit: \"%\",\n        hidden(props) {\n          return props.fadeContent === false;\n        }\n      },\n      fadeInset: {\n        type: ControlType.Number,\n        title: \"Inset\",\n        defaultValue: 0,\n        min: 0,\n        max: 100,\n        unit: \"%\",\n        hidden(props) {\n          return props.fadeContent === false;\n        }\n      },\n      fadeAlpha: {\n        type: ControlType.Number,\n        title: \"Opacity\",\n        defaultValue: 0,\n        min: 0,\n        max: 1,\n        step: .05,\n        hidden(props) {\n          return props.fadeContent === false;\n        }\n      }\n    }\n  },\n  arrowOptions: {\n    type: ControlType.Object,\n    title: \"Arrows\",\n    controls: {\n      showMouseControls: {\n        type: ControlType.Boolean,\n        title: \"Show\",\n        defaultValue: Slideshow.defaultProps.arrowOptions.showMouseControls\n      },\n      arrowFill: {\n        type: ControlType.Color,\n        title: \"Fill\",\n        hidden: props => !props.showMouseControls,\n        defaultValue: Slideshow.defaultProps.arrowOptions.arrowFill\n      },\n      leftArrow: {\n        type: ControlType.Image,\n        title: \"Previous\",\n        hidden: props => !props.showMouseControls\n      },\n      rightArrow: {\n        type: ControlType.Image,\n        title: \"Next\",\n        hidden: props => !props.showMouseControls\n      },\n      arrowSize: {\n        type: ControlType.Number,\n        title: \"Size\",\n        min: 0,\n        max: 200,\n        displayStepper: true,\n        defaultValue: Slideshow.defaultProps.arrowOptions.arrowSize,\n        hidden: props => !props.showMouseControls\n      },\n      arrowRadius: {\n        type: ControlType.Number,\n        title: \"Radius\",\n        min: 0,\n        max: 500,\n        defaultValue: 40,\n        hidden: props => !props.showMouseControls\n      },\n      arrowShouldFadeIn: {\n        type: ControlType.Boolean,\n        title: \"Fade In\",\n        defaultValue: false,\n        hidden: props => !props.showMouseControls\n      },\n      arrowShouldSpace: {\n        type: ControlType.Boolean,\n        title: \"Distance\",\n        enabledTitle: \"Space\",\n        disabledTitle: \"Group\",\n        defaultValue: Slideshow.defaultProps.arrowOptions.arrowShouldSpace,\n        hidden: props => !props.showMouseControls\n      },\n      arrowPosition: {\n        type: ControlType.Enum,\n        title: \"Position\",\n        options: [\"auto\", \"top-left\", \"top-mid\", \"top-right\", \"bottom-left\", \"bottom-mid\", \"bottom-right\"],\n        optionTitles: [\"Center\", \"Top Left\", \"Top Middle\", \"Top Right\", \"Bottom Left\", \"Bottom Middle\", \"Bottom Right\"],\n        hidden: props => !props.showMouseControls || props.arrowShouldSpace\n      },\n      arrowPadding: {\n        type: ControlType.Number,\n        title: \"Inset\",\n        min: -100,\n        max: 100,\n        defaultValue: 20,\n        displayStepper: true,\n        hidden: props => !props.showMouseControls || !props.arrowShouldSpace\n      },\n      arrowPaddingTop: {\n        type: ControlType.Number,\n        title: \"Top\",\n        min: -500,\n        max: 500,\n        defaultValue: 0,\n        displayStepper: true,\n        hidden: props => !props.showMouseControls || props.arrowShouldSpace || props.arrowPosition === \"auto\" || props.arrowPosition === \"bottom-mid\" || props.arrowPosition === \"bottom-left\" || props.arrowPosition === \"bottom-right\"\n      },\n      arrowPaddingBottom: {\n        type: ControlType.Number,\n        title: \"Bottom\",\n        min: -500,\n        max: 500,\n        defaultValue: 0,\n        displayStepper: true,\n        hidden: props => !props.showMouseControls || props.arrowShouldSpace || props.arrowPosition === \"auto\" || props.arrowPosition === \"top-mid\" || props.arrowPosition === \"top-left\" || props.arrowPosition === \"top-right\"\n      },\n      arrowPaddingRight: {\n        type: ControlType.Number,\n        title: \"Right\",\n        min: -500,\n        max: 500,\n        defaultValue: 0,\n        displayStepper: true,\n        hidden: props => !props.showMouseControls || props.arrowShouldSpace || props.arrowPosition === \"auto\" || props.arrowPosition === \"top-left\" || props.arrowPosition === \"top-mid\" || props.arrowPosition === \"bottom-left\" || props.arrowPosition === \"bottom-mid\"\n      },\n      arrowPaddingLeft: {\n        type: ControlType.Number,\n        title: \"Left\",\n        min: -500,\n        max: 500,\n        defaultValue: 0,\n        displayStepper: true,\n        hidden: props => !props.showMouseControls || props.arrowShouldSpace || props.arrowPosition === \"auto\" || props.arrowPosition === \"top-right\" || props.arrowPosition === \"top-mid\" || props.arrowPosition === \"bottom-right\" || props.arrowPosition === \"bottom-mid\"\n      },\n      arrowGap: {\n        type: ControlType.Number,\n        title: \"Gap\",\n        min: 0,\n        max: 100,\n        defaultValue: 10,\n        displayStepper: true,\n        hidden: props => !props.showMouseControls || props.arrowShouldSpace\n      }\n    }\n  },\n  progressOptions: {\n    type: ControlType.Object,\n    title: \"Dots\",\n    controls: {\n      showProgressDots: {\n        type: ControlType.Boolean,\n        title: \"Show\",\n        defaultValue: false\n      },\n      dotSize: {\n        type: ControlType.Number,\n        title: \"Size\",\n        min: 1,\n        max: 100,\n        defaultValue: 10,\n        displayStepper: true,\n        hidden: props => !props.showProgressDots || props.showScrollbar\n      },\n      dotsInset: {\n        type: ControlType.Number,\n        title: \"Inset\",\n        min: -100,\n        max: 100,\n        defaultValue: 10,\n        displayStepper: true,\n        hidden: props => !props.showProgressDots || props.showScrollbar\n      },\n      dotsGap: {\n        type: ControlType.Number,\n        title: \"Gap\",\n        min: 0,\n        max: 100,\n        defaultValue: 10,\n        displayStepper: true,\n        hidden: props => !props.showProgressDots || props.showScrollbar\n      },\n      dotsPadding: {\n        type: ControlType.Number,\n        title: \"Padding\",\n        min: 0,\n        max: 100,\n        defaultValue: 10,\n        displayStepper: true,\n        hidden: props => !props.showProgressDots || props.showScrollbar\n      },\n      dotsFill: {\n        type: ControlType.Color,\n        title: \"Fill\",\n        defaultValue: \"#fff\",\n        hidden: props => !props.showProgressDots || props.showScrollbar\n      },\n      dotsBackground: {\n        type: ControlType.Color,\n        title: \"Backdrop\",\n        defaultValue: \"rgba(0,0,0,0.2)\",\n        hidden: props => !props.showProgressDots || props.showScrollbar\n      },\n      dotsRadius: {\n        type: ControlType.Number,\n        title: \"Radius\",\n        min: 0,\n        max: 200,\n        defaultValue: 50,\n        hidden: props => !props.showProgressDots || props.showScrollbar\n      },\n      dotsOpacity: {\n        type: ControlType.Number,\n        title: \"Opacity\",\n        min: 0,\n        max: 1,\n        defaultValue: .5,\n        step: .1,\n        displayStepper: true,\n        hidden: props => !props.showProgressDots || props.showScrollbar\n      },\n      dotsActiveOpacity: {\n        type: ControlType.Number,\n        title: \"Current\",\n        min: 0,\n        max: 1,\n        defaultValue: 1,\n        step: .1,\n        displayStepper: true,\n        hidden: props => !props.showProgressDots || props.showScrollbar\n      },\n      dotsBlur: {\n        type: ControlType.Number,\n        title: \"Blur\",\n        min: 0,\n        max: 50,\n        defaultValue: 0,\n        step: 1,\n        hidden: props => !props.showProgressDots || props.showScrollbar\n      }\n    }\n  }\n}); /* Placeholder Styles */\nconst containerStyle = {\n  display: \"flex\",\n  flexDirection: \"row\",\n  width: \"100%\",\n  height: \"100%\",\n  maxWidth: \"100%\",\n  maxHeight: \"100%\",\n  placeItems: \"center\",\n  margin: 0,\n  padding: 0,\n  listStyleType: \"none\",\n  textIndent: \"none\"\n}; /* Component Styles */\nconst placeholderStyles = {\n  display: \"flex\",\n  width: \"100%\",\n  height: \"100%\",\n  placeContent: \"center\",\n  placeItems: \"center\",\n  flexDirection: \"column\",\n  color: \"#96F\",\n  background: \"rgba(136, 85, 255, 0.1)\",\n  fontSize: 11,\n  overflow: \"hidden\",\n  padding: \"20px 20px 30px 20px\"\n};\nconst emojiStyles = {\n  fontSize: 32,\n  marginBottom: 10\n};\nconst titleStyles = {\n  margin: 0,\n  marginBottom: 10,\n  fontWeight: 600,\n  textAlign: \"center\"\n};\nconst subtitleStyles = {\n  margin: 0,\n  opacity: .7,\n  maxWidth: 180,\n  lineHeight: 1.5,\n  textAlign: \"center\"\n}; /* Control Styles */\nconst baseButtonStyles = {\n  border: \"none\",\n  display: \"flex\",\n  placeContent: \"center\",\n  placeItems: \"center\",\n  overflow: \"hidden\",\n  background: \"transparent\",\n  cursor: \"pointer\",\n  margin: 0,\n  padding: 0\n};\nconst controlsStyles = {\n  display: \"flex\",\n  justifyContent: \"space-between\",\n  alignItems: \"center\",\n  position: \"absolute\",\n  pointerEvents: \"none\",\n  userSelect: \"none\",\n  top: 0,\n  left: 0,\n  right: 0,\n  bottom: 0,\n  border: 0,\n  padding: 0,\n  margin: 0\n}; /* Clamp function, used for fadeInset */\nconst clamp = (num, min, max) => Math.min(Math.max(num, min), max); /* Slide Component */\nconst Slide = /*#__PURE__*/forwardRef(function Component(props, ref) {\n  var ref1, ref2;\n  const {\n    slideKey,\n    width,\n    height,\n    child,\n    size,\n    gap,\n    wrappedValue,\n    numChildren,\n    childCounter,\n    isCanvas,\n    effects,\n    effectsOpacity,\n    effectsScale,\n    effectsRotate,\n    isHorizontal,\n    isLast,\n    index\n  } = props; /**\n             * Unique offsets + scroll range [0, 1, 1, 0]\n             */\n  const childOffset = ((size === null || size === void 0 ? void 0 : size.item) + gap) * childCounter;\n  const scrollRange = [-(size === null || size === void 0 ? void 0 : size.item), 0, (size === null || size === void 0 ? void 0 : size.parent) - (size === null || size === void 0 ? void 0 : size.item) + gap, size === null || size === void 0 ? void 0 : size.parent].map(val => val - childOffset); /**\n                                                                                                                                                                                                                                                                                                       * Effects\n                                                                                                                                                                                                                                                                                                       */\n  const rotateY = !isCanvas && useTransform(wrappedValue, scrollRange, [-effectsRotate, 0, 0, effectsRotate]);\n  const rotateX = !isCanvas && useTransform(wrappedValue, scrollRange, [effectsRotate, 0, 0, -effectsRotate]);\n  const opacity = !isCanvas && useTransform(wrappedValue, scrollRange, [effectsOpacity, 1, 1, effectsOpacity]);\n  const scale = !isCanvas && useTransform(wrappedValue, scrollRange, [effectsScale, 1, 1, effectsScale]);\n  const originXorY = !isCanvas && useTransform(wrappedValue, scrollRange, [1, 1, 0, 0]);\n  const isVisible = !isCanvas && useTransform(wrappedValue, latest => latest >= scrollRange[1] && latest <= scrollRange[2]);\n  useEffect(() => {\n    if (!isVisible) return;\n    return isVisible.onChange(newValue => {\n      ref.current.setAttribute(\"aria-hidden\", !newValue);\n    });\n  }, []);\n  return /*#__PURE__*/_jsx(LayoutGroup, {\n    inherit: \"id\",\n    children: /*#__PURE__*/_jsx(\"li\", {\n      style: {\n        display: \"contents\"\n      },\n      \"aria-hidden\": index === 0 ? false : true,\n      children: /*#__PURE__*/cloneElement(child, {\n        ref: ref,\n        key: slideKey + \"child\",\n        style: {\n          ...((ref1 = child.props) === null || ref1 === void 0 ? void 0 : ref1.style),\n          flexShrink: 0,\n          userSelect: \"none\",\n          width,\n          height,\n          opacity: opacity,\n          scale: scale,\n          originX: isHorizontal ? originXorY : .5,\n          originY: !isHorizontal ? originXorY : .5,\n          rotateY: isHorizontal ? rotateY : 0,\n          rotateX: !isHorizontal ? rotateX : 0\n        }\n      }, (ref2 = child.props) === null || ref2 === void 0 ? void 0 : ref2.children)\n    })\n  });\n});\nfunction Dot({\n  selectedOpacity,\n  opacity,\n  total,\n  index,\n  wrappedIndex,\n  wrappedIndexInverted,\n  dotStyle,\n  buttonStyle,\n  gap,\n  padding,\n  isHorizontal,\n  isInverted,\n  ...props\n}) {\n  /* Check active item */ /* Go 0\u20141\u20142\u20143\u20144\u20145\u20140 */let isSelected = wrappedIndex === index; /* Go 0\u20145\u20144\u20143\u20142\u20141\u20140\u20145 instead when inverted */\n  if (isInverted) {\n    isSelected = Math.abs(wrappedIndexInverted) === index;\n  }\n  const inlinePadding = gap / 2;\n  let top = !isHorizontal && index > 0 ? inlinePadding : padding;\n  let bottom = !isHorizontal && index !== total - 1 ? inlinePadding : padding;\n  let right = isHorizontal && index !== total - 1 ? inlinePadding : padding;\n  let left = isHorizontal && index > 0 ? inlinePadding : padding;\n  return /*#__PURE__*/_jsx(\"button\", {\n    \"aria-label\": `Scroll to page ${index + 1}`,\n    type: \"button\",\n    ...props,\n    style: {\n      ...buttonStyle,\n      padding: `${top}px ${right}px ${bottom}px ${left}px`\n    },\n    children: /*#__PURE__*/_jsx(motion.div, {\n      style: {\n        ...dotStyle\n      },\n      initial: false,\n      animate: {\n        opacity: isSelected ? selectedOpacity : opacity\n      },\n      transition: {\n        duration: .3\n      }\n    })\n  });\n} /* Dot Styles */\nconst dotsContainerStyle = {\n  display: \"flex\",\n  placeContent: \"center\",\n  placeItems: \"center\",\n  overflow: \"hidden\",\n  position: \"absolute\",\n  pointerEvents: \"auto\"\n};\nconst dotStyle = {\n  borderRadius: \"50%\",\n  background: \"white\",\n  cursor: \"pointer\",\n  border: \"none\",\n  placeContent: \"center\",\n  placeItems: \"center\",\n  padding: 0\n};\nexport const __FramerMetadata__ = {\n  \"exports\": {\n    \"default\": {\n      \"type\": \"reactComponent\",\n      \"name\": \"Slideshow\",\n      \"slots\": [],\n      \"annotations\": {\n        \"framerContractVersion\": \"1\",\n        \"framerSupportedLayoutWidth\": \"fixed\",\n        \"framerDisableUnlink\": \"*\",\n        \"framerIntrinsicWidth\": \"400\",\n        \"framerIntrinsicHeight\": \"200\",\n        \"framerSupportedLayoutHeight\": \"fixed\"\n      }\n    },\n    \"__FramerMetadata__\": {\n      \"type\": \"variable\"\n    }\n  }\n};\n//# sourceMappingURL=./SlideShow.map"],
  "mappings": "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",
  "names": ["Slideshow", "props", "slots", "startFrom", "direction", "effectsOptions", "autoPlayControl", "dragControl", "alignment", "gap", "padding", "paddingPerSide", "paddingTop", "paddingRight", "paddingBottom", "paddingLeft", "itemAmount", "fadeOptions", "intervalControl", "transitionControl", "arrowOptions", "borderRadius", "progressOptions", "style", "effectsOpacity", "effectsScale", "effectsRotate", "effectsPerspective", "effectsHover", "fadeContent", "overflow", "fadeWidth", "fadeInset", "fadeAlpha", "showMouseControls", "arrowSize", "arrowRadius", "arrowFill", "leftArrow", "rightArrow", "arrowShouldSpace", "arrowShouldFadeIn", "arrowPosition", "arrowPadding", "arrowGap", "arrowPaddingTop", "arrowPaddingRight", "arrowPaddingBottom", "arrowPaddingLeft", "showProgressDots", "dotSize", "dotsInset", "dotsRadius", "dotsPadding", "dotsGap", "dotsFill", "dotsBackground", "dotsActiveOpacity", "dotsOpacity", "dotsBlur", "paddingValue", "isCanvas", "RenderTarget", "hasChildren", "j", "isHorizontal", "isInverted", "u", "placeholderStyles", "p", "emojiStyles", "titleStyles", "subtitleStyles", "parentRef", "pe", "childrenRef", "se", "index", "W", "timeoutRef", "size", "setSize", "ye", "isHovering", "setIsHovering", "shouldPlayOnHover", "setShouldPlayOnHover", "isMouseDown", "setIsMouseDown", "isResizing", "setIsResizing", "dupedChildren", "duplicateBy", "measure", "sync", "total", "parentLength", "start", "childrenLength", "itemSize", "itemWidth", "itemHeight", "fe", "initialResize", "ue", "resize", "contentSize", "timer", "totalItems", "childrenSize", "itemWithGap", "itemOffset", "currentItem", "setCurrentItem", "isDragging", "setIsDragging", "isVisible", "usePageVisibility", "factor", "xOrY", "useMotionValue", "canvasPosition", "newPosition", "wrappedValue", "useTransform", "value", "wrapped", "wrap", "wrappedIndex", "wrappedIndexInverted", "switchPages", "animate", "setDelta", "delta", "setPage", "currentItemWrapped", "currentItemWrappedInvert", "goto", "gotoInverted", "handleDragStart", "handleDragEnd", "event", "offset", "velocity", "offsetXorY", "velocityThreshold", "velocityXorY", "isHalfOfNext", "isHalfOfPrev", "normalizedOffset", "itemDelta", "itemDeltaFromOne", "childCounter", "columnOrRowValue", "child", "childIndex", "ref", "Slide", "fadeDirection", "fadeWidthStart", "fadeWidthEnd", "fadeInsetStart", "clamp", "fadeInsetEnd", "fadeMask", "dots", "dotsBlurStyle", "i", "Dot", "dotStyle", "baseButtonStyles", "dragProps", "arrowHasTop", "arrowHasBottom", "arrowHasLeft", "arrowHasRight", "arrowHasMid", "containerStyle", "motion", "controlsStyles", "dotsContainerStyle", "addPropertyControls", "ControlType", "num", "min", "max", "Y", "ref1", "ref2", "slideKey", "width", "height", "numChildren", "effects", "isLast", "childOffset", "scrollRange", "val", "rotateY", "rotateX", "opacity", "scale", "originXorY", "latest", "newValue", "LayoutGroup", "q", "selectedOpacity", "buttonStyle", "isSelected", "inlinePadding", "top", "bottom", "right", "left"]
}
