@hipay/hipay-material-ui 2.0.0-beta.55 → 2.0.0-beta.57

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 (137) hide show
  1. package/CHANGELOG.md +116 -0
  2. package/HiBreadcrumb/HiBreadcrumb.js +14 -4
  3. package/HiBreadcrumb/HiStep.js +4 -1
  4. package/HiBreadcrumb/HiStepContent.js +0 -1
  5. package/HiBreadcrumb/HiStepLabel.js +12 -4
  6. package/HiBreadcrumb/HiStepper.js +1 -1
  7. package/HiButton/HiButton.js +7 -1
  8. package/HiCell/CellIcon.js +4 -4
  9. package/HiCell/CellImage.js +13 -1
  10. package/HiCell/CellRate.js +6 -3
  11. package/HiCell/CellSentinel.js +7 -10
  12. package/HiCell/CellTextStyled.js +29 -1
  13. package/HiColoredLabel/HiColoredLabel.js +1 -1
  14. package/HiDatePicker/Caption.js +16 -10
  15. package/HiDatePicker/HiDatePicker.js +9 -3
  16. package/HiDatePicker/HiDateRangePicker.js +36 -22
  17. package/HiDatePicker/HiDateRangeSelector.js +75 -21
  18. package/HiDatePicker/NavBar.js +8 -1
  19. package/HiDatePicker/Overlays/CustomOverlayLayout.js +26 -17
  20. package/HiDatePicker/Overlays/CustomOverlayLayoutWithoutFooter.js +123 -0
  21. package/HiDatePicker/Overlays/MonthPickerOverlay.js +4 -4
  22. package/HiDatePicker/Overlays/MonthPickerOverlay.spec.js +1 -0
  23. package/HiDatePicker/Overlays/Overlay.js +15 -8
  24. package/HiDatePicker/Overlays/Overlay.spec.js +1 -0
  25. package/HiDatePicker/Overlays/TimePickerOverlay.js +2 -2
  26. package/HiDatePicker/Overlays/TimePickerOverlay.spec.js +1 -0
  27. package/HiDatePicker/Overlays/YearPickerOverlay.js +4 -6
  28. package/HiDatePicker/Overlays/YearPickerOverlay.spec.js +1 -0
  29. package/HiDatePicker/hiLocaleUtils.js +144 -0
  30. package/HiDatePicker/stylesheet.js +33 -7
  31. package/HiDotsStepper/HiDot.js +108 -0
  32. package/HiDotsStepper/HiDotsStepper.js +121 -0
  33. package/HiExpansionPanel/HiExpansionPanel.js +1 -1
  34. package/HiForm/HiAddressField.js +176 -0
  35. package/HiForm/HiFormControl.js +2 -0
  36. package/HiForm/HiInput.js +3 -3
  37. package/HiForm/HiSlider.js +352 -0
  38. package/HiForm/HiUpload.js +204 -0
  39. package/HiForm/HiUploadField.js +182 -0
  40. package/HiForm/HiUploadInput.js +459 -0
  41. package/HiForm/index.js +16 -0
  42. package/HiMap/HiMap.js +345 -0
  43. package/HiMap/HiMapExpand.js +210 -0
  44. package/HiMap/index.js +23 -0
  45. package/HiNotice/HiKPI.js +238 -0
  46. package/HiNotice/HiKPINotice.js +96 -0
  47. package/HiNotice/index.js +23 -0
  48. package/HiPdfReader/HiPdfReader.js +269 -0
  49. package/HiPdfReader/index.js +15 -0
  50. package/HiPin/HiPin.js +1 -1
  51. package/HiRadio/HiRadio.js +74 -0
  52. package/HiRadio/index.js +15 -0
  53. package/HiSelect/HiSelect.js +73 -84
  54. package/HiSelect/HiSuggestSelect.js +35 -4
  55. package/HiSelect/SelectInput.js +9 -1
  56. package/HiSelectNew/HiNestedSelectContent.js +5 -1
  57. package/HiSelectNew/HiSelect.js +260 -179
  58. package/HiSelectNew/HiSelectContent.js +0 -8
  59. package/HiSelectNew/HiSelectInput.js +8 -9
  60. package/HiSelectableList/HiSelectableList.js +39 -4
  61. package/HiSelectableList/HiSelectableListItem.js +81 -38
  62. package/HiTable/HiCellBuilder.js +25 -12
  63. package/HiTable/HiTableHeader.js +16 -17
  64. package/HiTable/constants.js +3 -1
  65. package/README.md +248 -98
  66. package/es/HiBreadcrumb/HiBreadcrumb.js +14 -4
  67. package/es/HiBreadcrumb/HiStep.js +4 -1
  68. package/es/HiBreadcrumb/HiStepContent.js +0 -1
  69. package/es/HiBreadcrumb/HiStepLabel.js +13 -4
  70. package/es/HiBreadcrumb/HiStepper.js +1 -1
  71. package/es/HiButton/HiButton.js +7 -0
  72. package/es/HiCell/CellIcon.js +5 -5
  73. package/es/HiCell/CellImage.js +13 -1
  74. package/es/HiCell/CellRate.js +6 -3
  75. package/es/HiCell/CellSentinel.js +7 -10
  76. package/es/HiCell/CellTextStyled.js +28 -1
  77. package/es/HiColoredLabel/HiColoredLabel.js +1 -1
  78. package/es/HiDatePicker/Caption.js +14 -10
  79. package/es/HiDatePicker/HiDatePicker.js +8 -3
  80. package/es/HiDatePicker/HiDateRangePicker.js +40 -28
  81. package/es/HiDatePicker/HiDateRangeSelector.js +69 -21
  82. package/es/HiDatePicker/ListPicker.js +1 -1
  83. package/es/HiDatePicker/NavBar.js +7 -1
  84. package/es/HiDatePicker/Overlays/CustomOverlayLayout.js +30 -19
  85. package/es/HiDatePicker/Overlays/CustomOverlayLayoutWithoutFooter.js +106 -0
  86. package/es/HiDatePicker/Overlays/MonthPickerOverlay.js +5 -5
  87. package/es/HiDatePicker/Overlays/MonthPickerOverlay.spec.js +1 -0
  88. package/es/HiDatePicker/Overlays/Overlay.js +16 -9
  89. package/es/HiDatePicker/Overlays/Overlay.spec.js +1 -0
  90. package/es/HiDatePicker/Overlays/TimePickerOverlay.js +2 -2
  91. package/es/HiDatePicker/Overlays/TimePickerOverlay.spec.js +1 -0
  92. package/es/HiDatePicker/Overlays/YearPickerOverlay.js +4 -6
  93. package/es/HiDatePicker/Overlays/YearPickerOverlay.spec.js +1 -0
  94. package/es/HiDatePicker/hiLocaleUtils.js +131 -0
  95. package/es/HiDatePicker/stylesheet.js +32 -7
  96. package/es/HiDotsStepper/HiDot.js +66 -0
  97. package/es/HiDotsStepper/HiDotsStepper.js +73 -0
  98. package/es/HiExpansionPanel/HiExpansionPanel.js +1 -1
  99. package/es/HiForm/HiAddressField.js +134 -0
  100. package/es/HiForm/HiFormControl.js +2 -0
  101. package/es/HiForm/HiInput.js +3 -3
  102. package/es/HiForm/HiSlider.js +302 -0
  103. package/es/HiForm/HiUpload.js +158 -0
  104. package/es/HiForm/HiUploadField.js +140 -0
  105. package/es/HiForm/HiUploadInput.js +411 -0
  106. package/es/HiForm/index.js +2 -0
  107. package/es/HiMap/HiMap.js +290 -0
  108. package/es/HiMap/HiMapExpand.js +162 -0
  109. package/es/HiMap/index.js +2 -0
  110. package/es/HiNotice/HiKPI.js +196 -0
  111. package/es/HiNotice/HiKPINotice.js +78 -0
  112. package/es/HiNotice/index.js +2 -0
  113. package/es/HiPdfReader/HiPdfReader.js +214 -0
  114. package/es/HiPdfReader/index.js +1 -0
  115. package/es/HiPin/HiPin.js +1 -1
  116. package/es/HiRadio/HiRadio.js +55 -0
  117. package/es/HiRadio/index.js +1 -0
  118. package/es/HiSelect/HiSelect.js +68 -78
  119. package/es/HiSelect/HiSuggestSelect.js +30 -4
  120. package/es/HiSelect/SelectInput.js +9 -1
  121. package/es/HiSelectNew/HiNestedSelectContent.js +5 -1
  122. package/es/HiSelectNew/HiSelect.js +246 -162
  123. package/es/HiSelectNew/HiSelectContent.js +0 -7
  124. package/es/HiSelectNew/HiSelectInput.js +8 -9
  125. package/es/HiSelectableList/HiSelectableList.js +34 -6
  126. package/es/HiSelectableList/HiSelectableListItem.js +92 -40
  127. package/es/HiTable/HiCellBuilder.js +130 -123
  128. package/es/HiTable/HiTableHeader.js +14 -12
  129. package/es/HiTable/constants.js +1 -0
  130. package/es/index.js +9 -1
  131. package/es/utils/helpers.js +1 -1
  132. package/index.es.js +9 -1
  133. package/index.js +66 -2
  134. package/package.json +5 -2
  135. package/umd/hipay-material-ui.development.js +44450 -40930
  136. package/umd/hipay-material-ui.production.min.js +2 -2
  137. package/utils/helpers.js +1 -1
package/HiMap/HiMap.js ADDED
@@ -0,0 +1,345 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = exports.styles = void 0;
9
+
10
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
+
12
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
+
14
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
15
+
16
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
17
+
18
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
19
+
20
+ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
21
+
22
+ var _react = _interopRequireDefault(require("react"));
23
+
24
+ var _propTypes = _interopRequireDefault(require("prop-types"));
25
+
26
+ var _styles = require("../styles");
27
+
28
+ var _HiButton = _interopRequireDefault(require("../HiButton"));
29
+
30
+ var _HiIcon = _interopRequireDefault(require("../HiIcon"));
31
+
32
+ var _HiLoader = _interopRequireDefault(require("../HiLoader"));
33
+
34
+ var apiUrl = 'https://nominatim.openstreetmap.org/search?q='; // The original CSS can be found here : https://unpkg.com/leaflet@1.3.1/dist/leaflet.css
35
+
36
+ var styles = function styles(theme) {
37
+ return {
38
+ map: {
39
+ height: '100%',
40
+ overflow: 'hidden',
41
+ // eslint-disable-next-line max-len
42
+ '& .leaflet-pane, & .leaflet-tile, & .leaflet-marker-icon, & .leaflet-marker-shadow, & .leaflet-tile-container, & .leaflet-pane > svg, & .leaflet-pane > canvas, & .leaflet-zoom-box, & .leaflet-image-layer, & .leaflet-layer': {
43
+ position: 'absolute',
44
+ left: 0,
45
+ top: 0
46
+ },
47
+ '& .leaflet-container': {
48
+ overflow: 'hidden',
49
+ height: '100%'
50
+ },
51
+ '& .leaflet-tile, & .leaflet-marker-icon, & .leaflet-marker-shadow': {
52
+ '-webkit-user-select': 'none',
53
+ '-moz-user-select': 'none',
54
+ userSelect: 'none',
55
+ '-webkit-user-drag': 'none'
56
+ },
57
+ '& .leaflet-control': {
58
+ display: 'none'
59
+ },
60
+ '& .map_marker': {
61
+ fill: theme.palette.primary.light
62
+ }
63
+ },
64
+ controlButtons: {
65
+ position: 'absolute',
66
+ bottom: 16,
67
+ right: 16
68
+ },
69
+ centerIcon: {
70
+ fontSize: 14
71
+ },
72
+ centerButtonContainer: {
73
+ backgroundColor: theme.palette.global.background1,
74
+ borderRadius: 3,
75
+ padding: 3,
76
+ fontFamily: theme.typography.fontFamily,
77
+ boxShadow: '1px 1px 5px rgba(0, 0, 0, .16)',
78
+ color: theme.palette.neutral.normal,
79
+ '&>button:first-child': {
80
+ borderBottom: "1px solid ".concat(theme.palette.neutral.normal)
81
+ }
82
+ },
83
+ centerButton: {
84
+ color: theme.palette.neutral.normal,
85
+ padding: '1px !important',
86
+ height: 26,
87
+ minHeight: 26,
88
+ width: 26,
89
+ minWidth: 26
90
+ },
91
+ zoomButtons: {
92
+ backgroundColor: theme.palette.global.background1,
93
+ borderRadius: 3,
94
+ padding: 3,
95
+ fontFamily: theme.typography.fontFamily,
96
+ boxShadow: '1px 1px 5px rgba(0, 0, 0, .16)',
97
+ color: theme.palette.neutral.normal,
98
+ '&>button:first-child': {
99
+ borderBottom: "1px solid ".concat(theme.palette.neutral.normal)
100
+ }
101
+ },
102
+ zoomButton: {
103
+ paddingTop: '0px !important',
104
+ paddingBottom: 0,
105
+ paddingRight: 6,
106
+ paddingLeft: 6,
107
+ minWidth: 0,
108
+ minHeight: 0,
109
+ borderRadius: 0,
110
+ display: 'block',
111
+ fontSize: 24,
112
+ fontWeight: 'bold',
113
+ lineHeight: '26px',
114
+ '&>span': {
115
+ width: 14
116
+ }
117
+ }
118
+ };
119
+ };
120
+
121
+ exports.styles = styles;
122
+ var L;
123
+ var Map;
124
+ var TileLayer;
125
+ var Marker;
126
+
127
+ var _ref = _react.default.createElement(TileLayer, {
128
+ url: "http://{s}.tile.openstreetmap.se/hydda/full/{z}/{x}/{y}.png"
129
+ });
130
+
131
+ var _ref2 = _react.default.createElement(_HiLoader.default, {
132
+ loading: true
133
+ });
134
+
135
+ var HiMap =
136
+ /*#__PURE__*/
137
+ function (_React$PureComponent) {
138
+ (0, _inherits2.default)(HiMap, _React$PureComponent);
139
+
140
+ function HiMap(props) {
141
+ var _this;
142
+
143
+ (0, _classCallCheck2.default)(this, HiMap);
144
+ _this = (0, _possibleConstructorReturn2.default)(this, (0, _getPrototypeOf2.default)(HiMap).call(this, props));
145
+ _this.mounted = false;
146
+ _this.state = {
147
+ lat: 0,
148
+ lng: 0,
149
+ notFound: false,
150
+ loaded: false,
151
+ zoom: 16
152
+ };
153
+ _this.handleClickZoomIn = _this.handleClickZoomIn.bind((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this)));
154
+ _this.handleScrollZoom = _this.handleScrollZoom.bind((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this)));
155
+ _this.handleClickZoomOut = _this.handleClickZoomOut.bind((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this)));
156
+ _this.handleCenter = _this.handleCenter.bind((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this)));
157
+ return _this;
158
+ } // Loads the libraries once the component mounted to avoid error caused by server-cli rendering.
159
+
160
+
161
+ (0, _createClass2.default)(HiMap, [{
162
+ key: "componentDidMount",
163
+ value: function componentDidMount() {
164
+ this.mounted = true;
165
+ this.findCoords();
166
+ /* eslint-disable */
167
+
168
+ L = require('leaflet');
169
+ Map = require('react-leaflet').Map;
170
+ Marker = require('react-leaflet').Marker;
171
+ TileLayer = require('react-leaflet').TileLayer;
172
+ /* eslint-enable */
173
+ }
174
+ }, {
175
+ key: "componentWillUnmount",
176
+ value: function componentWillUnmount() {
177
+ this.mounted = false;
178
+ }
179
+ }, {
180
+ key: "handleScrollZoom",
181
+ value: function handleScrollZoom(event) {
182
+ this.setState({
183
+ zoom: event.zoom
184
+ });
185
+ }
186
+ }, {
187
+ key: "handleClickZoomIn",
188
+ value: function handleClickZoomIn() {
189
+ this.setState(function (prevState) {
190
+ return {
191
+ zoom: prevState.zoom + 1
192
+ };
193
+ });
194
+ }
195
+ }, {
196
+ key: "handleClickZoomOut",
197
+ value: function handleClickZoomOut() {
198
+ this.setState(function (prevState) {
199
+ return {
200
+ zoom: prevState.zoom - 1
201
+ };
202
+ });
203
+ }
204
+ }, {
205
+ key: "handleCenter",
206
+ value: function handleCenter() {
207
+ // trick to center the map.
208
+ this.setState(function (prevState) {
209
+ return {
210
+ lat: prevState.lat + 0.0000000001
211
+ };
212
+ });
213
+ } // Call to the geocoding API.
214
+
215
+ }, {
216
+ key: "findCoords",
217
+ value: function findCoords() {
218
+ var _this2 = this;
219
+
220
+ fetch("".concat(apiUrl).concat(this.props.address, "&format=jsonv2&limit=5&bounded=1&dedupe=1&namedetails=1")).then(function (result) {
221
+ return result.json();
222
+ }).then(function (response) {
223
+ if (_this2.mounted) {
224
+ if (response.length !== 0) {
225
+ _this2.setState({
226
+ lat: parseFloat(response[0].lat),
227
+ lng: parseFloat(response[0].lon),
228
+ notFound: false,
229
+ loaded: true
230
+ });
231
+ } else {
232
+ _this2.setState({
233
+ notFound: true
234
+ });
235
+
236
+ _this2.props.onAddressNotFound();
237
+ }
238
+ }
239
+ });
240
+ }
241
+ }, {
242
+ key: "render",
243
+ value: function render() {
244
+ var _this$state = this.state,
245
+ zoom = _this$state.zoom,
246
+ lng = _this$state.lng,
247
+ lat = _this$state.lat,
248
+ notFound = _this$state.notFound,
249
+ loaded = _this$state.loaded;
250
+ var _this$props = this.props,
251
+ translations = _this$props.translations,
252
+ classes = _this$props.classes;
253
+ var position = [lat, lng];
254
+ var element;
255
+ var myIcon;
256
+ if (notFound) element = translations.notFound;
257
+
258
+ if (loaded) {
259
+ myIcon = L.divIcon({
260
+ html: '<svg x="0px" y="0px" viewBox="0 0 365 560" enable-background="new 0 0 365 560" xml:space="preserve">\n' + '<path class="map_marker" ' + 'd="M182.9,551.7c0,0.1,0.2,0.3,0.2,0.3S358.3,283,358.3,194.6c0-130.1-88.8-186.7-175.4-186.9 ' + 'C96.3,7.9,7.5,64.5,7.5,194.6c0,88.4,175.3,357.4,175.3,357.4S182.9,551.7,182.9,551.7z' + ' M122.2,187.2c0-33.6,27.2-60.8,60.8-60.8 ' + 'c33.6,0,60.8,27.2,60.8,60.8S216.5,248,182.9,248C149.4,248,122.2,220.8,122.2,187.2z"/>\n' + '</svg>',
261
+ iconSize: [24, 36],
262
+ iconAnchor: [11, 36]
263
+ });
264
+ element = _react.default.createElement(Map, {
265
+ zoom: zoom,
266
+ center: position,
267
+ className: classes.map,
268
+ onViewportChange: this.handleScrollZoom
269
+ }, _ref, _react.default.createElement(Marker, {
270
+ position: position,
271
+ icon: myIcon
272
+ }), _react.default.createElement("div", {
273
+ className: classes.controlButtons
274
+ }, _react.default.createElement("div", {
275
+ className: classes.centerButtonContainer
276
+ }, _react.default.createElement(_HiButton.default, {
277
+ className: classes.centerButton,
278
+ onClick: this.handleCenter
279
+ }, _react.default.createElement(_HiIcon.default, {
280
+ className: classes.centerIcon,
281
+ icon: 'my_location',
282
+ size: 24
283
+ }))), _react.default.createElement("div", {
284
+ className: classes.zoomButtons
285
+ }, _react.default.createElement(_HiButton.default, {
286
+ onClick: this.handleClickZoomIn,
287
+ className: classes.zoomButton
288
+ }, "+"), _react.default.createElement(_HiButton.default, {
289
+ onClick: this.handleClickZoomOut,
290
+ className: classes.zoomButton
291
+ }, "-"))));
292
+ } else {
293
+ element = _react.default.createElement("div", {
294
+ style: {
295
+ top: '50%',
296
+ left: '50%',
297
+ position: 'absolute'
298
+ }
299
+ }, _ref2);
300
+ }
301
+
302
+ return _react.default.createElement("div", {
303
+ style: {
304
+ height: '352px',
305
+ width: '100%',
306
+ position: 'relative'
307
+ }
308
+ }, element);
309
+ }
310
+ }]);
311
+ return HiMap;
312
+ }(_react.default.PureComponent);
313
+
314
+ HiMap.defaultProps = {
315
+ translations: {
316
+ notFound: 'Address not found'
317
+ }
318
+ };
319
+ HiMap.propTypes = process.env.NODE_ENV !== "production" ? {
320
+ /**
321
+ * The address to see in the Map component.
322
+ */
323
+ address: _propTypes.default.string.isRequired,
324
+
325
+ /**
326
+ * Useful to extend the style applied to components.
327
+ */
328
+ classes: _propTypes.default.object.isRequired,
329
+
330
+ /**
331
+ * Function to tell the parent composant that the address was not found by the API.
332
+ */
333
+ onAddressNotFound: _propTypes.default.func,
334
+
335
+ /**
336
+ * Traductions
337
+ */
338
+ translations: _propTypes.default.object
339
+ } : {};
340
+
341
+ var _default = (0, _styles.withStyles)(styles, {
342
+ name: 'HmuiHiMap'
343
+ })(HiMap);
344
+
345
+ exports.default = _default;
@@ -0,0 +1,210 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+
10
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
+
12
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
+
14
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
15
+
16
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
17
+
18
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
19
+
20
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
21
+
22
+ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
23
+
24
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
25
+
26
+ var _react = _interopRequireDefault(require("react"));
27
+
28
+ var _propTypes = _interopRequireDefault(require("prop-types"));
29
+
30
+ var _classnames = _interopRequireDefault(require("classnames"));
31
+
32
+ var _ExpansionPanel = _interopRequireDefault(require("@material-ui/core/ExpansionPanel"));
33
+
34
+ var _ExpansionPanelDetails = _interopRequireDefault(require("@material-ui/core/ExpansionPanelDetails"));
35
+
36
+ var _ExpansionPanelSummary = _interopRequireDefault(require("@material-ui/core/ExpansionPanelSummary"));
37
+
38
+ var _styles = require("../styles");
39
+
40
+ var _HiMap = _interopRequireDefault(require("./HiMap"));
41
+
42
+ var _HiIcon = _interopRequireDefault(require("../HiIcon/HiIcon"));
43
+
44
+ var styles = function styles(theme) {
45
+ return {
46
+ column: {
47
+ flexBasis: '33.33%'
48
+ },
49
+ root: {
50
+ flexGrow: 1,
51
+ boxShadow: 'none'
52
+ },
53
+ imgListItem: {
54
+ width: 24,
55
+ height: 'auto',
56
+ marginRight: 8,
57
+ verticalAlign: 'middle'
58
+ },
59
+ expandMoreIcon: {},
60
+ disabledIcon: {
61
+ color: theme.palette.action.disabled
62
+ },
63
+ panelSummaryExpanded: {
64
+ minHeight: 0
65
+ },
66
+ panelSummary: {
67
+ '&>div:first-child': {
68
+ margin: '12px 0'
69
+ }
70
+ },
71
+ expanded: {
72
+ '& $expandMoreIcon': {
73
+ transform: 'translateY(-50%) rotate(0) !important',
74
+ color: theme.palette.primary.light
75
+ },
76
+ minHeight: '0 !important'
77
+ },
78
+ heading: (0, _extends2.default)({}, theme.typography.b1, {
79
+ margin: 0,
80
+ fontSize: 15,
81
+ lineHeight: '24px'
82
+ }),
83
+ secondaryHeading: (0, _extends2.default)({}, theme.typography.b3, {
84
+ margin: 0,
85
+ fontSize: 15,
86
+ lineHeight: '24px',
87
+ float: 'left',
88
+ '&>svg': {
89
+ fontSize: 18,
90
+ marginLeft: 3,
91
+ marginBottom: -5
92
+ }
93
+ })
94
+ };
95
+ };
96
+
97
+ var HiMapExpand =
98
+ /*#__PURE__*/
99
+ function (_React$PureComponent) {
100
+ (0, _inherits2.default)(HiMapExpand, _React$PureComponent);
101
+
102
+ function HiMapExpand(props) {
103
+ var _this;
104
+
105
+ (0, _classCallCheck2.default)(this, HiMapExpand);
106
+ _this = (0, _possibleConstructorReturn2.default)(this, (0, _getPrototypeOf2.default)(HiMapExpand).call(this, props));
107
+ _this.state = {
108
+ addressNotFound: false,
109
+ expanded: false
110
+ };
111
+ _this.handleAddressNotFound = _this.handleAddressNotFound.bind((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this)));
112
+ _this.handleExpand = _this.handleExpand.bind((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this)));
113
+ return _this;
114
+ }
115
+
116
+ (0, _createClass2.default)(HiMapExpand, [{
117
+ key: "handleExpand",
118
+ value: function handleExpand() {
119
+ this.setState(function (prevState) {
120
+ return {
121
+ expanded: !prevState.addressNotFound && !prevState.expanded
122
+ };
123
+ });
124
+ }
125
+ }, {
126
+ key: "handleAddressNotFound",
127
+ value: function handleAddressNotFound() {
128
+ this.setState({
129
+ addressNotFound: true
130
+ });
131
+ }
132
+ }, {
133
+ key: "render",
134
+ value: function render() {
135
+ var _this$props = this.props,
136
+ classes = _this$props.classes,
137
+ address = _this$props.address,
138
+ countryFlagPath = _this$props.countryFlagPath;
139
+ var _this$state = this.state,
140
+ addressNotFound = _this$state.addressNotFound,
141
+ expanded = _this$state.expanded;
142
+ var flag = countryFlagPath ? _react.default.createElement("img", {
143
+ src: countryFlagPath,
144
+ className: classes.imgListItem,
145
+ alt: 'country flag'
146
+ }) : '';
147
+ return _react.default.createElement(_ExpansionPanel.default, {
148
+ className: classes.root,
149
+ defaultExpanded: false,
150
+ expanded: expanded,
151
+ onChange: this.handleExpand
152
+ }, _react.default.createElement(_ExpansionPanelSummary.default, {
153
+ classes: {
154
+ root: classes.panelSummary,
155
+ expanded: classes.expanded,
156
+ expandIcon: classes.expandMoreIcon
157
+ },
158
+ expandIcon: _react.default.createElement(_HiIcon.default, {
159
+ icon: 'place',
160
+ style: {
161
+ position: 'relative',
162
+ top: 2,
163
+ marginRight: 5
164
+ },
165
+ className: (0, _classnames.default)((0, _defineProperty2.default)({}, classes.disabledIcon, addressNotFound))
166
+ })
167
+ }, _react.default.createElement("div", {
168
+ className: classes.column
169
+ }, _react.default.createElement("p", {
170
+ className: classes.secondaryHeading
171
+ }, "Adresse")), _react.default.createElement("div", null, _react.default.createElement("p", {
172
+ className: classes.heading
173
+ }, flag, address))), _react.default.createElement(_ExpansionPanelDetails.default, {
174
+ style: {
175
+ padding: 0
176
+ }
177
+ }, _react.default.createElement(_HiMap.default, {
178
+ address: address,
179
+ onAddressNotFound: this.handleAddressNotFound
180
+ })));
181
+ }
182
+ }]);
183
+ return HiMapExpand;
184
+ }(_react.default.PureComponent);
185
+
186
+ HiMapExpand.defaultProps = {
187
+ countryFlagPath: ''
188
+ };
189
+ HiMapExpand.propTypes = process.env.NODE_ENV !== "production" ? {
190
+ /**
191
+ * The address to see in the Map component.
192
+ */
193
+ address: _propTypes.default.string.isRequired,
194
+
195
+ /**
196
+ * Useful to extend the style applied to components.
197
+ */
198
+ classes: _propTypes.default.object.isRequired,
199
+
200
+ /**
201
+ * The path to the country flag image.
202
+ */
203
+ countryFlagPath: _propTypes.default.string
204
+ } : {};
205
+
206
+ var _default = (0, _styles.withStyles)(styles, {
207
+ name: 'HmuiHiMapExpand'
208
+ })(HiMapExpand);
209
+
210
+ exports.default = _default;
package/HiMap/index.js ADDED
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ Object.defineProperty(exports, "default", {
9
+ enumerable: true,
10
+ get: function get() {
11
+ return _HiMap.default;
12
+ }
13
+ });
14
+ Object.defineProperty(exports, "HiMapExpand", {
15
+ enumerable: true,
16
+ get: function get() {
17
+ return _HiMapExpand.default;
18
+ }
19
+ });
20
+
21
+ var _HiMap = _interopRequireDefault(require("./HiMap"));
22
+
23
+ var _HiMapExpand = _interopRequireDefault(require("./HiMapExpand"));