{"version":3,"sources":["webpack:///./node_modules/react-range/lib/types.js","webpack:///./node_modules/react-range/lib/index.js","webpack:///./node_modules/object-keys/isArguments.js","webpack:///./node_modules/object-keys/index.js","webpack:///./node_modules/object-is/implementation.js","webpack:///./node_modules/is-regex/index.js","webpack:///./node_modules/warning/warning.js","webpack:///./node_modules/core-js/internals/object-keys.js","webpack:///./node_modules/core-js/internals/normalize-string-argument.js","webpack:///./node_modules/is-arguments/index.js","webpack:///./node_modules/regexp.prototype.flags/index.js","webpack:///./node_modules/core-js/modules/esnext.aggregate-error.js","webpack:///./node_modules/core-js/internals/is-array-iterator-method.js","webpack:///./src/components/ui/contactwithus.js","webpack:///./node_modules/define-properties/index.js","webpack:///./node_modules/popper.js/dist/esm/popper.js","webpack:///./node_modules/core-js/internals/function-bind-context.js","webpack:///./node_modules/react-range/lib/utils.js","webpack:///./node_modules/get-intrinsic/index.js","webpack:///./node_modules/has-tostringtag/shams.js","webpack:///./node_modules/function-bind/index.js","webpack:///./node_modules/is-date-object/index.js","webpack:///./node_modules/has-symbols/shams.js","webpack:///./node_modules/core-js/internals/html.js","webpack:///./node_modules/regexp.prototype.flags/shim.js","webpack:///./node_modules/core-js/internals/iterate.js","webpack:///./node_modules/react-popper/lib/esm/Manager.js","webpack:///./src/img/ui/checkmarkBlue.svg","webpack:///./node_modules/core-js/internals/iterator-close.js","webpack:///./node_modules/core-js/internals/object-define-properties.js","webpack:///./node_modules/core-js/internals/get-iterator-method.js","webpack:///./node_modules/core-js/internals/iterators.js","webpack:///./node_modules/call-bind/index.js","webpack:///./node_modules/has-symbols/index.js","webpack:///./node_modules/regexp.prototype.flags/polyfill.js","webpack:///./node_modules/call-bind/callBound.js","webpack:///./src/components/blog/allArticles/styled.js","webpack:///./src/components/blog/allArticles/index.js","webpack:///./node_modules/regexp.prototype.flags/implementation.js","webpack:///./node_modules/object-is/polyfill.js","webpack:///./node_modules/react-range/lib/Range.js","webpack:///./node_modules/function-bind/implementation.js","webpack:///./node_modules/object-is/index.js","webpack:///./src/img/ui/moreInfo.inline.svg","webpack:///./node_modules/deep-equal/index.js","webpack:///./node_modules/core-js/internals/object-create.js","webpack:///./node_modules/gud/index.js","webpack:///./node_modules/@hypnosphi/create-react-context/lib/index.js","webpack:///./node_modules/@babel/runtime/helpers/defineProperty.js","webpack:///./node_modules/core-js/modules/es.aggregate-error.js","webpack:///./node_modules/core-js/internals/get-iterator.js","webpack:///./node_modules/has/src/index.js","webpack:///./node_modules/@hypnosphi/create-react-context/lib/implementation.js","webpack:///./node_modules/core-js/internals/install-error-cause.js","webpack:///./node_modules/reactstrap/es/DropdownContext.js","webpack:///./node_modules/object-keys/implementation.js","webpack:///./node_modules/react-popper/lib/esm/utils.js","webpack:///./node_modules/react-popper/lib/esm/Reference.js","webpack:///./node_modules/reactstrap/es/Button.js","webpack:///./node_modules/reactstrap/es/DropdownToggle.js","webpack:///./node_modules/react-popper/lib/esm/Popper.js","webpack:///./node_modules/reactstrap/es/DropdownMenu.js","webpack:///./src/data/pricing/pricing_gen.js","webpack:///./src/data/pricing/plans.js","webpack:///./src/data/pricing/index.js","webpack:///./src/data/pricing/features.js","webpack:///./src/components/pricing/TableMobile.js","webpack:///./src/components/pricing/features/styled.js","webpack:///./src/components/pricing/features/index.js","webpack:///./src/components/pricing/pricingBox/styled.js","webpack:///./src/components/pricing/pricingBox/index.js","webpack:///./src/components/pricing/enterprise/styled.js","webpack:///./src/components/pricing/enterprise/index.js","webpack:///./src/data/pricing/boxFeatures.js","webpack:///./src/data/pricing/questions.js","webpack:///./src/pages/pricing.js","webpack:///./node_modules/core-js/internals/error-stack-installable.js","webpack:///./src/pages/blog.js","webpack:///./node_modules/object-is/shim.js","webpack:///./node_modules/core-js/internals/clear-error-stack.js","webpack:///./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"],"names":["Object","defineProperty","exports","value","Direction","__importDefault","this","mod","__esModule","checkValuesAgainstBoundaries","relativeValue","useThumbOverlap","getTrackBackground","Range","Range_1","default","utils_1","enumerable","get","types_1","toStr","prototype","toString","module","str","call","isArgs","length","callee","slice","Array","origKeys","keys","keysShim","o","originalKeys","shim","args","arguments","object","numberIsNaN","a","b","has","$exec","isRegexMarker","badStringifier","callBound","hasToStringTag","throwRegexMarker","valueOf","Symbol","toPrimitive","$toString","gOPD","getOwnPropertyDescriptor","descriptor","e","warning","internalObjectKeys","enumBugKeys","O","argument","$default","undefined","isStandardArguments","toStringTag","isLegacyArguments","supportsStandardArguments","define","callBind","implementation","getPolyfill","flagsBound","wellKnownSymbol","Iterators","ITERATOR","ArrayPrototype","it","Adnotations","styled","div","media","tablet","mobile","props","pricing","desktopWide","ChatWithUs","button","ContactWithUs","mail","href","as","Link","to","onClick","preventDefault","Intercom","openChat","defaultProps","hasSymbols","concat","origDefineProperty","supportsDescriptors","obj","_","x","arePropertyDescriptorsSupported","name","predicate","fn","configurable","writable","defineProperties","map","predicates","getOwnPropertySymbols","i","isBrowser","window","document","navigator","timeoutDuration","longerTimeoutBrowsers","userAgent","indexOf","debounce","Promise","called","resolve","then","scheduled","setTimeout","isFunction","functionToCheck","getStyleComputedProperty","element","property","nodeType","css","ownerDocument","defaultView","getComputedStyle","getParentNode","nodeName","parentNode","host","getScrollParent","body","_getStyleComputedProp","overflow","overflowX","overflowY","test","getReferenceNode","reference","referenceNode","isIE11","MSInputMethodContext","documentMode","isIE10","isIE","version","getOffsetParent","documentElement","noOffsetParent","offsetParent","nextElementSibling","getRoot","node","findCommonOffsetParent","element1","element2","order","compareDocumentPosition","Node","DOCUMENT_POSITION_FOLLOWING","start","end","range","createRange","setStart","setEnd","commonAncestorContainer","contains","firstElementChild","element1root","getScroll","side","upperSide","html","scrollingElement","includeScroll","rect","subtract","scrollTop","scrollLeft","modifier","top","bottom","left","right","getBordersSize","styles","axis","sideA","sideB","parseFloat","getSize","computedStyle","Math","max","parseInt","getWindowSizes","height","width","classCallCheck","instance","Constructor","TypeError","createClass","target","key","protoProps","staticProps","_extends","assign","source","hasOwnProperty","getClientRect","offsets","getBoundingClientRect","result","sizes","clientWidth","clientHeight","horizScrollbar","offsetWidth","vertScrollbar","offsetHeight","getOffsetRectRelativeToArbitraryNode","children","parent","fixedPosition","isHTML","childrenRect","parentRect","scrollParent","borderTopWidth","borderLeftWidth","marginTop","marginLeft","getViewportOffsetRectRelativeToArtbitraryNode","excludeScroll","relativeOffset","innerWidth","innerHeight","offset","isFixed","getFixedPositionOffsetParent","parentElement","el","getBoundaries","popper","padding","boundariesElement","boundaries","boundariesNode","_getWindowSizes","isPaddingNumber","getArea","_ref","computeAutoPlacement","placement","refRect","rects","sortedAreas","area","sort","filteredAreas","filter","_ref2","computedPlacement","variation","split","getReferenceOffsets","state","commonOffsetParent","getOuterSizes","marginBottom","y","marginRight","getOppositePlacement","hash","replace","matched","getPopperOffsets","referenceOffsets","popperRect","popperOffsets","isHoriz","mainSide","secondarySide","measurement","secondaryMeasurement","find","arr","check","runModifiers","modifiers","data","ends","prop","findIndex","cur","match","forEach","console","warn","enabled","update","isDestroyed","arrowStyles","attributes","flipped","options","positionFixed","flip","originalPlacement","position","isCreated","onUpdate","onCreate","isModifierEnabled","modifierName","some","getSupportedPropertyName","prefixes","upperProp","charAt","toUpperCase","prefix","toCheck","style","destroy","removeAttribute","willChange","disableEventListeners","removeOnDestroy","removeChild","getWindow","setupEventListeners","updateBound","addEventListener","passive","scrollElement","attachToScrollParents","event","callback","scrollParents","isBody","push","eventsEnabled","enableEventListeners","scheduleUpdate","cancelAnimationFrame","removeEventListener","isNumeric","n","isNaN","isFinite","setStyles","unit","isFirefox","isModifierRequired","requestingName","requestedName","requesting","isRequired","_requesting","requested","placements","validPlacements","clockwise","counter","index","reverse","BEHAVIORS","parseOffset","basePlacement","useHeight","fragments","frag","trim","divider","search","splitRegex","ops","op","mergeWithPrevious","reduce","toValue","index2","Defaults","shift","shiftvariation","_data$offsets","isVertical","shiftOffsets","preventOverflow","transformProp","popperStyles","transform","priority","primary","escapeWithReference","secondary","min","keepTogether","floor","opSide","arrow","_data$offsets$arrow","arrowElement","querySelector","len","sideCapitalized","toLowerCase","altSide","arrowElementSize","center","popperMarginSide","popperBorderSide","sideValue","round","placementOpposite","flipOrder","behavior","step","refOffsets","overlapsRef","overflowsLeft","overflowsRight","overflowsTop","overflowsBottom","overflowsBoundaries","flippedVariationByRef","flipVariations","flippedVariationByContent","flipVariationsByContent","flippedVariation","getOppositeVariation","inner","subtractLength","hide","bound","computeStyle","legacyGpuAccelerationOption","gpuAcceleration","offsetParentRect","shouldRound","noRound","v","referenceWidth","popperWidth","isVariation","horizontalToInteger","verticalToInteger","getRoundedOffsets","devicePixelRatio","prefixedProperty","invertTop","invertLeft","applyStyle","setAttribute","onLoad","modifierOptions","Popper","_this","requestAnimationFrame","bind","jquery","Utils","global","PopperUtils","uncurryThis","aCallable","that","apply","__spreadArrays","s","il","r","k","j","jl","assertUnreachable","voidFn","replaceAt","schd","translate","getClosestThumbIndex","translateThumbs","getPaddingAndBorder","getMargin","checkInitialOverlap","checkBoundaries","normalizeValue","isStepDivisible","isTouchEvent","getStepDecimals","react_1","direction","Up","Down","decimals","touches","changedTouches","roundedRes","Number","toFixed","allowOverlap","values","BIG_NUM","prev","next","remainder","closestLowerNum","abs","rounded","res","decimalPlaces","RangeError","every","item","elements","rtl","inverter","thumbs","clientX","clientY","thumbIndex","minThumbDistance","getThumbDistance","thumbDistance","lastArgs","frameId","_i","ret","_a","colors","_b","Right","_c","Left","middle","acc","point","Error","getThumbWidth","thumbEl","separator","valueToLabel","ceil","from","elWidth","innerText","includes","childElementCount","elClone","cloneNode","innerHTML","visibility","appendChild","rangeRef","useState","labelStyle","setLabelStyle","labelValue","setLabelValue","useEffect","getThumbs","newStyle","offsets_1","getOffsets","overlaps","buildOverlaps","thumbXWidth","thumbX","siblingIndex","siblingX","siblingWidth","Set","getOverlaps","labelValue_1","offsetsX","c","labelValues_1","thumb","join","first","last","lastWidth","$SyntaxError","SyntaxError","$Function","Function","$TypeError","getEvalledConstructor","expressionSyntax","$gOPD","throwTypeError","ThrowTypeError","calleeThrows","gOPDthrows","getProto","getPrototypeOf","__proto__","needsEval","TypedArray","Uint8Array","INTRINSICS","AggregateError","ArrayBuffer","iterator","Atomics","BigInt","Boolean","DataView","Date","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","eval","EvalError","Float32Array","Float64Array","FinalizationRegistry","Int8Array","Int16Array","Int32Array","JSON","Map","Proxy","ReferenceError","Reflect","RegExp","SharedArrayBuffer","String","Uint8ClampedArray","Uint16Array","Uint32Array","URIError","WeakMap","WeakRef","WeakSet","LEGACY_ALIASES","hasOwn","$concat","$spliceApply","splice","$replace","$strSlice","rePropName","reEscapeChar","stringToPath","string","number","quote","subString","getBaseIntrinsic","allowMissing","alias","intrinsicName","doEval","gen","parts","intrinsicBaseName","intrinsic","intrinsicRealName","skipFurtherCaching","isOwn","part","desc","getDay","tryDateObject","sym","symObj","getOwnPropertyNames","syms","propertyIsEnumerable","getBuiltIn","TypeErr","regex","polyfill","proto","anObject","tryToString","isArrayIteratorMethod","lengthOfArrayLike","isPrototypeOf","getIterator","getIteratorMethod","iteratorClose","Result","stopped","ResultPrototype","iterable","unboundFunction","iterFn","AS_ENTRIES","IS_ITERATOR","INTERRUPTED","stop","condition","callFn","done","error","ManagerReferenceNodeContext","ManagerReferenceNodeSetterContext","Manager","_React$Component","_len","_key","newReferenceNode","forceUpdate","_proto","componentWillUnmount","render","Provider","setReferenceNode","getMethod","kind","innerResult","innerError","DESCRIPTORS","definePropertyModule","toIndexedObject","objectKeys","Properties","f","classof","GetIntrinsic","$apply","$call","$reflectApply","$defineProperty","$max","originalFunction","func","applyBind","origSymbol","hasSymbolSham","flags","dotAll","$indexOf","Section","section","deleteMargin","Grid","desktop","AllArticles","StyledButton","updates","countOfPosts","loadMore","renderRestOfArticles","blogPosts","posts","idx","link","isList","post","group","className","disabled","opacity","$Object","ignoreCase","multiline","unicode","sticky","is","_extendStatics","__extends","d","setPrototypeOf","p","__","constructor","create","__createBinding","m","k2","__setModuleDefault","__importStar","React","INCREASE_KEYS","DECREASE_KEYS","_super","trackRef","createRef","thumbRefs","markRefs","draggedTrackPos","draggedThumbIndex","thumbZIndexes","fill","t","isChanged","markOffsets","trackElement","current","trackRect","trackPadding","thumbOffsets","thumbRect","thumbMargins","hasAttribute","getTargetIndex","child","addTouchEvents","schdOnTouchMove","schdOnEnd","addMouseEvents","schdOnMouseMove","onMouseDownTrack","persist","nativeEvent","draggableTrack","thumbRef","setState","onMove","focus","onResize","calculateMarkOffsets","onTouchStartTrack","onMouseOrTouchStart","isTouch","onMouseMove","onTouchMove","onKeyDown","onChange","fireOnFinalChange","onKeyUp","trackLength","dX","dY","deltaValue","sign","thumbValue","newValues","newValue","onEnd","onFinalChange","renderMark","elStyles","trackWidth","trackHeight","paddingLeft","paddingTop","numOfMarks","markHeight","markWidth","markRect","componentDidMount","resizeObserver","ResizeObserver","observe","unobserve","componentDidUpdate","prevProps","prevState","renderTrack","renderThumb","cursor","onMouseDown","onTouchStart","ref","isDragged","zIndex","userSelect","touchAction","WebkitUserSelect","MozUserSelect","msUserSelect","tabIndex","draggable","role","Component","ERROR_MESSAGE","binder","boundLength","boundArgs","Empty","MoreInfoInline","createElement","isArguments","isRegex","isDate","getTime","deepEqual","actual","expected","opts","strict","isUndefinedOrNull","aIsRegex","bIsRegex","aIsBuffer","isBuffer","bIsBuffer","ka","kb","objEquiv","copy","activeXDocument","hiddenKeys","documentCreateElement","sharedKey","IE_PROTO","EmptyConstructor","scriptTag","content","LT","NullProtoObjectViaActiveX","write","close","temp","parentWindow","NullProtoObject","ActiveXObject","iframeDocument","iframe","domain","display","src","contentWindow","open","F","_react2","_interopRequireDefault","_implementation2","createContext","$","copyConstructorProperties","createNonEnumerableProperty","createPropertyDescriptor","clearErrorStack","installErrorCause","iterate","normalizeStringArgument","ERROR_STACK_INSTALLABLE","$AggregateError","errors","message","AggregateErrorPrototype","stack","errorsArray","usingIterator","iteratorMethod","_react","_propTypes2","_gud2","_classCallCheck","_possibleConstructorReturn","self","_inherits","subClass","superClass","createEventEmitter","handlers","on","handler","off","h","set","changedBits","defaultValue","calculateChangedBits","_Provider$childContex","_Consumer$contextType","contextProp","_Component","_temp","emitter","getChildContext","componentWillReceiveProps","nextProps","oldValue","childContextTypes","Consumer","_Component2","_temp2","_this2","_len2","_key2","getValue","observedBits","context","isArray","contextTypes","isObject","cause","DropdownContext","isEnumerable","hasDontEnumBug","hasProtoEnumBug","dontEnums","equalsConstructorPrototype","ctor","excludedKeys","$applicationCache","$console","$external","$frame","$frameElement","$frames","$innerHeight","$innerWidth","$onmozfullscreenchange","$onmozfullscreenerror","$outerHeight","$outerWidth","$pageXOffset","$pageYOffset","$parent","$scrollLeft","$scrollTop","$scrollX","$scrollY","$self","$webkitIndexedDB","$webkitStorageInfo","$window","hasAutomationEqualityBug","isString","theKeys","skipProto","skipConstructor","equalsConstructorPrototypeIfNotBuggy","unwrapArray","arg","safeInvoke","setRef","InnerReference","innerRef","refHandler","Reference","_excluded","Button","_this$props","active","ariaLabel","block","cssModule","color","outline","size","Tag","tag","btnOutlineColor","classes","defaultAriaLabel","type","DropdownToggle","nav","toggle","getRole","menuRole","caret","inNavbar","isOpen","contextType","initialStyle","pointerEvents","initialArrowStyle","InnerPopper","popperNode","updatePopperInstance","arrowNode","updateStateModifier","popperInstance","destroyPopperInstance","referenceElement","getOptions","setPopperNode","getPopperStyle","getPopperPlacement","outOfBoundaries","getOutOfBoundariesState","arrowProps","setArrowNode","getArrowStyle","ownKeys","enumerableOnly","symbols","_objectSpread","getOwnPropertyDescriptors","noFlipModifier","directionPositionMap","up","down","DropdownMenu","container","attrs","show","poperPlacement","poperModifiers","popperPositionFixed","combinedStyle","tagRef","onMenuRef","createPortal","Pricing","plans_pricing","basic","prices","price","EUR","monthly","annual","PLN","USD","features","always_on_recording","team_members","websites","click_maps","heat_maps","engagement_score","funnels","multi_factor_authentication","recording_rules","user_journey","tagging","segments","rage_and_error_clicks","skip_inactivity","dashboards","filters","speed_up_session_replay","user_identification","custom_properties","min_duration","notes","customizable_dashboards","integrations","premium_integrations","resource_synchronization","segment_notifications","rest_api","developer_tools","custom_events","audit_logs","sso","webhooks","priority_support","data_export","customer_success_manager","custom_user_access","custom_invoicing","organizations","session_sharing","alerts","available_retentions","enterprise","freemium","professional","plans_paid","plans_all","intercom","livechat","zendesk","sessions_per_unit","Plans","Freemium","Basic","Professional","Enterprise","showPlans","planPriority","plan","kFormatter","num","labels","numberWithSpaces","ClientSideFeatures","Features","BillingAndService","Term","PaymentType","EmailSupport","ChatSupport","CustomPaperwork","Training","Privacy","ContentExclude","GDPR","CCPA","Usage","SessionsLimit","DataRetention","Seats","Websites","SessionReplays","SessionReplay","ClickMaps","Heatmaps","EngagementScore","PlaybackSpeed","SkipInactivity","Autoplay","RecordingRules","RageAndErrorClicks","Filters","FormAnalytics","SessionsSharing","MinDuration","Tagging","ResourceSynchronization","DeveloperTools","Analytics","Funnels","Dashboard","UserJourney","Segments","SegmentNotifications","DataExport","Other","Integrations","PremiumIntegrations","UserIdentification","CustomProperties","MultiFactorAuthentication","Notes","CustomEvents","RestAPI","AuditLogs","SSO","Alerts","Webhooks","CustomUserAccess","Organizations","pricingFeaturesByPlan","featureConditions","feature","pricingFeatures","currentPlanPriority","pricingData","clientSideFeatureConditions","plans","FeatureConditions","dataSet","tooltip","MICRO","STARTER","STARTUP","SCALE","StyledList","ul","PaginationWrapper","List","TableMobile","pages","compare","currentPage","setCurrentPage","Pagination","aria-label","page","PaginationItem","PaginationLink","handleClick","base","FeaturesTable","table","Header","billingAndService","description","privacy","usage","sessionReplays","analytics","soon","renderList","list","featureList","renderContent","planFeatures","feat","checkmark","alt","scope","fontWeight","FeaturesComponent","signUp","sourceID","borderBottom","colSpan","Price","PageviewsCTA","Box","mostPopular","free","Inner","PlanName","span","Currency","TextFeature","Use","SeeFeatures","em","Saving","PriceBox","PricingHeader","CustomPricing","PricingCreator","currency","planName","use","custom","setOpen","setRange","savings","billingCycle","currencyField","between","above","getSavings","startsAt","getPriceForValue","background","margin","borderRadius","backgroundColor","reversed","small","Collapse","ExtendGuestPostBox","GuestPostBox","withArrow","featFree","featBasic","featProfessional","featEnterprise","questions","question","answer","StyledSection","Container","Subtitle","Switcher","PlansAndMethods","StyledDropdown","StyledDropdownMenu","setType","setCurrency","fetch","json","time_zone","metaTitle","canonical","metaDescription","hideBorder","onKeyPress","FAQ","paddingBottom","customText","fails","StyledHeader","StyledBlogTitle","h1","StyledBlogDesc","RecentPosts","h2","StyledFirstPost","StyledLink","Blog","mapArticles","author","authorName","avatar","timeToRead","renderArticles","arraySlice","TEST","V8_OR_CHAKRA_STACK_ENTRY","IS_V8_OR_CHAKRA_STACK","IS_FIREFOX_OR_SAFARI_STACK","dropEntries","_objectWithoutPropertiesLoose","excluded","sourceKeys"],"mappings":"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","file":"component---src-pages-pricing-js-f310983452fc0a885cdb.js","sourcesContent":["\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Direction = void 0;\nvar Direction;\n\n(function (Direction) {\n Direction[\"Right\"] = \"to right\";\n Direction[\"Left\"] = \"to left\";\n Direction[\"Down\"] = \"to bottom\";\n Direction[\"Up\"] = \"to top\";\n})(Direction = exports.Direction || (exports.Direction = {}));","\"use strict\";\n\nvar __importDefault = this && this.__importDefault || function (mod) {\n return mod && mod.__esModule ? mod : {\n \"default\": mod\n };\n};\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.checkValuesAgainstBoundaries = exports.relativeValue = exports.useThumbOverlap = exports.Direction = exports.getTrackBackground = exports.Range = void 0;\n\nvar Range_1 = __importDefault(require(\"./Range\"));\n\nexports.Range = Range_1.default;\n\nvar utils_1 = require(\"./utils\");\n\nObject.defineProperty(exports, \"getTrackBackground\", {\n enumerable: true,\n get: function get() {\n return utils_1.getTrackBackground;\n }\n});\nObject.defineProperty(exports, \"useThumbOverlap\", {\n enumerable: true,\n get: function get() {\n return utils_1.useThumbOverlap;\n }\n});\nObject.defineProperty(exports, \"relativeValue\", {\n enumerable: true,\n get: function get() {\n return utils_1.relativeValue;\n }\n});\nObject.defineProperty(exports, \"checkValuesAgainstBoundaries\", {\n enumerable: true,\n get: function get() {\n return utils_1.checkValuesAgainstBoundaries;\n }\n});\n\nvar types_1 = require(\"./types\");\n\nObject.defineProperty(exports, \"Direction\", {\n enumerable: true,\n get: function get() {\n return types_1.Direction;\n }\n});","'use strict';\n\nvar toStr = Object.prototype.toString;\n\nmodule.exports = function isArguments(value) {\n var str = toStr.call(value);\n var isArgs = str === '[object Arguments]';\n\n if (!isArgs) {\n isArgs = str !== '[object Array]' && value !== null && typeof value === 'object' && typeof value.length === 'number' && value.length >= 0 && toStr.call(value.callee) === '[object Function]';\n }\n\n return isArgs;\n};","'use strict';\n\nvar slice = Array.prototype.slice;\n\nvar isArgs = require('./isArguments');\n\nvar origKeys = Object.keys;\nvar keysShim = origKeys ? function keys(o) {\n return origKeys(o);\n} : require('./implementation');\nvar originalKeys = Object.keys;\n\nkeysShim.shim = function shimObjectKeys() {\n if (Object.keys) {\n var keysWorksWithArguments = function () {\n // Safari 5.0 bug\n var args = Object.keys(arguments);\n return args && args.length === arguments.length;\n }(1, 2);\n\n if (!keysWorksWithArguments) {\n Object.keys = function keys(object) {\n // eslint-disable-line func-name-matching\n if (isArgs(object)) {\n return originalKeys(slice.call(object));\n }\n\n return originalKeys(object);\n };\n }\n } else {\n Object.keys = keysShim;\n }\n\n return Object.keys || keysShim;\n};\n\nmodule.exports = keysShim;","'use strict';\n\nvar numberIsNaN = function numberIsNaN(value) {\n return value !== value;\n};\n\nmodule.exports = function is(a, b) {\n if (a === 0 && b === 0) {\n return 1 / a === 1 / b;\n }\n\n if (a === b) {\n return true;\n }\n\n if (numberIsNaN(a) && numberIsNaN(b)) {\n return true;\n }\n\n return false;\n};","'use strict';\n\nvar callBound = require('call-bind/callBound');\n\nvar hasToStringTag = require('has-tostringtag/shams')();\n\nvar has;\nvar $exec;\nvar isRegexMarker;\nvar badStringifier;\n\nif (hasToStringTag) {\n has = callBound('Object.prototype.hasOwnProperty');\n $exec = callBound('RegExp.prototype.exec');\n isRegexMarker = {};\n\n var throwRegexMarker = function throwRegexMarker() {\n throw isRegexMarker;\n };\n\n badStringifier = {\n toString: throwRegexMarker,\n valueOf: throwRegexMarker\n };\n\n if (typeof Symbol.toPrimitive === 'symbol') {\n badStringifier[Symbol.toPrimitive] = throwRegexMarker;\n }\n}\n\nvar $toString = callBound('Object.prototype.toString');\nvar gOPD = Object.getOwnPropertyDescriptor;\nvar regexClass = '[object RegExp]';\nmodule.exports = hasToStringTag // eslint-disable-next-line consistent-return\n? function isRegex(value) {\n if (!value || typeof value !== 'object') {\n return false;\n }\n\n var descriptor = gOPD(value, 'lastIndex');\n var hasLastIndexDataProperty = descriptor && has(descriptor, 'value');\n\n if (!hasLastIndexDataProperty) {\n return false;\n }\n\n try {\n $exec(value, badStringifier);\n } catch (e) {\n return e === isRegexMarker;\n }\n} : function isRegex(value) {\n // In older browsers, typeof regex incorrectly returns 'function'\n if (!value || typeof value !== 'object' && typeof value !== 'function') {\n return false;\n }\n\n return $toString(value) === regexClass;\n};","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n/**\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\nvar __DEV__ = process.env.NODE_ENV !== 'production';\n\nvar warning = function() {};\n\nif (__DEV__) {\n var printWarning = function printWarning(format, args) {\n var len = arguments.length;\n args = new Array(len > 1 ? len - 1 : 0);\n for (var key = 1; key < len; key++) {\n args[key - 1] = arguments[key];\n }\n var argIndex = 0;\n var message = 'Warning: ' +\n format.replace(/%s/g, function() {\n return args[argIndex++];\n });\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n }\n\n warning = function(condition, format, args) {\n var len = arguments.length;\n args = new Array(len > 2 ? len - 2 : 0);\n for (var key = 2; key < len; key++) {\n args[key - 2] = arguments[key];\n }\n if (format === undefined) {\n throw new Error(\n '`warning(condition, format, ...args)` requires a warning ' +\n 'message argument'\n );\n }\n if (!condition) {\n printWarning.apply(null, [format].concat(args));\n }\n };\n}\n\nmodule.exports = warning;\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es/no-object-keys -- safe\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","var toString = require('../internals/to-string');\n\nmodule.exports = function (argument, $default) {\n return argument === undefined ? arguments.length < 2 ? '' : $default : toString(argument);\n};\n","'use strict';\n\nvar hasToStringTag = require('has-tostringtag/shams')();\n\nvar callBound = require('call-bind/callBound');\n\nvar $toString = callBound('Object.prototype.toString');\n\nvar isStandardArguments = function isArguments(value) {\n if (hasToStringTag && value && typeof value === 'object' && Symbol.toStringTag in value) {\n return false;\n }\n\n return $toString(value) === '[object Arguments]';\n};\n\nvar isLegacyArguments = function isArguments(value) {\n if (isStandardArguments(value)) {\n return true;\n }\n\n return value !== null && typeof value === 'object' && typeof value.length === 'number' && value.length >= 0 && $toString(value) !== '[object Array]' && $toString(value.callee) === '[object Function]';\n};\n\nvar supportsStandardArguments = function () {\n return isStandardArguments(arguments);\n}();\n\nisStandardArguments.isLegacyArguments = isLegacyArguments; // for tests\n\nmodule.exports = supportsStandardArguments ? isStandardArguments : isLegacyArguments;","'use strict';\n\nvar define = require('define-properties');\n\nvar callBind = require('call-bind');\n\nvar implementation = require('./implementation');\n\nvar getPolyfill = require('./polyfill');\n\nvar shim = require('./shim');\n\nvar flagsBound = callBind(implementation);\ndefine(flagsBound, {\n getPolyfill: getPolyfill,\n implementation: implementation,\n shim: shim\n});\nmodule.exports = flagsBound;","// TODO: Remove from `core-js@4`\nrequire('../modules/es.aggregate-error');\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport styled from 'styled-components';\nimport { media } from 'theme/breakpoints';\nimport { Link } from 'gatsby';\n\nconst Adnotations = styled.div`\n ${media.tablet} {\n margin-top: 56px;\n }\n ${media.mobile} {\n margin-top: 32px;\n }\n p {\n color: ${(props) => (props.pricing ? '#fff' : '#000')};\n font-size: 20px;\n font-weight: 500;\n ${media.tablet} {\n margin-bottom: 24px;\n font-size: 18px;\n line-height: 32px;\n }\n }\n a {\n color: ${(props) => (props.pricing ? '#7DFFEF' : '#0a4ed6')};\n text-decoration: none;\n display: inline-block;\n font-weight: 800;\n margin-right: 58px;\n font-size: 22px;\n ${media.desktopWide} {\n margin-right: 20px;\n }\n ${media.tablet} {\n margin-right: 0;\n }\n &:hover {\n color: ${(props) => (props.pricing ? '#7DFFEF' : '#0a4ed6')};\n text-decoration: underline;\n }\n }\n`;\n\nexport const ChatWithUs = styled.button`\n color: ${(props) => (props.pricing ? '#7DFFEF' : '#0a4ed6')};\n border: none;\n background-color: transparent;\n padding: 0;\n font-weight: 800;\n font-size: 20px;\n margin-top: 16px;\n &:hover {\n text-decoration: underline;\n }\n ${media.tablet} {\n display: block;\n margin: 24px auto 0;\n }\n ${media.mobile} {\n margin: 24px 0 0;\n }\n`;\n\nconst ContactWithUs = ({ mail, pricing }) => {\n const openChat = (e) => {\n e.preventDefault();\n /*eslint-disable */\n Intercom('show');\n /* eslint-enable */\n };\n return (\n Contact us: {item.name}
\n * Prefer `scheduleUpdate` over `update` because of performance reasons.\n * @method\n * @memberof Popper\n */\n\n\nfunction update() {\n // if popper is destroyed, don't perform any further update\n if (this.state.isDestroyed) {\n return;\n }\n\n var data = {\n instance: this,\n styles: {},\n arrowStyles: {},\n attributes: {},\n flipped: false,\n offsets: {}\n }; // compute reference element offsets\n\n data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference, this.options.positionFixed); // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n\n data.placement = computeAutoPlacement(this.options.placement, data.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding); // store the computed placement inside `originalPlacement`\n\n data.originalPlacement = data.placement;\n data.positionFixed = this.options.positionFixed; // compute the popper offsets\n\n data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement);\n data.offsets.popper.position = this.options.positionFixed ? 'fixed' : 'absolute'; // run the modifiers\n\n data = runModifiers(this.modifiers, data); // the first `update` will call `onCreate` callback\n // the other ones will call `onUpdate` callback\n\n if (!this.state.isCreated) {\n this.state.isCreated = true;\n this.options.onCreate(data);\n } else {\n this.options.onUpdate(data);\n }\n}\n/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\n\n\nfunction isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(function (_ref) {\n var name = _ref.name,\n enabled = _ref.enabled;\n return enabled && name === modifierName;\n });\n}\n/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\n\n\nfunction getSupportedPropertyName(property) {\n var prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n var upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (var i = 0; i < prefixes.length; i++) {\n var prefix = prefixes[i];\n var toCheck = prefix ? '' + prefix + upperProp : property;\n\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n\n return null;\n}\n/**\n * Destroys the popper.\n * @method\n * @memberof Popper\n */\n\n\nfunction destroy() {\n this.state.isDestroyed = true; // touch DOM only if `applyStyle` modifier is enabled\n\n if (isModifierEnabled(this.modifiers, 'applyStyle')) {\n this.popper.removeAttribute('x-placement');\n this.popper.style.position = '';\n this.popper.style.top = '';\n this.popper.style.left = '';\n this.popper.style.right = '';\n this.popper.style.bottom = '';\n this.popper.style.willChange = '';\n this.popper.style[getSupportedPropertyName('transform')] = '';\n }\n\n this.disableEventListeners(); // remove the popper if user explicitly asked for the deletion on destroy\n // do not use `remove` because IE11 doesn't support it\n\n if (this.options.removeOnDestroy) {\n this.popper.parentNode.removeChild(this.popper);\n }\n\n return this;\n}\n/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\n\n\nfunction getWindow(element) {\n var ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n}\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n var isBody = scrollParent.nodeName === 'BODY';\n var target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, {\n passive: true\n });\n\n if (!isBody) {\n attachToScrollParents(getScrollParent(target.parentNode), event, callback, scrollParents);\n }\n\n scrollParents.push(target);\n}\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\n\n\nfunction setupEventListeners(reference, options, state, updateBound) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, {\n passive: true\n }); // Scroll event listener on scroll parents\n\n var scrollElement = getScrollParent(reference);\n attachToScrollParents(scrollElement, 'scroll', state.updateBound, state.scrollParents);\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n return state;\n}\n/**\n * It will add resize/scroll events and start recalculating\n * position of the popper element when they are triggered.\n * @method\n * @memberof Popper\n */\n\n\nfunction enableEventListeners() {\n if (!this.state.eventsEnabled) {\n this.state = setupEventListeners(this.reference, this.options, this.state, this.scheduleUpdate);\n }\n}\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\n\n\nfunction removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound); // Remove scroll event listener on scroll parents\n\n state.scrollParents.forEach(function (target) {\n target.removeEventListener('scroll', state.updateBound);\n }); // Reset state\n\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n/**\n * It will remove resize/scroll events and won't recalculate popper position\n * when they are triggered. It also won't trigger `onUpdate` callback anymore,\n * unless you call `update` method manually.\n * @method\n * @memberof Popper\n */\n\n\nfunction disableEventListeners() {\n if (this.state.eventsEnabled) {\n cancelAnimationFrame(this.scheduleUpdate);\n this.state = removeEventListeners(this.reference, this.state);\n }\n}\n/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\n\n\nfunction isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\n\n\nfunction setStyles(element, styles) {\n Object.keys(styles).forEach(function (prop) {\n var unit = ''; // add unit if the value is numeric and is one of the following\n\n if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && isNumeric(styles[prop])) {\n unit = 'px';\n }\n\n element.style[prop] = styles[prop] + unit;\n });\n}\n/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\n\n\nfunction setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function (prop) {\n var value = attributes[prop];\n\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} data.styles - List of style properties - values to apply to popper element\n * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The same data object\n */\n\n\nfunction applyStyle(data) {\n // any property present in `data.styles` will be applied to the popper,\n // in this way we can make the 3rd party modifiers add custom styles to it\n // Be aware, modifiers could override the properties defined in the previous\n // lines of this modifier!\n setStyles(data.instance.popper, data.styles); // any property present in `data.attributes` will be applied to the popper,\n // they will be set as HTML attributes of the element\n\n setAttributes(data.instance.popper, data.attributes); // if arrowElement is defined and arrowStyles has some properties\n\n if (data.arrowElement && Object.keys(data.arrowStyles).length) {\n setStyles(data.arrowElement, data.arrowStyles);\n }\n\n return data;\n}\n/**\n * Set the x-placement attribute before everything else because it could be used\n * to add margins to the popper margins needs to be calculated to get the\n * correct popper offsets.\n * @method\n * @memberof Popper.modifiers\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper\n * @param {Object} options - Popper.js options\n */\n\n\nfunction applyStyleOnLoad(reference, popper, options, modifierOptions, state) {\n // compute reference element offsets\n var referenceOffsets = getReferenceOffsets(state, popper, reference, options.positionFixed); // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n\n var placement = computeAutoPlacement(options.placement, referenceOffsets, popper, reference, options.modifiers.flip.boundariesElement, options.modifiers.flip.padding);\n popper.setAttribute('x-placement', placement); // Apply `position` to popper before anything else because\n // without the position applied we can't guarantee correct computations\n\n setStyles(popper, {\n position: options.positionFixed ? 'fixed' : 'absolute'\n });\n return options;\n}\n/**\n * @function\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Boolean} shouldRound - If the offsets should be rounded at all\n * @returns {Object} The popper's position offsets rounded\n *\n * The tale of pixel-perfect positioning. It's still not 100% perfect, but as\n * good as it can be within reason.\n * Discussion here: https://github.com/FezVrasta/popper.js/pull/715\n *\n * Low DPI screens cause a popper to be blurry if not using full pixels (Safari\n * as well on High DPI screens).\n *\n * Firefox prefers no rounding for positioning and does not have blurriness on\n * high DPI screens.\n *\n * Only horizontal placement and left/right values need to be considered.\n */\n\n\nfunction getRoundedOffsets(data, shouldRound) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n var round = Math.round,\n floor = Math.floor;\n\n var noRound = function noRound(v) {\n return v;\n };\n\n var referenceWidth = round(reference.width);\n var popperWidth = round(popper.width);\n var isVertical = ['left', 'right'].indexOf(data.placement) !== -1;\n var isVariation = data.placement.indexOf('-') !== -1;\n var sameWidthParity = referenceWidth % 2 === popperWidth % 2;\n var bothOddWidth = referenceWidth % 2 === 1 && popperWidth % 2 === 1;\n var horizontalToInteger = !shouldRound ? noRound : isVertical || isVariation || sameWidthParity ? round : floor;\n var verticalToInteger = !shouldRound ? noRound : round;\n return {\n left: horizontalToInteger(bothOddWidth && !isVariation && shouldRound ? popper.left - 1 : popper.left),\n top: verticalToInteger(popper.top),\n bottom: verticalToInteger(popper.bottom),\n right: horizontalToInteger(popper.right)\n };\n}\n\nvar isFirefox = isBrowser && /Firefox/i.test(navigator.userAgent);\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\n\nfunction computeStyle(data, options) {\n var x = options.x,\n y = options.y;\n var popper = data.offsets.popper; // Remove this legacy support in Popper.js v2\n\n var legacyGpuAccelerationOption = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'applyStyle';\n }).gpuAcceleration;\n\n if (legacyGpuAccelerationOption !== undefined) {\n console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');\n }\n\n var gpuAcceleration = legacyGpuAccelerationOption !== undefined ? legacyGpuAccelerationOption : options.gpuAcceleration;\n var offsetParent = getOffsetParent(data.instance.popper);\n var offsetParentRect = getBoundingClientRect(offsetParent); // Styles\n\n var styles = {\n position: popper.position\n };\n var offsets = getRoundedOffsets(data, window.devicePixelRatio < 2 || !isFirefox);\n var sideA = x === 'bottom' ? 'top' : 'bottom';\n var sideB = y === 'right' ? 'left' : 'right'; // if gpuAcceleration is set to `true` and transform is supported,\n // we use `translate3d` to apply the position to the popper we\n // automatically use the supported prefixed version if needed\n\n var prefixedProperty = getSupportedPropertyName('transform'); // now, let's make a step back and look at this code closely (wtf?)\n // If the content of the popper grows once it's been positioned, it\n // may happen that the popper gets misplaced because of the new content\n // overflowing its reference element\n // To avoid this problem, we provide two options (x and y), which allow\n // the consumer to define the offset origin.\n // If we position a popper on top of a reference element, we can set\n // `x` to `top` to make the popper grow towards its top instead of\n // its bottom.\n\n var left = void 0,\n top = void 0;\n\n if (sideA === 'bottom') {\n // when offsetParent is the positioning is relative to the bottom of the screen (excluding the scrollbar)\n // and not the bottom of the html element\n if (offsetParent.nodeName === 'HTML') {\n top = -offsetParent.clientHeight + offsets.bottom;\n } else {\n top = -offsetParentRect.height + offsets.bottom;\n }\n } else {\n top = offsets.top;\n }\n\n if (sideB === 'right') {\n if (offsetParent.nodeName === 'HTML') {\n left = -offsetParent.clientWidth + offsets.right;\n } else {\n left = -offsetParentRect.width + offsets.right;\n }\n } else {\n left = offsets.left;\n }\n\n if (gpuAcceleration && prefixedProperty) {\n styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)';\n styles[sideA] = 0;\n styles[sideB] = 0;\n styles.willChange = 'transform';\n } else {\n // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties\n var invertTop = sideA === 'bottom' ? -1 : 1;\n var invertLeft = sideB === 'right' ? -1 : 1;\n styles[sideA] = top * invertTop;\n styles[sideB] = left * invertLeft;\n styles.willChange = sideA + ', ' + sideB;\n } // Attributes\n\n\n var attributes = {\n 'x-placement': data.placement\n }; // Update `data` attributes, styles and arrowStyles\n\n data.attributes = _extends({}, attributes, data.attributes);\n data.styles = _extends({}, styles, data.styles);\n data.arrowStyles = _extends({}, data.offsets.arrow, data.arrowStyles);\n return data;\n}\n/**\n * Helper used to know if the given modifier depends from another one.
\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\n\n\nfunction isModifierRequired(modifiers, requestingName, requestedName) {\n var requesting = find(modifiers, function (_ref) {\n var name = _ref.name;\n return name === requestingName;\n });\n var isRequired = !!requesting && modifiers.some(function (modifier) {\n return modifier.name === requestedName && modifier.enabled && modifier.order < requesting.order;\n });\n\n if (!isRequired) {\n var _requesting = '`' + requestingName + '`';\n\n var requested = '`' + requestedName + '`';\n console.warn(requested + ' modifier is required by ' + _requesting + ' modifier in order to work, be sure to include it before ' + _requesting + '!');\n }\n\n return isRequired;\n}\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\n\n\nfunction arrow(data, options) {\n var _data$offsets$arrow; // arrow depends on keepTogether in order to work\n\n\n if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {\n return data;\n }\n\n var arrowElement = options.element; // if arrowElement is a string, suppose it's a CSS selector\n\n if (typeof arrowElement === 'string') {\n arrowElement = data.instance.popper.querySelector(arrowElement); // if arrowElement is not found, don't run the modifier\n\n if (!arrowElement) {\n return data;\n }\n } else {\n // if the arrowElement isn't a query selector we must check that the\n // provided DOM node is child of its popper node\n if (!data.instance.popper.contains(arrowElement)) {\n console.warn('WARNING: `arrow.element` must be child of its popper element!');\n return data;\n }\n }\n\n var placement = data.placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n var isVertical = ['left', 'right'].indexOf(placement) !== -1;\n var len = isVertical ? 'height' : 'width';\n var sideCapitalized = isVertical ? 'Top' : 'Left';\n var side = sideCapitalized.toLowerCase();\n var altSide = isVertical ? 'left' : 'top';\n var opSide = isVertical ? 'bottom' : 'right';\n var arrowElementSize = getOuterSizes(arrowElement)[len]; //\n // extends keepTogether behavior making sure the popper and its\n // reference have enough pixels in conjunction\n //\n // top/left side\n\n if (reference[opSide] - arrowElementSize < popper[side]) {\n data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize);\n } // bottom/right side\n\n\n if (reference[side] + arrowElementSize > popper[opSide]) {\n data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide];\n }\n\n data.offsets.popper = getClientRect(data.offsets.popper); // compute center of the popper\n\n var center = reference[side] + reference[len] / 2 - arrowElementSize / 2; // Compute the sideValue using the updated popper offsets\n // take popper margin in account because we don't have this info available\n\n var css = getStyleComputedProperty(data.instance.popper);\n var popperMarginSide = parseFloat(css['margin' + sideCapitalized]);\n var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width']);\n var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide; // prevent arrowElement from being placed not contiguously to its popper\n\n sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);\n data.arrowElement = arrowElement;\n data.offsets.arrow = (_data$offsets$arrow = {}, defineProperty(_data$offsets$arrow, side, Math.round(sideValue)), defineProperty(_data$offsets$arrow, altSide, ''), _data$offsets$arrow);\n return data;\n}\n/**\n * Get the opposite placement variation of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement variation\n * @returns {String} flipped placement variation\n */\n\n\nfunction getOppositeVariation(variation) {\n if (variation === 'end') {\n return 'start';\n } else if (variation === 'start') {\n return 'end';\n }\n\n return variation;\n}\n/**\n * List of accepted placements to use as values of the `placement` option.
\n * Valid placements are:\n * - `auto`\n * - `top`\n * - `right`\n * - `bottom`\n * - `left`\n *\n * Each placement can have a variation from this list:\n * - `-start`\n * - `-end`\n *\n * Variations are interpreted easily if you think of them as the left to right\n * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`\n * is right.
\n * Vertically (`left` and `right`), `start` is top and `end` is bottom.\n *\n * Some valid examples are:\n * - `top-end` (on top of reference, right aligned)\n * - `right-start` (on right of reference, top aligned)\n * - `bottom` (on bottom, centered)\n * - `auto-end` (on the side with more space available, alignment depends by placement)\n *\n * @static\n * @type {Array}\n * @enum {String}\n * @readonly\n * @method placements\n * @memberof Popper\n */\n\n\nvar placements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start']; // Get rid of `auto` `auto-start` and `auto-end`\n\nvar validPlacements = placements.slice(3);\n/**\n * Given an initial placement, returns all the subsequent placements\n * clockwise (or counter-clockwise).\n *\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement - A valid placement (it accepts variations)\n * @argument {Boolean} counter - Set to true to walk the placements counterclockwise\n * @returns {Array} placements including their variations\n */\n\nfunction clockwise(placement) {\n var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var index = validPlacements.indexOf(placement);\n var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index));\n return counter ? arr.reverse() : arr;\n}\n\nvar BEHAVIORS = {\n FLIP: 'flip',\n CLOCKWISE: 'clockwise',\n COUNTERCLOCKWISE: 'counterclockwise'\n};\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\n\nfunction flip(data, options) {\n // if `inner` modifier is enabled, we can't use the `flip` modifier\n if (isModifierEnabled(data.instance.modifiers, 'inner')) {\n return data;\n }\n\n if (data.flipped && data.placement === data.originalPlacement) {\n // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n return data;\n }\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement, data.positionFixed);\n var placement = data.placement.split('-')[0];\n var placementOpposite = getOppositePlacement(placement);\n var variation = data.placement.split('-')[1] || '';\n var flipOrder = [];\n\n switch (options.behavior) {\n case BEHAVIORS.FLIP:\n flipOrder = [placement, placementOpposite];\n break;\n\n case BEHAVIORS.CLOCKWISE:\n flipOrder = clockwise(placement);\n break;\n\n case BEHAVIORS.COUNTERCLOCKWISE:\n flipOrder = clockwise(placement, true);\n break;\n\n default:\n flipOrder = options.behavior;\n }\n\n flipOrder.forEach(function (step, index) {\n if (placement !== step || flipOrder.length === index + 1) {\n return data;\n }\n\n placement = data.placement.split('-')[0];\n placementOpposite = getOppositePlacement(placement);\n var popperOffsets = data.offsets.popper;\n var refOffsets = data.offsets.reference; // using floor because the reference offsets may contain decimals we are not going to consider here\n\n var floor = Math.floor;\n var overlapsRef = placement === 'left' && floor(popperOffsets.right) > floor(refOffsets.left) || placement === 'right' && floor(popperOffsets.left) < floor(refOffsets.right) || placement === 'top' && floor(popperOffsets.bottom) > floor(refOffsets.top) || placement === 'bottom' && floor(popperOffsets.top) < floor(refOffsets.bottom);\n var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);\n var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);\n var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);\n var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom);\n var overflowsBoundaries = placement === 'left' && overflowsLeft || placement === 'right' && overflowsRight || placement === 'top' && overflowsTop || placement === 'bottom' && overflowsBottom; // flip the variation if required\n\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1; // flips variation if reference element overflows boundaries\n\n var flippedVariationByRef = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom); // flips variation if popper content overflows boundaries\n\n var flippedVariationByContent = !!options.flipVariationsByContent && (isVertical && variation === 'start' && overflowsRight || isVertical && variation === 'end' && overflowsLeft || !isVertical && variation === 'start' && overflowsBottom || !isVertical && variation === 'end' && overflowsTop);\n var flippedVariation = flippedVariationByRef || flippedVariationByContent;\n\n if (overlapsRef || overflowsBoundaries || flippedVariation) {\n // this boolean to detect any flip loop\n data.flipped = true;\n\n if (overlapsRef || overflowsBoundaries) {\n placement = flipOrder[index + 1];\n }\n\n if (flippedVariation) {\n variation = getOppositeVariation(variation);\n }\n\n data.placement = placement + (variation ? '-' + variation : ''); // this object contains `position`, we want to preserve it along with\n // any additional property we may add in the future\n\n data.offsets.popper = _extends({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement));\n data = runModifiers(data.instance.modifiers, data, 'flip');\n }\n });\n return data;\n}\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\n\n\nfunction keepTogether(data) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n var placement = data.placement.split('-')[0];\n var floor = Math.floor;\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var side = isVertical ? 'right' : 'bottom';\n var opSide = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n if (popper[side] < floor(reference[opSide])) {\n data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement];\n }\n\n if (popper[opSide] > floor(reference[side])) {\n data.offsets.popper[opSide] = floor(reference[side]);\n }\n\n return data;\n}\n/**\n * Converts a string containing value + unit into a px value number\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} str - Value + unit string\n * @argument {String} measurement - `height` or `width`\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @returns {Number|String}\n * Value in pixels, or original string if no values were extracted\n */\n\n\nfunction toValue(str, measurement, popperOffsets, referenceOffsets) {\n // separate value from unit\n var split = str.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/);\n var value = +split[1];\n var unit = split[2]; // If it's not a number it's an operator, I guess\n\n if (!value) {\n return str;\n }\n\n if (unit.indexOf('%') === 0) {\n var element = void 0;\n\n switch (unit) {\n case '%p':\n element = popperOffsets;\n break;\n\n case '%':\n case '%r':\n default:\n element = referenceOffsets;\n }\n\n var rect = getClientRect(element);\n return rect[measurement] / 100 * value;\n } else if (unit === 'vh' || unit === 'vw') {\n // if is a vh or vw, we calculate the size based on the viewport\n var size = void 0;\n\n if (unit === 'vh') {\n size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);\n } else {\n size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\n }\n\n return size / 100 * value;\n } else {\n // if is an explicit pixel unit, we get rid of the unit and keep the value\n // if is an implicit unit, it's px, and we return just the value\n return value;\n }\n}\n/**\n * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} offset\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @argument {String} basePlacement\n * @returns {Array} a two cells array with x and y offsets in numbers\n */\n\n\nfunction parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) {\n var offsets = [0, 0]; // Use height if placement is left or right and index is 0 otherwise use width\n // in this way the first offset will use an axis and the second one\n // will use the other one\n\n var useHeight = ['right', 'left'].indexOf(basePlacement) !== -1; // Split the offset string to obtain a list of values and operands\n // The regex addresses values with the plus or minus sign in front (+10, -20, etc)\n\n var fragments = offset.split(/(\\+|\\-)/).map(function (frag) {\n return frag.trim();\n }); // Detect if the offset string contains a pair of values or a single one\n // they could be separated by comma or space\n\n var divider = fragments.indexOf(find(fragments, function (frag) {\n return frag.search(/,|\\s/) !== -1;\n }));\n\n if (fragments[divider] && fragments[divider].indexOf(',') === -1) {\n console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');\n } // If divider is found, we divide the list of values and operands to divide\n // them by ofset X and Y.\n\n\n var splitRegex = /\\s*,\\s*|\\s+/;\n var ops = divider !== -1 ? [fragments.slice(0, divider).concat([fragments[divider].split(splitRegex)[0]]), [fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider + 1))] : [fragments]; // Convert the values with units to absolute pixels to allow our computations\n\n ops = ops.map(function (op, index) {\n // Most of the units rely on the orientation of the popper\n var measurement = (index === 1 ? !useHeight : useHeight) ? 'height' : 'width';\n var mergeWithPrevious = false;\n return op // This aggregates any `+` or `-` sign that aren't considered operators\n // e.g.: 10 + +5 => [10, +, +5]\n .reduce(function (a, b) {\n if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {\n a[a.length - 1] = b;\n mergeWithPrevious = true;\n return a;\n } else if (mergeWithPrevious) {\n a[a.length - 1] += b;\n mergeWithPrevious = false;\n return a;\n } else {\n return a.concat(b);\n }\n }, []) // Here we convert the string values into number values (in px)\n .map(function (str) {\n return toValue(str, measurement, popperOffsets, referenceOffsets);\n });\n }); // Loop trough the offsets arrays and execute the operations\n\n ops.forEach(function (op, index) {\n op.forEach(function (frag, index2) {\n if (isNumeric(frag)) {\n offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);\n }\n });\n });\n return offsets;\n}\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @argument {Number|String} options.offset=0\n * The offset value as described in the modifier description\n * @returns {Object} The data object, properly modified\n */\n\n\nfunction offset(data, _ref) {\n var offset = _ref.offset;\n var placement = data.placement,\n _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n var basePlacement = placement.split('-')[0];\n var offsets = void 0;\n\n if (isNumeric(+offset)) {\n offsets = [+offset, 0];\n } else {\n offsets = parseOffset(offset, popper, reference, basePlacement);\n }\n\n if (basePlacement === 'left') {\n popper.top += offsets[0];\n popper.left -= offsets[1];\n } else if (basePlacement === 'right') {\n popper.top += offsets[0];\n popper.left += offsets[1];\n } else if (basePlacement === 'top') {\n popper.left += offsets[0];\n popper.top -= offsets[1];\n } else if (basePlacement === 'bottom') {\n popper.left += offsets[0];\n popper.top += offsets[1];\n }\n\n data.popper = popper;\n return data;\n}\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\n\n\nfunction preventOverflow(data, options) {\n var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper); // If offsetParent is the reference element, we really want to\n // go one step up and use the next offsetParent as reference to\n // avoid to make this modifier completely useless and look like broken\n\n if (data.instance.reference === boundariesElement) {\n boundariesElement = getOffsetParent(boundariesElement);\n } // NOTE: DOM access here\n // resets the popper's position so that the document size can be calculated excluding\n // the size of the popper element itself\n\n\n var transformProp = getSupportedPropertyName('transform');\n var popperStyles = data.instance.popper.style; // assignment to help minification\n\n var top = popperStyles.top,\n left = popperStyles.left,\n transform = popperStyles[transformProp];\n popperStyles.top = '';\n popperStyles.left = '';\n popperStyles[transformProp] = '';\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement, data.positionFixed); // NOTE: DOM access here\n // restores the original style properties after the offsets have been computed\n\n popperStyles.top = top;\n popperStyles.left = left;\n popperStyles[transformProp] = transform;\n options.boundaries = boundaries;\n var order = options.priority;\n var popper = data.offsets.popper;\n var check = {\n primary: function primary(placement) {\n var value = popper[placement];\n\n if (popper[placement] < boundaries[placement] && !options.escapeWithReference) {\n value = Math.max(popper[placement], boundaries[placement]);\n }\n\n return defineProperty({}, placement, value);\n },\n secondary: function secondary(placement) {\n var mainSide = placement === 'right' ? 'left' : 'top';\n var value = popper[mainSide];\n\n if (popper[placement] > boundaries[placement] && !options.escapeWithReference) {\n value = Math.min(popper[mainSide], boundaries[placement] - (placement === 'right' ? popper.width : popper.height));\n }\n\n return defineProperty({}, mainSide, value);\n }\n };\n order.forEach(function (placement) {\n var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';\n popper = _extends({}, popper, check[side](placement));\n });\n data.offsets.popper = popper;\n return data;\n}\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\n\n\nfunction shift(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var shiftvariation = placement.split('-')[1]; // if shift shiftvariation is specified, run the modifier\n\n if (shiftvariation) {\n var _data$offsets = data.offsets,\n reference = _data$offsets.reference,\n popper = _data$offsets.popper;\n var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\n var side = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n var shiftOffsets = {\n start: defineProperty({}, side, reference[side]),\n end: defineProperty({}, side, reference[side] + reference[measurement] - popper[measurement])\n };\n data.offsets.popper = _extends({}, popper, shiftOffsets[shiftvariation]);\n }\n\n return data;\n}\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\n\n\nfunction hide(data) {\n if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {\n return data;\n }\n\n var refRect = data.offsets.reference;\n var bound = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'preventOverflow';\n }).boundaries;\n\n if (refRect.bottom < bound.top || refRect.left > bound.right || refRect.top > bound.bottom || refRect.right < bound.left) {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === true) {\n return data;\n }\n\n data.hide = true;\n data.attributes['x-out-of-boundaries'] = '';\n } else {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === false) {\n return data;\n }\n\n data.hide = false;\n data.attributes['x-out-of-boundaries'] = false;\n }\n\n return data;\n}\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\n\n\nfunction inner(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n var isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;\n var subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;\n popper[isHoriz ? 'left' : 'top'] = reference[basePlacement] - (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);\n data.placement = getOppositePlacement(placement);\n data.offsets.popper = getClientRect(popper);\n return data;\n}\n/**\n * Modifier function, each modifier can have a function of this type assigned\n * to its `fn` property.
\n * These functions will be called on each update, this means that you must\n * make sure they are performant enough to avoid performance bottlenecks.\n *\n * @function ModifierFn\n * @argument {dataObject} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {dataObject} The data object, properly modified\n */\n\n/**\n * Modifiers are plugins used to alter the behavior of your poppers.
\n * Popper.js uses a set of 9 modifiers to provide all the basic functionalities\n * needed by the library.\n *\n * Usually you don't want to override the `order`, `fn` and `onLoad` props.\n * All the other properties are configurations that could be tweaked.\n * @namespace modifiers\n */\n\n\nvar modifiers = {\n /**\n * Modifier used to shift the popper on the start or end of its reference\n * element.
\n * It will read the variation of the `placement` property.
\n * It can be one either `-end` or `-start`.\n * @memberof modifiers\n * @inner\n */\n shift: {\n /** @prop {number} order=100 - Index used to define the order of execution */\n order: 100,\n\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n\n /** @prop {ModifierFn} */\n fn: shift\n },\n\n /**\n * The `offset` modifier can shift your popper on both its axis.\n *\n * It accepts the following units:\n * - `px` or unit-less, interpreted as pixels\n * - `%` or `%r`, percentage relative to the length of the reference element\n * - `%p`, percentage relative to the length of the popper element\n * - `vw`, CSS viewport width unit\n * - `vh`, CSS viewport height unit\n *\n * For length is intended the main axis relative to the placement of the popper.
\n * This means that if the placement is `top` or `bottom`, the length will be the\n * `width`. In case of `left` or `right`, it will be the `height`.\n *\n * You can provide a single value (as `Number` or `String`), or a pair of values\n * as `String` divided by a comma or one (or more) white spaces.
\n * The latter is a deprecated method because it leads to confusion and will be\n * removed in v2.
\n * Additionally, it accepts additions and subtractions between different units.\n * Note that multiplications and divisions aren't supported.\n *\n * Valid examples are:\n * ```\n * 10\n * '10%'\n * '10, 10'\n * '10%, 10'\n * '10 + 10%'\n * '10 - 5vh + 3%'\n * '-10px + 5vh, 5px - 6%'\n * ```\n * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap\n * > with their reference element, unfortunately, you will have to disable the `flip` modifier.\n * > You can read more on this at this [issue](https://github.com/FezVrasta/popper.js/issues/373).\n *\n * @memberof modifiers\n * @inner\n */\n offset: {\n /** @prop {number} order=200 - Index used to define the order of execution */\n order: 200,\n\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n\n /** @prop {ModifierFn} */\n fn: offset,\n\n /** @prop {Number|String} offset=0\n * The offset value as described in the modifier description\n */\n offset: 0\n },\n\n /**\n * Modifier used to prevent the popper from being positioned outside the boundary.\n *\n * A scenario exists where the reference itself is not within the boundaries.
\n * We can say it has \"escaped the boundaries\" — or just \"escaped\".
\n * In this case we need to decide whether the popper should either:\n *\n * - detach from the reference and remain \"trapped\" in the boundaries, or\n * - if it should ignore the boundary and \"escape with its reference\"\n *\n * When `escapeWithReference` is set to`true` and reference is completely\n * outside its boundaries, the popper will overflow (or completely leave)\n * the boundaries in order to remain attached to the edge of the reference.\n *\n * @memberof modifiers\n * @inner\n */\n preventOverflow: {\n /** @prop {number} order=300 - Index used to define the order of execution */\n order: 300,\n\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n\n /** @prop {ModifierFn} */\n fn: preventOverflow,\n\n /**\n * @prop {Array} [priority=['left','right','top','bottom']]\n * Popper will try to prevent overflow following these priorities by default,\n * then, it could overflow on the left and on top of the `boundariesElement`\n */\n priority: ['left', 'right', 'top', 'bottom'],\n\n /**\n * @prop {number} padding=5\n * Amount of pixel used to define a minimum distance between the boundaries\n * and the popper. This makes sure the popper always has a little padding\n * between the edges of its container\n */\n padding: 5,\n\n /**\n * @prop {String|HTMLElement} boundariesElement='scrollParent'\n * Boundaries used by the modifier. Can be `scrollParent`, `window`,\n * `viewport` or any DOM element.\n */\n boundariesElement: 'scrollParent'\n },\n\n /**\n * Modifier used to make sure the reference and its popper stay near each other\n * without leaving any gap between the two. Especially useful when the arrow is\n * enabled and you want to ensure that it points to its reference element.\n * It cares only about the first axis. You can still have poppers with margin\n * between the popper and its reference element.\n * @memberof modifiers\n * @inner\n */\n keepTogether: {\n /** @prop {number} order=400 - Index used to define the order of execution */\n order: 400,\n\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n\n /** @prop {ModifierFn} */\n fn: keepTogether\n },\n\n /**\n * This modifier is used to move the `arrowElement` of the popper to make\n * sure it is positioned between the reference element and its popper element.\n * It will read the outer size of the `arrowElement` node to detect how many\n * pixels of conjunction are needed.\n *\n * It has no effect if no `arrowElement` is provided.\n * @memberof modifiers\n * @inner\n */\n arrow: {\n /** @prop {number} order=500 - Index used to define the order of execution */\n order: 500,\n\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n\n /** @prop {ModifierFn} */\n fn: arrow,\n\n /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */\n element: '[x-arrow]'\n },\n\n /**\n * Modifier used to flip the popper's placement when it starts to overlap its\n * reference element.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n *\n * **NOTE:** this modifier will interrupt the current update cycle and will\n * restart it if it detects the need to flip the placement.\n * @memberof modifiers\n * @inner\n */\n flip: {\n /** @prop {number} order=600 - Index used to define the order of execution */\n order: 600,\n\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n\n /** @prop {ModifierFn} */\n fn: flip,\n\n /**\n * @prop {String|Array} behavior='flip'\n * The behavior used to change the popper's placement. It can be one of\n * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid\n * placements (with optional variations)\n */\n behavior: 'flip',\n\n /**\n * @prop {number} padding=5\n * The popper will flip if it hits the edges of the `boundariesElement`\n */\n padding: 5,\n\n /**\n * @prop {String|HTMLElement} boundariesElement='viewport'\n * The element which will define the boundaries of the popper position.\n * The popper will never be placed outside of the defined boundaries\n * (except if `keepTogether` is enabled)\n */\n boundariesElement: 'viewport',\n\n /**\n * @prop {Boolean} flipVariations=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the reference element overlaps its boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariations: false,\n\n /**\n * @prop {Boolean} flipVariationsByContent=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the popper element overlaps its reference boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariationsByContent: false\n },\n\n /**\n * Modifier used to make the popper flow toward the inner of the reference element.\n * By default, when this modifier is disabled, the popper will be placed outside\n * the reference element.\n * @memberof modifiers\n * @inner\n */\n inner: {\n /** @prop {number} order=700 - Index used to define the order of execution */\n order: 700,\n\n /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */\n enabled: false,\n\n /** @prop {ModifierFn} */\n fn: inner\n },\n\n /**\n * Modifier used to hide the popper when its reference element is outside of the\n * popper boundaries. It will set a `x-out-of-boundaries` attribute which can\n * be used to hide with a CSS selector the popper when its reference is\n * out of boundaries.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n * @memberof modifiers\n * @inner\n */\n hide: {\n /** @prop {number} order=800 - Index used to define the order of execution */\n order: 800,\n\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n\n /** @prop {ModifierFn} */\n fn: hide\n },\n\n /**\n * Computes the style that will be applied to the popper element to gets\n * properly positioned.\n *\n * Note that this modifier will not touch the DOM, it just prepares the styles\n * so that `applyStyle` modifier can apply it. This separation is useful\n * in case you need to replace `applyStyle` with a custom implementation.\n *\n * This modifier has `850` as `order` value to maintain backward compatibility\n * with previous versions of Popper.js. Expect the modifiers ordering method\n * to change in future major versions of the library.\n *\n * @memberof modifiers\n * @inner\n */\n computeStyle: {\n /** @prop {number} order=850 - Index used to define the order of execution */\n order: 850,\n\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n\n /** @prop {ModifierFn} */\n fn: computeStyle,\n\n /**\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: true,\n\n /**\n * @prop {string} [x='bottom']\n * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.\n * Change this if your popper should grow in a direction different from `bottom`\n */\n x: 'bottom',\n\n /**\n * @prop {string} [x='left']\n * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.\n * Change this if your popper should grow in a direction different from `right`\n */\n y: 'right'\n },\n\n /**\n * Applies the computed styles to the popper element.\n *\n * All the DOM manipulations are limited to this modifier. This is useful in case\n * you want to integrate Popper.js inside a framework or view library and you\n * want to delegate all the DOM manipulations to it.\n *\n * Note that if you disable this modifier, you must make sure the popper element\n * has its position set to `absolute` before Popper.js can do its work!\n *\n * Just disable this modifier and define your own to achieve the desired effect.\n *\n * @memberof modifiers\n * @inner\n */\n applyStyle: {\n /** @prop {number} order=900 - Index used to define the order of execution */\n order: 900,\n\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n\n /** @prop {ModifierFn} */\n fn: applyStyle,\n\n /** @prop {Function} */\n onLoad: applyStyleOnLoad,\n\n /**\n * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: undefined\n }\n};\n/**\n * The `dataObject` is an object containing all the information used by Popper.js.\n * This object is passed to modifiers and to the `onCreate` and `onUpdate` callbacks.\n * @name dataObject\n * @property {Object} data.instance The Popper.js instance\n * @property {String} data.placement Placement applied to popper\n * @property {String} data.originalPlacement Placement originally defined on init\n * @property {Boolean} data.flipped True if popper has been flipped by flip modifier\n * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper\n * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier\n * @property {Object} data.styles Any CSS property defined here will be applied to the popper. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.boundaries Offsets of the popper boundaries\n * @property {Object} data.offsets The measurements of popper, reference and arrow elements\n * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0\n */\n\n/**\n * Default options provided to Popper.js constructor.
\n * These can be overridden using the `options` argument of Popper.js.
\n * To override an option, simply pass an object with the same\n * structure of the `options` object, as the 3rd argument. For example:\n * ```\n * new Popper(ref, pop, {\n * modifiers: {\n * preventOverflow: { enabled: false }\n * }\n * })\n * ```\n * @type {Object}\n * @static\n * @memberof Popper\n */\n\nvar Defaults = {\n /**\n * Popper's placement.\n * @prop {Popper.placements} placement='bottom'\n */\n placement: 'bottom',\n\n /**\n * Set this to true if you want popper to position it self in 'fixed' mode\n * @prop {Boolean} positionFixed=false\n */\n positionFixed: false,\n\n /**\n * Whether events (resize, scroll) are initially enabled.\n * @prop {Boolean} eventsEnabled=true\n */\n eventsEnabled: true,\n\n /**\n * Set to true if you want to automatically remove the popper when\n * you call the `destroy` method.\n * @prop {Boolean} removeOnDestroy=false\n */\n removeOnDestroy: false,\n\n /**\n * Callback called when the popper is created.
\n * By default, it is set to no-op.
\n * Access Popper.js instance with `data.instance`.\n * @prop {onCreate}\n */\n onCreate: function onCreate() {},\n\n /**\n * Callback called when the popper is updated. This callback is not called\n * on the initialization/creation of the popper, but only on subsequent\n * updates.
\n * By default, it is set to no-op.
\n * Access Popper.js instance with `data.instance`.\n * @prop {onUpdate}\n */\n onUpdate: function onUpdate() {},\n\n /**\n * List of modifiers used to modify the offsets before they are applied to the popper.\n * They provide most of the functionalities of Popper.js.\n * @prop {modifiers}\n */\n modifiers: modifiers\n};\n/**\n * @callback onCreate\n * @param {dataObject} data\n */\n\n/**\n * @callback onUpdate\n * @param {dataObject} data\n */\n// Utils\n// Methods\n\nvar Popper = function () {\n /**\n * Creates a new Popper.js instance.\n * @class Popper\n * @param {Element|referenceObject} reference - The reference element used to position the popper\n * @param {Element} popper - The HTML / XML element used as the popper\n * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)\n * @return {Object} instance - The generated Popper.js instance\n */\n function Popper(reference, popper) {\n var _this = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n classCallCheck(this, Popper);\n\n this.scheduleUpdate = function () {\n return requestAnimationFrame(_this.update);\n }; // make update() debounced, so that it only runs at most once-per-tick\n\n\n this.update = debounce(this.update.bind(this)); // with {} we create a new object with the options inside it\n\n this.options = _extends({}, Popper.Defaults, options); // init state\n\n this.state = {\n isDestroyed: false,\n isCreated: false,\n scrollParents: []\n }; // get reference and popper elements (allow jQuery wrappers)\n\n this.reference = reference && reference.jquery ? reference[0] : reference;\n this.popper = popper && popper.jquery ? popper[0] : popper; // Deep merge modifiers options\n\n this.options.modifiers = {};\n Object.keys(_extends({}, Popper.Defaults.modifiers, options.modifiers)).forEach(function (name) {\n _this.options.modifiers[name] = _extends({}, Popper.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {});\n }); // Refactoring modifiers' list (Object => Array)\n\n this.modifiers = Object.keys(this.options.modifiers).map(function (name) {\n return _extends({\n name: name\n }, _this.options.modifiers[name]);\n }) // sort the modifiers by order\n .sort(function (a, b) {\n return a.order - b.order;\n }); // modifiers have the ability to execute arbitrary code when Popper.js get inited\n // such code is executed in the same order of its modifier\n // they could add new properties to their options configuration\n // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!\n\n this.modifiers.forEach(function (modifierOptions) {\n if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {\n modifierOptions.onLoad(_this.reference, _this.popper, _this.options, modifierOptions, _this.state);\n }\n }); // fire the first update to position the popper in the right place\n\n this.update();\n var eventsEnabled = this.options.eventsEnabled;\n\n if (eventsEnabled) {\n // setup event listeners, they will take care of update the position in specific situations\n this.enableEventListeners();\n }\n\n this.state.eventsEnabled = eventsEnabled;\n } // We can't use class properties because they don't get listed in the\n // class prototype and break stuff like Sinon stubs\n\n\n createClass(Popper, [{\n key: 'update',\n value: function update$$1() {\n return update.call(this);\n }\n }, {\n key: 'destroy',\n value: function destroy$$1() {\n return destroy.call(this);\n }\n }, {\n key: 'enableEventListeners',\n value: function enableEventListeners$$1() {\n return enableEventListeners.call(this);\n }\n }, {\n key: 'disableEventListeners',\n value: function disableEventListeners$$1() {\n return disableEventListeners.call(this);\n }\n /**\n * Schedules an update. It will run on the next UI update available.\n * @method scheduleUpdate\n * @memberof Popper\n */\n\n /**\n * Collection of utilities useful when writing custom modifiers.\n * Starting from version 1.7, this method is available only if you\n * include `popper-utils.js` before `popper.js`.\n *\n * **DEPRECATION**: This way to access PopperUtils is deprecated\n * and will be removed in v2! Use the PopperUtils module directly instead.\n * Due to the high instability of the methods contained in Utils, we can't\n * guarantee them to follow semver. Use them at your own risk!\n * @static\n * @private\n * @type {Object}\n * @deprecated since version 1.8\n * @member Utils\n * @memberof Popper\n */\n\n }]);\n return Popper;\n}();\n/**\n * The `referenceObject` is an object that provides an interface compatible with Popper.js\n * and lets you use it as replacement of a real DOM node.
\n * You can use this method to position a popper relatively to a set of coordinates\n * in case you don't have a DOM node to use as reference.\n *\n * ```\n * new Popper(referenceObject, popperNode);\n * ```\n *\n * NB: This feature isn't supported in Internet Explorer 10.\n * @name referenceObject\n * @property {Function} data.getBoundingClientRect\n * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.\n * @property {number} data.clientWidth\n * An ES6 getter that will return the width of the virtual reference element.\n * @property {number} data.clientHeight\n * An ES6 getter that will return the height of the virtual reference element.\n */\n\n\nPopper.Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;\nPopper.placements = placements;\nPopper.Defaults = Defaults;\nexport default Popper;","var uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\n\nvar bind = uncurryThis(uncurryThis.bind);\n\n// optional / simple context binding\nmodule.exports = function (fn, that) {\n aCallable(fn);\n return that === undefined ? fn : bind ? bind(fn, that) : function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","\"use strict\";\n\nrequire(\"core-js/modules/es.array.sort.js\");\n\nvar __spreadArrays = this && this.__spreadArrays || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) {\n s += arguments[i].length;\n }\n\n for (var r = Array(s), k = 0, i = 0; i < il; i++) {\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) {\n r[k] = a[j];\n }\n }\n\n return r;\n};\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.useThumbOverlap = exports.assertUnreachable = exports.voidFn = exports.getTrackBackground = exports.replaceAt = exports.schd = exports.translate = exports.getClosestThumbIndex = exports.translateThumbs = exports.getPaddingAndBorder = exports.getMargin = exports.checkInitialOverlap = exports.checkValuesAgainstBoundaries = exports.checkBoundaries = exports.isVertical = exports.relativeValue = exports.normalizeValue = exports.isStepDivisible = exports.isTouchEvent = exports.getStepDecimals = void 0;\n\nvar react_1 = require(\"react\");\n\nvar types_1 = require(\"./types\");\n\nvar getStepDecimals = function getStepDecimals(step) {\n var decimals = step.toString().split('.')[1];\n return decimals ? decimals.length : 0;\n};\n\nexports.getStepDecimals = getStepDecimals;\n\nfunction isTouchEvent(event) {\n return event.touches && event.touches.length || event.changedTouches && event.changedTouches.length;\n}\n\nexports.isTouchEvent = isTouchEvent;\n\nfunction isStepDivisible(min, max, step) {\n var res = (max - min) / step;\n var precision = 8;\n var roundedRes = Number(res.toFixed(precision));\n return parseInt(roundedRes.toString(), 10) === roundedRes;\n}\n\nexports.isStepDivisible = isStepDivisible;\n\nfunction normalizeValue(value, index, min, max, step, allowOverlap, values) {\n var BIG_NUM = 10e10;\n value = Math.round(value * BIG_NUM) / BIG_NUM;\n\n if (!allowOverlap) {\n var prev = values[index - 1];\n var next = values[index + 1];\n if (prev && prev > value) return prev;\n if (next && next < value) return next;\n }\n\n if (value > max) return max;\n if (value < min) return min; // `remainder` is a difference between the given value and a full step value\n // that is closest lower to the given value and is in the range between the min value\n // and the given value\n\n var remainder = Math.floor(value * BIG_NUM - min * BIG_NUM) % Math.floor(step * BIG_NUM);\n var closestLowerNum = Math.floor(value * BIG_NUM - Math.abs(remainder));\n var rounded = remainder === 0 ? value : closestLowerNum / BIG_NUM; // Values with a remainder `< step/2` are rounded to the closest lower value\n // while values with a remainder `= > step/2` are rounded to the closest bigger value\n\n var res = Math.abs(remainder / BIG_NUM) < step / 2 ? rounded : rounded + step;\n var decimalPlaces = exports.getStepDecimals(step);\n return parseFloat(res.toFixed(decimalPlaces));\n}\n\nexports.normalizeValue = normalizeValue;\n\nfunction relativeValue(value, min, max) {\n return (value - min) / (max - min);\n}\n\nexports.relativeValue = relativeValue;\n\nfunction isVertical(direction) {\n return direction === types_1.Direction.Up || direction === types_1.Direction.Down;\n}\n\nexports.isVertical = isVertical;\n\nfunction checkBoundaries(value, min, max) {\n if (min >= max) {\n throw new RangeError(\"min (\" + min + \") is equal/bigger than max (\" + max + \")\");\n }\n\n if (value < min) {\n throw new RangeError(\"value (\" + value + \") is smaller than min (\" + min + \")\");\n }\n\n if (value > max) {\n throw new RangeError(\"value (\" + value + \") is bigger than max (\" + max + \")\");\n }\n}\n\nexports.checkBoundaries = checkBoundaries;\n\nfunction checkValuesAgainstBoundaries(value, min, max) {\n if (value < min) {\n // set selectedValue to min\n return min;\n }\n\n if (value > max) {\n // set selectedValue to max\n return max;\n } else {\n return value;\n }\n}\n\nexports.checkValuesAgainstBoundaries = checkValuesAgainstBoundaries;\n\nfunction checkInitialOverlap(values) {\n if (values.length < 2) return;\n\n if (!values.slice(1).every(function (item, i) {\n return values[i] <= item;\n })) {\n throw new RangeError(\"values={[\" + values + \"]} needs to be sorted when allowOverlap={false}\");\n }\n}\n\nexports.checkInitialOverlap = checkInitialOverlap;\n\nfunction getMargin(element) {\n var style = window.getComputedStyle(element);\n return {\n top: parseInt(style['margin-top'], 10),\n bottom: parseInt(style['margin-bottom'], 10),\n left: parseInt(style['margin-left'], 10),\n right: parseInt(style['margin-right'], 10)\n };\n}\n\nexports.getMargin = getMargin;\n\nfunction getPaddingAndBorder(element) {\n var style = window.getComputedStyle(element);\n return {\n top: parseInt(style['padding-top'], 10) + parseInt(style['border-top-width'], 10),\n bottom: parseInt(style['padding-bottom'], 10) + parseInt(style['border-bottom-width'], 10),\n left: parseInt(style['padding-left'], 10) + parseInt(style['border-left-width'], 10),\n right: parseInt(style['padding-right'], 10) + parseInt(style['border-right-width'], 10)\n };\n}\n\nexports.getPaddingAndBorder = getPaddingAndBorder;\n\nfunction translateThumbs(elements, offsets, rtl) {\n var inverter = rtl ? -1 : 1;\n elements.forEach(function (element, index) {\n return translate(element, inverter * offsets[index].x, offsets[index].y);\n });\n}\n\nexports.translateThumbs = translateThumbs;\n/**\n * Util function for calculating the index of the thumb that is closes to a given position\n * @param thumbs - array of Thumb element to calculate the distance from\n * @param clientX - target x position (mouse/touch)\n * @param clientY - target y position (mouse/touch)\n * @param direction - the direction of the track\n */\n\nfunction getClosestThumbIndex(thumbs, clientX, clientY, direction) {\n var thumbIndex = 0;\n var minThumbDistance = getThumbDistance(thumbs[0], clientX, clientY, direction);\n\n for (var i = 1; i < thumbs.length; i++) {\n var thumbDistance = getThumbDistance(thumbs[i], clientX, clientY, direction);\n\n if (thumbDistance < minThumbDistance) {\n minThumbDistance = thumbDistance;\n thumbIndex = i;\n }\n }\n\n return thumbIndex;\n}\n\nexports.getClosestThumbIndex = getClosestThumbIndex;\n\nfunction translate(element, x, y) {\n element.style.transform = \"translate(\" + x + \"px, \" + y + \"px)\";\n}\n\nexports.translate = translate; // adapted from https://github.com/alexreardon/raf-schd\n\nvar schd = function schd(fn) {\n var lastArgs = [];\n var frameId = null;\n\n var wrapperFn = function wrapperFn() {\n var args = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n\n lastArgs = args;\n\n if (frameId) {\n return;\n }\n\n frameId = requestAnimationFrame(function () {\n frameId = null;\n fn.apply(void 0, lastArgs);\n });\n };\n\n return wrapperFn;\n};\n\nexports.schd = schd;\n\nfunction replaceAt(values, index, value) {\n var ret = values.slice(0);\n ret[index] = value;\n return ret;\n}\n\nexports.replaceAt = replaceAt;\n\nfunction getTrackBackground(_a) {\n var values = _a.values,\n colors = _a.colors,\n min = _a.min,\n max = _a.max,\n _b = _a.direction,\n direction = _b === void 0 ? types_1.Direction.Right : _b,\n _c = _a.rtl,\n rtl = _c === void 0 ? false : _c;\n\n if (rtl && direction === types_1.Direction.Right) {\n direction = types_1.Direction.Left;\n } else if (rtl && types_1.Direction.Left) {\n direction = types_1.Direction.Right;\n } // sort values ascending\n\n\n var progress = values.slice(0).sort(function (a, b) {\n return a - b;\n }).map(function (value) {\n return (value - min) / (max - min) * 100;\n });\n var middle = progress.reduce(function (acc, point, index) {\n return acc + \", \" + colors[index] + \" \" + point + \"%, \" + colors[index + 1] + \" \" + point + \"%\";\n }, '');\n return \"linear-gradient(\" + direction + \", \" + colors[0] + \" 0%\" + middle + \", \" + colors[colors.length - 1] + \" 100%)\";\n}\n\nexports.getTrackBackground = getTrackBackground;\n\nfunction voidFn() {}\n\nexports.voidFn = voidFn;\n\nfunction assertUnreachable(x) {\n throw new Error(\"Didn't expect to get here\");\n}\n\nexports.assertUnreachable = assertUnreachable;\n/**\n * Util function for grabbing the true largest width of a thumb\n * including the label\n * @param thumbEl - Thumb element to grab the largest width from\n * @param value - Thumb value, not label value\n * @param separator - Label separator value\n */\n\nvar getThumbWidth = function getThumbWidth(thumbEl, value, separator, decimalPlaces, valueToLabel) {\n if (valueToLabel === void 0) {\n valueToLabel = function valueToLabel(value) {\n return value;\n };\n }\n\n var width = Math.ceil(__spreadArrays([thumbEl], Array.from(thumbEl.children)).reduce(function (width, el) {\n var elWidth = Math.ceil(el.getBoundingClientRect().width);\n /**\n * If a label contains a merged label value, it won't return the true\n * label width for that Thumb. Clone the label and change the value\n * to that individual Thumb value in order to grab the true width.\n */\n\n if (el.innerText && el.innerText.includes(separator) && el.childElementCount === 0) {\n var elClone = el.cloneNode(true);\n elClone.innerHTML = valueToLabel(value.toFixed(decimalPlaces));\n elClone.style.visibility = 'hidden';\n document.body.appendChild(elClone);\n elWidth = Math.ceil(elClone.getBoundingClientRect().width);\n document.body.removeChild(elClone);\n }\n\n return elWidth > width ? elWidth : width;\n }, thumbEl.getBoundingClientRect().width));\n return width;\n};\n/**\n * Bulk of logic for thumb overlaps\n * Consider a scenario with 5 thumbs;\n * Thumb 1 overlaps with thumb 0 and thumb 2\n * Thumb 2 overlaps with thumb 3\n * We need an array that contains [0, 1, 2, 3]\n * The function needs to return the directly overlapping thumbs\n * and all thumbs overlapping linked to those and so on\n * @param index - Thumb index calculating overlaps for\n * @param offsets - Current Array of Thumb offsets for Range\n * @param thumbs - Array of Thumb elements\n * @param values - Array of Thumb values\n * @param separator - String separator for merged label values\n * @returns overlaps - Array of all overlapping thumbs from the index\n */\n\n\nvar getOverlaps = function getOverlaps(index, offsets, thumbs, values, separator, decimalPlaces, valueToLabel) {\n if (valueToLabel === void 0) {\n valueToLabel = function valueToLabel(value) {\n return value;\n };\n }\n\n var overlaps = [];\n /**\n * Recursive function for building the overlaps Array\n * If an overlap is found, find the overlaps for that overlap\n * @param thumbIndex current Thumb index to find overlaps from\n */\n\n var buildOverlaps = function buildOverlaps(thumbIndex) {\n var thumbXWidth = getThumbWidth(thumbs[thumbIndex], values[thumbIndex], separator, decimalPlaces, valueToLabel);\n var thumbX = offsets[thumbIndex].x;\n /**\n * Iterate through the Thumb offsets, if there is a match\n * add the thumbIndex and siblingIndex to the overlaps Array\n *\n * Then build overlaps from the overlapping siblingIndex\n */\n\n offsets.forEach(function (_a, siblingIndex) {\n var siblingX = _a.x;\n var siblingWidth = getThumbWidth(thumbs[siblingIndex], values[siblingIndex], separator, decimalPlaces, valueToLabel);\n\n if (thumbIndex !== siblingIndex && (thumbX >= siblingX && thumbX <= siblingX + siblingWidth || thumbX + thumbXWidth >= siblingX && thumbX + thumbXWidth <= siblingX + siblingWidth)) {\n if (!overlaps.includes(siblingIndex)) {\n overlaps.push(thumbIndex);\n overlaps.push(siblingIndex);\n overlaps = __spreadArrays(overlaps, [thumbIndex, siblingIndex]);\n buildOverlaps(siblingIndex);\n }\n }\n });\n };\n\n buildOverlaps(index); // Sort and remove duplicates from the built overlaps\n\n return Array.from(new Set(overlaps.sort()));\n};\n/**\n * A custom React Hook for calculating whether a thumb overlaps\n * another and whether labels could/should merge.\n * @param rangeRef - React ref value of Range component\n * @param values - current Range values Array\n * @param index - thumb index\n * @param step - step value, used to calculate the number of decimal places\n * @param separator - string to separate thumb values\n * @returns label value + styling for thumb label\n */\n\n\nvar useThumbOverlap = function useThumbOverlap(rangeRef, values, index, step, separator, valueToLabel) {\n if (step === void 0) {\n step = 0.1;\n }\n\n if (separator === void 0) {\n separator = ' - ';\n }\n\n if (valueToLabel === void 0) {\n valueToLabel = function valueToLabel(value) {\n return value;\n };\n }\n\n var decimalPlaces = exports.getStepDecimals(step); // Create initial label style and value. Label value defaults to thumb value\n\n var _a = react_1.useState({}),\n labelStyle = _a[0],\n setLabelStyle = _a[1];\n\n var _b = react_1.useState(valueToLabel(values[index].toFixed(decimalPlaces))),\n labelValue = _b[0],\n setLabelValue = _b[1]; // When the rangeRef or values change, update the Thumb label values and styling\n\n\n react_1.useEffect(function () {\n if (rangeRef) {\n var thumbs = rangeRef.getThumbs();\n if (thumbs.length < 1) return;\n var newStyle = {};\n var offsets_1 = rangeRef.getOffsets();\n /**\n * Get any overlaps for the given Thumb index. This must return all linked\n * Thumbs. So if there are 4 Thumbs and Thumbs 2, 3 and 4 overlap. If we are\n * getting the overlaps for Thumb 1 and it overlaps only Thumb 2, we must get\n * 2, 3 and 4 also.\n */\n\n var overlaps = getOverlaps(index, offsets_1, thumbs, values, separator, decimalPlaces, valueToLabel); // Set a default label value of the Thumb value\n\n var labelValue_1 = valueToLabel(values[index].toFixed(decimalPlaces));\n /**\n * If there are overlaps for the Thumb, we need to calculate the correct\n * Label value along with the relevant styling. We only want to show a Label\n * for the left most Thumb in an overlapping set.\n * All other Thumbs will be set to display: none.\n */\n\n if (overlaps.length) {\n /**\n * Get an Array of the offsets for the overlapping Thumbs\n * This is so we can determine if the Thumb we are looking at\n * is the left most thumb in an overlapping set\n */\n var offsetsX = overlaps.reduce(function (a, c, i, s) {\n return a.length ? __spreadArrays(a, [offsets_1[s[i]].x]) : [offsets_1[s[i]].x];\n }, []);\n /**\n * If our Thumb is the left most Thumb, we can build a Label value\n * and set the style for that Label\n */\n\n if (Math.min.apply(Math, offsetsX) === offsets_1[index].x) {\n /**\n * First calculate the Label value. To do this,\n * grab all the values for the Thumbs in our overlaps.\n * Then convert that to a Set and sort it whilst removing duplicates.\n */\n var labelValues_1 = [];\n overlaps.forEach(function (thumb) {\n labelValues_1.push(values[thumb].toFixed(decimalPlaces));\n });\n /**\n * Update the labelValue with the resulting Array\n * joined by our defined separator\n */\n\n labelValue_1 = Array.from(new Set(labelValues_1.sort(function (a, b) {\n return parseFloat(a) - parseFloat(b);\n }))).map(valueToLabel).join(separator);\n /**\n * Lastly, build the label styling. The label styling will\n * position the label and apply a transform so that it's centered.\n * We want the center point between the left edge of the left most Thumb\n * and the right edge of the right most Thumb.\n */\n\n var first = Math.min.apply(Math, offsetsX);\n var last = Math.max.apply(Math, offsetsX);\n var lastWidth = thumbs[overlaps[offsetsX.indexOf(last)]].getBoundingClientRect().width;\n newStyle.left = Math.abs(first - (last + lastWidth)) / 2 + \"px\";\n newStyle.transform = 'translate(-50%, 0)';\n } else {\n // If the Thumb isn't the left most Thumb, hide the Label!\n newStyle.visibility = 'hidden';\n }\n } // Update the label value and style\n\n\n setLabelValue(labelValue_1);\n setLabelStyle(newStyle);\n }\n }, [rangeRef, values]);\n return [labelValue, labelStyle];\n};\n\nexports.useThumbOverlap = useThumbOverlap;\n/**\n * Util function for calculating the distance of the center of a thumb\n * form a given mouse/touch target's position\n * @param thumbEl - Thumb element to calculate the distance from\n * @param clientX - target x position (mouse/touch)\n * @param clientY - target y position (mouse/touch)\n * @param direction - the direction of the track\n */\n\nfunction getThumbDistance(thumbEl, clientX, clientY, direction) {\n var _a = thumbEl.getBoundingClientRect(),\n left = _a.left,\n top = _a.top,\n width = _a.width,\n height = _a.height;\n\n return isVertical(direction) ? Math.abs(clientY - (top + height / 2)) : Math.abs(clientX - (left + width / 2));\n}","'use strict';\n\nrequire(\"core-js/modules/es.typed-array.sort.js\");\n\nrequire(\"core-js/modules/esnext.aggregate-error.js\");\n\nvar undefined;\nvar $SyntaxError = SyntaxError;\nvar $Function = Function;\nvar $TypeError = TypeError; // eslint-disable-next-line consistent-return\n\nvar getEvalledConstructor = function getEvalledConstructor(expressionSyntax) {\n try {\n return $Function('\"use strict\"; return (' + expressionSyntax + ').constructor;')();\n } catch (e) {}\n};\n\nvar $gOPD = Object.getOwnPropertyDescriptor;\n\nif ($gOPD) {\n try {\n $gOPD({}, '');\n } catch (e) {\n $gOPD = null; // this is IE 8, which has a broken gOPD\n }\n}\n\nvar throwTypeError = function throwTypeError() {\n throw new $TypeError();\n};\n\nvar ThrowTypeError = $gOPD ? function () {\n try {\n // eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties\n arguments.callee; // IE 8 does not throw here\n\n return throwTypeError;\n } catch (calleeThrows) {\n try {\n // IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')\n return $gOPD(arguments, 'callee').get;\n } catch (gOPDthrows) {\n return throwTypeError;\n }\n }\n}() : throwTypeError;\n\nvar hasSymbols = require('has-symbols')();\n\nvar getProto = Object.getPrototypeOf || function (x) {\n return x.__proto__;\n}; // eslint-disable-line no-proto\n\n\nvar needsEval = {};\nvar TypedArray = typeof Uint8Array === 'undefined' ? undefined : getProto(Uint8Array);\nvar INTRINSICS = {\n '%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError,\n '%Array%': Array,\n '%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,\n '%ArrayIteratorPrototype%': hasSymbols ? getProto([][Symbol.iterator]()) : undefined,\n '%AsyncFromSyncIteratorPrototype%': undefined,\n '%AsyncFunction%': needsEval,\n '%AsyncGenerator%': needsEval,\n '%AsyncGeneratorFunction%': needsEval,\n '%AsyncIteratorPrototype%': needsEval,\n '%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,\n '%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt,\n '%Boolean%': Boolean,\n '%DataView%': typeof DataView === 'undefined' ? undefined : DataView,\n '%Date%': Date,\n '%decodeURI%': decodeURI,\n '%decodeURIComponent%': decodeURIComponent,\n '%encodeURI%': encodeURI,\n '%encodeURIComponent%': encodeURIComponent,\n '%Error%': Error,\n '%eval%': eval,\n // eslint-disable-line no-eval\n '%EvalError%': EvalError,\n '%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,\n '%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,\n '%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry,\n '%Function%': $Function,\n '%GeneratorFunction%': needsEval,\n '%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,\n '%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,\n '%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,\n '%isFinite%': isFinite,\n '%isNaN%': isNaN,\n '%IteratorPrototype%': hasSymbols ? getProto(getProto([][Symbol.iterator]())) : undefined,\n '%JSON%': typeof JSON === 'object' ? JSON : undefined,\n '%Map%': typeof Map === 'undefined' ? undefined : Map,\n '%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols ? undefined : getProto(new Map()[Symbol.iterator]()),\n '%Math%': Math,\n '%Number%': Number,\n '%Object%': Object,\n '%parseFloat%': parseFloat,\n '%parseInt%': parseInt,\n '%Promise%': typeof Promise === 'undefined' ? undefined : Promise,\n '%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,\n '%RangeError%': RangeError,\n '%ReferenceError%': ReferenceError,\n '%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,\n '%RegExp%': RegExp,\n '%Set%': typeof Set === 'undefined' ? undefined : Set,\n '%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols ? undefined : getProto(new Set()[Symbol.iterator]()),\n '%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,\n '%String%': String,\n '%StringIteratorPrototype%': hasSymbols ? getProto(''[Symbol.iterator]()) : undefined,\n '%Symbol%': hasSymbols ? Symbol : undefined,\n '%SyntaxError%': $SyntaxError,\n '%ThrowTypeError%': ThrowTypeError,\n '%TypedArray%': TypedArray,\n '%TypeError%': $TypeError,\n '%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,\n '%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,\n '%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,\n '%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,\n '%URIError%': URIError,\n '%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,\n '%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef,\n '%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet\n};\n\nvar doEval = function doEval(name) {\n var value;\n\n if (name === '%AsyncFunction%') {\n value = getEvalledConstructor('async function () {}');\n } else if (name === '%GeneratorFunction%') {\n value = getEvalledConstructor('function* () {}');\n } else if (name === '%AsyncGeneratorFunction%') {\n value = getEvalledConstructor('async function* () {}');\n } else if (name === '%AsyncGenerator%') {\n var fn = doEval('%AsyncGeneratorFunction%');\n\n if (fn) {\n value = fn.prototype;\n }\n } else if (name === '%AsyncIteratorPrototype%') {\n var gen = doEval('%AsyncGenerator%');\n\n if (gen) {\n value = getProto(gen.prototype);\n }\n }\n\n INTRINSICS[name] = value;\n return value;\n};\n\nvar LEGACY_ALIASES = {\n '%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'],\n '%ArrayPrototype%': ['Array', 'prototype'],\n '%ArrayProto_entries%': ['Array', 'prototype', 'entries'],\n '%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'],\n '%ArrayProto_keys%': ['Array', 'prototype', 'keys'],\n '%ArrayProto_values%': ['Array', 'prototype', 'values'],\n '%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'],\n '%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'],\n '%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'],\n '%BooleanPrototype%': ['Boolean', 'prototype'],\n '%DataViewPrototype%': ['DataView', 'prototype'],\n '%DatePrototype%': ['Date', 'prototype'],\n '%ErrorPrototype%': ['Error', 'prototype'],\n '%EvalErrorPrototype%': ['EvalError', 'prototype'],\n '%Float32ArrayPrototype%': ['Float32Array', 'prototype'],\n '%Float64ArrayPrototype%': ['Float64Array', 'prototype'],\n '%FunctionPrototype%': ['Function', 'prototype'],\n '%Generator%': ['GeneratorFunction', 'prototype'],\n '%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'],\n '%Int8ArrayPrototype%': ['Int8Array', 'prototype'],\n '%Int16ArrayPrototype%': ['Int16Array', 'prototype'],\n '%Int32ArrayPrototype%': ['Int32Array', 'prototype'],\n '%JSONParse%': ['JSON', 'parse'],\n '%JSONStringify%': ['JSON', 'stringify'],\n '%MapPrototype%': ['Map', 'prototype'],\n '%NumberPrototype%': ['Number', 'prototype'],\n '%ObjectPrototype%': ['Object', 'prototype'],\n '%ObjProto_toString%': ['Object', 'prototype', 'toString'],\n '%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'],\n '%PromisePrototype%': ['Promise', 'prototype'],\n '%PromiseProto_then%': ['Promise', 'prototype', 'then'],\n '%Promise_all%': ['Promise', 'all'],\n '%Promise_reject%': ['Promise', 'reject'],\n '%Promise_resolve%': ['Promise', 'resolve'],\n '%RangeErrorPrototype%': ['RangeError', 'prototype'],\n '%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'],\n '%RegExpPrototype%': ['RegExp', 'prototype'],\n '%SetPrototype%': ['Set', 'prototype'],\n '%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'],\n '%StringPrototype%': ['String', 'prototype'],\n '%SymbolPrototype%': ['Symbol', 'prototype'],\n '%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'],\n '%TypedArrayPrototype%': ['TypedArray', 'prototype'],\n '%TypeErrorPrototype%': ['TypeError', 'prototype'],\n '%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'],\n '%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'],\n '%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'],\n '%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'],\n '%URIErrorPrototype%': ['URIError', 'prototype'],\n '%WeakMapPrototype%': ['WeakMap', 'prototype'],\n '%WeakSetPrototype%': ['WeakSet', 'prototype']\n};\n\nvar bind = require('function-bind');\n\nvar hasOwn = require('has');\n\nvar $concat = bind.call(Function.call, Array.prototype.concat);\nvar $spliceApply = bind.call(Function.apply, Array.prototype.splice);\nvar $replace = bind.call(Function.call, String.prototype.replace);\nvar $strSlice = bind.call(Function.call, String.prototype.slice);\n/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */\n\nvar rePropName = /[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g;\nvar reEscapeChar = /\\\\(\\\\)?/g;\n/** Used to match backslashes in property paths. */\n\nvar stringToPath = function stringToPath(string) {\n var first = $strSlice(string, 0, 1);\n var last = $strSlice(string, -1);\n\n if (first === '%' && last !== '%') {\n throw new $SyntaxError('invalid intrinsic syntax, expected closing `%`');\n } else if (last === '%' && first !== '%') {\n throw new $SyntaxError('invalid intrinsic syntax, expected opening `%`');\n }\n\n var result = [];\n $replace(string, rePropName, function (match, number, quote, subString) {\n result[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match;\n });\n return result;\n};\n/* end adaptation */\n\n\nvar getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {\n var intrinsicName = name;\n var alias;\n\n if (hasOwn(LEGACY_ALIASES, intrinsicName)) {\n alias = LEGACY_ALIASES[intrinsicName];\n intrinsicName = '%' + alias[0] + '%';\n }\n\n if (hasOwn(INTRINSICS, intrinsicName)) {\n var value = INTRINSICS[intrinsicName];\n\n if (value === needsEval) {\n value = doEval(intrinsicName);\n }\n\n if (typeof value === 'undefined' && !allowMissing) {\n throw new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');\n }\n\n return {\n alias: alias,\n name: intrinsicName,\n value: value\n };\n }\n\n throw new $SyntaxError('intrinsic ' + name + ' does not exist!');\n};\n\nmodule.exports = function GetIntrinsic(name, allowMissing) {\n if (typeof name !== 'string' || name.length === 0) {\n throw new $TypeError('intrinsic name must be a non-empty string');\n }\n\n if (arguments.length > 1 && typeof allowMissing !== 'boolean') {\n throw new $TypeError('\"allowMissing\" argument must be a boolean');\n }\n\n var parts = stringToPath(name);\n var intrinsicBaseName = parts.length > 0 ? parts[0] : '';\n var intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing);\n var intrinsicRealName = intrinsic.name;\n var value = intrinsic.value;\n var skipFurtherCaching = false;\n var alias = intrinsic.alias;\n\n if (alias) {\n intrinsicBaseName = alias[0];\n $spliceApply(parts, $concat([0, 1], alias));\n }\n\n for (var i = 1, isOwn = true; i < parts.length; i += 1) {\n var part = parts[i];\n var first = $strSlice(part, 0, 1);\n var last = $strSlice(part, -1);\n\n if ((first === '\"' || first === \"'\" || first === '`' || last === '\"' || last === \"'\" || last === '`') && first !== last) {\n throw new $SyntaxError('property names with quotes must have matching quotes');\n }\n\n if (part === 'constructor' || !isOwn) {\n skipFurtherCaching = true;\n }\n\n intrinsicBaseName += '.' + part;\n intrinsicRealName = '%' + intrinsicBaseName + '%';\n\n if (hasOwn(INTRINSICS, intrinsicRealName)) {\n value = INTRINSICS[intrinsicRealName];\n } else if (value != null) {\n if (!(part in value)) {\n if (!allowMissing) {\n throw new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');\n }\n\n return void undefined;\n }\n\n if ($gOPD && i + 1 >= parts.length) {\n var desc = $gOPD(value, part);\n isOwn = !!desc; // By convention, when a data property is converted to an accessor\n // property to emulate a data property that does not suffer from\n // the override mistake, that accessor's getter is marked with\n // an `originalValue` property. Here, when we detect this, we\n // uphold the illusion by pretending to see that original data\n // property, i.e., returning the value rather than the getter\n // itself.\n\n if (isOwn && 'get' in desc && !('originalValue' in desc.get)) {\n value = desc.get;\n } else {\n value = value[part];\n }\n } else {\n isOwn = hasOwn(value, part);\n value = value[part];\n }\n\n if (isOwn && !skipFurtherCaching) {\n INTRINSICS[intrinsicRealName] = value;\n }\n }\n }\n\n return value;\n};","'use strict';\n\nvar hasSymbols = require('has-symbols/shams');\n\nmodule.exports = function hasToStringTagShams() {\n return hasSymbols() && !!Symbol.toStringTag;\n};","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = Function.prototype.bind || implementation;","'use strict';\n\nvar getDay = Date.prototype.getDay;\n\nvar tryDateObject = function tryDateGetDayCall(value) {\n try {\n getDay.call(value);\n return true;\n } catch (e) {\n return false;\n }\n};\n\nvar toStr = Object.prototype.toString;\nvar dateClass = '[object Date]';\n\nvar hasToStringTag = require('has-tostringtag/shams')();\n\nmodule.exports = function isDateObject(value) {\n if (typeof value !== 'object' || value === null) {\n return false;\n }\n\n return hasToStringTag ? tryDateObject(value) : toStr.call(value) === dateClass;\n};","'use strict';\n/* eslint complexity: [2, 18], max-statements: [2, 33] */\n\nmodule.exports = function hasSymbols() {\n if (typeof Symbol !== 'function' || typeof Object.getOwnPropertySymbols !== 'function') {\n return false;\n }\n\n if (typeof Symbol.iterator === 'symbol') {\n return true;\n }\n\n var obj = {};\n var sym = Symbol('test');\n var symObj = Object(sym);\n\n if (typeof sym === 'string') {\n return false;\n }\n\n if (Object.prototype.toString.call(sym) !== '[object Symbol]') {\n return false;\n }\n\n if (Object.prototype.toString.call(symObj) !== '[object Symbol]') {\n return false;\n } // temp disabled per https://github.com/ljharb/object.assign/issues/17\n // if (sym instanceof Symbol) { return false; }\n // temp disabled per https://github.com/WebReflection/get-own-property-symbols/issues/4\n // if (!(symObj instanceof Symbol)) { return false; }\n // if (typeof Symbol.prototype.toString !== 'function') { return false; }\n // if (String(sym) !== Symbol.prototype.toString.call(sym)) { return false; }\n\n\n var symVal = 42;\n obj[sym] = symVal;\n\n for (sym in obj) {\n return false;\n } // eslint-disable-line no-restricted-syntax, no-unreachable-loop\n\n\n if (typeof Object.keys === 'function' && Object.keys(obj).length !== 0) {\n return false;\n }\n\n if (typeof Object.getOwnPropertyNames === 'function' && Object.getOwnPropertyNames(obj).length !== 0) {\n return false;\n }\n\n var syms = Object.getOwnPropertySymbols(obj);\n\n if (syms.length !== 1 || syms[0] !== sym) {\n return false;\n }\n\n if (!Object.prototype.propertyIsEnumerable.call(obj, sym)) {\n return false;\n }\n\n if (typeof Object.getOwnPropertyDescriptor === 'function') {\n var descriptor = Object.getOwnPropertyDescriptor(obj, sym);\n\n if (descriptor.value !== symVal || descriptor.enumerable !== true) {\n return false;\n }\n }\n\n return true;\n};","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","'use strict';\n\nvar supportsDescriptors = require('define-properties').supportsDescriptors;\n\nvar getPolyfill = require('./polyfill');\n\nvar gOPD = Object.getOwnPropertyDescriptor;\nvar defineProperty = Object.defineProperty;\nvar TypeErr = TypeError;\nvar getProto = Object.getPrototypeOf;\nvar regex = /a/;\n\nmodule.exports = function shimFlags() {\n if (!supportsDescriptors || !getProto) {\n throw new TypeErr('RegExp.prototype.flags requires a true ES5 environment that supports property descriptors');\n }\n\n var polyfill = getPolyfill();\n var proto = getProto(regex);\n var descriptor = gOPD(proto, 'flags');\n\n if (!descriptor || descriptor.get !== polyfill) {\n defineProperty(proto, 'flags', {\n configurable: true,\n enumerable: false,\n get: polyfill\n });\n }\n\n return polyfill;\n};","var global = require('../internals/global');\nvar bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar iteratorClose = require('../internals/iterator-close');\n\nvar TypeError = global.TypeError;\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\n\nvar ResultPrototype = Result.prototype;\n\nmodule.exports = function (iterable, unboundFunction, options) {\n var that = options && options.that;\n var AS_ENTRIES = !!(options && options.AS_ENTRIES);\n var IS_ITERATOR = !!(options && options.IS_ITERATOR);\n var INTERRUPTED = !!(options && options.INTERRUPTED);\n var fn = bind(unboundFunction, that);\n var iterator, iterFn, index, length, result, next, step;\n\n var stop = function (condition) {\n if (iterator) iteratorClose(iterator, 'normal', condition);\n return new Result(true, condition);\n };\n\n var callFn = function (value) {\n if (AS_ENTRIES) {\n anObject(value);\n return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);\n } return INTERRUPTED ? fn(value, stop) : fn(value);\n };\n\n if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (!iterFn) throw TypeError(tryToString(iterable) + ' is not iterable');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = lengthOfArrayLike(iterable); length > index; index++) {\n result = callFn(iterable[index]);\n if (result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n }\n iterator = getIterator(iterable, iterFn);\n }\n\n next = iterator.next;\n while (!(step = call(next, iterator)).done) {\n try {\n result = callFn(step.value);\n } catch (error) {\n iteratorClose(iterator, 'throw', error);\n }\n if (typeof result == 'object' && result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n};\n","import _inheritsLoose from \"@babel/runtime/helpers/inheritsLoose\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport * as React from 'react';\nimport createContext from '@hypnosphi/create-react-context';\nexport var ManagerReferenceNodeContext = createContext();\nexport var ManagerReferenceNodeSetterContext = createContext();\n\nvar Manager = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(Manager, _React$Component);\n\n function Manager() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"referenceNode\", void 0);\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"setReferenceNode\", function (newReferenceNode) {\n if (newReferenceNode && _this.referenceNode !== newReferenceNode) {\n _this.referenceNode = newReferenceNode;\n\n _this.forceUpdate();\n }\n });\n\n return _this;\n }\n\n var _proto = Manager.prototype;\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.referenceNode = null;\n };\n\n _proto.render = function render() {\n return React.createElement(ManagerReferenceNodeContext.Provider, {\n value: this.referenceNode\n }, React.createElement(ManagerReferenceNodeSetterContext.Provider, {\n value: this.setReferenceNode\n }, this.props.children));\n };\n\n return Manager;\n}(React.Component);\n\nexport { Manager as default };","module.exports = \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjIiIGhlaWdodD0iMTgiIHZpZXdCb3g9IjAgMCAyMiAxOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTIxLjE5NDMgMC4zNzg2MzJDMjAuOTg2MSAwLjIyNzMwOSAyMC43NDk4IDAuMTE3OTIxIDIwLjQ5ODggMC4wNTY3MjA3QzIwLjI0NzcgLTAuMDA0NDc5ODcgMTkuOTg2OSAtMC4wMTYyOTM3IDE5LjczMTMgMC4wMjE5NTQzQzE5LjQ3NTYgMC4wNjAyMDIzIDE5LjIzMDEgMC4xNDc3NjIgMTkuMDA4OCAwLjI3OTYzQzE4Ljc4NzQgMC40MTE0OTkgMTguNTk0NiAwLjU4NTA5MSAxOC40NDEzIDAuNzkwNDg2TDkuMTA2MjMgMTMuMjg2TDMuMTcwMTQgOC42MDE3MUMyLjc2MDg1IDguMjkyNDkgMi4yNDUwMiA4LjE1MzcyIDEuNzMzMjEgOC4yMTUxNEMxLjIyMTQxIDguMjc2NTcgMC43NTQzNzQgOC41MzMzIDAuNDMyMjE5IDguOTMwMzFDMC4xMTAwNjQgOS4zMjczMiAtMC4wNDE1Njg5IDkuODMzIDAuMDA5ODIzODUgMTAuMzM5QzAuMDYxMjE2NiAxMC44NDQ5IDAuMzExNTQ1IDExLjMxMDkgMC43MDcxNDggMTEuNjM3TDguMjQ0MjYgMTcuNTgzMkM4LjQ1MjU0IDE3Ljc0MzkgOC42OTExOSAxNy44NjIgOC45NDYyOCAxNy45MzA3QzkuMjAxMzYgMTcuOTk5NCA5LjQ2Nzc3IDE4LjAxNzIgOS43Mjk5MyAxNy45ODMyQzkuOTkyMSAxNy45NDkyIDEwLjI0NDggMTcuODY0MSAxMC40NzMyIDE3LjczMjdDMTAuNzAxNiAxNy42MDEzIDEwLjkwMTIgMTcuNDI2MyAxMS4wNjAyIDE3LjIxOEwyMS42MTgyIDMuMDk1MzFDMjEuNzcxMyAyLjg4OTUyIDIxLjg4MTggMi42NTU5OCAyMS45NDM0IDIuNDA4MDVDMjIuMDA1IDIuMTYwMTEgMjIuMDE2NCAxLjkwMjYzIDIxLjk3NzEgMS42NTAzM0MyMS45Mzc3IDEuMzk4MDMgMjEuODQ4MyAxLjE1NTg2IDIxLjcxNCAwLjkzNzY1MUMyMS41Nzk3IDAuNzE5NDQ1IDIxLjQwMzEgMC41Mjk0ODYgMjEuMTk0MyAwLjM3ODYzMloiIGZpbGw9IiMwNDQ2Q0EiLz4KPC9zdmc+Cg==\"","var call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar getMethod = require('../internals/get-method');\n\nmodule.exports = function (iterator, kind, value) {\n var innerResult, innerError;\n anObject(iterator);\n try {\n innerResult = getMethod(iterator, 'return');\n if (!innerResult) {\n if (kind === 'throw') throw value;\n return value;\n }\n innerResult = call(innerResult, iterator);\n } catch (error) {\n innerError = true;\n innerResult = error;\n }\n if (kind === 'throw') throw value;\n if (innerError) throw innerResult;\n anObject(innerResult);\n return value;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\nmodule.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var props = toIndexedObject(Properties);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], props[key]);\n return O;\n};\n","var classof = require('../internals/classof');\nvar getMethod = require('../internals/get-method');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (it != undefined) return getMethod(it, ITERATOR)\n || getMethod(it, '@@iterator')\n || Iterators[classof(it)];\n};\n","module.exports = {};\n","'use strict';\n\nvar bind = require('function-bind');\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $apply = GetIntrinsic('%Function.prototype.apply%');\nvar $call = GetIntrinsic('%Function.prototype.call%');\nvar $reflectApply = GetIntrinsic('%Reflect.apply%', true) || bind.call($call, $apply);\nvar $gOPD = GetIntrinsic('%Object.getOwnPropertyDescriptor%', true);\nvar $defineProperty = GetIntrinsic('%Object.defineProperty%', true);\nvar $max = GetIntrinsic('%Math.max%');\n\nif ($defineProperty) {\n try {\n $defineProperty({}, 'a', {\n value: 1\n });\n } catch (e) {\n // IE 8 has a broken defineProperty\n $defineProperty = null;\n }\n}\n\nmodule.exports = function callBind(originalFunction) {\n var func = $reflectApply(bind, $call, arguments);\n\n if ($gOPD && $defineProperty) {\n var desc = $gOPD(func, 'length');\n\n if (desc.configurable) {\n // original length, plus the receiver, minus any additional arguments (after the receiver)\n $defineProperty(func, 'length', {\n value: 1 + $max(0, originalFunction.length - (arguments.length - 1))\n });\n }\n }\n\n return func;\n};\n\nvar applyBind = function applyBind() {\n return $reflectApply(bind, $apply, arguments);\n};\n\nif ($defineProperty) {\n $defineProperty(module.exports, 'apply', {\n value: applyBind\n });\n} else {\n module.exports.apply = applyBind;\n}","'use strict';\n\nvar origSymbol = typeof Symbol !== 'undefined' && Symbol;\n\nvar hasSymbolSham = require('./shams');\n\nmodule.exports = function hasNativeSymbols() {\n if (typeof origSymbol !== 'function') {\n return false;\n }\n\n if (typeof Symbol !== 'function') {\n return false;\n }\n\n if (typeof origSymbol('foo') !== 'symbol') {\n return false;\n }\n\n if (typeof Symbol('bar') !== 'symbol') {\n return false;\n }\n\n return hasSymbolSham();\n};","'use strict';\n\nvar implementation = require('./implementation');\n\nvar supportsDescriptors = require('define-properties').supportsDescriptors;\n\nvar $gOPD = Object.getOwnPropertyDescriptor;\nvar $TypeError = TypeError;\n\nmodule.exports = function getPolyfill() {\n if (!supportsDescriptors) {\n throw new $TypeError('RegExp.prototype.flags requires a true ES5 environment that supports property descriptors');\n }\n\n if (/a/mig.flags === 'gim') {\n var descriptor = $gOPD(RegExp.prototype, 'flags');\n\n if (descriptor && typeof descriptor.get === 'function' && typeof /a/.dotAll === 'boolean') {\n return descriptor.get;\n }\n }\n\n return implementation;\n};","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar callBind = require('./');\n\nvar $indexOf = callBind(GetIntrinsic('String.prototype.indexOf'));\n\nmodule.exports = function callBoundIntrinsic(name, allowMissing) {\n var intrinsic = GetIntrinsic(name, !!allowMissing);\n\n if (typeof intrinsic === 'function' && $indexOf(name, '.prototype.') > -1) {\n return callBind(intrinsic);\n }\n\n return intrinsic;\n};","import styled from 'styled-components';\nimport { media } from 'theme/breakpoints';\nimport { StyledButton } from 'components/ui/button';\n\nexport const Section = styled.section`\n padding-top: ${(props) => (props.deleteMargin ? 0 : '3.5rem')};\n display: flex;\n align-items: center;\n justify-content: center;\n flex-direction: column;\n .load-more {\n margin: 80px auto 0;\n background-color: #fff;\n color: #0a4ed6;\n &:hover {\n background-color: #0a4ed6;\n color: #fff;\n }\n ${media.tablet} {\n margin: 72px auto 0;\n }\n }\n`;\n\nexport const Grid = styled.div`\n display: grid;\n grid-template-columns: repeat(3, 1fr);\n grid-column-gap: 40px;\n grid-row-gap: 40px;\n ${media.desktop} {\n grid-template-columns: repeat(2, 1fr);\n grid-column-gap: 24px;\n }\n`;\n\nexport const CustomButton = styled(StyledButton)``;\n","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { posts } from 'data/posts';\nimport ArticlePreview from 'components/blog/blogArticlePreview';\nimport Button from 'components/ui/button';\nimport * as Styled from './styled';\n\nconst AllArticles = ({ updates, deleteMargin }) => {\n const listenResize = () => {\n if (typeof window !== 'undefined' && window.innerWidth < 992) {\n return updates ? 8 : 13;\n }\n return updates ? 9 : 14;\n };\n const [countOfPosts, loadMore] = useState(listenResize());\n\n const renderRestOfArticles = () => {\n const blogPosts = posts.map((el, idx) => (\n \n
\n );\n};\n\nexport default TableMobile;\n\nTableMobile.propTypes = {\n pages: PropTypes.arrayOf(\n PropTypes.shape({\n name: PropTypes.string.isRequired,\n base: PropTypes.arrayOf(PropTypes.node.isRequired).isRequired,\n key: PropTypes.number.isRequired,\n }).isRequired,\n ).isRequired,\n data: PropTypes.arrayOf(\n PropTypes.shape({\n name: PropTypes.string.isRequired,\n tooltip: PropTypes.string,\n }),\n ).isRequired,\n compare: PropTypes.bool,\n};\n\nTableMobile.defaultProps = {\n compare: false,\n};\n","import styled from 'styled-components';\nimport { media } from 'theme/breakpoints';\n\nexport const FeaturesTable = styled.table`\n margin-bottom: 9rem;\n margin-top: 1rem;\n table-layout: fixed;\n width: 100%;\n max-width: 1200px;\n @media (max-width: 769px) {\n display: none;\n }\n & thead tr th {\n padding: 24px 15px 40px;\n &:not(:first-child) {\n border-left: 1px solid #ebebeb;\n }\n & div {\n & p {\n font-weight: 800;\n font-size: 20px;\n line-height: 25px;\n margin-bottom: 4px;\n }\n & span {\n font-weight: normal;\n font-size: 14px;\n line-height: 18px;\n }\n }\n }\n & thead th {\n border: none;\n &.plan {\n text-align: center;\n vertical-align: middle;\n }\n }\n\n & tbody tr th {\n padding: 16px 0 16px 16px;\n font-size: 14px;\n font-weight: 500;\n position: relative;\n border-radius: 4px;\n cursor: pointer;\n display: flex;\n align-items: center;\n\n &.title {\n display: table-cell;\n background-color: #fff;\n border-bottom: 1px solid #ebebeb;\n padding-top: 64px;\n font-weight: 900;\n text-transform: uppercase;\n }\n\n span {\n display: inline-block;\n position: relative;\n }\n i {\n transform: scale(0.7);\n margin-left: 4px;\n border: 1px solid;\n border-radius: 50%;\n /* display: flex; */\n min-width: 20px;\n height: 20px;\n display: inline-block;\n text-align: center;\n justify-content: center;\n align-items: center;\n display: flex;\n max-width: 18px;\n color: #aaa;\n\n svg {\n fill: #aaa;\n }\n\n &:hover {\n color: black;\n svg {\n fill: black;\n }\n }\n }\n }\n & th,\n td {\n padding: 0 16px;\n text-align: center;\n vertical-align: middle !important;\n border: none;\n font-size: 14px;\n font-weight: 400;\n &:last-child {\n border-radius: 4px;\n }\n }\n & td {\n border-left: 1px solid #ebebeb;\n }\n .subinfo {\n color: #788487;\n font-weight: 300;\n font-size: 0.75rem;\n max-width: 265px;\n }\n\n & tr {\n th {\n &:first-child {\n text-align: left;\n }\n }\n }\n\n @media (max-width: 810px) {\n width: 100%;\n margin-bottom: 1rem;\n background-color: transparent;\n text-align: center;\n & td {\n padding: 0;\n }\n & th {\n padding-left: 0;\n }\n }\n\n & thead {\n background-color: #fff;\n }\n\n & tr {\n background-color: #fff;\n border-radius: 4px;\n }\n\n & tbody tr:nth-child(even) {\n background-color: #f8f8f8;\n border-radius: 4px;\n }\n\n & img {\n max-width: 12px;\n }\n & .icon-cross {\n color: #f50057;\n font-size: 25px;\n }\n`;\n\nexport const Header = styled.div`\n margin: 54px 0 76px;\n display: flex;\n background-color: transparent;\n flex-direction: column;\n align-items: center;\n & a {\n margin-top: 32px;\n }\n p {\n margin: 24px 0 0 0;\n }\n ${media.mobile} {\n margin: 0 0 0;\n }\n`;\n","import React from 'react';\nimport {\n dataSet,\n MICRO,\n SCALE,\n STARTER,\n STARTUP,\n FeatureConditions,\n Features,\n} from 'data/pricing/features';\nimport Button from 'components/ui/button';\nimport Tippy from '@tippyjs/react';\nimport TableMobile from 'components/pricing/TableMobile';\nimport checkmark from 'img/ui/checkmarkBlue.svg';\n// import cross from 'img/ui/cross.svg';\nimport LearnMoreIcon from 'img/ui/moreInfo.inline.svg';\nimport * as Styled from './styled';\nimport 'css/entypo.css';\n\nimport { Plans } from '../../../data/pricing/plans';\n\nconst pages = [\n { name: 'BUSINESS', base: SCALE, key: 0 },\n { name: 'STARTUP', base: STARTUP, key: 1 },\n { name: 'STARTER', base: STARTER, key: 2 },\n { name: 'MICRO', base: MICRO, key: 3 },\n];\n\nconst billingAndService = [\n {\n name: 'Billing cycle',\n key: Features.BillingAndService.Term,\n description: '',\n },\n {\n name: 'Payment type',\n key: Features.BillingAndService.PaymentType,\n description: 'Available method of payment.',\n },\n {\n name: 'Email support',\n key: Features.BillingAndService.EmailSupport,\n description: 'Get help by the email.',\n },\n {\n name: 'Chat support',\n key: Features.BillingAndService.ChatSupport,\n description: 'Get help on a chat.',\n },\n // {\n // name: 'Priority support',\n // key: 'priority_support',\n // description: 'Your cases are most important for our support team.',\n // },\n {\n name: 'Custom paperwork',\n key: Features.BillingAndService.CustomPaperwork,\n description: 'Custom agreements, DPA, Security audits etc.',\n },\n {\n name: 'Product training',\n key: Features.BillingAndService.Training,\n description: 'Training session that will teach you how to effectivly use LiveSession.',\n },\n];\n\nconst privacy = [\n {\n name: 'Exclude sensitive data',\n key: Features.Privacy.ContentExclude,\n description: 'Exclude static or dynamic sensitive elements from beeing recorded.',\n },\n {\n name: 'GDPR compliance',\n key: Features.Privacy.GDPR,\n description: '',\n },\n {\n name: 'CCPA compliance',\n key: Features.Privacy.CCPA,\n description: '',\n },\n];\n\nconst usage = [\n {\n name: 'Sessions per month',\n key: Features.Usage.SessionsLimit,\n description: 'The number of sessions which can be recorded every month.',\n },\n {\n name: 'Data retention',\n key: Features.Usage.DataRetention,\n description: 'Choose for how long your data will be stored.',\n },\n {\n name: 'Team members',\n key: Features.Usage.Seats,\n description: 'Number of people that can use organization account.',\n },\n {\n name: 'Websites / Projects',\n key: Features.Usage.Websites,\n description: 'Create a different projects for multiple websites.',\n },\n];\n\nconst sessionReplays = [\n {\n name: 'Session replay',\n key: Features.SessionReplays.SessionReplay,\n description: 'See mouse movements, clicks, scrolling and more.',\n },\n {\n name: 'Clickmaps',\n key: Features.SessionReplays.ClickMaps,\n description: 'See how users interact with specific elements on your website.',\n },\n {\n name: 'Heatmaps',\n key: Features.SessionReplays.Heatmaps,\n description: 'Find the hottest sections on your website with heat maps.',\n },\n {\n name: 'Engagement score',\n key: Features.SessionReplays.EngagementScore,\n description: 'Find and watch the most interesting recordings based on user activity.',\n },\n {\n name: 'Speed up session replay',\n key: Features.SessionReplays.PlaybackSpeed,\n description: 'Speed up recordings to watch them faster.',\n },\n {\n name: 'Skip inactivity',\n key: Features.SessionReplays.SkipInactivity,\n description: 'Skip idle moments in the recordings.',\n },\n {\n name: 'Autoplay',\n key: Features.SessionReplays.Autoplay,\n description: 'Automatically play next session from current segment.',\n },\n {\n name: 'Recording rules',\n key: Features.SessionReplays.RecordingRules,\n description: 'Exclude recording based on their URL, IP and other variables.',\n },\n {\n name: 'Rage clicks & Error clicks',\n key: Features.SessionReplays.RageAndErrorClicks,\n description: 'Spot errors and points of frustration.',\n },\n {\n name: 'Filters',\n key: Features.SessionReplays.Filters,\n description: 'Use a wide range of filtering options to browse your recordings.',\n },\n {\n name: 'Forms analytics',\n key: Features.SessionReplays.FormAnalytics,\n description: 'Track forms submissions and abandonments.',\n },\n {\n name: 'Session sharing',\n key: Features.SessionReplays.SessionsSharing,\n description: 'Share sessions with your team.',\n },\n {\n name: 'Minimum time on page',\n key: Features.SessionReplays.MinDuration,\n description: \"Don't capture sessions shorter than chosen time.\",\n },\n {\n name: 'Tagging',\n key: Features.SessionReplays.Tagging,\n description: 'Tag session recordings to find them easily later.',\n },\n {\n name: 'Resource backup',\n key: Features.SessionReplays.ResourceSynchronization,\n description:\n 'Styles and fonts are saved to properly display session even original files are deleted.',\n },\n {\n name: 'DevTools',\n key: Features.SessionReplays.DeveloperTools,\n description: 'Track console logs and errors.',\n },\n];\n\nconst analytics = [\n {\n name: 'Funnels',\n key: Features.Analytics.Funnels,\n description: 'Create funnels to track conversions and drop-offs.',\n },\n {\n name: 'Dashboards',\n key: Features.Analytics.Dashboard,\n description: 'Build dashboards with metrics you want to track.',\n },\n {\n name: 'User journey',\n key: Features.Analytics.UserJourney,\n description: 'Discover the most important actions made during the user’s session',\n },\n {\n name: 'Segments',\n key: Features.Analytics.Segments,\n description: 'Build multiple segments to track different behavioral patterns.',\n },\n {\n name: 'Email notifications',\n key: Features.Analytics.SegmentNotifications,\n description: 'Daily or weekly email notifications about segment changes.',\n },\n {\n name: 'Data export',\n key: Features.Analytics.DataExport,\n description: 'Export users or events data to CSV or JSON.',\n },\n];\n\nconst features = [\n {\n name: 'Integrations',\n key: Features.Other.Integrations,\n description: 'Integrate LiveSession with other tools.',\n },\n {\n name: 'Premium integrations',\n key: Features.Other.PremiumIntegrations, // TODO:\n description: 'Integrate LiveSession with Intercom, LiveChat or Zendesk.',\n },\n {\n name: 'User identification',\n key: Features.Other.UserIdentification,\n description: 'Identify your users by name or email.',\n },\n {\n name: 'Custom properties',\n key: Features.Other.CustomProperties,\n description:\n 'Extend sessions with custom data (e.g. subscription plan) and use it to filter your recordings.',\n },\n {\n name: '2FA',\n key: Features.Other.MultiFactorAuthentication,\n description: '',\n soon: true,\n },\n {\n name: 'Notes',\n key: Features.Other.Notes,\n description: '',\n soon: true,\n },\n {\n name: 'Custom events',\n key: Features.Other.CustomEvents,\n description: 'Capture any interaction your customers make with your app.',\n },\n {\n name: 'REST API',\n key: Features.Other.RestAPI,\n description: 'Retrieve collected data programmatically.',\n },\n {\n name: 'Audit logs',\n key: Features.Other.AuditLogs,\n description: '',\n soon: true,\n },\n {\n name: 'SSO/SAML (Octa, Google, MS)',\n key: Features.Other.SSO,\n description: '',\n soon: true,\n },\n {\n name: 'Alerts',\n key: Features.Other.Alerts, // ?\n description: '',\n soon: true,\n },\n {\n name: 'Webhooks',\n key: Features.Other.Webhooks,\n description: '',\n soon: true,\n },\n {\n name: 'Custom user access',\n key: Features.Other.CustomUserAccess,\n description: '',\n soon: true,\n },\n {\n name: 'Organizations',\n key: Features.Other.Organizations,\n description: '',\n soon: true,\n },\n];\n\nconst renderList = (list, featureList) => {\n const renderContent = (feature, plan) => {\n const planFeatures = featureList[feature];\n if (!planFeatures) {\n return null;\n }\n const feat = planFeatures[plan];\n\n if (typeof feat !== 'undefined') {\n if (typeof feat === 'boolean') {\n return feat ? : ' - ';\n //
\n }\n\n return feat;\n }\n\n return null;\n };\n return list.map((item) => {\n if (item.soon) return null;\n return (\n
\n Compare the features and benefits of each plan. Still not sure which plan is best for you?{' '}\n
\n \nFree
\n $0 / mo\nBasic
\n starting at $49 / mo\nProfessional
\n starting at $99 / mo\nEnterprise
\n custom pricing\n\n \n {f.tooltip ? (\n
Custom
\n\n starts from{' '}\n {numberWithSpaces(pricingData[Plans.Enterprise].range.min)}{' '}\n sessions\n
\n{data?.range?.labels[0]}
\n{data?.range?.labels[1]}
\nSave money with our early-stage program.
\nAdd our badge to your website and get extra sessions.
\nWe accept guest post submissions!
\nRead how RocketLink grew with LiveSession
\n