linear-react-components-ui 0.4.76-rc.9 → 0.4.76

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 (120) hide show
  1. package/.husky/pre-commit +2 -2
  2. package/.tool-versions +1 -0
  3. package/.vscode/settings.json +1 -2
  4. package/README.md +40 -5
  5. package/lib/assets/styles/button.scss +19 -10
  6. package/lib/assets/styles/checkbox.scss +92 -70
  7. package/lib/assets/styles/commons.scss +36 -0
  8. package/lib/assets/styles/drawers.scss +22 -6
  9. package/lib/assets/styles/dropdown.scss +28 -2
  10. package/lib/assets/styles/effects.scss +32 -0
  11. package/lib/assets/styles/floatMenu.scss +0 -1
  12. package/lib/assets/styles/gridlayout.scss +2 -1
  13. package/lib/assets/styles/input.scss +21 -0
  14. package/lib/assets/styles/label.scss +9 -1
  15. package/lib/assets/styles/list.scss +8 -0
  16. package/lib/assets/styles/multiSelect.scss +105 -0
  17. package/lib/assets/styles/panel.scss +3 -1
  18. package/lib/assets/styles/periodpicker.scss +65 -0
  19. package/lib/assets/styles/progress.scss +8 -1
  20. package/lib/assets/styles/radio.scss +19 -0
  21. package/lib/assets/styles/select.scss +4 -3
  22. package/lib/assets/styles/sidenav.scss +11 -1
  23. package/lib/assets/styles/skeleton.scss +48 -0
  24. package/lib/assets/styles/table.scss +25 -5
  25. package/lib/assets/styles/tabs.scss +116 -75
  26. package/lib/assets/styles/treeview.scss +41 -0
  27. package/lib/assets/styles/uitour.scss +112 -0
  28. package/lib/avatar/avatar.spec.js +17 -6
  29. package/lib/avatar/index.js +1 -1
  30. package/lib/buttons/DefaultButton.js +13 -4
  31. package/lib/buttons/split_button/index.js +8 -4
  32. package/lib/checkbox/Label.js +37 -0
  33. package/lib/checkbox/checkbox.spec.js +16 -16
  34. package/lib/checkbox/index.js +33 -12
  35. package/lib/dialog/base/index.js +15 -6
  36. package/lib/dialog/form/index.js +24 -4
  37. package/lib/drawer/Drawer.js +9 -5
  38. package/lib/drawer/Header.js +15 -5
  39. package/lib/drawer/index.js +4 -1
  40. package/lib/dropdown/Popup.js +3 -2
  41. package/lib/form/Field.js +2 -0
  42. package/lib/form/FieldNumber.js +11 -3
  43. package/lib/form/FieldPeriod.js +100 -0
  44. package/lib/form/form.spec.js +8 -0
  45. package/lib/form/helpers.js +20 -1
  46. package/lib/form/index.js +220 -218
  47. package/lib/form/withFieldHOC.js +5 -1
  48. package/lib/form/withFormSecurity.js +106 -0
  49. package/lib/icons/helper.js +24 -0
  50. package/lib/inputs/base/InputTextBase.js +30 -5
  51. package/lib/inputs/base/helpers.js +13 -9
  52. package/lib/inputs/date/Dropdown.js +3 -3
  53. package/lib/inputs/date/date.spec.js +46 -36
  54. package/lib/inputs/date/helpers.js +36 -0
  55. package/lib/inputs/date/index.js +12 -10
  56. package/lib/inputs/mask/Phone.js +10 -1
  57. package/lib/inputs/mask/imaskHOC.js +2 -1
  58. package/lib/inputs/mask/input_mask.spec.js +21 -4
  59. package/lib/inputs/multiSelect/ActionButtons.js +68 -0
  60. package/lib/inputs/multiSelect/Dropdown.js +200 -0
  61. package/lib/inputs/multiSelect/helper.js +18 -0
  62. package/lib/inputs/multiSelect/index.js +343 -0
  63. package/lib/inputs/number/BaseNumber.js +1 -1
  64. package/lib/inputs/number/index.js +7 -5
  65. package/lib/inputs/period/Dialog.js +38 -0
  66. package/lib/inputs/period/Dropdown.js +90 -0
  67. package/lib/inputs/period/PeriodList.js +79 -0
  68. package/lib/inputs/period/helper.js +118 -0
  69. package/lib/inputs/period/index.js +490 -0
  70. package/lib/inputs/search/index.js +2 -0
  71. package/lib/inputs/select/Dropdown.js +55 -65
  72. package/lib/inputs/select/helper.js +65 -2
  73. package/lib/inputs/select/index.js +26 -3
  74. package/lib/inputs/select/multiple/index.js +16 -11
  75. package/lib/inputs/select/simple/index.js +39 -24
  76. package/lib/internals/constants.js +4 -3
  77. package/lib/internals/withTooltip.js +86 -82
  78. package/lib/labels/DefaultLabel.js +7 -4
  79. package/lib/list/Item.js +35 -9
  80. package/lib/list/helpers.js +8 -3
  81. package/lib/list/index.js +172 -14
  82. package/lib/list/list.spec.js +290 -89
  83. package/lib/menus/float/MenuItem.js +25 -8
  84. package/lib/menus/sidenav/NavMenuItem.js +17 -8
  85. package/lib/menus/sidenav/index.js +59 -86
  86. package/lib/menus/sidenav/popup_menu_search/index.js +26 -17
  87. package/lib/menus/sidenav/sidenav.spec.js +86 -19
  88. package/lib/panel/Header.js +4 -3
  89. package/lib/progress/Bar.js +40 -9
  90. package/lib/progress/index.js +12 -4
  91. package/lib/radio/index.js +9 -6
  92. package/lib/skeleton/SkeletonContainer.js +42 -0
  93. package/lib/skeleton/index.js +84 -0
  94. package/lib/spinner/index.js +6 -1
  95. package/lib/split/Split.js +5 -11
  96. package/lib/table/Body.js +55 -11
  97. package/lib/table/Header.js +14 -1
  98. package/lib/table/HeaderColumn.js +26 -3
  99. package/lib/table/Row.js +19 -8
  100. package/lib/table/RowColumn.js +23 -3
  101. package/lib/table/helpers.js +11 -1
  102. package/lib/table/index.js +41 -8
  103. package/lib/tabs/DropdownItems.js +84 -0
  104. package/lib/tabs/Menu.js +12 -9
  105. package/lib/tabs/MenuItems.js +15 -9
  106. package/lib/tabs/Panel.js +1 -3
  107. package/lib/tabs/index.js +156 -22
  108. package/lib/tabs/tabs.spec.js +8 -5
  109. package/lib/toolbar/ButtonBar.js +30 -24
  110. package/lib/toolbar/LabelBar.js +22 -27
  111. package/lib/toolbar/helpers.js +12 -0
  112. package/lib/toolbar/index.js +24 -9
  113. package/lib/tooltip/index.js +20 -7
  114. package/lib/treeview/Node.js +364 -49
  115. package/lib/treeview/index.js +475 -36
  116. package/lib/treeview/treeview.spec.js +18 -0
  117. package/lib/uitour/helpers.js +15 -0
  118. package/lib/uitour/index.js +271 -0
  119. package/lib/uitour/uitour.spec.js +176 -0
  120. package/package.json +9 -8
@@ -538,6 +538,30 @@ function getIcons() {
538
538
  minusCircle: {
539
539
  viewbox: '0 0 16 16',
540
540
  paths: ['M8 0c-4.418 0-8 3.582-8 8s3.582 8 8 8 8-3.582 8-8-3.582-8-8-8zM8 14c-3.314 0-6-2.686-6-6s2.686-6 6-6c3.314 0 6 2.686 6 6s-2.686 6-6 6zM4 7h8v2h-8z']
541
+ },
542
+ zoomIn: {
543
+ viewbox: '0 0 16 16',
544
+ paths: ['M6 3h-1v2h-2v1h2v2h1v-2h2v-1h-2zM9.962 8.716c0.653-0.905 1.038-2.015 1.038-3.216 0-3.038-2.462-5.5-5.5-5.5s-5.5 2.462-5.5 5.5 2.462 5.5 5.5 5.5c1.201 0 2.312-0.385 3.216-1.038l5.284 6.038 2-2-6.038-5.284zM5.5 9.5c-2.209 0-4-1.791-4-4s1.791-4 4-4 4 1.791 4 4-1.791 4-4 4z']
545
+ },
546
+ zoomOut: {
547
+ viewbox: '0 0 16 16',
548
+ paths: ['M3 5h5v1h-5zM9.962 8.716c0.653-0.905 1.038-2.015 1.038-3.216 0-3.038-2.462-5.5-5.5-5.5s-5.5 2.462-5.5 5.5 2.462 5.5 5.5 5.5c1.201 0 2.312-0.385 3.216-1.038l5.284 6.038 2-2-6.038-5.284zM5.5 9.5c-2.209 0-4-1.791-4-4s1.791-4 4-4 4 1.791 4 4-1.791 4-4 4z']
549
+ },
550
+ flipVertical3: {
551
+ viewbox: '0 0 16 16',
552
+ paths: ['M10.854 1.854c0.143-0.143 0.186-0.358 0.108-0.545s-0.26-0.309-0.462-0.309h-10c-0.202 0-0.385 0.122-0.462 0.309-0.026 0.062-0.038 0.127-0.038 0.191 0 0.13 0.051 0.258 0.146 0.354l5 5c0.195 0.195 0.512 0.195 0.707 0l5-5z', 'M9 8.5c0-0.276 0.224-0.5 0.5-0.5h1c0.276 0 0.5 0.224 0.5 0.5s-0.224 0.5-0.5 0.5h-1c-0.276 0-0.5-0.224-0.5-0.5z', 'M6 8.5c0-0.276 0.224-0.5 0.5-0.5h1c0.276 0 0.5 0.224 0.5 0.5s-0.224 0.5-0.5 0.5h-1c-0.276 0-0.5-0.224-0.5-0.5z', 'M3 8.5c0-0.276 0.224-0.5 0.5-0.5h1c0.276 0 0.5 0.224 0.5 0.5s-0.224 0.5-0.5 0.5h-1c-0.276 0-0.5-0.224-0.5-0.5z', 'M0 8.5c0-0.276 0.224-0.5 0.5-0.5h1c0.276 0 0.5 0.224 0.5 0.5s-0.224 0.5-0.5 0.5h-1c-0.276 0-0.5-0.224-0.5-0.5z', 'M10.962 15.691c0.026-0.062 0.038-0.127 0.038-0.191 0-0.13-0.051-0.258-0.146-0.354l-5-5c-0.195-0.195-0.512-0.195-0.707 0l-5 5c-0.143 0.143-0.186 0.358-0.108 0.545s0.26 0.309 0.462 0.309h10c0.202 0 0.385-0.122 0.462-0.309zM2.009 14.875l3.491-3.491 3.491 3.491h-6.982z', 'M13 12.5c1.257-0.943 2-2.419 2-4 0-1.672-0.831-3.226-2.222-4.158-0.229-0.154-0.54-0.092-0.694 0.137s-0.092 0.54 0.137 0.694c1.113 0.745 1.778 1.989 1.778 3.327 0 1.313-0.64 2.534-1.716 3.284l-1.284-1.284v3.5h3.5l-1.5-1.5z']
553
+ },
554
+ flipVertical4: {
555
+ viewbox: '0 0 16 16',
556
+ paths: ['M0.854 5.146c-0.143-0.143-0.358-0.186-0.545-0.108s-0.309 0.26-0.309 0.462v10c0 0.202 0.122 0.385 0.309 0.462 0.062 0.026 0.127 0.038 0.191 0.038 0.13 0 0.258-0.051 0.354-0.146l5-5c0.195-0.195 0.195-0.512 0-0.707l-5-5z', 'M7.5 7c-0.276 0-0.5-0.224-0.5-0.5v-1c0-0.276 0.224-0.5 0.5-0.5s0.5 0.224 0.5 0.5v1c0 0.276-0.224 0.5-0.5 0.5z', 'M7.5 10c-0.276 0-0.5-0.224-0.5-0.5v-1c0-0.276 0.224-0.5 0.5-0.5s0.5 0.224 0.5 0.5v1c0 0.276-0.224 0.5-0.5 0.5z', 'M7.5 13c-0.276 0-0.5-0.224-0.5-0.5v-1c0-0.276 0.224-0.5 0.5-0.5s0.5 0.224 0.5 0.5v1c0 0.276-0.224 0.5-0.5 0.5z', 'M7.5 16c-0.276 0-0.5-0.224-0.5-0.5v-1c0-0.276 0.224-0.5 0.5-0.5s0.5 0.224 0.5 0.5v1c0 0.276-0.224 0.5-0.5 0.5z', 'M14.691 5.038c-0.062-0.026-0.127-0.038-0.191-0.038-0.13 0-0.258 0.051-0.354 0.146l-5 5c-0.195 0.195-0.195 0.512 0 0.707l5 5c0.143 0.143 0.358 0.186 0.545 0.108s0.309-0.26 0.309-0.462v-10c0-0.202-0.122-0.385-0.309-0.462zM13.875 13.991l-3.491-3.491 3.491-3.491v6.982z', 'M11.5 3c-0.943-1.257-2.419-2-4-2-1.672 0-3.226 0.831-4.158 2.222-0.154 0.229-0.092 0.54 0.137 0.694s0.54 0.092 0.694-0.137c0.745-1.113 1.989-1.778 3.327-1.778 1.313 0 2.534 0.64 3.284 1.716l-1.284 1.284h3.5v-3.5l-1.5 1.5z']
557
+ },
558
+ tools: {
559
+ viewbox: '0 0 20 16',
560
+ paths: ['M7.696 11.009l2.295 2.295-1.823 2.341c-0.334 0.437-0.926 0.476-1.315 0.087l-1.586-1.586c-0.389-0.389-0.35-0.98 0.087-1.315l2.341-1.823zM19.899 4.101l-2.399 2.399-3-3 2.399-2.399c-0.289-0.066-0.59-0.101-0.899-0.101-2.209 0-4 1.791-4 4 0 0.797 0.233 1.539 0.635 2.163l-2.233 1.739-3.402-3.402 4.5-4.5h-5l-2.22 2.22-0.22-0.22h-1.061v1.061l0.22 0.22-3.22 3.22 2.5 2.5 3-3 9 9 1.5-1.5-3.902-3.902 1.739-2.233c0.624 0.402 1.366 0.635 2.163 0.635 2.209 0 4-1.791 4-4 0-0.309-0.035-0.61-0.101-0.899z']
561
+ },
562
+ checkmarkCircle: {
563
+ viewbox: '0 0 16 16',
564
+ paths: ['M8 0c-4.418 0-8 3.582-8 8s3.582 8 8 8 8-3.582 8-8-3.582-8-8-8zM6.5 12.031l-2.813-3.344 1.031-1.031 1.781 1.75 5.156-4.5 0.719 0.719-5.875 6.406z']
541
565
  }
542
566
  };
543
567
  return icons;
@@ -78,7 +78,13 @@ var InputTextBase = function InputTextBase(props) {
78
78
  permissionAttr = props.permissionAttr,
79
79
  onDeniedActions = props.onDeniedActions,
80
80
  handlerSetOnDenied = props.handlerSetOnDenied,
81
- targetRef = props.targetRef;
81
+ targetRef = props.targetRef,
82
+ skeletonize = props.skeletonize,
83
+ style = props.style,
84
+ styleForInputContent = props.styleForInputContent,
85
+ styleForWrapper = props.styleForWrapper,
86
+ styleForLabel = props.styleForLabel,
87
+ styleForSideButtons = props.styleForSideButtons;
82
88
  var options = [_permissionValidations.OPTIONS_ON_DENIED.disabled, _permissionValidations.OPTIONS_ON_DENIED.unvisible, _permissionValidations.OPTIONS_ON_DENIED.readOnly, _permissionValidations.OPTIONS_ON_DENIED.hideContent];
83
89
 
84
90
  var _useState = (0, _react.useState)(onDeniedActions || (0, _permissionValidations.actionsOnPermissionDenied)(permissionAttr, options)),
@@ -152,28 +158,33 @@ var InputTextBase = function InputTextBase(props) {
152
158
 
153
159
  if (!visible || unvisible) return null;
154
160
  return /*#__PURE__*/_react["default"].createElement("div", {
155
- className: "input-base-component ".concat(customClass),
161
+ style: style,
162
+ className: "input-base-component ".concat(skeletonize ? '-skeletonized' : '', " ").concat(customClass),
156
163
  ref: inputBaseRef
157
164
  }, label && /*#__PURE__*/_react["default"].createElement("div", {
158
165
  className: "labelcontainer"
159
166
  }, /*#__PURE__*/_react["default"].createElement("span", {
167
+ style: styleForLabel,
160
168
  className: "label ".concat(customClassForLabel, " ").concat(labelUppercase && ' -uppercase')
161
169
  }, label, required && /*#__PURE__*/_react["default"].createElement("span", {
162
170
  className: "-requiredlabel"
163
171
  }, "*"))), /*#__PURE__*/_react["default"].createElement("div", {
164
172
  "data-testid": "testInputWrapper",
173
+ style: styleForWrapper,
165
174
  className: helpers.getInputWrapperClass(_extends({}, props, {
166
175
  disabled: shouldDisable() || hideContent
167
176
  }))
168
177
  }, leftElements && /*#__PURE__*/_react["default"].createElement("div", {
178
+ style: styleForSideButtons,
169
179
  className: "sidebuttons ".concat(customClassForSideButtons)
170
180
  }, leftElements), /*#__PURE__*/_react["default"].createElement("div", {
171
181
  "data-testid": "testInputContent",
182
+ style: styleForInputContent,
172
183
  className: "inputcontent ".concat(customClassForInputContent)
173
184
  }, type === 'textarea' ? /*#__PURE__*/_react["default"].createElement("textarea", _extends({
174
185
  rows: props.rows,
175
186
  cols: props.cols
176
- }, inputProps())) : /*#__PURE__*/_react["default"].createElement("input", inputProps()), children), helpers.getRightElements(rightElements, errorMessages)), hint && /*#__PURE__*/_react["default"].createElement("p", {
187
+ }, inputProps())) : /*#__PURE__*/_react["default"].createElement("input", inputProps()), children), helpers.getRightElements(rightElements, errorMessages, skeletonize)), hint && /*#__PURE__*/_react["default"].createElement("p", {
177
188
  className: "hint"
178
189
  }, hint), helpers.getErrorMessages(errorMessages));
179
190
  };
@@ -220,7 +231,14 @@ InputTextBase.propTypes = {
220
231
  permissionAttr: _propTypes["default"].oneOfType([_propTypes["default"].object, _propTypes["default"].arrayOf(_propTypes["default"].object)]),
221
232
  onDeniedActions: _propTypes["default"].object,
222
233
  handlerSetOnDenied: _propTypes["default"].func,
223
- targetRef: _propTypes["default"].func
234
+ targetRef: _propTypes["default"].func,
235
+ gridLayout: _propTypes["default"].string,
236
+ skeletonize: _propTypes["default"].bool,
237
+ style: _propTypes["default"].object,
238
+ styleForInputContent: _propTypes["default"].object,
239
+ styleForWrapper: _propTypes["default"].object,
240
+ styleForLabel: _propTypes["default"].object,
241
+ styleForSideButtons: _propTypes["default"].object
224
242
  };
225
243
  InputTextBase.defaultProps = {
226
244
  value: undefined,
@@ -261,7 +279,14 @@ InputTextBase.defaultProps = {
261
279
  permissionAttr: undefined,
262
280
  onDeniedActions: undefined,
263
281
  handlerSetOnDenied: undefined,
264
- targetRef: undefined
282
+ targetRef: undefined,
283
+ gridLayout: undefined,
284
+ skeletonize: false,
285
+ style: {},
286
+ styleForInputContent: {},
287
+ styleForWrapper: {},
288
+ styleForLabel: {},
289
+ styleForSideButtons: {}
265
290
  };
266
291
 
267
292
  var _default = (0, _inputHOC["default"])((0, _withTooltip["default"])(InputTextBase));
@@ -7,12 +7,10 @@ exports.getRightElements = exports.getErrorMessages = exports.getInputWrapperCla
7
7
 
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
 
10
- var _uuid = _interopRequireDefault(require("uuid"));
10
+ var _lodash = _interopRequireDefault(require("lodash"));
11
11
 
12
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
13
13
 
14
- function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
15
-
16
14
  var getInputClass = function getInputClass(_ref) {
17
15
  var textAlign = _ref.textAlign,
18
16
  readOnly = _ref.readOnly;
@@ -41,17 +39,23 @@ var getErrorMessages = function getErrorMessages(messages) {
41
39
 
42
40
  exports.getErrorMessages = getErrorMessages;
43
41
 
44
- var getRightElements = function getRightElements(rightElements, errorMessages) {
42
+ var getRightElements = function getRightElements(rightElements, errorMessages, skeletonize) {
45
43
  var elements = rightElements || [];
46
- var newElements = elements.map(function (element) {
47
- return _extends({}, element, {
48
- key: "rightelement-".concat(_uuid["default"].v1())
44
+ if (skeletonize) return null;
45
+
46
+ if (!_lodash["default"].isArray(elements)) {
47
+ elements = [elements];
48
+ }
49
+
50
+ elements = elements.map(function (element, index) {
51
+ return element && /*#__PURE__*/_react["default"].cloneElement(element, {
52
+ key: "rightelement-".concat(index + 1)
49
53
  });
50
54
  });
51
- if (errorMessages.length === 0) return newElements;
55
+ if (errorMessages.length === 0) return elements;
52
56
  return /*#__PURE__*/_react["default"].createElement("div", {
53
57
  className: "sidebuttons"
54
- }, newElements);
58
+ }, elements);
55
59
  };
56
60
 
57
61
  exports.getRightElements = getRightElements;
@@ -13,7 +13,7 @@ var _reactDom = _interopRequireDefault(require("react-dom"));
13
13
 
14
14
  var _propTypes = _interopRequireDefault(require("prop-types"));
15
15
 
16
- var _helper = _interopRequireDefault(require("./helper"));
16
+ var _helpers = require("./helpers");
17
17
 
18
18
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
19
19
 
@@ -52,7 +52,7 @@ var Dropdown = /*#__PURE__*/function (_Component) {
52
52
  _this = _super.call(this, props);
53
53
  _this.el = document.createElement('div');
54
54
  _this.el.className = 'datepicker-component';
55
- _this.el.style = (0, _helper["default"])(props);
55
+ _this.el.style = (0, _helpers.getCalendarDropdownStyle)(props);
56
56
  return _this;
57
57
  }
58
58
 
@@ -65,7 +65,7 @@ var Dropdown = /*#__PURE__*/function (_Component) {
65
65
  }, {
66
66
  key: "componentDidUpdate",
67
67
  value: function componentDidUpdate() {
68
- this.el.style = (0, _helper["default"])(this.props);
68
+ this.el.style = (0, _helpers.getCalendarDropdownStyle)(this.props);
69
69
  }
70
70
  }, {
71
71
  key: "componentWillUnmount",
@@ -71,13 +71,23 @@ describe('DatePicker', function () {
71
71
  var calendarButton = container.querySelector('.calendar-button');
72
72
  expect(calendarButton).not.toBeTruthy();
73
73
  });
74
+ it('show calendar when click', function () {
75
+ var _render6 = (0, _react2.render)(datePicker()),
76
+ container = _render6.container;
77
+
78
+ var calendarButton = container.querySelector('.calendar-button');
79
+
80
+ _react2.fireEvent.click(calendarButton);
81
+
82
+ expect(document.querySelector('.datepicker-component')).toBeInTheDocument();
83
+ });
74
84
  });
75
85
  describe('prop shouldCloseOnSelect', function () {
76
86
  it('when false should not close Calendar after date beeing chosed', function () {
77
- var _render6 = (0, _react2.render)(datePicker({
87
+ var _render7 = (0, _react2.render)(datePicker({
78
88
  shouldCloseOnSelect: false
79
89
  })),
80
- container = _render6.container;
90
+ container = _render7.container;
81
91
 
82
92
  var inputContent = container.querySelector('.textinput');
83
93
  var calendarComponent = document.querySelector('.calendar-component');
@@ -93,10 +103,10 @@ describe('DatePicker', function () {
93
103
  expect(calendarComponent).toBeInTheDocument();
94
104
  });
95
105
  it('when true should close Calendar after date beeing chosed', function () {
96
- var _render7 = (0, _react2.render)(datePicker({
106
+ var _render8 = (0, _react2.render)(datePicker({
97
107
  shouldCloseOnSelect: true
98
108
  })),
99
- container = _render7.container;
109
+ container = _render8.container;
100
110
 
101
111
  var inputContent = container.querySelector('.textinput');
102
112
  var calendarComponent = document.querySelector('.calendar-component');
@@ -114,10 +124,10 @@ describe('DatePicker', function () {
114
124
  });
115
125
  describe('prop openOnFocus', function () {
116
126
  it('when false should not open Calendar when input receive focus', function () {
117
- var _render8 = (0, _react2.render)(datePicker({
127
+ var _render9 = (0, _react2.render)(datePicker({
118
128
  openOnFocus: false
119
129
  })),
120
- container = _render8.container;
130
+ container = _render9.container;
121
131
 
122
132
  var inputContent = container.querySelector('.textinput');
123
133
 
@@ -127,10 +137,10 @@ describe('DatePicker', function () {
127
137
  expect(calendarComponent).not.toBeInTheDocument();
128
138
  });
129
139
  it('when true should open Calendar when input receive focus', function () {
130
- var _render9 = (0, _react2.render)(datePicker({
140
+ var _render10 = (0, _react2.render)(datePicker({
131
141
  openOnFocus: true
132
142
  })),
133
- container = _render9.container;
143
+ container = _render10.container;
134
144
 
135
145
  var inputContent = container.querySelector('.textinput');
136
146
 
@@ -142,10 +152,10 @@ describe('DatePicker', function () {
142
152
  });
143
153
  describe('prop showCalendarInDialog', function () {
144
154
  it('when true should render Calendar within Dialog', function () {
145
- var _render10 = (0, _react2.render)(datePicker({
155
+ var _render11 = (0, _react2.render)(datePicker({
146
156
  showCalendarInDialog: true
147
157
  })),
148
- container = _render10.container;
158
+ container = _render11.container;
149
159
 
150
160
  var inputContent = container.querySelector('.textinput');
151
161
 
@@ -155,10 +165,10 @@ describe('DatePicker', function () {
155
165
  expect(calendarComponent).toBeTruthy();
156
166
  });
157
167
  it('when false should render Calendar within Dropdown', function () {
158
- var _render11 = (0, _react2.render)(datePicker({
168
+ var _render12 = (0, _react2.render)(datePicker({
159
169
  showCalendarInDialog: false
160
170
  })),
161
- container = _render11.container;
171
+ container = _render12.container;
162
172
 
163
173
  var inputContent = container.querySelector('.textinput');
164
174
 
@@ -174,11 +184,11 @@ describe('DatePicker', function () {
174
184
  height: '600px'
175
185
  };
176
186
 
177
- var _render12 = (0, _react2.render)(datePicker({
187
+ var _render13 = (0, _react2.render)(datePicker({
178
188
  showCalendarInDialog: true,
179
189
  dialogSize: dialogSize
180
190
  })),
181
- container = _render12.container;
191
+ container = _render13.container;
182
192
 
183
193
  var inputContent = container.querySelector('.textinput');
184
194
 
@@ -190,10 +200,10 @@ describe('DatePicker', function () {
190
200
  });
191
201
  describe('prop calendarColorStyle', function () {
192
202
  it('when receive "primary" add -primary css class to Calendar', function () {
193
- var _render13 = (0, _react2.render)(datePicker({
203
+ var _render14 = (0, _react2.render)(datePicker({
194
204
  calendarColorStyle: 'primary'
195
205
  })),
196
- container = _render13.container;
206
+ container = _render14.container;
197
207
 
198
208
  var inputContent = container.querySelector('.textinput');
199
209
 
@@ -203,10 +213,10 @@ describe('DatePicker', function () {
203
213
  expect(calendarComponent).toHaveClass('-primary');
204
214
  });
205
215
  it('when receive "success" add -success css class to Calendar', function () {
206
- var _render14 = (0, _react2.render)(datePicker({
216
+ var _render15 = (0, _react2.render)(datePicker({
207
217
  calendarColorStyle: 'success'
208
218
  })),
209
- container = _render14.container;
219
+ container = _render15.container;
210
220
 
211
221
  var inputContent = container.querySelector('.textinput');
212
222
 
@@ -216,10 +226,10 @@ describe('DatePicker', function () {
216
226
  expect(calendarComponent).toHaveClass('-success');
217
227
  });
218
228
  it('when receive "danger" add -danger css class to Calendar', function () {
219
- var _render15 = (0, _react2.render)(datePicker({
229
+ var _render16 = (0, _react2.render)(datePicker({
220
230
  calendarColorStyle: 'danger'
221
231
  })),
222
- container = _render15.container;
232
+ container = _render16.container;
223
233
 
224
234
  var inputContent = container.querySelector('.textinput');
225
235
 
@@ -229,10 +239,10 @@ describe('DatePicker', function () {
229
239
  expect(calendarComponent).toHaveClass('-danger');
230
240
  });
231
241
  it('when receive "info" add -info css class to Calendar', function () {
232
- var _render16 = (0, _react2.render)(datePicker({
242
+ var _render17 = (0, _react2.render)(datePicker({
233
243
  calendarColorStyle: 'info'
234
244
  })),
235
- container = _render16.container;
245
+ container = _render17.container;
236
246
 
237
247
  var inputContent = container.querySelector('.textinput');
238
248
 
@@ -242,10 +252,10 @@ describe('DatePicker', function () {
242
252
  expect(calendarComponent).toHaveClass('-info');
243
253
  });
244
254
  it('when receive "warning" add -warning css class to Calendar', function () {
245
- var _render17 = (0, _react2.render)(datePicker({
255
+ var _render18 = (0, _react2.render)(datePicker({
246
256
  calendarColorStyle: 'warning'
247
257
  })),
248
- container = _render17.container;
258
+ container = _render18.container;
249
259
 
250
260
  var inputContent = container.querySelector('.textinput');
251
261
 
@@ -256,11 +266,11 @@ describe('DatePicker', function () {
256
266
  });
257
267
  });
258
268
  it('prop required should render span for required field', function () {
259
- var _render18 = (0, _react2.render)(datePicker({
269
+ var _render19 = (0, _react2.render)(datePicker({
260
270
  label: 'teste',
261
271
  required: true
262
272
  })),
263
- container = _render18.container;
273
+ container = _render19.container;
264
274
 
265
275
  var requiredLabel = container.querySelector('.input-base-component > .labelcontainer > .label > .-requiredlabel');
266
276
  expect(requiredLabel).toBeTruthy();
@@ -269,10 +279,10 @@ describe('DatePicker', function () {
269
279
  it('should apply onComplete', function () {
270
280
  var onComplete = jest.fn();
271
281
 
272
- var _render19 = (0, _react2.render)(datePicker({
282
+ var _render20 = (0, _react2.render)(datePicker({
273
283
  onComplete: onComplete
274
284
  })),
275
- container = _render19.container;
285
+ container = _render20.container;
276
286
 
277
287
  var inputContent = container.querySelector('.textinput');
278
288
 
@@ -287,10 +297,10 @@ describe('DatePicker', function () {
287
297
  it('should apply onBlur', function () {
288
298
  var onBlur = jest.fn();
289
299
 
290
- var _render20 = (0, _react2.render)(datePicker({
300
+ var _render21 = (0, _react2.render)(datePicker({
291
301
  onBlur: onBlur
292
302
  })),
293
- container = _render20.container;
303
+ container = _render21.container;
294
304
 
295
305
  var inputContent = container.querySelector('.textinput');
296
306
 
@@ -301,10 +311,10 @@ describe('DatePicker', function () {
301
311
  it('should apply onFocus', function () {
302
312
  var onFocus = jest.fn();
303
313
 
304
- var _render21 = (0, _react2.render)(datePicker({
314
+ var _render22 = (0, _react2.render)(datePicker({
305
315
  onFocus: onFocus
306
316
  })),
307
- container = _render21.container;
317
+ container = _render22.container;
308
318
 
309
319
  var inputContent = container.querySelector('.textinput');
310
320
 
@@ -315,10 +325,10 @@ describe('DatePicker', function () {
315
325
  it('should apply onChange', function () {
316
326
  var onChange = jest.fn();
317
327
 
318
- var _render22 = (0, _react2.render)(datePicker({
328
+ var _render23 = (0, _react2.render)(datePicker({
319
329
  onChange: onChange
320
330
  })),
321
- container = _render22.container;
331
+ container = _render23.container;
322
332
 
323
333
  var inputContent = container.querySelector('.textinput');
324
334
 
@@ -333,10 +343,10 @@ describe('DatePicker', function () {
333
343
  it('should apply name', function () {
334
344
  var name = 'sus';
335
345
 
336
- var _render23 = (0, _react2.render)(datePicker({
346
+ var _render24 = (0, _react2.render)(datePicker({
337
347
  name: name
338
348
  })),
339
- container = _render23.container;
349
+ container = _render24.container;
340
350
 
341
351
  var inputContent = container.querySelector('.textinput');
342
352
  expect(inputContent.name).toBe(name);
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.EN_US_FORMAT = exports.PT_BR_FORMAT = exports.getMomentValue = exports.getCalendarDropdownStyle = void 0;
7
+
8
+ var _moment = _interopRequireDefault(require("moment"));
9
+
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
11
+
12
+ var PT_BR_FORMAT = 'DD/MM/YYYY';
13
+ exports.PT_BR_FORMAT = PT_BR_FORMAT;
14
+ var EN_US_FORMAT = 'YYYY-MM-DD';
15
+ exports.EN_US_FORMAT = EN_US_FORMAT;
16
+
17
+ var getCalendarDropdownStyle = function getCalendarDropdownStyle(_ref) {
18
+ var topPosition = _ref.topPosition,
19
+ leftPosition = _ref.leftPosition,
20
+ width = _ref.width;
21
+ return "top: ".concat(topPosition, "px;\n left: ").concat(leftPosition, "px;\n width:").concat(width, "px");
22
+ };
23
+
24
+ exports.getCalendarDropdownStyle = getCalendarDropdownStyle;
25
+
26
+ var getMomentValue = function getMomentValue(value) {
27
+ var newValue = value;
28
+
29
+ if ((0, _moment["default"])(newValue, PT_BR_FORMAT).isValid()) {
30
+ newValue = (0, _moment["default"])(newValue, PT_BR_FORMAT).format(EN_US_FORMAT);
31
+ }
32
+
33
+ return typeof newValue === 'string' ? (0, _moment["default"])(newValue, EN_US_FORMAT) : newValue;
34
+ };
35
+
36
+ exports.getMomentValue = getMomentValue;
@@ -31,6 +31,8 @@ var _Dialog = _interopRequireDefault(require("./Dialog"));
31
31
 
32
32
  var _colorStyles = _interopRequireDefault(require("../../internals/colorStyles"));
33
33
 
34
+ var _helpers = require("./helpers");
35
+
34
36
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
35
37
 
36
38
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
@@ -60,7 +62,6 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
60
62
  function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
61
63
 
62
64
  var CALENDAR_BUTTON_WIDTH = 24;
63
- var dateFormat = 'DD/MM/YYYY';
64
65
 
65
66
  var DatePicker = /*#__PURE__*/function (_Component) {
66
67
  _inherits(DatePicker, _Component);
@@ -78,7 +79,7 @@ var DatePicker = /*#__PURE__*/function (_Component) {
78
79
 
79
80
  var propsValue = props.value;
80
81
  _this.state = {
81
- value: propsValue ? (0, _moment["default"])(propsValue) : undefined,
82
+ value: propsValue ? (0, _helpers.getMomentValue)(propsValue) : undefined,
82
83
  // eslint-disable-next-line react/no-unused-state
83
84
  propsValue: propsValue,
84
85
  showCalendar: false,
@@ -116,7 +117,7 @@ var DatePicker = /*#__PURE__*/function (_Component) {
116
117
  var required = this.props.required;
117
118
  if (onDenied && onDenied.unvisible) return null;
118
119
  return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_BaseMask["default"], _extends({}, this.props, {
119
- value: !value ? ' ' : value.format(dateFormat),
120
+ value: !value ? ' ' : value.format(_helpers.PT_BR_FORMAT),
120
121
  mask: "00/00/0000",
121
122
  onComplete: function onComplete(e, date) {
122
123
  _this2.setValue(e, date);
@@ -136,7 +137,7 @@ var DatePicker = /*#__PURE__*/function (_Component) {
136
137
  inputRef: function inputRef(el) {
137
138
  _this2.inputRef = el;
138
139
  },
139
- rightElements: [this.getButtonOpen()],
140
+ rightElements: this.getButtonOpen(),
140
141
  required: required,
141
142
  handlerSetOnDenied: this.setOnDenied
142
143
  })), showCalendar && this.getWrapperComponent());
@@ -154,9 +155,9 @@ Object.defineProperty(DatePicker, "getDerivedStateFromProps", {
154
155
  var value = props.value;
155
156
  var propsValue = state.propsValue;
156
157
 
157
- if (value && (0, _moment["default"])(value, dateFormat).format() !== 'Invalid date' && (0, _moment["default"])(propsValue, dateFormat).format() !== (0, _moment["default"])(value, dateFormat).format()) {
158
+ if (value && (0, _moment["default"])(value, _helpers.EN_US_FORMAT).format() !== 'Invalid date' && (0, _moment["default"])(propsValue, _helpers.EN_US_FORMAT).format() !== (0, _moment["default"])(value, _helpers.EN_US_FORMAT).format()) {
158
159
  return {
159
- value: (0, _moment["default"])(value),
160
+ value: (0, _moment["default"])(value, _helpers.EN_US_FORMAT),
160
161
  propsValue: value
161
162
  };
162
163
  } else if (!value && value !== propsValue) {
@@ -262,8 +263,8 @@ var _initialiseProps = function _initialiseProps() {
262
263
  var onChange = _this3.props.onChange;
263
264
 
264
265
  if (onChange) {
265
- if ((0, _moment["default"])(_value, dateFormat, true).isValid()) {
266
- var newValue = (0, _moment["default"])(_value, dateFormat).format('YYYY-MM-DD');
266
+ if ((0, _moment["default"])(_value, _helpers.PT_BR_FORMAT, true).isValid()) {
267
+ var newValue = (0, _moment["default"])(_value, _helpers.PT_BR_FORMAT).format(_helpers.EN_US_FORMAT);
267
268
  var obj = {
268
269
  target: {
269
270
  value: newValue,
@@ -281,7 +282,8 @@ var _initialiseProps = function _initialiseProps() {
281
282
  onChange(_obj, _value);
282
283
 
283
284
  _this3.setState({
284
- value: undefined
285
+ value: undefined,
286
+ showCalendar: false
285
287
  });
286
288
  }
287
289
  }
@@ -309,7 +311,7 @@ var _initialiseProps = function _initialiseProps() {
309
311
  if (_this3.props.shouldCloseOnSelect) showCalendar = false;
310
312
 
311
313
  _this3.setState({
312
- value: (0, _moment["default"])(_value2, dateFormat),
314
+ value: (0, _moment["default"])(_value2, _helpers.PT_BR_FORMAT),
313
315
  showCalendar: showCalendar
314
316
  });
315
317
  }
@@ -7,6 +7,8 @@ exports["default"] = void 0;
7
7
 
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
 
10
+ var _propTypes = _interopRequireDefault(require("prop-types"));
11
+
10
12
  var _BaseMask = _interopRequireDefault(require("./BaseMask"));
11
13
 
12
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
@@ -14,10 +16,17 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "d
14
16
  function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
15
17
 
16
18
  var PhoneField = function PhoneField(props) {
19
+ var cellNumber = props.cellNumber;
17
20
  return /*#__PURE__*/_react["default"].createElement(_BaseMask["default"], _extends({}, props, {
18
- mask: "(00) 0000-0000"
21
+ mask: cellNumber ? '(00) 00000-0000' : '(00) 0000-0000'
19
22
  }));
20
23
  };
21
24
 
25
+ PhoneField.propTypes = {
26
+ cellNumber: _propTypes["default"].bool
27
+ };
28
+ PhoneField.defaultProps = {
29
+ cellNumber: false
30
+ };
22
31
  var _default = PhoneField;
23
32
  exports["default"] = _default;
@@ -68,7 +68,8 @@ function IMaskHOC(ComposedComponent) {
68
68
  unvisible = _this$state$onDenied.unvisible,
69
69
  disabled = _this$state$onDenied.disabled,
70
70
  readOnly = _this$state$onDenied.readOnly;
71
- _this.dontInitMask = hideContent || unvisible;
71
+ var skeletonize = _this.state.currentProps.skeletonize;
72
+ _this.dontInitMask = hideContent || unvisible || skeletonize;
72
73
  _this.disableCallbacks = disabled || readOnly;
73
74
  return _this;
74
75
  }
@@ -562,18 +562,35 @@ describe('Input Masked', function () {
562
562
 
563
563
  expect(input).toHaveValue('(11) 1111-1111');
564
564
  });
565
+ it('should apply cellNumber', function () {
566
+ var _render38 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_.PhoneField, {
567
+ cellNumber: true
568
+ })),
569
+ container = _render38.container;
570
+
571
+ var input = container.querySelector('.input-base-component .inputwrapper .inputcontent input.textinput');
572
+ expect(input).toHaveValue('(__) _____-____');
573
+
574
+ _react2.fireEvent.change(input, {
575
+ target: {
576
+ value: '11111111111'
577
+ }
578
+ });
579
+
580
+ expect(input).toHaveValue('(11) 11111-1111');
581
+ });
565
582
  });
566
583
  describe('Zip Code', function () {
567
584
  it('should render correctly', function () {
568
- var _render38 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_.ZipCodeField, null)),
569
- container = _render38.container;
585
+ var _render39 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_.ZipCodeField, null)),
586
+ container = _render39.container;
570
587
 
571
588
  expect(container.firstChild).toBeTruthy();
572
589
  expect(container.firstChild).toHaveClass('input-base-component');
573
590
  });
574
591
  it('should apply zipcode mask', function () {
575
- var _render39 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_.ZipCodeField, null)),
576
- container = _render39.container;
592
+ var _render40 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_.ZipCodeField, null)),
593
+ container = _render40.container;
577
594
 
578
595
  var input = container.querySelector('.input-base-component .inputwrapper .inputcontent input.textinput');
579
596
  expect(input).toHaveValue('_____-___');