Skip to content
This repository was archived by the owner on Feb 16, 2023. It is now read-only.

Commit 7dde0d8

Browse files
author
Greg Douglas
authored
Merge pull request websdotcom#4 from websdotcom/fix-react-warnings
Fix warnings in @vpdigital/react-popover
2 parents 389b622 + ebba978 commit 7dde0d8

File tree

7 files changed

+66
-60
lines changed

7 files changed

+66
-60
lines changed

build/index.js

Lines changed: 28 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,20 @@ function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr
1212

1313
var _react = require('react');
1414

15+
var _react2 = _interopRequireDefault(_react);
16+
17+
var _createReactClass = require('create-react-class');
18+
19+
var _createReactClass2 = _interopRequireDefault(_createReactClass);
20+
21+
var _reactDomFactories = require('react-dom-factories');
22+
23+
var _reactDomFactories2 = _interopRequireDefault(_reactDomFactories);
24+
25+
var _propTypes = require('prop-types');
26+
27+
var _propTypes2 = _interopRequireDefault(_propTypes);
28+
1529
var _debug = require('debug');
1630

1731
var _debug2 = _interopRequireDefault(_debug);
@@ -82,21 +96,21 @@ var flowToPopoverTranslations = {
8296
column: 'translateY'
8397
};
8498

85-
var Popover = (0, _react.createClass)({
99+
var Popover = (0, _createReactClass2['default'])({
86100
displayName: 'popover',
87101
propTypes: {
88-
body: _react.PropTypes.node.isRequired,
89-
target: _react.PropTypes.object.isRequired,
90-
preferPlace: _react.PropTypes.oneOf(Layout.validTypeValues),
91-
place: _react.PropTypes.oneOf(Layout.validTypeValues),
92-
tipSize: _react.PropTypes.number,
93-
offsetX: _react.PropTypes.number,
94-
offsetY: _react.PropTypes.number,
95-
refreshIntervalMs: _react.PropTypes.oneOfType([_react.PropTypes.number, _react.PropTypes.bool]),
96-
isOpen: _react.PropTypes.bool,
97-
onOuterAction: _react.PropTypes.func,
98-
enterExitTransitionDurationMs: _react.PropTypes.number,
99-
align: _react.PropTypes.string
102+
body: _propTypes2['default'].node.isRequired,
103+
target: _propTypes2['default'].object.isRequired,
104+
preferPlace: _propTypes2['default'].oneOf(Layout.validTypeValues),
105+
place: _propTypes2['default'].oneOf(Layout.validTypeValues),
106+
tipSize: _propTypes2['default'].number,
107+
offsetX: _propTypes2['default'].number,
108+
offsetY: _propTypes2['default'].number,
109+
refreshIntervalMs: _propTypes2['default'].oneOfType([_propTypes2['default'].number, _propTypes2['default'].bool]),
110+
isOpen: _propTypes2['default'].bool,
111+
onOuterAction: _propTypes2['default'].func,
112+
enterExitTransitionDurationMs: _propTypes2['default'].number,
113+
align: _propTypes2['default'].string
100114
},
101115
getInitialState: function getInitialState() {
102116
return {
@@ -126,8 +140,6 @@ var Popover = (0, _react.createClass)({
126140
if (this.measureTargetBounds()) this.resolvePopoverLayout();
127141
},
128142
resolvePopoverLayout: function resolvePopoverLayout() {
129-
if (!this.isMounted()) return;
130-
131143
/* Find the optimal zone to position self. Measure the size of each zone and use the one with
132144
the greatest area. */
133145

@@ -484,7 +496,7 @@ var Popover = (0, _react.createClass)({
484496

485497
var popoverBody = (0, _utils.arrayify)(this.props.body);
486498

487-
return _react.DOM.div(popoverProps, _react.DOM.div.apply(_react.DOM, [{ className: 'Popover-body' }].concat(_toConsumableArray(popoverBody))), (0, _react.createElement)(_popoverTip2['default'], tipProps));
499+
return _reactDomFactories2['default'].div(popoverProps, _reactDomFactories2['default'].div.apply(_reactDomFactories2['default'], [{ className: 'Popover-body' }].concat(_toConsumableArray(popoverBody))), _react2['default'].createElement(_popoverTip2['default'], tipProps));
488500
}
489501
});
490502

build/popover-tip.js

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,15 @@ Object.defineProperty(exports, '__esModule', {
66

77
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
88

9-
var _react = require('react');
9+
var _createReactClass = require('create-react-class');
1010

11-
var _react2 = _interopRequireDefault(_react);
11+
var _createReactClass2 = _interopRequireDefault(_createReactClass);
1212

13-
var PopoverTip = _react2['default'].createClass({
13+
var _reactDomFactories = require('react-dom-factories');
14+
15+
var _reactDomFactories2 = _interopRequireDefault(_reactDomFactories);
16+
17+
var PopoverTip = (0, _createReactClass2['default'])({
1418
name: 'tip',
1519
render: function render() {
1620
var direction = this.props.direction;
@@ -25,7 +29,7 @@ var PopoverTip = _react2['default'].createClass({
2529
width: isPortrait ? crossLength : mainLength,
2630
height: isPortrait ? mainLength : crossLength
2731
};
28-
var triangle = _react.DOM.svg(props, _react.DOM.polygon({
32+
var triangle = _reactDomFactories2['default'].svg(props, _reactDomFactories2['default'].polygon({
2933
className: 'Popover-tipShape',
3034
points: points
3135
}));

build/utils.js

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,6 @@ Object.defineProperty(exports, '__esModule', {
66

77
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
88

9-
var _react = require('react');
10-
11-
var _react2 = _interopRequireDefault(_react);
12-
139
var _reactDom = require('react-dom');
1410

1511
var _reactDom2 = _interopRequireDefault(_reactDom);
@@ -38,9 +34,6 @@ var equalRecords = function equalRecords(o1, o2) {
3834
}return true;
3935
};
4036

41-
/* React 12<= / >=13 compatible findDOMNode function. */
42-
var supportsFindDOMNode = Number(_react2['default'].version.split('.')[1]) >= 13;
43-
4437
var findDOMNode = function findDOMNode(component) {
4538
return _reactDom2['default'].findDOMNode(component);
4639
};

lib/index.js

Lines changed: 20 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
1-
import { createElement, createClass, DOM as E, PropTypes as T } from 'react'
1+
import React from 'react'
2+
import createReactClass from 'create-react-class'
3+
import DOM from 'react-dom-factories'
4+
import PropTypes from 'prop-types'
25
import Debug from 'debug'
36
import * as resizeEvent from './on-resize'
47
import * as Layout from './layout'
@@ -54,21 +57,21 @@ const flowToPopoverTranslations = {
5457

5558

5659

57-
const Popover = createClass({
60+
const Popover = createReactClass({
5861
displayName: `popover`,
5962
propTypes: {
60-
body: T.node.isRequired,
61-
target: T.object.isRequired,
62-
preferPlace: T.oneOf(Layout.validTypeValues),
63-
place: T.oneOf(Layout.validTypeValues),
64-
tipSize: T.number,
65-
offsetX: T.number,
66-
offsetY: T.number,
67-
refreshIntervalMs: T.oneOfType([ T.number, T.bool ]),
68-
isOpen: T.bool,
69-
onOuterAction: T.func,
70-
enterExitTransitionDurationMs: T.number,
71-
align: T.string,
63+
body: PropTypes.node.isRequired,
64+
target: PropTypes.object.isRequired,
65+
preferPlace: PropTypes.oneOf(Layout.validTypeValues),
66+
place: PropTypes.oneOf(Layout.validTypeValues),
67+
tipSize: PropTypes.number,
68+
offsetX: PropTypes.number,
69+
offsetY: PropTypes.number,
70+
refreshIntervalMs: PropTypes.oneOfType([PropTypes.number, PropTypes.bool ]),
71+
isOpen: PropTypes.bool,
72+
onOuterAction: PropTypes.func,
73+
enterExitTransitionDurationMs: PropTypes.number,
74+
align: PropTypes.string,
7275
},
7376
getInitialState () {
7477
return {
@@ -98,8 +101,6 @@ const Popover = createClass({
98101
if (this.measureTargetBounds()) this.resolvePopoverLayout()
99102
},
100103
resolvePopoverLayout () {
101-
if (!this.isMounted()) return;
102-
103104
/* Find the optimal zone to position self. Measure the size of each zone and use the one with
104105
the greatest area. */
105106

@@ -464,9 +465,9 @@ const Popover = createClass({
464465
const popoverBody = arrayify(this.props.body)
465466

466467
return (
467-
E.div(popoverProps,
468-
E.div({ className: `Popover-body` }, ...popoverBody),
469-
createElement(PopoverTip, tipProps)
468+
DOM.div(popoverProps,
469+
DOM.div({ className: `Popover-body` }, ...popoverBody),
470+
React.createElement(PopoverTip, tipProps)
470471
)
471472
)
472473
}

lib/popover-tip.js

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
1-
import R, { DOM as E } from 'react'
1+
import createReactClass from 'create-react-class'
2+
import DOM from 'react-dom-factories'
23

3-
4-
5-
const PopoverTip = R.createClass({
4+
const PopoverTip = createReactClass({
65
name: `tip`,
76
render () {
87
const { direction } = this.props
@@ -21,8 +20,8 @@ const PopoverTip = R.createClass({
2120
width: isPortrait ? crossLength : mainLength,
2221
height: isPortrait ? mainLength : crossLength,
2322
}
24-
const triangle = E.svg(props,
25-
E.polygon({
23+
const triangle = DOM.svg(props,
24+
DOM.polygon({
2625
className: `Popover-tipShape`,
2726
points,
2827
})

lib/utils.js

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import R from 'react'
21
import ReactDOM from 'react-dom'
32
import AssignPolyFill from 'object.assign/polyfill'
43
import { isClient } from './platform'
@@ -20,11 +19,6 @@ const equalRecords = (o1, o2) => {
2019
return true
2120
}
2221

23-
/* React 12<= / >=13 compatible findDOMNode function. */
24-
const supportsFindDOMNode = (
25-
Number(R.version.split(`.`)[1]) >= 13
26-
)
27-
2822
const findDOMNode = (component) => ReactDOM.findDOMNode(component)
2923

3024
const noop = () => (

package.json

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,17 +11,20 @@
1111
"postversion": "git push && git push --tags && npm publish"
1212
},
1313
"dependencies": {
14+
"create-react-class": "^15.6.3",
1415
"css-vendor": "^0.2.5",
1516
"debug": "^2.1.3",
1617
"lodash.throttle": "^3.0.3",
17-
"object.assign": "^4.0.1"
18+
"object.assign": "^4.0.1",
19+
"prop-types": "^15.7.1",
20+
"react-dom-factories": "^1.0.2"
1821
},
1922
"repository": {
2023
"type": "git",
2124
"url": "https://github.com/littlebits/react-popover.git"
2225
},
2326
"author": "Jason Kuhrt <[email protected]> (http://jasonkuhrt.com/)",
24-
"name": "react-popover",
27+
"name": "@vpdigital/react-popover",
2528
"homepage": "https://github.com/littlebits/react-popover",
2629
"version": "0.3.6",
2730
"main": "build/index.js",

0 commit comments

Comments
 (0)