{"version":3,"sources":["node_modules/@arcgis/core/views/input/keys.js","node_modules/@arcgis/core/views/input/EventMatch.js","node_modules/@arcgis/core/views/input/InputHandler.js","node_modules/@arcgis/core/views/input/handlers/LatestPointer.js","node_modules/@arcgis/core/views/input/handlers/MultiTouch.js","node_modules/@arcgis/core/views/support/PropertiesPool.js","node_modules/@arcgis/core/views/input/InputManager.js"],"sourcesContent":["/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport has from \"../../core/has.js\";\nconst t = has(\"mac\") ? \"Meta\" : \"Control\",\n o = new Set([\"Alt\", \"Control\", \"Meta\", \"Shift\", \"Ctrl\", \"Primary\"]),\n r = t => o.has(t);\nexport { r as isSystemModifier, t as primaryKey };","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nclass e {\n constructor(e, t = []) {\n this.eventType = e, this.keyModifiers = t;\n }\n matches(e) {\n if (e.type !== this.eventType) return !1;\n if (0 === this.keyModifiers.length) return !0;\n const t = e.modifiers;\n for (const i of this.keyModifiers) if (!t.has(i)) return !1;\n return !0;\n }\n}\nexport { e as EventMatch };","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport \"../../core/has.js\";\nimport \"../../core/Logger.js\";\nimport { EventMatch as e } from \"./EventMatch.js\";\nclass t {\n constructor(e) {\n this._manager = null, this._incoming = {}, this._outgoing = {}, this._incomingEventMatches = null, this._incomingEventTypes = null, this._outgoingEventTypes = null, this._hasSideEffects = e;\n }\n get incomingEventMatches() {\n if (!this._incomingEventMatches) {\n this._incomingEventMatches = [];\n for (const e in this._incoming) {\n const t = this._incoming[e];\n for (const e of t) this._incomingEventMatches.push(e.match);\n }\n }\n return this._incomingEventMatches;\n }\n get incomingEventTypes() {\n return this._incomingEventTypes || (this._incomingEventTypes = this.incomingEventMatches.map(e => e.eventType)), this._incomingEventTypes;\n }\n get outgoingEventTypes() {\n return this._outgoingEventTypes || (this._outgoingEventTypes = Object.keys(this._outgoing)), this._outgoingEventTypes;\n }\n get hasSideEffects() {\n return this._hasSideEffects;\n }\n get hasPendingInputs() {\n return !1;\n }\n onInstall(e) {\n this._manager || (e.setEventCallback(e => this._handleEvent(e)), e.setUninstallCallback(() => this._onUninstall()), this._manager = e);\n }\n onUninstall() {}\n registerIncoming(t, i, s) {\n let o;\n \"function\" == typeof i ? (s = i, o = []) : o = i || [];\n const a = \"string\" == typeof t ? new e(t, o) : t,\n h = () => {\n this._incomingEventTypes = null, this._incomingEventMatches = null;\n },\n r = e => {\n const t = this._incoming[e.match.eventType];\n if (t) {\n const n = t.indexOf(e);\n t.splice(n, 1), h(), this._manager && this._manager.updateDependencies();\n }\n },\n g = new n(a, s, {\n onPause: r,\n onRemove: r,\n onResume: e => {\n const t = this._incoming[e.match.eventType];\n t && !t.includes(e) && (t.push(e), h(), this._manager && this._manager.updateDependencies());\n }\n });\n let c = this._incoming[a.eventType];\n return c || (c = [], this._incoming[a.eventType] = c), c.push(g), h(), this._manager && this._manager.updateDependencies(), g;\n }\n registerOutgoing(e) {\n if (this._outgoing[e]) throw new Error(\"There is already a callback registered for this outgoing InputEvent: \" + e);\n const t = new i(e, {\n onEmit: (e, t, n, i) => {\n this._manager?.emit(e.eventType, t, n, i);\n },\n onRemove: e => {\n delete this._outgoing[e.eventType], this._manager?.updateDependencies();\n }\n });\n return this._outgoing[e] = t, this._outgoingEventTypes = null, this._manager && this._manager.updateDependencies(), t;\n }\n startCapturingPointer(e) {\n this._manager?.setPointerCapture(e, !0);\n }\n stopCapturingPointer(e) {\n this._manager?.setPointerCapture(e, !1);\n }\n refreshHasPendingInputs() {\n this._manager?.refreshHasPendingInputs();\n }\n _onUninstall() {\n this._manager && (this.onUninstall(), this._manager = null);\n }\n _handleEvent(e) {\n const t = this._incoming[e.type];\n if (t) for (const n of t) if (n.match.matches(e) && (n.callback?.(e), e.shouldStopPropagation())) break;\n }\n}\nclass n {\n constructor(e, t, n) {\n this.match = e, this._callback = t, this._handler = n;\n }\n pause() {\n this._handler.onPause(this);\n }\n resume() {\n this._handler.onResume(this);\n }\n remove() {\n this._handler.onRemove(this);\n }\n get callback() {\n return this._callback;\n }\n}\nclass i {\n constructor(e, t) {\n this.eventType = e, this._removed = !1, this._handler = t;\n }\n emit(e, t, n) {\n this._removed || this._handler.onEmit(this, e, t, n);\n }\n remove() {\n this._removed = !0, this._handler.onRemove(this);\n }\n}\nexport { t as InputHandler };","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport { InputHandler as t } from \"../InputHandler.js\";\nclass s extends t {\n constructor(t) {\n super(!0), this._onChange = t, this._value = \"mouse\", this._x = null, this._y = null, this.registerIncoming(\"pointer-move\", t => this._update(t.data));\n }\n _update(t) {\n const s = \"touch\" === t.native.pointerType ? \"touch\" : \"mouse\",\n {\n x: e,\n y: i\n } = t;\n s === this._value && this._x === e && this._y === i || (this._value = s, this._x = e, this._y = i, this._onChange(s, e, i));\n }\n}\nexport { s as LatestPointer };","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport { signal as t } from \"../../../core/signal.js\";\nimport { InputHandler as e } from \"../InputHandler.js\";\nclass i extends e {\n get multiTouchActive() {\n return this._multiTouchActive.value;\n }\n constructor() {\n super(!0), this._activeTouchPointerIds = new Set(), this._multiTouchActive = t(!1), this._onPointerAdd = ({\n data: t\n }) => {\n \"touch\" === t.pointerType && (this._activeTouchPointerIds.add(t.native.pointerId), this._update());\n }, this._onPointerRemove = ({\n data: t\n }) => {\n \"touch\" === t.pointerType && (this._activeTouchPointerIds.delete(t.native.pointerId), this._update());\n }, this.registerIncoming(\"pointer-down\", this._onPointerAdd), this.registerIncoming(\"pointer-up\", this._onPointerRemove), this.registerIncoming(\"pointer-capture-lost\", this._onPointerRemove), this.registerIncoming(\"pointer-cancel\", this._onPointerRemove);\n }\n _update() {\n this._multiTouchActive.value = this._activeTouchPointerIds.size > 1;\n }\n}\nexport { i as MultiTouch };","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport { ReentrantObjectPool as e } from \"../../core/ReentrantObjectPool.js\";\nimport { afterDispatch as t, isValueInUse as r } from \"../../core/accessorSupport/watch.js\";\nclass o {\n constructor(r, o) {\n this._owner = o, this._properties = {}, this._afterDispatchHandle = null;\n for (const t in r) {\n const o = r[t],\n s = new e(o, void 0, void 0, 2, 2);\n this._properties[t] = {\n pool: s,\n acquired: []\n };\n }\n this._afterDispatchHandle = t(() => this._release());\n }\n destroy() {\n this._afterDispatchHandle && (this._afterDispatchHandle.remove(), this._afterDispatchHandle = null);\n for (const e in this._properties) {\n const t = this._properties[e];\n for (const e of t.acquired) r(e) || t.pool.release(e);\n t.pool.destroy(), t.pool = null, t.acquired = null;\n }\n this._properties = null, this._owner = null;\n }\n get(e) {\n const t = this._owner._get(e),\n r = this._properties[e];\n let o = r.pool.acquire();\n for (r.acquired.push(o); o === t;) r.acquired.push(o), o = r.pool.acquire();\n return o;\n }\n _release() {\n for (const e in this._properties) {\n const t = this._properties[e];\n let o = 0;\n for (const e of t.acquired) r(e) ? t.acquired[o++] = e : t.pool.release(e);\n t.acquired.length = o;\n }\n }\n}\nexport { o as PropertiesPool };","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport { _ as e } from \"../../chunks/tslib.es6.js\";\nimport t from \"../../core/Accessor.js\";\nimport \"../../core/has.js\";\nimport i from \"../../core/Logger.js\";\nimport r from \"../../core/Queue.js\";\nimport { property as n } from \"../../core/accessorSupport/decorators/property.js\";\nimport \"../../core/RandomLCG.js\";\nimport { subclass as s } from \"../../core/accessorSupport/decorators/subclass.js\";\nimport { primaryKey as o, isSystemModifier as a } from \"./keys.js\";\nimport { LatestPointer as l } from \"./handlers/LatestPointer.js\";\nimport { MultiTouch as h } from \"./handlers/MultiTouch.js\";\nimport { PropertiesPool as p } from \"../support/PropertiesPool.js\";\nlet d = class extends t {\n constructor(e) {\n super(e), this._pointerCaptures = new Map(), this._nameToGroup = {}, this._handlers = [], this._handlersPriority = [], this._currentPropagation = null, this._updateDependenciesAfterPropagation = !1, this._sourceEvents = new Set(), this._keyModifiers = new Set(), this._activeKeyModifiers = new Set(), this._stoppedPropagationEventIds = new Set(), this.primaryKey = o, this._latestPointerType = \"mouse\", this._propertiesPool = new p({\n latestPointerLocation: P\n }, this), this.latestPointerLocation = null, this._paused = !1, this.test = {\n timestamp: void 0,\n hasCurrentPropagation: () => !!this._currentPropagation\n };\n }\n initialize() {\n this.eventSource.onEventReceived = this._onEventReceived.bind(this), this._installRecognizers();\n }\n destroy() {\n const e = Object.keys(this._nameToGroup);\n for (const t of e) this.uninstallHandlers(t);\n this.eventSource.destroy(), this._currentPropagation = null, this._propertiesPool.destroy();\n }\n get hasPendingInputs() {\n return this._handlers.some(e => e.handler.hasPendingInputs);\n }\n get latestPointerType() {\n return this._latestPointerType;\n }\n get multiTouchActive() {\n return this._multiTouchHandler.multiTouchActive;\n }\n get updating() {\n return this.hasPendingInputs || this._paused;\n }\n installHandlers(e, t, i = _.INTERNAL) {\n if (this._nameToGroup[e]) return;\n if (0 === t.length) return;\n const r = {\n name: e,\n handlers: t.map(e => ({\n handler: e,\n active: !0,\n removed: !1,\n priorityIndex: 0,\n groupPriority: i,\n eventCallback: null,\n uninstallCallback: null\n }))\n };\n this._nameToGroup[e] = r;\n for (let n = r.handlers.length - 1; n >= 0; n--) {\n const e = r.handlers[n];\n this._handlers.push(e), e.handler.onInstall({\n updateDependencies: () => {\n this.updateDependencies();\n },\n emit: (t, i, r, n, s) => {\n this._emitInputEvent(e.priorityIndex + 1, t, i, r, s, n);\n },\n setPointerCapture: (t, i) => {\n this._setPointerCapture(r, e, t, i);\n },\n setEventCallback: t => {\n e.eventCallback = t;\n },\n setUninstallCallback: t => {\n e.uninstallCallback = t;\n },\n refreshHasPendingInputs: () => {\n this.notifyChange(\"hasPendingInputs\");\n }\n });\n }\n this.updateDependencies();\n }\n uninstallHandlers(e) {\n const t = this._nameToGroup[e];\n t ? (t.handlers.forEach(e => {\n e.removed = !0, e.uninstallCallback?.();\n }), delete this._nameToGroup[e], this._currentPropagation ? this._currentPropagation.needsHandlerGarbageCollect = !0 : this._garbageCollectRemovedHandlers()) : i.getLogger(this).error(\"There is no InputHandler group registered under the name `\" + e + \"`\");\n }\n hasHandlers(e) {\n return void 0 !== this._nameToGroup[e];\n }\n isModifierKeyDown(e) {\n return this._activeKeyModifiers.has(e);\n }\n updateDependencies() {\n if (this._currentPropagation) return void (this._updateDependenciesAfterPropagation = !0);\n this._updateDependenciesAfterPropagation = !1;\n const e = new Set(),\n t = new Set();\n this._handlersPriority = [];\n for (let i = this._handlers.length - 1; i >= 0; i--) {\n const e = this._handlers[i];\n e.priorityIndex = i, this._handlersPriority.push(e);\n }\n this._handlersPriority = this._sortHandlersPriority(this._handlersPriority);\n for (let i = this._handlersPriority.length - 1; i >= 0; i--) {\n const r = this._handlersPriority[i];\n r.priorityIndex = i;\n let n = r.handler.hasSideEffects;\n if (!n) for (const t of r.handler.outgoingEventTypes) if (e.has(t)) {\n n = !0;\n break;\n }\n if (n) for (const i of r.handler.incomingEventMatches) {\n e.add(i.eventType);\n for (const e of i.keyModifiers) a(e) || t.add(e);\n }\n r.active = n;\n }\n this._sourceEvents = e, this._keyModifiers = t, this._pointerCaptures.size > 0 && this._sourceEvents.add(\"pointer-capture-lost\"), this._keyModifiers.size > 0 && (this._sourceEvents.add(\"key-down\"), this._sourceEvents.add(\"key-up\")), this.eventSource && (this.eventSource.activeEvents = this._sourceEvents);\n }\n _setLatestPointer(e, t, i) {\n this._latestPointerType = e;\n const r = this._get(\"latestPointerLocation\");\n if (null == r || r.x !== t || r.y !== i) {\n const e = this._propertiesPool.get(\"latestPointerLocation\");\n e.x = t, e.y = i, this._set(\"latestPointerLocation\", e);\n }\n }\n _onEventReceived(e, t) {\n if (\"pointer-capture-lost\" === e) {\n const e = t;\n this._pointerCaptures.delete(e.native.pointerId);\n }\n this._updateKeyModifiers(e, t);\n const i = null != this.test.timestamp ? this.test.timestamp : t.native ? t.native.timestamp : void 0,\n r = t.native ? t.native.cancelable : void 0;\n this._emitInputEventFromSource(e, t, i, r);\n }\n _updateKeyModifiers(e, t) {\n if (!t) return;\n let i = !1;\n const r = () => {\n i || (this._activeKeyModifiers = new Set(this._activeKeyModifiers), i = !0);\n },\n n = (e, t) => {\n t && !this._activeKeyModifiers.has(e) ? (r(), this._activeKeyModifiers.add(e)) : !t && this._activeKeyModifiers.has(e) && (r(), this._activeKeyModifiers.delete(e));\n };\n if (\"key-down\" === e || \"key-up\" === e) {\n const i = t.key;\n this._keyModifiers.has(i) && n(i, \"key-down\" === e);\n }\n const s = t.native;\n n(\"Alt\", !!s?.altKey), n(\"Control\", !!s?.ctrlKey), n(\"Ctrl\", !!s?.ctrlKey), n(\"Shift\", !!s?.shiftKey), n(\"Meta\", !!s?.metaKey), n(\"Primary\", this._activeKeyModifiers.has(this.primaryKey));\n }\n _installRecognizers() {\n this._latestPointerHandler = new l((e, t, i) => this._setLatestPointer(e, t, i)), this._multiTouchHandler = new h(), this.installHandlers(\"input-manager-logic\", [this._latestPointerHandler, this._multiTouchHandler], _.ALWAYS), this.recognizers.length > 0 && this.installHandlers(\"default\", this.recognizers, _.INTERNAL);\n }\n _setPointerCapture(e, t, i, r) {\n const n = e.name + \"-\" + t.priorityIndex,\n s = this._pointerCaptures.get(i.pointerId) || new Set();\n this._pointerCaptures.set(i.pointerId, s), r ? (s.add(n), 1 === s.size && this.eventSource && this.eventSource.setPointerCapture(i, !0)) : s.has(n) && (s.delete(n), 0 === s.size && (this._pointerCaptures.delete(i.pointerId), this.eventSource && this.eventSource.setPointerCapture(i, !1)));\n }\n _garbageCollectRemovedHandlers() {\n this._handlers = this._handlers.filter(e => !e.removed), this.updateDependencies();\n }\n _emitInputEventFromSource(e, t, i, r) {\n this._emitInputEvent(0, e, t, i, r);\n }\n _emitInputEvent(e, t, i, r, n, s) {\n const o = void 0 !== r ? r : this._currentPropagation ? this._currentPropagation.timestamp : performance.now(),\n a = void 0 !== n && n,\n l = {\n event: new u(t, i, o, s || this._activeKeyModifiers, a),\n priorityIndex: e\n };\n this._currentPropagation ? this._currentPropagation.events.push(l) : this._doNewPropagation(l);\n }\n _doNewPropagation(e) {\n this._currentPropagation = {\n events: new r(),\n currentHandler: null,\n needsHandlerGarbageCollect: !1,\n timestamp: e.event.timestamp\n }, this._currentPropagation.events.push(e), this._continuePropagation();\n }\n _continuePropagation() {\n this._paused = !1;\n const e = this._currentPropagation;\n if (e) {\n for (; e.events.length > 0;) {\n const {\n event: t,\n priorityIndex: i\n } = e.events.pop(),\n r = t.data?.eventId;\n if (!(null != r && this._stoppedPropagationEventIds.has(r))) for (e.currentHandler = this._handlersPriority[i]; e.currentHandler;) {\n if (e.currentHandler.removed) e.needsHandlerGarbageCollect = !0;else {\n if (e.currentHandler.active && !t.shouldStopPropagation() && e.currentHandler.eventCallback?.(t), t.shouldStopPropagation()) {\n null != r && this._stoppedPropagationEventIds.add(r);\n break;\n }\n if (t.shouldPausePropagation(() => this._continuePropagation())) return void this._pausePropagation({\n event: t,\n priorityIndex: e.currentHandler.priorityIndex + 1\n });\n }\n e.currentHandler = this._handlersPriority[e.currentHandler.priorityIndex + 1];\n }\n }\n e.needsHandlerGarbageCollect && this._garbageCollectRemovedHandlers(), this.hasPendingInputs || this._stoppedPropagationEventIds.clear(), this._currentPropagation = null, this._updateDependenciesAfterPropagation && this.updateDependencies();\n }\n }\n _pausePropagation(e) {\n const t = new r();\n t.push(e);\n const i = this._currentPropagation;\n if (i) {\n for (; i.events.length;) t.push(i.events.pop());\n i.events = t, i.currentHandler = null, this._paused = !0;\n }\n }\n _compareHandlerPriority(e, t) {\n if (e.handler.hasSideEffects !== t.handler.hasSideEffects) return e.handler.hasSideEffects ? 1 : -1;\n if (e.groupPriority !== t.groupPriority) return e.groupPriority > t.groupPriority ? -1 : 1;\n for (const i of e.handler.incomingEventMatches) for (const e of t.handler.incomingEventMatches) {\n if (i.eventType !== e.eventType) continue;\n const t = i.keyModifiers.filter(t => e.keyModifiers.includes(t));\n if (t.length === i.keyModifiers.length !== (t.length === e.keyModifiers.length)) return i.keyModifiers.length > e.keyModifiers.length ? -1 : 1;\n }\n return e.priorityIndex > t.priorityIndex ? -1 : 1;\n }\n _sortHandlersPriority(e) {\n const t = [];\n for (const i of e) {\n let e = 0;\n for (; e < t.length && this._compareHandlerPriority(i, t[e]) >= 0;) e++;\n t.splice(e, 0, i);\n }\n return t;\n }\n get debug() {\n const e = e => {\n const t = this._setPointerCapture;\n this._setPointerCapture = () => {}, e(), this._setPointerCapture = t;\n };\n return {\n injectEvent: (t, i) => {\n e(() => this._onEventReceived(t, i));\n },\n disablePointerCapture: e\n };\n }\n};\ne([n({\n readOnly: !0\n})], d.prototype, \"hasPendingInputs\", null), e([n({\n constructOnly: !0\n})], d.prototype, \"eventSource\", void 0), e([n({\n constructOnly: !0\n})], d.prototype, \"recognizers\", void 0), e([n()], d.prototype, \"_latestPointerType\", void 0), e([n()], d.prototype, \"latestPointerType\", null), e([n()], d.prototype, \"multiTouchActive\", null), e([n({\n readOnly: !0\n})], d.prototype, \"latestPointerLocation\", void 0), e([n()], d.prototype, \"_paused\", void 0), e([n({\n readOnly: !0\n})], d.prototype, \"updating\", null), d = e([s(\"esri.views.input.InputManager\")], d);\nclass u {\n constructor(e, t, i, r, n) {\n this.type = e, this.data = t, this.timestamp = i, this.modifiers = r, this.cancelable = n, this._propagationState = c.NONE, this._resumeCallback = null;\n }\n stopPropagation() {\n this._propagationState |= c.STOPPED;\n }\n shouldStopPropagation() {\n return !!(this._propagationState & c.STOPPED);\n }\n async(e) {\n this._propagationState |= c.PAUSED;\n const t = (e, t) => {\n this._propagationState &= ~c.PAUSED;\n const i = this._resumeCallback;\n if (this._resumeCallback = null, i && i(), t) throw e;\n return e;\n };\n return (\"function\" == typeof e ? e() : e).then(e => t(e, !1), e => t(e, !0));\n }\n shouldPausePropagation(e) {\n return !!(this._propagationState & c.PAUSED) && (this._resumeCallback = e, !0);\n }\n preventDefault() {\n this.data.native.preventDefault();\n }\n}\nvar c;\n!function (e) {\n e[e.NONE = 0] = \"NONE\", e[e.STOPPED = 1] = \"STOPPED\", e[e.PAUSED = 2] = \"PAUSED\";\n}(c || (c = {}));\nconst _ = {\n ALWAYS: 1,\n DEFAULT: 0,\n TOOL: -1,\n WIDGET: -2,\n INTERNAL: -3\n};\nclass g {}\nconst P = g;\nexport { d as InputManager, _ as ViewEventPriorities };"],"mappings":"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","names":["t","has","o","r","e","t","i","t","e","i","s","o","a","h","r","n","g","c","s","t","e","i","i","t","r","o","r","t","s","U","e","O","d","b","e","t","o","P","i","_","r","n","s","l","u","m","a","c","g"],"x_google_ignoreList":[0,1,2,3,4,5,6]}