@innovaccer/design-system 2.5.0-2 → 2.5.1

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 (123) hide show
  1. package/.all-contributorsrc +170 -0
  2. package/.github/workflows/jira.yml +1 -2
  3. package/.github/workflows/main.yml +1 -6
  4. package/.github/workflows/test.yml +22 -0
  5. package/CHANGELOG.md +21 -54
  6. package/CONTRIBUTING.md +23 -0
  7. package/README.md +124 -75
  8. package/core/components/atoms/button/Button.tsx +56 -55
  9. package/core/components/atoms/button/__tests__/Button.test.tsx +3 -12
  10. package/core/components/atoms/checkbox/Checkbox.tsx +3 -6
  11. package/core/components/atoms/collapsible/__stories__/index.story.tsx +2 -2
  12. package/core/components/atoms/dropdown/DropdownList.tsx +1 -1
  13. package/core/components/atoms/dropdown/__stories__/Options.tsx +15 -0
  14. package/core/components/atoms/dropdown/__tests__/Dropdown.test.tsx +202 -1
  15. package/core/components/atoms/dropdown/__tests__/Option.test.tsx +3 -0
  16. package/core/components/atoms/message/__stories__/CustomDescription.tsx +25 -0
  17. package/core/components/atoms/metaList/Meta.tsx +3 -1
  18. package/core/components/atoms/metaList/__tests__/MetaList.test.tsx +30 -36
  19. package/core/components/atoms/metricInput/MetricInput.tsx +2 -2
  20. package/core/components/atoms/outsideClick/__stories__/index.story.tsx +1 -1
  21. package/core/components/atoms/radio/Radio.tsx +7 -10
  22. package/core/components/atoms/radio/__tests__/Radio.test.tsx +13 -7
  23. package/core/components/css-utilities/Align/Align.story.tsx +1 -1
  24. package/core/components/css-utilities/Background/Background.story.tsx +1 -1
  25. package/core/components/css-utilities/Border/Border.story.tsx +128 -0
  26. package/core/components/css-utilities/Display/Display.story.tsx +1 -1
  27. package/core/components/css-utilities/Flex/Flex.story.tsx +1 -1
  28. package/core/components/css-utilities/Miscellaneous/Miscellaneous.story.tsx +1 -1
  29. package/core/components/css-utilities/Overflow/Overflow.story.tsx +1 -1
  30. package/core/components/css-utilities/Position/Position.story.tsx +1 -1
  31. package/core/components/css-utilities/Sizing/Sizing.story.tsx +1 -1
  32. package/core/components/css-utilities/Spacing/Spacing.story.tsx +1 -1
  33. package/core/components/molecules/chatMessage/__tests__/ChatMessage.test.tsx +20 -46
  34. package/core/components/molecules/dropzone/__tests__/Dropzone.test.tsx +47 -111
  35. package/core/components/molecules/dropzone/__tests__/Utilities.test.tsx +13 -13
  36. package/core/components/molecules/editableChipInput/EditableChipInput.tsx +3 -1
  37. package/core/components/molecules/editableInput/EditableInput.tsx +5 -3
  38. package/core/components/molecules/editableInput/__stories__/variants/Uncontrolled.story.tsx +1 -1
  39. package/core/components/molecules/editableInput/__tests__/EditableInput.test.tsx +1 -3
  40. package/core/components/molecules/emptyState/_tests_/EmptyState.test.tsx +3 -7
  41. package/core/components/molecules/fileUploader/FileUploaderItem.tsx +13 -2
  42. package/core/components/molecules/fileUploader/__stories__/index.story.tsx +156 -21
  43. package/core/components/molecules/fileUploader/__tests__/FileUploader.test.tsx +21 -80
  44. package/core/components/molecules/fileUploader/__tests__/FileUploaderList.test.tsx +9 -40
  45. package/core/components/molecules/fullscreenModal/FullscreenModal.tsx +7 -13
  46. package/core/components/molecules/fullscreenModal/__stories__/Layering.story.tsx +2 -2
  47. package/core/components/molecules/modal/Modal.tsx +18 -17
  48. package/core/components/molecules/modal/ModalBody.tsx +1 -1
  49. package/core/components/molecules/modal/__stories__/Layering.story.tsx +1 -1
  50. package/core/components/molecules/modal/__stories__/NoFooter.story.tsx +0 -1
  51. package/core/components/molecules/modal/__stories__/Scrolling.story.tsx +20 -38
  52. package/core/components/molecules/modal/__tests__/Modal.test.tsx +1 -1
  53. package/core/components/molecules/sidesheet/Sidesheet.tsx +16 -17
  54. package/core/components/organisms/choiceList/ChoiceList.tsx +212 -0
  55. package/core/components/organisms/choiceList/__stories__/Alignment.story.tsx +32 -0
  56. package/core/components/organisms/choiceList/__stories__/AllowMultiple.story.tsx +23 -0
  57. package/core/components/organisms/choiceList/__stories__/Controlled.story.tsx +34 -0
  58. package/core/components/organisms/choiceList/__stories__/index.story.tsx +18 -0
  59. package/core/components/organisms/choiceList/__tests__/ChoiceList.test.tsx +155 -0
  60. package/core/components/organisms/choiceList/__tests__/__snapshots__/ChoiceList.test.tsx.snap +3393 -0
  61. package/core/components/organisms/choiceList/index.tsx +2 -0
  62. package/core/components/organisms/datePicker/__tests__/DatePicker.test.tsx +136 -46
  63. package/core/components/organisms/datePicker/__tests__/__snapshots__/DatePicker.test.tsx.snap +2594 -102
  64. package/core/components/organisms/dateRangePicker/DateRangePicker.tsx +5 -0
  65. package/core/components/organisms/dateRangePicker/__tests__/DateRangePicker.test.tsx +49 -410
  66. package/core/components/organisms/dateRangePicker/__tests__/Utilities.test.tsx +39 -0
  67. package/core/components/organisms/dateRangePicker/__tests__/__snapshots__/DateRangePicker.test.tsx.snap +45390 -2679
  68. package/core/components/organisms/dateRangePicker/utilities.tsx +2 -5
  69. package/core/components/organisms/grid/Cell.tsx +5 -4
  70. package/core/components/organisms/grid/Grid.tsx +1 -1
  71. package/core/components/organisms/grid/GridCell.tsx +18 -7
  72. package/core/components/organisms/grid/GridHead.tsx +1 -1
  73. package/core/components/organisms/grid/GridRow.tsx +5 -12
  74. package/core/components/organisms/grid/__tests__/Grid.test.tsx +179 -1
  75. package/core/components/organisms/grid/__tests__/GridCell.test.tsx +218 -0
  76. package/core/components/organisms/grid/__tests__/__snapshots__/Grid.test.tsx.snap +1024 -0
  77. package/core/components/organisms/grid/__tests__/rowUtility.test.tsx +62 -0
  78. package/core/components/organisms/inlineMessage/InlineMessage.tsx +10 -14
  79. package/core/components/organisms/inlineMessage/__stories__/InlineMessageWithinTable.story.tsx +9 -12
  80. package/core/components/organisms/inlineMessage/__stories__/variants/Default.story.tsx +2 -4
  81. package/core/components/organisms/inlineMessage/__stories__/variants/Error.story.tsx +2 -5
  82. package/core/components/organisms/inlineMessage/__stories__/variants/Info.story.tsx +2 -5
  83. package/core/components/organisms/inlineMessage/__stories__/variants/Success.story.tsx +2 -5
  84. package/core/components/organisms/inlineMessage/__stories__/variants/Warning.story.tsx +2 -5
  85. package/core/components/organisms/inlineMessage/__tests__/InlineMessage.test.tsx +4 -20
  86. package/core/components/organisms/navigation/VerticalNavigation.tsx +14 -3
  87. package/core/components/organisms/navigation/__tests__/Navigation.test.tsx +179 -0
  88. package/core/components/organisms/navigation/__tests__/__snapshots__/Navigation.test.tsx.snap +530 -0
  89. package/core/components/organisms/table/DraggableDropdown.tsx +1 -0
  90. package/core/components/organisms/table/Header.tsx +11 -2
  91. package/core/components/organisms/table/Table.tsx +2 -2
  92. package/core/components/organisms/table/__stories__/NestedTableWithNestedCard.story.tsx +4 -1
  93. package/core/components/organisms/table/__stories__/variants/nestedRows.story.tsx +5 -2
  94. package/core/components/organisms/table/__tests__/Table.test.tsx +292 -0
  95. package/core/components/organisms/table/__tests__/__snapshots__/Table.test.tsx.snap +349041 -0
  96. package/core/components/organisms/timePicker/__tests__/TimePicker.test.tsx +15 -66
  97. package/core/components/patterns/dateRangePicker/withCustomPopover.story.tsx +47 -36
  98. package/core/index.tsx +1 -1
  99. package/core/index.type.tsx +1 -0
  100. package/core/utils/OverlayManager.tsx +1 -3
  101. package/core/utils/__tests__/__snapshots__/TS.test.tsx.snap +4 -0
  102. package/core/utils/types.tsx +3 -4
  103. package/css/dist/index.css +78 -8
  104. package/css/dist/index.css.map +1 -1
  105. package/css/src/components/button.css +8 -4
  106. package/css/src/components/choiceList.css +25 -0
  107. package/css/src/components/modal.css +1 -2
  108. package/css/src/utils/border.css +39 -0
  109. package/dist/core/components/atoms/popperWrapper/PopperWrapper.d.ts +50 -49
  110. package/dist/core/components/css-utilities/Border/Border.story.d.ts +13 -0
  111. package/dist/core/components/organisms/choiceList/ChoiceList.d.ts +33 -0
  112. package/dist/core/components/organisms/choiceList/index.d.ts +2 -0
  113. package/dist/core/components/organisms/dateRangePicker/utilities.d.ts +2 -2
  114. package/dist/core/index.d.ts +1 -0
  115. package/dist/core/index.type.d.ts +1 -0
  116. package/dist/index.esm.js +207 -58
  117. package/dist/index.js +209 -57
  118. package/dist/index.js.map +1 -1
  119. package/dist/index.umd.js +1 -1
  120. package/dist/index.umd.js.br +0 -0
  121. package/dist/index.umd.js.gz +0 -0
  122. package/jest.config.js +2 -1
  123. package/package.json +6 -4
@@ -0,0 +1,2 @@
1
+ export { default } from './ChoiceList';
2
+ export * from './ChoiceList';
@@ -19,68 +19,158 @@ afterAll(() => {
19
19
  const view = ['year', 'month', 'date'];
20
20
  const booleanValue = [true, false];
21
21
  const FunctionValue = jest.fn();
22
+ const newDate = new Date(2020, 2, 1);
22
23
 
23
- describe('DatePicker component', () => {
24
- const mapper: Record<string, any> = {
25
- view: valueHelper(view, { required: true, iterate: true }),
26
- };
24
+ const testFunc = (props: Record<string, any>): void => {
25
+ const attr = filterUndefined(props) as Props;
27
26
 
28
- const testFunc = (props: Record<string, any>): void => {
29
- const attr = filterUndefined(props) as Props;
30
-
31
- it(testMessageHelper(attr), () => {
32
- const { baseElement } = render(<DatePicker date={new Date(2020, 2, 1)} {...attr} />);
33
- expect(baseElement).toMatchSnapshot();
34
- });
35
- };
36
-
37
- testHelper(mapper, testFunc);
38
- });
39
-
40
- describe('DatePicker component', () => {
41
- const mapper: Record<string, any> = {
42
- withInput: valueHelper(booleanValue, { required: true, iterate: true }),
43
- };
44
-
45
- const testFunc = (props: Record<string, any>): void => {
46
- const attr = filterUndefined(props) as Props;
47
-
48
- it(testMessageHelper(attr), () => {
49
- const { baseElement } = render(<DatePicker date={new Date(2020, 2, 1)} {...attr} />);
50
- expect(baseElement).toMatchSnapshot();
51
- });
52
- };
27
+ it(testMessageHelper(attr), () => {
28
+ const { baseElement } = render(<DatePicker date={newDate} {...attr} />);
29
+ expect(baseElement).toMatchSnapshot();
30
+ });
31
+ };
32
+
33
+ describe('DatePicker component snapshots', () => {
34
+ describe('renders snapshot for prop:view', () => {
35
+ const mapper: Record<string, any> = {
36
+ view: valueHelper(view, { required: true, iterate: true }),
37
+ };
38
+ testHelper(mapper, testFunc);
39
+ });
53
40
 
54
- testHelper(mapper, testFunc);
55
- });
41
+ describe('renders snapshot for prop:withInput', () => {
42
+ const mapper: Record<string, any> = {
43
+ withInput: valueHelper(booleanValue, { required: true, iterate: true }),
44
+ };
45
+ testHelper(mapper, testFunc);
46
+ });
56
47
 
57
- describe('DatePicker component', () => {
58
- const mapper: Record<string, any> = {
59
- open: valueHelper(booleanValue, { required: true, iterate: true }),
60
- };
48
+ describe('renders snapshot for prop:open', () => {
49
+ const mapper: Record<string, any> = {
50
+ open: valueHelper(booleanValue, { required: true, iterate: true }),
51
+ };
52
+ testHelper(mapper, testFunc);
53
+ });
61
54
 
62
- const testFunc = (props: Record<string, any>): void => {
63
- const attr = filterUndefined(props) as Props;
55
+ describe('renders snapshot for prop:disabledBefore, prop:disabledAfter', () => {
56
+ const mapper: Record<string, any> = {
57
+ disabledBefore: valueHelper('10/10/2020', { required: true }),
58
+ disabledAfter: valueHelper('10/10/2021', { required: true }),
59
+ };
60
+ testHelper(mapper, testFunc);
61
+ });
64
62
 
65
- it(testMessageHelper(attr), () => {
66
- const { baseElement } = render(<DatePicker date={new Date(2020, 2, 1)} withInput={true} {...attr} />);
67
- expect(baseElement).toMatchSnapshot();
68
- });
69
- };
63
+ describe('renders snapshot for prop:disabledBefore', () => {
64
+ const mapper: Record<string, any> = {
65
+ disabledBefore: valueHelper('10/10/2020', { required: true }),
66
+ };
67
+ testHelper(mapper, testFunc);
68
+ });
70
69
 
71
- testHelper(mapper, testFunc);
70
+ describe('renders snapshot for prop:disabledAfter', () => {
71
+ const mapper: Record<string, any> = {
72
+ disabledAfter: valueHelper('10/10/2021', { required: true }),
73
+ };
74
+ testHelper(mapper, testFunc);
75
+ });
72
76
  });
73
77
 
74
- describe('DatePicker component', () => {
78
+ describe('DatePicker component today date chip', () => {
75
79
  it('renders component with today date chip', () => {
76
- const { getByTestId } = render(<DatePicker date={new Date(2021, 9, 8)} />);
80
+ const { getByTestId } = render(<DatePicker date={newDate} />);
77
81
  expect(getByTestId('DesignSystem-Select--TodaysDate-wrapper')).toBeInTheDocument();
78
82
  });
79
83
 
80
84
  it('calls click handler', () => {
81
- const { getByTestId } = render(<DatePicker onDateChange={FunctionValue} date={new Date(2021, 9, 25)} />);
85
+ const { getByTestId } = render(<DatePicker onDateChange={FunctionValue} date={newDate} />);
82
86
  const chip = getByTestId('DesignSystem-Chip--GenericChip');
83
87
  fireEvent.click(chip);
84
88
  expect(FunctionValue).toHaveBeenCalled();
85
89
  });
86
90
  });
91
+
92
+ describe('renders DatePicker component Event Handlers ', () => {
93
+ it('checks for trigger popover on input field click', () => {
94
+ const { getByTestId } = render(<DatePicker onDateChange={FunctionValue} withInput={true} />);
95
+ const input = getByTestId('DesignSystem-InputWrapper');
96
+ fireEvent.click(input);
97
+ expect(getByTestId('DesignSystem-Popover')).toBeInTheDocument();
98
+ });
99
+
100
+ it('checks for input field onChange event', () => {
101
+ const { getByTestId } = render(<DatePicker onDateChange={FunctionValue} withInput={true} />);
102
+ const input = getByTestId('DesignSystem-Input');
103
+ fireEvent.change(input, { target: { value: newDate } });
104
+ expect(FunctionValue).toHaveBeenCalled();
105
+ });
106
+
107
+ it('checks onCancel Event', () => {
108
+ const { getByTestId } = render(<DatePicker onDateChange={FunctionValue} withInput={true} date={newDate} />);
109
+ const closeIcon = getByTestId('DesignSystem-Input--closeIcon');
110
+ expect(closeIcon).toBeInTheDocument();
111
+ fireEvent.click(closeIcon);
112
+ expect(getByTestId('DesignSystem-Popover')).toBeInTheDocument();
113
+ });
114
+
115
+ it('checks onCancel Event in case of required:true', () => {
116
+ const { getByTestId, getAllByTestId } = render(
117
+ <DatePicker
118
+ onDateChange={FunctionValue}
119
+ withInput={true}
120
+ date={newDate}
121
+ inputOptions={{
122
+ required: true,
123
+ }}
124
+ />
125
+ );
126
+ const closeIcon = getByTestId('DesignSystem-Input--closeIcon');
127
+ expect(closeIcon).toBeInTheDocument();
128
+ fireEvent.click(closeIcon);
129
+ expect(getByTestId('DesignSystem-Caption')).toBeInTheDocument();
130
+ expect(getAllByTestId('DesignSystem-Text')[0]).toHaveTextContent('Invalid value');
131
+ });
132
+
133
+ it('checks for custom caption onCancel Event', () => {
134
+ const { getByTestId, getAllByTestId } = render(
135
+ <DatePicker
136
+ onDateChange={FunctionValue}
137
+ withInput={true}
138
+ date={newDate}
139
+ inputOptions={{
140
+ required: true,
141
+ caption: 'Invalid Date Entered',
142
+ }}
143
+ />
144
+ );
145
+ const closeIcon = getByTestId('DesignSystem-Input--closeIcon');
146
+ fireEvent.click(closeIcon);
147
+ expect(getByTestId('DesignSystem-Caption')).toBeInTheDocument();
148
+ expect(getAllByTestId('DesignSystem-Text')[0]).toHaveTextContent('Invalid Date Entered');
149
+ });
150
+
151
+ it('checks for custom placeholderChar option onClose Event', () => {
152
+ const { getByTestId } = render(
153
+ <DatePicker
154
+ onDateChange={FunctionValue}
155
+ withInput={true}
156
+ date={newDate}
157
+ inputOptions={{
158
+ required: true,
159
+ placeholderChar: '*',
160
+ }}
161
+ />
162
+ );
163
+ const closeIcon = getByTestId('DesignSystem-Input--closeIcon');
164
+ fireEvent.click(closeIcon);
165
+ expect(getByTestId('DesignSystem-Input')).toHaveValue('**/**/****');
166
+ });
167
+
168
+ it('checks onBlur Event', () => {
169
+ const { getByTestId } = render(<DatePicker onDateChange={FunctionValue} withInput={true} date={newDate} />);
170
+ const closeIcon = getByTestId('DesignSystem-Input--closeIcon');
171
+ const input = getByTestId('DesignSystem-Input');
172
+ fireEvent.click(closeIcon);
173
+ fireEvent.blur(input);
174
+ expect(input).toHaveValue('__/__/____');
175
+ });
176
+ });