react-restyle-components 0.1.45 → 0.1.47
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.
- package/lib/cjs/App.js +12 -36
- package/lib/cjs/App.test.js +8 -10
- package/lib/cjs/core-components/atoms/buttons/button.stories.js +24 -26
- package/lib/cjs/core-components/atoms/buttons/buttons.component.js +9 -27
- package/lib/cjs/core-components/atoms/buttons/buttons.test.js +7 -15
- package/lib/cjs/core-components/atoms/check-box/checkBox.component.js +35 -102
- package/lib/cjs/core-components/atoms/check-box/checkBox.stories.js +17 -17
- package/lib/cjs/core-components/atoms/check-box/checkBox.test.js +7 -15
- package/lib/cjs/core-components/atoms/date-picker/date-picker.component.js +37 -98
- package/lib/cjs/core-components/atoms/date-picker/date-picker.stories.js +15 -17
- package/lib/cjs/core-components/atoms/date-picker/date-picker.test.js +7 -16
- package/lib/cjs/core-components/atoms/form/form.component.js +159 -571
- package/lib/cjs/core-components/atoms/form/form.test.js +59 -87
- package/lib/cjs/core-components/atoms/icons/icons.component.js +58 -41
- package/lib/cjs/core-components/atoms/icons/icons.component.js.map +1 -1
- package/lib/cjs/core-components/atoms/icons/icons.stories.js +23 -0
- package/lib/cjs/core-components/atoms/icons/icons.stories.js.map +1 -0
- package/lib/cjs/core-components/atoms/icons/icons.test.js +16 -0
- package/lib/cjs/core-components/atoms/icons/icons.test.js.map +1 -0
- package/lib/cjs/core-components/atoms/input/input-otp.component.js +76 -118
- package/lib/cjs/core-components/atoms/input/input-pin.component.js +98 -180
- package/lib/cjs/core-components/atoms/input/input-pin.stories.js +14 -14
- package/lib/cjs/core-components/atoms/input/input-pin.test.js +10 -28
- package/lib/cjs/core-components/atoms/input/input.component.js +33 -104
- package/lib/cjs/core-components/atoms/input/input.stories.js +15 -15
- package/lib/cjs/core-components/atoms/input/input.test.js +10 -30
- package/lib/cjs/core-components/atoms/input-dropdown/input-dropdown.component.js +53 -127
- package/lib/cjs/core-components/atoms/input-dropdown/input-dropdown.stories.js +12 -12
- package/lib/cjs/core-components/atoms/input-dropdown/input-dropdown.test.js +7 -16
- package/lib/cjs/core-components/atoms/loader/loader.component.js +21 -83
- package/lib/cjs/core-components/atoms/loader/loader.stories.js +8 -8
- package/lib/cjs/core-components/atoms/loader/loader.test.js +7 -11
- package/lib/cjs/core-components/atoms/radio/radio.component.js +37 -102
- package/lib/cjs/core-components/atoms/radio/radio.stories.js +16 -16
- package/lib/cjs/core-components/atoms/radio/radio.test.js +7 -15
- package/lib/cjs/core-components/atoms/stepper/stepper.component.js +34 -77
- package/lib/cjs/core-components/atoms/stepper/stepper.stories.js +13 -13
- package/lib/cjs/core-components/atoms/stepper/stepper.test.js +7 -16
- package/lib/cjs/core-components/atoms/tabs/tabs.component.js +32 -81
- package/lib/cjs/core-components/atoms/tabs/tabs.stories.js +16 -16
- package/lib/cjs/core-components/atoms/tabs/tabs.stories.js.map +1 -1
- package/lib/cjs/core-components/atoms/tabs/tabs.test.js +13 -20
- package/lib/cjs/core-components/atoms/timer/timer.component.js +92 -119
- package/lib/cjs/core-components/atoms/timer/timer.test.js +10 -20
- package/lib/cjs/core-components/atoms/tooltip/tooltip.component.js +45 -85
- package/lib/cjs/core-components/atoms/tooltip/tooltip.component.test.js +9 -13
- package/lib/cjs/core-components/atoms/tooltip/tooltip.stories.js +8 -8
- package/lib/cjs/core-components/index.js +27 -64
- package/lib/cjs/core-components/molecules/auto-complete-filter-multiple-select-multiple-fields-display/auto-complete-filter-multiple-select-multiple-fields-display.component.js +106 -210
- package/lib/cjs/core-components/molecules/auto-complete-filter-multiple-select-multiple-fields-display/auto-complete-filter-multiple-select-multiple-fields-display.component.test.js +9 -23
- package/lib/cjs/core-components/molecules/auto-complete-filter-multiple-select-multiple-fields-display/auto-complete-filter-multiple-select-multiple-fields-display.stories.js +36 -38
- package/lib/cjs/core-components/molecules/auto-complete-filter-single-select-multiple-fields-display/auto-complete-filter-single-select-multiple-fields-display.component.js +104 -209
- package/lib/cjs/core-components/molecules/auto-complete-filter-single-select-multiple-fields-display/auto-complete-filter-single-select-multiple-fields-display.component.test.js +16 -28
- package/lib/cjs/core-components/molecules/auto-complete-filter-single-select-multiple-fields-display/auto-complete-filter-single-select-multiple-fields-display.stories.js +22 -24
- package/lib/cjs/core-components/molecules/css-multiline-input/css-multiline-input.component.js +106 -203
- package/lib/cjs/core-components/molecules/css-multiline-input/css-multiline-input.stories.js +8 -8
- package/lib/cjs/core-components/molecules/css-multiline-input/css-multiline-input.test.js +7 -14
- package/lib/cjs/core-components/molecules/css-multiline-input/css-properties.js +159 -159
- package/lib/cjs/core-utils/index.js +15 -31
- package/lib/cjs/core-utils/unit-test.utils.js +6 -8
- package/lib/cjs/index.js +15 -31
- package/lib/cjs/library/assets/svg/DownArrow.svg +14 -0
- package/lib/cjs/library/assets/svg/UpArrow.svg +14 -0
- package/lib/cjs/library/assets/svg/checkedBox.svg +14 -0
- package/lib/cjs/library/assets/svg/checkedRadio.svg +13 -0
- package/lib/cjs/library/assets/svg/datePicker.svg +3 -0
- package/lib/cjs/library/assets/svg/index.js +13 -39
- package/lib/cjs/library/assets/svg/index.ts +38 -0
- package/lib/cjs/library/assets/svg/timer copy.svg +3 -0
- package/lib/cjs/library/assets/svg/timer.svg +3 -0
- package/lib/cjs/library/assets/svg/unCheckbox.svg +3 -0
- package/lib/cjs/library/assets/svg/uncheckRadio.svg +3 -0
- package/lib/cjs/reportWebVitals.js +1 -1
- package/lib/cjs/setupTests.js +1 -1
- package/lib/esm/App.js +12 -34
- package/lib/esm/App.test.js +8 -8
- package/lib/esm/core-components/atoms/buttons/button.stories.js +24 -24
- package/lib/esm/core-components/atoms/buttons/buttons.component.js +7 -23
- package/lib/esm/core-components/atoms/buttons/buttons.test.js +7 -13
- package/lib/esm/core-components/atoms/check-box/checkBox.component.js +19 -65
- package/lib/esm/core-components/atoms/check-box/checkBox.stories.js +18 -18
- package/lib/esm/core-components/atoms/check-box/checkBox.test.js +7 -13
- package/lib/esm/core-components/atoms/date-picker/date-picker.component.js +21 -54
- package/lib/esm/core-components/atoms/date-picker/date-picker.stories.js +14 -14
- package/lib/esm/core-components/atoms/date-picker/date-picker.test.js +8 -15
- package/lib/esm/core-components/atoms/form/form.component.js +138 -513
- package/lib/esm/core-components/atoms/form/form.test.js +60 -78
- package/lib/esm/core-components/atoms/icons/icons.component.js +32 -36
- package/lib/esm/core-components/atoms/icons/icons.component.js.map +1 -1
- package/lib/esm/core-components/atoms/icons/icons.stories.js +20 -0
- package/lib/esm/core-components/atoms/icons/icons.stories.js.map +1 -0
- package/lib/esm/core-components/atoms/icons/icons.test.js +11 -0
- package/lib/esm/core-components/atoms/icons/icons.test.js.map +1 -0
- package/lib/esm/core-components/atoms/input/input-otp.component.js +59 -80
- package/lib/esm/core-components/atoms/input/input-pin.component.js +81 -142
- package/lib/esm/core-components/atoms/input/input-pin.stories.js +15 -15
- package/lib/esm/core-components/atoms/input/input-pin.test.js +10 -26
- package/lib/esm/core-components/atoms/input/input.component.js +16 -66
- package/lib/esm/core-components/atoms/input/input.stories.js +16 -16
- package/lib/esm/core-components/atoms/input/input.test.js +10 -28
- package/lib/esm/core-components/atoms/input-dropdown/input-dropdown.component.js +36 -95
- package/lib/esm/core-components/atoms/input-dropdown/input-dropdown.stories.js +13 -13
- package/lib/esm/core-components/atoms/input-dropdown/input-dropdown.test.js +7 -14
- package/lib/esm/core-components/atoms/loader/loader.component.js +20 -80
- package/lib/esm/core-components/atoms/loader/loader.stories.js +9 -9
- package/lib/esm/core-components/atoms/loader/loader.test.js +7 -7
- package/lib/esm/core-components/atoms/radio/radio.component.js +21 -65
- package/lib/esm/core-components/atoms/radio/radio.stories.js +17 -17
- package/lib/esm/core-components/atoms/radio/radio.test.js +7 -13
- package/lib/esm/core-components/atoms/stepper/stepper.component.js +32 -74
- package/lib/esm/core-components/atoms/stepper/stepper.stories.js +14 -14
- package/lib/esm/core-components/atoms/stepper/stepper.test.js +7 -14
- package/lib/esm/core-components/atoms/tabs/tabs.component.js +15 -43
- package/lib/esm/core-components/atoms/tabs/tabs.stories.js +17 -17
- package/lib/esm/core-components/atoms/tabs/tabs.stories.js.map +1 -1
- package/lib/esm/core-components/atoms/tabs/tabs.test.js +13 -18
- package/lib/esm/core-components/atoms/timer/timer.component.js +75 -81
- package/lib/esm/core-components/atoms/timer/timer.test.js +10 -10
- package/lib/esm/core-components/atoms/tooltip/tooltip.component.js +25 -46
- package/lib/esm/core-components/atoms/tooltip/tooltip.component.test.js +9 -9
- package/lib/esm/core-components/atoms/tooltip/tooltip.stories.js +9 -9
- package/lib/esm/core-components/index.js +19 -19
- package/lib/esm/core-components/molecules/auto-complete-filter-multiple-select-multiple-fields-display/auto-complete-filter-multiple-select-multiple-fields-display.component.js +88 -170
- package/lib/esm/core-components/molecules/auto-complete-filter-multiple-select-multiple-fields-display/auto-complete-filter-multiple-select-multiple-fields-display.component.test.js +9 -17
- package/lib/esm/core-components/molecules/auto-complete-filter-multiple-select-multiple-fields-display/auto-complete-filter-multiple-select-multiple-fields-display.stories.js +37 -38
- package/lib/esm/core-components/molecules/auto-complete-filter-single-select-multiple-fields-display/auto-complete-filter-single-select-multiple-fields-display.component.js +86 -169
- package/lib/esm/core-components/molecules/auto-complete-filter-single-select-multiple-fields-display/auto-complete-filter-single-select-multiple-fields-display.component.test.js +16 -22
- package/lib/esm/core-components/molecules/auto-complete-filter-single-select-multiple-fields-display/auto-complete-filter-single-select-multiple-fields-display.stories.js +23 -24
- package/lib/esm/core-components/molecules/css-multiline-input/css-multiline-input.component.js +90 -166
- package/lib/esm/core-components/molecules/css-multiline-input/css-multiline-input.stories.js +9 -9
- package/lib/esm/core-components/molecules/css-multiline-input/css-multiline-input.test.js +7 -9
- package/lib/esm/core-components/molecules/css-multiline-input/css-properties.js +159 -159
- package/lib/esm/core-utils/index.js +2 -2
- package/lib/esm/core-utils/unit-test.utils.js +5 -5
- package/lib/esm/index.js +2 -2
- package/lib/esm/library/assets/svg/index.js +10 -19
- package/lib/esm/reportWebVitals.js +1 -1
- package/lib/esm/setupTests.js +2 -2
- package/lib/package.json +124 -0
- package/package.json +4 -4
|
@@ -1,53 +1,35 @@
|
|
|
1
|
-
import React from
|
|
2
|
-
import { render, fireEvent } from
|
|
3
|
-
import userEvent from
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
InputDate,
|
|
11
|
-
InputFile,
|
|
12
|
-
InputRadio,
|
|
13
|
-
InputWrapper,
|
|
14
|
-
} from "./form.component";
|
|
15
|
-
describe("Checkbox component", () => {
|
|
16
|
-
it("render checkbox correctly", () => {
|
|
17
|
-
const checkbox = render(React.createElement(CheckBox, null));
|
|
18
|
-
expect(checkbox).toMatchSnapshot();
|
|
19
|
-
});
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { render, fireEvent } from '@testing-library/react';
|
|
3
|
+
import userEvent from '@testing-library/user-event';
|
|
4
|
+
import { CheckBox, Input, Toggle, MultilineInput, Label, InputDate, InputFile, InputRadio, InputWrapper, } from './form.component';
|
|
5
|
+
describe('Checkbox component', () => {
|
|
6
|
+
it('render checkbox correctly', () => {
|
|
7
|
+
const checkbox = render(React.createElement(CheckBox, null));
|
|
8
|
+
expect(checkbox).toMatchSnapshot();
|
|
9
|
+
});
|
|
20
10
|
});
|
|
21
|
-
describe(
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
value
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
fireEvent.keyDown(input, {
|
|
37
|
-
key: "Escape",
|
|
38
|
-
code: "Escape",
|
|
39
|
-
keyCode: 27,
|
|
40
|
-
charCode: 27,
|
|
11
|
+
describe('Input component', () => {
|
|
12
|
+
it('render input correctly', () => {
|
|
13
|
+
const inputComp = render(React.createElement(Input, { type: "text", value: "test", onChange: (val) => jest.fn(), onBlur: (value) => jest.fn(), onKeyDown: (val) => jest.fn() }));
|
|
14
|
+
const input = inputComp.getByTestId('INPT');
|
|
15
|
+
fireEvent.change(input, { target: { value: 'check' } });
|
|
16
|
+
userEvent.type(input, 'value');
|
|
17
|
+
fireEvent.blur(input);
|
|
18
|
+
fireEvent.keyDown(input, {
|
|
19
|
+
key: 'Escape',
|
|
20
|
+
code: 'Escape',
|
|
21
|
+
keyCode: 27,
|
|
22
|
+
charCode: 27,
|
|
23
|
+
});
|
|
24
|
+
fireEvent.keyPress(input, { key: 'Enter', keyCode: 13 });
|
|
25
|
+
expect(input).toMatchSnapshot();
|
|
41
26
|
});
|
|
42
|
-
fireEvent.keyPress(input, { key: "Enter", keyCode: 13 });
|
|
43
|
-
expect(input).toMatchSnapshot();
|
|
44
|
-
});
|
|
45
27
|
});
|
|
46
|
-
describe(
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
28
|
+
describe('Toggle component', () => {
|
|
29
|
+
it('render toggle correctly', () => {
|
|
30
|
+
const toggle = render(React.createElement(Toggle, null));
|
|
31
|
+
expect(toggle).toMatchSnapshot();
|
|
32
|
+
});
|
|
51
33
|
});
|
|
52
34
|
// describe('SelectOption component', () => {
|
|
53
35
|
// it('render selectOption correctly', () => {
|
|
@@ -60,11 +42,11 @@ describe("Toggle component", () => {
|
|
|
60
42
|
// expect(select).toMatchSnapshot();
|
|
61
43
|
// });
|
|
62
44
|
// });
|
|
63
|
-
describe(
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
45
|
+
describe('MultilineInput component', () => {
|
|
46
|
+
it('render multilineInput correctly', () => {
|
|
47
|
+
const multi = render(React.createElement(MultilineInput, null));
|
|
48
|
+
expect(multi).toMatchSnapshot();
|
|
49
|
+
});
|
|
68
50
|
});
|
|
69
51
|
// describe('Clock component', () => {
|
|
70
52
|
// it('render clock correctly', () => {
|
|
@@ -74,17 +56,17 @@ describe("MultilineInput component", () => {
|
|
|
74
56
|
// expect(clock).toMatchSnapshot();
|
|
75
57
|
// });
|
|
76
58
|
// });
|
|
77
|
-
describe(
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
59
|
+
describe('Label component', () => {
|
|
60
|
+
it('render label correctly', () => {
|
|
61
|
+
const label = render(React.createElement(Label, { htmlFor: "vsdvrf" }));
|
|
62
|
+
expect(label).toMatchSnapshot();
|
|
63
|
+
});
|
|
82
64
|
});
|
|
83
|
-
describe(
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
65
|
+
describe('InputDate component', () => {
|
|
66
|
+
it('render inputDate correctly', () => {
|
|
67
|
+
const inputDate = render(React.createElement(InputDate, null));
|
|
68
|
+
expect(inputDate).toMatchSnapshot();
|
|
69
|
+
});
|
|
88
70
|
});
|
|
89
71
|
// describe('InputDateTime component', () => {
|
|
90
72
|
// it('render inputDateTime correctly', () => {
|
|
@@ -92,22 +74,22 @@ describe("InputDate component", () => {
|
|
|
92
74
|
// expect(inputDateTime).toMatchSnapshot();
|
|
93
75
|
// });
|
|
94
76
|
// });
|
|
95
|
-
describe(
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
77
|
+
describe('InputFile component', () => {
|
|
78
|
+
it('render inputFile correctly', () => {
|
|
79
|
+
const inputFile = render(React.createElement(InputFile, null));
|
|
80
|
+
expect(inputFile).toMatchSnapshot();
|
|
81
|
+
});
|
|
100
82
|
});
|
|
101
|
-
describe(
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
83
|
+
describe('InputRadio component', () => {
|
|
84
|
+
it('render inputRadio correctly', () => {
|
|
85
|
+
const inputRadio = render(React.createElement(InputRadio, null));
|
|
86
|
+
expect(inputRadio).toMatchSnapshot();
|
|
87
|
+
});
|
|
106
88
|
});
|
|
107
|
-
describe(
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
89
|
+
describe('InputWrapper component', () => {
|
|
90
|
+
it('render inputWrapper correctly', () => {
|
|
91
|
+
const inputWrapper = render(React.createElement(InputWrapper, null));
|
|
92
|
+
expect(inputWrapper).toMatchSnapshot();
|
|
93
|
+
});
|
|
112
94
|
});
|
|
113
|
-
//# sourceMappingURL=form.test.js.map
|
|
95
|
+
//# sourceMappingURL=form.test.js.map
|
|
@@ -1,37 +1,33 @@
|
|
|
1
|
-
import React from
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
})
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
});
|
|
33
|
-
} catch (error) {
|
|
34
|
-
return React.createElement(React.Fragment, null);
|
|
35
|
-
}
|
|
1
|
+
import React, { Suspense } from 'react';
|
|
2
|
+
import _ from 'lodash';
|
|
3
|
+
import { Tooltip } from '../..';
|
|
4
|
+
import loadable from '@loadable/component';
|
|
5
|
+
let lib = 'md';
|
|
6
|
+
export const Icon = ({ nameIcon, propsIcon, tooltip = '', isDisable = false, onClick, }) => {
|
|
7
|
+
try {
|
|
8
|
+
const iconProps = Object.assign(Object.assign({}, propsIcon), { color: isDisable ? '#808080' : (propsIcon === null || propsIcon === void 0 ? void 0 : propsIcon.color) || '#ffffff' });
|
|
9
|
+
const lib = nameIcon
|
|
10
|
+
.replace(/([a-z0-9])([A-Z])/g, '$1 $2')
|
|
11
|
+
.split(' ')[0]
|
|
12
|
+
.toLocaleLowerCase();
|
|
13
|
+
let ElementIcon;
|
|
14
|
+
if (lib == 'md')
|
|
15
|
+
ElementIcon = loadable(() => import('react-icons/md'), {
|
|
16
|
+
resolveComponent: (el) => el[nameIcon] != null ? el[nameIcon] : el[Object.keys(el.default)[0]],
|
|
17
|
+
});
|
|
18
|
+
else
|
|
19
|
+
ElementIcon = loadable(() => import('react-icons/fa'), {
|
|
20
|
+
resolveComponent: (el) => el[nameIcon] != null ? el[nameIcon] : el[Object.keys(el.default)[0]],
|
|
21
|
+
});
|
|
22
|
+
return (React.createElement("div", { onClick: () => {
|
|
23
|
+
if (!isDisable)
|
|
24
|
+
onClick && onClick();
|
|
25
|
+
} }, !_.isEmpty(tooltip) ? (React.createElement(Tooltip, { tooltipText: tooltip },
|
|
26
|
+
React.createElement(ElementIcon, Object.assign({}, iconProps)))) : (React.createElement(Suspense, { fallback: React.createElement("div", null, "Loading...") },
|
|
27
|
+
React.createElement(ElementIcon, Object.assign({}, iconProps))))));
|
|
28
|
+
}
|
|
29
|
+
catch (error) {
|
|
30
|
+
return React.createElement(React.Fragment, null);
|
|
31
|
+
}
|
|
36
32
|
};
|
|
37
|
-
//# sourceMappingURL=icons.component.js.map
|
|
33
|
+
//# sourceMappingURL=icons.component.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"icons.component.js","sourceRoot":"","sources":["../../../../../src/core-components/atoms/icons/icons.component.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"icons.component.js","sourceRoot":"","sources":["../../../../../src/core-components/atoms/icons/icons.component.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAC,QAAQ,EAAC,MAAM,OAAO,CAAC;AACtC,OAAO,CAAC,MAAM,QAAQ,CAAC;AACvB,OAAO,EAAC,OAAO,EAAC,MAAM,OAAO,CAAC;AAC9B,OAAO,QAAQ,MAAM,qBAAqB,CAAC;AAW3C,IAAI,GAAG,GAAG,IAAI,CAAC;AACf,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,EACnB,QAAQ,EACR,SAAS,EACT,OAAO,GAAG,EAAE,EACZ,SAAS,GAAG,KAAK,EACjB,OAAO,GACG,EAAe,EAAE;IAC3B,IAAI;QACF,MAAM,SAAS,mCACV,SAAS,KACZ,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,KAAK,KAAI,SAAS,GAC7D,CAAC;QACF,MAAM,GAAG,GAAG,QAAQ;aACjB,OAAO,CAAC,oBAAoB,EAAE,OAAO,CAAC;aACtC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;aACb,iBAAiB,EAAE,CAAC;QAEvB,IAAI,WAAgB,CAAC;QACrB,IAAI,GAAG,IAAI,IAAI;YACb,WAAW,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE;gBACrD,gBAAgB,EAAE,CAAC,EAAE,EAAE,EAAE,CACvB,EAAE,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;aACvE,CAAC,CAAC;;YAEH,WAAW,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE;gBACrD,gBAAgB,EAAE,CAAC,EAAE,EAAE,EAAE,CACvB,EAAE,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;aACvE,CAAC,CAAC;QAEL,OAAO,CACL,6BACE,OAAO,EAAE,GAAG,EAAE;gBACZ,IAAI,CAAC,SAAS;oBAAE,OAAO,IAAI,OAAO,EAAE,CAAC;YACvC,CAAC,IAEA,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CACrB,oBAAC,OAAO,IAAC,WAAW,EAAE,OAAO;YAC3B,oBAAC,WAAW,oBAAK,SAAS,EAAI,CACtB,CACX,CAAC,CAAC,CAAC,CACF,oBAAC,QAAQ,IAAC,QAAQ,EAAE,8CAAqB;YACvC,oBAAC,WAAW,oBAAK,SAAS,EAAI,CACrB,CACZ,CACG,CACP,CAAC;KACH;IAAC,OAAO,KAAK,EAAE;QACd,OAAO,yCAAK,CAAC;KACd;AACH,CAAC,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Icon } from './icons.component';
|
|
2
|
+
const meta = {
|
|
3
|
+
title: 'Design System/Atoms/Icon',
|
|
4
|
+
component: Icon,
|
|
5
|
+
tags: ['autodocs'],
|
|
6
|
+
parameters: {
|
|
7
|
+
componentSubtitle: `import { Icon } from 'react-restyle-components'`,
|
|
8
|
+
},
|
|
9
|
+
};
|
|
10
|
+
export default meta;
|
|
11
|
+
export const Primary = {
|
|
12
|
+
args: {
|
|
13
|
+
nameIcon: 'FaHistory',
|
|
14
|
+
propsIcon: {
|
|
15
|
+
color: '#000000',
|
|
16
|
+
size: 24,
|
|
17
|
+
},
|
|
18
|
+
},
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=icons.stories.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"icons.stories.js","sourceRoot":"","sources":["../../../../../src/core-components/atoms/icons/icons.stories.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAC,IAAI,EAAC,MAAM,mBAAmB,CAAC;AAEvC,MAAM,IAAI,GAAsB;IAC9B,KAAK,EAAE,0BAA0B;IACjC,SAAS,EAAE,IAAI;IACf,IAAI,EAAE,CAAC,UAAU,CAAC;IAClB,UAAU,EAAE;QACV,iBAAiB,EAAE,iDAAiD;KACrE;CACF,CAAC;AACF,eAAe,IAAI,CAAC;AAGpB,MAAM,CAAC,MAAM,OAAO,GAAU;IAC5B,IAAI,EAAE;QACJ,QAAQ,EAAE,WAAW;QACrB,SAAS,EAAE;YACT,KAAK,EAAE,SAAS;YAChB,IAAI,EAAE,EAAE;SACT;KACF;CACF,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { render } from '@core-utils';
|
|
3
|
+
import { Icon } from './icons.component';
|
|
4
|
+
it('render Icon correctly', () => {
|
|
5
|
+
const icon = render(React.createElement(Icon, { nameIcon: "FaHistory", propsIcon: {
|
|
6
|
+
color: '#000000',
|
|
7
|
+
size: 24,
|
|
8
|
+
} }));
|
|
9
|
+
expect(icon).toMatchSnapshot();
|
|
10
|
+
});
|
|
11
|
+
//# sourceMappingURL=icons.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"icons.test.js","sourceRoot":"","sources":["../../../../../src/core-components/atoms/icons/icons.test.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,MAAM,EAAC,MAAM,aAAa,CAAC;AACnC,OAAO,EAAC,IAAI,EAAC,MAAM,mBAAmB,CAAC;AACvC,EAAE,CAAC,uBAAuB,EAAE,GAAG,EAAE;IAC/B,MAAM,IAAI,GAAG,MAAM,CACjB,oBAAC,IAAI,IACH,QAAQ,EAAC,WAAW,EACpB,SAAS,EAAE;YACT,KAAK,EAAE,SAAS;YAChB,IAAI,EAAE,EAAE;SACT,GACD,CACH,CAAC;IACF,MAAM,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,CAAC;AACjC,CAAC,CAAC,CAAC"}
|
|
@@ -1,83 +1,62 @@
|
|
|
1
1
|
/* eslint-disable no-console */
|
|
2
|
-
import React, { useEffect, useRef } from
|
|
3
|
-
import
|
|
4
|
-
export const InputOtp = ({ className, pin, onPinChanged }) => {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
};
|
|
35
|
-
const onKeyDown = (event, index) => {
|
|
36
|
-
console.log({ event, index });
|
|
37
|
-
const keyboardKeyCode = event.nativeEvent.code;
|
|
38
|
-
if (keyboardKeyCode != BACKSPACE_Key) return;
|
|
39
|
-
if (pin[index] === undefined) {
|
|
40
|
-
changePinFocus(index - 1);
|
|
41
|
-
} else {
|
|
42
|
-
onPinChanged(undefined, index);
|
|
43
|
-
}
|
|
44
|
-
};
|
|
45
|
-
return React.createElement(
|
|
46
|
-
"div",
|
|
47
|
-
{ className: `${className} relative` },
|
|
48
|
-
React.createElement(
|
|
49
|
-
"div",
|
|
50
|
-
{
|
|
51
|
-
className:
|
|
52
|
-
"flex space-x-1 bg-background-secondary rounded-lg outline-offset-8",
|
|
53
|
-
},
|
|
54
|
-
Array.from({ length: pinLength }, (_, index) =>
|
|
55
|
-
React.createElement("input", {
|
|
56
|
-
"data-testid": "onPinChanged",
|
|
57
|
-
className:
|
|
58
|
-
"pt-3 pb-2 block w-full px-0 text-5xl font-extrabold border-b-0 text-orange mt-0 bg-transparent text-center z-20 appearance-none focus:outline-none font-nunitoSansRegular",
|
|
59
|
-
onKeyDown: (event) => onKeyDown(event, index),
|
|
60
|
-
key: index,
|
|
61
|
-
onMouseUp: () => {
|
|
62
|
-
if (pin.join("").length <= 0) {
|
|
63
|
-
changePinFocus(0);
|
|
2
|
+
import React, { useEffect, useRef } from 'react';
|
|
3
|
+
import './input-otp.styles.css';
|
|
4
|
+
export const InputOtp = ({ className, pin, onPinChanged, }) => {
|
|
5
|
+
const pinLength = 6;
|
|
6
|
+
const Pin_Min_Value = 0;
|
|
7
|
+
const Pin_Max_Value = 9;
|
|
8
|
+
const BACKSPACE_Key = 'Backspace';
|
|
9
|
+
const inputRefs = useRef([]);
|
|
10
|
+
useEffect(() => {
|
|
11
|
+
const ref = inputRefs.current[0];
|
|
12
|
+
if (ref) {
|
|
13
|
+
ref.focus();
|
|
14
|
+
}
|
|
15
|
+
}, []);
|
|
16
|
+
const changePinFocus = (pinIndex) => {
|
|
17
|
+
const ref = inputRefs.current[pinIndex];
|
|
18
|
+
if (ref) {
|
|
19
|
+
ref.focus();
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
const onChange = (event, index) => {
|
|
23
|
+
const value = event.target.value;
|
|
24
|
+
const pinNumber = Number(value.trim());
|
|
25
|
+
if (isNaN(pinNumber) || value.length === 0) {
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
if (pinNumber >= Pin_Min_Value && pinNumber <= Pin_Max_Value) {
|
|
29
|
+
onPinChanged(pinNumber, index);
|
|
30
|
+
if (index < pinLength - 1) {
|
|
31
|
+
changePinFocus(index + 1);
|
|
64
32
|
}
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
const onKeyDown = (event, index) => {
|
|
36
|
+
console.log({ event, index });
|
|
37
|
+
const keyboardKeyCode = event.nativeEvent.code;
|
|
38
|
+
if (keyboardKeyCode != BACKSPACE_Key)
|
|
39
|
+
return;
|
|
40
|
+
if (pin[index] === undefined) {
|
|
41
|
+
changePinFocus(index - 1);
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
onPinChanged(undefined, index);
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
return (React.createElement("div", { className: `${className} relative` },
|
|
48
|
+
React.createElement("div", { className: "flex space-x-1 bg-background-secondary rounded-lg outline-offset-8" }, Array.from({ length: pinLength }, (_, index) => (React.createElement("input", { "data-testid": "onPinChanged", className: "pt-3 pb-2 block w-full px-0 text-5xl font-extrabold border-b-0 text-orange mt-0 bg-transparent text-center z-20 appearance-none focus:outline-none font-nunitoSansRegular", onKeyDown: (event) => onKeyDown(event, index), key: index, onMouseUp: () => {
|
|
49
|
+
if (pin.join('').length <= 0) {
|
|
50
|
+
changePinFocus(0);
|
|
51
|
+
}
|
|
52
|
+
}, onClick: () => {
|
|
53
|
+
if (pin.join('').length <= 0) {
|
|
54
|
+
onPinChanged(undefined, 0);
|
|
55
|
+
}
|
|
56
|
+
}, ref: (el) => {
|
|
57
|
+
if (el) {
|
|
58
|
+
inputRefs.current[index] = el;
|
|
59
|
+
}
|
|
60
|
+
}, onChange: (event) => onChange(event, index), value: pin[index] || '' }))))));
|
|
82
61
|
};
|
|
83
|
-
//# sourceMappingURL=input-otp.component.js.map
|
|
62
|
+
//# sourceMappingURL=input-otp.component.js.map
|