# Area A component onto which area components like rectangles or circles can be drawn. Some props can be applied to all area components (**including Area itself** and children): see [Area Props](component_APIs/area_props.md). ```jsx import React, { Component } from 'react'; import { render, Window, App, Area } from 'proton-native'; class Example extends Component { render() { return ( ); } } render(); ``` ## Props * [visible](#visible) * [scrolling](#scrolling) * [onMouseMove](#onMouseMove) * [onMouseUp](#onMouseUp) * [onMouseDown](#onMouseDown) * [onMouseEnter](#onMouseEnter) * [onMouseLeave](#onMouseLeave) * [onKeyUp](#onKeyUp) * [onKeyDown](#onKeyDown) * [onSizeChange](#onSizeChange) ## Reference ### visible Whether the area can be seen. | **Type** | **Required** | **Default** | | -------- | ------------ | ----------- | | bool | No | true | ### scrolling If set, a scrolling area is created. The specified width and height specify the size of the inner scrolling view. | **Type** | **Required** | | ----------------------------- | ------------ | | object {h: number, w: number} | No | ### onMouseMove Called when the mouse is moved over the area | **Type** | **Required** | | ----------------------------------------------------------------------------------------- | ------------ | | function({x: number, y: number, width: number, height: number, buttons: Array\}) | No | ### onMouseUp **Not working at the moment** Called when releasing a mouse button over the area. | **Type** | **Required** | | ------------------------------------------------------------------------------- | ------------ | | function({x: number, y: number, width: number, height: number, button: number}) | No | ### onMouseDown Called when pressing a mouse button over the area. For a double click, the second click would fire an event with `count: 2`. | **Type** | **Required** | | ---------------------------------------------------------------------------------------------- | ------------ | | function({x: number, y: number, width: number, height: number, button: number, count: number}) | No | ### onMouseEnter Called when the mouse enters the area. | **Type** | **Required** | | ---------- | ------------ | | function() | No | ### onMouseLeave Called when the mouse leaves the area. | **Type** | **Required** | | ---------- | ------------ | | function() | No | ### onKeyUp Called when pressing a key. Return `true` to signal that this event got handled (always returning true will disable any menu accelerators). | **Type** | **Required** | | ---------------------------------------------------------------------------------------- | ------------ | | function({key: string, extKey: string, modifierKey: string, modifiers: Array\}) | No | ### onKeyDown Called when releasing a key. Return `true` to signal that this event got handled (always returning true will disable any menu accelerators). | **Type** | **Required** | | ---------------------------------------------------------------------------------------- | ------------ | | function({key: string, extKey: string, modifierKey: string, modifiers: Array\}) | No | ### onSizeChange Called when the area's size has changed. | **Type** | **Required** | | ------------------------------------------- | ------------ | | function({ width: number, height: number }) | No |