{"version":3,"file":"static/js/6161.b4443901.js","mappings":"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","sources":["webpack://finnish-art/./node_modules/devextreme/esm/core/resize_observer.js","webpack://finnish-art/./node_modules/devextreme/esm/events/drag.js","webpack://finnish-art/./node_modules/devextreme/esm/events/gesture/emitter.gesture.js","webpack://finnish-art/./node_modules/devextreme/esm/ui/overlay/overlay_position_controller.js","webpack://finnish-art/./node_modules/devextreme/esm/mobile/hide_callback.js","webpack://finnish-art/./node_modules/devextreme/esm/ui/overlay/z_index.js","webpack://finnish-art/./node_modules/devextreme/esm/ui/overlay/ui.overlay.js","webpack://finnish-art/./node_modules/devextreme/esm/ui/overlay/overlay_drag.js","webpack://finnish-art/./node_modules/devextreme/esm/ui/resizable.js","webpack://finnish-art/./node_modules/devextreme/esm/ui/widget/swatch_container.js"],"sourcesContent":["/**\r\n * DevExtreme (esm/core/resize_observer.js)\r\n * Version: 21.2.11\r\n * Build date: Tue Oct 18 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n noop\r\n} from \"./utils/common\";\r\nimport {\r\n getWindow,\r\n hasWindow\r\n} from \"./utils/window\";\r\nvar window = getWindow();\r\nvar ResizeObserverMock = {\r\n observe: noop,\r\n unobserve: noop,\r\n disconnect: noop\r\n};\r\nclass ResizeObserverSingleton {\r\n constructor() {\r\n if (!hasWindow() || !window.ResizeObserver) {\r\n return ResizeObserverMock\r\n }\r\n this._callbacksMap = new Map;\r\n this._observer = new window.ResizeObserver(entries => {\r\n entries.forEach(entry => {\r\n var _this$_callbacksMap$g;\r\n null === (_this$_callbacksMap$g = this._callbacksMap.get(entry.target)) || void 0 === _this$_callbacksMap$g ? void 0 : _this$_callbacksMap$g(entry)\r\n })\r\n })\r\n }\r\n observe(element, callback) {\r\n this._callbacksMap.set(element, callback);\r\n this._observer.observe(element)\r\n }\r\n unobserve(element) {\r\n this._callbacksMap.delete(element);\r\n this._observer.unobserve(element)\r\n }\r\n disconnect() {\r\n this._callbacksMap.clear();\r\n this._observer.disconnect()\r\n }\r\n}\r\nvar resizeObserverSingleton = new ResizeObserverSingleton;\r\nexport default resizeObserverSingleton;\r\n","/**\r\n * DevExtreme (esm/events/drag.js)\r\n * Version: 21.2.11\r\n * Build date: Tue Oct 18 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../core/renderer\";\r\nimport {\r\n data as elementData,\r\n removeData\r\n} from \"../core/element_data\";\r\nimport {\r\n wrapToArray,\r\n inArray\r\n} from \"../core/utils/array\";\r\nimport * as iteratorUtils from \"../core/utils/iterator\";\r\nimport {\r\n contains\r\n} from \"../core/utils/dom\";\r\nimport registerEvent from \"./core/event_registrator\";\r\nimport {\r\n eventData as eData,\r\n fireEvent\r\n} from \"./utils/index\";\r\nimport GestureEmitter from \"./gesture/emitter.gesture\";\r\nimport registerEmitter from \"./core/emitter_registrator\";\r\nvar DRAG_START_EVENT = \"dxdragstart\";\r\nvar DRAG_EVENT = \"dxdrag\";\r\nvar DRAG_END_EVENT = \"dxdragend\";\r\nvar DRAG_ENTER_EVENT = \"dxdragenter\";\r\nvar DRAG_LEAVE_EVENT = \"dxdragleave\";\r\nvar DROP_EVENT = \"dxdrop\";\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 = -1 !== inArray(element, knownDropTargets);\r\n if (!knownDropTarget) {\r\n knownDropTargets.push(element);\r\n knownDropTargetSelectors.push([]);\r\n knownDropTargetConfigs.push(data || {})\r\n }\r\n },\r\n add: function(element, handleObj) {\r\n var index = inArray(element, knownDropTargets);\r\n this.updateEventsCounter(element, handleObj.type, 1);\r\n var selector = handleObj.selector;\r\n if (-1 === inArray(selector, knownDropTargetSelectors[index])) {\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 = elementData(element, DX_DRAG_EVENTS_COUNT_KEY) || 0;\r\n elementData(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 = elementData(element, DX_DRAG_EVENTS_COUNT_KEY);\r\n if (!handlersCount) {\r\n var index = inArray(element, knownDropTargets);\r\n knownDropTargets.splice(index, 1);\r\n knownDropTargetSelectors.splice(index, 1);\r\n knownDropTargetConfigs.splice(index, 1);\r\n removeData(element, DX_DRAG_EVENTS_COUNT_KEY)\r\n }\r\n }\r\n};\r\nregisterEvent(DRAG_ENTER_EVENT, dropTargetRegistration);\r\nregisterEvent(DRAG_LEAVE_EVENT, dropTargetRegistration);\r\nregisterEvent(DROP_EVENT, dropTargetRegistration);\r\nvar getItemDelegatedTargets = function($element) {\r\n var dropTargetIndex = inArray($element.get(0), knownDropTargets);\r\n var dropTargetSelectors = knownDropTargetSelectors[dropTargetIndex].filter(selector => selector);\r\n var $delegatedTargets = $element.find(dropTargetSelectors.join(\", \"));\r\n if (-1 !== inArray(void 0, knownDropTargetSelectors[dropTargetIndex])) {\r\n $delegatedTargets = $delegatedTargets.add($element)\r\n }\r\n return $delegatedTargets\r\n};\r\nvar getItemConfig = function($element) {\r\n var dropTargetIndex = inArray($element.get(0), knownDropTargets);\r\n return knownDropTargetConfigs[dropTargetIndex]\r\n};\r\nvar getItemPosition = function(dropTargetConfig, $element) {\r\n if (dropTargetConfig.itemPositionFunc) {\r\n return dropTargetConfig.itemPositionFunc($element)\r\n } else {\r\n return $element.offset()\r\n }\r\n};\r\nvar getItemSize = function(dropTargetConfig, $element) {\r\n if (dropTargetConfig.itemSizeFunc) {\r\n return dropTargetConfig.itemSizeFunc($element)\r\n }\r\n return {\r\n width: $element.get(0).getBoundingClientRect().width,\r\n height: $element.get(0).getBoundingClientRect().height\r\n }\r\n};\r\nvar DragEmitter = GestureEmitter.inherit({\r\n ctor: function(element) {\r\n this.callBase(element);\r\n this.direction = \"both\"\r\n },\r\n _init: function(e) {\r\n this._initEvent = e\r\n },\r\n _start: function(e) {\r\n e = this._fireEvent(DRAG_START_EVENT, this._initEvent);\r\n this._maxLeftOffset = e.maxLeftOffset;\r\n this._maxRightOffset = e.maxRightOffset;\r\n this._maxTopOffset = e.maxTopOffset;\r\n this._maxBottomOffset = e.maxBottomOffset;\r\n var dropTargets = wrapToArray(e.targetElements || (null === e.targetElements ? [] : knownDropTargets));\r\n this._dropTargets = iteratorUtils.map(dropTargets, (function(element) {\r\n return $(element).get(0)\r\n }))\r\n },\r\n _move: function(e) {\r\n var eventData = eData(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 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 = $(target);\r\n iteratorUtils.each(getItemDelegatedTargets($target), (function(_, delegatedTarget) {\r\n var $delegatedTarget = $(delegatedTarget);\r\n if (that._checkDropTarget(getItemConfig($target), $delegatedTarget, $(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 || 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) === $(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 = eData(e);\r\n this._fireEvent(DRAG_END_EVENT, e, {\r\n offset: this._calculateOffset(eventData)\r\n });\r\n this._fireDropTargetEvent(e, DROP_EVENT);\r\n delete this._currentDropTarget\r\n }\r\n});\r\nregisterEmitter({\r\n emitter: DragEmitter,\r\n events: [DRAG_START_EVENT, DRAG_EVENT, DRAG_END_EVENT]\r\n});\r\nexport {\r\n DRAG_EVENT as move, DRAG_START_EVENT as start, DRAG_END_EVENT as end, DRAG_ENTER_EVENT as enter, DRAG_LEAVE_EVENT as leave, DROP_EVENT as drop\r\n};\r\n","/**\r\n * DevExtreme (esm/events/gesture/emitter.gesture.js)\r\n * Version: 21.2.11\r\n * Build date: Tue Oct 18 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport devices from \"../../core/devices\";\r\nimport {\r\n styleProp\r\n} from \"../../core/utils/style\";\r\nimport callOnce from \"../../core/utils/call_once\";\r\nimport {\r\n resetActiveElement,\r\n clearSelection\r\n} from \"../../core/utils/dom\";\r\nimport readyCallbacks from \"../../core/utils/ready_callbacks\";\r\nvar ready = readyCallbacks.add;\r\nimport {\r\n sign\r\n} from \"../../core/utils/math\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n needSkipEvent,\r\n createEvent,\r\n eventData,\r\n isDxMouseWheelEvent,\r\n eventDelta,\r\n isTouchEvent\r\n} from \"../utils/index\";\r\nimport Emitter from \"../core/emitter\";\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 styleProp(\"pointer-events\")\r\n};\r\nvar setGestureCover = callOnce((function() {\r\n var isDesktop = \"desktop\" === devices.real().deviceType;\r\n if (!supportPointerEvents() || !isDesktop) {\r\n return noop\r\n }\r\n var $cover = $(\"
\").addClass(\"dx-gesture-cover\").css(\"pointerEvents\", \"none\");\r\n eventsEngine.subscribeGlobal($cover, \"dxmousewheel\", (function(e) {\r\n e.preventDefault()\r\n }));\r\n ready((function() {\r\n $cover.appendTo(\"body\")\r\n }));\r\n return function(toggle, cursor) {\r\n $cover.css(\"pointerEvents\", toggle ? \"all\" : \"none\");\r\n toggle && $cover.css(\"cursor\", cursor)\r\n }\r\n}));\r\nvar gestureCover = function(toggle, cursor) {\r\n var gestureCoverStrategy = setGestureCover();\r\n gestureCoverStrategy(toggle, cursor)\r\n};\r\nvar GestureEmitter = Emitter.inherit({\r\n gesture: true,\r\n configure: function(data) {\r\n this.getElement().css(\"msTouchAction\", data.immediate ? \"pinch-zoom\" : \"\");\r\n this.callBase(data)\r\n },\r\n allowInterruptionByMouseWheel: function() {\r\n return this._stage !== STARTED\r\n },\r\n getDirection: function() {\r\n return this.direction\r\n },\r\n _cancel: function() {\r\n this.callBase.apply(this, arguments);\r\n this._toggleGestureCover(false);\r\n this._stage = SLEEP\r\n },\r\n start: function(e) {\r\n if (e._needSkipEvent || needSkipEvent(e)) {\r\n this._cancel(e);\r\n return\r\n }\r\n this._startEvent = createEvent(e);\r\n this._startEventData = 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 if (this._stage === STARTED) {\r\n this._clearSelection(e);\r\n this._move(e)\r\n }\r\n },\r\n _directionConfirmed: function(e) {\r\n var touchBoundary = this._getTouchBoundary(e);\r\n var delta = eventDelta(this._startEventData, 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 || 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 = eventDelta(this._startEventData, eventData(e));\r\n this._startEvent.pageX += sign(delta.x) * touchBoundary;\r\n this._startEvent.pageY += sign(delta.y) * touchBoundary\r\n },\r\n _resetActiveElement: function() {\r\n if (\"ios\" === devices.real().platform && this.getElement().find(\":focus\").length) {\r\n 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 (isDxMouseWheelEvent(e) || isTouchEvent(e)) {\r\n return\r\n }\r\n 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 if (this._stage === INITED) {\r\n this._stop(e)\r\n }\r\n this._stage = SLEEP\r\n },\r\n dispose: function() {\r\n clearTimeout(this._immediateTimer);\r\n this.callBase.apply(this, arguments);\r\n this._toggleGestureCover(false)\r\n },\r\n _init: noop,\r\n _start: noop,\r\n _move: noop,\r\n _stop: noop,\r\n _end: noop\r\n});\r\nGestureEmitter.initialTouchBoundary = TOUCH_BOUNDARY;\r\nGestureEmitter.touchBoundary = function(newBoundary) {\r\n if (isDefined(newBoundary)) {\r\n TOUCH_BOUNDARY = newBoundary;\r\n return\r\n }\r\n return TOUCH_BOUNDARY\r\n};\r\nexport default GestureEmitter;\r\n","/**\r\n * DevExtreme (esm/ui/overlay/overlay_position_controller.js)\r\n * Version: 21.2.11\r\n * Build date: Tue Oct 18 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n isDefined,\r\n isString,\r\n isEvent,\r\n isWindow\r\n} from \"../../core/utils/type\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport positionUtils from \"../../animation/position\";\r\nimport {\r\n resetPosition,\r\n move,\r\n locate\r\n} from \"../../animation/translator\";\r\nimport {\r\n getWindow\r\n} from \"../../core/utils/window\";\r\nimport {\r\n originalViewPort,\r\n value as viewPort\r\n} from \"../../core/utils/view_port\";\r\nvar window = getWindow();\r\nvar OVERLAY_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 OVERLAY_DEFAULT_BOUNDARY_OFFSET = {\r\n h: 0,\r\n v: 0\r\n};\r\nclass OverlayPositionController {\r\n constructor(_ref) {\r\n var {\r\n position: position,\r\n target: target,\r\n container: container,\r\n $root: $root,\r\n $content: $content,\r\n $wrapper: $wrapper,\r\n onPositioned: onPositioned,\r\n onVisualPositionChanged: onVisualPositionChanged,\r\n dragOutsideBoundary: dragOutsideBoundary,\r\n dragAndResizeArea: dragAndResizeArea,\r\n outsideDragFactor: outsideDragFactor,\r\n restorePosition: restorePosition,\r\n _fixWrapperPosition: _fixWrapperPosition\r\n } = _ref;\r\n this._props = {\r\n position: position,\r\n target: target,\r\n container: container,\r\n dragOutsideBoundary: dragOutsideBoundary,\r\n dragAndResizeArea: dragAndResizeArea,\r\n outsideDragFactor: outsideDragFactor,\r\n restorePosition: restorePosition,\r\n onPositioned: onPositioned,\r\n onVisualPositionChanged: onVisualPositionChanged,\r\n _fixWrapperPosition: _fixWrapperPosition\r\n };\r\n this._$root = $root;\r\n this._$content = $content;\r\n this._$wrapper = $wrapper;\r\n this._$markupContainer = void 0;\r\n this._$wrapperCoveredElement = void 0;\r\n this._shouldRenderContentInitialPosition = true;\r\n this._visualPosition = void 0;\r\n this._initialPosition = void 0;\r\n this._previousVisualPosition = void 0;\r\n this._$dragResizeContainer = void 0;\r\n this._outsideDragFactor = void 0;\r\n this.updateContainer(container);\r\n this.updatePosition(position, target);\r\n this._updateDragResizeContainer();\r\n this._updateOutsideDragFactor()\r\n }\r\n get $container() {\r\n return this._$markupContainer\r\n }\r\n get $dragResizeContainer() {\r\n return this._$dragResizeContainer\r\n }\r\n get outsideDragFactor() {\r\n return this._outsideDragFactor\r\n }\r\n set fixWrapperPosition(fixWrapperPosition) {\r\n this._props._fixWrapperPosition = fixWrapperPosition;\r\n this.styleWrapperPosition()\r\n }\r\n set dragAndResizeArea(dragAndResizeArea) {\r\n this._props.dragAndResizeArea = dragAndResizeArea;\r\n this._updateDragResizeContainer()\r\n }\r\n set dragOutsideBoundary(dragOutsideBoundary) {\r\n this._props.dragOutsideBoundary = dragOutsideBoundary;\r\n this._updateDragResizeContainer();\r\n this._updateOutsideDragFactor()\r\n }\r\n set outsideDragFactor(outsideDragFactor) {\r\n this._props.outsideDragFactor = outsideDragFactor;\r\n this._updateOutsideDragFactor()\r\n }\r\n set restorePosition(restorePosition) {\r\n this._props.restorePosition = restorePosition\r\n }\r\n restorePositionOnNextRender(value) {\r\n this._shouldRenderContentInitialPosition = value || !this._visualPosition\r\n }\r\n openingHandled() {\r\n var shouldRestorePosition = this._props.restorePosition;\r\n this.restorePositionOnNextRender(shouldRestorePosition)\r\n }\r\n dragHandled() {\r\n this.restorePositionOnNextRender(false)\r\n }\r\n resizeHandled() {\r\n this.restorePositionOnNextRender(false)\r\n }\r\n updateTarget(target) {\r\n this._props.target = target;\r\n this.updatePosition(this._props.position, target)\r\n }\r\n updatePosition(positionProp) {\r\n var targetProp = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : this._props.target;\r\n this._props.position = positionProp;\r\n this._position = this._normalizePosition(positionProp, targetProp);\r\n this._updateWrapperCoveredElement()\r\n }\r\n updateContainer(containerProp) {\r\n this._props.container = containerProp;\r\n var container = null !== containerProp && void 0 !== containerProp ? containerProp : viewPort();\r\n var $container = this._$root.closest(container);\r\n if (!$container.length) {\r\n $container = $(container).first()\r\n }\r\n this._$markupContainer = $container.length ? $container : this._$root.parent();\r\n this._updateWrapperCoveredElement();\r\n this._updateDragResizeContainer()\r\n }\r\n detectVisualPositionChange(event) {\r\n this._updateVisualPositionValue();\r\n this._raisePositionedEvents(event)\r\n }\r\n positionContent() {\r\n if (this._shouldRenderContentInitialPosition) {\r\n this._renderContentInitialPosition()\r\n } else {\r\n move(this._$content, this._visualPosition);\r\n this.detectVisualPositionChange()\r\n }\r\n }\r\n positionWrapper() {\r\n if (this._$wrapperCoveredElement) {\r\n positionUtils.setup(this._$wrapper, {\r\n my: \"top left\",\r\n at: \"top left\",\r\n of: this._$wrapperCoveredElement\r\n })\r\n }\r\n }\r\n isAllWindowCoveredByWrapper() {\r\n return !this._$wrapperCoveredElement || isWindow(this._$wrapperCoveredElement.get(0))\r\n }\r\n styleWrapperPosition() {\r\n var useFixed = this.isAllWindowCoveredByWrapper() || this._props._fixWrapperPosition;\r\n var positionStyle = useFixed ? \"fixed\" : \"absolute\";\r\n this._$wrapper.css(\"position\", positionStyle)\r\n }\r\n _updateVisualPositionValue() {\r\n this._previousVisualPosition = this._visualPosition;\r\n this._visualPosition = locate(this._$content)\r\n }\r\n _renderContentInitialPosition() {\r\n this._renderBoundaryOffset();\r\n resetPosition(this._$content);\r\n var wrapperOverflow = this._$wrapper.css(\"overflow\");\r\n this._$wrapper.css(\"overflow\", \"hidden\");\r\n var resultPosition = positionUtils.setup(this._$content, this._position);\r\n this._$wrapper.css(\"overflow\", wrapperOverflow);\r\n this._initialPosition = resultPosition;\r\n this.detectVisualPositionChange()\r\n }\r\n _raisePositionedEvents(event) {\r\n var previousPosition = this._previousVisualPosition;\r\n var newPosition = this._visualPosition;\r\n var isVisualPositionChanged = (null === previousPosition || void 0 === previousPosition ? void 0 : previousPosition.top) !== newPosition.top || (null === previousPosition || void 0 === previousPosition ? void 0 : previousPosition.left) !== newPosition.left;\r\n if (isVisualPositionChanged) {\r\n this._props.onVisualPositionChanged({\r\n previousPosition: previousPosition,\r\n position: newPosition,\r\n event: event\r\n })\r\n }\r\n this._props.onPositioned({\r\n position: this._initialPosition\r\n })\r\n }\r\n _updateOutsideDragFactor() {\r\n this._outsideDragFactor = this._getOutsideDragFactor()\r\n }\r\n _getOutsideDragFactor() {\r\n if (this._props.dragOutsideBoundary) {\r\n return 1\r\n }\r\n return this._props.outsideDragFactor\r\n }\r\n _updateDragResizeContainer() {\r\n this._$dragResizeContainer = this._getDragResizeContainer()\r\n }\r\n _getDragResizeContainer() {\r\n if (this._props.dragOutsideBoundary) {\r\n return $(window)\r\n }\r\n if (this._props.dragAndResizeArea) {\r\n return $(this._props.dragAndResizeArea)\r\n }\r\n var isContainerDefined = originalViewPort().get(0) || this._props.container;\r\n return isContainerDefined ? this._$markupContainer : $(window)\r\n }\r\n _updateWrapperCoveredElement() {\r\n this._$wrapperCoveredElement = this._getWrapperCoveredElement()\r\n }\r\n _renderBoundaryOffset() {\r\n var _this$_position;\r\n var boundaryOffset = null !== (_this$_position = this._position) && void 0 !== _this$_position ? _this$_position : {\r\n boundaryOffset: OVERLAY_DEFAULT_BOUNDARY_OFFSET\r\n };\r\n this._$content.css(\"margin\", \"\".concat(boundaryOffset.v, \"px \").concat(boundaryOffset.h, \"px\"))\r\n }\r\n _getWrapperCoveredElement() {\r\n var containerProp = this._props.container;\r\n if (containerProp) {\r\n return $(containerProp)\r\n }\r\n if (this._position) {\r\n return $(isEvent(this._position.of) ? window : this._position.of || window)\r\n }\r\n }\r\n _normalizePosition(positionProp, targetProp) {\r\n var defaultPositionConfig = {\r\n of: targetProp,\r\n boundaryOffset: OVERLAY_DEFAULT_BOUNDARY_OFFSET\r\n };\r\n if (isDefined(positionProp)) {\r\n return extend(true, {}, defaultPositionConfig, this._positionToObject(positionProp))\r\n } else {\r\n return defaultPositionConfig\r\n }\r\n }\r\n _positionToObject(position) {\r\n if (isString(position)) {\r\n return extend({}, OVERLAY_POSITION_ALIASES[position])\r\n }\r\n return position\r\n }\r\n}\r\nexport {\r\n OVERLAY_POSITION_ALIASES,\r\n OverlayPositionController\r\n};\r\n","/**\r\n * DevExtreme (esm/mobile/hide_callback.js)\r\n * Version: 21.2.11\r\n * Build date: Tue Oct 18 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n inArray\r\n} from \"../core/utils/array\";\r\nexport var hideCallback = function() {\r\n var callbacks = [];\r\n return {\r\n add: function(callback) {\r\n var indexOfCallback = inArray(callback, callbacks);\r\n if (-1 === indexOfCallback) {\r\n callbacks.push(callback)\r\n }\r\n },\r\n remove: function(callback) {\r\n var indexOfCallback = inArray(callback, callbacks);\r\n if (-1 !== indexOfCallback) {\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\n","/**\r\n * DevExtreme (esm/ui/overlay/z_index.js)\r\n * Version: 21.2.11\r\n * Build date: Tue Oct 18 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n ensureDefined\r\n} from \"../../core/utils/common\";\r\nvar baseZIndex = 1500;\r\nvar zIndexStack = [];\r\nexport var base = ZIndex => {\r\n baseZIndex = ensureDefined(ZIndex, baseZIndex);\r\n return baseZIndex\r\n};\r\nexport var 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\nexport var remove = zIndex => {\r\n var position = zIndexStack.indexOf(zIndex);\r\n if (position >= 0) {\r\n zIndexStack.splice(position, 1)\r\n }\r\n};\r\nexport var clearStack = () => {\r\n zIndexStack = []\r\n};\r\n","/**\r\n * DevExtreme (esm/ui/overlay/ui.overlay.js)\r\n * Version: 21.2.11\r\n * Build date: Tue Oct 18 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getOuterWidth,\r\n getOuterHeight,\r\n getWidth,\r\n getHeight\r\n} from \"../../core/utils/size\";\r\nimport fx from \"../../animation/fx\";\r\nimport registerComponent from \"../../core/component_registrator\";\r\nimport devices from \"../../core/devices\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport {\r\n getPublicElement\r\n} from \"../../core/element\";\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n EmptyTemplate\r\n} from \"../../core/templates/empty_template\";\r\nimport {\r\n inArray\r\n} from \"../../core/utils/array\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n Deferred\r\n} from \"../../core/utils/deferred\";\r\nimport {\r\n contains,\r\n resetActiveElement\r\n} from \"../../core/utils/dom\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport readyCallbacks from \"../../core/utils/ready_callbacks\";\r\nimport {\r\n isDefined,\r\n isFunction,\r\n isPlainObject,\r\n isObject\r\n} from \"../../core/utils/type\";\r\nimport {\r\n changeCallback\r\n} from \"../../core/utils/view_port\";\r\nimport {\r\n getWindow,\r\n hasWindow\r\n} from \"../../core/utils/window\";\r\nimport errors from \"../../core/errors\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n move as dragEventMove\r\n} from \"../../events/drag\";\r\nimport pointerEvents from \"../../events/pointer\";\r\nimport {\r\n keyboard\r\n} from \"../../events/short\";\r\nimport {\r\n addNamespace,\r\n isCommandKeyPressed,\r\n normalizeKeyName\r\n} from \"../../events/utils/index\";\r\nimport {\r\n triggerHidingEvent,\r\n triggerResizeEvent,\r\n triggerShownEvent\r\n} from \"../../events/visibility_change\";\r\nimport {\r\n hideCallback as hideTopOverlayCallback\r\n} from \"../../mobile/hide_callback\";\r\nimport Resizable from \"../resizable\";\r\nimport OverlayDrag from \"./overlay_drag\";\r\nimport {\r\n tabbable\r\n} from \"../widget/selectors\";\r\nimport swatch from \"../widget/swatch_container\";\r\nimport Widget from \"../widget/ui.widget\";\r\nimport browser from \"../../core/utils/browser\";\r\nimport * as zIndexPool from \"./z_index\";\r\nimport resizeObserverSingleton from \"../../core/resize_observer\";\r\nimport {\r\n OverlayPositionController,\r\n OVERLAY_POSITION_ALIASES\r\n} from \"./overlay_position_controller\";\r\nvar ready = readyCallbacks.add;\r\nvar window = getWindow();\r\nvar viewPortChanged = 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\", \"onPositioned\", \"onResizeStart\", \"onResize\", \"onResizeEnd\", \"onVisualPositionChanged\"];\r\nvar OVERLAY_STACK = [];\r\nvar PREVENT_SAFARI_SCROLLING_CLASS = \"dx-prevent-safari-scrolling\";\r\nvar TAB_KEY = \"tab\";\r\nready(() => {\r\n eventsEngine.subscribeGlobal(domAdapter.getDocument(), pointerEvents.down, e => {\r\n for (var i = OVERLAY_STACK.length - 1; i >= 0; i--) {\r\n if (!OVERLAY_STACK[i]._proxiedDocumentDownHandler(e)) {\r\n return\r\n }\r\n }\r\n })\r\n});\r\nvar Overlay = Widget.inherit({\r\n _supportedKeys: function() {\r\n return extend(this.callBase(), {\r\n escape: function() {\r\n this.hide()\r\n },\r\n upArrow: e => {\r\n var _this$_drag;\r\n null === (_this$_drag = this._drag) || void 0 === _this$_drag ? void 0 : _this$_drag.moveUp(e)\r\n },\r\n downArrow: e => {\r\n var _this$_drag2;\r\n null === (_this$_drag2 = this._drag) || void 0 === _this$_drag2 ? void 0 : _this$_drag2.moveDown(e)\r\n },\r\n leftArrow: e => {\r\n var _this$_drag3;\r\n null === (_this$_drag3 = this._drag) || void 0 === _this$_drag3 ? void 0 : _this$_drag3.moveLeft(e)\r\n },\r\n rightArrow: e => {\r\n var _this$_drag4;\r\n null === (_this$_drag4 = this._drag) || void 0 === _this$_drag4 ? void 0 : _this$_drag4.moveRight(e)\r\n }\r\n })\r\n },\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n activeStateEnabled: false,\r\n visible: false,\r\n deferRendering: true,\r\n shading: true,\r\n shadingColor: \"\",\r\n wrapperAttr: {},\r\n position: extend({}, OVERLAY_POSITION_ALIASES.center),\r\n width: \"80vw\",\r\n minWidth: null,\r\n maxWidth: null,\r\n height: \"80vh\",\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 dragOutsideBoundary: false,\r\n closeOnOutsideClick: false,\r\n copyRootClassesToWrapper: false,\r\n _ignoreCopyRootClassesToWrapperDeprecation: false,\r\n _ignoreElementAttrDeprecation: 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 dragAndResizeArea: void 0,\r\n outsideDragFactor: 0,\r\n resizeEnabled: false,\r\n onResizeStart: null,\r\n onResize: null,\r\n onResizeEnd: null,\r\n innerOverlay: false,\r\n restorePosition: true,\r\n target: void 0,\r\n container: void 0,\r\n hideTopOverlayHandler: () => {\r\n this.hide()\r\n },\r\n hideOnParentScroll: false,\r\n onPositioned: null,\r\n propagateOutsideClick: false,\r\n ignoreChildEvents: true,\r\n _checkParentVisibility: true,\r\n _fixWrapperPosition: false\r\n })\r\n },\r\n _defaultOptionsRules: function() {\r\n return this.callBase().concat([{\r\n device: function() {\r\n return !hasWindow()\r\n },\r\n options: {\r\n width: null,\r\n height: null,\r\n animation: null,\r\n _checkParentVisibility: false\r\n }\r\n }])\r\n },\r\n _setOptionsByReference: function() {\r\n this.callBase();\r\n extend(this._optionsByReference, {\r\n animation: true\r\n })\r\n },\r\n $wrapper: function() {\r\n return this._$wrapper\r\n },\r\n _eventBindingTarget: function() {\r\n return this._$content\r\n },\r\n ctor: function(element, options) {\r\n this.callBase(element, options);\r\n if (options) {\r\n if (options.copyRootClassesToWrapper && !options._ignoreCopyRootClassesToWrapperDeprecation) {\r\n this._logDeprecatedOptionWarning(\"copyRootClassesToWrapper\", {\r\n since: \"21.2\",\r\n message: 'Use the \"wrapperAttr\" option instead'\r\n })\r\n }\r\n if (options.elementAttr && !options._ignoreElementAttrDeprecation) {\r\n this._logDeprecatedOptionWarning(\"elementAttr\", {\r\n since: \"21.2\",\r\n message: 'Use the \"wrapperAttr\" option instead'\r\n })\r\n }\r\n }\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._customWrapperClass = null;\r\n this._$wrapper = $(\"
\").addClass(OVERLAY_WRAPPER_CLASS);\r\n this._$content = $(\"
\").addClass(OVERLAY_CONTENT_CLASS);\r\n this._initInnerOverlayClass();\r\n var $element = this.$element();\r\n if (this.option(\"copyRootClassesToWrapper\")) {\r\n this._$wrapper.addClass($element.attr(\"class\"))\r\n }\r\n $element.addClass(OVERLAY_CLASS);\r\n this._$wrapper.attr(\"data-bind\", \"dxControlsDescendantBindings: true\");\r\n this._toggleViewPortSubscription(true);\r\n this._initHideTopOverlayHandler(this.option(\"hideTopOverlayHandler\"));\r\n this._parentsScrollSubscriptionInfo = {\r\n handler: e => {\r\n this._hideOnParentsScrollHandler(e)\r\n }\r\n };\r\n this._updateResizeCallbackSkipCondition();\r\n this.warnPositionAsFunction()\r\n },\r\n warnPositionAsFunction() {\r\n if (isFunction(this.option(\"position\"))) {\r\n errors.log(\"W0018\")\r\n }\r\n },\r\n _initOptions: function(options) {\r\n this._setAnimationTarget(options.target);\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 _setAnimationTarget: function(target) {\r\n if (!isDefined(target)) {\r\n return\r\n }\r\n var options = this.option();\r\n [\"animation.show.from.position.of\", \"animation.show.to.position.of\", \"animation.hide.from.position.of\", \"animation.hide.to.position.of\"].forEach(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 (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 _initHideTopOverlayHandler: function(handler) {\r\n this._hideTopOverlayHandler = handler\r\n },\r\n _initActions: function() {\r\n this._actions = {};\r\n each(ACTIONS, (_, action) => {\r\n this._actions[action] = this._createActionByOption(action, {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n }) || noop\r\n })\r\n },\r\n _initCloseOnOutsideClickHandler: function() {\r\n var _this = this;\r\n this._proxiedDocumentDownHandler = function() {\r\n return _this._documentDownHandler(...arguments)\r\n }\r\n },\r\n _areContentDimensionsRendered: function(entry) {\r\n var _entry$contentBoxSize, _this$_renderedDimens3, _this$_renderedDimens4;\r\n var contentBox = null === (_entry$contentBoxSize = entry.contentBoxSize) || void 0 === _entry$contentBoxSize ? void 0 : _entry$contentBoxSize[0];\r\n if (contentBox) {\r\n var _this$_renderedDimens, _this$_renderedDimens2;\r\n return parseInt(contentBox.inlineSize, 10) === (null === (_this$_renderedDimens = this._renderedDimensions) || void 0 === _this$_renderedDimens ? void 0 : _this$_renderedDimens.width) && parseInt(contentBox.blockSize, 10) === (null === (_this$_renderedDimens2 = this._renderedDimensions) || void 0 === _this$_renderedDimens2 ? void 0 : _this$_renderedDimens2.height)\r\n }\r\n var contentRect = entry.contentRect;\r\n return parseInt(contentRect.width, 10) === (null === (_this$_renderedDimens3 = this._renderedDimensions) || void 0 === _this$_renderedDimens3 ? void 0 : _this$_renderedDimens3.width) && parseInt(contentRect.height, 10) === (null === (_this$_renderedDimens4 = this._renderedDimensions) || void 0 === _this$_renderedDimens4 ? void 0 : _this$_renderedDimens4.height)\r\n },\r\n _contentResizeHandler: function(entry) {\r\n if (!this._shouldSkipContentResize(entry) && this._$content.is(\":visible\")) {\r\n this._renderGeometry({\r\n shouldOnlyReposition: true\r\n })\r\n }\r\n },\r\n _updateResizeCallbackSkipCondition() {\r\n var doesShowAnimationChangeDimensions = this._doesShowAnimationChangeDimensions();\r\n this._shouldSkipContentResize = entry => doesShowAnimationChangeDimensions && this._showAnimationProcessing || this._areContentDimensionsRendered(entry)\r\n },\r\n _doesShowAnimationChangeDimensions: function() {\r\n var animation = this.option(\"animation\");\r\n return [\"to\", \"from\"].some(prop => {\r\n var _animation$show;\r\n var config = null === animation || void 0 === animation ? void 0 : null === (_animation$show = animation.show) || void 0 === _animation$show ? void 0 : _animation$show[prop];\r\n return isObject(config) && (\"width\" in config || \"height\" in config)\r\n })\r\n },\r\n _observeContentResize: function(shouldObserve) {\r\n if (!this.option(\"useResizeObserver\")) {\r\n return\r\n }\r\n var contentElement = this._$content.get(0);\r\n if (shouldObserve) {\r\n resizeObserverSingleton.observe(contentElement, entry => {\r\n this._contentResizeHandler(entry)\r\n })\r\n } else {\r\n resizeObserverSingleton.unobserve(contentElement)\r\n }\r\n },\r\n _initMarkup() {\r\n this.callBase();\r\n this._renderWrapperAttributes();\r\n this._initPositionController()\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 (isFunction(closeOnOutsideClick)) {\r\n closeOnOutsideClick = closeOnOutsideClick(e)\r\n }\r\n var isAttachedTarget = $(window.document).is(e.target) || contains(window.document, e.target);\r\n var isInnerOverlay = $(e.target).closest(\".\".concat(INNER_OVERLAY_CLASS)).length;\r\n var outsideClick = isAttachedTarget && !isInnerOverlay && !(this._$content.is(e.target) || contains(this._$content.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(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 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 var _this2 = this;\r\n viewPortChanged.remove(this._viewPortChangeHandle);\r\n if (toggle) {\r\n this._viewPortChangeHandle = function() {\r\n _this2._viewPortChangeHandler(...arguments)\r\n };\r\n viewPortChanged.add(this._viewPortChangeHandle)\r\n }\r\n },\r\n _viewPortChangeHandler: function() {\r\n this._positionController.updateContainer(this.option(\"container\"));\r\n this._refresh()\r\n },\r\n _renderWrapperAttributes() {\r\n var {\r\n wrapperAttr: wrapperAttr\r\n } = this.option();\r\n var attributes = extend({}, wrapperAttr);\r\n var classNames = attributes.class;\r\n delete attributes.class;\r\n this.$wrapper().attr(attributes).removeClass(this._customWrapperClass).addClass(classNames);\r\n this._customWrapperClass = classNames\r\n },\r\n _renderVisibilityAnimate: function(visible) {\r\n this._observeContentResize(visible);\r\n this._stopAnimation();\r\n return visible ? this._show() : this._hide()\r\n },\r\n _getAnimationConfig: function() {\r\n return this._getOptionValue(\"animation\", this)\r\n },\r\n _animateShowing: function() {\r\n var _this$_getAnimationCo, _showAnimation$start, _showAnimation$comple, _this3 = this;\r\n var animation = null !== (_this$_getAnimationCo = this._getAnimationConfig()) && void 0 !== _this$_getAnimationCo ? _this$_getAnimationCo : {};\r\n var showAnimation = this._normalizeAnimation(animation.show, \"to\");\r\n var startShowAnimation = null !== (_showAnimation$start = null === showAnimation || void 0 === showAnimation ? void 0 : showAnimation.start) && void 0 !== _showAnimation$start ? _showAnimation$start : noop;\r\n var completeShowAnimation = null !== (_showAnimation$comple = null === showAnimation || void 0 === showAnimation ? void 0 : showAnimation.complete) && void 0 !== _showAnimation$comple ? _showAnimation$comple : noop;\r\n this._animate(showAnimation, (function() {\r\n if (_this3._isAnimationPaused) {\r\n return\r\n }\r\n if (_this3.option(\"focusStateEnabled\")) {\r\n eventsEngine.trigger(_this3._focusTarget(), \"focus\")\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 completeShowAnimation.call(_this3, ...args);\r\n _this3._showAnimationProcessing = false;\r\n _this3._isHidden = false;\r\n _this3._actions.onShown();\r\n _this3._toggleSafariScrolling();\r\n _this3._showingDeferred.resolve()\r\n }), (function() {\r\n if (_this3._isAnimationPaused) {\r\n return\r\n }\r\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\r\n args[_key2] = arguments[_key2]\r\n }\r\n startShowAnimation.call(_this3, ...args);\r\n _this3._showAnimationProcessing = true\r\n }))\r\n },\r\n _show: function() {\r\n this._showingDeferred = new Deferred;\r\n this._parentHidden = this._isParentHidden();\r\n this._showingDeferred.done(() => {\r\n delete this._parentHidden\r\n });\r\n if (this._parentHidden) {\r\n this._isHidden = true;\r\n return this._showingDeferred.resolve()\r\n }\r\n if (this._currentVisible) {\r\n return (new Deferred).resolve().promise()\r\n }\r\n this._currentVisible = true;\r\n if (this._isHidingActionCanceled) {\r\n delete this._isHidingActionCanceled;\r\n this._showingDeferred.resolve()\r\n } else {\r\n var show = () => {\r\n this._stopAnimation();\r\n this._toggleVisibility(true);\r\n this._$content.css(\"visibility\", \"hidden\");\r\n this._$content.toggleClass(INVISIBLE_STATE_CLASS, false);\r\n this._updateZIndexStackPosition(true);\r\n this._positionController.openingHandled();\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 (() => {\r\n this._toggleVisibility(false);\r\n this._$content.css(\"visibility\", \"\");\r\n this._$content.toggleClass(INVISIBLE_STATE_CLASS, true);\r\n this._isShowingActionCanceled = true;\r\n this._moveFromContainer();\r\n this.option(\"visible\", false);\r\n this._showingDeferred.resolve()\r\n })()\r\n } else {\r\n (() => {\r\n this._$content.css(\"visibility\", \"\");\r\n this._renderVisibility(true);\r\n this._animateShowing()\r\n })()\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 this._showingDeferred.promise()\r\n },\r\n _normalizeAnimation: function(animation, prop) {\r\n if (animation) {\r\n animation = extend({\r\n type: \"slide\",\r\n skipElementInitialStyles: true\r\n }, animation);\r\n if (animation[prop] && \"object\" === typeof animation[prop]) {\r\n extend(animation[prop], {\r\n position: this._positionController._position\r\n })\r\n }\r\n }\r\n return animation\r\n },\r\n _animateHiding: function() {\r\n var _this$_getAnimationCo2, _hideAnimation$start, _hideAnimation$comple, _this4 = this;\r\n var animation = null !== (_this$_getAnimationCo2 = this._getAnimationConfig()) && void 0 !== _this$_getAnimationCo2 ? _this$_getAnimationCo2 : {};\r\n var hideAnimation = this._normalizeAnimation(animation.hide, \"from\");\r\n var startHideAnimation = null !== (_hideAnimation$start = null === hideAnimation || void 0 === hideAnimation ? void 0 : hideAnimation.start) && void 0 !== _hideAnimation$start ? _hideAnimation$start : noop;\r\n var completeHideAnimation = null !== (_hideAnimation$comple = null === hideAnimation || void 0 === hideAnimation ? void 0 : hideAnimation.complete) && void 0 !== _hideAnimation$comple ? _hideAnimation$comple : noop;\r\n this._animate(hideAnimation, (function() {\r\n var _this4$_actions;\r\n _this4._$content.css(\"pointerEvents\", \"\");\r\n _this4._renderVisibility(false);\r\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\r\n args[_key3] = arguments[_key3]\r\n }\r\n completeHideAnimation.call(_this4, ...args);\r\n _this4._hideAnimationProcessing = false;\r\n null === (_this4$_actions = _this4._actions) || void 0 === _this4$_actions ? void 0 : _this4$_actions.onHidden();\r\n _this4._hidingDeferred.resolve()\r\n }), (function() {\r\n _this4._$content.css(\"pointerEvents\", \"none\");\r\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\r\n args[_key4] = arguments[_key4]\r\n }\r\n startHideAnimation.call(_this4, ...args);\r\n _this4._hideAnimationProcessing = true\r\n }))\r\n },\r\n _hide: function() {\r\n if (!this._currentVisible) {\r\n return (new Deferred).resolve().promise()\r\n }\r\n this._currentVisible = false;\r\n this._hidingDeferred = new Deferred;\r\n var hidingArgs = {\r\n cancel: false\r\n };\r\n if (this._isShowingActionCanceled) {\r\n this._hidingDeferred.resolve()\r\n } else {\r\n this._actions.onHiding(hidingArgs);\r\n this._toggleSafariScrolling();\r\n if (hidingArgs.cancel) {\r\n (() => {\r\n this._isHidingActionCanceled = true;\r\n this.option(\"visible\", true);\r\n this._hidingDeferred.resolve()\r\n })()\r\n } else {\r\n (() => {\r\n this._forceFocusLost();\r\n this._toggleShading(false);\r\n this._toggleSubscriptions(false);\r\n this._stopShowTimer();\r\n this._animateHiding()\r\n })()\r\n }\r\n }\r\n return this._hidingDeferred.promise()\r\n },\r\n _forceFocusLost: function() {\r\n var activeElement = domAdapter.getActiveElement();\r\n var shouldResetActiveElement = !!this._$content.find(activeElement).length;\r\n if (shouldResetActiveElement) {\r\n resetActiveElement()\r\n }\r\n },\r\n _animate: function(animation, completeCallback, startCallback) {\r\n if (animation) {\r\n startCallback = startCallback || animation.start || noop;\r\n fx.animate(this._$content, extend({}, animation, {\r\n start: startCallback,\r\n complete: completeCallback\r\n }))\r\n } else {\r\n completeCallback()\r\n }\r\n },\r\n _stopAnimation: function() {\r\n fx.stop(this._$content, true)\r\n },\r\n _renderVisibility: function(visible) {\r\n if (visible && this._isParentHidden()) {\r\n return\r\n }\r\n this._currentVisible = visible;\r\n this._stopAnimation();\r\n if (!visible) {\r\n triggerHidingEvent(this._$content)\r\n }\r\n if (visible) {\r\n this._moveToContainer();\r\n this._renderGeometry();\r\n triggerShownEvent(this._$content);\r\n triggerResizeEvent(this._$content)\r\n } else {\r\n this._toggleVisibility(visible);\r\n this._$content.toggleClass(INVISIBLE_STATE_CLASS, !visible);\r\n this._updateZIndexStackPosition(visible);\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 = inArray(this, overlayStack);\r\n if (pushToStack) {\r\n if (-1 === index) {\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 if (-1 !== index) {\r\n overlayStack.splice(index, 1);\r\n zIndexPool.remove(this._zIndex)\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 _this5 = this;\r\n this._proxiedTabTerminatorHandler = function() {\r\n _this5._tabKeyHandler(...arguments)\r\n }\r\n },\r\n _toggleTabTerminator: function(enabled) {\r\n var eventName = addNamespace(\"keydown\", this.NAME);\r\n if (enabled) {\r\n eventsEngine.on(domAdapter.getDocument(), eventName, this._proxiedTabTerminatorHandler)\r\n } else {\r\n eventsEngine.off(domAdapter.getDocument(), eventName, this._proxiedTabTerminatorHandler)\r\n }\r\n },\r\n _findTabbableBounds: function() {\r\n var $elements = this._$wrapper.find(\"*\");\r\n var elementsCount = $elements.length - 1;\r\n var result = {\r\n first: null,\r\n last: null\r\n };\r\n for (var i = 0; i <= elementsCount; i++) {\r\n if (!result.first && $elements.eq(i).is(tabbable)) {\r\n result.first = $elements.eq(i)\r\n }\r\n if (!result.last && $elements.eq(elementsCount - i).is(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 (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 = !contains(this._$wrapper.get(0), e.target);\r\n if (isTabOnLast || isShiftTabOnFirst || isEmptyTabList || isOutsideTarget) {\r\n e.preventDefault();\r\n var $focusElement = e.shiftKey ? $lastTabbable : $firstTabbable;\r\n eventsEngine.trigger($focusElement, \"focusin\");\r\n eventsEngine.trigger($focusElement, \"focus\")\r\n }\r\n },\r\n _toggleSubscriptions: function(enabled) {\r\n if (hasWindow()) {\r\n this._toggleHideTopOverlayCallback(enabled);\r\n this._toggleHideOnParentsScrollSubscription(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 hideTopOverlayCallback.add(this._hideTopOverlayHandler)\r\n } else {\r\n hideTopOverlayCallback.remove(this._hideTopOverlayHandler)\r\n }\r\n },\r\n _toggleHideOnParentsScrollSubscription: function(needSubscribe) {\r\n var _this$_parentsScrollS;\r\n var scrollEvent = addNamespace(\"scroll\", this.NAME);\r\n var {\r\n prevTargets: prevTargets,\r\n handler: handler\r\n } = null !== (_this$_parentsScrollS = this._parentsScrollSubscriptionInfo) && void 0 !== _this$_parentsScrollS ? _this$_parentsScrollS : {};\r\n eventsEngine.off(prevTargets, scrollEvent, handler);\r\n var closeOnScroll = this.option(\"hideOnParentScroll\");\r\n if (needSubscribe && closeOnScroll) {\r\n var $parents = this._hideOnParentScrollTarget().parents();\r\n if (\"desktop\" === devices.real().deviceType) {\r\n $parents = $parents.add(window)\r\n }\r\n eventsEngine.on($parents, scrollEvent, handler);\r\n this._parentsScrollSubscriptionInfo.prevTargets = $parents\r\n }\r\n },\r\n _hideOnParentsScrollHandler: function(e) {\r\n var closeHandled = false;\r\n var closeOnScroll = this.option(\"hideOnParentScroll\");\r\n if (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 _hideOnParentScrollTarget: function() {\r\n return this._$wrapper\r\n },\r\n _render: function() {\r\n this.callBase();\r\n this._appendContentToElement();\r\n this._renderVisibilityAnimate(this.option(\"visible\"))\r\n },\r\n _appendContentToElement: function() {\r\n if (!this._$content.parent().is(this.$element())) {\r\n this._$content.appendTo(this.$element())\r\n }\r\n },\r\n _renderContent: function() {\r\n var shouldDeferRendering = !this._currentVisible && this.option(\"deferRendering\");\r\n var isParentHidden = this.option(\"visible\") && this._isParentHidden();\r\n if (isParentHidden) {\r\n this._isHidden = true;\r\n return\r\n }\r\n if (this._contentAlreadyRendered || shouldDeferRendering) {\r\n return\r\n }\r\n this._contentAlreadyRendered = true;\r\n this._appendContentToElement();\r\n this.callBase()\r\n },\r\n _isParentHidden: function() {\r\n if (!this.option(\"_checkParentVisibility\")) {\r\n return false\r\n }\r\n if (void 0 !== this._parentHidden) {\r\n return this._parentHidden\r\n }\r\n var $parent = this.$element().parent();\r\n if ($parent.is(\":visible\")) {\r\n return false\r\n }\r\n var isHidden = false;\r\n $parent.add($parent.parents()).each((function() {\r\n var $element = $(this);\r\n if (\"none\" === $element.css(\"display\")) {\r\n isHidden = true;\r\n return false\r\n }\r\n }));\r\n return isHidden || !domAdapter.getBody().contains($parent.get(0))\r\n },\r\n _renderContentImpl: function() {\r\n var whenContentRendered = new 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: getPublicElement(this.$content()),\r\n noModel: true,\r\n transclude: transclude,\r\n onRendered: () => {\r\n whenContentRendered.resolve()\r\n }\r\n });\r\n this._renderDrag();\r\n this._renderResize();\r\n this._renderScrollTerminator();\r\n whenContentRendered.done(() => {\r\n if (this.option(\"visible\")) {\r\n this._moveToContainer()\r\n }\r\n });\r\n return whenContentRendered.promise()\r\n },\r\n _getPositionControllerConfig() {\r\n var {\r\n target: target,\r\n container: container,\r\n dragAndResizeArea: dragAndResizeArea,\r\n dragOutsideBoundary: dragOutsideBoundary,\r\n outsideDragFactor: outsideDragFactor,\r\n _fixWrapperPosition: _fixWrapperPosition,\r\n restorePosition: restorePosition\r\n } = this.option();\r\n return {\r\n target: target,\r\n container: container,\r\n $root: this.$element(),\r\n $content: this._$content,\r\n $wrapper: this._$wrapper,\r\n onPositioned: this._actions.onPositioned,\r\n onVisualPositionChanged: this._actions.onVisualPositionChanged,\r\n restorePosition: restorePosition,\r\n dragAndResizeArea: dragAndResizeArea,\r\n dragOutsideBoundary: dragOutsideBoundary,\r\n outsideDragFactor: outsideDragFactor,\r\n _fixWrapperPosition: _fixWrapperPosition\r\n }\r\n },\r\n _initPositionController() {\r\n this._positionController = new OverlayPositionController(this._getPositionControllerConfig())\r\n },\r\n _renderDrag: function() {\r\n var $dragTarget = this._getDragTarget();\r\n if (!$dragTarget) {\r\n return\r\n }\r\n var config = {\r\n dragEnabled: this.option(\"dragEnabled\"),\r\n handle: $dragTarget.get(0),\r\n draggableElement: this._$content.get(0),\r\n positionController: this._positionController\r\n };\r\n if (this._drag) {\r\n this._drag.init(config)\r\n } else {\r\n this._drag = new OverlayDrag(config)\r\n }\r\n },\r\n _renderResize: function() {\r\n this._resizable = this._createComponent(this._$content, Resizable, {\r\n handles: this.option(\"resizeEnabled\") ? \"all\" : \"none\",\r\n onResizeEnd: e => {\r\n this._resizeEndHandler(e);\r\n this._observeContentResize(true)\r\n },\r\n onResize: e => {\r\n this._actions.onResize(e)\r\n },\r\n onResizeStart: e => {\r\n this._observeContentResize(false);\r\n this._actions.onResizeStart(e)\r\n },\r\n minHeight: 100,\r\n minWidth: 100,\r\n area: this._positionController.$dragResizeContainer\r\n })\r\n },\r\n _resizeEndHandler: function(e) {\r\n var width = this._resizable.option(\"width\");\r\n var height = this._resizable.option(\"height\");\r\n width && this._setOptionWithoutOptionChange(\"width\", width);\r\n height && this._setOptionWithoutOptionChange(\"height\", height);\r\n this._cacheDimensions();\r\n this._positionController.resizeHandled();\r\n this._positionController.detectVisualPositionChange(e.event);\r\n this._actions.onResizeEnd(e)\r\n },\r\n _renderScrollTerminator: function() {\r\n var $scrollTerminator = this._$wrapper;\r\n var terminatorEventName = addNamespace(dragEventMove, this.NAME);\r\n eventsEngine.off($scrollTerminator, terminatorEventName);\r\n eventsEngine.on($scrollTerminator, terminatorEventName, {\r\n validate: function() {\r\n return true\r\n },\r\n getDirection: function() {\r\n return \"both\"\r\n },\r\n _toggleGestureCover: function(toggle) {\r\n if (!toggle) {\r\n this._toggleGestureCoverImpl(toggle)\r\n }\r\n },\r\n _clearSelection: noop,\r\n isNative: true\r\n }, e => {\r\n var originalEvent = e.originalEvent.originalEvent;\r\n var {\r\n type: type\r\n } = originalEvent || {};\r\n var isWheel = \"wheel\" === type;\r\n var isMouseMove = \"mousemove\" === type;\r\n var isScrollByWheel = isWheel && !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 _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._positionController.$container : swatch.getSwatchContainer($element);\r\n if (renderContainer && renderContainer[0] === $element.parent()[0]) {\r\n renderContainer = $element\r\n }\r\n this._$wrapper.appendTo(renderContainer)\r\n },\r\n _renderGeometry: function(options) {\r\n var {\r\n visible: visible,\r\n useResizeObserver: useResizeObserver\r\n } = this.option();\r\n if (visible && hasWindow()) {\r\n var isAnimated = this._showAnimationProcessing;\r\n var shouldRepeatAnimation = isAnimated && !(null !== options && void 0 !== options && options.forceStopAnimation) && useResizeObserver;\r\n this._isAnimationPaused = shouldRepeatAnimation || void 0;\r\n this._stopAnimation();\r\n if (null !== options && void 0 !== options && options.shouldOnlyReposition) {\r\n this._positionController.positionContent()\r\n } else {\r\n this._renderGeometryImpl(null === options || void 0 === options ? void 0 : options.isDimensionChange)\r\n }\r\n if (shouldRepeatAnimation) {\r\n this._animateShowing();\r\n this._isAnimationPaused = void 0\r\n }\r\n }\r\n },\r\n _cacheDimensions: function() {\r\n if (!this.option(\"useResizeObserver\")) {\r\n return\r\n }\r\n this._renderedDimensions = {\r\n width: parseInt(getWidth(this._$content), 10),\r\n height: parseInt(getHeight(this._$content), 10)\r\n }\r\n },\r\n _renderGeometryImpl: function() {\r\n this._positionController.updatePosition(this._getOptionValue(\"position\"));\r\n this._renderWrapper();\r\n this._renderDimensions();\r\n this._renderPosition();\r\n this._cacheDimensions()\r\n },\r\n _renderPosition() {\r\n this._positionController.positionContent()\r\n },\r\n _isAllWindowCovered: function() {\r\n return this._positionController.isAllWindowCoveredByWrapper() && this.option(\"shading\")\r\n },\r\n _toggleSafariScrolling: function() {\r\n var visible = this.option(\"visible\");\r\n var $body = $(domAdapter.getBody());\r\n var isIosSafari = \"ios\" === devices.real().platform && browser.safari;\r\n var isAllWindowCovered = this._isAllWindowCovered();\r\n var isScrollingPrevented = $body.hasClass(PREVENT_SAFARI_SCROLLING_CLASS);\r\n var shouldPreventScrolling = !isScrollingPrevented && visible && isAllWindowCovered;\r\n var shouldEnableScrolling = isScrollingPrevented && (!visible || !isAllWindowCovered || this._disposed);\r\n if (isIosSafari) {\r\n if (shouldEnableScrolling) {\r\n $body.removeClass(PREVENT_SAFARI_SCROLLING_CLASS);\r\n window.scrollTo(0, this._cachedBodyScrollTop);\r\n this._cachedBodyScrollTop = void 0\r\n } else if (shouldPreventScrolling) {\r\n this._cachedBodyScrollTop = window.pageYOffset;\r\n $body.addClass(PREVENT_SAFARI_SCROLLING_CLASS)\r\n }\r\n }\r\n },\r\n _renderWrapper: function() {\r\n this._positionController.styleWrapperPosition();\r\n this._renderWrapperDimensions();\r\n this._positionController.positionWrapper()\r\n },\r\n _renderWrapperDimensions: function() {\r\n var wrapperWidth;\r\n var wrapperHeight;\r\n var $container = this._positionController._$wrapperCoveredElement;\r\n if (!$container) {\r\n return\r\n }\r\n var isWindow = this._positionController.isAllWindowCoveredByWrapper();\r\n var documentElement = domAdapter.getDocumentElement();\r\n wrapperWidth = isWindow ? documentElement.clientWidth : getOuterWidth($container), wrapperHeight = isWindow ? window.innerHeight : getOuterHeight($container);\r\n this._$wrapper.css({\r\n width: wrapperWidth,\r\n height: wrapperHeight\r\n })\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 _focusTarget: function() {\r\n return this._$content\r\n },\r\n _attachKeyboardEvents: function() {\r\n this._keyboardListenerId = keyboard.on(this._$content, null, opts => this._keyboardHandler(opts))\r\n },\r\n _keyboardHandler: function(options) {\r\n var e = options.originalEvent;\r\n var $target = $(e.target);\r\n if ($target.is(this._$content) || !this.option(\"ignoreChildEvents\")) {\r\n this.callBase(...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({\r\n isDimensionChange: true\r\n })\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._observeContentResize(false);\r\n this._cleanFocusState()\r\n },\r\n _stopShowTimer() {\r\n if (this._asyncShowTimeout) {\r\n clearTimeout(this._asyncShowTimeout)\r\n }\r\n this._asyncShowTimeout = null\r\n },\r\n _dispose: function() {\r\n fx.stop(this._$content, false);\r\n clearTimeout(this._deferShowTimer);\r\n this._toggleViewPortSubscription(false);\r\n this._toggleSubscriptions(false);\r\n this._updateZIndexStackPosition(false);\r\n this._toggleTabTerminator(false);\r\n this._actions = null;\r\n this._parentsScrollSubscriptionInfo = null;\r\n this.callBase();\r\n this._toggleSafariScrolling();\r\n this.option(\"visible\") && zIndexPool.remove(this._zIndex);\r\n this._$wrapper.remove();\r\n this._$content.remove()\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 _this$_resizable;\r\n var value = args.value;\r\n if (inArray(args.name, ACTIONS) > -1) {\r\n this._initActions();\r\n return\r\n }\r\n switch (args.name) {\r\n case \"dragEnabled\":\r\n this._renderDrag();\r\n this._renderGeometry();\r\n break;\r\n case \"resizeEnabled\":\r\n this._renderResize();\r\n this._renderGeometry();\r\n break;\r\n case \"shading\":\r\n this._toggleShading(this.option(\"visible\"));\r\n this._toggleSafariScrolling();\r\n break;\r\n case \"shadingColor\":\r\n this._toggleShading(this.option(\"visible\"));\r\n break;\r\n case \"width\":\r\n case \"height\":\r\n this._renderGeometry();\r\n null === (_this$_resizable = this._resizable) || void 0 === _this$_resizable ? void 0 : _this$_resizable.option(args.name, args.value);\r\n break;\r\n case \"minWidth\":\r\n case \"maxWidth\":\r\n case \"minHeight\":\r\n case \"maxHeight\":\r\n this._renderGeometry();\r\n break;\r\n case \"position\":\r\n this._positionController.updatePosition(this.option(\"position\"));\r\n this._positionController.restorePositionOnNextRender(true);\r\n this._renderGeometry();\r\n this._toggleSafariScrolling();\r\n break;\r\n case \"visible\":\r\n this._renderVisibilityAnimate(value).done(() => {\r\n if (!this._animateDeferred) {\r\n return\r\n }\r\n this._animateDeferred.resolveWith(this)\r\n });\r\n break;\r\n case \"target\":\r\n this._positionController.updateTarget(value);\r\n this._setAnimationTarget(value);\r\n this._invalidate();\r\n break;\r\n case \"container\":\r\n this._positionController.updateContainer(value);\r\n this._invalidate();\r\n this._toggleSafariScrolling();\r\n if (this.option(\"resizeEnabled\")) {\r\n var _this$_resizable2;\r\n null === (_this$_resizable2 = this._resizable) || void 0 === _this$_resizable2 ? void 0 : _this$_resizable2.option(\"area\", this._positionController.$dragResizeContainer)\r\n }\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 \"hideOnParentScroll\":\r\n this._toggleHideOnParentsScrollSubscription(this.option(\"visible\"));\r\n break;\r\n case \"closeOnOutsideClick\":\r\n case \"propagateOutsideClick\":\r\n break;\r\n case \"animation\":\r\n this._updateResizeCallbackSkipCondition();\r\n break;\r\n case \"rtlEnabled\":\r\n this._contentAlreadyRendered = false;\r\n this.callBase(args);\r\n break;\r\n case \"_fixWrapperPosition\":\r\n this._positionController.fixWrapperPosition = value;\r\n break;\r\n case \"wrapperAttr\":\r\n this._renderWrapperAttributes();\r\n break;\r\n case \"dragAndResizeArea\":\r\n this._positionController.dragAndResizeArea = value;\r\n if (this.option(\"resizeEnabled\")) {\r\n this._resizable.option(\"area\", this._positionController.$dragResizeContainer)\r\n }\r\n this._positionController.positionContent();\r\n break;\r\n case \"dragOutsideBoundary\":\r\n this._positionController.dragOutsideBoundary = value;\r\n if (this.option(\"resizeEnabled\")) {\r\n this._resizable.option(\"area\", this._positionController.$dragResizeContainer)\r\n }\r\n break;\r\n case \"outsideDragFactor\":\r\n this._positionController.outsideDragFactor = value;\r\n break;\r\n case \"restorePosition\":\r\n this._positionController.restorePosition = args.value;\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n toggle: function(showing) {\r\n showing = void 0 === showing ? !this.option(\"visible\") : showing;\r\n var result = new Deferred;\r\n if (showing === this.option(\"visible\")) {\r\n return result.resolveWith(this, [showing]).promise()\r\n }\r\n var animateDeferred = new Deferred;\r\n this._animateDeferred = animateDeferred;\r\n this.option(\"visible\", showing);\r\n animateDeferred.promise().done(() => {\r\n delete this._animateDeferred;\r\n result.resolveWith(this, [this.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 getPublicElement(this._$content)\r\n },\r\n repaint: function() {\r\n if (this._contentAlreadyRendered) {\r\n this._positionController.restorePositionOnNextRender(true);\r\n this._renderGeometry({\r\n forceStopAnimation: true\r\n });\r\n triggerResizeEvent(this._$content)\r\n } else {\r\n this.callBase()\r\n }\r\n }\r\n});\r\nOverlay.baseZIndex = zIndex => zIndexPool.base(zIndex);\r\nregisterComponent(\"dxOverlay\", Overlay);\r\nexport default Overlay;\r\n","/**\r\n * DevExtreme (esm/ui/overlay/overlay_drag.js)\r\n * Version: 21.2.11\r\n * Build date: Tue Oct 18 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n locate,\r\n move\r\n} from \"../../animation/translator\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport {\r\n getOffset,\r\n getOuterWidth,\r\n getOuterHeight\r\n} from \"../../core/utils/size\";\r\nimport {\r\n fitIntoRange\r\n} from \"../../core/utils/math\";\r\nimport {\r\n isWindow\r\n} from \"../../core/utils/type\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n start as dragStartEvent,\r\n move as dragMoveEvent,\r\n end as dragEndEvent\r\n} from \"../../events/drag\";\r\nimport {\r\n addNamespace\r\n} from \"../../events/utils/index\";\r\nvar KEYBOARD_DRAG_STEP = 5;\r\nclass OverlayDrag {\r\n constructor(config) {\r\n this.init(config)\r\n }\r\n init(_ref) {\r\n var {\r\n dragEnabled: dragEnabled,\r\n handle: handle,\r\n draggableElement: draggableElement,\r\n positionController: positionController\r\n } = _ref;\r\n this._positionController = positionController;\r\n this._draggableElement = draggableElement;\r\n this._handle = handle;\r\n this._dragEnabled = dragEnabled;\r\n this.unsubscribe();\r\n if (!dragEnabled) {\r\n return\r\n }\r\n this.subscribe()\r\n }\r\n moveDown(e) {\r\n this._moveTo(KEYBOARD_DRAG_STEP, 0, e)\r\n }\r\n moveUp(e) {\r\n this._moveTo(-KEYBOARD_DRAG_STEP, 0, e)\r\n }\r\n moveLeft(e) {\r\n this._moveTo(0, -KEYBOARD_DRAG_STEP, e)\r\n }\r\n moveRight(e) {\r\n this._moveTo(0, KEYBOARD_DRAG_STEP, e)\r\n }\r\n subscribe() {\r\n var eventNames = this._getEventNames();\r\n eventsEngine.on(this._handle, eventNames.startEventName, e => {\r\n this._dragStartHandler(e)\r\n });\r\n eventsEngine.on(this._handle, eventNames.updateEventName, e => {\r\n this._dragUpdateHandler(e)\r\n });\r\n eventsEngine.on(this._handle, eventNames.endEventName, e => {\r\n this._dragEndHandler(e)\r\n })\r\n }\r\n unsubscribe() {\r\n var eventNames = this._getEventNames();\r\n eventsEngine.off(this._handle, eventNames.startEventName);\r\n eventsEngine.off(this._handle, eventNames.updateEventName);\r\n eventsEngine.off(this._handle, eventNames.endEventName)\r\n }\r\n _getEventNames() {\r\n var startEventName = addNamespace(dragStartEvent, \"overlayDrag\");\r\n var updateEventName = addNamespace(dragMoveEvent, \"overlayDrag\");\r\n var endEventName = addNamespace(dragEndEvent, \"overlayDrag\");\r\n return {\r\n startEventName: startEventName,\r\n updateEventName: updateEventName,\r\n endEventName: endEventName\r\n }\r\n }\r\n _dragStartHandler(e) {\r\n var allowedOffsets = this._getAllowedOffsets();\r\n this._prevOffset = {\r\n x: 0,\r\n y: 0\r\n };\r\n e.targetElements = [];\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 _dragUpdateHandler(e) {\r\n var targetOffset = {\r\n top: e.offset.y - this._prevOffset.y,\r\n left: e.offset.x - this._prevOffset.x\r\n };\r\n this._moveByOffset(targetOffset);\r\n this._prevOffset = e.offset\r\n }\r\n _dragEndHandler(event) {\r\n this._positionController.dragHandled();\r\n this._positionController.detectVisualPositionChange(event)\r\n }\r\n _moveTo(top, left, e) {\r\n if (!this._dragEnabled) {\r\n return\r\n }\r\n e.preventDefault();\r\n e.stopPropagation();\r\n var offset = this._fitOffsetIntoAllowedRange(top, left);\r\n this._moveByOffset(offset);\r\n this._dragEndHandler(e)\r\n }\r\n _fitOffsetIntoAllowedRange(top, left) {\r\n var allowedOffsets = this._getAllowedOffsets();\r\n return {\r\n top: fitIntoRange(top, -allowedOffsets.top, allowedOffsets.bottom),\r\n left: fitIntoRange(left, -allowedOffsets.left, allowedOffsets.right)\r\n }\r\n }\r\n _getContainerDimensions() {\r\n var document = domAdapter.getDocument();\r\n var container = this._positionController.$dragResizeContainer.get(0);\r\n var containerWidth = getOuterWidth(container);\r\n var containerHeight = getOuterHeight(container);\r\n if (isWindow(container)) {\r\n containerHeight = Math.max(document.body.clientHeight, containerHeight);\r\n containerWidth = Math.max(document.body.clientWidth, containerWidth)\r\n }\r\n return {\r\n width: containerWidth,\r\n height: containerHeight\r\n }\r\n }\r\n _getContainerPosition() {\r\n var container = this._positionController.$dragResizeContainer.get(0);\r\n return isWindow(container) ? {\r\n top: 0,\r\n left: 0\r\n } : getOffset(container)\r\n }\r\n _getElementPosition() {\r\n return getOffset(this._draggableElement)\r\n }\r\n _getInnerDelta() {\r\n var containerDimensions = this._getContainerDimensions();\r\n var elementDimensions = this._getElementDimensions();\r\n return {\r\n x: containerDimensions.width - elementDimensions.width,\r\n y: containerDimensions.height - elementDimensions.height\r\n }\r\n }\r\n _getOuterDelta() {\r\n var {\r\n width: width,\r\n height: height\r\n } = this._getElementDimensions();\r\n var outsideDragFactor = this._positionController.outsideDragFactor;\r\n return {\r\n x: width * outsideDragFactor,\r\n y: height * outsideDragFactor\r\n }\r\n }\r\n _getFullDelta() {\r\n var fullDelta = this._getInnerDelta();\r\n var outerDelta = this._getOuterDelta();\r\n return {\r\n x: fullDelta.x + outerDelta.x,\r\n y: fullDelta.y + outerDelta.y\r\n }\r\n }\r\n _getElementDimensions() {\r\n return {\r\n width: this._draggableElement.offsetWidth,\r\n height: this._draggableElement.offsetHeight\r\n }\r\n }\r\n _getAllowedOffsets() {\r\n var fullDelta = this._getFullDelta();\r\n var isDragAllowed = fullDelta.y >= 0 && fullDelta.x >= 0;\r\n if (!isDragAllowed) {\r\n return {\r\n top: 0,\r\n bottom: 0,\r\n left: 0,\r\n right: 0\r\n }\r\n }\r\n var elementPosition = this._getElementPosition();\r\n var containerPosition = this._getContainerPosition();\r\n var outerDelta = this._getOuterDelta();\r\n return {\r\n top: elementPosition.top - containerPosition.top + outerDelta.y,\r\n bottom: -elementPosition.top + containerPosition.top + fullDelta.y,\r\n left: elementPosition.left - containerPosition.left + outerDelta.x,\r\n right: -elementPosition.left + containerPosition.left + fullDelta.x\r\n }\r\n }\r\n _moveByOffset(offset) {\r\n var currentPosition = locate(this._draggableElement);\r\n var newPosition = {\r\n left: currentPosition.left + offset.left,\r\n top: currentPosition.top + offset.top\r\n };\r\n move(this._draggableElement, newPosition)\r\n }\r\n}\r\nexport default OverlayDrag;\r\n","/**\r\n * DevExtreme (esm/ui/resizable.js)\r\n * Version: 21.2.11\r\n * Build date: Tue Oct 18 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport {\r\n getOuterWidth,\r\n getOuterHeight,\r\n getInnerWidth,\r\n getInnerHeight,\r\n getWidth,\r\n getHeight\r\n} from \"../core/utils/size\";\r\nimport {\r\n locate,\r\n move\r\n} from \"../animation/translator\";\r\nimport registerComponent from \"../core/component_registrator\";\r\nimport DOMComponent from \"../core/dom_component\";\r\nimport $ from \"../core/renderer\";\r\nimport {\r\n inArray\r\n} from \"../core/utils/array\";\r\nimport {\r\n pairToObject\r\n} from \"../core/utils/common\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../core/utils/iterator\";\r\nimport {\r\n fitIntoRange,\r\n inRange\r\n} from \"../core/utils/math\";\r\nimport {\r\n isPlainObject,\r\n isFunction,\r\n isWindow\r\n} from \"../core/utils/type\";\r\nimport {\r\n hasWindow\r\n} from \"../core/utils/window\";\r\nimport eventsEngine from \"../events/core/events_engine\";\r\nimport {\r\n start as dragEventStart,\r\n move as dragEventMove,\r\n end as dragEventEnd\r\n} from \"../events/drag\";\r\nimport {\r\n addNamespace\r\n} from \"../events/utils/index\";\r\nimport {\r\n triggerResizeEvent\r\n} from \"../events/visibility_change\";\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 = addNamespace(dragEventStart, RESIZABLE);\r\nvar DRAGSTART_EVENT_NAME = addNamespace(dragEventMove, RESIZABLE);\r\nvar DRAGSTART_END_EVENT_NAME = addNamespace(dragEventEnd, RESIZABLE);\r\nvar SIDE_BORDER_WIDTH_STYLES = {\r\n left: \"borderLeftWidth\",\r\n top: \"borderTopWidth\",\r\n right: \"borderRightWidth\",\r\n bottom: \"borderBottomWidth\"\r\n};\r\nvar Resizable = DOMComponent.inherit({\r\n _getDefaultOptions: function() {\r\n return extend(this.callBase(), {\r\n handles: \"all\",\r\n step: \"1\",\r\n stepPrecision: \"simple\",\r\n area: void 0,\r\n minWidth: 30,\r\n maxWidth: 1 / 0,\r\n minHeight: 30,\r\n maxHeight: 1 / 0,\r\n onResizeStart: null,\r\n onResize: null,\r\n onResizeEnd: null,\r\n roundStepValue: true,\r\n _keepAspectRatio: false\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 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 each(directions, (index, handleName) => {\r\n this._renderHandle(handleName)\r\n });\r\n inArray(\"bottom\", directions) + 1 && inArray(\"right\", directions) + 1 && this._renderHandle(\"corner-bottom-right\");\r\n inArray(\"bottom\", directions) + 1 && inArray(\"left\", directions) + 1 && this._renderHandle(\"corner-bottom-left\");\r\n inArray(\"top\", directions) + 1 && inArray(\"right\", directions) + 1 && this._renderHandle(\"corner-top-right\");\r\n inArray(\"top\", directions) + 1 && inArray(\"left\", directions) + 1 && this._renderHandle(\"corner-top-left\");\r\n this._attachEventHandlers()\r\n },\r\n _renderHandle: function(handleName) {\r\n var $handle = $(\"
\").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(handleElement => {\r\n eventsEngine.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(handleElement => {\r\n eventsEngine.off(handleElement)\r\n })\r\n },\r\n _toggleEventHandlers: function(shouldAttachEvents) {\r\n shouldAttachEvents ? this._attachEventHandlers() : this._detachEventHandlers()\r\n },\r\n _getElementSize: function() {\r\n var $element = this.$element();\r\n return \"border-box\" === $element.css(\"boxSizing\") ? {\r\n width: getOuterWidth($element),\r\n height: getOuterHeight($element)\r\n } : {\r\n width: getWidth($element),\r\n height: getHeight($element)\r\n }\r\n },\r\n _dragStartHandler: function(e) {\r\n var $element = this.$element();\r\n if ($element.is(\".dx-state-disabled, .dx-state-disabled *\")) {\r\n e.cancel = true;\r\n return\r\n }\r\n this._toggleResizingClass(true);\r\n this._movingSides = this._getMovingSides(e);\r\n this._elementLocation = locate($element);\r\n this._elementSize = this._getElementSize();\r\n this._renderDragOffsets(e);\r\n this._resizeStartAction({\r\n event: e,\r\n width: this._elementSize.width,\r\n height: this._elementSize.height,\r\n handles: this._movingSides\r\n });\r\n e.targetElements = null\r\n },\r\n _toggleResizingClass: function(value) {\r\n this.$element().toggleClass(RESIZABLE_RESIZING_CLASS, value)\r\n },\r\n _renderDragOffsets: function(e) {\r\n var area = this._getArea();\r\n if (!area) {\r\n return\r\n }\r\n var $handle = $(e.target).closest(\".\" + RESIZABLE_HANDLE_CLASS);\r\n var handleWidth = getOuterWidth($handle);\r\n var handleHeight = getOuterHeight($handle);\r\n var handleOffset = $handle.offset();\r\n var areaOffset = area.offset;\r\n var scrollOffset = this._getAreaScrollOffset();\r\n e.maxLeftOffset = this._leftMaxOffset = handleOffset.left - areaOffset.left - scrollOffset.scrollX;\r\n e.maxRightOffset = this._rightMaxOffset = areaOffset.left + area.width - handleOffset.left - handleWidth + scrollOffset.scrollX;\r\n e.maxTopOffset = this._topMaxOffset = handleOffset.top - areaOffset.top - scrollOffset.scrollY;\r\n e.maxBottomOffset = this._bottomMaxOffset = areaOffset.top + area.height - handleOffset.top - handleHeight + scrollOffset.scrollY\r\n },\r\n _getBorderWidth: function($element, direction) {\r\n if (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 _proportionate: function(direction, value) {\r\n var size = this._elementSize;\r\n var factor = \"x\" === direction ? size.width / size.height : size.height / size.width;\r\n return value * factor\r\n },\r\n _getProportionalDelta: function(_ref) {\r\n var {\r\n x: x,\r\n y: y\r\n } = _ref;\r\n var proportionalY = this._proportionate(\"y\", x);\r\n if (proportionalY >= y) {\r\n return {\r\n x: x,\r\n y: proportionalY\r\n }\r\n }\r\n var proportionalX = this._proportionate(\"x\", y);\r\n if (proportionalX >= x) {\r\n return {\r\n x: proportionalX,\r\n y: y\r\n }\r\n }\r\n return {\r\n x: 0,\r\n y: 0\r\n }\r\n },\r\n _getDirectionName: function(axis) {\r\n var sides = this._movingSides;\r\n if (\"x\" === axis) {\r\n return sides.left ? \"left\" : \"right\"\r\n } else {\r\n return sides.top ? \"top\" : \"bottom\"\r\n }\r\n },\r\n _fitIntoArea: function(axis, value) {\r\n var _this$;\r\n var directionName = this._getDirectionName(axis);\r\n return Math.min(value, null !== (_this$ = this[\"_\".concat(directionName, \"MaxOffset\")]) && void 0 !== _this$ ? _this$ : 1 / 0)\r\n },\r\n _fitDeltaProportionally: function(delta) {\r\n var fittedDelta = _extends({}, delta);\r\n var size = this._elementSize;\r\n var {\r\n minWidth: minWidth,\r\n minHeight: minHeight,\r\n maxWidth: maxWidth,\r\n maxHeight: maxHeight\r\n } = this.option();\r\n var getWidth = () => size.width + fittedDelta.x;\r\n var getHeight = () => size.height + fittedDelta.y;\r\n var isInArea = axis => fittedDelta[axis] === this._fitIntoArea(axis, fittedDelta[axis]);\r\n var isFittedX = () => inRange(getWidth(), minWidth, maxWidth) && isInArea(\"x\");\r\n var isFittedY = () => inRange(getHeight(), minHeight, maxHeight) && isInArea(\"y\");\r\n if (!isFittedX()) {\r\n var x = this._fitIntoArea(\"x\", fitIntoRange(getWidth(), minWidth, maxWidth) - size.width);\r\n fittedDelta = {\r\n x: x,\r\n y: this._proportionate(\"y\", x)\r\n }\r\n }\r\n if (!isFittedY()) {\r\n var y = this._fitIntoArea(\"y\", fitIntoRange(getHeight(), minHeight, maxHeight) - size.height);\r\n fittedDelta = {\r\n x: this._proportionate(\"x\", y),\r\n y: y\r\n }\r\n }\r\n return isFittedX() && isFittedY() ? fittedDelta : {\r\n x: 0,\r\n y: 0\r\n }\r\n },\r\n _fitDelta: function(_ref2) {\r\n var {\r\n x: x,\r\n y: y\r\n } = _ref2;\r\n var size = this._elementSize;\r\n var {\r\n minWidth: minWidth,\r\n minHeight: minHeight,\r\n maxWidth: maxWidth,\r\n maxHeight: maxHeight\r\n } = this.option();\r\n return {\r\n x: fitIntoRange(size.width + x, minWidth, maxWidth) - size.width,\r\n y: fitIntoRange(size.height + y, minHeight, maxHeight) - size.height\r\n }\r\n },\r\n _getDeltaByOffset: function(offset) {\r\n var sides = this._movingSides;\r\n var shouldKeepAspectRatio = this._isCornerHandler(sides) && this.option(\"_keepAspectRatio\");\r\n var delta = {\r\n x: offset.x * (sides.left ? -1 : 1),\r\n y: offset.y * (sides.top ? -1 : 1)\r\n };\r\n if (shouldKeepAspectRatio) {\r\n var proportionalDelta = this._getProportionalDelta(delta);\r\n var fittedProportionalDelta = this._fitDeltaProportionally(proportionalDelta);\r\n delta = fittedProportionalDelta\r\n } else {\r\n var fittedDelta = this._fitDelta(delta);\r\n var roundedFittedDelta = this._roundByStep(fittedDelta);\r\n delta = roundedFittedDelta\r\n }\r\n return delta\r\n },\r\n _updatePosition: function(delta, _ref3) {\r\n var {\r\n width: width,\r\n height: height\r\n } = _ref3;\r\n var location = this._elementLocation;\r\n var sides = this._movingSides;\r\n var $element = this.$element();\r\n var elementRect = this._getElementSize();\r\n var offsetTop = delta.y * (sides.top ? -1 : 1) - ((elementRect.height || height) - height);\r\n var offsetLeft = delta.x * (sides.left ? -1 : 1) - ((elementRect.width || width) - width);\r\n move($element, {\r\n top: location.top + (sides.top ? offsetTop : 0),\r\n left: location.left + (sides.left ? offsetLeft : 0)\r\n })\r\n },\r\n _dragHandler: function(e) {\r\n var offset = this._getOffset(e);\r\n var delta = this._getDeltaByOffset(offset);\r\n var dimensions = this._updateDimensions(delta);\r\n this._updatePosition(delta, dimensions);\r\n this._triggerResizeAction(e, dimensions)\r\n },\r\n _updateDimensions: function(delta) {\r\n var isAbsoluteSize = size => \"px\" === size.substring(size.length - 2);\r\n var isStepPrecisionStrict = \"strict\" === this.option(\"stepPrecision\");\r\n var size = this._elementSize;\r\n var width = size.width + delta.x;\r\n var height = size.height + delta.y;\r\n var elementStyle = this.$element().get(0).style;\r\n var shouldRenderWidth = delta.x || isStepPrecisionStrict || isAbsoluteSize(elementStyle.width);\r\n var shouldRenderHeight = delta.y || isStepPrecisionStrict || isAbsoluteSize(elementStyle.height);\r\n if (shouldRenderWidth) {\r\n this.option({\r\n width: width\r\n })\r\n }\r\n if (shouldRenderHeight) {\r\n this.option({\r\n height: height\r\n })\r\n }\r\n return {\r\n width: shouldRenderWidth ? width : size.width,\r\n height: shouldRenderHeight ? height : size.height\r\n }\r\n },\r\n _triggerResizeAction: function(e, _ref4) {\r\n var {\r\n width: width,\r\n height: height\r\n } = _ref4;\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 triggerResizeEvent(this.$element())\r\n },\r\n _isCornerHandler: sides => 0 === Object.values(sides).reduce((xor, value) => xor ^ value, 0),\r\n _getOffset: function(e) {\r\n var offset = e.offset;\r\n var sides = this._movingSides;\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 offset\r\n },\r\n _roundByStep: function(delta) {\r\n return \"strict\" === this.option(\"stepPrecision\") ? this._roundStrict(delta) : this._roundNotStrict(delta)\r\n },\r\n _getSteps: function() {\r\n return pairToObject(this.option(\"step\"), !this.option(\"roundStepValue\"))\r\n },\r\n _roundNotStrict: function(delta) {\r\n var steps = this._getSteps();\r\n return {\r\n x: delta.x - delta.x % steps.h,\r\n y: delta.y - delta.y % steps.v\r\n }\r\n },\r\n _roundStrict: function(delta) {\r\n var sides = this._movingSides;\r\n var offset = {\r\n x: delta.x * (sides.left ? -1 : 1),\r\n y: delta.y * (sides.top ? -1 : 1)\r\n };\r\n var steps = this._getSteps();\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 || (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 = (steps, offset) => (1 + .2 * sign(offset)) % 1 * steps;\r\n var isSmallOffset = (offset, steps) => Math.abs(offset) < .2 * steps;\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 var roundedOffset_x = (sides.left || sides.right) && !isSmallOffset(offset.x, steps.h) ? newOffsetX : 0,\r\n roundedOffset_y = (sides.top || sides.bottom) && !isSmallOffset(offset.y, steps.v) ? newOffsetY : 0;\r\n return {\r\n x: roundedOffset_x * (sides.left ? -1 : 1),\r\n y: roundedOffset_y * (sides.top ? -1 : 1)\r\n }\r\n },\r\n _getMovingSides: function(e) {\r\n var $target = $(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 (isFunction(area)) {\r\n area = area.call(this)\r\n }\r\n if (isPlainObject(area)) {\r\n return this._getAreaFromObject(area)\r\n }\r\n return this._getAreaFromElement(area)\r\n },\r\n _getAreaScrollOffset: function() {\r\n var area = this.option(\"area\");\r\n var isElement = !isFunction(area) && !isPlainObject(area);\r\n var scrollOffset = {\r\n scrollY: 0,\r\n scrollX: 0\r\n };\r\n if (isElement) {\r\n var areaElement = $(area)[0];\r\n if (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 = $(area);\r\n var result;\r\n if ($area.length) {\r\n result = {\r\n width: getInnerWidth($area),\r\n height: getInnerHeight($area),\r\n offset: extend({\r\n top: 0,\r\n left: 0\r\n }, 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 -= getOuterWidth(this.$element()) - getInnerWidth(this.$element());\r\n result.height -= getOuterHeight(this.$element()) - getInnerHeight(this.$element())\r\n },\r\n _dragEndHandler: function(e) {\r\n var $element = this.$element();\r\n this._resizeEndAction({\r\n event: e,\r\n width: getOuterWidth($element),\r\n height: getOuterHeight($element),\r\n handles: this._movingSides\r\n });\r\n this._toggleResizingClass(false)\r\n },\r\n _renderWidth: function(width) {\r\n this.option(\"width\", fitIntoRange(width, this.option(\"minWidth\"), this.option(\"maxWidth\")))\r\n },\r\n _renderHeight: function(height) {\r\n this.option(\"height\", fitIntoRange(height, this.option(\"minHeight\"), this.option(\"maxHeight\")))\r\n },\r\n _optionChanged: function(args) {\r\n switch (args.name) {\r\n case \"disabled\":\r\n 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 hasWindow() && this._renderWidth(getOuterWidth(this.$element()));\r\n break;\r\n case \"minHeight\":\r\n case \"maxHeight\":\r\n hasWindow() && this._renderHeight(getOuterHeight(this.$element()));\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 case \"_keepAspectRatio\":\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\nregisterComponent(RESIZABLE, Resizable);\r\nexport default Resizable;\r\n","/**\r\n * DevExtreme (esm/ui/widget/swatch_container.js)\r\n * Version: 21.2.11\r\n * Build date: Tue Oct 18 2022\r\n *\r\n * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n value\r\n} from \"../../core/utils/view_port\";\r\nvar SWATCH_CONTAINER_CLASS_PREFIX = \"dx-swatch-\";\r\nvar getSwatchContainer = element => {\r\n var $element = $(element);\r\n var swatchContainer = $element.closest('[class^=\"'.concat(SWATCH_CONTAINER_CLASS_PREFIX, '\"], [class*=\" ').concat(SWATCH_CONTAINER_CLASS_PREFIX, '\"]'));\r\n var viewport = 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 = $(\"
\").addClass(swatchClass).appendTo(viewport)\r\n }\r\n return viewportSwatchContainer\r\n};\r\nexport default {\r\n getSwatchContainer: getSwatchContainer\r\n};\r\n"],"names":["window","ResizeObserverMock","observe","unobserve","disconnect","resizeObserverSingleton","constructor","ResizeObserver","this","_callbacksMap","Map","_observer","entries","forEach","entry","_this$_callbacksMap$g","get","target","element","callback","set","delete","clear","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","data","push","add","handleObj","index","updateEventsCounter","type","selector","event","value","indexOf","eventsCount","Math","max","remove","teardown","splice","DragEmitter","ctor","callBase","direction","_init","e","_initEvent","_start","_fireEvent","_maxLeftOffset","maxLeftOffset","_maxRightOffset","maxRightOffset","_maxTopOffset","maxTopOffset","_maxBottomOffset","maxBottomOffset","dropTargets","targetElements","_dropTargets","_move","eventData","dragOffset","_calculateOffset","offset","_processDropTargets","_cancelPreventDefault","preventDefault","x","_calculateXOffset","y","_calculateYOffset","_startEventData","_fitOffset","minOffset","maxOffset","min","_findDropTarget","_currentDropTarget","_fireDropTargetEvent","eventName","originalEvent","draggingElement","_$element","result","that","_","_checkDropTargetActive","$element","dropTargetIndex","dropTargetSelectors","$delegatedTargets","$target","filter","find","join","delegatedTarget","$delegatedTarget","_checkDropTarget","getItemConfig","active","activeTarget","config","$prevTarget","dropTargetConfig","targetPosition","itemPositionFunc","pageX","left","pageY","top","targetSize","itemSizeFunc","width","getBoundingClientRect","height","getItemSize","length","closest","checkDropTarget","_end","emitter","events","ready","abs","TOUCH_BOUNDARY","setGestureCover","isDesktop","deviceType","$cover","addClass","css","appendTo","toggle","cursor","GestureEmitter","gesture","configure","getElement","immediate","allowInterruptionByMouseWheel","_stage","getDirection","_cancel","apply","arguments","_toggleGestureCover","start","_needSkipEvent","_startEvent","_setupImmediateTimer","clearTimeout","_immediateTimer","_immediateAccepted","setTimeout","bind","move","_directionConfirmed","_resetActiveElement","_clearSelection","_adjustStartEvent","_requestAccept","_forgetAccept","touchBoundary","_getTouchBoundary","delta","deltaX","deltaY","horizontalMove","_validateMove","verticalMove","mainAxis","crossAxis","platform","_toggleGestureCoverImpl","gestureCoverStrategy","gestureCover","end","_stop","dispose","initialTouchBoundary","newBoundary","OVERLAY_POSITION_ALIASES","my","at","bottom","right","center","OVERLAY_DEFAULT_BOUNDARY_OFFSET","h","v","OverlayPositionController","_ref","position","container","$root","$content","$wrapper","onPositioned","onVisualPositionChanged","dragOutsideBoundary","dragAndResizeArea","outsideDragFactor","restorePosition","_fixWrapperPosition","_props","_$root","_$content","_$wrapper","_$markupContainer","_$wrapperCoveredElement","_shouldRenderContentInitialPosition","_visualPosition","_initialPosition","_previousVisualPosition","_$dragResizeContainer","_outsideDragFactor","updateContainer","updatePosition","_updateDragResizeContainer","_updateOutsideDragFactor","$container","$dragResizeContainer","fixWrapperPosition","styleWrapperPosition","restorePositionOnNextRender","openingHandled","shouldRestorePosition","dragHandled","resizeHandled","updateTarget","positionProp","targetProp","_position","_normalizePosition","_updateWrapperCoveredElement","containerProp","first","parent","detectVisualPositionChange","_updateVisualPositionValue","_raisePositionedEvents","positionContent","_renderContentInitialPosition","positionWrapper","of","isAllWindowCoveredByWrapper","positionStyle","_renderBoundaryOffset","wrapperOverflow","resultPosition","previousPosition","newPosition","_getOutsideDragFactor","_getDragResizeContainer","_getWrapperCoveredElement","_this$_position","boundaryOffset","concat","defaultPositionConfig","_positionToObject","callbacks","hideCallback","indexOfCallback","fire","pop","hasCallback","baseZIndex","zIndexStack","zIndex","viewPortChanged","INNER_OVERLAY_CLASS","INVISIBLE_STATE_CLASS","ACTIONS","OVERLAY_STACK","PREVENT_SAFARI_SCROLLING_CLASS","pointer","i","_proxiedDocumentDownHandler","Overlay","_supportedKeys","extend","escape","hide","upArrow","_this$_drag","_drag","moveUp","downArrow","_this$_drag2","moveDown","leftArrow","_this$_drag3","moveLeft","rightArrow","_this$_drag4","moveRight","_getDefaultOptions","activeStateEnabled","visible","deferRendering","shading","shadingColor","wrapperAttr","minWidth","maxWidth","minHeight","maxHeight","animation","show","duration","from","scale","to","opacity","closeOnOutsideClick","copyRootClassesToWrapper","_ignoreCopyRootClassesToWrapperDeprecation","_ignoreElementAttrDeprecation","onShowing","onShown","onHiding","onHidden","contentTemplate","dragEnabled","resizeEnabled","onResizeStart","onResize","onResizeEnd","innerOverlay","hideTopOverlayHandler","hideOnParentScroll","propagateOutsideClick","ignoreChildEvents","_checkParentVisibility","_defaultOptionsRules","device","options","_setOptionsByReference","_optionsByReference","_eventBindingTarget","_logDeprecatedOptionWarning","since","message","elementAttr","_initActions","_initCloseOnOutsideClickHandler","_initTabTerminatorHandler","_customWrapperClass","_initInnerOverlayClass","option","attr","_toggleViewPortSubscription","_initHideTopOverlayHandler","_parentsScrollSubscriptionInfo","handler","_hideOnParentsScrollHandler","_updateResizeCallbackSkipCondition","warnPositionAsFunction","errors","_initOptions","_setAnimationTarget","toggleClass","path","pathParts","split","shift","_hideTopOverlayHandler","_actions","action","_createActionByOption","excludeValidators","_this","_documentDownHandler","_areContentDimensionsRendered","_entry$contentBoxSize","_this$_renderedDimens3","_this$_renderedDimens4","_this$_renderedDimens","_this$_renderedDimens2","contentBox","contentBoxSize","parseInt","inlineSize","_renderedDimensions","blockSize","contentRect","_contentResizeHandler","_shouldSkipContentResize","is","_renderGeometry","shouldOnlyReposition","doesShowAnimationChangeDimensions","_doesShowAnimationChangeDimensions","_showAnimationProcessing","some","prop","_animation$show","_observeContentResize","shouldObserve","contentElement","_initMarkup","_renderWrapperAttributes","_initPositionController","_stopAnimation","isAttachedTarget","document","isInnerOverlay","_outsideClickHandler","_getAnonymousTemplateName","_initTemplates","_templateManager","addDefaultTemplates","content","_isTopOverlay","overlayStack","_overlayStack","tabbableElements","_findTabbableBounds","last","_zIndexInitValue","_this2","_viewPortChangeHandle","_viewPortChangeHandler","_positionController","_refresh","attributes","classNames","class","removeClass","_renderVisibilityAnimate","_show","_hide","_getAnimationConfig","_getOptionValue","_animateShowing","_this$_getAnimationCo","_showAnimation$start","_showAnimation$comple","_this3","showAnimation","_normalizeAnimation","startShowAnimation","completeShowAnimation","complete","_animate","_isAnimationPaused","_focusTarget","_len","args","Array","_key","call","_isHidden","_toggleSafariScrolling","_showingDeferred","resolve","_len2","_key2","_parentHidden","_isParentHidden","done","_currentVisible","promise","_isHidingActionCanceled","_toggleVisibility","_updateZIndexStackPosition","_renderContent","showingArgs","cancel","_isShowingActionCanceled","_moveFromContainer","_renderVisibility","_stopShowTimer","_asyncShowTimeout","skipElementInitialStyles","_animateHiding","_this$_getAnimationCo2","_hideAnimation$start","_hideAnimation$comple","_this4","hideAnimation","startHideAnimation","completeHideAnimation","_this4$_actions","_len3","_key3","_hideAnimationProcessing","_hidingDeferred","_len4","_key4","hidingArgs","_forceFocusLost","_toggleShading","_toggleSubscriptions","activeElement","completeCallback","startCallback","fx","_moveToContainer","pushToStack","_zIndex","baseIndex","_toggleTabTerminator","_this5","_proxiedTabTerminatorHandler","_tabKeyHandler","enabled","NAME","$elements","elementsCount","eq","$firstTabbable","$lastTabbable","isTabOnLast","shiftKey","isShiftTabOnFirst","isEmptyTabList","isOutsideTarget","$focusElement","_toggleHideTopOverlayCallback","_toggleHideOnParentsScrollSubscription","subscribe","needSubscribe","_this$_parentsScrollS","scrollEvent","prevTargets","closeOnScroll","$parents","_hideOnParentScrollTarget","parents","devices","closeHandled","_render","_appendContentToElement","shouldDeferRendering","_contentAlreadyRendered","$parent","isHidden","each","contains","_renderContentImpl","whenContentRendered","contentTemplateOption","_getTemplate","transclude","anonymousTemplateName","render","noModel","onRendered","_renderDrag","_renderResize","_renderScrollTerminator","_getPositionControllerConfig","$dragTarget","_getDragTarget","handle","draggableElement","positionController","init","_draggableElement","_handle","_dragEnabled","unsubscribe","_moveTo","eventNames","_getEventNames","startEventName","_dragStartHandler","updateEventName","_dragUpdateHandler","endEventName","_dragEndHandler","drag","allowedOffsets","_getAllowedOffsets","_prevOffset","targetOffset","_moveByOffset","stopPropagation","_fitOffsetIntoAllowedRange","_getContainerDimensions","containerWidth","containerHeight","body","clientHeight","clientWidth","_getContainerPosition","_getElementPosition","_getInnerDelta","containerDimensions","elementDimensions","_getElementDimensions","_getOuterDelta","_getFullDelta","fullDelta","outerDelta","offsetWidth","offsetHeight","elementPosition","containerPosition","currentPosition","_resizable","_createComponent","handles","_resizeEndHandler","area","_setOptionWithoutOptionChange","_cacheDimensions","$scrollTerminator","terminatorEventName","validate","isNative","isWheel","isMouseMove","isScrollByWheel","cancelable","_detachWrapperToContainer","detach","_attachWrapperToContainer","renderContainer","useResizeObserver","shouldRepeatAnimation","forceStopAnimation","_renderGeometryImpl","isDimensionChange","_renderWrapper","_renderDimensions","_renderPosition","_isAllWindowCovered","$body","isIosSafari","browser","isAllWindowCovered","isScrollingPrevented","hasClass","shouldPreventScrolling","shouldEnableScrolling","_disposed","scrollTo","_cachedBodyScrollTop","pageYOffset","_renderWrapperDimensions","wrapperWidth","wrapperHeight","isWindow","documentElement","innerHeight","_attachKeyboardEvents","_keyboardListenerId","opts","_keyboardHandler","_isVisible","_visibilityChanged","_dimensionChanged","_clean","empty","_cleanFocusState","_dispose","_deferShowTimer","_toggleRTLDirection","rtl","_optionChanged","_this$_resizable","name","_animateDeferred","resolveWith","_invalidate","_this$_resizable2","showing","animateDeferred","repaint","ZIndex","RESIZABLE","RESIZABLE_HANDLE_CLASS","RESIZABLE_HANDLE_CORNER_CLASS","DRAGSTART_START_EVENT_NAME","DRAGSTART_EVENT_NAME","DRAGSTART_END_EVENT_NAME","SIDE_BORDER_WIDTH_STYLES","Resizable","step","stepPrecision","roundStepValue","_keepAspectRatio","_renderHandles","_renderActions","_resizeStartAction","_resizeEndAction","_resizeAction","_handles","directions","handleName","_renderHandle","_attachEventHandlers","$handle","handlers","_dragHandler","handleElement","_detachEventHandlers","_toggleEventHandlers","shouldAttachEvents","_getElementSize","_toggleResizingClass","_movingSides","_getMovingSides","_elementLocation","_elementSize","_renderDragOffsets","_getArea","handleWidth","handleHeight","handleOffset","areaOffset","scrollOffset","_getAreaScrollOffset","_leftMaxOffset","scrollX","_rightMaxOffset","_topMaxOffset","scrollY","_bottomMaxOffset","_getBorderWidth","borderWidth","_proportionate","size","_getProportionalDelta","proportionalY","proportionalX","_getDirectionName","axis","sides","_fitIntoArea","_this$","directionName","_fitDeltaProportionally","fittedDelta","getWidth","getHeight","isInArea","isFittedX","isFittedY","_fitDelta","_ref2","_getDeltaByOffset","shouldKeepAspectRatio","_isCornerHandler","proportionalDelta","_roundByStep","_updatePosition","_ref3","location","elementRect","offsetTop","offsetLeft","_getOffset","dimensions","_updateDimensions","_triggerResizeAction","isAbsoluteSize","substring","isStepPrecisionStrict","elementStyle","style","shouldRenderWidth","shouldRenderHeight","_ref4","Object","values","reduce","xor","_roundStrict","_roundNotStrict","_getSteps","steps","xPos","yPos","newXShift","newYShift","sign","isNaN","separatorOffset","isSmallOffset","newOffsetX","newOffsetY","roundedOffset_x","roundedOffset_y","hasCornerTopLeftClass","hasCornerTopRightClass","hasCornerBottomLeftClass","hasCornerBottomRightClass","_getAreaFromObject","_getAreaFromElement","areaElement","pageXOffset","_correctAreaGeometry","$area","areaBorderLeft","areaBorderTop","_renderWidth","_renderHeight","_useTemplates","SWATCH_CONTAINER_CLASS_PREFIX","getSwatchContainer","swatchContainer","viewport","swatchClassRegex","RegExp","swatchClass","className","match","viewportSwatchContainer","children"],"sourceRoot":""}