{"version":3,"file":"index-D6oKBdrG.js","sources":["../../../node_modules/react-countdown/dist/index.es.js","../../../app/javascript/src/shoppe/compositions/Megaphone/index.tsx"],"sourcesContent":["import { cloneElement, Component, createRef, createElement } from 'react';\nimport { number, element, func, oneOfType, instanceOf, string, bool } from 'prop-types';\n\nfunction _classCallCheck(instance, Constructor) {\n  if (!(instance instanceof Constructor)) {\n    throw new TypeError(\"Cannot call a class as a function\");\n  }\n}\n\nfunction _defineProperties(target, props) {\n  for (var i = 0; i < props.length; i++) {\n    var descriptor = props[i];\n    descriptor.enumerable = descriptor.enumerable || false;\n    descriptor.configurable = true;\n    if (\"value\" in descriptor) descriptor.writable = true;\n    Object.defineProperty(target, descriptor.key, descriptor);\n  }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n  if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n  if (staticProps) _defineProperties(Constructor, staticProps);\n  return Constructor;\n}\n\nfunction _inherits(subClass, superClass) {\n  if (typeof superClass !== \"function\" && superClass !== null) {\n    throw new TypeError(\"Super expression must either be null or a function\");\n  }\n\n  subClass.prototype = Object.create(superClass && superClass.prototype, {\n    constructor: {\n      value: subClass,\n      writable: true,\n      configurable: true\n    }\n  });\n  if (superClass) _setPrototypeOf(subClass, superClass);\n}\n\nfunction _getPrototypeOf(o) {\n  _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n    return o.__proto__ || Object.getPrototypeOf(o);\n  };\n  return _getPrototypeOf(o);\n}\n\nfunction _setPrototypeOf(o, p) {\n  _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n    o.__proto__ = p;\n    return o;\n  };\n\n  return _setPrototypeOf(o, p);\n}\n\nfunction _isNativeReflectConstruct() {\n  if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n  if (Reflect.construct.sham) return false;\n  if (typeof Proxy === \"function\") return true;\n\n  try {\n    Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));\n    return true;\n  } catch (e) {\n    return false;\n  }\n}\n\nfunction _assertThisInitialized(self) {\n  if (self === void 0) {\n    throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n  }\n\n  return self;\n}\n\nfunction _possibleConstructorReturn(self, call) {\n  if (call && (typeof call === \"object\" || typeof call === \"function\")) {\n    return call;\n  }\n\n  return _assertThisInitialized(self);\n}\n\nfunction _createSuper(Derived) {\n  var hasNativeReflectConstruct = _isNativeReflectConstruct();\n\n  return function _createSuperInternal() {\n    var Super = _getPrototypeOf(Derived),\n        result;\n\n    if (hasNativeReflectConstruct) {\n      var NewTarget = _getPrototypeOf(this).constructor;\n\n      result = Reflect.construct(Super, arguments, NewTarget);\n    } else {\n      result = Super.apply(this, arguments);\n    }\n\n    return _possibleConstructorReturn(this, result);\n  };\n}\n\nfunction _toConsumableArray(arr) {\n  return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n  if (Array.isArray(arr)) return _arrayLikeToArray(arr);\n}\n\nfunction _iterableToArray(iter) {\n  if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter);\n}\n\nfunction _unsupportedIterableToArray(o, minLen) {\n  if (!o) return;\n  if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n  var n = Object.prototype.toString.call(o).slice(8, -1);\n  if (n === \"Object\" && o.constructor) n = o.constructor.name;\n  if (n === \"Map\" || n === \"Set\") return Array.from(o);\n  if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\n\nfunction _arrayLikeToArray(arr, len) {\n  if (len == null || len > arr.length) len = arr.length;\n\n  for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n\n  return arr2;\n}\n\nfunction _nonIterableSpread() {\n  throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nfunction zeroPad(value) {\n  var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 2;\n  var strValue = String(value);\n  if (length === 0) return strValue;\n  var match = strValue.match(/(.*?)([0-9]+)(.*)/);\n  var prefix = match ? match[1] : '';\n  var suffix = match ? match[3] : '';\n  var strNo = match ? match[2] : strValue;\n  var paddedNo = strNo.length >= length ? strNo : (_toConsumableArray(Array(length)).map(function () {\n    return '0';\n  }).join('') + strNo).slice(length * -1);\n  return \"\".concat(prefix).concat(paddedNo).concat(suffix);\n}\nvar timeDeltaFormatOptionsDefaults = {\n  daysInHours: false,\n  zeroPadTime: 2\n};\nfunction calcTimeDelta(date) {\n  var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n  var _options$now = options.now,\n      now = _options$now === void 0 ? Date.now : _options$now,\n      _options$precision = options.precision,\n      precision = _options$precision === void 0 ? 0 : _options$precision,\n      controlled = options.controlled,\n      _options$offsetTime = options.offsetTime,\n      offsetTime = _options$offsetTime === void 0 ? 0 : _options$offsetTime,\n      overtime = options.overtime;\n  var startTimestamp;\n\n  if (typeof date === 'string') {\n    startTimestamp = new Date(date).getTime();\n  } else if (date instanceof Date) {\n    startTimestamp = date.getTime();\n  } else {\n    startTimestamp = date;\n  }\n\n  if (!controlled) {\n    startTimestamp += offsetTime;\n  }\n\n  var timeLeft = controlled ? startTimestamp : startTimestamp - now();\n  var clampedPrecision = Math.min(20, Math.max(0, precision));\n  var total = Math.round(parseFloat(((overtime ? timeLeft : Math.max(0, timeLeft)) / 1000).toFixed(clampedPrecision)) * 1000);\n  var seconds = Math.abs(total) / 1000;\n  return {\n    total: total,\n    days: Math.floor(seconds / (3600 * 24)),\n    hours: Math.floor(seconds / 3600 % 24),\n    minutes: Math.floor(seconds / 60 % 60),\n    seconds: Math.floor(seconds % 60),\n    milliseconds: Number((seconds % 1 * 1000).toFixed()),\n    completed: total <= 0\n  };\n}\nfunction formatTimeDelta(timeDelta, options) {\n  var days = timeDelta.days,\n      hours = timeDelta.hours,\n      minutes = timeDelta.minutes,\n      seconds = timeDelta.seconds;\n\n  var _Object$assign = Object.assign(Object.assign({}, timeDeltaFormatOptionsDefaults), options),\n      daysInHours = _Object$assign.daysInHours,\n      zeroPadTime = _Object$assign.zeroPadTime,\n      _Object$assign$zeroPa = _Object$assign.zeroPadDays,\n      zeroPadDays = _Object$assign$zeroPa === void 0 ? zeroPadTime : _Object$assign$zeroPa;\n\n  var zeroPadTimeLength = Math.min(2, zeroPadTime);\n  var formattedHours = daysInHours ? zeroPad(hours + days * 24, zeroPadTime) : zeroPad(hours, zeroPadTimeLength);\n  return {\n    days: daysInHours ? '' : zeroPad(days, zeroPadDays),\n    hours: formattedHours,\n    minutes: zeroPad(minutes, zeroPadTimeLength),\n    seconds: zeroPad(seconds, zeroPadTimeLength)\n  };\n}\n\nvar Countdown = function (_React$Component) {\n  _inherits(Countdown, _React$Component);\n\n  var _super = _createSuper(Countdown);\n\n  function Countdown() {\n    var _this;\n\n    _classCallCheck(this, Countdown);\n\n    _this = _super.apply(this, arguments);\n    _this.state = {\n      count: _this.props.count || 3\n    };\n\n    _this.startCountdown = function () {\n      _this.interval = window.setInterval(function () {\n        var count = _this.state.count - 1;\n\n        if (count === 0) {\n          _this.stopCountdown();\n\n          _this.props.onComplete && _this.props.onComplete();\n        } else {\n          _this.setState(function (prevState) {\n            return {\n              count: prevState.count - 1\n            };\n          });\n        }\n      }, 1000);\n    };\n\n    _this.stopCountdown = function () {\n      clearInterval(_this.interval);\n    };\n\n    _this.addTime = function (seconds) {\n      _this.stopCountdown();\n\n      _this.setState(function (prevState) {\n        return {\n          count: prevState.count + seconds\n        };\n      }, _this.startCountdown);\n    };\n\n    return _this;\n  }\n\n  _createClass(Countdown, [{\n    key: \"componentDidMount\",\n    value: function componentDidMount() {\n      this.startCountdown();\n    }\n  }, {\n    key: \"componentWillUnmount\",\n    value: function componentWillUnmount() {\n      clearInterval(this.interval);\n    }\n  }, {\n    key: \"render\",\n    value: function render() {\n      return this.props.children ? cloneElement(this.props.children, {\n        count: this.state.count\n      }) : null;\n    }\n  }]);\n\n  return Countdown;\n}(Component);\nCountdown.propTypes = {\n  count: number,\n  children: element,\n  onComplete: func\n};\n\nvar Countdown$1 = function (_React$Component) {\n  _inherits(Countdown$1, _React$Component);\n\n  var _super = _createSuper(Countdown$1);\n\n  function Countdown$1(props) {\n    var _this;\n\n    _classCallCheck(this, Countdown$1);\n\n    _this = _super.call(this, props);\n    _this.mounted = false;\n    _this.initialTimestamp = _this.calcOffsetStartTimestamp();\n    _this.offsetStartTimestamp = _this.props.autoStart ? 0 : _this.initialTimestamp;\n    _this.offsetTime = 0;\n    _this.legacyMode = false;\n    _this.legacyCountdownRef = createRef();\n\n    _this.tick = function () {\n      var timeDelta = _this.calcTimeDelta();\n\n      var callback = timeDelta.completed && !_this.props.overtime ? undefined : _this.props.onTick;\n\n      _this.setTimeDeltaState(timeDelta, undefined, callback);\n    };\n\n    _this.start = function () {\n      if (_this.isStarted()) return;\n      var prevOffsetStartTimestamp = _this.offsetStartTimestamp;\n      _this.offsetStartTimestamp = 0;\n      _this.offsetTime += prevOffsetStartTimestamp ? _this.calcOffsetStartTimestamp() - prevOffsetStartTimestamp : 0;\n\n      var timeDelta = _this.calcTimeDelta();\n\n      _this.setTimeDeltaState(timeDelta, \"STARTED\", _this.props.onStart);\n\n      if (!_this.props.controlled && (!timeDelta.completed || _this.props.overtime)) {\n        _this.clearTimer();\n\n        _this.interval = window.setInterval(_this.tick, _this.props.intervalDelay);\n      }\n    };\n\n    _this.pause = function () {\n      if (_this.isPaused()) return;\n\n      _this.clearTimer();\n\n      _this.offsetStartTimestamp = _this.calcOffsetStartTimestamp();\n\n      _this.setTimeDeltaState(_this.state.timeDelta, \"PAUSED\", _this.props.onPause);\n    };\n\n    _this.stop = function () {\n      if (_this.isStopped()) return;\n\n      _this.clearTimer();\n\n      _this.offsetStartTimestamp = _this.calcOffsetStartTimestamp();\n      _this.offsetTime = _this.offsetStartTimestamp - _this.initialTimestamp;\n\n      _this.setTimeDeltaState(_this.calcTimeDelta(), \"STOPPED\", _this.props.onStop);\n    };\n\n    _this.isStarted = function () {\n      return _this.isStatus(\"STARTED\");\n    };\n\n    _this.isPaused = function () {\n      return _this.isStatus(\"PAUSED\");\n    };\n\n    _this.isStopped = function () {\n      return _this.isStatus(\"STOPPED\");\n    };\n\n    _this.isCompleted = function () {\n      return _this.isStatus(\"COMPLETED\");\n    };\n\n    if (props.date) {\n      var timeDelta = _this.calcTimeDelta();\n\n      _this.state = {\n        timeDelta: timeDelta,\n        status: timeDelta.completed ? \"COMPLETED\" : \"STOPPED\"\n      };\n    } else {\n      _this.legacyMode = true;\n    }\n\n    return _this;\n  }\n\n  _createClass(Countdown$1, [{\n    key: \"componentDidMount\",\n    value: function componentDidMount() {\n      if (this.legacyMode) {\n        return;\n      }\n\n      this.mounted = true;\n      if (this.props.onMount) this.props.onMount(this.calcTimeDelta());\n      if (this.props.autoStart) this.start();\n    }\n  }, {\n    key: \"componentDidUpdate\",\n    value: function componentDidUpdate(prevProps) {\n      if (this.legacyMode) {\n        return;\n      }\n\n      if (this.props.date !== prevProps.date) {\n        this.initialTimestamp = this.calcOffsetStartTimestamp();\n        this.offsetStartTimestamp = this.initialTimestamp;\n        this.offsetTime = 0;\n        this.setTimeDeltaState(this.calcTimeDelta());\n      }\n    }\n  }, {\n    key: \"componentWillUnmount\",\n    value: function componentWillUnmount() {\n      if (this.legacyMode) {\n        return;\n      }\n\n      this.mounted = false;\n      this.clearTimer();\n    }\n  }, {\n    key: \"calcTimeDelta\",\n    value: function calcTimeDelta$1() {\n      var _this$props = this.props,\n          date = _this$props.date,\n          now = _this$props.now,\n          precision = _this$props.precision,\n          controlled = _this$props.controlled,\n          overtime = _this$props.overtime;\n      return calcTimeDelta(date, {\n        now: now,\n        precision: precision,\n        controlled: controlled,\n        offsetTime: this.offsetTime,\n        overtime: overtime\n      });\n    }\n  }, {\n    key: \"calcOffsetStartTimestamp\",\n    value: function calcOffsetStartTimestamp() {\n      return Date.now();\n    }\n  }, {\n    key: \"addTime\",\n    value: function addTime(seconds) {\n      this.legacyCountdownRef.current.addTime(seconds);\n    }\n  }, {\n    key: \"clearTimer\",\n    value: function clearTimer() {\n      window.clearInterval(this.interval);\n    }\n  }, {\n    key: \"isStatus\",\n    value: function isStatus(status) {\n      return this.state.status === status;\n    }\n  }, {\n    key: \"setTimeDeltaState\",\n    value: function setTimeDeltaState(timeDelta, status, callback) {\n      var _this2 = this;\n\n      if (!this.mounted) return;\n      var completing = timeDelta.completed && !this.state.timeDelta.completed;\n      var completedOnStart = timeDelta.completed && status === \"STARTED\";\n\n      if (completing && !this.props.overtime) {\n        this.clearTimer();\n      }\n\n      var onDone = function onDone() {\n        if (callback) callback(_this2.state.timeDelta);\n\n        if (_this2.props.onComplete && (completing || completedOnStart)) {\n          _this2.props.onComplete(timeDelta, completedOnStart);\n        }\n      };\n\n      return this.setState(function (prevState) {\n        var newStatus = status || prevState.status;\n\n        if (timeDelta.completed && !_this2.props.overtime) {\n          newStatus = \"COMPLETED\";\n        } else if (!status && newStatus === \"COMPLETED\") {\n          newStatus = \"STOPPED\";\n        }\n\n        return {\n          timeDelta: timeDelta,\n          status: newStatus\n        };\n      }, onDone);\n    }\n  }, {\n    key: \"getApi\",\n    value: function getApi() {\n      return this.api = this.api || {\n        start: this.start,\n        pause: this.pause,\n        stop: this.stop,\n        isStarted: this.isStarted,\n        isPaused: this.isPaused,\n        isStopped: this.isStopped,\n        isCompleted: this.isCompleted\n      };\n    }\n  }, {\n    key: \"getRenderProps\",\n    value: function getRenderProps() {\n      var _this$props2 = this.props,\n          daysInHours = _this$props2.daysInHours,\n          zeroPadTime = _this$props2.zeroPadTime,\n          zeroPadDays = _this$props2.zeroPadDays;\n      var timeDelta = this.state.timeDelta;\n      return Object.assign(Object.assign({}, timeDelta), {\n        api: this.getApi(),\n        props: this.props,\n        formatted: formatTimeDelta(timeDelta, {\n          daysInHours: daysInHours,\n          zeroPadTime: zeroPadTime,\n          zeroPadDays: zeroPadDays\n        })\n      });\n    }\n  }, {\n    key: \"render\",\n    value: function render() {\n      if (this.legacyMode) {\n        var _this$props3 = this.props,\n            count = _this$props3.count,\n            _children = _this$props3.children,\n            onComplete = _this$props3.onComplete;\n        return createElement(Countdown, {\n          ref: this.legacyCountdownRef,\n          count: count,\n          onComplete: onComplete\n        }, _children);\n      }\n\n      var _this$props4 = this.props,\n          className = _this$props4.className,\n          overtime = _this$props4.overtime,\n          children = _this$props4.children,\n          renderer = _this$props4.renderer;\n      var renderProps = this.getRenderProps();\n\n      if (renderer) {\n        return renderer(renderProps);\n      }\n\n      if (children && this.state.timeDelta.completed && !overtime) {\n        return cloneElement(children, {\n          countdown: renderProps\n        });\n      }\n\n      var _renderProps$formatte = renderProps.formatted,\n          days = _renderProps$formatte.days,\n          hours = _renderProps$formatte.hours,\n          minutes = _renderProps$formatte.minutes,\n          seconds = _renderProps$formatte.seconds;\n      return createElement(\"span\", {\n        className: className\n      }, renderProps.total < 0 ? '-' : '', days, days ? ':' : '', hours, \":\", minutes, \":\", seconds);\n    }\n  }]);\n\n  return Countdown$1;\n}(Component);\nCountdown$1.defaultProps = Object.assign(Object.assign({}, timeDeltaFormatOptionsDefaults), {\n  controlled: false,\n  intervalDelay: 1000,\n  precision: 0,\n  autoStart: true\n});\nCountdown$1.propTypes = {\n  date: oneOfType([instanceOf(Date), string, number]),\n  daysInHours: bool,\n  zeroPadTime: number,\n  zeroPadDays: number,\n  controlled: bool,\n  intervalDelay: number,\n  precision: number,\n  autoStart: bool,\n  overtime: bool,\n  className: string,\n  children: element,\n  renderer: func,\n  now: func,\n  onMount: func,\n  onStart: func,\n  onPause: func,\n  onStop: func,\n  onTick: func,\n  onComplete: func\n};\n\nexport default Countdown$1;\nexport { calcTimeDelta, formatTimeDelta, zeroPad };\n","/* eslint-disable no-restricted-syntax */\nimport React from 'react';\nimport cls from 'classnames';\n\nimport { useApiObject } from 'src/explore/hooks/useApiObject';\nimport { useShopConfig } from 'src/explore/hooks/useShopConfig';\nimport { IMegaphone } from 'src/explore/types/shoppe';\nimport { Markdown } from 'src/explore/elements/Markdown';\nimport { isNativeMobileApp } from 'src/explore/services/mobile';\nimport Countdown from 'react-countdown';\n\nimport moment from 'moment-timezone';\nimport styles from './index.module.sass';\n\nconst hex = ( color: string | null ) => {\n  if ( !color ) return undefined;\n\n  return color.replace( /(^[^#])/, '#$1' );\n};\n\nconst parseCountdown = ( description: string, expiresAt: string ) => {\n  if ( !description.match( /\\{COUNTDOWN.*}/ )) return null;\n\n  const countDown = description.match( /\\{COUNTDOWN_[0-2][0-9]}/ ); // Do we still want the old approach?\n  if ( countDown !== null ) {\n    const countDownTime = countDown[0].match( /[0-2][0-9]/ );\n    const countDownDate = moment()\n      .tz( 'America/New_York' )\n      .startOf( 'day' )\n      .hours( parseInt( countDownTime[0], 10 ));\n    if ( moment().diff( countDownDate ) > 0 ) {\n      countDownDate.add( 1, 'day' );\n    }\n    return countDownDate;\n  }\n  if ( !expiresAt ) return null;\n  return moment( expiresAt );\n};\n\nexport const Megaphone = () => {\n  const config = useShopConfig();\n\n  const [ activeMessage, setActiveMessage ] = React.useState<IMegaphone | null>( null );\n\n  const { data } = useApiObject<{ data: IMegaphone[] }>( '/megaphone_messages', {\n    apiPathOverride: '/api/v4/',\n    camelCaseKeys: true,\n  });\n\n  // Find the first megaphone for this page\n  // megaphones are already sorted by priority on the backend\n  // app/controllers/explore/api/megaphone_messages_controller.rb\n  React.useEffect(() => {\n    let current: IMegaphone = null;\n\n    if ( data?.data ) {\n      for ( const message of data.data ) {\n        for ( const regex of message.regexes ) {\n          if ( window.location.pathname.match( regex )) {\n            current = message;\n            break;\n          }\n        }\n        if ( current ) {\n          break;\n        }\n      }\n    }\n\n    if ( current ) {\n      setActiveMessage({\n        ...current,\n        backgroundColor: hex( current.backgroundColor ),\n        textColor: hex( current.textColor ),\n      });\n    }\n  }, [ data ]);\n\n  if ( !activeMessage || isNativeMobileApp()) return null;\n\n  const { backgroundColor, description, expiresAt, icon, title, megaphoneType, textColor } =\n    activeMessage;\n  const descriptionWithoutCountdown = description.replace( /\\{COUNTDOWN.*}/, '' );\n  const countDownDate = parseCountdown( description, expiresAt );\n\n  return (\n    <div className=\"bs4\">\n      <div\n        className={cls( styles.wrapper, styles[megaphoneType], {\n          [styles.whitelabel]: config.isWhitelabel,\n          [styles[config.merchantPermalink]]: !!config.merchantPermalink,\n          [styles.withCountdown]: countDownDate !== null,\n        })}\n        style={{ backgroundColor, color: textColor }}\n      >\n        <div\n          className={cls(\n            styles.container,\n            'd-flex flex-column align-items-center justify-content-center mx-auto'\n          )}\n        >\n          {icon && <div className=\"fs-9 mx-2\">{icon}</div>}\n          {title && (\n            <div className={cls( styles.title, 'font-weight-bold' )}>\n              {title.trim()}\n              <span className={styles.titleSpace}>&nbsp;</span>\n            </div>\n          )}\n          <div className={cls( styles.descriptionContainer )}>\n            {descriptionWithoutCountdown && (\n              <Markdown\n                className={cls(\n                  styles.markdown,\n                  { 'fs-3': megaphoneType === 'marketing' },\n                  styles.description\n                )}\n              >\n                {descriptionWithoutCountdown}\n              </Markdown>\n            )}\n            {countDownDate !== null && (\n              <Countdown className={styles.countdown} daysInHours date={countDownDate.format( '' )} />\n            )}\n          </div>\n        </div>\n      </div>\n    </div>\n  );\n};\n"],"names":["_classCallCheck","instance","Constructor","_defineProperties","target","props","i","descriptor","_createClass","protoProps","staticProps","_inherits","subClass","superClass","_setPrototypeOf","_getPrototypeOf","o","p","_isNativeReflectConstruct","_assertThisInitialized","self","_possibleConstructorReturn","call","_createSuper","Derived","hasNativeReflectConstruct","Super","result","NewTarget","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","_arrayLikeToArray","iter","minLen","n","len","arr2","zeroPad","value","length","strValue","match","prefix","suffix","strNo","paddedNo","timeDeltaFormatOptionsDefaults","calcTimeDelta","date","options","_options$now","now","_options$precision","precision","controlled","_options$offsetTime","offsetTime","overtime","startTimestamp","timeLeft","clampedPrecision","total","seconds","formatTimeDelta","timeDelta","days","hours","minutes","_Object$assign","daysInHours","zeroPadTime","_Object$assign$zeroPa","zeroPadDays","zeroPadTimeLength","formattedHours","Countdown","_React$Component","_super","_this","count","prevState","cloneElement","Component","number","element","func","Countdown$1","createRef","callback","prevOffsetStartTimestamp","prevProps","_this$props","status","_this2","completing","completedOnStart","onDone","newStatus","_this$props2","_this$props3","_children","onComplete","createElement","_this$props4","className","children","renderer","renderProps","_renderProps$formatte","oneOfType","instanceOf","string","bool","hex","color","parseCountdown","description","expiresAt","countDown","countDownTime","countDownDate","moment","Megaphone","config","useShopConfig","activeMessage","setActiveMessage","React","data","useApiObject","current","message","regex","isNativeMobileApp","backgroundColor","icon","title","megaphoneType","textColor","descriptionWithoutCountdown","cls","styles","Markdown"],"mappings":"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","x_google_ignoreList":[0]}