linear-react-components-ui 0.4.75 → 0.4.76-beta.11

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 (131) hide show
  1. package/.eslintrc.js +2 -5
  2. package/.tool-versions +1 -0
  3. package/.vscode/settings.json +8 -9
  4. package/README.md +33 -0
  5. package/config/jest/cssTransform.js +14 -0
  6. package/config/jest/fileTransform.js +12 -0
  7. package/config/jest/storageMock.js +40 -0
  8. package/jest.config.js +18 -0
  9. package/lib/alerts/alert.spec.js +133 -0
  10. package/lib/assets/styles/dropdown.scss +28 -2
  11. package/lib/assets/styles/effects.scss +12 -0
  12. package/lib/assets/styles/floatMenu.scss +0 -1
  13. package/lib/assets/styles/multiSelect.scss +105 -0
  14. package/lib/assets/styles/panel.scss +0 -1
  15. package/lib/assets/styles/periodpicker.scss +65 -0
  16. package/lib/assets/styles/popover.scss +9 -11
  17. package/lib/assets/styles/progress.scss +8 -1
  18. package/lib/assets/styles/select.scss +1 -0
  19. package/lib/assets/styles/table.scss +13 -5
  20. package/lib/assets/styles/tabs.scss +79 -44
  21. package/lib/assets/styles/treeview.scss +32 -0
  22. package/lib/avatar/avatar.spec.js +190 -0
  23. package/lib/avatar/index.js +6 -2
  24. package/lib/badge/badge.spec.js +127 -0
  25. package/lib/badge/index.js +3 -5
  26. package/lib/buttons/DefaultButton.js +7 -1
  27. package/lib/buttons/buttons.spec.js +504 -0
  28. package/lib/calendar/calendar.spec.js +171 -0
  29. package/lib/checkbox/Label.js +37 -0
  30. package/lib/checkbox/checkbox.spec.js +215 -0
  31. package/lib/checkbox/index.js +21 -6
  32. package/lib/dialog/Custom.js +7 -1
  33. package/lib/dialog/base/index.js +18 -6
  34. package/lib/dialog/dialog.spec.js +488 -0
  35. package/lib/dialog/form/index.js +23 -4
  36. package/lib/drawer/Drawer.js +3 -0
  37. package/lib/drawer/Drawer.spec.js +258 -0
  38. package/lib/drawer/Header.js +4 -1
  39. package/lib/drawer/index.js +4 -1
  40. package/lib/dropdown/Popup.js +1 -0
  41. package/lib/dropdown/dropdown.spec.js +168 -0
  42. package/lib/dropdown/withDropdown.js +10 -4
  43. package/lib/fieldset/fieldset.spec.js +329 -0
  44. package/lib/form/Field.js +2 -0
  45. package/lib/form/FieldNumber.js +10 -2
  46. package/lib/form/FieldPeriod.js +100 -0
  47. package/lib/form/form.spec.js +285 -0
  48. package/lib/form/helpers.js +9 -1
  49. package/lib/form/index.js +209 -222
  50. package/lib/form/withFieldHOC.js +2 -0
  51. package/lib/form/withFormSecurity.js +106 -0
  52. package/lib/gridlayout/GridRow.js +1 -1
  53. package/lib/gridlayout/gridLayout.spec.js +169 -0
  54. package/lib/icons/helper.js +16 -0
  55. package/lib/icons/icons.spec.js +86 -0
  56. package/lib/icons/index.js +2 -0
  57. package/lib/inputs/base/InputTextBase.js +24 -5
  58. package/lib/inputs/base/base.spec.js +690 -0
  59. package/lib/inputs/base/helpers.js +19 -3
  60. package/lib/inputs/color/color_input.spec.js +174 -0
  61. package/lib/inputs/color/index.js +2 -2
  62. package/lib/inputs/date/Dropdown.js +3 -3
  63. package/lib/inputs/date/date.spec.js +344 -0
  64. package/lib/inputs/date/helpers.js +36 -0
  65. package/lib/inputs/date/index.js +11 -9
  66. package/lib/inputs/mask/Cpf.js +9 -9
  67. package/lib/inputs/mask/input_mask.spec.js +590 -0
  68. package/lib/inputs/multiSelect/ActionButtons.js +68 -0
  69. package/lib/inputs/multiSelect/Dropdown.js +200 -0
  70. package/lib/inputs/multiSelect/helper.js +18 -0
  71. package/lib/inputs/multiSelect/index.js +343 -0
  72. package/lib/inputs/number/BaseNumber.js +1 -1
  73. package/lib/inputs/number/index.js +7 -5
  74. package/lib/inputs/number/numberfield.spec.js +215 -0
  75. package/lib/inputs/period/Dialog.js +38 -0
  76. package/lib/inputs/period/Dropdown.js +90 -0
  77. package/lib/inputs/period/PeriodList.js +79 -0
  78. package/lib/inputs/period/helper.js +118 -0
  79. package/lib/inputs/period/index.js +490 -0
  80. package/lib/inputs/search/search_input.spec.js +209 -0
  81. package/lib/inputs/select/Dropdown.js +4 -4
  82. package/lib/inputs/select/index.js +26 -3
  83. package/lib/inputs/select/multiple/index.js +9 -7
  84. package/lib/inputs/select/select.spec.js +391 -0
  85. package/lib/inputs/select/simple/index.js +30 -18
  86. package/lib/inputs/text/textfield.spec.js +215 -0
  87. package/lib/inputs/textarea/textarea.spec.js +59 -0
  88. package/lib/internals/withTooltip.js +86 -82
  89. package/lib/labelMessages/index.js +3 -2
  90. package/lib/labelMessages/labelMessages.spec.js +176 -0
  91. package/lib/labels/label.spec.js +162 -0
  92. package/lib/list/Item.js +3 -3
  93. package/lib/list/index.js +21 -10
  94. package/lib/list/list.spec.js +611 -0
  95. package/lib/menus/float/MenuItem.js +25 -8
  96. package/lib/menus/float/float-menu.spec.js +221 -0
  97. package/lib/menus/sidenav/index.js +7 -3
  98. package/lib/menus/sidenav/popup_menu_search/index.js +1 -1
  99. package/lib/menus/sidenav/sidenav.spec.js +312 -0
  100. package/lib/noPermission/index.js +2 -1
  101. package/lib/panel/panel.spec.js +216 -0
  102. package/lib/popover/index.js +2 -1
  103. package/lib/popover/popover.spec.js +146 -0
  104. package/lib/progress/Bar.js +40 -9
  105. package/lib/progress/index.js +12 -4
  106. package/lib/progress/progress.spec.js +86 -0
  107. package/lib/radio/radio.spec.js +189 -0
  108. package/lib/spinner/SpinnerLoading.js +14 -24
  109. package/lib/spinner/index.js +6 -1
  110. package/lib/spinner/spinner.spec.js +152 -0
  111. package/lib/split/Split.js +10 -12
  112. package/lib/split/split.spec.js +151 -0
  113. package/lib/table/Header.js +3 -1
  114. package/lib/table/Row.js +2 -5
  115. package/lib/table/index.js +1 -4
  116. package/lib/table/table.spec.js +352 -0
  117. package/lib/tabs/DropdownItems.js +84 -0
  118. package/lib/tabs/Menu.js +18 -5
  119. package/lib/tabs/MenuItems.js +7 -7
  120. package/lib/tabs/Panel.js +1 -3
  121. package/lib/tabs/index.js +151 -20
  122. package/lib/tabs/tabs.spec.js +349 -0
  123. package/lib/toolbar/index.js +8 -4
  124. package/lib/toolbar/toolbar.spec.js +394 -0
  125. package/lib/tooltip/index.js +20 -6
  126. package/lib/tooltip/tooltip.spec.js +203 -0
  127. package/lib/treeview/Node.js +347 -48
  128. package/lib/treeview/index.js +456 -35
  129. package/lib/treeview/treeview.spec.js +261 -0
  130. package/package.json +19 -9
  131. package/.DS_Store +0 -0
@@ -7,9 +7,14 @@ exports.getRightElements = exports.getErrorMessages = exports.getInputWrapperCla
7
7
 
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
 
10
+ var _lodash = _interopRequireDefault(require("lodash"));
11
+
12
+ var _uuid = _interopRequireDefault(require("uuid"));
13
+
10
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
11
15
 
12
- // import Popover from '../../popover';
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); }
17
+
13
18
  var getInputClass = function getInputClass(_ref) {
14
19
  var textAlign = _ref.textAlign,
15
20
  readOnly = _ref.readOnly;
@@ -39,11 +44,22 @@ var getErrorMessages = function getErrorMessages(messages) {
39
44
  exports.getErrorMessages = getErrorMessages;
40
45
 
41
46
  var getRightElements = function getRightElements(rightElements, errorMessages) {
42
- if (errorMessages.length === 0) return rightElements;
43
47
  var elements = rightElements || [];
48
+ var newElements = _lodash["default"].isArray(elements) ? elements : [elements];
49
+
50
+ var elementsMap = function elementsMap() {
51
+ return newElements.map(function (element) {
52
+ return _extends({}, element, {
53
+ key: "rightelement-".concat(_uuid["default"].v1())
54
+ });
55
+ });
56
+ };
57
+
58
+ newElements = elementsMap();
59
+ if (errorMessages.length === 0) return newElements;
44
60
  return /*#__PURE__*/_react["default"].createElement("div", {
45
61
  className: "sidebuttons"
46
- }, elements);
62
+ }, newElements);
47
63
  };
48
64
 
49
65
  exports.getRightElements = getRightElements;
@@ -0,0 +1,174 @@
1
+ "use strict";
2
+
3
+ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
4
+
5
+ var _react = _interopRequireDefault(require("react"));
6
+
7
+ var _react2 = require("@testing-library/react");
8
+
9
+ require("@testing-library/jest-dom");
10
+
11
+ var _storageMock = _interopRequireWildcard(require("../../../../config/jest/storageMock"));
12
+
13
+ var _index = _interopRequireDefault(require("./index"));
14
+
15
+ 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); }
16
+
17
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
18
+
19
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
20
+
21
+ 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); }
22
+
23
+ var colorField = function colorField(props) {
24
+ return /*#__PURE__*/_react["default"].createElement(_index["default"], _extends({}, props, {
25
+ value: "#AAAAAA",
26
+ onChange: function onChange() {}
27
+ }));
28
+ };
29
+
30
+ describe('ColorField', function () {
31
+ it('should render correctly', function () {
32
+ var _render = (0, _react2.render)(colorField()),
33
+ container = _render.container;
34
+
35
+ expect(container.firstChild).toBeTruthy();
36
+ });
37
+ it('should be apply value', function () {
38
+ var value = '#AAAAAA';
39
+
40
+ var _render2 = (0, _react2.render)(colorField({
41
+ value: value
42
+ })),
43
+ container = _render2.container;
44
+
45
+ var inputHTML = container.querySelector('.textinput');
46
+ expect(inputHTML.value).toBe(value);
47
+ });
48
+ it('should be apply asTextField', function () {
49
+ var _render3 = (0, _react2.render)(colorField({
50
+ asTextField: true
51
+ })),
52
+ container = _render3.container;
53
+
54
+ expect(container.querySelector('.input-base-component')).toBeTruthy();
55
+ expect(container.querySelector('.sidebuttons .colorpicker-colormirror')).toBeTruthy();
56
+ expect(container.querySelector('.button-component.colorpicker-palettebutton')).toBeTruthy();
57
+ });
58
+ it('should call onButtonClick', function () {
59
+ var onButtonClick = jest.fn();
60
+
61
+ var _render4 = (0, _react2.render)(colorField({
62
+ onButtonClick: onButtonClick
63
+ })),
64
+ container = _render4.container;
65
+
66
+ _react2.fireEvent.click(container.querySelector('.button-component.colorpicker-palettebutton'));
67
+
68
+ expect(onButtonClick).toBeCalled();
69
+ });
70
+ describe('Permission', function () {
71
+ var setSessionStorageMock = function setSessionStorageMock() {
72
+ Object.defineProperty(window, 'sessionStorage', {
73
+ value: (0, _storageMock["default"])()
74
+ });
75
+ };
76
+
77
+ it('should render subject when permission granted', function () {
78
+ setSessionStorageMock();
79
+ var permissionAttr = (0, _storageMock.permissionAttrMockAuthorized)('unvisible');
80
+
81
+ var _render5 = (0, _react2.render)(colorField({
82
+ permissionAttr: permissionAttr
83
+ })),
84
+ container = _render5.container;
85
+
86
+ expect(container.querySelector('.input-base-component')).not.toBeNull();
87
+ });
88
+ it('should check permission, be unavaible and onDenied is unvisible', function () {
89
+ setSessionStorageMock();
90
+ var permissionAttr = (0, _storageMock.permissionAttrMockUnauthorized)('unvisible');
91
+
92
+ var _render6 = (0, _react2.render)(colorField({
93
+ permissionAttr: permissionAttr
94
+ })),
95
+ container = _render6.container;
96
+
97
+ expect(container.querySelector('.input-base-component')).toBeNull();
98
+ });
99
+ it('should check permission, be unavaible and onDenied is disabled', function () {
100
+ setSessionStorageMock();
101
+ var permissionAttr = (0, _storageMock.permissionAttrMockUnauthorized)('disabled');
102
+ var onChange = jest.fn();
103
+
104
+ var _render7 = (0, _react2.render)(colorField({
105
+ permissionAttr: permissionAttr,
106
+ onChange: onChange
107
+ })),
108
+ container = _render7.container;
109
+
110
+ var inputHTML = container.querySelector('.textinput');
111
+ var inputWrapper = container.querySelector('.inputwrapper');
112
+
113
+ _react2.fireEvent.change(inputHTML, {
114
+ target: {
115
+ value: '#000000'
116
+ }
117
+ });
118
+
119
+ expect(inputHTML.disabled).toBeTruthy();
120
+ expect(onChange).not.toBeCalled();
121
+ expect(inputWrapper).toHaveClass('-disabled');
122
+ });
123
+ it('should check permission, be unavaible and onDenied is readOnly', function () {
124
+ setSessionStorageMock();
125
+ var permissionAttr = (0, _storageMock.permissionAttrMockUnauthorized)('disabled');
126
+ var onChange = jest.fn();
127
+
128
+ var _render8 = (0, _react2.render)(colorField({
129
+ permissionAttr: permissionAttr,
130
+ onChange: onChange
131
+ })),
132
+ container = _render8.container;
133
+
134
+ var inputHTML = container.querySelector('.textinput');
135
+ var inputWrapper = container.querySelector('.inputwrapper');
136
+
137
+ _react2.fireEvent.change(inputHTML, {
138
+ target: {
139
+ value: '#000000'
140
+ }
141
+ });
142
+
143
+ expect(inputHTML.disabled).toBeTruthy();
144
+ expect(onChange).not.toBeCalled();
145
+ expect(inputWrapper).toHaveClass('-disabled');
146
+ });
147
+ it('should check permission, be unavaible and onDenied is hideContent', function () {
148
+ setSessionStorageMock();
149
+ var permissionAttr = (0, _storageMock.permissionAttrMockUnauthorized)('hideContent');
150
+ var onChange = jest.fn();
151
+
152
+ var _render9 = (0, _react2.render)(colorField({
153
+ permissionAttr: permissionAttr,
154
+ onChange: onChange,
155
+ value: '#000000'
156
+ })),
157
+ container = _render9.container;
158
+
159
+ var inputHTML = container.querySelector('.textinput');
160
+ var inputWrapper = container.querySelector('.inputwrapper');
161
+
162
+ _react2.fireEvent.change(inputHTML, {
163
+ target: {
164
+ value: '#000000'
165
+ }
166
+ });
167
+
168
+ expect(inputHTML.value).toBe('');
169
+ expect(inputHTML.disabled).toBeTruthy();
170
+ expect(onChange).not.toBeCalled();
171
+ expect(inputWrapper).toHaveClass('-disabled');
172
+ });
173
+ });
174
+ });
@@ -87,7 +87,7 @@ var ColorPicker = function ColorPicker(props) {
87
87
  className: "colorpicker-hideinputcolor",
88
88
  ref: inputRef,
89
89
  type: "color",
90
- value: color,
90
+ defaultValue: color,
91
91
  name: name,
92
92
  onClick: function onClick(e) {
93
93
  return onButtonClick ? onButtonClick(e) : null;
@@ -106,7 +106,7 @@ var ColorPicker = function ColorPicker(props) {
106
106
  name: name,
107
107
  ref: inputRef,
108
108
  type: "color",
109
- value: color,
109
+ defaultValue: color,
110
110
  onClick: function onClick(e) {
111
111
  return onButtonClick ? onButtonClick(e) : null;
112
112
  },
@@ -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",
@@ -0,0 +1,344 @@
1
+ "use strict";
2
+
3
+ var _react = _interopRequireDefault(require("react"));
4
+
5
+ var _moment = _interopRequireDefault(require("moment"));
6
+
7
+ var _react2 = require("@testing-library/react");
8
+
9
+ require("@testing-library/jest-dom/extend-expect");
10
+
11
+ var _index = _interopRequireDefault(require("./index"));
12
+
13
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
14
+
15
+ describe('DatePicker', function () {
16
+ var datePicker = function datePicker(datePickerProps) {
17
+ return /*#__PURE__*/_react["default"].createElement(_index["default"], datePickerProps);
18
+ };
19
+
20
+ describe('prop value should', function () {
21
+ it('apply valid date string', function () {
22
+ var value = '12/12/2001';
23
+
24
+ var _render = (0, _react2.render)(datePicker({
25
+ value: value
26
+ })),
27
+ container = _render.container;
28
+
29
+ var inputContent = container.querySelector('.textinput');
30
+ expect(inputContent.value).toBe(value);
31
+ });
32
+ it('apply moment object', function () {
33
+ var value = (0, _moment["default"])();
34
+
35
+ var _render2 = (0, _react2.render)(datePicker({
36
+ value: value
37
+ })),
38
+ container = _render2.container;
39
+
40
+ var inputContent = container.querySelector('.textinput');
41
+ expect(inputContent.value).toBe(value.format('DD/MM/YYYY'));
42
+ });
43
+ it('not apply invalid string date', function () {
44
+ var value = '29/29/2001';
45
+
46
+ var _render3 = (0, _react2.render)(datePicker({
47
+ value: value
48
+ })),
49
+ container = _render3.container;
50
+
51
+ var inputContent = container.querySelector('.textinput');
52
+ expect(inputContent.value).toBe('__/__/____');
53
+ });
54
+ });
55
+ describe('prop showButtonOpen should', function () {
56
+ it('render calendar button when true', function () {
57
+ var _render4 = (0, _react2.render)(datePicker({
58
+ showButtonOpen: true
59
+ })),
60
+ container = _render4.container;
61
+
62
+ var calendarButton = container.querySelector('.calendar-button');
63
+ expect(calendarButton).toBeTruthy();
64
+ });
65
+ it('not render calendar button when false', function () {
66
+ var _render5 = (0, _react2.render)(datePicker({
67
+ showButtonOpen: false
68
+ })),
69
+ container = _render5.container;
70
+
71
+ var calendarButton = container.querySelector('.calendar-button');
72
+ expect(calendarButton).not.toBeTruthy();
73
+ });
74
+ });
75
+ describe('prop shouldCloseOnSelect', function () {
76
+ it('when false should not close Calendar after date beeing chosed', function () {
77
+ var _render6 = (0, _react2.render)(datePicker({
78
+ shouldCloseOnSelect: false
79
+ })),
80
+ container = _render6.container;
81
+
82
+ var inputContent = container.querySelector('.textinput');
83
+ var calendarComponent = document.querySelector('.calendar-component');
84
+ expect(calendarComponent).not.toBeInTheDocument();
85
+
86
+ _react2.fireEvent.focus(inputContent);
87
+
88
+ calendarComponent = document.querySelector('.calendar-component');
89
+ var dayButtons = document.querySelectorAll('.daybutton');
90
+
91
+ _react2.fireEvent.click(dayButtons[0]);
92
+
93
+ expect(calendarComponent).toBeInTheDocument();
94
+ });
95
+ it('when true should close Calendar after date beeing chosed', function () {
96
+ var _render7 = (0, _react2.render)(datePicker({
97
+ shouldCloseOnSelect: true
98
+ })),
99
+ container = _render7.container;
100
+
101
+ var inputContent = container.querySelector('.textinput');
102
+ var calendarComponent = document.querySelector('.calendar-component');
103
+ expect(calendarComponent).not.toBeInTheDocument();
104
+
105
+ _react2.fireEvent.focus(inputContent);
106
+
107
+ calendarComponent = document.querySelector('.calendar-component');
108
+ var dayButtons = document.querySelectorAll('.daybutton');
109
+
110
+ _react2.fireEvent.click(dayButtons[0]);
111
+
112
+ expect(calendarComponent).not.toBeInTheDocument();
113
+ });
114
+ });
115
+ describe('prop openOnFocus', function () {
116
+ it('when false should not open Calendar when input receive focus', function () {
117
+ var _render8 = (0, _react2.render)(datePicker({
118
+ openOnFocus: false
119
+ })),
120
+ container = _render8.container;
121
+
122
+ var inputContent = container.querySelector('.textinput');
123
+
124
+ _react2.fireEvent.focus(inputContent);
125
+
126
+ var calendarComponent = document.querySelector('.calendar-component');
127
+ expect(calendarComponent).not.toBeInTheDocument();
128
+ });
129
+ it('when true should open Calendar when input receive focus', function () {
130
+ var _render9 = (0, _react2.render)(datePicker({
131
+ openOnFocus: true
132
+ })),
133
+ container = _render9.container;
134
+
135
+ var inputContent = container.querySelector('.textinput');
136
+
137
+ _react2.fireEvent.focus(inputContent);
138
+
139
+ var calendarComponent = document.querySelector('.calendar-component');
140
+ expect(calendarComponent).toBeInTheDocument();
141
+ });
142
+ });
143
+ describe('prop showCalendarInDialog', function () {
144
+ it('when true should render Calendar within Dialog', function () {
145
+ var _render10 = (0, _react2.render)(datePicker({
146
+ showCalendarInDialog: true
147
+ })),
148
+ container = _render10.container;
149
+
150
+ var inputContent = container.querySelector('.textinput');
151
+
152
+ _react2.fireEvent.focus(inputContent);
153
+
154
+ var calendarComponent = document.querySelector('.dialog .calendar-component');
155
+ expect(calendarComponent).toBeTruthy();
156
+ });
157
+ it('when false should render Calendar within Dropdown', function () {
158
+ var _render11 = (0, _react2.render)(datePicker({
159
+ showCalendarInDialog: false
160
+ })),
161
+ container = _render11.container;
162
+
163
+ var inputContent = container.querySelector('.textinput');
164
+
165
+ _react2.fireEvent.focus(inputContent);
166
+
167
+ var calendarComponent = document.querySelector('.datepicker-component > .calendar-component');
168
+ expect(calendarComponent).toBeTruthy();
169
+ });
170
+ });
171
+ it('should apply dialogSize', function () {
172
+ var dialogSize = {
173
+ width: '750px',
174
+ height: '600px'
175
+ };
176
+
177
+ var _render12 = (0, _react2.render)(datePicker({
178
+ showCalendarInDialog: true,
179
+ dialogSize: dialogSize
180
+ })),
181
+ container = _render12.container;
182
+
183
+ var inputContent = container.querySelector('.textinput');
184
+
185
+ _react2.fireEvent.focus(inputContent);
186
+
187
+ var dialogWrapper = _react2.screen.getByTestId('dialog-wrapper');
188
+
189
+ expect(dialogWrapper).toHaveStyle(dialogSize);
190
+ });
191
+ describe('prop calendarColorStyle', function () {
192
+ it('when receive "primary" add -primary css class to Calendar', function () {
193
+ var _render13 = (0, _react2.render)(datePicker({
194
+ calendarColorStyle: 'primary'
195
+ })),
196
+ container = _render13.container;
197
+
198
+ var inputContent = container.querySelector('.textinput');
199
+
200
+ _react2.fireEvent.focus(inputContent);
201
+
202
+ var calendarComponent = document.querySelector('.calendar-component');
203
+ expect(calendarComponent).toHaveClass('-primary');
204
+ });
205
+ it('when receive "success" add -success css class to Calendar', function () {
206
+ var _render14 = (0, _react2.render)(datePicker({
207
+ calendarColorStyle: 'success'
208
+ })),
209
+ container = _render14.container;
210
+
211
+ var inputContent = container.querySelector('.textinput');
212
+
213
+ _react2.fireEvent.focus(inputContent);
214
+
215
+ var calendarComponent = document.querySelector('.calendar-component');
216
+ expect(calendarComponent).toHaveClass('-success');
217
+ });
218
+ it('when receive "danger" add -danger css class to Calendar', function () {
219
+ var _render15 = (0, _react2.render)(datePicker({
220
+ calendarColorStyle: 'danger'
221
+ })),
222
+ container = _render15.container;
223
+
224
+ var inputContent = container.querySelector('.textinput');
225
+
226
+ _react2.fireEvent.focus(inputContent);
227
+
228
+ var calendarComponent = document.querySelector('.calendar-component');
229
+ expect(calendarComponent).toHaveClass('-danger');
230
+ });
231
+ it('when receive "info" add -info css class to Calendar', function () {
232
+ var _render16 = (0, _react2.render)(datePicker({
233
+ calendarColorStyle: 'info'
234
+ })),
235
+ container = _render16.container;
236
+
237
+ var inputContent = container.querySelector('.textinput');
238
+
239
+ _react2.fireEvent.focus(inputContent);
240
+
241
+ var calendarComponent = document.querySelector('.calendar-component');
242
+ expect(calendarComponent).toHaveClass('-info');
243
+ });
244
+ it('when receive "warning" add -warning css class to Calendar', function () {
245
+ var _render17 = (0, _react2.render)(datePicker({
246
+ calendarColorStyle: 'warning'
247
+ })),
248
+ container = _render17.container;
249
+
250
+ var inputContent = container.querySelector('.textinput');
251
+
252
+ _react2.fireEvent.focus(inputContent);
253
+
254
+ var calendarComponent = document.querySelector('.calendar-component');
255
+ expect(calendarComponent).toHaveClass('-warning');
256
+ });
257
+ });
258
+ it('prop required should render span for required field', function () {
259
+ var _render18 = (0, _react2.render)(datePicker({
260
+ label: 'teste',
261
+ required: true
262
+ })),
263
+ container = _render18.container;
264
+
265
+ var requiredLabel = container.querySelector('.input-base-component > .labelcontainer > .label > .-requiredlabel');
266
+ expect(requiredLabel).toBeTruthy();
267
+ expect(requiredLabel).toHaveTextContent('*');
268
+ });
269
+ it('should apply onComplete', function () {
270
+ var onComplete = jest.fn();
271
+
272
+ var _render19 = (0, _react2.render)(datePicker({
273
+ onComplete: onComplete
274
+ })),
275
+ container = _render19.container;
276
+
277
+ var inputContent = container.querySelector('.textinput');
278
+
279
+ _react2.fireEvent.change(inputContent, {
280
+ target: {
281
+ value: (0, _moment["default"])()
282
+ }
283
+ });
284
+
285
+ expect(onComplete).toBeCalled();
286
+ });
287
+ it('should apply onBlur', function () {
288
+ var onBlur = jest.fn();
289
+
290
+ var _render20 = (0, _react2.render)(datePicker({
291
+ onBlur: onBlur
292
+ })),
293
+ container = _render20.container;
294
+
295
+ var inputContent = container.querySelector('.textinput');
296
+
297
+ _react2.fireEvent.blur(inputContent);
298
+
299
+ expect(onBlur).toBeCalled();
300
+ });
301
+ it('should apply onFocus', function () {
302
+ var onFocus = jest.fn();
303
+
304
+ var _render21 = (0, _react2.render)(datePicker({
305
+ onFocus: onFocus
306
+ })),
307
+ container = _render21.container;
308
+
309
+ var inputContent = container.querySelector('.textinput');
310
+
311
+ _react2.fireEvent.focus(inputContent);
312
+
313
+ expect(onFocus).toBeCalled();
314
+ });
315
+ it('should apply onChange', function () {
316
+ var onChange = jest.fn();
317
+
318
+ var _render22 = (0, _react2.render)(datePicker({
319
+ onChange: onChange
320
+ })),
321
+ container = _render22.container;
322
+
323
+ var inputContent = container.querySelector('.textinput');
324
+
325
+ _react2.fireEvent.change(inputContent, {
326
+ target: {
327
+ value: (0, _moment["default"])()
328
+ }
329
+ });
330
+
331
+ expect(onChange).toBeCalled();
332
+ });
333
+ it('should apply name', function () {
334
+ var name = 'sus';
335
+
336
+ var _render23 = (0, _react2.render)(datePicker({
337
+ name: name
338
+ })),
339
+ container = _render23.container;
340
+
341
+ var inputContent = container.querySelector('.textinput');
342
+ expect(inputContent.name).toBe(name);
343
+ });
344
+ });
@@ -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.getValue = 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 getValue = function getValue(value) {
27
+ var stringDataToEnUs = value;
28
+
29
+ if ((0, _moment["default"])(value, PT_BR_FORMAT).isValid()) {
30
+ stringDataToEnUs = (0, _moment["default"])(value, PT_BR_FORMAT).format(EN_US_FORMAT);
31
+ }
32
+
33
+ return typeof value === 'string' ? (0, _moment["default"])(stringDataToEnUs, EN_US_FORMAT) : value;
34
+ };
35
+
36
+ exports.getValue = getValue;