This repository has been archived by the owner on Jun 4, 2024. It is now read-only.
-
-
Notifications
You must be signed in to change notification settings - Fork 49
/
Copy pathDiv.react.js
127 lines (103 loc) · 2.97 KB
/
Div.react.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
import React from 'react';
import PropTypes from 'prop-types';
const Div = (props) => {
if (props.fireEvent || props.setProps) {
return (
<div
onClick={() => {
if (props.setProps) props.setProps({n_clicks: props.n_clicks + 1});
if (props.fireEvent) props.fireEvent({event: 'click'});
}}
{...props}
>
{props.children}
</div>
);
} else {
return (
<div {...props}>
{props.children}
</div>
);
}
};
Div.defaultProps = {
n_clicks: 0
};
Div.propTypes = {
/**
* The ID of this component, used to identify dash components
* in callbacks. The ID needs to be unique across all of the
* components in an app.
*/
'id': PropTypes.string,
/**
* The children of this component
*/
'children': PropTypes.node,
/**
* An integer that represents the number of times
* that this element has been clicked on.
*/
'n_clicks': PropTypes.integer,
/**
* A unique identifier for the component, used to improve
* performance by React.js while rendering components
* See https://reactjs.org/docs/lists-and-keys.html for more info
*/
'key': PropTypes.string,
/**
* Defines a keyboard shortcut to activate or add focus to the element.
*/
'accessKey': PropTypes.string,
/**
* Often used with CSS to style elements with common properties.
*/
'className': PropTypes.string,
/**
* Indicates whether the element's content is editable.
*/
'contentEditable': PropTypes.string,
/**
* Defines the ID of a <menu> element which will serve as the element's context menu.
*/
'contextMenu': PropTypes.string,
/**
* Defines the text direction. Allowed values are ltr (Left-To-Right) or rtl (Right-To-Left)
*/
'dir': PropTypes.string,
/**
* Defines whether the element can be dragged.
*/
'draggable': PropTypes.string,
/**
* Prevents rendering of given element, while keeping child elements, e.g. script elements, active.
*/
'hidden': PropTypes.string,
/**
* Defines the language used in the element.
*/
'lang': PropTypes.string,
/**
* Indicates whether spell checking is allowed for the element.
*/
'spellCheck': PropTypes.string,
/**
* Defines CSS styles which will override styles previously set.
*/
'style': PropTypes.object,
/**
* Overrides the browser's default tab order and follows the one specified instead.
*/
'tabIndex': PropTypes.string,
/**
* Text to be displayed in a tooltip when hovering over the element.
*/
'title': PropTypes.string,
/**
* A callback for firing events to dash.
*/
'fireEvent': PropTypes.func,
'dashEvents': PropTypes.oneOf(['click'])
};
export default Div;