U
    g                     @  sh   d dl mZ ddlmZ ddlmZ ddlmZ ddlmZ ddl	m
Z
 dd	lmZ G d
d deZdS )    )annotations   )keys_to_typing   )KEY)Interaction)KeyInput)PointerInput)
WheelInputc                      sx   e Zd Zdddd fddZdd dd	d
Zdd dddZddd dddZdd dddZdd dddZ  Z	S )
KeyActionsNz+KeyInput | PointerInput | WheelInput | NoneNone)sourcereturnc                   s"   |st t}|| _t | d S N)r   r   r   super__init__)selfr   	__class__ Q/tmp/pip-unpacked-wheel-3ysq0mf8/selenium/webdriver/common/actions/key_actions.pyr      s    zKeyActions.__init__str)letterr   c                 C  s   |  d|S )NZcreate_key_down_key_actionr   r   r   r   r   key_down"   s    zKeyActions.key_downc                 C  s   |  d|S )NZcreate_key_upr   r   r   r   r   key_up%   s    zKeyActions.key_upr   int)durationr   c                 C  s   |  d|S )NZcreate_pauser   )r   r   r   r   r   pause(   s    zKeyActions.pausez
str | list)textr   c                 C  s4   t |tst|}|D ]}| | | | q| S r   )
isinstancelistr   r   r   )r   r!   r   r   r   r   	send_keys+   s    

zKeyActions.send_keys)actionr   c                 C  s   t | j|}|| | S r   )getattrr   )r   r%   r   methr   r   r   r   3   s    zKeyActions._key_action)N)r   )
__name__
__module____qualname__r   r   r   r    r$   r   __classcell__r   r   r   r   r      s   r   N)
__future__r   utilsr   Zinteractionr   r   Z	key_inputr   Zpointer_inputr	   Zwheel_inputr
   r   r   r   r   r   <module>   s   