{"version":3,"sources":["../node_modules/devextreme/events/index.js","../node_modules/devextreme/events/gesture/emitter.gesture.js","../node_modules/devextreme/events/swipe.js","../node_modules/devextreme/exporter.js","../node_modules/devextreme/events/click.js","../node_modules/devextreme/file_management/utils.js","../node_modules/devextreme/file_management/errors.js","../node_modules/devextreme/events/pointer.js","../node_modules/devextreme/events/core/event_registrator_callbacks.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/exporter/excel_format_converter.js","../node_modules/devextreme/exporter/excel/excel.fill_helper.js","../node_modules/devextreme/exporter/excel/excel.color_helper.js","../node_modules/devextreme/exporter/excel/excel.font_helper.js","../node_modules/devextreme/exporter/image_creator.js","../node_modules/devextreme/file_management/file_system_item.js","../node_modules/devextreme/events/core/hook_touch_props.js","../node_modules/devextreme/events/utils/add_namespace.js","../node_modules/devextreme/events/utils/event_nodes_disposing.js","../node_modules/devextreme/events/pointer/mspointer.js","../node_modules/devextreme/events/pointer/mouse_and_touch.js","../node_modules/devextreme/events/core/keyboard_processor.js","../node_modules/devextreme/exporter/excel_creator.js","../node_modules/devextreme/exporter/excel/excel.file.js","../node_modules/devextreme/exporter/excel/excel.cell_format_helper.js","../node_modules/devextreme/exporter/excel/excel.cell_alignment_helper.js","../node_modules/devextreme/exporter/excel/excel.pattern_fill_helper.js","../node_modules/devextreme/exporter/excel/excel.number_format_helper.js","../node_modules/devextreme/exporter/svg_creator.js","../node_modules/devextreme/exporter/pdf_creator.js","../node_modules/devextreme/events/transform.js","../node_modules/devextreme/file_management/object_provider.js","../node_modules/devextreme/file_management/remote_provider.js","../node_modules/devextreme/file_management/custom_provider.js","../node_modules/devextreme/events/visibility_change.js","../node_modules/devextreme/format_helper.js","../node_modules/devextreme/events/drag.js","../node_modules/devextreme/events/core/event_registrator.js","../node_modules/devextreme/events/hold.js","../node_modules/devextreme/exporter/excel/excel.tag_helper.js","../node_modules/devextreme/events/core/emitter_registrator.js","../node_modules/devextreme/events/core/wheel.js","../node_modules/devextreme/events/short.js","../node_modules/devextreme/events/core/emitter.feedback.js","../node_modules/devextreme/events/gesture/swipeable.js","../node_modules/devextreme/events/core/events_engine.js","../node_modules/devextreme/events/core/emitter.js","../node_modules/devextreme/events/utils/index.js","../node_modules/devextreme/events/pointer/base.js","../node_modules/devextreme/events/hover.js","../node_modules/devextreme/events/contextmenu.js","../node_modules/devextreme/exporter/file_saver.js","../node_modules/devextreme/events/double_click.js","../node_modules/devextreme/file_management/provider_base.js"],"names":["exports","triggerHandler","trigger","one","on","off","Event","obj","_events_engine","require","__esModule","default","_renderer","_interopRequireDefault","_devices","_style","_call_once","_dom","_ready_callbacks","_math","_common","_type","_index","_emitter","ready","add","abs","Math","TOUCH_BOUNDARY","setGestureCover","isDesktop","real","deviceType","styleProp","noop","$cover","addClass","css","subscribeGlobal","e","preventDefault","appendTo","toggle","cursor","GestureEmitter","inherit","gesture","configure","data","this","getElement","immediate","callBase","allowInterruptionByMouseWheel","_stage","getDirection","direction","_cancel","apply","arguments","_toggleGestureCover","start","_needSkipEvent","needSkipEvent","_startEvent","createEvent","_startEventData","eventData","_init","_setupImmediateTimer","clearTimeout","_immediateTimer","_immediateAccepted","setTimeout","bind","move","_directionConfirmed","_resetActiveElement","_clearSelection","_adjustStartEvent","_start","_requestAccept","_move","_forgetAccept","touchBoundary","_getTouchBoundary","delta","eventDelta","deltaX","x","deltaY","y","horizontalMove","_validateMove","verticalMove","mainAxis","crossAxis","isDxMouseWheelEvent","pageX","sign","pageY","platform","find","length","resetActiveElement","_toggleGestureCoverImpl","gestureCoverStrategy","gestureCover","isTouchEvent","clearSelection","end","_end","_stop","dispose","initialTouchBoundary","newBoundary","isDefined","_default","module","swipe","_emitter_registrator","STRATEGIES","horizontal","defaultItemSizeFunc","width","getBounds","_maxLeftOffset","_maxRightOffset","calcOffsetRatio","_savedEventData","_itemSizeFunc","call","isFastSwipe","endEventData","FAST_SWIPE_SPEED_LIMIT","_tickData","time","vertical","height","_maxTopOffset","_maxBottomOffset","SwipeEmitter","TICK_INTERVAL","ctor","element","elastic","_getStrategy","_defaultItemSizeFunc","itemSizeFunc","_fireEvent","cancel","maxLeftOffset","maxRightOffset","maxTopOffset","maxBottomOffset","strategy","moveEventData","offset","_fitOffset","offsetRatio","isFast","startOffset","targetOffset","_calcTargetOffset","bounds","result","ceil","round","emitter","events","excel","export","options","getData","_deferred","Deferred","resolve","exportingAction","exportedAction","fileSavingAction","eventArgs","fileName","format","isFunction","then","blob","_file_saver","fileSaver","saveAs","proxyUrl","forceProxy","Object","defineProperty","enumerable","get","svg","pdf","image","_excel_creator","_image_creator","_svg_creator","_excel_format_converter","_pdf_creator","creator","ExcelCreator","formatConverter","imageCreator","testFormats","svgCreator","name","_dom_adapter","_frame","_event_nodes_disposing","_pointer","_version","isInput","is","misc","requestAnimationFrame","cancelAnimationFrame","ClickEmitter","_makeElementClickable","$element","attr","_blurPrevented","isDefaultPrevented","_startTarget","target","_eventOutOfElement","type","_accept","_clickAnimationFrame","_fireClickEvent","targetChanged","contains","gestureDelta","boundsExceeded","closestCommonParent","realDevice","useNativeClick","generic","ios","compare","version","android","isNativeClickEvent","closest","prevented","lastFiredEvent","onNodeRemove","clickHandler","originalEvent","eventAlreadyFired","DXCLICK_FIRED","which","unsubscribeNodesDisposing","subscribeNodesDisposing","fireEvent","useNative","startTarget","blurPrevented","document","getDocument","addNamespace","down","$target","bubble","pathCombine","getPathParts","getParentPath","getName","getFileExtension","getEscapedFileName","PATH_SEPARATOR","_iterator","path","index","lastIndexOf","substr","includeFullPath","pathPart","i","char","charAt","nextChar","push","_i","replace","each","_","arg","NoAccess","FileExists","FileNotFound","DirectoryExists","DirectoryNotFound","WrongFileExtension","MaxFileSizeExceeded","InvalidSymbols","Other","_typeof","Symbol","iterator","constructor","prototype","support","nodeInterop","cache","_getRequireWildcardCache","has","newObj","hasPropertyDescriptor","getOwnPropertyDescriptor","key","hasOwnProperty","desc","set","_interopRequireWildcard","_browser","_event_registrator","_touch","_mspointer","_mouse","_mouse_and_touch","WeakMap","cacheBabelInterop","cacheNodeInterop","EventStrategy","device","browser","pointerEvents","msie","tablet","phone","touch","getStrategy","map","pointerEvent","originalEvents","up","enter","leave","over","out","_extend","_base","normalizeTouchEvent","pointers","touches","extend","pointerId","identifier","changedTouches","skipTouchWithSameIdentifier","TouchStrategy","_pointerId","_handler","_eventName","args","dxpointerdown","dxpointermove","dxpointerup","dxpointercancel","dxpointerover","dxpointerout","dxpointerenter","dxpointerleave","normalize","addEventsListener","handler","split","forEach","event","listen","eventMap","pointerEquals","onPointerAdding","getPointerIndex","pointer","removePointer","splice","reset","_observer","observer","normalizeMouseEvent","activated","activateStrategy","MouseStrategy","activate","resetObserver","_string","_number","_date","_date2","_language_codes","DEFINED_NUMBER_FORMTATS","thousands","millions","billions","trillions","percent","decimal","fixedpoint","exponential","currency","PERIOD_REGEXP","DAY_REGEXP","DO_REGEXP","STANDALONE_MONTH_REGEXP","HOUR_REGEXP","ANY_REGEXP","excelFormatConverter","_applyPrecision","precision","_hasArabicDigits","text","code","charCodeAt","ARABIC_ZERO_CODE","_convertDateFormatToOpenXml","join","datePart","_convertDateFormat","formattedValue","Date","toString","getFormat","value","_getLanguageInfo","defaultPattern","languageID","getLanguageId","languageIDStr","languageInfo","_convertNumberFormat","excelFormat","getOpenXmlCurrencyFormat","toLowerCase","convertFormat","isString","_excel","_excel2","fillHelper","tryCreateTag","sourceObj","patternFill","isEmpty","tryCreateFillFromSimpleFormat","_ref","backgroundColor","fillPatternType","fillPatternColor","patternType","foregroundColor","rgb","copySimpleFormat","source","copy","areEqual","leftTag","rightTag","tag","toXml","colorHelper","_tryConvertColor","colorCode","theme","tagName","fontHelper","size","family","scheme","bold","italic","underline","color","content","val","formats","canvas","createCanvas","reduce","r","f","mimeType","toDataURL","indexOf","supported","unsupported","_color","_svg","_window","_inflector","parseAttributes","window","getWindow","PI","_min","min","_abs","_sqrt","sqrt","_pow","pow","_atan2","atan2","_cos","cos","_sin","sin","Number","margin","hidden","arcTo","x1","y1","x2","y2","radius","largeArcFlag","clockwise","context","cBx","cBy","aB","k","opSide","adjSide","centerX","centerY","startAngle","endAngle","arc","getElementOptions","rootAppended","coords","attributes","textContent","textAlign","transform","match","translateX","translateY","rotationAngle","rotationX","rotationY","scaleX","scaleY","field","style","camelize","isElementNode","getComputedStyle","prop","textDecoration","textDecorationLine","globalAlpha","opacity","parseStyles","parseUrl","urlString","matches","setFontStyle","fontParams","fontSize","fontFamily","fill","fontStyle","fontWeight","font","fillStyle","drawText","shared","applyFilter","fillText","strokeElement","textWidth","measureText","textHeight","parseInt","lineHeight","rect","fillElement","drawTextDecoration","hasTspan","nodes","childNodes","drawElement","parentOptions","isText","isImage","visibility","promise","save","transformElement","clipElement","strokeOpacity","fillOpacity","aggregateOpacity","beginPath","drawTextElement","line","lines","elementOptions","mergedOptions","elements","widths","offsets","dy","parseFloat","commonWidth","xDiff","currentOffset","o","d","Image","onload","drawImage","restore","onerror","setAttribute","src","href","dAttr","params","prevParams","prevParamsLen","dArray","filter","item","trim","moveTo","j","lineTo","bezierCurveTo","closePath","drawPath","cornerRadius","rx","translate","drawRect","cx","cy","gradients","id","box","getBBox","gradient","createLinearGradient","opt","addColorStop","stopColor","applyGradient","filterOptions","filters","offsetX","offsetY","blur","shadowOffsetX","shadowOffsetY","shadowColor","shadowBlur","rotate","isFinite","scale","clipPaths","clip","createFilter","node","stdDeviation","dx","hexColor","alpha","g","b","hex2rgba","drawCanvasElements","asyncEach","array","callback","isPromise","Array","slice","onDone","patterns","_ref2","createGradient","stroke","setLineDash","lineJoin","lineWidth","strokeStyle","strokeText","search","pattern","patternCanvas","patternContext","getContext","createPattern","getPattern","convertSvgToCanvas","getCanvasFromSvg","markup","_ref3","pixelRatio","_ref3$svgToCanvas","svgToCanvas","setTransform","invisibleDiv","svgElem","getSvgElement","markupIsDomElement","getBody","appendChild","createElement","left","position","createInvisibleDiv","dir","fillRect","drawBackground","fromPromise","always","removeChild","newAttributes","getImageData","__parseAttributesFn","dataURL","atob","substring","getStringFromCanvas","that","binaryData","Blob","_getBlob","_getBase64","dataArray","Uint8Array","buffer","btoa","_utils","_toConsumableArray","arr","isArray","_arrayLikeToArray","_arrayWithoutHoles","iter","from","_iterableToArray","minLen","n","test","_unsupportedIterableToArray","TypeError","_nonIterableSpread","len","arr2","FileSystemItem","_publicCtor","_internalCtor","_proto","pathInfo","isDirectory","parentPath","_getPathByPathInfo","relativeName","getFullPathInfo","pathKeys","isRoot","_initialize","parts","part","pathInfoPart","dateModified","thumbnail","tooltipText","equals","createClone","hasSubDirectories","dataItem","escape","info","touchPropsToHook","touchPropHook","_errors","eventNames","namespace","Error","eventName","concat","nodesByEvent","delegateTarget","relatedTarget","currentTarget","a","isPrimary","MsPointerStrategy","MouseAndTouchStrategy","EVENT_LOCK_TIMEOUT","isMouse","isMouseEvent","_skipNextEvents","_mouseLocked","_unlockMouseTimer","normalizer","_class","_array","_keydown","_compositionStart","_compositionEnd","_this","_element","focusTarget","_focusTarget","_processFunction","isNotFocusTarget","inArray","shouldSkipProcessing","_isComposingJustFinished","_isComposing","process","_toggleProcessingWithContext","toggleProcessing","keyName","normalizeKeyName","ctrl","ctrlKey","location","metaKey","shift","shiftKey","alt","altKey","excelCreator","_checkZipState","_ui","_jszip","XML_TAG","OPEN_XML_FORMAT_URL","VALID_TYPES","date","number","string","EXCEL_START_TIME","UTC","UNSUPPORTED_FORMAT_MAPPING","quarter","quarterAndYear","minute","millisecond","_getXMLTag","_convertToExcelCellRef","zeroBasedRowIndex","zeroBasedCellIndex","charCode","isCellIndexFound","columnName","String","fromCharCode","floor","_convertToExcelCellRefAndTrackMaxIndex","rowIndex","cellIndex","_maxRowIndex","_maxColumnIndex","_getDataType","dataType","_tryGetExcelCellDataType","object","isDate","isBoolean","boolean","_formatObjectConverter","isObject","formatter","_tryConvertToExcelNumberFormat","newFormat","_appendString","encodeHtml","_stringHash","_stringArray","_tryGetExcelDateValue","days","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","_prepareValue","sourceValue","dataProvider","_dataProvider","cellSourceData","getCellData","getCellType","_callCustomizeExcelCell","sourceData","styleCopy","copyCellFormat","numberFormat","clearStyle","horizontalAlignment","verticalAlignment","wrapTextEnabled","alignment","wrapText","customizeExcelCell","newStyle","_getDataArray","cellsArray","cellData","cellsLength","rowsLength","getRowsCount","columns","getColumns","styleArrayIndex","getStyleId","cellStyleId","_styleArrayIndexToCellStyleIdMap","hasCustomizeExcelCell","modifiedExcelCell","_styleArray","cellDataType","newValue","excelDateValue","_excelFile","registerCellFormat","_needSheetPr","getGroupLevel","_calculateWidth","pixelsWidth","_prepareStyleData","styles","getStyles","column","_colsArray","fonts","registerFont","_prepareCellData","_cellsArray","_createXMLRelationships","xmlRelationships","_createXMLRelationship","_getWorkbookContent","_getContentTypesContent","_generateStylesXML","folder","_zip","XML","generateNumberFormatsXml","generateFontsXml","generateFillsXml","generateCellFormatsXml","file","_generateStringsXML","stringIndex","stringsLength","sharedStringXml","_getPaneXML","frozenArea","getFrozenArea","_getAutoFilterXML","maxCellIndex","_options","autoFilterEnabled","getHeaderRowCount","_getIgnoredErrorsXML","ignoreErrors","_generateWorksheetXML","colIndex","xmlCells","xmlRows","colsLength","rSpans","headerRowCount","xmlResult","_rtlEnabled","rightBottomCellRef","_generateMergingXML","l","mergeIndex","columnsLength","usedArea","mergeArray","mergeXML","cellMerge","getCellMerging","colspan","rowspan","mergeArrayLength","_generateCommonXML","relsFileContent","relsXML","WORKBOOK_FILE_NAME","_generateContent","_generateWorkXML","rtlEnabled","JSZip","isBlob","compression","MIME_TYPES","EXCEL","deferred","generateAsync","generate","_excel3","_excel4","_excel5","ExcelFile","_cellFormatTags","_fillTags","_fontTags","_numberFormatTags","cellFormat","cellFormatTag","registerFill","registerNumberFormat","cellFormatTagsAsXmlStringsArray","count","fillTag","tagsAsXmlStringsArray","fontTag","xmlStringsArray","_convertNumberFormatIndexToId","ID_PROPERTY_NAME","cellFormatHelper","sharedItemsContainer","numberFormatId","fontId","fillId","applyNumberFormat","isAlignmentEmpty","xfId","applyAlignment","numFmtId","cellAlignmentHelper","patternFillHelper","numberFormatHelper","formatCode","_ajax","_markup","_imageArray","_imageDeferreds","_getBinaryFile","sendRequest","url","method","responseType","done","fail","_loadImages","response","binary","bytes","byteLength","_parseImages","_prepareImages","when","$svgObject","getSvgMarkup","dataURI","regexpString","RegExp","imageString","curDate","widthPt","toFixed","heightPt","mainPage","xref","mainPageLength","contentLength","infoLength","pad","mainContent","trailer","composePdfString","getBlob","getBase64","str","zoomstart","zoomend","zoom","translatestart","translateend","transformstart","transformend","rotatestart","rotateend","pinchstart","pinchend","pinch","iteratorUtils","START_POSTFIX","UPDATE_POSTFIX","END_POSTFIX","eventAliases","addAlias","deltaScale","rotation","deltaRotation","translation","deltaTranslation","getEventVector","first","second","getDistance","vector","getScale","firstVector","secondVector","getRotation","scalarProduct","distanceProduct","acos","fitIntoRange","getTranslation","TransformEmitter","validatePointers","hasTouches","startVector","_startVector","_prevVector","_fireEventAliases","currentVector","_getEventArgs","eventPostfix","eventAlias","exportNames","_data","_guid","_provider_base","_errors2","_setPrototypeOf","p","setPrototypeOf","__proto__","_FileSystemProviderBa","subClass","superClass","ObjectFileSystemProvider","ensureDefined","initialArray","errors","itemsExpr","_subFileItemsGetter","compileGetter","_subFileItemsSetter","_getSetter","contentExpr","_contentGetter","_contentSetter","nameExpr","_getNameExpr","_nameSetter","isDirExpr","_getIsDirExpr","_getIsDirSetter","keyExpr","_getKeyExpr","_keySetter","sizeExpr","_getSizeExpr","_sizeSetter","dateModifiedExpr","_getDateModifiedExpr","_dateModifiedSetter","create","getItems","parentDir","_this2","_executeActionAsDeferred","_getItems","renameItem","_this3","_renameItemCore","_findDataObject","_ensureDataObjectKey","createDirectory","_this4","_validateDirectoryExists","_createDataObject","deleteItems","items","_this5","_deleteItem","moveItems","destinationDir","_this6","destinationDataItem","_getDirectoryDataItems","_checkAbilityToMoveOrCopyItem","copyItems","_this7","copiedItem","_createCopy","uploadFileChunk","fileData","chunksInfo","destinationDirectory","_this8","chunkIndex","customData","reader","_createFileReader","readAsDataURL","dataObj","lastModifiedDate","error","reject","downloadItems","_downloadSingleFile","_downloadMultipleFiles","_getFileContent","byteString","arrayBuffer","ArrayBuffer","files","_this9","zip","getJSZip","base64","directoryInfo","_isFileItemExists","_isDirGetter","fileItem","errorId","_this10","itemKey","_getKeyFromDataObject","currentPath","_getDataObjectKey","parentDataItem","_this11","copyObj","_nameGetter","itemsCopy","childItem","childCopy","parentDirDataObj","_findFileItemObj","directoryDataObj","dataItems","parentDirKey","dirFileObjects","directoryEntry","_ensureKeysForDuplicateNameItems","_convertDataObjectsToFileItems","dataObjects","_this12","names","_this13","fileItemObj","fileItemObjects","_loop","hasCorrectFileItemType","defaultKeyPrefix","_keyGetter","_hasSubDirs","subItems","expr","compileSetter","FileReader","RemoteFileSystemProvider","_endpointUrl","endpointUrl","_hasSubDirsGetter","hasSubDirectoriesExpr","_getEntriesByPath","_executeRequest","sourcePathInfo","sourceIsDirectory","destinationPathInfo","destinationFolder","uploadId","chunkMetadata","JSON","stringify","UploadId","FileName","Index","TotalCount","chunkCount","FileSize","formData","FormData","append","chunkBlob","upload","onprogress","onloadstart","onabort","success","abortFileUpload","_getDownloadArgs","$form","display","action","remove","getItemsContent","command","pathInfoList","argsStr","_getItemsIds","it","_getEndpointUrl","queryString","_getQueryString","separator","pairs","keys","_processQueryStringArrayParam","pair","_getQueryStringPair","encodeURIComponent","hasSubDirs","CustomFileSystemProvider","_getItemsFunction","_ensureFunction","_renameItemFunction","_createDirectoryFunction","_deleteItemFunction","deleteItem","_moveItemFunction","moveItem","_copyItemFunction","copyItem","_uploadFileChunkFunction","_abortFileUploadFunction","_downloadItemsFunction","_getItemsContentFunction","functionObject","defaultFunction","triggerShownEvent","triggerResizeEvent","triggerHidingEvent","triggerVisibilityChangeEvent","changeHandlers","_dependency_injector","_format","formatIsValid","isPlainObject","valueIsValid","isNumeric","getTimeFormat","showSecond","_normalizeFormat","formatPart","getDateFormatByDifferences","dateDifferences","intervalFormat","resultFormat","needSpecialSecondFormatter","year","month","day","getMilliseconds","hour","unshift","getMonthNames","getDateFormatByTicks","ticks","maxDiff","currentDiff","getDatesDifferences","getDateFormatByTickInterval","startValue","endValue","tickInterval","dateUnitInterval","correctDateDifferences","differences","minDate","maxDate","getDateUnitInterval","week","drop","_element_data","DRAG_ENTER_EVENT","DRAG_LEAVE_EVENT","DROP_EVENT","knownDropTargets","knownDropTargetSelectors","knownDropTargetConfigs","dropTargetRegistration","setup","handleObj","updateEventsCounter","selector","eventsCount","max","teardown","removeData","DragEmitter","_initEvent","dropTargets","wrapToArray","targetElements","_dropTargets","dragOffset","_calculateOffset","_processDropTargets","_cancelPreventDefault","_calculateXOffset","_calculateYOffset","minOffset","maxOffset","_findDropTarget","_currentDropTarget","_fireDropTargetEvent","draggingElement","_$element","_checkDropTargetActive","dropTargetIndex","dropTargetSelectors","$delegatedTargets","getItemDelegatedTargets","delegatedTarget","$delegatedTarget","_checkDropTarget","getItemConfig","active","activeTarget","config","$prevTarget","dropTargetConfig","targetPosition","itemPositionFunc","top","targetSize","getBoundingClientRect","getItemSize","checkDropTarget","_event_registrator_callbacks","registerEvent","eventObject","noBubble","bindType","delegateType","methodName","fire","callbacks","HoldEmitter","_startTimer","holdTimeout","timeout","_holdTimer","_touchWasMoved","_stopTimer","attributeName","attributeValue","_wheel","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","validate","addCancelCallback","addAcceptCallback","emitters","parent","acceptedEmitter","_cancelEmitter","canceledEmitter","removeCancelCallback","removeAcceptCallback","emitterIndex","_allowInterruptionByMouseWheel","_adjustWheelEvent","allowInterruption","closestGestureEmitter","verticalGestureDirection","isActive","emitterConfig","emitterClass","emitterName","emitterEvents","subscriptions","delegateSelector","disposeEmitter","wheel","_wheelHandler","_e$originalEvent","deltaMode","deltaZ","_normalizeDelta","pointerType","stopPropagation","resize","keyboard","hover","focus","dxClick","click","_keyboard_processor","executeAction","execute","$el","inactive","opts","showTimeout","hideTimeout","_ref4","_ref5","shown","hiding","_ref6","_ref7","focusIn","focusOut","_ref8","isFocusable","hasDocumentProperty","_ref9","_ref10","_ref11","_ref12","_ref13","keyboardProcessors","listenerId","_getProcessor","lock","activeFeedback","FeedbackEvent","_timeout","_fire","_schedule","force","fn","stop","_timer","_fired","fired","FeedbackEmitter","_active","_inactive","activeTimeout","inactiveTimeout","activeChildExists","childJustActivated","_initEvents","eventTarget","_getEmitterTarget","mouseEvent","deferFeedback","isSimulator","skipTimers","lockInactive","_swipe","_dom_component","_public_component","ACTION_TO_EVENT_MAP","onStart","onUpdated","onEnd","onCancel","Swipeable","_getDefaultOptions","_render","_attachEventHandlers","_detachEventHandlers","option","NAME","_createEventData","actionName","_createActionByOption","_eventData","_optionChanged","_useTemplates","_callbacks","_weak_map","_hook_touch_props","_extends","assign","NATIVE_EVENTS_TO_SUBSCRIBE","mouseenter","mouseleave","pointerenter","pointerleave","NATIVE_EVENTS_TO_TRIGGER","focusin","focusout","NO_BUBBLE_EVENTS","forcePassiveFalseEventNames","matchesSafe","isWindow","nodeName","elementMatches","skipEvent","elementDataMap","guid","special","specialData","getField","callMethod","eventsEngine","getHandler","normalizeOnArguments","iterate","getHandlersController","addHandler","oneTimeHandler","removeHandler","normalizeTriggerArguments","extraParameters","handlersController","callHandlers","isPropagationStopped","parents","getParents","parentNode","nodeType","nativeMethodName","localName","isLinkClickEvent","callNativeMethod","applyForEach","isNode","itemArgs","itemElement","passiveEventHandlersSupported","isSupported","addEventListener","elementData","eventNameParts","namespaces","eventNameIsDefined","handleObjects","nativeHandler","callHandler","secondaryTargetIsInside","handlerArgs","container","compareDocumentPosition","DOCUMENT_POSITION_CONTAINS","handleObject","wrappedHandler","nativeListenerOptions","subscribeName","shouldAddNativeListener","passive","removeListener","removeByEventName","removedHandler","skip","isSubset","delete","forceStop","handleCallback","isImmediatePropagationStopped","original","checked","iterateEventNames","calculateWhich","setForKeyEvent","keyCode","button","setForMouseEvent","1","2","3","4","initEvent","EventClass","addProperty","propName","hook","eventInstance","configurable","writable","_propagationStopped","_immediatePropagationStopped","_defaultPrevented","propagationStopped","stopImmediatePropagation","defaultPrevented","normalizeEventArguments","_src$view","hasWindow","view","timeStamp","now","beforeSetStrategy","afterSetStrategy","engine","inject","offArgs","_cancelCallback","_acceptCallback","empty","_acceptRequestEvent","stopEventsSkipping","setEventFixMethod","isPointerEvent","isKeyboardEvent","isFakeClickEvent","isCommandKeyPressed","getChar","forceSkipEvents","eventSource","_add_namespace","_selectors","KEY_MAP","backspace","tab","pageup","pagedown","home","arrowleft","arrowup","arrowright","arrowdown","control","right","multiply","spacebar","del","subtract","esc","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","EVENT_SOURCES_REGEX","mouse","fixMethod","isDxEvent","isNativeTouchEvent","isNativeMouseEvent","screenX","to","skipEvents","isDropDown","isContentEditable","hasAttribute","touchInEditable","hasClass","focused","func","copyEvent","props","isKeySupported","_originalEvents","_handlerCount","_isNoBubble","_getDelegateTarget","mozilla","getTime","_setSelector","_selector","_getSelector","POINTERENTER_NAMESPACED_EVENT_NAME","POINTERLEAVE_NAMESPACED_EVENT_NAME","Hover","_handlerArrayKeyPath","_eventNamespace","_originalEventName","HoverStart","HoverEnd","_support","_hold","CONTEXTMENU_NAMESPACED_EVENT_NAME","HOLD_NAMESPACED_EVENT_NAME","ContextMenu","_contextMenuHandler","_holdHandler","_fireContextMenu","_console","navigator","getNavigator","FILE_EXTESIONS","CSS","PNG","JPEG","GIF","SVG","PDF","_revokeObjectURLTimeout","_getDataUri","_getMimeType","_linkDownloader","exportLinkElement","download","_formDownloader","contentType","formAttributes","enctype","exportForm","setAttributes","_saveByProxy","_winJSBlobSave","savePicker","Windows","Storage","Pickers","FileSavePicker","suggestedStartLocation","PickerLocationId","documentsLibrary","fileExtension","fileTypeChoices","insert","suggestedFileName","pickSaveFileAsync","openAsync","FileAccessMode","readWrite","outputStream","inputStream","msDetachStream","Streams","RandomAccessStream","copyAsync","flushAsync","close","_click","link","dispatchEvent","MouseEvent","cancelable","initMouseEvent","_saveBlobAs","_blobSaved","msSaveOrOpenBlob","WinJS","URL","webkitURL","mozURL","msURL","oURL","objectURL","createObjectURL","downloadLink","revokeObjectURL","_objectUrlRevoked","logger","warn","proxyURL","log","userAgent","NAMESPACED_CLICK_EVENT","DblClick","_forgetLastClick","_firstClickTarget","_lastClickTimeStamp","_clickHandler","timeBetweenClicks","_date_serialization","_file_system_item","FileSystemProviderBase","_sizeGetter","_dateModifiedGetter","_thumbnailGetter","thumbnailExpr","parentDirectory","getFileUploadChunkSize","entries","entry","_createFileItem","deserializeDate","_defaultKeyExpr","__KEY__","isDirectoryExpr","keepResult","userResult"],"mappings":"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","file":"static/js/main~acde9613.048c330f.chunk.js","sourcesContent":["/**\r\n * DevExtreme (events/index.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 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.triggerHandler = exports.trigger = exports.one = exports.on = exports.off = exports.Event = void 0;\r\nvar _events_engine = _interopRequireDefault(require(\"./core/events_engine\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar on = _events_engine.default.on;\r\nexports.on = on;\r\nvar one = _events_engine.default.one;\r\nexports.one = one;\r\nvar off = _events_engine.default.off;\r\nexports.off = off;\r\nvar trigger = _events_engine.default.trigger;\r\nexports.trigger = trigger;\r\nvar triggerHandler = _events_engine.default.triggerHandler;\r\nexports.triggerHandler = triggerHandler;\r\nvar Event = _events_engine.default.Event;\r\nexports.Event = Event;\r\n","/**\r\n * DevExtreme (events/gesture/emitter.gesture.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 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.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _events_engine = _interopRequireDefault(require(\"../../events/core/events_engine\"));\r\nvar _devices = _interopRequireDefault(require(\"../../core/devices\"));\r\nvar _style = require(\"../../core/utils/style\");\r\nvar _call_once = _interopRequireDefault(require(\"../../core/utils/call_once\"));\r\nvar _dom = require(\"../../core/utils/dom\");\r\nvar _ready_callbacks = _interopRequireDefault(require(\"../../core/utils/ready_callbacks\"));\r\nvar _math = require(\"../../core/utils/math\");\r\nvar _common = require(\"../../core/utils/common\");\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _index = require(\"../utils/index\");\r\nvar _emitter = _interopRequireDefault(require(\"../core/emitter\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar ready = _ready_callbacks.default.add;\r\nvar abs = Math.abs;\r\nvar SLEEP = 0;\r\nvar INITED = 1;\r\nvar STARTED = 2;\r\nvar TOUCH_BOUNDARY = 10;\r\nvar IMMEDIATE_TOUCH_BOUNDARY = 0;\r\nvar IMMEDIATE_TIMEOUT = 180;\r\nvar supportPointerEvents = function() {\r\n return (0, _style.styleProp)(\"pointer-events\")\r\n};\r\nvar setGestureCover = (0, _call_once.default)(function() {\r\n var GESTURE_COVER_CLASS = \"dx-gesture-cover\";\r\n var isDesktop = \"desktop\" === _devices.default.real().deviceType;\r\n if (!supportPointerEvents() || !isDesktop) {\r\n return _common.noop\r\n }\r\n var $cover = (0, _renderer.default)(\"
\").addClass(GESTURE_COVER_CLASS).css(\"pointerEvents\", \"none\");\r\n _events_engine.default.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.default.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 || (0, _index.needSkipEvent)(e)) {\r\n this._cancel(e);\r\n return\r\n }\r\n this._startEvent = (0, _index.createEvent)(e);\r\n this._startEventData = (0, _index.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 var delta = (0, _index.eventDelta)(this._startEventData, (0, _index.eventData)(e));\r\n var deltaX = abs(delta.x);\r\n var deltaY = abs(delta.y);\r\n var horizontalMove = this._validateMove(touchBoundary, deltaX, deltaY);\r\n var verticalMove = this._validateMove(touchBoundary, deltaY, deltaX);\r\n var direction = this.getDirection(e);\r\n var bothAccepted = \"both\" === direction && (horizontalMove || verticalMove);\r\n var horizontalAccepted = \"horizontal\" === direction && horizontalMove;\r\n var 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 || (0, _index.isDxMouseWheelEvent)(e) ? IMMEDIATE_TOUCH_BOUNDARY : TOUCH_BOUNDARY\r\n },\r\n _adjustStartEvent: function(e) {\r\n var touchBoundary = this._getTouchBoundary(e);\r\n var delta = (0, _index.eventDelta)(this._startEventData, (0, _index.eventData)(e));\r\n this._startEvent.pageX += (0, _math.sign)(delta.x) * touchBoundary;\r\n this._startEvent.pageY += (0, _math.sign)(delta.y) * touchBoundary\r\n },\r\n _resetActiveElement: function() {\r\n if (\"ios\" === _devices.default.real().platform && this.getElement().find(\":focus\").length) {\r\n (0, _dom.resetActiveElement)()\r\n }\r\n },\r\n _toggleGestureCover: function(toggle) {\r\n this._toggleGestureCoverImpl(toggle)\r\n },\r\n _toggleGestureCoverImpl: 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 ((0, _index.isDxMouseWheelEvent)(e) || (0, _index.isTouchEvent)(e)) {\r\n return\r\n }(0, _dom.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: _common.noop,\r\n _start: _common.noop,\r\n _move: _common.noop,\r\n _stop: _common.noop,\r\n _end: _common.noop\r\n});\r\nGestureEmitter.initialTouchBoundary = TOUCH_BOUNDARY;\r\nGestureEmitter.touchBoundary = function(newBoundary) {\r\n if ((0, _type.isDefined)(newBoundary)) {\r\n TOUCH_BOUNDARY = newBoundary;\r\n return\r\n }\r\n return TOUCH_BOUNDARY\r\n};\r\nvar _default = GestureEmitter;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (events/swipe.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 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.swipe = exports.start = exports.end = void 0;\r\nvar _index = require(\"./utils/index\");\r\nvar _emitter = _interopRequireDefault(require(\"./gesture/emitter.gesture\"));\r\nvar _emitter_registrator = _interopRequireDefault(require(\"./core/emitter_registrator\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar SWIPE_START_EVENT = \"dxswipestart\";\r\nexports.start = SWIPE_START_EVENT;\r\nvar SWIPE_EVENT = \"dxswipe\";\r\nexports.swipe = SWIPE_EVENT;\r\nvar SWIPE_END_EVENT = \"dxswipeend\";\r\nexports.end = SWIPE_END_EVENT;\r\nvar HorizontalStrategy = {\r\n defaultItemSizeFunc: function() {\r\n return this.getElement().width()\r\n },\r\n getBounds: function() {\r\n return [this._maxLeftOffset, this._maxRightOffset]\r\n },\r\n calcOffsetRatio: function(e) {\r\n var endEventData = (0, _index.eventData)(e);\r\n return (endEventData.x - (this._savedEventData && this._savedEventData.x || 0)) / this._itemSizeFunc().call(this, e)\r\n },\r\n isFastSwipe: function(e) {\r\n var endEventData = (0, _index.eventData)(e);\r\n return this.FAST_SWIPE_SPEED_LIMIT * Math.abs(endEventData.x - this._tickData.x) >= endEventData.time - this._tickData.time\r\n }\r\n};\r\nvar VerticalStrategy = {\r\n defaultItemSizeFunc: function() {\r\n return this.getElement().height()\r\n },\r\n getBounds: function() {\r\n return [this._maxTopOffset, this._maxBottomOffset]\r\n },\r\n calcOffsetRatio: function(e) {\r\n var endEventData = (0, _index.eventData)(e);\r\n return (endEventData.y - (this._savedEventData && this._savedEventData.y || 0)) / this._itemSizeFunc().call(this, e)\r\n },\r\n isFastSwipe: function(e) {\r\n var endEventData = (0, _index.eventData)(e);\r\n return this.FAST_SWIPE_SPEED_LIMIT * Math.abs(endEventData.y - this._tickData.y) >= endEventData.time - this._tickData.time\r\n }\r\n};\r\nvar STRATEGIES = {\r\n horizontal: HorizontalStrategy,\r\n vertical: VerticalStrategy\r\n};\r\nvar SwipeEmitter = _emitter.default.inherit({\r\n TICK_INTERVAL: 300,\r\n FAST_SWIPE_SPEED_LIMIT: 10,\r\n ctor: function(element) {\r\n this.callBase(element);\r\n this.direction = \"horizontal\";\r\n this.elastic = true\r\n },\r\n _getStrategy: function() {\r\n return STRATEGIES[this.direction]\r\n },\r\n _defaultItemSizeFunc: function() {\r\n return this._getStrategy().defaultItemSizeFunc.call(this)\r\n },\r\n _itemSizeFunc: function() {\r\n return this.itemSizeFunc || this._defaultItemSizeFunc\r\n },\r\n _init: function(e) {\r\n this._tickData = (0, _index.eventData)(e)\r\n },\r\n _start: function(e) {\r\n this._savedEventData = (0, _index.eventData)(e);\r\n e = this._fireEvent(SWIPE_START_EVENT, e);\r\n if (!e.cancel) {\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 }\r\n },\r\n _move: function(e) {\r\n var strategy = this._getStrategy();\r\n var moveEventData = (0, _index.eventData)(e);\r\n var offset = strategy.calcOffsetRatio.call(this, e);\r\n offset = this._fitOffset(offset, this.elastic);\r\n if (moveEventData.time - this._tickData.time > this.TICK_INTERVAL) {\r\n this._tickData = moveEventData\r\n }\r\n this._fireEvent(SWIPE_EVENT, e, {\r\n offset: offset\r\n });\r\n e.preventDefault()\r\n },\r\n _end: function(e) {\r\n var strategy = this._getStrategy();\r\n var offsetRatio = strategy.calcOffsetRatio.call(this, e);\r\n var isFast = strategy.isFastSwipe.call(this, e);\r\n var startOffset = offsetRatio;\r\n var targetOffset = this._calcTargetOffset(offsetRatio, isFast);\r\n startOffset = this._fitOffset(startOffset, this.elastic);\r\n targetOffset = this._fitOffset(targetOffset, false);\r\n this._fireEvent(SWIPE_END_EVENT, e, {\r\n offset: startOffset,\r\n targetOffset: targetOffset\r\n })\r\n },\r\n _fitOffset: function(offset, elastic) {\r\n var strategy = this._getStrategy();\r\n var bounds = strategy.getBounds.call(this);\r\n if (offset < -bounds[0]) {\r\n return elastic ? (-2 * bounds[0] + offset) / 3 : -bounds[0]\r\n }\r\n if (offset > bounds[1]) {\r\n return elastic ? (2 * bounds[1] + offset) / 3 : bounds[1]\r\n }\r\n return offset\r\n },\r\n _calcTargetOffset: function(offsetRatio, isFast) {\r\n var result;\r\n if (isFast) {\r\n result = Math.ceil(Math.abs(offsetRatio));\r\n if (offsetRatio < 0) {\r\n result = -result\r\n }\r\n } else {\r\n result = Math.round(offsetRatio)\r\n }\r\n return result\r\n }\r\n});\r\n(0, _emitter_registrator.default)({\r\n emitter: SwipeEmitter,\r\n events: [SWIPE_START_EVENT, SWIPE_EVENT, SWIPE_END_EVENT]\r\n});\r\n","/**\r\n * DevExtreme (exporter.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 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.excel = void 0;\r\nexports.export = _export;\r\nObject.defineProperty(exports, \"fileSaver\", {\r\n enumerable: true,\r\n get: function() {\r\n return _file_saver.fileSaver\r\n }\r\n});\r\nexports.svg = exports.pdf = exports.image = void 0;\r\nvar _file_saver = require(\"./exporter/file_saver\");\r\nvar _excel_creator = require(\"./exporter/excel_creator\");\r\nvar _image_creator = require(\"./exporter/image_creator\");\r\nvar _svg_creator = require(\"./exporter/svg_creator\");\r\nvar _type = require(\"./core/utils/type\");\r\nvar _deferred = require(\"./core/utils/deferred\");\r\nvar _excel_format_converter = _interopRequireDefault(require(\"./exporter/excel_format_converter\"));\r\nvar _pdf_creator = require(\"./exporter/pdf_creator\");\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 _export(data, options, getData) {\r\n if (!data) {\r\n return (new _deferred.Deferred).resolve()\r\n }\r\n var exportingAction = options.exportingAction;\r\n var exportedAction = options.exportedAction;\r\n var fileSavingAction = options.fileSavingAction;\r\n var eventArgs = {\r\n fileName: options.fileName,\r\n format: options.format,\r\n cancel: false\r\n };\r\n (0, _type.isFunction)(exportingAction) && exportingAction(eventArgs);\r\n if (!eventArgs.cancel) {\r\n return getData(data, options).then(function(blob) {\r\n (0, _type.isFunction)(exportedAction) && exportedAction();\r\n if ((0, _type.isFunction)(fileSavingAction)) {\r\n eventArgs.data = blob;\r\n fileSavingAction(eventArgs)\r\n }\r\n if (!eventArgs.cancel) {\r\n _file_saver.fileSaver.saveAs(eventArgs.fileName, options.format, blob, options.proxyUrl, options.forceProxy)\r\n }\r\n })\r\n }\r\n return (new _deferred.Deferred).resolve()\r\n}\r\nvar excel = {\r\n creator: _excel_creator.ExcelCreator,\r\n getData: _excel_creator.getData,\r\n formatConverter: _excel_format_converter.default\r\n};\r\nexports.excel = excel;\r\nvar image = {\r\n creator: _image_creator.imageCreator,\r\n getData: _image_creator.getData,\r\n testFormats: _image_creator.testFormats\r\n};\r\nexports.image = image;\r\nvar pdf = {\r\n getData: _pdf_creator.getData\r\n};\r\nexports.pdf = pdf;\r\nvar svg = {\r\n creator: _svg_creator.svgCreator,\r\n getData: _svg_creator.getData\r\n};\r\nexports.svg = svg;\r\n","/**\r\n * DevExtreme (events/click.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 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.name = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../core/renderer\"));\r\nvar _events_engine = _interopRequireDefault(require(\"../events/core/events_engine\"));\r\nvar _devices = _interopRequireDefault(require(\"../core/devices\"));\r\nvar _dom_adapter = _interopRequireDefault(require(\"../core/dom_adapter\"));\r\nvar _dom = require(\"../core/utils/dom\");\r\nvar _frame = require(\"../animation/frame\");\r\nvar _index = require(\"./utils/index\");\r\nvar _event_nodes_disposing = require(\"./utils/event_nodes_disposing\");\r\nvar _pointer = _interopRequireDefault(require(\"./pointer\"));\r\nvar _emitter = _interopRequireDefault(require(\"./core/emitter\"));\r\nvar _emitter_registrator = _interopRequireDefault(require(\"./core/emitter_registrator\"));\r\nvar _version = require(\"../core/utils/version\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar CLICK_EVENT_NAME = \"dxclick\";\r\nexports.name = CLICK_EVENT_NAME;\r\nvar TOUCH_BOUNDARY = 10;\r\nvar abs = Math.abs;\r\nvar isInput = function(element) {\r\n return (0, _renderer.default)(element).is(\"input, textarea, select, button ,:focus, :focus *\")\r\n};\r\nvar misc = {\r\n requestAnimationFrame: _frame.requestAnimationFrame,\r\n cancelAnimationFrame: _frame.cancelAnimationFrame\r\n};\r\nvar ClickEmitter = _emitter.default.inherit({\r\n ctor: function(element) {\r\n this.callBase(element);\r\n this._makeElementClickable((0, _renderer.default)(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 = (0, _index.eventData)(e)\r\n },\r\n end: function(e) {\r\n if (this._eventOutOfElement(e, this.getElement().get(0)) || e.type === _pointer.default.cancel) {\r\n this._cancel(e);\r\n return\r\n }\r\n if (!isInput(e.target) && !this._blurPrevented) {\r\n (0, _dom.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 var targetChanged = !(0, _dom.contains)(element, target) && element !== target;\r\n var gestureDelta = (0, _index.eventDelta)((0, _index.eventData)(e), this._startEventData);\r\n var 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: (0, _dom.closestCommonParent)(this._startTarget, e.target)\r\n })\r\n },\r\n dispose: function() {\r\n misc.cancelAnimationFrame(this._clickAnimationFrame)\r\n }\r\n});\r\nvar realDevice = _devices.default.real();\r\nvar useNativeClick = realDevice.generic || realDevice.ios && (0, _version.compare)(realDevice.version, [9, 3]) >= 0 || realDevice.android && (0, _version.compare)(realDevice.version, [5]) >= 0;\r\n! function() {\r\n var NATIVE_CLICK_CLASS = \"dx-native-click\";\r\n var isNativeClickEvent = function(target) {\r\n return useNativeClick || (0, _renderer.default)(target).closest(\".\" + NATIVE_CLICK_CLASS).length\r\n };\r\n var prevented = null;\r\n var lastFiredEvent = null;\r\n\r\n function onNodeRemove() {\r\n lastFiredEvent = null\r\n }\r\n var clickHandler = function(e) {\r\n var originalEvent = e.originalEvent;\r\n var eventAlreadyFired = lastFiredEvent === originalEvent || originalEvent && originalEvent.DXCLICK_FIRED;\r\n var 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 }(0, _event_nodes_disposing.unsubscribeNodesDisposing)(lastFiredEvent, onNodeRemove);\r\n lastFiredEvent = originalEvent;\r\n (0, _event_nodes_disposing.subscribeNodesDisposing)(lastFiredEvent, onNodeRemove);\r\n (0, _index.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 _events_engine.default.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 _events_engine.default.off(this.getElement(), \"click\", clickHandler)\r\n }\r\n })\r\n}();\r\n! function() {\r\n var desktopDevice = _devices.default.real().generic;\r\n if (!desktopDevice) {\r\n var startTarget = null;\r\n var 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 = (0, _renderer.default)(e.target);\r\n if (!blurPrevented && startTarget && !$target.is(startTarget) && !(0, _renderer.default)(startTarget).is(\"label\") && isInput($target)) {\r\n (0, _dom.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 var document = _dom_adapter.default.getDocument();\r\n _events_engine.default.subscribeGlobal(document, (0, _index.addNamespace)(_pointer.default.down, NATIVE_CLICK_FIXER_NAMESPACE), pointerDownHandler);\r\n _events_engine.default.subscribeGlobal(document, (0, _index.addNamespace)(\"click\", NATIVE_CLICK_FIXER_NAMESPACE), clickHandler)\r\n }\r\n}();\r\n(0, _emitter_registrator.default)({\r\n emitter: ClickEmitter,\r\n bubble: true,\r\n events: [CLICK_EVENT_NAME]\r\n});\r\n","/**\r\n * DevExtreme (file_management/utils.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 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.pathCombine = exports.getPathParts = exports.getParentPath = exports.getName = exports.getFileExtension = exports.getEscapedFileName = exports.PATH_SEPARATOR = void 0;\r\nvar _iterator = require(\"../core/utils/iterator\");\r\nvar PATH_SEPARATOR = \"/\";\r\nexports.PATH_SEPARATOR = PATH_SEPARATOR;\r\nvar getFileExtension = function(path) {\r\n var index = path.lastIndexOf(\".\");\r\n return index !== -1 ? path.substr(index) : \"\"\r\n};\r\nexports.getFileExtension = getFileExtension;\r\nvar getName = function(path) {\r\n var index = path.lastIndexOf(PATH_SEPARATOR);\r\n return index !== -1 ? path.substr(index + PATH_SEPARATOR.length) : path\r\n};\r\nexports.getName = getName;\r\nvar getParentPath = function(path) {\r\n var index = path.lastIndexOf(PATH_SEPARATOR);\r\n return index !== -1 ? path.substr(0, index) : \"\"\r\n};\r\nexports.getParentPath = getParentPath;\r\nvar getPathParts = function(path, includeFullPath) {\r\n if (!path || \"/\" === path) {\r\n return []\r\n }\r\n var result = [];\r\n var pathPart = \"\";\r\n for (var i = 0; i < path.length; i++) {\r\n var char = path.charAt(i);\r\n if (char === PATH_SEPARATOR) {\r\n var nextChar = path.charAt(i + 1);\r\n if (nextChar !== PATH_SEPARATOR) {\r\n if (pathPart) {\r\n result.push(pathPart);\r\n pathPart = \"\"\r\n }\r\n char = nextChar\r\n }\r\n i++\r\n }\r\n pathPart += char\r\n }\r\n if (pathPart) {\r\n result.push(pathPart)\r\n }\r\n if (includeFullPath) {\r\n for (var _i = 0; _i < result.length; _i++) {\r\n result[_i] = pathCombine(0 === _i ? \"\" : result[_i - 1], getEscapedFileName(result[_i]))\r\n }\r\n }\r\n return result\r\n};\r\nexports.getPathParts = getPathParts;\r\nvar getEscapedFileName = function(fileName) {\r\n return fileName.replace(/\\//g, \"//\")\r\n};\r\nexports.getEscapedFileName = getEscapedFileName;\r\nvar pathCombine = function() {\r\n var result = \"\";\r\n (0, _iterator.each)(arguments, function(_, arg) {\r\n if (arg) {\r\n if (result) {\r\n result += PATH_SEPARATOR\r\n }\r\n result += arg\r\n }\r\n });\r\n return result\r\n};\r\nexports.pathCombine = pathCombine;\r\n","/**\r\n * DevExtreme (file_management/errors.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 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.default = void 0;\r\nvar ErrorCode = {\r\n NoAccess: 0,\r\n FileExists: 1,\r\n FileNotFound: 2,\r\n DirectoryExists: 3,\r\n DirectoryNotFound: 4,\r\n WrongFileExtension: 5,\r\n MaxFileSizeExceeded: 6,\r\n InvalidSymbols: 7,\r\n Other: 32767\r\n};\r\nvar _default = ErrorCode;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (events/pointer.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 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\n\r\nfunction _typeof(obj) {\r\n \"@babel/helpers - typeof\";\r\n return _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 }, _typeof(obj)\r\n}\r\nexports.default = void 0;\r\nvar support = _interopRequireWildcard(require(\"../core/utils/support\"));\r\nvar _iterator = require(\"../core/utils/iterator\");\r\nvar _browser = _interopRequireDefault(require(\"../core/utils/browser\"));\r\nvar _devices = _interopRequireDefault(require(\"../core/devices\"));\r\nvar _event_registrator = _interopRequireDefault(require(\"./core/event_registrator\"));\r\nvar _touch = _interopRequireDefault(require(\"./pointer/touch\"));\r\nvar _mspointer = _interopRequireDefault(require(\"./pointer/mspointer\"));\r\nvar _mouse = _interopRequireDefault(require(\"./pointer/mouse\"));\r\nvar _mouse_and_touch = _interopRequireDefault(require(\"./pointer/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\n\r\nfunction _getRequireWildcardCache(nodeInterop) {\r\n if (\"function\" !== typeof WeakMap) {\r\n return null\r\n }\r\n var cacheBabelInterop = new WeakMap;\r\n var cacheNodeInterop = new WeakMap;\r\n return (_getRequireWildcardCache = function(nodeInterop) {\r\n return nodeInterop ? cacheNodeInterop : cacheBabelInterop\r\n })(nodeInterop)\r\n}\r\n\r\nfunction _interopRequireWildcard(obj, nodeInterop) {\r\n if (!nodeInterop && obj && obj.__esModule) {\r\n return obj\r\n }\r\n if (null === obj || \"object\" !== _typeof(obj) && \"function\" !== typeof obj) {\r\n return {\r\n \"default\": obj\r\n }\r\n }\r\n var cache = _getRequireWildcardCache(nodeInterop);\r\n if (cache && cache.has(obj)) {\r\n return cache.get(obj)\r\n }\r\n var newObj = {};\r\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\r\n for (var key in obj) {\r\n if (\"default\" !== key && Object.prototype.hasOwnProperty.call(obj, key)) {\r\n var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;\r\n if (desc && (desc.get || desc.set)) {\r\n Object.defineProperty(newObj, key, desc)\r\n } else {\r\n newObj[key] = obj[key]\r\n }\r\n }\r\n }\r\n newObj.default = obj;\r\n if (cache) {\r\n cache.set(obj, newObj)\r\n }\r\n return newObj\r\n}\r\nvar getStrategy = function(support, device, browser) {\r\n if (support.pointerEvents && browser.msie) {\r\n return _mspointer.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_touch.default\r\n }\r\n if (support.touch) {\r\n return _touch.default\r\n }\r\n return _mouse.default\r\n};\r\nvar EventStrategy = getStrategy(support, _devices.default.real(), _browser.default);\r\n(0, _iterator.each)(EventStrategy.map, function(pointerEvent, originalEvents) {\r\n (0, _event_registrator.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\nvar _default = pointer;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (events/core/event_registrator_callbacks.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 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.default = void 0;\r\nvar _memorized_callbacks = _interopRequireDefault(require(\"../../core/memorized_callbacks\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar _default = new _memorized_callbacks.default;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (events/pointer/touch.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 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.default = void 0;\r\nvar _devices = _interopRequireDefault(require(\"../../core/devices\"));\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar _base = _interopRequireDefault(require(\"./base\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\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 (0, _iterator.each)(e.touches, function(_, touch) {\r\n pointers.push((0, _extend.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.default.real().platform && (\"dxpointerdown\" === pointerEvent || \"dxpointerup\" === pointerEvent)\r\n};\r\nvar TouchStrategy = _base.default.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((0, _extend.extend)(normalizeTouchEvent(args.originalEvent), args))\r\n }\r\n});\r\nTouchStrategy.map = eventMap;\r\nTouchStrategy.normalize = normalizeTouchEvent;\r\nvar _default = TouchStrategy;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (events/pointer/observer.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 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.default = void 0;\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar _ready_callbacks = _interopRequireDefault(require(\"../../core/utils/ready_callbacks\"));\r\nvar _dom_adapter = _interopRequireDefault(require(\"../../core/dom_adapter\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar addEventsListener = function(events, handler) {\r\n _ready_callbacks.default.add(function() {\r\n events.split(\" \").forEach(function(event) {\r\n _dom_adapter.default.listen(_dom_adapter.default.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 (0, _iterator.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\nvar _default = Observer;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (events/pointer/mouse.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 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.default = void 0;\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _base = _interopRequireDefault(require(\"./base\"));\r\nvar _observer = _interopRequireDefault(require(\"./observer\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\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.default(eventMap, function() {\r\n return true\r\n });\r\n activated = true\r\n};\r\nvar MouseStrategy = _base.default.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((0, _extend.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\nvar _default = MouseStrategy;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (exporter/excel_format_converter.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 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.default = void 0;\r\nvar _string = require(\"../core/utils/string\");\r\nvar _number = _interopRequireDefault(require(\"../localization/number\"));\r\nvar _date = _interopRequireDefault(require(\"../localization/date\"));\r\nvar _type = require(\"../core/utils/type\");\r\nvar _date2 = require(\"../localization/ldml/date.format\");\r\nvar _language_codes = require(\"../localization/language_codes\");\r\nrequire(\"../localization/currency\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar ARABIC_ZERO_CODE = 1632;\r\nvar DEFINED_NUMBER_FORMTATS = {\r\n thousands: \"#,##0{0},"K"\",\r\n millions: \"#,##0{0},,"M"\",\r\n billions: \"#,##0{0},,,"B"\",\r\n trillions: \"#,##0{0},,,,"T"\",\r\n percent: \"0{0}%\",\r\n decimal: \"#{0}\",\r\n fixedpoint: \"#,##0{0}\",\r\n exponential: \"0{0}E+00\",\r\n currency: \" \"\r\n};\r\nvar PERIOD_REGEXP = /a+/g;\r\nvar DAY_REGEXP = /E/g;\r\nvar DO_REGEXP = /dE+/g;\r\nvar STANDALONE_MONTH_REGEXP = /L/g;\r\nvar HOUR_REGEXP = /h/g;\r\nvar ANY_REGEXP = /./g;\r\nvar excelFormatConverter = {\r\n _applyPrecision: function(format, precision) {\r\n var result;\r\n var i;\r\n if (precision > 0) {\r\n result = \"decimal\" !== format ? \".\" : \"\";\r\n for (i = 0; i < precision; i++) {\r\n result += \"0\"\r\n }\r\n return result\r\n }\r\n return \"\"\r\n },\r\n _hasArabicDigits: function(text) {\r\n var code;\r\n for (var i = 0; i < text.length; i++) {\r\n code = text.charCodeAt(i);\r\n if (code >= ARABIC_ZERO_CODE && code < ARABIC_ZERO_CODE + 10) {\r\n return true\r\n }\r\n }\r\n return false\r\n },\r\n _convertDateFormatToOpenXml: function(format) {\r\n return format.split(\"/\").join(\"\\\\/\").split(\"'\").map(function(datePart, index) {\r\n if (index % 2 === 0) {\r\n return datePart.replace(PERIOD_REGEXP, \"AM/PM\").replace(DO_REGEXP, \"d\").replace(DAY_REGEXP, \"d\").replace(STANDALONE_MONTH_REGEXP, \"M\").replace(HOUR_REGEXP, \"H\").split(\"[\").join(\"\\\\[\").split(\"]\").join(\"\\\\]\")\r\n }\r\n if (datePart) {\r\n return datePart.replace(ANY_REGEXP, \"\\\\$&\")\r\n }\r\n return \"'\"\r\n }).join(\"\")\r\n },\r\n _convertDateFormat: function(format) {\r\n var formattedValue = (_date.default.format(new Date(2009, 8, 8, 6, 5, 4), format) || \"\").toString();\r\n var result = (0, _date2.getFormat)(function(value) {\r\n return _date.default.format(value, format)\r\n });\r\n if (result) {\r\n result = this._convertDateFormatToOpenXml(result);\r\n result = this._getLanguageInfo(formattedValue) + result\r\n }\r\n return result\r\n },\r\n _getLanguageInfo: function(defaultPattern) {\r\n var languageID = (0, _language_codes.getLanguageId)();\r\n var languageIDStr = languageID ? languageID.toString(16) : \"\";\r\n var languageInfo = \"\";\r\n if (this._hasArabicDigits(defaultPattern)) {\r\n while (languageIDStr.length < 3) {\r\n languageIDStr = \"0\" + languageIDStr\r\n }\r\n languageInfo = \"[$-2010\" + languageIDStr + \"]\"\r\n } else {\r\n if (languageIDStr) {\r\n languageInfo = \"[$-\" + languageIDStr + \"]\"\r\n }\r\n }\r\n return languageInfo\r\n },\r\n _convertNumberFormat: function(format, precision, currency) {\r\n var result;\r\n var excelFormat;\r\n if (\"currency\" === format) {\r\n excelFormat = _number.default.getOpenXmlCurrencyFormat(currency)\r\n } else {\r\n excelFormat = DEFINED_NUMBER_FORMTATS[format.toLowerCase()]\r\n }\r\n if (excelFormat) {\r\n result = (0, _string.format)(excelFormat, this._applyPrecision(format, precision))\r\n }\r\n return result\r\n },\r\n convertFormat: function(format, precision, type, currency) {\r\n if ((0, _type.isDefined)(format)) {\r\n if (\"date\" === type) {\r\n return excelFormatConverter._convertDateFormat(format)\r\n } else {\r\n if ((0, _type.isString)(format) && DEFINED_NUMBER_FORMTATS[format.toLowerCase()]) {\r\n return excelFormatConverter._convertNumberFormat(format, precision, currency)\r\n }\r\n }\r\n }\r\n }\r\n};\r\nvar _default = excelFormatConverter;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (exporter/excel/excel.fill_helper.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 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.default = void 0;\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _excel = _interopRequireDefault(require(\"./excel.tag_helper\"));\r\nvar _excel2 = _interopRequireDefault(require(\"./excel.pattern_fill_helper\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar fillHelper = {\r\n tryCreateTag: function(sourceObj) {\r\n var result = null;\r\n if ((0, _type.isDefined)(sourceObj)) {\r\n result = {\r\n patternFill: _excel2.default.tryCreateTag(sourceObj.patternFill)\r\n };\r\n if (fillHelper.isEmpty(result)) {\r\n result = null\r\n }\r\n }\r\n return result\r\n },\r\n tryCreateFillFromSimpleFormat: function() {\r\n var _ref = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {},\r\n backgroundColor = _ref.backgroundColor,\r\n fillPatternType = _ref.fillPatternType,\r\n fillPatternColor = _ref.fillPatternColor;\r\n if ((0, _type.isDefined)(backgroundColor) && !((0, _type.isDefined)(fillPatternType) && (0, _type.isDefined)(fillPatternColor))) {\r\n return {\r\n patternFill: {\r\n patternType: \"solid\",\r\n foregroundColor: {\r\n rgb: backgroundColor\r\n }\r\n }\r\n }\r\n } else {\r\n if ((0, _type.isDefined)(fillPatternType) && (0, _type.isDefined)(fillPatternColor)) {\r\n return {\r\n patternFill: {\r\n patternType: fillPatternType,\r\n foregroundColor: {\r\n rgb: fillPatternColor\r\n },\r\n backgroundColor: {\r\n rgb: backgroundColor\r\n }\r\n }\r\n }\r\n }\r\n }\r\n },\r\n copySimpleFormat: function(source, target) {\r\n if (void 0 !== source.backgroundColor) {\r\n target.backgroundColor = source.backgroundColor\r\n }\r\n if (void 0 !== source.fillPatternType) {\r\n target.fillPatternType = source.fillPatternType\r\n }\r\n if (void 0 !== source.fillPatternColor) {\r\n target.fillPatternColor = source.fillPatternColor\r\n }\r\n },\r\n copy: function(source) {\r\n var result = null;\r\n if ((0, _type.isDefined)(source)) {\r\n result = {};\r\n if (void 0 !== source.patternFill) {\r\n result.patternFill = _excel2.default.copy(source.patternFill)\r\n }\r\n }\r\n return result\r\n },\r\n areEqual: function(leftTag, rightTag) {\r\n return fillHelper.isEmpty(leftTag) && fillHelper.isEmpty(rightTag) || (0, _type.isDefined)(leftTag) && (0, _type.isDefined)(rightTag) && _excel2.default.areEqual(leftTag.patternFill, rightTag.patternFill)\r\n },\r\n isEmpty: function(tag) {\r\n return !(0, _type.isDefined)(tag) || _excel2.default.isEmpty(tag.patternFill)\r\n },\r\n toXml: function(tag) {\r\n return _excel.default.toXml(\"fill\", {}, _excel2.default.toXml(tag.patternFill))\r\n }\r\n};\r\nvar _default = fillHelper;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (exporter/excel/excel.color_helper.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 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.default = void 0;\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _excel = _interopRequireDefault(require(\"./excel.tag_helper\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar colorHelper = {\r\n _tryConvertColor: function(source) {\r\n if (\"string\" !== typeof source) {\r\n return source\r\n }\r\n var result;\r\n if (source.length > 0 && \"#\" === source[0]) {\r\n var colorCode = source.substr(1, source.length);\r\n if (6 === colorCode.length) {\r\n result = \"FF\" + colorCode\r\n } else {\r\n if (8 === colorCode.length) {\r\n result = colorCode[6] + colorCode[7] + colorCode.substr(0, 6)\r\n } else {\r\n result = colorCode\r\n }\r\n }\r\n } else {\r\n result = source\r\n }\r\n return result\r\n },\r\n tryCreateTag: function(sourceObj) {\r\n var result = null;\r\n if ((0, _type.isDefined)(sourceObj)) {\r\n if (\"string\" === typeof sourceObj) {\r\n result = {\r\n rgb: this._tryConvertColor(sourceObj)\r\n }\r\n } else {\r\n result = {\r\n rgb: this._tryConvertColor(sourceObj.rgb),\r\n theme: sourceObj.theme\r\n }\r\n }\r\n if (colorHelper.isEmpty(result)) {\r\n result = null\r\n }\r\n }\r\n return result\r\n },\r\n copy: function(source) {\r\n var result = null;\r\n if ((0, _type.isDefined)(source)) {\r\n if (\"string\" === typeof source) {\r\n result = source\r\n } else {\r\n result = {};\r\n if (void 0 !== source.rgb) {\r\n result.rgb = source.rgb\r\n }\r\n if (void 0 !== source.theme) {\r\n result.theme = source.theme\r\n }\r\n }\r\n }\r\n return result\r\n },\r\n isEmpty: function(tag) {\r\n return !(0, _type.isDefined)(tag) || !(0, _type.isDefined)(tag.rgb) && !(0, _type.isDefined)(tag.theme)\r\n },\r\n areEqual: function(leftTag, rightTag) {\r\n return colorHelper.isEmpty(leftTag) && colorHelper.isEmpty(rightTag) || (0, _type.isDefined)(leftTag) && (0, _type.isDefined)(rightTag) && leftTag.rgb === rightTag.rgb && leftTag.theme === rightTag.theme\r\n },\r\n toXml: function(tagName, tag) {\r\n return _excel.default.toXml(tagName, {\r\n rgb: tag.rgb,\r\n theme: tag.theme\r\n })\r\n }\r\n};\r\nvar _default = colorHelper;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (exporter/excel/excel.font_helper.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 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.default = void 0;\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _excel = _interopRequireDefault(require(\"./excel.tag_helper\"));\r\nvar _excel2 = _interopRequireDefault(require(\"./excel.color_helper\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar fontHelper = {\r\n tryCreateTag: function(sourceObj) {\r\n var result = null;\r\n if ((0, _type.isDefined)(sourceObj)) {\r\n result = {\r\n size: sourceObj.size,\r\n name: sourceObj.name,\r\n family: sourceObj.family,\r\n scheme: sourceObj.scheme,\r\n bold: sourceObj.bold,\r\n italic: sourceObj.italic,\r\n underline: sourceObj.underline,\r\n color: _excel2.default.tryCreateTag(sourceObj.color)\r\n };\r\n if (fontHelper.isEmpty(result)) {\r\n result = null\r\n }\r\n }\r\n return result\r\n },\r\n copy: function(source) {\r\n var result = null;\r\n if ((0, _type.isDefined)(source)) {\r\n result = {};\r\n if (void 0 !== source.size) {\r\n result.size = source.size\r\n }\r\n if (void 0 !== source.name) {\r\n result.name = source.name\r\n }\r\n if (void 0 !== source.family) {\r\n result.family = source.family\r\n }\r\n if (void 0 !== source.scheme) {\r\n result.scheme = source.scheme\r\n }\r\n if (void 0 !== source.bold) {\r\n result.bold = source.bold\r\n }\r\n if (void 0 !== source.italic) {\r\n result.italic = source.italic\r\n }\r\n if (void 0 !== source.underline) {\r\n result.underline = source.underline\r\n }\r\n if (void 0 !== source.color) {\r\n result.color = _excel2.default.copy(source.color)\r\n }\r\n }\r\n return result\r\n },\r\n areEqual: function(leftTag, rightTag) {\r\n return fontHelper.isEmpty(leftTag) && fontHelper.isEmpty(rightTag) || (0, _type.isDefined)(leftTag) && (0, _type.isDefined)(rightTag) && leftTag.size === rightTag.size && leftTag.name === rightTag.name && leftTag.family === rightTag.family && leftTag.scheme === rightTag.scheme && (leftTag.bold === rightTag.bold || !leftTag.bold === !rightTag.bold) && (leftTag.italic === rightTag.italic || !leftTag.italic === !rightTag.italic) && leftTag.underline === rightTag.underline && _excel2.default.areEqual(leftTag.color, rightTag.color)\r\n },\r\n isEmpty: function(tag) {\r\n return !(0, _type.isDefined)(tag) || !(0, _type.isDefined)(tag.size) && !(0, _type.isDefined)(tag.name) && !(0, _type.isDefined)(tag.family) && !(0, _type.isDefined)(tag.scheme) && (!(0, _type.isDefined)(tag.bold) || !tag.bold) && (!(0, _type.isDefined)(tag.italic) || !tag.italic) && !(0, _type.isDefined)(tag.underline) && _excel2.default.isEmpty(tag.color)\r\n },\r\n toXml: function(tag) {\r\n var content = [(0, _type.isDefined)(tag.bold) && tag.bold ? _excel.default.toXml(\"b\", {}) : \"\", (0, _type.isDefined)(tag.size) ? _excel.default.toXml(\"sz\", {\r\n val: tag.size\r\n }) : \"\", (0, _type.isDefined)(tag.color) ? _excel2.default.toXml(\"color\", tag.color) : \"\", (0, _type.isDefined)(tag.name) ? _excel.default.toXml(\"name\", {\r\n val: tag.name\r\n }) : \"\", (0, _type.isDefined)(tag.family) ? _excel.default.toXml(\"family\", {\r\n val: tag.family\r\n }) : \"\", (0, _type.isDefined)(tag.scheme) ? _excel.default.toXml(\"scheme\", {\r\n val: tag.scheme\r\n }) : \"\", (0, _type.isDefined)(tag.italic) && tag.italic ? _excel.default.toXml(\"i\", {}) : \"\", (0, _type.isDefined)(tag.underline) ? _excel.default.toXml(\"u\", {\r\n val: tag.underline\r\n }) : \"\"].join(\"\");\r\n return _excel.default.toXml(\"font\", {}, content)\r\n }\r\n};\r\nvar _default = fontHelper;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (exporter/image_creator.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 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.getData = getData;\r\nexports.imageCreator = void 0;\r\nexports.testFormats = testFormats;\r\nvar _renderer = _interopRequireDefault(require(\"../core/renderer\"));\r\nvar _color = _interopRequireDefault(require(\"../color\"));\r\nvar _type = require(\"../core/utils/type\");\r\nvar _svg = require(\"../core/utils/svg\");\r\nvar _iterator = require(\"../core/utils/iterator\");\r\nvar _extend = require(\"../core/utils/extend\");\r\nvar _dom_adapter = _interopRequireDefault(require(\"../core/dom_adapter\"));\r\nvar _dom = require(\"../core/utils/dom\");\r\nvar _window = require(\"../core/utils/window\");\r\nvar _inflector = require(\"../core/utils/inflector\");\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 window = (0, _window.getWindow)();\r\nvar _math = Math;\r\nvar PI = _math.PI;\r\nvar _min = _math.min;\r\nvar _abs = _math.abs;\r\nvar _sqrt = _math.sqrt;\r\nvar _pow = _math.pow;\r\nvar _atan2 = _math.atan2;\r\nvar _cos = _math.cos;\r\nvar _sin = _math.sin;\r\nvar _number = Number;\r\nvar IMAGE_QUALITY = 1;\r\nvar TEXT_DECORATION_LINE_WIDTH_COEFF = .05;\r\nvar DEFAULT_FONT_SIZE = \"10px\";\r\nvar DEFAULT_FONT_FAMILY = \"sans-serif\";\r\nvar DEFAULT_TEXT_COLOR = \"#000\";\r\nvar parseAttributes;\r\n\r\nfunction createCanvas(width, height, margin) {\r\n var canvas = (0, _renderer.default)(\"\")[0];\r\n canvas.width = width + 2 * margin;\r\n canvas.height = height + 2 * margin;\r\n canvas.hidden = true;\r\n return canvas\r\n}\r\n\r\nfunction getStringFromCanvas(canvas, mimeType) {\r\n var dataURL = canvas.toDataURL(mimeType, IMAGE_QUALITY);\r\n var imageData = window.atob(dataURL.substring((\"data:\" + mimeType + \";base64,\").length));\r\n return imageData\r\n}\r\n\r\nfunction arcTo(x1, y1, x2, y2, radius, largeArcFlag, clockwise, context) {\r\n var cBx = (x1 + x2) / 2;\r\n var cBy = (y1 + y2) / 2;\r\n var aB = _atan2(y1 - y2, x1 - x2);\r\n var k = largeArcFlag ? 1 : -1;\r\n aB += 90 * (PI / 180) * (clockwise ? 1 : -1);\r\n var opSide = _sqrt(_pow(x2 - x1, 2) + _pow(y2 - y1, 2)) / 2;\r\n var adjSide = _sqrt(_abs(_pow(radius, 2) - _pow(opSide, 2)));\r\n var centerX = cBx + k * (adjSide * _cos(aB));\r\n var centerY = cBy + k * (adjSide * _sin(aB));\r\n var startAngle = _atan2(y1 - centerY, x1 - centerX);\r\n var endAngle = _atan2(y2 - centerY, x2 - centerX);\r\n context.arc(centerX, centerY, radius, startAngle, endAngle, !clockwise)\r\n}\r\n\r\nfunction getElementOptions(element, rootAppended) {\r\n var attr = parseAttributes(element.attributes || {});\r\n var options = (0, _extend.extend)({}, attr, {\r\n text: element.textContent.replace(/\\s+/g, \" \"),\r\n textAlign: \"middle\" === attr[\"text-anchor\"] ? \"center\" : attr[\"text-anchor\"]\r\n });\r\n var transform = attr.transform;\r\n var coords;\r\n if (transform) {\r\n coords = transform.match(/translate\\(-*\\d+([.]\\d+)*(,*\\s*-*\\d+([.]\\d+)*)*/);\r\n if (coords) {\r\n coords = coords[0].match(/-*\\d+([.]\\d+)*/g);\r\n options.translateX = _number(coords[0]);\r\n options.translateY = coords[1] ? _number(coords[1]) : 0\r\n }\r\n coords = transform.match(/rotate\\(-*\\d+([.]\\d+)*(,*\\s*-*\\d+([.]\\d+)*,*\\s*-*\\d+([.]\\d+)*)*/);\r\n if (coords) {\r\n coords = coords[0].match(/-*\\d+([.]\\d+)*/g);\r\n options.rotationAngle = _number(coords[0]);\r\n options.rotationX = coords[1] && _number(coords[1]);\r\n options.rotationY = coords[2] && _number(coords[2])\r\n }\r\n coords = transform.match(/scale\\(-*\\d+([.]\\d+)*(,*\\s*-*\\d+([.]\\d+)*)*/);\r\n if (coords) {\r\n coords = coords[0].match(/-*\\d+([.]\\d+)*/g);\r\n options.scaleX = _number(coords[0]);\r\n if (coords.length > 1) {\r\n options.scaleY = _number(coords[1])\r\n } else {\r\n options.scaleY = options.scaleX\r\n }\r\n }\r\n }\r\n parseStyles(element, options, rootAppended);\r\n return options\r\n}\r\n\r\nfunction drawRect(context, options) {\r\n var x = options.x;\r\n var y = options.y;\r\n var width = options.width;\r\n var height = options.height;\r\n var cornerRadius = options.rx;\r\n if (!cornerRadius) {\r\n context.rect(x, y, width, height)\r\n } else {\r\n cornerRadius = _min(cornerRadius, width / 2, height / 2);\r\n context.save();\r\n context.translate(x, y);\r\n context.moveTo(width / 2, 0);\r\n context.arcTo(width, 0, width, height, cornerRadius);\r\n context.arcTo(width, height, 0, height, cornerRadius);\r\n context.arcTo(0, height, 0, 0, cornerRadius);\r\n context.arcTo(0, 0, cornerRadius, 0, cornerRadius);\r\n context.lineTo(width / 2, 0);\r\n context.restore()\r\n }\r\n}\r\n\r\nfunction drawImage(context, options, shared) {\r\n var d = new _deferred.Deferred;\r\n var image = new window.Image;\r\n image.onload = function() {\r\n context.save();\r\n context.globalAlpha = options.globalAlpha;\r\n transformElement(context, options);\r\n clipElement(context, options, shared);\r\n context.drawImage(image, options.x, options.y, options.width, options.height);\r\n context.restore();\r\n d.resolve()\r\n };\r\n image.onerror = function() {\r\n d.resolve()\r\n };\r\n image.setAttribute(\"crossOrigin\", \"anonymous\");\r\n image.src = options.href || options[\"xlink:href\"];\r\n return d\r\n}\r\n\r\nfunction drawPath(context, dAttr) {\r\n var dArray = dAttr.replace(/,/g, \" \").split(/([A-Z])/i).filter(function(item) {\r\n return \"\" !== item.trim()\r\n });\r\n var i = 0;\r\n var params;\r\n var prevParams;\r\n var prevParamsLen;\r\n do {\r\n params = (dArray[i + 1] || \"\").trim().split(\" \");\r\n switch (dArray[i]) {\r\n case \"M\":\r\n context.moveTo(_number(params[0]), _number(params[1]));\r\n i += 2;\r\n break;\r\n case \"L\":\r\n for (var j = 0; j < params.length / 2; j++) {\r\n context.lineTo(_number(params[2 * j]), _number(params[2 * j + 1]))\r\n }\r\n i += 2;\r\n break;\r\n case \"C\":\r\n context.bezierCurveTo(_number(params[0]), _number(params[1]), _number(params[2]), _number(params[3]), _number(params[4]), _number(params[5]));\r\n i += 2;\r\n break;\r\n case \"a\":\r\n prevParams = dArray[i - 1].trim().split(\" \");\r\n prevParamsLen = prevParams.length - 1;\r\n arcTo(_number(prevParams[prevParamsLen - 1]), _number(prevParams[prevParamsLen]), _number(prevParams[prevParamsLen - 1]) + _number(params[5]), _number(prevParams[prevParamsLen]) + _number(params[6]), _number(params[0]), _number(params[3]), _number(params[4]), context);\r\n i += 2;\r\n break;\r\n case \"A\":\r\n prevParams = dArray[i - 1].trim().split(\" \");\r\n prevParamsLen = prevParams.length - 1;\r\n arcTo(_number(prevParams[prevParamsLen - 1]), _number(prevParams[prevParamsLen]), _number(params[5]), _number(params[6]), _number(params[0]), _number(params[3]), _number(params[4]), context);\r\n i += 2;\r\n break;\r\n case \"Z\":\r\n context.closePath();\r\n i += 1;\r\n break;\r\n default:\r\n i++\r\n }\r\n } while (i < dArray.length)\r\n}\r\n\r\nfunction parseStyles(element, options, rootAppended) {\r\n var style = element.style || {};\r\n var field;\r\n for (field in style) {\r\n if (\"\" !== style[field]) {\r\n options[(0, _inflector.camelize)(field)] = style[field]\r\n }\r\n }\r\n if (rootAppended && _dom_adapter.default.isElementNode(element)) {\r\n style = window.getComputedStyle(element);\r\n [\"fill\", \"stroke\", \"stroke-width\", \"font-family\", \"font-size\", \"font-style\", \"font-weight\"].forEach(function(prop) {\r\n if (prop in style && \"\" !== style[prop]) {\r\n options[(0, _inflector.camelize)(prop)] = style[prop]\r\n }\r\n });\r\n [\"opacity\", \"fill-opacity\", \"stroke-opacity\"].forEach(function(prop) {\r\n if (prop in style && \"\" !== style[prop] && \"1\" !== style[prop]) {\r\n options[prop] = _number(style[prop])\r\n }\r\n })\r\n }\r\n options.textDecoration = options.textDecoration || options.textDecorationLine;\r\n options.globalAlpha = (0, _type.isDefined)(options.opacity) ? options.opacity : options.globalAlpha\r\n}\r\n\r\nfunction parseUrl(urlString) {\r\n var matches = urlString && urlString.match(/url\\(.*#(.*?)[\"']?\\)/i);\r\n return matches && matches[1]\r\n}\r\n\r\nfunction setFontStyle(context, options) {\r\n var fontParams = [];\r\n options.fontSize = options.fontSize || DEFAULT_FONT_SIZE;\r\n options.fontFamily = options.fontFamily || DEFAULT_FONT_FAMILY;\r\n options.fill = options.fill || DEFAULT_TEXT_COLOR;\r\n options.fontStyle && fontParams.push(options.fontStyle);\r\n options.fontWeight && fontParams.push(options.fontWeight);\r\n fontParams.push(options.fontSize);\r\n fontParams.push(options.fontFamily);\r\n context.font = fontParams.join(\" \");\r\n context.textAlign = options.textAlign;\r\n context.fillStyle = options.fill;\r\n context.globalAlpha = options.globalAlpha\r\n}\r\n\r\nfunction drawText(context, options, shared) {\r\n setFontStyle(context, options);\r\n applyFilter(context, options, shared);\r\n options.text && context.fillText(options.text, options.x || 0, options.y || 0);\r\n strokeElement(context, options, true);\r\n drawTextDecoration(context, options, shared)\r\n}\r\n\r\nfunction drawTextDecoration(context, options, shared) {\r\n if (!options.textDecoration || \"none\" === options.textDecoration) {\r\n return\r\n }\r\n var x = options.x;\r\n var textWidth = context.measureText(options.text).width;\r\n var textHeight = parseInt(options.fontSize, 10);\r\n var lineHeight = textHeight * TEXT_DECORATION_LINE_WIDTH_COEFF < 1 ? 1 : textHeight * TEXT_DECORATION_LINE_WIDTH_COEFF;\r\n var y = options.y;\r\n switch (options.textDecoration) {\r\n case \"line-through\":\r\n y -= textHeight / 3 + lineHeight / 2;\r\n break;\r\n case \"overline\":\r\n y -= textHeight - lineHeight;\r\n break;\r\n case \"underline\":\r\n y += lineHeight\r\n }\r\n context.rect(x, y, textWidth, lineHeight);\r\n fillElement(context, options, shared);\r\n strokeElement(context, options)\r\n}\r\n\r\nfunction aggregateOpacity(options) {\r\n options.strokeOpacity = void 0 !== options[\"stroke-opacity\"] ? options[\"stroke-opacity\"] : 1;\r\n options.fillOpacity = void 0 !== options[\"fill-opacity\"] ? options[\"fill-opacity\"] : 1;\r\n if (void 0 !== options.opacity) {\r\n options.strokeOpacity *= options.opacity;\r\n options.fillOpacity *= options.opacity\r\n }\r\n}\r\n\r\nfunction hasTspan(element) {\r\n var nodes = element.childNodes;\r\n for (var i = 0; i < nodes.length; i++) {\r\n if (\"tspan\" === nodes[i].tagName) {\r\n return true\r\n }\r\n }\r\n return false\r\n}\r\n\r\nfunction drawTextElement(childNodes, context, options, shared) {\r\n var lines = [];\r\n var line;\r\n var offset = 0;\r\n for (var i = 0; i < childNodes.length; i++) {\r\n var element = childNodes[i];\r\n if (void 0 === element.tagName) {\r\n drawElement(element, context, options, shared)\r\n } else {\r\n if (\"tspan\" === element.tagName || \"text\" === element.tagName) {\r\n var elementOptions = getElementOptions(element, shared.rootAppended);\r\n var mergedOptions = (0, _extend.extend)({}, options, elementOptions);\r\n if (\"tspan\" === element.tagName && hasTspan(element)) {\r\n drawTextElement(element.childNodes, context, mergedOptions, shared);\r\n continue\r\n }\r\n mergedOptions.textAlign = \"start\";\r\n if (!line || void 0 !== elementOptions.x) {\r\n line = {\r\n elements: [],\r\n options: [],\r\n widths: [],\r\n offsets: []\r\n };\r\n lines.push(line)\r\n }\r\n if (void 0 !== elementOptions.y) {\r\n offset = 0\r\n }\r\n if (void 0 !== elementOptions.dy) {\r\n offset += parseFloat(elementOptions.dy)\r\n }\r\n line.elements.push(element);\r\n line.options.push(mergedOptions);\r\n line.offsets.push(offset);\r\n setFontStyle(context, mergedOptions);\r\n line.widths.push(context.measureText(mergedOptions.text).width)\r\n }\r\n }\r\n }\r\n lines.forEach(function(line) {\r\n var commonWidth = line.widths.reduce(function(commonWidth, width) {\r\n return commonWidth + width\r\n }, 0);\r\n var xDiff = 0;\r\n var currentOffset = 0;\r\n if (\"center\" === options.textAlign) {\r\n xDiff = commonWidth / 2\r\n }\r\n if (\"end\" === options.textAlign) {\r\n xDiff = commonWidth\r\n }\r\n line.options.forEach(function(o, index) {\r\n var width = line.widths[index];\r\n o.x = o.x - xDiff + currentOffset;\r\n o.y += line.offsets[index];\r\n currentOffset += width\r\n });\r\n line.elements.forEach(function(element, index) {\r\n drawTextElement(element.childNodes, context, line.options[index], shared)\r\n })\r\n })\r\n}\r\n\r\nfunction drawElement(element, context, parentOptions, shared) {\r\n var tagName = element.tagName;\r\n var isText = \"text\" === tagName || \"tspan\" === tagName || void 0 === tagName;\r\n var isImage = \"image\" === tagName;\r\n var options = (0, _extend.extend)({}, parentOptions, getElementOptions(element, shared.rootAppended));\r\n if (\"hidden\" === options.visibility || options[\"hidden-for-export\"]) {\r\n return\r\n }\r\n context.save();\r\n !isImage && transformElement(context, options);\r\n clipElement(context, options, shared);\r\n aggregateOpacity(options);\r\n var promise;\r\n context.beginPath();\r\n switch (element.tagName) {\r\n case void 0:\r\n drawText(context, options, shared);\r\n break;\r\n case \"text\":\r\n case \"tspan\":\r\n drawTextElement(element.childNodes, context, options, shared);\r\n break;\r\n case \"image\":\r\n promise = drawImage(context, options, shared);\r\n break;\r\n case \"path\":\r\n drawPath(context, options.d);\r\n break;\r\n case \"rect\":\r\n drawRect(context, options);\r\n context.closePath();\r\n break;\r\n case \"circle\":\r\n context.arc(options.cx, options.cy, options.r, 0, 2 * PI, 1)\r\n }\r\n if (!isText) {\r\n applyFilter(context, options, shared);\r\n fillElement(context, options, shared);\r\n strokeElement(context, options)\r\n }\r\n applyGradient(context, options, shared, element);\r\n context.restore();\r\n return promise\r\n}\r\n\r\nfunction applyGradient(context, options, _ref, element) {\r\n var gradients = _ref.gradients;\r\n if (0 === gradients.length) {\r\n return\r\n }\r\n var id = parseUrl(options.fill);\r\n if (id && gradients[id]) {\r\n var box = element.getBBox();\r\n var gradient = context.createLinearGradient(box.x, 0, box.x + box.width, 0);\r\n gradients[id].forEach(function(opt) {\r\n var offset = parseInt(opt.offset.replace(/%/, \"\"));\r\n gradient.addColorStop(offset / 100, opt.stopColor)\r\n });\r\n context.globalAlpha = options.opacity;\r\n context.fillStyle = gradient;\r\n context.fill()\r\n }\r\n}\r\n\r\nfunction applyFilter(context, options, shared) {\r\n var filterOptions;\r\n var id = parseUrl(options.filter);\r\n if (id) {\r\n filterOptions = shared.filters[id];\r\n if (!filterOptions) {\r\n filterOptions = {\r\n offsetX: 0,\r\n offsetY: 0,\r\n blur: 0,\r\n color: \"#000\"\r\n }\r\n }\r\n context.shadowOffsetX = filterOptions.offsetX;\r\n context.shadowOffsetY = filterOptions.offsetY;\r\n context.shadowColor = filterOptions.color;\r\n context.shadowBlur = filterOptions.blur\r\n }\r\n}\r\n\r\nfunction transformElement(context, options) {\r\n context.translate(options.translateX || 0, options.translateY || 0);\r\n options.translateX = void 0;\r\n options.translateY = void 0;\r\n if (options.rotationAngle) {\r\n context.translate(options.rotationX || 0, options.rotationY || 0);\r\n context.rotate(options.rotationAngle * PI / 180);\r\n context.translate(-(options.rotationX || 0), -(options.rotationY || 0));\r\n options.rotationAngle = void 0;\r\n options.rotationX = void 0;\r\n options.rotationY = void 0\r\n }\r\n if (isFinite(options.scaleX)) {\r\n context.scale(options.scaleX, options.scaleY);\r\n options.scaleX = void 0;\r\n options.scaleY = void 0\r\n }\r\n}\r\n\r\nfunction clipElement(context, options, shared) {\r\n if (options[\"clip-path\"]) {\r\n drawElement(shared.clipPaths[parseUrl(options[\"clip-path\"])], context, {}, shared);\r\n context.clip();\r\n options[\"clip-path\"] = void 0\r\n }\r\n}\r\n\r\nfunction hex2rgba(hexColor, alpha) {\r\n var color = new _color.default(hexColor);\r\n return \"rgba(\" + color.r + \",\" + color.g + \",\" + color.b + \",\" + alpha + \")\"\r\n}\r\n\r\nfunction createGradient(element) {\r\n var options = [];\r\n (0, _iterator.each)(element.childNodes, function(_, _ref2) {\r\n var attributes = _ref2.attributes;\r\n options.push({\r\n offset: attributes.offset.value,\r\n stopColor: attributes[\"stop-color\"].value\r\n })\r\n });\r\n return options\r\n}\r\n\r\nfunction createFilter(element) {\r\n var color;\r\n var opacity;\r\n var filterOptions = {};\r\n (0, _iterator.each)(element.childNodes, function(_, node) {\r\n var attr = node.attributes;\r\n if (!attr.result) {\r\n return\r\n }\r\n switch (attr.result.value) {\r\n case \"gaussianBlurResult\":\r\n filterOptions.blur = _number(attr.stdDeviation.value);\r\n break;\r\n case \"offsetResult\":\r\n filterOptions.offsetX = _number(attr.dx.value);\r\n filterOptions.offsetY = _number(attr.dy.value);\r\n break;\r\n case \"floodResult\":\r\n color = attr[\"flood-color\"] ? attr[\"flood-color\"].value : \"#000\";\r\n opacity = attr[\"flood-opacity\"] ? attr[\"flood-opacity\"].value : 1;\r\n filterOptions.color = hex2rgba(color, opacity)\r\n }\r\n });\r\n return filterOptions\r\n}\r\n\r\nfunction asyncEach(array, callback) {\r\n var d = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : new _deferred.Deferred;\r\n var i = 0;\r\n for (; i < array.length; i++) {\r\n var result = callback(array[i]);\r\n if ((0, _type.isPromise)(result)) {\r\n result.then(function() {\r\n asyncEach(Array.prototype.slice.call(array, i + 1), callback, d)\r\n });\r\n break\r\n }\r\n }\r\n if (i === array.length) {\r\n d.resolve()\r\n }\r\n return d\r\n}\r\n\r\nfunction drawCanvasElements(elements, context, parentOptions, shared) {\r\n return asyncEach(elements, function(element) {\r\n switch (element.tagName && element.tagName.toLowerCase()) {\r\n case \"g\":\r\n case \"svg\":\r\n var options = (0, _extend.extend)({}, parentOptions, getElementOptions(element, shared.rootAppended));\r\n context.save();\r\n transformElement(context, options);\r\n clipElement(context, options, shared);\r\n var onDone = function() {\r\n context.restore()\r\n };\r\n var d = drawCanvasElements(element.childNodes, context, options, shared);\r\n if ((0, _type.isPromise)(d)) {\r\n d.then(onDone)\r\n } else {\r\n onDone()\r\n }\r\n return d;\r\n case \"defs\":\r\n return drawCanvasElements(element.childNodes, context, {}, shared);\r\n case \"clippath\":\r\n shared.clipPaths[element.attributes.id.textContent] = element.childNodes[0];\r\n break;\r\n case \"pattern\":\r\n shared.patterns[element.attributes.id.textContent] = element;\r\n break;\r\n case \"filter\":\r\n shared.filters[element.id] = createFilter(element);\r\n break;\r\n case \"lineargradient\":\r\n shared.gradients[element.attributes.id.textContent] = createGradient(element);\r\n break;\r\n default:\r\n return drawElement(element, context, parentOptions, shared)\r\n }\r\n })\r\n}\r\n\r\nfunction setLineDash(context, options) {\r\n var matches = options[\"stroke-dasharray\"] && options[\"stroke-dasharray\"].match(/(\\d+)/g);\r\n if (matches && matches.length) {\r\n matches = (0, _iterator.map)(matches, function(item) {\r\n return _number(item)\r\n });\r\n context.setLineDash(matches)\r\n }\r\n}\r\n\r\nfunction strokeElement(context, options, isText) {\r\n var stroke = options.stroke;\r\n if (stroke && \"none\" !== stroke && 0 !== options[\"stroke-width\"]) {\r\n setLineDash(context, options);\r\n context.lineJoin = options[\"stroke-linejoin\"];\r\n context.lineWidth = options[\"stroke-width\"];\r\n context.globalAlpha = options.strokeOpacity;\r\n context.strokeStyle = stroke;\r\n isText ? context.strokeText(options.text, options.x, options.y) : context.stroke();\r\n context.globalAlpha = 1\r\n }\r\n}\r\n\r\nfunction getPattern(context, pattern, shared) {\r\n var options = getElementOptions(pattern, shared.rootAppended);\r\n var patternCanvas = createCanvas(options.width, options.height, 0);\r\n var patternContext = patternCanvas.getContext(\"2d\");\r\n drawCanvasElements(pattern.childNodes, patternContext, options, shared);\r\n return context.createPattern(patternCanvas, \"repeat\")\r\n}\r\n\r\nfunction fillElement(context, options, shared) {\r\n var fill = options.fill;\r\n if (fill && \"none\" !== fill) {\r\n if (fill.search(/url/) === -1) {\r\n context.fillStyle = fill\r\n } else {\r\n var pattern = shared.patterns[parseUrl(fill)];\r\n if (!pattern) {\r\n return\r\n }\r\n context.fillStyle = getPattern(context, pattern, shared)\r\n }\r\n context.globalAlpha = options.fillOpacity;\r\n context.fill();\r\n context.globalAlpha = 1\r\n }\r\n}\r\nparseAttributes = function(attributes) {\r\n var newAttributes = {};\r\n var attr;\r\n (0, _iterator.each)(attributes, function(index, item) {\r\n attr = item.textContent;\r\n if (isFinite(attr)) {\r\n attr = _number(attr)\r\n }\r\n newAttributes[item.name.toLowerCase()] = attr\r\n });\r\n return newAttributes\r\n};\r\n\r\nfunction drawBackground(context, width, height, backgroundColor, margin) {\r\n context.fillStyle = backgroundColor || \"#ffffff\";\r\n context.fillRect(-margin, -margin, width + 2 * margin, height + 2 * margin)\r\n}\r\n\r\nfunction createInvisibleDiv() {\r\n var invisibleDiv = _dom_adapter.default.createElement(\"div\");\r\n invisibleDiv.style.left = \"-9999px\";\r\n invisibleDiv.style.position = \"absolute\";\r\n return invisibleDiv\r\n}\r\n\r\nfunction convertSvgToCanvas(svg, canvas, rootAppended) {\r\n return drawCanvasElements(svg.childNodes, canvas.getContext(\"2d\"), {}, {\r\n clipPaths: {},\r\n patterns: {},\r\n filters: {},\r\n gradients: {},\r\n rootAppended: rootAppended\r\n })\r\n}\r\n\r\nfunction getCanvasFromSvg(markup, _ref3) {\r\n var width = _ref3.width,\r\n height = _ref3.height,\r\n backgroundColor = _ref3.backgroundColor,\r\n margin = _ref3.margin,\r\n pixelRatio = _ref3.pixelRatio,\r\n _ref3$svgToCanvas = _ref3.svgToCanvas,\r\n svgToCanvas = void 0 === _ref3$svgToCanvas ? convertSvgToCanvas : _ref3$svgToCanvas;\r\n var canvas = createCanvas(width, height, margin);\r\n var context = canvas.getContext(\"2d\");\r\n context.setTransform(pixelRatio, 0, 0, pixelRatio, 0, 0);\r\n var svgElem = (0, _svg.getSvgElement)(markup);\r\n var invisibleDiv;\r\n var markupIsDomElement = _dom_adapter.default.isElementNode(markup);\r\n context.translate(margin, margin);\r\n _dom_adapter.default.getBody().appendChild(canvas);\r\n if (!markupIsDomElement) {\r\n invisibleDiv = createInvisibleDiv();\r\n invisibleDiv.appendChild(svgElem);\r\n _dom_adapter.default.getBody().appendChild(invisibleDiv)\r\n }\r\n if (svgElem.attributes.direction) {\r\n canvas.dir = svgElem.attributes.direction.textContent\r\n }\r\n drawBackground(context, width, height, backgroundColor, margin);\r\n return (0, _deferred.fromPromise)(svgToCanvas(svgElem, canvas, markupIsDomElement && (0, _dom.contains)(_dom_adapter.default.getBody(), markup))).then(function() {\r\n return canvas\r\n }).always(function() {\r\n invisibleDiv && _dom_adapter.default.getBody().removeChild(invisibleDiv);\r\n _dom_adapter.default.getBody().removeChild(canvas)\r\n })\r\n}\r\nvar imageCreator = {\r\n getImageData: function(markup, options) {\r\n var mimeType = \"image/\" + options.format;\r\n if ((0, _type.isFunction)(options.__parseAttributesFn)) {\r\n parseAttributes = options.__parseAttributesFn\r\n }\r\n return getCanvasFromSvg(markup, options).then(function(canvas) {\r\n return getStringFromCanvas(canvas, mimeType)\r\n })\r\n },\r\n getData: function(markup, options) {\r\n var that = this;\r\n return imageCreator.getImageData(markup, options).then(function(binaryData) {\r\n var mimeType = \"image/\" + options.format;\r\n var data = (0, _type.isFunction)(window.Blob) && !options.forceProxy ? that._getBlob(binaryData, mimeType) : that._getBase64(binaryData);\r\n return data\r\n })\r\n },\r\n _getBlob: function(binaryData, mimeType) {\r\n var i;\r\n var dataArray = new Uint8Array(binaryData.length);\r\n for (i = 0; i < binaryData.length; i++) {\r\n dataArray[i] = binaryData.charCodeAt(i)\r\n }\r\n return new window.Blob([dataArray.buffer], {\r\n type: mimeType\r\n })\r\n },\r\n _getBase64: function(binaryData) {\r\n return window.btoa(binaryData)\r\n }\r\n};\r\nexports.imageCreator = imageCreator;\r\n\r\nfunction getData(data, options) {\r\n return imageCreator.getData(data, options)\r\n}\r\n\r\nfunction testFormats(formats) {\r\n var canvas = createCanvas(100, 100, 0);\r\n return formats.reduce(function(r, f) {\r\n var mimeType = (\"image/\" + f).toLowerCase();\r\n if (canvas.toDataURL(mimeType).indexOf(mimeType) !== -1) {\r\n r.supported.push(f)\r\n } else {\r\n r.unsupported.push(f)\r\n }\r\n return r\r\n }, {\r\n supported: [],\r\n unsupported: []\r\n })\r\n}\r\n","/**\r\n * DevExtreme (file_management/file_system_item.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 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.default = void 0;\r\nvar _type = require(\"../core/utils/type\");\r\nvar _utils = require(\"./utils\");\r\n\r\nfunction _toConsumableArray(arr) {\r\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread()\r\n}\r\n\r\nfunction _nonIterableSpread() {\r\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")\r\n}\r\n\r\nfunction _unsupportedIterableToArray(o, minLen) {\r\n if (!o) {\r\n return\r\n }\r\n if (\"string\" === typeof o) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n var n = Object.prototype.toString.call(o).slice(8, -1);\r\n if (\"Object\" === n && o.constructor) {\r\n n = o.constructor.name\r\n }\r\n if (\"Map\" === n || \"Set\" === n) {\r\n return Array.from(o)\r\n }\r\n if (\"Arguments\" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) {\r\n return _arrayLikeToArray(o, minLen)\r\n }\r\n}\r\n\r\nfunction _iterableToArray(iter) {\r\n if (\"undefined\" !== typeof Symbol && null != iter[Symbol.iterator] || null != iter[\"@@iterator\"]) {\r\n return Array.from(iter)\r\n }\r\n}\r\n\r\nfunction _arrayWithoutHoles(arr) {\r\n if (Array.isArray(arr)) {\r\n return _arrayLikeToArray(arr)\r\n }\r\n}\r\n\r\nfunction _arrayLikeToArray(arr, len) {\r\n if (null == len || len > arr.length) {\r\n len = arr.length\r\n }\r\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\r\n arr2[i] = arr[i]\r\n }\r\n return arr2\r\n}\r\nvar FileSystemItem = function() {\r\n function FileSystemItem() {\r\n var ctor = (0, _type.isString)(arguments[0]) ? this._publicCtor : this._internalCtor;\r\n ctor.apply(this, arguments)\r\n }\r\n var _proto = FileSystemItem.prototype;\r\n _proto._internalCtor = function(pathInfo, name, isDirectory, key) {\r\n this.name = name || \"\";\r\n this.pathInfo = pathInfo && _toConsumableArray(pathInfo) || [];\r\n this.parentPath = this._getPathByPathInfo(this.pathInfo);\r\n this.relativeName = (0, _utils.pathCombine)(this.parentPath, name);\r\n this.key = key || this._getPathByPathInfo(this.getFullPathInfo(), true);\r\n this.path = (0, _utils.pathCombine)(this.parentPath, name);\r\n this.pathKeys = this.pathInfo.map(function(_ref) {\r\n var key = _ref.key;\r\n return key\r\n });\r\n if (!this.isRoot()) {\r\n this.pathKeys.push(this.key)\r\n }\r\n this._initialize(isDirectory)\r\n };\r\n _proto._publicCtor = function(path, isDirectory, pathKeys) {\r\n this.path = path || \"\";\r\n this.pathKeys = pathKeys || [];\r\n var pathInfo = [];\r\n var parts = (0, _utils.getPathParts)(path, true);\r\n for (var i = 0; i < parts.length - 1; i++) {\r\n var part = parts[i];\r\n var pathInfoPart = {\r\n key: this.pathKeys[i] || part,\r\n name: (0, _utils.getName)(part)\r\n };\r\n pathInfo.push(pathInfoPart)\r\n }\r\n this.pathInfo = pathInfo;\r\n this.relativeName = path;\r\n this.name = (0, _utils.getName)(path);\r\n this.key = this.pathKeys.length ? this.pathKeys[this.pathKeys.length - 1] : path;\r\n this.parentPath = parts.length > 1 ? parts[parts.length - 2] : \"\";\r\n this._initialize(isDirectory)\r\n };\r\n _proto._initialize = function(isDirectory) {\r\n this.isDirectory = !!isDirectory;\r\n this.size = 0;\r\n this.dateModified = new Date;\r\n this.thumbnail = \"\";\r\n this.tooltipText = \"\"\r\n };\r\n _proto.getFullPathInfo = function() {\r\n var pathInfo = _toConsumableArray(this.pathInfo);\r\n if (!this.isRoot()) {\r\n pathInfo.push({\r\n key: this.key,\r\n name: this.name\r\n })\r\n }\r\n return pathInfo\r\n };\r\n _proto.isRoot = function() {\r\n return \"\" === this.path\r\n };\r\n _proto.getFileExtension = function() {\r\n return this.isDirectory ? \"\" : (0, _utils.getFileExtension)(this.name)\r\n };\r\n _proto.equals = function(item) {\r\n return item && this.key === item.key\r\n };\r\n _proto.createClone = function() {\r\n var result = new FileSystemItem(this.pathInfo, this.name, this.isDirectory, this.key);\r\n result.key = this.key;\r\n result.size = this.size;\r\n result.dateModified = this.dateModified;\r\n result.thumbnail = this.thumbnail;\r\n result.tooltipText = this.tooltipText;\r\n result.hasSubDirectories = this.hasSubDirectories;\r\n result.dataItem = this.dataItem;\r\n return result\r\n };\r\n _proto._getPathByPathInfo = function(pathInfo, escape) {\r\n return pathInfo.map(function(info) {\r\n return escape ? (0, _utils.getEscapedFileName)(info.name) : info.name\r\n }).join(_utils.PATH_SEPARATOR)\r\n };\r\n return FileSystemItem\r\n}();\r\nvar _default = FileSystemItem;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = module.exports;\r\n","/**\r\n * DevExtreme (events/core/hook_touch_props.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 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.default = _default;\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\n\r\nfunction _default(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\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (events/utils/add_namespace.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 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.default = void 0;\r\nvar _errors = _interopRequireDefault(require(\"../../core/errors\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar addNamespace = function addNamespace(eventNames, namespace) {\r\n if (!namespace) {\r\n throw _errors.default.Error(\"E0017\")\r\n }\r\n if (Array.isArray(eventNames)) {\r\n return eventNames.map(function(eventName) {\r\n return addNamespace(eventName, namespace)\r\n }).join(\" \")\r\n }\r\n if (eventNames.indexOf(\" \") !== -1) {\r\n return addNamespace(eventNames.split(/\\s+/g), namespace)\r\n }\r\n return \"\".concat(eventNames, \".\").concat(namespace)\r\n};\r\nvar _default = addNamespace;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (events/utils/event_nodes_disposing.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 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.unsubscribeNodesDisposing = exports.subscribeNodesDisposing = void 0;\r\nvar _events_engine = _interopRequireDefault(require(\"../core/events_engine\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar REMOVE_EVENT_NAME = \"dxremove\";\r\n\r\nfunction nodesByEvent(event) {\r\n return event && [event.target, event.delegateTarget, event.relatedTarget, event.currentTarget].filter(function(node) {\r\n return !!node\r\n })\r\n}\r\nvar subscribeNodesDisposing = function(event, callback) {\r\n _events_engine.default.one(nodesByEvent(event), REMOVE_EVENT_NAME, callback)\r\n};\r\nexports.subscribeNodesDisposing = subscribeNodesDisposing;\r\nvar unsubscribeNodesDisposing = function(event, callback) {\r\n _events_engine.default.off(nodesByEvent(event), REMOVE_EVENT_NAME, callback)\r\n};\r\nexports.unsubscribeNodesDisposing = unsubscribeNodesDisposing;\r\n","/**\r\n * DevExtreme (events/pointer/mspointer.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 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.default = void 0;\r\nvar _base = _interopRequireDefault(require(\"./base\"));\r\nvar _observer = _interopRequireDefault(require(\"./observer\"));\r\nvar _extend = require(\"../../core/utils/extend\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\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.default(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 = _base.default.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((0, _extend.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\nvar _default = MsPointerStrategy;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (events/pointer/mouse_and_touch.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 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.default = void 0;\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _base = _interopRequireDefault(require(\"./base\"));\r\nvar _mouse = _interopRequireDefault(require(\"./mouse\"));\r\nvar _touch = _interopRequireDefault(require(\"./touch\"));\r\nvar _index = require(\"../utils/index\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\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 _mouse.default.activate();\r\n activated = true\r\n};\r\nvar MouseAndTouchStrategy = _base.default.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 isMouse = (0, _index.isMouseEvent)(e);\r\n if (!isMouse) {\r\n this._skipNextEvents = true\r\n }\r\n if (isMouse && this._mouseLocked) {\r\n return\r\n }\r\n if (isMouse && 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 normalizer = (0, _index.isMouseEvent)(args.originalEvent) ? _mouse.default.normalize : _touch.default.normalize;\r\n return this.callBase((0, _extend.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 = _mouse.default.resetObserver;\r\nvar _default = MouseAndTouchStrategy;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (events/core/keyboard_processor.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 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.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _events_engine = _interopRequireDefault(require(\"../../events/core/events_engine\"));\r\nvar _class = _interopRequireDefault(require(\"../../core/class\"));\r\nvar _array = require(\"../../core/utils/array\");\r\nvar _index = require(\"../../events/utils/index\");\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 = _class.default.inherit({\r\n _keydown: (0, _index.addNamespace)(KEYDOWN_EVENT, NAMESPACE),\r\n _compositionStart: (0, _index.addNamespace)(COMPOSITION_START_EVENT, NAMESPACE),\r\n _compositionEnd: (0, _index.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, _renderer.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 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_engine.default.on(this._element, this._keydown, this._processFunction);\r\n _events_engine.default.on(this._element, this._compositionStart, this._toggleProcessingWithContext);\r\n _events_engine.default.on(this._element, this._compositionEnd, this._toggleProcessingWithContext)\r\n }\r\n },\r\n dispose: function() {\r\n if (this._element) {\r\n _events_engine.default.off(this._element, this._keydown, this._processFunction);\r\n _events_engine.default.off(this._element, this._compositionStart, this._toggleProcessingWithContext);\r\n _events_engine.default.off(this._element, this._compositionEnd, this._toggleProcessingWithContext)\r\n }\r\n this._element = void 0;\r\n this._handler = void 0\r\n },\r\n process: function(e) {\r\n this._handler({\r\n keyName: (0, _index.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 },\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\nvar _default = KeyboardProcessor;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (exporter/excel_creator.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 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.ExcelCreator = void 0;\r\nexports.getData = getData;\r\nvar _class = _interopRequireDefault(require(\"../core/class\"));\r\nvar _window = require(\"../core/utils/window\");\r\nvar _type = require(\"../core/utils/type\");\r\nvar _extend = require(\"../core/utils/extend\");\r\nvar _ui = _interopRequireDefault(require(\"../ui/widget/ui.errors\"));\r\nvar _string = require(\"../core/utils/string\");\r\nvar _jszip = _interopRequireDefault(require(\"jszip\"));\r\nvar _file_saver = require(\"./file_saver\");\r\nvar _excel_format_converter = _interopRequireDefault(require(\"./excel_format_converter\"));\r\nvar _excel = _interopRequireDefault(require(\"./excel/excel.file\"));\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 _typeof(obj) {\r\n \"@babel/helpers - typeof\";\r\n return _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 }, _typeof(obj)\r\n}\r\nvar XML_TAG = '';\r\nvar GROUP_SHEET_PR_XML = '';\r\nvar SINGLE_SHEET_PR_XML = \"\";\r\nvar BASE_STYLE_XML2 = '';\r\nvar OPEN_XML_FORMAT_URL = \"http://schemas.openxmlformats.org\";\r\nvar RELATIONSHIP_PART_NAME = \"rels\";\r\nvar XL_FOLDER_NAME = \"xl\";\r\nvar WORKBOOK_FILE_NAME = \"workbook.xml\";\r\nvar CONTENTTYPES_FILE_NAME = \"[Content_Types].xml\";\r\nvar SHAREDSTRING_FILE_NAME = \"sharedStrings.xml\";\r\nvar STYLE_FILE_NAME = \"styles.xml\";\r\nvar WORKSHEETS_FOLDER = \"worksheets\";\r\nvar WORKSHEET_FILE_NAME = \"sheet1.xml\";\r\nvar WORKSHEET_HEADER_XML = '';\r\nvar VALID_TYPES = {\r\n \"boolean\": \"b\",\r\n date: \"d\",\r\n number: \"n\",\r\n string: \"s\"\r\n};\r\nvar EXCEL_START_TIME = Date.UTC(1899, 11, 30);\r\nvar DAYS_COUNT_BEFORE_29_FEB_1900 = 60;\r\nvar MAX_DIGIT_WIDTH_IN_PIXELS = 7;\r\nvar UNSUPPORTED_FORMAT_MAPPING = {\r\n quarter: \"shortDate\",\r\n quarterAndYear: \"shortDate\",\r\n minute: \"longTime\",\r\n millisecond: \"longTime\"\r\n};\r\nvar ExcelCreator = _class.default.inherit({\r\n _getXMLTag: function(tagName, attributes, content) {\r\n var result = \"<\" + tagName;\r\n var i;\r\n var length = attributes.length;\r\n var attr;\r\n for (i = 0; i < length; i++) {\r\n attr = attributes[i];\r\n if (void 0 !== attr.value) {\r\n result = result + \" \" + attr.name + '=\"' + attr.value + '\"'\r\n }\r\n }\r\n return (0, _type.isDefined)(content) ? result + \">\" + content + \"\" : result + \" />\"\r\n },\r\n _convertToExcelCellRef: function(zeroBasedRowIndex, zeroBasedCellIndex) {\r\n var columnName = \"\";\r\n var max = 26;\r\n var charCode;\r\n var isCellIndexFound;\r\n while (!isCellIndexFound) {\r\n charCode = 65 + (zeroBasedCellIndex >= max ? zeroBasedCellIndex % max : Math.ceil(zeroBasedCellIndex));\r\n columnName = String.fromCharCode(charCode) + columnName;\r\n if (zeroBasedCellIndex >= max) {\r\n zeroBasedCellIndex = Math.floor(zeroBasedCellIndex / max) - 1\r\n } else {\r\n isCellIndexFound = true\r\n }\r\n }\r\n return columnName + (zeroBasedRowIndex + 1)\r\n },\r\n _convertToExcelCellRefAndTrackMaxIndex: function(rowIndex, cellIndex) {\r\n if (this._maxRowIndex < Number(rowIndex)) {\r\n this._maxRowIndex = Number(rowIndex)\r\n }\r\n if (this._maxColumnIndex < Number(cellIndex)) {\r\n this._maxColumnIndex = Number(cellIndex)\r\n }\r\n return this._convertToExcelCellRef(rowIndex, cellIndex)\r\n },\r\n _getDataType: function(dataType) {\r\n return VALID_TYPES[dataType] || VALID_TYPES.string\r\n },\r\n _tryGetExcelCellDataType: function(object) {\r\n if ((0, _type.isDefined)(object)) {\r\n if (\"number\" === typeof object) {\r\n if (isFinite(object)) {\r\n return VALID_TYPES.number\r\n } else {\r\n return VALID_TYPES.string\r\n }\r\n } else {\r\n if ((0, _type.isString)(object)) {\r\n return VALID_TYPES.string\r\n } else {\r\n if ((0, _type.isDate)(object)) {\r\n return VALID_TYPES.number\r\n } else {\r\n if ((0, _type.isBoolean)(object)) {\r\n return VALID_TYPES.boolean\r\n }\r\n }\r\n }\r\n }\r\n }\r\n },\r\n _formatObjectConverter: function(format, dataType) {\r\n var result = {\r\n format: format,\r\n precision: format && format.precision,\r\n dataType: dataType\r\n };\r\n if ((0, _type.isObject)(format)) {\r\n return (0, _extend.extend)(result, format, {\r\n format: format.formatter || format.type,\r\n currency: format.currency\r\n })\r\n }\r\n return result\r\n },\r\n _tryConvertToExcelNumberFormat: function(format, dataType) {\r\n var newFormat = this._formatObjectConverter(format, dataType);\r\n format = newFormat.format;\r\n var currency = newFormat.currency;\r\n dataType = newFormat.dataType;\r\n if ((0, _type.isDefined)(format) && \"date\" === dataType) {\r\n format = UNSUPPORTED_FORMAT_MAPPING[format && format.type || format] || format\r\n }\r\n return _excel_format_converter.default.convertFormat(format, newFormat.precision, dataType, currency)\r\n },\r\n _appendString: function(value) {\r\n if ((0, _type.isDefined)(value)) {\r\n value = String(value);\r\n if (value.length) {\r\n value = (0, _string.encodeHtml)(value);\r\n if (void 0 === this._stringHash[value]) {\r\n this._stringHash[value] = this._stringArray.length;\r\n this._stringArray.push(value)\r\n }\r\n return this._stringHash[value]\r\n }\r\n }\r\n },\r\n _tryGetExcelDateValue: function(date) {\r\n var days;\r\n var totalTime;\r\n if ((0, _type.isDate)(date)) {\r\n days = Math.floor((Date.UTC(date.getFullYear(), date.getMonth(), date.getDate()) - EXCEL_START_TIME) / 864e5);\r\n if (days < DAYS_COUNT_BEFORE_29_FEB_1900) {\r\n days--\r\n }\r\n totalTime = (3600 * date.getHours() + 60 * date.getMinutes() + date.getSeconds()) / 86400;\r\n return days + totalTime\r\n }\r\n },\r\n _prepareValue: function(rowIndex, cellIndex) {\r\n var dataProvider = this._dataProvider;\r\n var _ref = dataProvider.getCellData(rowIndex, cellIndex) || {},\r\n cellSourceData = _ref.cellSourceData;\r\n var _ref2 = dataProvider.getCellData(rowIndex, cellIndex) || {},\r\n value = _ref2.value;\r\n var sourceValue;\r\n var type = this._getDataType(dataProvider.getCellType(rowIndex, cellIndex));\r\n if (type === VALID_TYPES.date && !(0, _type.isDate)(value)) {\r\n type = VALID_TYPES.string\r\n }\r\n switch (type) {\r\n case VALID_TYPES.string:\r\n sourceValue = value;\r\n value = this._appendString(value);\r\n break;\r\n case VALID_TYPES.date:\r\n sourceValue = value;\r\n value = this._tryGetExcelDateValue(value);\r\n type = VALID_TYPES.number\r\n }\r\n return {\r\n value: value,\r\n type: type,\r\n sourceValue: sourceValue,\r\n cellSourceData: cellSourceData\r\n }\r\n },\r\n _callCustomizeExcelCell: function(_ref3) {\r\n var dataProvider = _ref3.dataProvider,\r\n value = _ref3.value,\r\n style = _ref3.style,\r\n sourceData = _ref3.sourceData;\r\n var styleCopy = _excel.default.copyCellFormat(style);\r\n var args = {\r\n value: value,\r\n numberFormat: styleCopy.numberFormat,\r\n clearStyle: function() {\r\n this.horizontalAlignment = null;\r\n this.verticalAlignment = null;\r\n this.wrapTextEnabled = null;\r\n this.font = null;\r\n this.numberFormat = null\r\n }\r\n };\r\n if ((0, _type.isDefined)(styleCopy)) {\r\n if ((0, _type.isDefined)(styleCopy.alignment)) {\r\n args.horizontalAlignment = styleCopy.alignment.horizontal;\r\n args.verticalAlignment = styleCopy.alignment.vertical;\r\n args.wrapTextEnabled = styleCopy.alignment.wrapText\r\n }\r\n args.backgroundColor = styleCopy.backgroundColor;\r\n args.fillPatternType = styleCopy.fillPatternType;\r\n args.fillPatternColor = styleCopy.fillPatternColor;\r\n args.font = styleCopy.font\r\n }\r\n dataProvider.customizeExcelCell(args, sourceData);\r\n var newStyle = styleCopy || {};\r\n newStyle.font = args.font;\r\n newStyle.alignment = newStyle.alignment || {};\r\n newStyle.alignment.horizontal = args.horizontalAlignment;\r\n newStyle.alignment.vertical = args.verticalAlignment;\r\n newStyle.alignment.wrapText = args.wrapTextEnabled;\r\n newStyle.backgroundColor = args.backgroundColor;\r\n newStyle.fillPatternType = args.fillPatternType;\r\n newStyle.fillPatternColor = args.fillPatternColor;\r\n newStyle.numberFormat = args.numberFormat;\r\n return {\r\n value: args.value,\r\n style: newStyle\r\n }\r\n },\r\n _getDataArray: function() {\r\n var that = this;\r\n var rowIndex;\r\n var cellIndex;\r\n var cellsArray;\r\n var cellData;\r\n var result = [];\r\n var dataProvider = that._dataProvider;\r\n var rowsLength = dataProvider.getRowsCount();\r\n var columns = dataProvider.getColumns();\r\n var cellsLength;\r\n for (rowIndex = 0; rowIndex < rowsLength; rowIndex++) {\r\n cellsArray = [];\r\n cellsLength = columns.length;\r\n for (cellIndex = 0; cellIndex !== cellsLength; cellIndex++) {\r\n cellData = that._prepareValue(rowIndex, cellIndex);\r\n var styleArrayIndex = dataProvider.getStyleId(rowIndex, cellIndex);\r\n var cellStyleId = this._styleArrayIndexToCellStyleIdMap[styleArrayIndex];\r\n if (dataProvider.hasCustomizeExcelCell && dataProvider.hasCustomizeExcelCell()) {\r\n var value = cellData.sourceValue || cellData.value;\r\n var modifiedExcelCell = this._callCustomizeExcelCell({\r\n dataProvider: dataProvider,\r\n value: value,\r\n style: that._styleArray[styleArrayIndex],\r\n sourceData: cellData.cellSourceData\r\n });\r\n if (modifiedExcelCell.value !== value) {\r\n if (_typeof(modifiedExcelCell.value) !== _typeof(value) || \"number\" === typeof modifiedExcelCell.value && !isFinite(modifiedExcelCell.value)) {\r\n var cellDataType = this._tryGetExcelCellDataType(modifiedExcelCell.value);\r\n if ((0, _type.isDefined)(cellDataType)) {\r\n cellData.type = cellDataType\r\n }\r\n }\r\n switch (cellData.type) {\r\n case VALID_TYPES.string:\r\n cellData.value = this._appendString(modifiedExcelCell.value);\r\n break;\r\n case VALID_TYPES.date:\r\n cellData.value = modifiedExcelCell.value;\r\n break;\r\n case VALID_TYPES.number:\r\n var newValue = modifiedExcelCell.value;\r\n var excelDateValue = this._tryGetExcelDateValue(newValue);\r\n if ((0, _type.isDefined)(excelDateValue)) {\r\n newValue = excelDateValue\r\n }\r\n cellData.value = newValue;\r\n break;\r\n default:\r\n cellData.value = modifiedExcelCell.value\r\n }\r\n }\r\n cellStyleId = this._excelFile.registerCellFormat(modifiedExcelCell.style)\r\n }\r\n cellsArray.push({\r\n style: cellStyleId,\r\n value: cellData.value,\r\n type: cellData.type\r\n })\r\n }\r\n if (!that._needSheetPr && dataProvider.getGroupLevel(rowIndex) > 0) {\r\n that._needSheetPr = true\r\n }\r\n result.push(cellsArray)\r\n }\r\n return result\r\n },\r\n _calculateWidth: function(pixelsWidth) {\r\n pixelsWidth = parseInt(pixelsWidth, 10);\r\n if (!pixelsWidth || pixelsWidth < 5) {\r\n pixelsWidth = 100\r\n }\r\n return Math.min(255, Math.floor((pixelsWidth - 5) / MAX_DIGIT_WIDTH_IN_PIXELS * 100 + .5) / 100)\r\n },\r\n _prepareStyleData: function() {\r\n var _this = this;\r\n var that = this;\r\n var styles = that._dataProvider.getStyles();\r\n that._dataProvider.getColumns().forEach(function(column) {\r\n that._colsArray.push(that._calculateWidth(column.width))\r\n });\r\n var fonts = [{\r\n size: 11,\r\n color: {\r\n theme: 1\r\n },\r\n name: \"Calibri\",\r\n family: 2,\r\n scheme: \"minor\",\r\n bold: false\r\n }, {\r\n size: 11,\r\n color: {\r\n theme: 1\r\n },\r\n name: \"Calibri\",\r\n family: 2,\r\n scheme: \"minor\",\r\n bold: true\r\n }];\r\n this._excelFile.registerFont(fonts[0]);\r\n this._excelFile.registerFont(fonts[1]);\r\n styles.forEach(function(style) {\r\n var numberFormat = that._tryConvertToExcelNumberFormat(style.format, style.dataType);\r\n if (!(0, _type.isDefined)(numberFormat)) {\r\n numberFormat = 0\r\n }\r\n that._styleArray.push({\r\n font: fonts[Number(!!style.bold)],\r\n numberFormat: numberFormat,\r\n alignment: {\r\n vertical: \"top\",\r\n wrapText: !!style.wrapText,\r\n horizontal: style.alignment || \"left\"\r\n }\r\n })\r\n });\r\n that._styleArrayIndexToCellStyleIdMap = that._styleArray.map(function(item) {\r\n return _this._excelFile.registerCellFormat(item)\r\n })\r\n },\r\n _prepareCellData: function() {\r\n this._cellsArray = this._getDataArray()\r\n },\r\n _createXMLRelationships: function(xmlRelationships) {\r\n return this._getXMLTag(\"Relationships\", [{\r\n name: \"xmlns\",\r\n value: OPEN_XML_FORMAT_URL + \"/package/2006/relationships\"\r\n }], xmlRelationships)\r\n },\r\n _createXMLRelationship: function(id, type, target) {\r\n return this._getXMLTag(\"Relationship\", [{\r\n name: \"Id\",\r\n value: \"rId\" + id\r\n }, {\r\n name: \"Type\",\r\n value: OPEN_XML_FORMAT_URL + \"/officeDocument/2006/relationships/\" + type\r\n }, {\r\n name: \"Target\",\r\n value: target\r\n }])\r\n },\r\n _getWorkbookContent: function() {\r\n var content = 'Sheet!$1:$1';\r\n return XML_TAG + this._getXMLTag(\"workbook\", [{\r\n name: \"xmlns:r\",\r\n value: OPEN_XML_FORMAT_URL + \"/officeDocument/2006/relationships\"\r\n }, {\r\n name: \"xmlns\",\r\n value: OPEN_XML_FORMAT_URL + \"/spreadsheetml/2006/main\"\r\n }], content)\r\n },\r\n _getContentTypesContent: function() {\r\n return XML_TAG + ''\r\n },\r\n _generateStylesXML: function() {\r\n var that = this;\r\n var folder = that._zip.folder(XL_FOLDER_NAME);\r\n var XML = \"\";\r\n XML += this._excelFile.generateNumberFormatsXml();\r\n XML += this._excelFile.generateFontsXml();\r\n XML += this._excelFile.generateFillsXml();\r\n XML += BASE_STYLE_XML2;\r\n XML += this._excelFile.generateCellFormatsXml();\r\n XML += that._getXMLTag(\"cellStyles\", [{\r\n name: \"count\",\r\n value: 1\r\n }], that._getXMLTag(\"cellStyle\", [{\r\n name: \"name\",\r\n value: \"Normal\"\r\n }, {\r\n name: \"xfId\",\r\n value: 0\r\n }, {\r\n name: \"builtinId\",\r\n value: 0\r\n }]));\r\n XML = XML_TAG + that._getXMLTag(\"styleSheet\", [{\r\n name: \"xmlns\",\r\n value: OPEN_XML_FORMAT_URL + \"/spreadsheetml/2006/main\"\r\n }], XML);\r\n folder.file(STYLE_FILE_NAME, XML);\r\n that._styleArray = []\r\n },\r\n _generateStringsXML: function() {\r\n var folder = this._zip.folder(XL_FOLDER_NAME);\r\n var stringIndex;\r\n var stringsLength = this._stringArray.length;\r\n var sharedStringXml = XML_TAG;\r\n for (stringIndex = 0; stringIndex < stringsLength; stringIndex++) {\r\n this._stringArray[stringIndex] = this._getXMLTag(\"si\", [], this._getXMLTag(\"t\", [], this._stringArray[stringIndex]))\r\n }\r\n sharedStringXml += this._getXMLTag(\"sst\", [{\r\n name: \"xmlns\",\r\n value: OPEN_XML_FORMAT_URL + \"/spreadsheetml/2006/main\"\r\n }, {\r\n name: \"count\",\r\n value: this._stringArray.length\r\n }, {\r\n name: \"uniqueCount\",\r\n value: this._stringArray.length\r\n }], this._stringArray.join(\"\"));\r\n folder.file(SHAREDSTRING_FILE_NAME, sharedStringXml);\r\n this._stringArray = []\r\n },\r\n _getPaneXML: function() {\r\n var attributes = [{\r\n name: \"activePane\",\r\n value: \"bottomLeft\"\r\n }, {\r\n name: \"state\",\r\n value: \"frozen\"\r\n }];\r\n var frozenArea = this._dataProvider.getFrozenArea();\r\n if (!(frozenArea.x || frozenArea.y)) {\r\n return \"\"\r\n }\r\n if (frozenArea.x) {\r\n attributes.push({\r\n name: \"xSplit\",\r\n value: frozenArea.x\r\n })\r\n }\r\n if (frozenArea.y) {\r\n attributes.push({\r\n name: \"ySplit\",\r\n value: frozenArea.y\r\n })\r\n }\r\n attributes.push({\r\n name: \"topLeftCell\",\r\n value: this._convertToExcelCellRefAndTrackMaxIndex(frozenArea.y, frozenArea.x)\r\n });\r\n return this._getXMLTag(\"pane\", attributes)\r\n },\r\n _getAutoFilterXML: function(maxCellIndex) {\r\n if (this._options.autoFilterEnabled) {\r\n return ''\r\n }\r\n return \"\"\r\n },\r\n _getIgnoredErrorsXML: function(maxCellIndex) {\r\n if (this._options.ignoreErrors) {\r\n return ''\r\n }\r\n return \"\"\r\n },\r\n _generateWorksheetXML: function() {\r\n var colIndex;\r\n var rowIndex;\r\n var cellData;\r\n var xmlCells;\r\n var xmlRows = [];\r\n var rowsLength = this._cellsArray.length;\r\n var cellsLength;\r\n var colsLength = this._colsArray.length;\r\n var rSpans = \"1:\" + colsLength;\r\n var headerRowCount = this._dataProvider.getHeaderRowCount ? this._dataProvider.getHeaderRowCount() : 1;\r\n var xmlResult = [WORKSHEET_HEADER_XML];\r\n xmlResult.push(this._needSheetPr ? GROUP_SHEET_PR_XML : SINGLE_SHEET_PR_XML);\r\n xmlResult.push('');\r\n xmlResult.push(\"');\r\n xmlResult.push(this._getPaneXML());\r\n xmlResult.push(\"\");\r\n xmlResult.push(' 0 ? this._dataProvider.getGroupLevel(0) : 0) + '\"');\r\n xmlResult.push(' x14ac:dyDescent=\"0.25\"/>');\r\n for (colIndex = 0; colIndex < colsLength; colIndex++) {\r\n this._colsArray[colIndex] = this._getXMLTag(\"col\", [{\r\n name: \"width\",\r\n value: this._colsArray[colIndex]\r\n }, {\r\n name: \"min\",\r\n value: Number(colIndex) + 1\r\n }, {\r\n name: \"max\",\r\n value: Number(colIndex) + 1\r\n }, {\r\n name: \"customWidth\",\r\n value: 1\r\n }])\r\n }\r\n xmlResult.push(this._getXMLTag(\"cols\", [], this._colsArray.join(\"\")) + \"\");\r\n for (rowIndex = 0; rowIndex < rowsLength; rowIndex++) {\r\n xmlCells = [];\r\n cellsLength = this._cellsArray[rowIndex].length;\r\n for (colIndex = 0; colIndex < cellsLength; colIndex++) {\r\n rowIndex = Number(rowIndex);\r\n cellData = this._cellsArray[rowIndex][colIndex];\r\n xmlCells.push(this._getXMLTag(\"c\", [{\r\n name: \"r\",\r\n value: this._convertToExcelCellRefAndTrackMaxIndex(rowIndex, colIndex)\r\n }, {\r\n name: \"s\",\r\n value: cellData.style\r\n }, {\r\n name: \"t\",\r\n value: cellData.type\r\n }], (0, _type.isDefined)(cellData.value) ? this._getXMLTag(\"v\", [], cellData.value) : null))\r\n }\r\n xmlRows.push(this._getXMLTag(\"row\", [{\r\n name: \"r\",\r\n value: Number(rowIndex) + 1\r\n }, {\r\n name: \"spans\",\r\n value: rSpans\r\n }, {\r\n name: \"outlineLevel\",\r\n value: rowIndex >= headerRowCount ? this._dataProvider.getGroupLevel(rowIndex) : 0\r\n }, {\r\n name: \"x14ac:dyDescent\",\r\n value: \"0.25\"\r\n }], xmlCells.join(\"\")));\r\n this._cellsArray[rowIndex] = null;\r\n if (xmlRows.length > 1e4) {\r\n xmlResult.push(xmlRows.join(\"\"));\r\n xmlRows = []\r\n }\r\n }\r\n xmlResult.push(xmlRows.join(\"\"));\r\n xmlRows = [];\r\n var rightBottomCellRef = this._convertToExcelCellRef(this._maxRowIndex, this._maxColumnIndex);\r\n xmlResult.push(\"\" + this._getAutoFilterXML(rightBottomCellRef) + this._generateMergingXML() + this._getIgnoredErrorsXML(rightBottomCellRef) + \"\");\r\n this._zip.folder(XL_FOLDER_NAME).folder(WORKSHEETS_FOLDER).file(WORKSHEET_FILE_NAME, xmlResult.join(\"\"));\r\n this._colsArray = [];\r\n this._cellsArray = [];\r\n xmlResult = []\r\n },\r\n _generateMergingXML: function() {\r\n var k;\r\n var l;\r\n var cellIndex;\r\n var rowIndex;\r\n var rowsLength = (0, _type.isDefined)(this._dataProvider.getHeaderRowCount) ? this._dataProvider.getHeaderRowCount() : this._dataProvider.getRowsCount();\r\n var columnsLength = this._dataProvider.getColumns().length;\r\n var usedArea = [];\r\n var mergeArray = [];\r\n var mergeIndex;\r\n var mergeXML = \"\";\r\n for (rowIndex = 0; rowIndex < rowsLength; rowIndex++) {\r\n for (cellIndex = 0; cellIndex !== columnsLength; cellIndex++) {\r\n if (!(0, _type.isDefined)(usedArea[rowIndex]) || !(0, _type.isDefined)(usedArea[rowIndex][cellIndex])) {\r\n var cellMerge = this._dataProvider.getCellMerging(rowIndex, cellIndex);\r\n if (cellMerge.colspan || cellMerge.rowspan) {\r\n mergeArray.push({\r\n start: this._convertToExcelCellRefAndTrackMaxIndex(rowIndex, cellIndex),\r\n end: this._convertToExcelCellRefAndTrackMaxIndex(rowIndex + (cellMerge.rowspan || 0), cellIndex + (cellMerge.colspan || 0))\r\n });\r\n for (k = rowIndex; k <= rowIndex + cellMerge.rowspan || 0; k++) {\r\n for (l = cellIndex; l <= cellIndex + cellMerge.colspan || 0; l++) {\r\n if (!(0, _type.isDefined)(usedArea[k])) {\r\n usedArea[k] = []\r\n }\r\n usedArea[k][l] = true\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n var mergeArrayLength = mergeArray.length;\r\n for (mergeIndex = 0; mergeIndex < mergeArrayLength; mergeIndex++) {\r\n mergeXML += this._getXMLTag(\"mergeCell\", [{\r\n name: \"ref\",\r\n value: mergeArray[mergeIndex].start + \":\" + mergeArray[mergeIndex].end\r\n }])\r\n }\r\n return mergeXML.length ? this._getXMLTag(\"mergeCells\", [{\r\n name: \"count\",\r\n value: mergeArrayLength\r\n }], mergeXML) : \"\"\r\n },\r\n _generateCommonXML: function() {\r\n var relsFileContent = XML_TAG + this._createXMLRelationships(this._createXMLRelationship(1, \"officeDocument\", \"xl/\" + WORKBOOK_FILE_NAME));\r\n var folder = this._zip.folder(XL_FOLDER_NAME);\r\n var relsXML = XML_TAG;\r\n this._zip.folder(\"_\" + RELATIONSHIP_PART_NAME).file(\".\" + RELATIONSHIP_PART_NAME, relsFileContent);\r\n var xmlRelationships = this._createXMLRelationship(1, \"worksheet\", \"worksheets/\" + WORKSHEET_FILE_NAME) + this._createXMLRelationship(2, \"styles\", STYLE_FILE_NAME) + this._createXMLRelationship(3, \"sharedStrings\", SHAREDSTRING_FILE_NAME);\r\n relsXML += this._createXMLRelationships(xmlRelationships);\r\n folder.folder(\"_\" + RELATIONSHIP_PART_NAME).file(WORKBOOK_FILE_NAME + \".rels\", relsXML);\r\n folder.file(WORKBOOK_FILE_NAME, this._getWorkbookContent());\r\n this._zip.file(CONTENTTYPES_FILE_NAME, this._getContentTypesContent())\r\n },\r\n _generateContent: function() {\r\n this._prepareStyleData();\r\n this._prepareCellData();\r\n this._generateWorkXML();\r\n this._generateCommonXML()\r\n },\r\n _generateWorkXML: function() {\r\n this._generateStylesXML();\r\n this._generateStringsXML();\r\n this._generateWorksheetXML()\r\n },\r\n ctor: function(dataProvider, options) {\r\n this._rtlEnabled = options && !!options.rtlEnabled;\r\n this._options = options;\r\n this._maxRowIndex = 0;\r\n this._maxColumnIndex = 0;\r\n this._stringArray = [];\r\n this._stringHash = {};\r\n this._styleArray = [];\r\n this._colsArray = [];\r\n this._cellsArray = [];\r\n this._needSheetPr = false;\r\n this._dataProvider = dataProvider;\r\n this._excelFile = new _excel.default;\r\n if ((0, _type.isDefined)(ExcelCreator.JSZip)) {\r\n this._zip = new ExcelCreator.JSZip\r\n } else {\r\n this._zip = null\r\n }\r\n },\r\n _checkZipState: function() {\r\n if (!this._zip) {\r\n throw _ui.default.Error(\"E1041\", \"JSZip\")\r\n }\r\n },\r\n ready: function() {\r\n return this._dataProvider.ready()\r\n },\r\n getData: function(isBlob) {\r\n var options = {\r\n type: isBlob ? \"blob\" : \"base64\",\r\n compression: \"DEFLATE\",\r\n mimeType: _file_saver.MIME_TYPES.EXCEL\r\n };\r\n var deferred = new _deferred.Deferred;\r\n this._checkZipState();\r\n this._generateContent();\r\n if (this._zip.generateAsync) {\r\n this._zip.generateAsync(options).then(deferred.resolve)\r\n } else {\r\n deferred.resolve(this._zip.generate(options))\r\n }\r\n return deferred\r\n }\r\n});\r\nexports.ExcelCreator = ExcelCreator;\r\nExcelCreator.JSZip = _jszip.default;\r\n\r\nfunction getData(data, options) {\r\n var excelCreator = new ExcelCreator(data, options);\r\n excelCreator._checkZipState();\r\n return excelCreator.ready().then(function() {\r\n return excelCreator.getData((0, _type.isFunction)((0, _window.getWindow)().Blob))\r\n })\r\n}\r\n","/**\r\n * DevExtreme (exporter/excel/excel.file.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 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.default = void 0;\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _excel = _interopRequireDefault(require(\"./excel.tag_helper\"));\r\nvar _excel2 = _interopRequireDefault(require(\"./excel.cell_format_helper\"));\r\nvar _excel3 = _interopRequireDefault(require(\"./excel.fill_helper\"));\r\nvar _excel4 = _interopRequireDefault(require(\"./excel.font_helper\"));\r\nvar _excel5 = _interopRequireDefault(require(\"./excel.number_format_helper\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar ExcelFile = function() {\r\n function ExcelFile() {\r\n this._cellFormatTags = [];\r\n this._fillTags = [];\r\n this._fontTags = [];\r\n this._numberFormatTags = [];\r\n this._fillTags.push(_excel3.default.tryCreateTag({\r\n patternFill: {\r\n patternType: \"none\"\r\n }\r\n }))\r\n }\r\n var _proto = ExcelFile.prototype;\r\n _proto.registerCellFormat = function(cellFormat) {\r\n var result;\r\n var cellFormatTag = _excel2.default.tryCreateTag(cellFormat, {\r\n registerFill: this.registerFill.bind(this),\r\n registerFont: this.registerFont.bind(this),\r\n registerNumberFormat: this.registerNumberFormat.bind(this)\r\n });\r\n if ((0, _type.isDefined)(cellFormatTag)) {\r\n for (var i = 0; i < this._cellFormatTags.length; i++) {\r\n if (_excel2.default.areEqual(this._cellFormatTags[i], cellFormatTag)) {\r\n result = i;\r\n break\r\n }\r\n }\r\n if (void 0 === result) {\r\n result = this._cellFormatTags.push(cellFormatTag) - 1\r\n }\r\n }\r\n return result\r\n };\r\n ExcelFile.copyCellFormat = function(source) {\r\n return _excel2.default.copy(source)\r\n };\r\n _proto.generateCellFormatsXml = function() {\r\n var cellFormatTagsAsXmlStringsArray = this._cellFormatTags.map(function(tag) {\r\n return _excel2.default.toXml(tag)\r\n });\r\n return _excel.default.toXml(\"cellXfs\", {\r\n count: cellFormatTagsAsXmlStringsArray.length\r\n }, cellFormatTagsAsXmlStringsArray.join(\"\"))\r\n };\r\n _proto.registerFill = function(fill) {\r\n var result;\r\n var fillTag = _excel3.default.tryCreateTag(fill);\r\n if ((0, _type.isDefined)(fillTag)) {\r\n for (var i = 0; i < this._fillTags.length; i++) {\r\n if (_excel3.default.areEqual(this._fillTags[i], fillTag)) {\r\n result = i;\r\n break\r\n }\r\n }\r\n if (void 0 === result) {\r\n if (this._fillTags.length < 2) {\r\n this._fillTags.push(_excel3.default.tryCreateTag({\r\n patternFill: {\r\n patternType: \"Gray125\"\r\n }\r\n }))\r\n }\r\n result = this._fillTags.push(fillTag) - 1\r\n }\r\n }\r\n return result\r\n };\r\n _proto.generateFillsXml = function() {\r\n var tagsAsXmlStringsArray = this._fillTags.map(function(tag) {\r\n return _excel3.default.toXml(tag)\r\n });\r\n return _excel.default.toXml(\"fills\", {\r\n count: tagsAsXmlStringsArray.length\r\n }, tagsAsXmlStringsArray.join(\"\"))\r\n };\r\n _proto.registerFont = function(font) {\r\n var result;\r\n var fontTag = _excel4.default.tryCreateTag(font);\r\n if ((0, _type.isDefined)(fontTag)) {\r\n for (var i = 0; i < this._fontTags.length; i++) {\r\n if (_excel4.default.areEqual(this._fontTags[i], fontTag)) {\r\n result = i;\r\n break\r\n }\r\n }\r\n if (void 0 === result) {\r\n result = this._fontTags.push(fontTag) - 1\r\n }\r\n }\r\n return result\r\n };\r\n _proto.generateFontsXml = function() {\r\n var xmlStringsArray = this._fontTags.map(function(tag) {\r\n return _excel4.default.toXml(tag)\r\n });\r\n return _excel.default.toXml(\"fonts\", {\r\n count: xmlStringsArray.length\r\n }, xmlStringsArray.join(\"\"))\r\n };\r\n _proto._convertNumberFormatIndexToId = function(index) {\r\n var CUSTOM_FORMAT_ID_START_VALUE = 165;\r\n return CUSTOM_FORMAT_ID_START_VALUE + index\r\n };\r\n _proto.registerNumberFormat = function(numberFormat) {\r\n var result;\r\n var tag = _excel5.default.tryCreateTag(numberFormat);\r\n if ((0, _type.isDefined)(tag)) {\r\n for (var i = 0; i < this._numberFormatTags.length; i++) {\r\n if (_excel5.default.areEqual(this._numberFormatTags[i], tag)) {\r\n result = this._numberFormatTags[i][_excel5.default.ID_PROPERTY_NAME];\r\n break\r\n }\r\n }\r\n if (void 0 === result) {\r\n tag[_excel5.default.ID_PROPERTY_NAME] = this._convertNumberFormatIndexToId(this._numberFormatTags.length);\r\n result = tag[_excel5.default.ID_PROPERTY_NAME];\r\n this._numberFormatTags.push(tag)\r\n }\r\n }\r\n return result\r\n };\r\n _proto.generateNumberFormatsXml = function() {\r\n if (this._numberFormatTags.length > 0) {\r\n var xmlStringsArray = this._numberFormatTags.map(function(tag) {\r\n return _excel5.default.toXml(tag)\r\n });\r\n return _excel.default.toXml(\"numFmts\", {\r\n count: xmlStringsArray.length\r\n }, xmlStringsArray.join(\"\"))\r\n } else {\r\n return \"\"\r\n }\r\n };\r\n return ExcelFile\r\n}();\r\nexports.default = ExcelFile;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (exporter/excel/excel.cell_format_helper.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 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.default = void 0;\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _excel = _interopRequireDefault(require(\"./excel.tag_helper\"));\r\nvar _excel2 = _interopRequireDefault(require(\"./excel.cell_alignment_helper\"));\r\nvar _excel3 = _interopRequireDefault(require(\"./excel.fill_helper\"));\r\nvar _excel4 = _interopRequireDefault(require(\"./excel.font_helper\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar cellFormatHelper = {\r\n tryCreateTag: function(sourceObj, sharedItemsContainer) {\r\n var result = null;\r\n if ((0, _type.isDefined)(sourceObj)) {\r\n var numberFormatId;\r\n if (\"number\" === typeof sourceObj.numberFormat) {\r\n numberFormatId = sourceObj.numberFormat\r\n } else {\r\n numberFormatId = sharedItemsContainer.registerNumberFormat(sourceObj.numberFormat)\r\n }\r\n var fill = sourceObj.fill;\r\n if (!(0, _type.isDefined)(fill)) {\r\n fill = _excel3.default.tryCreateFillFromSimpleFormat(sourceObj)\r\n }\r\n result = {\r\n numberFormatId: numberFormatId,\r\n alignment: _excel2.default.tryCreateTag(sourceObj.alignment),\r\n fontId: sharedItemsContainer.registerFont(sourceObj.font),\r\n fillId: sharedItemsContainer.registerFill(fill)\r\n };\r\n if (cellFormatHelper.isEmpty(result)) {\r\n result = null\r\n }\r\n }\r\n return result\r\n },\r\n copy: function(source) {\r\n var result;\r\n if (null === source) {\r\n result = null\r\n } else {\r\n if ((0, _type.isDefined)(source)) {\r\n result = {};\r\n if (void 0 !== source.numberFormat) {\r\n result.numberFormat = source.numberFormat\r\n }\r\n if (void 0 !== source.fill) {\r\n result.fill = _excel3.default.copy(source.fill)\r\n } else {\r\n _excel3.default.copySimpleFormat(source, result)\r\n }\r\n if (void 0 !== source.alignment) {\r\n result.alignment = _excel2.default.copy(source.alignment)\r\n }\r\n if (void 0 !== source.font) {\r\n result.font = _excel4.default.copy(source.font)\r\n }\r\n }\r\n }\r\n return result\r\n },\r\n areEqual: function(leftTag, rightTag) {\r\n return cellFormatHelper.isEmpty(leftTag) && cellFormatHelper.isEmpty(rightTag) || (0, _type.isDefined)(leftTag) && (0, _type.isDefined)(rightTag) && leftTag.fontId === rightTag.fontId && leftTag.numberFormatId === rightTag.numberFormatId && leftTag.fillId === rightTag.fillId && _excel2.default.areEqual(leftTag.alignment, rightTag.alignment)\r\n },\r\n isEmpty: function(tag) {\r\n return !(0, _type.isDefined)(tag) || !(0, _type.isDefined)(tag.fontId) && !(0, _type.isDefined)(tag.numberFormatId) && !(0, _type.isDefined)(tag.fillId) && _excel2.default.isEmpty(tag.alignment)\r\n },\r\n toXml: function(tag) {\r\n var isAlignmentEmpty = _excel2.default.isEmpty(tag.alignment);\r\n var applyNumberFormat;\r\n if ((0, _type.isDefined)(tag.numberFormatId)) {\r\n applyNumberFormat = tag.numberFormatId > 0 ? 1 : 0\r\n }\r\n return _excel.default.toXml(\"xf\", {\r\n xfId: 0,\r\n applyAlignment: isAlignmentEmpty ? null : 1,\r\n fontId: tag.fontId,\r\n applyNumberFormat: applyNumberFormat,\r\n fillId: tag.fillId,\r\n numFmtId: tag.numberFormatId\r\n }, isAlignmentEmpty ? null : _excel2.default.toXml(tag.alignment))\r\n }\r\n};\r\nvar _default = cellFormatHelper;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (exporter/excel/excel.cell_alignment_helper.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 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.default = void 0;\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _excel = _interopRequireDefault(require(\"./excel.tag_helper\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar cellAlignmentHelper = {\r\n tryCreateTag: function(sourceObj) {\r\n var result = null;\r\n if ((0, _type.isDefined)(sourceObj)) {\r\n result = {\r\n vertical: sourceObj.vertical,\r\n wrapText: sourceObj.wrapText,\r\n horizontal: sourceObj.horizontal\r\n };\r\n if (cellAlignmentHelper.isEmpty(result)) {\r\n result = null\r\n }\r\n }\r\n return result\r\n },\r\n copy: function(source) {\r\n var result = null;\r\n if ((0, _type.isDefined)(source)) {\r\n result = {};\r\n if (void 0 !== source.horizontal) {\r\n result.horizontal = source.horizontal\r\n }\r\n if (void 0 !== source.vertical) {\r\n result.vertical = source.vertical\r\n }\r\n if (void 0 !== source.wrapText) {\r\n result.wrapText = source.wrapText\r\n }\r\n }\r\n return result\r\n },\r\n areEqual: function(leftTag, rightTag) {\r\n return cellAlignmentHelper.isEmpty(leftTag) && cellAlignmentHelper.isEmpty(rightTag) || (0, _type.isDefined)(leftTag) && (0, _type.isDefined)(rightTag) && leftTag.vertical === rightTag.vertical && leftTag.wrapText === rightTag.wrapText && leftTag.horizontal === rightTag.horizontal\r\n },\r\n isEmpty: function(tag) {\r\n return !(0, _type.isDefined)(tag) || !(0, _type.isDefined)(tag.vertical) && !(0, _type.isDefined)(tag.wrapText) && !(0, _type.isDefined)(tag.horizontal)\r\n },\r\n toXml: function(tag) {\r\n return _excel.default.toXml(\"alignment\", {\r\n vertical: tag.vertical,\r\n wrapText: (0, _type.isDefined)(tag.wrapText) ? Number(tag.wrapText) : void 0,\r\n horizontal: tag.horizontal\r\n })\r\n }\r\n};\r\nvar _default = cellAlignmentHelper;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (exporter/excel/excel.pattern_fill_helper.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 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.default = void 0;\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _excel = _interopRequireDefault(require(\"./excel.tag_helper\"));\r\nvar _excel2 = _interopRequireDefault(require(\"./excel.color_helper\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar patternFillHelper = {\r\n tryCreateTag: function(sourceObj) {\r\n var result = null;\r\n if ((0, _type.isDefined)(sourceObj)) {\r\n result = {\r\n patternType: sourceObj.patternType,\r\n backgroundColor: _excel2.default.tryCreateTag(sourceObj.backgroundColor),\r\n foregroundColor: _excel2.default.tryCreateTag(sourceObj.foregroundColor)\r\n };\r\n if (patternFillHelper.isEmpty(result)) {\r\n result = null\r\n }\r\n }\r\n return result\r\n },\r\n copy: function(source) {\r\n var result = null;\r\n if ((0, _type.isDefined)(source)) {\r\n result = {};\r\n if (void 0 !== source.patternType) {\r\n result.patternType = source.patternType\r\n }\r\n if (void 0 !== source.backgroundColor) {\r\n result.backgroundColor = _excel2.default.copy(source.backgroundColor)\r\n }\r\n if (void 0 !== source.foregroundColor) {\r\n result.foregroundColor = _excel2.default.copy(source.foregroundColor)\r\n }\r\n }\r\n return result\r\n },\r\n areEqual: function(leftTag, rightTag) {\r\n return patternFillHelper.isEmpty(leftTag) && patternFillHelper.isEmpty(rightTag) || (0, _type.isDefined)(leftTag) && (0, _type.isDefined)(rightTag) && leftTag.patternType === rightTag.patternType && _excel2.default.areEqual(leftTag.backgroundColor, rightTag.backgroundColor) && _excel2.default.areEqual(leftTag.foregroundColor, rightTag.foregroundColor)\r\n },\r\n isEmpty: function(tag) {\r\n return !(0, _type.isDefined)(tag) || !(0, _type.isDefined)(tag.patternType)\r\n },\r\n toXml: function(tag) {\r\n var content = [(0, _type.isDefined)(tag.foregroundColor) ? _excel2.default.toXml(\"fgColor\", tag.foregroundColor) : \"\", (0, _type.isDefined)(tag.backgroundColor) ? _excel2.default.toXml(\"bgColor\", tag.backgroundColor) : \"\"].join(\"\");\r\n return _excel.default.toXml(\"patternFill\", {\r\n patternType: tag.patternType\r\n }, content)\r\n }\r\n};\r\nvar _default = patternFillHelper;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (exporter/excel/excel.number_format_helper.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 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.default = void 0;\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _excel = _interopRequireDefault(require(\"./excel.tag_helper\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar numberFormatHelper = {\r\n ID_PROPERTY_NAME: \"id\",\r\n tryCreateTag: function(sourceObj) {\r\n var result = null;\r\n if (\"string\" === typeof sourceObj) {\r\n result = {\r\n formatCode: sourceObj\r\n };\r\n if (numberFormatHelper.isEmpty(result)) {\r\n result = null\r\n }\r\n }\r\n return result\r\n },\r\n areEqual: function(leftTag, rightTag) {\r\n return numberFormatHelper.isEmpty(leftTag) && numberFormatHelper.isEmpty(rightTag) || (0, _type.isDefined)(leftTag) && (0, _type.isDefined)(rightTag) && leftTag.formatCode === rightTag.formatCode\r\n },\r\n isEmpty: function(tag) {\r\n return !(0, _type.isDefined)(tag) || !(0, _type.isDefined)(tag.formatCode) || \"\" === tag.formatCode\r\n },\r\n toXml: function(tag) {\r\n return _excel.default.toXml(\"numFmt\", {\r\n numFmtId: tag[numberFormatHelper.ID_PROPERTY_NAME],\r\n formatCode: tag.formatCode\r\n })\r\n }\r\n};\r\nvar _default = numberFormatHelper;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (exporter/svg_creator.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 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.getData = getData;\r\nexports.svgCreator = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../core/renderer\"));\r\nvar _ajax = _interopRequireDefault(require(\"../core/utils/ajax\"));\r\nvar _window = require(\"../core/utils/window\");\r\nvar _type = require(\"../core/utils/type\");\r\nvar _iterator = require(\"../core/utils/iterator\");\r\nvar _svg = require(\"../core/utils/svg\");\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 window = (0, _window.getWindow)();\r\nvar svgCreator = {\r\n _markup: \"\",\r\n _imageArray: {},\r\n _imageDeferreds: [],\r\n _getBinaryFile: function(src, callback) {\r\n _ajax.default.sendRequest({\r\n url: src,\r\n method: \"GET\",\r\n responseType: \"arraybuffer\"\r\n }).done(callback).fail(function() {\r\n callback(false)\r\n })\r\n },\r\n _loadImages: function() {\r\n var that = this;\r\n (0, _iterator.each)(that._imageArray, function(src) {\r\n var deferred = new _deferred.Deferred;\r\n that._imageDeferreds.push(deferred);\r\n that._getBinaryFile(src, function(response) {\r\n if (!response) {\r\n delete that._imageArray[src];\r\n deferred.resolve();\r\n return\r\n }\r\n var i;\r\n var binary = \"\";\r\n var bytes = new Uint8Array(response);\r\n var length = bytes.byteLength;\r\n for (i = 0; i < length; i++) {\r\n binary += String.fromCharCode(bytes[i])\r\n }\r\n that._imageArray[src] = \"data:image/png;base64,\" + window.btoa(binary);\r\n deferred.resolve()\r\n })\r\n })\r\n },\r\n _parseImages: function(element) {\r\n var href;\r\n var that = this;\r\n if (\"image\" === element.tagName) {\r\n href = (0, _renderer.default)(element).attr(\"href\") || (0, _renderer.default)(element).attr(\"xlink:href\");\r\n if (!that._imageArray[href]) {\r\n that._imageArray[href] = \"\"\r\n }\r\n }(0, _iterator.each)(element.childNodes, function(_, element) {\r\n that._parseImages(element)\r\n })\r\n },\r\n _prepareImages: function(svgElem) {\r\n this._parseImages(svgElem);\r\n this._loadImages();\r\n return _deferred.when.apply(_renderer.default, this._imageDeferreds)\r\n },\r\n getData: function(data, options) {\r\n var markup;\r\n var that = this;\r\n var xmlVersion = '';\r\n var svgElem = (0, _svg.getSvgElement)(data);\r\n var $svgObject = (0, _renderer.default)(svgElem);\r\n markup = xmlVersion + (0, _svg.getSvgMarkup)($svgObject.get(0), options.backgroundColor);\r\n return that._prepareImages(svgElem).then(function() {\r\n (0, _iterator.each)(that._imageArray, function(href, dataURI) {\r\n var regexpString = \"href=['|\\\"]\".concat(href, \"['|\\\"]\");\r\n markup = markup.replace(new RegExp(regexpString, \"gi\"), 'href=\"'.concat(dataURI, '\"'))\r\n });\r\n return (0, _type.isFunction)(window.Blob) ? that._getBlob(markup) : that._getBase64(markup)\r\n })\r\n },\r\n _getBlob: function(markup) {\r\n return new window.Blob([markup], {\r\n type: \"image/svg+xml\"\r\n })\r\n },\r\n _getBase64: function(markup) {\r\n return window.btoa(markup)\r\n }\r\n};\r\nexports.svgCreator = svgCreator;\r\n\r\nfunction getData(data, options) {\r\n return svgCreator.getData(data, options)\r\n}\r\n","/**\r\n * DevExtreme (exporter/pdf_creator.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 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.getData = getData;\r\nvar _version = _interopRequireDefault(require(\"../core/version\"));\r\nvar _window = require(\"../core/utils/window\");\r\nvar _image_creator = require(\"./image_creator\");\r\nvar _type = require(\"../core/utils/type\");\r\nvar _extend = require(\"../core/utils/extend\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar window = (0, _window.getWindow)();\r\nvar mainPageTemplate = \"%PDF-1.3\\r\\n2 0 obj\\r\\n<>>>\\r\\nendobj\\r\\n4 0 obj\\r\\n<>\\r\\nendobj\\r\\n7 0 obj\\r\\n<>\\r\\nendobj\\r\\n1 0 obj\\r\\n<>\\r\\nendobj\\r\\n\";\r\nvar contentTemplate = \"3 0 obj\\r\\n<>stream\\r\\n0.20 w\\n0 G\\nq _width_ 0 0 _height_ 0.00 0.00 cm /I0 Do Q\\r\\nendstream\\r\\nendobj\\r\\n\";\r\nvar infoTemplate = \"6 0 obj\\r\\n<>\\r\\nendobj\\r\\n\";\r\nvar imageStartTemplate = \"5 0 obj\\r\\n<>stream\\r\\n\";\r\nvar imageEndTemplate = \"\\r\\nendstream\\r\\nendobj\\r\\n\";\r\nvar trailerTemplate = \"trailer\\r\\n<<\\r\\n/Size 8\\r\\n/Root 7 0 R\\r\\n/Info 6 0 R\\r\\n>>\\r\\nstartxref\\r\\n_length_\\r\\n%%EOF\";\r\nvar xrefTemplate = \"xref\\r\\n0 8\\r\\n0000000000 65535 f\\r\\n0000000241 00000 n\\r\\n0000000010 00000 n\\r\\n_main_ 00000 n\\r\\n0000000089 00000 n\\r\\n_image_ 00000 n\\r\\n_info_ 00000 n\\r\\n0000000143 00000 n\\r\\n\";\r\nvar pad = function pad(str, len) {\r\n return str.length < len ? pad(\"0\" + str, len) : str\r\n};\r\nvar composePdfString = function(imageString, options, curDate) {\r\n var margin = 2 * (options.margin || 0);\r\n var width = options.width + margin;\r\n var height = options.height + margin;\r\n var widthPt = (.75 * width).toFixed(2);\r\n var heightPt = (.75 * height).toFixed(2);\r\n var mainPage = mainPageTemplate.replace(\"_width_\", widthPt).replace(\"_height_\", heightPt);\r\n var content = contentTemplate.replace(\"_width_\", widthPt).replace(\"_height_\", heightPt);\r\n var info = infoTemplate.replace(\"_date_\", curDate).replace(\"_version_\", _version.default);\r\n var image = imageStartTemplate.replace(\"_width_\", width).replace(\"_height_\", height).replace(\"_length_\", imageString.length) + imageString + imageEndTemplate;\r\n var xref = getXref(mainPage.length, content.length, info.length);\r\n var mainContent = mainPage + content + info + image;\r\n var trailer = trailerTemplate.replace(\"_length_\", mainContent.length);\r\n return mainContent + xref + trailer\r\n};\r\n\r\nfunction getXref(mainPageLength, contentLength, infoLength) {\r\n return xrefTemplate.replace(\"_main_\", pad(mainPageLength + \"\", 10)).replace(\"_info_\", pad(mainPageLength + contentLength + \"\", 10)).replace(\"_image_\", pad(mainPageLength + contentLength + infoLength + \"\", 10))\r\n}\r\nvar getCurDate = function() {\r\n return new Date\r\n};\r\nvar getBlob = function(binaryData) {\r\n var i = 0;\r\n var dataArray = new Uint8Array(binaryData.length);\r\n for (; i < binaryData.length; i++) {\r\n dataArray[i] = binaryData.charCodeAt(i)\r\n }\r\n return new window.Blob([dataArray.buffer], {\r\n type: \"application/pdf\"\r\n })\r\n};\r\nvar getBase64 = function(binaryData) {\r\n return window.btoa(binaryData)\r\n};\r\n\r\nfunction getData(data, options) {\r\n return _image_creator.imageCreator.getImageData(data, (0, _extend.extend)({}, options, {\r\n format: \"JPEG\"\r\n })).then(function(imageString) {\r\n var binaryData = composePdfString(imageString, options, getCurDate());\r\n var pdfData = (0, _type.isFunction)(window.Blob) ? getBlob(binaryData) : getBase64(binaryData);\r\n return pdfData\r\n })\r\n}\r\n","/**\r\n * DevExtreme (events/transform.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 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\n\r\nfunction _typeof(obj) {\r\n \"@babel/helpers - typeof\";\r\n return _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 }, _typeof(obj)\r\n}\r\nexports.zoomstart = exports.zoomend = exports.zoom = exports.translatestart = exports.translateend = exports.translate = exports.transformstart = exports.transformend = exports.transform = exports.rotatestart = exports.rotateend = exports.rotate = exports.pinchstart = exports.pinchend = exports.pinch = void 0;\r\nvar _math = require(\"../core/utils/math\");\r\nvar iteratorUtils = _interopRequireWildcard(require(\"../core/utils/iterator\"));\r\nvar _index = require(\"./utils/index\");\r\nvar _emitter = _interopRequireDefault(require(\"./core/emitter\"));\r\nvar _emitter_registrator = _interopRequireDefault(require(\"./core/emitter_registrator\"));\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 _getRequireWildcardCache(nodeInterop) {\r\n if (\"function\" !== typeof WeakMap) {\r\n return null\r\n }\r\n var cacheBabelInterop = new WeakMap;\r\n var cacheNodeInterop = new WeakMap;\r\n return (_getRequireWildcardCache = function(nodeInterop) {\r\n return nodeInterop ? cacheNodeInterop : cacheBabelInterop\r\n })(nodeInterop)\r\n}\r\n\r\nfunction _interopRequireWildcard(obj, nodeInterop) {\r\n if (!nodeInterop && obj && obj.__esModule) {\r\n return obj\r\n }\r\n if (null === obj || \"object\" !== _typeof(obj) && \"function\" !== typeof obj) {\r\n return {\r\n \"default\": obj\r\n }\r\n }\r\n var cache = _getRequireWildcardCache(nodeInterop);\r\n if (cache && cache.has(obj)) {\r\n return cache.get(obj)\r\n }\r\n var newObj = {};\r\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\r\n for (var key in obj) {\r\n if (\"default\" !== key && Object.prototype.hasOwnProperty.call(obj, key)) {\r\n var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;\r\n if (desc && (desc.get || desc.set)) {\r\n Object.defineProperty(newObj, key, desc)\r\n } else {\r\n newObj[key] = obj[key]\r\n }\r\n }\r\n }\r\n newObj.default = obj;\r\n if (cache) {\r\n cache.set(obj, newObj)\r\n }\r\n return newObj\r\n}\r\nvar DX_PREFIX = \"dx\";\r\nvar TRANSFORM = \"transform\";\r\nvar TRANSLATE = \"translate\";\r\nvar PINCH = \"pinch\";\r\nvar ROTATE = \"rotate\";\r\nvar START_POSTFIX = \"start\";\r\nvar UPDATE_POSTFIX = \"\";\r\nvar END_POSTFIX = \"end\";\r\nvar eventAliases = [];\r\nvar addAlias = function(eventName, eventArgs) {\r\n eventAliases.push({\r\n name: eventName,\r\n args: eventArgs\r\n })\r\n};\r\naddAlias(TRANSFORM, {\r\n scale: true,\r\n deltaScale: true,\r\n rotation: true,\r\n deltaRotation: true,\r\n translation: true,\r\n deltaTranslation: true\r\n});\r\naddAlias(TRANSLATE, {\r\n translation: true,\r\n deltaTranslation: true\r\n});\r\naddAlias(PINCH, {\r\n scale: true,\r\n deltaScale: true\r\n});\r\naddAlias(ROTATE, {\r\n rotation: true,\r\n deltaRotation: true\r\n});\r\nvar getVector = function(first, second) {\r\n return {\r\n x: second.pageX - first.pageX,\r\n y: -second.pageY + first.pageY,\r\n centerX: .5 * (second.pageX + first.pageX),\r\n centerY: .5 * (second.pageY + first.pageY)\r\n }\r\n};\r\nvar getEventVector = function(e) {\r\n var pointers = e.pointers;\r\n return getVector(pointers[0], pointers[1])\r\n};\r\nvar getDistance = function(vector) {\r\n return Math.sqrt(vector.x * vector.x + vector.y * vector.y)\r\n};\r\nvar getScale = function(firstVector, secondVector) {\r\n return getDistance(firstVector) / getDistance(secondVector)\r\n};\r\nvar getRotation = function(firstVector, secondVector) {\r\n var scalarProduct = firstVector.x * secondVector.x + firstVector.y * secondVector.y;\r\n var distanceProduct = getDistance(firstVector) * getDistance(secondVector);\r\n if (0 === distanceProduct) {\r\n return 0\r\n }\r\n var sign = (0, _math.sign)(firstVector.x * secondVector.y - secondVector.x * firstVector.y);\r\n var angle = Math.acos((0, _math.fitIntoRange)(scalarProduct / distanceProduct, -1, 1));\r\n return sign * angle\r\n};\r\nvar getTranslation = function(firstVector, secondVector) {\r\n return {\r\n x: firstVector.centerX - secondVector.centerX,\r\n y: firstVector.centerY - secondVector.centerY\r\n }\r\n};\r\nvar TransformEmitter = _emitter.default.inherit({\r\n validatePointers: function(e) {\r\n return (0, _index.hasTouches)(e) > 1\r\n },\r\n start: function(e) {\r\n this._accept(e);\r\n var startVector = getEventVector(e);\r\n this._startVector = startVector;\r\n this._prevVector = startVector;\r\n this._fireEventAliases(START_POSTFIX, e)\r\n },\r\n move: function(e) {\r\n var currentVector = getEventVector(e);\r\n var eventArgs = this._getEventArgs(currentVector);\r\n this._fireEventAliases(UPDATE_POSTFIX, e, eventArgs);\r\n this._prevVector = currentVector\r\n },\r\n end: function(e) {\r\n var eventArgs = this._getEventArgs(this._prevVector);\r\n this._fireEventAliases(END_POSTFIX, e, eventArgs)\r\n },\r\n _getEventArgs: function(vector) {\r\n return {\r\n scale: getScale(vector, this._startVector),\r\n deltaScale: getScale(vector, this._prevVector),\r\n rotation: getRotation(vector, this._startVector),\r\n deltaRotation: getRotation(vector, this._prevVector),\r\n translation: getTranslation(vector, this._startVector),\r\n deltaTranslation: getTranslation(vector, this._prevVector)\r\n }\r\n },\r\n _fireEventAliases: function(eventPostfix, originalEvent, eventArgs) {\r\n eventArgs = eventArgs || {};\r\n iteratorUtils.each(eventAliases, function(_, eventAlias) {\r\n var args = {};\r\n iteratorUtils.each(eventAlias.args, function(name) {\r\n if (name in eventArgs) {\r\n args[name] = eventArgs[name]\r\n }\r\n });\r\n this._fireEvent(DX_PREFIX + eventAlias.name + eventPostfix, originalEvent, args)\r\n }.bind(this))\r\n }\r\n});\r\nvar eventNames = eventAliases.reduce(function(result, eventAlias) {\r\n [START_POSTFIX, UPDATE_POSTFIX, END_POSTFIX].forEach(function(eventPostfix) {\r\n result.push(DX_PREFIX + eventAlias.name + eventPostfix)\r\n });\r\n return result\r\n}, []);\r\n(0, _emitter_registrator.default)({\r\n emitter: TransformEmitter,\r\n events: eventNames\r\n});\r\nvar exportNames = {};\r\niteratorUtils.each(eventNames, function(_, eventName) {\r\n exportNames[eventName.substring(DX_PREFIX.length)] = eventName\r\n});\r\nvar transformstart = exportNames.transformstart,\r\n transform = exportNames.transform,\r\n transformend = exportNames.transformend,\r\n translatestart = exportNames.translatestart,\r\n translate = exportNames.translate,\r\n translateend = exportNames.translateend,\r\n zoomstart = exportNames.zoomstart,\r\n zoom = exportNames.zoom,\r\n zoomend = exportNames.zoomend,\r\n pinchstart = exportNames.pinchstart,\r\n pinch = exportNames.pinch,\r\n pinchend = exportNames.pinchend,\r\n rotatestart = exportNames.rotatestart,\r\n rotate = exportNames.rotate,\r\n rotateend = exportNames.rotateend;\r\nexports.rotateend = rotateend;\r\nexports.rotate = rotate;\r\nexports.rotatestart = rotatestart;\r\nexports.pinchend = pinchend;\r\nexports.pinch = pinch;\r\nexports.pinchstart = pinchstart;\r\nexports.zoomend = zoomend;\r\nexports.zoom = zoom;\r\nexports.zoomstart = zoomstart;\r\nexports.translateend = translateend;\r\nexports.translate = translate;\r\nexports.translatestart = translatestart;\r\nexports.transformend = transformend;\r\nexports.transform = transform;\r\nexports.transformstart = transformstart;\r\n","/**\r\n * DevExtreme (file_management/object_provider.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 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.default = void 0;\r\nvar _array = require(\"../core/utils/array\");\r\nvar _common = require(\"../core/utils/common\");\r\nvar _data = require(\"../core/utils/data\");\r\nvar _guid = _interopRequireDefault(require(\"../core/guid\"));\r\nvar _type = require(\"../core/utils/type\");\r\nvar _errors = _interopRequireDefault(require(\"../data/errors\"));\r\nvar _deferred = require(\"../core/utils/deferred\");\r\nvar _window = require(\"../core/utils/window\");\r\nvar _file_saver = require(\"../exporter/file_saver\");\r\nvar _ui = _interopRequireDefault(require(\"../ui/widget/ui.errors\"));\r\nvar _jszip = _interopRequireDefault(require(\"jszip\"));\r\nvar _provider_base = _interopRequireDefault(require(\"./provider_base\"));\r\nvar _errors2 = _interopRequireDefault(require(\"./errors\"));\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 _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf || function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar window = (0, _window.getWindow)();\r\nvar ObjectFileSystemProvider = function(_FileSystemProviderBa) {\r\n _inheritsLoose(ObjectFileSystemProvider, _FileSystemProviderBa);\r\n\r\n function ObjectFileSystemProvider(options) {\r\n var _this;\r\n options = (0, _common.ensureDefined)(options, {});\r\n _this = _FileSystemProviderBa.call(this, options) || this;\r\n var initialArray = options.data;\r\n if (initialArray && !Array.isArray(initialArray)) {\r\n throw _errors.default.errors.Error(\"E4006\")\r\n }\r\n var itemsExpr = options.itemsExpr || \"items\";\r\n _this._subFileItemsGetter = (0, _data.compileGetter)(itemsExpr);\r\n _this._subFileItemsSetter = _this._getSetter(itemsExpr);\r\n var contentExpr = options.contentExpr || \"content\";\r\n _this._contentGetter = (0, _data.compileGetter)(contentExpr);\r\n _this._contentSetter = _this._getSetter(contentExpr);\r\n var nameExpr = _this._getNameExpr(options);\r\n _this._nameSetter = _this._getSetter(nameExpr);\r\n var isDirExpr = _this._getIsDirExpr(options);\r\n _this._getIsDirSetter = _this._getSetter(isDirExpr);\r\n var keyExpr = _this._getKeyExpr(options);\r\n _this._keySetter = _this._getSetter(keyExpr);\r\n var sizeExpr = _this._getSizeExpr(options);\r\n _this._sizeSetter = _this._getSetter(sizeExpr);\r\n var dateModifiedExpr = _this._getDateModifiedExpr(options);\r\n _this._dateModifiedSetter = _this._getSetter(dateModifiedExpr);\r\n _this._data = initialArray || [];\r\n return _this\r\n }\r\n var _proto = ObjectFileSystemProvider.prototype;\r\n _proto.getItems = function(parentDir) {\r\n var _this2 = this;\r\n return this._executeActionAsDeferred(function() {\r\n return _this2._getItems(parentDir)\r\n }, true)\r\n };\r\n _proto.renameItem = function(item, name) {\r\n var _this3 = this;\r\n return this._executeActionAsDeferred(function() {\r\n return _this3._renameItemCore(item, name)\r\n })\r\n };\r\n _proto._renameItemCore = function(item, name) {\r\n if (!item) {\r\n return\r\n }\r\n var dataItem = this._findDataObject(item);\r\n this._nameSetter(dataItem, name);\r\n item.name = name;\r\n item.key = this._ensureDataObjectKey(dataItem)\r\n };\r\n _proto.createDirectory = function(parentDir, name) {\r\n var _this4 = this;\r\n return this._executeActionAsDeferred(function() {\r\n _this4._validateDirectoryExists(parentDir);\r\n _this4._createDataObject(parentDir, name, true)\r\n })\r\n };\r\n _proto.deleteItems = function(items) {\r\n var _this5 = this;\r\n return items.map(function(item) {\r\n return _this5._executeActionAsDeferred(function() {\r\n return _this5._deleteItem(item)\r\n })\r\n })\r\n };\r\n _proto.moveItems = function(items, destinationDir) {\r\n var _this6 = this;\r\n var destinationDataItem = this._findDataObject(destinationDir);\r\n var array = this._getDirectoryDataItems(destinationDataItem);\r\n var deferreds = items.map(function(item) {\r\n return _this6._executeActionAsDeferred(function() {\r\n _this6._checkAbilityToMoveOrCopyItem(item, destinationDir);\r\n var dataItem = _this6._findDataObject(item);\r\n _this6._deleteItem(item);\r\n array.push(dataItem)\r\n })\r\n });\r\n return deferreds\r\n };\r\n _proto.copyItems = function(items, destinationDir) {\r\n var _this7 = this;\r\n var destinationDataItem = this._findDataObject(destinationDir);\r\n var array = this._getDirectoryDataItems(destinationDataItem);\r\n var deferreds = items.map(function(item) {\r\n return _this7._executeActionAsDeferred(function() {\r\n _this7._checkAbilityToMoveOrCopyItem(item, destinationDir);\r\n var dataItem = _this7._findDataObject(item);\r\n var copiedItem = _this7._createCopy(dataItem);\r\n array.push(copiedItem)\r\n })\r\n });\r\n return deferreds\r\n };\r\n _proto.uploadFileChunk = function(fileData, chunksInfo, destinationDirectory) {\r\n var _this8 = this;\r\n if (chunksInfo.chunkIndex > 0) {\r\n return chunksInfo.customData.deferred\r\n }\r\n this._validateDirectoryExists(destinationDirectory);\r\n var deferred = chunksInfo.customData.deferred = new _deferred.Deferred;\r\n var reader = this._createFileReader();\r\n reader.readAsDataURL(fileData);\r\n reader.onload = function() {\r\n var content = reader.result.split(\",\")[1];\r\n var dataObj = _this8._createDataObject(destinationDirectory, fileData.name, false);\r\n _this8._sizeSetter(dataObj, fileData.size);\r\n _this8._dateModifiedSetter(dataObj, fileData.lastModifiedDate);\r\n _this8._contentSetter(dataObj, content);\r\n deferred.resolve()\r\n };\r\n reader.onerror = function(error) {\r\n return deferred.reject(error)\r\n };\r\n return deferred\r\n };\r\n _proto.downloadItems = function(items) {\r\n if (1 === items.length) {\r\n this._downloadSingleFile(items[0])\r\n } else {\r\n this._downloadMultipleFiles(items)\r\n }\r\n };\r\n _proto._downloadSingleFile = function(file) {\r\n var content = this._getFileContent(file);\r\n var byteString = window.atob(content);\r\n var arrayBuffer = new ArrayBuffer(byteString.length);\r\n var array = new Uint8Array(arrayBuffer);\r\n for (var i = 0; i < byteString.length; i++) {\r\n array[i] = byteString.charCodeAt(i)\r\n }\r\n var blob = new window.Blob([arrayBuffer], {\r\n type: \"application/octet-stream\"\r\n });\r\n _file_saver.fileSaver.saveAs(file.name, null, blob)\r\n };\r\n _proto._downloadMultipleFiles = function(files) {\r\n var _this9 = this;\r\n var jsZip = getJSZip();\r\n var zip = new jsZip;\r\n files.forEach(function(file) {\r\n return zip.file(file.name, _this9._getFileContent(file), {\r\n base64: true\r\n })\r\n });\r\n var options = {\r\n type: \"blob\",\r\n compression: \"DEFLATE\",\r\n mimeType: \"application/zip\"\r\n };\r\n var deferred = new _deferred.Deferred;\r\n if (zip.generateAsync) {\r\n zip.generateAsync(options).then(deferred.resolve)\r\n } else {\r\n deferred.resolve(zip.generate(options))\r\n }\r\n deferred.done(function(blob) {\r\n return _file_saver.fileSaver.saveAs(\"files.zip\", null, blob)\r\n })\r\n };\r\n _proto._getFileContent = function(file) {\r\n var dataItem = this._findDataObject(file);\r\n return this._contentGetter(dataItem) || \"\"\r\n };\r\n _proto._validateDirectoryExists = function(directoryInfo) {\r\n if (!this._isFileItemExists(directoryInfo) || this._isDirGetter(directoryInfo.fileItem)) {\r\n throw {\r\n errorId: _errors2.default.DirectoryNotFound,\r\n fileItem: directoryInfo\r\n }\r\n }\r\n };\r\n _proto._checkAbilityToMoveOrCopyItem = function(item, destinationDir) {\r\n var _this10 = this;\r\n var dataItem = this._findDataObject(item);\r\n var itemKey = this._getKeyFromDataObject(dataItem, item.parentPath);\r\n var pathInfo = destinationDir.getFullPathInfo();\r\n var currentPath = \"\";\r\n pathInfo.forEach(function(info) {\r\n currentPath = (0, _utils.pathCombine)(currentPath, info.name);\r\n var pathKey = _this10._getDataObjectKey(info.key, currentPath);\r\n if (pathKey === itemKey) {\r\n throw {\r\n errorId: _errors2.default.Other,\r\n fileItem: item\r\n }\r\n }\r\n })\r\n };\r\n _proto._createDataObject = function(parentDir, name, isDirectory) {\r\n var dataObj = {};\r\n this._nameSetter(dataObj, name);\r\n this._getIsDirSetter(dataObj, isDirectory);\r\n this._keySetter(dataObj, String(new _guid.default));\r\n var parentDataItem = this._findDataObject(parentDir);\r\n var array = this._getDirectoryDataItems(parentDataItem);\r\n array.push(dataObj);\r\n return dataObj\r\n };\r\n _proto._createCopy = function(dataObj) {\r\n var _this11 = this;\r\n var copyObj = {};\r\n this._nameSetter(copyObj, this._nameGetter(dataObj));\r\n this._getIsDirSetter(copyObj, this._isDirGetter(dataObj));\r\n var items = this._subFileItemsGetter(dataObj);\r\n if (Array.isArray(items)) {\r\n var itemsCopy = [];\r\n items.forEach(function(childItem) {\r\n var childCopy = _this11._createCopy(childItem);\r\n itemsCopy.push(childCopy)\r\n });\r\n this._subFileItemsSetter(copyObj, itemsCopy)\r\n }\r\n return copyObj\r\n };\r\n _proto._deleteItem = function(fileItem) {\r\n var dataItem = this._findDataObject(fileItem);\r\n var parentDirDataObj = this._findFileItemObj(fileItem.pathInfo);\r\n var array = this._getDirectoryDataItems(parentDirDataObj);\r\n var index = array.indexOf(dataItem);\r\n array.splice(index, 1)\r\n };\r\n _proto._getDirectoryDataItems = function(directoryDataObj) {\r\n if (!directoryDataObj) {\r\n return this._data\r\n }\r\n var dataItems = this._subFileItemsGetter(directoryDataObj);\r\n if (!Array.isArray(dataItems)) {\r\n dataItems = [];\r\n this._subFileItemsSetter(directoryDataObj, dataItems)\r\n }\r\n return dataItems\r\n };\r\n _proto._getItems = function(parentDir) {\r\n this._validateDirectoryExists(parentDir);\r\n var pathInfo = parentDir.getFullPathInfo();\r\n var parentDirKey = pathInfo && pathInfo.length > 0 ? pathInfo[pathInfo.length - 1].key : null;\r\n var dirFileObjects = this._data;\r\n if (parentDirKey) {\r\n var directoryEntry = this._findFileItemObj(pathInfo);\r\n dirFileObjects = directoryEntry && this._subFileItemsGetter(directoryEntry) || []\r\n }\r\n this._ensureKeysForDuplicateNameItems(dirFileObjects);\r\n return this._convertDataObjectsToFileItems(dirFileObjects, pathInfo)\r\n };\r\n _proto._ensureKeysForDuplicateNameItems = function(dataObjects) {\r\n var _this12 = this;\r\n var names = {};\r\n dataObjects.forEach(function(obj) {\r\n var name = _this12._nameGetter(obj);\r\n if (names[name]) {\r\n _this12._ensureDataObjectKey(obj)\r\n } else {\r\n names[name] = true\r\n }\r\n })\r\n };\r\n _proto._findDataObject = function(item) {\r\n if (item.isRoot()) {\r\n return null\r\n }\r\n var result = this._findFileItemObj(item.getFullPathInfo());\r\n if (!result) {\r\n throw {\r\n errorId: item.isDirectory ? _errors2.default.DirectoryNotFound : _errors2.default.FileNotFound,\r\n fileItem: item\r\n }\r\n }\r\n return result\r\n };\r\n _proto._findFileItemObj = function(pathInfo) {\r\n var _this13 = this;\r\n if (!Array.isArray(pathInfo)) {\r\n pathInfo = []\r\n }\r\n var currentPath = \"\";\r\n var fileItemObj = null;\r\n var fileItemObjects = this._data;\r\n var _loop = function(i) {\r\n fileItemObj = (0, _array.find)(fileItemObjects, function(item) {\r\n var hasCorrectFileItemType = _this13._isDirGetter(item) || i === pathInfo.length - 1;\r\n return _this13._getKeyFromDataObject(item, currentPath) === pathInfo[i].key && _this13._nameGetter(item) === pathInfo[i].name && hasCorrectFileItemType\r\n });\r\n if (fileItemObj) {\r\n currentPath = (0, _utils.pathCombine)(currentPath, _this13._nameGetter(fileItemObj));\r\n fileItemObjects = _this13._subFileItemsGetter(fileItemObj)\r\n }\r\n };\r\n for (var i = 0; i < pathInfo.length && (0 === i || fileItemObj); i++) {\r\n _loop(i)\r\n }\r\n return fileItemObj\r\n };\r\n _proto._getKeyFromDataObject = function(dataObj, defaultKeyPrefix) {\r\n var key = this._keyGetter(dataObj);\r\n var relativeName = (0, _utils.pathCombine)(defaultKeyPrefix, this._nameGetter(dataObj));\r\n return this._getDataObjectKey(key, relativeName)\r\n };\r\n _proto._getDataObjectKey = function(key, relativeName) {\r\n return key ? key : relativeName\r\n };\r\n _proto._ensureDataObjectKey = function(dataObj) {\r\n var key = this._keyGetter(dataObj);\r\n if (!key) {\r\n key = String(new _guid.default);\r\n this._keySetter(dataObj, key)\r\n }\r\n return key\r\n };\r\n _proto._hasSubDirs = function(dataObj) {\r\n var subItems = (0, _common.ensureDefined)(this._subFileItemsGetter(dataObj), []);\r\n if (!Array.isArray(subItems)) {\r\n return true\r\n }\r\n for (var i = 0; i < subItems.length; i++) {\r\n if (true === this._isDirGetter(subItems[i])) {\r\n return true\r\n }\r\n }\r\n return false\r\n };\r\n _proto._getSetter = function(expr) {\r\n return (0, _type.isFunction)(expr) ? expr : (0, _data.compileSetter)(expr)\r\n };\r\n _proto._isFileItemExists = function(fileItem) {\r\n return fileItem.isDirectory && fileItem.isRoot() || !!this._findFileItemObj(fileItem.getFullPathInfo())\r\n };\r\n _proto._createFileReader = function() {\r\n return new window.FileReader\r\n };\r\n return ObjectFileSystemProvider\r\n}(_provider_base.default);\r\n\r\nfunction getJSZip() {\r\n if (!_jszip.default) {\r\n throw _ui.default.Error(\"E1041\", \"JSZip\")\r\n }\r\n return _jszip.default\r\n}\r\nvar _default = ObjectFileSystemProvider;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = module.exports;\r\n","/**\r\n * DevExtreme (file_management/remote_provider.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 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.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../core/renderer\"));\r\nvar _ajax = _interopRequireDefault(require(\"../core/utils/ajax\"));\r\nvar _common = require(\"../core/utils/common\");\r\nvar _guid = _interopRequireDefault(require(\"../core/guid\"));\r\nvar _window = require(\"../core/utils/window\");\r\nvar _iterator = require(\"../core/utils/iterator\");\r\nvar _deferred = require(\"../core/utils/deferred\");\r\nvar _events_engine = _interopRequireDefault(require(\"../events/core/events_engine\"));\r\nvar _provider_base = _interopRequireDefault(require(\"./provider_base\"));\r\nvar _data = require(\"../core/utils/data\");\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 _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf || function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar window = (0, _window.getWindow)();\r\nvar FILE_CHUNK_BLOB_NAME = \"chunk\";\r\nvar RemoteFileSystemProvider = function(_FileSystemProviderBa) {\r\n _inheritsLoose(RemoteFileSystemProvider, _FileSystemProviderBa);\r\n\r\n function RemoteFileSystemProvider(options) {\r\n var _this;\r\n options = (0, _common.ensureDefined)(options, {});\r\n _this = _FileSystemProviderBa.call(this, options) || this;\r\n _this._endpointUrl = options.endpointUrl;\r\n _this._hasSubDirsGetter = (0, _data.compileGetter)(options.hasSubDirectoriesExpr || \"hasSubDirectories\");\r\n return _this\r\n }\r\n var _proto = RemoteFileSystemProvider.prototype;\r\n _proto.getItems = function(parentDir) {\r\n var _this2 = this;\r\n var pathInfo = parentDir.getFullPathInfo();\r\n return this._getEntriesByPath(pathInfo).then(function(result) {\r\n return _this2._convertDataObjectsToFileItems(result.result, pathInfo)\r\n })\r\n };\r\n _proto.renameItem = function(item, name) {\r\n return this._executeRequest(\"Rename\", {\r\n pathInfo: item.getFullPathInfo(),\r\n isDirectory: item.isDirectory,\r\n name: name\r\n })\r\n };\r\n _proto.createDirectory = function(parentDir, name) {\r\n return this._executeRequest(\"CreateDir\", {\r\n pathInfo: parentDir.getFullPathInfo(),\r\n name: name\r\n })\r\n };\r\n _proto.deleteItems = function(items) {\r\n var _this3 = this;\r\n return items.map(function(item) {\r\n return _this3._executeRequest(\"Remove\", {\r\n pathInfo: item.getFullPathInfo(),\r\n isDirectory: item.isDirectory\r\n })\r\n })\r\n };\r\n _proto.moveItems = function(items, destinationDirectory) {\r\n var _this4 = this;\r\n return items.map(function(item) {\r\n return _this4._executeRequest(\"Move\", {\r\n sourcePathInfo: item.getFullPathInfo(),\r\n sourceIsDirectory: item.isDirectory,\r\n destinationPathInfo: destinationDirectory.getFullPathInfo()\r\n })\r\n })\r\n };\r\n _proto.copyItems = function(items, destinationFolder) {\r\n var _this5 = this;\r\n return items.map(function(item) {\r\n return _this5._executeRequest(\"Copy\", {\r\n sourcePathInfo: item.getFullPathInfo(),\r\n sourceIsDirectory: item.isDirectory,\r\n destinationPathInfo: destinationFolder.getFullPathInfo()\r\n })\r\n })\r\n };\r\n _proto.uploadFileChunk = function(fileData, chunksInfo, destinationDirectory) {\r\n if (0 === chunksInfo.chunkIndex) {\r\n chunksInfo.customData.uploadId = new _guid.default\r\n }\r\n var args = {\r\n destinationPathInfo: destinationDirectory.getFullPathInfo(),\r\n chunkMetadata: JSON.stringify({\r\n UploadId: chunksInfo.customData.uploadId,\r\n FileName: fileData.name,\r\n Index: chunksInfo.chunkIndex,\r\n TotalCount: chunksInfo.chunkCount,\r\n FileSize: fileData.size\r\n })\r\n };\r\n var formData = new window.FormData;\r\n formData.append(FILE_CHUNK_BLOB_NAME, chunksInfo.chunkBlob);\r\n formData.append(\"arguments\", JSON.stringify(args));\r\n formData.append(\"command\", \"UploadChunk\");\r\n var deferred = new _deferred.Deferred;\r\n _ajax.default.sendRequest({\r\n url: this._endpointUrl,\r\n method: \"POST\",\r\n dataType: \"json\",\r\n data: formData,\r\n upload: {\r\n onprogress: _common.noop,\r\n onloadstart: _common.noop,\r\n onabort: _common.noop\r\n },\r\n cache: false\r\n }).done(function(result) {\r\n !result.success && deferred.reject(result) || deferred.resolve()\r\n }).fail(deferred.reject);\r\n return deferred.promise()\r\n };\r\n _proto.abortFileUpload = function(fileData, chunksInfo, destinationDirectory) {\r\n return this._executeRequest(\"AbortUpload\", {\r\n uploadId: chunksInfo.customData.uploadId\r\n })\r\n };\r\n _proto.downloadItems = function(items) {\r\n var args = this._getDownloadArgs(items);\r\n var $form = (0, _renderer.default)(\"
\").css({\r\n display: \"none\"\r\n }).attr({\r\n method: \"post\",\r\n action: args.url\r\n });\r\n [\"command\", \"arguments\"].forEach(function(name) {\r\n (0, _renderer.default)(\"\").attr({\r\n type: \"hidden\",\r\n name: name,\r\n value: args[name]\r\n }).appendTo($form)\r\n });\r\n $form.appendTo(\"body\");\r\n _events_engine.default.trigger($form, \"submit\");\r\n setTimeout(function() {\r\n return $form.remove()\r\n })\r\n };\r\n _proto.getItemsContent = function(items) {\r\n var args = this._getDownloadArgs(items);\r\n var formData = new window.FormData;\r\n formData.append(\"command\", args.command);\r\n formData.append(\"arguments\", args.arguments);\r\n return _ajax.default.sendRequest({\r\n url: args.url,\r\n method: \"POST\",\r\n responseType: \"arraybuffer\",\r\n data: formData,\r\n upload: {\r\n onprogress: _common.noop,\r\n onloadstart: _common.noop,\r\n onabort: _common.noop\r\n },\r\n cache: false\r\n })\r\n };\r\n _proto._getDownloadArgs = function(items) {\r\n var pathInfoList = items.map(function(item) {\r\n return item.getFullPathInfo()\r\n });\r\n var args = {\r\n pathInfoList: pathInfoList\r\n };\r\n var argsStr = JSON.stringify(args);\r\n return {\r\n url: this._endpointUrl,\r\n arguments: argsStr,\r\n command: \"Download\"\r\n }\r\n };\r\n _proto._getItemsIds = function(items) {\r\n return items.map(function(it) {\r\n return it.relativeName\r\n })\r\n };\r\n _proto._getEntriesByPath = function(pathInfo) {\r\n return this._executeRequest(\"GetDirContents\", {\r\n pathInfo: pathInfo\r\n })\r\n };\r\n _proto._executeRequest = function(command, args) {\r\n var method = \"GetDirContents\" === command ? \"GET\" : \"POST\";\r\n var deferred = new _deferred.Deferred;\r\n _ajax.default.sendRequest({\r\n url: this._getEndpointUrl(command, args),\r\n method: method,\r\n dataType: \"json\",\r\n cache: false\r\n }).then(function(result) {\r\n !result.success && deferred.reject(result) || deferred.resolve(result)\r\n }, function(e) {\r\n return deferred.reject(e)\r\n });\r\n return deferred.promise()\r\n };\r\n _proto._getEndpointUrl = function(command, args) {\r\n var queryString = this._getQueryString({\r\n command: command,\r\n arguments: JSON.stringify(args)\r\n });\r\n var separator = this._endpointUrl && this._endpointUrl.indexOf(\"?\") > 0 ? \"&\" : \"?\";\r\n return this._endpointUrl + separator + queryString\r\n };\r\n _proto._getQueryString = function(params) {\r\n var pairs = [];\r\n var keys = Object.keys(params);\r\n for (var i = 0; i < keys.length; i++) {\r\n var key = keys[i];\r\n var value = params[key];\r\n if (void 0 === value) {\r\n continue\r\n }\r\n if (null === value) {\r\n value = \"\"\r\n }\r\n if (Array.isArray(value)) {\r\n this._processQueryStringArrayParam(key, value, pairs)\r\n } else {\r\n var pair = this._getQueryStringPair(key, value);\r\n pairs.push(pair)\r\n }\r\n }\r\n return pairs.join(\"&\")\r\n };\r\n _proto._processQueryStringArrayParam = function(key, array, pairs) {\r\n var _this6 = this;\r\n (0, _iterator.each)(array, function(_, item) {\r\n var pair = _this6._getQueryStringPair(key, item);\r\n pairs.push(pair)\r\n })\r\n };\r\n _proto._getQueryStringPair = function(key, value) {\r\n return encodeURIComponent(key) + \"=\" + encodeURIComponent(value)\r\n };\r\n _proto._hasSubDirs = function(dataObj) {\r\n var hasSubDirs = this._hasSubDirsGetter(dataObj);\r\n return \"boolean\" === typeof hasSubDirs ? hasSubDirs : true\r\n };\r\n _proto._getKeyExpr = function(options) {\r\n return options.keyExpr || \"key\"\r\n };\r\n return RemoteFileSystemProvider\r\n}(_provider_base.default);\r\nvar _default = RemoteFileSystemProvider;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = module.exports;\r\n","/**\r\n * DevExtreme (file_management/custom_provider.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 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.default = void 0;\r\nvar _common = require(\"../core/utils/common\");\r\nvar _type = require(\"../core/utils/type\");\r\nvar _data = require(\"../core/utils/data\");\r\nvar _provider_base = _interopRequireDefault(require(\"./provider_base\"));\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 _inheritsLoose(subClass, superClass) {\r\n subClass.prototype = Object.create(superClass.prototype);\r\n subClass.prototype.constructor = subClass;\r\n _setPrototypeOf(subClass, superClass)\r\n}\r\n\r\nfunction _setPrototypeOf(o, p) {\r\n _setPrototypeOf = Object.setPrototypeOf || function(o, p) {\r\n o.__proto__ = p;\r\n return o\r\n };\r\n return _setPrototypeOf(o, p)\r\n}\r\nvar CustomFileSystemProvider = function(_FileSystemProviderBa) {\r\n _inheritsLoose(CustomFileSystemProvider, _FileSystemProviderBa);\r\n\r\n function CustomFileSystemProvider(options) {\r\n var _this;\r\n options = (0, _common.ensureDefined)(options, {});\r\n _this = _FileSystemProviderBa.call(this, options) || this;\r\n _this._hasSubDirsGetter = (0, _data.compileGetter)(options.hasSubDirectoriesExpr || \"hasSubDirectories\");\r\n _this._getItemsFunction = _this._ensureFunction(options.getItems, function() {\r\n return []\r\n });\r\n _this._renameItemFunction = _this._ensureFunction(options.renameItem);\r\n _this._createDirectoryFunction = _this._ensureFunction(options.createDirectory);\r\n _this._deleteItemFunction = _this._ensureFunction(options.deleteItem);\r\n _this._moveItemFunction = _this._ensureFunction(options.moveItem);\r\n _this._copyItemFunction = _this._ensureFunction(options.copyItem);\r\n _this._uploadFileChunkFunction = _this._ensureFunction(options.uploadFileChunk);\r\n _this._abortFileUploadFunction = _this._ensureFunction(options.abortFileUpload);\r\n _this._downloadItemsFunction = _this._ensureFunction(options.downloadItems);\r\n _this._getItemsContentFunction = _this._ensureFunction(options.getItemsContent);\r\n return _this\r\n }\r\n var _proto = CustomFileSystemProvider.prototype;\r\n _proto.getItems = function(parentDir) {\r\n var _this2 = this;\r\n var pathInfo = parentDir.getFullPathInfo();\r\n return this._executeActionAsDeferred(function() {\r\n return _this2._getItemsFunction(parentDir)\r\n }, true).then(function(dataItems) {\r\n return _this2._convertDataObjectsToFileItems(dataItems, pathInfo)\r\n })\r\n };\r\n _proto.renameItem = function(item, name) {\r\n var _this3 = this;\r\n return this._executeActionAsDeferred(function() {\r\n return _this3._renameItemFunction(item, name)\r\n })\r\n };\r\n _proto.createDirectory = function(parentDir, name) {\r\n var _this4 = this;\r\n return this._executeActionAsDeferred(function() {\r\n return _this4._createDirectoryFunction(parentDir, name)\r\n })\r\n };\r\n _proto.deleteItems = function(items) {\r\n var _this5 = this;\r\n return items.map(function(item) {\r\n return _this5._executeActionAsDeferred(function() {\r\n return _this5._deleteItemFunction(item)\r\n })\r\n })\r\n };\r\n _proto.moveItems = function(items, destinationDirectory) {\r\n var _this6 = this;\r\n return items.map(function(item) {\r\n return _this6._executeActionAsDeferred(function() {\r\n return _this6._moveItemFunction(item, destinationDirectory)\r\n })\r\n })\r\n };\r\n _proto.copyItems = function(items, destinationFolder) {\r\n var _this7 = this;\r\n return items.map(function(item) {\r\n return _this7._executeActionAsDeferred(function() {\r\n return _this7._copyItemFunction(item, destinationFolder)\r\n })\r\n })\r\n };\r\n _proto.uploadFileChunk = function(fileData, chunksInfo, destinationDirectory) {\r\n var _this8 = this;\r\n return this._executeActionAsDeferred(function() {\r\n return _this8._uploadFileChunkFunction(fileData, chunksInfo, destinationDirectory)\r\n })\r\n };\r\n _proto.abortFileUpload = function(fileData, chunksInfo, destinationDirectory) {\r\n var _this9 = this;\r\n return this._executeActionAsDeferred(function() {\r\n return _this9._abortFileUploadFunction(fileData, chunksInfo, destinationDirectory)\r\n })\r\n };\r\n _proto.downloadItems = function(items) {\r\n return this._downloadItemsFunction(items)\r\n };\r\n _proto.getItemsContent = function(items) {\r\n var _this10 = this;\r\n return this._executeActionAsDeferred(function() {\r\n return _this10._getItemsContentFunction(items)\r\n })\r\n };\r\n _proto._hasSubDirs = function(dataObj) {\r\n var hasSubDirs = this._hasSubDirsGetter(dataObj);\r\n return \"boolean\" === typeof hasSubDirs ? hasSubDirs : true\r\n };\r\n _proto._getKeyExpr = function(options) {\r\n return options.keyExpr || \"key\"\r\n };\r\n _proto._ensureFunction = function(functionObject, defaultFunction) {\r\n defaultFunction = defaultFunction || _common.noop;\r\n return (0, _type.isFunction)(functionObject) ? functionObject : defaultFunction\r\n };\r\n return CustomFileSystemProvider\r\n}(_provider_base.default);\r\nvar _default = CustomFileSystemProvider;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = module.exports;\r\n","/**\r\n * DevExtreme (events/visibility_change.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 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.triggerShownEvent = exports.triggerResizeEvent = exports.triggerHidingEvent = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../core/renderer\"));\r\nvar _events_engine = _interopRequireDefault(require(\"./core/events_engine\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\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 = (0, _renderer.default)(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 _events_engine.default.triggerHandler(changeHandlers[i], eventName)\r\n }\r\n }\r\n};\r\nvar triggerShownEvent = triggerVisibilityChangeEvent(\"dxshown\");\r\nexports.triggerShownEvent = triggerShownEvent;\r\nvar triggerHidingEvent = triggerVisibilityChangeEvent(\"dxhiding\");\r\nexports.triggerHidingEvent = triggerHidingEvent;\r\nvar triggerResizeEvent = triggerVisibilityChangeEvent(\"dxresize\");\r\nexports.triggerResizeEvent = triggerResizeEvent;\r\n","/**\r\n * DevExtreme (format_helper.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 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.default = void 0;\r\nvar _type = require(\"./core/utils/type\");\r\nvar _date = _interopRequireDefault(require(\"./core/utils/date\"));\r\nvar _number = _interopRequireDefault(require(\"./localization/number\"));\r\nvar _date2 = _interopRequireDefault(require(\"./localization/date\"));\r\nvar _dependency_injector = _interopRequireDefault(require(\"./core/utils/dependency_injector\"));\r\nrequire(\"./localization/currency\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar _default = (0, _dependency_injector.default)({\r\n format: function(value, _format) {\r\n var formatIsValid = (0, _type.isString)(_format) && \"\" !== _format || (0, _type.isPlainObject)(_format) || (0, _type.isFunction)(_format);\r\n var valueIsValid = (0, _type.isNumeric)(value) || (0, _type.isDate)(value);\r\n if (!formatIsValid || !valueIsValid) {\r\n return (0, _type.isDefined)(value) ? value.toString() : \"\"\r\n }\r\n if ((0, _type.isFunction)(_format)) {\r\n return _format(value)\r\n }\r\n if ((0, _type.isString)(_format)) {\r\n _format = {\r\n type: _format\r\n }\r\n }\r\n if ((0, _type.isNumeric)(value)) {\r\n return _number.default.format(value, _format)\r\n }\r\n if ((0, _type.isDate)(value)) {\r\n return _date2.default.format(value, _format)\r\n }\r\n },\r\n getTimeFormat: function(showSecond) {\r\n return showSecond ? \"longtime\" : \"shorttime\"\r\n },\r\n _normalizeFormat: function(format) {\r\n if (!Array.isArray(format)) {\r\n return format\r\n }\r\n if (1 === format.length) {\r\n return format[0]\r\n }\r\n return function(date) {\r\n return format.map(function(formatPart) {\r\n return _date2.default.format(date, formatPart)\r\n }).join(\" \")\r\n }\r\n },\r\n getDateFormatByDifferences: function(dateDifferences, intervalFormat) {\r\n var resultFormat = [];\r\n var needSpecialSecondFormatter = intervalFormat && dateDifferences.millisecond && !(dateDifferences.year || dateDifferences.month || dateDifferences.day);\r\n if (needSpecialSecondFormatter) {\r\n var secondFormatter = function(date) {\r\n return date.getSeconds() + date.getMilliseconds() / 1e3 + \"s\"\r\n };\r\n resultFormat.push(secondFormatter)\r\n } else {\r\n if (dateDifferences.millisecond) {\r\n resultFormat.push(\"millisecond\")\r\n }\r\n }\r\n if (dateDifferences.hour || dateDifferences.minute || !needSpecialSecondFormatter && dateDifferences.second) {\r\n resultFormat.unshift(this.getTimeFormat(dateDifferences.second))\r\n }\r\n if (dateDifferences.year && dateDifferences.month && dateDifferences.day) {\r\n if (intervalFormat && \"month\" === intervalFormat) {\r\n return \"monthandyear\"\r\n } else {\r\n resultFormat.unshift(\"shortdate\");\r\n return this._normalizeFormat(resultFormat)\r\n }\r\n }\r\n if (dateDifferences.year && dateDifferences.month) {\r\n return \"monthandyear\"\r\n }\r\n if (dateDifferences.year && dateDifferences.quarter) {\r\n return \"quarterandyear\"\r\n }\r\n if (dateDifferences.year) {\r\n return \"year\"\r\n }\r\n if (dateDifferences.quarter) {\r\n return \"quarter\"\r\n }\r\n if (dateDifferences.month && dateDifferences.day) {\r\n if (intervalFormat) {\r\n var monthDayFormatter = function(date) {\r\n return _date2.default.getMonthNames(\"abbreviated\")[date.getMonth()] + \" \" + _date2.default.format(date, \"day\")\r\n };\r\n resultFormat.unshift(monthDayFormatter)\r\n } else {\r\n resultFormat.unshift(\"monthandday\")\r\n }\r\n return this._normalizeFormat(resultFormat)\r\n }\r\n if (dateDifferences.month) {\r\n return \"month\"\r\n }\r\n if (dateDifferences.day) {\r\n if (intervalFormat) {\r\n resultFormat.unshift(\"day\")\r\n } else {\r\n var dayFormatter = function(date) {\r\n return _date2.default.format(date, \"dayofweek\") + \", \" + _date2.default.format(date, \"day\")\r\n };\r\n resultFormat.unshift(dayFormatter)\r\n }\r\n return this._normalizeFormat(resultFormat)\r\n }\r\n return this._normalizeFormat(resultFormat)\r\n },\r\n getDateFormatByTicks: function(ticks) {\r\n var maxDiff;\r\n var currentDiff;\r\n var i;\r\n if (ticks.length > 1) {\r\n maxDiff = _date.default.getDatesDifferences(ticks[0], ticks[1]);\r\n for (i = 1; i < ticks.length - 1; i++) {\r\n currentDiff = _date.default.getDatesDifferences(ticks[i], ticks[i + 1]);\r\n if (maxDiff.count < currentDiff.count) {\r\n maxDiff = currentDiff\r\n }\r\n }\r\n } else {\r\n maxDiff = {\r\n year: true,\r\n month: true,\r\n day: true,\r\n hour: ticks[0].getHours() > 0,\r\n minute: ticks[0].getMinutes() > 0,\r\n second: ticks[0].getSeconds() > 0,\r\n millisecond: ticks[0].getMilliseconds() > 0\r\n }\r\n }\r\n var resultFormat = this.getDateFormatByDifferences(maxDiff);\r\n return resultFormat\r\n },\r\n getDateFormatByTickInterval: function(startValue, endValue, tickInterval) {\r\n var dateUnitInterval;\r\n var dateDifferencesConverter = {\r\n week: \"day\"\r\n };\r\n var correctDateDifferences = function(dateDifferences, tickInterval, value) {\r\n switch (tickInterval) {\r\n case \"year\":\r\n case \"quarter\":\r\n dateDifferences.month = value;\r\n case \"month\":\r\n dateDifferences.day = value;\r\n case \"week\":\r\n case \"day\":\r\n dateDifferences.hour = value;\r\n case \"hour\":\r\n dateDifferences.minute = value;\r\n case \"minute\":\r\n dateDifferences.second = value;\r\n case \"second\":\r\n dateDifferences.millisecond = value\r\n }\r\n };\r\n var correctDifferencesByMaxDate = function(differences, minDate, maxDate) {\r\n if (!maxDate.getMilliseconds() && maxDate.getSeconds()) {\r\n if (maxDate.getSeconds() - minDate.getSeconds() === 1) {\r\n differences.millisecond = true;\r\n differences.second = false\r\n }\r\n } else {\r\n if (!maxDate.getSeconds() && maxDate.getMinutes()) {\r\n if (maxDate.getMinutes() - minDate.getMinutes() === 1) {\r\n differences.second = true;\r\n differences.minute = false\r\n }\r\n } else {\r\n if (!maxDate.getMinutes() && maxDate.getHours()) {\r\n if (maxDate.getHours() - minDate.getHours() === 1) {\r\n differences.minute = true;\r\n differences.hour = false\r\n }\r\n } else {\r\n if (!maxDate.getHours() && maxDate.getDate() > 1) {\r\n if (maxDate.getDate() - minDate.getDate() === 1) {\r\n differences.hour = true;\r\n differences.day = false\r\n }\r\n } else {\r\n if (1 === maxDate.getDate() && maxDate.getMonth()) {\r\n if (maxDate.getMonth() - minDate.getMonth() === 1) {\r\n differences.day = true;\r\n differences.month = false\r\n }\r\n } else {\r\n if (!maxDate.getMonth() && maxDate.getFullYear()) {\r\n if (maxDate.getFullYear() - minDate.getFullYear() === 1) {\r\n differences.month = true;\r\n differences.year = false\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n };\r\n tickInterval = (0, _type.isString)(tickInterval) ? tickInterval.toLowerCase() : tickInterval;\r\n var dateDifferences = _date.default.getDatesDifferences(startValue, endValue);\r\n if (startValue !== endValue) {\r\n correctDifferencesByMaxDate(dateDifferences, startValue > endValue ? endValue : startValue, startValue > endValue ? startValue : endValue)\r\n }\r\n dateUnitInterval = _date.default.getDateUnitInterval(dateDifferences);\r\n correctDateDifferences(dateDifferences, dateUnitInterval, true);\r\n dateUnitInterval = _date.default.getDateUnitInterval(tickInterval || \"second\");\r\n correctDateDifferences(dateDifferences, dateUnitInterval, false);\r\n dateDifferences[dateDifferencesConverter[dateUnitInterval] || dateUnitInterval] = true;\r\n var resultFormat = this.getDateFormatByDifferences(dateDifferences);\r\n return resultFormat\r\n }\r\n});\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (events/drag.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 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\n\r\nfunction _typeof(obj) {\r\n \"@babel/helpers - typeof\";\r\n return _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 }, _typeof(obj)\r\n}\r\nexports.start = exports.move = exports.leave = exports.enter = exports.end = exports.drop = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../core/renderer\"));\r\nvar _element_data = require(\"../core/element_data\");\r\nvar _array = require(\"../core/utils/array\");\r\nvar iteratorUtils = _interopRequireWildcard(require(\"../core/utils/iterator\"));\r\nvar _dom = require(\"../core/utils/dom\");\r\nvar _event_registrator = _interopRequireDefault(require(\"./core/event_registrator\"));\r\nvar _index = require(\"./utils/index\");\r\nvar _emitter = _interopRequireDefault(require(\"./gesture/emitter.gesture\"));\r\nvar _emitter_registrator = _interopRequireDefault(require(\"./core/emitter_registrator\"));\r\n\r\nfunction _getRequireWildcardCache(nodeInterop) {\r\n if (\"function\" !== typeof WeakMap) {\r\n return null\r\n }\r\n var cacheBabelInterop = new WeakMap;\r\n var cacheNodeInterop = new WeakMap;\r\n return (_getRequireWildcardCache = function(nodeInterop) {\r\n return nodeInterop ? cacheNodeInterop : cacheBabelInterop\r\n })(nodeInterop)\r\n}\r\n\r\nfunction _interopRequireWildcard(obj, nodeInterop) {\r\n if (!nodeInterop && obj && obj.__esModule) {\r\n return obj\r\n }\r\n if (null === obj || \"object\" !== _typeof(obj) && \"function\" !== typeof obj) {\r\n return {\r\n \"default\": obj\r\n }\r\n }\r\n var cache = _getRequireWildcardCache(nodeInterop);\r\n if (cache && cache.has(obj)) {\r\n return cache.get(obj)\r\n }\r\n var newObj = {};\r\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\r\n for (var key in obj) {\r\n if (\"default\" !== key && Object.prototype.hasOwnProperty.call(obj, key)) {\r\n var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;\r\n if (desc && (desc.get || desc.set)) {\r\n Object.defineProperty(newObj, key, desc)\r\n } else {\r\n newObj[key] = obj[key]\r\n }\r\n }\r\n }\r\n newObj.default = obj;\r\n if (cache) {\r\n cache.set(obj, newObj)\r\n }\r\n return newObj\r\n}\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar DRAG_START_EVENT = \"dxdragstart\";\r\nexports.start = DRAG_START_EVENT;\r\nvar DRAG_EVENT = \"dxdrag\";\r\nexports.move = DRAG_EVENT;\r\nvar DRAG_END_EVENT = \"dxdragend\";\r\nexports.end = DRAG_END_EVENT;\r\nvar DRAG_ENTER_EVENT = \"dxdragenter\";\r\nexports.enter = DRAG_ENTER_EVENT;\r\nvar DRAG_LEAVE_EVENT = \"dxdragleave\";\r\nexports.leave = DRAG_LEAVE_EVENT;\r\nvar DROP_EVENT = \"dxdrop\";\r\nexports.drop = DROP_EVENT;\r\nvar DX_DRAG_EVENTS_COUNT_KEY = \"dxDragEventsCount\";\r\nvar knownDropTargets = [];\r\nvar knownDropTargetSelectors = [];\r\nvar knownDropTargetConfigs = [];\r\nvar dropTargetRegistration = {\r\n setup: function(element, data) {\r\n var knownDropTarget = (0, _array.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 = (0, _array.inArray)(element, knownDropTargets);\r\n this.updateEventsCounter(element, handleObj.type, 1);\r\n var selector = handleObj.selector;\r\n if ((0, _array.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 = (0, _element_data.data)(element, DX_DRAG_EVENTS_COUNT_KEY) || 0;\r\n (0, _element_data.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 = (0, _element_data.data)(element, DX_DRAG_EVENTS_COUNT_KEY);\r\n if (!handlersCount) {\r\n var index = (0, _array.inArray)(element, knownDropTargets);\r\n knownDropTargets.splice(index, 1);\r\n knownDropTargetSelectors.splice(index, 1);\r\n knownDropTargetConfigs.splice(index, 1);\r\n (0, _element_data.removeData)(element, DX_DRAG_EVENTS_COUNT_KEY)\r\n }\r\n }\r\n};\r\n(0, _event_registrator.default)(DRAG_ENTER_EVENT, dropTargetRegistration);\r\n(0, _event_registrator.default)(DRAG_LEAVE_EVENT, dropTargetRegistration);\r\n(0, _event_registrator.default)(DROP_EVENT, dropTargetRegistration);\r\nvar getItemDelegatedTargets = function($element) {\r\n var dropTargetIndex = (0, _array.inArray)($element.get(0), knownDropTargets);\r\n var dropTargetSelectors = knownDropTargetSelectors[dropTargetIndex].filter(function(selector) {\r\n return selector\r\n });\r\n var $delegatedTargets = $element.find(dropTargetSelectors.join(\", \"));\r\n if ((0, _array.inArray)(void 0, knownDropTargetSelectors[dropTargetIndex]) !== -1) {\r\n $delegatedTargets = $delegatedTargets.add($element)\r\n }\r\n return $delegatedTargets\r\n};\r\nvar getItemConfig = function($element) {\r\n var dropTargetIndex = (0, _array.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 = _emitter.default.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 = (0, _array.wrapToArray)(e.targetElements || (null === e.targetElements ? [] : knownDropTargets));\r\n this._dropTargets = iteratorUtils.map(dropTargets, function(element) {\r\n return (0, _renderer.default)(element).get(0)\r\n })\r\n },\r\n _move: function(e) {\r\n var eventData = (0, _index.eventData)(e);\r\n var 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 var 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 (0, _index.fireEvent)(eventData)\r\n },\r\n _findDropTarget: function(e) {\r\n var that = this;\r\n var result;\r\n iteratorUtils.each(knownDropTargets, function(_, target) {\r\n if (!that._checkDropTargetActive(target)) {\r\n return\r\n }\r\n var $target = (0, _renderer.default)(target);\r\n iteratorUtils.each(getItemDelegatedTargets($target), function(_, delegatedTarget) {\r\n var $delegatedTarget = (0, _renderer.default)(delegatedTarget);\r\n if (that._checkDropTarget(getItemConfig($target), $delegatedTarget, (0, _renderer.default)(result), 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 || (0, _dom.contains)(activeTarget, target);\r\n return !active\r\n });\r\n return active\r\n },\r\n _checkDropTarget: function(config, $target, $prevTarget, e) {\r\n var isDraggingElement = $target.get(0) === (0, _renderer.default)(e.target).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 if ($prevTarget.length && $prevTarget.closest($target).length) {\r\n return false\r\n }\r\n if (config.checkDropTarget && !config.checkDropTarget($target, e)) {\r\n return false\r\n }\r\n return $target\r\n },\r\n _end: function(e) {\r\n var eventData = (0, _index.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\n(0, _emitter_registrator.default)({\r\n emitter: DragEmitter,\r\n events: [DRAG_START_EVENT, DRAG_EVENT, DRAG_END_EVENT]\r\n});\r\n","/**\r\n * DevExtreme (events/core/event_registrator.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 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.default = void 0;\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar _event_registrator_callbacks = _interopRequireDefault(require(\"./event_registrator_callbacks\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\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 }(0, _iterator.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 _event_registrator_callbacks.default.fire(name, strategy)\r\n};\r\nregisterEvent.callbacks = _event_registrator_callbacks.default;\r\nvar _default = registerEvent;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (events/hold.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 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.default = void 0;\r\nvar _index = require(\"./utils/index\");\r\nvar _emitter = _interopRequireDefault(require(\"./core/emitter\"));\r\nvar _emitter_registrator = _interopRequireDefault(require(\"./core/emitter_registrator\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar abs = Math.abs;\r\nvar HOLD_EVENT_NAME = \"dxhold\";\r\nvar HOLD_TIMEOUT = 750;\r\nvar TOUCH_BOUNDARY = 5;\r\nvar HoldEmitter = _emitter.default.inherit({\r\n start: function(e) {\r\n this._startEventData = (0, _index.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 = (0, _index.eventDelta)(this._startEventData, (0, _index.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\n(0, _emitter_registrator.default)({\r\n emitter: HoldEmitter,\r\n bubble: true,\r\n events: [HOLD_EVENT_NAME]\r\n});\r\nvar _default = {\r\n name: HOLD_EVENT_NAME\r\n};\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (exporter/excel/excel.tag_helper.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 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.default = void 0;\r\nvar _type = require(\"../../core/utils/type\");\r\nvar tagHelper = {\r\n toXml: function(tagName, attributes, content) {\r\n var result = [\"<\", tagName];\r\n for (var attributeName in attributes) {\r\n var attributeValue = attributes[attributeName];\r\n if ((0, _type.isDefined)(attributeValue)) {\r\n result.push(\" \", attributeName, '=\"', attributeValue, '\"')\r\n }\r\n }\r\n if ((0, _type.isDefined)(content) && \"\" !== content) {\r\n result.push(\">\", content, \"\")\r\n } else {\r\n result.push(\" />\")\r\n }\r\n return result.join(\"\")\r\n }\r\n};\r\nvar _default = tagHelper;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (events/core/emitter_registrator.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 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.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _ready_callbacks = _interopRequireDefault(require(\"../../core/utils/ready_callbacks\"));\r\nvar _dom_adapter = _interopRequireDefault(require(\"../../core/dom_adapter\"));\r\nvar _events_engine = _interopRequireDefault(require(\"../../events/core/events_engine\"));\r\nvar _element_data = require(\"../../core/element_data\");\r\nvar _class = _interopRequireDefault(require(\"../../core/class\"));\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _array = require(\"../../core/utils/array\");\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar _event_registrator = _interopRequireDefault(require(\"./event_registrator\"));\r\nvar _index = require(\"../utils/index\");\r\nvar _pointer = _interopRequireDefault(require(\"../pointer\"));\r\nvar _wheel = require(\"./wheel\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar MANAGER_EVENT = \"dxEventManager\";\r\nvar EMITTER_DATA = \"dxEmitter\";\r\nvar EventManager = _class.default.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 _ready_callbacks.default.add(function() {\r\n var document = _dom_adapter.default.getDocument();\r\n _events_engine.default.subscribeGlobal(document, (0, _index.addNamespace)(_pointer.default.down, MANAGER_EVENT), this._pointerDownHandler.bind(this));\r\n _events_engine.default.subscribeGlobal(document, (0, _index.addNamespace)(_pointer.default.move, MANAGER_EVENT), this._pointerMoveHandler.bind(this));\r\n _events_engine.default.subscribeGlobal(document, (0, _index.addNamespace)([_pointer.default.up, _pointer.default.cancel].join(\" \"), MANAGER_EVENT), this._pointerUpHandler.bind(this));\r\n _events_engine.default.subscribeGlobal(document, (0, _index.addNamespace)(_wheel.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 ((0, _index.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 (0, _iterator.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 var result = [];\r\n var $element = (0, _renderer.default)(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 = (0, _element_data.data)($element.get(0), EMITTER_DATA) || [];\r\n (0, _iterator.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 = (0, _array.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 var verticalGestureDirection = \"both\" === direction && !e.shiftKey || \"vertical\" === direction;\r\n var 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 var emitterName = emitterConfig.events[0];\r\n var emitterEvents = emitterConfig.events;\r\n (0, _iterator.each)(emitterEvents, function(_, eventName) {\r\n (0, _event_registrator.default)(eventName, {\r\n noBubble: !emitterConfig.bubble,\r\n setup: function(element) {\r\n var subscriptions = (0, _element_data.data)(element, EMITTER_SUBSCRIPTION_DATA) || {};\r\n var emitters = (0, _element_data.data)(element, EMITTER_DATA) || {};\r\n var emitter = emitters[emitterName] || new emitterClass(element);\r\n subscriptions[eventName] = true;\r\n emitters[emitterName] = emitter;\r\n (0, _element_data.data)(element, EMITTER_DATA, emitters);\r\n (0, _element_data.data)(element, EMITTER_SUBSCRIPTION_DATA, subscriptions)\r\n },\r\n add: function(element, handleObj) {\r\n var emitters = (0, _element_data.data)(element, EMITTER_DATA);\r\n var emitter = emitters[emitterName];\r\n emitter.configure((0, _extend.extend)({\r\n delegateSelector: handleObj.selector\r\n }, handleObj.data), handleObj.type)\r\n },\r\n teardown: function(element) {\r\n var subscriptions = (0, _element_data.data)(element, EMITTER_SUBSCRIPTION_DATA);\r\n var emitters = (0, _element_data.data)(element, EMITTER_DATA);\r\n var emitter = emitters[emitterName];\r\n delete subscriptions[eventName];\r\n var disposeEmitter = true;\r\n (0, _iterator.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\nvar _default = registerEmitter;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (events/core/wheel.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 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.name = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _events_engine = _interopRequireDefault(require(\"../../events/core/events_engine\"));\r\nvar _event_registrator = _interopRequireDefault(require(\"./event_registrator\"));\r\nvar _index = require(\"../utils/index\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar EVENT_NAME = \"dxmousewheel\";\r\nexports.name = EVENT_NAME;\r\nvar EVENT_NAMESPACE = \"dxWheel\";\r\nvar NATIVE_EVENT_NAME = \"wheel\";\r\nvar PIXEL_MODE = 0;\r\nvar DELTA_MUTLIPLIER = 30;\r\nvar wheel = {\r\n setup: function(element) {\r\n var $element = (0, _renderer.default)(element);\r\n _events_engine.default.on($element, (0, _index.addNamespace)(NATIVE_EVENT_NAME, EVENT_NAMESPACE), wheel._wheelHandler.bind(wheel))\r\n },\r\n teardown: function(element) {\r\n _events_engine.default.off(element, \".\".concat(EVENT_NAMESPACE))\r\n },\r\n _wheelHandler: function(e) {\r\n var _e$originalEvent = e.originalEvent,\r\n deltaMode = _e$originalEvent.deltaMode,\r\n deltaY = _e$originalEvent.deltaY,\r\n deltaX = _e$originalEvent.deltaX,\r\n deltaZ = _e$originalEvent.deltaZ;\r\n (0, _index.fireEvent)({\r\n type: EVENT_NAME,\r\n originalEvent: e,\r\n delta: this._normalizeDelta(deltaY, deltaMode),\r\n deltaX: deltaX,\r\n deltaY: deltaY,\r\n deltaZ: deltaZ,\r\n deltaMode: deltaMode,\r\n pointerType: \"mouse\"\r\n });\r\n e.stopPropagation()\r\n },\r\n _normalizeDelta: function(delta) {\r\n var deltaMode = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : PIXEL_MODE;\r\n if (deltaMode === PIXEL_MODE) {\r\n return -delta\r\n } else {\r\n return -DELTA_MUTLIPLIER * delta\r\n }\r\n }\r\n};\r\n(0, _event_registrator.default)(EVENT_NAME, wheel);\r\n","/**\r\n * DevExtreme (events/short.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 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.visibility = exports.resize = exports.keyboard = exports.hover = exports.focus = exports.dxClick = exports.click = exports.active = void 0;\r\nvar _dom_adapter = _interopRequireDefault(require(\"../core/dom_adapter\"));\r\nvar _events_engine = _interopRequireDefault(require(\"./core/events_engine\"));\r\nvar _keyboard_processor = _interopRequireDefault(require(\"./core/keyboard_processor\"));\r\nvar _index = require(\"./utils/index\");\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 addNamespace(event, namespace) {\r\n return namespace ? (0, _index.addNamespace)(event, namespace) : event\r\n}\r\n\r\nfunction executeAction(action, args) {\r\n return \"function\" === typeof action ? action(args) : action.execute(args)\r\n}\r\nvar active = {\r\n on: function($el, active, inactive, opts) {\r\n var selector = opts.selector,\r\n showTimeout = opts.showTimeout,\r\n hideTimeout = opts.hideTimeout,\r\n namespace = opts.namespace;\r\n _events_engine.default.on($el, addNamespace(\"dxactive\", namespace), selector, {\r\n timeout: showTimeout\r\n }, function(event) {\r\n return executeAction(active, {\r\n event: event,\r\n element: event.currentTarget\r\n })\r\n });\r\n _events_engine.default.on($el, addNamespace(\"dxinactive\", namespace), selector, {\r\n timeout: hideTimeout\r\n }, function(event) {\r\n return executeAction(inactive, {\r\n event: event,\r\n element: event.currentTarget\r\n })\r\n })\r\n },\r\n off: function($el, _ref) {\r\n var namespace = _ref.namespace,\r\n selector = _ref.selector;\r\n _events_engine.default.off($el, addNamespace(\"dxactive\", namespace), selector);\r\n _events_engine.default.off($el, addNamespace(\"dxinactive\", namespace), selector)\r\n }\r\n};\r\nexports.active = active;\r\nvar resize = {\r\n on: function($el, resize) {\r\n var _ref2 = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {},\r\n namespace = _ref2.namespace;\r\n _events_engine.default.on($el, addNamespace(\"dxresize\", namespace), resize)\r\n },\r\n off: function($el) {\r\n var _ref3 = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {},\r\n namespace = _ref3.namespace;\r\n _events_engine.default.off($el, addNamespace(\"dxresize\", namespace))\r\n }\r\n};\r\nexports.resize = resize;\r\nvar hover = {\r\n on: function($el, start, end, _ref4) {\r\n var selector = _ref4.selector,\r\n namespace = _ref4.namespace;\r\n _events_engine.default.on($el, addNamespace(\"dxhoverend\", namespace), selector, function(event) {\r\n return end(event)\r\n });\r\n _events_engine.default.on($el, addNamespace(\"dxhoverstart\", namespace), selector, function(event) {\r\n return executeAction(start, {\r\n element: event.target,\r\n event: event\r\n })\r\n })\r\n },\r\n off: function($el, _ref5) {\r\n var selector = _ref5.selector,\r\n namespace = _ref5.namespace;\r\n _events_engine.default.off($el, addNamespace(\"dxhoverstart\", namespace), selector);\r\n _events_engine.default.off($el, addNamespace(\"dxhoverend\", namespace), selector)\r\n }\r\n};\r\nexports.hover = hover;\r\nvar visibility = {\r\n on: function($el, shown, hiding, _ref6) {\r\n var namespace = _ref6.namespace;\r\n _events_engine.default.on($el, addNamespace(\"dxhiding\", namespace), hiding);\r\n _events_engine.default.on($el, addNamespace(\"dxshown\", namespace), shown)\r\n },\r\n off: function($el, _ref7) {\r\n var namespace = _ref7.namespace;\r\n _events_engine.default.off($el, addNamespace(\"dxhiding\", namespace));\r\n _events_engine.default.off($el, addNamespace(\"dxshown\", namespace))\r\n }\r\n};\r\nexports.visibility = visibility;\r\nvar focus = {\r\n on: function($el, focusIn, focusOut, _ref8) {\r\n var namespace = _ref8.namespace,\r\n isFocusable = _ref8.isFocusable;\r\n _events_engine.default.on($el, addNamespace(\"focusin\", namespace), focusIn);\r\n _events_engine.default.on($el, addNamespace(\"focusout\", namespace), focusOut);\r\n if (_dom_adapter.default.hasDocumentProperty(\"onbeforeactivate\")) {\r\n _events_engine.default.on($el, addNamespace(\"beforeactivate\", namespace), function(e) {\r\n return isFocusable(null, e.target) || e.preventDefault()\r\n })\r\n }\r\n },\r\n off: function($el, _ref9) {\r\n var namespace = _ref9.namespace;\r\n _events_engine.default.off($el, addNamespace(\"focusin\", namespace));\r\n _events_engine.default.off($el, addNamespace(\"focusout\", namespace));\r\n if (_dom_adapter.default.hasDocumentProperty(\"onbeforeactivate\")) {\r\n _events_engine.default.off($el, addNamespace(\"beforeactivate\", namespace))\r\n }\r\n },\r\n trigger: function($el) {\r\n return _events_engine.default.trigger($el, \"focus\")\r\n }\r\n};\r\nexports.focus = focus;\r\nvar dxClick = {\r\n on: function($el, click) {\r\n var _ref10 = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {},\r\n namespace = _ref10.namespace;\r\n _events_engine.default.on($el, addNamespace(\"dxclick\", namespace), click)\r\n },\r\n off: function($el) {\r\n var _ref11 = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {},\r\n namespace = _ref11.namespace;\r\n _events_engine.default.off($el, addNamespace(\"dxclick\", namespace))\r\n }\r\n};\r\nexports.dxClick = dxClick;\r\nvar click = {\r\n on: function($el, click) {\r\n var _ref12 = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {},\r\n namespace = _ref12.namespace;\r\n _events_engine.default.on($el, addNamespace(\"click\", namespace), click)\r\n },\r\n off: function($el) {\r\n var _ref13 = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {},\r\n namespace = _ref13.namespace;\r\n _events_engine.default.off($el, addNamespace(\"click\", namespace))\r\n }\r\n};\r\nexports.click = click;\r\nvar index = 0;\r\nvar keyboardProcessors = {};\r\nvar generateListenerId = function() {\r\n return \"keyboardProcessorId\".concat(index++)\r\n};\r\nvar keyboard = {\r\n on: function(element, focusTarget, handler) {\r\n var listenerId = generateListenerId();\r\n keyboardProcessors[listenerId] = new _keyboard_processor.default({\r\n element: element,\r\n focusTarget: focusTarget,\r\n handler: handler\r\n });\r\n return listenerId\r\n },\r\n off: function(listenerId) {\r\n if (listenerId && keyboardProcessors[listenerId]) {\r\n keyboardProcessors[listenerId].dispose();\r\n delete keyboardProcessors[listenerId]\r\n }\r\n },\r\n _getProcessor: function(listenerId) {\r\n return keyboardProcessors[listenerId]\r\n }\r\n};\r\nexports.keyboard = keyboard;\r\n","/**\r\n * DevExtreme (events/core/emitter.feedback.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 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.lock = exports.inactive = exports.active = void 0;\r\nvar _class = _interopRequireDefault(require(\"../../core/class\"));\r\nvar _common = require(\"../../core/utils/common\");\r\nvar _dom = require(\"../../core/utils/dom\");\r\nvar _devices = _interopRequireDefault(require(\"../../core/devices\"));\r\nvar _index = require(\"../utils/index\");\r\nvar _pointer = _interopRequireDefault(require(\"../pointer\"));\r\nvar _emitter = _interopRequireDefault(require(\"./emitter\"));\r\nvar _emitter_registrator = _interopRequireDefault(require(\"./emitter_registrator\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar ACTIVE_EVENT_NAME = \"dxactive\";\r\nexports.active = ACTIVE_EVENT_NAME;\r\nvar INACTIVE_EVENT_NAME = \"dxinactive\";\r\nexports.inactive = INACTIVE_EVENT_NAME;\r\nvar ACTIVE_TIMEOUT = 30;\r\nvar INACTIVE_TIMEOUT = 400;\r\nvar FeedbackEvent = _class.default.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.default.inherit({\r\n ctor: function() {\r\n this.callBase.apply(this, arguments);\r\n this._active = new FeedbackEvent(0, _common.noop);\r\n this._inactive = new FeedbackEvent(0, _common.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 = (0, _dom.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 var eventTarget = this._getEmitterTarget(e);\r\n var mouseEvent = (0, _index.isMouseEvent)(e);\r\n var isSimulator = _devices.default.isSimulator();\r\n var deferFeedback = isSimulator || !mouseEvent;\r\n var activeTimeout = (0, _common.ensureDefined)(this.activeTimeout, ACTIVE_TIMEOUT);\r\n var inactiveTimeout = (0, _common.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 !== _pointer.default.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 if (activeFeedback === this) {\r\n activeFeedback = null\r\n }\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() : _common.noop;\r\n deferred.done(lockInactive)\r\n};\r\n(0, _emitter_registrator.default)({\r\n emitter: FeedbackEmitter,\r\n events: [ACTIVE_EVENT_NAME, INACTIVE_EVENT_NAME]\r\n});\r\nvar lock = FeedbackEmitter.lock;\r\nexports.lock = lock;\r\n","/**\r\n * DevExtreme (events/gesture/swipeable.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 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.default = void 0;\r\nvar _swipe = require(\"../swipe\");\r\nvar _events_engine = _interopRequireDefault(require(\"../../events/core/events_engine\"));\r\nvar _dom_component = _interopRequireDefault(require(\"../../core/dom_component\"));\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar _index = require(\"../utils/index\");\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _public_component = require(\"../../core/utils/public_component\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar DX_SWIPEABLE = \"dxSwipeable\";\r\nvar SWIPEABLE_CLASS = \"dx-swipeable\";\r\nvar ACTION_TO_EVENT_MAP = {\r\n onStart: _swipe.start,\r\n onUpdated: _swipe.swipe,\r\n onEnd: _swipe.end,\r\n onCancel: \"dxswipecancel\"\r\n};\r\nvar Swipeable = _dom_component.default.inherit({\r\n _getDefaultOptions: function() {\r\n return (0, _extend.extend)(this.callBase(), {\r\n elastic: true,\r\n immediate: false,\r\n direction: \"horizontal\",\r\n itemSizeFunc: null,\r\n onStart: null,\r\n onUpdated: null,\r\n onEnd: null,\r\n onCancel: null\r\n })\r\n },\r\n _render: function() {\r\n this.callBase();\r\n this.$element().addClass(SWIPEABLE_CLASS);\r\n this._attachEventHandlers()\r\n },\r\n _attachEventHandlers: function() {\r\n this._detachEventHandlers();\r\n if (this.option(\"disabled\")) {\r\n return\r\n }\r\n var NAME = this.NAME;\r\n this._createEventData();\r\n (0, _iterator.each)(ACTION_TO_EVENT_MAP, function(actionName, eventName) {\r\n var action = this._createActionByOption(actionName, {\r\n context: this\r\n });\r\n eventName = (0, _index.addNamespace)(eventName, NAME);\r\n _events_engine.default.on(this.$element(), eventName, this._eventData, function(e) {\r\n return action({\r\n event: e\r\n })\r\n })\r\n }.bind(this))\r\n },\r\n _createEventData: function() {\r\n this._eventData = {\r\n elastic: this.option(\"elastic\"),\r\n itemSizeFunc: this.option(\"itemSizeFunc\"),\r\n direction: this.option(\"direction\"),\r\n immediate: this.option(\"immediate\")\r\n }\r\n },\r\n _detachEventHandlers: function() {\r\n _events_engine.default.off(this.$element(), \".\" + DX_SWIPEABLE)\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"disabled\":\r\n case \"onStart\":\r\n case \"onUpdated\":\r\n case \"onEnd\":\r\n case \"onCancel\":\r\n case \"elastic\":\r\n case \"immediate\":\r\n case \"itemSizeFunc\":\r\n case \"direction\":\r\n this._detachEventHandlers();\r\n this._attachEventHandlers();\r\n break;\r\n case \"rtlEnabled\":\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _useTemplates: function() {\r\n return false\r\n }\r\n});\r\n(0, _public_component.name)(Swipeable, DX_SWIPEABLE);\r\nvar _default = Swipeable;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (events/core/events_engine.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 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.default = void 0;\r\nvar _event_registrator_callbacks = _interopRequireDefault(require(\"./event_registrator_callbacks\"));\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _dom_adapter = _interopRequireDefault(require(\"../../core/dom_adapter\"));\r\nvar _window = require(\"../../core/utils/window\");\r\nvar _dependency_injector = _interopRequireDefault(require(\"../../core/utils/dependency_injector\"));\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _callbacks = _interopRequireDefault(require(\"../../core/utils/callbacks\"));\r\nvar _errors = _interopRequireDefault(require(\"../../core/errors\"));\r\nvar _weak_map = _interopRequireDefault(require(\"../../core/polyfills/weak_map\"));\r\nvar _hook_touch_props = _interopRequireDefault(require(\"../../events/core/hook_touch_props\"));\r\nvar _call_once = _interopRequireDefault(require(\"../../core/utils/call_once\"));\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 _typeof(obj) {\r\n \"@babel/helpers - typeof\";\r\n return _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 }, _typeof(obj)\r\n}\r\n\r\nfunction _extends() {\r\n _extends = Object.assign || function(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key]\r\n }\r\n }\r\n }\r\n return target\r\n };\r\n return _extends.apply(this, arguments)\r\n}\r\nvar window = (0, _window.getWindow)();\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\", \"focus\", \"load\"];\r\nvar forcePassiveFalseEventNames = [\"touchmove\", \"wheel\", \"mousewheel\", \"touchstart\"];\r\nvar EVENT_PROPERTIES = [\"target\", \"relatedTarget\", \"delegateTarget\", \"altKey\", \"bubbles\", \"cancelable\", \"changedTouches\", \"ctrlKey\", \"detail\", \"eventPhase\", \"metaKey\", \"shiftKey\", \"view\", \"char\", \"code\", \"charCode\", \"key\", \"keyCode\", \"button\", \"buttons\", \"offsetX\", \"offsetY\", \"pointerId\", \"pointerType\", \"targetTouches\", \"toElement\", \"touches\"];\r\n\r\nfunction matchesSafe(target, selector) {\r\n return !(0, _type.isWindow)(target) && \"#document\" !== target.nodeName && _dom_adapter.default.elementMatches(target, selector)\r\n}\r\nvar elementDataMap = new _weak_map.default;\r\nvar guid = 0;\r\nvar skipEvent;\r\nvar special = function() {\r\n var specialData = {};\r\n _event_registrator_callbacks.default.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 eventsEngine = (0, _dependency_injector.default)({\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((0, _extend.extend)(event, {\r\n currentTarget: parents[i]\r\n }), extraParameters);\r\n i++\r\n }\r\n }\r\n if (element.nodeType || (0, _type.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\n\r\nfunction applyForEach(args, method) {\r\n var element = args[0];\r\n if (!element) {\r\n return\r\n }\r\n if (_dom_adapter.default.isNode(element) || (0, _type.isWindow)(element)) {\r\n method.apply(eventsEngine, args)\r\n } else {\r\n if (!(0, _type.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.default.Error(\"E0025\")\r\n }\r\n }\r\n}\r\n\r\nfunction getHandler(method) {\r\n return function() {\r\n applyForEach(arguments, method)\r\n }\r\n}\r\n\r\nfunction detectPassiveEventHandlersSupport() {\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 = (0, _call_once.default)(detectPassiveEventHandlersSupport);\r\nvar contains = function contains(container, element) {\r\n if ((0, _type.isWindow)(container)) {\r\n return contains(container.document, element)\r\n }\r\n return container.contains ? container.contains(element) : !!(element.compareDocumentPosition(container) & element.DOCUMENT_POSITION_CONTAINS)\r\n};\r\n\r\nfunction getHandlersController(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 handlerArgs = [e];\r\n var target = e.currentTarget;\r\n var relatedTarget = e.relatedTarget;\r\n var secondaryTargetIsInside;\r\n var result;\r\n if (eventName in NATIVE_EVENTS_TO_SUBSCRIBE) {\r\n secondaryTargetIsInside = relatedTarget && target && (relatedTarget === target || contains(target, 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 = _dom_adapter.default.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\n\r\nfunction getNativeHandler(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\n\r\nfunction isSubset(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\n\r\nfunction normalizeOnArguments(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\n\r\nfunction normalizeOffArguments(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\n\r\nfunction normalizeTriggerArguments(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\n\r\nfunction normalizeEventArguments(callback) {\r\n eventsEngine.Event = 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 _extends(eventsEngine.Event.prototype, {\r\n _propagationStopped: false,\r\n _immediatePropagationStopped: false,\r\n _defaultPrevented: false,\r\n isPropagationStopped: function() {\r\n return !!(this._propagationStopped || this.originalEvent && this.originalEvent.propagationStopped)\r\n },\r\n stopPropagation: function() {\r\n this._propagationStopped = true;\r\n this.originalEvent && this.originalEvent.stopPropagation()\r\n },\r\n isImmediatePropagationStopped: function() {\r\n return this._immediatePropagationStopped\r\n },\r\n stopImmediatePropagation: function() {\r\n this.stopPropagation();\r\n this._immediatePropagationStopped = true;\r\n this.originalEvent && this.originalEvent.stopImmediatePropagation()\r\n },\r\n isDefaultPrevented: function() {\r\n return !!(this._defaultPrevented || this.originalEvent && this.originalEvent.defaultPrevented)\r\n },\r\n preventDefault: function() {\r\n this._defaultPrevented = true;\r\n this.originalEvent && this.originalEvent.preventDefault()\r\n }\r\n });\r\n return eventsEngine.Event\r\n}\r\n\r\nfunction iterate(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\" === _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\n\r\nfunction callNativeMethod(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 ((0, _type.isFunction)(element[nativeMethodName])) {\r\n skipEvent = eventName;\r\n element[nativeMethodName]();\r\n skipEvent = void 0\r\n }\r\n}\r\n\r\nfunction calculateWhich(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\n\r\nfunction initEvent(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 _src$view;\r\n var that = this;\r\n var srcIsEvent = src instanceof eventsEngine.Event || (0, _window.hasWindow)() && src instanceof window.Event || (null === (_src$view = src.view) || void 0 === _src$view ? void 0 : _src$view.Event) && src instanceof src.view.Event;\r\n if (srcIsEvent) {\r\n that.originalEvent = src;\r\n that.type = src.type;\r\n that.currentTarget = void 0;\r\n that.timeStamp = src.timeStamp || Date.now()\r\n } else {\r\n _extends(that, src)\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 _extends(that, config);\r\n that.guid = ++guid\r\n}));\r\n\r\nfunction addProperty(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\nEVENT_PROPERTIES.forEach(function(prop) {\r\n return addProperty(prop, function(event) {\r\n return event[prop]\r\n })\r\n});\r\n(0, _hook_touch_props.default)(addProperty);\r\nvar beforeSetStrategy = (0, _callbacks.default)();\r\nvar afterSetStrategy = (0, _callbacks.default)();\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\nvar _default = eventsEngine;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (events/core/emitter.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 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.default = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _common = require(\"../../core/utils/common\");\r\nvar _class = _interopRequireDefault(require(\"../../core/class\"));\r\nvar _callbacks = _interopRequireDefault(require(\"../../core/utils/callbacks\"));\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _index = require(\"../utils/index\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar Emitter = _class.default.inherit({\r\n ctor: function(element) {\r\n this._$element = (0, _renderer.default)(element);\r\n this._cancelCallback = (0, _callbacks.default)();\r\n this._acceptCallback = (0, _callbacks.default)()\r\n },\r\n getElement: function() {\r\n return this._$element\r\n },\r\n validate: function(e) {\r\n return !(0, _index.isDxMouseWheelEvent)(e)\r\n },\r\n validatePointers: function(e) {\r\n return 1 === (0, _index.hasTouches)(e)\r\n },\r\n allowInterruptionByMouseWheel: function() {\r\n return true\r\n },\r\n configure: function(data) {\r\n (0, _extend.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: _common.noop,\r\n move: _common.noop,\r\n end: _common.noop,\r\n cancel: _common.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 = (0, _extend.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 = (0, _index.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 ? (0, _renderer.default)(e.target).closest(this.delegateSelector) : this.getElement()).get(0)\r\n },\r\n dispose: _common.noop\r\n});\r\nvar _default = Emitter;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (events/utils/index.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 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.stopEventsSkipping = exports.setEventFixMethod = exports.normalizeKeyName = exports.needSkipEvent = exports.isTouchEvent = exports.isPointerEvent = exports.isMouseEvent = exports.isKeyboardEvent = exports.isFakeClickEvent = exports.isDxMouseWheelEvent = exports.isCommandKeyPressed = exports.hasTouches = exports.getChar = exports.forceSkipEvents = exports.fireEvent = exports.eventSource = exports.eventDelta = exports.eventData = exports.createEvent = exports.addNamespace = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _add_namespace = _interopRequireDefault(require(\"./add_namespace\"));\r\nvar _events_engine = _interopRequireDefault(require(\"../core/events_engine\"));\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _selectors = require(\"../../ui/widget/selectors\");\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 esc: \"escape\"\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 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\nvar fixMethod = function(e) {\r\n return e\r\n};\r\nvar copyEvent = function(originalEvent) {\r\n return fixMethod(_events_engine.default.Event(originalEvent, originalEvent), originalEvent)\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 eventSource = function(_ref) {\r\n var type = _ref.type;\r\n var result = \"other\";\r\n (0, _iterator.each)(EVENT_SOURCES_REGEX, function(key) {\r\n if (this.test(type)) {\r\n result = key;\r\n return false\r\n }\r\n });\r\n return result\r\n};\r\nexports.eventSource = eventSource;\r\nvar isPointerEvent = function(e) {\r\n return \"pointer\" === eventSource(e)\r\n};\r\nexports.isPointerEvent = isPointerEvent;\r\nvar isMouseEvent = function(e) {\r\n return isNativeMouseEvent(e) || (isPointerEvent(e) || isDxEvent(e)) && \"mouse\" === e.pointerType\r\n};\r\nexports.isMouseEvent = isMouseEvent;\r\nvar isDxMouseWheelEvent = function(e) {\r\n return e && \"dxmousewheel\" === e.type\r\n};\r\nexports.isDxMouseWheelEvent = isDxMouseWheelEvent;\r\nvar isTouchEvent = function(e) {\r\n return isNativeTouchEvent(e) || (isPointerEvent(e) || isDxEvent(e)) && \"touch\" === e.pointerType\r\n};\r\nexports.isTouchEvent = isTouchEvent;\r\nvar isKeyboardEvent = function(e) {\r\n return \"keyboard\" === eventSource(e)\r\n};\r\nexports.isKeyboardEvent = isKeyboardEvent;\r\nvar isFakeClickEvent = function(_ref2) {\r\n var screenX = _ref2.screenX,\r\n offsetX = _ref2.offsetX,\r\n pageX = _ref2.pageX;\r\n return 0 === screenX && !offsetX && 0 === pageX\r\n};\r\nexports.isFakeClickEvent = isFakeClickEvent;\r\nvar eventData = function(_ref3) {\r\n var pageX = _ref3.pageX,\r\n pageY = _ref3.pageY,\r\n timeStamp = _ref3.timeStamp;\r\n return {\r\n x: pageX,\r\n y: pageY,\r\n time: timeStamp\r\n }\r\n};\r\nexports.eventData = eventData;\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\nexports.eventDelta = eventDelta;\r\nvar hasTouches = function(e) {\r\n var originalEvent = e.originalEvent,\r\n pointers = e.pointers;\r\n if (isNativeTouchEvent(e)) {\r\n return (originalEvent.touches || []).length\r\n }\r\n if (isDxEvent(e)) {\r\n return (pointers || []).length\r\n }\r\n return 0\r\n};\r\nexports.hasTouches = hasTouches;\r\nvar skipEvents = false;\r\nvar forceSkipEvents = function() {\r\n return skipEvents = true\r\n};\r\nexports.forceSkipEvents = forceSkipEvents;\r\nvar stopEventsSkipping = function() {\r\n return skipEvents = false\r\n};\r\nexports.stopEventsSkipping = stopEventsSkipping;\r\nvar needSkipEvent = function(e) {\r\n if (skipEvents) {\r\n return true\r\n }\r\n var target = e.target;\r\n var $target = (0, _renderer.default)(target);\r\n var isDropDown = $target.is(\".dx-dropdownlist-popup-wrapper *, .dx-dropdownlist-popup-wrapper\");\r\n var isContentEditable = (null === target || void 0 === target ? void 0 : target.isContentEditable) || (null === target || void 0 === target ? void 0 : target.hasAttribute(\"contenteditable\"));\r\n var touchInEditable = $target.is(\"input, textarea, select\") || isContentEditable;\r\n if ($target.is(\".dx-skip-gesture-event *, .dx-skip-gesture-event\") && !isDropDown) {\r\n return true\r\n }\r\n if (isDxMouseWheelEvent(e)) {\r\n var isTextArea = $target.is(\"textarea\") && $target.hasClass(\"dx-texteditor-input\");\r\n if (isTextArea || isContentEditable) {\r\n return false\r\n }\r\n var isInputFocused = $target.is(\"input[type='number'], textarea, select\") && $target.is(\":focus\");\r\n return isInputFocused\r\n }\r\n if (isMouseEvent(e)) {\r\n return touchInEditable || e.which > 1\r\n }\r\n if (isTouchEvent(e)) {\r\n return touchInEditable && (0, _selectors.focused)($target)\r\n }\r\n};\r\nexports.needSkipEvent = needSkipEvent;\r\nvar setEventFixMethod = function(func) {\r\n return fixMethod = func\r\n};\r\nexports.setEventFixMethod = setEventFixMethod;\r\nvar createEvent = function(originalEvent, args) {\r\n var event = copyEvent(originalEvent);\r\n args && (0, _extend.extend)(event, args);\r\n return event\r\n};\r\nexports.createEvent = createEvent;\r\nvar fireEvent = function(props) {\r\n var originalEvent = props.originalEvent,\r\n delegateTarget = props.delegateTarget;\r\n var event = createEvent(originalEvent, props);\r\n _events_engine.default.trigger(delegateTarget || event.target, event);\r\n return event\r\n};\r\nexports.fireEvent = fireEvent;\r\nvar normalizeKeyName = function(_ref4) {\r\n var key = _ref4.key,\r\n which = _ref4.which;\r\n var isKeySupported = !!key;\r\n key = isKeySupported ? key : which;\r\n if (key) {\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\n};\r\nexports.normalizeKeyName = normalizeKeyName;\r\nvar getChar = function(_ref5) {\r\n var key = _ref5.key,\r\n which = _ref5.which;\r\n return key || String.fromCharCode(which)\r\n};\r\nexports.getChar = getChar;\r\nvar addNamespace = _add_namespace.default;\r\nexports.addNamespace = addNamespace;\r\nvar isCommandKeyPressed = function(_ref6) {\r\n var ctrlKey = _ref6.ctrlKey,\r\n metaKey = _ref6.metaKey;\r\n return ctrlKey || metaKey\r\n};\r\nexports.isCommandKeyPressed = isCommandKeyPressed;\r\n","/**\r\n * DevExtreme (events/pointer/base.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 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.default = void 0;\r\nvar _events_engine = _interopRequireDefault(require(\"../../events/core/events_engine\"));\r\nvar _browser = _interopRequireDefault(require(\"../../core/utils/browser\"));\r\nvar _dom_adapter = _interopRequireDefault(require(\"../../core/dom_adapter\"));\r\nvar _class = _interopRequireDefault(require(\"../../core/class\"));\r\nvar _index = require(\"../utils/index\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar POINTER_EVENTS_NAMESPACE = \"dxPointerEvents\";\r\nvar BaseStrategy = _class.default.inherit({\r\n ctor: function(eventName, originalEvents) {\r\n this._eventName = eventName;\r\n this._originalEvents = (0, _index.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 || (0, _index.eventSource)(e),\r\n originalEvent: e,\r\n delegateTarget: delegateTarget,\r\n timeStamp: _browser.default.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 (0, _index.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 : _dom_adapter.default.getDocument();\r\n this._setSelector(handleObj);\r\n var that = this;\r\n _events_engine.default.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 : _dom_adapter.default.getDocument();\r\n if (this._originalEvents !== \".\" + POINTER_EVENTS_NAMESPACE) {\r\n _events_engine.default.off(element, this._originalEvents, this._getSelector())\r\n }\r\n },\r\n dispose: function(element) {\r\n element = this.noBubble ? element : _dom_adapter.default.getDocument();\r\n _events_engine.default.off(element, this._originalEvents)\r\n }\r\n});\r\nvar _default = BaseStrategy;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (events/hover.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 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.start = exports.end = void 0;\r\nvar _events_engine = _interopRequireDefault(require(\"../events/core/events_engine\"));\r\nvar _element_data = require(\"../core/element_data\");\r\nvar _class = _interopRequireDefault(require(\"../core/class\"));\r\nvar _devices = _interopRequireDefault(require(\"../core/devices\"));\r\nvar _event_registrator = _interopRequireDefault(require(\"./core/event_registrator\"));\r\nvar _index = require(\"./utils/index\");\r\nvar _pointer = _interopRequireDefault(require(\"./pointer\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar HOVERSTART_NAMESPACE = \"dxHoverStart\";\r\nvar HOVERSTART = \"dxhoverstart\";\r\nexports.start = HOVERSTART;\r\nvar POINTERENTER_NAMESPACED_EVENT_NAME = (0, _index.addNamespace)(_pointer.default.enter, HOVERSTART_NAMESPACE);\r\nvar HOVEREND_NAMESPACE = \"dxHoverEnd\";\r\nvar HOVEREND = \"dxhoverend\";\r\nexports.end = HOVEREND;\r\nvar POINTERLEAVE_NAMESPACED_EVENT_NAME = (0, _index.addNamespace)(_pointer.default.leave, HOVEREND_NAMESPACE);\r\nvar Hover = _class.default.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 (0, _element_data.data)(element, this._handlerArrayKeyPath, {})\r\n },\r\n add: function(element, handleObj) {\r\n var that = this;\r\n var handler = function(e) {\r\n that._handler(e)\r\n };\r\n _events_engine.default.on(element, this._originalEventName, handleObj.selector, handler);\r\n (0, _element_data.data)(element, this._handlerArrayKeyPath)[handleObj.guid] = handler\r\n },\r\n _handler: function(e) {\r\n if ((0, _index.isTouchEvent)(e) || _devices.default.isSimulator()) {\r\n return\r\n }(0, _index.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 = (0, _element_data.data)(element, this._handlerArrayKeyPath)[handleObj.guid];\r\n _events_engine.default.off(element, this._originalEventName, handleObj.selector, handler)\r\n },\r\n teardown: function(element) {\r\n (0, _element_data.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\n(0, _event_registrator.default)(HOVERSTART, new HoverStart);\r\n(0, _event_registrator.default)(HOVEREND, new HoverEnd);\r\n","/**\r\n * DevExtreme (events/contextmenu.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 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.name = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../core/renderer\"));\r\nvar _events_engine = _interopRequireDefault(require(\"../events/core/events_engine\"));\r\nvar _support = require(\"../core/utils/support\");\r\nvar _devices = _interopRequireDefault(require(\"../core/devices\"));\r\nvar _class = _interopRequireDefault(require(\"../core/class\"));\r\nvar _event_registrator = _interopRequireDefault(require(\"./core/event_registrator\"));\r\nvar _index = require(\"./utils/index\");\r\nvar _hold = _interopRequireDefault(require(\"./hold\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar CONTEXTMENU_NAMESPACE = \"dxContexMenu\";\r\nvar CONTEXTMENU_NAMESPACED_EVENT_NAME = (0, _index.addNamespace)(\"contextmenu\", CONTEXTMENU_NAMESPACE);\r\nvar HOLD_NAMESPACED_EVENT_NAME = (0, _index.addNamespace)(_hold.default.name, CONTEXTMENU_NAMESPACE);\r\nvar CONTEXTMENU_EVENT_NAME = \"dxcontextmenu\";\r\nvar ContextMenu = _class.default.inherit({\r\n setup: function(element) {\r\n var $element = (0, _renderer.default)(element);\r\n _events_engine.default.on($element, CONTEXTMENU_NAMESPACED_EVENT_NAME, this._contextMenuHandler.bind(this));\r\n if (_support.touch || _devices.default.isSimulator()) {\r\n _events_engine.default.on($element, HOLD_NAMESPACED_EVENT_NAME, this._holdHandler.bind(this))\r\n }\r\n },\r\n _holdHandler: function(e) {\r\n if ((0, _index.isMouseEvent)(e) && !_devices.default.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 (0, _index.fireEvent)({\r\n type: CONTEXTMENU_EVENT_NAME,\r\n originalEvent: e\r\n })\r\n },\r\n teardown: function(element) {\r\n _events_engine.default.off(element, \".\" + CONTEXTMENU_NAMESPACE)\r\n }\r\n});\r\n(0, _event_registrator.default)(CONTEXTMENU_EVENT_NAME, new ContextMenu);\r\nvar name = CONTEXTMENU_EVENT_NAME;\r\nexports.name = name;\r\n","/**\r\n * DevExtreme (exporter/file_saver.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 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.fileSaver = exports.MIME_TYPES = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../core/renderer\"));\r\nvar _dom_adapter = _interopRequireDefault(require(\"../core/dom_adapter\"));\r\nvar _window = require(\"../core/utils/window\");\r\nvar _events_engine = _interopRequireDefault(require(\"../events/core/events_engine\"));\r\nvar _ui = _interopRequireDefault(require(\"../ui/widget/ui.errors\"));\r\nvar _type = require(\"../core/utils/type\");\r\nvar _console = require(\"../core/utils/console\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar window = (0, _window.getWindow)();\r\nvar navigator = (0, _window.getNavigator)();\r\nvar FILE_EXTESIONS = {\r\n EXCEL: \"xlsx\",\r\n CSS: \"css\",\r\n PNG: \"png\",\r\n JPEG: \"jpeg\",\r\n GIF: \"gif\",\r\n SVG: \"svg\",\r\n PDF: \"pdf\"\r\n};\r\nvar MIME_TYPES = {\r\n CSS: \"text/css\",\r\n EXCEL: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\",\r\n PNG: \"image/png\",\r\n JPEG: \"image/jpeg\",\r\n GIF: \"image/gif\",\r\n SVG: \"image/svg+xml\",\r\n PDF: \"application/pdf\"\r\n};\r\nexports.MIME_TYPES = MIME_TYPES;\r\nvar fileSaver = {\r\n _revokeObjectURLTimeout: 3e4,\r\n _getDataUri: function(format, data) {\r\n var mimeType = this._getMimeType(format);\r\n return \"data:\".concat(mimeType, \";base64,\").concat(data)\r\n },\r\n _getMimeType: function(format) {\r\n return MIME_TYPES[format] || \"application/octet-stream\"\r\n },\r\n _linkDownloader: function(fileName, href) {\r\n var exportLinkElement = _dom_adapter.default.createElement(\"a\");\r\n exportLinkElement.download = fileName;\r\n exportLinkElement.href = href;\r\n exportLinkElement.target = \"_blank\";\r\n return exportLinkElement\r\n },\r\n _formDownloader: function(proxyUrl, fileName, contentType, data) {\r\n var formAttributes = {\r\n method: \"post\",\r\n action: proxyUrl,\r\n enctype: \"multipart/form-data\"\r\n };\r\n var exportForm = (0, _renderer.default)(\"\").css({\r\n display: \"none\"\r\n }).attr(formAttributes);\r\n\r\n function setAttributes(element, attributes) {\r\n for (var key in attributes) {\r\n element.setAttribute(key, attributes[key])\r\n }\r\n return element\r\n }\r\n exportForm.append(setAttributes(_dom_adapter.default.createElement(\"input\"), {\r\n type: \"hidden\",\r\n name: \"fileName\",\r\n value: fileName\r\n }));\r\n exportForm.append(setAttributes(_dom_adapter.default.createElement(\"input\"), {\r\n type: \"hidden\",\r\n name: \"contentType\",\r\n value: contentType\r\n }));\r\n exportForm.append(setAttributes(_dom_adapter.default.createElement(\"input\"), {\r\n type: \"hidden\",\r\n name: \"data\",\r\n value: data\r\n }));\r\n exportForm.appendTo(\"body\");\r\n _events_engine.default.trigger(exportForm, \"submit\");\r\n if (_events_engine.default.trigger(exportForm, \"submit\")) {\r\n exportForm.remove()\r\n }\r\n },\r\n _saveByProxy: function(proxyUrl, fileName, format, data) {\r\n var contentType = this._getMimeType(format);\r\n return this._formDownloader(proxyUrl, fileName, contentType, data)\r\n },\r\n _winJSBlobSave: function(blob, fileName, format) {\r\n var savePicker = new Windows.Storage.Pickers.FileSavePicker;\r\n savePicker.suggestedStartLocation = Windows.Storage.Pickers.PickerLocationId.documentsLibrary;\r\n var fileExtension = FILE_EXTESIONS[format];\r\n if (fileExtension) {\r\n var mimeType = this._getMimeType(format);\r\n savePicker.fileTypeChoices.insert(mimeType, [\".\" + fileExtension])\r\n }\r\n savePicker.suggestedFileName = fileName;\r\n savePicker.pickSaveFileAsync().then(function(file) {\r\n if (file) {\r\n file.openAsync(Windows.Storage.FileAccessMode.readWrite).then(function(outputStream) {\r\n var inputStream = blob.msDetachStream();\r\n Windows.Storage.Streams.RandomAccessStream.copyAsync(inputStream, outputStream).then(function() {\r\n outputStream.flushAsync().done(function() {\r\n inputStream.close();\r\n outputStream.close()\r\n })\r\n })\r\n })\r\n }\r\n })\r\n },\r\n _click: function(link) {\r\n try {\r\n link.dispatchEvent(new MouseEvent(\"click\", {\r\n cancelable: true\r\n }))\r\n } catch (e) {\r\n var event = _dom_adapter.default.getDocument().createEvent(\"MouseEvents\");\r\n event.initMouseEvent(\"click\", true, true, window, 0, 0, 0, 80, 20, false, false, false, false, 0, null);\r\n link.dispatchEvent(event)\r\n }\r\n },\r\n _saveBlobAs: function(fileName, format, data) {\r\n var _this = this;\r\n this._blobSaved = false;\r\n if ((0, _type.isDefined)(navigator.msSaveOrOpenBlob)) {\r\n navigator.msSaveOrOpenBlob(data, fileName);\r\n this._blobSaved = true\r\n } else {\r\n if ((0, _type.isDefined)(window.WinJS)) {\r\n this._winJSBlobSave(data, fileName, format);\r\n this._blobSaved = true\r\n } else {\r\n var URL = window.URL || window.webkitURL || window.mozURL || window.msURL || window.oURL;\r\n if ((0, _type.isDefined)(URL)) {\r\n var objectURL = URL.createObjectURL(data);\r\n var downloadLink = this._linkDownloader(fileName, objectURL);\r\n setTimeout(function() {\r\n URL.revokeObjectURL(objectURL);\r\n _this._objectUrlRevoked = true\r\n }, this._revokeObjectURLTimeout);\r\n this._click(downloadLink)\r\n } else {\r\n _console.logger.warn(\"window.URL || window.webkitURL || window.mozURL || window.msURL || window.oURL is not defined\")\r\n }\r\n }\r\n }\r\n },\r\n saveAs: function(fileName, format, data, proxyURL, forceProxy) {\r\n var fileExtension = FILE_EXTESIONS[format];\r\n if (fileExtension) {\r\n fileName += \".\" + fileExtension\r\n }\r\n if ((0, _type.isDefined)(proxyURL)) {\r\n _ui.default.log(\"W0001\", \"Export\", \"proxyURL\", \"19.2\", \"This option is no longer required\")\r\n }\r\n if (forceProxy) {\r\n this._saveByProxy(proxyURL, fileName, format, data)\r\n } else {\r\n if ((0, _type.isFunction)(window.Blob)) {\r\n this._saveBlobAs(fileName, format, data)\r\n } else {\r\n if ((0, _type.isDefined)(proxyURL) && !(0, _type.isDefined)(navigator.userAgent.match(/iPad/i))) {\r\n this._saveByProxy(proxyURL, fileName, format, data)\r\n } else {\r\n if (!(0, _type.isDefined)(navigator.userAgent.match(/iPad/i))) {\r\n _ui.default.log(\"E1034\")\r\n }\r\n var downloadLink = this._linkDownloader(fileName, this._getDataUri(format, data));\r\n this._click(downloadLink)\r\n }\r\n }\r\n }\r\n }\r\n};\r\nexports.fileSaver = fileSaver;\r\n","/**\r\n * DevExtreme (events/double_click.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 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.name = void 0;\r\nvar _events_engine = _interopRequireDefault(require(\"../events/core/events_engine\"));\r\nvar _dom = require(\"../core/utils/dom\");\r\nvar _dom_adapter = _interopRequireDefault(require(\"../core/dom_adapter\"));\r\nvar _class = _interopRequireDefault(require(\"../core/class\"));\r\nvar _event_registrator = _interopRequireDefault(require(\"./core/event_registrator\"));\r\nvar _click = require(\"./click\");\r\nvar _index = require(\"./utils/index\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar DBLCLICK_EVENT_NAME = \"dxdblclick\";\r\nexports.name = DBLCLICK_EVENT_NAME;\r\nvar DBLCLICK_NAMESPACE = \"dxDblClick\";\r\nvar NAMESPACED_CLICK_EVENT = (0, _index.addNamespace)(_click.name, DBLCLICK_NAMESPACE);\r\nvar DBLCLICK_TIMEOUT = 300;\r\nvar DblClick = _class.default.inherit({\r\n ctor: function() {\r\n this._handlerCount = 0;\r\n this._forgetLastClick()\r\n },\r\n _forgetLastClick: function() {\r\n this._firstClickTarget = null;\r\n this._lastClickTimeStamp = -DBLCLICK_TIMEOUT\r\n },\r\n add: function() {\r\n if (this._handlerCount <= 0) {\r\n _events_engine.default.on(_dom_adapter.default.getDocument(), NAMESPACED_CLICK_EVENT, this._clickHandler.bind(this))\r\n }\r\n this._handlerCount++\r\n },\r\n _clickHandler: function(e) {\r\n var timeStamp = e.timeStamp || Date.now();\r\n var timeBetweenClicks = timeStamp - this._lastClickTimeStamp;\r\n var isSimulated = timeBetweenClicks < 0;\r\n var isDouble = !isSimulated && timeBetweenClicks < DBLCLICK_TIMEOUT;\r\n if (isDouble) {\r\n (0, _index.fireEvent)({\r\n type: DBLCLICK_EVENT_NAME,\r\n target: (0, _dom.closestCommonParent)(this._firstClickTarget, e.target),\r\n originalEvent: e\r\n });\r\n this._forgetLastClick()\r\n } else {\r\n this._firstClickTarget = e.target;\r\n this._lastClickTimeStamp = timeStamp\r\n }\r\n },\r\n remove: function() {\r\n this._handlerCount--;\r\n if (this._handlerCount <= 0) {\r\n this._forgetLastClick();\r\n _events_engine.default.off(_dom_adapter.default.getDocument(), NAMESPACED_CLICK_EVENT)\r\n }\r\n }\r\n});\r\n(0, _event_registrator.default)(DBLCLICK_EVENT_NAME, new DblClick);\r\n","/**\r\n * DevExtreme (file_management/provider_base.js)\r\n * Version: 20.2.11\r\n * Build date: Wed Apr 27 2022\r\n *\r\n * Copyright (c) 2012 - 2022 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.default = void 0;\r\nvar _data = require(\"../core/utils/data\");\r\nvar _common = require(\"../core/utils/common\");\r\nvar _date_serialization = _interopRequireDefault(require(\"../core/utils/date_serialization\"));\r\nvar _iterator = require(\"../core/utils/iterator\");\r\nvar _type = require(\"../core/utils/type\");\r\nvar _deferred = require(\"../core/utils/deferred\");\r\nvar _file_system_item = _interopRequireDefault(require(\"./file_system_item\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar DEFAULT_FILE_UPLOAD_CHUNK_SIZE = 2e5;\r\nvar FileSystemProviderBase = function() {\r\n function FileSystemProviderBase(options) {\r\n options = (0, _common.ensureDefined)(options, {});\r\n this._keyGetter = (0, _data.compileGetter)(this._getKeyExpr(options));\r\n this._nameGetter = (0, _data.compileGetter)(this._getNameExpr(options));\r\n this._isDirGetter = (0, _data.compileGetter)(this._getIsDirExpr(options));\r\n this._sizeGetter = (0, _data.compileGetter)(this._getSizeExpr(options));\r\n this._dateModifiedGetter = (0, _data.compileGetter)(this._getDateModifiedExpr(options));\r\n this._thumbnailGetter = (0, _data.compileGetter)(options.thumbnailExpr || \"thumbnail\")\r\n }\r\n var _proto = FileSystemProviderBase.prototype;\r\n _proto.getItems = function(parentDirectory) {\r\n return []\r\n };\r\n _proto.renameItem = function(item, name) {};\r\n _proto.createDirectory = function(parentDirectory, name) {};\r\n _proto.deleteItems = function(items) {};\r\n _proto.moveItems = function(items, destinationDirectory) {};\r\n _proto.copyItems = function(items, destinationDirectory) {};\r\n _proto.uploadFileChunk = function(fileData, chunksInfo, destinationDirectory) {};\r\n _proto.abortFileUpload = function(fileData, chunksInfo, destinationDirectory) {};\r\n _proto.downloadItems = function(items) {};\r\n _proto.getItemsContent = function(items) {};\r\n _proto.getFileUploadChunkSize = function() {\r\n return DEFAULT_FILE_UPLOAD_CHUNK_SIZE\r\n };\r\n _proto._convertDataObjectsToFileItems = function(entries, pathInfo) {\r\n var _this = this;\r\n var result = [];\r\n (0, _iterator.each)(entries, function(_, entry) {\r\n var fileItem = _this._createFileItem(entry, pathInfo);\r\n result.push(fileItem)\r\n });\r\n return result\r\n };\r\n _proto._createFileItem = function(dataObj, pathInfo) {\r\n var key = this._keyGetter(dataObj);\r\n var fileItem = new _file_system_item.default(pathInfo, this._nameGetter(dataObj), (!!this._isDirGetter(dataObj)), key);\r\n fileItem.size = this._sizeGetter(dataObj);\r\n if (void 0 === fileItem.size) {\r\n fileItem.size = 0\r\n }\r\n fileItem.dateModified = _date_serialization.default.deserializeDate(this._dateModifiedGetter(dataObj));\r\n if (void 0 === fileItem.dateModified) {\r\n fileItem.dateModified = new Date\r\n }\r\n if (fileItem.isDirectory) {\r\n fileItem.hasSubDirectories = this._hasSubDirs(dataObj)\r\n }\r\n if (!key) {\r\n fileItem.key = fileItem.relativeName\r\n }\r\n fileItem.thumbnail = this._thumbnailGetter(dataObj) || \"\";\r\n fileItem.dataItem = dataObj;\r\n return fileItem\r\n };\r\n _proto._hasSubDirs = function(dataObj) {\r\n return true\r\n };\r\n _proto._getKeyExpr = function(options) {\r\n return options.keyExpr || this._defaultKeyExpr\r\n };\r\n _proto._defaultKeyExpr = function(fileItem) {\r\n if (2 === arguments.length) {\r\n fileItem.__KEY__ = arguments[1];\r\n return\r\n }\r\n return Object.prototype.hasOwnProperty.call(fileItem, \"__KEY__\") ? fileItem.__KEY__ : null\r\n };\r\n _proto._getNameExpr = function(options) {\r\n return options.nameExpr || \"name\"\r\n };\r\n _proto._getIsDirExpr = function(options) {\r\n return options.isDirectoryExpr || \"isDirectory\"\r\n };\r\n _proto._getSizeExpr = function(options) {\r\n return options.sizeExpr || \"size\"\r\n };\r\n _proto._getDateModifiedExpr = function(options) {\r\n return options.dateModifiedExpr || \"dateModified\"\r\n };\r\n _proto._executeActionAsDeferred = function(action, keepResult) {\r\n var deferred = new _deferred.Deferred;\r\n try {\r\n var result = action();\r\n if ((0, _type.isPromise)(result)) {\r\n (0, _deferred.fromPromise)(result).done(function(userResult) {\r\n return deferred.resolve(keepResult && userResult || void 0)\r\n }).fail(function(error) {\r\n return deferred.reject(error)\r\n })\r\n } else {\r\n deferred.resolve(keepResult && result || void 0)\r\n }\r\n } catch (error) {\r\n return deferred.reject(error)\r\n }\r\n return deferred.promise()\r\n };\r\n return FileSystemProviderBase\r\n}();\r\nvar _default = FileSystemProviderBase;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n"],"sourceRoot":""}