@dxc-technology/halstack-react 0.0.0-8d633bd → 0.0.0-9196773

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/dist/ThemeContext.js +69 -61
  2. package/dist/alert/Alert.js +4 -4
  3. package/dist/alert/index.d.ts +30 -5
  4. package/dist/common/variables.js +199 -47
  5. package/dist/date/Date.js +4 -6
  6. package/dist/{new-date/NewDate.js → date-input/DateInput.js} +69 -72
  7. package/dist/date-input/index.d.ts +95 -0
  8. package/dist/file-input/FileInput.js +11 -8
  9. package/dist/file-input/FileItem.js +25 -8
  10. package/dist/file-input/index.d.ts +81 -0
  11. package/dist/input-text/InputText.js +3 -3
  12. package/dist/main.d.ts +7 -1
  13. package/dist/main.js +22 -14
  14. package/dist/new-select/NewSelect.js +836 -0
  15. package/dist/new-select/index.d.ts +53 -0
  16. package/dist/new-textarea/NewTextarea.js +52 -48
  17. package/dist/new-textarea/index.d.ts +117 -0
  18. package/dist/{number/Number.js → number-input/NumberInput.js} +9 -11
  19. package/dist/{number/NumberContext.js → number-input/NumberInputContext.js} +2 -2
  20. package/dist/number-input/index.d.ts +113 -0
  21. package/dist/{password/Password.js → password-input/PasswordInput.js} +11 -13
  22. package/dist/password-input/index.d.ts +94 -0
  23. package/dist/slider/Slider.js +89 -14
  24. package/dist/{new-input-text/NewInputText.js → text-input/TextInput.js} +129 -135
  25. package/dist/text-input/index.d.ts +135 -0
  26. package/dist/toggle-group/ToggleGroup.js +132 -28
  27. package/dist/upload/Upload.js +3 -3
  28. package/dist/upload/readme.md +2 -2
  29. package/package.json +1 -1
  30. package/test/{NewDate.test.js → DateInput.test.js} +66 -27
  31. package/test/FileInput.test.js +164 -2
  32. package/test/InputText.test.js +24 -16
  33. package/test/NewTextarea.test.js +71 -128
  34. package/test/{Number.test.js → NumberInput.test.js} +84 -66
  35. package/test/PasswordInput.test.js +83 -0
  36. package/test/{NewInputText.test.js → TextInput.test.js} +134 -268
  37. package/test/ToggleGroup.test.js +5 -1
  38. package/test/Upload.test.js +5 -5
  39. package/dist/footer/Footer.stories.js +0 -94
  40. package/dist/input-text/InputText.stories.js +0 -209
  41. package/dist/password/styles.css +0 -3
  42. package/dist/slider/Slider.stories.js +0 -241
  43. package/test/Password.test.js +0 -76
@@ -23,7 +23,11 @@ const options = [
23
23
 
24
24
  describe("Toggle group component tests", () => {
25
25
  test("Toggle group renders with correct labels", () => {
26
- const { getByText } = render(<DxcToggleGroup options={options} />);
26
+ const { getByText } = render(
27
+ <DxcToggleGroup label="Toggle group label" helperText="Toggle group helper text" options={options} />
28
+ );
29
+ expect(getByText("Toggle group label")).toBeTruthy();
30
+ expect(getByText("Toggle group helper text")).toBeTruthy();
27
31
  expect(getByText("Amazon")).toBeTruthy();
28
32
  expect(getByText("Ebay")).toBeTruthy();
29
33
  expect(getByText("Apple")).toBeTruthy();
@@ -1,10 +1,10 @@
1
1
  import React from "react";
2
2
  import { render, fireEvent, act, createEvent } from "@testing-library/react";
3
- import DxcUpload from "../src/upload/Upload";
3
+ import V3DxcUpload from "../src/upload/Upload";
4
4
 
5
5
  describe("Upload component tests", () => {
6
6
  test("Upload renders with correct text", () => {
7
- const { getByText } = render(<DxcUpload margin="small"></DxcUpload>);
7
+ const { getByText } = render(<V3DxcUpload margin="small"></V3DxcUpload>);
8
8
  expect(getByText("There are no files to upload")).toBeTruthy();
9
9
  expect(getByText("Drag and drop your files here or choose one from your computer")).toBeTruthy();
10
10
  expect(getByText("CHOOSE FILES")).toBeTruthy();
@@ -12,7 +12,7 @@ describe("Upload component tests", () => {
12
12
 
13
13
  test("Upload shows file information", () => {
14
14
  const myfunction = jest.fn();
15
- const { getByText } = render(<DxcUpload margin="small"></DxcUpload>);
15
+ const { getByText } = render(<V3DxcUpload margin="small"></V3DxcUpload>);
16
16
 
17
17
  const dropZone = getByText("There are no files to upload");
18
18
  const dropEvent = createEvent.drop(dropZone);
@@ -34,9 +34,9 @@ describe("Upload component tests", () => {
34
34
  });
35
35
 
36
36
  test("Calls correct function callbackUpload", () => {
37
- const onCallbackUpload = jest.fn(() => new Promise(resolve => setTimeout(resolve, 1000)));
37
+ const onCallbackUpload = jest.fn(() => new Promise((resolve) => setTimeout(resolve, 1000)));
38
38
  const myfunction = jest.fn();
39
- const { getByText } = render(<DxcUpload margin="small" callbackUpload={onCallbackUpload}></DxcUpload>);
39
+ const { getByText } = render(<V3DxcUpload margin="small" callbackUpload={onCallbackUpload}></V3DxcUpload>);
40
40
 
41
41
  const dropZone = getByText("There are no files to upload");
42
42
  const dropEvent = createEvent.drop(dropZone);
@@ -1,94 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- var _react = _interopRequireDefault(require("react"));
6
-
7
- var _react2 = require("@storybook/react");
8
-
9
- var _addonActions = require("@storybook/addon-actions");
10
-
11
- require("../common/OpenSans.css");
12
-
13
- var _addonKnobs = require("@storybook/addon-knobs");
14
-
15
- var _linkedin = _interopRequireDefault(require("../../.storybook/public/linkedin.svg"));
16
-
17
- var _facebook = _interopRequireDefault(require("../../.storybook/public/facebook.svg"));
18
-
19
- var _twitter = _interopRequireDefault(require("../../.storybook/public/twitter.svg"));
20
-
21
- var _InputText = _interopRequireDefault(require("../input-text/InputText"));
22
-
23
- var _readme = _interopRequireDefault(require("./readme.md"));
24
-
25
- var _Footer = _interopRequireDefault(require("./Footer"));
26
-
27
- var social = [{
28
- href: "https://www.linkedin.com/company/dxctechnology",
29
- logoSrc: _linkedin["default"]
30
- }, {
31
- href: "https://twitter.com/dxctechnology",
32
- logoSrc: _twitter["default"]
33
- }, {
34
- href: "https://www.facebook.com/DXCTechnology/",
35
- logoSrc: _facebook["default"]
36
- }];
37
- var bottom = [{
38
- href: "https://www.linkedin.com/company/dxctechnology",
39
- text: "Linkedin"
40
- }, {
41
- href: "https://twitter.com/dxctechnology",
42
- text: "Twitter"
43
- }, {
44
- href: "https://www.facebook.com/DXCTechnology/",
45
- text: "Facebook"
46
- }];
47
- (0, _react2.storiesOf)("Form Components|Footer", module).add("Component", function () {
48
- return _react["default"].createElement("div", null, _react["default"].createElement(_Footer["default"], {
49
- copyright: "\xA9 DXC Technology 2019. All rights reserved.",
50
- bottomLinks: bottom,
51
- socialLinks: social
52
- }), _react["default"].createElement("div", {
53
- style: {
54
- marginTop: "20px"
55
- }
56
- }, _react["default"].createElement(_Footer["default"], {
57
- copyright: "\xA9 DXC Technology 2019. All rights reserved.",
58
- bottomLinks: bottom,
59
- socialLinks: social
60
- }, _react["default"].createElement(_InputText["default"], {
61
- assistiveText: "text input component",
62
- label: "Footer Child",
63
- theme: "dark"
64
- }), _react["default"].createElement(_InputText["default"], {
65
- assistiveText: "text input component",
66
- label: "Footer Child",
67
- theme: "dark"
68
- }), _react["default"].createElement(_InputText["default"], {
69
- assistiveText: "text input component",
70
- label: "Footer Child",
71
- theme: "dark"
72
- }), _react["default"].createElement(_InputText["default"], {
73
- assistiveText: "text input component",
74
- label: "Footer Child",
75
- theme: "dark"
76
- }))));
77
- }, {
78
- notes: {
79
- markdown: _readme["default"]
80
- }
81
- });
82
-
83
- var knobProps = function knobProps() {
84
- return {};
85
- };
86
-
87
- (0, _react2.storiesOf)("Form Components|Footer", module).add("Knobs example", function () {
88
- var props = knobProps();
89
- return _react["default"].createElement("div", null);
90
- }, {
91
- notes: {
92
- markdown: _readme["default"]
93
- }
94
- });
@@ -1,209 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
6
-
7
- var _react = _interopRequireDefault(require("react"));
8
-
9
- var _react2 = require("@storybook/react");
10
-
11
- var _addonActions = require("@storybook/addon-actions");
12
-
13
- var _addonKnobs = require("@storybook/addon-knobs");
14
-
15
- var _amazon = _interopRequireDefault(require("../../.storybook/public/amazon.svg"));
16
-
17
- var _readme = _interopRequireDefault(require("./readme.md"));
18
-
19
- var _InputText = _interopRequireDefault(require("./InputText"));
20
-
21
- var onChange = (0, _addonActions.action)("onChange");
22
-
23
- onChange.toString = function () {
24
- return "onChangeHandler";
25
- };
26
-
27
- var onBlur = (0, _addonActions.action)("onBlur");
28
-
29
- onBlur.toString = function () {
30
- return "onBlurHandler";
31
- };
32
-
33
- var onClickIcon = (0, _addonActions.action)("onClickIcon");
34
-
35
- onClickIcon.toString = function () {
36
- return "onClickIconHandler";
37
- };
38
-
39
- (0, _react2.storiesOf)("Form Components|Text", module).add("Component", function () {
40
- return _react["default"].createElement("div", null, _react["default"].createElement("h3", null, "Light"), _react["default"].createElement("div", null, _react["default"].createElement(_InputText["default"], {
41
- disabled: false,
42
- label: "Normal Input",
43
- error: false,
44
- value: "Test Value",
45
- onChange: onChange,
46
- onBlur: onBlur,
47
- required: true,
48
- assistiveText: "Assistive Text Here"
49
- }), _react["default"].createElement(_InputText["default"], {
50
- disabled: false,
51
- label: "With Assistive Text",
52
- assistiveText: "Assistive Text Here",
53
- error: true,
54
- onChange: onChange,
55
- onBlur: onBlur,
56
- required: true
57
- }), _react["default"].createElement(_InputText["default"], {
58
- disabled: false,
59
- label: "With Prefix text",
60
- prefijo: "Kg",
61
- onChange: onChange,
62
- onBlur: onBlur,
63
- assistiveText: "Assistive Text Here"
64
- }), _react["default"].createElement(_InputText["default"], {
65
- disabled: true,
66
- label: "With Sufix text",
67
- sufix: "\u20AC",
68
- onChange: onChange,
69
- onBlur: onBlur
70
- }), _react["default"].createElement(_InputText["default"], {
71
- disabled: true,
72
- label: "With Prefix icon",
73
- prefijoIconSrc: _amazon["default"],
74
- onChange: onChange,
75
- onBlur: onBlur,
76
- onClickIcon: onClickIcon
77
- }), _react["default"].createElement(_InputText["default"], {
78
- disabled: true,
79
- label: "With Sufix icon",
80
- sufixIconSrc: _amazon["default"],
81
- onChange: onChange,
82
- onBlur: onBlur,
83
- onClickIcon: onClickIcon
84
- }), _react["default"].createElement(_InputText["default"], {
85
- disabled: false,
86
- label: "With Sufix icon",
87
- sufixIconSrc: _amazon["default"],
88
- onChange: onChange,
89
- onBlur: onBlur,
90
- onClickIcon: onClickIcon
91
- }), _react["default"].createElement(_InputText["default"], {
92
- disabled: false,
93
- label: "Multiline",
94
- multiline: true,
95
- onChange: onChange,
96
- onBlur: onBlur,
97
- onClickIcon: onClickIcon
98
- })), _react["default"].createElement("h3", null, "Dark"), _react["default"].createElement("div", {
99
- style: {
100
- background: "black"
101
- }
102
- }, _react["default"].createElement(_InputText["default"], {
103
- disabled: false,
104
- theme: "dark",
105
- label: "Normal Input",
106
- error: false,
107
- value: "Test Value",
108
- onChange: onChange,
109
- onBlur: onBlur,
110
- required: true,
111
- assistiveText: "Assistive Text Here"
112
- }), _react["default"].createElement(_InputText["default"], {
113
- disabled: false,
114
- theme: "dark",
115
- label: "With Assistive Text",
116
- assistiveText: "Assistive Text Here",
117
- error: true,
118
- onChange: onChange,
119
- onBlur: onBlur,
120
- required: true
121
- }), _react["default"].createElement(_InputText["default"], {
122
- disabled: false,
123
- theme: "dark",
124
- label: "With Prefix text",
125
- prefijo: "Kg",
126
- onChange: onChange,
127
- onBlur: onBlur,
128
- assistiveText: "Assistive Text Here"
129
- }), _react["default"].createElement(_InputText["default"], {
130
- disabled: true,
131
- label: "With Sufix text",
132
- sufix: "\u20AC",
133
- theme: "dark",
134
- onChange: onChange,
135
- onBlur: onBlur
136
- }), _react["default"].createElement(_InputText["default"], {
137
- disabled: false,
138
- theme: "dark",
139
- label: "With Prefix icon",
140
- prefijoIconSrc: _amazon["default"],
141
- onChange: onChange,
142
- onBlur: onBlur,
143
- onClickIcon: onClickIcon
144
- }), _react["default"].createElement(_InputText["default"], {
145
- disabled: false,
146
- theme: "dark",
147
- label: "With Sufix icon",
148
- sufixIconSrc: _amazon["default"],
149
- onChange: onChange,
150
- onBlur: onBlur,
151
- onClickIcon: onClickIcon
152
- }), _react["default"].createElement(_InputText["default"], {
153
- disabled: false,
154
- theme: "dark",
155
- label: "With Sufix icon",
156
- sufixIconSrc: _amazon["default"],
157
- onChange: onChange,
158
- onBlur: onBlur,
159
- onClickIcon: onClickIcon
160
- }), _react["default"].createElement(_InputText["default"], {
161
- disabled: false,
162
- label: "Multiline",
163
- multiline: true,
164
- sufix: "\u20AC",
165
- prefijo: "Kg",
166
- theme: "dark",
167
- onChange: onChange,
168
- onBlur: onBlur,
169
- onClickIcon: onClickIcon
170
- })));
171
- }, {
172
- notes: {
173
- markdown: _readme["default"]
174
- }
175
- });
176
-
177
- var knobProps = function knobProps() {
178
- return {
179
- label: (0, _addonKnobs.text)("Label", "Test Label"),
180
- theme: (0, _addonKnobs.select)("Theme", {
181
- light: "light",
182
- dark: "dark"
183
- }, "light"),
184
- assistiveText: (0, _addonKnobs.text)("Assistive text", "Helper text"),
185
- disabled: (0, _addonKnobs["boolean"])("Disabled", false),
186
- prefijo: (0, _addonKnobs.text)("Prefix word", ""),
187
- sufix: (0, _addonKnobs.text)("Sufix word", ""),
188
- required: (0, _addonKnobs["boolean"])("Required", false),
189
- error: (0, _addonKnobs["boolean"])("Error", false),
190
- multiline: (0, _addonKnobs["boolean"])("Multiline", false)
191
- };
192
- };
193
-
194
- (0, _react2.storiesOf)("Form Components|Text", module).add("Knobs example", function () {
195
- var props = knobProps();
196
- return _react["default"].createElement("div", {
197
- style: {
198
- background: props.theme === "dark" && "black" || "transparent"
199
- }
200
- }, _react["default"].createElement(_InputText["default"], (0, _extends2["default"])({}, props, {
201
- onChange: onChange,
202
- onBlur: onBlur,
203
- onClickIcon: onClickIcon
204
- })));
205
- }, {
206
- notes: {
207
- markdown: _readme["default"]
208
- }
209
- });
@@ -1,3 +0,0 @@
1
- ::-ms-reveal {
2
- display: none;
3
- }
@@ -1,241 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
6
-
7
- var _react = _interopRequireDefault(require("react"));
8
-
9
- var _react2 = require("@storybook/react");
10
-
11
- var _addonActions = require("@storybook/addon-actions");
12
-
13
- var _addonKnobs = require("@storybook/addon-knobs");
14
-
15
- var _readme = _interopRequireDefault(require("./readme.md"));
16
-
17
- var _Slider = _interopRequireDefault(require("./Slider"));
18
-
19
- var onChange = (0, _addonActions.action)("onChange");
20
-
21
- onChange.toString = function () {
22
- return "onChangeHandler";
23
- };
24
-
25
- var onDragEnd = (0, _addonActions.action)("onDragEnd");
26
-
27
- onDragEnd.toString = function () {
28
- return "onDragEnd";
29
- };
30
-
31
- var onChangeInput = (0, _addonActions.action)("onChangeInput");
32
-
33
- onChangeInput.toString = function () {
34
- return "onChangeInputHandler";
35
- };
36
-
37
- (0, _react2.storiesOf)("Form Components|Slider", module).add("Component", function () {
38
- return _react["default"].createElement("div", null, _react["default"].createElement("h3", null, "Light"), _react["default"].createElement("div", null, _react["default"].createElement("p", null, "Slider"), _react["default"].createElement("div", null, _react["default"].createElement(_Slider["default"], {
39
- minValue: 0,
40
- maxValue: 100,
41
- showLimitsValues: true,
42
- showInput: false,
43
- name: "input",
44
- disabled: false,
45
- required: true,
46
- theme: "light",
47
- step: 1,
48
- marks: false,
49
- onChange: onChange,
50
- onDragEnd: onDragEnd,
51
- onChangeInput: onChangeInput
52
- })), _react["default"].createElement("div", null, _react["default"].createElement("p", null, "Slider with marks"), _react["default"].createElement(_Slider["default"], {
53
- minValue: 0,
54
- maxValue: 50,
55
- showLimitsValues: true,
56
- showInput: false,
57
- name: "input",
58
- disabled: false,
59
- required: true,
60
- theme: "light",
61
- step: 10,
62
- marks: true,
63
- onChange: onChange,
64
- onDragEnd: onDragEnd,
65
- onChangeInput: onChangeInput
66
- })), _react["default"].createElement("div", null, _react["default"].createElement("p", null, "Slider without limit values"), _react["default"].createElement(_Slider["default"], {
67
- minValue: 0,
68
- maxValue: 50,
69
- showLimitsValues: false,
70
- showInput: false,
71
- name: "input",
72
- disabled: false,
73
- required: true,
74
- theme: "light",
75
- step: 10,
76
- marks: false,
77
- onChange: onChange,
78
- onDragEnd: onDragEnd,
79
- onChangeInput: onChangeInput
80
- })), _react["default"].createElement("div", null, _react["default"].createElement("p", null, "Slider with limits, input and marks"), _react["default"].createElement(_Slider["default"], {
81
- minValue: 0,
82
- maxValue: 50,
83
- showLimitsValues: true,
84
- showInput: true,
85
- name: "input",
86
- disabled: false,
87
- required: true,
88
- theme: "light",
89
- step: 5,
90
- marks: true,
91
- onChange: onChange,
92
- onDragEnd: onDragEnd,
93
- onChangeInput: onChangeInput
94
- })), _react["default"].createElement("div", null, _react["default"].createElement("p", null, "Slider with limits, input, marks and disabled"), _react["default"].createElement(_Slider["default"], {
95
- minValue: 0,
96
- maxValue: 50,
97
- showLimitsValues: true,
98
- showInput: true,
99
- name: "input",
100
- disabled: true,
101
- required: true,
102
- theme: "light",
103
- step: 5,
104
- marks: true,
105
- onChange: onChange,
106
- onDragEnd: onDragEnd,
107
- onChangeInput: onChangeInput
108
- }))), _react["default"].createElement("h3", null, "Dark"), _react["default"].createElement("div", {
109
- style: {
110
- background: "black"
111
- }
112
- }, _react["default"].createElement("p", {
113
- style: {
114
- color: "white"
115
- }
116
- }, "Slider"), _react["default"].createElement("div", null, _react["default"].createElement(_Slider["default"], {
117
- minValue: 0,
118
- maxValue: 100,
119
- showLimitsValues: true,
120
- showInput: false,
121
- name: "input",
122
- disabled: false,
123
- required: true,
124
- theme: "dark",
125
- step: 1,
126
- marks: false,
127
- onChange: onChange,
128
- onDragEnd: onDragEnd,
129
- onChangeInput: onChangeInput
130
- })), _react["default"].createElement("div", null, _react["default"].createElement("p", {
131
- style: {
132
- color: "white"
133
- }
134
- }, "Slider with marks"), _react["default"].createElement(_Slider["default"], {
135
- minValue: 0,
136
- maxValue: 50,
137
- showLimitsValues: true,
138
- showInput: false,
139
- name: "input",
140
- disabled: false,
141
- required: true,
142
- theme: "dark",
143
- step: 10,
144
- marks: true,
145
- onChange: onChange,
146
- onDragEnd: onDragEnd,
147
- onChangeInput: onChangeInput
148
- })), _react["default"].createElement("div", null, _react["default"].createElement("p", {
149
- style: {
150
- color: "white"
151
- }
152
- }, "Slider without limit values"), _react["default"].createElement(_Slider["default"], {
153
- minValue: 0,
154
- maxValue: 50,
155
- showLimitsValues: false,
156
- showInput: false,
157
- name: "input",
158
- disabled: false,
159
- required: true,
160
- theme: "dark",
161
- step: 10,
162
- marks: false,
163
- onChange: onChange,
164
- onDragEnd: onDragEnd,
165
- onChangeInput: onChangeInput
166
- })), _react["default"].createElement("div", null, _react["default"].createElement("p", {
167
- style: {
168
- color: "white"
169
- }
170
- }, "Slider with limits, input and marks"), _react["default"].createElement(_Slider["default"], {
171
- minValue: 0,
172
- maxValue: 50,
173
- showLimitsValues: true,
174
- showInput: true,
175
- name: "input",
176
- disabled: false,
177
- required: true,
178
- theme: "dark",
179
- step: 5,
180
- marks: true,
181
- onChange: onChange,
182
- onDragEnd: onDragEnd,
183
- onChangeInput: onChangeInput
184
- })), _react["default"].createElement("div", null, _react["default"].createElement("p", {
185
- style: {
186
- color: "white"
187
- }
188
- }, "Slider with limits, input, marks and disabled"), _react["default"].createElement(_Slider["default"], {
189
- minValue: 0,
190
- maxValue: 50,
191
- showLimitsValues: true,
192
- showInput: true,
193
- name: "input",
194
- disabled: true,
195
- required: true,
196
- theme: "dark",
197
- step: 5,
198
- marks: true,
199
- onChange: onChange,
200
- onDragEnd: onDragEnd,
201
- onChangeInput: onChangeInput
202
- }))));
203
- }, {
204
- notes: {
205
- markdown: _readme["default"]
206
- }
207
- });
208
-
209
- var knobProps = function knobProps() {
210
- return {
211
- minValue: (0, _addonKnobs.number)("minvalue", 0),
212
- maxValue: (0, _addonKnobs.number)("maxvalue", 100),
213
- showLimitsValues: (0, _addonKnobs["boolean"])("showLimits", true),
214
- showInput: (0, _addonKnobs["boolean"])("showInput", true),
215
- disabled: (0, _addonKnobs["boolean"])("disabled", false),
216
- theme: (0, _addonKnobs.select)("theme", {
217
- light: "light",
218
- dark: "dark"
219
- }, "light"),
220
- step: (0, _addonKnobs.number)("step", 1),
221
- marks: (0, _addonKnobs["boolean"])("marks", false)
222
- };
223
- };
224
-
225
- (0, _react2.storiesOf)("Form Components|Slider", module).add("Knobs example", function () {
226
- var props = knobProps();
227
- return _react["default"].createElement("div", {
228
- style: {
229
- background: props.theme === "dark" && "black" || "transparent"
230
- }
231
- }, _react["default"].createElement(_Slider["default"], (0, _extends2["default"])({}, props, {
232
- onChange: onChange,
233
- onDragEnd: onDragEnd,
234
- onChangeInput: onChangeInput,
235
- name: "sliderImput"
236
- })));
237
- }, {
238
- notes: {
239
- markdown: _readme["default"]
240
- }
241
- });
@@ -1,76 +0,0 @@
1
- import React from "react";
2
- import { render } from "@testing-library/react";
3
- import userEvent from "@testing-library/user-event";
4
- import DxcPassword from "../src/password/Password";
5
-
6
- describe("Password component tests", () => {
7
- test("Password renders with label", () => {
8
- const { getByText } = render(<DxcPassword label="Password label" />);
9
- expect(getByText("Password label")).toBeTruthy();
10
- });
11
-
12
- test("Password renders with helper text", () => {
13
- const { getByText } = render(<DxcPassword helperText="Helper text" />);
14
- expect(getByText("Helper text")).toBeTruthy();
15
- });
16
-
17
- test("Password renders error", () => {
18
- const { getByText } = render(<DxcPassword error="Error message." />);
19
- expect(getByText("Error message.")).toBeTruthy();
20
- });
21
-
22
- test("onChange function is called correctly", () => {
23
- const onChange = jest.fn();
24
- const { getByRole } = render(<DxcPassword label="Password" onChange={onChange} />);
25
- const password = getByRole("textbox");
26
- userEvent.type(password, "Pa$$w0rd");
27
- expect(onChange).toHaveBeenCalledWith("P");
28
- expect(password.value).toBe("Pa$$w0rd");
29
- });
30
-
31
- test("Clear password value", () => {
32
- const onChange = jest.fn();
33
- const { getAllByRole, getByRole } = render(<DxcPassword label="Password" onChange={onChange} clearable />);
34
- const password = getByRole("textbox");
35
- userEvent.type(password, "Pa$$w0rd");
36
- expect(password.value).toBe("Pa$$w0rd");
37
- const clearButton = getAllByRole("button")[0];
38
- userEvent.click(clearButton);
39
- expect(password.value).toBe("");
40
- });
41
-
42
- test("Non clearable password has no clear icon", () => {
43
- const onChange = jest.fn();
44
- const { getAllByRole, getByRole } = render(<DxcPassword label="Password" onChange={onChange} />);
45
- const password = getByRole("textbox");
46
- userEvent.type(password, "Pa$$w0rd");
47
- expect(password.value).toBe("Pa$$w0rd");
48
- const buttons = getAllByRole("button");
49
- expect(buttons.length).toBe(1);
50
- });
51
-
52
- test("Show/hide password button works correctly", () => {
53
- const onChange = jest.fn();
54
- const { getAllByRole, getByRole } = render(<DxcPassword label="Password" clearable onChange={onChange} />);
55
- const password = getByRole("textbox");
56
- userEvent.type(password, "Pa$$w0rd");
57
- expect(password.value).toBe("Pa$$w0rd");
58
- expect(password.type).toBe("password");
59
- const showButton = getAllByRole("button")[1];
60
- userEvent.click(showButton);
61
- expect(password.type).toBe("text");
62
- });
63
-
64
- test("Password has correct accesibility attributes", () => {
65
- const { getByRole } = render(<DxcPassword label="Password" />);
66
- const password = getByRole("textbox");
67
- expect(password.getAttribute("aria-autocomplete")).toBeNull();
68
- expect(password.getAttribute("aria-controls")).toBeNull();
69
- const showButton = getByRole("button");
70
- expect(showButton.getAttribute("aria-expanded")).toBe("false");
71
- expect(showButton.getAttribute("aria-label")).toBe("Show");
72
- userEvent.click(showButton);
73
- expect(showButton.getAttribute("aria-expanded")).toBe("true");
74
- expect(showButton.getAttribute("aria-label")).toBe("Hide");
75
- });
76
- });