{"version":3,"file":"static/js/6787.b15fbead.js","mappings":"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AAA,QAGJ49B,CACP,CAEcI,ICxCf,MAAeA,EAAY3C,EAAAA,qCCrB3B,KACE,IAAO,OACP,QAAW,uBACX,MAAS,QACT,GAAM,WACN,GAAM,mBACN,GAAM,UACN,GAAM,uBACN,GAAM,cACN,GAAM,sBACN,GAAM,WACN,GAAM,UACN,GAAM,UACN,GAAM,SACN,GAAM,aACN,GAAM,YACN,GAAM,iBACN,GAAM,UACN,GAAM,YACN,GAAM,QACN,GAAM,mBACN,GAAM,aACN,GAAM,yBACN,GAAM,WACN,GAAM,aACN,GAAM,UACN,GAAM,eACN,GAAM,WACN,GAAM,UACN,GAAM,UACN,GAAM,QACN,GAAM,sBACN,GAAM,UACN,GAAM,oBACN,GAAM,UACN,GAAM,mCACN,GAAM,SACN,GAAM,UACN,GAAM,SACN,GAAM,gBACN,GAAM,WACN,GAAM,UACN,GAAM,SACN,GAAM,SACN,GAAM,0BACN,GAAM,oCACN,GAAM,2BACN,GAAM,QACN,GAAM,cACN,GAAM,gBACN,GAAM,eACN,GAAM,QACN,GAAM,WACN,GAAM,QACN,GAAM,WACN,GAAM,aACN,GAAM,OACN,GAAM,aACN,GAAM,aACN,GAAM,mBACN,GAAM,SACN,GAAM,iBACN,GAAM,UACN,GAAM,WACN,GAAM,UACN,GAAM,WACN,GAAM,qBACN,GAAM,UACN,GAAM,UACN,GAAM,UACN,GAAM,QACN,GAAM,iBACN,GAAM,UACN,GAAM,QACN,GAAM,WACN,GAAM,UACN,GAAM,OACN,GAAM,mBACN,GAAM,iCACN,GAAM,gBACN,GAAM,SACN,GAAM,QACN,GAAM,iBACN,GAAM,UACN,GAAM,UACN,GAAM,gBACN,GAAM,WACN,GAAM,QACN,GAAM,YACN,GAAM,YACN,GAAM,SACN,GAAM,SACN,GAAM,aACN,GAAM,oBACN,GAAM,SACN,GAAM,+CACN,GAAM,YACN,GAAM,OACN,GAAM,gBACN,GAAM,SACN,GAAM,YACN,GAAM,oCACN,GAAM,WACN,GAAM,UACN,GAAM,QACN,GAAM,UACN,GAAM,YACN,GAAM,UACN,GAAM,SACN,GAAM,cACN,GAAM,QACN,GAAM,iCACN,GAAM,OACN,GAAM,OACN,GAAM,UACN,GAAM,QACN,GAAM,SACN,GAAM,UACN,GAAM,SACN,GAAM,QACN,GAAM,QACN,GAAM,aACN,GAAM,WACN,GAAM,WACN,GAAM,UACN,GAAM,wBACN,GAAM,cACN,GAAM,cACN,GAAM,SACN,GAAM,iBACN,GAAM,aACN,GAAM,OACN,GAAM,UACN,GAAM,cACN,GAAM,gBACN,GAAM,YACN,GAAM,UACN,GAAM,UACN,GAAM,YACN,GAAM,aACN,GAAM,SACN,GAAM,QACN,GAAM,UACN,GAAM,SACN,GAAM,UACN,GAAM,aACN,GAAM,6BACN,GAAM,aACN,GAAM,mBACN,GAAM,kBACN,GAAM,OACN,GAAM,UACN,GAAM,WACN,GAAM,QACN,GAAM,2BACN,GAAM,aACN,GAAM,aACN,GAAM,aACN,GAAM,QACN,GAAM,YACN,GAAM,WACN,GAAM,SACN,GAAM,SACN,GAAM,WACN,GAAM,aACN,GAAM,UACN,GAAM,gBACN,GAAM,QACN,GAAM,iBACN,GAAM,UACN,GAAM,YACN,GAAM,cACN,GAAM,SACN,GAAM,QACN,GAAM,QACN,GAAM,OACN,GAAM,cACN,GAAM,OACN,GAAM,gBACN,GAAM,SACN,GAAM,OACN,GAAM,mBACN,GAAM,mBACN,GAAM,cACN,GAAM,WACN,GAAM,SACN,GAAM,4BACN,GAAM,WACN,GAAM,cACN,GAAM,YACN,GAAM,WACN,GAAM,QACN,GAAM,WACN,GAAM,QACN,GAAM,UACN,GAAM,UACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,eACN,GAAM,kBACN,GAAM,aACN,GAAM,QACN,GAAM,SACN,GAAM,YACN,GAAM,eACN,GAAM,WACN,GAAM,yBACN,GAAM,WACN,GAAM,eACN,GAAM,aACN,GAAM,UACN,GAAM,UACN,GAAM,WACN,GAAM,cACN,GAAM,wBACN,GAAM,cACN,GAAM,eACN,GAAM,QACN,GAAM,YACN,GAAM,mBACN,GAAM,2BACN,GAAM,OACN,GAAM,8BACN,GAAM,OACN,GAAM,WACN,GAAM,aACN,GAAM,UACN,GAAM,cACN,GAAM,eACN,G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","sources":["../node_modules/react-lifecycles-compat/react-lifecycles-compat.es.js","../node_modules/src/factory.js","../node_modules/react-router-dom/modules/BrowserRouter.js","../node_modules/react-router-dom/modules/HashRouter.js","../node_modules/react-router-dom/modules/utils/locationUtils.js","../node_modules/react-router-dom/modules/Link.js","../node_modules/react-router-dom/modules/NavLink.js","../node_modules/react-router/modules/miniCreateReactContext.js","../node_modules/react-router/modules/createContext.js","../node_modules/react-router/modules/createNamedContext.js","../node_modules/react-router/modules/HistoryContext.js","../node_modules/react-router/modules/RouterContext.js","../node_modules/react-router/modules/Router.js","../node_modules/react-router/modules/MemoryRouter.js","../node_modules/react-router/modules/Lifecycle.js","../node_modules/react-router/modules/Prompt.js","../node_modules/react-router/modules/generatePath.js","../node_modules/react-router/modules/Redirect.js","../node_modules/react-router/modules/matchPath.js","../node_modules/react-router/modules/Route.js","../node_modules/react-router/modules/StaticRouter.js","../node_modules/react-router/modules/Switch.js","../node_modules/react-router/modules/withRouter.js","../node_modules/react-router/modules/hooks.js","../../../../../../../../webpack/universalModuleDefinition","../../../../../../../../webpack/bootstrap d0976e768e26d4fc4256","../../../../../../../../~/process/browser.js","../../../../../../../../~/fbjs/lib/emptyFunction.js","../../../../../../../../~/fbjs/lib/invariant.js","../../../../../../../../~/prop-types/lib/ReactPropTypesSecret.js","../../../../../../../../external \"react\"","../../../../../../../../src/support/ScrollSyncContext.js","../../../../../../../../~/fbjs/lib/warning.js","../../../../../../../../~/prop-types/index.js","../../../../../../../../src/ScrollSync.jsx","../../../../../../../../src/ScrollSyncPane.js","../../../../../../../../src/index.js","../../../../../../../../~/prop-types/checkPropTypes.js","../../../../../../../../~/prop-types/factoryWithThrowingShims.js","../../../../../../../../~/prop-types/factoryWithTypeCheckers.js","../node_modules/react-slick/lib/arrows.js","../node_modules/react-slick/lib/default-props.js","../node_modules/react-slick/lib/dots.js","../node_modules/react-slick/lib/index.js","../node_modules/react-slick/lib/initial-state.js","../node_modules/react-slick/lib/inner-slider.js","../node_modules/react-slick/lib/slider.js","../node_modules/react-slick/lib/track.js","../node_modules/react-slick/lib/utils/innerSliderUtils.js","../node_modules/react-text-mask/dist/reactTextMask.js","../node_modules/react-textarea-autosize/dist/react-textarea-autosize.browser.esm.js","../node_modules/react/cjs/react-jsx-runtime.production.min.js","../node_modules/react/cjs/react.production.min.js","../node_modules/react-phone-number-input/source/usePhoneDigits.js","../node_modules/react-phone-number-input/source/PhoneInput.js","../node_modules/react-phone-number-input/source/PhoneInputBrowser.js","../node_modules/react-phone-number-input/input/index.js","../node_modules/react-phone-number-input/locale/en.json.js","../node_modules/react-phone-number-input/source/CountrySelect.js","../node_modules/react-phone-number-input/source/Flag.js","../node_modules/react-phone-number-input/source/InternationalIcon.js","../node_modules/react-phone-number-input/source/helpers/countries.js","../node_modules/react-phone-number-input/source/CountryIcon.js","../node_modules/react-phone-number-input/source/helpers/phoneInputHelpers.js","../node_modules/react-phone-number-input/source/helpers/getPhoneInputWithCountryStateUpdateFromNewProps.js","../node_modules/react-phone-number-input/source/PhoneInputWithCountry.js","../node_modules/react-phone-number-input/source/PhoneInputWithCountryDefault.js","../node_modules/react-phone-number-input/min/index.js","../node_modules/react-phone-number-input/source/InputBasic.js","../node_modules/react-phone-number-input/source/helpers/parsePhoneNumberCharacter.js","../node_modules/react-phone-number-input/source/InputSmart.js","../node_modules/react-phone-number-input/source/PropTypes.js","../node_modules/react-phone-number-input/source/helpers/getInternationalPhoneNumberPrefix.js","../node_modules/react-phone-number-input/source/helpers/inputValuePrefix.js","../node_modules/react-redux/src/utils/react.ts","../node_modules/react-redux/src/components/Context.ts","../node_modules/react-redux/src/utils/useSyncExternalStore.ts","../node_modules/react-redux/src/hooks/useReduxContext.ts","../node_modules/react-redux/src/hooks/useSelector.ts","../node_modules/react-redux/src/utils/react-is.ts","../node_modules/react-redux/src/connect/selectorFactory.ts","../node_modules/react-redux/src/connect/wrapMapToProps.ts","../node_modules/react-redux/src/connect/invalidArgFactory.ts","../node_modules/react-redux/src/connect/mergeProps.ts","../node_modules/react-redux/src/utils/batch.ts","../node_modules/react-redux/src/utils/Subscription.ts","../node_modules/react-redux/src/utils/useIsomorphicLayoutEffect.ts","../node_modules/react-redux/src/utils/shallowEqual.ts","../node_modules/react-redux/src/utils/hoistStatics.ts","../node_modules/react-redux/src/components/connect.tsx","../node_modules/react-redux/src/connect/mapStateToProps.ts","../node_modules/react-redux/src/connect/mapDispatchToProps.ts","../node_modules/react-redux/src/utils/bindActionCreators.ts","../node_modules/react-redux/src/components/Provider.tsx","../node_modules/react-redux/src/hooks/useStore.ts","../node_modules/react-redux/src/hooks/useDispatch.ts","../node_modules/react-redux/src/index.ts"],"sourcesContent":["/**\n * Copyright (c) 2013-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\nfunction componentWillMount() {\n // Call this.constructor.gDSFP to support sub-classes.\n var state = this.constructor.getDerivedStateFromProps(this.props, this.state);\n if (state !== null && state !== undefined) {\n this.setState(state);\n }\n}\n\nfunction componentWillReceiveProps(nextProps) {\n // Call this.constructor.gDSFP to support sub-classes.\n // Use the setState() updater to ensure state isn't stale in certain edge cases.\n function updater(prevState) {\n var state = this.constructor.getDerivedStateFromProps(nextProps, prevState);\n return state !== null && state !== undefined ? state : null;\n }\n // Binding \"this\" is important for shallow renderer support.\n this.setState(updater.bind(this));\n}\n\nfunction componentWillUpdate(nextProps, nextState) {\n try {\n var prevProps = this.props;\n var prevState = this.state;\n this.props = nextProps;\n this.state = nextState;\n this.__reactInternalSnapshotFlag = true;\n this.__reactInternalSnapshot = this.getSnapshotBeforeUpdate(\n prevProps,\n prevState\n );\n } finally {\n this.props = prevProps;\n this.state = prevState;\n }\n}\n\n// React may warn about cWM/cWRP/cWU methods being deprecated.\n// Add a flag to suppress these warnings for this special case.\ncomponentWillMount.__suppressDeprecationWarning = true;\ncomponentWillReceiveProps.__suppressDeprecationWarning = true;\ncomponentWillUpdate.__suppressDeprecationWarning = true;\n\nfunction polyfill(Component) {\n var prototype = Component.prototype;\n\n if (!prototype || !prototype.isReactComponent) {\n throw new Error('Can only polyfill class components');\n }\n\n if (\n typeof Component.getDerivedStateFromProps !== 'function' &&\n typeof prototype.getSnapshotBeforeUpdate !== 'function'\n ) {\n return Component;\n }\n\n // If new component APIs are defined, \"unsafe\" lifecycles won't be called.\n // Error if any of these lifecycles are present,\n // Because they would work differently between older and newer (16.3+) versions of React.\n var foundWillMountName = null;\n var foundWillReceivePropsName = null;\n var foundWillUpdateName = null;\n if (typeof prototype.componentWillMount === 'function') {\n foundWillMountName = 'componentWillMount';\n } else if (typeof prototype.UNSAFE_componentWillMount === 'function') {\n foundWillMountName = 'UNSAFE_componentWillMount';\n }\n if (typeof prototype.componentWillReceiveProps === 'function') {\n foundWillReceivePropsName = 'componentWillReceiveProps';\n } else if (typeof prototype.UNSAFE_componentWillReceiveProps === 'function') {\n foundWillReceivePropsName = 'UNSAFE_componentWillReceiveProps';\n }\n if (typeof prototype.componentWillUpdate === 'function') {\n foundWillUpdateName = 'componentWillUpdate';\n } else if (typeof prototype.UNSAFE_componentWillUpdate === 'function') {\n foundWillUpdateName = 'UNSAFE_componentWillUpdate';\n }\n if (\n foundWillMountName !== null ||\n foundWillReceivePropsName !== null ||\n foundWillUpdateName !== null\n ) {\n var componentName = Component.displayName || Component.name;\n var newApiName =\n typeof Component.getDerivedStateFromProps === 'function'\n ? 'getDerivedStateFromProps()'\n : 'getSnapshotBeforeUpdate()';\n\n throw Error(\n 'Unsafe legacy lifecycles will not be called for components using new component APIs.\\n\\n' +\n componentName +\n ' uses ' +\n newApiName +\n ' but also contains the following legacy lifecycles:' +\n (foundWillMountName !== null ? '\\n ' + foundWillMountName : '') +\n (foundWillReceivePropsName !== null\n ? '\\n ' + foundWillReceivePropsName\n : '') +\n (foundWillUpdateName !== null ? '\\n ' + foundWillUpdateName : '') +\n '\\n\\nThe above lifecycles should be removed. Learn more about this warning here:\\n' +\n 'https://fb.me/react-async-component-lifecycle-hooks'\n );\n }\n\n // React <= 16.2 does not support static getDerivedStateFromProps.\n // As a workaround, use cWM and cWRP to invoke the new static lifecycle.\n // Newer versions of React will ignore these lifecycles if gDSFP exists.\n if (typeof Component.getDerivedStateFromProps === 'function') {\n prototype.componentWillMount = componentWillMount;\n prototype.componentWillReceiveProps = componentWillReceiveProps;\n }\n\n // React <= 16.2 does not support getSnapshotBeforeUpdate.\n // As a workaround, use cWU to invoke the new lifecycle.\n // Newer versions of React will ignore that lifecycle if gSBU exists.\n if (typeof prototype.getSnapshotBeforeUpdate === 'function') {\n if (typeof prototype.componentDidUpdate !== 'function') {\n throw new Error(\n 'Cannot polyfill getSnapshotBeforeUpdate() for components that do not define componentDidUpdate() on the prototype'\n );\n }\n\n prototype.componentWillUpdate = componentWillUpdate;\n\n var componentDidUpdate = prototype.componentDidUpdate;\n\n prototype.componentDidUpdate = function componentDidUpdatePolyfill(\n prevProps,\n prevState,\n maybeSnapshot\n ) {\n // 16.3+ will not execute our will-update method;\n // It will pass a snapshot value to did-update though.\n // Older versions will require our polyfilled will-update value.\n // We need to handle both cases, but can't just check for the presence of \"maybeSnapshot\",\n // Because for <= 15.x versions this might be a \"prevContext\" object.\n // We also can't just check \"__reactInternalSnapshot\",\n // Because get-snapshot might return a falsy value.\n // So check for the explicit __reactInternalSnapshotFlag flag to determine behavior.\n var snapshot = this.__reactInternalSnapshotFlag\n ? this.__reactInternalSnapshot\n : maybeSnapshot;\n\n componentDidUpdate.call(this, prevProps, prevState, snapshot);\n };\n }\n\n return Component;\n}\n\nexport { polyfill };\n","import React, {Component} from 'react';\nimport PropTypes from 'prop-types';\n\n// The naming convention is:\n// - events are attached as `'plotly_' + eventName.toLowerCase()`\n// - react props are `'on' + eventName`\nconst eventNames = [\n 'AfterExport',\n 'AfterPlot',\n 'Animated',\n 'AnimatingFrame',\n 'AnimationInterrupted',\n 'AutoSize',\n 'BeforeExport',\n 'BeforeHover',\n 'ButtonClicked',\n 'Click',\n 'ClickAnnotation',\n 'Deselect',\n 'DoubleClick',\n 'Framework',\n 'Hover',\n 'LegendClick',\n 'LegendDoubleClick',\n 'Relayout',\n 'Relayouting',\n 'Restyle',\n 'Redraw',\n 'Selected',\n 'Selecting',\n 'SliderChange',\n 'SliderEnd',\n 'SliderStart',\n 'SunburstClick',\n 'Transitioning',\n 'TransitionInterrupted',\n 'Unhover',\n 'WebGlContextLost',\n];\n\nconst updateEvents = [\n 'plotly_restyle',\n 'plotly_redraw',\n 'plotly_relayout',\n 'plotly_relayouting',\n 'plotly_doubleclick',\n 'plotly_animated',\n 'plotly_sunburstclick',\n];\n\n// Check if a window is available since SSR (server-side rendering)\n// breaks unnecessarily if you try to use it server-side.\nconst isBrowser = typeof window !== 'undefined';\n\nexport default function plotComponentFactory(Plotly) {\n class PlotlyComponent extends Component {\n constructor(props) {\n super(props);\n\n this.p = Promise.resolve();\n this.resizeHandler = null;\n this.handlers = {};\n\n this.syncWindowResize = this.syncWindowResize.bind(this);\n this.syncEventHandlers = this.syncEventHandlers.bind(this);\n this.attachUpdateEvents = this.attachUpdateEvents.bind(this);\n this.getRef = this.getRef.bind(this);\n this.handleUpdate = this.handleUpdate.bind(this);\n this.figureCallback = this.figureCallback.bind(this);\n this.updatePlotly = this.updatePlotly.bind(this);\n }\n\n updatePlotly(shouldInvokeResizeHandler, figureCallbackFunction, shouldAttachUpdateEvents) {\n this.p = this.p\n .then(() => {\n if (this.unmounting) {\n return;\n }\n if (!this.el) {\n throw new Error('Missing element reference');\n }\n // eslint-disable-next-line consistent-return\n return Plotly.react(this.el, {\n data: this.props.data,\n layout: this.props.layout,\n config: this.props.config,\n frames: this.props.frames,\n });\n })\n .then(() => {\n if (this.unmounting) {\n return;\n }\n this.syncWindowResize(shouldInvokeResizeHandler);\n this.syncEventHandlers();\n this.figureCallback(figureCallbackFunction);\n if (shouldAttachUpdateEvents) {\n this.attachUpdateEvents();\n }\n })\n .catch((err) => {\n if (this.props.onError) {\n this.props.onError(err);\n }\n });\n }\n\n componentDidMount() {\n this.unmounting = false;\n\n this.updatePlotly(true, this.props.onInitialized, true);\n }\n\n componentDidUpdate(prevProps) {\n this.unmounting = false;\n\n // frames *always* changes identity so fall back to check length only :(\n const numPrevFrames =\n prevProps.frames && prevProps.frames.length ? prevProps.frames.length : 0;\n const numNextFrames =\n this.props.frames && this.props.frames.length ? this.props.frames.length : 0;\n\n const figureChanged = !(\n prevProps.layout === this.props.layout &&\n prevProps.data === this.props.data &&\n prevProps.config === this.props.config &&\n numNextFrames === numPrevFrames\n );\n const revisionDefined = prevProps.revision !== void 0;\n const revisionChanged = prevProps.revision !== this.props.revision;\n\n if (!figureChanged && (!revisionDefined || (revisionDefined && !revisionChanged))) {\n return;\n }\n\n this.updatePlotly(false, this.props.onUpdate, false);\n }\n\n componentWillUnmount() {\n this.unmounting = true;\n\n this.figureCallback(this.props.onPurge);\n\n if (this.resizeHandler && isBrowser) {\n window.removeEventListener('resize', this.resizeHandler);\n this.resizeHandler = null;\n }\n\n this.removeUpdateEvents();\n\n Plotly.purge(this.el);\n }\n\n attachUpdateEvents() {\n if (!this.el || !this.el.removeListener) {\n return;\n }\n\n updateEvents.forEach((updateEvent) => {\n this.el.on(updateEvent, this.handleUpdate);\n });\n }\n\n removeUpdateEvents() {\n if (!this.el || !this.el.removeListener) {\n return;\n }\n\n updateEvents.forEach((updateEvent) => {\n this.el.removeListener(updateEvent, this.handleUpdate);\n });\n }\n\n handleUpdate() {\n this.figureCallback(this.props.onUpdate);\n }\n\n figureCallback(callback) {\n if (typeof callback === 'function') {\n const {data, layout} = this.el;\n const frames = this.el._transitionData ? this.el._transitionData._frames : null;\n const figure = {data, layout, frames};\n callback(figure, this.el);\n }\n }\n\n syncWindowResize(invoke) {\n if (!isBrowser) {\n return;\n }\n\n if (this.props.useResizeHandler && !this.resizeHandler) {\n this.resizeHandler = () => Plotly.Plots.resize(this.el);\n window.addEventListener('resize', this.resizeHandler);\n if (invoke) {\n this.resizeHandler();\n }\n } else if (!this.props.useResizeHandler && this.resizeHandler) {\n window.removeEventListener('resize', this.resizeHandler);\n this.resizeHandler = null;\n }\n }\n\n getRef(el) {\n this.el = el;\n\n if (this.props.debug && isBrowser) {\n window.gd = this.el;\n }\n }\n\n // Attach and remove event handlers as they're added or removed from props:\n syncEventHandlers() {\n eventNames.forEach((eventName) => {\n const prop = this.props['on' + eventName];\n const handler = this.handlers[eventName];\n const hasHandler = Boolean(handler);\n\n if (prop && !hasHandler) {\n this.addEventHandler(eventName, prop);\n } else if (!prop && hasHandler) {\n // Needs to be removed:\n this.removeEventHandler(eventName);\n } else if (prop && hasHandler && prop !== handler) {\n // replace the handler\n this.removeEventHandler(eventName);\n this.addEventHandler(eventName, prop);\n }\n });\n }\n\n addEventHandler(eventName, prop) {\n this.handlers[eventName] = prop;\n this.el.on(this.getPlotlyEventName(eventName), this.handlers[eventName]);\n }\n\n removeEventHandler(eventName) {\n this.el.removeListener(this.getPlotlyEventName(eventName), this.handlers[eventName]);\n delete this.handlers[eventName];\n }\n\n getPlotlyEventName(eventName) {\n return 'plotly_' + eventName.toLowerCase();\n }\n\n render() {\n return (\n \n );\n }\n }\n\n PlotlyComponent.propTypes = {\n data: PropTypes.arrayOf(PropTypes.object),\n config: PropTypes.object,\n layout: PropTypes.object,\n frames: PropTypes.arrayOf(PropTypes.object),\n revision: PropTypes.number,\n onInitialized: PropTypes.func,\n onPurge: PropTypes.func,\n onError: PropTypes.func,\n onUpdate: PropTypes.func,\n debug: PropTypes.bool,\n style: PropTypes.object,\n className: PropTypes.string,\n useResizeHandler: PropTypes.bool,\n divId: PropTypes.string,\n };\n\n eventNames.forEach((eventName) => {\n PlotlyComponent.propTypes['on' + eventName] = PropTypes.func;\n });\n\n PlotlyComponent.defaultProps = {\n debug: false,\n useResizeHandler: false,\n data: [],\n style: {position: 'relative', display: 'inline-block'},\n };\n\n return PlotlyComponent;\n}\n","import React from \"react\";\nimport { Router } from \"react-router\";\nimport { createBrowserHistory as createHistory } from \"history\";\nimport PropTypes from \"prop-types\";\nimport warning from \"tiny-warning\";\n\n/**\n * The public API for a that uses HTML5 history.\n */\nclass BrowserRouter extends React.Component {\n history = createHistory(this.props);\n\n render() {\n return ;\n }\n}\n\nif (__DEV__) {\n BrowserRouter.propTypes = {\n basename: PropTypes.string,\n children: PropTypes.node,\n forceRefresh: PropTypes.bool,\n getUserConfirmation: PropTypes.func,\n keyLength: PropTypes.number\n };\n\n BrowserRouter.prototype.componentDidMount = function() {\n warning(\n !this.props.history,\n \" ignores the history prop. To use a custom history, \" +\n \"use `import { Router }` instead of `import { BrowserRouter as Router }`.\"\n );\n };\n}\n\nexport default BrowserRouter;\n","import React from \"react\";\nimport { Router } from \"react-router\";\nimport { createHashHistory as createHistory } from \"history\";\nimport PropTypes from \"prop-types\";\nimport warning from \"tiny-warning\";\n\n/**\n * The public API for a that uses window.location.hash.\n */\nclass HashRouter extends React.Component {\n history = createHistory(this.props);\n\n render() {\n return ;\n }\n}\n\nif (__DEV__) {\n HashRouter.propTypes = {\n basename: PropTypes.string,\n children: PropTypes.node,\n getUserConfirmation: PropTypes.func,\n hashType: PropTypes.oneOf([\"hashbang\", \"noslash\", \"slash\"])\n };\n\n HashRouter.prototype.componentDidMount = function() {\n warning(\n !this.props.history,\n \" ignores the history prop. To use a custom history, \" +\n \"use `import { Router }` instead of `import { HashRouter as Router }`.\"\n );\n };\n}\n\nexport default HashRouter;\n","import { createLocation } from \"history\";\n\nexport const resolveToLocation = (to, currentLocation) =>\n typeof to === \"function\" ? to(currentLocation) : to;\n\nexport const normalizeToLocation = (to, currentLocation) => {\n return typeof to === \"string\"\n ? createLocation(to, null, null, currentLocation)\n : to;\n};\n","import React from \"react\";\nimport { __RouterContext as RouterContext } from \"react-router\";\nimport { createPath } from 'history';\nimport PropTypes from \"prop-types\";\nimport invariant from \"tiny-invariant\";\nimport {\n resolveToLocation,\n normalizeToLocation\n} from \"./utils/locationUtils.js\";\n\n// React 15 compat\nconst forwardRefShim = C => C;\nlet { forwardRef } = React;\nif (typeof forwardRef === \"undefined\") {\n forwardRef = forwardRefShim;\n}\n\nfunction isModifiedEvent(event) {\n return !!(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);\n}\n\nconst LinkAnchor = forwardRef(\n (\n {\n innerRef, // TODO: deprecate\n navigate,\n onClick,\n ...rest\n },\n forwardedRef\n ) => {\n const { target } = rest;\n\n let props = {\n ...rest,\n onClick: event => {\n try {\n if (onClick) onClick(event);\n } catch (ex) {\n event.preventDefault();\n throw ex;\n }\n\n if (\n !event.defaultPrevented && // onClick prevented default\n event.button === 0 && // ignore everything but left clicks\n (!target || target === \"_self\") && // let browser handle \"target=_blank\" etc.\n !isModifiedEvent(event) // ignore clicks with modifier keys\n ) {\n event.preventDefault();\n navigate();\n }\n }\n };\n\n // React 15 compat\n if (forwardRefShim !== forwardRef) {\n props.ref = forwardedRef || innerRef;\n } else {\n props.ref = innerRef;\n }\n\n /* eslint-disable-next-line jsx-a11y/anchor-has-content */\n return ;\n }\n);\n\nif (__DEV__) {\n LinkAnchor.displayName = \"LinkAnchor\";\n}\n\n/**\n * The public API for rendering a history-aware .\n */\nconst Link = forwardRef(\n (\n {\n component = LinkAnchor,\n replace,\n to,\n innerRef, // TODO: deprecate\n ...rest\n },\n forwardedRef\n ) => {\n return (\n \n {context => {\n invariant(context, \"You should not use outside a \");\n\n const { history } = context;\n\n const location = normalizeToLocation(\n resolveToLocation(to, context.location),\n context.location\n );\n\n const href = location ? history.createHref(location) : \"\";\n const props = {\n ...rest,\n href,\n navigate() {\n const location = resolveToLocation(to, context.location);\n const isDuplicateNavigation = createPath(context.location) === createPath(normalizeToLocation(location));\n const method = (replace || isDuplicateNavigation) ? history.replace : history.push;\n\n method(location);\n }\n };\n\n // React 15 compat\n if (forwardRefShim !== forwardRef) {\n props.ref = forwardedRef || innerRef;\n } else {\n props.innerRef = innerRef;\n }\n\n return React.createElement(component, props);\n }}\n \n );\n }\n);\n\nif (__DEV__) {\n const toType = PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.object,\n PropTypes.func\n ]);\n const refType = PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.shape({ current: PropTypes.any })\n ]);\n\n Link.displayName = \"Link\";\n\n Link.propTypes = {\n innerRef: refType,\n onClick: PropTypes.func,\n replace: PropTypes.bool,\n target: PropTypes.string,\n to: toType.isRequired\n };\n}\n\nexport default Link;\n","import React from \"react\";\nimport { __RouterContext as RouterContext, matchPath } from \"react-router\";\nimport PropTypes from \"prop-types\";\nimport invariant from \"tiny-invariant\";\nimport Link from \"./Link.js\";\nimport {\n resolveToLocation,\n normalizeToLocation\n} from \"./utils/locationUtils.js\";\n\n// React 15 compat\nconst forwardRefShim = C => C;\nlet { forwardRef } = React;\nif (typeof forwardRef === \"undefined\") {\n forwardRef = forwardRefShim;\n}\n\nfunction joinClassnames(...classnames) {\n return classnames.filter(i => i).join(\" \");\n}\n\n/**\n * A wrapper that knows if it's \"active\" or not.\n */\nconst NavLink = forwardRef(\n (\n {\n \"aria-current\": ariaCurrent = \"page\",\n activeClassName = \"active\", // TODO: deprecate\n activeStyle, // TODO: deprecate\n className: classNameProp,\n exact,\n isActive: isActiveProp,\n location: locationProp,\n sensitive,\n strict,\n style: styleProp,\n to,\n innerRef, // TODO: deprecate\n ...rest\n },\n forwardedRef\n ) => {\n return (\n \n {context => {\n invariant(context, \"You should not use outside a \");\n\n const currentLocation = locationProp || context.location;\n const toLocation = normalizeToLocation(\n resolveToLocation(to, currentLocation),\n currentLocation\n );\n const { pathname: path } = toLocation;\n // Regex taken from: https://github.com/pillarjs/path-to-regexp/blob/master/index.js#L202\n const escapedPath =\n path && path.replace(/([.+*?=^!:${}()[\\]|/\\\\])/g, \"\\\\$1\");\n\n const match = escapedPath\n ? matchPath(currentLocation.pathname, {\n path: escapedPath,\n exact,\n sensitive,\n strict\n })\n : null;\n const isActive = !!(isActiveProp\n ? isActiveProp(match, currentLocation)\n : match);\n\n let className =\n typeof classNameProp === \"function\"\n ? classNameProp(isActive)\n : classNameProp;\n\n let style =\n typeof styleProp === \"function\" ? styleProp(isActive) : styleProp;\n\n if (isActive) {\n className = joinClassnames(className, activeClassName);\n style = { ...style, ...activeStyle };\n }\n\n const props = {\n \"aria-current\": (isActive && ariaCurrent) || null,\n className,\n style,\n to: toLocation,\n ...rest\n };\n\n // React 15 compat\n if (forwardRefShim !== forwardRef) {\n props.ref = forwardedRef || innerRef;\n } else {\n props.innerRef = innerRef;\n }\n\n return ;\n }}\n \n );\n }\n);\n\nif (__DEV__) {\n NavLink.displayName = \"NavLink\";\n\n const ariaCurrentType = PropTypes.oneOf([\n \"page\",\n \"step\",\n \"location\",\n \"date\",\n \"time\",\n \"true\",\n \"false\"\n ]);\n\n NavLink.propTypes = {\n ...Link.propTypes,\n \"aria-current\": ariaCurrentType,\n activeClassName: PropTypes.string,\n activeStyle: PropTypes.object,\n className: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n exact: PropTypes.bool,\n isActive: PropTypes.func,\n location: PropTypes.object,\n sensitive: PropTypes.bool,\n strict: PropTypes.bool,\n style: PropTypes.oneOfType([PropTypes.object, PropTypes.func])\n };\n}\n\nexport default NavLink;\n","// MIT License\n// Copyright (c) 2019-present StringEpsilon \n// Copyright (c) 2017-2019 James Kyle \n// https://github.com/StringEpsilon/mini-create-react-context\nimport React from \"react\";\nimport PropTypes from \"prop-types\";\nimport warning from \"tiny-warning\";\n\nconst MAX_SIGNED_31_BIT_INT = 1073741823;\n\nconst commonjsGlobal =\n typeof globalThis !== \"undefined\" // 'global proper'\n ? // eslint-disable-next-line no-undef\n globalThis\n : typeof window !== \"undefined\"\n ? window // Browser\n : typeof global !== \"undefined\"\n ? global // node.js\n : {};\n\nfunction getUniqueId() {\n let key = \"__global_unique_id__\";\n return (commonjsGlobal[key] = (commonjsGlobal[key] || 0) + 1);\n}\n\n// Inlined Object.is polyfill.\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\nfunction objectIs(x, y) {\n if (x === y) {\n return x !== 0 || 1 / x === 1 / y;\n } else {\n // eslint-disable-next-line no-self-compare\n return x !== x && y !== y;\n }\n}\n\nfunction createEventEmitter(value) {\n let handlers = [];\n return {\n on(handler) {\n handlers.push(handler);\n },\n\n off(handler) {\n handlers = handlers.filter(h => h !== handler);\n },\n\n get() {\n return value;\n },\n\n set(newValue, changedBits) {\n value = newValue;\n handlers.forEach(handler => handler(value, changedBits));\n }\n };\n}\n\nfunction onlyChild(children) {\n return Array.isArray(children) ? children[0] : children;\n}\n\nexport default function createReactContext(defaultValue, calculateChangedBits) {\n const contextProp = \"__create-react-context-\" + getUniqueId() + \"__\";\n\n class Provider extends React.Component {\n emitter = createEventEmitter(this.props.value);\n\n static childContextTypes = {\n [contextProp]: PropTypes.object.isRequired\n };\n\n getChildContext() {\n return {\n [contextProp]: this.emitter\n };\n }\n\n componentWillReceiveProps(nextProps) {\n if (this.props.value !== nextProps.value) {\n let oldValue = this.props.value;\n let newValue = nextProps.value;\n let changedBits;\n\n if (objectIs(oldValue, newValue)) {\n changedBits = 0; // No change\n } else {\n changedBits =\n typeof calculateChangedBits === \"function\"\n ? calculateChangedBits(oldValue, newValue)\n : MAX_SIGNED_31_BIT_INT;\n if (process.env.NODE_ENV !== \"production\") {\n warning(\n (changedBits & MAX_SIGNED_31_BIT_INT) === changedBits,\n \"calculateChangedBits: Expected the return value to be a \" +\n \"31-bit integer. Instead received: \" +\n changedBits\n );\n }\n\n changedBits |= 0;\n\n if (changedBits !== 0) {\n this.emitter.set(nextProps.value, changedBits);\n }\n }\n }\n }\n\n render() {\n return this.props.children;\n }\n }\n\n class Consumer extends React.Component {\n static contextTypes = {\n [contextProp]: PropTypes.object\n };\n\n observedBits;\n\n state = {\n value: this.getValue()\n };\n\n componentWillReceiveProps(nextProps) {\n let { observedBits } = nextProps;\n this.observedBits =\n observedBits === undefined || observedBits === null\n ? MAX_SIGNED_31_BIT_INT // Subscribe to all changes by default\n : observedBits;\n }\n\n componentDidMount() {\n if (this.context[contextProp]) {\n this.context[contextProp].on(this.onUpdate);\n }\n let { observedBits } = this.props;\n this.observedBits =\n observedBits === undefined || observedBits === null\n ? MAX_SIGNED_31_BIT_INT // Subscribe to all changes by default\n : observedBits;\n }\n\n componentWillUnmount() {\n if (this.context[contextProp]) {\n this.context[contextProp].off(this.onUpdate);\n }\n }\n\n getValue() {\n if (this.context[contextProp]) {\n return this.context[contextProp].get();\n } else {\n return defaultValue;\n }\n }\n\n onUpdate = (newValue, changedBits) => {\n const observedBits = this.observedBits | 0;\n if ((observedBits & changedBits) !== 0) {\n this.setState({ value: this.getValue() });\n }\n };\n\n render() {\n return onlyChild(this.props.children)(this.state.value);\n }\n }\n\n return {\n Provider,\n Consumer\n };\n}\n","// MIT License\n// Copyright (c) 2019-present StringEpsilon \n// Copyright (c) 2017-2019 James Kyle \n// https://github.com/StringEpsilon/mini-create-react-context\nimport React from \"react\";\nimport createReactContext from \"./miniCreateReactContext\";\n\nexport default React.createContext || createReactContext;\n","// TODO: Replace with React.createContext once we can assume React 16+\nimport createContext from \"./createContext\";\n\nconst createNamedContext = name => {\n const context = createContext();\n context.displayName = name;\n\n return context;\n};\n\nexport default createNamedContext;\n","import createNamedContext from \"./createNamedContext\";\n\nconst historyContext = /*#__PURE__*/ createNamedContext(\"Router-History\");\nexport default historyContext;\n","import createNamedContext from \"./createNamedContext\";\n\nconst context = /*#__PURE__*/ createNamedContext(\"Router\");\nexport default context;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport warning from \"tiny-warning\";\n\nimport HistoryContext from \"./HistoryContext.js\";\nimport RouterContext from \"./RouterContext.js\";\n\n/**\n * The public API for putting history on context.\n */\nclass Router extends React.Component {\n static computeRootMatch(pathname) {\n return { path: \"/\", url: \"/\", params: {}, isExact: pathname === \"/\" };\n }\n\n constructor(props) {\n super(props);\n\n this.state = {\n location: props.history.location\n };\n\n // This is a bit of a hack. We have to start listening for location\n // changes here in the constructor in case there are any s\n // on the initial render. If there are, they will replace/push when\n // they mount and since cDM fires in children before parents, we may\n // get a new location before the is mounted.\n this._isMounted = false;\n this._pendingLocation = null;\n\n if (!props.staticContext) {\n this.unlisten = props.history.listen(location => {\n this._pendingLocation = location;\n });\n }\n }\n\n componentDidMount() {\n this._isMounted = true;\n\n if (this.unlisten) {\n // Any pre-mount location changes have been captured at\n // this point, so unregister the listener.\n this.unlisten();\n }\n if (!this.props.staticContext) {\n this.unlisten = this.props.history.listen(location => {\n if (this._isMounted) {\n this.setState({ location });\n }\n });\n }\n if (this._pendingLocation) {\n this.setState({ location: this._pendingLocation });\n }\n }\n\n componentWillUnmount() {\n if (this.unlisten) {\n this.unlisten();\n this._isMounted = false;\n this._pendingLocation = null;\n }\n }\n\n render() {\n return (\n \n \n \n );\n }\n}\n\nif (__DEV__) {\n Router.propTypes = {\n children: PropTypes.node,\n history: PropTypes.object.isRequired,\n staticContext: PropTypes.object\n };\n\n Router.prototype.componentDidUpdate = function(prevProps) {\n warning(\n prevProps.history === this.props.history,\n \"You cannot change \"\n );\n };\n}\n\nexport default Router;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { createMemoryHistory as createHistory } from \"history\";\nimport warning from \"tiny-warning\";\n\nimport Router from \"./Router.js\";\n\n/**\n * The public API for a that stores location in memory.\n */\nclass MemoryRouter extends React.Component {\n history = createHistory(this.props);\n\n render() {\n return ;\n }\n}\n\nif (__DEV__) {\n MemoryRouter.propTypes = {\n initialEntries: PropTypes.array,\n initialIndex: PropTypes.number,\n getUserConfirmation: PropTypes.func,\n keyLength: PropTypes.number,\n children: PropTypes.node\n };\n\n MemoryRouter.prototype.componentDidMount = function() {\n warning(\n !this.props.history,\n \" ignores the history prop. To use a custom history, \" +\n \"use `import { Router }` instead of `import { MemoryRouter as Router }`.\"\n );\n };\n}\n\nexport default MemoryRouter;\n","import React from \"react\";\n\nclass Lifecycle extends React.Component {\n componentDidMount() {\n if (this.props.onMount) this.props.onMount.call(this, this);\n }\n\n componentDidUpdate(prevProps) {\n if (this.props.onUpdate) this.props.onUpdate.call(this, this, prevProps);\n }\n\n componentWillUnmount() {\n if (this.props.onUnmount) this.props.onUnmount.call(this, this);\n }\n\n render() {\n return null;\n }\n}\n\nexport default Lifecycle;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport invariant from \"tiny-invariant\";\n\nimport Lifecycle from \"./Lifecycle.js\";\nimport RouterContext from \"./RouterContext.js\";\n\n/**\n * The public API for prompting the user before navigating away from a screen.\n */\nfunction Prompt({ message, when = true }) {\n return (\n \n {context => {\n invariant(context, \"You should not use outside a \");\n\n if (!when || context.staticContext) return null;\n\n const method = context.history.block;\n\n return (\n {\n self.release = method(message);\n }}\n onUpdate={(self, prevProps) => {\n if (prevProps.message !== message) {\n self.release();\n self.release = method(message);\n }\n }}\n onUnmount={self => {\n self.release();\n }}\n message={message}\n />\n );\n }}\n \n );\n}\n\nif (__DEV__) {\n const messageType = PropTypes.oneOfType([PropTypes.func, PropTypes.string]);\n\n Prompt.propTypes = {\n when: PropTypes.bool,\n message: messageType.isRequired\n };\n}\n\nexport default Prompt;\n","import pathToRegexp from \"path-to-regexp\";\n\nconst cache = {};\nconst cacheLimit = 10000;\nlet cacheCount = 0;\n\nfunction compilePath(path) {\n if (cache[path]) return cache[path];\n\n const generator = pathToRegexp.compile(path);\n\n if (cacheCount < cacheLimit) {\n cache[path] = generator;\n cacheCount++;\n }\n\n return generator;\n}\n\n/**\n * Public API for generating a URL pathname from a path and parameters.\n */\nfunction generatePath(path = \"/\", params = {}) {\n return path === \"/\" ? path : compilePath(path)(params, { pretty: true });\n}\n\nexport default generatePath;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { createLocation, locationsAreEqual } from \"history\";\nimport invariant from \"tiny-invariant\";\n\nimport Lifecycle from \"./Lifecycle.js\";\nimport RouterContext from \"./RouterContext.js\";\nimport generatePath from \"./generatePath.js\";\n\n/**\n * The public API for navigating programmatically with a component.\n */\nfunction Redirect({ computedMatch, to, push = false }) {\n return (\n \n {context => {\n invariant(context, \"You should not use outside a \");\n\n const { history, staticContext } = context;\n\n const method = push ? history.push : history.replace;\n const location = createLocation(\n computedMatch\n ? typeof to === \"string\"\n ? generatePath(to, computedMatch.params)\n : {\n ...to,\n pathname: generatePath(to.pathname, computedMatch.params)\n }\n : to\n );\n\n // When rendering in a static context,\n // set the new location immediately.\n if (staticContext) {\n method(location);\n return null;\n }\n\n return (\n {\n method(location);\n }}\n onUpdate={(self, prevProps) => {\n const prevLocation = createLocation(prevProps.to);\n if (\n !locationsAreEqual(prevLocation, {\n ...location,\n key: prevLocation.key\n })\n ) {\n method(location);\n }\n }}\n to={to}\n />\n );\n }}\n \n );\n}\n\nif (__DEV__) {\n Redirect.propTypes = {\n push: PropTypes.bool,\n from: PropTypes.string,\n to: PropTypes.oneOfType([PropTypes.string, PropTypes.object]).isRequired\n };\n}\n\nexport default Redirect;\n","import pathToRegexp from \"path-to-regexp\";\n\nconst cache = {};\nconst cacheLimit = 10000;\nlet cacheCount = 0;\n\nfunction compilePath(path, options) {\n const cacheKey = `${options.end}${options.strict}${options.sensitive}`;\n const pathCache = cache[cacheKey] || (cache[cacheKey] = {});\n\n if (pathCache[path]) return pathCache[path];\n\n const keys = [];\n const regexp = pathToRegexp(path, keys, options);\n const result = { regexp, keys };\n\n if (cacheCount < cacheLimit) {\n pathCache[path] = result;\n cacheCount++;\n }\n\n return result;\n}\n\n/**\n * Public API for matching a URL pathname to a path.\n */\nfunction matchPath(pathname, options = {}) {\n if (typeof options === \"string\" || Array.isArray(options)) {\n options = { path: options };\n }\n\n const { path, exact = false, strict = false, sensitive = false } = options;\n\n const paths = [].concat(path);\n\n return paths.reduce((matched, path) => {\n if (!path && path !== \"\") return null;\n if (matched) return matched;\n\n const { regexp, keys } = compilePath(path, {\n end: exact,\n strict,\n sensitive\n });\n const match = regexp.exec(pathname);\n\n if (!match) return null;\n\n const [url, ...values] = match;\n const isExact = pathname === url;\n\n if (exact && !isExact) return null;\n\n return {\n path, // the path used to match\n url: path === \"/\" && url === \"\" ? \"/\" : url, // the matched portion of the URL\n isExact, // whether or not we matched exactly\n params: keys.reduce((memo, key, index) => {\n memo[key.name] = values[index];\n return memo;\n }, {})\n };\n }, null);\n}\n\nexport default matchPath;\n","import React from \"react\";\nimport { isValidElementType } from \"react-is\";\nimport PropTypes from \"prop-types\";\nimport invariant from \"tiny-invariant\";\nimport warning from \"tiny-warning\";\n\nimport RouterContext from \"./RouterContext.js\";\nimport matchPath from \"./matchPath.js\";\n\nfunction isEmptyChildren(children) {\n return React.Children.count(children) === 0;\n}\n\nfunction evalChildrenDev(children, props, path) {\n const value = children(props);\n\n warning(\n value !== undefined,\n \"You returned `undefined` from the `children` function of \" +\n `, but you ` +\n \"should have returned a React element or `null`\"\n );\n\n return value || null;\n}\n\n/**\n * The public API for matching a single path and rendering.\n */\nclass Route extends React.Component {\n render() {\n return (\n \n {context => {\n invariant(context, \"You should not use outside a \");\n\n const location = this.props.location || context.location;\n const match = this.props.computedMatch\n ? this.props.computedMatch // already computed the match for us\n : this.props.path\n ? matchPath(location.pathname, this.props)\n : context.match;\n\n const props = { ...context, location, match };\n\n let { children, component, render } = this.props;\n\n // Preact uses an empty array as children by\n // default, so use null if that's the case.\n if (Array.isArray(children) && isEmptyChildren(children)) {\n children = null;\n }\n\n return (\n \n {props.match\n ? children\n ? typeof children === \"function\"\n ? __DEV__\n ? evalChildrenDev(children, props, this.props.path)\n : children(props)\n : children\n : component\n ? React.createElement(component, props)\n : render\n ? render(props)\n : null\n : typeof children === \"function\"\n ? __DEV__\n ? evalChildrenDev(children, props, this.props.path)\n : children(props)\n : null}\n \n );\n }}\n \n );\n }\n}\n\nif (__DEV__) {\n Route.propTypes = {\n children: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\n component: (props, propName) => {\n if (props[propName] && !isValidElementType(props[propName])) {\n return new Error(\n `Invalid prop 'component' supplied to 'Route': the prop is not a valid React component`\n );\n }\n },\n exact: PropTypes.bool,\n location: PropTypes.object,\n path: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string)\n ]),\n render: PropTypes.func,\n sensitive: PropTypes.bool,\n strict: PropTypes.bool\n };\n\n Route.prototype.componentDidMount = function() {\n warning(\n !(\n this.props.children &&\n !isEmptyChildren(this.props.children) &&\n this.props.component\n ),\n \"You should not use and in the same route; will be ignored\"\n );\n\n warning(\n !(\n this.props.children &&\n !isEmptyChildren(this.props.children) &&\n this.props.render\n ),\n \"You should not use and in the same route; will be ignored\"\n );\n\n warning(\n !(this.props.component && this.props.render),\n \"You should not use and in the same route; will be ignored\"\n );\n };\n\n Route.prototype.componentDidUpdate = function(prevProps) {\n warning(\n !(this.props.location && !prevProps.location),\n ' elements should not change from uncontrolled to controlled (or vice versa). You initially used no \"location\" prop and then provided one on a subsequent render.'\n );\n\n warning(\n !(!this.props.location && prevProps.location),\n ' elements should not change from controlled to uncontrolled (or vice versa). You provided a \"location\" prop initially but omitted it on a subsequent render.'\n );\n };\n}\n\nexport default Route;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { createLocation, createPath } from \"history\";\nimport invariant from \"tiny-invariant\";\nimport warning from \"tiny-warning\";\n\nimport Router from \"./Router.js\";\n\nfunction addLeadingSlash(path) {\n return path.charAt(0) === \"/\" ? path : \"/\" + path;\n}\n\nfunction addBasename(basename, location) {\n if (!basename) return location;\n\n return {\n ...location,\n pathname: addLeadingSlash(basename) + location.pathname\n };\n}\n\nfunction stripBasename(basename, location) {\n if (!basename) return location;\n\n const base = addLeadingSlash(basename);\n\n if (location.pathname.indexOf(base) !== 0) return location;\n\n return {\n ...location,\n pathname: location.pathname.substr(base.length)\n };\n}\n\nfunction createURL(location) {\n return typeof location === \"string\" ? location : createPath(location);\n}\n\nfunction staticHandler(methodName) {\n return () => {\n invariant(false, \"You cannot %s with \", methodName);\n };\n}\n\nfunction noop() {}\n\n/**\n * The public top-level API for a \"static\" , so-called because it\n * can't actually change the current location. Instead, it just records\n * location changes in a context object. Useful mainly in testing and\n * server-rendering scenarios.\n */\nclass StaticRouter extends React.Component {\n navigateTo(location, action) {\n const { basename = \"\", context = {} } = this.props;\n context.action = action;\n context.location = addBasename(basename, createLocation(location));\n context.url = createURL(context.location);\n }\n\n handlePush = location => this.navigateTo(location, \"PUSH\");\n handleReplace = location => this.navigateTo(location, \"REPLACE\");\n handleListen = () => noop;\n handleBlock = () => noop;\n\n render() {\n const { basename = \"\", context = {}, location = \"/\", ...rest } = this.props;\n\n const history = {\n createHref: path => addLeadingSlash(basename + createURL(path)),\n action: \"POP\",\n location: stripBasename(basename, createLocation(location)),\n push: this.handlePush,\n replace: this.handleReplace,\n go: staticHandler(\"go\"),\n goBack: staticHandler(\"goBack\"),\n goForward: staticHandler(\"goForward\"),\n listen: this.handleListen,\n block: this.handleBlock\n };\n\n return ;\n }\n}\n\nif (__DEV__) {\n StaticRouter.propTypes = {\n basename: PropTypes.string,\n context: PropTypes.object,\n location: PropTypes.oneOfType([PropTypes.string, PropTypes.object])\n };\n\n StaticRouter.prototype.componentDidMount = function() {\n warning(\n !this.props.history,\n \" ignores the history prop. To use a custom history, \" +\n \"use `import { Router }` instead of `import { StaticRouter as Router }`.\"\n );\n };\n}\n\nexport default StaticRouter;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport invariant from \"tiny-invariant\";\nimport warning from \"tiny-warning\";\n\nimport RouterContext from \"./RouterContext.js\";\nimport matchPath from \"./matchPath.js\";\n\n/**\n * The public API for rendering the first that matches.\n */\nclass Switch extends React.Component {\n render() {\n return (\n \n {context => {\n invariant(context, \"You should not use outside a \");\n\n const location = this.props.location || context.location;\n\n let element, match;\n\n // We use React.Children.forEach instead of React.Children.toArray().find()\n // here because toArray adds keys to all child elements and we do not want\n // to trigger an unmount/remount for two s that render the same\n // component at different URLs.\n React.Children.forEach(this.props.children, child => {\n if (match == null && React.isValidElement(child)) {\n element = child;\n\n const path = child.props.path || child.props.from;\n\n match = path\n ? matchPath(location.pathname, { ...child.props, path })\n : context.match;\n }\n });\n\n return match\n ? React.cloneElement(element, { location, computedMatch: match })\n : null;\n }}\n \n );\n }\n}\n\nif (__DEV__) {\n Switch.propTypes = {\n children: PropTypes.node,\n location: PropTypes.object\n };\n\n Switch.prototype.componentDidUpdate = function(prevProps) {\n warning(\n !(this.props.location && !prevProps.location),\n ' elements should not change from uncontrolled to controlled (or vice versa). You initially used no \"location\" prop and then provided one on a subsequent render.'\n );\n\n warning(\n !(!this.props.location && prevProps.location),\n ' elements should not change from controlled to uncontrolled (or vice versa). You provided a \"location\" prop initially but omitted it on a subsequent render.'\n );\n };\n}\n\nexport default Switch;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport hoistStatics from \"hoist-non-react-statics\";\nimport invariant from \"tiny-invariant\";\n\nimport RouterContext from \"./RouterContext.js\";\n\n/**\n * A public higher-order component to access the imperative API\n */\nfunction withRouter(Component) {\n const displayName = `withRouter(${Component.displayName || Component.name})`;\n const C = props => {\n const { wrappedComponentRef, ...remainingProps } = props;\n\n return (\n \n {context => {\n invariant(\n context,\n `You should not use <${displayName} /> outside a `\n );\n return (\n \n );\n }}\n \n );\n };\n\n C.displayName = displayName;\n C.WrappedComponent = Component;\n\n if (__DEV__) {\n C.propTypes = {\n wrappedComponentRef: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.object\n ])\n };\n }\n\n return hoistStatics(C, Component);\n}\n\nexport default withRouter;\n","import React from \"react\";\nimport invariant from \"tiny-invariant\";\n\nimport RouterContext from \"./RouterContext.js\";\nimport HistoryContext from \"./HistoryContext.js\";\nimport matchPath from \"./matchPath.js\";\n\nconst useContext = React.useContext;\n\nexport function useHistory() {\n if (__DEV__) {\n invariant(\n typeof useContext === \"function\",\n \"You must use React >= 16.8 in order to use useHistory()\"\n );\n }\n\n return useContext(HistoryContext);\n}\n\nexport function useLocation() {\n if (__DEV__) {\n invariant(\n typeof useContext === \"function\",\n \"You must use React >= 16.8 in order to use useLocation()\"\n );\n }\n\n return useContext(RouterContext).location;\n}\n\nexport function useParams() {\n if (__DEV__) {\n invariant(\n typeof useContext === \"function\",\n \"You must use React >= 16.8 in order to use useParams()\"\n );\n }\n\n const match = useContext(RouterContext).match;\n return match ? match.params : {};\n}\n\nexport function useRouteMatch(path) {\n if (__DEV__) {\n invariant(\n typeof useContext === \"function\",\n \"You must use React >= 16.8 in order to use useRouteMatch()\"\n );\n }\n\n const location = useLocation();\n const match = useContext(RouterContext).match;\n return path ? matchPath(location.pathname, path) : match;\n}\n","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"react\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"react\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ScrollSync\"] = factory(require(\"react\"));\n\telse\n\t\troot[\"ScrollSync\"] = factory(root[\"react\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_4__) {\nreturn \n\n\n// WEBPACK FOOTER //\n// webpack/universalModuleDefinition"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 10);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap d0976e768e26d4fc4256","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/process/browser.js\n// module id = 0\n// module chunks = 0","\"use strict\";\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * \n */\n\nfunction makeEmptyFunction(arg) {\n return function () {\n return arg;\n };\n}\n\n/**\n * This function accepts and discards inputs; it has no side effects. This is\n * primarily useful idiomatically for overridable function endpoints which\n * always need to be callable, since JS lacks a null-call idiom ala Cocoa.\n */\nvar emptyFunction = function emptyFunction() {};\n\nemptyFunction.thatReturns = makeEmptyFunction;\nemptyFunction.thatReturnsFalse = makeEmptyFunction(false);\nemptyFunction.thatReturnsTrue = makeEmptyFunction(true);\nemptyFunction.thatReturnsNull = makeEmptyFunction(null);\nemptyFunction.thatReturnsThis = function () {\n return this;\n};\nemptyFunction.thatReturnsArgument = function (arg) {\n return arg;\n};\n\nmodule.exports = emptyFunction;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/fbjs/lib/emptyFunction.js\n// module id = 1\n// module chunks = 0","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n */\n\n'use strict';\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar validateFormat = function validateFormat(format) {};\n\nif (process.env.NODE_ENV !== 'production') {\n validateFormat = function validateFormat(format) {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n };\n}\n\nfunction invariant(condition, format, a, b, c, d, e, f) {\n validateFormat(format);\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(format.replace(/%s/g, function () {\n return args[argIndex++];\n }));\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n}\n\nmodule.exports = invariant;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/fbjs/lib/invariant.js\n// module id = 2\n// module chunks = 0","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/prop-types/lib/ReactPropTypesSecret.js\n// module id = 3\n// module chunks = 0","module.exports = __WEBPACK_EXTERNAL_MODULE_4__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"react\"\n// module id = 4\n// module chunks = 0","import React from 'react'\n\nconst ScrollSyncContext = React.createContext({\n registerPane: () => {},\n unregisterPane: () => {}\n})\n\nexport default ScrollSyncContext\n\n\n\n// WEBPACK FOOTER //\n// ./src/support/ScrollSyncContext.js","/**\n * Copyright 2014-2015, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n */\n\n'use strict';\n\nvar emptyFunction = require('./emptyFunction');\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 warning = emptyFunction;\n\nif (process.env.NODE_ENV !== 'production') {\n (function () {\n var printWarning = function printWarning(format) {\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n var argIndex = 0;\n var message = 'Warning: ' + 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 warning(condition, format) {\n if (format === undefined) {\n throw new Error('`warning(condition, format, ...args)` requires a warning ' + 'message argument');\n }\n\n if (format.indexOf('Failed Composite propType: ') === 0) {\n return; // Ignore CompositeComponent proptype check.\n }\n\n if (!condition) {\n for (var _len2 = arguments.length, args = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {\n args[_key2 - 2] = arguments[_key2];\n }\n\n printWarning.apply(undefined, [format].concat(args));\n }\n };\n })();\n}\n\nmodule.exports = warning;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/fbjs/lib/warning.js\n// module id = 6\n// module chunks = 0","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var REACT_ELEMENT_TYPE = (typeof Symbol === 'function' &&\n Symbol.for &&\n Symbol.for('react.element')) ||\n 0xeac7;\n\n var isValidElement = function(object) {\n return typeof object === 'object' &&\n object !== null &&\n object.$$typeof === REACT_ELEMENT_TYPE;\n };\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(isValidElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/prop-types/index.js\n// module id = 7\n// module chunks = 0","import React, { Component } from 'react'\nimport PropTypes from 'prop-types'\nimport ScrollSyncContext from './support/ScrollSyncContext'\n\n/**\n * ScrollSync provider component\n *\n */\n\nexport default class ScrollSync extends Component {\n\n static propTypes = {\n /**\n * Callback to be invoked any time synchronization happens\n *\n * @param {Element} el The element that has received the scroll event\n */\n onSync: PropTypes.func,\n children: PropTypes.element.isRequired,\n proportional: PropTypes.bool,\n vertical: PropTypes.bool,\n horizontal: PropTypes.bool,\n enabled: PropTypes.bool\n };\n\n static defaultProps = {\n proportional: true,\n vertical: true,\n horizontal: true,\n enabled: true\n };\n\n getContextValue() {\n return {\n registerPane: this.registerPane,\n unregisterPane: this.unregisterPane\n }\n }\n\n panes = {}\n\n registerPane = (node, groups) => {\n groups.forEach((group) => {\n if (!this.panes[group]) {\n this.panes[group] = []\n }\n\n if (!this.findPane(node, group)) {\n if (this.panes[group].length > 0) {\n this.syncScrollPosition(this.panes[group][0], node)\n }\n this.panes[group].push(node)\n }\n })\n this.addEvents(node, groups)\n }\n\n unregisterPane = (node, groups) => {\n groups.forEach((group) => {\n if (this.findPane(node, group)) {\n this.removeEvents(node)\n this.panes[group].splice(this.panes[group].indexOf(node), 1)\n }\n })\n }\n\n addEvents = (node, groups) => {\n /* For some reason element.addEventListener doesnt work with document.body */\n node.onscroll = this.handlePaneScroll.bind(this, node, groups) // eslint-disable-line\n }\n\n removeEvents = (node) => {\n /* For some reason element.removeEventListener doesnt work with document.body */\n node.onscroll = null // eslint-disable-line\n }\n\n findPane = (node, group) => {\n if (!this.panes[group]) {\n return false\n }\n\n return this.panes[group].find(pane => pane === node)\n }\n\n handlePaneScroll = (node, groups) => {\n if (!this.props.enabled) {\n return\n }\n\n window.requestAnimationFrame(() => {\n this.syncScrollPositions(node, groups)\n })\n }\n\n syncScrollPosition(scrolledPane, pane) {\n const {\n scrollTop,\n scrollHeight,\n clientHeight,\n scrollLeft,\n scrollWidth,\n clientWidth\n } = scrolledPane\n\n const scrollTopOffset = scrollHeight - clientHeight\n const scrollLeftOffset = scrollWidth - clientWidth\n\n const { proportional, vertical, horizontal } = this.props\n\n /* Calculate the actual pane height */\n const paneHeight = pane.scrollHeight - clientHeight\n const paneWidth = pane.scrollWidth - clientWidth\n /* Adjust the scrollTop position of it accordingly */\n if (vertical && scrollTopOffset > 0) {\n pane.scrollTop = proportional ? (paneHeight * scrollTop) / scrollTopOffset : scrollTop // eslint-disable-line\n }\n if (horizontal && scrollLeftOffset > 0) {\n pane.scrollLeft = proportional ? (paneWidth * scrollLeft) / scrollLeftOffset : scrollLeft // eslint-disable-line\n }\n }\n\n syncScrollPositions = (scrolledPane, groups) => {\n groups.forEach((group) => {\n this.panes[group].forEach((pane) => {\n /* For all panes beside the currently scrolling one */\n if (scrolledPane !== pane) {\n /* Remove event listeners from the node that we'll manipulate */\n this.removeEvents(pane, group)\n this.syncScrollPosition(scrolledPane, pane)\n /* Re-attach event listeners after we're done scrolling */\n window.requestAnimationFrame(() => {\n this.addEvents(pane, groups)\n })\n }\n })\n })\n if (this.props.onSync) this.props.onSync(scrolledPane)\n }\n\n render() {\n return \n {React.Children.only(this.props.children)}\n \n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/ScrollSync.jsx","/* eslint react/no-find-dom-node: 0 */\n\nimport { Component, Children, createRef, cloneElement } from 'react'\nimport PropTypes from 'prop-types'\nimport ScrollSyncContext from './support/ScrollSyncContext'\n\n/**\n * ScrollSyncPane Component\n *\n * Wrap your content in it to keep its scroll position in sync with other panes\n *\n * @example ./example.md\n */\n\nexport default class ScrollSyncPane extends Component {\n static contextType = ScrollSyncContext;\n\n static propTypes = {\n children: PropTypes.node.isRequired,\n attachTo: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.shape({ current: PropTypes.any })\n ]),\n group: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string)\n ]),\n enabled: PropTypes.bool,\n innerRef: PropTypes.oneOfType([// Either a function\n PropTypes.func,\n PropTypes.shape({ current: PropTypes.any })])\n };\n\n static defaultProps = {\n group: 'default',\n enabled: true\n };\n\n constructor(props) {\n super(props)\n\n this.childRef = props.innerRef ? props.innerRef : createRef()\n }\n\n componentDidMount() {\n if (this.props.enabled) {\n this.updateNode()\n if (this.node) {\n this.context.registerPane(this.node, this.toArray(this.props.group))\n }\n }\n }\n\n componentDidUpdate(prevProps) {\n if (this.props.attachTo !== prevProps.attachTo) {\n if (this.node) {\n this.context.unregisterPane(this.node, this.toArray(prevProps.group))\n }\n this.updateNode()\n if (this.node) {\n this.context.registerPane(this.node, this.toArray(prevProps.group))\n }\n }\n if (this.node && this.props.enabled !== prevProps.enabled) {\n if (this.props.enabled) {\n this.context.registerPane(this.node, this.toArray(prevProps.group))\n } else {\n this.context.unregisterPane(this.node, this.toArray(prevProps.group))\n }\n }\n if (\n this.node &&\n this.props.enabled &&\n this.props.group !== prevProps.group\n ) {\n this.context.unregisterPane(this.node, this.toArray(prevProps.group))\n this.context.registerPane(this.node, this.toArray(this.props.group))\n }\n }\n\n componentWillUnmount() {\n if (this.node && this.props.enabled) {\n this.context.unregisterPane(this.node, this.toArray(this.props.group))\n }\n }\n\n toArray = groups => [].concat(groups);\n\n updateNode = () => {\n if (this.props.attachTo) {\n this.node = this.props.attachTo.current\n } else {\n this.node = this.childRef.current\n }\n };\n\n render() {\n if (this.props.attachTo) {\n return this.props.children\n }\n return cloneElement(Children.only(this.props.children), {\n ref: this.childRef\n })\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/ScrollSyncPane.js","export { default as ScrollSync } from './ScrollSync'\nexport { default as ScrollSyncPane } from './ScrollSyncPane'\n\n\n\n// WEBPACK FOOTER //\n// ./src/index.js","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\n'use strict';\n\nif (process.env.NODE_ENV !== 'production') {\n var invariant = require('fbjs/lib/invariant');\n var warning = require('fbjs/lib/warning');\n var ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n var loggedTypeFailures = {};\n}\n\n/**\n * Assert that the values match with the type specs.\n * Error messages are memorized and will only be shown once.\n *\n * @param {object} typeSpecs Map of name to a ReactPropType\n * @param {object} values Runtime values that need to be type-checked\n * @param {string} location e.g. \"prop\", \"context\", \"child context\"\n * @param {string} componentName Name of the component for error messages.\n * @param {?Function} getStack Returns the component stack.\n * @private\n */\nfunction checkPropTypes(typeSpecs, values, location, componentName, getStack) {\n if (process.env.NODE_ENV !== 'production') {\n for (var typeSpecName in typeSpecs) {\n if (typeSpecs.hasOwnProperty(typeSpecName)) {\n var error;\n // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n invariant(typeof typeSpecs[typeSpecName] === 'function', '%s: %s type `%s` is invalid; it must be a function, usually from ' + 'React.PropTypes.', componentName || 'React class', location, typeSpecName);\n error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);\n } catch (ex) {\n error = ex;\n }\n warning(!error || error instanceof Error, '%s: type specification of %s `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', location, typeSpecName, typeof error);\n if (error instanceof Error && !(error.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error.message] = true;\n\n var stack = getStack ? getStack() : '';\n\n warning(false, 'Failed %s type: %s%s', location, error.message, stack != null ? stack : '');\n }\n }\n }\n }\n}\n\nmodule.exports = checkPropTypes;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/prop-types/checkPropTypes.js\n// module id = 11\n// module chunks = 0","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\n'use strict';\n\nvar emptyFunction = require('fbjs/lib/emptyFunction');\nvar invariant = require('fbjs/lib/invariant');\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n invariant(\n false,\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim\n };\n\n ReactPropTypes.checkPropTypes = emptyFunction;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/prop-types/factoryWithThrowingShims.js\n// module id = 12\n// module chunks = 0","/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\n'use strict';\n\nvar emptyFunction = require('fbjs/lib/emptyFunction');\nvar invariant = require('fbjs/lib/invariant');\nvar warning = require('fbjs/lib/warning');\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\nvar checkPropTypes = require('./checkPropTypes');\n\nmodule.exports = function(isValidElement, throwOnDirectAccess) {\n /* global Symbol */\n var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\n var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.\n\n /**\n * Returns the iterator method function contained on the iterable object.\n *\n * Be sure to invoke the function with the iterable as context:\n *\n * var iteratorFn = getIteratorFn(myIterable);\n * if (iteratorFn) {\n * var iterator = iteratorFn.call(myIterable);\n * ...\n * }\n *\n * @param {?object} maybeIterable\n * @return {?function}\n */\n function getIteratorFn(maybeIterable) {\n var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);\n if (typeof iteratorFn === 'function') {\n return iteratorFn;\n }\n }\n\n /**\n * Collection of methods that allow declaration and validation of props that are\n * supplied to React components. Example usage:\n *\n * var Props = require('ReactPropTypes');\n * var MyArticle = React.createClass({\n * propTypes: {\n * // An optional string prop named \"description\".\n * description: Props.string,\n *\n * // A required enum prop named \"category\".\n * category: Props.oneOf(['News','Photos']).isRequired,\n *\n * // A prop named \"dialog\" that requires an instance of Dialog.\n * dialog: Props.instanceOf(Dialog).isRequired\n * },\n * render: function() { ... }\n * });\n *\n * A more formal specification of how these methods are used:\n *\n * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)\n * decl := ReactPropTypes.{type}(.isRequired)?\n *\n * Each and every declaration produces a function with the same signature. This\n * allows the creation of custom validation functions. For example:\n *\n * var MyLink = React.createClass({\n * propTypes: {\n * // An optional string or URI prop named \"href\".\n * href: function(props, propName, componentName) {\n * var propValue = props[propName];\n * if (propValue != null && typeof propValue !== 'string' &&\n * !(propValue instanceof URI)) {\n * return new Error(\n * 'Expected a string or an URI for ' + propName + ' in ' +\n * componentName\n * );\n * }\n * }\n * },\n * render: function() {...}\n * });\n *\n * @internal\n */\n\n var ANONYMOUS = '<>';\n\n // Important!\n // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.\n var ReactPropTypes = {\n array: createPrimitiveTypeChecker('array'),\n bool: createPrimitiveTypeChecker('boolean'),\n func: createPrimitiveTypeChecker('function'),\n number: createPrimitiveTypeChecker('number'),\n object: createPrimitiveTypeChecker('object'),\n string: createPrimitiveTypeChecker('string'),\n symbol: createPrimitiveTypeChecker('symbol'),\n\n any: createAnyTypeChecker(),\n arrayOf: createArrayOfTypeChecker,\n element: createElementTypeChecker(),\n instanceOf: createInstanceTypeChecker,\n node: createNodeChecker(),\n objectOf: createObjectOfTypeChecker,\n oneOf: createEnumTypeChecker,\n oneOfType: createUnionTypeChecker,\n shape: createShapeTypeChecker\n };\n\n /**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\n /*eslint-disable no-self-compare*/\n function is(x, y) {\n // SameValue algorithm\n if (x === y) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n return x !== 0 || 1 / x === 1 / y;\n } else {\n // Step 6.a: NaN == NaN\n return x !== x && y !== y;\n }\n }\n /*eslint-enable no-self-compare*/\n\n /**\n * We use an Error-like object for backward compatibility as people may call\n * PropTypes directly and inspect their output. However, we don't use real\n * Errors anymore. We don't inspect their stack anyway, and creating them\n * is prohibitively expensive if they are created too often, such as what\n * happens in oneOfType() for any type before the one that matched.\n */\n function PropTypeError(message) {\n this.message = message;\n this.stack = '';\n }\n // Make `instanceof Error` still work for returned errors.\n PropTypeError.prototype = Error.prototype;\n\n function createChainableTypeChecker(validate) {\n if (process.env.NODE_ENV !== 'production') {\n var manualPropTypeCallCache = {};\n var manualPropTypeWarningCount = 0;\n }\n function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {\n componentName = componentName || ANONYMOUS;\n propFullName = propFullName || propName;\n\n if (secret !== ReactPropTypesSecret) {\n if (throwOnDirectAccess) {\n // New behavior only for users of `prop-types` package\n invariant(\n false,\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use `PropTypes.checkPropTypes()` to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n } else if (process.env.NODE_ENV !== 'production' && typeof console !== 'undefined') {\n // Old behavior for people using React.PropTypes\n var cacheKey = componentName + ':' + propName;\n if (\n !manualPropTypeCallCache[cacheKey] &&\n // Avoid spamming the console because they are often not actionable except for lib authors\n manualPropTypeWarningCount < 3\n ) {\n warning(\n false,\n 'You are manually calling a React.PropTypes validation ' +\n 'function for the `%s` prop on `%s`. This is deprecated ' +\n 'and will throw in the standalone `prop-types` package. ' +\n 'You may be seeing this warning due to a third-party PropTypes ' +\n 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.',\n propFullName,\n componentName\n );\n manualPropTypeCallCache[cacheKey] = true;\n manualPropTypeWarningCount++;\n }\n }\n }\n if (props[propName] == null) {\n if (isRequired) {\n if (props[propName] === null) {\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));\n }\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));\n }\n return null;\n } else {\n return validate(props, propName, componentName, location, propFullName);\n }\n }\n\n var chainedCheckType = checkType.bind(null, false);\n chainedCheckType.isRequired = checkType.bind(null, true);\n\n return chainedCheckType;\n }\n\n function createPrimitiveTypeChecker(expectedType) {\n function validate(props, propName, componentName, location, propFullName, secret) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== expectedType) {\n // `propValue` being instance of, say, date/regexp, pass the 'object'\n // check, but we can offer a more precise error message here rather than\n // 'of type `object`'.\n var preciseType = getPreciseType(propValue);\n\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createAnyTypeChecker() {\n return createChainableTypeChecker(emptyFunction.thatReturnsNull);\n }\n\n function createArrayOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');\n }\n var propValue = props[propName];\n if (!Array.isArray(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));\n }\n for (var i = 0; i < propValue.length; i++) {\n var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!isValidElement(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createInstanceTypeChecker(expectedClass) {\n function validate(props, propName, componentName, location, propFullName) {\n if (!(props[propName] instanceof expectedClass)) {\n var expectedClassName = expectedClass.name || ANONYMOUS;\n var actualClassName = getClassName(props[propName]);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createEnumTypeChecker(expectedValues) {\n if (!Array.isArray(expectedValues)) {\n process.env.NODE_ENV !== 'production' ? warning(false, 'Invalid argument supplied to oneOf, expected an instance of array.') : void 0;\n return emptyFunction.thatReturnsNull;\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n for (var i = 0; i < expectedValues.length; i++) {\n if (is(propValue, expectedValues[i])) {\n return null;\n }\n }\n\n var valuesString = JSON.stringify(expectedValues);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + propValue + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createObjectOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');\n }\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));\n }\n for (var key in propValue) {\n if (propValue.hasOwnProperty(key)) {\n var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createUnionTypeChecker(arrayOfTypeCheckers) {\n if (!Array.isArray(arrayOfTypeCheckers)) {\n process.env.NODE_ENV !== 'production' ? warning(false, 'Invalid argument supplied to oneOfType, expected an instance of array.') : void 0;\n return emptyFunction.thatReturnsNull;\n }\n\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (typeof checker !== 'function') {\n warning(\n false,\n 'Invalid argument supplid to oneOfType. Expected an array of check functions, but ' +\n 'received %s at index %s.',\n getPostfixForTypeWarning(checker),\n i\n );\n return emptyFunction.thatReturnsNull;\n }\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret) == null) {\n return null;\n }\n }\n\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createNodeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n if (!isNode(props[propName])) {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n for (var key in shapeTypes) {\n var checker = shapeTypes[key];\n if (!checker) {\n continue;\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function isNode(propValue) {\n switch (typeof propValue) {\n case 'number':\n case 'string':\n case 'undefined':\n return true;\n case 'boolean':\n return !propValue;\n case 'object':\n if (Array.isArray(propValue)) {\n return propValue.every(isNode);\n }\n if (propValue === null || isValidElement(propValue)) {\n return true;\n }\n\n var iteratorFn = getIteratorFn(propValue);\n if (iteratorFn) {\n var iterator = iteratorFn.call(propValue);\n var step;\n if (iteratorFn !== propValue.entries) {\n while (!(step = iterator.next()).done) {\n if (!isNode(step.value)) {\n return false;\n }\n }\n } else {\n // Iterator will provide entry [k,v] tuples rather than values.\n while (!(step = iterator.next()).done) {\n var entry = step.value;\n if (entry) {\n if (!isNode(entry[1])) {\n return false;\n }\n }\n }\n }\n } else {\n return false;\n }\n\n return true;\n default:\n return false;\n }\n }\n\n function isSymbol(propType, propValue) {\n // Native Symbol.\n if (propType === 'symbol') {\n return true;\n }\n\n // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'\n if (propValue['@@toStringTag'] === 'Symbol') {\n return true;\n }\n\n // Fallback for non-spec compliant Symbols which are polyfilled.\n if (typeof Symbol === 'function' && propValue instanceof Symbol) {\n return true;\n }\n\n return false;\n }\n\n // Equivalent of `typeof` but with special handling for array and regexp.\n function getPropType(propValue) {\n var propType = typeof propValue;\n if (Array.isArray(propValue)) {\n return 'array';\n }\n if (propValue instanceof RegExp) {\n // Old webkits (at least until Android 4.0) return 'function' rather than\n // 'object' for typeof a RegExp. We'll normalize this here so that /bla/\n // passes PropTypes.object.\n return 'object';\n }\n if (isSymbol(propType, propValue)) {\n return 'symbol';\n }\n return propType;\n }\n\n // This handles more types than `getPropType`. Only used for error messages.\n // See `createPrimitiveTypeChecker`.\n function getPreciseType(propValue) {\n if (typeof propValue === 'undefined' || propValue === null) {\n return '' + propValue;\n }\n var propType = getPropType(propValue);\n if (propType === 'object') {\n if (propValue instanceof Date) {\n return 'date';\n } else if (propValue instanceof RegExp) {\n return 'regexp';\n }\n }\n return propType;\n }\n\n // Returns a string that is postfixed to a warning about an invalid type.\n // For example, \"undefined\" or \"of type array\"\n function getPostfixForTypeWarning(value) {\n var type = getPreciseType(value);\n switch (type) {\n case 'array':\n case 'object':\n return 'an ' + type;\n case 'boolean':\n case 'date':\n case 'regexp':\n return 'a ' + type;\n default:\n return type;\n }\n }\n\n // Returns class name of the object, if any.\n function getClassName(propValue) {\n if (!propValue.constructor || !propValue.constructor.name) {\n return ANONYMOUS;\n }\n return propValue.constructor.name;\n }\n\n ReactPropTypes.checkPropTypes = checkPropTypes;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/prop-types/factoryWithTypeCheckers.js\n// module id = 13\n// module chunks = 0","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PrevArrow = exports.NextArrow = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _innerSliderUtils = require(\"./utils/innerSliderUtils\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nvar PrevArrow = /*#__PURE__*/function (_React$PureComponent) {\n _inherits(PrevArrow, _React$PureComponent);\n\n var _super = _createSuper(PrevArrow);\n\n function PrevArrow() {\n _classCallCheck(this, PrevArrow);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(PrevArrow, [{\n key: \"clickHandler\",\n value: function clickHandler(options, e) {\n if (e) {\n e.preventDefault();\n }\n\n this.props.clickHandler(options, e);\n }\n }, {\n key: \"render\",\n value: function render() {\n var prevClasses = {\n \"slick-arrow\": true,\n \"slick-prev\": true\n };\n var prevHandler = this.clickHandler.bind(this, {\n message: \"previous\"\n });\n\n if (!this.props.infinite && (this.props.currentSlide === 0 || this.props.slideCount <= this.props.slidesToShow)) {\n prevClasses[\"slick-disabled\"] = true;\n prevHandler = null;\n }\n\n var prevArrowProps = {\n key: \"0\",\n \"data-role\": \"none\",\n className: (0, _classnames[\"default\"])(prevClasses),\n style: {\n display: \"block\"\n },\n onClick: prevHandler\n };\n var customProps = {\n currentSlide: this.props.currentSlide,\n slideCount: this.props.slideCount\n };\n var prevArrow;\n\n if (this.props.prevArrow) {\n prevArrow = /*#__PURE__*/_react[\"default\"].cloneElement(this.props.prevArrow, _objectSpread(_objectSpread({}, prevArrowProps), customProps));\n } else {\n prevArrow = /*#__PURE__*/_react[\"default\"].createElement(\"button\", _extends({\n key: \"0\",\n type: \"button\"\n }, prevArrowProps), \" \", \"Previous\");\n }\n\n return prevArrow;\n }\n }]);\n\n return PrevArrow;\n}(_react[\"default\"].PureComponent);\n\nexports.PrevArrow = PrevArrow;\n\nvar NextArrow = /*#__PURE__*/function (_React$PureComponent2) {\n _inherits(NextArrow, _React$PureComponent2);\n\n var _super2 = _createSuper(NextArrow);\n\n function NextArrow() {\n _classCallCheck(this, NextArrow);\n\n return _super2.apply(this, arguments);\n }\n\n _createClass(NextArrow, [{\n key: \"clickHandler\",\n value: function clickHandler(options, e) {\n if (e) {\n e.preventDefault();\n }\n\n this.props.clickHandler(options, e);\n }\n }, {\n key: \"render\",\n value: function render() {\n var nextClasses = {\n \"slick-arrow\": true,\n \"slick-next\": true\n };\n var nextHandler = this.clickHandler.bind(this, {\n message: \"next\"\n });\n\n if (!(0, _innerSliderUtils.canGoNext)(this.props)) {\n nextClasses[\"slick-disabled\"] = true;\n nextHandler = null;\n }\n\n var nextArrowProps = {\n key: \"1\",\n \"data-role\": \"none\",\n className: (0, _classnames[\"default\"])(nextClasses),\n style: {\n display: \"block\"\n },\n onClick: nextHandler\n };\n var customProps = {\n currentSlide: this.props.currentSlide,\n slideCount: this.props.slideCount\n };\n var nextArrow;\n\n if (this.props.nextArrow) {\n nextArrow = /*#__PURE__*/_react[\"default\"].cloneElement(this.props.nextArrow, _objectSpread(_objectSpread({}, nextArrowProps), customProps));\n } else {\n nextArrow = /*#__PURE__*/_react[\"default\"].createElement(\"button\", _extends({\n key: \"1\",\n type: \"button\"\n }, nextArrowProps), \" \", \"Next\");\n }\n\n return nextArrow;\n }\n }]);\n\n return NextArrow;\n}(_react[\"default\"].PureComponent);\n\nexports.NextArrow = NextArrow;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar defaultProps = {\n accessibility: true,\n adaptiveHeight: false,\n afterChange: null,\n appendDots: function appendDots(dots) {\n return /*#__PURE__*/_react[\"default\"].createElement(\"ul\", {\n style: {\n display: \"block\"\n }\n }, dots);\n },\n arrows: true,\n autoplay: false,\n autoplaySpeed: 3000,\n beforeChange: null,\n centerMode: false,\n centerPadding: \"50px\",\n className: \"\",\n cssEase: \"ease\",\n customPaging: function customPaging(i) {\n return /*#__PURE__*/_react[\"default\"].createElement(\"button\", null, i + 1);\n },\n dots: false,\n dotsClass: \"slick-dots\",\n draggable: true,\n easing: \"linear\",\n edgeFriction: 0.35,\n fade: false,\n focusOnSelect: false,\n infinite: true,\n initialSlide: 0,\n lazyLoad: null,\n nextArrow: null,\n onEdge: null,\n onInit: null,\n onLazyLoadError: null,\n onReInit: null,\n pauseOnDotsHover: false,\n pauseOnFocus: false,\n pauseOnHover: true,\n prevArrow: null,\n responsive: null,\n rows: 1,\n rtl: false,\n slide: \"div\",\n slidesPerRow: 1,\n slidesToScroll: 1,\n slidesToShow: 1,\n speed: 500,\n swipe: true,\n swipeEvent: null,\n swipeToSlide: false,\n touchMove: true,\n touchThreshold: 5,\n useCSS: true,\n useTransform: true,\n variableWidth: false,\n vertical: false,\n waitForAnimate: true\n};\nvar _default = defaultProps;\nexports[\"default\"] = _default;","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Dots = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _innerSliderUtils = require(\"./utils/innerSliderUtils\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nvar getDotCount = function getDotCount(spec) {\n var dots;\n\n if (spec.infinite) {\n dots = Math.ceil(spec.slideCount / spec.slidesToScroll);\n } else {\n dots = Math.ceil((spec.slideCount - spec.slidesToShow) / spec.slidesToScroll) + 1;\n }\n\n return dots;\n};\n\nvar Dots = /*#__PURE__*/function (_React$PureComponent) {\n _inherits(Dots, _React$PureComponent);\n\n var _super = _createSuper(Dots);\n\n function Dots() {\n _classCallCheck(this, Dots);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(Dots, [{\n key: \"clickHandler\",\n value: function clickHandler(options, e) {\n // In Autoplay the focus stays on clicked button even after transition\n // to next slide. That only goes away by click somewhere outside\n e.preventDefault();\n this.props.clickHandler(options);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n onMouseEnter = _this$props.onMouseEnter,\n onMouseOver = _this$props.onMouseOver,\n onMouseLeave = _this$props.onMouseLeave,\n infinite = _this$props.infinite,\n slidesToScroll = _this$props.slidesToScroll,\n slidesToShow = _this$props.slidesToShow,\n slideCount = _this$props.slideCount,\n currentSlide = _this$props.currentSlide;\n var dotCount = getDotCount({\n slideCount: slideCount,\n slidesToScroll: slidesToScroll,\n slidesToShow: slidesToShow,\n infinite: infinite\n });\n var mouseEvents = {\n onMouseEnter: onMouseEnter,\n onMouseOver: onMouseOver,\n onMouseLeave: onMouseLeave\n };\n var dots = [];\n\n for (var i = 0; i < dotCount; i++) {\n var _rightBound = (i + 1) * slidesToScroll - 1;\n\n var rightBound = infinite ? _rightBound : (0, _innerSliderUtils.clamp)(_rightBound, 0, slideCount - 1);\n\n var _leftBound = rightBound - (slidesToScroll - 1);\n\n var leftBound = infinite ? _leftBound : (0, _innerSliderUtils.clamp)(_leftBound, 0, slideCount - 1);\n var className = (0, _classnames[\"default\"])({\n \"slick-active\": infinite ? currentSlide >= leftBound && currentSlide <= rightBound : currentSlide === leftBound\n });\n var dotOptions = {\n message: \"dots\",\n index: i,\n slidesToScroll: slidesToScroll,\n currentSlide: currentSlide\n };\n var onClick = this.clickHandler.bind(this, dotOptions);\n dots = dots.concat( /*#__PURE__*/_react[\"default\"].createElement(\"li\", {\n key: i,\n className: className\n }, /*#__PURE__*/_react[\"default\"].cloneElement(this.props.customPaging(i), {\n onClick: onClick\n })));\n }\n\n return /*#__PURE__*/_react[\"default\"].cloneElement(this.props.appendDots(dots), _objectSpread({\n className: this.props.dotsClass\n }, mouseEvents));\n }\n }]);\n\n return Dots;\n}(_react[\"default\"].PureComponent);\n\nexports.Dots = Dots;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _slider = _interopRequireDefault(require(\"./slider\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar _default = _slider[\"default\"];\nexports[\"default\"] = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\nvar initialState = {\n animating: false,\n autoplaying: null,\n currentDirection: 0,\n currentLeft: null,\n currentSlide: 0,\n direction: 1,\n dragging: false,\n edgeDragged: false,\n initialized: false,\n lazyLoadedList: [],\n listHeight: null,\n listWidth: null,\n scrolling: false,\n slideCount: null,\n slideHeight: null,\n slideWidth: null,\n swipeLeft: null,\n swiped: false,\n // used by swipeEvent. differentites between touch and swipe.\n swiping: false,\n touchObject: {\n startX: 0,\n startY: 0,\n curX: 0,\n curY: 0\n },\n trackStyle: {},\n trackWidth: 0,\n targetSlide: 0\n};\nvar _default = initialState;\nexports[\"default\"] = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.InnerSlider = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _initialState = _interopRequireDefault(require(\"./initial-state\"));\n\nvar _lodash = _interopRequireDefault(require(\"lodash.debounce\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _innerSliderUtils = require(\"./utils/innerSliderUtils\");\n\nvar _track = require(\"./track\");\n\nvar _dots = require(\"./dots\");\n\nvar _arrows = require(\"./arrows\");\n\nvar _resizeObserverPolyfill = _interopRequireDefault(require(\"resize-observer-polyfill\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar InnerSlider = /*#__PURE__*/function (_React$Component) {\n _inherits(InnerSlider, _React$Component);\n\n var _super = _createSuper(InnerSlider);\n\n function InnerSlider(props) {\n var _this;\n\n _classCallCheck(this, InnerSlider);\n\n _this = _super.call(this, props);\n\n _defineProperty(_assertThisInitialized(_this), \"listRefHandler\", function (ref) {\n return _this.list = ref;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"trackRefHandler\", function (ref) {\n return _this.track = ref;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"adaptHeight\", function () {\n if (_this.props.adaptiveHeight && _this.list) {\n var elem = _this.list.querySelector(\"[data-index=\\\"\".concat(_this.state.currentSlide, \"\\\"]\"));\n\n _this.list.style.height = (0, _innerSliderUtils.getHeight)(elem) + \"px\";\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"componentDidMount\", function () {\n _this.props.onInit && _this.props.onInit();\n\n if (_this.props.lazyLoad) {\n var slidesToLoad = (0, _innerSliderUtils.getOnDemandLazySlides)(_objectSpread(_objectSpread({}, _this.props), _this.state));\n\n if (slidesToLoad.length > 0) {\n _this.setState(function (prevState) {\n return {\n lazyLoadedList: prevState.lazyLoadedList.concat(slidesToLoad)\n };\n });\n\n if (_this.props.onLazyLoad) {\n _this.props.onLazyLoad(slidesToLoad);\n }\n }\n }\n\n var spec = _objectSpread({\n listRef: _this.list,\n trackRef: _this.track\n }, _this.props);\n\n _this.updateState(spec, true, function () {\n _this.adaptHeight();\n\n _this.props.autoplay && _this.autoPlay(\"update\");\n });\n\n if (_this.props.lazyLoad === \"progressive\") {\n _this.lazyLoadTimer = setInterval(_this.progressiveLazyLoad, 1000);\n }\n\n _this.ro = new _resizeObserverPolyfill[\"default\"](function () {\n if (_this.state.animating) {\n _this.onWindowResized(false); // don't set trackStyle hence don't break animation\n\n\n _this.callbackTimers.push(setTimeout(function () {\n return _this.onWindowResized();\n }, _this.props.speed));\n } else {\n _this.onWindowResized();\n }\n });\n\n _this.ro.observe(_this.list);\n\n document.querySelectorAll && Array.prototype.forEach.call(document.querySelectorAll(\".slick-slide\"), function (slide) {\n slide.onfocus = _this.props.pauseOnFocus ? _this.onSlideFocus : null;\n slide.onblur = _this.props.pauseOnFocus ? _this.onSlideBlur : null;\n });\n\n if (window.addEventListener) {\n window.addEventListener(\"resize\", _this.onWindowResized);\n } else {\n window.attachEvent(\"onresize\", _this.onWindowResized);\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"componentWillUnmount\", function () {\n if (_this.animationEndCallback) {\n clearTimeout(_this.animationEndCallback);\n }\n\n if (_this.lazyLoadTimer) {\n clearInterval(_this.lazyLoadTimer);\n }\n\n if (_this.callbackTimers.length) {\n _this.callbackTimers.forEach(function (timer) {\n return clearTimeout(timer);\n });\n\n _this.callbackTimers = [];\n }\n\n if (window.addEventListener) {\n window.removeEventListener(\"resize\", _this.onWindowResized);\n } else {\n window.detachEvent(\"onresize\", _this.onWindowResized);\n }\n\n if (_this.autoplayTimer) {\n clearInterval(_this.autoplayTimer);\n }\n\n _this.ro.disconnect();\n });\n\n _defineProperty(_assertThisInitialized(_this), \"componentDidUpdate\", function (prevProps) {\n _this.checkImagesLoad();\n\n _this.props.onReInit && _this.props.onReInit();\n\n if (_this.props.lazyLoad) {\n var slidesToLoad = (0, _innerSliderUtils.getOnDemandLazySlides)(_objectSpread(_objectSpread({}, _this.props), _this.state));\n\n if (slidesToLoad.length > 0) {\n _this.setState(function (prevState) {\n return {\n lazyLoadedList: prevState.lazyLoadedList.concat(slidesToLoad)\n };\n });\n\n if (_this.props.onLazyLoad) {\n _this.props.onLazyLoad(slidesToLoad);\n }\n }\n } // if (this.props.onLazyLoad) {\n // this.props.onLazyLoad([leftMostSlide])\n // }\n\n\n _this.adaptHeight();\n\n var spec = _objectSpread(_objectSpread({\n listRef: _this.list,\n trackRef: _this.track\n }, _this.props), _this.state);\n\n var setTrackStyle = _this.didPropsChange(prevProps);\n\n setTrackStyle && _this.updateState(spec, setTrackStyle, function () {\n if (_this.state.currentSlide >= _react[\"default\"].Children.count(_this.props.children)) {\n _this.changeSlide({\n message: \"index\",\n index: _react[\"default\"].Children.count(_this.props.children) - _this.props.slidesToShow,\n currentSlide: _this.state.currentSlide\n });\n }\n\n if (_this.props.autoplay) {\n _this.autoPlay(\"update\");\n } else {\n _this.pause(\"paused\");\n }\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onWindowResized\", function (setTrackStyle) {\n if (_this.debouncedResize) _this.debouncedResize.cancel();\n _this.debouncedResize = (0, _lodash[\"default\"])(function () {\n return _this.resizeWindow(setTrackStyle);\n }, 50);\n\n _this.debouncedResize();\n });\n\n _defineProperty(_assertThisInitialized(_this), \"resizeWindow\", function () {\n var setTrackStyle = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n var isTrackMounted = Boolean(_this.track && _this.track.node); // prevent warning: setting state on unmounted component (server side rendering)\n\n if (!isTrackMounted) return;\n\n var spec = _objectSpread(_objectSpread({\n listRef: _this.list,\n trackRef: _this.track\n }, _this.props), _this.state);\n\n _this.updateState(spec, setTrackStyle, function () {\n if (_this.props.autoplay) _this.autoPlay(\"update\");else _this.pause(\"paused\");\n }); // animating state should be cleared while resizing, otherwise autoplay stops working\n\n\n _this.setState({\n animating: false\n });\n\n clearTimeout(_this.animationEndCallback);\n delete _this.animationEndCallback;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"updateState\", function (spec, setTrackStyle, callback) {\n var updatedState = (0, _innerSliderUtils.initializedState)(spec);\n spec = _objectSpread(_objectSpread(_objectSpread({}, spec), updatedState), {}, {\n slideIndex: updatedState.currentSlide\n });\n var targetLeft = (0, _innerSliderUtils.getTrackLeft)(spec);\n spec = _objectSpread(_objectSpread({}, spec), {}, {\n left: targetLeft\n });\n var trackStyle = (0, _innerSliderUtils.getTrackCSS)(spec);\n\n if (setTrackStyle || _react[\"default\"].Children.count(_this.props.children) !== _react[\"default\"].Children.count(spec.children)) {\n updatedState[\"trackStyle\"] = trackStyle;\n }\n\n _this.setState(updatedState, callback);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"ssrInit\", function () {\n if (_this.props.variableWidth) {\n var _trackWidth = 0,\n _trackLeft = 0;\n var childrenWidths = [];\n var preClones = (0, _innerSliderUtils.getPreClones)(_objectSpread(_objectSpread(_objectSpread({}, _this.props), _this.state), {}, {\n slideCount: _this.props.children.length\n }));\n var postClones = (0, _innerSliderUtils.getPostClones)(_objectSpread(_objectSpread(_objectSpread({}, _this.props), _this.state), {}, {\n slideCount: _this.props.children.length\n }));\n\n _this.props.children.forEach(function (child) {\n childrenWidths.push(child.props.style.width);\n _trackWidth += child.props.style.width;\n });\n\n for (var i = 0; i < preClones; i++) {\n _trackLeft += childrenWidths[childrenWidths.length - 1 - i];\n _trackWidth += childrenWidths[childrenWidths.length - 1 - i];\n }\n\n for (var _i = 0; _i < postClones; _i++) {\n _trackWidth += childrenWidths[_i];\n }\n\n for (var _i2 = 0; _i2 < _this.state.currentSlide; _i2++) {\n _trackLeft += childrenWidths[_i2];\n }\n\n var _trackStyle = {\n width: _trackWidth + \"px\",\n left: -_trackLeft + \"px\"\n };\n\n if (_this.props.centerMode) {\n var currentWidth = \"\".concat(childrenWidths[_this.state.currentSlide], \"px\");\n _trackStyle.left = \"calc(\".concat(_trackStyle.left, \" + (100% - \").concat(currentWidth, \") / 2 ) \");\n }\n\n return {\n trackStyle: _trackStyle\n };\n }\n\n var childrenCount = _react[\"default\"].Children.count(_this.props.children);\n\n var spec = _objectSpread(_objectSpread(_objectSpread({}, _this.props), _this.state), {}, {\n slideCount: childrenCount\n });\n\n var slideCount = (0, _innerSliderUtils.getPreClones)(spec) + (0, _innerSliderUtils.getPostClones)(spec) + childrenCount;\n var trackWidth = 100 / _this.props.slidesToShow * slideCount;\n var slideWidth = 100 / slideCount;\n var trackLeft = -slideWidth * ((0, _innerSliderUtils.getPreClones)(spec) + _this.state.currentSlide) * trackWidth / 100;\n\n if (_this.props.centerMode) {\n trackLeft += (100 - slideWidth * trackWidth / 100) / 2;\n }\n\n var trackStyle = {\n width: trackWidth + \"%\",\n left: trackLeft + \"%\"\n };\n return {\n slideWidth: slideWidth + \"%\",\n trackStyle: trackStyle\n };\n });\n\n _defineProperty(_assertThisInitialized(_this), \"checkImagesLoad\", function () {\n var images = _this.list && _this.list.querySelectorAll && _this.list.querySelectorAll(\".slick-slide img\") || [];\n var imagesCount = images.length,\n loadedCount = 0;\n Array.prototype.forEach.call(images, function (image) {\n var handler = function handler() {\n return ++loadedCount && loadedCount >= imagesCount && _this.onWindowResized();\n };\n\n if (!image.onclick) {\n image.onclick = function () {\n return image.parentNode.focus();\n };\n } else {\n var prevClickHandler = image.onclick;\n\n image.onclick = function (e) {\n prevClickHandler(e);\n image.parentNode.focus();\n };\n }\n\n if (!image.onload) {\n if (_this.props.lazyLoad) {\n image.onload = function () {\n _this.adaptHeight();\n\n _this.callbackTimers.push(setTimeout(_this.onWindowResized, _this.props.speed));\n };\n } else {\n image.onload = handler;\n\n image.onerror = function () {\n handler();\n _this.props.onLazyLoadError && _this.props.onLazyLoadError();\n };\n }\n }\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"progressiveLazyLoad\", function () {\n var slidesToLoad = [];\n\n var spec = _objectSpread(_objectSpread({}, _this.props), _this.state);\n\n for (var index = _this.state.currentSlide; index < _this.state.slideCount + (0, _innerSliderUtils.getPostClones)(spec); index++) {\n if (_this.state.lazyLoadedList.indexOf(index) < 0) {\n slidesToLoad.push(index);\n break;\n }\n }\n\n for (var _index = _this.state.currentSlide - 1; _index >= -(0, _innerSliderUtils.getPreClones)(spec); _index--) {\n if (_this.state.lazyLoadedList.indexOf(_index) < 0) {\n slidesToLoad.push(_index);\n break;\n }\n }\n\n if (slidesToLoad.length > 0) {\n _this.setState(function (state) {\n return {\n lazyLoadedList: state.lazyLoadedList.concat(slidesToLoad)\n };\n });\n\n if (_this.props.onLazyLoad) {\n _this.props.onLazyLoad(slidesToLoad);\n }\n } else {\n if (_this.lazyLoadTimer) {\n clearInterval(_this.lazyLoadTimer);\n delete _this.lazyLoadTimer;\n }\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"slideHandler\", function (index) {\n var dontAnimate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var _this$props = _this.props,\n asNavFor = _this$props.asNavFor,\n beforeChange = _this$props.beforeChange,\n onLazyLoad = _this$props.onLazyLoad,\n speed = _this$props.speed,\n afterChange = _this$props.afterChange; // capture currentslide before state is updated\n\n var currentSlide = _this.state.currentSlide;\n\n var _slideHandler = (0, _innerSliderUtils.slideHandler)(_objectSpread(_objectSpread(_objectSpread({\n index: index\n }, _this.props), _this.state), {}, {\n trackRef: _this.track,\n useCSS: _this.props.useCSS && !dontAnimate\n })),\n state = _slideHandler.state,\n nextState = _slideHandler.nextState;\n\n if (!state) return;\n beforeChange && beforeChange(currentSlide, state.currentSlide);\n var slidesToLoad = state.lazyLoadedList.filter(function (value) {\n return _this.state.lazyLoadedList.indexOf(value) < 0;\n });\n onLazyLoad && slidesToLoad.length > 0 && onLazyLoad(slidesToLoad);\n\n if (!_this.props.waitForAnimate && _this.animationEndCallback) {\n clearTimeout(_this.animationEndCallback);\n afterChange && afterChange(currentSlide);\n delete _this.animationEndCallback;\n }\n\n _this.setState(state, function () {\n // asNavForIndex check is to avoid recursive calls of slideHandler in waitForAnimate=false mode\n if (asNavFor && _this.asNavForIndex !== index) {\n _this.asNavForIndex = index;\n asNavFor.innerSlider.slideHandler(index);\n }\n\n if (!nextState) return;\n _this.animationEndCallback = setTimeout(function () {\n var animating = nextState.animating,\n firstBatch = _objectWithoutProperties(nextState, [\"animating\"]);\n\n _this.setState(firstBatch, function () {\n _this.callbackTimers.push(setTimeout(function () {\n return _this.setState({\n animating: animating\n });\n }, 10));\n\n afterChange && afterChange(state.currentSlide);\n delete _this.animationEndCallback;\n });\n }, speed);\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"changeSlide\", function (options) {\n var dontAnimate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var spec = _objectSpread(_objectSpread({}, _this.props), _this.state);\n\n var targetSlide = (0, _innerSliderUtils.changeSlide)(spec, options);\n if (targetSlide !== 0 && !targetSlide) return;\n\n if (dontAnimate === true) {\n _this.slideHandler(targetSlide, dontAnimate);\n } else {\n _this.slideHandler(targetSlide);\n }\n\n _this.props.autoplay && _this.autoPlay(\"update\");\n\n if (_this.props.focusOnSelect) {\n var nodes = _this.list.querySelectorAll(\".slick-current\");\n\n nodes[0] && nodes[0].focus();\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"clickHandler\", function (e) {\n if (_this.clickable === false) {\n e.stopPropagation();\n e.preventDefault();\n }\n\n _this.clickable = true;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"keyHandler\", function (e) {\n var dir = (0, _innerSliderUtils.keyHandler)(e, _this.props.accessibility, _this.props.rtl);\n dir !== \"\" && _this.changeSlide({\n message: dir\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"selectHandler\", function (options) {\n _this.changeSlide(options);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"disableBodyScroll\", function () {\n var preventDefault = function preventDefault(e) {\n e = e || window.event;\n if (e.preventDefault) e.preventDefault();\n e.returnValue = false;\n };\n\n window.ontouchmove = preventDefault;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"enableBodyScroll\", function () {\n window.ontouchmove = null;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"swipeStart\", function (e) {\n if (_this.props.verticalSwiping) {\n _this.disableBodyScroll();\n }\n\n var state = (0, _innerSliderUtils.swipeStart)(e, _this.props.swipe, _this.props.draggable);\n state !== \"\" && _this.setState(state);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"swipeMove\", function (e) {\n var state = (0, _innerSliderUtils.swipeMove)(e, _objectSpread(_objectSpread(_objectSpread({}, _this.props), _this.state), {}, {\n trackRef: _this.track,\n listRef: _this.list,\n slideIndex: _this.state.currentSlide\n }));\n if (!state) return;\n\n if (state[\"swiping\"]) {\n _this.clickable = false;\n }\n\n _this.setState(state);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"swipeEnd\", function (e) {\n var state = (0, _innerSliderUtils.swipeEnd)(e, _objectSpread(_objectSpread(_objectSpread({}, _this.props), _this.state), {}, {\n trackRef: _this.track,\n listRef: _this.list,\n slideIndex: _this.state.currentSlide\n }));\n if (!state) return;\n var triggerSlideHandler = state[\"triggerSlideHandler\"];\n delete state[\"triggerSlideHandler\"];\n\n _this.setState(state);\n\n if (triggerSlideHandler === undefined) return;\n\n _this.slideHandler(triggerSlideHandler);\n\n if (_this.props.verticalSwiping) {\n _this.enableBodyScroll();\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"touchEnd\", function (e) {\n _this.swipeEnd(e);\n\n _this.clickable = true;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"slickPrev\", function () {\n // this and fellow methods are wrapped in setTimeout\n // to make sure initialize setState has happened before\n // any of such methods are called\n _this.callbackTimers.push(setTimeout(function () {\n return _this.changeSlide({\n message: \"previous\"\n });\n }, 0));\n });\n\n _defineProperty(_assertThisInitialized(_this), \"slickNext\", function () {\n _this.callbackTimers.push(setTimeout(function () {\n return _this.changeSlide({\n message: \"next\"\n });\n }, 0));\n });\n\n _defineProperty(_assertThisInitialized(_this), \"slickGoTo\", function (slide) {\n var dontAnimate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n slide = Number(slide);\n if (isNaN(slide)) return \"\";\n\n _this.callbackTimers.push(setTimeout(function () {\n return _this.changeSlide({\n message: \"index\",\n index: slide,\n currentSlide: _this.state.currentSlide\n }, dontAnimate);\n }, 0));\n });\n\n _defineProperty(_assertThisInitialized(_this), \"play\", function () {\n var nextIndex;\n\n if (_this.props.rtl) {\n nextIndex = _this.state.currentSlide - _this.props.slidesToScroll;\n } else {\n if ((0, _innerSliderUtils.canGoNext)(_objectSpread(_objectSpread({}, _this.props), _this.state))) {\n nextIndex = _this.state.currentSlide + _this.props.slidesToScroll;\n } else {\n return false;\n }\n }\n\n _this.slideHandler(nextIndex);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"autoPlay\", function (playType) {\n if (_this.autoplayTimer) {\n clearInterval(_this.autoplayTimer);\n }\n\n var autoplaying = _this.state.autoplaying;\n\n if (playType === \"update\") {\n if (autoplaying === \"hovered\" || autoplaying === \"focused\" || autoplaying === \"paused\") {\n return;\n }\n } else if (playType === \"leave\") {\n if (autoplaying === \"paused\" || autoplaying === \"focused\") {\n return;\n }\n } else if (playType === \"blur\") {\n if (autoplaying === \"paused\" || autoplaying === \"hovered\") {\n return;\n }\n }\n\n _this.autoplayTimer = setInterval(_this.play, _this.props.autoplaySpeed + 50);\n\n _this.setState({\n autoplaying: \"playing\"\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"pause\", function (pauseType) {\n if (_this.autoplayTimer) {\n clearInterval(_this.autoplayTimer);\n _this.autoplayTimer = null;\n }\n\n var autoplaying = _this.state.autoplaying;\n\n if (pauseType === \"paused\") {\n _this.setState({\n autoplaying: \"paused\"\n });\n } else if (pauseType === \"focused\") {\n if (autoplaying === \"hovered\" || autoplaying === \"playing\") {\n _this.setState({\n autoplaying: \"focused\"\n });\n }\n } else {\n // pauseType is 'hovered'\n if (autoplaying === \"playing\") {\n _this.setState({\n autoplaying: \"hovered\"\n });\n }\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onDotsOver\", function () {\n return _this.props.autoplay && _this.pause(\"hovered\");\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onDotsLeave\", function () {\n return _this.props.autoplay && _this.state.autoplaying === \"hovered\" && _this.autoPlay(\"leave\");\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onTrackOver\", function () {\n return _this.props.autoplay && _this.pause(\"hovered\");\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onTrackLeave\", function () {\n return _this.props.autoplay && _this.state.autoplaying === \"hovered\" && _this.autoPlay(\"leave\");\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onSlideFocus\", function () {\n return _this.props.autoplay && _this.pause(\"focused\");\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onSlideBlur\", function () {\n return _this.props.autoplay && _this.state.autoplaying === \"focused\" && _this.autoPlay(\"blur\");\n });\n\n _defineProperty(_assertThisInitialized(_this), \"render\", function () {\n var className = (0, _classnames[\"default\"])(\"slick-slider\", _this.props.className, {\n \"slick-vertical\": _this.props.vertical,\n \"slick-initialized\": true\n });\n\n var spec = _objectSpread(_objectSpread({}, _this.props), _this.state);\n\n var trackProps = (0, _innerSliderUtils.extractObject)(spec, [\"fade\", \"cssEase\", \"speed\", \"infinite\", \"centerMode\", \"focusOnSelect\", \"currentSlide\", \"lazyLoad\", \"lazyLoadedList\", \"rtl\", \"slideWidth\", \"slideHeight\", \"listHeight\", \"vertical\", \"slidesToShow\", \"slidesToScroll\", \"slideCount\", \"trackStyle\", \"variableWidth\", \"unslick\", \"centerPadding\", \"targetSlide\", \"useCSS\"]);\n var pauseOnHover = _this.props.pauseOnHover;\n trackProps = _objectSpread(_objectSpread({}, trackProps), {}, {\n onMouseEnter: pauseOnHover ? _this.onTrackOver : null,\n onMouseLeave: pauseOnHover ? _this.onTrackLeave : null,\n onMouseOver: pauseOnHover ? _this.onTrackOver : null,\n focusOnSelect: _this.props.focusOnSelect && _this.clickable ? _this.selectHandler : null\n });\n var dots;\n\n if (_this.props.dots === true && _this.state.slideCount >= _this.props.slidesToShow) {\n var dotProps = (0, _innerSliderUtils.extractObject)(spec, [\"dotsClass\", \"slideCount\", \"slidesToShow\", \"currentSlide\", \"slidesToScroll\", \"clickHandler\", \"children\", \"customPaging\", \"infinite\", \"appendDots\"]);\n var pauseOnDotsHover = _this.props.pauseOnDotsHover;\n dotProps = _objectSpread(_objectSpread({}, dotProps), {}, {\n clickHandler: _this.changeSlide,\n onMouseEnter: pauseOnDotsHover ? _this.onDotsLeave : null,\n onMouseOver: pauseOnDotsHover ? _this.onDotsOver : null,\n onMouseLeave: pauseOnDotsHover ? _this.onDotsLeave : null\n });\n dots = /*#__PURE__*/_react[\"default\"].createElement(_dots.Dots, dotProps);\n }\n\n var prevArrow, nextArrow;\n var arrowProps = (0, _innerSliderUtils.extractObject)(spec, [\"infinite\", \"centerMode\", \"currentSlide\", \"slideCount\", \"slidesToShow\", \"prevArrow\", \"nextArrow\"]);\n arrowProps.clickHandler = _this.changeSlide;\n\n if (_this.props.arrows) {\n prevArrow = /*#__PURE__*/_react[\"default\"].createElement(_arrows.PrevArrow, arrowProps);\n nextArrow = /*#__PURE__*/_react[\"default\"].createElement(_arrows.NextArrow, arrowProps);\n }\n\n var verticalHeightStyle = null;\n\n if (_this.props.vertical) {\n verticalHeightStyle = {\n height: _this.state.listHeight\n };\n }\n\n var centerPaddingStyle = null;\n\n if (_this.props.vertical === false) {\n if (_this.props.centerMode === true) {\n centerPaddingStyle = {\n padding: \"0px \" + _this.props.centerPadding\n };\n }\n } else {\n if (_this.props.centerMode === true) {\n centerPaddingStyle = {\n padding: _this.props.centerPadding + \" 0px\"\n };\n }\n }\n\n var listStyle = _objectSpread(_objectSpread({}, verticalHeightStyle), centerPaddingStyle);\n\n var touchMove = _this.props.touchMove;\n var listProps = {\n className: \"slick-list\",\n style: listStyle,\n onClick: _this.clickHandler,\n onMouseDown: touchMove ? _this.swipeStart : null,\n onMouseMove: _this.state.dragging && touchMove ? _this.swipeMove : null,\n onMouseUp: touchMove ? _this.swipeEnd : null,\n onMouseLeave: _this.state.dragging && touchMove ? _this.swipeEnd : null,\n onTouchStart: touchMove ? _this.swipeStart : null,\n onTouchMove: _this.state.dragging && touchMove ? _this.swipeMove : null,\n onTouchEnd: touchMove ? _this.touchEnd : null,\n onTouchCancel: _this.state.dragging && touchMove ? _this.swipeEnd : null,\n onKeyDown: _this.props.accessibility ? _this.keyHandler : null\n };\n var innerSliderProps = {\n className: className,\n dir: \"ltr\",\n style: _this.props.style\n };\n\n if (_this.props.unslick) {\n listProps = {\n className: \"slick-list\"\n };\n innerSliderProps = {\n className: className\n };\n }\n\n return /*#__PURE__*/_react[\"default\"].createElement(\"div\", innerSliderProps, !_this.props.unslick ? prevArrow : \"\", /*#__PURE__*/_react[\"default\"].createElement(\"div\", _extends({\n ref: _this.listRefHandler\n }, listProps), /*#__PURE__*/_react[\"default\"].createElement(_track.Track, _extends({\n ref: _this.trackRefHandler\n }, trackProps), _this.props.children)), !_this.props.unslick ? nextArrow : \"\", !_this.props.unslick ? dots : \"\");\n });\n\n _this.list = null;\n _this.track = null;\n _this.state = _objectSpread(_objectSpread({}, _initialState[\"default\"]), {}, {\n currentSlide: _this.props.initialSlide,\n slideCount: _react[\"default\"].Children.count(_this.props.children)\n });\n _this.callbackTimers = [];\n _this.clickable = true;\n _this.debouncedResize = null;\n\n var ssrState = _this.ssrInit();\n\n _this.state = _objectSpread(_objectSpread({}, _this.state), ssrState);\n return _this;\n }\n\n _createClass(InnerSlider, [{\n key: \"didPropsChange\",\n value: function didPropsChange(prevProps) {\n var setTrackStyle = false;\n\n for (var _i3 = 0, _Object$keys = Object.keys(this.props); _i3 < _Object$keys.length; _i3++) {\n var key = _Object$keys[_i3];\n\n if (!prevProps.hasOwnProperty(key)) {\n setTrackStyle = true;\n break;\n }\n\n if (_typeof(prevProps[key]) === \"object\" || typeof prevProps[key] === \"function\") {\n continue;\n }\n\n if (prevProps[key] !== this.props[key]) {\n setTrackStyle = true;\n break;\n }\n }\n\n return setTrackStyle || _react[\"default\"].Children.count(this.props.children) !== _react[\"default\"].Children.count(prevProps.children);\n }\n }]);\n\n return InnerSlider;\n}(_react[\"default\"].Component);\n\nexports.InnerSlider = InnerSlider;","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _innerSlider = require(\"./inner-slider\");\n\nvar _json2mq = _interopRequireDefault(require(\"json2mq\"));\n\nvar _defaultProps = _interopRequireDefault(require(\"./default-props\"));\n\nvar _innerSliderUtils = require(\"./utils/innerSliderUtils\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar enquire = (0, _innerSliderUtils.canUseDOM)() && require(\"enquire.js\");\n\nvar Slider = /*#__PURE__*/function (_React$Component) {\n _inherits(Slider, _React$Component);\n\n var _super = _createSuper(Slider);\n\n function Slider(props) {\n var _this;\n\n _classCallCheck(this, Slider);\n\n _this = _super.call(this, props);\n\n _defineProperty(_assertThisInitialized(_this), \"innerSliderRefHandler\", function (ref) {\n return _this.innerSlider = ref;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"slickPrev\", function () {\n return _this.innerSlider.slickPrev();\n });\n\n _defineProperty(_assertThisInitialized(_this), \"slickNext\", function () {\n return _this.innerSlider.slickNext();\n });\n\n _defineProperty(_assertThisInitialized(_this), \"slickGoTo\", function (slide) {\n var dontAnimate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n return _this.innerSlider.slickGoTo(slide, dontAnimate);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"slickPause\", function () {\n return _this.innerSlider.pause(\"paused\");\n });\n\n _defineProperty(_assertThisInitialized(_this), \"slickPlay\", function () {\n return _this.innerSlider.autoPlay(\"play\");\n });\n\n _this.state = {\n breakpoint: null\n };\n _this._responsiveMediaHandlers = [];\n return _this;\n }\n\n _createClass(Slider, [{\n key: \"media\",\n value: function media(query, handler) {\n // javascript handler for css media query\n enquire.register(query, handler);\n\n this._responsiveMediaHandlers.push({\n query: query,\n handler: handler\n });\n } // handles responsive breakpoints\n\n }, {\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var _this2 = this;\n\n // performance monitoring\n //if (process.env.NODE_ENV !== 'production') {\n //const { whyDidYouUpdate } = require('why-did-you-update')\n //whyDidYouUpdate(React)\n //}\n if (this.props.responsive) {\n var breakpoints = this.props.responsive.map(function (breakpt) {\n return breakpt.breakpoint;\n }); // sort them in increasing order of their numerical value\n\n breakpoints.sort(function (x, y) {\n return x - y;\n });\n breakpoints.forEach(function (breakpoint, index) {\n // media query for each breakpoint\n var bQuery;\n\n if (index === 0) {\n bQuery = (0, _json2mq[\"default\"])({\n minWidth: 0,\n maxWidth: breakpoint\n });\n } else {\n bQuery = (0, _json2mq[\"default\"])({\n minWidth: breakpoints[index - 1] + 1,\n maxWidth: breakpoint\n });\n } // when not using server side rendering\n\n\n (0, _innerSliderUtils.canUseDOM)() && _this2.media(bQuery, function () {\n _this2.setState({\n breakpoint: breakpoint\n });\n });\n }); // Register media query for full screen. Need to support resize from small to large\n // convert javascript object to media query string\n\n var query = (0, _json2mq[\"default\"])({\n minWidth: breakpoints.slice(-1)[0]\n });\n (0, _innerSliderUtils.canUseDOM)() && this.media(query, function () {\n _this2.setState({\n breakpoint: null\n });\n });\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this._responsiveMediaHandlers.forEach(function (obj) {\n enquire.unregister(obj.query, obj.handler);\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this3 = this;\n\n var settings;\n var newProps;\n\n if (this.state.breakpoint) {\n newProps = this.props.responsive.filter(function (resp) {\n return resp.breakpoint === _this3.state.breakpoint;\n });\n settings = newProps[0].settings === \"unslick\" ? \"unslick\" : _objectSpread(_objectSpread(_objectSpread({}, _defaultProps[\"default\"]), this.props), newProps[0].settings);\n } else {\n settings = _objectSpread(_objectSpread({}, _defaultProps[\"default\"]), this.props);\n } // force scrolling by one if centerMode is on\n\n\n if (settings.centerMode) {\n if (settings.slidesToScroll > 1 && process.env.NODE_ENV !== \"production\") {\n console.warn(\"slidesToScroll should be equal to 1 in centerMode, you are using \".concat(settings.slidesToScroll));\n }\n\n settings.slidesToScroll = 1;\n } // force showing one slide and scrolling by one if the fade mode is on\n\n\n if (settings.fade) {\n if (settings.slidesToShow > 1 && process.env.NODE_ENV !== \"production\") {\n console.warn(\"slidesToShow should be equal to 1 when fade is true, you're using \".concat(settings.slidesToShow));\n }\n\n if (settings.slidesToScroll > 1 && process.env.NODE_ENV !== \"production\") {\n console.warn(\"slidesToScroll should be equal to 1 when fade is true, you're using \".concat(settings.slidesToScroll));\n }\n\n settings.slidesToShow = 1;\n settings.slidesToScroll = 1;\n } // makes sure that children is an array, even when there is only 1 child\n\n\n var children = _react[\"default\"].Children.toArray(this.props.children); // Children may contain false or null, so we should filter them\n // children may also contain string filled with spaces (in certain cases where we use jsx strings)\n\n\n children = children.filter(function (child) {\n if (typeof child === \"string\") {\n return !!child.trim();\n }\n\n return !!child;\n }); // rows and slidesPerRow logic is handled here\n\n if (settings.variableWidth && (settings.rows > 1 || settings.slidesPerRow > 1)) {\n console.warn(\"variableWidth is not supported in case of rows > 1 or slidesPerRow > 1\");\n settings.variableWidth = false;\n }\n\n var newChildren = [];\n var currentWidth = null;\n\n for (var i = 0; i < children.length; i += settings.rows * settings.slidesPerRow) {\n var newSlide = [];\n\n for (var j = i; j < i + settings.rows * settings.slidesPerRow; j += settings.slidesPerRow) {\n var row = [];\n\n for (var k = j; k < j + settings.slidesPerRow; k += 1) {\n if (settings.variableWidth && children[k].props.style) {\n currentWidth = children[k].props.style.width;\n }\n\n if (k >= children.length) break;\n row.push( /*#__PURE__*/_react[\"default\"].cloneElement(children[k], {\n key: 100 * i + 10 * j + k,\n tabIndex: -1,\n style: {\n width: \"\".concat(100 / settings.slidesPerRow, \"%\"),\n display: \"inline-block\"\n }\n }));\n }\n\n newSlide.push( /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n key: 10 * i + j\n }, row));\n }\n\n if (settings.variableWidth) {\n newChildren.push( /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n key: i,\n style: {\n width: currentWidth\n }\n }, newSlide));\n } else {\n newChildren.push( /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n key: i\n }, newSlide));\n }\n }\n\n if (settings === \"unslick\") {\n var className = \"regular slider \" + (this.props.className || \"\");\n return /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n className: className\n }, children);\n } else if (newChildren.length <= settings.slidesToShow && !settings.infinite) {\n settings.unslick = true;\n }\n\n return /*#__PURE__*/_react[\"default\"].createElement(_innerSlider.InnerSlider, _extends({\n style: this.props.style,\n ref: this.innerSliderRefHandler\n }, settings), newChildren);\n }\n }]);\n\n return Slider;\n}(_react[\"default\"].Component);\n\nexports[\"default\"] = Slider;","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Track = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _innerSliderUtils = require(\"./utils/innerSliderUtils\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n// given specifications/props for a slide, fetch all the classes that need to be applied to the slide\nvar getSlideClasses = function getSlideClasses(spec) {\n var slickActive, slickCenter, slickCloned;\n var centerOffset, index;\n\n if (spec.rtl) {\n index = spec.slideCount - 1 - spec.index;\n } else {\n index = spec.index;\n }\n\n slickCloned = index < 0 || index >= spec.slideCount;\n\n if (spec.centerMode) {\n centerOffset = Math.floor(spec.slidesToShow / 2);\n slickCenter = (index - spec.currentSlide) % spec.slideCount === 0;\n\n if (index > spec.currentSlide - centerOffset - 1 && index <= spec.currentSlide + centerOffset) {\n slickActive = true;\n }\n } else {\n slickActive = spec.currentSlide <= index && index < spec.currentSlide + spec.slidesToShow;\n }\n\n var focusedSlide;\n\n if (spec.targetSlide < 0) {\n focusedSlide = spec.targetSlide + spec.slideCount;\n } else if (spec.targetSlide >= spec.slideCount) {\n focusedSlide = spec.targetSlide - spec.slideCount;\n } else {\n focusedSlide = spec.targetSlide;\n }\n\n var slickCurrent = index === focusedSlide;\n return {\n \"slick-slide\": true,\n \"slick-active\": slickActive,\n \"slick-center\": slickCenter,\n \"slick-cloned\": slickCloned,\n \"slick-current\": slickCurrent // dubious in case of RTL\n\n };\n};\n\nvar getSlideStyle = function getSlideStyle(spec) {\n var style = {};\n\n if (spec.variableWidth === undefined || spec.variableWidth === false) {\n style.width = spec.slideWidth;\n }\n\n if (spec.fade) {\n style.position = \"relative\";\n\n if (spec.vertical) {\n style.top = -spec.index * parseInt(spec.slideHeight);\n } else {\n style.left = -spec.index * parseInt(spec.slideWidth);\n }\n\n style.opacity = spec.currentSlide === spec.index ? 1 : 0;\n\n if (spec.useCSS) {\n style.transition = \"opacity \" + spec.speed + \"ms \" + spec.cssEase + \", \" + \"visibility \" + spec.speed + \"ms \" + spec.cssEase;\n }\n }\n\n return style;\n};\n\nvar getKey = function getKey(child, fallbackKey) {\n return child.key || fallbackKey;\n};\n\nvar renderSlides = function renderSlides(spec) {\n var key;\n var slides = [];\n var preCloneSlides = [];\n var postCloneSlides = [];\n\n var childrenCount = _react[\"default\"].Children.count(spec.children);\n\n var startIndex = (0, _innerSliderUtils.lazyStartIndex)(spec);\n var endIndex = (0, _innerSliderUtils.lazyEndIndex)(spec);\n\n _react[\"default\"].Children.forEach(spec.children, function (elem, index) {\n var child;\n var childOnClickOptions = {\n message: \"children\",\n index: index,\n slidesToScroll: spec.slidesToScroll,\n currentSlide: spec.currentSlide\n }; // in case of lazyLoad, whether or not we want to fetch the slide\n\n if (!spec.lazyLoad || spec.lazyLoad && spec.lazyLoadedList.indexOf(index) >= 0) {\n child = elem;\n } else {\n child = /*#__PURE__*/_react[\"default\"].createElement(\"div\", null);\n }\n\n var childStyle = getSlideStyle(_objectSpread(_objectSpread({}, spec), {}, {\n index: index\n }));\n var slideClass = child.props.className || \"\";\n var slideClasses = getSlideClasses(_objectSpread(_objectSpread({}, spec), {}, {\n index: index\n })); // push a cloned element of the desired slide\n\n slides.push( /*#__PURE__*/_react[\"default\"].cloneElement(child, {\n key: \"original\" + getKey(child, index),\n \"data-index\": index,\n className: (0, _classnames[\"default\"])(slideClasses, slideClass),\n tabIndex: \"-1\",\n \"aria-hidden\": !slideClasses[\"slick-active\"],\n style: _objectSpread(_objectSpread({\n outline: \"none\"\n }, child.props.style || {}), childStyle),\n onClick: function onClick(e) {\n child.props && child.props.onClick && child.props.onClick(e);\n\n if (spec.focusOnSelect) {\n spec.focusOnSelect(childOnClickOptions);\n }\n }\n })); // if slide needs to be precloned or postcloned\n\n if (spec.infinite && spec.fade === false) {\n var preCloneNo = childrenCount - index;\n\n if (preCloneNo <= (0, _innerSliderUtils.getPreClones)(spec)) {\n key = -preCloneNo;\n\n if (key >= startIndex) {\n child = elem;\n }\n\n slideClasses = getSlideClasses(_objectSpread(_objectSpread({}, spec), {}, {\n index: key\n }));\n preCloneSlides.push( /*#__PURE__*/_react[\"default\"].cloneElement(child, {\n key: \"precloned\" + getKey(child, key),\n \"data-index\": key,\n tabIndex: \"-1\",\n className: (0, _classnames[\"default\"])(slideClasses, slideClass),\n \"aria-hidden\": !slideClasses[\"slick-active\"],\n style: _objectSpread(_objectSpread({}, child.props.style || {}), childStyle),\n onClick: function onClick(e) {\n child.props && child.props.onClick && child.props.onClick(e);\n\n if (spec.focusOnSelect) {\n spec.focusOnSelect(childOnClickOptions);\n }\n }\n }));\n }\n\n key = childrenCount + index;\n\n if (key < endIndex) {\n child = elem;\n }\n\n slideClasses = getSlideClasses(_objectSpread(_objectSpread({}, spec), {}, {\n index: key\n }));\n postCloneSlides.push( /*#__PURE__*/_react[\"default\"].cloneElement(child, {\n key: \"postcloned\" + getKey(child, key),\n \"data-index\": key,\n tabIndex: \"-1\",\n className: (0, _classnames[\"default\"])(slideClasses, slideClass),\n \"aria-hidden\": !slideClasses[\"slick-active\"],\n style: _objectSpread(_objectSpread({}, child.props.style || {}), childStyle),\n onClick: function onClick(e) {\n child.props && child.props.onClick && child.props.onClick(e);\n\n if (spec.focusOnSelect) {\n spec.focusOnSelect(childOnClickOptions);\n }\n }\n }));\n }\n });\n\n if (spec.rtl) {\n return preCloneSlides.concat(slides, postCloneSlides).reverse();\n } else {\n return preCloneSlides.concat(slides, postCloneSlides);\n }\n};\n\nvar Track = /*#__PURE__*/function (_React$PureComponent) {\n _inherits(Track, _React$PureComponent);\n\n var _super = _createSuper(Track);\n\n function Track() {\n var _this;\n\n _classCallCheck(this, Track);\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 = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"node\", null);\n\n _defineProperty(_assertThisInitialized(_this), \"handleRef\", function (ref) {\n _this.node = ref;\n });\n\n return _this;\n }\n\n _createClass(Track, [{\n key: \"render\",\n value: function render() {\n var slides = renderSlides(this.props);\n var _this$props = this.props,\n onMouseEnter = _this$props.onMouseEnter,\n onMouseOver = _this$props.onMouseOver,\n onMouseLeave = _this$props.onMouseLeave;\n var mouseEvents = {\n onMouseEnter: onMouseEnter,\n onMouseOver: onMouseOver,\n onMouseLeave: onMouseLeave\n };\n return /*#__PURE__*/_react[\"default\"].createElement(\"div\", _extends({\n ref: this.handleRef,\n className: \"slick-track\",\n style: this.props.trackStyle\n }, mouseEvents), slides);\n }\n }]);\n\n return Track;\n}(_react[\"default\"].PureComponent);\n\nexports.Track = Track;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.checkSpecKeys = exports.checkNavigable = exports.changeSlide = exports.canUseDOM = exports.canGoNext = void 0;\nexports.clamp = clamp;\nexports.swipeStart = exports.swipeMove = exports.swipeEnd = exports.slidesOnRight = exports.slidesOnLeft = exports.slideHandler = exports.siblingDirection = exports.safePreventDefault = exports.lazyStartIndex = exports.lazySlidesOnRight = exports.lazySlidesOnLeft = exports.lazyEndIndex = exports.keyHandler = exports.initializedState = exports.getWidth = exports.getTrackLeft = exports.getTrackCSS = exports.getTrackAnimateCSS = exports.getTotalSlides = exports.getSwipeDirection = exports.getSlideCount = exports.getRequiredLazySlides = exports.getPreClones = exports.getPostClones = exports.getOnDemandLazySlides = exports.getNavigableIndexes = exports.getHeight = exports.extractObject = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction clamp(number, lowerBound, upperBound) {\n return Math.max(lowerBound, Math.min(number, upperBound));\n}\n\nvar safePreventDefault = function safePreventDefault(event) {\n var passiveEvents = [\"onTouchStart\", \"onTouchMove\", \"onWheel\"];\n\n if (!passiveEvents.includes(event._reactName)) {\n event.preventDefault();\n }\n};\n\nexports.safePreventDefault = safePreventDefault;\n\nvar getOnDemandLazySlides = function getOnDemandLazySlides(spec) {\n var onDemandSlides = [];\n var startIndex = lazyStartIndex(spec);\n var endIndex = lazyEndIndex(spec);\n\n for (var slideIndex = startIndex; slideIndex < endIndex; slideIndex++) {\n if (spec.lazyLoadedList.indexOf(slideIndex) < 0) {\n onDemandSlides.push(slideIndex);\n }\n }\n\n return onDemandSlides;\n}; // return list of slides that need to be present\n\n\nexports.getOnDemandLazySlides = getOnDemandLazySlides;\n\nvar getRequiredLazySlides = function getRequiredLazySlides(spec) {\n var requiredSlides = [];\n var startIndex = lazyStartIndex(spec);\n var endIndex = lazyEndIndex(spec);\n\n for (var slideIndex = startIndex; slideIndex < endIndex; slideIndex++) {\n requiredSlides.push(slideIndex);\n }\n\n return requiredSlides;\n}; // startIndex that needs to be present\n\n\nexports.getRequiredLazySlides = getRequiredLazySlides;\n\nvar lazyStartIndex = function lazyStartIndex(spec) {\n return spec.currentSlide - lazySlidesOnLeft(spec);\n};\n\nexports.lazyStartIndex = lazyStartIndex;\n\nvar lazyEndIndex = function lazyEndIndex(spec) {\n return spec.currentSlide + lazySlidesOnRight(spec);\n};\n\nexports.lazyEndIndex = lazyEndIndex;\n\nvar lazySlidesOnLeft = function lazySlidesOnLeft(spec) {\n return spec.centerMode ? Math.floor(spec.slidesToShow / 2) + (parseInt(spec.centerPadding) > 0 ? 1 : 0) : 0;\n};\n\nexports.lazySlidesOnLeft = lazySlidesOnLeft;\n\nvar lazySlidesOnRight = function lazySlidesOnRight(spec) {\n return spec.centerMode ? Math.floor((spec.slidesToShow - 1) / 2) + 1 + (parseInt(spec.centerPadding) > 0 ? 1 : 0) : spec.slidesToShow;\n}; // get width of an element\n\n\nexports.lazySlidesOnRight = lazySlidesOnRight;\n\nvar getWidth = function getWidth(elem) {\n return elem && elem.offsetWidth || 0;\n};\n\nexports.getWidth = getWidth;\n\nvar getHeight = function getHeight(elem) {\n return elem && elem.offsetHeight || 0;\n};\n\nexports.getHeight = getHeight;\n\nvar getSwipeDirection = function getSwipeDirection(touchObject) {\n var verticalSwiping = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var xDist, yDist, r, swipeAngle;\n xDist = touchObject.startX - touchObject.curX;\n yDist = touchObject.startY - touchObject.curY;\n r = Math.atan2(yDist, xDist);\n swipeAngle = Math.round(r * 180 / Math.PI);\n\n if (swipeAngle < 0) {\n swipeAngle = 360 - Math.abs(swipeAngle);\n }\n\n if (swipeAngle <= 45 && swipeAngle >= 0 || swipeAngle <= 360 && swipeAngle >= 315) {\n return \"left\";\n }\n\n if (swipeAngle >= 135 && swipeAngle <= 225) {\n return \"right\";\n }\n\n if (verticalSwiping === true) {\n if (swipeAngle >= 35 && swipeAngle <= 135) {\n return \"up\";\n } else {\n return \"down\";\n }\n }\n\n return \"vertical\";\n}; // whether or not we can go next\n\n\nexports.getSwipeDirection = getSwipeDirection;\n\nvar canGoNext = function canGoNext(spec) {\n var canGo = true;\n\n if (!spec.infinite) {\n if (spec.centerMode && spec.currentSlide >= spec.slideCount - 1) {\n canGo = false;\n } else if (spec.slideCount <= spec.slidesToShow || spec.currentSlide >= spec.slideCount - spec.slidesToShow) {\n canGo = false;\n }\n }\n\n return canGo;\n}; // given an object and a list of keys, return new object with given keys\n\n\nexports.canGoNext = canGoNext;\n\nvar extractObject = function extractObject(spec, keys) {\n var newObject = {};\n keys.forEach(function (key) {\n return newObject[key] = spec[key];\n });\n return newObject;\n}; // get initialized state\n\n\nexports.extractObject = extractObject;\n\nvar initializedState = function initializedState(spec) {\n // spec also contains listRef, trackRef\n var slideCount = _react[\"default\"].Children.count(spec.children);\n\n var listNode = spec.listRef;\n var listWidth = Math.ceil(getWidth(listNode));\n var trackNode = spec.trackRef && spec.trackRef.node;\n var trackWidth = Math.ceil(getWidth(trackNode));\n var slideWidth;\n\n if (!spec.vertical) {\n var centerPaddingAdj = spec.centerMode && parseInt(spec.centerPadding) * 2;\n\n if (typeof spec.centerPadding === \"string\" && spec.centerPadding.slice(-1) === \"%\") {\n centerPaddingAdj *= listWidth / 100;\n }\n\n slideWidth = Math.ceil((listWidth - centerPaddingAdj) / spec.slidesToShow);\n } else {\n slideWidth = listWidth;\n }\n\n var slideHeight = listNode && getHeight(listNode.querySelector('[data-index=\"0\"]'));\n var listHeight = slideHeight * spec.slidesToShow;\n var currentSlide = spec.currentSlide === undefined ? spec.initialSlide : spec.currentSlide;\n\n if (spec.rtl && spec.currentSlide === undefined) {\n currentSlide = slideCount - 1 - spec.initialSlide;\n }\n\n var lazyLoadedList = spec.lazyLoadedList || [];\n var slidesToLoad = getOnDemandLazySlides(_objectSpread(_objectSpread({}, spec), {}, {\n currentSlide: currentSlide,\n lazyLoadedList: lazyLoadedList\n }));\n lazyLoadedList = lazyLoadedList.concat(slidesToLoad);\n var state = {\n slideCount: slideCount,\n slideWidth: slideWidth,\n listWidth: listWidth,\n trackWidth: trackWidth,\n currentSlide: currentSlide,\n slideHeight: slideHeight,\n listHeight: listHeight,\n lazyLoadedList: lazyLoadedList\n };\n\n if (spec.autoplaying === null && spec.autoplay) {\n state[\"autoplaying\"] = \"playing\";\n }\n\n return state;\n};\n\nexports.initializedState = initializedState;\n\nvar slideHandler = function slideHandler(spec) {\n var waitForAnimate = spec.waitForAnimate,\n animating = spec.animating,\n fade = spec.fade,\n infinite = spec.infinite,\n index = spec.index,\n slideCount = spec.slideCount,\n lazyLoad = spec.lazyLoad,\n currentSlide = spec.currentSlide,\n centerMode = spec.centerMode,\n slidesToScroll = spec.slidesToScroll,\n slidesToShow = spec.slidesToShow,\n useCSS = spec.useCSS;\n var lazyLoadedList = spec.lazyLoadedList;\n if (waitForAnimate && animating) return {};\n var animationSlide = index,\n finalSlide,\n animationLeft,\n finalLeft;\n var state = {},\n nextState = {};\n var targetSlide = infinite ? index : clamp(index, 0, slideCount - 1);\n\n if (fade) {\n if (!infinite && (index < 0 || index >= slideCount)) return {};\n\n if (index < 0) {\n animationSlide = index + slideCount;\n } else if (index >= slideCount) {\n animationSlide = index - slideCount;\n }\n\n if (lazyLoad && lazyLoadedList.indexOf(animationSlide) < 0) {\n lazyLoadedList = lazyLoadedList.concat(animationSlide);\n }\n\n state = {\n animating: true,\n currentSlide: animationSlide,\n lazyLoadedList: lazyLoadedList,\n targetSlide: animationSlide\n };\n nextState = {\n animating: false,\n targetSlide: animationSlide\n };\n } else {\n finalSlide = animationSlide;\n\n if (animationSlide < 0) {\n finalSlide = animationSlide + slideCount;\n if (!infinite) finalSlide = 0;else if (slideCount % slidesToScroll !== 0) finalSlide = slideCount - slideCount % slidesToScroll;\n } else if (!canGoNext(spec) && animationSlide > currentSlide) {\n animationSlide = finalSlide = currentSlide;\n } else if (centerMode && animationSlide >= slideCount) {\n animationSlide = infinite ? slideCount : slideCount - 1;\n finalSlide = infinite ? 0 : slideCount - 1;\n } else if (animationSlide >= slideCount) {\n finalSlide = animationSlide - slideCount;\n if (!infinite) finalSlide = slideCount - slidesToShow;else if (slideCount % slidesToScroll !== 0) finalSlide = 0;\n }\n\n if (!infinite && animationSlide + slidesToShow >= slideCount) {\n finalSlide = slideCount - slidesToShow;\n }\n\n animationLeft = getTrackLeft(_objectSpread(_objectSpread({}, spec), {}, {\n slideIndex: animationSlide\n }));\n finalLeft = getTrackLeft(_objectSpread(_objectSpread({}, spec), {}, {\n slideIndex: finalSlide\n }));\n\n if (!infinite) {\n if (animationLeft === finalLeft) animationSlide = finalSlide;\n animationLeft = finalLeft;\n }\n\n if (lazyLoad) {\n lazyLoadedList = lazyLoadedList.concat(getOnDemandLazySlides(_objectSpread(_objectSpread({}, spec), {}, {\n currentSlide: animationSlide\n })));\n }\n\n if (!useCSS) {\n state = {\n currentSlide: finalSlide,\n trackStyle: getTrackCSS(_objectSpread(_objectSpread({}, spec), {}, {\n left: finalLeft\n })),\n lazyLoadedList: lazyLoadedList,\n targetSlide: targetSlide\n };\n } else {\n state = {\n animating: true,\n currentSlide: finalSlide,\n trackStyle: getTrackAnimateCSS(_objectSpread(_objectSpread({}, spec), {}, {\n left: animationLeft\n })),\n lazyLoadedList: lazyLoadedList,\n targetSlide: targetSlide\n };\n nextState = {\n animating: false,\n currentSlide: finalSlide,\n trackStyle: getTrackCSS(_objectSpread(_objectSpread({}, spec), {}, {\n left: finalLeft\n })),\n swipeLeft: null,\n targetSlide: targetSlide\n };\n }\n }\n\n return {\n state: state,\n nextState: nextState\n };\n};\n\nexports.slideHandler = slideHandler;\n\nvar changeSlide = function changeSlide(spec, options) {\n var indexOffset, previousInt, slideOffset, unevenOffset, targetSlide;\n var slidesToScroll = spec.slidesToScroll,\n slidesToShow = spec.slidesToShow,\n slideCount = spec.slideCount,\n currentSlide = spec.currentSlide,\n previousTargetSlide = spec.targetSlide,\n lazyLoad = spec.lazyLoad,\n infinite = spec.infinite;\n unevenOffset = slideCount % slidesToScroll !== 0;\n indexOffset = unevenOffset ? 0 : (slideCount - currentSlide) % slidesToScroll;\n\n if (options.message === \"previous\") {\n slideOffset = indexOffset === 0 ? slidesToScroll : slidesToShow - indexOffset;\n targetSlide = currentSlide - slideOffset;\n\n if (lazyLoad && !infinite) {\n previousInt = currentSlide - slideOffset;\n targetSlide = previousInt === -1 ? slideCount - 1 : previousInt;\n }\n\n if (!infinite) {\n targetSlide = previousTargetSlide - slidesToScroll;\n }\n } else if (options.message === \"next\") {\n slideOffset = indexOffset === 0 ? slidesToScroll : indexOffset;\n targetSlide = currentSlide + slideOffset;\n\n if (lazyLoad && !infinite) {\n targetSlide = (currentSlide + slidesToScroll) % slideCount + indexOffset;\n }\n\n if (!infinite) {\n targetSlide = previousTargetSlide + slidesToScroll;\n }\n } else if (options.message === \"dots\") {\n // Click on dots\n targetSlide = options.index * options.slidesToScroll;\n } else if (options.message === \"children\") {\n // Click on the slides\n targetSlide = options.index;\n\n if (infinite) {\n var direction = siblingDirection(_objectSpread(_objectSpread({}, spec), {}, {\n targetSlide: targetSlide\n }));\n\n if (targetSlide > options.currentSlide && direction === \"left\") {\n targetSlide = targetSlide - slideCount;\n } else if (targetSlide < options.currentSlide && direction === \"right\") {\n targetSlide = targetSlide + slideCount;\n }\n }\n } else if (options.message === \"index\") {\n targetSlide = Number(options.index);\n }\n\n return targetSlide;\n};\n\nexports.changeSlide = changeSlide;\n\nvar keyHandler = function keyHandler(e, accessibility, rtl) {\n if (e.target.tagName.match(\"TEXTAREA|INPUT|SELECT\") || !accessibility) return \"\";\n if (e.keyCode === 37) return rtl ? \"next\" : \"previous\";\n if (e.keyCode === 39) return rtl ? \"previous\" : \"next\";\n return \"\";\n};\n\nexports.keyHandler = keyHandler;\n\nvar swipeStart = function swipeStart(e, swipe, draggable) {\n e.target.tagName === \"IMG\" && safePreventDefault(e);\n if (!swipe || !draggable && e.type.indexOf(\"mouse\") !== -1) return \"\";\n return {\n dragging: true,\n touchObject: {\n startX: e.touches ? e.touches[0].pageX : e.clientX,\n startY: e.touches ? e.touches[0].pageY : e.clientY,\n curX: e.touches ? e.touches[0].pageX : e.clientX,\n curY: e.touches ? e.touches[0].pageY : e.clientY\n }\n };\n};\n\nexports.swipeStart = swipeStart;\n\nvar swipeMove = function swipeMove(e, spec) {\n // spec also contains, trackRef and slideIndex\n var scrolling = spec.scrolling,\n animating = spec.animating,\n vertical = spec.vertical,\n swipeToSlide = spec.swipeToSlide,\n verticalSwiping = spec.verticalSwiping,\n rtl = spec.rtl,\n currentSlide = spec.currentSlide,\n edgeFriction = spec.edgeFriction,\n edgeDragged = spec.edgeDragged,\n onEdge = spec.onEdge,\n swiped = spec.swiped,\n swiping = spec.swiping,\n slideCount = spec.slideCount,\n slidesToScroll = spec.slidesToScroll,\n infinite = spec.infinite,\n touchObject = spec.touchObject,\n swipeEvent = spec.swipeEvent,\n listHeight = spec.listHeight,\n listWidth = spec.listWidth;\n if (scrolling) return;\n if (animating) return safePreventDefault(e);\n if (vertical && swipeToSlide && verticalSwiping) safePreventDefault(e);\n var swipeLeft,\n state = {};\n var curLeft = getTrackLeft(spec);\n touchObject.curX = e.touches ? e.touches[0].pageX : e.clientX;\n touchObject.curY = e.touches ? e.touches[0].pageY : e.clientY;\n touchObject.swipeLength = Math.round(Math.sqrt(Math.pow(touchObject.curX - touchObject.startX, 2)));\n var verticalSwipeLength = Math.round(Math.sqrt(Math.pow(touchObject.curY - touchObject.startY, 2)));\n\n if (!verticalSwiping && !swiping && verticalSwipeLength > 10) {\n return {\n scrolling: true\n };\n }\n\n if (verticalSwiping) touchObject.swipeLength = verticalSwipeLength;\n var positionOffset = (!rtl ? 1 : -1) * (touchObject.curX > touchObject.startX ? 1 : -1);\n if (verticalSwiping) positionOffset = touchObject.curY > touchObject.startY ? 1 : -1;\n var dotCount = Math.ceil(slideCount / slidesToScroll);\n var swipeDirection = getSwipeDirection(spec.touchObject, verticalSwiping);\n var touchSwipeLength = touchObject.swipeLength;\n\n if (!infinite) {\n if (currentSlide === 0 && (swipeDirection === \"right\" || swipeDirection === \"down\") || currentSlide + 1 >= dotCount && (swipeDirection === \"left\" || swipeDirection === \"up\") || !canGoNext(spec) && (swipeDirection === \"left\" || swipeDirection === \"up\")) {\n touchSwipeLength = touchObject.swipeLength * edgeFriction;\n\n if (edgeDragged === false && onEdge) {\n onEdge(swipeDirection);\n state[\"edgeDragged\"] = true;\n }\n }\n }\n\n if (!swiped && swipeEvent) {\n swipeEvent(swipeDirection);\n state[\"swiped\"] = true;\n }\n\n if (!vertical) {\n if (!rtl) {\n swipeLeft = curLeft + touchSwipeLength * positionOffset;\n } else {\n swipeLeft = curLeft - touchSwipeLength * positionOffset;\n }\n } else {\n swipeLeft = curLeft + touchSwipeLength * (listHeight / listWidth) * positionOffset;\n }\n\n if (verticalSwiping) {\n swipeLeft = curLeft + touchSwipeLength * positionOffset;\n }\n\n state = _objectSpread(_objectSpread({}, state), {}, {\n touchObject: touchObject,\n swipeLeft: swipeLeft,\n trackStyle: getTrackCSS(_objectSpread(_objectSpread({}, spec), {}, {\n left: swipeLeft\n }))\n });\n\n if (Math.abs(touchObject.curX - touchObject.startX) < Math.abs(touchObject.curY - touchObject.startY) * 0.8) {\n return state;\n }\n\n if (touchObject.swipeLength > 10) {\n state[\"swiping\"] = true;\n safePreventDefault(e);\n }\n\n return state;\n};\n\nexports.swipeMove = swipeMove;\n\nvar swipeEnd = function swipeEnd(e, spec) {\n var dragging = spec.dragging,\n swipe = spec.swipe,\n touchObject = spec.touchObject,\n listWidth = spec.listWidth,\n touchThreshold = spec.touchThreshold,\n verticalSwiping = spec.verticalSwiping,\n listHeight = spec.listHeight,\n swipeToSlide = spec.swipeToSlide,\n scrolling = spec.scrolling,\n onSwipe = spec.onSwipe,\n targetSlide = spec.targetSlide,\n currentSlide = spec.currentSlide,\n infinite = spec.infinite;\n\n if (!dragging) {\n if (swipe) safePreventDefault(e);\n return {};\n }\n\n var minSwipe = verticalSwiping ? listHeight / touchThreshold : listWidth / touchThreshold;\n var swipeDirection = getSwipeDirection(touchObject, verticalSwiping); // reset the state of touch related state variables.\n\n var state = {\n dragging: false,\n edgeDragged: false,\n scrolling: false,\n swiping: false,\n swiped: false,\n swipeLeft: null,\n touchObject: {}\n };\n\n if (scrolling) {\n return state;\n }\n\n if (!touchObject.swipeLength) {\n return state;\n }\n\n if (touchObject.swipeLength > minSwipe) {\n safePreventDefault(e);\n\n if (onSwipe) {\n onSwipe(swipeDirection);\n }\n\n var slideCount, newSlide;\n var activeSlide = infinite ? currentSlide : targetSlide;\n\n switch (swipeDirection) {\n case \"left\":\n case \"up\":\n newSlide = activeSlide + getSlideCount(spec);\n slideCount = swipeToSlide ? checkNavigable(spec, newSlide) : newSlide;\n state[\"currentDirection\"] = 0;\n break;\n\n case \"right\":\n case \"down\":\n newSlide = activeSlide - getSlideCount(spec);\n slideCount = swipeToSlide ? checkNavigable(spec, newSlide) : newSlide;\n state[\"currentDirection\"] = 1;\n break;\n\n default:\n slideCount = activeSlide;\n }\n\n state[\"triggerSlideHandler\"] = slideCount;\n } else {\n // Adjust the track back to it's original position.\n var currentLeft = getTrackLeft(spec);\n state[\"trackStyle\"] = getTrackAnimateCSS(_objectSpread(_objectSpread({}, spec), {}, {\n left: currentLeft\n }));\n }\n\n return state;\n};\n\nexports.swipeEnd = swipeEnd;\n\nvar getNavigableIndexes = function getNavigableIndexes(spec) {\n var max = spec.infinite ? spec.slideCount * 2 : spec.slideCount;\n var breakpoint = spec.infinite ? spec.slidesToShow * -1 : 0;\n var counter = spec.infinite ? spec.slidesToShow * -1 : 0;\n var indexes = [];\n\n while (breakpoint < max) {\n indexes.push(breakpoint);\n breakpoint = counter + spec.slidesToScroll;\n counter += Math.min(spec.slidesToScroll, spec.slidesToShow);\n }\n\n return indexes;\n};\n\nexports.getNavigableIndexes = getNavigableIndexes;\n\nvar checkNavigable = function checkNavigable(spec, index) {\n var navigables = getNavigableIndexes(spec);\n var prevNavigable = 0;\n\n if (index > navigables[navigables.length - 1]) {\n index = navigables[navigables.length - 1];\n } else {\n for (var n in navigables) {\n if (index < navigables[n]) {\n index = prevNavigable;\n break;\n }\n\n prevNavigable = navigables[n];\n }\n }\n\n return index;\n};\n\nexports.checkNavigable = checkNavigable;\n\nvar getSlideCount = function getSlideCount(spec) {\n var centerOffset = spec.centerMode ? spec.slideWidth * Math.floor(spec.slidesToShow / 2) : 0;\n\n if (spec.swipeToSlide) {\n var swipedSlide;\n var slickList = spec.listRef;\n var slides = slickList.querySelectorAll && slickList.querySelectorAll(\".slick-slide\") || [];\n Array.from(slides).every(function (slide) {\n if (!spec.vertical) {\n if (slide.offsetLeft - centerOffset + getWidth(slide) / 2 > spec.swipeLeft * -1) {\n swipedSlide = slide;\n return false;\n }\n } else {\n if (slide.offsetTop + getHeight(slide) / 2 > spec.swipeLeft * -1) {\n swipedSlide = slide;\n return false;\n }\n }\n\n return true;\n });\n\n if (!swipedSlide) {\n return 0;\n }\n\n var currentIndex = spec.rtl === true ? spec.slideCount - spec.currentSlide : spec.currentSlide;\n var slidesTraversed = Math.abs(swipedSlide.dataset.index - currentIndex) || 1;\n return slidesTraversed;\n } else {\n return spec.slidesToScroll;\n }\n};\n\nexports.getSlideCount = getSlideCount;\n\nvar checkSpecKeys = function checkSpecKeys(spec, keysArray) {\n return keysArray.reduce(function (value, key) {\n return value && spec.hasOwnProperty(key);\n }, true) ? null : console.error(\"Keys Missing:\", spec);\n};\n\nexports.checkSpecKeys = checkSpecKeys;\n\nvar getTrackCSS = function getTrackCSS(spec) {\n checkSpecKeys(spec, [\"left\", \"variableWidth\", \"slideCount\", \"slidesToShow\", \"slideWidth\"]);\n var trackWidth, trackHeight;\n var trackChildren = spec.slideCount + 2 * spec.slidesToShow;\n\n if (!spec.vertical) {\n trackWidth = getTotalSlides(spec) * spec.slideWidth;\n } else {\n trackHeight = trackChildren * spec.slideHeight;\n }\n\n var style = {\n opacity: 1,\n transition: \"\",\n WebkitTransition: \"\"\n };\n\n if (spec.useTransform) {\n var WebkitTransform = !spec.vertical ? \"translate3d(\" + spec.left + \"px, 0px, 0px)\" : \"translate3d(0px, \" + spec.left + \"px, 0px)\";\n var transform = !spec.vertical ? \"translate3d(\" + spec.left + \"px, 0px, 0px)\" : \"translate3d(0px, \" + spec.left + \"px, 0px)\";\n var msTransform = !spec.vertical ? \"translateX(\" + spec.left + \"px)\" : \"translateY(\" + spec.left + \"px)\";\n style = _objectSpread(_objectSpread({}, style), {}, {\n WebkitTransform: WebkitTransform,\n transform: transform,\n msTransform: msTransform\n });\n } else {\n if (spec.vertical) {\n style[\"top\"] = spec.left;\n } else {\n style[\"left\"] = spec.left;\n }\n }\n\n if (spec.fade) style = {\n opacity: 1\n };\n if (trackWidth) style.width = trackWidth;\n if (trackHeight) style.height = trackHeight; // Fallback for IE8\n\n if (window && !window.addEventListener && window.attachEvent) {\n if (!spec.vertical) {\n style.marginLeft = spec.left + \"px\";\n } else {\n style.marginTop = spec.left + \"px\";\n }\n }\n\n return style;\n};\n\nexports.getTrackCSS = getTrackCSS;\n\nvar getTrackAnimateCSS = function getTrackAnimateCSS(spec) {\n checkSpecKeys(spec, [\"left\", \"variableWidth\", \"slideCount\", \"slidesToShow\", \"slideWidth\", \"speed\", \"cssEase\"]);\n var style = getTrackCSS(spec); // useCSS is true by default so it can be undefined\n\n if (spec.useTransform) {\n style.WebkitTransition = \"-webkit-transform \" + spec.speed + \"ms \" + spec.cssEase;\n style.transition = \"transform \" + spec.speed + \"ms \" + spec.cssEase;\n } else {\n if (spec.vertical) {\n style.transition = \"top \" + spec.speed + \"ms \" + spec.cssEase;\n } else {\n style.transition = \"left \" + spec.speed + \"ms \" + spec.cssEase;\n }\n }\n\n return style;\n};\n\nexports.getTrackAnimateCSS = getTrackAnimateCSS;\n\nvar getTrackLeft = function getTrackLeft(spec) {\n if (spec.unslick) {\n return 0;\n }\n\n checkSpecKeys(spec, [\"slideIndex\", \"trackRef\", \"infinite\", \"centerMode\", \"slideCount\", \"slidesToShow\", \"slidesToScroll\", \"slideWidth\", \"listWidth\", \"variableWidth\", \"slideHeight\"]);\n var slideIndex = spec.slideIndex,\n trackRef = spec.trackRef,\n infinite = spec.infinite,\n centerMode = spec.centerMode,\n slideCount = spec.slideCount,\n slidesToShow = spec.slidesToShow,\n slidesToScroll = spec.slidesToScroll,\n slideWidth = spec.slideWidth,\n listWidth = spec.listWidth,\n variableWidth = spec.variableWidth,\n slideHeight = spec.slideHeight,\n fade = spec.fade,\n vertical = spec.vertical;\n var slideOffset = 0;\n var targetLeft;\n var targetSlide;\n var verticalOffset = 0;\n\n if (fade || spec.slideCount === 1) {\n return 0;\n }\n\n var slidesToOffset = 0;\n\n if (infinite) {\n slidesToOffset = -getPreClones(spec); // bring active slide to the beginning of visual area\n // if next scroll doesn't have enough children, just reach till the end of original slides instead of shifting slidesToScroll children\n\n if (slideCount % slidesToScroll !== 0 && slideIndex + slidesToScroll > slideCount) {\n slidesToOffset = -(slideIndex > slideCount ? slidesToShow - (slideIndex - slideCount) : slideCount % slidesToScroll);\n } // shift current slide to center of the frame\n\n\n if (centerMode) {\n slidesToOffset += parseInt(slidesToShow / 2);\n }\n } else {\n if (slideCount % slidesToScroll !== 0 && slideIndex + slidesToScroll > slideCount) {\n slidesToOffset = slidesToShow - slideCount % slidesToScroll;\n }\n\n if (centerMode) {\n slidesToOffset = parseInt(slidesToShow / 2);\n }\n }\n\n slideOffset = slidesToOffset * slideWidth;\n verticalOffset = slidesToOffset * slideHeight;\n\n if (!vertical) {\n targetLeft = slideIndex * slideWidth * -1 + slideOffset;\n } else {\n targetLeft = slideIndex * slideHeight * -1 + verticalOffset;\n }\n\n if (variableWidth === true) {\n var targetSlideIndex;\n var trackElem = trackRef && trackRef.node;\n targetSlideIndex = slideIndex + getPreClones(spec);\n targetSlide = trackElem && trackElem.childNodes[targetSlideIndex];\n targetLeft = targetSlide ? targetSlide.offsetLeft * -1 : 0;\n\n if (centerMode === true) {\n targetSlideIndex = infinite ? slideIndex + getPreClones(spec) : slideIndex;\n targetSlide = trackElem && trackElem.children[targetSlideIndex];\n targetLeft = 0;\n\n for (var slide = 0; slide < targetSlideIndex; slide++) {\n targetLeft -= trackElem && trackElem.children[slide] && trackElem.children[slide].offsetWidth;\n }\n\n targetLeft -= parseInt(spec.centerPadding);\n targetLeft += targetSlide && (listWidth - targetSlide.offsetWidth) / 2;\n }\n }\n\n return targetLeft;\n};\n\nexports.getTrackLeft = getTrackLeft;\n\nvar getPreClones = function getPreClones(spec) {\n if (spec.unslick || !spec.infinite) {\n return 0;\n }\n\n if (spec.variableWidth) {\n return spec.slideCount;\n }\n\n return spec.slidesToShow + (spec.centerMode ? 1 : 0);\n};\n\nexports.getPreClones = getPreClones;\n\nvar getPostClones = function getPostClones(spec) {\n if (spec.unslick || !spec.infinite) {\n return 0;\n }\n\n return spec.slideCount;\n};\n\nexports.getPostClones = getPostClones;\n\nvar getTotalSlides = function getTotalSlides(spec) {\n return spec.slideCount === 1 ? 1 : getPreClones(spec) + spec.slideCount + getPostClones(spec);\n};\n\nexports.getTotalSlides = getTotalSlides;\n\nvar siblingDirection = function siblingDirection(spec) {\n if (spec.targetSlide > spec.currentSlide) {\n if (spec.targetSlide > spec.currentSlide + slidesOnRight(spec)) {\n return \"left\";\n }\n\n return \"right\";\n } else {\n if (spec.targetSlide < spec.currentSlide - slidesOnLeft(spec)) {\n return \"right\";\n }\n\n return \"left\";\n }\n};\n\nexports.siblingDirection = siblingDirection;\n\nvar slidesOnRight = function slidesOnRight(_ref) {\n var slidesToShow = _ref.slidesToShow,\n centerMode = _ref.centerMode,\n rtl = _ref.rtl,\n centerPadding = _ref.centerPadding;\n\n // returns no of slides on the right of active slide\n if (centerMode) {\n var right = (slidesToShow - 1) / 2 + 1;\n if (parseInt(centerPadding) > 0) right += 1;\n if (rtl && slidesToShow % 2 === 0) right += 1;\n return right;\n }\n\n if (rtl) {\n return 0;\n }\n\n return slidesToShow - 1;\n};\n\nexports.slidesOnRight = slidesOnRight;\n\nvar slidesOnLeft = function slidesOnLeft(_ref2) {\n var slidesToShow = _ref2.slidesToShow,\n centerMode = _ref2.centerMode,\n rtl = _ref2.rtl,\n centerPadding = _ref2.centerPadding;\n\n // returns no of slides on the left of active slide\n if (centerMode) {\n var left = (slidesToShow - 1) / 2 + 1;\n if (parseInt(centerPadding) > 0) left += 1;\n if (!rtl && slidesToShow % 2 === 0) left += 1;\n return left;\n }\n\n if (rtl) {\n return slidesToShow - 1;\n }\n\n return 0;\n};\n\nexports.slidesOnLeft = slidesOnLeft;\n\nvar canUseDOM = function canUseDOM() {\n return !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\n};\n\nexports.canUseDOM = canUseDOM;","!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t(require(\"react\")):\"function\"==typeof define&&define.amd?define([\"react\"],t):\"object\"==typeof exports?exports.reactTextMask=t(require(\"react\")):e.reactTextMask=t(e.React)}(this,function(e){return function(e){function t(n){if(r[n])return r[n].exports;var o=r[n]={exports:{},id:n,loaded:!1};return e[n].call(o.exports,o,o.exports,t),o.loaded=!0,o.exports}var r={};return t.m=e,t.c=r,t.p=\"\",t(0)}([function(e,t,r){\"use strict\";function n(e){return e&&e.__esModule?e:{default:e}}function o(e,t){var r={};for(var n in e)t.indexOf(n)>=0||Object.prototype.hasOwnProperty.call(e,n)&&(r[n]=e[n]);return r}function i(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function a(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function u(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.conformToMask=void 0;var s=Object.assign||function(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:f,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:l.placeholderChar;if(!o(e))throw new Error(\"Text-mask:convertMaskToPlaceholder; The mask property must be an array.\");if(e.indexOf(t)!==-1)throw new Error(\"Placeholder character must not be used as part of the mask. Please specify a character that is not present in your mask as your placeholder character.\\n\\n\"+(\"The placeholder character that was received is: \"+JSON.stringify(t)+\"\\n\\n\")+(\"The mask that was received is: \"+JSON.stringify(e)));return e.map(function(e){return e instanceof RegExp?t:e}).join(\"\")}function o(e){return Array.isArray&&Array.isArray(e)||e instanceof Array}function i(e){return\"string\"==typeof e||e instanceof String}function a(e){return\"number\"==typeof e&&void 0===e.length&&!isNaN(e)}function u(e){return\"undefined\"==typeof e||null===e}function s(e){for(var t=[],r=void 0;r=e.indexOf(c),r!==-1;)t.push(r),e.splice(r,1);return{maskWithoutCaretTraps:e,indexes:t}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.convertMaskToPlaceholder=n,t.isArray=o,t.isString=i,t.isNumber=a,t.isNil=u,t.processCaretTraps=s;var l=r(1),f=[],c=\"[]\"},function(e,t,r){\"use strict\";function n(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:s,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:u,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!(0,i.isArray)(t)){if((\"undefined\"==typeof t?\"undefined\":o(t))!==a.strFunction)throw new Error(\"Text-mask:conformToMask; The mask property must be an array.\");t=t(e,r),t=(0,i.processCaretTraps)(t).maskWithoutCaretTraps}var n=r.guide,l=void 0===n||n,f=r.previousConformedValue,c=void 0===f?s:f,p=r.placeholderChar,d=void 0===p?a.placeholderChar:p,h=r.placeholder,v=void 0===h?(0,i.convertMaskToPlaceholder)(t,d):h,y=r.currentCaretPosition,m=r.keepCharPositions,b=l===!1&&void 0!==c,g=e.length,k=c.length,C=v.length,O=t.length,T=g-k,P=T>0,x=y+(P?-T:0),w=x+Math.abs(T);if(m===!0&&!P){for(var S=s,_=x;_=x&&t=0;j--){var E=M[j].char;if(E!==d){var R=j>=x&&k===O;E===v[R?j-T:j]&&M.splice(j,1)}}var V=s,N=!1;e:for(var A=0;A0)for(;M.length>0;){var I=M.shift(),F=I.char,q=I.isNew;if(F===d&&b!==!0){V+=d;continue e}if(t[A].test(F)){if(m===!0&&q!==!1&&c!==s&&l!==!1&&P){for(var D=M.length,L=null,W=0;W0,T=0===b,P=C>1&&!O&&!T;if(P)return s;var x=O&&(r===l||l===p),w=0,S=void 0,_=void 0;if(x)w=s-C;else{var M=l.toLowerCase(),j=f.toLowerCase(),E=j.substr(0,s).split(o),R=E.filter(function(e){return M.indexOf(e)!==-1});_=R[R.length-1];var V=a.substr(0,R.length).split(o).filter(function(e){return e!==c}).length,N=p.substr(0,R.length).split(o).filter(function(e){return e!==c}).length,A=N!==V,B=void 0!==a[R.length-1]&&void 0!==p[R.length-2]&&a[R.length-1]!==c&&a[R.length-1]!==p[R.length-1]&&a[R.length-1]===p[R.length-2];!O&&(A||B)&&V>0&&p.indexOf(_)>-1&&void 0!==f[s]&&(S=!0,_=f[s]);for(var I=h.map(function(e){return M[e]}),F=I.filter(function(e){return e===_}).length,q=R.filter(function(e){return e===_}).length,D=p.substr(0,p.indexOf(c)).split(o).filter(function(e,t){return e===_&&f[t]!==e}).length,L=D+q+F+(S?1:0),W=0,J=0;J=L)break}}if(O){for(var H=w,Y=w;Y<=g;Y++)if(p[Y]===c&&(H=Y),p[Y]===c||y.indexOf(Y)!==-1||Y===g)return H}else if(S){for(var z=w-1;z>=0;z--)if(l[z]===_||y.indexOf(z)!==-1||0===z)return z}else for(var G=w;G>=0;G--)if(p[G-1]===c||y.indexOf(G)!==-1||0===G)return G}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=r;var n=[],o=\"\"},function(e,t,r){\"use strict\";function n(e){return e&&e.__esModule?e:{default:e}}function o(e){var t={previousConformedValue:void 0,previousPlaceholder:void 0};return{state:t,update:function(r){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e,o=n.inputElement,l=n.mask,c=n.guide,y=n.pipe,b=n.placeholderChar,g=void 0===b?h.placeholderChar:b,k=n.keepCharPositions,C=void 0!==k&&k,O=n.showMask,T=void 0!==O&&O;if(\"undefined\"==typeof r&&(r=o.value),r!==t.previousConformedValue){(\"undefined\"==typeof l?\"undefined\":s(l))===m&&void 0!==l.pipe&&void 0!==l.mask&&(y=l.pipe,l=l.mask);var P=void 0,x=void 0;if(l instanceof Array&&(P=(0,d.convertMaskToPlaceholder)(l,g)),l!==!1){var w=a(r),S=o.selectionEnd,_=t.previousConformedValue,M=t.previousPlaceholder,j=void 0;if((\"undefined\"==typeof l?\"undefined\":s(l))===h.strFunction){if(x=l(w,{currentCaretPosition:S,previousConformedValue:_,placeholderChar:g}),x===!1)return;var E=(0,d.processCaretTraps)(x),R=E.maskWithoutCaretTraps,V=E.indexes;x=R,j=V,P=(0,d.convertMaskToPlaceholder)(x,g)}else x=l;var N={previousConformedValue:_,guide:c,placeholderChar:g,pipe:y,placeholder:P,currentCaretPosition:S,keepCharPositions:C},A=(0,p.default)(w,x,N),B=A.conformedValue,I=(\"undefined\"==typeof y?\"undefined\":s(y))===h.strFunction,F={};I&&(F=y(B,u({rawValue:w},N)),F===!1?F={value:_,rejected:!0}:(0,d.isString)(F)&&(F={value:F}));var q=I?F.value:B,D=(0,f.default)({previousConformedValue:_,previousPlaceholder:M,conformedValue:q,placeholder:P,rawValue:w,currentCaretPosition:S,placeholderChar:g,indexesOfPipedChars:F.indexesOfPipedChars,caretTrapIndexes:j}),L=q===P&&0===D,W=T?P:v,J=L?W:q;t.previousConformedValue=J,t.previousPlaceholder=P,o.value!==J&&(o.value=J,i(o,D))}}}}}function i(e,t){document.activeElement===e&&(b?g(function(){return e.setSelectionRange(t,t,y)},0):e.setSelectionRange(t,t,y))}function a(e){if((0,d.isString)(e))return e;if((0,d.isNumber)(e))return String(e);if(void 0===e||null===e)return v;throw new Error(\"The 'value' provided to Text Mask needs to be a string or a number. The value received was:\\n\\n \"+JSON.stringify(e))}Object.defineProperty(t,\"__esModule\",{value:!0});var u=Object.assign||function(e){for(var t=1;t {\r\n\t\tconsole.error(`[react-phone-number-input] Expected phone number ${value} to correspond to country ${country} but ${actualCountry ? 'in reality it corresponds to country ' + actualCountry : 'it doesn\\'t'}.`)\r\n\t\tcountryMismatchDetected.current = true\r\n\t}\r\n\r\n\tconst getInitialPhoneDigits = (options) => {\r\n\t\treturn getPhoneDigitsForValue(\r\n\t\t\tvalue,\r\n\t\t\tcountry,\r\n\t\t\tinternational,\r\n\t\t\twithCountryCallingCode,\r\n\t\t\tdefaultCountry,\r\n\t\t\tuseNationalFormatForDefaultCountryValue,\r\n\t\t\tmetadata,\r\n\t\t\t(...args) => {\r\n\t\t\t\tif (options && options.onCountryMismatch) {\r\n\t\t\t\t\toptions.onCountryMismatch()\r\n\t\t\t\t}\r\n\t\t\t\tonCountryMismatch.apply(this, args)\r\n\t\t\t}\r\n\t\t)\r\n\t}\r\n\r\n\t// This is only used to detect `country` property change.\r\n\tconst [prevCountry, setPrevCountry] = useState(country)\r\n\t// This is only used to detect `defaultCountry` property change.\r\n\tconst [prevDefaultCountry, setPrevDefaultCountry] = useState(defaultCountry)\r\n\t// `phoneDigits` is the `value` passed to the ``.\r\n\tconst [phoneDigits, setPhoneDigits] = useState(getInitialPhoneDigits())\r\n\t// This is only used to detect `value` property changes.\r\n\tconst [valueForPhoneDigits, setValueForPhoneDigits] = useState(value)\r\n\r\n\t// Rerender hack.\r\n\tconst [rerenderTrigger, setRerenderTrigger] = useState()\r\n\tconst rerender = useCallback(() => setRerenderTrigger({}), [setRerenderTrigger])\r\n\r\n\tfunction getValueForPhoneDigits(phoneDigits) {\r\n\t\t// If the user hasn't input any digits then `value` is `undefined`.\r\n\t\tif (!phoneDigits) {\r\n\t\t\treturn\r\n\t\t}\r\n\t\tif (country && international && !withCountryCallingCode) {\r\n\t\t\tphoneDigits = `+${getCountryCallingCode(country, metadata)}${phoneDigits}`\r\n\t\t}\r\n\t\t// Return the E.164 phone number value.\r\n\t\t//\r\n\t\t// Even if no \"national (significant) number\" digits have been input,\r\n\t\t// still return a non-`undefined` value.\r\n\t\t// https://gitlab.com/catamphetamine/react-phone-number-input/-/issues/113\r\n\t\t//\r\n\t\t// For example, if the user has selected country `US` and entered `\"1\"`\r\n\t\t// then that `\"1\"` is just a \"national prefix\" and no \"national (significant) number\"\r\n\t\t// digits have been input yet. Still, return `\"+1\"` as `value` in such cases,\r\n\t\t// because otherwise the app would think that the input is empty and mark it as such\r\n\t\t// while in reality it isn't empty, which might be thought of as a \"bug\", or just\r\n\t\t// a \"weird\" behavior.\r\n\t\t//\r\n\t\t// The only case when there's any input and `getNumberValue()` still returns `undefined`\r\n\t\t// is when that input is `\"+\"`.\r\n\t\t//\r\n\t\tconst asYouType = new AsYouType(country || defaultCountry, metadata)\r\n\t\tasYouType.input(phoneDigits)\r\n\t\treturn asYouType.getNumberValue()\r\n\t}\r\n\r\n\t// If `value` property has been changed externally\r\n\t// then re-initialize the component.\r\n\tuseEffect(() => {\r\n\t\tif (value !== valueForPhoneDigits) {\r\n\t\t\tsetValueForPhoneDigits(value)\r\n\t\t\tsetPhoneDigits(getInitialPhoneDigits())\r\n\t\t}\r\n\t}, [value])\r\n\r\n\t// If the `country` has been changed then re-initialize the component.\r\n\tuseEffect(() => {\r\n\t\tif (country !== prevCountry) {\r\n\t\t\tsetPrevCountry(country)\r\n\t\t\tlet countryMismatchDetected\r\n\t\t\tconst phoneDigits = getInitialPhoneDigits({\r\n\t\t\t\tonCountryMismatch() {\r\n\t\t\t\t\tcountryMismatchDetected = true\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\tsetPhoneDigits(phoneDigits)\r\n\t\t\tif (countryMismatchDetected) {\r\n\t\t\t\tsetValueForPhoneDigits(getValueForPhoneDigits(phoneDigits))\r\n\t\t\t}\r\n\t\t}\r\n\t}, [country])\r\n\r\n\t// If the `defaultCountry` has been changed then re-initialize the component.\r\n\tuseEffect(() => {\r\n\t\tif (defaultCountry !== prevDefaultCountry) {\r\n\t\t\tsetPrevDefaultCountry(defaultCountry)\r\n\t\t\tsetPhoneDigits(getInitialPhoneDigits())\r\n\t\t}\r\n\t}, [defaultCountry])\r\n\r\n\t// Update the `value` after `valueForPhoneDigits` has been updated.\r\n\tuseEffect(() => {\r\n\t\tif (valueForPhoneDigits !== value) {\r\n\t\t\tonChange(valueForPhoneDigits)\r\n\t\t}\r\n\t}, [valueForPhoneDigits])\r\n\r\n\tconst onSetPhoneDigits = useCallback((phoneDigits) => {\r\n\t\tlet value\r\n\t\tif (country) {\r\n\t\t\tif (international && withCountryCallingCode) {\r\n\t\t\t\t// The `` value must start with the country calling code.\r\n\t\t\t\tconst prefix = getInternationalPhoneNumberPrefix(country, metadata)\r\n\t\t\t\tif (phoneDigits.indexOf(prefix) !== 0) {\r\n\t\t\t\t\t// If a user tabs into a phone number input field\r\n\t\t\t\t\t// that is `international` and `withCountryCallingCode`,\r\n\t\t\t\t\t// and then starts inputting local phone number digits,\r\n\t\t\t\t\t// the first digit would get \"swallowed\" if the fix below wasn't implemented.\r\n\t\t\t\t\t// https://gitlab.com/catamphetamine/react-phone-number-input/-/issues/43\r\n\t\t\t\t\tif (phoneDigits && phoneDigits[0] !== '+') {\r\n\t\t\t\t\t\tphoneDigits = prefix + phoneDigits\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\t// // Reset phone digits if they don't start with the correct prefix.\r\n\t\t\t\t\t\t// // Undo the `` value change if it doesn't.\r\n\t\t\t\t\t\tif (countryMismatchDetected.current) {\r\n\t\t\t\t\t\t\t// In case of a `country`/`value` mismatch,\r\n\t\t\t\t\t\t\t// if it performed an \"undo\" here, then\r\n\t\t\t\t\t\t\t// it wouldn't let a user edit their phone number at all,\r\n\t\t\t\t\t\t\t// so this special case at least allows phone number editing\r\n\t\t\t\t\t\t\t// when `value` already doesn't match the `country`.\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t// If it simply did `phoneDigits = prefix` here,\r\n\t\t\t\t\t\t\t// then it could have no effect when erasing phone number\r\n\t\t\t\t\t\t\t// via Backspace, because `phoneDigits` in `state` wouldn't change\r\n\t\t\t\t\t\t\t// as a result, because it was `prefix` and it became `prefix`,\r\n\t\t\t\t\t\t\t// so the component wouldn't rerender, and the user would be able\r\n\t\t\t\t\t\t\t// to erase the country calling code part, and that part is\r\n\t\t\t\t\t\t\t// assumed to be non-eraseable. That's why the component is\r\n\t\t\t\t\t\t\t// forcefully rerendered here.\r\n\t\t\t\t\t\t\tsetPhoneDigits(prefix)\r\n\t\t\t\t\t\t\tsetValueForPhoneDigits(undefined)\r\n\t\t\t\t\t\t\t// Force a re-render of the `` with previous `phoneDigits` value.\r\n\t\t\t\t\t\t\treturn rerender()\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\t// Entering phone number either in \"national\" format\r\n\t\t\t\t// when `country` has been specified, or in \"international\" format\r\n\t\t\t\t// when `country` has been specified but `withCountryCallingCode` hasn't.\r\n\t\t\t\t// Therefore, `+` is not allowed.\r\n\t\t\t\tif (phoneDigits && phoneDigits[0] === '+') {\r\n\t\t\t\t\t// Remove the `+`.\r\n\t\t\t\t\tphoneDigits = phoneDigits.slice(1)\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t} else if (!defaultCountry) {\r\n\t\t\t// Force a `+` in the beginning of a `value`\r\n\t\t\t// when no `country` and `defaultCountry` have been specified.\r\n\t\t\tif (phoneDigits && phoneDigits[0] !== '+') {\r\n\t\t\t\t// Prepend a `+`.\r\n\t\t\t\tphoneDigits = '+' + phoneDigits\r\n\t\t\t}\r\n\t\t}\r\n\t\t// Convert `phoneDigits` to `value`.\r\n\t\tif (phoneDigits) {\r\n\t\t\tvalue = getValueForPhoneDigits(phoneDigits)\r\n\t\t}\r\n\t\tsetPhoneDigits(phoneDigits)\r\n\t\tsetValueForPhoneDigits(value)\r\n\t}, [\r\n\t\tcountry,\r\n\t\tinternational,\r\n\t\twithCountryCallingCode,\r\n\t\tdefaultCountry,\r\n\t\tmetadata,\r\n\t\tsetPhoneDigits,\r\n\t\tsetValueForPhoneDigits,\r\n\t\trerender,\r\n\t\tcountryMismatchDetected\r\n\t])\r\n\r\n\treturn [\r\n\t\tphoneDigits,\r\n\t\tonSetPhoneDigits\r\n\t]\r\n}\r\n\r\n/**\r\n * Returns phone number input field value for a E.164 phone number `value`.\r\n * @param {string} [value]\r\n * @param {string} [country]\r\n * @param {boolean} [international]\r\n * @param {boolean} [withCountryCallingCode]\r\n * @param {string} [defaultCountry]\r\n * @param {boolean} [useNationalFormatForDefaultCountryValue]\r\n * @param {object} metadata\r\n * @return {string}\r\n */\r\nfunction getPhoneDigitsForValue(\r\n\tvalue,\r\n\tcountry,\r\n\tinternational,\r\n\twithCountryCallingCode,\r\n\tdefaultCountry,\r\n\tuseNationalFormatForDefaultCountryValue,\r\n\tmetadata,\r\n\tonCountryMismatch\r\n) {\r\n\tif (country && international && withCountryCallingCode) {\r\n\t\tconst prefix = getInternationalPhoneNumberPrefix(country, metadata)\r\n\t\tif (value) {\r\n\t\t\tif (value.indexOf(prefix) !== 0) {\r\n\t\t\t\tonCountryMismatch(value, country)\r\n\t\t\t}\r\n\t\t\treturn value\r\n\t\t}\r\n\t\treturn prefix\r\n\t}\r\n\tif (!value) {\r\n\t\treturn ''\r\n\t}\r\n\tif (!country && !defaultCountry) {\r\n\t\treturn value\r\n\t}\r\n\tconst asYouType = new AsYouType(undefined, metadata)\r\n\tasYouType.input(value)\r\n\tconst phoneNumber = asYouType.getNumber()\r\n\tif (phoneNumber) {\r\n\t\tif (country) {\r\n\t\t\tif (phoneNumber.country && phoneNumber.country !== country) {\r\n\t\t\t\tonCountryMismatch(value, country, phoneNumber.country)\r\n\t\t\t} else if (phoneNumber.countryCallingCode !== getCountryCallingCode(country, metadata)) {\r\n\t\t\t\tonCountryMismatch(value, country)\r\n\t\t\t}\r\n\t\t\tif (international) {\r\n\t\t\t\treturn phoneNumber.nationalNumber\r\n\t\t\t}\r\n\t\t\treturn parseDigits(phoneNumber.formatNational())\r\n\t\t} else {\r\n\t\t\t// `phoneNumber.countryCallingCode` is compared here instead of\r\n\t\t\t// `phoneNumber.country`, because, for example, a person could have\r\n\t\t\t// previously input a phone number (in \"national\" format) that isn't\r\n\t\t\t// 100% valid for the `defaultCountry`, and if `phoneNumber.country`\r\n\t\t\t// was compared, then it wouldn't match, and such phone number\r\n\t\t\t// wouldn't be formatted as a \"national\" one, and instead would be\r\n\t\t\t// formatted as an \"international\" one, confusing the user.\r\n\t\t\t// Comparing `phoneNumber.countryCallingCode` works around such issues.\r\n\t\t\t//\r\n\t\t\t// Example: `defaultCountry=\"US\"` and the `` is empty.\r\n\t\t\t// The user inputs: \"222 333 4444\", which gets formatted to \"(222) 333-4444\".\r\n\t\t\t// The user then clicks \"Save\", the page is refreshed, and the user sees\r\n\t\t\t// that the `` value is now \"+1 222 333 4444\" which confuses the user:\r\n\t\t\t// the user expected the `` value to be \"(222) 333-4444\", same as it\r\n\t\t\t// was when they've just typed it in. The cause of the issue is that \"222 333 4444\"\r\n\t\t\t// is not a valid national number for US, and `phoneNumber.country` is compared\r\n\t\t\t// instead of `phoneNumber.countryCallingCode`. After the `phoneNumber.country`\r\n\t\t\t// comparison is replaced with `phoneNumber.countryCallingCode` one, the issue\r\n\t\t\t// is no longer the case.\r\n\t\t\t//\r\n\t\t\tif (phoneNumber.countryCallingCode && phoneNumber.countryCallingCode === getCountryCallingCode(defaultCountry, metadata) && useNationalFormatForDefaultCountryValue) {\r\n\t\t\t\treturn parseDigits(phoneNumber.formatNational())\r\n\t\t\t}\r\n\t\t\treturn value\r\n\t\t}\r\n\t} else {\r\n\t\treturn ''\r\n\t}\r\n}","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\nimport usePhoneDigits from './usePhoneDigits.js'\r\n\r\nimport { metadata as metadataType } from './PropTypes.js'\r\n\r\nfunction PhoneInput({\r\n\tComponent,\r\n\tcountry,\r\n\tdefaultCountry,\r\n\tuseNationalFormatForDefaultCountryValue = true,\r\n\tvalue,\r\n\tonChange,\r\n\tmetadata,\r\n\tinternational,\r\n\twithCountryCallingCode,\r\n\t...rest\r\n}, ref) {\r\n\t// \"Phone digits\" includes not only \"digits\" but also a `+` sign.\r\n\tconst [\r\n\t\tphoneDigits,\r\n\t\tsetPhoneDigits\r\n\t] = usePhoneDigits({\r\n\t\tvalue,\r\n\t\tonChange,\r\n\t\tcountry,\r\n\t\tdefaultCountry,\r\n\t\tinternational,\r\n\t\twithCountryCallingCode,\r\n\t\tuseNationalFormatForDefaultCountryValue,\r\n\t\tmetadata\r\n\t})\r\n\treturn (\r\n\t\t\r\n\t)\r\n}\r\n\r\nPhoneInput = React.forwardRef(PhoneInput)\r\n\r\nPhoneInput.propTypes = {\r\n\t/**\r\n\t * The phone number (in E.164 format).\r\n\t * Examples: `\"+12\"`, `\"+12133734253\"`.\r\n\t * An \"empty\" `value` could be represented by any \"falsy\" value like `undefined`, `null` or an empty string `\"\"`.\r\n\t */\r\n\tvalue: PropTypes.string,\r\n\r\n\t/**\r\n\t * A function of `value: string?`.\r\n\t * Updates the `value` property (to `undefined` in case it's empty).\r\n\t */\r\n\tonChange: PropTypes.func.isRequired,\r\n\r\n\t/**\r\n\t * A two-letter country code for formatting `value`\r\n\t * as a national phone number (example: `(213) 373-4253`),\r\n\t * or as an international phone number without \"country calling code\"\r\n\t * if `international` property is passed (example: `213 373 4253`).\r\n\t * Example: \"US\".\r\n\t * If no `country` is passed then `value`\r\n\t * is formatted as an international phone number.\r\n\t * (example: `+1 213 373 4253`)\r\n\t */\r\n\tcountry: PropTypes.string,\r\n\r\n\t/**\r\n\t * A two-letter country code for formatting `value`\r\n\t * when a user inputs a national phone number (example: `(213) 373-4253`).\r\n\t * The user can still input a phone number in international format.\r\n\t * Example: \"US\".\r\n\t * `country` and `defaultCountry` properties are mutually exclusive.\r\n\t */\r\n\tdefaultCountry: PropTypes.string,\r\n\r\n\t/**\r\n\t * If `country` property is passed along with `international={true}` property\r\n\t * then the phone number will be input in \"international\" format for that `country`\r\n\t * (without \"country calling code\").\r\n\t * For example, if `country=\"US\"` property is passed to \"without country select\" input\r\n\t * then the phone number will be input in the \"national\" format for `US` (`(213) 373-4253`).\r\n\t * But if both `country=\"US\"` and `international={true}` properties are passed then\r\n\t * the phone number will be input in the \"international\" format for `US` (`213 373 4253`)\r\n\t * (without \"country calling code\" `+1`).\r\n\t */\r\n\tinternational: PropTypes.bool,\r\n\r\n\t/**\r\n\t * If `country` and `international` properties are set,\r\n\t * then by default it won't include \"country calling code\" in the input field.\r\n\t * To change that, pass `withCountryCallingCode` property,\r\n\t * and it will include \"country calling code\" in the input field.\r\n\t */\r\n\twithCountryCallingCode: PropTypes.bool,\r\n\r\n\t/**\r\n\t * A component that renders the `` itself and also\r\n\t * parses and formats its `value` as the user inputs it.\r\n\t */\r\n\tComponent: PropTypes.elementType.isRequired,\r\n\r\n\t/**\r\n\t * When `defaultCountry` is defined and the initial `value` corresponds to `defaultCountry`,\r\n\t * then the `value` will be formatted as a national phone number by default.\r\n\t * To format the initial `value` of `defaultCountry` as an international number instead\r\n\t * set `useNationalFormatForDefaultCountryValue` property to `true`.\r\n\t */\r\n\tuseNationalFormatForDefaultCountryValue: PropTypes.bool,\r\n\r\n\t/**\r\n\t * `libphonenumber-js` metadata.\r\n\t */\r\n\tmetadata: metadataType\r\n}\r\n\r\nexport default PhoneInput","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\nimport PhoneInput_ from './PhoneInput.js'\r\nimport InputSmart from './InputSmart.js'\r\nimport InputBasic from './InputBasic.js'\r\n\r\nexport function createInput(defaultMetadata) {\r\n\tfunction PhoneInput({\r\n\t\t// ``.\r\n\t\ttype = 'tel',\r\n\t\t// Remember (and autofill) the value as a phone number.\r\n\t\tautoComplete = 'tel',\r\n\t\tsmartCaret = true,\r\n\t\tmetadata = defaultMetadata,\r\n\t\t...rest\r\n\t}, ref) {\r\n\t\treturn (\r\n\t\t\t\r\n\t\t)\r\n\t}\r\n\r\n\tPhoneInput = React.forwardRef(PhoneInput)\r\n\r\n\tPhoneInput.propTypes = {\r\n\t\t/**\r\n\t\t * HTML `` `type` attribute.\r\n\t\t */\r\n\t\ttype: PropTypes.string,\r\n\r\n\t\t/**\r\n\t\t * HTML `` `autocomplete` attribute.\r\n\t\t */\r\n\t\tautoComplete: PropTypes.string,\r\n\r\n\t\t/**\r\n\t\t * By default, the caret position is being \"intelligently\" managed\r\n\t\t * while a user inputs a phone number.\r\n\t\t * This \"smart\" caret behavior can be turned off\r\n\t\t * by passing `smartCaret={false}` property.\r\n\t\t * This is just an \"escape hatch\" for any possible caret position issues.\r\n\t\t */\r\n\t\t// Is `true` by default.\r\n\t\tsmartCaret: PropTypes.bool,\r\n\r\n\t\t/**\r\n\t\t * `libphonenumber-js` metadata.\r\n\t\t */\r\n\t\tmetadata: PropTypes.object\r\n\t}\r\n\r\n\treturn PhoneInput\r\n}\r\n\r\nexport default createInput()","import metadata from 'libphonenumber-js/min/metadata'\r\n\r\nimport {\r\n\tparsePhoneNumber as _parsePhoneNumber,\r\n\tformatPhoneNumber as _formatPhoneNumber,\r\n\tformatPhoneNumberIntl as _formatPhoneNumberIntl,\r\n\tisValidPhoneNumber as _isValidPhoneNumber,\r\n\tisPossiblePhoneNumber as _isPossiblePhoneNumber,\r\n\tgetCountries as _getCountries,\r\n\tgetCountryCallingCode as _getCountryCallingCode,\r\n\tisSupportedCountry as _isSupportedCountry\r\n} from '../core/index.js'\r\n\r\nimport { createInput } from '../modules/PhoneInputBrowser.js'\r\n\r\nfunction call(func, _arguments) {\r\n\tvar args = Array.prototype.slice.call(_arguments)\r\n\targs.push(metadata)\r\n\treturn func.apply(this, args)\r\n}\r\n\r\nexport default createInput(metadata)\r\n\r\nexport function parsePhoneNumber() {\r\n\treturn call(_parsePhoneNumber, arguments)\r\n}\r\n\r\nexport function formatPhoneNumber() {\r\n\treturn call(_formatPhoneNumber, arguments)\r\n}\r\n\r\nexport function formatPhoneNumberIntl() {\r\n\treturn call(_formatPhoneNumberIntl, arguments)\r\n}\r\n\r\nexport function isValidPhoneNumber() {\r\n\treturn call(_isValidPhoneNumber, arguments)\r\n}\r\n\r\nexport function isPossiblePhoneNumber() {\r\n\treturn call(_isPossiblePhoneNumber, arguments)\r\n}\r\n\r\nexport function getCountries() {\r\n\treturn call(_getCountries, arguments)\r\n}\r\n\r\nexport function getCountryCallingCode() {\r\n\treturn call(_getCountryCallingCode, arguments)\r\n}\r\n\r\nexport function isSupportedCountry() {\r\n\treturn call(_isSupportedCountry, arguments)\r\n}","export default {\n \"ext\": \"ext.\",\n \"country\": \"Phone number country\",\n \"phone\": \"Phone\",\n \"AB\": \"Abkhazia\",\n \"AC\": \"Ascension Island\",\n \"AD\": \"Andorra\",\n \"AE\": \"United Arab Emirates\",\n \"AF\": \"Afghanistan\",\n \"AG\": \"Antigua and Barbuda\",\n \"AI\": \"Anguilla\",\n \"AL\": \"Albania\",\n \"AM\": \"Armenia\",\n \"AO\": \"Angola\",\n \"AQ\": \"Antarctica\",\n \"AR\": \"Argentina\",\n \"AS\": \"American Samoa\",\n \"AT\": \"Austria\",\n \"AU\": \"Australia\",\n \"AW\": \"Aruba\",\n \"AX\": \"Åland Islands\",\n \"AZ\": \"Azerbaijan\",\n \"BA\": \"Bosnia and Herzegovina\",\n \"BB\": \"Barbados\",\n \"BD\": \"Bangladesh\",\n \"BE\": \"Belgium\",\n \"BF\": \"Burkina Faso\",\n \"BG\": \"Bulgaria\",\n \"BH\": \"Bahrain\",\n \"BI\": \"Burundi\",\n \"BJ\": \"Benin\",\n \"BL\": \"Saint Barthélemy\",\n \"BM\": \"Bermuda\",\n \"BN\": \"Brunei Darussalam\",\n \"BO\": \"Bolivia\",\n \"BQ\": \"Bonaire, Sint Eustatius and Saba\",\n \"BR\": \"Brazil\",\n \"BS\": \"Bahamas\",\n \"BT\": \"Bhutan\",\n \"BV\": \"Bouvet Island\",\n \"BW\": \"Botswana\",\n \"BY\": \"Belarus\",\n \"BZ\": \"Belize\",\n \"CA\": \"Canada\",\n \"CC\": \"Cocos (Keeling) Islands\",\n \"CD\": \"Congo, Democratic Republic of the\",\n \"CF\": \"Central African Republic\",\n \"CG\": \"Congo\",\n \"CH\": \"Switzerland\",\n \"CI\": \"Cote d'Ivoire\",\n \"CK\": \"Cook Islands\",\n \"CL\": \"Chile\",\n \"CM\": \"Cameroon\",\n \"CN\": \"China\",\n \"CO\": \"Colombia\",\n \"CR\": \"Costa Rica\",\n \"CU\": \"Cuba\",\n \"CV\": \"Cape Verde\",\n \"CW\": \"Curaçao\",\n \"CX\": \"Christmas Island\",\n \"CY\": \"Cyprus\",\n \"CZ\": \"Czech Republic\",\n \"DE\": \"Germany\",\n \"DJ\": \"Djibouti\",\n \"DK\": \"Denmark\",\n \"DM\": \"Dominica\",\n \"DO\": \"Dominican Republic\",\n \"DZ\": \"Algeria\",\n \"EC\": \"Ecuador\",\n \"EE\": \"Estonia\",\n \"EG\": \"Egypt\",\n \"EH\": \"Western Sahara\",\n \"ER\": \"Eritrea\",\n \"ES\": \"Spain\",\n \"ET\": \"Ethiopia\",\n \"FI\": \"Finland\",\n \"FJ\": \"Fiji\",\n \"FK\": \"Falkland Islands\",\n \"FM\": \"Federated States of Micronesia\",\n \"FO\": \"Faroe Islands\",\n \"FR\": \"France\",\n \"GA\": \"Gabon\",\n \"GB\": \"United Kingdom\",\n \"GD\": \"Grenada\",\n \"GE\": \"Georgia\",\n \"GF\": \"French Guiana\",\n \"GG\": \"Guernsey\",\n \"GH\": \"Ghana\",\n \"GI\": \"Gibraltar\",\n \"GL\": \"Greenland\",\n \"GM\": \"Gambia\",\n \"GN\": \"Guinea\",\n \"GP\": \"Guadeloupe\",\n \"GQ\": \"Equatorial Guinea\",\n \"GR\": \"Greece\",\n \"GS\": \"South Georgia and the South Sandwich Islands\",\n \"GT\": \"Guatemala\",\n \"GU\": \"Guam\",\n \"GW\": \"Guinea-Bissau\",\n \"GY\": \"Guyana\",\n \"HK\": \"Hong Kong\",\n \"HM\": \"Heard Island and McDonald Islands\",\n \"HN\": \"Honduras\",\n \"HR\": \"Croatia\",\n \"HT\": \"Haiti\",\n \"HU\": \"Hungary\",\n \"ID\": \"Indonesia\",\n \"IE\": \"Ireland\",\n \"IL\": \"Israel\",\n \"IM\": \"Isle of Man\",\n \"IN\": \"India\",\n \"IO\": \"British Indian Ocean Territory\",\n \"IQ\": \"Iraq\",\n \"IR\": \"Iran\",\n \"IS\": \"Iceland\",\n \"IT\": \"Italy\",\n \"JE\": \"Jersey\",\n \"JM\": \"Jamaica\",\n \"JO\": \"Jordan\",\n \"JP\": \"Japan\",\n \"KE\": \"Kenya\",\n \"KG\": \"Kyrgyzstan\",\n \"KH\": \"Cambodia\",\n \"KI\": \"Kiribati\",\n \"KM\": \"Comoros\",\n \"KN\": \"Saint Kitts and Nevis\",\n \"KP\": \"North Korea\",\n \"KR\": \"South Korea\",\n \"KW\": \"Kuwait\",\n \"KY\": \"Cayman Islands\",\n \"KZ\": \"Kazakhstan\",\n \"LA\": \"Laos\",\n \"LB\": \"Lebanon\",\n \"LC\": \"Saint Lucia\",\n \"LI\": \"Liechtenstein\",\n \"LK\": \"Sri Lanka\",\n \"LR\": \"Liberia\",\n \"LS\": \"Lesotho\",\n \"LT\": \"Lithuania\",\n \"LU\": \"Luxembourg\",\n \"LV\": \"Latvia\",\n \"LY\": \"Libya\",\n \"MA\": \"Morocco\",\n \"MC\": \"Monaco\",\n \"MD\": \"Moldova\",\n \"ME\": \"Montenegro\",\n \"MF\": \"Saint Martin (French Part)\",\n \"MG\": \"Madagascar\",\n \"MH\": \"Marshall Islands\",\n \"MK\": \"North Macedonia\",\n \"ML\": \"Mali\",\n \"MM\": \"Myanmar\",\n \"MN\": \"Mongolia\",\n \"MO\": \"Macao\",\n \"MP\": \"Northern Mariana Islands\",\n \"MQ\": \"Martinique\",\n \"MR\": \"Mauritania\",\n \"MS\": \"Montserrat\",\n \"MT\": \"Malta\",\n \"MU\": \"Mauritius\",\n \"MV\": \"Maldives\",\n \"MW\": \"Malawi\",\n \"MX\": \"Mexico\",\n \"MY\": \"Malaysia\",\n \"MZ\": \"Mozambique\",\n \"NA\": \"Namibia\",\n \"NC\": \"New Caledonia\",\n \"NE\": \"Niger\",\n \"NF\": \"Norfolk Island\",\n \"NG\": \"Nigeria\",\n \"NI\": \"Nicaragua\",\n \"NL\": \"Netherlands\",\n \"NO\": \"Norway\",\n \"NP\": \"Nepal\",\n \"NR\": \"Nauru\",\n \"NU\": \"Niue\",\n \"NZ\": \"New Zealand\",\n \"OM\": \"Oman\",\n \"OS\": \"South Ossetia\",\n \"PA\": \"Panama\",\n \"PE\": \"Peru\",\n \"PF\": \"French Polynesia\",\n \"PG\": \"Papua New Guinea\",\n \"PH\": \"Philippines\",\n \"PK\": \"Pakistan\",\n \"PL\": \"Poland\",\n \"PM\": \"Saint Pierre and Miquelon\",\n \"PN\": \"Pitcairn\",\n \"PR\": \"Puerto Rico\",\n \"PS\": \"Palestine\",\n \"PT\": \"Portugal\",\n \"PW\": \"Palau\",\n \"PY\": \"Paraguay\",\n \"QA\": \"Qatar\",\n \"RE\": \"Reunion\",\n \"RO\": \"Romania\",\n \"RS\": \"Serbia\",\n \"RU\": \"Russia\",\n \"RW\": \"Rwanda\",\n \"SA\": \"Saudi Arabia\",\n \"SB\": \"Solomon Islands\",\n \"SC\": \"Seychelles\",\n \"SD\": \"Sudan\",\n \"SE\": \"Sweden\",\n \"SG\": \"Singapore\",\n \"SH\": \"Saint Helena\",\n \"SI\": \"Slovenia\",\n \"SJ\": \"Svalbard and Jan Mayen\",\n \"SK\": \"Slovakia\",\n \"SL\": \"Sierra Leone\",\n \"SM\": \"San Marino\",\n \"SN\": \"Senegal\",\n \"SO\": \"Somalia\",\n \"SR\": \"Suriname\",\n \"SS\": \"South Sudan\",\n \"ST\": \"Sao Tome and Principe\",\n \"SV\": \"El Salvador\",\n \"SX\": \"Sint Maarten\",\n \"SY\": \"Syria\",\n \"SZ\": \"Swaziland\",\n \"TA\": \"Tristan da Cunha\",\n \"TC\": \"Turks and Caicos Islands\",\n \"TD\": \"Chad\",\n \"TF\": \"French Southern Territories\",\n \"TG\": \"Togo\",\n \"TH\": \"Thailand\",\n \"TJ\": \"Tajikistan\",\n \"TK\": \"Tokelau\",\n \"TL\": \"Timor-Leste\",\n \"TM\": \"Turkmenistan\",\n \"TN\": \"Tunisia\",\n \"TO\": \"Tonga\",\n \"TR\": \"Turkey\",\n \"TT\": \"Trinidad and Tobago\",\n \"TV\": \"Tuvalu\",\n \"TW\": \"Taiwan\",\n \"TZ\": \"Tanzania\",\n \"UA\": \"Ukraine\",\n \"UG\": \"Uganda\",\n \"UM\": \"United States Minor Outlying Islands\",\n \"US\": \"United States\",\n \"UY\": \"Uruguay\",\n \"UZ\": \"Uzbekistan\",\n \"VA\": \"Holy See (Vatican City State)\",\n \"VC\": \"Saint Vincent and the Grenadines\",\n \"VE\": \"Venezuela\",\n \"VG\": \"Virgin Islands, British\",\n \"VI\": \"Virgin Islands, U.S.\",\n \"VN\": \"Vietnam\",\n \"VU\": \"Vanuatu\",\n \"WF\": \"Wallis and Futuna\",\n \"WS\": \"Samoa\",\n \"XK\": \"Kosovo\",\n \"YE\": \"Yemen\",\n \"YT\": \"Mayotte\",\n \"ZA\": \"South Africa\",\n \"ZM\": \"Zambia\",\n \"ZW\": \"Zimbabwe\",\n \"ZZ\": \"International\"\n}","import React, { useCallback, useMemo } from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport classNames from 'classnames'\r\nimport getUnicodeFlagIcon from 'country-flag-icons/unicode'\r\n\r\nexport default function CountrySelect({\r\n\tvalue,\r\n\tonChange,\r\n\toptions,\r\n\tdisabled,\r\n\treadOnly,\r\n\t...rest\r\n}) {\r\n\tconst onChange_ = useCallback((event) => {\r\n\t\tconst value = event.target.value\r\n\t\tonChange(value === 'ZZ' ? undefined : value)\r\n\t}, [onChange])\r\n\r\n\tconst selectedOption = useMemo(() => {\r\n\t\treturn getSelectedOption(options, value)\r\n\t}, [options, value])\r\n\r\n\t// \"ZZ\" means \"International\".\r\n\t// (HTML requires each `\r\n\t\t\t))}\r\n\t\t\r\n\t)\r\n}\r\n\r\nCountrySelect.propTypes = {\r\n\t/**\r\n\t * A two-letter country code.\r\n\t * Example: \"US\", \"RU\", etc.\r\n\t */\r\n\tvalue: PropTypes.string,\r\n\r\n\t/**\r\n\t * A function of `value: string`.\r\n\t * Updates the `value` property.\r\n\t */\r\n\tonChange: PropTypes.func.isRequired,\r\n\r\n\t// ``.\r\n\t// https://github.com/catamphetamine/react-phone-number-input/issues/419#issuecomment-1764384480\r\n\t// https://www.delftstack.com/howto/html/html-select-readonly/\r\n\t// To work around that, if `readOnly: true` property is passed\r\n\t// to this component, it behaves analogous to `disabled: true`.\r\n\tdisabled: PropTypes.bool,\r\n\treadOnly: PropTypes.bool\r\n}\r\n\r\nconst DIVIDER_STYLE = {\r\n\tfontSize: '1px',\r\n\tbackgroundColor: 'currentColor',\r\n\tcolor: 'inherit'\r\n}\r\n\r\nexport function CountrySelectWithIcon({\r\n\tvalue,\r\n\toptions,\r\n\tclassName,\r\n\ticonComponent: Icon,\r\n\tgetIconAspectRatio,\r\n\tarrowComponent: Arrow = DefaultArrowComponent,\r\n\tunicodeFlags,\r\n\t...rest\r\n}) {\r\n\tconst selectedOption = useMemo(() => {\r\n\t\treturn getSelectedOption(options, value)\r\n\t}, [options, value])\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\r\n\t\t\t{/* Either a Unicode flag icon. */}\r\n\t\t\t{(unicodeFlags && value) &&\r\n\t\t\t\t
\r\n\t\t\t\t\t{getUnicodeFlagIcon(value)}\r\n\t\t\t\t
\r\n\t\t\t}\r\n\r\n\t\t\t{/* Or an SVG flag icon. */}\r\n\t\t\t{!(unicodeFlags && value) &&\r\n\t\t\t\t\r\n\t\t\t}\r\n\r\n\t\t\t\r\n\t\t
\r\n\t)\r\n}\r\n\r\nCountrySelectWithIcon.propTypes = {\r\n\t// Country flag component.\r\n\ticonComponent: PropTypes.elementType,\r\n\r\n\t// Select arrow component.\r\n\tarrowComponent: PropTypes.elementType,\r\n\r\n\t// Set to `true` to render Unicode flag icons instead of SVG images.\r\n\tunicodeFlags: PropTypes.bool\r\n}\r\n\r\nfunction DefaultArrowComponent() {\r\n\treturn
\r\n}\r\n\r\nfunction getSelectedOption(options, value) {\r\n\tfor (const option of options) {\r\n\t\tif (!option.divider && option.value === value) {\r\n\t\t\treturn option\r\n\t\t}\r\n\t}\r\n}","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport classNames from 'classnames'\r\n\r\n// Default country flag icon.\r\n// `` is wrapped in a `
` to prevent SVGs from exploding in size in IE 11.\r\n// https://github.com/catamphetamine/react-phone-number-input/issues/111\r\nexport default function FlagComponent({\r\n\tcountry,\r\n\tcountryName,\r\n\tflags,\r\n\tflagUrl,\r\n\t...rest\r\n}) {\r\n\tif (flags && flags[country]) {\r\n\t\treturn flags[country]({ title: countryName })\r\n\t}\r\n\treturn (\r\n\t\t\r\n\t)\r\n}\r\n\r\nFlagComponent.propTypes = {\r\n\t// The country to be selected by default.\r\n\t// Two-letter country code (\"ISO 3166-1 alpha-2\").\r\n\tcountry: PropTypes.string.isRequired,\r\n\r\n\t// Will be HTML `title` attribute of the ``.\r\n\tcountryName: PropTypes.string.isRequired,\r\n\r\n\t// Country flag icon components.\r\n\t// By default flag icons are inserted as ``s\r\n\t// with their `src` pointed to `country-flag-icons` gitlab pages website.\r\n\t// There might be cases (e.g. an offline application)\r\n\t// where having a large (3 megabyte) `` flags\r\n\t// bundle is more appropriate.\r\n\t// `import flags from 'react-phone-number-input/flags'`.\r\n\tflags: PropTypes.objectOf(PropTypes.elementType),\r\n\r\n\t// A URL for a country flag icon.\r\n\t// By default it points to `country-flag-icons` gitlab pages website.\r\n\tflagUrl: PropTypes.string.isRequired\r\n}\r\n","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\nexport default function InternationalIcon({ aspectRatio, ...rest }) {\r\n\tif (aspectRatio === 1) {\r\n\t\treturn \r\n\t} else {\r\n\t\treturn \r\n\t}\r\n}\r\n\r\nInternationalIcon.propTypes = {\r\n\ttitle: PropTypes.string.isRequired,\r\n\taspectRatio: PropTypes.number\r\n}\r\n\r\n// 3x2.\r\n// Using `` in `<svg/>`s:\r\n// https://developer.mozilla.org/en-US/docs/Web/SVG/Element/title\r\nfunction InternationalIcon3x2({ title, ...rest }) {\r\n\treturn (\r\n\t\t<svg\r\n\t\t\t{...rest}\r\n\t\t\txmlns=\"http://www.w3.org/2000/svg\"\r\n\t\t\tviewBox=\"0 0 75 50\">\r\n\t\t\t<title>{title}\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nInternationalIcon3x2.propTypes = {\r\n\ttitle: PropTypes.string.isRequired\r\n}\r\n\r\n// 1x1.\r\n// Using `` in `<svg/>`s:\r\n// https://developer.mozilla.org/en-US/docs/Web/SVG/Element/title\r\nfunction InternationalIcon1x1({ title, ...rest }) {\r\n\treturn (\r\n\t\t<svg\r\n\t\t\t{...rest}\r\n\t\t\txmlns=\"http://www.w3.org/2000/svg\"\r\n\t\t\tviewBox=\"0 0 50 50\">\r\n\t\t\t<title>{title}\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nInternationalIcon1x1.propTypes = {\r\n\ttitle: PropTypes.string.isRequired\r\n}\r\n","import { isSupportedCountry } from 'libphonenumber-js/core'\r\nexport { getCountries } from 'libphonenumber-js/core'\r\n\r\n/**\r\n * Sorts country `` options\r\n * to the top of the list, for example.\r\n * @param {object[]} countryOptions — Country `` options order. Example: `[\"US\", \"CA\", \"AU\", \"|\", \"...\"]`.\r\n * @return {object[]}\r\n */\r\nexport function sortCountryOptions(options, order) {\r\n\tif (!order) {\r\n\t\treturn options\r\n\t}\r\n\tconst optionsOnTop = []\r\n\tconst optionsOnBottom = []\r\n\tlet appendTo = optionsOnTop\r\n\tfor (const element of order) {\r\n\t\tif (element === '|') {\r\n\t\t\tappendTo.push({ divider: true })\r\n\t\t} else if (element === '...' || element === '…') {\r\n\t\t\tappendTo = optionsOnBottom\r\n\t\t} else {\r\n\t\t\tlet countryCode\r\n\t\t\tif (element === '🌐') {\r\n\t\t\t\tcountryCode = undefined\r\n\t\t\t} else {\r\n\t\t\t\tcountryCode = element\r\n\t\t\t}\r\n\t\t\t// Find the position of the option.\r\n\t\t\tconst index = options.indexOf(options.filter(option => option.value === countryCode)[0])\r\n\t\t\t// Get the option.\r\n\t\t\tconst option = options[index]\r\n\t\t\t// Remove the option from its default position.\r\n\t\t\toptions.splice(index, 1)\r\n\t\t\t// Add the option on top.\r\n\t\t\tappendTo.push(option)\r\n\t\t}\r\n\t}\r\n\treturn optionsOnTop.concat(options).concat(optionsOnBottom)\r\n}\r\n\r\nexport function getSupportedCountryOptions(countryOptions, metadata) {\r\n\tif (countryOptions) {\r\n\t\tcountryOptions = countryOptions.filter((option) => {\r\n\t\t\tswitch (option) {\r\n\t\t\t\tcase '🌐':\r\n\t\t\t\tcase '|':\r\n\t\t\t\tcase '...':\r\n\t\t\t\tcase '…':\r\n\t\t\t\t\treturn true\r\n\t\t\t\tdefault:\r\n\t\t\t\t\treturn isCountrySupportedWithError(option, metadata)\r\n\t\t\t}\r\n\t\t})\r\n\t\tif (countryOptions.length > 0) {\r\n\t\t\treturn countryOptions\r\n\t\t}\r\n\t}\r\n}\r\n\r\nexport function isCountrySupportedWithError(country, metadata) {\r\n\tif (isSupportedCountry(country, metadata)) {\r\n\t\treturn true\r\n\t} else {\r\n\t\tconsole.error(`Country not found: ${country}`)\r\n\t\treturn false\r\n\t}\r\n}\r\n\r\nexport function getSupportedCountries(countries, metadata) {\r\n\tif (countries) {\r\n\t\tcountries = countries.filter(country => isCountrySupportedWithError(country, metadata))\r\n\t\tif (countries.length === 0) {\r\n\t\t\tcountries = undefined\r\n\t\t}\r\n\t}\r\n\treturn countries\r\n}","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport classNames from 'classnames'\r\n\r\nimport DefaultInternationalIcon from './InternationalIcon.js'\r\nimport Flag from './Flag.js'\r\n\r\nexport function createCountryIconComponent({\r\n\tflags,\r\n\tflagUrl,\r\n\tflagComponent: FlagComponent,\r\n\tinternationalIcon: InternationalIcon\r\n}) {\r\n\tfunction CountryIcon({\r\n\t\tcountry,\r\n\t\tlabel,\r\n\t\taspectRatio,\r\n\t\t...rest\r\n\t}) {\r\n\t\t// `aspectRatio` is currently a hack for the default \"International\" icon\r\n\t\t// to render it as a square when Unicode flag icons are used.\r\n\t\t// So `aspectRatio` property is only used with the default \"International\" icon.\r\n\t\tconst _aspectRatio = InternationalIcon === DefaultInternationalIcon ? aspectRatio : undefined\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t{\r\n\t\t\t\t\tcountry\r\n\t\t\t\t\t?\r\n\t\t\t\t\t\r\n\t\t\t\t\t:\r\n\t\t\t\t\t\r\n\t\t\t\t}\r\n\t\t\t
\r\n\t\t)\r\n\t}\r\n\r\n\tCountryIcon.propTypes = {\r\n\t\tcountry: PropTypes.string,\r\n\t\tlabel: PropTypes.string.isRequired,\r\n\t\taspectRatio: PropTypes.number\r\n\t}\r\n\r\n\treturn CountryIcon\r\n}\r\n\r\nexport default createCountryIconComponent({\r\n\t// Must be equal to `defaultProps.flagUrl` in `./PhoneInputWithCountry.js`.\r\n\tflagUrl: 'https://purecatamphetamine.github.io/country-flag-icons/3x2/{XX}.svg',\r\n\tflagComponent: Flag,\r\n\tinternationalIcon: DefaultInternationalIcon\r\n})","import parsePhoneNumber_, {\r\n\tgetCountryCallingCode,\r\n\tAsYouType,\r\n\tMetadata\r\n} from 'libphonenumber-js/core'\r\n\r\nimport getInternationalPhoneNumberPrefix from './getInternationalPhoneNumberPrefix.js'\r\n\r\n/**\r\n * Decides which country should be pre-selected\r\n * when the phone number input component is first mounted.\r\n * @param {object?} phoneNumber - An instance of `PhoneNumber` class.\r\n * @param {string?} country - Pre-defined country (two-letter code).\r\n * @param {string[]?} countries - A list of countries available.\r\n * @param {object} metadata - `libphonenumber-js` metadata\r\n * @return {string?}\r\n */\r\nexport function getPreSelectedCountry({\r\n\tvalue,\r\n\tphoneNumber,\r\n\tdefaultCountry,\r\n\tgetAnyCountry,\r\n\tcountries,\r\n\trequired,\r\n\tmetadata\r\n}) {\r\n\tlet country\r\n\r\n\t// If can get country from E.164 phone number\r\n\t// then it overrides the `country` passed (or not passed).\r\n\tif (phoneNumber && phoneNumber.country) {\r\n\t\t// `country` will be left `undefined` in case of non-detection.\r\n\t\tcountry = phoneNumber.country\r\n\t} else if (defaultCountry) {\r\n\t\tif (!value || couldNumberBelongToCountry(value, defaultCountry, metadata)) {\r\n\t\t\tcountry = defaultCountry\r\n\t\t}\r\n\t}\r\n\r\n\t// Only pre-select a country if it's in the available `countries` list.\r\n\tif (countries && countries.indexOf(country) < 0) {\r\n\t\tcountry = undefined\r\n\t}\r\n\r\n\t// If there will be no \"International\" option\r\n\t// then some `country` must be selected.\r\n\t// It will still be the wrong country though.\r\n\t// But still country `` options.\r\n * @param {string[]} countries - A list of two-letter (\"ISO 3166-1 alpha-2\") country codes.\r\n * @param {object} labels - Custom country labels. E.g. `{ RU: 'Россия', US: 'США', ... }`.\r\n * @param {boolean} addInternationalOption - Whether should include \"International\" option at the top of the list.\r\n * @return {object[]} A list of objects having shape `{ value : string, label : string }`.\r\n */\r\nexport function getCountrySelectOptions({\r\n\tcountries,\r\n\tcountryNames,\r\n\taddInternationalOption,\r\n\t// `locales` are only used in country name comparator:\r\n\t// depending on locale, string sorting order could be different.\r\n\tcompareStringsLocales,\r\n\tcompareStrings: _compareStrings\r\n}) {\r\n\t// Default country name comparator uses `String.localeCompare()`.\r\n\tif (!_compareStrings) {\r\n\t\t_compareStrings = compareStrings\r\n\t}\r\n\r\n\t// Generates a `` `value` for the newly selected `country`.\r\n * @param {string?} phoneDigits - Phone number digits (and `+`) parsed from phone number `` (it's not the same as the `value` property).\r\n * @param {string?} prevCountry - Previously selected country.\r\n * @param {string?} newCountry - Newly selected country. Can't be same as previously selected country.\r\n * @param {object} metadata - `libphonenumber-js` metadata.\r\n * @param {boolean} useNationalFormat - whether should attempt to convert from international to national number for the new country.\r\n * @return {string?}\r\n */\r\nexport function getPhoneDigitsForNewCountry(phoneDigits, {\r\n\tprevCountry,\r\n\tnewCountry,\r\n\tmetadata,\r\n\tuseNationalFormat\r\n}) {\r\n\tif (prevCountry === newCountry) {\r\n\t\treturn phoneDigits\r\n\t}\r\n\r\n\t// If `parsed_input` is empty\r\n\t// then no need to migrate anything.\r\n\tif (!phoneDigits) {\r\n\t\tif (useNationalFormat) {\r\n\t\t\treturn ''\r\n\t\t} else {\r\n\t\t\tif (newCountry) {\r\n\t\t\t\t// If `phoneDigits` is empty then set `phoneDigits` to\r\n\t\t\t\t// `+{getCountryCallingCode(newCountry)}`.\r\n\t\t\t\treturn getInternationalPhoneNumberPrefix(newCountry, metadata)\r\n\t\t\t}\r\n\t\t\treturn ''\r\n\t\t}\r\n\t}\r\n\r\n\t// If switching to some country.\r\n\t// (from \"International\" or another country)\r\n\t// If switching from \"International\" then `phoneDigits` starts with a `+`.\r\n\t// Otherwise it may or may not start with a `+`.\r\n\tif (newCountry) {\r\n\t\t// If the phone number was entered in international format\r\n\t\t// then migrate it to the newly selected country.\r\n\t\t// The phone number may be incomplete.\r\n\t\t// The phone number entered not necessarily starts with\r\n\t\t// the previously selected country phone prefix.\r\n\t\tif (phoneDigits[0] === '+') {\r\n\t\t\t// If the international phone number is for the new country\r\n\t\t\t// then convert it to local if required.\r\n\t\t\tif (useNationalFormat) {\r\n\t\t\t\t// // If a phone number is being input in international form\r\n\t\t\t\t// // and the country can already be derived from it,\r\n\t\t\t\t// // and if it is the new country, then format as a national number.\r\n\t\t\t\t// const derived_country = getCountryFromPossiblyIncompleteInternationalPhoneNumber(phoneDigits, metadata)\r\n\t\t\t\t// if (derived_country === newCountry) {\r\n\t\t\t\t// \treturn stripCountryCallingCode(phoneDigits, derived_country, metadata)\r\n\t\t\t\t// }\r\n\r\n\t\t\t\t// Actually, the two countries don't necessarily need to match:\r\n\t\t\t\t// the condition could be looser here, because several countries\r\n\t\t\t\t// might share the same international phone number format\r\n\t\t\t\t// (for example, \"NANPA\" countries like US, Canada, etc).\r\n\t\t\t\t// The looser condition would be just \"same nternational phone number format\"\r\n\t\t\t\t// which would mean \"same country calling code\" in the context of `libphonenumber-js`.\r\n\t\t\t\tif (phoneDigits.indexOf('+' + getCountryCallingCode(newCountry, metadata)) === 0) {\r\n\t\t\t\t\treturn stripCountryCallingCode(phoneDigits, newCountry, metadata)\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// Simply discard the previously entered international phone number,\r\n\t\t\t\t// because otherwise any \"smart\" transformation like getting the\r\n\t\t\t\t// \"national (significant) number\" part and then prepending the\r\n\t\t\t\t// newly selected country's \"country calling code\" to it\r\n\t\t\t\t// would just be confusing for a user without being actually useful.\r\n\t\t\t\treturn ''\r\n\r\n\t\t\t\t// // Simply strip the leading `+` character\r\n\t\t\t\t// // therefore simply converting all digits into a \"local\" phone number.\r\n\t\t\t\t// // https://github.com/catamphetamine/react-phone-number-input/issues/287\r\n\t\t\t\t// return phoneDigits.slice(1)\r\n\t\t\t}\r\n\r\n\t\t\tif (prevCountry) {\r\n\t\t\t\tconst newCountryPrefix = getInternationalPhoneNumberPrefix(newCountry, metadata)\r\n\t\t\t\tif (phoneDigits.indexOf(newCountryPrefix) === 0) {\r\n\t\t\t\t\treturn phoneDigits\r\n\t\t\t\t} else {\r\n\t\t\t\t\treturn newCountryPrefix\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tconst defaultValue = getInternationalPhoneNumberPrefix(newCountry, metadata)\r\n\t\t\t\t// If `phoneDigits`'s country calling code part is the same\r\n\t\t\t\t// as for the new `country`, then leave `phoneDigits` as is.\r\n\t\t\t\tif (phoneDigits.indexOf(defaultValue) === 0) {\r\n\t\t\t\t\treturn phoneDigits\r\n\t\t\t\t}\r\n\t\t\t\t// If `phoneDigits`'s country calling code part is not the same\r\n\t\t\t\t// as for the new `country`, then set `phoneDigits` to\r\n\t\t\t\t// `+{getCountryCallingCode(newCountry)}`.\r\n\t\t\t\treturn defaultValue\r\n\t\t\t}\r\n\r\n\t\t\t// // If the international phone number already contains\r\n\t\t\t// // any country calling code then trim the country calling code part.\r\n\t\t\t// // (that could also be the newly selected country phone code prefix as well)\r\n\t\t\t// // `phoneDigits` doesn't neccessarily belong to `prevCountry`.\r\n\t\t\t// // (e.g. if a user enters an international number\r\n\t\t\t// // not belonging to any of the reduced `countries` list).\r\n\t\t\t// phoneDigits = stripCountryCallingCode(phoneDigits, prevCountry, metadata)\r\n\r\n\t\t\t// // Prepend country calling code prefix\r\n\t\t\t// // for the newly selected country.\r\n\t\t\t// return e164(phoneDigits, newCountry, metadata) || `+${getCountryCallingCode(newCountry, metadata)}`\r\n\t\t}\r\n\t}\r\n\t// If switching to \"International\" from a country.\r\n\telse {\r\n\t\t// If the phone number was entered in national format.\r\n\t\tif (phoneDigits[0] !== '+') {\r\n\t\t\t// Format the national phone number as an international one.\r\n\t\t\t// The phone number entered not necessarily even starts with\r\n\t\t\t// the previously selected country phone prefix.\r\n\t\t\t// Even if the phone number belongs to whole another country\r\n\t\t\t// it will still be parsed into some national phone number.\r\n\t\t\t//\r\n\t\t\t// Ignore the now-uncovered `|| ''` code branch:\r\n\t\t\t// previously `e164()` function could return an empty string\r\n\t\t\t// even when `phoneDigits` were not empty.\r\n\t\t\t// Now it always returns some `value` when there're any `phoneDigits`.\r\n\t\t\t// Still, didn't remove the `|| ''` code branch just in case\r\n\t\t\t// that logic changes somehow in some future, so there're no\r\n\t\t\t// possible bugs related to that.\r\n\t\t\t//\r\n\t\t\t// (ignore the `|| ''` code branch)\r\n\t\t\t/* istanbul ignore next */\r\n\t\t\treturn e164(phoneDigits, prevCountry, metadata) || ''\r\n\t\t}\r\n\t}\r\n\r\n\treturn phoneDigits\r\n}\r\n\r\n/**\r\n * Converts phone number digits to a (possibly incomplete) E.164 phone number.\r\n * @param {string?} number - A possibly incomplete phone number digits string. Can be a possibly incomplete E.164 phone number.\r\n * @param {string?} country\r\n * @param {object} metadata - `libphonenumber-js` metadata.\r\n * @return {string?}\r\n */\r\nexport function e164(number, country, metadata) {\r\n\tif (!number) {\r\n\t\treturn\r\n\t}\r\n\t// If the phone number is being input in international format.\r\n\tif (number[0] === '+') {\r\n\t\t// If it's just the `+` sign then return nothing.\r\n\t\tif (number === '+') {\r\n\t\t\treturn\r\n\t\t}\r\n\t\t// Return a E.164 phone number.\r\n\t\t//\r\n\t\t// Could return `number` \"as is\" here, but there's a possibility\r\n\t\t// that some user might incorrectly input an international number\r\n\t\t// with a \"national prefix\". Such numbers aren't considered valid,\r\n\t\t// but `libphonenumber-js` is \"forgiving\" when it comes to parsing\r\n\t\t// user's input, and this input component follows that behavior.\r\n\t\t//\r\n\t\tconst asYouType = new AsYouType(country, metadata)\r\n\t\tasYouType.input(number)\r\n\t\t// This function would return `undefined` only when `number` is `\"+\"`,\r\n\t\t// but at this point it is known that `number` is not `\"+\"`.\r\n\t\treturn asYouType.getNumberValue()\r\n\t}\r\n\t// For non-international phone numbers\r\n\t// an accompanying country code is required.\r\n\t// The situation when `country` is `undefined`\r\n\t// and a non-international phone number is passed\r\n\t// to this function shouldn't happen.\r\n\tif (!country) {\r\n\t\treturn\r\n\t}\r\n\tconst partial_national_significant_number = getNationalSignificantNumberDigits(number, country, metadata)\r\n\t//\r\n\t// Even if no \"national (significant) number\" digits have been input,\r\n\t// still return a non-`undefined` value.\r\n\t// https://gitlab.com/catamphetamine/react-phone-number-input/-/issues/113\r\n\t//\r\n\t// For example, if the user has selected country `US` and entered `\"1\"`\r\n\t// then that `\"1\"` is just a \"national prefix\" and no \"national (significant) number\"\r\n\t// digits have been input yet. Still, return `\"+1\"` as `value` in such cases,\r\n\t// because otherwise the app would think that the input is empty and mark it as such\r\n\t// while in reality it isn't empty, which might be thought of as a \"bug\", or just\r\n\t// a \"weird\" behavior.\r\n\t//\r\n\t// if (partial_national_significant_number) {\r\n\t\treturn `+${getCountryCallingCode(country, metadata)}${partial_national_significant_number || ''}`\r\n\t// }\r\n}\r\n\r\n/**\r\n * Trims phone number digits if they exceed the maximum possible length\r\n * for a national (significant) number for the country.\r\n * @param {string} number - A possibly incomplete phone number digits string. Can be a possibly incomplete E.164 phone number.\r\n * @param {string} country\r\n * @param {object} metadata - `libphonenumber-js` metadata.\r\n * @return {string} Can be empty.\r\n */\r\nexport function trimNumber(number, country, metadata) {\r\n\tconst nationalSignificantNumberPart = getNationalSignificantNumberDigits(number, country, metadata)\r\n\tif (nationalSignificantNumberPart) {\r\n\t\tconst overflowDigitsCount = nationalSignificantNumberPart.length - getMaxNumberLength(country, metadata)\r\n\t\tif (overflowDigitsCount > 0) {\r\n\t\t\treturn number.slice(0, number.length - overflowDigitsCount)\r\n\t\t}\r\n\t}\r\n\treturn number\r\n}\r\n\r\nfunction getMaxNumberLength(country, metadata) {\r\n\t// Get \"possible lengths\" for a phone number of the country.\r\n\tmetadata = new Metadata(metadata)\r\n\tmetadata.selectNumberingPlan(country)\r\n\t// Return the last \"possible length\".\r\n\treturn metadata.numberingPlan.possibleLengths()[metadata.numberingPlan.possibleLengths().length - 1]\r\n}\r\n\r\n// If the phone number being input is an international one\r\n// then tries to derive the country from the phone number.\r\n// (regardless of whether there's any country currently selected)\r\n/**\r\n * @param {string} partialE164Number - A possibly incomplete E.164 phone number.\r\n * @param {string?} country - Currently selected country.\r\n * @param {string[]?} countries - A list of available countries. If not passed then \"all countries\" are assumed.\r\n * @param {object} metadata - `libphonenumber-js` metadata.\r\n * @return {string?}\r\n */\r\nexport function getCountryForPartialE164Number(partialE164Number, {\r\n\tcountry,\r\n\tcountries,\r\n\trequired,\r\n\tmetadata\r\n}) {\r\n\tif (partialE164Number === '+') {\r\n\t\t// Don't change the currently selected country yet.\r\n\t\treturn country\r\n\t}\r\n\r\n\tconst derived_country = getCountryFromPossiblyIncompleteInternationalPhoneNumber(partialE164Number, metadata)\r\n\r\n\t// If a phone number is being input in international form\r\n\t// and the country can already be derived from it,\r\n\t// then select that country.\r\n\tif (derived_country && (!countries || (countries.indexOf(derived_country) >= 0))) {\r\n\t\treturn derived_country\r\n\t}\r\n\t// If \"International\" country option has not been disabled\r\n\t// and the international phone number entered doesn't correspond\r\n\t// to the currently selected country then reset the currently selected country.\r\n\telse if (country &&\r\n\t\t!required &&\r\n\t\t!couldNumberBelongToCountry(partialE164Number, country, metadata)) {\r\n\t\treturn undefined\r\n\t}\r\n\r\n\t// Don't change the currently selected country.\r\n\treturn country\r\n}\r\n\r\n/**\r\n * Parses `` value. Derives `country` from `input`. Derives an E.164 `value`.\r\n * @param {string?} phoneDigits — Parsed `` value. Examples: `\"\"`, `\"+\"`, `\"+123\"`, `\"123\"`.\r\n * @param {string?} prevPhoneDigits — Previous parsed `` value. Examples: `\"\"`, `\"+\"`, `\"+123\"`, `\"123\"`.\r\n * @param {string?} country - Currently selected country.\r\n * @param {boolean} countryRequired - Is selecting some country required.\r\n * @param {function} getAnyCountry - Can be used to get any country when selecting some country required.\r\n * @param {string[]?} countries - A list of available countries. If not passed then \"all countries\" are assumed.\r\n * @param {boolean} international - Set to `true` to force international phone number format (leading `+`). Set to `false` to force \"national\" phone number format. Is `undefined` by default.\r\n * @param {boolean} limitMaxLength — Whether to enable limiting phone number max length.\r\n * @param {object} metadata - `libphonenumber-js` metadata.\r\n * @return {object} An object of shape `{ phoneDigits, country, value }`. `phoneDigits` returned here are a \"normalized\" version of the original `phoneDigits`. The returned `phoneDigits` shouldn't be used anywhere except for passing it as `prevPhoneDigits` parameter to this same function on next input change event.\r\n */\r\nexport function onPhoneDigitsChange(phoneDigits, {\r\n\tprevPhoneDigits,\r\n\tcountry,\r\n\tdefaultCountry,\r\n\tcountryRequired,\r\n\tgetAnyCountry,\r\n\tcountries,\r\n\tinternational,\r\n\tlimitMaxLength,\r\n\tcountryCallingCodeEditable,\r\n\tmetadata\r\n}) {\r\n\tif (international && countryCallingCodeEditable === false) {\r\n\t\tif (country) {\r\n\t\t\t// For international phone numbers written with non-editable country calling code,\r\n\t\t\t// the `` value must always start with that non-editable country calling code.\r\n\t\t\tconst prefix = getInternationalPhoneNumberPrefix(country, metadata)\r\n\t\t\t// If the input value doesn't start with the non-editable country calling code,\r\n\t\t\t// it should be fixed.\r\n\t\t\tif (phoneDigits.indexOf(prefix) !== 0) {\r\n\t\t\t\tlet value\r\n\t\t\t\t// If a phone number input is declared as\r\n\t\t\t\t// `international: true` and `countryCallingCodeEditable: false`,\r\n\t\t\t\t// then the value of the `` is gonna be non-empty at all times,\r\n\t\t\t\t// even before the user has started to input any digits in the input field,\r\n\t\t\t\t// because the country calling code is always there by design.\r\n\t\t\t\t//\r\n\t\t\t\t// The fact that the input value is always non-empty results in a side effect:\r\n\t\t\t\t// whenever a user tabs into such input field, its value gets automatically selected.\r\n\t\t\t\t// If at that moment in time the user starts typing in the national digits of the phone number,\r\n\t\t\t\t// the selected `` value gets automatically replaced by those typed-in digits\r\n\t\t\t\t// so the value changes from `+xxx` to `y`, because inputting anything while having\r\n\t\t\t\t// the `` value selected results in erasing that `` value.\r\n\t\t\t\t//\r\n\t\t\t\t// This component handles such cases by restoring the `` value to what\r\n\t\t\t\t// it should be in such cases: `+xxxy`.\r\n\t\t\t\t// https://gitlab.com/catamphetamine/react-phone-number-input/-/issues/43\r\n\t\t\t\t//\r\n\t\t\t\tconst hasStartedTypingInNationalNumberDigitsHavingInputValueSelected = phoneDigits && phoneDigits[0] !== '+'\r\n\t\t\t\tif (hasStartedTypingInNationalNumberDigitsHavingInputValueSelected) {\r\n\t\t\t\t\t// Fix the input value to what it should be: `y` → `+xxxy`.\r\n\t\t\t\t\tphoneDigits = prefix + phoneDigits\r\n\t\t\t\t\tvalue = e164(phoneDigits, country, metadata)\r\n\t\t\t\t} else {\r\n\t\t\t\t\t// In other cases, simply reset the `` value, because there're only two\r\n\t\t\t\t\t// possible cases:\r\n\t\t\t\t\t// * The user has selected the `` value and then hit Delete/Backspace to erase it.\r\n\t\t\t\t\t// * The user has pasted an international phone number for another country calling code,\r\n\t\t\t\t\t// which is considered a non-valid value.\r\n\t\t\t\t\tphoneDigits = prefix\r\n\t\t\t\t}\r\n\t\t\t\treturn {\r\n\t\t\t\t\tphoneDigits,\r\n\t\t\t\t\tvalue,\r\n\t\t\t\t\tcountry\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t// If `international` property is `false`, then it means\r\n\t// \"enforce national-only format during input\",\r\n\t// so, if that's the case, then remove all `+` characters,\r\n\t// but only if some country is currently selected.\r\n\t// (not if \"International\" country is selected).\r\n\tif (international === false && country && phoneDigits && phoneDigits[0] === '+') {\r\n\t\tphoneDigits = convertInternationalPhoneDigitsToNational(phoneDigits, country, metadata)\r\n\t}\r\n\r\n\t// Trim the input to not exceed the maximum possible number length.\r\n\tif (phoneDigits && country && limitMaxLength) {\r\n\t\tphoneDigits = trimNumber(phoneDigits, country, metadata)\r\n\t}\r\n\r\n\t// If this `onChange()` event was triggered\r\n\t// as a result of selecting \"International\" country,\r\n\t// then force-prepend a `+` sign if the phone number\r\n\t// `` value isn't in international format.\r\n\t// Also, force-prepend a `+` sign if international\r\n\t// phone number input format is set.\r\n\tif (phoneDigits && phoneDigits[0] !== '+' && (!country || international)) {\r\n\t\tphoneDigits = '+' + phoneDigits\r\n\t}\r\n\r\n\t// If the previously entered phone number\r\n\t// has been entered in international format\r\n\t// and the user decides to erase it,\r\n\t// then also reset the `country`\r\n\t// because it was most likely automatically selected\r\n\t// while the user was typing in the phone number\r\n\t// in international format.\r\n\t// This fixes the issue when a user is presented\r\n\t// with a phone number input with no country selected\r\n\t// and then types in their local phone number\r\n\t// then discovers that the input's messed up\r\n\t// (a `+` has been prepended at the start of their input\r\n\t// and a random country has been selected),\r\n\t// decides to undo it all by erasing everything\r\n\t// and then types in their local phone number again\r\n\t// resulting in a seemingly correct phone number\r\n\t// but in reality that phone number has incorrect country.\r\n\t// https://github.com/catamphetamine/react-phone-number-input/issues/273\r\n\tif (!phoneDigits && prevPhoneDigits && prevPhoneDigits[0] === '+') {\r\n\t\tif (international) {\r\n\t\t\tcountry = undefined\r\n\t\t} else {\r\n\t\t\tcountry = defaultCountry\r\n\t\t}\r\n\t}\r\n\t// Also resets such \"randomly\" selected country\r\n\t// as soon as the user erases the number\r\n\t// digit-by-digit up to the leading `+` sign.\r\n\tif (phoneDigits === '+' && prevPhoneDigits && prevPhoneDigits[0] === '+' && prevPhoneDigits.length > '+'.length) {\r\n\t\tcountry = undefined\r\n\t}\r\n\r\n\t// Generate the new `value` property.\r\n\tlet value\r\n\tif (phoneDigits) {\r\n\t\tif (phoneDigits[0] === '+') {\r\n\t\t\tif (phoneDigits === '+') {\r\n\t\t\t\tvalue = undefined\r\n\t\t\t} else if (country && getInternationalPhoneNumberPrefix(country, metadata).indexOf(phoneDigits) === 0) {\r\n\t\t\t\t// Selected a `country` and started inputting an\r\n\t\t\t\t// international phone number for this country\r\n\t\t\t\t// but hasn't input any \"national (significant) number\" digits yet.\r\n\t\t\t\t// In that case, assume `value` be `undefined`.\r\n\t\t\t\t//\r\n\t\t\t\t// For example, if selected `country` `\"US\"`\r\n\t\t\t\t// and started inputting phone number `\"+1\"`\r\n\t\t\t\t// then `value` `undefined` will be returned from this function.\r\n\t\t\t\t//\r\n\t\t\t\tvalue = undefined\r\n\t\t\t} else {\r\n\t\t\t\tvalue = e164(phoneDigits, country, metadata)\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tvalue = e164(phoneDigits, country, metadata)\r\n\t\t}\r\n\t}\r\n\r\n\t// Derive the country from the phone number.\r\n\t// (regardless of whether there's any country currently selected,\r\n\t// because there could be several countries corresponding to one country calling code)\r\n\tif (value) {\r\n\t\tcountry = getCountryForPartialE164Number(value, {\r\n\t\t\tcountry,\r\n\t\t\tcountries,\r\n\t\t\tmetadata\r\n\t\t})\r\n\t\t// If `international` property is `false`, then it means\r\n\t\t// \"enforce national-only format during input\",\r\n\t\t// so, if that's the case, then remove all `+` characters,\r\n\t\t// but only if some country is currently selected.\r\n\t\t// (not if \"International\" country is selected).\r\n\t\tif (international === false && country && phoneDigits && phoneDigits[0] === '+') {\r\n\t\t\tphoneDigits = convertInternationalPhoneDigitsToNational(phoneDigits, country, metadata)\r\n\t\t\t// Re-calculate `value` because `phoneDigits` has changed.\r\n\t\t\tvalue = e164(phoneDigits, country, metadata)\r\n\t\t}\r\n\t}\r\n\r\n\tif (!country && countryRequired) {\r\n\t\tcountry = defaultCountry || getAnyCountry()\r\n\t}\r\n\r\n\treturn {\r\n\t\t// `phoneDigits` returned here are a \"normalized\" version of the original `phoneDigits`.\r\n\t\t// The returned `phoneDigits` shouldn't be used anywhere except for passing it as\r\n\t\t// `prevPhoneDigits` parameter to this same function on next input change event.\r\n\t\tphoneDigits,\r\n\t\tcountry,\r\n\t\tvalue\r\n\t}\r\n}\r\n\r\nfunction convertInternationalPhoneDigitsToNational(input, country, metadata) {\r\n\t// Handle the case when a user might have pasted\r\n\t// a phone number in international format.\r\n\tif (input.indexOf(getInternationalPhoneNumberPrefix(country, metadata)) === 0) {\r\n\t\t// Create \"as you type\" formatter.\r\n\t\tconst formatter = new AsYouType(country, metadata)\r\n\t\t// Input partial national phone number.\r\n\t\tformatter.input(input)\r\n\t\t// Return the parsed partial national phone number.\r\n\t\tconst phoneNumber = formatter.getNumber()\r\n\t\tif (phoneNumber) {\r\n\t\t\t// Transform the number to a national one,\r\n\t\t\t// and remove all non-digits.\r\n\t\t\treturn phoneNumber.formatNational().replace(/\\D/g, '')\r\n\t\t} else {\r\n\t\t\treturn ''\r\n\t\t}\r\n\t} else {\r\n\t\t// Just remove the `+` sign.\r\n\t\treturn input.replace(/\\D/g, '')\r\n\t}\r\n}\r\n\r\n/**\r\n * Determines the country for a given (possibly incomplete) E.164 phone number.\r\n * @param {string} number - A possibly incomplete E.164 phone number.\r\n * @param {object} metadata - `libphonenumber-js` metadata.\r\n * @return {string?}\r\n */\r\nexport function getCountryFromPossiblyIncompleteInternationalPhoneNumber(number, metadata) {\r\n\tconst formatter = new AsYouType(null, metadata)\r\n\tformatter.input(number)\r\n\t// // `001` is a special \"non-geograpical entity\" code\r\n\t// // in Google's `libphonenumber` library.\r\n\t// if (formatter.getCountry() === '001') {\r\n\t// \treturn\r\n\t// }\r\n\treturn formatter.getCountry()\r\n}\r\n\r\n/**\r\n * Compares two strings.\r\n * A helper for `Array.sort()`.\r\n * @param {string} a — First string.\r\n * @param {string} b — Second string.\r\n * @param {(string[]|string)} [locales] — The `locales` argument of `String.localeCompare`.\r\n */\r\nexport function compareStrings(a, b, locales) {\r\n // Use `String.localeCompare` if it's available.\r\n // https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/String/localeCompare\r\n // Which means everyone except IE <= 10 and Safari <= 10.\r\n // `localeCompare()` is available in latest Node.js versions.\r\n /* istanbul ignore else */\r\n if (String.prototype.localeCompare) {\r\n return a.localeCompare(b, locales);\r\n }\r\n /* istanbul ignore next */\r\n return a < b ? -1 : (a > b ? 1 : 0);\r\n}\r\n\r\n/**\r\n * Strips `+${countryCallingCode}` prefix from an E.164 phone number.\r\n * @param {string} number - (possibly incomplete) E.164 phone number.\r\n * @param {string?} country - A possible country for this phone number.\r\n * @param {object} metadata - `libphonenumber-js` metadata.\r\n * @return {string}\r\n */\r\nexport function stripCountryCallingCode(number, country, metadata) {\r\n\t// Just an optimization, so that it\r\n\t// doesn't have to iterate through all country calling codes.\r\n\tif (country) {\r\n\t\tconst countryCallingCodePrefix = '+' + getCountryCallingCode(country, metadata)\r\n\r\n\t\t// If `country` fits the actual `number`.\r\n\t\tif (number.length < countryCallingCodePrefix.length) {\r\n\t\t\tif (countryCallingCodePrefix.indexOf(number) === 0) {\r\n\t\t\t\treturn ''\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tif (number.indexOf(countryCallingCodePrefix) === 0) {\r\n\t\t\t\treturn number.slice(countryCallingCodePrefix.length)\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t// If `country` doesn't fit the actual `number`.\r\n\t// Try all available country calling codes.\r\n\tfor (const country_calling_code of Object.keys(metadata.country_calling_codes)) {\r\n\t\tif (number.indexOf(country_calling_code) === '+'.length) {\r\n\t\t\treturn number.slice('+'.length + country_calling_code.length)\r\n\t\t}\r\n\t}\r\n\r\n\treturn ''\r\n}\r\n\r\n/**\r\n * Parses a partially entered national phone number digits\r\n * (or a partially entered E.164 international phone number)\r\n * and returns the national significant number part.\r\n * National significant number returned doesn't come with a national prefix.\r\n * @param {string} number - National number digits. Or possibly incomplete E.164 phone number.\r\n * @param {string?} country\r\n * @param {object} metadata - `libphonenumber-js` metadata.\r\n * @return {string} [result]\r\n */\r\nexport function getNationalSignificantNumberDigits(number, country, metadata) {\r\n\t// Create \"as you type\" formatter.\r\n\tconst formatter = new AsYouType(country, metadata)\r\n\t// Input partial national phone number.\r\n\tformatter.input(number)\r\n\t// Return the parsed partial national phone number.\r\n\tconst phoneNumber = formatter.getNumber()\r\n\treturn phoneNumber && phoneNumber.nationalNumber\r\n}\r\n\r\n/**\r\n * Checks if a partially entered E.164 phone number could belong to a country.\r\n * @param {string} number\r\n * @param {string} country\r\n * @return {boolean}\r\n */\r\nexport function couldNumberBelongToCountry(number, country, metadata) {\r\n\tconst intlPhoneNumberPrefix = getInternationalPhoneNumberPrefix(country, metadata)\r\n\tlet i = 0\r\n\twhile (i < number.length && i < intlPhoneNumberPrefix.length) {\r\n\t\tif (number[i] !== intlPhoneNumberPrefix[i]) {\r\n\t\t\treturn false\r\n\t\t}\r\n\t\ti++\r\n\t}\r\n\treturn true\r\n}\r\n\r\n/**\r\n * Gets initial \"phone digits\" (including `+`, if using international format).\r\n * @return {string} [phoneDigits] Returns `undefined` if there should be no initial \"phone digits\".\r\n */\r\nexport function getInitialPhoneDigits({\r\n\tvalue,\r\n\tphoneNumber,\r\n\tdefaultCountry,\r\n\tinternational,\r\n\tuseNationalFormat,\r\n\tmetadata\r\n}) {\r\n\t// If the `value` (E.164 phone number)\r\n\t// belongs to the currently selected country\r\n\t// and `useNationalFormat` is `true`\r\n\t// then convert `value` (E.164 phone number)\r\n\t// to a local phone number digits.\r\n\t// E.g. '+78005553535' -> '88005553535'.\r\n\tif ((international === false || useNationalFormat) && phoneNumber && phoneNumber.country) {\r\n\t\treturn generateNationalNumberDigits(phoneNumber)\r\n\t}\r\n\t// If `international` property is `true`,\r\n\t// meaning \"enforce international phone number format\",\r\n\t// then always show country calling code in the input field.\r\n\tif (!value && international && defaultCountry) {\r\n\t\treturn getInternationalPhoneNumberPrefix(defaultCountry, metadata)\r\n\t}\r\n\treturn value\r\n}","import {\r\n\tgetInitialPhoneDigits,\r\n\tgetCountryForPartialE164Number,\r\n\tparsePhoneNumber\r\n} from './phoneInputHelpers.js'\r\n\r\nimport getInternationalPhoneNumberPrefix from './getInternationalPhoneNumberPrefix.js'\r\n\r\nimport {\r\n\tisCountrySupportedWithError,\r\n\tgetSupportedCountries\r\n} from './countries.js'\r\n\r\nexport default function getPhoneInputWithCountryStateUpdateFromNewProps(props, prevProps, state) {\r\n\tconst {\r\n\t\tmetadata,\r\n\t\tcountries,\r\n\t\tdefaultCountry: newDefaultCountry,\r\n\t\tvalue: newValue,\r\n\t\treset: newReset,\r\n\t\tinternational,\r\n\t\t// `displayInitialValueAsLocalNumber` property has been\r\n\t\t// superceded by `initialValueFormat` property.\r\n\t\tdisplayInitialValueAsLocalNumber,\r\n\t\tinitialValueFormat\r\n\t} = props\r\n\r\n\tconst {\r\n\t\tdefaultCountry: prevDefaultCountry,\r\n\t\tvalue: prevValue,\r\n\t\treset: prevReset\r\n\t} = prevProps\r\n\r\n\tconst {\r\n\t\tcountry,\r\n\t\tvalue,\r\n\t\t// If the user has already manually selected a country\r\n\t\t// then don't override that already selected country\r\n\t\t// if the `defaultCountry` property changes.\r\n\t\t// That's what `hasUserSelectedACountry` flag is for.\r\n\t\thasUserSelectedACountry\r\n\t} = state\r\n\r\n\tconst _getInitialPhoneDigits = (parameters) => getInitialPhoneDigits({\r\n\t\t...parameters,\r\n\t\tinternational,\r\n\t\tuseNationalFormat: displayInitialValueAsLocalNumber || initialValueFormat === 'national',\r\n\t\tmetadata\r\n\t})\r\n\r\n\t// Some users requested a way to reset the component\r\n\t// (both number `` and country ``\r\n\t// and country ``.\r\n\t// It's also not replaced with just resetting `country` on\r\n\t// external `value` reset, because a user could select a country\r\n\t// and then not input any `value`, and so the selected country\r\n\t// would be \"stuck\", if not using this `reset` property.\r\n\t// https://github.com/catamphetamine/react-phone-number-input/issues/300\r\n\tif (newReset !== prevReset) {\r\n\t\treturn {\r\n\t\t\tphoneDigits: _getInitialPhoneDigits({\r\n\t\t\t\tvalue: undefined,\r\n\t\t\t\tdefaultCountry: newDefaultCountry\r\n\t\t\t}),\r\n\t\t\tvalue: undefined,\r\n\t\t\tcountry: newDefaultCountry,\r\n\t\t\thasUserSelectedACountry: undefined\r\n\t\t}\r\n\t}\r\n\r\n\t// `value` is the value currently shown in the component:\r\n\t// it's stored in the component's `state`, and it's not the `value` property.\r\n\t// `prevValue` is \"previous `value` property\".\r\n\t// `newValue` is \"new `value` property\".\r\n\r\n\t// If the default country changed\r\n\t// (e.g. in case of ajax GeoIP detection after page loaded)\r\n\t// then select it, but only if the user hasn't already manually\r\n\t// selected a country, and no phone number has been manually entered so far.\r\n\t// Because if the user has already started inputting a phone number\r\n\t// then they're okay with no country being selected at all (\"International\")\r\n\t// and they don't want to be disturbed, don't want their input to be screwed, etc.\r\n\tif (newDefaultCountry !== prevDefaultCountry) {\r\n\t\tconst isNewDefaultCountrySupported = !newDefaultCountry || isCountrySupportedWithError(newDefaultCountry, metadata)\r\n\t\tconst noValueHasBeenEnteredByTheUser = (\r\n\t\t\t// By default, \"no value has been entered\" means `value` is `undefined`.\r\n\t\t\t!value ||\r\n\t\t\t// When `international` is `true`, and some country has been pre-selected,\r\n\t\t\t// then the `` contains a pre-filled value of `+${countryCallingCode}${leadingDigits}`,\r\n\t\t\t// so in case of `international` being `true`, \"the user hasn't entered anything\" situation\r\n\t\t\t// doesn't just mean `value` is `undefined`, but could also mean `value` is `+${countryCallingCode}`.\r\n\t\t\t(international && value === _getInitialPhoneDigits({\r\n\t\t\t\tvalue: undefined,\r\n\t\t\t\tdefaultCountry: prevDefaultCountry\r\n\t\t\t}))\r\n\t\t)\r\n\t\t// Only update the `defaultCountry` property if no phone number\r\n\t\t// has been entered by the user or pre-set by the application.\r\n\t\tconst noValueHasBeenEntered = !newValue && noValueHasBeenEnteredByTheUser\r\n\t\tif (!hasUserSelectedACountry && isNewDefaultCountrySupported && noValueHasBeenEntered) {\r\n\t\t\treturn {\r\n\t\t\t\tcountry: newDefaultCountry,\r\n\t\t\t\t// If `phoneDigits` is empty, then automatically select the new `country`\r\n\t\t\t\t// and set `phoneDigits` to `+{getCountryCallingCode(newCountry)}`.\r\n\t\t\t\t// The code assumes that \"no phone number has been entered by the user\",\r\n\t\t\t\t// and no `value` property has been passed, so the `phoneNumber` parameter\r\n\t\t\t\t// of `_getInitialPhoneDigits({ value, phoneNumber, ... })` is `undefined`.\r\n\t\t\t\tphoneDigits: _getInitialPhoneDigits({\r\n\t\t\t\t\tvalue: undefined,\r\n\t\t\t\t\tdefaultCountry: newDefaultCountry\r\n\t\t\t\t}),\r\n\t\t\t\t// `value` is `undefined` and it stays so.\r\n\t\t\t\tvalue: undefined\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t// If a new `value` is set externally.\r\n\t// (e.g. as a result of an ajax API request\r\n\t// to get user's phone after page loaded)\r\n\t// The first part — `newValue !== prevValue` —\r\n\t// is basically `props.value !== prevProps.value`\r\n\t// so it means \"if value property was changed externally\".\r\n\t// The second part — `newValue !== value` —\r\n\t// is for ignoring the `getDerivedStateFromProps()` call\r\n\t// which happens in `this.onChange()` right after `this.setState()`.\r\n\t// If this `getDerivedStateFromProps()` call isn't ignored\r\n\t// then the country flag would reset on each input.\r\n\tif (!valuesAreEqual(newValue, prevValue) && !valuesAreEqual(newValue, value)) {\r\n\t\tlet phoneNumber\r\n\t\tlet parsedCountry\r\n\t\tif (newValue) {\r\n\t\t\tphoneNumber = parsePhoneNumber(newValue, metadata)\r\n\t\t\tconst supportedCountries = getSupportedCountries(countries, metadata)\r\n\t\t\tif (phoneNumber && phoneNumber.country) {\r\n\t\t\t\t// Ignore `else` because all countries are supported in metadata.\r\n\t\t\t\t/* istanbul ignore next */\r\n\t\t\t\tif (!supportedCountries || supportedCountries.indexOf(phoneNumber.country) >= 0) {\r\n\t\t\t\t\tparsedCountry = phoneNumber.country\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tparsedCountry = getCountryForPartialE164Number(newValue, {\r\n\t\t\t\t\tcountry: undefined,\r\n\t\t\t\t\tcountries: supportedCountries,\r\n\t\t\t\t\tmetadata\r\n\t\t\t\t})\r\n\t\t\t\t// In cases when multiple countries correspond to the same country calling code,\r\n\t\t\t\t// the phone number digits of `newValue` have to be matched against country-specific\r\n\t\t\t\t// regular expressions in order to determine the exact country.\r\n\t\t\t\t// Sometimes, that algorithm can't decide for sure which country does the phone number belong to,\r\n\t\t\t\t// for example when the digits of `newValue` don't match any of those regular expressions.\r\n\t\t\t\t// and the country of the phone number couldn't be determined.\r\n\t\t\t\t// In those cases, people prefer the component to show the flag of the `defaultCountry`\r\n\t\t\t\t// if the phone number could potentially belong to that `defaultCountry`.\r\n\t\t\t\t// At least that's how the component behaves when a user pastes an international\r\n\t\t\t\t// phone number into the input field: for example, when `defaultCountry` is `\"US\"`\r\n\t\t\t\t// and the user pastes value \"+1 555 555 5555\" into the input field, it keep showing \"US\" flag.\r\n\t\t\t\t// So when setting new `value` property externally, the component should behave the same way:\r\n\t\t\t\t// it should select the `defaultCountry` when the new `value` could potentially belong\r\n\t\t\t\t// to that country in cases when the exact country can't be determined.\r\n\t\t\t\t// https://github.com/catamphetamine/react-phone-number-input/issues/413#issuecomment-1536219404\r\n\t\t\t\tif (!parsedCountry) {\r\n\t\t\t\t\tif (newDefaultCountry) {\r\n\t\t\t\t\t\tif (newValue.indexOf(getInternationalPhoneNumberPrefix(newDefaultCountry, metadata)) === 0) {\r\n\t\t\t\t\t\t\tparsedCountry = newDefaultCountry\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\tlet hasUserSelectedACountryUpdate\r\n\t\tif (!newValue) {\r\n\t\t\t// Reset `hasUserSelectedACountry` flag in `state`.\r\n\t\t\thasUserSelectedACountryUpdate = {\r\n\t\t\t\thasUserSelectedACountry: undefined\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn {\r\n\t\t\t...hasUserSelectedACountryUpdate,\r\n\t\t\tphoneDigits: _getInitialPhoneDigits({\r\n\t\t\t\tphoneNumber,\r\n\t\t\t\tvalue: newValue,\r\n\t\t\t\tdefaultCountry: newDefaultCountry\r\n\t\t\t}),\r\n\t\t\tvalue: newValue,\r\n\t\t\tcountry: newValue ? parsedCountry : newDefaultCountry\r\n\t\t}\r\n\t}\r\n\r\n\t// `defaultCountry` didn't change.\r\n\t// `value` didn't change.\r\n\t// `phoneDigits` didn't change, because `value` didn't change.\r\n\t//\r\n\t// So no need to update state.\r\n}\r\n\r\nfunction valuesAreEqual(value1, value2) {\r\n\t// If `value` has been set to `null` externally then convert it to `undefined`.\r\n\t//\r\n\t// For example, `react-hook-form` sets `value` to `null` when the user clears the input.\r\n\t// https://gitlab.com/catamphetamine/react-phone-number-input/-/issues/164\r\n\t// In that case, without this conversion of `null` to `undefined`, it would reset\r\n\t// the selected country to `defaultCountry` because in that case `newValue !== value`\r\n\t// because `null !== undefined`.\r\n\t//\r\n\t// Historically, empty `value` is encoded as `undefined`.\r\n\t// Perhaps empty `value` would be better encoded as `null` instead.\r\n\t// But because that would be a potentially breaking change for some people,\r\n\t// it's left as is for the current \"major\" version of this library.\r\n\t//\r\n\tif (value1 === null) {\r\n\t\tvalue1 = undefined\r\n\t}\r\n\tif (value2 === null) {\r\n\t\tvalue2 = undefined\r\n\t}\r\n\treturn value1 === value2\r\n}","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport classNames from 'classnames'\r\n\r\nimport InputSmart from './InputSmart.js'\r\nimport InputBasic from './InputBasic.js'\r\n\r\nimport { CountrySelectWithIcon as CountrySelect } from './CountrySelect.js'\r\n\r\nimport Flag from './Flag.js'\r\nimport InternationalIcon from './InternationalIcon.js'\r\n\r\nimport {\r\n\tsortCountryOptions,\r\n\tisCountrySupportedWithError,\r\n\tgetSupportedCountries,\r\n\tgetSupportedCountryOptions,\r\n\tgetCountries\r\n} from './helpers/countries.js'\r\n\r\nimport { createCountryIconComponent } from './CountryIcon.js'\r\n\r\nimport {\r\n\tmetadata as metadataPropType,\r\n\tlabels as labelsPropType\r\n} from './PropTypes.js'\r\n\r\nimport {\r\n\tgetPreSelectedCountry,\r\n\tgetCountrySelectOptions,\r\n\tparsePhoneNumber,\r\n\tgenerateNationalNumberDigits,\r\n\tgetPhoneDigitsForNewCountry,\r\n\tgetInitialPhoneDigits,\r\n\tonPhoneDigitsChange,\r\n\te164\r\n} from './helpers/phoneInputHelpers.js'\r\n\r\nimport getPhoneInputWithCountryStateUpdateFromNewProps from './helpers/getPhoneInputWithCountryStateUpdateFromNewProps.js'\r\n\r\nclass PhoneNumberInput_ extends React.PureComponent {\r\n\tconstructor(props) {\r\n\t\tsuper(props)\r\n\r\n\t\tthis.inputRef = React.createRef()\r\n\r\n\t\tconst {\r\n\t\t\tvalue,\r\n\t\t\tlabels,\r\n\t\t\tinternational,\r\n\t\t\taddInternationalOption,\r\n\t\t\t// `displayInitialValueAsLocalNumber` property has been\r\n\t\t\t// superceded by `initialValueFormat` property.\r\n\t\t\tdisplayInitialValueAsLocalNumber,\r\n\t\t\tinitialValueFormat,\r\n\t\t\tmetadata\r\n\t\t} = this.props\r\n\r\n\t\tlet {\r\n\t\t\tdefaultCountry,\r\n\t\t\tcountries\r\n\t\t} = this.props\r\n\r\n\t\t// Validate `defaultCountry`.\r\n\t\tif (defaultCountry) {\r\n\t\t\tif (!this.isCountrySupportedWithError(defaultCountry)) {\r\n\t\t\t\tdefaultCountry = undefined\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// Validate `countries`.\r\n\t\tcountries = getSupportedCountries(countries, metadata)\r\n\r\n\t\tconst phoneNumber = parsePhoneNumber(value, metadata)\r\n\r\n\t\tthis.CountryIcon = createCountryIconComponent(this.props)\r\n\r\n\t\tconst preSelectedCountry = getPreSelectedCountry({\r\n\t\t\tvalue,\r\n\t\t\tphoneNumber,\r\n\t\t\tdefaultCountry,\r\n\t\t\trequired: !addInternationalOption,\r\n\t\t\tcountries: countries || getCountries(metadata),\r\n\t\t\tgetAnyCountry: () => this.getFirstSupportedCountry({ countries }),\r\n\t\t\tmetadata\r\n\t\t})\r\n\r\n\t\tthis.state = {\r\n\t\t\t// Workaround for `this.props` inside `getDerivedStateFromProps()`.\r\n\t\t\tprops: this.props,\r\n\r\n\t\t\t// The country selected.\r\n\t\t\tcountry: preSelectedCountry,\r\n\r\n\t\t\t// `countries` are stored in `this.state` because they're filtered.\r\n\t\t\t// For example, a developer might theoretically pass some unsupported\r\n\t\t\t// countries as part of the `countries` property, and because of that\r\n\t\t\t// the component uses `this.state.countries` (which are filtered)\r\n\t\t\t// instead of `this.props.countries`\r\n\t\t\t// (which could potentially contain unsupported countries).\r\n\t\t\tcountries,\r\n\r\n\t\t\t// `phoneDigits` state property holds non-formatted user's input.\r\n\t\t\t// The reason is that there's no way of finding out\r\n\t\t\t// in which form should `value` be displayed: international or national.\r\n\t\t\t// E.g. if `value` is `+78005553535` then it could be input\r\n\t\t\t// by a user both as `8 (800) 555-35-35` and `+7 800 555 35 35`.\r\n\t\t\t// Hence storing just `value` is not sufficient for correct formatting.\r\n\t\t\t// E.g. if a user entered `8 (800) 555-35-35`\r\n\t\t\t// then value is `+78005553535` and `phoneDigits` are `88005553535`\r\n\t\t\t// and if a user entered `+7 800 555 35 35`\r\n\t\t\t// then value is `+78005553535` and `phoneDigits` are `+78005553535`.\r\n\t\t\tphoneDigits: getInitialPhoneDigits({\r\n\t\t\t\tvalue,\r\n\t\t\t\tphoneNumber,\r\n\t\t\t\tdefaultCountry,\r\n\t\t\t\tinternational,\r\n\t\t\t\tuseNationalFormat: displayInitialValueAsLocalNumber || initialValueFormat === 'national',\r\n\t\t\t\tmetadata\r\n\t\t\t}),\r\n\r\n\t\t\t// `value` property is duplicated in state.\r\n\t\t\t// The reason is that `getDerivedStateFromProps()`\r\n\t\t\t// needs this `value` to compare to the new `value` property\r\n\t\t\t// to find out if `phoneDigits` needs updating:\r\n\t\t\t// If the `value` property was changed externally\r\n\t\t\t// then it won't be equal to `state.value`\r\n\t\t\t// in which case `phoneDigits` and `country` should be updated.\r\n\t\t\tvalue\r\n\t\t}\r\n\t}\r\n\r\n\tcomponentDidMount() {\r\n\t\tconst { onCountryChange } = this.props\r\n\t\tlet { defaultCountry } = this.props\r\n\t\tconst { country: selectedCountry } = this.state\r\n\t\tif (onCountryChange) {\r\n\t\t\tif (defaultCountry) {\r\n\t\t\t\tif (!this.isCountrySupportedWithError(defaultCountry)) {\r\n\t\t\t\t\tdefaultCountry = undefined\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (selectedCountry !== defaultCountry) {\r\n\t\t\t\tonCountryChange(selectedCountry)\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tcomponentDidUpdate(prevProps, prevState) {\r\n\t\tconst { onCountryChange } = this.props\r\n\t\tconst { country } = this.state\r\n\t\t// Call `onCountryChange` when user selects another country.\r\n\t\tif (onCountryChange && country !== prevState.country) {\r\n\t\t\tonCountryChange(country)\r\n\t\t}\r\n\t}\r\n\r\n\tsetInputRef = (instance) => {\r\n\t\tthis.inputRef.current = instance\r\n\t\tconst { inputRef: ref } = this.props\r\n\t\tif (ref) {\r\n\t\t\tif (typeof ref === 'function') {\r\n\t\t\t\tref(instance)\r\n\t\t\t} else {\r\n\t\t\t\tref.current = instance\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tgetCountrySelectOptions({ countries }) {\r\n\t\tconst {\r\n\t\t\tinternational,\r\n\t\t\tcountryCallingCodeEditable,\r\n\t\t\tcountryOptionsOrder,\r\n\t\t\taddInternationalOption,\r\n\t\t\tlabels,\r\n\t\t\tlocales,\r\n\t\t\tmetadata\r\n\t\t} = this.props\r\n\t\treturn this.useMemoCountrySelectOptions(() => {\r\n\t\t\treturn sortCountryOptions(\r\n\t\t\t\tgetCountrySelectOptions({\r\n\t\t\t\t\tcountries: countries || getCountries(metadata),\r\n\t\t\t\t\tcountryNames: labels,\r\n\t\t\t\t\taddInternationalOption: (international && countryCallingCodeEditable === false) ? false : addInternationalOption,\r\n\t\t\t\t\tcompareStringsLocales: locales,\r\n\t\t\t\t\t// compareStrings\r\n\t\t\t\t}),\r\n\t\t\t\tgetSupportedCountryOptions(countryOptionsOrder, metadata)\r\n\t\t\t)\r\n\t\t}, [\r\n\t\t\tcountries,\r\n\t\t\tcountryOptionsOrder,\r\n\t\t\taddInternationalOption,\r\n\t\t\tlabels,\r\n\t\t\tmetadata\r\n\t\t])\r\n\t}\r\n\r\n\tuseMemoCountrySelectOptions(generator, dependencies) {\r\n\t\tif (\r\n\t\t\t!this.countrySelectOptionsMemoDependencies ||\r\n\t\t\t!areEqualArrays(dependencies, this.countrySelectOptionsMemoDependencies)\r\n\t\t) {\r\n\t\t\tthis.countrySelectOptionsMemo = generator()\r\n\t\t\tthis.countrySelectOptionsMemoDependencies = dependencies\r\n\t\t}\r\n\t\treturn this.countrySelectOptionsMemo\r\n\t}\r\n\r\n\tgetFirstSupportedCountry({ countries }) {\r\n\t\tconst countryOptions = this.getCountrySelectOptions({ countries })\r\n\t\treturn countryOptions[0].value\r\n\t}\r\n\r\n\t// A shorthand for not passing `metadata` as a second argument.\r\n\tisCountrySupportedWithError = (country) => {\r\n\t\tconst { metadata } = this.props\r\n\t\treturn isCountrySupportedWithError(country, metadata)\r\n\t}\r\n\r\n\t// Country `` holds any digits\r\n\t\t// then migrate those digits for the new `country`.\r\n\t\tconst newPhoneDigits = getPhoneDigitsForNewCountry(prevPhoneDigits, {\r\n\t\t\tprevCountry,\r\n\t\t\tnewCountry,\r\n\t\t\tmetadata,\r\n\t\t\t// Convert the phone number to \"national\" format\r\n\t\t\t// when the user changes the selected country by hand.\r\n\t\t\tuseNationalFormat: !international\r\n\t\t})\r\n\r\n\t\tconst newValue = e164(newPhoneDigits, newCountry, metadata)\r\n\r\n\t\t// Focus phone number `` upon country selection.\r\n\t\tif (focusInputOnCountrySelection) {\r\n\t\t\tthis.inputRef.current.focus()\r\n\t\t}\r\n\r\n\t\t// If the user has already manually selected a country\r\n\t\t// then don't override that already selected country\r\n\t\t// if the `defaultCountry` property changes.\r\n\t\t// That's what `hasUserSelectedACountry` flag is for.\r\n\r\n\t\tthis.setState({\r\n\t\t\tcountry: newCountry,\r\n\t\t\thasUserSelectedACountry: true,\r\n\t\t\tphoneDigits: newPhoneDigits,\r\n\t\t\tvalue: newValue\r\n\t\t},\r\n\t\t() => {\r\n\t\t\t// Update the new `value` property.\r\n\t\t\t// Doing it after the `state` has been updated\r\n\t\t\t// because `onChange()` will trigger `getDerivedStateFromProps()`\r\n\t\t\t// with the new `value` which will be compared to `state.value` there.\r\n\t\t\tonChange(newValue)\r\n\t\t})\r\n\t}\r\n\r\n\t/**\r\n\t * `` `onChange()` handler.\r\n\t * Updates `value` property accordingly (so that they are kept in sync).\r\n\t * @param {string?} input — Either a parsed phone number or an empty string. Examples: `\"\"`, `\"+\"`, `\"+123\"`, `\"123\"`.\r\n\t */\r\n\tonChange = (_phoneDigits) => {\r\n\t\tconst {\r\n\t\t\tdefaultCountry,\r\n\t\t\tonChange,\r\n\t\t\taddInternationalOption,\r\n\t\t\tinternational,\r\n\t\t\tlimitMaxLength,\r\n\t\t\tcountryCallingCodeEditable,\r\n\t\t\tmetadata\r\n\t\t} = this.props\r\n\r\n\t\tconst {\r\n\t\t\tcountries,\r\n\t\t\tphoneDigits: prevPhoneDigits,\r\n\t\t\tcountry: currentlySelectedCountry\r\n\t\t} = this.state\r\n\r\n\t\tconst {\r\n\t\t\t// `phoneDigits` returned here are a \"normalized\" version of the original `phoneDigits`.\r\n\t\t\t// The returned `phoneDigits` shouldn't be used anywhere except for passing it as\r\n\t\t\t// `prevPhoneDigits` parameter to the same `onPhoneDigitsChange()` function\r\n\t\t\t// on next input change event.\r\n\t\t\tphoneDigits,\r\n\t\t\tcountry,\r\n\t\t\tvalue\r\n\t\t} = onPhoneDigitsChange(_phoneDigits, {\r\n\t\t\tprevPhoneDigits,\r\n\t\t\tcountry: currentlySelectedCountry,\r\n\t\t\tcountryRequired: !addInternationalOption,\r\n\t\t\tdefaultCountry,\r\n\t\t\tgetAnyCountry: () => this.getFirstSupportedCountry({ countries }),\r\n\t\t\tcountries,\r\n\t\t\tinternational,\r\n\t\t\tlimitMaxLength,\r\n\t\t\tcountryCallingCodeEditable,\r\n\t\t\tmetadata\r\n\t\t})\r\n\r\n\t\tconst stateUpdate = {\r\n\t\t\tphoneDigits,\r\n\t\t\tvalue,\r\n\t\t\tcountry\r\n\t\t}\r\n\r\n\t\tif (countryCallingCodeEditable === false) {\r\n\t\t\t// If it simply did `setState({ phoneDigits: intlPrefix })` here,\r\n\t\t\t// then it would have no effect when erasing an inital international prefix\r\n\t\t\t// via Backspace, because `phoneDigits` in `state` wouldn't change\r\n\t\t\t// as a result, because it was `prefix` and it became `prefix`,\r\n\t\t\t// so the component wouldn't rerender, and the user would be able\r\n\t\t\t// to erase the country calling code part, and that part is\r\n\t\t\t// assumed to be non-eraseable. That's why the component is\r\n\t\t\t// forcefully rerendered here.\r\n\t\t\t// https://github.com/catamphetamine/react-phone-number-input/issues/367#issuecomment-721703501\r\n\t\t\tif (!value && phoneDigits === this.state.phoneDigits) {\r\n\t\t\t\t// Force a re-render of the `` in order to reset its value.\r\n\t\t\t\tstateUpdate.forceRerender = {}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tthis.setState(\r\n\t\t\tstateUpdate,\r\n\t\t\t// Update the new `value` property.\r\n\t\t\t// Doing it after the `state` has been updated\r\n\t\t\t// because `onChange()` will trigger `getDerivedStateFromProps()`\r\n\t\t\t// with the new `value` which will be compared to `state.value` there.\r\n\t\t\t() => onChange(value)\r\n\t\t)\r\n\t}\r\n\r\n\t// Toggles the `--focus` CSS class.\r\n\t_onFocus = () => this.setState({ isFocused: true })\r\n\r\n\t// Toggles the `--focus` CSS class.\r\n\t_onBlur = () => this.setState({ isFocused: false })\r\n\r\n\tonFocus = (event) => {\r\n\t\tthis._onFocus()\r\n\t\tconst { onFocus } = this.props\r\n\t\tif (onFocus) {\r\n\t\t\tonFocus(event)\r\n\t\t}\r\n\t}\r\n\r\n\tonBlur = (event) => {\r\n\t\tconst { onBlur } = this.props\r\n\t\tthis._onBlur()\r\n\t\tif (onBlur) {\r\n\t\t\tonBlur(event)\r\n\t\t}\r\n\t}\r\n\r\n\tonCountryFocus = (event) => {\r\n\t\tthis._onFocus()\r\n\t\t// this.setState({ countrySelectFocused: true })\r\n\t\tconst { countrySelectProps } = this.props\r\n\t\tif (countrySelectProps) {\r\n\t\t\tconst { onFocus } = countrySelectProps\r\n\t\t\tif (onFocus) {\r\n\t\t\t\tonFocus(event)\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tonCountryBlur = (event) => {\r\n\t\tthis._onBlur()\r\n\t\t// this.setState({ countrySelectFocused: false })\r\n\t\tconst { countrySelectProps } = this.props\r\n\t\tif (countrySelectProps) {\r\n\t\t\tconst { onBlur } = countrySelectProps\r\n\t\t\tif (onBlur) {\r\n\t\t\t\tonBlur(event)\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t// `state` holds previous props as `props`, and also:\r\n\t// * `country` — The currently selected country, e.g. `\"RU\"`.\r\n\t// * `value` — The currently entered phone number (E.164), e.g. `+78005553535`.\r\n\t// * `phoneDigits` — The parsed `` value, e.g. `8005553535`.\r\n\t// (and a couple of other less significant properties)\r\n\tstatic getDerivedStateFromProps(props, state) {\r\n\t\treturn {\r\n\t\t\t// Emulate `prevProps` via `state.props`.\r\n\t\t\tprops,\r\n\t\t\t...getPhoneInputWithCountryStateUpdateFromNewProps(props, state.props, state)\r\n\t\t}\r\n\t}\r\n\r\n\trender() {\r\n\t\tconst {\r\n\t\t\t// Generic HTML attributes.\r\n\t\t\tname,\r\n\t\t\tdisabled,\r\n\t\t\treadOnly,\r\n\t\t\tautoComplete,\r\n\t\t\tstyle,\r\n\t\t\tclassName,\r\n\r\n\t\t\t// Number `` properties.\r\n\t\t\tinputRef,\r\n\t\t\tinputComponent,\r\n\t\t\tnumberInputProps,\r\n\t\t\tsmartCaret,\r\n\r\n\t\t\t// Country ``).\r\n\t\t\tdefaultCountry,\r\n\t\t\tcountries: countriesProperty,\r\n\t\t\tcountryOptionsOrder,\r\n\t\t\tlabels,\r\n\t\t\tflags,\r\n\t\t\tflagComponent,\r\n\t\t\tflagUrl,\r\n\t\t\taddInternationalOption,\r\n\t\t\tinternationalIcon,\r\n\t\t\t// `displayInitialValueAsLocalNumber` property has been\r\n\t\t\t// superceded by `initialValueFormat` property.\r\n\t\t\tdisplayInitialValueAsLocalNumber,\r\n\t\t\tinitialValueFormat,\r\n\t\t\tonCountryChange,\r\n\t\t\tlimitMaxLength,\r\n\t\t\tcountryCallingCodeEditable,\r\n\t\t\tfocusInputOnCountrySelection,\r\n\t\t\treset,\r\n\t\t\tmetadata,\r\n\t\t\tinternational,\r\n\t\t\tlocales,\r\n\t\t\t// compareStrings,\r\n\t\t\t...rest\r\n\t\t} = this.props\r\n\r\n\t\tconst {\r\n\t\t\tcountry,\r\n\t\t\tcountries,\r\n\t\t\tphoneDigits,\r\n\t\t\tisFocused\r\n\t\t} = this.state\r\n\r\n\t\tconst InputComponent = smartCaret ? InputSmart : InputBasic\r\n\r\n\t\tconst countrySelectOptions = this.getCountrySelectOptions({ countries })\r\n\r\n\t\treturn (\r\n\t\t\t\r\n\r\n\t\t\t\t{/* Country `` */}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t)\r\n\t}\r\n}\r\n\r\n// This wrapper is only to `.forwardRef()` to the ``.\r\nconst PhoneNumberInput = React.forwardRef((props, ref) => (\r\n\t\r\n))\r\n\r\nPhoneNumberInput.propTypes = {\r\n\t/**\r\n\t * Phone number in `E.164` format.\r\n\t *\r\n\t * Example:\r\n\t *\r\n\t * `\"+12223333333\"`\r\n\t *\r\n\t * Any \"falsy\" value like `undefined`, `null` or an empty string `\"\"` is treated like \"empty\".\r\n\t */\r\n\tvalue: PropTypes.string,\r\n\r\n\t/**\r\n\t * A function of `value: string?`.\r\n\t *\r\n\t * Updates the `value` property as the user inputs a phone number.\r\n\t *\r\n\t * If the user erases the input value, the argument is `undefined`.\r\n\t */\r\n\tonChange: PropTypes.func.isRequired,\r\n\r\n\t/**\r\n\t * Toggles the `--focus` CSS class.\r\n\t * @ignore\r\n\t */\r\n\tonFocus: PropTypes.func,\r\n\r\n\t/**\r\n\t * `onBlur` is usually passed by `redux-form`.\r\n\t * @ignore\r\n\t */\r\n\tonBlur: PropTypes.func,\r\n\r\n\t/**\r\n\t * Set to `true` to mark both the phone number ``\r\n\t * and the country ``\r\n\t * and the country ``.\r\n\t *\r\n\t * Web browser's \"autocomplete\" feature\r\n\t * remembers the phone number being input\r\n\t * and can also autofill the ``\r\n\t * with previously remembered phone numbers.\r\n\t *\r\n\t * https://developers.google.com\r\n\t * /web/updates/2015/06/checkout-faster-with-autofill\r\n\t *\r\n\t * For example, can be used to turn it off:\r\n\t *\r\n\t * \"So when should you use `autocomplete=\"off\"`?\r\n\t * One example is when you've implemented your own version\r\n\t * of autocomplete for search. Another example is any form field\r\n\t * where users will input and submit different kinds of information\r\n\t * where it would not be useful to have the browser remember\r\n\t * what was submitted previously\".\r\n\t */\r\n\t// (is `\"tel\"` by default)\r\n\tautoComplete: PropTypes.string,\r\n\r\n\t/**\r\n\t * Set to `\"national\"` to show the initial `value` in\r\n\t * \"national\" format rather than \"international\".\r\n\t *\r\n\t * For example, if `initialValueFormat` is `\"national\"`\r\n\t * and the initial `value=\"+12133734253\"` is passed\r\n\t * then the `` value will be `\"(213) 373-4253\"`.\r\n\t *\r\n\t * By default, `initialValueFormat` is `undefined`,\r\n\t * meaning that if the initial `value=\"+12133734253\"` is passed\r\n\t * then the `` value will be `\"+1 213 373 4253\"`.\r\n\t *\r\n\t * The reason for such default behaviour is that\r\n\t * the newer generation grows up when there are no stationary phones\r\n\t * and therefore everyone inputs phone numbers in international format\r\n\t * in their smartphones so people gradually get more accustomed to\r\n\t * writing phone numbers in international format rather than in local format.\r\n\t * Future people won't be using \"national\" format, only \"international\".\r\n\t */\r\n\t// (is `undefined` by default)\r\n\tinitialValueFormat: PropTypes.oneOf(['national']),\r\n\r\n\t// `displayInitialValueAsLocalNumber` property has been\r\n\t// superceded by `initialValueFormat` property.\r\n\tdisplayInitialValueAsLocalNumber: PropTypes.bool,\r\n\r\n\t/**\r\n\t * The country to be selected by default.\r\n\t * For example, can be set after a GeoIP lookup.\r\n\t *\r\n\t * Example: `\"US\"`.\r\n\t */\r\n\t// A two-letter country code (\"ISO 3166-1 alpha-2\").\r\n\tdefaultCountry: PropTypes.string,\r\n\r\n\t/**\r\n\t * If specified, only these countries will be available for selection.\r\n\t *\r\n\t * Example:\r\n\t *\r\n\t * `[\"RU\", \"UA\", \"KZ\"]`\r\n\t */\r\n\tcountries: PropTypes.arrayOf(PropTypes.string),\r\n\r\n\t/**\r\n\t * Custom country `` `aria-label`.\r\n\t *\r\n\t * Example:\r\n\t *\r\n\t * `{ \"ZZ\": \"Международный\", RU: \"Россия\", US: \"США\", ... }`\r\n\t *\r\n\t * See the `locales` directory for examples.\r\n\t */\r\n\tlabels: labelsPropType,\r\n\r\n\t/**\r\n\t * Country `` options sorting function.\r\n\t * The default one uses `a.localeCompare(b)`, and,\r\n\t * if that's not available, falls back to simple `a > b`/`a < b`.\r\n\t * There have been requests to add custom sorter for cases\r\n\t * like Chinese language and \"pinyin\" (non-default) sorting order.\r\n\t * https://stackoverflow.com/questions/22907288/chinese-sorting-by-pinyin-in-javascript-with-localecompare\r\n\tcompareStrings: PropTypes.func,\r\n\t */\r\n\r\n\t/**\r\n\t * A URL template of a country flag, where\r\n\t * \"{XX}\" is a two-letter country code in upper case,\r\n\t * or where \"{xx}\" is a two-letter country code in lower case.\r\n\t * By default it points to `country-flag-icons` gitlab pages website.\r\n\t * I imagine someone might want to download those country flag icons\r\n\t * and host them on their own servers instead\r\n\t * (all flags are available in the `country-flag-icons` library).\r\n\t * There's a catch though: new countries may be added in future,\r\n\t * so when hosting country flag icons on your own server\r\n\t * one should check the `CHANGELOG.md` every time before updating this library,\r\n\t * otherwise there's a possibility that some new country flag would be missing.\r\n\t */\r\n\tflagUrl: PropTypes.string,\r\n\r\n\t/**\r\n\t * Custom country flag icon components.\r\n\t * These flags will be used instead of the default ones.\r\n\t * The the \"Flags\" section of the readme for more info.\r\n\t *\r\n\t * The shape is an object where keys are country codes\r\n\t * and values are flag icon components.\r\n\t * Flag icon components receive the same properties\r\n\t * as `flagComponent` (see below).\r\n\t *\r\n\t * Example:\r\n\t *\r\n\t * `{ \"RU\": (props) => }`\r\n\t *\r\n\t * Example:\r\n\t *\r\n\t * `import flags from 'country-flag-icons/react/3x2'`\r\n\t *\r\n\t * `import PhoneInput from 'react-phone-number-input'`\r\n\t *\r\n\t * ``\r\n\t */\r\n\tflags: PropTypes.objectOf(PropTypes.elementType),\r\n\r\n\t/**\r\n\t * Country flag icon component.\r\n\t *\r\n\t * Takes properties:\r\n\t *\r\n\t * * `country: string` — The country code.\r\n\t * * `countryName: string` — The country name.\r\n\t * * `flagUrl: string` — The `flagUrl` property (see above).\r\n\t * * `flags: object` — The `flags` property (see above).\r\n\t */\r\n\tflagComponent: PropTypes.elementType,\r\n\r\n\t/**\r\n\t * Set to `false` to remove the \"International\" option from country `` options.\r\n\t *\r\n\t * * `\"XX\"` — inserts an option for \"XX\" country.\r\n\t * * `\"🌐\"` — inserts \"International\" option.\r\n\t * * `\"|\"` — inserts a separator.\r\n\t * * `\"...\"` — inserts options for the rest of the countries (can be omitted, in which case it will be automatically added at the end).\r\n\t *\r\n\t * Example:\r\n\t *\r\n\t * `[\"US\", \"CA\", \"AU\", \"|\", \"...\"]`\r\n\t */\r\n\tcountryOptionsOrder: PropTypes.arrayOf(PropTypes.string),\r\n\r\n\t/**\r\n\t * `` component CSS style object.\r\n\t */\r\n\tstyle: PropTypes.object,\r\n\r\n\t/**\r\n\t * `` component CSS class.\r\n\t */\r\n\tclassName: PropTypes.string,\r\n\r\n\t/**\r\n\t * Country `` component props.\r\n\t * Along with the usual DOM properties such as `aria-label` and `tabIndex`,\r\n\t * some custom properties are supported, such as `arrowComponent` and `unicodeFlags`.\r\n\t */\r\n\tcountrySelectProps: PropTypes.object,\r\n\r\n\t/**\r\n\t * Phone number `` component.\r\n\t *\r\n\t * Receives properties:\r\n\t *\r\n\t * * `value: string` — The formatted `value`.\r\n\t * * `onChange(event: Event)` — Updates the formatted `value` from `event.target.value`.\r\n\t * * `onFocus()` — Is used to toggle the `--focus` CSS class.\r\n\t * * `onBlur()` — Is used to toggle the `--focus` CSS class.\r\n\t * * Other properties like `type=\"tel\"` or `autoComplete=\"tel\"` that should be passed through to the DOM ``.\r\n\t *\r\n\t * Must also either use `React.forwardRef()` to \"forward\" `ref` to the `` or implement `.focus()` method.\r\n\t */\r\n\tinputComponent: PropTypes.elementType,\r\n\r\n\t/**\r\n\t * Wrapping `
` component.\r\n\t *\r\n\t * Receives properties:\r\n\t *\r\n\t * * `style: object` — A component CSS style object.\r\n\t * * `className: string` — Classes to attach to the component, typically changes when component focuses or blurs.\r\n\t */\r\n\tcontainerComponent: PropTypes.elementType,\r\n\r\n\t/**\r\n\t * Phone number `` component props.\r\n\t */\r\n\tnumberInputProps: PropTypes.object,\r\n\r\n\t/**\r\n\t * When the user attempts to insert a digit somewhere in the middle of a phone number,\r\n\t * the caret position is moved right before the next available digit skipping\r\n\t * any punctuation in between. This is called \"smart\" caret positioning.\r\n\t * Another case would be the phone number format changing as a result of\r\n\t * the user inserting the digit somewhere in the middle, which would require\r\n\t * re-positioning the caret because all digit positions have changed.\r\n\t * This \"smart\" caret positioning feature can be turned off by passing\r\n\t * `smartCaret={false}` property: use it in case of any possible issues\r\n\t * with caret position during phone number input.\r\n\t */\r\n\t// Is `true` by default.\r\n\tsmartCaret: PropTypes.bool,\r\n\r\n\t/**\r\n\t * Set to `true` to force \"international\" phone number format.\r\n\t * Set to `false` to force \"national\" phone number format.\r\n\t * By default it's `undefined` meaning that it doesn't enforce any phone number format.\r\n\t */\r\n\tinternational: PropTypes.bool,\r\n\r\n\t/**\r\n\t * If set to `true`, the phone number input will get trimmed\r\n\t * if it exceeds the maximum length for the country.\r\n\t */\r\n\tlimitMaxLength: PropTypes.bool,\r\n\r\n\t/**\r\n\t * If set to `false`, and `international` is `true`, then\r\n\t * users won't be able to erase the \"country calling part\"\r\n\t * of a phone number in the ``.\r\n\t */\r\n\tcountryCallingCodeEditable: PropTypes.bool,\r\n\r\n\t/**\r\n\t * `libphonenumber-js` metadata.\r\n\t *\r\n\t * Can be used to pass custom `libphonenumber-js` metadata\r\n\t * to reduce the overall bundle size for those who compile \"custom\" metadata.\r\n\t */\r\n\tmetadata: metadataPropType,\r\n\r\n\t/**\r\n\t * Is called every time the selected country changes:\r\n\t * either programmatically or when user selects it manually from the list.\r\n\t */\r\n\t// People have been asking for a way to get the selected country.\r\n\t// @see https://github.com/catamphetamine/react-phone-number-input/issues/128\r\n\t// For some it's just a \"business requirement\".\r\n\t// I guess it's about gathering as much info on the user as a website can\r\n\t// without introducing any addional fields that would complicate the form\r\n\t// therefore reducing \"conversion\" (that's a marketing term).\r\n\t// Assuming that the phone number's country is the user's country\r\n\t// is not 100% correct but in most cases I guess it's valid.\r\n\tonCountryChange: PropTypes.func,\r\n\r\n\t/**\r\n\t * If set to `false`, will not focus the `` component\r\n\t * when the user selects a country from the list of countries.\r\n\t * This can be used to conform to the Web Content Accessibility Guidelines (WCAG).\r\n\t * Quote:\r\n\t * \"On input: Changing the setting of any user interface component\r\n\t * does not automatically cause a change of context unless the user\r\n\t * has been advised of the behaviour before using the component.\"\r\n\t */\r\n\tfocusInputOnCountrySelection: PropTypes.bool\r\n}\r\n\r\nconst defaultProps = {\r\n\t/**\r\n\t * Remember (and autofill) the value as a phone number.\r\n\t */\r\n\tautoComplete: 'tel',\r\n\r\n\t/**\r\n\t * Country `` option icon.\r\n\t */\r\n\tinternationalIcon: InternationalIcon,\r\n\r\n\t/**\r\n\t * Phone number `` component.\r\n\t */\r\n\tinputComponent: 'input',\r\n\r\n\t/**\r\n\t * Wrapping `
` component.\r\n\t */\r\n\tcontainerComponent: 'div',\r\n\r\n\t/**\r\n\t * Some users requested a way to reset the component:\r\n\t * both number `` and country ``\r\n\t * and country ``.\r\n\t * It's also not replaced with just resetting `country` on\r\n\t * external `value` reset, because a user could select a country\r\n\t * and then not input any `value`, and so the selected country\r\n\t * would be \"stuck\", if not using this `reset` property.\r\n\t */\r\n\t// https://github.com/catamphetamine/react-phone-number-input/issues/300\r\n\treset: PropTypes.any,\r\n\r\n\t/**\r\n\t *\r\n\t */\r\n\r\n\t/**\r\n\t * Set to `false` to use \"basic\" caret instead of the \"smart\" one.\r\n\t */\r\n\tsmartCaret: true,\r\n\r\n\t/**\r\n\t * Whether to add the \"International\" option\r\n\t * to the list of countries.\r\n\t */\r\n\taddInternationalOption: true,\r\n\r\n\t/**\r\n\t * If set to `false`, and `international` is `true`, then\r\n\t * users won't be able to erase the \"country calling part\"\r\n\t * of a phone number in the ``.\r\n\t */\r\n\tcountryCallingCodeEditable: true,\r\n\r\n\t/**\r\n\t * If set to `false`, will not focus the `` component\r\n\t * when the user selects a country from the list of countries.\r\n\t * This can be used to conform to the Web Content Accessibility Guidelines (WCAG).\r\n\t * Quote:\r\n\t * \"On input: Changing the setting of any user interface component\r\n\t * does not automatically cause a change of context unless the user\r\n\t * has been advised of the behaviour before using the component.\"\r\n\t */\r\n\tfocusInputOnCountrySelection: true\r\n}\r\n\r\nfunction withDefaultProps(props) {\r\n\tprops = { ...props }\r\n\r\n\tfor (const key in defaultProps) {\r\n\t\tif (props[key] === undefined) {\r\n\t\t\tprops[key] = defaultProps[key]\r\n\t\t}\r\n\t}\r\n\r\n\treturn props\r\n}\r\n\r\nexport default PhoneNumberInput\r\n\r\nfunction areEqualArrays(a, b) {\r\n\tif (a.length !== b.length) {\r\n\t\treturn false\r\n\t}\r\n\tlet i = 0\r\n\twhile (i < a.length) {\r\n\t\tif (a[i] !== b[i]) {\r\n\t\t\treturn false\r\n\t\t}\r\n\t\ti++\r\n\t}\r\n\treturn true\r\n}\r\n","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\nimport defaultLabels from '../locale/en.json.js'\r\n\r\nimport {\r\n\tmetadata as metadataPropType,\r\n\tlabels as labelsPropType\r\n} from './PropTypes.js'\r\n\r\nimport PhoneInput from './PhoneInputWithCountry.js'\r\n\r\nexport function createPhoneInput(defaultMetadata) {\r\n\tconst PhoneInputDefault = React.forwardRef(({\r\n\t\tmetadata = defaultMetadata,\r\n\t\tlabels = defaultLabels,\r\n\t\t...rest\r\n\t}, ref) => (\r\n\t\t\r\n\t))\r\n\r\n\tPhoneInputDefault.propTypes = {\r\n\t\tmetadata: metadataPropType,\r\n\t\tlabels: labelsPropType\r\n\t}\r\n\r\n\treturn PhoneInputDefault\r\n}\r\n\r\nexport default createPhoneInput()","import metadata from 'libphonenumber-js/min/metadata'\r\n\r\nimport {\r\n\tparsePhoneNumber as _parsePhoneNumber,\r\n\tformatPhoneNumber as _formatPhoneNumber,\r\n\tformatPhoneNumberIntl as _formatPhoneNumberIntl,\r\n\tisValidPhoneNumber as _isValidPhoneNumber,\r\n\tisPossiblePhoneNumber as _isPossiblePhoneNumber,\r\n\tgetCountries as _getCountries,\r\n\tgetCountryCallingCode as _getCountryCallingCode,\r\n\tisSupportedCountry as _isSupportedCountry\r\n} from '../core/index.js'\r\n\r\nimport { createPhoneInput } from '../modules/PhoneInputWithCountryDefault.js'\r\n\r\nfunction call(func, _arguments) {\r\n\tvar args = Array.prototype.slice.call(_arguments)\r\n\targs.push(metadata)\r\n\treturn func.apply(this, args)\r\n}\r\n\r\nexport default createPhoneInput(metadata)\r\n\r\nexport function parsePhoneNumber() {\r\n\treturn call(_parsePhoneNumber, arguments)\r\n}\r\n\r\nexport function formatPhoneNumber() {\r\n\treturn call(_formatPhoneNumber, arguments)\r\n}\r\n\r\nexport function formatPhoneNumberIntl() {\r\n\treturn call(_formatPhoneNumberIntl, arguments)\r\n}\r\n\r\nexport function isValidPhoneNumber() {\r\n\treturn call(_isValidPhoneNumber, arguments)\r\n}\r\n\r\nexport function isPossiblePhoneNumber() {\r\n\treturn call(_isPossiblePhoneNumber, arguments)\r\n}\r\n\r\nexport function getCountries() {\r\n\treturn call(_getCountries, arguments)\r\n}\r\n\r\nexport function getCountryCallingCode() {\r\n\treturn call(_getCountryCallingCode, arguments)\r\n}\r\n\r\nexport function isSupportedCountry() {\r\n\treturn call(_isSupportedCountry, arguments)\r\n}","import React, { useCallback } from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport { parseIncompletePhoneNumber, formatIncompletePhoneNumber } from 'libphonenumber-js/core'\r\n\r\nimport { getInputValuePrefix, removeInputValuePrefix } from './helpers/inputValuePrefix.js'\r\n\r\nexport function createInput(defaultMetadata) {\r\n\t/**\r\n\t * `InputBasic` is the most basic implementation of a `Component`\r\n\t * that can be passed to ``. It parses and formats\r\n\t * the user's input but doesn't control the caret in the process:\r\n\t * when erasing or inserting digits in the middle of a phone number\r\n\t * the caret usually jumps to the end (this is the expected behavior).\r\n\t * Why does `InputBasic` exist when there's `InputSmart`?\r\n\t * One reason is working around the [Samsung Galaxy smart caret positioning bug]\r\n\t * (https://github.com/catamphetamine/react-phone-number-input/issues/75).\r\n\t * Another reason is that, unlike `InputSmart`, it doesn't require DOM environment.\r\n\t */\r\n\tfunction InputBasic({\r\n\t\tvalue,\r\n\t\tonChange,\r\n\t\tcountry,\r\n\t\tinternational,\r\n\t\twithCountryCallingCode,\r\n\t\tmetadata = defaultMetadata,\r\n\t\tinputComponent: Input = 'input',\r\n\t\t...rest\r\n\t}, ref) {\r\n\t\tconst prefix = getInputValuePrefix({\r\n\t\t\tcountry,\r\n\t\t\tinternational,\r\n\t\t\twithCountryCallingCode,\r\n\t\t\tmetadata\r\n\t\t})\r\n\r\n\t\tconst _onChange = useCallback((event) => {\r\n\t\t\tlet newValue = parseIncompletePhoneNumber(event.target.value)\r\n\t\t\t// By default, if a value is something like `\"(123)\"`\r\n\t\t\t// then Backspace would only erase the rightmost brace\r\n\t\t\t// becoming something like `\"(123\"`\r\n\t\t\t// which would give the same `\"123\"` value\r\n\t\t\t// which would then be formatted back to `\"(123)\"`\r\n\t\t\t// and so a user wouldn't be able to erase the phone number.\r\n\t\t\t// Working around this issue with this simple hack.\r\n\t\t\tif (newValue === value) {\r\n\t\t\t\tconst newValueFormatted = format(prefix, newValue, country, metadata)\r\n\t\t\t\tif (newValueFormatted.indexOf(event.target.value) === 0) {\r\n\t\t\t\t\t// Trim the last digit (or plus sign).\r\n\t\t\t\t\tnewValue = newValue.slice(0, -1)\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tonChange(newValue)\r\n\t\t}, [\r\n\t\t\tprefix,\r\n\t\t\tvalue,\r\n\t\t\tonChange,\r\n\t\t\tcountry,\r\n\t\t\tmetadata\r\n\t\t])\r\n\r\n\t\treturn (\r\n\t\t\t\r\n\t\t)\r\n\t}\r\n\r\n\tInputBasic = React.forwardRef(InputBasic)\r\n\r\n\tInputBasic.propTypes = {\r\n\t\t/**\r\n\t\t * The parsed phone number.\r\n\t\t * \"Parsed\" not in a sense of \"E.164\"\r\n\t\t * but rather in a sense of \"having only\r\n\t\t * digits and possibly a leading plus character\".\r\n\t\t * Examples: `\"\"`, `\"+\"`, `\"+123\"`, `\"123\"`.\r\n\t\t */\r\n\t\tvalue: PropTypes.string.isRequired,\r\n\r\n\t\t/**\r\n\t\t * A function of `value: string`.\r\n\t\t * Updates the `value` property.\r\n\t\t */\r\n\t\tonChange: PropTypes.func.isRequired,\r\n\r\n\t\t/**\r\n\t\t * A two-letter country code for formatting `value`\r\n\t\t * as a national phone number (e.g. `(800) 555 35 35`).\r\n\t\t * E.g. \"US\", \"RU\", etc.\r\n\t\t * If no `country` is passed then `value`\r\n\t\t * is formatted as an international phone number.\r\n\t\t * (e.g. `+7 800 555 35 35`)\r\n\t\t * Perhaps the `country` property should have been called `defaultCountry`\r\n\t\t * because if `value` is an international number then `country` is ignored.\r\n\t\t */\r\n\t\tcountry : PropTypes.string,\r\n\r\n\t\t/**\r\n\t\t * If `country` property is passed along with `international={true}` property\r\n\t\t * then the phone number will be input in \"international\" format for that `country`\r\n\t\t * (without \"country calling code\").\r\n\t\t * For example, if `country=\"US\"` property is passed to \"without country select\" input\r\n\t\t * then the phone number will be input in the \"national\" format for `US` (`(213) 373-4253`).\r\n\t\t * But if both `country=\"US\"` and `international={true}` properties are passed then\r\n\t\t * the phone number will be input in the \"international\" format for `US` (`213 373 4253`)\r\n\t\t * (without \"country calling code\" `+1`).\r\n\t\t */\r\n\t\tinternational: PropTypes.bool,\r\n\r\n\t\t/**\r\n\t\t * If `country` and `international` properties are set,\r\n\t\t * then by default it won't include \"country calling code\" in the input field.\r\n\t\t * To change that, pass `withCountryCallingCode` property,\r\n\t\t * and it will include \"country calling code\" in the input field.\r\n\t\t */\r\n\t\twithCountryCallingCode: PropTypes.bool,\r\n\r\n\t\t/**\r\n\t\t * `libphonenumber-js` metadata.\r\n\t\t */\r\n\t\tmetadata: PropTypes.object,\r\n\r\n\t\t/**\r\n\t\t * The `` component.\r\n\t\t */\r\n\t\tinputComponent: PropTypes.elementType\r\n\t}\r\n\r\n\treturn InputBasic\r\n}\r\n\r\nexport default createInput()\r\n\r\nfunction format(prefix, value, country, metadata) {\r\n\treturn removeInputValuePrefix(\r\n\t\tformatIncompletePhoneNumber(\r\n\t\t\tprefix + value,\r\n\t\t\tcountry,\r\n\t\t\tmetadata\r\n\t\t),\r\n\t\tprefix\r\n\t)\r\n}","import { parsePhoneNumberCharacter } from 'libphonenumber-js/core'\r\n\r\n/**\r\n * Parses next character while parsing phone number digits (including a `+`)\r\n * from text: discards everything except `+` and digits, and `+` is only allowed\r\n * at the start of a phone number.\r\n * For example, is used in `react-phone-number-input` where it uses\r\n * [`input-format`](https://gitlab.com/catamphetamine/input-format).\r\n * @param {string} character - Yet another character from raw input string.\r\n * @param {string?} prevParsedCharacters - Previous parsed characters.\r\n * @param {object?} context - An optional object that could be used by this function to set arbitrary \"flags\". The object should be shared within the parsing of the whole string.\r\n * @return {string?} The parsed character.\r\n */\r\nexport default function parsePhoneNumberCharacter_(character, prevParsedCharacters, context) {\r\n\t// `context` argument was added as a third argument of `parse()` function\r\n\t// in `input-format` package on Dec 26th, 2023. So it could potentially be\r\n\t// `undefined` here if a 3rd-party app somehow ends up with this newer version\r\n\t// of `react-phone-number-input` and an older version of `input-format`.\r\n\t// Dunno how, but just in case, it could be `undefined` here and it wouldn't break.\r\n\t// Maybe it's not required to handle `undefined` case here.\r\n\t//\r\n\t// The addition of the `context` argument was to fix the slightly-weird behavior\r\n\t// of parsing an input string when the user inputs something like `\"2+7\"\r\n\t// https://github.com/catamphetamine/react-phone-number-input/issues/437\r\n\t//\r\n\t// If the parser encounters an unexpected `+` in a string being parsed\r\n\t// then it simply discards that out-of-place `+` and any following characters.\r\n\t//\r\n\tif (context && context.ignoreRest) {\r\n\t\treturn\r\n\t}\r\n\r\n\tconst emitEvent = (eventName) => {\r\n\t\tif (context) {\r\n\t\t\tswitch (eventName) {\r\n\t\t\t\tcase 'end':\r\n\t\t\t\t\tcontext.ignoreRest = true\r\n\t\t\t\t\tbreak\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\treturn parsePhoneNumberCharacter(character, prevParsedCharacters, emitEvent)\r\n}","import React, { useCallback } from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport Input from 'input-format/react'\r\nimport { AsYouType } from 'libphonenumber-js/core'\r\n\r\nimport { getInputValuePrefix, removeInputValuePrefix } from './helpers/inputValuePrefix.js'\r\nimport parsePhoneNumberCharacter from './helpers/parsePhoneNumberCharacter.js'\r\n\r\nexport function createInput(defaultMetadata)\r\n{\r\n\t/**\r\n\t * `InputSmart` is a \"smarter\" implementation of a `Component`\r\n\t * that can be passed to ``. It parses and formats\r\n\t * the user's and maintains the caret's position in the process.\r\n\t * The caret positioning is maintained using `input-format` library.\r\n\t * Relies on being run in a DOM environment for calling caret positioning functions.\r\n\t */\r\n\tfunction InputSmart({\r\n\t\tcountry,\r\n\t\tinternational,\r\n\t\twithCountryCallingCode,\r\n\t\tmetadata = defaultMetadata,\r\n\t\t...rest\r\n\t}, ref) {\r\n\t\tconst format = useCallback((value) => {\r\n\t\t\t// \"As you type\" formatter.\r\n\t\t\tconst formatter = new AsYouType(country, metadata)\r\n\t\t\tconst prefix = getInputValuePrefix({\r\n\t\t\t\tcountry,\r\n\t\t\t\tinternational,\r\n\t\t\t\twithCountryCallingCode,\r\n\t\t\t\tmetadata\r\n\t\t\t})\r\n\t\t\t// Format the number.\r\n\t\t\tlet text = formatter.input(prefix + value)\r\n\t\t\tlet template = formatter.getTemplate()\r\n\t\t\tif (prefix) {\r\n\t\t\t\ttext = removeInputValuePrefix(text, prefix)\r\n\t\t\t\t// `AsYouType.getTemplate()` can be `undefined`.\r\n\t\t\t\tif (template) {\r\n\t\t\t\t\ttemplate = removeInputValuePrefix(template, prefix)\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn {\r\n\t\t\t\ttext,\r\n\t\t\t\ttemplate\r\n\t\t\t}\r\n\t\t}, [country, metadata])\r\n\r\n\t\treturn (\r\n\t\t\t\r\n\t\t)\r\n\t}\r\n\r\n\tInputSmart = React.forwardRef(InputSmart)\r\n\r\n\tInputSmart.propTypes = {\r\n\t\t/**\r\n\t\t * The parsed phone number.\r\n\t\t * \"Parsed\" not in a sense of \"E.164\"\r\n\t\t * but rather in a sense of \"having only\r\n\t\t * digits and possibly a leading plus character\".\r\n\t\t * Examples: `\"\"`, `\"+\"`, `\"+123\"`, `\"123\"`.\r\n\t\t */\r\n\t\tvalue: PropTypes.string.isRequired,\r\n\r\n\t\t/**\r\n\t\t * A function of `value: string`.\r\n\t\t * Updates the `value` property.\r\n\t\t */\r\n\t\tonChange: PropTypes.func.isRequired,\r\n\r\n\t\t/**\r\n\t\t * A two-letter country code for formatting `value`\r\n\t\t * as a national phone number (e.g. `(800) 555 35 35`).\r\n\t\t * E.g. \"US\", \"RU\", etc.\r\n\t\t * If no `country` is passed then `value`\r\n\t\t * is formatted as an international phone number.\r\n\t\t * (e.g. `+7 800 555 35 35`)\r\n\t\t * Perhaps the `country` property should have been called `defaultCountry`\r\n\t\t * because if `value` is an international number then `country` is ignored.\r\n\t\t */\r\n\t\tcountry: PropTypes.string,\r\n\r\n\t\t/**\r\n\t\t * If `country` property is passed along with `international={true}` property\r\n\t\t * then the phone number will be input in \"international\" format for that `country`\r\n\t\t * (without \"country calling code\").\r\n\t\t * For example, if `country=\"US\"` property is passed to \"without country select\" input\r\n\t\t * then the phone number will be input in the \"national\" format for `US` (`(213) 373-4253`).\r\n\t\t * But if both `country=\"US\"` and `international={true}` properties are passed then\r\n\t\t * the phone number will be input in the \"international\" format for `US` (`213 373 4253`)\r\n\t\t * (without \"country calling code\" `+1`).\r\n\t\t */\r\n\t\tinternational: PropTypes.bool,\r\n\r\n\t\t/**\r\n\t\t * If `country` and `international` properties are set,\r\n\t\t * then by default it won't include \"country calling code\" in the input field.\r\n\t\t * To change that, pass `withCountryCallingCode` property,\r\n\t\t * and it will include \"country calling code\" in the input field.\r\n\t\t */\r\n\t\twithCountryCallingCode: PropTypes.bool,\r\n\r\n\t\t/**\r\n\t\t * `libphonenumber-js` metadata.\r\n\t\t */\r\n\t\tmetadata: PropTypes.object\r\n\t}\r\n\r\n\treturn InputSmart\r\n}\r\n\r\nexport default createInput()","import PropTypes from 'prop-types'\r\n\r\nexport const metadata = PropTypes.shape({\r\n\tcountry_calling_codes : PropTypes.object.isRequired,\r\n\tcountries : PropTypes.object.isRequired\r\n})\r\n\r\nexport const labels = PropTypes.objectOf(PropTypes.string)","import {\r\n\tgetCountryCallingCode,\r\n\tMetadata\r\n} from 'libphonenumber-js/core'\r\n\r\nconst ONLY_DIGITS_REGEXP = /^\\d+$/\r\n\r\nexport default function getInternationalPhoneNumberPrefix(country, metadata) {\r\n\t// Standard international phone number prefix: \"+\" and \"country calling code\".\r\n\tlet prefix = '+' + getCountryCallingCode(country, metadata)\r\n\r\n\t// \"Leading digits\" can't be used to rule out any countries.\r\n\t// So the \"pre-fill with leading digits on country selection\" feature had to be reverted.\r\n\t// https://gitlab.com/catamphetamine/react-phone-number-input/-/issues/10#note_1231042367\r\n\t// // Get \"leading digits\" for a phone number of the country.\r\n\t// // If there're \"leading digits\" then they can be part of the prefix too.\r\n\t// // https://gitlab.com/catamphetamine/react-phone-number-input/-/issues/10\r\n\t// metadata = new Metadata(metadata)\r\n\t// metadata.selectNumberingPlan(country)\r\n\t// // \"Leading digits\" patterns are only defined for about 20% of all countries.\r\n\t// // By definition, matching \"leading digits\" is a sufficient but not a necessary\r\n\t// // condition for a phone number to belong to a country.\r\n\t// // The point of \"leading digits\" check is that it's the fastest one to get a match.\r\n\t// // https://gitlab.com/catamphetamine/libphonenumber-js/blob/master/METADATA.md#leading_digits\r\n\t// const leadingDigits = metadata.numberingPlan.leadingDigits()\r\n\t// if (leadingDigits && ONLY_DIGITS_REGEXP.test(leadingDigits)) {\r\n\t// \tprefix += leadingDigits\r\n\t// }\r\n\r\n\treturn prefix\r\n}","import { getCountryCallingCode } from 'libphonenumber-js/core'\r\n\r\nexport function getInputValuePrefix({\r\n\tcountry,\r\n\tinternational,\r\n\twithCountryCallingCode,\r\n\tmetadata\r\n}) {\r\n\treturn country && international && !withCountryCallingCode ?\r\n\t\t`+${getCountryCallingCode(country, metadata)}` :\r\n\t\t''\r\n}\r\n\r\nexport function removeInputValuePrefix(value, prefix) {\r\n\tif (prefix) {\r\n\t\tvalue = value.slice(prefix.length)\r\n\t\tif (value[0] === ' ') {\r\n\t\t\tvalue = value.slice(1)\r\n\t\t}\r\n\t}\r\n\treturn value\r\n}","import * as ReactOriginal from 'react'\nimport type * as ReactNamespace from 'react'\n\nexport const React: typeof ReactNamespace =\n // prettier-ignore\n // @ts-ignore\n 'default' in ReactOriginal ? ReactOriginal['default'] : ReactOriginal as any\n","import type { Context } from 'react'\nimport { React } from '../utils/react'\nimport type { Action, Store, UnknownAction } from 'redux'\nimport type { Subscription } from '../utils/Subscription'\nimport type { ProviderProps } from './Provider'\n\nexport interface ReactReduxContextValue<\n SS = any,\n A extends Action = UnknownAction\n> extends Pick {\n store: Store\n subscription: Subscription\n getServerState?: () => SS\n}\n\nconst ContextKey = Symbol.for(`react-redux-context`)\nconst gT: {\n [ContextKey]?: Map<\n typeof React.createContext,\n Context\n >\n} = (\n typeof globalThis !== 'undefined'\n ? globalThis\n : /* fall back to a per-module scope (pre-8.1 behaviour) if `globalThis` is not available */ {}\n) as any\n\nfunction getContext(): Context {\n if (!React.createContext) return {} as any\n\n const contextMap = (gT[ContextKey] ??= new Map<\n typeof React.createContext,\n Context\n >())\n let realContext = contextMap.get(React.createContext)\n if (!realContext) {\n realContext = React.createContext(\n null as any,\n )\n if (process.env.NODE_ENV !== 'production') {\n realContext.displayName = 'ReactRedux'\n }\n contextMap.set(React.createContext, realContext)\n }\n return realContext\n}\n\nexport const ReactReduxContext = /*#__PURE__*/ getContext()\n\nexport type ReactReduxContextInstance = typeof ReactReduxContext\n\nexport default ReactReduxContext\n","import type { useSyncExternalStore } from 'use-sync-external-store'\nimport type { useSyncExternalStoreWithSelector } from 'use-sync-external-store/with-selector'\n\nexport const notInitialized = () => {\n throw new Error('uSES not initialized!')\n}\n\nexport type uSES = typeof useSyncExternalStore\nexport type uSESWS = typeof useSyncExternalStoreWithSelector\n","import { React } from '../utils/react'\nimport { ReactReduxContext } from '../components/Context'\nimport type { ReactReduxContextValue } from '../components/Context'\n\n/**\n * Hook factory, which creates a `useReduxContext` hook bound to a given context. This is a low-level\n * hook that you should usually not need to call directly.\n *\n * @param {React.Context} [context=ReactReduxContext] Context passed to your ``.\n * @returns {Function} A `useReduxContext` hook bound to the specified context.\n */\nexport function createReduxContextHook(context = ReactReduxContext) {\n return function useReduxContext(): ReactReduxContextValue {\n const contextValue = React.useContext(context)\n\n if (process.env.NODE_ENV !== 'production' && !contextValue) {\n throw new Error(\n 'could not find react-redux context value; please ensure the component is wrapped in a ',\n )\n }\n\n return contextValue!\n }\n}\n\n/**\n * A hook to access the value of the `ReactReduxContext`. This is a low-level\n * hook that you should usually not need to call directly.\n *\n * @returns {any} the value of the `ReactReduxContext`\n *\n * @example\n *\n * import React from 'react'\n * import { useReduxContext } from 'react-redux'\n *\n * export const CounterComponent = () => {\n * const { store } = useReduxContext()\n * return
{store.getState()}
\n * }\n */\nexport const useReduxContext = /*#__PURE__*/ createReduxContextHook()\n","//import * as React from 'react'\nimport { React } from '../utils/react'\n\nimport type { ReactReduxContextValue } from '../components/Context'\nimport { ReactReduxContext } from '../components/Context'\nimport type { EqualityFn, NoInfer } from '../types'\nimport type { uSESWS } from '../utils/useSyncExternalStore'\nimport { notInitialized } from '../utils/useSyncExternalStore'\nimport {\n createReduxContextHook,\n useReduxContext as useDefaultReduxContext,\n} from './useReduxContext'\n\n/**\n * The frequency of development mode checks.\n *\n * @since 8.1.0\n * @internal\n */\nexport type DevModeCheckFrequency = 'never' | 'once' | 'always'\n\n/**\n * Represents the configuration for development mode checks.\n *\n * @since 9.0.0\n * @internal\n */\nexport interface DevModeChecks {\n /**\n * Overrides the global stability check for the selector.\n * - `once` - Run only the first time the selector is called.\n * - `always` - Run every time the selector is called.\n * - `never` - Never run the stability check.\n *\n * @default 'once'\n *\n * @since 8.1.0\n */\n stabilityCheck: DevModeCheckFrequency\n\n /**\n * Overrides the global identity function check for the selector.\n * - `once` - Run only the first time the selector is called.\n * - `always` - Run every time the selector is called.\n * - `never` - Never run the identity function check.\n *\n * **Note**: Previously referred to as `noopCheck`.\n *\n * @default 'once'\n *\n * @since 9.0.0\n */\n identityFunctionCheck: DevModeCheckFrequency\n}\n\nexport interface UseSelectorOptions {\n equalityFn?: EqualityFn\n\n /**\n * `useSelector` performs additional checks in development mode to help\n * identify and warn about potential issues in selector behavior. This\n * option allows you to customize the behavior of these checks per selector.\n *\n * @since 9.0.0\n */\n devModeChecks?: Partial\n}\n\n/**\n * Represents a custom hook that allows you to extract data from the\n * Redux store state, using a selector function. The selector function\n * takes the current state as an argument and returns a part of the state\n * or some derived data. The hook also supports an optional equality\n * function or options object to customize its behavior.\n *\n * @template StateType - The specific type of state this hook operates on.\n *\n * @public\n */\nexport interface UseSelector {\n /**\n * A function that takes a selector function as its first argument.\n * The selector function is responsible for selecting a part of\n * the Redux store's state or computing derived data.\n *\n * @param selector - A function that receives the current state and returns a part of the state or some derived data.\n * @param equalityFnOrOptions - An optional equality function or options object for customizing the behavior of the selector.\n * @returns The selected part of the state or derived data.\n *\n * @template TState - The specific type of state this hook operates on.\n * @template Selected - The type of the value that the selector function will return.\n */\n (\n selector: (state: TState) => Selected,\n equalityFnOrOptions?: EqualityFn | UseSelectorOptions\n ): Selected\n\n /**\n * Creates a \"pre-typed\" version of {@linkcode useSelector useSelector}\n * where the `state` type is predefined.\n *\n * This allows you to set the `state` type once, eliminating the need to\n * specify it with every {@linkcode useSelector useSelector} call.\n *\n * @returns A pre-typed `useSelector` with the state type already defined.\n *\n * @example\n * ```ts\n * export const useAppSelector = useSelector.withTypes()\n * ```\n *\n * @template OverrideStateType - The specific type of state this hook operates on.\n *\n * @since 9.1.0\n */\n withTypes: <\n OverrideStateType extends StateType\n >() => UseSelector\n}\n\nlet useSyncExternalStoreWithSelector = notInitialized as uSESWS\nexport const initializeUseSelector = (fn: uSESWS) => {\n useSyncExternalStoreWithSelector = fn\n}\n\nconst refEquality: EqualityFn = (a, b) => a === b\n\n/**\n * Hook factory, which creates a `useSelector` hook bound to a given context.\n *\n * @param {React.Context} [context=ReactReduxContext] Context passed to your ``.\n * @returns {Function} A `useSelector` hook bound to the specified context.\n */\nexport function createSelectorHook(\n context: React.Context | null> = ReactReduxContext,\n): UseSelector {\n const useReduxContext =\n context === ReactReduxContext\n ? useDefaultReduxContext\n : createReduxContextHook(context)\n\n const useSelector = (\n selector: (state: TState) => Selected,\n equalityFnOrOptions:\n | EqualityFn>\n | UseSelectorOptions> = {}\n ): Selected => {\n const { equalityFn = refEquality, devModeChecks = {} } =\n typeof equalityFnOrOptions === 'function'\n ? { equalityFn: equalityFnOrOptions }\n : equalityFnOrOptions\n if (process.env.NODE_ENV !== 'production') {\n if (!selector) {\n throw new Error(`You must pass a selector to useSelector`)\n }\n if (typeof selector !== 'function') {\n throw new Error(`You must pass a function as a selector to useSelector`)\n }\n if (typeof equalityFn !== 'function') {\n throw new Error(\n `You must pass a function as an equality function to useSelector`,\n )\n }\n }\n\n const {\n store,\n subscription,\n getServerState,\n stabilityCheck,\n identityFunctionCheck,\n } = useReduxContext()\n\n const firstRun = React.useRef(true)\n\n const wrappedSelector = React.useCallback(\n {\n [selector.name](state: TState) {\n const selected = selector(state)\n if (process.env.NODE_ENV !== 'production') {\n const {\n identityFunctionCheck: finalIdentityFunctionCheck,\n stabilityCheck: finalStabilityCheck,\n } = {\n stabilityCheck,\n identityFunctionCheck,\n ...devModeChecks,\n }\n if (\n finalStabilityCheck === 'always' ||\n (finalStabilityCheck === 'once' && firstRun.current)\n ) {\n const toCompare = selector(state)\n if (!equalityFn(selected, toCompare)) {\n let stack: string | undefined = undefined\n try {\n throw new Error()\n } catch (e) {\n // eslint-disable-next-line no-extra-semi\n ;({ stack } = e as Error)\n }\n console.warn(\n 'Selector ' +\n (selector.name || 'unknown') +\n ' returned a different result when called with the same parameters. This can lead to unnecessary rerenders.' +\n '\\nSelectors that return a new reference (such as an object or an array) should be memoized: https://redux.js.org/usage/deriving-data-selectors#optimizing-selectors-with-memoization',\n {\n state,\n selected,\n selected2: toCompare,\n stack,\n },\n )\n }\n }\n if (\n finalIdentityFunctionCheck === 'always' ||\n (finalIdentityFunctionCheck === 'once' && firstRun.current)\n ) {\n // @ts-ignore\n if (selected === state) {\n let stack: string | undefined = undefined\n try {\n throw new Error()\n } catch (e) {\n // eslint-disable-next-line no-extra-semi\n ;({ stack } = e as Error)\n }\n console.warn(\n 'Selector ' +\n (selector.name || 'unknown') +\n ' returned the root state when called. This can lead to unnecessary rerenders.' +\n '\\nSelectors that return the entire state are almost certainly a mistake, as they will cause a rerender whenever *anything* in state changes.',\n { stack },\n )\n }\n }\n if (firstRun.current) firstRun.current = false\n }\n return selected\n },\n }[selector.name],\n [selector, stabilityCheck, devModeChecks.stabilityCheck],\n )\n\n const selectedState = useSyncExternalStoreWithSelector(\n subscription.addNestedSub,\n store.getState,\n getServerState || store.getState,\n wrappedSelector,\n equalityFn,\n )\n\n React.useDebugValue(selectedState)\n\n return selectedState\n }\n\n Object.assign(useSelector, {\n withTypes: () => useSelector,\n })\n\n return useSelector as UseSelector\n}\n\n/**\n * A hook to access the redux store's state. This hook takes a selector function\n * as an argument. The selector is called with the store state.\n *\n * This hook takes an optional equality comparison function as the second parameter\n * that allows you to customize the way the selected state is compared to determine\n * whether the component needs to be re-rendered.\n *\n * @param {Function} selector the selector function\n * @param {Function=} equalityFn the function that will be used to determine equality\n *\n * @returns {any} the selected state\n *\n * @example\n *\n * import React from 'react'\n * import { useSelector } from 'react-redux'\n *\n * export const CounterComponent = () => {\n * const counter = useSelector(state => state.counter)\n * return
{counter}
\n * }\n */\nexport const useSelector = /*#__PURE__*/ createSelectorHook()\n","import type { ElementType, MemoExoticComponent, ReactElement } from 'react'\n\n// Directly ported from:\n// https://unpkg.com/browse/react-is@18.3.0-canary-ee68446ff-20231115/cjs/react-is.production.js\n// It's very possible this could change in the future, but given that\n// we only use these in `connect`, this is a low priority.\n\nconst REACT_ELEMENT_TYPE = Symbol.for('react.element')\nconst REACT_PORTAL_TYPE = Symbol.for('react.portal')\nconst REACT_FRAGMENT_TYPE = Symbol.for('react.fragment')\nconst REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode')\nconst REACT_PROFILER_TYPE = Symbol.for('react.profiler')\nconst REACT_PROVIDER_TYPE = Symbol.for('react.provider')\nconst REACT_CONTEXT_TYPE = Symbol.for('react.context')\nconst REACT_SERVER_CONTEXT_TYPE = Symbol.for('react.server_context')\nconst REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref')\nconst REACT_SUSPENSE_TYPE = Symbol.for('react.suspense')\nconst REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list')\nconst REACT_MEMO_TYPE = Symbol.for('react.memo')\nconst REACT_LAZY_TYPE = Symbol.for('react.lazy')\nconst REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen')\nconst REACT_CLIENT_REFERENCE = Symbol.for('react.client.reference')\n\nexport const ForwardRef = REACT_FORWARD_REF_TYPE\nexport const Memo = REACT_MEMO_TYPE\n\nexport function isValidElementType(type: any): type is ElementType {\n if (typeof type === 'string' || typeof type === 'function') {\n return true\n } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill).\n\n if (\n type === REACT_FRAGMENT_TYPE ||\n type === REACT_PROFILER_TYPE ||\n type === REACT_STRICT_MODE_TYPE ||\n type === REACT_SUSPENSE_TYPE ||\n type === REACT_SUSPENSE_LIST_TYPE ||\n type === REACT_OFFSCREEN_TYPE\n ) {\n return true\n }\n\n if (typeof type === 'object' && type !== null) {\n if (\n type.$$typeof === REACT_LAZY_TYPE ||\n type.$$typeof === REACT_MEMO_TYPE ||\n type.$$typeof === REACT_PROVIDER_TYPE ||\n type.$$typeof === REACT_CONTEXT_TYPE ||\n type.$$typeof === REACT_FORWARD_REF_TYPE || // This needs to include all possible module reference object\n // types supported by any Flight configuration anywhere since\n // we don't know which Flight build this will end up being used\n // with.\n type.$$typeof === REACT_CLIENT_REFERENCE ||\n type.getModuleId !== undefined\n ) {\n return true\n }\n }\n\n return false\n}\n\nfunction typeOf(object: any): symbol | undefined {\n if (typeof object === 'object' && object !== null) {\n const $$typeof = object.$$typeof\n\n switch ($$typeof) {\n case REACT_ELEMENT_TYPE: {\n const type = object.type\n\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_SUSPENSE_TYPE:\n case REACT_SUSPENSE_LIST_TYPE:\n return type\n\n default: {\n const $$typeofType = type && type.$$typeof\n\n switch ($$typeofType) {\n case REACT_SERVER_CONTEXT_TYPE:\n case REACT_CONTEXT_TYPE:\n case REACT_FORWARD_REF_TYPE:\n case REACT_LAZY_TYPE:\n case REACT_MEMO_TYPE:\n case REACT_PROVIDER_TYPE:\n return $$typeofType\n\n default:\n return $$typeof\n }\n }\n }\n }\n\n case REACT_PORTAL_TYPE: {\n return $$typeof\n }\n }\n }\n\n return undefined\n}\n\nexport function isContextConsumer(object: any): object is ReactElement {\n return typeOf(object) === REACT_CONTEXT_TYPE\n}\n\nexport function isMemo(object: any): object is MemoExoticComponent {\n return typeOf(object) === REACT_MEMO_TYPE\n}\n","import type { Dispatch, Action } from 'redux'\nimport type { ComponentType } from 'react'\nimport verifySubselectors from './verifySubselectors'\nimport type { EqualityFn, ExtendedEqualityFn } from '../types'\n\nexport type SelectorFactory = (\n dispatch: Dispatch>,\n factoryOptions: TFactoryOptions\n) => Selector\n\nexport type Selector = TOwnProps extends\n | null\n | undefined\n ? (state: S) => TProps\n : (state: S, ownProps: TOwnProps) => TProps\n\nexport type MapStateToProps = (\n state: State,\n ownProps: TOwnProps\n) => TStateProps\n\nexport type MapStateToPropsFactory = (\n initialState: State,\n ownProps: TOwnProps\n) => MapStateToProps\n\nexport type MapStateToPropsParam =\n | MapStateToPropsFactory\n | MapStateToProps\n | null\n | undefined\n\nexport type MapDispatchToPropsFunction = (\n dispatch: Dispatch>,\n ownProps: TOwnProps\n) => TDispatchProps\n\nexport type MapDispatchToProps =\n | MapDispatchToPropsFunction\n | TDispatchProps\n\nexport type MapDispatchToPropsFactory = (\n dispatch: Dispatch>,\n ownProps: TOwnProps\n) => MapDispatchToPropsFunction\n\nexport type MapDispatchToPropsParam =\n | MapDispatchToPropsFactory\n | MapDispatchToProps\n\nexport type MapDispatchToPropsNonObject =\n | MapDispatchToPropsFactory\n | MapDispatchToPropsFunction\n\nexport type MergeProps = (\n stateProps: TStateProps,\n dispatchProps: TDispatchProps,\n ownProps: TOwnProps\n) => TMergedProps\n\ninterface PureSelectorFactoryComparisonOptions {\n readonly areStatesEqual: ExtendedEqualityFn\n readonly areStatePropsEqual: EqualityFn\n readonly areOwnPropsEqual: EqualityFn\n}\n\nexport function pureFinalPropsSelectorFactory<\n TStateProps,\n TOwnProps,\n TDispatchProps,\n TMergedProps,\n State\n>(\n mapStateToProps: WrappedMapStateToProps,\n mapDispatchToProps: WrappedMapDispatchToProps,\n mergeProps: MergeProps,\n dispatch: Dispatch>,\n {\n areStatesEqual,\n areOwnPropsEqual,\n areStatePropsEqual,\n }: PureSelectorFactoryComparisonOptions,\n) {\n let hasRunAtLeastOnce = false\n let state: State\n let ownProps: TOwnProps\n let stateProps: TStateProps\n let dispatchProps: TDispatchProps\n let mergedProps: TMergedProps\n\n function handleFirstCall(firstState: State, firstOwnProps: TOwnProps) {\n state = firstState\n ownProps = firstOwnProps\n stateProps = mapStateToProps(state, ownProps)\n dispatchProps = mapDispatchToProps(dispatch, ownProps)\n mergedProps = mergeProps(stateProps, dispatchProps, ownProps)\n hasRunAtLeastOnce = true\n return mergedProps\n }\n\n function handleNewPropsAndNewState() {\n stateProps = mapStateToProps(state, ownProps)\n\n if (mapDispatchToProps.dependsOnOwnProps)\n dispatchProps = mapDispatchToProps(dispatch, ownProps)\n\n mergedProps = mergeProps(stateProps, dispatchProps, ownProps)\n return mergedProps\n }\n\n function handleNewProps() {\n if (mapStateToProps.dependsOnOwnProps)\n stateProps = mapStateToProps(state, ownProps)\n\n if (mapDispatchToProps.dependsOnOwnProps)\n dispatchProps = mapDispatchToProps(dispatch, ownProps)\n\n mergedProps = mergeProps(stateProps, dispatchProps, ownProps)\n return mergedProps\n }\n\n function handleNewState() {\n const nextStateProps = mapStateToProps(state, ownProps)\n const statePropsChanged = !areStatePropsEqual(nextStateProps, stateProps)\n stateProps = nextStateProps\n\n if (statePropsChanged)\n mergedProps = mergeProps(stateProps, dispatchProps, ownProps)\n\n return mergedProps\n }\n\n function handleSubsequentCalls(nextState: State, nextOwnProps: TOwnProps) {\n const propsChanged = !areOwnPropsEqual(nextOwnProps, ownProps)\n const stateChanged = !areStatesEqual(\n nextState,\n state,\n nextOwnProps,\n ownProps,\n )\n state = nextState\n ownProps = nextOwnProps\n\n if (propsChanged && stateChanged) return handleNewPropsAndNewState()\n if (propsChanged) return handleNewProps()\n if (stateChanged) return handleNewState()\n return mergedProps\n }\n\n return function pureFinalPropsSelector(\n nextState: State,\n nextOwnProps: TOwnProps,\n ) {\n return hasRunAtLeastOnce\n ? handleSubsequentCalls(nextState, nextOwnProps)\n : handleFirstCall(nextState, nextOwnProps)\n }\n}\n\ninterface WrappedMapStateToProps {\n (state: State, ownProps: TOwnProps): TStateProps\n readonly dependsOnOwnProps: boolean\n}\n\ninterface WrappedMapDispatchToProps {\n (dispatch: Dispatch>, ownProps: TOwnProps): TDispatchProps\n readonly dependsOnOwnProps: boolean\n}\n\nexport interface InitOptions\n extends PureSelectorFactoryComparisonOptions {\n readonly shouldHandleStateChanges: boolean\n readonly displayName: string\n readonly wrappedComponentName: string\n readonly WrappedComponent: ComponentType\n readonly areMergedPropsEqual: EqualityFn\n}\n\nexport interface SelectorFactoryOptions<\n TStateProps,\n TOwnProps,\n TDispatchProps,\n TMergedProps,\n State\n> extends InitOptions {\n readonly initMapStateToProps: (\n dispatch: Dispatch>,\n options: InitOptions\n ) => WrappedMapStateToProps\n readonly initMapDispatchToProps: (\n dispatch: Dispatch>,\n options: InitOptions\n ) => WrappedMapDispatchToProps\n readonly initMergeProps: (\n dispatch: Dispatch>,\n options: InitOptions\n ) => MergeProps\n}\n\n// TODO: Add more comments\n\n// The selector returned by selectorFactory will memoize its results,\n// allowing connect's shouldComponentUpdate to return false if final\n// props have not changed.\n\nexport default function finalPropsSelectorFactory<\n TStateProps,\n TOwnProps,\n TDispatchProps,\n TMergedProps,\n State\n>(\n dispatch: Dispatch>,\n {\n initMapStateToProps,\n initMapDispatchToProps,\n initMergeProps,\n ...options\n }: SelectorFactoryOptions<\n TStateProps,\n TOwnProps,\n TDispatchProps,\n TMergedProps,\n State\n >,\n) {\n const mapStateToProps = initMapStateToProps(dispatch, options)\n const mapDispatchToProps = initMapDispatchToProps(dispatch, options)\n const mergeProps = initMergeProps(dispatch, options)\n\n if (process.env.NODE_ENV !== 'production') {\n verifySubselectors(mapStateToProps, mapDispatchToProps, mergeProps)\n }\n\n return pureFinalPropsSelectorFactory<\n TStateProps,\n TOwnProps,\n TDispatchProps,\n TMergedProps,\n State\n >(mapStateToProps, mapDispatchToProps, mergeProps, dispatch, options)\n}\n","import type { ActionCreatorsMapObject, Dispatch, ActionCreator } from 'redux'\n\nimport type { FixTypeLater } from '../types'\nimport verifyPlainObject from '../utils/verifyPlainObject'\n\ntype AnyState = { [key: string]: any }\ntype StateOrDispatch = S | Dispatch\n\ntype AnyProps = { [key: string]: any }\n\nexport type MapToProps

= {\n // eslint-disable-next-line no-unused-vars\n (stateOrDispatch: StateOrDispatch, ownProps?: P): FixTypeLater\n dependsOnOwnProps?: boolean\n}\n\nexport function wrapMapToPropsConstant(\n // * Note:\n // It seems that the dispatch argument\n // could be a dispatch function in some cases (ex: whenMapDispatchToPropsIsMissing)\n // and a state object in some others (ex: whenMapStateToPropsIsMissing)\n // eslint-disable-next-line no-unused-vars\n getConstant: (dispatch: Dispatch) =>\n | {\n dispatch?: Dispatch\n dependsOnOwnProps?: boolean\n }\n | ActionCreatorsMapObject\n | ActionCreator,\n) {\n return function initConstantSelector(dispatch: Dispatch) {\n const constant = getConstant(dispatch)\n\n function constantSelector() {\n return constant\n }\n constantSelector.dependsOnOwnProps = false\n return constantSelector\n }\n}\n\n// dependsOnOwnProps is used by createMapToPropsProxy to determine whether to pass props as args\n// to the mapToProps function being wrapped. It is also used by makePurePropsSelector to determine\n// whether mapToProps needs to be invoked when props have changed.\n//\n// A length of one signals that mapToProps does not depend on props from the parent component.\n// A length of zero is assumed to mean mapToProps is getting args via arguments or ...args and\n// therefore not reporting its length accurately..\n// TODO Can this get pulled out so that we can subscribe directly to the store if we don't need ownProps?\nexport function getDependsOnOwnProps(mapToProps: MapToProps) {\n return mapToProps.dependsOnOwnProps\n ? Boolean(mapToProps.dependsOnOwnProps)\n : mapToProps.length !== 1\n}\n\n// Used by whenMapStateToPropsIsFunction and whenMapDispatchToPropsIsFunction,\n// this function wraps mapToProps in a proxy function which does several things:\n//\n// * Detects whether the mapToProps function being called depends on props, which\n// is used by selectorFactory to decide if it should reinvoke on props changes.\n//\n// * On first call, handles mapToProps if returns another function, and treats that\n// new function as the true mapToProps for subsequent calls.\n//\n// * On first call, verifies the first result is a plain object, in order to warn\n// the developer that their mapToProps function is not returning a valid result.\n//\nexport function wrapMapToPropsFunc

(\n mapToProps: MapToProps,\n methodName: string,\n) {\n return function initProxySelector(\n dispatch: Dispatch,\n { displayName }: { displayName: string },\n ) {\n const proxy = function mapToPropsProxy(\n stateOrDispatch: StateOrDispatch,\n ownProps?: P,\n ): MapToProps {\n return proxy.dependsOnOwnProps\n ? proxy.mapToProps(stateOrDispatch, ownProps)\n : proxy.mapToProps(stateOrDispatch, undefined)\n }\n\n // allow detectFactoryAndVerify to get ownProps\n proxy.dependsOnOwnProps = true\n\n proxy.mapToProps = function detectFactoryAndVerify(\n stateOrDispatch: StateOrDispatch,\n ownProps?: P,\n ): MapToProps {\n proxy.mapToProps = mapToProps\n proxy.dependsOnOwnProps = getDependsOnOwnProps(mapToProps)\n let props = proxy(stateOrDispatch, ownProps)\n\n if (typeof props === 'function') {\n proxy.mapToProps = props\n proxy.dependsOnOwnProps = getDependsOnOwnProps(props)\n props = proxy(stateOrDispatch, ownProps)\n }\n\n if (process.env.NODE_ENV !== 'production')\n verifyPlainObject(props, displayName, methodName)\n\n return props\n }\n\n return proxy\n }\n}\n","import type { Action, Dispatch } from 'redux'\n\nexport function createInvalidArgFactory(arg: unknown, name: string) {\n return (\n dispatch: Dispatch>,\n options: { readonly wrappedComponentName: string },\n ) => {\n throw new Error(\n `Invalid value of type ${typeof arg} for ${name} argument when connecting component ${\n options.wrappedComponentName\n }.`,\n )\n }\n}\n","import type { Action, Dispatch } from 'redux'\nimport verifyPlainObject from '../utils/verifyPlainObject'\nimport { createInvalidArgFactory } from './invalidArgFactory'\nimport type { MergeProps } from './selectorFactory'\nimport type { EqualityFn } from '../types'\n\nexport function defaultMergeProps<\n TStateProps,\n TDispatchProps,\n TOwnProps,\n TMergedProps\n>(\n stateProps: TStateProps,\n dispatchProps: TDispatchProps,\n ownProps: TOwnProps,\n): TMergedProps {\n // @ts-ignore\n return { ...ownProps, ...stateProps, ...dispatchProps }\n}\n\nexport function wrapMergePropsFunc<\n TStateProps,\n TDispatchProps,\n TOwnProps,\n TMergedProps\n>(\n mergeProps: MergeProps,\n): (\n dispatch: Dispatch>,\n options: {\n readonly displayName: string\n readonly areMergedPropsEqual: EqualityFn\n }\n) => MergeProps {\n return function initMergePropsProxy(\n dispatch,\n { displayName, areMergedPropsEqual },\n ) {\n let hasRunOnce = false\n let mergedProps: TMergedProps\n\n return function mergePropsProxy(\n stateProps: TStateProps,\n dispatchProps: TDispatchProps,\n ownProps: TOwnProps,\n ) {\n const nextMergedProps = mergeProps(stateProps, dispatchProps, ownProps)\n\n if (hasRunOnce) {\n if (!areMergedPropsEqual(nextMergedProps, mergedProps))\n mergedProps = nextMergedProps\n } else {\n hasRunOnce = true\n mergedProps = nextMergedProps\n\n if (process.env.NODE_ENV !== 'production')\n verifyPlainObject(mergedProps, displayName, 'mergeProps')\n }\n\n return mergedProps\n }\n }\n}\n\nexport function mergePropsFactory<\n TStateProps,\n TDispatchProps,\n TOwnProps,\n TMergedProps\n>(\n mergeProps?: MergeProps,\n) {\n return !mergeProps\n ? () => defaultMergeProps\n : typeof mergeProps === 'function'\n ? wrapMergePropsFunc(mergeProps)\n : createInvalidArgFactory(mergeProps, 'mergeProps')\n}\n","// Default to a dummy \"batch\" implementation that just runs the callback\nexport function defaultNoopBatch(callback: () => void) {\n callback()\n}\n","import { defaultNoopBatch as batch } from './batch'\n\n// encapsulates the subscription logic for connecting a component to the redux store, as\n// well as nesting subscriptions of descendant components, so that we can ensure the\n// ancestor components re-render before descendants\n\ntype VoidFunc = () => void\n\ntype Listener = {\n callback: VoidFunc\n next: Listener | null\n prev: Listener | null\n}\n\nfunction createListenerCollection() {\n let first: Listener | null = null\n let last: Listener | null = null\n\n return {\n clear() {\n first = null\n last = null\n },\n\n notify() {\n batch(() => {\n let listener = first\n while (listener) {\n listener.callback()\n listener = listener.next\n }\n })\n },\n\n get() {\n const listeners: Listener[] = []\n let listener = first\n while (listener) {\n listeners.push(listener)\n listener = listener.next\n }\n return listeners\n },\n\n subscribe(callback: () => void) {\n let isSubscribed = true\n\n const listener: Listener = (last = {\n callback,\n next: null,\n prev: last,\n })\n\n if (listener.prev) {\n listener.prev.next = listener\n } else {\n first = listener\n }\n\n return function unsubscribe() {\n if (!isSubscribed || first === null) return\n isSubscribed = false\n\n if (listener.next) {\n listener.next.prev = listener.prev\n } else {\n last = listener.prev\n }\n if (listener.prev) {\n listener.prev.next = listener.next\n } else {\n first = listener.next\n }\n }\n },\n }\n}\n\ntype ListenerCollection = ReturnType\n\nexport interface Subscription {\n addNestedSub: (listener: VoidFunc) => VoidFunc\n notifyNestedSubs: VoidFunc\n handleChangeWrapper: VoidFunc\n isSubscribed: () => boolean\n onStateChange?: VoidFunc | null\n trySubscribe: VoidFunc\n tryUnsubscribe: VoidFunc\n getListeners: () => ListenerCollection\n}\n\nconst nullListeners = {\n notify() {},\n get: () => [],\n} as unknown as ListenerCollection\n\nexport function createSubscription(store: any, parentSub?: Subscription) {\n let unsubscribe: VoidFunc | undefined\n let listeners: ListenerCollection = nullListeners\n\n // Reasons to keep the subscription active\n let subscriptionsAmount = 0\n\n // Is this specific subscription subscribed (or only nested ones?)\n let selfSubscribed = false\n\n function addNestedSub(listener: () => void) {\n trySubscribe()\n\n const cleanupListener = listeners.subscribe(listener)\n\n // cleanup nested sub\n let removed = false\n return () => {\n if (!removed) {\n removed = true\n cleanupListener()\n tryUnsubscribe()\n }\n }\n }\n\n function notifyNestedSubs() {\n listeners.notify()\n }\n\n function handleChangeWrapper() {\n if (subscription.onStateChange) {\n subscription.onStateChange()\n }\n }\n\n function isSubscribed() {\n return selfSubscribed\n }\n\n function trySubscribe() {\n subscriptionsAmount++\n if (!unsubscribe) {\n unsubscribe = parentSub\n ? parentSub.addNestedSub(handleChangeWrapper)\n : store.subscribe(handleChangeWrapper)\n\n listeners = createListenerCollection()\n }\n }\n\n function tryUnsubscribe() {\n subscriptionsAmount--\n if (unsubscribe && subscriptionsAmount === 0) {\n unsubscribe()\n unsubscribe = undefined\n listeners.clear()\n listeners = nullListeners\n }\n }\n\n function trySubscribeSelf() {\n if (!selfSubscribed) {\n selfSubscribed = true\n trySubscribe()\n }\n }\n\n function tryUnsubscribeSelf() {\n if (selfSubscribed) {\n selfSubscribed = false\n tryUnsubscribe()\n }\n }\n\n const subscription: Subscription = {\n addNestedSub,\n notifyNestedSubs,\n handleChangeWrapper,\n isSubscribed,\n trySubscribe: trySubscribeSelf,\n tryUnsubscribe: tryUnsubscribeSelf,\n getListeners: () => listeners,\n }\n\n return subscription\n}\n","import { React } from '../utils/react'\n\n// React currently throws a warning when using useLayoutEffect on the server.\n// To get around it, we can conditionally useEffect on the server (no-op) and\n// useLayoutEffect in the browser. We need useLayoutEffect to ensure the store\n// subscription callback always has the selector from the latest render commit\n// available, otherwise a store update may happen between render and the effect,\n// which may cause missed updates; we also must ensure the store subscription\n// is created synchronously, otherwise a store update may occur before the\n// subscription is created and an inconsistent state may be observed\n\n// Matches logic in React's `shared/ExecutionEnvironment` file\nexport const canUseDOM = !!(\n typeof window !== 'undefined' &&\n typeof window.document !== 'undefined' &&\n typeof window.document.createElement !== 'undefined'\n)\n\nexport const useIsomorphicLayoutEffect = canUseDOM\n ? React.useLayoutEffect\n : React.useEffect\n","function is(x: unknown, y: unknown) {\n if (x === y) {\n return x !== 0 || y !== 0 || 1 / x === 1 / y\n } else {\n return x !== x && y !== y\n }\n}\n\nexport default function shallowEqual(objA: any, objB: any) {\n if (is(objA, objB)) return true\n\n if (\n typeof objA !== 'object' ||\n objA === null ||\n typeof objB !== 'object' ||\n objB === null\n ) {\n return false\n }\n\n const keysA = Object.keys(objA)\n const keysB = Object.keys(objB)\n\n if (keysA.length !== keysB.length) return false\n\n for (let i = 0; i < keysA.length; i++) {\n if (\n !Object.prototype.hasOwnProperty.call(objB, keysA[i]) ||\n !is(objA[keysA[i]], objB[keysA[i]])\n ) {\n return false\n }\n }\n\n return true\n}\n","// Copied directly from:\n// https://github.com/mridgway/hoist-non-react-statics/blob/main/src/index.js\n// https://unpkg.com/browse/@types/hoist-non-react-statics@3.3.1/index.d.ts\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nimport type * as React from 'react'\nimport { ForwardRef, Memo, isMemo } from '../utils/react-is'\n\nconst REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true,\n} as const\n\nconst KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true,\n} as const\n\nconst FORWARD_REF_STATICS = {\n $$typeof: true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n} as const\n\nconst MEMO_STATICS = {\n $$typeof: true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true,\n} as const\n\nconst TYPE_STATICS = {\n [ForwardRef]: FORWARD_REF_STATICS,\n [Memo]: MEMO_STATICS,\n} as const\n\nfunction getStatics(component: any) {\n // React v16.11 and below\n if (isMemo(component)) {\n return MEMO_STATICS\n }\n\n // React v16.12 and above\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS\n}\n\nexport type NonReactStatics<\n S extends React.ComponentType,\n C extends {\n [key: string]: true\n } = {}\n> = {\n [key in Exclude<\n keyof S,\n S extends React.MemoExoticComponent\n ? keyof typeof MEMO_STATICS | keyof C\n : S extends React.ForwardRefExoticComponent\n ? keyof typeof FORWARD_REF_STATICS | keyof C\n : keyof typeof REACT_STATICS | keyof typeof KNOWN_STATICS | keyof C\n >]: S[key]\n}\n\nconst defineProperty = Object.defineProperty\nconst getOwnPropertyNames = Object.getOwnPropertyNames\nconst getOwnPropertySymbols = Object.getOwnPropertySymbols\nconst getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor\nconst getPrototypeOf = Object.getPrototypeOf\nconst objectPrototype = Object.prototype\n\nexport default function hoistNonReactStatics<\n T extends React.ComponentType,\n S extends React.ComponentType,\n C extends {\n [key: string]: true\n } = {}\n>(targetComponent: T, sourceComponent: S): T & NonReactStatics {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n\n if (objectPrototype) {\n const inheritedComponent = getPrototypeOf(sourceComponent)\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent)\n }\n }\n\n let keys: (string | symbol)[] = getOwnPropertyNames(sourceComponent)\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent))\n }\n\n const targetStatics = getStatics(targetComponent)\n const sourceStatics = getStatics(sourceComponent)\n\n for (let i = 0; i < keys.length; ++i) {\n const key = keys[i]\n if (\n !KNOWN_STATICS[key as keyof typeof KNOWN_STATICS] &&\n !(sourceStatics && sourceStatics[key as keyof typeof sourceStatics]) &&\n !(targetStatics && targetStatics[key as keyof typeof targetStatics])\n ) {\n const descriptor = getOwnPropertyDescriptor(sourceComponent, key)\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor!)\n } catch (e) {\n // ignore\n }\n }\n }\n }\n\n return targetComponent as any\n}\n","/* eslint-disable valid-jsdoc, @typescript-eslint/no-unused-vars */\nimport type { ComponentType } from 'react'\nimport { React } from '../utils/react'\nimport { isValidElementType, isContextConsumer } from '../utils/react-is'\n\nimport type { Store } from 'redux'\n\nimport type {\n ConnectedComponent,\n InferableComponentEnhancer,\n InferableComponentEnhancerWithProps,\n ResolveThunks,\n DispatchProp,\n ConnectPropsMaybeWithoutContext,\n} from '../types'\n\nimport type {\n MapStateToPropsParam,\n MapDispatchToPropsParam,\n MergeProps,\n MapDispatchToPropsNonObject,\n SelectorFactoryOptions,\n} from '../connect/selectorFactory'\nimport defaultSelectorFactory from '../connect/selectorFactory'\nimport { mapDispatchToPropsFactory } from '../connect/mapDispatchToProps'\nimport { mapStateToPropsFactory } from '../connect/mapStateToProps'\nimport { mergePropsFactory } from '../connect/mergeProps'\n\nimport type { Subscription } from '../utils/Subscription'\nimport { createSubscription } from '../utils/Subscription'\nimport { useIsomorphicLayoutEffect } from '../utils/useIsomorphicLayoutEffect'\nimport shallowEqual from '../utils/shallowEqual'\nimport hoistStatics from '../utils/hoistStatics'\nimport warning from '../utils/warning'\n\nimport type {\n ReactReduxContextValue,\n ReactReduxContextInstance,\n} from './Context'\nimport { ReactReduxContext } from './Context'\n\nimport type { uSES } from '../utils/useSyncExternalStore'\nimport { notInitialized } from '../utils/useSyncExternalStore'\n\nlet useSyncExternalStore = notInitialized as uSES\nexport const initializeConnect = (fn: uSES) => {\n useSyncExternalStore = fn\n}\n\n// Define some constant arrays just to avoid re-creating these\nconst EMPTY_ARRAY: [unknown, number] = [null, 0]\nconst NO_SUBSCRIPTION_ARRAY = [null, null]\n\n// Attempts to stringify whatever not-really-a-component value we were given\n// for logging in an error message\nconst stringifyComponent = (Comp: unknown) => {\n try {\n return JSON.stringify(Comp)\n } catch (err) {\n return String(Comp)\n }\n}\n\ntype EffectFunc = (...args: any[]) => void | ReturnType\n\n// This is \"just\" a `useLayoutEffect`, but with two modifications:\n// - we need to fall back to `useEffect` in SSR to avoid annoying warnings\n// - we extract this to a separate function to avoid closing over values\n// and causing memory leaks\nfunction useIsomorphicLayoutEffectWithArgs(\n effectFunc: EffectFunc,\n effectArgs: any[],\n dependencies?: React.DependencyList,\n) {\n useIsomorphicLayoutEffect(() => effectFunc(...effectArgs), dependencies)\n}\n\n// Effect callback, extracted: assign the latest props values to refs for later usage\nfunction captureWrapperProps(\n lastWrapperProps: React.MutableRefObject,\n lastChildProps: React.MutableRefObject,\n renderIsScheduled: React.MutableRefObject,\n wrapperProps: unknown,\n // actualChildProps: unknown,\n childPropsFromStoreUpdate: React.MutableRefObject,\n notifyNestedSubs: () => void,\n) {\n // We want to capture the wrapper props and child props we used for later comparisons\n lastWrapperProps.current = wrapperProps\n renderIsScheduled.current = false\n\n // If the render was from a store update, clear out that reference and cascade the subscriber update\n if (childPropsFromStoreUpdate.current) {\n childPropsFromStoreUpdate.current = null\n notifyNestedSubs()\n }\n}\n\n// Effect callback, extracted: subscribe to the Redux store or nearest connected ancestor,\n// check for updates after dispatched actions, and trigger re-renders.\nfunction subscribeUpdates(\n shouldHandleStateChanges: boolean,\n store: Store,\n subscription: Subscription,\n childPropsSelector: (state: unknown, props: unknown) => unknown,\n lastWrapperProps: React.MutableRefObject,\n lastChildProps: React.MutableRefObject,\n renderIsScheduled: React.MutableRefObject,\n isMounted: React.MutableRefObject,\n childPropsFromStoreUpdate: React.MutableRefObject,\n notifyNestedSubs: () => void,\n // forceComponentUpdateDispatch: React.Dispatch,\n additionalSubscribeListener: () => void,\n) {\n // If we're not subscribed to the store, nothing to do here\n if (!shouldHandleStateChanges) return () => {}\n\n // Capture values for checking if and when this component unmounts\n let didUnsubscribe = false\n let lastThrownError: Error | null = null\n\n // We'll run this callback every time a store subscription update propagates to this component\n const checkForUpdates = () => {\n if (didUnsubscribe || !isMounted.current) {\n // Don't run stale listeners.\n // Redux doesn't guarantee unsubscriptions happen until next dispatch.\n return\n }\n\n // TODO We're currently calling getState ourselves here, rather than letting `uSES` do it\n const latestStoreState = store.getState()\n\n let newChildProps, error\n try {\n // Actually run the selector with the most recent store state and wrapper props\n // to determine what the child props should be\n newChildProps = childPropsSelector(\n latestStoreState,\n lastWrapperProps.current,\n )\n } catch (e) {\n error = e\n lastThrownError = e as Error | null\n }\n\n if (!error) {\n lastThrownError = null\n }\n\n // If the child props haven't changed, nothing to do here - cascade the subscription update\n if (newChildProps === lastChildProps.current) {\n if (!renderIsScheduled.current) {\n notifyNestedSubs()\n }\n } else {\n // Save references to the new child props. Note that we track the \"child props from store update\"\n // as a ref instead of a useState/useReducer because we need a way to determine if that value has\n // been processed. If this went into useState/useReducer, we couldn't clear out the value without\n // forcing another re-render, which we don't want.\n lastChildProps.current = newChildProps\n childPropsFromStoreUpdate.current = newChildProps\n renderIsScheduled.current = true\n\n // TODO This is hacky and not how `uSES` is meant to be used\n // Trigger the React `useSyncExternalStore` subscriber\n additionalSubscribeListener()\n }\n }\n\n // Actually subscribe to the nearest connected ancestor (or store)\n subscription.onStateChange = checkForUpdates\n subscription.trySubscribe()\n\n // Pull data from the store after first render in case the store has\n // changed since we began.\n checkForUpdates()\n\n const unsubscribeWrapper = () => {\n didUnsubscribe = true\n subscription.tryUnsubscribe()\n subscription.onStateChange = null\n\n if (lastThrownError) {\n // It's possible that we caught an error due to a bad mapState function, but the\n // parent re-rendered without this component and we're about to unmount.\n // This shouldn't happen as long as we do top-down subscriptions correctly, but\n // if we ever do those wrong, this throw will surface the error in our tests.\n // In that case, throw the error from here so it doesn't get lost.\n throw lastThrownError\n }\n }\n\n return unsubscribeWrapper\n}\n\n// Reducer initial state creation for our update reducer\nconst initStateUpdates = () => EMPTY_ARRAY\n\nexport interface ConnectProps {\n /** A custom Context instance that the component can use to access the store from an alternate Provider using that same Context instance */\n context?: ReactReduxContextInstance\n /** A Redux store instance to be used for subscriptions instead of the store from a Provider */\n store?: Store\n}\n\ninterface InternalConnectProps extends ConnectProps {\n reactReduxForwardedRef?: React.ForwardedRef\n}\n\nfunction strictEqual(a: unknown, b: unknown) {\n return a === b\n}\n\n/**\n * Infers the type of props that a connector will inject into a component.\n */\nexport type ConnectedProps =\n TConnector extends InferableComponentEnhancerWithProps<\n infer TInjectedProps,\n any\n >\n ? unknown extends TInjectedProps\n ? TConnector extends InferableComponentEnhancer\n ? TInjectedProps\n : never\n : TInjectedProps\n : never\n\nexport interface ConnectOptions<\n State = unknown,\n TStateProps = {},\n TOwnProps = {},\n TMergedProps = {}\n> {\n forwardRef?: boolean\n context?: typeof ReactReduxContext\n areStatesEqual?: (\n nextState: State,\n prevState: State,\n nextOwnProps: TOwnProps,\n prevOwnProps: TOwnProps\n ) => boolean\n\n areOwnPropsEqual?: (\n nextOwnProps: TOwnProps,\n prevOwnProps: TOwnProps\n ) => boolean\n\n areStatePropsEqual?: (\n nextStateProps: TStateProps,\n prevStateProps: TStateProps\n ) => boolean\n areMergedPropsEqual?: (\n nextMergedProps: TMergedProps,\n prevMergedProps: TMergedProps\n ) => boolean\n}\n\n/**\n * Connects a React component to a Redux store.\n *\n * - Without arguments, just wraps the component, without changing the behavior / props\n *\n * - If 2 params are passed (3rd param, mergeProps, is skipped), default behavior\n * is to override ownProps (as stated in the docs), so what remains is everything that's\n * not a state or dispatch prop\n *\n * - When 3rd param is passed, we don't know if ownProps propagate and whether they\n * should be valid component props, because it depends on mergeProps implementation.\n * As such, it is the user's responsibility to extend ownProps interface from state or\n * dispatch props or both when applicable\n *\n * @param mapStateToProps\n * @param mapDispatchToProps\n * @param mergeProps\n * @param options\n */\nexport interface Connect {\n // tslint:disable:no-unnecessary-generics\n (): InferableComponentEnhancer\n\n /** mapState only */\n (\n mapStateToProps: MapStateToPropsParam\n ): InferableComponentEnhancerWithProps\n\n /** mapDispatch only (as a function) */\n (\n mapStateToProps: null | undefined,\n mapDispatchToProps: MapDispatchToPropsNonObject\n ): InferableComponentEnhancerWithProps\n\n /** mapDispatch only (as an object) */\n (\n mapStateToProps: null | undefined,\n mapDispatchToProps: MapDispatchToPropsParam\n ): InferableComponentEnhancerWithProps<\n ResolveThunks,\n TOwnProps\n >\n\n /** mapState and mapDispatch (as a function)*/\n (\n mapStateToProps: MapStateToPropsParam,\n mapDispatchToProps: MapDispatchToPropsNonObject\n ): InferableComponentEnhancerWithProps<\n TStateProps & TDispatchProps,\n TOwnProps\n >\n\n /** mapState and mapDispatch (nullish) */\n (\n mapStateToProps: MapStateToPropsParam,\n mapDispatchToProps: null | undefined\n ): InferableComponentEnhancerWithProps\n\n /** mapState and mapDispatch (as an object) */\n (\n mapStateToProps: MapStateToPropsParam,\n mapDispatchToProps: MapDispatchToPropsParam\n ): InferableComponentEnhancerWithProps<\n TStateProps & ResolveThunks,\n TOwnProps\n >\n\n /** mergeProps only */\n (\n mapStateToProps: null | undefined,\n mapDispatchToProps: null | undefined,\n mergeProps: MergeProps\n ): InferableComponentEnhancerWithProps\n\n /** mapState and mergeProps */\n <\n TStateProps = {},\n no_dispatch = {},\n TOwnProps = {},\n TMergedProps = {},\n State = DefaultState\n >(\n mapStateToProps: MapStateToPropsParam,\n mapDispatchToProps: null | undefined,\n mergeProps: MergeProps\n ): InferableComponentEnhancerWithProps\n\n /** mapDispatch (as a object) and mergeProps */\n (\n mapStateToProps: null | undefined,\n mapDispatchToProps: MapDispatchToPropsParam,\n mergeProps: MergeProps\n ): InferableComponentEnhancerWithProps\n\n /** mapState and options */\n (\n mapStateToProps: MapStateToPropsParam,\n mapDispatchToProps: null | undefined,\n mergeProps: null | undefined,\n options: ConnectOptions\n ): InferableComponentEnhancerWithProps\n\n /** mapDispatch (as a function) and options */\n (\n mapStateToProps: null | undefined,\n mapDispatchToProps: MapDispatchToPropsNonObject,\n mergeProps: null | undefined,\n options: ConnectOptions<{}, TStateProps, TOwnProps>\n ): InferableComponentEnhancerWithProps\n\n /** mapDispatch (as an object) and options*/\n (\n mapStateToProps: null | undefined,\n mapDispatchToProps: MapDispatchToPropsParam,\n mergeProps: null | undefined,\n options: ConnectOptions<{}, TStateProps, TOwnProps>\n ): InferableComponentEnhancerWithProps<\n ResolveThunks,\n TOwnProps\n >\n\n /** mapState, mapDispatch (as a function), and options */\n (\n mapStateToProps: MapStateToPropsParam,\n mapDispatchToProps: MapDispatchToPropsNonObject,\n mergeProps: null | undefined,\n options: ConnectOptions\n ): InferableComponentEnhancerWithProps<\n TStateProps & TDispatchProps,\n TOwnProps\n >\n\n /** mapState, mapDispatch (as an object), and options */\n (\n mapStateToProps: MapStateToPropsParam,\n mapDispatchToProps: MapDispatchToPropsParam,\n mergeProps: null | undefined,\n options: ConnectOptions\n ): InferableComponentEnhancerWithProps<\n TStateProps & ResolveThunks,\n TOwnProps\n >\n\n /** mapState, mapDispatch, mergeProps, and options */\n <\n TStateProps = {},\n TDispatchProps = {},\n TOwnProps = {},\n TMergedProps = {},\n State = DefaultState\n >(\n mapStateToProps: MapStateToPropsParam,\n mapDispatchToProps: MapDispatchToPropsParam,\n mergeProps: MergeProps<\n TStateProps,\n TDispatchProps,\n TOwnProps,\n TMergedProps\n >,\n options?: ConnectOptions\n ): InferableComponentEnhancerWithProps\n // tslint:enable:no-unnecessary-generics\n}\n\nlet hasWarnedAboutDeprecatedPureOption = false\n\n/**\n * Connects a React component to a Redux store.\n *\n * - Without arguments, just wraps the component, without changing the behavior / props\n *\n * - If 2 params are passed (3rd param, mergeProps, is skipped), default behavior\n * is to override ownProps (as stated in the docs), so what remains is everything that's\n * not a state or dispatch prop\n *\n * - When 3rd param is passed, we don't know if ownProps propagate and whether they\n * should be valid component props, because it depends on mergeProps implementation.\n * As such, it is the user's responsibility to extend ownProps interface from state or\n * dispatch props or both when applicable\n *\n * @param mapStateToProps A function that extracts values from state\n * @param mapDispatchToProps Setup for dispatching actions\n * @param mergeProps Optional callback to merge state and dispatch props together\n * @param options Options for configuring the connection\n *\n */\nfunction connect<\n TStateProps = {},\n TDispatchProps = {},\n TOwnProps = {},\n TMergedProps = {},\n State = unknown\n>(\n mapStateToProps?: MapStateToPropsParam,\n mapDispatchToProps?: MapDispatchToPropsParam,\n mergeProps?: MergeProps,\n {\n // The `pure` option has been removed, so TS doesn't like us destructuring this to check its existence.\n // @ts-ignore\n pure,\n areStatesEqual = strictEqual,\n areOwnPropsEqual = shallowEqual,\n areStatePropsEqual = shallowEqual,\n areMergedPropsEqual = shallowEqual,\n\n // use React's forwardRef to expose a ref of the wrapped component\n forwardRef = false,\n\n // the context consumer to use\n context = ReactReduxContext,\n }: ConnectOptions = {},\n): unknown {\n if (process.env.NODE_ENV !== 'production') {\n if (pure !== undefined && !hasWarnedAboutDeprecatedPureOption) {\n hasWarnedAboutDeprecatedPureOption = true\n warning(\n 'The `pure` option has been removed. `connect` is now always a \"pure/memoized\" component',\n )\n }\n }\n\n const Context = context\n\n const initMapStateToProps = mapStateToPropsFactory(mapStateToProps)\n const initMapDispatchToProps = mapDispatchToPropsFactory(mapDispatchToProps)\n const initMergeProps = mergePropsFactory(mergeProps)\n\n const shouldHandleStateChanges = Boolean(mapStateToProps)\n\n const wrapWithConnect = (\n WrappedComponent: ComponentType,\n ) => {\n type WrappedComponentProps = TProps &\n ConnectPropsMaybeWithoutContext\n\n if (process.env.NODE_ENV !== 'production') {\n const isValid = /*#__PURE__*/ isValidElementType(WrappedComponent)\n if (!isValid)\n throw new Error(\n `You must pass a component to the function returned by connect. Instead received ${stringifyComponent(\n WrappedComponent,\n )}`,\n )\n }\n\n const wrappedComponentName =\n WrappedComponent.displayName || WrappedComponent.name || 'Component'\n\n const displayName = `Connect(${wrappedComponentName})`\n\n const selectorFactoryOptions: SelectorFactoryOptions<\n any,\n any,\n any,\n any,\n State\n > = {\n shouldHandleStateChanges,\n displayName,\n wrappedComponentName,\n WrappedComponent,\n // @ts-ignore\n initMapStateToProps,\n // @ts-ignore\n initMapDispatchToProps,\n initMergeProps,\n areStatesEqual,\n areStatePropsEqual,\n areOwnPropsEqual,\n areMergedPropsEqual,\n }\n\n function ConnectFunction(\n props: InternalConnectProps & TOwnProps,\n ) {\n const [propsContext, reactReduxForwardedRef, wrapperProps] =\n React.useMemo(() => {\n // Distinguish between actual \"data\" props that were passed to the wrapper component,\n // and values needed to control behavior (forwarded refs, alternate context instances).\n // To maintain the wrapperProps object reference, memoize this destructuring.\n const { reactReduxForwardedRef, ...wrapperProps } = props\n return [props.context, reactReduxForwardedRef, wrapperProps]\n }, [props])\n\n const ContextToUse: ReactReduxContextInstance = React.useMemo(() => {\n // Users may optionally pass in a custom context instance to use instead of our ReactReduxContext.\n // Memoize the check that determines which context instance we should use.\n let ResultContext = Context\n if (propsContext?.Consumer) {\n if (process.env.NODE_ENV !== 'production') {\n const isValid = /*#__PURE__*/ isContextConsumer(\n // @ts-ignore\n ,\n )\n if (!isValid) {\n throw new Error(\n 'You must pass a valid React context consumer as `props.context`',\n )\n }\n ResultContext = propsContext\n }\n }\n return ResultContext\n }, [propsContext, Context])\n\n // Retrieve the store and ancestor subscription via context, if available\n const contextValue = React.useContext(ContextToUse)\n\n // The store _must_ exist as either a prop or in context.\n // We'll check to see if it _looks_ like a Redux store first.\n // This allows us to pass through a `store` prop that is just a plain value.\n const didStoreComeFromProps =\n Boolean(props.store) &&\n Boolean(props.store!.getState) &&\n Boolean(props.store!.dispatch)\n const didStoreComeFromContext =\n Boolean(contextValue) && Boolean(contextValue!.store)\n\n if (\n process.env.NODE_ENV !== 'production' &&\n !didStoreComeFromProps &&\n !didStoreComeFromContext\n ) {\n throw new Error(\n `Could not find \"store\" in the context of ` +\n `\"${displayName}\". Either wrap the root component in a , ` +\n `or pass a custom React context provider to and the corresponding ` +\n `React context consumer to ${displayName} in connect options.`,\n )\n }\n\n // Based on the previous check, one of these must be true\n const store: Store = didStoreComeFromProps\n ? props.store!\n : contextValue!.store\n\n const getServerState = didStoreComeFromContext\n ? contextValue!.getServerState\n : store.getState\n\n const childPropsSelector = React.useMemo(() => {\n // The child props selector needs the store reference as an input.\n // Re-create this selector whenever the store changes.\n return defaultSelectorFactory(store.dispatch, selectorFactoryOptions)\n }, [store])\n\n const [subscription, notifyNestedSubs] = React.useMemo(() => {\n if (!shouldHandleStateChanges) return NO_SUBSCRIPTION_ARRAY\n\n // This Subscription's source should match where store came from: props vs. context. A component\n // connected to the store via props shouldn't use subscription from context, or vice versa.\n const subscription = createSubscription(\n store,\n didStoreComeFromProps ? undefined : contextValue!.subscription,\n )\n\n // `notifyNestedSubs` is duplicated to handle the case where the component is unmounted in\n // the middle of the notification loop, where `subscription` will then be null. This can\n // probably be avoided if Subscription's listeners logic is changed to not call listeners\n // that have been unsubscribed in the middle of the notification loop.\n const notifyNestedSubs =\n subscription.notifyNestedSubs.bind(subscription)\n\n return [subscription, notifyNestedSubs]\n }, [store, didStoreComeFromProps, contextValue])\n\n // Determine what {store, subscription} value should be put into nested context, if necessary,\n // and memoize that value to avoid unnecessary context updates.\n const overriddenContextValue = React.useMemo(() => {\n if (didStoreComeFromProps) {\n // This component is directly subscribed to a store from props.\n // We don't want descendants reading from this store - pass down whatever\n // the existing context value is from the nearest connected ancestor.\n return contextValue!\n }\n\n // Otherwise, put this component's subscription instance into context, so that\n // connected descendants won't update until after this component is done\n return {\n ...contextValue,\n subscription,\n } as ReactReduxContextValue\n }, [didStoreComeFromProps, contextValue, subscription])\n\n // Set up refs to coordinate values between the subscription effect and the render logic\n const lastChildProps = React.useRef()\n const lastWrapperProps = React.useRef(wrapperProps)\n const childPropsFromStoreUpdate = React.useRef()\n const renderIsScheduled = React.useRef(false)\n const isProcessingDispatch = React.useRef(false)\n const isMounted = React.useRef(false)\n\n const latestSubscriptionCallbackError = React.useRef()\n\n useIsomorphicLayoutEffect(() => {\n isMounted.current = true\n return () => {\n isMounted.current = false\n }\n }, [])\n\n const actualChildPropsSelector = React.useMemo(() => {\n const selector = () => {\n // Tricky logic here:\n // - This render may have been triggered by a Redux store update that produced new child props\n // - However, we may have gotten new wrapper props after that\n // If we have new child props, and the same wrapper props, we know we should use the new child props as-is.\n // But, if we have new wrapper props, those might change the child props, so we have to recalculate things.\n // So, we'll use the child props from store update only if the wrapper props are the same as last time.\n if (\n childPropsFromStoreUpdate.current &&\n wrapperProps === lastWrapperProps.current\n ) {\n return childPropsFromStoreUpdate.current\n }\n\n // TODO We're reading the store directly in render() here. Bad idea?\n // This will likely cause Bad Things (TM) to happen in Concurrent Mode.\n // Note that we do this because on renders _not_ caused by store updates, we need the latest store state\n // to determine what the child props should be.\n return childPropsSelector(store.getState(), wrapperProps)\n }\n return selector\n }, [store, wrapperProps])\n\n // We need this to execute synchronously every time we re-render. However, React warns\n // about useLayoutEffect in SSR, so we try to detect environment and fall back to\n // just useEffect instead to avoid the warning, since neither will run anyway.\n\n const subscribeForReact = React.useMemo(() => {\n const subscribe = (reactListener: () => void) => {\n if (!subscription) {\n return () => {}\n }\n\n return subscribeUpdates(\n shouldHandleStateChanges,\n store,\n subscription,\n // @ts-ignore\n childPropsSelector,\n lastWrapperProps,\n lastChildProps,\n renderIsScheduled,\n isMounted,\n childPropsFromStoreUpdate,\n notifyNestedSubs,\n reactListener,\n )\n }\n\n return subscribe\n }, [subscription])\n\n useIsomorphicLayoutEffectWithArgs(captureWrapperProps, [\n lastWrapperProps,\n lastChildProps,\n renderIsScheduled,\n wrapperProps,\n childPropsFromStoreUpdate,\n notifyNestedSubs,\n ])\n\n let actualChildProps: Record\n\n try {\n actualChildProps = useSyncExternalStore(\n // TODO We're passing through a big wrapper that does a bunch of extra side effects besides subscribing\n subscribeForReact,\n // TODO This is incredibly hacky. We've already processed the store update and calculated new child props,\n // TODO and we're just passing that through so it triggers a re-render for us rather than relying on `uSES`.\n actualChildPropsSelector,\n getServerState\n ? () => childPropsSelector(getServerState(), wrapperProps)\n : actualChildPropsSelector,\n )\n } catch (err) {\n if (latestSubscriptionCallbackError.current) {\n // eslint-disable-next-line no-extra-semi\n ;(\n err as Error\n ).message += `\\nThe error may be correlated with this previous error:\\n${latestSubscriptionCallbackError.current.stack}\\n\\n`\n }\n\n throw err\n }\n\n useIsomorphicLayoutEffect(() => {\n latestSubscriptionCallbackError.current = undefined\n childPropsFromStoreUpdate.current = undefined\n lastChildProps.current = actualChildProps\n })\n\n // Now that all that's done, we can finally try to actually render the child component.\n // We memoize the elements for the rendered child component as an optimization.\n const renderedWrappedComponent = React.useMemo(() => {\n return (\n // @ts-ignore\n \n )\n }, [reactReduxForwardedRef, WrappedComponent, actualChildProps])\n\n // If React sees the exact same element reference as last time, it bails out of re-rendering\n // that child, same as if it was wrapped in React.memo() or returned false from shouldComponentUpdate.\n const renderedChild = React.useMemo(() => {\n if (shouldHandleStateChanges) {\n // If this component is subscribed to store updates, we need to pass its own\n // subscription instance down to our descendants. That means rendering the same\n // Context instance, and putting a different value into the context.\n return (\n \n {renderedWrappedComponent}\n \n )\n }\n\n return renderedWrappedComponent\n }, [ContextToUse, renderedWrappedComponent, overriddenContextValue])\n\n return renderedChild\n }\n\n const _Connect = React.memo(ConnectFunction)\n\n type ConnectedWrapperComponent = typeof _Connect & {\n WrappedComponent: typeof WrappedComponent\n }\n\n // Add a hacky cast to get the right output type\n const Connect = _Connect as unknown as ConnectedComponent<\n typeof WrappedComponent,\n WrappedComponentProps\n >\n Connect.WrappedComponent = WrappedComponent\n Connect.displayName = ConnectFunction.displayName = displayName\n\n if (forwardRef) {\n const _forwarded = React.forwardRef(function forwardConnectRef(\n props,\n ref,\n ) {\n // @ts-ignore\n return \n })\n\n const forwarded = _forwarded as ConnectedWrapperComponent\n forwarded.displayName = displayName\n forwarded.WrappedComponent = WrappedComponent\n return /*#__PURE__*/ hoistStatics(forwarded, WrappedComponent)\n }\n\n return /*#__PURE__*/ hoistStatics(Connect, WrappedComponent)\n }\n\n return wrapWithConnect\n}\n\nexport default connect as Connect\n","import { wrapMapToPropsConstant, wrapMapToPropsFunc } from './wrapMapToProps'\nimport { createInvalidArgFactory } from './invalidArgFactory'\nimport type { MapStateToPropsParam } from './selectorFactory'\n\nexport function mapStateToPropsFactory(\n mapStateToProps: MapStateToPropsParam,\n) {\n return !mapStateToProps\n ? wrapMapToPropsConstant(() => ({}))\n : typeof mapStateToProps === 'function'\n ? // @ts-ignore\n wrapMapToPropsFunc(mapStateToProps, 'mapStateToProps')\n : createInvalidArgFactory(mapStateToProps, 'mapStateToProps')\n}\n","import type { Action, Dispatch } from 'redux'\nimport bindActionCreators from '../utils/bindActionCreators'\nimport { wrapMapToPropsConstant, wrapMapToPropsFunc } from './wrapMapToProps'\nimport { createInvalidArgFactory } from './invalidArgFactory'\nimport type { MapDispatchToPropsParam } from './selectorFactory'\n\nexport function mapDispatchToPropsFactory(\n mapDispatchToProps:\n | MapDispatchToPropsParam\n | undefined,\n) {\n return mapDispatchToProps && typeof mapDispatchToProps === 'object'\n ? wrapMapToPropsConstant((dispatch: Dispatch>) =>\n // @ts-ignore\n bindActionCreators(mapDispatchToProps, dispatch),\n )\n : !mapDispatchToProps\n ? wrapMapToPropsConstant((dispatch: Dispatch>) => ({\n dispatch,\n }))\n : typeof mapDispatchToProps === 'function'\n ? // @ts-ignore\n wrapMapToPropsFunc(mapDispatchToProps, 'mapDispatchToProps')\n : createInvalidArgFactory(mapDispatchToProps, 'mapDispatchToProps')\n}\n","import type { ActionCreatorsMapObject, Dispatch } from 'redux'\n\nexport default function bindActionCreators(\n actionCreators: ActionCreatorsMapObject,\n dispatch: Dispatch,\n): ActionCreatorsMapObject {\n const boundActionCreators: ActionCreatorsMapObject = {}\n\n for (const key in actionCreators) {\n const actionCreator = actionCreators[key]\n if (typeof actionCreator === 'function') {\n boundActionCreators[key] = (...args) => dispatch(actionCreator(...args))\n }\n }\n return boundActionCreators\n}\n","import type { Context, ReactNode } from 'react'\nimport { React } from '../utils/react'\nimport type { Action, Store, UnknownAction } from 'redux'\nimport type { DevModeCheckFrequency } from '../hooks/useSelector'\nimport { createSubscription } from '../utils/Subscription'\nimport { useIsomorphicLayoutEffect } from '../utils/useIsomorphicLayoutEffect'\nimport type { ReactReduxContextValue } from './Context'\nimport { ReactReduxContext } from './Context'\n\nexport interface ProviderProps<\n A extends Action = UnknownAction,\n S = unknown\n> {\n /**\n * The single Redux store in your application.\n */\n store: Store\n\n /**\n * An optional server state snapshot. Will be used during initial hydration render if available, to ensure that the UI output is consistent with the HTML generated on the server.\n */\n serverState?: S\n\n /**\n * Optional context to be used internally in react-redux. Use React.createContext() to create a context to be used.\n * If this is used, you'll need to customize `connect` by supplying the same context provided to the Provider.\n * Set the initial value to null, and the hooks will error\n * if this is not overwritten by Provider.\n */\n context?: Context | null>\n\n /**\n * Determines the frequency of stability checks for all selectors.\n * This setting overrides the global configuration for\n * the `useSelector` stability check, allowing you to specify how often\n * these checks should occur in development mode.\n *\n * @since 8.1.0\n */\n stabilityCheck?: DevModeCheckFrequency\n\n /**\n * Determines the frequency of identity function checks for all selectors.\n * This setting overrides the global configuration for\n * the `useSelector` identity function check, allowing you to specify how often\n * these checks should occur in development mode.\n *\n * **Note**: Previously referred to as `noopCheck`.\n *\n * @since 9.0.0\n */\n identityFunctionCheck?: DevModeCheckFrequency\n\n children: ReactNode\n}\n\nfunction Provider = UnknownAction, S = unknown>({\n store,\n context,\n children,\n serverState,\n stabilityCheck = 'once',\n identityFunctionCheck = 'once',\n}: ProviderProps) {\n const contextValue = React.useMemo(() => {\n const subscription = createSubscription(store)\n return {\n store,\n subscription,\n getServerState: serverState ? () => serverState : undefined,\n stabilityCheck,\n identityFunctionCheck,\n }\n }, [store, serverState, stabilityCheck, identityFunctionCheck])\n\n const previousState = React.useMemo(() => store.getState(), [store])\n\n useIsomorphicLayoutEffect(() => {\n const { subscription } = contextValue\n subscription.onStateChange = subscription.notifyNestedSubs\n subscription.trySubscribe()\n\n if (previousState !== store.getState()) {\n subscription.notifyNestedSubs()\n }\n return () => {\n subscription.tryUnsubscribe()\n subscription.onStateChange = undefined\n }\n }, [contextValue, previousState])\n\n const Context = context || ReactReduxContext\n\n // @ts-ignore 'AnyAction' is assignable to the constraint of type 'A', but 'A' could be instantiated with a different subtype\n return {children}\n}\n\nexport default Provider\n","import type { Context } from 'react'\nimport type { Action, Store } from 'redux'\nimport type { ReactReduxContextValue } from '../components/Context'\nimport { ReactReduxContext } from '../components/Context'\nimport {\n createReduxContextHook,\n useReduxContext as useDefaultReduxContext,\n} from './useReduxContext'\n\n/**\n * Represents a type that extracts the action type from a given Redux store.\n *\n * @template StoreType - The specific type of the Redux store.\n *\n * @since 9.1.0\n * @internal\n */\nexport type ExtractStoreActionType =\n StoreType extends Store ? ActionType : never\n\n/**\n * Represents a custom hook that provides access to the Redux store.\n *\n * @template StoreType - The specific type of the Redux store that gets returned.\n *\n * @since 9.1.0\n * @public\n */\nexport interface UseStore {\n /**\n * Returns the Redux store instance.\n *\n * @returns The Redux store instance.\n */\n (): StoreType\n\n /**\n * Returns the Redux store instance with specific state and action types.\n *\n * @returns The Redux store with the specified state and action types.\n *\n * @template StateType - The specific type of the state used in the store.\n * @template ActionType - The specific type of the actions used in the store.\n */\n <\n StateType extends ReturnType = ReturnType<\n StoreType['getState']\n >,\n ActionType extends Action = ExtractStoreActionType\n >(): Store\n\n /**\n * Creates a \"pre-typed\" version of {@linkcode useStore useStore}\n * where the type of the Redux `store` is predefined.\n *\n * This allows you to set the `store` type once, eliminating the need to\n * specify it with every {@linkcode useStore useStore} call.\n *\n * @returns A pre-typed `useStore` with the store type already defined.\n *\n * @example\n * ```ts\n * export const useAppStore = useStore.withTypes()\n * ```\n *\n * @template OverrideStoreType - The specific type of the Redux store that gets returned.\n *\n * @since 9.1.0\n */\n withTypes: <\n OverrideStoreType extends StoreType\n >() => UseStore\n}\n\n/**\n * Hook factory, which creates a `useStore` hook bound to a given context.\n *\n * @param {React.Context} [context=ReactReduxContext] Context passed to your ``.\n * @returns {Function} A `useStore` hook bound to the specified context.\n */\nexport function createStoreHook<\n StateType = unknown,\n ActionType extends Action = Action\n>(\n // @ts-ignore\n context?: Context | null> = ReactReduxContext\n) {\n const useReduxContext =\n context === ReactReduxContext\n ? useDefaultReduxContext\n : // @ts-ignore\n createReduxContextHook(context)\n const useStore = () => {\n const { store } = useReduxContext()\n return store\n }\n\n Object.assign(useStore, {\n withTypes: () => useStore,\n })\n\n return useStore as UseStore>\n}\n\n/**\n * A hook to access the redux store.\n *\n * @returns {any} the redux store\n *\n * @example\n *\n * import React from 'react'\n * import { useStore } from 'react-redux'\n *\n * export const ExampleComponent = () => {\n * const store = useStore()\n * return

\n * }\n */\nexport const useStore = /*#__PURE__*/ createStoreHook()\n","import type { Context } from 'react'\nimport type { Action, Dispatch, UnknownAction } from 'redux'\n\nimport type { ReactReduxContextValue } from '../components/Context'\nimport { ReactReduxContext } from '../components/Context'\nimport { createStoreHook, useStore as useDefaultStore } from './useStore'\n\n/**\n * Represents a custom hook that provides a dispatch function\n * from the Redux store.\n *\n * @template DispatchType - The specific type of the dispatch function.\n *\n * @since 9.1.0\n * @public\n */\nexport interface UseDispatch<\n DispatchType extends Dispatch = Dispatch\n> {\n /**\n * Returns the dispatch function from the Redux store.\n *\n * @returns The dispatch function from the Redux store.\n *\n * @template AppDispatch - The specific type of the dispatch function.\n */\n (): AppDispatch\n\n /**\n * Creates a \"pre-typed\" version of {@linkcode useDispatch useDispatch}\n * where the type of the `dispatch` function is predefined.\n *\n * This allows you to set the `dispatch` type once, eliminating the need to\n * specify it with every {@linkcode useDispatch useDispatch} call.\n *\n * @returns A pre-typed `useDispatch` with the dispatch type already defined.\n *\n * @example\n * ```ts\n * export const useAppDispatch = useDispatch.withTypes()\n * ```\n *\n * @template OverrideDispatchType - The specific type of the dispatch function.\n *\n * @since 9.1.0\n */\n withTypes: <\n OverrideDispatchType extends DispatchType\n >() => UseDispatch\n}\n\n/**\n * Hook factory, which creates a `useDispatch` hook bound to a given context.\n *\n * @param {React.Context} [context=ReactReduxContext] Context passed to your ``.\n * @returns {Function} A `useDispatch` hook bound to the specified context.\n */\nexport function createDispatchHook<\n StateType = unknown,\n ActionType extends Action = UnknownAction\n>(\n // @ts-ignore\n context?: Context | null> = ReactReduxContext\n) {\n const useStore =\n context === ReactReduxContext ? useDefaultStore : createStoreHook(context)\n\n const useDispatch = () => {\n const store = useStore()\n return store.dispatch\n }\n\n Object.assign(useDispatch, {\n withTypes: () => useDispatch,\n })\n\n return useDispatch as UseDispatch>\n}\n\n/**\n * A hook to access the redux `dispatch` function.\n *\n * @returns {any|function} redux store's `dispatch` function\n *\n * @example\n *\n * import React, { useCallback } from 'react'\n * import { useDispatch } from 'react-redux'\n *\n * export const CounterComponent = ({ value }) => {\n * const dispatch = useDispatch()\n * const increaseCounter = useCallback(() => dispatch({ type: 'increase-counter' }), [])\n * return (\n *
\n * {value}\n * \n *
\n * )\n * }\n */\nexport const useDispatch = /*#__PURE__*/ createDispatchHook()\n","// The primary entry point assumes we are working with React 18, and thus have\n// useSyncExternalStore available. We can import that directly from React itself.\n// The useSyncExternalStoreWithSelector has to be imported, but we can use the\n// non-shim version. This shaves off the byte size of the shim.\n\nimport * as React from 'react'\nimport { useSyncExternalStoreWithSelector } from 'use-sync-external-store/with-selector.js'\n\nimport { initializeUseSelector } from './hooks/useSelector'\nimport { initializeConnect } from './components/connect'\n\ninitializeUseSelector(useSyncExternalStoreWithSelector)\ninitializeConnect(React.useSyncExternalStore)\n\nexport * from './exports'\n"],"names":["componentWillMount","state","this","constructor","getDerivedStateFromProps","props","undefined","setState","componentWillReceiveProps","nextProps","prevState","bind","componentWillUpdate","nextState","prevProps","__reactInternalSnapshotFlag","__reactInternalSnapshot","getSnapshotBeforeUpdate","polyfill","Component","prototype","isReactComponent","Error","foundWillMountName","foundWillReceivePropsName","foundWillUpdateName","UNSAFE_componentWillMount","UNSAFE_componentWillReceiveProps","UNSAFE_componentWillUpdate","componentName","displayName","name","newApiName","componentDidUpdate","maybeSnapshot","snapshot","call","__suppressDeprecationWarning","Plotly","PlotlyComponent","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","p","Promise","resolve","resizeHandler","handlers","syncWindowResize","_assertThisInitialized","syncEventHandlers","attachUpdateEvents","getRef","handleUpdate","figureCallback","updatePlotly","_createClass","key","value","shouldInvokeResizeHandler","figureCallbackFunction","shouldAttachUpdateEvents","_this2","then","unmounting","el","react","data","layout","config","frames","err","onError","onInitialized","numPrevFrames","length","numNextFrames","figureChanged","revisionDefined","revision","revisionChanged","onUpdate","onPurge","isBrowser","window","removeEventListener","removeUpdateEvents","purge","_this3","removeListener","updateEvents","forEach","updateEvent","on","_this4","callback","_this$el","_transitionData","_frames","invoke","_this5","useResizeHandler","Plots","resize","addEventListener","debug","gd","_this6","eventNames","eventName","prop","handler","hasHandler","Boolean","addEventHandler","removeEventHandler","getPlotlyEventName","toLowerCase","_react","createElement","id","divId","style","ref","className","propTypes","_propTypes","arrayOf","object","number","func","bool","string","defaultProps","position","display","_interopRequireWildcard","require","React","resolveToLocation","to","currentLocation","normalizeToLocation","createLocation","forwardRefShim","C","forwardRef","LinkAnchor","_ref","forwardedRef","innerRef","navigate","_onClick","onClick","rest","_objectWithoutPropertiesLoose","target","_extends","event","ex","preventDefault","defaultPrevented","button","metaKey","altKey","ctrlKey","shiftKey","isModifiedEvent","Link","_ref2","component","_ref2$component","replace","__RouterContext","Consumer","context","invariant","history","location","href","createHref","isDuplicateNavigation","createPath","push","forwardRefShim$1","forwardRef$1","ariaCurrent","_ref$ariaCurrent","activeClassName","_ref$activeClassName","activeStyle","classNameProp","exact","isActiveProp","isActive","locationProp","sensitive","strict","styleProp","toLocation","path","pathname","escapedPath","match","matchPath","classnames","Array","_len","_key","arguments","filter","i","join","joinClassnames","MAX_SIGNED_31_BIT_INT","commonjsGlobal","globalThis","global","createContext","defaultValue","calculateChangedBits","contextProp","getUniqueId","Provider","_React$Component","emitter","off","h","get","set","newValue","changedBits","createEventEmitter","getChildContext","oldValue","x","y","render","children","childContextTypes","_Provider$childContex","PropTypes","isRequired","_React$Component2","observedBits","getValue","componentDidMount","componentWillUnmount","isArray","contextTypes","_Consumer$contextType","createNamedContext","historyContext","Router","_isMounted","_pendingLocation","staticContext","unlisten","listen","computeRootMatch","url","params","isExact","Lifecycle","onMount","onUnmount","Prompt","message","when","_ref$when","method","block","self","release","cache","cacheLimit","cacheCount","generatePath","generator","pathToRegexp","compilePath","pretty","Redirect","computedMatch","_ref$push","prevLocation","locationsAreEqual","cache$1","cacheLimit$1","cacheCount$1","options","_options","_options$exact","_options$strict","_options$sensitive","concat","reduce","matched","cacheKey","end","pathCache","keys","result","regexp","compilePath$1","_compilePath","exec","values","slice","memo","index","Route","context$1","_this$props","count","isEmptyChildren","addLeadingSlash","charAt","stripBasename","basename","base","indexOf","substr","createURL","staticHandler","methodName","noop","Switch","element","child","from","withRouter","wrappedComponentRef","remainingProps","WrappedComponent","hoistStatics","useContext","useHistory","useLocation","useParams","useRouteMatch","factory","__WEBPACK_EXTERNAL_MODULE_4__","installedModules","__webpack_require__","moduleId","exports","module","l","modules","m","c","d","getter","o","Object","defineProperty","configurable","enumerable","n","__esModule","property","hasOwnProperty","s","cachedSetTimeout","cachedClearTimeout","process","defaultSetTimout","defaultClearTimeout","runTimeout","fun","setTimeout","e","clearTimeout","currentQueue","queue","draining","queueIndex","cleanUpNextTick","drainQueue","timeout","len","run","marker","runClearTimeout","Item","array","nextTick","args","apply","title","browser","env","argv","version","versions","addListener","once","removeAllListeners","emit","prependListener","prependOnceListener","listeners","binding","cwd","chdir","dir","umask","makeEmptyFunction","arg","emptyFunction","thatReturns","thatReturnsFalse","thatReturnsTrue","thatReturnsNull","thatReturnsThis","thatReturnsArgument","validateFormat","format","NODE_ENV","condition","a","b","f","error","argIndex","framesToPop","ScrollSyncContext","default","registerPane","unregisterPane","warning","printWarning","console","_len2","_key2","REACT_ELEMENT_TYPE","Symbol","for","$$typeof","ScrollSync","panes","node","groups","group","findPane","syncScrollPosition","addEvents","removeEvents","splice","onscroll","handlePaneScroll","find","pane","enabled","requestAnimationFrame","syncScrollPositions","scrolledPane","onSync","scrollTop","scrollHeight","clientHeight","scrollLeft","scrollWidth","clientWidth","scrollTopOffset","scrollLeftOffset","_props","proportional","vertical","horizontal","paneHeight","paneWidth","_react2","_ScrollSyncContext2","getContextValue","Children","only","_propTypes2","ScrollSyncPane","_possibleConstructorReturn","__proto__","getPrototypeOf","toArray","updateNode","attachTo","current","childRef","createRef","cloneElement","contextType","oneOfType","shape","any","ReactPropTypesSecret","loggedTypeFailures","typeSpecs","getStack","typeSpecName","stack","shim","propName","propFullName","secret","getShim","ReactPropTypes","symbol","instanceOf","objectOf","oneOf","checkPropTypes","isValidElement","throwOnDirectAccess","ITERATOR_SYMBOL","iterator","ANONYMOUS","createPrimitiveTypeChecker","createChainableTypeChecker","typeChecker","PropTypeError","propValue","getPropType","expectedClass","expectedClassName","isNode","propType","expectedValues","is","JSON","stringify","arrayOfTypeCheckers","checker","getPostfixForTypeWarning","shapeTypes","validate","manualPropTypeCallCache","manualPropTypeWarningCount","checkType","chainedCheckType","expectedType","getPreciseType","every","iteratorFn","maybeIterable","getIteratorFn","step","entries","next","done","entry","RegExp","isSymbol","Date","type","_typeof","obj","PrevArrow","NextArrow","_interopRequireDefault","_classnames","_innerSliderUtils","assign","source","ownKeys","enumerableOnly","getOwnPropertySymbols","symbols","sym","getOwnPropertyDescriptor","_objectSpread","_defineProperty","getOwnPropertyDescriptors","defineProperties","writable","instance","Constructor","TypeError","_defineProperties","descriptor","protoProps","staticProps","subClass","superClass","create","_setPrototypeOf","setPrototypeOf","Derived","hasNativeReflectConstruct","Reflect","construct","sham","Proxy","valueOf","_isNativeReflectConstruct","Super","_getPrototypeOf","NewTarget","ReferenceError","_React$PureComponent","clickHandler","prevClasses","prevHandler","infinite","currentSlide","slideCount","slidesToShow","prevArrowProps","customProps","prevArrow","PureComponent","_React$PureComponent2","_super2","nextClasses","nextHandler","canGoNext","nextArrowProps","nextArrow","_default","accessibility","adaptiveHeight","afterChange","appendDots","dots","arrows","autoplay","autoplaySpeed","beforeChange","centerMode","centerPadding","cssEase","customPaging","dotsClass","draggable","easing","edgeFriction","fade","focusOnSelect","initialSlide","lazyLoad","onEdge","onInit","onLazyLoadError","onReInit","pauseOnDotsHover","pauseOnFocus","pauseOnHover","responsive","rows","rtl","slide","slidesPerRow","slidesToScroll","speed","swipe","swipeEvent","swipeToSlide","touchMove","touchThreshold","useCSS","useTransform","variableWidth","waitForAnimate","Dots","spec","onMouseEnter","onMouseOver","onMouseLeave","dotCount","Math","ceil","mouseEvents","_rightBound","rightBound","clamp","_leftBound","leftBound","dotOptions","animating","autoplaying","currentDirection","currentLeft","direction","dragging","edgeDragged","initialized","lazyLoadedList","listHeight","listWidth","scrolling","slideHeight","slideWidth","swipeLeft","swiped","swiping","touchObject","startX","startY","curX","curY","trackStyle","trackWidth","targetSlide","InnerSlider","_initialState","_lodash","_track","_dots","_arrows","_resizeObserverPolyfill","_objectWithoutProperties","excluded","sourceKeys","sourceSymbolKeys","propertyIsEnumerable","list","track","elem","querySelector","height","getHeight","slidesToLoad","getOnDemandLazySlides","onLazyLoad","listRef","trackRef","updateState","adaptHeight","autoPlay","lazyLoadTimer","setInterval","progressiveLazyLoad","ro","onWindowResized","callbackTimers","observe","document","querySelectorAll","onfocus","onSlideFocus","onblur","onSlideBlur","attachEvent","animationEndCallback","clearInterval","timer","detachEvent","autoplayTimer","disconnect","checkImagesLoad","setTrackStyle","didPropsChange","changeSlide","pause","debouncedResize","cancel","resizeWindow","updatedState","initializedState","slideIndex","targetLeft","getTrackLeft","left","getTrackCSS","_trackWidth","_trackLeft","childrenWidths","preClones","getPreClones","postClones","getPostClones","width","_i","_i2","_trackStyle","currentWidth","childrenCount","trackLeft","images","imagesCount","loadedCount","image","onclick","prevClickHandler","parentNode","focus","onload","onerror","_index","dontAnimate","asNavFor","_slideHandler","slideHandler","asNavForIndex","innerSlider","firstBatch","nodes","clickable","stopPropagation","keyHandler","ontouchmove","returnValue","verticalSwiping","disableBodyScroll","swipeStart","swipeMove","swipeEnd","triggerSlideHandler","enableBodyScroll","Number","isNaN","nextIndex","playType","play","pauseType","trackProps","extractObject","onTrackOver","onTrackLeave","selectHandler","dotProps","onDotsLeave","onDotsOver","arrowProps","verticalHeightStyle","centerPaddingStyle","padding","listStyle","listProps","onMouseDown","onMouseMove","onMouseUp","onTouchStart","onTouchMove","onTouchEnd","touchEnd","onTouchCancel","onKeyDown","innerSliderProps","unslick","listRefHandler","Track","trackRefHandler","ssrState","ssrInit","_i3","_Object$keys","_innerSlider","_json2mq","_defaultProps","enquire","canUseDOM","Slider","slickPrev","slickNext","slickGoTo","breakpoint","_responsiveMediaHandlers","query","register","breakpoints","map","breakpt","sort","bQuery","minWidth","maxWidth","media","unregister","settings","newProps","resp","trim","warn","newChildren","newSlide","j","row","k","tabIndex","innerSliderRefHandler","getSlideClasses","slickActive","slickCenter","slickCloned","centerOffset","floor","getKey","fallbackKey","renderSlides","slides","preCloneSlides","postCloneSlides","startIndex","lazyStartIndex","endIndex","lazyEndIndex","childOnClickOptions","childStyle","top","parseInt","opacity","transition","getSlideStyle","slideClass","slideClasses","outline","preCloneNo","reverse","handleRef","checkSpecKeys","checkNavigable","slidesOnRight","slidesOnLeft","siblingDirection","safePreventDefault","lazySlidesOnRight","lazySlidesOnLeft","getWidth","getTrackAnimateCSS","getTotalSlides","getSwipeDirection","getSlideCount","getRequiredLazySlides","getNavigableIndexes","lowerBound","upperBound","max","min","includes","_reactName","onDemandSlides","requiredSlides","offsetWidth","offsetHeight","xDist","yDist","r","swipeAngle","atan2","round","PI","abs","canGo","newObject","listNode","trackNode","centerPaddingAdj","finalSlide","animationLeft","finalLeft","animationSlide","indexOffset","previousInt","slideOffset","previousTargetSlide","tagName","keyCode","touches","pageX","clientX","pageY","clientY","curLeft","swipeLength","sqrt","pow","verticalSwipeLength","positionOffset","swipeDirection","touchSwipeLength","onSwipe","minSwipe","activeSlide","counter","indexes","navigables","prevNavigable","swipedSlide","slickList","offsetTop","offsetLeft","currentIndex","dataset","keysArray","trackHeight","trackChildren","WebkitTransition","WebkitTransform","transform","msTransform","marginTop","marginLeft","slidesToOffset","targetSlideIndex","trackElem","childNodes","right","t","loaded","u","conformToMask","setRef","onBlur","onChange","inputElement","textMaskInputElement","update","initTextMask","pipe","mask","guide","placeholderChar","showMask","toString","isNil","some","keepCharPositions","strFunction","String","maskWithoutCaretTraps","convertMaskToPlaceholder","isString","isNumber","processCaretTraps","previousConformedValue","placeholder","v","currentCaretPosition","g","O","T","P","w","S","_","M","split","char","isNew","E","V","N","A","B","I","shift","F","q","test","D","L","W","J","U","H","conformedValue","meta","someCharsRejected","previousPlaceholder","rawValue","indexesOfPipedChars","caretTrapIndexes","R","Y","z","G","selectionEnd","rejected","activeElement","setSelectionRange","navigator","userAgent","HIDDEN_TEXTAREA_STYLE","visibility","overflow","forceHiddenStyles$1","setProperty","hiddenTextarea","sizingData","sizingStyle","boxSizing","borderSize","paddingSize","SIZING_STYLE","isIE","documentElement","currentStyle","getSizingData$1","getComputedStyle","acc","parseFloat","borderRightWidth","borderLeftWidth","paddingRight","paddingLeft","paddingBottom","paddingTop","borderBottomWidth","borderTopWidth","useListener","listener","latestListener","useLatest","ev","_excluded","TextareaAutosize","userRef","cacheMeasurements","maxRows","minRows","_ref$onChange","_ref$onHeightChange","onHeightChange","isControlled","libRef","useComposedRef","heightRef","measurementsCacheRef","resizeTextarea","nodeSizingData","_calculateNodeHeight","Infinity","setAttribute","body","appendChild","rowHeight","minHeight","maxHeight","calculateNodeHeight","fonts","useFontsLoadedListener","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","ReactCurrentOwner","__self","__source","_owner","Fragment","jsx","jsxs","isMounted","enqueueForceUpdate","enqueueReplaceState","enqueueSetState","refs","updater","forceUpdate","isPureReactComponent","K","Q","escape","_status","_result","ReactCurrentDispatcher","ReactCurrentBatchConfig","Profiler","StrictMode","Suspense","_currentValue","_currentValue2","_threadCount","_defaultValue","_globalName","_context","createFactory","lazy","_payload","_init","compare","startTransition","unstable_act","useCallback","useDebugValue","useDeferredValue","useEffect","useId","useImperativeHandle","useInsertionEffect","useLayoutEffect","useMemo","useReducer","useRef","useState","useSyncExternalStore","useTransition","usePhoneDigits","country","defaultCountry","international","withCountryCallingCode","useNationalFormatForDefaultCountryValue","metadata","countryMismatchDetected","onCountryMismatch","actualCountry","getInitialPhoneDigits","prefix","getInternationalPhoneNumberPrefix","asYouType","AsYouType","input","phoneNumber","getNumber","countryCallingCode","getCountryCallingCode","nationalNumber","parseDigits","formatNational","getPhoneDigitsForValue","_useState2","_slicedToArray","prevCountry","setPrevCountry","_useState4","prevDefaultCountry","setPrevDefaultCountry","_useState6","phoneDigits","setPhoneDigits","_useState8","valueForPhoneDigits","setValueForPhoneDigits","_useState10","setRerenderTrigger","rerender","getValueForPhoneDigits","getNumberValue","_countryMismatchDetected","_phoneDigits","onSetPhoneDigits","PhoneInput","_ref$useNationalForma","_usePhoneDigits2","metadataType","createInput","defaultMetadata","_ref$type","_ref$autoComplete","autoComplete","_ref$smartCaret","smartCaret","_ref$metadata","PhoneInput_","InputSmart","InputBasic","CountrySelect","disabled","readOnly","onChange_","getSelectedOption","label","divider","DIVIDER_STYLE","fontSize","backgroundColor","color","CountrySelectWithIcon","_ref3","Icon","iconComponent","_ref3$arrowComponent","getIconAspectRatio","arrowComponent","Arrow","DefaultArrowComponent","unicodeFlags","_excluded2","selectedOption","classNames","getUnicodeFlagIcon","aspectRatio","_step","_iterator","_createForOfIteratorHelperLoose","option","FlagComponent","countryName","flags","flagUrl","alt","role","src","InternationalIcon","InternationalIcon1x1","InternationalIcon3x2","xmlns","viewBox","stroke","fill","strokeWidth","strokeMiterlimit","strokeLinecap","x1","y1","x2","y2","_excluded3","isCountrySupportedWithError","isSupportedCountry","getSupportedCountries","countries","createCountryIconComponent","flagComponent","internationalIcon","CountryIcon","_aspectRatio","DefaultInternationalIcon","Flag","parsePhoneNumber","parsePhoneNumber_","getPhoneDigitsForNewCountry","newCountry","useNationalFormat","countryCallingCodePrefix","country_calling_codes","country_calling_code","stripCountryCallingCode","newCountryPrefix","e164","partial_national_significant_number","getNationalSignificantNumberDigits","trimNumber","nationalSignificantNumberPart","overflowDigitsCount","Metadata","selectNumberingPlan","numberingPlan","possibleLengths","getMaxNumberLength","getCountryForPartialE164Number","partialE164Number","_ref4","required","derived_country","formatter","getCountry","getCountryFromPossiblyIncompleteInternationalPhoneNumber","couldNumberBelongToCountry","convertInternationalPhoneDigitsToNational","compareStrings","locales","localeCompare","intlPhoneNumberPrefix","_ref6","generateNationalNumberDigits","valuesAreEqual","value1","value2","PhoneNumberInput_","inputRef","focusInputOnCountrySelection","_this$state","newPhoneDigits","hasUserSelectedACountry","_this$props2","addInternationalOption","limitMaxLength","countryCallingCodeEditable","_this$state2","_onPhoneDigitsChange","_ref5","prevPhoneDigits","countryRequired","getAnyCountry","_value","onPhoneDigitsChange","getFirstSupportedCountry","stateUpdate","forceRerender","isFocused","_onFocus","onFocus","_onBlur","countrySelectProps","_this$props3","_international","labels","_addInternationalOption","displayInitialValueAsLocalNumber","initialValueFormat","_metadata","_this$props4","_defaultCountry","_countries","preSelectedCountry","getPreSelectedCountry","getCountries","newDefaultCountry","newReset","reset","prevValue","prevReset","_getInitialPhoneDigits","parameters","isNewDefaultCountrySupported","noValueHasBeenEnteredByTheUser","parsedCountry","hasUserSelectedACountryUpdate","supportedCountries","getPhoneInputWithCountryStateUpdateFromNewProps","onCountryChange","selectedCountry","_this$props5","countryOptionsOrder","useMemoCountrySelectOptions","order","optionsOnTop","optionsOnBottom","appendTo","countryCode","sortCountryOptions","countryNames","compareStringsLocales","_compareStrings","countrySelectOptions","unshift","ZZ","_getCountrySelectOptions","countryOptions","getSupportedCountryOptions","dependencies","countrySelectOptionsMemoDependencies","areEqualArrays","countrySelectOptionsMemo","getCountrySelectOptions","_this$props6","inputComponent","numberInputProps","CountrySelectComponent","countrySelectComponent","ContainerComponent","containerComponent","_this$state3","InputComponent","onCountryFocus","onCountryBlur","setInputRef","PhoneNumberInput","withDefaultProps","labelsPropType","metadataPropType","createPhoneInput","PhoneInputDefault","_ref$labels","defaultLabels","_arguments","_parsePhoneNumber","isValidPhoneNumber","_isValidPhoneNumber","_getCountries","_getCountryCallingCode","removeInputValuePrefix","formatIncompletePhoneNumber","_ref$inputComponent","Input","getInputValuePrefix","_onChange","parseIncompletePhoneNumber","parsePhoneNumberCharacter_","character","prevParsedCharacters","ignoreRest","parsePhoneNumberCharacter","text","template","getTemplate","parse","ReactOriginal","ContextKey","gT","getContext","_gT$ContextKey","contextMap","Map","realContext","ReactReduxContext","notInitialized","createReduxContextHook","useReduxContext","useSyncExternalStoreWithSelector","refEquality","createSelectorHook","useReduxContext2","useSelector2","selector","equalityFnOrOptions","equalityFn","_ref$equalityFn","_ref$devModeChecks","devModeChecks","_useReduxContext","store","subscription","getServerState","stabilityCheck","wrappedSelector","identityFunctionCheck","selectedState","addNestedSub","getState","withTypes","useSelector","REACT_PORTAL_TYPE","REACT_FRAGMENT_TYPE","REACT_STRICT_MODE_TYPE","REACT_PROFILER_TYPE","REACT_PROVIDER_TYPE","REACT_CONTEXT_TYPE","REACT_SERVER_CONTEXT_TYPE","REACT_FORWARD_REF_TYPE","REACT_SUSPENSE_TYPE","REACT_SUSPENSE_LIST_TYPE","REACT_MEMO_TYPE","REACT_LAZY_TYPE","ForwardRef","Memo","typeOf","$$typeofType","pureFinalPropsSelectorFactory","mapStateToProps","mapDispatchToProps","mergeProps","dispatch","ownProps","stateProps","dispatchProps","mergedProps","areStatesEqual","areOwnPropsEqual","areStatePropsEqual","hasRunAtLeastOnce","handleSubsequentCalls","nextOwnProps","propsChanged","stateChanged","dependsOnOwnProps","nextStateProps","statePropsChanged","handleNewState","wrapMapToPropsConstant","getConstant","constant","constantSelector","getDependsOnOwnProps","mapToProps","wrapMapToPropsFunc","proxy","stateOrDispatch","createInvalidArgFactory","wrappedComponentName","defaultMergeProps","defaultNoopBatch","nullListeners","notify","createSubscription","parentSub","unsubscribe","subscriptionsAmount","selfSubscribed","handleChangeWrapper","onStateChange","trySubscribe","subscribe","first","last","clear","isSubscribed","prev","createListenerCollection","tryUnsubscribe","cleanupListener","removed","notifyNestedSubs","getListeners","useIsomorphicLayoutEffect","shallowEqual","objA","objB","keysA","keysB","REACT_STATICS","getDefaultProps","getDerivedStateFromError","mixins","KNOWN_STATICS","caller","callee","arity","MEMO_STATICS","TYPE_STATICS","getStatics","getOwnPropertyNames","objectPrototype","hoistNonReactStatics","targetComponent","sourceComponent","inheritedComponent","targetStatics","sourceStatics","NO_SUBSCRIPTION_ARRAY","captureWrapperProps","lastWrapperProps","lastChildProps","renderIsScheduled","wrapperProps","childPropsFromStoreUpdate","strictEqual","connect_default","_ref6$areStatesEqual","pure","_ref6$areOwnPropsEqua","_ref6$areStatePropsEq","_ref6$areMergedPropsE","areMergedPropsEqual","_ref6$forwardRef","_ref6$context","Context","initMapStateToProps","mapStateToPropsFactory","initMapDispatchToProps","actionCreators","boundActionCreators","_loop","actionCreator","mapDispatchToPropsFactory","initMergeProps","hasRunOnce","nextMergedProps","wrapMergePropsFunc","mergePropsFactory","shouldHandleStateChanges","selectorFactoryOptions","ConnectFunction","_React$useMemo","reactReduxForwardedRef2","reactReduxForwardedRef","wrapperProps2","_React$useMemo2","propsContext","ContextToUse","ResultContext","contextValue","didStoreComeFromProps","didStoreComeFromContext","childPropsSelector","finalPropsSelectorFactory","_React$useMemo3","subscription2","notifyNestedSubs2","_React$useMemo4","overriddenContextValue","latestSubscriptionCallbackError","effectFunc","effectArgs","actualChildProps","actualChildPropsSelector","subscribeForReact","reactListener","additionalSubscribeListener","didUnsubscribe","lastThrownError","checkForUpdates","newChildProps","latestStoreState","subscribeUpdates","_toConsumableArray","renderedWrappedComponent","Connect","forwarded","Provider_default","_ref7","serverState","_ref7$stabilityCheck","_ref7$identityFunctio","previousState","createStoreHook","useStore2","useStore","createDispatchHook","useDispatch2","fn","useDispatch","useSyncExternalStoreWithSelector2","initializeConnect","React2"],"sourceRoot":""}