{"version":3,"file":"78643.1c703772.es5.js","mappings":"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","sources":["webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-event-bus/src/index.ts","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-helpers-common/src/browser/send-event/helpers.ts","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-helpers-common/src/browser/send-event/index.ts","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-icon/src/alfa-logo.tsx","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-layout/src/helpers/map-width.ts","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-portal/src/config.ts","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-portal/src/helpers.ts","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-portal/src/portal.tsx","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-stack/src/config.ts","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-stack/src/stacking-context.ts","webpack://assr-alfaleasing/./node_modules/@alfa-bank/site-stack/src/stack.tsx","webpack://assr-alfaleasing/./node_modules/events/events.js","webpack://assr-alfaleasing/./node_modules/exenv/index.js"],"sourcesContent":["import { EventEmitter } from 'events';\n\nexport const emitter = new EventEmitter();\n\nemitter.setMaxListeners(100);\n\nexport const subscribe = (event: string, handler: (...args: T[]) => void) =>\n emitter.on(event, handler);\n\nexport const unsubscribe = (event: string, handler: (...args: T[]) => void) =>\n emitter.off(event, handler);\n\nexport const publish = (event: string, data: T) => emitter.emit(event, data);\n","import isEmpty from 'lodash/isEmpty';\n\nimport type { TWindowWithDataLayer, TWindowWithYandexMetric } from './models';\n\nexport const hasYandexMetric = (obj: unknown): obj is TWindowWithYandexMetric =>\n !!obj && typeof (obj as TWindowWithYandexMetric).ym === 'function';\n\nexport const hasDataLayer = (obj: unknown): obj is TWindowWithDataLayer =>\n !!(obj && (obj as TWindowWithDataLayer).dataLayer);\n\nexport const isNotEmpty = (obj: T): obj is NonNullable => !isEmpty(obj);\n","import type { TEvent } from './models';\nimport { hasDataLayer, hasYandexMetric, isNotEmpty } from './helpers';\n\nexport const sendEvent = (evt: TEvent = {}): void => {\n const globalContext = window;\n const { ymEvent, ...gaEvent } = evt;\n\n if (process.env.NODE_ENV === 'development') {\n if (isNotEmpty(gaEvent)) {\n console.info('Google Event:\\n', gaEvent);\n }\n if (isNotEmpty(ymEvent)) {\n const ymEvents = [ymEvent].flat();\n ymEvents.forEach(event => {\n const { method = 'reachGoal', params } = event;\n console.info('Yandex Event:\\n', method, ...[params].flat());\n });\n }\n }\n\n if (hasDataLayer(globalContext) && isNotEmpty(gaEvent)) {\n const completeEvt = {\n path: globalContext.location.pathname,\n ...gaEvent,\n };\n\n globalContext.dataLayer.push(completeEvt);\n }\n\n if (hasYandexMetric(globalContext) && isNotEmpty(ymEvent)) {\n const ymEvents = [ymEvent].flat();\n ymEvents.forEach(event => {\n const { method = 'reachGoal', params } = event;\n\n globalContext.ym(`${process.env.CUSTOM_YTM_ID}`, method, ...[params].flat());\n });\n }\n};\n","import type { FC, SVGAttributes } from 'react';\nimport React from 'react';\n\nexport const IconAlfaLogo: FC> = props => (\n \n \n \n);\n","const isNumber = (value: string | number): value is number => typeof value === 'number';\n\nexport const mapWidth = (value: string | number) => {\n if (isNumber(value) && value > 0 && value <= 1) {\n return `${value * 100}%`;\n }\n\n if (isNumber(value) && value > 1) {\n return `${value}px`;\n }\n\n return value;\n};\n","export const PORTAL_CONTAINER_ATTRIBUTE = 'alfa-portal-container';\n","import { PORTAL_CONTAINER_ATTRIBUTE } from './config';\n\nfunction createPortalContainer() {\n const portalContainer = document.createElement('div');\n\n portalContainer.setAttribute(PORTAL_CONTAINER_ATTRIBUTE, '');\n\n document.body.appendChild(portalContainer);\n\n return portalContainer;\n}\n\nexport function getPortalContainer() {\n const portalContainer = document.querySelector(`[${PORTAL_CONTAINER_ATTRIBUTE}]`);\n\n if (portalContainer) {\n return portalContainer;\n }\n\n return createPortalContainer();\n}\n","import type { ReactNode } from 'react';\nimport { Component } from 'react';\nimport { createPortal } from 'react-dom';\nimport { canUseDOM } from 'exenv';\n\nimport { getPortalContainer } from './helpers';\n\ninterface IProps {\n /** Компонент который будет вынесен в конец DOM у body */\n children: ReactNode;\n}\n\ninterface IState {\n mounted: boolean;\n}\n\n/**\n * Компонент-обертка для [ReactDOM#createPortal](https://reactjs.org/docs/portals.html).\n * Используется в виджетах, которые позиционируются вне нормального потока документа: модальные окна, тултипы, попапы и т. д.\n */\nexport class Portal extends Component {\n state = {\n /**\n * Определяет смонтирован ли компонент. Проверка нужна для [ReactDOM#hydrate](https://reactjs.org/docs/react-dom.html#hydrate).\n * Подробнее: https://github.com/facebook/react/issues/13097#issuecomment-405658104\n */\n mounted: false,\n };\n\n el?: HTMLDivElement;\n\n constructor(props: IProps) {\n super(props);\n\n if (!canUseDOM) {\n return;\n }\n\n const portalContainer = getPortalContainer();\n\n this.el = document.createElement('div');\n portalContainer.appendChild(this.el);\n }\n\n componentDidMount() {\n this.setState({\n mounted: true,\n });\n }\n\n componentWillUnmount() {\n const portalContainer = getPortalContainer();\n\n if (this.el) {\n portalContainer.removeChild(this.el);\n }\n }\n\n render(): ReactNode {\n const { mounted } = this.state;\n const { children } = this.props;\n\n if (mounted && this.el) {\n return createPortal(children, this.el);\n }\n\n return null;\n }\n}\n","/**\n * Набор констант для z-index соответствующих классов компонентов.\n * Значения выбраны по приоритету. Например, модальное окно с оверлеем должно всегда быть выше других компонентов.\n */\nexport const stackingOrder = {\n /**\n * Для компонентов с возможностью фокуса: кнопки, поля ввода\n */\n FOCUSED: 2,\n /**\n * Значение по-умолчанию\n */\n DEFAULT: 5,\n /**\n * Компоненты, которые управляют своей позицией, например, тултипы\n */\n POSITIONER: 20,\n /**\n * Для модальных окон с оверлеем\n */\n OVERLAY: 30,\n};\n\nexport const config = {\n stackingOrder,\n};\n","import { createContext } from 'react';\n\nimport { stackingOrder } from './config';\n\nexport const StackingContext = createContext(stackingOrder.DEFAULT);\n","import type { FC } from 'react';\nimport React, { cloneElement } from 'react';\n\nimport { stackingOrder } from './config';\nimport { StackingContext } from './stacking-context';\nimport type { IProps } from './models';\n\n/**\n * Компонент управляет stacking order других компонентов через [React.Context](https://reactjs.org/docs/context.html).\n */\nexport const Stack: FC = ({\n children,\n /**\n * Значение z-index по-умолчанию.\n * Если StackingContext.Consumer передал большее значение, то будет использоваться оно.\n */\n value = stackingOrder.DEFAULT,\n ...transitProps\n}) => (\n \n {previousValue => {\n const currentValue = Math.max(value, previousValue);\n const nextValue = currentValue + 1;\n\n return (\n \n {cloneElement(children(currentValue), { ...transitProps })}\n \n );\n }}\n \n);\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar R = typeof Reflect === 'object' ? Reflect : null\nvar ReflectApply = R && typeof R.apply === 'function'\n ? R.apply\n : function ReflectApply(target, receiver, args) {\n return Function.prototype.apply.call(target, receiver, args);\n }\n\nvar ReflectOwnKeys\nif (R && typeof R.ownKeys === 'function') {\n ReflectOwnKeys = R.ownKeys\n} else if (Object.getOwnPropertySymbols) {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target)\n .concat(Object.getOwnPropertySymbols(target));\n };\n} else {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target);\n };\n}\n\nfunction ProcessEmitWarning(warning) {\n if (console && console.warn) console.warn(warning);\n}\n\nvar NumberIsNaN = Number.isNaN || function NumberIsNaN(value) {\n return value !== value;\n}\n\nfunction EventEmitter() {\n EventEmitter.init.call(this);\n}\nmodule.exports = EventEmitter;\nmodule.exports.once = once;\n\n// Backwards-compat with node 0.10.x\nEventEmitter.EventEmitter = EventEmitter;\n\nEventEmitter.prototype._events = undefined;\nEventEmitter.prototype._eventsCount = 0;\nEventEmitter.prototype._maxListeners = undefined;\n\n// By default EventEmitters will print a warning if more than 10 listeners are\n// added to it. This is a useful default which helps finding memory leaks.\nvar defaultMaxListeners = 10;\n\nfunction checkListener(listener) {\n if (typeof listener !== 'function') {\n throw new TypeError('The \"listener\" argument must be of type Function. Received type ' + typeof listener);\n }\n}\n\nObject.defineProperty(EventEmitter, 'defaultMaxListeners', {\n enumerable: true,\n get: function() {\n return defaultMaxListeners;\n },\n set: function(arg) {\n if (typeof arg !== 'number' || arg < 0 || NumberIsNaN(arg)) {\n throw new RangeError('The value of \"defaultMaxListeners\" is out of range. It must be a non-negative number. Received ' + arg + '.');\n }\n defaultMaxListeners = arg;\n }\n});\n\nEventEmitter.init = function() {\n\n if (this._events === undefined ||\n this._events === Object.getPrototypeOf(this)._events) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n }\n\n this._maxListeners = this._maxListeners || undefined;\n};\n\n// Obviously not all Emitters should be limited to 10. This function allows\n// that to be increased. Set to zero for unlimited.\nEventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {\n if (typeof n !== 'number' || n < 0 || NumberIsNaN(n)) {\n throw new RangeError('The value of \"n\" is out of range. It must be a non-negative number. Received ' + n + '.');\n }\n this._maxListeners = n;\n return this;\n};\n\nfunction _getMaxListeners(that) {\n if (that._maxListeners === undefined)\n return EventEmitter.defaultMaxListeners;\n return that._maxListeners;\n}\n\nEventEmitter.prototype.getMaxListeners = function getMaxListeners() {\n return _getMaxListeners(this);\n};\n\nEventEmitter.prototype.emit = function emit(type) {\n var args = [];\n for (var i = 1; i < arguments.length; i++) args.push(arguments[i]);\n var doError = (type === 'error');\n\n var events = this._events;\n if (events !== undefined)\n doError = (doError && events.error === undefined);\n else if (!doError)\n return false;\n\n // If there is no 'error' event listener then throw.\n if (doError) {\n var er;\n if (args.length > 0)\n er = args[0];\n if (er instanceof Error) {\n // Note: The comments on the `throw` lines are intentional, they show\n // up in Node's output if this results in an unhandled exception.\n throw er; // Unhandled 'error' event\n }\n // At least give some kind of context to the user\n var err = new Error('Unhandled error.' + (er ? ' (' + er.message + ')' : ''));\n err.context = er;\n throw err; // Unhandled 'error' event\n }\n\n var handler = events[type];\n\n if (handler === undefined)\n return false;\n\n if (typeof handler === 'function') {\n ReflectApply(handler, this, args);\n } else {\n var len = handler.length;\n var listeners = arrayClone(handler, len);\n for (var i = 0; i < len; ++i)\n ReflectApply(listeners[i], this, args);\n }\n\n return true;\n};\n\nfunction _addListener(target, type, listener, prepend) {\n var m;\n var events;\n var existing;\n\n checkListener(listener);\n\n events = target._events;\n if (events === undefined) {\n events = target._events = Object.create(null);\n target._eventsCount = 0;\n } else {\n // To avoid recursion in the case that type === \"newListener\"! Before\n // adding it to the listeners, first emit \"newListener\".\n if (events.newListener !== undefined) {\n target.emit('newListener', type,\n listener.listener ? listener.listener : listener);\n\n // Re-assign `events` because a newListener handler could have caused the\n // this._events to be assigned to a new object\n events = target._events;\n }\n existing = events[type];\n }\n\n if (existing === undefined) {\n // Optimize the case of one listener. Don't need the extra array object.\n existing = events[type] = listener;\n ++target._eventsCount;\n } else {\n if (typeof existing === 'function') {\n // Adding the second element, need to change to array.\n existing = events[type] =\n prepend ? [listener, existing] : [existing, listener];\n // If we've already got an array, just append.\n } else if (prepend) {\n existing.unshift(listener);\n } else {\n existing.push(listener);\n }\n\n // Check for listener leak\n m = _getMaxListeners(target);\n if (m > 0 && existing.length > m && !existing.warned) {\n existing.warned = true;\n // No error code for this since it is a Warning\n // eslint-disable-next-line no-restricted-syntax\n var w = new Error('Possible EventEmitter memory leak detected. ' +\n existing.length + ' ' + String(type) + ' listeners ' +\n 'added. Use emitter.setMaxListeners() to ' +\n 'increase limit');\n w.name = 'MaxListenersExceededWarning';\n w.emitter = target;\n w.type = type;\n w.count = existing.length;\n ProcessEmitWarning(w);\n }\n }\n\n return target;\n}\n\nEventEmitter.prototype.addListener = function addListener(type, listener) {\n return _addListener(this, type, listener, false);\n};\n\nEventEmitter.prototype.on = EventEmitter.prototype.addListener;\n\nEventEmitter.prototype.prependListener =\n function prependListener(type, listener) {\n return _addListener(this, type, listener, true);\n };\n\nfunction onceWrapper() {\n if (!this.fired) {\n this.target.removeListener(this.type, this.wrapFn);\n this.fired = true;\n if (arguments.length === 0)\n return this.listener.call(this.target);\n return this.listener.apply(this.target, arguments);\n }\n}\n\nfunction _onceWrap(target, type, listener) {\n var state = { fired: false, wrapFn: undefined, target: target, type: type, listener: listener };\n var wrapped = onceWrapper.bind(state);\n wrapped.listener = listener;\n state.wrapFn = wrapped;\n return wrapped;\n}\n\nEventEmitter.prototype.once = function once(type, listener) {\n checkListener(listener);\n this.on(type, _onceWrap(this, type, listener));\n return this;\n};\n\nEventEmitter.prototype.prependOnceListener =\n function prependOnceListener(type, listener) {\n checkListener(listener);\n this.prependListener(type, _onceWrap(this, type, listener));\n return this;\n };\n\n// Emits a 'removeListener' event if and only if the listener was removed.\nEventEmitter.prototype.removeListener =\n function removeListener(type, listener) {\n var list, events, position, i, originalListener;\n\n checkListener(listener);\n\n events = this._events;\n if (events === undefined)\n return this;\n\n list = events[type];\n if (list === undefined)\n return this;\n\n if (list === listener || list.listener === listener) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else {\n delete events[type];\n if (events.removeListener)\n this.emit('removeListener', type, list.listener || listener);\n }\n } else if (typeof list !== 'function') {\n position = -1;\n\n for (i = list.length - 1; i >= 0; i--) {\n if (list[i] === listener || list[i].listener === listener) {\n originalListener = list[i].listener;\n position = i;\n break;\n }\n }\n\n if (position < 0)\n return this;\n\n if (position === 0)\n list.shift();\n else {\n spliceOne(list, position);\n }\n\n if (list.length === 1)\n events[type] = list[0];\n\n if (events.removeListener !== undefined)\n this.emit('removeListener', type, originalListener || listener);\n }\n\n return this;\n };\n\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\n\nEventEmitter.prototype.removeAllListeners =\n function removeAllListeners(type) {\n var listeners, events, i;\n\n events = this._events;\n if (events === undefined)\n return this;\n\n // not listening for removeListener, no need to emit\n if (events.removeListener === undefined) {\n if (arguments.length === 0) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n } else if (events[type] !== undefined) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else\n delete events[type];\n }\n return this;\n }\n\n // emit removeListener for all listeners on all events\n if (arguments.length === 0) {\n var keys = Object.keys(events);\n var key;\n for (i = 0; i < keys.length; ++i) {\n key = keys[i];\n if (key === 'removeListener') continue;\n this.removeAllListeners(key);\n }\n this.removeAllListeners('removeListener');\n this._events = Object.create(null);\n this._eventsCount = 0;\n return this;\n }\n\n listeners = events[type];\n\n if (typeof listeners === 'function') {\n this.removeListener(type, listeners);\n } else if (listeners !== undefined) {\n // LIFO order\n for (i = listeners.length - 1; i >= 0; i--) {\n this.removeListener(type, listeners[i]);\n }\n }\n\n return this;\n };\n\nfunction _listeners(target, type, unwrap) {\n var events = target._events;\n\n if (events === undefined)\n return [];\n\n var evlistener = events[type];\n if (evlistener === undefined)\n return [];\n\n if (typeof evlistener === 'function')\n return unwrap ? [evlistener.listener || evlistener] : [evlistener];\n\n return unwrap ?\n unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length);\n}\n\nEventEmitter.prototype.listeners = function listeners(type) {\n return _listeners(this, type, true);\n};\n\nEventEmitter.prototype.rawListeners = function rawListeners(type) {\n return _listeners(this, type, false);\n};\n\nEventEmitter.listenerCount = function(emitter, type) {\n if (typeof emitter.listenerCount === 'function') {\n return emitter.listenerCount(type);\n } else {\n return listenerCount.call(emitter, type);\n }\n};\n\nEventEmitter.prototype.listenerCount = listenerCount;\nfunction listenerCount(type) {\n var events = this._events;\n\n if (events !== undefined) {\n var evlistener = events[type];\n\n if (typeof evlistener === 'function') {\n return 1;\n } else if (evlistener !== undefined) {\n return evlistener.length;\n }\n }\n\n return 0;\n}\n\nEventEmitter.prototype.eventNames = function eventNames() {\n return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : [];\n};\n\nfunction arrayClone(arr, n) {\n var copy = new Array(n);\n for (var i = 0; i < n; ++i)\n copy[i] = arr[i];\n return copy;\n}\n\nfunction spliceOne(list, index) {\n for (; index + 1 < list.length; index++)\n list[index] = list[index + 1];\n list.pop();\n}\n\nfunction unwrapListeners(arr) {\n var ret = new Array(arr.length);\n for (var i = 0; i < ret.length; ++i) {\n ret[i] = arr[i].listener || arr[i];\n }\n return ret;\n}\n\nfunction once(emitter, name) {\n return new Promise(function (resolve, reject) {\n function errorListener(err) {\n emitter.removeListener(name, resolver);\n reject(err);\n }\n\n function resolver() {\n if (typeof emitter.removeListener === 'function') {\n emitter.removeListener('error', errorListener);\n }\n resolve([].slice.call(arguments));\n };\n\n eventTargetAgnosticAddListener(emitter, name, resolver, { once: true });\n if (name !== 'error') {\n addErrorHandlerIfEventEmitter(emitter, errorListener, { once: true });\n }\n });\n}\n\nfunction addErrorHandlerIfEventEmitter(emitter, handler, flags) {\n if (typeof emitter.on === 'function') {\n eventTargetAgnosticAddListener(emitter, 'error', handler, flags);\n }\n}\n\nfunction eventTargetAgnosticAddListener(emitter, name, listener, flags) {\n if (typeof emitter.on === 'function') {\n if (flags.once) {\n emitter.once(name, listener);\n } else {\n emitter.on(name, listener);\n }\n } else if (typeof emitter.addEventListener === 'function') {\n // EventTarget does not have `error` event semantics like Node\n // EventEmitters, we do not listen for `error` events here.\n emitter.addEventListener(name, function wrapListener(arg) {\n // IE does not have builtin `{ once: true }` support so we\n // have to do it manually.\n if (flags.once) {\n emitter.removeEventListener(name, wrapListener);\n }\n listener(arg);\n });\n } else {\n throw new TypeError('The \"emitter\" argument must be of type EventEmitter. Received type ' + typeof emitter);\n }\n}\n","/*!\n Copyright (c) 2015 Jed Watson.\n Based on code that is Copyright 2013-2015, Facebook, Inc.\n All rights reserved.\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar canUseDOM = !!(\n\t\ttypeof window !== 'undefined' &&\n\t\twindow.document &&\n\t\twindow.document.createElement\n\t);\n\n\tvar ExecutionEnvironment = {\n\n\t\tcanUseDOM: canUseDOM,\n\n\t\tcanUseWorkers: typeof Worker !== 'undefined',\n\n\t\tcanUseEventListeners:\n\t\t\tcanUseDOM && !!(window.addEventListener || window.attachEvent),\n\n\t\tcanUseViewport: canUseDOM && !!window.screen\n\n\t};\n\n\tif (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\tdefine(function () {\n\t\t\treturn ExecutionEnvironment;\n\t\t});\n\t} else if (typeof module !== 'undefined' && module.exports) {\n\t\tmodule.exports = ExecutionEnvironment;\n\t} else {\n\t\twindow.ExecutionEnvironment = ExecutionEnvironment;\n\t}\n\n}());\n"],"names":["emitter","EventEmitter","setMaxListeners","subscribe","event","handler","on","unsubscribe","off","publish","data","emit","isNotEmpty","obj","isEmpty","sendEvent","evt","globalContext","window","ymEvent","gaEvent","dataLayer","completeEvt","path","location","pathname","push","ym","hasYandexMetric","flat","forEach","method","params","process","CUSTOM_YTM_ID","IconAlfaLogo","props","height","viewBox","width","clipRule","d","fill","fillRule","isNumber","value","mapWidth","PORTAL_CONTAINER_ATTRIBUTE","getPortalContainer","portalContainer","document","querySelector","createElement","setAttribute","body","appendChild","createPortalContainer","Portal","state","mounted","el","canUseDOM","componentDidMount","this","setState","componentWillUnmount","removeChild","render","children","createPortal","Component","stackingOrder","FOCUSED","DEFAULT","POSITIONER","OVERLAY","StackingContext","createContext","Stack","transitProps","Consumer","previousValue","currentValue","Math","max","nextValue","Provider","cloneElement","ReflectOwnKeys","R","Reflect","ReflectApply","apply","target","receiver","args","Function","prototype","call","ownKeys","Object","getOwnPropertySymbols","getOwnPropertyNames","concat","NumberIsNaN","Number","isNaN","init","module","exports","once","name","Promise","resolve","reject","errorListener","err","removeListener","resolver","slice","arguments","eventTargetAgnosticAddListener","flags","addErrorHandlerIfEventEmitter","_events","undefined","_eventsCount","_maxListeners","defaultMaxListeners","checkListener","listener","TypeError","_getMaxListeners","that","_addListener","type","prepend","m","events","existing","warning","create","newListener","unshift","length","warned","w","Error","String","count","console","warn","onceWrapper","fired","wrapFn","_onceWrap","wrapped","bind","_listeners","unwrap","evlistener","arr","ret","Array","i","unwrapListeners","arrayClone","listenerCount","n","copy","addEventListener","wrapListener","arg","removeEventListener","defineProperty","enumerable","get","set","RangeError","getPrototypeOf","getMaxListeners","doError","error","er","message","context","len","listeners","addListener","prependListener","prependOnceListener","list","position","originalListener","shift","index","pop","spliceOne","removeAllListeners","key","keys","rawListeners","eventNames","ExecutionEnvironment","canUseWorkers","Worker","canUseEventListeners","attachEvent","canUseViewport","screen"],"sourceRoot":""}