<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">import EventType from"../events/EventType.js";import Interaction,{pan}from"./Interaction.js";import KeyCode from"../events/KeyCode.js";import{noModifierKeys,targetNotEditable}from"../events/condition.js";import{rotate as rotateCoordinate}from"../coordinate.js";class KeyboardPan extends Interaction{constructor(e){super();e=e||{};this.defaultCondition_=function(e){return noModifierKeys(e)&amp;&amp;targetNotEditable(e)},this.condition_=void 0!==e.condition?e.condition:this.defaultCondition_,this.duration_=void 0!==e.duration?e.duration:100,this.pixelDelta_=void 0!==e.pixelDelta?e.pixelDelta:128}handleEvent(o){let i=!1;if(o.type==EventType.KEYDOWN){var n=o.originalEvent.keyCode;if(this.condition_(o)&amp;&amp;(n==KeyCode.DOWN||n==KeyCode.LEFT||n==KeyCode.RIGHT||n==KeyCode.UP)){const a=o.map,d=a.getView();var r=d.getResolution()*this.pixelDelta_;let e=0,t=0;n==KeyCode.DOWN?t=-r:n==KeyCode.LEFT?e=-r:n==KeyCode.RIGHT?e=r:t=r;n=[e,t];rotateCoordinate(n,d.getRotation()),pan(d,n,this.duration_),o.preventDefault(),i=!0}}return!i}}export default KeyboardPan;</pre></body></html>