{"version":3,"file":"combos-section-xxxxxxxxxxxxxxxxxxxx.min.js","mappings":"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","sources":["webpack://lange/webpack/runtime/load script","webpack://lange/webpack/bootstrap","webpack://lange/webpack/runtime/define property getters","webpack://lange/webpack/runtime/ensure chunk","webpack://lange/webpack/runtime/get javascript chunk filename","webpack://lange/webpack/runtime/get mini-css chunk filename","webpack://lange/webpack/runtime/hasOwnProperty shorthand","webpack://lange/webpack/runtime/publicPath","webpack://lange/webpack/runtime/jsonp chunk loading","webpack://lange/./scripts/lib/splide-slidebar-extension.ts","webpack://lange/./scripts/lib/webpack-path.ts","webpack://lange/./scripts/sections/combos/combo-section/index.ts","webpack://lange/./scripts/sections/combos/combo-section/index.scss","webpack://lange/./scripts/sections/combos/combo-section/index.html"],"sourcesContent":["var inProgress = {};\nvar dataWebpackPrefix = \"lange:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = function(url, done, key, chunkId) {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = function(prev, event) {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach(function(fn) { return fn(event); });\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"\" + chunkId + \"-\" + \"4c2b34155a625ff7db66\" + \".min.js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = function(chunkId) {\n\t// return url for filenames based on template\n\treturn undefined;\n};","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","__webpack_require__.p = \"\";","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t\"combos-section\": 0\n};\n\n__webpack_require__.f.j = function(chunkId, promises) {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise(function(resolve, reject) { installedChunkData = installedChunks[chunkId] = [resolve, reject]; });\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = function(event) {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n// no on chunks loaded\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunklange\"] = self[\"webpackChunklange\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","import type { Splide, Components, Options } from '@splidejs/splide';\n\n/**\n * Extension to add a custom slidebar to the Splide slider for visualizing and controlling the\n * slide position.\n *\n * If you want to render a sidebar in a specific place in the HTML, add the sidebar's markup\n * directly to your template. If no markup is provided, the sidebar will be automatically created\n * and inserted right before the closing tag of the Splide root element.\n *\n * This library was copy-paged from Lange.\n *\n * @param splide The main Splide instance\n * @param components Splide components\n * @param options Splide options object, containing customization options\n *\n * @see https://splidejs.com/components/\n * @see https://splidejs.com/guides/options/\n * @see https://splidejs.com/guides/extension/\n */\nexport function splideSlidebarExtension(splide: Splide, components: Components, options: Options) {\n  /**\n   * Root slidebar element\n   */\n  let slidebar: HTMLElement;\n\n  /**\n   * Indicates whether the sidebar markup is already present in the HTML or not.\n   */\n  let hasSlidebarMarkup = false;\n\n  /**\n   * Slide bar handle element\n   */\n  let handle: HTMLElement;\n\n  /**\n   * Slidebar current position\n   */\n  let position = 0;\n\n  /**\n   * Maximum allowable position value for the slidebar handle\n   */\n  let maxPosition: number;\n\n  /**\n   * Maximum allowable position value for the Splide's track. Store the value to not calculate all\n   * the time when the slider is dragged.\n   */\n  let maxTrackPosition: number;\n\n  /**\n   * Previous x-coordinate of the touch, needed to calculate the touch movement distance.\n   */\n  let previousTouchX = 0;\n\n  /**\n   * Mounts the extension, setting up the slidebar and initializing event listeners. Splide call\n   * this method automatically when the slider is ready.\n   *\n   * @see https://splidejs.com/guides/extension/\n   */\n  function mount() {\n    slidebar = components.Elements.root.querySelector('.splide__slider');\n    handle = components.Elements.root.querySelector('.splide__slider-handle');\n\n    if (slidebar && handle) {\n      hasSlidebarMarkup = true;\n    } else {\n      renderSlidebar();\n    }\n\n    splide.on('ready', onSplideReady);\n    splide.on('updated', onSplideOptionsUpdated);\n    splide.on('overflow', onSplideOverflowed);\n  }\n\n  /**\n   * Enables the slidebar functionality, adding the necessary event listeners.\n   */\n  function enable() {\n    if (!hasSlidebarMarkup) {\n      components.Elements.root.appendChild(slidebar);\n    }\n\n    slidebar.classList.remove('hidden');\n\n    // Without this delay, the first page of the carousel is not clickable. There’s an issue with\n    // calling the components.Controller.go() method immediately when the extension is mounted.\n    setTimeout(onSplideResized);\n\n    if (!splide.is('fade')) {\n      splide.on('dragging.slidebar', onSplideDragging);\n    }\n\n    splide.on('move.slidebar', onSplideMoveStarted);\n    splide.on('resized.slidebar', onSplideResized);\n    handle.addEventListener('mousedown', onMousedown);\n    handle.addEventListener('touchstart', onTouchstart, { passive: true });\n    handle.addEventListener('transitionend', onTransitionend);\n    slidebar.addEventListener('click', onSlidebarClicked);\n  }\n\n  /**\n   * Disables the slidebar functionality, removing the event listeners and slidebar element.\n   */\n  function disable() {\n    slidebar.classList.add('hidden');\n\n    splide.off('move.slidebar');\n    splide.off('resized.slidebar');\n    splide.off('dragging.slidebar');\n    handle.removeEventListener('mousedown', onMousedown);\n    handle.removeEventListener('touchstart', onTouchstart);\n    handle.removeEventListener('transitionend', onTransitionend);\n    slidebar.removeEventListener('click', onSlidebarClicked);\n  }\n\n  /**\n   * Creates elements, calculates, and sets the handle width based on the number of slides, but does\n   * not append the element to the DOM.\n   */\n  function renderSlidebar() {\n    slidebar = document.createElement('div');\n    slidebar.classList.add('splide__slider');\n\n    handle = document.createElement('div');\n    handle.classList.add('splide__slider-handle');\n\n    handle.style.width = calculateHandleWidth();\n\n    slidebar.appendChild(handle);\n  }\n\n  /**\n   * Calculates the width of the handle.\n   *\n   * The function works depending upon the 'mode' the Splide is in. If it's in 'fade' mode, the\n   * width is calculated based on the proportion of 'perPage' option to the total number of slides,\n   * scaled to fit a percentage scale (0-100).\n   *\n   * For other modes, the handle width is determined by the ratio of list size\n   * to slider size, also expressed as a percentage.\n   *\n   * @returns The calculated width of the handle.\n   */\n  function calculateHandleWidth() {\n    let handleWidth;\n    if (splide.is('fade')) {\n      handleWidth = (options.perPage / components.Slides.getLength()) * 100;\n    } else {\n      handleWidth = (components.Layout.listSize() / components.Layout.sliderSize()) * 100;\n    }\n\n    return `${handleWidth}%`;\n  }\n\n  /**\n   * Calculates maximum values for the slidebar and track, ensuring they stay in sync.\n   */\n  function recalculateSlidebarAndTrackPosition() {\n    maxPosition = slidebar.offsetWidth - handle.offsetWidth;\n    maxTrackPosition = components.Layout.sliderSize() - components.Layout.listSize();\n\n    components.Controller.go(splide.index, true);\n  }\n\n  /**\n   * Processes and restricts handle movement within the slidebar bounds.\n   *\n   * @param toPosition Desired new position of the handle.\n   */\n  function processHandleMove(toPosition: number) {\n    const newPosition = getHandlePositionWithinBounds(toPosition);\n\n    // avoid position update if handle position hasn't changed.\n    if (position === newPosition) {\n      return;\n    }\n\n    position = getHandlePositionWithinBounds(toPosition);\n\n    if (!splide.is('fade')) {\n      const newSplidePosition = getCalculatedTrackPosition(position);\n      components.Move.translate(newSplidePosition);\n    }\n\n    // it ensures the DOM updates are synchronized with the browser's refresh rate, avoiding\n    // unnecessary reflows and keeping animations smooth\n    requestAnimationFrame(() => {\n      handle.style.transform = `translateX(${position}px)`;\n    });\n  }\n\n  /**\n   * Adjusts and returns the intended position of the handle within the boundaries of a slider.\n   * Checks whether the new position is within the range [0, maxPosition]. If the intended position\n   * is less than 0, it will be set to 0. If it's larger than maxPosition, it will be set\n   * to maxPosition. If it's the same as the current position, it will return this value without\n   * changes.\n   *\n   * @param toPosition - The intended new position.\n   * @returns newPosition - The adjusted position within the range [0, maxPosition].\n   */\n  function getHandlePositionWithinBounds(toPosition: number) {\n    let newPosition = toPosition;\n    if (newPosition <= 0) {\n      newPosition = 0;\n    } else if (newPosition >= maxPosition) {\n      newPosition = maxPosition;\n    }\n\n    return newPosition;\n  }\n\n  /**\n   * Aligns the track position based on the current position of the handle.\n   */\n  function alignTrackPosition() {\n    let index: number;\n\n    if (splide.is('fade')) {\n      index = Math.round(position / (maxPosition / components.Slides.getLength()));\n    } else {\n      const currentSplidePosition = components.Move.getPosition();\n      index = components.Move.toIndex(currentSplidePosition);\n    }\n\n    components.Controller.go(index, true);\n  }\n\n  function onSplideOptionsUpdated(_options: Options) {\n    toggleSlidebar();\n  }\n\n  function onSplideReady() {\n    toggleSlidebar();\n  }\n\n  function toggleSlidebar() {\n    // We need to both check isEnough() and isOverflow(). Depending on the Splide options or due\n    // to some Splide bugs, solely relying on one of these methods has led to issues.\n    if (options.slidebar && components.Slides.isEnough() && components.Layout.isOverflow()) {\n      enable();\n    } else {\n      disable();\n    }\n  }\n\n  function onMousedown() {\n    addEventListener('mousemove', onMousemove);\n    addEventListener('mouseup', onMouseup);\n  }\n\n  function onMouseup() {\n    // TODO: \"mouseup\" event is fired on touch devices right after \"touchend\". Need to investigate,\n    // if we can replace mouse and touch events with \"pointerdown\" and \"pointerup\" events.\n\n    alignTrackPosition();\n\n    removeEventListener('mousemove', onMousemove);\n    removeEventListener('mouseup', onMouseup);\n  }\n\n  function onMousemove(event: MouseEvent) {\n    const newPosition = position + event.movementX;\n    processHandleMove(newPosition);\n  }\n\n  function onTouchstart(event: TouchEvent) {\n    const touch = event.touches[0];\n    previousTouchX = touch.clientX;\n\n    addEventListener('touchmove', onTouchmove);\n    addEventListener('touchend', onTouchend);\n  }\n\n  function onTouchend(_event: TouchEvent) {\n    previousTouchX = 0;\n\n    alignTrackPosition();\n\n    removeEventListener('touchmove', onTouchmove);\n    removeEventListener('touchend', onTouchend);\n  }\n\n  function onTouchmove(event: TouchEvent) {\n    const touch = event.touches[0];\n    const movementX = touch.clientX - previousTouchX;\n    const newPosition = position + movementX;\n    previousTouchX = touch.clientX;\n\n    processHandleMove(newPosition);\n  }\n\n  /**\n   * Resets handle transition style once transition ends\n   */\n  function onTransitionend() {\n    handle.style.transition = '';\n  }\n\n  function onSlidebarClicked(event: MouseEvent) {\n    if (event.target !== event.currentTarget) {\n      return;\n    }\n\n    const newSlidebarPosition = event.offsetX - handle.offsetWidth / 2;\n    let index: number;\n\n    if (splide.is('fade')) {\n      index = Math.round(newSlidebarPosition / (maxPosition / components.Slides.getLength()));\n    } else {\n      const newTrackPosition = getCalculatedTrackPosition(newSlidebarPosition);\n      index = components.Move.toIndex(newTrackPosition);\n    }\n\n    components.Controller.go(index, true);\n  }\n\n  function onSplideResized() {\n    handle.style.width = calculateHandleWidth();\n\n    recalculateSlidebarAndTrackPosition();\n  }\n\n  function onSplideOverflowed(isOverflow: boolean) {\n    if (isOverflow) {\n      enable();\n    } else {\n      disable();\n    }\n  }\n\n  /**\n   * Sets the handle position based on the active slide's position.\n   *\n   * @param index Active Slide index.\n   */\n  function onSplideMoveStarted(index: number) {\n    let newSlidebarPosition;\n    if (splide.is('fade')) {\n      newSlidebarPosition = (options.perPage / (components.Slides.getLength() - 1)) * maxPosition *\n        index;\n    } else {\n      const newTrackPosition = components.Move.toPosition(index);\n      newSlidebarPosition = getCalculatedSlidebarPosition(newTrackPosition);\n    }\n\n    position = getHandlePositionWithinBounds(newSlidebarPosition);\n    handle.style.transform = `translateX(${position}px)`;\n    handle.style.transition = 'transform 400ms cubic-bezier(0.25, 1, 0.5, 1)';\n  }\n\n  function onSplideDragging() {\n    const newPosition = getCalculatedSlidebarPosition();\n    position = getHandlePositionWithinBounds(newPosition);\n    handle.style.transform = `translateX(${position}px)`;\n  }\n\n  /**\n   * Calculates the handle's position based on the current track position.\n   *\n   * @param trackPosition Optional track position for calculation. If not provided the value from\n   *   the Move component is taken. We don't need to pass a new track position if this function used\n   *   to get the slidebar position when the slider is dragged, but it's necessary if used when\n   *   the slider is moved to a certain slide because the position at the end of moving should be\n   *   taken instead of the current Splide's track position.\n   */\n  function getCalculatedSlidebarPosition(trackPosition?: number) {\n    // Use the max track position for the last reachable slide index rather than computing from\n    // layout dimensions. The arithmetic below doesn't work if the last slide is reached. It's good\n    // enough for the slide position in the middle of the slider but causes the slidebar handle to\n    // never fully reach the end.\n    const endIndex = components.Controller.getEnd();\n    const currentIndex = components.Controller.getIndex();\n    if (endIndex === currentIndex) {\n      return maxPosition;\n    }\n\n    const currentTrackPosition = -1 * (trackPosition ?? components.Move.getPosition());\n    const ratio = currentTrackPosition / maxTrackPosition;\n    const newSlideBarPosition = ratio * maxPosition;\n    return newSlideBarPosition;\n  }\n\n  /**\n   * Calculates the track's position based on the handle's position.\n   *\n   * @param slidebarPosition Position of the slidebar handle.\n   */\n  function getCalculatedTrackPosition(slidebarPosition: number) {\n    const ratio = slidebarPosition / maxPosition;\n    const newTrackPosition = -1 * ratio * maxTrackPosition;\n    return newTrackPosition;\n  }\n\n  return {\n    mount\n  };\n}\n","export {};\n\n// See webpack.md for help. This MUST be included in any module that performs dynamic imports.\n\ndeclare global {\n  /**\n   * This is a global that is defined in a liquid snippet to point to the Shopify asset path.\n   * Webpack compilation is transpiled to point the variable to the global. Because Webpack\n   * compilation involves raw string replacement, this variable has to actually exist. Because we\n   * do not know the public path at compile time this is basically a hack that allows to define the\n   * public path at runtime. This public path is needed for webpack to perform its dynamic module\n   * loading, e.g. to support dynamic imports.\n   */\n  // eslint-disable-next-line @typescript-eslint/naming-convention\n  var __webpack_public_path__: string;\n}\n\n__webpack_public_path__ = window.__webpack_public_path__;\n","import '../../../lib/webpack-path';\nimport { CustomElement } from '@integrabeauty/custom-elements';\nimport type { Options, Splide } from '@splidejs/splide';\nimport { splideSlidebarExtension } from '../../../lib/splide-slidebar-extension';\nimport html from './index.html';\nimport styles from './index.scss';\n\nclass ComboSection extends HTMLElement implements CustomElement {\n  readonly dataset!: {\n    /**\n     * Defines the position of the image, 'left' or 'right', any other value is treated as 'left'\n     */\n    bannerPosition: 'left' | 'right';\n\n    /**\n     * Defines if the banner is small or large, 'true' is small, any other value and omitted\n     * value is treated as 'false'\n     */\n    smallBanner: 'false' | 'true';\n  };\n\n  public shadowRoot!: ShadowRoot;\n  private splide: Splide;\n\n  private onCarouselSlotChangedBound = this.onProductsSlotChanged.bind(this);\n\n  public constructor() {\n    super();\n    this.attachShadow({ mode: 'open' });\n    this.shadowRoot.innerHTML = `<style>${styles}</style>${html}`;\n  }\n\n  public connectedCallback() {\n    this.render();\n  }\n\n  public disconnectedCallback() {\n    if (this.splide) {\n      this.splide.destroy();\n    }\n\n    const carouselSlot = this.shadowRoot.querySelector('slot[name=\"carousel\"]');\n    carouselSlot.removeEventListener('slotchange', this.onCarouselSlotChangedBound);\n  }\n\n  private render() {\n    const carouselSlot = this.shadowRoot.querySelector('slot[name=\"carousel\"]');\n    carouselSlot.addEventListener('slotchange', this.onCarouselSlotChangedBound);\n  }\n\n  private onProductsSlotChanged(event: Event) {\n    const slot = <HTMLSlotElement>event.target;\n    const assignedElements = slot.assignedElements();\n    if (assignedElements.length > 0) {\n      this.initCarousel().catch(console.warn);\n    }\n  }\n\n  private async initCarousel() {\n    const { Splide } = await import('@splidejs/splide');\n    const element = this.querySelector<HTMLElement>('.splide');\n    if (!element) {\n      return;\n    }\n\n    const options: Options = {\n      type: 'slide',\n      autoWidth: false,\n      rewind: false,\n      arrows: false,\n      pagination: false,\n      gap: 12,\n      keyboard: true,\n      padding: { right: 4, left: 4 },\n      margin: { right: -4, left: -4 },\n      slidebar: true,\n      perPage: 2,\n      perMove: 1,\n      mediaQuery: 'min',\n      drag: true,\n      breakpoints: {\n        768: {\n          autoWidth: false,\n          perPage: 2\n        },\n        1024: {\n          perPage: this.dataset.smallBanner === 'true' ? 3 : 2\n        },\n        1280: {\n          destroy: true\n        }\n      }\n    };\n\n    const splide = new Splide(element, options);\n\n    splide.mount({\n      splideSlidebarExtension\n    });\n\n    this.splide = splide;\n  }\n}\n\ndeclare global {\n  interface HTMLElementTagNameMap {\n    'combo-section': ComboSection;\n  }\n}\n\nif (!customElements.get('combo-section')) {\n  customElements.define('combo-section', ComboSection);\n}\n","export default \":host{display:block;margin-bottom:45px;margin-top:16px;padding-left:16px;padding-right:16px}@media only screen and (min-width:768px){:host{margin-bottom:100px;margin-top:60px}}:host([data-banner-position=right]) .banner{grid-column:2;grid-row:1}:host([data-banner-position=right]) slot[name=products-first-row]{grid-column:1;grid-row:1}@media only screen and (min-width:768px){:host([data-small-banner=true]) .content{column-gap:12px;grid-template-columns:33% minmax(0,1fr)}}@media only screen and (min-width:1024px){:host([data-small-banner=true]) .content{column-gap:45px;grid-template-columns:minmax(27%,381px) minmax(0,1fr)}}@media only screen and (min-width:1280px){:host([data-small-banner=true]) slot[name=products-first-row]{grid-template-columns:repeat(3,minmax(0,1fr))}}:host([data-no-header=true]) .header{display:none}.header{margin-bottom:20px}@media only screen and (min-width:768px){.header{margin-bottom:40px}}.title{font-size:2rem;font-weight:200;letter-spacing:.07em;line-height:1.2;margin-bottom:4px;margin-top:0;text-transform:uppercase}@media only screen and (min-width:768px){.title{font-size:2.5rem}}.subtitle{margin-bottom:0;margin-top:0;max-width:28em}@media only screen and (min-width:768px){.subtitle{font-size:1.5rem}}slot[name=cta]{display:block}::slotted([slot=cta]){display:inline-block;font-weight:600;margin-top:14px;text-decoration:underline!important}@media only screen and (min-width:768px){::slotted([slot=cta]){margin-top:24px}}::slotted([slot=cta]:hover){text-decoration:none!important}@media only screen and (min-width:768px){.content{column-gap:20px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));row-gap:20px}}.banner{margin-bottom:20px;position:relative}@media only screen and (min-width:768px){.banner{margin-bottom:0}}.name{font-size:15px;font-weight:300;left:14px;letter-spacing:.07em;position:absolute;text-shadow:1px 1px 2px #fff;text-transform:uppercase;top:10px}@media only screen and (min-width:1280px){slot[name=carousel]{display:none}}slot[name=products-first-row]{display:none}@media only screen and (min-width:1280px){slot[name=products-first-row]{column-gap:12px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}slot[name=products-second-row]{display:none}@media only screen and (min-width:1280px){slot[name=products-second-row]{column-gap:12px;display:grid;grid-area:2/span 2/2;grid-template-columns:repeat(4,minmax(0,1fr));row-gap:20px}}\";","// Module\nvar code = \"<div class=\\\"header\\\"><h2 class=\\\"title\\\"><slot name=\\\"title\\\"></slot></h2><p class=\\\"subtitle\\\"><slot name=\\\"subtitle\\\"></slot></p><slot name=\\\"cta\\\"></slot></div><div class=\\\"content\\\"><div class=\\\"banner\\\"><div class=\\\"name\\\"><slot name=\\\"name\\\"></slot></div><slot name=\\\"banner\\\"></slot></div><slot name=\\\"carousel\\\"></slot><slot name=\\\"products-first-row\\\"></slot><slot name=\\\"products-second-row\\\"></slot></div>\";\n// Exports\nexport default code;"],"names":["inProgress","dataWebpackPrefix","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","__webpack_modules__","m","d","definition","key","o","Object","defineProperty","enumerable","get","f","e","chunkId","Promise","all","keys","reduce","promises","u","miniCssF","obj","prop","prototype","hasOwnProperty","call","l","url","done","push","script","needAttach","scripts","document","getElementsByTagName","i","length","s","getAttribute","createElement","charset","timeout","nc","setAttribute","src","onScriptComplete","prev","event","onerror","onload","clearTimeout","doneFns","parentNode","removeChild","forEach","fn","setTimeout","bind","type","target","head","appendChild","p","installedChunks","j","installedChunkData","promise","resolve","reject","error","Error","errorType","realSrc","message","name","request","webpackJsonpCallback","parentChunkLoadingFunction","data","chunkIds","moreModules","runtime","some","id","chunkLoadingGlobal","self","splideSlidebarExtension","splide","components","options","slidebar","handle","maxPosition","maxTrackPosition","hasSlidebarMarkup","position","previousTouchX","enable","Elements","root","classList","remove","onSplideResized","is","on","onSplideDragging","onSplideMoveStarted","addEventListener","onMousedown","onTouchstart","passive","onTransitionend","onSlidebarClicked","disable","add","off","removeEventListener","calculateHandleWidth","handleWidth","perPage","Slides","getLength","Layout","listSize","sliderSize","concat","processHandleMove","toPosition","newPosition","getHandlePositionWithinBounds","newSplidePosition","getCalculatedTrackPosition","Move","translate","requestAnimationFrame","style","transform","alignTrackPosition","index","Math","round","currentSplidePosition","getPosition","toIndex","Controller","go","onSplideOptionsUpdated","_options","toggleSlidebar","onSplideReady","isEnough","isOverflow","onMousemove","onMouseup","movementX","touch","touches","clientX","onTouchmove","onTouchend","_event","transition","currentTarget","newSlidebarPosition","offsetX","offsetWidth","newTrackPosition","width","onSplideOverflowed","getCalculatedSlidebarPosition","trackPosition","getEnd","getIndex","slidebarPosition","mount","querySelector","__webpack_public_path__","window","ComboSection","HTMLElement","constructor","super","onCarouselSlotChangedBound","this","onProductsSlotChanged","attachShadow","mode","shadowRoot","innerHTML","connectedCallback","render","disconnectedCallback","destroy","assignedElements","initCarousel","catch","console","warn","Splide","element","autoWidth","rewind","arrows","pagination","gap","keyboard","padding","right","left","margin","perMove","mediaQuery","drag","breakpoints","dataset","smallBanner","customElements","define"],"sourceRoot":""}