@hipay/hipay-material-ui 1.0.0-beta.8 → 1.0.0-beta.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/HiDotsStepper/HiDot.js +151 -0
  2. package/HiDotsStepper/HiDotsStepper.js +146 -0
  3. package/HiDotsStepper/index.js +16 -0
  4. package/HiForm/HiAddressField.js +204 -0
  5. package/HiForm/HiInput.js +1 -1
  6. package/HiForm/index.js +9 -0
  7. package/HiPdfReader/HiPdfReader.js +282 -0
  8. package/HiPdfReader/index.js +16 -0
  9. package/HiSelect/HiSuggestSelect.js +2 -0
  10. package/HiSelectableList/HiSelectableListItem.js +1 -2
  11. package/HiTable/BodyCellBuilder.js +7 -8
  12. package/HiTable/BodyCells/CellLayout.js +20 -18
  13. package/HiTable/BodyCells/CellSentinel.js +12 -4
  14. package/HiTable/BodyRow.js +7 -1
  15. package/HiTable/HeaderCell.js +17 -14
  16. package/HiTable/HiTable.js +13 -4
  17. package/HiTable/HiTableBody.js +26 -12
  18. package/HiTable/HiTableHead.js +22 -5
  19. package/es/HiDotsStepper/HiDot.js +92 -0
  20. package/es/HiDotsStepper/HiDotsStepper.js +83 -0
  21. package/es/HiDotsStepper/index.js +1 -0
  22. package/es/HiForm/HiAddressField.js +142 -0
  23. package/es/HiForm/HiInput.js +1 -1
  24. package/es/HiForm/index.js +2 -1
  25. package/es/HiPdfReader/HiPdfReader.js +198 -0
  26. package/es/HiPdfReader/index.js +1 -0
  27. package/es/HiSelect/HiSuggestSelect.js +2 -0
  28. package/es/HiSelectableList/HiSelectableListItem.js +1 -2
  29. package/es/HiTable/BodyCellBuilder.js +8 -9
  30. package/es/HiTable/BodyCells/CellLayout.js +22 -20
  31. package/es/HiTable/BodyCells/CellSentinel.js +12 -4
  32. package/es/HiTable/BodyRow.js +7 -1
  33. package/es/HiTable/HeaderCell.js +17 -14
  34. package/es/HiTable/HiTable.js +13 -4
  35. package/es/HiTable/HiTableBody.js +22 -9
  36. package/es/HiTable/HiTableHead.js +17 -5
  37. package/es/styles/createHiMuiTheme.js +7 -0
  38. package/index.es.js +1 -1
  39. package/index.js +1 -1
  40. package/package.json +2 -1
  41. package/styles/createHiMuiTheme.js +7 -0
  42. package/umd/hipay-material-ui.development.js +2874 -2606
  43. package/umd/hipay-material-ui.production.min.js +4 -4
@@ -0,0 +1,151 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.styles = undefined;
7
+
8
+ var _defineProperty2 = require('babel-runtime/helpers/defineProperty');
9
+
10
+ var _defineProperty3 = _interopRequireDefault(_defineProperty2);
11
+
12
+ var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of');
13
+
14
+ var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
15
+
16
+ var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
17
+
18
+ var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
19
+
20
+ var _createClass2 = require('babel-runtime/helpers/createClass');
21
+
22
+ var _createClass3 = _interopRequireDefault(_createClass2);
23
+
24
+ var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
25
+
26
+ var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
27
+
28
+ var _inherits2 = require('babel-runtime/helpers/inherits');
29
+
30
+ var _inherits3 = _interopRequireDefault(_inherits2);
31
+
32
+ var _react = require('react');
33
+
34
+ var _react2 = _interopRequireDefault(_react);
35
+
36
+ var _propTypes = require('prop-types');
37
+
38
+ var _propTypes2 = _interopRequireDefault(_propTypes);
39
+
40
+ var _classnames3 = require('classnames');
41
+
42
+ var _classnames4 = _interopRequireDefault(_classnames3);
43
+
44
+ var _withStyles = require('../styles/withStyles');
45
+
46
+ var _withStyles2 = _interopRequireDefault(_withStyles);
47
+
48
+ var _ButtonBase = require('../ButtonBase');
49
+
50
+ var _ButtonBase2 = _interopRequireDefault(_ButtonBase);
51
+
52
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
53
+
54
+ var styles = exports.styles = function styles(theme) {
55
+ return {
56
+ dot: {
57
+ backgroundColor: theme.palette.dot.neutral,
58
+ borderRadius: '100%',
59
+ width: 12,
60
+ height: 12,
61
+ '&:hover': {
62
+ transform: 'scale(1.2)'
63
+ },
64
+ marginLeft: 12
65
+ },
66
+ dotActive: {
67
+ marginTop: 4,
68
+ marginLeft: 4,
69
+ '&:hover': {
70
+ transform: 'scale(1)'
71
+ }
72
+ },
73
+ dotValidated: {
74
+ backgroundColor: theme.palette.status[116]
75
+ },
76
+ dotRefused: {
77
+ backgroundColor: theme.palette.error.main
78
+ },
79
+ dotAround: {
80
+ backgroundColor: 'transparent',
81
+ borderRadius: '100%',
82
+ width: 24,
83
+ height: 24,
84
+ marginLeft: 6,
85
+ border: '2px solid ' + theme.palette.dot.neutral,
86
+ '&:hover': {
87
+ transform: 'scale(1.2)'
88
+ }
89
+ },
90
+ dotAroundValidated: {
91
+ border: '2px solid ' + theme.palette.status[116]
92
+ },
93
+ dotAroundRefused: {
94
+ border: '2px solid ' + theme.palette.error.main
95
+ }
96
+ };
97
+ };
98
+
99
+ var HiDot = function (_React$PureComponent) {
100
+ (0, _inherits3.default)(HiDot, _React$PureComponent);
101
+
102
+ function HiDot() {
103
+ (0, _classCallCheck3.default)(this, HiDot);
104
+ return (0, _possibleConstructorReturn3.default)(this, (HiDot.__proto__ || (0, _getPrototypeOf2.default)(HiDot)).apply(this, arguments));
105
+ }
106
+
107
+ (0, _createClass3.default)(HiDot, [{
108
+ key: 'render',
109
+ value: function render() {
110
+ var _classnames, _classnames2;
111
+
112
+ var _props = this.props,
113
+ active = _props.active,
114
+ status = _props.status,
115
+ classes = _props.classes,
116
+ onClick = _props.onClick;
117
+
118
+
119
+ var dotAroundClass = (0, _classnames4.default)(classes.dotAround, (_classnames = {}, (0, _defineProperty3.default)(_classnames, classes.dotAroundValidated, status === 'validated'), (0, _defineProperty3.default)(_classnames, classes.dotAroundRefused, status === 'refused'), _classnames));
120
+
121
+ var dotClassName = (0, _classnames4.default)(classes.dot, (_classnames2 = {}, (0, _defineProperty3.default)(_classnames2, classes.dotActive, active), (0, _defineProperty3.default)(_classnames2, classes.dotRefused, status === 'refused'), (0, _defineProperty3.default)(_classnames2, classes.dotValidated, status === 'validated'), _classnames2));
122
+
123
+ return _react2.default.createElement(
124
+ _ButtonBase2.default,
125
+ { disableRipple: true, role: 'button', onClick: onClick },
126
+ active ? _react2.default.createElement(
127
+ 'div',
128
+ { className: dotAroundClass },
129
+ _react2.default.createElement('div', { className: dotClassName })
130
+ ) : _react2.default.createElement('div', { className: dotClassName })
131
+ );
132
+ }
133
+ }]);
134
+ return HiDot;
135
+ }(_react2.default.PureComponent);
136
+
137
+ HiDot.defaultProps = {
138
+ active: false,
139
+ status: 'unreviewed'
140
+ };
141
+ HiDot.propTypes = process.env.NODE_ENV !== "production" ? {
142
+ active: _propTypes2.default.bool,
143
+ classes: _propTypes2.default.object,
144
+ /**
145
+ * @ignore
146
+ */
147
+ className: _propTypes2.default.string,
148
+ onClick: _propTypes2.default.func,
149
+ status: _propTypes2.default.oneOf(['refused', 'validated', 'unreviewed'])
150
+ } : {};
151
+ exports.default = (0, _withStyles2.default)(styles, { name: 'MuiHiDot' })(HiDot);
@@ -0,0 +1,146 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.styles = undefined;
7
+
8
+ var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of');
9
+
10
+ var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
11
+
12
+ var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
13
+
14
+ var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
15
+
16
+ var _createClass2 = require('babel-runtime/helpers/createClass');
17
+
18
+ var _createClass3 = _interopRequireDefault(_createClass2);
19
+
20
+ var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
21
+
22
+ var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
23
+
24
+ var _inherits2 = require('babel-runtime/helpers/inherits');
25
+
26
+ var _inherits3 = _interopRequireDefault(_inherits2);
27
+
28
+ var _react = require('react');
29
+
30
+ var _react2 = _interopRequireDefault(_react);
31
+
32
+ var _propTypes = require('prop-types');
33
+
34
+ var _propTypes2 = _interopRequireDefault(_propTypes);
35
+
36
+ var _withStyles = require('../styles/withStyles');
37
+
38
+ var _withStyles2 = _interopRequireDefault(_withStyles);
39
+
40
+ var _HiDot = require('./HiDot');
41
+
42
+ var _HiDot2 = _interopRequireDefault(_HiDot);
43
+
44
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
45
+
46
+ var styles = exports.styles = function styles(theme) {
47
+ return {
48
+ dotStepper: {
49
+ width: '100%',
50
+ maxWidth: 200,
51
+ display: 'flex',
52
+ flexDirection: 'row',
53
+ flexWrap: 'nowrap',
54
+ justifyContent: 'center',
55
+ alignItems: 'center'
56
+ }
57
+ };
58
+ };
59
+
60
+ var HiDotsStepper = function (_React$PureComponent) {
61
+ (0, _inherits3.default)(HiDotsStepper, _React$PureComponent);
62
+
63
+ function HiDotsStepper() {
64
+ (0, _classCallCheck3.default)(this, HiDotsStepper);
65
+
66
+ var _this = (0, _possibleConstructorReturn3.default)(this, (HiDotsStepper.__proto__ || (0, _getPrototypeOf2.default)(HiDotsStepper)).call(this));
67
+
68
+ _this.handleClick = function (activeStep) {
69
+ return function () {
70
+ _this.props.onChange(activeStep);
71
+ };
72
+ };
73
+
74
+ _this.handleNavigation = function (activeStep) {
75
+ return function (e) {
76
+ var nextStep = activeStep;
77
+ var steps = _this.props.steps;
78
+
79
+
80
+ if (e.key === 'ArrowLeft') nextStep -= 1;
81
+ if (e.key === 'ArrowRight') nextStep += 1;
82
+
83
+ nextStep = (nextStep + steps.length) % steps.length;
84
+
85
+ // Permet la navigation d'un Dot au suivant / précédent
86
+ document.querySelector('div[tabIndex="' + nextStep + '"]').focus();
87
+
88
+ _this.props.onChange(nextStep);
89
+ };
90
+ };
91
+
92
+ _this.handleClick = _this.handleClick.bind(_this);
93
+ _this.handleNavigation = _this.handleNavigation.bind(_this);
94
+ return _this;
95
+ }
96
+
97
+ (0, _createClass3.default)(HiDotsStepper, [{
98
+ key: 'render',
99
+ value: function render() {
100
+ var _this2 = this;
101
+
102
+ var _props = this.props,
103
+ classes = _props.classes,
104
+ activeStep = _props.activeStep,
105
+ steps = _props.steps;
106
+
107
+
108
+ var listDots = steps.map(function (step, idx) {
109
+ var id = step.id,
110
+ status = step.status;
111
+
112
+ return _react2.default.createElement(
113
+ 'div',
114
+ {
115
+ key: id,
116
+ tabIndex: id,
117
+ className: classes.dotContainer,
118
+ role: 'navigation',
119
+ onKeyDown: _this2.handleNavigation(idx)
120
+ },
121
+ _react2.default.createElement(_HiDot2.default, {
122
+ status: status,
123
+ active: idx === activeStep,
124
+ onClick: _this2.handleClick(idx)
125
+ })
126
+ );
127
+ });
128
+
129
+ return _react2.default.createElement(
130
+ 'div',
131
+ { className: classes.dotStepper },
132
+ listDots
133
+ );
134
+ }
135
+ }]);
136
+ return HiDotsStepper;
137
+ }(_react2.default.PureComponent);
138
+
139
+ HiDotsStepper.propTypes = process.env.NODE_ENV !== "production" ? {
140
+ activeStep: _propTypes2.default.number.isRequired,
141
+ classes: _propTypes2.default.object,
142
+ className: _propTypes2.default.string,
143
+ onChange: _propTypes2.default.func,
144
+ steps: _propTypes2.default.array.isRequired
145
+ } : {};
146
+ exports.default = (0, _withStyles2.default)(styles, { name: 'MuiHiDotsStepper' })(HiDotsStepper);
@@ -0,0 +1,16 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+
7
+ var _HiDotsStepper = require('./HiDotsStepper');
8
+
9
+ Object.defineProperty(exports, 'default', {
10
+ enumerable: true,
11
+ get: function get() {
12
+ return _interopRequireDefault(_HiDotsStepper).default;
13
+ }
14
+ });
15
+
16
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -0,0 +1,204 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+
7
+ var _objectWithoutProperties2 = require('babel-runtime/helpers/objectWithoutProperties');
8
+
9
+ var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);
10
+
11
+ var _extends2 = require('babel-runtime/helpers/extends');
12
+
13
+ var _extends3 = _interopRequireDefault(_extends2);
14
+
15
+ var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of');
16
+
17
+ var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
18
+
19
+ var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
20
+
21
+ var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
22
+
23
+ var _createClass2 = require('babel-runtime/helpers/createClass');
24
+
25
+ var _createClass3 = _interopRequireDefault(_createClass2);
26
+
27
+ var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
28
+
29
+ var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
30
+
31
+ var _inherits2 = require('babel-runtime/helpers/inherits');
32
+
33
+ var _inherits3 = _interopRequireDefault(_inherits2);
34
+
35
+ var _react = require('react');
36
+
37
+ var _react2 = _interopRequireDefault(_react);
38
+
39
+ var _propTypes = require('prop-types');
40
+
41
+ var _propTypes2 = _interopRequireDefault(_propTypes);
42
+
43
+ var _HiSuggestSelectField = require('../HiSelect/HiSuggestSelectField');
44
+
45
+ var _HiSuggestSelectField2 = _interopRequireDefault(_HiSuggestSelectField);
46
+
47
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
48
+
49
+ /**
50
+ * Champs input adresse pour formulaire
51
+ */
52
+ var HiAddressField = function (_React$Component) {
53
+ (0, _inherits3.default)(HiAddressField, _React$Component);
54
+
55
+ function HiAddressField(props) {
56
+ (0, _classCallCheck3.default)(this, HiAddressField);
57
+
58
+ var _this = (0, _possibleConstructorReturn3.default)(this, (HiAddressField.__proto__ || (0, _getPrototypeOf2.default)(HiAddressField)).call(this, props));
59
+
60
+ _this.autocompleteService = null;
61
+
62
+ _this.displaySuggestions = function (predictions, status) {
63
+ if (status !== 'OK') {
64
+ // Si l'API renvoie un statut différent de 'OK'
65
+ // (par exemple ZERO_RESULTS), pas de prédictions
66
+ } else {
67
+ // Sinon je mets à jour les options du champ avec les prédictions de GMaps
68
+ var options = [];
69
+ var isExact = false;
70
+ predictions.forEach(function (prediction) {
71
+ // Si le texte saisi est identique à une des propositions de GMaps,
72
+ // on estime que la valeur de l'adresse est exacte,
73
+ // même sans clic sur une proposition
74
+ isExact = prediction.description === _this.value ? true : isExact;
75
+ options.push({
76
+ id: prediction.id,
77
+ label: prediction.description,
78
+ labelHighlight: prediction.description.replace(new RegExp(_this.value, 'gi'), '<strong>$&</strong>'),
79
+ icon: prediction.types.indexOf('establishment') >= 0 ? 'domain' : 'map_marker',
80
+ type: 'icon'
81
+ });
82
+ }, _this);
83
+ _this.setState({ options: options, isExact: isExact });
84
+ }
85
+ };
86
+
87
+ _this.state = {
88
+ options: [],
89
+ isExact: false
90
+ };
91
+
92
+ _this.handleSearch = _this.handleSearch.bind(_this);
93
+ _this.handleSelect = _this.handleSelect.bind(_this);
94
+ _this.handleReset = _this.handleReset.bind(_this);
95
+ _this.displaySuggestions = _this.displaySuggestions.bind(_this);
96
+ return _this;
97
+ }
98
+
99
+ /**
100
+ * Au chargement du composant, je définis mon service autocomplete GMaps
101
+ */
102
+
103
+
104
+ (0, _createClass3.default)(HiAddressField, [{
105
+ key: 'componentDidMount',
106
+ value: function componentDidMount() {
107
+ this.autocompleteService = new google.maps.places.AutocompleteService();
108
+ }
109
+ }, {
110
+ key: 'handleReset',
111
+ value: function handleReset() {
112
+ this.props.onReset();
113
+ this.setState({
114
+ options: [],
115
+ isExact: false
116
+ });
117
+ }
118
+ }, {
119
+ key: 'handleSearch',
120
+ value: function handleSearch(event) {
121
+ // Je vérifie que le champ n'est pas vide car l'API lève une exception en cas d'input vide
122
+ if (event.target.value) {
123
+ // Liste des types à rechercher. Voir https://developers.google.com/places/web-service/autocomplete?hl=fr#place_types (ex : ['establishement', 'address']
124
+ var types = [];
125
+ // Liste des codes ISO Alpha-2 des pays où il faut rechercher (ex : ['fr', 'us'])
126
+ var countries = [];
127
+ // À chaque changement, la méthode getPlacesPredictions appelle la méthode
128
+ // displaySuggestions en lui fournissant un tableau de 5 prédictions
129
+ this.value = event.target.value;
130
+ if (this.autocompleteService) {
131
+ this.autocompleteService.getPlacePredictions({
132
+ input: event.target.value,
133
+ types: types,
134
+ componentRestrictions: { country: countries }
135
+ }, this.displaySuggestions);
136
+ } else {
137
+ // Dans le cas où le service ne peut pas se charger (mode test par exemple).
138
+ this.displaySuggestions([], 'EMPTY_RESULT');
139
+ }
140
+ }
141
+ this.props.onSearch(event);
142
+ // Mise à jour du texte dans l'input
143
+ this.setState((0, _extends3.default)({}, !event.target.value && {
144
+ options: []
145
+ }));
146
+ }
147
+ }, {
148
+ key: 'handleSelect',
149
+ value: function handleSelect(event, value) {
150
+ // Mise à jour de la valeur du champ + la valeur de l'adresse est exacte
151
+ this.setState({ options: [], isExact: true });
152
+ this.props.onSelect(event, value.label);
153
+ }
154
+ }, {
155
+ key: 'render',
156
+ value: function render() {
157
+ var _props = this.props,
158
+ exactOnly = _props.exactOnly,
159
+ onSearch = _props.onSearch,
160
+ onReset = _props.onReset,
161
+ onSelect = _props.onSelect,
162
+ otherProps = (0, _objectWithoutProperties3.default)(_props, ['exactOnly', 'onSearch', 'onReset', 'onSelect']);
163
+ var _state = this.state,
164
+ options = _state.options,
165
+ isExact = _state.isExact;
166
+
167
+ // On met le champ en erreur si une adresse exacte est éxigée
168
+ // et si l'adresse courante n'est pas complète
169
+
170
+ var showError = exactOnly && !isExact;
171
+
172
+ return _react2.default.createElement(_HiSuggestSelectField2.default, (0, _extends3.default)({
173
+ options: options,
174
+ onSearch: this.handleSearch,
175
+ onReset: this.handleReset,
176
+ onSelect: this.handleSelect,
177
+ isExact: isExact,
178
+ error: showError
179
+ }, otherProps));
180
+ }
181
+ }]);
182
+ return HiAddressField;
183
+ }(_react2.default.Component); // @inheritedComponent HiSuggestSelectField
184
+
185
+ HiAddressField.propTypes = process.env.NODE_ENV !== "production" ? {
186
+ /**
187
+ * Est-ce qu'on n'accepte que les adresses trouvées par GMaps
188
+ */
189
+ exactOnly: _propTypes2.default.bool,
190
+ /**
191
+ * Callback function called to empty the field.
192
+ */
193
+ onReset: _propTypes2.default.func,
194
+ /**
195
+ * Callback function called when we write in the input.
196
+ */
197
+ onSearch: _propTypes2.default.func,
198
+ /**
199
+ * Callback function called when a suggestion is selected.
200
+ */
201
+ onSelect: _propTypes2.default.func
202
+ } : {};
203
+
204
+ exports.default = HiAddressField;
package/HiForm/HiInput.js CHANGED
@@ -107,7 +107,7 @@ var styles = exports.styles = function styles(theme) {
107
107
  focused: {},
108
108
  error: {
109
109
  border: '1px solid ' + theme.palette.negative.normal,
110
- paddingLeft: 0,
110
+ paddingLeft: 8,
111
111
  borderRadius: 2
112
112
  },
113
113
  startAdornment: {
package/HiForm/index.js CHANGED
@@ -67,4 +67,13 @@ Object.defineProperty(exports, 'HiSearchField', {
67
67
  }
68
68
  });
69
69
 
70
+ var _HiAddressField = require('./HiAddressField');
71
+
72
+ Object.defineProperty(exports, 'HiAddressField', {
73
+ enumerable: true,
74
+ get: function get() {
75
+ return _interopRequireDefault(_HiAddressField).default;
76
+ }
77
+ });
78
+
70
79
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }