"use strict" ;

/**
 * The enumeration of all the interactive modes in the components.
 * @summary The enumeration of all the interactive modes in the components.
 * @name InteractiveMode
 * @namespace molecule.InteractiveMode
 * @memberof molecule
 */
const InteractiveMode = Object.defineProperties( {} ,
{
    /**
     * This mode try to register all mouse, pointer or touch events in the component.
     * @name AUTO
     * @memberof molecule.InteractiveMode
     * @static
     * @type {string}
     * @default 'auto'
     */
    AUTO : { enumerable : true , value : 'auto' } ,

    /**
     * Register only the touch events.
     * @name MOUSE
     * @memberof molecule.InteractiveMode
     * @static
     * @type {string}
     * @default 'mouse'
     */
    MOUSE : { enumerable : true , value : 'mouse' },

    /**
     * This mode try to unregistered all mouse, pointer or touch events in the component.
     * @name AUTO
     * @memberof molecule.InteractiveMode
     * @static
     * @type {string}
     * @default 'auto'
     */
    NONE : { enumerable : true , value : 'none' } ,

    /**
     * Register only the pointer events.
     * @name POINTER
     * @memberof molecule.InteractiveMode
     * @static
     * @type {string}
     * @default 'pointer'
     */
    POINTER : { enumerable : true , value : 'pointer' },

    /**
     * Register only the touch events.
     * @name TOUCH
     * @memberof molecule.InteractiveMode
     * @static
     * @type {string}
     * @default 'touch'
     */
    TOUCH : { enumerable : true , value : 'touch' }
}) ;

export default InteractiveMode;