{"version":3,"sources":["webpack:///./node_modules/devextreme-vue/core/strategy/vue2/configuration.js","webpack:///./node_modules/devextreme/core/options/index.js","webpack:///./node_modules/devextreme/localization/core.js","webpack:///./node_modules/devextreme/localization/number.js","webpack:///./node_modules/devextreme/events/pointer/mspointer.js","webpack:///./node_modules/devextreme/core/utils/icon.js","webpack:///./node_modules/devextreme/core/utils/view_port.js","webpack:///./node_modules/devextreme/core/utils/public_component.js","webpack:///./node_modules/devextreme/core/events_strategy.js","webpack:///./node_modules/devextreme-vue/validator.js","webpack:///./node_modules/devextreme/core/component_registrator.js","webpack:///./node_modules/devextreme/ui/widget/ui.errors.js","webpack:///./node_modules/devextreme/ui/text_box/ui.text_editor.mask.strategy.default.js","webpack:///./node_modules/devextreme-vue/core/extension-component.js","webpack:///./node_modules/devextreme-vue/core/children-processing.js","webpack:///./node_modules/devextreme/events/visibility_change.js","webpack:///./node_modules/devextreme/core/renderer.js","webpack:///./node_modules/devextreme/events/core/event_registrator.js","webpack:///./node_modules/devextreme/events/utils/index.js","webpack:///./node_modules/devextreme/ui/check_box.js","webpack:///./node_modules/devextreme/core/utils/error.js","webpack:///./node_modules/devextreme/events/utils/add_namespace.js","webpack:///./node_modules/devextreme-vue/core/index.js","webpack:///./node_modules/devextreme/core/utils/common.js","webpack:///./node_modules/devextreme/events/core/hook_touch_props.js","webpack:///./node_modules/devextreme/events/drag.js","webpack:///./node_modules/devextreme-vue/core/config.js","webpack:///./node_modules/devextreme/localization/intl/number.js","webpack:///./node_modules/devextreme/ui/editor/editor.js","webpack:///./node_modules/devextreme/core/devices.js","webpack:///./node_modules/devextreme/core/renderer_base.js","webpack:///./node_modules/devextreme/events/core/event_registrator_callbacks.js","webpack:///./node_modules/devextreme-vue/core/strategy/vue2/templates-manager.js","webpack:///./node_modules/devextreme/localization/currency.js","webpack:///./node_modules/devextreme/ui/resizable.js","webpack:///./node_modules/devextreme/core/polyfills/weak_map.js","webpack:///./node_modules/devextreme/ui/validation/default_adapter.js","webpack:///./node_modules/devextreme/core/version.js","webpack:///./node_modules/devextreme/events/pointer/touch.js","webpack:///./node_modules/devextreme/core/templates/template_base.js","webpack:///./node_modules/devextreme/core/templates/empty_template.js","webpack:///./node_modules/devextreme/core/polyfills/promise.js","webpack:///./node_modules/devextreme/ui/toast.js","webpack:///./node_modules/devextreme/core/postponed_operations.js","webpack:///./node_modules/devextreme/core/dom_component.js","webpack:///./node_modules/devextreme/core/utils/string.js","webpack:///./node_modules/devextreme/events/pointer.js","webpack:///./node_modules/devextreme/core/memorized_callbacks.js","webpack:///./node_modules/devextreme/events/short.js","webpack:///./node_modules/devextreme/localization/utils.js","webpack:///./node_modules/devextreme/core/action.js","webpack:///./node_modules/devextreme/events/pointer/mouse_and_touch.js","webpack:///./node_modules/devextreme/localization/parentLocale.js","webpack:///./node_modules/devextreme-vue/core/strategy/vue3/index.js","webpack:///./node_modules/devextreme/events/core/keyboard_processor.js","webpack:///./node_modules/devextreme/events/click.js","webpack:///./node_modules/devextreme/core/utils/variable_wrapper.js","webpack:///./node_modules/devextreme/ui/button.js","webpack:///./node_modules/devextreme/ui/load_indicator.js","webpack:///./node_modules/devextreme/core/utils/version.js","webpack:///./node_modules/devextreme/core/utils/position.js","webpack:///./node_modules/devextreme/core/utils/array.js","webpack:///./node_modules/devextreme/localization/ldml/number.js","webpack:///./node_modules/devextreme/animation/translator.js","webpack:///./node_modules/devextreme/core/options/utils.js","webpack:///./node_modules/devextreme-vue/core/helpers.js","webpack:///./node_modules/devextreme-vue/button.js","webpack:///./node_modules/devextreme/ui/validator.js","webpack:///./node_modules/devextreme-vue/core/strategy/vue2/errors.js","webpack:///./node_modules/devextreme/events/core/emitter_registrator.js","webpack:///./node_modules/devextreme/ui/text_box/texteditor_button_collection/button.js","webpack:///./node_modules/devextreme/ui/validation_engine.js","webpack:///./node_modules/devextreme/core/utils/window.js","webpack:///./node_modules/devextreme/core/utils/callbacks.js","webpack:///./node_modules/devextreme/core/utils/console.js","webpack:///./node_modules/devextreme/core/utils/support.js","webpack:///./node_modules/devextreme/core/utils/size.js","webpack:///./node_modules/devextreme/animation/frame.js","webpack:///./node_modules/devextreme/ui/validation_message.js","webpack:///./node_modules/devextreme/core/utils/template_manager.js","webpack:///./node_modules/devextreme/core/templates/function_template.js","webpack:///./node_modules/devextreme/core/utils/dependency_injector.js","webpack:///./node_modules/devextreme/core/remove_event.js","webpack:///./node_modules/devextreme/ui/text_box/ui.text_editor.mask.strategy.input_events.js","webpack:///./node_modules/devextreme/ui/text_box/text_box.js","webpack:///./node_modules/devextreme/ui/text_box/ui.text_editor.clear.js","webpack:///./node_modules/devextreme/mobile/hide_callback.js","webpack:///./node_modules/devextreme/ui/text_box/ui.text_editor.mask.strategy.base.js","webpack:///./node_modules/devextreme/ui/widget/selectors.js","webpack:///./src/themeChanger.js","webpack:///./node_modules/devextreme-vue/core/strategy/vue2/config.js","webpack:///./node_modules/devextreme/events/core/emitter.feedback.js","webpack:///./node_modules/devextreme/animation/fx.js","webpack:///./node_modules/devextreme/core/utils/call_once.js","webpack:///./node_modules/devextreme/ui/text_box/texteditor_button_collection/index.js","webpack:///./node_modules/devextreme/localization/message.js","webpack:///./node_modules/devextreme/localization/cldr-data/accounting_formats.js","webpack:///./node_modules/devextreme/events/core/events_engine.js","webpack:///./node_modules/devextreme-vue/core/strategy/vue2/templates-discovering.js","webpack:///./node_modules/devextreme-vue/core/configuration.js","webpack:///./node_modules/devextreme-vue/core/version.js","webpack:///./node_modules/devextreme/core/templates/template_engine_registry.js","webpack:///./node_modules/devextreme/events/core/emitter.js","webpack:///./node_modules/devextreme-vue/core/templates-manager.js","webpack:///./node_modules/devextreme/core/templates/child_default_template.js","webpack:///./node_modules/devextreme/core/element.js","webpack:///./node_modules/devextreme/ui/text_box/ui.text_editor.mask.rule.js","webpack:///./src/assets/logo.svg","webpack:///./node_modules/devextreme/core/utils/style.js","webpack:///./node_modules/devextreme-vue/core/strategy/vue2/children-processing.js","webpack:///./node_modules/devextreme-vue/core/strategy/vue2/helpers.js","webpack:///./node_modules/devextreme-vue/core/constants.js","webpack:///./node_modules/devextreme/core/options/option_manager.js","webpack:///./node_modules/devextreme/core/templates/template.js","webpack:///./node_modules/devextreme/events/hover.js","webpack:///./node_modules/devextreme/core/template_manager.js","webpack:///./node_modules/devextreme/events/index.js","webpack:///./node_modules/devextreme/events/utils/event_nodes_disposing.js","webpack:///./node_modules/devextreme/localization/cldr-data/parent_locales.js","webpack:///./node_modules/devextreme/ui/overlay/z_index.js","webpack:///./node_modules/devextreme-vue/core/strategy/vue2/component.js","webpack:///./node_modules/core-js/modules/es.function.name.js","webpack:///./node_modules/devextreme/core/utils/comparator.js","webpack:///./node_modules/devextreme-vue/core/templates-discovering.js","webpack:///./node_modules/devextreme/ui/overlay/ui.overlay.js","webpack:///./node_modules/devextreme/core/utils/deferred.js","webpack:///./node_modules/devextreme/core/dom_adapter.js","webpack:///./node_modules/devextreme/core/utils/type.js","webpack:///./node_modules/devextreme/events/core/wheel.js","webpack:///./node_modules/devextreme/ui/overlay.js","webpack:///./node_modules/devextreme/core/utils/browser.js","webpack:///./node_modules/devextreme/core/component.js","webpack:///./node_modules/devextreme/events/pointer/observer.js","webpack:///./node_modules/devextreme/core/templates/template_engines.js","webpack:///./node_modules/devextreme/localization/open_xml_currency_format.js","webpack:///./node_modules/devextreme/animation/position.js","webpack:///./node_modules/devextreme/core/utils/dom.js","webpack:///./node_modules/devextreme/events/pointer/base.js","webpack:///./node_modules/devextreme/ui/text_box/utils.caret.js","webpack:///./node_modules/devextreme/core/utils/ready_callbacks.js","webpack:///./node_modules/devextreme/core/utils/inflector.js","webpack:///./node_modules/devextreme/events/pointer/mouse.js","webpack:///./node_modules/devextreme/ui/widget/utils.ink_ripple.js","webpack:///./node_modules/devextreme/ui/text_box/ui.text_editor.base.js","webpack:///./node_modules/devextreme-vue/core/strategy/vue2/extension-component.js","webpack:///./node_modules/devextreme/ui/text_box.js","webpack:///./node_modules/devextreme/core/utils/data.js","webpack:///./node_modules/devextreme/core/utils/storage.js","webpack:///./node_modules/devextreme/ui/themes_callback.js","webpack:///./node_modules/devextreme/ui/widget/ui.widget.js","webpack:///./node_modules/devextreme/core/utils/iterator.js","webpack:///./node_modules/devextreme/core/utils/math.js","webpack:///./node_modules/devextreme-vue/core/strategy/vue2/index.js","webpack:///./node_modules/devextreme/core/guid.js","webpack:///./node_modules/devextreme/ui/text_box/ui.text_editor.mask.js","webpack:///./node_modules/devextreme/core/element_data.js","webpack:///./node_modules/devextreme/core/utils/extend.js","webpack:///./node_modules/devextreme-vue/core/component.js","webpack:///./node_modules/devextreme/core/config.js","webpack:///./node_modules/devextreme-vue/core/strategy/vue2/configuration-component.js","webpack:///./node_modules/devextreme/core/utils/object.js","webpack:///./node_modules/devextreme/ui/text_box/texteditor_button_collection/custom.js","webpack:///./node_modules/devextreme/events/gesture/emitter.gesture.js","webpack:///./node_modules/devextreme-vue/core/strategy/vue2/constants.js","webpack:///./node_modules/devextreme-vue/core/vue-helper.js","webpack:///./node_modules/devextreme-vue/text-box.js","webpack:///./node_modules/devextreme/core/class.js","webpack:///./node_modules/devextreme/ui/widget/swatch_container.js","webpack:///./node_modules/devextreme-vue/core/configuration-component.js","webpack:///./node_modules/devextreme/animation/easing.js","webpack:///./node_modules/devextreme/ui/text_box/ui.text_editor.js","webpack:///./node_modules/devextreme-vue/check-box.js","webpack:///./node_modules/devextreme/core/utils/html_parser.js","webpack:///./node_modules/devextreme/ui/text_box/utils.support.js","webpack:///./node_modules/devextreme/localization/default_messages.js","webpack:///./node_modules/devextreme/ui/themes.js","webpack:///./node_modules/devextreme/core/component_registrator_callbacks.js","webpack:///./node_modules/devextreme/core/utils/resize_callbacks.js","webpack:///./node_modules/devextreme/core/errors.js"],"names":["__assign","this","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","defineProperty","exports","value","helpers_1","Configuration","updateFunc","name","initialValues","expectedChildren","isCollectionItem","collectionItemIndex","ownerConfig","_updateFunc","_name","_initialValues","_nestedConfigurations","_isCollectionItem","_collectionItemIndex","_expectedChildren","_ownerConfig","_componentChanges","updateValue","bind","get","enumerable","configurable","cleanComponentsCountChanged","fullPath","fullName","_options","_prevNestedConfigOptions","init","options","set","handler","_emitOptionChanged","setPrevNestedOptions","onOptionChanged","args","isEqual","previousValue","_onOptionChanged","split","cleanNested","createNested","expected","actualName","actualIsCollectionItem","optionName","filter","c","configuration","push","nestedName","join","getNestedOptionValues","values","forEach","o","nestedValue","arr","Array","isArray","getOptionsToWatch","blackList","optionRelPath","optionInfo","getOptionInfo","isCollection","nestedConfig","_getNestedConfig","slice","_tryEmitOptionChanged","component","option","_i","_a","bindOptionWatchers","config","vueInstance","innerChanges","targets","$watch","setEmitOptionChangedFunc","emitOptionChanged","$props","$emit","default","Options","_type","_common","_option_manager","_object","_utils","_extend","_defineProperties","target","props","descriptor","writable","key","_createClass","Constructor","protoProps","staticProps","defaultOptions","optionsByReference","deprecatedOptions","_this","_deprecatedCallback","_startChangeCallback","_endChangeCallback","_default","_deprecated","_deprecatedNames","_initDeprecatedNames","_optionManager","OptionManager","onRelevantNamesPrepared","silent","_setRelevantNames","_cachedOptions","_rules","_proto","_getByRules","rules","concat","convertRulesToOptions","_notifyDeprecated","info","normalizedName","_normalizeName","_setField","_clearField","fieldName","fieldObject","getFieldName","getParentName","previousFieldName","deprecate","alias","addRules","applyRules","dispose","noop","onChanging","callBack","onChanged","onDeprecated","onStartChange","onEndChange","isInitial","initialValue","initial","areFunctions","isFunction","toString","equalByValue","getNestedOptionValue","_initial","isGetter","type","reset","_this2","replace","reduce","field","defaultValue","isObject","clone","getAliasesByName","_this3","keys","aliasName","isDeprecated","cache","extend","_initialOptions","rulesOptions","_setByReference","_dependency_injector","_interopRequireDefault","_parent_locales","_parentLocale","obj","__esModule","DEFAULT_LOCALE","locale","currentLocale","getValueByClosestLocale","getter","isRootLocale","module","_array","_iterator","_number","_config","_errors","_currency","_number2","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","minLen","_arrayLikeToArray","constructor","from","test","len","arr2","Symbol","iterator","_arr","_n","_d","_e","_s","next","done","err","return","hasIntl","Intl","MAX_LARGE_NUMBER_POWER","DECIMAL_BASE","NUMERIC_FORMATS","LargeNumberFormatPostfixes","1","2","3","4","LargeNumberFormatPowers","largenumber","thousands","millions","billions","trillions","numberLocalization","engine","numericFormats","defaultLargeNumberFormatPostfixes","_parseNumberFormatString","formatType","formatObject","formatList","toLowerCase","each","index","inArray","power","_calculateNumberPower","base","minPower","maxPower","number","Math","abs","_getNumberByPower","result","_formatNumber","formatConfig","powerPostfix","_formatNumberCore","_formatNumberExponential","precision","toFixed","powString","_addZeroes","multiplier","pow","sign","_addGroupSeparators","parts","thousandsSeparator","decimalSeparator","format","toPrecision","_normalizeFormat","isPlainObject","_getSeparators","getDecimalSeparator","getThousandsSeparator","convertDigits","toStandard","digits","fromFirstDigit","toFirstDigit","fromLastDigit","regExp","RegExp","char","String","fromCharCode","charCodeAt","getNegativeEtalonRegExp","separators","digitalRegExp","escapeRegExp","specialCharacters","negativeEtalon","getSign","text","charAt","match","_format","formatter","numberConfig","formatterConfig","unlimitedIntegerDigits","getFormatter","parse","parser","log","cleanedText","_calcSignificantDigits","NaN","parsed","find","_text$split","_text$split2","integer","fractional","calcDigitsAfterLeadingZeros","reverse","inject","_base","_observer","observer","eventMap","dxpointerdown","dxpointermove","dxpointerup","dxpointercancel","dxpointerover","dxpointerout","dxpointerenter","dxpointerleave","activated","activateStrategy","a","b","pointerId","e","isPrimary","MsPointerStrategy","inherit","ctor","callBase","_fireEvent","pointers","originalEvent","map","resetObserver","getImageContainer","getImageSourceType","_renderer","ICON_CLASS","SVG_ICON_CLASS","source","attr","addClass","append","originalViewPort","changeCallback","_ready_callbacks","_callbacks","ready","add","$originalViewPort","$current","element","$element","isNewViewportFound","prevViewPort","fire","attachInstanceToElement","getInstanceByElement","_element_data","_events_engine","_weak_map","_remove_event","COMPONENT_NAMES_DATA_KEY","ANONYMOUS_COMPONENT_DATA_KEY","componentNames","nextAnonymousComponent","getName","componentClass","newName","isDefined","has","generatedName","componentInstance","disposeFn","data","one","EventsStrategy","owner","_events","_owner","create","strategy","hasEvent","eventName","callbacks","fireEvent","eventArgs","fireWith","on","eventHandler","h","syncStrategy","addFn","originalAdd","off","remove","empty","event","DxValidationRule","DxStringLengthRule","DxRequiredRule","DxRangeRule","DxPatternRule","DxNumericRule","DxEmailRule","DxCustomRule","DxCompareRule","DxAsyncRule","DxAdapter","DxValidator","validator_1","index_1","index_2","createExtensionComponent","adapter","elementAttr","height","Function","Number","onDisposing","onInitialized","onValidated","validationGroup","validationRules","width","emits","computed","instance","$_instance","beforeCreate","$_WidgetClass","$_expectedChildren","AsyncRule","CompareRule","CustomRule","EmailRule","NumericRule","PatternRule","RangeRule","RequiredRule","StringLengthRule","validationRule","createConfigurationComponent","applyValidationResults","bypass","focus","getValue","validationRequestsCallbacks","$_optionName","ignoreEmptyValue","Boolean","message","reevaluate","validationCallback","$_isCollectionItem","$_predefinedProps","comparisonTarget","comparisonType","pattern","max","min","trim","_component_registrator_callbacks","_public_component","registerComponent","namespace","registerRendererComponent","fn","isMemberInvoke","memberName","memberArgs","getInstance","Error","member","memberValue","_error","ERROR_MESSAGES","E1001","E1002","E1003","E1004","E1005","E1006","E1007","E1010","E1011","E1012","E1016","E1018","E1019","E1020","E1021","E1022","E1023","E1025","E1026","E1030","E1031","E1032","E1033","E1034","E1035","E1037","E1038","E1039","E1040","E1041","E1042","E1043","E1044","E1045","E1046","E1047","E1048","E1049","E1050","E1051","E1052","E1053","E1054","E1055","E1056","E1058","E1059","E1060","W1001","W1002","W1003","W1004","W1005","W1006","W1007","W1008","W1009","W1010","W1011","W1012","W1013","W1014","W1015","_uiText_editorMaskStrategy","_index","_promise","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","iter","_inheritsLoose","subClass","superClass","_setPrototypeOf","setPrototypeOf","__proto__","BACKSPACE_INPUT_TYPE","EMPTY_CHAR","DefaultMaskStrategy","_BaseMaskStrategy","_getStrategyName","getHandleEventNames","_keyPressHandler","_keyPressHandled","editor","_isControlKeyFired","_maskKeyHandler","_handleKey","getChar","_inputHandler","_backspaceInputHandled","inputType","_handleBackspaceInput","_autoFillHandler","inputValue","editorInput","val","caret","editorCaret","end","start","oldValue","substring","_caret","_backspaceHandler","afterBackspaceHandler","needAdjustCaret","_direction","DIRECTION","FORWARD","_adjustCaret","currentCaret","resolve","clearTimeout","_backspaceHandlerTimeout","setTimeout","_hasSelection","_displayMask","_maskRulesChain","_tryMoveCaretBackward","BACKWARD","_this$editorCaret","initDxExtensionComponent","vue_1","component_1","vue_helper_1","defineComponent","extends","initBaseComponent","created","nodeOptions","getNodeOptions","$_isExtension","$_attachTo","attachTo","mounted","$el","setAttribute","componentOptions","$_hasOwner","methods","$_createWidget","pullAllChildren","isFragment","directChildren","allChildren","pullConfigComponents","node","patchFlag","children","nodes","componentInfo","getComponentInfo","componentChildren","configurationChildren","getNormalizedProps","$_config","$_innerChanges","triggerResizeEvent","triggerHidingEvent","triggerShownEvent","triggerVisibilityChangeEvent","VISIBILITY_CHANGE_SELECTOR","changeHandlers","triggerHandler","_renderer_base","_event_registrator_callbacks","registerEvent","eventObject","noBubble","bindType","delegateType","_","methodName","unshift","isCommandKeyPressed","addNamespace","normalizeKeyName","createEvent","setEventFixMethod","needSkipEvent","stopEventsSkipping","forceSkipEvents","hasTouches","eventDelta","eventData","isFakeClickEvent","isKeyboardEvent","isTouchEvent","isDxMouseWheelEvent","isMouseEvent","isPointerEvent","eventSource","_add_namespace","_selectors","KEY_MAP","backspace","tab","enter","escape","pageup","pagedown","home","arrowleft","arrowup","arrowright","arrowdown","f","alt","control","shift","left","up","right","down","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","dx","mouse","touch","keyboard","pointer","fixMethod","copyEvent","Event","isDxEvent","isNativeMouseEvent","isNativeTouchEvent","_ref","pointerType","_ref2","screenX","offsetX","pageX","_ref3","pageY","timeStamp","x","y","time","to","touches","skipEvents","$target","isContentEditable","hasAttribute","touchInEditable","is","isTextArea","hasClass","isInputFocused","which","focused","func","delegateTarget","trigger","_ref4","isKeySupported","_ref5","_ref6","ctrlKey","metaKey","_devices","_editor","_component_registrator","_click","CHECKBOX_CLASS","CHECKBOX_ICON_CLASS","CHECKBOX_CHECKED_CLASS","CHECKBOX_CONTAINER_CLASS","CHECKBOX_TEXT_CLASS","CHECKBOX_HAS_TEXT_CLASS","CHECKBOX_INDETERMINATE_CLASS","CHECKBOX_FEEDBACK_HIDE_TIMEOUT","CheckBox","_supportedKeys","click","preventDefault","_clickAction","space","_getDefaultOptions","hoverStateEnabled","activeStateEnabled","useInkRipple","_defaultOptionsRules","device","real","deviceType","isSimulator","focusStateEnabled","_canValueBeChangedByClick","_feedbackHideTimeout","_initMarkup","_renderSubmitElement","_$container","setAria","_renderValue","_renderIcon","_renderText","_renderInkRipple","_render","_renderClick","_$submitElement","appendTo","_getSubmitElement","_inkRipple","render","waveSizeCoefficient","useHoldAnimation","wavesNumber","isCentered","_renderInkWave","dxEvent","doRender","waveIndex","wave","showWave","hideWave","_updateFocusState","_$icon","_toggleActiveState","prependTo","textValue","_$text","removeClass","that","NAME","_createAction","_clickHandler","_saveValueChangeEvent","checked","indeterminate","toggleClass","_optionChanged","_invalidate","_renderDimensions","_clean","_console","_string","_version","ERROR_URL","baseErrors","errors","makeError","id","method","logger","combineMessage","formatMessage","formatDetails","details","getErrorUrl","url","__id","__details","eventNames","indexOf","createComponent","vue2Stategy","vue3Stategy","version_1","isVue3","grep","asyncNoop","applyServerDecimalSeparator","getKeyHash","pairToObject","denormalizeKey","normalizeKey","splitPair","findBestMatches","deferUpdater","deferRenderer","deferUpdate","deferRender","executeAsync","ensureDefined","_guid","_deferred","_data","action","context","deferred","Deferred","normalizedContext","task","promise","abort","timerId","rejectWith","callback","resolveWith","executingName","delayedFuncs","delayedNames","delayedDeferreds","deferExecute","oldExecutingName","currentDelayedCount","when","fail","reject","targetFilter","items","mapFn","bestMatches","maxMatchCount","itemSrc","matchCount","item","paramName","targetValue","mismatch","valueItem","raw","_raw$x","_raw$y","v","isString","charCode","parseInt","preventRound","pair","parseFloat","isFinite","keyHash","JSON","stringify","string","separator","serverDecimalSeparator","elements","checkFunction","invert","check","expectedCheck","arraysEqualByValue","array1","array2","depth","objectsEqualByValue","object1","object2","strict","propertyName","_propertyName","maxEqualityDepth","toComparable","comparisonResult","touchPropsToHook","touchPropHook","changedTouches","_typeof","drop","leave","move","iteratorUtils","_interopRequireWildcard","_dom","_event_registrator","_emitter","_emitter_registrator","_getRequireWildcardCache","WeakMap","newObj","hasPropertyDescriptor","getOwnPropertyDescriptor","desc","DRAG_START_EVENT","DRAG_EVENT","DRAG_END_EVENT","DRAG_ENTER_EVENT","DRAG_LEAVE_EVENT","DROP_EVENT","DX_DRAG_EVENTS_COUNT_KEY","knownDropTargets","knownDropTargetSelectors","knownDropTargetConfigs","dropTargetRegistration","setup","knownDropTarget","handleObj","updateEventsCounter","selector","eventsCount","teardown","handlersCount","splice","removeData","getItemDelegatedTargets","dropTargetIndex","dropTargetSelectors","$delegatedTargets","getItemConfig","getItemPosition","dropTargetConfig","itemPositionFunc","offset","getItemSize","itemSizeFunc","getBoundingClientRect","DragEmitter","direction","_init","_initEvent","_start","_maxLeftOffset","maxLeftOffset","_maxRightOffset","maxRightOffset","_maxTopOffset","maxTopOffset","_maxBottomOffset","maxBottomOffset","dropTargets","wrapToArray","targetElements","_dropTargets","_move","dragOffset","_calculateOffset","_processDropTargets","_cancelPreventDefault","_calculateXOffset","_calculateYOffset","_startEventData","_fitOffset","minOffset","maxOffset","_findDropTarget","sameTarget","_currentDropTarget","_fireDropTargetEvent","draggingElement","_$element","_checkDropTargetActive","delegatedTarget","$delegatedTarget","_checkDropTarget","active","activeTarget","contains","$prevTarget","isDraggingElement","targetPosition","top","targetSize","closest","checkDropTarget","_end","emitter","events","getOption","deepWatch","setOptions","_core","_open_xml_currency_format","_accounting_formats","detectCurrencySymbolRegex","formattersCache","NumberFormat","getCurrencyFormatter","currency","style","_normalizeFormatConfig","minimumIntegerDigits","useGrouping","maximumFractionDigits","round","_getPrecisionConfig","defaultCurrency","minimumFractionDigits","_getCurrencySymbolInfo","_extractCurrencySymbolInfo","currencyValueString","exec","position","symbol","delimiter","getCurrencySymbol","symbolInfo","getOpenXmlCurrencyFormat","targetCurrency","currencySymbol","closestAccountingFormat","_window","_ui","_validation_engine","_validation_message","INVALID_MESSAGE_AUTO","READONLY_STATE_CLASS","INVALID_CLASS","DX_INVALID_BADGE_CLASS","VALIDATION_TARGET","VALIDATION_STATUS_VALID","VALIDATION_STATUS_INVALID","READONLY_NAMESPACE","VALIDATION_MESSAGE_KEYS_MAP","validationMessageMode","validationMessageOffset","validationBoundary","Editor","showValidationMessageTimeout","validationRequest","_createElement","_initOptions","initValidationOptions","onValueChanged","readOnly","isValid","validationError","validationErrors","validationStatus","validationTooltipOptions","_attachKeyboardEvents","_setOptionsByReference","_optionsByReference","_createValueChangeAction","_valueChangeAction","_createActionByOption","excludeValidators","_suppressValueChangeAction","_valueChangeActionSuppressed","_resumeValueChangeAction","_toggleReadOnlyState","_setSubmitElementName","_renderValidationState","_raiseValueChangeAction","_valueChangeArgs","_valueChangeEventInstance","_focusInHandler","isValidationMessageShownOnFocus","_this$_validationMess","$validationMessageWrapper","_validationMessage","_wrapper","_getValidationErrors","_disposeValidationMessage","_$validationMessage","_toggleValidationClasses","isInvalid","hasWindow","_this$option","rtlEnabled","_getValidationMessageTarget","container","mode","positionRequest","boundary","describedElement","_focusTarget","_bindInnerWidgetOptions","_toggleBackspaceHandler","isReadOnly","$eventTarget","_keyboardEventBindingTarget","_dispose","$submitElement","removeAttr","_setValidationMessageOption","_this$_validationMess2","optionKey","_this$_validationMess3","_refreshFocusState","updateMaxWidth","synchronizeValidationOptions","_innerWidgetOptionChanged","_resize_callbacks","_events_strategy","_storage","_view_port","navigator","getNavigator","window","getWindow","KNOWN_UA_TABLE","iPhone","iPhone5","iPhone6","iPhone6plus","iPad","iPadMini","androidPhone","androidTablet","msSurface","desktop","DEFAULT_DEVICE","platform","version","phone","tablet","android","ios","generic","grade","mac","uaParsers","userAgent","isPhone","isTablet","isDesktop","isMac","matches","isIPhone4","screen","worseThan4_4","Devices","_realDevice","_getDevice","_currentDevice","_currentOrientation","_eventsStrategy","changed","_recalculateOrientation","current","deviceOrName","_forced","_getDeviceOrNameFromWindowScope","_getDeviceNameFromSessionStorage","forceDevice","orientation","isForced","isRippleEmulator","tinyHippos","_getCssClasses","realDevice","attachCssClasses","_deviceClasses","detachCssClasses","_isSimulator","self","forceSimulator","deviceName","_fromConfig","ua","_fromUA","sessionStorage","getItem","ex","shortcuts","_changeOrientation","$window","windowWidth","_currentWidth","devices","viewPort","prevViewport","_dom_adapter","_style","_size","_html_parser","renderer","initRender","body","getBody","getDocument","createElement","querySelectorAll","isNode","isWindow","toArray","dxRenderer","repeatMethod","setAttributeValue","attrName","removeAttribute","show","toggle","hide","getAttribute","prop","propName","setProperty","className","classNames","classList","_className","setClass","partialName","isOuter","isInner","getDocumentElement","isDocument","documentElement","include","paddings","borders","margins","getSize","isNumeric","elementStyles","getComputedStyle","sizeAdjustment","getElementBoxParams","isBorderBox","boxSizing","border","padding","setStyle","html","isTablePart","innerHTML","parseHTML","appendElements","nextSibling","nodeType","createTextNode","wrapTR","tagName","tBodies","insertElement","setCss","isNaN","styleProp","normalizeStyleProp","css","prepend","firstChild","insertBefore","parentNode","insertAfter","before","after","wrap","wrapper","wrapInner","contents","replaceWith","cleanDataRecursive","removeElement","detach","setText","cloneNode","textContent","childNodes","isElementNode","elementId","queryId","querySelector","isVisible","offsetWidth","offsetHeight","getClientRects","elementMatches","j","not","siblings","parentChildNodes","parent","eq","first","last","parents","prev","previousSibling","emptyArray","getWindowByElement","defaultView","rect","win","ownerDocument","docElem","pageYOffset","clientTop","pageXOffset","clientLeft","offsetParent","marginTop","marginLeft","parentOffset","nodeName","offsetProp","scrollWindow","scrollTo","directionStrategy","rendererWrapper","_memorized_callbacks","config_1","templates_discovering_1","domAdapter","constants_1","TemplatesManager","_slots","_templates","_isDirty","_component","discover","slots","allKeysAreEqual","_prepareTemplates","resetDirtyFlag","name_1","createDxTemplate","scopeData","model","placeholder","document","appendChild","mountedTemplate","mountTemplate","DX_TEMPLATE_WRAPPER_CLASS","Node","TEXT_NODE","removalListener","display","DX_REMOVE_EVENT","$destroy","currencyPart","_translator","_dom_component","_math","_drag","_position","_visibility_change","RESIZABLE","RESIZABLE_CLASS","RESIZABLE_RESIZING_CLASS","RESIZABLE_HANDLE_CLASS","RESIZABLE_HANDLE_TOP_CLASS","RESIZABLE_HANDLE_BOTTOM_CLASS","RESIZABLE_HANDLE_LEFT_CLASS","RESIZABLE_HANDLE_RIGHT_CLASS","RESIZABLE_HANDLE_CORNER_CLASS","DRAGSTART_START_EVENT_NAME","DRAGSTART_EVENT_NAME","DRAGSTART_END_EVENT_NAME","SIDE_BORDER_WIDTH_STYLES","bottom","Resizable","handles","step","stepPrecision","area","minWidth","maxWidth","minHeight","maxHeight","onResizeStart","onResize","onResizeEnd","roundStepValue","_renderHandles","_renderActions","_resizeStartAction","_resizeEndAction","_resizeAction","_handles","directions","handleName","_renderHandle","_attachEventHandlers","$handle","handlers","_dragStartHandler","_dragHandler","_dragEndHandler","handleElement","immediate","_detachEventHandlers","_toggleEventHandlers","shouldAttachEvents","cancel","_toggleResizingClass","_movingSides","_getMovingSides","_elementLocation","locate","elementRect","getBoundingRect","_elementSize","_renderDragOffsets","_getArea","handleWidth","outerWidth","handleHeight","outerHeight","handleOffset","areaOffset","scrollOffset","_getAreaScrollOffset","scrollX","scrollY","_getBorderWidth","borderWidth","sides","location","size","_getOffset","_renderWidth","_renderHeight","offsetTop","offsetLeft","steps","strictPrecision","_getStrictOffset","_getSimpleOffset","xPos","yPos","newXShift","newYShift","separatorOffset","isSmallOffset","newOffsetX","newOffsetY","hasCornerTopLeftClass","hasCornerTopRightClass","hasCornerBottomLeftClass","hasCornerBottomRightClass","_getAreaFromObject","_getAreaFromElement","isElement","areaElement","_correctAreaGeometry","$area","innerWidth","innerHeight","areaBorderLeft","areaBorderTop","fitIntoRange","_useTemplates","weakMap","delete","_class","DefaultAdapter","validator","getCurrentValidationError","params","brokenRules","status","normalizeTouchEvent","identifier","skipTouchWithSameIdentifier","pointerEvent","TouchStrategy","_pointerId","_handler","_eventName","normalize","TemplateBase","renderedCallbacks","onRendered","$result","_renderCore","_ensureResultInContainer","$container","resultInContainer","resultInBody","EmptyTemplate","_template_base","_TemplateBase","Promise","resolver","d","all","promises","then","_pointer","_overlay","_themes","TOAST_CLASS","TOAST_CLASS_PREFIX","TOAST_WRAPPER_CLASS","TOAST_CONTENT_CLASS","TOAST_MESSAGE_CLASS","TOAST_ICON_CLASS","WIDGET_NAME","toastTypes","TOAST_STACK","FIRST_Z_INDEX_OFFSET","visibleToastInstance","POSITION_ALIASES","my","at","of","center","subscribeGlobal","_proxiedDocumentDownHandler","Toast","displayTime","animation","duration","shading","hideTopOverlayHandler","closeOnSwipe","closeOnClick","resizeEnabled","closeOnOutsideClick","_device","isAndroid","_window$visualViewpor","visualViewport","_device2","_window$visualViewpor2","isMaterial","_posStringToObject","_renderContentImpl","_message","$content","_$content","_toggleCloseEvents","_renderScrollTerminator","verticalPosition","horizontalPosition","_show","_hideTimeout","_hide","_overlayStack","_zIndexInitValue","PostponedOperations","_postponedOperations","postponedPromise","completePromise","callPostponedOperations","operation","_template_manager","_element","_short","abstract","DOMComponent","disabled","integrationOptions","TemplateManager","createDefaultOptions","_customClass","_getSynchronizableOptionsForCreateComponent","_visibilityChanged","_dimensionChanged","_attachWindowResizeCallback","_initTemplateManager","_setOptionsByDevice","instanceCustomRules","_classCustomRules","_isInitialOptionValue","isCustomOption","_convertRulesToOptions","_isDimensionChangeSupported","windowResizeCallBack","_windowResizeCallBack","_renderComponent","_renderElementAttributes","_toggleRTLDirection","_renderVisibilityChange","_attachVisibilityChangeHandlers","attributes","class","_attachDimensionChangeHandlers","_isVisibilityChangeSupported","_getOptionValue","_isCssUpdateRequired","resize","_isHidden","_isVisible","visibility","_checkVisibilityChanged","_modelByElement","modelByElement","_isUpdateAllowed","_requireRefresh","_refresh","_templateManager","_detachWindowResizeCallback","rtl","_createComponent","synchronizableOptions","_this$option2","_this$option3","nestedComponentOptions","nestedComponentConfig","_extendConfig","optionChangedHandler","extendConfig","_defaultActionConfig","_defaultActionArgs","_removeAttributes","attrs","_removeClasses","cssClass","lastIndexOf","_updateDOMComponent","renderRequired","endUpdate","_isInitializingRequired","getPublicElement","resetOption","initialOption","_getAnonymousTemplateName","_this$option4","_this$option4$integra","createTemplate","_initTemplates","_this4","_this$_templateManage","extractTemplates","templates","anonymousTemplateMeta","anonymousTemplate","template","_getTemplateByOption","_getTemplate","templateSource","isAsyncTemplate","skipTemplates","getTemplate","_saveTemplate","_setOptionWithoutOptionChange","_createTemplate","rule","isEmpty","replaceAll","quadToObject","encodeHtml","encodeRegExp","str","splitQuad","quad","replaceDollarCount","reg","quote","searchToken","replacementToken","SPACE_REGEXP","support","_browser","_touch","_mspointer","_mouse","_mouse_and_touch","getStrategy","browser","pointerEvents","msie","EventStrategy","originalEvents","over","out","MemorizedCallbacks","memory","_len","_key","dxClick","hover","_keyboard_processor","executeAction","execute","inactive","opts","showTimeout","hideTimeout","timeout","currentTarget","shown","hiding","_ref7","focusIn","focusOut","_ref8","isFocusable","hasDocumentProperty","_ref9","_ref10","_ref11","_ref12","_ref13","keyboardProcessors","generateListenerId","focusTarget","listenerId","_getProcessor","roundByAbs","valueSign","adjustValue","precisionMultiplier","roundMultiplier","intermediateValue","valuePrecision","adjustedValue","Action","_action","_context","_beforeExecute","beforeExecute","_afterExecute","afterExecute","_validatingTargetName","validatingTargetName","_excludeValidators","handled","argsBag","_validateAction","_executeAction","executors","_executor$validate","executor","validate","_executor$execute","registerExecutor","unregisterExecutor","createValidatorByTargetElement","condition","undefined","activate","MouseAndTouchStrategy","EVENT_LOCK_TIMEOUT","isMouse","_skipNextEvents","_mouseLocked","_unlockMouseTimer","normalizer","PARENT_LOCALE_SEPARATOR","parentLocales","parentLocale","substr","configuration_component_1","extension_component_1","initDxComponent","setVModel","initDxConfiguration","COMPOSITION_START_EVENT","COMPOSITION_END_EVENT","KEYDOWN_EVENT","NAMESPACE","KeyboardProcessor","_keydown","_compositionStart","_compositionEnd","_processFunction","isNotFocusTarget","shouldSkipProcessing","_isComposingJustFinished","_isComposing","process","_toggleProcessingWithContext","toggleProcessing","keyName","code","ctrl","shiftKey","altKey","_frame","_event_nodes_disposing","CLICK_EVENT_NAME","TOUCH_BOUNDARY","isInput","misc","requestAnimationFrame","cancelAnimationFrame","ClickEmitter","_makeElementClickable","_blurPrevented","isDefaultPrevented","_startTarget","_eventOutOfElement","getElement","_cancel","resetActiveElement","_accept","_clickAnimationFrame","_fireClickEvent","targetChanged","gestureDelta","boundsExceeded","closestCommonParent","useNativeClick","compare","NATIVE_CLICK_CLASS","isNativeClickEvent","prevented","lastFiredEvent","onNodeRemove","clickHandler","eventAlreadyFired","DXCLICK_FIRED","leftButton","unsubscribeNodesDisposing","subscribeNodesDisposing","configure","useNative","desktopDevice","startTarget","blurPrevented","pointerDownHandler","NATIVE_CLICK_FIXER_NAMESPACE","bubble","isWrapped","isWritableWrapped","unwrap","error","_function_template","_icon","ANONYMOUS_TEMPLATE_NAME","Button","_Widget","_$submitInput","_attachActiveEvents","_eventBindingTarget","_activeStateUnit","_feedbackShowTimeout","_executeClickAction","_validationGroupConfig","_findGroup","findGroup","_getContentData","icon","_templateData","onClick","iconPosition","useSubmitBehavior","stylingMode","_getSubmitAction","needValidate","_validationGroup$vali","complete","_submitInput","stopPropagation","_renderType","_renderStylingMode","_updateAriaLabel","_updateContent","addDefaultTemplates","content","FunctionTemplate","_ref3$model","_this3$option","$icon","$textContainer","_updateClick","_updateType","_updateStylingMode","_updateSubmitInput","_this5","isOnlyIconButton","changeWaveVisibility","visible","_this5$option","_disposed","_renderSubmitInput","_this$option5","submitAction","_this$option6","_this6","ariaTarget","_getAriaTarget","_this$option7","_this7","_this7$option","_this$option8","$template","transclude","anonymousTemplateName","_this$option9","$submitInput","previous","getGroupConfig","_support","LOADINDICATOR_CLASS","LOADINDICATOR_WRAPPER_CLASS","LOADINDICATOR_CONTENT_CLASS","LOADINDICATOR_ICON_CLASS","LOADINDICATOR_SEGMENT_CLASS","LOADINDICATOR_SEGMENT_INNER_CLASS","LOADINDICATOR_IMAGE_CLASS","LoadIndicator","indicatorSrc","_animatingSegmentCount","_animatingSegmentInner","themeName","obsoleteAndroid","viaImage","isGeneric","_renderWrapper","_renderIndicatorContent","_renderMarkup","_$wrapper","_renderMarkupForImage","_renderMarkupForAnimation","animatingSegmentInner","_$indicator","$segment","_updateContentSizeForAnimation","minDimension","fontSize","_removeMarkupForAnimation","_removeMarkupForImage","maxLevel","normalizeArg","xItem","yItem","getDefaultAlignment","isRtlEnabled","groupBy","merge","normalizeIndexes","removeDuplicates","uniqueValues","intersection","ownKeys","object","enumerableOnly","getOwnPropertySymbols","symbols","sym","_objectSpread","_defineProperty","getOwnPropertyDescriptors","defineProperties","entity","array","what","indexParameterName","currentItem","needIndexCallback","indexedItems","parameterIndex","useLegacyVisibleIndex","orderEach","cb","getFormat","DEFAULT_CONFIG","ESCAPING_CHAR","MAXIMUM_NUMBER_LENGTH","getGroupSizes","formatString","getSignParts","signParts","reverseString","isPercentFormat","removeStubs","getNonRequiredDigitCount","floatFormat","getRequiredDigitCount","normalizeValueString","valuePart","minDigitCount","maxDigitCount","applyGroups","valueString","groupSizes","groups","groupSize","formatNumberPart","formatPart","escapeIndex","isEscape","getFloatPointIndex","signFormatParts","isPositiveZero","isPositive","numberFormat","floatPointIndex","floatFormatParts","minFloatPrecision","maxFloatPrecision","minIntegerPrecision","maxIntegerPrecision","integerLength","floor","floatPrecision","valueParts","valueIntegerPart","valueFloatPart","integerString","floatString","parseValue","isPercent","isNegative","prepareValueText","valueText","isIntegerPart","nextText","nextValueText","hasGroups","getFormatByValueText","valueTextParts","valueTextWithModifiedFloat","valueWithModifiedFloat","decimalSeparatorIndex","positiveFormat","negativeFormat","parseTranslate","resetPosition","getTranslate","getTranslateCss","clearCache","TRANSLATOR_DATA_KEY","TRANSFORM_MATRIX_REGEX","TRANSLATE_REGEX","translate","isPercentValue","cacheTranslate","xValueString","yValueString","transformValue","matrix","is3D","z","transform","finishTransition","originalTransition","stylesConfig","transition","translateString","createDefaultOptionRules","deviceMatch","normalizeOptions","cachedGetters","currentDevice","ruleOptions","deviceFilter","isEmptyObject","optionsObject","compileGetter","functionsAsIs","uppercaseFirst","toUpperCase","lowercaseFirst","camelize","Date","getTime","value1","value2","forEachChildNode","el","obj1","obj2","obj1Keys","obj1Keys_1","getOptionValue","optionPath","DxButton","button_1","accessKey","hint","onContentReady","tabIndex","_default_adapter","VALIDATOR_CLASS","VALIDATION_STATUS_PENDING","Validator","_initGroupRegistration","_initAdapter","_validationInfo","skipValidation","group","_groupWasInit","removeRegisteredValidator","_validationGroup","registerValidatorInGroup","dxStandardEditor","isRtl","_this$option$editor$o","_this$option$editor","_resetValidationRules","_getValidationRules","_validationRules","currentError","currentResult","editorSpecific","brokenRule","_applyValidationResult","res","pendingRules","_updateValidationResult","validatedAction","TEMPLATE_MULTIPLE_ROOTS_ERROR","_wheel","MANAGER_EVENT","EMITTER_DATA","EventManager","_attachHandlers","_proxiedCancelHandler","_cancelHandler","_proxiedAcceptHandler","_acceptHandler","_pointerDownHandler","_pointerMoveHandler","_pointerUpHandler","_mouseWheelHandler","_eachEmitter","activeEmitters","_activeEmitters","_applyToEmitters","arg","resetEmitter","_updateEmitters","_isSetChanged","_cleanEmitters","_fetchEmitters","currentSet","_closestEmitter","previousSet","_emittersSet","setChanged","handleEmitter","validatePointers","addCancelCallback","addAcceptCallback","emitters","acceptedEmitter","_cancelEmitter","canceledEmitter","removeCancelCallback","removeAcceptCallback","emitterIndex","_allowInterruptionByMouseWheel","_adjustWheelEvent","allowInterruption","allowInterruptionByMouseWheel","closestGestureEmitter","gesture","getDirection","verticalGestureDirection","delta","isActive","eventManager","EMITTER_SUBSCRIPTION_DATA","registerEmitter","emitterConfig","emitterClass","emitterName","emitterEvents","subscriptions","delegateSelector","disposeEmitter","TextEditorButton","$placeMarker","_addPlaceMarker","_addToContainer","_attachEvents","_create","_isRendered","_isDisabled","_shouldRender","_this$_create","update","STATUS","valid","invalid","pending","BaseRuleValidator","defaultMessage","defaultFormattedMessage","_isValueEmpty","rulesValidators","required","valueArray","every","itemValue","_validate","RequiredRuleValidator","_BaseRuleValidator","_proto2","NumericRuleValidator","_BaseRuleValidator2","_proto3","useCultureSettings","RangeRuleValidator","_BaseRuleValidator3","_proto4","validNumber","numeric","validValue","valueOf","isDate","StringLengthRuleValidator","_BaseRuleValidator4","_proto5","_value","range","CustomRuleValidator","_BaseRuleValidator5","_proto6","dataGetter","extraParams","AsyncRuleValidator","_CustomRuleValidator","_proto7","callbackResult","isPromise","_getWrappedPromise","fromPromise","CompareRuleValidator","_BaseRuleValidator6","_this8","_proto8","otherValue","PatternRuleValidator","_BaseRuleValidator7","_this9","_proto9","EmailRuleValidator","_BaseRuleValidator8","_this10","_proto10","stringLength","custom","async","email","GroupConfig","validators","_pendingValidators","_onValidatorStatusChanged","_resetValidationInfo","_this11","_unsubscribeFromAllChangeEvents","validatorResult","_addPendingValidator","_subscribeToChangeEvents","_raiseValidatedEvent","_updateValidationInfo","_unsubscribeFromChangeEvents","_this12","foundValidator","_removePendingValidator","_orderBrokenRules","orderedRules","foundRules","_updateBrokenRules","_resolveIfComplete","_synchronizeValidationInfo","registerValidator","ValidationEngine","$dxGroup","dxValidationGroup","initGroups","addGroup","removeGroup","_setDefaultMessage","_addBrokenRule","_this13","asyncRuleItems","ruleValidationResult","ruleValidator","_validateAsyncRules","_this14","asyncResults","validateResult","asyncResult","ruleResult","_getPatchedRuleResult","_updateRuleConfig","_getAsyncRulesResult","isBoolean","_this15","groupConfig","_shouldRemoveGroup","validatorsInGroup","isDefaultGroup","isValidationGroupInstance","_this16","initedOptions","syncOptions","newStatus","validateGroup","resetGroup","getCurrentScreenFactor","defaultScreenFactorFunc","hasProperty","windowObject","screenFactorCallback","screenFactorFunc","clientWidth","Callback","_list","_queue","_firing","_fired","_firingIndexes","_fireCore","firingIndexes","list","stopOnFalse","pop","unique","queue","fired","Callbacks","debug","getConsoleMethod","console","warn","assert","assertParam","parameter","stylePropPrefix","nativeScrolling","transitionEndEventName","supportProp","touchEvents","_call_once","_getNavigator","maxTouchPoints","msMaxTouchPoints","pointerEnabled","transitionEndEventNames","webkitTransition","MozTransition","OTransition","msTransition","isNativeScrollingSupported","_devices$real","isObsoleteAndroid","isNativeScrollDevice","input","detectTouchEvents","hasWindowProperty","detectPointerEvent","isPointerEnabled","canUsePointerEvent","touchPointersPresent","parseHeight","getVisibleHeight","getVerticalOffsets","addOffsetToMinHeight","addOffsetToMaxHeight","SPECIAL_HEIGHT_VALUES","getSizeByStyles","styles","beforeName","afterName","margin","getBoxSizingOffset","boxParams","clientRect","boundingClientRect","getContainerHeight","getHeightWithOffset","operationString","withMargins","FRAME_ANIMATION_STEP_TIME","request","requestID","setAnimationFrameMethods","nativeRequest","webkitRequestAnimationFrame","mozRequestAnimationFrame","oRequestAnimationFrame","msRequestAnimationFrame","nativeCancel","webkitCancelAnimationFrame","mozCancelAnimationFrame","oCancelAnimationFrame","msCancelAnimationFrame","canceledRequests","requestId","INVALID_MESSAGE","INVALID_MESSAGE_ALWAYS","INVALID_MESSAGE_CONTENT","VALIDATION_MESSAGE_MIN_WIDTH","ValidationMessage","templatesRenderAsynchronously","closeOnTargetScroll","propagateOutsideClick","_checkParentVisibility","contentTemplate","_renderInnerHtml","_updatePosition","_toggleModeClass","_updateContentId","contentId","validationErrorMessage","_target$outerWidth","targetWidth","positionSide","verticalPositions","collision","acquireTemplate","acquireIntegrationTemplate","defaultCreateElement","templateKey","validateTemplateSource","getNormalizedTemplateArgs","addOneRenderedCall","suitableTemplatesByName","findTemplates","_child_default_template","_empty_template","_template","optionsAttributeName","optionsString","optionsParser","rawTemplates","templatesMap","_findBestMatches$","suitableTemplate","templateResult","normalizeTemplateElement","isRenderer","Template","integrationTemplate","defaultTemplates","ChildDefaultTemplate","BaseClass","InjectedClass","initialFields","injectFields","injectionObject","resetInjection","eventPropName","beforeCleanData","DELETE_INPUT_TYPE","InputEventsMaskStrategy","_beforeInputHandler","_prevCaret","setBackwardDirection","_updateEditorMask","_getEmptyString","_length","newData","setForwardDirection","hasValidChars","textLength","updatedCharsCount","_handleChain","isForwardDirection","correction","ignoreKeys","TEXTBOX_CLASS","SEARCHBOX_CLASS","SEARCH_ICON_CLASS","TextBox","_showClearButton","showClearButton","maxLength","_renderMaxLengthHandlers","_renderInputType","_renderSearchMode","_isAndroidOrIE","_input","_onKeyDownCutOffHandler","_onChangeCutOffHandler","_renderProps","_toggleMaxLengthProp","_getMaxLength","_renderSearchIcon","_$searchIcon","$searchIcon","actualMaxLength","$input","_cutOffExtraChar","getSelection","textInput","isMaskSpecified","_button","pointerDown","STATE_INVISIBLE_CLASS","TEXTEDITOR_CLEAR_BUTTON_CLASS","TEXTEDITOR_CLEAR_ICON_CLASS","TEXTEDITOR_ICON_CLASS","TEXTEDITOR_SHOW_CLEAR_BUTTON_CLASS","ClearButton","_TextEditorButton","_isClearButtonVisible","$button","editorName","_clearValueHandler","_legacyRender","$editor","rendered","hideCallback","indexOfCallback","hasCallback","MASK_EVENT_NAMESPACE","BLUR_EVENT","BaseMaskStrategy","editorOption","_this$editor","newCaret","getHandler","handlerName","attachEvents","subscriptionName","getEventHandler","_attachChangeEventHandlers","detachEvents","_suppressCaretChanging","_changeHandler","_showMaskPlaceholder","_caretTimeout","_focusOutHandler","_renderDisplayText","_cutHandler","selectedText","clipboardText","_dropHandler","_clearDragTimer","_dragTimer","_convertToValue","_keyDownHandler","_pasteHandler","pastedText","restText","accepted","inputVal","_inputHandlerTimer","_isAutoFill","_validateMask","webkit","runWithoutEventProcessing","keyPressHandled","_delHandler","clean","tabbable","focusable","focusableFn","isTabIndexNotNaN","isDisabled","isDefaultFocus","isHyperlink","href","getActiveElement","themeChanger","darkThemeLinkEl","docHead","removeChild","_removeDarkTheme","_addDarkTheme","useLegacyTemplateEngine","lock","ACTIVE_EVENT_NAME","INACTIVE_EVENT_NAME","activeFeedback","ACTIVE_TIMEOUT","INACTIVE_TIMEOUT","FeedbackEvent","_timeout","_fire","_schedule","force","stop","_timer","FeedbackEmitter","_active","_inactive","activeTimeout","inactiveTimeout","activeChildExists","childJustActivated","_initEvents","eventTarget","_getEmitterTarget","mouseEvent","deferFeedback","skipTimers","lockInactive","_easing","removeEventName","RELATIVE_VALUE_REGEX","ANIM_DATA_KEY","ANIM_QUEUE_KEY","TRANSFORM_PROP","TransitionAnimationStrategy","initAnimation","transitionProperty","setProps","cleanupWhen","transitionAnimation","finish","_finishTransition","always","_cleanup","_completeAnimationCallback","animate","_startAnimation","simulatedEndEventTimer","startTime","now","delay","transitionEndFired","simulatedTransitionEndFired","transitionEndEventFullName","cleanup","waitForJSCompleteTimer","fx","_simulatedTransitionEndDelay","transitionDelay","transitionDuration","transitionTimingFunction","easing","jumpToEnd","FrameAnimationStrategy","_normalizeValue","_parseTransform","frameAnimation","currentValue","convertTransitionTimingFuncToEasing","draw","animationFrameId","delayTimeout","_animationStep","transformString","part","translateData","scaleData","rotateData","scale","_calcStepValue","currentDuration","calcValueRecursively","calcEasedValue","getEasing","endPropValue","numericValue","FallbackToNoAnimationStrategy","isSynchronous","getAnimationStrategy","animationStrategies","frame","noAnimation","baseConfigValidator","animationType","typeMessage","isObjectConfigValidator","isStringConfigValidator","CustomAnimationConfigurator","CssAnimationConfigurator","validateConfig","positionAliases","SlideAnimationConfigurator","positioningConfig","setupPosition","_setUpConfig","_initNewPosition","relativeValue","_getRelativeValue","FadeAnimationConfigurator","toOpacity","fromOpacity","skipElementInitialStyles","opacity","PopAnimationConfigurator","fromScale","toScale","_getCssTransform","animationConfigurators","slide","slideIn","slideOut","fade","fadeIn","fadeOut","getAnimationConfigurator","defaultJSConfig","defaultCssConfig","setupAnimationOnElement","configurator","onElementAnimationComplete","startAnimationOnElement","isStarted","stopAnimationOnElement","startTimeout","scopedRemoveEvent","subscribeToRemoveEvent","createAnimation","initialConfig","defaultConfig","pushInAnimationQueue","queueData","getAnimQueueData","writeAnimQueueData","isAnimating","shiftFromAnimationQueue","destroyAnimQueueData","executeAnimation","calculate","currentPosition","scrollTop","scrollLeft","animationTypes","callOnce","_wrappedHandler","_custom","TEXTEDITOR_BUTTONS_CONTAINER_CLASS","checkButtonInfo","buttonInfo","checkButtonType","checkLocation","checkNameIsDefined","checkNameIsString","checkNamesUniqueness","existingNames","isPredefinedButtonName","predefinedButtonsInfo","TextEditorButtonCollection","defaultButtonsInfo","buttons","_compileButtonInfo","names","button","isStringButton","isDefaultButton","defaultButtonInfo","Ctor","_createButton","buttonsInfo","_renderButtons","targetLocation","$buttonsContainer","getButtonsContainer","_buttonsInfo$location","getButton","buttonName","renderAfterButtons","renderBeforeButtons","updateButtons","_inflector","_default_messages","baseDictionary","getDataByLocale","localeData","newMessages","messageLocalization","_dictionary","load","messages","_localizablePrefix","localizablePrefix","localizeString","regex","escapeString","prefix","localizationKey","defaultResult","humanize","localizeNode","nodeItem","nodeValue","localizedValue","getMessagesByLocales","getDictionary","onlyNew","_getFormatterBase","af","agq","ak","am","ar","as","asa","ast","az","bas","be","bem","bez","bg","bm","bn","bo","br","brx","bs","ca","ccp","ce","ceb","cgg","chr","ckb","cs","cy","da","dav","de","dje","doi","dsb","dua","dyo","dz","ebu","ee","en","eo","es","et","eu","ewo","fa","ff","fi","fil","fo","fr","fur","fy","ga","gd","gl","gsw","gu","guz","gv","ha","haw","he","hi","hr","hsb","hu","hy","ia","ig","ii","it","ja","jgo","jmc","jv","ka","kab","kam","kde","kea","khq","ki","kk","kkj","kl","kln","km","kn","ko","kok","ks","ksb","ksf","ksh","ku","kw","ky","lag","lb","lg","lkt","ln","lo","lrc","lt","lu","luo","luy","lv","mai","mas","mer","mfe","mg","mgh","mgo","mi","mk","ml","mn","mni","mr","ms","mt","mua","mzn","naq","nb","nd","nds","ne","nl","nmg","nn","nnh","nus","nyn","om","or","os","pa","pcm","pl","ps","pt","qu","rm","rn","ro","rof","root","ru","rw","rwk","sa","sah","saq","sat","sbp","sd","se","seh","ses","sg","shi","si","sk","sl","smn","sn","so","sq","sr","su","sv","sw","ta","te","teo","tg","th","ti","tk","tr","tt","twq","tzm","ug","uk","ur","uz","vai","vi","vun","wae","wo","xh","xog","yav","yi","yo","yue","zgh","zh","zu","_hook_touch_props","EMPTY_EVENT_NAME","NATIVE_EVENTS_TO_SUBSCRIBE","mouseenter","mouseleave","pointerenter","pointerleave","NATIVE_EVENTS_TO_TRIGGER","focusin","focusout","NO_BUBBLE_EVENTS","forcePassiveFalseEventNames","matchesSafe","skipEvent","elementDataMap","guid","special","specialData","getField","callMethod","eventsEngine","normalizeOnArguments","iterate","handlersController","getHandlersController","addHandler","oneTimeHandler","normalizeOffArguments","removeHandler","normalizeTriggerArguments","extraParameters","callHandlers","isPropagationStopped","getParents","parentDataByEvent","callNativeMethod","applyForEach","itemArgs","itemElement","detectPassiveEventHandlersSupport","isSupported","addEventListener","passiveEventHandlersSupported","compareDocumentPosition","DOCUMENT_POSITION_CONTAINS","elementData","eventNameParts","namespaces","eventNameIsDefined","handleObjects","nativeHandler","callHandler","secondaryTargetIsInside","handlerArgs","relatedTarget","wrappedHandler","handleObject","nativeListenerOptions","firstHandlerForTheType","shouldAddNativeListener","getNativeHandler","passive","removeListener","listen","removeByEventName","removedHandler","skip","isSubset","lastHandlerForTheType","shouldRemoveNativeListener","elementDataIsEmpty","forceStop","handleCallback","isImmediatePropagationStopped","subscribeName","original","src","normalizeEventArguments","iterateEventNames","nativeMethodName","isLinkClickEvent","localName","calculateWhich","setForMouseEvent","mouseEventRegex","setForKeyEvent","keyCode","whichByButton","initEvent","EventClass","addProperty","hook","eventInstance","propagationStopped","immediatePropagationStopped","defaultPrevented","stopImmediatePropagation","beforeSetStrategy","afterSetStrategy","offArgs","VueType","errors_1","TEMPLATE_PROP","Vue","asConfigurable","$vnode","hasTemplate","scopedSlots","slotName","$scopedSlots","$slots","slot","$children","childComponent","defaultSlot","templateName","getSlot","eventBus","$on","$forceUpdate","destroyed","$off","deep","hasProp","$options","hasVModelValue","VMODEL_NAME","getVueVersion","currentVersion","registerTemplateEngine","setTemplateEngine","getCurrentTemplateEngine","currentTemplateEngine","templateEngines","templateEngine","Emitter","_cancelCallback","_acceptCallback","_requestAccept","_acceptRequestEvent","_forgetAccept","counter","$","appContext","app","unmount","setPublicElementWrapper","newStrategy","StubMaskRule","MaskRule","EmptyMaskRule","BaseMaskRule","_next","rawValue","handle","_prepareHandlingArgs","_config$str","_config$start","_config$length","handlingProperty","clear","isAccepted","adjustedCaret","_adjustedForward","_adjustedBackward","maskChar","rest","_tryAcceptChar","_accepted","_isAllowed","acceptedChar","fullText","_isAccepted","_isValid","allowedChars","hasValueProperty","nextArgs","setHeight","setWidth","jsPrefixes","cssPrefixes","Webkit","Moz","O","getStyles","forEachPrefixes","cssPrefixesCount","jsPrefix","prefixedProp","lowerPrefixedProp","originalName","specific","pxExceptions","setDimensionProperty","configComponent","propsData","_comparator","cachedSetters","_changingCallback","_changedCallback","_namePreparedCallbacks","_setPreparedValue","equals","path","compileSetter","unwrapObservables","_prepareRelevantNames","valueName","_template_engine_registry","compile","_compiledTemplate","HOVERSTART_NAMESPACE","HOVERSTART","POINTERENTER_NAMESPACED_EVENT_NAME","HOVEREND_NAMESPACE","HOVEREND","POINTERLEAVE_NAMESPACED_EVENT_NAME","Hover","_handlerArrayKeyPath","_eventNamespace","_originalEventName","HoverStart","HoverEnd","TEMPLATE_OPTIONS_NAME","TEMPLATE_WRAPPER_CLASS","DX_POLYMORPH_WIDGET_TEMPLATE","widgetName","widget","widgetElement","widgetOptions","_tempTemplates","_defaultTemplates","_anonymousTemplateName","_createTemplateIfNeeded","watchMethod","skipImmediate","useDeferUpdateForTemplates","tempTemplate","_extractTemplates","_extractAnonymousTemplate","suitableTemplates","$anonymousTemplate","$notJunkTemplateContent","isTextNode","isEmptyText","cachedTemplate","templateSourceResult","REMOVE_EVENT_NAME","nodesByEvent","clearStack","baseZIndex","zIndexStack","ZIndex","baseIndex","zIndex","children_processing_1","configuration_1","templates_manager_1","BaseComponent","inheritAttrs","provide","$_processChildren","$attrs","beforeUpdate","updated","child","initOptionChangedFunc","getConfig","getInnerChanges","$_templatesManager","beginUpdate","isDirty","_b","_c","$_pendingOptions","name_2","$_applyConfigurationChanges","beforeDestroy","componentsCountChanged","removed","thisComponent","$_getIntegrationOptions","$_createEmitters","$_getWatchMethod","$_getExtraIntegrationOptions","name_3","valueGetter","valueChangeCallback","newValue","_children","$listeners","listenerName","cleanWidgetNode","removedNodes","childNode","isExtension","restoreNodes","DxComponent","onInitializing","childExtension","DESCRIPTORS","FunctionPrototype","FunctionPrototypeToString","nameRE","hasNegation","oldValueIsNaN","newValueIsNaN","configurationTemplate","namedTeplates","declaredTemplates","getChildren","componentChildren_1","configurationDefaultTemplate","clearConfiguration","newContent","getConfigurationOptions","mount","$_updatedHandler","unmounted","_fx","_hide_callback","_resizable","_swatch_container","zIndexPool","viewPortChanged","OVERLAY_CLASS","OVERLAY_WRAPPER_CLASS","OVERLAY_CONTENT_CLASS","OVERLAY_SHADER_CLASS","OVERLAY_MODAL_CLASS","INNER_OVERLAY_CLASS","INVISIBLE_STATE_CLASS","RTL_DIRECTION_CLASS","ACTIONS","OVERLAY_STACK","DISABLED_STATE_CLASS","PREVENT_SAFARI_SCROLLING_CLASS","TAB_KEY","realVersion","firefoxDesktop","mozilla","iOS","hasSafariAddressBar","safari","android4_0nativeBrowser","forceRepaint","$parents","inScrollView","isEvent","Overlay","offsetSize","allowedOffsets","_allowedOffsets","_changePosition","upArrow","downArrow","leftArrow","rightArrow","deferRendering","shadingColor","onShowing","onShown","onHiding","onHidden","dragEnabled","innerOverlay","onPositioned","boundaryOffset","ignoreChildEvents","_fixedPosition","realPlatform","_container","_initActions","_initCloseOnOutsideClickHandler","_initTabTerminatorHandler","_initInnerOverlayClass","_toggleViewPortSubscription","_initHideTopOverlayHandler","_initTarget","_initContainer","pathParts","_hideTopOverlayHandler","_actions","_documentDownHandler","_showAnimationProcessing","_stopAnimation","isAttachedTarget","isInnerOverlay","outsideClick","_outsideClickHandler","_isTopOverlay","overlayStack","tabbableElements","_findTabbableBounds","_viewPortChangeHandle","_viewPortChangeHandler","_renderVisibilityAnimate","_normalizePosition","_getAnimationConfig","_parentHidden","_isParentHidden","_currentVisible","_isShown","showAnimation","_normalizeAnimation","startShowAnimation","completeShowAnimation","_isHidingActionCanceled","_renderVisibility","_isShowingActionCanceled","_animate","_toggleSafariScrolling","_stopShowTimer","_asyncShowTimeout","hideAnimation","startHideAnimation","completeHideAnimation","hidingArgs","_forceFocusLost","_toggleShading","_toggleSubscriptions","_that$_actions","_hideAnimationProcessing","activeElement","shouldResetActiveElement","completeCallback","startCallback","_toggleVisibility","_updateZIndexStackPosition","_renderContent","showingArgs","_moveFromContainer","_moveToContainer","_renderGeometry","pushToStack","_zIndex","_toggleTabTerminator","_proxiedTabTerminatorHandler","_tabKeyHandler","enabled","$elements","elementsCount","$firstTabbable","$lastTabbable","isTabOnLast","isShiftTabOnFirst","isEmptyTabList","isOutsideTarget","$focusElement","_toggleHideTopOverlayCallback","_toggleParentsScrollSubscription","subscribe","closeOnScroll","scrollEvent","_proxiedTargetParentsScrollHandler","_targetParentsScrollHandler","_$prevTargetParents","closeHandled","_appendContentToElement","shouldDeferRendering","isParentHidden","_contentAlreadyRendered","$parent","isHidden","whenContentRendered","contentTemplateOption","noModel","_renderDrag","_renderResize","$dragTarget","_getDragTarget","startEventName","updateEventName","_dragUpdateHandler","_resizeEndHandler","_getDragResizeContainer","_positionChangeHandled","$scrollTerminator","terminatorEventName","_toggleGestureCover","_toggleGestureCoverImpl","_clearSelection","isNative","isWheel","isMouseMove","isScrollByWheel","cancelable","_prevOffset","isContainerDefined","_deltaSize","contentWidth","contentHeight","containerWidth","containerHeight","_isWindow","fullPageHeight","fullPageWidth","prevOffset","targetOffset","deltaSize","isAllowedDrag","shaderOffset","_getContainer","_detachWrapperToContainer","_attachWrapperToContainer","containerDefined","renderContainer","getSwatchContainer","_fixHeightAfterSafariAddressBarResizing","isDimensionChanged","_renderGeometryImpl","resultPosition","_renderPosition","_fixWrapperPosition","_useFixedPosition","_shouldFixBodyPosition","_bodyScrollTop","scrollingEnabled","_renderWrapperDimensions","_renderWrapperPosition","wrapperWidth","wrapperHeight","positionOf","_renderOverlayBoundaryOffset","_transformStringPosition","onPositioning","_keyboardListenerId","_keyboardHandler","_cleanFocusState","_deferShowTimer","_toggleDisabledState","_animateDeferred","showing","animateDeferred","repaint","setStrategy","deferredConfig","state","_DeferredObj","_state","catch","isDeferred","whenFunc","contexts","resolvedCount","updateState","ELEMENT_NODE","DOCUMENT_NODE","nativeDOMAdapterStrategy","matchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector","webkitMatchesSelector","doc","_document","createElementNS","ns","parentElement","newElement","nextSiblingElement","isAdd","resultClassName","classNameSupported","elementClass","classIndex","createDocumentFragment","getLocation","selection","getReadyState","readyState","getHead","head","property","removeEventListener","isPrimitive","isExponential","types","typeOfObject","proto","getPrototypeOf","jquery","EVENT_NAME","EVENT_NAMESPACE","NATIVE_EVENT_NAME","PIXEL_MODE","DELTA_MUTLIPLIER","wheel","_wheelHandler","_e$originalEvent","deltaMode","deltaY","deltaX","deltaZ","_normalizeDelta","webkitRegExp","ieRegExp","ie11RegExp","msEdge","mozillaRegExp","browserFromUA","browserName","browserVersion","_postponed_operations","getEventName","actionName","isInnerOption","Component","_setDeprecatedOptions","_deprecatedOptions","_getDeprecatedOptions","defaultOptionsRules","_getOptionsByReference","_optionChangedCallbacks","_disposingCallbacks","eventsStrategy","_updateLockCount","postponedOperations","_createOptions","_initialized","_optionChanging","_logDeprecatedOptionWarning","_notifyOptionChanged","_createOptionChangedAction","since","_logDeprecatedComponentWarning","_optionChangedAction","_createDisposingAction","_disposingAction","_lockUpdate","_unlockUpdate","_initializing","_commitUpdate","_initializeComponent","optionNames","_cancelOptionChange","actionSource","actionValue","actionFunc","_len2","_key2","wrapActionsBeforeExecute","beforeActionExecute","wrappedAction","onActionCreated","hasActionSubscription","isOptionDeprecated","_this$_options","addEventsListener","Observer","pointerEquals","onPointerAdding","getPointerIndex","addPointer","removePointer","updatePointer","extractTemplateMarkup","jQuery","tmpl","jsrender","Mustache","Hogan","Handlebars","doT","accountingFormat","encodedCurrencySymbol","encodeSymbols","scrollbarWidth","horzRe","vertRe","collisionRe","scaleRe","IS_SAFARI","normalizeAlign","w","normalizeOffset","normalizeCollision","getAlignFactor","align","inverseAlign","calculateOversize","bounds","oversize","myLocation","collisionSide","initMyLocation","atLocation","atAlign","atSize","myAlign","mySize","collisionResolvers","fit","flip","inverseData","flipfit","none","calculateScrollbarWidth","$scrollDiv","overflow","defaultPositionResult","calculatePosition","$what","currentOffset","ofRect","getOffsetWithoutScale","windowHeight","hZoomLevel","vZoomLevel","clientHeight","boundaryWidth","boundaryHeight","$boundary","boundaryPosition","preciser","precise","$startElement","_currentElement$getAt","_style$match","$currentElement","currentElement","createTextElementHiddenCopy","clearSelection","blur","removeAllRanges","endTarget","$startTarget","$endTarget","$startParents","$endParents","startingParent","templateTag","$node","clipboard","clipboardData","getData","setData","includePaddings","fontStyle","fontVariant","fontWeight","fontFamily","letterSpacing","paddingTop","paddingRight","paddingBottom","paddingLeft","whiteSpace","POINTER_EVENTS_NAMESPACE","BaseStrategy","_originalEvents","_handlerCount","_isNoBubble","_getDelegateTarget","_setSelector","_selector","_getSelector","isFocusingOnCaretChange","getCaret","selectionStart","selectionEnd","setCaret","isReady","doScroll","subscribeReady","readyCallbacks","windowExists","captionize","titleize","underscore","dasherize","_normalize","_upperCaseFirst","_chop","upperFirst","DIGIT_CHARS","captionList","isPrevCharNewWord","isNewWord","normalizeMouseEvent","MouseStrategy","initConfig","INKRIPPLE_CLASS","INKRIPPLE_WAVE_CLASS","INKRIPPLE_SHOWING_CLASS","INKRIPPLE_HIDING_CLASS","DEFAULT_WAVE_SIZE_COEFFICIENT","MAX_WAVE_SIZE","ANIMATION_DURATION","HOLD_ANIMATION_DURATION","DEFAULT_WAVE_INDEX","durations","getDurations","getInkRipple","getWaves","inkRipple","$currentWave","getWaveStyleConfig","elementWidth","elementHeight","elementDiagonal","sqrt","waveSize","$wave","hidingTimeout","hideSelectedWave","showingTimeout","showingWaveHandler","durationCss","showingScale","hidingScale","hidingOpacity","animationDuration","_uiText_editor","_index2","_load_indicator","TEXTEDITOR_CLASS","TEXTEDITOR_INPUT_CONTAINER_CLASS","TEXTEDITOR_INPUT_CLASS","TEXTEDITOR_INPUT_SELECTOR","TEXTEDITOR_CONTAINER_CLASS","TEXTEDITOR_PLACEHOLDER_CLASS","TEXTEDITOR_EMPTY_INPUT_CLASS","TEXTEDITOR_STYLING_MODE_PREFIX","ALLOWED_STYLE_CLASSES","TEXTEDITOR_PENDING_INDICATOR_CLASS","TEXTEDITOR_VALIDATION_PENDING_CLASS","TEXTEDITOR_VALID_CLASS","EVENTS_LIST","CONTROL_KEYS","checkButtonsOptionType","TextEditorBase","_buttonCollection","_getDefaultButtons","_$beforeButtonsContainer","_$afterButtonsContainer","spellcheck","valueChangeEvent","inputAttr","onFocusIn","onFocusOut","onKeyDown","onKeyPress","onKeyUp","onChange","onInput","onCut","onCopy","onPaste","onEnterKey","displayValueFormatter","editorStylingMode","showValidationMark","_isFocused","_inputWrapper","_buttonsContainer","_isControlKey","optionValue","stylingModeClass","defaultOptionValue","platformOptionValue","_updateButtonsStyling","_renderInput","_renderPlaceholder","_refreshValueChangeEvent","_renderEvents","_renderEnterKeyAction","_renderEmptinessEvent","_$buttonsContainer","_$textEditorContainer","_$textEditorInputContainer","_createInput","_renderButtonContainers","_getInputContainer","_renderPendingIndicator","$inputContainer","$indicatorElement","_pendingIndicator","_disposePendingIndicator","isPending","_showValidMark","_applyInputAttributes","inputAttrName","customAttributes","inputAttributes","_getDefaultAttributes","defaultAttributes","autocomplete","_updateButtons","buttonOptions","buttonInstance","renderInputPromise","_renderInputValue","displayValue","_toggleEmptinessEventHandler","_isValueValid","validity","_toggleEmptiness","_togglePlaceholder","_toggleSpellcheckState","_toggleTabIndex","_readOnlyPropValue","_renderPlaceholderMarkup","_attachPlaceholderEvents","_$placeholder","placeholderText","$placeholder","startEvent","_placeholder","_clearValue","_refreshEvents","isCtrlEnter","isNewValue","_renderValueChangeEvent","keyPressEvent","_renderValueEventName","keyDownEvent","_valueChangeEventHandler","_cleanValueChangeEvent","valueChangeNamespace","textChangeNamespace","_focusEventTarget","_isInput","_preventNestedFocusEvent","_isNestedTarget","_focusClassTarget","_toggleFocusClass","isFocused","_hasFocusClass","formattedValue","_enterKeyAction","_enterKeyHandlerUp","_updateValue","_refreshFocusEvent","_setInputType","DxExtensionComponent","_text_box","_variable_wrapper","unwrapVariable","bracketsToDots","expr","readPropValue","assignPropValue","propValue","prepareOptions","functionAsIs","hasDefaultValue","pathPart","combineGetters","getters","compiledGetters","l","pathItem","ensurePropValueDefined","lastLevelIndex","levelIndex","propertyValue","isPropertyFunc","deepExtendArraySafe","caseSensitive","getSessionStorage","themeReadyCallback","_extend2","Widget","hoveredElement","onKeyboardHandled","ignoreParentReadOnly","_initContentReadyAction","innerWidget","getOptionsFromContainer","optionsContainer","_contentReadyAction","_renderHint","_isFocusable","_renderFocusTarget","_renderFocusState","_attachFeedbackEvents","_attachHoverEvents","_toggleIndependentState","_fireContentReadyAction","_detachKeyboardEvents","_resetActiveState","_attachFocusEvents","_renderAccessKey","_getActiveElement","_detachFocusEvents","$focusTarget","_getKeyboardListeners","hasChildListeners","hasKeyboardEventHandler","shouldAttach","onlyChildProcessing","keyboardListeners","listener","_hoverStartHandler","_hoverEndHandler","_updatedHover","_hover","_findHoverTarget","$previous","_this$option10","newHoveredElement","_setWidgetOption","widgetOptionMap","_this$option11","_ready","_isReady","registerKeyHandler","currentKeys","reverseEach","adjust","getPrecision","getExponent","getRoot","solveCubicEquation","trunc","roundFloatPart","getExponentLength","getRemainderByDivision","inRange","minValue","maxValue","isMinValueUndefined","isMaxValueUndefined","toExponential","_isEdgeBug","correctValue","precisionValue","interval","separatedAdjustedValue","separatedValue","sourceValue","absValue","isExponentValue","integerPart","mantissa","positionOfDelimiter","D2","roots","u","q","D3","acos","k","PI","cos","ceil","dividend","divider","digitsCount","quotient","_valueString$split$","DxConfiguration","Guid","_generate","random","toJSON","_utils2","_uiText_editorMask","_uiText_editorMaskStrategy2","stubCaret","ESCAPED_CHAR","TEXTEDITOR_MASKED_CLASS","FORWARD_DIRECTION","BACKWARD_DIRECTION","buildInMaskRules","0","L","isLiteralChar","isSpaceChar","C","A","isNumericChar","TextEditorMask","mask","maskRules","maskInvalidMessage","useMaskedValue","showMaskMode","keyHandlerMap","_maskStrategy","parentHandler","_$hiddenElement","_initMaskStrategy","isInputEventsL2Supported","_renderHiddenElement","_attachMouseWheelEventHandlers","hasMouseWheelHandler","_onMouseWheel","mouseWheelAction","_renderMask","_removeHiddenElement","_parseMask","_renderMaskedValue","_changedValue","changeEvent","_maskRules","_parseMaskRule","currentMaskChar","isEscapedChar","_getMaskRule","ruleConfig","rulePattern","_normalizeChainArguments","chainArgs","_isMaskedValueMode","_replaceSelectedText","textBefore","textAfter","edited","_shouldShowMask","submitElementValue","_getPreparedValue","handledCount","_textValue","_replaceMaskCharWithEmpty","keyHandler","_handleSelection","previousText","raiseInputEvent","_handleKeyChain","_moveCaret","emptyChars","chars","maskRuleIndex","_typingDirection","_updateHiddenElement","_updateMaskOption","_processEmptyMask","getDataStrategy","afterCleanData","cleanData","setDataStrategy","strategyChanging","dataMap","beforeCleanDataFunc","afterCleanDataFunc","cleanSelf","childElements","getElementsByTagName","extendFromObject","overrideExistingValues","sourceValueIsArray","CreateCallback","defaultSlots","getComponentInstance","beforeUnmount","getComponentProps","getVModelValue","childExtenton","oDataFilterToLower","forceIsoDateParsing","useLegacyStoreResult","useJQuery","floatingActionButtonConfig","closeIcon","label","maxSpeedDialActionCount","deprecatedFields","configMethod","newConfig","deprecatedField","DevExpress","parentPath","beforeMount","Clone","sort","isNumberX","isNumberY","assignValueToProperty","assignByReference","changes","extendComplexObject","prevValue","goDeeper","_button2","CUSTOM_BUTTON_HOVERED_CLASS","CustomButton","_prepareIntegrationOptions","isUpdated","isDefinedByUser","SLEEP","INITED","STARTED","IMMEDIATE_TOUCH_BOUNDARY","IMMEDIATE_TIMEOUT","supportPointerEvents","setGestureCover","GESTURE_COVER_CLASS","$cover","cursor","gestureCover","gestureCoverStrategy","GestureEmitter","_stage","_needSkipEvent","_startEvent","_setupImmediateTimer","_immediateTimer","_immediateAccepted","_directionConfirmed","_resetActiveElement","_adjustStartEvent","touchBoundary","_getTouchBoundary","horizontalMove","_validateMove","verticalMove","bothAccepted","horizontalAccepted","verticalAccepted","mainAxis","crossAxis","_stop","initialTouchBoundary","newBoundary","getNodeTypeOfComponent","saveComponentInstance","usedConfigurationProps","hasChildren","subTree","$_componentInstance","findConfigurationComponents","hasInlineTemplate","createApp","setAppContext","vnode","modelValue","components","provides","directives","mixins","childType","isConfiguration","DxOptions","DxTextBox","text_box_1","bindingOptions","wrapOverridden","baseProto","prevCallBase","clonePrototype","redefine","members","overridden","argument","classObj","hasClassObjOwnProperty","isES6Class","_includedCtors","_includedPostCtors","postCtor","subclassOf","parentClass","hasParentProperty","baseClass","copyStatic","hasOwn","destination","classImpl","inheritor","includedCtors","includedPostCtors","SWATCH_CONTAINER_CLASS_PREFIX","swatchContainer","viewport","swatchClassRegex","swatchClass","viewportSwatchContainer","setEasing","CSS_TRANSITION_EASING_REGEX","TransitionTimingFuncMap","linear","swing","ease","polynomBezier","x1","y1","x2","y2","Cx","Bx","Ax","Cy","By","Ay","bezierX","bezierY","derivativeX","findXFor","cssTransitionEasing","forceName","coeffs","easingName","DxCheckBox","check_box_1","isTagName","tagWrappers","tagsCount","startTags","endTags","thead","td","col","tbody","colgroup","caption","tfoot","fragment","tags","firstRootTag","tagWrapper","lastChild","isModernAndroidDevice","Yes","No","Cancel","Clear","Done","Loading","Select","Search","Back","OK","waitForThemeLoad","isPendingThemeLoaded","isDark","isWebFontLoaded","waitWebFont","themeReady","resetTheme","initialized","setDefaultTimeout","_themes_callback","$activeThemeLink","knownThemes","currentThemeName","pendingThemeName","themeClasses","initDeferred","DX_LINK_SELECTOR","THEME_ATTR","ACTIVE_ATTR","DX_HAIRLINES_CLASS","ANY_THEME","defaultTimeout","THEME_MARKER_PREFIX","readThemeMarker","waitStartTime","intervalCleared","handleLoaded","clearInterval","setInterval","isLoaded","isTimeout","anyThemePending","themeMarker","processMarkup","$allThemeLinks","link","fullThemeName","resolveFullThemeName","desiredThemeName","desiredThemeParts","knownThemeName","themeData","knownThemeParts","initContext","newContext","theme","currentThemeData","isAutoInit","_autoInit","loadCallback","_forceTimeout","getCssClasses","themeNameParts","activateHairlines","pixelRatio","devicePixelRatio","$tester","isTheme","themeRegExp","testedFont","etalonFont","testElement","etalonFontWidth","testedFontWidth","intervalId","timeoutId","autoInit","resizeCallbacks","prevSize","originalCallbacksAdd","originalCallbacksRemove","formatSize","handleResize","changedDimension","setPrevSize","E0001","E0002","E0003","E0004","E0005","E0006","E0007","E0008","E0009","E0010","E0011","E0012","E0013","E0014","E0015","E0017","E0018","E0020","E0021","E0022","E0023","E0024","E0025","E0100","E0101","E0102","E0103","E0110","E0120","E0121","W0000","W0001","W0002","W0003","W0004","W0005","W0006","W0007","W0008","W0009","W0010","W0011","W0012","W0013","W0014","W0015","W0016"],"mappings":"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S,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,UAAW,OACX,UAAW,OACX,WAAY,OACZ,UAAW,OACX,UAAW,OACX,WAAY,OACZ,UAAW,OACX,WAAY,OACZ,WAAY,OACZ,UAAW,OACX,UAAW,OACX,UAAW,OACX,UAAW,OACX,UAAW,OACX,UAAW,OACX,UAA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","file":"js/chunk-b5d0ead2.24e87f3c.js","sourcesContent":["/*!\n * devextreme-vue\n * Version: 20.2.6\n * Build date: Tue Mar 16 2021\n *\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-vue\n */\n\n\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar helpers_1 = require(\"./helpers\");\nvar Configuration = /** @class */ (function () {\n function Configuration(updateFunc, name, initialValues, expectedChildren, isCollectionItem, collectionItemIndex, ownerConfig) {\n this._updateFunc = updateFunc;\n this._name = name;\n this._initialValues = initialValues ? initialValues : {};\n this._nestedConfigurations = [];\n this._isCollectionItem = !!isCollectionItem;\n this._collectionItemIndex = collectionItemIndex;\n this._expectedChildren = expectedChildren || {};\n this._ownerConfig = ownerConfig;\n this._componentChanges = [];\n this.updateValue = this.updateValue.bind(this);\n }\n Object.defineProperty(Configuration.prototype, \"name\", {\n get: function () {\n return this._name;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Configuration.prototype, \"fullName\", {\n get: function () {\n return this._name && this._isCollectionItem\n ? this._name + \"[\" + this._collectionItemIndex + \"]\"\n : this._name;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Configuration.prototype, \"componentsCountChanged\", {\n get: function () {\n return this._componentChanges;\n },\n enumerable: true,\n configurable: true\n });\n Configuration.prototype.cleanComponentsCountChanged = function () {\n this._componentChanges = [];\n };\n Object.defineProperty(Configuration.prototype, \"fullPath\", {\n get: function () {\n return this._ownerConfig && this._ownerConfig.fullPath\n ? this._ownerConfig.fullPath + \".\" + this.fullName\n : this.fullName;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Configuration.prototype, \"ownerConfig\", {\n get: function () {\n return this._ownerConfig;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Configuration.prototype, \"options\", {\n get: function () {\n return this._options;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Configuration.prototype, \"initialValues\", {\n get: function () {\n return this._initialValues;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Configuration.prototype, \"expectedChildren\", {\n get: function () {\n return this._expectedChildren;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Configuration.prototype, \"nested\", {\n get: function () {\n return this._nestedConfigurations;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Configuration.prototype, \"prevNestedOptions\", {\n get: function () {\n return this._prevNestedConfigOptions;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Configuration.prototype, \"collectionItemIndex\", {\n get: function () {\n return this._collectionItemIndex;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Configuration.prototype, \"isCollectionItem\", {\n get: function () {\n return this._isCollectionItem;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Configuration.prototype, \"updateFunc\", {\n get: function () {\n return this._updateFunc;\n },\n enumerable: true,\n configurable: true\n });\n Configuration.prototype.init = function (options) {\n this._options = options ? options : [];\n };\n Object.defineProperty(Configuration.prototype, \"emitOptionChanged\", {\n set: function (handler) {\n this._emitOptionChanged = handler;\n },\n enumerable: true,\n configurable: true\n });\n Configuration.prototype.setPrevNestedOptions = function (value) {\n this._prevNestedConfigOptions = value;\n };\n Configuration.prototype.onOptionChanged = function (args) {\n if (helpers_1.isEqual(args.value, args.previousValue)) {\n return;\n }\n this._onOptionChanged(args.fullName.split(\".\"), args);\n };\n Configuration.prototype.cleanNested = function () {\n this._nestedConfigurations = [];\n };\n Configuration.prototype.createNested = function (name, initialValues, isCollectionItem, expectedChildren) {\n var expected = this._expectedChildren[name];\n var actualName = name;\n var actualIsCollectionItem = isCollectionItem;\n if (expected) {\n actualIsCollectionItem = expected.isCollectionItem;\n if (expected.optionName) {\n actualName = expected.optionName;\n }\n }\n var collectionItemIndex = -1;\n if (actualIsCollectionItem && actualName) {\n collectionItemIndex = this._nestedConfigurations.filter(function (c) { return c._name && c._name === actualName; }).length;\n }\n var configuration = new Configuration(this._updateFunc, actualName, initialValues, expectedChildren, actualIsCollectionItem, collectionItemIndex, this);\n this._nestedConfigurations.push(configuration);\n return configuration;\n };\n Configuration.prototype.updateValue = function (nestedName, value) {\n var fullName = [this.fullPath, nestedName].filter(function (n) { return n; }).join(\".\");\n this._updateFunc(fullName, value);\n };\n Configuration.prototype.getNestedOptionValues = function () {\n var values = {};\n this._nestedConfigurations.forEach(function (o) {\n if (!o._name) {\n return;\n }\n var nestedValue = __assign(__assign({}, o.initialValues), o.getNestedOptionValues());\n if (!nestedValue) {\n return;\n }\n if (!o._isCollectionItem) {\n values[o._name] = nestedValue;\n }\n else {\n var arr = values[o._name];\n if (!arr || !Array.isArray(arr)) {\n arr = [];\n values[o._name] = arr;\n }\n arr.push(nestedValue);\n }\n });\n return values;\n };\n Configuration.prototype.getOptionsToWatch = function () {\n var blackList = {};\n this._nestedConfigurations.forEach(function (c) { return c._name && (blackList[c._name] = true); });\n return this._options.filter(function (o) { return !blackList[o]; });\n };\n Configuration.prototype._onOptionChanged = function (optionRelPath, args) {\n if (optionRelPath.length === 0) {\n return;\n }\n var optionInfo = helpers_1.getOptionInfo(optionRelPath[0]);\n if (optionInfo.isCollection || optionRelPath.length > 1) {\n var nestedConfig = this._getNestedConfig(optionInfo.fullName);\n if (nestedConfig) {\n nestedConfig._onOptionChanged(optionRelPath.slice(1), args);\n return;\n }\n this._tryEmitOptionChanged(optionInfo.name, args.component.option(this.fullPath ? this.fullPath + \".\" + optionInfo.name : optionInfo.name));\n }\n else {\n this._tryEmitOptionChanged(optionInfo.name, args.value);\n }\n };\n Configuration.prototype._getNestedConfig = function (fullName) {\n for (var _i = 0, _a = this._nestedConfigurations; _i < _a.length; _i++) {\n var nestedConfig = _a[_i];\n if (nestedConfig.fullName === fullName) {\n return nestedConfig;\n }\n }\n return undefined;\n };\n Configuration.prototype._tryEmitOptionChanged = function (name, value) {\n if (this._emitOptionChanged) {\n this._emitOptionChanged(name, value);\n }\n };\n return Configuration;\n}());\nfunction bindOptionWatchers(config, vueInstance, innerChanges) {\n var targets = config && config.getOptionsToWatch();\n if (targets) {\n targets.forEach(function (optionName) {\n vueInstance.$watch(optionName, function (value) {\n if (!innerChanges.hasOwnProperty(optionName) ||\n innerChanges[optionName] !== value) {\n config.updateValue(optionName, value);\n }\n delete innerChanges[optionName];\n });\n });\n }\n}\nexports.bindOptionWatchers = bindOptionWatchers;\nfunction setEmitOptionChangedFunc(config, vueInstance, innerChanges) {\n config.emitOptionChanged = function (name, value) {\n if (!helpers_1.isEqual(value, vueInstance.$props[name])) {\n innerChanges[name] = value;\n vueInstance.$emit(\"update:\" + name, value);\n }\n };\n}\nexports.setEmitOptionChangedFunc = setEmitOptionChangedFunc;\nexports.default = Configuration;\n","/**\r\n * DevExtreme (core/options/index.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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.Options = void 0;\r\nvar _type = require(\"../utils/type\");\r\nvar _common = require(\"../utils/common\");\r\nvar _option_manager = require(\"./option_manager\");\r\nvar _object = require(\"../utils/object\");\r\nvar _utils = require(\"./utils\");\r\nvar _extend = require(\"../utils/extend\");\r\n\r\nfunction _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, descriptor.key, descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n return Constructor\r\n}\r\nvar Options = function() {\r\n function Options(options, defaultOptions, optionsByReference, deprecatedOptions) {\r\n var _this = this;\r\n this._deprecatedCallback;\r\n this._startChangeCallback;\r\n this._endChangeCallback;\r\n this._default = defaultOptions;\r\n this._deprecated = deprecatedOptions;\r\n this._deprecatedNames = [];\r\n this._initDeprecatedNames();\r\n this._optionManager = new _option_manager.OptionManager(options, optionsByReference);\r\n this._optionManager.onRelevantNamesPrepared(function(options, name, value, silent) {\r\n return _this._setRelevantNames(options, name, value, silent)\r\n });\r\n this._cachedOptions = {};\r\n this._rules = []\r\n }\r\n var _proto = Options.prototype;\r\n _proto._initDeprecatedNames = function() {\r\n for (var optionName in this._deprecated) {\r\n this._deprecatedNames.push(optionName)\r\n }\r\n };\r\n _proto._getByRules = function(rules) {\r\n rules = Array.isArray(rules) ? this._rules.concat(rules) : this._rules;\r\n return (0, _utils.convertRulesToOptions)(rules)\r\n };\r\n _proto._notifyDeprecated = function(option) {\r\n var info = this._deprecated[option];\r\n if (info) {\r\n this._deprecatedCallback(option, info)\r\n }\r\n };\r\n _proto._setRelevantNames = function(options, name, value, silent) {\r\n if (name) {\r\n var normalizedName = this._normalizeName(name, silent);\r\n if (normalizedName && normalizedName !== name) {\r\n this._setField(options, normalizedName, value);\r\n this._clearField(options, name)\r\n }\r\n }\r\n };\r\n _proto._setField = function(options, fullName, value) {\r\n var fieldName = \"\";\r\n var fieldObject = null;\r\n do {\r\n fieldName = fieldName ? \".\".concat(fieldName) : \"\";\r\n fieldName = (0, _utils.getFieldName)(fullName) + fieldName;\r\n fullName = (0, _utils.getParentName)(fullName);\r\n fieldObject = fullName ? this._optionManager.get(options, fullName, false) : options\r\n } while (!fieldObject);\r\n fieldObject[fieldName] = value\r\n };\r\n _proto._clearField = function(options, name) {\r\n delete options[name];\r\n var previousFieldName = (0, _utils.getParentName)(name);\r\n var fieldObject = previousFieldName ? this._optionManager.get(options, previousFieldName, false) : options;\r\n if (fieldObject) {\r\n delete fieldObject[(0, _utils.getFieldName)(name)]\r\n }\r\n };\r\n _proto._normalizeName = function(name, silent) {\r\n if (this._deprecatedNames.length && name) {\r\n for (var i = 0; i < this._deprecatedNames.length; i++) {\r\n if (this._deprecatedNames[i] === name) {\r\n var deprecate = this._deprecated[name];\r\n if (deprecate) {\r\n !silent && this._notifyDeprecated(name);\r\n return deprecate.alias || name\r\n }\r\n }\r\n }\r\n }\r\n return name\r\n };\r\n _proto.addRules = function(rules) {\r\n this._rules = rules.concat(this._rules)\r\n };\r\n _proto.applyRules = function(rules) {\r\n var options = this._getByRules(rules);\r\n this.silent(options)\r\n };\r\n _proto.dispose = function() {\r\n this._deprecatedCallback = _common.noop;\r\n this._startChangeCallback = _common.noop;\r\n this._endChangeCallback = _common.noop;\r\n this._optionManager.dispose()\r\n };\r\n _proto.onChanging = function(callBack) {\r\n this._optionManager.onChanging(callBack)\r\n };\r\n _proto.onChanged = function(callBack) {\r\n this._optionManager.onChanged(callBack)\r\n };\r\n _proto.onDeprecated = function(callBack) {\r\n this._deprecatedCallback = callBack\r\n };\r\n _proto.onStartChange = function(callBack) {\r\n this._startChangeCallback = callBack\r\n };\r\n _proto.onEndChange = function(callBack) {\r\n this._endChangeCallback = callBack\r\n };\r\n _proto.isInitial = function(name) {\r\n var value = this.silent(name);\r\n var initialValue = this.initial(name);\r\n var areFunctions = (0, _type.isFunction)(value) && (0, _type.isFunction)(initialValue);\r\n return areFunctions ? value.toString() === initialValue.toString() : (0, _common.equalByValue)(value, initialValue)\r\n };\r\n _proto.initial = function(name) {\r\n return (0, _utils.getNestedOptionValue)(this._initial, name)\r\n };\r\n _proto.option = function(options, value) {\r\n var isGetter = arguments.length < 2 && \"object\" !== (0, _type.type)(options);\r\n if (isGetter) {\r\n return this._optionManager.get(void 0, this._normalizeName(options))\r\n } else {\r\n this._startChangeCallback();\r\n try {\r\n this._optionManager.set(options, value)\r\n } finally {\r\n this._endChangeCallback()\r\n }\r\n }\r\n };\r\n _proto.silent = function(options, value) {\r\n var isGetter = arguments.length < 2 && \"object\" !== (0, _type.type)(options);\r\n if (isGetter) {\r\n return this._optionManager.get(void 0, options, void 0, true)\r\n } else {\r\n this._optionManager.set(options, value, void 0, true)\r\n }\r\n };\r\n _proto.reset = function(name) {\r\n var _this2 = this;\r\n if (name) {\r\n var fullPath = name.replace(/\\[([^\\]])\\]/g, \".$1\").split(\".\");\r\n var value = fullPath.reduce(function(value, field) {\r\n return value ? value[field] : _this2.initial(field)\r\n }, null);\r\n var defaultValue = (0, _type.isObject)(value) ? (0, _object.clone)(value) : value;\r\n this._optionManager.set(name, defaultValue, false)\r\n }\r\n };\r\n _proto.getAliasesByName = function(name) {\r\n var _this3 = this;\r\n return Object.keys(this._deprecated).filter(function(aliasName) {\r\n return name === _this3._deprecated[aliasName].alias\r\n })\r\n };\r\n _proto.isDeprecated = function(name) {\r\n return Object.prototype.hasOwnProperty.call(this._deprecated, name)\r\n };\r\n _proto.cache = function(name, options) {\r\n var isGetter = arguments.length < 2;\r\n if (isGetter) {\r\n return this._cachedOptions[name]\r\n } else {\r\n this._cachedOptions[name] = (0, _extend.extend)(this._cachedOptions[name], options)\r\n }\r\n };\r\n _createClass(Options, [{\r\n key: \"_initial\",\r\n get: function() {\r\n if (!this._initialOptions) {\r\n var rulesOptions = this._getByRules(this.silent(\"defaultOptionsRules\"));\r\n this._initialOptions = this._default;\r\n this._optionManager._setByReference(this._initialOptions, rulesOptions)\r\n }\r\n return this._initialOptions\r\n },\r\n set: function(value) {\r\n this._initialOptions = value\r\n }\r\n }]);\r\n return Options\r\n}();\r\nexports.Options = Options;\r\n","/**\r\n * DevExtreme (localization/core.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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 _dependency_injector = _interopRequireDefault(require(\"../core/utils/dependency_injector\"));\r\nvar _parent_locales = _interopRequireDefault(require(\"./cldr-data/parent_locales\"));\r\nvar _parentLocale = _interopRequireDefault(require(\"./parentLocale\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar DEFAULT_LOCALE = \"en\";\r\nvar _default = (0, _dependency_injector.default)({\r\n locale: function() {\r\n var currentLocale = DEFAULT_LOCALE;\r\n return function(locale) {\r\n if (!locale) {\r\n return currentLocale\r\n }\r\n currentLocale = locale\r\n }\r\n }(),\r\n getValueByClosestLocale: function(getter) {\r\n var locale = this.locale();\r\n var value = getter(locale);\r\n var isRootLocale;\r\n while (!value && !isRootLocale) {\r\n locale = (0, _parentLocale.default)(_parent_locales.default, locale);\r\n if (locale) {\r\n value = getter(locale)\r\n } else {\r\n isRootLocale = true\r\n }\r\n }\r\n if (void 0 === value && locale !== DEFAULT_LOCALE) {\r\n return getter(DEFAULT_LOCALE)\r\n }\r\n return value\r\n }\r\n});\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (localization/number.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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 _dependency_injector = _interopRequireDefault(require(\"../core/utils/dependency_injector\"));\r\nvar _array = require(\"../core/utils/array\");\r\nvar _common = require(\"../core/utils/common\");\r\nvar _iterator = require(\"../core/utils/iterator\");\r\nvar _type = require(\"../core/utils/type\");\r\nvar _number = require(\"./ldml/number\");\r\nvar _config = _interopRequireDefault(require(\"../core/config\"));\r\nvar _errors = _interopRequireDefault(require(\"../core/errors\"));\r\nvar _utils = require(\"./utils\");\r\nvar _currency = _interopRequireDefault(require(\"./currency\"));\r\nvar _number2 = _interopRequireDefault(require(\"./intl/number\"));\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 _slicedToArray(arr, i) {\r\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest()\r\n}\r\n\r\nfunction _nonIterableRest() {\r\n throw new TypeError(\"Invalid attempt to destructure 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 _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\n\r\nfunction _iterableToArrayLimit(arr, i) {\r\n if (\"undefined\" === typeof Symbol || !(Symbol.iterator in Object(arr))) {\r\n return\r\n }\r\n var _arr = [];\r\n var _n = true;\r\n var _d = false;\r\n var _e = void 0;\r\n try {\r\n for (var _s, _i = arr[Symbol.iterator](); !(_n = (_s = _i.next()).done); _n = true) {\r\n _arr.push(_s.value);\r\n if (i && _arr.length === i) {\r\n break\r\n }\r\n }\r\n } catch (err) {\r\n _d = true;\r\n _e = err\r\n } finally {\r\n try {\r\n if (!_n && null != _i.return) {\r\n _i.return()\r\n }\r\n } finally {\r\n if (_d) {\r\n throw _e\r\n }\r\n }\r\n }\r\n return _arr\r\n}\r\n\r\nfunction _arrayWithHoles(arr) {\r\n if (Array.isArray(arr)) {\r\n return arr\r\n }\r\n}\r\nvar hasIntl = \"undefined\" !== typeof Intl;\r\nvar MAX_LARGE_NUMBER_POWER = 4;\r\nvar DECIMAL_BASE = 10;\r\nvar NUMERIC_FORMATS = [\"currency\", \"fixedpoint\", \"exponential\", \"percent\", \"decimal\"];\r\nvar LargeNumberFormatPostfixes = {\r\n 1: \"K\",\r\n 2: \"M\",\r\n 3: \"B\",\r\n 4: \"T\"\r\n};\r\nvar LargeNumberFormatPowers = {\r\n largenumber: \"auto\",\r\n thousands: 1,\r\n millions: 2,\r\n billions: 3,\r\n trillions: 4\r\n};\r\nvar numberLocalization = (0, _dependency_injector.default)({\r\n engine: function() {\r\n return \"base\"\r\n },\r\n numericFormats: NUMERIC_FORMATS,\r\n defaultLargeNumberFormatPostfixes: LargeNumberFormatPostfixes,\r\n _parseNumberFormatString: function(formatType) {\r\n var formatObject = {};\r\n if (!formatType || \"string\" !== typeof formatType) {\r\n return\r\n }\r\n var formatList = formatType.toLowerCase().split(\" \");\r\n (0, _iterator.each)(formatList, function(index, value) {\r\n if ((0, _array.inArray)(value, NUMERIC_FORMATS) > -1) {\r\n formatObject.formatType = value\r\n } else {\r\n if (value in LargeNumberFormatPowers) {\r\n formatObject.power = LargeNumberFormatPowers[value]\r\n }\r\n }\r\n });\r\n if (formatObject.power && !formatObject.formatType) {\r\n formatObject.formatType = \"fixedpoint\"\r\n }\r\n if (formatObject.formatType) {\r\n return formatObject\r\n }\r\n },\r\n _calculateNumberPower: function(value, base, minPower, maxPower) {\r\n var number = Math.abs(value);\r\n var power = 0;\r\n if (number > 1) {\r\n while (number && number >= base && (void 0 === maxPower || power < maxPower)) {\r\n power++;\r\n number /= base\r\n }\r\n } else {\r\n if (number > 0 && number < 1) {\r\n while (number < 1 && (void 0 === minPower || power > minPower)) {\r\n power--;\r\n number *= base\r\n }\r\n }\r\n }\r\n return power\r\n },\r\n _getNumberByPower: function(number, power, base) {\r\n var result = number;\r\n while (power > 0) {\r\n result /= base;\r\n power--\r\n }\r\n while (power < 0) {\r\n result *= base;\r\n power++\r\n }\r\n return result\r\n },\r\n _formatNumber: function(value, formatObject, formatConfig) {\r\n if (\"auto\" === formatObject.power) {\r\n formatObject.power = this._calculateNumberPower(value, 1e3, 0, MAX_LARGE_NUMBER_POWER)\r\n }\r\n if (formatObject.power) {\r\n value = this._getNumberByPower(value, formatObject.power, 1e3)\r\n }\r\n var powerPostfix = this.defaultLargeNumberFormatPostfixes[formatObject.power] || \"\";\r\n var result = this._formatNumberCore(value, formatObject.formatType, formatConfig);\r\n result = result.replace(/(\\d|.$)(\\D*)$/, \"$1\" + powerPostfix + \"$2\");\r\n return result\r\n },\r\n _formatNumberExponential: function(value, formatConfig) {\r\n var power = this._calculateNumberPower(value, DECIMAL_BASE);\r\n var number = this._getNumberByPower(value, power, DECIMAL_BASE);\r\n if (void 0 === formatConfig.precision) {\r\n formatConfig.precision = 1\r\n }\r\n if (number.toFixed(formatConfig.precision || 0) >= DECIMAL_BASE) {\r\n power++;\r\n number /= DECIMAL_BASE\r\n }\r\n var powString = (power >= 0 ? \"+\" : \"\") + power.toString();\r\n return this._formatNumberCore(number, \"fixedpoint\", formatConfig) + \"E\" + powString\r\n },\r\n _addZeroes: function(value, precision) {\r\n var multiplier = Math.pow(10, precision);\r\n var sign = value < 0 ? \"-\" : \"\";\r\n value = (Math.abs(value) * multiplier >>> 0) / multiplier;\r\n var result = value.toString();\r\n while (result.length < precision) {\r\n result = \"0\" + result\r\n }\r\n return sign + result\r\n },\r\n _addGroupSeparators: function(value) {\r\n var parts = value.toString().split(\".\");\r\n return parts[0].replace(/\\B(?=(\\d{3})+(?!\\d))/g, (0, _config.default)().thousandsSeparator) + (parts[1] ? (0, _config.default)().decimalSeparator + parts[1] : \"\")\r\n },\r\n _formatNumberCore: function(value, format, formatConfig) {\r\n if (\"exponential\" === format) {\r\n return this._formatNumberExponential(value, formatConfig)\r\n }\r\n if (\"decimal\" !== format && null !== formatConfig.precision) {\r\n formatConfig.precision = formatConfig.precision || 0\r\n }\r\n if (\"percent\" === format) {\r\n value = 100 * value\r\n }\r\n if (void 0 !== formatConfig.precision) {\r\n if (\"decimal\" === format) {\r\n value = this._addZeroes(value, formatConfig.precision)\r\n } else {\r\n value = null === formatConfig.precision ? value.toPrecision() : (0, _utils.toFixed)(value, formatConfig.precision)\r\n }\r\n }\r\n if (\"decimal\" !== format) {\r\n value = this._addGroupSeparators(value)\r\n } else {\r\n value = value.toString().replace(\".\", (0, _config.default)().decimalSeparator)\r\n }\r\n if (\"percent\" === format) {\r\n value += \"%\"\r\n }\r\n return value\r\n },\r\n _normalizeFormat: function(format) {\r\n if (!format) {\r\n return {}\r\n }\r\n if (\"function\" === typeof format) {\r\n return format\r\n }\r\n if (!(0, _type.isPlainObject)(format)) {\r\n format = {\r\n type: format\r\n }\r\n }\r\n return format\r\n },\r\n _getSeparators: function() {\r\n return {\r\n decimalSeparator: this.getDecimalSeparator(),\r\n thousandsSeparator: this.getThousandsSeparator()\r\n }\r\n },\r\n getThousandsSeparator: function() {\r\n return this.format(1e4, \"fixedPoint\")[2]\r\n },\r\n getDecimalSeparator: function() {\r\n return this.format(1.2, {\r\n type: \"fixedPoint\",\r\n precision: 1\r\n })[1]\r\n },\r\n convertDigits: function(value, toStandard) {\r\n var digits = this.format(90, \"decimal\");\r\n if (\"string\" !== typeof value || \"0\" === digits[1]) {\r\n return value\r\n }\r\n var fromFirstDigit = toStandard ? digits[1] : \"0\";\r\n var toFirstDigit = toStandard ? \"0\" : digits[1];\r\n var fromLastDigit = toStandard ? digits[0] : \"9\";\r\n var regExp = new RegExp(\"[\" + fromFirstDigit + \"-\" + fromLastDigit + \"]\", \"g\");\r\n return value.replace(regExp, function(char) {\r\n return String.fromCharCode(char.charCodeAt(0) + (toFirstDigit.charCodeAt(0) - fromFirstDigit.charCodeAt(0)))\r\n })\r\n },\r\n getNegativeEtalonRegExp: function(format) {\r\n var separators = this._getSeparators();\r\n var digitalRegExp = new RegExp(\"[0-9\" + (0, _common.escapeRegExp)(separators.decimalSeparator + separators.thousandsSeparator) + \"]+\", \"g\");\r\n var specialCharacters = [\"\\\\\", \"(\", \")\", \"[\", \"]\", \"*\", \"+\", \"$\", \"^\", \"?\", \"|\", \"{\", \"}\"];\r\n var negativeEtalon = this.format(-1, format).replace(digitalRegExp, \"1\");\r\n specialCharacters.forEach(function(char) {\r\n negativeEtalon = negativeEtalon.replace(char, \"\\\\\".concat(char))\r\n });\r\n negativeEtalon = negativeEtalon.replace(\" \", \"\\\\s\");\r\n negativeEtalon = negativeEtalon.replace(\"1\", \".+\");\r\n return new RegExp(negativeEtalon, \"g\")\r\n },\r\n getSign: function(text, format) {\r\n if (\"-\" === text.replace(/[^0-9-]/g, \"\").charAt(0)) {\r\n return -1\r\n }\r\n if (!format) {\r\n return 1\r\n }\r\n var negativeEtalon = this.getNegativeEtalonRegExp(format);\r\n return text.match(negativeEtalon) ? -1 : 1\r\n },\r\n format: function(value, _format) {\r\n if (\"number\" !== typeof value) {\r\n return value\r\n }\r\n if (\"number\" === typeof _format) {\r\n return value\r\n }\r\n _format = _format && _format.formatter || _format;\r\n if (\"function\" === typeof _format) {\r\n return _format(value)\r\n }\r\n _format = this._normalizeFormat(_format);\r\n if (!_format.type) {\r\n _format.type = \"decimal\"\r\n }\r\n var numberConfig = this._parseNumberFormatString(_format.type);\r\n if (!numberConfig) {\r\n var formatterConfig = this._getSeparators();\r\n formatterConfig.unlimitedIntegerDigits = _format.unlimitedIntegerDigits;\r\n return this.convertDigits((0, _number.getFormatter)(_format.type, formatterConfig)(value))\r\n }\r\n return this._formatNumber(value, numberConfig, _format)\r\n },\r\n parse: function(text, format) {\r\n if (!text) {\r\n return\r\n }\r\n if (format && format.parser) {\r\n return format.parser(text)\r\n }\r\n text = this.convertDigits(text, true);\r\n if (format && \"string\" !== typeof format) {\r\n _errors.default.log(\"W0011\")\r\n }\r\n var decimalSeparator = this.getDecimalSeparator();\r\n var regExp = new RegExp(\"[^0-9\" + (0, _common.escapeRegExp)(decimalSeparator) + \"]\", \"g\");\r\n var cleanedText = text.replace(regExp, \"\").replace(decimalSeparator, \".\").replace(/\\.$/g, \"\");\r\n if (\".\" === cleanedText || \"\" === cleanedText) {\r\n return null\r\n }\r\n if (this._calcSignificantDigits(cleanedText) > 15) {\r\n return NaN\r\n }\r\n var parsed = +cleanedText * this.getSign(text, format);\r\n format = this._normalizeFormat(format);\r\n var formatConfig = this._parseNumberFormatString(format.type);\r\n var power = null === formatConfig || void 0 === formatConfig ? void 0 : formatConfig.power;\r\n if (power) {\r\n if (\"auto\" === power) {\r\n var match = text.match(/\\d(K|M|B|T)/);\r\n if (match) {\r\n power = (0, _array.find)(Object.keys(LargeNumberFormatPostfixes), function(power) {\r\n return LargeNumberFormatPostfixes[power] === match[1]\r\n })\r\n }\r\n }\r\n parsed *= Math.pow(10, 3 * power)\r\n }\r\n if (\"percent\" === (null === formatConfig || void 0 === formatConfig ? void 0 : formatConfig.formatType)) {\r\n parsed /= 100\r\n }\r\n return parsed\r\n },\r\n _calcSignificantDigits: function(text) {\r\n var _text$split = text.split(\".\"),\r\n _text$split2 = _slicedToArray(_text$split, 2),\r\n integer = _text$split2[0],\r\n fractional = _text$split2[1];\r\n var calcDigitsAfterLeadingZeros = function(digits) {\r\n var index = -1;\r\n for (var i = 0; i < digits.length; i++) {\r\n if (\"0\" !== digits[i]) {\r\n index = i;\r\n break\r\n }\r\n }\r\n return index > -1 ? digits.length - index : 0\r\n };\r\n var result = 0;\r\n if (integer) {\r\n result += calcDigitsAfterLeadingZeros(integer.split(\"\"))\r\n }\r\n if (fractional) {\r\n result += calcDigitsAfterLeadingZeros(fractional.split(\"\").reverse())\r\n }\r\n return result\r\n }\r\n});\r\nnumberLocalization.inject(_currency.default);\r\nif (hasIntl) {\r\n numberLocalization.inject(_number2.default)\r\n}\r\nvar _default = numberLocalization;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (events/pointer/mspointer.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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 (core/utils/icon.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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.getImageContainer = exports.getImageSourceType = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar ICON_CLASS = \"dx-icon\";\r\nvar SVG_ICON_CLASS = \"dx-svg-icon\";\r\nvar getImageSourceType = function(source) {\r\n if (!source || \"string\" !== typeof source) {\r\n return false\r\n }\r\n if (/^\\s*]*>(.|\\r?\\n)*?<\\/svg>\\s*$/i.test(source)) {\r\n return \"svg\"\r\n }\r\n if (/data:.*base64|\\.|[^<\\s]\\//.test(source)) {\r\n return \"image\"\r\n }\r\n if (/^[\\w-_]+$/.test(source)) {\r\n return \"dxIcon\"\r\n }\r\n if (/^\\s?([\\w-_]\\s?)+$/.test(source)) {\r\n return \"fontIcon\"\r\n }\r\n return false\r\n};\r\nexports.getImageSourceType = getImageSourceType;\r\nvar getImageContainer = function(source) {\r\n switch (getImageSourceType(source)) {\r\n case \"image\":\r\n return (0, _renderer.default)(\"\").attr(\"src\", source).addClass(ICON_CLASS);\r\n case \"fontIcon\":\r\n return (0, _renderer.default)(\"\").addClass(\"\".concat(ICON_CLASS, \" \").concat(source));\r\n case \"dxIcon\":\r\n return (0, _renderer.default)(\"\").addClass(\"\".concat(ICON_CLASS, \" \").concat(ICON_CLASS, \"-\").concat(source));\r\n case \"svg\":\r\n return (0, _renderer.default)(\"\").addClass(\"\".concat(ICON_CLASS, \" \").concat(SVG_ICON_CLASS)).append(source);\r\n default:\r\n return null\r\n }\r\n};\r\nexports.getImageContainer = getImageContainer;\r\n","/**\r\n * DevExtreme (core/utils/view_port.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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.originalViewPort = originalViewPort;\r\nexports.changeCallback = exports.value = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../renderer\"));\r\nvar _ready_callbacks = _interopRequireDefault(require(\"./ready_callbacks\"));\r\nvar _callbacks = _interopRequireDefault(require(\"./callbacks\"));\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 changeCallback = (0, _callbacks.default)();\r\nexports.changeCallback = changeCallback;\r\nvar $originalViewPort = (0, _renderer.default)();\r\nvar value = function() {\r\n var $current;\r\n return function(element) {\r\n if (!arguments.length) {\r\n return $current\r\n }\r\n var $element = (0, _renderer.default)(element);\r\n $originalViewPort = $element;\r\n var isNewViewportFound = !!$element.length;\r\n var prevViewPort = value();\r\n $current = isNewViewportFound ? $element : (0, _renderer.default)(\"body\");\r\n changeCallback.fire(isNewViewportFound ? value() : (0, _renderer.default)(), prevViewPort)\r\n }\r\n}();\r\nexports.value = value;\r\nready(function() {\r\n value(\".dx-viewport\")\r\n});\r\n\r\nfunction originalViewPort() {\r\n return $originalViewPort\r\n}\r\n","/**\r\n * DevExtreme (core/utils/public_component.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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.attachInstanceToElement = attachInstanceToElement;\r\nexports.getInstanceByElement = getInstanceByElement;\r\nexports.name = void 0;\r\nvar _element_data = require(\"../../core/element_data\");\r\nvar _events_engine = _interopRequireDefault(require(\"../../events/core/events_engine\"));\r\nvar _weak_map = _interopRequireDefault(require(\"../polyfills/weak_map\"));\r\nvar _type = require(\"./type\");\r\nvar _remove_event = _interopRequireDefault(require(\"../remove_event\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar COMPONENT_NAMES_DATA_KEY = \"dxComponents\";\r\nvar ANONYMOUS_COMPONENT_DATA_KEY = \"dxPrivateComponent\";\r\nvar componentNames = new _weak_map.default;\r\nvar nextAnonymousComponent = 0;\r\nvar getName = function(componentClass, newName) {\r\n if ((0, _type.isDefined)(newName)) {\r\n componentNames.set(componentClass, newName);\r\n return\r\n }\r\n if (!componentNames.has(componentClass)) {\r\n var generatedName = ANONYMOUS_COMPONENT_DATA_KEY + nextAnonymousComponent++;\r\n componentNames.set(componentClass, generatedName);\r\n return generatedName\r\n }\r\n return componentNames.get(componentClass)\r\n};\r\nexports.name = getName;\r\n\r\nfunction attachInstanceToElement($element, componentInstance, disposeFn) {\r\n var data = (0, _element_data.data)($element.get(0));\r\n var name = getName(componentInstance.constructor);\r\n data[name] = componentInstance;\r\n if (disposeFn) {\r\n _events_engine.default.one($element, _remove_event.default, function() {\r\n disposeFn.call(componentInstance)\r\n })\r\n }\r\n if (!data[COMPONENT_NAMES_DATA_KEY]) {\r\n data[COMPONENT_NAMES_DATA_KEY] = []\r\n }\r\n data[COMPONENT_NAMES_DATA_KEY].push(name)\r\n}\r\n\r\nfunction getInstanceByElement($element, componentClass) {\r\n var name = getName(componentClass);\r\n return (0, _element_data.data)($element.get(0), name)\r\n}\r\n","/**\r\n * DevExtreme (core/events_strategy.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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.EventsStrategy = void 0;\r\nvar _callbacks = _interopRequireDefault(require(\"./utils/callbacks\"));\r\nvar _iterator = require(\"./utils/iterator\");\r\nvar _type = require(\"./utils/type\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar EventsStrategy = function() {\r\n function EventsStrategy(owner) {\r\n var options = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};\r\n this._events = {};\r\n this._owner = owner;\r\n this._options = options\r\n }\r\n EventsStrategy.create = function(owner, strategy) {\r\n if (strategy) {\r\n return (0, _type.isFunction)(strategy) ? strategy(owner) : strategy\r\n } else {\r\n return new EventsStrategy(owner)\r\n }\r\n };\r\n var _proto = EventsStrategy.prototype;\r\n _proto.hasEvent = function(eventName) {\r\n var callbacks = this._events[eventName];\r\n return callbacks ? callbacks.has() : false\r\n };\r\n _proto.fireEvent = function(eventName, eventArgs) {\r\n var callbacks = this._events[eventName];\r\n if (callbacks) {\r\n callbacks.fireWith(this._owner, eventArgs)\r\n }\r\n return this._owner\r\n };\r\n _proto.on = function(eventName, eventHandler) {\r\n var _this = this;\r\n if ((0, _type.isPlainObject)(eventName)) {\r\n (0, _iterator.each)(eventName, function(e, h) {\r\n _this.on(e, h)\r\n })\r\n } else {\r\n var callbacks = this._events[eventName];\r\n if (!callbacks) {\r\n callbacks = (0, _callbacks.default)({\r\n syncStrategy: this._options.syncStrategy\r\n });\r\n this._events[eventName] = callbacks\r\n }\r\n var addFn = callbacks.originalAdd || callbacks.add;\r\n addFn.call(callbacks, eventHandler)\r\n }\r\n };\r\n _proto.off = function(eventName, eventHandler) {\r\n var callbacks = this._events[eventName];\r\n if (callbacks) {\r\n if ((0, _type.isFunction)(eventHandler)) {\r\n callbacks.remove(eventHandler)\r\n } else {\r\n callbacks.empty()\r\n }\r\n }\r\n };\r\n _proto.dispose = function() {\r\n (0, _iterator.each)(this._events, function(eventName, event) {\r\n event.empty()\r\n })\r\n };\r\n return EventsStrategy\r\n}();\r\nexports.EventsStrategy = EventsStrategy;\r\n","/*!\n * devextreme-vue\n * Version: 20.2.6\n * Build date: Tue Mar 16 2021\n *\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-vue\n */\n\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DxValidationRule = exports.DxStringLengthRule = exports.DxRequiredRule = exports.DxRangeRule = exports.DxPatternRule = exports.DxNumericRule = exports.DxEmailRule = exports.DxCustomRule = exports.DxCompareRule = exports.DxAsyncRule = exports.DxAdapter = exports.DxValidator = void 0;\nvar validator_1 = require(\"devextreme/ui/validator\");\nvar index_1 = require(\"./core/index\");\nvar index_2 = require(\"./core/index\");\nvar DxValidator = index_1.createExtensionComponent({\n props: {\n adapter: Object,\n elementAttr: Object,\n height: [Function, Number, String],\n name: String,\n onDisposing: Function,\n onInitialized: Function,\n onOptionChanged: Function,\n onValidated: Function,\n validationGroup: String,\n validationRules: Array,\n width: [Function, Number, String]\n },\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:adapter\": null,\n \"update:elementAttr\": null,\n \"update:height\": null,\n \"update:name\": null,\n \"update:onDisposing\": null,\n \"update:onInitialized\": null,\n \"update:onOptionChanged\": null,\n \"update:onValidated\": null,\n \"update:validationGroup\": null,\n \"update:validationRules\": null,\n \"update:width\": null,\n },\n computed: {\n instance: function () {\n return this.$_instance;\n }\n },\n beforeCreate: function () {\n this.$_WidgetClass = validator_1.default;\n this.$_expectedChildren = {\n adapter: { isCollectionItem: false, optionName: \"adapter\" },\n AsyncRule: { isCollectionItem: true, optionName: \"validationRules\" },\n CompareRule: { isCollectionItem: true, optionName: \"validationRules\" },\n CustomRule: { isCollectionItem: true, optionName: \"validationRules\" },\n EmailRule: { isCollectionItem: true, optionName: \"validationRules\" },\n NumericRule: { isCollectionItem: true, optionName: \"validationRules\" },\n PatternRule: { isCollectionItem: true, optionName: \"validationRules\" },\n RangeRule: { isCollectionItem: true, optionName: \"validationRules\" },\n RequiredRule: { isCollectionItem: true, optionName: \"validationRules\" },\n StringLengthRule: { isCollectionItem: true, optionName: \"validationRules\" },\n validationRule: { isCollectionItem: true, optionName: \"validationRules\" }\n };\n }\n});\nexports.DxValidator = DxValidator;\nvar DxAdapter = index_2.createConfigurationComponent({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:applyValidationResults\": null,\n \"update:bypass\": null,\n \"update:focus\": null,\n \"update:getValue\": null,\n \"update:reset\": null,\n \"update:validationRequestsCallbacks\": null,\n },\n props: {\n applyValidationResults: Function,\n bypass: Function,\n focus: Function,\n getValue: Function,\n reset: Function,\n validationRequestsCallbacks: Array\n }\n});\nexports.DxAdapter = DxAdapter;\nDxAdapter.$_optionName = \"adapter\";\nvar DxAsyncRule = index_2.createConfigurationComponent({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:ignoreEmptyValue\": null,\n \"update:message\": null,\n \"update:reevaluate\": null,\n \"update:type\": null,\n \"update:validationCallback\": null,\n },\n props: {\n ignoreEmptyValue: Boolean,\n message: String,\n reevaluate: Boolean,\n type: String,\n validationCallback: Function\n }\n});\nexports.DxAsyncRule = DxAsyncRule;\nDxAsyncRule.$_optionName = \"validationRules\";\nDxAsyncRule.$_isCollectionItem = true;\nDxAsyncRule.$_predefinedProps = {\n type: \"async\"\n};\nvar DxCompareRule = index_2.createConfigurationComponent({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:comparisonTarget\": null,\n \"update:comparisonType\": null,\n \"update:ignoreEmptyValue\": null,\n \"update:message\": null,\n \"update:reevaluate\": null,\n \"update:type\": null,\n },\n props: {\n comparisonTarget: Function,\n comparisonType: String,\n ignoreEmptyValue: Boolean,\n message: String,\n reevaluate: Boolean,\n type: String\n }\n});\nexports.DxCompareRule = DxCompareRule;\nDxCompareRule.$_optionName = \"validationRules\";\nDxCompareRule.$_isCollectionItem = true;\nDxCompareRule.$_predefinedProps = {\n type: \"compare\"\n};\nvar DxCustomRule = index_2.createConfigurationComponent({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:ignoreEmptyValue\": null,\n \"update:message\": null,\n \"update:reevaluate\": null,\n \"update:type\": null,\n \"update:validationCallback\": null,\n },\n props: {\n ignoreEmptyValue: Boolean,\n message: String,\n reevaluate: Boolean,\n type: String,\n validationCallback: Function\n }\n});\nexports.DxCustomRule = DxCustomRule;\nDxCustomRule.$_optionName = \"validationRules\";\nDxCustomRule.$_isCollectionItem = true;\nDxCustomRule.$_predefinedProps = {\n type: \"custom\"\n};\nvar DxEmailRule = index_2.createConfigurationComponent({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:ignoreEmptyValue\": null,\n \"update:message\": null,\n \"update:type\": null,\n },\n props: {\n ignoreEmptyValue: Boolean,\n message: String,\n type: String\n }\n});\nexports.DxEmailRule = DxEmailRule;\nDxEmailRule.$_optionName = \"validationRules\";\nDxEmailRule.$_isCollectionItem = true;\nDxEmailRule.$_predefinedProps = {\n type: \"email\"\n};\nvar DxNumericRule = index_2.createConfigurationComponent({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:ignoreEmptyValue\": null,\n \"update:message\": null,\n \"update:type\": null,\n },\n props: {\n ignoreEmptyValue: Boolean,\n message: String,\n type: String\n }\n});\nexports.DxNumericRule = DxNumericRule;\nDxNumericRule.$_optionName = \"validationRules\";\nDxNumericRule.$_isCollectionItem = true;\nDxNumericRule.$_predefinedProps = {\n type: \"numeric\"\n};\nvar DxPatternRule = index_2.createConfigurationComponent({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:ignoreEmptyValue\": null,\n \"update:message\": null,\n \"update:pattern\": null,\n \"update:type\": null,\n },\n props: {\n ignoreEmptyValue: Boolean,\n message: String,\n pattern: {},\n type: String\n }\n});\nexports.DxPatternRule = DxPatternRule;\nDxPatternRule.$_optionName = \"validationRules\";\nDxPatternRule.$_isCollectionItem = true;\nDxPatternRule.$_predefinedProps = {\n type: \"pattern\"\n};\nvar DxRangeRule = index_2.createConfigurationComponent({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:ignoreEmptyValue\": null,\n \"update:max\": null,\n \"update:message\": null,\n \"update:min\": null,\n \"update:reevaluate\": null,\n \"update:type\": null,\n },\n props: {\n ignoreEmptyValue: Boolean,\n max: {},\n message: String,\n min: {},\n reevaluate: Boolean,\n type: String\n }\n});\nexports.DxRangeRule = DxRangeRule;\nDxRangeRule.$_optionName = \"validationRules\";\nDxRangeRule.$_isCollectionItem = true;\nDxRangeRule.$_predefinedProps = {\n type: \"range\"\n};\nvar DxRequiredRule = index_2.createConfigurationComponent({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:message\": null,\n \"update:trim\": null,\n \"update:type\": null,\n },\n props: {\n message: String,\n trim: Boolean,\n type: String\n }\n});\nexports.DxRequiredRule = DxRequiredRule;\nDxRequiredRule.$_optionName = \"validationRules\";\nDxRequiredRule.$_isCollectionItem = true;\nDxRequiredRule.$_predefinedProps = {\n type: \"required\"\n};\nvar DxStringLengthRule = index_2.createConfigurationComponent({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:ignoreEmptyValue\": null,\n \"update:max\": null,\n \"update:message\": null,\n \"update:min\": null,\n \"update:trim\": null,\n \"update:type\": null,\n },\n props: {\n ignoreEmptyValue: Boolean,\n max: Number,\n message: String,\n min: Number,\n trim: Boolean,\n type: String\n }\n});\nexports.DxStringLengthRule = DxStringLengthRule;\nDxStringLengthRule.$_optionName = \"validationRules\";\nDxStringLengthRule.$_isCollectionItem = true;\nDxStringLengthRule.$_predefinedProps = {\n type: \"stringLength\"\n};\nvar DxValidationRule = index_2.createConfigurationComponent({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:comparisonTarget\": null,\n \"update:comparisonType\": null,\n \"update:ignoreEmptyValue\": null,\n \"update:max\": null,\n \"update:message\": null,\n \"update:min\": null,\n \"update:pattern\": null,\n \"update:reevaluate\": null,\n \"update:trim\": null,\n \"update:type\": null,\n \"update:validationCallback\": null,\n },\n props: {\n comparisonTarget: Function,\n comparisonType: String,\n ignoreEmptyValue: Boolean,\n max: {},\n message: String,\n min: {},\n pattern: {},\n reevaluate: Boolean,\n trim: Boolean,\n type: String,\n validationCallback: Function\n }\n});\nexports.DxValidationRule = DxValidationRule;\nDxValidationRule.$_optionName = \"validationRules\";\nDxValidationRule.$_isCollectionItem = true;\nDxValidationRule.$_predefinedProps = {\n type: \"required\"\n};\nexports.default = DxValidator;\n","/**\r\n * DevExtreme (core/component_registrator.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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(\"./renderer\"));\r\nvar _component_registrator_callbacks = _interopRequireDefault(require(\"./component_registrator_callbacks\"));\r\nvar _errors = _interopRequireDefault(require(\"./errors\"));\r\nvar _public_component = require(\"./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 registerComponent = function(name, namespace, componentClass) {\r\n if (!componentClass) {\r\n componentClass = namespace\r\n } else {\r\n namespace[name] = componentClass\r\n }(0, _public_component.name)(componentClass, name);\r\n _component_registrator_callbacks.default.fire(name, componentClass)\r\n};\r\nvar registerRendererComponent = function(name, componentClass) {\r\n _renderer.default.fn[name] = function(options) {\r\n var isMemberInvoke = \"string\" === typeof options;\r\n var result;\r\n if (isMemberInvoke) {\r\n var memberName = options;\r\n var memberArgs = [].slice.call(arguments).slice(1);\r\n this.each(function() {\r\n var instance = componentClass.getInstance(this);\r\n if (!instance) {\r\n throw _errors.default.Error(\"E0009\", name)\r\n }\r\n var member = instance[memberName];\r\n var memberValue = member.apply(instance, memberArgs);\r\n if (void 0 === result) {\r\n result = memberValue\r\n }\r\n })\r\n } else {\r\n this.each(function() {\r\n var instance = componentClass.getInstance(this);\r\n if (instance) {\r\n instance.option(options)\r\n } else {\r\n new componentClass(this, options)\r\n }\r\n });\r\n result = this\r\n }\r\n return result\r\n }\r\n};\r\n_component_registrator_callbacks.default.add(registerRendererComponent);\r\nvar _default = registerComponent;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = module.exports;\r\n","/**\r\n * DevExtreme (ui/widget/ui.errors.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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 _error = _interopRequireDefault(require(\"../../core/utils/error\"));\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 _default = (0, _error.default)(_errors.default.ERROR_MESSAGES, {\r\n E1001: \"Module '{0}'. Controller '{1}' is already registered\",\r\n E1002: \"Module '{0}'. Controller '{1}' does not inherit from DevExpress.ui.dxDataGrid.Controller\",\r\n E1003: \"Module '{0}'. View '{1}' is already registered\",\r\n E1004: \"Module '{0}'. View '{1}' does not inherit from DevExpress.ui.dxDataGrid.View\",\r\n E1005: \"Public method '{0}' is already registered\",\r\n E1006: \"Public method '{0}.{1}' does not exist\",\r\n E1007: \"State storing cannot be provided due to the restrictions of the browser\",\r\n E1010: \"The template does not contain the TextBox widget\",\r\n E1011: 'Items cannot be deleted from the List. Implement the \"remove\" function in the data store',\r\n E1012: \"Editing type '{0}' with the name '{1}' is unsupported\",\r\n E1016: \"Unexpected type of data source is provided for a lookup column\",\r\n E1018: \"The 'collapseAll' method cannot be called if you use a remote data source\",\r\n E1019: \"Search mode '{0}' is unavailable\",\r\n E1020: \"The type cannot be changed after initialization\",\r\n E1021: \"{0} '{1}' you are trying to remove does not exist\",\r\n E1022: 'The \"markers\" option is given an invalid value. Assign an array instead',\r\n E1023: 'The \"routes\" option is given an invalid value. Assign an array instead',\r\n E1025: \"This layout is too complex to render\",\r\n E1026: 'The \"calculateCustomSummary\" function is missing from a field whose \"summaryType\" option is set to \"custom\"',\r\n E1030: \"Unknown ScrollView refresh strategy: '{0}'\",\r\n E1031: \"Unknown subscription in the Scheduler widget: '{0}'\",\r\n E1032: \"Unknown start date in an appointment: '{0}'\",\r\n E1033: \"Unknown step in the date navigator: '{0}'\",\r\n E1034: \"The browser does not implement an API for saving files\",\r\n E1035: \"The editor cannot be created because of an internal error: {0}\",\r\n E1037: \"Invalid structure of grouped data\",\r\n E1038: \"The browser does not support local storages for local web pages\",\r\n E1039: \"A cell's position cannot be calculated\",\r\n E1040: \"The '{0}' key value is not unique within the data array\",\r\n E1041: \"The '{0}' script is referenced after the DevExtreme scripts or not referenced at all\",\r\n E1042: \"{0} requires the key field to be specified\",\r\n E1043: \"Changes cannot be processed due to the incorrectly set key\",\r\n E1044: \"The key field specified by the keyExpr option does not match the key field specified in the data store\",\r\n E1045: \"Editing requires the key field to be specified in the data store\",\r\n E1046: \"The '{0}' key field is not found in data objects\",\r\n E1047: 'The \"{0}\" field is not found in the fields array',\r\n E1048: 'The \"{0}\" operation is not found in the filterOperations array',\r\n E1049: \"Column '{0}': filtering is allowed but the 'dataField' or 'name' option is not specified\",\r\n E1050: \"The validationRules option does not apply to third-party editors defined in the editCellTemplate\",\r\n E1051: 'HtmlEditor\\'s valueType is \"{0}\", but the {0} converter was not imported.',\r\n E1052: '{0} should have the \"dataSource\" option specified',\r\n E1053: 'The \"buttons\" option accepts an array that contains only objects or string values',\r\n E1054: \"All text editor buttons must have names\",\r\n E1055: 'One or several text editor buttons have invalid or non-unique \"name\" values',\r\n E1056: 'The {0} widget does not support buttons of the \"{1}\" type',\r\n E1058: 'The \"startDayHour\" must be earlier than the \"endDayHour\"',\r\n E1059: \"The following column names are not unique: {0}\",\r\n E1060: \"All editable columns must have names\",\r\n W1001: 'The \"key\" option cannot be modified after initialization',\r\n W1002: \"An item with the key '{0}' does not exist\",\r\n W1003: \"A group with the key '{0}' in which you are trying to select items does not exist\",\r\n W1004: \"The item '{0}' you are trying to select in the group '{1}' does not exist\",\r\n W1005: \"Due to column data types being unspecified, data has been loaded twice in order to apply initial filter settings. To resolve this issue, specify data types for all grid columns.\",\r\n W1006: \"The map service returned the following error: '{0}'\",\r\n W1007: \"No item with key {0} was found in the data source, but this key was used as the parent key for item {1}\",\r\n W1008: \"Cannot scroll to the '{0}' date because it does not exist on the current view\",\r\n W1009: \"Searching works only if data is specified using the dataSource option\",\r\n W1010: \"The capability to select all items works with source data of plain structure only\",\r\n W1011: 'The \"keyExpr\" option is not applied when dataSource is not an array',\r\n W1012: \"The '{0}' key field is not found in data objects\",\r\n W1013: 'The \"message\" field in the dialog component was renamed to \"messageHtml\". Change your code correspondingly. In addition, if you used HTML code in the message, make sure that it is secure',\r\n W1014: \"The Floating Action Button exceeds the recommended speed dial action count. If you need to display more speed dial actions, increase the maxSpeedDialActionCount option value in the global config.\",\r\n W1015: 'The \"cellDuration\" should divide the range from the \"startDayHour\" to the \"endDayHour\" into even intervals'\r\n});\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (ui/text_box/ui.text_editor.mask.strategy.default.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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 _uiText_editorMaskStrategy = _interopRequireDefault(require(\"./ui.text_editor.mask.strategy.base\"));\r\nvar _index = require(\"../../events/utils/index\");\r\nvar _promise = _interopRequireDefault(require(\"../../core/polyfills/promise\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\n\r\nfunction _toConsumableArray(arr) {\r\n 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 && Symbol.iterator in Object(iter)) {\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\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 BACKSPACE_INPUT_TYPE = \"deleteContentBackward\";\r\nvar EMPTY_CHAR = \" \";\r\nvar DefaultMaskStrategy = function(_BaseMaskStrategy) {\r\n _inheritsLoose(DefaultMaskStrategy, _BaseMaskStrategy);\r\n\r\n function DefaultMaskStrategy() {\r\n return _BaseMaskStrategy.apply(this, arguments) || this\r\n }\r\n var _proto = DefaultMaskStrategy.prototype;\r\n _proto._getStrategyName = function() {\r\n return \"default\"\r\n };\r\n _proto.getHandleEventNames = function() {\r\n return [].concat(_toConsumableArray(_BaseMaskStrategy.prototype.getHandleEventNames.call(this)), [\"keyPress\"])\r\n };\r\n _proto._keyPressHandler = function(event) {\r\n if (this._keyPressHandled) {\r\n return\r\n }\r\n this._keyPressHandled = true;\r\n if (this.editor._isControlKeyFired(event)) {\r\n return\r\n }\r\n var editor = this.editor;\r\n editor._maskKeyHandler(event, function() {\r\n return editor._handleKey((0, _index.getChar)(event))\r\n })\r\n };\r\n _proto._inputHandler = function(event) {\r\n if (this._backspaceInputHandled(event.originalEvent && event.originalEvent.inputType)) {\r\n this._handleBackspaceInput(event)\r\n }\r\n if (event.originalEvent) {\r\n this._autoFillHandler(event)\r\n }\r\n if (this._keyPressHandled) {\r\n return\r\n }\r\n this._keyPressHandled = true;\r\n var inputValue = this.editorInput().val();\r\n var caret = this.editorCaret();\r\n if (!caret.end) {\r\n return\r\n }\r\n caret.start = caret.end - 1;\r\n var oldValue = inputValue.substring(0, caret.start) + inputValue.substring(caret.end);\r\n var char = inputValue[caret.start];\r\n var editor = this.editor;\r\n this.editorInput().val(oldValue);\r\n editor._caret({\r\n start: caret.start,\r\n end: caret.start\r\n });\r\n editor._maskKeyHandler(event, function() {\r\n return editor._handleKey(char)\r\n })\r\n };\r\n _proto._backspaceHandler = function(event) {\r\n var _this = this;\r\n var editor = this.editor;\r\n this._keyPressHandled = true;\r\n var afterBackspaceHandler = function(needAdjustCaret, callBack) {\r\n if (needAdjustCaret) {\r\n editor._direction(_this.DIRECTION.FORWARD);\r\n editor._adjustCaret()\r\n }\r\n var currentCaret = _this.editorCaret();\r\n return new _promise.default(function(resolve) {\r\n clearTimeout(_this._backspaceHandlerTimeout);\r\n _this._backspaceHandlerTimeout = setTimeout(function() {\r\n callBack(currentCaret);\r\n resolve()\r\n })\r\n })\r\n };\r\n editor._maskKeyHandler(event, function() {\r\n if (editor._hasSelection()) {\r\n return afterBackspaceHandler(true, function(currentCaret) {\r\n editor._displayMask(currentCaret);\r\n editor._maskRulesChain.reset()\r\n })\r\n }\r\n if (editor._tryMoveCaretBackward()) {\r\n return afterBackspaceHandler(false, function(currentCaret) {\r\n _this.editorCaret(currentCaret)\r\n })\r\n }\r\n editor._handleKey(EMPTY_CHAR, _this.DIRECTION.BACKWARD);\r\n return afterBackspaceHandler(true, function(currentCaret) {\r\n editor._displayMask(currentCaret);\r\n editor._maskRulesChain.reset()\r\n })\r\n })\r\n };\r\n _proto._backspaceInputHandled = function(inputType) {\r\n return inputType === BACKSPACE_INPUT_TYPE && !this._keyPressHandled\r\n };\r\n _proto._handleBackspaceInput = function(event) {\r\n var _this$editorCaret = this.editorCaret(),\r\n start = _this$editorCaret.start,\r\n end = _this$editorCaret.end;\r\n this.editorCaret({\r\n start: start + 1,\r\n end: end + 1\r\n });\r\n this._backspaceHandler(event)\r\n };\r\n return DefaultMaskStrategy\r\n}(_uiText_editorMaskStrategy.default);\r\nvar _default = DefaultMaskStrategy;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/*!\n * devextreme-vue\n * Version: 20.2.6\n * Build date: Tue Mar 16 2021\n *\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-vue\n */\n\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.initDxExtensionComponent = void 0;\nvar vue_1 = require(\"vue\");\nvar component_1 = require(\"./component\");\nvar vue_helper_1 = require(\"./vue-helper\");\nfunction initDxExtensionComponent() {\n return vue_1.defineComponent({\n extends: component_1.initBaseComponent(),\n created: function () {\n var nodeOptions = vue_helper_1.getNodeOptions(this);\n nodeOptions.$_isExtension = true;\n nodeOptions.$_attachTo = this.attachTo.bind(this);\n },\n mounted: function () {\n this.$el.setAttribute(\"isExtension\", \"true\");\n var componentOptions = vue_helper_1.getNodeOptions(this);\n if (componentOptions && componentOptions.$_hasOwner) {\n return;\n }\n this.attachTo(this.$el);\n },\n methods: {\n attachTo: function (element) {\n this.$_createWidget(element);\n }\n }\n });\n}\nexports.initDxExtensionComponent = initDxExtensionComponent;\n","/*!\n * devextreme-vue\n * Version: 20.2.6\n * Build date: Tue Mar 16 2021\n *\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-vue\n */\n\n\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.pullAllChildren = exports.isFragment = void 0;\nvar vue_helper_1 = require(\"./vue-helper\");\nfunction pullAllChildren(directChildren, allChildren, config) {\n if (!directChildren || directChildren.length === 0) {\n return;\n }\n pullConfigComponents(directChildren, allChildren, config);\n}\nexports.pullAllChildren = pullAllChildren;\nfunction isFragment(node) {\n return node.patchFlag === 128 /* KEYED_FRAGMENT */;\n}\nexports.isFragment = isFragment;\nfunction pullConfigComponents(children, nodes, ownerConfig) {\n children.forEach(function (node) {\n if (isFragment(node) && Array.isArray(node.children)) {\n pullConfigComponents(node.children, nodes, ownerConfig);\n }\n if (!isFragment(node)) {\n nodes.push(node);\n }\n if (!node) {\n return;\n }\n var componentInfo = vue_helper_1.getComponentInfo(node);\n if (!componentInfo || !componentInfo.$_optionName) {\n return;\n }\n var componentChildren = vue_helper_1.configurationChildren(node);\n var initialValues = __assign(__assign({}, componentInfo.$_predefinedProps), vue_helper_1.getNormalizedProps(node.props || {}));\n var config = ownerConfig.createNested(componentInfo.$_optionName, initialValues, componentInfo.$_isCollectionItem, componentInfo.$_expectedChildren);\n node.$_config = config;\n node.$_innerChanges = {};\n if (componentChildren) {\n pullConfigComponents(componentChildren, nodes, config);\n }\n });\n}\n","/**\r\n * DevExtreme (events/visibility_change.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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.triggerResizeEvent = exports.triggerHidingEvent = exports.triggerShownEvent = 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 (core/renderer.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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_base = _interopRequireDefault(require(\"./renderer_base\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar _default = _renderer_base.default.get();\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (events/core/event_registrator.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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/utils/index.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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.isCommandKeyPressed = exports.addNamespace = exports.getChar = exports.normalizeKeyName = exports.fireEvent = exports.createEvent = exports.setEventFixMethod = exports.needSkipEvent = exports.stopEventsSkipping = exports.forceSkipEvents = exports.hasTouches = exports.eventDelta = exports.eventData = exports.isFakeClickEvent = exports.isKeyboardEvent = exports.isTouchEvent = exports.isDxMouseWheelEvent = exports.isMouseEvent = exports.isPointerEvent = exports.eventSource = 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 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\")) {\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 (ui/check_box.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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 _extend = require(\"../core/utils/extend\");\r\nvar _utils = require(\"./widget/utils.ink_ripple\");\r\nvar _editor = _interopRequireDefault(require(\"./editor/editor\"));\r\nvar _component_registrator = _interopRequireDefault(require(\"../core/component_registrator\"));\r\nvar _index = require(\"../events/utils/index\");\r\nvar _click = require(\"../events/click\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar CHECKBOX_CLASS = \"dx-checkbox\";\r\nvar CHECKBOX_ICON_CLASS = \"dx-checkbox-icon\";\r\nvar CHECKBOX_CHECKED_CLASS = \"dx-checkbox-checked\";\r\nvar CHECKBOX_CONTAINER_CLASS = \"dx-checkbox-container\";\r\nvar CHECKBOX_TEXT_CLASS = \"dx-checkbox-text\";\r\nvar CHECKBOX_HAS_TEXT_CLASS = \"dx-checkbox-has-text\";\r\nvar CHECKBOX_INDETERMINATE_CLASS = \"dx-checkbox-indeterminate\";\r\nvar CHECKBOX_FEEDBACK_HIDE_TIMEOUT = 100;\r\nvar CheckBox = _editor.default.inherit({\r\n _supportedKeys: function() {\r\n var click = function(e) {\r\n e.preventDefault();\r\n this._clickAction({\r\n event: e\r\n })\r\n };\r\n return (0, _extend.extend)(this.callBase(), {\r\n space: click\r\n })\r\n },\r\n _getDefaultOptions: function() {\r\n return (0, _extend.extend)(this.callBase(), {\r\n hoverStateEnabled: true,\r\n activeStateEnabled: true,\r\n value: false,\r\n text: \"\",\r\n useInkRipple: false\r\n })\r\n },\r\n _defaultOptionsRules: function() {\r\n return this.callBase().concat([{\r\n device: function() {\r\n return \"desktop\" === _devices.default.real().deviceType && !_devices.default.isSimulator()\r\n },\r\n options: {\r\n focusStateEnabled: true\r\n }\r\n }])\r\n },\r\n _canValueBeChangedByClick: function() {\r\n return true\r\n },\r\n _feedbackHideTimeout: CHECKBOX_FEEDBACK_HIDE_TIMEOUT,\r\n _initMarkup: function() {\r\n this._renderSubmitElement();\r\n this._$container = (0, _renderer.default)(\"
\").addClass(CHECKBOX_CONTAINER_CLASS);\r\n this.setAria(\"role\", \"checkbox\");\r\n this.$element().addClass(CHECKBOX_CLASS);\r\n this._renderValue();\r\n this._renderIcon();\r\n this._renderText();\r\n this.option(\"useInkRipple\") && this._renderInkRipple();\r\n this.$element().append(this._$container);\r\n this.callBase()\r\n },\r\n _render: function() {\r\n this._renderClick();\r\n this.callBase()\r\n },\r\n _renderSubmitElement: function() {\r\n this._$submitElement = (0, _renderer.default)(\"\").attr(\"type\", \"hidden\").appendTo(this.$element())\r\n },\r\n _getSubmitElement: function() {\r\n return this._$submitElement\r\n },\r\n _renderInkRipple: function() {\r\n this._inkRipple = (0, _utils.render)({\r\n waveSizeCoefficient: 2.5,\r\n useHoldAnimation: false,\r\n wavesNumber: 2,\r\n isCentered: true\r\n })\r\n },\r\n _renderInkWave: function(element, dxEvent, doRender, waveIndex) {\r\n if (!this._inkRipple) {\r\n return\r\n }\r\n var config = {\r\n element: element,\r\n event: dxEvent,\r\n wave: waveIndex\r\n };\r\n if (doRender) {\r\n this._inkRipple.showWave(config)\r\n } else {\r\n this._inkRipple.hideWave(config)\r\n }\r\n },\r\n _updateFocusState: function(e, value) {\r\n this.callBase.apply(this, arguments);\r\n this._renderInkWave(this._$icon, e, value, 0)\r\n },\r\n _toggleActiveState: function($element, value, e) {\r\n this.callBase.apply(this, arguments);\r\n this._renderInkWave(this._$icon, e, value, 1)\r\n },\r\n _renderIcon: function() {\r\n this._$icon = (0, _renderer.default)(\"\").addClass(CHECKBOX_ICON_CLASS).prependTo(this._$container)\r\n },\r\n _renderText: function() {\r\n var textValue = this.option(\"text\");\r\n if (!textValue) {\r\n if (this._$text) {\r\n this._$text.remove();\r\n this.$element().removeClass(CHECKBOX_HAS_TEXT_CLASS)\r\n }\r\n return\r\n }\r\n if (!this._$text) {\r\n this._$text = (0, _renderer.default)(\"\").addClass(CHECKBOX_TEXT_CLASS)\r\n }\r\n this._$text.text(textValue);\r\n this._$container.append(this._$text);\r\n this.$element().addClass(CHECKBOX_HAS_TEXT_CLASS)\r\n },\r\n _renderClick: function() {\r\n var that = this;\r\n var eventName = (0, _index.addNamespace)(_click.name, that.NAME);\r\n that._clickAction = that._createAction(that._clickHandler);\r\n _events_engine.default.off(that.$element(), eventName);\r\n _events_engine.default.on(that.$element(), eventName, function(e) {\r\n that._clickAction({\r\n event: e\r\n })\r\n })\r\n },\r\n _clickHandler: function(args) {\r\n var that = args.component;\r\n that._saveValueChangeEvent(args.event);\r\n that.option(\"value\", !that.option(\"value\"))\r\n },\r\n _renderValue: function() {\r\n var $element = this.$element();\r\n var checked = this.option(\"value\");\r\n var indeterminate = void 0 === checked;\r\n $element.toggleClass(CHECKBOX_CHECKED_CLASS, Boolean(checked));\r\n $element.toggleClass(CHECKBOX_INDETERMINATE_CLASS, indeterminate);\r\n this._getSubmitElement().val(checked);\r\n this.setAria(\"checked\", indeterminate ? \"mixed\" : checked || \"false\")\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"useInkRipple\":\r\n this._invalidate();\r\n break;\r\n case \"value\":\r\n this._renderValue();\r\n this.callBase(args);\r\n break;\r\n case \"text\":\r\n this._renderText();\r\n this._renderDimensions();\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _clean: function() {\r\n delete this._inkRipple;\r\n this.callBase()\r\n }\r\n});\r\n(0, _component_registrator.default)(\"dxCheckBox\", CheckBox);\r\nvar _default = CheckBox;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = module.exports;\r\n","/**\r\n * DevExtreme (core/utils/error.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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 _extend = require(\"./extend\");\r\nvar _console = require(\"./console\");\r\nvar _string = require(\"./string\");\r\nvar _version = _interopRequireDefault(require(\"../version\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar ERROR_URL = \"http://js.devexpress.com/error/\" + _version.default.split(\".\").slice(0, 2).join(\"_\") + \"/\";\r\n\r\nfunction _default(baseErrors, errors) {\r\n var exports = {\r\n ERROR_MESSAGES: (0, _extend.extend)(errors, baseErrors),\r\n Error: function() {\r\n return makeError([].slice.call(arguments))\r\n },\r\n log: function(id) {\r\n var method = \"log\";\r\n if (/^E\\d+$/.test(id)) {\r\n method = \"error\"\r\n } else {\r\n if (/^W\\d+$/.test(id)) {\r\n method = \"warn\"\r\n }\r\n }\r\n _console.logger[method](\"log\" === method ? id : combineMessage([].slice.call(arguments)))\r\n }\r\n };\r\n\r\n function combineMessage(args) {\r\n var id = args[0];\r\n args = args.slice(1);\r\n return formatMessage(id, formatDetails(id, args))\r\n }\r\n\r\n function formatDetails(id, args) {\r\n args = [exports.ERROR_MESSAGES[id]].concat(args);\r\n return _string.format.apply(this, args).replace(/\\.*\\s*?$/, \"\")\r\n }\r\n\r\n function formatMessage(id, details) {\r\n return _string.format.apply(this, [\"{0} - {1}. See:\\n{2}\", id, details, getErrorUrl(id)])\r\n }\r\n\r\n function makeError(args) {\r\n var id = args[0];\r\n args = args.slice(1);\r\n var details = formatDetails(id, args);\r\n var url = getErrorUrl(id);\r\n var message = formatMessage(id, details);\r\n return (0, _extend.extend)(new Error(message), {\r\n __id: id,\r\n __details: details,\r\n url: url\r\n })\r\n }\r\n\r\n function getErrorUrl(id) {\r\n return ERROR_URL + id\r\n }\r\n return exports\r\n}\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (events/utils/add_namespace.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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","/*!\n * devextreme-vue\n * Version: 20.2.6\n * Build date: Tue Mar 16 2021\n *\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-vue\n */\n\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createExtensionComponent = exports.createConfigurationComponent = exports.createComponent = void 0;\nvar vue2Stategy = require(\"./strategy/vue2/index\");\nvar vue3Stategy = require(\"./strategy/vue3/index\");\nvar version_1 = require(\"./version\");\nvar strategy = version_1.isVue3() ? vue3Stategy : vue2Stategy;\nexports.createComponent = strategy.createComponent;\nexports.createConfigurationComponent = strategy.createConfigurationComponent;\nexports.createExtensionComponent = strategy.createExtensionComponent;\n","/**\r\n * DevExtreme (core/utils/common.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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.equalByValue = exports.grep = exports.asyncNoop = exports.noop = exports.applyServerDecimalSeparator = exports.escapeRegExp = exports.getKeyHash = exports.pairToObject = exports.denormalizeKey = exports.normalizeKey = exports.splitPair = exports.findBestMatches = exports.deferUpdater = exports.deferRenderer = exports.deferUpdate = exports.deferRender = exports.executeAsync = exports.ensureDefined = void 0;\r\nvar _config = _interopRequireDefault(require(\"../config\"));\r\nvar _guid = _interopRequireDefault(require(\"../guid\"));\r\nvar _deferred = require(\"../utils/deferred\");\r\nvar _data = require(\"./data\");\r\nvar _iterator = require(\"./iterator\");\r\nvar _type = require(\"./type\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar ensureDefined = function(value, defaultValue) {\r\n return (0, _type.isDefined)(value) ? value : defaultValue\r\n};\r\nexports.ensureDefined = ensureDefined;\r\nvar executeAsync = function(action, context) {\r\n var deferred = new _deferred.Deferred;\r\n var normalizedContext = context || this;\r\n var task = {\r\n promise: deferred.promise(),\r\n abort: function() {\r\n clearTimeout(timerId);\r\n deferred.rejectWith(normalizedContext)\r\n }\r\n };\r\n var callback = function() {\r\n var result = action.call(normalizedContext);\r\n if (result && result.done && (0, _type.isFunction)(result.done)) {\r\n result.done(function() {\r\n deferred.resolveWith(normalizedContext)\r\n })\r\n } else {\r\n deferred.resolveWith(normalizedContext)\r\n }\r\n };\r\n var timerId = (arguments[2] || setTimeout)(callback, \"number\" === typeof context ? context : 0);\r\n return task\r\n};\r\nexports.executeAsync = executeAsync;\r\nvar delayedFuncs = [];\r\nvar delayedNames = [];\r\nvar delayedDeferreds = [];\r\nvar executingName;\r\nvar deferExecute = function(name, func, deferred) {\r\n if (executingName && executingName !== name) {\r\n delayedFuncs.push(func);\r\n delayedNames.push(name);\r\n deferred = deferred || new _deferred.Deferred;\r\n delayedDeferreds.push(deferred);\r\n return deferred\r\n } else {\r\n var oldExecutingName = executingName;\r\n var currentDelayedCount = delayedDeferreds.length;\r\n executingName = name;\r\n var result = func();\r\n if (!result) {\r\n if (delayedDeferreds.length > currentDelayedCount) {\r\n result = _deferred.when.apply(this, delayedDeferreds.slice(currentDelayedCount))\r\n } else {\r\n if (deferred) {\r\n deferred.resolve()\r\n }\r\n }\r\n }\r\n executingName = oldExecutingName;\r\n if (deferred && result && result.done) {\r\n result.done(deferred.resolve).fail(deferred.reject)\r\n }\r\n if (!executingName && delayedFuncs.length) {\r\n (\"render\" === delayedNames.shift() ? deferRender : deferUpdate)(delayedFuncs.shift(), delayedDeferreds.shift())\r\n }\r\n return result || (0, _deferred.when)()\r\n }\r\n};\r\nvar deferRender = function(func, deferred) {\r\n return deferExecute(\"render\", func, deferred)\r\n};\r\nexports.deferRender = deferRender;\r\nvar deferUpdate = function(func, deferred) {\r\n return deferExecute(\"update\", func, deferred)\r\n};\r\nexports.deferUpdate = deferUpdate;\r\nvar deferRenderer = function(func) {\r\n return function() {\r\n var that = this;\r\n return deferExecute(\"render\", function() {\r\n return func.call(that)\r\n })\r\n }\r\n};\r\nexports.deferRenderer = deferRenderer;\r\nvar deferUpdater = function(func) {\r\n return function() {\r\n var that = this;\r\n return deferExecute(\"update\", function() {\r\n return func.call(that)\r\n })\r\n }\r\n};\r\nexports.deferUpdater = deferUpdater;\r\nvar findBestMatches = function(targetFilter, items, mapFn) {\r\n var bestMatches = [];\r\n var maxMatchCount = 0;\r\n (0, _iterator.each)(items, function(index, itemSrc) {\r\n var matchCount = 0;\r\n var item = mapFn ? mapFn(itemSrc) : itemSrc;\r\n (0, _iterator.each)(targetFilter, function(paramName, targetValue) {\r\n var value = item[paramName];\r\n if (void 0 === value) {\r\n return\r\n }\r\n if (match(value, targetValue)) {\r\n matchCount++;\r\n return\r\n }\r\n matchCount = -1;\r\n return false\r\n });\r\n if (matchCount < maxMatchCount) {\r\n return\r\n }\r\n if (matchCount > maxMatchCount) {\r\n bestMatches.length = 0;\r\n maxMatchCount = matchCount\r\n }\r\n bestMatches.push(itemSrc)\r\n });\r\n return bestMatches\r\n};\r\nexports.findBestMatches = findBestMatches;\r\nvar match = function(value, targetValue) {\r\n if (Array.isArray(value) && Array.isArray(targetValue)) {\r\n var mismatch = false;\r\n (0, _iterator.each)(value, function(index, valueItem) {\r\n if (valueItem !== targetValue[index]) {\r\n mismatch = true;\r\n return false\r\n }\r\n });\r\n if (mismatch) {\r\n return false\r\n }\r\n return true\r\n }\r\n if (value === targetValue) {\r\n return true\r\n }\r\n return false\r\n};\r\nvar splitPair = function(raw) {\r\n var _raw$x, _raw$y;\r\n switch ((0, _type.type)(raw)) {\r\n case \"string\":\r\n return raw.split(/\\s+/, 2);\r\n case \"object\":\r\n return [null !== (_raw$x = raw.x) && void 0 !== _raw$x ? _raw$x : raw.h, null !== (_raw$y = raw.y) && void 0 !== _raw$y ? _raw$y : raw.v];\r\n case \"number\":\r\n return [raw];\r\n case \"array\":\r\n return raw;\r\n default:\r\n return null\r\n }\r\n};\r\nexports.splitPair = splitPair;\r\nvar normalizeKey = function(id) {\r\n var key = (0, _type.isString)(id) ? id : id.toString();\r\n var arr = key.match(/[^a-zA-Z0-9_]/g);\r\n arr && (0, _iterator.each)(arr, function(_, sign) {\r\n key = key.replace(sign, \"__\" + sign.charCodeAt() + \"__\")\r\n });\r\n return key\r\n};\r\nexports.normalizeKey = normalizeKey;\r\nvar denormalizeKey = function(key) {\r\n var arr = key.match(/__\\d+__/g);\r\n arr && arr.forEach(function(char) {\r\n var charCode = parseInt(char.replace(\"__\", \"\"));\r\n key = key.replace(char, String.fromCharCode(charCode))\r\n });\r\n return key\r\n};\r\nexports.denormalizeKey = denormalizeKey;\r\nvar pairToObject = function(raw, preventRound) {\r\n var pair = splitPair(raw);\r\n var h = preventRound ? parseFloat(pair && pair[0]) : parseInt(pair && pair[0], 10);\r\n var v = preventRound ? parseFloat(pair && pair[1]) : parseInt(pair && pair[1], 10);\r\n if (!isFinite(h)) {\r\n h = 0\r\n }\r\n if (!isFinite(v)) {\r\n v = h\r\n }\r\n return {\r\n h: h,\r\n v: v\r\n }\r\n};\r\nexports.pairToObject = pairToObject;\r\nvar getKeyHash = function(key) {\r\n if (key instanceof _guid.default) {\r\n return key.toString()\r\n } else {\r\n if ((0, _type.isObject)(key) || Array.isArray(key)) {\r\n try {\r\n var keyHash = JSON.stringify(key);\r\n return \"{}\" === keyHash ? key : keyHash\r\n } catch (e) {\r\n return key\r\n }\r\n }\r\n }\r\n return key\r\n};\r\nexports.getKeyHash = getKeyHash;\r\nvar escapeRegExp = function(string) {\r\n return string.replace(/[[\\]{}\\-()*+?.\\\\^$|\\s]/g, \"\\\\$&\")\r\n};\r\nexports.escapeRegExp = escapeRegExp;\r\nvar applyServerDecimalSeparator = function(value) {\r\n var separator = (0, _config.default)().serverDecimalSeparator;\r\n if ((0, _type.isDefined)(value)) {\r\n value = value.toString().replace(\".\", separator)\r\n }\r\n return value\r\n};\r\nexports.applyServerDecimalSeparator = applyServerDecimalSeparator;\r\nvar noop = function() {};\r\nexports.noop = noop;\r\nvar asyncNoop = function() {\r\n return (new _deferred.Deferred).resolve().promise()\r\n};\r\nexports.asyncNoop = asyncNoop;\r\nvar grep = function(elements, checkFunction, invert) {\r\n var result = [];\r\n var check;\r\n var expectedCheck = !invert;\r\n for (var i = 0; i < elements.length; i++) {\r\n check = !!checkFunction(elements[i], i);\r\n if (check === expectedCheck) {\r\n result.push(elements[i])\r\n }\r\n }\r\n return result\r\n};\r\nexports.grep = grep;\r\nvar arraysEqualByValue = function(array1, array2, depth) {\r\n if (array1.length !== array2.length) {\r\n return false\r\n }\r\n for (var i = 0; i < array1.length; i++) {\r\n if (!equalByValue(array1[i], array2[i], depth + 1)) {\r\n return false\r\n }\r\n }\r\n return true\r\n};\r\nvar objectsEqualByValue = function(object1, object2, depth, strict) {\r\n for (var propertyName in object1) {\r\n if (Object.prototype.hasOwnProperty.call(object1, propertyName) && !equalByValue(object1[propertyName], object2[propertyName], depth + 1, strict)) {\r\n return false\r\n }\r\n }\r\n for (var _propertyName in object2) {\r\n if (!(_propertyName in object1)) {\r\n return false\r\n }\r\n }\r\n return true\r\n};\r\nvar maxEqualityDepth = 3;\r\nvar equalByValue = function(object1, object2) {\r\n var depth = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : 0;\r\n var strict = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : true;\r\n object1 = (0, _data.toComparable)(object1, true);\r\n object2 = (0, _data.toComparable)(object2, true);\r\n var comparisonResult = strict ? object1 === object2 : object1 == object2;\r\n if (comparisonResult || depth >= maxEqualityDepth) {\r\n return true\r\n }\r\n if ((0, _type.isObject)(object1) && (0, _type.isObject)(object2)) {\r\n return objectsEqualByValue(object1, object2, depth, strict)\r\n } else {\r\n if (Array.isArray(object1) && Array.isArray(object2)) {\r\n return arraysEqualByValue(object1, object2, depth)\r\n }\r\n }\r\n return false\r\n};\r\nexports.equalByValue = equalByValue;\r\n","/**\r\n * DevExtreme (events/core/hook_touch_props.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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/drag.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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 if (\"function\" === typeof Symbol && \"symbol\" === typeof Symbol.iterator) {\r\n _typeof = function(obj) {\r\n return typeof obj\r\n }\r\n } else {\r\n _typeof = function(obj) {\r\n return obj && \"function\" === typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }\r\n }\r\n return _typeof(obj)\r\n}\r\nexports.drop = exports.leave = exports.enter = exports.end = exports.start = exports.move = 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() {\r\n if (\"function\" !== typeof WeakMap) {\r\n return null\r\n }\r\n var cache = new WeakMap;\r\n _getRequireWildcardCache = function() {\r\n return cache\r\n };\r\n return cache\r\n}\r\n\r\nfunction _interopRequireWildcard(obj) {\r\n if (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();\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 (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","/*!\n * devextreme-vue\n * Version: 20.2.6\n * Build date: Tue Mar 16 2021\n *\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-vue\n */\n\n\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getOption = void 0;\nvar config = {\n deepWatch: false\n};\nfunction setOptions(options) {\n config = __assign(__assign({}, config), options);\n}\nfunction getOption(optionName) {\n return config[optionName];\n}\nexports.getOption = getOption;\nexports.default = setOptions;\n","/**\r\n * DevExtreme (localization/intl/number.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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 _config = _interopRequireDefault(require(\"../../core/config\"));\r\nvar _core = _interopRequireDefault(require(\"../core\"));\r\nvar _open_xml_currency_format = _interopRequireDefault(require(\"../open_xml_currency_format\"));\r\nvar _accounting_formats = _interopRequireDefault(require(\"../cldr-data/accounting_formats\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar detectCurrencySymbolRegex = /([^\\s0]+)?(\\s*)0*[.,]*0*(\\s*)([^\\s0]+)?/;\r\nvar formattersCache = {};\r\nvar getFormatter = function(format) {\r\n var key = _core.default.locale() + \"/\" + JSON.stringify(format);\r\n if (!formattersCache[key]) {\r\n formattersCache[key] = new Intl.NumberFormat(_core.default.locale(), format).format\r\n }\r\n return formattersCache[key]\r\n};\r\nvar getCurrencyFormatter = function(currency) {\r\n return new Intl.NumberFormat(_core.default.locale(), {\r\n style: \"currency\",\r\n currency: currency\r\n })\r\n};\r\nvar _default = {\r\n engine: function() {\r\n return \"intl\"\r\n },\r\n _formatNumberCore: function(value, format, formatConfig) {\r\n if (\"exponential\" === format) {\r\n return this.callBase.apply(this, arguments)\r\n }\r\n return getFormatter(this._normalizeFormatConfig(format, formatConfig, value))(value)\r\n },\r\n _normalizeFormatConfig: function(format, formatConfig, value) {\r\n var config;\r\n if (\"decimal\" === format) {\r\n config = {\r\n minimumIntegerDigits: formatConfig.precision || void 0,\r\n useGrouping: false,\r\n maximumFractionDigits: String(value).length,\r\n round: value < 0 ? \"ceil\" : \"floor\"\r\n }\r\n } else {\r\n config = this._getPrecisionConfig(formatConfig.precision)\r\n }\r\n if (\"percent\" === format) {\r\n config.style = \"percent\"\r\n } else {\r\n if (\"currency\" === format) {\r\n config.style = \"currency\";\r\n config.currency = formatConfig.currency || (0, _config.default)().defaultCurrency\r\n }\r\n }\r\n return config\r\n },\r\n _getPrecisionConfig: function(precision) {\r\n var config;\r\n if (null === precision) {\r\n config = {\r\n minimumFractionDigits: 0,\r\n maximumFractionDigits: 20\r\n }\r\n } else {\r\n config = {\r\n minimumFractionDigits: precision || 0,\r\n maximumFractionDigits: precision || 0\r\n }\r\n }\r\n return config\r\n },\r\n format: function(value, _format) {\r\n if (\"number\" !== typeof value) {\r\n return value\r\n }\r\n _format = this._normalizeFormat(_format);\r\n if (\"default\" === _format.currency) {\r\n _format.currency = (0, _config.default)().defaultCurrency\r\n }\r\n if (!_format || \"function\" !== typeof _format && !_format.type && !_format.formatter) {\r\n return getFormatter(_format)(value)\r\n }\r\n return this.callBase.apply(this, arguments)\r\n },\r\n _getCurrencySymbolInfo: function(currency) {\r\n var formatter = getCurrencyFormatter(currency);\r\n return this._extractCurrencySymbolInfo(formatter.format(0))\r\n },\r\n _extractCurrencySymbolInfo: function(currencyValueString) {\r\n var match = detectCurrencySymbolRegex.exec(currencyValueString) || [];\r\n var position = match[1] ? \"before\" : \"after\";\r\n var symbol = match[1] || match[4] || \"\";\r\n var delimiter = match[2] || match[3] || \"\";\r\n return {\r\n position: position,\r\n symbol: symbol,\r\n delimiter: delimiter\r\n }\r\n },\r\n getCurrencySymbol: function(currency) {\r\n if (!currency) {\r\n currency = (0, _config.default)().defaultCurrency\r\n }\r\n var symbolInfo = this._getCurrencySymbolInfo(currency);\r\n return {\r\n symbol: symbolInfo.symbol\r\n }\r\n },\r\n getOpenXmlCurrencyFormat: function(currency) {\r\n var targetCurrency = currency || (0, _config.default)().defaultCurrency;\r\n var currencySymbol = this._getCurrencySymbolInfo(targetCurrency).symbol;\r\n var closestAccountingFormat = _core.default.getValueByClosestLocale(function(locale) {\r\n return _accounting_formats.default[locale]\r\n });\r\n return (0, _open_xml_currency_format.default)(currencySymbol, closestAccountingFormat)\r\n }\r\n};\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (ui/editor/editor.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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 _element_data = require(\"../../core/element_data\");\r\nvar _callbacks = _interopRequireDefault(require(\"../../core/utils/callbacks\"));\r\nvar _window = require(\"../../core/utils/window\");\r\nvar _index = require(\"../../events/utils/index\");\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _ui = _interopRequireDefault(require(\"../widget/ui.widget\"));\r\nvar _validation_engine = _interopRequireDefault(require(\"../validation_engine\"));\r\nvar _events_engine = _interopRequireDefault(require(\"../../events/core/events_engine\"));\r\nvar _validation_message = _interopRequireDefault(require(\"../validation_message\"));\r\nvar _guid = _interopRequireDefault(require(\"../../core/guid\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar INVALID_MESSAGE_AUTO = \"dx-invalid-message-auto\";\r\nvar READONLY_STATE_CLASS = \"dx-state-readonly\";\r\nvar INVALID_CLASS = \"dx-invalid\";\r\nvar DX_INVALID_BADGE_CLASS = \"dx-show-invalid-badge\";\r\nvar VALIDATION_TARGET = \"dx-validation-target\";\r\nvar VALIDATION_STATUS_VALID = \"valid\";\r\nvar VALIDATION_STATUS_INVALID = \"invalid\";\r\nvar READONLY_NAMESPACE = \"editorReadOnly\";\r\nvar VALIDATION_MESSAGE_KEYS_MAP = {\r\n validationMessageMode: \"mode\",\r\n validationMessageOffset: \"offset\",\r\n validationBoundary: \"boundary\"\r\n};\r\nvar Editor = _ui.default.inherit({\r\n ctor: function() {\r\n this.showValidationMessageTimeout = null;\r\n this.validationRequest = (0, _callbacks.default)();\r\n this.callBase.apply(this, arguments)\r\n },\r\n _createElement: function(element) {\r\n this.callBase(element);\r\n var $element = this.$element();\r\n if ($element) {\r\n (0, _element_data.data)($element[0], VALIDATION_TARGET, this)\r\n }\r\n },\r\n _initOptions: function(options) {\r\n this.callBase.apply(this, arguments);\r\n this.option(_validation_engine.default.initValidationOptions(options))\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this._options.cache(\"validationTooltipOptions\", this.option(\"validationTooltipOptions\"));\r\n var $element = this.$element();\r\n $element.addClass(DX_INVALID_BADGE_CLASS)\r\n },\r\n _getDefaultOptions: function() {\r\n return (0, _extend.extend)(this.callBase(), {\r\n value: null,\r\n name: \"\",\r\n onValueChanged: null,\r\n readOnly: false,\r\n isValid: true,\r\n validationError: null,\r\n validationErrors: null,\r\n validationStatus: VALIDATION_STATUS_VALID,\r\n validationMessageMode: \"auto\",\r\n validationBoundary: void 0,\r\n validationMessageOffset: {\r\n h: 0,\r\n v: 0\r\n },\r\n validationTooltipOptions: {}\r\n })\r\n },\r\n _attachKeyboardEvents: function() {\r\n if (!this.option(\"readOnly\")) {\r\n this.callBase()\r\n }\r\n },\r\n _setOptionsByReference: function() {\r\n this.callBase();\r\n (0, _extend.extend)(this._optionsByReference, {\r\n validationError: true\r\n })\r\n },\r\n _createValueChangeAction: function() {\r\n this._valueChangeAction = this._createActionByOption(\"onValueChanged\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })\r\n },\r\n _suppressValueChangeAction: function() {\r\n this._valueChangeActionSuppressed = true\r\n },\r\n _resumeValueChangeAction: function() {\r\n this._valueChangeActionSuppressed = false\r\n },\r\n _initMarkup: function() {\r\n this._toggleReadOnlyState();\r\n this._setSubmitElementName(this.option(\"name\"));\r\n this.callBase();\r\n this._renderValidationState()\r\n },\r\n _raiseValueChangeAction: function(value, previousValue) {\r\n if (!this._valueChangeAction) {\r\n this._createValueChangeAction()\r\n }\r\n this._valueChangeAction(this._valueChangeArgs(value, previousValue))\r\n },\r\n _valueChangeArgs: function(value, previousValue) {\r\n return {\r\n value: value,\r\n previousValue: previousValue,\r\n event: this._valueChangeEventInstance\r\n }\r\n },\r\n _saveValueChangeEvent: function(e) {\r\n this._valueChangeEventInstance = e\r\n },\r\n _focusInHandler: function(e) {\r\n var isValidationMessageShownOnFocus = \"auto\" === this.option(\"validationMessageMode\");\r\n if (this._canValueBeChangedByClick() && isValidationMessageShownOnFocus) {\r\n var _this$_validationMess;\r\n var $validationMessageWrapper = null === (_this$_validationMess = this._validationMessage) || void 0 === _this$_validationMess ? void 0 : _this$_validationMess._wrapper();\r\n null === $validationMessageWrapper || void 0 === $validationMessageWrapper ? void 0 : $validationMessageWrapper.removeClass(INVALID_MESSAGE_AUTO);\r\n clearTimeout(this.showValidationMessageTimeout);\r\n this.showValidationMessageTimeout = setTimeout(function() {\r\n return null === $validationMessageWrapper || void 0 === $validationMessageWrapper ? void 0 : $validationMessageWrapper.addClass(INVALID_MESSAGE_AUTO)\r\n }, 150)\r\n }\r\n return this.callBase(e)\r\n },\r\n _canValueBeChangedByClick: function() {\r\n return false\r\n },\r\n _getValidationErrors: function() {\r\n var validationErrors = this.option(\"validationErrors\");\r\n if (!validationErrors && this.option(\"validationError\")) {\r\n validationErrors = [this.option(\"validationError\")]\r\n }\r\n return validationErrors\r\n },\r\n _disposeValidationMessage: function() {\r\n if (this._$validationMessage) {\r\n this._$validationMessage.remove();\r\n this.setAria(\"describedby\", null);\r\n this._$validationMessage = null\r\n }\r\n },\r\n _toggleValidationClasses: function(isInvalid) {\r\n this.$element().toggleClass(INVALID_CLASS, isInvalid);\r\n this.setAria(VALIDATION_STATUS_INVALID, isInvalid || void 0)\r\n },\r\n _renderValidationState: function() {\r\n var isValid = this.option(\"isValid\") && this.option(\"validationStatus\") !== VALIDATION_STATUS_INVALID;\r\n var validationErrors = this._getValidationErrors();\r\n var $element = this.$element();\r\n this._toggleValidationClasses(!isValid);\r\n if (!(0, _window.hasWindow)()) {\r\n return\r\n }\r\n this._disposeValidationMessage();\r\n if (!isValid && validationErrors) {\r\n var _this$option = this.option(),\r\n validationMessageMode = _this$option.validationMessageMode,\r\n validationMessageOffset = _this$option.validationMessageOffset,\r\n validationBoundary = _this$option.validationBoundary,\r\n rtlEnabled = _this$option.rtlEnabled;\r\n this._$validationMessage = (0, _renderer.default)(\"
\").appendTo($element);\r\n this.setAria(\"describedby\", \"dx-\" + new _guid.default);\r\n this._validationMessage = new _validation_message.default(this._$validationMessage, (0, _extend.extend)({\r\n validationErrors: validationErrors,\r\n rtlEnabled: rtlEnabled,\r\n target: this._getValidationMessageTarget(),\r\n container: $element,\r\n mode: validationMessageMode,\r\n positionRequest: \"below\",\r\n offset: validationMessageOffset,\r\n boundary: validationBoundary,\r\n describedElement: this._focusTarget()\r\n }, this._options.cache(\"validationTooltipOptions\")));\r\n this._bindInnerWidgetOptions(this._validationMessage, \"validationTooltipOptions\")\r\n }\r\n },\r\n _getValidationMessageTarget: function() {\r\n return this.$element()\r\n },\r\n _toggleReadOnlyState: function() {\r\n var readOnly = this.option(\"readOnly\");\r\n this._toggleBackspaceHandler(readOnly);\r\n this.$element().toggleClass(READONLY_STATE_CLASS, !!readOnly);\r\n this.setAria(\"readonly\", readOnly || void 0)\r\n },\r\n _toggleBackspaceHandler: function(isReadOnly) {\r\n var $eventTarget = this._keyboardEventBindingTarget();\r\n var eventName = (0, _index.addNamespace)(\"keydown\", READONLY_NAMESPACE);\r\n _events_engine.default.off($eventTarget, eventName);\r\n if (isReadOnly) {\r\n _events_engine.default.on($eventTarget, eventName, function(e) {\r\n if (\"backspace\" === (0, _index.normalizeKeyName)(e)) {\r\n e.preventDefault()\r\n }\r\n })\r\n }\r\n },\r\n _dispose: function() {\r\n var element = this.$element()[0];\r\n (0, _element_data.data)(element, VALIDATION_TARGET, null);\r\n clearTimeout(this.showValidationMessageTimeout);\r\n this.callBase()\r\n },\r\n _setSubmitElementName: function(name) {\r\n var $submitElement = this._getSubmitElement();\r\n if (!$submitElement) {\r\n return\r\n }\r\n if (name.length > 0) {\r\n $submitElement.attr(\"name\", name)\r\n } else {\r\n $submitElement.removeAttr(\"name\")\r\n }\r\n },\r\n _getSubmitElement: function() {\r\n return null\r\n },\r\n _setValidationMessageOption: function(_ref) {\r\n var _this$_validationMess2;\r\n var name = _ref.name,\r\n value = _ref.value;\r\n var optionKey = VALIDATION_MESSAGE_KEYS_MAP[name] ? VALIDATION_MESSAGE_KEYS_MAP[name] : name;\r\n null === (_this$_validationMess2 = this._validationMessage) || void 0 === _this$_validationMess2 ? void 0 : _this$_validationMess2.option(optionKey, value)\r\n },\r\n _optionChanged: function(args) {\r\n var _this$_validationMess3;\r\n switch (args.name) {\r\n case \"onValueChanged\":\r\n this._createValueChangeAction();\r\n break;\r\n case \"readOnly\":\r\n this._toggleReadOnlyState();\r\n this._refreshFocusState();\r\n break;\r\n case \"value\":\r\n if (args.value != args.previousValue) {\r\n this.validationRequest.fire({\r\n value: args.value,\r\n editor: this\r\n })\r\n }\r\n if (!this._valueChangeActionSuppressed) {\r\n this._raiseValueChangeAction(args.value, args.previousValue);\r\n this._saveValueChangeEvent(void 0)\r\n }\r\n break;\r\n case \"width\":\r\n this.callBase(args);\r\n null === (_this$_validationMess3 = this._validationMessage) || void 0 === _this$_validationMess3 ? void 0 : _this$_validationMess3.updateMaxWidth();\r\n break;\r\n case \"name\":\r\n this._setSubmitElementName(args.value);\r\n break;\r\n case \"isValid\":\r\n case \"validationError\":\r\n case \"validationErrors\":\r\n case \"validationStatus\":\r\n this.option(_validation_engine.default.synchronizeValidationOptions(args, this.option()));\r\n this._renderValidationState();\r\n break;\r\n case \"validationBoundary\":\r\n case \"validationMessageMode\":\r\n case \"validationMessageOffset\":\r\n this._setValidationMessageOption(args);\r\n break;\r\n case \"rtlEnabled\":\r\n this._setValidationMessageOption(args);\r\n this.callBase(args);\r\n break;\r\n case \"validationTooltipOptions\":\r\n this._innerWidgetOptionChanged(this._validationMessage, args);\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n reset: function() {\r\n var defaultOptions = this._getDefaultOptions();\r\n this.option(\"value\", defaultOptions.value)\r\n }\r\n});\r\nvar _default = Editor;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (core/devices.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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 _window = require(\"./utils/window\");\r\nvar _extend = require(\"./utils/extend\");\r\nvar _type = require(\"./utils/type\");\r\nvar _iterator = require(\"./utils/iterator\");\r\nvar _errors = _interopRequireDefault(require(\"./errors\"));\r\nvar _callbacks = _interopRequireDefault(require(\"./utils/callbacks\"));\r\nvar _ready_callbacks = _interopRequireDefault(require(\"./utils/ready_callbacks\"));\r\nvar _resize_callbacks = _interopRequireDefault(require(\"./utils/resize_callbacks\"));\r\nvar _events_strategy = require(\"./events_strategy\");\r\nvar _storage = require(\"./utils/storage\");\r\nvar _view_port = require(\"./utils/view_port\");\r\nvar _config = _interopRequireDefault(require(\"./config\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar navigator = (0, _window.getNavigator)();\r\nvar window = (0, _window.getWindow)();\r\nvar KNOWN_UA_TABLE = {\r\n iPhone: \"iPhone\",\r\n iPhone5: \"iPhone\",\r\n iPhone6: \"iPhone\",\r\n iPhone6plus: \"iPhone\",\r\n iPad: \"iPad\",\r\n iPadMini: \"iPad Mini\",\r\n androidPhone: \"Android Mobile\",\r\n androidTablet: \"Android\",\r\n msSurface: \"Windows ARM Tablet PC\",\r\n desktop: \"desktop\"\r\n};\r\nvar DEFAULT_DEVICE = {\r\n deviceType: \"desktop\",\r\n platform: \"generic\",\r\n version: [],\r\n phone: false,\r\n tablet: false,\r\n android: false,\r\n ios: false,\r\n generic: true,\r\n grade: \"A\",\r\n mac: false\r\n};\r\nvar uaParsers = {\r\n generic: function(userAgent) {\r\n var isPhone = /windows phone/i.test(userAgent) || userAgent.match(/WPDesktop/);\r\n var isTablet = !isPhone && /Windows(.*)arm(.*)Tablet PC/i.test(userAgent);\r\n var isDesktop = !isPhone && !isTablet && /msapphost/i.test(userAgent);\r\n var isMac = /((intel|ppc) mac os x)/.test(userAgent.toLowerCase());\r\n if (!(isPhone || isTablet || isDesktop || isMac)) {\r\n return\r\n }\r\n return {\r\n deviceType: isPhone ? \"phone\" : isTablet ? \"tablet\" : \"desktop\",\r\n platform: \"generic\",\r\n version: [],\r\n grade: \"A\",\r\n mac: isMac\r\n }\r\n },\r\n ios: function(userAgent) {\r\n if (!/ip(hone|od|ad)/i.test(userAgent)) {\r\n return\r\n }\r\n var isPhone = /ip(hone|od)/i.test(userAgent);\r\n var matches = userAgent.match(/os (\\d+)_(\\d+)_?(\\d+)?/i);\r\n var version = matches ? [parseInt(matches[1], 10), parseInt(matches[2], 10), parseInt(matches[3] || 0, 10)] : [];\r\n var isIPhone4 = 480 === window.screen.height;\r\n var grade = isIPhone4 ? \"B\" : \"A\";\r\n return {\r\n deviceType: isPhone ? \"phone\" : \"tablet\",\r\n platform: \"ios\",\r\n version: version,\r\n grade: grade\r\n }\r\n },\r\n android: function(userAgent) {\r\n if (!/android|htc_|silk/i.test(userAgent)) {\r\n return\r\n }\r\n var isPhone = /mobile/i.test(userAgent);\r\n var matches = userAgent.match(/android (\\d+)\\.?(\\d+)?\\.?(\\d+)?/i);\r\n var version = matches ? [parseInt(matches[1], 10), parseInt(matches[2] || 0, 10), parseInt(matches[3] || 0, 10)] : [];\r\n var worseThan4_4 = version.length > 1 && (version[0] < 4 || 4 === version[0] && version[1] < 4);\r\n var grade = worseThan4_4 ? \"B\" : \"A\";\r\n return {\r\n deviceType: isPhone ? \"phone\" : \"tablet\",\r\n platform: \"android\",\r\n version: version,\r\n grade: grade\r\n }\r\n }\r\n};\r\nvar Devices = function() {\r\n function Devices(options) {\r\n this._window = (null === options || void 0 === options ? void 0 : options.window) || window;\r\n this._realDevice = this._getDevice();\r\n this._currentDevice = void 0;\r\n this._currentOrientation = void 0;\r\n this._eventsStrategy = new _events_strategy.EventsStrategy(this);\r\n this.changed = (0, _callbacks.default)();\r\n if ((0, _window.hasWindow)()) {\r\n _ready_callbacks.default.add(this._recalculateOrientation.bind(this));\r\n _resize_callbacks.default.add(this._recalculateOrientation.bind(this))\r\n }\r\n }\r\n var _proto = Devices.prototype;\r\n _proto.current = function(deviceOrName) {\r\n if (deviceOrName) {\r\n this._currentDevice = this._getDevice(deviceOrName);\r\n this._forced = true;\r\n this.changed.fire();\r\n return\r\n }\r\n if (!this._currentDevice) {\r\n deviceOrName = void 0;\r\n try {\r\n deviceOrName = this._getDeviceOrNameFromWindowScope()\r\n } catch (e) {\r\n deviceOrName = this._getDeviceNameFromSessionStorage()\r\n } finally {\r\n if (!deviceOrName) {\r\n deviceOrName = this._getDeviceNameFromSessionStorage()\r\n }\r\n if (deviceOrName) {\r\n this._forced = true\r\n }\r\n }\r\n this._currentDevice = this._getDevice(deviceOrName)\r\n }\r\n return this._currentDevice\r\n };\r\n _proto.real = function(forceDevice) {\r\n return (0, _extend.extend)({}, this._realDevice)\r\n };\r\n _proto.orientation = function() {\r\n return this._currentOrientation\r\n };\r\n _proto.isForced = function() {\r\n return this._forced\r\n };\r\n _proto.isRippleEmulator = function() {\r\n return !!this._window.tinyHippos\r\n };\r\n _proto._getCssClasses = function(device) {\r\n var result = [];\r\n var realDevice = this._realDevice;\r\n device = device || this.current();\r\n if (device.deviceType) {\r\n result.push(\"dx-device-\".concat(device.deviceType));\r\n if (\"desktop\" !== device.deviceType) {\r\n result.push(\"dx-device-mobile\")\r\n }\r\n }\r\n result.push(\"dx-device-\".concat(realDevice.platform));\r\n if (realDevice.version && realDevice.version.length) {\r\n result.push(\"dx-device-\".concat(realDevice.platform, \"-\").concat(realDevice.version[0]))\r\n }\r\n if (this.isSimulator()) {\r\n result.push(\"dx-simulator\")\r\n }\r\n if ((0, _config.default)().rtlEnabled) {\r\n result.push(\"dx-rtl\")\r\n }\r\n return result\r\n };\r\n _proto.attachCssClasses = function(element, device) {\r\n this._deviceClasses = this._getCssClasses(device).join(\" \");\r\n (0, _renderer.default)(element).addClass(this._deviceClasses)\r\n };\r\n _proto.detachCssClasses = function(element) {\r\n (0, _renderer.default)(element).removeClass(this._deviceClasses)\r\n };\r\n _proto.isSimulator = function() {\r\n try {\r\n return this._isSimulator || (0, _window.hasWindow)() && this._window.top !== this._window.self && this._window.top[\"dx-force-device\"] || this.isRippleEmulator()\r\n } catch (e) {\r\n return false\r\n }\r\n };\r\n _proto.forceSimulator = function() {\r\n this._isSimulator = true\r\n };\r\n _proto._getDevice = function(deviceName) {\r\n if (\"genericPhone\" === deviceName) {\r\n deviceName = {\r\n deviceType: \"phone\",\r\n platform: \"generic\",\r\n generic: true\r\n }\r\n }\r\n if ((0, _type.isPlainObject)(deviceName)) {\r\n return this._fromConfig(deviceName)\r\n } else {\r\n var ua;\r\n if (deviceName) {\r\n ua = KNOWN_UA_TABLE[deviceName];\r\n if (!ua) {\r\n throw _errors.default.Error(\"E0005\")\r\n }\r\n } else {\r\n ua = navigator.userAgent\r\n }\r\n return this._fromUA(ua)\r\n }\r\n };\r\n _proto._getDeviceOrNameFromWindowScope = function() {\r\n var result;\r\n if ((0, _window.hasWindow)() && (this._window.top[\"dx-force-device-object\"] || this._window.top[\"dx-force-device\"])) {\r\n result = this._window.top[\"dx-force-device-object\"] || this._window.top[\"dx-force-device\"]\r\n }\r\n return result\r\n };\r\n _proto._getDeviceNameFromSessionStorage = function() {\r\n var sessionStorage = (0, _storage.sessionStorage)();\r\n if (!sessionStorage) {\r\n return\r\n }\r\n var deviceOrName = sessionStorage.getItem(\"dx-force-device\");\r\n try {\r\n return JSON.parse(deviceOrName)\r\n } catch (ex) {\r\n return deviceOrName\r\n }\r\n };\r\n _proto._fromConfig = function(config) {\r\n var result = (0, _extend.extend)({}, DEFAULT_DEVICE, this._currentDevice, config);\r\n var shortcuts = {\r\n phone: \"phone\" === result.deviceType,\r\n tablet: \"tablet\" === result.deviceType,\r\n android: \"android\" === result.platform,\r\n ios: \"ios\" === result.platform,\r\n generic: \"generic\" === result.platform\r\n };\r\n return (0, _extend.extend)(result, shortcuts)\r\n };\r\n _proto._fromUA = function(ua) {\r\n var config;\r\n (0, _iterator.each)(uaParsers, function(platform, parser) {\r\n config = parser(ua);\r\n return !config\r\n });\r\n if (config) {\r\n return this._fromConfig(config)\r\n }\r\n return DEFAULT_DEVICE\r\n };\r\n _proto._changeOrientation = function() {\r\n var $window = (0, _renderer.default)(this._window);\r\n var orientation = $window.height() > $window.width() ? \"portrait\" : \"landscape\";\r\n if (this._currentOrientation === orientation) {\r\n return\r\n }\r\n this._currentOrientation = orientation;\r\n this._eventsStrategy.fireEvent(\"orientationChanged\", [{\r\n orientation: orientation\r\n }])\r\n };\r\n _proto._recalculateOrientation = function() {\r\n var windowWidth = (0, _renderer.default)(this._window).width();\r\n if (this._currentWidth === windowWidth) {\r\n return\r\n }\r\n this._currentWidth = windowWidth;\r\n this._changeOrientation()\r\n };\r\n _proto.on = function(eventName, eventHandler) {\r\n this._eventsStrategy.on(eventName, eventHandler);\r\n return this\r\n };\r\n _proto.off = function(eventName, eventHandler) {\r\n this._eventsStrategy.off(eventName, eventHandler);\r\n return this\r\n };\r\n return Devices\r\n}();\r\nvar devices = new Devices;\r\n_view_port.changeCallback.add(function(viewPort, prevViewport) {\r\n devices.detachCssClasses(prevViewport);\r\n devices.attachCssClasses(viewPort)\r\n});\r\nvar _default = devices;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = module.exports;\r\n","/**\r\n * DevExtreme (core/renderer_base.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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 _element_data = require(\"./element_data\");\r\nvar _dom_adapter = _interopRequireDefault(require(\"./dom_adapter\"));\r\nvar _window = require(\"./utils/window\");\r\nvar _type = require(\"./utils/type\");\r\nvar _style = require(\"./utils/style\");\r\nvar _size = require(\"./utils/size\");\r\nvar _html_parser = require(\"./utils/html_parser\");\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 renderer;\r\nvar initRender = function(selector, context) {\r\n if (!selector) {\r\n this.length = 0;\r\n return this\r\n }\r\n if (\"string\" === typeof selector) {\r\n if (\"body\" === selector) {\r\n this[0] = context ? context.body : _dom_adapter.default.getBody();\r\n this.length = 1;\r\n return this\r\n }\r\n context = context || _dom_adapter.default.getDocument();\r\n if (\"<\" === selector[0]) {\r\n this[0] = _dom_adapter.default.createElement(selector.slice(1, -1), context);\r\n this.length = 1;\r\n return this\r\n } [].push.apply(this, _dom_adapter.default.querySelectorAll(context, selector));\r\n return this\r\n } else {\r\n if (_dom_adapter.default.isNode(selector) || (0, _type.isWindow)(selector)) {\r\n this[0] = selector;\r\n this.length = 1;\r\n return this\r\n } else {\r\n if (Array.isArray(selector)) {\r\n [].push.apply(this, selector);\r\n return this\r\n }\r\n }\r\n }\r\n return renderer(selector.toArray ? selector.toArray() : [selector])\r\n};\r\nrenderer = function(selector, context) {\r\n return new initRender(selector, context)\r\n};\r\nrenderer.fn = {\r\n dxRenderer: true\r\n};\r\ninitRender.prototype = renderer.fn;\r\nvar repeatMethod = function(methodName, args) {\r\n for (var i = 0; i < this.length; i++) {\r\n var item = renderer(this[i]);\r\n item[methodName].apply(item, args)\r\n }\r\n return this\r\n};\r\nvar setAttributeValue = function(element, attrName, value) {\r\n if (void 0 !== value && null !== value) {\r\n _dom_adapter.default.setAttribute(element, attrName, value)\r\n } else {\r\n _dom_adapter.default.removeAttribute(element, attrName)\r\n }\r\n};\r\ninitRender.prototype.show = function() {\r\n return this.toggle(true)\r\n};\r\ninitRender.prototype.hide = function() {\r\n return this.toggle(false)\r\n};\r\ninitRender.prototype.toggle = function(value) {\r\n if (this[0]) {\r\n this.toggleClass(\"dx-state-invisible\", !value)\r\n }\r\n return this\r\n};\r\ninitRender.prototype.attr = function(attrName, value) {\r\n if (this.length > 1 && arguments.length > 1) {\r\n return repeatMethod.call(this, \"attr\", arguments)\r\n }\r\n if (!this[0]) {\r\n if ((0, _type.isObject)(attrName) || void 0 !== value) {\r\n return this\r\n } else {\r\n return\r\n }\r\n }\r\n if (!this[0].getAttribute) {\r\n return this.prop(attrName, value)\r\n }\r\n if (\"string\" === typeof attrName && 1 === arguments.length) {\r\n var result = this[0].getAttribute(attrName);\r\n return null == result ? void 0 : result\r\n } else {\r\n if ((0, _type.isPlainObject)(attrName)) {\r\n for (var key in attrName) {\r\n this.attr(key, attrName[key])\r\n }\r\n } else {\r\n setAttributeValue(this[0], attrName, value)\r\n }\r\n }\r\n return this\r\n};\r\ninitRender.prototype.removeAttr = function(attrName) {\r\n this[0] && _dom_adapter.default.removeAttribute(this[0], attrName);\r\n return this\r\n};\r\ninitRender.prototype.prop = function(propName, value) {\r\n if (!this[0]) {\r\n return this\r\n }\r\n if (\"string\" === typeof propName && 1 === arguments.length) {\r\n return this[0][propName]\r\n } else {\r\n if ((0, _type.isPlainObject)(propName)) {\r\n for (var key in propName) {\r\n this.prop(key, propName[key])\r\n }\r\n } else {\r\n _dom_adapter.default.setProperty(this[0], propName, value)\r\n }\r\n }\r\n return this\r\n};\r\ninitRender.prototype.addClass = function(className) {\r\n return this.toggleClass(className, true)\r\n};\r\ninitRender.prototype.removeClass = function(className) {\r\n return this.toggleClass(className, false)\r\n};\r\ninitRender.prototype.hasClass = function(className) {\r\n if (!this[0] || void 0 === this[0].className) {\r\n return false\r\n }\r\n var classNames = className.split(\" \");\r\n for (var i = 0; i < classNames.length; i++) {\r\n if (this[0].classList) {\r\n if (this[0].classList.contains(classNames[i])) {\r\n return true\r\n }\r\n } else {\r\n var _className = (0, _type.isString)(this[0].className) ? this[0].className : _dom_adapter.default.getAttribute(this[0], \"class\");\r\n if ((_className || \"\").split(\" \").indexOf(classNames[i]) >= 0) {\r\n return true\r\n }\r\n }\r\n }\r\n return false\r\n};\r\ninitRender.prototype.toggleClass = function(className, value) {\r\n if (this.length > 1) {\r\n return repeatMethod.call(this, \"toggleClass\", arguments)\r\n }\r\n if (!this[0] || !className) {\r\n return this\r\n }\r\n value = void 0 === value ? !this.hasClass(className) : value;\r\n var classNames = className.split(\" \");\r\n for (var i = 0; i < classNames.length; i++) {\r\n _dom_adapter.default.setClass(this[0], classNames[i], value)\r\n }\r\n return this\r\n};\r\n[\"width\", \"height\", \"outerWidth\", \"outerHeight\", \"innerWidth\", \"innerHeight\"].forEach(function(methodName) {\r\n var partialName = methodName.toLowerCase().indexOf(\"width\") >= 0 ? \"Width\" : \"Height\";\r\n var propName = partialName.toLowerCase();\r\n var isOuter = 0 === methodName.indexOf(\"outer\");\r\n var isInner = 0 === methodName.indexOf(\"inner\");\r\n initRender.prototype[methodName] = function(value) {\r\n if (this.length > 1 && arguments.length > 0) {\r\n return repeatMethod.call(this, methodName, arguments)\r\n }\r\n var element = this[0];\r\n if (!element) {\r\n return\r\n }\r\n if ((0, _type.isWindow)(element)) {\r\n return isOuter ? element[\"inner\" + partialName] : _dom_adapter.default.getDocumentElement()[\"client\" + partialName]\r\n }\r\n if (_dom_adapter.default.isDocument(element)) {\r\n var documentElement = _dom_adapter.default.getDocumentElement();\r\n var body = _dom_adapter.default.getBody();\r\n return Math.max(body[\"scroll\" + partialName], body[\"offset\" + partialName], documentElement[\"scroll\" + partialName], documentElement[\"offset\" + partialName], documentElement[\"client\" + partialName])\r\n }\r\n if (0 === arguments.length || \"boolean\" === typeof value) {\r\n var include = {\r\n paddings: isInner || isOuter,\r\n borders: isOuter,\r\n margins: value\r\n };\r\n return (0, _size.getSize)(element, propName, include)\r\n }\r\n if (void 0 === value || null === value) {\r\n return this\r\n }\r\n if ((0, _type.isNumeric)(value)) {\r\n var elementStyles = window.getComputedStyle(element);\r\n var sizeAdjustment = (0, _size.getElementBoxParams)(propName, elementStyles);\r\n var isBorderBox = \"border-box\" === elementStyles.boxSizing;\r\n value = Number(value);\r\n if (isOuter) {\r\n value -= isBorderBox ? 0 : sizeAdjustment.border + sizeAdjustment.padding\r\n } else {\r\n if (isInner) {\r\n value += isBorderBox ? sizeAdjustment.border : -sizeAdjustment.padding\r\n } else {\r\n if (isBorderBox) {\r\n value += sizeAdjustment.border + sizeAdjustment.padding\r\n }\r\n }\r\n }\r\n }\r\n value += (0, _type.isNumeric)(value) ? \"px\" : \"\";\r\n _dom_adapter.default.setStyle(element, propName, value);\r\n return this\r\n }\r\n});\r\ninitRender.prototype.html = function(value) {\r\n if (!arguments.length) {\r\n return this[0].innerHTML\r\n }\r\n this.empty();\r\n if (\"string\" === typeof value && !(0, _html_parser.isTablePart)(value) || \"number\" === typeof value) {\r\n this[0].innerHTML = value;\r\n return this\r\n }\r\n return this.append((0, _html_parser.parseHTML)(value))\r\n};\r\nvar appendElements = function(element, nextSibling) {\r\n if (!this[0] || !element) {\r\n return\r\n }\r\n if (\"string\" === typeof element) {\r\n element = (0, _html_parser.parseHTML)(element)\r\n } else {\r\n if (element.nodeType) {\r\n element = [element]\r\n } else {\r\n if ((0, _type.isNumeric)(element)) {\r\n element = [_dom_adapter.default.createTextNode(element)]\r\n }\r\n }\r\n }\r\n for (var i = 0; i < element.length; i++) {\r\n var item = element[i];\r\n var container = this[0];\r\n var wrapTR = \"TABLE\" === container.tagName && \"TR\" === item.tagName;\r\n if (wrapTR && container.tBodies && container.tBodies.length) {\r\n container = container.tBodies[0]\r\n }\r\n _dom_adapter.default.insertElement(container, item.nodeType ? item : item[0], nextSibling)\r\n }\r\n};\r\nvar setCss = function(name, value) {\r\n if (!this[0] || !this[0].style) {\r\n return\r\n }\r\n if (null === value || \"number\" === typeof value && isNaN(value)) {\r\n return\r\n }\r\n name = (0, _style.styleProp)(name);\r\n for (var i = 0; i < this.length; i++) {\r\n this[i].style[name] = (0, _style.normalizeStyleProp)(name, value)\r\n }\r\n};\r\ninitRender.prototype.css = function(name, value) {\r\n if ((0, _type.isString)(name)) {\r\n if (2 === arguments.length) {\r\n setCss.call(this, name, value)\r\n } else {\r\n if (!this[0]) {\r\n return\r\n }\r\n name = (0, _style.styleProp)(name);\r\n var result = window.getComputedStyle(this[0])[name] || this[0].style[name];\r\n return (0, _type.isNumeric)(result) ? result.toString() : result\r\n }\r\n } else {\r\n if ((0, _type.isPlainObject)(name)) {\r\n for (var key in name) {\r\n setCss.call(this, key, name[key])\r\n }\r\n }\r\n }\r\n return this\r\n};\r\ninitRender.prototype.prepend = function(element) {\r\n if (arguments.length > 1) {\r\n for (var i = 0; i < arguments.length; i++) {\r\n this.prepend(arguments[i])\r\n }\r\n return this\r\n }\r\n appendElements.apply(this, [element, this[0].firstChild]);\r\n return this\r\n};\r\ninitRender.prototype.append = function(element) {\r\n if (arguments.length > 1) {\r\n for (var i = 0; i < arguments.length; i++) {\r\n this.append(arguments[i])\r\n }\r\n return this\r\n }\r\n appendElements.apply(this, [element]);\r\n return this\r\n};\r\ninitRender.prototype.prependTo = function(element) {\r\n if (this.length > 1) {\r\n for (var i = this.length - 1; i >= 0; i--) {\r\n renderer(this[i]).prependTo(element)\r\n }\r\n return this\r\n }\r\n element = renderer(element);\r\n if (element[0]) {\r\n _dom_adapter.default.insertElement(element[0], this[0], element[0].firstChild)\r\n }\r\n return this\r\n};\r\ninitRender.prototype.appendTo = function(element) {\r\n if (this.length > 1) {\r\n return repeatMethod.call(this, \"appendTo\", arguments)\r\n }\r\n _dom_adapter.default.insertElement(renderer(element)[0], this[0]);\r\n return this\r\n};\r\ninitRender.prototype.insertBefore = function(element) {\r\n if (element && element[0]) {\r\n _dom_adapter.default.insertElement(element[0].parentNode, this[0], element[0])\r\n }\r\n return this\r\n};\r\ninitRender.prototype.insertAfter = function(element) {\r\n if (element && element[0]) {\r\n _dom_adapter.default.insertElement(element[0].parentNode, this[0], element[0].nextSibling)\r\n }\r\n return this\r\n};\r\ninitRender.prototype.before = function(element) {\r\n if (this[0]) {\r\n _dom_adapter.default.insertElement(this[0].parentNode, element[0], this[0])\r\n }\r\n return this\r\n};\r\ninitRender.prototype.after = function(element) {\r\n if (this[0]) {\r\n _dom_adapter.default.insertElement(this[0].parentNode, element[0], this[0].nextSibling)\r\n }\r\n return this\r\n};\r\ninitRender.prototype.wrap = function(wrapper) {\r\n if (this[0]) {\r\n var wrap = renderer(wrapper);\r\n wrap.insertBefore(this);\r\n wrap.append(this)\r\n }\r\n return this\r\n};\r\ninitRender.prototype.wrapInner = function(wrapper) {\r\n var contents = this.contents();\r\n if (contents.length) {\r\n contents.wrap(wrapper)\r\n } else {\r\n this.append(wrapper)\r\n }\r\n return this\r\n};\r\ninitRender.prototype.replaceWith = function(element) {\r\n if (!(element && element[0])) {\r\n return\r\n }\r\n if (element.is(this)) {\r\n return this\r\n }\r\n element.insertBefore(this);\r\n this.remove();\r\n return element\r\n};\r\ninitRender.prototype.remove = function() {\r\n if (this.length > 1) {\r\n return repeatMethod.call(this, \"remove\", arguments)\r\n }(0, _element_data.cleanDataRecursive)(this[0], true);\r\n _dom_adapter.default.removeElement(this[0]);\r\n return this\r\n};\r\ninitRender.prototype.detach = function() {\r\n if (this.length > 1) {\r\n return repeatMethod.call(this, \"detach\", arguments)\r\n }\r\n _dom_adapter.default.removeElement(this[0]);\r\n return this\r\n};\r\ninitRender.prototype.empty = function() {\r\n if (this.length > 1) {\r\n return repeatMethod.call(this, \"empty\", arguments)\r\n }(0, _element_data.cleanDataRecursive)(this[0]);\r\n _dom_adapter.default.setText(this[0], \"\");\r\n return this\r\n};\r\ninitRender.prototype.clone = function() {\r\n var result = [];\r\n for (var i = 0; i < this.length; i++) {\r\n result.push(this[i].cloneNode(true))\r\n }\r\n return renderer(result)\r\n};\r\ninitRender.prototype.text = function(value) {\r\n if (!arguments.length) {\r\n var result = \"\";\r\n for (var i = 0; i < this.length; i++) {\r\n result += this[i] && this[i].textContent || \"\"\r\n }\r\n return result\r\n }\r\n var text = (0, _type.isFunction)(value) ? value() : value;\r\n (0, _element_data.cleanDataRecursive)(this[0], false);\r\n _dom_adapter.default.setText(this[0], (0, _type.isDefined)(text) ? text : \"\");\r\n return this\r\n};\r\ninitRender.prototype.val = function(value) {\r\n if (1 === arguments.length) {\r\n return this.prop(\"value\", (0, _type.isDefined)(value) ? value : \"\")\r\n }\r\n return this.prop(\"value\")\r\n};\r\ninitRender.prototype.contents = function() {\r\n if (!this[0]) {\r\n return renderer()\r\n }\r\n var result = [];\r\n result.push.apply(result, this[0].childNodes);\r\n return renderer(result)\r\n};\r\ninitRender.prototype.find = function(selector) {\r\n var result = renderer();\r\n if (!selector) {\r\n return result\r\n }\r\n var nodes = [];\r\n var i;\r\n if (\"string\" === typeof selector) {\r\n selector = selector.trim();\r\n for (i = 0; i < this.length; i++) {\r\n var element = this[i];\r\n if (_dom_adapter.default.isElementNode(element)) {\r\n var elementId = element.getAttribute(\"id\");\r\n var queryId = elementId || \"dx-query-children\";\r\n if (!elementId) {\r\n setAttributeValue(element, \"id\", queryId)\r\n }\r\n queryId = \"[id='\" + queryId + \"'] \";\r\n var querySelector = queryId + selector.replace(/([^\\\\])(,)/g, \"$1, \" + queryId);\r\n nodes.push.apply(nodes, _dom_adapter.default.querySelectorAll(element, querySelector));\r\n setAttributeValue(element, \"id\", elementId)\r\n } else {\r\n if (_dom_adapter.default.isDocument(element)) {\r\n nodes.push.apply(nodes, _dom_adapter.default.querySelectorAll(element, selector))\r\n }\r\n }\r\n }\r\n } else {\r\n for (i = 0; i < this.length; i++) {\r\n selector = _dom_adapter.default.isNode(selector) ? selector : selector[0];\r\n if (this[i] !== selector && this[i].contains(selector)) {\r\n nodes.push(selector)\r\n }\r\n }\r\n }\r\n return result.add(nodes)\r\n};\r\nvar isVisible = function(_, element) {\r\n if (!element.nodeType) {\r\n return true\r\n }\r\n return !!(element.offsetWidth || element.offsetHeight || element.getClientRects().length)\r\n};\r\ninitRender.prototype.filter = function(selector) {\r\n if (!selector) {\r\n return renderer()\r\n }\r\n if (\":visible\" === selector) {\r\n return this.filter(isVisible)\r\n } else {\r\n if (\":hidden\" === selector) {\r\n return this.filter(function(_, element) {\r\n return !isVisible(_, element)\r\n })\r\n }\r\n }\r\n var result = [];\r\n for (var i = 0; i < this.length; i++) {\r\n var item = this[i];\r\n if (_dom_adapter.default.isElementNode(item) && \"string\" === (0, _type.type)(selector)) {\r\n _dom_adapter.default.elementMatches(item, selector) && result.push(item)\r\n } else {\r\n if (_dom_adapter.default.isNode(selector) || (0, _type.isWindow)(selector)) {\r\n selector === item && result.push(item)\r\n } else {\r\n if ((0, _type.isFunction)(selector)) {\r\n selector.call(item, i, item) && result.push(item)\r\n } else {\r\n for (var j = 0; j < selector.length; j++) {\r\n selector[j] === item && result.push(item)\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return renderer(result)\r\n};\r\ninitRender.prototype.not = function(selector) {\r\n var result = [];\r\n var nodes = this.filter(selector).toArray();\r\n for (var i = 0; i < this.length; i++) {\r\n if (nodes.indexOf(this[i]) === -1) {\r\n result.push(this[i])\r\n }\r\n }\r\n return renderer(result)\r\n};\r\ninitRender.prototype.is = function(selector) {\r\n return !!this.filter(selector).length\r\n};\r\ninitRender.prototype.children = function(selector) {\r\n var result = [];\r\n for (var i = 0; i < this.length; i++) {\r\n var nodes = this[i] ? this[i].childNodes : [];\r\n for (var j = 0; j < nodes.length; j++) {\r\n if (_dom_adapter.default.isElementNode(nodes[j])) {\r\n result.push(nodes[j])\r\n }\r\n }\r\n }\r\n result = renderer(result);\r\n return selector ? result.filter(selector) : result\r\n};\r\ninitRender.prototype.siblings = function() {\r\n var element = this[0];\r\n if (!element || !element.parentNode) {\r\n return renderer()\r\n }\r\n var result = [];\r\n var parentChildNodes = element.parentNode.childNodes || [];\r\n for (var i = 0; i < parentChildNodes.length; i++) {\r\n var node = parentChildNodes[i];\r\n if (_dom_adapter.default.isElementNode(node) && node !== element) {\r\n result.push(node)\r\n }\r\n }\r\n return renderer(result)\r\n};\r\ninitRender.prototype.each = function(callback) {\r\n for (var i = 0; i < this.length; i++) {\r\n if (false === callback.call(this[i], i, this[i])) {\r\n break\r\n }\r\n }\r\n};\r\ninitRender.prototype.index = function(element) {\r\n if (!element) {\r\n return this.parent().children().index(this)\r\n }\r\n element = renderer(element);\r\n return this.toArray().indexOf(element[0])\r\n};\r\ninitRender.prototype.get = function(index) {\r\n return this[index < 0 ? this.length + index : index]\r\n};\r\ninitRender.prototype.eq = function(index) {\r\n index = index < 0 ? this.length + index : index;\r\n return renderer(this[index])\r\n};\r\ninitRender.prototype.first = function() {\r\n return this.eq(0)\r\n};\r\ninitRender.prototype.last = function() {\r\n return this.eq(-1)\r\n};\r\ninitRender.prototype.parent = function(selector) {\r\n if (!this[0]) {\r\n return renderer()\r\n }\r\n var result = renderer(this[0].parentNode);\r\n return !selector || result.is(selector) ? result : renderer()\r\n};\r\ninitRender.prototype.parents = function(selector) {\r\n var result = [];\r\n var parent = this.parent();\r\n while (parent && parent[0] && !_dom_adapter.default.isDocument(parent[0])) {\r\n if (_dom_adapter.default.isElementNode(parent[0])) {\r\n if (!selector || selector && parent.is(selector)) {\r\n result.push(parent.get(0))\r\n }\r\n }\r\n parent = parent.parent()\r\n }\r\n return renderer(result)\r\n};\r\ninitRender.prototype.closest = function(selector) {\r\n if (this.is(selector)) {\r\n return this\r\n }\r\n var parent = this.parent();\r\n while (parent && parent.length) {\r\n if (parent.is(selector)) {\r\n return parent\r\n }\r\n parent = parent.parent()\r\n }\r\n return renderer()\r\n};\r\ninitRender.prototype.next = function(selector) {\r\n if (!this[0]) {\r\n return renderer()\r\n }\r\n var next = renderer(this[0].nextSibling);\r\n if (!arguments.length) {\r\n return next\r\n }\r\n while (next && next.length) {\r\n if (next.is(selector)) {\r\n return next\r\n }\r\n next = next.next()\r\n }\r\n return renderer()\r\n};\r\ninitRender.prototype.prev = function() {\r\n if (!this[0]) {\r\n return renderer()\r\n }\r\n return renderer(this[0].previousSibling)\r\n};\r\ninitRender.prototype.add = function(selector) {\r\n var targets = renderer(selector);\r\n var result = this.toArray();\r\n for (var i = 0; i < targets.length; i++) {\r\n var target = targets[i];\r\n if (result.indexOf(target) === -1) {\r\n result.push(target)\r\n }\r\n }\r\n return renderer(result)\r\n};\r\nvar emptyArray = [];\r\ninitRender.prototype.splice = function() {\r\n return renderer(emptyArray.splice.apply(this, arguments))\r\n};\r\ninitRender.prototype.slice = function() {\r\n return renderer(emptyArray.slice.apply(this, arguments))\r\n};\r\ninitRender.prototype.toArray = function() {\r\n return emptyArray.slice.call(this)\r\n};\r\nvar getWindowByElement = function(element) {\r\n return (0, _type.isWindow)(element) ? element : element.defaultView\r\n};\r\ninitRender.prototype.offset = function() {\r\n if (!this[0]) {\r\n return\r\n }\r\n if (!this[0].getClientRects().length) {\r\n return {\r\n top: 0,\r\n left: 0\r\n }\r\n }\r\n var rect = this[0].getBoundingClientRect();\r\n var win = getWindowByElement(this[0].ownerDocument);\r\n var docElem = this[0].ownerDocument.documentElement;\r\n return {\r\n top: rect.top + win.pageYOffset - docElem.clientTop,\r\n left: rect.left + win.pageXOffset - docElem.clientLeft\r\n }\r\n};\r\ninitRender.prototype.offsetParent = function() {\r\n if (!this[0]) {\r\n return renderer()\r\n }\r\n var offsetParent = renderer(this[0].offsetParent);\r\n while (offsetParent[0] && \"static\" === offsetParent.css(\"position\")) {\r\n offsetParent = renderer(offsetParent[0].offsetParent)\r\n }\r\n offsetParent = offsetParent[0] ? offsetParent : renderer(_dom_adapter.default.getDocumentElement());\r\n return offsetParent\r\n};\r\ninitRender.prototype.position = function() {\r\n if (!this[0]) {\r\n return\r\n }\r\n var offset;\r\n var marginTop = parseFloat(this.css(\"marginTop\"));\r\n var marginLeft = parseFloat(this.css(\"marginLeft\"));\r\n if (\"fixed\" === this.css(\"position\")) {\r\n offset = this[0].getBoundingClientRect();\r\n return {\r\n top: offset.top - marginTop,\r\n left: offset.left - marginLeft\r\n }\r\n }\r\n offset = this.offset();\r\n var offsetParent = this.offsetParent();\r\n var parentOffset = {\r\n top: 0,\r\n left: 0\r\n };\r\n if (\"HTML\" !== offsetParent[0].nodeName) {\r\n parentOffset = offsetParent.offset()\r\n }\r\n parentOffset = {\r\n top: parentOffset.top + parseFloat(offsetParent.css(\"borderTopWidth\")),\r\n left: parentOffset.left + parseFloat(offsetParent.css(\"borderLeftWidth\"))\r\n };\r\n return {\r\n top: offset.top - parentOffset.top - marginTop,\r\n left: offset.left - parentOffset.left - marginLeft\r\n }\r\n};\r\n[{\r\n name: \"scrollLeft\",\r\n offsetProp: \"pageXOffset\",\r\n scrollWindow: function(win, value) {\r\n win.scrollTo(value, win.pageYOffset)\r\n }\r\n}, {\r\n name: \"scrollTop\",\r\n offsetProp: \"pageYOffset\",\r\n scrollWindow: function(win, value) {\r\n win.scrollTo(win.pageXOffset, value)\r\n }\r\n}].forEach(function(directionStrategy) {\r\n var propName = directionStrategy.name;\r\n initRender.prototype[propName] = function(value) {\r\n if (!this[0]) {\r\n return\r\n }\r\n var window = getWindowByElement(this[0]);\r\n if (void 0 === value) {\r\n return window ? window[directionStrategy.offsetProp] : this[0][propName]\r\n }\r\n if (window) {\r\n directionStrategy.scrollWindow(window, value)\r\n } else {\r\n this[0][propName] = value\r\n }\r\n return this\r\n }\r\n});\r\ninitRender.prototype.data = function(key, value) {\r\n if (!this[0]) {\r\n return\r\n }\r\n if (arguments.length < 2) {\r\n return _element_data.data.call(renderer, this[0], key)\r\n }\r\n _element_data.data.call(renderer, this[0], key, value);\r\n return this\r\n};\r\ninitRender.prototype.removeData = function(key) {\r\n this[0] && (0, _element_data.removeData)(this[0], key);\r\n return this\r\n};\r\nvar rendererWrapper = function() {\r\n return renderer.apply(this, arguments)\r\n};\r\nObject.defineProperty(rendererWrapper, \"fn\", {\r\n enumerable: true,\r\n configurable: true,\r\n get: function() {\r\n return renderer.fn\r\n },\r\n set: function(value) {\r\n renderer.fn = value\r\n }\r\n});\r\nvar _default = {\r\n set: function(strategy) {\r\n renderer = strategy\r\n },\r\n get: function() {\r\n return rendererWrapper\r\n }\r\n};\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.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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","/*!\n * devextreme-vue\n * Version: 20.2.6\n * Build date: Tue Mar 16 2021\n *\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-vue\n */\n\n\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar config_1 = require(\"./config\");\nvar templates_discovering_1 = require(\"./templates-discovering\");\nvar domAdapter = require(\"devextreme/core/dom_adapter\");\nvar events = require(\"devextreme/events\");\nvar constants_1 = require(\"./constants\");\nvar helpers_1 = require(\"./helpers\");\nvar TemplatesManager = /** @class */ (function () {\n function TemplatesManager(component) {\n this._slots = {};\n this._templates = {};\n this._isDirty = false;\n this._component = component;\n this.discover();\n }\n TemplatesManager.prototype.discover = function () {\n var slots = templates_discovering_1.discover(this._component);\n this._slots = __assign(__assign({}, this._slots), slots);\n if (!helpers_1.allKeysAreEqual(this._templates, slots)) {\n this._prepareTemplates();\n }\n };\n Object.defineProperty(TemplatesManager.prototype, \"templates\", {\n get: function () {\n return this._templates;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(TemplatesManager.prototype, \"isDirty\", {\n get: function () {\n return this._isDirty;\n },\n enumerable: true,\n configurable: true\n });\n TemplatesManager.prototype.resetDirtyFlag = function () {\n this._isDirty = false;\n };\n TemplatesManager.prototype._prepareTemplates = function () {\n this._templates = {};\n for (var _i = 0, _a = Object.keys(this._slots); _i < _a.length; _i++) {\n var name_1 = _a[_i];\n this._templates[name_1] = this.createDxTemplate(name_1);\n }\n this._isDirty = true;\n };\n TemplatesManager.prototype.createDxTemplate = function (name) {\n var _this = this;\n return {\n render: function (data) {\n var scopeData = config_1.getOption(\"useLegacyTemplateEngine\")\n ? data.model\n : { data: data.model, index: data.index };\n var container = data.container.get ? data.container.get(0) : data.container;\n var placeholder = document.createElement(\"div\");\n container.appendChild(placeholder);\n var mountedTemplate = templates_discovering_1.mountTemplate(function () { return _this._slots[name]; }, _this._component, scopeData, name, placeholder);\n var element = mountedTemplate.$el;\n domAdapter.setClass(element, constants_1.DX_TEMPLATE_WRAPPER_CLASS, true);\n if (element.nodeType === Node.TEXT_NODE) {\n var removalListener = document.createElement(container.nodeName === \"TABLE\" ? \"tbody\" : \"span\");\n removalListener.style.display = \"none\";\n container.appendChild(removalListener);\n events.one(removalListener, constants_1.DX_REMOVE_EVENT, mountedTemplate.$destroy.bind(mountedTemplate));\n }\n else {\n events.one(element, constants_1.DX_REMOVE_EVENT, mountedTemplate.$destroy.bind(mountedTemplate));\n }\n return element;\n }\n };\n };\n return TemplatesManager;\n}());\nexports.TemplatesManager = TemplatesManager;\n","/**\r\n * DevExtreme (localization/currency.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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 _default = {\r\n _formatNumberCore: function(value, format, formatConfig) {\r\n if (\"currency\" === format) {\r\n formatConfig.precision = formatConfig.precision || 0;\r\n var result = this.format(value, (0, _extend.extend)({}, formatConfig, {\r\n type: \"fixedpoint\"\r\n }));\r\n var currencyPart = this.getCurrencySymbol().symbol.replace(\"$\", \"$$$$\");\r\n result = result.replace(/^(\\D*)(\\d.*)/, \"$1\" + currencyPart + \"$2\");\r\n return result\r\n }\r\n return this.callBase.apply(this, arguments)\r\n },\r\n getCurrencySymbol: function() {\r\n return {\r\n symbol: \"$\"\r\n }\r\n },\r\n getOpenXmlCurrencyFormat: function() {\r\n return \"$#,##0{0}_);\\\\($#,##0{0}\\\\)\"\r\n }\r\n};\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (ui/resizable.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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 _translator = require(\"../animation/translator\");\r\nvar _component_registrator = _interopRequireDefault(require(\"../core/component_registrator\"));\r\nvar _dom_component = _interopRequireDefault(require(\"../core/dom_component\"));\r\nvar _renderer = _interopRequireDefault(require(\"../core/renderer\"));\r\nvar _array = require(\"../core/utils/array\");\r\nvar _common = require(\"../core/utils/common\");\r\nvar _extend = require(\"../core/utils/extend\");\r\nvar _iterator = require(\"../core/utils/iterator\");\r\nvar _math = require(\"../core/utils/math\");\r\nvar _type = require(\"../core/utils/type\");\r\nvar _window = require(\"../core/utils/window\");\r\nvar _events_engine = _interopRequireDefault(require(\"../events/core/events_engine\"));\r\nvar _drag = require(\"../events/drag\");\r\nvar _position = require(\"../core/utils/position\");\r\nvar _index = require(\"../events/utils/index\");\r\nvar _visibility_change = require(\"../events/visibility_change\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar RESIZABLE = \"dxResizable\";\r\nvar RESIZABLE_CLASS = \"dx-resizable\";\r\nvar RESIZABLE_RESIZING_CLASS = \"dx-resizable-resizing\";\r\nvar RESIZABLE_HANDLE_CLASS = \"dx-resizable-handle\";\r\nvar RESIZABLE_HANDLE_TOP_CLASS = \"dx-resizable-handle-top\";\r\nvar RESIZABLE_HANDLE_BOTTOM_CLASS = \"dx-resizable-handle-bottom\";\r\nvar RESIZABLE_HANDLE_LEFT_CLASS = \"dx-resizable-handle-left\";\r\nvar RESIZABLE_HANDLE_RIGHT_CLASS = \"dx-resizable-handle-right\";\r\nvar RESIZABLE_HANDLE_CORNER_CLASS = \"dx-resizable-handle-corner\";\r\nvar DRAGSTART_START_EVENT_NAME = (0, _index.addNamespace)(_drag.start, RESIZABLE);\r\nvar DRAGSTART_EVENT_NAME = (0, _index.addNamespace)(_drag.move, RESIZABLE);\r\nvar DRAGSTART_END_EVENT_NAME = (0, _index.addNamespace)(_drag.end, RESIZABLE);\r\nvar SIDE_BORDER_WIDTH_STYLES = {\r\n left: \"borderLeftWidth\",\r\n top: \"borderTopWidth\",\r\n right: \"borderRightWidth\",\r\n bottom: \"borderBottomWidth\"\r\n};\r\nvar Resizable = _dom_component.default.inherit({\r\n _getDefaultOptions: function() {\r\n return (0, _extend.extend)(this.callBase(), {\r\n handles: \"all\",\r\n step: \"1\",\r\n stepPrecision: \"simple\",\r\n area: void 0,\r\n minWidth: 30,\r\n maxWidth: 1 / 0,\r\n minHeight: 30,\r\n maxHeight: 1 / 0,\r\n onResizeStart: null,\r\n onResize: null,\r\n onResizeEnd: null,\r\n roundStepValue: true\r\n })\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this.$element().addClass(RESIZABLE_CLASS)\r\n },\r\n _initMarkup: function() {\r\n this.callBase();\r\n this._renderHandles()\r\n },\r\n _render: function() {\r\n this.callBase();\r\n this._renderActions()\r\n },\r\n _renderActions: function() {\r\n this._resizeStartAction = this._createActionByOption(\"onResizeStart\");\r\n this._resizeEndAction = this._createActionByOption(\"onResizeEnd\");\r\n this._resizeAction = this._createActionByOption(\"onResize\")\r\n },\r\n _renderHandles: function() {\r\n var _this = this;\r\n this._handles = [];\r\n var handles = this.option(\"handles\");\r\n if (\"none\" === handles) {\r\n return\r\n }\r\n var directions = \"all\" === handles ? [\"top\", \"bottom\", \"left\", \"right\"] : handles.split(\" \");\r\n (0, _iterator.each)(directions, function(index, handleName) {\r\n _this._renderHandle(handleName)\r\n });\r\n (0, _array.inArray)(\"bottom\", directions) + 1 && (0, _array.inArray)(\"right\", directions) + 1 && this._renderHandle(\"corner-bottom-right\");\r\n (0, _array.inArray)(\"bottom\", directions) + 1 && (0, _array.inArray)(\"left\", directions) + 1 && this._renderHandle(\"corner-bottom-left\");\r\n (0, _array.inArray)(\"top\", directions) + 1 && (0, _array.inArray)(\"right\", directions) + 1 && this._renderHandle(\"corner-top-right\");\r\n (0, _array.inArray)(\"top\", directions) + 1 && (0, _array.inArray)(\"left\", directions) + 1 && this._renderHandle(\"corner-top-left\");\r\n this._attachEventHandlers()\r\n },\r\n _renderHandle: function(handleName) {\r\n var $handle = (0, _renderer.default)(\"
\").addClass(RESIZABLE_HANDLE_CLASS).addClass(RESIZABLE_HANDLE_CLASS + \"-\" + handleName).appendTo(this.$element());\r\n this._handles.push($handle)\r\n },\r\n _attachEventHandlers: function() {\r\n if (this.option(\"disabled\")) {\r\n return\r\n }\r\n var handlers = {};\r\n handlers[DRAGSTART_START_EVENT_NAME] = this._dragStartHandler.bind(this);\r\n handlers[DRAGSTART_EVENT_NAME] = this._dragHandler.bind(this);\r\n handlers[DRAGSTART_END_EVENT_NAME] = this._dragEndHandler.bind(this);\r\n this._handles.forEach(function(handleElement) {\r\n _events_engine.default.on(handleElement, handlers, {\r\n direction: \"both\",\r\n immediate: true\r\n })\r\n })\r\n },\r\n _detachEventHandlers: function() {\r\n this._handles.forEach(function(handleElement) {\r\n _events_engine.default.off(handleElement)\r\n })\r\n },\r\n _toggleEventHandlers: function(shouldAttachEvents) {\r\n shouldAttachEvents ? this._attachEventHandlers() : this._detachEventHandlers()\r\n },\r\n _dragStartHandler: function(e) {\r\n var $element = this.$element();\r\n if ($element.is(\".dx-state-disabled, .dx-state-disabled *\")) {\r\n e.cancel = true;\r\n return\r\n }\r\n this._toggleResizingClass(true);\r\n this._movingSides = this._getMovingSides(e);\r\n this._elementLocation = (0, _translator.locate)($element);\r\n var elementRect = (0, _position.getBoundingRect)($element.get(0));\r\n this._elementSize = {\r\n width: elementRect.width,\r\n height: elementRect.height\r\n };\r\n this._renderDragOffsets(e);\r\n this._resizeStartAction({\r\n event: e,\r\n width: this._elementSize.width,\r\n height: this._elementSize.height,\r\n handles: this._movingSides\r\n });\r\n e.targetElements = null\r\n },\r\n _toggleResizingClass: function(value) {\r\n this.$element().toggleClass(RESIZABLE_RESIZING_CLASS, value)\r\n },\r\n _renderDragOffsets: function(e) {\r\n var area = this._getArea();\r\n if (!area) {\r\n return\r\n }\r\n var $handle = (0, _renderer.default)(e.target).closest(\".\" + RESIZABLE_HANDLE_CLASS);\r\n var handleWidth = $handle.outerWidth();\r\n var handleHeight = $handle.outerHeight();\r\n var handleOffset = $handle.offset();\r\n var areaOffset = area.offset;\r\n var scrollOffset = this._getAreaScrollOffset();\r\n e.maxLeftOffset = handleOffset.left - areaOffset.left - scrollOffset.scrollX;\r\n e.maxRightOffset = areaOffset.left + area.width - handleOffset.left - handleWidth + scrollOffset.scrollX;\r\n e.maxTopOffset = handleOffset.top - areaOffset.top - scrollOffset.scrollY;\r\n e.maxBottomOffset = areaOffset.top + area.height - handleOffset.top - handleHeight + scrollOffset.scrollY\r\n },\r\n _getBorderWidth: function($element, direction) {\r\n if ((0, _type.isWindow)($element.get(0))) {\r\n return 0\r\n }\r\n var borderWidth = $element.css(SIDE_BORDER_WIDTH_STYLES[direction]);\r\n return parseInt(borderWidth) || 0\r\n },\r\n _dragHandler: function(e) {\r\n var $element = this.$element();\r\n var sides = this._movingSides;\r\n var location = this._elementLocation;\r\n var size = this._elementSize;\r\n var offset = this._getOffset(e);\r\n var width = size.width + offset.x * (sides.left ? -1 : 1);\r\n var height = size.height + offset.y * (sides.top ? -1 : 1);\r\n if (offset.x || \"strict\" === this.option(\"stepPrecision\")) {\r\n this._renderWidth(width)\r\n }\r\n if (offset.y || \"strict\" === this.option(\"stepPrecision\")) {\r\n this._renderHeight(height)\r\n }\r\n var elementRect = (0, _position.getBoundingRect)($element.get(0));\r\n var offsetTop = offset.y - ((elementRect.height || height) - height);\r\n var offsetLeft = offset.x - ((elementRect.width || width) - width);\r\n (0, _translator.move)($element, {\r\n top: location.top + (sides.top ? offsetTop : 0),\r\n left: location.left + (sides.left ? offsetLeft : 0)\r\n });\r\n this._resizeAction({\r\n event: e,\r\n width: this.option(\"width\") || width,\r\n height: this.option(\"height\") || height,\r\n handles: this._movingSides\r\n });\r\n (0, _visibility_change.triggerResizeEvent)($element)\r\n },\r\n _getOffset: function(e) {\r\n var offset = e.offset;\r\n var steps = (0, _common.pairToObject)(this.option(\"step\"), !this.option(\"roundStepValue\"));\r\n var sides = this._getMovingSides(e);\r\n var strictPrecision = \"strict\" === this.option(\"stepPrecision\");\r\n if (!sides.left && !sides.right) {\r\n offset.x = 0\r\n }\r\n if (!sides.top && !sides.bottom) {\r\n offset.y = 0\r\n }\r\n return strictPrecision ? this._getStrictOffset(offset, steps, sides) : this._getSimpleOffset(offset, steps)\r\n },\r\n _getSimpleOffset: function(offset, steps) {\r\n return {\r\n x: offset.x - offset.x % steps.h,\r\n y: offset.y - offset.y % steps.v\r\n }\r\n },\r\n _getStrictOffset: function(offset, steps, sides) {\r\n var location = this._elementLocation;\r\n var size = this._elementSize;\r\n var xPos = sides.left ? location.left : location.left + size.width;\r\n var yPos = sides.top ? location.top : location.top + size.height;\r\n var newXShift = (xPos + offset.x) % steps.h;\r\n var newYShift = (yPos + offset.y) % steps.v;\r\n var sign = Math.sign || function(x) {\r\n x = +x;\r\n if (0 === x || isNaN(x)) {\r\n return x\r\n }\r\n return x > 0 ? 1 : -1\r\n };\r\n var separatorOffset = function(steps, offset) {\r\n return (1 + .2 * sign(offset)) % 1 * steps\r\n };\r\n var isSmallOffset = function(offset, steps) {\r\n return Math.abs(offset) < .2 * steps\r\n };\r\n var newOffsetX = offset.x - newXShift;\r\n var newOffsetY = offset.y - newYShift;\r\n if (newXShift > separatorOffset(steps.h, offset.x)) {\r\n newOffsetX += steps.h\r\n }\r\n if (newYShift > separatorOffset(steps.v, offset.y)) {\r\n newOffsetY += steps.v\r\n }\r\n return {\r\n x: (sides.left || sides.right) && !isSmallOffset(offset.x, steps.h) ? newOffsetX : 0,\r\n y: (sides.top || sides.bottom) && !isSmallOffset(offset.y, steps.v) ? newOffsetY : 0\r\n }\r\n },\r\n _getMovingSides: function(e) {\r\n var $target = (0, _renderer.default)(e.target);\r\n var hasCornerTopLeftClass = $target.hasClass(RESIZABLE_HANDLE_CORNER_CLASS + \"-top-left\");\r\n var hasCornerTopRightClass = $target.hasClass(RESIZABLE_HANDLE_CORNER_CLASS + \"-top-right\");\r\n var hasCornerBottomLeftClass = $target.hasClass(RESIZABLE_HANDLE_CORNER_CLASS + \"-bottom-left\");\r\n var hasCornerBottomRightClass = $target.hasClass(RESIZABLE_HANDLE_CORNER_CLASS + \"-bottom-right\");\r\n return {\r\n top: $target.hasClass(RESIZABLE_HANDLE_TOP_CLASS) || hasCornerTopLeftClass || hasCornerTopRightClass,\r\n left: $target.hasClass(RESIZABLE_HANDLE_LEFT_CLASS) || hasCornerTopLeftClass || hasCornerBottomLeftClass,\r\n bottom: $target.hasClass(RESIZABLE_HANDLE_BOTTOM_CLASS) || hasCornerBottomLeftClass || hasCornerBottomRightClass,\r\n right: $target.hasClass(RESIZABLE_HANDLE_RIGHT_CLASS) || hasCornerTopRightClass || hasCornerBottomRightClass\r\n }\r\n },\r\n _getArea: function() {\r\n var area = this.option(\"area\");\r\n if ((0, _type.isFunction)(area)) {\r\n area = area.call(this)\r\n }\r\n if ((0, _type.isPlainObject)(area)) {\r\n return this._getAreaFromObject(area)\r\n }\r\n return this._getAreaFromElement(area)\r\n },\r\n _getAreaScrollOffset: function() {\r\n var area = this.option(\"area\");\r\n var isElement = !(0, _type.isFunction)(area) && !(0, _type.isPlainObject)(area);\r\n var scrollOffset = {\r\n scrollY: 0,\r\n scrollX: 0\r\n };\r\n if (isElement) {\r\n var areaElement = (0, _renderer.default)(area)[0];\r\n if ((0, _type.isWindow)(areaElement)) {\r\n scrollOffset.scrollX = areaElement.pageXOffset;\r\n scrollOffset.scrollY = areaElement.pageYOffset\r\n }\r\n }\r\n return scrollOffset\r\n },\r\n _getAreaFromObject: function(area) {\r\n var result = {\r\n width: area.right - area.left,\r\n height: area.bottom - area.top,\r\n offset: {\r\n left: area.left,\r\n top: area.top\r\n }\r\n };\r\n this._correctAreaGeometry(result);\r\n return result\r\n },\r\n _getAreaFromElement: function(area) {\r\n var $area = (0, _renderer.default)(area);\r\n var result;\r\n if ($area.length) {\r\n result = {\r\n width: $area.innerWidth(),\r\n height: $area.innerHeight(),\r\n offset: (0, _extend.extend)({\r\n top: 0,\r\n left: 0\r\n }, (0, _type.isWindow)($area[0]) ? {} : $area.offset())\r\n };\r\n this._correctAreaGeometry(result, $area)\r\n }\r\n return result\r\n },\r\n _correctAreaGeometry: function(result, $area) {\r\n var areaBorderLeft = $area ? this._getBorderWidth($area, \"left\") : 0;\r\n var areaBorderTop = $area ? this._getBorderWidth($area, \"top\") : 0;\r\n result.offset.left += areaBorderLeft + this._getBorderWidth(this.$element(), \"left\");\r\n result.offset.top += areaBorderTop + this._getBorderWidth(this.$element(), \"top\");\r\n result.width -= this.$element().outerWidth() - this.$element().innerWidth();\r\n result.height -= this.$element().outerHeight() - this.$element().innerHeight()\r\n },\r\n _dragEndHandler: function(e) {\r\n var $element = this.$element();\r\n this._resizeEndAction({\r\n event: e,\r\n width: $element.outerWidth(),\r\n height: $element.outerHeight(),\r\n handles: this._movingSides\r\n });\r\n this._toggleResizingClass(false)\r\n },\r\n _renderWidth: function(width) {\r\n this.option(\"width\", (0, _math.fitIntoRange)(width, this.option(\"minWidth\"), this.option(\"maxWidth\")))\r\n },\r\n _renderHeight: function(height) {\r\n this.option(\"height\", (0, _math.fitIntoRange)(height, this.option(\"minHeight\"), this.option(\"maxHeight\")))\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"disabled\":\r\n this._toggleEventHandlers(!args.value);\r\n this.callBase(args);\r\n break;\r\n case \"handles\":\r\n this._invalidate();\r\n break;\r\n case \"minWidth\":\r\n case \"maxWidth\":\r\n (0, _window.hasWindow)() && this._renderWidth(this.$element().outerWidth());\r\n break;\r\n case \"minHeight\":\r\n case \"maxHeight\":\r\n (0, _window.hasWindow)() && this._renderHeight(this.$element().outerHeight());\r\n break;\r\n case \"onResize\":\r\n case \"onResizeStart\":\r\n case \"onResizeEnd\":\r\n this._renderActions();\r\n break;\r\n case \"area\":\r\n case \"stepPrecision\":\r\n case \"step\":\r\n case \"roundStepValue\":\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _clean: function() {\r\n this.$element().find(\".\" + RESIZABLE_HANDLE_CLASS).remove()\r\n },\r\n _useTemplates: function() {\r\n return false\r\n }\r\n});\r\n(0, _component_registrator.default)(RESIZABLE, Resizable);\r\nvar _default = Resizable;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = module.exports;\r\n","/**\r\n * DevExtreme (core/polyfills/weak_map.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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(\"../utils/array\");\r\nvar _window = require(\"../utils/window\");\r\nvar weakMap = (0, _window.hasWindow)() ? (0, _window.getWindow)().WeakMap : WeakMap;\r\nif (!weakMap) {\r\n weakMap = function() {\r\n var keys = [];\r\n var values = [];\r\n this.set = function(key, value) {\r\n var index = (0, _array.inArray)(key, keys);\r\n if (index === -1) {\r\n keys.push(key);\r\n values.push(value)\r\n } else {\r\n values[index] = value\r\n }\r\n };\r\n this.get = function(key) {\r\n var index = (0, _array.inArray)(key, keys);\r\n if (index === -1) {\r\n return\r\n }\r\n return values[index]\r\n };\r\n this.has = function(key) {\r\n var index = (0, _array.inArray)(key, keys);\r\n if (index === -1) {\r\n return false\r\n }\r\n return true\r\n };\r\n this.delete = function(key) {\r\n var index = (0, _array.inArray)(key, keys);\r\n if (index === -1) {\r\n return\r\n }\r\n keys.splice(index, 1);\r\n values.splice(index, 1)\r\n }\r\n }\r\n}\r\nvar _default = weakMap;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (ui/validation/default_adapter.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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 _class = _interopRequireDefault(require(\"../../core/class\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar DefaultAdapter = _class.default.inherit({\r\n ctor: function(editor, validator) {\r\n var _this = this;\r\n this.editor = editor;\r\n this.validator = validator;\r\n this.validationRequestsCallbacks = [];\r\n var handler = function(args) {\r\n _this.validationRequestsCallbacks.forEach(function(item) {\r\n return item(args)\r\n })\r\n };\r\n editor.validationRequest.add(handler);\r\n editor.on(\"disposing\", function() {\r\n editor.validationRequest.remove(handler)\r\n })\r\n },\r\n getValue: function() {\r\n return this.editor.option(\"value\")\r\n },\r\n getCurrentValidationError: function() {\r\n return this.editor.option(\"validationError\")\r\n },\r\n bypass: function() {\r\n return this.editor.option(\"disabled\")\r\n },\r\n applyValidationResults: function(params) {\r\n this.editor.option({\r\n validationErrors: params.brokenRules,\r\n validationStatus: params.status\r\n })\r\n },\r\n reset: function() {\r\n this.editor.reset()\r\n },\r\n focus: function() {\r\n this.editor.focus()\r\n }\r\n});\r\nvar _default = DefaultAdapter;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (core/version.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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 _default = \"20.2.6\";\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (events/pointer/touch.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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 (core/templates/template_base.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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.TemplateBase = exports.renderedCallbacks = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../renderer\"));\r\nvar _dom_adapter = _interopRequireDefault(require(\"../dom_adapter\"));\r\nvar _callbacks = _interopRequireDefault(require(\"../utils/callbacks\"));\r\nvar _dom = require(\"../utils/dom\");\r\nvar _visibility_change = require(\"../../events/visibility_change\");\r\nvar _errors = _interopRequireDefault(require(\"../errors\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar renderedCallbacks = (0, _callbacks.default)({\r\n syncStrategy: true\r\n});\r\nexports.renderedCallbacks = renderedCallbacks;\r\nvar TemplateBase = function() {\r\n function TemplateBase() {}\r\n var _proto = TemplateBase.prototype;\r\n _proto.render = function(options) {\r\n options = options || {};\r\n var onRendered = options.onRendered;\r\n delete options.onRendered;\r\n var $result = this._renderCore(options);\r\n this._ensureResultInContainer($result, options.container);\r\n renderedCallbacks.fire($result, options.container);\r\n onRendered && onRendered();\r\n return $result\r\n };\r\n _proto._ensureResultInContainer = function($result, container) {\r\n if (!container) {\r\n return\r\n }\r\n var $container = (0, _renderer.default)(container);\r\n var resultInContainer = (0, _dom.contains)($container.get(0), $result.get(0));\r\n $container.append($result);\r\n if (resultInContainer) {\r\n return\r\n }\r\n var resultInBody = _dom_adapter.default.getBody().contains($container.get(0));\r\n if (!resultInBody) {\r\n return\r\n }(0, _visibility_change.triggerShownEvent)($result)\r\n };\r\n _proto._renderCore = function() {\r\n throw _errors.default.Error(\"E0001\")\r\n };\r\n return TemplateBase\r\n}();\r\nexports.TemplateBase = TemplateBase;\r\n","/**\r\n * DevExtreme (core/templates/empty_template.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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.EmptyTemplate = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../renderer\"));\r\nvar _template_base = require(\"./template_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 EmptyTemplate = function(_TemplateBase) {\r\n _inheritsLoose(EmptyTemplate, _TemplateBase);\r\n\r\n function EmptyTemplate() {\r\n return _TemplateBase.apply(this, arguments) || this\r\n }\r\n var _proto = EmptyTemplate.prototype;\r\n _proto._renderCore = function() {\r\n return (0, _renderer.default)()\r\n };\r\n return EmptyTemplate\r\n}(_template_base.TemplateBase);\r\nexports.EmptyTemplate = EmptyTemplate;\r\n","/**\r\n * DevExtreme (core/polyfills/promise.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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 _deferred = require(\"../../core/utils/deferred\");\r\nvar _window = require(\"../../core/utils/window\");\r\nvar promise = (0, _window.hasWindow)() ? (0, _window.getWindow)().Promise : Promise;\r\nif (!promise) {\r\n promise = function(resolver) {\r\n var d = new _deferred.Deferred;\r\n resolver(d.resolve.bind(this), d.reject.bind(this));\r\n return d.promise()\r\n };\r\n promise.resolve = function(val) {\r\n return (new _deferred.Deferred).resolve(val).promise()\r\n };\r\n promise.reject = function(val) {\r\n return (new _deferred.Deferred).reject(val).promise()\r\n };\r\n promise.all = function(promises) {\r\n return _deferred.when.apply(this, promises).then(function() {\r\n return [].slice.call(arguments)\r\n })\r\n }\r\n}\r\nvar _default = promise;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (ui/toast.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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 _window = require(\"../core/utils/window\");\r\nvar _dom_adapter = _interopRequireDefault(require(\"../core/dom_adapter\"));\r\nvar _events_engine = _interopRequireDefault(require(\"../events/core/events_engine\"));\r\nvar _ready_callbacks = _interopRequireDefault(require(\"../core/utils/ready_callbacks\"));\r\nvar _common = require(\"../core/utils/common\");\r\nvar _type = require(\"../core/utils/type\");\r\nvar _extend = require(\"../core/utils/extend\");\r\nvar _array = require(\"../core/utils/array\");\r\nvar _pointer = _interopRequireDefault(require(\"../events/pointer\"));\r\nvar _component_registrator = _interopRequireDefault(require(\"../core/component_registrator\"));\r\nvar _overlay = _interopRequireDefault(require(\"./overlay\"));\r\nvar _themes = require(\"./themes\");\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 ready = _ready_callbacks.default.add;\r\nvar TOAST_CLASS = \"dx-toast\";\r\nvar TOAST_CLASS_PREFIX = TOAST_CLASS + \"-\";\r\nvar TOAST_WRAPPER_CLASS = TOAST_CLASS_PREFIX + \"wrapper\";\r\nvar TOAST_CONTENT_CLASS = TOAST_CLASS_PREFIX + \"content\";\r\nvar TOAST_MESSAGE_CLASS = TOAST_CLASS_PREFIX + \"message\";\r\nvar TOAST_ICON_CLASS = TOAST_CLASS_PREFIX + \"icon\";\r\nvar WIDGET_NAME = \"dxToast\";\r\nvar toastTypes = [\"info\", \"warning\", \"error\", \"success\"];\r\nvar TOAST_STACK = [];\r\nvar FIRST_Z_INDEX_OFFSET = 8e3;\r\nvar visibleToastInstance = null;\r\nvar POSITION_ALIASES = {\r\n top: {\r\n my: \"top\",\r\n at: \"top\",\r\n of: null,\r\n offset: \"0 0\"\r\n },\r\n bottom: {\r\n my: \"bottom\",\r\n at: \"bottom\",\r\n of: null,\r\n offset: \"0 -20\"\r\n },\r\n center: {\r\n my: \"center\",\r\n at: \"center\",\r\n of: null,\r\n offset: \"0 0\"\r\n },\r\n right: {\r\n my: \"center right\",\r\n at: \"center right\",\r\n of: null,\r\n offset: \"0 0\"\r\n },\r\n left: {\r\n my: \"center left\",\r\n at: \"center left\",\r\n of: null,\r\n offset: \"0 0\"\r\n }\r\n};\r\nready(function() {\r\n _events_engine.default.subscribeGlobal(_dom_adapter.default.getDocument(), _pointer.default.down, function(e) {\r\n for (var i = TOAST_STACK.length - 1; i >= 0; i--) {\r\n if (!TOAST_STACK[i]._proxiedDocumentDownHandler(e)) {\r\n return\r\n }\r\n }\r\n })\r\n});\r\nvar Toast = _overlay.default.inherit({\r\n _getDefaultOptions: function() {\r\n return (0, _extend.extend)(this.callBase(), {\r\n message: \"\",\r\n type: \"info\",\r\n displayTime: 2e3,\r\n position: \"bottom center\",\r\n animation: {\r\n show: {\r\n type: \"fade\",\r\n duration: 400,\r\n from: 0,\r\n to: 1\r\n },\r\n hide: {\r\n type: \"fade\",\r\n duration: 400,\r\n to: 0\r\n }\r\n },\r\n shading: false,\r\n height: \"auto\",\r\n hideTopOverlayHandler: null,\r\n closeOnSwipe: true,\r\n closeOnClick: false,\r\n resizeEnabled: false\r\n })\r\n },\r\n _defaultOptionsRules: function() {\r\n return this.callBase().concat([{\r\n device: {\r\n platform: \"android\"\r\n },\r\n options: {\r\n closeOnOutsideClick: true,\r\n width: \"auto\",\r\n position: {\r\n at: \"bottom left\",\r\n my: \"bottom left\",\r\n offset: \"20 -20\"\r\n },\r\n animation: {\r\n show: {\r\n type: \"slide\",\r\n duration: 200,\r\n from: {\r\n position: {\r\n my: \"top\",\r\n at: \"bottom\",\r\n of: window\r\n }\r\n }\r\n },\r\n hide: {\r\n type: \"slide\",\r\n duration: 200,\r\n to: {\r\n position: {\r\n my: \"top\",\r\n at: \"bottom\",\r\n of: window\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }, {\r\n device: function(_device) {\r\n var isPhone = \"phone\" === _device.deviceType;\r\n var isAndroid = \"android\" === _device.platform;\r\n return isPhone && isAndroid\r\n },\r\n options: {\r\n width: function() {\r\n var _window$visualViewpor;\r\n return (null === window || void 0 === window ? void 0 : null === (_window$visualViewpor = window.visualViewport) || void 0 === _window$visualViewpor ? void 0 : _window$visualViewpor.width) || (0, _renderer.default)(window).width()\r\n },\r\n position: {\r\n at: \"bottom center\",\r\n my: \"bottom center\",\r\n offset: \"0 0\"\r\n }\r\n }\r\n }, {\r\n device: function(_device2) {\r\n return \"phone\" === _device2.deviceType\r\n },\r\n options: {\r\n width: function() {\r\n var _window$visualViewpor2;\r\n return (null === window || void 0 === window ? void 0 : null === (_window$visualViewpor2 = window.visualViewport) || void 0 === _window$visualViewpor2 ? void 0 : _window$visualViewpor2.width) || (0, _renderer.default)(window).width()\r\n }\r\n }\r\n }, {\r\n device: function() {\r\n return (0, _themes.isMaterial)()\r\n },\r\n options: {\r\n minWidth: 344,\r\n maxWidth: 568,\r\n displayTime: 4e3\r\n }\r\n }])\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this._posStringToObject()\r\n },\r\n _renderContentImpl: function() {\r\n if (this.option(\"message\")) {\r\n this._message = (0, _renderer.default)(\"
\").addClass(TOAST_MESSAGE_CLASS).text(this.option(\"message\")).appendTo(this.$content())\r\n }\r\n this.setAria(\"role\", \"alert\", this._message);\r\n if ((0, _array.inArray)(this.option(\"type\").toLowerCase(), toastTypes) > -1) {\r\n this.$content().prepend((0, _renderer.default)(\"
\").addClass(TOAST_ICON_CLASS))\r\n }\r\n this.callBase()\r\n },\r\n _render: function() {\r\n this.callBase();\r\n this.$element().addClass(TOAST_CLASS);\r\n this._wrapper().addClass(TOAST_WRAPPER_CLASS);\r\n this._$content.addClass(TOAST_CLASS_PREFIX + String(this.option(\"type\")).toLowerCase());\r\n this.$content().addClass(TOAST_CONTENT_CLASS);\r\n this._toggleCloseEvents(\"Swipe\");\r\n this._toggleCloseEvents(\"Click\")\r\n },\r\n _renderScrollTerminator: _common.noop,\r\n _toggleCloseEvents: function(event) {\r\n var dxEvent = \"dx\" + event.toLowerCase();\r\n _events_engine.default.off(this._$content, dxEvent);\r\n this.option(\"closeOn\" + event) && _events_engine.default.on(this._$content, dxEvent, this.hide.bind(this))\r\n },\r\n _posStringToObject: function() {\r\n if (!(0, _type.isString)(this.option(\"position\"))) {\r\n return\r\n }\r\n var verticalPosition = this.option(\"position\").split(\" \")[0];\r\n var horizontalPosition = this.option(\"position\").split(\" \")[1];\r\n this.option(\"position\", (0, _extend.extend)({}, POSITION_ALIASES[verticalPosition]));\r\n switch (horizontalPosition) {\r\n case \"center\":\r\n case \"left\":\r\n case \"right\":\r\n this.option(\"position\").at += \" \" + horizontalPosition;\r\n this.option(\"position\").my += \" \" + horizontalPosition\r\n }\r\n },\r\n _show: function() {\r\n if (visibleToastInstance && visibleToastInstance !== this) {\r\n clearTimeout(visibleToastInstance._hideTimeout);\r\n visibleToastInstance.hide()\r\n }\r\n visibleToastInstance = this;\r\n return this.callBase.apply(this, arguments).done(function() {\r\n clearTimeout(this._hideTimeout);\r\n this._hideTimeout = setTimeout(this.hide.bind(this), this.option(\"displayTime\"))\r\n }.bind(this))\r\n },\r\n _hide: function() {\r\n visibleToastInstance = null;\r\n return this.callBase.apply(this, arguments)\r\n },\r\n _overlayStack: function() {\r\n return TOAST_STACK\r\n },\r\n _zIndexInitValue: function() {\r\n return this.callBase() + FIRST_Z_INDEX_OFFSET\r\n },\r\n _dispose: function() {\r\n clearTimeout(this._hideTimeout);\r\n visibleToastInstance = null;\r\n this.callBase()\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"type\":\r\n this._$content.removeClass(TOAST_CLASS_PREFIX + args.previousValue);\r\n this._$content.addClass(TOAST_CLASS_PREFIX + String(args.value).toLowerCase());\r\n break;\r\n case \"message\":\r\n if (this._message) {\r\n this._message.text(args.value)\r\n }\r\n break;\r\n case \"closeOnSwipe\":\r\n this._toggleCloseEvents(\"Swipe\");\r\n break;\r\n case \"closeOnClick\":\r\n this._toggleCloseEvents(\"Click\");\r\n break;\r\n case \"displayTime\":\r\n case \"position\":\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n }\r\n});\r\n(0, _component_registrator.default)(WIDGET_NAME, Toast);\r\nvar _default = Toast;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = module.exports;\r\n","/**\r\n * DevExtreme (core/postponed_operations.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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.PostponedOperations = void 0;\r\nvar _deferred = require(\"./utils/deferred\");\r\nvar _type = require(\"./utils/type\");\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 && Symbol.iterator in Object(iter)) {\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 PostponedOperations = function() {\r\n function PostponedOperations() {\r\n this._postponedOperations = {}\r\n }\r\n var _proto = PostponedOperations.prototype;\r\n _proto.add = function(key, fn, postponedPromise) {\r\n if (key in this._postponedOperations) {\r\n postponedPromise && this._postponedOperations[key].promises.push(postponedPromise)\r\n } else {\r\n var completePromise = new _deferred.Deferred;\r\n this._postponedOperations[key] = {\r\n fn: fn,\r\n completePromise: completePromise,\r\n promises: postponedPromise ? [postponedPromise] : []\r\n }\r\n }\r\n return this._postponedOperations[key].completePromise.promise()\r\n };\r\n _proto.callPostponedOperations = function() {\r\n for (var key in this._postponedOperations) {\r\n var operation = this._postponedOperations[key];\r\n if ((0, _type.isDefined)(operation)) {\r\n if (operation.promises && operation.promises.length) {\r\n _deferred.when.apply(void 0, _toConsumableArray(operation.promises)).done(operation.fn).then(operation.completePromise.resolve)\r\n } else {\r\n operation.fn().done(operation.completePromise.resolve)\r\n }\r\n }\r\n }\r\n this._postponedOperations = {}\r\n };\r\n return PostponedOperations\r\n}();\r\nexports.PostponedOperations = PostponedOperations;\r\n","/**\r\n * DevExtreme (core/dom_component.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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 _config = _interopRequireDefault(require(\"./config\"));\r\nvar _errors = _interopRequireDefault(require(\"./errors\"));\r\nvar _resize_callbacks = _interopRequireDefault(require(\"../core/utils/resize_callbacks\"));\r\nvar _component = _interopRequireDefault(require(\"./component\"));\r\nvar _template_manager = require(\"./template_manager\");\r\nvar _public_component = require(\"./utils/public_component\");\r\nvar _element_data = require(\"./element_data\");\r\nvar _iterator = require(\"./utils/iterator\");\r\nvar _extend = require(\"./utils/extend\");\r\nvar _element = require(\"../core/element\");\r\nvar _common = require(\"./utils/common\");\r\nvar _array = require(\"./utils/array\");\r\nvar _type = require(\"./utils/type\");\r\nvar _window = require(\"../core/utils/window\");\r\nvar _short = require(\"../events/short\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar abstract = _component.default.abstract;\r\nvar DOMComponent = _component.default.inherit({\r\n _getDefaultOptions: function() {\r\n return (0, _extend.extend)(this.callBase(), {\r\n width: void 0,\r\n height: void 0,\r\n rtlEnabled: (0, _config.default)().rtlEnabled,\r\n elementAttr: {},\r\n disabled: false,\r\n integrationOptions: {}\r\n }, this._useTemplates() ? _template_manager.TemplateManager.createDefaultOptions() : {})\r\n },\r\n ctor: function(element, options) {\r\n this._customClass = null;\r\n this._createElement(element);\r\n (0, _public_component.attachInstanceToElement)(this._$element, this, this._dispose);\r\n this.callBase(options)\r\n },\r\n _createElement: function(element) {\r\n this._$element = (0, _renderer.default)(element)\r\n },\r\n _getSynchronizableOptionsForCreateComponent: function() {\r\n return [\"rtlEnabled\", \"disabled\", \"templatesRenderAsynchronously\"]\r\n },\r\n _visibilityChanged: abstract,\r\n _dimensionChanged: abstract,\r\n _init: function() {\r\n this.callBase();\r\n this._attachWindowResizeCallback();\r\n this._initTemplateManager()\r\n },\r\n _setOptionsByDevice: function(instanceCustomRules) {\r\n this.callBase([].concat(this.constructor._classCustomRules || [], instanceCustomRules || []))\r\n },\r\n _isInitialOptionValue: function(name) {\r\n var isCustomOption = this.constructor._classCustomRules && Object.prototype.hasOwnProperty.call(this._convertRulesToOptions(this.constructor._classCustomRules), name);\r\n return !isCustomOption && this.callBase(name)\r\n },\r\n _attachWindowResizeCallback: function() {\r\n if (this._isDimensionChangeSupported()) {\r\n var windowResizeCallBack = this._windowResizeCallBack = this._dimensionChanged.bind(this);\r\n _resize_callbacks.default.add(windowResizeCallBack)\r\n }\r\n },\r\n _isDimensionChangeSupported: function() {\r\n return this._dimensionChanged !== abstract\r\n },\r\n _renderComponent: function() {\r\n this._initMarkup();\r\n (0, _window.hasWindow)() && this._render()\r\n },\r\n _initMarkup: function() {\r\n var _ref = this.option() || {},\r\n rtlEnabled = _ref.rtlEnabled;\r\n this._renderElementAttributes();\r\n this._toggleRTLDirection(rtlEnabled);\r\n this._renderVisibilityChange();\r\n this._renderDimensions()\r\n },\r\n _render: function() {\r\n this._attachVisibilityChangeHandlers()\r\n },\r\n _renderElementAttributes: function() {\r\n var _ref2 = this.option() || {},\r\n elementAttr = _ref2.elementAttr;\r\n var attributes = (0, _extend.extend)({}, elementAttr);\r\n var classNames = attributes.class;\r\n delete attributes.class;\r\n this.$element().attr(attributes).removeClass(this._customClass).addClass(classNames);\r\n this._customClass = classNames\r\n },\r\n _renderVisibilityChange: function() {\r\n if (this._isDimensionChangeSupported()) {\r\n this._attachDimensionChangeHandlers()\r\n }\r\n if (this._isVisibilityChangeSupported()) {\r\n var $element = this.$element();\r\n $element.addClass(\"dx-visibility-change-handler\")\r\n }\r\n },\r\n _renderDimensions: function() {\r\n var $element = this.$element();\r\n var element = $element.get(0);\r\n var width = this._getOptionValue(\"width\", element);\r\n var height = this._getOptionValue(\"height\", element);\r\n if (this._isCssUpdateRequired(element, height, width)) {\r\n $element.css({\r\n width: null === width ? \"\" : width,\r\n height: null === height ? \"\" : height\r\n })\r\n }\r\n },\r\n _isCssUpdateRequired: function(element, height, width) {\r\n return !!((0, _type.isDefined)(width) || (0, _type.isDefined)(height) || element.style.width || element.style.height)\r\n },\r\n _attachDimensionChangeHandlers: function() {\r\n var _this = this;\r\n var $el = this.$element();\r\n var namespace = \"\".concat(this.NAME, \"VisibilityChange\");\r\n _short.resize.off($el, {\r\n namespace: namespace\r\n });\r\n _short.resize.on($el, function() {\r\n return _this._dimensionChanged()\r\n }, {\r\n namespace: namespace\r\n })\r\n },\r\n _attachVisibilityChangeHandlers: function() {\r\n var _this2 = this;\r\n if (this._isVisibilityChangeSupported()) {\r\n var $el = this.$element();\r\n var namespace = \"\".concat(this.NAME, \"VisibilityChange\");\r\n this._isHidden = !this._isVisible();\r\n _short.visibility.off($el, {\r\n namespace: namespace\r\n });\r\n _short.visibility.on($el, function() {\r\n return _this2._checkVisibilityChanged(\"shown\")\r\n }, function() {\r\n return _this2._checkVisibilityChanged(\"hiding\")\r\n }, {\r\n namespace: namespace\r\n })\r\n }\r\n },\r\n _isVisible: function() {\r\n var $element = this.$element();\r\n return $element.is(\":visible\")\r\n },\r\n _checkVisibilityChanged: function(action) {\r\n var isVisible = this._isVisible();\r\n if (isVisible) {\r\n if (\"hiding\" === action && !this._isHidden) {\r\n this._visibilityChanged(false);\r\n this._isHidden = true\r\n } else {\r\n if (\"shown\" === action && this._isHidden) {\r\n this._isHidden = false;\r\n this._visibilityChanged(true)\r\n }\r\n }\r\n }\r\n },\r\n _isVisibilityChangeSupported: function() {\r\n return this._visibilityChanged !== abstract && (0, _window.hasWindow)()\r\n },\r\n _clean: _common.noop,\r\n _modelByElement: function() {\r\n var _this$option = this.option(),\r\n modelByElement = _this$option.modelByElement;\r\n var $element = this.$element();\r\n return modelByElement ? modelByElement($element) : void 0\r\n },\r\n _invalidate: function() {\r\n if (this._isUpdateAllowed()) {\r\n throw _errors.default.Error(\"E0007\")\r\n }\r\n this._requireRefresh = true\r\n },\r\n _refresh: function() {\r\n this._clean();\r\n this._renderComponent()\r\n },\r\n _dispose: function() {\r\n this._templateManager && this._templateManager.dispose();\r\n this.callBase();\r\n this._clean();\r\n this._detachWindowResizeCallback()\r\n },\r\n _detachWindowResizeCallback: function() {\r\n if (this._isDimensionChangeSupported()) {\r\n _resize_callbacks.default.remove(this._windowResizeCallBack)\r\n }\r\n },\r\n _toggleRTLDirection: function(rtl) {\r\n var $element = this.$element();\r\n $element.toggleClass(\"dx-rtl\", rtl)\r\n },\r\n _createComponent: function(element, component) {\r\n var _this3 = this;\r\n var config = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};\r\n var synchronizableOptions = (0, _common.grep)(this._getSynchronizableOptionsForCreateComponent(), function(value) {\r\n return !(value in config)\r\n });\r\n var _this$option2 = this.option(),\r\n integrationOptions = _this$option2.integrationOptions;\r\n var _this$option3 = this.option(),\r\n nestedComponentOptions = _this$option3.nestedComponentOptions;\r\n nestedComponentOptions = nestedComponentOptions || _common.noop;\r\n var nestedComponentConfig = (0, _extend.extend)({\r\n integrationOptions: integrationOptions\r\n }, nestedComponentOptions(this));\r\n synchronizableOptions.forEach(function(optionName) {\r\n return nestedComponentConfig[optionName] = _this3.option(optionName)\r\n });\r\n this._extendConfig(config, nestedComponentConfig);\r\n var instance = void 0;\r\n if ((0, _type.isString)(component)) {\r\n var $element = (0, _renderer.default)(element)[component](config);\r\n instance = $element[component](\"instance\")\r\n } else {\r\n if (element) {\r\n instance = component.getInstance(element);\r\n if (instance) {\r\n instance.option(config)\r\n } else {\r\n instance = new component(element, config)\r\n }\r\n }\r\n }\r\n if (instance) {\r\n var optionChangedHandler = function(_ref3) {\r\n var name = _ref3.name,\r\n value = _ref3.value;\r\n if ((0, _array.inArray)(name, synchronizableOptions) >= 0) {\r\n instance.option(name, value)\r\n }\r\n };\r\n this.on(\"optionChanged\", optionChangedHandler);\r\n instance.on(\"disposing\", function() {\r\n return _this3.off(\"optionChanged\", optionChangedHandler)\r\n })\r\n }\r\n return instance\r\n },\r\n _extendConfig: function(config, extendConfig) {\r\n (0, _iterator.each)(extendConfig, function(key, value) {\r\n !Object.prototype.hasOwnProperty.call(config, key) && (config[key] = value)\r\n })\r\n },\r\n _defaultActionConfig: function() {\r\n var $element = this.$element();\r\n var context = this._modelByElement($element);\r\n return (0, _extend.extend)(this.callBase(), {\r\n context: context\r\n })\r\n },\r\n _defaultActionArgs: function() {\r\n var $element = this.$element();\r\n var model = this._modelByElement($element);\r\n var element = this.element();\r\n return (0, _extend.extend)(this.callBase(), {\r\n element: element,\r\n model: model\r\n })\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"width\":\r\n case \"height\":\r\n this._renderDimensions();\r\n break;\r\n case \"rtlEnabled\":\r\n this._invalidate();\r\n break;\r\n case \"elementAttr\":\r\n this._renderElementAttributes();\r\n break;\r\n case \"disabled\":\r\n case \"integrationOptions\":\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _removeAttributes: function(element) {\r\n var attrs = element.attributes;\r\n for (var i = attrs.length - 1; i >= 0; i--) {\r\n var attr = attrs[i];\r\n if (attr) {\r\n var name = attr.name;\r\n if (!name.indexOf(\"aria-\") || name.indexOf(\"dx-\") !== -1 || \"role\" === name || \"style\" === name || \"tabindex\" === name) {\r\n element.removeAttribute(name)\r\n }\r\n }\r\n }\r\n },\r\n _removeClasses: function(element) {\r\n element.className = element.className.split(\" \").filter(function(cssClass) {\r\n return 0 !== cssClass.lastIndexOf(\"dx-\", 0)\r\n }).join(\" \")\r\n },\r\n _updateDOMComponent: function(renderRequired) {\r\n if (renderRequired) {\r\n this._renderComponent()\r\n } else {\r\n if (this._requireRefresh) {\r\n this._requireRefresh = false;\r\n this._refresh()\r\n }\r\n }\r\n },\r\n endUpdate: function() {\r\n var renderRequired = this._isInitializingRequired();\r\n this.callBase();\r\n this._isUpdateAllowed() && this._updateDOMComponent(renderRequired)\r\n },\r\n $element: function() {\r\n return this._$element\r\n },\r\n element: function() {\r\n var $element = this.$element();\r\n return (0, _element.getPublicElement)($element)\r\n },\r\n dispose: function() {\r\n var element = this.$element().get(0);\r\n (0, _element_data.cleanDataRecursive)(element, true);\r\n element.textContent = \"\";\r\n this._removeAttributes(element);\r\n this._removeClasses(element)\r\n },\r\n resetOption: function(optionName) {\r\n this.callBase(optionName);\r\n if (\"width\" === optionName || \"height\" === optionName) {\r\n var initialOption = this.initialOption(optionName);\r\n !(0, _type.isDefined)(initialOption) && this.$element().css(optionName, \"\")\r\n }\r\n },\r\n _getAnonymousTemplateName: function() {\r\n return\r\n },\r\n _initTemplateManager: function() {\r\n if (this._templateManager || !this._useTemplates()) {\r\n return\r\n }\r\n var _this$option4 = this.option(),\r\n _this$option4$integra = _this$option4.integrationOptions,\r\n integrationOptions = void 0 === _this$option4$integra ? {} : _this$option4$integra;\r\n var createTemplate = integrationOptions.createTemplate;\r\n this._templateManager = new _template_manager.TemplateManager(createTemplate, this._getAnonymousTemplateName());\r\n this._initTemplates()\r\n },\r\n _initTemplates: function() {\r\n var _this4 = this;\r\n var _this$_templateManage = this._templateManager.extractTemplates(this.$element()),\r\n templates = _this$_templateManage.templates,\r\n anonymousTemplateMeta = _this$_templateManage.anonymousTemplateMeta;\r\n var anonymousTemplate = this.option(\"integrationOptions.templates.\".concat(anonymousTemplateMeta.name));\r\n templates.forEach(function(_ref4) {\r\n var name = _ref4.name,\r\n template = _ref4.template;\r\n _this4._options.silent(\"integrationOptions.templates.\".concat(name), template)\r\n });\r\n if (anonymousTemplateMeta.name && !anonymousTemplate) {\r\n this._options.silent(\"integrationOptions.templates.\".concat(anonymousTemplateMeta.name), anonymousTemplateMeta.template);\r\n this._options.silent(\"_hasAnonymousTemplateContent\", true)\r\n }\r\n },\r\n _getTemplateByOption: function(optionName) {\r\n return this._getTemplate(this.option(optionName))\r\n },\r\n _getTemplate: function(templateSource) {\r\n var templates = this.option(\"integrationOptions.templates\");\r\n var isAsyncTemplate = this.option(\"templatesRenderAsynchronously\");\r\n var skipTemplates = this.option(\"integrationOptions.skipTemplates\");\r\n return this._templateManager.getTemplate(templateSource, templates, {\r\n isAsyncTemplate: isAsyncTemplate,\r\n skipTemplates: skipTemplates\r\n }, this)\r\n },\r\n _saveTemplate: function(name, template) {\r\n this._setOptionWithoutOptionChange(\"integrationOptions.templates.\" + name, this._templateManager._createTemplate(template))\r\n },\r\n _useTemplates: function() {\r\n return true\r\n }\r\n});\r\nDOMComponent.getInstance = function(element) {\r\n return (0, _public_component.getInstanceByElement)((0, _renderer.default)(element), this)\r\n};\r\nDOMComponent.defaultOptions = function(rule) {\r\n this._classCustomRules = this._classCustomRules || [];\r\n this._classCustomRules.push(rule)\r\n};\r\nvar _default = DOMComponent;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = module.exports;\r\n","/**\r\n * DevExtreme (core/utils/string.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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.isEmpty = exports.replaceAll = exports.format = exports.quadToObject = exports.encodeHtml = void 0;\r\nvar _type = require(\"./type\");\r\n\r\nfunction _typeof(obj) {\r\n \"@babel/helpers - typeof\";\r\n if (\"function\" === typeof Symbol && \"symbol\" === typeof Symbol.iterator) {\r\n _typeof = function(obj) {\r\n return typeof obj\r\n }\r\n } else {\r\n _typeof = function(obj) {\r\n return obj && \"function\" === typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }\r\n }\r\n return _typeof(obj)\r\n}\r\nvar encodeHtml = function() {\r\n var encodeRegExp = [new RegExp(\"&\", \"g\"), new RegExp('\"', \"g\"), new RegExp(\"'\", \"g\"), new RegExp(\"<\", \"g\"), new RegExp(\">\", \"g\")];\r\n return function(str) {\r\n return String(str).replace(encodeRegExp[0], \"&\").replace(encodeRegExp[1], \""\").replace(encodeRegExp[2], \"'\").replace(encodeRegExp[3], \"<\").replace(encodeRegExp[4], \">\")\r\n }\r\n}();\r\nexports.encodeHtml = encodeHtml;\r\nvar splitQuad = function(raw) {\r\n switch (_typeof(raw)) {\r\n case \"string\":\r\n return raw.split(/\\s+/, 4);\r\n case \"object\":\r\n return [raw.x || raw.h || raw.left, raw.y || raw.v || raw.top, raw.x || raw.h || raw.right, raw.y || raw.v || raw.bottom];\r\n case \"number\":\r\n return [raw];\r\n default:\r\n return raw\r\n }\r\n};\r\nvar quadToObject = function(raw) {\r\n var quad = splitQuad(raw);\r\n var left = parseInt(quad && quad[0], 10);\r\n var top = parseInt(quad && quad[1], 10);\r\n var right = parseInt(quad && quad[2], 10);\r\n var bottom = parseInt(quad && quad[3], 10);\r\n if (!isFinite(left)) {\r\n left = 0\r\n }\r\n if (!isFinite(top)) {\r\n top = left\r\n }\r\n if (!isFinite(right)) {\r\n right = left\r\n }\r\n if (!isFinite(bottom)) {\r\n bottom = top\r\n }\r\n return {\r\n top: top,\r\n right: right,\r\n bottom: bottom,\r\n left: left\r\n }\r\n};\r\nexports.quadToObject = quadToObject;\r\nvar format = function() {\r\n var s = arguments[0];\r\n var values = [].slice.call(arguments).slice(1);\r\n var replaceDollarCount;\r\n var reg;\r\n var value;\r\n if ((0, _type.isFunction)(s)) {\r\n return s.apply(this, values)\r\n }\r\n for (var i = 0; i < values.length; i++) {\r\n reg = new RegExp(\"\\\\{\" + i + \"\\\\}\", \"gm\");\r\n value = values[i];\r\n if (\"string\" === (0, _type.type)(value) && value.indexOf(\"$\") >= 0) {\r\n replaceDollarCount = \"$\".replace(\"$\", \"$$\").length;\r\n value = value.replace(\"$\", 1 === replaceDollarCount ? \"$$$$\" : \"$$\")\r\n }\r\n s = s.replace(reg, value)\r\n }\r\n return s\r\n};\r\nexports.format = format;\r\nvar replaceAll = function() {\r\n var quote = function(str) {\r\n return (str + \"\").replace(/([+*?.[^\\]$(){}><|=!:])/g, \"\\\\$1\")\r\n };\r\n return function(text, searchToken, replacementToken) {\r\n return text.replace(new RegExp(\"(\" + quote(searchToken) + \")\", \"gi\"), replacementToken)\r\n }\r\n}();\r\nexports.replaceAll = replaceAll;\r\nvar isEmpty = function() {\r\n var SPACE_REGEXP = /\\s/g;\r\n return function(text) {\r\n return !text || !text.replace(SPACE_REGEXP, \"\")\r\n }\r\n}();\r\nexports.isEmpty = isEmpty;\r\n","/**\r\n * DevExtreme (events/pointer.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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 if (\"function\" === typeof Symbol && \"symbol\" === typeof Symbol.iterator) {\r\n _typeof = function(obj) {\r\n return typeof obj\r\n }\r\n } else {\r\n _typeof = function(obj) {\r\n return obj && \"function\" === typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }\r\n }\r\n return _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() {\r\n if (\"function\" !== typeof WeakMap) {\r\n return null\r\n }\r\n var cache = new WeakMap;\r\n _getRequireWildcardCache = function() {\r\n return cache\r\n };\r\n return cache\r\n}\r\n\r\nfunction _interopRequireWildcard(obj) {\r\n if (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();\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 (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 (core/memorized_callbacks.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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 _callbacks = _interopRequireDefault(require(\"./utils/callbacks\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar MemorizedCallbacks = function() {\r\n function MemorizedCallbacks() {\r\n this.memory = [];\r\n this.callbacks = (0, _callbacks.default)()\r\n }\r\n var _proto = MemorizedCallbacks.prototype;\r\n _proto.add = function(fn) {\r\n (0, _iterator.each)(this.memory, function(_, item) {\r\n return fn.apply(fn, item)\r\n });\r\n this.callbacks.add(fn)\r\n };\r\n _proto.remove = function(fn) {\r\n this.callbacks.remove(fn)\r\n };\r\n _proto.fire = function() {\r\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\r\n args[_key] = arguments[_key]\r\n }\r\n this.memory.push(args);\r\n this.callbacks.fire.apply(this.callbacks, args)\r\n };\r\n return MemorizedCallbacks\r\n}();\r\nexports.default = MemorizedCallbacks;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (events/short.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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.keyboard = exports.click = exports.dxClick = exports.focus = exports.visibility = exports.hover = exports.resize = 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 (localization/utils.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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.toFixed = toFixed;\r\nvar _math = require(\"../core/utils/math\");\r\nvar DECIMAL_BASE = 10;\r\n\r\nfunction roundByAbs(value) {\r\n var valueSign = (0, _math.sign)(value);\r\n return valueSign * Math.round(Math.abs(value))\r\n}\r\n\r\nfunction adjustValue(value, precision) {\r\n var precisionMultiplier = Math.pow(DECIMAL_BASE, precision);\r\n var roundMultiplier = precisionMultiplier * DECIMAL_BASE;\r\n var intermediateValue = value * roundMultiplier / DECIMAL_BASE;\r\n return roundByAbs(intermediateValue) / precisionMultiplier\r\n}\r\n\r\nfunction toFixed(value, precision) {\r\n var valuePrecision = precision || 0;\r\n var adjustedValue = valuePrecision > 0 ? adjustValue.apply(void 0, arguments) : value;\r\n return adjustedValue.toFixed(valuePrecision)\r\n}\r\n","/**\r\n * DevExtreme (core/action.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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(\"./renderer\"));\r\nvar _window = require(\"./utils/window\");\r\nvar _type = require(\"./utils/type\");\r\nvar _iterator = require(\"./utils/iterator\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar Action = function() {\r\n function Action(action, config) {\r\n config = config || {};\r\n this._action = action;\r\n this._context = config.context || (0, _window.getWindow)();\r\n this._beforeExecute = config.beforeExecute;\r\n this._afterExecute = config.afterExecute;\r\n this._component = config.component;\r\n this._validatingTargetName = config.validatingTargetName;\r\n var excludeValidators = this._excludeValidators = {};\r\n if (config.excludeValidators) {\r\n for (var i = 0; i < config.excludeValidators.length; i++) {\r\n excludeValidators[config.excludeValidators[i]] = true\r\n }\r\n }\r\n }\r\n var _proto = Action.prototype;\r\n _proto.execute = function() {\r\n var e = {\r\n action: this._action,\r\n args: Array.prototype.slice.call(arguments),\r\n context: this._context,\r\n component: this._component,\r\n validatingTargetName: this._validatingTargetName,\r\n cancel: false,\r\n handled: false\r\n };\r\n var beforeExecute = this._beforeExecute;\r\n var afterExecute = this._afterExecute;\r\n var argsBag = e.args[0] || {};\r\n if (!this._validateAction(e)) {\r\n return\r\n }\r\n null === beforeExecute || void 0 === beforeExecute ? void 0 : beforeExecute.call(this._context, e);\r\n if (e.cancel) {\r\n return\r\n }\r\n var result = this._executeAction(e);\r\n if (argsBag.cancel) {\r\n return\r\n }\r\n null === afterExecute || void 0 === afterExecute ? void 0 : afterExecute.call(this._context, e);\r\n return result\r\n };\r\n _proto._validateAction = function(e) {\r\n var excludeValidators = this._excludeValidators;\r\n var executors = Action.executors;\r\n for (var name in executors) {\r\n if (!excludeValidators[name]) {\r\n var _executor$validate;\r\n var executor = executors[name];\r\n null === (_executor$validate = executor.validate) || void 0 === _executor$validate ? void 0 : _executor$validate.call(executor, e);\r\n if (e.cancel) {\r\n return false\r\n }\r\n }\r\n }\r\n return true\r\n };\r\n _proto._executeAction = function(e) {\r\n var result;\r\n var executors = Action.executors;\r\n for (var name in executors) {\r\n var _executor$execute;\r\n var executor = executors[name];\r\n null === (_executor$execute = executor.execute) || void 0 === _executor$execute ? void 0 : _executor$execute.call(executor, e);\r\n if (e.handled) {\r\n result = e.result;\r\n break\r\n }\r\n }\r\n return result\r\n };\r\n Action.registerExecutor = function(name, executor) {\r\n if ((0, _type.isPlainObject)(name)) {\r\n (0, _iterator.each)(name, Action.registerExecutor);\r\n return\r\n }\r\n Action.executors[name] = executor\r\n };\r\n Action.unregisterExecutor = function() {\r\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\r\n args[_key] = arguments[_key]\r\n }(0, _iterator.each)(args, function() {\r\n delete Action.executors[this]\r\n })\r\n };\r\n return Action\r\n}();\r\nexports.default = Action;\r\nAction.executors = {};\r\nvar createValidatorByTargetElement = function(condition) {\r\n return function(e) {\r\n if (!e.args.length) {\r\n return\r\n }\r\n var args = e.args[0];\r\n var element = args[e.validatingTargetName] || args.element;\r\n if (element && condition((0, _renderer.default)(element))) {\r\n e.cancel = true\r\n }\r\n }\r\n};\r\nAction.registerExecutor({\r\n disabled: {\r\n validate: createValidatorByTargetElement(function($target) {\r\n return $target.is(\".dx-state-disabled, .dx-state-disabled *\")\r\n })\r\n },\r\n readOnly: {\r\n validate: createValidatorByTargetElement(function($target) {\r\n return $target.is(\".dx-state-readonly, .dx-state-readonly *:not(.dx-state-independent)\")\r\n })\r\n },\r\n undefined: {\r\n execute: function(e) {\r\n if (!e.action) {\r\n e.result = void 0;\r\n e.handled = true\r\n }\r\n }\r\n },\r\n func: {\r\n execute: function(e) {\r\n if ((0, _type.isFunction)(e.action)) {\r\n e.result = e.action.call(e.context, e.args[0]);\r\n e.handled = true\r\n }\r\n }\r\n }\r\n});\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (events/pointer/mouse_and_touch.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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 (localization/parentLocale.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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 PARENT_LOCALE_SEPARATOR = \"-\";\r\nvar _default = function(parentLocales, locale) {\r\n var parentLocale = parentLocales[locale];\r\n if (parentLocale) {\r\n return \"root\" !== parentLocale && parentLocale\r\n }\r\n return locale.substr(0, locale.lastIndexOf(PARENT_LOCALE_SEPARATOR))\r\n};\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/*!\n * devextreme-vue\n * Version: 20.2.6\n * Build date: Tue Mar 16 2021\n *\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-vue\n */\n\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createExtensionComponent = exports.createConfigurationComponent = exports.createComponent = void 0;\nvar vue_1 = require(\"vue\");\nvar component_1 = require(\"../../component\");\nvar configuration_component_1 = require(\"../../configuration-component\");\nvar extension_component_1 = require(\"../../extension-component\");\nvar vue_helper_1 = require(\"../../vue-helper\");\nfunction createComponent(config) {\n config.extends = component_1.initDxComponent();\n if (config.model) {\n vue_helper_1.setVModel(config);\n }\n return vue_1.defineComponent(config);\n}\nexports.createComponent = createComponent;\nfunction createConfigurationComponent(config) {\n config.extends = configuration_component_1.initDxConfiguration();\n return vue_1.defineComponent(config);\n}\nexports.createConfigurationComponent = createConfigurationComponent;\nfunction createExtensionComponent(config) {\n config.extends = extension_component_1.initDxExtensionComponent();\n return vue_1.defineComponent(config);\n}\nexports.createExtensionComponent = createExtensionComponent;\n","/**\r\n * DevExtreme (events/core/keyboard_processor.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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 (events/click.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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 (core/utils/variable_wrapper.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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 _console = require(\"./console\");\r\nvar _dependency_injector = _interopRequireDefault(require(\"./dependency_injector\"));\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 isWrapped: function() {\r\n return false\r\n },\r\n isWritableWrapped: function() {\r\n return false\r\n },\r\n wrap: function(value) {\r\n return value\r\n },\r\n unwrap: function(value) {\r\n return value\r\n },\r\n assign: function() {\r\n _console.logger.error(\"Method 'assign' should not be used for not wrapped variables. Use 'isWrapped' method for ensuring.\")\r\n }\r\n});\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (ui/button.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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 _devices = _interopRequireDefault(require(\"../core/devices\"));\r\nvar _utils = require(\"./widget/utils.ink_ripple\");\r\nvar _component_registrator = _interopRequireDefault(require(\"../core/component_registrator\"));\r\nvar _themes = require(\"./themes\");\r\nvar _action = _interopRequireDefault(require(\"../core/action\"));\r\nvar _validation_engine = _interopRequireDefault(require(\"./validation_engine\"));\r\nvar _ui = _interopRequireDefault(require(\"./widget/ui.widget\"));\r\nvar _short = require(\"../events/short\");\r\nvar _extend = require(\"../core/utils/extend\");\r\nvar _function_template = require(\"../core/templates/function_template\");\r\nvar _icon = require(\"../core/utils/icon\");\r\nvar _element = require(\"../core/element\");\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 _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, descriptor.key, descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n return Constructor\r\n}\r\n\r\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 ANONYMOUS_TEMPLATE_NAME = \"content\";\r\nvar Button = function(_Widget) {\r\n _inheritsLoose(Button, _Widget);\r\n\r\n function Button() {\r\n var _this;\r\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\r\n args[_key] = arguments[_key]\r\n }\r\n _this = _Widget.call.apply(_Widget, [this].concat(args)) || this;\r\n _this._feedbackHideTimeout = 100;\r\n return _this\r\n }\r\n var _proto = Button.prototype;\r\n _proto._$content = function() {\r\n return this.$element().find(\".dx-button-content\")\r\n };\r\n _proto._$submitInput = function() {\r\n return this.$element().find(\".dx-button-submit-input\")\r\n };\r\n _proto._attachActiveEvents = function(active, inactive) {\r\n var $el = this._eventBindingTarget();\r\n var namespace = \"inkRipple\";\r\n var selector = this._activeStateUnit;\r\n _short.active.off($el, {\r\n namespace: namespace,\r\n selector: selector\r\n });\r\n _short.active.on($el, new _action.default(active), new _action.default(inactive, {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n }), {\r\n showTimeout: this._feedbackShowTimeout,\r\n hideTimeout: this._feedbackHideTimeout,\r\n selector: selector,\r\n namespace: namespace\r\n })\r\n };\r\n _proto._defaultOptionsRules = function() {\r\n return _Widget.prototype._defaultOptionsRules.call(this).concat([{\r\n device: function() {\r\n return \"desktop\" === _devices.default.real().deviceType && !_devices.default.isSimulator()\r\n },\r\n options: {\r\n focusStateEnabled: true\r\n }\r\n }, {\r\n device: function() {\r\n return (0, _themes.isMaterial)((0, _themes.current)())\r\n },\r\n options: {\r\n useInkRipple: true\r\n }\r\n }])\r\n };\r\n _proto._executeClickAction = function(event) {\r\n this._clickAction({\r\n validationGroup: this._validationGroupConfig,\r\n event: event\r\n })\r\n };\r\n _proto._findGroup = function() {\r\n var $element = this.$element();\r\n var model = this._modelByElement($element);\r\n var _this$option = this.option(),\r\n validationGroup = _this$option.validationGroup;\r\n return validationGroup || _validation_engine.default.findGroup($element, model)\r\n };\r\n _proto._getContentData = function() {\r\n var _this$option2 = this.option(),\r\n icon = _this$option2.icon,\r\n text = _this$option2.text,\r\n type = _this$option2.type,\r\n _templateData = _this$option2._templateData;\r\n return (0, _extend.extend)({\r\n icon: \"back\" === type && !icon ? \"back\" : icon,\r\n text: text\r\n }, _templateData)\r\n };\r\n _proto._getDefaultOptions = function() {\r\n return (0, _extend.extend)(_Widget.prototype._getDefaultOptions.call(this), {\r\n hoverStateEnabled: true,\r\n onClick: null,\r\n type: \"normal\",\r\n text: \"\",\r\n icon: \"\",\r\n iconPosition: \"left\",\r\n validationGroup: void 0,\r\n activeStateEnabled: true,\r\n template: \"content\",\r\n useSubmitBehavior: false,\r\n useInkRipple: false,\r\n _templateData: {},\r\n stylingMode: \"contained\"\r\n })\r\n };\r\n _proto._getSubmitAction = function() {\r\n var _this2 = this;\r\n var needValidate = true;\r\n var validationStatus = \"valid\";\r\n return this._createAction(function(_ref) {\r\n var event = _ref.event;\r\n if (needValidate) {\r\n var validationGroup = _this2._validationGroupConfig;\r\n if (validationGroup) {\r\n var _validationGroup$vali = validationGroup.validate(),\r\n status = _validationGroup$vali.status,\r\n complete = _validationGroup$vali.complete;\r\n validationStatus = status;\r\n if (\"pending\" === status) {\r\n needValidate = false;\r\n _this2.option(\"disabled\", true);\r\n complete.then(function(_ref2) {\r\n var status = _ref2.status;\r\n _this2.option(\"disabled\", false);\r\n validationStatus = status;\r\n \"valid\" === validationStatus && _this2._submitInput().click();\r\n needValidate = true\r\n })\r\n }\r\n }\r\n }\r\n \"valid\" !== validationStatus && event.preventDefault();\r\n event.stopPropagation()\r\n })\r\n };\r\n _proto._initMarkup = function() {\r\n this.$element().addClass(\"dx-button\");\r\n this._renderType();\r\n this._renderStylingMode();\r\n this._renderInkRipple();\r\n this._renderClick();\r\n this._updateAriaLabel();\r\n _Widget.prototype._initMarkup.call(this);\r\n this._updateContent();\r\n this.setAria(\"role\", \"button\")\r\n };\r\n _proto._getAnonymousTemplateName = function() {\r\n return ANONYMOUS_TEMPLATE_NAME\r\n };\r\n _proto._initTemplates = function() {\r\n var _this3 = this;\r\n this._templateManager.addDefaultTemplates({\r\n content: new _function_template.FunctionTemplate(function(_ref3) {\r\n var _ref3$model = _ref3.model,\r\n model = void 0 === _ref3$model ? {} : _ref3$model,\r\n container = _ref3.container;\r\n var text = model.text,\r\n icon = model.icon;\r\n var _this3$option = _this3.option(),\r\n iconPosition = _this3$option.iconPosition;\r\n var $icon = (0, _icon.getImageContainer)(icon);\r\n var $textContainer = text && (0, _renderer.default)(\"\").text(text).addClass(\"dx-button-text\");\r\n var $container = (0, _renderer.default)(container);\r\n $container.append($textContainer);\r\n if (\"left\" === iconPosition) {\r\n $container.prepend($icon)\r\n } else {\r\n $icon.addClass(\"dx-icon-right\");\r\n $container.append($icon)\r\n }\r\n })\r\n });\r\n _Widget.prototype._initTemplates.call(this)\r\n };\r\n _proto._optionChanged = function(args) {\r\n var name = args.name,\r\n previousValue = args.previousValue;\r\n switch (name) {\r\n case \"onClick\":\r\n this._updateClick();\r\n break;\r\n case \"icon\":\r\n case \"text\":\r\n this._updateContent();\r\n this._updateAriaLabel();\r\n break;\r\n case \"type\":\r\n this._updateType(previousValue);\r\n this._updateContent();\r\n break;\r\n case \"_templateData\":\r\n break;\r\n case \"template\":\r\n case \"iconPosition\":\r\n this._updateContent();\r\n break;\r\n case \"stylingMode\":\r\n this._updateStylingMode();\r\n break;\r\n case \"useSubmitBehavior\":\r\n this._updateSubmitInput();\r\n break;\r\n case \"useInkRipple\":\r\n this._invalidate();\r\n break;\r\n default:\r\n _Widget.prototype._optionChanged.call(this, args)\r\n }\r\n };\r\n _proto._renderClick = function() {\r\n var _this4 = this;\r\n var $el = this.$element();\r\n _short.dxClick.off($el, {\r\n namespace: this.NAME\r\n });\r\n _short.dxClick.on($el, function(event) {\r\n return _this4._executeClickAction(event)\r\n }, {\r\n namespace: this.NAME\r\n });\r\n this._updateClick()\r\n };\r\n _proto._renderInkRipple = function() {\r\n var _this5 = this;\r\n var _this$option3 = this.option(),\r\n text = _this$option3.text,\r\n icon = _this$option3.icon,\r\n type = _this$option3.type,\r\n useInkRipple = _this$option3.useInkRipple;\r\n if (useInkRipple) {\r\n var isOnlyIconButton = !text && icon || \"back\" === type;\r\n var _inkRipple = (0, _utils.render)(isOnlyIconButton ? {\r\n waveSizeCoefficient: 1,\r\n useHoldAnimation: false,\r\n isCentered: true\r\n } : {});\r\n var changeWaveVisibility = function(event, visible) {\r\n var _this5$option = _this5.option(),\r\n activeStateEnabled = _this5$option.activeStateEnabled,\r\n useInkRipple = _this5$option.useInkRipple;\r\n if (useInkRipple && activeStateEnabled && !_this5._disposed) {\r\n var config = {\r\n element: _this5._$content(),\r\n event: event\r\n };\r\n visible ? _inkRipple.showWave(config) : _inkRipple.hideWave(config)\r\n }\r\n };\r\n this._attachActiveEvents(function(_ref4) {\r\n var event = _ref4.event;\r\n return changeWaveVisibility(event, true)\r\n }, function(_ref5) {\r\n var event = _ref5.event;\r\n return changeWaveVisibility(event)\r\n })\r\n }\r\n };\r\n _proto._renderStylingMode = function() {\r\n var $element = this.$element();\r\n var _this$option4 = this.option(),\r\n stylingMode = _this$option4.stylingMode;\r\n if ([\"contained\", \"text\", \"outlined\"].indexOf(stylingMode) === -1) {\r\n stylingMode = this._getDefaultOptions().stylingMode\r\n }\r\n $element.addClass(\"dx-button-mode-\".concat(stylingMode))\r\n };\r\n _proto._renderSubmitInput = function() {\r\n var _this$option5 = this.option(),\r\n useSubmitBehavior = _this$option5.useSubmitBehavior;\r\n if (useSubmitBehavior) {\r\n var submitAction = this._getSubmitAction();\r\n var $content = this._$content();\r\n (0, _renderer.default)(\"\").attr(\"type\", \"submit\").attr(\"tabindex\", -1).addClass(\"dx-button-submit-input\").appendTo($content);\r\n _short.click.on(this._$submitInput(), function(event) {\r\n return submitAction({\r\n event: event\r\n })\r\n })\r\n }\r\n };\r\n _proto._renderType = function() {\r\n var _this$option6 = this.option(),\r\n type = _this$option6.type;\r\n var $element = this.$element();\r\n type && $element.addClass(\"dx-button-\".concat(type))\r\n };\r\n _proto._submitInput = function() {\r\n return this._$submitInput().get(0)\r\n };\r\n _proto._supportedKeys = function() {\r\n var _this6 = this;\r\n var click = function(e) {\r\n e.preventDefault();\r\n _this6._executeClickAction(e)\r\n };\r\n return (0, _extend.extend)(_Widget.prototype._supportedKeys.call(this), {\r\n space: click,\r\n enter: click\r\n })\r\n };\r\n _proto._updateAriaLabel = function() {\r\n var ariaTarget = this._getAriaTarget();\r\n var _this$option7 = this.option(),\r\n icon = _this$option7.icon,\r\n text = _this$option7.text;\r\n if (!text) {\r\n if (\"image\" === (0, _icon.getImageSourceType)(icon)) {\r\n icon = icon.indexOf(\"base64\") === -1 ? icon.replace(/.+\\/([^.]+)\\..+$/, \"$1\") : \"Base64\"\r\n }\r\n text = icon || \"\"\r\n }\r\n ariaTarget.attr(\"aria-label\", text || null)\r\n };\r\n _proto._updateClick = function() {\r\n var _this7 = this;\r\n this._clickAction = this._createActionByOption(\"onClick\", {\r\n excludeValidators: [\"readOnly\"],\r\n afterExecute: function() {\r\n var _this7$option = _this7.option(),\r\n useSubmitBehavior = _this7$option.useSubmitBehavior;\r\n useSubmitBehavior && setTimeout(function() {\r\n return _this7._submitInput().click()\r\n })\r\n }\r\n })\r\n };\r\n _proto._updateContent = function() {\r\n var $element = this.$element();\r\n var $content = this._$content();\r\n var data = this._getContentData();\r\n var _this$option8 = this.option(),\r\n template = _this$option8.template,\r\n iconPosition = _this$option8.iconPosition;\r\n var icon = data.icon,\r\n text = data.text;\r\n $content.length ? $content.empty() : $content = (0, _renderer.default)(\"
\").addClass(\"dx-button-content\").appendTo($element);\r\n $element.toggleClass(\"dx-button-has-icon\", !!icon).toggleClass(\"dx-button-icon-right\", !!icon && \"left\" !== iconPosition).toggleClass(\"dx-button-has-text\", !!text);\r\n var $template = (0, _renderer.default)(this._getTemplateByOption(\"template\").render({\r\n model: data,\r\n container: (0, _element.getPublicElement)($content),\r\n transclude: this._templateManager.anonymousTemplateName === template\r\n }));\r\n if ($template.hasClass(\"dx-template-wrapper\")) {\r\n $template.addClass(\"dx-button-content\");\r\n $content.replaceWith($template)\r\n }\r\n this._updateSubmitInput()\r\n };\r\n _proto._updateSubmitInput = function() {\r\n var _this$option9 = this.option(),\r\n useSubmitBehavior = _this$option9.useSubmitBehavior;\r\n var $submitInput = this._$submitInput();\r\n if (!useSubmitBehavior && $submitInput.length) {\r\n $submitInput.remove()\r\n } else {\r\n if (useSubmitBehavior && !$submitInput.length) {\r\n this._renderSubmitInput()\r\n }\r\n }\r\n };\r\n _proto._updateStylingMode = function() {\r\n var $element = this.$element();\r\n [\"contained\", \"text\", \"outlined\"].map(function(mode) {\r\n return \"dx-button-mode-\".concat(mode)\r\n }).forEach($element.removeClass.bind($element));\r\n this._renderStylingMode()\r\n };\r\n _proto._updateType = function(previous) {\r\n var $element = this.$element();\r\n [previous, \"back\", \"danger\", \"default\", \"normal\", \"success\"].map(function(type) {\r\n return \"dx-button-\".concat(type)\r\n }).forEach($element.removeClass.bind($element));\r\n this._renderType()\r\n };\r\n _createClass(Button, [{\r\n key: \"_validationGroupConfig\",\r\n get: function() {\r\n return _validation_engine.default.getGroupConfig(this._findGroup())\r\n }\r\n }]);\r\n return Button\r\n}(_ui.default);\r\n(0, _component_registrator.default)(\"dxButton\", Button);\r\nvar _default = Button;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = module.exports;\r\n","/**\r\n * DevExtreme (ui/load_indicator.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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 _window = require(\"../core/utils/window\");\r\nvar _support = require(\"../core/utils/support\");\r\nvar _themes = require(\"./themes\");\r\nvar _extend = require(\"../core/utils/extend\");\r\nvar _devices = _interopRequireDefault(require(\"../core/devices\"));\r\nvar _component_registrator = _interopRequireDefault(require(\"../core/component_registrator\"));\r\nvar _ui = _interopRequireDefault(require(\"./widget/ui.widget\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar navigator = (0, _window.getNavigator)();\r\nvar LOADINDICATOR_CLASS = \"dx-loadindicator\";\r\nvar LOADINDICATOR_WRAPPER_CLASS = \"dx-loadindicator-wrapper\";\r\nvar LOADINDICATOR_CONTENT_CLASS = \"dx-loadindicator-content\";\r\nvar LOADINDICATOR_ICON_CLASS = \"dx-loadindicator-icon\";\r\nvar LOADINDICATOR_SEGMENT_CLASS = \"dx-loadindicator-segment\";\r\nvar LOADINDICATOR_SEGMENT_INNER_CLASS = \"dx-loadindicator-segment-inner\";\r\nvar LOADINDICATOR_IMAGE_CLASS = \"dx-loadindicator-image\";\r\nvar LoadIndicator = _ui.default.inherit({\r\n _getDefaultOptions: function() {\r\n return (0, _extend.extend)(this.callBase(), {\r\n indicatorSrc: \"\",\r\n activeStateEnabled: false,\r\n hoverStateEnabled: false,\r\n _animatingSegmentCount: 1,\r\n _animatingSegmentInner: false\r\n })\r\n },\r\n _defaultOptionsRules: function() {\r\n var themeName = (0, _themes.current)();\r\n return this.callBase().concat([{\r\n device: function() {\r\n var realDevice = _devices.default.real();\r\n var obsoleteAndroid = \"android\" === realDevice.platform && !/chrome/i.test(navigator.userAgent);\r\n return obsoleteAndroid\r\n },\r\n options: {\r\n viaImage: true\r\n }\r\n }, {\r\n device: function() {\r\n return (0, _themes.isMaterial)(themeName)\r\n },\r\n options: {\r\n _animatingSegmentCount: 2,\r\n _animatingSegmentInner: true\r\n }\r\n }, {\r\n device: function() {\r\n return (0, _themes.isGeneric)(themeName)\r\n },\r\n options: {\r\n _animatingSegmentCount: 7\r\n }\r\n }])\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this.$element().addClass(LOADINDICATOR_CLASS)\r\n },\r\n _initMarkup: function() {\r\n this.callBase();\r\n this._renderWrapper();\r\n this._renderIndicatorContent();\r\n this._renderMarkup()\r\n },\r\n _renderWrapper: function() {\r\n this._$wrapper = (0, _renderer.default)(\"
\").addClass(LOADINDICATOR_WRAPPER_CLASS);\r\n this.$element().append(this._$wrapper)\r\n },\r\n _renderIndicatorContent: function() {\r\n this._$content = (0, _renderer.default)(\"
\").addClass(LOADINDICATOR_CONTENT_CLASS);\r\n this._$wrapper.append(this._$content)\r\n },\r\n _renderMarkup: function() {\r\n if ((0, _support.animation)() && !this.option(\"viaImage\") && !this.option(\"indicatorSrc\")) {\r\n this._renderMarkupForAnimation()\r\n } else {\r\n this._renderMarkupForImage()\r\n }\r\n },\r\n _renderMarkupForAnimation: function() {\r\n var animatingSegmentInner = this.option(\"_animatingSegmentInner\");\r\n this._$indicator = (0, _renderer.default)(\"
\").addClass(LOADINDICATOR_ICON_CLASS);\r\n this._$content.append(this._$indicator);\r\n for (var i = this.option(\"_animatingSegmentCount\"); i >= 0; --i) {\r\n var $segment = (0, _renderer.default)(\"
\").addClass(LOADINDICATOR_SEGMENT_CLASS).addClass(LOADINDICATOR_SEGMENT_CLASS + i);\r\n if (animatingSegmentInner) {\r\n $segment.append((0, _renderer.default)(\"
\").addClass(LOADINDICATOR_SEGMENT_INNER_CLASS))\r\n }\r\n this._$indicator.append($segment)\r\n }\r\n },\r\n _renderMarkupForImage: function() {\r\n var indicatorSrc = this.option(\"indicatorSrc\");\r\n this._$wrapper.addClass(LOADINDICATOR_IMAGE_CLASS);\r\n if (indicatorSrc) {\r\n this._$wrapper.css(\"backgroundImage\", \"url(\" + indicatorSrc + \")\")\r\n }\r\n },\r\n _renderDimensions: function() {\r\n this.callBase();\r\n this._updateContentSizeForAnimation()\r\n },\r\n _updateContentSizeForAnimation: function() {\r\n if (!this._$indicator) {\r\n return\r\n }\r\n var width = this.option(\"width\");\r\n var height = this.option(\"height\");\r\n if (width || height) {\r\n width = this.$element().width();\r\n height = this.$element().height();\r\n var minDimension = Math.min(height, width);\r\n this._$wrapper.css({\r\n height: minDimension,\r\n width: minDimension,\r\n fontSize: minDimension\r\n })\r\n }\r\n },\r\n _clean: function() {\r\n this.callBase();\r\n this._removeMarkupForAnimation();\r\n this._removeMarkupForImage()\r\n },\r\n _removeMarkupForAnimation: function() {\r\n if (!this._$indicator) {\r\n return\r\n }\r\n this._$indicator.remove();\r\n delete this._$indicator\r\n },\r\n _removeMarkupForImage: function() {\r\n this._$wrapper.css(\"backgroundImage\", \"none\")\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"_animatingSegmentCount\":\r\n case \"_animatingSegmentInner\":\r\n case \"indicatorSrc\":\r\n this._invalidate();\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n }\r\n});\r\n(0, _component_registrator.default)(\"dxLoadIndicator\", LoadIndicator);\r\nvar _default = LoadIndicator;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = module.exports;\r\n","/**\r\n * DevExtreme (core/utils/version.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nexports.compare = compare;\r\n\r\nfunction compare(x, y, maxLevel) {\r\n function normalizeArg(value) {\r\n if (\"string\" === typeof value) {\r\n return value.split(\".\")\r\n }\r\n if (\"number\" === typeof value) {\r\n return [value]\r\n }\r\n return value\r\n }\r\n x = normalizeArg(x);\r\n y = normalizeArg(y);\r\n var length = Math.max(x.length, y.length);\r\n if (isFinite(maxLevel)) {\r\n length = Math.min(length, maxLevel)\r\n }\r\n for (var i = 0; i < length; i++) {\r\n var xItem = parseInt(x[i] || 0, 10);\r\n var yItem = parseInt(y[i] || 0, 10);\r\n if (xItem < yItem) {\r\n return -1\r\n }\r\n if (xItem > yItem) {\r\n return 1\r\n }\r\n }\r\n return 0\r\n}\r\n","/**\r\n * DevExtreme (core/utils/position.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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.getDefaultAlignment = exports.getBoundingRect = void 0;\r\nvar _config = _interopRequireDefault(require(\"../config\"));\r\nvar _type = require(\"../utils/type\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar getDefaultAlignment = function(isRtlEnabled) {\r\n var rtlEnabled = null !== isRtlEnabled && void 0 !== isRtlEnabled ? isRtlEnabled : (0, _config.default)().rtlEnabled;\r\n return rtlEnabled ? \"right\" : \"left\"\r\n};\r\nexports.getDefaultAlignment = getDefaultAlignment;\r\nvar getBoundingRect = function(element) {\r\n if ((0, _type.isWindow)(element)) {\r\n return {\r\n width: element.outerWidth,\r\n height: element.outerHeight\r\n }\r\n }\r\n var rect;\r\n try {\r\n rect = element.getBoundingClientRect()\r\n } catch (e) {\r\n rect = {\r\n width: 0,\r\n height: 0,\r\n bottom: 0,\r\n top: 0,\r\n left: 0,\r\n right: 0\r\n }\r\n }\r\n return rect\r\n};\r\nexports.getBoundingRect = getBoundingRect;\r\n","/**\r\n * DevExtreme (core/utils/array.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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.groupBy = exports.find = exports.merge = exports.normalizeIndexes = exports.removeDuplicates = exports.uniqueValues = exports.intersection = exports.inArray = exports.wrapToArray = exports.isEmpty = void 0;\r\nvar _type = require(\"./type\");\r\nvar _iterator = require(\"./iterator\");\r\nvar _object = require(\"./object\");\r\nvar _config = _interopRequireDefault(require(\"../config\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\n\r\nfunction _toConsumableArray(arr) {\r\n 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 && Symbol.iterator in Object(iter)) {\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\n\r\nfunction ownKeys(object, enumerableOnly) {\r\n var keys = Object.keys(object);\r\n if (Object.getOwnPropertySymbols) {\r\n var symbols = Object.getOwnPropertySymbols(object);\r\n if (enumerableOnly) {\r\n symbols = symbols.filter(function(sym) {\r\n return Object.getOwnPropertyDescriptor(object, sym).enumerable\r\n })\r\n }\r\n keys.push.apply(keys, symbols)\r\n }\r\n return keys\r\n}\r\n\r\nfunction _objectSpread(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = null != arguments[i] ? arguments[i] : {};\r\n if (i % 2) {\r\n ownKeys(Object(source), true).forEach(function(key) {\r\n _defineProperty(target, key, source[key])\r\n })\r\n } else {\r\n if (Object.getOwnPropertyDescriptors) {\r\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source))\r\n } else {\r\n ownKeys(Object(source)).forEach(function(key) {\r\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key))\r\n })\r\n }\r\n }\r\n }\r\n return target\r\n}\r\n\r\nfunction _defineProperty(obj, key, value) {\r\n if (key in obj) {\r\n Object.defineProperty(obj, key, {\r\n value: value,\r\n enumerable: true,\r\n configurable: true,\r\n writable: true\r\n })\r\n } else {\r\n obj[key] = value\r\n }\r\n return obj\r\n}\r\nvar isEmpty = function(entity) {\r\n return Array.isArray(entity) && !entity.length\r\n};\r\nexports.isEmpty = isEmpty;\r\nvar wrapToArray = function(entity) {\r\n return Array.isArray(entity) ? entity : [entity]\r\n};\r\nexports.wrapToArray = wrapToArray;\r\nvar inArray = function(value, object) {\r\n if (!object) {\r\n return -1\r\n }\r\n var array = Array.isArray(object) ? object : object.toArray();\r\n return array.indexOf(value)\r\n};\r\nexports.inArray = inArray;\r\nvar intersection = function(a, b) {\r\n if (!Array.isArray(a) || 0 === a.length || !Array.isArray(b) || 0 === b.length) {\r\n return []\r\n }\r\n var result = [];\r\n (0, _iterator.each)(a, function(_, value) {\r\n var index = inArray(value, b);\r\n if (index !== -1) {\r\n result.push(value)\r\n }\r\n });\r\n return result\r\n};\r\nexports.intersection = intersection;\r\nvar uniqueValues = function(data) {\r\n return data.filter(function(item, position) {\r\n return data.indexOf(item) === position\r\n })\r\n};\r\nexports.uniqueValues = uniqueValues;\r\nvar removeDuplicates = function(from, what) {\r\n if (!Array.isArray(from) || 0 === from.length) {\r\n return []\r\n }\r\n if (!Array.isArray(what) || 0 === what.length) {\r\n return from.slice()\r\n }\r\n var result = [];\r\n (0, _iterator.each)(from, function(_, value) {\r\n var index = inArray(value, what);\r\n if (index === -1) {\r\n result.push(value)\r\n }\r\n });\r\n return result\r\n};\r\nexports.removeDuplicates = removeDuplicates;\r\nvar normalizeIndexes = function(items, indexParameterName, currentItem, needIndexCallback) {\r\n var indexedItems = {};\r\n var parameterIndex = 0;\r\n var useLegacyVisibleIndex = (0, _config.default)().useLegacyVisibleIndex;\r\n (0, _iterator.each)(items, function(index, item) {\r\n index = item[indexParameterName];\r\n if (index >= 0) {\r\n indexedItems[index] = indexedItems[index] || [];\r\n if (item === currentItem) {\r\n indexedItems[index].unshift(item)\r\n } else {\r\n indexedItems[index].push(item)\r\n }\r\n } else {\r\n item[indexParameterName] = void 0\r\n }\r\n });\r\n if (!useLegacyVisibleIndex) {\r\n (0, _iterator.each)(items, function() {\r\n if (!(0, _type.isDefined)(this[indexParameterName]) && (!needIndexCallback || needIndexCallback(this))) {\r\n while (indexedItems[parameterIndex]) {\r\n parameterIndex++\r\n }\r\n indexedItems[parameterIndex] = [this];\r\n parameterIndex++\r\n }\r\n })\r\n }\r\n parameterIndex = 0;\r\n (0, _object.orderEach)(indexedItems, function(index, items) {\r\n (0, _iterator.each)(items, function() {\r\n if (index >= 0) {\r\n this[indexParameterName] = parameterIndex++\r\n }\r\n })\r\n });\r\n if (useLegacyVisibleIndex) {\r\n (0, _iterator.each)(items, function() {\r\n if (!(0, _type.isDefined)(this[indexParameterName]) && (!needIndexCallback || needIndexCallback(this))) {\r\n this[indexParameterName] = parameterIndex++\r\n }\r\n })\r\n }\r\n return parameterIndex\r\n};\r\nexports.normalizeIndexes = normalizeIndexes;\r\nvar merge = function(array1, array2) {\r\n for (var i = 0; i < array2.length; i++) {\r\n array1[array1.length] = array2[i]\r\n }\r\n return array1\r\n};\r\nexports.merge = merge;\r\nvar find = function(array, condition) {\r\n for (var i = 0; i < array.length; i++) {\r\n if (condition(array[i])) {\r\n return array[i]\r\n }\r\n }\r\n};\r\nexports.find = find;\r\nvar groupBy = function(array, cb) {\r\n return array.reduce(function(result, item) {\r\n return _objectSpread(_objectSpread({}, result), {}, _defineProperty({}, cb(item), [].concat(_toConsumableArray(result[cb(item)] || []), [item])))\r\n }, {})\r\n};\r\nexports.groupBy = groupBy;\r\n","/**\r\n * DevExtreme (localization/ldml/number.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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.getFormatter = getFormatter;\r\nexports.getFormat = getFormat;\r\nvar _math = require(\"../../core/utils/math\");\r\nvar _utils = require(\"../utils\");\r\nvar DEFAULT_CONFIG = {\r\n thousandsSeparator: \",\",\r\n decimalSeparator: \".\"\r\n};\r\nvar ESCAPING_CHAR = \"'\";\r\nvar MAXIMUM_NUMBER_LENGTH = 15;\r\n\r\nfunction getGroupSizes(formatString) {\r\n return formatString.split(\",\").slice(1).map(function(str) {\r\n return str.split(\"\").filter(function(char) {\r\n return \"#\" === char || \"0\" === char\r\n }).length\r\n })\r\n}\r\n\r\nfunction getSignParts(format) {\r\n var signParts = format.split(\";\");\r\n if (1 === signParts.length) {\r\n signParts.push(\"-\" + signParts[0])\r\n }\r\n return signParts\r\n}\r\n\r\nfunction reverseString(str) {\r\n return str.toString().split(\"\").reverse().join(\"\")\r\n}\r\n\r\nfunction isPercentFormat(format) {\r\n return format.indexOf(\"%\") !== -1 && !format.match(/'[^']*%[^']*'/g)\r\n}\r\n\r\nfunction removeStubs(str) {\r\n return str.replace(/'.+'/g, \"\")\r\n}\r\n\r\nfunction getNonRequiredDigitCount(floatFormat) {\r\n if (!floatFormat) {\r\n return 0\r\n }\r\n var format = removeStubs(floatFormat);\r\n return format.length - format.replace(/[#]/g, \"\").length\r\n}\r\n\r\nfunction getRequiredDigitCount(floatFormat) {\r\n if (!floatFormat) {\r\n return 0\r\n }\r\n var format = removeStubs(floatFormat);\r\n return format.length - format.replace(/[0]/g, \"\").length\r\n}\r\n\r\nfunction normalizeValueString(valuePart, minDigitCount, maxDigitCount) {\r\n if (!valuePart) {\r\n return \"\"\r\n }\r\n if (valuePart.length > maxDigitCount) {\r\n valuePart = valuePart.substr(0, maxDigitCount)\r\n }\r\n while (valuePart.length > minDigitCount && \"0\" === valuePart.slice(-1)) {\r\n valuePart = valuePart.substr(0, valuePart.length - 1)\r\n }\r\n while (valuePart.length < minDigitCount) {\r\n valuePart += \"0\"\r\n }\r\n return valuePart\r\n}\r\n\r\nfunction applyGroups(valueString, groupSizes, thousandsSeparator) {\r\n if (!groupSizes.length) {\r\n return valueString\r\n }\r\n var groups = [];\r\n var index = 0;\r\n while (valueString) {\r\n var groupSize = groupSizes[index];\r\n if (!groupSize) {\r\n break\r\n }\r\n groups.push(valueString.slice(0, groupSize));\r\n valueString = valueString.slice(groupSize);\r\n if (index < groupSizes.length - 1) {\r\n index++\r\n }\r\n }\r\n return groups.join(thousandsSeparator)\r\n}\r\n\r\nfunction formatNumberPart(format, valueString) {\r\n return format.split(ESCAPING_CHAR).map(function(formatPart, escapeIndex) {\r\n var isEscape = escapeIndex % 2;\r\n if (!formatPart && isEscape) {\r\n return ESCAPING_CHAR\r\n }\r\n return isEscape ? formatPart : formatPart.replace(/[,#0]+/, valueString)\r\n }).join(\"\")\r\n}\r\n\r\nfunction getFloatPointIndex(format) {\r\n var isEscape = false;\r\n for (var index = 0; index < format.length; index++) {\r\n if (\"'\" === format[index]) {\r\n isEscape = !isEscape\r\n }\r\n if (\".\" === format[index] && !isEscape) {\r\n return index\r\n }\r\n }\r\n return format.length\r\n}\r\n\r\nfunction getFormatter(format, config) {\r\n config = config || DEFAULT_CONFIG;\r\n return function(value) {\r\n if (\"number\" !== typeof value || isNaN(value)) {\r\n return \"\"\r\n }\r\n var signFormatParts = getSignParts(format);\r\n var isPositiveZero = 1 / value === 1 / 0;\r\n var isPositive = value > 0 || isPositiveZero;\r\n var numberFormat = signFormatParts[isPositive ? 0 : 1];\r\n if (isPercentFormat(numberFormat)) {\r\n value = 100 * value\r\n }\r\n if (!isPositive) {\r\n value = -value\r\n }\r\n var floatPointIndex = getFloatPointIndex(numberFormat);\r\n var floatFormatParts = [numberFormat.substr(0, floatPointIndex), numberFormat.substr(floatPointIndex + 1)];\r\n var minFloatPrecision = getRequiredDigitCount(floatFormatParts[1]);\r\n var maxFloatPrecision = minFloatPrecision + getNonRequiredDigitCount(floatFormatParts[1]);\r\n var minIntegerPrecision = getRequiredDigitCount(floatFormatParts[0]);\r\n var maxIntegerPrecision = getNonRequiredDigitCount(floatFormatParts[0]) || config.unlimitedIntegerDigits ? void 0 : minIntegerPrecision;\r\n var integerLength = Math.floor(value).toString().length;\r\n var floatPrecision = (0, _math.fitIntoRange)(maxFloatPrecision, 0, MAXIMUM_NUMBER_LENGTH - integerLength);\r\n var groupSizes = getGroupSizes(floatFormatParts[0]).reverse();\r\n var valueParts = (0, _utils.toFixed)(value, floatPrecision < 0 ? 0 : floatPrecision).split(\".\");\r\n var valueIntegerPart = normalizeValueString(reverseString(valueParts[0]), minIntegerPrecision, maxIntegerPrecision);\r\n var valueFloatPart = normalizeValueString(valueParts[1], minFloatPrecision, maxFloatPrecision);\r\n valueIntegerPart = applyGroups(valueIntegerPart, groupSizes, config.thousandsSeparator);\r\n var integerString = reverseString(formatNumberPart(reverseString(floatFormatParts[0]), valueIntegerPart));\r\n var floatString = maxFloatPrecision ? formatNumberPart(floatFormatParts[1], valueFloatPart) : \"\";\r\n var result = integerString + (floatString.match(/\\d/) ? config.decimalSeparator : \"\") + floatString;\r\n return result\r\n }\r\n}\r\n\r\nfunction parseValue(text, isPercent, isNegative) {\r\n var value = (isPercent ? .01 : 1) * parseFloat(text) || 0;\r\n return isNegative ? -value : value\r\n}\r\n\r\nfunction prepareValueText(valueText, formatter, isPercent, isIntegerPart) {\r\n var nextValueText = valueText;\r\n var char;\r\n var text;\r\n var nextText;\r\n do {\r\n if (nextText) {\r\n char = text.length === nextText.length ? \"0\" : \"1\";\r\n valueText = isIntegerPart ? char + valueText : valueText + char\r\n }\r\n text = nextText || formatter(parseValue(nextValueText, isPercent));\r\n nextValueText = isIntegerPart ? \"1\" + nextValueText : nextValueText + \"1\";\r\n nextText = formatter(parseValue(nextValueText, isPercent))\r\n } while (text !== nextText && (isIntegerPart ? text.length === nextText.length : text.length <= nextText.length));\r\n if (isIntegerPart && nextText.length > text.length) {\r\n var hasGroups = formatter(12345).indexOf(\"12345\") === -1;\r\n do {\r\n valueText = \"1\" + valueText\r\n } while (hasGroups && parseValue(valueText, isPercent) < 1e5)\r\n }\r\n return valueText\r\n}\r\n\r\nfunction getFormatByValueText(valueText, formatter, isPercent, isNegative) {\r\n var format = formatter(parseValue(valueText, isPercent, isNegative));\r\n var valueTextParts = valueText.split(\".\");\r\n var valueTextWithModifiedFloat = valueTextParts[0] + \".3\" + valueTextParts[1].slice(1);\r\n var valueWithModifiedFloat = parseValue(valueTextWithModifiedFloat, isPercent, isNegative);\r\n var decimalSeparatorIndex = formatter(valueWithModifiedFloat).indexOf(\"3\") - 1;\r\n format = format.replace(/(\\d)\\D(\\d)/g, \"$1,$2\");\r\n if (decimalSeparatorIndex >= 0) {\r\n format = format.slice(0, decimalSeparatorIndex) + \".\" + format.slice(decimalSeparatorIndex + 1)\r\n }\r\n format = format.replace(/1+/, \"1\").replace(/1/g, \"#\");\r\n if (!isPercent) {\r\n format = format.replace(\"%\", \"'%'\")\r\n }\r\n return format\r\n}\r\n\r\nfunction getFormat(formatter) {\r\n var valueText = \".\";\r\n var isPercent = formatter(1).indexOf(\"100\") >= 0;\r\n valueText = prepareValueText(valueText, formatter, isPercent, true);\r\n valueText = prepareValueText(valueText, formatter, isPercent, false);\r\n var positiveFormat = getFormatByValueText(valueText, formatter, isPercent, false);\r\n var negativeFormat = getFormatByValueText(valueText, formatter, isPercent, true);\r\n return negativeFormat === \"-\" + positiveFormat ? positiveFormat : positiveFormat + \";\" + negativeFormat\r\n}\r\n","/**\r\n * DevExtreme (animation/translator.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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.parseTranslate = exports.resetPosition = exports.move = exports.getTranslate = exports.getTranslateCss = exports.clearCache = exports.locate = void 0;\r\nvar _element_data = require(\"../core/element_data\");\r\nvar _type = require(\"../core/utils/type\");\r\nvar TRANSLATOR_DATA_KEY = \"dxTranslator\";\r\nvar TRANSFORM_MATRIX_REGEX = /matrix(3d)?\\((.+?)\\)/;\r\nvar TRANSLATE_REGEX = /translate(?:3d)?\\((.+?)\\)/;\r\nvar locate = function($element) {\r\n var translate = getTranslate($element);\r\n return {\r\n left: translate.x,\r\n top: translate.y\r\n }\r\n};\r\nexports.locate = locate;\r\n\r\nfunction isPercentValue(value) {\r\n return \"string\" === (0, _type.type)(value) && \"%\" === value[value.length - 1]\r\n}\r\n\r\nfunction cacheTranslate($element, translate) {\r\n if ($element.length) {\r\n (0, _element_data.data)($element.get(0), TRANSLATOR_DATA_KEY, translate)\r\n }\r\n}\r\nvar clearCache = function($element) {\r\n if ($element.length) {\r\n (0, _element_data.removeData)($element.get(0), TRANSLATOR_DATA_KEY)\r\n }\r\n};\r\nexports.clearCache = clearCache;\r\nvar getTranslateCss = function(translate) {\r\n translate.x = translate.x || 0;\r\n translate.y = translate.y || 0;\r\n var xValueString = isPercentValue(translate.x) ? translate.x : translate.x + \"px\";\r\n var yValueString = isPercentValue(translate.y) ? translate.y : translate.y + \"px\";\r\n return \"translate(\" + xValueString + \", \" + yValueString + \")\"\r\n};\r\nexports.getTranslateCss = getTranslateCss;\r\nvar getTranslate = function($element) {\r\n var result = $element.length ? (0, _element_data.data)($element.get(0), TRANSLATOR_DATA_KEY) : null;\r\n if (!result) {\r\n var transformValue = $element.css(\"transform\") || getTranslateCss({\r\n x: 0,\r\n y: 0\r\n });\r\n var matrix = transformValue.match(TRANSFORM_MATRIX_REGEX);\r\n var is3D = matrix && matrix[1];\r\n if (matrix) {\r\n matrix = matrix[2].split(\",\");\r\n if (\"3d\" === is3D) {\r\n matrix = matrix.slice(12, 15)\r\n } else {\r\n matrix.push(0);\r\n matrix = matrix.slice(4, 7)\r\n }\r\n } else {\r\n matrix = [0, 0, 0]\r\n }\r\n result = {\r\n x: parseFloat(matrix[0]),\r\n y: parseFloat(matrix[1]),\r\n z: parseFloat(matrix[2])\r\n };\r\n cacheTranslate($element, result)\r\n }\r\n return result\r\n};\r\nexports.getTranslate = getTranslate;\r\nvar move = function($element, position) {\r\n var left = position.left;\r\n var top = position.top;\r\n var translate;\r\n if (void 0 === left) {\r\n translate = getTranslate($element);\r\n translate.y = top || 0\r\n } else {\r\n if (void 0 === top) {\r\n translate = getTranslate($element);\r\n translate.x = left || 0\r\n } else {\r\n translate = {\r\n x: left || 0,\r\n y: top || 0,\r\n z: 0\r\n };\r\n cacheTranslate($element, translate)\r\n }\r\n }\r\n $element.css({\r\n transform: getTranslateCss(translate)\r\n });\r\n if (isPercentValue(left) || isPercentValue(top)) {\r\n clearCache($element)\r\n }\r\n};\r\nexports.move = move;\r\nvar resetPosition = function($element, finishTransition) {\r\n var originalTransition;\r\n var stylesConfig = {\r\n left: 0,\r\n top: 0,\r\n transform: \"none\"\r\n };\r\n if (finishTransition) {\r\n originalTransition = $element.css(\"transition\");\r\n stylesConfig.transition = \"none\"\r\n }\r\n $element.css(stylesConfig);\r\n clearCache($element);\r\n if (finishTransition) {\r\n $element.get(0).offsetHeight;\r\n $element.css(\"transition\", originalTransition)\r\n }\r\n};\r\nexports.resetPosition = resetPosition;\r\nvar parseTranslate = function(translateString) {\r\n var result = translateString.match(TRANSLATE_REGEX);\r\n if (!result || !result[1]) {\r\n return\r\n }\r\n result = result[1].split(\",\");\r\n result = {\r\n x: parseFloat(result[0]),\r\n y: parseFloat(result[1]),\r\n z: parseFloat(result[2])\r\n };\r\n return result\r\n};\r\nexports.parseTranslate = parseTranslate;\r\n","/**\r\n * DevExtreme (core/options/utils.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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.createDefaultOptionRules = exports.getNestedOptionValue = exports.getParentName = exports.getFieldName = exports.deviceMatch = exports.normalizeOptions = exports.convertRulesToOptions = void 0;\r\nvar _devices = _interopRequireDefault(require(\"../devices\"));\r\nvar _type = require(\"../utils/type\");\r\nvar _common = require(\"../utils/common\");\r\nvar _extend = require(\"../utils/extend\");\r\nvar _data = require(\"../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 _defineProperty(obj, key, value) {\r\n if (key in obj) {\r\n Object.defineProperty(obj, key, {\r\n value: value,\r\n enumerable: true,\r\n configurable: true,\r\n writable: true\r\n })\r\n } else {\r\n obj[key] = value\r\n }\r\n return obj\r\n}\r\nvar cachedGetters = {};\r\nvar convertRulesToOptions = function(rules) {\r\n var currentDevice = _devices.default.current();\r\n return rules.reduce(function(options, _ref) {\r\n var device = _ref.device,\r\n ruleOptions = _ref.options;\r\n var deviceFilter = device || {};\r\n var match = (0, _type.isFunction)(deviceFilter) ? deviceFilter(currentDevice) : deviceMatch(currentDevice, deviceFilter);\r\n if (match) {\r\n (0, _extend.extend)(true, options, ruleOptions)\r\n }\r\n return options\r\n }, {})\r\n};\r\nexports.convertRulesToOptions = convertRulesToOptions;\r\nvar normalizeOptions = function(options, value) {\r\n return \"string\" !== typeof options ? options : _defineProperty({}, options, value)\r\n};\r\nexports.normalizeOptions = normalizeOptions;\r\nvar deviceMatch = function(device, filter) {\r\n return (0, _type.isEmptyObject)(filter) || (0, _common.findBestMatches)(device, [filter]).length > 0\r\n};\r\nexports.deviceMatch = deviceMatch;\r\nvar getFieldName = function(fullName) {\r\n return fullName.substr(fullName.lastIndexOf(\".\") + 1)\r\n};\r\nexports.getFieldName = getFieldName;\r\nvar getParentName = function(fullName) {\r\n return fullName.substr(0, fullName.lastIndexOf(\".\"))\r\n};\r\nexports.getParentName = getParentName;\r\nvar getNestedOptionValue = function(optionsObject, name) {\r\n cachedGetters[name] = cachedGetters[name] || (0, _data.compileGetter)(name);\r\n return cachedGetters[name](optionsObject, {\r\n functionsAsIs: true\r\n })\r\n};\r\nexports.getNestedOptionValue = getNestedOptionValue;\r\nvar createDefaultOptionRules = function() {\r\n var options = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : [];\r\n return options\r\n};\r\nexports.createDefaultOptionRules = createDefaultOptionRules;\r\n","/*!\n * devextreme-vue\n * Version: 20.2.6\n * Build date: Tue Mar 16 2021\n *\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-vue\n */\n\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getOptionInfo = exports.getOptionValue = exports.allKeysAreEqual = exports.forEachChildNode = exports.isEqual = exports.toComparable = exports.camelize = exports.lowercaseFirst = exports.uppercaseFirst = void 0;\nfunction uppercaseFirst(value) {\n return value[0].toUpperCase() + value.substr(1);\n}\nexports.uppercaseFirst = uppercaseFirst;\nfunction lowercaseFirst(value) {\n return value[0].toLowerCase() + value.substr(1);\n}\nexports.lowercaseFirst = lowercaseFirst;\nfunction camelize(value) {\n return lowercaseFirst(value.split(\"-\").map(function (v) { return uppercaseFirst(v); }).join(\"\"));\n}\nexports.camelize = camelize;\nfunction toComparable(value) {\n return value instanceof Date ? value.getTime() : value;\n}\nexports.toComparable = toComparable;\nfunction isEqual(value1, value2) {\n if (toComparable(value1) === toComparable(value2)) {\n return true;\n }\n if (Array.isArray(value1) && Array.isArray(value2)) {\n return value1.length === 0 && value2.length === 0;\n }\n return false;\n}\nexports.isEqual = isEqual;\nfunction forEachChildNode(el, callback) {\n Array.prototype.slice.call(el.childNodes).forEach(callback);\n}\nexports.forEachChildNode = forEachChildNode;\nfunction allKeysAreEqual(obj1, obj2) {\n var obj1Keys = Object.keys(obj1);\n if (obj1Keys.length !== Object.keys(obj2).length) {\n return false;\n }\n for (var _i = 0, obj1Keys_1 = obj1Keys; _i < obj1Keys_1.length; _i++) {\n var key = obj1Keys_1[_i];\n if (!obj2.hasOwnProperty(key)) {\n return false;\n }\n }\n return true;\n}\nexports.allKeysAreEqual = allKeysAreEqual;\nfunction getOptionValue(options, optionPath) {\n var value = options;\n optionPath.split(\".\").forEach(function (p) {\n var optionInfo = getOptionInfo(p);\n value = optionInfo.isCollection ?\n value[optionInfo.name] && value[optionInfo.name][optionInfo.index] :\n value[optionInfo.name];\n });\n return value;\n}\nexports.getOptionValue = getOptionValue;\nfunction getOptionInfo(name) {\n var parts = name.split(\"[\");\n if (parts.length === 1) {\n return {\n isCollection: false,\n name: name,\n fullName: name\n };\n }\n return {\n isCollection: true,\n name: parts[0],\n fullName: name,\n index: Number(parts[1].slice(0, -1))\n };\n}\nexports.getOptionInfo = getOptionInfo;\n","/*!\n * devextreme-vue\n * Version: 20.2.6\n * Build date: Tue Mar 16 2021\n *\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-vue\n */\n\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DxButton = void 0;\nvar button_1 = require(\"devextreme/ui/button\");\nvar index_1 = require(\"./core/index\");\nvar DxButton = index_1.createComponent({\n props: {\n accessKey: String,\n activeStateEnabled: Boolean,\n disabled: Boolean,\n elementAttr: Object,\n focusStateEnabled: Boolean,\n height: [Function, Number, String],\n hint: String,\n hoverStateEnabled: Boolean,\n icon: String,\n onClick: Function,\n onContentReady: Function,\n onDisposing: Function,\n onInitialized: Function,\n onOptionChanged: Function,\n rtlEnabled: Boolean,\n stylingMode: String,\n tabIndex: Number,\n template: {},\n text: String,\n type: String,\n useSubmitBehavior: Boolean,\n validationGroup: String,\n visible: Boolean,\n width: [Function, Number, String]\n },\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:accessKey\": null,\n \"update:activeStateEnabled\": null,\n \"update:disabled\": null,\n \"update:elementAttr\": null,\n \"update:focusStateEnabled\": null,\n \"update:height\": null,\n \"update:hint\": null,\n \"update:hoverStateEnabled\": null,\n \"update:icon\": null,\n \"update:onClick\": null,\n \"update:onContentReady\": null,\n \"update:onDisposing\": null,\n \"update:onInitialized\": null,\n \"update:onOptionChanged\": null,\n \"update:rtlEnabled\": null,\n \"update:stylingMode\": null,\n \"update:tabIndex\": null,\n \"update:template\": null,\n \"update:text\": null,\n \"update:type\": null,\n \"update:useSubmitBehavior\": null,\n \"update:validationGroup\": null,\n \"update:visible\": null,\n \"update:width\": null,\n },\n computed: {\n instance: function () {\n return this.$_instance;\n }\n },\n beforeCreate: function () {\n this.$_WidgetClass = button_1.default;\n }\n});\nexports.DxButton = DxButton;\nexports.default = DxButton;\n","/**\r\n * DevExtreme (ui/validator.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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 _element_data = require(\"../core/element_data\");\r\nvar _callbacks = _interopRequireDefault(require(\"../core/utils/callbacks\"));\r\nvar _ui = _interopRequireDefault(require(\"./widget/ui.errors\"));\r\nvar _dom_component = _interopRequireDefault(require(\"../core/dom_component\"));\r\nvar _extend = require(\"../core/utils/extend\");\r\nvar _iterator = require(\"../core/utils/iterator\");\r\nvar _validation_engine = _interopRequireDefault(require(\"./validation_engine\"));\r\nvar _default_adapter = _interopRequireDefault(require(\"./validation/default_adapter\"));\r\nvar _component_registrator = _interopRequireDefault(require(\"../core/component_registrator\"));\r\nvar _deferred = require(\"../core/utils/deferred\");\r\nvar _guid = _interopRequireDefault(require(\"../core/guid\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar VALIDATOR_CLASS = \"dx-validator\";\r\nvar VALIDATION_STATUS_VALID = \"valid\";\r\nvar VALIDATION_STATUS_INVALID = \"invalid\";\r\nvar VALIDATION_STATUS_PENDING = \"pending\";\r\nvar Validator = _dom_component.default.inherit({\r\n _initOptions: function(options) {\r\n this.callBase.apply(this, arguments);\r\n this.option(_validation_engine.default.initValidationOptions(options))\r\n },\r\n _getDefaultOptions: function() {\r\n return (0, _extend.extend)(this.callBase(), {\r\n validationRules: []\r\n })\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this._initGroupRegistration();\r\n this.focused = (0, _callbacks.default)();\r\n this._initAdapter();\r\n this._validationInfo = {\r\n result: null,\r\n deferred: null,\r\n skipValidation: false\r\n }\r\n },\r\n _initGroupRegistration: function() {\r\n var group = this._findGroup();\r\n if (!this._groupWasInit) {\r\n this.on(\"disposing\", function(args) {\r\n _validation_engine.default.removeRegisteredValidator(args.component._validationGroup, args.component)\r\n })\r\n }\r\n if (!this._groupWasInit || this._validationGroup !== group) {\r\n _validation_engine.default.removeRegisteredValidator(this._validationGroup, this);\r\n this._groupWasInit = true;\r\n this._validationGroup = group;\r\n _validation_engine.default.registerValidatorInGroup(group, this)\r\n }\r\n },\r\n _setOptionsByReference: function() {\r\n this.callBase();\r\n (0, _extend.extend)(this._optionsByReference, {\r\n validationGroup: true\r\n })\r\n },\r\n _initAdapter: function() {\r\n var _this = this;\r\n var element = this.$element()[0];\r\n var dxStandardEditor = (0, _element_data.data)(element, \"dx-validation-target\");\r\n var adapter = this.option(\"adapter\");\r\n if (!adapter) {\r\n if (dxStandardEditor) {\r\n adapter = new _default_adapter.default(dxStandardEditor, this);\r\n adapter.validationRequestsCallbacks.push(function(args) {\r\n if (_this._validationInfo.skipValidation) {\r\n return\r\n }\r\n _this.validate(args)\r\n });\r\n this.option(\"adapter\", adapter);\r\n return\r\n }\r\n throw _ui.default.Error(\"E0120\")\r\n }\r\n var callbacks = adapter.validationRequestsCallbacks;\r\n if (callbacks) {\r\n callbacks.push(function(args) {\r\n _this.validate(args)\r\n })\r\n }\r\n },\r\n _toggleRTLDirection: function(isRtl) {\r\n var _this$option$editor$o, _this$option, _this$option$editor;\r\n var rtlEnabled = null !== (_this$option$editor$o = null === (_this$option = this.option(\"adapter\")) || void 0 === _this$option ? void 0 : null === (_this$option$editor = _this$option.editor) || void 0 === _this$option$editor ? void 0 : _this$option$editor.option(\"rtlEnabled\")) && void 0 !== _this$option$editor$o ? _this$option$editor$o : isRtl;\r\n this.callBase(rtlEnabled)\r\n },\r\n _initMarkup: function() {\r\n this.$element().addClass(VALIDATOR_CLASS);\r\n this.callBase()\r\n },\r\n _visibilityChanged: function(visible) {\r\n if (visible) {\r\n this._initGroupRegistration()\r\n }\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"validationGroup\":\r\n this._initGroupRegistration();\r\n return;\r\n case \"validationRules\":\r\n this._resetValidationRules();\r\n void 0 !== this.option(\"isValid\") && this.validate();\r\n return;\r\n case \"adapter\":\r\n this._initAdapter();\r\n break;\r\n case \"isValid\":\r\n case \"validationStatus\":\r\n this.option(_validation_engine.default.synchronizeValidationOptions(args, this.option()));\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _getValidationRules: function() {\r\n var _this2 = this;\r\n if (!this._validationRules) {\r\n this._validationRules = (0, _iterator.map)(this.option(\"validationRules\"), function(rule, index) {\r\n return (0, _extend.extend)({}, rule, {\r\n validator: _this2,\r\n index: index\r\n })\r\n })\r\n }\r\n return this._validationRules\r\n },\r\n _findGroup: function() {\r\n var $element = this.$element();\r\n return this.option(\"validationGroup\") || _validation_engine.default.findGroup($element, this._modelByElement($element))\r\n },\r\n _resetValidationRules: function() {\r\n delete this._validationRules\r\n },\r\n validate: function(args) {\r\n var _this3 = this;\r\n var adapter = this.option(\"adapter\");\r\n var name = this.option(\"name\");\r\n var bypass = adapter.bypass && adapter.bypass();\r\n var value = args && void 0 !== args.value ? args.value : adapter.getValue();\r\n var currentError = adapter.getCurrentValidationError && adapter.getCurrentValidationError();\r\n var rules = this._getValidationRules();\r\n var currentResult = this._validationInfo && this._validationInfo.result;\r\n if (currentResult && currentResult.status === VALIDATION_STATUS_PENDING && currentResult.value === value) {\r\n return (0, _extend.extend)({}, currentResult)\r\n }\r\n var result;\r\n if (bypass) {\r\n result = {\r\n isValid: true,\r\n status: VALIDATION_STATUS_VALID\r\n }\r\n } else {\r\n if (currentError && currentError.editorSpecific) {\r\n currentError.validator = this;\r\n result = {\r\n isValid: false,\r\n status: VALIDATION_STATUS_INVALID,\r\n brokenRule: currentError,\r\n brokenRules: [currentError]\r\n }\r\n } else {\r\n result = _validation_engine.default.validate(value, rules, name)\r\n }\r\n }\r\n result.id = (new _guid.default).toString();\r\n this._applyValidationResult(result, adapter);\r\n result.complete && result.complete.then(function(res) {\r\n if (res.id === _this3._validationInfo.result.id) {\r\n _this3._applyValidationResult(res, adapter)\r\n }\r\n });\r\n return (0, _extend.extend)({}, this._validationInfo.result)\r\n },\r\n reset: function() {\r\n var adapter = this.option(\"adapter\");\r\n var result = {\r\n id: null,\r\n isValid: true,\r\n brokenRule: null,\r\n brokenRules: null,\r\n pendingRules: null,\r\n status: VALIDATION_STATUS_VALID,\r\n complete: null\r\n };\r\n this._validationInfo.skipValidation = true;\r\n adapter.reset();\r\n this._validationInfo.skipValidation = false;\r\n this._resetValidationRules();\r\n this._applyValidationResult(result, adapter)\r\n },\r\n _updateValidationResult: function(result) {\r\n if (!this._validationInfo.result || this._validationInfo.result.id !== result.id) {\r\n var complete = this._validationInfo.deferred && this._validationInfo.result.complete;\r\n this._validationInfo.result = (0, _extend.extend)({}, result, {\r\n complete: complete\r\n })\r\n } else {\r\n for (var prop in result) {\r\n if (\"id\" !== prop && \"complete\" !== prop) {\r\n this._validationInfo.result[prop] = result[prop]\r\n }\r\n }\r\n }\r\n },\r\n _applyValidationResult: function(result, adapter) {\r\n var validatedAction = this._createActionByOption(\"onValidated\", {\r\n excludeValidators: [\"readOnly\"]\r\n });\r\n result.validator = this;\r\n this._updateValidationResult(result);\r\n adapter.applyValidationResults && adapter.applyValidationResults(this._validationInfo.result);\r\n this.option({\r\n validationStatus: this._validationInfo.result.status\r\n });\r\n if (this._validationInfo.result.status === VALIDATION_STATUS_PENDING) {\r\n if (!this._validationInfo.deferred) {\r\n this._validationInfo.deferred = new _deferred.Deferred;\r\n this._validationInfo.result.complete = this._validationInfo.deferred.promise()\r\n }\r\n this._eventsStrategy.fireEvent(\"validating\", [this._validationInfo.result]);\r\n return\r\n }\r\n if (this._validationInfo.result.status !== VALIDATION_STATUS_PENDING) {\r\n validatedAction(result);\r\n if (this._validationInfo.deferred) {\r\n this._validationInfo.deferred.resolve(result);\r\n this._validationInfo.deferred = null\r\n }\r\n }\r\n },\r\n focus: function() {\r\n var adapter = this.option(\"adapter\");\r\n adapter && adapter.focus && adapter.focus()\r\n },\r\n _useTemplates: function() {\r\n return false\r\n }\r\n});\r\n(0, _component_registrator.default)(\"dxValidator\", Validator);\r\nvar _default = Validator;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = module.exports;\r\n","/*!\n * devextreme-vue\n * Version: 20.2.6\n * Build date: Tue Mar 16 2021\n *\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-vue\n */\n\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TEMPLATE_MULTIPLE_ROOTS_ERROR = \"Template must have a single root node.\";\n","/**\r\n * DevExtreme (events/core/emitter_registrator.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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 (ui/text_box/texteditor_button_collection/button.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar TextEditorButton = function() {\r\n function TextEditorButton(name, editor, options) {\r\n this.instance = null;\r\n this.$container = null;\r\n this.$placeMarker = null;\r\n this.editor = editor;\r\n this.name = name;\r\n this.options = options || {}\r\n }\r\n var _proto = TextEditorButton.prototype;\r\n _proto._addPlaceMarker = function($container) {\r\n this.$placeMarker = (0, _renderer.default)(\"
\").appendTo($container)\r\n };\r\n _proto._addToContainer = function($element) {\r\n var $placeMarker = this.$placeMarker,\r\n $container = this.$container;\r\n $placeMarker ? $placeMarker.replaceWith($element) : $element.appendTo($container)\r\n };\r\n _proto._attachEvents = function() {\r\n throw \"Not implemented\"\r\n };\r\n _proto._create = function() {\r\n throw \"Not implemented\"\r\n };\r\n _proto._isRendered = function() {\r\n return !!this.instance\r\n };\r\n _proto._isVisible = function() {\r\n var editor = this.editor,\r\n options = this.options;\r\n return options.visible || !editor.option(\"readOnly\")\r\n };\r\n _proto._isDisabled = function() {\r\n throw \"Not implemented\"\r\n };\r\n _proto._shouldRender = function() {\r\n return this._isVisible() && !this._isRendered()\r\n };\r\n _proto.dispose = function() {\r\n var instance = this.instance,\r\n $placeMarker = this.$placeMarker;\r\n if (instance) {\r\n instance.dispose ? instance.dispose() : instance.remove();\r\n this.instance = null\r\n }\r\n $placeMarker && $placeMarker.remove()\r\n };\r\n _proto.render = function() {\r\n var $container = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : this.$container;\r\n this.$container = $container;\r\n if (this._isVisible()) {\r\n var _this$_create = this._create(),\r\n instance = _this$_create.instance,\r\n $element = _this$_create.$element;\r\n this.instance = instance;\r\n this._attachEvents(instance, $element)\r\n } else {\r\n this._addPlaceMarker($container)\r\n }\r\n };\r\n _proto.update = function() {\r\n if (this._shouldRender()) {\r\n this.render()\r\n }\r\n return !!this.instance\r\n };\r\n return TextEditorButton\r\n}();\r\nexports.default = TextEditorButton;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (ui/validation_engine.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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 _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 _events_strategy = require(\"../core/events_strategy\");\r\nvar _errors = _interopRequireDefault(require(\"../core/errors\"));\r\nvar _common = require(\"../core/utils/common\");\r\nvar _type = require(\"../core/utils/type\");\r\nvar _number = _interopRequireDefault(require(\"../localization/number\"));\r\nvar _message = _interopRequireDefault(require(\"../localization/message\"));\r\nvar _promise = _interopRequireDefault(require(\"../core/polyfills/promise\"));\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 _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 STATUS = {\r\n valid: \"valid\",\r\n invalid: \"invalid\",\r\n pending: \"pending\"\r\n};\r\nvar BaseRuleValidator = function() {\r\n function BaseRuleValidator() {\r\n this.NAME = \"base\"\r\n }\r\n var _proto = BaseRuleValidator.prototype;\r\n _proto.defaultMessage = function(value) {\r\n return _message.default.getFormatter(\"validation-\".concat(this.NAME))(value)\r\n };\r\n _proto.defaultFormattedMessage = function(value) {\r\n return _message.default.getFormatter(\"validation-\".concat(this.NAME, \"-formatted\"))(value)\r\n };\r\n _proto._isValueEmpty = function(value) {\r\n return !rulesValidators.required.validate(value, {})\r\n };\r\n _proto.validate = function(value, rule) {\r\n var _this = this;\r\n var valueArray = Array.isArray(value) ? value : [value];\r\n var result = true;\r\n if (valueArray.length) {\r\n valueArray.every(function(itemValue) {\r\n result = _this._validate(itemValue, rule);\r\n return result\r\n })\r\n } else {\r\n result = this._validate(null, rule)\r\n }\r\n return result\r\n };\r\n return BaseRuleValidator\r\n}();\r\nvar RequiredRuleValidator = function(_BaseRuleValidator) {\r\n _inheritsLoose(RequiredRuleValidator, _BaseRuleValidator);\r\n\r\n function RequiredRuleValidator() {\r\n var _this2;\r\n _this2 = _BaseRuleValidator.call(this) || this;\r\n _this2.NAME = \"required\";\r\n return _this2\r\n }\r\n var _proto2 = RequiredRuleValidator.prototype;\r\n _proto2._validate = function(value, rule) {\r\n if (!(0, _type.isDefined)(value)) {\r\n return false\r\n }\r\n if (false === value) {\r\n return false\r\n }\r\n value = String(value);\r\n if (rule.trim || !(0, _type.isDefined)(rule.trim)) {\r\n value = value.trim()\r\n }\r\n return \"\" !== value\r\n };\r\n return RequiredRuleValidator\r\n}(BaseRuleValidator);\r\nvar NumericRuleValidator = function(_BaseRuleValidator2) {\r\n _inheritsLoose(NumericRuleValidator, _BaseRuleValidator2);\r\n\r\n function NumericRuleValidator() {\r\n var _this3;\r\n _this3 = _BaseRuleValidator2.call(this) || this;\r\n _this3.NAME = \"numeric\";\r\n return _this3\r\n }\r\n var _proto3 = NumericRuleValidator.prototype;\r\n _proto3._validate = function(value, rule) {\r\n if (false !== rule.ignoreEmptyValue && this._isValueEmpty(value)) {\r\n return true\r\n }\r\n if (rule.useCultureSettings && (0, _type.isString)(value)) {\r\n return !isNaN(_number.default.parse(value))\r\n } else {\r\n return (0, _type.isNumeric)(value)\r\n }\r\n };\r\n return NumericRuleValidator\r\n}(BaseRuleValidator);\r\nvar RangeRuleValidator = function(_BaseRuleValidator3) {\r\n _inheritsLoose(RangeRuleValidator, _BaseRuleValidator3);\r\n\r\n function RangeRuleValidator() {\r\n var _this4;\r\n _this4 = _BaseRuleValidator3.call(this) || this;\r\n _this4.NAME = \"range\";\r\n return _this4\r\n }\r\n var _proto4 = RangeRuleValidator.prototype;\r\n _proto4._validate = function(value, rule) {\r\n if (false !== rule.ignoreEmptyValue && this._isValueEmpty(value)) {\r\n return true\r\n }\r\n var validNumber = rulesValidators.numeric.validate(value, rule);\r\n var validValue = (0, _type.isDefined)(value) && \"\" !== value;\r\n var number = validNumber ? parseFloat(value) : validValue && value.valueOf();\r\n var min = rule.min;\r\n var max = rule.max;\r\n if (!(validNumber || (0, _type.isDate)(value)) && !validValue) {\r\n return false\r\n }\r\n if ((0, _type.isDefined)(min)) {\r\n if ((0, _type.isDefined)(max)) {\r\n return number >= min && number <= max\r\n }\r\n return number >= min\r\n } else {\r\n if ((0, _type.isDefined)(max)) {\r\n return number <= max\r\n } else {\r\n throw _errors.default.Error(\"E0101\")\r\n }\r\n }\r\n };\r\n return RangeRuleValidator\r\n}(BaseRuleValidator);\r\nvar StringLengthRuleValidator = function(_BaseRuleValidator4) {\r\n _inheritsLoose(StringLengthRuleValidator, _BaseRuleValidator4);\r\n\r\n function StringLengthRuleValidator() {\r\n var _this5;\r\n _this5 = _BaseRuleValidator4.call(this) || this;\r\n _this5.NAME = \"stringLength\";\r\n return _this5\r\n }\r\n var _proto5 = StringLengthRuleValidator.prototype;\r\n _proto5._validate = function(value, rule) {\r\n var _value;\r\n value = String(null !== (_value = value) && void 0 !== _value ? _value : \"\");\r\n if (rule.trim || !(0, _type.isDefined)(rule.trim)) {\r\n value = value.trim()\r\n }\r\n if (rule.ignoreEmptyValue && this._isValueEmpty(value)) {\r\n return true\r\n }\r\n return rulesValidators.range.validate(value.length, (0, _extend.extend)({}, rule))\r\n };\r\n return StringLengthRuleValidator\r\n}(BaseRuleValidator);\r\nvar CustomRuleValidator = function(_BaseRuleValidator5) {\r\n _inheritsLoose(CustomRuleValidator, _BaseRuleValidator5);\r\n\r\n function CustomRuleValidator() {\r\n var _this6;\r\n _this6 = _BaseRuleValidator5.call(this) || this;\r\n _this6.NAME = \"custom\";\r\n return _this6\r\n }\r\n var _proto6 = CustomRuleValidator.prototype;\r\n _proto6.validate = function(value, rule) {\r\n if (rule.ignoreEmptyValue && this._isValueEmpty(value)) {\r\n return true\r\n }\r\n var validator = rule.validator;\r\n var dataGetter = validator && (0, _type.isFunction)(validator.option) && validator.option(\"dataGetter\");\r\n var extraParams = (0, _type.isFunction)(dataGetter) && dataGetter();\r\n var params = {\r\n value: value,\r\n validator: validator,\r\n rule: rule\r\n };\r\n if (extraParams) {\r\n (0, _extend.extend)(params, extraParams)\r\n }\r\n return rule.validationCallback(params)\r\n };\r\n return CustomRuleValidator\r\n}(BaseRuleValidator);\r\nvar AsyncRuleValidator = function(_CustomRuleValidator) {\r\n _inheritsLoose(AsyncRuleValidator, _CustomRuleValidator);\r\n\r\n function AsyncRuleValidator() {\r\n var _this7;\r\n _this7 = _CustomRuleValidator.call(this) || this;\r\n _this7.NAME = \"async\";\r\n return _this7\r\n }\r\n var _proto7 = AsyncRuleValidator.prototype;\r\n _proto7.validate = function(value, rule) {\r\n if (!(0, _type.isDefined)(rule.reevaluate)) {\r\n (0, _extend.extend)(rule, {\r\n reevaluate: true\r\n })\r\n }\r\n if (rule.ignoreEmptyValue && this._isValueEmpty(value)) {\r\n return true\r\n }\r\n var validator = rule.validator;\r\n var dataGetter = validator && (0, _type.isFunction)(validator.option) && validator.option(\"dataGetter\");\r\n var extraParams = (0, _type.isFunction)(dataGetter) && dataGetter();\r\n var params = {\r\n value: value,\r\n validator: validator,\r\n rule: rule\r\n };\r\n if (extraParams) {\r\n (0, _extend.extend)(params, extraParams)\r\n }\r\n var callbackResult = rule.validationCallback(params);\r\n if (!(0, _type.isPromise)(callbackResult)) {\r\n throw _errors.default.Error(\"E0103\")\r\n }\r\n return this._getWrappedPromise((0, _deferred.fromPromise)(callbackResult).promise())\r\n };\r\n _proto7._getWrappedPromise = function(promise) {\r\n var deferred = new _deferred.Deferred;\r\n promise.then(function(res) {\r\n deferred.resolve(res)\r\n }, function(err) {\r\n var res = {\r\n isValid: false\r\n };\r\n if ((0, _type.isDefined)(err)) {\r\n if ((0, _type.isString)(err)) {\r\n res.message = err\r\n } else {\r\n if ((0, _type.isObject)(err) && (0, _type.isDefined)(err.message) && (0, _type.isString)(err.message)) {\r\n res.message = err.message\r\n }\r\n }\r\n }\r\n deferred.resolve(res)\r\n });\r\n return deferred.promise()\r\n };\r\n return AsyncRuleValidator\r\n}(CustomRuleValidator);\r\nvar CompareRuleValidator = function(_BaseRuleValidator6) {\r\n _inheritsLoose(CompareRuleValidator, _BaseRuleValidator6);\r\n\r\n function CompareRuleValidator() {\r\n var _this8;\r\n _this8 = _BaseRuleValidator6.call(this) || this;\r\n _this8.NAME = \"compare\";\r\n return _this8\r\n }\r\n var _proto8 = CompareRuleValidator.prototype;\r\n _proto8._validate = function(value, rule) {\r\n if (!rule.comparisonTarget) {\r\n throw _errors.default.Error(\"E0102\")\r\n }\r\n if (rule.ignoreEmptyValue && this._isValueEmpty(value)) {\r\n return true\r\n }(0, _extend.extend)(rule, {\r\n reevaluate: true\r\n });\r\n var otherValue = rule.comparisonTarget();\r\n var type = rule.comparisonType || \"==\";\r\n switch (type) {\r\n case \"==\":\r\n return value == otherValue;\r\n case \"!=\":\r\n return value != otherValue;\r\n case \"===\":\r\n return value === otherValue;\r\n case \"!==\":\r\n return value !== otherValue;\r\n case \">\":\r\n return value > otherValue;\r\n case \">=\":\r\n return value >= otherValue;\r\n case \"<\":\r\n return value < otherValue;\r\n case \"<=\":\r\n return value <= otherValue\r\n }\r\n };\r\n return CompareRuleValidator\r\n}(BaseRuleValidator);\r\nvar PatternRuleValidator = function(_BaseRuleValidator7) {\r\n _inheritsLoose(PatternRuleValidator, _BaseRuleValidator7);\r\n\r\n function PatternRuleValidator() {\r\n var _this9;\r\n _this9 = _BaseRuleValidator7.call(this) || this;\r\n _this9.NAME = \"pattern\";\r\n return _this9\r\n }\r\n var _proto9 = PatternRuleValidator.prototype;\r\n _proto9._validate = function(value, rule) {\r\n if (false !== rule.ignoreEmptyValue && this._isValueEmpty(value)) {\r\n return true\r\n }\r\n var pattern = rule.pattern;\r\n if ((0, _type.isString)(pattern)) {\r\n pattern = new RegExp(pattern)\r\n }\r\n return pattern.test(value)\r\n };\r\n return PatternRuleValidator\r\n}(BaseRuleValidator);\r\nvar EmailRuleValidator = function(_BaseRuleValidator8) {\r\n _inheritsLoose(EmailRuleValidator, _BaseRuleValidator8);\r\n\r\n function EmailRuleValidator() {\r\n var _this10;\r\n _this10 = _BaseRuleValidator8.call(this) || this;\r\n _this10.NAME = \"email\";\r\n return _this10\r\n }\r\n var _proto10 = EmailRuleValidator.prototype;\r\n _proto10._validate = function(value, rule) {\r\n if (false !== rule.ignoreEmptyValue && this._isValueEmpty(value)) {\r\n return true\r\n }\r\n return rulesValidators.pattern.validate(value, (0, _extend.extend)({}, rule, {\r\n pattern: /^[\\d\\w._-]+@[\\d\\w._-]+\\.[\\w]+$/i\r\n }))\r\n };\r\n return EmailRuleValidator\r\n}(BaseRuleValidator);\r\nvar rulesValidators = {\r\n required: new RequiredRuleValidator,\r\n numeric: new NumericRuleValidator,\r\n range: new RangeRuleValidator,\r\n stringLength: new StringLengthRuleValidator,\r\n custom: new CustomRuleValidator,\r\n async: new AsyncRuleValidator,\r\n compare: new CompareRuleValidator,\r\n pattern: new PatternRuleValidator,\r\n email: new EmailRuleValidator\r\n};\r\nvar GroupConfig = _class.default.inherit({\r\n ctor: function(group) {\r\n this.group = group;\r\n this.validators = [];\r\n this._pendingValidators = [];\r\n this._onValidatorStatusChanged = this._onValidatorStatusChanged.bind(this);\r\n this._resetValidationInfo();\r\n this._eventsStrategy = new _events_strategy.EventsStrategy(this)\r\n },\r\n validate: function() {\r\n var _this11 = this;\r\n var result = {\r\n isValid: true,\r\n brokenRules: [],\r\n validators: [],\r\n status: STATUS.valid,\r\n complete: null\r\n };\r\n this._unsubscribeFromAllChangeEvents();\r\n this._pendingValidators = [];\r\n this._resetValidationInfo();\r\n (0, _iterator.each)(this.validators, function(_, validator) {\r\n var validatorResult = validator.validate();\r\n result.isValid = result.isValid && validatorResult.isValid;\r\n if (validatorResult.brokenRules) {\r\n result.brokenRules = result.brokenRules.concat(validatorResult.brokenRules)\r\n }\r\n result.validators.push(validator);\r\n if (validatorResult.status === STATUS.pending) {\r\n _this11._addPendingValidator(validator)\r\n }\r\n _this11._subscribeToChangeEvents(validator)\r\n });\r\n if (this._pendingValidators.length) {\r\n result.status = STATUS.pending\r\n } else {\r\n result.status = result.isValid ? STATUS.valid : STATUS.invalid;\r\n this._unsubscribeFromAllChangeEvents();\r\n this._raiseValidatedEvent(result)\r\n }\r\n this._updateValidationInfo(result);\r\n return (0, _extend.extend)({}, this._validationInfo.result)\r\n },\r\n _subscribeToChangeEvents: function(validator) {\r\n validator.on(\"validating\", this._onValidatorStatusChanged);\r\n validator.on(\"validated\", this._onValidatorStatusChanged)\r\n },\r\n _unsubscribeFromChangeEvents: function(validator) {\r\n validator.off(\"validating\", this._onValidatorStatusChanged);\r\n validator.off(\"validated\", this._onValidatorStatusChanged)\r\n },\r\n _unsubscribeFromAllChangeEvents: function() {\r\n var _this12 = this;\r\n (0, _iterator.each)(this.validators, function(_, validator) {\r\n _this12._unsubscribeFromChangeEvents(validator)\r\n })\r\n },\r\n _updateValidationInfo: function(result) {\r\n this._validationInfo.result = result;\r\n if (result.status !== STATUS.pending) {\r\n return\r\n }\r\n if (!this._validationInfo.deferred) {\r\n this._validationInfo.deferred = new _deferred.Deferred;\r\n this._validationInfo.result.complete = this._validationInfo.deferred.promise()\r\n }\r\n },\r\n _addPendingValidator: function(validator) {\r\n var foundValidator = (0, _common.grep)(this._pendingValidators, function(val) {\r\n return val === validator\r\n })[0];\r\n if (!foundValidator) {\r\n this._pendingValidators.push(validator)\r\n }\r\n },\r\n _removePendingValidator: function(validator) {\r\n var index = (0, _array.inArray)(validator, this._pendingValidators);\r\n if (index >= 0) {\r\n this._pendingValidators.splice(index, 1)\r\n }\r\n },\r\n _orderBrokenRules: function(brokenRules) {\r\n var orderedRules = [];\r\n (0, _iterator.each)(this.validators, function(_, validator) {\r\n var foundRules = (0, _common.grep)(brokenRules, function(rule) {\r\n return rule.validator === validator\r\n });\r\n if (foundRules.length) {\r\n orderedRules = orderedRules.concat(foundRules)\r\n }\r\n });\r\n return orderedRules\r\n },\r\n _updateBrokenRules: function(result) {\r\n if (!this._validationInfo.result) {\r\n return\r\n }\r\n var brokenRules = this._validationInfo.result.brokenRules;\r\n var rules = (0, _common.grep)(brokenRules, function(rule) {\r\n return rule.validator !== result.validator\r\n });\r\n if (result.brokenRules) {\r\n brokenRules = rules.concat(result.brokenRules)\r\n }\r\n this._validationInfo.result.brokenRules = this._orderBrokenRules(brokenRules)\r\n },\r\n _onValidatorStatusChanged: function(result) {\r\n if (result.status === STATUS.pending) {\r\n this._addPendingValidator(result.validator);\r\n return\r\n }\r\n this._resolveIfComplete(result)\r\n },\r\n _resolveIfComplete: function(result) {\r\n this._removePendingValidator(result.validator);\r\n this._updateBrokenRules(result);\r\n if (!this._pendingValidators.length) {\r\n this._unsubscribeFromAllChangeEvents();\r\n if (!this._validationInfo.result) {\r\n return\r\n }\r\n this._validationInfo.result.status = 0 === this._validationInfo.result.brokenRules.length ? STATUS.valid : STATUS.invalid;\r\n this._validationInfo.result.isValid = this._validationInfo.result.status === STATUS.valid;\r\n var res = (0, _extend.extend)({}, this._validationInfo.result, {\r\n complete: null\r\n });\r\n var deferred = this._validationInfo.deferred;\r\n this._resetValidationInfo();\r\n this._raiseValidatedEvent(res);\r\n deferred && setTimeout(function() {\r\n deferred.resolve(res)\r\n })\r\n }\r\n },\r\n _raiseValidatedEvent: function(result) {\r\n this._eventsStrategy.fireEvent(\"validated\", [result])\r\n },\r\n _resetValidationInfo: function() {\r\n this._validationInfo = {\r\n result: null,\r\n deferred: null\r\n }\r\n },\r\n _synchronizeValidationInfo: function() {\r\n if (this._validationInfo.result) {\r\n this._validationInfo.result.validators = this.validators\r\n }\r\n },\r\n removeRegisteredValidator: function(validator) {\r\n var index = (0, _array.inArray)(validator, this.validators);\r\n if (index > -1) {\r\n this.validators.splice(index, 1);\r\n this._synchronizeValidationInfo();\r\n this._resolveIfComplete({\r\n validator: validator\r\n })\r\n }\r\n },\r\n registerValidator: function(validator) {\r\n if ((0, _array.inArray)(validator, this.validators) < 0) {\r\n this.validators.push(validator);\r\n this._synchronizeValidationInfo()\r\n }\r\n },\r\n reset: function() {\r\n (0, _iterator.each)(this.validators, function(_, validator) {\r\n validator.reset()\r\n });\r\n this._pendingValidators = [];\r\n this._resetValidationInfo()\r\n },\r\n on: function(eventName, eventHandler) {\r\n this._eventsStrategy.on(eventName, eventHandler);\r\n return this\r\n },\r\n off: function(eventName, eventHandler) {\r\n this._eventsStrategy.off(eventName, eventHandler);\r\n return this\r\n }\r\n});\r\nvar ValidationEngine = {\r\n groups: [],\r\n getGroupConfig: function(group) {\r\n var result = (0, _common.grep)(this.groups, function(config) {\r\n return config.group === group\r\n });\r\n if (result.length) {\r\n return result[0]\r\n }\r\n },\r\n findGroup: function($element, model) {\r\n var $dxGroup = $element.parents(\".dx-validationgroup\").first();\r\n if ($dxGroup.length) {\r\n return $dxGroup.dxValidationGroup(\"instance\")\r\n }\r\n return model\r\n },\r\n initGroups: function() {\r\n this.groups = [];\r\n this.addGroup()\r\n },\r\n addGroup: function(group) {\r\n var config = this.getGroupConfig(group);\r\n if (!config) {\r\n config = new GroupConfig(group);\r\n this.groups.push(config)\r\n }\r\n return config\r\n },\r\n removeGroup: function(group) {\r\n var config = this.getGroupConfig(group);\r\n var index = (0, _array.inArray)(config, this.groups);\r\n if (index > -1) {\r\n this.groups.splice(index, 1)\r\n }\r\n return config\r\n },\r\n _setDefaultMessage: function(info) {\r\n var rule = info.rule,\r\n validator = info.validator,\r\n name = info.name;\r\n if (!(0, _type.isDefined)(rule.message)) {\r\n if (validator.defaultFormattedMessage && (0, _type.isDefined)(name)) {\r\n rule.message = validator.defaultFormattedMessage(name)\r\n } else {\r\n rule.message = validator.defaultMessage()\r\n }\r\n }\r\n },\r\n _addBrokenRule: function(info) {\r\n var result = info.result,\r\n rule = info.rule;\r\n if (!result.brokenRule) {\r\n result.brokenRule = rule\r\n }\r\n if (!result.brokenRules) {\r\n result.brokenRules = []\r\n }\r\n result.brokenRules.push(rule)\r\n },\r\n validate: function(value, rules, name) {\r\n var _this13 = this;\r\n var result = {\r\n name: name,\r\n value: value,\r\n brokenRule: null,\r\n brokenRules: null,\r\n isValid: true,\r\n validationRules: rules,\r\n pendingRules: null,\r\n status: STATUS.valid,\r\n complete: null\r\n };\r\n var asyncRuleItems = [];\r\n (0, _iterator.each)(rules || [], function(_, rule) {\r\n var ruleValidator = rulesValidators[rule.type];\r\n var ruleValidationResult;\r\n if (ruleValidator) {\r\n if ((0, _type.isDefined)(rule.isValid) && rule.value === value && !rule.reevaluate) {\r\n if (!rule.isValid) {\r\n result.isValid = false;\r\n _this13._addBrokenRule({\r\n result: result,\r\n rule: rule\r\n });\r\n return false\r\n }\r\n return true\r\n }\r\n rule.value = value;\r\n if (\"async\" === rule.type) {\r\n asyncRuleItems.push({\r\n rule: rule,\r\n ruleValidator: ruleValidator\r\n });\r\n return true\r\n }\r\n ruleValidationResult = ruleValidator.validate(value, rule);\r\n rule.isValid = ruleValidationResult;\r\n if (!ruleValidationResult) {\r\n result.isValid = false;\r\n _this13._setDefaultMessage({\r\n rule: rule,\r\n validator: ruleValidator,\r\n name: name\r\n });\r\n _this13._addBrokenRule({\r\n result: result,\r\n rule: rule\r\n })\r\n }\r\n if (!rule.isValid) {\r\n return false\r\n }\r\n } else {\r\n throw _errors.default.Error(\"E0100\")\r\n }\r\n });\r\n if (result.isValid && !result.brokenRules && asyncRuleItems.length) {\r\n result = this._validateAsyncRules({\r\n value: value,\r\n items: asyncRuleItems,\r\n result: result,\r\n name: name\r\n })\r\n }\r\n result.status = result.pendingRules ? STATUS.pending : result.isValid ? STATUS.valid : STATUS.invalid;\r\n return result\r\n },\r\n _validateAsyncRules: function(_ref) {\r\n var _this14 = this;\r\n var result = _ref.result,\r\n value = _ref.value,\r\n items = _ref.items,\r\n name = _ref.name;\r\n var asyncResults = [];\r\n (0, _iterator.each)(items, function(_, item) {\r\n var validateResult = item.ruleValidator.validate(value, item.rule);\r\n if (!(0, _type.isPromise)(validateResult)) {\r\n _this14._updateRuleConfig({\r\n rule: item.rule,\r\n ruleResult: _this14._getPatchedRuleResult(validateResult),\r\n validator: item.ruleValidator,\r\n name: name\r\n })\r\n } else {\r\n if (!result.pendingRules) {\r\n result.pendingRules = []\r\n }\r\n result.pendingRules.push(item.rule);\r\n var asyncResult = validateResult.then(function(res) {\r\n var ruleResult = _this14._getPatchedRuleResult(res);\r\n _this14._updateRuleConfig({\r\n rule: item.rule,\r\n ruleResult: ruleResult,\r\n validator: item.ruleValidator,\r\n name: name\r\n });\r\n return ruleResult\r\n });\r\n asyncResults.push(asyncResult)\r\n }\r\n });\r\n if (asyncResults.length) {\r\n result.complete = _promise.default.all(asyncResults).then(function(values) {\r\n return _this14._getAsyncRulesResult({\r\n result: result,\r\n values: values\r\n })\r\n })\r\n }\r\n return result\r\n },\r\n _updateRuleConfig: function(_ref2) {\r\n var rule = _ref2.rule,\r\n ruleResult = _ref2.ruleResult,\r\n validator = _ref2.validator,\r\n name = _ref2.name;\r\n rule.isValid = ruleResult.isValid;\r\n if (!ruleResult.isValid) {\r\n if ((0, _type.isDefined)(ruleResult.message) && (0, _type.isString)(ruleResult.message) && ruleResult.message.length) {\r\n rule.message = ruleResult.message\r\n } else {\r\n this._setDefaultMessage({\r\n rule: rule,\r\n validator: validator,\r\n name: name\r\n })\r\n }\r\n }\r\n },\r\n _getPatchedRuleResult: function(ruleResult) {\r\n var result;\r\n var isValid = true;\r\n if ((0, _type.isObject)(ruleResult)) {\r\n result = (0, _extend.extend)({}, ruleResult);\r\n if (!(0, _type.isDefined)(result.isValid)) {\r\n result.isValid = isValid\r\n }\r\n } else {\r\n result = {\r\n isValid: (0, _type.isBoolean)(ruleResult) ? ruleResult : isValid\r\n }\r\n }\r\n return result\r\n },\r\n _getAsyncRulesResult: function(_ref3) {\r\n var _this15 = this;\r\n var values = _ref3.values,\r\n result = _ref3.result;\r\n (0, _iterator.each)(values, function(index, val) {\r\n if (false === val.isValid) {\r\n result.isValid = val.isValid;\r\n var rule = result.pendingRules[index];\r\n _this15._addBrokenRule({\r\n result: result,\r\n rule: rule\r\n })\r\n }\r\n });\r\n result.pendingRules = null;\r\n result.complete = null;\r\n result.status = result.isValid ? STATUS.valid : STATUS.invalid;\r\n return result\r\n },\r\n registerValidatorInGroup: function(group, validator) {\r\n var groupConfig = ValidationEngine.addGroup(group);\r\n groupConfig.registerValidator.call(groupConfig, validator)\r\n },\r\n _shouldRemoveGroup: function(group, validatorsInGroup) {\r\n var isDefaultGroup = void 0 === group;\r\n var isValidationGroupInstance = group && \"dxValidationGroup\" === group.NAME;\r\n return !isDefaultGroup && !isValidationGroupInstance && !validatorsInGroup.length\r\n },\r\n removeRegisteredValidator: function(group, validator) {\r\n var config = ValidationEngine.getGroupConfig(group);\r\n if (config) {\r\n config.removeRegisteredValidator.call(config, validator);\r\n var validatorsInGroup = config.validators;\r\n if (this._shouldRemoveGroup(group, validatorsInGroup)) {\r\n this.removeGroup(group)\r\n }\r\n }\r\n },\r\n initValidationOptions: function(options) {\r\n var _this16 = this;\r\n var initedOptions = {};\r\n if (options) {\r\n var syncOptions = [\"isValid\", \"validationStatus\", \"validationError\", \"validationErrors\"];\r\n syncOptions.forEach(function(prop) {\r\n if (prop in options) {\r\n (0, _extend.extend)(initedOptions, _this16.synchronizeValidationOptions({\r\n name: prop,\r\n value: options[prop]\r\n }, options))\r\n }\r\n })\r\n }\r\n return initedOptions\r\n },\r\n synchronizeValidationOptions: function(_ref4, options) {\r\n var name = _ref4.name,\r\n value = _ref4.value;\r\n switch (name) {\r\n case \"validationStatus\":\r\n var isValid = value === STATUS.valid || value === STATUS.pending;\r\n return options.isValid !== isValid ? {\r\n isValid: isValid\r\n } : {};\r\n case \"isValid\":\r\n var validationStatus = options.validationStatus;\r\n var newStatus = validationStatus;\r\n if (value && validationStatus === STATUS.invalid) {\r\n newStatus = STATUS.valid\r\n } else {\r\n if (!value && validationStatus !== STATUS.invalid) {\r\n newStatus = STATUS.invalid\r\n }\r\n }\r\n return newStatus !== validationStatus ? {\r\n validationStatus: newStatus\r\n } : {};\r\n case \"validationErrors\":\r\n var validationError = !value || !value.length ? null : value[0];\r\n return options.validationError !== validationError ? {\r\n validationError: validationError\r\n } : {};\r\n case \"validationError\":\r\n var validationErrors = options.validationErrors;\r\n if (!value && validationErrors) {\r\n return {\r\n validationErrors: null\r\n }\r\n } else {\r\n if (value && !validationErrors) {\r\n return {\r\n validationErrors: [value]\r\n }\r\n } else {\r\n if (value && validationErrors && value !== validationErrors[0]) {\r\n validationErrors[0] = value;\r\n return {\r\n validationErrors: validationErrors.slice()\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return {}\r\n },\r\n validateGroup: function(group) {\r\n var groupConfig = ValidationEngine.getGroupConfig(group);\r\n if (!groupConfig) {\r\n throw _errors.default.Error(\"E0110\")\r\n }\r\n return groupConfig.validate()\r\n },\r\n resetGroup: function(group) {\r\n var groupConfig = ValidationEngine.getGroupConfig(group);\r\n if (!groupConfig) {\r\n throw _errors.default.Error(\"E0110\")\r\n }\r\n return groupConfig.reset()\r\n }\r\n};\r\nValidationEngine.initGroups();\r\nvar _default = ValidationEngine;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = module.exports;\r\n","/**\r\n * DevExtreme (core/utils/window.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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.getNavigator = exports.getCurrentScreenFactor = exports.defaultScreenFactorFunc = exports.hasProperty = exports.getWindow = exports.hasWindow = void 0;\r\nvar _dom_adapter = _interopRequireDefault(require(\"../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 hasWindow = function() {\r\n return \"undefined\" !== typeof window\r\n};\r\nexports.hasWindow = hasWindow;\r\nvar windowObject = hasWindow() && window;\r\nif (!windowObject) {\r\n windowObject = {};\r\n windowObject.window = windowObject\r\n}\r\nvar getWindow = function() {\r\n return windowObject\r\n};\r\nexports.getWindow = getWindow;\r\nvar hasProperty = function(prop) {\r\n return hasWindow() && prop in windowObject\r\n};\r\nexports.hasProperty = hasProperty;\r\nvar defaultScreenFactorFunc = function(width) {\r\n if (width < 768) {\r\n return \"xs\"\r\n } else {\r\n if (width < 992) {\r\n return \"sm\"\r\n } else {\r\n if (width < 1200) {\r\n return \"md\"\r\n } else {\r\n return \"lg\"\r\n }\r\n }\r\n }\r\n};\r\nexports.defaultScreenFactorFunc = defaultScreenFactorFunc;\r\nvar getCurrentScreenFactor = function(screenFactorCallback) {\r\n var screenFactorFunc = screenFactorCallback || defaultScreenFactorFunc;\r\n var windowWidth = _dom_adapter.default.getDocumentElement().clientWidth;\r\n return screenFactorFunc(windowWidth)\r\n};\r\nexports.getCurrentScreenFactor = getCurrentScreenFactor;\r\nvar getNavigator = function() {\r\n return hasWindow() ? windowObject.navigator : {\r\n userAgent: \"\"\r\n }\r\n};\r\nexports.getNavigator = getNavigator;\r\n","/**\r\n * DevExtreme (core/utils/callbacks.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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 Callback = function(options) {\r\n this._options = options || {};\r\n this._list = [];\r\n this._queue = [];\r\n this._firing = false;\r\n this._fired = false;\r\n this._firingIndexes = []\r\n};\r\nCallback.prototype._fireCore = function(context, args) {\r\n var firingIndexes = this._firingIndexes;\r\n var list = this._list;\r\n var stopOnFalse = this._options.stopOnFalse;\r\n var step = firingIndexes.length;\r\n for (firingIndexes[step] = 0; firingIndexes[step] < list.length; firingIndexes[step]++) {\r\n var result = list[firingIndexes[step]].apply(context, args);\r\n if (false === result && stopOnFalse) {\r\n break\r\n }\r\n }\r\n firingIndexes.pop()\r\n};\r\nCallback.prototype.add = function(fn) {\r\n if (\"function\" === typeof fn && (!this._options.unique || !this.has(fn))) {\r\n this._list.push(fn)\r\n }\r\n return this\r\n};\r\nCallback.prototype.remove = function(fn) {\r\n var list = this._list;\r\n var firingIndexes = this._firingIndexes;\r\n var index = list.indexOf(fn);\r\n if (index > -1) {\r\n list.splice(index, 1);\r\n if (this._firing && firingIndexes.length) {\r\n for (var step = 0; step < firingIndexes.length; step++) {\r\n if (index <= firingIndexes[step]) {\r\n firingIndexes[step]--\r\n }\r\n }\r\n }\r\n }\r\n return this\r\n};\r\nCallback.prototype.has = function(fn) {\r\n var list = this._list;\r\n return fn ? list.indexOf(fn) > -1 : !!list.length\r\n};\r\nCallback.prototype.empty = function(fn) {\r\n this._list = [];\r\n return this\r\n};\r\nCallback.prototype.fireWith = function(context, args) {\r\n var queue = this._queue;\r\n args = args || [];\r\n args = args.slice ? args.slice() : args;\r\n if (this._options.syncStrategy) {\r\n this._firing = true;\r\n this._fireCore(context, args)\r\n } else {\r\n queue.push([context, args]);\r\n if (this._firing) {\r\n return\r\n }\r\n this._firing = true;\r\n while (queue.length) {\r\n var memory = queue.shift();\r\n this._fireCore(memory[0], memory[1])\r\n }\r\n }\r\n this._firing = false;\r\n this._fired = true;\r\n return this\r\n};\r\nCallback.prototype.fire = function() {\r\n this.fireWith(this, arguments)\r\n};\r\nCallback.prototype.fired = function() {\r\n return this._fired\r\n};\r\nvar Callbacks = function(options) {\r\n return new Callback(options)\r\n};\r\nvar _default = Callbacks;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (core/utils/console.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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.debug = exports.logger = void 0;\r\nvar _type = require(\"./type\");\r\nvar noop = function() {};\r\nvar getConsoleMethod = function(method) {\r\n if (\"undefined\" === typeof console || !(0, _type.isFunction)(console[method])) {\r\n return noop\r\n }\r\n return console[method].bind(console)\r\n};\r\nvar logger = {\r\n info: getConsoleMethod(\"info\"),\r\n warn: getConsoleMethod(\"warn\"),\r\n error: getConsoleMethod(\"error\")\r\n};\r\nexports.logger = logger;\r\nvar debug = function() {\r\n function assert(condition, message) {\r\n if (!condition) {\r\n throw new Error(message)\r\n }\r\n }\r\n\r\n function assertParam(parameter, message) {\r\n assert(null !== parameter && void 0 !== parameter, message)\r\n }\r\n return {\r\n assert: assert,\r\n assertParam: assertParam\r\n }\r\n}();\r\nexports.debug = debug;\r\n","/**\r\n * DevExtreme (core/utils/support.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nObject.defineProperty(exports, \"stylePropPrefix\", {\r\n enumerable: true,\r\n get: function() {\r\n return _style.stylePropPrefix\r\n }\r\n});\r\nObject.defineProperty(exports, \"styleProp\", {\r\n enumerable: true,\r\n get: function() {\r\n return _style.styleProp\r\n }\r\n});\r\nexports.nativeScrolling = exports.animation = exports.transitionEndEventName = exports.transition = exports.touch = exports.inputType = exports.supportProp = exports.pointerEvents = exports.touchEvents = void 0;\r\nvar _array = require(\"./array\");\r\nvar _dom_adapter = _interopRequireDefault(require(\"../dom_adapter\"));\r\nvar _common = require(\"./common\");\r\nvar _call_once = _interopRequireDefault(require(\"./call_once\"));\r\nvar _window = require(\"./window\");\r\nvar _devices = _interopRequireDefault(require(\"../devices\"));\r\nvar _style = require(\"./style\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar _getNavigator = (0, _window.getNavigator)(),\r\n maxTouchPoints = _getNavigator.maxTouchPoints,\r\n msMaxTouchPoints = _getNavigator.msMaxTouchPoints,\r\n pointerEnabled = _getNavigator.pointerEnabled;\r\nvar transitionEndEventNames = {\r\n webkitTransition: \"webkitTransitionEnd\",\r\n MozTransition: \"transitionend\",\r\n OTransition: \"oTransitionEnd\",\r\n msTransition: \"MsTransitionEnd\",\r\n transition: \"transitionend\"\r\n};\r\nvar supportProp = function(prop) {\r\n return !!(0, _style.styleProp)(prop)\r\n};\r\nexports.supportProp = supportProp;\r\nvar isNativeScrollingSupported = function() {\r\n var _devices$real = _devices.default.real(),\r\n platform = _devices$real.platform,\r\n version = _devices$real.version,\r\n isMac = _devices$real.mac;\r\n var isObsoleteAndroid = version && version[0] < 4 && \"android\" === platform;\r\n var isNativeScrollDevice = !isObsoleteAndroid && (0, _array.inArray)(platform, [\"ios\", \"android\"]) > -1 || isMac;\r\n return isNativeScrollDevice\r\n};\r\nvar inputType = function(type) {\r\n if (\"text\" === type) {\r\n return true\r\n }\r\n var input = _dom_adapter.default.createElement(\"input\");\r\n try {\r\n input.setAttribute(\"type\", type);\r\n input.value = \"wrongValue\";\r\n return !input.value\r\n } catch (e) {\r\n return false\r\n }\r\n};\r\nexports.inputType = inputType;\r\nvar detectTouchEvents = function(hasWindowProperty, maxTouchPoints) {\r\n return (hasWindowProperty(\"ontouchstart\") || !!maxTouchPoints) && !hasWindowProperty(\"callPhantom\")\r\n};\r\nvar detectPointerEvent = function(hasWindowProperty, pointerEnabled) {\r\n var isPointerEnabled = (0, _common.ensureDefined)(pointerEnabled, true);\r\n var canUsePointerEvent = (0, _common.ensureDefined)(pointerEnabled, false);\r\n return hasWindowProperty(\"PointerEvent\") && isPointerEnabled || canUsePointerEvent\r\n};\r\nvar touchEvents = detectTouchEvents(_window.hasProperty, maxTouchPoints);\r\nexports.touchEvents = touchEvents;\r\nvar pointerEvents = detectPointerEvent(_window.hasProperty, pointerEnabled);\r\nexports.pointerEvents = pointerEvents;\r\nvar touchPointersPresent = !!maxTouchPoints || !!msMaxTouchPoints;\r\nvar touch = touchEvents || pointerEvents && touchPointersPresent;\r\nexports.touch = touch;\r\nvar transition = (0, _call_once.default)(function() {\r\n return supportProp(\"transition\")\r\n});\r\nexports.transition = transition;\r\nvar transitionEndEventName = (0, _call_once.default)(function() {\r\n return transitionEndEventNames[(0, _style.styleProp)(\"transition\")]\r\n});\r\nexports.transitionEndEventName = transitionEndEventName;\r\nvar animation = (0, _call_once.default)(function() {\r\n return supportProp(\"animation\")\r\n});\r\nexports.animation = animation;\r\nvar nativeScrolling = isNativeScrollingSupported();\r\nexports.nativeScrolling = nativeScrolling;\r\n","/**\r\n * DevExtreme (core/utils/size.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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.parseHeight = exports.getVisibleHeight = exports.getVerticalOffsets = exports.addOffsetToMinHeight = exports.addOffsetToMaxHeight = exports.getElementBoxParams = exports.getSize = void 0;\r\nvar _window = require(\"../../core/utils/window\");\r\nvar _type = require(\"../utils/type\");\r\nvar window = (0, _window.getWindow)();\r\nvar SPECIAL_HEIGHT_VALUES = [\"auto\", \"none\", \"inherit\", \"initial\"];\r\nvar getSizeByStyles = function(elementStyles, styles) {\r\n var result = 0;\r\n styles.forEach(function(style) {\r\n result += parseFloat(elementStyles[style]) || 0\r\n });\r\n return result\r\n};\r\nvar getElementBoxParams = function(name, elementStyles) {\r\n var beforeName = \"width\" === name ? \"Left\" : \"Top\";\r\n var afterName = \"width\" === name ? \"Right\" : \"Bottom\";\r\n return {\r\n padding: getSizeByStyles(elementStyles, [\"padding\" + beforeName, \"padding\" + afterName]),\r\n border: getSizeByStyles(elementStyles, [\"border\" + beforeName + \"Width\", \"border\" + afterName + \"Width\"]),\r\n margin: getSizeByStyles(elementStyles, [\"margin\" + beforeName, \"margin\" + afterName])\r\n }\r\n};\r\nexports.getElementBoxParams = getElementBoxParams;\r\nvar getBoxSizingOffset = function(name, elementStyles, boxParams) {\r\n var size = elementStyles[name];\r\n if (\"border-box\" === elementStyles.boxSizing && size.length && \"%\" !== size[size.length - 1]) {\r\n return boxParams.border + boxParams.padding\r\n }\r\n return 0\r\n};\r\nvar getSize = function(element, name, include) {\r\n var elementStyles = window.getComputedStyle(element);\r\n var boxParams = getElementBoxParams(name, elementStyles);\r\n var clientRect = element.getClientRects().length;\r\n var boundingClientRect = element.getBoundingClientRect()[name];\r\n var result = clientRect ? boundingClientRect : 0;\r\n if (result <= 0) {\r\n result = parseFloat(elementStyles[name] || element.style[name]) || 0;\r\n result -= getBoxSizingOffset(name, elementStyles, boxParams)\r\n } else {\r\n result -= boxParams.padding + boxParams.border\r\n }\r\n if (include.paddings) {\r\n result += boxParams.padding\r\n }\r\n if (include.borders) {\r\n result += boxParams.border\r\n }\r\n if (include.margins) {\r\n result += boxParams.margin\r\n }\r\n return result\r\n};\r\nexports.getSize = getSize;\r\nvar getContainerHeight = function(container) {\r\n return (0, _type.isWindow)(container) ? container.innerHeight : container.offsetHeight\r\n};\r\nvar parseHeight = function(value, container) {\r\n if (value.indexOf(\"px\") > 0) {\r\n value = parseInt(value.replace(\"px\", \"\"))\r\n } else {\r\n if (value.indexOf(\"%\") > 0) {\r\n value = parseInt(value.replace(\"%\", \"\")) * getContainerHeight(container) / 100\r\n } else {\r\n if (!isNaN(value)) {\r\n value = parseInt(value)\r\n }\r\n }\r\n }\r\n return value\r\n};\r\nexports.parseHeight = parseHeight;\r\nvar getHeightWithOffset = function(value, offset, container) {\r\n if (!value) {\r\n return null\r\n }\r\n if (SPECIAL_HEIGHT_VALUES.indexOf(value) > -1) {\r\n return offset ? null : value\r\n }\r\n if ((0, _type.isString)(value)) {\r\n value = parseHeight(value, container)\r\n }\r\n if ((0, _type.isNumeric)(value)) {\r\n return Math.max(0, value + offset)\r\n }\r\n var operationString = offset < 0 ? \" - \" : \" \";\r\n return \"calc(\" + value + operationString + Math.abs(offset) + \"px)\"\r\n};\r\nvar addOffsetToMaxHeight = function(value, offset, container) {\r\n var maxHeight = getHeightWithOffset(value, offset, container);\r\n return null !== maxHeight ? maxHeight : \"none\"\r\n};\r\nexports.addOffsetToMaxHeight = addOffsetToMaxHeight;\r\nvar addOffsetToMinHeight = function(value, offset, container) {\r\n var minHeight = getHeightWithOffset(value, offset, container);\r\n return null !== minHeight ? minHeight : 0\r\n};\r\nexports.addOffsetToMinHeight = addOffsetToMinHeight;\r\nvar getVerticalOffsets = function(element, withMargins) {\r\n if (!element) {\r\n return 0\r\n }\r\n var boxParams = getElementBoxParams(\"height\", window.getComputedStyle(element));\r\n return boxParams.padding + boxParams.border + (withMargins ? boxParams.margin : 0)\r\n};\r\nexports.getVerticalOffsets = getVerticalOffsets;\r\nvar getVisibleHeight = function(element) {\r\n if (element) {\r\n var boundingClientRect = element.getBoundingClientRect();\r\n if (boundingClientRect.height) {\r\n return boundingClientRect.height\r\n }\r\n }\r\n return 0\r\n};\r\nexports.getVisibleHeight = getVisibleHeight;\r\n","/**\r\n * DevExtreme (animation/frame.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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.requestAnimationFrame = requestAnimationFrame;\r\nexports.cancelAnimationFrame = cancelAnimationFrame;\r\nvar _window = require(\"../core/utils/window\");\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\nvar window = (0, _window.hasWindow)() ? (0, _window.getWindow)() : {};\r\nvar FRAME_ANIMATION_STEP_TIME = 1e3 / 60;\r\nvar request = function(callback) {\r\n return setTimeout(callback, FRAME_ANIMATION_STEP_TIME)\r\n};\r\nvar cancel = function(requestID) {\r\n clearTimeout(requestID)\r\n};\r\nvar setAnimationFrameMethods = (0, _call_once.default)(function() {\r\n var nativeRequest = window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame || window.msRequestAnimationFrame;\r\n var nativeCancel = window.cancelAnimationFrame || window.webkitCancelAnimationFrame || window.mozCancelAnimationFrame || window.oCancelAnimationFrame || window.msCancelAnimationFrame;\r\n if (nativeRequest && nativeCancel) {\r\n request = nativeRequest;\r\n cancel = nativeCancel\r\n }\r\n if (nativeRequest && !nativeCancel) {\r\n var canceledRequests = {};\r\n request = function(callback) {\r\n var requestId = nativeRequest.call(window, function() {\r\n try {\r\n if (requestId in canceledRequests) {\r\n return\r\n }\r\n callback.apply(this, arguments)\r\n } finally {\r\n delete canceledRequests[requestId]\r\n }\r\n });\r\n return requestId\r\n };\r\n cancel = function(requestId) {\r\n canceledRequests[requestId] = true\r\n }\r\n }\r\n});\r\n\r\nfunction requestAnimationFrame() {\r\n setAnimationFrameMethods();\r\n return request.apply(window, arguments)\r\n}\r\n\r\nfunction cancelAnimationFrame() {\r\n setAnimationFrameMethods();\r\n cancel.apply(window, arguments)\r\n}\r\n","/**\r\n * DevExtreme (ui/validation_message.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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 _component_registrator = _interopRequireDefault(require(\"../core/component_registrator\"));\r\nvar _overlay = _interopRequireDefault(require(\"./overlay\"));\r\nvar _extend = require(\"../core/utils/extend\");\r\nvar _string = require(\"../core/utils/string\");\r\nvar _position = require(\"../core/utils/position\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar INVALID_MESSAGE = \"dx-invalid-message\";\r\nvar INVALID_MESSAGE_AUTO = \"dx-invalid-message-auto\";\r\nvar INVALID_MESSAGE_ALWAYS = \"dx-invalid-message-always\";\r\nvar INVALID_MESSAGE_CONTENT = \"dx-invalid-message-content\";\r\nvar VALIDATION_MESSAGE_MIN_WIDTH = 100;\r\nvar ValidationMessage = _overlay.default.inherit({\r\n _getDefaultOptions: function() {\r\n return (0, _extend.extend)(this.callBase(), {\r\n integrationOptions: {},\r\n templatesRenderAsynchronously: false,\r\n shading: false,\r\n width: \"auto\",\r\n height: \"auto\",\r\n closeOnOutsideClick: false,\r\n closeOnTargetScroll: false,\r\n animation: null,\r\n visible: true,\r\n propagateOutsideClick: true,\r\n _checkParentVisibility: false,\r\n rtlEnabled: false,\r\n contentTemplate: this._renderInnerHtml,\r\n maxWidth: \"100%\",\r\n mode: \"auto\",\r\n validationErrors: void 0,\r\n positionRequest: void 0,\r\n describedElement: void 0,\r\n boundary: void 0,\r\n offset: {\r\n h: 0,\r\n v: 0\r\n }\r\n })\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this.updateMaxWidth();\r\n this._updatePosition()\r\n },\r\n _initMarkup: function() {\r\n this.callBase();\r\n this.$element().addClass(INVALID_MESSAGE);\r\n this._wrapper().addClass(INVALID_MESSAGE);\r\n this._toggleModeClass();\r\n this._updateContentId()\r\n },\r\n _updateContentId: function() {\r\n var describedElement = this.option(\"describedElement\") || this.option(\"container\");\r\n var contentId = (0, _renderer.default)(describedElement).attr(\"aria-describedby\");\r\n this.$content().addClass(INVALID_MESSAGE_CONTENT).attr(\"id\", contentId)\r\n },\r\n _renderInnerHtml: function(element) {\r\n var $element = element && (0, _renderer.default)(element);\r\n var validationErrors = this.option(\"validationErrors\") || [];\r\n var validationErrorMessage = \"\";\r\n validationErrors.forEach(function(err) {\r\n var separator = validationErrorMessage ? \"
\" : \"\";\r\n validationErrorMessage += separator + (0, _string.encodeHtml)((null === err || void 0 === err ? void 0 : err.message) || \"\")\r\n });\r\n null === $element || void 0 === $element ? void 0 : $element.html(validationErrorMessage)\r\n },\r\n _toggleModeClass: function() {\r\n var mode = this.option(\"mode\");\r\n this._wrapper().toggleClass(INVALID_MESSAGE_AUTO, \"auto\" === mode).toggleClass(INVALID_MESSAGE_ALWAYS, \"always\" === mode)\r\n },\r\n updateMaxWidth: function() {\r\n var _target$outerWidth;\r\n var target = this.option(\"target\");\r\n var targetWidth = (null === target || void 0 === target ? void 0 : null === (_target$outerWidth = target.outerWidth) || void 0 === _target$outerWidth ? void 0 : _target$outerWidth.call(target)) || (0, _renderer.default)(target).outerWidth();\r\n var maxWidth = \"100%\";\r\n if (targetWidth) {\r\n maxWidth = Math.max(targetWidth, VALIDATION_MESSAGE_MIN_WIDTH)\r\n }\r\n this.option({\r\n maxWidth: maxWidth\r\n })\r\n },\r\n _updatePosition: function() {\r\n var _this$option = this.option(),\r\n positionRequest = _this$option.positionRequest,\r\n rtlEnabled = _this$option.rtlEnabled,\r\n offset = _this$option.offset,\r\n boundary = _this$option.boundary;\r\n var positionSide = (0, _position.getDefaultAlignment)(rtlEnabled);\r\n var verticalPositions = \"below\" === positionRequest ? [\" top\", \" bottom\"] : [\" bottom\", \" top\"];\r\n if (rtlEnabled) {\r\n offset.h = -offset.h\r\n }\r\n if (\"below\" !== positionRequest) {\r\n offset.v = -offset.v\r\n }\r\n this.option(\"position\", {\r\n offset: offset,\r\n boundary: boundary,\r\n my: positionSide + verticalPositions[0],\r\n at: positionSide + verticalPositions[1],\r\n collision: \"none flip\"\r\n })\r\n },\r\n _optionChanged: function(args) {\r\n var name = args.name,\r\n value = args.value;\r\n switch (name) {\r\n case \"target\":\r\n this.updateMaxWidth();\r\n this.callBase(args);\r\n break;\r\n case \"boundary\":\r\n this.option(\"position.boundary\", value);\r\n break;\r\n case \"mode\":\r\n this._toggleModeClass(value);\r\n break;\r\n case \"rtlEnabled\":\r\n case \"offset\":\r\n case \"positionRequest\":\r\n this._updatePosition();\r\n break;\r\n case \"validationErrors\":\r\n this._renderInnerHtml(this.$content());\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n }\r\n});\r\n(0, _component_registrator.default)(\"dxValidationMessage\", ValidationMessage);\r\nvar _default = ValidationMessage;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (core/utils/template_manager.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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.acquireTemplate = exports.acquireIntegrationTemplate = exports.defaultCreateElement = exports.templateKey = exports.validateTemplateSource = exports.getNormalizedTemplateArgs = exports.addOneRenderedCall = exports.suitableTemplatesByName = exports.findTemplates = void 0;\r\nvar _config = _interopRequireDefault(require(\"../config\"));\r\nvar _devices = _interopRequireDefault(require(\"../devices\"));\r\nvar _errors = _interopRequireDefault(require(\"../errors\"));\r\nvar _renderer = _interopRequireDefault(require(\"../renderer\"));\r\nvar _child_default_template = require(\"../templates/child_default_template\");\r\nvar _empty_template = require(\"../templates/empty_template\");\r\nvar _template = require(\"../templates/template\");\r\nvar _template_base = require(\"../templates/template_base\");\r\nvar _array = require(\"./array\");\r\nvar _common = require(\"./common\");\r\nvar _dom = require(\"./dom\");\r\nvar _extend = require(\"./extend\");\r\nvar _type = require(\"./type\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar findTemplates = function(element, name) {\r\n var optionsAttributeName = \"data-options\";\r\n var templates = (0, _renderer.default)(element).contents().filter(\"[\".concat(optionsAttributeName, '*=\"').concat(name, '\"]'));\r\n return [].slice.call(templates).map(function(element) {\r\n var optionsString = (0, _renderer.default)(element).attr(optionsAttributeName) || \"\";\r\n return {\r\n element: element,\r\n options: (0, _config.default)().optionsParser(optionsString)[name]\r\n }\r\n }).filter(function(template) {\r\n return !!template.options\r\n })\r\n};\r\nexports.findTemplates = findTemplates;\r\nvar suitableTemplatesByName = function(rawTemplates) {\r\n var templatesMap = (0, _array.groupBy)(rawTemplates, function(template) {\r\n return template.options.name\r\n });\r\n if (templatesMap[void 0]) {\r\n throw _errors.default.Error(\"E0023\")\r\n }\r\n var result = {};\r\n Object.keys(templatesMap).forEach(function(name) {\r\n var _findBestMatches$;\r\n var suitableTemplate = null === (_findBestMatches$ = (0, _common.findBestMatches)(_devices.default.current(), templatesMap[name], function(template) {\r\n return template.options\r\n })[0]) || void 0 === _findBestMatches$ ? void 0 : _findBestMatches$.element;\r\n if (suitableTemplate) {\r\n result[name] = suitableTemplate\r\n }\r\n });\r\n return result\r\n};\r\nexports.suitableTemplatesByName = suitableTemplatesByName;\r\nvar addOneRenderedCall = function(template) {\r\n var _render = template.render.bind(template);\r\n return (0, _extend.extend)({}, template, {\r\n render: function(options) {\r\n var templateResult = _render(options);\r\n options && options.onRendered && options.onRendered();\r\n return templateResult\r\n }\r\n })\r\n};\r\nexports.addOneRenderedCall = addOneRenderedCall;\r\nvar getNormalizedTemplateArgs = function(options) {\r\n var args = [];\r\n if (\"model\" in options) {\r\n args.push(options.model)\r\n }\r\n if (\"index\" in options) {\r\n args.push(options.index)\r\n }\r\n args.push(options.container);\r\n return args\r\n};\r\nexports.getNormalizedTemplateArgs = getNormalizedTemplateArgs;\r\nvar validateTemplateSource = function(templateSource) {\r\n return \"string\" === typeof templateSource ? (0, _dom.normalizeTemplateElement)(templateSource) : templateSource\r\n};\r\nexports.validateTemplateSource = validateTemplateSource;\r\nvar templateKey = function(templateSource) {\r\n return (0, _type.isRenderer)(templateSource) && templateSource[0] || templateSource\r\n};\r\nexports.templateKey = templateKey;\r\nvar defaultCreateElement = function(element) {\r\n return new _template.Template(element)\r\n};\r\nexports.defaultCreateElement = defaultCreateElement;\r\nvar acquireIntegrationTemplate = function(templateSource, templates, isAsyncTemplate, skipTemplates) {\r\n var integrationTemplate = null;\r\n if (!skipTemplates || skipTemplates.indexOf(templateSource) === -1) {\r\n integrationTemplate = templates[templateSource];\r\n if (integrationTemplate && !(integrationTemplate instanceof _template_base.TemplateBase) && !isAsyncTemplate) {\r\n integrationTemplate = addOneRenderedCall(integrationTemplate)\r\n }\r\n }\r\n return integrationTemplate\r\n};\r\nexports.acquireIntegrationTemplate = acquireIntegrationTemplate;\r\nvar acquireTemplate = function(templateSource, createTemplate, templates, isAsyncTemplate, skipTemplates, defaultTemplates) {\r\n if (null == templateSource) {\r\n return new _empty_template.EmptyTemplate\r\n }\r\n if (templateSource instanceof _child_default_template.ChildDefaultTemplate) {\r\n return defaultTemplates[templateSource.name]\r\n }\r\n if (templateSource instanceof _template_base.TemplateBase) {\r\n return templateSource\r\n }\r\n if ((0, _type.isFunction)(templateSource.render) && !(0, _type.isRenderer)(templateSource)) {\r\n return isAsyncTemplate ? templateSource : addOneRenderedCall(templateSource)\r\n }\r\n if (templateSource.nodeType || (0, _type.isRenderer)(templateSource)) {\r\n return createTemplate((0, _renderer.default)(templateSource))\r\n }\r\n return acquireIntegrationTemplate(templateSource, templates, isAsyncTemplate, skipTemplates) || defaultTemplates[templateSource] || createTemplate(templateSource)\r\n};\r\nexports.acquireTemplate = acquireTemplate;\r\n","/**\r\n * DevExtreme (core/templates/function_template.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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.FunctionTemplate = void 0;\r\nvar _template_base = require(\"./template_base\");\r\nvar _dom = require(\"../utils/dom\");\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 FunctionTemplate = function(_TemplateBase) {\r\n _inheritsLoose(FunctionTemplate, _TemplateBase);\r\n\r\n function FunctionTemplate(render) {\r\n var _this;\r\n _this = _TemplateBase.call(this) || this;\r\n _this._render = render;\r\n return _this\r\n }\r\n var _proto = FunctionTemplate.prototype;\r\n _proto._renderCore = function(options) {\r\n return (0, _dom.normalizeTemplateElement)(this._render(options))\r\n };\r\n return FunctionTemplate\r\n}(_template_base.TemplateBase);\r\nexports.FunctionTemplate = FunctionTemplate;\r\n","/**\r\n * DevExtreme (core/utils/dependency_injector.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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 _extend = require(\"./extend\");\r\nvar _type = require(\"./type\");\r\nvar _iterator = require(\"./iterator\");\r\nvar _class = _interopRequireDefault(require(\"../class\"));\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 _default(object) {\r\n var BaseClass = _class.default.inherit(object);\r\n var InjectedClass = BaseClass;\r\n var instance = new InjectedClass(object);\r\n var initialFields = {};\r\n var injectFields = function(injectionObject, initial) {\r\n (0, _iterator.each)(injectionObject, function(key) {\r\n if ((0, _type.isFunction)(instance[key])) {\r\n if (initial || !object[key]) {\r\n object[key] = function() {\r\n return instance[key].apply(object, arguments)\r\n }\r\n }\r\n } else {\r\n if (initial) {\r\n initialFields[key] = object[key]\r\n }\r\n object[key] = instance[key]\r\n }\r\n })\r\n };\r\n injectFields(object, true);\r\n object.inject = function(injectionObject) {\r\n InjectedClass = InjectedClass.inherit(injectionObject);\r\n instance = new InjectedClass;\r\n injectFields(injectionObject)\r\n };\r\n object.resetInjection = function() {\r\n (0, _extend.extend)(object, initialFields);\r\n InjectedClass = BaseClass;\r\n instance = new BaseClass\r\n };\r\n return object\r\n}\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (core/remove_event.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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(\"./renderer\"));\r\nvar _element_data = require(\"./element_data\");\r\nvar _events_engine = _interopRequireDefault(require(\"../events/core/events_engine\"));\r\nvar _event_registrator = _interopRequireDefault(require(\"../events/core/event_registrator\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar eventName = \"dxremove\";\r\nvar eventPropName = \"dxRemoveEvent\";\r\n(0, _element_data.beforeCleanData)(function(elements) {\r\n elements = [].slice.call(elements);\r\n for (var i = 0; i < elements.length; i++) {\r\n var $element = (0, _renderer.default)(elements[i]);\r\n if ($element.prop(eventPropName)) {\r\n $element[0][eventPropName] = null;\r\n _events_engine.default.triggerHandler($element, eventName)\r\n }\r\n }\r\n});\r\n(0, _event_registrator.default)(eventName, {\r\n noBubble: true,\r\n setup: function(element) {\r\n (0, _renderer.default)(element).prop(eventPropName, true)\r\n }\r\n});\r\nvar _default = eventName;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (ui/text_box/ui.text_editor.mask.strategy.input_events.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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 _uiText_editorMaskStrategy = _interopRequireDefault(require(\"./ui.text_editor.mask.strategy.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 _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 && Symbol.iterator in Object(iter)) {\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\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 DELETE_INPUT_TYPE = \"deleteContentBackward\";\r\nvar InputEventsMaskStrategy = function(_BaseMaskStrategy) {\r\n _inheritsLoose(InputEventsMaskStrategy, _BaseMaskStrategy);\r\n\r\n function InputEventsMaskStrategy() {\r\n return _BaseMaskStrategy.apply(this, arguments) || this\r\n }\r\n var _proto = InputEventsMaskStrategy.prototype;\r\n _proto._getStrategyName = function() {\r\n return \"inputEvents\"\r\n };\r\n _proto.getHandleEventNames = function() {\r\n return [].concat(_toConsumableArray(_BaseMaskStrategy.prototype.getHandleEventNames.call(this)), [\"beforeInput\"])\r\n };\r\n _proto._beforeInputHandler = function() {\r\n this._prevCaret = this.editorCaret()\r\n };\r\n _proto._inputHandler = function(_ref) {\r\n var originalEvent = _ref.originalEvent;\r\n if (!originalEvent) {\r\n return\r\n }\r\n var inputType = originalEvent.inputType,\r\n data = originalEvent.data;\r\n var currentCaret = this.editorCaret();\r\n if (inputType === DELETE_INPUT_TYPE) {\r\n var length = this._prevCaret.end - this._prevCaret.start || 1;\r\n this.editor.setBackwardDirection();\r\n this._updateEditorMask({\r\n start: currentCaret.start,\r\n length: length,\r\n text: this._getEmptyString(length)\r\n })\r\n } else {\r\n if (!currentCaret.end) {\r\n return\r\n }\r\n this._autoFillHandler(originalEvent);\r\n this.editorCaret(currentCaret);\r\n var _length = this._prevCaret.end - this._prevCaret.start;\r\n var newData = data + (_length ? this._getEmptyString(_length - data.length) : \"\");\r\n this.editor.setForwardDirection();\r\n var hasValidChars = this._updateEditorMask({\r\n start: this._prevCaret.start,\r\n length: _length || newData.length,\r\n text: newData\r\n });\r\n if (!hasValidChars) {\r\n this.editorCaret(this._prevCaret)\r\n }\r\n }\r\n };\r\n _proto._getEmptyString = function(length) {\r\n return Array(length + 1).join(\" \")\r\n };\r\n _proto._updateEditorMask = function(args) {\r\n var textLength = args.text.length;\r\n var updatedCharsCount = this.editor._handleChain(args);\r\n if (this.editor.isForwardDirection()) {\r\n var _this$editorCaret = this.editorCaret(),\r\n start = _this$editorCaret.start,\r\n end = _this$editorCaret.end;\r\n var correction = updatedCharsCount - textLength;\r\n if (start <= updatedCharsCount && updatedCharsCount > 1) {\r\n this.editorCaret({\r\n start: start + correction,\r\n end: end + correction\r\n })\r\n }\r\n this.editor.isForwardDirection() && this.editor._adjustCaret()\r\n }\r\n this.editor._displayMask();\r\n return !!updatedCharsCount\r\n };\r\n return InputEventsMaskStrategy\r\n}(_uiText_editorMaskStrategy.default);\r\nvar _default = InputEventsMaskStrategy;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (ui/text_box/text_box.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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 _window = require(\"../../core/utils/window\");\r\nvar _browser = _interopRequireDefault(require(\"../../core/utils/browser\"));\r\nvar _events_engine = _interopRequireDefault(require(\"../../events/core/events_engine\"));\r\nvar _devices = _interopRequireDefault(require(\"../../core/devices\"));\r\nvar _array = require(\"../../core/utils/array\");\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _component_registrator = _interopRequireDefault(require(\"../../core/component_registrator\"));\r\nvar _ui = _interopRequireDefault(require(\"./ui.text_editor\"));\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 window = (0, _window.getWindow)();\r\nvar navigator = (0, _window.getNavigator)();\r\nvar ua = navigator.userAgent;\r\nvar ignoreKeys = [\"backspace\", \"tab\", \"enter\", \"pageUp\", \"pageDown\", \"end\", \"home\", \"leftArrow\", \"rightArrow\", \"downArrow\", \"upArrow\", \"del\"];\r\nvar TEXTBOX_CLASS = \"dx-textbox\";\r\nvar SEARCHBOX_CLASS = \"dx-searchbox\";\r\nvar ICON_CLASS = \"dx-icon\";\r\nvar SEARCH_ICON_CLASS = \"dx-icon-search\";\r\nvar TextBox = _ui.default.inherit({\r\n ctor: function(element, options) {\r\n if (options) {\r\n this._showClearButton = options.showClearButton\r\n }\r\n this.callBase.apply(this, arguments)\r\n },\r\n _getDefaultOptions: function() {\r\n return (0, _extend.extend)(this.callBase(), {\r\n value: \"\",\r\n mode: \"text\",\r\n maxLength: null\r\n })\r\n },\r\n _initMarkup: function() {\r\n this.$element().addClass(TEXTBOX_CLASS);\r\n this.callBase();\r\n this.setAria(\"role\", \"textbox\")\r\n },\r\n _renderContentImpl: function() {\r\n this._renderMaxLengthHandlers();\r\n this.callBase()\r\n },\r\n _renderInputType: function() {\r\n this.callBase();\r\n this._renderSearchMode()\r\n },\r\n _renderMaxLengthHandlers: function() {\r\n if (this._isAndroidOrIE()) {\r\n _events_engine.default.on(this._input(), (0, _index.addNamespace)(\"keydown\", this.NAME), this._onKeyDownCutOffHandler.bind(this));\r\n _events_engine.default.on(this._input(), (0, _index.addNamespace)(\"change\", this.NAME), this._onChangeCutOffHandler.bind(this))\r\n }\r\n },\r\n _renderProps: function() {\r\n this.callBase();\r\n this._toggleMaxLengthProp()\r\n },\r\n _toggleMaxLengthProp: function() {\r\n var maxLength = this._getMaxLength();\r\n if (maxLength && maxLength > 0) {\r\n this._input().attr(\"maxLength\", maxLength)\r\n } else {\r\n this._input().removeAttr(\"maxLength\")\r\n }\r\n },\r\n _renderSearchMode: function() {\r\n var $element = this._$element;\r\n if (\"search\" === this.option(\"mode\")) {\r\n $element.addClass(SEARCHBOX_CLASS);\r\n this._renderSearchIcon();\r\n if (void 0 === this._showClearButton) {\r\n this._showClearButton = this.option(\"showClearButton\");\r\n this.option(\"showClearButton\", true)\r\n }\r\n } else {\r\n $element.removeClass(SEARCHBOX_CLASS);\r\n this._$searchIcon && this._$searchIcon.remove();\r\n this.option(\"showClearButton\", void 0 === this._showClearButton ? this.option(\"showClearButton\") : this._showClearButton);\r\n delete this._showClearButton\r\n }\r\n },\r\n _renderSearchIcon: function() {\r\n var $searchIcon = (0, _renderer.default)(\"
\").addClass(ICON_CLASS).addClass(SEARCH_ICON_CLASS);\r\n $searchIcon.prependTo(this._input().parent());\r\n this._$searchIcon = $searchIcon\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"maxLength\":\r\n this._toggleMaxLengthProp();\r\n this._renderMaxLengthHandlers();\r\n break;\r\n case \"mask\":\r\n this.callBase(args);\r\n this._toggleMaxLengthProp();\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _onKeyDownCutOffHandler: function(e) {\r\n var actualMaxLength = this._getMaxLength();\r\n if (actualMaxLength && !e.ctrlKey && !this._hasSelection()) {\r\n var $input = (0, _renderer.default)(e.target);\r\n var key = (0, _index.normalizeKeyName)(e);\r\n this._cutOffExtraChar($input);\r\n return $input.val().length < actualMaxLength || (0, _array.inArray)(key, ignoreKeys) !== -1 || \"\" !== window.getSelection().toString()\r\n } else {\r\n return true\r\n }\r\n },\r\n _onChangeCutOffHandler: function(e) {\r\n var $input = (0, _renderer.default)(e.target);\r\n if (this.option(\"maxLength\")) {\r\n this._cutOffExtraChar($input)\r\n }\r\n },\r\n _cutOffExtraChar: function($input) {\r\n var actualMaxLength = this._getMaxLength();\r\n var textInput = $input.val();\r\n if (actualMaxLength && textInput.length > actualMaxLength) {\r\n $input.val(textInput.substr(0, actualMaxLength))\r\n }\r\n },\r\n _getMaxLength: function() {\r\n var isMaskSpecified = !!this.option(\"mask\");\r\n return isMaskSpecified ? null : this.option(\"maxLength\")\r\n },\r\n _isAndroidOrIE: function() {\r\n var realDevice = _devices.default.real();\r\n var version = realDevice.version.join(\".\");\r\n return _browser.default.msie || \"android\" === realDevice.platform && version && /^(2\\.|4\\.1)/.test(version) && !/chrome/i.test(ua)\r\n }\r\n});\r\n(0, _component_registrator.default)(\"dxTextBox\", TextBox);\r\nvar _default = TextBox;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (ui/text_box/ui.text_editor.clear.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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 _button = _interopRequireDefault(require(\"./texteditor_button_collection/button\"));\r\nvar _index = require(\"../../events/utils/index\");\r\nvar _pointer = _interopRequireDefault(require(\"../../events/pointer\"));\r\nvar _click = require(\"../../events/click\");\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 pointerDown = _pointer.default.down;\r\nvar STATE_INVISIBLE_CLASS = \"dx-state-invisible\";\r\nvar TEXTEDITOR_CLEAR_BUTTON_CLASS = \"dx-clear-button-area\";\r\nvar TEXTEDITOR_CLEAR_ICON_CLASS = \"dx-icon-clear\";\r\nvar TEXTEDITOR_ICON_CLASS = \"dx-icon\";\r\nvar TEXTEDITOR_SHOW_CLEAR_BUTTON_CLASS = \"dx-show-clear-button\";\r\nvar ClearButton = function(_TextEditorButton) {\r\n _inheritsLoose(ClearButton, _TextEditorButton);\r\n\r\n function ClearButton() {\r\n return _TextEditorButton.apply(this, arguments) || this\r\n }\r\n var _proto = ClearButton.prototype;\r\n _proto._create = function() {\r\n var $element = (0, _renderer.default)(\"\").addClass(TEXTEDITOR_CLEAR_BUTTON_CLASS).append((0, _renderer.default)(\"\").addClass(TEXTEDITOR_ICON_CLASS).addClass(TEXTEDITOR_CLEAR_ICON_CLASS));\r\n this._addToContainer($element);\r\n this.update(true);\r\n return {\r\n instance: $element,\r\n $element: $element\r\n }\r\n };\r\n _proto._isVisible = function() {\r\n var editor = this.editor;\r\n return editor._isClearButtonVisible()\r\n };\r\n _proto._attachEvents = function(instance, $button) {\r\n var editor = this.editor;\r\n var editorName = editor.NAME;\r\n _events_engine.default.on($button, (0, _index.addNamespace)(pointerDown, editorName), function(e) {\r\n e.preventDefault();\r\n if (\"mouse\" !== e.pointerType) {\r\n editor._clearValueHandler(e)\r\n }\r\n });\r\n _events_engine.default.on($button, (0, _index.addNamespace)(_click.name, editorName), function(e) {\r\n return editor._clearValueHandler(e)\r\n })\r\n };\r\n _proto._legacyRender = function($editor, isVisible) {\r\n $editor.toggleClass(TEXTEDITOR_SHOW_CLEAR_BUTTON_CLASS, isVisible)\r\n };\r\n _proto.update = function() {\r\n var rendered = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : false;\r\n !rendered && _TextEditorButton.prototype.update.call(this);\r\n var editor = this.editor,\r\n instance = this.instance;\r\n var $editor = editor.$element();\r\n var isVisible = this._isVisible();\r\n instance && instance.toggleClass(STATE_INVISIBLE_CLASS, !isVisible);\r\n this._legacyRender($editor, isVisible)\r\n };\r\n return ClearButton\r\n}(_button.default);\r\nexports.default = ClearButton;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (mobile/hide_callback.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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.hideCallback = void 0;\r\nvar _array = require(\"../core/utils/array\");\r\nvar hideCallback = function() {\r\n var callbacks = [];\r\n return {\r\n add: function(callback) {\r\n var indexOfCallback = (0, _array.inArray)(callback, callbacks);\r\n if (indexOfCallback === -1) {\r\n callbacks.push(callback)\r\n }\r\n },\r\n remove: function(callback) {\r\n var indexOfCallback = (0, _array.inArray)(callback, callbacks);\r\n if (indexOfCallback !== -1) {\r\n callbacks.splice(indexOfCallback, 1)\r\n }\r\n },\r\n fire: function() {\r\n var callback = callbacks.pop();\r\n var result = !!callback;\r\n if (result) {\r\n callback()\r\n }\r\n return result\r\n },\r\n hasCallback: function() {\r\n return callbacks.length > 0\r\n }\r\n }\r\n}();\r\nexports.hideCallback = hideCallback;\r\n","/**\r\n * DevExtreme (ui/text_box/ui.text_editor.mask.strategy.base.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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 _index = require(\"../../events/utils/index\");\r\nvar _browser = _interopRequireDefault(require(\"../../core/utils/browser\"));\r\nvar _array = require(\"../../core/utils/array\");\r\nvar _dom = require(\"../../core/utils/dom\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar MASK_EVENT_NAMESPACE = \"dxMask\";\r\nvar BLUR_EVENT = \"blur beforedeactivate\";\r\nvar EMPTY_CHAR = \" \";\r\nvar BaseMaskStrategy = function() {\r\n function BaseMaskStrategy(editor) {\r\n this.editor = editor;\r\n this.DIRECTION = {\r\n FORWARD: \"forward\",\r\n BACKWARD: \"backward\"\r\n };\r\n this.NAME = this._getStrategyName()\r\n }\r\n var _proto = BaseMaskStrategy.prototype;\r\n _proto._getStrategyName = function() {\r\n return \"base\"\r\n };\r\n _proto.editorOption = function() {\r\n var _this$editor;\r\n return (_this$editor = this.editor).option.apply(_this$editor, arguments)\r\n };\r\n _proto.editorInput = function() {\r\n return this.editor._input()\r\n };\r\n _proto.editorCaret = function(newCaret) {\r\n if (!newCaret) {\r\n return this.editor._caret()\r\n }\r\n this.editor._caret(newCaret)\r\n };\r\n _proto.getHandler = function(handlerName) {\r\n var handler = this[\"_\".concat(handlerName, \"Handler\")] || function() {};\r\n return handler.bind(this)\r\n };\r\n _proto.attachEvents = function() {\r\n var _this = this;\r\n var $input = this.editorInput();\r\n this.getHandleEventNames().forEach(function(eventName) {\r\n var subscriptionName = (0, _index.addNamespace)(eventName.toLowerCase(), MASK_EVENT_NAMESPACE);\r\n _events_engine.default.on($input, subscriptionName, _this.getEventHandler(eventName))\r\n });\r\n this._attachChangeEventHandlers()\r\n };\r\n _proto.getHandleEventNames = function() {\r\n return [\"focusIn\", \"focusOut\", \"keyDown\", \"input\", \"paste\", \"cut\", \"drop\"]\r\n };\r\n _proto.getEventHandler = function(eventName) {\r\n return this[\"_\".concat(eventName, \"Handler\")].bind(this)\r\n };\r\n _proto.detachEvents = function() {\r\n _events_engine.default.off(this.editorInput(), \".\".concat(MASK_EVENT_NAMESPACE))\r\n };\r\n _proto._attachChangeEventHandlers = function() {\r\n if ((0, _array.inArray)(\"change\", this.editorOption(\"valueChangeEvent\").split(\" \")) === -1) {\r\n return\r\n }\r\n _events_engine.default.on(this.editorInput(), (0, _index.addNamespace)(BLUR_EVENT, MASK_EVENT_NAMESPACE), function(e) {\r\n this._suppressCaretChanging(this._changeHandler, [e]);\r\n this._changeHandler(e)\r\n }.bind(this.editor))\r\n };\r\n _proto._focusInHandler = function() {\r\n this.editor._showMaskPlaceholder();\r\n this.editor._direction(this.DIRECTION.FORWARD);\r\n if (!this.editor._isValueEmpty() && this.editorOption(\"isValid\")) {\r\n this.editor._adjustCaret()\r\n } else {\r\n var caret = this.editor._maskRulesChain.first();\r\n this._caretTimeout = setTimeout(function() {\r\n this._caret({\r\n start: caret,\r\n end: caret\r\n })\r\n }.bind(this.editor), 0)\r\n }\r\n };\r\n _proto._focusOutHandler = function(event) {\r\n this.editor._changeHandler(event);\r\n if (\"onFocus\" === this.editorOption(\"showMaskMode\") && this.editor._isValueEmpty()) {\r\n this.editorOption(\"text\", \"\");\r\n this.editor._renderDisplayText(\"\")\r\n }\r\n };\r\n _proto._cutHandler = function(event) {\r\n var caret = this.editorCaret();\r\n var selectedText = this.editorInput().val().substring(caret.start, caret.end);\r\n this.editor._maskKeyHandler(event, function() {\r\n return (0, _dom.clipboardText)(event, selectedText)\r\n })\r\n };\r\n _proto._dropHandler = function() {\r\n this._clearDragTimer();\r\n this._dragTimer = setTimeout(function() {\r\n this.option(\"value\", this._convertToValue(this._input().val()))\r\n }.bind(this.editor))\r\n };\r\n _proto._clearDragTimer = function() {\r\n clearTimeout(this._dragTimer)\r\n };\r\n _proto._keyDownHandler = function() {\r\n this._keyPressHandled = false\r\n };\r\n _proto._pasteHandler = function(event) {\r\n var editor = this.editor;\r\n this._keyPressHandled = true;\r\n var caret = this.editorCaret();\r\n editor._maskKeyHandler(event, function() {\r\n var pastedText = (0, _dom.clipboardText)(event);\r\n var restText = editor._maskRulesChain.text().substring(caret.end);\r\n var accepted = editor._handleChain({\r\n text: pastedText,\r\n start: caret.start,\r\n length: pastedText.length\r\n });\r\n var newCaret = caret.start + accepted;\r\n editor._handleChain({\r\n text: restText,\r\n start: newCaret,\r\n length: restText.length\r\n });\r\n editor._caret({\r\n start: newCaret,\r\n end: newCaret\r\n })\r\n })\r\n };\r\n _proto._autoFillHandler = function(event) {\r\n var _this2 = this;\r\n var editor = this.editor;\r\n var inputVal = this.editorInput().val();\r\n this._inputHandlerTimer = setTimeout(function() {\r\n _this2._keyPressHandled = true;\r\n if (_this2._isAutoFill()) {\r\n _this2._keyPressHandled = true;\r\n editor._maskKeyHandler(event, function() {\r\n editor._handleChain({\r\n text: inputVal,\r\n start: 0,\r\n length: inputVal.length\r\n })\r\n });\r\n editor._validateMask()\r\n }\r\n })\r\n };\r\n _proto._isAutoFill = function() {\r\n var $input = this.editor._input();\r\n var result = false;\r\n if (_browser.default.msie && _browser.default.version > 11) {\r\n result = $input.hasClass(\"edge-autofilled\")\r\n } else {\r\n if (_browser.default.webkit) {\r\n var input = $input.get(0);\r\n result = input && input.matches(\":-webkit-autofill\")\r\n }\r\n }\r\n return result\r\n };\r\n _proto.runWithoutEventProcessing = function(action) {\r\n var keyPressHandled = this._keyPressHandled;\r\n this._keyPressHandled = true;\r\n action();\r\n this._keyPressHandled = keyPressHandled\r\n };\r\n _proto._backspaceHandler = function() {};\r\n _proto._delHandler = function(event) {\r\n var editor = this.editor;\r\n this._keyPressHandled = true;\r\n editor._maskKeyHandler(event, function() {\r\n return !editor._hasSelection() && editor._handleKey(EMPTY_CHAR)\r\n })\r\n };\r\n _proto.clean = function() {\r\n this._clearDragTimer();\r\n clearTimeout(this._backspaceHandlerTimeout);\r\n clearTimeout(this._caretTimeout);\r\n clearTimeout(this._inputHandlerTimer)\r\n };\r\n return BaseMaskStrategy\r\n}();\r\nexports.default = BaseMaskStrategy;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (ui/widget/selectors.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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.focused = exports.tabbable = exports.focusable = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\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 focusableFn = function(element, tabIndex) {\r\n if (!visible(element)) {\r\n return false\r\n }\r\n var nodeName = element.nodeName.toLowerCase();\r\n var isTabIndexNotNaN = !isNaN(tabIndex);\r\n var isDisabled = element.disabled;\r\n var isDefaultFocus = /^(input|select|textarea|button|object|iframe)$/.test(nodeName);\r\n var isHyperlink = \"a\" === nodeName;\r\n var isFocusable = true;\r\n var isContentEditable = element.isContentEditable;\r\n if (isDefaultFocus || isContentEditable) {\r\n isFocusable = !isDisabled\r\n } else {\r\n if (isHyperlink) {\r\n isFocusable = element.href || isTabIndexNotNaN\r\n } else {\r\n isFocusable = isTabIndexNotNaN\r\n }\r\n }\r\n return isFocusable\r\n};\r\n\r\nfunction visible(element) {\r\n var $element = (0, _renderer.default)(element);\r\n return $element.is(\":visible\") && \"hidden\" !== $element.css(\"visibility\") && \"hidden\" !== $element.parents().css(\"visibility\")\r\n}\r\nvar focusable = function(index, element) {\r\n return focusableFn(element, (0, _renderer.default)(element).attr(\"tabIndex\"))\r\n};\r\nexports.focusable = focusable;\r\nvar tabbable = function(index, element) {\r\n var tabIndex = (0, _renderer.default)(element).attr(\"tabIndex\");\r\n return (isNaN(tabIndex) || tabIndex >= 0) && focusableFn(element, tabIndex)\r\n};\r\nexports.tabbable = tabbable;\r\nvar focused = function($element) {\r\n var element = (0, _renderer.default)($element).get(0);\r\n return _dom_adapter.default.getActiveElement() === element\r\n};\r\nexports.focused = focused;\r\n","class themeChanger {\r\n /**\r\n * @constructor\r\n */\r\n constructor() {}\r\n _addDarkTheme() {\r\n const darkThemeLinkEl = document.createElement('link')\r\n darkThemeLinkEl.setAttribute('rel', 'stylesheet')\r\n darkThemeLinkEl.setAttribute('href', 'https://cdn3.devexpress.com/jslib/21.1.3/css/dx.dark.css')\r\n darkThemeLinkEl.setAttribute('id', 'dark-theme-style')\r\n const docHead = document.querySelector('head')\r\n docHead.append(darkThemeLinkEl)\r\n }\r\n _removeDarkTheme() {\r\n const darkThemeLinkEl = document.querySelector('#dark-theme-style')\r\n if(darkThemeLinkEl){\r\n const parentNode = darkThemeLinkEl.parentNode\r\n parentNode.removeChild(darkThemeLinkEl)\r\n }\r\n }\r\n _darkThemeSwitch() {\r\n const darkThemeLinkEl = document.querySelector('#dark-theme-style')\r\n if (!darkThemeLinkEl) {\r\n this._addDarkTheme();\r\n return true;\r\n } else {\r\n this._removeDarkTheme();\r\n return false;\r\n }\r\n }\r\n}\r\n\r\nexport default themeChanger;","/*!\n * devextreme-vue\n * Version: 20.2.6\n * Build date: Tue Mar 16 2021\n *\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-vue\n */\n\n\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar config = {\n useLegacyTemplateEngine: false\n};\nfunction setOptions(options) {\n config = __assign(__assign({}, config), options);\n}\nfunction getOption(optionName) {\n return config[optionName];\n}\nexports.getOption = getOption;\nexports.default = setOptions;\n","/**\r\n * DevExtreme (events/core/emitter.feedback.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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.inactive = exports.active = exports.lock = 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 (animation/fx.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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 _window = require(\"../core/utils/window\");\r\nvar _events_engine = _interopRequireDefault(require(\"../events/core/events_engine\"));\r\nvar _errors = _interopRequireDefault(require(\"../core/errors\"));\r\nvar _element = require(\"../core/element\");\r\nvar _extend = require(\"../core/utils/extend\");\r\nvar _type = require(\"../core/utils/type\");\r\nvar _iterator = require(\"../core/utils/iterator\");\r\nvar _translator = require(\"./translator\");\r\nvar _easing = require(\"./easing\");\r\nvar _frame = require(\"./frame\");\r\nvar _support = require(\"../core/utils/support\");\r\nvar _position = _interopRequireDefault(require(\"./position\"));\r\nvar _remove_event = _interopRequireDefault(require(\"../core/remove_event\"));\r\nvar _index = require(\"../events/utils/index\");\r\nvar _deferred = require(\"../core/utils/deferred\");\r\nvar _common = require(\"../core/utils/common\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\n\r\nfunction _typeof(obj) {\r\n \"@babel/helpers - typeof\";\r\n if (\"function\" === typeof Symbol && \"symbol\" === typeof Symbol.iterator) {\r\n _typeof = function(obj) {\r\n return typeof obj\r\n }\r\n } else {\r\n _typeof = function(obj) {\r\n return obj && \"function\" === typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }\r\n }\r\n return _typeof(obj)\r\n}\r\nvar window = (0, _window.getWindow)();\r\nvar removeEventName = (0, _index.addNamespace)(_remove_event.default, \"dxFX\");\r\nvar RELATIVE_VALUE_REGEX = /^([+-])=(.*)/i;\r\nvar ANIM_DATA_KEY = \"dxAnimData\";\r\nvar ANIM_QUEUE_KEY = \"dxAnimQueue\";\r\nvar TRANSFORM_PROP = \"transform\";\r\nvar TransitionAnimationStrategy = {\r\n initAnimation: function($element, config) {\r\n $element.css({\r\n transitionProperty: \"none\"\r\n });\r\n if (\"string\" === typeof config.from) {\r\n $element.addClass(config.from)\r\n } else {\r\n setProps($element, config.from)\r\n }\r\n var that = this;\r\n var deferred = new _deferred.Deferred;\r\n var cleanupWhen = config.cleanupWhen;\r\n config.transitionAnimation = {\r\n deferred: deferred,\r\n finish: function() {\r\n that._finishTransition($element);\r\n if (cleanupWhen) {\r\n (0, _deferred.when)(deferred, cleanupWhen).always(function() {\r\n that._cleanup($element, config)\r\n })\r\n } else {\r\n that._cleanup($element, config)\r\n }\r\n deferred.resolveWith($element, [config, $element])\r\n }\r\n };\r\n this._completeAnimationCallback($element, config).done(function() {\r\n config.transitionAnimation.finish()\r\n }).fail(function() {\r\n deferred.rejectWith($element, [config, $element])\r\n });\r\n if (!config.duration) {\r\n config.transitionAnimation.finish()\r\n }\r\n $element.css(\"transform\")\r\n },\r\n animate: function($element, config) {\r\n this._startAnimation($element, config);\r\n return config.transitionAnimation.deferred.promise()\r\n },\r\n _completeAnimationCallback: function($element, config) {\r\n var that = this;\r\n var startTime = Date.now() + config.delay;\r\n var deferred = new _deferred.Deferred;\r\n var transitionEndFired = new _deferred.Deferred;\r\n var simulatedTransitionEndFired = new _deferred.Deferred;\r\n var simulatedEndEventTimer;\r\n var transitionEndEventFullName = (0, _support.transitionEndEventName)() + \".dxFX\";\r\n config.transitionAnimation.cleanup = function() {\r\n clearTimeout(simulatedEndEventTimer);\r\n clearTimeout(waitForJSCompleteTimer);\r\n _events_engine.default.off($element, transitionEndEventFullName);\r\n _events_engine.default.off($element, removeEventName)\r\n };\r\n _events_engine.default.one($element, transitionEndEventFullName, function() {\r\n if (Date.now() - startTime >= config.duration) {\r\n transitionEndFired.reject()\r\n }\r\n });\r\n _events_engine.default.off($element, removeEventName);\r\n _events_engine.default.on($element, removeEventName, function() {\r\n that.stop($element, config);\r\n deferred.reject()\r\n });\r\n var waitForJSCompleteTimer = setTimeout(function() {\r\n simulatedEndEventTimer = setTimeout(function() {\r\n simulatedTransitionEndFired.reject()\r\n }, config.duration + config.delay + fx._simulatedTransitionEndDelay);\r\n (0, _deferred.when)(transitionEndFired, simulatedTransitionEndFired).fail(function() {\r\n deferred.resolve()\r\n }.bind(this))\r\n });\r\n return deferred.promise()\r\n },\r\n _startAnimation: function($element, config) {\r\n $element.css({\r\n transitionProperty: \"all\",\r\n transitionDelay: config.delay + \"ms\",\r\n transitionDuration: config.duration + \"ms\",\r\n transitionTimingFunction: config.easing\r\n });\r\n if (\"string\" === typeof config.to) {\r\n $element[0].className += \" \" + config.to\r\n } else {\r\n if (config.to) {\r\n setProps($element, config.to)\r\n }\r\n }\r\n },\r\n _finishTransition: function($element) {\r\n $element.css(\"transition\", \"none\")\r\n },\r\n _cleanup: function($element, config) {\r\n config.transitionAnimation.cleanup();\r\n if (\"string\" === typeof config.from) {\r\n $element.removeClass(config.from);\r\n $element.removeClass(config.to)\r\n }\r\n },\r\n stop: function($element, config, jumpToEnd) {\r\n if (!config) {\r\n return\r\n }\r\n if (jumpToEnd) {\r\n config.transitionAnimation.finish()\r\n } else {\r\n if ((0, _type.isPlainObject)(config.to)) {\r\n (0, _iterator.each)(config.to, function(key) {\r\n $element.css(key, $element.css(key))\r\n })\r\n }\r\n this._finishTransition($element);\r\n this._cleanup($element, config)\r\n }\r\n }\r\n};\r\nvar FrameAnimationStrategy = {\r\n initAnimation: function($element, config) {\r\n setProps($element, config.from)\r\n },\r\n animate: function($element, config) {\r\n var deferred = new _deferred.Deferred;\r\n var that = this;\r\n if (!config) {\r\n return deferred.reject().promise()\r\n }(0, _iterator.each)(config.to, function(prop) {\r\n if (void 0 === config.from[prop]) {\r\n config.from[prop] = that._normalizeValue($element.css(prop))\r\n }\r\n });\r\n if (config.to[TRANSFORM_PROP]) {\r\n config.from[TRANSFORM_PROP] = that._parseTransform(config.from[TRANSFORM_PROP]);\r\n config.to[TRANSFORM_PROP] = that._parseTransform(config.to[TRANSFORM_PROP])\r\n }\r\n config.frameAnimation = {\r\n to: config.to,\r\n from: config.from,\r\n currentValue: config.from,\r\n easing: (0, _easing.convertTransitionTimingFuncToEasing)(config.easing),\r\n duration: config.duration,\r\n startTime: (new Date).valueOf(),\r\n finish: function() {\r\n this.currentValue = this.to;\r\n this.draw();\r\n (0, _frame.cancelAnimationFrame)(config.frameAnimation.animationFrameId);\r\n deferred.resolve()\r\n },\r\n draw: function() {\r\n if (config.draw) {\r\n config.draw(this.currentValue);\r\n return\r\n }\r\n var currentValue = (0, _extend.extend)({}, this.currentValue);\r\n if (currentValue[TRANSFORM_PROP]) {\r\n currentValue[TRANSFORM_PROP] = (0, _iterator.map)(currentValue[TRANSFORM_PROP], function(value, prop) {\r\n if (\"translate\" === prop) {\r\n return (0, _translator.getTranslateCss)(value)\r\n } else {\r\n if (\"scale\" === prop) {\r\n return \"scale(\" + value + \")\"\r\n } else {\r\n if (\"rotate\" === prop.substr(0, prop.length - 1)) {\r\n return prop + \"(\" + value + \"deg)\"\r\n }\r\n }\r\n }\r\n }).join(\" \")\r\n }\r\n $element.css(currentValue)\r\n }\r\n };\r\n if (config.delay) {\r\n config.frameAnimation.startTime += config.delay;\r\n config.frameAnimation.delayTimeout = setTimeout(function() {\r\n that._startAnimation($element, config)\r\n }, config.delay)\r\n } else {\r\n that._startAnimation($element, config)\r\n }\r\n return deferred.promise()\r\n },\r\n _startAnimation: function($element, config) {\r\n _events_engine.default.off($element, removeEventName);\r\n _events_engine.default.on($element, removeEventName, function() {\r\n if (config.frameAnimation) {\r\n (0, _frame.cancelAnimationFrame)(config.frameAnimation.animationFrameId)\r\n }\r\n });\r\n this._animationStep($element, config)\r\n },\r\n _parseTransform: function(transformString) {\r\n var result = {};\r\n (0, _iterator.each)(transformString.match(/\\w+\\d*\\w*\\([^)]*\\)\\s*/g), function(i, part) {\r\n var translateData = (0, _translator.parseTranslate)(part);\r\n var scaleData = part.match(/scale\\((.+?)\\)/);\r\n var rotateData = part.match(/(rotate.)\\((.+)deg\\)/);\r\n if (translateData) {\r\n result.translate = translateData\r\n }\r\n if (scaleData && scaleData[1]) {\r\n result.scale = parseFloat(scaleData[1])\r\n }\r\n if (rotateData && rotateData[1]) {\r\n result[rotateData[1]] = parseFloat(rotateData[2])\r\n }\r\n });\r\n return result\r\n },\r\n stop: function($element, config, jumpToEnd) {\r\n var frameAnimation = config && config.frameAnimation;\r\n if (!frameAnimation) {\r\n return\r\n }(0, _frame.cancelAnimationFrame)(frameAnimation.animationFrameId);\r\n clearTimeout(frameAnimation.delayTimeout);\r\n if (jumpToEnd) {\r\n frameAnimation.finish()\r\n }\r\n delete config.frameAnimation\r\n },\r\n _animationStep: function($element, config) {\r\n var frameAnimation = config && config.frameAnimation;\r\n if (!frameAnimation) {\r\n return\r\n }\r\n var now = (new Date).valueOf();\r\n if (now >= frameAnimation.startTime + frameAnimation.duration) {\r\n frameAnimation.finish();\r\n return\r\n }\r\n frameAnimation.currentValue = this._calcStepValue(frameAnimation, now - frameAnimation.startTime);\r\n frameAnimation.draw();\r\n var that = this;\r\n frameAnimation.animationFrameId = (0, _frame.requestAnimationFrame)(function() {\r\n that._animationStep($element, config)\r\n })\r\n },\r\n _calcStepValue: function(frameAnimation, currentDuration) {\r\n var calcValueRecursively = function calcValueRecursively(from, to) {\r\n var result = Array.isArray(to) ? [] : {};\r\n var calcEasedValue = function(propName) {\r\n var x = currentDuration / frameAnimation.duration;\r\n var t = currentDuration;\r\n var b = 1 * from[propName];\r\n var c = to[propName] - from[propName];\r\n var d = frameAnimation.duration;\r\n return (0, _easing.getEasing)(frameAnimation.easing)(x, t, b, c, d)\r\n };\r\n (0, _iterator.each)(to, function(propName, endPropValue) {\r\n if (\"string\" === typeof endPropValue && false === parseFloat(endPropValue, 10)) {\r\n return true\r\n }\r\n result[propName] = \"object\" === _typeof(endPropValue) ? calcValueRecursively(from[propName], endPropValue) : calcEasedValue(propName)\r\n });\r\n return result\r\n };\r\n return calcValueRecursively(frameAnimation.from, frameAnimation.to)\r\n },\r\n _normalizeValue: function(value) {\r\n var numericValue = parseFloat(value, 10);\r\n if (false === numericValue) {\r\n return value\r\n }\r\n return numericValue\r\n }\r\n};\r\nvar FallbackToNoAnimationStrategy = {\r\n initAnimation: function() {},\r\n animate: function() {\r\n return (new _deferred.Deferred).resolve().promise()\r\n },\r\n stop: _common.noop,\r\n isSynchronous: true\r\n};\r\nvar getAnimationStrategy = function(config) {\r\n config = config || {};\r\n var animationStrategies = {\r\n transition: (0, _support.transition)() ? TransitionAnimationStrategy : FrameAnimationStrategy,\r\n frame: FrameAnimationStrategy,\r\n noAnimation: FallbackToNoAnimationStrategy\r\n };\r\n var strategy = config.strategy || \"transition\";\r\n if (\"css\" === config.type && !(0, _support.transition)()) {\r\n strategy = \"noAnimation\"\r\n }\r\n return animationStrategies[strategy]\r\n};\r\nvar baseConfigValidator = function(config, animationType, validate, typeMessage) {\r\n (0, _iterator.each)([\"from\", \"to\"], function() {\r\n if (!validate(config[this])) {\r\n throw _errors.default.Error(\"E0010\", animationType, this, typeMessage)\r\n }\r\n })\r\n};\r\nvar isObjectConfigValidator = function(config, animationType) {\r\n return baseConfigValidator(config, animationType, function(target) {\r\n return (0, _type.isPlainObject)(target)\r\n }, \"a plain object\")\r\n};\r\nvar isStringConfigValidator = function(config, animationType) {\r\n return baseConfigValidator(config, animationType, function(target) {\r\n return \"string\" === typeof target\r\n }, \"a string\")\r\n};\r\nvar CustomAnimationConfigurator = {\r\n setup: function() {}\r\n};\r\nvar CssAnimationConfigurator = {\r\n validateConfig: function(config) {\r\n isStringConfigValidator(config, \"css\")\r\n },\r\n setup: function() {}\r\n};\r\nvar positionAliases = {\r\n top: {\r\n my: \"bottom center\",\r\n at: \"top center\"\r\n },\r\n bottom: {\r\n my: \"top center\",\r\n at: \"bottom center\"\r\n },\r\n right: {\r\n my: \"left center\",\r\n at: \"right center\"\r\n },\r\n left: {\r\n my: \"right center\",\r\n at: \"left center\"\r\n }\r\n};\r\nvar SlideAnimationConfigurator = {\r\n validateConfig: function(config) {\r\n isObjectConfigValidator(config, \"slide\")\r\n },\r\n setup: function($element, config) {\r\n var location = (0, _translator.locate)($element);\r\n if (\"slide\" !== config.type) {\r\n var positioningConfig = \"slideIn\" === config.type ? config.from : config.to;\r\n positioningConfig.position = (0, _extend.extend)({\r\n of: window\r\n }, positionAliases[config.direction]);\r\n setupPosition($element, positioningConfig)\r\n }\r\n this._setUpConfig(location, config.from);\r\n this._setUpConfig(location, config.to);\r\n (0, _translator.clearCache)($element)\r\n },\r\n _setUpConfig: function(location, config) {\r\n config.left = \"left\" in config ? config.left : \"+=0\";\r\n config.top = \"top\" in config ? config.top : \"+=0\";\r\n this._initNewPosition(location, config)\r\n },\r\n _initNewPosition: function(location, config) {\r\n var position = {\r\n left: config.left,\r\n top: config.top\r\n };\r\n delete config.left;\r\n delete config.top;\r\n var relativeValue = this._getRelativeValue(position.left);\r\n if (void 0 !== relativeValue) {\r\n position.left = relativeValue + location.left\r\n } else {\r\n config.left = 0\r\n }\r\n relativeValue = this._getRelativeValue(position.top);\r\n if (void 0 !== relativeValue) {\r\n position.top = relativeValue + location.top\r\n } else {\r\n config.top = 0\r\n }\r\n config[TRANSFORM_PROP] = (0, _translator.getTranslateCss)({\r\n x: position.left,\r\n y: position.top\r\n })\r\n },\r\n _getRelativeValue: function(value) {\r\n var relativeValue;\r\n if (\"string\" === typeof value && (relativeValue = RELATIVE_VALUE_REGEX.exec(value))) {\r\n return parseInt(relativeValue[1] + \"1\") * relativeValue[2]\r\n }\r\n }\r\n};\r\nvar FadeAnimationConfigurator = {\r\n setup: function($element, config) {\r\n var from = config.from;\r\n var fromOpacity = (0, _type.isPlainObject)(from) ? config.skipElementInitialStyles ? 0 : $element.css(\"opacity\") : String(from);\r\n var toOpacity;\r\n switch (config.type) {\r\n case \"fadeIn\":\r\n toOpacity = 1;\r\n break;\r\n case \"fadeOut\":\r\n toOpacity = 0;\r\n break;\r\n default:\r\n toOpacity = String(config.to)\r\n }\r\n config.from = {\r\n visibility: \"visible\",\r\n opacity: fromOpacity\r\n };\r\n config.to = {\r\n opacity: toOpacity\r\n }\r\n }\r\n};\r\nvar PopAnimationConfigurator = {\r\n validateConfig: function(config) {\r\n isObjectConfigValidator(config, \"pop\")\r\n },\r\n setup: function($element, config) {\r\n var from = config.from;\r\n var to = config.to;\r\n var fromOpacity = \"opacity\" in from ? from.opacity : $element.css(\"opacity\");\r\n var toOpacity = \"opacity\" in to ? to.opacity : 1;\r\n var fromScale = \"scale\" in from ? from.scale : 0;\r\n var toScale = \"scale\" in to ? to.scale : 1;\r\n config.from = {\r\n opacity: fromOpacity\r\n };\r\n var translate = (0, _translator.getTranslate)($element);\r\n config.from[TRANSFORM_PROP] = this._getCssTransform(translate, fromScale);\r\n config.to = {\r\n opacity: toOpacity\r\n };\r\n config.to[TRANSFORM_PROP] = this._getCssTransform(translate, toScale)\r\n },\r\n _getCssTransform: function(translate, scale) {\r\n return (0, _translator.getTranslateCss)(translate) + \"scale(\" + scale + \")\"\r\n }\r\n};\r\nvar animationConfigurators = {\r\n custom: CustomAnimationConfigurator,\r\n slide: SlideAnimationConfigurator,\r\n slideIn: SlideAnimationConfigurator,\r\n slideOut: SlideAnimationConfigurator,\r\n fade: FadeAnimationConfigurator,\r\n fadeIn: FadeAnimationConfigurator,\r\n fadeOut: FadeAnimationConfigurator,\r\n pop: PopAnimationConfigurator,\r\n css: CssAnimationConfigurator\r\n};\r\nvar getAnimationConfigurator = function(config) {\r\n var result = animationConfigurators[config.type];\r\n if (!result) {\r\n throw _errors.default.Error(\"E0011\", config.type)\r\n }\r\n return result\r\n};\r\nvar defaultJSConfig = {\r\n type: \"custom\",\r\n from: {},\r\n to: {},\r\n duration: 400,\r\n start: _common.noop,\r\n complete: _common.noop,\r\n easing: \"ease\",\r\n delay: 0\r\n};\r\nvar defaultCssConfig = {\r\n duration: 400,\r\n easing: \"ease\",\r\n delay: 0\r\n};\r\n\r\nfunction setupAnimationOnElement() {\r\n var animation = this;\r\n var $element = animation.element;\r\n var config = animation.config;\r\n setupPosition($element, config.from);\r\n setupPosition($element, config.to);\r\n animation.configurator.setup($element, config);\r\n $element.data(ANIM_DATA_KEY, animation);\r\n if (fx.off) {\r\n config.duration = 0;\r\n config.delay = 0\r\n }\r\n animation.strategy.initAnimation($element, config);\r\n if (config.start) {\r\n var element = (0, _element.getPublicElement)($element);\r\n config.start.apply(this, [element, config])\r\n }\r\n}\r\nvar onElementAnimationComplete = function(animation) {\r\n var $element = animation.element;\r\n var config = animation.config;\r\n $element.removeData(ANIM_DATA_KEY);\r\n if (config.complete) {\r\n var element = (0, _element.getPublicElement)($element);\r\n config.complete.apply(this, [element, config])\r\n }\r\n animation.deferred.resolveWith(this, [$element, config])\r\n};\r\nvar startAnimationOnElement = function() {\r\n var animation = this;\r\n var $element = animation.element;\r\n var config = animation.config;\r\n animation.isStarted = true;\r\n return animation.strategy.animate($element, config).done(function() {\r\n onElementAnimationComplete(animation)\r\n }).fail(function() {\r\n animation.deferred.rejectWith(this, [$element, config])\r\n })\r\n};\r\nvar stopAnimationOnElement = function(jumpToEnd) {\r\n var animation = this;\r\n var $element = animation.element;\r\n var config = animation.config;\r\n clearTimeout(animation.startTimeout);\r\n if (!animation.isStarted) {\r\n animation.start()\r\n }\r\n animation.strategy.stop($element, config, jumpToEnd)\r\n};\r\nvar scopedRemoveEvent = (0, _index.addNamespace)(_remove_event.default, \"dxFXStartAnimation\");\r\nvar subscribeToRemoveEvent = function(animation) {\r\n _events_engine.default.off(animation.element, scopedRemoveEvent);\r\n _events_engine.default.on(animation.element, scopedRemoveEvent, function() {\r\n fx.stop(animation.element)\r\n });\r\n animation.deferred.always(function() {\r\n _events_engine.default.off(animation.element, scopedRemoveEvent)\r\n })\r\n};\r\nvar createAnimation = function(element, initialConfig) {\r\n var defaultConfig = \"css\" === initialConfig.type ? defaultCssConfig : defaultJSConfig;\r\n var config = (0, _extend.extend)(true, {}, defaultConfig, initialConfig);\r\n var configurator = getAnimationConfigurator(config);\r\n var strategy = getAnimationStrategy(config);\r\n var animation = {\r\n element: (0, _renderer.default)(element),\r\n config: config,\r\n configurator: configurator,\r\n strategy: strategy,\r\n isSynchronous: strategy.isSynchronous,\r\n setup: setupAnimationOnElement,\r\n start: startAnimationOnElement,\r\n stop: stopAnimationOnElement,\r\n deferred: new _deferred.Deferred\r\n };\r\n if ((0, _type.isFunction)(configurator.validateConfig)) {\r\n configurator.validateConfig(config)\r\n }\r\n subscribeToRemoveEvent(animation);\r\n return animation\r\n};\r\nvar animate = function(element, config) {\r\n var $element = (0, _renderer.default)(element);\r\n if (!$element.length) {\r\n return (new _deferred.Deferred).resolve().promise()\r\n }\r\n var animation = createAnimation($element, config);\r\n pushInAnimationQueue($element, animation);\r\n return animation.deferred.promise()\r\n};\r\n\r\nfunction pushInAnimationQueue($element, animation) {\r\n var queueData = getAnimQueueData($element);\r\n writeAnimQueueData($element, queueData);\r\n queueData.push(animation);\r\n if (!isAnimating($element)) {\r\n shiftFromAnimationQueue($element, queueData)\r\n }\r\n}\r\n\r\nfunction getAnimQueueData($element) {\r\n return $element.data(ANIM_QUEUE_KEY) || []\r\n}\r\n\r\nfunction writeAnimQueueData($element, queueData) {\r\n $element.data(ANIM_QUEUE_KEY, queueData)\r\n}\r\nvar destroyAnimQueueData = function($element) {\r\n $element.removeData(ANIM_QUEUE_KEY)\r\n};\r\n\r\nfunction isAnimating($element) {\r\n return !!$element.data(ANIM_DATA_KEY)\r\n}\r\n\r\nfunction shiftFromAnimationQueue($element, queueData) {\r\n queueData = getAnimQueueData($element);\r\n if (!queueData.length) {\r\n return\r\n }\r\n var animation = queueData.shift();\r\n if (0 === queueData.length) {\r\n destroyAnimQueueData($element)\r\n }\r\n executeAnimation(animation).done(function() {\r\n if (!isAnimating($element)) {\r\n shiftFromAnimationQueue($element)\r\n }\r\n })\r\n}\r\n\r\nfunction executeAnimation(animation) {\r\n animation.setup();\r\n if (fx.off || animation.isSynchronous) {\r\n animation.start()\r\n } else {\r\n animation.startTimeout = setTimeout(function() {\r\n animation.start()\r\n })\r\n }\r\n return animation.deferred.promise()\r\n}\r\n\r\nfunction setupPosition($element, config) {\r\n if (!config || !config.position) {\r\n return\r\n }\r\n var win = (0, _renderer.default)(window);\r\n var left = 0;\r\n var top = 0;\r\n var position = _position.default.calculate($element, config.position);\r\n var offset = $element.offset();\r\n var currentPosition = $element.position();\r\n if (currentPosition.top > offset.top) {\r\n top = win.scrollTop()\r\n }\r\n if (currentPosition.left > offset.left) {\r\n left = win.scrollLeft()\r\n }(0, _extend.extend)(config, {\r\n left: position.h.location - offset.left + currentPosition.left - left,\r\n top: position.v.location - offset.top + currentPosition.top - top\r\n });\r\n delete config.position\r\n}\r\n\r\nfunction setProps($element, props) {\r\n (0, _iterator.each)(props, function(key, value) {\r\n try {\r\n $element.css(key, (0, _type.isFunction)(value) ? value() : value)\r\n } catch (e) {}\r\n })\r\n}\r\nvar stop = function(element, jumpToEnd) {\r\n var $element = (0, _renderer.default)(element);\r\n var queueData = getAnimQueueData($element);\r\n (0, _iterator.each)(queueData, function(_, animation) {\r\n animation.config.delay = 0;\r\n animation.config.duration = 0;\r\n animation.isSynchronous = true\r\n });\r\n if (!isAnimating($element)) {\r\n shiftFromAnimationQueue($element, queueData)\r\n }\r\n var animation = $element.data(ANIM_DATA_KEY);\r\n if (animation) {\r\n animation.stop(jumpToEnd)\r\n }\r\n $element.removeData(ANIM_DATA_KEY);\r\n destroyAnimQueueData($element)\r\n};\r\nvar fx = {\r\n off: false,\r\n animationTypes: animationConfigurators,\r\n animate: animate,\r\n createAnimation: createAnimation,\r\n isAnimating: isAnimating,\r\n stop: stop,\r\n _simulatedTransitionEndDelay: 100\r\n};\r\nvar _default = fx;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = module.exports;\r\n","/**\r\n * DevExtreme (core/utils/call_once.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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 callOnce = function(handler) {\r\n var result;\r\n var _wrappedHandler = function() {\r\n result = handler.apply(this, arguments);\r\n _wrappedHandler = function() {\r\n return result\r\n };\r\n return result\r\n };\r\n return function() {\r\n return _wrappedHandler.apply(this, arguments)\r\n }\r\n};\r\nvar _default = callOnce;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (ui/text_box/texteditor_button_collection/index.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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 _custom = _interopRequireDefault(require(\"./custom\"));\r\nvar _extend = require(\"../../../core/utils/extend\");\r\nvar _array = require(\"../../../core/utils/array\");\r\nvar _ui = _interopRequireDefault(require(\"../../widget/ui.errors\"));\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 if (\"function\" === typeof Symbol && \"symbol\" === typeof Symbol.iterator) {\r\n _typeof = function(obj) {\r\n return typeof obj\r\n }\r\n } else {\r\n _typeof = function(obj) {\r\n return obj && \"function\" === typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }\r\n }\r\n return _typeof(obj)\r\n}\r\nvar TEXTEDITOR_BUTTONS_CONTAINER_CLASS = \"dx-texteditor-buttons-container\";\r\n\r\nfunction checkButtonInfo(buttonInfo) {\r\n var checkButtonType = function() {\r\n if (!buttonInfo || \"object\" !== _typeof(buttonInfo) || Array.isArray(buttonInfo)) {\r\n throw _ui.default.Error(\"E1053\")\r\n }\r\n };\r\n var checkLocation = function() {\r\n var location = buttonInfo.location;\r\n if (\"location\" in buttonInfo && \"after\" !== location && \"before\" !== location) {\r\n buttonInfo.location = \"after\"\r\n }\r\n };\r\n var checkNameIsDefined = function() {\r\n if (!(\"name\" in buttonInfo)) {\r\n throw _ui.default.Error(\"E1054\")\r\n }\r\n };\r\n var checkNameIsString = function() {\r\n var name = buttonInfo.name;\r\n if (\"string\" !== typeof name) {\r\n throw _ui.default.Error(\"E1055\")\r\n }\r\n };\r\n checkButtonType();\r\n checkNameIsDefined();\r\n checkNameIsString();\r\n checkLocation()\r\n}\r\n\r\nfunction checkNamesUniqueness(existingNames, newName) {\r\n if (existingNames.indexOf(newName) !== -1) {\r\n throw _ui.default.Error(\"E1055\", newName)\r\n }\r\n existingNames.push(newName)\r\n}\r\n\r\nfunction isPredefinedButtonName(name, predefinedButtonsInfo) {\r\n return !!(0, _array.find)(predefinedButtonsInfo, function(info) {\r\n return info.name === name\r\n })\r\n}\r\nvar TextEditorButtonCollection = function() {\r\n function TextEditorButtonCollection(editor, defaultButtonsInfo) {\r\n this.buttons = [];\r\n this.defaultButtonsInfo = defaultButtonsInfo;\r\n this.editor = editor\r\n }\r\n var _proto = TextEditorButtonCollection.prototype;\r\n _proto._compileButtonInfo = function(buttons) {\r\n var _this = this;\r\n var names = [];\r\n return buttons.map(function(button) {\r\n var isStringButton = \"string\" === typeof button;\r\n if (!isStringButton) {\r\n checkButtonInfo(button)\r\n }\r\n var isDefaultButton = isStringButton || isPredefinedButtonName(button.name, _this.defaultButtonsInfo);\r\n if (isDefaultButton) {\r\n var defaultButtonInfo = (0, _array.find)(_this.defaultButtonsInfo, function(_ref) {\r\n var name = _ref.name;\r\n return name === button || name === button.name\r\n });\r\n if (!defaultButtonInfo) {\r\n throw _ui.default.Error(\"E1056\", _this.editor.NAME, button)\r\n }\r\n checkNamesUniqueness(names, button);\r\n return defaultButtonInfo\r\n } else {\r\n var name = button.name;\r\n checkNamesUniqueness(names, name);\r\n return (0, _extend.extend)(button, {\r\n Ctor: _custom.default\r\n })\r\n }\r\n })\r\n };\r\n _proto._createButton = function(buttonsInfo) {\r\n var Ctor = buttonsInfo.Ctor,\r\n options = buttonsInfo.options,\r\n name = buttonsInfo.name;\r\n var button = new Ctor(name, this.editor, options);\r\n this.buttons.push(button);\r\n return button\r\n };\r\n _proto._renderButtons = function(buttons, $container, targetLocation) {\r\n var _this2 = this;\r\n var $buttonsContainer = null;\r\n var buttonsInfo = buttons ? this._compileButtonInfo(buttons) : this.defaultButtonsInfo;\r\n var getButtonsContainer = function() {\r\n $buttonsContainer = $buttonsContainer || (0, _renderer.default)(\"
\").addClass(TEXTEDITOR_BUTTONS_CONTAINER_CLASS);\r\n \"before\" === targetLocation ? $container.prepend($buttonsContainer) : $container.append($buttonsContainer);\r\n return $buttonsContainer\r\n };\r\n buttonsInfo.forEach(function(buttonsInfo) {\r\n var _buttonsInfo$location = buttonsInfo.location,\r\n location = void 0 === _buttonsInfo$location ? \"after\" : _buttonsInfo$location;\r\n if (location === targetLocation) {\r\n _this2._createButton(buttonsInfo).render(getButtonsContainer())\r\n }\r\n });\r\n return $buttonsContainer\r\n };\r\n _proto.clean = function() {\r\n this.buttons.forEach(function(button) {\r\n return button.dispose()\r\n });\r\n this.buttons = []\r\n };\r\n _proto.getButton = function(buttonName) {\r\n var button = (0, _array.find)(this.buttons, function(_ref2) {\r\n var name = _ref2.name;\r\n return name === buttonName\r\n });\r\n return button && button.instance\r\n };\r\n _proto.renderAfterButtons = function(buttons, $container) {\r\n return this._renderButtons(buttons, $container, \"after\")\r\n };\r\n _proto.renderBeforeButtons = function(buttons, $container) {\r\n return this._renderButtons(buttons, $container, \"before\")\r\n };\r\n _proto.updateButtons = function(names) {\r\n this.buttons.forEach(function(button) {\r\n if (!names || names.indexOf(button.name) !== -1) {\r\n button.update()\r\n }\r\n })\r\n };\r\n return TextEditorButtonCollection\r\n}();\r\nexports.default = TextEditorButtonCollection;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (localization/message.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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 _dependency_injector = _interopRequireDefault(require(\"../core/utils/dependency_injector\"));\r\nvar _extend = require(\"../core/utils/extend\");\r\nvar _iterator = require(\"../core/utils/iterator\");\r\nvar _string = require(\"../core/utils/string\");\r\nvar _inflector = require(\"../core/utils/inflector\");\r\nvar _core = _interopRequireDefault(require(\"./core\"));\r\nvar _default_messages = _interopRequireDefault(require(\"./default_messages\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar baseDictionary = (0, _extend.extend)(true, {}, _default_messages.default);\r\nvar getDataByLocale = function(localeData, locale) {\r\n return localeData[locale] || {}\r\n};\r\nvar newMessages = {};\r\nvar messageLocalization = (0, _dependency_injector.default)({\r\n engine: function() {\r\n return \"base\"\r\n },\r\n _dictionary: baseDictionary,\r\n load: function(messages) {\r\n (0, _extend.extend)(true, this._dictionary, messages)\r\n },\r\n _localizablePrefix: \"@\",\r\n setup: function(localizablePrefix) {\r\n this._localizablePrefix = localizablePrefix\r\n },\r\n localizeString: function(text) {\r\n var that = this;\r\n var regex = new RegExp(\"(^|[^a-zA-Z_0-9\" + that._localizablePrefix + \"-]+)(\" + that._localizablePrefix + \"{1,2})([a-zA-Z_0-9-]+)\", \"g\");\r\n var escapeString = that._localizablePrefix + that._localizablePrefix;\r\n return text.replace(regex, function(str, prefix, escape, localizationKey) {\r\n var defaultResult = that._localizablePrefix + localizationKey;\r\n var result;\r\n if (escape !== escapeString) {\r\n result = that.format(localizationKey)\r\n }\r\n if (!result) {\r\n newMessages[localizationKey] = (0, _inflector.humanize)(localizationKey)\r\n }\r\n return prefix + (result || defaultResult)\r\n })\r\n },\r\n localizeNode: function(node) {\r\n var that = this;\r\n (0, _renderer.default)(node).each(function(index, nodeItem) {\r\n if (!nodeItem.nodeType) {\r\n return\r\n }\r\n if (3 === nodeItem.nodeType) {\r\n nodeItem.nodeValue = that.localizeString(nodeItem.nodeValue)\r\n } else {\r\n if (!(0, _renderer.default)(nodeItem).is(\"iframe\")) {\r\n (0, _iterator.each)(nodeItem.attributes || [], function(index, attr) {\r\n if (\"string\" === typeof attr.value) {\r\n var localizedValue = that.localizeString(attr.value);\r\n if (attr.value !== localizedValue) {\r\n attr.value = localizedValue\r\n }\r\n }\r\n });\r\n (0, _renderer.default)(nodeItem).contents().each(function(index, node) {\r\n that.localizeNode(node)\r\n })\r\n }\r\n }\r\n })\r\n },\r\n getMessagesByLocales: function() {\r\n return this._dictionary\r\n },\r\n getDictionary: function(onlyNew) {\r\n if (onlyNew) {\r\n return newMessages\r\n }\r\n return (0, _extend.extend)({}, newMessages, this.getMessagesByLocales()[_core.default.locale()])\r\n },\r\n getFormatter: function(key) {\r\n return this._getFormatterBase(key) || this._getFormatterBase(key, \"en\")\r\n },\r\n _getFormatterBase: function(key, locale) {\r\n var _this = this;\r\n var message = _core.default.getValueByClosestLocale(function(locale) {\r\n return getDataByLocale(_this._dictionary, locale)[key]\r\n });\r\n if (message) {\r\n return function() {\r\n var args = 1 === arguments.length && Array.isArray(arguments[0]) ? arguments[0].slice(0) : Array.prototype.slice.call(arguments, 0);\r\n args.unshift(message);\r\n return _string.format.apply(this, args)\r\n }\r\n }\r\n },\r\n format: function(key) {\r\n var formatter = this.getFormatter(key);\r\n var values = Array.prototype.slice.call(arguments, 1);\r\n return formatter && formatter.apply(this, values) || \"\"\r\n }\r\n});\r\nvar _default = messageLocalization;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (localization/cldr-data/accounting_formats.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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 _default = {\r\n af: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"af-NA\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n agq: \"#,##0.00\\xa4\",\r\n ak: \"\\xa4#,##0.00\",\r\n am: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n ar: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-AE\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-BH\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-DJ\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-DZ\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-EG\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-EH\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-ER\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-IL\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-IQ\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-JO\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-KM\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-KW\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-LB\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-LY\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-MA\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-MR\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-OM\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-PS\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-QA\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-SA\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-SD\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-SO\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-SS\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-SY\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-TD\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-TN\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-YE\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n as: \"\\xa4\\xa0#,##,##0.00\",\r\n asa: \"#,##0.00\\xa0\\xa4\",\r\n ast: \"#,##0.00\\xa0\\xa4\",\r\n az: \"#,##0.00\\xa0\\xa4\",\r\n \"az-Cyrl\": \"#,##0.00\\xa0\\xa4\",\r\n \"az-Latn\": \"#,##0.00\\xa0\\xa4\",\r\n bas: \"#,##0.00\\xa0\\xa4\",\r\n be: \"#,##0.00\\xa0\\xa4\",\r\n bem: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n bez: \"#,##0.00\\xa4\",\r\n bg: \"0.00\\xa0\\xa4;(0.00\\xa0\\xa4)\",\r\n bm: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n bn: \"#,##,##0.00\\xa4;(#,##,##0.00\\xa4)\",\r\n \"bn-IN\": \"#,##,##0.00\\xa4;(#,##,##0.00\\xa4)\",\r\n bo: \"\\xa4\\xa0#,##0.00\",\r\n \"bo-IN\": \"\\xa4\\xa0#,##0.00\",\r\n br: \"#,##0.00\\xa0\\xa4\",\r\n brx: \"\\xa4\\xa0#,##,##0.00\",\r\n bs: \"#,##0.00\\xa0\\xa4\",\r\n \"bs-Cyrl\": \"#,##0.00\\xa0\\xa4\",\r\n \"bs-Latn\": \"#,##0.00\\xa0\\xa4\",\r\n ca: \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"ca-AD\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"ca-ES-VALENCIA\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"ca-FR\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"ca-IT\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n ccp: \"#,##,##0.00\\xa4;(#,##,##0.00\\xa4)\",\r\n \"ccp-IN\": \"#,##,##0.00\\xa4;(#,##,##0.00\\xa4)\",\r\n ce: \"#,##0.00\\xa0\\xa4\",\r\n ceb: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n cgg: \"\\xa4#,##0.00\",\r\n chr: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n ckb: \"\\xa4\\xa0#,##0.00\",\r\n \"ckb-IR\": \"\\xa4\\xa0#,##0.00\",\r\n cs: \"#,##0.00\\xa0\\xa4\",\r\n cy: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n da: \"#,##0.00\\xa0\\xa4\",\r\n \"da-GL\": \"#,##0.00\\xa0\\xa4\",\r\n dav: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n de: \"#,##0.00\\xa0\\xa4\",\r\n \"de-AT\": \"#,##0.00\\xa0\\xa4\",\r\n \"de-BE\": \"#,##0.00\\xa0\\xa4\",\r\n \"de-CH\": \"#,##0.00\\xa0\\xa4\",\r\n \"de-IT\": \"#,##0.00\\xa0\\xa4\",\r\n \"de-LI\": \"#,##0.00\\xa0\\xa4\",\r\n \"de-LU\": \"#,##0.00\\xa0\\xa4\",\r\n dje: \"#,##0.00\\xa4\",\r\n doi: \"\\xa4#,##0.00\",\r\n dsb: \"#,##0.00\\xa0\\xa4\",\r\n dua: \"#,##0.00\\xa0\\xa4\",\r\n dyo: \"#,##0.00\\xa0\\xa4\",\r\n dz: \"\\xa4#,##,##0.00\",\r\n ebu: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n ee: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ee-TG\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n el: \"#,##0.00\\xa0\\xa4\",\r\n \"el-CY\": \"#,##0.00\\xa0\\xa4\",\r\n en: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-001\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-150\": \"#,##0.00\\xa0\\xa4\",\r\n \"en-AE\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-AG\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-AI\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-AS\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-AT\": \"\\xa4\\xa0#,##0.00\",\r\n \"en-AU\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-BB\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-BE\": \"#,##0.00\\xa0\\xa4\",\r\n \"en-BI\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-BM\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-BS\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-BW\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-BZ\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-CA\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-CC\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-CH\": \"\\xa4\\xa0#,##0.00;\\xa4-#,##0.00\",\r\n \"en-CK\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-CM\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-CX\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-CY\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-DE\": \"#,##0.00\\xa0\\xa4\",\r\n \"en-DG\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-DK\": \"#,##0.00\\xa0\\xa4\",\r\n \"en-DM\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-ER\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-FI\": \"#,##0.00\\xa0\\xa4\",\r\n \"en-FJ\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-FK\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-FM\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-GB\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-GD\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-GG\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-GH\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-GI\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-GM\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-GU\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-GY\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-HK\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-IE\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-IL\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-IM\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-IN\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-IO\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-JE\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-JM\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-KE\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-KI\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-KN\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-KY\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-LC\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-LR\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-LS\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-MG\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-MH\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-MO\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-MP\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-MS\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-MT\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-MU\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-MW\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-MY\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-NA\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-NF\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-NG\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-NL\": \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\r\n \"en-NR\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-NU\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-NZ\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-PG\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-PH\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-PK\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-PN\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-PR\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-PW\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-RW\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-SB\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-SC\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-SD\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-SE\": \"#,##0.00\\xa0\\xa4\",\r\n \"en-SG\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-SH\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-SI\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"en-SL\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-SS\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-SX\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-SZ\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-TC\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-TK\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-TO\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-TT\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-TV\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-TZ\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-UG\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-UM\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-US-POSIX\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-VC\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-VG\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-VI\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-VU\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-WS\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-ZA\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-ZM\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-ZW\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n eo: \"\\xa4\\xa0#,##0.00\",\r\n es: \"#,##0.00\\xa0\\xa4\",\r\n \"es-419\": \"\\xa4#,##0.00\",\r\n \"es-AR\": \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\r\n \"es-BO\": \"\\xa4#,##0.00\",\r\n \"es-BR\": \"\\xa4#,##0.00\",\r\n \"es-BZ\": \"\\xa4#,##0.00\",\r\n \"es-CL\": \"\\xa4#,##0.00\",\r\n \"es-CO\": \"\\xa4#,##0.00\",\r\n \"es-CR\": \"\\xa4#,##0.00\",\r\n \"es-CU\": \"\\xa4#,##0.00\",\r\n \"es-DO\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"es-EA\": \"#,##0.00\\xa0\\xa4\",\r\n \"es-EC\": \"\\xa4#,##0.00\",\r\n \"es-GQ\": \"#,##0.00\\xa0\\xa4\",\r\n \"es-GT\": \"\\xa4#,##0.00\",\r\n \"es-HN\": \"\\xa4#,##0.00\",\r\n \"es-IC\": \"#,##0.00\\xa0\\xa4\",\r\n \"es-MX\": \"\\xa4#,##0.00\",\r\n \"es-NI\": \"\\xa4#,##0.00\",\r\n \"es-PA\": \"\\xa4#,##0.00\",\r\n \"es-PE\": \"\\xa4#,##0.00\",\r\n \"es-PH\": \"#,##0.00\\xa0\\xa4\",\r\n \"es-PR\": \"\\xa4#,##0.00\",\r\n \"es-PY\": \"\\xa4#,##0.00\",\r\n \"es-SV\": \"\\xa4#,##0.00\",\r\n \"es-US\": \"\\xa4#,##0.00\",\r\n \"es-UY\": \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\r\n \"es-VE\": \"\\xa4#,##0.00\",\r\n et: \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n eu: \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n ewo: \"#,##0.00\\xa0\\xa4\",\r\n fa: \"\\u200e\\xa4\\xa0#,##0.00;\\u200e(\\xa4\\xa0#,##0.00)\",\r\n \"fa-AF\": \"\\xa4\\xa0#,##0.00;\\u200e(\\xa4\\xa0#,##0.00)\",\r\n ff: \"#,##0.00\\xa0\\xa4\",\r\n \"ff-Adlm\": \"\\xa4\\xa0#,##0.00\",\r\n \"ff-Adlm-BF\": \"\\xa4\\xa0#,##0.00\",\r\n \"ff-Adlm-CM\": \"\\xa4\\xa0#,##0.00\",\r\n \"ff-Adlm-GH\": \"\\xa4\\xa0#,##0.00\",\r\n \"ff-Adlm-GM\": \"\\xa4\\xa0#,##0.00\",\r\n \"ff-Adlm-GW\": \"\\xa4\\xa0#,##0.00\",\r\n \"ff-Adlm-LR\": \"\\xa4\\xa0#,##0.00\",\r\n \"ff-Adlm-MR\": \"\\xa4\\xa0#,##0.00\",\r\n \"ff-Adlm-NE\": \"\\xa4\\xa0#,##0.00\",\r\n \"ff-Adlm-NG\": \"\\xa4\\xa0#,##0.00\",\r\n \"ff-Adlm-SL\": \"\\xa4\\xa0#,##0.00\",\r\n \"ff-Adlm-SN\": \"\\xa4\\xa0#,##0.00\",\r\n \"ff-Latn\": \"#,##0.00\\xa0\\xa4\",\r\n \"ff-Latn-BF\": \"#,##0.00\\xa0\\xa4\",\r\n \"ff-Latn-CM\": \"#,##0.00\\xa0\\xa4\",\r\n \"ff-Latn-GH\": \"#,##0.00\\xa0\\xa4\",\r\n \"ff-Latn-GM\": \"#,##0.00\\xa0\\xa4\",\r\n \"ff-Latn-GN\": \"#,##0.00\\xa0\\xa4\",\r\n \"ff-Latn-GW\": \"#,##0.00\\xa0\\xa4\",\r\n \"ff-Latn-LR\": \"#,##0.00\\xa0\\xa4\",\r\n \"ff-Latn-MR\": \"#,##0.00\\xa0\\xa4\",\r\n \"ff-Latn-NE\": \"#,##0.00\\xa0\\xa4\",\r\n \"ff-Latn-NG\": \"#,##0.00\\xa0\\xa4\",\r\n \"ff-Latn-SL\": \"#,##0.00\\xa0\\xa4\",\r\n fi: \"#,##0.00\\xa0\\xa4\",\r\n fil: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n fo: \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fo-DK\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n fr: \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-BE\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-BF\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-BI\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-BJ\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-BL\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-CA\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-CD\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-CF\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-CG\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-CH\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-CI\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-CM\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-DJ\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-DZ\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-GA\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-GF\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-GN\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-GP\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-GQ\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-HT\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-KM\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-LU\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-MA\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-MC\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-MF\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-MG\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-ML\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-MQ\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-MR\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-MU\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-NC\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-NE\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-PF\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-PM\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-RE\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-RW\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-SC\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-SN\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-SY\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-TD\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-TG\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-TN\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-VU\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-WF\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-YT\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n fur: \"\\xa4\\xa0#,##0.00\",\r\n fy: \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\r\n ga: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ga-GB\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n gd: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n gl: \"#,##0.00\\xa0\\xa4\",\r\n gsw: \"#,##0.00\\xa0\\xa4\",\r\n \"gsw-FR\": \"#,##0.00\\xa0\\xa4\",\r\n \"gsw-LI\": \"#,##0.00\\xa0\\xa4\",\r\n gu: \"\\xa4#,##,##0.00;(\\xa4#,##,##0.00)\",\r\n guz: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n gv: \"\\xa4#,##0.00\",\r\n ha: \"\\xa4\\xa0#,##0.00\",\r\n \"ha-GH\": \"\\xa4\\xa0#,##0.00\",\r\n \"ha-NE\": \"\\xa4\\xa0#,##0.00\",\r\n haw: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n he: \"#,##0.00\\xa0\\xa4\",\r\n hi: \"\\xa4#,##,##0.00\",\r\n hr: \"#,##0.00\\xa0\\xa4\",\r\n \"hr-BA\": \"#,##0.00\\xa0\\xa4\",\r\n hsb: \"#,##0.00\\xa0\\xa4\",\r\n hu: \"#,##0.00\\xa0\\xa4\",\r\n hy: \"#,##0.00\\xa0\\xa4\",\r\n ia: \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\r\n id: \"\\xa4#,##0.00\",\r\n ig: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n ii: \"\\xa4\\xa0#,##0.00\",\r\n is: \"#,##0.00\\xa0\\xa4\",\r\n it: \"#,##0.00\\xa0\\xa4\",\r\n \"it-CH\": \"#,##0.00\\xa0\\xa4\",\r\n \"it-SM\": \"#,##0.00\\xa0\\xa4\",\r\n \"it-VA\": \"#,##0.00\\xa0\\xa4\",\r\n ja: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n jgo: \"\\xa4\\xa0#,##0.00\",\r\n jmc: \"\\xa4#,##0.00\",\r\n jv: \"\\xa4\\xa0#,##0.00\",\r\n ka: \"#,##0.00\\xa0\\xa4\",\r\n kab: \"#,##0.00\\xa4\",\r\n kam: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n kde: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n kea: \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n khq: \"#,##0.00\\xa4\",\r\n ki: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n kk: \"#,##0.00\\xa0\\xa4\",\r\n kkj: \"\\xa4\\xa0#,##0.00\",\r\n kl: \"\\xa4#,##0.00;\\xa4-#,##0.00\",\r\n kln: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n km: \"#,##0.00\\xa4;(#,##0.00\\xa4)\",\r\n kn: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n ko: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ko-KP\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n kok: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n ks: \"\\xa4\\xa0#,##,##0.00\",\r\n \"ks-Arab\": \"\\xa4\\xa0#,##,##0.00\",\r\n ksb: \"#,##0.00\\xa4\",\r\n ksf: \"#,##0.00\\xa0\\xa4\",\r\n ksh: \"#,##0.00\\xa0\\xa4\",\r\n ku: \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n kw: \"\\xa4#,##0.00\",\r\n ky: \"#,##0.00\\xa0\\xa4\",\r\n lag: \"\\xa4\\xa0#,##0.00\",\r\n lb: \"#,##0.00\\xa0\\xa4\",\r\n lg: \"#,##0.00\\xa4\",\r\n lkt: \"\\xa4\\xa0#,##0.00\",\r\n ln: \"#,##0.00\\xa0\\xa4\",\r\n \"ln-AO\": \"#,##0.00\\xa0\\xa4\",\r\n \"ln-CF\": \"#,##0.00\\xa0\\xa4\",\r\n \"ln-CG\": \"#,##0.00\\xa0\\xa4\",\r\n lo: \"\\xa4#,##0.00;\\xa4-#,##0.00\",\r\n lrc: \"\\xa4\\xa0#,##0.00\",\r\n \"lrc-IQ\": \"\\xa4\\xa0#,##0.00\",\r\n lt: \"#,##0.00\\xa0\\xa4\",\r\n lu: \"#,##0.00\\xa4\",\r\n luo: \"#,##0.00\\xa4\",\r\n luy: \"\\xa4#,##0.00;\\xa4-\\xa0#,##0.00\",\r\n lv: \"#,##0.00\\xa0\\xa4\",\r\n mai: \"\\xa4\\xa0#,##0.00\",\r\n mas: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"mas-TZ\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n mer: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n mfe: \"\\xa4\\xa0#,##0.00\",\r\n mg: \"\\xa4#,##0.00\",\r\n mgh: \"\\xa4\\xa0#,##0.00\",\r\n mgo: \"\\xa4\\xa0#,##0.00\",\r\n mi: \"\\xa4\\xa0#,##0.00\",\r\n mk: \"#,##0.00\\xa0\\xa4\",\r\n ml: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n mn: \"\\xa4\\xa0#,##0.00\",\r\n mni: \"\\xa4\\xa0#,##0.00\",\r\n \"mni-Beng\": \"\\xa4\\xa0#,##0.00\",\r\n mr: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n ms: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ms-BN\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ms-ID\": \"\\xa4#,##0.00\",\r\n \"ms-SG\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n mt: \"\\xa4#,##0.00\",\r\n mua: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n my: \"\\xa4\\xa0#,##0.00\",\r\n mzn: \"\\xa4\\xa0#,##0.00\",\r\n naq: \"\\xa4#,##0.00\",\r\n nb: \"\\xa4\\xa0#,##0.00\",\r\n \"nb-SJ\": \"\\xa4\\xa0#,##0.00\",\r\n nd: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n nds: \"\\xa4\\xa0#,##0.00\",\r\n \"nds-NL\": \"\\xa4\\xa0#,##0.00\",\r\n ne: \"\\xa4\\xa0#,##,##0.00\",\r\n \"ne-IN\": \"\\xa4\\xa0#,##,##0.00\",\r\n nl: \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\r\n \"nl-AW\": \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\r\n \"nl-BE\": \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\r\n \"nl-BQ\": \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\r\n \"nl-CW\": \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\r\n \"nl-SR\": \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\r\n \"nl-SX\": \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\r\n nmg: \"#,##0.00\\xa0\\xa4\",\r\n nn: \"#,##0.00\\xa0\\xa4\",\r\n nnh: \"\\xa4\\xa0#,##0.00\",\r\n nus: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n nyn: \"\\xa4#,##0.00\",\r\n om: \"\\xa4#,##0.00\",\r\n \"om-KE\": \"\\xa4#,##0.00\",\r\n or: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n os: \"\\xa4\\xa0#,##0.00\",\r\n \"os-RU\": \"\\xa4\\xa0#,##0.00\",\r\n pa: \"\\xa4\\xa0#,##0.00\",\r\n \"pa-Arab\": \"\\xa4\\xa0#,##0.00\",\r\n \"pa-Guru\": \"\\xa4\\xa0#,##0.00\",\r\n pcm: \"\\xa4#,##0.00\",\r\n pl: \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n ps: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ps-PK\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n pt: \"\\xa4\\xa0#,##0.00\",\r\n \"pt-AO\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"pt-CH\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"pt-CV\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"pt-GQ\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"pt-GW\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"pt-LU\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"pt-MO\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"pt-MZ\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"pt-PT\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"pt-ST\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"pt-TL\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n qu: \"\\xa4\\xa0#,##0.00\",\r\n \"qu-BO\": \"\\xa4\\xa0#,##0.00\",\r\n \"qu-EC\": \"\\xa4\\xa0#,##0.00\",\r\n rm: \"#,##0.00\\xa0\\xa4\",\r\n rn: \"#,##0.00\\xa4\",\r\n ro: \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"ro-MD\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n rof: \"\\xa4#,##0.00\",\r\n root: \"\\xa4\\xa0#,##0.00\",\r\n ru: \"#,##0.00\\xa0\\xa4\",\r\n \"ru-BY\": \"#,##0.00\\xa0\\xa4\",\r\n \"ru-KG\": \"#,##0.00\\xa0\\xa4\",\r\n \"ru-KZ\": \"#,##0.00\\xa0\\xa4\",\r\n \"ru-MD\": \"#,##0.00\\xa0\\xa4\",\r\n \"ru-UA\": \"#,##0.00\\xa0\\xa4\",\r\n rw: \"\\xa4\\xa0#,##0.00\",\r\n rwk: \"#,##0.00\\xa4\",\r\n sa: \"\\xa4\\xa0#,##0.00\",\r\n sah: \"#,##0.00\\xa0\\xa4\",\r\n saq: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n sat: \"\\xa4\\xa0#,##0.00\",\r\n \"sat-Olck\": \"\\xa4\\xa0#,##0.00\",\r\n sbp: \"#,##0.00\\xa4\",\r\n sd: \"\\xa4\\xa0#,##0.00\",\r\n \"sd-Arab\": \"\\xa4\\xa0#,##0.00\",\r\n \"sd-Deva\": \"\\xa4\\xa0#,##0.00\",\r\n se: \"#,##0.00\\xa0\\xa4\",\r\n \"se-FI\": \"#,##0.00\\xa0\\xa4\",\r\n \"se-SE\": \"#,##0.00\\xa0\\xa4\",\r\n seh: \"#,##0.00\\xa4\",\r\n ses: \"#,##0.00\\xa4\",\r\n sg: \"\\xa4#,##0.00;\\xa4-#,##0.00\",\r\n shi: \"#,##0.00\\xa4\",\r\n \"shi-Latn\": \"#,##0.00\\xa4\",\r\n \"shi-Tfng\": \"#,##0.00\\xa4\",\r\n si: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n sk: \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n sl: \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n smn: \"#,##0.00\\xa0\\xa4\",\r\n sn: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n so: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"so-DJ\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"so-ET\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"so-KE\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n sq: \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"sq-MK\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"sq-XK\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n sr: \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"sr-Cyrl\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"sr-Cyrl-BA\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"sr-Cyrl-ME\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"sr-Cyrl-XK\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"sr-Latn\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"sr-Latn-BA\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"sr-Latn-ME\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"sr-Latn-XK\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n su: \"\\xa4#,##0.00\",\r\n \"su-Latn\": \"\\xa4#,##0.00\",\r\n sv: \"#,##0.00\\xa0\\xa4\",\r\n \"sv-AX\": \"#,##0.00\\xa0\\xa4\",\r\n \"sv-FI\": \"#,##0.00\\xa0\\xa4\",\r\n sw: \"\\xa4\\xa0#,##0.00\",\r\n \"sw-CD\": \"\\xa4\\xa0#,##0.00\",\r\n \"sw-KE\": \"\\xa4\\xa0#,##0.00\",\r\n \"sw-UG\": \"\\xa4\\xa0#,##0.00\",\r\n ta: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ta-LK\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ta-MY\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ta-SG\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n te: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n teo: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"teo-KE\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n tg: \"#,##0.00\\xa0\\xa4\",\r\n th: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n ti: \"\\xa4#,##0.00\",\r\n \"ti-ER\": \"\\xa4#,##0.00\",\r\n tk: \"#,##0.00\\xa0\\xa4\",\r\n to: \"\\xa4\\xa0#,##0.00\",\r\n tr: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"tr-CY\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n tt: \"#,##0.00\\xa0\\xa4\",\r\n twq: \"#,##0.00\\xa4\",\r\n tzm: \"#,##0.00\\xa0\\xa4\",\r\n ug: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n uk: \"#,##0.00\\xa0\\xa4\",\r\n ur: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ur-IN\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n uz: \"#,##0.00\\xa0\\xa4\",\r\n \"uz-Arab\": \"\\xa4\\xa0#,##0.00\",\r\n \"uz-Cyrl\": \"#,##0.00\\xa0\\xa4\",\r\n \"uz-Latn\": \"#,##0.00\\xa0\\xa4\",\r\n vai: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"vai-Latn\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"vai-Vaii\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n vi: \"#,##0.00\\xa0\\xa4\",\r\n vun: \"\\xa4#,##0.00\",\r\n wae: \"\\xa4\\xa0#,##0.00\",\r\n wo: \"\\xa4\\xa0#,##0.00\",\r\n xh: \"\\xa4#,##0.00\",\r\n xog: \"#,##0.00\\xa0\\xa4\",\r\n yav: \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n yi: \"\\xa4\\xa0#,##0.00\",\r\n yo: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"yo-BJ\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n yue: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"yue-Hans\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"yue-Hant\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n zgh: \"#,##0.00\\xa4\",\r\n zh: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"zh-Hans\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"zh-Hans-HK\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"zh-Hans-MO\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"zh-Hans-SG\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"zh-Hant\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"zh-Hant-HK\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"zh-Hant-MO\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n zu: \"\\xa4#,##0.00;(\\xa4#,##0.00)\"\r\n};\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (events/core/events_engine.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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 if (\"function\" === typeof Symbol && \"symbol\" === typeof Symbol.iterator) {\r\n _typeof = function(obj) {\r\n return typeof obj\r\n }\r\n } else {\r\n _typeof = function(obj) {\r\n return obj && \"function\" === typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }\r\n }\r\n return _typeof(obj)\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\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 return function(src, config) {\r\n if (!(this instanceof eventsEngine.Event)) {\r\n return new eventsEngine.Event(src, config)\r\n }\r\n if (!src) {\r\n src = {}\r\n }\r\n if (\"string\" === typeof src) {\r\n src = {\r\n type: src\r\n }\r\n }\r\n if (!config) {\r\n config = {}\r\n }\r\n callback.call(this, src, config)\r\n }\r\n}\r\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 that = this;\r\n var propagationStopped = false;\r\n var immediatePropagationStopped = false;\r\n var defaultPrevented = false;\r\n (0, _extend.extend)(that, src);\r\n if (src instanceof eventsEngine.Event || (0, _window.hasWindow)() && src instanceof window.Event) {\r\n that.originalEvent = src;\r\n that.currentTarget = void 0\r\n }\r\n if (!(src instanceof eventsEngine.Event)) {\r\n (0, _extend.extend)(that, {\r\n isPropagationStopped: function() {\r\n return !!(propagationStopped || that.originalEvent && that.originalEvent.propagationStopped)\r\n },\r\n stopPropagation: function() {\r\n propagationStopped = true;\r\n that.originalEvent && that.originalEvent.stopPropagation()\r\n },\r\n isImmediatePropagationStopped: function() {\r\n return immediatePropagationStopped\r\n },\r\n stopImmediatePropagation: function() {\r\n this.stopPropagation();\r\n immediatePropagationStopped = true;\r\n that.originalEvent && that.originalEvent.stopImmediatePropagation()\r\n },\r\n isDefaultPrevented: function() {\r\n return !!(defaultPrevented || that.originalEvent && that.originalEvent.defaultPrevented)\r\n },\r\n preventDefault: function() {\r\n defaultPrevented = true;\r\n that.originalEvent && that.originalEvent.preventDefault()\r\n }\r\n })\r\n }\r\n addProperty(\"which\", calculateWhich, that);\r\n if (0 === src.type.indexOf(\"touch\")) {\r\n delete config.pageX;\r\n delete config.pageY\r\n }(0, _extend.extend)(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}(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","/*!\n * devextreme-vue\n * Version: 20.2.6\n * Build date: Tue Mar 16 2021\n *\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-vue\n */\n\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar VueType = require(\"vue\");\nvar errors_1 = require(\"./errors\");\nvar TEMPLATE_PROP = \"template\";\nvar Vue = VueType.default || VueType;\nfunction asConfigurable(component) {\n if (!component.$vnode) {\n return undefined;\n }\n var configurable = component.$vnode.componentOptions;\n if (!configurable.$_config || !configurable.$_config.name) {\n return undefined;\n }\n return configurable;\n}\nfunction hasTemplate(component) {\n return TEMPLATE_PROP in component.$props && (component.$vnode.data && component.$vnode.data.scopedSlots);\n}\nfunction discover(component) {\n var templates = {};\n for (var slotName in component.$scopedSlots) {\n if (slotName === \"default\" && component.$slots.default) {\n continue;\n }\n var slot = component.$scopedSlots[slotName];\n if (!slot) {\n continue;\n }\n templates[slotName] = slot;\n }\n for (var _i = 0, _a = component.$children; _i < _a.length; _i++) {\n var childComponent = _a[_i];\n var configurable = asConfigurable(childComponent);\n if (!configurable) {\n continue;\n }\n var defaultSlot = childComponent.$scopedSlots.default;\n if (!defaultSlot || !hasTemplate(childComponent)) {\n continue;\n }\n var templateName = configurable.$_config.fullPath + \".\" + TEMPLATE_PROP;\n templates[templateName] = defaultSlot;\n }\n return templates;\n}\nexports.discover = discover;\nfunction mountTemplate(getSlot, parent, data, name, placeholder) {\n return new Vue({\n el: placeholder,\n name: name,\n inject: [\"eventBus\"],\n parent: parent,\n created: function () {\n var _this = this;\n this.eventBus.$on(\"updated\", function () {\n _this.$forceUpdate();\n });\n },\n render: function (createElement) {\n var content = getSlot()(data);\n if (!content) {\n return createElement(\"div\");\n }\n if (content.length > 1) {\n throw new Error(errors_1.TEMPLATE_MULTIPLE_ROOTS_ERROR);\n }\n return content[0];\n },\n destroyed: function () {\n // T857821\n this.eventBus.$off(\"updated\");\n }\n });\n}\nexports.mountTemplate = mountTemplate;\n","/*!\n * devextreme-vue\n * Version: 20.2.6\n * Build date: Tue Mar 16 2021\n *\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-vue\n */\n\n\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.setEmitOptionChangedFunc = exports.bindOptionWatchers = void 0;\nvar config_1 = require(\"./config\");\nvar helpers_1 = require(\"./helpers\");\nvar vue_helper_1 = require(\"./vue-helper\");\nvar Configuration = /** @class */ (function () {\n function Configuration(updateFunc, name, initialValues, expectedChildren, isCollectionItem, collectionItemIndex, ownerConfig) {\n this._updateFunc = updateFunc;\n this._name = name;\n this._initialValues = initialValues ? initialValues : {};\n this._nestedConfigurations = [];\n this._isCollectionItem = !!isCollectionItem;\n this._collectionItemIndex = collectionItemIndex;\n this._expectedChildren = expectedChildren || {};\n this._ownerConfig = ownerConfig;\n this._componentChanges = [];\n this.updateValue = this.updateValue.bind(this);\n }\n Object.defineProperty(Configuration.prototype, \"name\", {\n get: function () {\n return this._name;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Configuration.prototype, \"fullName\", {\n get: function () {\n return this._name && this._isCollectionItem\n ? this._name + \"[\" + this._collectionItemIndex + \"]\"\n : this._name;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Configuration.prototype, \"componentsCountChanged\", {\n get: function () {\n return this._componentChanges;\n },\n enumerable: false,\n configurable: true\n });\n Configuration.prototype.cleanComponentsCountChanged = function () {\n this._componentChanges = [];\n };\n Object.defineProperty(Configuration.prototype, \"fullPath\", {\n get: function () {\n return this._ownerConfig && this._ownerConfig.fullPath\n ? this._ownerConfig.fullPath + \".\" + this.fullName\n : this.fullName;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Configuration.prototype, \"ownerConfig\", {\n get: function () {\n return this._ownerConfig;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Configuration.prototype, \"options\", {\n get: function () {\n return this._options;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Configuration.prototype, \"initialValues\", {\n get: function () {\n return this._initialValues;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Configuration.prototype, \"expectedChildren\", {\n get: function () {\n return this._expectedChildren;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Configuration.prototype, \"nested\", {\n get: function () {\n return this._nestedConfigurations;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Configuration.prototype, \"prevNestedOptions\", {\n get: function () {\n return this._prevNestedConfigOptions;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Configuration.prototype, \"collectionItemIndex\", {\n get: function () {\n return this._collectionItemIndex;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Configuration.prototype, \"isCollectionItem\", {\n get: function () {\n return this._isCollectionItem;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Configuration.prototype, \"updateFunc\", {\n get: function () {\n return this._updateFunc;\n },\n enumerable: false,\n configurable: true\n });\n Configuration.prototype.init = function (options) {\n this._options = options ? options : [];\n };\n Object.defineProperty(Configuration.prototype, \"emitOptionChanged\", {\n set: function (handler) {\n this._emitOptionChanged = handler;\n },\n enumerable: false,\n configurable: true\n });\n Configuration.prototype.setPrevNestedOptions = function (value) {\n this._prevNestedConfigOptions = value;\n };\n Configuration.prototype.onOptionChanged = function (args) {\n if (helpers_1.isEqual(args.value, args.previousValue)) {\n return;\n }\n this._onOptionChanged(args.fullName.split(\".\"), args);\n };\n Configuration.prototype.cleanNested = function () {\n this._nestedConfigurations = [];\n };\n Configuration.prototype.createNested = function (name, initialValues, isCollectionItem, expectedChildren) {\n var expected = this._expectedChildren[name];\n var actualName = name;\n var actualIsCollectionItem = isCollectionItem;\n if (expected) {\n actualIsCollectionItem = expected.isCollectionItem;\n if (expected.optionName) {\n actualName = expected.optionName;\n }\n }\n var collectionItemIndex = -1;\n if (actualIsCollectionItem && actualName) {\n collectionItemIndex = this._nestedConfigurations.filter(function (c) { return c._name && c._name === actualName; }).length;\n }\n var configuration = new Configuration(this._updateFunc, actualName, initialValues, expectedChildren, actualIsCollectionItem, collectionItemIndex, this);\n this._nestedConfigurations.push(configuration);\n return configuration;\n };\n Configuration.prototype.updateValue = function (nestedName, value) {\n var fullName = [this.fullPath, nestedName].filter(function (n) { return n; }).join(\".\");\n this._updateFunc(fullName, value);\n };\n Configuration.prototype.getNestedOptionValues = function () {\n var values = {};\n this._nestedConfigurations.forEach(function (o) {\n if (!o._name) {\n return;\n }\n var nestedValue = __assign(__assign({}, o.initialValues), o.getNestedOptionValues());\n if (!nestedValue) {\n return;\n }\n if (!o._isCollectionItem) {\n values[o._name] = nestedValue;\n }\n else {\n var arr = values[o._name];\n if (!arr || !Array.isArray(arr)) {\n arr = [];\n values[o._name] = arr;\n }\n arr.push(nestedValue);\n }\n });\n return values;\n };\n Configuration.prototype.getOptionsToWatch = function () {\n var blackList = {};\n this._nestedConfigurations.forEach(function (c) { return c._name && (blackList[c._name] = true); });\n return this._options.filter(function (o) { return !blackList[o]; });\n };\n Configuration.prototype._onOptionChanged = function (optionRelPath, args) {\n if (optionRelPath.length === 0) {\n return;\n }\n var optionInfo = helpers_1.getOptionInfo(optionRelPath[0]);\n if (optionInfo.isCollection || optionRelPath.length > 1) {\n var nestedConfig = this._getNestedConfig(optionInfo.fullName);\n if (nestedConfig) {\n nestedConfig._onOptionChanged(optionRelPath.slice(1), args);\n return;\n }\n this._tryEmitOptionChanged(optionInfo.name, args.component.option(this.fullPath ? this.fullPath + \".\" + optionInfo.name : optionInfo.name));\n }\n else {\n this._tryEmitOptionChanged(optionInfo.name, args.value);\n }\n };\n Configuration.prototype._getNestedConfig = function (fullName) {\n for (var _i = 0, _a = this._nestedConfigurations; _i < _a.length; _i++) {\n var nestedConfig = _a[_i];\n if (nestedConfig.fullName === fullName) {\n return nestedConfig;\n }\n }\n return undefined;\n };\n Configuration.prototype._tryEmitOptionChanged = function (name, value) {\n if (this._emitOptionChanged) {\n this._emitOptionChanged(name, value);\n }\n };\n return Configuration;\n}());\nfunction bindOptionWatchers(config, vueInstance, innerChanges) {\n var targets = config && config.getOptionsToWatch();\n if (targets) {\n targets.forEach(function (optionName) {\n vueInstance.$watch(optionName, function (value) {\n if (!innerChanges.hasOwnProperty(optionName) ||\n innerChanges[optionName] !== value) {\n config.updateValue(optionName, value);\n }\n delete innerChanges[optionName];\n }, { deep: config_1.getOption(\"deepWatch\") });\n });\n }\n}\nexports.bindOptionWatchers = bindOptionWatchers;\nfunction hasProp(vueInstance, propName) {\n var props = vueInstance.$options.props;\n return props && props.hasOwnProperty(propName);\n}\nfunction hasVModelValue(options, props) {\n return options.model && props.hasOwnProperty(vue_helper_1.VMODEL_NAME);\n}\nfunction setEmitOptionChangedFunc(config, vueInstance, innerChanges) {\n config.emitOptionChanged = function (name, value) {\n var props = vueInstance.$props;\n if (hasProp(vueInstance, name) && !helpers_1.isEqual(value, props[name]) && vueInstance.$emit) {\n innerChanges[name] = value;\n var eventName = name === \"value\" && hasVModelValue(vueInstance.$options, props) ?\n \"update:\" + vue_helper_1.VMODEL_NAME :\n \"update:\" + name;\n vueInstance.$emit(eventName, value);\n }\n };\n}\nexports.setEmitOptionChangedFunc = setEmitOptionChangedFunc;\nexports.default = Configuration;\n","/*!\n * devextreme-vue\n * Version: 20.2.6\n * Build date: Tue Mar 16 2021\n *\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-vue\n */\n\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isVue3 = exports.getVueVersion = void 0;\nvar VueType = require(\"vue\");\nvar Vue = VueType.default || VueType;\nfunction getVueVersion() {\n var currentVersion = Vue.version;\n return Number(currentVersion.split(\".\")[0]);\n}\nexports.getVueVersion = getVueVersion;\nfunction isVue3() {\n return getVueVersion() === 3;\n}\nexports.isVue3 = isVue3;\n","/**\r\n * DevExtreme (core/templates/template_engine_registry.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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.registerTemplateEngine = registerTemplateEngine;\r\nexports.setTemplateEngine = setTemplateEngine;\r\nexports.getCurrentTemplateEngine = getCurrentTemplateEngine;\r\nvar _type = require(\"../utils/type\");\r\nvar _errors = _interopRequireDefault(require(\"../errors\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar templateEngines = {};\r\nvar currentTemplateEngine;\r\n\r\nfunction registerTemplateEngine(name, templateEngine) {\r\n templateEngines[name] = templateEngine\r\n}\r\n\r\nfunction setTemplateEngine(templateEngine) {\r\n if ((0, _type.isString)(templateEngine)) {\r\n currentTemplateEngine = templateEngines[templateEngine];\r\n if (!currentTemplateEngine) {\r\n throw _errors.default.Error(\"E0020\", templateEngine)\r\n }\r\n } else {\r\n currentTemplateEngine = templateEngine\r\n }\r\n}\r\n\r\nfunction getCurrentTemplateEngine() {\r\n return currentTemplateEngine\r\n}\r\n","/**\r\n * DevExtreme (events/core/emitter.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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","/*!\n * devextreme-vue\n * Version: 20.2.6\n * Build date: Tue Mar 16 2021\n *\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-vue\n */\n\n\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TemplatesManager = void 0;\nvar templates_discovering_1 = require(\"./templates-discovering\");\nvar domAdapter = require(\"devextreme/core/dom_adapter\");\nvar events = require(\"devextreme/events\");\nvar constants_1 = require(\"./constants\");\nvar helpers_1 = require(\"./helpers\");\nvar TemplatesManager = /** @class */ (function () {\n function TemplatesManager(component) {\n this._slots = {};\n this._templates = {};\n this._isDirty = false;\n this._component = component;\n this.discover();\n }\n TemplatesManager.prototype.discover = function () {\n var slots = templates_discovering_1.discover(this._component);\n this._slots = __assign(__assign({}, this._slots), slots);\n if (!helpers_1.allKeysAreEqual(this._templates, slots)) {\n this._prepareTemplates();\n }\n };\n Object.defineProperty(TemplatesManager.prototype, \"templates\", {\n get: function () {\n return this._templates;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(TemplatesManager.prototype, \"isDirty\", {\n get: function () {\n return this._isDirty;\n },\n enumerable: false,\n configurable: true\n });\n TemplatesManager.prototype.resetDirtyFlag = function () {\n this._isDirty = false;\n };\n TemplatesManager.prototype._prepareTemplates = function () {\n this._templates = {};\n for (var _i = 0, _a = Object.keys(this._slots); _i < _a.length; _i++) {\n var name_1 = _a[_i];\n this._templates[name_1] = this.createDxTemplate(name_1);\n }\n this._isDirty = true;\n };\n TemplatesManager.prototype.createDxTemplate = function (name) {\n var _this = this;\n return {\n render: function (data) {\n var rendered = (function (onRendered, counter) {\n if (counter === void 0) { counter = 0; }\n return function () {\n if (counter === 1 && onRendered) {\n onRendered();\n }\n counter++;\n };\n })(data.onRendered);\n var scopeData = { data: data.model, index: data.index, onRendered: rendered };\n var placeholder = document.createElement(\"div\");\n var container = data.container.get ? data.container.get(0) : data.container;\n container.appendChild(placeholder);\n var mountedTemplate = templates_discovering_1.mountTemplate(function () { return _this._slots[name]; }, _this._component, scopeData, name, placeholder);\n var element = mountedTemplate.$el;\n container.removeChild(placeholder);\n container.appendChild(element);\n domAdapter.setClass(element, constants_1.DX_TEMPLATE_WRAPPER_CLASS, true);\n if (element.nodeType === Node.TEXT_NODE) {\n var removalListener = document.createElement(container.nodeName === \"TABLE\" ? \"tbody\" : \"span\");\n removalListener.style.display = \"none\";\n container.appendChild(removalListener);\n events.one(removalListener, constants_1.DX_REMOVE_EVENT, mountedTemplate.$.appContext.app.unmount.bind(mountedTemplate));\n }\n else {\n events.one(element, constants_1.DX_REMOVE_EVENT, mountedTemplate.$.appContext.app.unmount.bind(mountedTemplate));\n }\n rendered();\n return element;\n }\n };\n };\n return TemplatesManager;\n}());\nexports.TemplatesManager = TemplatesManager;\n","/**\r\n * DevExtreme (core/templates/child_default_template.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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.ChildDefaultTemplate = void 0;\r\nvar _template_base = require(\"./template_base\");\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 ChildDefaultTemplate = function(_TemplateBase) {\r\n _inheritsLoose(ChildDefaultTemplate, _TemplateBase);\r\n\r\n function ChildDefaultTemplate(name) {\r\n var _this;\r\n _this = _TemplateBase.call(this) || this;\r\n _this.name = name;\r\n return _this\r\n }\r\n return ChildDefaultTemplate\r\n}(_template_base.TemplateBase);\r\nexports.ChildDefaultTemplate = ChildDefaultTemplate;\r\n","/**\r\n * DevExtreme (core/element.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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.getPublicElement = getPublicElement;\r\nexports.setPublicElementWrapper = setPublicElementWrapper;\r\nvar strategy = function(element) {\r\n return element && element.get(0)\r\n};\r\n\r\nfunction getPublicElement(element) {\r\n return strategy(element)\r\n}\r\n\r\nfunction setPublicElementWrapper(newStrategy) {\r\n strategy = newStrategy\r\n}\r\n","/**\r\n * DevExtreme (ui/text_box/ui.text_editor.mask.rule.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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.StubMaskRule = exports.MaskRule = exports.EmptyMaskRule = void 0;\r\nvar _class = _interopRequireDefault(require(\"../../core/class\"));\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _array = require(\"../../core/utils/array\");\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _common = require(\"../../core/utils/common\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar EMPTY_CHAR = \" \";\r\nvar BaseMaskRule = _class.default.inherit({\r\n ctor: function(config) {\r\n this._value = EMPTY_CHAR;\r\n (0, _extend.extend)(this, config)\r\n },\r\n next: function(rule) {\r\n if (!arguments.length) {\r\n return this._next\r\n }\r\n this._next = rule\r\n },\r\n text: _common.noop,\r\n value: _common.noop,\r\n rawValue: _common.noop,\r\n handle: _common.noop,\r\n _prepareHandlingArgs: function(args, config) {\r\n var _config$str, _config$start, _config$length;\r\n config = config || {};\r\n var handlingProperty = Object.prototype.hasOwnProperty.call(args, \"value\") ? \"value\" : \"text\";\r\n args[handlingProperty] = null !== (_config$str = config.str) && void 0 !== _config$str ? _config$str : args[handlingProperty];\r\n args.start = null !== (_config$start = config.start) && void 0 !== _config$start ? _config$start : args.start;\r\n args.length = null !== (_config$length = config.length) && void 0 !== _config$length ? _config$length : args.length;\r\n args.index = args.index + 1;\r\n return args\r\n },\r\n reset: _common.noop,\r\n clear: _common.noop,\r\n first: function(index) {\r\n index = index || 0;\r\n return this.next().first(index + 1)\r\n },\r\n isAccepted: function() {\r\n return false\r\n },\r\n adjustedCaret: function(caret, isForwardDirection, char) {\r\n return isForwardDirection ? this._adjustedForward(caret, 0, char) : this._adjustedBackward(caret, 0, char)\r\n },\r\n _adjustedForward: _common.noop,\r\n _adjustedBackward: _common.noop,\r\n isValid: _common.noop\r\n});\r\nvar EmptyMaskRule = BaseMaskRule.inherit({\r\n next: _common.noop,\r\n handle: function() {\r\n return 0\r\n },\r\n text: function() {\r\n return \"\"\r\n },\r\n value: function() {\r\n return \"\"\r\n },\r\n first: function() {\r\n return 0\r\n },\r\n rawValue: function() {\r\n return \"\"\r\n },\r\n adjustedCaret: function() {\r\n return 0\r\n },\r\n isValid: function() {\r\n return true\r\n }\r\n});\r\nexports.EmptyMaskRule = EmptyMaskRule;\r\nvar MaskRule = BaseMaskRule.inherit({\r\n text: function() {\r\n return (this._value !== EMPTY_CHAR ? this._value : this.maskChar) + this.next().text()\r\n },\r\n value: function() {\r\n return this._value + this.next().value()\r\n },\r\n rawValue: function() {\r\n return this._value + this.next().rawValue()\r\n },\r\n handle: function(args) {\r\n var str = Object.prototype.hasOwnProperty.call(args, \"value\") ? args.value : args.text;\r\n if (!str || !str.length || !args.length) {\r\n return 0\r\n }\r\n if (args.start) {\r\n return this.next().handle(this._prepareHandlingArgs(args, {\r\n start: args.start - 1\r\n }))\r\n }\r\n var char = str[0];\r\n var rest = str.substring(1);\r\n this._tryAcceptChar(char, args);\r\n return this._accepted() ? this.next().handle(this._prepareHandlingArgs(args, {\r\n str: rest,\r\n length: args.length - 1\r\n })) + 1 : this.handle(this._prepareHandlingArgs(args, {\r\n str: rest,\r\n length: args.length - 1\r\n }))\r\n },\r\n clear: function(args) {\r\n this._tryAcceptChar(EMPTY_CHAR, args);\r\n this.next().clear(this._prepareHandlingArgs(args))\r\n },\r\n reset: function() {\r\n this._accepted(false);\r\n this.next().reset()\r\n },\r\n _tryAcceptChar: function(char, args) {\r\n this._accepted(false);\r\n if (!this._isAllowed(char, args)) {\r\n return\r\n }\r\n var acceptedChar = char === EMPTY_CHAR ? this.maskChar : char;\r\n args.fullText = args.fullText.substring(0, args.index) + acceptedChar + args.fullText.substring(args.index + 1);\r\n this._accepted(true);\r\n this._value = char\r\n },\r\n _accepted: function(value) {\r\n if (!arguments.length) {\r\n return !!this._isAccepted\r\n }\r\n this._isAccepted = !!value\r\n },\r\n first: function(index) {\r\n return this._value === EMPTY_CHAR ? index || 0 : this.callBase(index)\r\n },\r\n _isAllowed: function(char, args) {\r\n if (char === EMPTY_CHAR) {\r\n return true\r\n }\r\n return this._isValid(char, args)\r\n },\r\n _isValid: function(char, args) {\r\n var allowedChars = this.allowedChars;\r\n if (allowedChars instanceof RegExp) {\r\n return allowedChars.test(char)\r\n }\r\n if ((0, _type.isFunction)(allowedChars)) {\r\n return allowedChars(char, args.index, args.fullText)\r\n }\r\n if (Array.isArray(allowedChars)) {\r\n return (0, _array.inArray)(char, allowedChars) > -1\r\n }\r\n return allowedChars === char\r\n },\r\n isAccepted: function(caret) {\r\n return 0 === caret ? this._accepted() : this.next().isAccepted(caret - 1)\r\n },\r\n _adjustedForward: function(caret, index, char) {\r\n if (index >= caret) {\r\n return index\r\n }\r\n return this.next()._adjustedForward(caret, index + 1, char) || index + 1\r\n },\r\n _adjustedBackward: function(caret, index) {\r\n if (index >= caret - 1) {\r\n return caret\r\n }\r\n return this.next()._adjustedBackward(caret, index + 1) || index + 1\r\n },\r\n isValid: function(args) {\r\n return this._isValid(this._value, args) && this.next().isValid(this._prepareHandlingArgs(args))\r\n }\r\n});\r\nexports.MaskRule = MaskRule;\r\nvar StubMaskRule = MaskRule.inherit({\r\n value: function() {\r\n return this.next().value()\r\n },\r\n handle: function(args) {\r\n var hasValueProperty = Object.prototype.hasOwnProperty.call(args, \"value\");\r\n var str = hasValueProperty ? args.value : args.text;\r\n if (!str.length || !args.length) {\r\n return 0\r\n }\r\n if (args.start || hasValueProperty) {\r\n return this.next().handle(this._prepareHandlingArgs(args, {\r\n start: args.start && args.start - 1\r\n }))\r\n }\r\n var char = str[0];\r\n var rest = str.substring(1);\r\n this._tryAcceptChar(char);\r\n var nextArgs = this._isAllowed(char) ? this._prepareHandlingArgs(args, {\r\n str: rest,\r\n length: args.length - 1\r\n }) : args;\r\n return this.next().handle(nextArgs) + 1\r\n },\r\n clear: function(args) {\r\n this._accepted(false);\r\n this.next().clear(this._prepareHandlingArgs(args))\r\n },\r\n _tryAcceptChar: function(char) {\r\n this._accepted(this._isValid(char))\r\n },\r\n _isValid: function(char) {\r\n return char === this.maskChar\r\n },\r\n first: function(index) {\r\n index = index || 0;\r\n return this.next().first(index + 1)\r\n },\r\n _adjustedForward: function(caret, index, char) {\r\n if (index >= caret && char === this.maskChar) {\r\n return index\r\n }\r\n if (caret === index + 1 && this._accepted()) {\r\n return caret\r\n }\r\n return this.next()._adjustedForward(caret, index + 1, char)\r\n },\r\n _adjustedBackward: function(caret, index) {\r\n if (index >= caret - 1) {\r\n return 0\r\n }\r\n return this.next()._adjustedBackward(caret, index + 1)\r\n },\r\n isValid: function(args) {\r\n return this.next().isValid(this._prepareHandlingArgs(args))\r\n }\r\n});\r\nexports.StubMaskRule = StubMaskRule;\r\n","module.exports = __webpack_public_path__ + \"img/logo.6d9ce4b0.svg\";","/**\r\n * DevExtreme (core/utils/style.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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.setHeight = exports.setWidth = exports.normalizeStyleProp = exports.stylePropPrefix = exports.styleProp = void 0;\r\nvar _inflector = require(\"./inflector\");\r\nvar _call_once = _interopRequireDefault(require(\"./call_once\"));\r\nvar _type = require(\"./type\");\r\nvar _dom_adapter = _interopRequireDefault(require(\"../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 jsPrefixes = [\"\", \"Webkit\", \"Moz\", \"O\", \"Ms\"];\r\nvar cssPrefixes = {\r\n \"\": \"\",\r\n Webkit: \"-webkit-\",\r\n Moz: \"-moz-\",\r\n O: \"-o-\",\r\n ms: \"-ms-\"\r\n};\r\nvar getStyles = (0, _call_once.default)(function() {\r\n return _dom_adapter.default.createElement(\"dx\").style\r\n});\r\nvar forEachPrefixes = function(prop, callBack) {\r\n prop = (0, _inflector.camelize)(prop, true);\r\n var result;\r\n for (var i = 0, cssPrefixesCount = jsPrefixes.length; i < cssPrefixesCount; i++) {\r\n var jsPrefix = jsPrefixes[i];\r\n var prefixedProp = jsPrefix + prop;\r\n var lowerPrefixedProp = (0, _inflector.camelize)(prefixedProp);\r\n result = callBack(lowerPrefixedProp, jsPrefix);\r\n if (void 0 === result) {\r\n result = callBack(prefixedProp, jsPrefix)\r\n }\r\n if (void 0 !== result) {\r\n break\r\n }\r\n }\r\n return result || \"\"\r\n};\r\nvar styleProp = function(name) {\r\n if (name in getStyles()) {\r\n return name\r\n }\r\n var originalName = name;\r\n name = name.charAt(0).toUpperCase() + name.substr(1);\r\n for (var i = 1; i < jsPrefixes.length; i++) {\r\n var prefixedProp = jsPrefixes[i].toLowerCase() + name;\r\n if (prefixedProp in getStyles()) {\r\n return prefixedProp\r\n }\r\n }\r\n return originalName\r\n};\r\nexports.styleProp = styleProp;\r\nvar stylePropPrefix = function(prop) {\r\n return forEachPrefixes(prop, function(specific, jsPrefix) {\r\n if (specific in getStyles()) {\r\n return cssPrefixes[jsPrefix]\r\n }\r\n })\r\n};\r\nexports.stylePropPrefix = stylePropPrefix;\r\nvar pxExceptions = [\"fillOpacity\", \"columnCount\", \"flexGrow\", \"flexShrink\", \"fontWeight\", \"lineHeight\", \"opacity\", \"zIndex\", \"zoom\"];\r\nvar normalizeStyleProp = function(prop, value) {\r\n if ((0, _type.isNumeric)(value) && pxExceptions.indexOf(prop) === -1) {\r\n value += \"px\"\r\n }\r\n return value\r\n};\r\nexports.normalizeStyleProp = normalizeStyleProp;\r\nvar setDimensionProperty = function(elements, propertyName, value) {\r\n if (elements) {\r\n value = (0, _type.isNumeric)(value) ? value += \"px\" : value;\r\n for (var i = 0; i < elements.length; ++i) {\r\n elements[i].style[propertyName] = value\r\n }\r\n }\r\n};\r\nvar setWidth = function(elements, value) {\r\n setDimensionProperty(elements, \"width\", value)\r\n};\r\nexports.setWidth = setWidth;\r\nvar setHeight = function(elements, value) {\r\n setDimensionProperty(elements, \"height\", value)\r\n};\r\nexports.setHeight = setHeight;\r\n","/*!\n * devextreme-vue\n * Version: 20.2.6\n * Build date: Tue Mar 16 2021\n *\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-vue\n */\n\n\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction pullAllChildren(directChildren, allChildren, config) {\n if (!directChildren || directChildren.length === 0) {\n return;\n }\n pullConfigComponents(directChildren, allChildren, config);\n}\nexports.pullAllChildren = pullAllChildren;\nfunction pullConfigComponents(children, nodes, ownerConfig) {\n children.forEach(function (node) {\n nodes.push(node);\n if (!node.componentOptions) {\n return;\n }\n var configComponent = node.componentOptions.Ctor;\n if (!configComponent.$_optionName) {\n return;\n }\n var initialValues = __assign(__assign({}, configComponent.$_predefinedProps), node.componentOptions.propsData);\n var config = ownerConfig.createNested(configComponent.$_optionName, initialValues, configComponent.$_isCollectionItem, configComponent.$_expectedChildren);\n node.componentOptions.$_config = config;\n node.componentOptions.$_innerChanges = {};\n if (node.componentOptions.children) {\n pullConfigComponents(node.componentOptions.children, nodes, config);\n }\n });\n}\n","/*!\n * devextreme-vue\n * Version: 20.2.6\n * Build date: Tue Mar 16 2021\n *\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-vue\n */\n\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction uppercaseFirst(value) {\n return value[0].toUpperCase() + value.substr(1);\n}\nexports.uppercaseFirst = uppercaseFirst;\nfunction lowercaseFirst(value) {\n return value[0].toLowerCase() + value.substr(1);\n}\nexports.lowercaseFirst = lowercaseFirst;\nfunction camelize(value) {\n return lowercaseFirst(value.split(\"-\").map(function (v) { return uppercaseFirst(v); }).join(\"\"));\n}\nexports.camelize = camelize;\nfunction toComparable(value) {\n return value instanceof Date ? value.getTime() : value;\n}\nexports.toComparable = toComparable;\nfunction isEqual(value1, value2) {\n if (toComparable(value1) === toComparable(value2)) {\n return true;\n }\n if (Array.isArray(value1) && Array.isArray(value2)) {\n return value1.length === 0 && value2.length === 0;\n }\n return false;\n}\nexports.isEqual = isEqual;\nfunction forEachChildNode(el, callback) {\n Array.prototype.slice.call(el.childNodes).forEach(callback);\n}\nexports.forEachChildNode = forEachChildNode;\nfunction allKeysAreEqual(obj1, obj2) {\n var obj1Keys = Object.keys(obj1);\n if (obj1Keys.length !== Object.keys(obj2).length) {\n return false;\n }\n for (var _i = 0, obj1Keys_1 = obj1Keys; _i < obj1Keys_1.length; _i++) {\n var key = obj1Keys_1[_i];\n if (!obj2.hasOwnProperty(key)) {\n return false;\n }\n }\n return true;\n}\nexports.allKeysAreEqual = allKeysAreEqual;\nfunction getOptionValue(options, optionPath) {\n var value = options;\n optionPath.split(\".\").forEach(function (p) {\n var optionInfo = getOptionInfo(p);\n value = optionInfo.isCollection ?\n value[optionInfo.name] && value[optionInfo.name][optionInfo.index] :\n value[optionInfo.name];\n });\n return value;\n}\nexports.getOptionValue = getOptionValue;\nfunction getOptionInfo(name) {\n var parts = name.split(\"[\");\n if (parts.length === 1) {\n return {\n isCollection: false,\n name: name,\n fullName: name\n };\n }\n return {\n isCollection: true,\n name: parts[0],\n fullName: name,\n index: Number(parts[1].slice(0, -1))\n };\n}\nexports.getOptionInfo = getOptionInfo;\n","/*!\n * devextreme-vue\n * Version: 20.2.6\n * Build date: Tue Mar 16 2021\n *\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-vue\n */\n\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DX_REMOVE_EVENT = exports.DX_TEMPLATE_WRAPPER_CLASS = void 0;\nvar DX_TEMPLATE_WRAPPER_CLASS = \"dx-template-wrapper\";\nexports.DX_TEMPLATE_WRAPPER_CLASS = DX_TEMPLATE_WRAPPER_CLASS;\nvar DX_REMOVE_EVENT = \"dxremove\";\nexports.DX_REMOVE_EVENT = DX_REMOVE_EVENT;\n","/**\r\n * DevExtreme (core/options/option_manager.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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.OptionManager = void 0;\r\nvar _data = require(\"../utils/data\");\r\nvar _common = require(\"../utils/common\");\r\nvar _comparator = require(\"../utils/comparator\");\r\nvar _extend = require(\"../utils/extend\");\r\nvar _type = require(\"../utils/type\");\r\nvar _utils = require(\"./utils\");\r\nvar cachedGetters = {};\r\nvar cachedSetters = {};\r\nvar OptionManager = function() {\r\n function OptionManager(options, optionsByReference) {\r\n this._options = options;\r\n this._optionsByReference = optionsByReference;\r\n this._changingCallback;\r\n this._changedCallback;\r\n this._namePreparedCallbacks\r\n }\r\n var _proto = OptionManager.prototype;\r\n _proto._setByReference = function(options, rulesOptions) {\r\n (0, _extend.extend)(true, options, rulesOptions);\r\n for (var fieldName in this._optionsByReference) {\r\n if (Object.prototype.hasOwnProperty.call(rulesOptions, fieldName)) {\r\n options[fieldName] = rulesOptions[fieldName]\r\n }\r\n }\r\n };\r\n _proto._setPreparedValue = function(name, value, merge, silent) {\r\n var previousValue = this.get(this._options, name, false);\r\n if (!(0, _comparator.equals)(previousValue, value)) {\r\n var path = name.split(/[.[]/);\r\n !silent && this._changingCallback(name, previousValue, value);\r\n cachedSetters[name] = cachedSetters[name] || (0, _data.compileSetter)(name);\r\n cachedSetters[name](this._options, value, {\r\n functionsAsIs: true,\r\n merge: (0, _type.isDefined)(merge) ? merge : !this._optionsByReference[name],\r\n unwrapObservables: path.length > 1 && !!this._optionsByReference[path[0]]\r\n });\r\n !silent && this._changedCallback(name, value, previousValue)\r\n }\r\n };\r\n _proto._prepareRelevantNames = function(options, name, value, silent) {\r\n if ((0, _type.isPlainObject)(value)) {\r\n for (var valueName in value) {\r\n this._prepareRelevantNames(options, \"\".concat(name, \".\").concat(valueName), value[valueName])\r\n }\r\n }\r\n this._namePreparedCallbacks(options, name, value, silent)\r\n };\r\n _proto.get = function() {\r\n var options = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : this._options;\r\n var name = arguments.length > 1 ? arguments[1] : void 0;\r\n var unwrapObservables = arguments.length > 2 ? arguments[2] : void 0;\r\n cachedGetters[name] = cachedGetters[name] || (0, _data.compileGetter)(name);\r\n return cachedGetters[name](options, {\r\n functionsAsIs: true,\r\n unwrapObservables: unwrapObservables\r\n })\r\n };\r\n _proto.set = function(options, value, merge, silent) {\r\n options = (0, _utils.normalizeOptions)(options, value);\r\n for (var name in options) {\r\n this._prepareRelevantNames(options, name, options[name], silent)\r\n }\r\n for (var _name in options) {\r\n this._setPreparedValue(_name, options[_name], merge, silent)\r\n }\r\n };\r\n _proto.onRelevantNamesPrepared = function(callBack) {\r\n this._namePreparedCallbacks = callBack\r\n };\r\n _proto.onChanging = function(callBack) {\r\n this._changingCallback = callBack\r\n };\r\n _proto.onChanged = function(callBack) {\r\n this._changedCallback = callBack\r\n };\r\n _proto.dispose = function() {\r\n this._changingCallback = _common.noop;\r\n this._changedCallback = _common.noop\r\n };\r\n return OptionManager\r\n}();\r\nexports.OptionManager = OptionManager;\r\n","/**\r\n * DevExtreme (core/templates/template.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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.Template = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../renderer\"));\r\nvar _template_base = require(\"./template_base\");\r\nvar _dom = require(\"../utils/dom\");\r\nvar _template_engine_registry = require(\"./template_engine_registry\");\r\nrequire(\"./template_engines\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\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}(0, _template_engine_registry.registerTemplateEngine)(\"default\", {\r\n compile: function(element) {\r\n return (0, _dom.normalizeTemplateElement)(element)\r\n },\r\n render: function(template, model, index) {\r\n return template.clone()\r\n }\r\n});\r\n(0, _template_engine_registry.setTemplateEngine)(\"default\");\r\nvar Template = function(_TemplateBase) {\r\n _inheritsLoose(Template, _TemplateBase);\r\n\r\n function Template(element) {\r\n var _this;\r\n _this = _TemplateBase.call(this) || this;\r\n _this._element = element;\r\n return _this\r\n }\r\n var _proto = Template.prototype;\r\n _proto._renderCore = function(options) {\r\n var transclude = options.transclude;\r\n if (!transclude && !this._compiledTemplate) {\r\n this._compiledTemplate = (0, _template_engine_registry.getCurrentTemplateEngine)().compile(this._element)\r\n }\r\n return (0, _renderer.default)(\"
\").append(transclude ? this._element : (0, _template_engine_registry.getCurrentTemplateEngine)().render(this._compiledTemplate, options.model, options.index)).contents()\r\n };\r\n _proto.source = function() {\r\n return (0, _renderer.default)(this._element).clone()\r\n };\r\n return Template\r\n}(_template_base.TemplateBase);\r\nexports.Template = Template;\r\n","/**\r\n * DevExtreme (events/hover.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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.end = exports.start = 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 (core/template_manager.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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.TemplateManager = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"./renderer\"));\r\nvar _type = require(\"./utils/type\");\r\nvar _common = require(\"./utils/common\");\r\nvar _extend = require(\"./utils/extend\");\r\nvar _function_template = require(\"./templates/function_template\");\r\nvar _empty_template = require(\"./templates/empty_template\");\r\nvar _template_manager = require(\"./utils/template_manager\");\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 _defineProperties(target, props) {\r\n for (var i = 0; i < props.length; i++) {\r\n var descriptor = props[i];\r\n descriptor.enumerable = descriptor.enumerable || false;\r\n descriptor.configurable = true;\r\n if (\"value\" in descriptor) {\r\n descriptor.writable = true\r\n }\r\n Object.defineProperty(target, descriptor.key, descriptor)\r\n }\r\n}\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) {\r\n if (protoProps) {\r\n _defineProperties(Constructor.prototype, protoProps)\r\n }\r\n if (staticProps) {\r\n _defineProperties(Constructor, staticProps)\r\n }\r\n return Constructor\r\n}\r\nvar TEXT_NODE = 3;\r\nvar ANONYMOUS_TEMPLATE_NAME = \"template\";\r\nvar TEMPLATE_OPTIONS_NAME = \"dxTemplate\";\r\nvar TEMPLATE_WRAPPER_CLASS = \"dx-template-wrapper\";\r\nvar DX_POLYMORPH_WIDGET_TEMPLATE = new _function_template.FunctionTemplate(function(_ref) {\r\n var model = _ref.model,\r\n parent = _ref.parent;\r\n var widgetName = model.widget;\r\n if (!widgetName) {\r\n return (0, _renderer.default)()\r\n }\r\n var widgetElement = (0, _renderer.default)(\"
\");\r\n var widgetOptions = model.options || {};\r\n if (parent) {\r\n parent._createComponent(widgetElement, widgetName, widgetOptions)\r\n } else {\r\n widgetElement[widgetName](widgetOptions)\r\n }\r\n return widgetElement\r\n});\r\nvar TemplateManager = function() {\r\n function TemplateManager(createElement, anonymousTemplateName) {\r\n this._tempTemplates = [];\r\n this._defaultTemplates = {};\r\n this._anonymousTemplateName = anonymousTemplateName || ANONYMOUS_TEMPLATE_NAME;\r\n this._createElement = createElement || _template_manager.defaultCreateElement;\r\n this._createTemplateIfNeeded = this._createTemplateIfNeeded.bind(this)\r\n }\r\n TemplateManager.createDefaultOptions = function() {\r\n return {\r\n integrationOptions: {\r\n watchMethod: function(fn, callback) {\r\n var options = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};\r\n if (!options.skipImmediate) {\r\n callback(fn())\r\n }\r\n return _common.noop\r\n },\r\n templates: {\r\n \"dx-polymorph-widget\": DX_POLYMORPH_WIDGET_TEMPLATE\r\n },\r\n useDeferUpdateForTemplates: true\r\n }\r\n }\r\n };\r\n var _proto = TemplateManager.prototype;\r\n _proto.addDefaultTemplates = function(templates) {\r\n this._defaultTemplates = (0, _extend.extend)({}, this._defaultTemplates, templates)\r\n };\r\n _proto.dispose = function() {\r\n this._tempTemplates.forEach(function(tempTemplate) {\r\n tempTemplate.template.dispose && tempTemplate.template.dispose()\r\n });\r\n this._tempTemplates = []\r\n };\r\n _proto.extractTemplates = function($el) {\r\n var templates = this._extractTemplates($el);\r\n var anonymousTemplateMeta = this._extractAnonymousTemplate($el);\r\n return {\r\n templates: templates,\r\n anonymousTemplateMeta: anonymousTemplateMeta\r\n }\r\n };\r\n _proto._extractTemplates = function($el) {\r\n var _this = this;\r\n var templates = (0, _template_manager.findTemplates)($el, TEMPLATE_OPTIONS_NAME);\r\n var suitableTemplates = (0, _template_manager.suitableTemplatesByName)(templates);\r\n templates.forEach(function(_ref2) {\r\n var element = _ref2.element,\r\n name = _ref2.options.name;\r\n if (element === suitableTemplates[name]) {\r\n (0, _renderer.default)(element).addClass(TEMPLATE_WRAPPER_CLASS).detach()\r\n } else {\r\n (0, _renderer.default)(element).remove()\r\n }\r\n });\r\n return Object.keys(suitableTemplates).map(function(name) {\r\n return {\r\n name: name,\r\n template: _this._createTemplate(suitableTemplates[name])\r\n }\r\n })\r\n };\r\n _proto._extractAnonymousTemplate = function($el) {\r\n var $anonymousTemplate = $el.contents().detach();\r\n var $notJunkTemplateContent = $anonymousTemplate.filter(function(_, element) {\r\n var isTextNode = element.nodeType === TEXT_NODE;\r\n var isEmptyText = (0, _renderer.default)(element).text().trim().length < 1;\r\n return !(isTextNode && isEmptyText)\r\n });\r\n return $notJunkTemplateContent.length > 0 ? {\r\n template: this._createTemplate($anonymousTemplate),\r\n name: this._anonymousTemplateName\r\n } : {}\r\n };\r\n _proto._createTemplateIfNeeded = function(templateSource) {\r\n var cachedTemplate = this._tempTemplates.filter(function(tempTemplate) {\r\n return tempTemplate.source === (0, _template_manager.templateKey)(templateSource)\r\n })[0];\r\n if (cachedTemplate) {\r\n return cachedTemplate.template\r\n }\r\n var template = this._createTemplate(templateSource);\r\n this._tempTemplates.push({\r\n template: template,\r\n source: (0, _template_manager.templateKey)(templateSource)\r\n });\r\n return template\r\n };\r\n _proto._createTemplate = function(templateSource) {\r\n return this._createElement((0, _template_manager.validateTemplateSource)(templateSource))\r\n };\r\n _proto.getTemplate = function(templateSource, templates, _ref3, context) {\r\n var _this2 = this;\r\n var isAsyncTemplate = _ref3.isAsyncTemplate,\r\n skipTemplates = _ref3.skipTemplates;\r\n if (!(0, _type.isFunction)(templateSource)) {\r\n return (0, _template_manager.acquireTemplate)(templateSource, this._createTemplateIfNeeded, templates, isAsyncTemplate, skipTemplates, this._defaultTemplates)\r\n }\r\n return new _function_template.FunctionTemplate(function(options) {\r\n var templateSourceResult = templateSource.apply(context, (0, _template_manager.getNormalizedTemplateArgs)(options));\r\n if (!(0, _type.isDefined)(templateSourceResult)) {\r\n return new _empty_template.EmptyTemplate\r\n }\r\n var dispose = false;\r\n var template = (0, _template_manager.acquireTemplate)(templateSourceResult, function(templateSource) {\r\n if (templateSource.nodeType || (0, _type.isRenderer)(templateSource) && !(0, _renderer.default)(templateSource).is(\"script\")) {\r\n return new _function_template.FunctionTemplate(function() {\r\n return templateSource\r\n })\r\n }\r\n dispose = true;\r\n return _this2._createTemplate(templateSource)\r\n }, templates, isAsyncTemplate, skipTemplates, _this2._defaultTemplates);\r\n var result = template.render(options);\r\n dispose && template.dispose && template.dispose();\r\n return result\r\n })\r\n };\r\n _createClass(TemplateManager, [{\r\n key: \"anonymousTemplateName\",\r\n get: function() {\r\n return this._anonymousTemplateName\r\n }\r\n }]);\r\n return TemplateManager\r\n}();\r\nexports.TemplateManager = TemplateManager;\r\n","/**\r\n * DevExtreme (events/index.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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.Event = exports.triggerHandler = exports.trigger = exports.off = exports.one = exports.on = 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/utils/event_nodes_disposing.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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 (localization/cldr-data/parent_locales.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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 _default = {\r\n \"en-150\": \"en-001\",\r\n \"en-AG\": \"en-001\",\r\n \"en-AI\": \"en-001\",\r\n \"en-AU\": \"en-001\",\r\n \"en-BB\": \"en-001\",\r\n \"en-BM\": \"en-001\",\r\n \"en-BS\": \"en-001\",\r\n \"en-BW\": \"en-001\",\r\n \"en-BZ\": \"en-001\",\r\n \"en-CA\": \"en-001\",\r\n \"en-CC\": \"en-001\",\r\n \"en-CK\": \"en-001\",\r\n \"en-CM\": \"en-001\",\r\n \"en-CX\": \"en-001\",\r\n \"en-CY\": \"en-001\",\r\n \"en-DG\": \"en-001\",\r\n \"en-DM\": \"en-001\",\r\n \"en-ER\": \"en-001\",\r\n \"en-FJ\": \"en-001\",\r\n \"en-FK\": \"en-001\",\r\n \"en-FM\": \"en-001\",\r\n \"en-GB\": \"en-001\",\r\n \"en-GD\": \"en-001\",\r\n \"en-GG\": \"en-001\",\r\n \"en-GH\": \"en-001\",\r\n \"en-GI\": \"en-001\",\r\n \"en-GM\": \"en-001\",\r\n \"en-GY\": \"en-001\",\r\n \"en-HK\": \"en-001\",\r\n \"en-IE\": \"en-001\",\r\n \"en-IL\": \"en-001\",\r\n \"en-IM\": \"en-001\",\r\n \"en-IN\": \"en-001\",\r\n \"en-IO\": \"en-001\",\r\n \"en-JE\": \"en-001\",\r\n \"en-JM\": \"en-001\",\r\n \"en-KE\": \"en-001\",\r\n \"en-KI\": \"en-001\",\r\n \"en-KN\": \"en-001\",\r\n \"en-KY\": \"en-001\",\r\n \"en-LC\": \"en-001\",\r\n \"en-LR\": \"en-001\",\r\n \"en-LS\": \"en-001\",\r\n \"en-MG\": \"en-001\",\r\n \"en-MO\": \"en-001\",\r\n \"en-MS\": \"en-001\",\r\n \"en-MT\": \"en-001\",\r\n \"en-MU\": \"en-001\",\r\n \"en-MW\": \"en-001\",\r\n \"en-MY\": \"en-001\",\r\n \"en-NA\": \"en-001\",\r\n \"en-NF\": \"en-001\",\r\n \"en-NG\": \"en-001\",\r\n \"en-NR\": \"en-001\",\r\n \"en-NU\": \"en-001\",\r\n \"en-NZ\": \"en-001\",\r\n \"en-PG\": \"en-001\",\r\n \"en-PH\": \"en-001\",\r\n \"en-PK\": \"en-001\",\r\n \"en-PN\": \"en-001\",\r\n \"en-PW\": \"en-001\",\r\n \"en-RW\": \"en-001\",\r\n \"en-SB\": \"en-001\",\r\n \"en-SC\": \"en-001\",\r\n \"en-SD\": \"en-001\",\r\n \"en-SG\": \"en-001\",\r\n \"en-SH\": \"en-001\",\r\n \"en-SL\": \"en-001\",\r\n \"en-SS\": \"en-001\",\r\n \"en-SX\": \"en-001\",\r\n \"en-SZ\": \"en-001\",\r\n \"en-TC\": \"en-001\",\r\n \"en-TK\": \"en-001\",\r\n \"en-TO\": \"en-001\",\r\n \"en-TT\": \"en-001\",\r\n \"en-TV\": \"en-001\",\r\n \"en-TZ\": \"en-001\",\r\n \"en-UG\": \"en-001\",\r\n \"en-VC\": \"en-001\",\r\n \"en-VG\": \"en-001\",\r\n \"en-VU\": \"en-001\",\r\n \"en-WS\": \"en-001\",\r\n \"en-ZA\": \"en-001\",\r\n \"en-ZM\": \"en-001\",\r\n \"en-ZW\": \"en-001\",\r\n \"en-AT\": \"en-150\",\r\n \"en-BE\": \"en-150\",\r\n \"en-CH\": \"en-150\",\r\n \"en-DE\": \"en-150\",\r\n \"en-DK\": \"en-150\",\r\n \"en-FI\": \"en-150\",\r\n \"en-NL\": \"en-150\",\r\n \"en-SE\": \"en-150\",\r\n \"en-SI\": \"en-150\",\r\n \"es-AR\": \"es-419\",\r\n \"es-BO\": \"es-419\",\r\n \"es-BR\": \"es-419\",\r\n \"es-BZ\": \"es-419\",\r\n \"es-CL\": \"es-419\",\r\n \"es-CO\": \"es-419\",\r\n \"es-CR\": \"es-419\",\r\n \"es-CU\": \"es-419\",\r\n \"es-DO\": \"es-419\",\r\n \"es-EC\": \"es-419\",\r\n \"es-GT\": \"es-419\",\r\n \"es-HN\": \"es-419\",\r\n \"es-MX\": \"es-419\",\r\n \"es-NI\": \"es-419\",\r\n \"es-PA\": \"es-419\",\r\n \"es-PE\": \"es-419\",\r\n \"es-PR\": \"es-419\",\r\n \"es-PY\": \"es-419\",\r\n \"es-SV\": \"es-419\",\r\n \"es-US\": \"es-419\",\r\n \"es-UY\": \"es-419\",\r\n \"es-VE\": \"es-419\",\r\n \"pt-AO\": \"pt-PT\",\r\n \"pt-CH\": \"pt-PT\",\r\n \"pt-CV\": \"pt-PT\",\r\n \"pt-FR\": \"pt-PT\",\r\n \"pt-GQ\": \"pt-PT\",\r\n \"pt-GW\": \"pt-PT\",\r\n \"pt-LU\": \"pt-PT\",\r\n \"pt-MO\": \"pt-PT\",\r\n \"pt-MZ\": \"pt-PT\",\r\n \"pt-ST\": \"pt-PT\",\r\n \"pt-TL\": \"pt-PT\",\r\n \"az-Arab\": \"root\",\r\n \"az-Cyrl\": \"root\",\r\n \"blt-Latn\": \"root\",\r\n \"bm-Nkoo\": \"root\",\r\n \"bs-Cyrl\": \"root\",\r\n \"byn-Latn\": \"root\",\r\n \"cu-Glag\": \"root\",\r\n \"dje-Arab\": \"root\",\r\n \"dyo-Arab\": \"root\",\r\n \"en-Dsrt\": \"root\",\r\n \"en-Shaw\": \"root\",\r\n \"ff-Adlm\": \"root\",\r\n \"ff-Arab\": \"root\",\r\n \"ha-Arab\": \"root\",\r\n \"hi-Latn\": \"root\",\r\n \"iu-Latn\": \"root\",\r\n \"kk-Arab\": \"root\",\r\n \"ks-Deva\": \"root\",\r\n \"ku-Arab\": \"root\",\r\n \"ky-Arab\": \"root\",\r\n \"ky-Latn\": \"root\",\r\n \"ml-Arab\": \"root\",\r\n \"mn-Mong\": \"root\",\r\n \"mni-Mtei\": \"root\",\r\n \"ms-Arab\": \"root\",\r\n \"pa-Arab\": \"root\",\r\n \"sat-Deva\": \"root\",\r\n \"sd-Deva\": \"root\",\r\n \"sd-Khoj\": \"root\",\r\n \"sd-Sind\": \"root\",\r\n \"shi-Latn\": \"root\",\r\n \"so-Arab\": \"root\",\r\n \"sr-Latn\": \"root\",\r\n \"sw-Arab\": \"root\",\r\n \"tg-Arab\": \"root\",\r\n \"ug-Cyrl\": \"root\",\r\n \"uz-Arab\": \"root\",\r\n \"uz-Cyrl\": \"root\",\r\n \"vai-Latn\": \"root\",\r\n \"wo-Arab\": \"root\",\r\n \"yo-Arab\": \"root\",\r\n \"yue-Hans\": \"root\",\r\n \"zh-Hant\": \"root\",\r\n \"zh-Hant-MO\": \"zh-Hant-HK\"\r\n};\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (ui/overlay/z_index.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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.clearStack = exports.remove = exports.create = exports.base = void 0;\r\nvar _common = require(\"../../core/utils/common\");\r\nvar baseZIndex = 1500;\r\nvar zIndexStack = [];\r\nvar base = function(ZIndex) {\r\n baseZIndex = (0, _common.ensureDefined)(ZIndex, baseZIndex);\r\n return baseZIndex\r\n};\r\nexports.base = base;\r\nvar create = function() {\r\n var baseIndex = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : baseZIndex;\r\n var length = zIndexStack.length;\r\n var index = (length ? zIndexStack[length - 1] : baseIndex) + 1;\r\n zIndexStack.push(index);\r\n return index\r\n};\r\nexports.create = create;\r\nvar remove = function(zIndex) {\r\n var position = zIndexStack.indexOf(zIndex);\r\n if (position >= 0) {\r\n zIndexStack.splice(position, 1)\r\n }\r\n};\r\nexports.remove = remove;\r\nvar clearStack = function() {\r\n zIndexStack = []\r\n};\r\nexports.clearStack = clearStack;\r\n","/*!\n * devextreme-vue\n * Version: 20.2.6\n * Build date: Tue Mar 16 2021\n *\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-vue\n */\n\n\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar VueType = require(\"vue\");\nvar events = require(\"devextreme/events\");\nvar children_processing_1 = require(\"./children-processing\");\nvar configuration_1 = require(\"./configuration\");\nvar configuration_component_1 = require(\"./configuration-component\");\nvar constants_1 = require(\"./constants\");\nvar helpers_1 = require(\"./helpers\");\nvar templates_manager_1 = require(\"./templates-manager\");\nvar Vue = VueType.default || VueType;\nvar BaseComponent = function () { return Vue.extend({\n inheritAttrs: false,\n data: function () {\n return {\n eventBus: new Vue()\n };\n },\n provide: function () {\n return {\n eventBus: this.eventBus\n };\n },\n render: function (createElement) {\n var children = [];\n if (this.$_config.cleanNested) {\n this.$_config.cleanNested();\n }\n children_processing_1.pullAllChildren(this.$slots.default, children, this.$_config);\n this.$_processChildren(children);\n return createElement(\"div\", {\n attrs: { id: this.$attrs.id }\n }, children);\n },\n beforeUpdate: function () {\n this.$_config.setPrevNestedOptions(this.$_config.getNestedOptionValues());\n },\n updated: function () {\n this.$children.forEach(function (child) { return configuration_component_1.initOptionChangedFunc(configuration_component_1.getConfig(child), child, configuration_component_1.getInnerChanges(child)); });\n this.$_templatesManager.discover();\n this.$_instance.beginUpdate();\n if (this.$_templatesManager.isDirty) {\n this.$_instance.option(\"integrationOptions.templates\", this.$_templatesManager.templates);\n for (var _i = 0, _a = Object.keys(this.$_templatesManager.templates); _i < _a.length; _i++) {\n var name_1 = _a[_i];\n this.$_instance.option(name_1, name_1);\n }\n this.$_templatesManager.resetDirtyFlag();\n }\n for (var _b = 0, _c = Object.keys(this.$_pendingOptions); _b < _c.length; _b++) {\n var name_2 = _c[_b];\n this.$_instance.option(name_2, this.$_pendingOptions[name_2]);\n }\n this.$_pendingOptions = {};\n this.$_applyConfigurationChanges();\n this.$_instance.endUpdate();\n this.eventBus.$emit(\"updated\");\n },\n beforeDestroy: function () {\n var instance = this.$_instance;\n if (instance) {\n events.triggerHandler(this.$el, constants_1.DX_REMOVE_EVENT);\n instance.dispose();\n }\n },\n created: function () {\n var _this = this;\n this.$_config = new configuration_1.default(function (n, v) { return _this.$_pendingOptions[n] = v; }, null, this.$options.propsData && __assign({}, this.$options.propsData), this.$_expectedChildren);\n this.$_innerChanges = {};\n this.$_config.init(this.$props && Object.keys(this.$props));\n },\n methods: {\n $_applyConfigurationChanges: function () {\n var _this = this;\n this.$_config.componentsCountChanged.forEach(function (_a) {\n var optionPath = _a.optionPath, isCollection = _a.isCollection, removed = _a.removed;\n var options = _this.$_config.getNestedOptionValues();\n if (!isCollection && removed) {\n _this.$_instance.resetOption(optionPath);\n }\n else {\n _this.$_instance.option(optionPath, helpers_1.getOptionValue(options, optionPath));\n }\n });\n this.$_config.cleanComponentsCountChanged();\n },\n $_createWidget: function (element) {\n var thisComponent = this;\n thisComponent.$_pendingOptions = {};\n thisComponent.$_templatesManager = new templates_manager_1.TemplatesManager(this);\n var config = this.$_config;\n var options = __assign(__assign(__assign(__assign({}, this.$options.propsData), config.initialValues), config.getNestedOptionValues()), this.$_getIntegrationOptions());\n var instance = new this.$_WidgetClass(element, options);\n thisComponent.$_instance = instance;\n instance.on(\"optionChanged\", function (args) { return config.onOptionChanged(args); });\n configuration_1.setEmitOptionChangedFunc(config, this, this.$_innerChanges);\n configuration_1.bindOptionWatchers(config, this, this.$_innerChanges);\n this.$_createEmitters(instance);\n },\n $_getIntegrationOptions: function () {\n var result = __assign({ integrationOptions: {\n watchMethod: this.$_getWatchMethod(),\n } }, this.$_getExtraIntegrationOptions());\n if (this.$_templatesManager.isDirty) {\n var templates = this.$_templatesManager.templates;\n result.integrationOptions.templates = templates;\n for (var _i = 0, _a = Object.keys(templates); _i < _a.length; _i++) {\n var name_3 = _a[_i];\n result[name_3] = name_3;\n }\n this.$_templatesManager.resetDirtyFlag();\n }\n return result;\n },\n $_getWatchMethod: function () {\n var _this = this;\n return function (valueGetter, valueChangeCallback, options) {\n options = options || {};\n if (!options.skipImmediate) {\n valueChangeCallback(valueGetter());\n }\n return _this.$watch(function () {\n return valueGetter();\n }, function (newValue, oldValue) {\n if (helpers_1.toComparable(oldValue) !== helpers_1.toComparable(newValue) || options.deep) {\n valueChangeCallback(newValue);\n }\n }, {\n deep: options.deep\n });\n };\n },\n $_getExtraIntegrationOptions: function () {\n return {};\n },\n $_processChildren: function (_children) {\n return;\n },\n $_createEmitters: function (instance) {\n var _this = this;\n Object.keys(this.$listeners).forEach(function (listenerName) {\n var eventName = helpers_1.camelize(listenerName);\n instance.on(eventName, function (e) {\n _this.$emit(listenerName, e);\n });\n });\n }\n }\n}); };\nexports.BaseComponent = BaseComponent;\nfunction cleanWidgetNode(node) {\n var removedNodes = [];\n helpers_1.forEachChildNode(node, function (childNode) {\n var parent = childNode.parentNode;\n var isExtension = childNode.hasAttribute && childNode.hasAttribute(\"isExtension\");\n if ((childNode.nodeName === \"#comment\" || isExtension) && parent) {\n removedNodes.push(childNode);\n parent.removeChild(childNode);\n }\n });\n return removedNodes;\n}\nfunction restoreNodes(el, nodes) {\n nodes.forEach(function (node) {\n el.appendChild(node);\n });\n}\nvar DxComponent = function () { return BaseComponent().extend({\n methods: {\n $_getExtraIntegrationOptions: function () {\n return {\n onInitializing: function () {\n this.beginUpdate();\n }\n };\n },\n $_processChildren: function (children) {\n children.forEach(function (childNode) {\n if (!childNode.componentOptions) {\n return;\n }\n childNode.componentOptions.$_hasOwner = true;\n });\n },\n },\n mounted: function () {\n var _this = this;\n var nodes = cleanWidgetNode(this.$el);\n this.$_createWidget(this.$el);\n this.$_instance.endUpdate();\n restoreNodes(this.$el, nodes);\n if (this.$slots && this.$slots.default) {\n this.$slots.default.forEach(function (child) {\n var childExtension = child.componentInstance;\n if (childExtension && childExtension.$_isExtension) {\n childExtension.attachTo(_this.$el);\n }\n });\n }\n }\n}); };\nexports.DxComponent = DxComponent;\n","var DESCRIPTORS = require('../internals/descriptors');\nvar defineProperty = require('../internals/object-define-property').f;\n\nvar FunctionPrototype = Function.prototype;\nvar FunctionPrototypeToString = FunctionPrototype.toString;\nvar nameRE = /^\\s*function ([^ (]*)/;\nvar NAME = 'name';\n\n// Function instances `.name` property\n// https://tc39.es/ecma262/#sec-function-instances-name\nif (DESCRIPTORS && !(NAME in FunctionPrototype)) {\n defineProperty(FunctionPrototype, NAME, {\n configurable: true,\n get: function () {\n try {\n return FunctionPrototypeToString.call(this).match(nameRE)[1];\n } catch (error) {\n return '';\n }\n }\n });\n}\n","/**\r\n * DevExtreme (core/utils/comparator.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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.equals = void 0;\r\nvar _dom_adapter = _interopRequireDefault(require(\"../dom_adapter\"));\r\nvar _data = require(\"./data\");\r\nvar _type = require(\"./type\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\n\r\nfunction _typeof(obj) {\r\n \"@babel/helpers - typeof\";\r\n if (\"function\" === typeof Symbol && \"symbol\" === typeof Symbol.iterator) {\r\n _typeof = function(obj) {\r\n return typeof obj\r\n }\r\n } else {\r\n _typeof = function(obj) {\r\n return obj && \"function\" === typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }\r\n }\r\n return _typeof(obj)\r\n}\r\nvar hasNegation = function(oldValue, newValue) {\r\n return 1 / oldValue === 1 / newValue\r\n};\r\nvar equals = function(oldValue, newValue) {\r\n oldValue = (0, _data.toComparable)(oldValue, true);\r\n newValue = (0, _data.toComparable)(newValue, true);\r\n if (oldValue && newValue && (0, _type.isRenderer)(oldValue) && (0, _type.isRenderer)(newValue)) {\r\n return newValue.is(oldValue)\r\n }\r\n var oldValueIsNaN = oldValue !== oldValue;\r\n var newValueIsNaN = newValue !== newValue;\r\n if (oldValueIsNaN && newValueIsNaN) {\r\n return true\r\n }\r\n if (0 === oldValue && 0 === newValue) {\r\n return hasNegation(oldValue, newValue)\r\n }\r\n if (null === oldValue || \"object\" !== _typeof(oldValue) || _dom_adapter.default.isElementNode(oldValue)) {\r\n return oldValue === newValue\r\n }\r\n return false\r\n};\r\nexports.equals = equals;\r\n","/*!\n * devextreme-vue\n * Version: 20.2.6\n * Build date: Tue Mar 16 2021\n *\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-vue\n */\n\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.discover = exports.mountTemplate = void 0;\nvar vue_helper_1 = require(\"./vue-helper\");\nvar vue_1 = require(\"vue\");\nvar TEMPLATE_PROP = \"template\";\nfunction asConfigurable(component) {\n var componentOptions = component;\n if (!componentOptions) {\n return;\n }\n if (!componentOptions.$_config || !componentOptions.$_config.name) {\n return undefined;\n }\n return componentOptions;\n}\nfunction hasTemplate(component) {\n return TEMPLATE_PROP in component.type.props && vue_helper_1.configurationTemplate(component);\n}\nfunction discover(component) {\n var templates = {};\n var namedTeplates = vue_helper_1.declaredTemplates(component);\n for (var slotName in namedTeplates) {\n if (slotName === \"default\" && component.$slots.default) {\n continue;\n }\n var slot = namedTeplates[slotName];\n if (!slot) {\n continue;\n }\n templates[slotName] = slot;\n }\n var componentChildren = vue_helper_1.getChildren(component);\n for (var _i = 0, componentChildren_1 = componentChildren; _i < componentChildren_1.length; _i++) {\n var childComponent = componentChildren_1[_i];\n var configurable = asConfigurable(childComponent);\n if (!configurable) {\n continue;\n }\n var defaultSlot = vue_helper_1.configurationDefaultTemplate(childComponent);\n if (!defaultSlot || !hasTemplate(childComponent)) {\n continue;\n }\n var templateName = configurable.$_config.fullPath + \".\" + TEMPLATE_PROP;\n templates[templateName] = defaultSlot;\n }\n return templates;\n}\nexports.discover = discover;\nfunction clearConfiguration(content) {\n var newContent = [];\n content.forEach(function (item) {\n var configurable = vue_helper_1.getConfigurationOptions(item);\n if (!configurable || !configurable.$_optionName) {\n newContent.push(item);\n }\n });\n return newContent;\n}\nfunction mountTemplate(getSlot, parent, data, name, placeholder) {\n return vue_helper_1.mount({\n name: name,\n inject: [\"eventBus\"],\n created: function () {\n this.eventBus.add(this.$_updatedHandler);\n },\n mounted: function () {\n data.onRendered();\n },\n unmounted: function () {\n this.eventBus.remove(this.$_updatedHandler);\n },\n methods: {\n $_updatedHandler: function () {\n this.$forceUpdate();\n }\n },\n render: function () {\n var content = clearConfiguration(getSlot()(data));\n if (!content) {\n return vue_1.h(\"div\");\n }\n return content[0];\n }\n }, parent, placeholder);\n}\nexports.mountTemplate = mountTemplate;\n","/**\r\n * DevExtreme (ui/overlay/ui.overlay.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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 _fx = _interopRequireDefault(require(\"../../animation/fx\"));\r\nvar _position = _interopRequireDefault(require(\"../../animation/position\"));\r\nvar _translator = require(\"../../animation/translator\");\r\nvar _component_registrator = _interopRequireDefault(require(\"../../core/component_registrator\"));\r\nvar _devices = _interopRequireDefault(require(\"../../core/devices\"));\r\nvar _dom_adapter = _interopRequireDefault(require(\"../../core/dom_adapter\"));\r\nvar _element = require(\"../../core/element\");\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _empty_template = require(\"../../core/templates/empty_template\");\r\nvar _array = require(\"../../core/utils/array\");\r\nvar _browser = _interopRequireDefault(require(\"../../core/utils/browser\"));\r\nvar _common = require(\"../../core/utils/common\");\r\nvar _deferred = require(\"../../core/utils/deferred\");\r\nvar _dom = require(\"../../core/utils/dom\");\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar _math = require(\"../../core/utils/math\");\r\nvar _ready_callbacks = _interopRequireDefault(require(\"../../core/utils/ready_callbacks\"));\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _version = require(\"../../core/utils/version\");\r\nvar _view_port = require(\"../../core/utils/view_port\");\r\nvar _window = require(\"../../core/utils/window\");\r\nvar _events_engine = _interopRequireDefault(require(\"../../events/core/events_engine\"));\r\nvar _drag = require(\"../../events/drag\");\r\nvar _pointer = _interopRequireDefault(require(\"../../events/pointer\"));\r\nvar _short = require(\"../../events/short\");\r\nvar _index = require(\"../../events/utils/index\");\r\nvar _visibility_change = require(\"../../events/visibility_change\");\r\nvar _hide_callback = require(\"../../mobile/hide_callback\");\r\nvar _resizable = _interopRequireDefault(require(\"../resizable\"));\r\nvar _selectors = require(\"../widget/selectors\");\r\nvar _swatch_container = _interopRequireDefault(require(\"../widget/swatch_container\"));\r\nvar _ui = _interopRequireDefault(require(\"../widget/ui.widget\"));\r\nvar zIndexPool = _interopRequireWildcard(require(\"./z_index\"));\r\n\r\nfunction _getRequireWildcardCache() {\r\n if (\"function\" !== typeof WeakMap) {\r\n return null\r\n }\r\n var cache = new WeakMap;\r\n _getRequireWildcardCache = function() {\r\n return cache\r\n };\r\n return cache\r\n}\r\n\r\nfunction _interopRequireWildcard(obj) {\r\n if (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();\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 (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\n\r\nfunction _typeof(obj) {\r\n \"@babel/helpers - typeof\";\r\n if (\"function\" === typeof Symbol && \"symbol\" === typeof Symbol.iterator) {\r\n _typeof = function(obj) {\r\n return typeof obj\r\n }\r\n } else {\r\n _typeof = function(obj) {\r\n return obj && \"function\" === typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }\r\n }\r\n return _typeof(obj)\r\n}\r\nvar ready = _ready_callbacks.default.add;\r\nvar window = (0, _window.getWindow)();\r\nvar navigator = (0, _window.getNavigator)();\r\nvar viewPortChanged = _view_port.changeCallback;\r\nvar OVERLAY_CLASS = \"dx-overlay\";\r\nvar OVERLAY_WRAPPER_CLASS = \"dx-overlay-wrapper\";\r\nvar OVERLAY_CONTENT_CLASS = \"dx-overlay-content\";\r\nvar OVERLAY_SHADER_CLASS = \"dx-overlay-shader\";\r\nvar OVERLAY_MODAL_CLASS = \"dx-overlay-modal\";\r\nvar INNER_OVERLAY_CLASS = \"dx-inner-overlay\";\r\nvar INVISIBLE_STATE_CLASS = \"dx-state-invisible\";\r\nvar ANONYMOUS_TEMPLATE_NAME = \"content\";\r\nvar RTL_DIRECTION_CLASS = \"dx-rtl\";\r\nvar ACTIONS = [\"onShowing\", \"onShown\", \"onHiding\", \"onHidden\", \"onPositioning\", \"onPositioned\", \"onResizeStart\", \"onResize\", \"onResizeEnd\"];\r\nvar OVERLAY_STACK = [];\r\nvar DISABLED_STATE_CLASS = \"dx-state-disabled\";\r\nvar PREVENT_SAFARI_SCROLLING_CLASS = \"dx-prevent-safari-scrolling\";\r\nvar TAB_KEY = \"tab\";\r\nvar POSITION_ALIASES = {\r\n top: {\r\n my: \"top center\",\r\n at: \"top center\"\r\n },\r\n bottom: {\r\n my: \"bottom center\",\r\n at: \"bottom center\"\r\n },\r\n right: {\r\n my: \"right center\",\r\n at: \"right center\"\r\n },\r\n left: {\r\n my: \"left center\",\r\n at: \"left center\"\r\n },\r\n center: {\r\n my: \"center\",\r\n at: \"center\"\r\n },\r\n \"right bottom\": {\r\n my: \"right bottom\",\r\n at: \"right bottom\"\r\n },\r\n \"right top\": {\r\n my: \"right top\",\r\n at: \"right top\"\r\n },\r\n \"left bottom\": {\r\n my: \"left bottom\",\r\n at: \"left bottom\"\r\n },\r\n \"left top\": {\r\n my: \"left top\",\r\n at: \"left top\"\r\n }\r\n};\r\nvar realDevice = _devices.default.real();\r\nvar realVersion = realDevice.version;\r\nvar firefoxDesktop = _browser.default.mozilla && \"desktop\" === realDevice.deviceType;\r\nvar iOS = \"ios\" === realDevice.platform;\r\nvar hasSafariAddressBar = _browser.default.safari && \"desktop\" !== realDevice.deviceType;\r\nvar android4_0nativeBrowser = \"android\" === realDevice.platform && 0 === (0, _version.compare)(realVersion, [4, 0], 2) && navigator.userAgent.indexOf(\"Chrome\") === -1;\r\nvar forceRepaint = function($element) {\r\n if (firefoxDesktop) {\r\n $element.width()\r\n }\r\n if (android4_0nativeBrowser) {\r\n var $parents = $element.parents();\r\n var inScrollView = $parents.is(\".dx-scrollable-native\");\r\n if (!inScrollView) {\r\n $parents.css(\"backfaceVisibility\", \"hidden\");\r\n $parents.css(\"backfaceVisibility\");\r\n $parents.css(\"backfaceVisibility\", \"visible\")\r\n }\r\n }\r\n};\r\nvar getElement = function(value) {\r\n if ((0, _type.isEvent)(value)) {\r\n value = value.target\r\n }\r\n return (0, _renderer.default)(value)\r\n};\r\nready(function() {\r\n _events_engine.default.subscribeGlobal(_dom_adapter.default.getDocument(), _pointer.default.down, function(e) {\r\n for (var i = OVERLAY_STACK.length - 1; i >= 0; i--) {\r\n if (!OVERLAY_STACK[i]._proxiedDocumentDownHandler(e)) {\r\n return\r\n }\r\n }\r\n })\r\n});\r\nvar Overlay = _ui.default.inherit({\r\n _supportedKeys: function() {\r\n var offsetSize = 5;\r\n var move = function(top, left, e) {\r\n if (!this.option(\"dragEnabled\")) {\r\n return\r\n }\r\n e.preventDefault();\r\n e.stopPropagation();\r\n var allowedOffsets = this._allowedOffsets();\r\n var offset = {\r\n top: (0, _math.fitIntoRange)(top, -allowedOffsets.top, allowedOffsets.bottom),\r\n left: (0, _math.fitIntoRange)(left, -allowedOffsets.left, allowedOffsets.right)\r\n };\r\n this._changePosition(offset)\r\n };\r\n return (0, _extend.extend)(this.callBase(), {\r\n escape: function() {\r\n this.hide()\r\n },\r\n upArrow: move.bind(this, -offsetSize, 0),\r\n downArrow: move.bind(this, offsetSize, 0),\r\n leftArrow: move.bind(this, 0, -offsetSize),\r\n rightArrow: move.bind(this, 0, offsetSize)\r\n })\r\n },\r\n _getDefaultOptions: function() {\r\n var _this = this;\r\n return (0, _extend.extend)(this.callBase(), {\r\n activeStateEnabled: false,\r\n visible: false,\r\n deferRendering: true,\r\n shading: true,\r\n shadingColor: \"\",\r\n position: {\r\n my: \"center\",\r\n at: \"center\"\r\n },\r\n width: function() {\r\n return .8 * (0, _renderer.default)(window).width()\r\n },\r\n minWidth: null,\r\n maxWidth: null,\r\n height: function() {\r\n return .8 * (0, _renderer.default)(window).height()\r\n },\r\n minHeight: null,\r\n maxHeight: null,\r\n animation: {\r\n show: {\r\n type: \"pop\",\r\n duration: 300,\r\n from: {\r\n scale: .55\r\n }\r\n },\r\n hide: {\r\n type: \"pop\",\r\n duration: 300,\r\n to: {\r\n opacity: 0,\r\n scale: .55\r\n },\r\n from: {\r\n opacity: 1,\r\n scale: 1\r\n }\r\n }\r\n },\r\n closeOnOutsideClick: false,\r\n onShowing: null,\r\n onShown: null,\r\n onHiding: null,\r\n onHidden: null,\r\n contentTemplate: \"content\",\r\n dragEnabled: false,\r\n resizeEnabled: false,\r\n onResizeStart: null,\r\n onResize: null,\r\n onResizeEnd: null,\r\n innerOverlay: false,\r\n target: void 0,\r\n container: void 0,\r\n hideTopOverlayHandler: function() {\r\n _this.hide()\r\n },\r\n closeOnTargetScroll: false,\r\n onPositioned: null,\r\n boundaryOffset: {\r\n h: 0,\r\n v: 0\r\n },\r\n propagateOutsideClick: false,\r\n ignoreChildEvents: true,\r\n _checkParentVisibility: true,\r\n _fixedPosition: false\r\n })\r\n },\r\n _defaultOptionsRules: function() {\r\n return this.callBase().concat([{\r\n device: function() {\r\n var realDevice = _devices.default.real();\r\n var realPlatform = realDevice.platform;\r\n var realVersion = realDevice.version;\r\n return \"android\" === realPlatform && (0, _version.compare)(realVersion, [4, 2]) < 0\r\n },\r\n options: {\r\n animation: {\r\n show: {\r\n type: \"fade\",\r\n duration: 400\r\n },\r\n hide: {\r\n type: \"fade\",\r\n duration: 400,\r\n to: {\r\n opacity: 0\r\n },\r\n from: {\r\n opacity: 1\r\n }\r\n }\r\n }\r\n }\r\n }, {\r\n device: function() {\r\n return !(0, _window.hasWindow)()\r\n },\r\n options: {\r\n width: null,\r\n height: null,\r\n animation: null,\r\n _checkParentVisibility: false\r\n }\r\n }])\r\n },\r\n _setOptionsByReference: function() {\r\n this.callBase();\r\n (0, _extend.extend)(this._optionsByReference, {\r\n animation: true\r\n })\r\n },\r\n _wrapper: function() {\r\n return this._$wrapper\r\n },\r\n _container: function() {\r\n return this._$content\r\n },\r\n _eventBindingTarget: function() {\r\n return this._$content\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this._initActions();\r\n this._initCloseOnOutsideClickHandler();\r\n this._initTabTerminatorHandler();\r\n this._$wrapper = (0, _renderer.default)(\"
\").addClass(OVERLAY_WRAPPER_CLASS);\r\n this._$content = (0, _renderer.default)(\"
\").addClass(OVERLAY_CONTENT_CLASS);\r\n this._initInnerOverlayClass();\r\n var $element = this.$element();\r\n this._$wrapper.addClass($element.attr(\"class\"));\r\n $element.addClass(OVERLAY_CLASS);\r\n this._$wrapper.attr(\"data-bind\", \"dxControlsDescendantBindings: true\");\r\n _events_engine.default.on(this._$wrapper, \"MSPointerDown\", _common.noop);\r\n _events_engine.default.on(this._$wrapper, \"focusin\", function(e) {\r\n e.stopPropagation()\r\n });\r\n this._toggleViewPortSubscription(true);\r\n this._initHideTopOverlayHandler(this.option(\"hideTopOverlayHandler\"))\r\n },\r\n _initOptions: function(options) {\r\n this._initTarget(options.target);\r\n var container = void 0 === options.container ? this.option(\"container\") : options.container;\r\n this._initContainer(container);\r\n this.callBase(options)\r\n },\r\n _initInnerOverlayClass: function() {\r\n this._$content.toggleClass(INNER_OVERLAY_CLASS, this.option(\"innerOverlay\"))\r\n },\r\n _initTarget: function(target) {\r\n if (!(0, _type.isDefined)(target)) {\r\n return\r\n }\r\n var options = this.option();\r\n (0, _iterator.each)([\"position.of\", \"animation.show.from.position.of\", \"animation.show.to.position.of\", \"animation.hide.from.position.of\", \"animation.hide.to.position.of\"], function(_, path) {\r\n var pathParts = path.split(\".\");\r\n var option = options;\r\n while (option) {\r\n if (1 === pathParts.length) {\r\n if ((0, _type.isPlainObject)(option)) {\r\n option[pathParts.shift()] = target\r\n }\r\n break\r\n } else {\r\n option = option[pathParts.shift()]\r\n }\r\n }\r\n })\r\n },\r\n _initContainer: function(container) {\r\n container = void 0 === container ? (0, _view_port.value)() : container;\r\n var $element = this.$element();\r\n var $container = $element.closest(container);\r\n if (!$container.length) {\r\n $container = (0, _renderer.default)(container).first()\r\n }\r\n this._$container = $container.length ? $container : $element.parent()\r\n },\r\n _initHideTopOverlayHandler: function(handler) {\r\n this._hideTopOverlayHandler = handler\r\n },\r\n _initActions: function() {\r\n var _this2 = this;\r\n this._actions = {};\r\n (0, _iterator.each)(ACTIONS, function(_, action) {\r\n _this2._actions[action] = _this2._createActionByOption(action, {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n }) || _common.noop\r\n })\r\n },\r\n _initCloseOnOutsideClickHandler: function() {\r\n var that = this;\r\n this._proxiedDocumentDownHandler = function() {\r\n return that._documentDownHandler.apply(that, arguments)\r\n }\r\n },\r\n _documentDownHandler: function(e) {\r\n if (this._showAnimationProcessing) {\r\n this._stopAnimation()\r\n }\r\n var closeOnOutsideClick = this.option(\"closeOnOutsideClick\");\r\n if ((0, _type.isFunction)(closeOnOutsideClick)) {\r\n closeOnOutsideClick = closeOnOutsideClick(e)\r\n }\r\n var $container = this._$content;\r\n var isAttachedTarget = (0, _renderer.default)(window.document).is(e.target) || (0, _dom.contains)(window.document, e.target);\r\n var isInnerOverlay = (0, _renderer.default)(e.target).closest(\".\" + INNER_OVERLAY_CLASS).length;\r\n var outsideClick = isAttachedTarget && !isInnerOverlay && !($container.is(e.target) || (0, _dom.contains)($container.get(0), e.target));\r\n if (outsideClick && closeOnOutsideClick) {\r\n this._outsideClickHandler(e)\r\n }\r\n return this.option(\"propagateOutsideClick\")\r\n },\r\n _outsideClickHandler: function(e) {\r\n if (this.option(\"shading\")) {\r\n e.preventDefault()\r\n }\r\n this.hide()\r\n },\r\n _getAnonymousTemplateName: function() {\r\n return ANONYMOUS_TEMPLATE_NAME\r\n },\r\n _initTemplates: function() {\r\n this._templateManager.addDefaultTemplates({\r\n content: new _empty_template.EmptyTemplate\r\n });\r\n this.callBase()\r\n },\r\n _isTopOverlay: function() {\r\n var overlayStack = this._overlayStack();\r\n for (var i = overlayStack.length - 1; i >= 0; i--) {\r\n var tabbableElements = overlayStack[i]._findTabbableBounds();\r\n if (tabbableElements.first || tabbableElements.last) {\r\n return overlayStack[i] === this\r\n }\r\n }\r\n return false\r\n },\r\n _overlayStack: function() {\r\n return OVERLAY_STACK\r\n },\r\n _zIndexInitValue: function() {\r\n return Overlay.baseZIndex()\r\n },\r\n _toggleViewPortSubscription: function(toggle) {\r\n viewPortChanged.remove(this._viewPortChangeHandle);\r\n if (toggle) {\r\n this._viewPortChangeHandle = this._viewPortChangeHandler.bind(this);\r\n viewPortChanged.add(this._viewPortChangeHandle)\r\n }\r\n },\r\n _viewPortChangeHandler: function() {\r\n this._initContainer(this.option(\"container\"));\r\n this._refresh()\r\n },\r\n _renderVisibilityAnimate: function(visible) {\r\n this._stopAnimation();\r\n return visible ? this._show() : this._hide()\r\n },\r\n _normalizePosition: function() {\r\n var position = this.option(\"position\");\r\n this._position = \"function\" === typeof position ? position() : position\r\n },\r\n _getAnimationConfig: function() {\r\n var animation = this.option(\"animation\");\r\n if ((0, _type.isFunction)(animation)) {\r\n animation = animation.call(this)\r\n }\r\n return animation\r\n },\r\n _show: function() {\r\n var _this3 = this;\r\n var that = this;\r\n var deferred = new _deferred.Deferred;\r\n this._parentHidden = this._isParentHidden();\r\n deferred.done(function() {\r\n delete that._parentHidden\r\n });\r\n if (this._parentHidden) {\r\n this._isHidden = true;\r\n return deferred.resolve()\r\n }\r\n if (this._currentVisible) {\r\n return (new _deferred.Deferred).resolve().promise()\r\n }\r\n this._currentVisible = true;\r\n this._isShown = false;\r\n this._normalizePosition();\r\n var animation = that._getAnimationConfig() || {};\r\n var showAnimation = this._normalizeAnimation(animation.show, \"to\");\r\n var startShowAnimation = showAnimation && showAnimation.start || _common.noop;\r\n var completeShowAnimation = showAnimation && showAnimation.complete || _common.noop;\r\n if (this._isHidingActionCanceled) {\r\n delete this._isHidingActionCanceled;\r\n deferred.resolve()\r\n } else {\r\n var show = function() {\r\n _this3._renderVisibility(true);\r\n if (_this3._isShowingActionCanceled) {\r\n delete _this3._isShowingActionCanceled;\r\n deferred.resolve();\r\n return\r\n }\r\n _this3._animate(showAnimation, function() {\r\n if (that.option(\"focusStateEnabled\")) {\r\n _events_engine.default.trigger(that._focusTarget(), \"focus\")\r\n }\r\n completeShowAnimation.apply(this, arguments);\r\n that._showAnimationProcessing = false;\r\n that._isShown = true;\r\n that._actions.onShown();\r\n that._toggleSafariScrolling(false);\r\n deferred.resolve()\r\n }, function() {\r\n startShowAnimation.apply(this, arguments);\r\n that._showAnimationProcessing = true\r\n })\r\n };\r\n if (this.option(\"templatesRenderAsynchronously\")) {\r\n this._stopShowTimer();\r\n this._asyncShowTimeout = setTimeout(show)\r\n } else {\r\n show()\r\n }\r\n }\r\n return deferred.promise()\r\n },\r\n _normalizeAnimation: function(animation, prop) {\r\n if (animation) {\r\n animation = (0, _extend.extend)({\r\n type: \"slide\"\r\n }, animation);\r\n if (animation[prop] && \"object\" === _typeof(animation[prop])) {\r\n (0, _extend.extend)(animation[prop], {\r\n position: this._position\r\n })\r\n }\r\n }\r\n return animation\r\n },\r\n _hide: function() {\r\n if (!this._currentVisible) {\r\n return (new _deferred.Deferred).resolve().promise()\r\n }\r\n this._currentVisible = false;\r\n var that = this;\r\n var deferred = new _deferred.Deferred;\r\n var animation = that._getAnimationConfig() || {};\r\n var hideAnimation = this._normalizeAnimation(animation.hide, \"from\");\r\n var startHideAnimation = hideAnimation && hideAnimation.start || _common.noop;\r\n var completeHideAnimation = hideAnimation && hideAnimation.complete || _common.noop;\r\n var hidingArgs = {\r\n cancel: false\r\n };\r\n if (this._isShowingActionCanceled) {\r\n deferred.resolve()\r\n } else {\r\n this._actions.onHiding(hidingArgs);\r\n that._toggleSafariScrolling(true);\r\n if (hidingArgs.cancel) {\r\n this._isHidingActionCanceled = true;\r\n this.option(\"visible\", true);\r\n deferred.resolve()\r\n } else {\r\n this._forceFocusLost();\r\n this._toggleShading(false);\r\n this._toggleSubscriptions(false);\r\n this._stopShowTimer();\r\n this._animate(hideAnimation, function() {\r\n var _that$_actions;\r\n that._$content.css(\"pointerEvents\", \"\");\r\n that._renderVisibility(false);\r\n completeHideAnimation.apply(this, arguments);\r\n that._hideAnimationProcessing = false;\r\n null === (_that$_actions = that._actions) || void 0 === _that$_actions ? void 0 : _that$_actions.onHidden();\r\n deferred.resolve()\r\n }, function() {\r\n that._$content.css(\"pointerEvents\", \"none\");\r\n startHideAnimation.apply(this, arguments);\r\n that._hideAnimationProcessing = true\r\n })\r\n }\r\n }\r\n return deferred.promise()\r\n },\r\n _forceFocusLost: function() {\r\n var activeElement = _dom_adapter.default.getActiveElement();\r\n var shouldResetActiveElement = !!this._$content.find(activeElement).length;\r\n if (shouldResetActiveElement) {\r\n (0, _dom.resetActiveElement)()\r\n }\r\n },\r\n _animate: function(animation, completeCallback, startCallback) {\r\n if (animation) {\r\n startCallback = startCallback || animation.start || _common.noop;\r\n _fx.default.animate(this._$content, (0, _extend.extend)({}, animation, {\r\n start: startCallback,\r\n complete: completeCallback\r\n }))\r\n } else {\r\n completeCallback()\r\n }\r\n },\r\n _stopAnimation: function() {\r\n _fx.default.stop(this._$content, true)\r\n },\r\n _renderVisibility: function(visible) {\r\n if (visible && this._isParentHidden()) {\r\n return\r\n }\r\n this._currentVisible = visible;\r\n this._stopAnimation();\r\n if (!visible) {\r\n (0, _visibility_change.triggerHidingEvent)(this._$content)\r\n }\r\n this._toggleVisibility(visible);\r\n this._$content.toggleClass(INVISIBLE_STATE_CLASS, !visible);\r\n this._updateZIndexStackPosition(visible);\r\n if (visible) {\r\n this._renderContent();\r\n var showingArgs = {\r\n cancel: false\r\n };\r\n this._actions.onShowing(showingArgs);\r\n if (showingArgs.cancel) {\r\n this._toggleVisibility(false);\r\n this._$content.toggleClass(INVISIBLE_STATE_CLASS, true);\r\n this._updateZIndexStackPosition(false);\r\n this._moveFromContainer();\r\n this._isShowingActionCanceled = true;\r\n this.option(\"visible\", false);\r\n return\r\n }\r\n this._moveToContainer();\r\n this._renderGeometry();\r\n (0, _visibility_change.triggerShownEvent)(this._$content);\r\n (0, _visibility_change.triggerResizeEvent)(this._$content)\r\n } else {\r\n this._moveFromContainer()\r\n }\r\n this._toggleShading(visible);\r\n this._toggleSubscriptions(visible)\r\n },\r\n _updateZIndexStackPosition: function(pushToStack) {\r\n var overlayStack = this._overlayStack();\r\n var index = (0, _array.inArray)(this, overlayStack);\r\n if (pushToStack) {\r\n if (index === -1) {\r\n this._zIndex = zIndexPool.create(this._zIndexInitValue());\r\n overlayStack.push(this)\r\n }\r\n this._$wrapper.css(\"zIndex\", this._zIndex);\r\n this._$content.css(\"zIndex\", this._zIndex)\r\n } else {\r\n if (index !== -1) {\r\n overlayStack.splice(index, 1);\r\n zIndexPool.remove(this._zIndex)\r\n }\r\n }\r\n },\r\n _toggleShading: function(visible) {\r\n this._$wrapper.toggleClass(OVERLAY_MODAL_CLASS, this.option(\"shading\") && !this.option(\"container\"));\r\n this._$wrapper.toggleClass(OVERLAY_SHADER_CLASS, visible && this.option(\"shading\"));\r\n this._$wrapper.css(\"backgroundColor\", this.option(\"shading\") ? this.option(\"shadingColor\") : \"\");\r\n this._toggleTabTerminator(visible && this.option(\"shading\"))\r\n },\r\n _initTabTerminatorHandler: function() {\r\n var that = this;\r\n this._proxiedTabTerminatorHandler = function() {\r\n that._tabKeyHandler.apply(that, arguments)\r\n }\r\n },\r\n _toggleTabTerminator: function(enabled) {\r\n var eventName = (0, _index.addNamespace)(\"keydown\", this.NAME);\r\n if (enabled) {\r\n _events_engine.default.on(_dom_adapter.default.getDocument(), eventName, this._proxiedTabTerminatorHandler)\r\n } else {\r\n _events_engine.default.off(_dom_adapter.default.getDocument(), eventName, this._proxiedTabTerminatorHandler)\r\n }\r\n },\r\n _findTabbableBounds: function() {\r\n var $elements = this._$wrapper.find(\"*\");\r\n var elementsCount = $elements.length - 1;\r\n var result = {\r\n first: null,\r\n last: null\r\n };\r\n for (var i = 0; i <= elementsCount; i++) {\r\n if (!result.first && $elements.eq(i).is(_selectors.tabbable)) {\r\n result.first = $elements.eq(i)\r\n }\r\n if (!result.last && $elements.eq(elementsCount - i).is(_selectors.tabbable)) {\r\n result.last = $elements.eq(elementsCount - i)\r\n }\r\n if (result.first && result.last) {\r\n break\r\n }\r\n }\r\n return result\r\n },\r\n _tabKeyHandler: function(e) {\r\n if ((0, _index.normalizeKeyName)(e) !== TAB_KEY || !this._isTopOverlay()) {\r\n return\r\n }\r\n var tabbableElements = this._findTabbableBounds();\r\n var $firstTabbable = tabbableElements.first;\r\n var $lastTabbable = tabbableElements.last;\r\n var isTabOnLast = !e.shiftKey && e.target === $lastTabbable.get(0);\r\n var isShiftTabOnFirst = e.shiftKey && e.target === $firstTabbable.get(0);\r\n var isEmptyTabList = 0 === tabbableElements.length;\r\n var isOutsideTarget = !(0, _dom.contains)(this._$wrapper.get(0), e.target);\r\n if (isTabOnLast || isShiftTabOnFirst || isEmptyTabList || isOutsideTarget) {\r\n e.preventDefault();\r\n var $focusElement = e.shiftKey ? $lastTabbable : $firstTabbable;\r\n _events_engine.default.trigger($focusElement, \"focusin\");\r\n _events_engine.default.trigger($focusElement, \"focus\")\r\n }\r\n },\r\n _toggleSubscriptions: function(enabled) {\r\n if ((0, _window.hasWindow)()) {\r\n this._toggleHideTopOverlayCallback(enabled);\r\n this._toggleParentsScrollSubscription(enabled)\r\n }\r\n },\r\n _toggleHideTopOverlayCallback: function(subscribe) {\r\n if (!this._hideTopOverlayHandler) {\r\n return\r\n }\r\n if (subscribe) {\r\n _hide_callback.hideCallback.add(this._hideTopOverlayHandler)\r\n } else {\r\n _hide_callback.hideCallback.remove(this._hideTopOverlayHandler)\r\n }\r\n },\r\n _toggleParentsScrollSubscription: function(subscribe) {\r\n var _this4 = this;\r\n if (!this._position) {\r\n return\r\n }\r\n var target = this._position.of || (0, _renderer.default)();\r\n var closeOnScroll = this.option(\"closeOnTargetScroll\");\r\n var $parents = getElement(target).parents();\r\n var scrollEvent = (0, _index.addNamespace)(\"scroll\", this.NAME);\r\n if (\"desktop\" === _devices.default.real().deviceType) {\r\n $parents = $parents.add(window)\r\n }\r\n this._proxiedTargetParentsScrollHandler = this._proxiedTargetParentsScrollHandler || function(e) {\r\n _this4._targetParentsScrollHandler(e)\r\n };\r\n _events_engine.default.off((0, _renderer.default)().add(this._$prevTargetParents), scrollEvent, this._proxiedTargetParentsScrollHandler);\r\n if (subscribe && closeOnScroll) {\r\n _events_engine.default.on($parents, scrollEvent, this._proxiedTargetParentsScrollHandler);\r\n this._$prevTargetParents = $parents\r\n }\r\n },\r\n _targetParentsScrollHandler: function(e) {\r\n var closeHandled = false;\r\n var closeOnScroll = this.option(\"closeOnTargetScroll\");\r\n if ((0, _type.isFunction)(closeOnScroll)) {\r\n closeHandled = closeOnScroll(e)\r\n }\r\n if (!closeHandled && !this._showAnimationProcessing) {\r\n this.hide()\r\n }\r\n },\r\n _render: function() {\r\n this.callBase();\r\n this._appendContentToElement();\r\n this._renderVisibilityAnimate(this.option(\"visible\"))\r\n },\r\n _appendContentToElement: function() {\r\n if (!this._$content.parent().is(this.$element())) {\r\n this._$content.appendTo(this.$element())\r\n }\r\n },\r\n _renderContent: function() {\r\n var shouldDeferRendering = !this._currentVisible && this.option(\"deferRendering\");\r\n var isParentHidden = this.option(\"visible\") && this._isParentHidden();\r\n if (isParentHidden) {\r\n this._isHidden = true;\r\n return\r\n }\r\n if (this._contentAlreadyRendered || shouldDeferRendering) {\r\n return\r\n }\r\n this._contentAlreadyRendered = true;\r\n this._appendContentToElement();\r\n this.callBase()\r\n },\r\n _isParentHidden: function() {\r\n if (!this.option(\"_checkParentVisibility\")) {\r\n return false\r\n }\r\n if (void 0 !== this._parentHidden) {\r\n return this._parentHidden\r\n }\r\n var $parent = this.$element().parent();\r\n if ($parent.is(\":visible\")) {\r\n return false\r\n }\r\n var isHidden = false;\r\n $parent.add($parent.parents()).each(function() {\r\n var $element = (0, _renderer.default)(this);\r\n if (\"none\" === $element.css(\"display\")) {\r\n isHidden = true;\r\n return false\r\n }\r\n });\r\n return isHidden || !_dom_adapter.default.getBody().contains($parent.get(0))\r\n },\r\n _renderContentImpl: function() {\r\n var _this5 = this;\r\n var whenContentRendered = new _deferred.Deferred;\r\n var contentTemplateOption = this.option(\"contentTemplate\");\r\n var contentTemplate = this._getTemplate(contentTemplateOption);\r\n var transclude = this._templateManager.anonymousTemplateName === contentTemplateOption;\r\n contentTemplate && contentTemplate.render({\r\n container: (0, _element.getPublicElement)(this.$content()),\r\n noModel: true,\r\n transclude: transclude,\r\n onRendered: function() {\r\n whenContentRendered.resolve()\r\n }\r\n });\r\n this._renderDrag();\r\n this._renderResize();\r\n this._renderScrollTerminator();\r\n whenContentRendered.done(function() {\r\n if (_this5.option(\"visible\")) {\r\n _this5._moveToContainer()\r\n }\r\n });\r\n return whenContentRendered.promise()\r\n },\r\n _renderDrag: function() {\r\n var $dragTarget = this._getDragTarget();\r\n if (!$dragTarget) {\r\n return\r\n }\r\n var startEventName = (0, _index.addNamespace)(_drag.start, this.NAME);\r\n var updateEventName = (0, _index.addNamespace)(_drag.move, this.NAME);\r\n _events_engine.default.off($dragTarget, startEventName);\r\n _events_engine.default.off($dragTarget, updateEventName);\r\n if (!this.option(\"dragEnabled\")) {\r\n return\r\n }\r\n _events_engine.default.on($dragTarget, startEventName, this._dragStartHandler.bind(this));\r\n _events_engine.default.on($dragTarget, updateEventName, this._dragUpdateHandler.bind(this))\r\n },\r\n _renderResize: function() {\r\n this._resizable = this._createComponent(this._$content, _resizable.default, {\r\n handles: this.option(\"resizeEnabled\") ? \"all\" : \"none\",\r\n onResizeEnd: this._resizeEndHandler.bind(this),\r\n onResize: this._actions.onResize.bind(this),\r\n onResizeStart: this._actions.onResizeStart.bind(this),\r\n minHeight: 100,\r\n minWidth: 100,\r\n area: this._getDragResizeContainer()\r\n })\r\n },\r\n _resizeEndHandler: function() {\r\n this._positionChangeHandled = true;\r\n var width = this._resizable.option(\"width\");\r\n var height = this._resizable.option(\"height\");\r\n width && this.option(\"width\", width);\r\n height && this.option(\"height\", height);\r\n this._actions.onResizeEnd()\r\n },\r\n _renderScrollTerminator: function() {\r\n var $scrollTerminator = this._wrapper();\r\n var terminatorEventName = (0, _index.addNamespace)(_drag.move, this.NAME);\r\n _events_engine.default.off($scrollTerminator, terminatorEventName);\r\n _events_engine.default.on($scrollTerminator, terminatorEventName, {\r\n validate: function() {\r\n return true\r\n },\r\n getDirection: function() {\r\n return \"both\"\r\n },\r\n _toggleGestureCover: function(toggle) {\r\n if (!toggle) {\r\n this._toggleGestureCoverImpl(toggle)\r\n }\r\n },\r\n _clearSelection: _common.noop,\r\n isNative: true\r\n }, function(e) {\r\n var originalEvent = e.originalEvent.originalEvent;\r\n var _ref = originalEvent || {},\r\n type = _ref.type;\r\n var isWheel = \"wheel\" === type;\r\n var isMouseMove = \"mousemove\" === type;\r\n var isScrollByWheel = isWheel && !(0, _index.isCommandKeyPressed)(e);\r\n e._cancelPreventDefault = true;\r\n if (originalEvent && false !== e.cancelable && (!isMouseMove && !isWheel || isScrollByWheel)) {\r\n e.preventDefault()\r\n }\r\n })\r\n },\r\n _getDragTarget: function() {\r\n return this.$content()\r\n },\r\n _dragStartHandler: function(e) {\r\n e.targetElements = [];\r\n this._prevOffset = {\r\n x: 0,\r\n y: 0\r\n };\r\n var allowedOffsets = this._allowedOffsets();\r\n e.maxTopOffset = allowedOffsets.top;\r\n e.maxBottomOffset = allowedOffsets.bottom;\r\n e.maxLeftOffset = allowedOffsets.left;\r\n e.maxRightOffset = allowedOffsets.right\r\n },\r\n _getDragResizeContainer: function() {\r\n var isContainerDefined = (0, _view_port.originalViewPort)().get(0) || this.option(\"container\");\r\n var $container = !isContainerDefined ? (0, _renderer.default)(window) : this._$container;\r\n return $container\r\n },\r\n _deltaSize: function() {\r\n var $content = this._$content;\r\n var $container = this._getDragResizeContainer();\r\n var contentWidth = $content.outerWidth();\r\n var contentHeight = $content.outerHeight();\r\n var containerWidth = $container.outerWidth();\r\n var containerHeight = $container.outerHeight();\r\n if (this._isWindow($container)) {\r\n var document = _dom_adapter.default.getDocument();\r\n var fullPageHeight = Math.max((0, _renderer.default)(document).outerHeight(), containerHeight);\r\n var fullPageWidth = Math.max((0, _renderer.default)(document).outerWidth(), containerWidth);\r\n containerHeight = fullPageHeight;\r\n containerWidth = fullPageWidth\r\n }\r\n return {\r\n width: containerWidth - contentWidth,\r\n height: containerHeight - contentHeight\r\n }\r\n },\r\n _dragUpdateHandler: function(e) {\r\n var offset = e.offset;\r\n var prevOffset = this._prevOffset;\r\n var targetOffset = {\r\n top: offset.y - prevOffset.y,\r\n left: offset.x - prevOffset.x\r\n };\r\n this._changePosition(targetOffset);\r\n this._prevOffset = offset\r\n },\r\n _changePosition: function(offset) {\r\n var position = (0, _translator.locate)(this._$content);\r\n (0, _translator.move)(this._$content, {\r\n left: position.left + offset.left,\r\n top: position.top + offset.top\r\n });\r\n this._positionChangeHandled = true\r\n },\r\n _allowedOffsets: function() {\r\n var position = (0, _translator.locate)(this._$content);\r\n var deltaSize = this._deltaSize();\r\n var isAllowedDrag = deltaSize.height >= 0 && deltaSize.width >= 0;\r\n var shaderOffset = this.option(\"shading\") && !this.option(\"container\") && !this._isWindow(this._getContainer()) ? (0, _translator.locate)(this._$wrapper) : {\r\n top: 0,\r\n left: 0\r\n };\r\n var boundaryOffset = this.option(\"boundaryOffset\");\r\n return {\r\n top: isAllowedDrag ? position.top + shaderOffset.top + boundaryOffset.v : 0,\r\n bottom: isAllowedDrag ? -position.top - shaderOffset.top + deltaSize.height - boundaryOffset.v : 0,\r\n left: isAllowedDrag ? position.left + shaderOffset.left + boundaryOffset.h : 0,\r\n right: isAllowedDrag ? -position.left - shaderOffset.left + deltaSize.width - boundaryOffset.h : 0\r\n }\r\n },\r\n _moveFromContainer: function() {\r\n this._$content.appendTo(this.$element());\r\n this._detachWrapperToContainer()\r\n },\r\n _detachWrapperToContainer: function() {\r\n this._$wrapper.detach()\r\n },\r\n _moveToContainer: function() {\r\n this._attachWrapperToContainer();\r\n this._$content.appendTo(this._$wrapper)\r\n },\r\n _attachWrapperToContainer: function() {\r\n var $element = this.$element();\r\n var containerDefined = void 0 !== this.option(\"container\");\r\n var renderContainer = containerDefined ? this._$container : _swatch_container.default.getSwatchContainer($element);\r\n if (renderContainer && renderContainer[0] === $element.parent()[0]) {\r\n renderContainer = $element\r\n }\r\n this._$wrapper.appendTo(renderContainer)\r\n },\r\n _fixHeightAfterSafariAddressBarResizing: function() {\r\n if (this._isWindow(this._getContainer()) && hasSafariAddressBar) {\r\n this._$wrapper.css(\"minHeight\", window.innerHeight)\r\n }\r\n },\r\n _renderGeometry: function(isDimensionChanged) {\r\n if (this.option(\"visible\") && (0, _window.hasWindow)()) {\r\n this._renderGeometryImpl(isDimensionChanged)\r\n }\r\n },\r\n _renderGeometryImpl: function(isDimensionChanged) {\r\n this._stopAnimation();\r\n this._normalizePosition();\r\n this._renderWrapper();\r\n this._fixHeightAfterSafariAddressBarResizing();\r\n this._renderDimensions();\r\n var resultPosition = this._renderPosition();\r\n this._actions.onPositioned({\r\n position: resultPosition\r\n })\r\n },\r\n _fixWrapperPosition: function() {\r\n this._$wrapper.css(\"position\", this._useFixedPosition() ? \"fixed\" : \"absolute\")\r\n },\r\n _useFixedPosition: function() {\r\n return this._shouldFixBodyPosition() || this.option(\"_fixedPosition\")\r\n },\r\n _shouldFixBodyPosition: function() {\r\n var $container = this._getContainer();\r\n return this._isWindow($container) && (!iOS || void 0 !== this._bodyScrollTop)\r\n },\r\n _toggleSafariScrolling: function(scrollingEnabled) {\r\n if (iOS && this._shouldFixBodyPosition()) {\r\n var body = _dom_adapter.default.getBody();\r\n if (scrollingEnabled) {\r\n (0, _renderer.default)(body).removeClass(PREVENT_SAFARI_SCROLLING_CLASS);\r\n window.scrollTo(0, this._bodyScrollTop);\r\n this._bodyScrollTop = void 0\r\n } else {\r\n if (this.option(\"visible\")) {\r\n this._bodyScrollTop = window.pageYOffset;\r\n (0, _renderer.default)(body).addClass(PREVENT_SAFARI_SCROLLING_CLASS)\r\n }\r\n }\r\n }\r\n },\r\n _renderWrapper: function() {\r\n this._fixWrapperPosition();\r\n this._renderWrapperDimensions();\r\n this._renderWrapperPosition()\r\n },\r\n _renderWrapperDimensions: function() {\r\n var wrapperWidth;\r\n var wrapperHeight;\r\n var $container = this._getContainer();\r\n if (!$container) {\r\n return\r\n }\r\n var isWindow = this._isWindow($container);\r\n wrapperWidth = isWindow ? \"\" : $container.outerWidth(), wrapperHeight = isWindow ? \"\" : $container.outerHeight();\r\n this._$wrapper.css({\r\n width: wrapperWidth,\r\n height: wrapperHeight\r\n })\r\n },\r\n _isWindow: function($element) {\r\n return !!$element && (0, _type.isWindow)($element.get(0))\r\n },\r\n _renderWrapperPosition: function() {\r\n var $container = this._getContainer();\r\n if ($container) {\r\n _position.default.setup(this._$wrapper, {\r\n my: \"top left\",\r\n at: \"top left\",\r\n of: $container\r\n })\r\n }\r\n },\r\n _getContainer: function() {\r\n var position = this._position;\r\n var container = this.option(\"container\");\r\n var positionOf = null;\r\n if (!container && position) {\r\n positionOf = (0, _type.isEvent)(position.of) ? window : position.of || window\r\n }\r\n return getElement(container || positionOf)\r\n },\r\n _renderDimensions: function() {\r\n var content = this._$content.get(0);\r\n this._$content.css({\r\n minWidth: this._getOptionValue(\"minWidth\", content),\r\n maxWidth: this._getOptionValue(\"maxWidth\", content),\r\n minHeight: this._getOptionValue(\"minHeight\", content),\r\n maxHeight: this._getOptionValue(\"maxHeight\", content),\r\n width: this._getOptionValue(\"width\", content),\r\n height: this._getOptionValue(\"height\", content)\r\n })\r\n },\r\n _renderPosition: function() {\r\n if (this._positionChangeHandled) {\r\n var allowedOffsets = this._allowedOffsets();\r\n this._changePosition({\r\n top: (0, _math.fitIntoRange)(0, -allowedOffsets.top, allowedOffsets.bottom),\r\n left: (0, _math.fitIntoRange)(0, -allowedOffsets.left, allowedOffsets.right)\r\n })\r\n } else {\r\n this._renderOverlayBoundaryOffset();\r\n (0, _translator.resetPosition)(this._$content);\r\n var position = this._transformStringPosition(this._position, POSITION_ALIASES);\r\n var resultPosition = _position.default.setup(this._$content, position);\r\n forceRepaint(this._$content);\r\n this._actions.onPositioning();\r\n return resultPosition\r\n }\r\n },\r\n _transformStringPosition: function(position, positionAliases) {\r\n if ((0, _type.isString)(position)) {\r\n position = (0, _extend.extend)({}, positionAliases[position])\r\n }\r\n return position\r\n },\r\n _renderOverlayBoundaryOffset: function() {\r\n var boundaryOffset = this.option(\"boundaryOffset\");\r\n this._$content.css(\"margin\", boundaryOffset.v + \"px \" + boundaryOffset.h + \"px\")\r\n },\r\n _focusTarget: function() {\r\n return this._$content\r\n },\r\n _attachKeyboardEvents: function() {\r\n var _this6 = this;\r\n this._keyboardListenerId = _short.keyboard.on(this._$content, null, function(opts) {\r\n return _this6._keyboardHandler(opts)\r\n })\r\n },\r\n _keyboardHandler: function(options) {\r\n var e = options.originalEvent;\r\n var $target = (0, _renderer.default)(e.target);\r\n if ($target.is(this._$content) || !this.option(\"ignoreChildEvents\")) {\r\n this.callBase.apply(this, arguments)\r\n }\r\n },\r\n _isVisible: function() {\r\n return this.option(\"visible\")\r\n },\r\n _visibilityChanged: function(visible) {\r\n if (visible) {\r\n if (this.option(\"visible\")) {\r\n this._renderVisibilityAnimate(visible)\r\n }\r\n } else {\r\n this._renderVisibilityAnimate(visible)\r\n }\r\n },\r\n _dimensionChanged: function() {\r\n this._renderGeometry(true)\r\n },\r\n _clean: function() {\r\n if (!this._contentAlreadyRendered) {\r\n this.$content().empty()\r\n }\r\n this._renderVisibility(false);\r\n this._stopShowTimer();\r\n this._cleanFocusState()\r\n },\r\n _stopShowTimer: function() {\r\n if (this._asyncShowTimeout) {\r\n clearTimeout(this._asyncShowTimeout)\r\n }\r\n this._asyncShowTimeout = null\r\n },\r\n _dispose: function() {\r\n _fx.default.stop(this._$content, false);\r\n clearTimeout(this._deferShowTimer);\r\n this._toggleViewPortSubscription(false);\r\n this._toggleSubscriptions(false);\r\n this._updateZIndexStackPosition(false);\r\n this._toggleTabTerminator(false);\r\n this._toggleSafariScrolling(true);\r\n this._actions = null;\r\n this.callBase();\r\n zIndexPool.remove(this._zIndex);\r\n this._$wrapper.remove();\r\n this._$content.remove()\r\n },\r\n _toggleDisabledState: function(value) {\r\n this.callBase.apply(this, arguments);\r\n this._$content.toggleClass(DISABLED_STATE_CLASS, Boolean(value))\r\n },\r\n _toggleRTLDirection: function(rtl) {\r\n this._$content.toggleClass(RTL_DIRECTION_CLASS, rtl)\r\n },\r\n _optionChanged: function(args) {\r\n var _this7 = this;\r\n var value = args.value;\r\n if ((0, _array.inArray)(args.name, ACTIONS) > -1) {\r\n this._initActions();\r\n return\r\n }\r\n switch (args.name) {\r\n case \"dragEnabled\":\r\n this._renderDrag();\r\n this._renderGeometry();\r\n break;\r\n case \"resizeEnabled\":\r\n this._renderResize();\r\n this._renderGeometry();\r\n break;\r\n case \"shading\":\r\n case \"shadingColor\":\r\n this._toggleShading(this.option(\"visible\"));\r\n break;\r\n case \"width\":\r\n case \"height\":\r\n case \"minWidth\":\r\n case \"maxWidth\":\r\n case \"minHeight\":\r\n case \"maxHeight\":\r\n case \"boundaryOffset\":\r\n this._renderGeometry();\r\n break;\r\n case \"position\":\r\n this._positionChangeHandled = false;\r\n this._renderGeometry();\r\n break;\r\n case \"visible\":\r\n this._renderVisibilityAnimate(value).done(function() {\r\n if (!_this7._animateDeferred) {\r\n return\r\n }\r\n _this7._animateDeferred.resolveWith(_this7)\r\n });\r\n break;\r\n case \"target\":\r\n this._initTarget(value);\r\n this._invalidate();\r\n break;\r\n case \"container\":\r\n this._initContainer(value);\r\n this._invalidate();\r\n break;\r\n case \"innerOverlay\":\r\n this._initInnerOverlayClass();\r\n break;\r\n case \"deferRendering\":\r\n case \"contentTemplate\":\r\n this._contentAlreadyRendered = false;\r\n this._clean();\r\n this._invalidate();\r\n break;\r\n case \"hideTopOverlayHandler\":\r\n this._toggleHideTopOverlayCallback(false);\r\n this._initHideTopOverlayHandler(args.value);\r\n this._toggleHideTopOverlayCallback(this.option(\"visible\"));\r\n break;\r\n case \"closeOnTargetScroll\":\r\n this._toggleParentsScrollSubscription(this.option(\"visible\"));\r\n break;\r\n case \"closeOnOutsideClick\":\r\n case \"animation\":\r\n case \"propagateOutsideClick\":\r\n break;\r\n case \"rtlEnabled\":\r\n this._contentAlreadyRendered = false;\r\n this.callBase(args);\r\n break;\r\n case \"_fixedPosition\":\r\n this._fixWrapperPosition();\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n toggle: function(showing) {\r\n var _this8 = this;\r\n showing = void 0 === showing ? !this.option(\"visible\") : showing;\r\n var result = new _deferred.Deferred;\r\n if (showing === this.option(\"visible\")) {\r\n return result.resolveWith(this, [showing]).promise()\r\n }\r\n var animateDeferred = new _deferred.Deferred;\r\n this._animateDeferred = animateDeferred;\r\n this.option(\"visible\", showing);\r\n animateDeferred.promise().done(function() {\r\n delete _this8._animateDeferred;\r\n result.resolveWith(_this8, [_this8.option(\"visible\")])\r\n });\r\n return result.promise()\r\n },\r\n $content: function() {\r\n return this._$content\r\n },\r\n show: function() {\r\n return this.toggle(true)\r\n },\r\n hide: function() {\r\n return this.toggle(false)\r\n },\r\n content: function() {\r\n return (0, _element.getPublicElement)(this._$content)\r\n },\r\n repaint: function() {\r\n if (this._contentAlreadyRendered) {\r\n this._renderGeometry();\r\n (0, _visibility_change.triggerResizeEvent)(this._$content)\r\n } else {\r\n this.callBase()\r\n }\r\n }\r\n});\r\nOverlay.baseZIndex = function(zIndex) {\r\n return zIndexPool.base(zIndex)\r\n};\r\n(0, _component_registrator.default)(\"dxOverlay\", Overlay);\r\nvar _default = Overlay;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (core/utils/deferred.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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.fromPromise = fromPromise;\r\nexports.setStrategy = setStrategy;\r\nexports.Deferred = Deferred;\r\nexports.when = when;\r\nvar _type = require(\"../utils/type\");\r\nvar _extend = require(\"../utils/extend\");\r\nvar _callbacks = _interopRequireDefault(require(\"../utils/callbacks\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar deferredConfig = [{\r\n method: \"resolve\",\r\n handler: \"done\",\r\n state: \"resolved\"\r\n}, {\r\n method: \"reject\",\r\n handler: \"fail\",\r\n state: \"rejected\"\r\n}, {\r\n method: \"notify\",\r\n handler: \"progress\"\r\n}];\r\nvar _DeferredObj = function() {\r\n var that = this;\r\n this._state = \"pending\";\r\n this._promise = {};\r\n deferredConfig.forEach(function(config) {\r\n var methodName = config.method;\r\n this[methodName + \"Callbacks\"] = new _callbacks.default;\r\n this[methodName] = function() {\r\n return this[methodName + \"With\"](this._promise, arguments)\r\n }.bind(this);\r\n this._promise[config.handler] = function(handler) {\r\n if (!handler) {\r\n return this\r\n }\r\n var callbacks = that[methodName + \"Callbacks\"];\r\n if (callbacks.fired()) {\r\n handler.apply(that[methodName + \"Context\"], that[methodName + \"Args\"])\r\n } else {\r\n callbacks.add(function(context, args) {\r\n handler.apply(context, args)\r\n }.bind(this))\r\n }\r\n return this\r\n }\r\n }.bind(this));\r\n this._promise.always = function(handler) {\r\n return this.done(handler).fail(handler)\r\n };\r\n this._promise.catch = function(handler) {\r\n return this.then(null, handler)\r\n };\r\n this._promise.then = function(resolve, reject) {\r\n var result = new _DeferredObj;\r\n [\"done\", \"fail\"].forEach(function(method) {\r\n var callback = \"done\" === method ? resolve : reject;\r\n this[method](function() {\r\n if (!callback) {\r\n result[\"done\" === method ? \"resolve\" : \"reject\"].apply(this, arguments);\r\n return\r\n }\r\n var callbackResult = callback && callback.apply(this, arguments);\r\n if ((0, _type.isDeferred)(callbackResult)) {\r\n callbackResult.done(result.resolve).fail(result.reject)\r\n } else {\r\n if ((0, _type.isPromise)(callbackResult)) {\r\n callbackResult.then(result.resolve, result.reject)\r\n } else {\r\n result.resolve.apply(this, (0, _type.isDefined)(callbackResult) ? [callbackResult] : arguments)\r\n }\r\n }\r\n })\r\n }.bind(this));\r\n return result.promise()\r\n };\r\n this._promise.state = function() {\r\n return that._state\r\n };\r\n this._promise.promise = function(args) {\r\n return args ? (0, _extend.extend)(args, that._promise) : that._promise\r\n };\r\n this._promise.promise(this)\r\n};\r\ndeferredConfig.forEach(function(config) {\r\n var methodName = config.method;\r\n var state = config.state;\r\n _DeferredObj.prototype[methodName + \"With\"] = function(context, args) {\r\n var callbacks = this[methodName + \"Callbacks\"];\r\n if (\"pending\" === this.state()) {\r\n this[methodName + \"Args\"] = args;\r\n this[methodName + \"Context\"] = context;\r\n if (state) {\r\n this._state = state\r\n }\r\n callbacks.fire(context, args)\r\n }\r\n return this\r\n }\r\n});\r\n\r\nfunction fromPromise(promise, context) {\r\n if ((0, _type.isDeferred)(promise)) {\r\n return promise\r\n } else {\r\n if ((0, _type.isPromise)(promise)) {\r\n var d = new _DeferredObj;\r\n promise.then(function() {\r\n d.resolveWith.apply(d, [context].concat([\r\n [].slice.call(arguments)\r\n ]))\r\n }, function() {\r\n d.rejectWith.apply(d, [context].concat([\r\n [].slice.call(arguments)\r\n ]))\r\n });\r\n return d\r\n }\r\n }\r\n return (new _DeferredObj).resolveWith(context, [promise])\r\n}\r\nvar whenFunc = function() {\r\n if (1 === arguments.length) {\r\n return fromPromise(arguments[0])\r\n }\r\n var values = [].slice.call(arguments);\r\n var contexts = [];\r\n var resolvedCount = 0;\r\n var deferred = new _DeferredObj;\r\n var updateState = function(i) {\r\n return function(value) {\r\n contexts[i] = this;\r\n values[i] = arguments.length > 1 ? [].slice.call(arguments) : value;\r\n resolvedCount++;\r\n if (resolvedCount === values.length) {\r\n deferred.resolveWith(contexts, values)\r\n }\r\n }\r\n };\r\n for (var i = 0; i < values.length; i++) {\r\n if ((0, _type.isDeferred)(values[i])) {\r\n values[i].promise().done(updateState(i)).fail(deferred.reject)\r\n } else {\r\n resolvedCount++\r\n }\r\n }\r\n if (resolvedCount === values.length) {\r\n deferred.resolveWith(contexts, values)\r\n }\r\n return deferred.promise()\r\n};\r\n\r\nfunction setStrategy(value) {\r\n _DeferredObj = value.Deferred;\r\n whenFunc = value.when\r\n}\r\n\r\nfunction Deferred() {\r\n return new _DeferredObj\r\n}\r\n\r\nfunction when() {\r\n return whenFunc.apply(this, arguments)\r\n}\r\n","/**\r\n * DevExtreme (core/dom_adapter.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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 _dependency_injector = _interopRequireDefault(require(\"./utils/dependency_injector\"));\r\nvar _common = require(\"./utils/common\");\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 if (\"function\" === typeof Symbol && \"symbol\" === typeof Symbol.iterator) {\r\n _typeof = function(obj) {\r\n return typeof obj\r\n }\r\n } else {\r\n _typeof = function(obj) {\r\n return obj && \"function\" === typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }\r\n }\r\n return _typeof(obj)\r\n}\r\nvar ELEMENT_NODE = 1;\r\nvar TEXT_NODE = 3;\r\nvar DOCUMENT_NODE = 9;\r\nvar nativeDOMAdapterStrategy = {\r\n querySelectorAll: function(element, selector) {\r\n return element.querySelectorAll(selector)\r\n },\r\n elementMatches: function(element, selector) {\r\n var _this = this;\r\n var matches = element.matches || element.matchesSelector || element.mozMatchesSelector || element.msMatchesSelector || element.oMatchesSelector || element.webkitMatchesSelector || function(selector) {\r\n var doc = element.document || element.ownerDocument;\r\n if (!doc) {\r\n return false\r\n }\r\n var items = _this.querySelectorAll(doc, selector);\r\n for (var i = 0; i < items.length; i++) {\r\n if (items[i] === element) {\r\n return true\r\n }\r\n }\r\n };\r\n return matches.call(element, selector)\r\n },\r\n createElement: function(tagName, context) {\r\n context = context || this._document;\r\n return context.createElement(tagName)\r\n },\r\n createElementNS: function(ns, tagName, context) {\r\n context = context || this._document;\r\n return context.createElementNS(ns, tagName)\r\n },\r\n createTextNode: function(text, context) {\r\n context = context || this._document;\r\n return context.createTextNode(text)\r\n },\r\n isNode: function(element) {\r\n return element && \"object\" === _typeof(element) && \"nodeType\" in element && \"nodeName\" in element\r\n },\r\n isElementNode: function(element) {\r\n return element && element.nodeType === ELEMENT_NODE\r\n },\r\n isTextNode: function(element) {\r\n return element && element.nodeType === TEXT_NODE\r\n },\r\n isDocument: function(element) {\r\n return element && element.nodeType === DOCUMENT_NODE\r\n },\r\n removeElement: function(element) {\r\n var parentNode = element && element.parentNode;\r\n if (parentNode) {\r\n parentNode.removeChild(element)\r\n }\r\n },\r\n insertElement: function(parentElement, newElement, nextSiblingElement) {\r\n if (parentElement && newElement && parentElement !== newElement) {\r\n if (nextSiblingElement) {\r\n parentElement.insertBefore(newElement, nextSiblingElement)\r\n } else {\r\n parentElement.appendChild(newElement)\r\n }\r\n }\r\n },\r\n getAttribute: function(element, name) {\r\n return element.getAttribute(name)\r\n },\r\n setAttribute: function(element, name, value) {\r\n element.setAttribute(name, value)\r\n },\r\n removeAttribute: function(element, name) {\r\n element.removeAttribute(name)\r\n },\r\n setProperty: function(element, name, value) {\r\n element[name] = value\r\n },\r\n setText: function(element, text) {\r\n if (element) {\r\n element.textContent = text\r\n }\r\n },\r\n setClass: function(element, className, isAdd) {\r\n if (1 === element.nodeType && className) {\r\n if (element.classList) {\r\n if (isAdd) {\r\n element.classList.add(className)\r\n } else {\r\n element.classList.remove(className)\r\n }\r\n } else {\r\n var classNameSupported = \"string\" === typeof element.className;\r\n var elementClass = classNameSupported ? element.className : this.getAttribute(element, \"class\") || \"\";\r\n var classNames = elementClass.split(\" \");\r\n var classIndex = classNames.indexOf(className);\r\n var resultClassName;\r\n if (isAdd && classIndex < 0) {\r\n resultClassName = elementClass ? elementClass + \" \" + className : className\r\n }\r\n if (!isAdd && classIndex >= 0) {\r\n classNames.splice(classIndex, 1);\r\n resultClassName = classNames.join(\" \")\r\n }\r\n if (void 0 !== resultClassName) {\r\n if (classNameSupported) {\r\n element.className = resultClassName\r\n } else {\r\n this.setAttribute(element, \"class\", resultClassName)\r\n }\r\n }\r\n }\r\n }\r\n },\r\n setStyle: function(element, name, value) {\r\n element.style[name] = value || \"\"\r\n },\r\n _document: \"undefined\" === typeof document ? void 0 : document,\r\n getDocument: function() {\r\n return this._document\r\n },\r\n getActiveElement: function() {\r\n return this._document.activeElement\r\n },\r\n getBody: function() {\r\n return this._document.body\r\n },\r\n createDocumentFragment: function() {\r\n return this._document.createDocumentFragment()\r\n },\r\n getDocumentElement: function() {\r\n return this._document.documentElement\r\n },\r\n getLocation: function() {\r\n return this._document.location\r\n },\r\n getSelection: function() {\r\n return this._document.selection\r\n },\r\n getReadyState: function() {\r\n return this._document.readyState\r\n },\r\n getHead: function() {\r\n return this._document.head\r\n },\r\n hasDocumentProperty: function(property) {\r\n return property in this._document\r\n },\r\n listen: function(element, event, callback, options) {\r\n if (!element || !(\"addEventListener\" in element)) {\r\n return _common.noop\r\n }\r\n element.addEventListener(event, callback, options);\r\n return function() {\r\n element.removeEventListener(event, callback)\r\n }\r\n }\r\n};\r\nvar _default = (0, _dependency_injector.default)(nativeDOMAdapterStrategy);\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (core/utils/type.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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.isEvent = exports.type = exports.isDeferred = exports.isPromise = exports.isRenderer = exports.isWindow = exports.isPrimitive = exports.isPlainObject = exports.isEmptyObject = exports.isObject = exports.isNumeric = exports.isString = exports.isFunction = exports.isDefined = exports.isDate = exports.isExponential = exports.isBoolean = void 0;\r\n\r\nfunction _typeof(obj) {\r\n \"@babel/helpers - typeof\";\r\n if (\"function\" === typeof Symbol && \"symbol\" === typeof Symbol.iterator) {\r\n _typeof = function(obj) {\r\n return typeof obj\r\n }\r\n } else {\r\n _typeof = function(obj) {\r\n return obj && \"function\" === typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj\r\n }\r\n }\r\n return _typeof(obj)\r\n}\r\nvar types = {\r\n \"[object Array]\": \"array\",\r\n \"[object Date]\": \"date\",\r\n \"[object Object]\": \"object\",\r\n \"[object String]\": \"string\",\r\n \"[object Null]\": \"null\"\r\n};\r\nvar type = function(object) {\r\n var typeOfObject = Object.prototype.toString.call(object);\r\n return \"object\" === _typeof(object) ? types[typeOfObject] || \"object\" : _typeof(object)\r\n};\r\nexports.type = type;\r\nvar isBoolean = function(object) {\r\n return \"boolean\" === typeof object\r\n};\r\nexports.isBoolean = isBoolean;\r\nvar isExponential = function(value) {\r\n return isNumeric(value) && value.toString().indexOf(\"e\") !== -1\r\n};\r\nexports.isExponential = isExponential;\r\nvar isDate = function(object) {\r\n return \"date\" === type(object)\r\n};\r\nexports.isDate = isDate;\r\nvar isDefined = function(object) {\r\n return null !== object && void 0 !== object\r\n};\r\nexports.isDefined = isDefined;\r\nvar isFunction = function(object) {\r\n return \"function\" === typeof object\r\n};\r\nexports.isFunction = isFunction;\r\nvar isString = function(object) {\r\n return \"string\" === typeof object\r\n};\r\nexports.isString = isString;\r\nvar isNumeric = function(object) {\r\n return \"number\" === typeof object && isFinite(object) || !isNaN(object - parseFloat(object))\r\n};\r\nexports.isNumeric = isNumeric;\r\nvar isObject = function(object) {\r\n return \"object\" === type(object)\r\n};\r\nexports.isObject = isObject;\r\nvar isEmptyObject = function(object) {\r\n var property;\r\n for (property in object) {\r\n return false\r\n }\r\n return true\r\n};\r\nexports.isEmptyObject = isEmptyObject;\r\nvar isPlainObject = function(object) {\r\n if (!object || \"[object Object]\" !== Object.prototype.toString.call(object)) {\r\n return false\r\n }\r\n var proto = Object.getPrototypeOf(object);\r\n var ctor = Object.hasOwnProperty.call(proto, \"constructor\") && proto.constructor;\r\n return \"function\" === typeof ctor && Object.toString.call(ctor) === Object.toString.call(Object)\r\n};\r\nexports.isPlainObject = isPlainObject;\r\nvar isPrimitive = function(value) {\r\n return [\"object\", \"array\", \"function\"].indexOf(type(value)) === -1\r\n};\r\nexports.isPrimitive = isPrimitive;\r\nvar isWindow = function(object) {\r\n return null != object && object === object.window\r\n};\r\nexports.isWindow = isWindow;\r\nvar isRenderer = function(object) {\r\n return !!(object.jquery || object.dxRenderer)\r\n};\r\nexports.isRenderer = isRenderer;\r\nvar isPromise = function(object) {\r\n return object && isFunction(object.then)\r\n};\r\nexports.isPromise = isPromise;\r\nvar isDeferred = function(object) {\r\n return object && isFunction(object.done) && isFunction(object.fail)\r\n};\r\nexports.isDeferred = isDeferred;\r\nvar isEvent = function(object) {\r\n return !!(object && object.preventDefault)\r\n};\r\nexports.isEvent = isEvent;\r\n","/**\r\n * DevExtreme (events/core/wheel.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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 (ui/overlay.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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 _ui = _interopRequireDefault(require(\"./overlay/ui.overlay\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar _default = _ui.default;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = module.exports;\r\n","/**\r\n * DevExtreme (core/utils/browser.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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(\"./extend\");\r\nvar _window = require(\"./window\");\r\nvar navigator = (0, _window.getNavigator)();\r\nvar webkitRegExp = /(webkit)[ /]([\\w.]+)/;\r\nvar ieRegExp = /(msie) (\\d{1,2}\\.\\d)/;\r\nvar ie11RegExp = /(trident).*rv:(\\d{1,2}\\.\\d)/;\r\nvar msEdge = /(edge)\\/((\\d+)?[\\w.]+)/;\r\nvar mozillaRegExp = /(mozilla)(?:.*? rv:([\\w.]+))/;\r\nvar browserFromUA = function(ua) {\r\n ua = ua.toLowerCase();\r\n var result = {};\r\n var matches = ieRegExp.exec(ua) || ie11RegExp.exec(ua) || msEdge.exec(ua) || ua.indexOf(\"compatible\") < 0 && mozillaRegExp.exec(ua) || webkitRegExp.exec(ua) || [];\r\n var browserName = matches[1];\r\n var browserVersion = matches[2];\r\n if (\"webkit\" === browserName) {\r\n result.webkit = true;\r\n if (ua.indexOf(\"chrome\") >= 0 || ua.indexOf(\"crios\") >= 0) {\r\n browserName = \"chrome\";\r\n browserVersion = /(?:chrome|crios)\\/(\\d+\\.\\d+)/.exec(ua);\r\n browserVersion = browserVersion && browserVersion[1]\r\n } else {\r\n if (ua.indexOf(\"fxios\") >= 0) {\r\n browserName = \"mozilla\";\r\n browserVersion = /fxios\\/(\\d+\\.\\d+)/.exec(ua);\r\n browserVersion = browserVersion && browserVersion[1]\r\n } else {\r\n if (ua.indexOf(\"safari\") >= 0 && /version|phantomjs/.test(ua)) {\r\n browserName = \"safari\";\r\n browserVersion = /(?:version|phantomjs)\\/([0-9.]+)/.exec(ua);\r\n browserVersion = browserVersion && browserVersion[1]\r\n } else {\r\n browserName = \"unknown\";\r\n browserVersion = /applewebkit\\/([0-9.]+)/.exec(ua);\r\n browserVersion = browserVersion && browserVersion[1]\r\n }\r\n }\r\n }\r\n }\r\n if (\"trident\" === browserName || \"edge\" === browserName) {\r\n browserName = \"msie\"\r\n }\r\n if (browserName) {\r\n result[browserName] = true;\r\n result.version = browserVersion\r\n }\r\n return result\r\n};\r\nvar _default = (0, _extend.extend)({\r\n _fromUA: browserFromUA\r\n}, browserFromUA(navigator.userAgent));\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (core/component.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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 _config = _interopRequireDefault(require(\"./config\"));\r\nvar _extend = require(\"./utils/extend\");\r\nvar _index = require(\"./options/index\");\r\nvar _utils = require(\"./options/utils\");\r\nvar _class = _interopRequireDefault(require(\"./class\"));\r\nvar _action = _interopRequireDefault(require(\"./action\"));\r\nvar _errors = _interopRequireDefault(require(\"./errors\"));\r\nvar _callbacks = _interopRequireDefault(require(\"./utils/callbacks\"));\r\nvar _events_strategy = require(\"./events_strategy\");\r\nvar _public_component = require(\"./utils/public_component\");\r\nvar _postponed_operations = require(\"./postponed_operations\");\r\nvar _type = require(\"./utils/type\");\r\nvar _common = require(\"./utils/common\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar getEventName = function(actionName) {\r\n return actionName.charAt(2).toLowerCase() + actionName.substr(3)\r\n};\r\nvar isInnerOption = function(optionName) {\r\n return 0 === optionName.indexOf(\"_\", 0)\r\n};\r\nvar Component = _class.default.inherit({\r\n _setDeprecatedOptions: function() {\r\n this._deprecatedOptions = {}\r\n },\r\n _getDeprecatedOptions: function() {\r\n return this._deprecatedOptions\r\n },\r\n _getDefaultOptions: function() {\r\n return {\r\n onInitialized: null,\r\n onOptionChanged: null,\r\n onDisposing: null,\r\n defaultOptionsRules: null\r\n }\r\n },\r\n _defaultOptionsRules: function() {\r\n return []\r\n },\r\n _setOptionsByDevice: function(rules) {\r\n this._options.applyRules(rules)\r\n },\r\n _convertRulesToOptions: function(rules) {\r\n return (0, _utils.convertRulesToOptions)(rules)\r\n },\r\n _isInitialOptionValue: function(name) {\r\n return this._options.isInitial(name)\r\n },\r\n _setOptionsByReference: function() {\r\n this._optionsByReference = {}\r\n },\r\n _getOptionsByReference: function() {\r\n return this._optionsByReference\r\n },\r\n ctor: function() {\r\n var options = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};\r\n var _optionChangedCallbacks = options._optionChangedCallbacks,\r\n _disposingCallbacks = options._disposingCallbacks;\r\n this.NAME = (0, _public_component.name)(this.constructor);\r\n this._eventsStrategy = _events_strategy.EventsStrategy.create(this, options.eventsStrategy);\r\n this._updateLockCount = 0;\r\n this._optionChangedCallbacks = _optionChangedCallbacks || (0, _callbacks.default)();\r\n this._disposingCallbacks = _disposingCallbacks || (0, _callbacks.default)();\r\n this.postponedOperations = new _postponed_operations.PostponedOperations;\r\n this._createOptions(options)\r\n },\r\n _createOptions: function(options) {\r\n var _this = this;\r\n this.beginUpdate();\r\n try {\r\n this._setOptionsByReference();\r\n this._setDeprecatedOptions();\r\n this._options = new _index.Options(this._getDefaultOptions(), this._getDefaultOptions(), this._getOptionsByReference(), this._getDeprecatedOptions());\r\n this._options.onChanging(function(name, previousValue, value) {\r\n return _this._initialized && _this._optionChanging(name, previousValue, value)\r\n });\r\n this._options.onDeprecated(function(option, info) {\r\n return _this._logDeprecatedOptionWarning(option, info)\r\n });\r\n this._options.onChanged(function(name, value, previousValue) {\r\n return _this._notifyOptionChanged(name, value, previousValue)\r\n });\r\n this._options.onStartChange(function() {\r\n return _this.beginUpdate()\r\n });\r\n this._options.onEndChange(function() {\r\n return _this.endUpdate()\r\n });\r\n this._options.addRules(this._defaultOptionsRules());\r\n if (options && options.onInitializing) {\r\n options.onInitializing.apply(this, [options])\r\n }\r\n this._setOptionsByDevice(options.defaultOptionsRules);\r\n this._initOptions(options)\r\n } finally {\r\n this.endUpdate()\r\n }\r\n },\r\n _initOptions: function(options) {\r\n this.option(options)\r\n },\r\n _init: function() {\r\n var _this2 = this;\r\n this._createOptionChangedAction();\r\n this.on(\"disposing\", function(args) {\r\n _this2._disposingCallbacks.fireWith(_this2, [args])\r\n })\r\n },\r\n _logDeprecatedOptionWarning: function(option, info) {\r\n var message = info.message || \"Use the '\".concat(info.alias, \"' option instead\");\r\n _errors.default.log(\"W0001\", this.NAME, option, info.since, message)\r\n },\r\n _logDeprecatedComponentWarning: function(since, alias) {\r\n _errors.default.log(\"W0000\", this.NAME, since, \"Use the '\".concat(alias, \"' widget instead\"))\r\n },\r\n _createOptionChangedAction: function() {\r\n this._optionChangedAction = this._createActionByOption(\"onOptionChanged\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })\r\n },\r\n _createDisposingAction: function() {\r\n this._disposingAction = this._createActionByOption(\"onDisposing\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"onDisposing\":\r\n case \"onInitialized\":\r\n break;\r\n case \"onOptionChanged\":\r\n this._createOptionChangedAction();\r\n break;\r\n case \"defaultOptionsRules\":\r\n }\r\n },\r\n _dispose: function() {\r\n this._optionChangedCallbacks.empty();\r\n this._createDisposingAction();\r\n this._disposingAction();\r\n this._eventsStrategy.dispose();\r\n this._options.dispose();\r\n this._disposed = true\r\n },\r\n _lockUpdate: function() {\r\n this._updateLockCount++\r\n },\r\n _unlockUpdate: function() {\r\n this._updateLockCount = Math.max(this._updateLockCount - 1, 0)\r\n },\r\n _isUpdateAllowed: function() {\r\n return 0 === this._updateLockCount\r\n },\r\n _isInitializingRequired: function() {\r\n return !this._initializing && !this._initialized\r\n },\r\n _commitUpdate: function() {\r\n this.postponedOperations.callPostponedOperations();\r\n this._isInitializingRequired() && this._initializeComponent()\r\n },\r\n _initializeComponent: function() {\r\n this._initializing = true;\r\n try {\r\n this._init()\r\n } finally {\r\n this._initializing = false;\r\n this._lockUpdate();\r\n this._createActionByOption(\"onInitialized\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })();\r\n this._unlockUpdate();\r\n this._initialized = true\r\n }\r\n },\r\n instance: function() {\r\n return this\r\n },\r\n beginUpdate: function() {\r\n this._lockUpdate()\r\n },\r\n endUpdate: function() {\r\n this._unlockUpdate();\r\n this._isUpdateAllowed() && this._commitUpdate()\r\n },\r\n _optionChanging: _common.noop,\r\n _notifyOptionChanged: function(option, value, previousValue) {\r\n if (this._initialized) {\r\n var optionNames = [option].concat(this._options.getAliasesByName(option));\r\n for (var i = 0; i < optionNames.length; i++) {\r\n var name = optionNames[i];\r\n var args = {\r\n name: name.split(/[.[]/)[0],\r\n fullName: name,\r\n value: value,\r\n previousValue: previousValue\r\n };\r\n if (!isInnerOption(name)) {\r\n this._optionChangedCallbacks.fireWith(this, [(0, _extend.extend)(this._defaultActionArgs(), args)]);\r\n this._optionChangedAction((0, _extend.extend)({}, args))\r\n }\r\n if (!this._disposed && this._cancelOptionChange !== name) {\r\n this._optionChanged(args)\r\n }\r\n }\r\n }\r\n },\r\n initialOption: function(name) {\r\n return this._options.initial(name)\r\n },\r\n _defaultActionConfig: function() {\r\n return {\r\n context: this,\r\n component: this\r\n }\r\n },\r\n _defaultActionArgs: function() {\r\n return {\r\n component: this\r\n }\r\n },\r\n _createAction: function(actionSource, config) {\r\n var _this3 = this;\r\n var action;\r\n return function(e) {\r\n if (!(0, _type.isDefined)(e)) {\r\n e = {}\r\n }\r\n if (!(0, _type.isPlainObject)(e)) {\r\n e = {\r\n actionValue: e\r\n }\r\n }\r\n action = action || new _action.default(actionSource, (0, _extend.extend)(config, _this3._defaultActionConfig()));\r\n return action.execute.call(action, (0, _extend.extend)(e, _this3._defaultActionArgs()))\r\n }\r\n },\r\n _createActionByOption: function(optionName, config) {\r\n var _this4 = this;\r\n var action;\r\n var eventName;\r\n var actionFunc;\r\n var result = function() {\r\n if (!eventName) {\r\n config = config || {};\r\n if (\"string\" !== typeof optionName) {\r\n throw _errors.default.Error(\"E0008\")\r\n }\r\n if (0 === optionName.indexOf(\"on\")) {\r\n eventName = getEventName(optionName)\r\n }\r\n actionFunc = _this4.option(optionName)\r\n }\r\n if (!action && !actionFunc && !config.beforeExecute && !config.afterExecute && !_this4._eventsStrategy.hasEvent(eventName)) {\r\n return\r\n }\r\n if (!action) {\r\n var beforeExecute = config.beforeExecute;\r\n config.beforeExecute = function() {\r\n for (var _len2 = arguments.length, props = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\r\n props[_key2] = arguments[_key2]\r\n }\r\n beforeExecute && beforeExecute.apply(_this4, props);\r\n _this4._eventsStrategy.fireEvent(eventName, props[0].args)\r\n };\r\n action = _this4._createAction(actionFunc, config)\r\n }\r\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\r\n args[_key] = arguments[_key]\r\n }\r\n if ((0, _config.default)().wrapActionsBeforeExecute) {\r\n var beforeActionExecute = _this4.option(\"beforeActionExecute\") || _common.noop;\r\n var wrappedAction = beforeActionExecute(_this4, action, config) || action;\r\n return wrappedAction.apply(_this4, args)\r\n }\r\n return action.apply(_this4, args)\r\n };\r\n if ((0, _config.default)().wrapActionsBeforeExecute) {\r\n return result\r\n }\r\n var onActionCreated = this.option(\"onActionCreated\") || _common.noop;\r\n return onActionCreated(this, result, config) || result\r\n },\r\n on: function(eventName, eventHandler) {\r\n this._eventsStrategy.on(eventName, eventHandler);\r\n return this\r\n },\r\n off: function(eventName, eventHandler) {\r\n this._eventsStrategy.off(eventName, eventHandler);\r\n return this\r\n },\r\n hasActionSubscription: function(actionName) {\r\n return !!this._options.silent(actionName) || this._eventsStrategy.hasEvent(getEventName(actionName))\r\n },\r\n isOptionDeprecated: function(name) {\r\n return this._options.isDeprecated(name)\r\n },\r\n _setOptionWithoutOptionChange: function(name, value) {\r\n this._cancelOptionChange = name;\r\n this.option(name, value);\r\n this._cancelOptionChange = false\r\n },\r\n _getOptionValue: function(name, context) {\r\n var value = this.option(name);\r\n if ((0, _type.isFunction)(value)) {\r\n return value.bind(context)()\r\n }\r\n return value\r\n },\r\n option: function() {\r\n var _this$_options;\r\n return (_this$_options = this._options).option.apply(_this$_options, arguments)\r\n },\r\n resetOption: function(name) {\r\n this.beginUpdate();\r\n this._options.reset(name);\r\n this.endUpdate()\r\n }\r\n});\r\nvar _default = Component;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (events/pointer/observer.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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 (core/templates/template_engines.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n\"use strict\";\r\nvar _dom = require(\"../utils/dom\");\r\nvar _template_engine_registry = require(\"./template_engine_registry\");\r\n(0, _template_engine_registry.registerTemplateEngine)(\"jquery-tmpl\", {\r\n compile: function(element) {\r\n return (0, _dom.extractTemplateMarkup)(element)\r\n },\r\n render: function(template, data) {\r\n return jQuery.tmpl(template, data)\r\n }\r\n});\r\n(0, _template_engine_registry.registerTemplateEngine)(\"jsrender\", {\r\n compile: function(element) {\r\n return (jQuery ? jQuery : jsrender).templates((0, _dom.extractTemplateMarkup)(element))\r\n },\r\n render: function(template, data) {\r\n return template.render(data)\r\n }\r\n});\r\n(0, _template_engine_registry.registerTemplateEngine)(\"mustache\", {\r\n compile: function(element) {\r\n return (0, _dom.extractTemplateMarkup)(element)\r\n },\r\n render: function(template, data) {\r\n return Mustache.render(template, data)\r\n }\r\n});\r\n(0, _template_engine_registry.registerTemplateEngine)(\"hogan\", {\r\n compile: function(element) {\r\n return Hogan.compile((0, _dom.extractTemplateMarkup)(element))\r\n },\r\n render: function(template, data) {\r\n return template.render(data)\r\n }\r\n});\r\n(0, _template_engine_registry.registerTemplateEngine)(\"underscore\", {\r\n compile: function(element) {\r\n return _.template((0, _dom.extractTemplateMarkup)(element))\r\n },\r\n render: function(template, data) {\r\n return template(data)\r\n }\r\n});\r\n(0, _template_engine_registry.registerTemplateEngine)(\"handlebars\", {\r\n compile: function(element) {\r\n return Handlebars.compile((0, _dom.extractTemplateMarkup)(element))\r\n },\r\n render: function(template, data) {\r\n return template(data)\r\n }\r\n});\r\n(0, _template_engine_registry.registerTemplateEngine)(\"doT\", {\r\n compile: function(element) {\r\n return doT.template((0, _dom.extractTemplateMarkup)(element))\r\n },\r\n render: function(template, data) {\r\n return template(data)\r\n }\r\n});\r\n","/**\r\n * DevExtreme (localization/open_xml_currency_format.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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 _default = function(currencySymbol, accountingFormat) {\r\n if (!accountingFormat) {\r\n return\r\n }\r\n var encodedCurrencySymbol = currencySymbol;\r\n if (\"string\" === typeof currencySymbol) {\r\n encodedCurrencySymbol = \"\";\r\n for (var i = 0; i < currencySymbol.length; i++) {\r\n if (\"$\" !== currencySymbol[i]) {\r\n encodedCurrencySymbol += \"\\\\\"\r\n }\r\n encodedCurrencySymbol += currencySymbol[i]\r\n }\r\n }\r\n var encodeSymbols = {\r\n \".00\": \"{0}\",\r\n \"'\": \"\\\\'\",\r\n \"\\\\(\": \"\\\\(\",\r\n \"\\\\)\": \"\\\\)\",\r\n \" \": \"\\\\ \",\r\n '\"': \""\",\r\n \"\\\\\\xa4\": encodedCurrencySymbol\r\n };\r\n var result = accountingFormat.split(\";\");\r\n for (var _i = 0; _i < result.length; _i++) {\r\n for (var symbol in encodeSymbols) {\r\n if (Object.prototype.hasOwnProperty.call(encodeSymbols, symbol)) {\r\n result[_i] = result[_i].replace(new RegExp(symbol, \"g\"), encodeSymbols[symbol])\r\n }\r\n }\r\n }\r\n return 2 === result.length ? result[0] + \"_);\" + result[1] : result[0]\r\n};\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (animation/position.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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 _iterator = require(\"../core/utils/iterator\");\r\nvar _window = require(\"../core/utils/window\");\r\nvar _dom_adapter = _interopRequireDefault(require(\"../core/dom_adapter\"));\r\nvar _type = require(\"../core/utils/type\");\r\nvar _extend = require(\"../core/utils/extend\");\r\nvar _position = require(\"../core/utils/position\");\r\nvar _browser = _interopRequireDefault(require(\"../core/utils/browser\"));\r\nvar _translator = require(\"./translator\");\r\nvar _support = require(\"../core/utils/support\");\r\nvar _devices = _interopRequireDefault(require(\"../core/devices\"));\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 horzRe = /left|right/;\r\nvar vertRe = /top|bottom/;\r\nvar collisionRe = /fit|flip|none/;\r\nvar scaleRe = /scale(.+)/;\r\nvar IS_SAFARI = _browser.default.safari;\r\nvar normalizeAlign = function(raw) {\r\n var result = {\r\n h: \"center\",\r\n v: \"center\"\r\n };\r\n var pair = (0, _common.splitPair)(raw);\r\n if (pair) {\r\n (0, _iterator.each)(pair, function() {\r\n var w = String(this).toLowerCase();\r\n if (horzRe.test(w)) {\r\n result.h = w\r\n } else {\r\n if (vertRe.test(w)) {\r\n result.v = w\r\n }\r\n }\r\n })\r\n }\r\n return result\r\n};\r\nvar normalizeOffset = function(raw) {\r\n return (0, _common.pairToObject)(raw)\r\n};\r\nvar normalizeCollision = function(raw) {\r\n var pair = (0, _common.splitPair)(raw);\r\n var h = String(pair && pair[0]).toLowerCase();\r\n var v = String(pair && pair[1]).toLowerCase();\r\n if (!collisionRe.test(h)) {\r\n h = \"none\"\r\n }\r\n if (!collisionRe.test(v)) {\r\n v = h\r\n }\r\n return {\r\n h: h,\r\n v: v\r\n }\r\n};\r\nvar getAlignFactor = function(align) {\r\n switch (align) {\r\n case \"center\":\r\n return .5;\r\n case \"right\":\r\n case \"bottom\":\r\n return 1;\r\n default:\r\n return 0\r\n }\r\n};\r\nvar inverseAlign = function(align) {\r\n switch (align) {\r\n case \"left\":\r\n return \"right\";\r\n case \"right\":\r\n return \"left\";\r\n case \"top\":\r\n return \"bottom\";\r\n case \"bottom\":\r\n return \"top\";\r\n default:\r\n return align\r\n }\r\n};\r\nvar calculateOversize = function(data, bounds) {\r\n var oversize = 0;\r\n if (data.myLocation < bounds.min) {\r\n oversize += bounds.min - data.myLocation\r\n }\r\n if (data.myLocation > bounds.max) {\r\n oversize += data.myLocation - bounds.max\r\n }\r\n return oversize\r\n};\r\nvar collisionSide = function(direction, data, bounds) {\r\n if (data.myLocation < bounds.min) {\r\n return \"h\" === direction ? \"left\" : \"top\"\r\n }\r\n if (data.myLocation > bounds.max) {\r\n return \"h\" === direction ? \"right\" : \"bottom\"\r\n }\r\n return \"none\"\r\n};\r\nvar initMyLocation = function(data) {\r\n data.myLocation = data.atLocation + getAlignFactor(data.atAlign) * data.atSize - getAlignFactor(data.myAlign) * data.mySize + data.offset\r\n};\r\nvar collisionResolvers = {\r\n fit: function(data, bounds) {\r\n var result = false;\r\n if (data.myLocation > bounds.max) {\r\n data.myLocation = bounds.max;\r\n result = true\r\n }\r\n if (data.myLocation < bounds.min) {\r\n data.myLocation = bounds.min;\r\n result = true\r\n }\r\n data.fit = result\r\n },\r\n flip: function(data, bounds) {\r\n data.flip = false;\r\n if (\"center\" === data.myAlign && \"center\" === data.atAlign) {\r\n return\r\n }\r\n if (data.myLocation < bounds.min || data.myLocation > bounds.max) {\r\n var inverseData = (0, _extend.extend)({}, data, {\r\n myAlign: inverseAlign(data.myAlign),\r\n atAlign: inverseAlign(data.atAlign),\r\n offset: -data.offset\r\n });\r\n initMyLocation(inverseData);\r\n inverseData.oversize = calculateOversize(inverseData, bounds);\r\n if (inverseData.myLocation >= bounds.min && inverseData.myLocation <= bounds.max || data.oversize > inverseData.oversize) {\r\n data.myLocation = inverseData.myLocation;\r\n data.oversize = inverseData.oversize;\r\n data.flip = true\r\n }\r\n }\r\n },\r\n flipfit: function(data, bounds) {\r\n this.flip(data, bounds);\r\n this.fit(data, bounds)\r\n },\r\n none: function(data) {\r\n data.oversize = 0\r\n }\r\n};\r\nvar scrollbarWidth;\r\nvar calculateScrollbarWidth = function() {\r\n var $scrollDiv = (0, _renderer.default)(\"
\").css({\r\n width: 100,\r\n height: 100,\r\n overflow: \"scroll\",\r\n position: \"absolute\",\r\n top: -9999\r\n }).appendTo((0, _renderer.default)(\"body\"));\r\n var result = $scrollDiv.get(0).offsetWidth - $scrollDiv.get(0).clientWidth;\r\n $scrollDiv.remove();\r\n scrollbarWidth = result\r\n};\r\nvar defaultPositionResult = {\r\n h: {\r\n location: 0,\r\n flip: false,\r\n fit: false,\r\n oversize: 0\r\n },\r\n v: {\r\n location: 0,\r\n flip: false,\r\n fit: false,\r\n oversize: 0\r\n }\r\n};\r\nvar calculatePosition = function(what, options) {\r\n var $what = (0, _renderer.default)(what);\r\n var currentOffset = $what.offset();\r\n var result = (0, _extend.extend)(true, {}, defaultPositionResult, {\r\n h: {\r\n location: currentOffset.left\r\n },\r\n v: {\r\n location: currentOffset.top\r\n }\r\n });\r\n if (!options) {\r\n return result\r\n }\r\n var my = normalizeAlign(options.my);\r\n var at = normalizeAlign(options.at);\r\n var of = (0, _renderer.default)(options.of).length && options.of || window;\r\n var offset = normalizeOffset(options.offset);\r\n var collision = normalizeCollision(options.collision);\r\n var boundary = options.boundary;\r\n var boundaryOffset = normalizeOffset(options.boundaryOffset);\r\n var h = {\r\n mySize: $what.outerWidth(),\r\n myAlign: my.h,\r\n atAlign: at.h,\r\n offset: offset.h,\r\n collision: collision.h,\r\n boundaryOffset: boundaryOffset.h\r\n };\r\n var v = {\r\n mySize: $what.outerHeight(),\r\n myAlign: my.v,\r\n atAlign: at.v,\r\n offset: offset.v,\r\n collision: collision.v,\r\n boundaryOffset: boundaryOffset.v\r\n };\r\n if ( of .preventDefault) {\r\n h.atLocation = of .pageX;\r\n v.atLocation = of .pageY;\r\n h.atSize = 0;\r\n v.atSize = 0\r\n } else {\r\n of = (0, _renderer.default)( of );\r\n if ((0, _type.isWindow)( of [0])) {\r\n h.atLocation = of .scrollLeft();\r\n v.atLocation = of .scrollTop();\r\n if (\"phone\" === _devices.default.real().deviceType && of [0].visualViewport) {\r\n h.atLocation = Math.max(h.atLocation, of [0].visualViewport.offsetLeft);\r\n v.atLocation = Math.max(v.atLocation, of [0].visualViewport.offsetTop);\r\n h.atSize = of [0].visualViewport.width;\r\n v.atSize = of [0].visualViewport.height\r\n } else {\r\n h.atSize = of [0].innerWidth > of [0].outerWidth ? of [0].innerWidth : of .width();\r\n v.atSize = of [0].innerHeight > of [0].outerHeight || IS_SAFARI ? of [0].innerHeight : of .height()\r\n }\r\n } else {\r\n if (9 === of [0].nodeType) {\r\n h.atLocation = 0;\r\n v.atLocation = 0;\r\n h.atSize = of .width();\r\n v.atSize = of .height()\r\n } else {\r\n var ofRect = (0, _position.getBoundingRect)( of .get(0));\r\n var o = getOffsetWithoutScale( of );\r\n h.atLocation = o.left;\r\n v.atLocation = o.top;\r\n h.atSize = Math.max(ofRect.width, of .outerWidth());\r\n v.atSize = Math.max(ofRect.height, of .outerHeight())\r\n }\r\n }\r\n }\r\n initMyLocation(h);\r\n initMyLocation(v);\r\n var bounds = function() {\r\n var win = (0, _renderer.default)(window);\r\n var windowWidth = win.width();\r\n var windowHeight = win.height();\r\n var left = win.scrollLeft();\r\n var top = win.scrollTop();\r\n var documentElement = _dom_adapter.default.getDocumentElement();\r\n var hZoomLevel = _support.touch ? documentElement.clientWidth / windowWidth : 1;\r\n var vZoomLevel = _support.touch ? documentElement.clientHeight / windowHeight : 1;\r\n if (void 0 === scrollbarWidth) {\r\n calculateScrollbarWidth()\r\n }\r\n var boundaryWidth = windowWidth;\r\n var boundaryHeight = windowHeight;\r\n if (boundary) {\r\n var $boundary = (0, _renderer.default)(boundary);\r\n var boundaryPosition = $boundary.offset();\r\n left = boundaryPosition.left;\r\n top = boundaryPosition.top;\r\n boundaryWidth = $boundary.width();\r\n boundaryHeight = $boundary.height()\r\n }\r\n return {\r\n h: {\r\n min: left + h.boundaryOffset,\r\n max: left + boundaryWidth / hZoomLevel - h.mySize - h.boundaryOffset\r\n },\r\n v: {\r\n min: top + v.boundaryOffset,\r\n max: top + boundaryHeight / vZoomLevel - v.mySize - v.boundaryOffset\r\n }\r\n }\r\n }();\r\n h.oversize = calculateOversize(h, bounds.h);\r\n v.oversize = calculateOversize(v, bounds.v);\r\n h.collisionSide = collisionSide(\"h\", h, bounds.h);\r\n v.collisionSide = collisionSide(\"v\", v, bounds.v);\r\n if (collisionResolvers[h.collision]) {\r\n collisionResolvers[h.collision](h, bounds.h)\r\n }\r\n if (collisionResolvers[v.collision]) {\r\n collisionResolvers[v.collision](v, bounds.v)\r\n }\r\n var preciser = function(number) {\r\n return options.precise ? number : Math.round(number)\r\n };\r\n (0, _extend.extend)(true, result, {\r\n h: {\r\n location: preciser(h.myLocation),\r\n oversize: preciser(h.oversize),\r\n fit: h.fit,\r\n flip: h.flip,\r\n collisionSide: h.collisionSide\r\n },\r\n v: {\r\n location: preciser(v.myLocation),\r\n oversize: preciser(v.oversize),\r\n fit: v.fit,\r\n flip: v.flip,\r\n collisionSide: v.collisionSide\r\n },\r\n precise: options.precise\r\n });\r\n return result\r\n};\r\nvar getOffsetWithoutScale = function getOffsetWithoutScale($startElement) {\r\n var _currentElement$getAt, _style$match;\r\n var $currentElement = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : $startElement;\r\n var currentElement = $currentElement.get(0);\r\n if (!currentElement) {\r\n return $startElement.offset()\r\n }\r\n var style = (null === (_currentElement$getAt = currentElement.getAttribute) || void 0 === _currentElement$getAt ? void 0 : _currentElement$getAt.call(currentElement, \"style\")) || \"\";\r\n var scale = null === (_style$match = style.match(scaleRe)) || void 0 === _style$match ? void 0 : _style$match[0];\r\n var offset;\r\n if (scale) {\r\n currentElement.setAttribute(\"style\", style.replace(scale, \"\"));\r\n offset = getOffsetWithoutScale($startElement, $currentElement.parent());\r\n currentElement.setAttribute(\"style\", style)\r\n } else {\r\n offset = getOffsetWithoutScale($startElement, $currentElement.parent())\r\n }\r\n return offset\r\n};\r\nvar position = function(what, options) {\r\n var $what = (0, _renderer.default)(what);\r\n if (!options) {\r\n return $what.offset()\r\n }(0, _translator.resetPosition)($what, true);\r\n var offset = getOffsetWithoutScale($what);\r\n var targetPosition = options.h && options.v ? options : calculatePosition($what, options);\r\n var preciser = function(number) {\r\n return options.precise ? number : Math.round(number)\r\n };\r\n (0, _translator.move)($what, {\r\n left: targetPosition.h.location - preciser(offset.left),\r\n top: targetPosition.v.location - preciser(offset.top)\r\n });\r\n return targetPosition\r\n};\r\nvar offset = function(element) {\r\n element = (0, _renderer.default)(element).get(0);\r\n if ((0, _type.isWindow)(element)) {\r\n return null\r\n } else {\r\n if (element && \"pageY\" in element && \"pageX\" in element) {\r\n return {\r\n top: element.pageY,\r\n left: element.pageX\r\n }\r\n }\r\n }\r\n return (0, _renderer.default)(element).offset()\r\n};\r\nif (!position.inverseAlign) {\r\n position.inverseAlign = inverseAlign\r\n}\r\nif (!position.normalizeAlign) {\r\n position.normalizeAlign = normalizeAlign\r\n}\r\nvar _default = {\r\n calculateScrollbarWidth: calculateScrollbarWidth,\r\n calculate: calculatePosition,\r\n setup: position,\r\n offset: offset\r\n};\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (core/utils/dom.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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.createTextElementHiddenCopy = exports.contains = exports.clipboardText = exports.normalizeTemplateElement = exports.extractTemplateMarkup = exports.closestCommonParent = exports.clearSelection = exports.resetActiveElement = void 0;\r\nvar _dom_adapter = _interopRequireDefault(require(\"../../core/dom_adapter\"));\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\nvar _type = require(\"./type\");\r\nvar _window = require(\"./window\");\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 resetActiveElement = function() {\r\n var activeElement = _dom_adapter.default.getActiveElement();\r\n var body = _dom_adapter.default.getBody();\r\n if (activeElement && activeElement !== body && activeElement.blur) {\r\n try {\r\n activeElement.blur()\r\n } catch (e) {\r\n body.blur()\r\n }\r\n }\r\n};\r\nexports.resetActiveElement = resetActiveElement;\r\nvar clearSelection = function() {\r\n var selection = window.getSelection();\r\n if (!selection) {\r\n return\r\n }\r\n if (\"Caret\" === selection.type) {\r\n return\r\n }\r\n if (selection.empty) {\r\n selection.empty()\r\n } else {\r\n if (selection.removeAllRanges) {\r\n try {\r\n selection.removeAllRanges()\r\n } catch (e) {}\r\n }\r\n }\r\n};\r\nexports.clearSelection = clearSelection;\r\nvar closestCommonParent = function(startTarget, endTarget) {\r\n var $startTarget = (0, _renderer.default)(startTarget);\r\n var $endTarget = (0, _renderer.default)(endTarget);\r\n if ($startTarget[0] === $endTarget[0]) {\r\n return $startTarget[0]\r\n }\r\n var $startParents = $startTarget.parents();\r\n var $endParents = $endTarget.parents();\r\n var startingParent = Math.min($startParents.length, $endParents.length);\r\n for (var i = -startingParent; i < 0; i++) {\r\n if ($startParents.get(i) === $endParents.get(i)) {\r\n return $startParents.get(i)\r\n }\r\n }\r\n};\r\nexports.closestCommonParent = closestCommonParent;\r\nvar extractTemplateMarkup = function(element) {\r\n element = (0, _renderer.default)(element);\r\n var templateTag = element.length && element.filter(function() {\r\n var $node = (0, _renderer.default)(this);\r\n return $node.is(\"script[type]\") && $node.attr(\"type\").indexOf(\"script\") < 0\r\n });\r\n if (templateTag.length) {\r\n return templateTag.eq(0).html()\r\n } else {\r\n element = (0, _renderer.default)(\"
\").append(element);\r\n return element.html()\r\n }\r\n};\r\nexports.extractTemplateMarkup = extractTemplateMarkup;\r\nvar normalizeTemplateElement = function normalizeTemplateElement(element) {\r\n var $element = (0, _type.isDefined)(element) && (element.nodeType || (0, _type.isRenderer)(element)) ? (0, _renderer.default)(element) : (0, _renderer.default)(\"
\").html(element).contents();\r\n if (1 === $element.length) {\r\n if ($element.is(\"script\")) {\r\n $element = normalizeTemplateElement($element.html().trim())\r\n } else {\r\n if ($element.is(\"table\")) {\r\n $element = $element.children(\"tbody\").contents()\r\n }\r\n }\r\n }\r\n return $element\r\n};\r\nexports.normalizeTemplateElement = normalizeTemplateElement;\r\nvar clipboardText = function(event, text) {\r\n var clipboard = event.originalEvent && event.originalEvent.clipboardData || window.clipboardData;\r\n if (1 === arguments.length) {\r\n return clipboard && clipboard.getData(\"Text\")\r\n }\r\n clipboard && clipboard.setData(\"Text\", text)\r\n};\r\nexports.clipboardText = clipboardText;\r\nvar contains = function contains(container, element) {\r\n if (!element) {\r\n return false\r\n }\r\n if (_dom_adapter.default.isTextNode(element)) {\r\n element = element.parentNode\r\n }\r\n if (_dom_adapter.default.isDocument(container)) {\r\n return container.documentElement.contains(element)\r\n }\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\nexports.contains = contains;\r\nvar createTextElementHiddenCopy = function(element, text, options) {\r\n var elementStyles = window.getComputedStyle((0, _renderer.default)(element).get(0));\r\n var includePaddings = options && options.includePaddings;\r\n return (0, _renderer.default)(\"
\").text(text).css({\r\n fontStyle: elementStyles.fontStyle,\r\n fontVariant: elementStyles.fontVariant,\r\n fontWeight: elementStyles.fontWeight,\r\n fontSize: elementStyles.fontSize,\r\n fontFamily: elementStyles.fontFamily,\r\n letterSpacing: elementStyles.letterSpacing,\r\n border: elementStyles.border,\r\n paddingTop: includePaddings ? elementStyles.paddingTop : \"\",\r\n paddingRight: includePaddings ? elementStyles.paddingRight : \"\",\r\n paddingBottom: includePaddings ? elementStyles.paddingBottom : \"\",\r\n paddingLeft: includePaddings ? elementStyles.paddingLeft : \"\",\r\n visibility: \"hidden\",\r\n whiteSpace: \"pre\",\r\n position: \"absolute\",\r\n \"float\": \"left\"\r\n })\r\n};\r\nexports.createTextElementHiddenCopy = createTextElementHiddenCopy;\r\n","/**\r\n * DevExtreme (events/pointer/base.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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 (ui/text_box/utils.caret.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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 _type = require(\"../../core/utils/type\");\r\nvar _browser = _interopRequireDefault(require(\"../../core/utils/browser\"));\r\nvar _devices = _interopRequireDefault(require(\"../../core/devices\"));\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 _devices$real = _devices.default.real(),\r\n ios = _devices$real.ios,\r\n mac = _devices$real.mac;\r\nvar isFocusingOnCaretChange = _browser.default.msie || ios || mac;\r\nvar getCaret = function(input) {\r\n var range;\r\n try {\r\n range = {\r\n start: input.selectionStart,\r\n end: input.selectionEnd\r\n }\r\n } catch (e) {\r\n range = {\r\n start: 0,\r\n end: 0\r\n }\r\n }\r\n return range\r\n};\r\nvar setCaret = function(input, position) {\r\n if (!_dom_adapter.default.getBody().contains(input)) {\r\n return\r\n }\r\n try {\r\n input.selectionStart = position.start;\r\n input.selectionEnd = position.end\r\n } catch (e) {}\r\n};\r\nvar caret = function(input, position) {\r\n input = (0, _renderer.default)(input).get(0);\r\n if (!(0, _type.isDefined)(position)) {\r\n return getCaret(input)\r\n }\r\n if (isFocusingOnCaretChange && _dom_adapter.default.getActiveElement() !== input) {\r\n return\r\n }\r\n setCaret(input, position)\r\n};\r\nvar _default = caret;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (core/utils/ready_callbacks.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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 _dom_adapter = _interopRequireDefault(require(\"../dom_adapter\"));\r\nvar _dependency_injector = _interopRequireDefault(require(\"./dependency_injector\"));\r\nvar _window = require(\"./window\");\r\nvar _call_once = _interopRequireDefault(require(\"./call_once\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar callbacks = [];\r\nvar isReady = function() {\r\n return \"complete\" === _dom_adapter.default.getReadyState() || \"loading\" !== _dom_adapter.default.getReadyState() && !_dom_adapter.default.getDocumentElement().doScroll\r\n};\r\nvar subscribeReady = (0, _call_once.default)(function() {\r\n var removeListener = _dom_adapter.default.listen(_dom_adapter.default.getDocument(), \"DOMContentLoaded\", function() {\r\n readyCallbacks.fire();\r\n removeListener()\r\n })\r\n});\r\nvar readyCallbacks = {\r\n add: function(callback) {\r\n var windowExists = (0, _window.hasWindow)();\r\n if (windowExists && isReady()) {\r\n callback()\r\n } else {\r\n callbacks.push(callback);\r\n windowExists && subscribeReady()\r\n }\r\n },\r\n fire: function() {\r\n callbacks.forEach(function(callback) {\r\n return callback()\r\n });\r\n callbacks = []\r\n }\r\n};\r\nvar _default = (0, _dependency_injector.default)(readyCallbacks);\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (core/utils/inflector.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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.captionize = exports.titleize = exports.humanize = exports.camelize = exports.underscore = exports.dasherize = void 0;\r\nvar _iterator = require(\"./iterator\");\r\nvar _normalize = function(text) {\r\n if (void 0 === text || null === text) {\r\n return \"\"\r\n }\r\n return String(text)\r\n};\r\nvar _upperCaseFirst = function(text) {\r\n return _normalize(text).charAt(0).toUpperCase() + text.substr(1)\r\n};\r\nvar _chop = function(text) {\r\n return _normalize(text).replace(/([a-z\\d])([A-Z])/g, \"$1 $2\").split(/[\\s_-]+/)\r\n};\r\nvar dasherize = function(text) {\r\n return (0, _iterator.map)(_chop(text), function(p) {\r\n return p.toLowerCase()\r\n }).join(\"-\")\r\n};\r\nexports.dasherize = dasherize;\r\nvar underscore = function(text) {\r\n return dasherize(text).replace(/-/g, \"_\")\r\n};\r\nexports.underscore = underscore;\r\nvar camelize = function(text, upperFirst) {\r\n return (0, _iterator.map)(_chop(text), function(p, i) {\r\n p = p.toLowerCase();\r\n if (upperFirst || i > 0) {\r\n p = _upperCaseFirst(p)\r\n }\r\n return p\r\n }).join(\"\")\r\n};\r\nexports.camelize = camelize;\r\nvar humanize = function(text) {\r\n return _upperCaseFirst(dasherize(text).replace(/-/g, \" \"))\r\n};\r\nexports.humanize = humanize;\r\nvar titleize = function(text) {\r\n return (0, _iterator.map)(_chop(text), function(p) {\r\n return _upperCaseFirst(p.toLowerCase())\r\n }).join(\" \")\r\n};\r\nexports.titleize = titleize;\r\nvar DIGIT_CHARS = [\"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\"];\r\nvar captionize = function(name) {\r\n var captionList = [];\r\n var i;\r\n var char;\r\n var isPrevCharNewWord = false;\r\n var isNewWord = false;\r\n for (i = 0; i < name.length; i++) {\r\n char = name.charAt(i);\r\n isNewWord = char === char.toUpperCase() && \"-\" !== char && \")\" !== char && \"/\" !== char || char in DIGIT_CHARS;\r\n if (\"_\" === char || \".\" === char) {\r\n char = \" \";\r\n isNewWord = true\r\n } else {\r\n if (0 === i) {\r\n char = char.toUpperCase();\r\n isNewWord = true\r\n } else {\r\n if (!isPrevCharNewWord && isNewWord) {\r\n if (captionList.length > 0) {\r\n captionList.push(\" \")\r\n }\r\n }\r\n }\r\n }\r\n captionList.push(char);\r\n isPrevCharNewWord = isNewWord\r\n }\r\n return captionList.join(\"\")\r\n};\r\nexports.captionize = captionize;\r\n","/**\r\n * DevExtreme (events/pointer/mouse.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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 (ui/widget/utils.ink_ripple.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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.showWave = showWave;\r\nexports.hideWave = hideWave;\r\nexports.render = exports.initConfig = void 0;\r\nvar _renderer = _interopRequireDefault(require(\"../../core/renderer\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar INKRIPPLE_CLASS = \"dx-inkripple\";\r\nvar INKRIPPLE_WAVE_CLASS = \"dx-inkripple-wave\";\r\nvar INKRIPPLE_SHOWING_CLASS = \"dx-inkripple-showing\";\r\nvar INKRIPPLE_HIDING_CLASS = \"dx-inkripple-hiding\";\r\nvar DEFAULT_WAVE_SIZE_COEFFICIENT = 2;\r\nvar MAX_WAVE_SIZE = 4e3;\r\nvar ANIMATION_DURATION = 300;\r\nvar HOLD_ANIMATION_DURATION = 1e3;\r\nvar DEFAULT_WAVE_INDEX = 0;\r\nvar initConfig = function() {\r\n var config = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};\r\n var useHoldAnimation = config.useHoldAnimation,\r\n waveSizeCoefficient = config.waveSizeCoefficient,\r\n isCentered = config.isCentered,\r\n wavesNumber = config.wavesNumber;\r\n return {\r\n waveSizeCoefficient: waveSizeCoefficient || DEFAULT_WAVE_SIZE_COEFFICIENT,\r\n isCentered: isCentered || false,\r\n wavesNumber: wavesNumber || 1,\r\n durations: getDurations(null !== useHoldAnimation && void 0 !== useHoldAnimation ? useHoldAnimation : true)\r\n }\r\n};\r\nexports.initConfig = initConfig;\r\nvar render = function(args) {\r\n var config = initConfig(args);\r\n return {\r\n showWave: showWave.bind(this, config),\r\n hideWave: hideWave.bind(this, config)\r\n }\r\n};\r\nexports.render = render;\r\nvar getInkRipple = function(element) {\r\n var result = element.children(\".\" + INKRIPPLE_CLASS);\r\n if (0 === result.length) {\r\n result = (0, _renderer.default)(\"
\").addClass(INKRIPPLE_CLASS).appendTo(element)\r\n }\r\n return result\r\n};\r\nvar getWaves = function(element, wavesNumber) {\r\n var inkRipple = getInkRipple((0, _renderer.default)(element));\r\n var result = inkRipple.children(\".\" + INKRIPPLE_WAVE_CLASS).toArray();\r\n for (var i = result.length; i < wavesNumber; i++) {\r\n var $currentWave = (0, _renderer.default)(\"
\").appendTo(inkRipple).addClass(INKRIPPLE_WAVE_CLASS);\r\n result.push($currentWave[0])\r\n }\r\n return (0, _renderer.default)(result)\r\n};\r\nvar getWaveStyleConfig = function(args, config) {\r\n var element = (0, _renderer.default)(config.element);\r\n var elementWidth = element.outerWidth();\r\n var elementHeight = element.outerHeight();\r\n var elementDiagonal = parseInt(Math.sqrt(elementWidth * elementWidth + elementHeight * elementHeight));\r\n var waveSize = Math.min(MAX_WAVE_SIZE, parseInt(elementDiagonal * args.waveSizeCoefficient));\r\n var left;\r\n var top;\r\n if (args.isCentered) {\r\n left = (elementWidth - waveSize) / 2;\r\n top = (elementHeight - waveSize) / 2\r\n } else {\r\n var event = config.event;\r\n var position = element.offset();\r\n var x = event.pageX - position.left;\r\n var y = event.pageY - position.top;\r\n left = x - waveSize / 2;\r\n top = y - waveSize / 2\r\n }\r\n return {\r\n left: left,\r\n top: top,\r\n height: waveSize,\r\n width: waveSize\r\n }\r\n};\r\n\r\nfunction showWave(args, config) {\r\n var $wave = getWaves(config.element, args.wavesNumber).eq(config.wave || DEFAULT_WAVE_INDEX);\r\n args.hidingTimeout && clearTimeout(args.hidingTimeout);\r\n hideSelectedWave($wave);\r\n $wave.css(getWaveStyleConfig(args, config));\r\n args.showingTimeout = setTimeout(showingWaveHandler.bind(this, args, $wave), 0)\r\n}\r\n\r\nfunction showingWaveHandler(args, $wave) {\r\n var durationCss = args.durations.showingScale + \"ms\";\r\n $wave.addClass(INKRIPPLE_SHOWING_CLASS).css(\"transitionDuration\", durationCss)\r\n}\r\n\r\nfunction getDurations(useHoldAnimation) {\r\n return {\r\n showingScale: useHoldAnimation ? HOLD_ANIMATION_DURATION : ANIMATION_DURATION,\r\n hidingScale: ANIMATION_DURATION,\r\n hidingOpacity: ANIMATION_DURATION\r\n }\r\n}\r\n\r\nfunction hideSelectedWave($wave) {\r\n $wave.removeClass(INKRIPPLE_HIDING_CLASS).css(\"transitionDuration\", \"\")\r\n}\r\n\r\nfunction hideWave(args, config) {\r\n args.showingTimeout && clearTimeout(args.showingTimeout);\r\n var $wave = getWaves(config.element, config.wavesNumber).eq(config.wave || DEFAULT_WAVE_INDEX);\r\n var durations = args.durations;\r\n var durationCss = durations.hidingScale + \"ms, \" + durations.hidingOpacity + \"ms\";\r\n $wave.addClass(INKRIPPLE_HIDING_CLASS).removeClass(INKRIPPLE_SHOWING_CLASS).css(\"transitionDuration\", durationCss);\r\n var animationDuration = Math.max(durations.hidingScale, durations.hidingOpacity);\r\n args.hidingTimeout = setTimeout(hideSelectedWave.bind(this, $wave), animationDuration)\r\n}\r\n","/**\r\n * DevExtreme (ui/text_box/ui.text_editor.base.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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 _dom_adapter = _interopRequireDefault(require(\"../../core/dom_adapter\"));\r\nvar _events_engine = _interopRequireDefault(require(\"../../events/core/events_engine\"));\r\nvar _dom = require(\"../../core/utils/dom\");\r\nvar _selectors = require(\"../widget/selectors\");\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _array = require(\"../../core/utils/array\");\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar _themes = require(\"../themes\");\r\nvar _devices = _interopRequireDefault(require(\"../../core/devices\"));\r\nvar _editor = _interopRequireDefault(require(\"../editor/editor\"));\r\nvar _index = require(\"../../events/utils/index\");\r\nvar _pointer = _interopRequireDefault(require(\"../../events/pointer\"));\r\nvar _uiText_editor = _interopRequireDefault(require(\"./ui.text_editor.clear\"));\r\nvar _index2 = _interopRequireDefault(require(\"./texteditor_button_collection/index\"));\r\nvar _config = _interopRequireDefault(require(\"../../core/config\"));\r\nvar _ui = _interopRequireDefault(require(\"../widget/ui.errors\"));\r\nvar _deferred = require(\"../../core/utils/deferred\");\r\nvar _load_indicator = _interopRequireDefault(require(\"../load_indicator\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar TEXTEDITOR_CLASS = \"dx-texteditor\";\r\nvar TEXTEDITOR_INPUT_CONTAINER_CLASS = \"dx-texteditor-input-container\";\r\nvar TEXTEDITOR_INPUT_CLASS = \"dx-texteditor-input\";\r\nvar TEXTEDITOR_INPUT_SELECTOR = \".\" + TEXTEDITOR_INPUT_CLASS;\r\nvar TEXTEDITOR_CONTAINER_CLASS = \"dx-texteditor-container\";\r\nvar TEXTEDITOR_BUTTONS_CONTAINER_CLASS = \"dx-texteditor-buttons-container\";\r\nvar TEXTEDITOR_PLACEHOLDER_CLASS = \"dx-placeholder\";\r\nvar TEXTEDITOR_EMPTY_INPUT_CLASS = \"dx-texteditor-empty\";\r\nvar TEXTEDITOR_STYLING_MODE_PREFIX = \"dx-editor-\";\r\nvar ALLOWED_STYLE_CLASSES = [TEXTEDITOR_STYLING_MODE_PREFIX + \"outlined\", TEXTEDITOR_STYLING_MODE_PREFIX + \"filled\", TEXTEDITOR_STYLING_MODE_PREFIX + \"underlined\"];\r\nvar STATE_INVISIBLE_CLASS = \"dx-state-invisible\";\r\nvar TEXTEDITOR_PENDING_INDICATOR_CLASS = \"dx-pending-indicator\";\r\nvar TEXTEDITOR_VALIDATION_PENDING_CLASS = \"dx-validation-pending\";\r\nvar TEXTEDITOR_VALID_CLASS = \"dx-valid\";\r\nvar EVENTS_LIST = [\"KeyDown\", \"KeyPress\", \"KeyUp\", \"Change\", \"Cut\", \"Copy\", \"Paste\", \"Input\"];\r\nvar CONTROL_KEYS = [\"tab\", \"enter\", \"shift\", \"control\", \"alt\", \"escape\", \"pageUp\", \"pageDown\", \"end\", \"home\", \"leftArrow\", \"upArrow\", \"rightArrow\", \"downArrow\"];\r\n\r\nfunction checkButtonsOptionType(buttons) {\r\n if ((0, _type.isDefined)(buttons) && !Array.isArray(buttons)) {\r\n throw _ui.default.Error(\"E1053\")\r\n }\r\n}\r\nvar TextEditorBase = _editor.default.inherit({\r\n ctor: function(_, options) {\r\n if (options) {\r\n checkButtonsOptionType(options.buttons)\r\n }\r\n this._buttonCollection = new _index2.default(this, this._getDefaultButtons());\r\n this._$beforeButtonsContainer = null;\r\n this._$afterButtonsContainer = null;\r\n this.callBase.apply(this, arguments)\r\n },\r\n _getDefaultOptions: function() {\r\n return (0, _extend.extend)(this.callBase(), {\r\n buttons: void 0,\r\n value: \"\",\r\n spellcheck: false,\r\n showClearButton: false,\r\n valueChangeEvent: \"change\",\r\n placeholder: \"\",\r\n inputAttr: {},\r\n onFocusIn: null,\r\n onFocusOut: null,\r\n onKeyDown: null,\r\n onKeyPress: null,\r\n onKeyUp: null,\r\n onChange: null,\r\n onInput: null,\r\n onCut: null,\r\n onCopy: null,\r\n onPaste: null,\r\n onEnterKey: null,\r\n mode: \"text\",\r\n hoverStateEnabled: true,\r\n focusStateEnabled: true,\r\n text: void 0,\r\n displayValueFormatter: function(value) {\r\n return (0, _type.isDefined)(value) && false !== value ? value : \"\"\r\n },\r\n stylingMode: (0, _config.default)().editorStylingMode || \"outlined\",\r\n showValidationMark: true\r\n })\r\n },\r\n _defaultOptionsRules: function() {\r\n var themeName = (0, _themes.current)();\r\n return this.callBase().concat([{\r\n device: function() {\r\n return (0, _themes.isMaterial)(themeName)\r\n },\r\n options: {\r\n stylingMode: (0, _config.default)().editorStylingMode || \"underlined\"\r\n }\r\n }])\r\n },\r\n _setDeprecatedOptions: function() {\r\n this.callBase();\r\n (0, _extend.extend)(this._deprecatedOptions, {\r\n onKeyPress: {\r\n since: \"20.1\",\r\n message: \"This event is removed from the web standards and will be deprecated in modern browsers soon.\"\r\n }\r\n })\r\n },\r\n _getDefaultButtons: function() {\r\n return [{\r\n name: \"clear\",\r\n Ctor: _uiText_editor.default\r\n }]\r\n },\r\n _isClearButtonVisible: function() {\r\n return this.option(\"showClearButton\") && !this.option(\"readOnly\")\r\n },\r\n _input: function() {\r\n return this.$element().find(TEXTEDITOR_INPUT_SELECTOR).first()\r\n },\r\n _isFocused: function() {\r\n return (0, _selectors.focused)(this._input()) || this.callBase()\r\n },\r\n _inputWrapper: function() {\r\n return this.$element()\r\n },\r\n _buttonsContainer: function() {\r\n return this._inputWrapper().find(\".\" + TEXTEDITOR_BUTTONS_CONTAINER_CLASS).eq(0)\r\n },\r\n _isControlKey: function(key) {\r\n return CONTROL_KEYS.indexOf(key) !== -1\r\n },\r\n _renderStylingMode: function() {\r\n var _this = this;\r\n var optionName = \"stylingMode\";\r\n var optionValue = this.option(optionName);\r\n ALLOWED_STYLE_CLASSES.forEach(function(className) {\r\n return _this.$element().removeClass(className)\r\n });\r\n var stylingModeClass = TEXTEDITOR_STYLING_MODE_PREFIX + optionValue;\r\n if (ALLOWED_STYLE_CLASSES.indexOf(stylingModeClass) === -1) {\r\n var defaultOptionValue = this._getDefaultOptions()[optionName];\r\n var platformOptionValue = this._convertRulesToOptions(this._defaultOptionsRules())[optionName];\r\n stylingModeClass = TEXTEDITOR_STYLING_MODE_PREFIX + (platformOptionValue || defaultOptionValue)\r\n }\r\n this.$element().addClass(stylingModeClass);\r\n this._updateButtonsStyling(optionValue)\r\n },\r\n _initMarkup: function() {\r\n this.$element().addClass(TEXTEDITOR_CLASS);\r\n this._renderInput();\r\n this._renderStylingMode();\r\n this._renderInputType();\r\n this._renderPlaceholder();\r\n this._renderProps();\r\n this.callBase();\r\n this._renderValue()\r\n },\r\n _render: function() {\r\n this._renderPlaceholder();\r\n this._refreshValueChangeEvent();\r\n this._renderEvents();\r\n this._renderEnterKeyAction();\r\n this._renderEmptinessEvent();\r\n this.callBase()\r\n },\r\n _renderInput: function() {\r\n this._$buttonsContainer = this._$textEditorContainer = (0, _renderer.default)(\"
\").addClass(TEXTEDITOR_CONTAINER_CLASS).appendTo(this.$element());\r\n this._$textEditorInputContainer = (0, _renderer.default)(\"
\").addClass(TEXTEDITOR_INPUT_CONTAINER_CLASS).appendTo(this._$textEditorContainer);\r\n this._$textEditorInputContainer.append(this._createInput());\r\n this._renderButtonContainers()\r\n },\r\n _getInputContainer: function() {\r\n return this._$textEditorInputContainer\r\n },\r\n _renderPendingIndicator: function() {\r\n this.$element().addClass(TEXTEDITOR_VALIDATION_PENDING_CLASS);\r\n var $inputContainer = this._getInputContainer();\r\n var $indicatorElement = (0, _renderer.default)(\"
\").addClass(TEXTEDITOR_PENDING_INDICATOR_CLASS).appendTo($inputContainer);\r\n this._pendingIndicator = this._createComponent($indicatorElement, _load_indicator.default)\r\n },\r\n _disposePendingIndicator: function() {\r\n if (!this._pendingIndicator) {\r\n return\r\n }\r\n this._pendingIndicator.dispose();\r\n this._pendingIndicator.$element().remove();\r\n this._pendingIndicator = null;\r\n this.$element().removeClass(TEXTEDITOR_VALIDATION_PENDING_CLASS)\r\n },\r\n _renderValidationState: function() {\r\n this.callBase();\r\n var isPending = \"pending\" === this.option(\"validationStatus\");\r\n var $element = this.$element();\r\n if (isPending) {\r\n !this._pendingIndicator && this._renderPendingIndicator();\r\n this._showValidMark = false\r\n } else {\r\n if (\"invalid\" === this.option(\"validationStatus\")) {\r\n this._showValidMark = false\r\n }\r\n if (!this._showValidMark && true === this.option(\"showValidationMark\")) {\r\n this._showValidMark = \"valid\" === this.option(\"validationStatus\") && !!this._pendingIndicator\r\n }\r\n this._disposePendingIndicator()\r\n }\r\n $element.toggleClass(TEXTEDITOR_VALID_CLASS, !!this._showValidMark)\r\n },\r\n _renderButtonContainers: function() {\r\n var buttons = this.option(\"buttons\");\r\n this._$beforeButtonsContainer = this._buttonCollection.renderBeforeButtons(buttons, this._$buttonsContainer);\r\n this._$afterButtonsContainer = this._buttonCollection.renderAfterButtons(buttons, this._$buttonsContainer)\r\n },\r\n _clean: function() {\r\n this._buttonCollection.clean();\r\n this._disposePendingIndicator();\r\n this._$beforeButtonsContainer = null;\r\n this._$afterButtonsContainer = null;\r\n this._$textEditorContainer = null;\r\n this._$buttonsContainer = null;\r\n this.callBase()\r\n },\r\n _createInput: function() {\r\n var $input = (0, _renderer.default)(\"\");\r\n this._applyInputAttributes($input, this.option(\"inputAttr\"));\r\n return $input\r\n },\r\n _setSubmitElementName: function(name) {\r\n var inputAttrName = this.option(\"inputAttr.name\");\r\n return this.callBase(name || inputAttrName || \"\")\r\n },\r\n _applyInputAttributes: function($input, customAttributes) {\r\n var inputAttributes = (0, _extend.extend)(this._getDefaultAttributes(), customAttributes);\r\n $input.attr(inputAttributes).addClass(TEXTEDITOR_INPUT_CLASS).css(\"minHeight\", this.option(\"height\") ? \"0\" : \"\")\r\n },\r\n _getDefaultAttributes: function() {\r\n var defaultAttributes = {\r\n autocomplete: \"off\"\r\n };\r\n var _devices$real = _devices.default.real(),\r\n ios = _devices$real.ios,\r\n mac = _devices$real.mac;\r\n if (ios || mac) {\r\n defaultAttributes.placeholder = \" \"\r\n }\r\n return defaultAttributes\r\n },\r\n _updateButtons: function(names) {\r\n this._buttonCollection.updateButtons(names)\r\n },\r\n _updateButtonsStyling: function(editorStylingMode) {\r\n var _this2 = this;\r\n (0, _iterator.each)(this.option(\"buttons\"), function(_, buttonOptions) {\r\n if (buttonOptions.options && !buttonOptions.options.stylingMode) {\r\n var buttonInstance = _this2.getButton(buttonOptions.name);\r\n buttonInstance.option && buttonInstance.option(\"stylingMode\", \"underlined\" === editorStylingMode ? \"text\" : \"contained\")\r\n }\r\n })\r\n },\r\n _renderValue: function() {\r\n var renderInputPromise = this._renderInputValue();\r\n return renderInputPromise.promise()\r\n },\r\n _renderInputValue: function(value) {\r\n var _value;\r\n value = null !== (_value = value) && void 0 !== _value ? _value : this.option(\"value\");\r\n var text = this.option(\"text\");\r\n var displayValue = this.option(\"displayValue\");\r\n var displayValueFormatter = this.option(\"displayValueFormatter\");\r\n if (void 0 !== displayValue && null !== value) {\r\n text = displayValueFormatter(displayValue)\r\n } else {\r\n if (!(0, _type.isDefined)(text)) {\r\n text = displayValueFormatter(value)\r\n }\r\n }\r\n this.option(\"text\", text);\r\n if (this._input().val() !== ((0, _type.isDefined)(text) ? text : \"\")) {\r\n this._renderDisplayText(text)\r\n } else {\r\n this._toggleEmptinessEventHandler()\r\n }\r\n return (new _deferred.Deferred).resolve()\r\n },\r\n _renderDisplayText: function(text) {\r\n this._input().val(text);\r\n this._toggleEmptinessEventHandler()\r\n },\r\n _isValueValid: function() {\r\n if (this._input().length) {\r\n var validity = this._input().get(0).validity;\r\n if (validity) {\r\n return validity.valid\r\n }\r\n }\r\n return true\r\n },\r\n _toggleEmptiness: function(isEmpty) {\r\n this.$element().toggleClass(TEXTEDITOR_EMPTY_INPUT_CLASS, isEmpty);\r\n this._togglePlaceholder(isEmpty)\r\n },\r\n _togglePlaceholder: function(isEmpty) {\r\n this.$element().find(\".\".concat(TEXTEDITOR_PLACEHOLDER_CLASS)).eq(0).toggleClass(STATE_INVISIBLE_CLASS, !isEmpty)\r\n },\r\n _renderProps: function() {\r\n this._toggleReadOnlyState();\r\n this._toggleSpellcheckState();\r\n this._toggleTabIndex()\r\n },\r\n _toggleDisabledState: function(value) {\r\n this.callBase.apply(this, arguments);\r\n var $input = this._input();\r\n $input.prop(\"disabled\", value)\r\n },\r\n _toggleTabIndex: function() {\r\n var $input = this._input();\r\n var disabled = this.option(\"disabled\");\r\n var focusStateEnabled = this.option(\"focusStateEnabled\");\r\n if (disabled || !focusStateEnabled) {\r\n $input.attr(\"tabIndex\", -1)\r\n } else {\r\n $input.removeAttr(\"tabIndex\")\r\n }\r\n },\r\n _toggleReadOnlyState: function() {\r\n this._input().prop(\"readOnly\", this._readOnlyPropValue());\r\n this.callBase()\r\n },\r\n _readOnlyPropValue: function() {\r\n return this.option(\"readOnly\")\r\n },\r\n _toggleSpellcheckState: function() {\r\n this._input().prop(\"spellcheck\", this.option(\"spellcheck\"))\r\n },\r\n _renderPlaceholder: function() {\r\n this._renderPlaceholderMarkup();\r\n this._attachPlaceholderEvents()\r\n },\r\n _renderPlaceholderMarkup: function() {\r\n if (this._$placeholder) {\r\n this._$placeholder.remove();\r\n this._$placeholder = null\r\n }\r\n var $input = this._input();\r\n var placeholderText = this.option(\"placeholder\");\r\n var $placeholder = this._$placeholder = (0, _renderer.default)(\"
\").attr(\"data-dx_placeholder\", placeholderText);\r\n $placeholder.insertAfter($input);\r\n $placeholder.addClass(TEXTEDITOR_PLACEHOLDER_CLASS)\r\n },\r\n _attachPlaceholderEvents: function() {\r\n var _this3 = this;\r\n var startEvent = (0, _index.addNamespace)(_pointer.default.up, this.NAME);\r\n _events_engine.default.on(this._$placeholder, startEvent, function() {\r\n _events_engine.default.trigger(_this3._input(), \"focus\")\r\n });\r\n this._toggleEmptinessEventHandler()\r\n },\r\n _placeholder: function() {\r\n return this._$placeholder || (0, _renderer.default)()\r\n },\r\n _clearValueHandler: function(e) {\r\n var $input = this._input();\r\n e.stopPropagation();\r\n this._saveValueChangeEvent(e);\r\n this._clearValue();\r\n !this._isFocused() && _events_engine.default.trigger($input, \"focus\");\r\n _events_engine.default.trigger($input, \"input\")\r\n },\r\n _clearValue: function() {\r\n this.reset()\r\n },\r\n _renderEvents: function() {\r\n var _this4 = this;\r\n var $input = this._input();\r\n (0, _iterator.each)(EVENTS_LIST, function(_, event) {\r\n if (_this4.hasActionSubscription(\"on\" + event)) {\r\n var action = _this4._createActionByOption(\"on\" + event, {\r\n excludeValidators: [\"readOnly\"]\r\n });\r\n _events_engine.default.on($input, (0, _index.addNamespace)(event.toLowerCase(), _this4.NAME), function(e) {\r\n if (_this4._disposed) {\r\n return\r\n }\r\n action({\r\n event: e\r\n })\r\n })\r\n }\r\n })\r\n },\r\n _refreshEvents: function() {\r\n var _this5 = this;\r\n var $input = this._input();\r\n (0, _iterator.each)(EVENTS_LIST, function(_, event) {\r\n _events_engine.default.off($input, (0, _index.addNamespace)(event.toLowerCase(), _this5.NAME))\r\n });\r\n this._renderEvents()\r\n },\r\n _keyPressHandler: function() {\r\n this.option(\"text\", this._input().val())\r\n },\r\n _keyDownHandler: function(e) {\r\n var $input = this._input();\r\n var isCtrlEnter = e.ctrlKey && \"enter\" === (0, _index.normalizeKeyName)(e);\r\n var isNewValue = $input.val() !== this.option(\"value\");\r\n if (isCtrlEnter && isNewValue) {\r\n _events_engine.default.trigger($input, \"change\")\r\n }\r\n },\r\n _renderValueChangeEvent: function() {\r\n var keyPressEvent = (0, _index.addNamespace)(this._renderValueEventName(), \"\".concat(this.NAME, \"TextChange\"));\r\n var valueChangeEvent = (0, _index.addNamespace)(this.option(\"valueChangeEvent\"), \"\".concat(this.NAME, \"ValueChange\"));\r\n var keyDownEvent = (0, _index.addNamespace)(\"keydown\", \"\".concat(this.NAME, \"TextChange\"));\r\n var $input = this._input();\r\n _events_engine.default.on($input, keyPressEvent, this._keyPressHandler.bind(this));\r\n _events_engine.default.on($input, valueChangeEvent, this._valueChangeEventHandler.bind(this));\r\n _events_engine.default.on($input, keyDownEvent, this._keyDownHandler.bind(this))\r\n },\r\n _cleanValueChangeEvent: function() {\r\n var valueChangeNamespace = \".\".concat(this.NAME, \"ValueChange\");\r\n var textChangeNamespace = \".\".concat(this.NAME, \"TextChange\");\r\n _events_engine.default.off(this._input(), valueChangeNamespace);\r\n _events_engine.default.off(this._input(), textChangeNamespace)\r\n },\r\n _refreshValueChangeEvent: function() {\r\n this._cleanValueChangeEvent();\r\n this._renderValueChangeEvent()\r\n },\r\n _renderValueEventName: function() {\r\n return \"input change keypress\"\r\n },\r\n _focusTarget: function() {\r\n return this._input()\r\n },\r\n _focusEventTarget: function() {\r\n return this.element()\r\n },\r\n _isInput: function(element) {\r\n return element === this._input().get(0)\r\n },\r\n _preventNestedFocusEvent: function(event) {\r\n if (event.isDefaultPrevented()) {\r\n return true\r\n }\r\n var result = this._isNestedTarget(event.relatedTarget);\r\n if (\"focusin\" === event.type) {\r\n result = result && this._isNestedTarget(event.target) && !this._isInput(event.target)\r\n }\r\n result && event.preventDefault();\r\n return result\r\n },\r\n _isNestedTarget: function(target) {\r\n return !!this.$element().find(target).length\r\n },\r\n _focusClassTarget: function() {\r\n return this.$element()\r\n },\r\n _focusInHandler: function(event) {\r\n this._preventNestedFocusEvent(event);\r\n this.callBase.apply(this, arguments)\r\n },\r\n _focusOutHandler: function(event) {\r\n this._preventNestedFocusEvent(event);\r\n this.callBase.apply(this, arguments)\r\n },\r\n _toggleFocusClass: function(isFocused, $element) {\r\n this.callBase(isFocused, this._focusClassTarget($element))\r\n },\r\n _hasFocusClass: function(element) {\r\n return this.callBase((0, _renderer.default)(element || this.$element()))\r\n },\r\n _renderEmptinessEvent: function() {\r\n var $input = this._input();\r\n _events_engine.default.on($input, \"input blur\", this._toggleEmptinessEventHandler.bind(this))\r\n },\r\n _toggleEmptinessEventHandler: function() {\r\n var text = this._input().val();\r\n var isEmpty = (\"\" === text || null === text) && this._isValueValid();\r\n this._toggleEmptiness(isEmpty)\r\n },\r\n _valueChangeEventHandler: function(e, formattedValue) {\r\n this._saveValueChangeEvent(e);\r\n this.option(\"value\", arguments.length > 1 ? formattedValue : this._input().val());\r\n this._saveValueChangeEvent(void 0)\r\n },\r\n _renderEnterKeyAction: function() {\r\n this._enterKeyAction = this._createActionByOption(\"onEnterKey\", {\r\n excludeValidators: [\"readOnly\"]\r\n });\r\n _events_engine.default.off(this._input(), \"keyup.onEnterKey.dxTextEditor\");\r\n _events_engine.default.on(this._input(), \"keyup.onEnterKey.dxTextEditor\", this._enterKeyHandlerUp.bind(this))\r\n },\r\n _enterKeyHandlerUp: function(e) {\r\n if (this._disposed) {\r\n return\r\n }\r\n if (\"enter\" === (0, _index.normalizeKeyName)(e)) {\r\n this._enterKeyAction({\r\n event: e\r\n })\r\n }\r\n },\r\n _updateValue: function() {\r\n this._options.silent(\"text\", null);\r\n this._renderValue()\r\n },\r\n _dispose: function() {\r\n this._enterKeyAction = void 0;\r\n this.callBase()\r\n },\r\n _getSubmitElement: function() {\r\n return this._input()\r\n },\r\n _optionChanged: function(args) {\r\n var name = args.name,\r\n fullName = args.fullName,\r\n value = args.value;\r\n if ((0, _array.inArray)(name.replace(\"on\", \"\"), EVENTS_LIST) > -1) {\r\n this._refreshEvents();\r\n return\r\n }\r\n switch (name) {\r\n case \"valueChangeEvent\":\r\n this._refreshValueChangeEvent();\r\n this._refreshFocusEvent();\r\n this._refreshEvents();\r\n break;\r\n case \"onValueChanged\":\r\n this._createValueChangeAction();\r\n break;\r\n case \"focusStateEnabled\":\r\n this.callBase(args);\r\n this._toggleTabIndex();\r\n break;\r\n case \"spellcheck\":\r\n this._toggleSpellcheckState();\r\n break;\r\n case \"mode\":\r\n this._renderInputType();\r\n break;\r\n case \"onEnterKey\":\r\n this._renderEnterKeyAction();\r\n break;\r\n case \"placeholder\":\r\n this._renderPlaceholder();\r\n break;\r\n case \"readOnly\":\r\n case \"disabled\":\r\n this._updateButtons();\r\n this.callBase(args);\r\n break;\r\n case \"showClearButton\":\r\n this._updateButtons([\"clear\"]);\r\n break;\r\n case \"text\":\r\n break;\r\n case \"value\":\r\n this._updateValue();\r\n this.callBase(args);\r\n break;\r\n case \"inputAttr\":\r\n this._applyInputAttributes(this._input(), this.option(name));\r\n break;\r\n case \"stylingMode\":\r\n this._renderStylingMode();\r\n break;\r\n case \"buttons\":\r\n if (fullName === name) {\r\n checkButtonsOptionType(value)\r\n }\r\n this._$beforeButtonsContainer && this._$beforeButtonsContainer.remove();\r\n this._$afterButtonsContainer && this._$afterButtonsContainer.remove();\r\n this._buttonCollection.clean();\r\n this._renderButtonContainers();\r\n break;\r\n case \"displayValueFormatter\":\r\n this._invalidate();\r\n break;\r\n case \"showValidationMark\":\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _renderInputType: function() {\r\n this._setInputType(this.option(\"mode\"))\r\n },\r\n _setInputType: function(type) {\r\n var input = this._input();\r\n if (\"search\" === type) {\r\n type = \"text\"\r\n }\r\n try {\r\n input.prop(\"type\", type)\r\n } catch (e) {\r\n input.prop(\"type\", \"text\")\r\n }\r\n },\r\n getButton: function(name) {\r\n return this._buttonCollection.getButton(name)\r\n },\r\n focus: function() {\r\n _events_engine.default.trigger(this._input(), \"focus\")\r\n },\r\n blur: function() {\r\n if (this._input().is(_dom_adapter.default.getActiveElement())) {\r\n (0, _dom.resetActiveElement)()\r\n }\r\n },\r\n reset: function() {\r\n if (this._showValidMark) {\r\n this._showValidMark = false;\r\n this._renderValidationState()\r\n }\r\n var defaultOptions = this._getDefaultOptions();\r\n if (this.option(\"value\") === defaultOptions.value) {\r\n this._options.silent(\"text\", \"\");\r\n this._renderValue()\r\n } else {\r\n this.option(\"value\", defaultOptions.value)\r\n }\r\n },\r\n on: function(eventName, eventHandler) {\r\n var result = this.callBase(eventName, eventHandler);\r\n var event = eventName.charAt(0).toUpperCase() + eventName.substr(1);\r\n if (EVENTS_LIST.indexOf(event) >= 0) {\r\n this._refreshEvents()\r\n }\r\n return result\r\n }\r\n});\r\nvar _default = TextEditorBase;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/*!\n * devextreme-vue\n * Version: 20.2.6\n * Build date: Tue Mar 16 2021\n *\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-vue\n */\n\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar component_1 = require(\"./component\");\nvar DxExtensionComponent = function () { return component_1.BaseComponent().extend({\n created: function () {\n this.$_isExtension = true;\n },\n mounted: function () {\n this.$el.setAttribute(\"isExtension\", \"true\");\n if (this.$vnode && this.$vnode.componentOptions.$_hasOwner) {\n return;\n }\n this.attachTo(this.$el);\n },\n methods: {\n attachTo: function (element) {\n this.$_createWidget(element);\n }\n }\n}); };\nexports.DxExtensionComponent = DxExtensionComponent;\n","/**\r\n * DevExtreme (ui/text_box.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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 _text_box = _interopRequireDefault(require(\"./text_box/text_box\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar _default = _text_box.default;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = module.exports;\r\n","/**\r\n * DevExtreme (core/utils/data.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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.toComparable = exports.compileSetter = exports.compileGetter = void 0;\r\nvar _errors = _interopRequireDefault(require(\"../errors\"));\r\nvar _class = _interopRequireDefault(require(\"../class\"));\r\nvar _object = require(\"./object\");\r\nvar _type = require(\"./type\");\r\nvar _iterator = require(\"./iterator\");\r\nvar _variable_wrapper = _interopRequireDefault(require(\"./variable_wrapper\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar unwrapVariable = _variable_wrapper.default.unwrap;\r\nvar isWrapped = _variable_wrapper.default.isWrapped;\r\nvar assign = _variable_wrapper.default.assign;\r\nvar bracketsToDots = function(expr) {\r\n return expr.replace(/\\[/g, \".\").replace(/\\]/g, \"\")\r\n};\r\nvar readPropValue = function(obj, propName, options) {\r\n options = options || {};\r\n if (\"this\" === propName) {\r\n return unwrap(obj, options)\r\n }\r\n return unwrap(obj[propName], options)\r\n};\r\nvar assignPropValue = function(obj, propName, value, options) {\r\n if (\"this\" === propName) {\r\n throw new _errors.default.Error(\"E4016\")\r\n }\r\n var propValue = obj[propName];\r\n if (options.unwrapObservables && isWrapped(propValue)) {\r\n assign(propValue, value)\r\n } else {\r\n obj[propName] = value\r\n }\r\n};\r\nvar prepareOptions = function(options) {\r\n options = options || {};\r\n options.unwrapObservables = void 0 !== options.unwrapObservables ? options.unwrapObservables : true;\r\n return options\r\n};\r\n\r\nfunction unwrap(value, options) {\r\n return options.unwrapObservables ? unwrapVariable(value) : value\r\n}\r\nvar compileGetter = function(expr) {\r\n if (arguments.length > 1) {\r\n expr = [].slice.call(arguments)\r\n }\r\n if (!expr || \"this\" === expr) {\r\n return function(obj) {\r\n return obj\r\n }\r\n }\r\n if (\"string\" === typeof expr) {\r\n expr = bracketsToDots(expr);\r\n var path = expr.split(\".\");\r\n return function(obj, options) {\r\n options = prepareOptions(options);\r\n var functionAsIs = options.functionsAsIs;\r\n var hasDefaultValue = \"defaultValue\" in options;\r\n var current = unwrap(obj, options);\r\n for (var i = 0; i < path.length; i++) {\r\n if (!current) {\r\n if (null == current && hasDefaultValue) {\r\n return options.defaultValue\r\n }\r\n break\r\n }\r\n var pathPart = path[i];\r\n if (hasDefaultValue && (0, _type.isObject)(current) && !(pathPart in current)) {\r\n return options.defaultValue\r\n }\r\n var next = unwrap(current[pathPart], options);\r\n if (!functionAsIs && (0, _type.isFunction)(next)) {\r\n next = next.call(current)\r\n }\r\n current = next\r\n }\r\n return current\r\n }\r\n }\r\n if (Array.isArray(expr)) {\r\n return combineGetters(expr)\r\n }\r\n if ((0, _type.isFunction)(expr)) {\r\n return expr\r\n }\r\n};\r\nexports.compileGetter = compileGetter;\r\n\r\nfunction combineGetters(getters) {\r\n var compiledGetters = {};\r\n for (var i = 0, l = getters.length; i < l; i++) {\r\n var getter = getters[i];\r\n compiledGetters[getter] = compileGetter(getter)\r\n }\r\n return function(obj, options) {\r\n var result;\r\n (0, _iterator.each)(compiledGetters, function(name) {\r\n var value = this(obj, options);\r\n if (void 0 === value) {\r\n return\r\n }\r\n var current = result || (result = {});\r\n var path = name.split(\".\");\r\n var last = path.length - 1;\r\n for (var _i = 0; _i < last; _i++) {\r\n var pathItem = path[_i];\r\n if (!(pathItem in current)) {\r\n current[pathItem] = {}\r\n }\r\n current = current[pathItem]\r\n }\r\n current[path[last]] = value\r\n });\r\n return result\r\n }\r\n}\r\nvar ensurePropValueDefined = function(obj, propName, value, options) {\r\n if ((0, _type.isDefined)(value)) {\r\n return value\r\n }\r\n var newValue = {};\r\n assignPropValue(obj, propName, newValue, options);\r\n return newValue\r\n};\r\nvar compileSetter = function(expr) {\r\n expr = bracketsToDots(expr || \"this\").split(\".\");\r\n var lastLevelIndex = expr.length - 1;\r\n return function(obj, value, options) {\r\n options = prepareOptions(options);\r\n var currentValue = unwrap(obj, options);\r\n expr.forEach(function(propertyName, levelIndex) {\r\n var propertyValue = readPropValue(currentValue, propertyName, options);\r\n var isPropertyFunc = !options.functionsAsIs && (0, _type.isFunction)(propertyValue) && !isWrapped(propertyValue);\r\n if (levelIndex === lastLevelIndex) {\r\n if (options.merge && (0, _type.isPlainObject)(value) && (!(0, _type.isDefined)(propertyValue) || (0, _type.isPlainObject)(propertyValue))) {\r\n propertyValue = ensurePropValueDefined(currentValue, propertyName, propertyValue, options);\r\n (0, _object.deepExtendArraySafe)(propertyValue, value, false, true)\r\n } else {\r\n if (isPropertyFunc) {\r\n currentValue[propertyName](value)\r\n } else {\r\n assignPropValue(currentValue, propertyName, value, options)\r\n }\r\n }\r\n } else {\r\n propertyValue = ensurePropValueDefined(currentValue, propertyName, propertyValue, options);\r\n if (isPropertyFunc) {\r\n propertyValue = propertyValue.call(currentValue)\r\n }\r\n currentValue = propertyValue\r\n }\r\n })\r\n }\r\n};\r\nexports.compileSetter = compileSetter;\r\nvar toComparable = function(value, caseSensitive) {\r\n if (value instanceof Date) {\r\n return value.getTime()\r\n }\r\n if (value && value instanceof _class.default && value.valueOf) {\r\n return value.valueOf()\r\n }\r\n if (!caseSensitive && \"string\" === typeof value) {\r\n return value.toLowerCase()\r\n }\r\n return value\r\n};\r\nexports.toComparable = toComparable;\r\n","/**\r\n * DevExtreme (core/utils/storage.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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.sessionStorage = void 0;\r\nvar _window = require(\"../../core/utils/window\");\r\nvar window = (0, _window.getWindow)();\r\nvar getSessionStorage = function() {\r\n var sessionStorage;\r\n try {\r\n sessionStorage = window.sessionStorage\r\n } catch (e) {}\r\n return sessionStorage\r\n};\r\nexports.sessionStorage = getSessionStorage;\r\n","/**\r\n * DevExtreme (ui/themes_callback.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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.themeReadyCallback = void 0;\r\nvar _callbacks = _interopRequireDefault(require(\"../core/utils/callbacks\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar themeReadyCallback = new _callbacks.default;\r\nexports.themeReadyCallback = themeReadyCallback;\r\n","/**\r\n * DevExtreme (ui/widget/ui.widget.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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 _action = _interopRequireDefault(require(\"../../core/action\"));\r\nvar _dom_component = _interopRequireDefault(require(\"../../core/dom_component\"));\r\nvar _short = require(\"../../events/short\");\r\nvar _common = require(\"../../core/utils/common\");\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar _extend2 = require(\"../../core/utils/extend\");\r\nvar _selectors = require(\"./selectors\");\r\nvar _array = require(\"../../core/utils/array\");\r\nvar _index = require(\"../../events/utils/index\");\r\nvar _type = require(\"../../core/utils/type\");\r\nrequire(\"../../events/click\");\r\nrequire(\"../../events/core/emitter.feedback\");\r\nrequire(\"../../events/hover\");\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 _defineProperty(obj, key, value) {\r\n if (key in obj) {\r\n Object.defineProperty(obj, key, {\r\n value: value,\r\n enumerable: true,\r\n configurable: true,\r\n writable: true\r\n })\r\n } else {\r\n obj[key] = value\r\n }\r\n return obj\r\n}\r\n\r\nfunction setAttribute(name, value, target) {\r\n name = \"role\" === name || \"id\" === name ? name : \"aria-\".concat(name);\r\n value = (0, _type.isDefined)(value) ? value.toString() : null;\r\n target.attr(name, value)\r\n}\r\nvar Widget = _dom_component.default.inherit({\r\n _feedbackHideTimeout: 400,\r\n _feedbackShowTimeout: 30,\r\n _supportedKeys: function() {\r\n return {}\r\n },\r\n _getDefaultOptions: function() {\r\n return (0, _extend2.extend)(this.callBase(), {\r\n hoveredElement: null,\r\n isActive: false,\r\n disabled: false,\r\n visible: true,\r\n hint: void 0,\r\n activeStateEnabled: false,\r\n onContentReady: null,\r\n hoverStateEnabled: false,\r\n focusStateEnabled: false,\r\n tabIndex: 0,\r\n accessKey: null,\r\n onFocusIn: null,\r\n onFocusOut: null,\r\n onKeyboardHandled: null,\r\n ignoreParentReadOnly: false\r\n })\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this._initContentReadyAction()\r\n },\r\n _innerWidgetOptionChanged: function(innerWidget, args) {\r\n var options = Widget.getOptionsFromContainer(args);\r\n innerWidget && innerWidget.option(options);\r\n this._options.cache(args.name, options)\r\n },\r\n _bindInnerWidgetOptions: function(innerWidget, optionsContainer) {\r\n var _this = this;\r\n var syncOptions = function() {\r\n return _this._options.silent(optionsContainer, (0, _extend2.extend)({}, innerWidget.option()))\r\n };\r\n syncOptions();\r\n innerWidget.on(\"optionChanged\", syncOptions)\r\n },\r\n _getAriaTarget: function() {\r\n return this._focusTarget()\r\n },\r\n _initContentReadyAction: function() {\r\n this._contentReadyAction = this._createActionByOption(\"onContentReady\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })\r\n },\r\n _initMarkup: function() {\r\n var _this$option = this.option(),\r\n disabled = _this$option.disabled,\r\n visible = _this$option.visible;\r\n this.$element().addClass(\"dx-widget\");\r\n this._toggleDisabledState(disabled);\r\n this._toggleVisibility(visible);\r\n this._renderHint();\r\n this._isFocusable() && this._renderFocusTarget();\r\n this.callBase()\r\n },\r\n _render: function() {\r\n this.callBase();\r\n this._renderContent();\r\n this._renderFocusState();\r\n this._attachFeedbackEvents();\r\n this._attachHoverEvents();\r\n this._toggleIndependentState()\r\n },\r\n _renderHint: function() {\r\n var _this$option2 = this.option(),\r\n hint = _this$option2.hint;\r\n this.$element().attr(\"title\", hint || null)\r\n },\r\n _renderContent: function() {\r\n var _this2 = this;\r\n (0, _common.deferRender)(function() {\r\n return !_this2._disposed ? _this2._renderContentImpl() : void 0\r\n }).done(function() {\r\n return !_this2._disposed ? _this2._fireContentReadyAction() : void 0\r\n })\r\n },\r\n _renderContentImpl: _common.noop,\r\n _fireContentReadyAction: (0, _common.deferRenderer)(function() {\r\n return this._contentReadyAction()\r\n }),\r\n _dispose: function() {\r\n this._contentReadyAction = null;\r\n this._detachKeyboardEvents();\r\n this.callBase()\r\n },\r\n _resetActiveState: function() {\r\n this._toggleActiveState(this._eventBindingTarget(), false)\r\n },\r\n _clean: function() {\r\n this._cleanFocusState();\r\n this._resetActiveState();\r\n this.callBase();\r\n this.$element().empty()\r\n },\r\n _toggleVisibility: function(visible) {\r\n this.$element().toggleClass(\"dx-state-invisible\", !visible);\r\n this.setAria(\"hidden\", !visible || void 0)\r\n },\r\n _renderFocusState: function() {\r\n this._attachKeyboardEvents();\r\n if (this._isFocusable()) {\r\n this._renderFocusTarget();\r\n this._attachFocusEvents();\r\n this._renderAccessKey()\r\n }\r\n },\r\n _renderAccessKey: function() {\r\n var _this3 = this;\r\n var $el = this._focusTarget();\r\n var _this$option3 = this.option(),\r\n accessKey = _this$option3.accessKey;\r\n var namespace = \"UIFeedback\";\r\n $el.attr(\"accesskey\", accessKey);\r\n _short.dxClick.off($el, {\r\n namespace: namespace\r\n });\r\n accessKey && _short.dxClick.on($el, function(e) {\r\n if ((0, _index.isFakeClickEvent)(e)) {\r\n e.stopImmediatePropagation();\r\n _this3.focus()\r\n }\r\n }, {\r\n namespace: namespace\r\n })\r\n },\r\n _isFocusable: function() {\r\n var _this$option4 = this.option(),\r\n focusStateEnabled = _this$option4.focusStateEnabled,\r\n disabled = _this$option4.disabled;\r\n return focusStateEnabled && !disabled\r\n },\r\n _eventBindingTarget: function() {\r\n return this.$element()\r\n },\r\n _focusTarget: function() {\r\n return this._getActiveElement()\r\n },\r\n _getActiveElement: function() {\r\n var activeElement = this._eventBindingTarget();\r\n if (this._activeStateUnit) {\r\n return activeElement.find(this._activeStateUnit).not(\".dx-state-disabled\")\r\n }\r\n return activeElement\r\n },\r\n _renderFocusTarget: function() {\r\n var _this$option5 = this.option(),\r\n tabIndex = _this$option5.tabIndex;\r\n this._focusTarget().attr(\"tabIndex\", tabIndex)\r\n },\r\n _keyboardEventBindingTarget: function() {\r\n return this._eventBindingTarget()\r\n },\r\n _refreshFocusEvent: function() {\r\n this._detachFocusEvents();\r\n this._attachFocusEvents()\r\n },\r\n _focusEventTarget: function() {\r\n return this._focusTarget()\r\n },\r\n _focusInHandler: function(event) {\r\n var _this4 = this;\r\n if (!event.isDefaultPrevented()) {\r\n this._createActionByOption(\"onFocusIn\", {\r\n beforeExecute: function() {\r\n return _this4._updateFocusState(event, true)\r\n },\r\n excludeValidators: [\"readOnly\"]\r\n })({\r\n event: event\r\n })\r\n }\r\n },\r\n _focusOutHandler: function(event) {\r\n var _this5 = this;\r\n if (!event.isDefaultPrevented()) {\r\n this._createActionByOption(\"onFocusOut\", {\r\n beforeExecute: function() {\r\n return _this5._updateFocusState(event, false)\r\n },\r\n excludeValidators: [\"readOnly\", \"disabled\"]\r\n })({\r\n event: event\r\n })\r\n }\r\n },\r\n _updateFocusState: function(_ref, isFocused) {\r\n var target = _ref.target;\r\n if ((0, _array.inArray)(target, this._focusTarget()) !== -1) {\r\n this._toggleFocusClass(isFocused, (0, _renderer.default)(target))\r\n }\r\n },\r\n _toggleFocusClass: function(isFocused, $element) {\r\n var $focusTarget = $element && $element.length ? $element : this._focusTarget();\r\n $focusTarget.toggleClass(\"dx-state-focused\", isFocused)\r\n },\r\n _hasFocusClass: function(element) {\r\n var $focusTarget = (0, _renderer.default)(element || this._focusTarget());\r\n return $focusTarget.hasClass(\"dx-state-focused\")\r\n },\r\n _isFocused: function() {\r\n return this._hasFocusClass()\r\n },\r\n _getKeyboardListeners: function() {\r\n return []\r\n },\r\n _attachKeyboardEvents: function() {\r\n var _this6 = this;\r\n this._detachKeyboardEvents();\r\n var _this$option6 = this.option(),\r\n focusStateEnabled = _this$option6.focusStateEnabled,\r\n onKeyboardHandled = _this$option6.onKeyboardHandled;\r\n var hasChildListeners = this._getKeyboardListeners().length;\r\n var hasKeyboardEventHandler = !!onKeyboardHandled;\r\n var shouldAttach = focusStateEnabled || hasChildListeners || hasKeyboardEventHandler;\r\n if (shouldAttach) {\r\n this._keyboardListenerId = _short.keyboard.on(this._keyboardEventBindingTarget(), this._focusTarget(), function(opts) {\r\n return _this6._keyboardHandler(opts)\r\n })\r\n }\r\n },\r\n _keyboardHandler: function(options, onlyChildProcessing) {\r\n if (!onlyChildProcessing) {\r\n var originalEvent = options.originalEvent,\r\n keyName = options.keyName,\r\n which = options.which;\r\n var keys = this._supportedKeys(originalEvent);\r\n var func = keys[keyName] || keys[which];\r\n if (void 0 !== func) {\r\n var handler = func.bind(this);\r\n var result = handler(originalEvent, options);\r\n if (!result) {\r\n return false\r\n }\r\n }\r\n }\r\n var keyboardListeners = this._getKeyboardListeners();\r\n var _this$option7 = this.option(),\r\n onKeyboardHandled = _this$option7.onKeyboardHandled;\r\n keyboardListeners.forEach(function(listener) {\r\n return listener && listener._keyboardHandler(options)\r\n });\r\n onKeyboardHandled && onKeyboardHandled(options);\r\n return true\r\n },\r\n _refreshFocusState: function() {\r\n this._cleanFocusState();\r\n this._renderFocusState()\r\n },\r\n _cleanFocusState: function() {\r\n var $element = this._focusTarget();\r\n $element.removeAttr(\"tabIndex\");\r\n this._toggleFocusClass(false);\r\n this._detachFocusEvents();\r\n this._detachKeyboardEvents()\r\n },\r\n _detachKeyboardEvents: function() {\r\n _short.keyboard.off(this._keyboardListenerId);\r\n this._keyboardListenerId = null\r\n },\r\n _attachHoverEvents: function() {\r\n var _this7 = this;\r\n var _this$option8 = this.option(),\r\n hoverStateEnabled = _this$option8.hoverStateEnabled;\r\n var selector = this._activeStateUnit;\r\n var namespace = \"UIFeedback\";\r\n var $el = this._eventBindingTarget();\r\n _short.hover.off($el, {\r\n selector: selector,\r\n namespace: namespace\r\n });\r\n if (hoverStateEnabled) {\r\n _short.hover.on($el, new _action.default(function(_ref2) {\r\n var event = _ref2.event,\r\n element = _ref2.element;\r\n _this7._hoverStartHandler(event);\r\n _this7.option(\"hoveredElement\", (0, _renderer.default)(element))\r\n }, {\r\n excludeValidators: [\"readOnly\"]\r\n }), function(event) {\r\n _this7.option(\"hoveredElement\", null);\r\n _this7._hoverEndHandler(event)\r\n }, {\r\n selector: selector,\r\n namespace: namespace\r\n })\r\n }\r\n },\r\n _attachFeedbackEvents: function() {\r\n var _this8 = this;\r\n var _this$option9 = this.option(),\r\n activeStateEnabled = _this$option9.activeStateEnabled;\r\n var selector = this._activeStateUnit;\r\n var namespace = \"UIFeedback\";\r\n var $el = this._eventBindingTarget();\r\n _short.active.off($el, {\r\n namespace: namespace,\r\n selector: selector\r\n });\r\n if (activeStateEnabled) {\r\n _short.active.on($el, new _action.default(function(_ref3) {\r\n var event = _ref3.event,\r\n element = _ref3.element;\r\n return _this8._toggleActiveState((0, _renderer.default)(element), true, event)\r\n }), new _action.default(function(_ref4) {\r\n var event = _ref4.event,\r\n element = _ref4.element;\r\n return _this8._toggleActiveState((0, _renderer.default)(element), false, event)\r\n }, {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n }), {\r\n showTimeout: this._feedbackShowTimeout,\r\n hideTimeout: this._feedbackHideTimeout,\r\n selector: selector,\r\n namespace: namespace\r\n })\r\n }\r\n },\r\n _detachFocusEvents: function() {\r\n var $el = this._focusEventTarget();\r\n _short.focus.off($el, {\r\n namespace: \"\".concat(this.NAME, \"Focus\")\r\n })\r\n },\r\n _attachFocusEvents: function() {\r\n var _this9 = this;\r\n var $el = this._focusEventTarget();\r\n _short.focus.on($el, function(e) {\r\n return _this9._focusInHandler(e)\r\n }, function(e) {\r\n return _this9._focusOutHandler(e)\r\n }, {\r\n namespace: \"\".concat(this.NAME, \"Focus\"),\r\n isFocusable: function(index, el) {\r\n return (0, _renderer.default)(el).is(_selectors.focusable)\r\n }\r\n })\r\n },\r\n _hoverStartHandler: _common.noop,\r\n _hoverEndHandler: _common.noop,\r\n _toggleActiveState: function($element, value) {\r\n this.option(\"isActive\", value);\r\n $element.toggleClass(\"dx-state-active\", value)\r\n },\r\n _updatedHover: function() {\r\n var hoveredElement = this._options.silent(\"hoveredElement\");\r\n this._hover(hoveredElement, hoveredElement)\r\n },\r\n _findHoverTarget: function($el) {\r\n return $el && $el.closest(this._activeStateUnit || this._eventBindingTarget())\r\n },\r\n _hover: function($el, $previous) {\r\n var _this$option10 = this.option(),\r\n hoverStateEnabled = _this$option10.hoverStateEnabled,\r\n disabled = _this$option10.disabled,\r\n isActive = _this$option10.isActive;\r\n $previous = this._findHoverTarget($previous);\r\n $previous && $previous.toggleClass(\"dx-state-hover\", false);\r\n if ($el && hoverStateEnabled && !disabled && !isActive) {\r\n var newHoveredElement = this._findHoverTarget($el);\r\n newHoveredElement && newHoveredElement.toggleClass(\"dx-state-hover\", true)\r\n }\r\n },\r\n _toggleDisabledState: function(value) {\r\n this.$element().toggleClass(\"dx-state-disabled\", Boolean(value));\r\n this.setAria(\"disabled\", value || void 0)\r\n },\r\n _toggleIndependentState: function() {\r\n this.$element().toggleClass(\"dx-state-independent\", this.option(\"ignoreParentReadOnly\"))\r\n },\r\n _setWidgetOption: function(widgetName, args) {\r\n var _this10 = this;\r\n if (!this[widgetName]) {\r\n return\r\n }\r\n if ((0, _type.isPlainObject)(args[0])) {\r\n (0, _iterator.each)(args[0], function(option, value) {\r\n return _this10._setWidgetOption(widgetName, [option, value])\r\n });\r\n return\r\n }\r\n var optionName = args[0];\r\n var value = args[1];\r\n if (1 === args.length) {\r\n value = this.option(optionName)\r\n }\r\n var widgetOptionMap = this[\"\".concat(widgetName, \"OptionMap\")];\r\n this[widgetName].option(widgetOptionMap ? widgetOptionMap(optionName) : optionName, value)\r\n },\r\n _optionChanged: function(args) {\r\n var name = args.name,\r\n value = args.value,\r\n previousValue = args.previousValue;\r\n switch (name) {\r\n case \"disabled\":\r\n this._toggleDisabledState(value);\r\n this._updatedHover();\r\n this._refreshFocusState();\r\n break;\r\n case \"hint\":\r\n this._renderHint();\r\n break;\r\n case \"ignoreParentReadOnly\":\r\n this._toggleIndependentState();\r\n break;\r\n case \"activeStateEnabled\":\r\n this._attachFeedbackEvents();\r\n break;\r\n case \"hoverStateEnabled\":\r\n this._attachHoverEvents();\r\n this._updatedHover();\r\n break;\r\n case \"tabIndex\":\r\n case \"focusStateEnabled\":\r\n this._refreshFocusState();\r\n break;\r\n case \"onFocusIn\":\r\n case \"onFocusOut\":\r\n break;\r\n case \"accessKey\":\r\n this._renderAccessKey();\r\n break;\r\n case \"hoveredElement\":\r\n this._hover(value, previousValue);\r\n break;\r\n case \"isActive\":\r\n this._updatedHover();\r\n break;\r\n case \"visible\":\r\n this._toggleVisibility(value);\r\n if (this._isVisibilityChangeSupported()) {\r\n this._checkVisibilityChanged(value ? \"shown\" : \"hiding\")\r\n }\r\n break;\r\n case \"onKeyboardHandled\":\r\n this._attachKeyboardEvents();\r\n break;\r\n case \"onContentReady\":\r\n this._initContentReadyAction();\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _isVisible: function() {\r\n var _this$option11 = this.option(),\r\n visible = _this$option11.visible;\r\n return this.callBase() && visible\r\n },\r\n beginUpdate: function() {\r\n this._ready(false);\r\n this.callBase()\r\n },\r\n endUpdate: function() {\r\n this.callBase();\r\n if (this._initialized) {\r\n this._ready(true)\r\n }\r\n },\r\n _ready: function(value) {\r\n if (0 === arguments.length) {\r\n return this._isReady\r\n }\r\n this._isReady = value\r\n },\r\n setAria: function() {\r\n if (!(0, _type.isPlainObject)(arguments.length <= 0 ? void 0 : arguments[0])) {\r\n setAttribute(arguments.length <= 0 ? void 0 : arguments[0], arguments.length <= 1 ? void 0 : arguments[1], (arguments.length <= 2 ? void 0 : arguments[2]) || this._getAriaTarget())\r\n } else {\r\n var target = (arguments.length <= 1 ? void 0 : arguments[1]) || this._getAriaTarget();\r\n (0, _iterator.each)(arguments.length <= 0 ? void 0 : arguments[0], function(name, value) {\r\n return setAttribute(name, value, target)\r\n })\r\n }\r\n },\r\n isReady: function() {\r\n return this._ready()\r\n },\r\n repaint: function() {\r\n this._refresh()\r\n },\r\n focus: function() {\r\n _short.focus.trigger(this._focusTarget())\r\n },\r\n registerKeyHandler: function(key, handler) {\r\n var currentKeys = this._supportedKeys();\r\n this._supportedKeys = function() {\r\n return (0, _extend2.extend)(currentKeys, _defineProperty({}, key, handler))\r\n }\r\n }\r\n});\r\nWidget.getOptionsFromContainer = function(_ref5) {\r\n var name = _ref5.name,\r\n fullName = _ref5.fullName,\r\n value = _ref5.value;\r\n var options = {};\r\n if (name === fullName) {\r\n options = value\r\n } else {\r\n var option = fullName.split(\".\").pop();\r\n options[option] = value\r\n }\r\n return options\r\n};\r\nvar _default = Widget;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (core/utils/iterator.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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.reverseEach = exports.each = exports.map = void 0;\r\nvar map = function(values, callback) {\r\n if (Array.isArray(values)) {\r\n return values.map(callback)\r\n }\r\n var result = [];\r\n for (var key in values) {\r\n result.push(callback(values[key], key))\r\n }\r\n return result\r\n};\r\nexports.map = map;\r\nvar each = function(values, callback) {\r\n if (!values) {\r\n return\r\n }\r\n if (\"length\" in values) {\r\n for (var i = 0; i < values.length; i++) {\r\n if (false === callback.call(values[i], i, values[i])) {\r\n break\r\n }\r\n }\r\n } else {\r\n for (var key in values) {\r\n if (false === callback.call(values[key], key, values[key])) {\r\n break\r\n }\r\n }\r\n }\r\n return values\r\n};\r\nexports.each = each;\r\nvar reverseEach = function(array, callback) {\r\n if (!array || !(\"length\" in array) || 0 === array.length) {\r\n return\r\n }\r\n for (var i = array.length - 1; i >= 0; i--) {\r\n if (false === callback.call(array[i], i, array[i])) {\r\n break\r\n }\r\n }\r\n};\r\nexports.reverseEach = reverseEach;\r\n","/**\r\n * DevExtreme (core/utils/math.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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.adjust = adjust;\r\nexports.getPrecision = getPrecision;\r\nexports.getExponent = getExponent;\r\nexports.getRoot = getRoot;\r\nexports.solveCubicEquation = solveCubicEquation;\r\nexports.trunc = trunc;\r\nexports.roundFloatPart = roundFloatPart;\r\nexports.getExponentLength = getExponentLength;\r\nexports.getRemainderByDivision = getRemainderByDivision;\r\nexports.inRange = exports.fitIntoRange = exports.sign = void 0;\r\nvar _type = require(\"./type\");\r\nvar sign = function(value) {\r\n if (0 === value) {\r\n return 0\r\n }\r\n return value / Math.abs(value)\r\n};\r\nexports.sign = sign;\r\nvar fitIntoRange = function(value, minValue, maxValue) {\r\n var isMinValueUndefined = !minValue && 0 !== minValue;\r\n var isMaxValueUndefined = !maxValue && 0 !== maxValue;\r\n isMinValueUndefined && (minValue = !isMaxValueUndefined ? Math.min(value, maxValue) : value);\r\n isMaxValueUndefined && (maxValue = !isMinValueUndefined ? Math.max(value, minValue) : value);\r\n return Math.min(Math.max(value, minValue), maxValue)\r\n};\r\nexports.fitIntoRange = fitIntoRange;\r\nvar inRange = function(value, minValue, maxValue) {\r\n return value >= minValue && value <= maxValue\r\n};\r\nexports.inRange = inRange;\r\n\r\nfunction getExponent(value) {\r\n return Math.abs(parseInt(value.toExponential().split(\"e\")[1]))\r\n}\r\n\r\nfunction _isEdgeBug() {\r\n var value = 3e-4;\r\n var correctValue = \"0.000300\";\r\n var precisionValue = 3;\r\n return correctValue !== value.toPrecision(precisionValue)\r\n}\r\n\r\nfunction adjust(value, interval) {\r\n var precision = getPrecision(interval || 0) + 2;\r\n var separatedValue = value.toString().split(\".\");\r\n var sourceValue = value;\r\n var absValue = Math.abs(value);\r\n var separatedAdjustedValue;\r\n var isExponentValue = (0, _type.isExponential)(value);\r\n var integerPart = absValue > 1 ? 10 : 0;\r\n if (1 === separatedValue.length) {\r\n return value\r\n }\r\n if (!isExponentValue) {\r\n if ((0, _type.isExponential)(interval)) {\r\n precision = separatedValue[0].length + getExponent(interval)\r\n }\r\n value = absValue;\r\n value = value - Math.floor(value) + integerPart\r\n }\r\n precision = _isEdgeBug() && getExponent(value) > 6 || precision > 7 ? 15 : 7;\r\n if (!isExponentValue) {\r\n separatedAdjustedValue = parseFloat(value.toPrecision(precision)).toString().split(\".\");\r\n if (separatedAdjustedValue[0] === integerPart.toString()) {\r\n return parseFloat(separatedValue[0] + \".\" + separatedAdjustedValue[1])\r\n }\r\n }\r\n return parseFloat(sourceValue.toPrecision(precision))\r\n}\r\n\r\nfunction getPrecision(value) {\r\n var str = value.toString();\r\n if (str.indexOf(\".\") < 0) {\r\n return 0\r\n }\r\n var mantissa = str.split(\".\");\r\n var positionOfDelimiter = mantissa[1].indexOf(\"e\");\r\n return positionOfDelimiter >= 0 ? positionOfDelimiter : mantissa[1].length\r\n}\r\n\r\nfunction getRoot(x, n) {\r\n if (x < 0 && n % 2 !== 1) {\r\n return NaN\r\n }\r\n var y = Math.pow(Math.abs(x), 1 / n);\r\n return n % 2 === 1 && x < 0 ? -y : y\r\n}\r\n\r\nfunction solveCubicEquation(a, b, c, d) {\r\n var min = 1e-8;\r\n if (Math.abs(a) < min) {\r\n a = b;\r\n b = c;\r\n c = d;\r\n if (Math.abs(a) < min) {\r\n a = b;\r\n b = c;\r\n if (Math.abs(a) < min) {\r\n return []\r\n }\r\n return [-b / a]\r\n }\r\n var D2 = b * b - 4 * a * c;\r\n if (Math.abs(D2) < min) {\r\n return [-b / (2 * a)]\r\n } else {\r\n if (D2 > 0) {\r\n return [(-b + Math.sqrt(D2)) / (2 * a), (-b - Math.sqrt(D2)) / (2 * a)]\r\n }\r\n }\r\n return []\r\n }\r\n var p = (3 * a * c - b * b) / (3 * a * a);\r\n var q = (2 * b * b * b - 9 * a * b * c + 27 * a * a * d) / (27 * a * a * a);\r\n var roots;\r\n var u;\r\n if (Math.abs(p) < min) {\r\n roots = [getRoot(-q, 3)]\r\n } else {\r\n if (Math.abs(q) < min) {\r\n roots = [0].concat(p < 0 ? [Math.sqrt(-p), -Math.sqrt(-p)] : [])\r\n } else {\r\n var D3 = q * q / 4 + p * p * p / 27;\r\n if (Math.abs(D3) < min) {\r\n roots = [-1.5 * q / p, 3 * q / p]\r\n } else {\r\n if (D3 > 0) {\r\n u = getRoot(-q / 2 - Math.sqrt(D3), 3);\r\n roots = [u - p / (3 * u)]\r\n } else {\r\n u = 2 * Math.sqrt(-p / 3);\r\n var t = Math.acos(3 * q / p / u) / 3;\r\n var k = 2 * Math.PI / 3;\r\n roots = [u * Math.cos(t), u * Math.cos(t - k), u * Math.cos(t - 2 * k)]\r\n }\r\n }\r\n }\r\n }\r\n for (var i = 0; i < roots.length; i++) {\r\n roots[i] -= b / (3 * a)\r\n }\r\n return roots\r\n}\r\n\r\nfunction trunc(value) {\r\n return Math.trunc ? Math.trunc(value) : value > 0 ? Math.floor(value) : Math.ceil(value)\r\n}\r\n\r\nfunction getRemainderByDivision(dividend, divider, digitsCount) {\r\n if (divider === parseInt(divider)) {\r\n return dividend % divider\r\n }\r\n var quotient = roundFloatPart(dividend / divider, digitsCount);\r\n return (quotient - parseInt(quotient)) * divider\r\n}\r\n\r\nfunction getExponentLength(value) {\r\n var _valueString$split$;\r\n var valueString = value.toString();\r\n return (null === (_valueString$split$ = valueString.split(\".\")[1]) || void 0 === _valueString$split$ ? void 0 : _valueString$split$.length) || parseInt(valueString.split(\"e-\")[1]) || 0\r\n}\r\n\r\nfunction roundFloatPart(value) {\r\n var digitsCount = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 0;\r\n return parseFloat(value.toFixed(digitsCount))\r\n}\r\n","/*!\n * devextreme-vue\n * Version: 20.2.6\n * Build date: Tue Mar 16 2021\n *\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-vue\n */\n\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar VueType = require(\"vue\");\nvar Vue = VueType.default || VueType;\nvar component_1 = require(\"./component\");\nvar configuration_component_1 = require(\"./configuration-component\");\nvar extension_component_1 = require(\"./extension-component\");\nfunction createComponent(config) {\n config.extends = component_1.DxComponent();\n return Vue.extend(config);\n}\nexports.createComponent = createComponent;\nfunction createConfigurationComponent(config) {\n config.extends = configuration_component_1.DxConfiguration();\n return Vue.extend(config);\n}\nexports.createConfigurationComponent = createConfigurationComponent;\nfunction createExtensionComponent(config) {\n config.extends = extension_component_1.DxExtensionComponent();\n return Vue.extend(config);\n}\nexports.createExtensionComponent = createExtensionComponent;\n","/**\r\n * DevExtreme (core/guid.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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 _class = _interopRequireDefault(require(\"./class\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar Guid = _class.default.inherit({\r\n ctor: function(value) {\r\n if (value) {\r\n value = String(value)\r\n }\r\n this._value = this._normalize(value || this._generate())\r\n },\r\n _normalize: function(value) {\r\n value = value.replace(/[^a-f0-9]/gi, \"\").toLowerCase();\r\n while (value.length < 32) {\r\n value += \"0\"\r\n }\r\n return [value.substr(0, 8), value.substr(8, 4), value.substr(12, 4), value.substr(16, 4), value.substr(20, 12)].join(\"-\")\r\n },\r\n _generate: function() {\r\n var value = \"\";\r\n for (var i = 0; i < 32; i++) {\r\n value += Math.round(15 * Math.random()).toString(16)\r\n }\r\n return value\r\n },\r\n toString: function() {\r\n return this._value\r\n },\r\n valueOf: function() {\r\n return this._value\r\n },\r\n toJSON: function() {\r\n return this._value\r\n }\r\n});\r\nvar _default = Guid;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = module.exports;\r\n","/**\r\n * DevExtreme (ui/text_box/ui.text_editor.mask.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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 _utils = _interopRequireDefault(require(\"./utils.caret\"));\r\nvar _utils2 = require(\"./utils.support\");\r\nvar _iterator = require(\"../../core/utils/iterator\");\r\nvar _index = require(\"../../events/utils/index\");\r\nvar _events_engine = _interopRequireDefault(require(\"../../events/core/events_engine\"));\r\nvar _extend = require(\"../../core/utils/extend\");\r\nvar _selectors = require(\"../widget/selectors\");\r\nvar _type = require(\"../../core/utils/type\");\r\nvar _message = _interopRequireDefault(require(\"../../localization/message\"));\r\nvar _common = require(\"../../core/utils/common\");\r\nvar _string = require(\"../../core/utils/string\");\r\nvar _wheel = require(\"../../events/core/wheel\");\r\nvar _uiText_editorMask = require(\"./ui.text_editor.mask.rule\");\r\nvar _uiText_editor = _interopRequireDefault(require(\"./ui.text_editor.base\"));\r\nvar _uiText_editorMaskStrategy = _interopRequireDefault(require(\"./ui.text_editor.mask.strategy.default\"));\r\nvar _uiText_editorMaskStrategy2 = _interopRequireDefault(require(\"./ui.text_editor.mask.strategy.input_events\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar stubCaret = function() {\r\n return {}\r\n};\r\nvar caret = _utils.default;\r\nvar EMPTY_CHAR = \" \";\r\nvar ESCAPED_CHAR = \"\\\\\";\r\nvar TEXTEDITOR_MASKED_CLASS = \"dx-texteditor-masked\";\r\nvar FORWARD_DIRECTION = \"forward\";\r\nvar BACKWARD_DIRECTION = \"backward\";\r\nvar buildInMaskRules = {\r\n 0: /[0-9]/,\r\n 9: /[0-9\\s]/,\r\n \"#\": /[-+0-9\\s]/,\r\n L: function(char) {\r\n return isLiteralChar(char)\r\n },\r\n l: function(char) {\r\n return isLiteralChar(char) || isSpaceChar(char)\r\n },\r\n C: /\\S/,\r\n c: /./,\r\n A: function(char) {\r\n return isLiteralChar(char) || isNumericChar(char)\r\n },\r\n a: function(char) {\r\n return isLiteralChar(char) || isNumericChar(char) || isSpaceChar(char)\r\n }\r\n};\r\n\r\nfunction isNumericChar(char) {\r\n return /[0-9]/.test(char)\r\n}\r\n\r\nfunction isLiteralChar(char) {\r\n var code = char.charCodeAt();\r\n return 64 < code && code < 91 || 96 < code && code < 123 || code > 127\r\n}\r\n\r\nfunction isSpaceChar(char) {\r\n return \" \" === char\r\n}\r\nvar TextEditorMask = _uiText_editor.default.inherit({\r\n _getDefaultOptions: function() {\r\n return (0, _extend.extend)(this.callBase(), {\r\n mask: \"\",\r\n maskChar: \"_\",\r\n maskRules: {},\r\n maskInvalidMessage: _message.default.format(\"validation-mask\"),\r\n useMaskedValue: false,\r\n showMaskMode: \"always\"\r\n })\r\n },\r\n _supportedKeys: function() {\r\n var that = this;\r\n var keyHandlerMap = {\r\n backspace: that._maskStrategy.getHandler(\"backspace\"),\r\n del: that._maskStrategy.getHandler(\"del\"),\r\n enter: that._changeHandler\r\n };\r\n var result = that.callBase();\r\n (0, _iterator.each)(keyHandlerMap, function(key, callback) {\r\n var parentHandler = result[key];\r\n result[key] = function(e) {\r\n that.option(\"mask\") && callback.call(that, e);\r\n parentHandler && parentHandler(e)\r\n }\r\n });\r\n return result\r\n },\r\n _getSubmitElement: function() {\r\n return !this.option(\"mask\") ? this.callBase() : this._$hiddenElement\r\n },\r\n _init: function() {\r\n this.callBase();\r\n this._initMaskStrategy()\r\n },\r\n _initMaskStrategy: function() {\r\n this._maskStrategy = (0, _utils2.isInputEventsL2Supported)() ? new _uiText_editorMaskStrategy2.default(this) : new _uiText_editorMaskStrategy.default(this)\r\n },\r\n _initMarkup: function() {\r\n this._renderHiddenElement();\r\n this.callBase()\r\n },\r\n _attachMouseWheelEventHandlers: function() {\r\n var hasMouseWheelHandler = this._onMouseWheel !== _common.noop;\r\n if (!hasMouseWheelHandler) {\r\n return\r\n }\r\n var input = this._input();\r\n var eventName = (0, _index.addNamespace)(_wheel.name, this.NAME);\r\n var mouseWheelAction = this._createAction(function(e) {\r\n var event = e.event;\r\n if ((0, _selectors.focused)(input) && !(0, _index.isCommandKeyPressed)(event)) {\r\n this._onMouseWheel(event);\r\n event.preventDefault();\r\n event.stopPropagation()\r\n }\r\n }.bind(this));\r\n _events_engine.default.off(input, eventName);\r\n _events_engine.default.on(input, eventName, function(e) {\r\n mouseWheelAction({\r\n event: e\r\n })\r\n })\r\n },\r\n _onMouseWheel: _common.noop,\r\n _render: function() {\r\n this._renderMask();\r\n this.callBase();\r\n this._attachMouseWheelEventHandlers()\r\n },\r\n _renderHiddenElement: function() {\r\n if (this.option(\"mask\")) {\r\n this._$hiddenElement = (0, _renderer.default)(\"\").attr(\"type\", \"hidden\").appendTo(this._inputWrapper())\r\n }\r\n },\r\n _removeHiddenElement: function() {\r\n this._$hiddenElement && this._$hiddenElement.remove()\r\n },\r\n _renderMask: function() {\r\n this.$element().removeClass(TEXTEDITOR_MASKED_CLASS);\r\n this._maskRulesChain = null;\r\n this._maskStrategy.detachEvents();\r\n if (!this.option(\"mask\")) {\r\n return\r\n }\r\n this.$element().addClass(TEXTEDITOR_MASKED_CLASS);\r\n this._maskStrategy.attachEvents();\r\n this._parseMask();\r\n this._renderMaskedValue()\r\n },\r\n _suppressCaretChanging: function(callback, args) {\r\n caret = stubCaret;\r\n try {\r\n callback.apply(this, args)\r\n } finally {\r\n caret = _utils.default\r\n }\r\n },\r\n _changeHandler: function(e) {\r\n var $input = this._input();\r\n var inputValue = $input.val();\r\n if (inputValue === this._changedValue) {\r\n return\r\n }\r\n this._changedValue = inputValue;\r\n var changeEvent = (0, _index.createEvent)(e, {\r\n type: \"change\"\r\n });\r\n _events_engine.default.trigger($input, changeEvent)\r\n },\r\n _parseMask: function() {\r\n this._maskRules = (0, _extend.extend)({}, buildInMaskRules, this.option(\"maskRules\"));\r\n this._maskRulesChain = this._parseMaskRule(0)\r\n },\r\n _parseMaskRule: function(index) {\r\n var mask = this.option(\"mask\");\r\n if (index >= mask.length) {\r\n return new _uiText_editorMask.EmptyMaskRule\r\n }\r\n var currentMaskChar = mask[index];\r\n var isEscapedChar = currentMaskChar === ESCAPED_CHAR;\r\n var result = isEscapedChar ? new _uiText_editorMask.StubMaskRule({\r\n maskChar: mask[index + 1]\r\n }) : this._getMaskRule(currentMaskChar);\r\n result.next(this._parseMaskRule(index + 1 + isEscapedChar));\r\n return result\r\n },\r\n _getMaskRule: function(pattern) {\r\n var ruleConfig;\r\n (0, _iterator.each)(this._maskRules, function(rulePattern, allowedChars) {\r\n if (rulePattern === pattern) {\r\n ruleConfig = {\r\n pattern: rulePattern,\r\n allowedChars: allowedChars\r\n };\r\n return false\r\n }\r\n });\r\n return (0, _type.isDefined)(ruleConfig) ? new _uiText_editorMask.MaskRule((0, _extend.extend)({\r\n maskChar: this.option(\"maskChar\")\r\n }, ruleConfig)) : new _uiText_editorMask.StubMaskRule({\r\n maskChar: pattern\r\n })\r\n },\r\n _renderMaskedValue: function() {\r\n if (!this._maskRulesChain) {\r\n return\r\n }\r\n var value = this.option(\"value\") || \"\";\r\n this._maskRulesChain.clear(this._normalizeChainArguments());\r\n var chainArgs = {\r\n length: value.length\r\n };\r\n chainArgs[this._isMaskedValueMode() ? \"text\" : \"value\"] = value;\r\n this._handleChain(chainArgs);\r\n this._displayMask()\r\n },\r\n _replaceSelectedText: function(text, selection, char) {\r\n if (void 0 === char) {\r\n return text\r\n }\r\n var textBefore = text.slice(0, selection.start);\r\n var textAfter = text.slice(selection.end);\r\n var edited = textBefore + char + textAfter;\r\n return edited\r\n },\r\n _isMaskedValueMode: function() {\r\n return this.option(\"useMaskedValue\")\r\n },\r\n _displayMask: function(caret) {\r\n caret = caret || this._caret();\r\n this._renderValue();\r\n this._caret(caret)\r\n },\r\n _isValueEmpty: function() {\r\n return (0, _string.isEmpty)(this._value)\r\n },\r\n _shouldShowMask: function() {\r\n var showMaskMode = this.option(\"showMaskMode\");\r\n if (\"onFocus\" === showMaskMode) {\r\n return (0, _selectors.focused)(this._input()) || !this._isValueEmpty()\r\n }\r\n return true\r\n },\r\n _showMaskPlaceholder: function() {\r\n if (this._shouldShowMask()) {\r\n var text = this._maskRulesChain.text();\r\n this.option(\"text\", text);\r\n if (\"onFocus\" === this.option(\"showMaskMode\")) {\r\n this._renderDisplayText(text)\r\n }\r\n }\r\n },\r\n _renderValue: function() {\r\n if (this._maskRulesChain) {\r\n this._showMaskPlaceholder();\r\n if (this._$hiddenElement) {\r\n var value = this._maskRulesChain.value();\r\n var submitElementValue = !(0, _string.isEmpty)(value) ? this._getPreparedValue() : \"\";\r\n this._$hiddenElement.val(submitElementValue)\r\n }\r\n }\r\n return this.callBase()\r\n },\r\n _getPreparedValue: function() {\r\n return this._convertToValue().replace(/\\s+$/, \"\")\r\n },\r\n _valueChangeEventHandler: function(e) {\r\n if (!this._maskRulesChain) {\r\n this.callBase.apply(this, arguments);\r\n return\r\n }\r\n this._saveValueChangeEvent(e);\r\n this.option(\"value\", this._getPreparedValue())\r\n },\r\n _isControlKeyFired: function(e) {\r\n return this._isControlKey((0, _index.normalizeKeyName)(e)) || (0, _index.isCommandKeyPressed)(e)\r\n },\r\n _handleChain: function(args) {\r\n var handledCount = this._maskRulesChain.handle(this._normalizeChainArguments(args));\r\n this._value = this._maskRulesChain.value();\r\n this._textValue = this._maskRulesChain.text();\r\n return handledCount\r\n },\r\n _normalizeChainArguments: function(args) {\r\n args = args || {};\r\n args.index = 0;\r\n args.fullText = this._maskRulesChain.text();\r\n return args\r\n },\r\n _convertToValue: function(text) {\r\n if (this._isMaskedValueMode()) {\r\n text = this._replaceMaskCharWithEmpty(text || this._textValue || \"\")\r\n } else {\r\n text = text || this._value || \"\"\r\n }\r\n return text\r\n },\r\n _replaceMaskCharWithEmpty: function(text) {\r\n return text.replace(new RegExp(this.option(\"maskChar\"), \"g\"), EMPTY_CHAR)\r\n },\r\n _maskKeyHandler: function(e, keyHandler) {\r\n var _this = this;\r\n if (this.option(\"readOnly\")) {\r\n return\r\n }\r\n this.setForwardDirection();\r\n e.preventDefault();\r\n this._handleSelection();\r\n var previousText = this._input().val();\r\n var raiseInputEvent = function() {\r\n if (previousText !== _this._input().val()) {\r\n _this._maskStrategy.runWithoutEventProcessing(function() {\r\n return _events_engine.default.trigger(_this._input(), \"input\")\r\n })\r\n }\r\n };\r\n var handled = keyHandler();\r\n if (handled) {\r\n handled.then(raiseInputEvent)\r\n } else {\r\n this.setForwardDirection();\r\n this._adjustCaret();\r\n this._displayMask();\r\n this._maskRulesChain.reset();\r\n raiseInputEvent()\r\n }\r\n },\r\n _handleKey: function(key, direction) {\r\n this._direction(direction || FORWARD_DIRECTION);\r\n this._adjustCaret(key);\r\n this._handleKeyChain(key);\r\n this._moveCaret()\r\n },\r\n _handleSelection: function() {\r\n if (!this._hasSelection()) {\r\n return\r\n }\r\n var caret = this._caret();\r\n var emptyChars = new Array(caret.end - caret.start + 1).join(EMPTY_CHAR);\r\n this._handleKeyChain(emptyChars)\r\n },\r\n _handleKeyChain: function(chars) {\r\n var caret = this._caret();\r\n var start = this.isForwardDirection() ? caret.start : caret.start - 1;\r\n var end = this.isForwardDirection() ? caret.end : caret.end - 1;\r\n var length = start === end ? 1 : end - start;\r\n this._handleChain({\r\n text: chars,\r\n start: start,\r\n length: length\r\n })\r\n },\r\n _tryMoveCaretBackward: function() {\r\n this.setBackwardDirection();\r\n var currentCaret = this._caret().start;\r\n this._adjustCaret();\r\n return !currentCaret || currentCaret !== this._caret().start\r\n },\r\n _adjustCaret: function(char) {\r\n var caret = this._maskRulesChain.adjustedCaret(this._caret().start, this.isForwardDirection(), char);\r\n this._caret({\r\n start: caret,\r\n end: caret\r\n })\r\n },\r\n _moveCaret: function() {\r\n var currentCaret = this._caret().start;\r\n var maskRuleIndex = currentCaret + (this.isForwardDirection() ? 0 : -1);\r\n var caret = this._maskRulesChain.isAccepted(maskRuleIndex) ? currentCaret + (this.isForwardDirection() ? 1 : -1) : currentCaret;\r\n this._caret({\r\n start: caret,\r\n end: caret\r\n })\r\n },\r\n _caret: function(position) {\r\n var $input = this._input();\r\n if (!$input.length) {\r\n return\r\n }\r\n if (!arguments.length) {\r\n return caret($input)\r\n }\r\n caret($input, position)\r\n },\r\n _hasSelection: function() {\r\n var caret = this._caret();\r\n return caret.start !== caret.end\r\n },\r\n _direction: function(direction) {\r\n if (!arguments.length) {\r\n return this._typingDirection\r\n }\r\n this._typingDirection = direction\r\n },\r\n setForwardDirection: function() {\r\n this._direction(FORWARD_DIRECTION)\r\n },\r\n setBackwardDirection: function() {\r\n this._direction(BACKWARD_DIRECTION)\r\n },\r\n isForwardDirection: function() {\r\n return this._direction() === FORWARD_DIRECTION\r\n },\r\n _clean: function() {\r\n this._maskStrategy && this._maskStrategy.clean();\r\n this.callBase()\r\n },\r\n _validateMask: function() {\r\n if (!this._maskRulesChain) {\r\n return\r\n }\r\n var isValid = (0, _string.isEmpty)(this.option(\"value\")) || this._maskRulesChain.isValid(this._normalizeChainArguments());\r\n this.option({\r\n isValid: isValid,\r\n validationError: isValid ? null : {\r\n editorSpecific: true,\r\n message: this.option(\"maskInvalidMessage\")\r\n }\r\n })\r\n },\r\n _updateHiddenElement: function() {\r\n this._removeHiddenElement();\r\n if (this.option(\"mask\")) {\r\n this._input().removeAttr(\"name\");\r\n this._renderHiddenElement()\r\n }\r\n this._setSubmitElementName(this.option(\"name\"))\r\n },\r\n _updateMaskOption: function() {\r\n this._updateHiddenElement();\r\n this._renderMask();\r\n this._validateMask()\r\n },\r\n _processEmptyMask: function(mask) {\r\n if (mask) {\r\n return\r\n }\r\n var value = this.option(\"value\");\r\n this.option({\r\n text: value,\r\n isValid: true\r\n });\r\n this.validationRequest.fire({\r\n value: value,\r\n editor: this\r\n });\r\n this._renderValue()\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"mask\":\r\n this._updateMaskOption();\r\n this._processEmptyMask(args.value);\r\n break;\r\n case \"maskChar\":\r\n case \"maskRules\":\r\n case \"useMaskedValue\":\r\n this._updateMaskOption();\r\n break;\r\n case \"value\":\r\n this._renderMaskedValue();\r\n this._validateMask();\r\n this.callBase(args);\r\n this._changedValue = this._input().val();\r\n break;\r\n case \"maskInvalidMessage\":\r\n break;\r\n case \"showMaskMode\":\r\n this.option(\"text\", \"\");\r\n this._renderValue();\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n }\r\n});\r\nvar _default = TextEditorMask;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (core/element_data.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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.getDataStrategy = getDataStrategy;\r\nexports.data = data;\r\nexports.beforeCleanData = beforeCleanData;\r\nexports.afterCleanData = afterCleanData;\r\nexports.cleanData = cleanData;\r\nexports.removeData = removeData;\r\nexports.cleanDataRecursive = cleanDataRecursive;\r\nexports.setDataStrategy = exports.strategyChanging = void 0;\r\nvar _weak_map = _interopRequireDefault(require(\"./polyfills/weak_map\"));\r\nvar _dom_adapter = _interopRequireDefault(require(\"./dom_adapter\"));\r\nvar _events_engine = _interopRequireDefault(require(\"../events/core/events_engine\"));\r\nvar _memorized_callbacks = _interopRequireDefault(require(\"./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 dataMap = new _weak_map.default;\r\nvar strategy;\r\nvar strategyChanging = new _memorized_callbacks.default;\r\nexports.strategyChanging = strategyChanging;\r\nvar beforeCleanDataFunc = function() {};\r\nvar afterCleanDataFunc = function() {};\r\nvar setDataStrategy = function(value) {\r\n strategyChanging.fire(value);\r\n strategy = value;\r\n var cleanData = strategy.cleanData;\r\n strategy.cleanData = function(nodes) {\r\n beforeCleanDataFunc(nodes);\r\n var result = cleanData.call(this, nodes);\r\n afterCleanDataFunc(nodes);\r\n return result\r\n }\r\n};\r\nexports.setDataStrategy = setDataStrategy;\r\nsetDataStrategy({\r\n data: function() {\r\n var element = arguments[0];\r\n var key = arguments[1];\r\n var value = arguments[2];\r\n if (!element) {\r\n return\r\n }\r\n var elementData = dataMap.get(element);\r\n if (!elementData) {\r\n elementData = {};\r\n dataMap.set(element, elementData)\r\n }\r\n if (void 0 === key) {\r\n return elementData\r\n }\r\n if (2 === arguments.length) {\r\n return elementData[key]\r\n }\r\n elementData[key] = value;\r\n return value\r\n },\r\n removeData: function(element, key) {\r\n if (!element) {\r\n return\r\n }\r\n if (void 0 === key) {\r\n dataMap.delete(element)\r\n } else {\r\n var elementData = dataMap.get(element);\r\n if (elementData) {\r\n delete elementData[key]\r\n }\r\n }\r\n },\r\n cleanData: function(elements) {\r\n for (var i = 0; i < elements.length; i++) {\r\n _events_engine.default.off(elements[i]);\r\n dataMap.delete(elements[i])\r\n }\r\n }\r\n});\r\n\r\nfunction getDataStrategy() {\r\n return strategy\r\n}\r\n\r\nfunction data() {\r\n return strategy.data.apply(this, arguments)\r\n}\r\n\r\nfunction beforeCleanData(callback) {\r\n beforeCleanDataFunc = callback\r\n}\r\n\r\nfunction afterCleanData(callback) {\r\n afterCleanDataFunc = callback\r\n}\r\n\r\nfunction cleanData(nodes) {\r\n return strategy.cleanData.call(this, nodes)\r\n}\r\n\r\nfunction removeData(element, key) {\r\n return strategy.removeData.call(this, element, key)\r\n}\r\n\r\nfunction cleanDataRecursive(element, cleanSelf) {\r\n if (!_dom_adapter.default.isElementNode(element)) {\r\n return\r\n }\r\n var childElements = element.getElementsByTagName(\"*\");\r\n strategy.cleanData(childElements);\r\n if (cleanSelf) {\r\n strategy.cleanData([element])\r\n }\r\n}\r\n","/**\r\n * DevExtreme (core/utils/extend.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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.extend = exports.extendFromObject = void 0;\r\nvar _type = require(\"./type\");\r\nvar extendFromObject = function(target, source, overrideExistingValues) {\r\n target = target || {};\r\n for (var prop in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, prop)) {\r\n var value = source[prop];\r\n if (!(prop in target) || overrideExistingValues) {\r\n target[prop] = value\r\n }\r\n }\r\n }\r\n return target\r\n};\r\nexports.extendFromObject = extendFromObject;\r\nvar extend = function extend(target) {\r\n target = target || {};\r\n var i = 1;\r\n var deep = false;\r\n if (\"boolean\" === typeof target) {\r\n deep = target;\r\n target = arguments[1] || {};\r\n i++\r\n }\r\n for (; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n if (null == source) {\r\n continue\r\n }\r\n for (var key in source) {\r\n var targetValue = target[key];\r\n var sourceValue = source[key];\r\n var sourceValueIsArray = false;\r\n var clone = void 0;\r\n if (\"__proto__\" === key || target === sourceValue) {\r\n continue\r\n }\r\n if (deep && sourceValue && ((0, _type.isPlainObject)(sourceValue) || (sourceValueIsArray = Array.isArray(sourceValue)))) {\r\n if (sourceValueIsArray) {\r\n clone = targetValue && Array.isArray(targetValue) ? targetValue : []\r\n } else {\r\n clone = targetValue && (0, _type.isPlainObject)(targetValue) ? targetValue : {}\r\n }\r\n target[key] = extend(deep, clone, sourceValue)\r\n } else {\r\n if (void 0 !== sourceValue) {\r\n target[key] = sourceValue\r\n }\r\n }\r\n }\r\n }\r\n return target\r\n};\r\nexports.extend = extend;\r\n","/*!\n * devextreme-vue\n * Version: 20.2.6\n * Build date: Tue Mar 16 2021\n *\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-vue\n */\n\n\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.initBaseComponent = exports.initDxComponent = void 0;\nvar vue_1 = require(\"vue\");\nvar CreateCallback = require(\"devextreme/core/utils/callbacks\");\nvar events = require(\"devextreme/events\");\nvar vue_helper_1 = require(\"./vue-helper\");\nvar children_processing_1 = require(\"./children-processing\");\nvar configuration_1 = require(\"./configuration\");\nvar configuration_component_1 = require(\"./configuration-component\");\nvar constants_1 = require(\"./constants\");\nvar helpers_1 = require(\"./helpers\");\nvar templates_manager_1 = require(\"./templates-manager\");\nfunction initBaseComponent() {\n return vue_1.defineComponent({\n inheritAttrs: false,\n data: function () {\n return {\n eventBus: CreateCallback()\n };\n },\n provide: function () {\n return {\n eventBus: this.eventBus\n };\n },\n render: function () {\n var thisComponent = this;\n var children = [];\n if (thisComponent.$_config.cleanNested) {\n thisComponent.$_config.cleanNested();\n }\n children_processing_1.pullAllChildren(vue_helper_1.defaultSlots(this), children, thisComponent.$_config);\n this.$_processChildren(children);\n return vue_1.h(\"div\", {\n attrs: { id: this.$attrs.id }\n }, children);\n },\n beforeUpdate: function () {\n var thisComponent = this;\n thisComponent.$_config.setPrevNestedOptions(thisComponent.$_config.getNestedOptionValues());\n },\n updated: function () {\n var thisComponent = this;\n vue_helper_1.getChildren(thisComponent).forEach(function (child) {\n configuration_component_1.initOptionChangedFunc(child.$_config, child.type.props || {}, vue_helper_1.getComponentInstance(child), child.$_innerChanges);\n });\n thisComponent.$_templatesManager.discover();\n thisComponent.$_instance.beginUpdate();\n if (thisComponent.$_templatesManager.isDirty) {\n thisComponent.$_instance.option(\"integrationOptions.templates\", thisComponent.$_templatesManager.templates);\n for (var _i = 0, _a = Object.keys(thisComponent.$_templatesManager.templates); _i < _a.length; _i++) {\n var name_1 = _a[_i];\n thisComponent.$_instance.option(name_1, name_1);\n }\n thisComponent.$_templatesManager.resetDirtyFlag();\n }\n for (var _b = 0, _c = Object.keys(thisComponent.$_pendingOptions); _b < _c.length; _b++) {\n var name_2 = _c[_b];\n thisComponent.$_instance.option(name_2, thisComponent.$_pendingOptions[name_2]);\n }\n thisComponent.$_pendingOptions = {};\n this.$_applyConfigurationChanges();\n thisComponent.$_instance.endUpdate();\n this.eventBus.fire();\n },\n beforeUnmount: function () {\n var thisComponent = this;\n var instance = thisComponent.$_instance;\n if (instance) {\n events.triggerHandler(this.$el, constants_1.DX_REMOVE_EVENT);\n instance.dispose();\n }\n },\n created: function () {\n var thisComponent = this;\n var props = vue_helper_1.getComponentProps(this);\n thisComponent.$_config = new configuration_1.default(function (n, v) {\n if (Array.isArray(v)) {\n thisComponent.$_instance.option(n, v);\n }\n else {\n thisComponent.$_pendingOptions[n === vue_helper_1.VMODEL_NAME ? \"value\" : n] = v;\n }\n }, null, props && __assign({}, props), thisComponent.$_expectedChildren);\n thisComponent.$_innerChanges = {};\n thisComponent.$_config.init(this.$props && Object.keys(this.$props));\n },\n methods: {\n $_applyConfigurationChanges: function () {\n var thisComponent = this;\n thisComponent.$_config.componentsCountChanged.forEach(function (_a) {\n var optionPath = _a.optionPath, isCollection = _a.isCollection, removed = _a.removed;\n var options = thisComponent.$_config.getNestedOptionValues();\n if (!isCollection && removed) {\n thisComponent.$_instance.resetOption(optionPath);\n }\n else {\n thisComponent.$_instance.option(optionPath, helpers_1.getOptionValue(options, optionPath));\n }\n });\n thisComponent.$_config.cleanComponentsCountChanged();\n },\n $_createWidget: function (element) {\n var thisComponent = this;\n thisComponent.$_pendingOptions = {};\n thisComponent.$_templatesManager = new templates_manager_1.TemplatesManager(this);\n var config = thisComponent.$_config;\n if (config.initialValues.hasOwnProperty(vue_helper_1.VMODEL_NAME)) {\n config.initialValues.value = vue_helper_1.getVModelValue(config.initialValues);\n }\n var options = __assign(__assign(__assign(__assign({ templatesRenderAsynchronously: true }, vue_helper_1.getComponentProps(thisComponent)), config.initialValues), config.getNestedOptionValues()), this.$_getIntegrationOptions());\n var instance = new thisComponent.$_WidgetClass(element, options);\n thisComponent.$_instance = instance;\n instance.on(\"optionChanged\", function (args) { return config.onOptionChanged(args); });\n configuration_1.setEmitOptionChangedFunc(config, thisComponent, thisComponent.$_innerChanges);\n configuration_1.bindOptionWatchers(config, thisComponent, thisComponent.$_innerChanges);\n this.$_createEmitters(instance);\n },\n $_getIntegrationOptions: function () {\n var thisComponent = this;\n var result = __assign({ integrationOptions: {\n watchMethod: this.$_getWatchMethod(),\n } }, this.$_getExtraIntegrationOptions());\n if (thisComponent.$_templatesManager.isDirty) {\n var templates = thisComponent.$_templatesManager.templates;\n result.integrationOptions.templates = templates;\n for (var _i = 0, _a = Object.keys(templates); _i < _a.length; _i++) {\n var name_3 = _a[_i];\n result[name_3] = name_3;\n }\n thisComponent.$_templatesManager.resetDirtyFlag();\n }\n return result;\n },\n $_getWatchMethod: function () {\n var _this = this;\n return function (valueGetter, valueChangeCallback, options) {\n options = options || {};\n if (!options.skipImmediate) {\n valueChangeCallback(valueGetter());\n }\n return _this.$watch(function () {\n return valueGetter();\n }, function (newValue, oldValue) {\n if (helpers_1.toComparable(oldValue) !== helpers_1.toComparable(newValue) || options.deep) {\n valueChangeCallback(newValue);\n }\n }, {\n deep: options.deep\n });\n };\n },\n $_getExtraIntegrationOptions: function () {\n return {};\n },\n $_processChildren: function (_children) {\n return;\n },\n $_createEmitters: function (instance) {\n var _this = this;\n if (this.$attrs) {\n Object.keys(this.$attrs).forEach(function (listenerName) {\n var eventName = helpers_1.camelize(listenerName);\n instance.on(eventName, function (e) {\n _this.$emit(listenerName, e);\n });\n });\n }\n }\n }\n });\n}\nexports.initBaseComponent = initBaseComponent;\nfunction cleanWidgetNode(node) {\n var removedNodes = [];\n helpers_1.forEachChildNode(node, function (childNode) {\n var parent = childNode.parentNode;\n var isExtension = childNode.hasAttribute && childNode.hasAttribute(\"isExtension\");\n if ((childNode.nodeName === \"#comment\" || isExtension) && parent) {\n removedNodes.push(childNode);\n parent.removeChild(childNode);\n }\n });\n return removedNodes;\n}\nfunction restoreNodes(el, nodes) {\n nodes.forEach(function (node) {\n el.appendChild(node);\n });\n}\nfunction initDxComponent() {\n return vue_1.defineComponent({\n extends: initBaseComponent(),\n methods: {\n $_getExtraIntegrationOptions: function () {\n return {\n onInitializing: function () {\n this.beginUpdate();\n }\n };\n },\n $_processChildren: function (children) {\n children.forEach(function (childNode) {\n if (!childNode || typeof childNode !== \"object\") {\n return;\n }\n childNode.$_hasOwner = true;\n });\n },\n },\n mounted: function () {\n var _this = this;\n var nodes = cleanWidgetNode(this.$el);\n var thisComponent = this;\n this.$_createWidget(this.$el);\n thisComponent.$_instance.endUpdate();\n restoreNodes(this.$el, nodes);\n if (this.$slots && this.$slots.default) {\n vue_helper_1.getChildren(thisComponent).forEach(function (child) {\n var childExtenton = child;\n if (childExtenton && childExtenton.$_isExtension) {\n childExtenton.$_attachTo(_this.$el);\n }\n });\n }\n }\n });\n}\nexports.initDxComponent = initDxComponent;\n","/**\r\n * DevExtreme (core/config.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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(\"./utils/extend\");\r\nvar _errors = _interopRequireDefault(require(\"./errors\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar config = {\r\n rtlEnabled: false,\r\n defaultCurrency: \"USD\",\r\n oDataFilterToLower: true,\r\n serverDecimalSeparator: \".\",\r\n decimalSeparator: \".\",\r\n thousandsSeparator: \",\",\r\n forceIsoDateParsing: true,\r\n wrapActionsBeforeExecute: true,\r\n useLegacyStoreResult: false,\r\n useJQuery: void 0,\r\n editorStylingMode: void 0,\r\n useLegacyVisibleIndex: false,\r\n floatingActionButtonConfig: {\r\n icon: \"add\",\r\n closeIcon: \"close\",\r\n label: \"\",\r\n position: {\r\n at: \"right bottom\",\r\n my: \"right bottom\",\r\n offset: {\r\n x: -16,\r\n y: -16\r\n }\r\n },\r\n maxSpeedDialActionCount: 5,\r\n shading: false,\r\n direction: \"auto\"\r\n },\r\n optionsParser: function(optionsString) {\r\n if (\"{\" !== optionsString.trim().charAt(0)) {\r\n optionsString = \"{\" + optionsString + \"}\"\r\n }\r\n try {\r\n return new Function(\"return \" + optionsString)()\r\n } catch (ex) {\r\n throw _errors.default.Error(\"E3018\", ex, optionsString)\r\n }\r\n }\r\n};\r\nvar deprecatedFields = [\"decimalSeparator\", \"thousandsSeparator\"];\r\nvar configMethod = function() {\r\n if (!arguments.length) {\r\n return config\r\n }\r\n var newConfig = arguments.length <= 0 ? void 0 : arguments[0];\r\n deprecatedFields.forEach(function(deprecatedField) {\r\n if (newConfig[deprecatedField]) {\r\n var message = \"Now, the \".concat(deprecatedField, \" is selected based on the specified locale.\");\r\n _errors.default.log(\"W0003\", \"config\", deprecatedField, \"19.2\", message)\r\n }\r\n });\r\n (0, _extend.extend)(config, newConfig)\r\n};\r\nif (\"undefined\" !== typeof DevExpress && DevExpress.config) {\r\n configMethod(DevExpress.config)\r\n}\r\nvar _default = configMethod;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\nmodule.exports.default = module.exports;\r\n","/*!\n * devextreme-vue\n * Version: 20.2.6\n * Build date: Tue Mar 16 2021\n *\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-vue\n */\n\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar VueType = require(\"vue\");\nvar Vue = VueType.default || VueType;\nvar configuration_1 = require(\"./configuration\");\nfunction getConfig(vueInstance) {\n if (!vueInstance.$vnode) {\n return;\n }\n var componentOptions = vueInstance.$vnode.componentOptions;\n return componentOptions && componentOptions.$_config;\n}\nexports.getConfig = getConfig;\nfunction getInnerChanges(vueInstance) {\n if (!vueInstance.$vnode) {\n return;\n }\n var componentOptions = vueInstance.$vnode.componentOptions;\n return componentOptions && componentOptions.$_innerChanges;\n}\nexports.getInnerChanges = getInnerChanges;\nfunction initOptionChangedFunc(config, vueInstance, innerChanges) {\n if (!config) {\n return;\n }\n config.init(Object.keys(vueInstance.$props));\n configuration_1.setEmitOptionChangedFunc(config, vueInstance, innerChanges);\n}\nexports.initOptionChangedFunc = initOptionChangedFunc;\nfunction getComponentInfo(_a, removed) {\n var name = _a.name, isCollectionItem = _a.isCollectionItem, ownerConfig = _a.ownerConfig;\n var parentPath = ownerConfig && ownerConfig.fullPath;\n var optionPath = name && parentPath ? parentPath + \".\" + name : name || \"\";\n return {\n optionPath: optionPath,\n isCollection: isCollectionItem,\n removed: removed\n };\n}\nvar DxConfiguration = function () { return Vue.extend({\n beforeMount: function () {\n var config = getConfig(this);\n var innerChanges = getInnerChanges(this);\n initOptionChangedFunc(config, this, innerChanges);\n configuration_1.bindOptionWatchers(config, this, innerChanges);\n },\n mounted: function () {\n if (this.$parent.$_instance) {\n this.$parent.$_config.componentsCountChanged\n .push(getComponentInfo(getConfig(this)));\n }\n },\n beforeDestroy: function () {\n this.$parent.$_config.componentsCountChanged\n .push(getComponentInfo(getConfig(this), true));\n },\n render: function (createElement) {\n return createElement();\n }\n}); };\nexports.DxConfiguration = DxConfiguration;\n","/**\r\n * DevExtreme (core/utils/object.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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.deepExtendArraySafe = exports.orderEach = exports.clone = void 0;\r\nvar _type = require(\"./type\");\r\nvar _variable_wrapper = _interopRequireDefault(require(\"./variable_wrapper\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar clone = function() {\r\n function Clone() {}\r\n return function(obj) {\r\n Clone.prototype = obj;\r\n return new Clone\r\n }\r\n}();\r\nexports.clone = clone;\r\nvar orderEach = function(map, func) {\r\n var keys = [];\r\n var key;\r\n var i;\r\n for (key in map) {\r\n if (Object.prototype.hasOwnProperty.call(map, key)) {\r\n keys.push(key)\r\n }\r\n }\r\n keys.sort(function(x, y) {\r\n var isNumberX = (0, _type.isNumeric)(x);\r\n var isNumberY = (0, _type.isNumeric)(y);\r\n if (isNumberX && isNumberY) {\r\n return x - y\r\n }\r\n if (isNumberX && !isNumberY) {\r\n return -1\r\n }\r\n if (!isNumberX && isNumberY) {\r\n return 1\r\n }\r\n if (x < y) {\r\n return -1\r\n }\r\n if (x > y) {\r\n return 1\r\n }\r\n return 0\r\n });\r\n for (i = 0; i < keys.length; i++) {\r\n key = keys[i];\r\n func(key, map[key])\r\n }\r\n};\r\nexports.orderEach = orderEach;\r\nvar assignValueToProperty = function(target, property, value, assignByReference) {\r\n if (!assignByReference && _variable_wrapper.default.isWrapped(target[property])) {\r\n _variable_wrapper.default.assign(target[property], value)\r\n } else {\r\n target[property] = value\r\n }\r\n};\r\nvar deepExtendArraySafe = function deepExtendArraySafe(target, changes, extendComplexObject, assignByReference) {\r\n var prevValue;\r\n var newValue;\r\n for (var name in changes) {\r\n prevValue = target[name];\r\n newValue = changes[name];\r\n if (\"__proto__\" === name || target === newValue) {\r\n continue\r\n }\r\n if ((0, _type.isPlainObject)(newValue)) {\r\n var goDeeper = extendComplexObject ? (0, _type.isObject)(prevValue) : (0, _type.isPlainObject)(prevValue);\r\n newValue = deepExtendArraySafe(goDeeper ? prevValue : {}, newValue, extendComplexObject, assignByReference)\r\n }\r\n if (void 0 !== newValue && prevValue !== newValue) {\r\n assignValueToProperty(target, name, newValue, assignByReference)\r\n }\r\n }\r\n return target\r\n};\r\nexports.deepExtendArraySafe = deepExtendArraySafe;\r\n","/**\r\n * DevExtreme (ui/text_box/texteditor_button_collection/custom.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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 _button = _interopRequireDefault(require(\"./button\"));\r\nvar _button2 = _interopRequireDefault(require(\"../../button\"));\r\nvar _extend = require(\"../../../core/utils/extend\");\r\nvar _events_engine = _interopRequireDefault(require(\"../../../events/core/events_engine\"));\r\nvar _hover = require(\"../../../events/hover\");\r\nvar _click = require(\"../../../events/click\");\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 CUSTOM_BUTTON_HOVERED_CLASS = \"dx-custom-button-hovered\";\r\nvar CustomButton = function(_TextEditorButton) {\r\n _inheritsLoose(CustomButton, _TextEditorButton);\r\n\r\n function CustomButton() {\r\n return _TextEditorButton.apply(this, arguments) || this\r\n }\r\n var _proto = CustomButton.prototype;\r\n _proto._attachEvents = function(instance, $element) {\r\n var editor = this.editor;\r\n _events_engine.default.on($element, _hover.start, function() {\r\n editor.$element().addClass(CUSTOM_BUTTON_HOVERED_CLASS)\r\n });\r\n _events_engine.default.on($element, _hover.end, function() {\r\n editor.$element().removeClass(CUSTOM_BUTTON_HOVERED_CLASS)\r\n });\r\n _events_engine.default.on($element, _click.name, function(e) {\r\n e.stopPropagation()\r\n })\r\n };\r\n _proto._create = function() {\r\n var editor = this.editor;\r\n var $element = (0, _renderer.default)(\"
\");\r\n this._addToContainer($element);\r\n var instance = editor._createComponent($element, _button2.default, (0, _extend.extend)({}, this.options, {\r\n ignoreParentReadOnly: true,\r\n disabled: this._isDisabled(),\r\n integrationOptions: this._prepareIntegrationOptions(editor)\r\n }));\r\n return {\r\n $element: $element,\r\n instance: instance\r\n }\r\n };\r\n _proto._prepareIntegrationOptions = function(editor) {\r\n return (0, _extend.extend)({}, editor.option(\"integrationOptions\"), {\r\n skipTemplates: [\"content\"]\r\n })\r\n };\r\n _proto.update = function() {\r\n var isUpdated = _TextEditorButton.prototype.update.call(this);\r\n if (this.instance) {\r\n this.instance.option(\"disabled\", this._isDisabled())\r\n }\r\n return isUpdated\r\n };\r\n _proto._isVisible = function() {\r\n var editor = this.editor;\r\n return editor.option(\"visible\")\r\n };\r\n _proto._isDisabled = function() {\r\n var isDefinedByUser = void 0 !== this.options.disabled;\r\n if (isDefinedByUser) {\r\n return this.instance ? this.instance.option(\"disabled\") : this.options.disabled\r\n } else {\r\n return this.editor.option(\"readOnly\")\r\n }\r\n };\r\n return CustomButton\r\n}(_button.default);\r\nexports.default = CustomButton;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (events/gesture/emitter.gesture.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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","/*!\n * devextreme-vue\n * Version: 20.2.6\n * Build date: Tue Mar 16 2021\n *\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-vue\n */\n\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar DX_TEMPLATE_WRAPPER_CLASS = \"dx-template-wrapper\";\nexports.DX_TEMPLATE_WRAPPER_CLASS = DX_TEMPLATE_WRAPPER_CLASS;\nvar DX_REMOVE_EVENT = \"dxremove\";\nexports.DX_REMOVE_EVENT = DX_REMOVE_EVENT;\n","/*!\n * devextreme-vue\n * Version: 20.2.6\n * Build date: Tue Mar 16 2021\n *\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-vue\n */\n\n\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getConfigurationOptions = exports.setVModel = exports.getVModelValue = exports.getNodeTypeOfComponent = exports.getNodeOptions = exports.saveComponentInstance = exports.usedConfigurationProps = exports.getComponentProps = exports.mount = exports.defaultSlots = exports.declaredTemplates = exports.configurationTemplate = exports.configurationDefaultTemplate = exports.configurationChildren = exports.getNormalizedProps = exports.getComponentInstance = exports.getComponentInfo = exports.getChildren = exports.VMODEL_NAME = void 0;\nvar vue_1 = require(\"vue\");\nvar helpers_1 = require(\"./helpers\");\nvar children_processing_1 = require(\"./children-processing\");\nexports.VMODEL_NAME = \"modelValue\";\nfunction getChildren(component) {\n if (!hasChildren(component) || !component.$_config) {\n return [];\n }\n var children = component.$.subTree && component.$.subTree.children;\n if (!Array.isArray(children)) {\n return [];\n }\n return children.filter(function (child) {\n if (!children_processing_1.isFragment(child)) {\n return child;\n }\n return;\n });\n}\nexports.getChildren = getChildren;\nfunction getComponentInfo(component) {\n return getConfigurationOptions(component);\n}\nexports.getComponentInfo = getComponentInfo;\nfunction getComponentInstance(component) {\n return component.type && component.type.$_componentInstance;\n}\nexports.getComponentInstance = getComponentInstance;\nfunction getNormalizedProps(props) {\n var result = {};\n for (var propName in props) {\n if (props.hasOwnProperty(propName)) {\n result[helpers_1.camelize(propName)] = props[propName];\n }\n }\n return result;\n}\nexports.getNormalizedProps = getNormalizedProps;\nfunction configurationChildren(component) {\n if (!component.children || !component.children.default) {\n return [];\n }\n return findConfigurationComponents(component.children.default());\n}\nexports.configurationChildren = configurationChildren;\nfunction configurationDefaultTemplate(node) {\n if (!node.children || node.children === \"object\" || !node.children.default) {\n return;\n }\n return hasInlineTemplate(node.children.default()) ? node.children.default : undefined;\n}\nexports.configurationDefaultTemplate = configurationDefaultTemplate;\nfunction configurationTemplate(node) {\n return configurationDefaultTemplate(node);\n}\nexports.configurationTemplate = configurationTemplate;\nfunction declaredTemplates(component) {\n return component.$slots;\n}\nexports.declaredTemplates = declaredTemplates;\nfunction defaultSlots(component) {\n var templates = declaredTemplates(component);\n if (!templates.default) {\n return [];\n }\n return templates.default();\n}\nexports.defaultSlots = defaultSlots;\nfunction mount(options, parent, el) {\n var template = vue_1.createApp(options);\n template.provide(\"eventBus\", parent.eventBus);\n setAppContext(template, parent);\n return template.mount(el);\n}\nexports.mount = mount;\nfunction getComponentProps(component) {\n var props = component.$.vnode.props || {};\n return getNormalizedProps(props);\n}\nexports.getComponentProps = getComponentProps;\nfunction usedConfigurationProps(node) {\n return node.props;\n}\nexports.usedConfigurationProps = usedConfigurationProps;\nfunction saveComponentInstance(component) {\n var nodeOptions = getNodeTypeOfComponent(component);\n if (nodeOptions) {\n nodeOptions.$_componentInstance = component;\n }\n}\nexports.saveComponentInstance = saveComponentInstance;\nfunction getNodeOptions(component) {\n if (component.$) {\n return component.$.vnode;\n }\n return component;\n}\nexports.getNodeOptions = getNodeOptions;\nfunction getNodeTypeOfComponent(component) {\n return component.$.vnode.type;\n}\nexports.getNodeTypeOfComponent = getNodeTypeOfComponent;\nfunction getVModelValue(options) {\n return options[exports.VMODEL_NAME];\n}\nexports.getVModelValue = getVModelValue;\nfunction setVModel(config) {\n var _a;\n var eventName = \"update:\" + exports.VMODEL_NAME;\n config.model.prop = exports.VMODEL_NAME;\n config.model.event = eventName;\n config.props.modelValue = {};\n config.emits = __assign(__assign({}, config.emits), (_a = {}, _a[\"\" + eventName] = null, _a));\n}\nexports.setVModel = setVModel;\nfunction setAppContext(template, parent) {\n template._context.components = Object.assign(parent.$.appContext.components, template._context.components);\n Object.setPrototypeOf(template._context.provides, Object.getPrototypeOf(parent.$.provides));\n Object.assign(template._context.provides, parent.$.appContext.provides);\n template._context.config = parent.$.appContext.config;\n template._context.directives = parent.$.appContext.directives;\n template._context.mixins = parent.$.appContext.mixins;\n}\nfunction findConfigurationComponents(children) {\n return children.filter(function (child) {\n if (children_processing_1.isFragment(child)) {\n return findConfigurationComponents(child.children || []);\n }\n var childType = child.type;\n if (childType && typeof childType === \"object\" && childType.$_optionName) {\n delete child.$_config;\n delete child.$_innerChanges;\n return child;\n }\n return;\n });\n}\nfunction hasInlineTemplate(children) {\n var hasTemplate = false;\n children.forEach(function (child) {\n if (!isConfiguration(child) && !children_processing_1.isFragment(child)) {\n hasTemplate = true;\n }\n });\n return hasTemplate;\n}\nfunction isConfiguration(child) {\n return child.type && typeof child.type === \"object\" && child.type.$_optionName;\n}\nfunction getConfigurationOptions(node) {\n return node.type;\n}\nexports.getConfigurationOptions = getConfigurationOptions;\nfunction hasChildren(component) {\n return component.$.vnode && component.$.vnode.children && component.$.vnode.children.default;\n}\n","/*!\n * devextreme-vue\n * Version: 20.2.6\n * Build date: Tue Mar 16 2021\n *\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-vue\n */\n\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DxOptions = exports.DxButton = exports.DxTextBox = void 0;\nvar text_box_1 = require(\"devextreme/ui/text_box\");\nvar index_1 = require(\"./core/index\");\nvar index_2 = require(\"./core/index\");\nvar DxTextBox = index_1.createComponent({\n props: {\n accessKey: String,\n activeStateEnabled: Boolean,\n buttons: Array,\n disabled: Boolean,\n elementAttr: Object,\n focusStateEnabled: Boolean,\n height: [Function, Number, String],\n hint: String,\n hoverStateEnabled: Boolean,\n inputAttr: Object,\n isValid: Boolean,\n mask: String,\n maskChar: String,\n maskInvalidMessage: String,\n maskRules: Object,\n maxLength: [Number, String],\n mode: String,\n name: String,\n onChange: Function,\n onContentReady: Function,\n onCopy: Function,\n onCut: Function,\n onDisposing: Function,\n onEnterKey: Function,\n onFocusIn: Function,\n onFocusOut: Function,\n onInitialized: Function,\n onInput: Function,\n onKeyDown: Function,\n onKeyUp: Function,\n onOptionChanged: Function,\n onPaste: Function,\n onValueChanged: Function,\n placeholder: String,\n readOnly: Boolean,\n rtlEnabled: Boolean,\n showClearButton: Boolean,\n showMaskMode: String,\n spellcheck: Boolean,\n stylingMode: String,\n tabIndex: Number,\n text: String,\n useMaskedValue: Boolean,\n validationError: Object,\n validationErrors: Array,\n validationMessageMode: String,\n validationStatus: String,\n value: String,\n valueChangeEvent: String,\n visible: Boolean,\n width: [Function, Number, String]\n },\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:accessKey\": null,\n \"update:activeStateEnabled\": null,\n \"update:buttons\": null,\n \"update:disabled\": null,\n \"update:elementAttr\": null,\n \"update:focusStateEnabled\": null,\n \"update:height\": null,\n \"update:hint\": null,\n \"update:hoverStateEnabled\": null,\n \"update:inputAttr\": null,\n \"update:isValid\": null,\n \"update:mask\": null,\n \"update:maskChar\": null,\n \"update:maskInvalidMessage\": null,\n \"update:maskRules\": null,\n \"update:maxLength\": null,\n \"update:mode\": null,\n \"update:name\": null,\n \"update:onChange\": null,\n \"update:onContentReady\": null,\n \"update:onCopy\": null,\n \"update:onCut\": null,\n \"update:onDisposing\": null,\n \"update:onEnterKey\": null,\n \"update:onFocusIn\": null,\n \"update:onFocusOut\": null,\n \"update:onInitialized\": null,\n \"update:onInput\": null,\n \"update:onKeyDown\": null,\n \"update:onKeyUp\": null,\n \"update:onOptionChanged\": null,\n \"update:onPaste\": null,\n \"update:onValueChanged\": null,\n \"update:placeholder\": null,\n \"update:readOnly\": null,\n \"update:rtlEnabled\": null,\n \"update:showClearButton\": null,\n \"update:showMaskMode\": null,\n \"update:spellcheck\": null,\n \"update:stylingMode\": null,\n \"update:tabIndex\": null,\n \"update:text\": null,\n \"update:useMaskedValue\": null,\n \"update:validationError\": null,\n \"update:validationErrors\": null,\n \"update:validationMessageMode\": null,\n \"update:validationStatus\": null,\n \"update:value\": null,\n \"update:valueChangeEvent\": null,\n \"update:visible\": null,\n \"update:width\": null,\n },\n model: { prop: \"value\", event: \"update:value\" },\n computed: {\n instance: function () {\n return this.$_instance;\n }\n },\n beforeCreate: function () {\n this.$_WidgetClass = text_box_1.default;\n this.$_expectedChildren = {\n button: { isCollectionItem: true, optionName: \"buttons\" }\n };\n }\n});\nexports.DxTextBox = DxTextBox;\nvar DxButton = index_2.createConfigurationComponent({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:location\": null,\n \"update:name\": null,\n \"update:options\": null,\n },\n props: {\n location: String,\n name: String,\n options: Object\n }\n});\nexports.DxButton = DxButton;\nDxButton.$_optionName = \"buttons\";\nDxButton.$_isCollectionItem = true;\nDxButton.$_expectedChildren = {\n options: { isCollectionItem: false, optionName: \"options\" }\n};\nvar DxOptions = index_2.createConfigurationComponent({\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:accessKey\": null,\n \"update:activeStateEnabled\": null,\n \"update:bindingOptions\": null,\n \"update:disabled\": null,\n \"update:elementAttr\": null,\n \"update:focusStateEnabled\": null,\n \"update:height\": null,\n \"update:hint\": null,\n \"update:hoverStateEnabled\": null,\n \"update:icon\": null,\n \"update:onClick\": null,\n \"update:onContentReady\": null,\n \"update:onDisposing\": null,\n \"update:onFocusIn\": null,\n \"update:onFocusOut\": null,\n \"update:onInitialized\": null,\n \"update:onOptionChanged\": null,\n \"update:rtlEnabled\": null,\n \"update:stylingMode\": null,\n \"update:tabIndex\": null,\n \"update:template\": null,\n \"update:text\": null,\n \"update:type\": null,\n \"update:useSubmitBehavior\": null,\n \"update:validationGroup\": null,\n \"update:visible\": null,\n \"update:width\": null,\n },\n props: {\n accessKey: String,\n activeStateEnabled: Boolean,\n bindingOptions: Object,\n disabled: Boolean,\n elementAttr: Object,\n focusStateEnabled: Boolean,\n height: [Function, Number, String],\n hint: String,\n hoverStateEnabled: Boolean,\n icon: String,\n onClick: Function,\n onContentReady: Function,\n onDisposing: Function,\n onFocusIn: Function,\n onFocusOut: Function,\n onInitialized: Function,\n onOptionChanged: Function,\n rtlEnabled: Boolean,\n stylingMode: String,\n tabIndex: Number,\n template: {},\n text: String,\n type: String,\n useSubmitBehavior: Boolean,\n validationGroup: String,\n visible: Boolean,\n width: [Function, Number, String]\n }\n});\nexports.DxOptions = DxOptions;\nDxOptions.$_optionName = \"options\";\nexports.default = DxTextBox;\n","/**\r\n * DevExtreme (core/class.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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(\"./errors\"));\r\nvar _type = require(\"./utils/type\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar wrapOverridden = function(baseProto, methodName, method) {\r\n return function() {\r\n var prevCallBase = this.callBase;\r\n this.callBase = baseProto[methodName];\r\n try {\r\n return method.apply(this, arguments)\r\n } finally {\r\n this.callBase = prevCallBase\r\n }\r\n }\r\n};\r\nvar clonePrototype = function(obj) {\r\n var func = function() {};\r\n func.prototype = obj.prototype;\r\n return new func\r\n};\r\nvar redefine = function(members) {\r\n var that = this;\r\n var overridden;\r\n var memberName;\r\n var member;\r\n if (!members) {\r\n return that\r\n }\r\n for (memberName in members) {\r\n member = members[memberName];\r\n overridden = \"function\" === typeof that.prototype[memberName] && \"function\" === typeof member;\r\n that.prototype[memberName] = overridden ? wrapOverridden(that.parent.prototype, memberName, member) : member\r\n }\r\n return that\r\n};\r\nvar include = function() {\r\n var classObj = this;\r\n var argument;\r\n var name;\r\n var i;\r\n var hasClassObjOwnProperty = Object.prototype.hasOwnProperty.bind(classObj);\r\n var isES6Class = !hasClassObjOwnProperty(\"_includedCtors\") && !hasClassObjOwnProperty(\"_includedPostCtors\");\r\n if (isES6Class) {\r\n classObj._includedCtors = classObj._includedCtors.slice(0);\r\n classObj._includedPostCtors = classObj._includedPostCtors.slice(0)\r\n }\r\n for (i = 0; i < arguments.length; i++) {\r\n argument = arguments[i];\r\n if (argument.ctor) {\r\n classObj._includedCtors.push(argument.ctor)\r\n }\r\n if (argument.postCtor) {\r\n classObj._includedPostCtors.push(argument.postCtor)\r\n }\r\n for (name in argument) {\r\n if (\"ctor\" === name || \"postCtor\" === name) {\r\n continue\r\n }\r\n classObj.prototype[name] = argument[name]\r\n }\r\n }\r\n return classObj\r\n};\r\nvar subclassOf = function(parentClass) {\r\n var hasParentProperty = Object.prototype.hasOwnProperty.bind(this)(\"parent\");\r\n var isES6Class = !hasParentProperty && this.parent;\r\n if (isES6Class) {\r\n var baseClass = Object.getPrototypeOf(this);\r\n return baseClass === parentClass || baseClass.subclassOf(parentClass)\r\n } else {\r\n if (this.parent === parentClass) {\r\n return true\r\n }\r\n if (!this.parent || !this.parent.subclassOf) {\r\n return false\r\n }\r\n return this.parent.subclassOf(parentClass)\r\n }\r\n};\r\nvar abstract = function() {\r\n throw _errors.default.Error(\"E0001\")\r\n};\r\nvar copyStatic = function() {\r\n var hasOwn = Object.prototype.hasOwnProperty;\r\n return function(source, destination) {\r\n for (var key in source) {\r\n if (!hasOwn.call(source, key)) {\r\n return\r\n }\r\n destination[key] = source[key]\r\n }\r\n }\r\n}();\r\nvar classImpl = function() {};\r\nclassImpl.inherit = function(members) {\r\n var inheritor = function() {\r\n if (!this || (0, _type.isWindow)(this) || \"function\" !== typeof this.constructor) {\r\n throw _errors.default.Error(\"E0003\")\r\n }\r\n var instance = this;\r\n var ctor = instance.ctor;\r\n var includedCtors = instance.constructor._includedCtors;\r\n var includedPostCtors = instance.constructor._includedPostCtors;\r\n var i;\r\n for (i = 0; i < includedCtors.length; i++) {\r\n includedCtors[i].call(instance)\r\n }\r\n if (ctor) {\r\n ctor.apply(instance, arguments)\r\n }\r\n for (i = 0; i < includedPostCtors.length; i++) {\r\n includedPostCtors[i].call(instance)\r\n }\r\n };\r\n inheritor.prototype = clonePrototype(this);\r\n copyStatic(this, inheritor);\r\n inheritor.inherit = this.inherit;\r\n inheritor.abstract = abstract;\r\n inheritor.redefine = redefine;\r\n inheritor.include = include;\r\n inheritor.subclassOf = subclassOf;\r\n inheritor.parent = this;\r\n inheritor._includedCtors = this._includedCtors ? this._includedCtors.slice(0) : [];\r\n inheritor._includedPostCtors = this._includedPostCtors ? this._includedPostCtors.slice(0) : [];\r\n inheritor.prototype.constructor = inheritor;\r\n inheritor.redefine(members);\r\n return inheritor\r\n};\r\nclassImpl.abstract = abstract;\r\nvar _default = classImpl;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (ui/widget/swatch_container.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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 _view_port = require(\"../../core/utils/view_port\");\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar SWATCH_CONTAINER_CLASS_PREFIX = \"dx-swatch-\";\r\nvar getSwatchContainer = function(element) {\r\n var $element = (0, _renderer.default)(element);\r\n var swatchContainer = $element.closest('[class^=\"'.concat(SWATCH_CONTAINER_CLASS_PREFIX, '\"], [class*=\" ').concat(SWATCH_CONTAINER_CLASS_PREFIX, '\"]'));\r\n var viewport = (0, _view_port.value)();\r\n if (!swatchContainer.length) {\r\n return viewport\r\n }\r\n var swatchClassRegex = new RegExp(\"(\\\\s|^)(\".concat(SWATCH_CONTAINER_CLASS_PREFIX, \".*?)(\\\\s|$)\"));\r\n var swatchClass = swatchContainer[0].className.match(swatchClassRegex)[2];\r\n var viewportSwatchContainer = viewport.children(\".\" + swatchClass);\r\n if (!viewportSwatchContainer.length) {\r\n viewportSwatchContainer = (0, _renderer.default)(\"
\").addClass(swatchClass).appendTo(viewport)\r\n }\r\n return viewportSwatchContainer\r\n};\r\nvar _default = {\r\n getSwatchContainer: getSwatchContainer\r\n};\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/*!\n * devextreme-vue\n * Version: 20.2.6\n * Build date: Tue Mar 16 2021\n *\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-vue\n */\n\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getInnerChanges = exports.getConfig = exports.initOptionChangedFunc = exports.initDxConfiguration = void 0;\nvar vue_1 = require(\"vue\");\nvar vue_helper_1 = require(\"./vue-helper\");\nvar configuration_1 = require(\"./configuration\");\nfunction getConfig(vueInstance) {\n var componentOptions = vue_helper_1.getNodeOptions(vueInstance);\n if (!componentOptions) {\n return;\n }\n return componentOptions.$_config || vueInstance.$_config;\n}\nexports.getConfig = getConfig;\nfunction getInnerChanges(vueInstance) {\n var componentOptions = vue_helper_1.getNodeOptions(vueInstance);\n if (!componentOptions) {\n return;\n }\n return componentOptions.$_innerChanges || vueInstance.$_innerChanges;\n}\nexports.getInnerChanges = getInnerChanges;\nfunction initOptionChangedFunc(config, props, vueInstance, innerChanges) {\n if (!config) {\n return;\n }\n config.init(Object.keys(props));\n if (vueInstance) {\n configuration_1.setEmitOptionChangedFunc(config, vueInstance, innerChanges);\n }\n}\nexports.initOptionChangedFunc = initOptionChangedFunc;\nfunction getComponentInfo(_a, removed) {\n var name = _a.name, isCollectionItem = _a.isCollectionItem, ownerConfig = _a.ownerConfig;\n var parentPath = ownerConfig && ownerConfig.fullPath;\n var optionPath = name && parentPath ? parentPath + \".\" + name : name || \"\";\n return {\n optionPath: optionPath,\n isCollection: isCollectionItem,\n removed: removed\n };\n}\nfunction initDxConfiguration() {\n return vue_1.defineComponent({\n updated: function () {\n vue_helper_1.saveComponentInstance(this);\n },\n beforeMount: function () {\n var thisComponent = this;\n var config = getConfig(thisComponent);\n var innerChanges = getInnerChanges(thisComponent);\n initOptionChangedFunc(config, vue_helper_1.getNodeTypeOfComponent(thisComponent).props, thisComponent, innerChanges);\n configuration_1.bindOptionWatchers(config, this, innerChanges);\n },\n mounted: function () {\n if (this.$parent.$_instance) {\n this.$parent.$_config.componentsCountChanged\n .push(getComponentInfo(getConfig(this)));\n }\n },\n beforeUnmount: function () {\n var config = getConfig(this);\n if (config) {\n this.$parent.$_config.componentsCountChanged\n .push(getComponentInfo(config, true));\n }\n },\n render: function () {\n return null;\n }\n });\n}\nexports.initDxConfiguration = initDxConfiguration;\n","/**\r\n * DevExtreme (animation/easing.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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.setEasing = setEasing;\r\nexports.getEasing = getEasing;\r\nexports.convertTransitionTimingFuncToEasing = void 0;\r\nvar _type = require(\"../core/utils/type\");\r\nvar CSS_TRANSITION_EASING_REGEX = /cubic-bezier\\((\\d+(?:\\.\\d+)?)\\s*,\\s*(\\d+(?:\\.\\d+)?)\\s*,\\s*(\\d+(?:\\.\\d+)?)\\s*,\\s*(\\d+(?:\\.\\d+)?)\\)/;\r\nvar TransitionTimingFuncMap = {\r\n linear: \"cubic-bezier(0, 0, 1, 1)\",\r\n swing: \"cubic-bezier(0.445, 0.05, 0.55, 0.95)\",\r\n ease: \"cubic-bezier(0.25, 0.1, 0.25, 1)\",\r\n \"ease-in\": \"cubic-bezier(0.42, 0, 1, 1)\",\r\n \"ease-out\": \"cubic-bezier(0, 0, 0.58, 1)\",\r\n \"ease-in-out\": \"cubic-bezier(0.42, 0, 0.58, 1)\"\r\n};\r\nvar polynomBezier = function(x1, y1, x2, y2) {\r\n var Cx = 3 * x1;\r\n var Bx = 3 * (x2 - x1) - Cx;\r\n var Ax = 1 - Cx - Bx;\r\n var Cy = 3 * y1;\r\n var By = 3 * (y2 - y1) - Cy;\r\n var Ay = 1 - Cy - By;\r\n var bezierX = function(t) {\r\n return t * (Cx + t * (Bx + t * Ax))\r\n };\r\n var bezierY = function(t) {\r\n return t * (Cy + t * (By + t * Ay))\r\n };\r\n var derivativeX = function(t) {\r\n return Cx + t * (2 * Bx + 3 * t * Ax)\r\n };\r\n var findXFor = function(t) {\r\n var x = t;\r\n var i = 0;\r\n var z;\r\n while (i < 14) {\r\n z = bezierX(x) - t;\r\n if (Math.abs(z) < .001) {\r\n break\r\n }\r\n x -= z / derivativeX(x);\r\n i++\r\n }\r\n return x\r\n };\r\n return function(t) {\r\n return bezierY(findXFor(t))\r\n }\r\n};\r\nvar easing = {};\r\nvar convertTransitionTimingFuncToEasing = function(cssTransitionEasing) {\r\n cssTransitionEasing = TransitionTimingFuncMap[cssTransitionEasing] || cssTransitionEasing;\r\n var coeffs = cssTransitionEasing.match(CSS_TRANSITION_EASING_REGEX);\r\n var forceName;\r\n if (!coeffs) {\r\n forceName = \"linear\";\r\n coeffs = TransitionTimingFuncMap[forceName].match(CSS_TRANSITION_EASING_REGEX)\r\n }\r\n coeffs = coeffs.slice(1, 5);\r\n for (var i = 0; i < coeffs.length; i++) {\r\n coeffs[i] = parseFloat(coeffs[i])\r\n }\r\n var easingName = forceName || \"cubicbezier_\" + coeffs.join(\"_\").replace(/\\./g, \"p\");\r\n if (!(0, _type.isFunction)(easing[easingName])) {\r\n easing[easingName] = function(x, t, b, c, d) {\r\n return c * polynomBezier(coeffs[0], coeffs[1], coeffs[2], coeffs[3])(t / d) + b\r\n }\r\n }\r\n return easingName\r\n};\r\nexports.convertTransitionTimingFuncToEasing = convertTransitionTimingFuncToEasing;\r\n\r\nfunction setEasing(value) {\r\n easing = value\r\n}\r\n\r\nfunction getEasing(name) {\r\n return easing[name]\r\n}\r\n","/**\r\n * DevExtreme (ui/text_box/ui.text_editor.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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 _component_registrator = _interopRequireDefault(require(\"../../core/component_registrator\"));\r\nvar _uiText_editor = _interopRequireDefault(require(\"./ui.text_editor.mask\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}(0, _component_registrator.default)(\"dxTextEditor\", _uiText_editor.default);\r\nvar _default = _uiText_editor.default;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/*!\n * devextreme-vue\n * Version: 20.2.6\n * Build date: Tue Mar 16 2021\n *\n * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-vue\n */\n\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DxCheckBox = void 0;\nvar check_box_1 = require(\"devextreme/ui/check_box\");\nvar index_1 = require(\"./core/index\");\nvar DxCheckBox = index_1.createComponent({\n props: {\n accessKey: String,\n activeStateEnabled: Boolean,\n disabled: Boolean,\n elementAttr: Object,\n focusStateEnabled: Boolean,\n height: [Function, Number, String],\n hint: String,\n hoverStateEnabled: Boolean,\n isValid: Boolean,\n name: String,\n onContentReady: Function,\n onDisposing: Function,\n onInitialized: Function,\n onOptionChanged: Function,\n onValueChanged: Function,\n readOnly: Boolean,\n rtlEnabled: Boolean,\n tabIndex: Number,\n text: String,\n validationError: Object,\n validationErrors: Array,\n validationMessageMode: String,\n validationStatus: String,\n value: Boolean,\n visible: Boolean,\n width: [Function, Number, String]\n },\n emits: {\n \"update:isActive\": null,\n \"update:hoveredElement\": null,\n \"update:accessKey\": null,\n \"update:activeStateEnabled\": null,\n \"update:disabled\": null,\n \"update:elementAttr\": null,\n \"update:focusStateEnabled\": null,\n \"update:height\": null,\n \"update:hint\": null,\n \"update:hoverStateEnabled\": null,\n \"update:isValid\": null,\n \"update:name\": null,\n \"update:onContentReady\": null,\n \"update:onDisposing\": null,\n \"update:onInitialized\": null,\n \"update:onOptionChanged\": null,\n \"update:onValueChanged\": null,\n \"update:readOnly\": null,\n \"update:rtlEnabled\": null,\n \"update:tabIndex\": null,\n \"update:text\": null,\n \"update:validationError\": null,\n \"update:validationErrors\": null,\n \"update:validationMessageMode\": null,\n \"update:validationStatus\": null,\n \"update:value\": null,\n \"update:visible\": null,\n \"update:width\": null,\n },\n model: { prop: \"value\", event: \"update:value\" },\n computed: {\n instance: function () {\n return this.$_instance;\n }\n },\n beforeCreate: function () {\n this.$_WidgetClass = check_box_1.default;\n }\n});\nexports.DxCheckBox = DxCheckBox;\nexports.default = DxCheckBox;\n","/**\r\n * DevExtreme (core/utils/html_parser.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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.isTablePart = exports.parseHTML = void 0;\r\nvar _array = require(\"./array\");\r\nvar _dom_adapter = _interopRequireDefault(require(\"../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 isTagName = /<([a-z][^/\\0>\\x20\\t\\r\\n\\f]+)/i;\r\nvar tagWrappers = {\r\n \"default\": {\r\n tagsCount: 0,\r\n startTags: \"\",\r\n endTags: \"\"\r\n },\r\n thead: {\r\n tagsCount: 1,\r\n startTags: \"\",\r\n endTags: \"
\"\r\n },\r\n td: {\r\n tagsCount: 3,\r\n startTags: \"\",\r\n endTags: \"
\"\r\n },\r\n col: {\r\n tagsCount: 2,\r\n startTags: \"\",\r\n endTags: \"
\"\r\n },\r\n tr: {\r\n tagsCount: 2,\r\n startTags: \"\",\r\n endTags: \"
\"\r\n }\r\n};\r\ntagWrappers.tbody = tagWrappers.colgroup = tagWrappers.caption = tagWrappers.tfoot = tagWrappers.thead;\r\ntagWrappers.th = tagWrappers.td;\r\nvar parseHTML = function(html) {\r\n if (\"string\" !== typeof html) {\r\n return null\r\n }\r\n var fragment = _dom_adapter.default.createDocumentFragment();\r\n var container = fragment.appendChild(_dom_adapter.default.createElement(\"div\"));\r\n var tags = isTagName.exec(html);\r\n var firstRootTag = tags && tags[1].toLowerCase();\r\n var tagWrapper = tagWrappers[firstRootTag] || tagWrappers.default;\r\n container.innerHTML = tagWrapper.startTags + html + tagWrapper.endTags;\r\n for (var i = 0; i < tagWrapper.tagsCount; i++) {\r\n container = container.lastChild\r\n }\r\n return (0, _array.merge)([], container.childNodes)\r\n};\r\nexports.parseHTML = parseHTML;\r\nvar isTablePart = function(html) {\r\n var tags = isTagName.exec(html);\r\n return tags && tags[1] in tagWrappers\r\n};\r\nexports.isTablePart = isTablePart;\r\n","/**\r\n * DevExtreme (ui/text_box/utils.support.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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.isInputEventsL2Supported = isInputEventsL2Supported;\r\nvar _dom_adapter = _interopRequireDefault(require(\"../../core/dom_adapter\"));\r\nvar _devices = _interopRequireDefault(require(\"../../core/devices\"));\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 isModernAndroidDevice() {\r\n var _devices$real = _devices.default.real(),\r\n android = _devices$real.android,\r\n version = _devices$real.version;\r\n return android && version[0] > 4\r\n}\r\n\r\nfunction isInputEventsL2Supported() {\r\n return \"onbeforeinput\" in _dom_adapter.default.createElement(\"input\") || isModernAndroidDevice()\r\n}\r\n","/**\r\n * DevExtreme (localization/default_messages.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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 _default = {\r\n en: {\r\n Yes: \"Yes\",\r\n No: \"No\",\r\n Cancel: \"Cancel\",\r\n Clear: \"Clear\",\r\n Done: \"Done\",\r\n Loading: \"Loading...\",\r\n Select: \"Select...\",\r\n Search: \"Search\",\r\n Back: \"Back\",\r\n OK: \"OK\",\r\n \"dxCollectionWidget-noDataText\": \"No data to display\",\r\n \"dxDropDownEditor-selectLabel\": \"Select\",\r\n \"validation-required\": \"Required\",\r\n \"validation-required-formatted\": \"{0} is required\",\r\n \"validation-numeric\": \"Value must be a number\",\r\n \"validation-numeric-formatted\": \"{0} must be a number\",\r\n \"validation-range\": \"Value is out of range\",\r\n \"validation-range-formatted\": \"{0} is out of range\",\r\n \"validation-stringLength\": \"The length of the value is not correct\",\r\n \"validation-stringLength-formatted\": \"The length of {0} is not correct\",\r\n \"validation-custom\": \"Value is invalid\",\r\n \"validation-custom-formatted\": \"{0} is invalid\",\r\n \"validation-async\": \"Value is invalid\",\r\n \"validation-async-formatted\": \"{0} is invalid\",\r\n \"validation-compare\": \"Values do not match\",\r\n \"validation-compare-formatted\": \"{0} does not match\",\r\n \"validation-pattern\": \"Value does not match pattern\",\r\n \"validation-pattern-formatted\": \"{0} does not match pattern\",\r\n \"validation-email\": \"Email is invalid\",\r\n \"validation-email-formatted\": \"{0} is invalid\",\r\n \"validation-mask\": \"Value is invalid\",\r\n \"dxLookup-searchPlaceholder\": \"Minimum character number: {0}\",\r\n \"dxList-pullingDownText\": \"Pull down to refresh...\",\r\n \"dxList-pulledDownText\": \"Release to refresh...\",\r\n \"dxList-refreshingText\": \"Refreshing...\",\r\n \"dxList-pageLoadingText\": \"Loading...\",\r\n \"dxList-nextButtonText\": \"More\",\r\n \"dxList-selectAll\": \"Select All\",\r\n \"dxListEditDecorator-delete\": \"Delete\",\r\n \"dxListEditDecorator-more\": \"More\",\r\n \"dxScrollView-pullingDownText\": \"Pull down to refresh...\",\r\n \"dxScrollView-pulledDownText\": \"Release to refresh...\",\r\n \"dxScrollView-refreshingText\": \"Refreshing...\",\r\n \"dxScrollView-reachBottomText\": \"Loading...\",\r\n \"dxDateBox-simulatedDataPickerTitleTime\": \"Select time\",\r\n \"dxDateBox-simulatedDataPickerTitleDate\": \"Select date\",\r\n \"dxDateBox-simulatedDataPickerTitleDateTime\": \"Select date and time\",\r\n \"dxDateBox-validation-datetime\": \"Value must be a date or time\",\r\n \"dxFileUploader-selectFile\": \"Select file\",\r\n \"dxFileUploader-dropFile\": \"or Drop file here\",\r\n \"dxFileUploader-bytes\": \"bytes\",\r\n \"dxFileUploader-kb\": \"kb\",\r\n \"dxFileUploader-Mb\": \"Mb\",\r\n \"dxFileUploader-Gb\": \"Gb\",\r\n \"dxFileUploader-upload\": \"Upload\",\r\n \"dxFileUploader-uploaded\": \"Uploaded\",\r\n \"dxFileUploader-readyToUpload\": \"Ready to upload\",\r\n \"dxFileUploader-uploadAbortedMessage\": \"Upload cancelled\",\r\n \"dxFileUploader-uploadFailedMessage\": \"Upload failed\",\r\n \"dxFileUploader-invalidFileExtension\": \"File type is not allowed\",\r\n \"dxFileUploader-invalidMaxFileSize\": \"File is too large\",\r\n \"dxFileUploader-invalidMinFileSize\": \"File is too small\",\r\n \"dxRangeSlider-ariaFrom\": \"From\",\r\n \"dxRangeSlider-ariaTill\": \"Till\",\r\n \"dxSwitch-switchedOnText\": \"ON\",\r\n \"dxSwitch-switchedOffText\": \"OFF\",\r\n \"dxForm-optionalMark\": \"optional\",\r\n \"dxForm-requiredMessage\": \"{0} is required\",\r\n \"dxNumberBox-invalidValueMessage\": \"Value must be a number\",\r\n \"dxNumberBox-noDataText\": \"No data\",\r\n \"dxDataGrid-columnChooserTitle\": \"Column Chooser\",\r\n \"dxDataGrid-columnChooserEmptyText\": \"Drag a column here to hide it\",\r\n \"dxDataGrid-groupContinuesMessage\": \"Continues on the next page\",\r\n \"dxDataGrid-groupContinuedMessage\": \"Continued from the previous page\",\r\n \"dxDataGrid-groupHeaderText\": \"Group by This Column\",\r\n \"dxDataGrid-ungroupHeaderText\": \"Ungroup\",\r\n \"dxDataGrid-ungroupAllText\": \"Ungroup All\",\r\n \"dxDataGrid-editingEditRow\": \"Edit\",\r\n \"dxDataGrid-editingSaveRowChanges\": \"Save\",\r\n \"dxDataGrid-editingCancelRowChanges\": \"Cancel\",\r\n \"dxDataGrid-editingDeleteRow\": \"Delete\",\r\n \"dxDataGrid-editingUndeleteRow\": \"Undelete\",\r\n \"dxDataGrid-editingConfirmDeleteMessage\": \"Are you sure you want to delete this record?\",\r\n \"dxDataGrid-validationCancelChanges\": \"Cancel changes\",\r\n \"dxDataGrid-groupPanelEmptyText\": \"Drag a column header here to group by that column\",\r\n \"dxDataGrid-noDataText\": \"No data\",\r\n \"dxDataGrid-searchPanelPlaceholder\": \"Search...\",\r\n \"dxDataGrid-filterRowShowAllText\": \"(All)\",\r\n \"dxDataGrid-filterRowResetOperationText\": \"Reset\",\r\n \"dxDataGrid-filterRowOperationEquals\": \"Equals\",\r\n \"dxDataGrid-filterRowOperationNotEquals\": \"Does not equal\",\r\n \"dxDataGrid-filterRowOperationLess\": \"Less than\",\r\n \"dxDataGrid-filterRowOperationLessOrEquals\": \"Less than or equal to\",\r\n \"dxDataGrid-filterRowOperationGreater\": \"Greater than\",\r\n \"dxDataGrid-filterRowOperationGreaterOrEquals\": \"Greater than or equal to\",\r\n \"dxDataGrid-filterRowOperationStartsWith\": \"Starts with\",\r\n \"dxDataGrid-filterRowOperationContains\": \"Contains\",\r\n \"dxDataGrid-filterRowOperationNotContains\": \"Does not contain\",\r\n \"dxDataGrid-filterRowOperationEndsWith\": \"Ends with\",\r\n \"dxDataGrid-filterRowOperationBetween\": \"Between\",\r\n \"dxDataGrid-filterRowOperationBetweenStartText\": \"Start\",\r\n \"dxDataGrid-filterRowOperationBetweenEndText\": \"End\",\r\n \"dxDataGrid-applyFilterText\": \"Apply filter\",\r\n \"dxDataGrid-trueText\": \"true\",\r\n \"dxDataGrid-falseText\": \"false\",\r\n \"dxDataGrid-sortingAscendingText\": \"Sort Ascending\",\r\n \"dxDataGrid-sortingDescendingText\": \"Sort Descending\",\r\n \"dxDataGrid-sortingClearText\": \"Clear Sorting\",\r\n \"dxDataGrid-editingSaveAllChanges\": \"Save changes\",\r\n \"dxDataGrid-editingCancelAllChanges\": \"Discard changes\",\r\n \"dxDataGrid-editingAddRow\": \"Add a row\",\r\n \"dxDataGrid-summaryMin\": \"Min: {0}\",\r\n \"dxDataGrid-summaryMinOtherColumn\": \"Min of {1} is {0}\",\r\n \"dxDataGrid-summaryMax\": \"Max: {0}\",\r\n \"dxDataGrid-summaryMaxOtherColumn\": \"Max of {1} is {0}\",\r\n \"dxDataGrid-summaryAvg\": \"Avg: {0}\",\r\n \"dxDataGrid-summaryAvgOtherColumn\": \"Avg of {1} is {0}\",\r\n \"dxDataGrid-summarySum\": \"Sum: {0}\",\r\n \"dxDataGrid-summarySumOtherColumn\": \"Sum of {1} is {0}\",\r\n \"dxDataGrid-summaryCount\": \"Count: {0}\",\r\n \"dxDataGrid-columnFixingFix\": \"Fix\",\r\n \"dxDataGrid-columnFixingUnfix\": \"Unfix\",\r\n \"dxDataGrid-columnFixingLeftPosition\": \"To the left\",\r\n \"dxDataGrid-columnFixingRightPosition\": \"To the right\",\r\n \"dxDataGrid-exportTo\": \"Export\",\r\n \"dxDataGrid-exportToExcel\": \"Export to Excel file\",\r\n \"dxDataGrid-exporting\": \"Exporting...\",\r\n \"dxDataGrid-excelFormat\": \"Excel file\",\r\n \"dxDataGrid-selectedRows\": \"Selected rows\",\r\n \"dxDataGrid-exportSelectedRows\": \"Export selected rows\",\r\n \"dxDataGrid-exportAll\": \"Export all data\",\r\n \"dxDataGrid-headerFilterEmptyValue\": \"(Blanks)\",\r\n \"dxDataGrid-headerFilterOK\": \"OK\",\r\n \"dxDataGrid-headerFilterCancel\": \"Cancel\",\r\n \"dxDataGrid-ariaAdaptiveCollapse\": \"Hide additional data\",\r\n \"dxDataGrid-ariaAdaptiveExpand\": \"Display additional data\",\r\n \"dxDataGrid-ariaColumn\": \"Column\",\r\n \"dxDataGrid-ariaValue\": \"Value\",\r\n \"dxDataGrid-ariaFilterCell\": \"Filter cell\",\r\n \"dxDataGrid-ariaCollapse\": \"Collapse\",\r\n \"dxDataGrid-ariaExpand\": \"Expand\",\r\n \"dxDataGrid-ariaDataGrid\": \"Data grid\",\r\n \"dxDataGrid-ariaSearchInGrid\": \"Search in the data grid\",\r\n \"dxDataGrid-ariaSelectAll\": \"Select all\",\r\n \"dxDataGrid-ariaSelectRow\": \"Select row\",\r\n \"dxDataGrid-ariaToolbar\": \"Data grid toolbar\",\r\n \"dxDataGrid-filterBuilderPopupTitle\": \"Filter Builder\",\r\n \"dxDataGrid-filterPanelCreateFilter\": \"Create Filter\",\r\n \"dxDataGrid-filterPanelClearFilter\": \"Clear\",\r\n \"dxDataGrid-filterPanelFilterEnabledHint\": \"Enable the filter\",\r\n \"dxTreeList-ariaTreeList\": \"Tree list\",\r\n \"dxTreeList-ariaSearchInGrid\": \"Search in the tree list\",\r\n \"dxTreeList-ariaToolbar\": \"Tree list toolbar\",\r\n \"dxTreeList-editingAddRowToNode\": \"Add\",\r\n \"dxPager-infoText\": \"Page {0} of {1} ({2} items)\",\r\n \"dxPager-pagesCountText\": \"of\",\r\n \"dxPager-pageSizesAllText\": \"All\",\r\n \"dxPivotGrid-grandTotal\": \"Grand Total\",\r\n \"dxPivotGrid-total\": \"{0} Total\",\r\n \"dxPivotGrid-fieldChooserTitle\": \"Field Chooser\",\r\n \"dxPivotGrid-showFieldChooser\": \"Show Field Chooser\",\r\n \"dxPivotGrid-expandAll\": \"Expand All\",\r\n \"dxPivotGrid-collapseAll\": \"Collapse All\",\r\n \"dxPivotGrid-sortColumnBySummary\": 'Sort \"{0}\" by This Column',\r\n \"dxPivotGrid-sortRowBySummary\": 'Sort \"{0}\" by This Row',\r\n \"dxPivotGrid-removeAllSorting\": \"Remove All Sorting\",\r\n \"dxPivotGrid-dataNotAvailable\": \"N/A\",\r\n \"dxPivotGrid-rowFields\": \"Row Fields\",\r\n \"dxPivotGrid-columnFields\": \"Column Fields\",\r\n \"dxPivotGrid-dataFields\": \"Data Fields\",\r\n \"dxPivotGrid-filterFields\": \"Filter Fields\",\r\n \"dxPivotGrid-allFields\": \"All Fields\",\r\n \"dxPivotGrid-columnFieldArea\": \"Drop Column Fields Here\",\r\n \"dxPivotGrid-dataFieldArea\": \"Drop Data Fields Here\",\r\n \"dxPivotGrid-rowFieldArea\": \"Drop Row Fields Here\",\r\n \"dxPivotGrid-filterFieldArea\": \"Drop Filter Fields Here\",\r\n \"dxScheduler-editorLabelTitle\": \"Subject\",\r\n \"dxScheduler-editorLabelStartDate\": \"Start Date\",\r\n \"dxScheduler-editorLabelEndDate\": \"End Date\",\r\n \"dxScheduler-editorLabelDescription\": \"Description\",\r\n \"dxScheduler-editorLabelRecurrence\": \"Repeat\",\r\n \"dxScheduler-openAppointment\": \"Open appointment\",\r\n \"dxScheduler-recurrenceNever\": \"Never\",\r\n \"dxScheduler-recurrenceMinutely\": \"Every minute\",\r\n \"dxScheduler-recurrenceHourly\": \"Hourly\",\r\n \"dxScheduler-recurrenceDaily\": \"Daily\",\r\n \"dxScheduler-recurrenceWeekly\": \"Weekly\",\r\n \"dxScheduler-recurrenceMonthly\": \"Monthly\",\r\n \"dxScheduler-recurrenceYearly\": \"Yearly\",\r\n \"dxScheduler-recurrenceRepeatEvery\": \"Repeat Every\",\r\n \"dxScheduler-recurrenceRepeatOn\": \"Repeat On\",\r\n \"dxScheduler-recurrenceEnd\": \"End repeat\",\r\n \"dxScheduler-recurrenceAfter\": \"After\",\r\n \"dxScheduler-recurrenceOn\": \"On\",\r\n \"dxScheduler-recurrenceRepeatMinutely\": \"minute(s)\",\r\n \"dxScheduler-recurrenceRepeatHourly\": \"hour(s)\",\r\n \"dxScheduler-recurrenceRepeatDaily\": \"day(s)\",\r\n \"dxScheduler-recurrenceRepeatWeekly\": \"week(s)\",\r\n \"dxScheduler-recurrenceRepeatMonthly\": \"month(s)\",\r\n \"dxScheduler-recurrenceRepeatYearly\": \"year(s)\",\r\n \"dxScheduler-switcherDay\": \"Day\",\r\n \"dxScheduler-switcherWeek\": \"Week\",\r\n \"dxScheduler-switcherWorkWeek\": \"Work Week\",\r\n \"dxScheduler-switcherMonth\": \"Month\",\r\n \"dxScheduler-switcherAgenda\": \"Agenda\",\r\n \"dxScheduler-switcherTimelineDay\": \"Timeline Day\",\r\n \"dxScheduler-switcherTimelineWeek\": \"Timeline Week\",\r\n \"dxScheduler-switcherTimelineWorkWeek\": \"Timeline Work Week\",\r\n \"dxScheduler-switcherTimelineMonth\": \"Timeline Month\",\r\n \"dxScheduler-recurrenceRepeatOnDate\": \"on date\",\r\n \"dxScheduler-recurrenceRepeatCount\": \"occurrence(s)\",\r\n \"dxScheduler-allDay\": \"All day\",\r\n \"dxScheduler-confirmRecurrenceEditMessage\": \"Do you want to edit only this appointment or the whole series?\",\r\n \"dxScheduler-confirmRecurrenceDeleteMessage\": \"Do you want to delete only this appointment or the whole series?\",\r\n \"dxScheduler-confirmRecurrenceEditSeries\": \"Edit series\",\r\n \"dxScheduler-confirmRecurrenceDeleteSeries\": \"Delete series\",\r\n \"dxScheduler-confirmRecurrenceEditOccurrence\": \"Edit appointment\",\r\n \"dxScheduler-confirmRecurrenceDeleteOccurrence\": \"Delete appointment\",\r\n \"dxScheduler-noTimezoneTitle\": \"No timezone\",\r\n \"dxScheduler-moreAppointments\": \"{0} more\",\r\n \"dxCalendar-todayButtonText\": \"Today\",\r\n \"dxCalendar-ariaWidgetName\": \"Calendar\",\r\n \"dxColorView-ariaRed\": \"Red\",\r\n \"dxColorView-ariaGreen\": \"Green\",\r\n \"dxColorView-ariaBlue\": \"Blue\",\r\n \"dxColorView-ariaAlpha\": \"Transparency\",\r\n \"dxColorView-ariaHex\": \"Color code\",\r\n \"dxTagBox-selected\": \"{0} selected\",\r\n \"dxTagBox-allSelected\": \"All selected ({0})\",\r\n \"dxTagBox-moreSelected\": \"{0} more\",\r\n \"vizExport-printingButtonText\": \"Print\",\r\n \"vizExport-titleMenuText\": \"Exporting/Printing\",\r\n \"vizExport-exportButtonText\": \"{0} file\",\r\n \"dxFilterBuilder-and\": \"And\",\r\n \"dxFilterBuilder-or\": \"Or\",\r\n \"dxFilterBuilder-notAnd\": \"Not And\",\r\n \"dxFilterBuilder-notOr\": \"Not Or\",\r\n \"dxFilterBuilder-addCondition\": \"Add Condition\",\r\n \"dxFilterBuilder-addGroup\": \"Add Group\",\r\n \"dxFilterBuilder-enterValueText\": \"\",\r\n \"dxFilterBuilder-filterOperationEquals\": \"Equals\",\r\n \"dxFilterBuilder-filterOperationNotEquals\": \"Does not equal\",\r\n \"dxFilterBuilder-filterOperationLess\": \"Is less than\",\r\n \"dxFilterBuilder-filterOperationLessOrEquals\": \"Is less than or equal to\",\r\n \"dxFilterBuilder-filterOperationGreater\": \"Is greater than\",\r\n \"dxFilterBuilder-filterOperationGreaterOrEquals\": \"Is greater than or equal to\",\r\n \"dxFilterBuilder-filterOperationStartsWith\": \"Starts with\",\r\n \"dxFilterBuilder-filterOperationContains\": \"Contains\",\r\n \"dxFilterBuilder-filterOperationNotContains\": \"Does not contain\",\r\n \"dxFilterBuilder-filterOperationEndsWith\": \"Ends with\",\r\n \"dxFilterBuilder-filterOperationIsBlank\": \"Is blank\",\r\n \"dxFilterBuilder-filterOperationIsNotBlank\": \"Is not blank\",\r\n \"dxFilterBuilder-filterOperationBetween\": \"Is between\",\r\n \"dxFilterBuilder-filterOperationAnyOf\": \"Is any of\",\r\n \"dxFilterBuilder-filterOperationNoneOf\": \"Is none of\",\r\n \"dxHtmlEditor-dialogColorCaption\": \"Change Font Color\",\r\n \"dxHtmlEditor-dialogBackgroundCaption\": \"Change Background Color\",\r\n \"dxHtmlEditor-dialogLinkCaption\": \"Add Link\",\r\n \"dxHtmlEditor-dialogLinkUrlField\": \"URL\",\r\n \"dxHtmlEditor-dialogLinkTextField\": \"Text\",\r\n \"dxHtmlEditor-dialogLinkTargetField\": \"Open link in new window\",\r\n \"dxHtmlEditor-dialogImageCaption\": \"Add Image\",\r\n \"dxHtmlEditor-dialogImageUrlField\": \"URL\",\r\n \"dxHtmlEditor-dialogImageAltField\": \"Alternate text\",\r\n \"dxHtmlEditor-dialogImageWidthField\": \"Width (px)\",\r\n \"dxHtmlEditor-dialogImageHeightField\": \"Height (px)\",\r\n \"dxHtmlEditor-dialogInsertTableRowsField\": \"Rows\",\r\n \"dxHtmlEditor-dialogInsertTableColumnsField\": \"Columns\",\r\n \"dxHtmlEditor-dialogInsertTableCaption\": \"Insert Table\",\r\n \"dxHtmlEditor-heading\": \"Heading\",\r\n \"dxHtmlEditor-normalText\": \"Normal text\",\r\n \"dxFileManager-newDirectoryName\": \"Untitled directory\",\r\n \"dxFileManager-rootDirectoryName\": \"Files\",\r\n \"dxFileManager-errorNoAccess\": \"Access Denied. Operation could not be completed.\",\r\n \"dxFileManager-errorDirectoryExistsFormat\": \"Directory '{0}' already exists.\",\r\n \"dxFileManager-errorFileExistsFormat\": \"File '{0}' already exists.\",\r\n \"dxFileManager-errorFileNotFoundFormat\": \"File '{0}' not found.\",\r\n \"dxFileManager-errorDirectoryNotFoundFormat\": \"Directory '{0}' not found.\",\r\n \"dxFileManager-errorWrongFileExtension\": \"File extension is not allowed.\",\r\n \"dxFileManager-errorMaxFileSizeExceeded\": \"File size exceeds the maximum allowed size.\",\r\n \"dxFileManager-errorInvalidSymbols\": \"This name contains invalid characters.\",\r\n \"dxFileManager-errorDefault\": \"Unspecified error.\",\r\n \"dxFileManager-errorDirectoryOpenFailed\": \"The directory cannot be opened\",\r\n \"dxFileManager-commandCreate\": \"New directory\",\r\n \"dxFileManager-commandRename\": \"Rename\",\r\n \"dxFileManager-commandMove\": \"Move to\",\r\n \"dxFileManager-commandCopy\": \"Copy to\",\r\n \"dxFileManager-commandDelete\": \"Delete\",\r\n \"dxFileManager-commandDownload\": \"Download\",\r\n \"dxFileManager-commandUpload\": \"Upload files\",\r\n \"dxFileManager-commandRefresh\": \"Refresh\",\r\n \"dxFileManager-commandThumbnails\": \"Thumbnails View\",\r\n \"dxFileManager-commandDetails\": \"Details View\",\r\n \"dxFileManager-commandClearSelection\": \"Clear selection\",\r\n \"dxFileManager-commandShowNavPane\": \"Toggle navigation pane\",\r\n \"dxFileManager-dialogDirectoryChooserMoveTitle\": \"Move to\",\r\n \"dxFileManager-dialogDirectoryChooserMoveButtonText\": \"Move\",\r\n \"dxFileManager-dialogDirectoryChooserCopyTitle\": \"Copy to\",\r\n \"dxFileManager-dialogDirectoryChooserCopyButtonText\": \"Copy\",\r\n \"dxFileManager-dialogRenameItemTitle\": \"Rename\",\r\n \"dxFileManager-dialogRenameItemButtonText\": \"Save\",\r\n \"dxFileManager-dialogCreateDirectoryTitle\": \"New directory\",\r\n \"dxFileManager-dialogCreateDirectoryButtonText\": \"Create\",\r\n \"dxFileManager-dialogDeleteItemTitle\": \"Delete\",\r\n \"dxFileManager-dialogDeleteItemButtonText\": \"Delete\",\r\n \"dxFileManager-dialogDeleteItemSingleItemConfirmation\": \"Are you sure you want to delete {0}?\",\r\n \"dxFileManager-dialogDeleteItemMultipleItemsConfirmation\": \"Are you sure you want to delete {0} items?\",\r\n \"dxFileManager-dialogButtonCancel\": \"Cancel\",\r\n \"dxFileManager-editingCreateSingleItemProcessingMessage\": \"Creating a directory inside {0}\",\r\n \"dxFileManager-editingCreateSingleItemSuccessMessage\": \"Created a directory inside {0}\",\r\n \"dxFileManager-editingCreateSingleItemErrorMessage\": \"Directory was not created\",\r\n \"dxFileManager-editingCreateCommonErrorMessage\": \"Directory was not created\",\r\n \"dxFileManager-editingRenameSingleItemProcessingMessage\": \"Renaming an item inside {0}\",\r\n \"dxFileManager-editingRenameSingleItemSuccessMessage\": \"Renamed an item inside {0}\",\r\n \"dxFileManager-editingRenameSingleItemErrorMessage\": \"Item was not renamed\",\r\n \"dxFileManager-editingRenameCommonErrorMessage\": \"Item was not renamed\",\r\n \"dxFileManager-editingDeleteSingleItemProcessingMessage\": \"Deleting an item from {0}\",\r\n \"dxFileManager-editingDeleteMultipleItemsProcessingMessage\": \"Deleting {0} items from {1}\",\r\n \"dxFileManager-editingDeleteSingleItemSuccessMessage\": \"Deleted an item from {0}\",\r\n \"dxFileManager-editingDeleteMultipleItemsSuccessMessage\": \"Deleted {0} items from {1}\",\r\n \"dxFileManager-editingDeleteSingleItemErrorMessage\": \"Item was not deleted\",\r\n \"dxFileManager-editingDeleteMultipleItemsErrorMessage\": \"{0} items were not deleted\",\r\n \"dxFileManager-editingDeleteCommonErrorMessage\": \"Some items were not deleted\",\r\n \"dxFileManager-editingMoveSingleItemProcessingMessage\": \"Moving an item to {0}\",\r\n \"dxFileManager-editingMoveMultipleItemsProcessingMessage\": \"Moving {0} items to {1}\",\r\n \"dxFileManager-editingMoveSingleItemSuccessMessage\": \"Moved an item to {0}\",\r\n \"dxFileManager-editingMoveMultipleItemsSuccessMessage\": \"Moved {0} items to {1}\",\r\n \"dxFileManager-editingMoveSingleItemErrorMessage\": \"Item was not moved\",\r\n \"dxFileManager-editingMoveMultipleItemsErrorMessage\": \"{0} items were not moved\",\r\n \"dxFileManager-editingMoveCommonErrorMessage\": \"Some items were not moved\",\r\n \"dxFileManager-editingCopySingleItemProcessingMessage\": \"Copying an item to {0}\",\r\n \"dxFileManager-editingCopyMultipleItemsProcessingMessage\": \"Copying {0} items to {1}\",\r\n \"dxFileManager-editingCopySingleItemSuccessMessage\": \"Copied an item to {0}\",\r\n \"dxFileManager-editingCopyMultipleItemsSuccessMessage\": \"Copied {0} items to {1}\",\r\n \"dxFileManager-editingCopySingleItemErrorMessage\": \"Item was not copied\",\r\n \"dxFileManager-editingCopyMultipleItemsErrorMessage\": \"{0} items were not copied\",\r\n \"dxFileManager-editingCopyCommonErrorMessage\": \"Some items were not copied\",\r\n \"dxFileManager-editingUploadSingleItemProcessingMessage\": \"Uploading an item to {0}\",\r\n \"dxFileManager-editingUploadMultipleItemsProcessingMessage\": \"Uploading {0} items to {1}\",\r\n \"dxFileManager-editingUploadSingleItemSuccessMessage\": \"Uploaded an item to {0}\",\r\n \"dxFileManager-editingUploadMultipleItemsSuccessMessage\": \"Uploaded {0} items to {1}\",\r\n \"dxFileManager-editingUploadSingleItemErrorMessage\": \"Item was not uploaded\",\r\n \"dxFileManager-editingUploadMultipleItemsErrorMessage\": \"{0} items were not uploaded\",\r\n \"dxFileManager-editingUploadCanceledMessage\": \"Canceled\",\r\n \"dxFileManager-listDetailsColumnCaptionName\": \"Name\",\r\n \"dxFileManager-listDetailsColumnCaptionDateModified\": \"Date Modified\",\r\n \"dxFileManager-listDetailsColumnCaptionFileSize\": \"File Size\",\r\n \"dxFileManager-listThumbnailsTooltipTextSize\": \"Size\",\r\n \"dxFileManager-listThumbnailsTooltipTextDateModified\": \"Date Modified\",\r\n \"dxFileManager-notificationProgressPanelTitle\": \"Progress\",\r\n \"dxFileManager-notificationProgressPanelEmptyListText\": \"No operations\",\r\n \"dxFileManager-notificationProgressPanelOperationCanceled\": \"Canceled\",\r\n \"dxDiagram-categoryGeneral\": \"General\",\r\n \"dxDiagram-categoryFlowchart\": \"Flowchart\",\r\n \"dxDiagram-categoryOrgChart\": \"Org Chart\",\r\n \"dxDiagram-categoryContainers\": \"Containers\",\r\n \"dxDiagram-categoryCustom\": \"Custom\",\r\n \"dxDiagram-commandExportToSvg\": \"Export to SVG\",\r\n \"dxDiagram-commandExportToPng\": \"Export to PNG\",\r\n \"dxDiagram-commandExportToJpg\": \"Export to JPEG\",\r\n \"dxDiagram-commandUndo\": \"Undo\",\r\n \"dxDiagram-commandRedo\": \"Redo\",\r\n \"dxDiagram-commandFontName\": \"Font Name\",\r\n \"dxDiagram-commandFontSize\": \"Font Size\",\r\n \"dxDiagram-commandBold\": \"Bold\",\r\n \"dxDiagram-commandItalic\": \"Italic\",\r\n \"dxDiagram-commandUnderline\": \"Underline\",\r\n \"dxDiagram-commandTextColor\": \"Font Color\",\r\n \"dxDiagram-commandLineColor\": \"Line Color\",\r\n \"dxDiagram-commandLineWidth\": \"Line Width\",\r\n \"dxDiagram-commandLineStyle\": \"Line Style\",\r\n \"dxDiagram-commandLineStyleSolid\": \"Solid\",\r\n \"dxDiagram-commandLineStyleDotted\": \"Dotted\",\r\n \"dxDiagram-commandLineStyleDashed\": \"Dashed\",\r\n \"dxDiagram-commandFillColor\": \"Fill Color\",\r\n \"dxDiagram-commandAlignLeft\": \"Align Left\",\r\n \"dxDiagram-commandAlignCenter\": \"Align Center\",\r\n \"dxDiagram-commandAlignRight\": \"Align Right\",\r\n \"dxDiagram-commandConnectorLineType\": \"Connector Line Type\",\r\n \"dxDiagram-commandConnectorLineStraight\": \"Straight\",\r\n \"dxDiagram-commandConnectorLineOrthogonal\": \"Orthogonal\",\r\n \"dxDiagram-commandConnectorLineStart\": \"Connector Line Start\",\r\n \"dxDiagram-commandConnectorLineEnd\": \"Connector Line End\",\r\n \"dxDiagram-commandConnectorLineNone\": \"None\",\r\n \"dxDiagram-commandConnectorLineArrow\": \"Arrow\",\r\n \"dxDiagram-commandFullscreen\": \"Full Screen\",\r\n \"dxDiagram-commandUnits\": \"Units\",\r\n \"dxDiagram-commandPageSize\": \"Page Size\",\r\n \"dxDiagram-commandPageOrientation\": \"Page Orientation\",\r\n \"dxDiagram-commandPageOrientationLandscape\": \"Landscape\",\r\n \"dxDiagram-commandPageOrientationPortrait\": \"Portrait\",\r\n \"dxDiagram-commandPageColor\": \"Page Color\",\r\n \"dxDiagram-commandShowGrid\": \"Show Grid\",\r\n \"dxDiagram-commandSnapToGrid\": \"Snap to Grid\",\r\n \"dxDiagram-commandGridSize\": \"Grid Size\",\r\n \"dxDiagram-commandZoomLevel\": \"Zoom Level\",\r\n \"dxDiagram-commandAutoZoom\": \"Auto Zoom\",\r\n \"dxDiagram-commandFitToContent\": \"Fit to Content\",\r\n \"dxDiagram-commandFitToWidth\": \"Fit to Width\",\r\n \"dxDiagram-commandAutoZoomByContent\": \"Auto Zoom by Content\",\r\n \"dxDiagram-commandAutoZoomByWidth\": \"Auto Zoom by Width\",\r\n \"dxDiagram-commandSimpleView\": \"Simple View\",\r\n \"dxDiagram-commandCut\": \"Cut\",\r\n \"dxDiagram-commandCopy\": \"Copy\",\r\n \"dxDiagram-commandPaste\": \"Paste\",\r\n \"dxDiagram-commandSelectAll\": \"Select All\",\r\n \"dxDiagram-commandDelete\": \"Delete\",\r\n \"dxDiagram-commandBringToFront\": \"Bring to Front\",\r\n \"dxDiagram-commandSendToBack\": \"Send to Back\",\r\n \"dxDiagram-commandLock\": \"Lock\",\r\n \"dxDiagram-commandUnlock\": \"Unlock\",\r\n \"dxDiagram-commandInsertShapeImage\": \"Insert Image...\",\r\n \"dxDiagram-commandEditShapeImage\": \"Change Image...\",\r\n \"dxDiagram-commandDeleteShapeImage\": \"Delete Image\",\r\n \"dxDiagram-commandLayoutLeftToRight\": \"Left-to-right\",\r\n \"dxDiagram-commandLayoutRightToLeft\": \"Right-to-left\",\r\n \"dxDiagram-commandLayoutTopToBottom\": \"Top-to-bottom\",\r\n \"dxDiagram-commandLayoutBottomToTop\": \"Bottom-to-top\",\r\n \"dxDiagram-unitIn\": \"in\",\r\n \"dxDiagram-unitCm\": \"cm\",\r\n \"dxDiagram-unitPx\": \"px\",\r\n \"dxDiagram-dialogButtonOK\": \"OK\",\r\n \"dxDiagram-dialogButtonCancel\": \"Cancel\",\r\n \"dxDiagram-dialogInsertShapeImageTitle\": \"Insert Image\",\r\n \"dxDiagram-dialogEditShapeImageTitle\": \"Change Image\",\r\n \"dxDiagram-dialogEditShapeImageSelectButton\": \"Select image\",\r\n \"dxDiagram-dialogEditShapeImageLabelText\": \"or drop file here\",\r\n \"dxDiagram-uiExport\": \"Export\",\r\n \"dxDiagram-uiProperties\": \"Properties\",\r\n \"dxDiagram-uiSettings\": \"Settings\",\r\n \"dxDiagram-uiShowToolbox\": \"Show Toolbox\",\r\n \"dxDiagram-uiSearch\": \"Search\",\r\n \"dxDiagram-uiStyle\": \"Style\",\r\n \"dxDiagram-uiLayout\": \"Layout\",\r\n \"dxDiagram-uiLayoutTree\": \"Tree\",\r\n \"dxDiagram-uiLayoutLayered\": \"Layered\",\r\n \"dxDiagram-uiDiagram\": \"Diagram\",\r\n \"dxDiagram-uiText\": \"Text\",\r\n \"dxDiagram-uiObject\": \"Object\",\r\n \"dxDiagram-uiConnector\": \"Connector\",\r\n \"dxDiagram-uiPage\": \"Page\",\r\n \"dxDiagram-shapeText\": \"Text\",\r\n \"dxDiagram-shapeRectangle\": \"Rectangle\",\r\n \"dxDiagram-shapeEllipse\": \"Ellipse\",\r\n \"dxDiagram-shapeCross\": \"Cross\",\r\n \"dxDiagram-shapeTriangle\": \"Triangle\",\r\n \"dxDiagram-shapeDiamond\": \"Diamond\",\r\n \"dxDiagram-shapeHeart\": \"Heart\",\r\n \"dxDiagram-shapePentagon\": \"Pentagon\",\r\n \"dxDiagram-shapeHexagon\": \"Hexagon\",\r\n \"dxDiagram-shapeOctagon\": \"Octagon\",\r\n \"dxDiagram-shapeStar\": \"Star\",\r\n \"dxDiagram-shapeArrowLeft\": \"Left Arrow\",\r\n \"dxDiagram-shapeArrowUp\": \"Up Arrow\",\r\n \"dxDiagram-shapeArrowRight\": \"Right Arrow\",\r\n \"dxDiagram-shapeArrowDown\": \"Down Arrow\",\r\n \"dxDiagram-shapeArrowUpDown\": \"Up Down Arrow\",\r\n \"dxDiagram-shapeArrowLeftRight\": \"Left Right Arrow\",\r\n \"dxDiagram-shapeProcess\": \"Process\",\r\n \"dxDiagram-shapeDecision\": \"Decision\",\r\n \"dxDiagram-shapeTerminator\": \"Terminator\",\r\n \"dxDiagram-shapePredefinedProcess\": \"Predefined Process\",\r\n \"dxDiagram-shapeDocument\": \"Document\",\r\n \"dxDiagram-shapeMultipleDocuments\": \"Multiple Documents\",\r\n \"dxDiagram-shapeManualInput\": \"Manual Input\",\r\n \"dxDiagram-shapePreparation\": \"Preparation\",\r\n \"dxDiagram-shapeData\": \"Data\",\r\n \"dxDiagram-shapeDatabase\": \"Database\",\r\n \"dxDiagram-shapeHardDisk\": \"Hard Disk\",\r\n \"dxDiagram-shapeInternalStorage\": \"Internal Storage\",\r\n \"dxDiagram-shapePaperTape\": \"Paper Tape\",\r\n \"dxDiagram-shapeManualOperation\": \"Manual Operation\",\r\n \"dxDiagram-shapeDelay\": \"Delay\",\r\n \"dxDiagram-shapeStoredData\": \"Stored Data\",\r\n \"dxDiagram-shapeDisplay\": \"Display\",\r\n \"dxDiagram-shapeMerge\": \"Merge\",\r\n \"dxDiagram-shapeConnector\": \"Connector\",\r\n \"dxDiagram-shapeOr\": \"Or\",\r\n \"dxDiagram-shapeSummingJunction\": \"Summing Junction\",\r\n \"dxDiagram-shapeContainerDefaultText\": \"Container\",\r\n \"dxDiagram-shapeVerticalContainer\": \"Vertical Container\",\r\n \"dxDiagram-shapeHorizontalContainer\": \"Horizontal Container\",\r\n \"dxDiagram-shapeCardDefaultText\": \"Person's Name\",\r\n \"dxDiagram-shapeCardWithImageOnLeft\": \"Card with Image on the Left\",\r\n \"dxDiagram-shapeCardWithImageOnTop\": \"Card with Image on the Top\",\r\n \"dxDiagram-shapeCardWithImageOnRight\": \"Card with Image on the Right\",\r\n \"dxGantt-dialogTitle\": \"Title\",\r\n \"dxGantt-dialogStartTitle\": \"Start\",\r\n \"dxGantt-dialogEndTitle\": \"End\",\r\n \"dxGantt-dialogProgressTitle\": \"Progress\",\r\n \"dxGantt-dialogResourcesTitle\": \"Resources\",\r\n \"dxGantt-dialogResourceManagerTitle\": \"Resource Manager\",\r\n \"dxGantt-dialogTaskDetailsTitle\": \"Task Details\",\r\n \"dxGantt-dialogEditResourceListHint\": \"Edit Resource List\",\r\n \"dxGantt-dialogEditNoResources\": \"No resources\",\r\n \"dxGantt-dialogButtonAdd\": \"Add\",\r\n \"dxGantt-contextMenuNewTask\": \"New Task\",\r\n \"dxGantt-contextMenuNewSubtask\": \"New Subtask\",\r\n \"dxGantt-contextMenuDeleteTask\": \"Delete Task\",\r\n \"dxGantt-contextMenuDeleteDependency\": \"Delete Dependency\",\r\n \"dxGantt-dialogTaskDeleteConfirmation\": \"Deleting a task also deletes all its dependencies and subtasks. Are you sure you want to delete this task?\",\r\n \"dxGantt-dialogDependencyDeleteConfirmation\": \"Are you sure you want to delete the dependency from the task?\",\r\n \"dxGantt-dialogResourcesDeleteConfirmation\": \"Deleting a resource also deletes it from tasks to which this resource is assigned. Are you sure you want to delete these resources? Resource: {0}\",\r\n \"dxGantt-dialogConstraintCriticalViolationMessage\": \"The task you are attempting to move is linked to a second task by a dependency relation. This change would conflict with dependency rules. How would you like to proceed?\",\r\n \"dxGantt-dialogConstraintViolationMessage\": \"The task you are attempting to move is linked to a second task by a dependency relation. How would you like to proceed?\",\r\n \"dxGantt-dialogCancelOperationMessage\": \"Cancel the operation\",\r\n \"dxGantt-dialogDeleteDependencyMessage\": \"Delete the dependency\",\r\n \"dxGantt-dialogMoveTaskAndKeepDependencyMessage\": \"Move the task and keep the dependency\",\r\n \"dxGantt-undo\": \"Undo\",\r\n \"dxGantt-redo\": \"Redo\",\r\n \"dxGantt-expandAll\": \"Expand All\",\r\n \"dxGantt-collapseAll\": \"Collapse All\",\r\n \"dxGantt-addNewTask\": \"Add New Task\",\r\n \"dxGantt-deleteSelectedTask\": \"Delete Selected Task\",\r\n \"dxGantt-zoomIn\": \"Zoom In\",\r\n \"dxGantt-zoomOut\": \"Zoom Out\",\r\n \"dxGantt-fullScreen\": \"Full Screen\"\r\n }\r\n};\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (ui/themes.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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.waitForThemeLoad = waitForThemeLoad;\r\nexports.isPendingThemeLoaded = isPendingThemeLoaded;\r\nexports.init = init;\r\nexports.current = current;\r\nexports.attachCssClasses = attachCssClasses;\r\nexports.detachCssClasses = detachCssClasses;\r\nexports.isMaterial = isMaterial;\r\nexports.isGeneric = isGeneric;\r\nexports.isDark = isDark;\r\nexports.isWebFontLoaded = isWebFontLoaded;\r\nexports.waitWebFont = waitWebFont;\r\nexports.ready = themeReady;\r\nexports.resetTheme = resetTheme;\r\nexports.initialized = initialized;\r\nexports.setDefaultTimeout = setDefaultTimeout;\r\nexports.default = void 0;\r\nvar _devices = _interopRequireDefault(require(\"../core/devices\"));\r\nvar _dom_adapter = _interopRequireDefault(require(\"../core/dom_adapter\"));\r\nvar _promise = _interopRequireDefault(require(\"../core/polyfills/promise\"));\r\nvar _renderer = _interopRequireDefault(require(\"../core/renderer\"));\r\nvar _deferred = require(\"../core/utils/deferred\");\r\nvar _html_parser = require(\"../core/utils/html_parser\");\r\nvar _iterator = require(\"../core/utils/iterator\");\r\nvar _ready_callbacks = _interopRequireDefault(require(\"../core/utils/ready_callbacks\"));\r\nvar _view_port = require(\"../core/utils/view_port\");\r\nvar _window = require(\"../core/utils/window\");\r\nvar _themes_callback = require(\"./themes_callback\");\r\nvar _ui = _interopRequireDefault(require(\"./widget/ui.errors\"));\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 ready = _ready_callbacks.default.add;\r\nvar viewPort = _view_port.value;\r\nvar viewPortChanged = _view_port.changeCallback;\r\nvar initDeferred = new _deferred.Deferred;\r\nvar DX_LINK_SELECTOR = \"link[rel=dx-theme]\";\r\nvar THEME_ATTR = \"data-theme\";\r\nvar ACTIVE_ATTR = \"data-active\";\r\nvar DX_HAIRLINES_CLASS = \"dx-hairlines\";\r\nvar ANY_THEME = \"any\";\r\nvar context;\r\nvar $activeThemeLink;\r\nvar knownThemes;\r\nvar currentThemeName;\r\nvar pendingThemeName;\r\nvar defaultTimeout = 15e3;\r\nvar THEME_MARKER_PREFIX = \"dx.\";\r\n\r\nfunction readThemeMarker() {\r\n if (!(0, _window.hasWindow)()) {\r\n return null\r\n }\r\n var element = (0, _renderer.default)(\"
\", context).addClass(\"dx-theme-marker\").appendTo(context.documentElement);\r\n var result;\r\n try {\r\n result = element.css(\"fontFamily\");\r\n if (!result) {\r\n return null\r\n }\r\n result = result.replace(/[\"']/g, \"\");\r\n if (result.substr(0, THEME_MARKER_PREFIX.length) !== THEME_MARKER_PREFIX) {\r\n return null\r\n }\r\n return result.substr(THEME_MARKER_PREFIX.length)\r\n } finally {\r\n element.remove()\r\n }\r\n}\r\n\r\nfunction waitForThemeLoad(themeName) {\r\n var waitStartTime;\r\n var timerId;\r\n var intervalCleared = true;\r\n pendingThemeName = themeName;\r\n\r\n function handleLoaded() {\r\n pendingThemeName = null;\r\n clearInterval(timerId);\r\n intervalCleared = true;\r\n _themes_callback.themeReadyCallback.fire();\r\n _themes_callback.themeReadyCallback.empty();\r\n initDeferred.resolve()\r\n }\r\n if (isPendingThemeLoaded() || !defaultTimeout) {\r\n handleLoaded()\r\n } else {\r\n if (!intervalCleared) {\r\n if (pendingThemeName) {\r\n pendingThemeName = themeName\r\n }\r\n return\r\n }\r\n waitStartTime = Date.now();\r\n intervalCleared = false;\r\n timerId = setInterval(function() {\r\n var isLoaded = isPendingThemeLoaded();\r\n var isTimeout = !isLoaded && Date.now() - waitStartTime > defaultTimeout;\r\n if (isTimeout) {\r\n _ui.default.log(\"W0004\", pendingThemeName)\r\n }\r\n if (isLoaded || isTimeout) {\r\n handleLoaded()\r\n }\r\n }, 10)\r\n }\r\n}\r\n\r\nfunction isPendingThemeLoaded() {\r\n if (!pendingThemeName) {\r\n return true\r\n }\r\n var anyThemePending = pendingThemeName === ANY_THEME;\r\n if (\"resolved\" === initDeferred.state() && anyThemePending) {\r\n return true\r\n }\r\n var themeMarker = readThemeMarker();\r\n if (themeMarker && anyThemePending) {\r\n return true\r\n }\r\n return themeMarker === pendingThemeName\r\n}\r\n\r\nfunction processMarkup() {\r\n var $allThemeLinks = (0, _renderer.default)(DX_LINK_SELECTOR, context);\r\n if (!$allThemeLinks.length) {\r\n return\r\n }\r\n knownThemes = {};\r\n $activeThemeLink = (0, _renderer.default)((0, _html_parser.parseHTML)(\"\"), context);\r\n $allThemeLinks.each(function() {\r\n var link = (0, _renderer.default)(this, context);\r\n var fullThemeName = link.attr(THEME_ATTR);\r\n var url = link.attr(\"href\");\r\n var isActive = \"true\" === link.attr(ACTIVE_ATTR);\r\n knownThemes[fullThemeName] = {\r\n url: url,\r\n isActive: isActive\r\n }\r\n });\r\n $allThemeLinks.last().after($activeThemeLink);\r\n $allThemeLinks.remove()\r\n}\r\n\r\nfunction resolveFullThemeName(desiredThemeName) {\r\n var desiredThemeParts = desiredThemeName ? desiredThemeName.split(\".\") : [];\r\n var result = null;\r\n if (knownThemes) {\r\n if (desiredThemeName in knownThemes) {\r\n return desiredThemeName\r\n }(0, _iterator.each)(knownThemes, function(knownThemeName, themeData) {\r\n var knownThemeParts = knownThemeName.split(\".\");\r\n if (desiredThemeParts[0] && knownThemeParts[0] !== desiredThemeParts[0]) {\r\n return\r\n }\r\n if (desiredThemeParts[1] && desiredThemeParts[1] !== knownThemeParts[1]) {\r\n return\r\n }\r\n if (desiredThemeParts[2] && desiredThemeParts[2] !== knownThemeParts[2]) {\r\n return\r\n }\r\n if (!result || themeData.isActive) {\r\n result = knownThemeName\r\n }\r\n if (themeData.isActive) {\r\n return false\r\n }\r\n })\r\n }\r\n return result\r\n}\r\n\r\nfunction initContext(newContext) {\r\n try {\r\n if (newContext !== context) {\r\n knownThemes = null\r\n }\r\n } catch (x) {\r\n knownThemes = null\r\n }\r\n context = newContext\r\n}\r\n\r\nfunction init(options) {\r\n options = options || {};\r\n initContext(options.context || _dom_adapter.default.getDocument());\r\n if (!context) {\r\n return\r\n }\r\n processMarkup();\r\n currentThemeName = void 0;\r\n current(options)\r\n}\r\n\r\nfunction current(options) {\r\n if (!arguments.length) {\r\n currentThemeName = currentThemeName || readThemeMarker();\r\n return currentThemeName\r\n }\r\n detachCssClasses(viewPort());\r\n options = options || {};\r\n if (\"string\" === typeof options) {\r\n options = {\r\n theme: options\r\n }\r\n }\r\n var isAutoInit = options._autoInit;\r\n var loadCallback = options.loadCallback;\r\n var currentThemeData;\r\n currentThemeName = resolveFullThemeName(options.theme || currentThemeName);\r\n if (currentThemeName) {\r\n currentThemeData = knownThemes[currentThemeName]\r\n }\r\n if (loadCallback) {\r\n _themes_callback.themeReadyCallback.add(loadCallback)\r\n }\r\n if (currentThemeData) {\r\n $activeThemeLink.attr(\"href\", knownThemes[currentThemeName].url);\r\n if (_themes_callback.themeReadyCallback.has() || \"resolved\" !== initDeferred.state() || options._forceTimeout) {\r\n waitForThemeLoad(currentThemeName)\r\n }\r\n } else {\r\n if (isAutoInit) {\r\n if ((0, _window.hasWindow)()) {\r\n waitForThemeLoad(ANY_THEME)\r\n }\r\n _themes_callback.themeReadyCallback.fire();\r\n _themes_callback.themeReadyCallback.empty()\r\n } else {\r\n throw _ui.default.Error(\"E0021\", currentThemeName)\r\n }\r\n }\r\n initDeferred.done(function() {\r\n return attachCssClasses((0, _view_port.originalViewPort)(), currentThemeName)\r\n })\r\n}\r\n\r\nfunction getCssClasses(themeName) {\r\n themeName = themeName || current();\r\n var result = [];\r\n var themeNameParts = themeName && themeName.split(\".\");\r\n if (themeNameParts) {\r\n result.push(\"dx-theme-\" + themeNameParts[0], \"dx-theme-\" + themeNameParts[0] + \"-typography\");\r\n if (themeNameParts.length > 1) {\r\n result.push(\"dx-color-scheme-\" + themeNameParts[1] + (isMaterial(themeName) ? \"-\" + themeNameParts[2] : \"\"))\r\n }\r\n }\r\n return result\r\n}\r\nvar themeClasses;\r\n\r\nfunction attachCssClasses(element, themeName) {\r\n themeClasses = getCssClasses(themeName).join(\" \");\r\n (0, _renderer.default)(element).addClass(themeClasses);\r\n var activateHairlines = function() {\r\n var pixelRatio = (0, _window.hasWindow)() && window.devicePixelRatio;\r\n if (!pixelRatio || pixelRatio < 2) {\r\n return\r\n }\r\n var $tester = (0, _renderer.default)(\"
\");\r\n $tester.css(\"border\", \".5px solid transparent\");\r\n (0, _renderer.default)(\"body\").append($tester);\r\n if (1 === $tester.outerHeight()) {\r\n (0, _renderer.default)(element).addClass(DX_HAIRLINES_CLASS);\r\n themeClasses += \" \" + DX_HAIRLINES_CLASS\r\n }\r\n $tester.remove()\r\n };\r\n activateHairlines()\r\n}\r\n\r\nfunction detachCssClasses(element) {\r\n (0, _renderer.default)(element).removeClass(themeClasses)\r\n}\r\n\r\nfunction themeReady(callback) {\r\n _themes_callback.themeReadyCallback.add(callback)\r\n}\r\n\r\nfunction isTheme(themeRegExp, themeName) {\r\n if (!themeName) {\r\n themeName = currentThemeName || readThemeMarker()\r\n }\r\n return new RegExp(themeRegExp).test(themeName)\r\n}\r\n\r\nfunction isMaterial(themeName) {\r\n return isTheme(\"material\", themeName)\r\n}\r\n\r\nfunction isGeneric(themeName) {\r\n return isTheme(\"generic\", themeName)\r\n}\r\n\r\nfunction isDark(themeName) {\r\n return isTheme(\"dark\", themeName)\r\n}\r\n\r\nfunction isWebFontLoaded(text, fontWeight) {\r\n var testedFont = \"Roboto, RobotoFallback, Arial\";\r\n var etalonFont = \"Arial\";\r\n var document = _dom_adapter.default.getDocument();\r\n var testElement = document.createElement(\"span\");\r\n testElement.style.position = \"absolute\";\r\n testElement.style.top = \"-9999px\";\r\n testElement.style.left = \"-9999px\";\r\n testElement.style.visibility = \"hidden\";\r\n testElement.style.fontFamily = etalonFont;\r\n testElement.style.fontSize = \"250px\";\r\n testElement.style.fontWeight = fontWeight;\r\n testElement.innerHTML = text;\r\n document.body.appendChild(testElement);\r\n var etalonFontWidth = testElement.offsetWidth;\r\n testElement.style.fontFamily = testedFont;\r\n var testedFontWidth = testElement.offsetWidth;\r\n testElement.parentNode.removeChild(testElement);\r\n return etalonFontWidth !== testedFontWidth\r\n}\r\n\r\nfunction waitWebFont(text, fontWeight) {\r\n var interval = 15;\r\n var timeout = 2e3;\r\n return new _promise.default(function(resolve) {\r\n var check = function() {\r\n if (isWebFontLoaded(text, fontWeight)) {\r\n clear()\r\n }\r\n };\r\n var clear = function() {\r\n clearInterval(intervalId);\r\n clearTimeout(timeoutId);\r\n resolve()\r\n };\r\n var intervalId = setInterval(check, interval);\r\n var timeoutId = setTimeout(clear, timeout)\r\n })\r\n}\r\n\r\nfunction autoInit() {\r\n init({\r\n _autoInit: true,\r\n _forceTimeout: true\r\n });\r\n if ((0, _renderer.default)(DX_LINK_SELECTOR, context).length) {\r\n throw _ui.default.Error(\"E0022\")\r\n }\r\n}\r\nif ((0, _window.hasWindow)()) {\r\n autoInit()\r\n} else {\r\n ready(autoInit)\r\n}\r\nviewPortChanged.add(function(viewPort, prevViewPort) {\r\n initDeferred.done(function() {\r\n detachCssClasses(prevViewPort);\r\n attachCssClasses(viewPort)\r\n })\r\n});\r\n_devices.default.changed.add(function() {\r\n init({\r\n _autoInit: true\r\n })\r\n});\r\n\r\nfunction resetTheme() {\r\n $activeThemeLink && $activeThemeLink.attr(\"href\", \"about:blank\");\r\n currentThemeName = null;\r\n pendingThemeName = null;\r\n initDeferred = new _deferred.Deferred\r\n}\r\n\r\nfunction initialized(callback) {\r\n initDeferred.done(callback)\r\n}\r\n\r\nfunction setDefaultTimeout(timeout) {\r\n defaultTimeout = timeout\r\n}\r\nvar _default = {\r\n setDefaultTimeout: setDefaultTimeout,\r\n initialized: initialized,\r\n resetTheme: resetTheme,\r\n ready: themeReady,\r\n waitWebFont: waitWebFont,\r\n isWebFontLoaded: isWebFontLoaded,\r\n isDark: isDark,\r\n isGeneric: isGeneric,\r\n isMaterial: isMaterial,\r\n detachCssClasses: detachCssClasses,\r\n attachCssClasses: attachCssClasses,\r\n current: current,\r\n waitForThemeLoad: waitForThemeLoad,\r\n isPendingThemeLoaded: isPendingThemeLoaded\r\n};\r\nexports.default = _default;\r\nmodule.exports.default = module.exports;\r\n","/**\r\n * DevExtreme (core/component_registrator_callbacks.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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(\"./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 (core/utils/resize_callbacks.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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 _window = require(\"./window\");\r\nvar _dom_adapter = _interopRequireDefault(require(\"../dom_adapter\"));\r\nvar _callbacks = _interopRequireDefault(require(\"./callbacks\"));\r\nvar _ready_callbacks = _interopRequireDefault(require(\"./ready_callbacks\"));\r\nvar _call_once = _interopRequireDefault(require(\"./call_once\"));\r\n\r\nfunction _interopRequireDefault(obj) {\r\n return obj && obj.__esModule ? obj : {\r\n \"default\": obj\r\n }\r\n}\r\nvar resizeCallbacks = function() {\r\n var prevSize;\r\n var callbacks = (0, _callbacks.default)();\r\n var originalCallbacksAdd = callbacks.add;\r\n var originalCallbacksRemove = callbacks.remove;\r\n if (!(0, _window.hasWindow)()) {\r\n return callbacks\r\n }\r\n var formatSize = function() {\r\n var window = (0, _window.getWindow)();\r\n return {\r\n width: window.innerWidth,\r\n height: window.innerHeight\r\n }\r\n };\r\n var handleResize = function() {\r\n var now = formatSize();\r\n if (now.width === prevSize.width && now.height === prevSize.height) {\r\n return\r\n }\r\n var changedDimension;\r\n if (now.width === prevSize.width) {\r\n changedDimension = \"height\"\r\n }\r\n if (now.height === prevSize.height) {\r\n changedDimension = \"width\"\r\n }\r\n prevSize = now;\r\n callbacks.fire(changedDimension)\r\n };\r\n var setPrevSize = (0, _call_once.default)(function() {\r\n prevSize = formatSize()\r\n });\r\n var removeListener;\r\n callbacks.add = function() {\r\n var result = originalCallbacksAdd.apply(callbacks, arguments);\r\n setPrevSize();\r\n _ready_callbacks.default.add(function() {\r\n if (!removeListener && callbacks.has()) {\r\n removeListener = _dom_adapter.default.listen((0, _window.getWindow)(), \"resize\", handleResize)\r\n }\r\n });\r\n return result\r\n };\r\n callbacks.remove = function() {\r\n var result = originalCallbacksRemove.apply(callbacks, arguments);\r\n if (!callbacks.has() && removeListener) {\r\n removeListener();\r\n removeListener = void 0\r\n }\r\n return result\r\n };\r\n return callbacks\r\n}();\r\nvar _default = resizeCallbacks;\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n","/**\r\n * DevExtreme (core/errors.js)\r\n * Version: 20.2.6\r\n * Build date: Tue Mar 16 2021\r\n *\r\n * Copyright (c) 2012 - 2021 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 _error = _interopRequireDefault(require(\"./utils/error\"));\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, _error.default)({\r\n E0001: \"Method is not implemented\",\r\n E0002: \"Member name collision: {0}\",\r\n E0003: \"A class must be instantiated using the 'new' keyword\",\r\n E0004: \"The NAME property of the component is not specified\",\r\n E0005: \"Unknown device\",\r\n E0006: \"Unknown endpoint key is requested\",\r\n E0007: \"'Invalidate' method is called outside the update transaction\",\r\n E0008: \"Type of the option name is not appropriate to create an action\",\r\n E0009: \"Component '{0}' has not been initialized for an element\",\r\n E0010: \"Animation configuration with the '{0}' type requires '{1}' configuration as {2}\",\r\n E0011: \"Unknown animation type '{0}'\",\r\n E0012: \"jQuery version is too old. Please upgrade jQuery to 1.10.0 or later\",\r\n E0013: \"KnockoutJS version is too old. Please upgrade KnockoutJS to 2.3.0 or later\",\r\n E0014: \"The 'release' method shouldn't be called for an unlocked Lock object\",\r\n E0015: \"Queued task returned an unexpected result\",\r\n E0017: \"Event namespace is not defined\",\r\n E0018: \"DevExpress.ui.DevExpressPopup widget is required\",\r\n E0020: \"Template engine '{0}' is not supported\",\r\n E0021: \"Unknown theme is set: {0}\",\r\n E0022: \"LINK[rel=DevExpress-theme] tags must go before DevExpress included scripts\",\r\n E0023: \"Template name is not specified\",\r\n E0024: \"DevExtreme bundle already included\",\r\n E0025: \"Unexpected argument type\",\r\n E0100: \"Unknown validation type is detected\",\r\n E0101: \"Misconfigured range validation rule is detected\",\r\n E0102: \"Misconfigured comparison validation rule is detected\",\r\n E0103: \"validationCallback of an asynchronous rule should return a jQuery or a native promise\",\r\n E0110: \"Unknown validation group is detected\",\r\n E0120: \"Adapter for a DevExpressValidator component cannot be configured\",\r\n E0121: \"The 'customItem' field of the 'onCustomItemCreating' function's parameter should contain a custom item or Promise that is resolved after the item is created.\",\r\n W0000: \"'{0}' is deprecated in {1}. {2}\",\r\n W0001: \"{0} - '{1}' option is deprecated in {2}. {3}\",\r\n W0002: \"{0} - '{1}' method is deprecated in {2}. {3}\",\r\n W0003: \"{0} - '{1}' property is deprecated in {2}. {3}\",\r\n W0004: \"Timeout for theme loading is over: {0}\",\r\n W0005: \"'{0}' event is deprecated in {1}. {2}\",\r\n W0006: \"Invalid recurrence rule: '{0}'\",\r\n W0007: \"'{0}' Globalize culture is not defined\",\r\n W0008: \"Invalid view name: '{0}'\",\r\n W0009: \"Invalid time zone name: '{0}'\",\r\n W0010: \"{0} is deprecated in {1}. {2}\",\r\n W0011: \"Number parsing is invoked while the parser is not defined\",\r\n W0012: \"Date parsing is invoked while the parser is not defined\",\r\n W0013: \"'{0}' file is deprecated in {1}. {2}\",\r\n W0014: \"{0} - '{1}' type is deprecated in {2}. {3}\",\r\n W0015: \"Instead of returning a value from the '{0}' function, write it into the '{1}' field of the function's parameter.\",\r\n W0016: 'The \"{0}\" option does not accept the \"{1}\" value since v.{2}. {3}.'\r\n});\r\nexports.default = _default;\r\nmodule.exports = exports.default;\r\n"],"sourceRoot":""}