-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathadvertisement.jsx
56 lines (46 loc) · 1.3 KB
/
advertisement.jsx
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
/**
* @summary Constructor for the advertisement component.
* @locus Client
* @memberOf ReactSUI
* @param {Object} props
* @param {String} [props.className] Optional.
* @param {String} props.size
* @param {Object} [props.divProps] Optional.
* @param {String} [props.divProps.$] Any property applicable to a <div> tag. If "className" supplied, override "props.className".
* @param {Node|Node[]} [props.children] Optional.
* @return {Node}
*/
ReactSUI.Advertisement = (props) => {
let className = ReactSUI.utils.addClass("ui ad", props.size, props.className);
return <div className={className} {...props.divProps}>{props.children}</div>;
};
ReactSUI.Advertisement.propTypes = {
className: React.PropTypes.string,
size : React.PropTypes.oneOf([
"medium rectangle",
"large rectangle",
"vertical rectangle",
"small rectangle",
"banner",
"mobile banner",
"banner",
"vertical banner",
"top banner",
"half banner",
"leaderboard",
"mobile leaderboard",
"leaderboard",
"large leaderboard",
"half page",
"button",
"square button",
"small button",
"skyscraper",
"wide skyscraper",
"billboard",
"panorama",
"netboard"
]).isRequired,
divProps : React.PropTypes.object,
children : React.PropTypes.node
};