@hipay/hipay-material-ui 2.3.4 → 3.0.0

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 (65) hide show
  1. package/HiChip/HiChip.js +1 -0
  2. package/HiDatePicker/HiDateRangeSelector.js +181 -46
  3. package/HiDatePicker/stylesheet.js +1 -2
  4. package/HiExpansionPanel/HiExpansionPanel.js +63 -98
  5. package/HiForm/HiFormControl.js +8 -8
  6. package/HiIcon/HiIcon.js +58 -54
  7. package/HiPaymentMeans/HiPaymentMeans.js +8 -5
  8. package/HiPin/HiPin.js +12 -20
  9. package/HiSelect/HiSelect.js +44 -10
  10. package/HiSelectableList/HiSelectableListItem.js +38 -24
  11. package/HiSwitch/HiSwitch.js +4 -1
  12. package/es/HiChip/HiChip.js +1 -0
  13. package/es/HiDatePicker/HiDateRangeSelector.js +181 -46
  14. package/es/HiDatePicker/stylesheet.js +1 -2
  15. package/es/HiExpansionPanel/HiExpansionPanel.js +63 -98
  16. package/es/HiForm/HiFormControl.js +8 -8
  17. package/es/HiIcon/HiIcon.js +58 -54
  18. package/es/HiPaymentMeans/HiPaymentMeans.js +8 -5
  19. package/es/HiPin/HiPin.js +12 -20
  20. package/es/HiSelect/HiSelect.js +44 -10
  21. package/es/HiSelectableList/HiSelectableListItem.js +38 -24
  22. package/es/HiSwitch/HiSwitch.js +4 -1
  23. package/es/hi-svg-icons/HiAccount.js +8 -11
  24. package/es/hi-svg-icons/HiBilling.js +8 -11
  25. package/es/hi-svg-icons/HiCatalog.js +8 -11
  26. package/es/hi-svg-icons/HiCustomer.js +8 -11
  27. package/es/hi-svg-icons/HiFinance.js +8 -11
  28. package/es/hi-svg-icons/HiIntelligence.js +59 -0
  29. package/es/hi-svg-icons/HiOrder.js +74 -0
  30. package/es/hi-svg-icons/HiPaymentOrder.js +56 -0
  31. package/es/hi-svg-icons/HiPriceGrid.js +56 -0
  32. package/es/hi-svg-icons/HiRoute.js +8 -11
  33. package/es/hi-svg-icons/HiSettlement.js +8 -11
  34. package/es/hi-svg-icons/HiTransaction.js +8 -11
  35. package/es/hi-svg-icons/HiUser.js +8 -11
  36. package/es/hi-svg-icons/HiVendor.js +56 -0
  37. package/es/hi-svg-icons/HiWidget.js +8 -16
  38. package/es/hi-svg-icons/index.js +41 -1
  39. package/es/setupTest.js +44 -0
  40. package/es/styleguide/Wrapper.js +9 -37
  41. package/es/styles/makeStyles.js +28 -0
  42. package/es/styles/withStyles.js +28 -0
  43. package/es/theme.js +7 -9
  44. package/hi-svg-icons/HiAccount.js +8 -11
  45. package/hi-svg-icons/HiBilling.js +8 -11
  46. package/hi-svg-icons/HiCatalog.js +8 -11
  47. package/hi-svg-icons/HiCustomer.js +8 -11
  48. package/hi-svg-icons/HiFinance.js +8 -11
  49. package/hi-svg-icons/HiIntelligence.js +59 -0
  50. package/hi-svg-icons/HiOrder.js +74 -0
  51. package/hi-svg-icons/HiPaymentOrder.js +56 -0
  52. package/hi-svg-icons/HiPriceGrid.js +56 -0
  53. package/hi-svg-icons/HiRoute.js +8 -11
  54. package/hi-svg-icons/HiSettlement.js +8 -11
  55. package/hi-svg-icons/HiTransaction.js +8 -11
  56. package/hi-svg-icons/HiUser.js +8 -11
  57. package/hi-svg-icons/HiVendor.js +56 -0
  58. package/hi-svg-icons/HiWidget.js +8 -16
  59. package/hi-svg-icons/index.js +41 -1
  60. package/package.json +2 -2
  61. package/setupTest.js +44 -0
  62. package/styleguide/Wrapper.js +9 -37
  63. package/styles/makeStyles.js +28 -0
  64. package/styles/withStyles.js +28 -0
  65. package/theme.js +7 -9
package/HiChip/HiChip.js CHANGED
@@ -68,6 +68,7 @@ var styles = function styles(theme) {
68
68
  marginLeft: 4,
69
69
  position: 'relative',
70
70
  cursor: 'pointer',
71
+ color: theme.palette.neutral.main,
71
72
  '&:hover, &:focus': {
72
73
  color: theme.palette.neutral.dark
73
74
  }
@@ -8,6 +8,7 @@ Object.defineProperty(exports, "__esModule", {
8
8
  exports.findSeparator = findSeparator;
9
9
  exports.yearAndMonth = yearAndMonth;
10
10
  exports.yearAndQuarter = yearAndQuarter;
11
+ exports.buildDateRangeInfo = buildDateRangeInfo;
11
12
  exports.buildDateRangeOptionByKey = buildDateRangeOptionByKey;
12
13
  exports.default = exports.styles = void 0;
13
14
 
@@ -89,19 +90,58 @@ function yearAndQuarter(format, date, t) {
89
90
  return indexY < indexM ? date.format("".concat(split[indexY]).concat(s, "[").concat(t.short_quarter, "]Q")) : date.format("[".concat(t.short_quarter, "]Q").concat(s).concat(split[indexY]));
90
91
  }
91
92
 
93
+ function buildDateRangeInfo(t, from, to, format) {
94
+ var options = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {};
95
+ var _options$prefix = options.prefix,
96
+ prefix = _options$prefix === void 0 ? null : _options$prefix,
97
+ _options$toNow = options.toNow,
98
+ toNow = _options$toNow === void 0 ? false : _options$toNow,
99
+ _options$displayDays = options.displayDays,
100
+ displayDays = _options$displayDays === void 0 ? true : _options$displayDays; // From
101
+
102
+ var info = "".concat(t.from, " ").concat(from.format(format), " "); // To
103
+
104
+ if (toNow) {
105
+ info += "".concat(t.to_now);
106
+ } else {
107
+ info += "".concat(t.to, " ").concat(to.format(format));
108
+ } // Prefix
109
+
110
+
111
+ switch (prefix) {
112
+ case "week":
113
+ info = "".concat(t.short_week).concat(from.format('w'), ", ").concat(info);
114
+ break;
115
+
116
+ case "quarter":
117
+ info = "".concat(t.short_quarter).concat(from.format('Q'), ", ").concat(info);
118
+ break;
119
+
120
+ default:
121
+ break;
122
+ } // Display number of days
123
+
124
+
125
+ if (displayDays) {
126
+ var days = Math.ceil(to.diff(from, 'days', true));
127
+ info = "".concat(days, " ").concat(t.days, ", ").concat(info);
128
+ }
129
+
130
+ return info;
131
+ }
132
+
92
133
  function buildDateRangeOptionByKey(key, t, format) {
93
134
  var from;
94
135
  var label;
95
136
  var info;
96
137
  var to;
97
- var type;
98
138
 
99
139
  switch (key) {
100
140
  case 'custom':
101
141
  label = t.custom_period;
102
142
  from = (0, _momentTimezone.default)().subtract(15, 'day').startOf('day');
103
143
  to = (0, _momentTimezone.default)().endOf('day');
104
- type = 'primary-highlight';
144
+ info = t.custom_period_info;
105
145
  break;
106
146
 
107
147
  case 'cd':
@@ -122,49 +162,84 @@ function buildDateRangeOptionByKey(key, t, format) {
122
162
  label = t.current_week;
123
163
  from = (0, _momentTimezone.default)().startOf('week');
124
164
  to = (0, _momentTimezone.default)();
125
- info = "".concat(t.short_week).concat(from.format('w'), ", \n ").concat(from.format(format), " ").concat(t.to_now);
165
+ info = buildDateRangeInfo(t, from, to, format, {
166
+ prefix: "week",
167
+ toNow: true,
168
+ displayDays: true
169
+ });
126
170
  break;
127
171
 
128
172
  case 'pw':
129
173
  label = t.previous_week;
130
174
  from = (0, _momentTimezone.default)().subtract(1, 'week').startOf('week');
131
175
  to = (0, _momentTimezone.default)().subtract(1, 'week').endOf('week');
132
- info = "".concat(t.short_week).concat(from.format('w'), ", ").concat(from.format(format), " ").concat(t.to, " ").concat(to.format(format));
176
+ info = buildDateRangeInfo(t, from, to, format, {
177
+ prefix: "week",
178
+ toNow: false,
179
+ displayDays: true
180
+ });
133
181
  break;
134
182
 
135
183
  case 'cm':
136
184
  label = t.current_month;
137
185
  from = (0, _momentTimezone.default)().startOf('month');
138
186
  to = (0, _momentTimezone.default)();
139
- info = "".concat(from.format(format), " ").concat(t.to_now, ", ").concat(to.diff(from, 'days') + 1, " ").concat(t.days);
187
+ info = buildDateRangeInfo(t, from, to, format, {
188
+ prefix: null,
189
+ toNow: true,
190
+ displayDays: true
191
+ });
140
192
  break;
141
193
 
142
194
  case 'pm':
143
195
  label = t.previous_month;
144
196
  from = (0, _momentTimezone.default)().subtract(1, 'month').startOf('month');
145
197
  to = (0, _momentTimezone.default)().subtract(1, 'month').endOf('month');
146
- info = "".concat(yearAndMonth(format, from), ", ").concat(from.daysInMonth(), " ").concat(t.days);
198
+ info = "".concat(from.daysInMonth(), " ").concat(t.days, ", ").concat(yearAndMonth(format, from));
147
199
  break;
148
200
 
149
201
  case 'cq':
150
202
  label = t.current_quarter;
151
203
  from = (0, _momentTimezone.default)().startOf('quarter');
152
204
  to = (0, _momentTimezone.default)();
153
- info = "".concat(yearAndQuarter(format, from, t), ", ").concat(from.format(format), " ").concat(t.to_now, ", ").concat(to.diff(from, 'days') + 1, " ").concat(t.days);
205
+ info = buildDateRangeInfo(t, from, to, format, {
206
+ prefix: "quarter",
207
+ toNow: true,
208
+ displayDays: true
209
+ });
154
210
  break;
155
211
 
156
212
  case 'pq':
157
213
  label = t.previous_quarter;
158
214
  from = (0, _momentTimezone.default)().subtract(1, 'quarter').startOf('quarter');
159
215
  to = (0, _momentTimezone.default)().subtract(1, 'quarter').endOf('quarter');
160
- info = "".concat(yearAndQuarter(format, from, t), ", ").concat(to.diff(from, 'days') + 1, " ").concat(t.days);
216
+ info = buildDateRangeInfo(t, from, to, format, {
217
+ prefix: "quarter",
218
+ toNow: false,
219
+ displayDays: true
220
+ });
161
221
  break;
162
222
 
163
223
  case 'cy':
164
224
  label = t.current_year;
165
225
  from = (0, _momentTimezone.default)().startOf('year');
166
226
  to = (0, _momentTimezone.default)();
167
- info = "".concat(from.format(format), " ").concat(t.to_now, ", ").concat(to.diff(from, 'days') + 1, " ").concat(t.days);
227
+ info = buildDateRangeInfo(t, from, to, format, {
228
+ prefix: null,
229
+ toNow: true,
230
+ displayDays: true
231
+ });
232
+ break;
233
+
234
+ case 'yy':
235
+ label = t.year_on_year;
236
+ from = (0, _momentTimezone.default)().subtract(1, 'years');
237
+ to = (0, _momentTimezone.default)();
238
+ info = buildDateRangeInfo(t, from, to, format, {
239
+ prefix: null,
240
+ toNow: true,
241
+ displayDays: true
242
+ });
168
243
  break;
169
244
 
170
245
  default:
@@ -176,12 +251,11 @@ function buildDateRangeOptionByKey(key, t, format) {
176
251
  from: from,
177
252
  info: info,
178
253
  label: label,
179
- to: to,
180
- type: type
254
+ to: to
181
255
  };
182
256
  }
183
257
 
184
- var styles = function styles() {
258
+ var styles = function styles(theme) {
185
259
  return {
186
260
  root: {
187
261
  maxWidth: 500,
@@ -192,21 +266,22 @@ var styles = function styles() {
192
266
  }
193
267
  },
194
268
  dateRangePicker: {
195
- width: 'calc(100% + 8px)',
269
+ width: '100%',
196
270
  marginTop: 0
197
271
  },
198
272
  smSelect: {
199
- padding: 4
273
+ padding: theme.spacing(1)
200
274
  },
201
275
  smRangePicker: {},
202
276
  select: {
203
277
  '@media(max-width: 700px)': {
204
278
  width: '100%',
205
- paddingBottom: 8
279
+ paddingBottom: theme.spacing(2)
206
280
  },
207
281
  '@media(min-width: 700px)': {
208
- minWidth: 'calc(100% / 3)',
209
- paddingRight: 8
282
+ minWidth: 200,
283
+ width: 'calc(100% - 244px)',
284
+ marginRight: theme.spacing(2)
210
285
  }
211
286
  },
212
287
  input: {
@@ -214,16 +289,18 @@ var styles = function styles() {
214
289
  width: '100%'
215
290
  },
216
291
  '@media(min-width: 700px)': {
217
- width: 'calc(100% / 3 * 2)'
292
+ width: 236
218
293
  }
219
294
  },
220
295
  formControlLabel: {
221
- top: 20
296
+ top: theme.spacing(5)
222
297
  }
223
298
  };
224
299
  };
225
300
 
226
301
  exports.styles = styles;
302
+ var PRESET_PERIOD_LIST = ['cd', 'pd', 'cw', 'pw', 'cm', 'pm', 'cq', 'pq', 'cy', 'yy'];
303
+ var CUSTOM_PERIOD_LIST = ['custom'];
227
304
 
228
305
  var HiDateRangeSelector =
229
306
  /*#__PURE__*/
@@ -304,37 +381,90 @@ function (_React$Component) {
304
381
  }
305
382
  }
306
383
  }, {
307
- key: "render",
308
- value: function render() {
384
+ key: "buildOptions",
385
+ value: function buildOptions() {
309
386
  var _this2 = this;
310
387
 
311
388
  var _this$props = this.props,
312
- disabled = _this$props.disabled,
313
- enableTime = _this$props.enableTime,
314
- errorText = _this$props.errorText,
315
- fromError = _this$props.fromError,
316
- toError = _this$props.toError,
317
- helperIcon = _this$props.helperIcon,
318
- helperText = _this$props.helperText,
319
- idRange = _this$props.idRange,
320
- idSelect = _this$props.idSelect,
321
- minimumDate = _this$props.minimumDate,
322
- label = _this$props.label,
323
- from = _this$props.from,
324
- onChange = _this$props.onChange,
325
- required = _this$props.required,
326
- to = _this$props.to,
327
- translations = _this$props.translations,
328
- classes = _this$props.classes,
329
- selectProps = _this$props.selectProps,
330
- staticPosition = _this$props.staticPosition,
331
- props = (0, _objectWithoutProperties2.default)(_this$props, ["disabled", "enableTime", "errorText", "fromError", "toError", "helperIcon", "helperText", "idRange", "idSelect", "minimumDate", "label", "from", "onChange", "required", "to", "translations", "classes", "selectProps", "staticPosition"]);
389
+ availableOptionKeys = _this$props.availableOptionKeys,
390
+ translations = _this$props.translations;
391
+ var selectedPreset = this.state.selectedPreset;
392
+ var options = [];
393
+ var presetOptionsAvailable = availableOptionKeys.filter(function (option) {
394
+ return PRESET_PERIOD_LIST.includes(option);
395
+ });
396
+ var customOptionsAvailable = availableOptionKeys.filter(function (option) {
397
+ return CUSTOM_PERIOD_LIST.includes(option);
398
+ });
399
+
400
+ if (presetOptionsAvailable) {
401
+ options.push({
402
+ id: "preset_periods_subheader",
403
+ type: PRESET_PERIOD_LIST.includes(selectedPreset) ? "primary-highlight" : "highlight",
404
+ pinned: true,
405
+ icon: "mdi_calendar",
406
+ label: translations.preset_periods
407
+ });
408
+ presetOptionsAvailable.forEach(function (option) {
409
+ options.push(_this2.options.find(function (_option) {
410
+ return _option.id === option;
411
+ }));
412
+ });
413
+ }
414
+
415
+ if (customOptionsAvailable) {
416
+ options.push({
417
+ id: "custom_periods_subheader",
418
+ type: CUSTOM_PERIOD_LIST.includes(selectedPreset) ? "primary-highlight" : "highlight",
419
+ pinned: true,
420
+ icon: "mdi_calendar_blank",
421
+ label: translations.custom_periods
422
+ });
423
+ customOptionsAvailable.forEach(function (option) {
424
+ options.push(_this2.options.find(function (_option) {
425
+ return _option.id === option;
426
+ }));
427
+ });
428
+ }
429
+
430
+ return options;
431
+ }
432
+ }, {
433
+ key: "render",
434
+ value: function render() {
435
+ var _this3 = this;
436
+
437
+ var _this$props2 = this.props,
438
+ availableOptionKeys = _this$props2.availableOptionKeys,
439
+ disabled = _this$props2.disabled,
440
+ enableTime = _this$props2.enableTime,
441
+ errorText = _this$props2.errorText,
442
+ fromError = _this$props2.fromError,
443
+ toError = _this$props2.toError,
444
+ helperIcon = _this$props2.helperIcon,
445
+ helperText = _this$props2.helperText,
446
+ idRange = _this$props2.idRange,
447
+ idSelect = _this$props2.idSelect,
448
+ minimumDate = _this$props2.minimumDate,
449
+ label = _this$props2.label,
450
+ from = _this$props2.from,
451
+ onChange = _this$props2.onChange,
452
+ required = _this$props2.required,
453
+ to = _this$props2.to,
454
+ translations = _this$props2.translations,
455
+ classes = _this$props2.classes,
456
+ selectProps = _this$props2.selectProps,
457
+ staticPosition = _this$props2.staticPosition,
458
+ props = (0, _objectWithoutProperties2.default)(_this$props2, ["availableOptionKeys", "disabled", "enableTime", "errorText", "fromError", "toError", "helperIcon", "helperText", "idRange", "idSelect", "minimumDate", "label", "from", "onChange", "required", "to", "translations", "classes", "selectProps", "staticPosition"]);
332
459
  var _this$state = this.state,
333
460
  selectedPreset = _this$state.selectedPreset,
334
461
  containerWidth = _this$state.containerWidth;
335
462
  var hiSelectableListProps = {
336
- hideCheckbox: true
463
+ secondaryInline: false,
464
+ hideCheckbox: true,
465
+ lazy: false
337
466
  };
467
+ var options = this.buildOptions();
338
468
  return _react.default.createElement(_HiFormControl.default, {
339
469
  disabled: disabled,
340
470
  helperIcon: helperIcon,
@@ -351,7 +481,7 @@ function (_React$Component) {
351
481
  flexDirection: 'column'
352
482
  } : {},
353
483
  ref: function ref(container) {
354
- _this2.container = container;
484
+ _this3.container = container;
355
485
  }
356
486
  }, _react.default.createElement("div", {
357
487
  className: classes.select,
@@ -367,7 +497,7 @@ function (_React$Component) {
367
497
  hideCheckbox: true,
368
498
  hiSelectableListProps: hiSelectableListProps,
369
499
  name: 'selectedPreset',
370
- options: this.options,
500
+ options: options,
371
501
  onChange: this.handleSelectChange('selectedPreset'),
372
502
  required: required,
373
503
  translations: translations,
@@ -418,7 +548,7 @@ function (_React$Component) {
418
548
  }(_react.default.Component);
419
549
 
420
550
  HiDateRangeSelector.defaultProps = {
421
- availableOptionKeys: ['cd', 'pd', 'cw', 'pw', 'cm', 'pm', 'cq', 'pq', 'cy', 'custom'],
551
+ availableOptionKeys: [].concat(PRESET_PERIOD_LIST, CUSTOM_PERIOD_LIST),
422
552
  enableTime: false,
423
553
  returnSelectValue: false,
424
554
  staticPosition: false,
@@ -441,6 +571,7 @@ HiDateRangeSelector.defaultProps = {
441
571
  days: 'days',
442
572
  custom_period: 'Custom Period',
443
573
  yesterday: 'Yesterday',
574
+ from: 'from',
444
575
  to: 'to',
445
576
  to_now: 'to now',
446
577
  current_week: 'Current Week',
@@ -450,12 +581,16 @@ HiDateRangeSelector.defaultProps = {
450
581
  current_quarter: 'Current Quarter',
451
582
  previous_quarter: 'Previous Quarter',
452
583
  current_year: 'Current Year',
584
+ year_on_year: "Last twelve months",
453
585
  invalid_format: 'The date format is not valid',
454
586
  to_superior_from: 'Date from cannot be greater than date to',
455
587
  date_superior_max_date: 'Date from cannot be greater than %s',
456
588
  date_inferior_min_date: 'Date from cannot be before than %s',
457
589
  missing_date_from: 'Missing date from',
458
- missing_date_to: 'Missing date to'
590
+ missing_date_to: 'Missing date to',
591
+ preset_periods: 'Preset periods',
592
+ custom_periods: 'Custom periods',
593
+ custom_period_info: "Select a custom period"
459
594
  }
460
595
  };
461
596
 
@@ -17,7 +17,6 @@ var _default = function _default(theme) {
17
17
  position: 'relative',
18
18
  display: 'inline-block',
19
19
  width: '100%',
20
- minWidth: 252,
21
20
  maxWidth: 500
22
21
  },
23
22
  rootMobile: (0, _objectSpread2.default)({}, theme.typography.b1, {
@@ -40,7 +39,7 @@ var _default = function _default(theme) {
40
39
  position: 'relative',
41
40
  display: 'inline-block',
42
41
  width: 'calc(50% - 4px)',
43
- paddingRight: 4
42
+ marginRight: theme.spacing(1)
44
43
  },
45
44
  toInput: {
46
45
  position: 'relative',
@@ -1,31 +1,25 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
+
3
5
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
6
 
5
7
  Object.defineProperty(exports, "__esModule", {
6
8
  value: true
7
9
  });
8
- exports.default = exports.styles = void 0;
10
+ exports.default = void 0;
9
11
 
10
12
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/extends"));
11
13
 
12
14
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/defineProperty"));
13
15
 
14
- var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectWithoutProperties"));
15
-
16
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/classCallCheck"));
17
-
18
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/createClass"));
16
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
19
17
 
20
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/possibleConstructorReturn"));
21
-
22
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/getPrototypeOf"));
23
-
24
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/inherits"));
18
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectWithoutProperties"));
25
19
 
26
20
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
27
21
 
28
- var _react = _interopRequireDefault(require("react"));
22
+ var _react = _interopRequireWildcard(require("react"));
29
23
 
30
24
  var _ExpansionPanel = _interopRequireDefault(require("@material-ui/core/ExpansionPanel"));
31
25
 
@@ -39,7 +33,7 @@ var _styles = require("@material-ui/core/styles");
39
33
 
40
34
  var _classnames = _interopRequireDefault(require("classnames"));
41
35
 
42
- var styles = function styles(theme) {
36
+ var useStyles = (0, _styles.makeStyles)(function (theme) {
43
37
  return {
44
38
  summaryContent: {
45
39
  display: 'flex',
@@ -114,105 +108,76 @@ var styles = function styles(theme) {
114
108
  right: 0
115
109
  }
116
110
  };
117
- };
111
+ });
118
112
  /**
119
113
  * HiExpansionPanel
120
114
  */
121
115
 
122
-
123
- exports.styles = styles;
124
-
125
116
  var _ref = _react.default.createElement(_HiIcon.default, {
126
117
  icon: "mdi_menu_up",
127
118
  size: 24
128
119
  });
129
120
 
130
- var HiExpansionPanel =
131
- /*#__PURE__*/
132
- function (_React$PureComponent) {
133
- (0, _inherits2.default)(HiExpansionPanel, _React$PureComponent);
134
-
135
- function HiExpansionPanel(props) {
136
- var _this;
137
-
138
- (0, _classCallCheck2.default)(this, HiExpansionPanel);
139
- _this = (0, _possibleConstructorReturn2.default)(this, (0, _getPrototypeOf2.default)(HiExpansionPanel).call(this, props));
140
- _this.state = {
141
- panelDetailsExited: !(props.collapseDisable || props.expanded)
142
- };
143
- return _this;
144
- }
145
-
146
- (0, _createClass2.default)(HiExpansionPanel, [{
147
- key: "render",
148
- value: function render() {
149
- var _this2 = this;
150
-
151
- var _this$props = this.props,
152
- disabled = _this$props.disabled,
153
- heading = _this$props.heading,
154
- secondaryHeading = _this$props.secondaryHeading,
155
- secondaryHeadingDisabled = _this$props.secondaryHeadingDisabled,
156
- secondaryHeadingIcon = _this$props.secondaryHeadingIcon,
157
- collapseDisable = _this$props.collapseDisable,
158
- children = _this$props.children,
159
- classes = _this$props.classes,
160
- expanded = _this$props.expanded,
161
- props = (0, _objectWithoutProperties2.default)(_this$props, ["disabled", "heading", "secondaryHeading", "secondaryHeadingDisabled", "secondaryHeadingIcon", "collapseDisable", "children", "classes", "expanded"]);
162
- var effectiveDisabled = disabled || !children;
163
- return _react.default.createElement(_ExpansionPanel.default, (0, _extends2.default)({
164
- disabled: effectiveDisabled,
165
- classes: {
166
- root: classes.panel,
167
- disabled: classes.disabledPanel
168
- },
169
- expanded: collapseDisable || expanded
170
- }, props, {
171
- TransitionProps: {
172
- onExited: function onExited() {
173
- _this2.setState({
174
- panelDetailsExited: true
175
- });
176
- },
177
- onEnter: function onEnter() {
178
- _this2.setState({
179
- panelDetailsExited: false
180
- });
181
- }
182
- }
183
- }), _react.default.createElement(_ExpansionPanelSummary.default, {
184
- classes: {
185
- root: classes.summaryRoot,
186
- content: classes.summaryContent,
187
- expanded: classes.expanded,
188
- expandIcon: classes.expandIcon
189
- },
190
- className: (0, _classnames.default)((0, _defineProperty2.default)({}, classes.collapseDisable, collapseDisable)),
191
- expandIcon: !collapseDisable && _ref
192
- }, _react.default.createElement("div", {
193
- className: classes.heading
194
- }, heading), _react.default.createElement("div", {
195
- className: classes.secondaryHeading
196
- }, _react.default.createElement("span", {
197
- className: classes.secondaryHeadingSpan
198
- }, !effectiveDisabled ? secondaryHeading : secondaryHeadingDisabled), secondaryHeadingIcon)), !!children && _react.default.createElement(_ExpansionPanelDetails.default, {
199
- className: (0, _classnames.default)(classes.panelDetails, (0, _defineProperty2.default)({}, classes.panelDetailsExited, this.state.panelDetailsExited))
200
- }, children));
121
+ function HiExpansionPanel(props) {
122
+ var disabled = props.disabled,
123
+ heading = props.heading,
124
+ secondaryHeading = props.secondaryHeading,
125
+ secondaryHeadingDisabled = props.secondaryHeadingDisabled,
126
+ secondaryHeadingIcon = props.secondaryHeadingIcon,
127
+ collapseDisable = props.collapseDisable,
128
+ children = props.children,
129
+ expanded = props.expanded,
130
+ TransitionProps = props.TransitionProps,
131
+ others = (0, _objectWithoutProperties2.default)(props, ["disabled", "heading", "secondaryHeading", "secondaryHeadingDisabled", "secondaryHeadingIcon", "collapseDisable", "children", "expanded", "TransitionProps"]);
132
+ var classes = useStyles(props);
133
+
134
+ var _useState = (0, _react.useState)(!collapseDisable && !expanded),
135
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
136
+ panelDetailsExited = _useState2[0],
137
+ setPanelDetailsExited = _useState2[1];
138
+
139
+ var effectiveDisabled = disabled || !children;
140
+ return _react.default.createElement(_ExpansionPanel.default, (0, _extends2.default)({
141
+ disabled: effectiveDisabled,
142
+ expanded: collapseDisable || expanded,
143
+ TransitionProps: (0, _objectSpread2.default)({
144
+ onExited: function onExited() {
145
+ return setPanelDetailsExited(true);
146
+ },
147
+ onEnter: function onEnter() {
148
+ return setPanelDetailsExited(false);
149
+ }
150
+ }, TransitionProps)
151
+ }, others, {
152
+ classes: {
153
+ root: classes.panel,
154
+ disabled: classes.disabledPanel
201
155
  }
202
- }]);
203
- return HiExpansionPanel;
204
- }(_react.default.PureComponent);
156
+ }), _react.default.createElement(_ExpansionPanelSummary.default, {
157
+ classes: {
158
+ root: classes.summaryRoot,
159
+ content: classes.summaryContent,
160
+ expanded: classes.expanded,
161
+ expandIcon: classes.expandIcon
162
+ },
163
+ className: (0, _classnames.default)((0, _defineProperty2.default)({}, classes.collapseDisable, collapseDisable)),
164
+ expandIcon: !collapseDisable && _ref
165
+ }, _react.default.createElement("div", {
166
+ className: classes.heading
167
+ }, heading), _react.default.createElement("div", {
168
+ className: classes.secondaryHeading
169
+ }, _react.default.createElement("span", {
170
+ className: classes.secondaryHeadingSpan
171
+ }, !effectiveDisabled ? secondaryHeading : secondaryHeadingDisabled), secondaryHeadingIcon)), !!children && _react.default.createElement(_ExpansionPanelDetails.default, {
172
+ className: (0, _classnames.default)(classes.panelDetails, (0, _defineProperty2.default)({}, classes.panelDetailsExited, panelDetailsExited))
173
+ }, children));
174
+ }
205
175
 
206
176
  HiExpansionPanel.defaultProps = {
207
177
  disabled: false,
208
178
  secondaryHeading: '',
209
179
  secondaryHeadingIcon: '',
210
- secondaryHeadingDisabled: 'PAS ENCORE COMPLETE'
180
+ secondaryHeadingDisabled: ''
211
181
  };
212
-
213
- var _default = (0, _styles.withStyles)(styles, {
214
- hiComponent: true,
215
- name: 'HmuiHiExpansionPanel'
216
- })(HiExpansionPanel);
217
-
182
+ var _default = HiExpansionPanel;
218
183
  exports.default = _default;
@@ -75,7 +75,7 @@ var styles = function styles(theme) {
75
75
  },
76
76
  '&$iconFullWidth': {
77
77
  position: 'absolute',
78
- right: 5,
78
+ right: theme.spacing(1),
79
79
  marginLeft: 0,
80
80
  bottom: 0
81
81
  }
@@ -87,11 +87,11 @@ var styles = function styles(theme) {
87
87
  errorDiv: (0, _objectSpread2.default)({}, theme.typography.b3, {
88
88
  backgroundColor: theme.palette.negative.main,
89
89
  color: '#FFFFFF',
90
- padding: '16px 8px',
90
+ padding: theme.spacing(4, 2),
91
91
  verticalAlign: 'middle',
92
92
  borderRadius: 2,
93
93
  position: 'relative',
94
- marginBottom: 22,
94
+ marginBottom: theme.spacing(2),
95
95
  fontWeight: theme.typography.fontWeightRegular
96
96
  }),
97
97
  arrowDown: {
@@ -101,12 +101,12 @@ var styles = function styles(theme) {
101
101
  borderRight: '4px solid transparent',
102
102
  borderTop: '4px solid #000',
103
103
  position: 'absolute',
104
- bottom: -4,
104
+ bottom: theme.spacing(-1),
105
105
  '&$arrowNotFullWidth': {
106
- left: 8
106
+ left: theme.spacing(2)
107
107
  },
108
108
  '&$arrowFullWidth': {
109
- right: 12
109
+ right: theme.spacing(3)
110
110
  }
111
111
  },
112
112
  arrowNotFullWidth: {},
@@ -118,10 +118,10 @@ var styles = function styles(theme) {
118
118
  width: '100%',
119
119
  backgroundColor: '#ffffff',
120
120
  color: theme.palette.neutral.normal,
121
- padding: '16px 8px',
121
+ padding: theme.spacing(4, 2),
122
122
  borderRadius: 2,
123
123
  position: 'relative',
124
- marginBottom: 8,
124
+ marginBottom: theme.spacing(2),
125
125
  fontWeight: theme.typography.fontWeightRegular,
126
126
  boxShadow: '0px 1px 7px rgba(0, 0, 0, 0.16)',
127
127
  lineHeight: 1.5