{"version":3,"sources":["../node_modules/react/index.js","../node_modules/devextreme/core/utils/type.js","../node_modules/devextreme/core/renderer.js","../node_modules/devextreme/core/utils/iterator.js","../node_modules/devextreme/core/utils/extend.js","../node_modules/devextreme/core/utils/common.js","../node_modules/devextreme/core/utils/window.js","../node_modules/devextreme/core/dom_adapter.js","../node_modules/devextreme/events/core/events_engine.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../node_modules/devextreme/core/class.js","../node_modules/devextreme/core/utils/deferred.js","../../modules/miniCreateReactContext.js","../../modules/createContext.js","../../modules/createNamedContext.js","../../modules/HistoryContext.js","../../modules/RouterContext.js","../../modules/Router.js","../../modules/MemoryRouter.js","../../modules/Lifecycle.js","../../modules/generatePath.js","../../modules/Redirect.js","../../modules/matchPath.js","../../modules/Route.js","../../modules/StaticRouter.js","../../modules/Switch.js","../../modules/hooks.js","../node_modules/devextreme/events/utils.js","../node_modules/devextreme/core/utils/array.js","../node_modules/devextreme/core/utils/dom.js","../node_modules/@babel/runtime/helpers/esm/extends.js","../node_modules/devextreme/core/errors.js","../node_modules/resolve-pathname/index.js","../node_modules/value-equal/index.js","../node_modules/history/esm/history.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/createClass.js","../node_modules/devextreme/core/devices.js","../node_modules/tiny-invariant/dist/tiny-invariant.esm.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/createSuper.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/inherits.js","../../modules/BrowserRouter.js","../../modules/HashRouter.js","../../modules/utils/locationUtils.js","../../modules/Link.js","../../modules/NavLink.js","../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","../node_modules/devextreme/core/utils/callbacks.js","../node_modules/prop-types/index.js","../node_modules/devextreme/core/config.js","../node_modules/devextreme/core/utils/dependency_injector.js","../node_modules/devextreme/core/utils/data.js","../node_modules/devextreme/core/element_data.js","../node_modules/devextreme/core/utils/ready_callbacks.js","../node_modules/devextreme/core/utils/call_once.js","../node_modules/universal-cookie/es6/utils.js","../node_modules/universal-cookie/es6/Cookies.js","../node_modules/universal-cookie/es6/index.js","../node_modules/devextreme/data/utils.js","../node_modules/devextreme/data/errors.js","../node_modules/devextreme/events/core/event_registrator.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../node_modules/devextreme/core/component_registrator.js","../node_modules/devextreme/events/pointer.js","../node_modules/devextreme/animation/translator.js","../node_modules/devextreme/core/utils/math.js","../node_modules/devextreme/ui/widget/ui.template_base.js","../node_modules/cookie/index.js","../node_modules/devextreme/ui/widget/ui.errors.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","../node_modules/devextreme/core/utils/browser.js","../node_modules/devextreme/core/events_mixin.js","../node_modules/devextreme/core/utils/inflector.js","../node_modules/devextreme/core/utils/support.js","../node_modules/devextreme/data/query.js","../node_modules/devextreme/ui/widget/selectors.js","../node_modules/devextreme/core/utils/view_port.js","../node_modules/devextreme/events/core/emitter_registrator.js","../node_modules/devextreme/core/utils/public_component.js","../node_modules/devextreme/events/core/emitter.js","../node_modules/devextreme/events/pointer/base.js","../node_modules/devextreme/data/array_query.js","../node_modules/devextreme-react/core/configuration/utils.js","../node_modules/react-stripe-elements/es/components/Elements.js","../node_modules/devextreme/localization/message.js","../node_modules/devextreme/events/click.js","../node_modules/devextreme/ui/widget/ui.widget.js","../node_modules/devextreme/ui/themes.js","../node_modules/devextreme/core/utils/object.js","../node_modules/devextreme/data/data_source/data_source.js","../node_modules/devextreme/core/guid.js","../node_modules/devextreme/animation/position.js","../node_modules/devextreme/core/polyfills/promise.js","../node_modules/devextreme/ui/widget/empty_template.js","../node_modules/devextreme/core/utils/style.js","../node_modules/devextreme/core/remove_event.js","../node_modules/devextreme/core/utils/version.js","../node_modules/devextreme/data/array_utils.js","../node_modules/devextreme/data/abstract_store.js","../node_modules/devextreme/core/utils/error.js","../node_modules/devextreme/core/action.js","../node_modules/react-dom/index.js","../node_modules/devextreme/core/polyfills/weak_map.js","../node_modules/devextreme/core/memorized_callbacks.js","../node_modules/devextreme-react/core/component-base.js","../node_modules/react-stripe-elements/es/components/Provider.js","../node_modules/react-router/node_modules/path-to-regexp/index.js","../node_modules/devextreme/animation/fx.js","../node_modules/devextreme/core/utils/string.js","../node_modules/devextreme/events/drag.js","../node_modules/devextreme/ui/widget/bindable_template.js","../node_modules/devextreme/core/dom_component.js","../node_modules/devextreme/ui/widget/function_template.js","../node_modules/devextreme/core/utils/variable_wrapper.js","../node_modules/devextreme/data/store_helper.js","../node_modules/devextreme/events/hold.js","../node_modules/devextreme/animation/frame.js","../node_modules/devextreme-react/popover.js","../node_modules/devextreme/core/utils/console.js","../node_modules/devextreme/core/utils/size.js","../node_modules/devextreme/localization/core.js","../node_modules/devextreme/ui/widget/ui.keyboard_processor.js","../node_modules/devextreme/core/utils/resize_callbacks.js","../node_modules/devextreme/events.js","../node_modules/object-assign/index.js","../node_modules/devextreme/events/core/event_registrator_callbacks.js","../node_modules/devextreme/core/utils/html_parser.js","../node_modules/devextreme/localization/utils.js","../node_modules/devextreme/ui/widget/template_engine_registry.js","../node_modules/devextreme/events/pointer/touch.js","../node_modules/devextreme/events/pointer/observer.js","../node_modules/devextreme/events/pointer/mouse.js","../node_modules/devextreme/ui/selection/selection.strategy.js","../node_modules/devextreme-react/core/configuration/tree.js","../node_modules/devextreme-react/core/widget-config.js","../node_modules/devextreme-react/core/configuration/react/element.js","../node_modules/react-is/index.js","../node_modules/react-stripe-elements/es/index.js","../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/defineProperty.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectSpread2.js","../node_modules/devextreme-react/core/component.js","../node_modules/devextreme-react/core/nested-option.js","../node_modules/devextreme/ui/button.js","../node_modules/devextreme/ui/popup.js","../node_modules/devextreme/ui/collection/ui.collection_widget.edit.js","../node_modules/devextreme/ui/widget/utils.ink_ripple.js","../node_modules/devextreme/ui/overlay.js","../node_modules/devextreme/localization/number.js","../node_modules/devextreme/core/utils/icon.js","../node_modules/devextreme/data/array_store.js","../node_modules/devextreme/data_helper.js","../node_modules/devextreme/ui/popover.js","../node_modules/devextreme/ui/validation_engine.js","../node_modules/devextreme/ui/widget/child_default_template.js","../node_modules/devextreme/events/core/emitter.feedback.js","../node_modules/devextreme/events/core/wheel.js","../node_modules/devextreme/core/utils/ajax.js","../node_modules/devextreme/ui/collection/item.js","../node_modules/devextreme/ui/widget/swatch_container.js","../node_modules/webpack/buildin/global.js","../node_modules/devextreme/ui/validation/validation_mixin.js","../node_modules/devextreme/events/hover.js","../node_modules/devextreme/ui/resizable.js","../node_modules/devextreme/ui/collection/ui.collection_widget.edit.strategy.plain.js","../node_modules/devextreme/core/version.js","../node_modules/devextreme/core/component.js","../node_modules/devextreme/events/gesture/emitter.gesture.js","../node_modules/devextreme/data/custom_store.js","../node_modules/devextreme-react/core/template.js","../node_modules/devextreme/core/utils/storage.js","../node_modules/devextreme/localization/ldml/number.js","../node_modules/devextreme/mobile/hide_top_overlay.js","../node_modules/devextreme/ui/toolbar/ui.toolbar.base.js","../node_modules/devextreme/events/contextmenu.js","../node_modules/devextreme/ui/selection/selection.js","../node_modules/devextreme/core/utils/selection_filter.js","../node_modules/devextreme-react/core/extension-component.js","../node_modules/react/cjs/react.production.min.js","../node_modules/react-dom/cjs/react-dom.production.min.js","../node_modules/scheduler/index.js","../node_modules/scheduler/cjs/scheduler.production.min.js","../node_modules/devextreme/core/renderer_base.js","../node_modules/devextreme/events/core/hook_touch_props.js","../node_modules/devextreme/core/component_registrator_callbacks.js","../node_modules/devextreme/core/events_strategy.js","../node_modules/devextreme/localization/default_messages.js","../node_modules/devextreme/localization/cldr-data/parentLocales.js","../node_modules/devextreme/ui/widget/template.js","../node_modules/devextreme/ui/widget/template_engines.js","../node_modules/devextreme/events/pointer/mspointer.js","../node_modules/devextreme/events/pointer/mouse_and_touch.js","../node_modules/devextreme/ui/themes_callback.js","../node_modules/devextreme/ui/overlay/ui.overlay.js","../node_modules/devextreme/animation/easing.js","../node_modules/devextreme/ui/overlay/z_index.js","../node_modules/devextreme/ui/collection/ui.collection_widget.async.js","../node_modules/devextreme/ui/collection/ui.collection_widget.base.js","../node_modules/devextreme/core/http_request.js","../node_modules/devextreme/data/remote_query.js","../node_modules/devextreme/data/query_adapters.js","../node_modules/devextreme/core/utils/queue.js","../node_modules/devextreme/ui/collection/ui.collection_widget.edit.strategy.js","../node_modules/devextreme/ui/selection/selection.strategy.deferred.js","../node_modules/devextreme/ui/selection/selection.strategy.standard.js","../node_modules/prop-types/factoryWithThrowingShims.js","../node_modules/prop-types/lib/ReactPropTypesSecret.js","../node_modules/devextreme-react/core/options-manager.js","../node_modules/devextreme-react/core/configuration/comparer.js","../node_modules/devextreme-react/core/templates-manager.js","../node_modules/devextreme-react/core/config.js","../node_modules/devextreme-react/core/dx-template.js","../node_modules/devextreme-react/core/helpers.js","../node_modules/devextreme-react/core/template-wrapper.js","../node_modules/devextreme-react/core/templates-renderer.js","../node_modules/devextreme-react/core/templates-store.js","../node_modules/devextreme-react/core/configuration/react/tree.js","../node_modules/devextreme-react/core/configuration/react/templates.js","../node_modules/react-router/node_modules/isarray/index.js","../node_modules/react-is/cjs/react-is.production.min.js","../node_modules/react-stripe-elements/es/components/inject.js","../node_modules/react-stripe-elements/es/components/Element.js","../node_modules/react-stripe-elements/es/utils/isEqual.js","../node_modules/react-stripe-elements/es/components/PaymentRequestButtonElement.js","../node_modules/react-stripe-elements/es/utils/shallowEqual.js"],"names":["module","exports","require","_typeof","Symbol","iterator","obj","constructor","prototype","types","type","object","typeOfObject","Object","toString","call","isFunction","isNumeric","isFinite","isNaN","parseFloat","isBoolean","isExponential","value","indexOf","isDate","isDefined","isString","isObject","isEmptyObject","property","isPlainObject","proto","getPrototypeOf","ctor","hasOwnProperty","isPrimitive","isWindow","window","isRenderer","jquery","dxRenderer","isPromise","then","isDeferred","done","fail","rendererBase","get","map","values","callback","Array","isArray","result","key","push","each","i","length","reverseEach","array","extend","target","deep","arguments","source","clone","targetValue","sourceValue","sourceValueIsArray","extendFromObject","overrideExistingValues","prop","_config2","_interopRequireDefault","_guid2","_deferred","_iterator","_data","_type","__esModule","delayedFuncs","delayedNames","delayedDeferreds","executingName","deferExecute","name","func","deferred","Deferred","oldExecutingName","currentDelayedCount","when","apply","this","slice","resolve","reject","shift","deferRender","deferUpdate","match","mismatch","index","valueItem","splitPair","raw","split","x","h","y","v","isArraysEqualByValue","array1","array2","equalByValue","isObjectsEqualByValue","object1","object2","propertyName","_propertyName","toComparable","ensureDefined","defaultValue","executeAsync","action","context","normalizedContext","timerId","task","promise","abort","clearTimeout","rejectWith","resolveWith","setTimeout","deferRenderer","that","deferUpdater","pairToObject","preventRound","pair","parseInt","findBestMatches","targetFilter","items","mapFn","bestMatches","maxMatchCount","itemSrc","matchCount","item","paramName","normalizeKey","id","arr","_","sign","replace","charCodeAt","denormalizeKey","forEach","char","charCode","String","fromCharCode","getKeyHash","default","keyHash","JSON","stringify","e","escapeRegExp","string","applyServerDecimalSeparator","separator","serverDecimalSeparator","noop","asyncNoop","grep","elements","checkFunction","invert","expectedCheck","domAdapter","_hasWindow","windowObject","hasWindow","getWindow","hasProperty","defaultScreenFactorFunc","width","getCurrentScreenFactor","screenFactorCallback","getDocumentElement","clientWidth","getNavigator","navigator","userAgent","injector","nativeDOMAdapterStrategy","querySelectorAll","element","selector","elementMatches","matches","matchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector","webkitMatchesSelector","doc","document","ownerDocument","bind","createElement","tagName","_document","createElementNS","ns","createTextNode","text","isNode","isElementNode","nodeType","Node","ELEMENT_NODE","isTextNode","TEXT_NODE","isDocument","DOCUMENT_NODE","removeElement","parentNode","removeChild","insertElement","parentElement","newElement","nextSiblingElement","insertBefore","appendChild","getAttribute","setAttribute","removeAttribute","setProperty","setText","textContent","setClass","className","isAdd","classList","add","remove","resultClassName","classNameSupported","elementClass","classNames","classIndex","splice","join","setStyle","style","getDocument","getActiveElement","activeElement","getBody","body","createDocumentFragment","documentElement","getLocation","location","getSelection","selection","getReadyState","readyState","getHead","head","hasDocumentProperty","listen","event","options","addEventListener","removeEventListener","skipEvent","registerEventCallbacks","windowUtils","typeUtils","Callbacks","errors","WeakMap","hookTouchProps","callOnce","NATIVE_EVENTS_TO_SUBSCRIBE","mouseenter","mouseleave","pointerenter","pointerleave","NATIVE_EVENTS_TO_TRIGGER","focusin","focusout","NO_BUBBLE_EVENTS","forcePassiveFalseEventNames","matchesSafe","nodeName","elementDataMap","guid","special","specialData","eventName","eventObject","getField","field","callMethod","methodName","args","applyForEach","method","eventsEngine","Error","itemArgs","itemElement","getHandler","passiveEventHandlersSupported","isSupported","defineProperty","getHandlersController","elementData","eventNameParts","namespaces","eventNameIsDefined","set","handleObjects","nativeHandler","eventData","addHandler","handler","data","callHandler","extraParameters","secondaryTargetIsInside","handlerArgs","currentTarget","relatedTarget","contains","preventDefault","stopPropagation","handleObject","wrappedHandler","delegateTarget","namespace","nativeListenerOptions","shouldAddNativeListener","getNativeHandler","passive","removeListener","removeHandler","removeByEventName","removedHandler","filter","skip","isSubset","keys","delete","callHandlers","forceStop","handleCallback","isImmediatePropagationStopped","subscribeName","handlersController","Event","original","checked","normalizeOnArguments","normalizeTriggerArguments","src","originalEvent","iterate","iterateEventNames","calculateWhich","which","setForKeyEvent","keyCode","button","test","setForMouseEvent","1","2","3","4","on","one","oneTimeHandler","off","trigger","isPropagationStopped","parents","getParents","parent","nativeMethodName","localName","isLinkClickEvent","callNativeMethod","triggerHandler","initEvent","EventClass","config","normalizeEventArguments","propagationStopped","immediatePropagationStopped","defaultPrevented","stopImmediatePropagation","isDefaultPrevented","addProperty","pageX","pageY","propName","hook","eventInstance","enumerable","configurable","writable","beforeSetStrategy","afterSetStrategy","engine","fire","inject","subscribeGlobal","offArgs","_assertThisInitialized","self","ReferenceError","wrapOverridden","baseProto","prevCallBase","callBase","redefine","members","overridden","memberName","member","include","argument","classObj","hasClassObjOwnProperty","isES6Class","_includedCtors","_includedPostCtors","postCtor","subclassOf","parentClass","abstract","copyStatic","hasOwn","destination","classImpl","inherit","inheritor","instance","includedCtors","includedPostCtors","clonePrototype","deferredConfig","state","_Deferred","_state","_promise","callbacks","fired","always","catch","callbackResult","fromPromise","d","concat","contexts","resolvedCount","updateState","setStrategy","commonjsGlobal","globalThis","global","createEventEmitter","handlers","newValue","changedBits","createContext","React","calculateChangedBits","contextProp","getUniqueId","Provider","_React$Component","emitter","_this","props","getChildContext","_ref","componentWillReceiveProps","nextProps","oldValue","render","children","Component","childContextTypes","_Provider$childContex","PropTypes","isRequired","Consumer","_React$Component2","observedBits","_this2","getValue","onUpdate","setState","undefined","componentDidMount","componentWillUnmount","contextTypes","_Consumer$contextType","createNamedContext","displayName","historyContext","Router","history","_isMounted","_pendingLocation","staticContext","unlisten","computeRootMatch","pathname","path","url","params","isExact","Lifecycle","onMount","componentDidUpdate","prevProps","onUnmount","cache","cacheCount","generatePath","generator","pathToRegexp","compile","compilePath","pretty","Redirect","computedMatch","to","_ref$push","invariant","createLocation","_extends","prevLocation","locationsAreEqual","cache$1","cacheCount$1","matchPath","_options","exact","_options$exact","strict","_options$strict","sensitive","_options$sensitive","reduce","matched","cacheKey","end","pathCache","regexp","compilePath$1","_compilePath","exec","memo","Route","context$1","_this$props","component","Children","count","isEmptyChildren","addLeadingSlash","charAt","stripBasename","basename","base","substr","createURL","createPath","staticHandler","Switch","child","isValidElement","from","cloneElement","useContext","_renderer2","_events_engine2","_errors2","_selectors","_extend","KEY_MAP","backspace","tab","enter","escape","pageup","pagedown","home","arrowleft","arrowup","arrowright","arrowdown","f","a","alt","control","left","up","right","down","multiply","spacebar","del","subtract","LEGACY_KEY_CODES","8","9","13","27","33","34","35","36","37","38","39","40","46","32","70","65","106","109","189","173","16","17","18","eventSource","EVENT_SOURCES_REGEX","dx","mouse","touch","keyboard","pointer","isDxEvent","isNativeTouchEvent","isPointerEvent","isMouseEvent","isNativeMouseEvent","pointerType","isDxMouseWheelEvent","isTouchEvent","fixMethod","createEvent","copyEvent","isKeyboardEvent","isFakeClickEvent","screenX","offsetX","hasTouches","touches","pointers","time","timeStamp","eventDelta","needSkipEvent","$target","touchInInput","is","hasClass","isContentEditable","hasAttribute","hasContentEditableParent","closest","focused","fireEvent","addNamespace","eventNames","setEventFixMethod","normalizeKeyName","isKeySupported","toLowerCase","getChar","objectUtils","inArray","toArray","isEmpty","entity","wrapToArray","intersection","b","removeDuplicates","what","normalizeIndexes","indexParameterName","currentItem","needIndexCallback","indexedItems","parameterIndex","useLegacyVisibleIndex","unshift","orderEach","merge","find","condition","elementStrategy","$","htmlParser","triggerVisibilityChangeEvent","$element","changeHandlers","uniqueId","counter","prefix","getElementOptions","optionsString","attr","optionsParser","setPublicElementWrapper","resetActiveElement","blur","createMarkupFromString","str","WinJS","parseHTML","tempElement","Utilities","setInnerHTMLUnsafe","contents","triggerShownEvent","triggerHidingEvent","triggerResizeEvent","createComponents","componentTypes","componentName","extractTemplateMarkup","templateTag","$node","eq","html","append","normalizeTemplateElement","trim","clearSelection","empty","removeAllRanges","closestCommonParent","startTarget","endTarget","$startTarget","$endTarget","$startParents","$endParents","Math","min","clipboardText","clipboard","clipboardData","getData","setData","container","getPublicElement","createTextElementHiddenCopy","elementStyles","getComputedStyle","includePaddings","css","fontStyle","fontVariant","fontWeight","fontSize","fontFamily","letterSpacing","border","paddingTop","paddingRight","paddingBottom","paddingLeft","visibility","whiteSpace","position","assign","errorUtils","E0001","E0002","E0003","E0004","E0005","E0006","E0007","E0008","E0009","E0010","E0011","E0012","E0013","E0014","E0015","E0017","E0018","E0020","E0021","E0022","E0023","E0024","E0025","E0100","E0101","E0102","E0110","E0120","E0121","W0000","W0001","W0002","W0003","W0004","W0005","W0006","W0007","W0008","W0009","W0010","W0011","W0012","W0013","W0014","W0015","W0016","isAbsolute","spliceOne","list","k","n","pop","resolvePathname","toParts","fromParts","isToAbs","isFromAbs","mustEndAbs","hasTrailingSlash","last","part","valueEqual","every","aType","aValue","valueOf","bValue","aKeys","bKeys","stripLeadingSlash","RegExp","hasBasename","stripTrailingSlash","search","hash","currentLocation","hashIndex","searchIndex","parsePath","decodeURI","URIError","createTransitionManager","prompt","listeners","setPrompt","nextPrompt","confirmTransitionTo","getUserConfirmation","appendListener","fn","isActive","listener","notifyListeners","_len","_key","canUseDOM","getConfirmation","message","confirm","getHistoryState","createBrowserHistory","globalHistory","canUseHistory","ua","supportsHistory","needsHashChangeListener","_props","_props$forceRefresh","forceRefresh","_props$getUserConfirm","_props$keyLength","keyLength","getDOMLocation","historyState","_window$location","createKey","random","transitionManager","nextState","handlePopState","isExtraneousPopstateEvent","handlePop","handleHashChange","forceNextPop","ok","fromLocation","toLocation","toIndex","allKeys","fromIndex","delta","go","revertPop","initialLocation","createHref","listenerCount","checkDOMListeners","isBlocked","href","pushState","prevIndex","nextKeys","replaceState","goBack","goForward","block","unblock","HashPathCoders","hashbang","encodePath","decodePath","noslash","slash","getHashPath","substring","replaceHashPath","createHashHistory","_props$hashType","hashType","_HashPathCoders$hashT","ignorePath","encodedPath","allPaths","lastIndexOf","pushHashPath","nextPaths","clamp","lowerBound","upperBound","max","createMemoryHistory","_props$initialEntries","initialEntries","_props$initialIndex","initialIndex","entries","entry","nextIndex","nextEntries","canGo","_classCallCheck","Constructor","TypeError","_defineProperties","descriptor","_createClass","protoProps","staticProps","Class","resizeCallbacks","EventsMixin","SessionStorage","sessionStorage","viewPort","Config","KNOWN_UA_TABLE","iPhone","iPhone5","iPhone6","iPhone6plus","iPad","iPadMini","androidPhone","androidTablet","win8","win8Phone","msSurface","desktop","win10Phone","win10","DEFAULT_DEVICE","deviceType","platform","version","phone","tablet","android","ios","win","generic","grade","mac","uaParsers","isPhone","isTablet","isDesktop","screen","height","devices","_window","_realDevice","_getDevice","_currentDevice","_currentOrientation","changed","_recalculateOrientation","current","deviceOrName","_forced","_getDeviceOrNameFromWindowScope","_getDeviceNameFromSessionStorage","real","orientation","isForced","isRippleEmulator","tinyHippos","_getCssClasses","device","realDevice","isSimulator","rtlEnabled","attachCssClasses","_deviceClasses","addClass","detachCssClasses","removeClass","_isSimulator","top","forceSimulator","deviceName","_fromConfig","_fromUA","getItem","parse","ex","shortcuts","parser","isMac","deviceWithOS","_changeOrientation","$window","windowWidth","_currentWidth","changeCallback","prevViewport","_getPrototypeOf","o","setPrototypeOf","__proto__","_isNativeReflectConstruct","Reflect","construct","sham","Proxy","Date","_possibleConstructorReturn","assertThisInitialized","_createSuper","Derived","Super","NewTarget","_setPrototypeOf","p","_inherits","subClass","superClass","create","BrowserRouter","resolveToLocation","normalizeToLocation","forwardRefShim","C","forwardRef","LinkAnchor","forwardedRef","innerRef","navigate","_onClick","onClick","rest","_objectWithoutPropertiesLoose","metaKey","altKey","ctrlKey","shiftKey","isModifiedEvent","ref","Link","_ref2","_ref2$component","__RouterContext","isDuplicateNavigation","forwardRefShim$1","forwardRef$1","NavLink","ariaCurrent","_ref$ariaCurrent","activeClassName","_ref$activeClassName","activeStyle","classNameProp","isActiveProp","locationProp","styleProp","escapedPath","classnames","joinClassnames","_inheritsLoose","Callback","_list","_queue","_firing","_fired","_firingIndexes","_fireCore","firingIndexes","stopOnFalse","step","unique","has","fireWith","queue","syncStrategy","memory","_extend2","defaultCurrency","oDataFilterToLower","decimalSeparator","thousandsSeparator","forceIsoDateParsing","wrapActionsBeforeExecute","useLegacyStoreResult","useJQuery","editorStylingMode","floatingActionButtonConfig","icon","closeIcon","at","my","offset","maxSpeedDialActionCount","Function","configMethod","DevExpress","BaseClass","InjectedClass","initialFields","injectFields","injectionObject","initial","resetInjection","variableWrapper","unwrapVariable","unwrap","isWrapped","bracketsToDots","expr","assignPropValue","propValue","unwrapObservables","prepareOptions","compileGetter","functionAsIs","functionsAsIs","hasDefaultValue","pathPart","next","combineGetters","getters","compiledGetters","l","getter","pathItem","ensurePropValueDefined","compileSetter","lastLevelIndex","currentValue","levelIndex","propertyValue","readPropValue","isPropertyFunc","deepExtendArraySafe","caseSensitive","getTime","strategy","MemorizedCallbacks","dataMap","strategyChanging","beforeCleanData","afterCleanData","setDataStrategy","cleanData","nodes","removeData","getDataStrategy","cleanDataRecursive","cleanSelf","childElements","getElementsByTagName","subscribeReady","readyCallbacks","doScroll","_wrappedHandler","readCookie","cleanValue","cleanupCookieValue","doNotParse","isParsingCookie","__assign","t","s","Cookies","cookies","changeListeners","HAS_DOCUMENT_COOKIE","cookie","parseCookies","Promise","_updateBrowserValues","parseOptions","_emitChange","getAll","name_1","_a","finalOptions","expires","maxAge","addChangeListener","removeChangeListener","idx","_type2","_dom_adapter2","_ready_callbacks","errorMessageFromXhr","unloading","textStatusMessages","timeout","error","parsererror","xhr","textStatus","status","explainTextStatus","statusText","aggregators","seed","sum","avg","finalize","NaN","processRequestResultLock","lockDeferred","lockCount","obtain","release","reset","stringToByteArray","code","bytes","utils","XHR_ERROR_UNLOAD","normalizeBinaryCriterion","crit","normalizeSortingInfo","info","desc","dir","compare","keysEqual","keyExpr","key1","key2","names","throttleChanges","throttled","timeoutId","lastArgs","throttle","changes","_cache","arr2","_toConsumableArray","trivialPromise","rejectedPromise","isDisjunctiveOperator","isConjunctiveOperator","isUnaryOperation","isGroupCriterion","first","second","base64_encode","input","getBase64Char","octet1","octet2","octet3","coreErrors","ERROR_MESSAGES","E4000","E4001","E4002","E4003","E4004","E4005","E4006","E4007","E4008","E4009","E4010","E4011","E4012","E4013","E4014","E4015","E4016","E4017","E4018","E4019","E4020","E4021","E4022","E4023","W4000","W4001","W4002","errorHandler","_errorHandler","registerEvent","noBubble","bindType","delegateType","excluded","sourceKeys","publicComponentUtils","componentClass","isMemberInvoke","memberArgs","getInstance","memberValue","option","_support2","_browser2","_devices2","_event_registrator2","_touch2","_mspointer2","_mouse2","_mouse_and_touch2","EventStrategy","support","browser","pointerEvents","msie","getStrategy","pointerEvent","originalEvents","move","cancel","leave","over","out","dataUtils","TRANSFORM_MATRIX_REGEX","TRANSLATE_REGEX","isPercentValue","getTranslate","matrix","getTranslateCss","is3D","z","cacheTranslate","translate","clearCache","transform","locate","parseTranslate","translateString","resetPosition","finishTransition","originalTransition","stylesConfig","transition","offsetHeight","getExponent","abs","toExponential","getPrecision","mantissa","positionOfDelimiter","getRoot","pow","fitIntoRange","minValue","maxValue","isMinValueUndefined","isMaxValueUndefined","inRange","adjust","interval","separatedAdjustedValue","precision","separatedValue","absValue","isExponentValue","integerPart","floor","toPrecision","solveCubicEquation","c","D2","sqrt","roots","u","q","D3","acos","PI","cos","domUtils","renderedCallbacks","TemplateBase","onRendered","$result","_renderCore","_ensureResultInContainer","$container","resultInContainer","opt","pairs","pairSplitRegExp","dec","decode","eq_idx","val","tryDecode","serialize","enc","encode","fieldContentRegExp","domain","toUTCString","httpOnly","secure","sameSite","decodeURIComponent","encodeURIComponent","E1001","E1002","E1003","E1004","E1005","E1006","E1007","E1010","E1011","E1012","E1016","E1018","E1019","E1020","E1021","E1022","E1023","E1025","E1026","E1030","E1031","E1032","E1033","E1034","E1035","E1037","E1038","E1039","E1040","E1041","E1042","E1043","E1044","E1045","E1046","E1047","E1048","E1049","E1050","E1051","E1052","E1053","E1054","E1055","E1056","W1001","W1002","W1003","W1004","W1005","W1006","W1007","W1008","W1009","W1010","W1011","W1012","W1013","W1014","asyncGeneratorStep","gen","_next","_throw","arg","_asyncToGenerator","err","webkitRegExp","ieRegExp","ie11RegExp","msEdge","safari","mozillaRegExp","browserFromUA","browserName","browserVersion","webkit","DefaultEventsStrategy","_events","setEventsStrategy","_eventsStrategy","hasEvent","eventArgs","eventHandler","_disposeEvents","dispose","_normalize","_upperCaseFirst","toUpperCase","_chop","dasherize","DIGIT_CHARS","camelize","upperFirst","humanize","titleize","underscore","captionize","captionList","isPrevCharNewWord","isNewWord","_array","_dom_adapter","_common","_call_once2","_window2","_style2","_windowUtils$getNavig","maxTouchPoints","msMaxTouchPoints","pointerEnabled","transitionEndEventNames","webkitTransition","MozTransition","OTransition","msTransition","supportProp","touchEvents","hasWindowProperty","detectTouchEvents","isPointerEnabled","canUsePointerEvent","detectPointerEvent","touchPointersPresent","transitionEndEventName","animation","nativeScrolling","_devices$real","isNativeScrollingSupported","stylePropPrefix","inputType","queryImpl","remote","impl","_focusable","tabIndex","visible","isTabIndexNotNaN","isDisabled","disabled","isDefaultFocus","isHyperlink","focusable","tabbable","ready","$originalViewPort","$current","isNewViewportFound","prevViewPort","originalViewPort","eventUtils","wheelEvent","eventManager","_attachHandlers","_proxiedCancelHandler","_cancelHandler","_proxiedAcceptHandler","_acceptHandler","_pointerDownHandler","_pointerMoveHandler","_pointerUpHandler","_mouseWheelHandler","_eachEmitter","activeEmitters","_activeEmitters","_applyToEmitters","resetEmitter","_updateEmitters","_isSetChanged","_cleanEmitters","_fetchEmitters","currentSet","_closestEmitter","previousSet","_emittersSet","setChanged","handleEmitter","validatePointers","validate","addCancelCallback","addAcceptCallback","emitters","acceptedEmitter","_cancelEmitter","canceledEmitter","removeCancelCallback","removeAcceptCallback","emitterIndex","_allowInterruptionByMouseWheel","_adjustWheelEvent","allowInterruption","allowInterruptionByMouseWheel","closestGestureEmitter","gesture","direction","getDirection","verticalGestureDirection","getElement","emitterConfig","emitterClass","emitterName","events","emitterEvents","bubble","setup","subscriptions","handleObj","configure","delegateSelector","teardown","disposeEmitter","removeEvent","componentNames","nextAnonymousComponent","getName","newName","generatedName","attachInstanceToElement","componentInstance","disposeFn","getInstanceByElement","Emitter","_$element","_cancelCallback","_acceptCallback","_cancel","_accept","_requestAccept","_acceptRequestEvent","_forgetAccept","start","_fireEvent","_getEmitterTarget","BaseStrategy","_eventName","_originalEvents","_handlerCount","_isNoBubble","_handler","_getDelegateTarget","mozilla","_setSelector","_selector","_getSelector","iteratorUtils","errorsModule","Iterator","countable","ArrayIterator","WrappedIterator","iter","MapIterator","mapper","hasNext","defaultCompare","xValue","yValue","SortIterator","_wrap","rules","thenBy","sortedIter","_ensureSorted","sort","_compare","_unwrap","record","wrappedItem","xIndex","yIndex","rulesCount","rule","compareResult","compileCriteria","compileEquals","negate","useStrictComparison","ops","isConjunctiveNextOperator","compileGroup","op","criteria","compileUnary","getterValue","searchValue","compileBinary","FilterIterator","GroupIterator","_ensureGrouped","groupedIter","SelectIterator","SliceIterator","take","pos","arrayQueryImpl","queryOptions","handleError","aggregateCore","aggregator","accumulator","standardAggregate","select","chainQuery","selectProp","enumerate","sortBy","Number","MAX_VALUE","groupBy","aggregate","mergeNameParts","_i","parseOptionName","parts","isCollectionItem","elementContextTypes","injectContextTypes","_react2","_propTypes2","_Provider","_objectWithoutProperties","getRegisteredElements","addElementsLoadListener","registerElement","unregisterElement","Elements","_elements","handleRegisterElement","impliedTokenType","impliedSourceType","impliedPaymentMethodType","prevState","registeredElements","handleUnregisterElement","el","tag","stripe","addStripeLoadListener","only","providerContextTypes","defaultProps","dependencyInjector","stringFormat","format","coreLocalization","baseDictionary","parentLocales","getParentLocale","locale","parentLocale","getDataByLocale","localeData","getValueByClosestLocale","isRootLocale","newMessages","messageLocalization","_dictionary","load","messages","_localizablePrefix","localizablePrefix","localizeString","regex","escapeString","localizationKey","defaultResult","_messageLoaded","localizeNode","node","nodeItem","nodeValue","attributes","localizedValue","getMessagesByLocales","getDictionary","onlyNew","getFormatter","_getFormatterBase","formatter","animationFrame","registerEmitter","compareVersions","isInput","misc","requestAnimationFrame","cancelAnimationFrame","ClickEmitter","_makeElementClickable","_blurPrevented","_startTarget","_startEventData","_eventOutOfElement","_clickAnimationFrame","_fireClickEvent","targetChanged","gestureDelta","boundsExceeded","useNativeClick","isNativeClickEvent","prevented","lastFiredEvent","clickHandler","eventAlreadyFired","DXCLICK_FIRED","useNative","blurPrevented","Action","commonUtils","DOMComponent","Template","FunctionTemplate","EmptyTemplate","ChildDefaultTemplate","KeyboardProcessor","selectors","hoverEvents","feedbackEvents","clickEvent","inflector","DX_POLYMORPH_WIDGET_TEMPLATE","widgetName","model","widget","widgetElement","widgetOptions","deprecatedName","log","_createComponent","Widget","_supportedKeys","_getDefaultOptions","hint","activeStateEnabled","onContentReady","hoverStateEnabled","focusStateEnabled","accessKey","onFocusIn","onFocusOut","integrationOptions","watchMethod","skipImmediate","templates","createTemplate","_keyboardProcessor","_feedbackShowTimeout","_feedbackHideTimeout","_init","_tempTemplates","_defaultTemplates","_initTemplates","_initContentReadyAction","_extractTemplates","_extractAnonymousTemplate","_clearInnerOptionCache","optionContainer","_cacheInnerOptions","optionValue","cacheName","_getOptionsFromContainer","fullName","_innerOptionChanged","innerWidget","_getInnerOptionsCache","_initInnerOptionCache","_bindInnerWidgetOptions","optionsContainer","templateElements","templatesMap","template","templateOptions","dxTemplate","detach","templateName","deviceTemplate","_findTemplateByDevice","_saveTemplate","_createTemplate","suitableTemplate","anonymousTemplateName","_getAnonymousTemplateName","$anonymousTemplate","onlyJunkTemplateContent","isEmptyText","_getAriaTarget","_focusTarget","_getTemplateByOption","optionName","_getTemplate","templateSource","templateSourceResult","_getNormalizedTemplateArgs","_acquireTemplate","_createTemplateIfNeeded","_addOneRenderedCall","_renderIntegrationTemplate","_render","templateResult","integrationTemplate","templateKey","cachedTemplate","_cleanTemplates","_contentReadyAction","_createActionByOption","excludeValidators","_initMarkup","_toggleDisabledState","_toggleVisibility","_renderHint","_isFocusable","_renderFocusTarget","_renderContent","_renderFocusState","_attachFeedbackEvents","_attachHoverEvents","_disposed","_renderContentImpl","_fireContentReadyAction","_dispose","_resetActiveState","_toggleActiveState","_eventBindingTarget","_clean","_cleanFocusState","toggleClass","setAria","_attachKeyboardEvents","_attachFocusEvents","_renderAccessKey","focusTarget","clickNamespace","focus","_getActiveElement","_activeStateUnit","not","_keyboardEventBindingTarget","_detachFocusEvents","NAME","focusEvents","focusInEvent","focusOutEvent","$focusTarget","_focusInHandler","_focusOutHandler","beforeActivateEvent","_refreshFocusEvent","beforeExecute","_updateFocusState","isFocused","_toggleFocusClass","_hasFocusClass","_isFocused","processor","reinitialize","_keyboardHandler","_disposeKeyboardProcessor","keyName","_refreshFocusState","removeAttr","hoverableSelector","nameStart","nameEnd","startAction","_hoverStartHandler","_refreshHoveredElement","$eventBindingTarget","execute","_hoverEndHandler","_forgetHoveredElement","_toggleHoverClass","feedbackAction","feedbackActionDisabled","feedbackSelector","activeEventName","active","inactiveEventName","inactive","feedbackActionHandler","dxEvent","hoveredElement","_hoveredElement","Boolean","_setWidgetOption","widgetOptionMap","_optionChanged","_isVisibilityChangeSupported","_checkVisibilityChanged","_isVisible","beginUpdate","_ready","endUpdate","_initialized","_isReady","attrName","attrValue","isReady","repaint","_refresh","registerKeyHandler","currentKeys","addingKeys","$activeThemeLink","knownThemes","currentThemeName","pendingThemeName","themeClasses","viewPortUtils","themeReadyCallback","viewPortChanged","readThemeMarker","appendTo","waitForThemeLoad","themeName","waitStartTime","handleLoaded","isPendingThemeLoaded","now","setInterval","isLoaded","isTimeout","clearInterval","resolveFullThemeName","desiredThemeName","desiredThemeParts","knownThemeName","themeData","knownThemeParts","init","newContext","initContext","$allThemeLinks","link","fullThemeName","after","processMarkup","theme","currentThemeData","isAutoInit","_autoInit","loadCallback","themeNameFromDevice","_forceTimeout","checkThemeDeprecation","themeNameParts","isMaterial","getCssClasses","pixelRatio","devicePixelRatio","$tester","outerHeight","activateHairlines","isTheme","themeRegExp","isIos7","isWebFontLoaded","testElement","innerHTML","etalonFontWidth","offsetWidth","testedFontWidth","initDeferred","autoInit","isGeneric","waitWebFont","clear","intervalId","resetTheme","Clone","assignValueToProperty","assignByReference","isNumberX","isNumberY","extendComplexObject","prevValue","ajax","arrayUtils","Store","ArrayStore","CustomStore","deferredUtils","__isString","__isNumber","__isBoolean","__isDefined","OperationManager","_counter","_deferreds","isPending","normalizeDataSourceOptions","normalizationOptions","store","paginate","sendRequest","dataType","loadMode","fromUrlLoadMode","storeConfig","createCustomStoreFromLoadFunc","alias","createStoreFromConfig","normalizeStoreLoadOptionAccessorArguments","originalArguments","generateStoreLoadOptionAccessor","_storeLoadOptions","mapDataRespectingGrouping","groupInfo","mapRecursive","level","group","aggregates","mapGroup","normalizeLoadResult","extra","operationId","cancelAll","DataSource","onPushHandler","pushAggregationTimeout","_onPush","_changedTime","_onPushHandler","_aggregationTimeoutId","_store","_extractLoadOptions","_mapFunc","_postProcessFunc","postProcess","_pageIndex","pageIndex","_pageSize","pageSize","_loadingCount","_loadQueue","_createLoadQueue","_searchValue","_searchOperation","searchOperation","_searchExpr","searchExpr","_paginate","_reshapeOnPush","reshapeOnPush","_operationManager","_items","_userData","_totalCount","_isLoaded","_isLastPage","_delayedLoadTask","customNames","_customLoadOptions","loadOptions","newIndex","isLastPage","newFilter","requireTotalCount","argc","totalCount","isLoading","beginLoading","_changeLoadingCount","endLoading","increment","newLoading","oldLoading","_scheduleLoadCallbacks","_scheduleFailCallbacks","_fireChanged","date","_scheduleChangedCallbacks","loadSingle","_createStoreLoadOptions","handleDone","_applyMapFunction","shouldForceByKey","_byKeyViaLoad","refresh","searchString","byKey","loadOperation","loadTask","_loadFromStore","_createLoadOperation","delay","_this3","groupLevel","dataSourceChanges","applyBatch","storeLoadOptions","reload","clearRawDataCache","_addSearchOptions","_useDefaultSearch","_addSearchFilter","userData","searchFilter","pendingDeferred","handleSuccess","loadResult","_processStoreLoadResult","processResult","resolvePendingDeferred","_applyPostProcessFunction","Guid","_value","_generate","round","toJSON","scrollbarWidth","translator","horzRe","vertRe","collisionRe","IS_SAFARI","normalizeAlign","w","normalizeOffset","getAlignFactor","align","inverseAlign","calculateOversize","bounds","oversize","myLocation","collisionSide","initMyLocation","atLocation","atAlign","atSize","myAlign","mySize","collisionResolvers","fit","flip","inverseData","flipfit","none","calculateScrollbarWidth","$scrollDiv","overflow","defaultPositionResult","calculatePosition","$what","currentOffset","of","collision","normalizeCollision","boundary","boundaryOffset","outerWidth","scrollLeft","scrollTop","innerWidth","innerHeight","windowHeight","hZoomLevel","vZoomLevel","clientHeight","boundaryWidth","boundaryHeight","$boundary","boundaryPosition","preciser","number","precise","targetPosition","calculate","resolver","all","promises","jsPrefixes","cssPrefixes","Webkit","Moz","O","ms","getStyles","pxExceptions","setDimensionProperty","originalName","prefixedProp","callBack","cssPrefixesCount","jsPrefix","forEachPrefixes","specific","normalizeStyleProp","setWidth","setHeight","maxLevel","normalizeArg","xItem","yItem","_errors","_object2","_utils","getItems","keyInfo","groupCount","findItems","collapsedItems","indexByKey","update","isBatch","keyOrKeys","hasKey","keyOf","_dataByKeyMap","getCacheValue","insert","keyValue","setDataByKeyMapValue","getHasKeyCacheValue","arrayLength","batchData","useInsertIndex","dataByKeyMap","generateDataByKeyMap","queryByOptions","storeImpl","_keyGetter","_requireKey","_withLock","_loadImpl","createQuery","_totalCountImpl","extraOptions","_addFailHandlers","_byKeyImpl","_insertImpl","callbackValues","callbackKey","_updateImpl","_pushImpl","_removeImpl","registerClass","consoleUtils","stringUtils","ERROR_URL","baseErrors","makeError","logger","combineMessage","formatMessage","formatDetails","details","getErrorUrl","__id","__details","_action","_context","_beforeExecute","_afterExecute","afterExecute","_component","_validatingTargetName","validatingTargetName","_excludeValidators","handled","argsBag","_validateAction","_executeAction","executors","executor","registerExecutor","unregisterExecutor","createValidatorByTargetElement","readOnly","checkDCE","__REACT_DEVTOOLS_GLOBAL_HOOK__","process","console","weakMap","__extends","extendStatics","__","options_manager_1","templates_manager_1","templates_renderer_1","templates_store_1","widget_config_1","tree_1","DX_REMOVE_EVENT","ComponentBase","_super","_templateProps","_setTemplatesRendererRef","_createWidget","_templatesStore","TemplatesStore","_templatesRendererRef","scheduleUpdate","_templatesManager","_optionsManager","OptionsManager","_getElementProps","renderChildren","TemplatesRenderer","templatesStore","_updateCssClasses","_getConfig","_instance","_element","_WidgetClass","templatesRenderAsynchronously","getInitialOptions","setInstance","onOptionChanged","buildConfigTree","initialValuesProps","_defaults","predefinedValuesProps","expectedChildren","_expectedChildren","elementProps","elementPropNames","newProps","_b","prevClassName","getClassName","newClassName","PureComponent","ensureStripeShape","createSource","createToken","createPaymentMethod","handleCardPayment","apiKey","Stripe","_apiKey","_stripe","__cachedInstances","getOrCreateStripe","_meta","_register","_stripe2","_didWarn","_didWakeUpListeners","_listeners","apiKeyChanged","stripeInstanceChanged","_stripe3","_registerWrapper","propTypes","isarray","tokensToFunction","tokensToRegExp","PATH_REGEXP","res","tokens","defaultDelimiter","delimiter","m","escaped","capture","modifier","asterisk","partial","repeat","optional","pattern","escapeGroup","encodeURIComponentPretty","encodeURI","opts","token","segment","j","attachKeys","re","flags","route","endsWithDelimiter","groups","regexpToRegexp","arrayToRegexp","stringToRegexp","easing","positionUtils","removeEventName","RELATIVE_VALUE_REGEX","TransitionAnimationStrategy","initAnimation","transitionProperty","setProps","cleanupWhen","transitionAnimation","finish","_finishTransition","_cleanup","_completeAnimationCallback","duration","animate","_startAnimation","simulatedEndEventTimer","waitForJSCompleteTimer","startTime","transitionEndFired","simulatedTransitionEndFired","cleanup","stop","fx","_simulatedTransitionEndDelay","transitionDelay","transitionDuration","transitionTimingFunction","jumpToEnd","FrameAnimationStrategy","_normalizeValue","_parseTransform","frameAnimation","convertTransitionTimingFuncToEasing","draw","animationFrameId","delayTimeout","_animationStep","transformString","translateData","scaleData","rotateData","scale","_calcStepValue","currentDuration","calcValueRecursively","endPropValue","getEasing","calcEasedValue","numericValue","FallbackToNoAnimationStrategy","isSynchronous","baseConfigValidator","animationType","typeMessage","isObjectConfigValidator","positionAliases","bottom","SlideAnimationConfigurator","validateConfig","positioningConfig","setupPosition","_setUpConfig","_initNewPosition","relativeValue","_getRelativeValue","FadeAnimationConfigurator","toOpacity","fromOpacity","skipElementInitialStyles","opacity","animationConfigurators","custom","slide","slideIn","slideOut","fade","fadeIn","fadeOut","fromScale","toScale","_getCssTransform","isStringConfigValidator","defaultJSConfig","complete","defaultCssConfig","setupAnimationOnElement","configurator","startAnimationOnElement","isStarted","onElementAnimationComplete","stopAnimationOnElement","startTimeout","scopedRemoveEvent","createAnimation","initialConfig","defaultConfig","getAnimationConfigurator","animationStrategies","frame","noAnimation","getAnimationStrategy","subscribeToRemoveEvent","pushInAnimationQueue","queueData","getAnimQueueData","writeAnimQueueData","isAnimating","shiftFromAnimationQueue","destroyAnimQueueData","executeAnimation","currentPosition","animationTypes","encodeHtml","encodeRegExp","replaceAll","searchToken","replacementToken","SPACE_REGEXP","quadToObject","quad","splitQuad","replaceDollarCount","reg","GestureEmitter","DRAG_ENTER_EVENT","DRAG_LEAVE_EVENT","DROP_EVENT","knownDropTargets","knownDropTargetSelectors","knownDropTargetConfigs","dropTargetRegistration","updateEventsCounter","eventsCount","_initEvent","_start","_maxLeftOffset","maxLeftOffset","_maxRightOffset","maxRightOffset","_maxTopOffset","maxTopOffset","_maxBottomOffset","maxBottomOffset","dropTargets","targetElements","_dropTargets","_move","dragOffset","_calculateOffset","_processDropTargets","_cancelPreventDefault","_calculateXOffset","_calculateYOffset","_fitOffset","minOffset","maxOffset","_findDropTarget","_currentDropTarget","_fireDropTargetEvent","draggingElement","_checkDropTargetActive","dropTargetIndex","dropTargetSelectors","$delegatedTargets","getItemDelegatedTargets","delegatedTarget","$delegatedTarget","_checkDropTarget","getItemConfig","activeTarget","dropTargetConfig","itemPositionFunc","targetSize","itemSizeFunc","getBoundingClientRect","getItemSize","_end","drop","watchChanges","globalWatch","fieldsWatch","fields","fieldsMap","resolvedData","missedFields","watchHandlers","fieldGetter","rawData","globalDispose","fieldsDispose","dataWithRawFields","_fields","_fieldsMap","_watchMethod","windowResizeCallbacks","elementAttr","_synchronizableOptionsForCreateComponent","_visibilityChanged","_dimensionChanged","_attachWindowResizeCallback","_setOptionsByDevice","instanceCustomRules","_classCustomRules","_isInitialOptionValue","_convertRulesToOptions","_isDimensionChangeSupported","windowResizeCallBack","_windowResizeCallBack","_renderComponent","_renderElementAttributes","_toggleRTLDirection","_renderVisibilityChange","_renderDimensions","_attachVisibilityChangeHandlers","class","_attachDimensionChangeHandlers","_getOptionValue","_isCssUpdateRequired","resizeEventName","hidingEventName","shownEventName","_isHidden","_modelByElement","_invalidate","_updateLockCount","_requireRefresh","_detachWindowResizeCallback","rtl","synchronizableOptions","nestedComponentOptions","_extendConfig","optionChangedHandler","extendConfig","_defaultActionConfig","_defaultActionArgs","_removeAttributes","attribute","attributeName","_removeClasses","classes","cssClass","requireRender","_initializing","defaultOptions","isWritableWrapped","wrap","arrayQuery","multiLevelGroup","query","g","arrangeSortingInfo","sortInfo","filteredGroup","isCountQuery","keepInitialKeyOrder","_startTimer","holdTimeout","_holdTimer","_touchWasMoved","_stopTimer","request","requestID","setAnimationFrameMethods","nativeRequest","webkitRequestAnimationFrame","mozRequestAnimationFrame","oRequestAnimationFrame","msRequestAnimationFrame","nativeCancel","webkitCancelAnimationFrame","mozCancelAnimationFrame","oCancelAnimationFrame","msCancelAnimationFrame","canceledRequests","requestId","popover_1","prop_types_1","component_1","nested_option_1","Popover","defaultHeight","defaultPosition","defaultVisible","defaultWidth","hideEvent","showEvent","toolbarItem","tmplOption","keyFn","closeOnBackButton","bool","closeOnOutsideClick","oneOfType","deferRendering","maxHeight","maxWidth","minHeight","minWidth","onDisposing","onHidden","onHiding","onInitialized","onShowing","onShown","onTitleRendered","oneOf","shading","shadingColor","showCloseButton","showTitle","title","toolbarItems","Animation","OptionName","ExpectedChildren","hide","show","At","BoundaryOffset","Collision","Hide","HideEvent","My","Offset","Position","Show","ShowEvent","ToolbarItem","IsCollectionItem","TemplateProps","getConsoleMethod","warn","debug","assert","assertParam","parameter","SPECIAL_HEIGHT_VALUES","getSizeByStyles","styles","getElementBoxParams","beforeName","afterName","padding","margin","parseHeight","getContainerHeight","getHeightWithOffset","getSize","boxParams","clientRect","getClientRects","boundingClientRect","size","boxSizing","getBoxSizingOffset","paddings","borders","margins","addOffsetToMaxHeight","addOffsetToMinHeight","getVerticalOffsets","withMargins","getVisibleHeight","currentLocale","_class2","_keydown","_compositionStart","_compositionEnd","_childProcessors","_processFunction","isNotFocusTarget","shouldSkipProcessing","_isComposingJustFinished","_isComposing","_toggleProcessingWithContext","toggleProcessing","clearChildren","attachChildProcessor","childProcessor","childHandler","childContext","ctrl","prevSize","originalCallbacksAdd","originalCallbacksRemove","formatSize","handleResize","changedDimension","setPrevSize","getOwnPropertySymbols","propIsEnumerable","propertyIsEnumerable","toObject","test1","getOwnPropertyNames","test2","test3","letter","shouldUseNative","symbols","isTagName","tagWrappers","tagsCount","startTags","endTags","thead","td","col","tr","tbody","colgroup","caption","tfoot","th","tags","firstRootTag","tagWrapper","lastChild","childNodes","isTablePart","toFixed","_math","roundByAbs","adjustValue","precisionMultiplier","intermediateValue","valuePrecision","adjustedValue","templateEngines","currentTemplateEngine","setTemplateEngine","templateEngine","getCurrentTemplateEngine","registerTemplateEngine","normalizeTouchEvent","pointerId","identifier","changedTouches","skipTouchWithSameIdentifier","TouchStrategy","_pointerId","dxpointerdown","dxpointermove","dxpointerup","dxpointercancel","dxpointerover","dxpointerout","dxpointerenter","dxpointerleave","normalize","addEventsListener","eventMap","pointerEquals","onPointerAdding","getPointerIndex","removePointer","observer","Observer","normalizeMouseEvent","activated","activateStrategy","MouseStrategy","activate","resetObserver","dataQuery","_clearItemKeys","_setOption","onSelectionChanged","addedItemKeys","removedItemKeys","addedItems","removedItems","selectedItems","selectedItemKeys","equalKeys","equalByReference","_clearSelection","preserve","isDeselect","isSelectAll","_loadFilteredData","remoteFilter","localFilter","filterLength","needLoadAllData","maxFilterLengthInRequest","dataFields","filteredItems","updateSelectedItemKeyHash","keyHashIndices","_isAnyItemSelected","isItemSelected","_getFullSelectAllState","plainItems","dataFilter","selectedItemsLength","_getVisibleSelectAllState","hasSelectedItems","hasUnselectedItems","itemData","getItemData","isSelectableItem","isItemKeySelected","ValueType","utils_1","buildConfig","root","ignoreInitialValues","templatesAccum","buildNode","predefinedOptions","_c","configs","_d","_e","configCollections","_f","_g","initialOptions","_h","_j","buildTemplates","optionsAccum","isAnonymous","findValue","Complex","optionInfo","collection","childCollection","findValueInObject","Simple","separateProps","defaultsProps","templateProps","defaults","knownTemplates","defaultOptionName","ElementType","template_1","getElementInfo","parentExpectedChildren","Unknown","elementDescriptor","expectation","Option","isCollection","DefaultsProps","PredefinedProps","AuBankAccountElement","FpxBankElement","IdealBankElement","IbanElement","PaymentRequestButtonElement","CardCVCElement","CardCvcElement","CardExpiryElement","CardNumberElement","CardElement","injectStripe","StripeProvider","_Provider2","_inject2","_Elements2","_Element2","_PaymentRequestButtonElement2","ReactIs","REACT_STATICS","contextType","getDefaultProps","getDerivedStateFromError","getDerivedStateFromProps","mixins","KNOWN_STATICS","caller","callee","arity","MEMO_STATICS","TYPE_STATICS","getStatics","isMemo","ForwardRef","getOwnPropertyDescriptor","objectPrototype","hoistNonReactStatics","targetComponent","sourceComponent","blacklist","inheritedComponent","targetStatics","sourceStatics","_defineProperty","ownKeys","enumerableOnly","sym","_objectSpread2","getOwnPropertyDescriptors","defineProperties","component_base_1","extension_component_1","_extensionCreators","_registerExtension","_createExtensions","ExtensionComponent","isPrototypeOf","onMounted","creator","element_1","NestedOption","Fragment","iconUtils","registerComponent","ValidationMixin","ValidationEngine","inkRipple","themes","ALLOWED_STYLE_CLASSES","BUTTON_STYLING_MODE_CLASS_PREFIX","Button","click","_executeClickAction","space","_setDeprecatedOptions","iconPosition","validationGroup","useSubmitBehavior","useInkRipple","stylingMode","_defaultOptionsRules","content","$iconElement","getImageContainer","$textContainer","prepend","_renderType","_renderStylingMode","_renderInkRipple","_renderClick","_updateAriaLabel","_updateContent","waveSizeCoefficient","useHoldAnimation","isCentered","_inkRipple","_$content","showWave","hideWave","_getContentData","transclude","replaceWith","_renderSubmitInput","submitAction","_createAction","getGroupConfig","_findGroup","isValid","_$submitInput","actionConfig","_clickAction","getImageSourceType","ariaLabel","stylingModeClass","_refreshType","prevType","previousValue","Overlay","sizeUtils","ALLOWED_TOOLBAR_ITEM_ALIASES","IS_IE11","IS_OLD_SAFARI","HEIGHT_STRATEGIES","flex","Popup","fullScreen","titleTemplate","dragEnabled","bottomTemplate","useDefaultToolbarButtons","useFlatToolbarButtons","autoResizeEnabled","_iosAnimation","_androidAnimation","_device","_wrapper","_$popupContent","wrapInner","isFullscreen","_toggleFullScreenClass","_renderTitle","_renderBottom","_getToolbarItems","titleText","_$title","$title","$content","_renderTemplateByType","_renderDrag","_executeTitleRenderAction","additionalToolbarOptions","toolbarOptions","useDefaultButtons","useFlatButtons","$toolbar","$titleElement","_getTitleRenderAction","titleElement","_titleRenderAction","_createTitleRenderAction","_getCloseButton","toolbar","_getCloseButtonRenderer","$button","_createToolbarItemAction","toolbarsItems","_toolbarItemClasses","currentPlatform","isShortcut","shortcut","getButtonPlace","_getToolbarItemByAlias","isLTROrder","_getLocalizationKey","itemType","itemConfig","itemClass","POPUP_CLASS","$toolbarItem","clickAction","_$bottom","$bottom","insertAfter","compactMode","_toggleClasses","_getDragTarget","topToolbar","_renderGeometryImpl","isDimensionChanged","_resetContentHeight","_setContentHeight","_renderResize","_resizable","_actions","onResize","overlayContent","currentHeightStrategyClass","_chooseHeightStrategy","_getHeightCssStyles","_setHeightClasses","_heightStrategyChangeOffset","popupVerticalPaddings","isAutoWidth","static","_isAutoHeight","cssStyles","contentMaxHeight","contentMinHeight","popupHeightParts","_splitPopupHeight","toolbarsAndVerticalOffsetsHeight","header","footer","contentVerticalOffsets","popupVerticalOffsets","contentHeight","_getContainer","maxHeightValue","currentClass","excessClasses","bottomToolbar","_useFixedPosition","_renderFullscreenWidthClass","_renderShadingDimensions","refreshPosition","_renderPosition","_renderGeometry","isPartialUpdate","_toggleSafariScrolling","_uiCollection_widget2","_ui2","_uiCollection_widgetEditStrategy2","_data_source","_selection2","indexExists","CollectionWidget","_setOptionsByReference","_optionsByReference","selectedItem","selectionMode","selectionRequired","selectionByClick","selectedIndex","onItemReordered","onItemDeleting","onItemDeleted","_userOptions","_initEditStrategy","_initKeyGetter","_initSelectionModule","_showDeprecatedSelectionMode","_getKeysByItems","_editStrategy","getKeysByItems","_getItemsByKeys","getItemsByKeys","_getKeyByIndex","getKeyByIndex","_getIndexByKey","getIndexByKey","_getIndexByItemData","getIndexByItemData","_isKeySpecified","_dataSource","_getCombinedFilter","itemsGetter","_selection","mode","_updateSelectedItems","dataSource","customQueryParams","Strategy","_getSelectedItemIndices","indices","getSelectedItemKeys","beginCache","endCache","_rendering","_syncSelectionOptions","_normalizeSelectedItems","_rendered","byOption","_chooseSelectOption","getItemDataByIndex","_setOptionSilent","selectedItemIndex","setSelection","isOptionDefined","_compareKeys","oldKeys","newKeys","newSelection","currentSelection","getSelectedItems","normalizedSelection","_itemClickHandler","_itemSelectHandler","$itemElement","unselectItem","selectItem","_selectedItemElement","_itemElements","_postprocessRenderItem","normalizedItemIndex","getNormalizedIndex","_isItemSelected","_processSelectableItem","isSelected","_selectedItemClass","_setAriaSelected","selectionChangePromise","_selectionChangePromise","normalizedIndex","addedSelection","removedSelection","_addSelection","_removeSelection","_updateSelection","_fireSelectionChangeEvent","getItemElement","_clearSelectedItems","_waitDeletingPrepare","deletingActionArgs","deletePromise","_itemEventHandler","deletePromiseExists","deletePromiseResolved","argumentsSpecified","shouldDelete","_deleteItemFromDS","$item","disabledState","dataStore","_getItemData","_tryRefreshLastPage","_refreshLastPage","_expectLastItemLoading","_updateSelectionAfterDelete","deselect","_updateIndicesAfterIndex","itemElements","_itemIndexKey","_simulateOptionChange","_optionChangedAction","itemIndex","_deleteItemElementByIndex","deleteItemAtIndex","_afterItemElementDeleted","deletedActionArgs","changingOption","_renderEmptyMessage","deleteItem","itemResponseWaitClass","_itemResponseWaitClass","_extendActionArgs","reorderItem","toItemElement","$movingItem","$destinationItem","movingIndex","destinationIndex","itemPlacementFunc","moveItemAtIndexToIndex","getIndex","getWaves","wavesNumber","getInkRipple","$currentWave","$wave","wave","hidingTimeout","hideSelectedWave","elementWidth","elementHeight","elementDiagonal","waveSize","getWaveStyleConfig","showingTimeout","showingWaveHandler","durationCss","durations","showingScale","getDurations","hidingScale","hidingOpacity","animationDuration","_slicedToArray","_arr","_n","_s","return","sliceIterator","ldmlNumber","NUMERIC_FORMATS","LargeNumberFormatPowers","largenumber","thousands","millions","billions","trillions","numberLocalization","numericFormats","defaultLargeNumberFormatPostfixes","_parseNumberFormatString","formatType","formatList","formatObject","power","_calculateNumberPower","minPower","maxPower","_getNumberByPower","_formatNumber","formatConfig","powerPostfix","_formatNumberCore","_formatNumberExponential","powString","_addZeroes","multiplier","_addGroupSeparators","_normalizeFormat","_getSeparators","getDecimalSeparator","getThousandsSeparator","convertDigits","toStandard","digits","fromFirstDigit","toFirstDigit","fromLastDigit","regExp","getSign","separators","negativeEtalon","_format","numberConfig","cleanedText","_calcSignificantDigits","_text$split","_text$split2","integer","fractional","calcDigitsAfterLeadingZeros","reverse","_renderer","ICON_CLASS","_query2","_abstract_store2","_array_utils2","initialArray","DataHelperMixin","_disposeDataSource","_refreshDataSource","_initDataSource","_loadDataSource","widgetDataSourceOptions","dataSourceType","dataSourceOptions","_isSharedDataSource","_dataSourceType","_addDataSourceHandlers","_addDataSourceChangeHandler","_addDataSourceLoadErrorHandler","_addDataSourceLoadingChangedHandler","_addReadyWatcher","_proxiedDataSourceChangedHandler","_proxiedDataSourceLoadErrorHandler","_proxiedDataSourceLoadingChangedHandler","_loadSingle","_isDataSourceLoading","getDataSource","mathUtils","POSITION_FLIP_MAP","center","WEIGHT_OF_SIDES","POSITION_ALIASES","SIDE_BORDER_WIDTH_STYLES","getEventName","getEventNameByOption","attachEvent","getEventDelay","_clearEventTimeout","_timeouts","detachEvent","resizeEnabled","closeOnTargetScroll","arrowPosition","arrowOffset","_renderArrow","_detachEvents","_attachEvents","_$arrow","prependTo","_documentDownHandler","_isOutsideClick","_animate","_getContainerPosition","_stopAnimation","_renderOverlayPosition","_renderOverlayBoundaryOffset","_resetOverlayPosition","_updateContentSize","contentPosition","resultLocation","positionSide","_getSideByLocation","_togglePositionClass","_toggleFlippedClass","_isHorizontalSide","_isVerticalSide","_renderArrowPosition","_positionSide","containerLocation","newContainerWidth","newOverlayContentHeight","newPopupContentHeight","_position","hOffset","vOffset","isVerticalSide","isHorizontalSide","_isPopoverInside","_getContentBorderWidth","side","borderWidth","isFlippedByVertical","isFlippedByHorizontal","positionClass","_$wrapper","isFlippedHorizontal","isFlippedVertical","arrowLocation","axis","sizeProperty","targetOffset","contentOffset","arrowSize","contentLocation","contentSize","targetLocation","finalArrowLocation","_transformStringPosition","fullUpdate","_renderShadingPosition","_normalizePosition","_getDisplaySide","weightSign","BaseRuleValidator","defaultMessage","defaultFormattedMessage","_isValueEmpty","rulesValidators","required","valueArray","itemValue","_validate","RequiredRuleValidator","NumericRuleValidator","ignoreEmptyValue","useCultureSettings","RangeRuleValidator","validNumber","numeric","validValue","StringLengthRuleValidator","range","CustomRuleValidator","validator","dataGetter","validationCallback","CompareRuleValidator","comparisonTarget","reevaluate","otherValue","comparisonType","PatternRuleValidator","EmailRuleValidator","stringLength","email","GroupConfig","validators","brokenRules","validatorResult","brokenRule","initGroups","addGroup","removeGroup","_setDefaultMessage","validationRules","ruleValidationResult","ruleValidator","registerValidatorInGroup","groupConfig","_shouldRemoveGroup","validatorsInGroup","isDefaultGroup","isValidationGroupInstance","removeRegisteredValidator","validateGroup","resetGroup","activeFeedback","FeedbackEvent","_timeout","_fire","_schedule","force","_timer","FeedbackEmitter","_active","_inactive","activeTimeout","inactiveTimeout","activeChildExists","childJustActivated","_initEvents","eventTarget","mouseEvent","deferFeedback","skipTimers","lockInactive","lock","getWheelEventName","wheel","_wheelHandler","_getWheelDelta","wheelDelta","deltaY","httpRequest","createScript","script","removeScript","scriptNode","appendToHead","evalScript","getRequestOptions","headers","paramsAlreadyString","upload","paramsConvert","getMethod","parameters","getRequestHeaders","defaultContentType","contentType","getContentTypeHeader","Accept","scriptAccept","accepts","xml","json","jsonp","getAcceptHeader","crossDomain","getXhr","async","originAnchor","urlAnchor","protocol","host","isCrossDomain","needScriptEvaluation","callbackName","jsonpCallback","callbackParameter","getJsonpOptions","requestOptions","loadHandler","evalCrossDomainScript","open","username","password","customStatus","setHttpTimeout","onreadystatechange","hasContent","responseType","responseText","response","getDataFromResponse","onprogress","onloadstart","onabort","xhrFields","setRequestHeader","beforeSend","send","CollectionItem","_rawData","$placeholder","_watchers","_renderWatchers","_startWatcher","_renderDisabled","_renderVisible","exprGetter","watcher","filteredCallback","forcibleWatcher","_dirty","setDataField","getSwatchContainer","swatchContainer","viewport","swatchClassRegex","swatchClass","viewportSwatchContainer","$dxGroup","dxValidationGroup","POINTERENTER_NAMESPACED_EVENT_NAME","POINTERLEAVE_NAMESPACED_EVENT_NAME","Hover","_handlerArrayKeyPath","_eventNamespace","_originalEventName","HoverStart","HoverEnd","dragEvents","DRAGSTART_START_EVENT_NAME","DRAGSTART_EVENT_NAME","DRAGSTART_END_EVENT_NAME","Resizable","handles","stepPrecision","area","onResizeStart","onResizeEnd","roundStepValue","_renderHandles","_renderActions","_resizeStartAction","_resizeEndAction","_resizeAction","directions","handleName","_renderHandle","$handle","RESIZABLE_HANDLE_CLASS","_attachEventHandlers","_dragStartHandler","_dragHandler","_dragEndHandler","immediate","_toggleResizingClass","_movingSides","_getMovingSides","_elementLocation","elementRect","_elementSize","_renderDragOffsets","_getArea","handleWidth","handleHeight","handleOffset","areaOffset","scrollOffset","_getAreaScrollOffset","scrollX","scrollY","_getBorderWidth","sides","_getOffset","_renderWidth","_renderHeight","offsetTop","offsetLeft","steps","strictPrecision","_getStrictOffset","_getSimpleOffset","xPos","yPos","newXShift","newYShift","separatorOffset","isSmallOffset","newOffsetX","newOffsetY","hasCornerTopLeftClass","RESIZABLE_HANDLE_CORNER_CLASS","hasCornerTopRightClass","hasCornerBottomLeftClass","hasCornerBottomRightClass","_getAreaFromObject","_getAreaFromElement","areaElement","pageXOffset","pageYOffset","_correctAreaGeometry","$area","areaBorderLeft","areaBorderTop","PlainEditStrategy","_getPlainItems","_collectionWidget","_equalKeys","movedItemData","_isItemIndex","_getNormalizedItemIndex","_normalizeItemIndex","_denormalizeItemIndex","_getItemByNormalizedIndex","_itemsFromSameParent","coreDataUtils","cachedGetters","cachedSetters","PostponedOperations","_postponedOperations","postponedPromise","completePromise","operation","_deprecatedOptions","_getDeprecatedOptions","_getOptionAliasesByName","aliasName","defaultOptionsRules","_setDefaultOptions","customRules","rulesOptions","fieldName","currentDevice","deviceMatch","filterArray","deviceFilter","initialOptionValue","initialOption","_getOptionsByReference","eventsStrategy","_optionChangedCallbacks","_disposingCallbacks","postponedOperations","_suppressDeprecatedWarnings","onInitializing","_resumeDeprecatedWarnings","_initOptions","_optionValuesEqual","_createOptionChangedAction","_createDisposingAction","_disposingAction","callPostponedOperations","_logWarningIfDeprecated","_deprecatedOptionsSuppressed","_logDeprecatedWarning","_logDeprecatedWarningCount","since","_optionChanging","_notifyOptionChanged","optionNames","_cancelOptionChange","currentOptions","currentInitialized","_initialOptions","actionSource","actionValue","actionFunc","_getEventName","beforeActionExecute","wrappedAction","actionName","hasActionSubscription","isOptionDeprecated","deprecatedOptions","normalizeOptionName","deprecate","_cachedDeprecateNames","getPreviousName","splitNames","getFieldName","getOptionValue","normalizeOptionValue","fieldObject","setOptionsField","previousFieldName","clearOptionsField","prepareOption","valueName","setOption","setOptionValue","styleUtils","TOUCH_BOUNDARY","setGestureCover","$cover","toggle","cursor","_stage","_toggleGestureCover","_needSkipEvent","_startEvent","_setupImmediateTimer","_immediateTimer","_immediateAccepted","_directionConfirmed","_resetActiveElement","_adjustStartEvent","touchBoundary","_getTouchBoundary","deltaX","horizontalMove","_validateMove","verticalMove","mainAxis","crossAxis","gestureCoverStrategy","gestureCover","_stop","initialTouchBoundary","newBoundary","ensureRequiredFuncOption","throwInvalidUserFuncResult","createUserFuncFailureHandler","promiseArguments","getResponseHeader","invokeUserLoad","userResult","userFunc","_loadFunc","runRawLoad","userFuncOptions","continuation","__rawData","loadPromise","__rawDataPromise","_cacheRawData","runRawLoadWithQuery","countOnly","itemsQuery","totalCountQuery","rawDataQuery","waitList","asyncResult","useDefaultSearch","_loadMode","cacheRawData","_totalCountFunc","_byKeyFunc","_insertFunc","_updateFunc","_removeFunc","invokeUserTotalCountFunc","len","runRawLoadWithKey","invokeUserByKeyFunc","serverResponse","requiredPropsCheck","findProps","DEFAULT_CONFIG","reverseString","getNonRequiredDigitCount","floatFormat","getRequiredDigitCount","normalizeValueString","valuePart","minDigitCount","maxDigitCount","formatNumberPart","valueString","formatPart","escapeIndex","isEscape","parseValue","isPercent","isNegative","prepareValueText","valueText","isIntegerPart","nextText","nextValueText","hasGroups","getFormatByValueText","valueTextParts","decimalSeparatorIndex","isPositive","numberFormat","signParts","getSignParts","isPercentFormat","formatString","floatPointIndex","getFloatPointIndex","floatFormatParts","minFloatPrecision","maxFloatPrecision","minIntegerPrecision","maxIntegerPrecision","integerLength","floatPrecision","groupSizes","valueParts","valueIntegerPart","valueFloatPart","groupSize","applyGroups","integerString","floatString","getFormat","positiveFormat","negativeFormat","hideCallback","indexOfCallback","hasCallback","_themes2","_common2","_component_registrator2","_promise2","_bindable_template2","_fx2","ToolbarBase","rawModel","menuItem","renderAs","grouped","_itemContainer","_$toolbarItemsContainer","_itemClass","_itemDataKey","_buttonClass","_arrangeItems","_applyCompactMode","_renderToolbar","_renderSections","_waitParentAnimationFinished","check","readyToResolve","runCheck","_renderItemsAsync","_checkWebFontForLabelsLoaded","_postProcessRenderItems","sectionClass","$section","$labels","label","_$centerSection","beforeRect","_$beforeSection","afterRect","_$afterSection","_alignCenterSection","$label","labelOffset","widthBeforeSection","widthAfterSection","elemsAtSectionWidth","freeSpace","sectionMaxWidth","_alignSection","labelPaddings","isRTL","leftRect","rightRect","centerRect","marginLeft","marginRight","labels","_getCurrentLabelsPaddings","currentWidth","_getCurrentLabelsWidth","difference","_alignSectionLabels","expanding","getRealLabelWidth","labelMaxWidth","currentLabelWidth","ceil","possibleLabelWidth","_getSummaryItemsWidth","_renderItem","itemContainer","$after","itemHasText","_renderGroupedItems","groupIndex","groupItems","_renderItems","_renderedItemsCount","_getIndexByItem","_itemOptionChanged","holdEvent","CONTEXTMENU_NAMESPACED_EVENT_NAME","HOLD_NAMESPACED_EVENT_NAME","_contextMenuHandler","_holdHandler","_fireContextMenu","deferredStrategy","standardStrategy","selectedKeys","_selectionStrategy","_focusedItemIndex","selectionFilter","filterIsChanged","_addSelectedItem","addSelectedItem","_removeSelectedItem","removeSelectedItem","_setSelectedItems","setSelectedItems","changeItemSelection","isSelectedItemsChanged","isSelectable","isDataItem","itemKey","changeItemSelectionWhenShiftKeyPressed","_resetItemSelectionWhenShiftKeyPressed","isItemDataSelected","clearSelectedItems","isKeysEqual","_shiftFocusedItemIndex","_resetFocusedItemIndex","itemIndexStep","focusedItem","focusedData","focusedKey","isFocusedItemSelected","selectAll","isOnePage","_onePageSelectAll","deselectAll","getSelectAllState","visibleOnly","SelectionFilterCreator","selectedItemKeyHashesMap","getLocalFilter","keyGetter","functionFilter","getExpr","filterExpr","filterExprPart","getFilterForPlainKey","getFilterForCompositeKey","getCombinedFilter","dataSourceFilter","combinedFilter","getSelectedItemKeyHashesMap","normalizeKeys","itemKeyValue","currentKeyExpr","currentKeyValue","for","r","A","B","D","isMounted","enqueueForceUpdate","enqueueReplaceState","enqueueSetState","E","F","refs","updater","G","H","isReactComponent","forceUpdate","I","isPureReactComponent","J","K","L","__self","__source","M","$$typeof","_owner","P","Q","R","keyPrefix","S","V","T","U","W","aa","X","N","Y","Z","ba","ReactCurrentDispatcher","ReactCurrentBatchConfig","suspense","ReactCurrentOwner","IsSomeRendererActing","Profiler","StrictMode","Suspense","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","_calculateChangedBits","_currentValue","_currentValue2","_threadCount","createFactory","createRef","lazy","_ctor","_status","_result","useCallback","useDebugValue","useEffect","useImperativeHandle","useLayoutEffect","useMemo","useReducer","useRef","useState","onError","da","ea","fa","ha","ia","ja","la","ma","na","oa","ka","pa","qa","ra","sa","extractEvents","eventTypes","ta","phasedRegistrationNames","registrationName","va","wa","dependencies","xa","ya","za","Aa","Ba","Ca","stateNode","Da","Ea","Fa","Ga","Ha","Ia","Ja","Ka","La","Ma","Na","Oa","Pa","Qa","acceptsBooleans","attributeNamespace","mustUseProperty","sanitizeURL","Ua","Va","xlinkHref","Wa","Xa","Sa","Ta","Ra","setAttributeNS","Ya","Za","$a","ab","bb","cb","db","eb","fb","gb","hb","ib","jb","kb","lb","mb","nb","pb","qb","_debugOwner","_debugSource","fileName","lineNumber","rb","sb","xb","_valueTracker","setValue","stopTracking","tb","yb","zb","defaultChecked","_wrapperState","initialChecked","Ab","initialValue","controlled","Bb","Cb","Db","Eb","Gb","Fb","Hb","selected","defaultSelected","Ib","dangerouslySetInnerHTML","Jb","Kb","Lb","Mb","Nb","Ob","Pb","Qb","MSApp","execUnsafeLocalFunction","namespaceURI","firstChild","Rb","Sb","Tb","animationend","animationiteration","animationstart","transitionend","Ub","Vb","Wb","Xb","Yb","Zb","$b","ac","bc","Map","cc","dc","alternate","effectTag","ec","memoizedState","dehydrated","fc","hc","sibling","gc","ic","jc","kc","lc","_dispatchListeners","_dispatchInstances","isPersistent","mc","nc","srcElement","correspondingUseElement","oc","pc","qc","topLevelType","nativeEvent","targetInst","ancestors","rc","eventSystemFlags","sc","containerInfo","tc","uc","vc","wc","xc","yc","zc","Ac","Bc","Cc","Dc","Ec","Fc","Gc","Hc","Ic","Kc","blockedOn","Lc","Mc","Nc","Pc","unstable_runWithPriority","priority","hydrate","Qc","Rc","Sc","Tc","Uc","unstable_scheduleCallback","unstable_NormalPriority","Vc","Wc","Yc","Zc","$c","ad","bubbled","captured","eventPriority","bd","cd","dd","unstable_UserBlockingPriority","ed","fd","gd","hd","Oc","jd","animationIterationCount","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridArea","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","lineClamp","lineHeight","order","orphans","tabSize","widows","zIndex","zoom","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","kd","ld","md","nd","menuitem","br","embed","hr","img","keygen","meta","param","track","wbr","od","pd","qd","rd","sd","ud","vd","nextSibling","xd","HTMLIFrameElement","contentWindow","yd","contentEditable","Dd","Ed","Fd","autoFocus","Gd","__html","Hd","Id","Jd","Kd","previousSibling","Ld","Md","Nd","Od","Pd","Qd","Rd","Sd","Td","dispatchConfig","Ud","_targetInst","Vd","Wd","Xd","Yd","Zd","$d","ae","be","ce","Interface","returnValue","ee","eventPool","fe","destructor","de","getPooled","cancelBubble","persist","eventPhase","bubbles","cancelable","isTrusted","ge","he","ie","je","ke","documentMode","le","me","ne","oe","beforeInput","compositionEnd","compositionStart","compositionUpdate","pe","qe","detail","se","ve","te","ue","we","color","datetime","month","tel","week","xe","ye","change","ze","Ae","Be","Ce","De","Ee","Fe","Ge","He","Ie","Je","Ke","Le","Me","_isInputEventSupported","Ne","view","Oe","Alt","Control","Meta","Shift","Pe","getModifierState","Qe","Re","Se","Te","Ue","Ve","screenY","clientX","clientY","buttons","fromElement","toElement","movementX","movementY","We","pressure","tangentialPressure","tiltX","tiltY","twist","isPrimary","Xe","mouseEnter","mouseLeave","pointerEnter","pointerLeave","Ye","defaultView","parentWindow","$e","af","bf","cf","df","ef","ff","gf","hf","jf","selectionStart","selectionEnd","anchorNode","anchorOffset","focusNode","focusOffset","kf","onSelect","lf","animationName","elapsedTime","pseudoElement","mf","nf","pf","Esc","Spacebar","Left","Up","Right","Down","Del","Win","Menu","Apps","Scroll","MozPrintableKey","qf","12","19","20","45","112","113","114","115","116","117","118","119","120","121","122","123","144","145","224","rf","sf","dataTransfer","tf","targetTouches","uf","vf","wheelDeltaX","wheelDeltaY","deltaZ","deltaMode","wf","SimpleEventPlugin","EnterLeaveEventPlugin","ChangeEventPlugin","SelectEventPlugin","BeforeInputEventPlugin","yf","zf","Af","Bf","Cf","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","Df","Ef","Ff","Gf","__reactInternalMemoizedMergedChildContext","Hf","If","Jf","Kf","unstable_cancelCallback","Lf","unstable_requestPaint","Mf","unstable_now","Nf","unstable_getCurrentPriorityLevel","Of","unstable_ImmediatePriority","Pf","Qf","Rf","unstable_LowPriority","Sf","unstable_IdlePriority","Tf","Uf","unstable_shouldYield","Vf","Wf","Xf","Yf","Zf","$f","ag","bg","cg","dg","eg","fg","gg","hg","ig","jg","kg","lg","mg","ng","og","pg","childExpirationTime","qg","firstContext","expirationTime","rg","sg","responders","tg","ug","updateQueue","baseState","baseQueue","shared","pending","effects","vg","wg","suspenseConfig","payload","xg","yg","zg","ca","Ag","Bg","Cg","Dg","Eg","Fg","Jg","_reactInternalFiber","Gg","Hg","Ig","Kg","shouldComponentUpdate","Lg","Mg","UNSAFE_componentWillReceiveProps","Ng","getSnapshotBeforeUpdate","UNSAFE_componentWillMount","componentWillMount","Og","Pg","_stringRef","Qg","Rg","lastEffect","nextEffect","firstEffect","Sg","Tg","elementType","Ug","implementation","Vg","Wg","Xg","Yg","Zg","$g","ah","bh","ch","dh","eh","fh","gh","hh","memoizedProps","revealOrder","ih","responder","jh","kh","lh","mh","nh","oh","ph","qh","rh","sh","uh","vh","wh","lastRenderedReducer","eagerReducer","eagerState","lastRenderedState","dispatch","xh","yh","zh","Ah","destroy","deps","Bh","Ch","Dh","Eh","Fh","Gh","Hh","Ih","Jh","Kh","Lh","Mh","Nh","readContext","useResponder","useDeferredValue","useTransition","Oh","Ph","Qh","Rh","Sh","Th","pendingProps","Uh","Vh","Wh","Xh","Yh","Zh","$h","ai","bi","ci","di","ei","fi","UNSAFE_componentWillUpdate","componentWillUpdate","gi","hi","pendingContext","ni","pi","qi","ii","retryTime","ji","fallback","unstable_avoidThisFallback","ki","li","isBackwards","rendering","renderingStartTime","tail","tailExpiration","tailMode","mi","ri","si","wasMultiple","multiple","onclick","ti","ui","vi","wi","xi","yi","zi","Ai","stack","Bi","WeakSet","Set","Ci","Fi","Ei","Gi","__reactInternalSnapshotBeforeUpdate","Hi","Ii","Ji","Ki","Li","Di","Mi","Ni","Oi","Pi","Qi","_reactRootContainer","Ri","Si","Ti","display","Ui","Vi","Wi","Xi","Yi","Zi","$i","componentDidCatch","aj","componentStack","Rj","bj","cj","dj","kj","lj","mj","nj","oj","qj","rj","sj","tj","uj","vj","wj","timeoutMs","xj","yj","zj","lastExpiredTime","Aj","firstPendingTime","lastPingedTime","nextKnownPendingLevel","callbackExpirationTime","callbackPriority","callbackNode","Bj","Cj","Dj","Ej","Fj","Gj","Hj","finishedWork","finishedExpirationTime","lastSuspendedTime","Ij","timeoutHandle","Jj","busyMinDurationMs","busyDelayMs","Kj","Mj","Nj","pingCache","Oj","ub","Pj","Xc","Qj","Sj","firstSuspendedTime","rangeCount","wb","activeElementDetached","focusedElem","selectionRange","Tj","wd","compareDocumentPosition","createRange","setStart","addRange","setEnd","vb","Uj","Vj","Wj","hidden","ob","Xj","unstable_observedBits","Zj","pendingChildren","ak","bk","ck","dk","ek","fk","Jc","_internalRoot","gk","ik","hk","jk","kk","unmount","form","Lj","lk","Events","findFiberByHostInstance","supportsFiber","onCommitFiberRoot","onCommitFiberUnmount","Yj","overrideHookState","overrideProps","setSuspenseHandler","currentDispatcherRef","findHostInstanceByFiber","findHostInstancesForRefresh","scheduleRefresh","scheduleRoot","setRefreshHandler","getCurrentFiber","bundleType","rendererPackageName","createPortal","findDOMNode","flushSync","unmountComponentAtNode","unstable_batchedUpdates","unstable_createPortal","unstable_renderSubtreeIntoContainer","MessageChannel","unstable_forceFrameRate","performance","port2","port1","onmessage","postMessage","sortIndex","priorityLevel","unstable_Profiling","unstable_continueExecution","unstable_getFirstCallbackNode","unstable_next","unstable_pauseExecution","unstable_wrapCallback","renderer","initRender","repeatMethod","setAttributeValue","partialName","isOuter","isInner","sizeAdjustment","isBorderBox","appendElements","tBodies","setCss","before","wrapper","cloneNode","elementId","queryId","querySelector","isVisible","siblings","parentChildNodes","prev","targets","emptyArray","getWindowByElement","rect","docElem","clientTop","clientLeft","offsetParent","marginTop","parentOffset","offsetProp","scrollWindow","scrollTo","directionStrategy","rendererWrapper","touchPropsToHook","touchPropHook","owner","originalAdd","en","Yes","No","Cancel","Clear","Done","Loading","Select","Search","Back","OK","_dom","_template_engine_registry","_compiledTemplate","jQuery","tmpl","jsrender","Mustache","Hogan","Handlebars","doT","MsPointerStrategy","MouseAndTouchStrategy","EVENT_LOCK_TIMEOUT","_skipNextEvents","_mouseLocked","_unlockMouseTimer","normalizer","hideTopOverlayCallback","zIndexPool","swatch","ACTIONS","OVERLAY_STACK","realVersion","firefoxDesktop","iOS","hasSafariAddressBar","iOS7_0andBelow","android4_0nativeBrowser","_proxiedDocumentDownHandler","allowedOffsets","_allowedOffsets","_changePosition","upArrow","downArrow","leftArrow","rightArrow","contentTemplate","innerOverlay","hideTopOverlayHandler","onPositioned","propagateOutsideClick","ignoreChildEvents","_checkParentVisibility","realPlatform","_container","_initActions","_initCloseOnOutsideClickHandler","_initTabTerminatorHandler","_initInnerOverlayClass","_toggleViewPortSubscription","_initTarget","_initContainer","_initHideTopOverlayHandler","pathParts","_$container","_hideTopOverlayHandler","_defaultHideTopOverlayHandler","_showAnimationProcessing","isAttachedTarget","isInnerOverlay","_isTopOverlay","overlayStack","_overlayStack","tabbableElements","_findTabbableBounds","_zIndexInitValue","baseZIndex","_viewPortChangeHandle","_viewPortChangeHandler","_renderVisibilityAnimate","_show","_hide","_getAnimationConfig","_parentHidden","_isParentHidden","_currentVisible","showAnimation","_normalizeAnimation","startShowAnimation","completeShowAnimation","_isHidingActionCanceled","_renderVisibility","_stopShowTimer","_asyncShowTimeout","hideAnimation","startHideAnimation","completeHideAnimation","hidingArgs","_forceFocusLost","_toggleShading","_toggleSubscriptions","completeCallback","startCallback","_updateZIndexStackPosition","_moveToContainer","_moveFromContainer","pushToStack","_zIndex","_toggleTabTerminator","_proxiedTabTerminatorHandler","_tabKeyHandler","enabled","$elements","elementsCount","$firstTabbable","$lastTabbable","isTabOnLast","isShiftTabOnFirst","isEmptyTabList","isOutsideTarget","$focusElement","_toggleHideTopOverlayCallback","_toggleParentsScrollSubscription","subscribe","closeOnScroll","$parents","scrollEvent","_proxiedTargetParentsScrollHandler","_targetParentsScrollHandler","_$prevTargetParents","closeHandled","_appendContentToElement","shouldDeferRendering","_contentAlreadyRendered","$parent","isHidden","whenContentRendered","contentTemplateOption","noModel","_renderScrollTerminator","$dragTarget","startEventName","updateEventName","_dragUpdateHandler","_resizeEndHandler","_getDragResizeContainer","_positionChangeHandled","$scrollTerminator","terminatorEventName","isNative","_prevOffset","_deltaSize","contentWidth","containerWidth","containerHeight","_isWindow","prevOffset","deltaSize","isAllowedDrag","shaderOffset","_detachWrapperToContainer","_attachWrapperToContainer","renderContainer","_fixHeightAfterSafariAddressBarResizing","_renderShading","resultPosition","_fixWrapperPosition","_bodyScrollTop","scrollingEnabled","wrapperWidth","wrapperHeight","positionOf","forceRepaint","onPositioning","_deferShowTimer","_animateDeferred","showing","animateDeferred","CSS_TRANSITION_EASING_REGEX","TransitionTimingFuncMap","linear","swing","ease","polynomBezier","x1","y1","x2","y2","Cx","Bx","Ax","Cy","By","Ay","bezierX","derivativeX","bezierY","findXFor","setEasing","cssTransitionEasing","forceName","coeffs","easingName","clearStack","zIndexStack","ZIndex","baseIndex","_uiCollection_widget","AsyncCollectionWidget","_deferredItems","_renderItemContent","renderContentDeferred","itemDeferred","$itemContent","_createItemByTemplate","itemTemplate","renderArgs","_iterator2","_action2","_utils2","_pointer2","_data_helper2","_item2","_selectors2","_message2","_hold2","_click2","_contextmenu2","ITEM_CLASS","ITEM_PATH_REGEX","_moveFocus","pageUp","pageDown","selectOnFocus","loopItemFocus","onItemRendered","onItemClick","onItemHold","itemHoldTimeout","onItemContextMenu","onFocusedItemChanged","noDataText","_itemAttributes","itemTemplateProperty","focusOnSelectedItem","focusedElement","displayExpr","disabledExpr","visibleExpr","_compileDisplayGetter","_cleanRenderedItems","_displayGetter","_initItemsFromMarkup","_initDefaultItemTemplate","_getFieldsMap","_prepareDefaultItemTemplate","_getBindableFields","$items","dxItem","_prepareItemTemplate","templateId","$template","_dataSourceOptions","$focusedElement","_setFocusedItem","$activeItem","_getActiveItem","activeElements","lastIndex","_refreshActiveDescendant","$newTarget","_getAvailableItems","_prevItem","_nextItem","_getVisibleItems","$itemElements","targetIndex","$last","loop","$first","_selectFocusedItem","_removeFocusedItem","getFocusedItemId","_findItemElementByItem","ItemClass","_refreshItem","itemPath","_createItemRenderAction","_attachHoldEvent","_attachContextMenuEvent","_loadNextPage","_expectNextPageLoading","_startIndexForAppendedItems","_forgetNextPageLoading","_dataSourceChangedHandler","newItems","_shouldAppendItems","_refreshContent","_prepareContent","_dataSourceLoadErrorHandler","_allowDynamicItemsAppend","_cleanItemContainer","_itemFocusTimeout","_itemContentClass","_itemSelector","_attachClickEvent","itemSelector","clickEventNamespace","pointerDownEventNamespace","pointerDownAction","_itemPointerDownHandler","_itemDXEventHandler","_itemFocusHandler","$closestItem","$closestFocusable","_closestFocusable","_forcePointerDownFocus","$itemContainer","_getHoldTimeout","_itemHoldHandler","_shouldFireHoldEvent","_itemContextMenuHandler","_shouldFireContextMenuEvent","$itemToReplace","$itemFrame","_renderItemFrame","_setElementData","_attachItemClickEvent","_getItemContent","renderContentPromise","contentClass","defaultTemplateName","itemContent","_executeItemRenderAction","_itemEventHandlerByHandler","itemTemplateName","_getItemTemplateName","_addItemContentClasses","$templateResult","_renderItemContentByNode","_appendItemToContainer","_itemOptions","_getItemRenderAction","_itemRenderAction","category","templateProperty","_emptyMessageContainer","hideNoData","_$noData","handlerOptionName","actionArgs","initiator","_itemEventHandlerImpl","_closestItemElement","includeMargin","_focusedItemId","itemsContainer","nativeXMLHttpRequest","XMLHttpRequest","queryAdapters","remoteQueryImpl","tasks","createTask","executorTask","_adapterFactory","_adapter","_taskQueue","_currentTask","_mergedSortArgs","rejectWithNotify","mergeSortTask","adapter","optimize","unmergedTasks","unmergeSortTasks","clientChain","createQueue","discardPendingTasks","_tasks","_busy","removeTaskCallback","busy","enqueue","EditStrategy","collectionWidget","resultIndex","_isNormalizedItemIndex","_isDOMNode","$value","SelectionStrategy","_addSelectionFilter","_processSelectedItem","keyField","_findSubFilter","filterString","subFilter","_isLastSubFilter","_addFilterOperator","filterOperator","_denormalizeFilter","needAddFilter","currentFilter","currentOperation","_removeSameFilter","lastOperation","_normalizeFilter","_removeFilterByIndex","filterIndex","lastRemoveOperation","inverted","_initSelectedItemKeyHash","_preserveSelectionUpdate","keyIndicesToRemoveMap","keyIndex","isBatchDeselect","_batchRemoveSelectedItems","_loadSelectedItemsCore","selectionFilterCreator","deselectedItems","_replaceSelectionUpdate","internalKeys","_warnOnIncorrectKeys","_loadSelectedItems","_lastLoadDeferred","_getKeyHash","_indexOfSelectedItemKey","_getSelectedIndexByKey","ignoreIndicesMap","_getSelectedIndexByHash","_shiftSelectedKeyIndices","currentKeyIndex","currentKey","currentKeyHash","currentKeyIndices","keyIndices","_updateAddedItemKeys","_updateRemovedItemKeys","oldSelectedKeys","oldSelectedItems","ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","shim","propFullName","secret","getShim","ReactPropTypes","symbol","any","arrayOf","instanceOf","objectOf","shape","checkPropTypes","comparer_1","templatesManager","_guards","_isUpdating","_wrapOptionValue","_currentConfig","rootNode","templatesCount","getChanges","_setValueInTransaction","valueDescriptor","_setGuard","guardId","_setValue","changesAccum","appendRemovedValues","_loop_1","currentCollection","prevCollection","updatedCollection_1","fullname","compareCollections","currentTemplatesOptions","currentTemplates","prevTemplatesOptions","prevTemplates","currentTemplate","prevTemplate","compareTemplates","removedKeys_1","config_1","dx_template_1","normalizeProps","getOption","dxkey","contentCreators","contentGetter","TemplatesManager","_templates","_templatesContent","contentCreator","createDxTemplate","useLegacyTemplateEngine","helpers_1","template_wrapper_1","createContentProvider","renderedTemplates","DoubleKeyMap","prevTemplateId","generateID","contentProvider","TemplateWrapper","onRemoved","_map","innerMap","ReactDOM","_removalListenerRef","onRendered_1","_subscribeOnRemove","removalListener","common_1","_updateScheduled","renderWrappers","onTemplateAdded","_onTemplateAdded","templateFunc","templates_1","createConfigNode","separatedValues","childrenData","parentFullName","hasTranscludedContent","collectionItem","configNode","getNamedTemplate","processChildren","templateMeta","getAnonymousTemplate","widgetDescriptor","typeOf","AsyncMode","ConcurrentMode","ContextConsumer","ContextProvider","Element","Lazy","Memo","Portal","isValidElementType","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isElement","isForwardRef","isFragment","isLazy","isPortal","isProfiler","isStrictMode","isSuspense","_react","_Elements","WrappedComponent","_class","_temp","componentOptions","_componentOptions$wit","withRef","parseElementOrData","elementOrOptions","_frame","_componentName","findElement","filterBy","specifiedType","filteredElements","matchingElements","requireElement","wrappedCreateToken","tokenTypeOrOptions","tokenType","_tokenType","wrappedCreateSource","wrappedCreatePaymentMethod","paymentMethodType","elementOrData","maybeData","elementOrDataResult","wrappedHandleCardX","clientSecret","_element2","stripeProps","getWrappedInstance","wrappedInstance","handleCardSetup","_isEqual2","_extractOptions","onChange","onFocus","onBlur","onReady","capitalized","hocOptions","handleRef","_setupEventListeners","mount","_props2","isEqual","leftArray","leftPlainObject","leftKeys","rightKeys","keySet","_shallowEqual2","paymentRequest","_props3","canMakePayment","keysA","keysB"],"mappings":"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SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,UAAW,OACX,UAAW,OACX,WAAY,OACZ,UAAW,OACX,UAAW,OACX,WAAY,OACZ,UAAW,OACX,WAAY,OACZ,WAAY,OACZ,UAAW,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","file":"static/js/6.3f97c846.chunk.js","sourcesContent":["'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.min.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n","/**\r\n * DevExtreme (core/utils/type.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _typeof = \"function\" === typeof Symbol && \"symbol\" === typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n} : function(obj) {\r\n return obj && \"function\" === typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n};\r\nvar types = {\r\n \"[object Array]\": \"array\",\r\n \"[object Date]\": \"date\",\r\n \"[object Object]\": \"object\",\r\n \"[object String]\": \"string\",\r\n \"[object Null]\": \"null\"\r\n};\r\nvar type = function(object) {\r\n var typeOfObject = Object.prototype.toString.call(object);\r\n return \"object\" === (\"undefined\" === typeof object ? \"undefined\" : _typeof(object)) ? types[typeOfObject] || \"object\" : \"undefined\" === typeof object ? \"undefined\" : _typeof(object)\r\n};\r\nvar isBoolean = function(object) {\r\n return \"boolean\" === typeof object\r\n};\r\nvar isExponential = function(value) {\r\n return isNumeric(value) && value.toString().indexOf(\"e\") !== -1\r\n};\r\nvar isDate = function(object) {\r\n return \"date\" === type(object)\r\n};\r\nvar isDefined = function(object) {\r\n return null !== object && void 0 !== object\r\n};\r\nvar isFunction = function(object) {\r\n return \"function\" === typeof object\r\n};\r\nvar isString = function(object) {\r\n return \"string\" === typeof object\r\n};\r\nvar isNumeric = function(object) {\r\n return \"number\" === typeof object && isFinite(object) || !isNaN(object - parseFloat(object))\r\n};\r\nvar isObject = function(object) {\r\n return \"object\" === type(object)\r\n};\r\nvar isEmptyObject = function(object) {\r\n var property;\r\n for (property in object) {\r\n return false\r\n }\r\n return true\r\n};\r\nvar isPlainObject = function(object) {\r\n if (!object || \"[object Object]\" !== Object.prototype.toString.call(object)) {\r\n return false\r\n }\r\n var proto = Object.getPrototypeOf(object),\r\n ctor = Object.hasOwnProperty.call(proto, \"constructor\") && proto.constructor;\r\n return \"function\" === typeof ctor && Object.toString.call(ctor) === Object.toString.call(Object)\r\n};\r\nvar isPrimitive = function(value) {\r\n return [\"object\", \"array\", \"function\"].indexOf(type(value)) === -1\r\n};\r\nvar isWindow = function(object) {\r\n return null != object && object === object.window\r\n};\r\nvar isRenderer = function(object) {\r\n return !!(object.jquery || object.dxRenderer)\r\n};\r\nvar isPromise = function(object) {\r\n return object && isFunction(object.then)\r\n};\r\nvar isDeferred = function(object) {\r\n return object && isFunction(object.done) && isFunction(object.fail)\r\n};\r\nexports.isBoolean = isBoolean;\r\nexports.isExponential = isExponential;\r\nexports.isDate = isDate;\r\nexports.isDefined = isDefined;\r\nexports.isFunction = isFunction;\r\nexports.isString = isString;\r\nexports.isNumeric = isNumeric;\r\nexports.isObject = isObject;\r\nexports.isEmptyObject = isEmptyObject;\r\nexports.isPlainObject = isPlainObject;\r\nexports.isPrimitive = isPrimitive;\r\nexports.isWindow = isWindow;\r\nexports.isRenderer = isRenderer;\r\nexports.isPromise = isPromise;\r\nexports.isDeferred = isDeferred;\r\nexports.type = type;\r\n","/**\r\n * DevExtreme (core/renderer.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar rendererBase = require(\"./renderer_base\");\r\nmodule.exports = rendererBase.get();\r\n","/**\r\n * DevExtreme (core/utils/iterator.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar map = function(values, callback) {\r\n if (Array.isArray(values)) {\r\n return values.map(callback)\r\n }\r\n var result = [];\r\n for (var key in values) {\r\n result.push(callback(values[key], key))\r\n }\r\n return result\r\n};\r\nvar each = function(values, callback) {\r\n if (!values) {\r\n return\r\n }\r\n if (\"length\" in values) {\r\n for (var i = 0; i < values.length; i++) {\r\n if (false === callback.call(values[i], i, values[i])) {\r\n break\r\n }\r\n }\r\n } else {\r\n for (var key in values) {\r\n if (false === callback.call(values[key], key, values[key])) {\r\n break\r\n }\r\n }\r\n }\r\n return values\r\n};\r\nvar reverseEach = function(array, callback) {\r\n if (!array || !(\"length\" in array) || 0 === array.length) {\r\n return\r\n }\r\n for (var i = array.length - 1; i >= 0; i--) {\r\n if (false === callback.call(array[i], i, array[i])) {\r\n break\r\n }\r\n }\r\n};\r\nexports.map = map;\r\nexports.each = each;\r\nexports.reverseEach = reverseEach;\r\n","/**\r\n * DevExtreme (core/utils/extend.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar isPlainObject = require(\"./type\").isPlainObject;\r\nvar extendFromObject = function(target, source, overrideExistingValues) {\r\n target = target || {};\r\n for (var prop in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, prop)) {\r\n var value = source[prop];\r\n if (!(prop in target) || overrideExistingValues) {\r\n target[prop] = value\r\n }\r\n }\r\n }\r\n return target\r\n};\r\nvar extend = function extend(target) {\r\n target = target || {};\r\n var i = 1,\r\n deep = false;\r\n if (\"boolean\" === typeof target) {\r\n deep = target;\r\n target = arguments[1] || {};\r\n i++\r\n }\r\n for (; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n if (null == source) {\r\n continue\r\n }\r\n for (var key in source) {\r\n var clone, targetValue = target[key],\r\n sourceValue = source[key],\r\n sourceValueIsArray = false;\r\n if (\"__proto__\" === key || target === sourceValue) {\r\n continue\r\n }\r\n if (deep && sourceValue && (isPlainObject(sourceValue) || (sourceValueIsArray = Array.isArray(sourceValue)))) {\r\n if (sourceValueIsArray) {\r\n clone = targetValue && Array.isArray(targetValue) ? targetValue : []\r\n } else {\r\n clone = targetValue && isPlainObject(targetValue) ? targetValue : {}\r\n }\r\n target[key] = extend(deep, clone, sourceValue)\r\n } else {\r\n if (void 0 !== sourceValue) {\r\n target[key] = sourceValue\r\n }\r\n }\r\n }\r\n }\r\n return target\r\n};\r\nexports.extend = extend;\r\nexports.extendFromObject = extendFromObject;\r\n","/**\r\n * DevExtreme (core/utils/common.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _typeof = \"function\" === typeof Symbol && \"symbol\" === typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n} : function(obj) {\r\n return obj && \"function\" === typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n};\r\nvar _config = require(\"../config\");\r\nvar _config2 = _interopRequireDefault(_config);\r\nvar _guid = require(\"../guid\");\r\nvar _guid2 = _interopRequireDefault(_guid);\r\nvar _deferred = require(\"../utils/deferred\");\r\nvar _iterator = require(\"./iterator\");\r\nvar _data = require(\"./data\");\r\nvar _type = require(\"./type\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar ensureDefined = function(value, defaultValue) {\r\n return (0, _type.isDefined)(value) ? value : defaultValue\r\n};\r\nvar executeAsync = function(action, context) {\r\n var deferred = new _deferred.Deferred;\r\n var normalizedContext = context || this;\r\n var timerId = void 0;\r\n var task = {\r\n promise: deferred.promise(),\r\n abort: function() {\r\n clearTimeout(timerId);\r\n deferred.rejectWith(normalizedContext)\r\n }\r\n };\r\n var callback = function() {\r\n var result = action.call(normalizedContext);\r\n if (result && result.done && (0, _type.isFunction)(result.done)) {\r\n result.done(function() {\r\n deferred.resolveWith(normalizedContext)\r\n })\r\n } else {\r\n deferred.resolveWith(normalizedContext)\r\n }\r\n };\r\n timerId = (arguments[2] || setTimeout)(callback, \"number\" === typeof context ? context : 0);\r\n return task\r\n};\r\nvar delayedFuncs = [];\r\nvar delayedNames = [];\r\nvar delayedDeferreds = [];\r\nvar executingName = void 0;\r\nvar deferExecute = function(name, func, deferred) {\r\n if (executingName && executingName !== name) {\r\n delayedFuncs.push(func);\r\n delayedNames.push(name);\r\n deferred = deferred || new _deferred.Deferred;\r\n delayedDeferreds.push(deferred);\r\n return deferred\r\n } else {\r\n var oldExecutingName = executingName;\r\n var currentDelayedCount = delayedDeferreds.length;\r\n executingName = name;\r\n var result = func();\r\n if (!result) {\r\n if (delayedDeferreds.length > currentDelayedCount) {\r\n result = _deferred.when.apply(this, delayedDeferreds.slice(currentDelayedCount))\r\n } else {\r\n if (deferred) {\r\n deferred.resolve()\r\n }\r\n }\r\n }\r\n executingName = oldExecutingName;\r\n if (deferred && result && result.done) {\r\n result.done(deferred.resolve).fail(deferred.reject)\r\n }\r\n if (!executingName && delayedFuncs.length) {\r\n (\"render\" === delayedNames.shift() ? deferRender : deferUpdate)(delayedFuncs.shift(), delayedDeferreds.shift())\r\n }\r\n return result || (0, _deferred.when)()\r\n }\r\n};\r\nvar deferRender = function(func, deferred) {\r\n return deferExecute(\"render\", func, deferred)\r\n};\r\nvar deferUpdate = function(func, deferred) {\r\n return deferExecute(\"update\", func, deferred)\r\n};\r\nvar deferRenderer = function(func) {\r\n return function() {\r\n var that = this;\r\n return deferExecute(\"render\", function() {\r\n return func.call(that)\r\n })\r\n }\r\n};\r\nvar deferUpdater = function(func) {\r\n return function() {\r\n var that = this;\r\n return deferExecute(\"update\", function() {\r\n return func.call(that)\r\n })\r\n }\r\n};\r\nvar findBestMatches = function(targetFilter, items, mapFn) {\r\n var bestMatches = [];\r\n var maxMatchCount = 0;\r\n (0, _iterator.each)(items, function(index, itemSrc) {\r\n var matchCount = 0;\r\n var item = mapFn ? mapFn(itemSrc) : itemSrc;\r\n (0, _iterator.each)(targetFilter, function(paramName, targetValue) {\r\n var value = item[paramName];\r\n if (void 0 === value) {\r\n return\r\n }\r\n if (match(value, targetValue)) {\r\n matchCount++;\r\n return\r\n }\r\n matchCount = -1;\r\n return false\r\n });\r\n if (matchCount < maxMatchCount) {\r\n return\r\n }\r\n if (matchCount > maxMatchCount) {\r\n bestMatches.length = 0;\r\n maxMatchCount = matchCount\r\n }\r\n bestMatches.push(itemSrc)\r\n });\r\n return bestMatches\r\n};\r\nvar match = function(value, targetValue) {\r\n if (Array.isArray(value) && Array.isArray(targetValue)) {\r\n var mismatch = false;\r\n (0, _iterator.each)(value, function(index, valueItem) {\r\n if (valueItem !== targetValue[index]) {\r\n mismatch = true;\r\n return false\r\n }\r\n });\r\n if (mismatch) {\r\n return false\r\n }\r\n return true\r\n }\r\n if (value === targetValue) {\r\n return true\r\n }\r\n return false\r\n};\r\nvar splitPair = function(raw) {\r\n switch (\"undefined\" === typeof raw ? \"undefined\" : _typeof(raw)) {\r\n case \"string\":\r\n return raw.split(/\\s+/, 2);\r\n case \"object\":\r\n return [raw.x || raw.h, raw.y || raw.v];\r\n case \"number\":\r\n return [raw];\r\n default:\r\n return raw\r\n }\r\n};\r\nvar normalizeKey = function(id) {\r\n var key = (0, _type.isString)(id) ? id : id.toString();\r\n var arr = key.match(/[^a-zA-Z0-9_]/g);\r\n arr && (0, _iterator.each)(arr, function(_, sign) {\r\n key = key.replace(sign, \"__\" + sign.charCodeAt() + \"__\")\r\n });\r\n return key\r\n};\r\nvar denormalizeKey = function(key) {\r\n var arr = key.match(/__\\d+__/g);\r\n arr && arr.forEach(function(char) {\r\n var charCode = parseInt(char.replace(\"__\", \"\"));\r\n key = key.replace(char, String.fromCharCode(charCode))\r\n });\r\n return key\r\n};\r\nvar isArraysEqualByValue = function(array1, array2, deep) {\r\n if (array1.length !== array2.length) {\r\n return false\r\n }\r\n for (var i = 0; i < array1.length; i++) {\r\n if (!equalByValue(array1[i], array2[i], deep + 1)) {\r\n return false\r\n }\r\n }\r\n return true\r\n};\r\nvar isObjectsEqualByValue = function(object1, object2, deep) {\r\n for (var propertyName in object1) {\r\n if (Object.prototype.hasOwnProperty.call(object1, propertyName) && !equalByValue(object1[propertyName], object2[propertyName], deep + 1)) {\r\n return false\r\n }\r\n }\r\n for (var _propertyName in object2) {\r\n if (!(_propertyName in object1)) {\r\n return false\r\n }\r\n }\r\n return true\r\n};\r\nvar pairToObject = function(raw, preventRound) {\r\n var pair = splitPair(raw);\r\n var h = preventRound ? parseFloat(pair && pair[0]) : parseInt(pair && pair[0], 10);\r\n var v = preventRound ? parseFloat(pair && pair[1]) : parseInt(pair && pair[1], 10);\r\n if (!isFinite(h)) {\r\n h = 0\r\n }\r\n if (!isFinite(v)) {\r\n v = h\r\n }\r\n return {\r\n h: h,\r\n v: v\r\n }\r\n};\r\nvar maxEqualityDeep = 3;\r\nvar equalByValue = function(object1, object2, deep) {\r\n deep = deep || 0;\r\n object1 = (0, _data.toComparable)(object1, true);\r\n object2 = (0, _data.toComparable)(object2, true);\r\n if (object1 === object2 || deep >= maxEqualityDeep) {\r\n return true\r\n }\r\n if ((0, _type.isObject)(object1) && (0, _type.isObject)(object2)) {\r\n return isObjectsEqualByValue(object1, object2, deep)\r\n } else {\r\n if (Array.isArray(object1) && Array.isArray(object2)) {\r\n return isArraysEqualByValue(object1, object2, deep)\r\n }\r\n }\r\n return false\r\n};\r\nvar getKeyHash = function(key) {\r\n if (key instanceof _guid2.default) {\r\n return key.toString()\r\n } else {\r\n if ((0, _type.isObject)(key) || Array.isArray(key)) {\r\n try {\r\n var keyHash = JSON.stringify(key);\r\n return \"{}\" === keyHash ? key : keyHash\r\n } catch (e) {\r\n return key\r\n }\r\n }\r\n }\r\n return key\r\n};\r\nvar escapeRegExp = function(string) {\r\n return string.replace(/[[\\]{}\\-()*+?.\\\\^$|\\s]/g, \"\\\\$&\")\r\n};\r\nvar applyServerDecimalSeparator = function(value) {\r\n var separator = (0, _config2.default)().serverDecimalSeparator;\r\n if ((0, _type.isDefined)(value)) {\r\n value = value.toString().replace(\".\", separator)\r\n }\r\n return value\r\n};\r\nvar noop = function() {};\r\nvar asyncNoop = function() {\r\n return (new _deferred.Deferred).resolve().promise()\r\n};\r\nvar grep = function(elements, checkFunction, invert) {\r\n var result = [];\r\n var check = void 0;\r\n var expectedCheck = !invert;\r\n for (var i = 0; i < elements.length; i++) {\r\n check = !!checkFunction(elements[i], i);\r\n if (check === expectedCheck) {\r\n result.push(elements[i])\r\n }\r\n }\r\n return result\r\n};\r\nexports.ensureDefined = ensureDefined;\r\nexports.executeAsync = executeAsync;\r\nexports.deferRender = deferRender;\r\nexports.deferRenderer = deferRenderer;\r\nexports.deferUpdate = deferUpdate;\r\nexports.deferUpdater = deferUpdater;\r\nexports.pairToObject = pairToObject;\r\nexports.splitPair = splitPair;\r\nexports.findBestMatches = findBestMatches;\r\nexports.normalizeKey = normalizeKey;\r\nexports.denormalizeKey = denormalizeKey;\r\nexports.equalByValue = equalByValue;\r\nexports.getKeyHash = getKeyHash;\r\nexports.escapeRegExp = escapeRegExp;\r\nexports.applyServerDecimalSeparator = applyServerDecimalSeparator;\r\nexports.noop = noop;\r\nexports.asyncNoop = asyncNoop;\r\nexports.grep = grep;\r\n","/**\r\n * DevExtreme (core/utils/window.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar domAdapter = require(\"../dom_adapter\");\r\nvar _hasWindow = \"undefined\" !== typeof window;\r\nvar windowObject = _hasWindow && window;\r\nif (!windowObject) {\r\n windowObject = {};\r\n windowObject.window = windowObject\r\n}\r\nmodule.exports = {\r\n hasWindow: function() {\r\n return _hasWindow\r\n },\r\n getWindow: function() {\r\n return windowObject\r\n },\r\n hasProperty: function(prop) {\r\n return this.hasWindow() && prop in windowObject\r\n },\r\n defaultScreenFactorFunc: function(width) {\r\n if (width < 768) {\r\n return \"xs\"\r\n } else {\r\n if (width < 992) {\r\n return \"sm\"\r\n } else {\r\n if (width < 1200) {\r\n return \"md\"\r\n } else {\r\n return \"lg\"\r\n }\r\n }\r\n }\r\n },\r\n getCurrentScreenFactor: function(screenFactorCallback) {\r\n var screenFactorFunc = screenFactorCallback || this.defaultScreenFactorFunc;\r\n var windowWidth = domAdapter.getDocumentElement().clientWidth;\r\n return screenFactorFunc(windowWidth)\r\n },\r\n getNavigator: function() {\r\n return this.hasWindow() ? windowObject.navigator : {\r\n userAgent: \"\"\r\n }\r\n }\r\n};\r\n","/**\r\n * DevExtreme (core/dom_adapter.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _typeof = \"function\" === typeof Symbol && \"symbol\" === typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n} : function(obj) {\r\n return obj && \"function\" === typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n};\r\nvar injector = require(\"./utils/dependency_injector\");\r\nvar noop = require(\"./utils/common\").noop;\r\nvar nativeDOMAdapterStrategy = {\r\n querySelectorAll: function(element, selector) {\r\n return element.querySelectorAll(selector)\r\n },\r\n elementMatches: function(element, selector) {\r\n var matches = element.matches || element.matchesSelector || element.mozMatchesSelector || element.msMatchesSelector || element.oMatchesSelector || element.webkitMatchesSelector || function(selector) {\r\n var doc = element.document || element.ownerDocument;\r\n if (!doc) {\r\n return false\r\n }\r\n var items = this.querySelectorAll(doc, selector);\r\n for (var i = 0; i < items.length; i++) {\r\n if (items[i] === element) {\r\n return true\r\n }\r\n }\r\n }.bind(this);\r\n return matches.call(element, selector)\r\n },\r\n createElement: function(tagName, context) {\r\n context = context || this._document;\r\n return context.createElement(tagName)\r\n },\r\n createElementNS: function(ns, tagName, context) {\r\n context = context || this._document;\r\n return context.createElementNS(ns, tagName)\r\n },\r\n createTextNode: function(text, context) {\r\n context = context || this._document;\r\n return context.createTextNode(text)\r\n },\r\n isNode: function(element) {\r\n return \"object\" === (\"undefined\" === typeof element ? \"undefined\" : _typeof(element)) && \"nodeType\" in element\r\n },\r\n isElementNode: function(element) {\r\n return element && element.nodeType === Node.ELEMENT_NODE\r\n },\r\n isTextNode: function(element) {\r\n return element && element.nodeType === Node.TEXT_NODE\r\n },\r\n isDocument: function(element) {\r\n return element && element.nodeType === Node.DOCUMENT_NODE\r\n },\r\n removeElement: function(element) {\r\n var parentNode = element && element.parentNode;\r\n if (parentNode) {\r\n parentNode.removeChild(element)\r\n }\r\n },\r\n insertElement: function(parentElement, newElement, nextSiblingElement) {\r\n if (parentElement && newElement && parentElement !== newElement) {\r\n if (nextSiblingElement) {\r\n parentElement.insertBefore(newElement, nextSiblingElement)\r\n } else {\r\n parentElement.appendChild(newElement)\r\n }\r\n }\r\n },\r\n getAttribute: function(element, name) {\r\n return element.getAttribute(name)\r\n },\r\n setAttribute: function(element, name, value) {\r\n element.setAttribute(name, value)\r\n },\r\n removeAttribute: function(element, name) {\r\n element.removeAttribute(name)\r\n },\r\n setProperty: function(element, name, value) {\r\n element[name] = value\r\n },\r\n setText: function(element, text) {\r\n if (element) {\r\n element.textContent = text\r\n }\r\n },\r\n setClass: function(element, className, isAdd) {\r\n if (1 === element.nodeType && className) {\r\n if (element.classList) {\r\n if (isAdd) {\r\n element.classList.add(className)\r\n } else {\r\n element.classList.remove(className)\r\n }\r\n } else {\r\n var classNameSupported = \"string\" === typeof element.className;\r\n var elementClass = classNameSupported ? element.className : this.getAttribute(element, \"class\") || \"\";\r\n var classNames = elementClass.split(\" \");\r\n var classIndex = classNames.indexOf(className);\r\n var resultClassName;\r\n if (isAdd && classIndex < 0) {\r\n resultClassName = elementClass ? elementClass + \" \" + className : className\r\n }\r\n if (!isAdd && classIndex >= 0) {\r\n classNames.splice(classIndex, 1);\r\n resultClassName = classNames.join(\" \")\r\n }\r\n if (void 0 !== resultClassName) {\r\n if (classNameSupported) {\r\n element.className = resultClassName\r\n } else {\r\n this.setAttribute(element, \"class\", resultClassName)\r\n }\r\n }\r\n }\r\n }\r\n },\r\n setStyle: function(element, name, value) {\r\n element.style[name] = value || \"\"\r\n },\r\n _document: \"undefined\" === typeof document ? void 0 : document,\r\n getDocument: function() {\r\n return this._document\r\n },\r\n getActiveElement: function() {\r\n return this._document.activeElement\r\n },\r\n getBody: function() {\r\n return this._document.body\r\n },\r\n createDocumentFragment: function() {\r\n return this._document.createDocumentFragment()\r\n },\r\n getDocumentElement: function() {\r\n return this._document.documentElement\r\n },\r\n getLocation: function() {\r\n return this._document.location\r\n },\r\n getSelection: function() {\r\n return this._document.selection\r\n },\r\n getReadyState: function() {\r\n return this._document.readyState\r\n },\r\n getHead: function() {\r\n return this._document.head\r\n },\r\n hasDocumentProperty: function(property) {\r\n return property in this._document\r\n },\r\n listen: function(element, event, callback, options) {\r\n if (!element || !(\"addEventListener\" in element)) {\r\n return noop\r\n }\r\n element.addEventListener(event, callback, options);\r\n return function() {\r\n element.removeEventListener(event, callback)\r\n }\r\n }\r\n};\r\nmodule.exports = injector(nativeDOMAdapterStrategy);\r\n","/**\r\n * DevExtreme (events/core/events_engine.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _typeof = \"function\" === typeof Symbol && \"symbol\" === typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n} : function(obj) {\r\n return obj && \"function\" === typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n};\r\nvar registerEventCallbacks = require(\"./event_registrator_callbacks\");\r\nvar extend = require(\"../../core/utils/extend\").extend;\r\nvar domAdapter = require(\"../../core/dom_adapter\");\r\nvar windowUtils = require(\"../../core/utils/window\");\r\nvar window = windowUtils.getWindow();\r\nvar injector = require(\"../../core/utils/dependency_injector\");\r\nvar typeUtils = require(\"../../core/utils/type\");\r\nvar Callbacks = require(\"../../core/utils/callbacks\");\r\nvar isWindow = typeUtils.isWindow;\r\nvar isFunction = typeUtils.isFunction;\r\nvar isString = typeUtils.isString;\r\nvar errors = require(\"../../core/errors\");\r\nvar WeakMap = require(\"../../core/polyfills/weak_map\");\r\nvar hookTouchProps = require(\"../../events/core/hook_touch_props\");\r\nvar callOnce = require(\"../../core/utils/call_once\");\r\nvar EMPTY_EVENT_NAME = \"dxEmptyEventType\";\r\nvar NATIVE_EVENTS_TO_SUBSCRIBE = {\r\n mouseenter: \"mouseover\",\r\n mouseleave: \"mouseout\",\r\n pointerenter: \"pointerover\",\r\n pointerleave: \"pointerout\"\r\n};\r\nvar NATIVE_EVENTS_TO_TRIGGER = {\r\n focusin: \"focus\",\r\n focusout: \"blur\"\r\n};\r\nvar NO_BUBBLE_EVENTS = [\"blur\", \"focusout\", \"focus\", \"focusin\", \"load\"];\r\nvar forcePassiveFalseEventNames = [\"touchmove\", \"wheel\", \"mousewheel\"];\r\nvar matchesSafe = function(target, selector) {\r\n return !isWindow(target) && \"#document\" !== target.nodeName && domAdapter.elementMatches(target, selector)\r\n};\r\nvar elementDataMap = new WeakMap;\r\nvar guid = 0;\r\nvar skipEvent;\r\nvar special = function() {\r\n var specialData = {};\r\n registerEventCallbacks.add(function(eventName, eventObject) {\r\n specialData[eventName] = eventObject\r\n });\r\n return {\r\n getField: function(eventName, field) {\r\n return specialData[eventName] && specialData[eventName][field]\r\n },\r\n callMethod: function(eventName, methodName, context, args) {\r\n return specialData[eventName] && specialData[eventName][methodName] && specialData[eventName][methodName].apply(context, args)\r\n }\r\n }\r\n}();\r\nvar applyForEach = function applyForEach(args, method) {\r\n var element = args[0];\r\n if (!element) {\r\n return\r\n }\r\n if (domAdapter.isNode(element) || isWindow(element)) {\r\n method.apply(eventsEngine, args)\r\n } else {\r\n if (!isString(element) && \"length\" in element) {\r\n var itemArgs = Array.prototype.slice.call(args, 0);\r\n Array.prototype.forEach.call(element, function(itemElement) {\r\n itemArgs[0] = itemElement;\r\n applyForEach(itemArgs, method)\r\n })\r\n } else {\r\n throw errors.Error(\"E0025\")\r\n }\r\n }\r\n};\r\nvar getHandler = function(method) {\r\n return function() {\r\n applyForEach(arguments, method)\r\n }\r\n};\r\nvar detectPassiveEventHandlersSupport = function() {\r\n var isSupported = false;\r\n try {\r\n var options = Object.defineProperty({}, \"passive\", {\r\n get: function() {\r\n isSupported = true;\r\n return true\r\n }\r\n });\r\n window.addEventListener(\"test\", null, options)\r\n } catch (e) {}\r\n return isSupported\r\n};\r\nvar passiveEventHandlersSupported = callOnce(detectPassiveEventHandlersSupport);\r\nvar getHandlersController = function(element, eventName) {\r\n var elementData = elementDataMap.get(element);\r\n eventName = eventName || \"\";\r\n var eventNameParts = eventName.split(\".\");\r\n var namespaces = eventNameParts.slice(1);\r\n var eventNameIsDefined = !!eventNameParts[0];\r\n eventName = eventNameParts[0] || EMPTY_EVENT_NAME;\r\n if (!elementData) {\r\n elementData = {};\r\n elementDataMap.set(element, elementData)\r\n }\r\n if (!elementData[eventName]) {\r\n elementData[eventName] = {\r\n handleObjects: [],\r\n nativeHandler: null\r\n }\r\n }\r\n var eventData = elementData[eventName];\r\n return {\r\n addHandler: function(handler, selector, data) {\r\n var callHandler = function(e, extraParameters) {\r\n var secondaryTargetIsInside, result, handlerArgs = [e],\r\n target = e.currentTarget,\r\n relatedTarget = e.relatedTarget;\r\n if (eventName in NATIVE_EVENTS_TO_SUBSCRIBE) {\r\n secondaryTargetIsInside = relatedTarget && target && (relatedTarget === target || target.contains(relatedTarget))\r\n }\r\n if (void 0 !== extraParameters) {\r\n handlerArgs.push(extraParameters)\r\n }\r\n special.callMethod(eventName, \"handle\", element, [e, data]);\r\n if (!secondaryTargetIsInside) {\r\n result = handler.apply(target, handlerArgs)\r\n }\r\n if (false === result) {\r\n e.preventDefault();\r\n e.stopPropagation()\r\n }\r\n };\r\n var wrappedHandler = function(e, extraParameters) {\r\n if (skipEvent && e.type === skipEvent) {\r\n return\r\n }\r\n e.data = data;\r\n e.delegateTarget = element;\r\n if (selector) {\r\n var currentTarget = e.target;\r\n while (currentTarget && currentTarget !== element) {\r\n if (matchesSafe(currentTarget, selector)) {\r\n e.currentTarget = currentTarget;\r\n callHandler(e, extraParameters)\r\n }\r\n currentTarget = currentTarget.parentNode\r\n }\r\n } else {\r\n e.currentTarget = e.delegateTarget || e.target;\r\n callHandler(e, extraParameters)\r\n }\r\n };\r\n var handleObject = {\r\n handler: handler,\r\n wrappedHandler: wrappedHandler,\r\n selector: selector,\r\n type: eventName,\r\n data: data,\r\n namespace: namespaces.join(\".\"),\r\n namespaces: namespaces,\r\n guid: ++guid\r\n };\r\n eventData.handleObjects.push(handleObject);\r\n var firstHandlerForTheType = 1 === eventData.handleObjects.length;\r\n var shouldAddNativeListener = firstHandlerForTheType && eventNameIsDefined;\r\n var nativeListenerOptions;\r\n if (shouldAddNativeListener) {\r\n shouldAddNativeListener = !special.callMethod(eventName, \"setup\", element, [data, namespaces, handler])\r\n }\r\n if (shouldAddNativeListener) {\r\n eventData.nativeHandler = getNativeHandler(eventName);\r\n if (passiveEventHandlersSupported() && forcePassiveFalseEventNames.indexOf(eventName) > -1) {\r\n nativeListenerOptions = {\r\n passive: false\r\n }\r\n }\r\n eventData.removeListener = domAdapter.listen(element, NATIVE_EVENTS_TO_SUBSCRIBE[eventName] || eventName, eventData.nativeHandler, nativeListenerOptions)\r\n }\r\n special.callMethod(eventName, \"add\", element, [handleObject])\r\n },\r\n removeHandler: function(handler, selector) {\r\n var removeByEventName = function(eventName) {\r\n var eventData = elementData[eventName];\r\n if (!eventData.handleObjects.length) {\r\n delete elementData[eventName];\r\n return\r\n }\r\n var removedHandler;\r\n eventData.handleObjects = eventData.handleObjects.filter(function(handleObject) {\r\n var skip = namespaces.length && !isSubset(handleObject.namespaces, namespaces) || handler && handleObject.handler !== handler || selector && handleObject.selector !== selector;\r\n if (!skip) {\r\n removedHandler = handleObject.handler;\r\n special.callMethod(eventName, \"remove\", element, [handleObject])\r\n }\r\n return skip\r\n });\r\n var lastHandlerForTheType = !eventData.handleObjects.length;\r\n var shouldRemoveNativeListener = lastHandlerForTheType && eventName !== EMPTY_EVENT_NAME;\r\n if (shouldRemoveNativeListener) {\r\n special.callMethod(eventName, \"teardown\", element, [namespaces, removedHandler]);\r\n if (eventData.nativeHandler) {\r\n eventData.removeListener()\r\n }\r\n delete elementData[eventName]\r\n }\r\n };\r\n if (eventNameIsDefined) {\r\n removeByEventName(eventName)\r\n } else {\r\n for (var name in elementData) {\r\n removeByEventName(name)\r\n }\r\n }\r\n var elementDataIsEmpty = 0 === Object.keys(elementData).length;\r\n if (elementDataIsEmpty) {\r\n elementDataMap.delete(element)\r\n }\r\n },\r\n callHandlers: function(event, extraParameters) {\r\n var forceStop = false;\r\n var handleCallback = function(handleObject) {\r\n if (forceStop) {\r\n return\r\n }\r\n if (!namespaces.length || isSubset(handleObject.namespaces, namespaces)) {\r\n handleObject.wrappedHandler(event, extraParameters);\r\n forceStop = event.isImmediatePropagationStopped()\r\n }\r\n };\r\n eventData.handleObjects.forEach(handleCallback);\r\n if (namespaces.length && elementData[EMPTY_EVENT_NAME]) {\r\n elementData[EMPTY_EVENT_NAME].handleObjects.forEach(handleCallback)\r\n }\r\n }\r\n }\r\n};\r\nvar getNativeHandler = function(subscribeName) {\r\n return function(event, extraParameters) {\r\n var handlersController = getHandlersController(this, subscribeName);\r\n event = eventsEngine.Event(event);\r\n handlersController.callHandlers(event, extraParameters)\r\n }\r\n};\r\nvar isSubset = function(original, checked) {\r\n for (var i = 0; i < checked.length; i++) {\r\n if (original.indexOf(checked[i]) < 0) {\r\n return false\r\n }\r\n }\r\n return true\r\n};\r\nvar normalizeOnArguments = function(callback) {\r\n return function(element, eventName, selector, data, handler) {\r\n if (!handler) {\r\n handler = data;\r\n data = void 0\r\n }\r\n if (\"string\" !== typeof selector) {\r\n data = selector;\r\n selector = void 0\r\n }\r\n if (!handler && \"string\" === typeof eventName) {\r\n handler = data || selector;\r\n selector = void 0;\r\n data = void 0\r\n }\r\n callback(element, eventName, selector, data, handler)\r\n }\r\n};\r\nvar normalizeOffArguments = function(callback) {\r\n return function(element, eventName, selector, handler) {\r\n if (\"function\" === typeof selector) {\r\n handler = selector;\r\n selector = void 0\r\n }\r\n callback(element, eventName, selector, handler)\r\n }\r\n};\r\nvar normalizeTriggerArguments = function(callback) {\r\n return function(element, src, extraParameters) {\r\n if (\"string\" === typeof src) {\r\n src = {\r\n type: src\r\n }\r\n }\r\n if (!src.target) {\r\n src.target = element\r\n }\r\n src.currentTarget = element;\r\n if (!src.delegateTarget) {\r\n src.delegateTarget = element\r\n }\r\n if (!src.type && src.originalEvent) {\r\n src.type = src.originalEvent.type\r\n }\r\n callback(element, src instanceof eventsEngine.Event ? src : eventsEngine.Event(src), extraParameters)\r\n }\r\n};\r\nvar normalizeEventArguments = function(callback) {\r\n return function(src, config) {\r\n if (!(this instanceof eventsEngine.Event)) {\r\n return new eventsEngine.Event(src, config)\r\n }\r\n if (!src) {\r\n src = {}\r\n }\r\n if (\"string\" === typeof src) {\r\n src = {\r\n type: src\r\n }\r\n }\r\n if (!config) {\r\n config = {}\r\n }\r\n callback.call(this, src, config)\r\n }\r\n};\r\nvar iterate = function(callback) {\r\n var iterateEventNames = function(element, eventName) {\r\n if (eventName && eventName.indexOf(\" \") > -1) {\r\n var args = Array.prototype.slice.call(arguments, 0);\r\n eventName.split(\" \").forEach(function(eventName) {\r\n args[1] = eventName;\r\n callback.apply(this, args)\r\n })\r\n } else {\r\n callback.apply(this, arguments)\r\n }\r\n };\r\n return function(element, eventName) {\r\n if (\"object\" === (\"undefined\" === typeof eventName ? \"undefined\" : _typeof(eventName))) {\r\n var args = Array.prototype.slice.call(arguments, 0);\r\n for (var name in eventName) {\r\n args[1] = name;\r\n args[args.length - 1] = eventName[name];\r\n iterateEventNames.apply(this, args)\r\n }\r\n } else {\r\n iterateEventNames.apply(this, arguments)\r\n }\r\n }\r\n};\r\nvar callNativeMethod = function(eventName, element) {\r\n var nativeMethodName = NATIVE_EVENTS_TO_TRIGGER[eventName] || eventName;\r\n var isLinkClickEvent = function(eventName, element) {\r\n return \"click\" === eventName && \"a\" === element.localName\r\n };\r\n if (isLinkClickEvent(eventName, element)) {\r\n return\r\n }\r\n if (isFunction(element[nativeMethodName])) {\r\n skipEvent = eventName;\r\n element[nativeMethodName]();\r\n skipEvent = void 0\r\n }\r\n};\r\nvar calculateWhich = function(event) {\r\n var setForMouseEvent = function(event) {\r\n var mouseEventRegex = /^(?:mouse|pointer|contextmenu|drag|drop)|click/;\r\n return !event.which && void 0 !== event.button && mouseEventRegex.test(event.type)\r\n };\r\n var setForKeyEvent = function(event) {\r\n return null == event.which && 0 === event.type.indexOf(\"key\")\r\n };\r\n if (setForKeyEvent(event)) {\r\n return null != event.charCode ? event.charCode : event.keyCode\r\n }\r\n if (setForMouseEvent(event)) {\r\n var whichByButton = {\r\n 1: 1,\r\n 2: 3,\r\n 3: 1,\r\n 4: 2\r\n };\r\n return whichByButton[event.button]\r\n }\r\n return event.which\r\n};\r\nvar eventsEngine = injector({\r\n on: getHandler(normalizeOnArguments(iterate(function(element, eventName, selector, data, handler) {\r\n var handlersController = getHandlersController(element, eventName);\r\n handlersController.addHandler(handler, selector, data)\r\n }))),\r\n one: getHandler(normalizeOnArguments(function(element, eventName, selector, data, handler) {\r\n var oneTimeHandler = function oneTimeHandler() {\r\n eventsEngine.off(element, eventName, selector, oneTimeHandler);\r\n handler.apply(this, arguments)\r\n };\r\n eventsEngine.on(element, eventName, selector, data, oneTimeHandler)\r\n })),\r\n off: getHandler(normalizeOffArguments(iterate(function(element, eventName, selector, handler) {\r\n var handlersController = getHandlersController(element, eventName);\r\n handlersController.removeHandler(handler, selector)\r\n }))),\r\n trigger: getHandler(normalizeTriggerArguments(function(element, event, extraParameters) {\r\n var eventName = event.type;\r\n var handlersController = getHandlersController(element, event.type);\r\n special.callMethod(eventName, \"trigger\", element, [event, extraParameters]);\r\n handlersController.callHandlers(event, extraParameters);\r\n var noBubble = special.getField(eventName, \"noBubble\") || event.isPropagationStopped() || NO_BUBBLE_EVENTS.indexOf(eventName) !== -1;\r\n if (!noBubble) {\r\n var parents = [];\r\n var getParents = function getParents(element) {\r\n var parent = element.parentNode;\r\n if (parent) {\r\n parents.push(parent);\r\n getParents(parent)\r\n }\r\n };\r\n getParents(element);\r\n parents.push(window);\r\n var i = 0;\r\n while (parents[i] && !event.isPropagationStopped()) {\r\n var parentDataByEvent = getHandlersController(parents[i], event.type);\r\n parentDataByEvent.callHandlers(extend(event, {\r\n currentTarget: parents[i]\r\n }), extraParameters);\r\n i++\r\n }\r\n }\r\n if (element.nodeType || isWindow(element)) {\r\n special.callMethod(eventName, \"_default\", element, [event, extraParameters]);\r\n callNativeMethod(eventName, element)\r\n }\r\n })),\r\n triggerHandler: getHandler(normalizeTriggerArguments(function(element, event, extraParameters) {\r\n var handlersController = getHandlersController(element, event.type);\r\n handlersController.callHandlers(event, extraParameters)\r\n }))\r\n});\r\nvar initEvent = function(EventClass) {\r\n if (EventClass) {\r\n eventsEngine.Event = EventClass;\r\n eventsEngine.Event.prototype = EventClass.prototype\r\n }\r\n};\r\ninitEvent(normalizeEventArguments(function(src, config) {\r\n var that = this;\r\n var propagationStopped = false;\r\n var immediatePropagationStopped = false;\r\n var defaultPrevented = false;\r\n extend(that, src);\r\n if (src instanceof eventsEngine.Event || windowUtils.hasWindow() && src instanceof window.Event) {\r\n that.originalEvent = src;\r\n that.currentTarget = void 0\r\n }\r\n if (!(src instanceof eventsEngine.Event)) {\r\n extend(that, {\r\n isPropagationStopped: function() {\r\n return !!(propagationStopped || that.originalEvent && that.originalEvent.propagationStopped)\r\n },\r\n stopPropagation: function() {\r\n propagationStopped = true;\r\n that.originalEvent && that.originalEvent.stopPropagation()\r\n },\r\n isImmediatePropagationStopped: function() {\r\n return immediatePropagationStopped\r\n },\r\n stopImmediatePropagation: function() {\r\n this.stopPropagation();\r\n immediatePropagationStopped = true;\r\n that.originalEvent && that.originalEvent.stopImmediatePropagation()\r\n },\r\n isDefaultPrevented: function() {\r\n return !!(defaultPrevented || that.originalEvent && that.originalEvent.defaultPrevented)\r\n },\r\n preventDefault: function() {\r\n defaultPrevented = true;\r\n that.originalEvent && that.originalEvent.preventDefault()\r\n }\r\n })\r\n }\r\n addProperty(\"which\", calculateWhich, that);\r\n if (0 === src.type.indexOf(\"touch\")) {\r\n delete config.pageX;\r\n delete config.pageY\r\n }\r\n extend(that, config);\r\n that.guid = ++guid\r\n}));\r\nvar addProperty = function(propName, hook, eventInstance) {\r\n Object.defineProperty(eventInstance || eventsEngine.Event.prototype, propName, {\r\n enumerable: true,\r\n configurable: true,\r\n get: function() {\r\n return this.originalEvent && hook(this.originalEvent)\r\n },\r\n set: function(value) {\r\n Object.defineProperty(this, propName, {\r\n enumerable: true,\r\n configurable: true,\r\n writable: true,\r\n value: value\r\n })\r\n }\r\n })\r\n};\r\nhookTouchProps(addProperty);\r\nvar beforeSetStrategy = Callbacks();\r\nvar afterSetStrategy = Callbacks();\r\neventsEngine.set = function(engine) {\r\n beforeSetStrategy.fire();\r\n eventsEngine.inject(engine);\r\n initEvent(engine.Event);\r\n afterSetStrategy.fire()\r\n};\r\neventsEngine.subscribeGlobal = function() {\r\n applyForEach(arguments, normalizeOnArguments(function() {\r\n var args = arguments;\r\n eventsEngine.on.apply(this, args);\r\n beforeSetStrategy.add(function() {\r\n var offArgs = Array.prototype.slice.call(args, 0);\r\n offArgs.splice(3, 1);\r\n eventsEngine.off.apply(this, offArgs)\r\n });\r\n afterSetStrategy.add(function() {\r\n eventsEngine.on.apply(this, args)\r\n })\r\n }))\r\n};\r\neventsEngine.forcePassiveFalseEventNames = forcePassiveFalseEventNames;\r\neventsEngine.passiveEventHandlersSupported = passiveEventHandlersSupported;\r\nmodule.exports = eventsEngine;\r\n","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}","/**\r\n * DevExtreme (core/class.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar errors = require(\"./errors\"),\r\n typeUtils = require(\"./utils/type\");\r\nvar wrapOverridden = function(baseProto, methodName, method) {\r\n return function() {\r\n var prevCallBase = this.callBase;\r\n this.callBase = baseProto[methodName];\r\n try {\r\n return method.apply(this, arguments)\r\n } finally {\r\n this.callBase = prevCallBase\r\n }\r\n }\r\n};\r\nvar clonePrototype = function(obj) {\r\n var func = function() {};\r\n func.prototype = obj.prototype;\r\n return new func\r\n};\r\nvar redefine = function(members) {\r\n var overridden, memberName, member, that = this;\r\n if (!members) {\r\n return that\r\n }\r\n for (memberName in members) {\r\n member = members[memberName];\r\n overridden = \"function\" === typeof that.prototype[memberName] && \"function\" === typeof member;\r\n that.prototype[memberName] = overridden ? wrapOverridden(that.parent.prototype, memberName, member) : member\r\n }\r\n return that\r\n};\r\nvar include = function() {\r\n var argument, name, i, classObj = this;\r\n var hasClassObjOwnProperty = Object.prototype.hasOwnProperty.bind(classObj);\r\n var isES6Class = !hasClassObjOwnProperty(\"_includedCtors\") && !hasClassObjOwnProperty(\"_includedPostCtors\");\r\n if (isES6Class) {\r\n classObj._includedCtors = classObj._includedCtors.slice(0);\r\n classObj._includedPostCtors = classObj._includedPostCtors.slice(0)\r\n }\r\n for (i = 0; i < arguments.length; i++) {\r\n argument = arguments[i];\r\n if (argument.ctor) {\r\n classObj._includedCtors.push(argument.ctor)\r\n }\r\n if (argument.postCtor) {\r\n classObj._includedPostCtors.push(argument.postCtor)\r\n }\r\n for (name in argument) {\r\n if (\"ctor\" === name || \"postCtor\" === name) {\r\n continue\r\n }\r\n classObj.prototype[name] = argument[name]\r\n }\r\n }\r\n return classObj\r\n};\r\nvar subclassOf = function(parentClass) {\r\n if (this.parent === parentClass) {\r\n return true\r\n }\r\n if (!this.parent || !this.parent.subclassOf) {\r\n return false\r\n }\r\n return this.parent.subclassOf(parentClass)\r\n};\r\nvar abstract = function() {\r\n throw errors.Error(\"E0001\")\r\n};\r\nvar copyStatic = function() {\r\n var hasOwn = Object.prototype.hasOwnProperty;\r\n return function(source, destination) {\r\n for (var key in source) {\r\n if (!hasOwn.call(source, key)) {\r\n return\r\n }\r\n destination[key] = source[key]\r\n }\r\n }\r\n}();\r\nvar classImpl = function() {};\r\nclassImpl.inherit = function(members) {\r\n var inheritor = function() {\r\n if (!this || typeUtils.isWindow(this) || \"function\" !== typeof this.constructor) {\r\n throw errors.Error(\"E0003\")\r\n }\r\n var i, instance = this,\r\n ctor = instance.ctor,\r\n includedCtors = instance.constructor._includedCtors,\r\n includedPostCtors = instance.constructor._includedPostCtors;\r\n for (i = 0; i < includedCtors.length; i++) {\r\n includedCtors[i].call(instance)\r\n }\r\n if (ctor) {\r\n ctor.apply(instance, arguments)\r\n }\r\n for (i = 0; i < includedPostCtors.length; i++) {\r\n includedPostCtors[i].call(instance)\r\n }\r\n };\r\n inheritor.prototype = clonePrototype(this);\r\n copyStatic(this, inheritor);\r\n inheritor.inherit = this.inherit;\r\n inheritor.abstract = abstract;\r\n inheritor.redefine = redefine;\r\n inheritor.include = include;\r\n inheritor.subclassOf = subclassOf;\r\n inheritor.parent = this;\r\n inheritor._includedCtors = this._includedCtors ? this._includedCtors.slice(0) : [];\r\n inheritor._includedPostCtors = this._includedPostCtors ? this._includedPostCtors.slice(0) : [];\r\n inheritor.prototype.constructor = inheritor;\r\n inheritor.redefine(members);\r\n return inheritor\r\n};\r\nclassImpl.abstract = abstract;\r\nmodule.exports = classImpl;\r\n","/**\r\n * DevExtreme (core/utils/deferred.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar typeUtils = require(\"../utils/type\");\r\nvar isPromise = typeUtils.isPromise;\r\nvar isDeferred = typeUtils.isDeferred;\r\nvar extend = require(\"../utils/extend\").extend;\r\nvar Callbacks = require(\"../utils/callbacks\");\r\nvar deferredConfig = [{\r\n method: \"resolve\",\r\n handler: \"done\",\r\n state: \"resolved\"\r\n}, {\r\n method: \"reject\",\r\n handler: \"fail\",\r\n state: \"rejected\"\r\n}, {\r\n method: \"notify\",\r\n handler: \"progress\"\r\n}];\r\nvar _Deferred = function() {\r\n var that = this;\r\n this._state = \"pending\";\r\n this._promise = {};\r\n deferredConfig.forEach(function(config) {\r\n var methodName = config.method;\r\n this[methodName + \"Callbacks\"] = new Callbacks;\r\n this[methodName] = function() {\r\n return this[methodName + \"With\"](this._promise, arguments)\r\n }.bind(this);\r\n this._promise[config.handler] = function(handler) {\r\n if (!handler) {\r\n return this\r\n }\r\n var callbacks = that[methodName + \"Callbacks\"];\r\n if (callbacks.fired()) {\r\n handler.apply(that[methodName + \"Context\"], that[methodName + \"Args\"])\r\n } else {\r\n callbacks.add(function(context, args) {\r\n handler.apply(context, args)\r\n }.bind(this))\r\n }\r\n return this\r\n }\r\n }.bind(this));\r\n this._promise.always = function(handler) {\r\n return this.done(handler).fail(handler)\r\n };\r\n this._promise.catch = function(handler) {\r\n return this.then(null, handler)\r\n };\r\n this._promise.then = function(resolve, reject) {\r\n var result = new _Deferred;\r\n [\"done\", \"fail\"].forEach(function(method) {\r\n var callback = \"done\" === method ? resolve : reject;\r\n this[method](function() {\r\n if (!callback) {\r\n result[\"done\" === method ? \"resolve\" : \"reject\"].apply(this, arguments);\r\n return\r\n }\r\n var callbackResult = callback && callback.apply(this, arguments);\r\n if (isDeferred(callbackResult)) {\r\n callbackResult.done(result.resolve).fail(result.reject)\r\n } else {\r\n if (isPromise(callbackResult)) {\r\n callbackResult.then(result.resolve, result.reject)\r\n } else {\r\n result.resolve.apply(this, callbackResult ? [callbackResult] : arguments)\r\n }\r\n }\r\n })\r\n }.bind(this));\r\n return result.promise()\r\n };\r\n this._promise.state = function() {\r\n return that._state\r\n };\r\n this._promise.promise = function(args) {\r\n return args ? extend(args, that._promise) : that._promise\r\n };\r\n this._promise.promise(this)\r\n};\r\ndeferredConfig.forEach(function(config) {\r\n var methodName = config.method;\r\n var state = config.state;\r\n _Deferred.prototype[methodName + \"With\"] = function(context, args) {\r\n var callbacks = this[methodName + \"Callbacks\"];\r\n if (\"pending\" === this.state()) {\r\n this[methodName + \"Args\"] = args;\r\n this[methodName + \"Context\"] = context;\r\n if (state) {\r\n this._state = state\r\n }\r\n callbacks.fire(context, args)\r\n }\r\n return this\r\n }\r\n});\r\nexports.fromPromise = function(promise, context) {\r\n if (isDeferred(promise)) {\r\n return promise\r\n } else {\r\n if (isPromise(promise)) {\r\n var d = new _Deferred;\r\n promise.then(function() {\r\n d.resolveWith.apply(d, [context].concat([\r\n [].slice.call(arguments)\r\n ]))\r\n }, function() {\r\n d.rejectWith.apply(d, [context].concat([\r\n [].slice.call(arguments)\r\n ]))\r\n });\r\n return d\r\n }\r\n }\r\n return (new _Deferred).resolveWith(context, [promise])\r\n};\r\nvar when = function() {\r\n if (1 === arguments.length) {\r\n return exports.fromPromise(arguments[0])\r\n }\r\n var values = [].slice.call(arguments),\r\n contexts = [],\r\n resolvedCount = 0,\r\n deferred = new _Deferred;\r\n var updateState = function(i) {\r\n return function(value) {\r\n contexts[i] = this;\r\n values[i] = arguments.length > 1 ? [].slice.call(arguments) : value;\r\n resolvedCount++;\r\n if (resolvedCount === values.length) {\r\n deferred.resolveWith(contexts, values)\r\n }\r\n }\r\n };\r\n for (var i = 0; i < values.length; i++) {\r\n if (isDeferred(values[i])) {\r\n values[i].promise().done(updateState(i)).fail(deferred.reject)\r\n } else {\r\n resolvedCount++\r\n }\r\n }\r\n if (resolvedCount === values.length) {\r\n deferred.resolveWith(contexts, values)\r\n }\r\n return deferred.promise()\r\n};\r\nexports.setStrategy = function(value) {\r\n _Deferred = value.Deferred;\r\n when = value.when\r\n};\r\nexports.Deferred = function() {\r\n return new _Deferred\r\n};\r\nexports.when = function() {\r\n return when.apply(this, arguments)\r\n};\r\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 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 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","/**\r\n * DevExtreme (events/utils.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _renderer = require(\"../core/renderer\");\r\nvar _renderer2 = _interopRequireDefault(_renderer);\r\nvar _events_engine = require(\"./core/events_engine\");\r\nvar _events_engine2 = _interopRequireDefault(_events_engine);\r\nvar _errors = require(\"../core/errors\");\r\nvar _errors2 = _interopRequireDefault(_errors);\r\nvar _selectors = require(\"../ui/widget/selectors\");\r\nvar _extend = require(\"../core/utils/extend\");\r\nvar _iterator = require(\"../core/utils/iterator\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar KEY_MAP = {\r\n backspace: \"backspace\",\r\n tab: \"tab\",\r\n enter: \"enter\",\r\n escape: \"escape\",\r\n pageup: \"pageUp\",\r\n pagedown: \"pageDown\",\r\n end: \"end\",\r\n home: \"home\",\r\n arrowleft: \"leftArrow\",\r\n arrowup: \"upArrow\",\r\n arrowright: \"rightArrow\",\r\n arrowdown: \"downArrow\",\r\n \"delete\": \"del\",\r\n \" \": \"space\",\r\n f: \"F\",\r\n a: \"A\",\r\n \"*\": \"asterisk\",\r\n \"-\": \"minus\",\r\n alt: \"alt\",\r\n control: \"control\",\r\n shift: \"shift\",\r\n left: \"leftArrow\",\r\n up: \"upArrow\",\r\n right: \"rightArrow\",\r\n down: \"downArrow\",\r\n multiply: \"asterisk\",\r\n spacebar: \"space\",\r\n del: \"del\",\r\n subtract: \"minus\"\r\n};\r\nvar LEGACY_KEY_CODES = {\r\n 8: \"backspace\",\r\n 9: \"tab\",\r\n 13: \"enter\",\r\n 27: \"escape\",\r\n 33: \"pageUp\",\r\n 34: \"pageDown\",\r\n 35: \"end\",\r\n 36: \"home\",\r\n 37: \"leftArrow\",\r\n 38: \"upArrow\",\r\n 39: \"rightArrow\",\r\n 40: \"downArrow\",\r\n 46: \"del\",\r\n 32: \"space\",\r\n 70: \"F\",\r\n 65: \"A\",\r\n 106: \"asterisk\",\r\n 109: \"minus\",\r\n 189: \"minus\",\r\n 173: \"minus\",\r\n 16: \"shift\",\r\n 17: \"control\",\r\n 18: \"alt\"\r\n};\r\nvar eventSource = function() {\r\n var EVENT_SOURCES_REGEX = {\r\n dx: /^dx/i,\r\n mouse: /(mouse|wheel)/i,\r\n touch: /^touch/i,\r\n keyboard: /^key/i,\r\n pointer: /^(ms)?pointer/i\r\n };\r\n return function(e) {\r\n var result = \"other\";\r\n (0, _iterator.each)(EVENT_SOURCES_REGEX, function(key) {\r\n if (this.test(e.type)) {\r\n result = key;\r\n return false\r\n }\r\n });\r\n return result\r\n }\r\n}();\r\nvar isDxEvent = function(e) {\r\n return \"dx\" === eventSource(e)\r\n};\r\nvar isNativeMouseEvent = function(e) {\r\n return \"mouse\" === eventSource(e)\r\n};\r\nvar isNativeTouchEvent = function(e) {\r\n return \"touch\" === eventSource(e)\r\n};\r\nvar isPointerEvent = function(e) {\r\n return \"pointer\" === eventSource(e)\r\n};\r\nvar isMouseEvent = function(e) {\r\n return isNativeMouseEvent(e) || (isPointerEvent(e) || isDxEvent(e)) && \"mouse\" === e.pointerType\r\n};\r\nvar isDxMouseWheelEvent = function(e) {\r\n return e && \"dxmousewheel\" === e.type\r\n};\r\nvar isTouchEvent = function(e) {\r\n return isNativeTouchEvent(e) || (isPointerEvent(e) || isDxEvent(e)) && \"touch\" === e.pointerType\r\n};\r\nvar isKeyboardEvent = function(e) {\r\n return \"keyboard\" === eventSource(e)\r\n};\r\nvar isFakeClickEvent = function(e) {\r\n return 0 === e.screenX && !e.offsetX && 0 === e.pageX\r\n};\r\nvar eventData = function(e) {\r\n return {\r\n x: e.pageX,\r\n y: e.pageY,\r\n time: e.timeStamp\r\n }\r\n};\r\nvar eventDelta = function(from, to) {\r\n return {\r\n x: to.x - from.x,\r\n y: to.y - from.y,\r\n time: to.time - from.time || 1\r\n }\r\n};\r\nvar hasTouches = function(e) {\r\n if (isNativeTouchEvent(e)) {\r\n return (e.originalEvent.touches || []).length\r\n }\r\n if (isDxEvent(e)) {\r\n return (e.pointers || []).length\r\n }\r\n return 0\r\n};\r\nvar needSkipEvent = function(e) {\r\n var target = e.target;\r\n var $target = (0, _renderer2.default)(target);\r\n var touchInInput = $target.is(\"input, textarea, select\");\r\n if ($target.is(\".dx-skip-gesture-event *, .dx-skip-gesture-event\")) {\r\n return true\r\n }\r\n if (isDxMouseWheelEvent(e)) {\r\n if ($target.is(\"textarea\") && $target.hasClass(\"dx-texteditor-input\")) {\r\n return false\r\n }\r\n var isContentEditable = target.isContentEditable || target.hasAttribute(\"contenteditable\");\r\n var hasContentEditableParent = $target.closest(\"div[contenteditable='true']\").is(\":focus\");\r\n var isInputFocused = $target.is(\"input[type='number'], textarea, select\") && $target.is(\":focus\");\r\n return isInputFocused || isContentEditable && hasContentEditableParent\r\n }\r\n if (isMouseEvent(e)) {\r\n return touchInInput || e.which > 1\r\n }\r\n if (isTouchEvent(e)) {\r\n return touchInInput && (0, _selectors.focused)($target)\r\n }\r\n};\r\nvar fixMethod = function(e) {\r\n return e\r\n};\r\nvar setEventFixMethod = function(func) {\r\n fixMethod = func\r\n};\r\nvar copyEvent = function(originalEvent) {\r\n return fixMethod(_events_engine2.default.Event(originalEvent, originalEvent), originalEvent)\r\n};\r\nvar createEvent = function(originalEvent, args) {\r\n var event = copyEvent(originalEvent);\r\n if (args) {\r\n (0, _extend.extend)(event, args)\r\n }\r\n return event\r\n};\r\nvar fireEvent = function(props) {\r\n var event = createEvent(props.originalEvent, props);\r\n _events_engine2.default.trigger(props.delegateTarget || event.target, event);\r\n return event\r\n};\r\nvar addNamespace = function addNamespace(eventNames, namespace) {\r\n if (!namespace) {\r\n throw _errors2.default.Error(\"E0017\")\r\n }\r\n if (\"string\" === typeof eventNames) {\r\n if (eventNames.indexOf(\" \") === -1) {\r\n return eventNames + \".\" + namespace\r\n }\r\n return addNamespace(eventNames.split(/\\s+/g), namespace)\r\n }(0, _iterator.each)(eventNames, function(index, eventName) {\r\n eventNames[index] = eventName + \".\" + namespace\r\n });\r\n return eventNames.join(\" \")\r\n};\r\nvar normalizeKeyName = function(event) {\r\n var isKeySupported = !!event.key;\r\n var key = isKeySupported ? event.key : event.which;\r\n if (!key) {\r\n return\r\n }\r\n if (isKeySupported) {\r\n key = KEY_MAP[key.toLowerCase()] || key\r\n } else {\r\n key = LEGACY_KEY_CODES[key] || String.fromCharCode(key)\r\n }\r\n return key\r\n};\r\nvar getChar = function(event) {\r\n return event.key || String.fromCharCode(event.which)\r\n};\r\nmodule.exports = {\r\n eventSource: eventSource,\r\n isPointerEvent: isPointerEvent,\r\n isMouseEvent: isMouseEvent,\r\n isDxMouseWheelEvent: isDxMouseWheelEvent,\r\n isTouchEvent: isTouchEvent,\r\n isKeyboardEvent: isKeyboardEvent,\r\n isFakeClickEvent: isFakeClickEvent,\r\n hasTouches: hasTouches,\r\n eventData: eventData,\r\n eventDelta: eventDelta,\r\n needSkipEvent: needSkipEvent,\r\n createEvent: createEvent,\r\n fireEvent: fireEvent,\r\n addNamespace: addNamespace,\r\n setEventFixMethod: setEventFixMethod,\r\n normalizeKeyName: normalizeKeyName,\r\n getChar: getChar\r\n};\r\n","/**\r\n * DevExtreme (core/utils/array.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar isDefined = require(\"./type\").isDefined,\r\n each = require(\"./iterator\").each,\r\n objectUtils = require(\"./object\"),\r\n config = require(\"../config\");\r\nvar isEmpty = function(entity) {\r\n return Array.isArray(entity) && !entity.length\r\n};\r\nvar wrapToArray = function(entity) {\r\n return Array.isArray(entity) ? entity : [entity]\r\n};\r\nvar intersection = function(a, b) {\r\n if (!Array.isArray(a) || 0 === a.length || !Array.isArray(b) || 0 === b.length) {\r\n return []\r\n }\r\n var result = [];\r\n each(a, function(_, value) {\r\n var index = inArray(value, b);\r\n if (index !== -1) {\r\n result.push(value)\r\n }\r\n });\r\n return result\r\n};\r\nvar removeDuplicates = function(from, what) {\r\n if (!Array.isArray(from) || 0 === from.length) {\r\n return []\r\n }\r\n if (!Array.isArray(what) || 0 === what.length) {\r\n return from.slice()\r\n }\r\n var result = [];\r\n each(from, function(_, value) {\r\n var index = inArray(value, what);\r\n if (index === -1) {\r\n result.push(value)\r\n }\r\n });\r\n return result\r\n};\r\nvar normalizeIndexes = function(items, indexParameterName, currentItem, needIndexCallback) {\r\n var indexedItems = {},\r\n parameterIndex = 0,\r\n useLegacyVisibleIndex = config().useLegacyVisibleIndex;\r\n each(items, function(index, item) {\r\n index = item[indexParameterName];\r\n if (index >= 0) {\r\n indexedItems[index] = indexedItems[index] || [];\r\n if (item === currentItem) {\r\n indexedItems[index].unshift(item)\r\n } else {\r\n indexedItems[index].push(item)\r\n }\r\n } else {\r\n item[indexParameterName] = void 0\r\n }\r\n });\r\n if (!useLegacyVisibleIndex) {\r\n each(items, function() {\r\n if (!isDefined(this[indexParameterName]) && (!needIndexCallback || needIndexCallback(this))) {\r\n while (indexedItems[parameterIndex]) {\r\n parameterIndex++\r\n }\r\n indexedItems[parameterIndex] = [this];\r\n parameterIndex++\r\n }\r\n })\r\n }\r\n parameterIndex = 0;\r\n objectUtils.orderEach(indexedItems, function(index, items) {\r\n each(items, function() {\r\n if (index >= 0) {\r\n this[indexParameterName] = parameterIndex++\r\n }\r\n })\r\n });\r\n if (useLegacyVisibleIndex) {\r\n each(items, function() {\r\n if (!isDefined(this[indexParameterName]) && (!needIndexCallback || needIndexCallback(this))) {\r\n this[indexParameterName] = parameterIndex++\r\n }\r\n })\r\n }\r\n return parameterIndex\r\n};\r\nvar inArray = function(value, object) {\r\n if (!object) {\r\n return -1\r\n }\r\n var array = Array.isArray(object) ? object : object.toArray();\r\n return array.indexOf(value)\r\n};\r\nvar merge = function(array1, array2) {\r\n for (var i = 0; i < array2.length; i++) {\r\n array1[array1.length] = array2[i]\r\n }\r\n return array1\r\n};\r\nvar find = function(array, condition) {\r\n for (var i = 0; i < array.length; i++) {\r\n if (condition(array[i])) {\r\n return array[i]\r\n }\r\n }\r\n};\r\nexports.isEmpty = isEmpty;\r\nexports.wrapToArray = wrapToArray;\r\nexports.intersection = intersection;\r\nexports.removeDuplicates = removeDuplicates;\r\nexports.normalizeIndexes = normalizeIndexes;\r\nexports.inArray = inArray;\r\nexports.merge = merge;\r\nexports.find = find;\r\n","/**\r\n * DevExtreme (core/utils/dom.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar $ = require(\"../../core/renderer\"),\r\n config = require(\"../../core/config\"),\r\n domAdapter = require(\"../../core/dom_adapter\"),\r\n windowUtils = require(\"./window\"),\r\n window = windowUtils.getWindow(),\r\n eventsEngine = require(\"../../events/core/events_engine\"),\r\n inArray = require(\"./array\").inArray,\r\n typeUtils = require(\"./type\"),\r\n isDefined = typeUtils.isDefined,\r\n isRenderer = typeUtils.isRenderer,\r\n htmlParser = require(\"../../core/utils/html_parser\"),\r\n elementStrategy;\r\nvar resetActiveElement = function() {\r\n var activeElement = domAdapter.getActiveElement(),\r\n body = domAdapter.getBody();\r\n if (activeElement && activeElement !== body && activeElement.blur) {\r\n try {\r\n activeElement.blur()\r\n } catch (e) {\r\n body.blur()\r\n }\r\n }\r\n};\r\nvar clearSelection = function() {\r\n var selection = window.getSelection();\r\n if (!selection) {\r\n return\r\n }\r\n if (\"Caret\" === selection.type) {\r\n return\r\n }\r\n if (selection.empty) {\r\n selection.empty()\r\n } else {\r\n if (selection.removeAllRanges) {\r\n try {\r\n selection.removeAllRanges()\r\n } catch (e) {}\r\n }\r\n }\r\n};\r\nvar closestCommonParent = function(startTarget, endTarget) {\r\n var $startTarget = $(startTarget),\r\n $endTarget = $(endTarget);\r\n if ($startTarget[0] === $endTarget[0]) {\r\n return $startTarget[0]\r\n }\r\n var $startParents = $startTarget.parents(),\r\n $endParents = $endTarget.parents(),\r\n startingParent = Math.min($startParents.length, $endParents.length);\r\n for (var i = -startingParent; i < 0; i++) {\r\n if ($startParents.get(i) === $endParents.get(i)) {\r\n return $startParents.get(i)\r\n }\r\n }\r\n};\r\nvar triggerVisibilityChangeEvent = function(eventName) {\r\n var VISIBILITY_CHANGE_SELECTOR = \".dx-visibility-change-handler\";\r\n return function(element) {\r\n var $element = $(element || \"body\");\r\n var changeHandlers = $element.filter(VISIBILITY_CHANGE_SELECTOR).add($element.find(VISIBILITY_CHANGE_SELECTOR));\r\n for (var i = 0; i < changeHandlers.length; i++) {\r\n eventsEngine.triggerHandler(changeHandlers[i], eventName)\r\n }\r\n }\r\n};\r\nvar uniqueId = function() {\r\n var counter = 0;\r\n return function(prefix) {\r\n return (prefix || \"\") + counter++\r\n }\r\n}();\r\nvar dataOptionsAttributeName = \"data-options\";\r\nvar getElementOptions = function(element) {\r\n var optionsString = $(element).attr(dataOptionsAttributeName) || \"\";\r\n return config().optionsParser(optionsString)\r\n};\r\nvar createComponents = function(elements, componentTypes) {\r\n var result = [],\r\n selector = \"[\" + dataOptionsAttributeName + \"]\";\r\n var $items = elements.find(selector).add(elements.filter(selector));\r\n $items.each(function(index, element) {\r\n var $element = $(element),\r\n options = getElementOptions(element);\r\n for (var componentName in options) {\r\n if (!componentTypes || inArray(componentName, componentTypes) > -1) {\r\n if ($element[componentName]) {\r\n $element[componentName](options[componentName]);\r\n result.push($element[componentName](\"instance\"))\r\n }\r\n }\r\n }\r\n });\r\n return result\r\n};\r\nvar createMarkupFromString = function(str) {\r\n if (!window.WinJS) {\r\n return $(htmlParser.parseHTML(str))\r\n }\r\n var tempElement = $(\"
\");\r\n window.WinJS.Utilities.setInnerHTMLUnsafe(tempElement.get(0), str);\r\n return tempElement.contents()\r\n};\r\nvar extractTemplateMarkup = function(element) {\r\n element = $(element);\r\n var templateTag = element.length && element.filter(function() {\r\n var $node = $(this);\r\n return $node.is(\"script[type]\") && $node.attr(\"type\").indexOf(\"script\") < 0\r\n });\r\n if (templateTag.length) {\r\n return templateTag.eq(0).html()\r\n } else {\r\n element = $(\"
\").append(element);\r\n return element.html()\r\n }\r\n};\r\nvar normalizeTemplateElement = function normalizeTemplateElement(element) {\r\n var $element = isDefined(element) && (element.nodeType || isRenderer(element)) ? $(element) : $(\"
\").html(element).contents();\r\n if (1 === $element.length) {\r\n if ($element.is(\"script\")) {\r\n $element = normalizeTemplateElement($element.html().trim())\r\n } else {\r\n if ($element.is(\"table\")) {\r\n $element = $element.children(\"tbody\").contents()\r\n }\r\n }\r\n }\r\n return $element\r\n};\r\nvar clipboardText = function(event, text) {\r\n var clipboard = event.originalEvent && event.originalEvent.clipboardData || window.clipboardData;\r\n if (1 === arguments.length) {\r\n return clipboard && clipboard.getData(\"Text\")\r\n }\r\n clipboard && clipboard.setData(\"Text\", text)\r\n};\r\nvar contains = function(container, element) {\r\n if (!element) {\r\n return false\r\n }\r\n element = domAdapter.isTextNode(element) ? element.parentNode : element;\r\n return domAdapter.isDocument(container) ? container.documentElement.contains(element) : container.contains(element)\r\n};\r\nvar getPublicElement = function($element) {\r\n return elementStrategy($element)\r\n};\r\nvar setPublicElementWrapper = function(value) {\r\n elementStrategy = value\r\n};\r\nsetPublicElementWrapper(function(element) {\r\n return element && element.get(0)\r\n});\r\nvar createTextElementHiddenCopy = function(element, text, options) {\r\n var elementStyles = window.getComputedStyle($(element).get(0));\r\n var includePaddings = options && options.includePaddings;\r\n return $(\"
\").text(text).css({\r\n fontStyle: elementStyles.fontStyle,\r\n fontVariant: elementStyles.fontVariant,\r\n fontWeight: elementStyles.fontWeight,\r\n fontSize: elementStyles.fontSize,\r\n fontFamily: elementStyles.fontFamily,\r\n letterSpacing: elementStyles.letterSpacing,\r\n border: elementStyles.border,\r\n paddingTop: includePaddings ? elementStyles.paddingTop : \"\",\r\n paddingRight: includePaddings ? elementStyles.paddingRight : \"\",\r\n paddingBottom: includePaddings ? elementStyles.paddingBottom : \"\",\r\n paddingLeft: includePaddings ? elementStyles.paddingLeft : \"\",\r\n visibility: \"hidden\",\r\n whiteSpace: \"nowrap\",\r\n position: \"absolute\",\r\n \"float\": \"left\"\r\n })\r\n};\r\nexports.setPublicElementWrapper = setPublicElementWrapper;\r\nexports.resetActiveElement = resetActiveElement;\r\nexports.createMarkupFromString = createMarkupFromString;\r\nexports.triggerShownEvent = triggerVisibilityChangeEvent(\"dxshown\");\r\nexports.triggerHidingEvent = triggerVisibilityChangeEvent(\"dxhiding\");\r\nexports.triggerResizeEvent = triggerVisibilityChangeEvent(\"dxresize\");\r\nexports.getElementOptions = getElementOptions;\r\nexports.createComponents = createComponents;\r\nexports.extractTemplateMarkup = extractTemplateMarkup;\r\nexports.normalizeTemplateElement = normalizeTemplateElement;\r\nexports.clearSelection = clearSelection;\r\nexports.uniqueId = uniqueId;\r\nexports.closestCommonParent = closestCommonParent;\r\nexports.clipboardText = clipboardText;\r\nexports.contains = contains;\r\nexports.getPublicElement = getPublicElement;\r\nexports.createTextElementHiddenCopy = createTextElementHiddenCopy;\r\n","export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}","/**\r\n * DevExtreme (core/errors.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar errorUtils = require(\"./utils/error\");\r\nmodule.exports = errorUtils({\r\n E0001: \"Method is not implemented\",\r\n E0002: \"Member name collision: {0}\",\r\n E0003: \"A class must be instantiated using the 'new' keyword\",\r\n E0004: \"The NAME property of the component is not specified\",\r\n E0005: \"Unknown device\",\r\n E0006: \"Unknown endpoint key is requested\",\r\n E0007: \"'Invalidate' method is called outside the update transaction\",\r\n E0008: \"Type of the option name is not appropriate to create an action\",\r\n E0009: \"Component '{0}' has not been initialized for an element\",\r\n E0010: \"Animation configuration with the '{0}' type requires '{1}' configuration as {2}\",\r\n E0011: \"Unknown animation type '{0}'\",\r\n E0012: \"jQuery version is too old. Please upgrade jQuery to 1.10.0 or later\",\r\n E0013: \"KnockoutJS version is too old. Please upgrade KnockoutJS to 2.3.0 or later\",\r\n E0014: \"The 'release' method shouldn't be called for an unlocked Lock object\",\r\n E0015: \"Queued task returned an unexpected result\",\r\n E0017: \"Event namespace is not defined\",\r\n E0018: \"DevExpress.ui.DevExpressPopup widget is required\",\r\n E0020: \"Template engine '{0}' is not supported\",\r\n E0021: \"Unknown theme is set: {0}\",\r\n E0022: \"LINK[rel=DevExpress-theme] tags must go before DevExpress included scripts\",\r\n E0023: \"Template name is not specified\",\r\n E0024: \"DevExtreme bundle already included\",\r\n E0025: \"Unexpected argument type\",\r\n E0100: \"Unknown validation type is detected\",\r\n E0101: \"Misconfigured range validation rule is detected\",\r\n E0102: \"Misconfigured comparison validation rule is detected\",\r\n E0110: \"Unknown validation group is detected\",\r\n E0120: \"Adapter for a DevExpressValidator component cannot be configured\",\r\n E0121: \"The 'customItem' field of the 'onCustomItemCreating' function's parameter should contain a custom item or Promise that is resolved after the item is created.\",\r\n W0000: \"'{0}' is deprecated in {1}. {2}\",\r\n W0001: \"{0} - '{1}' option is deprecated in {2}. {3}\",\r\n W0002: \"{0} - '{1}' method is deprecated in {2}. {3}\",\r\n W0003: \"{0} - '{1}' property is deprecated in {2}. {3}\",\r\n W0004: \"Timeout for theme loading is over: {0}\",\r\n W0005: \"'{0}' event is deprecated in {1}. {2}\",\r\n W0006: \"Invalid recurrence rule: '{0}'\",\r\n W0007: \"'{0}' Globalize culture is not defined\",\r\n W0008: \"Invalid view name: '{0}'\",\r\n W0009: \"Invalid time zone name: '{0}'\",\r\n W0010: \"{0} is deprecated in {1}. {2}\",\r\n W0011: \"Number parsing is invoked while the parser is not defined\",\r\n W0012: \"Date parsing is invoked while the parser is not defined\",\r\n W0013: \"'{0}' file is deprecated in {1}. {2}\",\r\n W0014: \"{0} - '{1}' type is deprecated in {2}. {3}\",\r\n W0015: \"Instead of returning a value from the '{0}' function, write it into the '{1}' field of the function's parameter.\",\r\n W0016: 'The \"{0}\" option does not accept the \"{1}\" value since v.{2}. {3}.'\r\n});\r\n","function isAbsolute(pathname) {\n return pathname.charAt(0) === '/';\n}\n\n// About 1.5x faster than the two-arg version of Array#splice()\nfunction spliceOne(list, index) {\n for (var i = index, k = i + 1, n = list.length; k < n; i += 1, k += 1) {\n list[i] = list[k];\n }\n\n list.pop();\n}\n\n// This implementation is based heavily on node's url.parse\nfunction resolvePathname(to) {\n var from = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n\n var toParts = to && to.split('/') || [];\n var fromParts = from && from.split('/') || [];\n\n var isToAbs = to && isAbsolute(to);\n var isFromAbs = from && isAbsolute(from);\n var mustEndAbs = isToAbs || isFromAbs;\n\n if (to && isAbsolute(to)) {\n // to is absolute\n fromParts = toParts;\n } else if (toParts.length) {\n // to is relative, drop the filename\n fromParts.pop();\n fromParts = fromParts.concat(toParts);\n }\n\n if (!fromParts.length) return '/';\n\n var hasTrailingSlash = void 0;\n if (fromParts.length) {\n var last = fromParts[fromParts.length - 1];\n hasTrailingSlash = last === '.' || last === '..' || last === '';\n } else {\n hasTrailingSlash = false;\n }\n\n var up = 0;\n for (var i = fromParts.length; i >= 0; i--) {\n var part = fromParts[i];\n\n if (part === '.') {\n spliceOne(fromParts, i);\n } else if (part === '..') {\n spliceOne(fromParts, i);\n up++;\n } else if (up) {\n spliceOne(fromParts, i);\n up--;\n }\n }\n\n if (!mustEndAbs) for (; up--; up) {\n fromParts.unshift('..');\n }if (mustEndAbs && fromParts[0] !== '' && (!fromParts[0] || !isAbsolute(fromParts[0]))) fromParts.unshift('');\n\n var result = fromParts.join('/');\n\n if (hasTrailingSlash && result.substr(-1) !== '/') result += '/';\n\n return result;\n}\n\nexport default resolvePathname;","var _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nfunction valueEqual(a, b) {\n if (a === b) return true;\n\n if (a == null || b == null) return false;\n\n if (Array.isArray(a)) {\n return Array.isArray(b) && a.length === b.length && a.every(function (item, index) {\n return valueEqual(item, b[index]);\n });\n }\n\n var aType = typeof a === 'undefined' ? 'undefined' : _typeof(a);\n var bType = typeof b === 'undefined' ? 'undefined' : _typeof(b);\n\n if (aType !== bType) return false;\n\n if (aType === 'object') {\n var aValue = a.valueOf();\n var bValue = b.valueOf();\n\n if (aValue !== a || bValue !== b) return valueEqual(aValue, bValue);\n\n var aKeys = Object.keys(a);\n var bKeys = Object.keys(b);\n\n if (aKeys.length !== bKeys.length) return false;\n\n return aKeys.every(function (key) {\n return valueEqual(a[key], b[key]);\n });\n }\n\n return false;\n}\n\nexport default valueEqual;","import _extends from '@babel/runtime/helpers/esm/extends';\nimport resolvePathname from 'resolve-pathname';\nimport valueEqual from 'value-equal';\nimport warning from 'tiny-warning';\nimport invariant from 'tiny-invariant';\n\nfunction addLeadingSlash(path) {\n return path.charAt(0) === '/' ? path : '/' + path;\n}\nfunction stripLeadingSlash(path) {\n return path.charAt(0) === '/' ? path.substr(1) : path;\n}\nfunction hasBasename(path, prefix) {\n return new RegExp('^' + prefix + '(\\\\/|\\\\?|#|$)', 'i').test(path);\n}\nfunction stripBasename(path, prefix) {\n return hasBasename(path, prefix) ? path.substr(prefix.length) : path;\n}\nfunction stripTrailingSlash(path) {\n return path.charAt(path.length - 1) === '/' ? path.slice(0, -1) : path;\n}\nfunction parsePath(path) {\n var pathname = path || '/';\n var search = '';\n var hash = '';\n var hashIndex = pathname.indexOf('#');\n\n if (hashIndex !== -1) {\n hash = pathname.substr(hashIndex);\n pathname = pathname.substr(0, hashIndex);\n }\n\n var searchIndex = pathname.indexOf('?');\n\n if (searchIndex !== -1) {\n search = pathname.substr(searchIndex);\n pathname = pathname.substr(0, searchIndex);\n }\n\n return {\n pathname: pathname,\n search: search === '?' ? '' : search,\n hash: hash === '#' ? '' : hash\n };\n}\nfunction createPath(location) {\n var pathname = location.pathname,\n search = location.search,\n hash = location.hash;\n var path = pathname || '/';\n if (search && search !== '?') path += search.charAt(0) === '?' ? search : \"?\" + search;\n if (hash && hash !== '#') path += hash.charAt(0) === '#' ? hash : \"#\" + hash;\n return path;\n}\n\nfunction createLocation(path, state, key, currentLocation) {\n var location;\n\n if (typeof path === 'string') {\n // Two-arg form: push(path, state)\n location = parsePath(path);\n location.state = state;\n } else {\n // One-arg form: push(location)\n location = _extends({}, path);\n if (location.pathname === undefined) location.pathname = '';\n\n if (location.search) {\n if (location.search.charAt(0) !== '?') location.search = '?' + location.search;\n } else {\n location.search = '';\n }\n\n if (location.hash) {\n if (location.hash.charAt(0) !== '#') location.hash = '#' + location.hash;\n } else {\n location.hash = '';\n }\n\n if (state !== undefined && location.state === undefined) location.state = state;\n }\n\n try {\n location.pathname = decodeURI(location.pathname);\n } catch (e) {\n if (e instanceof URIError) {\n throw new URIError('Pathname \"' + location.pathname + '\" could not be decoded. ' + 'This is likely caused by an invalid percent-encoding.');\n } else {\n throw e;\n }\n }\n\n if (key) location.key = key;\n\n if (currentLocation) {\n // Resolve incomplete/relative pathname relative to current location.\n if (!location.pathname) {\n location.pathname = currentLocation.pathname;\n } else if (location.pathname.charAt(0) !== '/') {\n location.pathname = resolvePathname(location.pathname, currentLocation.pathname);\n }\n } else {\n // When there is no prior location and pathname is empty, set it to /\n if (!location.pathname) {\n location.pathname = '/';\n }\n }\n\n return location;\n}\nfunction locationsAreEqual(a, b) {\n return a.pathname === b.pathname && a.search === b.search && a.hash === b.hash && a.key === b.key && valueEqual(a.state, b.state);\n}\n\nfunction createTransitionManager() {\n var prompt = null;\n\n function setPrompt(nextPrompt) {\n process.env.NODE_ENV !== \"production\" ? warning(prompt == null, 'A history supports only one prompt at a time') : void 0;\n prompt = nextPrompt;\n return function () {\n if (prompt === nextPrompt) prompt = null;\n };\n }\n\n function confirmTransitionTo(location, action, getUserConfirmation, callback) {\n // TODO: If another transition starts while we're still confirming\n // the previous one, we may end up in a weird state. Figure out the\n // best way to handle this.\n if (prompt != null) {\n var result = typeof prompt === 'function' ? prompt(location, action) : prompt;\n\n if (typeof result === 'string') {\n if (typeof getUserConfirmation === 'function') {\n getUserConfirmation(result, callback);\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(false, 'A history needs a getUserConfirmation function in order to use a prompt message') : void 0;\n callback(true);\n }\n } else {\n // Return false from a transition hook to cancel the transition.\n callback(result !== false);\n }\n } else {\n callback(true);\n }\n }\n\n var listeners = [];\n\n function appendListener(fn) {\n var isActive = true;\n\n function listener() {\n if (isActive) fn.apply(void 0, arguments);\n }\n\n listeners.push(listener);\n return function () {\n isActive = false;\n listeners = listeners.filter(function (item) {\n return item !== listener;\n });\n };\n }\n\n function notifyListeners() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n listeners.forEach(function (listener) {\n return listener.apply(void 0, args);\n });\n }\n\n return {\n setPrompt: setPrompt,\n confirmTransitionTo: confirmTransitionTo,\n appendListener: appendListener,\n notifyListeners: notifyListeners\n };\n}\n\nvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\nfunction getConfirmation(message, callback) {\n callback(window.confirm(message)); // eslint-disable-line no-alert\n}\n/**\n * Returns true if the HTML5 history API is supported. Taken from Modernizr.\n *\n * https://github.com/Modernizr/Modernizr/blob/master/LICENSE\n * https://github.com/Modernizr/Modernizr/blob/master/feature-detects/history.js\n * changed to avoid false negatives for Windows Phones: https://github.com/reactjs/react-router/issues/586\n */\n\nfunction supportsHistory() {\n var ua = window.navigator.userAgent;\n if ((ua.indexOf('Android 2.') !== -1 || ua.indexOf('Android 4.0') !== -1) && ua.indexOf('Mobile Safari') !== -1 && ua.indexOf('Chrome') === -1 && ua.indexOf('Windows Phone') === -1) return false;\n return window.history && 'pushState' in window.history;\n}\n/**\n * Returns true if browser fires popstate on hash change.\n * IE10 and IE11 do not.\n */\n\nfunction supportsPopStateOnHashChange() {\n return window.navigator.userAgent.indexOf('Trident') === -1;\n}\n/**\n * Returns false if using go(n) with hash history causes a full page reload.\n */\n\nfunction supportsGoWithoutReloadUsingHash() {\n return window.navigator.userAgent.indexOf('Firefox') === -1;\n}\n/**\n * Returns true if a given popstate event is an extraneous WebKit event.\n * Accounts for the fact that Chrome on iOS fires real popstate events\n * containing undefined state when pressing the back button.\n */\n\nfunction isExtraneousPopstateEvent(event) {\n event.state === undefined && navigator.userAgent.indexOf('CriOS') === -1;\n}\n\nvar PopStateEvent = 'popstate';\nvar HashChangeEvent = 'hashchange';\n\nfunction getHistoryState() {\n try {\n return window.history.state || {};\n } catch (e) {\n // IE 11 sometimes throws when accessing window.history.state\n // See https://github.com/ReactTraining/history/pull/289\n return {};\n }\n}\n/**\n * Creates a history object that uses the HTML5 history API including\n * pushState, replaceState, and the popstate event.\n */\n\n\nfunction createBrowserHistory(props) {\n if (props === void 0) {\n props = {};\n }\n\n !canUseDOM ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Browser history needs a DOM') : invariant(false) : void 0;\n var globalHistory = window.history;\n var canUseHistory = supportsHistory();\n var needsHashChangeListener = !supportsPopStateOnHashChange();\n var _props = props,\n _props$forceRefresh = _props.forceRefresh,\n forceRefresh = _props$forceRefresh === void 0 ? false : _props$forceRefresh,\n _props$getUserConfirm = _props.getUserConfirmation,\n getUserConfirmation = _props$getUserConfirm === void 0 ? getConfirmation : _props$getUserConfirm,\n _props$keyLength = _props.keyLength,\n keyLength = _props$keyLength === void 0 ? 6 : _props$keyLength;\n var basename = props.basename ? stripTrailingSlash(addLeadingSlash(props.basename)) : '';\n\n function getDOMLocation(historyState) {\n var _ref = historyState || {},\n key = _ref.key,\n state = _ref.state;\n\n var _window$location = window.location,\n pathname = _window$location.pathname,\n search = _window$location.search,\n hash = _window$location.hash;\n var path = pathname + search + hash;\n process.env.NODE_ENV !== \"production\" ? warning(!basename || hasBasename(path, basename), 'You are attempting to use a basename on a page whose URL path does not begin ' + 'with the basename. Expected path \"' + path + '\" to begin with \"' + basename + '\".') : void 0;\n if (basename) path = stripBasename(path, basename);\n return createLocation(path, state, key);\n }\n\n function createKey() {\n return Math.random().toString(36).substr(2, keyLength);\n }\n\n var transitionManager = createTransitionManager();\n\n function setState(nextState) {\n _extends(history, nextState);\n\n history.length = globalHistory.length;\n transitionManager.notifyListeners(history.location, history.action);\n }\n\n function handlePopState(event) {\n // Ignore extraneous popstate events in WebKit.\n if (isExtraneousPopstateEvent(event)) return;\n handlePop(getDOMLocation(event.state));\n }\n\n function handleHashChange() {\n handlePop(getDOMLocation(getHistoryState()));\n }\n\n var forceNextPop = false;\n\n function handlePop(location) {\n if (forceNextPop) {\n forceNextPop = false;\n setState();\n } else {\n var action = 'POP';\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({\n action: action,\n location: location\n });\n } else {\n revertPop(location);\n }\n });\n }\n }\n\n function revertPop(fromLocation) {\n var toLocation = history.location; // TODO: We could probably make this more reliable by\n // keeping a list of keys we've seen in sessionStorage.\n // Instead, we just default to 0 for keys we don't know.\n\n var toIndex = allKeys.indexOf(toLocation.key);\n if (toIndex === -1) toIndex = 0;\n var fromIndex = allKeys.indexOf(fromLocation.key);\n if (fromIndex === -1) fromIndex = 0;\n var delta = toIndex - fromIndex;\n\n if (delta) {\n forceNextPop = true;\n go(delta);\n }\n }\n\n var initialLocation = getDOMLocation(getHistoryState());\n var allKeys = [initialLocation.key]; // Public interface\n\n function createHref(location) {\n return basename + createPath(location);\n }\n\n function push(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to push when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'PUSH';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var href = createHref(location);\n var key = location.key,\n state = location.state;\n\n if (canUseHistory) {\n globalHistory.pushState({\n key: key,\n state: state\n }, null, href);\n\n if (forceRefresh) {\n window.location.href = href;\n } else {\n var prevIndex = allKeys.indexOf(history.location.key);\n var nextKeys = allKeys.slice(0, prevIndex === -1 ? 0 : prevIndex + 1);\n nextKeys.push(location.key);\n allKeys = nextKeys;\n setState({\n action: action,\n location: location\n });\n }\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Browser history cannot push state in browsers that do not support HTML5 history') : void 0;\n window.location.href = href;\n }\n });\n }\n\n function replace(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to replace when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'REPLACE';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var href = createHref(location);\n var key = location.key,\n state = location.state;\n\n if (canUseHistory) {\n globalHistory.replaceState({\n key: key,\n state: state\n }, null, href);\n\n if (forceRefresh) {\n window.location.replace(href);\n } else {\n var prevIndex = allKeys.indexOf(history.location.key);\n if (prevIndex !== -1) allKeys[prevIndex] = location.key;\n setState({\n action: action,\n location: location\n });\n }\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Browser history cannot replace state in browsers that do not support HTML5 history') : void 0;\n window.location.replace(href);\n }\n });\n }\n\n function go(n) {\n globalHistory.go(n);\n }\n\n function goBack() {\n go(-1);\n }\n\n function goForward() {\n go(1);\n }\n\n var listenerCount = 0;\n\n function checkDOMListeners(delta) {\n listenerCount += delta;\n\n if (listenerCount === 1 && delta === 1) {\n window.addEventListener(PopStateEvent, handlePopState);\n if (needsHashChangeListener) window.addEventListener(HashChangeEvent, handleHashChange);\n } else if (listenerCount === 0) {\n window.removeEventListener(PopStateEvent, handlePopState);\n if (needsHashChangeListener) window.removeEventListener(HashChangeEvent, handleHashChange);\n }\n }\n\n var isBlocked = false;\n\n function block(prompt) {\n if (prompt === void 0) {\n prompt = false;\n }\n\n var unblock = transitionManager.setPrompt(prompt);\n\n if (!isBlocked) {\n checkDOMListeners(1);\n isBlocked = true;\n }\n\n return function () {\n if (isBlocked) {\n isBlocked = false;\n checkDOMListeners(-1);\n }\n\n return unblock();\n };\n }\n\n function listen(listener) {\n var unlisten = transitionManager.appendListener(listener);\n checkDOMListeners(1);\n return function () {\n checkDOMListeners(-1);\n unlisten();\n };\n }\n\n var history = {\n length: globalHistory.length,\n action: 'POP',\n location: initialLocation,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n block: block,\n listen: listen\n };\n return history;\n}\n\nvar HashChangeEvent$1 = 'hashchange';\nvar HashPathCoders = {\n hashbang: {\n encodePath: function encodePath(path) {\n return path.charAt(0) === '!' ? path : '!/' + stripLeadingSlash(path);\n },\n decodePath: function decodePath(path) {\n return path.charAt(0) === '!' ? path.substr(1) : path;\n }\n },\n noslash: {\n encodePath: stripLeadingSlash,\n decodePath: addLeadingSlash\n },\n slash: {\n encodePath: addLeadingSlash,\n decodePath: addLeadingSlash\n }\n};\n\nfunction getHashPath() {\n // We can't use window.location.hash here because it's not\n // consistent across browsers - Firefox will pre-decode it!\n var href = window.location.href;\n var hashIndex = href.indexOf('#');\n return hashIndex === -1 ? '' : href.substring(hashIndex + 1);\n}\n\nfunction pushHashPath(path) {\n window.location.hash = path;\n}\n\nfunction replaceHashPath(path) {\n var hashIndex = window.location.href.indexOf('#');\n window.location.replace(window.location.href.slice(0, hashIndex >= 0 ? hashIndex : 0) + '#' + path);\n}\n\nfunction createHashHistory(props) {\n if (props === void 0) {\n props = {};\n }\n\n !canUseDOM ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Hash history needs a DOM') : invariant(false) : void 0;\n var globalHistory = window.history;\n var canGoWithoutReload = supportsGoWithoutReloadUsingHash();\n var _props = props,\n _props$getUserConfirm = _props.getUserConfirmation,\n getUserConfirmation = _props$getUserConfirm === void 0 ? getConfirmation : _props$getUserConfirm,\n _props$hashType = _props.hashType,\n hashType = _props$hashType === void 0 ? 'slash' : _props$hashType;\n var basename = props.basename ? stripTrailingSlash(addLeadingSlash(props.basename)) : '';\n var _HashPathCoders$hashT = HashPathCoders[hashType],\n encodePath = _HashPathCoders$hashT.encodePath,\n decodePath = _HashPathCoders$hashT.decodePath;\n\n function getDOMLocation() {\n var path = decodePath(getHashPath());\n process.env.NODE_ENV !== \"production\" ? warning(!basename || hasBasename(path, basename), 'You are attempting to use a basename on a page whose URL path does not begin ' + 'with the basename. Expected path \"' + path + '\" to begin with \"' + basename + '\".') : void 0;\n if (basename) path = stripBasename(path, basename);\n return createLocation(path);\n }\n\n var transitionManager = createTransitionManager();\n\n function setState(nextState) {\n _extends(history, nextState);\n\n history.length = globalHistory.length;\n transitionManager.notifyListeners(history.location, history.action);\n }\n\n var forceNextPop = false;\n var ignorePath = null;\n\n function handleHashChange() {\n var path = getHashPath();\n var encodedPath = encodePath(path);\n\n if (path !== encodedPath) {\n // Ensure we always have a properly-encoded hash.\n replaceHashPath(encodedPath);\n } else {\n var location = getDOMLocation();\n var prevLocation = history.location;\n if (!forceNextPop && locationsAreEqual(prevLocation, location)) return; // A hashchange doesn't always == location change.\n\n if (ignorePath === createPath(location)) return; // Ignore this change; we already setState in push/replace.\n\n ignorePath = null;\n handlePop(location);\n }\n }\n\n function handlePop(location) {\n if (forceNextPop) {\n forceNextPop = false;\n setState();\n } else {\n var action = 'POP';\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({\n action: action,\n location: location\n });\n } else {\n revertPop(location);\n }\n });\n }\n }\n\n function revertPop(fromLocation) {\n var toLocation = history.location; // TODO: We could probably make this more reliable by\n // keeping a list of paths we've seen in sessionStorage.\n // Instead, we just default to 0 for paths we don't know.\n\n var toIndex = allPaths.lastIndexOf(createPath(toLocation));\n if (toIndex === -1) toIndex = 0;\n var fromIndex = allPaths.lastIndexOf(createPath(fromLocation));\n if (fromIndex === -1) fromIndex = 0;\n var delta = toIndex - fromIndex;\n\n if (delta) {\n forceNextPop = true;\n go(delta);\n }\n } // Ensure the hash is encoded properly before doing anything else.\n\n\n var path = getHashPath();\n var encodedPath = encodePath(path);\n if (path !== encodedPath) replaceHashPath(encodedPath);\n var initialLocation = getDOMLocation();\n var allPaths = [createPath(initialLocation)]; // Public interface\n\n function createHref(location) {\n return '#' + encodePath(basename + createPath(location));\n }\n\n function push(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Hash history cannot push state; it is ignored') : void 0;\n var action = 'PUSH';\n var location = createLocation(path, undefined, undefined, history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var path = createPath(location);\n var encodedPath = encodePath(basename + path);\n var hashChanged = getHashPath() !== encodedPath;\n\n if (hashChanged) {\n // We cannot tell if a hashchange was caused by a PUSH, so we'd\n // rather setState here and ignore the hashchange. The caveat here\n // is that other hash histories in the page will consider it a POP.\n ignorePath = path;\n pushHashPath(encodedPath);\n var prevIndex = allPaths.lastIndexOf(createPath(history.location));\n var nextPaths = allPaths.slice(0, prevIndex === -1 ? 0 : prevIndex + 1);\n nextPaths.push(path);\n allPaths = nextPaths;\n setState({\n action: action,\n location: location\n });\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(false, 'Hash history cannot PUSH the same path; a new entry will not be added to the history stack') : void 0;\n setState();\n }\n });\n }\n\n function replace(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Hash history cannot replace state; it is ignored') : void 0;\n var action = 'REPLACE';\n var location = createLocation(path, undefined, undefined, history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var path = createPath(location);\n var encodedPath = encodePath(basename + path);\n var hashChanged = getHashPath() !== encodedPath;\n\n if (hashChanged) {\n // We cannot tell if a hashchange was caused by a REPLACE, so we'd\n // rather setState here and ignore the hashchange. The caveat here\n // is that other hash histories in the page will consider it a POP.\n ignorePath = path;\n replaceHashPath(encodedPath);\n }\n\n var prevIndex = allPaths.indexOf(createPath(history.location));\n if (prevIndex !== -1) allPaths[prevIndex] = path;\n setState({\n action: action,\n location: location\n });\n });\n }\n\n function go(n) {\n process.env.NODE_ENV !== \"production\" ? warning(canGoWithoutReload, 'Hash history go(n) causes a full page reload in this browser') : void 0;\n globalHistory.go(n);\n }\n\n function goBack() {\n go(-1);\n }\n\n function goForward() {\n go(1);\n }\n\n var listenerCount = 0;\n\n function checkDOMListeners(delta) {\n listenerCount += delta;\n\n if (listenerCount === 1 && delta === 1) {\n window.addEventListener(HashChangeEvent$1, handleHashChange);\n } else if (listenerCount === 0) {\n window.removeEventListener(HashChangeEvent$1, handleHashChange);\n }\n }\n\n var isBlocked = false;\n\n function block(prompt) {\n if (prompt === void 0) {\n prompt = false;\n }\n\n var unblock = transitionManager.setPrompt(prompt);\n\n if (!isBlocked) {\n checkDOMListeners(1);\n isBlocked = true;\n }\n\n return function () {\n if (isBlocked) {\n isBlocked = false;\n checkDOMListeners(-1);\n }\n\n return unblock();\n };\n }\n\n function listen(listener) {\n var unlisten = transitionManager.appendListener(listener);\n checkDOMListeners(1);\n return function () {\n checkDOMListeners(-1);\n unlisten();\n };\n }\n\n var history = {\n length: globalHistory.length,\n action: 'POP',\n location: initialLocation,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n block: block,\n listen: listen\n };\n return history;\n}\n\nfunction clamp(n, lowerBound, upperBound) {\n return Math.min(Math.max(n, lowerBound), upperBound);\n}\n/**\n * Creates a history object that stores locations in memory.\n */\n\n\nfunction createMemoryHistory(props) {\n if (props === void 0) {\n props = {};\n }\n\n var _props = props,\n getUserConfirmation = _props.getUserConfirmation,\n _props$initialEntries = _props.initialEntries,\n initialEntries = _props$initialEntries === void 0 ? ['/'] : _props$initialEntries,\n _props$initialIndex = _props.initialIndex,\n initialIndex = _props$initialIndex === void 0 ? 0 : _props$initialIndex,\n _props$keyLength = _props.keyLength,\n keyLength = _props$keyLength === void 0 ? 6 : _props$keyLength;\n var transitionManager = createTransitionManager();\n\n function setState(nextState) {\n _extends(history, nextState);\n\n history.length = history.entries.length;\n transitionManager.notifyListeners(history.location, history.action);\n }\n\n function createKey() {\n return Math.random().toString(36).substr(2, keyLength);\n }\n\n var index = clamp(initialIndex, 0, initialEntries.length - 1);\n var entries = initialEntries.map(function (entry) {\n return typeof entry === 'string' ? createLocation(entry, undefined, createKey()) : createLocation(entry, undefined, entry.key || createKey());\n }); // Public interface\n\n var createHref = createPath;\n\n function push(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to push when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'PUSH';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var prevIndex = history.index;\n var nextIndex = prevIndex + 1;\n var nextEntries = history.entries.slice(0);\n\n if (nextEntries.length > nextIndex) {\n nextEntries.splice(nextIndex, nextEntries.length - nextIndex, location);\n } else {\n nextEntries.push(location);\n }\n\n setState({\n action: action,\n location: location,\n index: nextIndex,\n entries: nextEntries\n });\n });\n }\n\n function replace(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to replace when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'REPLACE';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n history.entries[history.index] = location;\n setState({\n action: action,\n location: location\n });\n });\n }\n\n function go(n) {\n var nextIndex = clamp(history.index + n, 0, history.entries.length - 1);\n var action = 'POP';\n var location = history.entries[nextIndex];\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({\n action: action,\n location: location,\n index: nextIndex\n });\n } else {\n // Mimic the behavior of DOM histories by\n // causing a render after a cancelled POP.\n setState();\n }\n });\n }\n\n function goBack() {\n go(-1);\n }\n\n function goForward() {\n go(1);\n }\n\n function canGo(n) {\n var nextIndex = history.index + n;\n return nextIndex >= 0 && nextIndex < history.entries.length;\n }\n\n function block(prompt) {\n if (prompt === void 0) {\n prompt = false;\n }\n\n return transitionManager.setPrompt(prompt);\n }\n\n function listen(listener) {\n return transitionManager.appendListener(listener);\n }\n\n var history = {\n length: entries.length,\n action: 'POP',\n location: entries[index],\n index: index,\n entries: entries,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n canGo: canGo,\n block: block,\n listen: listen\n };\n return history;\n}\n\nexport { createBrowserHistory, createHashHistory, createMemoryHistory, createLocation, locationsAreEqual, parsePath, createPath };\n","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}","/**\r\n * DevExtreme (core/devices.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar $ = require(\"../core/renderer\"),\r\n windowUtils = require(\"./utils/window\"),\r\n navigator = windowUtils.getNavigator(),\r\n window = windowUtils.getWindow(),\r\n extend = require(\"./utils/extend\").extend,\r\n isPlainObject = require(\"./utils/type\").isPlainObject,\r\n each = require(\"./utils/iterator\").each,\r\n Class = require(\"./class\"),\r\n errors = require(\"./errors\"),\r\n Callbacks = require(\"./utils/callbacks\"),\r\n resizeCallbacks = require(\"./utils/resize_callbacks\"),\r\n EventsMixin = require(\"./events_mixin\"),\r\n SessionStorage = require(\"./utils/storage\").sessionStorage,\r\n viewPort = require(\"./utils/view_port\"),\r\n Config = require(\"./config\");\r\nvar KNOWN_UA_TABLE = {\r\n iPhone: \"iPhone\",\r\n iPhone5: \"iPhone\",\r\n iPhone6: \"iPhone\",\r\n iPhone6plus: \"iPhone\",\r\n iPad: \"iPad\",\r\n iPadMini: \"iPad Mini\",\r\n androidPhone: \"Android Mobile\",\r\n androidTablet: \"Android\",\r\n win8: \"MSAppHost\",\r\n win8Phone: \"Windows Phone 8.0\",\r\n msSurface: \"Windows ARM Tablet PC\",\r\n desktop: \"desktop\",\r\n win10Phone: \"Windows Phone 10.0\",\r\n win10: \"MSAppHost/3.0\"\r\n};\r\nvar DEFAULT_DEVICE = {\r\n deviceType: \"desktop\",\r\n platform: \"generic\",\r\n version: [],\r\n phone: false,\r\n tablet: false,\r\n android: false,\r\n ios: false,\r\n win: false,\r\n generic: true,\r\n grade: \"A\",\r\n mac: false\r\n};\r\nvar uaParsers = {\r\n win: function(userAgent) {\r\n var isPhone = /windows phone/i.test(userAgent) || userAgent.match(/WPDesktop/),\r\n isTablet = !isPhone && /Windows(.*)arm(.*)Tablet PC/i.test(userAgent),\r\n isDesktop = !isPhone && !isTablet && /msapphost/i.test(userAgent);\r\n if (!(isPhone || isTablet || isDesktop)) {\r\n return\r\n }\r\n var matches = userAgent.match(/windows phone (\\d+).(\\d+)/i) || userAgent.match(/windows nt (\\d+).(\\d+)/i),\r\n version = [];\r\n if (matches) {\r\n version.push(parseInt(matches[1], 10), parseInt(matches[2], 10))\r\n } else {\r\n matches = userAgent.match(/msapphost(\\/(\\d+).(\\d+))?/i);\r\n matches && version.push(3 === parseInt(matches[2], 10) ? 10 : 8)\r\n }\r\n return {\r\n deviceType: isPhone ? \"phone\" : isTablet ? \"tablet\" : \"desktop\",\r\n platform: \"win\",\r\n version: version,\r\n grade: \"A\"\r\n }\r\n },\r\n ios: function(userAgent) {\r\n if (!/ip(hone|od|ad)/i.test(userAgent)) {\r\n return\r\n }\r\n var isPhone = /ip(hone|od)/i.test(userAgent),\r\n matches = userAgent.match(/os (\\d+)_(\\d+)_?(\\d+)?/i),\r\n version = matches ? [parseInt(matches[1], 10), parseInt(matches[2], 10), parseInt(matches[3] || 0, 10)] : [],\r\n isIPhone4 = 480 === window.screen.height,\r\n grade = isIPhone4 ? \"B\" : \"A\";\r\n return {\r\n deviceType: isPhone ? \"phone\" : \"tablet\",\r\n platform: \"ios\",\r\n version: version,\r\n grade: grade\r\n }\r\n },\r\n android: function(userAgent) {\r\n if (!/android|htc_|silk/i.test(userAgent)) {\r\n return\r\n }\r\n var isPhone = /mobile/i.test(userAgent),\r\n matches = userAgent.match(/android (\\d+)\\.?(\\d+)?\\.?(\\d+)?/i),\r\n version = matches ? [parseInt(matches[1], 10), parseInt(matches[2] || 0, 10), parseInt(matches[3] || 0, 10)] : [],\r\n worseThan4_4 = version.length > 1 && (version[0] < 4 || 4 === version[0] && version[1] < 4),\r\n grade = worseThan4_4 ? \"B\" : \"A\";\r\n return {\r\n deviceType: isPhone ? \"phone\" : \"tablet\",\r\n platform: \"android\",\r\n version: version,\r\n grade: grade\r\n }\r\n }\r\n};\r\nvar Devices = Class.inherit({\r\n ctor: function(options) {\r\n this._window = options && options.window || window;\r\n this._realDevice = this._getDevice();\r\n this._currentDevice = void 0;\r\n this._currentOrientation = void 0;\r\n this.changed = Callbacks();\r\n if (windowUtils.hasWindow()) {\r\n this._recalculateOrientation();\r\n resizeCallbacks.add(this._recalculateOrientation.bind(this))\r\n }\r\n },\r\n current: function(deviceOrName) {\r\n if (deviceOrName) {\r\n this._currentDevice = this._getDevice(deviceOrName);\r\n this._forced = true;\r\n this.changed.fire();\r\n return\r\n }\r\n if (!this._currentDevice) {\r\n deviceOrName = void 0;\r\n try {\r\n deviceOrName = this._getDeviceOrNameFromWindowScope()\r\n } catch (e) {\r\n deviceOrName = this._getDeviceNameFromSessionStorage()\r\n } finally {\r\n if (!deviceOrName) {\r\n deviceOrName = this._getDeviceNameFromSessionStorage()\r\n }\r\n if (deviceOrName) {\r\n this._forced = true\r\n }\r\n }\r\n this._currentDevice = this._getDevice(deviceOrName)\r\n }\r\n return this._currentDevice\r\n },\r\n real: function() {\r\n return extend({}, this._realDevice)\r\n },\r\n orientation: function() {\r\n return this._currentOrientation\r\n },\r\n isForced: function() {\r\n return this._forced\r\n },\r\n isRippleEmulator: function() {\r\n return !!this._window.tinyHippos\r\n },\r\n _getCssClasses: function(device) {\r\n var result = [];\r\n var realDevice = this._realDevice;\r\n device = device || this.current();\r\n if (device.deviceType) {\r\n result.push(\"dx-device-\" + device.deviceType);\r\n if (\"desktop\" !== device.deviceType) {\r\n result.push(\"dx-device-mobile\")\r\n }\r\n }\r\n result.push(\"dx-device-\" + realDevice.platform);\r\n if (realDevice.version && realDevice.version.length) {\r\n result.push(\"dx-device-\" + realDevice.platform + \"-\" + realDevice.version[0])\r\n }\r\n if (devices.isSimulator()) {\r\n result.push(\"dx-simulator\")\r\n }\r\n if (Config().rtlEnabled) {\r\n result.push(\"dx-rtl\")\r\n }\r\n return result\r\n },\r\n attachCssClasses: function(element, device) {\r\n this._deviceClasses = this._getCssClasses(device).join(\" \");\r\n $(element).addClass(this._deviceClasses)\r\n },\r\n detachCssClasses: function(element) {\r\n $(element).removeClass(this._deviceClasses)\r\n },\r\n isSimulator: function() {\r\n try {\r\n return this._isSimulator || windowUtils.hasWindow() && this._window.top !== this._window.self && this._window.top[\"dx-force-device\"] || this.isRippleEmulator()\r\n } catch (e) {\r\n return false\r\n }\r\n },\r\n forceSimulator: function() {\r\n this._isSimulator = true\r\n },\r\n _getDevice: function(deviceName) {\r\n if (\"genericPhone\" === deviceName) {\r\n deviceName = {\r\n deviceType: \"phone\",\r\n platform: \"generic\",\r\n generic: true\r\n }\r\n }\r\n if (isPlainObject(deviceName)) {\r\n return this._fromConfig(deviceName)\r\n } else {\r\n var ua;\r\n if (deviceName) {\r\n ua = KNOWN_UA_TABLE[deviceName];\r\n if (!ua) {\r\n throw errors.Error(\"E0005\")\r\n }\r\n } else {\r\n ua = navigator.userAgent\r\n }\r\n return this._fromUA(ua)\r\n }\r\n },\r\n _getDeviceOrNameFromWindowScope: function() {\r\n var result;\r\n if (windowUtils.hasWindow() && (this._window.top[\"dx-force-device-object\"] || this._window.top[\"dx-force-device\"])) {\r\n result = this._window.top[\"dx-force-device-object\"] || this._window.top[\"dx-force-device\"]\r\n }\r\n return result\r\n },\r\n _getDeviceNameFromSessionStorage: function() {\r\n var sessionStorage = SessionStorage();\r\n if (!sessionStorage) {\r\n return\r\n }\r\n var deviceOrName = sessionStorage.getItem(\"dx-force-device\");\r\n try {\r\n return JSON.parse(deviceOrName)\r\n } catch (ex) {\r\n return deviceOrName\r\n }\r\n },\r\n _fromConfig: function(config) {\r\n var result = extend({}, DEFAULT_DEVICE, this._currentDevice, config),\r\n shortcuts = {\r\n phone: \"phone\" === result.deviceType,\r\n tablet: \"tablet\" === result.deviceType,\r\n android: \"android\" === result.platform,\r\n ios: \"ios\" === result.platform,\r\n win: \"win\" === result.platform,\r\n generic: \"generic\" === result.platform\r\n };\r\n return extend(result, shortcuts)\r\n },\r\n _fromUA: function(ua) {\r\n var config;\r\n each(uaParsers, function(platform, parser) {\r\n config = parser(ua);\r\n return !config\r\n });\r\n if (config) {\r\n return this._fromConfig(config)\r\n }\r\n var isMac = /(mac os)/.test(ua.toLowerCase()),\r\n deviceWithOS = DEFAULT_DEVICE;\r\n deviceWithOS.mac = isMac;\r\n return deviceWithOS\r\n },\r\n _changeOrientation: function() {\r\n var $window = $(this._window),\r\n orientation = $window.height() > $window.width() ? \"portrait\" : \"landscape\";\r\n if (this._currentOrientation === orientation) {\r\n return\r\n }\r\n this._currentOrientation = orientation;\r\n this.fireEvent(\"orientationChanged\", [{\r\n orientation: orientation\r\n }])\r\n },\r\n _recalculateOrientation: function() {\r\n var windowWidth = $(this._window).width();\r\n if (this._currentWidth === windowWidth) {\r\n return\r\n }\r\n this._currentWidth = windowWidth;\r\n this._changeOrientation()\r\n }\r\n}).include(EventsMixin);\r\nvar devices = new Devices;\r\nviewPort.changeCallback.add(function(viewPort, prevViewport) {\r\n devices.detachCssClasses(prevViewport);\r\n devices.attachCssClasses(viewPort)\r\n});\r\nif (!devices.isForced() && \"win\" === devices.current().platform) {\r\n devices.current({\r\n version: [10]\r\n })\r\n}\r\nmodule.exports = devices;\r\nmodule.exports.default = module.exports;\r\n","var isProduction = process.env.NODE_ENV === 'production';\nvar prefix = 'Invariant failed';\nfunction invariant(condition, message) {\n if (condition) {\n return;\n }\n\n if (isProduction) {\n throw new Error(prefix);\n } else {\n throw new Error(prefix + \": \" + (message || ''));\n }\n}\n\nexport default invariant;\n","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","export default function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}","import _typeof from \"../../helpers/esm/typeof\";\nimport assertThisInitialized from \"./assertThisInitialized\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return assertThisInitialized(self);\n}","import getPrototypeOf from \"./getPrototypeOf\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct\";\nimport possibleConstructorReturn from \"./possibleConstructorReturn\";\nexport default function _createSuper(Derived) {\n return function () {\n var Super = getPrototypeOf(Derived),\n result;\n\n if (isNativeReflectConstruct()) {\n var NewTarget = getPrototypeOf(this).constructor;\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return possibleConstructorReturn(this, result);\n };\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","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","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\n}","/**\r\n * DevExtreme (core/utils/callbacks.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar Callback = function(options) {\r\n this._options = options || {};\r\n this._list = [];\r\n this._queue = [];\r\n this._firing = false;\r\n this._fired = false;\r\n this._firingIndexes = []\r\n};\r\nCallback.prototype._fireCore = function(context, args) {\r\n var firingIndexes = this._firingIndexes,\r\n list = this._list,\r\n stopOnFalse = this._options.stopOnFalse,\r\n step = firingIndexes.length;\r\n for (firingIndexes[step] = 0; firingIndexes[step] < list.length; firingIndexes[step]++) {\r\n var result = list[firingIndexes[step]].apply(context, args);\r\n if (false === result && stopOnFalse) {\r\n break\r\n }\r\n }\r\n firingIndexes.pop()\r\n};\r\nCallback.prototype.add = function(fn) {\r\n if (\"function\" === typeof fn && (!this._options.unique || !this.has(fn))) {\r\n this._list.push(fn)\r\n }\r\n return this\r\n};\r\nCallback.prototype.remove = function(fn) {\r\n var list = this._list,\r\n firingIndexes = this._firingIndexes,\r\n index = list.indexOf(fn);\r\n if (index > -1) {\r\n list.splice(index, 1);\r\n if (this._firing && firingIndexes.length) {\r\n for (var step = 0; step < firingIndexes.length; step++) {\r\n if (index <= firingIndexes[step]) {\r\n firingIndexes[step]--\r\n }\r\n }\r\n }\r\n }\r\n return this\r\n};\r\nCallback.prototype.has = function(fn) {\r\n var list = this._list;\r\n return fn ? list.indexOf(fn) > -1 : !!list.length\r\n};\r\nCallback.prototype.empty = function(fn) {\r\n this._list = [];\r\n return this\r\n};\r\nCallback.prototype.fireWith = function(context, args) {\r\n var queue = this._queue;\r\n args = args || [];\r\n args = args.slice ? args.slice() : args;\r\n if (this._options.syncStrategy) {\r\n this._firing = true;\r\n this._fireCore(context, args)\r\n } else {\r\n queue.push([context, args]);\r\n if (this._firing) {\r\n return\r\n }\r\n this._firing = true;\r\n while (queue.length) {\r\n var memory = queue.shift();\r\n this._fireCore(memory[0], memory[1])\r\n }\r\n }\r\n this._firing = false;\r\n this._fired = true;\r\n return this\r\n};\r\nCallback.prototype.fire = function() {\r\n this.fireWith(this, arguments)\r\n};\r\nCallback.prototype.fired = function() {\r\n return this._fired\r\n};\r\nvar Callbacks = function(options) {\r\n return new Callback(options)\r\n};\r\nmodule.exports = Callbacks;\r\n","/**\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\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\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')(ReactIs.isElement, 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","/**\r\n * DevExtreme (core/config.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _extend = require(\"./utils/extend\");\r\nvar _extend2 = _interopRequireDefault(_extend);\r\nvar _errors = require(\"./errors\");\r\nvar _errors2 = _interopRequireDefault(_errors);\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar config = {\r\n rtlEnabled: false,\r\n defaultCurrency: \"USD\",\r\n oDataFilterToLower: true,\r\n serverDecimalSeparator: \".\",\r\n decimalSeparator: \".\",\r\n thousandsSeparator: \",\",\r\n forceIsoDateParsing: true,\r\n wrapActionsBeforeExecute: true,\r\n useLegacyStoreResult: false,\r\n useJQuery: void 0,\r\n editorStylingMode: void 0,\r\n useLegacyVisibleIndex: false,\r\n floatingActionButtonConfig: {\r\n icon: \"add\",\r\n closeIcon: \"close\",\r\n position: {\r\n at: \"right bottom\",\r\n my: \"right bottom\",\r\n offset: {\r\n x: -16,\r\n y: -16\r\n }\r\n },\r\n maxSpeedDialActionCount: 5\r\n },\r\n optionsParser: function(optionsString) {\r\n if (\"{\" !== optionsString.trim().charAt(0)) {\r\n optionsString = \"{\" + optionsString + \"}\"\r\n }\r\n try {\r\n return new Function(\"return \" + optionsString)()\r\n } catch (ex) {\r\n throw _errors2.default.Error(\"E3018\", ex, optionsString)\r\n }\r\n }\r\n};\r\nvar configMethod = function() {\r\n if (!arguments.length) {\r\n return config\r\n }\r\n _extend2.default.extend(config, arguments.length <= 0 ? void 0 : arguments[0])\r\n};\r\nif (\"undefined\" !== typeof DevExpress && DevExpress.config) {\r\n configMethod(DevExpress.config)\r\n}\r\nmodule.exports = configMethod;\r\nmodule.exports.default = module.exports;\r\n","/**\r\n * DevExtreme (core/utils/dependency_injector.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nmodule.exports = function(object) {\r\n var extend = require(\"./extend\").extend,\r\n isFunction = require(\"./type\").isFunction,\r\n each = require(\"./iterator\").each,\r\n Class = require(\"../class\");\r\n var BaseClass = Class.inherit(object),\r\n InjectedClass = BaseClass,\r\n instance = new InjectedClass(object),\r\n initialFields = {};\r\n var injectFields = function(injectionObject, initial) {\r\n each(injectionObject, function(key) {\r\n if (isFunction(instance[key])) {\r\n if (initial || !object[key]) {\r\n object[key] = function() {\r\n return instance[key].apply(object, arguments)\r\n }\r\n }\r\n } else {\r\n if (initial) {\r\n initialFields[key] = object[key]\r\n }\r\n object[key] = instance[key]\r\n }\r\n })\r\n };\r\n injectFields(object, true);\r\n object.inject = function(injectionObject) {\r\n InjectedClass = InjectedClass.inherit(injectionObject);\r\n instance = new InjectedClass;\r\n injectFields(injectionObject)\r\n };\r\n object.resetInjection = function() {\r\n extend(object, initialFields);\r\n InjectedClass = BaseClass;\r\n instance = new BaseClass\r\n };\r\n return object\r\n};\r\n","/**\r\n * DevExtreme (core/utils/data.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar errors = require(\"../errors\"),\r\n Class = require(\"../class\"),\r\n objectUtils = require(\"./object\"),\r\n typeUtils = require(\"./type\"),\r\n each = require(\"./iterator\").each,\r\n variableWrapper = require(\"./variable_wrapper\"),\r\n unwrapVariable = variableWrapper.unwrap,\r\n isWrapped = variableWrapper.isWrapped,\r\n assign = variableWrapper.assign;\r\nvar bracketsToDots = function(expr) {\r\n return expr.replace(/\\[/g, \".\").replace(/\\]/g, \"\")\r\n};\r\nvar readPropValue = function(obj, propName, options) {\r\n options = options || {};\r\n if (\"this\" === propName) {\r\n return unwrap(obj, options)\r\n }\r\n return unwrap(obj[propName], options)\r\n};\r\nvar assignPropValue = function(obj, propName, value, options) {\r\n if (\"this\" === propName) {\r\n throw new errors.Error(\"E4016\")\r\n }\r\n var propValue = obj[propName];\r\n if (options.unwrapObservables && isWrapped(propValue)) {\r\n assign(propValue, value)\r\n } else {\r\n obj[propName] = value\r\n }\r\n};\r\nvar prepareOptions = function(options) {\r\n options = options || {};\r\n options.unwrapObservables = void 0 !== options.unwrapObservables ? options.unwrapObservables : true;\r\n return options\r\n};\r\nvar unwrap = function(value, options) {\r\n return options.unwrapObservables ? unwrapVariable(value) : value\r\n};\r\nvar compileGetter = function(expr) {\r\n if (arguments.length > 1) {\r\n expr = [].slice.call(arguments)\r\n }\r\n if (!expr || \"this\" === expr) {\r\n return function(obj) {\r\n return obj\r\n }\r\n }\r\n if (\"string\" === typeof expr) {\r\n expr = bracketsToDots(expr);\r\n var path = expr.split(\".\");\r\n return function(obj, options) {\r\n options = prepareOptions(options);\r\n var functionAsIs = options.functionsAsIs,\r\n hasDefaultValue = \"defaultValue\" in options,\r\n current = unwrap(obj, options);\r\n for (var i = 0; i < path.length; i++) {\r\n if (!current) {\r\n if (null == current && hasDefaultValue) {\r\n return options.defaultValue\r\n }\r\n break\r\n }\r\n var pathPart = path[i];\r\n if (hasDefaultValue && typeUtils.isObject(current) && !(pathPart in current)) {\r\n return options.defaultValue\r\n }\r\n var next = unwrap(current[pathPart], options);\r\n if (!functionAsIs && typeUtils.isFunction(next)) {\r\n next = next.call(current)\r\n }\r\n current = next\r\n }\r\n return current\r\n }\r\n }\r\n if (Array.isArray(expr)) {\r\n return combineGetters(expr)\r\n }\r\n if (typeUtils.isFunction(expr)) {\r\n return expr\r\n }\r\n};\r\nvar combineGetters = function(getters) {\r\n var compiledGetters = {};\r\n for (var i = 0, l = getters.length; i < l; i++) {\r\n var getter = getters[i];\r\n compiledGetters[getter] = compileGetter(getter)\r\n }\r\n return function(obj, options) {\r\n var result;\r\n each(compiledGetters, function(name) {\r\n var current, path, pathItem, last, i, value = this(obj, options);\r\n if (void 0 === value) {\r\n return\r\n }\r\n current = result || (result = {});\r\n path = name.split(\".\");\r\n last = path.length - 1;\r\n for (i = 0; i < last; i++) {\r\n pathItem = path[i];\r\n if (!(pathItem in current)) {\r\n current[pathItem] = {}\r\n }\r\n current = current[pathItem]\r\n }\r\n current[path[last]] = value\r\n });\r\n return result\r\n }\r\n};\r\nvar ensurePropValueDefined = function(obj, propName, value, options) {\r\n if (typeUtils.isDefined(value)) {\r\n return value\r\n }\r\n var newValue = {};\r\n assignPropValue(obj, propName, newValue, options);\r\n return newValue\r\n};\r\nvar compileSetter = function(expr) {\r\n expr = bracketsToDots(expr || \"this\").split(\".\");\r\n var lastLevelIndex = expr.length - 1;\r\n return function(obj, value, options) {\r\n options = prepareOptions(options);\r\n var currentValue = unwrap(obj, options);\r\n expr.forEach(function(propertyName, levelIndex) {\r\n var propertyValue = readPropValue(currentValue, propertyName, options),\r\n isPropertyFunc = !options.functionsAsIs && typeUtils.isFunction(propertyValue) && !isWrapped(propertyValue);\r\n if (levelIndex === lastLevelIndex) {\r\n if (options.merge && typeUtils.isPlainObject(value) && (!typeUtils.isDefined(propertyValue) || typeUtils.isPlainObject(propertyValue))) {\r\n propertyValue = ensurePropValueDefined(currentValue, propertyName, propertyValue, options);\r\n objectUtils.deepExtendArraySafe(propertyValue, value, false, true)\r\n } else {\r\n if (isPropertyFunc) {\r\n currentValue[propertyName](value)\r\n } else {\r\n assignPropValue(currentValue, propertyName, value, options)\r\n }\r\n }\r\n } else {\r\n propertyValue = ensurePropValueDefined(currentValue, propertyName, propertyValue, options);\r\n if (isPropertyFunc) {\r\n propertyValue = propertyValue.call(currentValue)\r\n }\r\n currentValue = propertyValue\r\n }\r\n })\r\n }\r\n};\r\nvar toComparable = function(value, caseSensitive) {\r\n if (value instanceof Date) {\r\n return value.getTime()\r\n }\r\n if (value && value instanceof Class && value.valueOf) {\r\n return value.valueOf()\r\n }\r\n if (!caseSensitive && \"string\" === typeof value) {\r\n return value.toLowerCase()\r\n }\r\n return value\r\n};\r\nexports.compileGetter = compileGetter;\r\nexports.compileSetter = compileSetter;\r\nexports.toComparable = toComparable;\r\n","/**\r\n * DevExtreme (core/element_data.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar WeakMap = require(\"./polyfills/weak_map\");\r\nvar domAdapter = require(\"./dom_adapter\");\r\nvar eventsEngine = require(\"../events/core/events_engine\");\r\nvar MemorizedCallbacks = require(\"./memorized_callbacks\");\r\nvar dataMap = new WeakMap;\r\nvar strategy;\r\nvar strategyChanging = new MemorizedCallbacks;\r\nvar beforeCleanData = function() {};\r\nvar afterCleanData = function() {};\r\nvar setDataStrategy = exports.setDataStrategy = function(value) {\r\n strategyChanging.fire(value);\r\n strategy = value;\r\n var cleanData = strategy.cleanData;\r\n strategy.cleanData = function(nodes) {\r\n beforeCleanData(nodes);\r\n var result = cleanData.call(this, nodes);\r\n afterCleanData(nodes);\r\n return result\r\n }\r\n};\r\nsetDataStrategy({\r\n data: function() {\r\n var element = arguments[0];\r\n var key = arguments[1];\r\n var value = arguments[2];\r\n if (!element) {\r\n return\r\n }\r\n var elementData = dataMap.get(element);\r\n if (!elementData) {\r\n elementData = {};\r\n dataMap.set(element, elementData)\r\n }\r\n if (void 0 === key) {\r\n return elementData\r\n }\r\n if (2 === arguments.length) {\r\n return elementData[key]\r\n }\r\n elementData[key] = value;\r\n return value\r\n },\r\n removeData: function(element, key) {\r\n if (!element) {\r\n return\r\n }\r\n if (void 0 === key) {\r\n dataMap.delete(element)\r\n } else {\r\n var elementData = dataMap.get(element);\r\n if (elementData) {\r\n delete elementData[key]\r\n }\r\n }\r\n },\r\n cleanData: function(elements) {\r\n for (var i = 0; i < elements.length; i++) {\r\n eventsEngine.off(elements[i]);\r\n dataMap.delete(elements[i])\r\n }\r\n }\r\n});\r\nexports.setDataStrategy = setDataStrategy;\r\nexports.getDataStrategy = function() {\r\n return strategy\r\n};\r\nexports.data = function() {\r\n return strategy.data.apply(this, arguments)\r\n};\r\nexports.strategyChanging = strategyChanging;\r\nexports.beforeCleanData = function(callback) {\r\n beforeCleanData = callback\r\n};\r\nexports.afterCleanData = function(callback) {\r\n afterCleanData = callback\r\n};\r\nexports.cleanData = function(nodes) {\r\n return strategy.cleanData.call(this, nodes)\r\n};\r\nexports.removeData = function(element, key) {\r\n return strategy.removeData.call(this, element, key)\r\n};\r\nexports.cleanDataRecursive = function(element, cleanSelf) {\r\n if (!domAdapter.isElementNode(element)) {\r\n return\r\n }\r\n var childElements = element.getElementsByTagName(\"*\");\r\n strategy.cleanData(childElements);\r\n if (cleanSelf) {\r\n strategy.cleanData([element])\r\n }\r\n};\r\n","/**\r\n * DevExtreme (core/utils/ready_callbacks.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar domAdapter = require(\"../dom_adapter\");\r\nvar injector = require(\"./dependency_injector\");\r\nvar windowUtils = require(\"./window\");\r\nvar callOnce = require(\"./call_once\");\r\nvar callbacks = [];\r\nvar isReady = function() {\r\n return \"complete\" === domAdapter.getReadyState() || \"loading\" !== domAdapter.getReadyState() && !domAdapter.getDocumentElement().doScroll\r\n};\r\nvar subscribeReady = callOnce(function() {\r\n var removeListener = domAdapter.listen(domAdapter.getDocument(), \"DOMContentLoaded\", function() {\r\n readyCallbacks.fire();\r\n removeListener()\r\n })\r\n});\r\nvar readyCallbacks = {\r\n add: function(callback) {\r\n var hasWindow = windowUtils.hasWindow();\r\n if (hasWindow && isReady()) {\r\n callback()\r\n } else {\r\n callbacks.push(callback);\r\n hasWindow && subscribeReady()\r\n }\r\n },\r\n fire: function() {\r\n callbacks.forEach(function(callback) {\r\n return callback()\r\n });\r\n callbacks = []\r\n }\r\n};\r\nmodule.exports = injector(readyCallbacks);\r\n","/**\r\n * DevExtreme (core/utils/call_once.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar callOnce = function(handler) {\r\n var result;\r\n var _wrappedHandler = function() {\r\n result = handler.apply(this, arguments);\r\n _wrappedHandler = function() {\r\n return result\r\n };\r\n return result\r\n };\r\n return function() {\r\n return _wrappedHandler.apply(this, arguments)\r\n }\r\n};\r\nmodule.exports = callOnce;\r\n","import * as cookie from 'cookie';\r\nexport function hasDocumentCookie() {\r\n // Can we get/set cookies on document.cookie?\r\n return typeof document === 'object' && typeof document.cookie === 'string';\r\n}\r\nexport function cleanCookies() {\r\n document.cookie.split(';').forEach(function (c) {\r\n document.cookie = c\r\n .replace(/^ +/, '')\r\n .replace(/=.*/, '=;expires=' + new Date().toUTCString() + ';path=/');\r\n });\r\n}\r\nexport function parseCookies(cookies, options) {\r\n if (typeof cookies === 'string') {\r\n return cookie.parse(cookies, options);\r\n }\r\n else if (typeof cookies === 'object' && cookies !== null) {\r\n return cookies;\r\n }\r\n else {\r\n return {};\r\n }\r\n}\r\nexport function isParsingCookie(value, doNotParse) {\r\n if (typeof doNotParse === 'undefined') {\r\n // We guess if the cookie start with { or [, it has been serialized\r\n doNotParse =\r\n !value || (value[0] !== '{' && value[0] !== '[' && value[0] !== '\"');\r\n }\r\n return !doNotParse;\r\n}\r\nexport function readCookie(value, options) {\r\n if (options === void 0) { options = {}; }\r\n var cleanValue = cleanupCookieValue(value);\r\n if (isParsingCookie(cleanValue, options.doNotParse)) {\r\n try {\r\n return JSON.parse(cleanValue);\r\n }\r\n catch (e) {\r\n // At least we tried\r\n }\r\n }\r\n // Ignore clean value if we failed the deserialization\r\n // It is not relevant anymore to trim those values\r\n return value;\r\n}\r\nfunction cleanupCookieValue(value) {\r\n // express prepend j: before serializing a cookie\r\n if (value && value[0] === 'j' && value[1] === ':') {\r\n return value.substr(2);\r\n }\r\n return value;\r\n}\r\n","var __assign = (this && this.__assign) || function () {\r\n __assign = Object.assign || function(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\r\n t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n return __assign.apply(this, arguments);\r\n};\r\nimport * as cookie from 'cookie';\r\nimport { hasDocumentCookie, parseCookies, readCookie } from './utils';\r\nvar Cookies = /** @class */ (function () {\r\n function Cookies(cookies, options) {\r\n var _this = this;\r\n this.changeListeners = [];\r\n this.HAS_DOCUMENT_COOKIE = false;\r\n this.cookies = parseCookies(cookies, options);\r\n new Promise(function () {\r\n _this.HAS_DOCUMENT_COOKIE = hasDocumentCookie();\r\n }).catch(function () { });\r\n }\r\n Cookies.prototype._updateBrowserValues = function (parseOptions) {\r\n if (!this.HAS_DOCUMENT_COOKIE) {\r\n return;\r\n }\r\n this.cookies = cookie.parse(document.cookie, parseOptions);\r\n };\r\n Cookies.prototype._emitChange = function (params) {\r\n for (var i = 0; i < this.changeListeners.length; ++i) {\r\n this.changeListeners[i](params);\r\n }\r\n };\r\n Cookies.prototype.get = function (name, options, parseOptions) {\r\n if (options === void 0) { options = {}; }\r\n this._updateBrowserValues(parseOptions);\r\n return readCookie(this.cookies[name], options);\r\n };\r\n Cookies.prototype.getAll = function (options, parseOptions) {\r\n if (options === void 0) { options = {}; }\r\n this._updateBrowserValues(parseOptions);\r\n var result = {};\r\n for (var name_1 in this.cookies) {\r\n result[name_1] = readCookie(this.cookies[name_1], options);\r\n }\r\n return result;\r\n };\r\n Cookies.prototype.set = function (name, value, options) {\r\n var _a;\r\n if (typeof value === 'object') {\r\n value = JSON.stringify(value);\r\n }\r\n this.cookies = __assign(__assign({}, this.cookies), (_a = {}, _a[name] = value, _a));\r\n if (this.HAS_DOCUMENT_COOKIE) {\r\n document.cookie = cookie.serialize(name, value, options);\r\n }\r\n this._emitChange({ name: name, value: value, options: options });\r\n };\r\n Cookies.prototype.remove = function (name, options) {\r\n var finalOptions = (options = __assign(__assign({}, options), { expires: new Date(1970, 1, 1, 0, 0, 1), maxAge: 0 }));\r\n this.cookies = __assign({}, this.cookies);\r\n delete this.cookies[name];\r\n if (this.HAS_DOCUMENT_COOKIE) {\r\n document.cookie = cookie.serialize(name, '', finalOptions);\r\n }\r\n this._emitChange({ name: name, value: undefined, options: options });\r\n };\r\n Cookies.prototype.addChangeListener = function (callback) {\r\n this.changeListeners.push(callback);\r\n };\r\n Cookies.prototype.removeChangeListener = function (callback) {\r\n var idx = this.changeListeners.indexOf(callback);\r\n if (idx >= 0) {\r\n this.changeListeners.splice(idx, 1);\r\n }\r\n };\r\n return Cookies;\r\n}());\r\nexport default Cookies;\r\n","import Cookies from './Cookies';\r\nexport default Cookies;\r\n","/**\r\n * DevExtreme (data/utils.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _type = require(\"../core/utils/type\");\r\nvar _type2 = _interopRequireDefault(_type);\r\nvar _dom_adapter = require(\"../core/dom_adapter\");\r\nvar _dom_adapter2 = _interopRequireDefault(_dom_adapter);\r\nvar _ready_callbacks = require(\"../core/utils/ready_callbacks\");\r\nvar _window = require(\"../core/utils/window\");\r\nvar _iterator = require(\"../core/utils/iterator\");\r\nvar _data = require(\"../core/utils/data\");\r\nvar _deferred = require(\"../core/utils/deferred\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\n\r\nfunction _toConsumableArray(arr) {\r\n if (Array.isArray(arr)) {\r\n for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) {\r\n arr2[i] = arr[i]\r\n }\r\n return arr2\r\n } else {\r\n return Array.from(arr)\r\n }\r\n}\r\nvar XHR_ERROR_UNLOAD = \"DEVEXTREME_XHR_ERROR_UNLOAD\";\r\nvar normalizeBinaryCriterion = function(crit) {\r\n return [crit[0], crit.length < 3 ? \"=\" : String(crit[1]).toLowerCase(), crit.length < 2 ? true : crit[crit.length - 1]]\r\n};\r\nvar normalizeSortingInfo = function(info) {\r\n if (!Array.isArray(info)) {\r\n info = [info]\r\n }\r\n return (0, _iterator.map)(info, function(i) {\r\n var result = {\r\n selector: (0, _type.isFunction)(i) || \"string\" === typeof i ? i : i.getter || i.field || i.selector,\r\n desc: !!(i.desc || \"d\" === String(i.dir).charAt(0).toLowerCase())\r\n };\r\n if (i.compare) {\r\n result.compare = i.compare\r\n }\r\n return result\r\n })\r\n};\r\nvar errorMessageFromXhr = function() {\r\n var textStatusMessages = {\r\n timeout: \"Network connection timeout\",\r\n error: \"Unspecified network error\",\r\n parsererror: \"Unexpected server response\"\r\n };\r\n var explainTextStatus = function(textStatus) {\r\n var result = textStatusMessages[textStatus];\r\n if (!result) {\r\n return textStatus\r\n }\r\n return result\r\n };\r\n var unloading;\r\n (0, _ready_callbacks.add)(function() {\r\n var window = (0, _window.getWindow)();\r\n _dom_adapter2.default.listen(window, \"beforeunload\", function() {\r\n unloading = true\r\n })\r\n });\r\n return function(xhr, textStatus) {\r\n if (unloading) {\r\n return XHR_ERROR_UNLOAD\r\n }\r\n if (xhr.status < 400) {\r\n return explainTextStatus(textStatus)\r\n }\r\n return xhr.statusText\r\n }\r\n}();\r\nvar aggregators = {\r\n count: {\r\n seed: 0,\r\n step: function(count) {\r\n return 1 + count\r\n }\r\n },\r\n sum: {\r\n seed: 0,\r\n step: function(sum, item) {\r\n return sum + item\r\n }\r\n },\r\n min: {\r\n step: function(min, item) {\r\n return item < min ? item : min\r\n }\r\n },\r\n max: {\r\n step: function(max, item) {\r\n return item > max ? item : max\r\n }\r\n },\r\n avg: {\r\n seed: [0, 0],\r\n step: function(pair, value) {\r\n return [pair[0] + value, pair[1] + 1]\r\n },\r\n finalize: function(pair) {\r\n return pair[1] ? pair[0] / pair[1] : NaN\r\n }\r\n }\r\n};\r\nvar processRequestResultLock = function() {\r\n var lockDeferred, lockCount = 0;\r\n var obtain = function() {\r\n if (0 === lockCount) {\r\n lockDeferred = new _deferred.Deferred\r\n }\r\n lockCount++\r\n };\r\n var release = function() {\r\n lockCount--;\r\n if (lockCount < 1) {\r\n lockDeferred.resolve()\r\n }\r\n };\r\n var promise = function() {\r\n var deferred = 0 === lockCount ? (new _deferred.Deferred).resolve() : lockDeferred;\r\n return deferred.promise()\r\n };\r\n var reset = function() {\r\n lockCount = 0;\r\n if (lockDeferred) {\r\n lockDeferred.resolve()\r\n }\r\n };\r\n return {\r\n obtain: obtain,\r\n release: release,\r\n promise: promise,\r\n reset: reset\r\n }\r\n}();\r\n\r\nfunction isDisjunctiveOperator(condition) {\r\n return /^(or|\\|\\||\\|)$/i.test(condition)\r\n}\r\n\r\nfunction isConjunctiveOperator(condition) {\r\n return /^(and|&&|&)$/i.test(condition)\r\n}\r\nvar keysEqual = function(keyExpr, key1, key2) {\r\n if (Array.isArray(keyExpr)) {\r\n var name, names = (0, _iterator.map)(key1, function(v, k) {\r\n return k\r\n });\r\n for (var i = 0; i < names.length; i++) {\r\n name = names[i];\r\n if ((0, _data.toComparable)(key1[name], true) != (0, _data.toComparable)(key2[name], true)) {\r\n return false\r\n }\r\n }\r\n return true\r\n }\r\n return (0, _data.toComparable)(key1, true) == (0, _data.toComparable)(key2, true)\r\n};\r\nvar BASE64_CHARS = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";\r\nvar base64_encode = function(input) {\r\n if (!Array.isArray(input)) {\r\n input = stringToByteArray(String(input))\r\n }\r\n var result = \"\";\r\n\r\n function getBase64Char(index) {\r\n return BASE64_CHARS.charAt(index)\r\n }\r\n for (var i = 0; i < input.length; i += 3) {\r\n var octet1 = input[i],\r\n octet2 = input[i + 1],\r\n octet3 = input[i + 2];\r\n result += (0, _iterator.map)([octet1 >> 2, (3 & octet1) << 4 | octet2 >> 4, isNaN(octet2) ? 64 : (15 & octet2) << 2 | octet3 >> 6, isNaN(octet3) ? 64 : 63 & octet3], getBase64Char).join(\"\")\r\n }\r\n return result\r\n};\r\nvar stringToByteArray = function(str) {\r\n var code, i, bytes = [];\r\n for (i = 0; i < str.length; i++) {\r\n code = str.charCodeAt(i);\r\n if (code < 128) {\r\n bytes.push(code)\r\n } else {\r\n if (code < 2048) {\r\n bytes.push(192 + (code >> 6), 128 + (63 & code))\r\n } else {\r\n if (code < 65536) {\r\n bytes.push(224 + (code >> 12), 128 + (code >> 6 & 63), 128 + (63 & code))\r\n } else {\r\n if (code < 2097152) {\r\n bytes.push(240 + (code >> 18), 128 + (code >> 12 & 63), 128 + (code >> 6 & 63), 128 + (63 & code))\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return bytes\r\n};\r\nvar isUnaryOperation = function(crit) {\r\n return \"!\" === crit[0] && Array.isArray(crit[1])\r\n};\r\nvar isGroupOperator = function(value) {\r\n return \"and\" === value || \"or\" === value\r\n};\r\nvar isGroupCriterion = function(crit) {\r\n var first = crit[0],\r\n second = crit[1];\r\n if (Array.isArray(first)) {\r\n return true\r\n }\r\n if (_type2.default.isFunction(first)) {\r\n if (Array.isArray(second) || _type2.default.isFunction(second) || isGroupOperator(second)) {\r\n return true\r\n }\r\n }\r\n return false\r\n};\r\nvar trivialPromise = function() {\r\n var d = new _deferred.Deferred;\r\n return d.resolve.apply(d, arguments).promise()\r\n};\r\nvar rejectedPromise = function() {\r\n var d = new _deferred.Deferred;\r\n return d.reject.apply(d, arguments).promise()\r\n};\r\n\r\nfunction throttle(func, timeout) {\r\n var timeoutId, lastArgs;\r\n return function() {\r\n var _this = this;\r\n lastArgs = arguments;\r\n if (!timeoutId) {\r\n timeoutId = setTimeout(function() {\r\n timeoutId = void 0;\r\n if (lastArgs) {\r\n func.call(_this, lastArgs)\r\n }\r\n }, (0, _type.isFunction)(timeout) ? timeout() : timeout)\r\n }\r\n return timeoutId\r\n }\r\n}\r\n\r\nfunction throttleChanges(func, timeout) {\r\n var cache = [],\r\n throttled = throttle(function() {\r\n func.call(this, cache);\r\n cache = []\r\n }, timeout);\r\n return function(changes) {\r\n if (Array.isArray(changes)) {\r\n var _cache;\r\n (_cache = cache).push.apply(_cache, _toConsumableArray(changes))\r\n }\r\n return throttled.call(this, cache)\r\n }\r\n}\r\nvar utils = {\r\n XHR_ERROR_UNLOAD: XHR_ERROR_UNLOAD,\r\n normalizeBinaryCriterion: normalizeBinaryCriterion,\r\n normalizeSortingInfo: normalizeSortingInfo,\r\n errorMessageFromXhr: errorMessageFromXhr,\r\n aggregators: aggregators,\r\n keysEqual: keysEqual,\r\n throttleChanges: throttleChanges,\r\n trivialPromise: trivialPromise,\r\n rejectedPromise: rejectedPromise,\r\n isDisjunctiveOperator: isDisjunctiveOperator,\r\n isConjunctiveOperator: isConjunctiveOperator,\r\n processRequestResultLock: processRequestResultLock,\r\n isUnaryOperation: isUnaryOperation,\r\n isGroupCriterion: isGroupCriterion,\r\n base64_encode: base64_encode\r\n};\r\nmodule.exports = utils;\r\n","/**\r\n * DevExtreme (data/errors.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar errorUtils = require(\"../core/utils/error\"),\r\n coreErrors = require(\"../core/errors\"),\r\n handlers = {};\r\nvar errors = errorUtils(coreErrors.ERROR_MESSAGES, {\r\n E4000: \"[DevExpress.data]: {0}\",\r\n E4001: \"Unknown aggregating function is detected: '{0}'\",\r\n E4002: \"Unsupported OData protocol version is used\",\r\n E4003: \"Unknown filter operation is used: {0}\",\r\n E4004: \"The thenby() method is called before the sortby() method\",\r\n E4005: \"Store requires a key expression for this operation\",\r\n E4006: \"ArrayStore 'data' option must be an array\",\r\n E4007: \"Compound keys cannot be auto-generated\",\r\n E4008: \"Attempt to insert an item with the a duplicated key\",\r\n E4009: \"Data item cannot be found\",\r\n E4010: \"CustomStore does not support creating queries\",\r\n E4011: \"Custom Store method is not implemented or is not a function: {0}\",\r\n E4012: \"Custom Store method returns an invalid value: {0}\",\r\n E4013: \"Local Store requires the 'name' configuration option is specified\",\r\n E4014: \"Unknown data type is specified for ODataStore: {0}\",\r\n E4015: \"Unknown entity name or alias is used: {0}\",\r\n E4016: \"The compileSetter(expr) method is called with 'self' passed as a parameter\",\r\n E4017: \"Keys cannot be modified\",\r\n E4018: \"The server has returned a non-numeric value in a response to an item count request\",\r\n E4019: \"Mixing of group operators inside a single group of filter expression is not allowed\",\r\n E4020: \"Unknown store type is detected: {0}\",\r\n E4021: \"The server response does not provide the totalCount value\",\r\n E4022: \"The server response does not provide the groupCount value\",\r\n E4023: \"Could not parse the following XML: {0}\",\r\n W4000: \"Data returned from the server has an incorrect structure\",\r\n W4001: 'The {0} field is listed in both \"keyType\" and \"fieldTypes\". The value of \"fieldTypes\" is used.',\r\n W4002: \"Data loading has failed for some cells due to the following error: {0}\"\r\n});\r\n\r\nfunction handleError(error) {\r\n var id = \"E4000\";\r\n if (error && \"__id\" in error) {\r\n id = error.__id\r\n }\r\n errors.log(id, error)\r\n}\r\nvar errorHandler = null;\r\nvar _errorHandler = function(error) {\r\n if (handlers.errorHandler) {\r\n handlers.errorHandler(error)\r\n }\r\n};\r\nhandlers = {\r\n errors: errors,\r\n errorHandler: errorHandler,\r\n _errorHandler: _errorHandler\r\n};\r\nmodule.exports = handlers;\r\n","/**\r\n * DevExtreme (events/core/event_registrator.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar each = require(\"../../core/utils/iterator\").each,\r\n callbacks = require(\"./event_registrator_callbacks\");\r\nvar registerEvent = function(name, eventObject) {\r\n var strategy = {};\r\n if (\"noBubble\" in eventObject) {\r\n strategy.noBubble = eventObject.noBubble\r\n }\r\n if (\"bindType\" in eventObject) {\r\n strategy.bindType = eventObject.bindType\r\n }\r\n if (\"delegateType\" in eventObject) {\r\n strategy.delegateType = eventObject.delegateType\r\n }\r\n each([\"setup\", \"teardown\", \"add\", \"remove\", \"trigger\", \"handle\", \"_default\", \"dispose\"], function(_, methodName) {\r\n if (!eventObject[methodName]) {\r\n return\r\n }\r\n strategy[methodName] = function() {\r\n var args = [].slice.call(arguments);\r\n args.unshift(this);\r\n return eventObject[methodName].apply(eventObject, args)\r\n }\r\n });\r\n callbacks.fire(name, strategy)\r\n};\r\nregisterEvent.callbacks = callbacks;\r\nmodule.exports = registerEvent;\r\n","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}","/**\r\n * DevExtreme (core/component_registrator.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar $ = require(\"./renderer\");\r\nvar callbacks = require(\"./component_registrator_callbacks\");\r\nvar errors = require(\"./errors\");\r\nvar publicComponentUtils = require(\"./utils/public_component\");\r\nvar registerComponent = function(name, namespace, componentClass) {\r\n if (!componentClass) {\r\n componentClass = namespace\r\n } else {\r\n namespace[name] = componentClass\r\n }\r\n publicComponentUtils.name(componentClass, name);\r\n callbacks.fire(name, componentClass)\r\n};\r\nvar registerRendererComponent = function(name, componentClass) {\r\n $.fn[name] = function(options) {\r\n var result, isMemberInvoke = \"string\" === typeof options;\r\n if (isMemberInvoke) {\r\n var memberName = options,\r\n memberArgs = [].slice.call(arguments).slice(1);\r\n this.each(function() {\r\n var instance = componentClass.getInstance(this);\r\n if (!instance) {\r\n throw errors.Error(\"E0009\", name)\r\n }\r\n var member = instance[memberName],\r\n memberValue = member.apply(instance, memberArgs);\r\n if (void 0 === result) {\r\n result = memberValue\r\n }\r\n })\r\n } else {\r\n this.each(function() {\r\n var instance = componentClass.getInstance(this);\r\n if (instance) {\r\n instance.option(options)\r\n } else {\r\n new componentClass(this, options)\r\n }\r\n });\r\n result = this\r\n }\r\n return result\r\n }\r\n};\r\ncallbacks.add(registerRendererComponent);\r\nmodule.exports = registerComponent;\r\n","/**\r\n * DevExtreme (events/pointer.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _support = require(\"../core/utils/support\");\r\nvar _support2 = _interopRequireDefault(_support);\r\nvar _iterator = require(\"../core/utils/iterator\");\r\nvar _browser = require(\"../core/utils/browser\");\r\nvar _browser2 = _interopRequireDefault(_browser);\r\nvar _devices = require(\"../core/devices\");\r\nvar _devices2 = _interopRequireDefault(_devices);\r\nvar _event_registrator = require(\"./core/event_registrator\");\r\nvar _event_registrator2 = _interopRequireDefault(_event_registrator);\r\nvar _touch = require(\"./pointer/touch\");\r\nvar _touch2 = _interopRequireDefault(_touch);\r\nvar _mspointer = require(\"./pointer/mspointer\");\r\nvar _mspointer2 = _interopRequireDefault(_mspointer);\r\nvar _mouse = require(\"./pointer/mouse\");\r\nvar _mouse2 = _interopRequireDefault(_mouse);\r\nvar _mouse_and_touch = require(\"./pointer/mouse_and_touch\");\r\nvar _mouse_and_touch2 = _interopRequireDefault(_mouse_and_touch);\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar getStrategy = function(support, device, browser) {\r\n if (support.pointerEvents && browser.msie) {\r\n return _mspointer2.default\r\n }\r\n var tablet = device.tablet,\r\n phone = device.phone;\r\n if (support.touch && !(tablet || phone)) {\r\n return _mouse_and_touch2.default\r\n }\r\n if (support.touch) {\r\n return _touch2.default\r\n }\r\n return _mouse2.default\r\n};\r\nvar EventStrategy = getStrategy(_support2.default, _devices2.default.real(), _browser2.default);\r\n(0, _iterator.each)(EventStrategy.map, function(pointerEvent, originalEvents) {\r\n (0, _event_registrator2.default)(pointerEvent, new EventStrategy(pointerEvent, originalEvents))\r\n});\r\nvar pointer = {\r\n down: \"dxpointerdown\",\r\n up: \"dxpointerup\",\r\n move: \"dxpointermove\",\r\n cancel: \"dxpointercancel\",\r\n enter: \"dxpointerenter\",\r\n leave: \"dxpointerleave\",\r\n over: \"dxpointerover\",\r\n out: \"dxpointerout\"\r\n};\r\nmodule.exports = pointer;\r\n","/**\r\n * DevExtreme (animation/translator.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar dataUtils = require(\"../core/element_data\"),\r\n type = require(\"../core/utils/type\").type;\r\nvar TRANSLATOR_DATA_KEY = \"dxTranslator\",\r\n TRANSFORM_MATRIX_REGEX = /matrix(3d)?\\((.+?)\\)/,\r\n TRANSLATE_REGEX = /translate(?:3d)?\\((.+?)\\)/;\r\nvar locate = function($element) {\r\n var translate = getTranslate($element);\r\n return {\r\n left: translate.x,\r\n top: translate.y\r\n }\r\n};\r\nvar move = function($element, position) {\r\n var translate, left = position.left,\r\n top = position.top;\r\n if (void 0 === left) {\r\n translate = getTranslate($element);\r\n translate.y = top || 0\r\n } else {\r\n if (void 0 === top) {\r\n translate = getTranslate($element);\r\n translate.x = left || 0\r\n } else {\r\n translate = {\r\n x: left || 0,\r\n y: top || 0,\r\n z: 0\r\n };\r\n cacheTranslate($element, translate)\r\n }\r\n }\r\n $element.css({\r\n transform: getTranslateCss(translate)\r\n });\r\n if (isPercentValue(left) || isPercentValue(top)) {\r\n clearCache($element)\r\n }\r\n};\r\nvar isPercentValue = function(value) {\r\n return \"string\" === type(value) && \"%\" === value[value.length - 1]\r\n};\r\nvar getTranslate = function($element) {\r\n var result = $element.length ? dataUtils.data($element.get(0), TRANSLATOR_DATA_KEY) : null;\r\n if (!result) {\r\n var transformValue = $element.css(\"transform\") || getTranslateCss({\r\n x: 0,\r\n y: 0\r\n }),\r\n matrix = transformValue.match(TRANSFORM_MATRIX_REGEX),\r\n is3D = matrix && matrix[1];\r\n if (matrix) {\r\n matrix = matrix[2].split(\",\");\r\n if (\"3d\" === is3D) {\r\n matrix = matrix.slice(12, 15)\r\n } else {\r\n matrix.push(0);\r\n matrix = matrix.slice(4, 7)\r\n }\r\n } else {\r\n matrix = [0, 0, 0]\r\n }\r\n result = {\r\n x: parseFloat(matrix[0]),\r\n y: parseFloat(matrix[1]),\r\n z: parseFloat(matrix[2])\r\n };\r\n cacheTranslate($element, result)\r\n }\r\n return result\r\n};\r\nvar cacheTranslate = function($element, translate) {\r\n if ($element.length) {\r\n dataUtils.data($element.get(0), TRANSLATOR_DATA_KEY, translate)\r\n }\r\n};\r\nvar clearCache = function($element) {\r\n if ($element.length) {\r\n dataUtils.removeData($element.get(0), TRANSLATOR_DATA_KEY)\r\n }\r\n};\r\nvar resetPosition = function($element, finishTransition) {\r\n var originalTransition, stylesConfig = {\r\n left: 0,\r\n top: 0,\r\n transform: \"none\"\r\n };\r\n if (finishTransition) {\r\n originalTransition = $element.css(\"transition\");\r\n stylesConfig.transition = \"none\"\r\n }\r\n $element.css(stylesConfig);\r\n clearCache($element);\r\n if (finishTransition) {\r\n $element.get(0).offsetHeight;\r\n $element.css(\"transition\", originalTransition)\r\n }\r\n};\r\nvar parseTranslate = function(translateString) {\r\n var result = translateString.match(TRANSLATE_REGEX);\r\n if (!result || !result[1]) {\r\n return\r\n }\r\n result = result[1].split(\",\");\r\n result = {\r\n x: parseFloat(result[0]),\r\n y: parseFloat(result[1]),\r\n z: parseFloat(result[2])\r\n };\r\n return result\r\n};\r\nvar getTranslateCss = function(translate) {\r\n translate.x = translate.x || 0;\r\n translate.y = translate.y || 0;\r\n var xValueString = isPercentValue(translate.x) ? translate.x : translate.x + \"px\";\r\n var yValueString = isPercentValue(translate.y) ? translate.y : translate.y + \"px\";\r\n return \"translate(\" + xValueString + \", \" + yValueString + \")\"\r\n};\r\nexports.move = move;\r\nexports.locate = locate;\r\nexports.clearCache = clearCache;\r\nexports.parseTranslate = parseTranslate;\r\nexports.getTranslate = getTranslate;\r\nexports.getTranslateCss = getTranslateCss;\r\nexports.resetPosition = resetPosition;\r\n","/**\r\n * DevExtreme (core/utils/math.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar isExponential = require(\"./type\").isExponential;\r\nvar sign = function(value) {\r\n if (0 === value) {\r\n return 0\r\n }\r\n return value / Math.abs(value)\r\n};\r\nvar fitIntoRange = function(value, minValue, maxValue) {\r\n var isMinValueUndefined = !minValue && 0 !== minValue,\r\n isMaxValueUndefined = !maxValue && 0 !== maxValue;\r\n isMinValueUndefined && (minValue = !isMaxValueUndefined ? Math.min(value, maxValue) : value);\r\n isMaxValueUndefined && (maxValue = !isMinValueUndefined ? Math.max(value, minValue) : value);\r\n return Math.min(Math.max(value, minValue), maxValue)\r\n};\r\nvar inRange = function(value, minValue, maxValue) {\r\n return value >= minValue && value <= maxValue\r\n};\r\n\r\nfunction getExponent(value) {\r\n return Math.abs(parseInt(value.toExponential().split(\"e\")[1]))\r\n}\r\n\r\nfunction _isEdgeBug() {\r\n var value = 3e-4,\r\n correctValue = \"0.000300\",\r\n precisionValue = 3;\r\n return correctValue !== value.toPrecision(precisionValue)\r\n}\r\n\r\nfunction adjust(value, interval) {\r\n var separatedAdjustedValue, precision = getPrecision(interval || 0) + 2,\r\n separatedValue = value.toString().split(\".\"),\r\n sourceValue = value,\r\n absValue = Math.abs(value),\r\n isExponentValue = isExponential(value),\r\n integerPart = absValue > 1 ? 10 : 0;\r\n if (1 === separatedValue.length) {\r\n return value\r\n }\r\n if (!isExponentValue) {\r\n if (isExponential(interval)) {\r\n precision = separatedValue[0].length + getExponent(interval)\r\n }\r\n value = absValue;\r\n value = value - Math.floor(value) + integerPart\r\n }\r\n precision = _isEdgeBug() && getExponent(value) > 6 || precision > 7 ? 15 : 7;\r\n if (!isExponentValue) {\r\n separatedAdjustedValue = parseFloat(value.toPrecision(precision)).toString().split(\".\");\r\n if (separatedAdjustedValue[0] === integerPart.toString()) {\r\n return parseFloat(separatedValue[0] + \".\" + separatedAdjustedValue[1])\r\n }\r\n }\r\n return parseFloat(sourceValue.toPrecision(precision))\r\n}\r\n\r\nfunction getPrecision(value) {\r\n var mantissa, positionOfDelimiter, str = value.toString();\r\n if (str.indexOf(\".\") < 0) {\r\n return 0\r\n }\r\n mantissa = str.split(\".\");\r\n positionOfDelimiter = mantissa[1].indexOf(\"e\");\r\n return positionOfDelimiter >= 0 ? positionOfDelimiter : mantissa[1].length\r\n}\r\n\r\nfunction getRoot(x, n) {\r\n if (x < 0 && n % 2 !== 1) {\r\n return NaN\r\n }\r\n var y = Math.pow(Math.abs(x), 1 / n);\r\n return n % 2 === 1 && x < 0 ? -y : y\r\n}\r\n\r\nfunction solveCubicEquation(a, b, c, d) {\r\n var min = 1e-8;\r\n if (Math.abs(a) < min) {\r\n a = b;\r\n b = c;\r\n c = d;\r\n if (Math.abs(a) < min) {\r\n a = b;\r\n b = c;\r\n if (Math.abs(a) < min) {\r\n return []\r\n }\r\n return [-b / a]\r\n }\r\n var D2 = b * b - 4 * a * c;\r\n if (Math.abs(D2) < min) {\r\n return [-b / (2 * a)]\r\n } else {\r\n if (D2 > 0) {\r\n return [(-b + Math.sqrt(D2)) / (2 * a), (-b - Math.sqrt(D2)) / (2 * a)]\r\n }\r\n }\r\n return []\r\n }\r\n var p = (3 * a * c - b * b) / (3 * a * a);\r\n var q = (2 * b * b * b - 9 * a * b * c + 27 * a * a * d) / (27 * a * a * a);\r\n var roots;\r\n var u;\r\n if (Math.abs(p) < min) {\r\n roots = [getRoot(-q, 3)]\r\n } else {\r\n if (Math.abs(q) < min) {\r\n roots = [0].concat(p < 0 ? [Math.sqrt(-p), -Math.sqrt(-p)] : [])\r\n } else {\r\n var D3 = q * q / 4 + p * p * p / 27;\r\n if (Math.abs(D3) < min) {\r\n roots = [-1.5 * q / p, 3 * q / p]\r\n } else {\r\n if (D3 > 0) {\r\n u = getRoot(-q / 2 - Math.sqrt(D3), 3);\r\n roots = [u - p / (3 * u)]\r\n } else {\r\n u = 2 * Math.sqrt(-p / 3);\r\n var t = Math.acos(3 * q / p / u) / 3;\r\n var k = 2 * Math.PI / 3;\r\n roots = [u * Math.cos(t), u * Math.cos(t - k), u * Math.cos(t - 2 * k)]\r\n }\r\n }\r\n }\r\n }\r\n for (var i = 0; i < roots.length; i++) {\r\n roots[i] -= b / (3 * a)\r\n }\r\n return roots\r\n}\r\nexports.sign = sign;\r\nexports.fitIntoRange = fitIntoRange;\r\nexports.inRange = inRange;\r\nexports.adjust = adjust;\r\nexports.getPrecision = getPrecision;\r\nexports.getExponent = getExponent;\r\nexports.getRoot = getRoot;\r\nexports.solveCubicEquation = solveCubicEquation;\r\n","/**\r\n * DevExtreme (ui/widget/ui.template_base.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar $ = require(\"../../core/renderer\"),\r\n domAdapter = require(\"../../core/dom_adapter\"),\r\n Callbacks = require(\"../../core/utils/callbacks\"),\r\n domUtils = require(\"../../core/utils/dom\"),\r\n Class = require(\"../../core/class\"),\r\n abstract = Class.abstract;\r\nvar renderedCallbacks = Callbacks({\r\n syncStrategy: true\r\n});\r\nvar TemplateBase = Class.inherit({\r\n render: function(options) {\r\n options = options || {};\r\n var onRendered = options.onRendered;\r\n delete options.onRendered;\r\n var $result = this._renderCore(options);\r\n this._ensureResultInContainer($result, options.container);\r\n renderedCallbacks.fire($result, options.container);\r\n onRendered && onRendered();\r\n return $result\r\n },\r\n _ensureResultInContainer: function($result, container) {\r\n if (!container) {\r\n return\r\n }\r\n var $container = $(container);\r\n var resultInContainer = domUtils.contains($container.get(0), $result.get(0));\r\n $container.append($result);\r\n if (resultInContainer) {\r\n return\r\n }\r\n var resultInBody = domAdapter.getBody().contains($container.get(0));\r\n if (!resultInBody) {\r\n return\r\n }\r\n domUtils.triggerShownEvent($result)\r\n },\r\n _renderCore: abstract\r\n});\r\nmodule.exports = TemplateBase;\r\nmodule.exports.renderedCallbacks = renderedCallbacks;\r\n","/*!\n * cookie\n * Copyright(c) 2012-2014 Roman Shtylman\n * Copyright(c) 2015 Douglas Christopher Wilson\n * MIT Licensed\n */\n\n'use strict';\n\n/**\n * Module exports.\n * @public\n */\n\nexports.parse = parse;\nexports.serialize = serialize;\n\n/**\n * Module variables.\n * @private\n */\n\nvar decode = decodeURIComponent;\nvar encode = encodeURIComponent;\nvar pairSplitRegExp = /; */;\n\n/**\n * RegExp to match field-content in RFC 7230 sec 3.2\n *\n * field-content = field-vchar [ 1*( SP / HTAB ) field-vchar ]\n * field-vchar = VCHAR / obs-text\n * obs-text = %x80-FF\n */\n\nvar fieldContentRegExp = /^[\\u0009\\u0020-\\u007e\\u0080-\\u00ff]+$/;\n\n/**\n * Parse a cookie header.\n *\n * Parse the given cookie header string into an object\n * The object has the various cookies as keys(names) => values\n *\n * @param {string} str\n * @param {object} [options]\n * @return {object}\n * @public\n */\n\nfunction parse(str, options) {\n if (typeof str !== 'string') {\n throw new TypeError('argument str must be a string');\n }\n\n var obj = {}\n var opt = options || {};\n var pairs = str.split(pairSplitRegExp);\n var dec = opt.decode || decode;\n\n for (var i = 0; i < pairs.length; i++) {\n var pair = pairs[i];\n var eq_idx = pair.indexOf('=');\n\n // skip things that don't look like key=value\n if (eq_idx < 0) {\n continue;\n }\n\n var key = pair.substr(0, eq_idx).trim()\n var val = pair.substr(++eq_idx, pair.length).trim();\n\n // quoted values\n if ('\"' == val[0]) {\n val = val.slice(1, -1);\n }\n\n // only assign once\n if (undefined == obj[key]) {\n obj[key] = tryDecode(val, dec);\n }\n }\n\n return obj;\n}\n\n/**\n * Serialize data into a cookie header.\n *\n * Serialize the a name value pair into a cookie string suitable for\n * http headers. An optional options object specified cookie parameters.\n *\n * serialize('foo', 'bar', { httpOnly: true })\n * => \"foo=bar; httpOnly\"\n *\n * @param {string} name\n * @param {string} val\n * @param {object} [options]\n * @return {string}\n * @public\n */\n\nfunction serialize(name, val, options) {\n var opt = options || {};\n var enc = opt.encode || encode;\n\n if (typeof enc !== 'function') {\n throw new TypeError('option encode is invalid');\n }\n\n if (!fieldContentRegExp.test(name)) {\n throw new TypeError('argument name is invalid');\n }\n\n var value = enc(val);\n\n if (value && !fieldContentRegExp.test(value)) {\n throw new TypeError('argument val is invalid');\n }\n\n var str = name + '=' + value;\n\n if (null != opt.maxAge) {\n var maxAge = opt.maxAge - 0;\n if (isNaN(maxAge)) throw new Error('maxAge should be a Number');\n str += '; Max-Age=' + Math.floor(maxAge);\n }\n\n if (opt.domain) {\n if (!fieldContentRegExp.test(opt.domain)) {\n throw new TypeError('option domain is invalid');\n }\n\n str += '; Domain=' + opt.domain;\n }\n\n if (opt.path) {\n if (!fieldContentRegExp.test(opt.path)) {\n throw new TypeError('option path is invalid');\n }\n\n str += '; Path=' + opt.path;\n }\n\n if (opt.expires) {\n if (typeof opt.expires.toUTCString !== 'function') {\n throw new TypeError('option expires is invalid');\n }\n\n str += '; Expires=' + opt.expires.toUTCString();\n }\n\n if (opt.httpOnly) {\n str += '; HttpOnly';\n }\n\n if (opt.secure) {\n str += '; Secure';\n }\n\n if (opt.sameSite) {\n var sameSite = typeof opt.sameSite === 'string'\n ? opt.sameSite.toLowerCase() : opt.sameSite;\n\n switch (sameSite) {\n case true:\n str += '; SameSite=Strict';\n break;\n case 'lax':\n str += '; SameSite=Lax';\n break;\n case 'strict':\n str += '; SameSite=Strict';\n break;\n case 'none':\n str += '; SameSite=None';\n break;\n default:\n throw new TypeError('option sameSite is invalid');\n }\n }\n\n return str;\n}\n\n/**\n * Try decoding a string using a decoding function.\n *\n * @param {string} str\n * @param {function} decode\n * @private\n */\n\nfunction tryDecode(str, decode) {\n try {\n return decode(str);\n } catch (e) {\n return str;\n }\n}\n","/**\r\n * DevExtreme (ui/widget/ui.errors.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar errorUtils = require(\"../../core/utils/error\"),\r\n errors = require(\"../../core/errors\");\r\nmodule.exports = errorUtils(errors.ERROR_MESSAGES, {\r\n E1001: \"Module '{0}'. Controller '{1}' is already registered\",\r\n E1002: \"Module '{0}'. Controller '{1}' does not inherit from DevExpress.ui.dxDataGrid.Controller\",\r\n E1003: \"Module '{0}'. View '{1}' is already registered\",\r\n E1004: \"Module '{0}'. View '{1}' does not inherit from DevExpress.ui.dxDataGrid.View\",\r\n E1005: \"Public method '{0}' is already registered\",\r\n E1006: \"Public method '{0}.{1}' does not exist\",\r\n E1007: \"State storing cannot be provided due to the restrictions of the browser\",\r\n E1010: \"The template does not contain the TextBox widget\",\r\n E1011: 'Items cannot be deleted from the List. Implement the \"remove\" function in the data store',\r\n E1012: \"Editing type '{0}' with the name '{1}' is unsupported\",\r\n E1016: \"Unexpected type of data source is provided for a lookup column\",\r\n E1018: \"The 'collapseAll' method cannot be called if you use a remote data source\",\r\n E1019: \"Search mode '{0}' is unavailable\",\r\n E1020: \"The type cannot be changed after initialization\",\r\n E1021: \"{0} '{1}' you are trying to remove does not exist\",\r\n E1022: 'The \"markers\" option is given an invalid value. Assign an array instead',\r\n E1023: 'The \"routes\" option is given an invalid value. Assign an array instead',\r\n E1025: \"This layout is too complex to render\",\r\n E1026: 'The \"calculateCustomSummary\" function is missing from a field whose \"summaryType\" option is set to \"custom\"',\r\n E1030: \"Unknown ScrollView refresh strategy: '{0}'\",\r\n E1031: \"Unknown subscription in the Scheduler widget: '{0}'\",\r\n E1032: \"Unknown start date in an appointment: '{0}'\",\r\n E1033: \"Unknown step in the date navigator: '{0}'\",\r\n E1034: \"The browser does not implement an API for saving files\",\r\n E1035: \"The editor cannot be created because of an internal error: {0}\",\r\n E1037: \"Invalid structure of grouped data\",\r\n E1038: \"The browser does not support local storages for local web pages\",\r\n E1039: \"A cell's position cannot be calculated\",\r\n E1040: \"The '{0}' key value is not unique within the data array\",\r\n E1041: \"The '{0}' script is referenced after the DevExtreme scripts or not referenced at all\",\r\n E1042: \"{0} requires the key field to be specified\",\r\n E1043: \"Changes cannot be processed due to the incorrectly set key\",\r\n E1044: \"The key field specified by the keyExpr option does not match the key field specified in the data store\",\r\n E1045: \"Editing requires the key field to be specified in the data store\",\r\n E1046: \"The '{0}' key field is not found in data objects\",\r\n E1047: 'The \"{0}\" field is not found in the fields array',\r\n E1048: 'The \"{0}\" operation is not found in the filterOperations array',\r\n E1049: \"Column '{0}': filtering is allowed but the 'dataField' or 'name' option is not specified\",\r\n E1050: \"The validationRules option does not apply to third-party editors defined in the editCellTemplate\",\r\n E1051: 'HtmlEditor\\'s valueType is \"{0}\", but the {0} converter was not imported.',\r\n E1052: '{0} should have the \"dataSource\" option specified',\r\n E1053: 'The \"buttons\" option accepts an array that contains only objects or string values',\r\n E1054: \"All text editor buttons must have names\",\r\n E1055: 'One or several text editor buttons have invalid or non-unique \"name\" values',\r\n E1056: 'The {0} widget does not support buttons of the \"{1}\" type',\r\n W1001: 'The \"key\" option cannot be modified after initialization',\r\n W1002: \"An item with the key '{0}' does not exist\",\r\n W1003: \"A group with the key '{0}' in which you are trying to select items does not exist\",\r\n W1004: \"The item '{0}' you are trying to select in the group '{1}' does not exist\",\r\n W1005: \"Due to column data types being unspecified, data has been loaded twice in order to apply initial filter settings. To resolve this issue, specify data types for all grid columns.\",\r\n W1006: \"The map service returned the following error: '{0}'\",\r\n W1007: \"No item with key {0} was found in the data source, but this key was used as the parent key for item {1}\",\r\n W1008: \"Cannot scroll to the '{0}' date because it does not exist on the current view\",\r\n W1009: \"Searching works only if data is specified using the dataSource option\",\r\n W1010: \"The capability to select all items works with source data of plain structure only\",\r\n W1011: 'The \"keyExpr\" option is not applied when dataSource is not an array',\r\n W1012: \"The '{0}' key field is not found in data objects\",\r\n W1013: 'The \"message\" field in the dialog component was renamed to \"messageHtml\". Change your code correspondingly. In addition, if you used HTML code in the message, make sure that it is secure',\r\n W1014: \"The Floating Action Button exceeds the recommended speed dial action count. If you need to display more speed dial actions, increase the maxSpeedDialActionCount option value in the global config.\"\r\n});\r\n","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}","/**\r\n * DevExtreme (core/utils/browser.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar extend = require(\"./extend\").extend,\r\n windowUtils = require(\"./window\"),\r\n navigator = windowUtils.getNavigator();\r\nvar webkitRegExp = /(webkit)[ \\/]([\\w.]+)/,\r\n ieRegExp = /(msie) (\\d{1,2}\\.\\d)/,\r\n ie11RegExp = /(trident).*rv:(\\d{1,2}\\.\\d)/,\r\n msEdge = /(edge)\\/((\\d+)?[\\w.]+)/,\r\n safari = /(safari)/i,\r\n mozillaRegExp = /(mozilla)(?:.*? rv:([\\w.]+))/;\r\nvar browserFromUA = function(ua) {\r\n ua = ua.toLowerCase();\r\n var result = {},\r\n matches = ieRegExp.exec(ua) || ie11RegExp.exec(ua) || msEdge.exec(ua) || ua.indexOf(\"compatible\") < 0 && mozillaRegExp.exec(ua) || webkitRegExp.exec(ua) || [],\r\n browserName = matches[1],\r\n browserVersion = matches[2];\r\n if (\"webkit\" === browserName) {\r\n result.webkit = true;\r\n if (ua.indexOf(\"chrome\") >= 0 || ua.indexOf(\"crios\") >= 0) {\r\n browserName = \"chrome\";\r\n browserVersion = /(?:Chrome|CriOS)\\/(\\d+\\.\\d+)/i.exec(ua);\r\n browserVersion = browserVersion && browserVersion[1]\r\n } else {\r\n if (ua.indexOf(\"fxios\") >= 0) {\r\n browserName = \"mozilla\";\r\n browserVersion = /FxiOS\\/(\\d+\\.\\d+)/i.exec(ua);\r\n browserVersion = browserVersion && browserVersion[1]\r\n } else {\r\n if (safari.exec(ua)) {\r\n browserName = \"safari\";\r\n browserVersion = /Version\\/([0-9.]+)/i.exec(ua);\r\n browserVersion = browserVersion && browserVersion[1]\r\n }\r\n }\r\n }\r\n }\r\n if (\"trident\" === browserName || \"edge\" === browserName) {\r\n browserName = \"msie\"\r\n }\r\n if (browserName) {\r\n result[browserName] = true;\r\n result.version = browserVersion\r\n }\r\n return result\r\n};\r\nmodule.exports = extend({\r\n _fromUA: browserFromUA\r\n}, browserFromUA(navigator.userAgent));\r\n","/**\r\n * DevExtreme (core/events_mixin.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar DefaultEventsStrategy = require(\"./events_strategy\"),\r\n each = require(\"./utils/iterator\").each,\r\n isPlainObject = require(\"./utils/type\").isPlainObject;\r\nmodule.exports = {\r\n ctor: function() {\r\n this._events = {};\r\n this.setEventsStrategy(new DefaultEventsStrategy(this))\r\n },\r\n setEventsStrategy: function(strategy) {\r\n if (\"function\" === typeof strategy) {\r\n strategy = strategy(this)\r\n }\r\n this._eventsStrategy = strategy\r\n },\r\n hasEvent: function(eventName) {\r\n return this._eventsStrategy.hasEvent(eventName)\r\n },\r\n fireEvent: function(eventName, eventArgs) {\r\n this._eventsStrategy.fireEvent(eventName, eventArgs);\r\n return this\r\n },\r\n on: function(eventName, eventHandler) {\r\n if (isPlainObject(eventName)) {\r\n each(eventName, function(e, h) {\r\n this.on(e, h)\r\n }.bind(this))\r\n } else {\r\n this._eventsStrategy.on(eventName, eventHandler)\r\n }\r\n return this\r\n },\r\n off: function(eventName, eventHandler) {\r\n this._eventsStrategy.off(eventName, eventHandler);\r\n return this\r\n },\r\n _disposeEvents: function() {\r\n this._eventsStrategy.dispose()\r\n }\r\n};\r\n","/**\r\n * DevExtreme (core/utils/inflector.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar map = require(\"./iterator\").map;\r\nvar _normalize = function(text) {\r\n if (void 0 === text || null === text) {\r\n return \"\"\r\n }\r\n return String(text)\r\n};\r\nvar _upperCaseFirst = function(text) {\r\n return _normalize(text).charAt(0).toUpperCase() + text.substr(1)\r\n};\r\nvar _chop = function(text) {\r\n return _normalize(text).replace(/([a-z\\d])([A-Z])/g, \"$1 $2\").split(/[\\s_-]+/)\r\n};\r\nvar dasherize = function(text) {\r\n return map(_chop(text), function(p) {\r\n return p.toLowerCase()\r\n }).join(\"-\")\r\n};\r\nvar underscore = function(text) {\r\n return dasherize(text).replace(/-/g, \"_\")\r\n};\r\nvar camelize = function(text, upperFirst) {\r\n return map(_chop(text), function(p, i) {\r\n p = p.toLowerCase();\r\n if (upperFirst || i > 0) {\r\n p = _upperCaseFirst(p)\r\n }\r\n return p\r\n }).join(\"\")\r\n};\r\nvar humanize = function(text) {\r\n return _upperCaseFirst(dasherize(text).replace(/-/g, \" \"))\r\n};\r\nvar titleize = function(text) {\r\n return map(_chop(text), function(p) {\r\n return _upperCaseFirst(p.toLowerCase())\r\n }).join(\" \")\r\n};\r\nvar DIGIT_CHARS = [\"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\"];\r\nvar captionize = function(name) {\r\n var i, char, captionList = [],\r\n isPrevCharNewWord = false,\r\n isNewWord = false;\r\n for (i = 0; i < name.length; i++) {\r\n char = name.charAt(i);\r\n isNewWord = char === char.toUpperCase() && \"-\" !== char && \")\" !== char && \"/\" !== char || char in DIGIT_CHARS;\r\n if (\"_\" === char || \".\" === char) {\r\n char = \" \";\r\n isNewWord = true\r\n } else {\r\n if (0 === i) {\r\n char = char.toUpperCase();\r\n isNewWord = true\r\n } else {\r\n if (!isPrevCharNewWord && isNewWord) {\r\n if (captionList.length > 0) {\r\n captionList.push(\" \")\r\n }\r\n }\r\n }\r\n }\r\n captionList.push(char);\r\n isPrevCharNewWord = isNewWord\r\n }\r\n return captionList.join(\"\")\r\n};\r\nexports.dasherize = dasherize;\r\nexports.camelize = camelize;\r\nexports.humanize = humanize;\r\nexports.titleize = titleize;\r\nexports.underscore = underscore;\r\nexports.captionize = captionize;\r\n","/**\r\n * DevExtreme (core/utils/support.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _array = require(\"./array\");\r\nvar _dom_adapter = require(\"../dom_adapter\");\r\nvar _common = require(\"./common\");\r\nvar _call_once = require(\"./call_once\");\r\nvar _call_once2 = _interopRequireDefault(_call_once);\r\nvar _window = require(\"./window\");\r\nvar _window2 = _interopRequireDefault(_window);\r\nvar _devices = require(\"../devices\");\r\nvar _devices2 = _interopRequireDefault(_devices);\r\nvar _style = require(\"./style\");\r\nvar _style2 = _interopRequireDefault(_style);\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar _windowUtils$getNavig = _window2.default.getNavigator(),\r\n maxTouchPoints = _windowUtils$getNavig.maxTouchPoints,\r\n msMaxTouchPoints = _windowUtils$getNavig.msMaxTouchPoints,\r\n pointerEnabled = _windowUtils$getNavig.pointerEnabled;\r\nvar hasProperty = _window2.default.hasProperty.bind(_window2.default);\r\nvar transitionEndEventNames = {\r\n webkitTransition: \"webkitTransitionEnd\",\r\n MozTransition: \"transitionend\",\r\n OTransition: \"oTransitionEnd\",\r\n msTransition: \"MsTransitionEnd\",\r\n transition: \"transitionend\"\r\n};\r\nvar supportProp = function(prop) {\r\n return !!_style2.default.styleProp(prop)\r\n};\r\nvar isNativeScrollingSupported = function() {\r\n var _devices$real = _devices2.default.real(),\r\n platform = _devices$real.platform,\r\n version = _devices$real.version,\r\n isMac = _devices$real.mac;\r\n var isObsoleteAndroid = version && version[0] < 4 && \"android\" === platform;\r\n var isNativeScrollDevice = !isObsoleteAndroid && (0, _array.inArray)(platform, [\"ios\", \"android\", \"win\"]) > -1 || isMac;\r\n return isNativeScrollDevice\r\n};\r\nvar inputType = function(type) {\r\n if (\"text\" === type) {\r\n return true\r\n }\r\n var input = (0, _dom_adapter.createElement)(\"input\");\r\n try {\r\n input.setAttribute(\"type\", type);\r\n input.value = \"wrongValue\";\r\n return !input.value\r\n } catch (e) {\r\n return false\r\n }\r\n};\r\nvar detectTouchEvents = function(hasWindowProperty, maxTouchPoints) {\r\n return (hasWindowProperty(\"ontouchstart\") || !!maxTouchPoints) && !hasWindowProperty(\"callPhantom\")\r\n};\r\nvar detectPointerEvent = function(hasWindowProperty, pointerEnabled) {\r\n var isPointerEnabled = (0, _common.ensureDefined)(pointerEnabled, true);\r\n var canUsePointerEvent = (0, _common.ensureDefined)(pointerEnabled, false);\r\n return hasWindowProperty(\"PointerEvent\") && isPointerEnabled || canUsePointerEvent\r\n};\r\nvar touchEvents = detectTouchEvents(hasProperty, maxTouchPoints);\r\nvar pointerEvents = detectPointerEvent(hasProperty, pointerEnabled);\r\nvar touchPointersPresent = !!maxTouchPoints || !!msMaxTouchPoints;\r\nexports.touchEvents = touchEvents;\r\nexports.pointerEvents = pointerEvents;\r\nexports.touch = touchEvents || pointerEvents && touchPointersPresent;\r\nexports.transition = (0, _call_once2.default)(function() {\r\n return supportProp(\"transition\")\r\n});\r\nexports.transitionEndEventName = (0, _call_once2.default)(function() {\r\n return transitionEndEventNames[_style2.default.styleProp(\"transition\")]\r\n});\r\nexports.animation = (0, _call_once2.default)(function() {\r\n return supportProp(\"animation\")\r\n});\r\nexports.nativeScrolling = isNativeScrollingSupported();\r\nexports.styleProp = _style2.default.styleProp;\r\nexports.stylePropPrefix = _style2.default.stylePropPrefix;\r\nexports.supportProp = supportProp;\r\nexports.inputType = inputType;\r\n","/**\r\n * DevExtreme (data/query.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar arrayQueryImpl = require(\"./array_query\"),\r\n remoteQueryImpl = require(\"./remote_query\");\r\nvar queryImpl = {\r\n array: arrayQueryImpl,\r\n remote: remoteQueryImpl\r\n};\r\nvar query = function() {\r\n var impl = Array.isArray(arguments[0]) ? \"array\" : \"remote\";\r\n return queryImpl[impl].apply(this, arguments)\r\n};\r\nmodule.exports = query;\r\nmodule.exports.queryImpl = queryImpl;\r\nmodule.exports.default = module.exports;\r\n","/**\r\n * DevExtreme (ui/widget/selectors.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar $ = require(\"../../core/renderer\"),\r\n domAdapter = require(\"../../core/dom_adapter\");\r\nvar _focusable = function(element, tabIndex) {\r\n if (!visible(element)) {\r\n return false\r\n }\r\n var nodeName = element.nodeName.toLowerCase(),\r\n isTabIndexNotNaN = !isNaN(tabIndex),\r\n isDisabled = element.disabled,\r\n isDefaultFocus = /^(input|select|textarea|button|object|iframe)$/.test(nodeName),\r\n isHyperlink = \"a\" === nodeName,\r\n isFocusable = true,\r\n isContentEditable = element.isContentEditable;\r\n if (isDefaultFocus || isContentEditable) {\r\n isFocusable = !isDisabled\r\n } else {\r\n if (isHyperlink) {\r\n isFocusable = element.href || isTabIndexNotNaN\r\n } else {\r\n isFocusable = isTabIndexNotNaN\r\n }\r\n }\r\n return isFocusable\r\n};\r\nvar visible = function(element) {\r\n var $element = $(element);\r\n return $element.is(\":visible\") && \"hidden\" !== $element.css(\"visibility\") && \"hidden\" !== $element.parents().css(\"visibility\")\r\n};\r\nmodule.exports = {\r\n focusable: function(index, element) {\r\n return _focusable(element, $(element).attr(\"tabIndex\"))\r\n },\r\n tabbable: function(index, element) {\r\n var tabIndex = $(element).attr(\"tabIndex\");\r\n return (isNaN(tabIndex) || tabIndex >= 0) && _focusable(element, tabIndex)\r\n },\r\n focused: function($element) {\r\n var element = $($element).get(0);\r\n return domAdapter.getActiveElement() === element\r\n }\r\n};\r\n","/**\r\n * DevExtreme (core/utils/view_port.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar $ = require(\"../renderer\"),\r\n readyCallbacks = require(\"./ready_callbacks\"),\r\n ready = readyCallbacks.add,\r\n changeCallback = require(\"./callbacks\")(),\r\n $originalViewPort = $();\r\nvar value = function() {\r\n var $current;\r\n return function(element) {\r\n if (!arguments.length) {\r\n return $current\r\n }\r\n var $element = $(element);\r\n $originalViewPort = $element;\r\n var isNewViewportFound = !!$element.length;\r\n var prevViewPort = value();\r\n $current = isNewViewportFound ? $element : $(\"body\");\r\n changeCallback.fire(isNewViewportFound ? value() : $(), prevViewPort)\r\n }\r\n}();\r\nready(function() {\r\n value(\".dx-viewport\")\r\n});\r\nexports.value = value;\r\nexports.changeCallback = changeCallback;\r\nexports.originalViewPort = function() {\r\n return $originalViewPort\r\n};\r\n","/**\r\n * DevExtreme (events/core/emitter_registrator.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar $ = require(\"../../core/renderer\"),\r\n readyCallbacks = require(\"../../core/utils/ready_callbacks\"),\r\n domAdapter = require(\"../../core/dom_adapter\"),\r\n eventsEngine = require(\"../../events/core/events_engine\"),\r\n dataUtils = require(\"../../core/element_data\"),\r\n Class = require(\"../../core/class\"),\r\n extend = require(\"../../core/utils/extend\").extend,\r\n inArray = require(\"../../core/utils/array\").inArray,\r\n each = require(\"../../core/utils/iterator\").each,\r\n registerEvent = require(\"./event_registrator\"),\r\n eventUtils = require(\"../utils\"),\r\n pointerEvents = require(\"../pointer\"),\r\n wheelEvent = require(\"./wheel\");\r\nvar MANAGER_EVENT = \"dxEventManager\",\r\n EMITTER_DATA = \"dxEmitter\";\r\nvar EventManager = Class.inherit({\r\n ctor: function() {\r\n this._attachHandlers();\r\n this.reset();\r\n this._proxiedCancelHandler = this._cancelHandler.bind(this);\r\n this._proxiedAcceptHandler = this._acceptHandler.bind(this)\r\n },\r\n _attachHandlers: function() {\r\n readyCallbacks.add(function() {\r\n var document = domAdapter.getDocument();\r\n eventsEngine.subscribeGlobal(document, eventUtils.addNamespace(pointerEvents.down, MANAGER_EVENT), this._pointerDownHandler.bind(this));\r\n eventsEngine.subscribeGlobal(document, eventUtils.addNamespace(pointerEvents.move, MANAGER_EVENT), this._pointerMoveHandler.bind(this));\r\n eventsEngine.subscribeGlobal(document, eventUtils.addNamespace([pointerEvents.up, pointerEvents.cancel].join(\" \"), MANAGER_EVENT), this._pointerUpHandler.bind(this));\r\n eventsEngine.subscribeGlobal(document, eventUtils.addNamespace(wheelEvent.name, MANAGER_EVENT), this._mouseWheelHandler.bind(this))\r\n }.bind(this))\r\n },\r\n _eachEmitter: function(callback) {\r\n var activeEmitters = this._activeEmitters || [];\r\n var i = 0;\r\n while (activeEmitters.length > i) {\r\n var emitter = activeEmitters[i];\r\n if (false === callback(emitter)) {\r\n break\r\n }\r\n if (activeEmitters[i] === emitter) {\r\n i++\r\n }\r\n }\r\n },\r\n _applyToEmitters: function(method, arg) {\r\n this._eachEmitter(function(emitter) {\r\n emitter[method].call(emitter, arg)\r\n })\r\n },\r\n reset: function() {\r\n this._eachEmitter(this._proxiedCancelHandler);\r\n this._activeEmitters = []\r\n },\r\n resetEmitter: function(emitter) {\r\n this._proxiedCancelHandler(emitter)\r\n },\r\n _pointerDownHandler: function(e) {\r\n if (eventUtils.isMouseEvent(e) && e.which > 1) {\r\n return\r\n }\r\n this._updateEmitters(e)\r\n },\r\n _updateEmitters: function(e) {\r\n if (!this._isSetChanged(e)) {\r\n return\r\n }\r\n this._cleanEmitters(e);\r\n this._fetchEmitters(e)\r\n },\r\n _isSetChanged: function(e) {\r\n var currentSet = this._closestEmitter(e);\r\n var previousSet = this._emittersSet || [];\r\n var setChanged = currentSet.length !== previousSet.length;\r\n each(currentSet, function(index, emitter) {\r\n setChanged = setChanged || previousSet[index] !== emitter;\r\n return !setChanged\r\n });\r\n this._emittersSet = currentSet;\r\n return setChanged\r\n },\r\n _closestEmitter: function(e) {\r\n var that = this,\r\n result = [],\r\n $element = $(e.target);\r\n\r\n function handleEmitter(_, emitter) {\r\n if (!!emitter && emitter.validatePointers(e) && emitter.validate(e)) {\r\n emitter.addCancelCallback(that._proxiedCancelHandler);\r\n emitter.addAcceptCallback(that._proxiedAcceptHandler);\r\n result.push(emitter)\r\n }\r\n }\r\n while ($element.length) {\r\n var emitters = dataUtils.data($element.get(0), EMITTER_DATA) || [];\r\n each(emitters, handleEmitter);\r\n $element = $element.parent()\r\n }\r\n return result\r\n },\r\n _acceptHandler: function(acceptedEmitter, e) {\r\n var that = this;\r\n this._eachEmitter(function(emitter) {\r\n if (emitter !== acceptedEmitter) {\r\n that._cancelEmitter(emitter, e)\r\n }\r\n })\r\n },\r\n _cancelHandler: function(canceledEmitter, e) {\r\n this._cancelEmitter(canceledEmitter, e)\r\n },\r\n _cancelEmitter: function(emitter, e) {\r\n var activeEmitters = this._activeEmitters;\r\n if (e) {\r\n emitter.cancel(e)\r\n } else {\r\n emitter.reset()\r\n }\r\n emitter.removeCancelCallback();\r\n emitter.removeAcceptCallback();\r\n var emitterIndex = inArray(emitter, activeEmitters);\r\n if (emitterIndex > -1) {\r\n activeEmitters.splice(emitterIndex, 1)\r\n }\r\n },\r\n _cleanEmitters: function(e) {\r\n this._applyToEmitters(\"end\", e);\r\n this.reset(e)\r\n },\r\n _fetchEmitters: function(e) {\r\n this._activeEmitters = this._emittersSet.slice();\r\n this._applyToEmitters(\"start\", e)\r\n },\r\n _pointerMoveHandler: function(e) {\r\n this._applyToEmitters(\"move\", e)\r\n },\r\n _pointerUpHandler: function(e) {\r\n this._updateEmitters(e)\r\n },\r\n _mouseWheelHandler: function(e) {\r\n if (!this._allowInterruptionByMouseWheel()) {\r\n return\r\n }\r\n e.pointers = [null];\r\n this._pointerDownHandler(e);\r\n this._adjustWheelEvent(e);\r\n this._pointerMoveHandler(e);\r\n e.pointers = [];\r\n this._pointerUpHandler(e)\r\n },\r\n _allowInterruptionByMouseWheel: function() {\r\n var allowInterruption = true;\r\n this._eachEmitter(function(emitter) {\r\n allowInterruption = emitter.allowInterruptionByMouseWheel() && allowInterruption;\r\n return allowInterruption\r\n });\r\n return allowInterruption\r\n },\r\n _adjustWheelEvent: function(e) {\r\n var closestGestureEmitter = null;\r\n this._eachEmitter(function(emitter) {\r\n if (!emitter.gesture) {\r\n return\r\n }\r\n var direction = emitter.getDirection(e);\r\n if (\"horizontal\" !== direction && !e.shiftKey || \"vertical\" !== direction && e.shiftKey) {\r\n closestGestureEmitter = emitter;\r\n return false\r\n }\r\n });\r\n if (!closestGestureEmitter) {\r\n return\r\n }\r\n var direction = closestGestureEmitter.getDirection(e),\r\n verticalGestureDirection = \"both\" === direction && !e.shiftKey || \"vertical\" === direction,\r\n prop = verticalGestureDirection ? \"pageY\" : \"pageX\";\r\n e[prop] += e.delta\r\n },\r\n isActive: function(element) {\r\n var result = false;\r\n this._eachEmitter(function(emitter) {\r\n result = result || emitter.getElement().is(element)\r\n });\r\n return result\r\n }\r\n});\r\nvar eventManager = new EventManager;\r\nvar EMITTER_SUBSCRIPTION_DATA = \"dxEmitterSubscription\";\r\nvar registerEmitter = function(emitterConfig) {\r\n var emitterClass = emitterConfig.emitter,\r\n emitterName = emitterConfig.events[0],\r\n emitterEvents = emitterConfig.events;\r\n each(emitterEvents, function(_, eventName) {\r\n registerEvent(eventName, {\r\n noBubble: !emitterConfig.bubble,\r\n setup: function(element) {\r\n var subscriptions = dataUtils.data(element, EMITTER_SUBSCRIPTION_DATA) || {},\r\n emitters = dataUtils.data(element, EMITTER_DATA) || {},\r\n emitter = emitters[emitterName] || new emitterClass(element);\r\n subscriptions[eventName] = true;\r\n emitters[emitterName] = emitter;\r\n dataUtils.data(element, EMITTER_DATA, emitters);\r\n dataUtils.data(element, EMITTER_SUBSCRIPTION_DATA, subscriptions)\r\n },\r\n add: function(element, handleObj) {\r\n var emitters = dataUtils.data(element, EMITTER_DATA),\r\n emitter = emitters[emitterName];\r\n emitter.configure(extend({\r\n delegateSelector: handleObj.selector\r\n }, handleObj.data), handleObj.type)\r\n },\r\n teardown: function(element) {\r\n var subscriptions = dataUtils.data(element, EMITTER_SUBSCRIPTION_DATA),\r\n emitters = dataUtils.data(element, EMITTER_DATA),\r\n emitter = emitters[emitterName];\r\n delete subscriptions[eventName];\r\n var disposeEmitter = true;\r\n each(emitterEvents, function(_, eventName) {\r\n disposeEmitter = disposeEmitter && !subscriptions[eventName];\r\n return disposeEmitter\r\n });\r\n if (disposeEmitter) {\r\n if (eventManager.isActive(element)) {\r\n eventManager.resetEmitter(emitter)\r\n }\r\n emitter && emitter.dispose();\r\n delete emitters[emitterName]\r\n }\r\n }\r\n })\r\n })\r\n};\r\nmodule.exports = registerEmitter;\r\n","/**\r\n * DevExtreme (core/utils/public_component.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar dataUtils = require(\"../../core/element_data\"),\r\n eventsEngine = require(\"../../events/core/events_engine\"),\r\n WeakMap = require(\"../polyfills/weak_map\"),\r\n isDefined = require(\"./type\").isDefined,\r\n removeEvent = require(\"../remove_event\");\r\nvar COMPONENT_NAMES_DATA_KEY = \"dxComponents\",\r\n ANONYMOUS_COMPONENT_DATA_KEY = \"dxPrivateComponent\";\r\nvar componentNames = new WeakMap,\r\n nextAnonymousComponent = 0;\r\nvar getName = exports.name = function(componentClass, newName) {\r\n if (isDefined(newName)) {\r\n componentNames.set(componentClass, newName);\r\n return\r\n }\r\n if (!componentNames.has(componentClass)) {\r\n var generatedName = ANONYMOUS_COMPONENT_DATA_KEY + nextAnonymousComponent++;\r\n componentNames.set(componentClass, generatedName);\r\n return generatedName\r\n }\r\n return componentNames.get(componentClass)\r\n};\r\nexports.attachInstanceToElement = function($element, componentInstance, disposeFn) {\r\n var data = dataUtils.data($element.get(0)),\r\n name = getName(componentInstance.constructor);\r\n data[name] = componentInstance;\r\n if (disposeFn) {\r\n eventsEngine.one($element, removeEvent, function() {\r\n disposeFn.call(componentInstance)\r\n })\r\n }\r\n if (!data[COMPONENT_NAMES_DATA_KEY]) {\r\n data[COMPONENT_NAMES_DATA_KEY] = []\r\n }\r\n data[COMPONENT_NAMES_DATA_KEY].push(name)\r\n};\r\nexports.getInstanceByElement = function($element, componentClass) {\r\n var name = getName(componentClass);\r\n return dataUtils.data($element.get(0), name)\r\n};\r\n","/**\r\n * DevExtreme (events/core/emitter.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar $ = require(\"../../core/renderer\"),\r\n noop = require(\"../../core/utils/common\").noop,\r\n Class = require(\"../../core/class\"),\r\n Callbacks = require(\"../../core/utils/callbacks\"),\r\n extend = require(\"../../core/utils/extend\").extend,\r\n eventUtils = require(\"../utils\");\r\nvar Emitter = Class.inherit({\r\n ctor: function(element) {\r\n this._$element = $(element);\r\n this._cancelCallback = Callbacks();\r\n this._acceptCallback = Callbacks()\r\n },\r\n getElement: function() {\r\n return this._$element\r\n },\r\n validate: function(e) {\r\n return !eventUtils.isDxMouseWheelEvent(e)\r\n },\r\n validatePointers: function(e) {\r\n return 1 === eventUtils.hasTouches(e)\r\n },\r\n allowInterruptionByMouseWheel: function() {\r\n return true\r\n },\r\n configure: function(data) {\r\n extend(this, data)\r\n },\r\n addCancelCallback: function(callback) {\r\n this._cancelCallback.add(callback)\r\n },\r\n removeCancelCallback: function() {\r\n this._cancelCallback.empty()\r\n },\r\n _cancel: function(e) {\r\n this._cancelCallback.fire(this, e)\r\n },\r\n addAcceptCallback: function(callback) {\r\n this._acceptCallback.add(callback)\r\n },\r\n removeAcceptCallback: function() {\r\n this._acceptCallback.empty()\r\n },\r\n _accept: function(e) {\r\n this._acceptCallback.fire(this, e)\r\n },\r\n _requestAccept: function(e) {\r\n this._acceptRequestEvent = e\r\n },\r\n _forgetAccept: function() {\r\n this._accept(this._acceptRequestEvent);\r\n this._acceptRequestEvent = null\r\n },\r\n start: noop,\r\n move: noop,\r\n end: noop,\r\n cancel: noop,\r\n reset: function() {\r\n if (this._acceptRequestEvent) {\r\n this._accept(this._acceptRequestEvent)\r\n }\r\n },\r\n _fireEvent: function(eventName, e, params) {\r\n var eventData = extend({\r\n type: eventName,\r\n originalEvent: e,\r\n target: this._getEmitterTarget(e),\r\n delegateTarget: this.getElement().get(0)\r\n }, params);\r\n e = eventUtils.fireEvent(eventData);\r\n if (e.cancel) {\r\n this._cancel(e)\r\n }\r\n return e\r\n },\r\n _getEmitterTarget: function(e) {\r\n return (this.delegateSelector ? $(e.target).closest(this.delegateSelector) : this.getElement()).get(0)\r\n },\r\n dispose: noop\r\n});\r\nmodule.exports = Emitter;\r\n","/**\r\n * DevExtreme (events/pointer/base.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar eventsEngine = require(\"../../events/core/events_engine\"),\r\n browser = require(\"../../core/utils/browser\"),\r\n domAdapter = require(\"../../core/dom_adapter\"),\r\n Class = require(\"../../core/class\"),\r\n eventUtils = require(\"../utils\");\r\nvar POINTER_EVENTS_NAMESPACE = \"dxPointerEvents\";\r\nvar BaseStrategy = Class.inherit({\r\n ctor: function(eventName, originalEvents) {\r\n this._eventName = eventName;\r\n this._originalEvents = eventUtils.addNamespace(originalEvents, POINTER_EVENTS_NAMESPACE);\r\n this._handlerCount = 0;\r\n this.noBubble = this._isNoBubble()\r\n },\r\n _isNoBubble: function() {\r\n var eventName = this._eventName;\r\n return \"dxpointerenter\" === eventName || \"dxpointerleave\" === eventName\r\n },\r\n _handler: function(e) {\r\n var delegateTarget = this._getDelegateTarget(e);\r\n return this._fireEvent({\r\n type: this._eventName,\r\n pointerType: e.pointerType || eventUtils.eventSource(e),\r\n originalEvent: e,\r\n delegateTarget: delegateTarget,\r\n timeStamp: browser.mozilla ? (new Date).getTime() : e.timeStamp\r\n })\r\n },\r\n _getDelegateTarget: function(e) {\r\n var delegateTarget;\r\n if (this.noBubble) {\r\n delegateTarget = e.delegateTarget\r\n }\r\n return delegateTarget\r\n },\r\n _fireEvent: function(args) {\r\n return eventUtils.fireEvent(args)\r\n },\r\n _setSelector: function(handleObj) {\r\n this._selector = this.noBubble && handleObj ? handleObj.selector : null\r\n },\r\n _getSelector: function() {\r\n return this._selector\r\n },\r\n setup: function() {\r\n return true\r\n },\r\n add: function(element, handleObj) {\r\n if (this._handlerCount <= 0 || this.noBubble) {\r\n element = this.noBubble ? element : domAdapter.getDocument();\r\n this._setSelector(handleObj);\r\n var that = this;\r\n eventsEngine.on(element, this._originalEvents, this._getSelector(), function(e) {\r\n that._handler(e)\r\n })\r\n }\r\n if (!this.noBubble) {\r\n this._handlerCount++\r\n }\r\n },\r\n remove: function(handleObj) {\r\n this._setSelector(handleObj);\r\n if (!this.noBubble) {\r\n this._handlerCount--\r\n }\r\n },\r\n teardown: function(element) {\r\n if (this._handlerCount && !this.noBubble) {\r\n return\r\n }\r\n element = this.noBubble ? element : domAdapter.getDocument();\r\n if (this._originalEvents !== \".\" + POINTER_EVENTS_NAMESPACE) {\r\n eventsEngine.off(element, this._originalEvents, this._getSelector())\r\n }\r\n },\r\n dispose: function(element) {\r\n element = this.noBubble ? element : domAdapter.getDocument();\r\n eventsEngine.off(element, this._originalEvents)\r\n }\r\n});\r\nmodule.exports = BaseStrategy;\r\n","/**\r\n * DevExtreme (data/array_query.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar Class = require(\"../core/class\"),\r\n typeUtils = require(\"../core/utils/type\"),\r\n iteratorUtils = require(\"../core/utils/iterator\"),\r\n compileGetter = require(\"../core/utils/data\").compileGetter,\r\n toComparable = require(\"../core/utils/data\").toComparable,\r\n Deferred = require(\"../core/utils/deferred\").Deferred,\r\n errorsModule = require(\"./errors\"),\r\n dataUtils = require(\"./utils\");\r\nvar Iterator = Class.inherit({\r\n toArray: function() {\r\n var result = [];\r\n this.reset();\r\n while (this.next()) {\r\n result.push(this.current())\r\n }\r\n return result\r\n },\r\n countable: function() {\r\n return false\r\n }\r\n});\r\nvar ArrayIterator = Iterator.inherit({\r\n ctor: function(array) {\r\n this.array = array;\r\n this.index = -1\r\n },\r\n next: function() {\r\n if (this.index + 1 < this.array.length) {\r\n this.index++;\r\n return true\r\n }\r\n return false\r\n },\r\n current: function() {\r\n return this.array[this.index]\r\n },\r\n reset: function() {\r\n this.index = -1\r\n },\r\n toArray: function() {\r\n return this.array.slice(0)\r\n },\r\n countable: function() {\r\n return true\r\n },\r\n count: function() {\r\n return this.array.length\r\n }\r\n});\r\nvar WrappedIterator = Iterator.inherit({\r\n ctor: function(iter) {\r\n this.iter = iter\r\n },\r\n next: function() {\r\n return this.iter.next()\r\n },\r\n current: function() {\r\n return this.iter.current()\r\n },\r\n reset: function() {\r\n return this.iter.reset()\r\n }\r\n});\r\nvar MapIterator = WrappedIterator.inherit({\r\n ctor: function(iter, mapper) {\r\n this.callBase(iter);\r\n this.index = -1;\r\n this.mapper = mapper\r\n },\r\n current: function() {\r\n return this.mapper(this.callBase(), this.index)\r\n },\r\n next: function() {\r\n var hasNext = this.callBase();\r\n if (hasNext) {\r\n this.index++\r\n }\r\n return hasNext\r\n }\r\n});\r\nvar defaultCompare = function(xValue, yValue) {\r\n xValue = toComparable(xValue);\r\n yValue = toComparable(yValue);\r\n if (null === xValue && null !== yValue) {\r\n return -1\r\n }\r\n if (null !== xValue && null === yValue) {\r\n return 1\r\n }\r\n if (void 0 === xValue && void 0 !== yValue) {\r\n return 1\r\n }\r\n if (void 0 !== xValue && void 0 === yValue) {\r\n return -1\r\n }\r\n if (xValue < yValue) {\r\n return -1\r\n }\r\n if (xValue > yValue) {\r\n return 1\r\n }\r\n return 0\r\n};\r\nvar SortIterator = Iterator.inherit({\r\n ctor: function(iter, getter, desc, compare) {\r\n if (!(iter instanceof MapIterator)) {\r\n iter = new MapIterator(iter, this._wrap)\r\n }\r\n this.iter = iter;\r\n this.rules = [{\r\n getter: getter,\r\n desc: desc,\r\n compare: compare\r\n }]\r\n },\r\n thenBy: function(getter, desc, compare) {\r\n var result = new SortIterator(this.sortedIter || this.iter, getter, desc, compare);\r\n if (!this.sortedIter) {\r\n result.rules = this.rules.concat(result.rules)\r\n }\r\n return result\r\n },\r\n next: function() {\r\n this._ensureSorted();\r\n return this.sortedIter.next()\r\n },\r\n current: function() {\r\n this._ensureSorted();\r\n return this.sortedIter.current()\r\n },\r\n reset: function() {\r\n delete this.sortedIter\r\n },\r\n countable: function() {\r\n return this.sortedIter || this.iter.countable()\r\n },\r\n count: function() {\r\n if (this.sortedIter) {\r\n return this.sortedIter.count()\r\n }\r\n return this.iter.count()\r\n },\r\n _ensureSorted: function() {\r\n var that = this;\r\n if (that.sortedIter) {\r\n return\r\n }\r\n iteratorUtils.each(that.rules, function() {\r\n this.getter = compileGetter(this.getter)\r\n });\r\n that.sortedIter = new MapIterator(new ArrayIterator(this.iter.toArray().sort(function(x, y) {\r\n return that._compare(x, y)\r\n })), that._unwrap)\r\n },\r\n _wrap: function(record, index) {\r\n return {\r\n index: index,\r\n value: record\r\n }\r\n },\r\n _unwrap: function(wrappedItem) {\r\n return wrappedItem.value\r\n },\r\n _compare: function(x, y) {\r\n var xIndex = x.index,\r\n yIndex = y.index;\r\n x = x.value;\r\n y = y.value;\r\n if (x === y) {\r\n return xIndex - yIndex\r\n }\r\n for (var i = 0, rulesCount = this.rules.length; i < rulesCount; i++) {\r\n var rule = this.rules[i],\r\n xValue = rule.getter(x),\r\n yValue = rule.getter(y),\r\n compare = rule.compare || defaultCompare,\r\n compareResult = compare(xValue, yValue);\r\n if (compareResult) {\r\n return rule.desc ? -compareResult : compareResult\r\n }\r\n }\r\n return xIndex - yIndex\r\n }\r\n});\r\nvar compileCriteria = function() {\r\n var compileGroup = function(crit) {\r\n var ops = [];\r\n var isConjunctiveOperator = false;\r\n var isConjunctiveNextOperator = false;\r\n iteratorUtils.each(crit, function() {\r\n if (Array.isArray(this) || typeUtils.isFunction(this)) {\r\n if (ops.length > 1 && isConjunctiveOperator !== isConjunctiveNextOperator) {\r\n throw new errorsModule.errors.Error(\"E4019\")\r\n }\r\n ops.push(compileCriteria(this));\r\n isConjunctiveOperator = isConjunctiveNextOperator;\r\n isConjunctiveNextOperator = true\r\n } else {\r\n isConjunctiveNextOperator = dataUtils.isConjunctiveOperator(this)\r\n }\r\n });\r\n return function(d) {\r\n var result = isConjunctiveOperator;\r\n for (var i = 0; i < ops.length; i++) {\r\n if (ops[i](d) !== isConjunctiveOperator) {\r\n result = !isConjunctiveOperator;\r\n break\r\n }\r\n }\r\n return result\r\n }\r\n };\r\n var toString = function(value) {\r\n return typeUtils.isDefined(value) ? value.toString() : \"\"\r\n };\r\n var compileBinary = function(crit) {\r\n crit = dataUtils.normalizeBinaryCriterion(crit);\r\n var getter = compileGetter(crit[0]),\r\n op = crit[1],\r\n value = crit[2];\r\n value = toComparable(value);\r\n switch (op.toLowerCase()) {\r\n case \"=\":\r\n return compileEquals(getter, value);\r\n case \"<>\":\r\n return compileEquals(getter, value, true);\r\n case \">\":\r\n return function(obj) {\r\n return toComparable(getter(obj)) > value\r\n };\r\n case \"<\":\r\n return function(obj) {\r\n return toComparable(getter(obj)) < value\r\n };\r\n case \">=\":\r\n return function(obj) {\r\n return toComparable(getter(obj)) >= value\r\n };\r\n case \"<=\":\r\n return function(obj) {\r\n return toComparable(getter(obj)) <= value\r\n };\r\n case \"startswith\":\r\n return function(obj) {\r\n return 0 === toComparable(toString(getter(obj))).indexOf(value)\r\n };\r\n case \"endswith\":\r\n return function(obj) {\r\n var getterValue = toComparable(toString(getter(obj))),\r\n searchValue = toString(value);\r\n if (getterValue.length < searchValue.length) {\r\n return false\r\n }\r\n return getterValue.lastIndexOf(value) === getterValue.length - value.length\r\n };\r\n case \"contains\":\r\n return function(obj) {\r\n return toComparable(toString(getter(obj))).indexOf(value) > -1\r\n };\r\n case \"notcontains\":\r\n return function(obj) {\r\n return toComparable(toString(getter(obj))).indexOf(value) === -1\r\n }\r\n }\r\n throw errorsModule.errors.Error(\"E4003\", op)\r\n };\r\n\r\n function compileEquals(getter, value, negate) {\r\n return function(obj) {\r\n obj = toComparable(getter(obj));\r\n var result = useStrictComparison(value) ? obj === value : obj == value;\r\n if (negate) {\r\n result = !result\r\n }\r\n return result\r\n }\r\n }\r\n\r\n function useStrictComparison(value) {\r\n return \"\" === value || 0 === value || false === value\r\n }\r\n\r\n function compileUnary(crit) {\r\n var op = crit[0],\r\n criteria = compileCriteria(crit[1]);\r\n if (\"!\" === op) {\r\n return function(obj) {\r\n return !criteria(obj)\r\n }\r\n }\r\n throw errorsModule.errors.Error(\"E4003\", op)\r\n }\r\n return function(crit) {\r\n if (typeUtils.isFunction(crit)) {\r\n return crit\r\n }\r\n if (dataUtils.isGroupCriterion(crit)) {\r\n return compileGroup(crit)\r\n }\r\n if (dataUtils.isUnaryOperation(crit)) {\r\n return compileUnary(crit)\r\n }\r\n return compileBinary(crit)\r\n }\r\n}();\r\nvar FilterIterator = WrappedIterator.inherit({\r\n ctor: function(iter, criteria) {\r\n this.callBase(iter);\r\n this.criteria = compileCriteria(criteria)\r\n },\r\n next: function() {\r\n while (this.iter.next()) {\r\n if (this.criteria(this.current())) {\r\n return true\r\n }\r\n }\r\n return false\r\n }\r\n});\r\nvar GroupIterator = Iterator.inherit({\r\n ctor: function(iter, getter) {\r\n this.iter = iter;\r\n this.getter = getter\r\n },\r\n next: function() {\r\n this._ensureGrouped();\r\n return this.groupedIter.next()\r\n },\r\n current: function() {\r\n this._ensureGrouped();\r\n return this.groupedIter.current()\r\n },\r\n reset: function() {\r\n delete this.groupedIter\r\n },\r\n countable: function() {\r\n return !!this.groupedIter\r\n },\r\n count: function() {\r\n return this.groupedIter.count()\r\n },\r\n _ensureGrouped: function() {\r\n if (this.groupedIter) {\r\n return\r\n }\r\n var hash = {},\r\n keys = [],\r\n iter = this.iter,\r\n getter = compileGetter(this.getter);\r\n iter.reset();\r\n while (iter.next()) {\r\n var current = iter.current(),\r\n key = getter(current);\r\n if (key in hash) {\r\n hash[key].push(current)\r\n } else {\r\n hash[key] = [current];\r\n keys.push(key)\r\n }\r\n }\r\n this.groupedIter = new ArrayIterator(iteratorUtils.map(keys, function(key) {\r\n return {\r\n key: key,\r\n items: hash[key]\r\n }\r\n }))\r\n }\r\n});\r\nvar SelectIterator = WrappedIterator.inherit({\r\n ctor: function(iter, getter) {\r\n this.callBase(iter);\r\n this.getter = compileGetter(getter)\r\n },\r\n current: function() {\r\n return this.getter(this.callBase())\r\n },\r\n countable: function() {\r\n return this.iter.countable()\r\n },\r\n count: function() {\r\n return this.iter.count()\r\n }\r\n});\r\nvar SliceIterator = WrappedIterator.inherit({\r\n ctor: function(iter, skip, take) {\r\n this.callBase(iter);\r\n this.skip = Math.max(0, skip);\r\n this.take = Math.max(0, take);\r\n this.pos = 0\r\n },\r\n next: function() {\r\n if (this.pos >= this.skip + this.take) {\r\n return false\r\n }\r\n while (this.pos < this.skip && this.iter.next()) {\r\n this.pos++\r\n }\r\n this.pos++;\r\n return this.iter.next()\r\n },\r\n reset: function() {\r\n this.callBase();\r\n this.pos = 0\r\n },\r\n countable: function() {\r\n return this.iter.countable()\r\n },\r\n count: function() {\r\n return Math.min(this.iter.count() - this.skip, this.take)\r\n }\r\n});\r\nvar arrayQueryImpl = function arrayQueryImpl(iter, queryOptions) {\r\n queryOptions = queryOptions || {};\r\n if (!(iter instanceof Iterator)) {\r\n iter = new ArrayIterator(iter)\r\n }\r\n var handleError = function(error) {\r\n var handler = queryOptions.errorHandler;\r\n if (handler) {\r\n handler(error)\r\n }\r\n errorsModule._errorHandler(error)\r\n };\r\n var aggregateCore = function(aggregator) {\r\n var seed, d = (new Deferred).fail(handleError),\r\n step = aggregator.step,\r\n finalize = aggregator.finalize;\r\n try {\r\n iter.reset();\r\n if (\"seed\" in aggregator) {\r\n seed = aggregator.seed\r\n } else {\r\n seed = iter.next() ? iter.current() : NaN\r\n }\r\n var accumulator = seed;\r\n while (iter.next()) {\r\n accumulator = step(accumulator, iter.current())\r\n }\r\n d.resolve(finalize ? finalize(accumulator) : accumulator)\r\n } catch (x) {\r\n d.reject(x)\r\n }\r\n return d.promise()\r\n };\r\n var aggregate = function(seed, step, finalize) {\r\n if (arguments.length < 2) {\r\n return aggregateCore({\r\n step: arguments[0]\r\n })\r\n }\r\n return aggregateCore({\r\n seed: seed,\r\n step: step,\r\n finalize: finalize\r\n })\r\n };\r\n var standardAggregate = function(name) {\r\n return aggregateCore(dataUtils.aggregators[name])\r\n };\r\n var select = function(getter) {\r\n if (!typeUtils.isFunction(getter) && !Array.isArray(getter)) {\r\n getter = [].slice.call(arguments)\r\n }\r\n return chainQuery(new SelectIterator(iter, getter))\r\n };\r\n var selectProp = function(name) {\r\n return select(compileGetter(name))\r\n };\r\n var chainQuery = function(iter) {\r\n return arrayQueryImpl(iter, queryOptions)\r\n };\r\n return {\r\n toArray: function() {\r\n return iter.toArray()\r\n },\r\n enumerate: function() {\r\n var d = (new Deferred).fail(handleError);\r\n try {\r\n d.resolve(iter.toArray())\r\n } catch (x) {\r\n d.reject(x)\r\n }\r\n return d.promise()\r\n },\r\n sortBy: function(getter, desc, compare) {\r\n return chainQuery(new SortIterator(iter, getter, desc, compare))\r\n },\r\n thenBy: function(getter, desc, compare) {\r\n if (iter instanceof SortIterator) {\r\n return chainQuery(iter.thenBy(getter, desc, compare))\r\n }\r\n throw errorsModule.errors.Error(\"E4004\")\r\n },\r\n filter: function(criteria) {\r\n if (!Array.isArray(criteria)) {\r\n criteria = [].slice.call(arguments)\r\n }\r\n return chainQuery(new FilterIterator(iter, criteria))\r\n },\r\n slice: function(skip, take) {\r\n if (void 0 === take) {\r\n take = Number.MAX_VALUE\r\n }\r\n return chainQuery(new SliceIterator(iter, skip, take))\r\n },\r\n select: select,\r\n groupBy: function(getter) {\r\n return chainQuery(new GroupIterator(iter, getter))\r\n },\r\n aggregate: aggregate,\r\n count: function() {\r\n if (iter.countable()) {\r\n var d = (new Deferred).fail(handleError);\r\n try {\r\n d.resolve(iter.count())\r\n } catch (x) {\r\n d.reject(x)\r\n }\r\n return d.promise()\r\n }\r\n return standardAggregate(\"count\")\r\n },\r\n sum: function(getter) {\r\n if (getter) {\r\n return selectProp(getter).sum()\r\n }\r\n return standardAggregate(\"sum\")\r\n },\r\n min: function(getter) {\r\n if (getter) {\r\n return selectProp(getter).min()\r\n }\r\n return standardAggregate(\"min\")\r\n },\r\n max: function(getter) {\r\n if (getter) {\r\n return selectProp(getter).max()\r\n }\r\n return standardAggregate(\"max\")\r\n },\r\n avg: function(getter) {\r\n if (getter) {\r\n return selectProp(getter).avg()\r\n }\r\n return standardAggregate(\"avg\")\r\n }\r\n }\r\n};\r\nmodule.exports = arrayQueryImpl;\r\n","/*!\n * devextreme-react\n * Version: 19.1.6\n * Build date: Wed Sep 11 2019\n *\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction mergeNameParts() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return args.filter(function (value) { return value; }).join(\".\");\n}\nexports.mergeNameParts = mergeNameParts;\nfunction parseOptionName(name) {\n var parts = name.split(\"[\");\n if (parts.length === 1) {\n return {\n isCollectionItem: false,\n name: name\n };\n }\n return {\n isCollectionItem: true,\n name: parts[0],\n index: Number(parts[1].slice(0, -1))\n };\n}\nexports.parseOptionName = parseOptionName;\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.elementContextTypes = exports.injectContextTypes = undefined;\n\nvar _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; };\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _Provider = require('./Provider');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar injectContextTypes = exports.injectContextTypes = {\n getRegisteredElements: _propTypes2.default.func.isRequired,\n elements: _propTypes2.default.object\n};\n\nvar elementContextTypes = exports.elementContextTypes = {\n addElementsLoadListener: _propTypes2.default.func.isRequired,\n registerElement: _propTypes2.default.func.isRequired,\n unregisterElement: _propTypes2.default.func.isRequired\n};\n\nvar Elements = function (_React$Component) {\n _inherits(Elements, _React$Component);\n\n function Elements(props, context) {\n _classCallCheck(this, Elements);\n\n var _this = _possibleConstructorReturn(this, _React$Component.call(this, props, context));\n\n _this._elements = null;\n\n _this.handleRegisterElement = function (element, impliedTokenType, impliedSourceType, impliedPaymentMethodType) {\n _this.setState(function (prevState) {\n return {\n registeredElements: [].concat(_toConsumableArray(prevState.registeredElements), [_extends({\n element: element\n }, impliedTokenType ? { impliedTokenType: impliedTokenType } : {}, impliedSourceType ? { impliedSourceType: impliedSourceType } : {}, impliedPaymentMethodType ? { impliedPaymentMethodType: impliedPaymentMethodType } : {})])\n };\n });\n };\n\n _this.handleUnregisterElement = function (el) {\n _this.setState(function (prevState) {\n return {\n registeredElements: prevState.registeredElements.filter(function (_ref) {\n var element = _ref.element;\n return element !== el;\n })\n };\n });\n };\n\n var _this$props = _this.props,\n children = _this$props.children,\n options = _objectWithoutProperties(_this$props, ['children']);\n\n if (_this.context.tag === 'sync') {\n _this._elements = _this.context.stripe.elements(options);\n }\n\n _this.state = {\n registeredElements: []\n };\n return _this;\n }\n\n Elements.prototype.getChildContext = function getChildContext() {\n var _this2 = this;\n\n return {\n addElementsLoadListener: function addElementsLoadListener(fn) {\n // Return the existing elements instance if we already have one.\n if (_this2.context.tag === 'sync') {\n // This is impossible, but we need to make flow happy.\n if (!_this2._elements) {\n throw new Error('Expected elements to be instantiated but it was not.');\n }\n\n fn(_this2._elements);\n } else {\n _this2.context.addStripeLoadListener(function (stripe) {\n if (_this2._elements) {\n fn(_this2._elements);\n } else {\n var _props = _this2.props,\n _children = _props.children,\n options = _objectWithoutProperties(_props, ['children']);\n\n _this2._elements = stripe.elements(options);\n fn(_this2._elements);\n }\n });\n }\n },\n registerElement: this.handleRegisterElement,\n unregisterElement: this.handleUnregisterElement,\n getRegisteredElements: function getRegisteredElements() {\n return _this2.state.registeredElements;\n },\n elements: this._elements\n };\n };\n\n Elements.prototype.render = function render() {\n return _react2.default.Children.only(this.props.children);\n };\n\n return Elements;\n}(_react2.default.Component);\n\nElements.childContextTypes = _extends({}, injectContextTypes, elementContextTypes);\nElements.contextTypes = _Provider.providerContextTypes;\nElements.defaultProps = {\n children: null\n};\nexports.default = Elements;","/**\r\n * DevExtreme (localization/message.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar $ = require(\"../core/renderer\"),\r\n dependencyInjector = require(\"../core/utils/dependency_injector\"),\r\n extend = require(\"../core/utils/extend\").extend,\r\n each = require(\"../core/utils/iterator\").each,\r\n stringFormat = require(\"../core/utils/string\").format,\r\n humanize = require(\"../core/utils/inflector\").humanize,\r\n coreLocalization = require(\"./core\");\r\nrequire(\"./core\");\r\nvar PARENT_LOCALE_SEPARATOR = \"-\";\r\nvar baseDictionary = extend(true, {}, require(\"./default_messages\"));\r\nvar parentLocales = require(\"./cldr-data/parentLocales\");\r\nvar getParentLocale = function(locale) {\r\n var parentLocale = parentLocales[locale];\r\n if (parentLocale) {\r\n return \"root\" !== parentLocale && parentLocale\r\n }\r\n return locale.substr(0, locale.lastIndexOf(PARENT_LOCALE_SEPARATOR))\r\n};\r\nvar getDataByLocale = function(localeData, locale) {\r\n return localeData[locale] || {}\r\n};\r\nvar getValueByClosestLocale = function(localeData, locale, key) {\r\n var isRootLocale, value = getDataByLocale(localeData, locale)[key];\r\n while (!value && !isRootLocale) {\r\n locale = getParentLocale(locale);\r\n if (locale) {\r\n value = getDataByLocale(localeData, locale)[key]\r\n } else {\r\n isRootLocale = true\r\n }\r\n }\r\n return value\r\n};\r\nvar newMessages = {};\r\nvar messageLocalization = dependencyInjector({\r\n _dictionary: baseDictionary,\r\n load: function(messages) {\r\n extend(true, this._dictionary, messages)\r\n },\r\n _localizablePrefix: \"@\",\r\n setup: function(localizablePrefix) {\r\n this._localizablePrefix = localizablePrefix\r\n },\r\n localizeString: function(text) {\r\n var that = this,\r\n regex = new RegExp(\"(^|[^a-zA-Z_0-9\" + that._localizablePrefix + \"-]+)(\" + that._localizablePrefix + \"{1,2})([a-zA-Z_0-9-]+)\", \"g\"),\r\n escapeString = that._localizablePrefix + that._localizablePrefix;\r\n return text.replace(regex, function(str, prefix, escape, localizationKey) {\r\n var result, defaultResult = that._localizablePrefix + localizationKey;\r\n if (escape !== escapeString) {\r\n result = that.format(localizationKey)\r\n }\r\n if (!result) {\r\n newMessages[localizationKey] = humanize(localizationKey)\r\n }\r\n return prefix + (result || defaultResult)\r\n })\r\n },\r\n _messageLoaded: function(key, locale) {\r\n return void 0 !== getValueByClosestLocale(this._dictionary, locale || coreLocalization.locale(), key)\r\n },\r\n localizeNode: function(node) {\r\n var that = this;\r\n $(node).each(function(index, nodeItem) {\r\n if (!nodeItem.nodeType) {\r\n return\r\n }\r\n if (3 === nodeItem.nodeType) {\r\n nodeItem.nodeValue = that.localizeString(nodeItem.nodeValue)\r\n } else {\r\n if (!$(nodeItem).is(\"iframe\")) {\r\n each(nodeItem.attributes || [], function(index, attr) {\r\n if (\"string\" === typeof attr.value) {\r\n var localizedValue = that.localizeString(attr.value);\r\n if (attr.value !== localizedValue) {\r\n attr.value = localizedValue\r\n }\r\n }\r\n });\r\n $(nodeItem).contents().each(function(index, node) {\r\n that.localizeNode(node)\r\n })\r\n }\r\n }\r\n })\r\n },\r\n getMessagesByLocales: function() {\r\n return this._dictionary\r\n },\r\n getDictionary: function(onlyNew) {\r\n if (onlyNew) {\r\n return newMessages\r\n }\r\n return extend({}, newMessages, this.getMessagesByLocales()[coreLocalization.locale()])\r\n },\r\n getFormatter: function(key) {\r\n return this._getFormatterBase(key) || this._getFormatterBase(key, \"en\")\r\n },\r\n _getFormatterBase: function(key, locale) {\r\n var message = getValueByClosestLocale(this._dictionary, locale || coreLocalization.locale(), key);\r\n if (message) {\r\n return function() {\r\n var args = 1 === arguments.length && Array.isArray(arguments[0]) ? arguments[0].slice(0) : Array.prototype.slice.call(arguments, 0);\r\n args.unshift(message);\r\n return stringFormat.apply(this, args)\r\n }\r\n }\r\n },\r\n format: function(key) {\r\n var formatter = this.getFormatter(key);\r\n var values = Array.prototype.slice.call(arguments, 1);\r\n return formatter && formatter.apply(this, values) || \"\"\r\n }\r\n});\r\nmodule.exports = messageLocalization;\r\n","/**\r\n * DevExtreme (events/click.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar $ = require(\"../core/renderer\"),\r\n eventsEngine = require(\"../events/core/events_engine\"),\r\n devices = require(\"../core/devices\"),\r\n domAdapter = require(\"../core/dom_adapter\"),\r\n domUtils = require(\"../core/utils/dom\"),\r\n animationFrame = require(\"../animation/frame\"),\r\n eventUtils = require(\"./utils\"),\r\n pointerEvents = require(\"./pointer\"),\r\n Emitter = require(\"./core/emitter\"),\r\n registerEmitter = require(\"./core/emitter_registrator\"),\r\n compareVersions = require(\"../core/utils/version\").compare;\r\nvar CLICK_EVENT_NAME = \"dxclick\",\r\n TOUCH_BOUNDARY = 10,\r\n abs = Math.abs;\r\nvar isInput = function(element) {\r\n return $(element).is(\"input, textarea, select, button ,:focus, :focus *\")\r\n};\r\nvar misc = {\r\n requestAnimationFrame: animationFrame.requestAnimationFrame,\r\n cancelAnimationFrame: animationFrame.cancelAnimationFrame\r\n};\r\nvar ClickEmitter = Emitter.inherit({\r\n ctor: function(element) {\r\n this.callBase(element);\r\n this._makeElementClickable($(element))\r\n },\r\n _makeElementClickable: function($element) {\r\n if (!$element.attr(\"onclick\")) {\r\n $element.attr(\"onclick\", \"void(0)\")\r\n }\r\n },\r\n start: function(e) {\r\n this._blurPrevented = e.isDefaultPrevented();\r\n this._startTarget = e.target;\r\n this._startEventData = eventUtils.eventData(e)\r\n },\r\n end: function(e) {\r\n if (this._eventOutOfElement(e, this.getElement().get(0)) || e.type === pointerEvents.cancel) {\r\n this._cancel(e);\r\n return\r\n }\r\n if (!isInput(e.target) && !this._blurPrevented) {\r\n domUtils.resetActiveElement()\r\n }\r\n this._accept(e);\r\n this._clickAnimationFrame = misc.requestAnimationFrame(function() {\r\n this._fireClickEvent(e)\r\n }.bind(this))\r\n },\r\n _eventOutOfElement: function(e, element) {\r\n var target = e.target,\r\n targetChanged = !domUtils.contains(element, target) && element !== target,\r\n gestureDelta = eventUtils.eventDelta(eventUtils.eventData(e), this._startEventData),\r\n boundsExceeded = abs(gestureDelta.x) > TOUCH_BOUNDARY || abs(gestureDelta.y) > TOUCH_BOUNDARY;\r\n return targetChanged || boundsExceeded\r\n },\r\n _fireClickEvent: function(e) {\r\n this._fireEvent(CLICK_EVENT_NAME, e, {\r\n target: domUtils.closestCommonParent(this._startTarget, e.target)\r\n })\r\n },\r\n dispose: function() {\r\n misc.cancelAnimationFrame(this._clickAnimationFrame)\r\n }\r\n});\r\n! function() {\r\n var NATIVE_CLICK_CLASS = \"dx-native-click\";\r\n var realDevice = devices.real(),\r\n useNativeClick = realDevice.generic || realDevice.ios && compareVersions(realDevice.version, [9, 3]) >= 0 || realDevice.android && compareVersions(realDevice.version, [5]) >= 0;\r\n var isNativeClickEvent = function(target) {\r\n return useNativeClick || $(target).closest(\".\" + NATIVE_CLICK_CLASS).length\r\n };\r\n var prevented = null,\r\n lastFiredEvent = null;\r\n var clickHandler = function(e) {\r\n var originalEvent = e.originalEvent,\r\n eventAlreadyFired = lastFiredEvent === originalEvent || originalEvent && originalEvent.DXCLICK_FIRED,\r\n leftButton = !e.which || 1 === e.which;\r\n if (leftButton && !prevented && isNativeClickEvent(e.target) && !eventAlreadyFired) {\r\n if (originalEvent) {\r\n originalEvent.DXCLICK_FIRED = true\r\n }\r\n lastFiredEvent = originalEvent;\r\n eventUtils.fireEvent({\r\n type: CLICK_EVENT_NAME,\r\n originalEvent: e\r\n })\r\n }\r\n };\r\n ClickEmitter = ClickEmitter.inherit({\r\n _makeElementClickable: function($element) {\r\n if (!isNativeClickEvent($element)) {\r\n this.callBase($element)\r\n }\r\n eventsEngine.on($element, \"click\", clickHandler)\r\n },\r\n configure: function(data) {\r\n this.callBase(data);\r\n if (data.useNative) {\r\n this.getElement().addClass(NATIVE_CLICK_CLASS)\r\n }\r\n },\r\n start: function(e) {\r\n prevented = null;\r\n if (!isNativeClickEvent(e.target)) {\r\n this.callBase(e)\r\n }\r\n },\r\n end: function(e) {\r\n if (!isNativeClickEvent(e.target)) {\r\n this.callBase(e)\r\n }\r\n },\r\n cancel: function() {\r\n prevented = true\r\n },\r\n dispose: function() {\r\n this.callBase();\r\n eventsEngine.off(this.getElement(), \"click\", clickHandler)\r\n }\r\n })\r\n}();\r\n! function() {\r\n var desktopDevice = devices.real().generic;\r\n if (!desktopDevice) {\r\n var startTarget = null,\r\n blurPrevented = false;\r\n var pointerDownHandler = function(e) {\r\n startTarget = e.target;\r\n blurPrevented = e.isDefaultPrevented()\r\n };\r\n var clickHandler = function(e) {\r\n var $target = $(e.target);\r\n if (!blurPrevented && startTarget && !$target.is(startTarget) && !$(startTarget).is(\"label\") && isInput($target)) {\r\n domUtils.resetActiveElement()\r\n }\r\n startTarget = null;\r\n blurPrevented = false\r\n };\r\n var NATIVE_CLICK_FIXER_NAMESPACE = \"NATIVE_CLICK_FIXER\",\r\n document = domAdapter.getDocument();\r\n eventsEngine.subscribeGlobal(document, eventUtils.addNamespace(pointerEvents.down, NATIVE_CLICK_FIXER_NAMESPACE), pointerDownHandler);\r\n eventsEngine.subscribeGlobal(document, eventUtils.addNamespace(\"click\", NATIVE_CLICK_FIXER_NAMESPACE), clickHandler)\r\n }\r\n}();\r\nregisterEmitter({\r\n emitter: ClickEmitter,\r\n bubble: true,\r\n events: [CLICK_EVENT_NAME]\r\n});\r\nexports.name = CLICK_EVENT_NAME;\r\n","/**\r\n * DevExtreme (ui/widget/ui.widget.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar $ = require(\"../../core/renderer\"),\r\n eventsEngine = require(\"../../events/core/events_engine\"),\r\n errors = require(\"./ui.errors\"),\r\n Action = require(\"../../core/action\"),\r\n extend = require(\"../../core/utils/extend\").extend,\r\n inArray = require(\"../../core/utils/array\").inArray,\r\n each = require(\"../../core/utils/iterator\").each,\r\n commonUtils = require(\"../../core/utils/common\"),\r\n typeUtils = require(\"../../core/utils/type\"),\r\n domUtils = require(\"../../core/utils/dom\"),\r\n domAdapter = require(\"../../core/dom_adapter\"),\r\n devices = require(\"../../core/devices\"),\r\n DOMComponent = require(\"../../core/dom_component\"),\r\n Template = require(\"./template\"),\r\n TemplateBase = require(\"./ui.template_base\"),\r\n FunctionTemplate = require(\"./function_template\"),\r\n EmptyTemplate = require(\"./empty_template\"),\r\n ChildDefaultTemplate = require(\"./child_default_template\"),\r\n KeyboardProcessor = require(\"./ui.keyboard_processor\"),\r\n selectors = require(\"./selectors\"),\r\n eventUtils = require(\"../../events/utils\"),\r\n hoverEvents = require(\"../../events/hover\"),\r\n feedbackEvents = require(\"../../events/core/emitter.feedback\"),\r\n clickEvent = require(\"../../events/click\"),\r\n inflector = require(\"../../core/utils/inflector\");\r\nvar UI_FEEDBACK = \"UIFeedback\",\r\n WIDGET_CLASS = \"dx-widget\",\r\n ACTIVE_STATE_CLASS = \"dx-state-active\",\r\n DISABLED_STATE_CLASS = \"dx-state-disabled\",\r\n INVISIBLE_STATE_CLASS = \"dx-state-invisible\",\r\n HOVER_STATE_CLASS = \"dx-state-hover\",\r\n FOCUSED_STATE_CLASS = \"dx-state-focused\",\r\n FEEDBACK_SHOW_TIMEOUT = 30,\r\n FEEDBACK_HIDE_TIMEOUT = 400,\r\n FOCUS_NAMESPACE = \"Focus\",\r\n ANONYMOUS_TEMPLATE_NAME = \"template\",\r\n TEXT_NODE = 3,\r\n TEMPLATE_SELECTOR = \"[data-options*='dxTemplate']\",\r\n TEMPLATE_WRAPPER_CLASS = \"dx-template-wrapper\";\r\nvar DX_POLYMORPH_WIDGET_TEMPLATE = new FunctionTemplate(function(options) {\r\n var widgetName = options.model.widget;\r\n if (widgetName) {\r\n var widgetElement = $(\"
\"),\r\n widgetOptions = options.model.options || {};\r\n if (\"button\" === widgetName || \"tabs\" === widgetName || \"dropDownMenu\" === widgetName) {\r\n var deprecatedName = widgetName;\r\n widgetName = inflector.camelize(\"dx-\" + widgetName);\r\n errors.log(\"W0001\", \"dxToolbar - 'widget' item field\", deprecatedName, \"16.1\", \"Use: '\" + widgetName + \"' instead\")\r\n }\r\n if (options.parent) {\r\n options.parent._createComponent(widgetElement, widgetName, widgetOptions)\r\n } else {\r\n widgetElement[widgetName](widgetOptions)\r\n }\r\n return widgetElement\r\n }\r\n return $()\r\n});\r\nvar Widget = DOMComponent.inherit({\r\n _supportedKeys: function() {\r\n return {}\r\n },\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n disabled: false,\r\n visible: true,\r\n hint: void 0,\r\n activeStateEnabled: false,\r\n onContentReady: null,\r\n hoverStateEnabled: false,\r\n focusStateEnabled: false,\r\n tabIndex: 0,\r\n accessKey: null,\r\n onFocusIn: null,\r\n onFocusOut: null,\r\n integrationOptions: {\r\n watchMethod: function(fn, callback, options) {\r\n options = options || {};\r\n if (!options.skipImmediate) {\r\n callback(fn())\r\n }\r\n return commonUtils.noop\r\n },\r\n templates: {\r\n \"dx-polymorph-widget\": DX_POLYMORPH_WIDGET_TEMPLATE\r\n },\r\n createTemplate: function(element) {\r\n return new Template(element)\r\n }\r\n },\r\n _keyboardProcessor: void 0\r\n })\r\n },\r\n _feedbackShowTimeout: FEEDBACK_SHOW_TIMEOUT,\r\n _feedbackHideTimeout: FEEDBACK_HIDE_TIMEOUT,\r\n _init: function() {\r\n this.callBase();\r\n this._tempTemplates = [];\r\n this._defaultTemplates = {};\r\n this._initTemplates();\r\n this._initContentReadyAction()\r\n },\r\n _initTemplates: function() {\r\n this._extractTemplates();\r\n this._extractAnonymousTemplate()\r\n },\r\n _clearInnerOptionCache: function(optionContainer) {\r\n this[optionContainer + \"Cache\"] = {}\r\n },\r\n _cacheInnerOptions: function(optionContainer, optionValue) {\r\n var cacheName = optionContainer + \"Cache\";\r\n this[cacheName] = extend(this[cacheName], optionValue)\r\n },\r\n _getOptionsFromContainer: function(_ref) {\r\n var name = _ref.name,\r\n fullName = _ref.fullName,\r\n value = _ref.value;\r\n var options = {};\r\n if (name === fullName) {\r\n options = value\r\n } else {\r\n var option = fullName.split(\".\").pop();\r\n options[option] = value\r\n }\r\n return options\r\n },\r\n _innerOptionChanged: function(innerWidget, args) {\r\n var options = this._getOptionsFromContainer(args);\r\n innerWidget && innerWidget.option(options);\r\n this._cacheInnerOptions(args.name, options)\r\n },\r\n _getInnerOptionsCache: function(optionContainer) {\r\n return this[optionContainer + \"Cache\"]\r\n },\r\n _initInnerOptionCache: function(optionContainer) {\r\n this._clearInnerOptionCache(optionContainer);\r\n this._cacheInnerOptions(optionContainer, this.option(optionContainer))\r\n },\r\n _bindInnerWidgetOptions: function(innerWidget, optionsContainer) {\r\n this._options[optionsContainer] = extend({}, innerWidget.option());\r\n innerWidget.on(\"optionChanged\", function(e) {\r\n this._options[optionsContainer] = extend({}, e.component.option())\r\n }.bind(this))\r\n },\r\n _extractTemplates: function() {\r\n var templateElements = this.$element().contents().filter(TEMPLATE_SELECTOR);\r\n var templatesMap = {};\r\n templateElements.each(function(_, template) {\r\n var templateOptions = domUtils.getElementOptions(template).dxTemplate;\r\n if (!templateOptions) {\r\n return\r\n }\r\n if (!templateOptions.name) {\r\n throw errors.Error(\"E0023\")\r\n }\r\n $(template).addClass(TEMPLATE_WRAPPER_CLASS).detach();\r\n templatesMap[templateOptions.name] = templatesMap[templateOptions.name] || [];\r\n templatesMap[templateOptions.name].push(template)\r\n });\r\n each(templatesMap, function(templateName, value) {\r\n var deviceTemplate = this._findTemplateByDevice(value);\r\n if (deviceTemplate) {\r\n this._saveTemplate(templateName, deviceTemplate)\r\n }\r\n }.bind(this))\r\n },\r\n _saveTemplate: function(name, template) {\r\n var templates = this.option(\"integrationOptions.templates\");\r\n templates[name] = this._createTemplate(template)\r\n },\r\n _findTemplateByDevice: function(templates) {\r\n var suitableTemplate = commonUtils.findBestMatches(devices.current(), templates, function(template) {\r\n return domUtils.getElementOptions(template).dxTemplate\r\n })[0];\r\n each(templates, function(index, template) {\r\n if (template !== suitableTemplate) {\r\n $(template).remove()\r\n }\r\n });\r\n return suitableTemplate\r\n },\r\n _extractAnonymousTemplate: function() {\r\n var templates = this.option(\"integrationOptions.templates\"),\r\n anonymousTemplateName = this._getAnonymousTemplateName(),\r\n $anonymousTemplate = this.$element().contents().detach();\r\n var $notJunkTemplateContent = $anonymousTemplate.filter(function(_, element) {\r\n var isTextNode = element.nodeType === TEXT_NODE,\r\n isEmptyText = $(element).text().trim().length < 1;\r\n return !(isTextNode && isEmptyText)\r\n }),\r\n onlyJunkTemplateContent = $notJunkTemplateContent.length < 1;\r\n if (!templates[anonymousTemplateName] && !onlyJunkTemplateContent) {\r\n templates[anonymousTemplateName] = this._createTemplate($anonymousTemplate)\r\n }\r\n },\r\n _getAriaTarget: function() {\r\n return this._focusTarget()\r\n },\r\n _getAnonymousTemplateName: function() {\r\n return ANONYMOUS_TEMPLATE_NAME\r\n },\r\n _getTemplateByOption: function(optionName) {\r\n return this._getTemplate(this.option(optionName))\r\n },\r\n _getTemplate: function(templateSource) {\r\n if (typeUtils.isFunction(templateSource)) {\r\n return new FunctionTemplate(function(options) {\r\n var templateSourceResult = templateSource.apply(this, this._getNormalizedTemplateArgs(options));\r\n if (!typeUtils.isDefined(templateSourceResult)) {\r\n return new EmptyTemplate\r\n }\r\n var dispose = false;\r\n var template = this._acquireTemplate(templateSourceResult, function(templateSource) {\r\n if (templateSource.nodeType || typeUtils.isRenderer(templateSource) && !$(templateSource).is(\"script\")) {\r\n return new FunctionTemplate(function() {\r\n return templateSource\r\n })\r\n }\r\n dispose = true;\r\n return this._createTemplate(templateSource)\r\n }.bind(this));\r\n var result = template.render(options);\r\n dispose && template.dispose && template.dispose();\r\n return result\r\n }.bind(this))\r\n }\r\n return this._acquireTemplate(templateSource, this._createTemplateIfNeeded.bind(this))\r\n },\r\n _acquireTemplate: function(templateSource, createTemplate) {\r\n if (null == templateSource) {\r\n return new EmptyTemplate\r\n }\r\n if (templateSource instanceof ChildDefaultTemplate) {\r\n return this._defaultTemplates[templateSource.name]\r\n }\r\n if (templateSource instanceof TemplateBase) {\r\n return templateSource\r\n }\r\n if (typeUtils.isFunction(templateSource.render) && !typeUtils.isRenderer(templateSource)) {\r\n return this._addOneRenderedCall(templateSource)\r\n }\r\n if (templateSource.nodeType || typeUtils.isRenderer(templateSource)) {\r\n return createTemplate($(templateSource))\r\n }\r\n if (\"string\" === typeof templateSource) {\r\n return this._renderIntegrationTemplate(templateSource) || this._defaultTemplates[templateSource] || createTemplate(templateSource)\r\n }\r\n return this._acquireTemplate(templateSource.toString(), createTemplate)\r\n },\r\n _addOneRenderedCall: function(template) {\r\n var _render = template.render.bind(template);\r\n return extend({}, template, {\r\n render: function(options) {\r\n var templateResult = _render(options);\r\n options && options.onRendered && options.onRendered();\r\n return templateResult\r\n }\r\n })\r\n },\r\n _renderIntegrationTemplate: function(templateSource) {\r\n var integrationTemplate = this.option(\"integrationOptions.templates\")[templateSource];\r\n if (integrationTemplate && !(integrationTemplate instanceof TemplateBase)) {\r\n var isAsyncTemplate = this.option(\"templatesRenderAsynchronously\");\r\n if (!isAsyncTemplate) {\r\n return this._addOneRenderedCall(integrationTemplate)\r\n }\r\n }\r\n return integrationTemplate\r\n },\r\n _createTemplateIfNeeded: function(templateSource) {\r\n var templateKey = function(templateSource) {\r\n return typeUtils.isRenderer(templateSource) && templateSource[0] || templateSource\r\n };\r\n var cachedTemplate = this._tempTemplates.filter(function(t) {\r\n templateSource = templateKey(templateSource);\r\n return t.source === templateSource\r\n })[0];\r\n if (cachedTemplate) {\r\n return cachedTemplate.template\r\n }\r\n var template = this._createTemplate(templateSource);\r\n this._tempTemplates.push({\r\n template: template,\r\n source: templateKey(templateSource)\r\n });\r\n return template\r\n },\r\n _createTemplate: function(templateSource) {\r\n templateSource = \"string\" === typeof templateSource ? domUtils.normalizeTemplateElement(templateSource) : templateSource;\r\n return this.option(\"integrationOptions.createTemplate\")(templateSource)\r\n },\r\n _getNormalizedTemplateArgs: function(options) {\r\n var args = [];\r\n if (\"model\" in options) {\r\n args.push(options.model)\r\n }\r\n if (\"index\" in options) {\r\n args.push(options.index)\r\n }\r\n args.push(options.container);\r\n return args\r\n },\r\n _cleanTemplates: function() {\r\n this._tempTemplates.forEach(function(t) {\r\n t.template.dispose && t.template.dispose()\r\n });\r\n this._tempTemplates = []\r\n },\r\n _initContentReadyAction: function() {\r\n this._contentReadyAction = this._createActionByOption(\"onContentReady\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })\r\n },\r\n _initMarkup: function() {\r\n this.$element().addClass(WIDGET_CLASS);\r\n this._toggleDisabledState(this.option(\"disabled\"));\r\n this._toggleVisibility(this.option(\"visible\"));\r\n this._renderHint();\r\n if (this._isFocusable()) {\r\n this._renderFocusTarget()\r\n }\r\n this.callBase()\r\n },\r\n _render: function() {\r\n this.callBase();\r\n this._renderContent();\r\n this._renderFocusState();\r\n this._attachFeedbackEvents();\r\n this._attachHoverEvents()\r\n },\r\n _renderHint: function() {\r\n var hint = this.option(\"hint\");\r\n this.$element().attr(\"title\", hint ? hint : null)\r\n },\r\n _renderContent: function() {\r\n var _this = this;\r\n commonUtils.deferRender(function() {\r\n if (_this._disposed) {\r\n return\r\n }\r\n return _this._renderContentImpl()\r\n }).done(function() {\r\n if (_this._disposed) {\r\n return\r\n }\r\n _this._fireContentReadyAction()\r\n })\r\n },\r\n _renderContentImpl: commonUtils.noop,\r\n _fireContentReadyAction: commonUtils.deferRenderer(function() {\r\n this._contentReadyAction()\r\n }),\r\n _dispose: function() {\r\n this._cleanTemplates();\r\n this._contentReadyAction = null;\r\n this.callBase()\r\n },\r\n _resetActiveState: function() {\r\n this._toggleActiveState(this._eventBindingTarget(), false)\r\n },\r\n _clean: function() {\r\n this._cleanFocusState();\r\n this._resetActiveState();\r\n this.callBase();\r\n this.$element().empty()\r\n },\r\n _toggleVisibility: function(visible) {\r\n this.$element().toggleClass(INVISIBLE_STATE_CLASS, !visible);\r\n this.setAria(\"hidden\", !visible || void 0)\r\n },\r\n _renderFocusState: function() {\r\n this._attachKeyboardEvents();\r\n if (!this._isFocusable()) {\r\n return\r\n }\r\n this._renderFocusTarget();\r\n this._attachFocusEvents();\r\n this._renderAccessKey()\r\n },\r\n _renderAccessKey: function() {\r\n var focusTarget = this._focusTarget();\r\n focusTarget.attr(\"accesskey\", this.option(\"accessKey\"));\r\n var clickNamespace = eventUtils.addNamespace(clickEvent.name, UI_FEEDBACK);\r\n eventsEngine.off(focusTarget, clickNamespace);\r\n this.option(\"accessKey\") && eventsEngine.on(focusTarget, clickNamespace, function(e) {\r\n if (eventUtils.isFakeClickEvent(e)) {\r\n e.stopImmediatePropagation();\r\n this.focus()\r\n }\r\n }.bind(this))\r\n },\r\n _isFocusable: function() {\r\n return this.option(\"focusStateEnabled\") && !this.option(\"disabled\")\r\n },\r\n _eventBindingTarget: function() {\r\n return this.$element()\r\n },\r\n _focusTarget: function() {\r\n return this._getActiveElement()\r\n },\r\n _getActiveElement: function() {\r\n var activeElement = this._eventBindingTarget();\r\n if (this._activeStateUnit) {\r\n activeElement = activeElement.find(this._activeStateUnit).not(\".\" + DISABLED_STATE_CLASS)\r\n }\r\n return activeElement\r\n },\r\n _renderFocusTarget: function() {\r\n this._focusTarget().attr(\"tabIndex\", this.option(\"tabIndex\"))\r\n },\r\n _keyboardEventBindingTarget: function() {\r\n return this._eventBindingTarget()\r\n },\r\n _detachFocusEvents: function() {\r\n var $element = this._focusTarget(),\r\n namespace = this.NAME + FOCUS_NAMESPACE,\r\n focusEvents = eventUtils.addNamespace(\"focusin\", namespace);\r\n focusEvents = focusEvents + \" \" + eventUtils.addNamespace(\"focusout\", namespace);\r\n if (domAdapter.hasDocumentProperty(\"onbeforeactivate\")) {\r\n focusEvents = focusEvents + \" \" + eventUtils.addNamespace(\"beforeactivate\", namespace)\r\n }\r\n eventsEngine.off($element, focusEvents)\r\n },\r\n _attachFocusEvents: function() {\r\n var namespace = this.NAME + FOCUS_NAMESPACE,\r\n focusInEvent = eventUtils.addNamespace(\"focusin\", namespace),\r\n focusOutEvent = eventUtils.addNamespace(\"focusout\", namespace);\r\n var $focusTarget = this._focusTarget();\r\n eventsEngine.on($focusTarget, focusInEvent, this._focusInHandler.bind(this));\r\n eventsEngine.on($focusTarget, focusOutEvent, this._focusOutHandler.bind(this));\r\n if (domAdapter.hasDocumentProperty(\"onbeforeactivate\")) {\r\n var beforeActivateEvent = eventUtils.addNamespace(\"beforeactivate\", namespace);\r\n eventsEngine.on(this._focusTarget(), beforeActivateEvent, function(e) {\r\n if (!$(e.target).is(selectors.focusable)) {\r\n e.preventDefault()\r\n }\r\n })\r\n }\r\n },\r\n _refreshFocusEvent: function() {\r\n this._detachFocusEvents();\r\n this._attachFocusEvents()\r\n },\r\n _focusInHandler: function(e) {\r\n var that = this;\r\n that._createActionByOption(\"onFocusIn\", {\r\n beforeExecute: function() {\r\n that._updateFocusState(e, true)\r\n },\r\n excludeValidators: [\"readOnly\"]\r\n })({\r\n event: e\r\n })\r\n },\r\n _focusOutHandler: function(e) {\r\n var that = this;\r\n that._createActionByOption(\"onFocusOut\", {\r\n beforeExecute: function() {\r\n that._updateFocusState(e, false)\r\n },\r\n excludeValidators: [\"readOnly\", \"disabled\"]\r\n })({\r\n event: e\r\n })\r\n },\r\n _updateFocusState: function(e, isFocused) {\r\n var target = e.target;\r\n if (inArray(target, this._focusTarget()) !== -1) {\r\n this._toggleFocusClass(isFocused, $(target))\r\n }\r\n },\r\n _toggleFocusClass: function(isFocused, $element) {\r\n var $focusTarget = $element && $element.length ? $element : this._focusTarget();\r\n $focusTarget.toggleClass(FOCUSED_STATE_CLASS, isFocused)\r\n },\r\n _hasFocusClass: function(element) {\r\n var $focusTarget = $(element || this._focusTarget());\r\n return $focusTarget.hasClass(FOCUSED_STATE_CLASS)\r\n },\r\n _isFocused: function() {\r\n return this._hasFocusClass()\r\n },\r\n _attachKeyboardEvents: function() {\r\n var processor = this.option(\"_keyboardProcessor\");\r\n if (processor) {\r\n this._keyboardProcessor = processor.reinitialize(this._keyboardHandler, this)\r\n } else {\r\n if (this.option(\"focusStateEnabled\")) {\r\n this._disposeKeyboardProcessor();\r\n this._keyboardProcessor = new KeyboardProcessor({\r\n element: this._keyboardEventBindingTarget(),\r\n handler: this._keyboardHandler,\r\n focusTarget: this._focusTarget(),\r\n context: this\r\n })\r\n }\r\n }\r\n },\r\n _keyboardHandler: function(options) {\r\n var e = options.originalEvent;\r\n var keyName = options.keyName;\r\n var keyCode = options.which;\r\n var keys = this._supportedKeys(e),\r\n func = keys[keyName] || keys[keyCode];\r\n if (void 0 !== func) {\r\n var handler = func.bind(this);\r\n return handler(e) || false\r\n } else {\r\n return true\r\n }\r\n },\r\n _refreshFocusState: function() {\r\n this._cleanFocusState();\r\n this._renderFocusState()\r\n },\r\n _cleanFocusState: function() {\r\n var $element = this._focusTarget();\r\n this._detachFocusEvents();\r\n this._toggleFocusClass(false);\r\n $element.removeAttr(\"tabIndex\");\r\n this._disposeKeyboardProcessor()\r\n },\r\n _disposeKeyboardProcessor: function() {\r\n if (this._keyboardProcessor) {\r\n this._keyboardProcessor.dispose();\r\n delete this._keyboardProcessor\r\n }\r\n },\r\n _attachHoverEvents: function() {\r\n var that = this,\r\n hoverableSelector = that._activeStateUnit,\r\n nameStart = eventUtils.addNamespace(hoverEvents.start, UI_FEEDBACK),\r\n nameEnd = eventUtils.addNamespace(hoverEvents.end, UI_FEEDBACK);\r\n eventsEngine.off(that._eventBindingTarget(), nameStart, hoverableSelector);\r\n eventsEngine.off(that._eventBindingTarget(), nameEnd, hoverableSelector);\r\n if (that.option(\"hoverStateEnabled\")) {\r\n var startAction = new Action(function(args) {\r\n that._hoverStartHandler(args.event);\r\n that._refreshHoveredElement($(args.element))\r\n }, {\r\n excludeValidators: [\"readOnly\"]\r\n });\r\n var $eventBindingTarget = that._eventBindingTarget();\r\n eventsEngine.on($eventBindingTarget, nameStart, hoverableSelector, function(e) {\r\n startAction.execute({\r\n element: $(e.target),\r\n event: e\r\n })\r\n });\r\n eventsEngine.on($eventBindingTarget, nameEnd, hoverableSelector, function(e) {\r\n that._hoverEndHandler(e);\r\n that._forgetHoveredElement()\r\n })\r\n } else {\r\n that._toggleHoverClass(false)\r\n }\r\n },\r\n _hoverStartHandler: commonUtils.noop,\r\n _hoverEndHandler: commonUtils.noop,\r\n _attachFeedbackEvents: function() {\r\n var feedbackAction, feedbackActionDisabled, that = this,\r\n feedbackSelector = that._activeStateUnit,\r\n activeEventName = eventUtils.addNamespace(feedbackEvents.active, UI_FEEDBACK),\r\n inactiveEventName = eventUtils.addNamespace(feedbackEvents.inactive, UI_FEEDBACK);\r\n eventsEngine.off(that._eventBindingTarget(), activeEventName, feedbackSelector);\r\n eventsEngine.off(that._eventBindingTarget(), inactiveEventName, feedbackSelector);\r\n if (that.option(\"activeStateEnabled\")) {\r\n var feedbackActionHandler = function(args) {\r\n var $element = $(args.element),\r\n value = args.value,\r\n dxEvent = args.event;\r\n that._toggleActiveState($element, value, dxEvent)\r\n };\r\n eventsEngine.on(that._eventBindingTarget(), activeEventName, feedbackSelector, {\r\n timeout: that._feedbackShowTimeout\r\n }, function(e) {\r\n feedbackAction = feedbackAction || new Action(feedbackActionHandler);\r\n feedbackAction.execute({\r\n element: $(e.currentTarget),\r\n value: true,\r\n event: e\r\n })\r\n });\r\n eventsEngine.on(that._eventBindingTarget(), inactiveEventName, feedbackSelector, {\r\n timeout: that._feedbackHideTimeout\r\n }, function(e) {\r\n feedbackActionDisabled = feedbackActionDisabled || new Action(feedbackActionHandler, {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n });\r\n feedbackActionDisabled.execute({\r\n element: $(e.currentTarget),\r\n value: false,\r\n event: e\r\n })\r\n })\r\n }\r\n },\r\n _toggleActiveState: function($element, value) {\r\n this._toggleHoverClass(!value);\r\n $element.toggleClass(ACTIVE_STATE_CLASS, value)\r\n },\r\n _refreshHoveredElement: function(hoveredElement) {\r\n var selector = this._activeStateUnit || this._eventBindingTarget();\r\n this._forgetHoveredElement();\r\n this._hoveredElement = hoveredElement.closest(selector);\r\n this._toggleHoverClass(true)\r\n },\r\n _forgetHoveredElement: function() {\r\n this._toggleHoverClass(false);\r\n delete this._hoveredElement\r\n },\r\n _toggleHoverClass: function(value) {\r\n if (this._hoveredElement) {\r\n this._hoveredElement.toggleClass(HOVER_STATE_CLASS, value && this.option(\"hoverStateEnabled\"))\r\n }\r\n },\r\n _toggleDisabledState: function(value) {\r\n this.$element().toggleClass(DISABLED_STATE_CLASS, Boolean(value));\r\n this._toggleHoverClass(!value);\r\n this.setAria(\"disabled\", value || void 0)\r\n },\r\n _setWidgetOption: function(widgetName, args) {\r\n if (!this[widgetName]) {\r\n return\r\n }\r\n if (typeUtils.isPlainObject(args[0])) {\r\n each(args[0], function(option, value) {\r\n this._setWidgetOption(widgetName, [option, value])\r\n }.bind(this));\r\n return\r\n }\r\n var optionName = args[0];\r\n var value = args[1];\r\n if (1 === args.length) {\r\n value = this.option(optionName)\r\n }\r\n var widgetOptionMap = this[widgetName + \"OptionMap\"];\r\n this[widgetName].option(widgetOptionMap ? widgetOptionMap(optionName) : optionName, value)\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"disabled\":\r\n this._toggleDisabledState(args.value);\r\n this._refreshFocusState();\r\n break;\r\n case \"hint\":\r\n this._renderHint();\r\n break;\r\n case \"activeStateEnabled\":\r\n this._attachFeedbackEvents();\r\n break;\r\n case \"hoverStateEnabled\":\r\n this._attachHoverEvents();\r\n break;\r\n case \"tabIndex\":\r\n case \"_keyboardProcessor\":\r\n case \"focusStateEnabled\":\r\n this._refreshFocusState();\r\n break;\r\n case \"onFocusIn\":\r\n case \"onFocusOut\":\r\n break;\r\n case \"accessKey\":\r\n this._renderAccessKey();\r\n break;\r\n case \"visible\":\r\n var visible = args.value;\r\n this._toggleVisibility(visible);\r\n if (this._isVisibilityChangeSupported()) {\r\n this._checkVisibilityChanged(args.value ? \"shown\" : \"hiding\")\r\n }\r\n break;\r\n case \"onContentReady\":\r\n this._initContentReadyAction();\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _isVisible: function() {\r\n return this.callBase() && this.option(\"visible\")\r\n },\r\n beginUpdate: function() {\r\n this._ready(false);\r\n this.callBase()\r\n },\r\n endUpdate: function() {\r\n this.callBase();\r\n if (this._initialized) {\r\n this._ready(true)\r\n }\r\n },\r\n _ready: function(value) {\r\n if (0 === arguments.length) {\r\n return this._isReady\r\n }\r\n this._isReady = value\r\n },\r\n setAria: function() {\r\n var setAttribute = function(option) {\r\n var attrName = \"role\" === option.name || \"id\" === option.name ? option.name : \"aria-\" + option.name,\r\n attrValue = option.value;\r\n if (typeUtils.isDefined(attrValue)) {\r\n attrValue = attrValue.toString()\r\n } else {\r\n attrValue = null\r\n }\r\n option.target.attr(attrName, attrValue)\r\n };\r\n if (!typeUtils.isPlainObject(arguments[0])) {\r\n setAttribute({\r\n name: arguments[0],\r\n value: arguments[1],\r\n target: arguments[2] || this._getAriaTarget()\r\n })\r\n } else {\r\n var $target = arguments[1] || this._getAriaTarget();\r\n each(arguments[0], function(key, value) {\r\n setAttribute({\r\n name: key,\r\n value: value,\r\n target: $target\r\n })\r\n })\r\n }\r\n },\r\n isReady: function() {\r\n return this._ready()\r\n },\r\n repaint: function() {\r\n this._refresh()\r\n },\r\n focus: function() {\r\n eventsEngine.trigger(this._focusTarget(), \"focus\")\r\n },\r\n registerKeyHandler: function(key, handler) {\r\n var currentKeys = this._supportedKeys(),\r\n addingKeys = {};\r\n addingKeys[key] = handler;\r\n this._supportedKeys = function() {\r\n return extend(currentKeys, addingKeys)\r\n }\r\n }\r\n});\r\nmodule.exports = Widget;\r\n","/**\r\n * DevExtreme (ui/themes.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar $ = require(\"../core/renderer\"),\r\n domAdapter = require(\"../core/dom_adapter\"),\r\n windowUtils = require(\"../core/utils/window\"),\r\n window = windowUtils.getWindow(),\r\n Deferred = require(\"../core/utils/deferred\").Deferred,\r\n errors = require(\"./widget/ui.errors\"),\r\n domUtils = require(\"../core/utils/dom\"),\r\n readyCallbacks = require(\"../core/utils/ready_callbacks\"),\r\n ready = readyCallbacks.add,\r\n each = require(\"../core/utils/iterator\").each,\r\n devices = require(\"../core/devices\"),\r\n viewPortUtils = require(\"../core/utils/view_port\"),\r\n themeReadyCallback = require(\"./themes_callback\"),\r\n viewPort = viewPortUtils.value,\r\n Promise = require(\"../core/polyfills/promise\"),\r\n viewPortChanged = viewPortUtils.changeCallback;\r\nvar DX_LINK_SELECTOR = \"link[rel=dx-theme]\",\r\n THEME_ATTR = \"data-theme\",\r\n ACTIVE_ATTR = \"data-active\",\r\n DX_HAIRLINES_CLASS = \"dx-hairlines\";\r\nvar context, $activeThemeLink, knownThemes, currentThemeName, pendingThemeName;\r\nvar timerId;\r\nvar THEME_MARKER_PREFIX = \"dx.\";\r\n\r\nfunction readThemeMarker() {\r\n if (!windowUtils.hasWindow()) {\r\n return null\r\n }\r\n var result, element = $(\"
\", context).addClass(\"dx-theme-marker\").appendTo(context.documentElement);\r\n try {\r\n result = element.css(\"fontFamily\");\r\n if (!result) {\r\n return null\r\n }\r\n result = result.replace(/[\"']/g, \"\");\r\n if (result.substr(0, THEME_MARKER_PREFIX.length) !== THEME_MARKER_PREFIX) {\r\n return null\r\n }\r\n return result.substr(THEME_MARKER_PREFIX.length)\r\n } finally {\r\n element.remove()\r\n }\r\n}\r\n\r\nfunction waitForThemeLoad(themeName) {\r\n var waitStartTime;\r\n pendingThemeName = themeName;\r\n\r\n function handleLoaded() {\r\n pendingThemeName = null;\r\n themeReadyCallback.fire();\r\n themeReadyCallback.empty()\r\n }\r\n if (isPendingThemeLoaded()) {\r\n handleLoaded()\r\n } else {\r\n waitStartTime = Date.now();\r\n timerId = setInterval(function() {\r\n var isLoaded = isPendingThemeLoaded(),\r\n isTimeout = !isLoaded && Date.now() - waitStartTime > 15e3;\r\n if (isTimeout) {\r\n errors.log(\"W0004\", pendingThemeName)\r\n }\r\n if (isLoaded || isTimeout) {\r\n clearInterval(timerId);\r\n timerId = void 0;\r\n handleLoaded()\r\n }\r\n }, 10)\r\n }\r\n}\r\n\r\nfunction isPendingThemeLoaded() {\r\n return !pendingThemeName || readThemeMarker() === pendingThemeName\r\n}\r\n\r\nfunction processMarkup() {\r\n var $allThemeLinks = $(DX_LINK_SELECTOR, context);\r\n if (!$allThemeLinks.length) {\r\n return\r\n }\r\n knownThemes = {};\r\n $activeThemeLink = $(domUtils.createMarkupFromString(\"\"), context);\r\n $allThemeLinks.each(function() {\r\n var link = $(this, context),\r\n fullThemeName = link.attr(THEME_ATTR),\r\n url = link.attr(\"href\"),\r\n isActive = \"true\" === link.attr(ACTIVE_ATTR);\r\n knownThemes[fullThemeName] = {\r\n url: url,\r\n isActive: isActive\r\n }\r\n });\r\n $allThemeLinks.last().after($activeThemeLink);\r\n $allThemeLinks.remove()\r\n}\r\n\r\nfunction resolveFullThemeName(desiredThemeName) {\r\n var desiredThemeParts = desiredThemeName.split(\".\"),\r\n result = null;\r\n if (knownThemes) {\r\n if (desiredThemeName in knownThemes) {\r\n return desiredThemeName\r\n }\r\n each(knownThemes, function(knownThemeName, themeData) {\r\n var knownThemeParts = knownThemeName.split(\".\");\r\n if (knownThemeParts[0] !== desiredThemeParts[0]) {\r\n return\r\n }\r\n if (desiredThemeParts[1] && desiredThemeParts[1] !== knownThemeParts[1]) {\r\n return\r\n }\r\n if (desiredThemeParts[2] && desiredThemeParts[2] !== knownThemeParts[2]) {\r\n return\r\n }\r\n if (!result || themeData.isActive) {\r\n result = knownThemeName\r\n }\r\n if (themeData.isActive) {\r\n return false\r\n }\r\n })\r\n }\r\n return result\r\n}\r\n\r\nfunction initContext(newContext) {\r\n try {\r\n if (newContext !== context) {\r\n knownThemes = null\r\n }\r\n } catch (x) {\r\n knownThemes = null\r\n }\r\n context = newContext\r\n}\r\n\r\nfunction init(options) {\r\n options = options || {};\r\n initContext(options.context || domAdapter.getDocument());\r\n if (!context) {\r\n return\r\n }\r\n processMarkup();\r\n currentThemeName = void 0;\r\n current(options)\r\n}\r\n\r\nfunction current(options) {\r\n if (!arguments.length) {\r\n currentThemeName = currentThemeName || readThemeMarker();\r\n return currentThemeName\r\n }\r\n detachCssClasses(viewPort());\r\n options = options || {};\r\n if (\"string\" === typeof options) {\r\n options = {\r\n theme: options\r\n }\r\n }\r\n var currentThemeData, isAutoInit = options._autoInit,\r\n loadCallback = options.loadCallback;\r\n currentThemeName = options.theme || currentThemeName;\r\n if (isAutoInit && !currentThemeName) {\r\n currentThemeName = themeNameFromDevice(devices.current())\r\n }\r\n currentThemeName = resolveFullThemeName(currentThemeName);\r\n if (currentThemeName) {\r\n currentThemeData = knownThemes[currentThemeName]\r\n }\r\n if (loadCallback) {\r\n themeReadyCallback.add(loadCallback)\r\n }\r\n if (currentThemeData) {\r\n $activeThemeLink.attr(\"href\", knownThemes[currentThemeName].url);\r\n if ((themeReadyCallback.has() || options._forceTimeout) && !timerId) {\r\n waitForThemeLoad(currentThemeName)\r\n } else {\r\n if (pendingThemeName) {\r\n pendingThemeName = currentThemeName\r\n }\r\n }\r\n } else {\r\n if (isAutoInit) {\r\n themeReadyCallback.fire();\r\n themeReadyCallback.empty()\r\n } else {\r\n throw errors.Error(\"E0021\", currentThemeName)\r\n }\r\n }\r\n checkThemeDeprecation();\r\n attachCssClasses(viewPortUtils.originalViewPort(), currentThemeName)\r\n}\r\n\r\nfunction themeNameFromDevice(device) {\r\n var themeName = device.platform;\r\n switch (themeName) {\r\n case \"ios\":\r\n return \"ios7\";\r\n case \"android\":\r\n case \"win\":\r\n return \"generic\"\r\n }\r\n return themeName\r\n}\r\n\r\nfunction getCssClasses(themeName) {\r\n themeName = themeName || current();\r\n var result = [],\r\n themeNameParts = themeName && themeName.split(\".\");\r\n if (themeNameParts) {\r\n result.push(\"dx-theme-\" + themeNameParts[0], \"dx-theme-\" + themeNameParts[0] + \"-typography\");\r\n if (themeNameParts.length > 1) {\r\n result.push(\"dx-color-scheme-\" + themeNameParts[1] + (isMaterial(themeName) ? \"-\" + themeNameParts[2] : \"\"))\r\n }\r\n }\r\n return result\r\n}\r\nvar themeClasses;\r\n\r\nfunction attachCssClasses(element, themeName) {\r\n themeClasses = getCssClasses(themeName).join(\" \");\r\n $(element).addClass(themeClasses);\r\n var activateHairlines = function() {\r\n var pixelRatio = windowUtils.hasWindow() && window.devicePixelRatio;\r\n if (!pixelRatio || pixelRatio < 2) {\r\n return\r\n }\r\n var $tester = $(\"
\");\r\n $tester.css(\"border\", \".5px solid transparent\");\r\n $(\"body\").append($tester);\r\n if (1 === $tester.outerHeight()) {\r\n $(element).addClass(DX_HAIRLINES_CLASS);\r\n themeClasses += \" \" + DX_HAIRLINES_CLASS\r\n }\r\n $tester.remove()\r\n };\r\n activateHairlines()\r\n}\r\n\r\nfunction detachCssClasses(element) {\r\n $(element).removeClass(themeClasses)\r\n}\r\n\r\nfunction themeReady(callback) {\r\n themeReadyCallback.add(callback)\r\n}\r\n\r\nfunction isTheme(themeRegExp, themeName) {\r\n if (!themeName) {\r\n themeName = currentThemeName || readThemeMarker()\r\n }\r\n return new RegExp(themeRegExp).test(themeName)\r\n}\r\n\r\nfunction isMaterial(themeName) {\r\n return isTheme(\"material\", themeName)\r\n}\r\n\r\nfunction isIos7(themeName) {\r\n return isTheme(\"ios7\", themeName)\r\n}\r\n\r\nfunction isGeneric(themeName) {\r\n return isTheme(\"generic\", themeName)\r\n}\r\n\r\nfunction checkThemeDeprecation() {\r\n if (isIos7()) {\r\n errors.log(\"W0010\", \"The 'ios7' theme\", \"19.1\", \"Use the 'generic' theme instead.\")\r\n }\r\n}\r\n\r\nfunction isWebFontLoaded(text, fontWeight) {\r\n var testedFont = \"Roboto, RobotoFallback, Arial\";\r\n var etalonFont = \"Arial\";\r\n var document = domAdapter.getDocument();\r\n var testElement = document.createElement(\"span\");\r\n testElement.style.position = \"absolute\";\r\n testElement.style.top = \"-9999px\";\r\n testElement.style.left = \"-9999px\";\r\n testElement.style.visibility = \"hidden\";\r\n testElement.style.fontFamily = etalonFont;\r\n testElement.style.fontSize = \"250px\";\r\n testElement.style.fontWeight = fontWeight;\r\n testElement.innerHTML = text;\r\n document.body.appendChild(testElement);\r\n var etalonFontWidth = testElement.offsetWidth;\r\n testElement.style.fontFamily = testedFont;\r\n var testedFontWidth = testElement.offsetWidth;\r\n testElement.parentNode.removeChild(testElement);\r\n return etalonFontWidth !== testedFontWidth\r\n}\r\n\r\nfunction waitWebFont(text, fontWeight) {\r\n var interval = 15;\r\n var timeout = 2e3;\r\n return new Promise(function(resolve) {\r\n var check = function() {\r\n if (isWebFontLoaded(text, fontWeight)) {\r\n clear()\r\n }\r\n };\r\n var clear = function() {\r\n clearInterval(intervalId);\r\n clearTimeout(timeoutId);\r\n resolve()\r\n };\r\n var intervalId = setInterval(check, interval);\r\n var timeoutId = setTimeout(clear, timeout)\r\n })\r\n}\r\nvar initDeferred = new Deferred;\r\n\r\nfunction autoInit() {\r\n init({\r\n _autoInit: true,\r\n _forceTimeout: true\r\n });\r\n if ($(DX_LINK_SELECTOR, context).length) {\r\n throw errors.Error(\"E0022\")\r\n }\r\n initDeferred.resolve()\r\n}\r\nif (windowUtils.hasWindow()) {\r\n autoInit()\r\n} else {\r\n ready(autoInit)\r\n}\r\nviewPortChanged.add(function(viewPort, prevViewPort) {\r\n initDeferred.done(function() {\r\n detachCssClasses(prevViewPort);\r\n attachCssClasses(viewPort)\r\n })\r\n});\r\ndevices.changed.add(function() {\r\n init({\r\n _autoInit: true\r\n })\r\n});\r\nexports.current = current;\r\nexports.ready = themeReady;\r\nexports.init = init;\r\nexports.attachCssClasses = attachCssClasses;\r\nexports.detachCssClasses = detachCssClasses;\r\nexports.themeNameFromDevice = themeNameFromDevice;\r\nexports.waitForThemeLoad = waitForThemeLoad;\r\nexports.isMaterial = isMaterial;\r\nexports.isIos7 = isIos7;\r\nexports.isGeneric = isGeneric;\r\nexports.isWebFontLoaded = isWebFontLoaded;\r\nexports.waitWebFont = waitWebFont;\r\nexports.resetTheme = function() {\r\n $activeThemeLink && $activeThemeLink.attr(\"href\", \"about:blank\");\r\n currentThemeName = null;\r\n pendingThemeName = null\r\n};\r\nmodule.exports.default = module.exports;\r\n","/**\r\n * DevExtreme (core/utils/object.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar typeUtils = require(\"./type\"),\r\n variableWrapper = require(\"./variable_wrapper\");\r\nvar clone = function() {\r\n function Clone() {}\r\n return function(obj) {\r\n Clone.prototype = obj;\r\n return new Clone\r\n }\r\n}();\r\nvar orderEach = function(map, func) {\r\n var key, i, keys = [];\r\n for (key in map) {\r\n if (Object.prototype.hasOwnProperty.call(map, key)) {\r\n keys.push(key)\r\n }\r\n }\r\n keys.sort(function(x, y) {\r\n var isNumberX = typeUtils.isNumeric(x),\r\n isNumberY = typeUtils.isNumeric(y);\r\n if (isNumberX && isNumberY) {\r\n return x - y\r\n }\r\n if (isNumberX && !isNumberY) {\r\n return -1\r\n }\r\n if (!isNumberX && isNumberY) {\r\n return 1\r\n }\r\n if (x < y) {\r\n return -1\r\n }\r\n if (x > y) {\r\n return 1\r\n }\r\n return 0\r\n });\r\n for (i = 0; i < keys.length; i++) {\r\n key = keys[i];\r\n func(key, map[key])\r\n }\r\n};\r\nvar assignValueToProperty = function(target, property, value, assignByReference) {\r\n if (!assignByReference && variableWrapper.isWrapped(target[property])) {\r\n variableWrapper.assign(target[property], value)\r\n } else {\r\n target[property] = value\r\n }\r\n};\r\nvar deepExtendArraySafe = function deepExtendArraySafe(target, changes, extendComplexObject, assignByReference) {\r\n var prevValue, newValue;\r\n for (var name in changes) {\r\n prevValue = target[name];\r\n newValue = changes[name];\r\n if (\"__proto__\" === name || target === newValue) {\r\n continue\r\n }\r\n if (typeUtils.isPlainObject(newValue)) {\r\n var goDeeper = extendComplexObject ? typeUtils.isObject(prevValue) : typeUtils.isPlainObject(prevValue);\r\n newValue = deepExtendArraySafe(goDeeper ? prevValue : {}, newValue, extendComplexObject, assignByReference)\r\n }\r\n if (void 0 !== newValue && prevValue !== newValue) {\r\n assignValueToProperty(target, name, newValue, assignByReference)\r\n }\r\n }\r\n return target\r\n};\r\nexports.clone = clone;\r\nexports.orderEach = orderEach;\r\nexports.deepExtendArraySafe = deepExtendArraySafe;\r\n","/**\r\n * DevExtreme (data/data_source/data_source.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar Class = require(\"../../core/class\"),\r\n extend = require(\"../../core/utils/extend\").extend,\r\n commonUtils = require(\"../../core/utils/common\"),\r\n iteratorUtils = require(\"../../core/utils/iterator\"),\r\n ajax = require(\"../../core/utils/ajax\"),\r\n typeUtils = require(\"../../core/utils/type\"),\r\n dataUtils = require(\"../utils\"),\r\n arrayUtils = require(\"../array_utils\"),\r\n Store = require(\"../abstract_store\"),\r\n ArrayStore = require(\"../array_store\"),\r\n CustomStore = require(\"../custom_store\"),\r\n EventsMixin = require(\"../../core/events_mixin\"),\r\n errors = require(\"../errors\").errors,\r\n array = require(\"../../core/utils/array\"),\r\n queue = require(\"../../core/utils/queue\"),\r\n deferredUtils = require(\"../../core/utils/deferred\"),\r\n when = deferredUtils.when,\r\n Deferred = deferredUtils.Deferred,\r\n __isString = typeUtils.isString,\r\n __isNumber = typeUtils.isNumeric,\r\n __isBoolean = typeUtils.isBoolean,\r\n __isDefined = typeUtils.isDefined;\r\nvar CANCELED_TOKEN = \"canceled\";\r\n\r\nfunction OperationManager() {\r\n this._counter = -1;\r\n this._deferreds = {}\r\n}\r\nOperationManager.prototype.constructor = OperationManager;\r\nOperationManager.prototype.add = function(deferred) {\r\n this._counter += 1;\r\n this._deferreds[this._counter] = deferred;\r\n return this._counter\r\n};\r\nOperationManager.prototype.remove = function(operationId) {\r\n return delete this._deferreds[operationId]\r\n};\r\nOperationManager.prototype.cancel = function(operationId) {\r\n if (operationId in this._deferreds) {\r\n this._deferreds[operationId].reject(CANCELED_TOKEN);\r\n return true\r\n }\r\n return false\r\n};\r\nOperationManager.prototype.cancelAll = function() {\r\n while (this._counter > -1) {\r\n this.cancel(this._counter);\r\n this._counter--\r\n }\r\n};\r\n\r\nfunction isPending(deferred) {\r\n return \"pending\" === deferred.state()\r\n}\r\n\r\nfunction normalizeDataSourceOptions(options, normalizationOptions) {\r\n var store;\r\n\r\n function createCustomStoreFromLoadFunc() {\r\n var storeConfig = {};\r\n iteratorUtils.each([\"useDefaultSearch\", \"key\", \"load\", \"loadMode\", \"cacheRawData\", \"byKey\", \"lookup\", \"totalCount\", \"insert\", \"update\", \"remove\"], function() {\r\n storeConfig[this] = options[this];\r\n delete options[this]\r\n });\r\n return new CustomStore(storeConfig)\r\n }\r\n\r\n function createStoreFromConfig(storeConfig) {\r\n var alias = storeConfig.type;\r\n delete storeConfig.type;\r\n return Store.create(alias, storeConfig)\r\n }\r\n\r\n function createCustomStoreFromUrl(url) {\r\n return new CustomStore({\r\n load: function() {\r\n return ajax.sendRequest({\r\n url: url,\r\n dataType: \"json\"\r\n })\r\n },\r\n loadMode: normalizationOptions && normalizationOptions.fromUrlLoadMode\r\n })\r\n }\r\n if (\"string\" === typeof options) {\r\n options = {\r\n paginate: false,\r\n store: createCustomStoreFromUrl(options)\r\n }\r\n }\r\n if (void 0 === options) {\r\n options = []\r\n }\r\n if (Array.isArray(options) || options instanceof Store) {\r\n options = {\r\n store: options\r\n }\r\n } else {\r\n options = extend({}, options)\r\n }\r\n if (void 0 === options.store) {\r\n options.store = []\r\n }\r\n store = options.store;\r\n if (\"load\" in options) {\r\n store = createCustomStoreFromLoadFunc()\r\n } else {\r\n if (Array.isArray(store)) {\r\n store = new ArrayStore(store)\r\n } else {\r\n if (typeUtils.isPlainObject(store)) {\r\n store = createStoreFromConfig(extend({}, store))\r\n }\r\n }\r\n }\r\n options.store = store;\r\n return options\r\n}\r\n\r\nfunction normalizeStoreLoadOptionAccessorArguments(originalArguments) {\r\n switch (originalArguments.length) {\r\n case 0:\r\n return;\r\n case 1:\r\n return originalArguments[0]\r\n }\r\n return [].slice.call(originalArguments)\r\n}\r\n\r\nfunction generateStoreLoadOptionAccessor(optionName) {\r\n return function() {\r\n var args = normalizeStoreLoadOptionAccessorArguments(arguments);\r\n if (void 0 === args) {\r\n return this._storeLoadOptions[optionName]\r\n }\r\n this._storeLoadOptions[optionName] = args\r\n }\r\n}\r\n\r\nfunction mapDataRespectingGrouping(items, mapper, groupInfo) {\r\n function mapRecursive(items, level) {\r\n if (!Array.isArray(items)) {\r\n return items\r\n }\r\n return level ? mapGroup(items, level) : iteratorUtils.map(items, mapper)\r\n }\r\n\r\n function mapGroup(group, level) {\r\n return iteratorUtils.map(group, function(item) {\r\n var result = {\r\n key: item.key,\r\n items: mapRecursive(item.items, level - 1)\r\n };\r\n if (\"aggregates\" in item) {\r\n result.aggregates = item.aggregates\r\n }\r\n return result\r\n })\r\n }\r\n return mapRecursive(items, groupInfo ? dataUtils.normalizeSortingInfo(groupInfo).length : 0)\r\n}\r\n\r\nfunction normalizeLoadResult(data, extra) {\r\n if (data && !Array.isArray(data) && data.data) {\r\n extra = data;\r\n data = data.data\r\n }\r\n if (!Array.isArray(data)) {\r\n data = [data]\r\n }\r\n return {\r\n data: data,\r\n extra: extra\r\n }\r\n}\r\nvar DataSource = Class.inherit({\r\n ctor: function(options) {\r\n var _this = this;\r\n var that = this;\r\n options = normalizeDataSourceOptions(options);\r\n var onPushHandler = 0 !== options.pushAggregationTimeout ? dataUtils.throttleChanges(this._onPush, function() {\r\n if (void 0 === options.pushAggregationTimeout) {\r\n return 5 * that._changedTime\r\n }\r\n return options.pushAggregationTimeout\r\n }) : this._onPush;\r\n this._changedTime = 0;\r\n this._onPushHandler = function(changes) {\r\n _this._aggregationTimeoutId = onPushHandler.call(_this, changes)\r\n };\r\n this._store = options.store;\r\n this._store.on(\"push\", this._onPushHandler);\r\n this._storeLoadOptions = this._extractLoadOptions(options);\r\n this._mapFunc = options.map;\r\n this._postProcessFunc = options.postProcess;\r\n this._pageIndex = void 0 !== options.pageIndex ? options.pageIndex : 0;\r\n this._pageSize = void 0 !== options.pageSize ? options.pageSize : 20;\r\n this._loadingCount = 0;\r\n this._loadQueue = this._createLoadQueue();\r\n this._searchValue = \"searchValue\" in options ? options.searchValue : null;\r\n this._searchOperation = options.searchOperation || \"contains\";\r\n this._searchExpr = options.searchExpr;\r\n this._paginate = options.paginate;\r\n this._reshapeOnPush = __isDefined(options.reshapeOnPush) ? options.reshapeOnPush : false;\r\n iteratorUtils.each([\"onChanged\", \"onLoadError\", \"onLoadingChanged\", \"onCustomizeLoadResult\", \"onCustomizeStoreLoadOptions\"], function(_, optionName) {\r\n if (optionName in options) {\r\n that.on(optionName.substr(2, 1).toLowerCase() + optionName.substr(3), options[optionName])\r\n }\r\n });\r\n this._operationManager = new OperationManager;\r\n this._init()\r\n },\r\n _init: function() {\r\n this._items = [];\r\n this._userData = {};\r\n this._totalCount = -1;\r\n this._isLoaded = false;\r\n if (!__isDefined(this._paginate)) {\r\n this._paginate = !this.group()\r\n }\r\n this._isLastPage = !this._paginate\r\n },\r\n dispose: function() {\r\n this._store.off(\"push\", this._onPushHandler);\r\n this._disposeEvents();\r\n clearTimeout(this._aggregationTimeoutId);\r\n delete this._store;\r\n if (this._delayedLoadTask) {\r\n this._delayedLoadTask.abort()\r\n }\r\n this._operationManager.cancelAll();\r\n this._disposed = true\r\n },\r\n _extractLoadOptions: function(options) {\r\n var result = {},\r\n names = [\"sort\", \"filter\", \"select\", \"group\", \"requireTotalCount\"],\r\n customNames = this._store._customLoadOptions();\r\n if (customNames) {\r\n names = names.concat(customNames)\r\n }\r\n iteratorUtils.each(names, function() {\r\n result[this] = options[this]\r\n });\r\n return result\r\n },\r\n loadOptions: function() {\r\n return this._storeLoadOptions\r\n },\r\n items: function() {\r\n return this._items\r\n },\r\n pageIndex: function(newIndex) {\r\n if (!__isNumber(newIndex)) {\r\n return this._pageIndex\r\n }\r\n this._pageIndex = newIndex;\r\n this._isLastPage = !this._paginate\r\n },\r\n paginate: function(value) {\r\n if (!__isBoolean(value)) {\r\n return this._paginate\r\n }\r\n if (this._paginate !== value) {\r\n this._paginate = value;\r\n this.pageIndex(0)\r\n }\r\n },\r\n pageSize: function(value) {\r\n if (!__isNumber(value)) {\r\n return this._pageSize\r\n }\r\n this._pageSize = value\r\n },\r\n isLastPage: function() {\r\n return this._isLastPage\r\n },\r\n sort: generateStoreLoadOptionAccessor(\"sort\"),\r\n filter: function() {\r\n var newFilter = normalizeStoreLoadOptionAccessorArguments(arguments);\r\n if (void 0 === newFilter) {\r\n return this._storeLoadOptions.filter\r\n }\r\n this._storeLoadOptions.filter = newFilter;\r\n this.pageIndex(0)\r\n },\r\n group: generateStoreLoadOptionAccessor(\"group\"),\r\n select: generateStoreLoadOptionAccessor(\"select\"),\r\n requireTotalCount: function(value) {\r\n if (!__isBoolean(value)) {\r\n return this._storeLoadOptions.requireTotalCount\r\n }\r\n this._storeLoadOptions.requireTotalCount = value\r\n },\r\n searchValue: function(value) {\r\n if (arguments.length < 1) {\r\n return this._searchValue\r\n }\r\n this._searchValue = value;\r\n this.pageIndex(0)\r\n },\r\n searchOperation: function(op) {\r\n if (!__isString(op)) {\r\n return this._searchOperation\r\n }\r\n this._searchOperation = op;\r\n this.pageIndex(0)\r\n },\r\n searchExpr: function(expr) {\r\n var argc = arguments.length;\r\n if (0 === argc) {\r\n return this._searchExpr\r\n }\r\n if (argc > 1) {\r\n expr = [].slice.call(arguments)\r\n }\r\n this._searchExpr = expr;\r\n this.pageIndex(0)\r\n },\r\n store: function() {\r\n return this._store\r\n },\r\n key: function() {\r\n return this._store && this._store.key()\r\n },\r\n totalCount: function() {\r\n return this._totalCount\r\n },\r\n isLoaded: function() {\r\n return this._isLoaded\r\n },\r\n isLoading: function() {\r\n return this._loadingCount > 0\r\n },\r\n beginLoading: function() {\r\n this._changeLoadingCount(1)\r\n },\r\n endLoading: function() {\r\n this._changeLoadingCount(-1)\r\n },\r\n _createLoadQueue: function() {\r\n return queue.create()\r\n },\r\n _changeLoadingCount: function(increment) {\r\n var newLoading, oldLoading = this.isLoading();\r\n this._loadingCount += increment;\r\n newLoading = this.isLoading();\r\n if (oldLoading ^ newLoading) {\r\n this.fireEvent(\"loadingChanged\", [newLoading])\r\n }\r\n },\r\n _scheduleLoadCallbacks: function(deferred) {\r\n var that = this;\r\n that.beginLoading();\r\n deferred.always(function() {\r\n that.endLoading()\r\n })\r\n },\r\n _scheduleFailCallbacks: function(deferred) {\r\n var that = this;\r\n deferred.fail(function() {\r\n if (arguments[0] === CANCELED_TOKEN) {\r\n return\r\n }\r\n that.fireEvent(\"loadError\", arguments)\r\n })\r\n },\r\n _fireChanged: function(args) {\r\n var date = new Date;\r\n this.fireEvent(\"changed\", args);\r\n this._changedTime = new Date - date\r\n },\r\n _scheduleChangedCallbacks: function(deferred) {\r\n var _this2 = this;\r\n deferred.done(function() {\r\n _this2._fireChanged()\r\n })\r\n },\r\n loadSingle: function(propName, propValue) {\r\n var that = this;\r\n var d = new Deferred,\r\n key = this.key(),\r\n store = this._store,\r\n options = this._createStoreLoadOptions(),\r\n handleDone = function(data) {\r\n if (!__isDefined(data) || array.isEmpty(data)) {\r\n d.reject(new errors.Error(\"E4009\"))\r\n } else {\r\n if (!Array.isArray(data)) {\r\n data = [data]\r\n }\r\n d.resolve(that._applyMapFunction(data)[0])\r\n }\r\n };\r\n this._scheduleFailCallbacks(d);\r\n if (arguments.length < 2) {\r\n propValue = propName;\r\n propName = key\r\n }\r\n delete options.skip;\r\n delete options.group;\r\n delete options.refresh;\r\n delete options.pageIndex;\r\n delete options.searchString;\r\n\r\n function shouldForceByKey() {\r\n return store instanceof CustomStore && !store._byKeyViaLoad()\r\n }(function() {\r\n if (propName === key || shouldForceByKey()) {\r\n return store.byKey(propValue, options)\r\n }\r\n options.take = 1;\r\n options.filter = options.filter ? [options.filter, [propName, propValue]] : [propName, propValue];\r\n return store.load(options)\r\n })().fail(d.reject).done(handleDone);\r\n return d.promise()\r\n },\r\n load: function() {\r\n var loadOperation, that = this,\r\n d = new Deferred;\r\n\r\n function loadTask() {\r\n if (that._disposed) {\r\n return\r\n }\r\n if (!isPending(d)) {\r\n return\r\n }\r\n return that._loadFromStore(loadOperation, d)\r\n }\r\n this._scheduleLoadCallbacks(d);\r\n this._scheduleFailCallbacks(d);\r\n this._scheduleChangedCallbacks(d);\r\n loadOperation = this._createLoadOperation(d);\r\n this.fireEvent(\"customizeStoreLoadOptions\", [loadOperation]);\r\n this._loadQueue.add(function() {\r\n if (\"number\" === typeof loadOperation.delay) {\r\n that._delayedLoadTask = commonUtils.executeAsync(loadTask, loadOperation.delay)\r\n } else {\r\n loadTask()\r\n }\r\n return d.promise()\r\n });\r\n return d.promise({\r\n operationId: loadOperation.operationId\r\n })\r\n },\r\n _onPush: function(changes) {\r\n var _this3 = this;\r\n if (this._reshapeOnPush) {\r\n this.load()\r\n } else {\r\n this.fireEvent(\"changing\", [{\r\n changes: changes\r\n }]);\r\n var group = this.group(),\r\n items = this.items(),\r\n groupLevel = 0,\r\n dataSourceChanges = this.paginate() || group ? changes.filter(function(item) {\r\n return \"update\" === item.type\r\n }) : changes;\r\n if (group) {\r\n groupLevel = Array.isArray(group) ? group.length : 1\r\n }\r\n if (this._mapFunc) {\r\n dataSourceChanges.forEach(function(item) {\r\n if (\"insert\" === item.type) {\r\n item.data = _this3._mapFunc(item.data)\r\n }\r\n })\r\n }\r\n arrayUtils.applyBatch(this.store(), items, dataSourceChanges, groupLevel, true);\r\n this._fireChanged([{\r\n changes: changes\r\n }])\r\n }\r\n },\r\n _createLoadOperation: function(deferred) {\r\n var id = this._operationManager.add(deferred),\r\n options = this._createStoreLoadOptions();\r\n deferred.always(function() {\r\n this._operationManager.remove(id)\r\n }.bind(this));\r\n return {\r\n operationId: id,\r\n storeLoadOptions: options\r\n }\r\n },\r\n reload: function() {\r\n var store = this.store();\r\n if (store instanceof CustomStore) {\r\n store.clearRawDataCache()\r\n }\r\n this._init();\r\n return this.load()\r\n },\r\n cancel: function(operationId) {\r\n return this._operationManager.cancel(operationId)\r\n },\r\n cancelAll: function() {\r\n return this._operationManager.cancelAll()\r\n },\r\n _addSearchOptions: function(storeLoadOptions) {\r\n if (this._disposed) {\r\n return\r\n }\r\n if (this.store()._useDefaultSearch) {\r\n this._addSearchFilter(storeLoadOptions)\r\n } else {\r\n storeLoadOptions.searchOperation = this._searchOperation;\r\n storeLoadOptions.searchValue = this._searchValue;\r\n storeLoadOptions.searchExpr = this._searchExpr\r\n }\r\n },\r\n _createStoreLoadOptions: function() {\r\n var result = extend({}, this._storeLoadOptions);\r\n this._addSearchOptions(result);\r\n if (this._paginate) {\r\n if (this._pageSize) {\r\n result.skip = this._pageIndex * this._pageSize;\r\n result.take = this._pageSize\r\n }\r\n }\r\n result.userData = this._userData;\r\n return result\r\n },\r\n _addSearchFilter: function(storeLoadOptions) {\r\n var value = this._searchValue,\r\n op = this._searchOperation,\r\n selector = this._searchExpr,\r\n searchFilter = [];\r\n if (!value) {\r\n return\r\n }\r\n if (!selector) {\r\n selector = \"this\"\r\n }\r\n if (!Array.isArray(selector)) {\r\n selector = [selector]\r\n }\r\n iteratorUtils.each(selector, function(i, item) {\r\n if (searchFilter.length) {\r\n searchFilter.push(\"or\")\r\n }\r\n searchFilter.push([item, op, value])\r\n });\r\n if (storeLoadOptions.filter) {\r\n storeLoadOptions.filter = [searchFilter, storeLoadOptions.filter]\r\n } else {\r\n storeLoadOptions.filter = searchFilter\r\n }\r\n },\r\n _loadFromStore: function(loadOptions, pendingDeferred) {\r\n var that = this;\r\n\r\n function handleSuccess(data, extra) {\r\n function processResult() {\r\n var loadResult = extend(normalizeLoadResult(data, extra), loadOptions);\r\n that.fireEvent(\"customizeLoadResult\", [loadResult]);\r\n when(loadResult.data).done(function(data) {\r\n loadResult.data = data;\r\n that._processStoreLoadResult(loadResult, pendingDeferred)\r\n }).fail(pendingDeferred.reject)\r\n }\r\n if (that._disposed) {\r\n return\r\n }\r\n if (!isPending(pendingDeferred)) {\r\n return\r\n }\r\n processResult()\r\n }\r\n if (loadOptions.data) {\r\n return (new Deferred).resolve(loadOptions.data).done(handleSuccess)\r\n }\r\n return this.store().load(loadOptions.storeLoadOptions).done(handleSuccess).fail(pendingDeferred.reject)\r\n },\r\n _processStoreLoadResult: function(loadResult, pendingDeferred) {\r\n var that = this,\r\n data = loadResult.data,\r\n extra = loadResult.extra,\r\n storeLoadOptions = loadResult.storeLoadOptions;\r\n\r\n function resolvePendingDeferred() {\r\n that._isLoaded = true;\r\n that._totalCount = isFinite(extra.totalCount) ? extra.totalCount : -1;\r\n return pendingDeferred.resolve(data, extra)\r\n }\r\n\r\n function proceedLoadingTotalCount() {\r\n that.store().totalCount(storeLoadOptions).done(function(count) {\r\n extra.totalCount = count;\r\n resolvePendingDeferred()\r\n }).fail(pendingDeferred.reject)\r\n }\r\n if (that._disposed) {\r\n return\r\n }\r\n data = that._applyPostProcessFunction(that._applyMapFunction(data));\r\n if (!typeUtils.isPlainObject(extra)) {\r\n extra = {}\r\n }\r\n that._items = data;\r\n if (!data.length || !that._paginate || that._pageSize && data.length < that._pageSize) {\r\n that._isLastPage = true\r\n }\r\n if (storeLoadOptions.requireTotalCount && !isFinite(extra.totalCount)) {\r\n proceedLoadingTotalCount()\r\n } else {\r\n resolvePendingDeferred()\r\n }\r\n },\r\n _applyMapFunction: function(data) {\r\n if (this._mapFunc) {\r\n return mapDataRespectingGrouping(data, this._mapFunc, this.group())\r\n }\r\n return data\r\n },\r\n _applyPostProcessFunction: function(data) {\r\n if (this._postProcessFunc) {\r\n return this._postProcessFunc(data)\r\n }\r\n return data\r\n }\r\n}).include(EventsMixin);\r\nexports.DataSource = DataSource;\r\nexports.normalizeDataSourceOptions = normalizeDataSourceOptions;\r\nexports.normalizeLoadResult = normalizeLoadResult;\r\n","/**\r\n * DevExtreme (core/guid.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar Class = require(\"./class\");\r\nvar Guid = Class.inherit({\r\n ctor: function(value) {\r\n if (value) {\r\n value = String(value)\r\n }\r\n this._value = this._normalize(value || this._generate())\r\n },\r\n _normalize: function(value) {\r\n value = value.replace(/[^a-f0-9]/gi, \"\").toLowerCase();\r\n while (value.length < 32) {\r\n value += \"0\"\r\n }\r\n return [value.substr(0, 8), value.substr(8, 4), value.substr(12, 4), value.substr(16, 4), value.substr(20, 12)].join(\"-\")\r\n },\r\n _generate: function() {\r\n var value = \"\";\r\n for (var i = 0; i < 32; i++) {\r\n value += Math.round(15 * Math.random()).toString(16)\r\n }\r\n return value\r\n },\r\n toString: function() {\r\n return this._value\r\n },\r\n valueOf: function() {\r\n return this._value\r\n },\r\n toJSON: function() {\r\n return this._value\r\n }\r\n});\r\nmodule.exports = Guid;\r\nmodule.exports.default = module.exports;\r\n","/**\r\n * DevExtreme (animation/position.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar $ = require(\"../core/renderer\"),\r\n commonUtils = require(\"../core/utils/common\"),\r\n each = require(\"../core/utils/iterator\").each,\r\n windowUtils = require(\"../core/utils/window\"),\r\n window = windowUtils.getWindow(),\r\n domAdapter = require(\"../core/dom_adapter\"),\r\n isWindow = require(\"../core/utils/type\").isWindow,\r\n extend = require(\"../core/utils/extend\").extend,\r\n browser = require(\"../core/utils/browser\"),\r\n translator = require(\"./translator\"),\r\n support = require(\"../core/utils/support\");\r\nvar horzRe = /left|right/,\r\n vertRe = /top|bottom/,\r\n collisionRe = /fit|flip|none/,\r\n IS_SAFARI = browser.safari;\r\nvar normalizeAlign = function(raw) {\r\n var result = {\r\n h: \"center\",\r\n v: \"center\"\r\n };\r\n var pair = commonUtils.splitPair(raw);\r\n if (pair) {\r\n each(pair, function() {\r\n var w = String(this).toLowerCase();\r\n if (horzRe.test(w)) {\r\n result.h = w\r\n } else {\r\n if (vertRe.test(w)) {\r\n result.v = w\r\n }\r\n }\r\n })\r\n }\r\n return result\r\n};\r\nvar normalizeOffset = function(raw) {\r\n return commonUtils.pairToObject(raw)\r\n};\r\nvar normalizeCollision = function(raw) {\r\n var pair = commonUtils.splitPair(raw),\r\n h = String(pair && pair[0]).toLowerCase(),\r\n v = String(pair && pair[1]).toLowerCase();\r\n if (!collisionRe.test(h)) {\r\n h = \"none\"\r\n }\r\n if (!collisionRe.test(v)) {\r\n v = h\r\n }\r\n return {\r\n h: h,\r\n v: v\r\n }\r\n};\r\nvar getAlignFactor = function(align) {\r\n switch (align) {\r\n case \"center\":\r\n return .5;\r\n case \"right\":\r\n case \"bottom\":\r\n return 1;\r\n default:\r\n return 0\r\n }\r\n};\r\nvar inverseAlign = function(align) {\r\n switch (align) {\r\n case \"left\":\r\n return \"right\";\r\n case \"right\":\r\n return \"left\";\r\n case \"top\":\r\n return \"bottom\";\r\n case \"bottom\":\r\n return \"top\";\r\n default:\r\n return align\r\n }\r\n};\r\nvar calculateOversize = function(data, bounds) {\r\n var oversize = 0;\r\n if (data.myLocation < bounds.min) {\r\n oversize += bounds.min - data.myLocation\r\n }\r\n if (data.myLocation > bounds.max) {\r\n oversize += data.myLocation - bounds.max\r\n }\r\n return oversize\r\n};\r\nvar collisionSide = function(direction, data, bounds) {\r\n if (data.myLocation < bounds.min) {\r\n return \"h\" === direction ? \"left\" : \"top\"\r\n }\r\n if (data.myLocation > bounds.max) {\r\n return \"h\" === direction ? \"right\" : \"bottom\"\r\n }\r\n return \"none\"\r\n};\r\nvar initMyLocation = function(data) {\r\n data.myLocation = data.atLocation + getAlignFactor(data.atAlign) * data.atSize - getAlignFactor(data.myAlign) * data.mySize + data.offset\r\n};\r\nvar collisionResolvers = {\r\n fit: function(data, bounds) {\r\n var result = false;\r\n if (data.myLocation > bounds.max) {\r\n data.myLocation = bounds.max;\r\n result = true\r\n }\r\n if (data.myLocation < bounds.min) {\r\n data.myLocation = bounds.min;\r\n result = true\r\n }\r\n data.fit = result\r\n },\r\n flip: function(data, bounds) {\r\n data.flip = false;\r\n if (\"center\" === data.myAlign && \"center\" === data.atAlign) {\r\n return\r\n }\r\n if (data.myLocation < bounds.min || data.myLocation > bounds.max) {\r\n var inverseData = extend({}, data, {\r\n myAlign: inverseAlign(data.myAlign),\r\n atAlign: inverseAlign(data.atAlign),\r\n offset: -data.offset\r\n });\r\n initMyLocation(inverseData);\r\n inverseData.oversize = calculateOversize(inverseData, bounds);\r\n if (inverseData.myLocation >= bounds.min && inverseData.myLocation <= bounds.max || data.oversize > inverseData.oversize) {\r\n data.myLocation = inverseData.myLocation;\r\n data.oversize = inverseData.oversize;\r\n data.flip = true\r\n }\r\n }\r\n },\r\n flipfit: function(data, bounds) {\r\n this.flip(data, bounds);\r\n this.fit(data, bounds)\r\n },\r\n none: function(data) {\r\n data.oversize = 0\r\n }\r\n};\r\nvar scrollbarWidth;\r\nvar calculateScrollbarWidth = function() {\r\n var $scrollDiv = $(\"
\").css({\r\n width: 100,\r\n height: 100,\r\n overflow: \"scroll\",\r\n position: \"absolute\",\r\n top: -9999\r\n }).appendTo($(\"body\")),\r\n result = $scrollDiv.get(0).offsetWidth - $scrollDiv.get(0).clientWidth;\r\n $scrollDiv.remove();\r\n scrollbarWidth = result\r\n};\r\nvar defaultPositionResult = {\r\n h: {\r\n location: 0,\r\n flip: false,\r\n fit: false,\r\n oversize: 0\r\n },\r\n v: {\r\n location: 0,\r\n flip: false,\r\n fit: false,\r\n oversize: 0\r\n }\r\n};\r\nvar calculatePosition = function(what, options) {\r\n var $what = $(what),\r\n currentOffset = $what.offset(),\r\n result = extend(true, {}, defaultPositionResult, {\r\n h: {\r\n location: currentOffset.left\r\n },\r\n v: {\r\n location: currentOffset.top\r\n }\r\n });\r\n if (!options) {\r\n return result\r\n }\r\n var my = normalizeAlign(options.my),\r\n at = normalizeAlign(options.at),\r\n of = $(options.of).length && options.of || window,\r\n offset = normalizeOffset(options.offset),\r\n collision = normalizeCollision(options.collision),\r\n boundary = options.boundary,\r\n boundaryOffset = normalizeOffset(options.boundaryOffset);\r\n var h = {\r\n mySize: $what.outerWidth(),\r\n myAlign: my.h,\r\n atAlign: at.h,\r\n offset: offset.h,\r\n collision: collision.h,\r\n boundaryOffset: boundaryOffset.h\r\n };\r\n var v = {\r\n mySize: $what.outerHeight(),\r\n myAlign: my.v,\r\n atAlign: at.v,\r\n offset: offset.v,\r\n collision: collision.v,\r\n boundaryOffset: boundaryOffset.v\r\n };\r\n if ( of .preventDefault) {\r\n h.atLocation = of .pageX;\r\n v.atLocation = of .pageY;\r\n h.atSize = 0;\r\n v.atSize = 0\r\n } else {\r\n of = $( of );\r\n if (isWindow( of [0])) {\r\n h.atLocation = of .scrollLeft();\r\n v.atLocation = of .scrollTop();\r\n h.atSize = of [0].innerWidth >= of [0].outerWidth ? of [0].innerWidth : of .width();\r\n v.atSize = of [0].innerHeight >= of [0].outerHeight || IS_SAFARI ? of [0].innerHeight : of .height()\r\n } else {\r\n if (9 === of [0].nodeType) {\r\n h.atLocation = 0;\r\n v.atLocation = 0;\r\n h.atSize = of .width();\r\n v.atSize = of .height()\r\n } else {\r\n var o = of .offset();\r\n h.atLocation = o.left;\r\n v.atLocation = o.top;\r\n h.atSize = of .outerWidth();\r\n v.atSize = of .outerHeight()\r\n }\r\n }\r\n }\r\n initMyLocation(h);\r\n initMyLocation(v);\r\n var bounds = function() {\r\n var win = $(window),\r\n windowWidth = win.width(),\r\n windowHeight = win.height(),\r\n left = win.scrollLeft(),\r\n top = win.scrollTop(),\r\n documentElement = domAdapter.getDocumentElement(),\r\n hZoomLevel = support.touch ? documentElement.clientWidth / windowWidth : 1,\r\n vZoomLevel = support.touch ? documentElement.clientHeight / windowHeight : 1;\r\n if (void 0 === scrollbarWidth) {\r\n calculateScrollbarWidth()\r\n }\r\n var boundaryWidth = windowWidth,\r\n boundaryHeight = windowHeight;\r\n if (boundary) {\r\n var $boundary = $(boundary),\r\n boundaryPosition = $boundary.offset();\r\n left = boundaryPosition.left;\r\n top = boundaryPosition.top;\r\n boundaryWidth = $boundary.width();\r\n boundaryHeight = $boundary.height()\r\n }\r\n return {\r\n h: {\r\n min: left + h.boundaryOffset,\r\n max: left + boundaryWidth / hZoomLevel - h.mySize - h.boundaryOffset\r\n },\r\n v: {\r\n min: top + v.boundaryOffset,\r\n max: top + boundaryHeight / vZoomLevel - v.mySize - v.boundaryOffset\r\n }\r\n }\r\n }();\r\n h.oversize = calculateOversize(h, bounds.h);\r\n v.oversize = calculateOversize(v, bounds.v);\r\n h.collisionSide = collisionSide(\"h\", h, bounds.h);\r\n v.collisionSide = collisionSide(\"v\", v, bounds.v);\r\n if (collisionResolvers[h.collision]) {\r\n collisionResolvers[h.collision](h, bounds.h)\r\n }\r\n if (collisionResolvers[v.collision]) {\r\n collisionResolvers[v.collision](v, bounds.v)\r\n }\r\n var preciser = function(number) {\r\n return options.precise ? number : Math.round(number)\r\n };\r\n extend(true, result, {\r\n h: {\r\n location: preciser(h.myLocation),\r\n oversize: preciser(h.oversize),\r\n fit: h.fit,\r\n flip: h.flip,\r\n collisionSide: h.collisionSide\r\n },\r\n v: {\r\n location: preciser(v.myLocation),\r\n oversize: preciser(v.oversize),\r\n fit: v.fit,\r\n flip: v.flip,\r\n collisionSide: v.collisionSide\r\n },\r\n precise: options.precise\r\n });\r\n return result\r\n};\r\nvar position = function(what, options) {\r\n var $what = $(what);\r\n if (!options) {\r\n return $what.offset()\r\n }\r\n translator.resetPosition($what, true);\r\n var offset = $what.offset(),\r\n targetPosition = options.h && options.v ? options : calculatePosition($what, options);\r\n var preciser = function(number) {\r\n return options.precise ? number : Math.round(number)\r\n };\r\n translator.move($what, {\r\n left: targetPosition.h.location - preciser(offset.left),\r\n top: targetPosition.v.location - preciser(offset.top)\r\n });\r\n return targetPosition\r\n};\r\nvar offset = function(element) {\r\n element = $(element).get(0);\r\n if (isWindow(element)) {\r\n return null\r\n } else {\r\n if (element && \"pageY\" in element && \"pageX\" in element) {\r\n return {\r\n top: element.pageY,\r\n left: element.pageX\r\n }\r\n }\r\n }\r\n return $(element).offset()\r\n};\r\nif (!position.inverseAlign) {\r\n position.inverseAlign = inverseAlign\r\n}\r\nif (!position.normalizeAlign) {\r\n position.normalizeAlign = normalizeAlign\r\n}\r\nmodule.exports = {\r\n calculateScrollbarWidth: calculateScrollbarWidth,\r\n calculate: calculatePosition,\r\n setup: position,\r\n offset: offset\r\n};\r\n","/**\r\n * DevExtreme (core/polyfills/promise.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar deferredUtils = require(\"../../core/utils/deferred\"),\r\n windowUtils = require(\"../../core/utils/window\"),\r\n Deferred = deferredUtils.Deferred,\r\n when = deferredUtils.when,\r\n promise = windowUtils.hasWindow() ? windowUtils.getWindow().Promise : Promise;\r\nif (!promise) {\r\n promise = function(resolver) {\r\n var d = new Deferred;\r\n resolver(d.resolve.bind(this), d.reject.bind(this));\r\n return d.promise()\r\n };\r\n promise.resolve = function(val) {\r\n return (new Deferred).resolve(val).promise()\r\n };\r\n promise.reject = function(val) {\r\n return (new Deferred).reject(val).promise()\r\n };\r\n promise.all = function(promises) {\r\n return when.apply(this, promises).then(function() {\r\n return [].slice.call(arguments)\r\n })\r\n }\r\n}\r\nmodule.exports = promise;\r\n","/**\r\n * DevExtreme (ui/widget/empty_template.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar $ = require(\"../../core/renderer\"),\r\n TemplateBase = require(\"./ui.template_base\");\r\nvar EmptyTemplate = TemplateBase.inherit({\r\n _renderCore: function() {\r\n return $()\r\n }\r\n});\r\nmodule.exports = EmptyTemplate;\r\n","/**\r\n * DevExtreme (core/utils/style.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar camelize = require(\"./inflector\").camelize,\r\n callOnce = require(\"./call_once\"),\r\n typeUtils = require(\"./type\"),\r\n domAdapter = require(\"../dom_adapter\");\r\nvar jsPrefixes = [\"\", \"Webkit\", \"Moz\", \"O\", \"Ms\"],\r\n cssPrefixes = {\r\n \"\": \"\",\r\n Webkit: \"-webkit-\",\r\n Moz: \"-moz-\",\r\n O: \"-o-\",\r\n ms: \"-ms-\"\r\n },\r\n getStyles = callOnce(function() {\r\n return domAdapter.createElement(\"dx\").style\r\n });\r\nvar forEachPrefixes = function(prop, callBack) {\r\n prop = camelize(prop, true);\r\n var result;\r\n for (var i = 0, cssPrefixesCount = jsPrefixes.length; i < cssPrefixesCount; i++) {\r\n var jsPrefix = jsPrefixes[i];\r\n var prefixedProp = jsPrefix + prop;\r\n var lowerPrefixedProp = camelize(prefixedProp);\r\n result = callBack(lowerPrefixedProp, jsPrefix);\r\n if (void 0 === result) {\r\n result = callBack(prefixedProp, jsPrefix)\r\n }\r\n if (void 0 !== result) {\r\n break\r\n }\r\n }\r\n return result || \"\"\r\n};\r\nvar styleProp = function(name) {\r\n if (name in getStyles()) {\r\n return name\r\n }\r\n var originalName = name;\r\n name = name.charAt(0).toUpperCase() + name.substr(1);\r\n for (var i = 1; i < jsPrefixes.length; i++) {\r\n var prefixedProp = jsPrefixes[i].toLowerCase() + name;\r\n if (prefixedProp in getStyles()) {\r\n return prefixedProp\r\n }\r\n }\r\n return originalName\r\n};\r\nvar stylePropPrefix = function(prop) {\r\n return forEachPrefixes(prop, function(specific, jsPrefix) {\r\n if (specific in getStyles()) {\r\n return cssPrefixes[jsPrefix]\r\n }\r\n })\r\n};\r\nvar pxExceptions = [\"fillOpacity\", \"columnCount\", \"flexGrow\", \"flexShrink\", \"fontWeight\", \"lineHeight\", \"opacity\", \"zIndex\", \"zoom\"];\r\nvar normalizeStyleProp = function(prop, value) {\r\n if (typeUtils.isNumeric(value) && pxExceptions.indexOf(prop) === -1) {\r\n value += \"px\"\r\n }\r\n return value\r\n};\r\nvar setDimensionProperty = function(elements, propertyName, value) {\r\n if (elements) {\r\n value = typeUtils.isNumeric(value) ? value += \"px\" : value;\r\n for (var i = 0; i < elements.length; ++i) {\r\n elements[i].style[propertyName] = value\r\n }\r\n }\r\n};\r\nvar setWidth = function(elements, value) {\r\n setDimensionProperty(elements, \"width\", value)\r\n};\r\nvar setHeight = function(elements, value) {\r\n setDimensionProperty(elements, \"height\", value)\r\n};\r\nexports.styleProp = styleProp;\r\nexports.stylePropPrefix = stylePropPrefix;\r\nexports.normalizeStyleProp = normalizeStyleProp;\r\nexports.setWidth = setWidth;\r\nexports.setHeight = setHeight;\r\n","/**\r\n * DevExtreme (core/remove_event.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar $ = require(\"./renderer\");\r\nvar beforeCleanData = require(\"./element_data\").beforeCleanData;\r\nvar eventsEngine = require(\"../events/core/events_engine\");\r\nvar registerEvent = require(\"../events/core/event_registrator\");\r\nvar eventName = \"dxremove\";\r\nvar eventPropName = \"dxRemoveEvent\";\r\nbeforeCleanData(function(elements) {\r\n elements = [].slice.call(elements);\r\n for (var i = 0; i < elements.length; i++) {\r\n var $element = $(elements[i]);\r\n if ($element.prop(eventPropName)) {\r\n $element[0][eventPropName] = null;\r\n eventsEngine.triggerHandler($element, eventName)\r\n }\r\n }\r\n});\r\nregisterEvent(eventName, {\r\n noBubble: true,\r\n setup: function(element) {\r\n $(element).prop(eventPropName, true)\r\n }\r\n});\r\nmodule.exports = eventName;\r\n","/**\r\n * DevExtreme (core/utils/version.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.compare = function(x, y, maxLevel) {\r\n function normalizeArg(value) {\r\n if (\"string\" === typeof value) {\r\n return value.split(\".\")\r\n }\r\n if (\"number\" === typeof value) {\r\n return [value]\r\n }\r\n return value\r\n }\r\n x = normalizeArg(x);\r\n y = normalizeArg(y);\r\n var length = Math.max(x.length, y.length);\r\n if (isFinite(maxLevel)) {\r\n length = Math.min(length, maxLevel)\r\n }\r\n for (var i = 0; i < length; i++) {\r\n var xItem = parseInt(x[i] || 0, 10),\r\n yItem = parseInt(y[i] || 0, 10);\r\n if (xItem < yItem) {\r\n return -1\r\n }\r\n if (xItem > yItem) {\r\n return 1\r\n }\r\n }\r\n return 0\r\n};\r\n","/**\r\n * DevExtreme (data/array_utils.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _typeof = \"function\" === typeof Symbol && \"symbol\" === typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n} : function(obj) {\r\n return obj && \"function\" === typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n};\r\nvar _type = require(\"../core/utils/type\");\r\nvar _config = require(\"../core/config\");\r\nvar _config2 = _interopRequireDefault(_config);\r\nvar _guid = require(\"../core/guid\");\r\nvar _guid2 = _interopRequireDefault(_guid);\r\nvar _extend = require(\"../core/utils/extend\");\r\nvar _errors = require(\"./errors\");\r\nvar _object = require(\"../core/utils/object\");\r\nvar _object2 = _interopRequireDefault(_object);\r\nvar _utils = require(\"./utils\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\n\r\nfunction hasKey(target, keyOrKeys) {\r\n var key, keys = \"string\" === typeof keyOrKeys ? keyOrKeys.split() : keyOrKeys.slice();\r\n while (keys.length) {\r\n key = keys.shift();\r\n if (key in target) {\r\n return true\r\n }\r\n }\r\n return false\r\n}\r\n\r\nfunction findItems(keyInfo, items, key, groupCount) {\r\n var childItems, result;\r\n if (groupCount) {\r\n for (var i = 0; i < items.length; i++) {\r\n childItems = items[i].items || items[i].collapsedItems || [];\r\n result = findItems(keyInfo, childItems || [], key, groupCount - 1);\r\n if (result) {\r\n return result\r\n }\r\n }\r\n } else {\r\n if (indexByKey(keyInfo, items, key) >= 0) {\r\n return items\r\n }\r\n }\r\n}\r\n\r\nfunction getItems(keyInfo, items, key, groupCount) {\r\n if (groupCount) {\r\n return findItems(keyInfo, items, key, groupCount) || []\r\n }\r\n return items\r\n}\r\n\r\nfunction generateDataByKeyMap(keyInfo, array) {\r\n if (keyInfo.key() && !array._dataByKeyMap) {\r\n var dataByKeyMap = {};\r\n for (var i = 0, arrayLength = array.length; i < arrayLength; i++) {\r\n dataByKeyMap[JSON.stringify(keyInfo.keyOf(array[i]))] = array[i]\r\n }\r\n array._dataByKeyMap = dataByKeyMap\r\n }\r\n}\r\n\r\nfunction getCacheValue(array, key) {\r\n if (array._dataByKeyMap) {\r\n return array._dataByKeyMap[JSON.stringify(key)]\r\n }\r\n}\r\n\r\nfunction getHasKeyCacheValue(array, key) {\r\n if (array._dataByKeyMap) {\r\n return array._dataByKeyMap[JSON.stringify(key)]\r\n }\r\n return true\r\n}\r\n\r\nfunction setDataByKeyMapValue(array, key, data) {\r\n if (array._dataByKeyMap) {\r\n array._dataByKeyMap[JSON.stringify(key)] = data\r\n }\r\n}\r\n\r\nfunction applyBatch(keyInfo, array, batchData, groupCount, useInsertIndex) {\r\n batchData.forEach(function(item) {\r\n var items = \"insert\" === item.type ? array : getItems(keyInfo, array, item.key, groupCount);\r\n generateDataByKeyMap(keyInfo, items);\r\n switch (item.type) {\r\n case \"update\":\r\n update(keyInfo, items, item.key, item.data, true);\r\n break;\r\n case \"insert\":\r\n insert(keyInfo, items, item.data, useInsertIndex && (0, _type.isDefined)(item.index) ? item.index : -1, true);\r\n break;\r\n case \"remove\":\r\n remove(keyInfo, items, item.key, true)\r\n }\r\n })\r\n}\r\n\r\nfunction update(keyInfo, array, key, data, isBatch) {\r\n var target, extendComplexObject = true,\r\n keyExpr = keyInfo.key();\r\n if (keyExpr) {\r\n if (hasKey(data, keyExpr) && !(0, _utils.keysEqual)(keyExpr, key, keyInfo.keyOf(data))) {\r\n return !isBatch && (0, _utils.rejectedPromise)(_errors.errors.Error(\"E4017\"))\r\n }\r\n target = getCacheValue(array, key);\r\n if (!target) {\r\n var index = indexByKey(keyInfo, array, key);\r\n if (index < 0) {\r\n return !isBatch && (0, _utils.rejectedPromise)(_errors.errors.Error(\"E4009\"))\r\n }\r\n target = array[index]\r\n }\r\n } else {\r\n target = key\r\n }\r\n _object2.default.deepExtendArraySafe(target, data, extendComplexObject);\r\n if (!isBatch) {\r\n if ((0, _config2.default)().useLegacyStoreResult) {\r\n return (0, _utils.trivialPromise)(key, data)\r\n } else {\r\n return (0, _utils.trivialPromise)(target, key)\r\n }\r\n }\r\n}\r\n\r\nfunction insert(keyInfo, array, data, index, isBatch) {\r\n var keyValue, obj, keyExpr = keyInfo.key();\r\n obj = (0, _type.isPlainObject)(data) ? (0, _extend.extend)({}, data) : data;\r\n if (keyExpr) {\r\n keyValue = keyInfo.keyOf(obj);\r\n if (void 0 === keyValue || \"object\" === (\"undefined\" === typeof keyValue ? \"undefined\" : _typeof(keyValue)) && (0, _type.isEmptyObject)(keyValue)) {\r\n if (Array.isArray(keyExpr)) {\r\n throw _errors.errors.Error(\"E4007\")\r\n }\r\n keyValue = obj[keyExpr] = String(new _guid2.default)\r\n } else {\r\n if (void 0 !== array[indexByKey(keyInfo, array, keyValue)]) {\r\n return !isBatch && (0, _utils.rejectedPromise)(_errors.errors.Error(\"E4008\"))\r\n }\r\n }\r\n } else {\r\n keyValue = obj\r\n }\r\n if (index >= 0) {\r\n array.splice(index, 0, obj)\r\n } else {\r\n array.push(obj)\r\n }\r\n setDataByKeyMapValue(array, keyValue, obj);\r\n if (!isBatch) {\r\n return (0, _utils.trivialPromise)((0, _config2.default)().useLegacyStoreResult ? data : obj, keyValue)\r\n }\r\n}\r\n\r\nfunction remove(keyInfo, array, key, isBatch) {\r\n var index = indexByKey(keyInfo, array, key);\r\n if (index > -1) {\r\n array.splice(index, 1)\r\n }\r\n if (!isBatch) {\r\n return (0, _utils.trivialPromise)(key)\r\n }\r\n}\r\n\r\nfunction indexByKey(keyInfo, array, key) {\r\n var keyExpr = keyInfo.key();\r\n if (!getHasKeyCacheValue(array, key)) {\r\n return -1\r\n }\r\n for (var i = 0, arrayLength = array.length; i < arrayLength; i++) {\r\n if ((0, _utils.keysEqual)(keyExpr, keyInfo.keyOf(array[i]), key)) {\r\n return i\r\n }\r\n }\r\n return -1\r\n}\r\nmodule.exports.applyBatch = applyBatch;\r\nmodule.exports.update = update;\r\nmodule.exports.insert = insert;\r\nmodule.exports.remove = remove;\r\nmodule.exports.indexByKey = indexByKey;\r\n","/**\r\n * DevExtreme (data/abstract_store.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar Class = require(\"../core/class\"),\r\n abstract = Class.abstract,\r\n EventsMixin = require(\"../core/events_mixin\"),\r\n each = require(\"../core/utils/iterator\").each,\r\n errorsModule = require(\"./errors\"),\r\n dataUtils = require(\"./utils\"),\r\n compileGetter = require(\"../core/utils/data\").compileGetter,\r\n storeHelper = require(\"./store_helper\"),\r\n queryByOptions = storeHelper.queryByOptions,\r\n Deferred = require(\"../core/utils/deferred\").Deferred,\r\n noop = require(\"../core/utils/common\").noop,\r\n storeImpl = {};\r\nvar Store = Class.inherit({\r\n ctor: function(options) {\r\n var that = this;\r\n options = options || {};\r\n each([\"onLoaded\", \"onLoading\", \"onInserted\", \"onInserting\", \"onUpdated\", \"onUpdating\", \"onPush\", \"onRemoved\", \"onRemoving\", \"onModified\", \"onModifying\"], function(_, optionName) {\r\n if (optionName in options) {\r\n that.on(optionName.slice(2).toLowerCase(), options[optionName])\r\n }\r\n });\r\n this._key = options.key;\r\n this._errorHandler = options.errorHandler;\r\n this._useDefaultSearch = true\r\n },\r\n _customLoadOptions: function() {\r\n return null\r\n },\r\n key: function() {\r\n return this._key\r\n },\r\n keyOf: function(obj) {\r\n if (!this._keyGetter) {\r\n this._keyGetter = compileGetter(this.key())\r\n }\r\n return this._keyGetter(obj)\r\n },\r\n _requireKey: function() {\r\n if (!this.key()) {\r\n throw errorsModule.errors.Error(\"E4005\")\r\n }\r\n },\r\n load: function(options) {\r\n var that = this;\r\n options = options || {};\r\n this.fireEvent(\"loading\", [options]);\r\n return this._withLock(this._loadImpl(options)).done(function(result) {\r\n that.fireEvent(\"loaded\", [result, options])\r\n })\r\n },\r\n _loadImpl: function(options) {\r\n return queryByOptions(this.createQuery(options), options).enumerate()\r\n },\r\n _withLock: function(task) {\r\n var result = new Deferred;\r\n task.done(function() {\r\n var that = this,\r\n args = arguments;\r\n dataUtils.processRequestResultLock.promise().done(function() {\r\n result.resolveWith(that, args)\r\n })\r\n }).fail(function() {\r\n result.rejectWith(this, arguments)\r\n });\r\n return result\r\n },\r\n createQuery: abstract,\r\n totalCount: function(options) {\r\n return this._totalCountImpl(options)\r\n },\r\n _totalCountImpl: function(options) {\r\n return queryByOptions(this.createQuery(options), options, true).count()\r\n },\r\n byKey: function(key, extraOptions) {\r\n return this._addFailHandlers(this._withLock(this._byKeyImpl(key, extraOptions)))\r\n },\r\n _byKeyImpl: abstract,\r\n insert: function(values) {\r\n var that = this;\r\n that.fireEvent(\"modifying\");\r\n that.fireEvent(\"inserting\", [values]);\r\n return that._addFailHandlers(that._insertImpl(values).done(function(callbackValues, callbackKey) {\r\n that.fireEvent(\"inserted\", [callbackValues, callbackKey]);\r\n that.fireEvent(\"modified\")\r\n }))\r\n },\r\n _insertImpl: abstract,\r\n update: function(key, values) {\r\n var that = this;\r\n that.fireEvent(\"modifying\");\r\n that.fireEvent(\"updating\", [key, values]);\r\n return that._addFailHandlers(that._updateImpl(key, values).done(function() {\r\n that.fireEvent(\"updated\", [key, values]);\r\n that.fireEvent(\"modified\")\r\n }))\r\n },\r\n _updateImpl: abstract,\r\n push: function(changes) {\r\n this._pushImpl(changes);\r\n this.fireEvent(\"push\", [changes])\r\n },\r\n _pushImpl: noop,\r\n remove: function(key) {\r\n var that = this;\r\n that.fireEvent(\"modifying\");\r\n that.fireEvent(\"removing\", [key]);\r\n return that._addFailHandlers(that._removeImpl(key).done(function(callbackKey) {\r\n that.fireEvent(\"removed\", [callbackKey]);\r\n that.fireEvent(\"modified\")\r\n }))\r\n },\r\n _removeImpl: abstract,\r\n _addFailHandlers: function(deferred) {\r\n return deferred.fail(this._errorHandler).fail(errorsModule._errorHandler)\r\n }\r\n}).include(EventsMixin);\r\nStore.create = function(alias, options) {\r\n if (!(alias in storeImpl)) {\r\n throw errorsModule.errors.Error(\"E4020\", alias)\r\n }\r\n return new storeImpl[alias](options)\r\n};\r\nStore.registerClass = function(type, alias) {\r\n if (alias) {\r\n storeImpl[alias] = type\r\n }\r\n return type\r\n};\r\nStore.inherit = function(inheritor) {\r\n return function(members, alias) {\r\n var type = inheritor.apply(this, [members]);\r\n Store.registerClass(type, alias);\r\n return type\r\n }\r\n}(Store.inherit);\r\nmodule.exports = Store;\r\n","/**\r\n * DevExtreme (core/utils/error.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar extend = require(\"./extend\").extend,\r\n consoleUtils = require(\"./console\"),\r\n stringUtils = require(\"./string\"),\r\n version = require(\"../version\");\r\nvar ERROR_URL = \"http://js.devexpress.com/error/\" + version.split(\".\").slice(0, 2).join(\"_\") + \"/\";\r\nmodule.exports = function(baseErrors, errors) {\r\n var exports = {\r\n ERROR_MESSAGES: extend(errors, baseErrors),\r\n Error: function() {\r\n return makeError([].slice.call(arguments))\r\n },\r\n log: function(id) {\r\n var method = \"log\";\r\n if (/^E\\d+$/.test(id)) {\r\n method = \"error\"\r\n } else {\r\n if (/^W\\d+$/.test(id)) {\r\n method = \"warn\"\r\n }\r\n }\r\n consoleUtils.logger[method](\"log\" === method ? id : combineMessage([].slice.call(arguments)))\r\n }\r\n };\r\n var combineMessage = function(args) {\r\n var id = args[0];\r\n args = args.slice(1);\r\n return formatMessage(id, formatDetails(id, args))\r\n };\r\n var formatDetails = function(id, args) {\r\n args = [exports.ERROR_MESSAGES[id]].concat(args);\r\n return stringUtils.format.apply(this, args).replace(/\\.*\\s*?$/, \"\")\r\n };\r\n var formatMessage = function(id, details) {\r\n return stringUtils.format.apply(this, [\"{0} - {1}. See:\\n{2}\", id, details, getErrorUrl(id)])\r\n };\r\n var makeError = function(args) {\r\n var id, details, message, url;\r\n id = args[0];\r\n args = args.slice(1);\r\n details = formatDetails(id, args);\r\n url = getErrorUrl(id);\r\n message = formatMessage(id, details);\r\n return extend(new Error(message), {\r\n __id: id,\r\n __details: details,\r\n url: url\r\n })\r\n };\r\n var getErrorUrl = function(id) {\r\n return ERROR_URL + id\r\n };\r\n return exports\r\n};\r\n","/**\r\n * DevExtreme (core/action.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar $ = require(\"./renderer\"),\r\n config = require(\"./config\"),\r\n window = require(\"./utils/window\").getWindow(),\r\n typeUtils = require(\"./utils/type\"),\r\n each = require(\"./utils/iterator\").each,\r\n Class = require(\"./class\"),\r\n errors = require(\"./errors\");\r\nvar Action = Class.inherit({\r\n ctor: function(action, config) {\r\n config = config || {};\r\n this._action = action;\r\n this._context = config.context || window;\r\n this._beforeExecute = config.beforeExecute;\r\n this._afterExecute = config.afterExecute;\r\n this._component = config.component;\r\n this._validatingTargetName = config.validatingTargetName;\r\n var excludeValidators = this._excludeValidators = {};\r\n if (config.excludeValidators) {\r\n for (var i = 0; i < config.excludeValidators.length; i++) {\r\n excludeValidators[config.excludeValidators[i]] = true\r\n }\r\n }\r\n },\r\n execute: function() {\r\n var e = {\r\n action: this._action,\r\n args: Array.prototype.slice.call(arguments),\r\n context: this._context,\r\n component: this._component,\r\n validatingTargetName: this._validatingTargetName,\r\n cancel: false,\r\n handled: false\r\n };\r\n var beforeExecute = this._beforeExecute,\r\n afterExecute = this._afterExecute;\r\n var argsBag = e.args[0] || {};\r\n if (!(\"jQueryEvent\" in argsBag) && argsBag.event && config().useJQuery) {\r\n Object.defineProperty(argsBag, \"jQueryEvent\", {\r\n get: function() {\r\n errors.log(\"W0003\", \"Handler argument\", \"jQueryEvent\", \"17.2\", \"Use the 'event' field instead\");\r\n return argsBag.event\r\n },\r\n set: function(value) {\r\n errors.log(\"W0003\", \"Handler argument\", \"jQueryEvent\", \"17.2\", \"Use the 'event' field instead\");\r\n argsBag.event = value\r\n }\r\n })\r\n }\r\n if (!this._validateAction(e)) {\r\n return\r\n }\r\n beforeExecute && beforeExecute.call(this._context, e);\r\n if (e.cancel) {\r\n return\r\n }\r\n var result = this._executeAction(e);\r\n if (argsBag.cancel) {\r\n return\r\n }\r\n afterExecute && afterExecute.call(this._context, e);\r\n return result\r\n },\r\n _validateAction: function(e) {\r\n var excludeValidators = this._excludeValidators,\r\n executors = Action.executors;\r\n for (var name in executors) {\r\n if (!excludeValidators[name]) {\r\n var executor = executors[name];\r\n if (executor.validate) {\r\n executor.validate(e)\r\n }\r\n if (e.cancel) {\r\n return false\r\n }\r\n }\r\n }\r\n return true\r\n },\r\n _executeAction: function(e) {\r\n var result, executors = Action.executors;\r\n for (var name in executors) {\r\n var executor = executors[name];\r\n if (executor.execute) {\r\n executor.execute(e)\r\n }\r\n if (e.handled) {\r\n result = e.result;\r\n break\r\n }\r\n }\r\n return result\r\n }\r\n});\r\nAction.executors = {};\r\nAction.registerExecutor = function(name, executor) {\r\n if (typeUtils.isPlainObject(name)) {\r\n each(name, Action.registerExecutor);\r\n return\r\n }\r\n Action.executors[name] = executor\r\n};\r\nAction.unregisterExecutor = function() {\r\n var args = [].slice.call(arguments);\r\n each(args, function() {\r\n delete Action.executors[this]\r\n })\r\n};\r\nAction.registerExecutor({\r\n undefined: {\r\n execute: function(e) {\r\n if (!e.action) {\r\n e.result = void 0;\r\n e.handled = true\r\n }\r\n }\r\n },\r\n func: {\r\n execute: function(e) {\r\n if (typeUtils.isFunction(e.action)) {\r\n e.result = e.action.call(e.context, e.args[0]);\r\n e.handled = true\r\n }\r\n }\r\n }\r\n});\r\nvar createValidatorByTargetElement = function(condition) {\r\n return function(e) {\r\n if (!e.args.length) {\r\n return\r\n }\r\n var args = e.args[0],\r\n element = args[e.validatingTargetName] || args.element;\r\n if (element && condition($(element))) {\r\n e.cancel = true\r\n }\r\n }\r\n};\r\nAction.registerExecutor({\r\n disabled: {\r\n validate: createValidatorByTargetElement(function($target) {\r\n return $target.is(\".dx-state-disabled, .dx-state-disabled *\")\r\n })\r\n },\r\n readOnly: {\r\n validate: createValidatorByTargetElement(function($target) {\r\n return $target.is(\".dx-state-readonly, .dx-state-readonly *\")\r\n })\r\n }\r\n});\r\nmodule.exports = Action;\r\n","'use strict';\n\nfunction checkDCE() {\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n if (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' ||\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function'\n ) {\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n // This branch is unreachable because this function is only called\n // in production, but the condition is true only in development.\n // Therefore if the branch is still here, dead code elimination wasn't\n // properly applied.\n // Don't change the message. React DevTools relies on it. Also make sure\n // this message doesn't occur elsewhere in this function, or it will cause\n // a false positive.\n throw new Error('^_^');\n }\n try {\n // Verify that the code above has been dead code eliminated (DCE'd).\n __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n } catch (err) {\n // DevTools shouldn't crash React, no matter what.\n // We should still report in case we break this code.\n console.error(err);\n }\n}\n\nif (process.env.NODE_ENV === 'production') {\n // DCE check should happen before ReactDOM bundle executes so that\n // DevTools can report bad minification during injection.\n checkDCE();\n module.exports = require('./cjs/react-dom.production.min.js');\n} else {\n module.exports = require('./cjs/react-dom.development.js');\n}\n","/**\r\n * DevExtreme (core/polyfills/weak_map.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar inArray = require(\"../../core/utils/array\").inArray,\r\n windowUtils = require(\"../../core/utils/window\"),\r\n weakMap = windowUtils.hasWindow() ? windowUtils.getWindow().WeakMap : WeakMap;\r\nif (!weakMap) {\r\n weakMap = function() {\r\n var keys = [],\r\n values = [];\r\n this.set = function(key, value) {\r\n var index = inArray(key, keys);\r\n if (index === -1) {\r\n keys.push(key);\r\n values.push(value)\r\n } else {\r\n values[index] = value\r\n }\r\n };\r\n this.get = function(key) {\r\n var index = inArray(key, keys);\r\n if (index === -1) {\r\n return\r\n }\r\n return values[index]\r\n };\r\n this.has = function(key) {\r\n var index = inArray(key, keys);\r\n if (index === -1) {\r\n return false\r\n }\r\n return true\r\n };\r\n this.delete = function(key) {\r\n var index = inArray(key, keys);\r\n if (index === -1) {\r\n return\r\n }\r\n keys.splice(index, 1);\r\n values.splice(index, 1)\r\n }\r\n }\r\n}\r\nmodule.exports = weakMap;\r\n","/**\r\n * DevExtreme (core/memorized_callbacks.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar each = require(\"../core/utils/iterator\").each,\r\n Callbacks = require(\"./utils/callbacks\");\r\nvar MemorizedCallbacks = function() {\r\n var memory = [];\r\n var callbacks = Callbacks();\r\n this.add = function(fn) {\r\n each(memory, function(_, item) {\r\n fn.apply(fn, item)\r\n });\r\n callbacks.add(fn)\r\n };\r\n this.remove = function(fn) {\r\n callbacks.remove(fn)\r\n };\r\n this.fire = function() {\r\n memory.push(arguments);\r\n callbacks.fire.apply(callbacks, arguments)\r\n }\r\n};\r\nmodule.exports = MemorizedCallbacks;\r\n","/*!\n * devextreme-react\n * Version: 19.1.6\n * Build date: Wed Sep 11 2019\n *\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar events = require(\"devextreme/events\");\nvar React = require(\"react\");\nvar options_manager_1 = require(\"./options-manager\");\nvar templates_manager_1 = require(\"./templates-manager\");\nvar templates_renderer_1 = require(\"./templates-renderer\");\nvar templates_store_1 = require(\"./templates-store\");\nvar widget_config_1 = require(\"./widget-config\");\nvar tree_1 = require(\"./configuration/react/tree\");\nvar DX_REMOVE_EVENT = \"dxremove\";\nexports.DX_REMOVE_EVENT = DX_REMOVE_EVENT;\nvar ComponentBase = /** @class */ (function (_super) {\n __extends(ComponentBase, _super);\n function ComponentBase(props) {\n var _this = _super.call(this, props) || this;\n _this._templateProps = [];\n _this._setTemplatesRendererRef = _this._setTemplatesRendererRef.bind(_this);\n _this._createWidget = _this._createWidget.bind(_this);\n _this._templatesStore = new templates_store_1.TemplatesStore(function () {\n if (_this._templatesRendererRef) {\n _this._templatesRendererRef.scheduleUpdate();\n }\n });\n _this._templatesManager = new templates_manager_1.default(_this._templatesStore);\n _this._optionsManager = new options_manager_1.OptionsManager(_this._templatesManager);\n return _this;\n }\n ComponentBase.prototype.render = function () {\n return React.createElement(\"div\", this._getElementProps(), this.renderChildren(), React.createElement(templates_renderer_1.TemplatesRenderer, {\n templatesStore: this._templatesStore,\n ref: this._setTemplatesRendererRef\n }));\n };\n ComponentBase.prototype.componentDidMount = function () {\n this._updateCssClasses(null, this.props);\n };\n ComponentBase.prototype.componentDidUpdate = function (prevProps) {\n this._updateCssClasses(prevProps, this.props);\n var config = this._getConfig();\n this._optionsManager.update(config);\n if (this._templatesRendererRef) {\n this._templatesRendererRef.scheduleUpdate();\n }\n };\n ComponentBase.prototype.componentWillUnmount = function () {\n if (this._instance) {\n events.triggerHandler(this._element, DX_REMOVE_EVENT);\n this._instance.dispose();\n }\n this._optionsManager.dispose();\n };\n ComponentBase.prototype.renderChildren = function () {\n return this.props.children;\n };\n ComponentBase.prototype._createWidget = function (element) {\n element = element || this._element;\n var config = this._getConfig();\n this._instance = new this._WidgetClass(element, __assign({ templatesRenderAsynchronously: true }, this._optionsManager.getInitialOptions(config)));\n this._optionsManager.setInstance(this._instance, config);\n this._instance.on(\"optionChanged\", this._optionsManager.onOptionChanged);\n };\n ComponentBase.prototype._getConfig = function () {\n return tree_1.buildConfigTree({\n templates: this._templateProps,\n initialValuesProps: this._defaults,\n predefinedValuesProps: {},\n expectedChildren: this._expectedChildren\n }, this.props);\n };\n ComponentBase.prototype._setTemplatesRendererRef = function (instance) {\n this._templatesRendererRef = instance;\n };\n ComponentBase.prototype._getElementProps = function () {\n var _this = this;\n var elementProps = {\n ref: function (element) { return _this._element = element; }\n };\n widget_config_1.elementPropNames.forEach(function (name) {\n if (name in _this.props) {\n elementProps[name] = _this.props[name];\n }\n });\n return elementProps;\n };\n ComponentBase.prototype._updateCssClasses = function (prevProps, newProps) {\n var _a, _b;\n var prevClassName = prevProps ? widget_config_1.getClassName(prevProps) : undefined;\n var newClassName = widget_config_1.getClassName(newProps);\n if (prevClassName === newClassName) {\n return;\n }\n if (prevClassName) {\n var classNames = prevClassName.split(\" \").filter(function (c) { return c; });\n if (classNames.length) {\n (_a = this._element.classList).remove.apply(_a, classNames);\n }\n }\n if (newClassName) {\n var classNames = newClassName.split(\" \").filter(function (c) { return c; });\n if (classNames.length) {\n (_b = this._element.classList).add.apply(_b, classNames);\n }\n }\n };\n return ComponentBase;\n}(React.PureComponent));\nexports.ComponentBase = ComponentBase;\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.providerContextTypes = undefined;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n// TODO(jez) 'sync' and 'async' are bad tag names.\n// TODO(jez) What if redux also uses this.context.tag?\nvar providerContextTypes = exports.providerContextTypes = {\n tag: _propTypes2.default.string.isRequired,\n stripe: _propTypes2.default.object,\n addStripeLoadListener: _propTypes2.default.func\n};\n\nvar getOrCreateStripe = function getOrCreateStripe(apiKey, options) {\n /**\n * Note that this is not meant to be a generic memoization solution.\n * This is specifically a solution for `StripeProvider`s being initialized\n * and destroyed regularly (with the same set of props) when users only\n * use `StripeProvider` for the subtree that contains their checkout form.\n */\n window.Stripe.__cachedInstances = window.Stripe.__cachedInstances || {};\n var cacheKey = 'key=' + apiKey + ' options=' + JSON.stringify(options);\n\n var stripe = window.Stripe.__cachedInstances[cacheKey] || window.Stripe(apiKey, options);\n window.Stripe.__cachedInstances[cacheKey] = stripe;\n\n return stripe;\n};\n\nvar ensureStripeShape = function ensureStripeShape(stripe) {\n if (stripe && stripe.elements && stripe.createSource && stripe.createToken && stripe.createPaymentMethod && stripe.handleCardPayment) {\n return stripe;\n } else {\n throw new Error(\"Please pass a valid Stripe object to StripeProvider. You can obtain a Stripe object by calling 'Stripe(...)' with your publishable key.\");\n }\n};\n\nvar Provider = function (_React$Component) {\n _inherits(Provider, _React$Component);\n\n // on the other hand: childContextTypes is *required* to use context.\n function Provider(props) {\n _classCallCheck(this, Provider);\n\n var _this = _possibleConstructorReturn(this, _React$Component.call(this, props));\n\n if (_this.props.apiKey && _this.props.stripe) {\n throw new Error(\"Please pass either 'apiKey' or 'stripe' to StripeProvider, not both.\");\n } else if (_this.props.apiKey) {\n if (!window.Stripe) {\n throw new Error(\"Please load Stripe.js (https://js.stripe.com/v3/) on this page to use react-stripe-elements. If Stripe.js isn't available yet (it's loading asynchronously, or you're using server-side rendering), see https://github.com/stripe/react-stripe-elements#advanced-integrations\");\n } else {\n var _this$props = _this.props,\n _apiKey = _this$props.apiKey,\n _children = _this$props.children,\n options = _objectWithoutProperties(_this$props, ['apiKey', 'children']);\n\n var _stripe = getOrCreateStripe(_apiKey, options);\n _this._meta = { tag: 'sync', stripe: _stripe };\n _this._register();\n }\n } else if (_this.props.stripe) {\n // If we already have a stripe instance (in the constructor), we can behave synchronously.\n var _stripe2 = ensureStripeShape(_this.props.stripe);\n _this._meta = { tag: 'sync', stripe: _stripe2 };\n _this._register();\n } else if (_this.props.stripe === null) {\n _this._meta = {\n tag: 'async',\n stripe: null\n };\n } else {\n throw new Error(\"Please pass either 'apiKey' or 'stripe' to StripeProvider. If you're using 'stripe' but don't have a Stripe instance yet, pass 'null' explicitly.\");\n }\n\n _this._didWarn = false;\n _this._didWakeUpListeners = false;\n _this._listeners = [];\n return _this;\n }\n // Even though we're using flow, also use PropTypes so we can take advantage of developer warnings.\n\n\n Provider.prototype.getChildContext = function getChildContext() {\n var _this2 = this;\n\n // getChildContext is run after the constructor, so we WILL have access to\n // the initial state.\n //\n // However, context doesn't update in respnse to state changes like you\n // might expect: context is pulled by the child, not pushed by the parent.\n if (this._meta.tag === 'sync') {\n return {\n tag: 'sync',\n stripe: this._meta.stripe\n };\n } else {\n return {\n tag: 'async',\n addStripeLoadListener: function addStripeLoadListener(fn) {\n if (_this2._meta.stripe) {\n fn(_this2._meta.stripe);\n } else {\n _this2._listeners.push(fn);\n }\n }\n };\n }\n };\n\n Provider.prototype.componentDidUpdate = function componentDidUpdate(prevProps) {\n var apiKeyChanged = this.props.apiKey && prevProps.apiKey && this.props.apiKey !== prevProps.apiKey;\n\n var stripeInstanceChanged = this.props.stripe && prevProps.stripe && this.props.stripe !== prevProps.stripe;\n if (!this._didWarn && (apiKeyChanged || stripeInstanceChanged) && window.console && window.console.error) {\n this._didWarn = true;\n // eslint-disable-next-line no-console\n console.error('StripeProvider does not support changing the apiKey parameter.');\n return;\n }\n\n if (!this._didWakeUpListeners && this.props.stripe) {\n // Wake up the listeners if we've finally been given a StripeShape\n this._didWakeUpListeners = true;\n var _stripe3 = ensureStripeShape(this.props.stripe);\n this._meta.stripe = _stripe3;\n this._register();\n this._listeners.forEach(function (fn) {\n fn(_stripe3);\n });\n }\n };\n\n Provider.prototype._register = function _register() {\n var stripe = this._meta.stripe;\n\n\n if (!stripe || !stripe._registerWrapper) {\n return;\n }\n\n stripe._registerWrapper({\n name: 'react-stripe-elements',\n version: '6.1.2' || null\n });\n };\n\n Provider.prototype.render = function render() {\n return _react2.default.Children.only(this.props.children);\n };\n\n return Provider;\n}(_react2.default.Component);\n\nProvider.propTypes = {\n apiKey: _propTypes2.default.string,\n // PropTypes.object is the only way we can accept a Stripe instance\n // eslint-disable-next-line react/forbid-prop-types\n stripe: _propTypes2.default.object,\n children: _propTypes2.default.node\n};\nProvider.childContextTypes = providerContextTypes;\nProvider.defaultProps = {\n apiKey: undefined,\n stripe: undefined,\n children: null\n};\nexports.default = Provider;","var isarray = require('isarray')\n\n/**\n * Expose `pathToRegexp`.\n */\nmodule.exports = pathToRegexp\nmodule.exports.parse = parse\nmodule.exports.compile = compile\nmodule.exports.tokensToFunction = tokensToFunction\nmodule.exports.tokensToRegExp = tokensToRegExp\n\n/**\n * The main path matching regexp utility.\n *\n * @type {RegExp}\n */\nvar PATH_REGEXP = new RegExp([\n // Match escaped characters that would otherwise appear in future matches.\n // This allows the user to escape special characters that won't transform.\n '(\\\\\\\\.)',\n // Match Express-style parameters and un-named parameters with a prefix\n // and optional suffixes. Matches appear as:\n //\n // \"/:test(\\\\d+)?\" => [\"/\", \"test\", \"\\d+\", undefined, \"?\", undefined]\n // \"/route(\\\\d+)\" => [undefined, undefined, undefined, \"\\d+\", undefined, undefined]\n // \"/*\" => [\"/\", undefined, undefined, undefined, undefined, \"*\"]\n '([\\\\/.])?(?:(?:\\\\:(\\\\w+)(?:\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))?|\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))([+*?])?|(\\\\*))'\n].join('|'), 'g')\n\n/**\n * Parse a string for the raw tokens.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!Array}\n */\nfunction parse (str, options) {\n var tokens = []\n var key = 0\n var index = 0\n var path = ''\n var defaultDelimiter = options && options.delimiter || '/'\n var res\n\n while ((res = PATH_REGEXP.exec(str)) != null) {\n var m = res[0]\n var escaped = res[1]\n var offset = res.index\n path += str.slice(index, offset)\n index = offset + m.length\n\n // Ignore already escaped sequences.\n if (escaped) {\n path += escaped[1]\n continue\n }\n\n var next = str[index]\n var prefix = res[2]\n var name = res[3]\n var capture = res[4]\n var group = res[5]\n var modifier = res[6]\n var asterisk = res[7]\n\n // Push the current path onto the tokens.\n if (path) {\n tokens.push(path)\n path = ''\n }\n\n var partial = prefix != null && next != null && next !== prefix\n var repeat = modifier === '+' || modifier === '*'\n var optional = modifier === '?' || modifier === '*'\n var delimiter = res[2] || defaultDelimiter\n var pattern = capture || group\n\n tokens.push({\n name: name || key++,\n prefix: prefix || '',\n delimiter: delimiter,\n optional: optional,\n repeat: repeat,\n partial: partial,\n asterisk: !!asterisk,\n pattern: pattern ? escapeGroup(pattern) : (asterisk ? '.*' : '[^' + escapeString(delimiter) + ']+?')\n })\n }\n\n // Match any characters still remaining.\n if (index < str.length) {\n path += str.substr(index)\n }\n\n // If the path exists, push it onto the end.\n if (path) {\n tokens.push(path)\n }\n\n return tokens\n}\n\n/**\n * Compile a string to a template function for the path.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!function(Object=, Object=)}\n */\nfunction compile (str, options) {\n return tokensToFunction(parse(str, options))\n}\n\n/**\n * Prettier encoding of URI path segments.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeURIComponentPretty (str) {\n return encodeURI(str).replace(/[\\/?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Encode the asterisk parameter. Similar to `pretty`, but allows slashes.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeAsterisk (str) {\n return encodeURI(str).replace(/[?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Expose a method for transforming tokens into the path function.\n */\nfunction tokensToFunction (tokens) {\n // Compile all the tokens into regexps.\n var matches = new Array(tokens.length)\n\n // Compile all the patterns before compilation.\n for (var i = 0; i < tokens.length; i++) {\n if (typeof tokens[i] === 'object') {\n matches[i] = new RegExp('^(?:' + tokens[i].pattern + ')$')\n }\n }\n\n return function (obj, opts) {\n var path = ''\n var data = obj || {}\n var options = opts || {}\n var encode = options.pretty ? encodeURIComponentPretty : encodeURIComponent\n\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i]\n\n if (typeof token === 'string') {\n path += token\n\n continue\n }\n\n var value = data[token.name]\n var segment\n\n if (value == null) {\n if (token.optional) {\n // Prepend partial segment prefixes.\n if (token.partial) {\n path += token.prefix\n }\n\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to be defined')\n }\n }\n\n if (isarray(value)) {\n if (!token.repeat) {\n throw new TypeError('Expected \"' + token.name + '\" to not repeat, but received `' + JSON.stringify(value) + '`')\n }\n\n if (value.length === 0) {\n if (token.optional) {\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to not be empty')\n }\n }\n\n for (var j = 0; j < value.length; j++) {\n segment = encode(value[j])\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected all \"' + token.name + '\" to match \"' + token.pattern + '\", but received `' + JSON.stringify(segment) + '`')\n }\n\n path += (j === 0 ? token.prefix : token.delimiter) + segment\n }\n\n continue\n }\n\n segment = token.asterisk ? encodeAsterisk(value) : encode(value)\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected \"' + token.name + '\" to match \"' + token.pattern + '\", but received \"' + segment + '\"')\n }\n\n path += token.prefix + segment\n }\n\n return path\n }\n}\n\n/**\n * Escape a regular expression string.\n *\n * @param {string} str\n * @return {string}\n */\nfunction escapeString (str) {\n return str.replace(/([.+*?=^!:${}()[\\]|\\/\\\\])/g, '\\\\$1')\n}\n\n/**\n * Escape the capturing group by escaping special characters and meaning.\n *\n * @param {string} group\n * @return {string}\n */\nfunction escapeGroup (group) {\n return group.replace(/([=!:$\\/()])/g, '\\\\$1')\n}\n\n/**\n * Attach the keys as a property of the regexp.\n *\n * @param {!RegExp} re\n * @param {Array} keys\n * @return {!RegExp}\n */\nfunction attachKeys (re, keys) {\n re.keys = keys\n return re\n}\n\n/**\n * Get the flags for a regexp from the options.\n *\n * @param {Object} options\n * @return {string}\n */\nfunction flags (options) {\n return options.sensitive ? '' : 'i'\n}\n\n/**\n * Pull out keys from a regexp.\n *\n * @param {!RegExp} path\n * @param {!Array} keys\n * @return {!RegExp}\n */\nfunction regexpToRegexp (path, keys) {\n // Use a negative lookahead to match only capturing groups.\n var groups = path.source.match(/\\((?!\\?)/g)\n\n if (groups) {\n for (var i = 0; i < groups.length; i++) {\n keys.push({\n name: i,\n prefix: null,\n delimiter: null,\n optional: false,\n repeat: false,\n partial: false,\n asterisk: false,\n pattern: null\n })\n }\n }\n\n return attachKeys(path, keys)\n}\n\n/**\n * Transform an array into a regexp.\n *\n * @param {!Array} path\n * @param {Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction arrayToRegexp (path, keys, options) {\n var parts = []\n\n for (var i = 0; i < path.length; i++) {\n parts.push(pathToRegexp(path[i], keys, options).source)\n }\n\n var regexp = new RegExp('(?:' + parts.join('|') + ')', flags(options))\n\n return attachKeys(regexp, keys)\n}\n\n/**\n * Create a path regexp from string input.\n *\n * @param {string} path\n * @param {!Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction stringToRegexp (path, keys, options) {\n return tokensToRegExp(parse(path, options), keys, options)\n}\n\n/**\n * Expose a function for taking tokens and returning a RegExp.\n *\n * @param {!Array} tokens\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction tokensToRegExp (tokens, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */ (keys || options)\n keys = []\n }\n\n options = options || {}\n\n var strict = options.strict\n var end = options.end !== false\n var route = ''\n\n // Iterate over the tokens and create our regexp string.\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i]\n\n if (typeof token === 'string') {\n route += escapeString(token)\n } else {\n var prefix = escapeString(token.prefix)\n var capture = '(?:' + token.pattern + ')'\n\n keys.push(token)\n\n if (token.repeat) {\n capture += '(?:' + prefix + capture + ')*'\n }\n\n if (token.optional) {\n if (!token.partial) {\n capture = '(?:' + prefix + '(' + capture + '))?'\n } else {\n capture = prefix + '(' + capture + ')?'\n }\n } else {\n capture = prefix + '(' + capture + ')'\n }\n\n route += capture\n }\n }\n\n var delimiter = escapeString(options.delimiter || '/')\n var endsWithDelimiter = route.slice(-delimiter.length) === delimiter\n\n // In non-strict mode we allow a slash at the end of match. If the path to\n // match already ends with a slash, we remove it for consistency. The slash\n // is valid at the end of a path match, not in the middle. This is important\n // in non-ending mode, where \"/test/\" shouldn't match \"/test//route\".\n if (!strict) {\n route = (endsWithDelimiter ? route.slice(0, -delimiter.length) : route) + '(?:' + delimiter + '(?=$))?'\n }\n\n if (end) {\n route += '$'\n } else {\n // In non-ending mode, we need the capturing groups to match as much as\n // possible by using a positive lookahead to the end or next path segment.\n route += strict && endsWithDelimiter ? '' : '(?=' + delimiter + '|$)'\n }\n\n return attachKeys(new RegExp('^' + route, flags(options)), keys)\n}\n\n/**\n * Normalize the given path string, returning a regular expression.\n *\n * An empty array can be passed in for the keys, which will hold the\n * placeholder key descriptions. For example, using `/user/:id`, `keys` will\n * contain `[{ name: 'id', delimiter: '/', optional: false, repeat: false }]`.\n *\n * @param {(string|RegExp|Array)} path\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction pathToRegexp (path, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */ (keys || options)\n keys = []\n }\n\n options = options || {}\n\n if (path instanceof RegExp) {\n return regexpToRegexp(path, /** @type {!Array} */ (keys))\n }\n\n if (isarray(path)) {\n return arrayToRegexp(/** @type {!Array} */ (path), /** @type {!Array} */ (keys), options)\n }\n\n return stringToRegexp(/** @type {string} */ (path), /** @type {!Array} */ (keys), options)\n}\n","/**\r\n * DevExtreme (animation/fx.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _typeof = \"function\" === typeof Symbol && \"symbol\" === typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n} : function(obj) {\r\n return obj && \"function\" === typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n};\r\nvar $ = require(\"../core/renderer\"),\r\n window = require(\"../core/utils/window\").getWindow(),\r\n eventsEngine = require(\"../events/core/events_engine\"),\r\n errors = require(\"../core/errors\"),\r\n getPublicElement = require(\"../core/utils/dom\").getPublicElement,\r\n extend = require(\"../core/utils/extend\").extend,\r\n typeUtils = require(\"../core/utils/type\"),\r\n iteratorUtils = require(\"../core/utils/iterator\"),\r\n translator = require(\"./translator\"),\r\n easing = require(\"./easing\"),\r\n animationFrame = require(\"./frame\"),\r\n support = require(\"../core/utils/support\"),\r\n positionUtils = require(\"./position\"),\r\n removeEvent = require(\"../core/remove_event\"),\r\n eventUtils = require(\"../events/utils\"),\r\n deferredUtils = require(\"../core/utils/deferred\"),\r\n when = deferredUtils.when,\r\n Deferred = deferredUtils.Deferred,\r\n removeEventName = eventUtils.addNamespace(removeEvent, \"dxFX\"),\r\n isFunction = typeUtils.isFunction,\r\n isPlainObject = typeUtils.isPlainObject,\r\n noop = require(\"../core/utils/common\").noop;\r\nvar RELATIVE_VALUE_REGEX = /^([+-])=(.*)/i,\r\n ANIM_DATA_KEY = \"dxAnimData\",\r\n ANIM_QUEUE_KEY = \"dxAnimQueue\",\r\n TRANSFORM_PROP = \"transform\";\r\nvar TransitionAnimationStrategy = {\r\n initAnimation: function($element, config) {\r\n $element.css({\r\n transitionProperty: \"none\"\r\n });\r\n if (\"string\" === typeof config.from) {\r\n $element.addClass(config.from)\r\n } else {\r\n setProps($element, config.from)\r\n }\r\n var that = this,\r\n deferred = new Deferred,\r\n cleanupWhen = config.cleanupWhen;\r\n config.transitionAnimation = {\r\n deferred: deferred,\r\n finish: function() {\r\n that._finishTransition($element);\r\n if (cleanupWhen) {\r\n when(deferred, cleanupWhen).always(function() {\r\n that._cleanup($element, config)\r\n })\r\n } else {\r\n that._cleanup($element, config)\r\n }\r\n deferred.resolveWith($element, [config, $element])\r\n }\r\n };\r\n this._completeAnimationCallback($element, config).done(function() {\r\n config.transitionAnimation.finish()\r\n }).fail(function() {\r\n deferred.rejectWith($element, [config, $element])\r\n });\r\n if (!config.duration) {\r\n config.transitionAnimation.finish()\r\n }\r\n $element.css(\"transform\")\r\n },\r\n animate: function($element, config) {\r\n this._startAnimation($element, config);\r\n return config.transitionAnimation.deferred.promise()\r\n },\r\n _completeAnimationCallback: function($element, config) {\r\n var simulatedEndEventTimer, waitForJSCompleteTimer, that = this,\r\n startTime = Date.now() + config.delay,\r\n deferred = new Deferred,\r\n transitionEndFired = new Deferred,\r\n simulatedTransitionEndFired = new Deferred,\r\n transitionEndEventName = support.transitionEndEventName() + \".dxFX\";\r\n config.transitionAnimation.cleanup = function() {\r\n clearTimeout(simulatedEndEventTimer);\r\n clearTimeout(waitForJSCompleteTimer);\r\n eventsEngine.off($element, transitionEndEventName);\r\n eventsEngine.off($element, removeEventName)\r\n };\r\n eventsEngine.one($element, transitionEndEventName, function() {\r\n if (Date.now() - startTime >= config.duration) {\r\n transitionEndFired.reject()\r\n }\r\n });\r\n eventsEngine.off($element, removeEventName);\r\n eventsEngine.on($element, removeEventName, function() {\r\n that.stop($element, config);\r\n deferred.reject()\r\n });\r\n waitForJSCompleteTimer = setTimeout(function() {\r\n simulatedEndEventTimer = setTimeout(function() {\r\n simulatedTransitionEndFired.reject()\r\n }, config.duration + config.delay + fx._simulatedTransitionEndDelay);\r\n when(transitionEndFired, simulatedTransitionEndFired).fail(function() {\r\n deferred.resolve()\r\n }.bind(this))\r\n });\r\n return deferred.promise()\r\n },\r\n _startAnimation: function($element, config) {\r\n $element.css({\r\n transitionProperty: \"all\",\r\n transitionDelay: config.delay + \"ms\",\r\n transitionDuration: config.duration + \"ms\",\r\n transitionTimingFunction: config.easing\r\n });\r\n if (\"string\" === typeof config.to) {\r\n $element[0].className += \" \" + config.to\r\n } else {\r\n if (config.to) {\r\n setProps($element, config.to)\r\n }\r\n }\r\n },\r\n _finishTransition: function($element) {\r\n $element.css(\"transition\", \"none\")\r\n },\r\n _cleanup: function($element, config) {\r\n config.transitionAnimation.cleanup();\r\n if (\"string\" === typeof config.from) {\r\n $element.removeClass(config.from);\r\n $element.removeClass(config.to)\r\n }\r\n },\r\n stop: function($element, config, jumpToEnd) {\r\n if (!config) {\r\n return\r\n }\r\n if (jumpToEnd) {\r\n config.transitionAnimation.finish()\r\n } else {\r\n if (isPlainObject(config.to)) {\r\n iteratorUtils.each(config.to, function(key) {\r\n $element.css(key, $element.css(key))\r\n })\r\n }\r\n this._finishTransition($element);\r\n this._cleanup($element, config)\r\n }\r\n }\r\n};\r\nvar FrameAnimationStrategy = {\r\n initAnimation: function($element, config) {\r\n setProps($element, config.from)\r\n },\r\n animate: function($element, config) {\r\n var deferred = new Deferred,\r\n that = this;\r\n if (!config) {\r\n return deferred.reject().promise()\r\n }\r\n iteratorUtils.each(config.to, function(prop) {\r\n if (void 0 === config.from[prop]) {\r\n config.from[prop] = that._normalizeValue($element.css(prop))\r\n }\r\n });\r\n if (config.to[TRANSFORM_PROP]) {\r\n config.from[TRANSFORM_PROP] = that._parseTransform(config.from[TRANSFORM_PROP]);\r\n config.to[TRANSFORM_PROP] = that._parseTransform(config.to[TRANSFORM_PROP])\r\n }\r\n config.frameAnimation = {\r\n to: config.to,\r\n from: config.from,\r\n currentValue: config.from,\r\n easing: easing.convertTransitionTimingFuncToEasing(config.easing),\r\n duration: config.duration,\r\n startTime: (new Date).valueOf(),\r\n finish: function() {\r\n this.currentValue = this.to;\r\n this.draw();\r\n animationFrame.cancelAnimationFrame(config.frameAnimation.animationFrameId);\r\n deferred.resolve()\r\n },\r\n draw: function() {\r\n if (config.draw) {\r\n config.draw(this.currentValue);\r\n return\r\n }\r\n var currentValue = extend({}, this.currentValue);\r\n if (currentValue[TRANSFORM_PROP]) {\r\n currentValue[TRANSFORM_PROP] = iteratorUtils.map(currentValue[TRANSFORM_PROP], function(value, prop) {\r\n if (\"translate\" === prop) {\r\n return translator.getTranslateCss(value)\r\n } else {\r\n if (\"scale\" === prop) {\r\n return \"scale(\" + value + \")\"\r\n } else {\r\n if (\"rotate\" === prop.substr(0, prop.length - 1)) {\r\n return prop + \"(\" + value + \"deg)\"\r\n }\r\n }\r\n }\r\n }).join(\" \")\r\n }\r\n $element.css(currentValue)\r\n }\r\n };\r\n if (config.delay) {\r\n config.frameAnimation.startTime += config.delay;\r\n config.frameAnimation.delayTimeout = setTimeout(function() {\r\n that._startAnimation($element, config)\r\n }, config.delay)\r\n } else {\r\n that._startAnimation($element, config)\r\n }\r\n return deferred.promise()\r\n },\r\n _startAnimation: function($element, config) {\r\n eventsEngine.off($element, removeEventName);\r\n eventsEngine.on($element, removeEventName, function() {\r\n if (config.frameAnimation) {\r\n animationFrame.cancelAnimationFrame(config.frameAnimation.animationFrameId)\r\n }\r\n });\r\n this._animationStep($element, config)\r\n },\r\n _parseTransform: function(transformString) {\r\n var result = {};\r\n iteratorUtils.each(transformString.match(/(\\w|\\d)+\\([^)]*\\)\\s*/g), function(i, part) {\r\n var translateData = translator.parseTranslate(part),\r\n scaleData = part.match(/scale\\((.+?)\\)/),\r\n rotateData = part.match(/(rotate.)\\((.+)deg\\)/);\r\n if (translateData) {\r\n result.translate = translateData\r\n }\r\n if (scaleData && scaleData[1]) {\r\n result.scale = parseFloat(scaleData[1])\r\n }\r\n if (rotateData && rotateData[1]) {\r\n result[rotateData[1]] = parseFloat(rotateData[2])\r\n }\r\n });\r\n return result\r\n },\r\n stop: function($element, config, jumpToEnd) {\r\n var frameAnimation = config && config.frameAnimation;\r\n if (!frameAnimation) {\r\n return\r\n }\r\n animationFrame.cancelAnimationFrame(frameAnimation.animationFrameId);\r\n clearTimeout(frameAnimation.delayTimeout);\r\n if (jumpToEnd) {\r\n frameAnimation.finish()\r\n }\r\n delete config.frameAnimation\r\n },\r\n _animationStep: function($element, config) {\r\n var frameAnimation = config && config.frameAnimation;\r\n if (!frameAnimation) {\r\n return\r\n }\r\n var now = (new Date).valueOf();\r\n if (now >= frameAnimation.startTime + frameAnimation.duration) {\r\n frameAnimation.finish();\r\n return\r\n }\r\n frameAnimation.currentValue = this._calcStepValue(frameAnimation, now - frameAnimation.startTime);\r\n frameAnimation.draw();\r\n var that = this;\r\n frameAnimation.animationFrameId = animationFrame.requestAnimationFrame(function() {\r\n that._animationStep($element, config)\r\n })\r\n },\r\n _calcStepValue: function(frameAnimation, currentDuration) {\r\n var calcValueRecursively = function calcValueRecursively(from, to) {\r\n var result = Array.isArray(to) ? [] : {};\r\n var calcEasedValue = function(propName) {\r\n var x = currentDuration / frameAnimation.duration,\r\n t = currentDuration,\r\n b = 1 * from[propName],\r\n c = to[propName] - from[propName],\r\n d = frameAnimation.duration;\r\n return easing.getEasing(frameAnimation.easing)(x, t, b, c, d)\r\n };\r\n iteratorUtils.each(to, function(propName, endPropValue) {\r\n if (\"string\" === typeof endPropValue && false === parseFloat(endPropValue, 10)) {\r\n return true\r\n }\r\n result[propName] = \"object\" === (\"undefined\" === typeof endPropValue ? \"undefined\" : _typeof(endPropValue)) ? calcValueRecursively(from[propName], endPropValue) : calcEasedValue(propName)\r\n });\r\n return result\r\n };\r\n return calcValueRecursively(frameAnimation.from, frameAnimation.to)\r\n },\r\n _normalizeValue: function(value) {\r\n var numericValue = parseFloat(value, 10);\r\n if (false === numericValue) {\r\n return value\r\n }\r\n return numericValue\r\n }\r\n};\r\nvar FallbackToNoAnimationStrategy = {\r\n initAnimation: function() {},\r\n animate: function() {\r\n return (new Deferred).resolve().promise()\r\n },\r\n stop: noop,\r\n isSynchronous: true\r\n};\r\nvar getAnimationStrategy = function(config) {\r\n config = config || {};\r\n var animationStrategies = {\r\n transition: support.transition() ? TransitionAnimationStrategy : FrameAnimationStrategy,\r\n frame: FrameAnimationStrategy,\r\n noAnimation: FallbackToNoAnimationStrategy\r\n };\r\n var strategy = config.strategy || \"transition\";\r\n if (\"css\" === config.type && !support.transition()) {\r\n strategy = \"noAnimation\"\r\n }\r\n return animationStrategies[strategy]\r\n};\r\nvar baseConfigValidator = function(config, animationType, validate, typeMessage) {\r\n iteratorUtils.each([\"from\", \"to\"], function() {\r\n if (!validate(config[this])) {\r\n throw errors.Error(\"E0010\", animationType, this, typeMessage)\r\n }\r\n })\r\n};\r\nvar isObjectConfigValidator = function(config, animationType) {\r\n return baseConfigValidator(config, animationType, function(target) {\r\n return isPlainObject(target)\r\n }, \"a plain object\")\r\n};\r\nvar isStringConfigValidator = function(config, animationType) {\r\n return baseConfigValidator(config, animationType, function(target) {\r\n return \"string\" === typeof target\r\n }, \"a string\")\r\n};\r\nvar CustomAnimationConfigurator = {\r\n setup: function() {}\r\n};\r\nvar CssAnimationConfigurator = {\r\n validateConfig: function(config) {\r\n isStringConfigValidator(config, \"css\")\r\n },\r\n setup: function() {}\r\n};\r\nvar positionAliases = {\r\n top: {\r\n my: \"bottom center\",\r\n at: \"top center\"\r\n },\r\n bottom: {\r\n my: \"top center\",\r\n at: \"bottom center\"\r\n },\r\n right: {\r\n my: \"left center\",\r\n at: \"right center\"\r\n },\r\n left: {\r\n my: \"right center\",\r\n at: \"left center\"\r\n }\r\n};\r\nvar SlideAnimationConfigurator = {\r\n validateConfig: function(config) {\r\n isObjectConfigValidator(config, \"slide\")\r\n },\r\n setup: function($element, config) {\r\n var location = translator.locate($element);\r\n if (\"slide\" !== config.type) {\r\n var positioningConfig = \"slideIn\" === config.type ? config.from : config.to;\r\n positioningConfig.position = extend({\r\n of: window\r\n }, positionAliases[config.direction]);\r\n setupPosition($element, positioningConfig)\r\n }\r\n this._setUpConfig(location, config.from);\r\n this._setUpConfig(location, config.to);\r\n translator.clearCache($element)\r\n },\r\n _setUpConfig: function(location, config) {\r\n config.left = \"left\" in config ? config.left : \"+=0\";\r\n config.top = \"top\" in config ? config.top : \"+=0\";\r\n this._initNewPosition(location, config)\r\n },\r\n _initNewPosition: function(location, config) {\r\n var position = {\r\n left: config.left,\r\n top: config.top\r\n };\r\n delete config.left;\r\n delete config.top;\r\n var relativeValue = this._getRelativeValue(position.left);\r\n if (void 0 !== relativeValue) {\r\n position.left = relativeValue + location.left\r\n } else {\r\n config.left = 0\r\n }\r\n relativeValue = this._getRelativeValue(position.top);\r\n if (void 0 !== relativeValue) {\r\n position.top = relativeValue + location.top\r\n } else {\r\n config.top = 0\r\n }\r\n config[TRANSFORM_PROP] = translator.getTranslateCss({\r\n x: position.left,\r\n y: position.top\r\n })\r\n },\r\n _getRelativeValue: function(value) {\r\n var relativeValue;\r\n if (\"string\" === typeof value && (relativeValue = RELATIVE_VALUE_REGEX.exec(value))) {\r\n return parseInt(relativeValue[1] + \"1\") * relativeValue[2]\r\n }\r\n }\r\n};\r\nvar FadeAnimationConfigurator = {\r\n setup: function($element, config) {\r\n var toOpacity, from = config.from,\r\n fromOpacity = isPlainObject(from) ? config.skipElementInitialStyles ? 0 : $element.css(\"opacity\") : String(from);\r\n switch (config.type) {\r\n case \"fadeIn\":\r\n toOpacity = 1;\r\n break;\r\n case \"fadeOut\":\r\n toOpacity = 0;\r\n break;\r\n default:\r\n toOpacity = String(config.to)\r\n }\r\n config.from = {\r\n visibility: \"visible\",\r\n opacity: fromOpacity\r\n };\r\n config.to = {\r\n opacity: toOpacity\r\n }\r\n }\r\n};\r\nvar PopAnimationConfigurator = {\r\n validateConfig: function(config) {\r\n isObjectConfigValidator(config, \"pop\")\r\n },\r\n setup: function($element, config) {\r\n var from = config.from,\r\n to = config.to,\r\n fromOpacity = \"opacity\" in from ? from.opacity : $element.css(\"opacity\"),\r\n toOpacity = \"opacity\" in to ? to.opacity : 1,\r\n fromScale = \"scale\" in from ? from.scale : 0,\r\n toScale = \"scale\" in to ? to.scale : 1;\r\n config.from = {\r\n opacity: fromOpacity\r\n };\r\n var translate = translator.getTranslate($element);\r\n config.from[TRANSFORM_PROP] = this._getCssTransform(translate, fromScale);\r\n config.to = {\r\n opacity: toOpacity\r\n };\r\n config.to[TRANSFORM_PROP] = this._getCssTransform(translate, toScale)\r\n },\r\n _getCssTransform: function(translate, scale) {\r\n return translator.getTranslateCss(translate) + \"scale(\" + scale + \")\"\r\n }\r\n};\r\nvar animationConfigurators = {\r\n custom: CustomAnimationConfigurator,\r\n slide: SlideAnimationConfigurator,\r\n slideIn: SlideAnimationConfigurator,\r\n slideOut: SlideAnimationConfigurator,\r\n fade: FadeAnimationConfigurator,\r\n fadeIn: FadeAnimationConfigurator,\r\n fadeOut: FadeAnimationConfigurator,\r\n pop: PopAnimationConfigurator,\r\n css: CssAnimationConfigurator\r\n};\r\nvar getAnimationConfigurator = function(config) {\r\n var result = animationConfigurators[config.type];\r\n if (!result) {\r\n throw errors.Error(\"E0011\", config.type)\r\n }\r\n return result\r\n};\r\nvar defaultJSConfig = {\r\n type: \"custom\",\r\n from: {},\r\n to: {},\r\n duration: 400,\r\n start: noop,\r\n complete: noop,\r\n easing: \"ease\",\r\n delay: 0\r\n },\r\n defaultCssConfig = {\r\n duration: 400,\r\n easing: \"ease\",\r\n delay: 0\r\n };\r\nvar setupAnimationOnElement = function() {\r\n var animation = this,\r\n $element = animation.element,\r\n config = animation.config;\r\n setupPosition($element, config.from);\r\n setupPosition($element, config.to);\r\n animation.configurator.setup($element, config);\r\n $element.data(ANIM_DATA_KEY, animation);\r\n if (fx.off) {\r\n config.duration = 0;\r\n config.delay = 0\r\n }\r\n animation.strategy.initAnimation($element, config);\r\n if (config.start) {\r\n var element = getPublicElement($element);\r\n config.start.apply(this, [element, config])\r\n }\r\n};\r\nvar onElementAnimationComplete = function(animation) {\r\n var $element = animation.element,\r\n config = animation.config;\r\n $element.removeData(ANIM_DATA_KEY);\r\n if (config.complete) {\r\n var element = getPublicElement($element);\r\n config.complete.apply(this, [element, config])\r\n }\r\n animation.deferred.resolveWith(this, [$element, config])\r\n};\r\nvar startAnimationOnElement = function() {\r\n var animation = this,\r\n $element = animation.element,\r\n config = animation.config;\r\n animation.isStarted = true;\r\n return animation.strategy.animate($element, config).done(function() {\r\n onElementAnimationComplete(animation)\r\n }).fail(function() {\r\n animation.deferred.rejectWith(this, [$element, config])\r\n })\r\n};\r\nvar stopAnimationOnElement = function(jumpToEnd) {\r\n var animation = this,\r\n $element = animation.element,\r\n config = animation.config;\r\n clearTimeout(animation.startTimeout);\r\n if (!animation.isStarted) {\r\n animation.start()\r\n }\r\n animation.strategy.stop($element, config, jumpToEnd)\r\n};\r\nvar scopedRemoveEvent = eventUtils.addNamespace(removeEvent, \"dxFXStartAnimation\");\r\nvar subscribeToRemoveEvent = function(animation) {\r\n eventsEngine.off(animation.element, scopedRemoveEvent);\r\n eventsEngine.on(animation.element, scopedRemoveEvent, function() {\r\n fx.stop(animation.element)\r\n });\r\n animation.deferred.always(function() {\r\n eventsEngine.off(animation.element, scopedRemoveEvent)\r\n })\r\n};\r\nvar createAnimation = function(element, initialConfig) {\r\n var defaultConfig = \"css\" === initialConfig.type ? defaultCssConfig : defaultJSConfig,\r\n config = extend(true, {}, defaultConfig, initialConfig),\r\n configurator = getAnimationConfigurator(config),\r\n strategy = getAnimationStrategy(config),\r\n animation = {\r\n element: $(element),\r\n config: config,\r\n configurator: configurator,\r\n strategy: strategy,\r\n isSynchronous: strategy.isSynchronous,\r\n setup: setupAnimationOnElement,\r\n start: startAnimationOnElement,\r\n stop: stopAnimationOnElement,\r\n deferred: new Deferred\r\n };\r\n if (isFunction(configurator.validateConfig)) {\r\n configurator.validateConfig(config)\r\n }\r\n subscribeToRemoveEvent(animation);\r\n return animation\r\n};\r\nvar animate = function(element, config) {\r\n var $element = $(element);\r\n if (!$element.length) {\r\n return (new Deferred).resolve().promise()\r\n }\r\n var animation = createAnimation($element, config);\r\n pushInAnimationQueue($element, animation);\r\n return animation.deferred.promise()\r\n};\r\nvar pushInAnimationQueue = function($element, animation) {\r\n var queueData = getAnimQueueData($element);\r\n writeAnimQueueData($element, queueData);\r\n queueData.push(animation);\r\n if (!isAnimating($element)) {\r\n shiftFromAnimationQueue($element, queueData)\r\n }\r\n};\r\nvar getAnimQueueData = function($element) {\r\n return $element.data(ANIM_QUEUE_KEY) || []\r\n};\r\nvar writeAnimQueueData = function($element, queueData) {\r\n $element.data(ANIM_QUEUE_KEY, queueData)\r\n};\r\nvar destroyAnimQueueData = function($element) {\r\n $element.removeData(ANIM_QUEUE_KEY)\r\n};\r\nvar isAnimating = function($element) {\r\n return !!$element.data(ANIM_DATA_KEY)\r\n};\r\nvar shiftFromAnimationQueue = function shiftFromAnimationQueue($element, queueData) {\r\n queueData = getAnimQueueData($element);\r\n if (!queueData.length) {\r\n return\r\n }\r\n var animation = queueData.shift();\r\n if (0 === queueData.length) {\r\n destroyAnimQueueData($element)\r\n }\r\n executeAnimation(animation).done(function() {\r\n if (!isAnimating($element)) {\r\n shiftFromAnimationQueue($element)\r\n }\r\n })\r\n};\r\nvar executeAnimation = function(animation) {\r\n animation.setup();\r\n if (fx.off || animation.isSynchronous) {\r\n animation.start()\r\n } else {\r\n animation.startTimeout = setTimeout(function() {\r\n animation.start()\r\n })\r\n }\r\n return animation.deferred.promise()\r\n};\r\nvar setupPosition = function($element, config) {\r\n if (!config || !config.position) {\r\n return\r\n }\r\n var win = $(window),\r\n left = 0,\r\n top = 0,\r\n position = positionUtils.calculate($element, config.position),\r\n offset = $element.offset(),\r\n currentPosition = $element.position();\r\n if (currentPosition.top > offset.top) {\r\n top = win.scrollTop()\r\n }\r\n if (currentPosition.left > offset.left) {\r\n left = win.scrollLeft()\r\n }\r\n extend(config, {\r\n left: position.h.location - offset.left + currentPosition.left - left,\r\n top: position.v.location - offset.top + currentPosition.top - top\r\n });\r\n delete config.position\r\n};\r\nvar setProps = function($element, props) {\r\n iteratorUtils.each(props, function(key, value) {\r\n try {\r\n $element.css(key, typeUtils.isFunction(value) ? value() : value)\r\n } catch (e) {}\r\n })\r\n};\r\nvar stop = function(element, jumpToEnd) {\r\n var $element = $(element),\r\n queueData = getAnimQueueData($element);\r\n iteratorUtils.each(queueData, function(_, animation) {\r\n animation.config.delay = 0;\r\n animation.config.duration = 0;\r\n animation.isSynchronous = true\r\n });\r\n if (!isAnimating($element)) {\r\n shiftFromAnimationQueue($element, queueData)\r\n }\r\n var animation = $element.data(ANIM_DATA_KEY);\r\n if (animation) {\r\n animation.stop(jumpToEnd)\r\n }\r\n $element.removeData(ANIM_DATA_KEY);\r\n destroyAnimQueueData($element)\r\n};\r\nvar fx = {\r\n off: false,\r\n animationTypes: animationConfigurators,\r\n animate: animate,\r\n createAnimation: createAnimation,\r\n isAnimating: isAnimating,\r\n stop: stop,\r\n _simulatedTransitionEndDelay: 100\r\n};\r\nmodule.exports = fx;\r\nmodule.exports.default = module.exports;\r\n","/**\r\n * DevExtreme (core/utils/string.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _typeof = \"function\" === typeof Symbol && \"symbol\" === typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n} : function(obj) {\r\n return obj && \"function\" === typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n};\r\nvar typeUtils = require(\"./type\");\r\nvar encodeHtml = function() {\r\n var encodeRegExp = [new RegExp(\"&\", \"g\"), new RegExp('\"', \"g\"), new RegExp(\"'\", \"g\"), new RegExp(\"<\", \"g\"), new RegExp(\">\", \"g\")];\r\n return function(str) {\r\n return String(str).replace(encodeRegExp[0], \"&\").replace(encodeRegExp[1], \""\").replace(encodeRegExp[2], \"'\").replace(encodeRegExp[3], \"<\").replace(encodeRegExp[4], \">\")\r\n }\r\n}();\r\nvar splitQuad = function(raw) {\r\n switch (\"undefined\" === typeof raw ? \"undefined\" : _typeof(raw)) {\r\n case \"string\":\r\n return raw.split(/\\s+/, 4);\r\n case \"object\":\r\n return [raw.x || raw.h || raw.left, raw.y || raw.v || raw.top, raw.x || raw.h || raw.right, raw.y || raw.v || raw.bottom];\r\n case \"number\":\r\n return [raw];\r\n default:\r\n return raw\r\n }\r\n};\r\nvar quadToObject = function(raw) {\r\n var quad = splitQuad(raw),\r\n left = parseInt(quad && quad[0], 10),\r\n top = parseInt(quad && quad[1], 10),\r\n right = parseInt(quad && quad[2], 10),\r\n bottom = parseInt(quad && quad[3], 10);\r\n if (!isFinite(left)) {\r\n left = 0\r\n }\r\n if (!isFinite(top)) {\r\n top = left\r\n }\r\n if (!isFinite(right)) {\r\n right = left\r\n }\r\n if (!isFinite(bottom)) {\r\n bottom = top\r\n }\r\n return {\r\n top: top,\r\n right: right,\r\n bottom: bottom,\r\n left: left\r\n }\r\n};\r\nvar stringFormat = function() {\r\n var replaceDollarCount, reg, value, s = arguments[0],\r\n values = [].slice.call(arguments).slice(1);\r\n if (typeUtils.isFunction(s)) {\r\n return s.apply(this, values)\r\n }\r\n for (var i = 0; i < values.length; i++) {\r\n reg = new RegExp(\"\\\\{\" + i + \"\\\\}\", \"gm\");\r\n value = values[i];\r\n if (\"string\" === typeUtils.type(value) && value.indexOf(\"$\") >= 0) {\r\n replaceDollarCount = \"$\".replace(\"$\", \"$$\").length;\r\n value = value.replace(\"$\", 1 === replaceDollarCount ? \"$$$$\" : \"$$\")\r\n }\r\n s = s.replace(reg, value)\r\n }\r\n return s\r\n};\r\nvar replaceAll = function() {\r\n var quote = function(str) {\r\n return (str + \"\").replace(/([+*?.[^\\]$(){}><|=!:])/g, \"\\\\$1\")\r\n };\r\n return function(text, searchToken, replacementToken) {\r\n return text.replace(new RegExp(\"(\" + quote(searchToken) + \")\", \"gi\"), replacementToken)\r\n }\r\n}();\r\nvar isEmpty = function() {\r\n var SPACE_REGEXP = /\\s/g;\r\n return function(text) {\r\n return !text || !text.replace(SPACE_REGEXP, \"\")\r\n }\r\n}();\r\nexports.encodeHtml = encodeHtml;\r\nexports.quadToObject = quadToObject;\r\nexports.format = stringFormat;\r\nexports.replaceAll = replaceAll;\r\nexports.isEmpty = isEmpty;\r\n","/**\r\n * DevExtreme (events/drag.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar $ = require(\"../core/renderer\"),\r\n dataUtils = require(\"../core/element_data\"),\r\n wrapToArray = require(\"../core/utils/array\").wrapToArray,\r\n inArray = require(\"../core/utils/array\").inArray,\r\n iteratorUtils = require(\"../core/utils/iterator\"),\r\n contains = require(\"../core/utils/dom\").contains,\r\n registerEvent = require(\"./core/event_registrator\"),\r\n eventUtils = require(\"./utils\"),\r\n GestureEmitter = require(\"./gesture/emitter.gesture\"),\r\n registerEmitter = require(\"./core/emitter_registrator\");\r\nvar DRAG_START_EVENT = \"dxdragstart\",\r\n DRAG_EVENT = \"dxdrag\",\r\n DRAG_END_EVENT = \"dxdragend\",\r\n DRAG_ENTER_EVENT = \"dxdragenter\",\r\n DRAG_LEAVE_EVENT = \"dxdragleave\",\r\n DROP_EVENT = \"dxdrop\",\r\n DX_DRAG_EVENTS_COUNT_KEY = \"dxDragEventsCount\";\r\nvar knownDropTargets = [],\r\n knownDropTargetSelectors = [],\r\n knownDropTargetConfigs = [];\r\nvar dropTargetRegistration = {\r\n setup: function(element, data) {\r\n var knownDropTarget = inArray(element, knownDropTargets) !== -1;\r\n if (!knownDropTarget) {\r\n knownDropTargets.push(element);\r\n knownDropTargetSelectors.push([]);\r\n knownDropTargetConfigs.push(data || {})\r\n }\r\n },\r\n add: function(element, handleObj) {\r\n var index = inArray(element, knownDropTargets);\r\n this.updateEventsCounter(element, handleObj.type, 1);\r\n var selector = handleObj.selector;\r\n if (inArray(selector, knownDropTargetSelectors[index]) === -1) {\r\n knownDropTargetSelectors[index].push(selector)\r\n }\r\n },\r\n updateEventsCounter: function(element, event, value) {\r\n if ([DRAG_ENTER_EVENT, DRAG_LEAVE_EVENT, DROP_EVENT].indexOf(event) > -1) {\r\n var eventsCount = dataUtils.data(element, DX_DRAG_EVENTS_COUNT_KEY) || 0;\r\n dataUtils.data(element, DX_DRAG_EVENTS_COUNT_KEY, Math.max(0, eventsCount + value))\r\n }\r\n },\r\n remove: function(element, handleObj) {\r\n this.updateEventsCounter(element, handleObj.type, -1)\r\n },\r\n teardown: function(element) {\r\n var handlersCount = dataUtils.data(element, DX_DRAG_EVENTS_COUNT_KEY);\r\n if (!handlersCount) {\r\n var index = inArray(element, knownDropTargets);\r\n knownDropTargets.splice(index, 1);\r\n knownDropTargetSelectors.splice(index, 1);\r\n knownDropTargetConfigs.splice(index, 1);\r\n dataUtils.removeData(element, DX_DRAG_EVENTS_COUNT_KEY)\r\n }\r\n }\r\n};\r\nregisterEvent(DRAG_ENTER_EVENT, dropTargetRegistration);\r\nregisterEvent(DRAG_LEAVE_EVENT, dropTargetRegistration);\r\nregisterEvent(DROP_EVENT, dropTargetRegistration);\r\nvar getItemDelegatedTargets = function($element) {\r\n var dropTargetIndex = inArray($element.get(0), knownDropTargets),\r\n dropTargetSelectors = knownDropTargetSelectors[dropTargetIndex];\r\n var $delegatedTargets = $element.find(dropTargetSelectors.join(\", \"));\r\n if (inArray(void 0, dropTargetSelectors) !== -1) {\r\n $delegatedTargets = $delegatedTargets.add($element)\r\n }\r\n return $delegatedTargets\r\n};\r\nvar getItemConfig = function($element) {\r\n var dropTargetIndex = inArray($element.get(0), knownDropTargets);\r\n return knownDropTargetConfigs[dropTargetIndex]\r\n};\r\nvar getItemPosition = function(dropTargetConfig, $element) {\r\n if (dropTargetConfig.itemPositionFunc) {\r\n return dropTargetConfig.itemPositionFunc($element)\r\n } else {\r\n return $element.offset()\r\n }\r\n};\r\nvar getItemSize = function(dropTargetConfig, $element) {\r\n if (dropTargetConfig.itemSizeFunc) {\r\n return dropTargetConfig.itemSizeFunc($element)\r\n }\r\n return {\r\n width: $element.get(0).getBoundingClientRect().width,\r\n height: $element.get(0).getBoundingClientRect().height\r\n }\r\n};\r\nvar DragEmitter = GestureEmitter.inherit({\r\n ctor: function(element) {\r\n this.callBase(element);\r\n this.direction = \"both\"\r\n },\r\n _init: function(e) {\r\n this._initEvent = e\r\n },\r\n _start: function(e) {\r\n e = this._fireEvent(DRAG_START_EVENT, this._initEvent);\r\n this._maxLeftOffset = e.maxLeftOffset;\r\n this._maxRightOffset = e.maxRightOffset;\r\n this._maxTopOffset = e.maxTopOffset;\r\n this._maxBottomOffset = e.maxBottomOffset;\r\n var dropTargets = wrapToArray(e.targetElements || (null === e.targetElements ? [] : knownDropTargets));\r\n this._dropTargets = iteratorUtils.map(dropTargets, function(element) {\r\n return $(element).get(0)\r\n })\r\n },\r\n _move: function(e) {\r\n var eventData = eventUtils.eventData(e),\r\n dragOffset = this._calculateOffset(eventData);\r\n e = this._fireEvent(DRAG_EVENT, e, {\r\n offset: dragOffset\r\n });\r\n this._processDropTargets(e);\r\n if (!e._cancelPreventDefault) {\r\n e.preventDefault()\r\n }\r\n },\r\n _calculateOffset: function(eventData) {\r\n return {\r\n x: this._calculateXOffset(eventData),\r\n y: this._calculateYOffset(eventData)\r\n }\r\n },\r\n _calculateXOffset: function(eventData) {\r\n if (\"vertical\" !== this.direction) {\r\n var offset = eventData.x - this._startEventData.x;\r\n return this._fitOffset(offset, this._maxLeftOffset, this._maxRightOffset)\r\n }\r\n return 0\r\n },\r\n _calculateYOffset: function(eventData) {\r\n if (\"horizontal\" !== this.direction) {\r\n var offset = eventData.y - this._startEventData.y;\r\n return this._fitOffset(offset, this._maxTopOffset, this._maxBottomOffset)\r\n }\r\n return 0\r\n },\r\n _fitOffset: function(offset, minOffset, maxOffset) {\r\n if (null != minOffset) {\r\n offset = Math.max(offset, -minOffset)\r\n }\r\n if (null != maxOffset) {\r\n offset = Math.min(offset, maxOffset)\r\n }\r\n return offset\r\n },\r\n _processDropTargets: function(e) {\r\n var target = this._findDropTarget(e),\r\n sameTarget = target === this._currentDropTarget;\r\n if (!sameTarget) {\r\n this._fireDropTargetEvent(e, DRAG_LEAVE_EVENT);\r\n this._currentDropTarget = target;\r\n this._fireDropTargetEvent(e, DRAG_ENTER_EVENT)\r\n }\r\n },\r\n _fireDropTargetEvent: function(event, eventName) {\r\n if (!this._currentDropTarget) {\r\n return\r\n }\r\n var eventData = {\r\n type: eventName,\r\n originalEvent: event,\r\n draggingElement: this._$element.get(0),\r\n target: this._currentDropTarget\r\n };\r\n eventUtils.fireEvent(eventData)\r\n },\r\n _findDropTarget: function(e) {\r\n var result, that = this;\r\n iteratorUtils.each(knownDropTargets, function(_, target) {\r\n if (!that._checkDropTargetActive(target)) {\r\n return\r\n }\r\n var $target = $(target);\r\n iteratorUtils.each(getItemDelegatedTargets($target), function(_, delegatedTarget) {\r\n var $delegatedTarget = $(delegatedTarget);\r\n if (that._checkDropTarget(getItemConfig($target), $delegatedTarget, e)) {\r\n result = delegatedTarget\r\n }\r\n })\r\n });\r\n return result\r\n },\r\n _checkDropTargetActive: function(target) {\r\n var active = false;\r\n iteratorUtils.each(this._dropTargets, function(_, activeTarget) {\r\n active = active || activeTarget === target || contains(activeTarget, target);\r\n return !active\r\n });\r\n return active\r\n },\r\n _checkDropTarget: function(config, $target, e) {\r\n var isDraggingElement = $target.get(0) === this._$element.get(0);\r\n if (isDraggingElement) {\r\n return false\r\n }\r\n var targetPosition = getItemPosition(config, $target);\r\n if (e.pageX < targetPosition.left) {\r\n return false\r\n }\r\n if (e.pageY < targetPosition.top) {\r\n return false\r\n }\r\n var targetSize = getItemSize(config, $target);\r\n if (e.pageX > targetPosition.left + targetSize.width) {\r\n return false\r\n }\r\n if (e.pageY > targetPosition.top + targetSize.height) {\r\n return false\r\n }\r\n return $target\r\n },\r\n _end: function(e) {\r\n var eventData = eventUtils.eventData(e);\r\n this._fireEvent(DRAG_END_EVENT, e, {\r\n offset: this._calculateOffset(eventData)\r\n });\r\n this._fireDropTargetEvent(e, DROP_EVENT);\r\n delete this._currentDropTarget\r\n }\r\n});\r\nregisterEmitter({\r\n emitter: DragEmitter,\r\n events: [DRAG_START_EVENT, DRAG_EVENT, DRAG_END_EVENT]\r\n});\r\nexports.move = DRAG_EVENT;\r\nexports.start = DRAG_START_EVENT;\r\nexports.end = DRAG_END_EVENT;\r\nexports.enter = DRAG_ENTER_EVENT;\r\nexports.leave = DRAG_LEAVE_EVENT;\r\nexports.drop = DROP_EVENT;\r\n","/**\r\n * DevExtreme (ui/widget/bindable_template.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar $ = require(\"../../core/renderer\"),\r\n TemplateBase = require(\"./ui.template_base\"),\r\n eventsEngine = require(\"../../events/core/events_engine\"),\r\n removeEvent = require(\"../../core/remove_event\"),\r\n iteratorUtils = require(\"../../core/utils/iterator\"),\r\n isPrimitive = require(\"../../core/utils/type\").isPrimitive;\r\nvar watchChanges = function() {\r\n var start = function(rawData, watchMethod, fields, fieldsMap, callback) {\r\n var globalDispose, fieldsDispose;\r\n globalDispose = globalWatch(rawData, watchMethod, function(dataWithRawFields) {\r\n fieldsDispose && fieldsDispose();\r\n if (isPrimitive(dataWithRawFields)) {\r\n callback(dataWithRawFields);\r\n return\r\n }\r\n fieldsDispose = fieldsWatch(dataWithRawFields, watchMethod, fields, fieldsMap, function(data) {\r\n callback(data)\r\n })\r\n });\r\n return function() {\r\n fieldsDispose && fieldsDispose();\r\n globalDispose && globalDispose()\r\n }\r\n };\r\n var globalWatch = function(data, watchMethod, callback) {\r\n return watchMethod(function() {\r\n return data\r\n }, callback)\r\n };\r\n var fieldsWatch = function(data, watchMethod, fields, fieldsMap, callback) {\r\n var resolvedData = {},\r\n missedFields = fields.slice();\r\n var watchHandlers = iteratorUtils.map(fields, function(name) {\r\n var fieldGetter = fieldsMap[name];\r\n return watchMethod(fieldGetter ? function() {\r\n return fieldGetter(data)\r\n } : function() {\r\n return data[name]\r\n }, function(value) {\r\n resolvedData[name] = value;\r\n if (missedFields.length) {\r\n var index = missedFields.indexOf(name);\r\n if (index >= 0) {\r\n missedFields.splice(index, 1)\r\n }\r\n }\r\n if (!missedFields.length) {\r\n callback(resolvedData)\r\n }\r\n })\r\n });\r\n return function() {\r\n iteratorUtils.each(watchHandlers, function(_, dispose) {\r\n dispose()\r\n })\r\n }\r\n };\r\n return start\r\n}();\r\nmodule.exports = TemplateBase.inherit({\r\n ctor: function(render, fields, watchMethod, fieldsMap) {\r\n this._render = render;\r\n this._fields = fields;\r\n this._fieldsMap = fieldsMap || {};\r\n this._watchMethod = watchMethod\r\n },\r\n _renderCore: function(options) {\r\n var $container = $(options.container);\r\n var dispose = watchChanges(options.model, this._watchMethod, this._fields, this._fieldsMap, function(data) {\r\n $container.empty();\r\n this._render($container, data, options.model)\r\n }.bind(this));\r\n eventsEngine.on($container, removeEvent, dispose);\r\n return $container.contents()\r\n }\r\n});\r\n","/**\r\n * DevExtreme (core/dom_component.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar $ = require(\"../core/renderer\"),\r\n eventsEngine = require(\"../events/core/events_engine\"),\r\n windowUtils = require(\"../core/utils/window\"),\r\n extend = require(\"./utils/extend\").extend,\r\n config = require(\"./config\"),\r\n errors = require(\"./errors\"),\r\n getPublicElement = require(\"../core/utils/dom\").getPublicElement,\r\n windowResizeCallbacks = require(\"../core/utils/resize_callbacks\"),\r\n commonUtils = require(\"./utils/common\"),\r\n each = require(\"./utils/iterator\").each,\r\n typeUtils = require(\"./utils/type\"),\r\n inArray = require(\"./utils/array\").inArray,\r\n publicComponentUtils = require(\"./utils/public_component\"),\r\n dataUtils = require(\"./element_data\"),\r\n Component = require(\"./component\"),\r\n abstract = Component.abstract;\r\nvar RTL_DIRECTION_CLASS = \"dx-rtl\",\r\n VISIBILITY_CHANGE_CLASS = \"dx-visibility-change-handler\",\r\n VISIBILITY_CHANGE_EVENTNAMESPACE = \"VisibilityChange\";\r\nvar DOMComponent = Component.inherit({\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n width: void 0,\r\n height: void 0,\r\n rtlEnabled: config().rtlEnabled,\r\n elementAttr: {},\r\n disabled: false,\r\n integrationOptions: {}\r\n })\r\n },\r\n ctor: function(element, options) {\r\n this._$element = $(element);\r\n publicComponentUtils.attachInstanceToElement(this._$element, this, this._dispose);\r\n this._synchronizableOptionsForCreateComponent = [\"rtlEnabled\", \"disabled\", \"templatesRenderAsynchronously\"];\r\n this.callBase(options)\r\n },\r\n _visibilityChanged: abstract,\r\n _dimensionChanged: abstract,\r\n _init: function() {\r\n this.callBase();\r\n this._attachWindowResizeCallback()\r\n },\r\n _setOptionsByDevice: function(instanceCustomRules) {\r\n this.callBase([].concat(this.constructor._classCustomRules || [], instanceCustomRules || []))\r\n },\r\n _isInitialOptionValue: function(name) {\r\n var isCustomOption = this.constructor._classCustomRules && Object.prototype.hasOwnProperty.call(this._convertRulesToOptions(this.constructor._classCustomRules), name);\r\n return !isCustomOption && this.callBase(name)\r\n },\r\n _attachWindowResizeCallback: function() {\r\n if (this._isDimensionChangeSupported()) {\r\n var windowResizeCallBack = this._windowResizeCallBack = this._dimensionChanged.bind(this);\r\n windowResizeCallbacks.add(windowResizeCallBack)\r\n }\r\n },\r\n _isDimensionChangeSupported: function() {\r\n return this._dimensionChanged !== abstract\r\n },\r\n _renderComponent: function() {\r\n this._initMarkup();\r\n if (windowUtils.hasWindow()) {\r\n this._render()\r\n }\r\n },\r\n _initMarkup: function() {\r\n this._renderElementAttributes();\r\n this._toggleRTLDirection(this.option(\"rtlEnabled\"));\r\n this._renderVisibilityChange();\r\n this._renderDimensions()\r\n },\r\n _render: function() {\r\n this._attachVisibilityChangeHandlers()\r\n },\r\n _renderElementAttributes: function() {\r\n var attributes = extend({}, this.option(\"elementAttr\")),\r\n classNames = attributes.class;\r\n delete attributes.class;\r\n this.$element().attr(attributes).addClass(classNames)\r\n },\r\n _renderVisibilityChange: function() {\r\n if (this._isDimensionChangeSupported()) {\r\n this._attachDimensionChangeHandlers()\r\n }\r\n if (!this._isVisibilityChangeSupported()) {\r\n return\r\n }\r\n this.$element().addClass(VISIBILITY_CHANGE_CLASS)\r\n },\r\n _renderDimensions: function() {\r\n var $element = this.$element();\r\n var element = $element.get(0);\r\n var width = this._getOptionValue(\"width\", element);\r\n var height = this._getOptionValue(\"height\", element);\r\n if (this._isCssUpdateRequired(element, height, width)) {\r\n $element.css({\r\n width: width,\r\n height: height\r\n })\r\n }\r\n },\r\n _isCssUpdateRequired: function(element, height, width) {\r\n return !!(width || height || element.style.width || element.style.height)\r\n },\r\n _attachDimensionChangeHandlers: function() {\r\n var that = this;\r\n var resizeEventName = \"dxresize.\" + this.NAME + VISIBILITY_CHANGE_EVENTNAMESPACE;\r\n eventsEngine.off(that.$element(), resizeEventName);\r\n eventsEngine.on(that.$element(), resizeEventName, function() {\r\n that._dimensionChanged()\r\n })\r\n },\r\n _attachVisibilityChangeHandlers: function() {\r\n if (!this._isVisibilityChangeSupported()) {\r\n return\r\n }\r\n var that = this;\r\n var hidingEventName = \"dxhiding.\" + this.NAME + VISIBILITY_CHANGE_EVENTNAMESPACE;\r\n var shownEventName = \"dxshown.\" + this.NAME + VISIBILITY_CHANGE_EVENTNAMESPACE;\r\n that._isHidden = !that._isVisible();\r\n eventsEngine.off(that.$element(), hidingEventName);\r\n eventsEngine.on(that.$element(), hidingEventName, function() {\r\n that._checkVisibilityChanged(\"hiding\")\r\n });\r\n eventsEngine.off(that.$element(), shownEventName);\r\n eventsEngine.on(that.$element(), shownEventName, function() {\r\n that._checkVisibilityChanged(\"shown\")\r\n })\r\n },\r\n _isVisible: function() {\r\n return this.$element().is(\":visible\")\r\n },\r\n _checkVisibilityChanged: function(event) {\r\n if (\"hiding\" === event && this._isVisible() && !this._isHidden) {\r\n this._visibilityChanged(false);\r\n this._isHidden = true\r\n } else {\r\n if (\"shown\" === event && this._isVisible() && this._isHidden) {\r\n this._isHidden = false;\r\n this._visibilityChanged(true)\r\n }\r\n }\r\n },\r\n _isVisibilityChangeSupported: function() {\r\n return this._visibilityChanged !== abstract && windowUtils.hasWindow()\r\n },\r\n _clean: commonUtils.noop,\r\n _modelByElement: function() {\r\n var modelByElement = this.option(\"modelByElement\") || commonUtils.noop;\r\n return modelByElement(this.$element())\r\n },\r\n _invalidate: function() {\r\n if (!this._updateLockCount) {\r\n throw errors.Error(\"E0007\")\r\n }\r\n this._requireRefresh = true\r\n },\r\n _refresh: function() {\r\n this._clean();\r\n this._renderComponent()\r\n },\r\n _dispose: function() {\r\n this.callBase();\r\n this._clean();\r\n this._detachWindowResizeCallback()\r\n },\r\n _detachWindowResizeCallback: function() {\r\n if (this._isDimensionChangeSupported()) {\r\n windowResizeCallbacks.remove(this._windowResizeCallBack)\r\n }\r\n },\r\n _toggleRTLDirection: function(rtl) {\r\n this.$element().toggleClass(RTL_DIRECTION_CLASS, rtl)\r\n },\r\n _createComponent: function(element, component, config) {\r\n var that = this;\r\n config = config || {};\r\n var synchronizableOptions = commonUtils.grep(this._synchronizableOptionsForCreateComponent, function(value) {\r\n return !(value in config)\r\n });\r\n var nestedComponentOptions = that.option(\"nestedComponentOptions\") || commonUtils.noop;\r\n that._extendConfig(config, extend({\r\n integrationOptions: this.option(\"integrationOptions\"),\r\n rtlEnabled: this.option(\"rtlEnabled\"),\r\n disabled: this.option(\"disabled\"),\r\n templatesRenderAsynchronously: this.option(\"templatesRenderAsynchronously\")\r\n }, nestedComponentOptions(this)));\r\n var instance;\r\n if (typeUtils.isString(component)) {\r\n var $element = $(element)[component](config);\r\n instance = $element[component](\"instance\")\r\n } else {\r\n if (element) {\r\n instance = component.getInstance(element);\r\n if (instance) {\r\n instance.option(config)\r\n } else {\r\n instance = new component(element, config)\r\n }\r\n }\r\n }\r\n if (instance) {\r\n var optionChangedHandler = function(args) {\r\n if (inArray(args.name, synchronizableOptions) >= 0) {\r\n instance.option(args.name, args.value)\r\n }\r\n };\r\n that.on(\"optionChanged\", optionChangedHandler);\r\n instance.on(\"disposing\", function() {\r\n that.off(\"optionChanged\", optionChangedHandler)\r\n })\r\n }\r\n return instance\r\n },\r\n _extendConfig: function(config, extendConfig) {\r\n each(extendConfig, function(key, value) {\r\n config[key] = Object.prototype.hasOwnProperty.call(config, key) ? config[key] : value\r\n })\r\n },\r\n _defaultActionConfig: function() {\r\n return extend(this.callBase(), {\r\n context: this._modelByElement(this.$element())\r\n })\r\n },\r\n _defaultActionArgs: function() {\r\n var model = this._modelByElement(this.$element());\r\n return extend(this.callBase(), {\r\n element: this.element(),\r\n model: model\r\n })\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"width\":\r\n case \"height\":\r\n this._renderDimensions();\r\n break;\r\n case \"rtlEnabled\":\r\n this._invalidate();\r\n break;\r\n case \"elementAttr\":\r\n this._renderElementAttributes();\r\n break;\r\n case \"disabled\":\r\n case \"integrationOptions\":\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _removeAttributes: function(element) {\r\n var i = element.attributes.length - 1;\r\n for (; i >= 0; i--) {\r\n var attribute = element.attributes[i];\r\n if (!attribute) {\r\n return\r\n }\r\n var attributeName = attribute.name;\r\n if (0 === attributeName.indexOf(\"aria-\") || attributeName.indexOf(\"dx-\") !== -1 || \"role\" === attributeName || \"style\" === attributeName || \"tabindex\" === attributeName) {\r\n element.removeAttribute(attributeName)\r\n }\r\n }\r\n },\r\n _removeClasses: function(element) {\r\n var classes = element.className.split(\" \").filter(function(cssClass) {\r\n return 0 !== cssClass.lastIndexOf(\"dx-\", 0)\r\n });\r\n element.className = classes.join(\" \")\r\n },\r\n endUpdate: function() {\r\n var requireRender = !this._initializing && !this._initialized;\r\n this.callBase.apply(this, arguments);\r\n if (!this._updateLockCount) {\r\n if (requireRender) {\r\n this._renderComponent()\r\n } else {\r\n if (this._requireRefresh) {\r\n this._requireRefresh = false;\r\n this._refresh()\r\n }\r\n }\r\n }\r\n },\r\n $element: function() {\r\n return this._$element\r\n },\r\n element: function() {\r\n return getPublicElement(this.$element())\r\n },\r\n dispose: function() {\r\n var element = this.$element().get(0);\r\n dataUtils.cleanDataRecursive(element, true);\r\n element.textContent = \"\";\r\n this._removeAttributes(element);\r\n this._removeClasses(element)\r\n }\r\n});\r\nDOMComponent.getInstance = function(element) {\r\n return publicComponentUtils.getInstanceByElement($(element), this)\r\n};\r\nDOMComponent.defaultOptions = function(rule) {\r\n this._classCustomRules = this._classCustomRules || [];\r\n this._classCustomRules.push(rule)\r\n};\r\nmodule.exports = DOMComponent;\r\nmodule.exports.default = module.exports;\r\n","/**\r\n * DevExtreme (ui/widget/function_template.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar TemplateBase = require(\"./ui.template_base\"),\r\n domUtils = require(\"../../core/utils/dom\");\r\nvar FunctionTemplate = TemplateBase.inherit({\r\n ctor: function(render) {\r\n this._render = render\r\n },\r\n _renderCore: function(options) {\r\n return domUtils.normalizeTemplateElement(this._render(options))\r\n }\r\n});\r\nmodule.exports = FunctionTemplate;\r\n","/**\r\n * DevExtreme (core/utils/variable_wrapper.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar logger = require(\"./console\").logger,\r\n dependencyInjector = require(\"./dependency_injector\");\r\nmodule.exports = dependencyInjector({\r\n isWrapped: function() {\r\n return false\r\n },\r\n isWritableWrapped: function() {\r\n return false\r\n },\r\n wrap: function(value) {\r\n return value\r\n },\r\n unwrap: function(value) {\r\n return value\r\n },\r\n assign: function() {\r\n logger.error(\"Method 'assign' should not be used for not wrapped variables. Use 'isWrapped' method for ensuring.\")\r\n }\r\n});\r\n","/**\r\n * DevExtreme (data/store_helper.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar grep = require(\"../core/utils/common\").grep,\r\n extend = require(\"../core/utils/extend\").extend,\r\n each = require(\"../core/utils/iterator\").each,\r\n arrayQuery = require(\"./array_query\"),\r\n normalizeSortingInfo = require(\"./utils\").normalizeSortingInfo;\r\n\r\nfunction multiLevelGroup(query, groupInfo) {\r\n query = query.groupBy(groupInfo[0].selector);\r\n if (groupInfo.length > 1) {\r\n query = query.select(function(g) {\r\n return extend({}, g, {\r\n items: multiLevelGroup(arrayQuery(g.items), groupInfo.slice(1)).toArray()\r\n })\r\n })\r\n }\r\n return query\r\n}\r\n\r\nfunction arrangeSortingInfo(groupInfo, sortInfo) {\r\n var filteredGroup = [];\r\n each(groupInfo, function(_, group) {\r\n var collision = grep(sortInfo, function(sort) {\r\n return group.selector === sort.selector\r\n });\r\n if (collision.length < 1) {\r\n filteredGroup.push(group)\r\n }\r\n });\r\n return filteredGroup.concat(sortInfo)\r\n}\r\n\r\nfunction queryByOptions(query, options, isCountQuery) {\r\n options = options || {};\r\n var filter = options.filter;\r\n if (filter) {\r\n query = query.filter(filter)\r\n }\r\n if (isCountQuery) {\r\n return query\r\n }\r\n var sort = options.sort,\r\n select = options.select,\r\n group = options.group,\r\n skip = options.skip,\r\n take = options.take;\r\n if (group) {\r\n group = normalizeSortingInfo(group);\r\n group.keepInitialKeyOrder = !!options.group.keepInitialKeyOrder\r\n }\r\n if (sort || group) {\r\n sort = normalizeSortingInfo(sort || []);\r\n if (group && !group.keepInitialKeyOrder) {\r\n sort = arrangeSortingInfo(group, sort)\r\n }\r\n each(sort, function(index) {\r\n query = query[index ? \"thenBy\" : \"sortBy\"](this.selector, this.desc, this.compare)\r\n })\r\n }\r\n if (select) {\r\n query = query.select(select)\r\n }\r\n if (group) {\r\n query = multiLevelGroup(query, group)\r\n }\r\n if (take || skip) {\r\n query = query.slice(skip || 0, take)\r\n }\r\n return query\r\n}\r\nmodule.exports = {\r\n multiLevelGroup: multiLevelGroup,\r\n arrangeSortingInfo: arrangeSortingInfo,\r\n queryByOptions: queryByOptions\r\n};\r\n","/**\r\n * DevExtreme (events/hold.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar eventUtils = require(\"./utils\"),\r\n Emitter = require(\"./core/emitter\"),\r\n registerEmitter = require(\"./core/emitter_registrator\"),\r\n abs = Math.abs;\r\nvar HOLD_EVENT_NAME = \"dxhold\",\r\n HOLD_TIMEOUT = 750,\r\n TOUCH_BOUNDARY = 5;\r\nvar HoldEmitter = Emitter.inherit({\r\n start: function(e) {\r\n this._startEventData = eventUtils.eventData(e);\r\n this._startTimer(e)\r\n },\r\n _startTimer: function(e) {\r\n var holdTimeout = \"timeout\" in this ? this.timeout : HOLD_TIMEOUT;\r\n this._holdTimer = setTimeout(function() {\r\n this._requestAccept(e);\r\n this._fireEvent(HOLD_EVENT_NAME, e, {\r\n target: e.target\r\n });\r\n this._forgetAccept()\r\n }.bind(this), holdTimeout)\r\n },\r\n move: function(e) {\r\n if (this._touchWasMoved(e)) {\r\n this._cancel(e)\r\n }\r\n },\r\n _touchWasMoved: function(e) {\r\n var delta = eventUtils.eventDelta(this._startEventData, eventUtils.eventData(e));\r\n return abs(delta.x) > TOUCH_BOUNDARY || abs(delta.y) > TOUCH_BOUNDARY\r\n },\r\n end: function() {\r\n this._stopTimer()\r\n },\r\n _stopTimer: function() {\r\n clearTimeout(this._holdTimer)\r\n },\r\n cancel: function() {\r\n this._stopTimer()\r\n },\r\n dispose: function() {\r\n this._stopTimer()\r\n }\r\n});\r\nregisterEmitter({\r\n emitter: HoldEmitter,\r\n bubble: true,\r\n events: [HOLD_EVENT_NAME]\r\n});\r\nmodule.exports = {\r\n name: HOLD_EVENT_NAME\r\n};\r\n","/**\r\n * DevExtreme (animation/frame.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar windowUtils = require(\"../core/utils/window\"),\r\n window = windowUtils.hasWindow() ? windowUtils.getWindow() : {},\r\n callOnce = require(\"../core/utils/call_once\");\r\nvar FRAME_ANIMATION_STEP_TIME = 1e3 / 60,\r\n request = function(callback) {\r\n return setTimeout(callback, FRAME_ANIMATION_STEP_TIME)\r\n },\r\n cancel = function(requestID) {\r\n clearTimeout(requestID)\r\n };\r\nvar setAnimationFrameMethods = callOnce(function() {\r\n var nativeRequest = window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame || window.msRequestAnimationFrame,\r\n nativeCancel = window.cancelAnimationFrame || window.webkitCancelAnimationFrame || window.mozCancelAnimationFrame || window.oCancelAnimationFrame || window.msCancelAnimationFrame;\r\n if (nativeRequest && nativeCancel) {\r\n request = nativeRequest;\r\n cancel = nativeCancel\r\n }\r\n if (nativeRequest && !nativeCancel) {\r\n var canceledRequests = {};\r\n request = function(callback) {\r\n var requestId = nativeRequest.call(window, function() {\r\n try {\r\n if (requestId in canceledRequests) {\r\n return\r\n }\r\n callback.apply(this, arguments)\r\n } finally {\r\n delete canceledRequests[requestId]\r\n }\r\n });\r\n return requestId\r\n };\r\n cancel = function(requestId) {\r\n canceledRequests[requestId] = true\r\n }\r\n }\r\n});\r\nexports.requestAnimationFrame = function() {\r\n setAnimationFrameMethods();\r\n return request.apply(window, arguments)\r\n};\r\nexports.cancelAnimationFrame = function() {\r\n setAnimationFrameMethods();\r\n cancel.apply(window, arguments)\r\n};\r\n","/*!\n * devextreme-react\n * Version: 19.1.6\n * Build date: Wed Sep 11 2019\n *\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar popover_1 = require(\"devextreme/ui/popover\");\nvar prop_types_1 = require(\"prop-types\");\nvar component_1 = require(\"./core/component\");\nvar nested_option_1 = require(\"./core/nested-option\");\nvar Popover = /** @class */ (function (_super) {\n __extends(Popover, _super);\n function Popover() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._WidgetClass = popover_1.default;\n _this._defaults = {\n defaultHeight: \"height\",\n defaultPosition: \"position\",\n defaultVisible: \"visible\",\n defaultWidth: \"width\"\n };\n _this._expectedChildren = {\n animation: { optionName: \"animation\", isCollectionItem: false },\n hideEvent: { optionName: \"hideEvent\", isCollectionItem: false },\n position: { optionName: \"position\", isCollectionItem: false },\n showEvent: { optionName: \"showEvent\", isCollectionItem: false },\n toolbarItem: { optionName: \"toolbarItems\", isCollectionItem: true }\n };\n _this._templateProps = [{\n tmplOption: \"contentTemplate\",\n render: \"contentRender\",\n component: \"contentComponent\",\n keyFn: \"contentKeyFn\"\n }, {\n tmplOption: \"titleTemplate\",\n render: \"titleRender\",\n component: \"titleComponent\",\n keyFn: \"titleKeyFn\"\n }];\n return _this;\n }\n Object.defineProperty(Popover.prototype, \"instance\", {\n get: function () {\n return this._instance;\n },\n enumerable: true,\n configurable: true\n });\n return Popover;\n}(component_1.Component));\nexports.Popover = Popover;\nPopover.propTypes = {\n animation: prop_types_1.PropTypes.object,\n closeOnBackButton: prop_types_1.PropTypes.bool,\n closeOnOutsideClick: prop_types_1.PropTypes.oneOfType([\n prop_types_1.PropTypes.bool,\n prop_types_1.PropTypes.func\n ]),\n deferRendering: prop_types_1.PropTypes.bool,\n disabled: prop_types_1.PropTypes.bool,\n elementAttr: prop_types_1.PropTypes.object,\n height: prop_types_1.PropTypes.oneOfType([\n prop_types_1.PropTypes.func,\n prop_types_1.PropTypes.number,\n prop_types_1.PropTypes.string\n ]),\n hideEvent: prop_types_1.PropTypes.oneOfType([\n prop_types_1.PropTypes.object,\n prop_types_1.PropTypes.string\n ]),\n hint: prop_types_1.PropTypes.string,\n hoverStateEnabled: prop_types_1.PropTypes.bool,\n maxHeight: prop_types_1.PropTypes.oneOfType([\n prop_types_1.PropTypes.func,\n prop_types_1.PropTypes.number,\n prop_types_1.PropTypes.string\n ]),\n maxWidth: prop_types_1.PropTypes.oneOfType([\n prop_types_1.PropTypes.func,\n prop_types_1.PropTypes.number,\n prop_types_1.PropTypes.string\n ]),\n minHeight: prop_types_1.PropTypes.oneOfType([\n prop_types_1.PropTypes.func,\n prop_types_1.PropTypes.number,\n prop_types_1.PropTypes.string\n ]),\n minWidth: prop_types_1.PropTypes.oneOfType([\n prop_types_1.PropTypes.func,\n prop_types_1.PropTypes.number,\n prop_types_1.PropTypes.string\n ]),\n onContentReady: prop_types_1.PropTypes.func,\n onDisposing: prop_types_1.PropTypes.func,\n onHidden: prop_types_1.PropTypes.func,\n onHiding: prop_types_1.PropTypes.func,\n onInitialized: prop_types_1.PropTypes.func,\n onOptionChanged: prop_types_1.PropTypes.func,\n onShowing: prop_types_1.PropTypes.func,\n onShown: prop_types_1.PropTypes.func,\n onTitleRendered: prop_types_1.PropTypes.func,\n position: prop_types_1.PropTypes.oneOfType([\n prop_types_1.PropTypes.object,\n prop_types_1.PropTypes.oneOf([\n \"bottom\",\n \"left\",\n \"right\",\n \"top\"\n ])\n ]),\n rtlEnabled: prop_types_1.PropTypes.bool,\n shading: prop_types_1.PropTypes.bool,\n shadingColor: prop_types_1.PropTypes.string,\n showCloseButton: prop_types_1.PropTypes.bool,\n showEvent: prop_types_1.PropTypes.oneOfType([\n prop_types_1.PropTypes.object,\n prop_types_1.PropTypes.string\n ]),\n showTitle: prop_types_1.PropTypes.bool,\n title: prop_types_1.PropTypes.string,\n toolbarItems: prop_types_1.PropTypes.array,\n visible: prop_types_1.PropTypes.bool,\n width: prop_types_1.PropTypes.oneOfType([\n prop_types_1.PropTypes.func,\n prop_types_1.PropTypes.number,\n prop_types_1.PropTypes.string\n ])\n};\n// tslint:disable:max-classes-per-file\n// owners:\n// Popover\nvar Animation = /** @class */ (function (_super) {\n __extends(Animation, _super);\n function Animation() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Animation.OptionName = \"animation\";\n Animation.ExpectedChildren = {\n hide: { optionName: \"hide\", isCollectionItem: false },\n show: { optionName: \"show\", isCollectionItem: false }\n };\n return Animation;\n}(nested_option_1.default));\nexports.Animation = Animation;\n// owners:\n// Position\nvar At = /** @class */ (function (_super) {\n __extends(At, _super);\n function At() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n At.OptionName = \"at\";\n return At;\n}(nested_option_1.default));\nexports.At = At;\n// owners:\n// Position\nvar BoundaryOffset = /** @class */ (function (_super) {\n __extends(BoundaryOffset, _super);\n function BoundaryOffset() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n BoundaryOffset.OptionName = \"boundaryOffset\";\n return BoundaryOffset;\n}(nested_option_1.default));\nexports.BoundaryOffset = BoundaryOffset;\n// owners:\n// Position\nvar Collision = /** @class */ (function (_super) {\n __extends(Collision, _super);\n function Collision() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Collision.OptionName = \"collision\";\n return Collision;\n}(nested_option_1.default));\nexports.Collision = Collision;\n// owners:\n// Animation\nvar Hide = /** @class */ (function (_super) {\n __extends(Hide, _super);\n function Hide() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Hide.OptionName = \"hide\";\n return Hide;\n}(nested_option_1.default));\nexports.Hide = Hide;\n// owners:\n// Popover\nvar HideEvent = /** @class */ (function (_super) {\n __extends(HideEvent, _super);\n function HideEvent() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n HideEvent.OptionName = \"hideEvent\";\n return HideEvent;\n}(nested_option_1.default));\nexports.HideEvent = HideEvent;\n// owners:\n// Position\nvar My = /** @class */ (function (_super) {\n __extends(My, _super);\n function My() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n My.OptionName = \"my\";\n return My;\n}(nested_option_1.default));\nexports.My = My;\n// owners:\n// Position\nvar Offset = /** @class */ (function (_super) {\n __extends(Offset, _super);\n function Offset() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Offset.OptionName = \"offset\";\n return Offset;\n}(nested_option_1.default));\nexports.Offset = Offset;\n// owners:\n// Popover\nvar Position = /** @class */ (function (_super) {\n __extends(Position, _super);\n function Position() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Position.OptionName = \"position\";\n Position.ExpectedChildren = {\n at: { optionName: \"at\", isCollectionItem: false },\n boundaryOffset: { optionName: \"boundaryOffset\", isCollectionItem: false },\n collision: { optionName: \"collision\", isCollectionItem: false },\n my: { optionName: \"my\", isCollectionItem: false },\n offset: { optionName: \"offset\", isCollectionItem: false }\n };\n return Position;\n}(nested_option_1.default));\nexports.Position = Position;\n// owners:\n// Animation\nvar Show = /** @class */ (function (_super) {\n __extends(Show, _super);\n function Show() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Show.OptionName = \"show\";\n return Show;\n}(nested_option_1.default));\nexports.Show = Show;\n// owners:\n// Popover\nvar ShowEvent = /** @class */ (function (_super) {\n __extends(ShowEvent, _super);\n function ShowEvent() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ShowEvent.OptionName = \"showEvent\";\n return ShowEvent;\n}(nested_option_1.default));\nexports.ShowEvent = ShowEvent;\n// owners:\n// Popover\nvar ToolbarItem = /** @class */ (function (_super) {\n __extends(ToolbarItem, _super);\n function ToolbarItem() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ToolbarItem.OptionName = \"toolbarItems\";\n ToolbarItem.IsCollectionItem = true;\n ToolbarItem.TemplateProps = [{\n tmplOption: \"template\",\n render: \"render\",\n component: \"component\",\n keyFn: \"keyFn\"\n }];\n return ToolbarItem;\n}(nested_option_1.default));\nexports.ToolbarItem = ToolbarItem;\nexports.default = Popover;\n","/**\r\n * DevExtreme (core/utils/console.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar isFunction = require(\"./type\").isFunction;\r\nvar noop = function() {};\r\nvar getConsoleMethod = function(method) {\r\n if (\"undefined\" === typeof console || !isFunction(console[method])) {\r\n return noop\r\n }\r\n return console[method].bind(console)\r\n};\r\nvar logger = {\r\n info: getConsoleMethod(\"info\"),\r\n warn: getConsoleMethod(\"warn\"),\r\n error: getConsoleMethod(\"error\")\r\n};\r\nvar debug = function() {\r\n function assert(condition, message) {\r\n if (!condition) {\r\n throw new Error(message)\r\n }\r\n }\r\n\r\n function assertParam(parameter, message) {\r\n assert(null !== parameter && void 0 !== parameter, message)\r\n }\r\n return {\r\n assert: assert,\r\n assertParam: assertParam\r\n }\r\n}();\r\nexports.logger = logger;\r\nexports.debug = debug;\r\n","/**\r\n * DevExtreme (core/utils/size.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar window = require(\"../../core/utils/window\").getWindow();\r\nvar typeUtils = require(\"../utils/type\");\r\nvar SPECIAL_HEIGHT_VALUES = [\"auto\", \"none\", \"inherit\", \"initial\"];\r\nvar getSizeByStyles = function(elementStyles, styles) {\r\n var result = 0;\r\n styles.forEach(function(style) {\r\n result += parseFloat(elementStyles[style]) || 0\r\n });\r\n return result\r\n};\r\nvar getElementBoxParams = function(name, elementStyles) {\r\n var beforeName = \"width\" === name ? \"Left\" : \"Top\";\r\n var afterName = \"width\" === name ? \"Right\" : \"Bottom\";\r\n return {\r\n padding: getSizeByStyles(elementStyles, [\"padding\" + beforeName, \"padding\" + afterName]),\r\n border: getSizeByStyles(elementStyles, [\"border\" + beforeName + \"Width\", \"border\" + afterName + \"Width\"]),\r\n margin: getSizeByStyles(elementStyles, [\"margin\" + beforeName, \"margin\" + afterName])\r\n }\r\n};\r\nvar getBoxSizingOffset = function(name, elementStyles, boxParams) {\r\n var size = elementStyles[name];\r\n if (\"border-box\" === elementStyles.boxSizing && size.length && \"%\" !== size[size.length - 1]) {\r\n return boxParams.border + boxParams.padding\r\n }\r\n return 0\r\n};\r\nvar getSize = function(element, name, include) {\r\n var elementStyles = window.getComputedStyle(element);\r\n var boxParams = getElementBoxParams(name, elementStyles);\r\n var clientRect = element.getClientRects().length;\r\n var boundingClientRect = element.getBoundingClientRect()[name];\r\n var result = clientRect ? boundingClientRect : 0;\r\n if (result <= 0) {\r\n result = parseFloat(elementStyles[name] || element.style[name]) || 0;\r\n result -= getBoxSizingOffset(name, elementStyles, boxParams)\r\n } else {\r\n result -= boxParams.padding + boxParams.border\r\n }\r\n if (include.paddings) {\r\n result += boxParams.padding\r\n }\r\n if (include.borders) {\r\n result += boxParams.border\r\n }\r\n if (include.margins) {\r\n result += boxParams.margin\r\n }\r\n return result\r\n};\r\nvar getContainerHeight = function(container) {\r\n return typeUtils.isWindow(container) ? container.innerHeight : container.offsetHeight\r\n};\r\nvar parseHeight = function(value, container) {\r\n if (value.indexOf(\"px\") > 0) {\r\n value = parseInt(value.replace(\"px\", \"\"))\r\n } else {\r\n if (value.indexOf(\"%\") > 0) {\r\n value = parseInt(value.replace(\"%\", \"\")) * getContainerHeight(container) / 100\r\n } else {\r\n if (!isNaN(value)) {\r\n value = parseInt(value)\r\n }\r\n }\r\n }\r\n return value\r\n};\r\nvar getHeightWithOffset = function(value, offset, container) {\r\n if (!value) {\r\n return null\r\n }\r\n if (SPECIAL_HEIGHT_VALUES.indexOf(value) > -1) {\r\n return offset ? null : value\r\n }\r\n if (typeUtils.isString(value)) {\r\n value = parseHeight(value, container)\r\n }\r\n if (typeUtils.isNumeric(value)) {\r\n return Math.max(0, value + offset)\r\n }\r\n var operationString = offset < 0 ? \" - \" : \" \";\r\n return \"calc(\" + value + operationString + Math.abs(offset) + \"px)\"\r\n};\r\nvar addOffsetToMaxHeight = function(value, offset, container) {\r\n var maxHeight = getHeightWithOffset(value, offset, container);\r\n return null !== maxHeight ? maxHeight : \"none\"\r\n};\r\nvar addOffsetToMinHeight = function(value, offset, container) {\r\n var minHeight = getHeightWithOffset(value, offset, container);\r\n return null !== minHeight ? minHeight : 0\r\n};\r\nvar getVerticalOffsets = function(element, withMargins) {\r\n if (!element) {\r\n return 0\r\n }\r\n var boxParams = getElementBoxParams(\"height\", window.getComputedStyle(element));\r\n return boxParams.padding + boxParams.border + (withMargins ? boxParams.margin : 0)\r\n};\r\nvar getVisibleHeight = function(element) {\r\n if (element) {\r\n var boundingClientRect = element.getBoundingClientRect();\r\n if (boundingClientRect.height) {\r\n return boundingClientRect.height\r\n }\r\n }\r\n return 0\r\n};\r\nexports.getSize = getSize;\r\nexports.getElementBoxParams = getElementBoxParams;\r\nexports.addOffsetToMaxHeight = addOffsetToMaxHeight;\r\nexports.addOffsetToMinHeight = addOffsetToMinHeight;\r\nexports.getVerticalOffsets = getVerticalOffsets;\r\nexports.getVisibleHeight = getVisibleHeight;\r\nexports.parseHeight = parseHeight;\r\n","/**\r\n * DevExtreme (localization/core.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar dependencyInjector = require(\"../core/utils/dependency_injector\");\r\nmodule.exports = dependencyInjector({\r\n locale: function() {\r\n var currentLocale = \"en\";\r\n return function(locale) {\r\n if (!locale) {\r\n return currentLocale\r\n }\r\n currentLocale = locale\r\n }\r\n }()\r\n});\r\n","/**\r\n * DevExtreme (ui/widget/ui.keyboard_processor.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _renderer = require(\"../../core/renderer\");\r\nvar _renderer2 = _interopRequireDefault(_renderer);\r\nvar _events_engine = require(\"../../events/core/events_engine\");\r\nvar _events_engine2 = _interopRequireDefault(_events_engine);\r\nvar _class = require(\"../../core/class\");\r\nvar _class2 = _interopRequireDefault(_class);\r\nvar _array = require(\"../../core/utils/array\");\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar _utils = require(\"../../events/utils\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar COMPOSITION_START_EVENT = \"compositionstart\";\r\nvar COMPOSITION_END_EVENT = \"compositionend\";\r\nvar KEYDOWN_EVENT = \"keydown\";\r\nvar NAMESPACE = \"KeyboardProcessor\";\r\nvar KeyboardProcessor = _class2.default.inherit({\r\n _keydown: (0, _utils.addNamespace)(KEYDOWN_EVENT, NAMESPACE),\r\n _compositionStart: (0, _utils.addNamespace)(COMPOSITION_START_EVENT, NAMESPACE),\r\n _compositionEnd: (0, _utils.addNamespace)(COMPOSITION_END_EVENT, NAMESPACE),\r\n ctor: function(options) {\r\n var _this = this;\r\n options = options || {};\r\n if (options.element) {\r\n this._element = (0, _renderer2.default)(options.element)\r\n }\r\n if (options.focusTarget) {\r\n this._focusTarget = options.focusTarget\r\n }\r\n this._handler = options.handler;\r\n this._context = options.context;\r\n this._childProcessors = [];\r\n if (this._element) {\r\n this._processFunction = function(e) {\r\n var isNotFocusTarget = _this._focusTarget && _this._focusTarget !== e.target && (0, _array.inArray)(e.target, _this._focusTarget) < 0;\r\n var shouldSkipProcessing = _this._isComposingJustFinished && 229 === e.which || _this._isComposing || isNotFocusTarget;\r\n _this._isComposingJustFinished = false;\r\n if (!shouldSkipProcessing) {\r\n _this.process(e)\r\n }\r\n };\r\n this._toggleProcessingWithContext = this.toggleProcessing.bind(this);\r\n _events_engine2.default.on(this._element, this._keydown, this._processFunction);\r\n _events_engine2.default.on(this._element, this._compositionStart, this._toggleProcessingWithContext);\r\n _events_engine2.default.on(this._element, this._compositionEnd, this._toggleProcessingWithContext)\r\n }\r\n },\r\n dispose: function() {\r\n if (this._element) {\r\n _events_engine2.default.off(this._element, this._keydown, this._processFunction);\r\n _events_engine2.default.off(this._element, this._compositionStart, this._toggleProcessingWithContext);\r\n _events_engine2.default.off(this._element, this._compositionEnd, this._toggleProcessingWithContext)\r\n }\r\n this._element = void 0;\r\n this._handler = void 0;\r\n this._context = void 0;\r\n this._childProcessors = void 0\r\n },\r\n clearChildren: function() {\r\n this._childProcessors = []\r\n },\r\n push: function(child) {\r\n if (!this._childProcessors) {\r\n this.clearChildren()\r\n }\r\n this._childProcessors.push(child);\r\n return child\r\n },\r\n attachChildProcessor: function() {\r\n var childProcessor = new KeyboardProcessor;\r\n this._childProcessors.push(childProcessor);\r\n return childProcessor\r\n },\r\n reinitialize: function(childHandler, childContext) {\r\n this._context = childContext;\r\n this._handler = childHandler;\r\n return this\r\n },\r\n process: function(e) {\r\n var args = {\r\n keyName: (0, _utils.normalizeKeyName)(e),\r\n key: e.key,\r\n code: e.code,\r\n ctrl: e.ctrlKey,\r\n location: e.location,\r\n metaKey: e.metaKey,\r\n shift: e.shiftKey,\r\n alt: e.altKey,\r\n which: e.which,\r\n originalEvent: e\r\n };\r\n var handlerResult = this._handler && this._handler.call(this._context, args);\r\n if (handlerResult && this._childProcessors) {\r\n (0, _iterator.each)(this._childProcessors, function(index, childProcessor) {\r\n childProcessor.process(e)\r\n })\r\n }\r\n },\r\n toggleProcessing: function(_ref) {\r\n var type = _ref.type;\r\n this._isComposing = type === COMPOSITION_START_EVENT;\r\n this._isComposingJustFinished = !this._isComposing\r\n }\r\n});\r\nmodule.exports = KeyboardProcessor;\r\n","/**\r\n * DevExtreme (core/utils/resize_callbacks.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar windowUtils = require(\"./window\"),\r\n domAdapter = require(\"../dom_adapter\"),\r\n Callbacks = require(\"./callbacks\"),\r\n readyCallbacks = require(\"./ready_callbacks\"),\r\n callOnce = require(\"./call_once\");\r\nvar resizeCallbacks = function() {\r\n var prevSize, callbacks = Callbacks(),\r\n originalCallbacksAdd = callbacks.add,\r\n originalCallbacksRemove = callbacks.remove;\r\n if (!windowUtils.hasWindow()) {\r\n return callbacks\r\n }\r\n var formatSize = function() {\r\n var documentElement = domAdapter.getDocumentElement();\r\n return {\r\n width: documentElement.clientWidth,\r\n height: documentElement.clientHeight\r\n }\r\n };\r\n var handleResize = function() {\r\n var now = formatSize();\r\n if (now.width === prevSize.width && now.height === prevSize.height) {\r\n return\r\n }\r\n var changedDimension;\r\n if (now.width === prevSize.width) {\r\n changedDimension = \"height\"\r\n }\r\n if (now.height === prevSize.height) {\r\n changedDimension = \"width\"\r\n }\r\n prevSize = now;\r\n callbacks.fire(changedDimension)\r\n };\r\n var setPrevSize = callOnce(function() {\r\n prevSize = formatSize()\r\n });\r\n var removeListener;\r\n callbacks.add = function() {\r\n var result = originalCallbacksAdd.apply(callbacks, arguments);\r\n setPrevSize();\r\n readyCallbacks.add(function() {\r\n if (!removeListener && callbacks.has()) {\r\n removeListener = domAdapter.listen(windowUtils.getWindow(), \"resize\", handleResize)\r\n }\r\n });\r\n return result\r\n };\r\n callbacks.remove = function() {\r\n var result = originalCallbacksRemove.apply(callbacks, arguments);\r\n if (!callbacks.has() && removeListener) {\r\n removeListener();\r\n removeListener = void 0\r\n }\r\n return result\r\n };\r\n return callbacks\r\n}();\r\nmodule.exports = resizeCallbacks;\r\n","/**\r\n * DevExtreme (events.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar eventsEngine = require(\"./events/core/events_engine\");\r\nexports.on = eventsEngine.on;\r\nexports.one = eventsEngine.one;\r\nexports.off = eventsEngine.off;\r\nexports.trigger = eventsEngine.trigger;\r\nexports.triggerHandler = eventsEngine.triggerHandler;\r\nexports.Event = eventsEngine.Event;\r\n","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","/**\r\n * DevExtreme (events/core/event_registrator_callbacks.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar MemorizedCallbacks = require(\"../../core/memorized_callbacks\");\r\nmodule.exports = new MemorizedCallbacks;\r\n","/**\r\n * DevExtreme (core/utils/html_parser.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar merge = require(\"./array\").merge,\r\n domAdapter = require(\"../dom_adapter\");\r\nvar isTagName = /<([a-z][^\\/\\0>\\x20\\t\\r\\n\\f]+)/i;\r\nvar tagWrappers = {\r\n \"default\": {\r\n tagsCount: 0,\r\n startTags: \"\",\r\n endTags: \"\"\r\n },\r\n thead: {\r\n tagsCount: 1,\r\n startTags: \"\",\r\n endTags: \"
\"\r\n },\r\n td: {\r\n tagsCount: 3,\r\n startTags: \"\",\r\n endTags: \"
\"\r\n },\r\n col: {\r\n tagsCount: 2,\r\n startTags: \"\",\r\n endTags: \"
\"\r\n },\r\n tr: {\r\n tagsCount: 2,\r\n startTags: \"\",\r\n endTags: \"
\"\r\n }\r\n};\r\ntagWrappers.tbody = tagWrappers.colgroup = tagWrappers.caption = tagWrappers.tfoot = tagWrappers.thead;\r\ntagWrappers.th = tagWrappers.td;\r\nvar parseHTML = function(html) {\r\n if (\"string\" !== typeof html) {\r\n return null\r\n }\r\n var fragment = domAdapter.createDocumentFragment();\r\n var container = fragment.appendChild(domAdapter.createElement(\"div\"));\r\n var tags = isTagName.exec(html);\r\n var firstRootTag = tags && tags[1].toLowerCase();\r\n var tagWrapper = tagWrappers[firstRootTag] || tagWrappers.default;\r\n container.innerHTML = tagWrapper.startTags + html + tagWrapper.endTags;\r\n for (var i = 0; i < tagWrapper.tagsCount; i++) {\r\n container = container.lastChild\r\n }\r\n return merge([], container.childNodes)\r\n};\r\nvar isTablePart = function(html) {\r\n var tags = isTagName.exec(html);\r\n return tags && tags[1] in tagWrappers\r\n};\r\nexports.parseHTML = parseHTML;\r\nexports.isTablePart = isTablePart;\r\n","/**\r\n * DevExtreme (localization/utils.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nexports.toFixed = void 0;\r\nvar _math = require(\"../core/utils/math\");\r\nvar DECIMAL_BASE = 10;\r\n\r\nfunction roundByAbs(value) {\r\n var valueSign = (0, _math.sign)(value);\r\n return valueSign * Math.round(Math.abs(value))\r\n}\r\n\r\nfunction adjustValue(value, precision) {\r\n var precisionMultiplier = Math.pow(DECIMAL_BASE, precision);\r\n var roundMultiplier = precisionMultiplier * DECIMAL_BASE;\r\n var intermediateValue = roundByAbs(value * roundMultiplier) / DECIMAL_BASE;\r\n return roundByAbs(intermediateValue) / precisionMultiplier\r\n}\r\n\r\nfunction toFixed(value, precision) {\r\n var valuePrecision = precision || 0;\r\n var adjustedValue = valuePrecision > 0 ? adjustValue.apply(void 0, arguments) : value;\r\n return adjustedValue.toFixed(valuePrecision)\r\n}\r\nexports.toFixed = toFixed;\r\n","/**\r\n * DevExtreme (ui/widget/template_engine_registry.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _errors = require(\"../../core/errors\");\r\nvar _errors2 = _interopRequireDefault(_errors);\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar templateEngines = {};\r\nvar currentTemplateEngine = void 0;\r\nvar registerTemplateEngine = function(name, templateEngine) {\r\n templateEngines[name] = templateEngine\r\n};\r\nvar setTemplateEngine = function(templateEngine) {\r\n if ((0, _type.isString)(templateEngine)) {\r\n currentTemplateEngine = templateEngines[templateEngine];\r\n if (!currentTemplateEngine) {\r\n throw _errors2.default.Error(\"E0020\", templateEngine)\r\n }\r\n } else {\r\n currentTemplateEngine = templateEngine\r\n }\r\n};\r\nvar getCurrentTemplateEngine = function() {\r\n return currentTemplateEngine\r\n};\r\nmodule.exports.setTemplateEngine = setTemplateEngine;\r\nmodule.exports.getCurrentTemplateEngine = getCurrentTemplateEngine;\r\nmodule.exports.registerTemplateEngine = registerTemplateEngine;\r\n","/**\r\n * DevExtreme (events/pointer/touch.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar devices = require(\"../../core/devices\"),\r\n extend = require(\"../../core/utils/extend\").extend,\r\n each = require(\"../../core/utils/iterator\").each,\r\n BaseStrategy = require(\"./base\");\r\nvar eventMap = {\r\n dxpointerdown: \"touchstart\",\r\n dxpointermove: \"touchmove\",\r\n dxpointerup: \"touchend\",\r\n dxpointercancel: \"touchcancel\",\r\n dxpointerover: \"\",\r\n dxpointerout: \"\",\r\n dxpointerenter: \"\",\r\n dxpointerleave: \"\"\r\n};\r\nvar normalizeTouchEvent = function(e) {\r\n var pointers = [];\r\n each(e.touches, function(_, touch) {\r\n pointers.push(extend({\r\n pointerId: touch.identifier\r\n }, touch))\r\n });\r\n return {\r\n pointers: pointers,\r\n pointerId: e.changedTouches[0].identifier\r\n }\r\n};\r\nvar skipTouchWithSameIdentifier = function(pointerEvent) {\r\n return \"ios\" === devices.real().platform && (\"dxpointerdown\" === pointerEvent || \"dxpointerup\" === pointerEvent)\r\n};\r\nvar TouchStrategy = BaseStrategy.inherit({\r\n ctor: function() {\r\n this.callBase.apply(this, arguments);\r\n this._pointerId = 0\r\n },\r\n _handler: function(e) {\r\n if (skipTouchWithSameIdentifier(this._eventName)) {\r\n var touch = e.changedTouches[0];\r\n if (this._pointerId === touch.identifier && 0 !== this._pointerId) {\r\n return\r\n }\r\n this._pointerId = touch.identifier\r\n }\r\n return this.callBase.apply(this, arguments)\r\n },\r\n _fireEvent: function(args) {\r\n return this.callBase(extend(normalizeTouchEvent(args.originalEvent), args))\r\n }\r\n});\r\nTouchStrategy.map = eventMap;\r\nTouchStrategy.normalize = normalizeTouchEvent;\r\nmodule.exports = TouchStrategy;\r\n","/**\r\n * DevExtreme (events/pointer/observer.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar each = require(\"../../core/utils/iterator\").each,\r\n readyCallbacks = require(\"../../core/utils/ready_callbacks\"),\r\n domAdapter = require(\"../../core/dom_adapter\");\r\nvar addEventsListener = function(events, handler) {\r\n readyCallbacks.add(function() {\r\n events.split(\" \").forEach(function(event) {\r\n domAdapter.listen(domAdapter.getDocument(), event, handler, true)\r\n })\r\n })\r\n};\r\nvar Observer = function(eventMap, pointerEquals, onPointerAdding) {\r\n onPointerAdding = onPointerAdding || function() {};\r\n var pointers = [];\r\n var getPointerIndex = function(e) {\r\n var index = -1;\r\n each(pointers, function(i, pointer) {\r\n if (!pointerEquals(e, pointer)) {\r\n return true\r\n }\r\n index = i;\r\n return false\r\n });\r\n return index\r\n };\r\n var addPointer = function(e) {\r\n if (getPointerIndex(e) === -1) {\r\n onPointerAdding(e);\r\n pointers.push(e)\r\n }\r\n };\r\n var removePointer = function(e) {\r\n var index = getPointerIndex(e);\r\n if (index > -1) {\r\n pointers.splice(index, 1)\r\n }\r\n };\r\n var updatePointer = function(e) {\r\n pointers[getPointerIndex(e)] = e\r\n };\r\n addEventsListener(eventMap.dxpointerdown, addPointer);\r\n addEventsListener(eventMap.dxpointermove, updatePointer);\r\n addEventsListener(eventMap.dxpointerup, removePointer);\r\n addEventsListener(eventMap.dxpointercancel, removePointer);\r\n this.pointers = function() {\r\n return pointers\r\n };\r\n this.reset = function() {\r\n pointers = []\r\n }\r\n};\r\nmodule.exports = Observer;\r\n","/**\r\n * DevExtreme (events/pointer/mouse.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar extend = require(\"../../core/utils/extend\").extend,\r\n BaseStrategy = require(\"./base\"),\r\n Observer = require(\"./observer\");\r\nvar eventMap = {\r\n dxpointerdown: \"mousedown\",\r\n dxpointermove: \"mousemove\",\r\n dxpointerup: \"mouseup\",\r\n dxpointercancel: \"\",\r\n dxpointerover: \"mouseover\",\r\n dxpointerout: \"mouseout\",\r\n dxpointerenter: \"mouseenter\",\r\n dxpointerleave: \"mouseleave\"\r\n};\r\nvar normalizeMouseEvent = function(e) {\r\n e.pointerId = 1;\r\n return {\r\n pointers: observer.pointers(),\r\n pointerId: 1\r\n }\r\n};\r\nvar observer;\r\nvar activated = false;\r\nvar activateStrategy = function() {\r\n if (activated) {\r\n return\r\n }\r\n observer = new Observer(eventMap, function() {\r\n return true\r\n });\r\n activated = true\r\n};\r\nvar MouseStrategy = BaseStrategy.inherit({\r\n ctor: function() {\r\n this.callBase.apply(this, arguments);\r\n activateStrategy()\r\n },\r\n _fireEvent: function(args) {\r\n return this.callBase(extend(normalizeMouseEvent(args.originalEvent), args))\r\n }\r\n});\r\nMouseStrategy.map = eventMap;\r\nMouseStrategy.normalize = normalizeMouseEvent;\r\nMouseStrategy.activate = activateStrategy;\r\nMouseStrategy.resetObserver = function() {\r\n observer.reset()\r\n};\r\nmodule.exports = MouseStrategy;\r\n","/**\r\n * DevExtreme (ui/selection/selection.strategy.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar dataQuery = require(\"../../data/query\"),\r\n commonUtils = require(\"../../core/utils/common\"),\r\n typeUtils = require(\"../../core/utils/type\"),\r\n getKeyHash = commonUtils.getKeyHash,\r\n Class = require(\"../../core/class\"),\r\n Deferred = require(\"../../core/utils/deferred\").Deferred;\r\nmodule.exports = Class.inherit({\r\n ctor: function(options) {\r\n this.options = options;\r\n this._clearItemKeys()\r\n },\r\n _clearItemKeys: function() {\r\n this._setOption(\"addedItemKeys\", []);\r\n this._setOption(\"removedItemKeys\", []);\r\n this._setOption(\"removedItems\", []);\r\n this._setOption(\"addedItems\", [])\r\n },\r\n validate: commonUtils.noop,\r\n _setOption: function(name, value) {\r\n this.options[name] = value\r\n },\r\n onSelectionChanged: function onSelectionChanged() {\r\n var addedItemKeys = this.options.addedItemKeys,\r\n removedItemKeys = this.options.removedItemKeys,\r\n addedItems = this.options.addedItems,\r\n removedItems = this.options.removedItems,\r\n selectedItems = this.options.selectedItems,\r\n selectedItemKeys = this.options.selectedItemKeys,\r\n onSelectionChanged = this.options.onSelectionChanged || commonUtils.noop;\r\n this._clearItemKeys();\r\n onSelectionChanged({\r\n selectedItems: selectedItems,\r\n selectedItemKeys: selectedItemKeys,\r\n addedItemKeys: addedItemKeys,\r\n removedItemKeys: removedItemKeys,\r\n addedItems: addedItems,\r\n removedItems: removedItems\r\n })\r\n },\r\n equalKeys: function(key1, key2) {\r\n if (this.options.equalByReference) {\r\n if (typeUtils.isObject(key1) && typeUtils.isObject(key2)) {\r\n return key1 === key2\r\n }\r\n }\r\n return commonUtils.equalByValue(key1, key2)\r\n },\r\n _clearSelection: function(keys, preserve, isDeselect, isSelectAll) {\r\n keys = keys || [];\r\n keys = Array.isArray(keys) ? keys : [keys];\r\n this.validate();\r\n return this.selectedItemKeys(keys, preserve, isDeselect, isSelectAll)\r\n },\r\n _loadFilteredData: function(remoteFilter, localFilter, select) {\r\n var filterLength = encodeURI(JSON.stringify(remoteFilter)).length,\r\n needLoadAllData = this.options.maxFilterLengthInRequest && filterLength > this.options.maxFilterLengthInRequest,\r\n deferred = new Deferred,\r\n loadOptions = {\r\n filter: needLoadAllData ? void 0 : remoteFilter,\r\n select: needLoadAllData ? this.options.dataFields() : select || this.options.dataFields()\r\n };\r\n if (remoteFilter && 0 === remoteFilter.length) {\r\n deferred.resolve([])\r\n } else {\r\n this.options.load(loadOptions).done(function(items) {\r\n var filteredItems = typeUtils.isPlainObject(items) ? items.data : items;\r\n if (localFilter) {\r\n filteredItems = filteredItems.filter(localFilter)\r\n } else {\r\n if (needLoadAllData) {\r\n filteredItems = dataQuery(filteredItems).filter(remoteFilter).toArray()\r\n }\r\n }\r\n deferred.resolve(filteredItems)\r\n }).fail(deferred.reject.bind(deferred))\r\n }\r\n return deferred\r\n },\r\n updateSelectedItemKeyHash: function(keys) {\r\n for (var i = 0; i < keys.length; i++) {\r\n var keyHash = getKeyHash(keys[i]);\r\n if (!typeUtils.isObject(keyHash)) {\r\n this.options.keyHashIndices[keyHash] = this.options.keyHashIndices[keyHash] || [];\r\n var keyIndices = this.options.keyHashIndices[keyHash];\r\n keyIndices.push(i)\r\n }\r\n }\r\n },\r\n _isAnyItemSelected: function(items) {\r\n for (var i = 0; i < items.length; i++) {\r\n if (this.options.isItemSelected(items[i])) {\r\n return\r\n }\r\n }\r\n return false\r\n },\r\n _getFullSelectAllState: function() {\r\n var items = this.options.plainItems(),\r\n dataFilter = this.options.filter(),\r\n selectedItems = this.options.selectedItems;\r\n if (dataFilter) {\r\n selectedItems = dataQuery(selectedItems).filter(dataFilter).toArray()\r\n }\r\n var selectedItemsLength = selectedItems.length;\r\n if (!selectedItemsLength) {\r\n return this._isAnyItemSelected(items)\r\n }\r\n if (selectedItemsLength >= this.options.totalCount()) {\r\n return true\r\n }\r\n return\r\n },\r\n _getVisibleSelectAllState: function() {\r\n var items = this.options.plainItems(),\r\n hasSelectedItems = false,\r\n hasUnselectedItems = false;\r\n for (var i = 0; i < items.length; i++) {\r\n var item = items[i],\r\n itemData = this.options.getItemData(item),\r\n key = this.options.keyOf(itemData);\r\n if (this.options.isSelectableItem(item)) {\r\n if (this.isItemKeySelected(key)) {\r\n hasSelectedItems = true\r\n } else {\r\n hasUnselectedItems = true\r\n }\r\n }\r\n }\r\n if (hasSelectedItems) {\r\n return !hasUnselectedItems ? true : void 0\r\n } else {\r\n return false\r\n }\r\n }\r\n});\r\n","/*!\n * devextreme-react\n * Version: 19.1.6\n * Build date: Wed Sep 11 2019\n *\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar utils_1 = require(\"./utils\");\nfunction buildConfig(root, ignoreInitialValues) {\n var templatesAccum = {};\n var options = buildNode(root, templatesAccum, ignoreInitialValues);\n return {\n templates: templatesAccum,\n options: options\n };\n}\nexports.buildConfig = buildConfig;\nfunction buildNode(node, templatesAccum, ignoreInitialValues) {\n var result = {};\n for (var _i = 0, _a = Object.keys(node.predefinedOptions); _i < _a.length; _i++) {\n var key = _a[_i];\n result[key] = node.predefinedOptions[key];\n }\n for (var _b = 0, _c = Object.keys(node.configs); _b < _c.length; _b++) {\n var key = _c[_b];\n result[key] = buildNode(node.configs[key], templatesAccum, ignoreInitialValues);\n }\n for (var _d = 0, _e = Object.keys(node.configCollections); _d < _e.length; _d++) {\n var key = _e[_d];\n result[key] = node.configCollections[key].map(function (item) { return buildNode(item, templatesAccum, ignoreInitialValues); });\n }\n if (!ignoreInitialValues) {\n for (var _f = 0, _g = Object.keys(node.initialOptions); _f < _g.length; _f++) {\n var key = _g[_f];\n result[key] = node.initialOptions[key];\n }\n }\n for (var _h = 0, _j = Object.keys(node.options); _h < _j.length; _h++) {\n var key = _j[_h];\n result[key] = node.options[key];\n }\n buildTemplates(node, result, templatesAccum);\n return result;\n}\nexports.buildNode = buildNode;\nfunction buildTemplates(node, optionsAccum, templatesAccum) {\n node.templates.map(function (template) {\n if (template.isAnonymous) {\n var templateName = utils_1.mergeNameParts(node.fullName, template.optionName);\n optionsAccum[template.optionName] = templateName;\n templatesAccum[templateName] = template;\n }\n else {\n templatesAccum[template.optionName] = template;\n }\n });\n}\nexports.buildTemplates = buildTemplates;\nvar ValueType;\n(function (ValueType) {\n ValueType[ValueType[\"Simple\"] = 0] = \"Simple\";\n ValueType[ValueType[\"Complex\"] = 1] = \"Complex\";\n ValueType[ValueType[\"Array\"] = 2] = \"Array\";\n})(ValueType || (ValueType = {}));\nexports.ValueType = ValueType;\nfunction findValue(node, path) {\n var name = path.shift();\n if (!name) {\n return {\n value: buildConfig(node, true).options,\n type: ValueType.Complex\n };\n }\n var optionInfo = utils_1.parseOptionName(name);\n if (optionInfo.isCollectionItem) {\n var collection = node.configCollections[optionInfo.name];\n if (!collection) {\n return;\n }\n var item = collection[optionInfo.index];\n if (!item) {\n return;\n }\n return findValue(item, path);\n }\n var child = node.configs[optionInfo.name];\n if (child) {\n return findValue(child, path);\n }\n var childCollection = node.configCollections[optionInfo.name];\n if (childCollection) {\n if (path.length !== 0) {\n return;\n }\n return {\n value: childCollection.map(function (item) { return buildNode(item, {}, true); }),\n type: ValueType.Array\n };\n }\n var value = node.options[optionInfo.name];\n if (value) {\n return findValueInObject(value, path);\n }\n return;\n}\nexports.findValue = findValue;\nfunction findValueInObject(obj, path) {\n if (!obj) {\n return;\n }\n var key = path.shift();\n if (!key) {\n return {\n value: obj,\n type: ValueType.Simple\n };\n }\n return findValueInObject(obj[key], path);\n}\n","/*!\n * devextreme-react\n * Version: 19.1.6\n * Build date: Wed Sep 11 2019\n *\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar elementPropNames = [\"style\", \"id\"];\nexports.elementPropNames = elementPropNames;\nvar classNamePropName = \"className\";\nfunction separateProps(props, defaultsProps, templateProps) {\n templateProps = templateProps || [];\n var defaults = {};\n var options = {};\n var templates = {};\n var knownTemplates = {};\n templateProps.forEach(function (value) {\n knownTemplates[value.component] = true;\n knownTemplates[value.render] = true;\n });\n Object.keys(props).forEach(function (key) {\n var defaultOptionName = defaultsProps ? defaultsProps[key] : null;\n if (isIgnoredProp(key)) {\n return;\n }\n if (defaultOptionName) {\n defaults[defaultOptionName] = props[key];\n return;\n }\n if (knownTemplates[key]) {\n templates[key] = props[key];\n return;\n }\n options[key] = props[key];\n });\n return { options: options, defaults: defaults, templates: templates };\n}\nexports.separateProps = separateProps;\nfunction getClassName(props) {\n return props[classNamePropName];\n}\nexports.getClassName = getClassName;\nfunction isIgnoredProp(name) {\n return name === \"children\" || name === classNamePropName || elementPropNames.indexOf(name) > -1;\n}\n","/*!\n * devextreme-react\n * Version: 19.1.6\n * Build date: Wed Sep 11 2019\n *\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar template_1 = require(\"../../template\");\nvar ElementType;\n(function (ElementType) {\n ElementType[ElementType[\"Option\"] = 0] = \"Option\";\n ElementType[ElementType[\"Template\"] = 1] = \"Template\";\n ElementType[ElementType[\"Unknown\"] = 2] = \"Unknown\";\n})(ElementType || (ElementType = {}));\nexports.ElementType = ElementType;\nfunction getElementInfo(element, parentExpectedChildren) {\n if (!element || typeof element === \"string\" || typeof element === \"number\") {\n return {\n type: ElementType.Unknown\n };\n }\n if (element.type === template_1.Template) {\n return {\n type: ElementType.Template,\n props: element.props\n };\n }\n var elementDescriptor = element.type;\n if (elementDescriptor.OptionName) {\n var name_1 = elementDescriptor.OptionName;\n var isCollectionItem = elementDescriptor.IsCollectionItem;\n var expectation = parentExpectedChildren && parentExpectedChildren[name_1];\n if (expectation) {\n isCollectionItem = expectation.isCollectionItem;\n if (expectation.optionName) {\n name_1 = expectation.optionName;\n }\n }\n return {\n type: ElementType.Option,\n descriptor: {\n name: name_1,\n isCollection: isCollectionItem,\n templates: elementDescriptor.TemplateProps || [],\n initialValuesProps: elementDescriptor.DefaultsProps || {},\n predefinedValuesProps: elementDescriptor.PredefinedProps || {},\n expectedChildren: elementDescriptor.ExpectedChildren || {}\n },\n props: element.props\n };\n }\n return {\n type: ElementType.Unknown\n };\n}\nexports.getElementInfo = getElementInfo;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.AuBankAccountElement = exports.FpxBankElement = exports.IdealBankElement = exports.IbanElement = exports.PaymentRequestButtonElement = exports.CardCVCElement = exports.CardCvcElement = exports.CardExpiryElement = exports.CardNumberElement = exports.CardElement = exports.Elements = exports.injectStripe = exports.StripeProvider = undefined;\n\nvar _Provider = require('./components/Provider');\n\nvar _Provider2 = _interopRequireDefault(_Provider);\n\nvar _inject = require('./components/inject');\n\nvar _inject2 = _interopRequireDefault(_inject);\n\nvar _Elements = require('./components/Elements');\n\nvar _Elements2 = _interopRequireDefault(_Elements);\n\nvar _Element = require('./components/Element');\n\nvar _Element2 = _interopRequireDefault(_Element);\n\nvar _PaymentRequestButtonElement = require('./components/PaymentRequestButtonElement');\n\nvar _PaymentRequestButtonElement2 = _interopRequireDefault(_PaymentRequestButtonElement);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// Define Elements, and register their implied token / source types for\n// automatic token / source creation.\n\n// Card\nvar CardElement = (0, _Element2.default)('card', {\n impliedTokenType: 'card',\n impliedSourceType: 'card',\n impliedPaymentMethodType: 'card'\n});\n\n// Split Fields\n// Note: we only register the CardNumberElement for split fields so that we have\n// a unique Element to infer when calling `wrappedCreateToken` or `wrappedCreateSource`.\n\nvar CardNumberElement = (0, _Element2.default)('cardNumber', {\n impliedTokenType: 'card',\n impliedSourceType: 'card',\n impliedPaymentMethodType: 'card'\n});\nvar CardExpiryElement = (0, _Element2.default)('cardExpiry');\nvar CardCvcElement = (0, _Element2.default)('cardCvc');\nvar CardCVCElement = CardCvcElement; // deprecated in favor of CardCvcElement which better matches Elements API\n\n// IBAN\nvar IbanElement = (0, _Element2.default)('iban', {\n impliedTokenType: 'bank_account',\n impliedSourceType: 'sepa_debit'\n});\n\n// iDEAL Bank\nvar IdealBankElement = (0, _Element2.default)('idealBank', { impliedSourceType: 'ideal' });\n\n// fpx Bank\nvar FpxBankElement = (0, _Element2.default)('fpxBank');\n\n// auBankAccount\n// Requires beta access. Contact Stripe support for more information:\n// https://support.stripe.com\nvar AuBankAccountElement = (0, _Element2.default)('auBankAccount');\n\nexports.StripeProvider = _Provider2.default;\nexports.injectStripe = _inject2.default;\nexports.Elements = _Elements2.default;\nexports.CardElement = CardElement;\nexports.CardNumberElement = CardNumberElement;\nexports.CardExpiryElement = CardExpiryElement;\nexports.CardCvcElement = CardCvcElement;\nexports.CardCVCElement = CardCVCElement;\nexports.PaymentRequestButtonElement = _PaymentRequestButtonElement2.default;\nexports.IbanElement = IbanElement;\nexports.IdealBankElement = IdealBankElement;\nexports.FpxBankElement = FpxBankElement;\nexports.AuBankAccountElement = AuBankAccountElement;","'use strict';\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar ReactIs = require('react-is');\nvar 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};\n\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\n\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\n\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\n\nvar TYPE_STATICS = {};\nTYPE_STATICS[ReactIs.ForwardRef] = FORWARD_REF_STATICS;\n\nfunction getStatics(component) {\n if (ReactIs.isMemo(component)) {\n return MEMO_STATICS;\n }\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\n\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n\n return targetComponent;\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","import defineProperty from \"./defineProperty\";\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nexport default function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}","/*!\n * devextreme-react\n * Version: 19.1.6\n * Build date: Wed Sep 11 2019\n *\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar React = require(\"react\");\nvar component_base_1 = require(\"./component-base\");\nvar extension_component_1 = require(\"./extension-component\");\nvar Component = /** @class */ (function (_super) {\n __extends(Component, _super);\n function Component(props) {\n var _this = _super.call(this, props) || this;\n _this._extensionCreators = [];\n _this._registerExtension = _this._registerExtension.bind(_this);\n return _this;\n }\n Component.prototype.componentDidMount = function () {\n _super.prototype.componentDidMount.call(this);\n this._createWidget();\n this._createExtensions();\n };\n Component.prototype.renderChildren = function () {\n var _this = this;\n return React.Children.map(this.props.children, function (child) {\n if (child && extension_component_1.ExtensionComponent.isPrototypeOf(child.type)) {\n return React.cloneElement(child, { onMounted: _this._registerExtension });\n }\n return child;\n });\n };\n Component.prototype._registerExtension = function (creator) {\n this._extensionCreators.push(creator);\n };\n Component.prototype._createExtensions = function () {\n var _this = this;\n this._extensionCreators.forEach(function (creator) { return creator(_this._element); });\n };\n return Component;\n}(component_base_1.ComponentBase));\nexports.Component = Component;\n","/*!\n * devextreme-react\n * Version: 19.1.6\n * Build date: Wed Sep 11 2019\n *\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar React = require(\"react\");\nvar element_1 = require(\"./configuration/react/element\");\nvar NestedOption = /** @class */ (function (_super) {\n __extends(NestedOption, _super);\n function NestedOption() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n NestedOption.prototype.render = function () {\n var children = React.Children.map(this.props.children, function (child) {\n var childElementInfo = element_1.getElementInfo(child);\n return childElementInfo.type === element_1.ElementType.Option ? child : null;\n });\n return React.createElement(React.Fragment, {}, children);\n };\n return NestedOption;\n}(React.PureComponent));\nexports.default = NestedOption;\n","/**\r\n * DevExtreme (ui/button.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar $ = require(\"../core/renderer\"),\r\n eventsEngine = require(\"../events/core/events_engine\"),\r\n iconUtils = require(\"../core/utils/icon\"),\r\n domUtils = require(\"../core/utils/dom\"),\r\n devices = require(\"../core/devices\"),\r\n registerComponent = require(\"../core/component_registrator\"),\r\n extend = require(\"../core/utils/extend\").extend,\r\n ValidationMixin = require(\"./validation/validation_mixin\"),\r\n ValidationEngine = require(\"./validation_engine\"),\r\n Widget = require(\"./widget/ui.widget\"),\r\n inkRipple = require(\"./widget/utils.ink_ripple\"),\r\n eventUtils = require(\"../events/utils\"),\r\n themes = require(\"./themes\"),\r\n clickEvent = require(\"../events/click\"),\r\n FunctionTemplate = require(\"./widget/function_template\");\r\nvar BUTTON_CLASS = \"dx-button\",\r\n BUTTON_CONTENT_CLASS = \"dx-button-content\",\r\n BUTTON_HAS_TEXT_CLASS = \"dx-button-has-text\",\r\n BUTTON_HAS_ICON_CLASS = \"dx-button-has-icon\",\r\n BUTTON_ICON_RIGHT_CLASS = \"dx-button-icon-right\",\r\n ICON_RIGHT_CLASS = \"dx-icon-right\",\r\n BUTTON_STYLING_MODE_CLASS_PREFIX = \"dx-button-mode-\",\r\n ALLOWED_STYLE_CLASSES = [BUTTON_STYLING_MODE_CLASS_PREFIX + \"contained\", BUTTON_STYLING_MODE_CLASS_PREFIX + \"text\", BUTTON_STYLING_MODE_CLASS_PREFIX + \"outlined\"],\r\n TEMPLATE_WRAPPER_CLASS = \"dx-template-wrapper\",\r\n BUTTON_TEXT_CLASS = \"dx-button-text\",\r\n ANONYMOUS_TEMPLATE_NAME = \"content\",\r\n BUTTON_LEFT_ICON_POSITION = \"left\",\r\n BUTTON_FEEDBACK_HIDE_TIMEOUT = 100;\r\nvar Button = Widget.inherit({\r\n _supportedKeys: function() {\r\n var that = this,\r\n click = function(e) {\r\n e.preventDefault();\r\n that._executeClickAction(e)\r\n };\r\n return extend(this.callBase(), {\r\n space: click,\r\n enter: click\r\n })\r\n },\r\n _setDeprecatedOptions: function() {\r\n this.callBase()\r\n },\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n hoverStateEnabled: true,\r\n onClick: null,\r\n type: \"normal\",\r\n text: \"\",\r\n icon: \"\",\r\n iconPosition: BUTTON_LEFT_ICON_POSITION,\r\n validationGroup: void 0,\r\n activeStateEnabled: true,\r\n template: \"content\",\r\n useSubmitBehavior: false,\r\n useInkRipple: false,\r\n stylingMode: \"contained\"\r\n })\r\n },\r\n _defaultOptionsRules: function() {\r\n return this.callBase().concat([{\r\n device: function() {\r\n return \"desktop\" === devices.real().deviceType && !devices.isSimulator()\r\n },\r\n options: {\r\n focusStateEnabled: true\r\n }\r\n }, {\r\n device: function() {\r\n var themeName = themes.current();\r\n return themes.isMaterial(themeName)\r\n },\r\n options: {\r\n useInkRipple: true\r\n }\r\n }])\r\n },\r\n _getAnonymousTemplateName: function() {\r\n return ANONYMOUS_TEMPLATE_NAME\r\n },\r\n _feedbackHideTimeout: BUTTON_FEEDBACK_HIDE_TIMEOUT,\r\n _initTemplates: function() {\r\n this.callBase();\r\n var that = this;\r\n this._defaultTemplates.content = new FunctionTemplate(function(options) {\r\n var data = options.model,\r\n $iconElement = iconUtils.getImageContainer(data && data.icon),\r\n $textContainer = data && data.text ? $(\"\").text(data.text).addClass(BUTTON_TEXT_CLASS) : void 0,\r\n $container = $(options.container);\r\n $container.append($textContainer);\r\n if (that.option(\"iconPosition\") === BUTTON_LEFT_ICON_POSITION) {\r\n $container.prepend($iconElement)\r\n } else {\r\n $iconElement.addClass(ICON_RIGHT_CLASS);\r\n $container.append($iconElement)\r\n }\r\n }, this)\r\n },\r\n _initMarkup: function() {\r\n this.$element().addClass(BUTTON_CLASS);\r\n this._renderType();\r\n this._renderStylingMode();\r\n this.option(\"useInkRipple\") && this._renderInkRipple();\r\n this._renderClick();\r\n this.setAria(\"role\", \"button\");\r\n this._updateAriaLabel();\r\n this.callBase();\r\n this._updateContent()\r\n },\r\n _renderInkRipple: function() {\r\n var isOnlyIconButton = !this.option(\"text\") && this.option(\"icon\") || \"back\" === this.option(\"type\"),\r\n config = {};\r\n if (isOnlyIconButton) {\r\n extend(config, {\r\n waveSizeCoefficient: 1,\r\n useHoldAnimation: false,\r\n isCentered: true\r\n })\r\n }\r\n this._inkRipple = inkRipple.render(config)\r\n },\r\n _toggleActiveState: function($element, value, e) {\r\n this.callBase.apply(this, arguments);\r\n if (!this._inkRipple) {\r\n return\r\n }\r\n var config = {\r\n element: this._$content,\r\n event: e\r\n };\r\n if (value) {\r\n this._inkRipple.showWave(config)\r\n } else {\r\n this._inkRipple.hideWave(config)\r\n }\r\n },\r\n _updateContent: function() {\r\n var $element = this.$element(),\r\n data = this._getContentData();\r\n if (this._$content) {\r\n this._$content.empty()\r\n } else {\r\n this._$content = $(\"
\").addClass(BUTTON_CONTENT_CLASS).appendTo($element)\r\n }\r\n $element.toggleClass(BUTTON_HAS_ICON_CLASS, !!data.icon).toggleClass(BUTTON_ICON_RIGHT_CLASS, !!data.icon && this.option(\"iconPosition\") !== BUTTON_LEFT_ICON_POSITION).toggleClass(BUTTON_HAS_TEXT_CLASS, !!data.text);\r\n var transclude = this._getAnonymousTemplateName() === this.option(\"template\"),\r\n template = this._getTemplateByOption(\"template\"),\r\n $result = $(template.render({\r\n model: data,\r\n container: domUtils.getPublicElement(this._$content),\r\n transclude: transclude\r\n }));\r\n if ($result.hasClass(TEMPLATE_WRAPPER_CLASS)) {\r\n this._$content.replaceWith($result);\r\n this._$content = $result;\r\n this._$content.addClass(BUTTON_CONTENT_CLASS)\r\n }\r\n if (this.option(\"useSubmitBehavior\")) {\r\n this._renderSubmitInput()\r\n }\r\n },\r\n _renderSubmitInput: function() {\r\n var submitAction = this._createAction(function(args) {\r\n var e = args.event,\r\n validationGroup = ValidationEngine.getGroupConfig(args.component._findGroup());\r\n if (validationGroup && !validationGroup.validate().isValid) {\r\n e.preventDefault()\r\n }\r\n e.stopPropagation()\r\n });\r\n this._$submitInput = $(\"\").attr(\"type\", \"submit\").attr(\"tabindex\", -1).addClass(\"dx-button-submit-input\").appendTo(this._$content);\r\n eventsEngine.on(this._$submitInput, \"click\", function(e) {\r\n submitAction({\r\n event: e\r\n })\r\n })\r\n },\r\n _getContentData: function() {\r\n var icon = this.option(\"icon\"),\r\n text = this.option(\"text\"),\r\n back = \"back\" === this.option(\"type\");\r\n if (back && !icon) {\r\n icon = \"back\"\r\n }\r\n return {\r\n icon: icon,\r\n text: text\r\n }\r\n },\r\n _renderClick: function() {\r\n var that = this,\r\n eventName = eventUtils.addNamespace(clickEvent.name, this.NAME),\r\n actionConfig = {\r\n excludeValidators: [\"readOnly\"]\r\n };\r\n if (this.option(\"useSubmitBehavior\")) {\r\n actionConfig.afterExecute = function(e) {\r\n setTimeout(function() {\r\n e.component._$submitInput.get(0).click()\r\n })\r\n }\r\n }\r\n this._clickAction = this._createActionByOption(\"onClick\", actionConfig);\r\n eventsEngine.off(this.$element(), eventName);\r\n eventsEngine.on(this.$element(), eventName, function(e) {\r\n that._executeClickAction(e)\r\n })\r\n },\r\n _executeClickAction: function(e) {\r\n this._clickAction({\r\n event: e,\r\n validationGroup: ValidationEngine.getGroupConfig(this._findGroup())\r\n })\r\n },\r\n _updateAriaLabel: function() {\r\n var icon = this.option(\"icon\"),\r\n text = this.option(\"text\");\r\n if (\"image\" === iconUtils.getImageSourceType(icon)) {\r\n if (icon.indexOf(\"base64\") === -1) {\r\n icon = icon.replace(/.+\\/([^.]+)\\..+$/, \"$1\")\r\n } else {\r\n icon = \"Base64\"\r\n }\r\n }\r\n var ariaLabel = text || icon || \"\";\r\n ariaLabel = ariaLabel.toString().trim();\r\n this.setAria(\"label\", ariaLabel.length ? ariaLabel : null)\r\n },\r\n _renderType: function() {\r\n var type = this.option(\"type\");\r\n if (type) {\r\n this.$element().addClass(\"dx-button-\" + type)\r\n }\r\n },\r\n _renderStylingMode: function() {\r\n var _this = this;\r\n var optionName = \"stylingMode\";\r\n ALLOWED_STYLE_CLASSES.forEach(function(className) {\r\n return _this.$element().removeClass(className)\r\n });\r\n var stylingModeClass = BUTTON_STYLING_MODE_CLASS_PREFIX + this.option(optionName);\r\n if (ALLOWED_STYLE_CLASSES.indexOf(stylingModeClass) === -1) {\r\n var defaultOptionValue = this._getDefaultOptions()[optionName];\r\n stylingModeClass = BUTTON_STYLING_MODE_CLASS_PREFIX + defaultOptionValue\r\n }\r\n this.$element().addClass(stylingModeClass)\r\n },\r\n _refreshType: function(prevType) {\r\n var type = this.option(\"type\");\r\n prevType && this.$element().removeClass(\"dx-button-\" + prevType).addClass(\"dx-button-\" + type);\r\n if (!this.$element().hasClass(BUTTON_HAS_ICON_CLASS) && \"back\" === type) {\r\n this._updateContent()\r\n }\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"onClick\":\r\n this._renderClick();\r\n break;\r\n case \"icon\":\r\n case \"text\":\r\n this._updateContent();\r\n this._updateAriaLabel();\r\n break;\r\n case \"type\":\r\n this._refreshType(args.previousValue);\r\n this._updateContent();\r\n this._updateAriaLabel();\r\n break;\r\n case \"template\":\r\n case \"iconPosition\":\r\n this._updateContent();\r\n break;\r\n case \"stylingMode\":\r\n this._renderStylingMode();\r\n break;\r\n case \"useInkRipple\":\r\n case \"useSubmitBehavior\":\r\n this._invalidate();\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _clean: function() {\r\n delete this._inkRipple;\r\n this.callBase();\r\n delete this._$content\r\n }\r\n}).include(ValidationMixin);\r\nregisterComponent(\"dxButton\", Button);\r\nmodule.exports = Button;\r\nmodule.exports.default = module.exports;\r\n","/**\r\n * DevExtreme (ui/popup.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar $ = require(\"../core/renderer\"),\r\n window = require(\"../core/utils/window\").getWindow(),\r\n translator = require(\"../animation/translator\"),\r\n camelize = require(\"../core/utils/inflector\").camelize,\r\n noop = require(\"../core/utils/common\").noop,\r\n getPublicElement = require(\"../core/utils/dom\").getPublicElement,\r\n each = require(\"../core/utils/iterator\").each,\r\n isDefined = require(\"../core/utils/type\").isDefined,\r\n inArray = require(\"../core/utils/array\").inArray,\r\n extend = require(\"../core/utils/extend\").extend,\r\n browser = require(\"../core/utils/browser\"),\r\n compareVersions = require(\"../core/utils/version\").compare,\r\n messageLocalization = require(\"../localization/message\"),\r\n devices = require(\"../core/devices\"),\r\n registerComponent = require(\"../core/component_registrator\"),\r\n Button = require(\"./button\"),\r\n themes = require(\"./themes\"),\r\n Overlay = require(\"./overlay\"),\r\n EmptyTemplate = require(\"./widget/empty_template\"),\r\n domUtils = require(\"../core/utils/dom\"),\r\n sizeUtils = require(\"../core/utils/size\"),\r\n windowUtils = require(\"../core/utils/window\");\r\nrequire(\"./toolbar/ui.toolbar.base\");\r\nvar POPUP_CLASS = \"dx-popup\",\r\n POPUP_WRAPPER_CLASS = \"dx-popup-wrapper\",\r\n POPUP_FULL_SCREEN_CLASS = \"dx-popup-fullscreen\",\r\n POPUP_FULL_SCREEN_WIDTH_CLASS = \"dx-popup-fullscreen-width\",\r\n POPUP_NORMAL_CLASS = \"dx-popup-normal\",\r\n POPUP_CONTENT_CLASS = \"dx-popup-content\",\r\n POPUP_DRAGGABLE_CLASS = \"dx-popup-draggable\",\r\n POPUP_TITLE_CLASS = \"dx-popup-title\",\r\n POPUP_TITLE_CLOSEBUTTON_CLASS = \"dx-closebutton\",\r\n POPUP_BOTTOM_CLASS = \"dx-popup-bottom\",\r\n TEMPLATE_WRAPPER_CLASS = \"dx-template-wrapper\",\r\n POPUP_CONTENT_FLEX_HEIGHT_CLASS = \"dx-popup-flex-height\",\r\n POPUP_CONTENT_INHERIT_HEIGHT_CLASS = \"dx-popup-inherit-height\",\r\n ALLOWED_TOOLBAR_ITEM_ALIASES = [\"cancel\", \"clear\", \"done\"],\r\n BUTTON_DEFAULT_TYPE = \"default\",\r\n BUTTON_NORMAL_TYPE = \"normal\",\r\n BUTTON_TEXT_MODE = \"text\",\r\n BUTTON_CONTAINED_MODE = \"contained\";\r\nvar IS_IE11 = browser.msie && 11 === parseInt(browser.version);\r\nvar IS_OLD_SAFARI = browser.safari && compareVersions(browser.version, [11]) < 0;\r\nvar HEIGHT_STRATEGIES = {\r\n \"static\": \"\",\r\n inherit: POPUP_CONTENT_INHERIT_HEIGHT_CLASS,\r\n flex: POPUP_CONTENT_FLEX_HEIGHT_CLASS\r\n};\r\nvar getButtonPlace = function(name) {\r\n var device = devices.current(),\r\n platform = device.platform,\r\n toolbar = \"bottom\",\r\n location = \"before\";\r\n if (\"ios\" === platform) {\r\n switch (name) {\r\n case \"cancel\":\r\n toolbar = \"top\";\r\n break;\r\n case \"clear\":\r\n toolbar = \"top\";\r\n location = \"after\";\r\n break;\r\n case \"done\":\r\n location = \"after\"\r\n }\r\n } else {\r\n if (\"win\" === platform) {\r\n location = \"after\"\r\n } else {\r\n if (\"android\" === platform && device.version && parseInt(device.version[0]) > 4) {\r\n switch (name) {\r\n case \"cancel\":\r\n location = \"after\";\r\n break;\r\n case \"done\":\r\n location = \"after\"\r\n }\r\n } else {\r\n if (\"android\" === platform) {\r\n location = \"center\"\r\n }\r\n }\r\n }\r\n }\r\n return {\r\n toolbar: toolbar,\r\n location: location\r\n }\r\n};\r\nvar Popup = Overlay.inherit({\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n fullScreen: false,\r\n title: \"\",\r\n showTitle: true,\r\n titleTemplate: \"title\",\r\n onTitleRendered: null,\r\n dragEnabled: false,\r\n toolbarItems: [],\r\n showCloseButton: false,\r\n bottomTemplate: \"bottom\",\r\n useDefaultToolbarButtons: false,\r\n useFlatToolbarButtons: false,\r\n autoResizeEnabled: true\r\n })\r\n },\r\n _defaultOptionsRules: function() {\r\n var themeName = themes.current();\r\n return this.callBase().concat([{\r\n device: {\r\n platform: \"ios\"\r\n },\r\n options: {\r\n animation: this._iosAnimation\r\n }\r\n }, {\r\n device: {\r\n platform: \"android\"\r\n },\r\n options: {\r\n animation: this._androidAnimation\r\n }\r\n }, {\r\n device: {\r\n platform: \"generic\"\r\n },\r\n options: {\r\n showCloseButton: true\r\n }\r\n }, {\r\n device: function(_device) {\r\n return \"generic\" === devices.real().platform && \"generic\" === _device.platform\r\n },\r\n options: {\r\n dragEnabled: true\r\n }\r\n }, {\r\n device: function() {\r\n return \"desktop\" === devices.real().deviceType && !devices.isSimulator()\r\n },\r\n options: {\r\n focusStateEnabled: true\r\n }\r\n }, {\r\n device: function() {\r\n return themes.isMaterial(themeName)\r\n },\r\n options: {\r\n useDefaultToolbarButtons: true,\r\n useFlatToolbarButtons: true\r\n }\r\n }])\r\n },\r\n _iosAnimation: {\r\n show: {\r\n type: \"slide\",\r\n duration: 400,\r\n from: {\r\n position: {\r\n my: \"top\",\r\n at: \"bottom\"\r\n }\r\n },\r\n to: {\r\n position: {\r\n my: \"center\",\r\n at: \"center\"\r\n }\r\n }\r\n },\r\n hide: {\r\n type: \"slide\",\r\n duration: 400,\r\n from: {\r\n opacity: 1,\r\n position: {\r\n my: \"center\",\r\n at: \"center\"\r\n }\r\n },\r\n to: {\r\n opacity: 1,\r\n position: {\r\n my: \"top\",\r\n at: \"bottom\"\r\n }\r\n }\r\n }\r\n },\r\n _androidAnimation: function() {\r\n var fullScreenConfig = {\r\n show: {\r\n type: \"slide\",\r\n duration: 300,\r\n from: {\r\n top: \"30%\",\r\n opacity: 0\r\n },\r\n to: {\r\n top: 0,\r\n opacity: 1\r\n }\r\n },\r\n hide: {\r\n type: \"slide\",\r\n duration: 300,\r\n from: {\r\n top: 0,\r\n opacity: 1\r\n },\r\n to: {\r\n top: \"30%\",\r\n opacity: 0\r\n }\r\n }\r\n },\r\n defaultConfig = {\r\n show: {\r\n type: \"fade\",\r\n duration: 400,\r\n from: 0,\r\n to: 1\r\n },\r\n hide: {\r\n type: \"fade\",\r\n duration: 400,\r\n from: 1,\r\n to: 0\r\n }\r\n };\r\n return this.option(\"fullScreen\") ? fullScreenConfig : defaultConfig\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this.$element().addClass(POPUP_CLASS);\r\n this._wrapper().addClass(POPUP_WRAPPER_CLASS);\r\n this._$popupContent = this._$content.wrapInner($(\"
\").addClass(POPUP_CONTENT_CLASS)).children().eq(0)\r\n },\r\n _render: function() {\r\n var isFullscreen = this.option(\"fullScreen\");\r\n this._toggleFullScreenClass(isFullscreen);\r\n this.callBase()\r\n },\r\n _toggleFullScreenClass: function(value) {\r\n this._$content.toggleClass(POPUP_FULL_SCREEN_CLASS, value).toggleClass(POPUP_NORMAL_CLASS, !value)\r\n },\r\n _initTemplates: function() {\r\n this.callBase();\r\n this._defaultTemplates.title = new EmptyTemplate(this);\r\n this._defaultTemplates.bottom = new EmptyTemplate(this)\r\n },\r\n _renderContentImpl: function() {\r\n this._renderTitle();\r\n this.callBase();\r\n this._renderBottom()\r\n },\r\n _renderTitle: function() {\r\n var items = this._getToolbarItems(\"top\"),\r\n titleText = this.option(\"title\"),\r\n showTitle = this.option(\"showTitle\");\r\n if (showTitle && !!titleText) {\r\n items.unshift({\r\n location: devices.current().ios ? \"center\" : \"before\",\r\n text: titleText\r\n })\r\n }\r\n if (showTitle || items.length > 0) {\r\n this._$title && this._$title.remove();\r\n var $title = $(\"
\").addClass(POPUP_TITLE_CLASS).insertBefore(this.$content());\r\n this._$title = this._renderTemplateByType(\"titleTemplate\", items, $title).addClass(POPUP_TITLE_CLASS);\r\n this._renderDrag();\r\n this._executeTitleRenderAction(this._$title)\r\n } else {\r\n if (this._$title) {\r\n this._$title.detach()\r\n }\r\n }\r\n },\r\n _renderTemplateByType: function(optionName, data, $container, additionalToolbarOptions) {\r\n var template = this._getTemplateByOption(optionName),\r\n toolbarTemplate = template instanceof EmptyTemplate;\r\n if (toolbarTemplate) {\r\n var toolbarOptions = extend(additionalToolbarOptions, {\r\n items: data,\r\n rtlEnabled: this.option(\"rtlEnabled\"),\r\n useDefaultButtons: this.option(\"useDefaultToolbarButtons\"),\r\n useFlatButtons: this.option(\"useFlatToolbarButtons\")\r\n });\r\n this._getTemplate(\"dx-polymorph-widget\").render({\r\n container: $container,\r\n model: {\r\n widget: \"dxToolbarBase\",\r\n options: toolbarOptions\r\n }\r\n });\r\n var $toolbar = $container.children(\"div\");\r\n $container.replaceWith($toolbar);\r\n return $toolbar\r\n } else {\r\n var $result = $(template.render({\r\n container: getPublicElement($container)\r\n }));\r\n if ($result.hasClass(TEMPLATE_WRAPPER_CLASS)) {\r\n $container.replaceWith($result);\r\n $container = $result\r\n }\r\n return $container\r\n }\r\n },\r\n _executeTitleRenderAction: function($titleElement) {\r\n this._getTitleRenderAction()({\r\n titleElement: getPublicElement($titleElement)\r\n })\r\n },\r\n _getTitleRenderAction: function() {\r\n return this._titleRenderAction || this._createTitleRenderAction()\r\n },\r\n _createTitleRenderAction: function() {\r\n return this._titleRenderAction = this._createActionByOption(\"onTitleRendered\", {\r\n element: this.element(),\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })\r\n },\r\n _getCloseButton: function() {\r\n return {\r\n toolbar: \"top\",\r\n location: \"after\",\r\n template: this._getCloseButtonRenderer()\r\n }\r\n },\r\n _getCloseButtonRenderer: function() {\r\n return function(_, __, container) {\r\n var $button = $(\"
\").addClass(POPUP_TITLE_CLOSEBUTTON_CLASS);\r\n this._createComponent($button, Button, {\r\n icon: \"close\",\r\n onClick: this._createToolbarItemAction(void 0),\r\n integrationOptions: {}\r\n });\r\n $(container).append($button)\r\n }.bind(this)\r\n },\r\n _getToolbarItems: function(toolbar) {\r\n var toolbarItems = this.option(\"toolbarItems\");\r\n var toolbarsItems = [];\r\n this._toolbarItemClasses = [];\r\n var currentPlatform = devices.current().platform,\r\n index = 0;\r\n each(toolbarItems, function(_, data) {\r\n var isShortcut = isDefined(data.shortcut),\r\n item = isShortcut ? getButtonPlace(data.shortcut) : data;\r\n if (isShortcut && \"ios\" === currentPlatform && index < 2) {\r\n item.toolbar = \"top\";\r\n index++\r\n }\r\n item.toolbar = data.toolbar || item.toolbar || \"top\";\r\n if (item && item.toolbar === toolbar) {\r\n if (isShortcut) {\r\n extend(item, {\r\n location: data.location\r\n }, this._getToolbarItemByAlias(data))\r\n }\r\n var isLTROrder = \"win\" === currentPlatform || \"generic\" === currentPlatform;\r\n if (\"done\" === data.shortcut && isLTROrder || \"cancel\" === data.shortcut && !isLTROrder) {\r\n toolbarsItems.unshift(item)\r\n } else {\r\n toolbarsItems.push(item)\r\n }\r\n }\r\n }.bind(this));\r\n if (\"top\" === toolbar && this.option(\"showCloseButton\") && this.option(\"showTitle\")) {\r\n toolbarsItems.push(this._getCloseButton())\r\n }\r\n return toolbarsItems\r\n },\r\n _getLocalizationKey: function(itemType) {\r\n return \"done\" === itemType.toLowerCase() ? \"OK\" : camelize(itemType, true)\r\n },\r\n _getToolbarItemByAlias: function(data) {\r\n var that = this,\r\n itemType = data.shortcut;\r\n if (inArray(itemType, ALLOWED_TOOLBAR_ITEM_ALIASES) < 0) {\r\n return false\r\n }\r\n var itemConfig = extend({\r\n text: messageLocalization.format(this._getLocalizationKey(itemType)),\r\n onClick: this._createToolbarItemAction(data.onClick),\r\n integrationOptions: {},\r\n type: that.option(\"useDefaultToolbarButtons\") ? BUTTON_DEFAULT_TYPE : BUTTON_NORMAL_TYPE,\r\n stylingMode: that.option(\"useFlatToolbarButtons\") ? BUTTON_TEXT_MODE : BUTTON_CONTAINED_MODE\r\n }, data.options || {});\r\n var itemClass = POPUP_CLASS + \"-\" + itemType;\r\n this._toolbarItemClasses.push(itemClass);\r\n return {\r\n template: function(_, __, container) {\r\n var $toolbarItem = $(\"
\").addClass(itemClass).appendTo(container);\r\n that._createComponent($toolbarItem, Button, itemConfig)\r\n }\r\n }\r\n },\r\n _createToolbarItemAction: function(clickAction) {\r\n return this._createAction(clickAction, {\r\n afterExecute: function(e) {\r\n e.component.hide()\r\n }\r\n })\r\n },\r\n _renderBottom: function() {\r\n var items = this._getToolbarItems(\"bottom\");\r\n if (items.length) {\r\n this._$bottom && this._$bottom.remove();\r\n var $bottom = $(\"
\").addClass(POPUP_BOTTOM_CLASS).insertAfter(this.$content());\r\n this._$bottom = this._renderTemplateByType(\"bottomTemplate\", items, $bottom, {\r\n compactMode: true\r\n }).addClass(POPUP_BOTTOM_CLASS);\r\n this._toggleClasses()\r\n } else {\r\n this._$bottom && this._$bottom.detach()\r\n }\r\n },\r\n _toggleClasses: function() {\r\n var aliases = ALLOWED_TOOLBAR_ITEM_ALIASES;\r\n each(aliases, function(_, alias) {\r\n var className = POPUP_CLASS + \"-\" + alias;\r\n if (inArray(className, this._toolbarItemClasses) >= 0) {\r\n this._wrapper().addClass(className + \"-visible\");\r\n this._$bottom.addClass(className)\r\n } else {\r\n this._wrapper().removeClass(className + \"-visible\");\r\n this._$bottom.removeClass(className)\r\n }\r\n }.bind(this))\r\n },\r\n _getDragTarget: function() {\r\n return this.topToolbar()\r\n },\r\n _renderGeometryImpl: function(isDimensionChanged) {\r\n if (!isDimensionChanged) {\r\n this._resetContentHeight()\r\n }\r\n this.callBase.apply(this, arguments);\r\n this._setContentHeight()\r\n },\r\n _resetContentHeight: function() {\r\n this._$popupContent.css({\r\n height: \"auto\"\r\n })\r\n },\r\n _renderDrag: function() {\r\n this.callBase();\r\n this._$content.toggleClass(POPUP_DRAGGABLE_CLASS, this.option(\"dragEnabled\"))\r\n },\r\n _renderResize: function() {\r\n this.callBase();\r\n this._resizable.option(\"onResize\", function() {\r\n this._setContentHeight();\r\n this._actions.onResize(arguments)\r\n }.bind(this))\r\n },\r\n _setContentHeight: function() {\r\n (this.option(\"forceApplyBindings\") || noop)();\r\n var overlayContent = this.overlayContent().get(0),\r\n currentHeightStrategyClass = this._chooseHeightStrategy(overlayContent);\r\n this.$content().css(this._getHeightCssStyles(currentHeightStrategyClass, overlayContent));\r\n this._setHeightClasses(this.overlayContent(), currentHeightStrategyClass)\r\n },\r\n _heightStrategyChangeOffset: function(currentHeightStrategyClass, popupVerticalPaddings) {\r\n return currentHeightStrategyClass === HEIGHT_STRATEGIES.flex ? -popupVerticalPaddings : 0\r\n },\r\n _chooseHeightStrategy: function(overlayContent) {\r\n var isAutoWidth = \"auto\" === overlayContent.style.width || \"\" === overlayContent.style.width,\r\n currentHeightStrategyClass = HEIGHT_STRATEGIES.static;\r\n if (this._isAutoHeight() && this.option(\"autoResizeEnabled\")) {\r\n if (isAutoWidth || IS_OLD_SAFARI) {\r\n if (!IS_IE11) {\r\n currentHeightStrategyClass = HEIGHT_STRATEGIES.inherit\r\n }\r\n } else {\r\n currentHeightStrategyClass = HEIGHT_STRATEGIES.flex\r\n }\r\n }\r\n return currentHeightStrategyClass\r\n },\r\n _getHeightCssStyles: function(currentHeightStrategyClass, overlayContent) {\r\n var cssStyles = {},\r\n contentMaxHeight = this._getOptionValue(\"maxHeight\", overlayContent),\r\n contentMinHeight = this._getOptionValue(\"minHeight\", overlayContent),\r\n popupHeightParts = this._splitPopupHeight(),\r\n toolbarsAndVerticalOffsetsHeight = popupHeightParts.header + popupHeightParts.footer + popupHeightParts.contentVerticalOffsets + popupHeightParts.popupVerticalOffsets + this._heightStrategyChangeOffset(currentHeightStrategyClass, popupHeightParts.popupVerticalPaddings);\r\n if (currentHeightStrategyClass === HEIGHT_STRATEGIES.static) {\r\n if (!this._isAutoHeight() || contentMaxHeight || contentMinHeight) {\r\n var contentHeight = overlayContent.getBoundingClientRect().height - toolbarsAndVerticalOffsetsHeight;\r\n cssStyles = {\r\n height: Math.max(0, contentHeight),\r\n minHeight: \"auto\",\r\n maxHeight: \"auto\"\r\n }\r\n }\r\n } else {\r\n var container = $(this._getContainer()).get(0),\r\n maxHeightValue = sizeUtils.addOffsetToMaxHeight(contentMaxHeight, -toolbarsAndVerticalOffsetsHeight, container),\r\n minHeightValue = sizeUtils.addOffsetToMinHeight(contentMinHeight, -toolbarsAndVerticalOffsetsHeight, container);\r\n cssStyles = {\r\n height: \"auto\",\r\n minHeight: minHeightValue,\r\n maxHeight: maxHeightValue\r\n }\r\n }\r\n return cssStyles\r\n },\r\n _setHeightClasses: function($container, currentClass) {\r\n var excessClasses = \"\";\r\n for (var name in HEIGHT_STRATEGIES) {\r\n if (HEIGHT_STRATEGIES[name] !== currentClass) {\r\n excessClasses += \" \" + HEIGHT_STRATEGIES[name]\r\n }\r\n }\r\n $container.removeClass(excessClasses).addClass(currentClass)\r\n },\r\n _isAutoHeight: function() {\r\n return \"auto\" === this.overlayContent().get(0).style.height\r\n },\r\n _splitPopupHeight: function() {\r\n var topToolbar = this.topToolbar(),\r\n bottomToolbar = this.bottomToolbar();\r\n return {\r\n header: sizeUtils.getVisibleHeight(topToolbar && topToolbar.get(0)),\r\n footer: sizeUtils.getVisibleHeight(bottomToolbar && bottomToolbar.get(0)),\r\n contentVerticalOffsets: sizeUtils.getVerticalOffsets(this.overlayContent().get(0), true),\r\n popupVerticalOffsets: sizeUtils.getVerticalOffsets(this.$content().get(0), true),\r\n popupVerticalPaddings: sizeUtils.getVerticalOffsets(this.$content().get(0), false)\r\n }\r\n },\r\n _useFixedPosition: function() {\r\n return this.callBase() || this.option(\"fullScreen\")\r\n },\r\n _renderDimensions: function() {\r\n if (this.option(\"fullScreen\")) {\r\n this._$content.css({\r\n width: \"100%\",\r\n height: \"100%\"\r\n })\r\n } else {\r\n this.callBase.apply(this, arguments)\r\n }\r\n if (windowUtils.hasWindow()) {\r\n this._renderFullscreenWidthClass()\r\n }\r\n },\r\n _renderFullscreenWidthClass: function() {\r\n this.overlayContent().toggleClass(POPUP_FULL_SCREEN_WIDTH_CLASS, this.overlayContent().outerWidth() === $(window).width())\r\n },\r\n _renderShadingDimensions: function() {\r\n if (this.option(\"fullScreen\")) {\r\n this._wrapper().css({\r\n width: \"100%\",\r\n height: \"100%\"\r\n })\r\n } else {\r\n this.callBase.apply(this, arguments)\r\n }\r\n },\r\n refreshPosition: function() {\r\n this._renderPosition()\r\n },\r\n _renderPosition: function() {\r\n if (this.option(\"fullScreen\")) {\r\n translator.move(this._$content, {\r\n top: 0,\r\n left: 0\r\n })\r\n } else {\r\n (this.option(\"forceApplyBindings\") || noop)();\r\n return this.callBase.apply(this, arguments)\r\n }\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"showTitle\":\r\n case \"title\":\r\n case \"titleTemplate\":\r\n this._renderTitle();\r\n this._renderGeometry();\r\n break;\r\n case \"bottomTemplate\":\r\n this._renderBottom();\r\n this._renderGeometry();\r\n break;\r\n case \"onTitleRendered\":\r\n this._createTitleRenderAction(args.value);\r\n break;\r\n case \"toolbarItems\":\r\n case \"useDefaultToolbarButtons\":\r\n case \"useFlatToolbarButtons\":\r\n var isPartialUpdate = args.fullName.search(\".options\") !== -1;\r\n this._renderTitle();\r\n this._renderBottom();\r\n if (!isPartialUpdate) {\r\n this._renderGeometry()\r\n }\r\n break;\r\n case \"dragEnabled\":\r\n this._renderDrag();\r\n break;\r\n case \"autoResizeEnabled\":\r\n this._renderGeometry();\r\n domUtils.triggerResizeEvent(this._$content);\r\n break;\r\n case \"fullScreen\":\r\n this._toggleFullScreenClass(args.value);\r\n this._toggleSafariScrolling(!args.value);\r\n this._renderGeometry();\r\n domUtils.triggerResizeEvent(this._$content);\r\n break;\r\n case \"showCloseButton\":\r\n this._renderTitle();\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n bottomToolbar: function() {\r\n return this._$bottom\r\n },\r\n topToolbar: function() {\r\n return this._$title\r\n },\r\n $content: function() {\r\n return this._$popupContent\r\n },\r\n content: function() {\r\n return getPublicElement(this._$popupContent)\r\n },\r\n overlayContent: function() {\r\n return this._$content\r\n }\r\n});\r\nregisterComponent(\"dxPopup\", Popup);\r\nmodule.exports = Popup;\r\nmodule.exports.default = module.exports;\r\n","/**\r\n * DevExtreme (ui/collection/ui.collection_widget.edit.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _renderer = require(\"../../core/renderer\");\r\nvar _renderer2 = _interopRequireDefault(_renderer);\r\nvar _events_engine = require(\"../../events/core/events_engine\");\r\nvar _events_engine2 = _interopRequireDefault(_events_engine);\r\nvar _uiCollection_widget = require(\"./ui.collection_widget.base\");\r\nvar _uiCollection_widget2 = _interopRequireDefault(_uiCollection_widget);\r\nvar _ui = require(\"../widget/ui.errors\");\r\nvar _ui2 = _interopRequireDefault(_ui);\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar _common = require(\"../../core/utils/common\");\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _uiCollection_widgetEditStrategy = require(\"./ui.collection_widget.edit.strategy.plain\");\r\nvar _uiCollection_widgetEditStrategy2 = _interopRequireDefault(_uiCollection_widgetEditStrategy);\r\nvar _data = require(\"../../core/utils/data\");\r\nvar _data_source = require(\"../../data/data_source/data_source\");\r\nvar _selection = require(\"../selection/selection\");\r\nvar _selection2 = _interopRequireDefault(_selection);\r\nvar _deferred = require(\"../../core/utils/deferred\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar ITEM_DELETING_DATA_KEY = \"dxItemDeleting\",\r\n NOT_EXISTING_INDEX = -1;\r\nvar indexExists = function(index) {\r\n return index !== NOT_EXISTING_INDEX\r\n};\r\nvar CollectionWidget = _uiCollection_widget2.default.inherit({\r\n _setOptionsByReference: function() {\r\n this.callBase();\r\n (0, _extend.extend)(this._optionsByReference, {\r\n selectedItem: true\r\n })\r\n },\r\n _getDefaultOptions: function() {\r\n return (0, _extend.extend)(this.callBase(), {\r\n selectionMode: \"none\",\r\n selectionRequired: false,\r\n selectionByClick: true,\r\n selectedItems: [],\r\n selectedItemKeys: [],\r\n maxFilterLengthInRequest: 1500,\r\n keyExpr: null,\r\n selectedIndex: NOT_EXISTING_INDEX,\r\n selectedItem: null,\r\n onSelectionChanged: null,\r\n onItemReordered: null,\r\n onItemDeleting: null,\r\n onItemDeleted: null\r\n })\r\n },\r\n ctor: function(element, options) {\r\n this._userOptions = options || {};\r\n this.callBase(element, options)\r\n },\r\n _init: function() {\r\n this._initEditStrategy();\r\n this.callBase();\r\n this._initKeyGetter();\r\n this._initSelectionModule();\r\n if (\"multi\" === this.option(\"selectionMode\")) {\r\n this._showDeprecatedSelectionMode()\r\n }\r\n },\r\n _initKeyGetter: function() {\r\n this._keyGetter = (0, _data.compileGetter)(this.option(\"keyExpr\"))\r\n },\r\n _getKeysByItems: function(selectedItems) {\r\n return this._editStrategy.getKeysByItems(selectedItems)\r\n },\r\n _getItemsByKeys: function(selectedItemKeys, selectedItems) {\r\n return this._editStrategy.getItemsByKeys(selectedItemKeys, selectedItems)\r\n },\r\n _getKeyByIndex: function(index) {\r\n return this._editStrategy.getKeyByIndex(index)\r\n },\r\n _getIndexByKey: function(key) {\r\n return this._editStrategy.getIndexByKey(key)\r\n },\r\n _getIndexByItemData: function(itemData) {\r\n return this._editStrategy.getIndexByItemData(itemData)\r\n },\r\n _isKeySpecified: function() {\r\n return !!(this._dataSource && this._dataSource.key())\r\n },\r\n _getCombinedFilter: function() {\r\n return this._dataSource && this._dataSource.filter()\r\n },\r\n key: function() {\r\n if (this.option(\"keyExpr\")) {\r\n return this.option(\"keyExpr\")\r\n }\r\n return this._dataSource && this._dataSource.key()\r\n },\r\n keyOf: function(item) {\r\n var key = item,\r\n store = this._dataSource && this._dataSource.store();\r\n if (this.option(\"keyExpr\")) {\r\n key = this._keyGetter(item)\r\n } else {\r\n if (store) {\r\n key = store.keyOf(item)\r\n }\r\n }\r\n return key\r\n },\r\n _initSelectionModule: function() {\r\n var that = this,\r\n itemsGetter = that._editStrategy.itemsGetter;\r\n this._selection = new _selection2.default({\r\n mode: this.option(\"selectionMode\"),\r\n maxFilterLengthInRequest: this.option(\"maxFilterLengthInRequest\"),\r\n equalByReference: !this._isKeySpecified(),\r\n onSelectionChanged: function(args) {\r\n if (args.addedItemKeys.length || args.removedItemKeys.length) {\r\n that.option(\"selectedItems\", that._getItemsByKeys(args.selectedItemKeys, args.selectedItems));\r\n that._updateSelectedItems(args)\r\n }\r\n },\r\n filter: that._getCombinedFilter.bind(that),\r\n totalCount: function() {\r\n var items = that.option(\"items\");\r\n var dataSource = that._dataSource;\r\n return dataSource && dataSource.totalCount() >= 0 ? dataSource.totalCount() : items.length\r\n },\r\n key: that.key.bind(that),\r\n keyOf: that.keyOf.bind(that),\r\n load: function(options) {\r\n if (that._dataSource) {\r\n var loadOptions = that._dataSource.loadOptions();\r\n options.customQueryParams = loadOptions.customQueryParams;\r\n options.userData = that._dataSource._userData\r\n }\r\n var store = that._dataSource && that._dataSource.store();\r\n if (store) {\r\n return store.load(options).done(function(loadResult) {\r\n if (that._disposed) {\r\n return\r\n }\r\n var items = (0, _data_source.normalizeLoadResult)(loadResult).data;\r\n that._dataSource._applyMapFunction(items)\r\n })\r\n } else {\r\n return (new _deferred.Deferred).resolve(this.plainItems())\r\n }\r\n },\r\n dataFields: function() {\r\n return that._dataSource && that._dataSource.select()\r\n },\r\n plainItems: itemsGetter.bind(that._editStrategy)\r\n })\r\n },\r\n _initEditStrategy: function() {\r\n var Strategy = _uiCollection_widgetEditStrategy2.default;\r\n this._editStrategy = new Strategy(this)\r\n },\r\n _getSelectedItemIndices: function(keys) {\r\n var that = this,\r\n indices = [];\r\n keys = keys || this._selection.getSelectedItemKeys();\r\n that._editStrategy.beginCache();\r\n (0, _iterator.each)(keys, function(_, key) {\r\n var selectedIndex = that._getIndexByKey(key);\r\n if (indexExists(selectedIndex)) {\r\n indices.push(selectedIndex)\r\n }\r\n });\r\n that._editStrategy.endCache();\r\n return indices\r\n },\r\n _initMarkup: function() {\r\n var _this = this;\r\n this._rendering = true;\r\n if (!this._dataSource || !this._dataSource.isLoading()) {\r\n this._syncSelectionOptions().done(function() {\r\n return _this._normalizeSelectedItems()\r\n })\r\n }\r\n this.callBase()\r\n },\r\n _render: function() {\r\n this.callBase();\r\n this._rendering = false\r\n },\r\n _fireContentReadyAction: function() {\r\n this._rendering = false;\r\n this._rendered = true;\r\n this.callBase.apply(this, arguments)\r\n },\r\n _syncSelectionOptions: function(byOption) {\r\n byOption = byOption || this._chooseSelectOption();\r\n var selectedItem, selectedIndex;\r\n switch (byOption) {\r\n case \"selectedIndex\":\r\n selectedItem = this._editStrategy.getItemDataByIndex(this.option(\"selectedIndex\"));\r\n if ((0, _type.isDefined)(selectedItem)) {\r\n this._setOptionSilent(\"selectedItems\", [selectedItem]);\r\n this._setOptionSilent(\"selectedItem\", selectedItem);\r\n this._setOptionSilent(\"selectedItemKeys\", this._editStrategy.getKeysByItems([selectedItem]))\r\n } else {\r\n this._setOptionSilent(\"selectedItems\", []);\r\n this._setOptionSilent(\"selectedItemKeys\", []);\r\n this._setOptionSilent(\"selectedItem\", null)\r\n }\r\n break;\r\n case \"selectedItems\":\r\n var selectedItems = this.option(\"selectedItems\") || [];\r\n selectedIndex = this._editStrategy.getIndexByItemData(selectedItems[0]);\r\n if (this.option(\"selectionRequired\") && !indexExists(selectedIndex)) {\r\n return this._syncSelectionOptions(\"selectedIndex\")\r\n }\r\n this._setOptionSilent(\"selectedItem\", selectedItems[0]);\r\n this._setOptionSilent(\"selectedIndex\", selectedIndex);\r\n this._setOptionSilent(\"selectedItemKeys\", this._editStrategy.getKeysByItems(selectedItems));\r\n break;\r\n case \"selectedItem\":\r\n selectedItem = this.option(\"selectedItem\");\r\n selectedIndex = this._editStrategy.getIndexByItemData(selectedItem);\r\n if (this.option(\"selectionRequired\") && !indexExists(selectedIndex)) {\r\n return this._syncSelectionOptions(\"selectedIndex\")\r\n }\r\n if ((0, _type.isDefined)(selectedItem)) {\r\n this._setOptionSilent(\"selectedItems\", [selectedItem]);\r\n this._setOptionSilent(\"selectedIndex\", selectedIndex);\r\n this._setOptionSilent(\"selectedItemKeys\", this._editStrategy.getKeysByItems([selectedItem]))\r\n } else {\r\n this._setOptionSilent(\"selectedItems\", []);\r\n this._setOptionSilent(\"selectedItemKeys\", []);\r\n this._setOptionSilent(\"selectedIndex\", NOT_EXISTING_INDEX)\r\n }\r\n break;\r\n case \"selectedItemKeys\":\r\n var selectedItemKeys = this.option(\"selectedItemKeys\");\r\n if (this.option(\"selectionRequired\")) {\r\n var selectedItemIndex = this._getIndexByKey(selectedItemKeys[0]);\r\n if (!indexExists(selectedItemIndex)) {\r\n return this._syncSelectionOptions(\"selectedIndex\")\r\n }\r\n }\r\n return this._selection.setSelection(selectedItemKeys)\r\n }\r\n return (new _deferred.Deferred).resolve().promise()\r\n },\r\n _chooseSelectOption: function() {\r\n var optionName = \"selectedIndex\";\r\n var isOptionDefined = function(optionName) {\r\n var optionValue = this.option(optionName),\r\n length = (0, _type.isDefined)(optionValue) && optionValue.length;\r\n return length || optionName in this._userOptions\r\n }.bind(this);\r\n if (isOptionDefined(\"selectedItems\")) {\r\n optionName = \"selectedItems\"\r\n } else {\r\n if (isOptionDefined(\"selectedItem\")) {\r\n optionName = \"selectedItem\"\r\n } else {\r\n if (isOptionDefined(\"selectedItemKeys\")) {\r\n optionName = \"selectedItemKeys\"\r\n }\r\n }\r\n }\r\n return optionName\r\n },\r\n _compareKeys: function(oldKeys, newKeys) {\r\n if (oldKeys.length !== newKeys.length) {\r\n return false\r\n }\r\n for (var i = 0; i < newKeys.length; i++) {\r\n if (oldKeys[i] !== newKeys[i]) {\r\n return false\r\n }\r\n }\r\n return true\r\n },\r\n _normalizeSelectedItems: function() {\r\n if (\"none\" === this.option(\"selectionMode\")) {\r\n this._setOptionSilent(\"selectedItems\", []);\r\n this._syncSelectionOptions(\"selectedItems\")\r\n } else {\r\n if (\"single\" === this.option(\"selectionMode\")) {\r\n var newSelection = this.option(\"selectedItems\");\r\n if (newSelection.length > 1 || !newSelection.length && this.option(\"selectionRequired\") && this.option(\"items\") && this.option(\"items\").length) {\r\n var currentSelection = this._selection.getSelectedItems();\r\n var normalizedSelection = void 0 === newSelection[0] ? currentSelection[0] : newSelection[0];\r\n if (void 0 === normalizedSelection) {\r\n normalizedSelection = this._editStrategy.itemsGetter()[0]\r\n }\r\n if (this.option(\"grouped\") && normalizedSelection && normalizedSelection.items) {\r\n normalizedSelection.items = [normalizedSelection.items[0]]\r\n }\r\n this._selection.setSelection(this._getKeysByItems([normalizedSelection]));\r\n this._setOptionSilent(\"selectedItems\", [normalizedSelection]);\r\n return this._syncSelectionOptions(\"selectedItems\")\r\n } else {\r\n this._selection.setSelection(this._getKeysByItems(newSelection))\r\n }\r\n } else {\r\n var newKeys = this._getKeysByItems(this.option(\"selectedItems\"));\r\n var oldKeys = this._selection.getSelectedItemKeys();\r\n if (!this._compareKeys(oldKeys, newKeys)) {\r\n this._selection.setSelection(newKeys)\r\n }\r\n }\r\n }\r\n return (new _deferred.Deferred).resolve().promise()\r\n },\r\n _itemClickHandler: function(e) {\r\n this._createAction(function(e) {\r\n this._itemSelectHandler(e.event)\r\n }.bind(this), {\r\n validatingTargetName: \"itemElement\"\r\n })({\r\n itemElement: (0, _renderer2.default)(e.currentTarget),\r\n event: e\r\n });\r\n this.callBase.apply(this, arguments)\r\n },\r\n _itemSelectHandler: function(e) {\r\n if (!this.option(\"selectionByClick\")) {\r\n return\r\n }\r\n var $itemElement = e.currentTarget;\r\n if (this.isItemSelected($itemElement)) {\r\n this.unselectItem(e.currentTarget)\r\n } else {\r\n this.selectItem(e.currentTarget)\r\n }\r\n },\r\n _selectedItemElement: function(index) {\r\n return this._itemElements().eq(index)\r\n },\r\n _postprocessRenderItem: function(args) {\r\n if (\"none\" !== this.option(\"selectionMode\")) {\r\n var $itemElement = (0, _renderer2.default)(args.itemElement),\r\n normalizedItemIndex = this._editStrategy.getNormalizedIndex($itemElement),\r\n isItemSelected = this._isItemSelected(normalizedItemIndex);\r\n this._processSelectableItem($itemElement, isItemSelected)\r\n }\r\n },\r\n _processSelectableItem: function($itemElement, isSelected) {\r\n $itemElement.toggleClass(this._selectedItemClass(), isSelected);\r\n this._setAriaSelected($itemElement, String(isSelected))\r\n },\r\n _updateSelectedItems: function(args) {\r\n var that = this,\r\n addedItemKeys = args.addedItemKeys,\r\n removedItemKeys = args.removedItemKeys;\r\n if (that._rendered && (addedItemKeys.length || removedItemKeys.length)) {\r\n var selectionChangePromise = that._selectionChangePromise;\r\n if (!that._rendering) {\r\n var normalizedIndex, i, addedSelection = [],\r\n removedSelection = [];\r\n that._editStrategy.beginCache();\r\n for (i = 0; i < addedItemKeys.length; i++) {\r\n normalizedIndex = that._getIndexByKey(addedItemKeys[i]);\r\n addedSelection.push(normalizedIndex);\r\n that._addSelection(normalizedIndex)\r\n }\r\n for (i = 0; i < removedItemKeys.length; i++) {\r\n normalizedIndex = that._getIndexByKey(removedItemKeys[i]);\r\n removedSelection.push(normalizedIndex);\r\n that._removeSelection(normalizedIndex)\r\n }\r\n that._editStrategy.endCache();\r\n that._updateSelection(addedSelection, removedSelection)\r\n }(0, _deferred.when)(selectionChangePromise).done(function() {\r\n that._fireSelectionChangeEvent(args.addedItems, args.removedItems)\r\n })\r\n }\r\n },\r\n _fireSelectionChangeEvent: function(addedItems, removedItems) {\r\n this._createActionByOption(\"onSelectionChanged\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })({\r\n addedItems: addedItems,\r\n removedItems: removedItems\r\n })\r\n },\r\n _updateSelection: _common.noop,\r\n _setAriaSelected: function($target, value) {\r\n this.setAria(\"selected\", value, $target)\r\n },\r\n _removeSelection: function(normalizedIndex) {\r\n var $itemElement = this._editStrategy.getItemElement(normalizedIndex);\r\n if (indexExists(normalizedIndex)) {\r\n this._processSelectableItem($itemElement, false);\r\n _events_engine2.default.triggerHandler($itemElement, \"stateChanged\", false)\r\n }\r\n },\r\n _showDeprecatedSelectionMode: function() {\r\n _ui2.default.log(\"W0001\", this.NAME, \"selectionMode: 'multi'\", \"16.1\", \"Use selectionMode: 'multiple' instead\");\r\n this.option(\"selectionMode\", \"multiple\")\r\n },\r\n _addSelection: function(normalizedIndex) {\r\n var $itemElement = this._editStrategy.getItemElement(normalizedIndex);\r\n if (indexExists(normalizedIndex)) {\r\n this._processSelectableItem($itemElement, true);\r\n _events_engine2.default.triggerHandler($itemElement, \"stateChanged\", true)\r\n }\r\n },\r\n _isItemSelected: function(index) {\r\n var key = this._getKeyByIndex(index);\r\n return this._selection.isItemSelected(key)\r\n },\r\n _optionChanged: function(args) {\r\n var _this2 = this;\r\n switch (args.name) {\r\n case \"selectionMode\":\r\n if (\"multi\" === args.value) {\r\n this._showDeprecatedSelectionMode()\r\n } else {\r\n this._invalidate()\r\n }\r\n break;\r\n case \"dataSource\":\r\n if (!args.value || Array.isArray(args.value) && !args.value.length) {\r\n this.option(\"selectedItemKeys\", [])\r\n }\r\n this.callBase(args);\r\n break;\r\n case \"selectedIndex\":\r\n case \"selectedItem\":\r\n case \"selectedItems\":\r\n case \"selectedItemKeys\":\r\n this._syncSelectionOptions(args.name).done(function() {\r\n return _this2._normalizeSelectedItems()\r\n });\r\n break;\r\n case \"keyExpr\":\r\n this._initKeyGetter();\r\n break;\r\n case \"selectionRequired\":\r\n this._normalizeSelectedItems();\r\n break;\r\n case \"selectionByClick\":\r\n case \"onSelectionChanged\":\r\n case \"onItemDeleting\":\r\n case \"onItemDeleted\":\r\n case \"onItemReordered\":\r\n case \"maxFilterLengthInRequest\":\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _clearSelectedItems: function() {\r\n this._setOptionSilent(\"selectedItems\", []);\r\n this._syncSelectionOptions(\"selectedItems\")\r\n },\r\n _waitDeletingPrepare: function($itemElement) {\r\n if ($itemElement.data(ITEM_DELETING_DATA_KEY)) {\r\n return (new _deferred.Deferred).resolve().promise()\r\n }\r\n $itemElement.data(ITEM_DELETING_DATA_KEY, true);\r\n var deferred = new _deferred.Deferred,\r\n deletingActionArgs = {\r\n cancel: false\r\n },\r\n deletePromise = this._itemEventHandler($itemElement, \"onItemDeleting\", deletingActionArgs, {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n });\r\n (0, _deferred.when)(deletePromise).always(function(value) {\r\n var deletePromiseExists = !deletePromise,\r\n deletePromiseResolved = !deletePromiseExists && \"resolved\" === deletePromise.state(),\r\n argumentsSpecified = !!arguments.length,\r\n shouldDelete = deletePromiseExists || deletePromiseResolved && !argumentsSpecified || deletePromiseResolved && value;\r\n (0, _deferred.when)((0, _deferred.fromPromise)(deletingActionArgs.cancel)).always(function() {\r\n $itemElement.data(ITEM_DELETING_DATA_KEY, false)\r\n }).done(function(cancel) {\r\n shouldDelete && !cancel ? deferred.resolve() : deferred.reject()\r\n }).fail(deferred.reject)\r\n }.bind(this));\r\n return deferred.promise()\r\n },\r\n _deleteItemFromDS: function($item) {\r\n if (!this._dataSource) {\r\n return (new _deferred.Deferred).resolve().promise()\r\n }\r\n var deferred = new _deferred.Deferred,\r\n disabledState = this.option(\"disabled\"),\r\n dataStore = this._dataSource.store();\r\n this.option(\"disabled\", true);\r\n if (!dataStore.remove) {\r\n throw _ui2.default.Error(\"E1011\")\r\n }\r\n dataStore.remove(dataStore.keyOf(this._getItemData($item))).done(function(key) {\r\n if (void 0 !== key) {\r\n deferred.resolve()\r\n } else {\r\n deferred.reject()\r\n }\r\n }).fail(function() {\r\n deferred.reject()\r\n });\r\n deferred.always(function() {\r\n this.option(\"disabled\", disabledState)\r\n }.bind(this));\r\n return deferred\r\n },\r\n _tryRefreshLastPage: function() {\r\n var deferred = new _deferred.Deferred;\r\n if (this._isLastPage() || this.option(\"grouped\")) {\r\n deferred.resolve()\r\n } else {\r\n this._refreshLastPage().done(function() {\r\n deferred.resolve()\r\n })\r\n }\r\n return deferred.promise()\r\n },\r\n _refreshLastPage: function() {\r\n this._expectLastItemLoading();\r\n return this._dataSource.load()\r\n },\r\n _updateSelectionAfterDelete: function(index) {\r\n var key = this._getKeyByIndex(index);\r\n this._selection.deselect([key])\r\n },\r\n _updateIndicesAfterIndex: function(index) {\r\n var itemElements = this._itemElements();\r\n for (var i = index + 1; i < itemElements.length; i++) {\r\n (0, _renderer2.default)(itemElements[i]).data(this._itemIndexKey(), i - 1)\r\n }\r\n },\r\n _simulateOptionChange: function(optionName) {\r\n var optionValue = this.option(optionName);\r\n if (optionValue instanceof _data_source.DataSource) {\r\n return\r\n }\r\n this._optionChangedAction({\r\n name: optionName,\r\n fullName: optionName,\r\n value: optionValue\r\n })\r\n },\r\n isItemSelected: function(itemElement) {\r\n return this._isItemSelected(this._editStrategy.getNormalizedIndex(itemElement))\r\n },\r\n selectItem: function(itemElement) {\r\n if (\"none\" === this.option(\"selectionMode\")) {\r\n return\r\n }\r\n var itemIndex = this._editStrategy.getNormalizedIndex(itemElement);\r\n if (!indexExists(itemIndex)) {\r\n return\r\n }\r\n var key = this._getKeyByIndex(itemIndex);\r\n if (this._selection.isItemSelected(key)) {\r\n return\r\n }\r\n if (\"single\" === this.option(\"selectionMode\")) {\r\n this._selection.setSelection([key])\r\n } else {\r\n var selectedItemKeys = this.option(\"selectedItemKeys\");\r\n selectedItemKeys.push(key);\r\n this._selection.setSelection(selectedItemKeys)\r\n }\r\n },\r\n unselectItem: function(itemElement) {\r\n var itemIndex = this._editStrategy.getNormalizedIndex(itemElement);\r\n if (!indexExists(itemIndex)) {\r\n return\r\n }\r\n var selectedItemKeys = this._selection.getSelectedItemKeys();\r\n if (this.option(\"selectionRequired\") && selectedItemKeys.length <= 1) {\r\n return\r\n }\r\n var key = this._getKeyByIndex(itemIndex);\r\n if (!this._selection.isItemSelected(key)) {\r\n return\r\n }\r\n this._selection.deselect([key])\r\n },\r\n _deleteItemElementByIndex: function(index) {\r\n this._updateSelectionAfterDelete(index);\r\n this._updateIndicesAfterIndex(index);\r\n this._editStrategy.deleteItemAtIndex(index)\r\n },\r\n _afterItemElementDeleted: function($item, deletedActionArgs) {\r\n var changingOption = this._dataSource ? \"dataSource\" : \"items\";\r\n this._simulateOptionChange(changingOption);\r\n this._itemEventHandler($item, \"onItemDeleted\", deletedActionArgs, {\r\n beforeExecute: function() {\r\n $item.remove()\r\n },\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n });\r\n this._renderEmptyMessage()\r\n },\r\n deleteItem: function(itemElement) {\r\n var that = this,\r\n deferred = new _deferred.Deferred,\r\n $item = this._editStrategy.getItemElement(itemElement),\r\n index = this._editStrategy.getNormalizedIndex(itemElement),\r\n itemResponseWaitClass = this._itemResponseWaitClass();\r\n if (indexExists(index)) {\r\n this._waitDeletingPrepare($item).done(function() {\r\n $item.addClass(itemResponseWaitClass);\r\n var deletedActionArgs = that._extendActionArgs($item);\r\n that._deleteItemFromDS($item).done(function() {\r\n that._deleteItemElementByIndex(index);\r\n that._afterItemElementDeleted($item, deletedActionArgs);\r\n that._tryRefreshLastPage().done(function() {\r\n deferred.resolveWith(that)\r\n })\r\n }).fail(function() {\r\n $item.removeClass(itemResponseWaitClass);\r\n deferred.rejectWith(that)\r\n })\r\n }).fail(function() {\r\n deferred.rejectWith(that)\r\n })\r\n } else {\r\n deferred.rejectWith(that)\r\n }\r\n return deferred.promise()\r\n },\r\n reorderItem: function(itemElement, toItemElement) {\r\n var deferred = new _deferred.Deferred,\r\n that = this,\r\n strategy = this._editStrategy,\r\n $movingItem = strategy.getItemElement(itemElement),\r\n $destinationItem = strategy.getItemElement(toItemElement),\r\n movingIndex = strategy.getNormalizedIndex(itemElement),\r\n destinationIndex = strategy.getNormalizedIndex(toItemElement),\r\n changingOption = this._dataSource ? \"dataSource\" : \"items\";\r\n var canMoveItems = indexExists(movingIndex) && indexExists(destinationIndex) && movingIndex !== destinationIndex;\r\n if (canMoveItems) {\r\n deferred.resolveWith(this)\r\n } else {\r\n deferred.rejectWith(this)\r\n }\r\n return deferred.promise().done(function() {\r\n $destinationItem[strategy.itemPlacementFunc(movingIndex, destinationIndex)]($movingItem);\r\n strategy.moveItemAtIndexToIndex(movingIndex, destinationIndex);\r\n this._updateIndicesAfterIndex(movingIndex);\r\n that.option(\"selectedItems\", that._getItemsByKeys(that._selection.getSelectedItemKeys(), that._selection.getSelectedItems()));\r\n if (\"items\" === changingOption) {\r\n that._simulateOptionChange(changingOption)\r\n }\r\n that._itemEventHandler($movingItem, \"onItemReordered\", {\r\n fromIndex: strategy.getIndex(movingIndex),\r\n toIndex: strategy.getIndex(destinationIndex)\r\n }, {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })\r\n })\r\n }\r\n});\r\nmodule.exports = CollectionWidget;\r\n","/**\r\n * DevExtreme (ui/widget/utils.ink_ripple.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar $ = require(\"../../core/renderer\");\r\nvar INKRIPPLE_CLASS = \"dx-inkripple\",\r\n INKRIPPLE_WAVE_CLASS = \"dx-inkripple-wave\",\r\n INKRIPPLE_SHOWING_CLASS = \"dx-inkripple-showing\",\r\n INKRIPPLE_HIDING_CLASS = \"dx-inkripple-hiding\";\r\nvar DEFAULT_WAVE_SIZE_COEFFICIENT = 2,\r\n MAX_WAVE_SIZE = 4e3,\r\n ANIMATION_DURATION = 300,\r\n HOLD_ANIMATION_DURATION = 1e3,\r\n DEFAULT_WAVE_INDEX = 0;\r\nvar render = function(args) {\r\n args = args || {};\r\n if (void 0 === args.useHoldAnimation) {\r\n args.useHoldAnimation = true\r\n }\r\n var config = {\r\n waveSizeCoefficient: args.waveSizeCoefficient || DEFAULT_WAVE_SIZE_COEFFICIENT,\r\n isCentered: args.isCentered || false,\r\n wavesNumber: args.wavesNumber || 1,\r\n durations: getDurations(args.useHoldAnimation)\r\n };\r\n return {\r\n showWave: showWave.bind(this, config),\r\n hideWave: hideWave.bind(this, config)\r\n }\r\n};\r\nvar getInkRipple = function(element) {\r\n var result = element.children(\".\" + INKRIPPLE_CLASS);\r\n if (0 === result.length) {\r\n result = $(\"
\").addClass(INKRIPPLE_CLASS).appendTo(element)\r\n }\r\n return result\r\n};\r\nvar getWaves = function(element, wavesNumber) {\r\n var inkRipple = getInkRipple(element),\r\n result = inkRipple.children(\".\" + INKRIPPLE_WAVE_CLASS).toArray();\r\n for (var i = result.length; i < wavesNumber; i++) {\r\n var $currentWave = $(\"
\").appendTo(inkRipple).addClass(INKRIPPLE_WAVE_CLASS);\r\n result.push($currentWave[0])\r\n }\r\n return $(result)\r\n};\r\nvar getWaveStyleConfig = function(args, config) {\r\n var left, top, element = config.element,\r\n elementWidth = element.outerWidth(),\r\n elementHeight = element.outerHeight(),\r\n elementDiagonal = parseInt(Math.sqrt(elementWidth * elementWidth + elementHeight * elementHeight)),\r\n waveSize = Math.min(MAX_WAVE_SIZE, parseInt(elementDiagonal * args.waveSizeCoefficient));\r\n if (args.isCentered) {\r\n left = (elementWidth - waveSize) / 2;\r\n top = (elementHeight - waveSize) / 2\r\n } else {\r\n var event = config.event,\r\n position = config.element.offset(),\r\n x = event.pageX - position.left,\r\n y = event.pageY - position.top;\r\n left = x - waveSize / 2;\r\n top = y - waveSize / 2\r\n }\r\n return {\r\n left: left,\r\n top: top,\r\n height: waveSize,\r\n width: waveSize\r\n }\r\n};\r\nvar showWave = function(args, config) {\r\n var $wave = getWaves(config.element, args.wavesNumber).eq(config.wave || DEFAULT_WAVE_INDEX);\r\n args.hidingTimeout && clearTimeout(args.hidingTimeout);\r\n hideSelectedWave($wave);\r\n $wave.css(getWaveStyleConfig(args, config));\r\n args.showingTimeout = setTimeout(showingWaveHandler.bind(this, args, $wave), 0)\r\n};\r\nvar showingWaveHandler = function(args, $wave) {\r\n var durationCss = args.durations.showingScale + \"ms\";\r\n $wave.addClass(INKRIPPLE_SHOWING_CLASS).css(\"transitionDuration\", durationCss)\r\n};\r\nvar getDurations = function(useHoldAnimation) {\r\n return {\r\n showingScale: useHoldAnimation ? HOLD_ANIMATION_DURATION : ANIMATION_DURATION,\r\n hidingScale: ANIMATION_DURATION,\r\n hidingOpacity: ANIMATION_DURATION\r\n }\r\n};\r\nvar hideSelectedWave = function($wave) {\r\n $wave.removeClass(INKRIPPLE_HIDING_CLASS).css(\"transitionDuration\", \"\")\r\n};\r\nvar hideWave = function(args, config) {\r\n args.showingTimeout && clearTimeout(args.showingTimeout);\r\n var $wave = getWaves(config.element, config.wavesNumber).eq(config.wave || DEFAULT_WAVE_INDEX),\r\n durations = args.durations,\r\n durationCss = durations.hidingScale + \"ms, \" + durations.hidingOpacity + \"ms\";\r\n $wave.addClass(INKRIPPLE_HIDING_CLASS).removeClass(INKRIPPLE_SHOWING_CLASS).css(\"transitionDuration\", durationCss);\r\n var animationDuration = Math.max(durations.hidingScale, durations.hidingOpacity);\r\n args.hidingTimeout = setTimeout(hideSelectedWave.bind(this, $wave), animationDuration)\r\n};\r\nmodule.exports = {\r\n render: render\r\n};\r\n","/**\r\n * DevExtreme (ui/overlay.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nmodule.exports = require(\"./overlay/ui.overlay\");\r\nmodule.exports.default = module.exports;\r\n","/**\r\n * DevExtreme (localization/number.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _slicedToArray = function() {\r\n function sliceIterator(arr, i) {\r\n var _arr = [];\r\n var _n = true;\r\n var _d = false;\r\n var _e = void 0;\r\n try {\r\n for (var _s, _i = arr[Symbol.iterator](); !(_n = (_s = _i.next()).done); _n = true) {\r\n _arr.push(_s.value);\r\n if (i && _arr.length === i) {\r\n break\r\n }\r\n }\r\n } catch (err) {\r\n _d = true;\r\n _e = err\r\n } finally {\r\n try {\r\n if (!_n && _i.return) {\r\n _i.return()\r\n }\r\n } finally {\r\n if (_d) {\r\n throw _e\r\n }\r\n }\r\n }\r\n return _arr\r\n }\r\n return function(arr, i) {\r\n if (Array.isArray(arr)) {\r\n return arr\r\n } else {\r\n if (Symbol.iterator in Object(arr)) {\r\n return sliceIterator(arr, i)\r\n } else {\r\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\")\r\n }\r\n }\r\n }\r\n}();\r\nvar dependencyInjector = require(\"../core/utils/dependency_injector\"),\r\n inArray = require(\"../core/utils/array\").inArray,\r\n escapeRegExp = require(\"../core/utils/common\").escapeRegExp,\r\n each = require(\"../core/utils/iterator\").each,\r\n isPlainObject = require(\"../core/utils/type\").isPlainObject,\r\n ldmlNumber = require(\"./ldml/number\"),\r\n config = require(\"../core/config\"),\r\n errors = require(\"../core/errors\"),\r\n toFixed = require(\"./utils\").toFixed;\r\nvar MAX_LARGE_NUMBER_POWER = 4,\r\n DECIMAL_BASE = 10;\r\nvar NUMERIC_FORMATS = [\"currency\", \"fixedpoint\", \"exponential\", \"percent\", \"decimal\"];\r\nvar LargeNumberFormatPostfixes = {\r\n 1: \"K\",\r\n 2: \"M\",\r\n 3: \"B\",\r\n 4: \"T\"\r\n};\r\nvar LargeNumberFormatPowers = {\r\n largenumber: \"auto\",\r\n thousands: 1,\r\n millions: 2,\r\n billions: 3,\r\n trillions: 4\r\n};\r\nvar numberLocalization = dependencyInjector({\r\n numericFormats: NUMERIC_FORMATS,\r\n defaultLargeNumberFormatPostfixes: LargeNumberFormatPostfixes,\r\n _parseNumberFormatString: function(formatType) {\r\n var formatList, formatObject = {};\r\n if (!formatType || \"string\" !== typeof formatType) {\r\n return\r\n }\r\n formatList = formatType.toLowerCase().split(\" \");\r\n each(formatList, function(index, value) {\r\n if (inArray(value, NUMERIC_FORMATS) > -1) {\r\n formatObject.formatType = value\r\n } else {\r\n if (value in LargeNumberFormatPowers) {\r\n formatObject.power = LargeNumberFormatPowers[value]\r\n }\r\n }\r\n });\r\n if (formatObject.power && !formatObject.formatType) {\r\n formatObject.formatType = \"fixedpoint\"\r\n }\r\n if (formatObject.formatType) {\r\n return formatObject\r\n }\r\n },\r\n _calculateNumberPower: function(value, base, minPower, maxPower) {\r\n var number = Math.abs(value),\r\n power = 0;\r\n if (number > 1) {\r\n while (number && number >= base && (void 0 === maxPower || power < maxPower)) {\r\n power++;\r\n number /= base\r\n }\r\n } else {\r\n if (number > 0 && number < 1) {\r\n while (number < 1 && (void 0 === minPower || power > minPower)) {\r\n power--;\r\n number *= base\r\n }\r\n }\r\n }\r\n return power\r\n },\r\n _getNumberByPower: function(number, power, base) {\r\n var result = number;\r\n while (power > 0) {\r\n result /= base;\r\n power--\r\n }\r\n while (power < 0) {\r\n result *= base;\r\n power++\r\n }\r\n return result\r\n },\r\n _formatNumber: function(value, formatObject, formatConfig) {\r\n var powerPostfix;\r\n var result;\r\n if (\"auto\" === formatObject.power) {\r\n formatObject.power = this._calculateNumberPower(value, 1e3, 0, MAX_LARGE_NUMBER_POWER)\r\n }\r\n if (formatObject.power) {\r\n value = this._getNumberByPower(value, formatObject.power, 1e3)\r\n }\r\n powerPostfix = this.defaultLargeNumberFormatPostfixes[formatObject.power] || \"\";\r\n result = this._formatNumberCore(value, formatObject.formatType, formatConfig);\r\n result = result.replace(/(\\d|.$)(\\D*)$/, \"$1\" + powerPostfix + \"$2\");\r\n return result\r\n },\r\n _formatNumberExponential: function(value, formatConfig) {\r\n var powString, power = this._calculateNumberPower(value, DECIMAL_BASE),\r\n number = this._getNumberByPower(value, power, DECIMAL_BASE);\r\n if (void 0 === formatConfig.precision) {\r\n formatConfig.precision = 1\r\n }\r\n if (number.toFixed(formatConfig.precision || 0) >= DECIMAL_BASE) {\r\n power++;\r\n number /= DECIMAL_BASE\r\n }\r\n powString = (power >= 0 ? \"+\" : \"\") + power.toString();\r\n return this._formatNumberCore(number, \"fixedpoint\", formatConfig) + \"E\" + powString\r\n },\r\n _addZeroes: function(value, precision) {\r\n var multiplier = Math.pow(10, precision);\r\n var sign = value < 0 ? \"-\" : \"\";\r\n value = (Math.abs(value) * multiplier >>> 0) / multiplier;\r\n var result = value.toString();\r\n while (result.length < precision) {\r\n result = \"0\" + result\r\n }\r\n return sign + result\r\n },\r\n _addGroupSeparators: function(value) {\r\n var parts = value.toString().split(\".\");\r\n return parts[0].replace(/\\B(?=(\\d{3})+(?!\\d))/g, config().thousandsSeparator) + (parts[1] ? config().decimalSeparator + parts[1] : \"\")\r\n },\r\n _formatNumberCore: function(value, format, formatConfig) {\r\n if (\"exponential\" === format) {\r\n return this._formatNumberExponential(value, formatConfig)\r\n }\r\n if (\"decimal\" !== format && null !== formatConfig.precision) {\r\n formatConfig.precision = formatConfig.precision || 0\r\n }\r\n if (\"percent\" === format) {\r\n value = 100 * value\r\n }\r\n if (void 0 !== formatConfig.precision) {\r\n if (\"decimal\" === format) {\r\n value = this._addZeroes(value, formatConfig.precision)\r\n } else {\r\n value = null === formatConfig.precision ? value.toPrecision() : toFixed(value, formatConfig.precision)\r\n }\r\n }\r\n if (\"decimal\" !== format) {\r\n value = this._addGroupSeparators(value)\r\n } else {\r\n value = value.toString().replace(\".\", config().decimalSeparator)\r\n }\r\n if (\"percent\" === format) {\r\n value += \"%\"\r\n }\r\n return value\r\n },\r\n _normalizeFormat: function(format) {\r\n if (!format) {\r\n return {}\r\n }\r\n if (\"function\" === typeof format) {\r\n return format\r\n }\r\n if (!isPlainObject(format)) {\r\n format = {\r\n type: format\r\n }\r\n }\r\n return format\r\n },\r\n _getSeparators: function() {\r\n return {\r\n decimalSeparator: this.getDecimalSeparator(),\r\n thousandsSeparator: this.getThousandsSeparator()\r\n }\r\n },\r\n getThousandsSeparator: function() {\r\n return this.format(1e4, \"fixedPoint\")[2]\r\n },\r\n getDecimalSeparator: function() {\r\n return this.format(1.2, {\r\n type: \"fixedPoint\",\r\n precision: 1\r\n })[1]\r\n },\r\n convertDigits: function(value, toStandard) {\r\n var digits = this.format(90, \"decimal\");\r\n if (\"string\" !== typeof value || \"0\" === digits[1]) {\r\n return value\r\n }\r\n var fromFirstDigit = toStandard ? digits[1] : \"0\",\r\n toFirstDigit = toStandard ? \"0\" : digits[1],\r\n fromLastDigit = toStandard ? digits[0] : \"9\",\r\n regExp = new RegExp(\"[\" + fromFirstDigit + \"-\" + fromLastDigit + \"]\", \"g\");\r\n return value.replace(regExp, function(char) {\r\n return String.fromCharCode(char.charCodeAt(0) + (toFirstDigit.charCodeAt(0) - fromFirstDigit.charCodeAt(0)))\r\n })\r\n },\r\n getSign: function(text, format) {\r\n if (\"-\" === text.replace(/[^0-9-]/g, \"\").charAt(0)) {\r\n return -1\r\n }\r\n if (!format) {\r\n return 1\r\n }\r\n var separators = this._getSeparators(),\r\n regExp = new RegExp(\"[0-9\" + escapeRegExp(separators.decimalSeparator + separators.thousandsSeparator) + \"]+\", \"g\"),\r\n negativeEtalon = this.format(-1, format).replace(regExp, \"1\"),\r\n cleanedText = text.replace(regExp, \"1\");\r\n return cleanedText === negativeEtalon ? -1 : 1\r\n },\r\n format: function(value, _format) {\r\n if (\"number\" !== typeof value) {\r\n return value\r\n }\r\n if (\"number\" === typeof _format) {\r\n return value\r\n }\r\n _format = _format && _format.formatter || _format;\r\n if (\"function\" === typeof _format) {\r\n return _format(value)\r\n }\r\n _format = this._normalizeFormat(_format);\r\n if (!_format.type) {\r\n _format.type = \"decimal\"\r\n }\r\n var numberConfig = this._parseNumberFormatString(_format.type);\r\n if (!numberConfig) {\r\n return this.convertDigits(ldmlNumber.getFormatter(_format.type, this._getSeparators())(value))\r\n }\r\n return this._formatNumber(value, numberConfig, _format)\r\n },\r\n parse: function(text, format) {\r\n if (!text) {\r\n return\r\n }\r\n if (format && format.parser) {\r\n return format.parser(text)\r\n }\r\n text = this.convertDigits(text, true);\r\n if (format && \"string\" !== typeof format) {\r\n errors.log(\"W0011\")\r\n }\r\n var decimalSeparator = this.getDecimalSeparator(),\r\n regExp = new RegExp(\"[^0-9\" + escapeRegExp(decimalSeparator) + \"]\", \"g\"),\r\n cleanedText = text.replace(regExp, \"\").replace(decimalSeparator, \".\").replace(/\\.$/g, \"\");\r\n if (\".\" === cleanedText || \"\" === cleanedText) {\r\n return null\r\n }\r\n if (this._calcSignificantDigits(cleanedText) > 15) {\r\n return NaN\r\n }\r\n var parsed = +cleanedText;\r\n return parsed * this.getSign(text, format)\r\n },\r\n _calcSignificantDigits: function(text) {\r\n var _text$split = text.split(\".\"),\r\n _text$split2 = _slicedToArray(_text$split, 2),\r\n integer = _text$split2[0],\r\n fractional = _text$split2[1];\r\n var calcDigitsAfterLeadingZeros = function(digits) {\r\n var index = -1;\r\n for (var i = 0; i < digits.length; i++) {\r\n if (\"0\" !== digits[i]) {\r\n index = i;\r\n break\r\n }\r\n }\r\n return index > -1 ? digits.length - index : 0\r\n };\r\n var result = 0;\r\n if (integer) {\r\n result += calcDigitsAfterLeadingZeros(integer.split(\"\"))\r\n }\r\n if (fractional) {\r\n result += calcDigitsAfterLeadingZeros(fractional.split(\"\").reverse())\r\n }\r\n return result\r\n }\r\n});\r\nmodule.exports = numberLocalization;\r\n","/**\r\n * DevExtreme (core/utils/icon.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _renderer = require(\"../../core/renderer\");\r\nvar _renderer2 = _interopRequireDefault(_renderer);\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar ICON_CLASS = \"dx-icon\";\r\nvar SVG_ICON_CLASS = \"dx-svg-icon\";\r\nvar getImageSourceType = function(source) {\r\n if (!source || \"string\" !== typeof source) {\r\n return false\r\n }\r\n if (/^\\s*]*>(.|\\r\\n|\\r|\\n)*?<\\/svg>\\s*$/i.test(source)) {\r\n return \"svg\"\r\n }\r\n if (/data:.*base64|\\.|[^<\\s]\\//.test(source)) {\r\n return \"image\"\r\n }\r\n if (/^[\\w-_]+$/.test(source)) {\r\n return \"dxIcon\"\r\n }\r\n if (/^\\s?([\\w-_]\\s?)+$/.test(source)) {\r\n return \"fontIcon\"\r\n }\r\n return false\r\n};\r\nvar getImageContainer = function(source) {\r\n switch (getImageSourceType(source)) {\r\n case \"image\":\r\n return (0, _renderer2.default)(\"\").attr(\"src\", source).addClass(ICON_CLASS);\r\n case \"fontIcon\":\r\n return (0, _renderer2.default)(\"\").addClass(ICON_CLASS + \" \" + source);\r\n case \"dxIcon\":\r\n return (0, _renderer2.default)(\"\").addClass(ICON_CLASS + \" \" + ICON_CLASS + \"-\" + source);\r\n case \"svg\":\r\n return (0, _renderer2.default)(\"\").addClass(ICON_CLASS + \" \" + SVG_ICON_CLASS).append(source);\r\n default:\r\n return null\r\n }\r\n};\r\nexports.getImageSourceType = getImageSourceType;\r\nexports.getImageContainer = getImageContainer;\r\n","/**\r\n * DevExtreme (data/array_store.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _utils = require(\"./utils\");\r\nvar _query = require(\"./query\");\r\nvar _query2 = _interopRequireDefault(_query);\r\nvar _errors = require(\"./errors\");\r\nvar _abstract_store = require(\"./abstract_store\");\r\nvar _abstract_store2 = _interopRequireDefault(_abstract_store);\r\nvar _array_utils = require(\"./array_utils\");\r\nvar _array_utils2 = _interopRequireDefault(_array_utils);\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar ArrayStore = _abstract_store2.default.inherit({\r\n ctor: function(options) {\r\n if (Array.isArray(options)) {\r\n options = {\r\n data: options\r\n }\r\n } else {\r\n options = options || {}\r\n }\r\n this.callBase(options);\r\n var initialArray = options.data;\r\n if (initialArray && !Array.isArray(initialArray)) {\r\n throw _errors.errors.Error(\"E4006\")\r\n }\r\n this._array = initialArray || []\r\n },\r\n createQuery: function() {\r\n return (0, _query2.default)(this._array, {\r\n errorHandler: this._errorHandler\r\n })\r\n },\r\n _byKeyImpl: function(key) {\r\n var index = _array_utils2.default.indexByKey(this, this._array, key);\r\n if (index === -1) {\r\n return (0, _utils.rejectedPromise)(_errors.errors.Error(\"E4009\"))\r\n }\r\n return (0, _utils.trivialPromise)(this._array[index])\r\n },\r\n _insertImpl: function(values) {\r\n return _array_utils2.default.insert(this, this._array, values)\r\n },\r\n _pushImpl: function(changes) {\r\n _array_utils2.default.applyBatch(this, this._array, changes)\r\n },\r\n _updateImpl: function(key, values) {\r\n return _array_utils2.default.update(this, this._array, key, values)\r\n },\r\n _removeImpl: function(key) {\r\n return _array_utils2.default.remove(this, this._array, key)\r\n },\r\n clear: function() {\r\n this.fireEvent(\"modifying\");\r\n this._array = [];\r\n this.fireEvent(\"modified\")\r\n }\r\n}, \"array\");\r\nmodule.exports = ArrayStore;\r\nmodule.exports.default = module.exports;\r\n","/**\r\n * DevExtreme (data_helper.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar DataSource = require(\"./data/data_source/data_source\").DataSource,\r\n extend = require(\"./core/utils/extend\").extend,\r\n normalizeDataSourceOptions = require(\"./data/data_source/data_source\").normalizeDataSourceOptions;\r\nvar DATA_SOURCE_OPTIONS_METHOD = \"_dataSourceOptions\",\r\n DATA_SOURCE_CHANGED_METHOD = \"_dataSourceChangedHandler\",\r\n DATA_SOURCE_LOAD_ERROR_METHOD = \"_dataSourceLoadErrorHandler\",\r\n DATA_SOURCE_LOADING_CHANGED_METHOD = \"_dataSourceLoadingChangedHandler\",\r\n DATA_SOURCE_FROM_URL_LOAD_MODE_METHOD = \"_dataSourceFromUrlLoadMode\",\r\n SPECIFIC_DATA_SOURCE_OPTION = \"_getSpecificDataSourceOption\";\r\nvar DataHelperMixin = {\r\n postCtor: function() {\r\n this.on(\"disposing\", function() {\r\n this._disposeDataSource()\r\n }.bind(this))\r\n },\r\n _refreshDataSource: function() {\r\n this._initDataSource();\r\n this._loadDataSource()\r\n },\r\n _initDataSource: function() {\r\n var widgetDataSourceOptions, dataSourceType, dataSourceOptions = SPECIFIC_DATA_SOURCE_OPTION in this ? this[SPECIFIC_DATA_SOURCE_OPTION]() : this.option(\"dataSource\");\r\n this._disposeDataSource();\r\n if (dataSourceOptions) {\r\n if (dataSourceOptions instanceof DataSource) {\r\n this._isSharedDataSource = true;\r\n this._dataSource = dataSourceOptions\r\n } else {\r\n widgetDataSourceOptions = DATA_SOURCE_OPTIONS_METHOD in this ? this[DATA_SOURCE_OPTIONS_METHOD]() : {};\r\n dataSourceType = this._dataSourceType ? this._dataSourceType() : DataSource;\r\n dataSourceOptions = normalizeDataSourceOptions(dataSourceOptions, {\r\n fromUrlLoadMode: DATA_SOURCE_FROM_URL_LOAD_MODE_METHOD in this && this[DATA_SOURCE_FROM_URL_LOAD_MODE_METHOD]()\r\n });\r\n this._dataSource = new dataSourceType(extend(true, {}, widgetDataSourceOptions, dataSourceOptions))\r\n }\r\n this._addDataSourceHandlers()\r\n }\r\n },\r\n _addDataSourceHandlers: function() {\r\n if (DATA_SOURCE_CHANGED_METHOD in this) {\r\n this._addDataSourceChangeHandler()\r\n }\r\n if (DATA_SOURCE_LOAD_ERROR_METHOD in this) {\r\n this._addDataSourceLoadErrorHandler()\r\n }\r\n if (DATA_SOURCE_LOADING_CHANGED_METHOD in this) {\r\n this._addDataSourceLoadingChangedHandler()\r\n }\r\n this._addReadyWatcher()\r\n },\r\n _addReadyWatcher: function() {\r\n this._dataSource.on(\"loadingChanged\", function(isLoading) {\r\n this._ready && this._ready(!isLoading)\r\n }.bind(this))\r\n },\r\n _addDataSourceChangeHandler: function() {\r\n var dataSource = this._dataSource;\r\n this._proxiedDataSourceChangedHandler = function(e) {\r\n this[DATA_SOURCE_CHANGED_METHOD](dataSource.items(), e)\r\n }.bind(this);\r\n dataSource.on(\"changed\", this._proxiedDataSourceChangedHandler)\r\n },\r\n _addDataSourceLoadErrorHandler: function() {\r\n this._proxiedDataSourceLoadErrorHandler = this[DATA_SOURCE_LOAD_ERROR_METHOD].bind(this);\r\n this._dataSource.on(\"loadError\", this._proxiedDataSourceLoadErrorHandler)\r\n },\r\n _addDataSourceLoadingChangedHandler: function() {\r\n this._proxiedDataSourceLoadingChangedHandler = this[DATA_SOURCE_LOADING_CHANGED_METHOD].bind(this);\r\n this._dataSource.on(\"loadingChanged\", this._proxiedDataSourceLoadingChangedHandler)\r\n },\r\n _loadDataSource: function() {\r\n if (this._dataSource) {\r\n var dataSource = this._dataSource;\r\n if (dataSource.isLoaded()) {\r\n this._proxiedDataSourceChangedHandler && this._proxiedDataSourceChangedHandler()\r\n } else {\r\n dataSource.load()\r\n }\r\n }\r\n },\r\n _loadSingle: function(key, value) {\r\n key = \"this\" === key ? this._dataSource.key() || \"this\" : key;\r\n return this._dataSource.loadSingle(key, value)\r\n },\r\n _isLastPage: function() {\r\n return !this._dataSource || this._dataSource.isLastPage() || !this._dataSource._pageSize\r\n },\r\n _isDataSourceLoading: function() {\r\n return this._dataSource && this._dataSource.isLoading()\r\n },\r\n _disposeDataSource: function() {\r\n if (this._dataSource) {\r\n if (this._isSharedDataSource) {\r\n delete this._isSharedDataSource;\r\n this._proxiedDataSourceChangedHandler && this._dataSource.off(\"changed\", this._proxiedDataSourceChangedHandler);\r\n this._proxiedDataSourceLoadErrorHandler && this._dataSource.off(\"loadError\", this._proxiedDataSourceLoadErrorHandler);\r\n this._proxiedDataSourceLoadingChangedHandler && this._dataSource.off(\"loadingChanged\", this._proxiedDataSourceLoadingChangedHandler)\r\n } else {\r\n this._dataSource.dispose()\r\n }\r\n delete this._dataSource;\r\n delete this._proxiedDataSourceChangedHandler;\r\n delete this._proxiedDataSourceLoadErrorHandler;\r\n delete this._proxiedDataSourceLoadingChangedHandler\r\n }\r\n },\r\n getDataSource: function() {\r\n return this._dataSource || null\r\n }\r\n};\r\nmodule.exports = DataHelperMixin;\r\n","/**\r\n * DevExtreme (ui/popover.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _typeof = \"function\" === typeof Symbol && \"symbol\" === typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n} : function(obj) {\r\n return obj && \"function\" === typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n};\r\nvar $ = require(\"../core/renderer\"),\r\n windowUtils = require(\"../core/utils/window\"),\r\n window = windowUtils.getWindow(),\r\n domAdapter = require(\"../core/dom_adapter\"),\r\n eventsEngine = require(\"../events/core/events_engine\"),\r\n registerComponent = require(\"../core/component_registrator\"),\r\n commonUtils = require(\"../core/utils/common\"),\r\n extend = require(\"../core/utils/extend\").extend,\r\n translator = require(\"../animation/translator\"),\r\n positionUtils = require(\"../animation/position\"),\r\n typeUtils = require(\"../core/utils/type\"),\r\n mathUtils = require(\"../core/utils/math\"),\r\n eventUtils = require(\"../events/utils\"),\r\n Popup = require(\"./popup\");\r\nvar POPOVER_CLASS = \"dx-popover\",\r\n POPOVER_WRAPPER_CLASS = \"dx-popover-wrapper\",\r\n POPOVER_ARROW_CLASS = \"dx-popover-arrow\",\r\n POPOVER_WITHOUT_TITLE_CLASS = \"dx-popover-without-title\",\r\n POSITION_FLIP_MAP = {\r\n left: \"right\",\r\n top: \"bottom\",\r\n right: \"left\",\r\n bottom: \"top\",\r\n center: \"center\"\r\n },\r\n WEIGHT_OF_SIDES = {\r\n left: -1,\r\n top: -1,\r\n center: 0,\r\n right: 1,\r\n bottom: 1\r\n },\r\n POSITION_ALIASES = {\r\n top: {\r\n my: \"bottom center\",\r\n at: \"top center\",\r\n collision: \"fit flip\"\r\n },\r\n bottom: {\r\n my: \"top center\",\r\n at: \"bottom center\",\r\n collision: \"fit flip\"\r\n },\r\n right: {\r\n my: \"left center\",\r\n at: \"right center\",\r\n collision: \"flip fit\"\r\n },\r\n left: {\r\n my: \"right center\",\r\n at: \"left center\",\r\n collision: \"flip fit\"\r\n }\r\n },\r\n SIDE_BORDER_WIDTH_STYLES = {\r\n left: \"borderLeftWidth\",\r\n top: \"borderTopWidth\",\r\n right: \"borderRightWidth\",\r\n bottom: \"borderBottomWidth\"\r\n },\r\n getEventName = function(that, optionName) {\r\n var optionValue = that.option(optionName);\r\n return getEventNameByOption(optionValue)\r\n },\r\n getEventNameByOption = function(optionValue) {\r\n return typeUtils.isObject(optionValue) ? optionValue.name : optionValue\r\n },\r\n getEventDelay = function(that, optionName) {\r\n var optionValue = that.option(optionName);\r\n return typeUtils.isObject(optionValue) && optionValue.delay\r\n },\r\n attachEvent = function(that, name) {\r\n var delay, action, handler, eventName, target = that.option(\"target\"),\r\n event = getEventName(that, name + \"Event\");\r\n if (!event || that.option(\"disabled\")) {\r\n return\r\n }\r\n eventName = eventUtils.addNamespace(event, that.NAME);\r\n action = that._createAction(function() {\r\n delay = getEventDelay(that, name + \"Event\");\r\n this._clearEventTimeout(\"hide\" === name);\r\n if (delay) {\r\n this._timeouts[name] = setTimeout(function() {\r\n that[name]()\r\n }, delay)\r\n } else {\r\n that[name]()\r\n }\r\n }.bind(that), {\r\n validatingTargetName: \"target\"\r\n });\r\n handler = function(e) {\r\n action({\r\n event: e,\r\n target: $(e.currentTarget)\r\n })\r\n };\r\n if (target.jquery || target.nodeType || typeUtils.isWindow(target)) {\r\n that[\"_\" + name + \"EventHandler\"] = void 0;\r\n eventsEngine.on(target, eventName, handler)\r\n } else {\r\n that[\"_\" + name + \"EventHandler\"] = handler;\r\n eventsEngine.on(domAdapter.getDocument(), eventName, target, handler)\r\n }\r\n },\r\n detachEvent = function(that, target, name, event) {\r\n var eventName = event || getEventName(that, name + \"Event\");\r\n if (!eventName) {\r\n return\r\n }\r\n eventName = eventUtils.addNamespace(eventName, that.NAME);\r\n if (that[\"_\" + name + \"EventHandler\"]) {\r\n eventsEngine.off(domAdapter.getDocument(), eventName, target, that[\"_\" + name + \"EventHandler\"])\r\n } else {\r\n eventsEngine.off($(target), eventName)\r\n }\r\n };\r\nvar Popover = Popup.inherit({\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n target: window,\r\n shading: false,\r\n position: \"bottom\",\r\n closeOnOutsideClick: true,\r\n animation: {\r\n show: {\r\n type: \"fade\",\r\n from: 0,\r\n to: 1\r\n },\r\n hide: {\r\n type: \"fade\",\r\n to: 0\r\n }\r\n },\r\n showTitle: false,\r\n width: \"auto\",\r\n height: \"auto\",\r\n dragEnabled: false,\r\n resizeEnabled: false,\r\n fullScreen: false,\r\n closeOnTargetScroll: true,\r\n arrowPosition: \"\",\r\n arrowOffset: 0,\r\n boundaryOffset: {\r\n h: 10,\r\n v: 10\r\n }\r\n })\r\n },\r\n _defaultOptionsRules: function() {\r\n return [{\r\n device: {\r\n platform: \"ios\"\r\n },\r\n options: {\r\n arrowPosition: {\r\n boundaryOffset: {\r\n h: 20,\r\n v: -10\r\n },\r\n collision: \"fit\"\r\n }\r\n }\r\n }, {\r\n device: function() {\r\n return !windowUtils.hasWindow()\r\n },\r\n options: {\r\n animation: null\r\n }\r\n }]\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this._renderArrow();\r\n this._timeouts = {};\r\n this.$element().addClass(POPOVER_CLASS);\r\n this._wrapper().addClass(POPOVER_WRAPPER_CLASS)\r\n },\r\n _render: function() {\r\n this.callBase.apply(this, arguments);\r\n this._detachEvents(this.option(\"target\"));\r\n this._attachEvents()\r\n },\r\n _detachEvents: function(target) {\r\n detachEvent(this, target, \"show\");\r\n detachEvent(this, target, \"hide\")\r\n },\r\n _attachEvents: function() {\r\n attachEvent(this, \"show\");\r\n attachEvent(this, \"hide\")\r\n },\r\n _renderArrow: function() {\r\n this._$arrow = $(\"
\").addClass(POPOVER_ARROW_CLASS).prependTo(this.overlayContent())\r\n },\r\n _documentDownHandler: function(e) {\r\n if (this._isOutsideClick(e)) {\r\n return this.callBase(e)\r\n }\r\n return true\r\n },\r\n _isOutsideClick: function(e) {\r\n return !$(e.target).closest(this.option(\"target\")).length\r\n },\r\n _animate: function(animation) {\r\n if (animation && animation.to && \"object\" === _typeof(animation.to)) {\r\n extend(animation.to, {\r\n position: this._getContainerPosition()\r\n })\r\n }\r\n this.callBase.apply(this, arguments)\r\n },\r\n _stopAnimation: function() {\r\n this.callBase.apply(this, arguments)\r\n },\r\n _renderTitle: function() {\r\n this._wrapper().toggleClass(POPOVER_WITHOUT_TITLE_CLASS, !this.option(\"showTitle\"));\r\n this.callBase()\r\n },\r\n _renderPosition: function() {\r\n this.callBase();\r\n this._renderOverlayPosition()\r\n },\r\n _renderOverlayBoundaryOffset: commonUtils.noop,\r\n _renderOverlayPosition: function() {\r\n this._resetOverlayPosition();\r\n this._updateContentSize();\r\n var contentPosition = this._getContainerPosition();\r\n var resultLocation = positionUtils.setup(this._$content, contentPosition);\r\n var positionSide = this._getSideByLocation(resultLocation);\r\n this._togglePositionClass(\"dx-position-\" + positionSide);\r\n this._toggleFlippedClass(resultLocation.h.flip, resultLocation.v.flip);\r\n var isArrowVisible = this._isHorizontalSide() || this._isVerticalSide();\r\n if (isArrowVisible) {\r\n this._renderArrowPosition(positionSide)\r\n }\r\n },\r\n _resetOverlayPosition: function() {\r\n this._setContentHeight(true);\r\n this._togglePositionClass(\"dx-position-\" + this._positionSide);\r\n translator.move(this._$content, {\r\n left: 0,\r\n top: 0\r\n });\r\n this._$arrow.css({\r\n top: \"auto\",\r\n right: \"auto\",\r\n bottom: \"auto\",\r\n left: \"auto\"\r\n })\r\n },\r\n _updateContentSize: function() {\r\n if (!this._$popupContent) {\r\n return\r\n }\r\n var containerLocation = positionUtils.calculate(this._$content, this._getContainerPosition());\r\n if (containerLocation.h.oversize > 0 && this._isHorizontalSide() && !containerLocation.h.fit) {\r\n var newContainerWidth = this._$content.width() - containerLocation.h.oversize;\r\n this._$content.width(newContainerWidth)\r\n }\r\n if (containerLocation.v.oversize > 0 && this._isVerticalSide() && !containerLocation.v.fit) {\r\n var newOverlayContentHeight = this._$content.height() - containerLocation.v.oversize,\r\n newPopupContentHeight = this._$popupContent.height() - containerLocation.v.oversize;\r\n this._$content.height(newOverlayContentHeight);\r\n this._$popupContent.height(newPopupContentHeight)\r\n }\r\n },\r\n _getContainerPosition: function() {\r\n var offset = commonUtils.pairToObject(this._position.offset || \"\");\r\n var hOffset = offset.h;\r\n var vOffset = offset.v;\r\n var isVerticalSide = this._isVerticalSide();\r\n var isHorizontalSide = this._isHorizontalSide();\r\n if (isVerticalSide || isHorizontalSide) {\r\n var isPopoverInside = this._isPopoverInside();\r\n var sign = (isPopoverInside ? -1 : 1) * WEIGHT_OF_SIDES[this._positionSide];\r\n var arrowSize = isVerticalSide ? this._$arrow.height() : this._$arrow.width();\r\n var arrowSizeCorrection = this._getContentBorderWidth(this._positionSide);\r\n var arrowOffset = sign * (arrowSize - arrowSizeCorrection);\r\n isVerticalSide ? vOffset += arrowOffset : hOffset += arrowOffset\r\n }\r\n return extend({}, this._position, {\r\n offset: hOffset + \" \" + vOffset\r\n })\r\n },\r\n _getContentBorderWidth: function(side) {\r\n var borderWidth = this._$content.css(SIDE_BORDER_WIDTH_STYLES[side]);\r\n return parseInt(borderWidth) || 0\r\n },\r\n _getSideByLocation: function(location) {\r\n var isFlippedByVertical = location.v.flip;\r\n var isFlippedByHorizontal = location.h.flip;\r\n return this._isVerticalSide() && isFlippedByVertical || this._isHorizontalSide() && isFlippedByHorizontal || this._isPopoverInside() ? POSITION_FLIP_MAP[this._positionSide] : this._positionSide\r\n },\r\n _togglePositionClass: function(positionClass) {\r\n this._$wrapper.removeClass(\"dx-position-left dx-position-right dx-position-top dx-position-bottom\").addClass(positionClass)\r\n },\r\n _toggleFlippedClass: function(isFlippedHorizontal, isFlippedVertical) {\r\n this._$wrapper.toggleClass(\"dx-popover-flipped-horizontal\", isFlippedHorizontal).toggleClass(\"dx-popover-flipped-vertical\", isFlippedVertical)\r\n },\r\n _renderArrowPosition: function(side) {\r\n this._$arrow.css(POSITION_FLIP_MAP[side], -(this._isVerticalSide(side) ? this._$arrow.height() : this._$arrow.width()));\r\n var axis = this._isVerticalSide(side) ? \"left\" : \"top\";\r\n var sizeProperty = this._isVerticalSide(side) ? \"outerWidth\" : \"outerHeight\";\r\n var $target = $(this._position.of);\r\n var targetOffset = positionUtils.offset($target) || {\r\n top: 0,\r\n left: 0\r\n };\r\n var contentOffset = positionUtils.offset(this._$content);\r\n var arrowSize = this._$arrow[sizeProperty]();\r\n var contentLocation = contentOffset[axis];\r\n var contentSize = this._$content[sizeProperty]();\r\n var targetLocation = targetOffset[axis];\r\n var targetSize = $target.get(0).preventDefault ? 0 : $target[sizeProperty]();\r\n var min = Math.max(contentLocation, targetLocation);\r\n var max = Math.min(contentLocation + contentSize, targetLocation + targetSize);\r\n var arrowLocation;\r\n if (\"start\" === this.option(\"arrowPosition\")) {\r\n arrowLocation = min - contentLocation\r\n } else {\r\n if (\"end\" === this.option(\"arrowPosition\")) {\r\n arrowLocation = max - contentLocation - arrowSize\r\n } else {\r\n arrowLocation = (min + max) / 2 - contentLocation - arrowSize / 2\r\n }\r\n }\r\n var borderWidth = this._getContentBorderWidth(side);\r\n var finalArrowLocation = mathUtils.fitIntoRange(arrowLocation - borderWidth + this.option(\"arrowOffset\"), borderWidth, contentSize - arrowSize - 2 * borderWidth);\r\n this._$arrow.css(axis, finalArrowLocation)\r\n },\r\n _isPopoverInside: function() {\r\n var position = this._transformStringPosition(this.option(\"position\"), POSITION_ALIASES);\r\n var my = positionUtils.setup.normalizeAlign(position.my);\r\n var at = positionUtils.setup.normalizeAlign(position.at);\r\n return my.h === at.h && my.v === at.v\r\n },\r\n _setContentHeight: function(fullUpdate) {\r\n if (fullUpdate) {\r\n this.callBase()\r\n }\r\n },\r\n _renderShadingPosition: function() {\r\n if (this.option(\"shading\")) {\r\n this._$wrapper.css({\r\n top: 0,\r\n left: 0\r\n })\r\n }\r\n },\r\n _renderShadingDimensions: function() {\r\n if (this.option(\"shading\")) {\r\n this._$wrapper.css({\r\n width: \"100%\",\r\n height: \"100%\"\r\n })\r\n }\r\n },\r\n _normalizePosition: function() {\r\n var position = extend({}, this._transformStringPosition(this.option(\"position\"), POSITION_ALIASES));\r\n if (!position.of) {\r\n position.of = this.option(\"target\")\r\n }\r\n if (!position.collision) {\r\n position.collision = \"flip\"\r\n }\r\n if (!position.boundaryOffset) {\r\n position.boundaryOffset = this.option(\"boundaryOffset\")\r\n }\r\n this._positionSide = this._getDisplaySide(position);\r\n this._position = position\r\n },\r\n _getDisplaySide: function(position) {\r\n var my = positionUtils.setup.normalizeAlign(position.my),\r\n at = positionUtils.setup.normalizeAlign(position.at);\r\n var weightSign = WEIGHT_OF_SIDES[my.h] === WEIGHT_OF_SIDES[at.h] && WEIGHT_OF_SIDES[my.v] === WEIGHT_OF_SIDES[at.v] ? -1 : 1,\r\n horizontalWeight = Math.abs(WEIGHT_OF_SIDES[my.h] - weightSign * WEIGHT_OF_SIDES[at.h]),\r\n verticalWeight = Math.abs(WEIGHT_OF_SIDES[my.v] - weightSign * WEIGHT_OF_SIDES[at.v]);\r\n return horizontalWeight > verticalWeight ? at.h : at.v\r\n },\r\n _isVerticalSide: function(side) {\r\n side = side || this._positionSide;\r\n return \"top\" === side || \"bottom\" === side\r\n },\r\n _isHorizontalSide: function(side) {\r\n side = side || this._positionSide;\r\n return \"left\" === side || \"right\" === side\r\n },\r\n _clearEventTimeout: function(visibility) {\r\n clearTimeout(this._timeouts[visibility ? \"show\" : \"hide\"])\r\n },\r\n _clean: function() {\r\n this._detachEvents(this.option(\"target\"));\r\n this.callBase.apply(this, arguments)\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"boundaryOffset\":\r\n case \"arrowPosition\":\r\n case \"arrowOffset\":\r\n this._renderGeometry();\r\n break;\r\n case \"fullScreen\":\r\n if (args.value) {\r\n this.option(\"fullScreen\", false)\r\n }\r\n break;\r\n case \"target\":\r\n args.previousValue && this._detachEvents(args.previousValue);\r\n this.callBase(args);\r\n break;\r\n case \"showEvent\":\r\n case \"hideEvent\":\r\n var name = args.name.substring(0, 4),\r\n event = getEventNameByOption(args.previousValue);\r\n this.hide();\r\n detachEvent(this, this.option(\"target\"), name, event);\r\n attachEvent(this, name);\r\n break;\r\n case \"visible\":\r\n this._clearEventTimeout(args.value);\r\n this.callBase(args);\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n show: function(target) {\r\n if (target) {\r\n this.option(\"target\", target)\r\n }\r\n return this.callBase()\r\n }\r\n});\r\nregisterComponent(\"dxPopover\", Popover);\r\nmodule.exports = Popover;\r\nmodule.exports.default = module.exports;\r\n","/**\r\n * DevExtreme (ui/validation_engine.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar Class = require(\"../core/class\"),\r\n extend = require(\"../core/utils/extend\").extend,\r\n inArray = require(\"../core/utils/array\").inArray,\r\n each = require(\"../core/utils/iterator\").each,\r\n EventsMixin = require(\"../core/events_mixin\"),\r\n errors = require(\"../core/errors\"),\r\n commonUtils = require(\"../core/utils/common\"),\r\n typeUtils = require(\"../core/utils/type\"),\r\n numberLocalization = require(\"../localization/number\"),\r\n messageLocalization = require(\"../localization/message\");\r\nvar BaseRuleValidator = Class.inherit({\r\n NAME: \"base\",\r\n defaultMessage: function(value) {\r\n return messageLocalization.getFormatter(\"validation-\" + this.NAME)(value)\r\n },\r\n defaultFormattedMessage: function(value) {\r\n return messageLocalization.getFormatter(\"validation-\" + this.NAME + \"-formatted\")(value)\r\n },\r\n _isValueEmpty: function(value) {\r\n return !rulesValidators.required.validate(value, {})\r\n },\r\n validate: function(value, rule) {\r\n var valueArray = Array.isArray(value) ? value : [value],\r\n result = true;\r\n if (valueArray.length) {\r\n valueArray.every(function(itemValue) {\r\n result = this._validate(itemValue, rule);\r\n return result\r\n }, this)\r\n } else {\r\n result = this._validate(null, rule)\r\n }\r\n return result\r\n }\r\n});\r\nvar RequiredRuleValidator = BaseRuleValidator.inherit({\r\n NAME: \"required\",\r\n _validate: function(value, rule) {\r\n if (!typeUtils.isDefined(value)) {\r\n return false\r\n }\r\n if (false === value) {\r\n return false\r\n }\r\n value = String(value);\r\n if (rule.trim || !typeUtils.isDefined(rule.trim)) {\r\n value = value.trim()\r\n }\r\n return \"\" !== value\r\n }\r\n});\r\nvar NumericRuleValidator = BaseRuleValidator.inherit({\r\n NAME: \"numeric\",\r\n _validate: function(value, rule) {\r\n if (false !== rule.ignoreEmptyValue && this._isValueEmpty(value)) {\r\n return true\r\n }\r\n if (rule.useCultureSettings && typeUtils.isString(value)) {\r\n return !isNaN(numberLocalization.parse(value))\r\n } else {\r\n return typeUtils.isNumeric(value)\r\n }\r\n }\r\n});\r\nvar RangeRuleValidator = BaseRuleValidator.inherit({\r\n NAME: \"range\",\r\n _validate: function(value, rule) {\r\n if (false !== rule.ignoreEmptyValue && this._isValueEmpty(value)) {\r\n return true\r\n }\r\n var validNumber = rulesValidators.numeric.validate(value, rule),\r\n validValue = typeUtils.isDefined(value) && \"\" !== value,\r\n number = validNumber ? parseFloat(value) : validValue && value.valueOf(),\r\n min = rule.min,\r\n max = rule.max;\r\n if (!(validNumber || typeUtils.isDate(value)) && !validValue) {\r\n return false\r\n }\r\n if (typeUtils.isDefined(min)) {\r\n if (typeUtils.isDefined(max)) {\r\n return number >= min && number <= max\r\n }\r\n return number >= min\r\n } else {\r\n if (typeUtils.isDefined(max)) {\r\n return number <= max\r\n } else {\r\n throw errors.Error(\"E0101\")\r\n }\r\n }\r\n }\r\n});\r\nvar StringLengthRuleValidator = BaseRuleValidator.inherit({\r\n NAME: \"stringLength\",\r\n _validate: function(value, rule) {\r\n value = typeUtils.isDefined(value) ? String(value) : \"\";\r\n if (rule.trim || !typeUtils.isDefined(rule.trim)) {\r\n value = value.trim()\r\n }\r\n if (rule.ignoreEmptyValue && this._isValueEmpty(value)) {\r\n return true\r\n }\r\n return rulesValidators.range.validate(value.length, extend({}, rule))\r\n }\r\n});\r\nvar CustomRuleValidator = BaseRuleValidator.inherit({\r\n NAME: \"custom\",\r\n validate: function(value, rule) {\r\n if (rule.ignoreEmptyValue && this._isValueEmpty(value)) {\r\n return true\r\n }\r\n var validator = rule.validator,\r\n dataGetter = validator && typeUtils.isFunction(validator.option) && validator.option(\"dataGetter\"),\r\n data = typeUtils.isFunction(dataGetter) && dataGetter(),\r\n params = {\r\n value: value,\r\n validator: validator,\r\n rule: rule\r\n };\r\n if (data) {\r\n params.data = data\r\n }\r\n return rule.validationCallback(params)\r\n }\r\n});\r\nvar CompareRuleValidator = BaseRuleValidator.inherit({\r\n NAME: \"compare\",\r\n _validate: function(value, rule) {\r\n if (!rule.comparisonTarget) {\r\n throw errors.Error(\"E0102\")\r\n }\r\n if (rule.ignoreEmptyValue && this._isValueEmpty(value)) {\r\n return true\r\n }\r\n extend(rule, {\r\n reevaluate: true\r\n });\r\n var otherValue = rule.comparisonTarget(),\r\n type = rule.comparisonType || \"==\";\r\n switch (type) {\r\n case \"==\":\r\n return value == otherValue;\r\n case \"!=\":\r\n return value != otherValue;\r\n case \"===\":\r\n return value === otherValue;\r\n case \"!==\":\r\n return value !== otherValue;\r\n case \">\":\r\n return value > otherValue;\r\n case \">=\":\r\n return value >= otherValue;\r\n case \"<\":\r\n return value < otherValue;\r\n case \"<=\":\r\n return value <= otherValue\r\n }\r\n }\r\n});\r\nvar PatternRuleValidator = BaseRuleValidator.inherit({\r\n NAME: \"pattern\",\r\n _validate: function(value, rule) {\r\n if (false !== rule.ignoreEmptyValue && this._isValueEmpty(value)) {\r\n return true\r\n }\r\n var pattern = rule.pattern;\r\n if (typeUtils.isString(pattern)) {\r\n pattern = new RegExp(pattern)\r\n }\r\n return pattern.test(value)\r\n }\r\n});\r\nvar EmailRuleValidator = BaseRuleValidator.inherit({\r\n NAME: \"email\",\r\n _validate: function(value, rule) {\r\n if (false !== rule.ignoreEmptyValue && this._isValueEmpty(value)) {\r\n return true\r\n }\r\n return rulesValidators.pattern.validate(value, extend({}, rule, {\r\n pattern: /^[\\d\\w._-]+@([\\d\\w._-]+\\.)+[\\w]+$/i\r\n }))\r\n }\r\n});\r\nvar rulesValidators = {\r\n required: new RequiredRuleValidator,\r\n numeric: new NumericRuleValidator,\r\n range: new RangeRuleValidator,\r\n stringLength: new StringLengthRuleValidator,\r\n custom: new CustomRuleValidator,\r\n compare: new CompareRuleValidator,\r\n pattern: new PatternRuleValidator,\r\n email: new EmailRuleValidator\r\n};\r\nvar GroupConfig = Class.inherit({\r\n ctor: function(group) {\r\n this.group = group;\r\n this.validators = []\r\n },\r\n validate: function() {\r\n var result = {\r\n isValid: true,\r\n brokenRules: [],\r\n validators: []\r\n };\r\n each(this.validators, function(_, validator) {\r\n var validatorResult = validator.validate();\r\n result.isValid = result.isValid && validatorResult.isValid;\r\n if (validatorResult.brokenRule) {\r\n result.brokenRules.push(validatorResult.brokenRule)\r\n }\r\n result.validators.push(validator)\r\n });\r\n this.fireEvent(\"validated\", [{\r\n validators: result.validators,\r\n brokenRules: result.brokenRules,\r\n isValid: result.isValid\r\n }]);\r\n return result\r\n },\r\n reset: function() {\r\n each(this.validators, function(_, validator) {\r\n validator.reset()\r\n })\r\n }\r\n}).include(EventsMixin);\r\nvar ValidationEngine = {\r\n groups: [],\r\n getGroupConfig: function(group) {\r\n var result = commonUtils.grep(this.groups, function(config) {\r\n return config.group === group\r\n });\r\n if (result.length) {\r\n return result[0]\r\n }\r\n },\r\n initGroups: function() {\r\n this.groups = [];\r\n this.addGroup()\r\n },\r\n addGroup: function(group) {\r\n var config = this.getGroupConfig(group);\r\n if (!config) {\r\n config = new GroupConfig(group);\r\n this.groups.push(config)\r\n }\r\n return config\r\n },\r\n removeGroup: function(group) {\r\n var config = this.getGroupConfig(group),\r\n index = inArray(config, this.groups);\r\n if (index > -1) {\r\n this.groups.splice(index, 1)\r\n }\r\n return config\r\n },\r\n _setDefaultMessage: function(rule, validator, name) {\r\n if (!typeUtils.isDefined(rule.message)) {\r\n if (validator.defaultFormattedMessage && typeUtils.isDefined(name)) {\r\n rule.message = validator.defaultFormattedMessage(name)\r\n } else {\r\n rule.message = validator.defaultMessage()\r\n }\r\n }\r\n },\r\n validate: function(value, rules, name) {\r\n var result = {\r\n name: name,\r\n value: value,\r\n brokenRule: null,\r\n isValid: true,\r\n validationRules: rules\r\n },\r\n that = this;\r\n each(rules || [], function(_, rule) {\r\n var ruleValidationResult, ruleValidator = rulesValidators[rule.type];\r\n if (ruleValidator) {\r\n if (typeUtils.isDefined(rule.isValid) && rule.value === value && !rule.reevaluate) {\r\n if (!rule.isValid) {\r\n result.isValid = false;\r\n result.brokenRule = rule;\r\n return false\r\n }\r\n return true\r\n }\r\n rule.value = value;\r\n ruleValidationResult = ruleValidator.validate(value, rule);\r\n rule.isValid = ruleValidationResult;\r\n if (!ruleValidationResult) {\r\n result.isValid = false;\r\n that._setDefaultMessage(rule, ruleValidator, name);\r\n result.brokenRule = rule\r\n }\r\n if (!rule.isValid) {\r\n return false\r\n }\r\n } else {\r\n throw errors.Error(\"E0100\")\r\n }\r\n });\r\n return result\r\n },\r\n registerValidatorInGroup: function(group, validator) {\r\n var groupConfig = ValidationEngine.addGroup(group);\r\n if (inArray(validator, groupConfig.validators) < 0) {\r\n groupConfig.validators.push(validator)\r\n }\r\n },\r\n _shouldRemoveGroup: function(group, validatorsInGroup) {\r\n var isDefaultGroup = void 0 === group,\r\n isValidationGroupInstance = group && \"dxValidationGroup\" === group.NAME;\r\n return !isDefaultGroup && !isValidationGroupInstance && !validatorsInGroup.length\r\n },\r\n removeRegisteredValidator: function(group, validator) {\r\n var config = ValidationEngine.getGroupConfig(group),\r\n validatorsInGroup = config && config.validators;\r\n var index = inArray(validator, validatorsInGroup);\r\n if (index > -1) {\r\n validatorsInGroup.splice(index, 1);\r\n if (this._shouldRemoveGroup(group, validatorsInGroup)) {\r\n this.removeGroup(group)\r\n }\r\n }\r\n },\r\n validateGroup: function(group) {\r\n var groupConfig = ValidationEngine.getGroupConfig(group);\r\n if (!groupConfig) {\r\n throw errors.Error(\"E0110\")\r\n }\r\n return groupConfig.validate()\r\n },\r\n resetGroup: function(group) {\r\n var groupConfig = ValidationEngine.getGroupConfig(group);\r\n if (!groupConfig) {\r\n throw errors.Error(\"E0110\")\r\n }\r\n return groupConfig.reset()\r\n }\r\n};\r\nValidationEngine.initGroups();\r\nmodule.exports = ValidationEngine;\r\nmodule.exports.default = module.exports;\r\n","/**\r\n * DevExtreme (ui/widget/child_default_template.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar TemplateBase = require(\"./ui.template_base\");\r\nmodule.exports = TemplateBase.inherit({\r\n ctor: function(name) {\r\n this.name = name\r\n }\r\n});\r\n","/**\r\n * DevExtreme (events/core/emitter.feedback.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar Class = require(\"../../core/class\"),\r\n commonUtils = require(\"../../core/utils/common\"),\r\n contains = require(\"../../core/utils/dom\").contains,\r\n devices = require(\"../../core/devices\"),\r\n eventUtils = require(\"../utils\"),\r\n pointerEvents = require(\"../pointer\"),\r\n Emitter = require(\"./emitter\"),\r\n registerEmitter = require(\"./emitter_registrator\");\r\nvar ACTIVE_EVENT_NAME = \"dxactive\",\r\n INACTIVE_EVENT_NAME = \"dxinactive\",\r\n ACTIVE_TIMEOUT = 30,\r\n INACTIVE_TIMEOUT = 400;\r\nvar FeedbackEvent = Class.inherit({\r\n ctor: function(timeout, fire) {\r\n this._timeout = timeout;\r\n this._fire = fire\r\n },\r\n start: function() {\r\n var that = this;\r\n this._schedule(function() {\r\n that.force()\r\n })\r\n },\r\n _schedule: function(fn) {\r\n this.stop();\r\n this._timer = setTimeout(fn, this._timeout)\r\n },\r\n stop: function() {\r\n clearTimeout(this._timer)\r\n },\r\n force: function() {\r\n if (this._fired) {\r\n return\r\n }\r\n this.stop();\r\n this._fire();\r\n this._fired = true\r\n },\r\n fired: function() {\r\n return this._fired\r\n }\r\n});\r\nvar activeFeedback;\r\nvar FeedbackEmitter = Emitter.inherit({\r\n ctor: function() {\r\n this.callBase.apply(this, arguments);\r\n this._active = new FeedbackEvent(0, commonUtils.noop);\r\n this._inactive = new FeedbackEvent(0, commonUtils.noop)\r\n },\r\n configure: function(data, eventName) {\r\n switch (eventName) {\r\n case ACTIVE_EVENT_NAME:\r\n data.activeTimeout = data.timeout;\r\n break;\r\n case INACTIVE_EVENT_NAME:\r\n data.inactiveTimeout = data.timeout\r\n }\r\n this.callBase(data)\r\n },\r\n start: function(e) {\r\n if (activeFeedback) {\r\n var activeChildExists = contains(this.getElement().get(0), activeFeedback.getElement().get(0));\r\n var childJustActivated = !activeFeedback._active.fired();\r\n if (activeChildExists && childJustActivated) {\r\n this._cancel();\r\n return\r\n }\r\n activeFeedback._inactive.force()\r\n }\r\n activeFeedback = this;\r\n this._initEvents(e);\r\n this._active.start()\r\n },\r\n _initEvents: function(e) {\r\n var that = this,\r\n eventTarget = this._getEmitterTarget(e),\r\n mouseEvent = eventUtils.isMouseEvent(e),\r\n isSimulator = devices.isSimulator(),\r\n deferFeedback = isSimulator || !mouseEvent,\r\n activeTimeout = commonUtils.ensureDefined(this.activeTimeout, ACTIVE_TIMEOUT),\r\n inactiveTimeout = commonUtils.ensureDefined(this.inactiveTimeout, INACTIVE_TIMEOUT);\r\n this._active = new FeedbackEvent(deferFeedback ? activeTimeout : 0, function() {\r\n that._fireEvent(ACTIVE_EVENT_NAME, e, {\r\n target: eventTarget\r\n })\r\n });\r\n this._inactive = new FeedbackEvent(deferFeedback ? inactiveTimeout : 0, function() {\r\n that._fireEvent(INACTIVE_EVENT_NAME, e, {\r\n target: eventTarget\r\n });\r\n activeFeedback = null\r\n })\r\n },\r\n cancel: function(e) {\r\n this.end(e)\r\n },\r\n end: function(e) {\r\n var skipTimers = e.type !== pointerEvents.up;\r\n if (skipTimers) {\r\n this._active.stop()\r\n } else {\r\n this._active.force()\r\n }\r\n this._inactive.start();\r\n if (skipTimers) {\r\n this._inactive.force()\r\n }\r\n },\r\n dispose: function() {\r\n this._active.stop();\r\n this._inactive.stop();\r\n this.callBase()\r\n },\r\n lockInactive: function() {\r\n this._active.force();\r\n this._inactive.stop();\r\n activeFeedback = null;\r\n this._cancel();\r\n return this._inactive.force.bind(this._inactive)\r\n }\r\n});\r\nFeedbackEmitter.lock = function(deferred) {\r\n var lockInactive = activeFeedback ? activeFeedback.lockInactive() : commonUtils.noop;\r\n deferred.done(lockInactive)\r\n};\r\nregisterEmitter({\r\n emitter: FeedbackEmitter,\r\n events: [ACTIVE_EVENT_NAME, INACTIVE_EVENT_NAME]\r\n});\r\nexports.lock = FeedbackEmitter.lock;\r\nexports.active = ACTIVE_EVENT_NAME;\r\nexports.inactive = INACTIVE_EVENT_NAME;\r\n","/**\r\n * DevExtreme (events/core/wheel.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar $ = require(\"../../core/renderer\"),\r\n eventsEngine = require(\"../../events/core/events_engine\"),\r\n domAdapter = require(\"../../core/dom_adapter\"),\r\n callOnce = require(\"../../core/utils/call_once\"),\r\n registerEvent = require(\"./event_registrator\"),\r\n eventUtils = require(\"../utils\");\r\nvar EVENT_NAME = \"dxmousewheel\",\r\n EVENT_NAMESPACE = \"dxWheel\";\r\nvar getWheelEventName = callOnce(function() {\r\n return domAdapter.hasDocumentProperty(\"onwheel\") ? \"wheel\" : \"mousewheel\"\r\n});\r\nvar wheel = {\r\n setup: function(element) {\r\n var $element = $(element);\r\n eventsEngine.on($element, eventUtils.addNamespace(getWheelEventName(), EVENT_NAMESPACE), wheel._wheelHandler.bind(wheel))\r\n },\r\n teardown: function(element) {\r\n eventsEngine.off(element, \".\" + EVENT_NAMESPACE)\r\n },\r\n _wheelHandler: function(e) {\r\n var delta = this._getWheelDelta(e.originalEvent);\r\n eventUtils.fireEvent({\r\n type: EVENT_NAME,\r\n originalEvent: e,\r\n delta: delta,\r\n pointerType: \"mouse\"\r\n });\r\n e.stopPropagation()\r\n },\r\n _getWheelDelta: function(event) {\r\n return event.wheelDelta ? event.wheelDelta : 30 * -event.deltaY\r\n }\r\n};\r\nregisterEvent(EVENT_NAME, wheel);\r\nexports.name = EVENT_NAME;\r\n","/**\r\n * DevExtreme (core/utils/ajax.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar Deferred = require(\"./deferred\").Deferred;\r\nvar domAdapter = require(\"../../core/dom_adapter\");\r\nvar httpRequest = require(\"../../core/http_request\");\r\nvar windowUtils = require(\"../../core/utils/window\");\r\nvar window = windowUtils.getWindow();\r\nvar extendFromObject = require(\"./extend\").extendFromObject;\r\nvar isDefined = require(\"./type\").isDefined;\r\nvar Promise = require(\"../polyfills/promise\");\r\nvar injector = require(\"./dependency_injector\");\r\nvar SUCCESS = \"success\",\r\n ERROR = \"error\",\r\n TIMEOUT = \"timeout\",\r\n NO_CONTENT = \"nocontent\",\r\n PARSER_ERROR = \"parsererror\";\r\nvar isStatusSuccess = function(status) {\r\n return 200 <= status && status < 300\r\n};\r\nvar hasContent = function(status) {\r\n return 204 !== status\r\n};\r\nvar paramsConvert = function(params) {\r\n var result = [];\r\n for (var name in params) {\r\n var value = params[name];\r\n if (void 0 === value) {\r\n continue\r\n }\r\n if (null === value) {\r\n value = \"\"\r\n }\r\n result.push(encodeURIComponent(name) + \"=\" + encodeURIComponent(value))\r\n }\r\n return result.join(\"&\")\r\n};\r\nvar createScript = function(options) {\r\n var script = domAdapter.createElement(\"script\");\r\n for (var name in options) {\r\n script[name] = options[name]\r\n }\r\n return script\r\n};\r\nvar removeScript = function(scriptNode) {\r\n scriptNode.parentNode.removeChild(scriptNode)\r\n};\r\nvar appendToHead = function(element) {\r\n return domAdapter.getHead().appendChild(element)\r\n};\r\nvar evalScript = function(code) {\r\n var script = createScript({\r\n text: code\r\n });\r\n appendToHead(script);\r\n removeScript(script)\r\n};\r\nvar evalCrossDomainScript = function(url) {\r\n var script = createScript({\r\n src: url\r\n });\r\n return new Promise(function(resolve, reject) {\r\n var events = {\r\n load: resolve,\r\n error: reject\r\n };\r\n var loadHandler = function(e) {\r\n events[e.type]();\r\n removeScript(script)\r\n };\r\n for (var event in events) {\r\n domAdapter.listen(script, event, loadHandler)\r\n }\r\n appendToHead(script)\r\n })\r\n};\r\nvar getAcceptHeader = function(options) {\r\n var dataType = options.dataType || \"*\",\r\n scriptAccept = \"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript\",\r\n accepts = {\r\n \"*\": \"*/*\",\r\n text: \"text/plain\",\r\n html: \"text/html\",\r\n xml: \"application/xml, text/xml\",\r\n json: \"application/json, text/javascript\",\r\n jsonp: scriptAccept,\r\n script: scriptAccept\r\n };\r\n extendFromObject(accepts, options.accepts, true);\r\n return accepts[dataType] ? accepts[dataType] + (\"*\" !== dataType ? \", */*; q=0.01\" : \"\") : accepts[\"*\"]\r\n};\r\nvar getContentTypeHeader = function(options) {\r\n var defaultContentType;\r\n if (options.data && !options.upload && \"GET\" !== getMethod(options)) {\r\n defaultContentType = \"application/x-www-form-urlencoded;charset=utf-8\"\r\n }\r\n return options.contentType || defaultContentType\r\n};\r\nvar getDataFromResponse = function(xhr) {\r\n return xhr.responseType && \"text\" !== xhr.responseType || \"string\" !== typeof xhr.responseText ? xhr.response : xhr.responseText\r\n};\r\nvar postProcess = function(deferred, xhr, dataType) {\r\n var data = getDataFromResponse(xhr);\r\n switch (dataType) {\r\n case \"jsonp\":\r\n evalScript(data);\r\n break;\r\n case \"script\":\r\n evalScript(data);\r\n deferred.resolve(data, SUCCESS, xhr);\r\n break;\r\n case \"json\":\r\n try {\r\n deferred.resolve(JSON.parse(data), SUCCESS, xhr)\r\n } catch (e) {\r\n deferred.reject(xhr, PARSER_ERROR, e)\r\n }\r\n break;\r\n default:\r\n deferred.resolve(data, SUCCESS, xhr)\r\n }\r\n};\r\nvar isCrossDomain = function(url) {\r\n if (!windowUtils.hasWindow()) {\r\n return true\r\n }\r\n var crossDomain = false,\r\n originAnchor = domAdapter.createElement(\"a\"),\r\n urlAnchor = domAdapter.createElement(\"a\");\r\n originAnchor.href = window.location.href;\r\n try {\r\n urlAnchor.href = url;\r\n urlAnchor.href = urlAnchor.href;\r\n crossDomain = originAnchor.protocol + \"//\" + originAnchor.host !== urlAnchor.protocol + \"//\" + urlAnchor.host\r\n } catch (e) {\r\n crossDomain = true\r\n }\r\n return crossDomain\r\n};\r\nvar setHttpTimeout = function(timeout, xhr) {\r\n return timeout && setTimeout(function() {\r\n xhr.customStatus = TIMEOUT;\r\n xhr.abort()\r\n }, timeout)\r\n};\r\nvar getJsonpOptions = function(options) {\r\n if (\"jsonp\" === options.dataType) {\r\n var random = Math.random().toString().replace(/\\D/g, \"\"),\r\n callbackName = options.jsonpCallback || \"dxCallback\" + Date.now() + \"_\" + random,\r\n callbackParameter = options.jsonp || \"callback\";\r\n options.data = options.data || {};\r\n options.data[callbackParameter] = callbackName;\r\n return callbackName\r\n }\r\n};\r\nvar getRequestOptions = function(options, headers) {\r\n var params = options.data,\r\n paramsAlreadyString = \"string\" === typeof params,\r\n url = options.url || window.location.href;\r\n if (!paramsAlreadyString && !options.cache) {\r\n params = params || {};\r\n params._ = Date.now()\r\n }\r\n if (params && !options.upload) {\r\n if (!paramsAlreadyString) {\r\n params = paramsConvert(params)\r\n }\r\n if (\"GET\" === getMethod(options)) {\r\n if (\"\" !== params) {\r\n url += (url.indexOf(\"?\") > -1 ? \"&\" : \"?\") + params\r\n }\r\n params = null\r\n } else {\r\n if (headers[\"Content-Type\"] && headers[\"Content-Type\"].indexOf(\"application/x-www-form-urlencoded\") > -1) {\r\n params = params.replace(/%20/g, \"+\")\r\n }\r\n }\r\n }\r\n return {\r\n url: url,\r\n parameters: params\r\n }\r\n};\r\nvar getMethod = function(options) {\r\n return (options.method || \"GET\").toUpperCase()\r\n};\r\nvar getRequestHeaders = function(options) {\r\n var headers = options.headers || {};\r\n headers[\"Content-Type\"] = headers[\"Content-Type\"] || getContentTypeHeader(options);\r\n headers.Accept = headers.Accept || getAcceptHeader(options);\r\n if (!options.crossDomain && !headers[\"X-Requested-With\"]) {\r\n headers[\"X-Requested-With\"] = \"XMLHttpRequest\"\r\n }\r\n return headers\r\n};\r\nvar sendRequest = function(options) {\r\n var timeoutId, xhr = httpRequest.getXhr(),\r\n d = new Deferred,\r\n result = d.promise(),\r\n async = isDefined(options.async) ? options.async : true, dataType = options.dataType, timeout = options.timeout || 0;\r\n options.crossDomain = isCrossDomain(options.url);\r\n var needScriptEvaluation = \"jsonp\" === dataType || \"script\" === dataType;\r\n if (void 0 === options.cache) {\r\n options.cache = !needScriptEvaluation\r\n }\r\n var callbackName = getJsonpOptions(options),\r\n headers = getRequestHeaders(options),\r\n requestOptions = getRequestOptions(options, headers),\r\n url = requestOptions.url,\r\n parameters = requestOptions.parameters;\r\n if (callbackName) {\r\n window[callbackName] = function(data) {\r\n d.resolve(data, SUCCESS, xhr)\r\n }\r\n }\r\n if (options.crossDomain && needScriptEvaluation) {\r\n var reject = function() {\r\n d.reject(xhr, ERROR)\r\n },\r\n resolve = function() {\r\n if (\"jsonp\" === dataType) {\r\n return\r\n }\r\n d.resolve(null, SUCCESS, xhr)\r\n };\r\n evalCrossDomainScript(url).then(resolve, reject);\r\n return result\r\n }\r\n if (options.crossDomain && !(\"withCredentials\" in xhr)) {\r\n d.reject(xhr, ERROR);\r\n return result\r\n }\r\n xhr.open(getMethod(options), url, async, options.username, options.password);\r\n if (async) {\r\n xhr.timeout = timeout;\r\n timeoutId = setHttpTimeout(timeout, xhr, d)\r\n }\r\n xhr.onreadystatechange = function(e) {\r\n if (4 === xhr.readyState) {\r\n clearTimeout(timeoutId);\r\n if (isStatusSuccess(xhr.status)) {\r\n if (hasContent(xhr.status)) {\r\n postProcess(d, xhr, dataType)\r\n } else {\r\n d.resolve(null, NO_CONTENT, xhr)\r\n }\r\n } else {\r\n d.reject(xhr, xhr.customStatus || ERROR)\r\n }\r\n }\r\n };\r\n if (options.upload) {\r\n xhr.upload.onprogress = options.upload.onprogress;\r\n xhr.upload.onloadstart = options.upload.onloadstart;\r\n xhr.upload.onabort = options.upload.onabort\r\n }\r\n if (options.xhrFields) {\r\n for (var field in options.xhrFields) {\r\n xhr[field] = options.xhrFields[field]\r\n }\r\n }\r\n if (\"arraybuffer\" === options.responseType) {\r\n xhr.responseType = options.responseType\r\n }\r\n for (var name in headers) {\r\n if (Object.prototype.hasOwnProperty.call(headers, name) && isDefined(headers[name])) {\r\n xhr.setRequestHeader(name, headers[name])\r\n }\r\n }\r\n if (options.beforeSend) {\r\n options.beforeSend(xhr)\r\n }\r\n xhr.send(parameters);\r\n result.abort = function() {\r\n xhr.abort()\r\n };\r\n return result\r\n};\r\nmodule.exports = injector({\r\n sendRequest: sendRequest\r\n});\r\n","/**\r\n * DevExtreme (ui/collection/item.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar $ = require(\"../../core/renderer\"),\r\n Class = require(\"../../core/class\"),\r\n each = require(\"../../core/utils/iterator\").each,\r\n publicComponentUtils = require(\"../../core/utils/public_component\");\r\nvar INVISIBLE_STATE_CLASS = \"dx-state-invisible\",\r\n DISABLED_STATE_CLASS = \"dx-state-disabled\",\r\n ITEM_CONTENT_PLACEHOLDER_CLASS = \"dx-item-content-placeholder\";\r\nvar forcibleWatcher = function(watchMethod, fn, callback) {\r\n var filteredCallback = function() {\r\n var oldValue;\r\n return function(value) {\r\n if (oldValue !== value) {\r\n callback(value, oldValue);\r\n oldValue = value\r\n }\r\n }\r\n }();\r\n return {\r\n dispose: watchMethod(fn, filteredCallback),\r\n force: function() {\r\n filteredCallback(fn())\r\n }\r\n }\r\n};\r\nvar CollectionItem = Class.inherit({\r\n ctor: function($element, options, rawData) {\r\n this._$element = $element;\r\n this._options = options;\r\n this._rawData = rawData;\r\n publicComponentUtils.attachInstanceToElement($element, this, this._dispose);\r\n this._render()\r\n },\r\n _render: function() {\r\n var $placeholder = $(\"
\").addClass(ITEM_CONTENT_PLACEHOLDER_CLASS);\r\n this._$element.append($placeholder);\r\n this._watchers = [];\r\n this._renderWatchers()\r\n },\r\n _renderWatchers: function() {\r\n this._startWatcher(\"disabled\", this._renderDisabled.bind(this));\r\n this._startWatcher(\"visible\", this._renderVisible.bind(this))\r\n },\r\n _startWatcher: function(field, render) {\r\n var rawData = this._rawData,\r\n exprGetter = this._options.fieldGetter(field);\r\n var watcher = forcibleWatcher(this._options.watchMethod(), function() {\r\n return exprGetter(rawData)\r\n }, function(value, oldValue) {\r\n this._dirty = true;\r\n render(value, oldValue)\r\n }.bind(this));\r\n this._watchers.push(watcher)\r\n },\r\n setDataField: function() {\r\n this._dirty = false;\r\n each(this._watchers, function(_, watcher) {\r\n watcher.force()\r\n });\r\n if (this._dirty) {\r\n return true\r\n }\r\n },\r\n _renderDisabled: function(value, oldValue) {\r\n this._$element.toggleClass(DISABLED_STATE_CLASS, !!value)\r\n },\r\n _renderVisible: function(value, oldValue) {\r\n this._$element.toggleClass(INVISIBLE_STATE_CLASS, void 0 !== value && !value)\r\n },\r\n _dispose: function() {\r\n each(this._watchers, function(_, watcher) {\r\n watcher.dispose()\r\n })\r\n }\r\n});\r\nCollectionItem.getInstance = function($element) {\r\n return publicComponentUtils.getInstanceByElement($element, this)\r\n};\r\nmodule.exports = CollectionItem;\r\n","/**\r\n * DevExtreme (ui/widget/swatch_container.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar $ = require(\"../../core/renderer\");\r\nvar viewPortUtils = require(\"../../core/utils/view_port\");\r\nvar SWATCH_CONTAINER_CLASS_PREFIX = \"dx-swatch-\";\r\nvar getSwatchContainer = function(element) {\r\n var $element = $(element);\r\n var swatchContainer = $element.closest('[class^=\"' + SWATCH_CONTAINER_CLASS_PREFIX + '\"], [class*=\" ' + SWATCH_CONTAINER_CLASS_PREFIX + '\"]');\r\n var viewport = viewPortUtils.value();\r\n if (!swatchContainer.length) {\r\n return viewport\r\n }\r\n var swatchClassRegex = new RegExp(\"(\\\\s|^)(\" + SWATCH_CONTAINER_CLASS_PREFIX + \".*?)(\\\\s|$)\");\r\n var swatchClass = swatchContainer[0].className.match(swatchClassRegex)[2];\r\n var viewportSwatchContainer = viewport.children(\".\" + swatchClass);\r\n if (!viewportSwatchContainer.length) {\r\n viewportSwatchContainer = $(\"
\").addClass(swatchClass).appendTo(viewport)\r\n }\r\n return viewportSwatchContainer\r\n};\r\nmodule.exports = {\r\n getSwatchContainer: getSwatchContainer\r\n};\r\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","/**\r\n * DevExtreme (ui/validation/validation_mixin.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar ValidationMixin = {\r\n _findGroup: function() {\r\n var $dxGroup, group = this.option(\"validationGroup\");\r\n if (!group) {\r\n $dxGroup = this.$element().parents(\".dx-validationgroup\").first();\r\n if ($dxGroup.length) {\r\n group = $dxGroup.dxValidationGroup(\"instance\")\r\n } else {\r\n group = this._modelByElement(this.$element())\r\n }\r\n }\r\n return group\r\n }\r\n};\r\nmodule.exports = ValidationMixin;\r\n","/**\r\n * DevExtreme (events/hover.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar eventsEngine = require(\"../events/core/events_engine\"),\r\n dataUtils = require(\"../core/element_data\"),\r\n Class = require(\"../core/class\"),\r\n devices = require(\"../core/devices\"),\r\n registerEvent = require(\"./core/event_registrator\"),\r\n eventUtils = require(\"./utils\"),\r\n pointerEvents = require(\"./pointer\");\r\nvar HOVERSTART_NAMESPACE = \"dxHoverStart\",\r\n HOVERSTART = \"dxhoverstart\",\r\n POINTERENTER_NAMESPACED_EVENT_NAME = eventUtils.addNamespace(pointerEvents.enter, HOVERSTART_NAMESPACE),\r\n HOVEREND_NAMESPACE = \"dxHoverEnd\",\r\n HOVEREND = \"dxhoverend\",\r\n POINTERLEAVE_NAMESPACED_EVENT_NAME = eventUtils.addNamespace(pointerEvents.leave, HOVEREND_NAMESPACE);\r\nvar Hover = Class.inherit({\r\n noBubble: true,\r\n ctor: function() {\r\n this._handlerArrayKeyPath = this._eventNamespace + \"_HandlerStore\"\r\n },\r\n setup: function(element) {\r\n dataUtils.data(element, this._handlerArrayKeyPath, {})\r\n },\r\n add: function(element, handleObj) {\r\n var that = this,\r\n handler = function(e) {\r\n that._handler(e)\r\n };\r\n eventsEngine.on(element, this._originalEventName, handleObj.selector, handler);\r\n dataUtils.data(element, this._handlerArrayKeyPath)[handleObj.guid] = handler\r\n },\r\n _handler: function(e) {\r\n if (eventUtils.isTouchEvent(e) || devices.isSimulator()) {\r\n return\r\n }\r\n eventUtils.fireEvent({\r\n type: this._eventName,\r\n originalEvent: e,\r\n delegateTarget: e.delegateTarget\r\n })\r\n },\r\n remove: function(element, handleObj) {\r\n var handler = dataUtils.data(element, this._handlerArrayKeyPath)[handleObj.guid];\r\n eventsEngine.off(element, this._originalEventName, handleObj.selector, handler)\r\n },\r\n teardown: function(element) {\r\n dataUtils.removeData(element, this._handlerArrayKeyPath)\r\n }\r\n});\r\nvar HoverStart = Hover.inherit({\r\n ctor: function() {\r\n this._eventNamespace = HOVERSTART_NAMESPACE;\r\n this._eventName = HOVERSTART;\r\n this._originalEventName = POINTERENTER_NAMESPACED_EVENT_NAME;\r\n this.callBase()\r\n },\r\n _handler: function(e) {\r\n var pointers = e.pointers || [];\r\n if (!pointers.length) {\r\n this.callBase(e)\r\n }\r\n }\r\n});\r\nvar HoverEnd = Hover.inherit({\r\n ctor: function() {\r\n this._eventNamespace = HOVEREND_NAMESPACE;\r\n this._eventName = HOVEREND;\r\n this._originalEventName = POINTERLEAVE_NAMESPACED_EVENT_NAME;\r\n this.callBase()\r\n }\r\n});\r\nregisterEvent(HOVERSTART, new HoverStart);\r\nregisterEvent(HOVEREND, new HoverEnd);\r\nexports.start = HOVERSTART;\r\nexports.end = HOVEREND;\r\n","/**\r\n * DevExtreme (ui/resizable.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar $ = require(\"../core/renderer\"),\r\n eventsEngine = require(\"../events/core/events_engine\"),\r\n registerComponent = require(\"../core/component_registrator\"),\r\n commonUtils = require(\"../core/utils/common\"),\r\n extend = require(\"../core/utils/extend\").extend,\r\n inArray = require(\"../core/utils/array\").inArray,\r\n each = require(\"../core/utils/iterator\").each,\r\n typeUtils = require(\"../core/utils/type\"),\r\n windowUtils = require(\"../core/utils/window\"),\r\n translator = require(\"../animation/translator\"),\r\n fitIntoRange = require(\"../core/utils/math\").fitIntoRange,\r\n DOMComponent = require(\"../core/dom_component\"),\r\n eventUtils = require(\"../events/utils\"),\r\n dragEvents = require(\"../events/drag\"),\r\n isPlainObject = typeUtils.isPlainObject,\r\n isFunction = typeUtils.isFunction,\r\n domUtils = require(\"../core/utils/dom\");\r\nvar RESIZABLE = \"dxResizable\",\r\n RESIZABLE_CLASS = \"dx-resizable\",\r\n RESIZABLE_RESIZING_CLASS = \"dx-resizable-resizing\",\r\n RESIZABLE_HANDLE_CLASS = \"dx-resizable-handle\",\r\n RESIZABLE_HANDLE_TOP_CLASS = \"dx-resizable-handle-top\",\r\n RESIZABLE_HANDLE_BOTTOM_CLASS = \"dx-resizable-handle-bottom\",\r\n RESIZABLE_HANDLE_LEFT_CLASS = \"dx-resizable-handle-left\",\r\n RESIZABLE_HANDLE_RIGHT_CLASS = \"dx-resizable-handle-right\",\r\n RESIZABLE_HANDLE_CORNER_CLASS = \"dx-resizable-handle-corner\",\r\n DRAGSTART_START_EVENT_NAME = eventUtils.addNamespace(dragEvents.start, RESIZABLE),\r\n DRAGSTART_EVENT_NAME = eventUtils.addNamespace(dragEvents.move, RESIZABLE),\r\n DRAGSTART_END_EVENT_NAME = eventUtils.addNamespace(dragEvents.end, RESIZABLE);\r\nvar SIDE_BORDER_WIDTH_STYLES = {\r\n left: \"borderLeftWidth\",\r\n top: \"borderTopWidth\",\r\n right: \"borderRightWidth\",\r\n bottom: \"borderBottomWidth\"\r\n};\r\nvar Resizable = DOMComponent.inherit({\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n handles: \"all\",\r\n step: \"1\",\r\n stepPrecision: \"simple\",\r\n area: void 0,\r\n minWidth: 30,\r\n maxWidth: 1 / 0,\r\n minHeight: 30,\r\n maxHeight: 1 / 0,\r\n onResizeStart: null,\r\n onResize: null,\r\n onResizeEnd: null,\r\n roundStepValue: true\r\n })\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this.$element().addClass(RESIZABLE_CLASS)\r\n },\r\n _initMarkup: function() {\r\n this.callBase();\r\n this._renderHandles()\r\n },\r\n _render: function() {\r\n this.callBase();\r\n this._renderActions()\r\n },\r\n _renderActions: function() {\r\n this._resizeStartAction = this._createActionByOption(\"onResizeStart\");\r\n this._resizeEndAction = this._createActionByOption(\"onResizeEnd\");\r\n this._resizeAction = this._createActionByOption(\"onResize\")\r\n },\r\n _renderHandles: function() {\r\n var handles = this.option(\"handles\");\r\n if (\"none\" === handles) {\r\n return\r\n }\r\n var directions = \"all\" === handles ? [\"top\", \"bottom\", \"left\", \"right\"] : handles.split(\" \");\r\n each(directions, function(index, handleName) {\r\n this._renderHandle(handleName)\r\n }.bind(this));\r\n inArray(\"bottom\", directions) + 1 && inArray(\"right\", directions) + 1 && this._renderHandle(\"corner-bottom-right\");\r\n inArray(\"bottom\", directions) + 1 && inArray(\"left\", directions) + 1 && this._renderHandle(\"corner-bottom-left\");\r\n inArray(\"top\", directions) + 1 && inArray(\"right\", directions) + 1 && this._renderHandle(\"corner-top-right\");\r\n inArray(\"top\", directions) + 1 && inArray(\"left\", directions) + 1 && this._renderHandle(\"corner-top-left\")\r\n },\r\n _renderHandle: function(handleName) {\r\n var $element = this.$element(),\r\n $handle = $(\"
\");\r\n $handle.addClass(RESIZABLE_HANDLE_CLASS).addClass(RESIZABLE_HANDLE_CLASS + \"-\" + handleName).appendTo($element);\r\n this._attachEventHandlers($handle)\r\n },\r\n _attachEventHandlers: function($handle) {\r\n if (this.option(\"disabled\")) {\r\n return\r\n }\r\n var handlers = {};\r\n handlers[DRAGSTART_START_EVENT_NAME] = this._dragStartHandler.bind(this);\r\n handlers[DRAGSTART_EVENT_NAME] = this._dragHandler.bind(this);\r\n handlers[DRAGSTART_END_EVENT_NAME] = this._dragEndHandler.bind(this);\r\n eventsEngine.on($handle, handlers, {\r\n direction: \"both\",\r\n immediate: true\r\n })\r\n },\r\n _dragStartHandler: function(e) {\r\n var $element = this.$element();\r\n if ($element.is(\".dx-state-disabled, .dx-state-disabled *\")) {\r\n e.cancel = true;\r\n return\r\n }\r\n this._toggleResizingClass(true);\r\n this._movingSides = this._getMovingSides(e);\r\n this._elementLocation = translator.locate($element);\r\n var elementRect = $element.get(0).getBoundingClientRect();\r\n this._elementSize = {\r\n width: elementRect.width,\r\n height: elementRect.height\r\n };\r\n this._renderDragOffsets(e);\r\n this._resizeStartAction({\r\n event: e,\r\n width: this._elementSize.width,\r\n height: this._elementSize.height,\r\n handles: this._movingSides\r\n });\r\n e.targetElements = null\r\n },\r\n _toggleResizingClass: function(value) {\r\n this.$element().toggleClass(RESIZABLE_RESIZING_CLASS, value)\r\n },\r\n _renderDragOffsets: function(e) {\r\n var area = this._getArea();\r\n if (!area) {\r\n return\r\n }\r\n var $handle = $(e.target).closest(\".\" + RESIZABLE_HANDLE_CLASS),\r\n handleWidth = $handle.outerWidth(),\r\n handleHeight = $handle.outerHeight(),\r\n handleOffset = $handle.offset(),\r\n areaOffset = area.offset,\r\n scrollOffset = this._getAreaScrollOffset();\r\n e.maxLeftOffset = handleOffset.left - areaOffset.left - scrollOffset.scrollX;\r\n e.maxRightOffset = areaOffset.left + area.width - handleOffset.left - handleWidth + scrollOffset.scrollX;\r\n e.maxTopOffset = handleOffset.top - areaOffset.top - scrollOffset.scrollY;\r\n e.maxBottomOffset = areaOffset.top + area.height - handleOffset.top - handleHeight + scrollOffset.scrollY\r\n },\r\n _getBorderWidth: function($element, direction) {\r\n if (typeUtils.isWindow($element.get(0))) {\r\n return 0\r\n }\r\n var borderWidth = $element.css(SIDE_BORDER_WIDTH_STYLES[direction]);\r\n return parseInt(borderWidth) || 0\r\n },\r\n _dragHandler: function(e) {\r\n var $element = this.$element(),\r\n sides = this._movingSides;\r\n var location = this._elementLocation,\r\n size = this._elementSize,\r\n offset = this._getOffset(e);\r\n var width = size.width + offset.x * (sides.left ? -1 : 1),\r\n height = size.height + offset.y * (sides.top ? -1 : 1);\r\n if (offset.x || \"strict\" === this.option(\"stepPrecision\")) {\r\n this._renderWidth(width)\r\n }\r\n if (offset.y || \"strict\" === this.option(\"stepPrecision\")) {\r\n this._renderHeight(height)\r\n }\r\n var elementRect = $element.get(0).getBoundingClientRect(),\r\n offsetTop = offset.y - ((elementRect.height || height) - height),\r\n offsetLeft = offset.x - ((elementRect.width || width) - width);\r\n translator.move($element, {\r\n top: location.top + (sides.top ? offsetTop : 0),\r\n left: location.left + (sides.left ? offsetLeft : 0)\r\n });\r\n this._resizeAction({\r\n event: e,\r\n width: this.option(\"width\") || width,\r\n height: this.option(\"height\") || height,\r\n handles: this._movingSides\r\n });\r\n domUtils.triggerResizeEvent($element)\r\n },\r\n _getOffset: function(e) {\r\n var offset = e.offset,\r\n steps = commonUtils.pairToObject(this.option(\"step\"), !this.option(\"roundStepValue\")),\r\n sides = this._getMovingSides(e),\r\n strictPrecision = \"strict\" === this.option(\"stepPrecision\");\r\n if (!sides.left && !sides.right) {\r\n offset.x = 0\r\n }\r\n if (!sides.top && !sides.bottom) {\r\n offset.y = 0\r\n }\r\n return strictPrecision ? this._getStrictOffset(offset, steps, sides) : this._getSimpleOffset(offset, steps)\r\n },\r\n _getSimpleOffset: function(offset, steps) {\r\n return {\r\n x: offset.x - offset.x % steps.h,\r\n y: offset.y - offset.y % steps.v\r\n }\r\n },\r\n _getStrictOffset: function(offset, steps, sides) {\r\n var location = this._elementLocation,\r\n size = this._elementSize,\r\n xPos = sides.left ? location.left : location.left + size.width,\r\n yPos = sides.top ? location.top : location.top + size.height,\r\n newXShift = (xPos + offset.x) % steps.h,\r\n newYShift = (yPos + offset.y) % steps.v,\r\n sign = Math.sign || function(x) {\r\n x = +x;\r\n if (0 === x || isNaN(x)) {\r\n return x\r\n }\r\n return x > 0 ? 1 : -1\r\n },\r\n separatorOffset = function(steps, offset) {\r\n return (1 + .2 * sign(offset)) % 1 * steps\r\n },\r\n isSmallOffset = function(offset, steps) {\r\n return Math.abs(offset) < .2 * steps\r\n };\r\n var newOffsetX = offset.x - newXShift,\r\n newOffsetY = offset.y - newYShift;\r\n if (newXShift > separatorOffset(steps.h, offset.x)) {\r\n newOffsetX += steps.h\r\n }\r\n if (newYShift > separatorOffset(steps.v, offset.y)) {\r\n newOffsetY += steps.v\r\n }\r\n return {\r\n x: (sides.left || sides.right) && !isSmallOffset(offset.x, steps.h) ? newOffsetX : 0,\r\n y: (sides.top || sides.bottom) && !isSmallOffset(offset.y, steps.v) ? newOffsetY : 0\r\n }\r\n },\r\n _getMovingSides: function(e) {\r\n var $target = $(e.target),\r\n hasCornerTopLeftClass = $target.hasClass(RESIZABLE_HANDLE_CORNER_CLASS + \"-top-left\"),\r\n hasCornerTopRightClass = $target.hasClass(RESIZABLE_HANDLE_CORNER_CLASS + \"-top-right\"),\r\n hasCornerBottomLeftClass = $target.hasClass(RESIZABLE_HANDLE_CORNER_CLASS + \"-bottom-left\"),\r\n hasCornerBottomRightClass = $target.hasClass(RESIZABLE_HANDLE_CORNER_CLASS + \"-bottom-right\");\r\n return {\r\n top: $target.hasClass(RESIZABLE_HANDLE_TOP_CLASS) || hasCornerTopLeftClass || hasCornerTopRightClass,\r\n left: $target.hasClass(RESIZABLE_HANDLE_LEFT_CLASS) || hasCornerTopLeftClass || hasCornerBottomLeftClass,\r\n bottom: $target.hasClass(RESIZABLE_HANDLE_BOTTOM_CLASS) || hasCornerBottomLeftClass || hasCornerBottomRightClass,\r\n right: $target.hasClass(RESIZABLE_HANDLE_RIGHT_CLASS) || hasCornerTopRightClass || hasCornerBottomRightClass\r\n }\r\n },\r\n _getArea: function() {\r\n var area = this.option(\"area\");\r\n if (isFunction(area)) {\r\n area = area.call(this)\r\n }\r\n if (isPlainObject(area)) {\r\n return this._getAreaFromObject(area)\r\n }\r\n return this._getAreaFromElement(area)\r\n },\r\n _getAreaScrollOffset: function() {\r\n var area = this.option(\"area\");\r\n var isElement = !isFunction(area) && !isPlainObject(area);\r\n var scrollOffset = {\r\n scrollY: 0,\r\n scrollX: 0\r\n };\r\n if (isElement) {\r\n var areaElement = $(area)[0];\r\n if (typeUtils.isWindow(areaElement)) {\r\n scrollOffset.scrollX = areaElement.pageXOffset;\r\n scrollOffset.scrollY = areaElement.pageYOffset\r\n }\r\n }\r\n return scrollOffset\r\n },\r\n _getAreaFromObject: function(area) {\r\n var result = {\r\n width: area.right - area.left,\r\n height: area.bottom - area.top,\r\n offset: {\r\n left: area.left,\r\n top: area.top\r\n }\r\n };\r\n this._correctAreaGeometry(result);\r\n return result\r\n },\r\n _getAreaFromElement: function(area) {\r\n var result, $area = $(area);\r\n if ($area.length) {\r\n result = {\r\n width: $area.innerWidth(),\r\n height: $area.innerHeight(),\r\n offset: extend({\r\n top: 0,\r\n left: 0\r\n }, typeUtils.isWindow($area[0]) ? {} : $area.offset())\r\n };\r\n this._correctAreaGeometry(result, $area)\r\n }\r\n return result\r\n },\r\n _correctAreaGeometry: function(result, $area) {\r\n var areaBorderLeft = $area ? this._getBorderWidth($area, \"left\") : 0,\r\n areaBorderTop = $area ? this._getBorderWidth($area, \"top\") : 0;\r\n result.offset.left += areaBorderLeft + this._getBorderWidth(this.$element(), \"left\");\r\n result.offset.top += areaBorderTop + this._getBorderWidth(this.$element(), \"top\");\r\n result.width -= this.$element().outerWidth() - this.$element().innerWidth();\r\n result.height -= this.$element().outerHeight() - this.$element().innerHeight()\r\n },\r\n _dragEndHandler: function(e) {\r\n var $element = this.$element();\r\n this._resizeEndAction({\r\n event: e,\r\n width: $element.outerWidth(),\r\n height: $element.outerHeight(),\r\n handles: this._movingSides\r\n });\r\n this._toggleResizingClass(false)\r\n },\r\n _renderWidth: function(width) {\r\n this.option(\"width\", fitIntoRange(width, this.option(\"minWidth\"), this.option(\"maxWidth\")))\r\n },\r\n _renderHeight: function(height) {\r\n this.option(\"height\", fitIntoRange(height, this.option(\"minHeight\"), this.option(\"maxHeight\")))\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"disabled\":\r\n case \"handles\":\r\n this._invalidate();\r\n break;\r\n case \"minWidth\":\r\n case \"maxWidth\":\r\n windowUtils.hasWindow() && this._renderWidth(this.$element().outerWidth());\r\n break;\r\n case \"minHeight\":\r\n case \"maxHeight\":\r\n windowUtils.hasWindow() && this._renderHeight(this.$element().outerHeight());\r\n break;\r\n case \"onResize\":\r\n case \"onResizeStart\":\r\n case \"onResizeEnd\":\r\n this._renderActions();\r\n break;\r\n case \"area\":\r\n case \"stepPrecision\":\r\n case \"step\":\r\n case \"roundStepValue\":\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _clean: function() {\r\n this.$element().find(\".\" + RESIZABLE_HANDLE_CLASS).remove()\r\n }\r\n});\r\nregisterComponent(RESIZABLE, Resizable);\r\nmodule.exports = Resizable;\r\nmodule.exports.default = module.exports;\r\n","/**\r\n * DevExtreme (ui/collection/ui.collection_widget.edit.strategy.plain.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _typeof = \"function\" === typeof Symbol && \"symbol\" === typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n} : function(obj) {\r\n return obj && \"function\" === typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n};\r\nvar inArray = require(\"../../core/utils/array\").inArray,\r\n EditStrategy = require(\"./ui.collection_widget.edit.strategy\");\r\nvar PlainEditStrategy = EditStrategy.inherit({\r\n _getPlainItems: function() {\r\n return this._collectionWidget.option(\"items\") || []\r\n },\r\n getIndexByItemData: function(itemData) {\r\n var keyOf = this._collectionWidget.keyOf.bind(this._collectionWidget);\r\n if (keyOf) {\r\n return this.getIndexByKey(keyOf(itemData))\r\n } else {\r\n return inArray(itemData, this._getPlainItems())\r\n }\r\n },\r\n getItemDataByIndex: function(index) {\r\n return this._getPlainItems()[index]\r\n },\r\n deleteItemAtIndex: function(index) {\r\n this._getPlainItems().splice(index, 1)\r\n },\r\n itemsGetter: function() {\r\n return this._getPlainItems()\r\n },\r\n getKeysByItems: function(items) {\r\n var keyOf = this._collectionWidget.keyOf.bind(this._collectionWidget);\r\n var result = items;\r\n if (keyOf) {\r\n result = [];\r\n for (var i = 0; i < items.length; i++) {\r\n result.push(keyOf(items[i]))\r\n }\r\n }\r\n return result\r\n },\r\n getIndexByKey: function(key) {\r\n var cache = this._cache,\r\n keys = cache && cache.keys || this.getKeysByItems(this._getPlainItems());\r\n if (cache && !cache.keys) {\r\n cache.keys = keys\r\n }\r\n if (\"object\" === (\"undefined\" === typeof key ? \"undefined\" : _typeof(key))) {\r\n for (var i = 0, length = keys.length; i < length; i++) {\r\n if (this._equalKeys(key, keys[i])) {\r\n return i\r\n }\r\n }\r\n } else {\r\n return keys.indexOf(key)\r\n }\r\n return -1\r\n },\r\n getItemsByKeys: function(keys, items) {\r\n return (items || keys).slice()\r\n },\r\n moveItemAtIndexToIndex: function(movingIndex, destinationIndex) {\r\n var items = this._getPlainItems(),\r\n movedItemData = items[movingIndex];\r\n items.splice(movingIndex, 1);\r\n items.splice(destinationIndex, 0, movedItemData)\r\n },\r\n _isItemIndex: function(index) {\r\n return \"number\" === typeof index && Math.round(index) === index\r\n },\r\n _getNormalizedItemIndex: function(itemElement) {\r\n return this._collectionWidget._itemElements().index(itemElement)\r\n },\r\n _normalizeItemIndex: function(index) {\r\n return index\r\n },\r\n _denormalizeItemIndex: function(index) {\r\n return index\r\n },\r\n _getItemByNormalizedIndex: function(index) {\r\n return index > -1 ? this._collectionWidget._itemElements().eq(index) : null\r\n },\r\n _itemsFromSameParent: function() {\r\n return true\r\n }\r\n});\r\nmodule.exports = PlainEditStrategy;\r\n","/**\r\n * DevExtreme (core/version.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nmodule.exports = \"19.1.6\";\r\n","/**\r\n * DevExtreme (core/component.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _typeof = \"function\" === typeof Symbol && \"symbol\" === typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n} : function(obj) {\r\n return obj && \"function\" === typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n};\r\nvar _createClass = function() {\r\n function defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, descriptor.key, descriptor)\r\n }\r\n }\r\n return function(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n defineProperties(Constructor, staticProps)\r\n }\r\n return Constructor\r\n }\r\n}();\r\n\r\nfunction _toConsumableArray(arr) {\r\n if (Array.isArray(arr)) {\r\n for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) {\r\n arr2[i] = arr[i]\r\n }\r\n return arr2\r\n } else {\r\n return Array.from(arr)\r\n }\r\n}\r\n\r\nfunction _classCallCheck(instance, Constructor) {\r\n if (!(instance instanceof Constructor)) {\r\n throw new TypeError(\"Cannot call a class as a function\")\r\n }\r\n}\r\nvar Config = require(\"./config\"),\r\n domAdapter = require(\"./dom_adapter\"),\r\n extend = require(\"./utils/extend\").extend,\r\n Class = require(\"./class\"),\r\n Action = require(\"./action\"),\r\n errors = require(\"./errors\"),\r\n coreDataUtils = require(\"./utils/data\"),\r\n commonUtils = require(\"./utils/common\"),\r\n typeUtils = require(\"./utils/type\"),\r\n deferredUtils = require(\"../core/utils/deferred\"),\r\n Deferred = deferredUtils.Deferred,\r\n when = deferredUtils.when,\r\n Callbacks = require(\"./utils/callbacks\"),\r\n EventsMixin = require(\"./events_mixin\"),\r\n publicComponentUtils = require(\"./utils/public_component\"),\r\n devices = require(\"./devices\"),\r\n isFunction = typeUtils.isFunction,\r\n noop = commonUtils.noop;\r\nvar cachedGetters = {};\r\nvar cachedSetters = {};\r\nvar PostponedOperations = function() {\r\n function PostponedOperations() {\r\n _classCallCheck(this, PostponedOperations);\r\n this._postponedOperations = {}\r\n }\r\n _createClass(PostponedOperations, [{\r\n key: \"add\",\r\n value: function(key, fn, postponedPromise) {\r\n if (key in this._postponedOperations) {\r\n postponedPromise && this._postponedOperations[key].promises.push(postponedPromise)\r\n } else {\r\n var completePromise = new Deferred;\r\n this._postponedOperations[key] = {\r\n fn: fn,\r\n completePromise: completePromise,\r\n promises: postponedPromise ? [postponedPromise] : []\r\n }\r\n }\r\n return this._postponedOperations[key].completePromise.promise()\r\n }\r\n }, {\r\n key: \"callPostponedOperations\",\r\n value: function() {\r\n for (var key in this._postponedOperations) {\r\n var operation = this._postponedOperations[key];\r\n if (typeUtils.isDefined(operation)) {\r\n if (operation.promises && operation.promises.length) {\r\n when.apply(void 0, _toConsumableArray(operation.promises)).done(operation.fn).then(operation.completePromise.resolve)\r\n } else {\r\n operation.fn().done(operation.completePromise.resolve)\r\n }\r\n }\r\n }\r\n this._postponedOperations = {}\r\n }\r\n }]);\r\n return PostponedOperations\r\n}();\r\nvar Component = Class.inherit({\r\n _setDeprecatedOptions: function() {\r\n this._deprecatedOptions = {}\r\n },\r\n _getDeprecatedOptions: function() {\r\n return this._deprecatedOptions\r\n },\r\n _getOptionAliasesByName: function(optionName) {\r\n var _this = this;\r\n return Object.keys(this._deprecatedOptions).filter(function(aliasName) {\r\n return optionName === _this._deprecatedOptions[aliasName].alias\r\n })\r\n },\r\n _getDefaultOptions: function() {\r\n return {\r\n onInitialized: null,\r\n onOptionChanged: null,\r\n onDisposing: null,\r\n defaultOptionsRules: null\r\n }\r\n },\r\n _setDefaultOptions: function() {\r\n this._options = this._getDefaultOptions()\r\n },\r\n _defaultOptionsRules: function() {\r\n return []\r\n },\r\n _setOptionsByDevice: function(customRules) {\r\n var rules = this._defaultOptionsRules();\r\n if (Array.isArray(customRules)) {\r\n rules = rules.concat(customRules)\r\n }\r\n var rulesOptions = this._convertRulesToOptions(rules);\r\n extend(true, this._options, rulesOptions);\r\n for (var fieldName in this._optionsByReference) {\r\n if (Object.prototype.hasOwnProperty.call(rulesOptions, fieldName)) {\r\n this._options[fieldName] = rulesOptions[fieldName]\r\n }\r\n }\r\n },\r\n _convertRulesToOptions: function(rules) {\r\n var options = {};\r\n var currentDevice = devices.current();\r\n var deviceMatch = function(device, filter) {\r\n var filterArray = [];\r\n Array.prototype.push.call(filterArray, filter);\r\n return 1 === filterArray.length && typeUtils.isEmptyObject(filterArray[0]) || commonUtils.findBestMatches(device, filterArray).length > 0\r\n };\r\n for (var i = 0; i < rules.length; i++) {\r\n var match, rule = rules[i],\r\n deviceFilter = rule.device || {};\r\n if (isFunction(deviceFilter)) {\r\n match = deviceFilter(currentDevice)\r\n } else {\r\n match = deviceMatch(currentDevice, deviceFilter)\r\n }\r\n if (match) {\r\n extend(options, rule.options)\r\n }\r\n }\r\n return options\r\n },\r\n _isInitialOptionValue: function(name) {\r\n var optionValue = this.option(name),\r\n initialOptionValue = this.initialOption(name),\r\n isInitialOption = isFunction(optionValue) && isFunction(initialOptionValue) ? optionValue.toString() === initialOptionValue.toString() : commonUtils.equalByValue(optionValue, initialOptionValue);\r\n return isInitialOption\r\n },\r\n _setOptionsByReference: function() {\r\n this._optionsByReference = {}\r\n },\r\n _getOptionsByReference: function() {\r\n return this._optionsByReference\r\n },\r\n ctor: function(options) {\r\n this.NAME = publicComponentUtils.name(this.constructor);\r\n options = options || {};\r\n if (options.eventsStrategy) {\r\n this.setEventsStrategy(options.eventsStrategy)\r\n }\r\n this._options = {};\r\n this._updateLockCount = 0;\r\n this._optionChangedCallbacks = options._optionChangedCallbacks || Callbacks();\r\n this._disposingCallbacks = options._disposingCallbacks || Callbacks();\r\n this.postponedOperations = new PostponedOperations;\r\n this.beginUpdate();\r\n try {\r\n this._suppressDeprecatedWarnings();\r\n this._setOptionsByReference();\r\n this._setDeprecatedOptions();\r\n this._setDefaultOptions();\r\n if (options && options.onInitializing) {\r\n options.onInitializing.apply(this, [options])\r\n }\r\n this._setOptionsByDevice(options.defaultOptionsRules);\r\n this._resumeDeprecatedWarnings();\r\n this._initOptions(options)\r\n } finally {\r\n this.endUpdate()\r\n }\r\n },\r\n _initOptions: function(options) {\r\n this.option(options)\r\n },\r\n _optionValuesEqual: function(name, oldValue, newValue) {\r\n oldValue = coreDataUtils.toComparable(oldValue, true);\r\n newValue = coreDataUtils.toComparable(newValue, true);\r\n if (oldValue && newValue && typeUtils.isRenderer(oldValue) && typeUtils.isRenderer(newValue)) {\r\n return newValue.is(oldValue)\r\n }\r\n var oldValueIsNaN = oldValue !== oldValue,\r\n newValueIsNaN = newValue !== newValue;\r\n if (oldValueIsNaN && newValueIsNaN) {\r\n return true\r\n }\r\n if (null === oldValue || \"object\" !== (\"undefined\" === typeof oldValue ? \"undefined\" : _typeof(oldValue)) || domAdapter.isElementNode(oldValue)) {\r\n return oldValue === newValue\r\n }\r\n return false\r\n },\r\n _init: function() {\r\n this._createOptionChangedAction();\r\n this.on(\"disposing\", function(args) {\r\n this._disposingCallbacks.fireWith(this, [args])\r\n }.bind(this))\r\n },\r\n _createOptionChangedAction: function() {\r\n this._optionChangedAction = this._createActionByOption(\"onOptionChanged\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })\r\n },\r\n _createDisposingAction: function() {\r\n this._disposingAction = this._createActionByOption(\"onDisposing\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"onDisposing\":\r\n case \"onInitialized\":\r\n break;\r\n case \"onOptionChanged\":\r\n this._createOptionChangedAction();\r\n break;\r\n case \"defaultOptionsRules\":\r\n }\r\n },\r\n _dispose: function() {\r\n this._optionChangedCallbacks.empty();\r\n this._createDisposingAction();\r\n this._disposingAction();\r\n this._disposeEvents();\r\n this._disposed = true\r\n },\r\n instance: function() {\r\n return this\r\n },\r\n beginUpdate: function() {\r\n this._updateLockCount++\r\n },\r\n endUpdate: function() {\r\n this._updateLockCount = Math.max(this._updateLockCount - 1, 0);\r\n if (!this._updateLockCount) {\r\n this.postponedOperations.callPostponedOperations();\r\n if (!this._initializing && !this._initialized) {\r\n this._initializing = true;\r\n try {\r\n this._init()\r\n } finally {\r\n this._initializing = false;\r\n this._updateLockCount++;\r\n this._createActionByOption(\"onInitialized\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })();\r\n this._updateLockCount--;\r\n this._initialized = true\r\n }\r\n }\r\n }\r\n },\r\n _logWarningIfDeprecated: function(option) {\r\n var info = this._deprecatedOptions[option];\r\n if (info && !this._deprecatedOptionsSuppressed) {\r\n this._logDeprecatedWarning(option, info)\r\n }\r\n },\r\n _logDeprecatedWarningCount: 0,\r\n _logDeprecatedWarning: function(option, info) {\r\n var message = info.message || \"Use the '\" + info.alias + \"' option instead\";\r\n errors.log(\"W0001\", this.NAME, option, info.since, message);\r\n ++this._logDeprecatedWarningCount\r\n },\r\n _suppressDeprecatedWarnings: function() {\r\n this._deprecatedOptionsSuppressed = true\r\n },\r\n _resumeDeprecatedWarnings: function() {\r\n this._deprecatedOptionsSuppressed = false\r\n },\r\n _optionChanging: noop,\r\n _notifyOptionChanged: function(option, value, previousValue) {\r\n var that = this;\r\n if (this._initialized) {\r\n var optionNames = [option].concat(that._getOptionAliasesByName(option));\r\n for (var i = 0; i < optionNames.length; i++) {\r\n var name = optionNames[i],\r\n args = {\r\n name: name.split(/[.[]/)[0],\r\n fullName: name,\r\n value: value,\r\n previousValue: previousValue\r\n };\r\n that._optionChangedCallbacks.fireWith(that, [extend(that._defaultActionArgs(), args)]);\r\n that._optionChangedAction(extend({}, args));\r\n if (!that._disposed && this._cancelOptionChange !== args.name) {\r\n that._optionChanged(args)\r\n }\r\n }\r\n }\r\n },\r\n initialOption: function(optionName) {\r\n var currentOptions, currentInitialized = this._initialized;\r\n if (!this._initialOptions) {\r\n currentOptions = this._options;\r\n this._options = {};\r\n this._initialized = false;\r\n this._setDefaultOptions();\r\n this._setOptionsByDevice(currentOptions.defaultOptionsRules);\r\n this._initialOptions = this._options;\r\n this._options = currentOptions;\r\n this._initialized = currentInitialized\r\n }\r\n return this._initialOptions[optionName]\r\n },\r\n _defaultActionConfig: function() {\r\n return {\r\n context: this,\r\n component: this\r\n }\r\n },\r\n _defaultActionArgs: function() {\r\n return {\r\n component: this\r\n }\r\n },\r\n _createAction: function(actionSource, config) {\r\n var action, that = this;\r\n return function(e) {\r\n if (!arguments.length) {\r\n e = {}\r\n }\r\n if (!typeUtils.isPlainObject(e)) {\r\n e = {\r\n actionValue: e\r\n }\r\n }\r\n action = action || new Action(actionSource, extend(config, that._defaultActionConfig()));\r\n return action.execute.call(action, extend(e, that._defaultActionArgs()))\r\n }\r\n },\r\n _createActionByOption: function(optionName, config) {\r\n var action, eventName, actionFunc, that = this;\r\n var result = function() {\r\n if (!eventName) {\r\n config = config || {};\r\n if (\"string\" !== typeof optionName) {\r\n throw errors.Error(\"E0008\")\r\n }\r\n if (0 === optionName.indexOf(\"on\")) {\r\n eventName = that._getEventName(optionName)\r\n }\r\n actionFunc = that.option(optionName)\r\n }\r\n if (!action && !actionFunc && !config.beforeExecute && !config.afterExecute && !that.hasEvent(eventName)) {\r\n return\r\n }\r\n if (!action) {\r\n var beforeExecute = config.beforeExecute;\r\n config.beforeExecute = function(args) {\r\n beforeExecute && beforeExecute.apply(that, arguments);\r\n that.fireEvent(eventName, args.args)\r\n };\r\n that._suppressDeprecatedWarnings();\r\n action = that._createAction(actionFunc, config);\r\n that._resumeDeprecatedWarnings()\r\n }\r\n if (Config().wrapActionsBeforeExecute) {\r\n var beforeActionExecute = that.option(\"beforeActionExecute\") || noop;\r\n var wrappedAction = beforeActionExecute(that, action, config) || action;\r\n return wrappedAction.apply(that, arguments)\r\n }\r\n return action.apply(that, arguments)\r\n };\r\n if (!Config().wrapActionsBeforeExecute) {\r\n var onActionCreated = that.option(\"onActionCreated\") || noop;\r\n result = onActionCreated(that, result, config) || result\r\n }\r\n return result\r\n },\r\n _getEventName: function(actionName) {\r\n return actionName.charAt(2).toLowerCase() + actionName.substr(3)\r\n },\r\n hasActionSubscription: function(actionName) {\r\n return !!this.option(actionName) || this.hasEvent(this._getEventName(actionName))\r\n },\r\n isOptionDeprecated: function(name) {\r\n var deprecatedOptions = this._getDeprecatedOptions();\r\n return Object.prototype.hasOwnProperty.call(deprecatedOptions, name)\r\n },\r\n _setOptionSilent: function(name, value) {\r\n this._cancelOptionChange = name;\r\n this.option(name, value);\r\n this._cancelOptionChange = false\r\n },\r\n option: function() {\r\n var normalizeOptionName = function(that, name) {\r\n var deprecate;\r\n if (name) {\r\n if (!that._cachedDeprecateNames) {\r\n that._cachedDeprecateNames = [];\r\n for (var optionName in that._deprecatedOptions) {\r\n that._cachedDeprecateNames.push(optionName)\r\n }\r\n }\r\n for (var i = 0; i < that._cachedDeprecateNames.length; i++) {\r\n if (that._cachedDeprecateNames[i] === name) {\r\n deprecate = that._deprecatedOptions[name];\r\n break\r\n }\r\n }\r\n if (deprecate) {\r\n that._logWarningIfDeprecated(name);\r\n var alias = deprecate.alias;\r\n if (alias) {\r\n name = alias\r\n }\r\n }\r\n }\r\n return name\r\n };\r\n var getPreviousName = function(fullName) {\r\n var splitNames = fullName.split(\".\");\r\n splitNames.pop();\r\n return splitNames.join(\".\")\r\n };\r\n var getFieldName = function(fullName) {\r\n var splitNames = fullName.split(\".\");\r\n return splitNames[splitNames.length - 1]\r\n };\r\n var getOptionValue = function(options, name, unwrapObservables) {\r\n var getter = cachedGetters[name];\r\n if (!getter) {\r\n getter = cachedGetters[name] = coreDataUtils.compileGetter(name)\r\n }\r\n return getter(options, {\r\n functionsAsIs: true,\r\n unwrapObservables: unwrapObservables\r\n })\r\n };\r\n var clearOptionsField = function(options, name) {\r\n delete options[name];\r\n var previousFieldName = getPreviousName(name),\r\n fieldName = getFieldName(name),\r\n fieldObject = previousFieldName ? getOptionValue(options, previousFieldName, false) : options;\r\n if (fieldObject) {\r\n delete fieldObject[fieldName]\r\n }\r\n };\r\n var setOptionsField = function(options, fullName, value) {\r\n var fieldObject, fieldName = \"\";\r\n do {\r\n if (fieldName) {\r\n fieldName = \".\" + fieldName\r\n }\r\n fieldName = getFieldName(fullName) + fieldName;\r\n fullName = getPreviousName(fullName);\r\n fieldObject = fullName ? getOptionValue(options, fullName, false) : options\r\n } while (!fieldObject);\r\n fieldObject[fieldName] = value\r\n };\r\n var normalizeOptionValue = function(that, options, name, value) {\r\n if (name) {\r\n var alias = normalizeOptionName(that, name);\r\n if (alias && alias !== name) {\r\n setOptionsField(options, alias, value);\r\n clearOptionsField(options, name)\r\n }\r\n }\r\n };\r\n var prepareOption = function prepareOption(that, options, name, value) {\r\n if (typeUtils.isPlainObject(value)) {\r\n for (var valueName in value) {\r\n prepareOption(that, options, name + \".\" + valueName, value[valueName])\r\n }\r\n }\r\n normalizeOptionValue(that, options, name, value)\r\n };\r\n var setOptionValue = function(that, name, value) {\r\n if (!cachedSetters[name]) {\r\n cachedSetters[name] = coreDataUtils.compileSetter(name)\r\n }\r\n var path = name.split(/[.[]/);\r\n cachedSetters[name](that._options, value, {\r\n functionsAsIs: true,\r\n merge: !that._getOptionsByReference()[name],\r\n unwrapObservables: path.length > 1 && !!that._getOptionsByReference()[path[0]]\r\n })\r\n };\r\n var setOption = function(that, name, value) {\r\n var previousValue = getOptionValue(that._options, name, false);\r\n if (that._optionValuesEqual(name, previousValue, value)) {\r\n return\r\n }\r\n if (that._initialized) {\r\n that._optionChanging(name, previousValue, value)\r\n }\r\n setOptionValue(that, name, value);\r\n that._notifyOptionChanged(name, value, previousValue)\r\n };\r\n return function(options, value) {\r\n var that = this,\r\n name = options;\r\n if (arguments.length < 2 && \"object\" !== typeUtils.type(name)) {\r\n name = normalizeOptionName(that, name);\r\n return getOptionValue(that._options, name)\r\n }\r\n if (\"string\" === typeof name) {\r\n options = {};\r\n options[name] = value\r\n }\r\n that.beginUpdate();\r\n try {\r\n var optionName;\r\n for (optionName in options) {\r\n prepareOption(that, options, optionName, options[optionName])\r\n }\r\n for (optionName in options) {\r\n setOption(that, optionName, options[optionName])\r\n }\r\n } finally {\r\n that.endUpdate()\r\n }\r\n }\r\n }(),\r\n _getOptionValue: function(name, context) {\r\n var value = this.option(name);\r\n if (isFunction(value)) {\r\n return value.bind(context)()\r\n }\r\n return value\r\n }\r\n}).include(EventsMixin);\r\nmodule.exports = Component;\r\nmodule.exports.PostponedOperations = PostponedOperations;\r\n","/**\r\n * DevExtreme (events/gesture/emitter.gesture.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar $ = require(\"../../core/renderer\"),\r\n eventsEngine = require(\"../../events/core/events_engine\"),\r\n devices = require(\"../../core/devices\"),\r\n styleUtils = require(\"../../core/utils/style\"),\r\n callOnce = require(\"../../core/utils/call_once\"),\r\n domUtils = require(\"../../core/utils/dom\"),\r\n readyCallbacks = require(\"../../core/utils/ready_callbacks\"),\r\n ready = readyCallbacks.add,\r\n mathUtils = require(\"../../core/utils/math\"),\r\n noop = require(\"../../core/utils/common\").noop,\r\n isDefined = require(\"../../core/utils/type\").isDefined,\r\n eventUtils = require(\"../utils\"),\r\n Emitter = require(\"../core/emitter\"),\r\n sign = mathUtils.sign,\r\n abs = Math.abs;\r\nvar SLEEP = 0,\r\n INITED = 1,\r\n STARTED = 2,\r\n TOUCH_BOUNDARY = 10,\r\n IMMEDIATE_TOUCH_BOUNDARY = 0,\r\n IMMEDIATE_TIMEOUT = 180;\r\nvar supportPointerEvents = function() {\r\n return styleUtils.styleProp(\"pointer-events\")\r\n};\r\nvar setGestureCover = callOnce(function() {\r\n var GESTURE_COVER_CLASS = \"dx-gesture-cover\";\r\n var isDesktop = \"generic\" === devices.real().platform;\r\n if (!supportPointerEvents() || !isDesktop) {\r\n return noop\r\n }\r\n var $cover = $(\"
\").addClass(GESTURE_COVER_CLASS).css(\"pointerEvents\", \"none\");\r\n eventsEngine.subscribeGlobal($cover, \"dxmousewheel\", function(e) {\r\n e.preventDefault()\r\n });\r\n ready(function() {\r\n $cover.appendTo(\"body\")\r\n });\r\n return function(toggle, cursor) {\r\n $cover.css(\"pointerEvents\", toggle ? \"all\" : \"none\");\r\n toggle && $cover.css(\"cursor\", cursor)\r\n }\r\n});\r\nvar gestureCover = function(toggle, cursor) {\r\n var gestureCoverStrategy = setGestureCover();\r\n gestureCoverStrategy(toggle, cursor)\r\n};\r\nvar GestureEmitter = Emitter.inherit({\r\n gesture: true,\r\n configure: function(data) {\r\n this.getElement().css(\"msTouchAction\", data.immediate ? \"pinch-zoom\" : \"\");\r\n this.callBase(data)\r\n },\r\n allowInterruptionByMouseWheel: function() {\r\n return this._stage !== STARTED\r\n },\r\n getDirection: function() {\r\n return this.direction\r\n },\r\n _cancel: function() {\r\n this.callBase.apply(this, arguments);\r\n this._toggleGestureCover(false);\r\n this._stage = SLEEP\r\n },\r\n start: function(e) {\r\n if (e._needSkipEvent || eventUtils.needSkipEvent(e)) {\r\n this._cancel(e);\r\n return\r\n }\r\n this._startEvent = eventUtils.createEvent(e);\r\n this._startEventData = eventUtils.eventData(e);\r\n this._stage = INITED;\r\n this._init(e);\r\n this._setupImmediateTimer()\r\n },\r\n _setupImmediateTimer: function() {\r\n clearTimeout(this._immediateTimer);\r\n this._immediateAccepted = false;\r\n if (!this.immediate) {\r\n return\r\n }\r\n this._immediateTimer = setTimeout(function() {\r\n this._immediateAccepted = true\r\n }.bind(this), IMMEDIATE_TIMEOUT)\r\n },\r\n move: function(e) {\r\n if (this._stage === INITED && this._directionConfirmed(e)) {\r\n this._stage = STARTED;\r\n this._resetActiveElement();\r\n this._toggleGestureCover(true);\r\n this._clearSelection(e);\r\n this._adjustStartEvent(e);\r\n this._start(this._startEvent);\r\n if (this._stage === SLEEP) {\r\n return\r\n }\r\n this._requestAccept(e);\r\n this._move(e);\r\n this._forgetAccept()\r\n } else {\r\n if (this._stage === STARTED) {\r\n this._clearSelection(e);\r\n this._move(e)\r\n }\r\n }\r\n },\r\n _directionConfirmed: function(e) {\r\n var touchBoundary = this._getTouchBoundary(e),\r\n delta = eventUtils.eventDelta(this._startEventData, eventUtils.eventData(e)),\r\n deltaX = abs(delta.x),\r\n deltaY = abs(delta.y);\r\n var horizontalMove = this._validateMove(touchBoundary, deltaX, deltaY),\r\n verticalMove = this._validateMove(touchBoundary, deltaY, deltaX);\r\n var direction = this.getDirection(e),\r\n bothAccepted = \"both\" === direction && (horizontalMove || verticalMove),\r\n horizontalAccepted = \"horizontal\" === direction && horizontalMove,\r\n verticalAccepted = \"vertical\" === direction && verticalMove;\r\n return bothAccepted || horizontalAccepted || verticalAccepted || this._immediateAccepted\r\n },\r\n _validateMove: function(touchBoundary, mainAxis, crossAxis) {\r\n return mainAxis && mainAxis >= touchBoundary && (this.immediate ? mainAxis >= crossAxis : true)\r\n },\r\n _getTouchBoundary: function(e) {\r\n return this.immediate || eventUtils.isDxMouseWheelEvent(e) ? IMMEDIATE_TOUCH_BOUNDARY : TOUCH_BOUNDARY\r\n },\r\n _adjustStartEvent: function(e) {\r\n var touchBoundary = this._getTouchBoundary(e),\r\n delta = eventUtils.eventDelta(this._startEventData, eventUtils.eventData(e));\r\n this._startEvent.pageX += sign(delta.x) * touchBoundary;\r\n this._startEvent.pageY += sign(delta.y) * touchBoundary\r\n },\r\n _resetActiveElement: function() {\r\n if (\"ios\" === devices.real().platform && this.getElement().find(\":focus\").length) {\r\n domUtils.resetActiveElement()\r\n }\r\n },\r\n _toggleGestureCover: function(toggle) {\r\n var isStarted = this._stage === STARTED;\r\n if (isStarted) {\r\n gestureCover(toggle, this.getElement().css(\"cursor\"))\r\n }\r\n },\r\n _clearSelection: function(e) {\r\n if (eventUtils.isDxMouseWheelEvent(e) || eventUtils.isTouchEvent(e)) {\r\n return\r\n }\r\n domUtils.clearSelection()\r\n },\r\n end: function(e) {\r\n this._toggleGestureCover(false);\r\n if (this._stage === STARTED) {\r\n this._end(e)\r\n } else {\r\n if (this._stage === INITED) {\r\n this._stop(e)\r\n }\r\n }\r\n this._stage = SLEEP\r\n },\r\n dispose: function() {\r\n clearTimeout(this._immediateTimer);\r\n this.callBase.apply(this, arguments);\r\n this._toggleGestureCover(false)\r\n },\r\n _init: noop,\r\n _start: noop,\r\n _move: noop,\r\n _stop: noop,\r\n _end: noop\r\n});\r\nGestureEmitter.initialTouchBoundary = TOUCH_BOUNDARY;\r\nGestureEmitter.touchBoundary = function(newBoundary) {\r\n if (isDefined(newBoundary)) {\r\n TOUCH_BOUNDARY = newBoundary;\r\n return\r\n }\r\n return TOUCH_BOUNDARY\r\n};\r\nmodule.exports = GestureEmitter;\r\n","/**\r\n * DevExtreme (data/custom_store.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar $ = require(\"../core/renderer\"),\r\n dataUtils = require(\"./utils\"),\r\n arrayUtils = require(\"./array_utils\"),\r\n isFunction = require(\"../core/utils/type\").isFunction,\r\n config = require(\"../core/config\"),\r\n errors = require(\"./errors\").errors,\r\n Store = require(\"./abstract_store\"),\r\n arrayQuery = require(\"./array_query\"),\r\n queryByOptions = require(\"./store_helper\").queryByOptions,\r\n deferredUtils = require(\"../core/utils/deferred\"),\r\n Deferred = deferredUtils.Deferred,\r\n when = deferredUtils.when,\r\n fromPromise = deferredUtils.fromPromise;\r\nvar TOTAL_COUNT = \"totalCount\",\r\n LOAD = \"load\",\r\n BY_KEY = \"byKey\",\r\n INSERT = \"insert\",\r\n UPDATE = \"update\",\r\n REMOVE = \"remove\";\r\n\r\nfunction isPromise(obj) {\r\n return obj && isFunction(obj.then)\r\n}\r\n\r\nfunction trivialPromise(value) {\r\n return (new Deferred).resolve(value).promise()\r\n}\r\n\r\nfunction ensureRequiredFuncOption(name, obj) {\r\n if (!isFunction(obj)) {\r\n throw errors.Error(\"E4011\", name)\r\n }\r\n}\r\n\r\nfunction throwInvalidUserFuncResult(name) {\r\n throw errors.Error(\"E4012\", name)\r\n}\r\n\r\nfunction createUserFuncFailureHandler(pendingDeferred) {\r\n function errorMessageFromXhr(promiseArguments) {\r\n var xhr = promiseArguments[0],\r\n textStatus = promiseArguments[1];\r\n if (!xhr || !xhr.getResponseHeader) {\r\n return null\r\n }\r\n return dataUtils.errorMessageFromXhr(xhr, textStatus)\r\n }\r\n return function(arg) {\r\n var error;\r\n if (arg instanceof Error) {\r\n error = arg\r\n } else {\r\n error = new Error(errorMessageFromXhr(arguments) || arg && String(arg) || \"Unknown error\")\r\n }\r\n if (error.message !== dataUtils.XHR_ERROR_UNLOAD) {\r\n pendingDeferred.reject(error)\r\n }\r\n }\r\n}\r\n\r\nfunction invokeUserLoad(store, options) {\r\n var userResult, userFunc = store._loadFunc;\r\n ensureRequiredFuncOption(LOAD, userFunc);\r\n userResult = userFunc.apply(store, [options]);\r\n if (Array.isArray(userResult)) {\r\n userResult = trivialPromise(userResult)\r\n } else {\r\n if (null === userResult || void 0 === userResult) {\r\n userResult = trivialPromise([])\r\n } else {\r\n if (!isPromise(userResult)) {\r\n throwInvalidUserFuncResult(LOAD)\r\n }\r\n }\r\n }\r\n return fromPromise(userResult)\r\n}\r\n\r\nfunction invokeUserTotalCountFunc(store, options) {\r\n var userResult, userFunc = store._totalCountFunc;\r\n if (!isFunction(userFunc)) {\r\n throw errors.Error(\"E4021\")\r\n }\r\n userResult = userFunc.apply(store, [options]);\r\n if (!isPromise(userResult)) {\r\n userResult = Number(userResult);\r\n if (!isFinite(userResult)) {\r\n throwInvalidUserFuncResult(TOTAL_COUNT)\r\n }\r\n userResult = trivialPromise(userResult)\r\n }\r\n return fromPromise(userResult)\r\n}\r\n\r\nfunction invokeUserByKeyFunc(store, key, extraOptions) {\r\n var userResult, userFunc = store._byKeyFunc;\r\n ensureRequiredFuncOption(BY_KEY, userFunc);\r\n userResult = userFunc.apply(store, [key, extraOptions]);\r\n if (!isPromise(userResult)) {\r\n userResult = trivialPromise(userResult)\r\n }\r\n return fromPromise(userResult)\r\n}\r\n\r\nfunction runRawLoad(pendingDeferred, store, userFuncOptions, continuation) {\r\n if (store.__rawData) {\r\n continuation(store.__rawData)\r\n } else {\r\n var loadPromise = store.__rawDataPromise || invokeUserLoad(store, userFuncOptions);\r\n if (store._cacheRawData) {\r\n store.__rawDataPromise = loadPromise\r\n }\r\n loadPromise.always(function() {\r\n delete store.__rawDataPromise\r\n }).done(function(rawData) {\r\n if (store._cacheRawData) {\r\n store.__rawData = rawData\r\n }\r\n continuation(rawData)\r\n }).fail(createUserFuncFailureHandler(pendingDeferred))\r\n }\r\n}\r\n\r\nfunction runRawLoadWithQuery(pendingDeferred, store, options, countOnly) {\r\n options = options || {};\r\n var userFuncOptions = {};\r\n if (\"userData\" in options) {\r\n userFuncOptions.userData = options.userData\r\n }\r\n runRawLoad(pendingDeferred, store, userFuncOptions, function(rawData) {\r\n var itemsQuery, totalCountQuery, rawDataQuery = arrayQuery(rawData, {\r\n errorHandler: store._errorHandler\r\n }),\r\n waitList = [];\r\n var items, totalCount;\r\n if (!countOnly) {\r\n itemsQuery = queryByOptions(rawDataQuery, options);\r\n if (itemsQuery === rawDataQuery) {\r\n items = rawData.slice(0)\r\n } else {\r\n waitList.push(itemsQuery.enumerate().done(function(asyncResult) {\r\n items = asyncResult\r\n }))\r\n }\r\n }\r\n if (options.requireTotalCount || countOnly) {\r\n totalCountQuery = queryByOptions(rawDataQuery, options, true);\r\n if (totalCountQuery === rawDataQuery) {\r\n totalCount = rawData.length\r\n } else {\r\n waitList.push(totalCountQuery.count().done(function(asyncResult) {\r\n totalCount = asyncResult\r\n }))\r\n }\r\n }\r\n when.apply($, waitList).done(function() {\r\n if (countOnly) {\r\n pendingDeferred.resolve(totalCount)\r\n } else {\r\n if (options.requireTotalCount) {\r\n pendingDeferred.resolve(items, {\r\n totalCount: totalCount\r\n })\r\n } else {\r\n pendingDeferred.resolve(items)\r\n }\r\n }\r\n }).fail(function(x) {\r\n pendingDeferred.reject(x)\r\n })\r\n })\r\n}\r\n\r\nfunction runRawLoadWithKey(pendingDeferred, store, key) {\r\n runRawLoad(pendingDeferred, store, {}, function(rawData) {\r\n var item, keyExpr = store.key();\r\n for (var i = 0, len = rawData.length; i < len; i++) {\r\n item = rawData[i];\r\n if (dataUtils.keysEqual(keyExpr, store.keyOf(rawData[i]), key)) {\r\n pendingDeferred.resolve(item);\r\n return\r\n }\r\n }\r\n pendingDeferred.reject(errors.Error(\"E4009\"))\r\n })\r\n}\r\nvar CustomStore = Store.inherit({\r\n ctor: function(options) {\r\n options = options || {};\r\n this.callBase(options);\r\n this._useDefaultSearch = !!options.useDefaultSearch || \"raw\" === options.loadMode;\r\n this._loadMode = options.loadMode;\r\n this._cacheRawData = false !== options.cacheRawData;\r\n this._loadFunc = options[LOAD];\r\n this._totalCountFunc = options[TOTAL_COUNT];\r\n this._byKeyFunc = options[BY_KEY];\r\n this._insertFunc = options[INSERT];\r\n this._updateFunc = options[UPDATE];\r\n this._removeFunc = options[REMOVE]\r\n },\r\n createQuery: function() {\r\n throw errors.Error(\"E4010\")\r\n },\r\n clearRawDataCache: function() {\r\n delete this.__rawData\r\n },\r\n _totalCountImpl: function(options) {\r\n var d = new Deferred;\r\n if (\"raw\" === this._loadMode && !this._totalCountFunc) {\r\n runRawLoadWithQuery(d, this, options, true)\r\n } else {\r\n invokeUserTotalCountFunc(this, options).done(function(count) {\r\n d.resolve(Number(count))\r\n }).fail(createUserFuncFailureHandler(d));\r\n d = this._addFailHandlers(d)\r\n }\r\n return d.promise()\r\n },\r\n _pushImpl: function(changes) {\r\n if (this.__rawData) {\r\n arrayUtils.applyBatch(this, this.__rawData, changes)\r\n }\r\n },\r\n _loadImpl: function(options) {\r\n var d = new Deferred;\r\n if (\"raw\" === this._loadMode) {\r\n runRawLoadWithQuery(d, this, options, false)\r\n } else {\r\n invokeUserLoad(this, options).done(function(data, extra) {\r\n d.resolve(data, extra)\r\n }).fail(createUserFuncFailureHandler(d));\r\n d = this._addFailHandlers(d)\r\n }\r\n return d.promise()\r\n },\r\n _byKeyImpl: function(key, extraOptions) {\r\n var d = new Deferred;\r\n if (this._byKeyViaLoad()) {\r\n this._requireKey();\r\n runRawLoadWithKey(d, this, key)\r\n } else {\r\n invokeUserByKeyFunc(this, key, extraOptions).done(function(obj) {\r\n d.resolve(obj)\r\n }).fail(createUserFuncFailureHandler(d))\r\n }\r\n return d.promise()\r\n },\r\n _byKeyViaLoad: function() {\r\n return \"raw\" === this._loadMode && !this._byKeyFunc\r\n },\r\n _insertImpl: function(values) {\r\n var userResult, that = this,\r\n userFunc = that._insertFunc,\r\n d = new Deferred;\r\n ensureRequiredFuncOption(INSERT, userFunc);\r\n userResult = userFunc.apply(that, [values]);\r\n if (!isPromise(userResult)) {\r\n userResult = trivialPromise(userResult)\r\n }\r\n fromPromise(userResult).done(function(serverResponse) {\r\n if (config().useLegacyStoreResult) {\r\n d.resolve(values, serverResponse)\r\n } else {\r\n d.resolve(serverResponse || values, that.keyOf(serverResponse))\r\n }\r\n }).fail(createUserFuncFailureHandler(d));\r\n return d.promise()\r\n },\r\n _updateImpl: function(key, values) {\r\n var userResult, userFunc = this._updateFunc,\r\n d = new Deferred;\r\n ensureRequiredFuncOption(UPDATE, userFunc);\r\n userResult = userFunc.apply(this, [key, values]);\r\n if (!isPromise(userResult)) {\r\n userResult = trivialPromise(userResult)\r\n }\r\n fromPromise(userResult).done(function(serverResponse) {\r\n if (config().useLegacyStoreResult) {\r\n d.resolve(key, values)\r\n } else {\r\n d.resolve(serverResponse || values, key)\r\n }\r\n }).fail(createUserFuncFailureHandler(d));\r\n return d.promise()\r\n },\r\n _removeImpl: function(key) {\r\n var userResult, userFunc = this._removeFunc,\r\n d = new Deferred;\r\n ensureRequiredFuncOption(REMOVE, userFunc);\r\n userResult = userFunc.apply(this, [key]);\r\n if (!isPromise(userResult)) {\r\n userResult = trivialPromise()\r\n }\r\n fromPromise(userResult).done(function() {\r\n d.resolve(key)\r\n }).fail(createUserFuncFailureHandler(d));\r\n return d.promise()\r\n }\r\n});\r\nmodule.exports = CustomStore;\r\nmodule.exports.default = module.exports;\r\n","/*!\n * devextreme-react\n * Version: 19.1.6\n * Build date: Wed Sep 11 2019\n *\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar prop_types_1 = require(\"prop-types\");\nvar React = require(\"react\");\nvar Template = /** @class */ (function (_super) {\n __extends(Template, _super);\n function Template() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Template.prototype.render = function () {\n return null;\n };\n return Template;\n}(React.PureComponent));\nexports.Template = Template;\nvar requiredPropsCheck = function (props) {\n if (!props.component && !props.render && !props.children) {\n return new Error(\"The Template component requires 'component' or 'render' property\");\n }\n return null;\n};\nTemplate.propTypes = {\n name: prop_types_1.PropTypes.string.isRequired,\n component: requiredPropsCheck,\n render: requiredPropsCheck,\n children: requiredPropsCheck\n};\nfunction findProps(child) {\n if (child.type !== Template) {\n return;\n }\n return {\n name: child.props.name,\n render: child.props.render,\n component: child.props.component,\n children: child.props.children,\n keyFn: child.props.keyFn\n };\n}\nexports.findProps = findProps;\n","/**\r\n * DevExtreme (core/utils/storage.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar window = require(\"../../core/utils/window\").getWindow();\r\nvar getSessionStorage = function() {\r\n var sessionStorage;\r\n try {\r\n sessionStorage = window.sessionStorage\r\n } catch (e) {}\r\n return sessionStorage\r\n};\r\nexports.sessionStorage = getSessionStorage;\r\n","/**\r\n * DevExtreme (localization/ldml/number.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar fitIntoRange = require(\"../../core/utils/math\").fitIntoRange;\r\nvar toFixed = require(\"../utils\").toFixed;\r\nvar DEFAULT_CONFIG = {\r\n thousandsSeparator: \",\",\r\n decimalSeparator: \".\"\r\n },\r\n ESCAPING_CHAR = \"'\",\r\n MAXIMUM_NUMBER_LENGTH = 15;\r\n\r\nfunction getGroupSizes(formatString) {\r\n return formatString.split(\",\").slice(1).map(function(str) {\r\n return str.split(\"\").filter(function(char) {\r\n return \"#\" === char || \"0\" === char\r\n }).length\r\n })\r\n}\r\n\r\nfunction getSignParts(format) {\r\n var signParts = format.split(\";\");\r\n if (1 === signParts.length) {\r\n signParts.push(\"-\" + signParts[0])\r\n }\r\n return signParts\r\n}\r\n\r\nfunction reverseString(str) {\r\n return str.toString().split(\"\").reverse().join(\"\")\r\n}\r\n\r\nfunction isPercentFormat(format) {\r\n return format.indexOf(\"%\") !== -1 && !format.match(/'[^']*%[^']*'/g)\r\n}\r\n\r\nfunction getNonRequiredDigitCount(floatFormat) {\r\n if (!floatFormat) {\r\n return 0\r\n }\r\n return floatFormat.length - floatFormat.replace(/[#]/g, \"\").length\r\n}\r\n\r\nfunction getRequiredDigitCount(floatFormat) {\r\n if (!floatFormat) {\r\n return 0\r\n }\r\n return floatFormat.length - floatFormat.replace(/[0]/g, \"\").length\r\n}\r\n\r\nfunction normalizeValueString(valuePart, minDigitCount, maxDigitCount) {\r\n if (!valuePart) {\r\n return \"\"\r\n }\r\n if (valuePart.length > maxDigitCount) {\r\n valuePart = valuePart.substr(0, maxDigitCount)\r\n }\r\n while (valuePart.length > minDigitCount && \"0\" === valuePart.slice(-1)) {\r\n valuePart = valuePart.substr(0, valuePart.length - 1)\r\n }\r\n while (valuePart.length < minDigitCount) {\r\n valuePart += \"0\"\r\n }\r\n return valuePart\r\n}\r\n\r\nfunction applyGroups(valueString, groupSizes, thousandsSeparator) {\r\n if (!groupSizes.length) {\r\n return valueString\r\n }\r\n var groups = [],\r\n index = 0;\r\n while (valueString) {\r\n var groupSize = groupSizes[index];\r\n groups.push(valueString.slice(0, groupSize));\r\n valueString = valueString.slice(groupSize);\r\n if (index < groupSizes.length - 1) {\r\n index++\r\n }\r\n }\r\n return groups.join(thousandsSeparator)\r\n}\r\n\r\nfunction formatNumberPart(format, valueString) {\r\n return format.split(ESCAPING_CHAR).map(function(formatPart, escapeIndex) {\r\n var isEscape = escapeIndex % 2;\r\n if (!formatPart && isEscape) {\r\n return ESCAPING_CHAR\r\n }\r\n return isEscape ? formatPart : formatPart.replace(/[,#0]+/, valueString)\r\n }).join(\"\")\r\n}\r\n\r\nfunction getFloatPointIndex(format) {\r\n var isEscape = false;\r\n for (var index = 0; index < format.length; index++) {\r\n if (\"'\" === format[index]) {\r\n isEscape = !isEscape\r\n }\r\n if (\".\" === format[index] && !isEscape) {\r\n return index\r\n }\r\n }\r\n return format.length\r\n}\r\n\r\nfunction getFormatter(format, config) {\r\n config = config || DEFAULT_CONFIG;\r\n return function(value) {\r\n if (\"number\" !== typeof value || isNaN(value)) {\r\n return \"\"\r\n }\r\n var signFormatParts = getSignParts(format),\r\n isPositiveZero = 1 / value === 1 / 0,\r\n isPositive = value > 0 || isPositiveZero,\r\n numberFormat = signFormatParts[isPositive ? 0 : 1];\r\n if (isPercentFormat(numberFormat)) {\r\n value = 100 * value\r\n }\r\n if (!isPositive) {\r\n value = -value\r\n }\r\n var floatPointIndex = getFloatPointIndex(numberFormat),\r\n floatFormatParts = [numberFormat.substr(0, floatPointIndex), numberFormat.substr(floatPointIndex + 1)],\r\n minFloatPrecision = getRequiredDigitCount(floatFormatParts[1]),\r\n maxFloatPrecision = minFloatPrecision + getNonRequiredDigitCount(floatFormatParts[1]),\r\n minIntegerPrecision = getRequiredDigitCount(floatFormatParts[0]),\r\n maxIntegerPrecision = getNonRequiredDigitCount(floatFormatParts[0]) ? void 0 : minIntegerPrecision,\r\n integerLength = Math.floor(value).toString().length,\r\n floatPrecision = fitIntoRange(maxFloatPrecision, 0, MAXIMUM_NUMBER_LENGTH - integerLength),\r\n groupSizes = getGroupSizes(floatFormatParts[0]).reverse();\r\n var valueParts = toFixed(value, floatPrecision < 0 ? 0 : floatPrecision).split(\".\");\r\n var valueIntegerPart = normalizeValueString(reverseString(valueParts[0]), minIntegerPrecision, maxIntegerPrecision),\r\n valueFloatPart = normalizeValueString(valueParts[1], minFloatPrecision, maxFloatPrecision);\r\n valueIntegerPart = applyGroups(valueIntegerPart, groupSizes, config.thousandsSeparator);\r\n var integerString = reverseString(formatNumberPart(reverseString(floatFormatParts[0]), valueIntegerPart)),\r\n floatString = maxFloatPrecision ? formatNumberPart(floatFormatParts[1], valueFloatPart) : \"\";\r\n var result = integerString + (floatString.match(/\\d/) ? config.decimalSeparator : \"\") + floatString;\r\n return result\r\n }\r\n}\r\n\r\nfunction parseValue(text, isPercent, isNegative) {\r\n var value = (isPercent ? .01 : 1) * parseFloat(text) || 0;\r\n return isNegative ? -value : value\r\n}\r\n\r\nfunction prepareValueText(valueText, formatter, isPercent, isIntegerPart) {\r\n var char, text, nextText, nextValueText = valueText;\r\n do {\r\n if (nextText) {\r\n char = text.length === nextText.length ? \"0\" : \"1\";\r\n valueText = isIntegerPart ? char + valueText : valueText + char\r\n }\r\n text = nextText || formatter(parseValue(nextValueText, isPercent));\r\n nextValueText = isIntegerPart ? \"1\" + nextValueText : nextValueText + \"1\";\r\n nextText = formatter(parseValue(nextValueText, isPercent))\r\n } while (text !== nextText && (isIntegerPart ? text.length === nextText.length : text.length <= nextText.length));\r\n if (isIntegerPart && nextText.length > text.length) {\r\n var hasGroups = formatter(12345).indexOf(\"12345\") === -1;\r\n do {\r\n valueText = \"1\" + valueText\r\n } while (hasGroups && parseValue(valueText, isPercent) < 1e5)\r\n }\r\n return valueText\r\n}\r\n\r\nfunction getFormatByValueText(valueText, formatter, isPercent, isNegative) {\r\n var format = formatter(parseValue(valueText, isPercent, isNegative)),\r\n valueTextParts = valueText.split(\".\"),\r\n valueTextWithModifiedFloat = valueTextParts[0] + \".3\" + valueTextParts[1].slice(1),\r\n valueWithModifiedFloat = parseValue(valueTextWithModifiedFloat, isPercent, isNegative),\r\n decimalSeparatorIndex = formatter(valueWithModifiedFloat).indexOf(\"3\") - 1;\r\n format = format.replace(/(\\d)\\D(\\d)/g, \"$1,$2\");\r\n if (decimalSeparatorIndex >= 0) {\r\n format = format.slice(0, decimalSeparatorIndex) + \".\" + format.slice(decimalSeparatorIndex + 1)\r\n }\r\n format = format.replace(/1+/, \"1\").replace(/1/g, \"#\");\r\n if (!isPercent) {\r\n format = format.replace(\"%\", \"'%'\")\r\n }\r\n return format\r\n}\r\n\r\nfunction getFormat(formatter) {\r\n var valueText = \".\",\r\n isPercent = formatter(1).indexOf(\"100\") >= 0;\r\n valueText = prepareValueText(valueText, formatter, isPercent, true);\r\n valueText = prepareValueText(valueText, formatter, isPercent, false);\r\n var positiveFormat = getFormatByValueText(valueText, formatter, isPercent, false);\r\n var negativeFormat = getFormatByValueText(valueText, formatter, isPercent, true);\r\n return negativeFormat === \"-\" + positiveFormat ? positiveFormat : positiveFormat + \";\" + negativeFormat\r\n}\r\nexports.getFormatter = getFormatter;\r\nexports.getFormat = getFormat;\r\n","/**\r\n * DevExtreme (mobile/hide_top_overlay.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar inArray = require(\"../core/utils/array\").inArray;\r\nvar hideCallback = function() {\r\n var callbacks = [];\r\n return {\r\n add: function(callback) {\r\n var indexOfCallback = inArray(callback, callbacks);\r\n if (indexOfCallback === -1) {\r\n callbacks.push(callback)\r\n }\r\n },\r\n remove: function(callback) {\r\n var indexOfCallback = inArray(callback, callbacks);\r\n if (indexOfCallback !== -1) {\r\n callbacks.splice(indexOfCallback, 1)\r\n }\r\n },\r\n fire: function() {\r\n var callback = callbacks.pop(),\r\n result = !!callback;\r\n if (result) {\r\n callback()\r\n }\r\n return result\r\n },\r\n hasCallback: function() {\r\n return callbacks.length > 0\r\n }\r\n }\r\n}();\r\nmodule.exports = function() {\r\n return hideCallback.fire()\r\n};\r\nmodule.exports.hideCallback = hideCallback;\r\nmodule.exports.default = module.exports;\r\n","/**\r\n * DevExtreme (ui/toolbar/ui.toolbar.base.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _renderer = require(\"../../core/renderer\");\r\nvar _renderer2 = _interopRequireDefault(_renderer);\r\nvar _themes = require(\"../themes\");\r\nvar _themes2 = _interopRequireDefault(_themes);\r\nvar _common = require(\"../../core/utils/common\");\r\nvar _common2 = _interopRequireDefault(_common);\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _component_registrator = require(\"../../core/component_registrator\");\r\nvar _component_registrator2 = _interopRequireDefault(_component_registrator);\r\nvar _array = require(\"../../core/utils/array\");\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar _uiCollection_widget = require(\"../collection/ui.collection_widget.async\");\r\nvar _uiCollection_widget2 = _interopRequireDefault(_uiCollection_widget);\r\nvar _promise = require(\"../../core/polyfills/promise\");\r\nvar _promise2 = _interopRequireDefault(_promise);\r\nvar _bindable_template = require(\"../widget/bindable_template\");\r\nvar _bindable_template2 = _interopRequireDefault(_bindable_template);\r\nvar _fx = require(\"../../animation/fx\");\r\nvar _fx2 = _interopRequireDefault(_fx);\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar TOOLBAR_CLASS = \"dx-toolbar\";\r\nvar TOOLBAR_BEFORE_CLASS = \"dx-toolbar-before\";\r\nvar TOOLBAR_CENTER_CLASS = \"dx-toolbar-center\";\r\nvar TOOLBAR_AFTER_CLASS = \"dx-toolbar-after\";\r\nvar TOOLBAR_BOTTOM_CLASS = \"dx-toolbar-bottom\";\r\nvar TOOLBAR_MINI_CLASS = \"dx-toolbar-mini\";\r\nvar TOOLBAR_ITEM_CLASS = \"dx-toolbar-item\";\r\nvar TOOLBAR_LABEL_CLASS = \"dx-toolbar-label\";\r\nvar TOOLBAR_BUTTON_CLASS = \"dx-toolbar-button\";\r\nvar TOOLBAR_ITEMS_CONTAINER_CLASS = \"dx-toolbar-items-container\";\r\nvar TOOLBAR_GROUP_CLASS = \"dx-toolbar-group\";\r\nvar TOOLBAR_COMPACT_CLASS = \"dx-toolbar-compact\";\r\nvar TOOLBAR_LABEL_SELECTOR = \".\" + TOOLBAR_LABEL_CLASS;\r\nvar TEXT_BUTTON_MODE = \"text\";\r\nvar DEFAULT_BUTTON_TYPE = \"default\";\r\nvar TOOLBAR_ITEM_DATA_KEY = \"dxToolbarItemDataKey\";\r\nvar ToolbarBase = _uiCollection_widget2.default.inherit({\r\n compactMode: false,\r\n ctor: function(element, options) {\r\n this._userOptions = options || {};\r\n this.callBase(element, options);\r\n this._synchronizableOptionsForCreateComponent = this._synchronizableOptionsForCreateComponent.filter(function(item) {\r\n return \"disabled\" !== item\r\n })\r\n },\r\n _initTemplates: function() {\r\n this.callBase();\r\n var template = new _bindable_template2.default(function($container, data, rawModel) {\r\n if ((0, _type.isPlainObject)(data)) {\r\n if (data.text) {\r\n $container.text(data.text).wrapInner(\"
\")\r\n }\r\n if (data.html) {\r\n $container.html(data.html)\r\n }\r\n if (\"dxButton\" === data.widget) {\r\n if (this.option(\"useFlatButtons\")) {\r\n data.options = data.options || {};\r\n data.options.stylingMode = data.options.stylingMode || TEXT_BUTTON_MODE\r\n }\r\n if (this.option(\"useDefaultButtons\")) {\r\n data.options = data.options || {};\r\n data.options.type = data.options.type || DEFAULT_BUTTON_TYPE\r\n }\r\n }\r\n } else {\r\n $container.text(String(data))\r\n }\r\n this._getTemplate(\"dx-polymorph-widget\").render({\r\n container: $container,\r\n model: rawModel,\r\n parent: this\r\n })\r\n }.bind(this), [\"text\", \"html\", \"widget\", \"options\"], this.option(\"integrationOptions.watchMethod\"));\r\n this._defaultTemplates.item = template;\r\n this._defaultTemplates.menuItem = template\r\n },\r\n _getDefaultOptions: function() {\r\n return (0, _extend.extend)(this.callBase(), {\r\n renderAs: \"topToolbar\",\r\n grouped: false,\r\n useFlatButtons: false,\r\n useDefaultButtons: false\r\n })\r\n },\r\n _defaultOptionsRules: function() {\r\n return this.callBase().concat([{\r\n device: function() {\r\n return _themes2.default.isMaterial()\r\n },\r\n options: {\r\n useFlatButtons: true\r\n }\r\n }])\r\n },\r\n _itemContainer: function() {\r\n return this._$toolbarItemsContainer.find([\".\" + TOOLBAR_BEFORE_CLASS, \".\" + TOOLBAR_CENTER_CLASS, \".\" + TOOLBAR_AFTER_CLASS].join(\",\"))\r\n },\r\n _itemClass: function() {\r\n return TOOLBAR_ITEM_CLASS\r\n },\r\n _itemDataKey: function() {\r\n return TOOLBAR_ITEM_DATA_KEY\r\n },\r\n _buttonClass: function() {\r\n return TOOLBAR_BUTTON_CLASS\r\n },\r\n _dimensionChanged: function() {\r\n this._arrangeItems();\r\n this._applyCompactMode()\r\n },\r\n _initMarkup: function() {\r\n this._renderToolbar();\r\n this._renderSections();\r\n this.callBase();\r\n this.setAria(\"role\", \"toolbar\")\r\n },\r\n _waitParentAnimationFinished: function() {\r\n var $element = this.$element();\r\n var timeout = 15;\r\n return new _promise2.default(function(resolve) {\r\n var check = function() {\r\n var readyToResolve = true;\r\n $element.parents().each(function(_, parent) {\r\n if (_fx2.default.isAnimating((0, _renderer2.default)(parent))) {\r\n readyToResolve = false;\r\n return false\r\n }\r\n });\r\n if (readyToResolve) {\r\n resolve()\r\n }\r\n return readyToResolve\r\n };\r\n var runCheck = function runCheck() {\r\n setTimeout(function() {\r\n return check() || runCheck()\r\n }, timeout)\r\n };\r\n $element.width() > 0 && check() || runCheck()\r\n })\r\n },\r\n _render: function() {\r\n this.callBase();\r\n this._renderItemsAsync();\r\n if (_themes2.default.isMaterial()) {\r\n _promise2.default.all([this._waitParentAnimationFinished(), this._checkWebFontForLabelsLoaded()]).then(this._dimensionChanged.bind(this))\r\n }\r\n },\r\n _postProcessRenderItems: function() {\r\n this._arrangeItems()\r\n },\r\n _renderToolbar: function() {\r\n this.$element().addClass(TOOLBAR_CLASS).toggleClass(TOOLBAR_BOTTOM_CLASS, \"bottomToolbar\" === this.option(\"renderAs\"));\r\n this._$toolbarItemsContainer = (0, _renderer2.default)(\"
\").addClass(TOOLBAR_ITEMS_CONTAINER_CLASS).appendTo(this.$element())\r\n },\r\n _renderSections: function() {\r\n var $container = this._$toolbarItemsContainer,\r\n that = this;\r\n (0, _iterator.each)([\"before\", \"center\", \"after\"], function() {\r\n var sectionClass = \"dx-toolbar-\" + this,\r\n $section = $container.find(\".\" + sectionClass);\r\n if (!$section.length) {\r\n that[\"_$\" + this + \"Section\"] = $section = (0, _renderer2.default)(\"
\").addClass(sectionClass).appendTo($container)\r\n }\r\n })\r\n },\r\n _checkWebFontForLabelsLoaded: function() {\r\n var $labels = this.$element().find(TOOLBAR_LABEL_SELECTOR);\r\n var promises = [];\r\n $labels.each(function(_, label) {\r\n var text = (0, _renderer2.default)(label).text();\r\n var fontWeight = (0, _renderer2.default)(label).css(\"fontWeight\");\r\n promises.push(_themes2.default.waitWebFont(text, fontWeight))\r\n });\r\n return _promise2.default.all(promises)\r\n },\r\n _arrangeItems: function(elementWidth) {\r\n elementWidth = elementWidth || this.$element().width();\r\n this._$centerSection.css({\r\n margin: \"0 auto\",\r\n \"float\": \"none\"\r\n });\r\n var beforeRect = this._$beforeSection.get(0).getBoundingClientRect(),\r\n afterRect = this._$afterSection.get(0).getBoundingClientRect();\r\n this._alignCenterSection(beforeRect, afterRect, elementWidth);\r\n var $label = this._$toolbarItemsContainer.find(TOOLBAR_LABEL_SELECTOR).eq(0),\r\n $section = $label.parent();\r\n if (!$label.length) {\r\n return\r\n }\r\n var labelOffset = beforeRect.width ? beforeRect.width : $label.position().left,\r\n widthBeforeSection = $section.hasClass(TOOLBAR_BEFORE_CLASS) ? 0 : labelOffset,\r\n widthAfterSection = $section.hasClass(TOOLBAR_AFTER_CLASS) ? 0 : afterRect.width,\r\n elemsAtSectionWidth = 0;\r\n $section.children().not(TOOLBAR_LABEL_SELECTOR).each(function() {\r\n elemsAtSectionWidth += (0, _renderer2.default)(this).outerWidth()\r\n });\r\n var freeSpace = elementWidth - elemsAtSectionWidth,\r\n sectionMaxWidth = Math.max(freeSpace - widthBeforeSection - widthAfterSection, 0);\r\n if ($section.hasClass(TOOLBAR_BEFORE_CLASS)) {\r\n this._alignSection(this._$beforeSection, sectionMaxWidth)\r\n } else {\r\n var labelPaddings = $label.outerWidth() - $label.width();\r\n $label.css(\"maxWidth\", sectionMaxWidth - labelPaddings)\r\n }\r\n },\r\n _alignCenterSection: function(beforeRect, afterRect, elementWidth) {\r\n this._alignSection(this._$centerSection, elementWidth - beforeRect.width - afterRect.width);\r\n var isRTL = this.option(\"rtlEnabled\"),\r\n leftRect = isRTL ? afterRect : beforeRect,\r\n rightRect = isRTL ? beforeRect : afterRect,\r\n centerRect = this._$centerSection.get(0).getBoundingClientRect();\r\n if (leftRect.right > centerRect.left || centerRect.right > rightRect.left) {\r\n this._$centerSection.css({\r\n marginLeft: leftRect.width,\r\n marginRight: rightRect.width,\r\n \"float\": leftRect.width > rightRect.width ? \"none\" : \"right\"\r\n })\r\n }\r\n },\r\n _alignSection: function($section, maxWidth) {\r\n var $labels = $section.find(TOOLBAR_LABEL_SELECTOR),\r\n labels = $labels.toArray();\r\n maxWidth -= this._getCurrentLabelsPaddings(labels);\r\n var currentWidth = this._getCurrentLabelsWidth(labels),\r\n difference = Math.abs(currentWidth - maxWidth);\r\n if (maxWidth < currentWidth) {\r\n labels = labels.reverse();\r\n this._alignSectionLabels(labels, difference, false)\r\n } else {\r\n this._alignSectionLabels(labels, difference, true)\r\n }\r\n },\r\n _alignSectionLabels: function(labels, difference, expanding) {\r\n var getRealLabelWidth = function(label) {\r\n return label.getBoundingClientRect().width\r\n };\r\n for (var i = 0; i < labels.length; i++) {\r\n var labelMaxWidth, $label = (0, _renderer2.default)(labels[i]),\r\n currentLabelWidth = Math.ceil(getRealLabelWidth(labels[i]));\r\n if (expanding) {\r\n $label.css(\"maxWidth\", \"inherit\")\r\n }\r\n var possibleLabelWidth = Math.ceil(expanding ? getRealLabelWidth(labels[i]) : currentLabelWidth);\r\n if (possibleLabelWidth < difference) {\r\n labelMaxWidth = expanding ? possibleLabelWidth : 0;\r\n difference -= possibleLabelWidth\r\n } else {\r\n labelMaxWidth = expanding ? currentLabelWidth + difference : currentLabelWidth - difference;\r\n $label.css(\"maxWidth\", labelMaxWidth);\r\n break\r\n }\r\n $label.css(\"maxWidth\", labelMaxWidth)\r\n }\r\n },\r\n _applyCompactMode: function() {\r\n var $element = this.$element();\r\n $element.removeClass(TOOLBAR_COMPACT_CLASS);\r\n if (this.option(\"compactMode\") && this._getSummaryItemsWidth(this.itemElements(), true) > $element.width()) {\r\n $element.addClass(TOOLBAR_COMPACT_CLASS)\r\n }\r\n },\r\n _getCurrentLabelsWidth: function(labels) {\r\n var width = 0;\r\n labels.forEach(function(label, index) {\r\n width += (0, _renderer2.default)(label).outerWidth()\r\n });\r\n return width\r\n },\r\n _getCurrentLabelsPaddings: function(labels) {\r\n var padding = 0;\r\n labels.forEach(function(label, index) {\r\n padding += (0, _renderer2.default)(label).outerWidth() - (0, _renderer2.default)(label).width()\r\n });\r\n return padding\r\n },\r\n _renderItem: function(index, item, itemContainer, $after) {\r\n var location = item.location || \"center\",\r\n container = itemContainer || this[\"_$\" + location + \"Section\"],\r\n itemHasText = !!(item.text || item.html),\r\n itemElement = this.callBase(index, item, container, $after);\r\n itemElement.toggleClass(this._buttonClass(), !itemHasText).toggleClass(TOOLBAR_LABEL_CLASS, itemHasText).addClass(item.cssClass);\r\n return itemElement\r\n },\r\n _renderGroupedItems: function() {\r\n var that = this;\r\n (0, _iterator.each)(this.option(\"items\"), function(groupIndex, group) {\r\n var groupItems = group.items,\r\n $container = (0, _renderer2.default)(\"
\").addClass(TOOLBAR_GROUP_CLASS),\r\n location = group.location || \"center\";\r\n if (!groupItems || !groupItems.length) {\r\n return\r\n }(0, _iterator.each)(groupItems, function(itemIndex, item) {\r\n that._renderItem(itemIndex, item, $container, null)\r\n });\r\n that._$toolbarItemsContainer.find(\".dx-toolbar-\" + location).append($container)\r\n })\r\n },\r\n _renderItems: function(items) {\r\n var grouped = this.option(\"grouped\") && items.length && items[0].items;\r\n grouped ? this._renderGroupedItems() : this.callBase(items)\r\n },\r\n _getToolbarItems: function() {\r\n return this.option(\"items\") || []\r\n },\r\n _renderContentImpl: function() {\r\n var items = this._getToolbarItems();\r\n this.$element().toggleClass(TOOLBAR_MINI_CLASS, 0 === items.length);\r\n if (this._renderedItemsCount) {\r\n this._renderItems(items.slice(this._renderedItemsCount))\r\n } else {\r\n this._renderItems(items)\r\n }\r\n this._applyCompactMode()\r\n },\r\n _renderEmptyMessage: _common2.default.noop,\r\n _clean: function() {\r\n this._$toolbarItemsContainer.children().empty();\r\n this.$element().empty()\r\n },\r\n _visibilityChanged: function(visible) {\r\n if (visible) {\r\n this._arrangeItems()\r\n }\r\n },\r\n _isVisible: function() {\r\n return this.$element().width() > 0 && this.$element().height() > 0\r\n },\r\n _getIndexByItem: function(item) {\r\n return (0, _array.inArray)(item, this._getToolbarItems())\r\n },\r\n _itemOptionChanged: function(item, property, value) {\r\n this.callBase.apply(this, [item, property, value]);\r\n this._arrangeItems()\r\n },\r\n _optionChanged: function(args) {\r\n var name = args.name;\r\n switch (name) {\r\n case \"width\":\r\n this.callBase.apply(this, arguments);\r\n this._dimensionChanged();\r\n break;\r\n case \"renderAs\":\r\n case \"useFlatButtons\":\r\n case \"useDefaultButtons\":\r\n this._invalidate();\r\n break;\r\n case \"compactMode\":\r\n this._applyCompactMode();\r\n break;\r\n case \"grouped\":\r\n break;\r\n default:\r\n this.callBase.apply(this, arguments)\r\n }\r\n }\r\n});\r\n(0, _component_registrator2.default)(\"dxToolbarBase\", ToolbarBase);\r\nmodule.exports = ToolbarBase;\r\n","/**\r\n * DevExtreme (events/contextmenu.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar $ = require(\"../core/renderer\"),\r\n eventsEngine = require(\"../events/core/events_engine\"),\r\n support = require(\"../core/utils/support\"),\r\n devices = require(\"../core/devices\"),\r\n Class = require(\"../core/class\"),\r\n registerEvent = require(\"./core/event_registrator\"),\r\n eventUtils = require(\"./utils\"),\r\n holdEvent = require(\"./hold\");\r\nvar CONTEXTMENU_NAMESPACE = \"dxContexMenu\",\r\n CONTEXTMENU_NAMESPACED_EVENT_NAME = eventUtils.addNamespace(\"contextmenu\", CONTEXTMENU_NAMESPACE),\r\n HOLD_NAMESPACED_EVENT_NAME = eventUtils.addNamespace(holdEvent.name, CONTEXTMENU_NAMESPACE),\r\n CONTEXTMENU_EVENT_NAME = \"dxcontextmenu\";\r\nvar ContextMenu = Class.inherit({\r\n setup: function(element) {\r\n var $element = $(element);\r\n eventsEngine.on($element, CONTEXTMENU_NAMESPACED_EVENT_NAME, this._contextMenuHandler.bind(this));\r\n if (support.touch || devices.isSimulator()) {\r\n eventsEngine.on($element, HOLD_NAMESPACED_EVENT_NAME, this._holdHandler.bind(this))\r\n }\r\n },\r\n _holdHandler: function(e) {\r\n if (eventUtils.isMouseEvent(e) && !devices.isSimulator()) {\r\n return\r\n }\r\n this._fireContextMenu(e)\r\n },\r\n _contextMenuHandler: function(e) {\r\n this._fireContextMenu(e)\r\n },\r\n _fireContextMenu: function(e) {\r\n return eventUtils.fireEvent({\r\n type: CONTEXTMENU_EVENT_NAME,\r\n originalEvent: e\r\n })\r\n },\r\n teardown: function(element) {\r\n eventsEngine.off(element, \".\" + CONTEXTMENU_NAMESPACE)\r\n }\r\n});\r\nregisterEvent(CONTEXTMENU_EVENT_NAME, new ContextMenu);\r\nexports.name = CONTEXTMENU_EVENT_NAME;\r\n","/**\r\n * DevExtreme (ui/selection/selection.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar Class = require(\"../../core/class\"),\r\n deferredStrategy = require(\"./selection.strategy.deferred\"),\r\n standardStrategy = require(\"./selection.strategy.standard\"),\r\n extend = require(\"../../core/utils/extend\").extend,\r\n noop = require(\"../../core/utils/common\").noop,\r\n isDefined = require(\"../../core/utils/type\").isDefined,\r\n Deferred = require(\"../../core/utils/deferred\").Deferred;\r\nmodule.exports = Class.inherit({\r\n ctor: function(options) {\r\n this.options = extend(this._getDefaultOptions(), options, {\r\n selectedItemKeys: options.selectedKeys || []\r\n });\r\n this._selectionStrategy = this.options.deferred ? new deferredStrategy(this.options) : new standardStrategy(this.options);\r\n this._focusedItemIndex = -1;\r\n if (!this.options.equalByReference) {\r\n this._selectionStrategy.updateSelectedItemKeyHash(this.options.selectedItemKeys)\r\n }\r\n },\r\n _getDefaultOptions: function() {\r\n return {\r\n deferred: false,\r\n equalByReference: false,\r\n mode: \"multiple\",\r\n selectedItems: [],\r\n selectionFilter: [],\r\n maxFilterLengthInRequest: 0,\r\n onSelectionChanged: noop,\r\n key: noop,\r\n keyOf: function(item) {\r\n return item\r\n },\r\n load: function() {\r\n return (new Deferred).resolve([])\r\n },\r\n totalCount: function() {\r\n return -1\r\n },\r\n isSelectableItem: function() {\r\n return true\r\n },\r\n isItemSelected: function() {\r\n return false\r\n },\r\n getItemData: function(item) {\r\n return item\r\n },\r\n dataFields: noop,\r\n filter: noop\r\n }\r\n },\r\n validate: function() {\r\n this._selectionStrategy.validate()\r\n },\r\n getSelectedItemKeys: function() {\r\n return this._selectionStrategy.getSelectedItemKeys()\r\n },\r\n getSelectedItems: function() {\r\n return this._selectionStrategy.getSelectedItems()\r\n },\r\n selectionFilter: function(value) {\r\n if (void 0 === value) {\r\n return this.options.selectionFilter\r\n }\r\n var filterIsChanged = this.options.selectionFilter !== value && JSON.stringify(this.options.selectionFilter) !== JSON.stringify(value);\r\n this.options.selectionFilter = value;\r\n filterIsChanged && this.onSelectionChanged()\r\n },\r\n setSelection: function(keys) {\r\n return this.selectedItemKeys(keys)\r\n },\r\n select: function(keys) {\r\n return this.selectedItemKeys(keys, true)\r\n },\r\n deselect: function(keys) {\r\n return this.selectedItemKeys(keys, true, true)\r\n },\r\n selectedItemKeys: function(keys, preserve, isDeselect, isSelectAll) {\r\n var that = this;\r\n keys = keys || [];\r\n keys = Array.isArray(keys) ? keys : [keys];\r\n that.validate();\r\n return this._selectionStrategy.selectedItemKeys(keys, preserve, isDeselect, isSelectAll)\r\n },\r\n clearSelection: function() {\r\n return this.selectedItemKeys([])\r\n },\r\n _addSelectedItem: function(itemData, key) {\r\n this._selectionStrategy.addSelectedItem(key, itemData)\r\n },\r\n _removeSelectedItem: function(key) {\r\n this._selectionStrategy.removeSelectedItem(key)\r\n },\r\n _setSelectedItems: function(keys, items) {\r\n this._selectionStrategy.setSelectedItems(keys, items)\r\n },\r\n onSelectionChanged: function() {\r\n this._selectionStrategy.onSelectionChanged()\r\n },\r\n changeItemSelection: function(itemIndex, keys) {\r\n var isSelectedItemsChanged, items = this.options.plainItems(),\r\n item = items[itemIndex];\r\n if (!this.isSelectable() || !this.isDataItem(item)) {\r\n return false\r\n }\r\n var itemData = this.options.getItemData(item),\r\n itemKey = this.options.keyOf(itemData);\r\n keys = keys || {};\r\n if (keys.shift && \"multiple\" === this.options.mode && this._focusedItemIndex >= 0) {\r\n isSelectedItemsChanged = this.changeItemSelectionWhenShiftKeyPressed(itemIndex, items)\r\n } else {\r\n if (keys.control) {\r\n this._resetItemSelectionWhenShiftKeyPressed();\r\n var isSelected = this._selectionStrategy.isItemDataSelected(itemData);\r\n if (\"single\" === this.options.mode) {\r\n this.clearSelectedItems()\r\n }\r\n if (isSelected) {\r\n this._removeSelectedItem(itemKey)\r\n } else {\r\n this._addSelectedItem(itemData, itemKey)\r\n }\r\n isSelectedItemsChanged = true\r\n } else {\r\n this._resetItemSelectionWhenShiftKeyPressed();\r\n var isKeysEqual = this._selectionStrategy.equalKeys(this.options.selectedItemKeys[0], itemKey);\r\n if (1 !== this.options.selectedItemKeys.length || !isKeysEqual) {\r\n this._setSelectedItems([itemKey], [itemData]);\r\n isSelectedItemsChanged = true\r\n }\r\n }\r\n }\r\n if (isSelectedItemsChanged) {\r\n this._focusedItemIndex = itemIndex;\r\n this.onSelectionChanged();\r\n return true\r\n }\r\n },\r\n isDataItem: function(item) {\r\n return this.options.isSelectableItem(item)\r\n },\r\n isSelectable: function() {\r\n return \"single\" === this.options.mode || \"multiple\" === this.options.mode\r\n },\r\n isItemDataSelected: function(data) {\r\n return this._selectionStrategy.isItemDataSelected(data)\r\n },\r\n isItemSelected: function(arg) {\r\n return this._selectionStrategy.isItemKeySelected(arg)\r\n },\r\n _resetItemSelectionWhenShiftKeyPressed: function() {\r\n delete this._shiftFocusedItemIndex\r\n },\r\n _resetFocusedItemIndex: function() {\r\n this._focusedItemIndex = -1\r\n },\r\n changeItemSelectionWhenShiftKeyPressed: function(itemIndex, items) {\r\n var itemIndexStep, index, isSelectedItemsChanged = false,\r\n keyOf = this.options.keyOf,\r\n focusedItem = items[this._focusedItemIndex],\r\n focusedData = this.options.getItemData(focusedItem),\r\n focusedKey = keyOf(focusedData),\r\n isFocusedItemSelected = focusedItem && this.isItemDataSelected(focusedData);\r\n if (!isDefined(this._shiftFocusedItemIndex)) {\r\n this._shiftFocusedItemIndex = this._focusedItemIndex\r\n }\r\n var data, itemKey;\r\n if (this._shiftFocusedItemIndex !== this._focusedItemIndex) {\r\n itemIndexStep = this._focusedItemIndex < this._shiftFocusedItemIndex ? 1 : -1;\r\n for (index = this._focusedItemIndex; index !== this._shiftFocusedItemIndex; index += itemIndexStep) {\r\n if (this.isDataItem(items[index])) {\r\n itemKey = keyOf(this.options.getItemData(items[index]));\r\n this._removeSelectedItem(itemKey);\r\n isSelectedItemsChanged = true\r\n }\r\n }\r\n }\r\n if (itemIndex !== this._shiftFocusedItemIndex) {\r\n itemIndexStep = itemIndex < this._shiftFocusedItemIndex ? 1 : -1;\r\n for (index = itemIndex; index !== this._shiftFocusedItemIndex; index += itemIndexStep) {\r\n if (this.isDataItem(items[index])) {\r\n data = this.options.getItemData(items[index]);\r\n itemKey = keyOf(data);\r\n this._addSelectedItem(data, itemKey);\r\n isSelectedItemsChanged = true\r\n }\r\n }\r\n }\r\n if (this.isDataItem(focusedItem) && !isFocusedItemSelected) {\r\n this._addSelectedItem(focusedData, focusedKey);\r\n isSelectedItemsChanged = true\r\n }\r\n return isSelectedItemsChanged\r\n },\r\n clearSelectedItems: function() {\r\n this._setSelectedItems([], [])\r\n },\r\n selectAll: function(isOnePage) {\r\n this._resetFocusedItemIndex();\r\n if (isOnePage) {\r\n return this._onePageSelectAll(false)\r\n } else {\r\n return this.selectedItemKeys([], true, false, true)\r\n }\r\n },\r\n deselectAll: function(isOnePage) {\r\n this._resetFocusedItemIndex();\r\n if (isOnePage) {\r\n return this._onePageSelectAll(true)\r\n } else {\r\n return this.selectedItemKeys([], true, true, true)\r\n }\r\n },\r\n _onePageSelectAll: function(isDeselect) {\r\n var items = this.options.plainItems();\r\n for (var i = 0; i < items.length; i++) {\r\n var item = items[i];\r\n if (this.isDataItem(item)) {\r\n var itemData = this.options.getItemData(item),\r\n itemKey = this.options.keyOf(itemData),\r\n isSelected = this.isItemSelected(itemKey);\r\n if (!isSelected && !isDeselect) {\r\n this._addSelectedItem(itemData, itemKey)\r\n }\r\n if (isSelected && isDeselect) {\r\n this._removeSelectedItem(itemKey)\r\n }\r\n }\r\n }\r\n this.onSelectionChanged();\r\n return (new Deferred).resolve()\r\n },\r\n getSelectAllState: function(visibleOnly) {\r\n return this._selectionStrategy.getSelectAllState(visibleOnly)\r\n }\r\n});\r\n","/**\r\n * DevExtreme (core/utils/selection_filter.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar getKeyHash = require(\"./common\").getKeyHash,\r\n equalByValue = require(\"./common\").equalByValue,\r\n typeUtils = require(\"./type\");\r\nvar SelectionFilterCreator = function(selectedItemKeys, isSelectAll) {\r\n this.getLocalFilter = function(keyGetter, equalKeys, equalByReference, keyExpr) {\r\n equalKeys = void 0 === equalKeys ? equalByValue : equalKeys;\r\n return functionFilter.bind(this, equalKeys, keyGetter, equalByReference, keyExpr)\r\n };\r\n this.getExpr = function(keyExpr) {\r\n if (!keyExpr) {\r\n return\r\n }\r\n var filterExpr;\r\n selectedItemKeys.forEach(function(key, index) {\r\n filterExpr = filterExpr || [];\r\n var filterExprPart;\r\n if (index > 0) {\r\n filterExpr.push(isSelectAll ? \"and\" : \"or\")\r\n }\r\n if (typeUtils.isString(keyExpr)) {\r\n filterExprPart = getFilterForPlainKey(keyExpr, key)\r\n } else {\r\n filterExprPart = getFilterForCompositeKey(keyExpr, key)\r\n }\r\n filterExpr.push(filterExprPart)\r\n });\r\n if (filterExpr && 1 === filterExpr.length) {\r\n filterExpr = filterExpr[0]\r\n }\r\n return filterExpr\r\n };\r\n this.getCombinedFilter = function(keyExpr, dataSourceFilter) {\r\n var filterExpr = this.getExpr(keyExpr),\r\n combinedFilter = filterExpr;\r\n if (isSelectAll && dataSourceFilter) {\r\n if (filterExpr) {\r\n combinedFilter = [];\r\n combinedFilter.push(filterExpr);\r\n combinedFilter.push(dataSourceFilter)\r\n } else {\r\n combinedFilter = dataSourceFilter\r\n }\r\n }\r\n return combinedFilter\r\n };\r\n var selectedItemKeyHashesMap;\r\n var getSelectedItemKeyHashesMap = function(selectedItemKeys) {\r\n if (!selectedItemKeyHashesMap) {\r\n selectedItemKeyHashesMap = {};\r\n for (var i = 0; i < selectedItemKeys.length; i++) {\r\n selectedItemKeyHashesMap[getKeyHash(selectedItemKeys[i])] = true\r\n }\r\n }\r\n return selectedItemKeyHashesMap\r\n };\r\n var normalizeKeys = function(keys, keyOf, keyExpr) {\r\n return Array.isArray(keyExpr) ? keys.map(function(key) {\r\n return keyOf(key)\r\n }) : keys\r\n };\r\n var functionFilter = function(equalKeys, keyOf, equalByReference, keyExpr, item) {\r\n var keyHash, i, key = keyOf(item);\r\n if (!equalByReference) {\r\n keyHash = getKeyHash(key);\r\n if (!typeUtils.isObject(keyHash)) {\r\n var selectedKeyHashesMap = getSelectedItemKeyHashesMap(normalizeKeys(selectedItemKeys, keyOf, keyExpr));\r\n if (selectedKeyHashesMap[keyHash]) {\r\n return !isSelectAll\r\n }\r\n return !!isSelectAll\r\n }\r\n }\r\n for (i = 0; i < selectedItemKeys.length; i++) {\r\n if (equalKeys(selectedItemKeys[i], key)) {\r\n return !isSelectAll\r\n }\r\n }\r\n return !!isSelectAll\r\n };\r\n var getFilterForPlainKey = function(keyExpr, keyValue) {\r\n if (void 0 === keyValue) {\r\n return\r\n }\r\n return [keyExpr, isSelectAll ? \"<>\" : \"=\", keyValue]\r\n };\r\n var getFilterForCompositeKey = function(keyExpr, itemKeyValue) {\r\n var filterExpr = [];\r\n for (var i = 0, length = keyExpr.length; i < length; i++) {\r\n var currentKeyExpr = keyExpr[i],\r\n currentKeyValue = itemKeyValue && itemKeyValue[currentKeyExpr],\r\n filterExprPart = getFilterForPlainKey(currentKeyExpr, currentKeyValue);\r\n if (!filterExprPart) {\r\n break\r\n }\r\n if (i > 0) {\r\n filterExpr.push(isSelectAll ? \"or\" : \"and\")\r\n }\r\n filterExpr.push(filterExprPart)\r\n }\r\n return filterExpr\r\n }\r\n};\r\nexports.SelectionFilterCreator = SelectionFilterCreator;\r\n","/*!\n * devextreme-react\n * Version: 19.1.6\n * Build date: Wed Sep 11 2019\n *\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar component_base_1 = require(\"./component-base\");\nvar ExtensionComponent = /** @class */ (function (_super) {\n __extends(ExtensionComponent, _super);\n function ExtensionComponent() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ExtensionComponent.prototype.componentDidMount = function () {\n var onMounted = this.props.onMounted;\n if (onMounted) {\n onMounted(this._createWidget);\n }\n else {\n this._createWidget();\n }\n };\n return ExtensionComponent;\n}(component_base_1.ComponentBase));\nexports.ExtensionComponent = ExtensionComponent;\n","/** @license React v16.14.0\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var l=require(\"object-assign\"),n=\"function\"===typeof Symbol&&Symbol.for,p=n?Symbol.for(\"react.element\"):60103,q=n?Symbol.for(\"react.portal\"):60106,r=n?Symbol.for(\"react.fragment\"):60107,t=n?Symbol.for(\"react.strict_mode\"):60108,u=n?Symbol.for(\"react.profiler\"):60114,v=n?Symbol.for(\"react.provider\"):60109,w=n?Symbol.for(\"react.context\"):60110,x=n?Symbol.for(\"react.forward_ref\"):60112,y=n?Symbol.for(\"react.suspense\"):60113,z=n?Symbol.for(\"react.memo\"):60115,A=n?Symbol.for(\"react.lazy\"):\n60116,B=\"function\"===typeof Symbol&&Symbol.iterator;function C(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;cQ.length&&Q.push(a)}\nfunction T(a,b,c,e){var d=typeof a;if(\"undefined\"===d||\"boolean\"===d)a=null;var g=!1;if(null===a)g=!0;else switch(d){case \"string\":case \"number\":g=!0;break;case \"object\":switch(a.$$typeof){case p:case q:g=!0}}if(g)return c(e,a,\"\"===b?\".\"+U(a,0):b),1;g=0;b=\"\"===b?\".\":b+\":\";if(Array.isArray(a))for(var k=0;kb}return!1}function v(a,b,c,d,e,f){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f}var C={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){C[a]=new v(a,0,!1,a,null,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];C[b]=new v(b,1,!1,a[1],null,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){C[a]=new v(a,2,!1,a.toLowerCase(),null,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){C[a]=new v(a,2,!1,a,null,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){C[a]=new v(a,3,!1,a.toLowerCase(),null,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){C[a]=new v(a,3,!0,a,null,!1)});[\"capture\",\"download\"].forEach(function(a){C[a]=new v(a,4,!1,a,null,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){C[a]=new v(a,6,!1,a,null,!1)});[\"rowSpan\",\"start\"].forEach(function(a){C[a]=new v(a,5,!1,a.toLowerCase(),null,!1)});var Ua=/[\\-:]([a-z])/g;function Va(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(Ua,\nVa);C[b]=new v(b,1,!1,a,null,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(Ua,Va);C[b]=new v(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(Ua,Va);C[b]=new v(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){C[a]=new v(a,1,!1,a.toLowerCase(),null,!1)});\nC.xlinkHref=new v(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){C[a]=new v(a,1,!1,a.toLowerCase(),null,!0)});var Wa=aa.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;Wa.hasOwnProperty(\"ReactCurrentDispatcher\")||(Wa.ReactCurrentDispatcher={current:null});Wa.hasOwnProperty(\"ReactCurrentBatchConfig\")||(Wa.ReactCurrentBatchConfig={suspense:null});\nfunction Xa(a,b,c,d){var e=C.hasOwnProperty(b)?C[b]:null;var f=null!==e?0===e.type:d?!1:!(2=c.length))throw Error(u(93));c=c[0]}b=c}null==b&&(b=\"\");c=b}a._wrapperState={initialValue:rb(c)}}\nfunction Kb(a,b){var c=rb(b.value),d=rb(b.defaultValue);null!=c&&(c=\"\"+c,c!==a.value&&(a.value=c),null==b.defaultValue&&a.defaultValue!==c&&(a.defaultValue=c));null!=d&&(a.defaultValue=\"\"+d)}function Lb(a){var b=a.textContent;b===a._wrapperState.initialValue&&\"\"!==b&&null!==b&&(a.value=b)}var Mb={html:\"http://www.w3.org/1999/xhtml\",mathml:\"http://www.w3.org/1998/Math/MathML\",svg:\"http://www.w3.org/2000/svg\"};\nfunction Nb(a){switch(a){case \"svg\":return\"http://www.w3.org/2000/svg\";case \"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}function Ob(a,b){return null==a||\"http://www.w3.org/1999/xhtml\"===a?Nb(b):\"http://www.w3.org/2000/svg\"===a&&\"foreignObject\"===b?\"http://www.w3.org/1999/xhtml\":a}\nvar Pb,Qb=function(a){return\"undefined\"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if(a.namespaceURI!==Mb.svg||\"innerHTML\"in a)a.innerHTML=b;else{Pb=Pb||document.createElement(\"div\");Pb.innerHTML=\"\"+b.valueOf().toString()+\"\";for(b=Pb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction Rb(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}function Sb(a,b){var c={};c[a.toLowerCase()]=b.toLowerCase();c[\"Webkit\"+a]=\"webkit\"+b;c[\"Moz\"+a]=\"moz\"+b;return c}var Tb={animationend:Sb(\"Animation\",\"AnimationEnd\"),animationiteration:Sb(\"Animation\",\"AnimationIteration\"),animationstart:Sb(\"Animation\",\"AnimationStart\"),transitionend:Sb(\"Transition\",\"TransitionEnd\")},Ub={},Vb={};\nya&&(Vb=document.createElement(\"div\").style,\"AnimationEvent\"in window||(delete Tb.animationend.animation,delete Tb.animationiteration.animation,delete Tb.animationstart.animation),\"TransitionEvent\"in window||delete Tb.transitionend.transition);function Wb(a){if(Ub[a])return Ub[a];if(!Tb[a])return a;var b=Tb[a],c;for(c in b)if(b.hasOwnProperty(c)&&c in Vb)return Ub[a]=b[c];return a}\nvar Xb=Wb(\"animationend\"),Yb=Wb(\"animationiteration\"),Zb=Wb(\"animationstart\"),$b=Wb(\"transitionend\"),ac=\"abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange seeked seeking stalled suspend timeupdate volumechange waiting\".split(\" \"),bc=new (\"function\"===typeof WeakMap?WeakMap:Map);function cc(a){var b=bc.get(a);void 0===b&&(b=new Map,bc.set(a,b));return b}\nfunction dc(a){var b=a,c=a;if(a.alternate)for(;b.return;)b=b.return;else{a=b;do b=a,0!==(b.effectTag&1026)&&(c=b.return),a=b.return;while(a)}return 3===b.tag?c:null}function ec(a){if(13===a.tag){var b=a.memoizedState;null===b&&(a=a.alternate,null!==a&&(b=a.memoizedState));if(null!==b)return b.dehydrated}return null}function fc(a){if(dc(a)!==a)throw Error(u(188));}\nfunction gc(a){var b=a.alternate;if(!b){b=dc(a);if(null===b)throw Error(u(188));return b!==a?null:a}for(var c=a,d=b;;){var e=c.return;if(null===e)break;var f=e.alternate;if(null===f){d=e.return;if(null!==d){c=d;continue}break}if(e.child===f.child){for(f=e.child;f;){if(f===c)return fc(e),a;if(f===d)return fc(e),b;f=f.sibling}throw Error(u(188));}if(c.return!==d.return)c=e,d=f;else{for(var g=!1,h=e.child;h;){if(h===c){g=!0;c=e;d=f;break}if(h===d){g=!0;d=e;c=f;break}h=h.sibling}if(!g){for(h=f.child;h;){if(h===\nc){g=!0;c=f;d=e;break}if(h===d){g=!0;d=f;c=e;break}h=h.sibling}if(!g)throw Error(u(189));}}if(c.alternate!==d)throw Error(u(190));}if(3!==c.tag)throw Error(u(188));return c.stateNode.current===c?a:b}function hc(a){a=gc(a);if(!a)return null;for(var b=a;;){if(5===b.tag||6===b.tag)return b;if(b.child)b.child.return=b,b=b.child;else{if(b===a)break;for(;!b.sibling;){if(!b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}}return null}\nfunction ic(a,b){if(null==b)throw Error(u(30));if(null==a)return b;if(Array.isArray(a)){if(Array.isArray(b))return a.push.apply(a,b),a;a.push(b);return a}return Array.isArray(b)?[a].concat(b):[a,b]}function jc(a,b,c){Array.isArray(a)?a.forEach(b,c):a&&b.call(c,a)}var kc=null;\nfunction lc(a){if(a){var b=a._dispatchListeners,c=a._dispatchInstances;if(Array.isArray(b))for(var d=0;dpc.length&&pc.push(a)}\nfunction rc(a,b,c,d){if(pc.length){var e=pc.pop();e.topLevelType=a;e.eventSystemFlags=d;e.nativeEvent=b;e.targetInst=c;return e}return{topLevelType:a,eventSystemFlags:d,nativeEvent:b,targetInst:c,ancestors:[]}}\nfunction sc(a){var b=a.targetInst,c=b;do{if(!c){a.ancestors.push(c);break}var d=c;if(3===d.tag)d=d.stateNode.containerInfo;else{for(;d.return;)d=d.return;d=3!==d.tag?null:d.stateNode.containerInfo}if(!d)break;b=c.tag;5!==b&&6!==b||a.ancestors.push(c);c=tc(d)}while(c);for(c=0;c=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=ud(c)}}\nfunction wd(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?wd(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}function xd(){for(var a=window,b=td();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=td(a.document)}return b}\nfunction yd(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}var zd=\"$\",Ad=\"/$\",Bd=\"$?\",Cd=\"$!\",Dd=null,Ed=null;function Fd(a,b){switch(a){case \"button\":case \"input\":case \"select\":case \"textarea\":return!!b.autoFocus}return!1}\nfunction Gd(a,b){return\"textarea\"===a||\"option\"===a||\"noscript\"===a||\"string\"===typeof b.children||\"number\"===typeof b.children||\"object\"===typeof b.dangerouslySetInnerHTML&&null!==b.dangerouslySetInnerHTML&&null!=b.dangerouslySetInnerHTML.__html}var Hd=\"function\"===typeof setTimeout?setTimeout:void 0,Id=\"function\"===typeof clearTimeout?clearTimeout:void 0;function Jd(a){for(;null!=a;a=a.nextSibling){var b=a.nodeType;if(1===b||3===b)break}return a}\nfunction Kd(a){a=a.previousSibling;for(var b=0;a;){if(8===a.nodeType){var c=a.data;if(c===zd||c===Cd||c===Bd){if(0===b)return a;b--}else c===Ad&&b++}a=a.previousSibling}return null}var Ld=Math.random().toString(36).slice(2),Md=\"__reactInternalInstance$\"+Ld,Nd=\"__reactEventHandlers$\"+Ld,Od=\"__reactContainere$\"+Ld;\nfunction tc(a){var b=a[Md];if(b)return b;for(var c=a.parentNode;c;){if(b=c[Od]||c[Md]){c=b.alternate;if(null!==b.child||null!==c&&null!==c.child)for(a=Kd(a);null!==a;){if(c=a[Md])return c;a=Kd(a)}return b}a=c;c=a.parentNode}return null}function Nc(a){a=a[Md]||a[Od];return!a||5!==a.tag&&6!==a.tag&&13!==a.tag&&3!==a.tag?null:a}function Pd(a){if(5===a.tag||6===a.tag)return a.stateNode;throw Error(u(33));}function Qd(a){return a[Nd]||null}\nfunction Rd(a){do a=a.return;while(a&&5!==a.tag);return a?a:null}\nfunction Sd(a,b){var c=a.stateNode;if(!c)return null;var d=la(c);if(!d)return null;c=d[b];a:switch(b){case \"onClick\":case \"onClickCapture\":case \"onDoubleClick\":case \"onDoubleClickCapture\":case \"onMouseDown\":case \"onMouseDownCapture\":case \"onMouseMove\":case \"onMouseMoveCapture\":case \"onMouseUp\":case \"onMouseUpCapture\":case \"onMouseEnter\":(d=!d.disabled)||(a=a.type,d=!(\"button\"===a||\"input\"===a||\"select\"===a||\"textarea\"===a));a=!d;break a;default:a=!1}if(a)return null;if(c&&\"function\"!==typeof c)throw Error(u(231,\nb,typeof c));return c}function Td(a,b,c){if(b=Sd(a,c.dispatchConfig.phasedRegistrationNames[b]))c._dispatchListeners=ic(c._dispatchListeners,b),c._dispatchInstances=ic(c._dispatchInstances,a)}function Ud(a){if(a&&a.dispatchConfig.phasedRegistrationNames){for(var b=a._targetInst,c=[];b;)c.push(b),b=Rd(b);for(b=c.length;0this.eventPool.length&&this.eventPool.push(a)}function de(a){a.eventPool=[];a.getPooled=ee;a.release=fe}var ge=G.extend({data:null}),he=G.extend({data:null}),ie=[9,13,27,32],je=ya&&\"CompositionEvent\"in window,ke=null;ya&&\"documentMode\"in document&&(ke=document.documentMode);\nvar le=ya&&\"TextEvent\"in window&&!ke,me=ya&&(!je||ke&&8=ke),ne=String.fromCharCode(32),oe={beforeInput:{phasedRegistrationNames:{bubbled:\"onBeforeInput\",captured:\"onBeforeInputCapture\"},dependencies:[\"compositionend\",\"keypress\",\"textInput\",\"paste\"]},compositionEnd:{phasedRegistrationNames:{bubbled:\"onCompositionEnd\",captured:\"onCompositionEndCapture\"},dependencies:\"blur compositionend keydown keypress keyup mousedown\".split(\" \")},compositionStart:{phasedRegistrationNames:{bubbled:\"onCompositionStart\",\ncaptured:\"onCompositionStartCapture\"},dependencies:\"blur compositionstart keydown keypress keyup mousedown\".split(\" \")},compositionUpdate:{phasedRegistrationNames:{bubbled:\"onCompositionUpdate\",captured:\"onCompositionUpdateCapture\"},dependencies:\"blur compositionupdate keydown keypress keyup mousedown\".split(\" \")}},pe=!1;\nfunction qe(a,b){switch(a){case \"keyup\":return-1!==ie.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"blur\":return!0;default:return!1}}function re(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var se=!1;function te(a,b){switch(a){case \"compositionend\":return re(b);case \"keypress\":if(32!==b.which)return null;pe=!0;return ne;case \"textInput\":return a=b.data,a===ne&&pe?null:a;default:return null}}\nfunction ue(a,b){if(se)return\"compositionend\"===a||!je&&qe(a,b)?(a=ae(),$d=Zd=Yd=null,se=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1=document.documentMode,df={select:{phasedRegistrationNames:{bubbled:\"onSelect\",captured:\"onSelectCapture\"},dependencies:\"blur contextmenu dragend focus keydown keyup mousedown mouseup selectionchange\".split(\" \")}},ef=null,ff=null,gf=null,hf=!1;\nfunction jf(a,b){var c=b.window===b?b.document:9===b.nodeType?b:b.ownerDocument;if(hf||null==ef||ef!==td(c))return null;c=ef;\"selectionStart\"in c&&yd(c)?c={start:c.selectionStart,end:c.selectionEnd}:(c=(c.ownerDocument&&c.ownerDocument.defaultView||window).getSelection(),c={anchorNode:c.anchorNode,anchorOffset:c.anchorOffset,focusNode:c.focusNode,focusOffset:c.focusOffset});return gf&&bf(gf,c)?null:(gf=c,a=G.getPooled(df.select,ff,a,b),a.type=\"select\",a.target=ef,Xd(a),a)}\nvar kf={eventTypes:df,extractEvents:function(a,b,c,d,e,f){e=f||(d.window===d?d.document:9===d.nodeType?d:d.ownerDocument);if(!(f=!e)){a:{e=cc(e);f=wa.onSelect;for(var g=0;gzf||(a.current=yf[zf],yf[zf]=null,zf--)}\nfunction I(a,b){zf++;yf[zf]=a.current;a.current=b}var Af={},J={current:Af},K={current:!1},Bf=Af;function Cf(a,b){var c=a.type.contextTypes;if(!c)return Af;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}function L(a){a=a.childContextTypes;return null!==a&&void 0!==a}\nfunction Df(){H(K);H(J)}function Ef(a,b,c){if(J.current!==Af)throw Error(u(168));I(J,b);I(K,c)}function Ff(a,b,c){var d=a.stateNode;a=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in a))throw Error(u(108,pb(b)||\"Unknown\",e));return n({},c,{},d)}function Gf(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Af;Bf=J.current;I(J,a);I(K,K.current);return!0}\nfunction Hf(a,b,c){var d=a.stateNode;if(!d)throw Error(u(169));c?(a=Ff(a,b,Bf),d.__reactInternalMemoizedMergedChildContext=a,H(K),H(J),I(J,a)):H(K);I(K,c)}\nvar If=r.unstable_runWithPriority,Jf=r.unstable_scheduleCallback,Kf=r.unstable_cancelCallback,Lf=r.unstable_requestPaint,Mf=r.unstable_now,Nf=r.unstable_getCurrentPriorityLevel,Of=r.unstable_ImmediatePriority,Pf=r.unstable_UserBlockingPriority,Qf=r.unstable_NormalPriority,Rf=r.unstable_LowPriority,Sf=r.unstable_IdlePriority,Tf={},Uf=r.unstable_shouldYield,Vf=void 0!==Lf?Lf:function(){},Wf=null,Xf=null,Yf=!1,Zf=Mf(),$f=1E4>Zf?Mf:function(){return Mf()-Zf};\nfunction ag(){switch(Nf()){case Of:return 99;case Pf:return 98;case Qf:return 97;case Rf:return 96;case Sf:return 95;default:throw Error(u(332));}}function bg(a){switch(a){case 99:return Of;case 98:return Pf;case 97:return Qf;case 96:return Rf;case 95:return Sf;default:throw Error(u(332));}}function cg(a,b){a=bg(a);return If(a,b)}function dg(a,b,c){a=bg(a);return Jf(a,b,c)}function eg(a){null===Wf?(Wf=[a],Xf=Jf(Of,fg)):Wf.push(a);return Tf}function gg(){if(null!==Xf){var a=Xf;Xf=null;Kf(a)}fg()}\nfunction fg(){if(!Yf&&null!==Wf){Yf=!0;var a=0;try{var b=Wf;cg(99,function(){for(;a=b&&(rg=!0),a.firstContext=null)}\nfunction sg(a,b){if(mg!==a&&!1!==b&&0!==b){if(\"number\"!==typeof b||1073741823===b)mg=a,b=1073741823;b={context:a,observedBits:b,next:null};if(null===lg){if(null===kg)throw Error(u(308));lg=b;kg.dependencies={expirationTime:0,firstContext:b,responders:null}}else lg=lg.next=b}return a._currentValue}var tg=!1;function ug(a){a.updateQueue={baseState:a.memoizedState,baseQueue:null,shared:{pending:null},effects:null}}\nfunction vg(a,b){a=a.updateQueue;b.updateQueue===a&&(b.updateQueue={baseState:a.baseState,baseQueue:a.baseQueue,shared:a.shared,effects:a.effects})}function wg(a,b){a={expirationTime:a,suspenseConfig:b,tag:0,payload:null,callback:null,next:null};return a.next=a}function xg(a,b){a=a.updateQueue;if(null!==a){a=a.shared;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}}\nfunction yg(a,b){var c=a.alternate;null!==c&&vg(c,a);a=a.updateQueue;c=a.baseQueue;null===c?(a.baseQueue=b.next=b,b.next=b):(b.next=c.next,c.next=b)}\nfunction zg(a,b,c,d){var e=a.updateQueue;tg=!1;var f=e.baseQueue,g=e.shared.pending;if(null!==g){if(null!==f){var h=f.next;f.next=g.next;g.next=h}f=g;e.shared.pending=null;h=a.alternate;null!==h&&(h=h.updateQueue,null!==h&&(h.baseQueue=g))}if(null!==f){h=f.next;var k=e.baseState,l=0,m=null,p=null,x=null;if(null!==h){var z=h;do{g=z.expirationTime;if(gl&&(l=g)}else{null!==x&&(x=x.next={expirationTime:1073741823,suspenseConfig:z.suspenseConfig,tag:z.tag,payload:z.payload,callback:z.callback,next:null});Ag(g,z.suspenseConfig);a:{var D=a,t=z;g=b;ca=c;switch(t.tag){case 1:D=t.payload;if(\"function\"===typeof D){k=D.call(ca,k,g);break a}k=D;break a;case 3:D.effectTag=D.effectTag&-4097|64;case 0:D=t.payload;g=\"function\"===typeof D?D.call(ca,k,g):D;if(null===g||void 0===g)break a;k=n({},k,g);break a;case 2:tg=!0}}null!==z.callback&&\n(a.effectTag|=32,g=e.effects,null===g?e.effects=[z]:g.push(z))}z=z.next;if(null===z||z===h)if(g=e.shared.pending,null===g)break;else z=f.next=g.next,g.next=h,e.baseQueue=f=g,e.shared.pending=null}while(1)}null===x?m=k:x.next=p;e.baseState=m;e.baseQueue=x;Bg(l);a.expirationTime=l;a.memoizedState=k}}\nfunction Cg(a,b,c){a=b.effects;b.effects=null;if(null!==a)for(b=0;by?(A=m,m=null):A=m.sibling;var q=x(e,m,h[y],k);if(null===q){null===m&&(m=A);break}a&&\nm&&null===q.alternate&&b(e,m);g=f(q,g,y);null===t?l=q:t.sibling=q;t=q;m=A}if(y===h.length)return c(e,m),l;if(null===m){for(;yy?(A=t,t=null):A=t.sibling;var D=x(e,t,q.value,l);if(null===D){null===t&&(t=A);break}a&&t&&null===D.alternate&&b(e,t);g=f(D,g,y);null===m?k=D:m.sibling=D;m=D;t=A}if(q.done)return c(e,t),k;if(null===t){for(;!q.done;y++,q=h.next())q=p(e,q.value,l),null!==q&&(g=f(q,g,y),null===m?k=q:m.sibling=q,m=q);return k}for(t=d(e,t);!q.done;y++,q=h.next())q=z(t,e,y,q.value,l),null!==q&&(a&&null!==\nq.alternate&&t.delete(null===q.key?y:q.key),g=f(q,g,y),null===m?k=q:m.sibling=q,m=q);a&&t.forEach(function(a){return b(e,a)});return k}return function(a,d,f,h){var k=\"object\"===typeof f&&null!==f&&f.type===ab&&null===f.key;k&&(f=f.props.children);var l=\"object\"===typeof f&&null!==f;if(l)switch(f.$$typeof){case Za:a:{l=f.key;for(k=d;null!==k;){if(k.key===l){switch(k.tag){case 7:if(f.type===ab){c(a,k.sibling);d=e(k,f.props.children);d.return=a;a=d;break a}break;default:if(k.elementType===f.type){c(a,\nk.sibling);d=e(k,f.props);d.ref=Pg(a,k,f);d.return=a;a=d;break a}}c(a,k);break}else b(a,k);k=k.sibling}f.type===ab?(d=Wg(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=Ug(f.type,f.key,f.props,null,a.mode,h),h.ref=Pg(a,d,f),h.return=a,a=h)}return g(a);case $a:a:{for(k=f.key;null!==d;){if(d.key===k)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=\nd.sibling}d=Vg(f,a.mode,h);d.return=a;a=d}return g(a)}if(\"string\"===typeof f||\"number\"===typeof f)return f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):(c(a,d),d=Tg(f,a.mode,h),d.return=a,a=d),g(a);if(Og(f))return ca(a,d,f,h);if(nb(f))return D(a,d,f,h);l&&Qg(a,f);if(\"undefined\"===typeof f&&!k)switch(a.tag){case 1:case 0:throw a=a.type,Error(u(152,a.displayName||a.name||\"Component\"));}return c(a,d)}}var Xg=Rg(!0),Yg=Rg(!1),Zg={},$g={current:Zg},ah={current:Zg},bh={current:Zg};\nfunction ch(a){if(a===Zg)throw Error(u(174));return a}function dh(a,b){I(bh,b);I(ah,a);I($g,Zg);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:Ob(null,\"\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=Ob(b,a)}H($g);I($g,b)}function eh(){H($g);H(ah);H(bh)}function fh(a){ch(bh.current);var b=ch($g.current);var c=Ob(b,a.type);b!==c&&(I(ah,a),I($g,c))}function gh(a){ah.current===a&&(H($g),H(ah))}var M={current:0};\nfunction hh(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||c.data===Bd||c.data===Cd))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.effectTag&64))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}function ih(a,b){return{responder:a,props:b}}\nvar jh=Wa.ReactCurrentDispatcher,kh=Wa.ReactCurrentBatchConfig,lh=0,N=null,O=null,P=null,mh=!1;function Q(){throw Error(u(321));}function nh(a,b){if(null===b)return!1;for(var c=0;cf))throw Error(u(301));f+=1;P=O=null;b.updateQueue=null;jh.current=rh;a=c(d,e)}while(b.expirationTime===lh)}jh.current=sh;b=null!==O&&null!==O.next;lh=0;P=O=N=null;mh=!1;if(b)throw Error(u(300));return a}\nfunction th(){var a={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};null===P?N.memoizedState=P=a:P=P.next=a;return P}function uh(){if(null===O){var a=N.alternate;a=null!==a?a.memoizedState:null}else a=O.next;var b=null===P?N.memoizedState:P.next;if(null!==b)P=b,O=a;else{if(null===a)throw Error(u(310));O=a;a={memoizedState:O.memoizedState,baseState:O.baseState,baseQueue:O.baseQueue,queue:O.queue,next:null};null===P?N.memoizedState=P=a:P=P.next=a}return P}\nfunction vh(a,b){return\"function\"===typeof b?b(a):b}\nfunction wh(a){var b=uh(),c=b.queue;if(null===c)throw Error(u(311));c.lastRenderedReducer=a;var d=O,e=d.baseQueue,f=c.pending;if(null!==f){if(null!==e){var g=e.next;e.next=f.next;f.next=g}d.baseQueue=e=f;c.pending=null}if(null!==e){e=e.next;d=d.baseState;var h=g=f=null,k=e;do{var l=k.expirationTime;if(lN.expirationTime&&\n(N.expirationTime=l,Bg(l))}else null!==h&&(h=h.next={expirationTime:1073741823,suspenseConfig:k.suspenseConfig,action:k.action,eagerReducer:k.eagerReducer,eagerState:k.eagerState,next:null}),Ag(l,k.suspenseConfig),d=k.eagerReducer===a?k.eagerState:a(d,k.action);k=k.next}while(null!==k&&k!==e);null===h?f=d:h.next=g;$e(d,b.memoizedState)||(rg=!0);b.memoizedState=d;b.baseState=f;b.baseQueue=h;c.lastRenderedState=d}return[b.memoizedState,c.dispatch]}\nfunction xh(a){var b=uh(),c=b.queue;if(null===c)throw Error(u(311));c.lastRenderedReducer=a;var d=c.dispatch,e=c.pending,f=b.memoizedState;if(null!==e){c.pending=null;var g=e=e.next;do f=a(f,g.action),g=g.next;while(g!==e);$e(f,b.memoizedState)||(rg=!0);b.memoizedState=f;null===b.baseQueue&&(b.baseState=f);c.lastRenderedState=f}return[f,d]}\nfunction yh(a){var b=th();\"function\"===typeof a&&(a=a());b.memoizedState=b.baseState=a;a=b.queue={pending:null,dispatch:null,lastRenderedReducer:vh,lastRenderedState:a};a=a.dispatch=zh.bind(null,N,a);return[b.memoizedState,a]}function Ah(a,b,c,d){a={tag:a,create:b,destroy:c,deps:d,next:null};b=N.updateQueue;null===b?(b={lastEffect:null},N.updateQueue=b,b.lastEffect=a.next=a):(c=b.lastEffect,null===c?b.lastEffect=a.next=a:(d=c.next,c.next=a,a.next=d,b.lastEffect=a));return a}\nfunction Bh(){return uh().memoizedState}function Ch(a,b,c,d){var e=th();N.effectTag|=a;e.memoizedState=Ah(1|b,c,void 0,void 0===d?null:d)}function Dh(a,b,c,d){var e=uh();d=void 0===d?null:d;var f=void 0;if(null!==O){var g=O.memoizedState;f=g.destroy;if(null!==d&&nh(d,g.deps)){Ah(b,c,f,d);return}}N.effectTag|=a;e.memoizedState=Ah(1|b,c,f,d)}function Eh(a,b){return Ch(516,4,a,b)}function Fh(a,b){return Dh(516,4,a,b)}function Gh(a,b){return Dh(4,2,a,b)}\nfunction Hh(a,b){if(\"function\"===typeof b)return a=a(),b(a),function(){b(null)};if(null!==b&&void 0!==b)return a=a(),b.current=a,function(){b.current=null}}function Ih(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return Dh(4,2,Hh.bind(null,b,a),c)}function Jh(){}function Kh(a,b){th().memoizedState=[a,void 0===b?null:b];return a}function Lh(a,b){var c=uh();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&nh(b,d[1]))return d[0];c.memoizedState=[a,b];return a}\nfunction Mh(a,b){var c=uh();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&nh(b,d[1]))return d[0];a=a();c.memoizedState=[a,b];return a}function Nh(a,b,c){var d=ag();cg(98>d?98:d,function(){a(!0)});cg(97\\x3c/script>\",a=a.removeChild(a.firstChild)):\"string\"===typeof d.is?a=g.createElement(e,{is:d.is}):(a=g.createElement(e),\"select\"===e&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,e);a[Md]=b;a[Nd]=d;ni(a,b,!1,!1);b.stateNode=a;g=pd(e,d);switch(e){case \"iframe\":case \"object\":case \"embed\":F(\"load\",\na);h=d;break;case \"video\":case \"audio\":for(h=0;hd.tailExpiration&&1b)&&tj.set(a,b)))}}\nfunction xj(a,b){a.expirationTimea?c:a;return 2>=a&&b!==a?0:a}\nfunction Z(a){if(0!==a.lastExpiredTime)a.callbackExpirationTime=1073741823,a.callbackPriority=99,a.callbackNode=eg(yj.bind(null,a));else{var b=zj(a),c=a.callbackNode;if(0===b)null!==c&&(a.callbackNode=null,a.callbackExpirationTime=0,a.callbackPriority=90);else{var d=Gg();1073741823===b?d=99:1===b||2===b?d=95:(d=10*(1073741821-b)-10*(1073741821-d),d=0>=d?99:250>=d?98:5250>=d?97:95);if(null!==c){var e=a.callbackPriority;if(a.callbackExpirationTime===b&&e>=d)return;c!==Tf&&Kf(c)}a.callbackExpirationTime=\nb;a.callbackPriority=d;b=1073741823===b?eg(yj.bind(null,a)):dg(d,Bj.bind(null,a),{timeout:10*(1073741821-b)-$f()});a.callbackNode=b}}}\nfunction Bj(a,b){wj=0;if(b)return b=Gg(),Cj(a,b),Z(a),null;var c=zj(a);if(0!==c){b=a.callbackNode;if((W&(fj|gj))!==V)throw Error(u(327));Dj();a===T&&c===U||Ej(a,c);if(null!==X){var d=W;W|=fj;var e=Fj();do try{Gj();break}catch(h){Hj(a,h)}while(1);ng();W=d;cj.current=e;if(S===hj)throw b=kj,Ej(a,c),xi(a,c),Z(a),b;if(null===X)switch(e=a.finishedWork=a.current.alternate,a.finishedExpirationTime=c,d=S,T=null,d){case ti:case hj:throw Error(u(345));case ij:Cj(a,2=c){a.lastPingedTime=c;Ej(a,c);break}}f=zj(a);if(0!==f&&f!==c)break;if(0!==d&&d!==c){a.lastPingedTime=d;break}a.timeoutHandle=Hd(Jj.bind(null,a),e);break}Jj(a);break;case vi:xi(a,c);d=a.lastSuspendedTime;c===d&&(a.nextKnownPendingLevel=Ij(e));if(oj&&(e=a.lastPingedTime,0===e||e>=c)){a.lastPingedTime=c;Ej(a,c);break}e=zj(a);if(0!==e&&e!==c)break;if(0!==d&&d!==c){a.lastPingedTime=\nd;break}1073741823!==mj?d=10*(1073741821-mj)-$f():1073741823===lj?d=0:(d=10*(1073741821-lj)-5E3,e=$f(),c=10*(1073741821-c)-e,d=e-d,0>d&&(d=0),d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*bj(d/1960))-d,c=d?d=0:(e=g.busyDelayMs|0,f=$f()-(10*(1073741821-f)-(g.timeoutMs|0||5E3)),d=f<=e?0:e+d-f);if(10 component higher in the tree to provide a loading indicator or placeholder to display.\"+qb(g))}S!==\njj&&(S=ij);h=Ai(h,g);p=f;do{switch(p.tag){case 3:k=h;p.effectTag|=4096;p.expirationTime=b;var B=Xi(p,k,b);yg(p,B);break a;case 1:k=h;var w=p.type,ub=p.stateNode;if(0===(p.effectTag&64)&&(\"function\"===typeof w.getDerivedStateFromError||null!==ub&&\"function\"===typeof ub.componentDidCatch&&(null===aj||!aj.has(ub)))){p.effectTag|=4096;p.expirationTime=b;var vb=$i(p,k,b);yg(p,vb);break a}}p=p.return}while(null!==p)}X=Pj(X)}catch(Xc){b=Xc;continue}break}while(1)}\nfunction Fj(){var a=cj.current;cj.current=sh;return null===a?sh:a}function Ag(a,b){awi&&(wi=a)}function Kj(){for(;null!==X;)X=Qj(X)}function Gj(){for(;null!==X&&!Uf();)X=Qj(X)}function Qj(a){var b=Rj(a.alternate,a,U);a.memoizedProps=a.pendingProps;null===b&&(b=Pj(a));dj.current=null;return b}\nfunction Pj(a){X=a;do{var b=X.alternate;a=X.return;if(0===(X.effectTag&2048)){b=si(b,X,U);if(1===U||1!==X.childExpirationTime){for(var c=0,d=X.child;null!==d;){var e=d.expirationTime,f=d.childExpirationTime;e>c&&(c=e);f>c&&(c=f);d=d.sibling}X.childExpirationTime=c}if(null!==b)return b;null!==a&&0===(a.effectTag&2048)&&(null===a.firstEffect&&(a.firstEffect=X.firstEffect),null!==X.lastEffect&&(null!==a.lastEffect&&(a.lastEffect.nextEffect=X.firstEffect),a.lastEffect=X.lastEffect),1a?b:a}function Jj(a){var b=ag();cg(99,Sj.bind(null,a,b));return null}\nfunction Sj(a,b){do Dj();while(null!==rj);if((W&(fj|gj))!==V)throw Error(u(327));var c=a.finishedWork,d=a.finishedExpirationTime;if(null===c)return null;a.finishedWork=null;a.finishedExpirationTime=0;if(c===a.current)throw Error(u(177));a.callbackNode=null;a.callbackExpirationTime=0;a.callbackPriority=90;a.nextKnownPendingLevel=0;var e=Ij(c);a.firstPendingTime=e;d<=a.lastSuspendedTime?a.firstSuspendedTime=a.lastSuspendedTime=a.nextKnownPendingLevel=0:d<=a.firstSuspendedTime&&(a.firstSuspendedTime=\nd-1);d<=a.lastPingedTime&&(a.lastPingedTime=0);d<=a.lastExpiredTime&&(a.lastExpiredTime=0);a===T&&(X=T=null,U=0);1h&&(l=h,h=g,g=l),l=vd(q,g),m=vd(q,h),l&&m&&(1!==w.rangeCount||w.anchorNode!==l.node||w.anchorOffset!==l.offset||w.focusNode!==m.node||w.focusOffset!==m.offset)&&(B=B.createRange(),B.setStart(l.node,l.offset),w.removeAllRanges(),g>h?(w.addRange(B),w.extend(m.node,m.offset)):(B.setEnd(m.node,m.offset),w.addRange(B))))));B=[];for(w=q;w=w.parentNode;)1===w.nodeType&&B.push({element:w,left:w.scrollLeft,\ntop:w.scrollTop});\"function\"===typeof q.focus&&q.focus();for(q=0;q=c)return ji(a,b,c);I(M,M.current&1);b=$h(a,b,c);return null!==b?b.sibling:null}I(M,M.current&1);break;case 19:d=b.childExpirationTime>=c;if(0!==(a.effectTag&64)){if(d)return mi(a,b,c);b.effectTag|=64}e=b.memoizedState;null!==e&&(e.rendering=null,e.tail=null);I(M,M.current);if(!d)return null}return $h(a,b,c)}rg=!1}}else rg=!1;b.expirationTime=0;switch(b.tag){case 2:d=b.type;null!==a&&(a.alternate=null,b.alternate=null,b.effectTag|=2);a=b.pendingProps;e=Cf(b,J.current);qg(b,c);e=oh(null,\nb,d,a,e,c);b.effectTag|=1;if(\"object\"===typeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof){b.tag=1;b.memoizedState=null;b.updateQueue=null;if(L(d)){var f=!0;Gf(b)}else f=!1;b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null;ug(b);var g=d.getDerivedStateFromProps;\"function\"===typeof g&&Fg(b,d,g,a);e.updater=Jg;b.stateNode=e;e._reactInternalFiber=b;Ng(b,d,a,c);b=gi(null,b,d,!0,f,c)}else b.tag=0,R(null,b,e,c),b=b.child;return b;case 16:a:{e=b.elementType;null!==a&&(a.alternate=\nnull,b.alternate=null,b.effectTag|=2);a=b.pendingProps;ob(e);if(1!==e._status)throw e._result;e=e._result;b.type=e;f=b.tag=Xj(e);a=ig(e,a);switch(f){case 0:b=di(null,b,e,a,c);break a;case 1:b=fi(null,b,e,a,c);break a;case 11:b=Zh(null,b,e,a,c);break a;case 14:b=ai(null,b,e,ig(e.type,a),d,c);break a}throw Error(u(306,e,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ig(d,e),di(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ig(d,e),fi(a,b,d,e,c);\ncase 3:hi(b);d=b.updateQueue;if(null===a||null===d)throw Error(u(282));d=b.pendingProps;e=b.memoizedState;e=null!==e?e.element:null;vg(a,b);zg(b,d,null,c);d=b.memoizedState.element;if(d===e)Xh(),b=$h(a,b,c);else{if(e=b.stateNode.hydrate)Ph=Jd(b.stateNode.containerInfo.firstChild),Oh=b,e=Qh=!0;if(e)for(c=Yg(b,null,d,c),b.child=c;c;)c.effectTag=c.effectTag&-3|1024,c=c.sibling;else R(a,b,d,c),Xh();b=b.child}return b;case 5:return fh(b),null===a&&Uh(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:\nnull,g=e.children,Gd(d,e)?g=null:null!==f&&Gd(d,f)&&(b.effectTag|=16),ei(a,b),b.mode&4&&1!==c&&e.hidden?(b.expirationTime=b.childExpirationTime=1,b=null):(R(a,b,g,c),b=b.child),b;case 6:return null===a&&Uh(b),null;case 13:return ji(a,b,c);case 4:return dh(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Xg(b,null,d,c):R(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ig(d,e),Zh(a,b,d,e,c);case 7:return R(a,b,b.pendingProps,c),b.child;case 8:return R(a,\nb,b.pendingProps.children,c),b.child;case 12:return R(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;g=b.memoizedProps;f=e.value;var h=b.type._context;I(jg,h._currentValue);h._currentValue=f;if(null!==g)if(h=g.value,f=$e(h,f)?0:(\"function\"===typeof d._calculateChangedBits?d._calculateChangedBits(h,f):1073741823)|0,0===f){if(g.children===e.children&&!K.current){b=$h(a,b,c);break a}}else for(h=b.child,null!==h&&(h.return=b);null!==h;){var k=h.dependencies;if(null!==\nk){g=h.child;for(var l=k.firstContext;null!==l;){if(l.context===d&&0!==(l.observedBits&f)){1===h.tag&&(l=wg(c,null),l.tag=2,xg(h,l));h.expirationTime=b&&a<=b}function xi(a,b){var c=a.firstSuspendedTime,d=a.lastSuspendedTime;cb||0===c)a.lastSuspendedTime=b;b<=a.lastPingedTime&&(a.lastPingedTime=0);b<=a.lastExpiredTime&&(a.lastExpiredTime=0)}\nfunction yi(a,b){b>a.firstPendingTime&&(a.firstPendingTime=b);var c=a.firstSuspendedTime;0!==c&&(b>=c?a.firstSuspendedTime=a.lastSuspendedTime=a.nextKnownPendingLevel=0:b>=a.lastSuspendedTime&&(a.lastSuspendedTime=b+1),b>a.nextKnownPendingLevel&&(a.nextKnownPendingLevel=b))}function Cj(a,b){var c=a.lastExpiredTime;if(0===c||c>b)a.lastExpiredTime=b}\nfunction bk(a,b,c,d){var e=b.current,f=Gg(),g=Dg.suspense;f=Hg(f,e,g);a:if(c){c=c._reactInternalFiber;b:{if(dc(c)!==c||1!==c.tag)throw Error(u(170));var h=c;do{switch(h.tag){case 3:h=h.stateNode.context;break b;case 1:if(L(h.type)){h=h.stateNode.__reactInternalMemoizedMergedChildContext;break b}}h=h.return}while(null!==h);throw Error(u(171));}if(1===c.tag){var k=c.type;if(L(k)){c=Ff(c,k,h);break a}}c=h}else c=Af;null===b.context?b.context=c:b.pendingContext=c;b=wg(f,g);b.payload={element:a};d=void 0===\nd?null:d;null!==d&&(b.callback=d);xg(e,b);Ig(e,f);return f}function ck(a){a=a.current;if(!a.child)return null;switch(a.child.tag){case 5:return a.child.stateNode;default:return a.child.stateNode}}function dk(a,b){a=a.memoizedState;null!==a&&null!==a.dehydrated&&a.retryTime=G};l=function(){};exports.unstable_forceFrameRate=function(a){0>a||125>>1,e=a[d];if(void 0!==e&&0K(n,c))void 0!==r&&0>K(r,n)?(a[d]=r,a[v]=c,d=v):(a[d]=n,a[m]=c,d=m);else if(void 0!==r&&0>K(r,c))a[d]=r,a[v]=c,d=v;else break a}}return b}return null}function K(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}var N=[],O=[],P=1,Q=null,R=3,S=!1,T=!1,U=!1;\nfunction V(a){for(var b=L(O);null!==b;){if(null===b.callback)M(O);else if(b.startTime<=a)M(O),b.sortIndex=b.expirationTime,J(N,b);else break;b=L(O)}}function W(a){U=!1;V(a);if(!T)if(null!==L(N))T=!0,f(X);else{var b=L(O);null!==b&&g(W,b.startTime-a)}}\nfunction X(a,b){T=!1;U&&(U=!1,h());S=!0;var c=R;try{V(b);for(Q=L(N);null!==Q&&(!(Q.expirationTime>b)||a&&!k());){var d=Q.callback;if(null!==d){Q.callback=null;R=Q.priorityLevel;var e=d(Q.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?Q.callback=e:Q===L(N)&&M(N);V(b)}else M(N);Q=L(N)}if(null!==Q)var m=!0;else{var n=L(O);null!==n&&g(W,n.startTime-b);m=!1}return m}finally{Q=null,R=c,S=!1}}\nfunction Y(a){switch(a){case 1:return-1;case 2:return 250;case 5:return 1073741823;case 4:return 1E4;default:return 5E3}}var Z=l;exports.unstable_IdlePriority=5;exports.unstable_ImmediatePriority=1;exports.unstable_LowPriority=4;exports.unstable_NormalPriority=3;exports.unstable_Profiling=null;exports.unstable_UserBlockingPriority=2;exports.unstable_cancelCallback=function(a){a.callback=null};exports.unstable_continueExecution=function(){T||S||(T=!0,f(X))};\nexports.unstable_getCurrentPriorityLevel=function(){return R};exports.unstable_getFirstCallbackNode=function(){return L(N)};exports.unstable_next=function(a){switch(R){case 1:case 2:case 3:var b=3;break;default:b=R}var c=R;R=b;try{return a()}finally{R=c}};exports.unstable_pauseExecution=function(){};exports.unstable_requestPaint=Z;exports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=R;R=a;try{return b()}finally{R=c}};\nexports.unstable_scheduleCallback=function(a,b,c){var d=exports.unstable_now();if(\"object\"===typeof c&&null!==c){var e=c.delay;e=\"number\"===typeof e&&0d?(a.sortIndex=e,J(O,a),null===L(N)&&a===L(O)&&(U?h():U=!0,g(W,e-d))):(a.sortIndex=c,J(N,a),T||S||(T=!0,f(X)));return a};\nexports.unstable_shouldYield=function(){var a=exports.unstable_now();V(a);var b=L(N);return b!==Q&&null!==Q&&null!==b&&null!==b.callback&&b.startTime<=a&&b.expirationTime 1 && arguments.length > 1) {\r\n return repeatMethod.call(this, \"attr\", arguments)\r\n }\r\n if (!this[0]) {\r\n if (typeUtils.isObject(attrName) || void 0 !== value) {\r\n return this\r\n } else {\r\n return\r\n }\r\n }\r\n if (!this[0].getAttribute) {\r\n return this.prop(attrName, value)\r\n }\r\n if (\"string\" === typeof attrName && 1 === arguments.length) {\r\n var result = this[0].getAttribute(attrName);\r\n return null == result ? void 0 : result\r\n } else {\r\n if (typeUtils.isPlainObject(attrName)) {\r\n for (var key in attrName) {\r\n this.attr(key, attrName[key])\r\n }\r\n } else {\r\n setAttributeValue(this[0], attrName, value)\r\n }\r\n }\r\n return this\r\n};\r\ninitRender.prototype.removeAttr = function(attrName) {\r\n this[0] && domAdapter.removeAttribute(this[0], attrName);\r\n return this\r\n};\r\ninitRender.prototype.prop = function(propName, value) {\r\n if (!this[0]) {\r\n return this\r\n }\r\n if (\"string\" === typeof propName && 1 === arguments.length) {\r\n return this[0][propName]\r\n } else {\r\n if (typeUtils.isPlainObject(propName)) {\r\n for (var key in propName) {\r\n this.prop(key, propName[key])\r\n }\r\n } else {\r\n domAdapter.setProperty(this[0], propName, value)\r\n }\r\n }\r\n return this\r\n};\r\ninitRender.prototype.addClass = function(className) {\r\n return this.toggleClass(className, true)\r\n};\r\ninitRender.prototype.removeClass = function(className) {\r\n return this.toggleClass(className, false)\r\n};\r\ninitRender.prototype.hasClass = function(className) {\r\n if (!this[0] || void 0 === this[0].className) {\r\n return false\r\n }\r\n var classNames = className.split(\" \");\r\n for (var i = 0; i < classNames.length; i++) {\r\n if (this[0].classList) {\r\n if (this[0].classList.contains(classNames[i])) {\r\n return true\r\n }\r\n } else {\r\n var _className = typeUtils.isString(this[0].className) ? this[0].className : domAdapter.getAttribute(this[0], \"class\");\r\n if ((_className || \"\").split(\" \").indexOf(classNames[i]) >= 0) {\r\n return true\r\n }\r\n }\r\n }\r\n return false\r\n};\r\ninitRender.prototype.toggleClass = function(className, value) {\r\n if (this.length > 1) {\r\n return repeatMethod.call(this, \"toggleClass\", arguments)\r\n }\r\n if (!this[0] || !className) {\r\n return this\r\n }\r\n value = void 0 === value ? !this.hasClass(className) : value;\r\n var classNames = className.split(\" \");\r\n for (var i = 0; i < classNames.length; i++) {\r\n domAdapter.setClass(this[0], classNames[i], value)\r\n }\r\n return this\r\n};\r\n[\"width\", \"height\", \"outerWidth\", \"outerHeight\", \"innerWidth\", \"innerHeight\"].forEach(function(methodName) {\r\n var partialName = methodName.toLowerCase().indexOf(\"width\") >= 0 ? \"Width\" : \"Height\";\r\n var propName = partialName.toLowerCase();\r\n var isOuter = 0 === methodName.indexOf(\"outer\");\r\n var isInner = 0 === methodName.indexOf(\"inner\");\r\n initRender.prototype[methodName] = function(value) {\r\n if (this.length > 1 && arguments.length > 0) {\r\n return repeatMethod.call(this, methodName, arguments)\r\n }\r\n var element = this[0];\r\n if (!element) {\r\n return\r\n }\r\n if (typeUtils.isWindow(element)) {\r\n return isOuter ? element[\"inner\" + partialName] : domAdapter.getDocumentElement()[\"client\" + partialName]\r\n }\r\n if (domAdapter.isDocument(element)) {\r\n var documentElement = domAdapter.getDocumentElement(),\r\n body = domAdapter.getBody();\r\n return Math.max(body[\"scroll\" + partialName], body[\"offset\" + partialName], documentElement[\"scroll\" + partialName], documentElement[\"offset\" + partialName], documentElement[\"client\" + partialName])\r\n }\r\n if (0 === arguments.length || \"boolean\" === typeof value) {\r\n var include = {\r\n paddings: isInner || isOuter,\r\n borders: isOuter,\r\n margins: value\r\n };\r\n return sizeUtils.getSize(element, propName, include)\r\n }\r\n if (void 0 === value || null === value) {\r\n return this\r\n }\r\n if (typeUtils.isNumeric(value)) {\r\n var elementStyles = window.getComputedStyle(element);\r\n var sizeAdjustment = sizeUtils.getElementBoxParams(propName, elementStyles);\r\n var isBorderBox = \"border-box\" === elementStyles.boxSizing;\r\n value = Number(value);\r\n if (isOuter) {\r\n value -= isBorderBox ? 0 : sizeAdjustment.border + sizeAdjustment.padding\r\n } else {\r\n if (isInner) {\r\n value += isBorderBox ? sizeAdjustment.border : -sizeAdjustment.padding\r\n } else {\r\n if (isBorderBox) {\r\n value += sizeAdjustment.border + sizeAdjustment.padding\r\n }\r\n }\r\n }\r\n }\r\n value += typeUtils.isNumeric(value) ? \"px\" : \"\";\r\n domAdapter.setStyle(element, propName, value);\r\n return this\r\n }\r\n});\r\ninitRender.prototype.html = function(value) {\r\n if (!arguments.length) {\r\n return this[0].innerHTML\r\n }\r\n this.empty();\r\n if (\"string\" === typeof value && !htmlParser.isTablePart(value) || \"number\" === typeof value) {\r\n this[0].innerHTML = value;\r\n return this\r\n }\r\n return this.append(htmlParser.parseHTML(value))\r\n};\r\nvar appendElements = function(element, nextSibling) {\r\n if (!this[0] || !element) {\r\n return\r\n }\r\n if (\"string\" === typeof element) {\r\n element = htmlParser.parseHTML(element)\r\n } else {\r\n if (element.nodeType) {\r\n element = [element]\r\n } else {\r\n if (typeUtils.isNumeric(element)) {\r\n element = [domAdapter.createTextNode(element)]\r\n }\r\n }\r\n }\r\n for (var i = 0; i < element.length; i++) {\r\n var item = element[i],\r\n container = this[0],\r\n wrapTR = \"TABLE\" === container.tagName && \"TR\" === item.tagName;\r\n if (wrapTR && container.tBodies && container.tBodies.length) {\r\n container = container.tBodies[0]\r\n }\r\n domAdapter.insertElement(container, item.nodeType ? item : item[0], nextSibling)\r\n }\r\n};\r\nvar setCss = function(name, value) {\r\n if (!this[0] || !this[0].style) {\r\n return\r\n }\r\n if (null === value || \"number\" === typeof value && isNaN(value)) {\r\n return\r\n }\r\n name = styleUtils.styleProp(name);\r\n for (var i = 0; i < this.length; i++) {\r\n this[i].style[name] = styleUtils.normalizeStyleProp(name, value)\r\n }\r\n};\r\ninitRender.prototype.css = function(name, value) {\r\n if (typeUtils.isString(name)) {\r\n if (2 === arguments.length) {\r\n setCss.call(this, name, value)\r\n } else {\r\n if (!this[0]) {\r\n return\r\n }\r\n name = styleUtils.styleProp(name);\r\n var result = window.getComputedStyle(this[0])[name] || this[0].style[name];\r\n return typeUtils.isNumeric(result) ? result.toString() : result\r\n }\r\n } else {\r\n if (typeUtils.isPlainObject(name)) {\r\n for (var key in name) {\r\n setCss.call(this, key, name[key])\r\n }\r\n }\r\n }\r\n return this\r\n};\r\ninitRender.prototype.prepend = function(element) {\r\n if (arguments.length > 1) {\r\n for (var i = 0; i < arguments.length; i++) {\r\n this.prepend(arguments[i])\r\n }\r\n return this\r\n }\r\n appendElements.apply(this, [element, this[0].firstChild]);\r\n return this\r\n};\r\ninitRender.prototype.append = function(element) {\r\n if (arguments.length > 1) {\r\n for (var i = 0; i < arguments.length; i++) {\r\n this.append(arguments[i])\r\n }\r\n return this\r\n }\r\n appendElements.apply(this, [element]);\r\n return this\r\n};\r\ninitRender.prototype.prependTo = function(element) {\r\n element = renderer(element);\r\n if (element[0]) {\r\n domAdapter.insertElement(element[0], this[0], element[0].firstChild)\r\n }\r\n return this\r\n};\r\ninitRender.prototype.appendTo = function(element) {\r\n if (this.length > 1) {\r\n return repeatMethod.call(this, \"appendTo\", arguments)\r\n }\r\n domAdapter.insertElement(renderer(element)[0], this[0]);\r\n return this\r\n};\r\ninitRender.prototype.insertBefore = function(element) {\r\n if (element && element[0]) {\r\n domAdapter.insertElement(element[0].parentNode, this[0], element[0])\r\n }\r\n return this\r\n};\r\ninitRender.prototype.insertAfter = function(element) {\r\n if (element && element[0]) {\r\n domAdapter.insertElement(element[0].parentNode, this[0], element[0].nextSibling)\r\n }\r\n return this\r\n};\r\ninitRender.prototype.before = function(element) {\r\n if (this[0]) {\r\n domAdapter.insertElement(this[0].parentNode, element[0], this[0])\r\n }\r\n return this\r\n};\r\ninitRender.prototype.after = function(element) {\r\n if (this[0]) {\r\n domAdapter.insertElement(this[0].parentNode, element[0], this[0].nextSibling)\r\n }\r\n return this\r\n};\r\ninitRender.prototype.wrap = function(wrapper) {\r\n if (this[0]) {\r\n var wrap = renderer(wrapper);\r\n wrap.insertBefore(this);\r\n wrap.append(this)\r\n }\r\n return this\r\n};\r\ninitRender.prototype.wrapInner = function(wrapper) {\r\n var contents = this.contents();\r\n if (contents.length) {\r\n contents.wrap(wrapper)\r\n } else {\r\n this.append(wrapper)\r\n }\r\n return this\r\n};\r\ninitRender.prototype.replaceWith = function(element) {\r\n if (!(element && element[0])) {\r\n return\r\n }\r\n element.insertBefore(this);\r\n this.remove();\r\n return element\r\n};\r\ninitRender.prototype.remove = function() {\r\n if (this.length > 1) {\r\n return repeatMethod.call(this, \"remove\", arguments)\r\n }\r\n dataUtils.cleanDataRecursive(this[0], true);\r\n domAdapter.removeElement(this[0]);\r\n return this\r\n};\r\ninitRender.prototype.detach = function() {\r\n if (this.length > 1) {\r\n return repeatMethod.call(this, \"detach\", arguments)\r\n }\r\n domAdapter.removeElement(this[0]);\r\n return this\r\n};\r\ninitRender.prototype.empty = function() {\r\n if (this.length > 1) {\r\n return repeatMethod.call(this, \"empty\", arguments)\r\n }\r\n dataUtils.cleanDataRecursive(this[0]);\r\n domAdapter.setText(this[0], \"\");\r\n return this\r\n};\r\ninitRender.prototype.clone = function() {\r\n var result = [];\r\n for (var i = 0; i < this.length; i++) {\r\n result.push(this[i].cloneNode(true))\r\n }\r\n return renderer(result)\r\n};\r\ninitRender.prototype.text = function(value) {\r\n if (!arguments.length) {\r\n var result = \"\";\r\n for (var i = 0; i < this.length; i++) {\r\n result += this[i] && this[i].textContent || \"\"\r\n }\r\n return result\r\n }\r\n var text = typeUtils.isFunction(value) ? value() : value;\r\n dataUtils.cleanDataRecursive(this[0], false);\r\n domAdapter.setText(this[0], typeUtils.isDefined(text) ? text : \"\");\r\n return this\r\n};\r\ninitRender.prototype.val = function(value) {\r\n if (1 === arguments.length) {\r\n return this.prop(\"value\", typeUtils.isDefined(value) ? value : \"\")\r\n }\r\n return this.prop(\"value\")\r\n};\r\ninitRender.prototype.contents = function() {\r\n if (!this[0]) {\r\n return renderer()\r\n }\r\n var result = [];\r\n result.push.apply(result, this[0].childNodes);\r\n return renderer(result)\r\n};\r\ninitRender.prototype.find = function(selector) {\r\n var result = renderer();\r\n if (!selector) {\r\n return result\r\n }\r\n var i, nodes = [];\r\n if (\"string\" === typeof selector) {\r\n selector = selector.trim();\r\n for (i = 0; i < this.length; i++) {\r\n var element = this[i];\r\n if (domAdapter.isElementNode(element)) {\r\n var elementId = element.getAttribute(\"id\"),\r\n queryId = elementId || \"dx-query-children\";\r\n if (!elementId) {\r\n setAttributeValue(element, \"id\", queryId)\r\n }\r\n queryId = \"[id='\" + queryId + \"'] \";\r\n var querySelector = queryId + selector.replace(/([^\\\\])(,)/g, \"$1, \" + queryId);\r\n nodes.push.apply(nodes, domAdapter.querySelectorAll(element, querySelector));\r\n setAttributeValue(element, \"id\", elementId)\r\n } else {\r\n if (domAdapter.isDocument(element)) {\r\n nodes.push.apply(nodes, domAdapter.querySelectorAll(element, selector))\r\n }\r\n }\r\n }\r\n } else {\r\n for (i = 0; i < this.length; i++) {\r\n selector = domAdapter.isNode(selector) ? selector : selector[0];\r\n if (this[i] !== selector && this[i].contains(selector)) {\r\n nodes.push(selector)\r\n }\r\n }\r\n }\r\n return result.add(nodes)\r\n};\r\nvar isVisible = function(_, element) {\r\n if (!element.nodeType) {\r\n return true\r\n }\r\n return !!(element.offsetWidth || element.offsetHeight || element.getClientRects().length)\r\n};\r\ninitRender.prototype.filter = function(selector) {\r\n if (!selector) {\r\n return renderer()\r\n }\r\n if (\":visible\" === selector) {\r\n return this.filter(isVisible)\r\n } else {\r\n if (\":hidden\" === selector) {\r\n return this.filter(function(_, element) {\r\n return !isVisible(_, element)\r\n })\r\n }\r\n }\r\n var result = [];\r\n for (var i = 0; i < this.length; i++) {\r\n var item = this[i];\r\n if (domAdapter.isElementNode(item) && \"string\" === typeUtils.type(selector)) {\r\n domAdapter.elementMatches(item, selector) && result.push(item)\r\n } else {\r\n if (domAdapter.isNode(selector) || typeUtils.isWindow(selector)) {\r\n selector === item && result.push(item)\r\n } else {\r\n if (typeUtils.isFunction(selector)) {\r\n selector.call(item, i, item) && result.push(item)\r\n } else {\r\n for (var j = 0; j < selector.length; j++) {\r\n selector[j] === item && result.push(item)\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return renderer(result)\r\n};\r\ninitRender.prototype.not = function(selector) {\r\n var result = [],\r\n nodes = this.filter(selector).toArray();\r\n for (var i = 0; i < this.length; i++) {\r\n if (nodes.indexOf(this[i]) === -1) {\r\n result.push(this[i])\r\n }\r\n }\r\n return renderer(result)\r\n};\r\ninitRender.prototype.is = function(selector) {\r\n return !!this.filter(selector).length\r\n};\r\ninitRender.prototype.children = function(selector) {\r\n var result = [];\r\n for (var i = 0; i < this.length; i++) {\r\n var nodes = this[i] ? this[i].childNodes : [];\r\n for (var j = 0; j < nodes.length; j++) {\r\n if (domAdapter.isElementNode(nodes[j])) {\r\n result.push(nodes[j])\r\n }\r\n }\r\n }\r\n result = renderer(result);\r\n return selector ? result.filter(selector) : result\r\n};\r\ninitRender.prototype.siblings = function() {\r\n var element = this[0];\r\n if (!element || !element.parentNode) {\r\n return renderer()\r\n }\r\n var result = [],\r\n parentChildNodes = element.parentNode.childNodes || [];\r\n for (var i = 0; i < parentChildNodes.length; i++) {\r\n var node = parentChildNodes[i];\r\n if (domAdapter.isElementNode(node) && node !== element) {\r\n result.push(node)\r\n }\r\n }\r\n return renderer(result)\r\n};\r\ninitRender.prototype.each = function(callback) {\r\n for (var i = 0; i < this.length; i++) {\r\n if (false === callback.call(this[i], i, this[i])) {\r\n break\r\n }\r\n }\r\n};\r\ninitRender.prototype.index = function(element) {\r\n if (!element) {\r\n return this.parent().children().index(this)\r\n }\r\n element = renderer(element);\r\n return this.toArray().indexOf(element[0])\r\n};\r\ninitRender.prototype.get = function(index) {\r\n return this[index < 0 ? this.length + index : index]\r\n};\r\ninitRender.prototype.eq = function(index) {\r\n index = index < 0 ? this.length + index : index;\r\n return renderer(this[index])\r\n};\r\ninitRender.prototype.first = function() {\r\n return this.eq(0)\r\n};\r\ninitRender.prototype.last = function() {\r\n return this.eq(-1)\r\n};\r\ninitRender.prototype.parent = function(selector) {\r\n if (!this[0]) {\r\n return renderer()\r\n }\r\n var result = renderer(this[0].parentNode);\r\n return !selector || result.is(selector) ? result : renderer()\r\n};\r\ninitRender.prototype.parents = function(selector) {\r\n var result = [],\r\n parent = this.parent();\r\n while (parent && parent[0] && !domAdapter.isDocument(parent[0])) {\r\n if (domAdapter.isElementNode(parent[0])) {\r\n if (!selector || selector && parent.is(selector)) {\r\n result.push(parent.get(0))\r\n }\r\n }\r\n parent = parent.parent()\r\n }\r\n return renderer(result)\r\n};\r\ninitRender.prototype.closest = function(selector) {\r\n if (this.is(selector)) {\r\n return this\r\n }\r\n var parent = this.parent();\r\n while (parent && parent.length) {\r\n if (parent.is(selector)) {\r\n return parent\r\n }\r\n parent = parent.parent()\r\n }\r\n return renderer()\r\n};\r\ninitRender.prototype.next = function(selector) {\r\n if (!this[0]) {\r\n return renderer()\r\n }\r\n var next = renderer(this[0].nextSibling);\r\n if (!arguments.length) {\r\n return next\r\n }\r\n while (next && next.length) {\r\n if (next.is(selector)) {\r\n return next\r\n }\r\n next = next.next()\r\n }\r\n return renderer()\r\n};\r\ninitRender.prototype.prev = function() {\r\n if (!this[0]) {\r\n return renderer()\r\n }\r\n return renderer(this[0].previousSibling)\r\n};\r\ninitRender.prototype.add = function(selector) {\r\n var targets = renderer(selector),\r\n result = this.toArray();\r\n for (var i = 0; i < targets.length; i++) {\r\n var target = targets[i];\r\n if (result.indexOf(target) === -1) {\r\n result.push(target)\r\n }\r\n }\r\n return renderer(result)\r\n};\r\nvar emptyArray = [];\r\ninitRender.prototype.splice = function() {\r\n return renderer(emptyArray.splice.apply(this, arguments))\r\n};\r\ninitRender.prototype.slice = function() {\r\n return renderer(emptyArray.slice.apply(this, arguments))\r\n};\r\ninitRender.prototype.toArray = function() {\r\n return emptyArray.slice.call(this)\r\n};\r\nvar getWindowByElement = function(element) {\r\n return typeUtils.isWindow(element) ? element : element.defaultView\r\n};\r\ninitRender.prototype.offset = function() {\r\n if (!this[0]) {\r\n return\r\n }\r\n if (!this[0].getClientRects().length) {\r\n return {\r\n top: 0,\r\n left: 0\r\n }\r\n }\r\n var rect = this[0].getBoundingClientRect();\r\n var win = getWindowByElement(this[0].ownerDocument);\r\n var docElem = this[0].ownerDocument.documentElement;\r\n return {\r\n top: rect.top + win.pageYOffset - docElem.clientTop,\r\n left: rect.left + win.pageXOffset - docElem.clientLeft\r\n }\r\n};\r\ninitRender.prototype.offsetParent = function() {\r\n if (!this[0]) {\r\n return renderer()\r\n }\r\n var offsetParent = renderer(this[0].offsetParent);\r\n while (offsetParent[0] && \"static\" === offsetParent.css(\"position\")) {\r\n offsetParent = renderer(offsetParent[0].offsetParent)\r\n }\r\n offsetParent = offsetParent[0] ? offsetParent : renderer(domAdapter.getDocumentElement());\r\n return offsetParent\r\n};\r\ninitRender.prototype.position = function() {\r\n if (!this[0]) {\r\n return\r\n }\r\n var offset;\r\n var marginTop = parseFloat(this.css(\"marginTop\"));\r\n var marginLeft = parseFloat(this.css(\"marginLeft\"));\r\n if (\"fixed\" === this.css(\"position\")) {\r\n offset = this[0].getBoundingClientRect();\r\n return {\r\n top: offset.top - marginTop,\r\n left: offset.left - marginLeft\r\n }\r\n }\r\n offset = this.offset();\r\n var offsetParent = this.offsetParent();\r\n var parentOffset = {\r\n top: 0,\r\n left: 0\r\n };\r\n if (\"HTML\" !== offsetParent[0].nodeName) {\r\n parentOffset = offsetParent.offset()\r\n }\r\n parentOffset = {\r\n top: parentOffset.top + parseFloat(offsetParent.css(\"borderTopWidth\")),\r\n left: parentOffset.left + parseFloat(offsetParent.css(\"borderLeftWidth\"))\r\n };\r\n return {\r\n top: offset.top - parentOffset.top - marginTop,\r\n left: offset.left - parentOffset.left - marginLeft\r\n }\r\n};\r\n[{\r\n name: \"scrollLeft\",\r\n offsetProp: \"pageXOffset\",\r\n scrollWindow: function(win, value) {\r\n win.scrollTo(value, win.pageYOffset)\r\n }\r\n}, {\r\n name: \"scrollTop\",\r\n offsetProp: \"pageYOffset\",\r\n scrollWindow: function(win, value) {\r\n win.scrollTo(win.pageXOffset, value)\r\n }\r\n}].forEach(function(directionStrategy) {\r\n var propName = directionStrategy.name;\r\n initRender.prototype[propName] = function(value) {\r\n if (!this[0]) {\r\n return\r\n }\r\n var window = getWindowByElement(this[0]);\r\n if (void 0 === value) {\r\n return window ? window[directionStrategy.offsetProp] : this[0][propName]\r\n }\r\n if (window) {\r\n directionStrategy.scrollWindow(window, value)\r\n } else {\r\n this[0][propName] = value\r\n }\r\n return this\r\n }\r\n});\r\ninitRender.prototype.data = function(key, value) {\r\n if (!this[0]) {\r\n return\r\n }\r\n if (arguments.length < 2) {\r\n return dataUtils.data.call(renderer, this[0], key)\r\n }\r\n dataUtils.data.call(renderer, this[0], key, value);\r\n return this\r\n};\r\ninitRender.prototype.removeData = function(key) {\r\n this[0] && dataUtils.removeData(this[0], key);\r\n return this\r\n};\r\nvar rendererWrapper = function() {\r\n return renderer.apply(this, arguments)\r\n};\r\nObject.defineProperty(rendererWrapper, \"fn\", {\r\n enumerable: true,\r\n configurable: true,\r\n get: function() {\r\n return renderer.fn\r\n },\r\n set: function(value) {\r\n renderer.fn = value\r\n }\r\n});\r\nmodule.exports = {\r\n set: function(strategy) {\r\n renderer = strategy\r\n },\r\n get: function() {\r\n return rendererWrapper\r\n }\r\n};\r\n","/**\r\n * DevExtreme (events/core/hook_touch_props.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar touchPropsToHook = [\"pageX\", \"pageY\", \"screenX\", \"screenY\", \"clientX\", \"clientY\"];\r\nvar touchPropHook = function(name, event) {\r\n if (event[name] && !event.touches || !event.touches) {\r\n return event[name]\r\n }\r\n var touches = event.touches.length ? event.touches : event.changedTouches;\r\n if (!touches.length) {\r\n return\r\n }\r\n return touches[0][name]\r\n};\r\nmodule.exports = function(callback) {\r\n touchPropsToHook.forEach(function(name) {\r\n callback(name, function(event) {\r\n return touchPropHook(name, event)\r\n })\r\n }, this)\r\n};\r\n","/**\r\n * DevExtreme (core/component_registrator_callbacks.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar MemorizedCallbacks = require(\"./memorized_callbacks\");\r\nmodule.exports = new MemorizedCallbacks;\r\n","/**\r\n * DevExtreme (core/events_strategy.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar Callbacks = require(\"./utils/callbacks\"),\r\n isFunction = require(\"./utils/type\").isFunction,\r\n each = require(\"./utils/iterator\").each,\r\n Class = require(\"./class\");\r\nmodule.exports = Class.inherit({\r\n ctor: function(owner) {\r\n this._events = {};\r\n this._owner = owner\r\n },\r\n hasEvent: function(eventName) {\r\n var callbacks = this._events[eventName];\r\n if (callbacks) {\r\n return callbacks.has()\r\n }\r\n return false\r\n },\r\n fireEvent: function(eventName, eventArgs) {\r\n var callbacks = this._events[eventName];\r\n if (callbacks) {\r\n callbacks.fireWith(this._owner, eventArgs)\r\n }\r\n },\r\n on: function(eventName, eventHandler) {\r\n var addFn, callbacks = this._events[eventName];\r\n if (!callbacks) {\r\n callbacks = Callbacks();\r\n this._events[eventName] = callbacks\r\n }\r\n addFn = callbacks.originalAdd || callbacks.add;\r\n addFn.call(callbacks, eventHandler)\r\n },\r\n off: function(eventName, eventHandler) {\r\n var callbacks = this._events[eventName];\r\n if (callbacks) {\r\n if (isFunction(eventHandler)) {\r\n callbacks.remove(eventHandler)\r\n } else {\r\n callbacks.empty()\r\n }\r\n }\r\n },\r\n dispose: function() {\r\n each(this._events, function() {\r\n this.empty()\r\n })\r\n }\r\n});\r\n","/**\r\n * DevExtreme (localization/default_messages.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nmodule.exports = {\r\n en: {\r\n Yes: \"Yes\",\r\n No: \"No\",\r\n Cancel: \"Cancel\",\r\n Clear: \"Clear\",\r\n Done: \"Done\",\r\n Loading: \"Loading...\",\r\n Select: \"Select...\",\r\n Search: \"Search\",\r\n Back: \"Back\",\r\n OK: \"OK\",\r\n \"dxCollectionWidget-noDataText\": \"No data to display\",\r\n \"dxDropDownEditor-selectLabel\": \"Select\",\r\n \"validation-required\": \"Required\",\r\n \"validation-required-formatted\": \"{0} is required\",\r\n \"validation-numeric\": \"Value must be a number\",\r\n \"validation-numeric-formatted\": \"{0} must be a number\",\r\n \"validation-range\": \"Value is out of range\",\r\n \"validation-range-formatted\": \"{0} is out of range\",\r\n \"validation-stringLength\": \"The length of the value is not correct\",\r\n \"validation-stringLength-formatted\": \"The length of {0} is not correct\",\r\n \"validation-custom\": \"Value is invalid\",\r\n \"validation-custom-formatted\": \"{0} is invalid\",\r\n \"validation-compare\": \"Values do not match\",\r\n \"validation-compare-formatted\": \"{0} does not match\",\r\n \"validation-pattern\": \"Value does not match pattern\",\r\n \"validation-pattern-formatted\": \"{0} does not match pattern\",\r\n \"validation-email\": \"Email is invalid\",\r\n \"validation-email-formatted\": \"{0} is invalid\",\r\n \"validation-mask\": \"Value is invalid\",\r\n \"dxLookup-searchPlaceholder\": \"Minimum character number: {0}\",\r\n \"dxList-pullingDownText\": \"Pull down to refresh...\",\r\n \"dxList-pulledDownText\": \"Release to refresh...\",\r\n \"dxList-refreshingText\": \"Refreshing...\",\r\n \"dxList-pageLoadingText\": \"Loading...\",\r\n \"dxList-nextButtonText\": \"More\",\r\n \"dxList-selectAll\": \"Select All\",\r\n \"dxListEditDecorator-delete\": \"Delete\",\r\n \"dxListEditDecorator-more\": \"More\",\r\n \"dxScrollView-pullingDownText\": \"Pull down to refresh...\",\r\n \"dxScrollView-pulledDownText\": \"Release to refresh...\",\r\n \"dxScrollView-refreshingText\": \"Refreshing...\",\r\n \"dxScrollView-reachBottomText\": \"Loading...\",\r\n \"dxDateBox-simulatedDataPickerTitleTime\": \"Select time\",\r\n \"dxDateBox-simulatedDataPickerTitleDate\": \"Select date\",\r\n \"dxDateBox-simulatedDataPickerTitleDateTime\": \"Select date and time\",\r\n \"dxDateBox-validation-datetime\": \"Value must be a date or time\",\r\n \"dxFileUploader-selectFile\": \"Select file\",\r\n \"dxFileUploader-dropFile\": \"or Drop file here\",\r\n \"dxFileUploader-bytes\": \"bytes\",\r\n \"dxFileUploader-kb\": \"kb\",\r\n \"dxFileUploader-Mb\": \"Mb\",\r\n \"dxFileUploader-Gb\": \"Gb\",\r\n \"dxFileUploader-upload\": \"Upload\",\r\n \"dxFileUploader-uploaded\": \"Uploaded\",\r\n \"dxFileUploader-readyToUpload\": \"Ready to upload\",\r\n \"dxFileUploader-uploadFailedMessage\": \"Upload failed\",\r\n \"dxFileUploader-invalidFileExtension\": \"File type is not allowed\",\r\n \"dxFileUploader-invalidMaxFileSize\": \"File is too large\",\r\n \"dxFileUploader-invalidMinFileSize\": \"File is too small\",\r\n \"dxRangeSlider-ariaFrom\": \"From\",\r\n \"dxRangeSlider-ariaTill\": \"Till\",\r\n \"dxSwitch-switchedOnText\": \"ON\",\r\n \"dxSwitch-switchedOffText\": \"OFF\",\r\n \"dxForm-optionalMark\": \"optional\",\r\n \"dxForm-requiredMessage\": \"{0} is required\",\r\n \"dxNumberBox-invalidValueMessage\": \"Value must be a number\",\r\n \"dxDataGrid-columnChooserTitle\": \"Column Chooser\",\r\n \"dxDataGrid-columnChooserEmptyText\": \"Drag a column here to hide it\",\r\n \"dxDataGrid-groupContinuesMessage\": \"Continues on the next page\",\r\n \"dxDataGrid-groupContinuedMessage\": \"Continued from the previous page\",\r\n \"dxDataGrid-groupHeaderText\": \"Group by This Column\",\r\n \"dxDataGrid-ungroupHeaderText\": \"Ungroup\",\r\n \"dxDataGrid-ungroupAllText\": \"Ungroup All\",\r\n \"dxDataGrid-editingEditRow\": \"Edit\",\r\n \"dxDataGrid-editingSaveRowChanges\": \"Save\",\r\n \"dxDataGrid-editingCancelRowChanges\": \"Cancel\",\r\n \"dxDataGrid-editingDeleteRow\": \"Delete\",\r\n \"dxDataGrid-editingUndeleteRow\": \"Undelete\",\r\n \"dxDataGrid-editingConfirmDeleteMessage\": \"Are you sure you want to delete this record?\",\r\n \"dxDataGrid-validationCancelChanges\": \"Cancel changes\",\r\n \"dxDataGrid-groupPanelEmptyText\": \"Drag a column header here to group by that column\",\r\n \"dxDataGrid-noDataText\": \"No data\",\r\n \"dxDataGrid-searchPanelPlaceholder\": \"Search...\",\r\n \"dxDataGrid-filterRowShowAllText\": \"(All)\",\r\n \"dxDataGrid-filterRowResetOperationText\": \"Reset\",\r\n \"dxDataGrid-filterRowOperationEquals\": \"Equals\",\r\n \"dxDataGrid-filterRowOperationNotEquals\": \"Does not equal\",\r\n \"dxDataGrid-filterRowOperationLess\": \"Less than\",\r\n \"dxDataGrid-filterRowOperationLessOrEquals\": \"Less than or equal to\",\r\n \"dxDataGrid-filterRowOperationGreater\": \"Greater than\",\r\n \"dxDataGrid-filterRowOperationGreaterOrEquals\": \"Greater than or equal to\",\r\n \"dxDataGrid-filterRowOperationStartsWith\": \"Starts with\",\r\n \"dxDataGrid-filterRowOperationContains\": \"Contains\",\r\n \"dxDataGrid-filterRowOperationNotContains\": \"Does not contain\",\r\n \"dxDataGrid-filterRowOperationEndsWith\": \"Ends with\",\r\n \"dxDataGrid-filterRowOperationBetween\": \"Between\",\r\n \"dxDataGrid-filterRowOperationBetweenStartText\": \"Start\",\r\n \"dxDataGrid-filterRowOperationBetweenEndText\": \"End\",\r\n \"dxDataGrid-applyFilterText\": \"Apply filter\",\r\n \"dxDataGrid-trueText\": \"true\",\r\n \"dxDataGrid-falseText\": \"false\",\r\n \"dxDataGrid-sortingAscendingText\": \"Sort Ascending\",\r\n \"dxDataGrid-sortingDescendingText\": \"Sort Descending\",\r\n \"dxDataGrid-sortingClearText\": \"Clear Sorting\",\r\n \"dxDataGrid-editingSaveAllChanges\": \"Save changes\",\r\n \"dxDataGrid-editingCancelAllChanges\": \"Discard changes\",\r\n \"dxDataGrid-editingAddRow\": \"Add a row\",\r\n \"dxDataGrid-summaryMin\": \"Min: {0}\",\r\n \"dxDataGrid-summaryMinOtherColumn\": \"Min of {1} is {0}\",\r\n \"dxDataGrid-summaryMax\": \"Max: {0}\",\r\n \"dxDataGrid-summaryMaxOtherColumn\": \"Max of {1} is {0}\",\r\n \"dxDataGrid-summaryAvg\": \"Avg: {0}\",\r\n \"dxDataGrid-summaryAvgOtherColumn\": \"Avg of {1} is {0}\",\r\n \"dxDataGrid-summarySum\": \"Sum: {0}\",\r\n \"dxDataGrid-summarySumOtherColumn\": \"Sum of {1} is {0}\",\r\n \"dxDataGrid-summaryCount\": \"Count: {0}\",\r\n \"dxDataGrid-columnFixingFix\": \"Fix\",\r\n \"dxDataGrid-columnFixingUnfix\": \"Unfix\",\r\n \"dxDataGrid-columnFixingLeftPosition\": \"To the left\",\r\n \"dxDataGrid-columnFixingRightPosition\": \"To the right\",\r\n \"dxDataGrid-exportTo\": \"Export\",\r\n \"dxDataGrid-exportToExcel\": \"Export to Excel file\",\r\n \"dxDataGrid-excelFormat\": \"Excel file\",\r\n \"dxDataGrid-selectedRows\": \"Selected rows\",\r\n \"dxDataGrid-exportSelectedRows\": \"Export selected rows\",\r\n \"dxDataGrid-exportAll\": \"Export all data\",\r\n \"dxDataGrid-headerFilterEmptyValue\": \"(Blanks)\",\r\n \"dxDataGrid-headerFilterOK\": \"OK\",\r\n \"dxDataGrid-headerFilterCancel\": \"Cancel\",\r\n \"dxDataGrid-ariaColumn\": \"Column\",\r\n \"dxDataGrid-ariaValue\": \"Value\",\r\n \"dxDataGrid-ariaFilterCell\": \"Filter cell\",\r\n \"dxDataGrid-ariaCollapse\": \"Collapse\",\r\n \"dxDataGrid-ariaExpand\": \"Expand\",\r\n \"dxDataGrid-ariaDataGrid\": \"Data grid\",\r\n \"dxDataGrid-ariaSearchInGrid\": \"Search in data grid\",\r\n \"dxDataGrid-ariaSelectAll\": \"Select all\",\r\n \"dxDataGrid-ariaSelectRow\": \"Select row\",\r\n \"dxDataGrid-filterBuilderPopupTitle\": \"Filter Builder\",\r\n \"dxDataGrid-filterPanelCreateFilter\": \"Create Filter\",\r\n \"dxDataGrid-filterPanelClearFilter\": \"Clear\",\r\n \"dxDataGrid-filterPanelFilterEnabledHint\": \"Enable the filter\",\r\n \"dxTreeList-ariaTreeList\": \"Tree list\",\r\n \"dxTreeList-editingAddRowToNode\": \"Add\",\r\n \"dxPager-infoText\": \"Page {0} of {1} ({2} items)\",\r\n \"dxPager-pagesCountText\": \"of\",\r\n \"dxPivotGrid-grandTotal\": \"Grand Total\",\r\n \"dxPivotGrid-total\": \"{0} Total\",\r\n \"dxPivotGrid-fieldChooserTitle\": \"Field Chooser\",\r\n \"dxPivotGrid-showFieldChooser\": \"Show Field Chooser\",\r\n \"dxPivotGrid-expandAll\": \"Expand All\",\r\n \"dxPivotGrid-collapseAll\": \"Collapse All\",\r\n \"dxPivotGrid-sortColumnBySummary\": 'Sort \"{0}\" by This Column',\r\n \"dxPivotGrid-sortRowBySummary\": 'Sort \"{0}\" by This Row',\r\n \"dxPivotGrid-removeAllSorting\": \"Remove All Sorting\",\r\n \"dxPivotGrid-dataNotAvailable\": \"N/A\",\r\n \"dxPivotGrid-rowFields\": \"Row Fields\",\r\n \"dxPivotGrid-columnFields\": \"Column Fields\",\r\n \"dxPivotGrid-dataFields\": \"Data Fields\",\r\n \"dxPivotGrid-filterFields\": \"Filter Fields\",\r\n \"dxPivotGrid-allFields\": \"All Fields\",\r\n \"dxPivotGrid-columnFieldArea\": \"Drop Column Fields Here\",\r\n \"dxPivotGrid-dataFieldArea\": \"Drop Data Fields Here\",\r\n \"dxPivotGrid-rowFieldArea\": \"Drop Row Fields Here\",\r\n \"dxPivotGrid-filterFieldArea\": \"Drop Filter Fields Here\",\r\n \"dxScheduler-editorLabelTitle\": \"Subject\",\r\n \"dxScheduler-editorLabelStartDate\": \"Start Date\",\r\n \"dxScheduler-editorLabelEndDate\": \"End Date\",\r\n \"dxScheduler-editorLabelDescription\": \"Description\",\r\n \"dxScheduler-editorLabelRecurrence\": \"Repeat\",\r\n \"dxScheduler-openAppointment\": \"Open appointment\",\r\n \"dxScheduler-recurrenceNever\": \"Never\",\r\n \"dxScheduler-recurrenceDaily\": \"Daily\",\r\n \"dxScheduler-recurrenceWeekly\": \"Weekly\",\r\n \"dxScheduler-recurrenceMonthly\": \"Monthly\",\r\n \"dxScheduler-recurrenceYearly\": \"Yearly\",\r\n \"dxScheduler-recurrenceRepeatEvery\": \"Repeat Every\",\r\n \"dxScheduler-recurrenceRepeatOn\": \"Repeat On\",\r\n \"dxScheduler-recurrenceEnd\": \"End repeat\",\r\n \"dxScheduler-recurrenceAfter\": \"After\",\r\n \"dxScheduler-recurrenceOn\": \"On\",\r\n \"dxScheduler-recurrenceRepeatDaily\": \"day(s)\",\r\n \"dxScheduler-recurrenceRepeatWeekly\": \"week(s)\",\r\n \"dxScheduler-recurrenceRepeatMonthly\": \"month(s)\",\r\n \"dxScheduler-recurrenceRepeatYearly\": \"year(s)\",\r\n \"dxScheduler-switcherDay\": \"Day\",\r\n \"dxScheduler-switcherWeek\": \"Week\",\r\n \"dxScheduler-switcherWorkWeek\": \"Work Week\",\r\n \"dxScheduler-switcherMonth\": \"Month\",\r\n \"dxScheduler-switcherAgenda\": \"Agenda\",\r\n \"dxScheduler-switcherTimelineDay\": \"Timeline Day\",\r\n \"dxScheduler-switcherTimelineWeek\": \"Timeline Week\",\r\n \"dxScheduler-switcherTimelineWorkWeek\": \"Timeline Work Week\",\r\n \"dxScheduler-switcherTimelineMonth\": \"Timeline Month\",\r\n \"dxScheduler-recurrenceRepeatOnDate\": \"on date\",\r\n \"dxScheduler-recurrenceRepeatCount\": \"occurrence(s)\",\r\n \"dxScheduler-allDay\": \"All day\",\r\n \"dxScheduler-confirmRecurrenceEditMessage\": \"Do you want to edit only this appointment or the whole series?\",\r\n \"dxScheduler-confirmRecurrenceDeleteMessage\": \"Do you want to delete only this appointment or the whole series?\",\r\n \"dxScheduler-confirmRecurrenceEditSeries\": \"Edit series\",\r\n \"dxScheduler-confirmRecurrenceDeleteSeries\": \"Delete series\",\r\n \"dxScheduler-confirmRecurrenceEditOccurrence\": \"Edit appointment\",\r\n \"dxScheduler-confirmRecurrenceDeleteOccurrence\": \"Delete appointment\",\r\n \"dxScheduler-noTimezoneTitle\": \"No timezone\",\r\n \"dxScheduler-moreAppointments\": \"{0} more\",\r\n \"dxCalendar-todayButtonText\": \"Today\",\r\n \"dxCalendar-ariaWidgetName\": \"Calendar\",\r\n \"dxColorView-ariaRed\": \"Red\",\r\n \"dxColorView-ariaGreen\": \"Green\",\r\n \"dxColorView-ariaBlue\": \"Blue\",\r\n \"dxColorView-ariaAlpha\": \"Transparency\",\r\n \"dxColorView-ariaHex\": \"Color code\",\r\n \"dxTagBox-selected\": \"{0} selected\",\r\n \"dxTagBox-allSelected\": \"All selected ({0})\",\r\n \"dxTagBox-moreSelected\": \"{0} more\",\r\n \"vizExport-printingButtonText\": \"Print\",\r\n \"vizExport-titleMenuText\": \"Exporting/Printing\",\r\n \"vizExport-exportButtonText\": \"{0} file\",\r\n \"dxFilterBuilder-and\": \"And\",\r\n \"dxFilterBuilder-or\": \"Or\",\r\n \"dxFilterBuilder-notAnd\": \"Not And\",\r\n \"dxFilterBuilder-notOr\": \"Not Or\",\r\n \"dxFilterBuilder-addCondition\": \"Add Condition\",\r\n \"dxFilterBuilder-addGroup\": \"Add Group\",\r\n \"dxFilterBuilder-enterValueText\": \"\",\r\n \"dxFilterBuilder-filterOperationEquals\": \"Equals\",\r\n \"dxFilterBuilder-filterOperationNotEquals\": \"Does not equal\",\r\n \"dxFilterBuilder-filterOperationLess\": \"Is less than\",\r\n \"dxFilterBuilder-filterOperationLessOrEquals\": \"Is less than or equal to\",\r\n \"dxFilterBuilder-filterOperationGreater\": \"Is greater than\",\r\n \"dxFilterBuilder-filterOperationGreaterOrEquals\": \"Is greater than or equal to\",\r\n \"dxFilterBuilder-filterOperationStartsWith\": \"Starts with\",\r\n \"dxFilterBuilder-filterOperationContains\": \"Contains\",\r\n \"dxFilterBuilder-filterOperationNotContains\": \"Does not contain\",\r\n \"dxFilterBuilder-filterOperationEndsWith\": \"Ends with\",\r\n \"dxFilterBuilder-filterOperationIsBlank\": \"Is blank\",\r\n \"dxFilterBuilder-filterOperationIsNotBlank\": \"Is not blank\",\r\n \"dxFilterBuilder-filterOperationBetween\": \"Is between\",\r\n \"dxFilterBuilder-filterOperationAnyOf\": \"Is any of\",\r\n \"dxFilterBuilder-filterOperationNoneOf\": \"Is none of\",\r\n \"dxHtmlEditor-dialogColorCaption\": \"Change Font Color\",\r\n \"dxHtmlEditor-dialogBackgroundCaption\": \"Change Background Color\",\r\n \"dxHtmlEditor-dialogLinkCaption\": \"Add Link\",\r\n \"dxHtmlEditor-dialogLinkUrlField\": \"URL\",\r\n \"dxHtmlEditor-dialogLinkTextField\": \"Text\",\r\n \"dxHtmlEditor-dialogLinkTargetField\": \"Open link in new window\",\r\n \"dxHtmlEditor-dialogImageCaption\": \"Add Image\",\r\n \"dxHtmlEditor-dialogImageUrlField\": \"URL\",\r\n \"dxHtmlEditor-dialogImageAltField\": \"Alternate text\",\r\n \"dxHtmlEditor-dialogImageWidthField\": \"Width (px)\",\r\n \"dxHtmlEditor-dialogImageHeightField\": \"Height (px)\",\r\n \"dxHtmlEditor-heading\": \"Heading\",\r\n \"dxHtmlEditor-normalText\": \"Normal text\",\r\n \"dxFileManager-newFolderName\": \"Untitled folder\",\r\n \"dxFileManager-errorNoAccess\": \"Access denied. The operation cannot be completed.\",\r\n \"dxFileManager-errorDirectoryExistsFormat\": \"Directory '{0}' already exists.\",\r\n \"dxFileManager-errorFileExistsFormat\": \"File '{0}' already exists.\",\r\n \"dxFileManager-errorFileNotFoundFormat\": \"File '{0}' not found\",\r\n \"dxFileManager-errorDefault\": \"Unspecified error.\"\r\n }\r\n};\r\n","/**\r\n * DevExtreme (localization/cldr-data/parentLocales.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nmodule.exports = {\r\n \"en-150\": \"en-001\",\r\n \"en-AG\": \"en-001\",\r\n \"en-AI\": \"en-001\",\r\n \"en-AU\": \"en-001\",\r\n \"en-BB\": \"en-001\",\r\n \"en-BM\": \"en-001\",\r\n \"en-BS\": \"en-001\",\r\n \"en-BW\": \"en-001\",\r\n \"en-BZ\": \"en-001\",\r\n \"en-CA\": \"en-001\",\r\n \"en-CC\": \"en-001\",\r\n \"en-CK\": \"en-001\",\r\n \"en-CM\": \"en-001\",\r\n \"en-CX\": \"en-001\",\r\n \"en-CY\": \"en-001\",\r\n \"en-DG\": \"en-001\",\r\n \"en-DM\": \"en-001\",\r\n \"en-ER\": \"en-001\",\r\n \"en-FJ\": \"en-001\",\r\n \"en-FK\": \"en-001\",\r\n \"en-FM\": \"en-001\",\r\n \"en-GB\": \"en-001\",\r\n \"en-GD\": \"en-001\",\r\n \"en-GG\": \"en-001\",\r\n \"en-GH\": \"en-001\",\r\n \"en-GI\": \"en-001\",\r\n \"en-GM\": \"en-001\",\r\n \"en-GY\": \"en-001\",\r\n \"en-HK\": \"en-001\",\r\n \"en-IE\": \"en-001\",\r\n \"en-IL\": \"en-001\",\r\n \"en-IM\": \"en-001\",\r\n \"en-IN\": \"en-001\",\r\n \"en-IO\": \"en-001\",\r\n \"en-JE\": \"en-001\",\r\n \"en-JM\": \"en-001\",\r\n \"en-KE\": \"en-001\",\r\n \"en-KI\": \"en-001\",\r\n \"en-KN\": \"en-001\",\r\n \"en-KY\": \"en-001\",\r\n \"en-LC\": \"en-001\",\r\n \"en-LR\": \"en-001\",\r\n \"en-LS\": \"en-001\",\r\n \"en-MG\": \"en-001\",\r\n \"en-MO\": \"en-001\",\r\n \"en-MS\": \"en-001\",\r\n \"en-MT\": \"en-001\",\r\n \"en-MU\": \"en-001\",\r\n \"en-MW\": \"en-001\",\r\n \"en-MY\": \"en-001\",\r\n \"en-NA\": \"en-001\",\r\n \"en-NF\": \"en-001\",\r\n \"en-NG\": \"en-001\",\r\n \"en-NR\": \"en-001\",\r\n \"en-NU\": \"en-001\",\r\n \"en-NZ\": \"en-001\",\r\n \"en-PG\": \"en-001\",\r\n \"en-PH\": \"en-001\",\r\n \"en-PK\": \"en-001\",\r\n \"en-PN\": \"en-001\",\r\n \"en-PW\": \"en-001\",\r\n \"en-RW\": \"en-001\",\r\n \"en-SB\": \"en-001\",\r\n \"en-SC\": \"en-001\",\r\n \"en-SD\": \"en-001\",\r\n \"en-SG\": \"en-001\",\r\n \"en-SH\": \"en-001\",\r\n \"en-SL\": \"en-001\",\r\n \"en-SS\": \"en-001\",\r\n \"en-SX\": \"en-001\",\r\n \"en-SZ\": \"en-001\",\r\n \"en-TC\": \"en-001\",\r\n \"en-TK\": \"en-001\",\r\n \"en-TO\": \"en-001\",\r\n \"en-TT\": \"en-001\",\r\n \"en-TV\": \"en-001\",\r\n \"en-TZ\": \"en-001\",\r\n \"en-UG\": \"en-001\",\r\n \"en-VC\": \"en-001\",\r\n \"en-VG\": \"en-001\",\r\n \"en-VU\": \"en-001\",\r\n \"en-WS\": \"en-001\",\r\n \"en-ZA\": \"en-001\",\r\n \"en-ZM\": \"en-001\",\r\n \"en-ZW\": \"en-001\",\r\n \"en-AT\": \"en-150\",\r\n \"en-BE\": \"en-150\",\r\n \"en-CH\": \"en-150\",\r\n \"en-DE\": \"en-150\",\r\n \"en-DK\": \"en-150\",\r\n \"en-FI\": \"en-150\",\r\n \"en-NL\": \"en-150\",\r\n \"en-SE\": \"en-150\",\r\n \"en-SI\": \"en-150\",\r\n \"es-AR\": \"es-419\",\r\n \"es-BO\": \"es-419\",\r\n \"es-BR\": \"es-419\",\r\n \"es-BZ\": \"es-419\",\r\n \"es-CL\": \"es-419\",\r\n \"es-CO\": \"es-419\",\r\n \"es-CR\": \"es-419\",\r\n \"es-CU\": \"es-419\",\r\n \"es-DO\": \"es-419\",\r\n \"es-EC\": \"es-419\",\r\n \"es-GT\": \"es-419\",\r\n \"es-HN\": \"es-419\",\r\n \"es-MX\": \"es-419\",\r\n \"es-NI\": \"es-419\",\r\n \"es-PA\": \"es-419\",\r\n \"es-PE\": \"es-419\",\r\n \"es-PR\": \"es-419\",\r\n \"es-PY\": \"es-419\",\r\n \"es-SV\": \"es-419\",\r\n \"es-US\": \"es-419\",\r\n \"es-UY\": \"es-419\",\r\n \"es-VE\": \"es-419\",\r\n \"pt-AO\": \"pt-PT\",\r\n \"pt-CH\": \"pt-PT\",\r\n \"pt-CV\": \"pt-PT\",\r\n \"pt-FR\": \"pt-PT\",\r\n \"pt-GQ\": \"pt-PT\",\r\n \"pt-GW\": \"pt-PT\",\r\n \"pt-LU\": \"pt-PT\",\r\n \"pt-MO\": \"pt-PT\",\r\n \"pt-MZ\": \"pt-PT\",\r\n \"pt-ST\": \"pt-PT\",\r\n \"pt-TL\": \"pt-PT\",\r\n \"az-Arab\": \"root\",\r\n \"az-Cyrl\": \"root\",\r\n \"blt-Latn\": \"root\",\r\n \"bm-Nkoo\": \"root\",\r\n \"bs-Cyrl\": \"root\",\r\n \"byn-Latn\": \"root\",\r\n \"cu-Glag\": \"root\",\r\n \"dje-Arab\": \"root\",\r\n \"dyo-Arab\": \"root\",\r\n \"en-Dsrt\": \"root\",\r\n \"en-Shaw\": \"root\",\r\n \"ff-Adlm\": \"root\",\r\n \"ff-Arab\": \"root\",\r\n \"ha-Arab\": \"root\",\r\n \"iu-Latn\": \"root\",\r\n \"kk-Arab\": \"root\",\r\n \"ku-Arab\": \"root\",\r\n \"ky-Arab\": \"root\",\r\n \"ky-Latn\": \"root\",\r\n \"ml-Arab\": \"root\",\r\n \"mn-Mong\": \"root\",\r\n \"ms-Arab\": \"root\",\r\n \"pa-Arab\": \"root\",\r\n \"sd-Deva\": \"root\",\r\n \"sd-Khoj\": \"root\",\r\n \"sd-Sind\": \"root\",\r\n \"shi-Latn\": \"root\",\r\n \"so-Arab\": \"root\",\r\n \"sr-Latn\": \"root\",\r\n \"sw-Arab\": \"root\",\r\n \"tg-Arab\": \"root\",\r\n \"ug-Cyrl\": \"root\",\r\n \"uz-Arab\": \"root\",\r\n \"uz-Cyrl\": \"root\",\r\n \"vai-Latn\": \"root\",\r\n \"wo-Arab\": \"root\",\r\n \"yo-Arab\": \"root\",\r\n \"yue-Hans\": \"root\",\r\n \"zh-Hant\": \"root\",\r\n \"zh-Hant-MO\": \"zh-Hant-HK\"\r\n};\r\n","/**\r\n * DevExtreme (ui/widget/template.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _renderer = require(\"../../core/renderer\");\r\nvar _renderer2 = _interopRequireDefault(_renderer);\r\nvar _ui = require(\"./ui.template_base\");\r\nvar _ui2 = _interopRequireDefault(_ui);\r\nvar _dom = require(\"../../core/utils/dom\");\r\nvar _template_engine_registry = require(\"./template_engine_registry\");\r\nrequire(\"./template_engines\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}(0, _template_engine_registry.registerTemplateEngine)(\"default\", {\r\n compile: function(element) {\r\n return (0, _dom.normalizeTemplateElement)(element)\r\n },\r\n render: function(template, model, index) {\r\n return template.clone()\r\n }\r\n});\r\n(0, _template_engine_registry.setTemplateEngine)(\"default\");\r\nvar Template = _ui2.default.inherit({\r\n ctor: function(element) {\r\n this._element = element\r\n },\r\n _renderCore: function(options) {\r\n var transclude = options.transclude;\r\n if (!transclude && !this._compiledTemplate) {\r\n this._compiledTemplate = (0, _template_engine_registry.getCurrentTemplateEngine)().compile(this._element)\r\n }\r\n return (0, _renderer2.default)(\"
\").append(transclude ? this._element : (0, _template_engine_registry.getCurrentTemplateEngine)().render(this._compiledTemplate, options.model, options.index)).contents()\r\n },\r\n source: function() {\r\n return (0, _renderer2.default)(this._element).clone()\r\n }\r\n});\r\nmodule.exports = Template;\r\n","/**\r\n * DevExtreme (ui/widget/template_engines.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _dom = require(\"../../core/utils/dom\");\r\nvar _template_engine_registry = require(\"./template_engine_registry\");\r\n(0, _template_engine_registry.registerTemplateEngine)(\"jquery-tmpl\", {\r\n compile: function(element) {\r\n return (0, _dom.extractTemplateMarkup)(element)\r\n },\r\n render: function(template, data) {\r\n return jQuery.tmpl(template, data)\r\n }\r\n});\r\n(0, _template_engine_registry.registerTemplateEngine)(\"jsrender\", {\r\n compile: function(element) {\r\n return (jQuery ? jQuery : jsrender).templates((0, _dom.extractTemplateMarkup)(element))\r\n },\r\n render: function(template, data) {\r\n return template.render(data)\r\n }\r\n});\r\n(0, _template_engine_registry.registerTemplateEngine)(\"mustache\", {\r\n compile: function(element) {\r\n return (0, _dom.extractTemplateMarkup)(element)\r\n },\r\n render: function(template, data) {\r\n return Mustache.render(template, data)\r\n }\r\n});\r\n(0, _template_engine_registry.registerTemplateEngine)(\"hogan\", {\r\n compile: function(element) {\r\n return Hogan.compile((0, _dom.extractTemplateMarkup)(element))\r\n },\r\n render: function(template, data) {\r\n return template.render(data)\r\n }\r\n});\r\n(0, _template_engine_registry.registerTemplateEngine)(\"underscore\", {\r\n compile: function(element) {\r\n return _.template((0, _dom.extractTemplateMarkup)(element))\r\n },\r\n render: function(template, data) {\r\n return template(data)\r\n }\r\n});\r\n(0, _template_engine_registry.registerTemplateEngine)(\"handlebars\", {\r\n compile: function(element) {\r\n return Handlebars.compile((0, _dom.extractTemplateMarkup)(element))\r\n },\r\n render: function(template, data) {\r\n return template(data)\r\n }\r\n});\r\n(0, _template_engine_registry.registerTemplateEngine)(\"doT\", {\r\n compile: function(element) {\r\n return doT.template((0, _dom.extractTemplateMarkup)(element))\r\n },\r\n render: function(template, data) {\r\n return template(data)\r\n }\r\n});\r\n","/**\r\n * DevExtreme (events/pointer/mspointer.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar BaseStrategy = require(\"./base\"),\r\n Observer = require(\"./observer\"),\r\n extend = require(\"../../core/utils/extend\").extend;\r\nvar eventMap = {\r\n dxpointerdown: \"pointerdown\",\r\n dxpointermove: \"pointermove\",\r\n dxpointerup: \"pointerup\",\r\n dxpointercancel: \"pointercancel\",\r\n dxpointerover: \"pointerover\",\r\n dxpointerout: \"pointerout\",\r\n dxpointerenter: \"pointerenter\",\r\n dxpointerleave: \"pointerleave\"\r\n};\r\nvar observer;\r\nvar activated = false;\r\nvar activateStrategy = function() {\r\n if (activated) {\r\n return\r\n }\r\n observer = new Observer(eventMap, function(a, b) {\r\n return a.pointerId === b.pointerId\r\n }, function(e) {\r\n if (e.isPrimary) {\r\n observer.reset()\r\n }\r\n });\r\n activated = true\r\n};\r\nvar MsPointerStrategy = BaseStrategy.inherit({\r\n ctor: function() {\r\n this.callBase.apply(this, arguments);\r\n activateStrategy()\r\n },\r\n _fireEvent: function(args) {\r\n return this.callBase(extend({\r\n pointers: observer.pointers(),\r\n pointerId: args.originalEvent.pointerId\r\n }, args))\r\n }\r\n});\r\nMsPointerStrategy.map = eventMap;\r\nMsPointerStrategy.resetObserver = function() {\r\n observer.reset()\r\n};\r\nmodule.exports = MsPointerStrategy;\r\n","/**\r\n * DevExtreme (events/pointer/mouse_and_touch.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar extend = require(\"../../core/utils/extend\").extend,\r\n BaseStrategy = require(\"./base\"),\r\n MouseStrategy = require(\"./mouse\"),\r\n TouchStrategy = require(\"./touch\"),\r\n eventUtils = require(\"../utils\");\r\nvar eventMap = {\r\n dxpointerdown: \"touchstart mousedown\",\r\n dxpointermove: \"touchmove mousemove\",\r\n dxpointerup: \"touchend mouseup\",\r\n dxpointercancel: \"touchcancel\",\r\n dxpointerover: \"mouseover\",\r\n dxpointerout: \"mouseout\",\r\n dxpointerenter: \"mouseenter\",\r\n dxpointerleave: \"mouseleave\"\r\n};\r\nvar activated = false;\r\nvar activateStrategy = function() {\r\n if (activated) {\r\n return\r\n }\r\n MouseStrategy.activate();\r\n activated = true\r\n};\r\nvar MouseAndTouchStrategy = BaseStrategy.inherit({\r\n EVENT_LOCK_TIMEOUT: 100,\r\n ctor: function() {\r\n this.callBase.apply(this, arguments);\r\n activateStrategy()\r\n },\r\n _handler: function(e) {\r\n var isMouseEvent = eventUtils.isMouseEvent(e);\r\n if (!isMouseEvent) {\r\n this._skipNextEvents = true\r\n }\r\n if (isMouseEvent && this._mouseLocked) {\r\n return\r\n }\r\n if (isMouseEvent && this._skipNextEvents) {\r\n this._skipNextEvents = false;\r\n this._mouseLocked = true;\r\n clearTimeout(this._unlockMouseTimer);\r\n var that = this;\r\n this._unlockMouseTimer = setTimeout(function() {\r\n that._mouseLocked = false\r\n }, this.EVENT_LOCK_TIMEOUT);\r\n return\r\n }\r\n return this.callBase(e)\r\n },\r\n _fireEvent: function(args) {\r\n var isMouseEvent = eventUtils.isMouseEvent(args.originalEvent),\r\n normalizer = isMouseEvent ? MouseStrategy.normalize : TouchStrategy.normalize;\r\n return this.callBase(extend(normalizer(args.originalEvent), args))\r\n },\r\n dispose: function() {\r\n this.callBase();\r\n this._skipNextEvents = false;\r\n this._mouseLocked = false;\r\n clearTimeout(this._unlockMouseTimer)\r\n }\r\n});\r\nMouseAndTouchStrategy.map = eventMap;\r\nMouseAndTouchStrategy.resetObserver = MouseStrategy.resetObserver;\r\nmodule.exports = MouseAndTouchStrategy;\r\n","/**\r\n * DevExtreme (ui/themes_callback.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar Callbacks = require(\"../core/utils/callbacks\");\r\nmodule.exports = new Callbacks;\r\n","/**\r\n * DevExtreme (ui/overlay/ui.overlay.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _typeof = \"function\" === typeof Symbol && \"symbol\" === typeof Symbol.iterator ? function(obj) {\r\n return typeof obj\r\n} : function(obj) {\r\n return obj && \"function\" === typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n};\r\nvar $ = require(\"../../core/renderer\"),\r\n domAdapter = require(\"../../core/dom_adapter\"),\r\n windowUtils = require(\"../../core/utils/window\"),\r\n ready = require(\"../../core/utils/ready_callbacks\").add,\r\n window = windowUtils.getWindow(),\r\n navigator = windowUtils.getNavigator(),\r\n eventsEngine = require(\"../../events/core/events_engine\"),\r\n fx = require(\"../../animation/fx\"),\r\n translator = require(\"../../animation/translator\"),\r\n compareVersions = require(\"../../core/utils/version\").compare,\r\n viewPortUtils = require(\"../../core/utils/view_port\"),\r\n extend = require(\"../../core/utils/extend\").extend,\r\n inArray = require(\"../../core/utils/array\").inArray,\r\n getPublicElement = require(\"../../core/utils/dom\").getPublicElement,\r\n viewPortChanged = viewPortUtils.changeCallback,\r\n hideTopOverlayCallback = require(\"../../mobile/hide_top_overlay\").hideCallback,\r\n positionUtils = require(\"../../animation/position\"),\r\n fitIntoRange = require(\"../../core/utils/math\").fitIntoRange,\r\n domUtils = require(\"../../core/utils/dom\"),\r\n noop = require(\"../../core/utils/common\").noop,\r\n typeUtils = require(\"../../core/utils/type\"),\r\n each = require(\"../../core/utils/iterator\").each,\r\n devices = require(\"../../core/devices\"),\r\n browser = require(\"../../core/utils/browser\"),\r\n registerComponent = require(\"../../core/component_registrator\"),\r\n Widget = require(\"../widget/ui.widget\"),\r\n KeyboardProcessor = require(\"../widget/ui.keyboard_processor\"),\r\n selectors = require(\"../widget/selectors\"),\r\n dragEvents = require(\"../../events/drag\"),\r\n eventUtils = require(\"../../events/utils\"),\r\n pointerEvents = require(\"../../events/pointer\"),\r\n Resizable = require(\"../resizable\"),\r\n EmptyTemplate = require(\"../widget/empty_template\"),\r\n Deferred = require(\"../../core/utils/deferred\").Deferred,\r\n zIndexPool = require(\"./z_index\"),\r\n swatch = require(\"../widget/swatch_container\");\r\nvar OVERLAY_CLASS = \"dx-overlay\",\r\n OVERLAY_WRAPPER_CLASS = \"dx-overlay-wrapper\",\r\n OVERLAY_CONTENT_CLASS = \"dx-overlay-content\",\r\n OVERLAY_SHADER_CLASS = \"dx-overlay-shader\",\r\n OVERLAY_MODAL_CLASS = \"dx-overlay-modal\",\r\n INNER_OVERLAY_CLASS = \"dx-inner-overlay\",\r\n INVISIBLE_STATE_CLASS = \"dx-state-invisible\",\r\n ANONYMOUS_TEMPLATE_NAME = \"content\",\r\n RTL_DIRECTION_CLASS = \"dx-rtl\",\r\n ACTIONS = [\"onShowing\", \"onShown\", \"onHiding\", \"onHidden\", \"onPositioning\", \"onPositioned\", \"onResizeStart\", \"onResize\", \"onResizeEnd\"],\r\n OVERLAY_STACK = [],\r\n DISABLED_STATE_CLASS = \"dx-state-disabled\",\r\n PREVENT_SAFARI_SCROLLING_CLASS = \"dx-prevent-safari-scrolling\",\r\n TAB_KEY = \"tab\",\r\n POSITION_ALIASES = {\r\n top: {\r\n my: \"top center\",\r\n at: \"top center\"\r\n },\r\n bottom: {\r\n my: \"bottom center\",\r\n at: \"bottom center\"\r\n },\r\n right: {\r\n my: \"right center\",\r\n at: \"right center\"\r\n },\r\n left: {\r\n my: \"left center\",\r\n at: \"left center\"\r\n },\r\n center: {\r\n my: \"center\",\r\n at: \"center\"\r\n },\r\n \"right bottom\": {\r\n my: \"right bottom\",\r\n at: \"right bottom\"\r\n },\r\n \"right top\": {\r\n my: \"right top\",\r\n at: \"right top\"\r\n },\r\n \"left bottom\": {\r\n my: \"left bottom\",\r\n at: \"left bottom\"\r\n },\r\n \"left top\": {\r\n my: \"left top\",\r\n at: \"left top\"\r\n }\r\n };\r\nvar realDevice = devices.real(),\r\n realVersion = realDevice.version,\r\n firefoxDesktop = browser.mozilla && \"desktop\" === realDevice.deviceType,\r\n iOS = \"ios\" === realDevice.platform,\r\n hasSafariAddressBar = browser.safari && \"desktop\" !== realDevice.deviceType,\r\n iOS7_0andBelow = iOS && compareVersions(realVersion, [7, 1]) < 0,\r\n android4_0nativeBrowser = \"android\" === realDevice.platform && 0 === compareVersions(realVersion, [4, 0], 2) && navigator.userAgent.indexOf(\"Chrome\") === -1;\r\nvar forceRepaint = function($element) {\r\n if (iOS7_0andBelow || firefoxDesktop) {\r\n $element.width()\r\n }\r\n if (android4_0nativeBrowser) {\r\n var $parents = $element.parents(),\r\n inScrollView = $parents.is(\".dx-scrollable-native\");\r\n if (!inScrollView) {\r\n $parents.css(\"backfaceVisibility\", \"hidden\");\r\n $parents.css(\"backfaceVisibility\");\r\n $parents.css(\"backfaceVisibility\", \"visible\")\r\n }\r\n }\r\n};\r\nvar getElement = function(value) {\r\n return value && $(value.target || value)\r\n};\r\nready(function() {\r\n eventsEngine.subscribeGlobal(domAdapter.getDocument(), pointerEvents.down, function(e) {\r\n for (var i = OVERLAY_STACK.length - 1; i >= 0; i--) {\r\n if (!OVERLAY_STACK[i]._proxiedDocumentDownHandler(e)) {\r\n return\r\n }\r\n }\r\n })\r\n});\r\nvar Overlay = Widget.inherit({\r\n _supportedKeys: function() {\r\n var offsetSize = 5,\r\n move = function(top, left, e) {\r\n if (!this.option(\"dragEnabled\")) {\r\n return\r\n }\r\n e.preventDefault();\r\n e.stopPropagation();\r\n var allowedOffsets = this._allowedOffsets();\r\n var offset = {\r\n top: fitIntoRange(top, -allowedOffsets.top, allowedOffsets.bottom),\r\n left: fitIntoRange(left, -allowedOffsets.left, allowedOffsets.right)\r\n };\r\n this._changePosition(offset)\r\n };\r\n return extend(this.callBase(), {\r\n escape: function() {\r\n this.hide()\r\n },\r\n upArrow: move.bind(this, -offsetSize, 0),\r\n downArrow: move.bind(this, offsetSize, 0),\r\n leftArrow: move.bind(this, 0, -offsetSize),\r\n rightArrow: move.bind(this, 0, offsetSize)\r\n })\r\n },\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n activeStateEnabled: false,\r\n visible: false,\r\n deferRendering: true,\r\n shading: true,\r\n shadingColor: \"\",\r\n position: {\r\n my: \"center\",\r\n at: \"center\"\r\n },\r\n width: function() {\r\n return .8 * $(window).width()\r\n },\r\n minWidth: null,\r\n maxWidth: null,\r\n height: function() {\r\n return .8 * $(window).height()\r\n },\r\n minHeight: null,\r\n maxHeight: null,\r\n animation: {\r\n show: {\r\n type: \"pop\",\r\n duration: 300,\r\n from: {\r\n scale: .55\r\n }\r\n },\r\n hide: {\r\n type: \"pop\",\r\n duration: 300,\r\n to: {\r\n opacity: 0,\r\n scale: .55\r\n },\r\n from: {\r\n opacity: 1,\r\n scale: 1\r\n }\r\n }\r\n },\r\n closeOnOutsideClick: false,\r\n closeOnBackButton: true,\r\n onShowing: null,\r\n onShown: null,\r\n onHiding: null,\r\n onHidden: null,\r\n contentTemplate: \"content\",\r\n dragEnabled: false,\r\n resizeEnabled: false,\r\n onResizeStart: null,\r\n onResize: null,\r\n onResizeEnd: null,\r\n innerOverlay: false,\r\n target: void 0,\r\n container: void 0,\r\n hideTopOverlayHandler: void 0,\r\n closeOnTargetScroll: false,\r\n onPositioned: null,\r\n boundaryOffset: {\r\n h: 0,\r\n v: 0\r\n },\r\n propagateOutsideClick: false,\r\n ignoreChildEvents: true,\r\n _checkParentVisibility: true\r\n })\r\n },\r\n _defaultOptionsRules: function() {\r\n return this.callBase().concat([{\r\n device: function() {\r\n var realDevice = devices.real(),\r\n realPlatform = realDevice.platform,\r\n realVersion = realDevice.version;\r\n return \"android\" === realPlatform && compareVersions(realVersion, [4, 2]) < 0\r\n },\r\n options: {\r\n animation: {\r\n show: {\r\n type: \"fade\",\r\n duration: 400\r\n },\r\n hide: {\r\n type: \"fade\",\r\n duration: 400,\r\n to: {\r\n opacity: 0\r\n },\r\n from: {\r\n opacity: 1\r\n }\r\n }\r\n }\r\n }\r\n }, {\r\n device: function() {\r\n return !windowUtils.hasWindow()\r\n },\r\n options: {\r\n width: null,\r\n height: null,\r\n animation: null,\r\n _checkParentVisibility: false\r\n }\r\n }])\r\n },\r\n _setOptionsByReference: function() {\r\n this.callBase();\r\n extend(this._optionsByReference, {\r\n animation: true\r\n })\r\n },\r\n _getAnonymousTemplateName: function() {\r\n return ANONYMOUS_TEMPLATE_NAME\r\n },\r\n _wrapper: function() {\r\n return this._$wrapper\r\n },\r\n _container: function() {\r\n return this._$content\r\n },\r\n _eventBindingTarget: function() {\r\n return this._$content\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this._initActions();\r\n this._initCloseOnOutsideClickHandler();\r\n this._initTabTerminatorHandler();\r\n this._$wrapper = $(\"
\").addClass(OVERLAY_WRAPPER_CLASS);\r\n this._$content = $(\"
\").addClass(OVERLAY_CONTENT_CLASS);\r\n this._initInnerOverlayClass();\r\n var $element = this.$element();\r\n this._$wrapper.addClass($element.attr(\"class\"));\r\n $element.addClass(OVERLAY_CLASS);\r\n this._$wrapper.attr(\"data-bind\", \"dxControlsDescendantBindings: true\");\r\n eventsEngine.on(this._$wrapper, \"MSPointerDown\", noop);\r\n eventsEngine.on(this._$wrapper, \"focusin\", function(e) {\r\n e.stopPropagation()\r\n });\r\n this._toggleViewPortSubscription(true)\r\n },\r\n _initOptions: function(options) {\r\n this._initTarget(options.target);\r\n this._initContainer(options.container);\r\n this._initHideTopOverlayHandler(options.hideTopOverlayHandler);\r\n this.callBase(options)\r\n },\r\n _initInnerOverlayClass: function() {\r\n this._$content.toggleClass(INNER_OVERLAY_CLASS, this.option(\"innerOverlay\"))\r\n },\r\n _initTarget: function(target) {\r\n if (!typeUtils.isDefined(target)) {\r\n return\r\n }\r\n var options = this.option();\r\n each([\"position.of\", \"animation.show.from.position.of\", \"animation.show.to.position.of\", \"animation.hide.from.position.of\", \"animation.hide.to.position.of\"], function(_, path) {\r\n var pathParts = path.split(\".\");\r\n var option = options;\r\n while (option) {\r\n if (1 === pathParts.length) {\r\n if (typeUtils.isPlainObject(option)) {\r\n option[pathParts.shift()] = target\r\n }\r\n break\r\n } else {\r\n option = option[pathParts.shift()]\r\n }\r\n }\r\n })\r\n },\r\n _initContainer: function(container) {\r\n container = void 0 === container ? viewPortUtils.value() : container;\r\n var $element = this.$element();\r\n var $container = $element.closest(container);\r\n if (!$container.length) {\r\n $container = $(container).first()\r\n }\r\n this._$container = $container.length ? $container : $element.parent()\r\n },\r\n _initHideTopOverlayHandler: function(handler) {\r\n this._hideTopOverlayHandler = void 0 !== handler ? handler : this._defaultHideTopOverlayHandler.bind(this)\r\n },\r\n _defaultHideTopOverlayHandler: function() {\r\n this.hide()\r\n },\r\n _initActions: function() {\r\n this._actions = {};\r\n each(ACTIONS, function(_, action) {\r\n this._actions[action] = this._createActionByOption(action, {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n }) || noop\r\n }.bind(this))\r\n },\r\n _initCloseOnOutsideClickHandler: function() {\r\n var that = this;\r\n this._proxiedDocumentDownHandler = function() {\r\n return that._documentDownHandler.apply(that, arguments)\r\n }\r\n },\r\n _documentDownHandler: function(e) {\r\n if (this._showAnimationProcessing) {\r\n this._stopAnimation()\r\n }\r\n var closeOnOutsideClick = this.option(\"closeOnOutsideClick\");\r\n if (typeUtils.isFunction(closeOnOutsideClick)) {\r\n closeOnOutsideClick = closeOnOutsideClick(e)\r\n }\r\n var $container = this._$content,\r\n isAttachedTarget = $(window.document).is(e.target) || domUtils.contains(window.document, e.target),\r\n isInnerOverlay = $(e.target).closest(\".\" + INNER_OVERLAY_CLASS).length,\r\n outsideClick = isAttachedTarget && !isInnerOverlay && !($container.is(e.target) || domUtils.contains($container.get(0), e.target));\r\n if (outsideClick && closeOnOutsideClick) {\r\n if (this.option(\"shading\")) {\r\n e.preventDefault()\r\n }\r\n this.hide()\r\n }\r\n return this.option(\"propagateOutsideClick\")\r\n },\r\n _initTemplates: function() {\r\n this.callBase();\r\n this._defaultTemplates.content = new EmptyTemplate(this)\r\n },\r\n _isTopOverlay: function() {\r\n var overlayStack = this._overlayStack();\r\n for (var i = overlayStack.length - 1; i >= 0; i--) {\r\n var tabbableElements = overlayStack[i]._findTabbableBounds();\r\n if (tabbableElements.first || tabbableElements.last) {\r\n return overlayStack[i] === this\r\n }\r\n }\r\n return false\r\n },\r\n _overlayStack: function() {\r\n return OVERLAY_STACK\r\n },\r\n _zIndexInitValue: function() {\r\n return Overlay.baseZIndex()\r\n },\r\n _toggleViewPortSubscription: function(toggle) {\r\n viewPortChanged.remove(this._viewPortChangeHandle);\r\n if (toggle) {\r\n this._viewPortChangeHandle = this._viewPortChangeHandler.bind(this);\r\n viewPortChanged.add(this._viewPortChangeHandle)\r\n }\r\n },\r\n _viewPortChangeHandler: function() {\r\n this._initContainer(this.option(\"container\"));\r\n this._refresh()\r\n },\r\n _renderVisibilityAnimate: function(visible) {\r\n this._stopAnimation();\r\n return visible ? this._show() : this._hide()\r\n },\r\n _normalizePosition: function() {\r\n var position = this.option(\"position\");\r\n this._position = \"function\" === typeof position ? position() : position\r\n },\r\n _getAnimationConfig: function() {\r\n var animation = this.option(\"animation\");\r\n if (typeUtils.isFunction(animation)) {\r\n animation = animation.call(this)\r\n }\r\n return animation\r\n },\r\n _show: function() {\r\n var that = this,\r\n deferred = new Deferred;\r\n this._parentHidden = this._isParentHidden();\r\n deferred.done(function() {\r\n delete that._parentHidden\r\n });\r\n if (this._parentHidden) {\r\n this._isHidden = true;\r\n return deferred.resolve()\r\n }\r\n if (this._currentVisible) {\r\n return (new Deferred).resolve().promise()\r\n }\r\n this._currentVisible = true;\r\n this._normalizePosition();\r\n var animation = that._getAnimationConfig() || {},\r\n showAnimation = this._normalizeAnimation(animation.show, \"to\"),\r\n startShowAnimation = showAnimation && showAnimation.start || noop,\r\n completeShowAnimation = showAnimation && showAnimation.complete || noop;\r\n if (this._isHidingActionCanceled) {\r\n delete this._isHidingActionCanceled;\r\n deferred.resolve()\r\n } else {\r\n var show = function() {\r\n this._renderVisibility(true);\r\n this._animate(showAnimation, function() {\r\n if (that.option(\"focusStateEnabled\")) {\r\n eventsEngine.trigger(that._focusTarget(), \"focus\")\r\n }\r\n completeShowAnimation.apply(this, arguments);\r\n that._showAnimationProcessing = false;\r\n that._actions.onShown();\r\n that._toggleSafariScrolling(false);\r\n deferred.resolve()\r\n }, function() {\r\n startShowAnimation.apply(this, arguments);\r\n that._showAnimationProcessing = true\r\n })\r\n }.bind(this);\r\n if (this.option(\"templatesRenderAsynchronously\")) {\r\n this._stopShowTimer();\r\n this._asyncShowTimeout = setTimeout(show)\r\n } else {\r\n show()\r\n }\r\n }\r\n return deferred.promise()\r\n },\r\n _normalizeAnimation: function(animation, prop) {\r\n if (animation) {\r\n animation = extend({\r\n type: \"slide\"\r\n }, animation);\r\n if (animation[prop] && \"object\" === _typeof(animation[prop])) {\r\n extend(animation[prop], {\r\n position: this._position\r\n })\r\n }\r\n }\r\n return animation\r\n },\r\n _hide: function() {\r\n if (!this._currentVisible) {\r\n return (new Deferred).resolve().promise()\r\n }\r\n this._currentVisible = false;\r\n var that = this,\r\n deferred = new Deferred,\r\n animation = that._getAnimationConfig() || {},\r\n hideAnimation = this._normalizeAnimation(animation.hide, \"from\"),\r\n startHideAnimation = hideAnimation && hideAnimation.start || noop,\r\n completeHideAnimation = hideAnimation && hideAnimation.complete || noop,\r\n hidingArgs = {\r\n cancel: false\r\n };\r\n this._actions.onHiding(hidingArgs);\r\n that._toggleSafariScrolling(true);\r\n if (hidingArgs.cancel) {\r\n this._isHidingActionCanceled = true;\r\n this.option(\"visible\", true);\r\n deferred.resolve()\r\n } else {\r\n this._forceFocusLost();\r\n this._toggleShading(false);\r\n this._toggleSubscriptions(false);\r\n this._stopShowTimer();\r\n this._animate(hideAnimation, function() {\r\n that._$content.css(\"pointerEvents\", \"\");\r\n that._renderVisibility(false);\r\n completeHideAnimation.apply(this, arguments);\r\n that._actions.onHidden();\r\n deferred.resolve()\r\n }, function() {\r\n that._$content.css(\"pointerEvents\", \"none\");\r\n startHideAnimation.apply(this, arguments)\r\n })\r\n }\r\n return deferred.promise()\r\n },\r\n _forceFocusLost: function() {\r\n var activeElement = domAdapter.getActiveElement();\r\n var shouldResetActiveElement = !!this._$content.find(activeElement).length;\r\n if (shouldResetActiveElement) {\r\n domUtils.resetActiveElement()\r\n }\r\n },\r\n _animate: function(animation, completeCallback, startCallback) {\r\n if (animation) {\r\n startCallback = startCallback || animation.start || noop;\r\n fx.animate(this._$content, extend({}, animation, {\r\n start: startCallback,\r\n complete: completeCallback\r\n }))\r\n } else {\r\n completeCallback()\r\n }\r\n },\r\n _stopAnimation: function() {\r\n fx.stop(this._$content, true)\r\n },\r\n _renderVisibility: function(visible) {\r\n if (visible && this._isParentHidden()) {\r\n return\r\n }\r\n this._currentVisible = visible;\r\n this._stopAnimation();\r\n if (!visible) {\r\n domUtils.triggerHidingEvent(this._$content)\r\n }\r\n this._toggleVisibility(visible);\r\n this._$content.toggleClass(INVISIBLE_STATE_CLASS, !visible);\r\n this._updateZIndexStackPosition(visible);\r\n if (visible) {\r\n this._renderContent();\r\n this._actions.onShowing();\r\n this._moveToContainer();\r\n this._renderGeometry();\r\n domUtils.triggerShownEvent(this._$content);\r\n domUtils.triggerResizeEvent(this._$content)\r\n } else {\r\n this._moveFromContainer()\r\n }\r\n this._toggleShading(visible);\r\n this._toggleSubscriptions(visible)\r\n },\r\n _updateZIndexStackPosition: function(pushToStack) {\r\n var overlayStack = this._overlayStack(),\r\n index = inArray(this, overlayStack);\r\n if (pushToStack) {\r\n if (index === -1) {\r\n this._zIndex = zIndexPool.create(this._zIndexInitValue());\r\n overlayStack.push(this)\r\n }\r\n this._$wrapper.css(\"zIndex\", this._zIndex);\r\n this._$content.css(\"zIndex\", this._zIndex)\r\n } else {\r\n if (index !== -1) {\r\n overlayStack.splice(index, 1);\r\n zIndexPool.remove(this._zIndex)\r\n }\r\n }\r\n },\r\n _toggleShading: function(visible) {\r\n this._$wrapper.toggleClass(OVERLAY_MODAL_CLASS, this.option(\"shading\") && !this.option(\"container\"));\r\n this._$wrapper.toggleClass(OVERLAY_SHADER_CLASS, visible && this.option(\"shading\"));\r\n this._$wrapper.css(\"backgroundColor\", this.option(\"shading\") ? this.option(\"shadingColor\") : \"\");\r\n this._toggleTabTerminator(visible && this.option(\"shading\"))\r\n },\r\n _initTabTerminatorHandler: function() {\r\n var that = this;\r\n this._proxiedTabTerminatorHandler = function() {\r\n that._tabKeyHandler.apply(that, arguments)\r\n }\r\n },\r\n _toggleTabTerminator: function(enabled) {\r\n var eventName = eventUtils.addNamespace(\"keydown\", this.NAME);\r\n if (enabled) {\r\n eventsEngine.on(domAdapter.getDocument(), eventName, this._proxiedTabTerminatorHandler)\r\n } else {\r\n eventsEngine.off(domAdapter.getDocument(), eventName, this._proxiedTabTerminatorHandler)\r\n }\r\n },\r\n _findTabbableBounds: function() {\r\n var $elements = this._$wrapper.find(\"*\");\r\n var elementsCount = $elements.length - 1;\r\n var result = {\r\n first: null,\r\n last: null\r\n };\r\n for (var i = 0; i <= elementsCount; i++) {\r\n if (!result.first && $elements.eq(i).is(selectors.tabbable)) {\r\n result.first = $elements.eq(i)\r\n }\r\n if (!result.last && $elements.eq(elementsCount - i).is(selectors.tabbable)) {\r\n result.last = $elements.eq(elementsCount - i)\r\n }\r\n if (result.first && result.last) {\r\n break\r\n }\r\n }\r\n return result\r\n },\r\n _tabKeyHandler: function(e) {\r\n if (eventUtils.normalizeKeyName(e) !== TAB_KEY || !this._isTopOverlay()) {\r\n return\r\n }\r\n var tabbableElements = this._findTabbableBounds(),\r\n $firstTabbable = tabbableElements.first,\r\n $lastTabbable = tabbableElements.last,\r\n isTabOnLast = !e.shiftKey && e.target === $lastTabbable.get(0),\r\n isShiftTabOnFirst = e.shiftKey && e.target === $firstTabbable.get(0),\r\n isEmptyTabList = 0 === tabbableElements.length,\r\n isOutsideTarget = !domUtils.contains(this._$wrapper.get(0), e.target);\r\n if (isTabOnLast || isShiftTabOnFirst || isEmptyTabList || isOutsideTarget) {\r\n e.preventDefault();\r\n var $focusElement = e.shiftKey ? $lastTabbable : $firstTabbable;\r\n eventsEngine.trigger($focusElement, \"focusin\");\r\n eventsEngine.trigger($focusElement, \"focus\")\r\n }\r\n },\r\n _toggleSubscriptions: function(enabled) {\r\n if (windowUtils.hasWindow()) {\r\n this._toggleHideTopOverlayCallback(enabled);\r\n this._toggleParentsScrollSubscription(enabled)\r\n }\r\n },\r\n _toggleHideTopOverlayCallback: function(subscribe) {\r\n if (!this._hideTopOverlayHandler) {\r\n return\r\n }\r\n if (subscribe && this.option(\"closeOnBackButton\")) {\r\n hideTopOverlayCallback.add(this._hideTopOverlayHandler)\r\n } else {\r\n hideTopOverlayCallback.remove(this._hideTopOverlayHandler)\r\n }\r\n },\r\n _toggleParentsScrollSubscription: function(subscribe) {\r\n if (!this._position) {\r\n return\r\n }\r\n var target = this._position.of || $(),\r\n closeOnScroll = this.option(\"closeOnTargetScroll\"),\r\n $parents = getElement(target).parents(),\r\n scrollEvent = eventUtils.addNamespace(\"scroll\", this.NAME);\r\n if (\"generic\" === devices.real().platform) {\r\n $parents = $parents.add(window)\r\n }\r\n this._proxiedTargetParentsScrollHandler = this._proxiedTargetParentsScrollHandler || function(e) {\r\n this._targetParentsScrollHandler(e)\r\n }.bind(this);\r\n eventsEngine.off($().add(this._$prevTargetParents), scrollEvent, this._proxiedTargetParentsScrollHandler);\r\n if (subscribe && closeOnScroll) {\r\n eventsEngine.on($parents, scrollEvent, this._proxiedTargetParentsScrollHandler);\r\n this._$prevTargetParents = $parents\r\n }\r\n },\r\n _targetParentsScrollHandler: function(e) {\r\n var closeHandled = false,\r\n closeOnScroll = this.option(\"closeOnTargetScroll\");\r\n if (typeUtils.isFunction(closeOnScroll)) {\r\n closeHandled = closeOnScroll(e)\r\n }\r\n if (!closeHandled && !this._showAnimationProcessing) {\r\n this.hide()\r\n }\r\n },\r\n _render: function() {\r\n this.callBase();\r\n this._appendContentToElement();\r\n this._renderVisibilityAnimate(this.option(\"visible\"))\r\n },\r\n _appendContentToElement: function() {\r\n if (!this._$content.parent().is(this.$element())) {\r\n this._$content.appendTo(this.$element())\r\n }\r\n },\r\n _renderContent: function() {\r\n var shouldDeferRendering = !this._currentVisible && this.option(\"deferRendering\");\r\n var isParentHidden = this.option(\"visible\") && this._isParentHidden();\r\n if (isParentHidden) {\r\n this._isHidden = true;\r\n return\r\n }\r\n if (this._contentAlreadyRendered || shouldDeferRendering) {\r\n return\r\n }\r\n this._contentAlreadyRendered = true;\r\n this._appendContentToElement();\r\n this.callBase()\r\n },\r\n _isParentHidden: function() {\r\n if (!this.option(\"_checkParentVisibility\")) {\r\n return false\r\n }\r\n if (void 0 !== this._parentHidden) {\r\n return this._parentHidden\r\n }\r\n var $parent = this.$element().parent();\r\n if ($parent.is(\":visible\")) {\r\n return false\r\n }\r\n var isHidden = false;\r\n $parent.add($parent.parents()).each(function() {\r\n var $element = $(this);\r\n if (\"none\" === $element.css(\"display\")) {\r\n isHidden = true;\r\n return false\r\n }\r\n });\r\n return isHidden || !domAdapter.getBody().contains($parent.get(0))\r\n },\r\n _renderContentImpl: function() {\r\n var _this = this;\r\n var whenContentRendered = new Deferred;\r\n var contentTemplateOption = this.option(\"contentTemplate\"),\r\n contentTemplate = this._getTemplate(contentTemplateOption),\r\n transclude = this._getAnonymousTemplateName() === contentTemplateOption;\r\n contentTemplate && contentTemplate.render({\r\n container: getPublicElement(this.$content()),\r\n noModel: true,\r\n transclude: transclude,\r\n onRendered: function() {\r\n whenContentRendered.resolve()\r\n }\r\n });\r\n this._renderDrag();\r\n this._renderResize();\r\n this._renderScrollTerminator();\r\n whenContentRendered.done(function() {\r\n if (_this.option(\"visible\")) {\r\n _this._moveToContainer()\r\n }\r\n });\r\n return whenContentRendered.promise()\r\n },\r\n _renderDrag: function() {\r\n var $dragTarget = this._getDragTarget();\r\n if (!$dragTarget) {\r\n return\r\n }\r\n var startEventName = eventUtils.addNamespace(dragEvents.start, this.NAME),\r\n updateEventName = eventUtils.addNamespace(dragEvents.move, this.NAME);\r\n eventsEngine.off($dragTarget, startEventName);\r\n eventsEngine.off($dragTarget, updateEventName);\r\n if (!this.option(\"dragEnabled\")) {\r\n return\r\n }\r\n eventsEngine.on($dragTarget, startEventName, this._dragStartHandler.bind(this));\r\n eventsEngine.on($dragTarget, updateEventName, this._dragUpdateHandler.bind(this))\r\n },\r\n _renderResize: function() {\r\n this._resizable = this._createComponent(this._$content, Resizable, {\r\n handles: this.option(\"resizeEnabled\") ? \"all\" : \"none\",\r\n onResizeEnd: this._resizeEndHandler.bind(this),\r\n onResize: this._actions.onResize.bind(this),\r\n onResizeStart: this._actions.onResizeStart.bind(this),\r\n minHeight: 100,\r\n minWidth: 100,\r\n area: this._getDragResizeContainer()\r\n })\r\n },\r\n _resizeEndHandler: function() {\r\n this._positionChangeHandled = true;\r\n var width = this._resizable.option(\"width\"),\r\n height = this._resizable.option(\"height\");\r\n width && this.option(\"width\", width);\r\n height && this.option(\"height\", height);\r\n this._actions.onResizeEnd()\r\n },\r\n _renderScrollTerminator: function() {\r\n var $scrollTerminator = this._wrapper();\r\n var terminatorEventName = eventUtils.addNamespace(dragEvents.move, this.NAME);\r\n eventsEngine.off($scrollTerminator, terminatorEventName);\r\n eventsEngine.on($scrollTerminator, terminatorEventName, {\r\n validate: function() {\r\n return true\r\n },\r\n getDirection: function() {\r\n return \"both\"\r\n },\r\n _toggleGestureCover: noop,\r\n _clearSelection: noop,\r\n isNative: true\r\n }, function(e) {\r\n var originalEvent = e.originalEvent.originalEvent;\r\n e._cancelPreventDefault = true;\r\n if (originalEvent && \"mousemove\" !== originalEvent.type) {\r\n e.preventDefault()\r\n }\r\n })\r\n },\r\n _getDragTarget: function() {\r\n return this.$content()\r\n },\r\n _dragStartHandler: function(e) {\r\n e.targetElements = [];\r\n this._prevOffset = {\r\n x: 0,\r\n y: 0\r\n };\r\n var allowedOffsets = this._allowedOffsets();\r\n e.maxTopOffset = allowedOffsets.top;\r\n e.maxBottomOffset = allowedOffsets.bottom;\r\n e.maxLeftOffset = allowedOffsets.left;\r\n e.maxRightOffset = allowedOffsets.right\r\n },\r\n _getDragResizeContainer: function() {\r\n var isContainerDefined = viewPortUtils.originalViewPort().get(0) || this.option(\"container\"),\r\n $container = !isContainerDefined ? $(window) : this._$container;\r\n return $container\r\n },\r\n _deltaSize: function() {\r\n var $content = this._$content,\r\n $container = this._getDragResizeContainer();\r\n var contentWidth = $content.outerWidth(),\r\n contentHeight = $content.outerHeight(),\r\n containerWidth = $container.outerWidth(),\r\n containerHeight = $container.outerHeight();\r\n if (this._isWindow($container)) {\r\n var document = domAdapter.getDocument(),\r\n fullPageHeight = Math.max($(document).outerHeight(), containerHeight),\r\n fullPageWidth = Math.max($(document).outerWidth(), containerWidth);\r\n containerHeight = fullPageHeight;\r\n containerWidth = fullPageWidth\r\n }\r\n return {\r\n width: containerWidth - contentWidth,\r\n height: containerHeight - contentHeight\r\n }\r\n },\r\n _dragUpdateHandler: function(e) {\r\n var offset = e.offset,\r\n prevOffset = this._prevOffset,\r\n targetOffset = {\r\n top: offset.y - prevOffset.y,\r\n left: offset.x - prevOffset.x\r\n };\r\n this._changePosition(targetOffset);\r\n this._prevOffset = offset\r\n },\r\n _changePosition: function(offset) {\r\n var position = translator.locate(this._$content);\r\n translator.move(this._$content, {\r\n left: position.left + offset.left,\r\n top: position.top + offset.top\r\n });\r\n this._positionChangeHandled = true\r\n },\r\n _allowedOffsets: function() {\r\n var position = translator.locate(this._$content),\r\n deltaSize = this._deltaSize(),\r\n isAllowedDrag = deltaSize.height >= 0 && deltaSize.width >= 0,\r\n shaderOffset = this.option(\"shading\") && !this.option(\"container\") && !this._isWindow(this._getContainer()) ? translator.locate(this._$wrapper) : {\r\n top: 0,\r\n left: 0\r\n },\r\n boundaryOffset = this.option(\"boundaryOffset\");\r\n return {\r\n top: isAllowedDrag ? position.top + shaderOffset.top + boundaryOffset.v : 0,\r\n bottom: isAllowedDrag ? -position.top - shaderOffset.top + deltaSize.height - boundaryOffset.v : 0,\r\n left: isAllowedDrag ? position.left + shaderOffset.left + boundaryOffset.h : 0,\r\n right: isAllowedDrag ? -position.left - shaderOffset.left + deltaSize.width - boundaryOffset.h : 0\r\n }\r\n },\r\n _moveFromContainer: function() {\r\n this._$content.appendTo(this.$element());\r\n this._detachWrapperToContainer()\r\n },\r\n _detachWrapperToContainer: function() {\r\n this._$wrapper.detach()\r\n },\r\n _moveToContainer: function() {\r\n this._attachWrapperToContainer();\r\n this._$content.appendTo(this._$wrapper)\r\n },\r\n _attachWrapperToContainer: function() {\r\n var $element = this.$element();\r\n var containerDefined = void 0 !== this.option(\"container\");\r\n var renderContainer = containerDefined ? this._$container : swatch.getSwatchContainer($element);\r\n if (renderContainer && renderContainer[0] === $element.parent()[0]) {\r\n renderContainer = $element\r\n }\r\n this._$wrapper.appendTo(renderContainer)\r\n },\r\n _fixHeightAfterSafariAddressBarResizing: function() {\r\n if (this._isWindow(this._getContainer()) && hasSafariAddressBar) {\r\n this._$wrapper.css(\"minHeight\", window.innerHeight)\r\n }\r\n },\r\n _renderGeometry: function(isDimensionChanged) {\r\n if (this.option(\"visible\") && windowUtils.hasWindow()) {\r\n this._renderGeometryImpl(isDimensionChanged)\r\n }\r\n },\r\n _renderGeometryImpl: function(isDimensionChanged) {\r\n this._stopAnimation();\r\n this._normalizePosition();\r\n this._renderShading();\r\n this._fixHeightAfterSafariAddressBarResizing();\r\n this._renderDimensions();\r\n var resultPosition = this._renderPosition();\r\n this._actions.onPositioned({\r\n position: resultPosition\r\n })\r\n },\r\n _fixWrapperPosition: function() {\r\n this._$wrapper.css(\"position\", this._useFixedPosition() ? \"fixed\" : \"absolute\")\r\n },\r\n _useFixedPosition: function() {\r\n var $container = this._getContainer();\r\n return this._isWindow($container) && (!iOS || void 0 !== this._bodyScrollTop)\r\n },\r\n _toggleSafariScrolling: function(scrollingEnabled) {\r\n if (iOS && this._useFixedPosition()) {\r\n var body = domAdapter.getBody();\r\n if (scrollingEnabled) {\r\n $(body).removeClass(PREVENT_SAFARI_SCROLLING_CLASS);\r\n window.scrollTo(0, this._bodyScrollTop);\r\n this._bodyScrollTop = void 0\r\n } else {\r\n if (this.option(\"visible\")) {\r\n this._bodyScrollTop = window.pageYOffset;\r\n $(body).addClass(PREVENT_SAFARI_SCROLLING_CLASS)\r\n }\r\n }\r\n }\r\n },\r\n _renderShading: function() {\r\n this._fixWrapperPosition();\r\n this._renderShadingDimensions();\r\n this._renderShadingPosition()\r\n },\r\n _renderShadingPosition: function() {\r\n if (this.option(\"shading\")) {\r\n var $container = this._getContainer();\r\n positionUtils.setup(this._$wrapper, {\r\n my: \"top left\",\r\n at: \"top left\",\r\n of: $container\r\n })\r\n }\r\n },\r\n _renderShadingDimensions: function() {\r\n var wrapperWidth, wrapperHeight;\r\n if (this.option(\"shading\")) {\r\n var $container = this._getContainer();\r\n wrapperWidth = this._isWindow($container) ? \"100%\" : $container.outerWidth(), wrapperHeight = this._isWindow($container) ? \"100%\" : $container.outerHeight()\r\n } else {\r\n wrapperWidth = \"\";\r\n wrapperHeight = \"\"\r\n }\r\n this._$wrapper.css({\r\n width: wrapperWidth,\r\n height: wrapperHeight\r\n })\r\n },\r\n _isWindow: function($element) {\r\n return !!$element && typeUtils.isWindow($element.get(0))\r\n },\r\n _getContainer: function() {\r\n var position = this._position,\r\n container = this.option(\"container\"),\r\n positionOf = position ? position.of || window : null;\r\n return getElement(container || positionOf)\r\n },\r\n _renderDimensions: function() {\r\n var content = this._$content.get(0);\r\n this._$content.css({\r\n minWidth: this._getOptionValue(\"minWidth\", content),\r\n maxWidth: this._getOptionValue(\"maxWidth\", content),\r\n minHeight: this._getOptionValue(\"minHeight\", content),\r\n maxHeight: this._getOptionValue(\"maxHeight\", content),\r\n width: this._getOptionValue(\"width\", content),\r\n height: this._getOptionValue(\"height\", content)\r\n })\r\n },\r\n _renderPosition: function() {\r\n if (this._positionChangeHandled) {\r\n var allowedOffsets = this._allowedOffsets();\r\n this._changePosition({\r\n top: fitIntoRange(0, -allowedOffsets.top, allowedOffsets.bottom),\r\n left: fitIntoRange(0, -allowedOffsets.left, allowedOffsets.right)\r\n })\r\n } else {\r\n this._renderOverlayBoundaryOffset();\r\n translator.resetPosition(this._$content);\r\n var position = this._transformStringPosition(this._position, POSITION_ALIASES),\r\n resultPosition = positionUtils.setup(this._$content, position);\r\n forceRepaint(this._$content);\r\n this._actions.onPositioning();\r\n return resultPosition\r\n }\r\n },\r\n _transformStringPosition: function(position, positionAliases) {\r\n if (typeUtils.isString(position)) {\r\n position = extend({}, positionAliases[position])\r\n }\r\n return position\r\n },\r\n _renderOverlayBoundaryOffset: function() {\r\n var boundaryOffset = this.option(\"boundaryOffset\");\r\n this._$content.css(\"margin\", boundaryOffset.v + \"px \" + boundaryOffset.h + \"px\")\r\n },\r\n _focusTarget: function() {\r\n return this._$content\r\n },\r\n _attachKeyboardEvents: function() {\r\n this._keyboardProcessor = new KeyboardProcessor({\r\n element: this._$content,\r\n handler: this._keyboardHandler,\r\n context: this\r\n })\r\n },\r\n _keyboardHandler: function(options) {\r\n var e = options.originalEvent,\r\n $target = $(e.target);\r\n if ($target.is(this._$content) || !this.option(\"ignoreChildEvents\")) {\r\n this.callBase.apply(this, arguments)\r\n }\r\n },\r\n _isVisible: function() {\r\n return this.option(\"visible\")\r\n },\r\n _visibilityChanged: function(visible) {\r\n if (visible) {\r\n if (this.option(\"visible\")) {\r\n this._renderVisibilityAnimate(visible)\r\n }\r\n } else {\r\n this._renderVisibilityAnimate(visible)\r\n }\r\n },\r\n _dimensionChanged: function() {\r\n this._renderGeometry(true)\r\n },\r\n _clean: function() {\r\n if (!this._contentAlreadyRendered) {\r\n this.$content().empty()\r\n }\r\n this._renderVisibility(false);\r\n this._stopShowTimer();\r\n this._cleanFocusState()\r\n },\r\n _stopShowTimer: function() {\r\n if (this._asyncShowTimeout) {\r\n clearTimeout(this._asyncShowTimeout)\r\n }\r\n this._asyncShowTimeout = null\r\n },\r\n _dispose: function() {\r\n fx.stop(this._$content, false);\r\n clearTimeout(this._deferShowTimer);\r\n this._toggleViewPortSubscription(false);\r\n this._toggleSubscriptions(false);\r\n this._updateZIndexStackPosition(false);\r\n this._toggleTabTerminator(false);\r\n this._toggleSafariScrolling(true);\r\n this._actions = null;\r\n this.callBase();\r\n zIndexPool.remove(this._zIndex);\r\n this._$wrapper.remove();\r\n this._$content.remove()\r\n },\r\n _toggleDisabledState: function(value) {\r\n this.callBase.apply(this, arguments);\r\n this._$content.toggleClass(DISABLED_STATE_CLASS, Boolean(value))\r\n },\r\n _toggleRTLDirection: function(rtl) {\r\n this._$content.toggleClass(RTL_DIRECTION_CLASS, rtl)\r\n },\r\n _optionChanged: function(args) {\r\n var value = args.value;\r\n if (inArray(args.name, ACTIONS) > -1) {\r\n this._initActions();\r\n return\r\n }\r\n switch (args.name) {\r\n case \"dragEnabled\":\r\n this._renderDrag();\r\n this._renderGeometry();\r\n break;\r\n case \"resizeEnabled\":\r\n this._renderResize();\r\n this._renderGeometry();\r\n break;\r\n case \"shading\":\r\n case \"shadingColor\":\r\n this._toggleShading(this.option(\"visible\"));\r\n break;\r\n case \"width\":\r\n case \"height\":\r\n case \"minWidth\":\r\n case \"maxWidth\":\r\n case \"minHeight\":\r\n case \"maxHeight\":\r\n case \"boundaryOffset\":\r\n this._renderGeometry();\r\n break;\r\n case \"position\":\r\n this._positionChangeHandled = false;\r\n this._renderGeometry();\r\n break;\r\n case \"visible\":\r\n this._renderVisibilityAnimate(value).done(function() {\r\n if (!this._animateDeferred) {\r\n return\r\n }\r\n this._animateDeferred.resolveWith(this)\r\n }.bind(this));\r\n break;\r\n case \"target\":\r\n this._initTarget(value);\r\n this._invalidate();\r\n break;\r\n case \"container\":\r\n this._initContainer(value);\r\n this._invalidate();\r\n break;\r\n case \"innerOverlay\":\r\n this._initInnerOverlayClass();\r\n break;\r\n case \"deferRendering\":\r\n case \"contentTemplate\":\r\n this._contentAlreadyRendered = false;\r\n this._clean();\r\n this._invalidate();\r\n break;\r\n case \"closeOnBackButton\":\r\n this._toggleHideTopOverlayCallback(this.option(\"visible\"));\r\n break;\r\n case \"closeOnTargetScroll\":\r\n this._toggleParentsScrollSubscription(this.option(\"visible\"));\r\n break;\r\n case \"closeOnOutsideClick\":\r\n case \"animation\":\r\n case \"propagateOutsideClick\":\r\n break;\r\n case \"rtlEnabled\":\r\n this._contentAlreadyRendered = false;\r\n this.option(\"visible\", false);\r\n this.callBase(args);\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n toggle: function(showing) {\r\n showing = void 0 === showing ? !this.option(\"visible\") : showing;\r\n if (showing === this.option(\"visible\")) {\r\n return (new Deferred).resolve().promise()\r\n }\r\n var animateDeferred = new Deferred;\r\n this._animateDeferred = animateDeferred;\r\n this.option(\"visible\", showing);\r\n return animateDeferred.promise().done(function() {\r\n delete this._animateDeferred\r\n }.bind(this))\r\n },\r\n $content: function() {\r\n return this._$content\r\n },\r\n show: function() {\r\n return this.toggle(true)\r\n },\r\n hide: function() {\r\n return this.toggle(false)\r\n },\r\n content: function() {\r\n return getPublicElement(this._$content)\r\n },\r\n repaint: function() {\r\n this._renderGeometry();\r\n domUtils.triggerResizeEvent(this._$content)\r\n }\r\n});\r\nOverlay.baseZIndex = function(zIndex) {\r\n return zIndexPool.base(zIndex)\r\n};\r\nregisterComponent(\"dxOverlay\", Overlay);\r\nmodule.exports = Overlay;\r\n","/**\r\n * DevExtreme (animation/easing.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar isFunction = require(\"../core/utils/type\").isFunction,\r\n CSS_TRANSITION_EASING_REGEX = /cubic-bezier\\((\\d+(?:\\.\\d+)?)\\s*,\\s*(\\d+(?:\\.\\d+)?)\\s*,\\s*(\\d+(?:\\.\\d+)?)\\s*,\\s*(\\d+(?:\\.\\d+)?)\\)/;\r\nvar TransitionTimingFuncMap = {\r\n linear: \"cubic-bezier(0, 0, 1, 1)\",\r\n swing: \"cubic-bezier(0.445, 0.05, 0.55, 0.95)\",\r\n ease: \"cubic-bezier(0.25, 0.1, 0.25, 1)\",\r\n \"ease-in\": \"cubic-bezier(0.42, 0, 1, 1)\",\r\n \"ease-out\": \"cubic-bezier(0, 0, 0.58, 1)\",\r\n \"ease-in-out\": \"cubic-bezier(0.42, 0, 0.58, 1)\"\r\n};\r\nvar polynomBezier = function(x1, y1, x2, y2) {\r\n var Cx = 3 * x1,\r\n Bx = 3 * (x2 - x1) - Cx,\r\n Ax = 1 - Cx - Bx,\r\n Cy = 3 * y1,\r\n By = 3 * (y2 - y1) - Cy,\r\n Ay = 1 - Cy - By;\r\n var bezierX = function(t) {\r\n return t * (Cx + t * (Bx + t * Ax))\r\n };\r\n var bezierY = function(t) {\r\n return t * (Cy + t * (By + t * Ay))\r\n };\r\n var findXFor = function(t) {\r\n var z, x = t,\r\n i = 0;\r\n while (i < 14) {\r\n z = bezierX(x) - t;\r\n if (Math.abs(z) < .001) {\r\n break\r\n }\r\n x -= z / derivativeX(x);\r\n i++\r\n }\r\n return x\r\n };\r\n var derivativeX = function(t) {\r\n return Cx + t * (2 * Bx + 3 * t * Ax)\r\n };\r\n return function(t) {\r\n return bezierY(findXFor(t))\r\n }\r\n};\r\nvar easing = {};\r\nvar convertTransitionTimingFuncToEasing = function(cssTransitionEasing) {\r\n cssTransitionEasing = TransitionTimingFuncMap[cssTransitionEasing] || cssTransitionEasing;\r\n var coeffs = cssTransitionEasing.match(CSS_TRANSITION_EASING_REGEX);\r\n var forceName;\r\n if (!coeffs) {\r\n forceName = \"linear\";\r\n coeffs = TransitionTimingFuncMap[forceName].match(CSS_TRANSITION_EASING_REGEX)\r\n }\r\n coeffs = coeffs.slice(1, 5);\r\n for (var i = 0; i < coeffs.length; i++) {\r\n coeffs[i] = parseFloat(coeffs[i])\r\n }\r\n var easingName = forceName || \"cubicbezier_\" + coeffs.join(\"_\").replace(/\\./g, \"p\");\r\n if (!isFunction(easing[easingName])) {\r\n easing[easingName] = function(x, t, b, c, d) {\r\n return c * polynomBezier(coeffs[0], coeffs[1], coeffs[2], coeffs[3])(t / d) + b\r\n }\r\n }\r\n return easingName\r\n};\r\nexports.setEasing = function(value) {\r\n easing = value\r\n};\r\nexports.getEasing = function(name) {\r\n return easing[name]\r\n};\r\nexports.convertTransitionTimingFuncToEasing = convertTransitionTimingFuncToEasing;\r\n","/**\r\n * DevExtreme (ui/overlay/z_index.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\nexports.clearStack = exports.remove = exports.create = exports.base = void 0;\r\nvar _common = require(\"../../core/utils/common\");\r\nvar baseZIndex = 1500;\r\nvar zIndexStack = [];\r\nvar base = exports.base = function(ZIndex) {\r\n baseZIndex = (0, _common.ensureDefined)(ZIndex, baseZIndex);\r\n return baseZIndex\r\n};\r\nvar create = exports.create = function() {\r\n var baseIndex = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : baseZIndex;\r\n var length = zIndexStack.length;\r\n var index = (length ? zIndexStack[length - 1] : baseIndex) + 1;\r\n zIndexStack.push(index);\r\n return index\r\n};\r\nvar remove = exports.remove = function(zIndex) {\r\n var position = zIndexStack.indexOf(zIndex);\r\n if (position >= 0) {\r\n zIndexStack.splice(position, 1)\r\n }\r\n};\r\nvar clearStack = exports.clearStack = function() {\r\n zIndexStack = []\r\n};\r\n","/**\r\n * DevExtreme (ui/collection/ui.collection_widget.async.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _uiCollection_widget = require(\"./ui.collection_widget.edit\");\r\nvar _uiCollection_widget2 = _interopRequireDefault(_uiCollection_widget);\r\nvar _deferred = require(\"../../core/utils/deferred\");\r\nvar _common = require(\"../../core/utils/common\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar AsyncCollectionWidget = _uiCollection_widget2.default.inherit({\r\n _initMarkup: function() {\r\n this._deferredItems = [];\r\n this.callBase()\r\n },\r\n _renderItemContent: function(args) {\r\n var renderContentDeferred = new _deferred.Deferred,\r\n itemDeferred = new _deferred.Deferred,\r\n that = this;\r\n this._deferredItems[args.index] = itemDeferred;\r\n var $itemContent = this.callBase.call(that, args);\r\n itemDeferred.done(function() {\r\n renderContentDeferred.resolve($itemContent)\r\n });\r\n return renderContentDeferred.promise()\r\n },\r\n _createItemByTemplate: function(itemTemplate, renderArgs) {\r\n var _this = this;\r\n return itemTemplate.render({\r\n model: renderArgs.itemData,\r\n container: renderArgs.container,\r\n index: renderArgs.index,\r\n onRendered: function() {\r\n _this._deferredItems[renderArgs.index].resolve()\r\n }\r\n })\r\n },\r\n _postProcessRenderItems: _common.noop,\r\n _renderItemsAsync: function() {\r\n var _this2 = this;\r\n var d = new _deferred.Deferred;\r\n _deferred.when.apply(this, this._deferredItems).done(function() {\r\n _this2._postProcessRenderItems();\r\n d.resolve()\r\n });\r\n return d.promise()\r\n },\r\n _clean: function() {\r\n this.callBase();\r\n this._deferredItems = []\r\n }\r\n});\r\nmodule.exports = AsyncCollectionWidget;\r\n","/**\r\n * DevExtreme (ui/collection/ui.collection_widget.base.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _renderer = require(\"../../core/renderer\");\r\nvar _renderer2 = _interopRequireDefault(_renderer);\r\nvar _events_engine = require(\"../../events/core/events_engine\");\r\nvar _events_engine2 = _interopRequireDefault(_events_engine);\r\nvar _common = require(\"../../core/utils/common\");\r\nvar _common2 = _interopRequireDefault(_common);\r\nvar _dom = require(\"../../core/utils/dom\");\r\nvar _dom_adapter = require(\"../../core/dom_adapter\");\r\nvar _dom_adapter2 = _interopRequireDefault(_dom_adapter);\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _deferred = require(\"../../core/utils/deferred\");\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _array = require(\"../../core/utils/array\");\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar _iterator2 = _interopRequireDefault(_iterator);\r\nvar _action = require(\"../../core/action\");\r\nvar _action2 = _interopRequireDefault(_action);\r\nvar _guid = require(\"../../core/guid\");\r\nvar _guid2 = _interopRequireDefault(_guid);\r\nvar _ui = require(\"../widget/ui.widget\");\r\nvar _ui2 = _interopRequireDefault(_ui);\r\nvar _utils = require(\"../../events/utils\");\r\nvar _utils2 = _interopRequireDefault(_utils);\r\nvar _pointer = require(\"../../events/pointer\");\r\nvar _pointer2 = _interopRequireDefault(_pointer);\r\nvar _data_helper = require(\"../../data_helper\");\r\nvar _data_helper2 = _interopRequireDefault(_data_helper);\r\nvar _item = require(\"./item\");\r\nvar _item2 = _interopRequireDefault(_item);\r\nvar _selectors = require(\"../widget/selectors\");\r\nvar _selectors2 = _interopRequireDefault(_selectors);\r\nvar _message = require(\"../../localization/message\");\r\nvar _message2 = _interopRequireDefault(_message);\r\nvar _hold = require(\"../../events/hold\");\r\nvar _hold2 = _interopRequireDefault(_hold);\r\nvar _data = require(\"../../core/utils/data\");\r\nvar _click = require(\"../../events/click\");\r\nvar _click2 = _interopRequireDefault(_click);\r\nvar _contextmenu = require(\"../../events/contextmenu\");\r\nvar _contextmenu2 = _interopRequireDefault(_contextmenu);\r\nvar _bindable_template = require(\"../widget/bindable_template\");\r\nvar _bindable_template2 = _interopRequireDefault(_bindable_template);\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar COLLECTION_CLASS = \"dx-collection\";\r\nvar ITEM_CLASS = \"dx-item\";\r\nvar CONTENT_CLASS_POSTFIX = \"-content\";\r\nvar ITEM_CONTENT_PLACEHOLDER_CLASS = \"dx-item-content-placeholder\";\r\nvar ITEM_DATA_KEY = \"dxItemData\";\r\nvar ITEM_INDEX_KEY = \"dxItemIndex\";\r\nvar ITEM_TEMPLATE_ID_PREFIX = \"tmpl-\";\r\nvar ITEMS_SELECTOR = \"[data-options*='dxItem']\";\r\nvar SELECTED_ITEM_CLASS = \"dx-item-selected\";\r\nvar ITEM_RESPONSE_WAIT_CLASS = \"dx-item-response-wait\";\r\nvar EMPTY_COLLECTION = \"dx-empty-collection\";\r\nvar TEMPLATE_WRAPPER_CLASS = \"dx-template-wrapper\";\r\nvar ITEM_PATH_REGEX = /^([^.]+\\[\\d+\\]\\.)+([\\w.]+)$/;\r\nvar FOCUS_UP = \"up\";\r\nvar FOCUS_DOWN = \"down\";\r\nvar FOCUS_LEFT = \"left\";\r\nvar FOCUS_RIGHT = \"right\";\r\nvar FOCUS_PAGE_UP = \"pageup\";\r\nvar FOCUS_PAGE_DOWN = \"pagedown\";\r\nvar FOCUS_LAST = \"last\";\r\nvar FOCUS_FIRST = \"first\";\r\nvar CollectionWidget = _ui2.default.inherit({\r\n _activeStateUnit: \".\" + ITEM_CLASS,\r\n _supportedKeys: function() {\r\n var enter = function(e) {\r\n var $itemElement = (0, _renderer2.default)(this.option(\"focusedElement\"));\r\n if (!$itemElement.length) {\r\n return\r\n }\r\n this._itemClickHandler((0, _extend.extend)({}, e, {\r\n target: $itemElement,\r\n currentTarget: $itemElement\r\n }))\r\n },\r\n space = function(e) {\r\n e.preventDefault();\r\n enter.call(this, e)\r\n },\r\n move = function(location, e) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n this._moveFocus(location, e)\r\n };\r\n return (0, _extend.extend)(this.callBase(), {\r\n space: space,\r\n enter: enter,\r\n leftArrow: move.bind(this, FOCUS_LEFT),\r\n rightArrow: move.bind(this, FOCUS_RIGHT),\r\n upArrow: move.bind(this, FOCUS_UP),\r\n downArrow: move.bind(this, FOCUS_DOWN),\r\n pageUp: move.bind(this, FOCUS_UP),\r\n pageDown: move.bind(this, FOCUS_DOWN),\r\n home: move.bind(this, FOCUS_FIRST),\r\n end: move.bind(this, FOCUS_LAST)\r\n })\r\n },\r\n _getDefaultOptions: function() {\r\n return (0, _extend.extend)(this.callBase(), {\r\n selectOnFocus: false,\r\n loopItemFocus: true,\r\n items: [],\r\n itemTemplate: \"item\",\r\n onItemRendered: null,\r\n onItemClick: null,\r\n onItemHold: null,\r\n itemHoldTimeout: 750,\r\n onItemContextMenu: null,\r\n onFocusedItemChanged: null,\r\n noDataText: _message2.default.format(\"dxCollectionWidget-noDataText\"),\r\n dataSource: null,\r\n _itemAttributes: {},\r\n itemTemplateProperty: \"template\",\r\n focusOnSelectedItem: true,\r\n focusedElement: null,\r\n displayExpr: void 0,\r\n disabledExpr: function(data) {\r\n return data ? data.disabled : void 0\r\n },\r\n visibleExpr: function(data) {\r\n return data ? data.visible : void 0\r\n }\r\n })\r\n },\r\n _getAnonymousTemplateName: function() {\r\n return \"item\"\r\n },\r\n _init: function() {\r\n this._compileDisplayGetter();\r\n this.callBase();\r\n this._cleanRenderedItems();\r\n this._refreshDataSource()\r\n },\r\n _compileDisplayGetter: function() {\r\n var displayExpr = this.option(\"displayExpr\");\r\n this._displayGetter = displayExpr ? (0, _data.compileGetter)(this.option(\"displayExpr\")) : void 0\r\n },\r\n _initTemplates: function() {\r\n this._initItemsFromMarkup();\r\n this.callBase();\r\n this._initDefaultItemTemplate()\r\n },\r\n _initDefaultItemTemplate: function() {\r\n var fieldsMap = this._getFieldsMap();\r\n this._defaultTemplates.item = new _bindable_template2.default(function($container, data) {\r\n if ((0, _type.isPlainObject)(data)) {\r\n this._prepareDefaultItemTemplate(data, $container)\r\n } else {\r\n if (fieldsMap && (0, _type.isFunction)(fieldsMap.text)) {\r\n data = fieldsMap.text(data)\r\n }\r\n $container.text(String(_common2.default.ensureDefined(data, \"\")))\r\n }\r\n }.bind(this), this._getBindableFields(), this.option(\"integrationOptions.watchMethod\"), fieldsMap)\r\n },\r\n _getBindableFields: function() {\r\n return [\"text\", \"html\"]\r\n },\r\n _getFieldsMap: function() {\r\n if (this._displayGetter) {\r\n return {\r\n text: this._displayGetter\r\n }\r\n }\r\n },\r\n _prepareDefaultItemTemplate: function(data, $container) {\r\n if (data.text) {\r\n $container.text(data.text)\r\n }\r\n if (data.html) {\r\n $container.html(data.html)\r\n }\r\n },\r\n _initItemsFromMarkup: function() {\r\n var _this = this;\r\n var $items = this.$element().contents().filter(ITEMS_SELECTOR);\r\n if (!$items.length || this.option(\"items\").length) {\r\n return\r\n }\r\n var items = [].slice.call($items).map(function(item) {\r\n var $item = (0, _renderer2.default)(item);\r\n var result = (0, _dom.getElementOptions)(item).dxItem;\r\n var isTemplateRequired = $item.html().trim() && !result.template;\r\n if (isTemplateRequired) {\r\n result.template = _this._prepareItemTemplate($item)\r\n } else {\r\n $item.remove()\r\n }\r\n return result\r\n });\r\n this.option(\"items\", items)\r\n },\r\n _prepareItemTemplate: function($item) {\r\n var templateId = ITEM_TEMPLATE_ID_PREFIX + new _guid2.default;\r\n var $template = $item.detach().clone().removeAttr(\"data-options\").addClass(TEMPLATE_WRAPPER_CLASS);\r\n this._saveTemplate(templateId, $template);\r\n return templateId\r\n },\r\n _dataSourceOptions: function() {\r\n return {\r\n paginate: false\r\n }\r\n },\r\n _cleanRenderedItems: function() {\r\n this._renderedItemsCount = 0\r\n },\r\n _focusTarget: function() {\r\n return this.$element()\r\n },\r\n _focusInHandler: function(e) {\r\n this.callBase.apply(this, arguments);\r\n if ((0, _array.inArray)(e.target, this._focusTarget()) === -1) {\r\n return\r\n }\r\n var $focusedElement = (0, _renderer2.default)(this.option(\"focusedElement\"));\r\n if ($focusedElement.length) {\r\n this._setFocusedItem($focusedElement)\r\n } else {\r\n var $activeItem = this._getActiveItem();\r\n if ($activeItem.length) {\r\n this.option(\"focusedElement\", (0, _dom.getPublicElement)($activeItem))\r\n }\r\n }\r\n },\r\n _focusOutHandler: function() {\r\n this.callBase.apply(this, arguments);\r\n var $target = (0, _renderer2.default)(this.option(\"focusedElement\"));\r\n if ($target.length) {\r\n this._toggleFocusClass(false, $target)\r\n }\r\n },\r\n _getActiveItem: function(last) {\r\n var $focusedElement = (0, _renderer2.default)(this.option(\"focusedElement\"));\r\n if ($focusedElement.length) {\r\n return $focusedElement\r\n }\r\n var index = this.option(\"focusOnSelectedItem\") ? this.option(\"selectedIndex\") : 0;\r\n var activeElements = this._getActiveElement();\r\n var lastIndex = activeElements.length - 1;\r\n if (index < 0) {\r\n index = last ? lastIndex : 0\r\n }\r\n return activeElements.eq(index)\r\n },\r\n _renderFocusTarget: function() {\r\n this.callBase.apply(this, arguments);\r\n this._refreshActiveDescendant()\r\n },\r\n _moveFocus: function(location) {\r\n var $newTarget, $items = this._getAvailableItems();\r\n switch (location) {\r\n case FOCUS_PAGE_UP:\r\n case FOCUS_UP:\r\n $newTarget = this._prevItem($items);\r\n break;\r\n case FOCUS_PAGE_DOWN:\r\n case FOCUS_DOWN:\r\n $newTarget = this._nextItem($items);\r\n break;\r\n case FOCUS_RIGHT:\r\n $newTarget = this.option(\"rtlEnabled\") ? this._prevItem($items) : this._nextItem($items);\r\n break;\r\n case FOCUS_LEFT:\r\n $newTarget = this.option(\"rtlEnabled\") ? this._nextItem($items) : this._prevItem($items);\r\n break;\r\n case FOCUS_FIRST:\r\n $newTarget = $items.first();\r\n break;\r\n case FOCUS_LAST:\r\n $newTarget = $items.last();\r\n break;\r\n default:\r\n return false\r\n }\r\n if (0 !== $newTarget.length) {\r\n this.option(\"focusedElement\", (0, _dom.getPublicElement)($newTarget))\r\n }\r\n },\r\n _getVisibleItems: function($itemElements) {\r\n $itemElements = $itemElements || this._itemElements();\r\n return $itemElements.filter(\":visible\")\r\n },\r\n _getAvailableItems: function($itemElements) {\r\n return this._getVisibleItems($itemElements).not(\".dx-state-disabled\")\r\n },\r\n _prevItem: function($items) {\r\n var $target = this._getActiveItem(),\r\n targetIndex = $items.index($target),\r\n $last = $items.last(),\r\n $item = (0, _renderer2.default)($items[targetIndex - 1]),\r\n loop = this.option(\"loopItemFocus\");\r\n if (0 === $item.length && loop) {\r\n $item = $last\r\n }\r\n return $item\r\n },\r\n _nextItem: function($items) {\r\n var $target = this._getActiveItem(true),\r\n targetIndex = $items.index($target),\r\n $first = $items.first(),\r\n $item = (0, _renderer2.default)($items[targetIndex + 1]),\r\n loop = this.option(\"loopItemFocus\");\r\n if (0 === $item.length && loop) {\r\n $item = $first\r\n }\r\n return $item\r\n },\r\n _selectFocusedItem: function($target) {\r\n this.selectItem($target)\r\n },\r\n _removeFocusedItem: function(target) {\r\n var $target = (0, _renderer2.default)(target);\r\n if ($target.length) {\r\n this._toggleFocusClass(false, $target);\r\n $target.removeAttr(\"id\")\r\n }\r\n },\r\n _refreshActiveDescendant: function() {\r\n this.setAria(\"activedescendant\", \"\");\r\n this.setAria(\"activedescendant\", this.getFocusedItemId())\r\n },\r\n _setFocusedItem: function($target) {\r\n if (!$target || !$target.length) {\r\n return\r\n }\r\n $target.attr(\"id\", this.getFocusedItemId());\r\n this._toggleFocusClass(true, $target);\r\n this.onFocusedItemChanged(this.getFocusedItemId());\r\n this._refreshActiveDescendant();\r\n if (this.option(\"selectOnFocus\")) {\r\n this._selectFocusedItem($target)\r\n }\r\n },\r\n _findItemElementByItem: function(item) {\r\n var result = (0, _renderer2.default)(),\r\n that = this;\r\n this.itemElements().each(function() {\r\n var $item = (0, _renderer2.default)(this);\r\n if ($item.data(that._itemDataKey()) === item) {\r\n result = $item;\r\n return false\r\n }\r\n });\r\n return result\r\n },\r\n _getIndexByItem: function(item) {\r\n return this.option(\"items\").indexOf(item)\r\n },\r\n _itemOptionChanged: function(item, property, value, oldValue) {\r\n var $item = this._findItemElementByItem(item);\r\n if (!$item.length) {\r\n return\r\n }\r\n if (!this.constructor.ItemClass.getInstance($item).setDataField(property, value)) {\r\n this._refreshItem($item, item)\r\n }\r\n },\r\n _refreshItem: function($item) {\r\n var itemData = this._getItemData($item),\r\n index = $item.data(this._itemIndexKey());\r\n this._renderItem(this._renderedItemsCount + index, itemData, null, $item)\r\n },\r\n _optionChanged: function(args) {\r\n if (\"items\" === args.name) {\r\n var matches = args.fullName.match(ITEM_PATH_REGEX);\r\n if (matches && matches.length) {\r\n var property = matches[matches.length - 1],\r\n itemPath = args.fullName.replace(\".\" + property, \"\"),\r\n item = this.option(itemPath);\r\n this._itemOptionChanged(item, property, args.value, args.previousValue);\r\n return\r\n }\r\n }\r\n switch (args.name) {\r\n case \"items\":\r\n case \"_itemAttributes\":\r\n case \"itemTemplateProperty\":\r\n this._cleanRenderedItems();\r\n this._invalidate();\r\n break;\r\n case \"dataSource\":\r\n this._refreshDataSource();\r\n this._renderEmptyMessage();\r\n break;\r\n case \"noDataText\":\r\n this._renderEmptyMessage();\r\n break;\r\n case \"itemTemplate\":\r\n this._invalidate();\r\n break;\r\n case \"onItemRendered\":\r\n this._createItemRenderAction();\r\n break;\r\n case \"onItemClick\":\r\n break;\r\n case \"onItemHold\":\r\n case \"itemHoldTimeout\":\r\n this._attachHoldEvent();\r\n break;\r\n case \"onItemContextMenu\":\r\n this._attachContextMenuEvent();\r\n break;\r\n case \"onFocusedItemChanged\":\r\n this.onFocusedItemChanged = this._createActionByOption(\"onFocusedItemChanged\");\r\n break;\r\n case \"selectOnFocus\":\r\n case \"loopItemFocus\":\r\n case \"focusOnSelectedItem\":\r\n break;\r\n case \"focusedElement\":\r\n this._removeFocusedItem(args.previousValue);\r\n this._setFocusedItem((0, _renderer2.default)(args.value));\r\n break;\r\n case \"displayExpr\":\r\n this._compileDisplayGetter();\r\n this._initDefaultItemTemplate();\r\n this._invalidate();\r\n break;\r\n case \"visibleExpr\":\r\n case \"disabledExpr\":\r\n this._invalidate();\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _invalidate: function() {\r\n this.option(\"focusedElement\", null);\r\n return this.callBase.apply(this, arguments)\r\n },\r\n _loadNextPage: function() {\r\n var dataSource = this._dataSource;\r\n this._expectNextPageLoading();\r\n dataSource.pageIndex(1 + dataSource.pageIndex());\r\n return dataSource.load()\r\n },\r\n _expectNextPageLoading: function() {\r\n this._startIndexForAppendedItems = 0\r\n },\r\n _expectLastItemLoading: function() {\r\n this._startIndexForAppendedItems = -1\r\n },\r\n _forgetNextPageLoading: function() {\r\n this._startIndexForAppendedItems = null\r\n },\r\n _dataSourceChangedHandler: function(newItems) {\r\n var items = this.option(\"items\");\r\n if (this._initialized && items && this._shouldAppendItems()) {\r\n this._renderedItemsCount = items.length;\r\n if (!this._isLastPage() || this._startIndexForAppendedItems !== -1) {\r\n this.option().items = items.concat(newItems.slice(this._startIndexForAppendedItems))\r\n }\r\n this._forgetNextPageLoading();\r\n this._refreshContent();\r\n this._renderFocusTarget()\r\n } else {\r\n this.option(\"items\", newItems.slice())\r\n }\r\n },\r\n _refreshContent: function() {\r\n this._prepareContent();\r\n this._renderContent()\r\n },\r\n _dataSourceLoadErrorHandler: function() {\r\n this._forgetNextPageLoading();\r\n this.option(\"items\", this.option(\"items\"))\r\n },\r\n _shouldAppendItems: function() {\r\n return null != this._startIndexForAppendedItems && this._allowDynamicItemsAppend()\r\n },\r\n _allowDynamicItemsAppend: function() {\r\n return false\r\n },\r\n _clean: function() {\r\n this._cleanFocusState();\r\n this._cleanItemContainer()\r\n },\r\n _cleanItemContainer: function() {\r\n (0, _renderer2.default)(this._itemContainer()).empty()\r\n },\r\n _dispose: function() {\r\n this.callBase();\r\n clearTimeout(this._itemFocusTimeout)\r\n },\r\n _refresh: function() {\r\n this._cleanRenderedItems();\r\n this.callBase.apply(this, arguments)\r\n },\r\n _itemContainer: function() {\r\n return this.$element()\r\n },\r\n _itemClass: function() {\r\n return ITEM_CLASS\r\n },\r\n _itemContentClass: function() {\r\n return this._itemClass() + CONTENT_CLASS_POSTFIX\r\n },\r\n _selectedItemClass: function() {\r\n return SELECTED_ITEM_CLASS\r\n },\r\n _itemResponseWaitClass: function() {\r\n return ITEM_RESPONSE_WAIT_CLASS\r\n },\r\n _itemSelector: function() {\r\n return \".\" + this._itemClass()\r\n },\r\n _itemDataKey: function() {\r\n return ITEM_DATA_KEY\r\n },\r\n _itemIndexKey: function() {\r\n return ITEM_INDEX_KEY\r\n },\r\n _itemElements: function() {\r\n return this._itemContainer().find(this._itemSelector())\r\n },\r\n _initMarkup: function() {\r\n this.callBase();\r\n this.onFocusedItemChanged = this._createActionByOption(\"onFocusedItemChanged\");\r\n this.$element().addClass(COLLECTION_CLASS);\r\n this._prepareContent()\r\n },\r\n _prepareContent: _common2.default.deferRenderer(function() {\r\n this._renderContentImpl()\r\n }),\r\n _renderContent: function() {\r\n this._fireContentReadyAction()\r\n },\r\n _render: function() {\r\n this.callBase();\r\n this._attachClickEvent();\r\n this._attachHoldEvent();\r\n this._attachContextMenuEvent()\r\n },\r\n _attachClickEvent: function() {\r\n var itemSelector = this._itemSelector(),\r\n clickEventNamespace = _utils2.default.addNamespace(_click2.default.name, this.NAME),\r\n pointerDownEventNamespace = _utils2.default.addNamespace(_pointer2.default.down, this.NAME),\r\n that = this;\r\n var pointerDownAction = new _action2.default(function(args) {\r\n var event = args.event;\r\n that._itemPointerDownHandler(event)\r\n });\r\n _events_engine2.default.off(this._itemContainer(), clickEventNamespace, itemSelector);\r\n _events_engine2.default.off(this._itemContainer(), pointerDownEventNamespace, itemSelector);\r\n _events_engine2.default.on(this._itemContainer(), clickEventNamespace, itemSelector, function(e) {\r\n this._itemClickHandler(e)\r\n }.bind(this));\r\n _events_engine2.default.on(this._itemContainer(), pointerDownEventNamespace, itemSelector, function(e) {\r\n pointerDownAction.execute({\r\n element: (0, _renderer2.default)(e.target),\r\n event: e\r\n })\r\n })\r\n },\r\n _itemClickHandler: function(e, args, config) {\r\n this._itemDXEventHandler(e, \"onItemClick\", args, config)\r\n },\r\n _itemPointerDownHandler: function(e) {\r\n if (!this.option(\"focusStateEnabled\")) {\r\n return\r\n }\r\n this._itemFocusHandler = function() {\r\n clearTimeout(this._itemFocusTimeout);\r\n this._itemFocusHandler = null;\r\n if (e.isDefaultPrevented()) {\r\n return\r\n }\r\n var $target = (0, _renderer2.default)(e.target),\r\n $closestItem = $target.closest(this._itemElements()),\r\n $closestFocusable = this._closestFocusable($target);\r\n if ($closestItem.length && $closestFocusable && (0, _array.inArray)($closestFocusable.get(0), this._focusTarget()) !== -1) {\r\n this.option(\"focusedElement\", (0, _dom.getPublicElement)($closestItem))\r\n }\r\n }.bind(this);\r\n this._itemFocusTimeout = setTimeout(this._forcePointerDownFocus.bind(this))\r\n },\r\n _closestFocusable: function($target) {\r\n if ($target.is(_selectors2.default.focusable)) {\r\n return $target\r\n } else {\r\n $target = $target.parent();\r\n while ($target.length && !_dom_adapter2.default.isDocument($target.get(0))) {\r\n if ($target.is(_selectors2.default.focusable)) {\r\n return $target\r\n }\r\n $target = $target.parent()\r\n }\r\n }\r\n },\r\n _forcePointerDownFocus: function() {\r\n this._itemFocusHandler && this._itemFocusHandler()\r\n },\r\n _updateFocusState: function() {\r\n this.callBase.apply(this, arguments);\r\n this._forcePointerDownFocus()\r\n },\r\n _attachHoldEvent: function() {\r\n var $itemContainer = this._itemContainer(),\r\n itemSelector = this._itemSelector(),\r\n eventName = _utils2.default.addNamespace(_hold2.default.name, this.NAME);\r\n _events_engine2.default.off($itemContainer, eventName, itemSelector);\r\n _events_engine2.default.on($itemContainer, eventName, itemSelector, {\r\n timeout: this._getHoldTimeout()\r\n }, this._itemHoldHandler.bind(this))\r\n },\r\n _getHoldTimeout: function() {\r\n return this.option(\"itemHoldTimeout\")\r\n },\r\n _shouldFireHoldEvent: function() {\r\n return this.hasActionSubscription(\"onItemHold\")\r\n },\r\n _itemHoldHandler: function(e) {\r\n if (this._shouldFireHoldEvent()) {\r\n this._itemDXEventHandler(e, \"onItemHold\")\r\n } else {\r\n e.cancel = true\r\n }\r\n },\r\n _attachContextMenuEvent: function() {\r\n var $itemContainer = this._itemContainer(),\r\n itemSelector = this._itemSelector(),\r\n eventName = _utils2.default.addNamespace(_contextmenu2.default.name, this.NAME);\r\n _events_engine2.default.off($itemContainer, eventName, itemSelector);\r\n _events_engine2.default.on($itemContainer, eventName, itemSelector, this._itemContextMenuHandler.bind(this))\r\n },\r\n _shouldFireContextMenuEvent: function() {\r\n return this.hasActionSubscription(\"onItemContextMenu\")\r\n },\r\n _itemContextMenuHandler: function(e) {\r\n if (this._shouldFireContextMenuEvent()) {\r\n this._itemDXEventHandler(e, \"onItemContextMenu\")\r\n } else {\r\n e.cancel = true\r\n }\r\n },\r\n _renderContentImpl: function() {\r\n var items = this.option(\"items\") || [];\r\n if (this._renderedItemsCount) {\r\n this._renderItems(items.slice(this._renderedItemsCount))\r\n } else {\r\n this._renderItems(items)\r\n }\r\n },\r\n _renderItems: function(items) {\r\n if (items.length) {\r\n _iterator2.default.each(items, function(index, itemData) {\r\n this._renderItem(this._renderedItemsCount + index, itemData)\r\n }.bind(this))\r\n }\r\n this._renderEmptyMessage()\r\n },\r\n _renderItem: function(index, itemData, $container, $itemToReplace) {\r\n $container = $container || this._itemContainer();\r\n var $itemFrame = this._renderItemFrame(index, itemData, $container, $itemToReplace);\r\n this._setElementData($itemFrame, itemData, index);\r\n $itemFrame.attr(this.option(\"_itemAttributes\"));\r\n this._attachItemClickEvent(itemData, $itemFrame);\r\n var $itemContent = this._getItemContent($itemFrame);\r\n var renderContentPromise = this._renderItemContent({\r\n index: index,\r\n itemData: itemData,\r\n container: (0, _dom.getPublicElement)($itemContent),\r\n contentClass: this._itemContentClass(),\r\n defaultTemplateName: this.option(\"itemTemplate\")\r\n });\r\n var that = this;\r\n (0, _deferred.when)(renderContentPromise).done(function($itemContent) {\r\n that._postprocessRenderItem({\r\n itemElement: $itemFrame,\r\n itemContent: $itemContent,\r\n itemData: itemData,\r\n itemIndex: index\r\n });\r\n that._executeItemRenderAction(index, itemData, (0, _dom.getPublicElement)($itemFrame))\r\n });\r\n return $itemFrame\r\n },\r\n _getItemContent: function($itemFrame) {\r\n var $itemContent = $itemFrame.find(\".\" + ITEM_CONTENT_PLACEHOLDER_CLASS);\r\n $itemContent.removeClass(ITEM_CONTENT_PLACEHOLDER_CLASS);\r\n return $itemContent\r\n },\r\n _attachItemClickEvent: function(itemData, $itemElement) {\r\n if (!itemData || !itemData.onClick) {\r\n return\r\n }\r\n _events_engine2.default.on($itemElement, _click2.default.name, function(e) {\r\n this._itemEventHandlerByHandler($itemElement, itemData.onClick, {\r\n event: e\r\n })\r\n }.bind(this))\r\n },\r\n _renderItemContent: function(args) {\r\n var itemTemplateName = this._getItemTemplateName(args);\r\n var itemTemplate = this._getTemplate(itemTemplateName);\r\n this._addItemContentClasses(args);\r\n var $templateResult = (0, _renderer2.default)(this._createItemByTemplate(itemTemplate, args));\r\n if (!$templateResult.hasClass(TEMPLATE_WRAPPER_CLASS)) {\r\n return args.container\r\n }\r\n return this._renderItemContentByNode(args, $templateResult)\r\n },\r\n _renderItemContentByNode: function(args, $node) {\r\n (0, _renderer2.default)(args.container).replaceWith($node);\r\n args.container = (0, _dom.getPublicElement)($node);\r\n this._addItemContentClasses(args);\r\n return $node\r\n },\r\n _addItemContentClasses: function(args) {\r\n var classes = [ITEM_CLASS + CONTENT_CLASS_POSTFIX, args.contentClass];\r\n (0, _renderer2.default)(args.container).addClass(classes.join(\" \"))\r\n },\r\n _appendItemToContainer: function($container, $itemFrame, index) {\r\n $itemFrame.appendTo($container)\r\n },\r\n _renderItemFrame: function(index, itemData, $container, $itemToReplace) {\r\n var $itemFrame = (0, _renderer2.default)(\"
\");\r\n new this.constructor.ItemClass($itemFrame, this._itemOptions(), itemData || {});\r\n if ($itemToReplace && $itemToReplace.length) {\r\n $itemToReplace.replaceWith($itemFrame)\r\n } else {\r\n this._appendItemToContainer.call(this, $container, $itemFrame, index)\r\n }\r\n return $itemFrame\r\n },\r\n _itemOptions: function() {\r\n var that = this;\r\n return {\r\n watchMethod: function() {\r\n return that.option(\"integrationOptions.watchMethod\")\r\n },\r\n fieldGetter: function(field) {\r\n var expr = that.option(field + \"Expr\"),\r\n getter = (0, _data.compileGetter)(expr);\r\n return getter\r\n }\r\n }\r\n },\r\n _postprocessRenderItem: _common2.default.noop,\r\n _executeItemRenderAction: function(index, itemData, itemElement) {\r\n this._getItemRenderAction()({\r\n itemElement: itemElement,\r\n itemIndex: index,\r\n itemData: itemData\r\n })\r\n },\r\n _setElementData: function(element, data, index) {\r\n element.addClass([ITEM_CLASS, this._itemClass()].join(\" \")).data(this._itemDataKey(), data).data(this._itemIndexKey(), index)\r\n },\r\n _createItemRenderAction: function() {\r\n return this._itemRenderAction = this._createActionByOption(\"onItemRendered\", {\r\n element: this.element(),\r\n excludeValidators: [\"disabled\", \"readOnly\"],\r\n category: \"rendering\"\r\n })\r\n },\r\n _getItemRenderAction: function() {\r\n return this._itemRenderAction || this._createItemRenderAction()\r\n },\r\n _getItemTemplateName: function(args) {\r\n var data = args.itemData,\r\n templateProperty = args.templateProperty || this.option(\"itemTemplateProperty\"),\r\n template = data && data[templateProperty];\r\n return template || args.defaultTemplateName\r\n },\r\n _createItemByTemplate: function(itemTemplate, renderArgs) {\r\n return itemTemplate.render({\r\n model: renderArgs.itemData,\r\n container: renderArgs.container,\r\n index: renderArgs.index\r\n })\r\n },\r\n _emptyMessageContainer: function() {\r\n return this._itemContainer()\r\n },\r\n _renderEmptyMessage: function(items) {\r\n items = items || this.option(\"items\");\r\n var noDataText = this.option(\"noDataText\"),\r\n hideNoData = !noDataText || items && items.length || this._isDataSourceLoading();\r\n if (hideNoData && this._$noData) {\r\n this._$noData.remove();\r\n this._$noData = null;\r\n this.setAria(\"label\", void 0)\r\n }\r\n if (!hideNoData) {\r\n this._$noData = this._$noData || (0, _renderer2.default)(\"
\").addClass(\"dx-empty-message\");\r\n this._$noData.appendTo(this._emptyMessageContainer()).html(noDataText);\r\n this.setAria(\"label\", noDataText)\r\n }\r\n this.$element().toggleClass(EMPTY_COLLECTION, !hideNoData)\r\n },\r\n _itemDXEventHandler: function(dxEvent, handlerOptionName, actionArgs, actionConfig) {\r\n this._itemEventHandler(dxEvent.target, handlerOptionName, (0, _extend.extend)(actionArgs, {\r\n event: dxEvent\r\n }), actionConfig)\r\n },\r\n _itemEventHandler: function(initiator, handlerOptionName, actionArgs, actionConfig) {\r\n var action = this._createActionByOption(handlerOptionName, (0, _extend.extend)({\r\n validatingTargetName: \"itemElement\"\r\n }, actionConfig));\r\n return this._itemEventHandlerImpl(initiator, action, actionArgs)\r\n },\r\n _itemEventHandlerByHandler: function(initiator, handler, actionArgs, actionConfig) {\r\n var action = this._createAction(handler, (0, _extend.extend)({\r\n validatingTargetName: \"itemElement\"\r\n }, actionConfig));\r\n return this._itemEventHandlerImpl(initiator, action, actionArgs)\r\n },\r\n _itemEventHandlerImpl: function(initiator, action, actionArgs) {\r\n var $itemElement = this._closestItemElement((0, _renderer2.default)(initiator)),\r\n args = (0, _extend.extend)({}, actionArgs);\r\n return action((0, _extend.extend)(actionArgs, this._extendActionArgs($itemElement), args))\r\n },\r\n _extendActionArgs: function($itemElement) {\r\n return {\r\n itemElement: (0, _dom.getPublicElement)($itemElement),\r\n itemIndex: this._itemElements().index($itemElement),\r\n itemData: this._getItemData($itemElement)\r\n }\r\n },\r\n _closestItemElement: function($element) {\r\n return (0, _renderer2.default)($element).closest(this._itemSelector())\r\n },\r\n _getItemData: function(itemElement) {\r\n return (0, _renderer2.default)(itemElement).data(this._itemDataKey())\r\n },\r\n _getSummaryItemsWidth: function(items, includeMargin) {\r\n var result = 0;\r\n if (items) {\r\n _iterator2.default.each(items, function(_, item) {\r\n result += (0, _renderer2.default)(item).outerWidth(includeMargin || false)\r\n })\r\n }\r\n return result\r\n },\r\n getFocusedItemId: function() {\r\n if (!this._focusedItemId) {\r\n this._focusedItemId = \"dx-\" + new _guid2.default\r\n }\r\n return this._focusedItemId\r\n },\r\n itemElements: function() {\r\n return this._itemElements()\r\n },\r\n itemsContainer: function() {\r\n return this._itemContainer()\r\n }\r\n}).include(_data_helper2.default);\r\nCollectionWidget.ItemClass = _item2.default;\r\nmodule.exports = CollectionWidget;\r\n","/**\r\n * DevExtreme (core/http_request.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar windowUtils = require(\"./utils/window\");\r\nvar window = windowUtils.getWindow();\r\nvar injector = require(\"./utils/dependency_injector\");\r\nvar nativeXMLHttpRequest = {\r\n getXhr: function() {\r\n return new window.XMLHttpRequest\r\n }\r\n};\r\nmodule.exports = injector(nativeXMLHttpRequest);\r\n","/**\r\n * DevExtreme (data/remote_query.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar queryAdapters = require(\"./query_adapters\"),\r\n errorsModule = require(\"./errors\"),\r\n each = require(\"../core/utils/iterator\").each,\r\n isFunction = require(\"../core/utils/type\").isFunction,\r\n Deferred = require(\"../core/utils/deferred\").Deferred,\r\n arrayQueryImpl = require(\"./array_query\");\r\nvar remoteQueryImpl = function remoteQueryImpl(url, queryOptions, tasks) {\r\n tasks = tasks || [];\r\n queryOptions = queryOptions || {};\r\n var createTask = function(name, args) {\r\n return {\r\n name: name,\r\n args: args\r\n }\r\n };\r\n var exec = function(executorTask) {\r\n var _adapterFactory, _adapter, _taskQueue, _currentTask, _mergedSortArgs, d = new Deferred;\r\n var rejectWithNotify = function(error) {\r\n var handler = queryOptions.errorHandler;\r\n if (handler) {\r\n handler(error)\r\n }\r\n errorsModule._errorHandler(error);\r\n d.reject(error)\r\n };\r\n\r\n function mergeSortTask(task) {\r\n switch (task.name) {\r\n case \"sortBy\":\r\n _mergedSortArgs = [task.args];\r\n return true;\r\n case \"thenBy\":\r\n if (!_mergedSortArgs) {\r\n throw errorsModule.errors.Error(\"E4004\")\r\n }\r\n _mergedSortArgs.push(task.args);\r\n return true\r\n }\r\n return false\r\n }\r\n\r\n function unmergeSortTasks() {\r\n var head = _taskQueue[0],\r\n unmergedTasks = [];\r\n if (head && \"multiSort\" === head.name) {\r\n _taskQueue.shift();\r\n each(head.args[0], function() {\r\n unmergedTasks.push(createTask(unmergedTasks.length ? \"thenBy\" : \"sortBy\", this))\r\n })\r\n }\r\n _taskQueue = unmergedTasks.concat(_taskQueue)\r\n }\r\n try {\r\n _adapterFactory = queryOptions.adapter;\r\n if (!isFunction(_adapterFactory)) {\r\n _adapterFactory = queryAdapters[_adapterFactory]\r\n }\r\n _adapter = _adapterFactory(queryOptions);\r\n _taskQueue = [].concat(tasks).concat(executorTask);\r\n var optimize = _adapter.optimize;\r\n if (optimize) {\r\n optimize(_taskQueue)\r\n }\r\n while (_taskQueue.length) {\r\n _currentTask = _taskQueue[0];\r\n if (!mergeSortTask(_currentTask)) {\r\n if (_mergedSortArgs) {\r\n _taskQueue.unshift(createTask(\"multiSort\", [_mergedSortArgs]));\r\n _mergedSortArgs = null;\r\n continue\r\n }\r\n if (\"enumerate\" !== String(_currentTask.name)) {\r\n if (!_adapter[_currentTask.name] || false === _adapter[_currentTask.name].apply(_adapter, _currentTask.args)) {\r\n break\r\n }\r\n }\r\n }\r\n _taskQueue.shift()\r\n }\r\n unmergeSortTasks();\r\n _adapter.exec(url).done(function(result, extra) {\r\n if (!_taskQueue.length) {\r\n d.resolve(result, extra)\r\n } else {\r\n var clientChain = arrayQueryImpl(result, {\r\n errorHandler: queryOptions.errorHandler\r\n });\r\n each(_taskQueue, function() {\r\n clientChain = clientChain[this.name].apply(clientChain, this.args)\r\n });\r\n clientChain.done(d.resolve).fail(d.reject)\r\n }\r\n }).fail(rejectWithNotify)\r\n } catch (x) {\r\n rejectWithNotify(x)\r\n }\r\n return d.promise()\r\n };\r\n var query = {};\r\n each([\"sortBy\", \"thenBy\", \"filter\", \"slice\", \"select\", \"groupBy\"], function() {\r\n var name = String(this);\r\n query[name] = function() {\r\n return remoteQueryImpl(url, queryOptions, tasks.concat(createTask(name, arguments)))\r\n }\r\n });\r\n each([\"count\", \"min\", \"max\", \"sum\", \"avg\", \"aggregate\", \"enumerate\"], function() {\r\n var name = String(this);\r\n query[name] = function() {\r\n return exec.call(this, createTask(name, arguments))\r\n }\r\n });\r\n return query\r\n};\r\nmodule.exports = remoteQueryImpl;\r\n","/**\r\n * DevExtreme (data/query_adapters.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nmodule.exports = {};\r\n","/**\r\n * DevExtreme (core/utils/queue.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar errors = require(\"../errors\"),\r\n when = require(\"../../core/utils/deferred\").when;\r\n\r\nfunction createQueue(discardPendingTasks) {\r\n var _tasks = [],\r\n _busy = false;\r\n\r\n function exec() {\r\n while (_tasks.length) {\r\n _busy = true;\r\n var task = _tasks.shift(),\r\n result = task();\r\n if (void 0 === result) {\r\n continue\r\n }\r\n if (result.then) {\r\n when(result).always(exec);\r\n return\r\n }\r\n throw errors.Error(\"E0015\")\r\n }\r\n _busy = false\r\n }\r\n\r\n function add(task, removeTaskCallback) {\r\n if (!discardPendingTasks) {\r\n _tasks.push(task)\r\n } else {\r\n if (_tasks[0] && removeTaskCallback) {\r\n removeTaskCallback(_tasks[0])\r\n }\r\n _tasks = [task]\r\n }\r\n if (!_busy) {\r\n exec()\r\n }\r\n }\r\n\r\n function busy() {\r\n return _busy\r\n }\r\n return {\r\n add: add,\r\n busy: busy\r\n }\r\n}\r\nexports.create = createQueue;\r\nexports.enqueue = createQueue().add;\r\n","/**\r\n * DevExtreme (ui/collection/ui.collection_widget.edit.strategy.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar $ = require(\"../../core/renderer\"),\r\n Class = require(\"../../core/class\"),\r\n commonUtils = require(\"../../core/utils/common\"),\r\n abstract = Class.abstract;\r\nvar EditStrategy = Class.inherit({\r\n ctor: function(collectionWidget) {\r\n this._collectionWidget = collectionWidget\r\n },\r\n getIndexByItemData: abstract,\r\n getItemDataByIndex: abstract,\r\n getKeysByItems: abstract,\r\n getItemsByKeys: abstract,\r\n itemsGetter: abstract,\r\n getKeyByIndex: function(index) {\r\n var resultIndex = this._denormalizeItemIndex(index);\r\n return this.getKeysByItems([this.getItemDataByIndex(resultIndex)])[0]\r\n },\r\n _equalKeys: function(key1, key2) {\r\n if (this._collectionWidget._isKeySpecified()) {\r\n return commonUtils.equalByValue(key1, key2)\r\n } else {\r\n return key1 === key2\r\n }\r\n },\r\n beginCache: function() {\r\n this._cache = {}\r\n },\r\n endCache: function() {\r\n this._cache = null\r\n },\r\n getIndexByKey: abstract,\r\n getNormalizedIndex: function(value) {\r\n if (this._isNormalizedItemIndex(value)) {\r\n return value\r\n }\r\n if (this._isItemIndex(value)) {\r\n return this._normalizeItemIndex(value)\r\n }\r\n if (this._isDOMNode(value)) {\r\n return this._getNormalizedItemIndex(value)\r\n }\r\n return this._normalizeItemIndex(this.getIndexByItemData(value))\r\n },\r\n getIndex: function(value) {\r\n if (this._isNormalizedItemIndex(value)) {\r\n return this._denormalizeItemIndex(value)\r\n }\r\n if (this._isItemIndex(value)) {\r\n return value\r\n }\r\n if (this._isDOMNode(value)) {\r\n return this._denormalizeItemIndex(this._getNormalizedItemIndex(value))\r\n }\r\n return this.getIndexByItemData(value)\r\n },\r\n getItemElement: function(value) {\r\n if (this._isNormalizedItemIndex(value)) {\r\n return this._getItemByNormalizedIndex(value)\r\n }\r\n if (this._isItemIndex(value)) {\r\n return this._getItemByNormalizedIndex(this._normalizeItemIndex(value))\r\n }\r\n if (this._isDOMNode(value)) {\r\n return $(value)\r\n }\r\n var normalizedItemIndex = this._normalizeItemIndex(this.getIndexByItemData(value));\r\n return this._getItemByNormalizedIndex(normalizedItemIndex)\r\n },\r\n deleteItemAtIndex: abstract,\r\n itemPlacementFunc: function(movingIndex, destinationIndex) {\r\n return this._itemsFromSameParent(movingIndex, destinationIndex) && movingIndex < destinationIndex ? \"after\" : \"before\"\r\n },\r\n moveItemAtIndexToIndex: abstract,\r\n _isNormalizedItemIndex: function(index) {\r\n return \"number\" === typeof index && Math.round(index) === index\r\n },\r\n _isDOMNode: function(value) {\r\n var $value;\r\n try {\r\n $value = $(value)\r\n } catch (error) {\r\n return false\r\n }\r\n return $value && $value.length && $value.get(0).nodeType\r\n },\r\n _isItemIndex: abstract,\r\n _getNormalizedItemIndex: abstract,\r\n _normalizeItemIndex: abstract,\r\n _denormalizeItemIndex: abstract,\r\n _getItemByNormalizedIndex: abstract,\r\n _itemsFromSameParent: abstract\r\n});\r\nmodule.exports = EditStrategy;\r\n","/**\r\n * DevExtreme (ui/selection/selection.strategy.deferred.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar typeUtils = require(\"../../core/utils/type\"),\r\n SelectionStrategy = require(\"./selection.strategy\"),\r\n errors = require(\"../widget/ui.errors\"),\r\n dataQuery = require(\"../../data/query\"),\r\n Deferred = require(\"../../core/utils/deferred\").Deferred;\r\nmodule.exports = SelectionStrategy.inherit({\r\n getSelectedItems: function() {\r\n return this._loadFilteredData(this.options.selectionFilter)\r\n },\r\n getSelectedItemKeys: function() {\r\n var d = new Deferred,\r\n that = this,\r\n key = this.options.key(),\r\n select = typeUtils.isString(key) ? [key] : key;\r\n this._loadFilteredData(this.options.selectionFilter, null, select).done(function(items) {\r\n var keys = items.map(function(item) {\r\n return that.options.keyOf(item)\r\n });\r\n d.resolve(keys)\r\n }).fail(d.reject);\r\n return d.promise()\r\n },\r\n selectedItemKeys: function(keys, preserve, isDeselect, isSelectAll) {\r\n if (isSelectAll) {\r\n var filter = this.options.filter();\r\n if (!filter) {\r\n this._setOption(\"selectionFilter\", isDeselect ? [] : null)\r\n } else {\r\n this._addSelectionFilter(isDeselect, filter, isSelectAll)\r\n }\r\n } else {\r\n if (!preserve) {\r\n this._setOption(\"selectionFilter\", [])\r\n }\r\n for (var i = 0; i < keys.length; i++) {\r\n if (isDeselect) {\r\n this.removeSelectedItem(keys[i])\r\n } else {\r\n this.addSelectedItem(keys[i])\r\n }\r\n }\r\n }\r\n this.onSelectionChanged();\r\n return (new Deferred).resolve()\r\n },\r\n setSelectedItems: function(keys) {\r\n this._setOption(\"selectionFilter\", null);\r\n for (var i = 0; i < keys.length; i++) {\r\n this.addSelectedItem(keys[i])\r\n }\r\n },\r\n isItemDataSelected: function(itemData) {\r\n return this.isItemKeySelected(itemData)\r\n },\r\n isItemKeySelected: function(itemData) {\r\n var selectionFilter = this.options.selectionFilter;\r\n if (!selectionFilter) {\r\n return true\r\n }\r\n return !!dataQuery([itemData]).filter(selectionFilter).toArray().length\r\n },\r\n _processSelectedItem: function(key) {\r\n var keyField = this.options.key(),\r\n filter = [keyField, \"=\", key];\r\n if (Array.isArray(keyField)) {\r\n filter = [];\r\n for (var i = 0; i < keyField.length; i++) {\r\n filter.push([keyField[i], \"=\", key[keyField[i]]]);\r\n if (i !== keyField.length - 1) {\r\n filter.push(\"and\")\r\n }\r\n }\r\n }\r\n return filter\r\n },\r\n addSelectedItem: function(key) {\r\n var filter = this._processSelectedItem(key);\r\n this._addSelectionFilter(false, filter)\r\n },\r\n removeSelectedItem: function(key) {\r\n var filter = this._processSelectedItem(key);\r\n this._addSelectionFilter(true, filter)\r\n },\r\n validate: function() {\r\n var key = this.options.key;\r\n if (key && void 0 === key()) {\r\n throw errors.Error(\"E1042\", \"Deferred selection\")\r\n }\r\n },\r\n _findSubFilter: function(selectionFilter, filter) {\r\n if (!selectionFilter) {\r\n return -1\r\n }\r\n var filterString = JSON.stringify(filter);\r\n for (var index = 0; index < selectionFilter.length; index++) {\r\n var subFilter = selectionFilter[index];\r\n if (subFilter && JSON.stringify(subFilter) === filterString) {\r\n return index\r\n }\r\n }\r\n return -1\r\n },\r\n _isLastSubFilter: function(selectionFilter, filter) {\r\n if (selectionFilter && filter) {\r\n return this._findSubFilter(selectionFilter, filter) === selectionFilter.length - 1 || 0 === this._findSubFilter([selectionFilter], filter)\r\n }\r\n return false\r\n },\r\n _addFilterOperator: function(selectionFilter, filterOperator) {\r\n if (selectionFilter.length > 1 && typeUtils.isString(selectionFilter[1]) && selectionFilter[1] !== filterOperator) {\r\n selectionFilter = [selectionFilter]\r\n }\r\n if (selectionFilter.length) {\r\n selectionFilter.push(filterOperator)\r\n }\r\n return selectionFilter\r\n },\r\n _denormalizeFilter: function(filter) {\r\n if (filter && typeUtils.isString(filter[0])) {\r\n filter = [filter]\r\n }\r\n return filter\r\n },\r\n _addSelectionFilter: function(isDeselect, filter, isSelectAll) {\r\n var that = this,\r\n needAddFilter = true,\r\n currentFilter = isDeselect ? [\"!\", filter] : filter,\r\n currentOperation = isDeselect ? \"and\" : \"or\",\r\n selectionFilter = that.options.selectionFilter || [];\r\n selectionFilter = that._denormalizeFilter(selectionFilter);\r\n if (selectionFilter && selectionFilter.length) {\r\n that._removeSameFilter(selectionFilter, filter, isDeselect, isSelectAll);\r\n var lastOperation = that._removeSameFilter(selectionFilter, filter, !isDeselect);\r\n if (lastOperation && (\"or\" !== lastOperation && isDeselect || \"and\" !== lastOperation && !isDeselect)) {\r\n needAddFilter = false;\r\n selectionFilter = []\r\n }\r\n if (needAddFilter) {\r\n selectionFilter = that._addFilterOperator(selectionFilter, currentOperation)\r\n }\r\n }\r\n if (needAddFilter) {\r\n selectionFilter.push(currentFilter)\r\n }\r\n selectionFilter = that._normalizeFilter(selectionFilter);\r\n that._setOption(\"selectionFilter\", !isDeselect && !selectionFilter.length ? null : selectionFilter)\r\n },\r\n _normalizeFilter: function(filter) {\r\n if (filter && 1 === filter.length) {\r\n filter = filter[0]\r\n }\r\n return filter\r\n },\r\n _removeFilterByIndex: function(filter, filterIndex, isSelectAll) {\r\n var lastRemoveOperation;\r\n if (filterIndex > 0) {\r\n lastRemoveOperation = filter.splice(filterIndex - 1, 2)[0]\r\n } else {\r\n lastRemoveOperation = filter.splice(filterIndex, 2)[1] || \"undefined\"\r\n }\r\n if (isSelectAll && \"and\" === lastRemoveOperation) {\r\n filter.splice(0, filter.length)\r\n }\r\n return lastRemoveOperation\r\n },\r\n _removeSameFilter: function(selectionFilter, filter, inverted, isSelectAll) {\r\n filter = inverted ? [\"!\", filter] : filter;\r\n var filterIndex = this._findSubFilter(selectionFilter, filter);\r\n if (JSON.stringify(filter) === JSON.stringify(selectionFilter)) {\r\n selectionFilter.splice(0, selectionFilter.length);\r\n return \"undefined\"\r\n }\r\n if (filterIndex >= 0) {\r\n return this._removeFilterByIndex(selectionFilter, filterIndex, isSelectAll)\r\n } else {\r\n for (var i = 0; i < selectionFilter.length; i++) {\r\n var lastRemoveOperation = Array.isArray(selectionFilter[i]) && selectionFilter[i].length > 2 && this._removeSameFilter(selectionFilter[i], filter, false, isSelectAll);\r\n if (lastRemoveOperation) {\r\n if (!selectionFilter[i].length) {\r\n this._removeFilterByIndex(selectionFilter, i, isSelectAll)\r\n } else {\r\n if (1 === selectionFilter[i].length) {\r\n selectionFilter[i] = selectionFilter[i][0]\r\n }\r\n }\r\n return lastRemoveOperation\r\n }\r\n }\r\n }\r\n },\r\n getSelectAllState: function() {\r\n var filter = this.options.filter(),\r\n selectionFilter = this.options.selectionFilter;\r\n if (!selectionFilter) {\r\n return true\r\n }\r\n if (!selectionFilter.length) {\r\n return false\r\n }\r\n if (!filter || !filter.length) {\r\n return\r\n }\r\n selectionFilter = this._denormalizeFilter(selectionFilter);\r\n if (this._isLastSubFilter(selectionFilter, filter)) {\r\n return true\r\n }\r\n if (this._isLastSubFilter(selectionFilter, [\"!\", filter])) {\r\n return false\r\n }\r\n return\r\n }\r\n});\r\n","/**\r\n * DevExtreme (ui/selection/selection.strategy.standard.js)\r\n * Version: 19.1.6\r\n * Build date: Wed Sep 11 2019\r\n *\r\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar commonUtils = require(\"../../core/utils/common\"),\r\n typeUtils = require(\"../../core/utils/type\"),\r\n getKeyHash = commonUtils.getKeyHash,\r\n dataQuery = require(\"../../data/query\"),\r\n deferredUtils = require(\"../../core/utils/deferred\"),\r\n SelectionFilterCreator = require(\"../../core/utils/selection_filter\").SelectionFilterCreator,\r\n when = deferredUtils.when,\r\n Deferred = deferredUtils.Deferred,\r\n errors = require(\"../widget/ui.errors\"),\r\n SelectionStrategy = require(\"./selection.strategy\");\r\nmodule.exports = SelectionStrategy.inherit({\r\n ctor: function(options) {\r\n this.callBase(options);\r\n this._initSelectedItemKeyHash()\r\n },\r\n _initSelectedItemKeyHash: function() {\r\n this._setOption(\"keyHashIndices\", this.options.equalByReference ? null : {})\r\n },\r\n getSelectedItemKeys: function() {\r\n return this.options.selectedItemKeys.slice(0)\r\n },\r\n getSelectedItems: function() {\r\n return this.options.selectedItems.slice(0)\r\n },\r\n _preserveSelectionUpdate: function(items, isDeselect) {\r\n var keyIndicesToRemoveMap, keyIndex, i, keyOf = this.options.keyOf;\r\n if (!keyOf) {\r\n return\r\n }\r\n var isBatchDeselect = isDeselect && items.length > 1 && !this.options.equalByReference;\r\n if (isBatchDeselect) {\r\n keyIndicesToRemoveMap = {}\r\n }\r\n for (i = 0; i < items.length; i++) {\r\n var item = items[i],\r\n key = keyOf(item);\r\n if (isDeselect) {\r\n keyIndex = this.removeSelectedItem(key, keyIndicesToRemoveMap);\r\n if (keyIndicesToRemoveMap && keyIndex >= 0) {\r\n keyIndicesToRemoveMap[keyIndex] = true\r\n }\r\n } else {\r\n this.addSelectedItem(key, item)\r\n }\r\n }\r\n if (isBatchDeselect) {\r\n this._batchRemoveSelectedItems(keyIndicesToRemoveMap)\r\n }\r\n },\r\n _batchRemoveSelectedItems: function(keyIndicesToRemoveMap) {\r\n var selectedItemKeys = this.options.selectedItemKeys.slice(0);\r\n var selectedItems = this.options.selectedItems.slice(0);\r\n this.options.selectedItemKeys.length = 0;\r\n this.options.selectedItems.length = 0;\r\n for (var i = 0; i < selectedItemKeys.length; i++) {\r\n if (!keyIndicesToRemoveMap[i]) {\r\n this.options.selectedItemKeys.push(selectedItemKeys[i]);\r\n this.options.selectedItems.push(selectedItems[i])\r\n }\r\n }\r\n this._initSelectedItemKeyHash();\r\n this.updateSelectedItemKeyHash(this.options.selectedItemKeys)\r\n },\r\n _loadSelectedItemsCore: function(keys, isDeselect, isSelectAll) {\r\n var deferred = new Deferred,\r\n key = this.options.key();\r\n if (!keys.length && !isSelectAll) {\r\n deferred.resolve([]);\r\n return deferred\r\n }\r\n var filter = this.options.filter();\r\n if (isSelectAll && isDeselect && !filter) {\r\n deferred.resolve(this.getSelectedItems());\r\n return deferred\r\n }\r\n var selectionFilterCreator = new SelectionFilterCreator(keys, isSelectAll),\r\n combinedFilter = selectionFilterCreator.getCombinedFilter(key, filter);\r\n var deselectedItems = [];\r\n if (isDeselect) {\r\n deselectedItems = combinedFilter ? dataQuery(this.options.selectedItems).filter(combinedFilter).toArray() : this.options.selectedItems.slice(0)\r\n }\r\n var filteredItems = deselectedItems.length ? deselectedItems : this.options.plainItems(true).filter(this.options.isSelectableItem).map(this.options.getItemData);\r\n var localFilter = selectionFilterCreator.getLocalFilter(this.options.keyOf, this.equalKeys.bind(this), this.options.equalByReference, key);\r\n filteredItems = filteredItems.filter(localFilter);\r\n if (deselectedItems.length || !isSelectAll && filteredItems.length === keys.length) {\r\n deferred.resolve(filteredItems)\r\n } else {\r\n deferred = this._loadFilteredData(combinedFilter, localFilter)\r\n }\r\n return deferred\r\n },\r\n _replaceSelectionUpdate: function(items) {\r\n var internalKeys = [],\r\n keyOf = this.options.keyOf;\r\n if (!keyOf) {\r\n return\r\n }\r\n for (var i = 0; i < items.length; i++) {\r\n var item = items[i],\r\n key = keyOf(item);\r\n internalKeys.push(key)\r\n }\r\n this.setSelectedItems(internalKeys, items)\r\n },\r\n _warnOnIncorrectKeys: function(keys) {\r\n for (var i = 0; i < keys.length; i++) {\r\n if (!this.isItemKeySelected(keys[i])) {\r\n errors.log(\"W1002\", keys[i])\r\n }\r\n }\r\n },\r\n _loadSelectedItems: function(keys, isDeselect, isSelectAll) {\r\n var that = this,\r\n deferred = new Deferred;\r\n when(that._lastLoadDeferred).always(function() {\r\n that._loadSelectedItemsCore(keys, isDeselect, isSelectAll).done(deferred.resolve).fail(deferred.reject)\r\n });\r\n that._lastLoadDeferred = deferred;\r\n return deferred\r\n },\r\n selectedItemKeys: function(keys, preserve, isDeselect, isSelectAll) {\r\n var that = this,\r\n deferred = that._loadSelectedItems(keys, isDeselect, isSelectAll);\r\n deferred.done(function(items) {\r\n if (preserve) {\r\n that._preserveSelectionUpdate(items, isDeselect)\r\n } else {\r\n that._replaceSelectionUpdate(items)\r\n }\r\n that.onSelectionChanged()\r\n });\r\n return deferred\r\n },\r\n addSelectedItem: function(key, itemData) {\r\n var keyHash = this._getKeyHash(key);\r\n if (this._indexOfSelectedItemKey(keyHash) === -1) {\r\n if (!typeUtils.isObject(keyHash) && this.options.keyHashIndices) {\r\n this.options.keyHashIndices[keyHash] = [this.options.selectedItemKeys.length]\r\n }\r\n this.options.selectedItemKeys.push(key);\r\n this.options.addedItemKeys.push(key);\r\n this.options.addedItems.push(itemData);\r\n this.options.selectedItems.push(itemData)\r\n }\r\n },\r\n _getSelectedIndexByKey: function(key, ignoreIndicesMap) {\r\n var selectedItemKeys = this.options.selectedItemKeys;\r\n for (var index = 0; index < selectedItemKeys.length; index++) {\r\n if ((!ignoreIndicesMap || !ignoreIndicesMap[index]) && this.equalKeys(selectedItemKeys[index], key)) {\r\n return index\r\n }\r\n }\r\n return -1\r\n },\r\n _getSelectedIndexByHash: function(key, ignoreIndicesMap) {\r\n var indices = this.options.keyHashIndices[key];\r\n if (indices && indices.length > 1 && ignoreIndicesMap) {\r\n indices = indices.filter(function(index) {\r\n return !ignoreIndicesMap[index]\r\n })\r\n }\r\n return indices && indices[0] >= 0 ? indices[0] : -1\r\n },\r\n _indexOfSelectedItemKey: function(key, ignoreIndicesMap) {\r\n var selectedIndex;\r\n if (this.options.equalByReference) {\r\n selectedIndex = this.options.selectedItemKeys.indexOf(key)\r\n } else {\r\n if (typeUtils.isObject(key)) {\r\n selectedIndex = this._getSelectedIndexByKey(key, ignoreIndicesMap)\r\n } else {\r\n selectedIndex = this._getSelectedIndexByHash(key, ignoreIndicesMap)\r\n }\r\n }\r\n return selectedIndex\r\n },\r\n _shiftSelectedKeyIndices: function(keyIndex) {\r\n for (var currentKeyIndex = keyIndex; currentKeyIndex < this.options.selectedItemKeys.length; currentKeyIndex++) {\r\n var currentKey = this.options.selectedItemKeys[currentKeyIndex],\r\n currentKeyHash = getKeyHash(currentKey),\r\n currentKeyIndices = this.options.keyHashIndices[currentKeyHash];\r\n if (!currentKeyIndices) {\r\n continue\r\n }\r\n for (var i = 0; i < currentKeyIndices.length; i++) {\r\n if (currentKeyIndices[i] > keyIndex) {\r\n currentKeyIndices[i]--\r\n }\r\n }\r\n }\r\n },\r\n removeSelectedItem: function(key, keyIndicesToRemoveMap) {\r\n var keyHash = this._getKeyHash(key),\r\n isBatchDeselect = !!keyIndicesToRemoveMap,\r\n keyIndex = this._indexOfSelectedItemKey(keyHash, keyIndicesToRemoveMap);\r\n if (keyIndex < 0) {\r\n return keyIndex\r\n }\r\n this.options.removedItemKeys.push(key);\r\n this.options.removedItems.push(this.options.selectedItems[keyIndex]);\r\n if (isBatchDeselect) {\r\n return keyIndex\r\n }\r\n this.options.selectedItemKeys.splice(keyIndex, 1);\r\n this.options.selectedItems.splice(keyIndex, 1);\r\n if (typeUtils.isObject(keyHash) || !this.options.keyHashIndices) {\r\n return keyIndex\r\n }\r\n var keyIndices = this.options.keyHashIndices[keyHash];\r\n if (!keyIndices) {\r\n return keyIndex\r\n }\r\n keyIndices.shift();\r\n if (!keyIndices.length) {\r\n delete this.options.keyHashIndices[keyHash]\r\n }\r\n this._shiftSelectedKeyIndices(keyIndex);\r\n return keyIndex\r\n },\r\n _updateAddedItemKeys: function(keys, items) {\r\n for (var i = 0; i < keys.length; i++) {\r\n if (!this.isItemKeySelected(keys[i])) {\r\n this.options.addedItemKeys.push(keys[i]);\r\n this.options.addedItems.push(items[i])\r\n }\r\n }\r\n },\r\n _updateRemovedItemKeys: function(keys, oldSelectedKeys, oldSelectedItems) {\r\n for (var i = 0; i < oldSelectedKeys.length; i++) {\r\n if (!this.isItemKeySelected(oldSelectedKeys[i])) {\r\n this.options.removedItemKeys.push(oldSelectedKeys[i]);\r\n this.options.removedItems.push(oldSelectedItems[i])\r\n }\r\n }\r\n },\r\n _getKeyHash: function(key) {\r\n return this.options.equalByReference ? key : getKeyHash(key)\r\n },\r\n setSelectedItems: function(keys, items) {\r\n this._updateAddedItemKeys(keys, items);\r\n var oldSelectedKeys = this.options.selectedItemKeys,\r\n oldSelectedItems = this.options.selectedItems;\r\n if (!this.options.equalByReference) {\r\n this._initSelectedItemKeyHash();\r\n this.updateSelectedItemKeyHash(keys)\r\n }\r\n this._setOption(\"selectedItemKeys\", keys);\r\n this._setOption(\"selectedItems\", items);\r\n this._updateRemovedItemKeys(keys, oldSelectedKeys, oldSelectedItems)\r\n },\r\n isItemDataSelected: function(itemData) {\r\n var key = this.options.keyOf(itemData);\r\n return this.isItemKeySelected(key)\r\n },\r\n isItemKeySelected: function(key) {\r\n var keyHash = this._getKeyHash(key);\r\n var index = this._indexOfSelectedItemKey(keyHash);\r\n return index !== -1\r\n },\r\n getSelectAllState: function(visibleOnly) {\r\n if (visibleOnly) {\r\n return this._getVisibleSelectAllState()\r\n } else {\r\n return this._getFullSelectAllState()\r\n }\r\n }\r\n});\r\n","/**\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\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\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 var err = new Error(\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 err.name = 'Invariant Violation';\n throw err;\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 elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\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\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","/*!\n * devextreme-react\n * Version: 19.1.6\n * Build date: Wed Sep 11 2019\n *\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar comparer_1 = require(\"./configuration/comparer\");\nvar tree_1 = require(\"./configuration/tree\");\nvar utils_1 = require(\"./configuration/utils\");\nvar OptionsManager = /** @class */ (function () {\n function OptionsManager(templatesManager) {\n this._guards = {};\n this._isUpdating = false;\n this._templatesManager = templatesManager;\n this.onOptionChanged = this.onOptionChanged.bind(this);\n this._wrapOptionValue = this._wrapOptionValue.bind(this);\n }\n OptionsManager.prototype.setInstance = function (instance, config) {\n this._instance = instance;\n this._currentConfig = config;\n };\n OptionsManager.prototype.getInitialOptions = function (rootNode) {\n var config = tree_1.buildConfig(rootNode, false);\n for (var _i = 0, _a = Object.keys(config.templates); _i < _a.length; _i++) {\n var key = _a[_i];\n this._templatesManager.add(key, config.templates[key]);\n }\n var options = {};\n for (var _b = 0, _c = Object.keys(config.options); _b < _c.length; _b++) {\n var key = _c[_b];\n options[key] = this._wrapOptionValue(key, config.options[key]);\n }\n if (this._templatesManager.templatesCount > 0) {\n options.integrationOptions = {\n templates: this._templatesManager.templates\n };\n }\n return options;\n };\n OptionsManager.prototype.update = function (config) {\n var changes = comparer_1.getChanges(config, this._currentConfig);\n for (var _i = 0, _a = Object.keys(changes.templates); _i < _a.length; _i++) {\n var key = _a[_i];\n this._templatesManager.add(key, changes.templates[key]);\n }\n if (this._templatesManager.templatesCount > 0) {\n this._setValueInTransaction(\"integrationOptions\", {\n templates: this._templatesManager.templates\n });\n }\n for (var _b = 0, _c = Object.keys(changes.options); _b < _c.length; _b++) {\n var key = _c[_b];\n this._setValueInTransaction(key, changes.options[key]);\n }\n if (this._isUpdating) {\n this._isUpdating = false;\n this._instance.endUpdate();\n }\n this._currentConfig = config;\n };\n OptionsManager.prototype.onOptionChanged = function (e) {\n if (this._isUpdating) {\n return;\n }\n var valueDescriptor = tree_1.findValue(this._currentConfig, e.fullName.split(\".\"));\n if (!valueDescriptor) {\n return;\n }\n var value = valueDescriptor.value, type = valueDescriptor.type;\n if (type === tree_1.ValueType.Complex) {\n for (var _i = 0, _a = Object.keys(value); _i < _a.length; _i++) {\n var key = _a[_i];\n if (value[key] === null ||\n value[key] === undefined ||\n value[key] === e.value[key]) {\n continue;\n }\n this._setGuard(utils_1.mergeNameParts(e.fullName, key), value[key]);\n }\n }\n else {\n if (value === null ||\n value === undefined ||\n value === e.value) {\n return;\n }\n this._setGuard(e.fullName, value);\n }\n };\n OptionsManager.prototype.dispose = function () {\n for (var _i = 0, _a = Object.keys(this._guards); _i < _a.length; _i++) {\n var optionName = _a[_i];\n window.clearTimeout(this._guards[optionName]);\n delete this._guards[optionName];\n }\n };\n OptionsManager.prototype._wrapOptionValue = function (name, value) {\n var _this = this;\n if (name.substr(0, 2) === \"on\" && typeof value === \"function\") {\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (!_this._isUpdating) {\n value.apply(void 0, args);\n }\n };\n }\n return value;\n };\n OptionsManager.prototype._setGuard = function (optionName, optionValue) {\n var _this = this;\n if (this._guards[optionName] !== undefined) {\n return;\n }\n var guardId = window.setTimeout(function () {\n _this._setValue(optionName, optionValue);\n window.clearTimeout(guardId);\n delete _this._guards[optionName];\n });\n this._guards[optionName] = guardId;\n };\n OptionsManager.prototype._setValueInTransaction = function (name, value) {\n if (!this._isUpdating) {\n this._instance.beginUpdate();\n this._isUpdating = true;\n }\n this._setValue(name, value);\n };\n OptionsManager.prototype._setValue = function (name, value) {\n if (this._guards[name]) {\n window.clearTimeout(this._guards[name]);\n delete this._guards[name];\n }\n this._instance.option(name, this._wrapOptionValue(name, value));\n };\n return OptionsManager;\n}());\nexports.OptionsManager = OptionsManager;\n","/*!\n * devextreme-react\n * Version: 19.1.6\n * Build date: Wed Sep 11 2019\n *\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar tree_1 = require(\"./tree\");\nvar utils_1 = require(\"./utils\");\nfunction getChanges(current, prev) {\n var changesAccum = {\n options: {},\n templates: {}\n };\n compare(current, prev, changesAccum);\n return changesAccum;\n}\nexports.getChanges = getChanges;\nfunction compare(current, prev, changesAccum) {\n if (!prev) {\n changesAccum.options[current.fullName] = tree_1.buildNode(current, changesAccum.templates, true);\n return;\n }\n appendRemovedValues(current.options, prev.options, current.fullName, changesAccum.options);\n appendRemovedValues(current.configCollections, prev.configCollections, current.fullName, changesAccum.options);\n appendRemovedValues(current.configs, prev.configs, current.fullName, changesAccum.options);\n compareCollections(current, prev, changesAccum);\n for (var _i = 0, _a = Object.keys(current.configs); _i < _a.length; _i++) {\n var key = _a[_i];\n compare(current.configs[key], prev.configs[key], changesAccum);\n }\n for (var _b = 0, _c = Object.keys(current.options); _b < _c.length; _b++) {\n var key = _c[_b];\n if (current.options[key] === prev.options[key]) {\n continue;\n }\n changesAccum.options[utils_1.mergeNameParts(current.fullName, key)] = current.options[key];\n }\n compareTemplates(current, prev, changesAccum);\n}\nfunction compareTemplates(current, prev, changesAccum) {\n var currentTemplatesOptions = {};\n var currentTemplates = {};\n var prevTemplatesOptions = {};\n var prevTemplates = {};\n tree_1.buildTemplates(current, currentTemplatesOptions, currentTemplates);\n tree_1.buildTemplates(prev, prevTemplatesOptions, prevTemplates);\n appendRemovedValues(currentTemplatesOptions, prevTemplatesOptions, current.fullName, changesAccum.options);\n // TODO: support switching to default templates\n // appendRemovedValues(currentTemplates, prevTemplates, \"\", changesAccum.templates);\n for (var _i = 0, _a = Object.keys(currentTemplatesOptions); _i < _a.length; _i++) {\n var key = _a[_i];\n if (currentTemplatesOptions[key] === prevTemplatesOptions[key]) {\n continue;\n }\n changesAccum.options[utils_1.mergeNameParts(current.fullName, key)] = currentTemplatesOptions[key];\n }\n for (var _b = 0, _c = Object.keys(currentTemplates); _b < _c.length; _b++) {\n var key = _c[_b];\n var currentTemplate = currentTemplates[key];\n var prevTemplate = prevTemplates[key];\n if (prevTemplate && currentTemplate.content === prevTemplate.content) {\n continue;\n }\n changesAccum.templates[key] = currentTemplate;\n }\n}\nfunction appendRemovedValues(current, prev, path, changesAccum) {\n var removedKeys = Object.keys(prev).filter(function (key) { return Object.keys(current).indexOf(key) < 0; });\n for (var _i = 0, removedKeys_1 = removedKeys; _i < removedKeys_1.length; _i++) {\n var key = removedKeys_1[_i];\n changesAccum[utils_1.mergeNameParts(path, key)] = undefined;\n }\n}\nfunction compareCollections(current, prev, changesAccum) {\n var _loop_1 = function (key) {\n var currentCollection = current.configCollections[key];\n var prevCollection = prev.configCollections[key] || [];\n if (!currentCollection || currentCollection.length !== prevCollection.length) {\n var updatedCollection_1 = [];\n currentCollection.map(function (item) {\n var config = tree_1.buildNode(item, changesAccum.templates, true);\n updatedCollection_1.push(config);\n });\n changesAccum.options[utils_1.mergeNameParts(current.fullname, key)] = updatedCollection_1;\n return \"continue\";\n }\n for (var i = 0; i < currentCollection.length; i++) {\n compare(currentCollection[i], prevCollection[i], changesAccum);\n }\n };\n for (var _i = 0, _a = Object.keys(current.configCollections); _i < _a.length; _i++) {\n var key = _a[_i];\n _loop_1(key);\n }\n}\n","/*!\n * devextreme-react\n * Version: 19.1.6\n * Build date: Wed Sep 11 2019\n *\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar React = require(\"react\");\nvar config_1 = require(\"./config\");\nvar dx_template_1 = require(\"./dx-template\");\nfunction normalizeProps(props) {\n if (config_1.getOption(\"useLegacyTemplateEngine\")) {\n var model = props.data;\n if (model && model.hasOwnProperty(\"key\")) {\n model.dxkey = model.key;\n }\n return model;\n }\n return props;\n}\nvar contentCreators = {\n component: function (contentGetter) { return function (props) {\n props = normalizeProps(props);\n return React.createElement.bind(null, contentGetter())(props);\n }; },\n render: function (contentGetter) { return function (props) {\n normalizeProps(props);\n return contentGetter()(props.data, props.index);\n }; },\n children: function (contentGetter) { return function () { return contentGetter(); }; }\n};\nvar TemplatesManager = /** @class */ (function () {\n function TemplatesManager(templatesStore) {\n this._templates = {};\n this._templatesContent = {};\n this._templatesStore = templatesStore;\n }\n TemplatesManager.prototype.add = function (name, template) {\n var _this = this;\n this._templatesContent[name] = template.content;\n var contentCreator = contentCreators[template.type].bind(this, function () { return _this._templatesContent[name]; });\n this._templates[name] = dx_template_1.createDxTemplate(contentCreator, this._templatesStore, template.keyFn);\n };\n Object.defineProperty(TemplatesManager.prototype, \"templatesCount\", {\n get: function () {\n return Object.keys(this._templates).length;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(TemplatesManager.prototype, \"templates\", {\n get: function () {\n return this._templates;\n },\n enumerable: true,\n configurable: true\n });\n return TemplatesManager;\n}());\nexports.default = TemplatesManager;\n","/*!\n * devextreme-react\n * Version: 19.1.6\n * Build date: Wed Sep 11 2019\n *\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar config = {\n useLegacyTemplateEngine: false\n};\nfunction setOptions(options) {\n config = __assign({}, config, options);\n}\nfunction getOption(optionName) {\n return config[optionName];\n}\nexports.getOption = getOption;\nexports.default = setOptions;\n","/*!\n * devextreme-react\n * Version: 19.1.6\n * Build date: Wed Sep 11 2019\n *\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar React = require(\"react\");\nvar helpers_1 = require(\"./helpers\");\nvar template_wrapper_1 = require(\"./template-wrapper\");\nfunction createDxTemplate(createContentProvider, templatesStore, keyFn) {\n var renderedTemplates = new helpers_1.DoubleKeyMap();\n return {\n render: function (data) {\n var container = unwrapElement(data.container);\n var key = { key1: data.model, key2: container };\n var prevTemplateId = renderedTemplates.get(key);\n var templateId;\n if (prevTemplateId) {\n templateId = prevTemplateId;\n }\n else {\n templateId = keyFn ? keyFn(data.model) : \"__template_\" + helpers_1.generateID();\n if (data.model !== undefined) {\n renderedTemplates.set(key, templateId);\n }\n }\n templatesStore.add(templateId, function () {\n var props = {\n data: data.model,\n index: data.index\n };\n var contentProvider = createContentProvider();\n return React.createElement(template_wrapper_1.TemplateWrapper, {\n content: contentProvider(props),\n container: container,\n onRemoved: function () {\n templatesStore.remove(templateId);\n renderedTemplates.delete({ key1: data.model, key2: container });\n },\n onRendered: data.onRendered,\n key: templateId\n });\n });\n return container;\n }\n };\n}\nexports.createDxTemplate = createDxTemplate;\nfunction unwrapElement(element) {\n return element.get ? element.get(0) : element;\n}\n","/*!\n * devextreme-react\n * Version: 19.1.6\n * Build date: Wed Sep 11 2019\n *\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction generateID() {\n return Math.random().toString(36).substr(2);\n}\nexports.generateID = generateID;\nvar DoubleKeyMap = /** @class */ (function () {\n function DoubleKeyMap() {\n this._map = new Map();\n }\n DoubleKeyMap.prototype.set = function (_a, value) {\n var key1 = _a.key1, key2 = _a.key2;\n var innerMap = this._map.get(key1);\n if (!innerMap) {\n innerMap = new Map();\n this._map.set(key1, innerMap);\n }\n innerMap.set(key2, value);\n };\n DoubleKeyMap.prototype.get = function (_a) {\n var key1 = _a.key1, key2 = _a.key2;\n var innerMap = this._map.get(key1);\n return innerMap ? innerMap.get(key2) : undefined;\n };\n DoubleKeyMap.prototype.delete = function (_a) {\n var key1 = _a.key1, key2 = _a.key2;\n var innerMap = this._map.get(key1);\n if (!innerMap) {\n return;\n }\n innerMap.delete(key2);\n if (innerMap.size === 0) {\n this._map.delete(key1);\n }\n };\n return DoubleKeyMap;\n}());\nexports.DoubleKeyMap = DoubleKeyMap;\n","/*!\n * devextreme-react\n * Version: 19.1.6\n * Build date: Wed Sep 11 2019\n *\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar events = require(\"devextreme/events\");\nvar React = require(\"react\");\nvar ReactDOM = require(\"react-dom\");\nvar component_base_1 = require(\"./component-base\");\nvar TemplateWrapper = /** @class */ (function (_super) {\n __extends(TemplateWrapper, _super);\n function TemplateWrapper(props) {\n var _this = _super.call(this, props) || this;\n _this._removalListenerRef = React.createRef();\n return _this;\n }\n TemplateWrapper.prototype.render = function () {\n return ReactDOM.createPortal(React.createElement(React.Fragment, null, this.props.content, React.createElement(this.props.container.nodeName === \"TABLE\" ? \"tbody\" : \"span\", {\n style: { display: \"none\" },\n ref: this._removalListenerRef\n })), this.props.container);\n };\n TemplateWrapper.prototype.componentDidMount = function () {\n if (this.props.onRendered) {\n var onRendered_1 = this.props.onRendered;\n setTimeout(function () { return onRendered_1(); });\n }\n this._subscribeOnRemove();\n };\n TemplateWrapper.prototype.componentDidUpdate = function () {\n this._subscribeOnRemove();\n };\n TemplateWrapper.prototype.componentWillUnmount = function () {\n // Let React remove it itself\n var node = ReactDOM.findDOMNode(this);\n if (node) {\n this.props.container.appendChild(node);\n }\n this.props.container.appendChild(this._removalListenerRef.current);\n };\n TemplateWrapper.prototype._subscribeOnRemove = function () {\n var _this = this;\n var removalListener = this._removalListenerRef.current;\n if (!removalListener) {\n // T713245 (ref to removalListener is undefined under certain conditions)\n return;\n }\n events.one(removalListener, component_base_1.DX_REMOVE_EVENT, function () {\n _this.props.onRemoved();\n });\n };\n return TemplateWrapper;\n}(React.PureComponent));\nexports.TemplateWrapper = TemplateWrapper;\n","/*!\n * devextreme-react\n * Version: 19.1.6\n * Build date: Wed Sep 11 2019\n *\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar common_1 = require(\"devextreme/core/utils/common\");\nvar React = require(\"react\");\nvar TemplatesRenderer = /** @class */ (function (_super) {\n __extends(TemplatesRenderer, _super);\n function TemplatesRenderer() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._updateScheduled = false;\n return _this;\n }\n TemplatesRenderer.prototype.scheduleUpdate = function () {\n var _this = this;\n if (this._updateScheduled) {\n return;\n }\n this._updateScheduled = true;\n common_1.deferUpdate(function () {\n _this.forceUpdate();\n _this._updateScheduled = false;\n });\n };\n TemplatesRenderer.prototype.render = function () {\n return React.createElement(React.Fragment, {}, this.props.templatesStore.renderWrappers());\n };\n return TemplatesRenderer;\n}(React.PureComponent));\nexports.TemplatesRenderer = TemplatesRenderer;\n","/*!\n * devextreme-react\n * Version: 19.1.6\n * Build date: Wed Sep 11 2019\n *\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar TemplatesStore = /** @class */ (function () {\n function TemplatesStore(onTemplateAdded) {\n this._templates = {};\n this._onTemplateAdded = onTemplateAdded;\n }\n TemplatesStore.prototype.add = function (templateId, templateFunc) {\n this._templates[templateId] = templateFunc;\n this._onTemplateAdded();\n };\n TemplatesStore.prototype.remove = function (templateId) {\n delete this._templates[templateId];\n };\n TemplatesStore.prototype.renderWrappers = function () {\n var _this = this;\n return Object.getOwnPropertyNames(this._templates).map(function (templateId) { return _this._templates[templateId](); });\n };\n return TemplatesStore;\n}());\nexports.TemplatesStore = TemplatesStore;\n","/*!\n * devextreme-react\n * Version: 19.1.6\n * Build date: Wed Sep 11 2019\n *\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar React = require(\"react\");\nvar widget_config_1 = require(\"../../widget-config\");\nvar element_1 = require(\"./element\");\nvar utils_1 = require(\"../utils\");\nvar templates_1 = require(\"./templates\");\nfunction buildConfigTree(widgetDescriptor, props) {\n return createConfigNode({\n type: element_1.ElementType.Option,\n descriptor: __assign({ name: \"\", isCollection: false }, widgetDescriptor),\n props: props,\n }, \"\");\n}\nexports.buildConfigTree = buildConfigTree;\nfunction createConfigNode(element, path) {\n var fullName = element.descriptor.isCollection\n ? path\n : utils_1.mergeNameParts(path, element.descriptor.name);\n var separatedValues = widget_config_1.separateProps(element.props, element.descriptor.initialValuesProps, element.descriptor.templates);\n var childrenData = processChildren(element, fullName);\n for (var _i = 0, _a = element.descriptor.templates; _i < _a.length; _i++) {\n var templateMeta = _a[_i];\n var template = templates_1.getAnonymousTemplate(element.props, templateMeta, path.length > 0 ? childrenData.hasTranscludedContent : false);\n if (template) {\n childrenData.templates.push(template);\n }\n }\n return {\n fullName: fullName,\n predefinedOptions: element.descriptor.predefinedValuesProps,\n initialOptions: separatedValues.defaults,\n options: separatedValues.options,\n templates: childrenData.templates,\n configCollections: childrenData.configCollections,\n configs: childrenData.configs\n };\n}\nfunction processChildren(parentElement, parentFullName) {\n var templates = [];\n var configCollections = {};\n var configs = {};\n var hasTranscludedContent = false;\n React.Children.map(parentElement.props.children, function (child) {\n var element = element_1.getElementInfo(child, parentElement.descriptor.expectedChildren);\n if (element.type === element_1.ElementType.Unknown) {\n hasTranscludedContent = true;\n return;\n }\n if (element.type === element_1.ElementType.Template) {\n var template = templates_1.getNamedTemplate(element.props);\n if (template) {\n templates.push(template);\n }\n return;\n }\n if (element.descriptor.isCollection) {\n var collection = configCollections[element.descriptor.name];\n if (!collection) {\n collection = [];\n configCollections[element.descriptor.name] = collection;\n }\n var collectionItem = createConfigNode(element, utils_1.mergeNameParts(parentFullName, element.descriptor.name) + \"[\" + collection.length + \"]\");\n collection.push(collectionItem);\n return;\n }\n var configNode = createConfigNode(element, parentFullName);\n configs[element.descriptor.name] = configNode;\n });\n return {\n configs: configs,\n configCollections: configCollections,\n templates: templates,\n hasTranscludedContent: hasTranscludedContent\n };\n}\n","/*!\n * devextreme-react\n * Version: 19.1.6\n * Build date: Wed Sep 11 2019\n *\n * Copyright (c) 2012 - 2019 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction getAnonymousTemplate(props, templateMeta, hasTranscludedContent) {\n if (templateMeta.tmplOption === \"template\" && hasTranscludedContent) {\n return {\n optionName: templateMeta.tmplOption,\n isAnonymous: true,\n type: \"children\",\n content: props.children,\n keyFn: props[templateMeta.keyFn]\n };\n }\n if (props[templateMeta.render]) {\n return {\n optionName: templateMeta.tmplOption,\n isAnonymous: true,\n type: \"render\",\n content: props[templateMeta.render],\n keyFn: props[templateMeta.keyFn]\n };\n }\n if (props[templateMeta.component]) {\n return {\n optionName: templateMeta.tmplOption,\n isAnonymous: true,\n type: \"component\",\n content: props[templateMeta.component],\n keyFn: props[templateMeta.keyFn]\n };\n }\n return null;\n}\nexports.getAnonymousTemplate = getAnonymousTemplate;\nfunction getNamedTemplate(props) {\n if (!props.name) {\n return null;\n }\n if (props.component) {\n return {\n optionName: props.name,\n isAnonymous: false,\n type: \"component\",\n content: props.component,\n keyFn: props.keyFn\n };\n }\n if (props.render) {\n return {\n optionName: props.name,\n isAnonymous: false,\n type: \"render\",\n content: props.render,\n keyFn: props.keyFn\n };\n }\n return {\n optionName: props.name,\n isAnonymous: false,\n type: \"children\",\n content: props.children,\n keyFn: props.keyFn\n };\n}\nexports.getNamedTemplate = getNamedTemplate;\n","module.exports = Array.isArray || function (arr) {\n return Object.prototype.toString.call(arr) == '[object Array]';\n};\n","/** @license React v16.8.6\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';Object.defineProperty(exports,\"__esModule\",{value:!0});\nvar b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?Symbol.for(\"react.memo\"):\n60115,r=b?Symbol.for(\"react.lazy\"):60116;function t(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case h:return a;default:return u}}case r:case q:case d:return u}}}function v(a){return t(a)===m}exports.typeOf=t;exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;\nexports.Fragment=e;exports.Lazy=r;exports.Memo=q;exports.Portal=d;exports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||\"object\"===typeof a&&null!==a&&(a.$$typeof===r||a.$$typeof===q||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n)};exports.isAsyncMode=function(a){return v(a)||t(a)===l};exports.isConcurrentMode=v;exports.isContextConsumer=function(a){return t(a)===k};\nexports.isContextProvider=function(a){return t(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return t(a)===n};exports.isFragment=function(a){return t(a)===e};exports.isLazy=function(a){return t(a)===r};exports.isMemo=function(a){return t(a)===q};exports.isPortal=function(a){return t(a)===d};exports.isProfiler=function(a){return t(a)===g};exports.isStrictMode=function(a){return t(a)===f};\nexports.isSuspense=function(a){return t(a)===p};\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _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; };\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _Elements = require('./Elements');\n\nvar _Provider = require('./Provider');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n// react-redux does a bunch of stuff with pure components / checking if it needs to re-render.\n// not sure if we need to do the same.\nvar inject = function inject(WrappedComponent) {\n var _class, _temp;\n\n var componentOptions = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _componentOptions$wit = componentOptions.withRef,\n withRef = _componentOptions$wit === undefined ? false : _componentOptions$wit;\n\n\n return _temp = _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class(props, context) {\n _classCallCheck(this, _class);\n\n if (!context || !context.getRegisteredElements) {\n throw new Error('It looks like you are trying to inject Stripe context outside of an Elements context.\\nPlease be sure the component that calls createSource or createToken is within an component.');\n }\n\n var _this = _possibleConstructorReturn(this, _React$Component.call(this, props, context));\n\n _this.parseElementOrData = function (elementOrOptions) {\n return elementOrOptions && (typeof elementOrOptions === 'undefined' ? 'undefined' : _typeof(elementOrOptions)) === 'object' && elementOrOptions._frame && _typeof(elementOrOptions._frame) === 'object' && elementOrOptions._frame.id && typeof elementOrOptions._frame.id === 'string' && typeof elementOrOptions._componentName === 'string' ? { type: 'element', element: elementOrOptions } : { type: 'data', data: elementOrOptions };\n };\n\n _this.findElement = function (filterBy, specifiedType) {\n var allElements = _this.context.getRegisteredElements();\n var filteredElements = allElements.filter(function (e) {\n return e[filterBy];\n });\n var matchingElements = specifiedType === 'auto' ? filteredElements : filteredElements.filter(function (e) {\n return e[filterBy] === specifiedType;\n });\n\n if (matchingElements.length === 1) {\n return matchingElements[0].element;\n } else if (matchingElements.length > 1) {\n throw new Error('You did not specify the type of Source, Token, or PaymentMethod to create.\\n We could not infer which Element you want to use for this operation.');\n } else {\n return null;\n }\n };\n\n _this.requireElement = function (filterBy, specifiedType) {\n var element = _this.findElement(filterBy, specifiedType);\n if (element) {\n return element;\n } else {\n throw new Error('You did not specify the type of Source, Token, or PaymentMethod to create.\\n We could not infer which Element you want to use for this operation.');\n }\n };\n\n _this.wrappedCreateToken = function (stripe) {\n return function () {\n var tokenTypeOrOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (tokenTypeOrOptions && (typeof tokenTypeOrOptions === 'undefined' ? 'undefined' : _typeof(tokenTypeOrOptions)) === 'object') {\n // First argument is options; infer the Element and tokenize\n var opts = tokenTypeOrOptions;\n\n var tokenType = opts.type,\n rest = _objectWithoutProperties(opts, ['type']);\n\n var specifiedType = typeof tokenType === 'string' ? tokenType : 'auto';\n // Since only options were passed in, a corresponding Element must exist\n // for the tokenization to succeed -- thus we call requireElement.\n var element = _this.requireElement('impliedTokenType', specifiedType);\n return stripe.createToken(element, rest);\n } else if (typeof tokenTypeOrOptions === 'string') {\n // First argument is token type; tokenize with token type and options\n var _tokenType = tokenTypeOrOptions;\n return stripe.createToken(_tokenType, options);\n } else {\n // If a bad value was passed in for options, throw an error.\n throw new Error('Invalid options passed to createToken. Expected an object, got ' + (typeof tokenTypeOrOptions === 'undefined' ? 'undefined' : _typeof(tokenTypeOrOptions)) + '.');\n }\n };\n };\n\n _this.wrappedCreateSource = function (stripe) {\n return function () {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n if (options && (typeof options === 'undefined' ? 'undefined' : _typeof(options)) === 'object') {\n if (typeof options.type !== 'string') {\n throw new Error('Invalid Source type passed to createSource. Expected string, got ' + _typeof(options.type) + '.');\n }\n\n var element = _this.findElement('impliedSourceType', options.type);\n if (element) {\n // If an Element exists for the source type, use that to create the\n // corresponding source.\n //\n // NOTE: this prevents users from independently creating sources of\n // type `foo` if an Element that can create `foo` sources exists in\n // the current context.\n return stripe.createSource(element, options);\n } else {\n // If no Element exists for the source type, directly create a source.\n return stripe.createSource(options);\n }\n } else {\n // If a bad value was passed in for options, throw an error.\n throw new Error('Invalid options passed to createSource. Expected an object, got ' + (typeof options === 'undefined' ? 'undefined' : _typeof(options)) + '.');\n }\n };\n };\n\n _this.wrappedCreatePaymentMethod = function (stripe) {\n return function (paymentMethodType, elementOrData, maybeData) {\n if (paymentMethodType && (typeof paymentMethodType === 'undefined' ? 'undefined' : _typeof(paymentMethodType)) === 'object') {\n return stripe.createPaymentMethod(paymentMethodType);\n }\n\n if (!paymentMethodType || typeof paymentMethodType !== 'string') {\n throw new Error('Invalid PaymentMethod type passed to createPaymentMethod. Expected a string, got ' + (typeof paymentMethodType === 'undefined' ? 'undefined' : _typeof(paymentMethodType)) + '.');\n }\n\n var elementOrDataResult = _this.parseElementOrData(elementOrData);\n\n // Second argument is Element; use passed in Element\n if (elementOrDataResult.type === 'element') {\n var _element = elementOrDataResult.element;\n\n if (maybeData) {\n return stripe.createPaymentMethod(paymentMethodType, _element, maybeData);\n } else {\n return stripe.createPaymentMethod(paymentMethodType, _element);\n }\n }\n\n // Second argument is data or undefined; infer the Element\n var data = elementOrDataResult.data;\n\n var element = _this.findElement('impliedPaymentMethodType', paymentMethodType);\n\n if (element) {\n return data ? stripe.createPaymentMethod(paymentMethodType, element, data) : stripe.createPaymentMethod(paymentMethodType, element);\n }\n\n if (data && (typeof data === 'undefined' ? 'undefined' : _typeof(data)) === 'object') {\n return stripe.createPaymentMethod(paymentMethodType, data);\n } else if (!data) {\n throw new Error('Could not find an Element that can be used to create a PaymentMethod of type: ' + paymentMethodType + '.');\n } else {\n // If a bad value was passed in for data, throw an error.\n throw new Error('Invalid data passed to createPaymentMethod. Expected an object, got ' + (typeof data === 'undefined' ? 'undefined' : _typeof(data)) + '.');\n }\n };\n };\n\n _this.wrappedHandleCardX = function (stripe, method) {\n return function (clientSecret, elementOrData, maybeData) {\n if (!clientSecret || typeof clientSecret !== 'string') {\n // If a bad value was passed in for clientSecret, throw an error.\n throw new Error('Invalid PaymentIntent client secret passed to handleCardPayment. Expected string, got ' + (typeof clientSecret === 'undefined' ? 'undefined' : _typeof(clientSecret)) + '.');\n }\n\n var elementOrDataResult = _this.parseElementOrData(elementOrData);\n\n // Second argument is Element; handle with element\n if (elementOrDataResult.type === 'element') {\n var _element2 = elementOrDataResult.element;\n\n if (maybeData) {\n return stripe[method](clientSecret, _element2, maybeData);\n } else {\n return stripe[method](clientSecret, _element2);\n }\n }\n\n // Second argument is data or undefined; see if we can find a mounted Element\n // that can create card PaymentMethods\n var data = elementOrDataResult.data;\n\n var element = _this.findElement('impliedPaymentMethodType', 'card');\n\n if (element) {\n // If an Element exists that can create card PaymentMethods use it. Otherwise\n // assume that we must be calling with data only.\n //\n // NOTE: this prevents users from using handleCard* with an existing\n // Source or PaymentMethod if an Element that can create card PaymentMethods\n // exists in the current context.\n if (data) {\n return stripe[method](clientSecret, element, data);\n } else {\n return stripe[method](clientSecret, element);\n }\n } else if (data) {\n // if no element exists call handleCard* directly (with data)\n return stripe[method](clientSecret, data);\n } else {\n // if no element exists call handleCard* directly (with only the clientSecret)\n return stripe[method](clientSecret);\n }\n };\n };\n\n if (_this.context.tag === 'sync') {\n _this.state = {\n stripe: _this.stripeProps(_this.context.stripe)\n };\n } else {\n _this.state = {\n stripe: null\n };\n }\n return _this;\n }\n\n _class.prototype.componentDidMount = function componentDidMount() {\n var _this2 = this;\n\n if (this.context.tag === 'async') {\n this.context.addStripeLoadListener(function (stripe) {\n _this2.setState({\n stripe: _this2.stripeProps(stripe)\n });\n });\n } else {\n // when 'sync', it's already set in the constructor.\n }\n };\n\n _class.prototype.getWrappedInstance = function getWrappedInstance() {\n if (!withRef) {\n throw new Error('To access the wrapped instance, the `{withRef: true}` option must be set when calling `injectStripe()`');\n }\n return this.wrappedInstance;\n };\n\n _class.prototype.stripeProps = function stripeProps(stripe) {\n return _extends({}, stripe, {\n // These are the only functions that take elements.\n createToken: this.wrappedCreateToken(stripe),\n createSource: this.wrappedCreateSource(stripe),\n createPaymentMethod: this.wrappedCreatePaymentMethod(stripe),\n handleCardPayment: this.wrappedHandleCardX(stripe, 'handleCardPayment'),\n handleCardSetup: this.wrappedHandleCardX(stripe, 'handleCardSetup')\n });\n };\n\n // Finds an Element by the specified type, if one exists.\n // Throws if multiple Elements match.\n\n\n // Require that exactly one Element is found for the specified type.\n // Throws if no Element is found.\n\n\n // Wraps createToken in order to infer the Element that is being tokenized.\n\n\n // Wraps createSource in order to infer the Element that is being used for\n // source creation.\n\n\n // Wraps createPaymentMethod in order to infer the Element that is being\n // used for PaymentMethod creation.\n\n\n _class.prototype.render = function render() {\n var _this3 = this;\n\n return _react2.default.createElement(WrappedComponent, _extends({}, this.props, {\n stripe: this.state.stripe,\n elements: this.context.elements,\n ref: withRef ? function (c) {\n _this3.wrappedInstance = c;\n } : null\n }));\n };\n\n return _class;\n }(_react2.default.Component), _class.contextTypes = _extends({}, _Provider.providerContextTypes, _Elements.injectContextTypes), _class.displayName = 'InjectStripe(' + (WrappedComponent.displayName || WrappedComponent.name || 'Component') + ')', _temp;\n};\n\nexports.default = inject;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _isEqual = require('../utils/isEqual');\n\nvar _isEqual2 = _interopRequireDefault(_isEqual);\n\nvar _Elements = require('./Elements');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nvar noop = function noop() {};\n\nvar _extractOptions = function _extractOptions(props) {\n var id = props.id,\n className = props.className,\n onChange = props.onChange,\n onFocus = props.onFocus,\n onBlur = props.onBlur,\n onReady = props.onReady,\n options = _objectWithoutProperties(props, ['id', 'className', 'onChange', 'onFocus', 'onBlur', 'onReady']);\n\n return options;\n};\n\nvar capitalized = function capitalized(str) {\n return str.charAt(0).toUpperCase() + str.slice(1);\n};\n\nvar Element = function Element(type) {\n var _class, _temp;\n\n var hocOptions = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return _temp = _class = function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class(props, context) {\n _classCallCheck(this, _class);\n\n var _this = _possibleConstructorReturn(this, _React$Component.call(this, props, context));\n\n _this.handleRef = function (ref) {\n _this._ref = ref;\n };\n\n _this._element = null;\n\n var options = _extractOptions(_this.props);\n // We keep track of the extracted options on this._options to avoid re-rendering.\n // (We would unnecessarily re-render if we were tracking them with state.)\n _this._options = options;\n return _this;\n }\n\n _class.prototype.componentDidMount = function componentDidMount() {\n var _this2 = this;\n\n this.context.addElementsLoadListener(function (elements) {\n if (!_this2._ref) {\n return;\n }\n\n var element = elements.create(type, _this2._options);\n _this2._element = element;\n\n _this2._setupEventListeners(element);\n\n element.mount(_this2._ref);\n\n // Register Element for automatic token / source / paymentMethod creation\n _this2.context.registerElement(element, hocOptions.impliedTokenType, hocOptions.impliedSourceType, hocOptions.impliedPaymentMethodType);\n });\n };\n\n _class.prototype.componentDidUpdate = function componentDidUpdate() {\n var options = _extractOptions(this.props);\n if (Object.keys(options).length !== 0 && !(0, _isEqual2.default)(options, this._options)) {\n this._options = options;\n if (this._element) {\n this._element.update(options);\n }\n }\n };\n\n _class.prototype.componentWillUnmount = function componentWillUnmount() {\n if (this._element) {\n var element = this._element;\n element.destroy();\n this.context.unregisterElement(element);\n }\n };\n\n _class.prototype._setupEventListeners = function _setupEventListeners(element) {\n var _this3 = this;\n\n element.on('ready', function () {\n _this3.props.onReady(_this3._element);\n });\n\n element.on('change', function (change) {\n _this3.props.onChange(change);\n });\n\n element.on('blur', function () {\n var _props;\n\n return (_props = _this3.props).onBlur.apply(_props, arguments);\n });\n element.on('focus', function () {\n var _props2;\n\n return (_props2 = _this3.props).onFocus.apply(_props2, arguments);\n });\n };\n\n _class.prototype.render = function render() {\n return _react2.default.createElement('div', {\n id: this.props.id,\n className: this.props.className,\n ref: this.handleRef\n });\n };\n\n return _class;\n }(_react2.default.Component), _class.propTypes = {\n id: _propTypes2.default.string,\n className: _propTypes2.default.string,\n onChange: _propTypes2.default.func,\n onBlur: _propTypes2.default.func,\n onFocus: _propTypes2.default.func,\n onReady: _propTypes2.default.func\n }, _class.defaultProps = {\n id: undefined,\n className: undefined,\n onChange: noop,\n onBlur: noop,\n onFocus: noop,\n onReady: noop\n }, _class.contextTypes = _Elements.elementContextTypes, _class.displayName = capitalized(type) + 'Element', _temp;\n};\n\nexports.default = Element;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar PLAIN_OBJECT_STR = '[object Object]';\n\nvar isEqual = function isEqual(left, right) {\n if ((typeof left === 'undefined' ? 'undefined' : _typeof(left)) !== 'object' || (typeof right === 'undefined' ? 'undefined' : _typeof(right)) !== 'object') {\n return left === right;\n }\n\n if (left === null || right === null) return left === right;\n\n var leftArray = Array.isArray(left);\n var rightArray = Array.isArray(right);\n\n if (leftArray !== rightArray) return false;\n\n var leftPlainObject = Object.prototype.toString.call(left) === PLAIN_OBJECT_STR;\n var rightPlainObject = Object.prototype.toString.call(right) === PLAIN_OBJECT_STR;\n\n if (leftPlainObject !== rightPlainObject) return false;\n\n if (!leftPlainObject && !leftArray) return false;\n\n var leftKeys = Object.keys(left);\n var rightKeys = Object.keys(right);\n\n if (leftKeys.length !== rightKeys.length) return false;\n\n var keySet = {};\n for (var i = 0; i < leftKeys.length; i += 1) {\n keySet[leftKeys[i]] = true;\n }\n for (var _i = 0; _i < rightKeys.length; _i += 1) {\n keySet[rightKeys[_i]] = true;\n }\n var allKeys = Object.keys(keySet);\n if (allKeys.length !== leftKeys.length) {\n return false;\n }\n\n var l = left;\n var r = right;\n var pred = function pred(key) {\n return isEqual(l[key], r[key]);\n };\n\n return allKeys.every(pred);\n};\n\nexports.default = isEqual;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _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; };\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _shallowEqual = require('../utils/shallowEqual');\n\nvar _shallowEqual2 = _interopRequireDefault(_shallowEqual);\n\nvar _Elements = require('./Elements');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nvar noop = function noop() {};\n\nvar _extractOptions = function _extractOptions(props) {\n var id = props.id,\n className = props.className,\n onBlur = props.onBlur,\n onClick = props.onClick,\n onFocus = props.onFocus,\n onReady = props.onReady,\n paymentRequest = props.paymentRequest,\n options = _objectWithoutProperties(props, ['id', 'className', 'onBlur', 'onClick', 'onFocus', 'onReady', 'paymentRequest']);\n\n return options;\n};\n\nvar PaymentRequestButtonElement = function (_React$Component) {\n _inherits(PaymentRequestButtonElement, _React$Component);\n\n function PaymentRequestButtonElement(props, context) {\n _classCallCheck(this, PaymentRequestButtonElement);\n\n var _this = _possibleConstructorReturn(this, _React$Component.call(this, props, context));\n\n _this.handleRef = function (ref) {\n _this._ref = ref;\n };\n\n var options = _extractOptions(props);\n // We keep track of the extracted options on this._options to avoid re-rendering.\n // (We would unnecessarily re-render if we were tracking them with state.)\n _this._options = options;\n return _this;\n }\n\n PaymentRequestButtonElement.prototype.componentDidMount = function componentDidMount() {\n var _this2 = this;\n\n this.context.addElementsLoadListener(function (elements) {\n _this2._element = elements.create('paymentRequestButton', _extends({\n paymentRequest: _this2.props.paymentRequest\n }, _this2._options));\n _this2._element.on('ready', function () {\n _this2.props.onReady(_this2._element);\n });\n _this2._element.on('focus', function () {\n var _props;\n\n return (_props = _this2.props).onFocus.apply(_props, arguments);\n });\n _this2._element.on('click', function () {\n var _props2;\n\n return (_props2 = _this2.props).onClick.apply(_props2, arguments);\n });\n _this2._element.on('blur', function () {\n var _props3;\n\n return (_props3 = _this2.props).onBlur.apply(_props3, arguments);\n });\n _this2._element.mount(_this2._ref);\n });\n };\n\n PaymentRequestButtonElement.prototype.componentDidUpdate = function componentDidUpdate(prevProps) {\n if (this.props.paymentRequest !== prevProps.paymentRequest) {\n console.warn('Unsupported prop change: paymentRequest is not a customizable property.');\n }\n var options = _extractOptions(this.props);\n if (Object.keys(options).length !== 0 && !(0, _shallowEqual2.default)(options, this._options)) {\n this._options = options;\n this._element.update(options);\n }\n };\n\n PaymentRequestButtonElement.prototype.componentWillUnmount = function componentWillUnmount() {\n this._element.destroy();\n };\n\n PaymentRequestButtonElement.prototype.render = function render() {\n return _react2.default.createElement('div', {\n id: this.props.id,\n className: this.props.className,\n ref: this.handleRef\n });\n };\n\n return PaymentRequestButtonElement;\n}(_react2.default.Component);\n\nPaymentRequestButtonElement.propTypes = {\n id: _propTypes2.default.string,\n className: _propTypes2.default.string,\n onBlur: _propTypes2.default.func,\n onClick: _propTypes2.default.func,\n onFocus: _propTypes2.default.func,\n onReady: _propTypes2.default.func,\n paymentRequest: _propTypes2.default.shape({\n canMakePayment: _propTypes2.default.func.isRequired,\n on: _propTypes2.default.func.isRequired,\n show: _propTypes2.default.func.isRequired\n }).isRequired\n};\nPaymentRequestButtonElement.defaultProps = {\n id: undefined,\n className: undefined,\n onBlur: noop,\n onClick: noop,\n onFocus: noop,\n onReady: noop\n};\nPaymentRequestButtonElement.contextTypes = _Elements.elementContextTypes;\nexports.default = PaymentRequestButtonElement;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar shallowEqual = function shallowEqual(a, b) {\n var keysA = Object.keys(a);\n var keysB = Object.keys(b);\n\n return keysA.length === keysB.length && keysA.every(function (key) {\n return b.hasOwnProperty(key) && b[key] === a[key];\n });\n};\n\nexports.default = shallowEqual;"],"sourceRoot":""}