@qoretechnologies/reqore 0.44.0 → 0.46.0

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 (226) hide show
  1. package/dist/constants/theme.d.ts +8 -1
  2. package/dist/constants/theme.d.ts.map +1 -1
  3. package/dist/constants/theme.js +16 -2
  4. package/dist/constants/theme.js.map +1 -1
  5. package/package.json +1 -1
  6. package/tests.json +1 -1
  7. package/.eslintrc.js +0 -40
  8. package/.github/ISSUE_TEMPLATE/bug_report.md +0 -38
  9. package/.github/ISSUE_TEMPLATE/feature_request.md +0 -20
  10. package/.github/ISSUE_TEMPLATE/new-component.md +0 -20
  11. package/.github/ISSUE_TEMPLATE/visual-bug-report.md +0 -38
  12. package/.github/workflows/beta_release.yml +0 -100
  13. package/.github/workflows/tests.yml +0 -84
  14. package/.gitpod.yml +0 -11
  15. package/.jest-test-results.json +0 -1
  16. package/.prettierrc +0 -7
  17. package/.vscode/settings.json +0 -0
  18. package/__tests__/breadcrumbs.test.tsx +0 -75
  19. package/__tests__/button.test.tsx +0 -218
  20. package/__tests__/checkbox.test.tsx +0 -45
  21. package/__tests__/collection.test.tsx +0 -243
  22. package/__tests__/containers/paging.test.tsx +0 -138
  23. package/__tests__/control_group.test.tsx +0 -32
  24. package/__tests__/drawer.test.tsx +0 -140
  25. package/__tests__/dropdown.test.tsx +0 -381
  26. package/__tests__/effect.test.tsx +0 -70
  27. package/__tests__/heading.test.tsx +0 -58
  28. package/__tests__/helpers/colors.test.tsx +0 -18
  29. package/__tests__/helpers/table.test.tsx +0 -67
  30. package/__tests__/hooks/useLatestZIndex.test.tsx +0 -10
  31. package/__tests__/hooks/useReqorePaging.test.tsx +0 -271
  32. package/__tests__/hooks/useTheme.test.tsx +0 -31
  33. package/__tests__/icon.test.tsx +0 -53
  34. package/__tests__/input.test.tsx +0 -482
  35. package/__tests__/layout.test.tsx +0 -37
  36. package/__tests__/menu.test.tsx +0 -65
  37. package/__tests__/messages.test.tsx +0 -79
  38. package/__tests__/modal.test.tsx +0 -204
  39. package/__tests__/multiselect.test.tsx +0 -458
  40. package/__tests__/navbar.test.tsx +0 -31
  41. package/__tests__/notifications.test.tsx +0 -178
  42. package/__tests__/pagination.test.tsx +0 -437
  43. package/__tests__/panel.test.tsx +0 -243
  44. package/__tests__/popover.test.tsx +0 -282
  45. package/__tests__/radiogroup.test.tsx +0 -47
  46. package/__tests__/setup.js +0 -8
  47. package/__tests__/stories/Collection.stories.tsx +0 -0
  48. package/__tests__/table.test.tsx +0 -647
  49. package/__tests__/tabs.test.tsx +0 -321
  50. package/__tests__/tag.test.tsx +0 -160
  51. package/__tests__/textarea.test.tsx +0 -467
  52. package/__tests__/timeAgo.test.tsx +0 -27
  53. package/__tests__/tree.test.tsx +0 -58
  54. package/build-storybook.log +0 -491
  55. package/chromatic.config.json +0 -1
  56. package/icons.ts +0 -1
  57. package/migration-storybook.log +0 -56
  58. package/public/logo-dark.png +0 -0
  59. package/public/logo.png +0 -0
  60. package/public/q-symbol-small.png +0 -0
  61. package/public/q-symbol.png +0 -0
  62. package/public/qoreLogo-dark.png +0 -0
  63. package/public/qoreLogo.png +0 -0
  64. package/src/components/Breadcrumbs/index.tsx +0 -254
  65. package/src/components/Breadcrumbs/item.tsx +0 -44
  66. package/src/components/Button/index.tsx +0 -633
  67. package/src/components/Checkbox/index.tsx +0 -388
  68. package/src/components/Collection/index.tsx +0 -426
  69. package/src/components/Collection/item.tsx +0 -267
  70. package/src/components/Columns/column.tsx +0 -27
  71. package/src/components/Columns/index.tsx +0 -41
  72. package/src/components/Comment/index.tsx +0 -141
  73. package/src/components/CommentFeed/index.tsx +0 -34
  74. package/src/components/Content/index.tsx +0 -34
  75. package/src/components/Content/wrapper.tsx +0 -36
  76. package/src/components/ControlGroup/index.tsx +0 -523
  77. package/src/components/DatePicker/index.tsx +0 -347
  78. package/src/components/Drawer/backdrop.tsx +0 -54
  79. package/src/components/Drawer/index.tsx +0 -365
  80. package/src/components/Dropdown/index.tsx +0 -153
  81. package/src/components/Dropdown/item.tsx +0 -33
  82. package/src/components/Dropdown/list.tsx +0 -222
  83. package/src/components/Effect/index.tsx +0 -464
  84. package/src/components/ExportModal/index.tsx +0 -99
  85. package/src/components/Header/index.tsx +0 -81
  86. package/src/components/Icon/index.tsx +0 -184
  87. package/src/components/Input/index.tsx +0 -295
  88. package/src/components/InputClearButton/index.tsx +0 -59
  89. package/src/components/InternalPopover/index.tsx +0 -303
  90. package/src/components/KeyValueTable/index.tsx +0 -192
  91. package/src/components/Label/index.tsx +0 -10
  92. package/src/components/Layout/content.tsx +0 -31
  93. package/src/components/Layout/index.tsx +0 -55
  94. package/src/components/Menu/divider.tsx +0 -92
  95. package/src/components/Menu/index.tsx +0 -141
  96. package/src/components/Menu/item.tsx +0 -137
  97. package/src/components/Menu/section.tsx +0 -81
  98. package/src/components/Message/index.tsx +0 -220
  99. package/src/components/Modal/index.tsx +0 -26
  100. package/src/components/MultiSelect/index.tsx +0 -288
  101. package/src/components/Navbar/divider.tsx +0 -50
  102. package/src/components/Navbar/group.tsx +0 -53
  103. package/src/components/Navbar/index.tsx +0 -82
  104. package/src/components/Navbar/item.tsx +0 -92
  105. package/src/components/Notifications/index.tsx +0 -57
  106. package/src/components/Notifications/notification.tsx +0 -362
  107. package/src/components/Paging/index.tsx +0 -321
  108. package/src/components/Panel/LabelEditor.tsx +0 -67
  109. package/src/components/Panel/NonResponsiveActions.tsx +0 -79
  110. package/src/components/Panel/__screenshots__/linux/panel-SomePanel.png +0 -0
  111. package/src/components/Panel/index.tsx +0 -912
  112. package/src/components/Panel/panel.screenshot.tsx +0 -29
  113. package/src/components/Paragraph/index.tsx +0 -43
  114. package/src/components/Popover/index.tsx +0 -68
  115. package/src/components/RadioGroup/index.tsx +0 -71
  116. package/src/components/Slider/index.tsx +0 -358
  117. package/src/components/Spacer/index.tsx +0 -142
  118. package/src/components/Spinner/index.tsx +0 -74
  119. package/src/components/Table/body.tsx +0 -109
  120. package/src/components/Table/cell.tsx +0 -136
  121. package/src/components/Table/header.tsx +0 -236
  122. package/src/components/Table/headerCell.tsx +0 -203
  123. package/src/components/Table/helpers.ts +0 -308
  124. package/src/components/Table/index.tsx +0 -797
  125. package/src/components/Table/row.tsx +0 -288
  126. package/src/components/Table/value.tsx +0 -28
  127. package/src/components/Tabs/content.tsx +0 -68
  128. package/src/components/Tabs/index.tsx +0 -124
  129. package/src/components/Tabs/item.tsx +0 -198
  130. package/src/components/Tabs/list.tsx +0 -381
  131. package/src/components/Tag/group.tsx +0 -73
  132. package/src/components/Tag/index.tsx +0 -463
  133. package/src/components/Textarea/index.tsx +0 -277
  134. package/src/components/TimeAgo/index.tsx +0 -15
  135. package/src/components/Tree/index.tsx +0 -271
  136. package/src/constants/animations.ts +0 -9
  137. package/src/constants/colors.ts +0 -13
  138. package/src/constants/paging.ts +0 -93
  139. package/src/constants/sizes.ts +0 -185
  140. package/src/constants/theme.ts +0 -122
  141. package/src/containers/Paging.tsx +0 -136
  142. package/src/containers/PopoverProvider.tsx +0 -124
  143. package/src/containers/ReqoreProvider.tsx +0 -289
  144. package/src/containers/ThemeProvider.tsx +0 -12
  145. package/src/containers/UIProvider.tsx +0 -101
  146. package/src/context/PopoverContext.tsx +0 -11
  147. package/src/context/ReqoreContext.tsx +0 -47
  148. package/src/context/ThemeContext.tsx +0 -4
  149. package/src/helpers/animations.ts +0 -13
  150. package/src/helpers/colors.ts +0 -335
  151. package/src/helpers/time.ts +0 -21
  152. package/src/helpers/utils.ts +0 -152
  153. package/src/hooks/useAutoFocus.ts +0 -106
  154. package/src/hooks/useCloneThroughFragments.ts +0 -39
  155. package/src/hooks/useCombinedRefs.ts +0 -26
  156. package/src/hooks/useLatestZIndex.ts +0 -13
  157. package/src/hooks/useOutsideClick.ts +0 -29
  158. package/src/hooks/usePaging.ts +0 -128
  159. package/src/hooks/usePopover.tsx +0 -220
  160. package/src/hooks/useQueryWithDelay.ts +0 -30
  161. package/src/hooks/useReqore.ts +0 -12
  162. package/src/hooks/useReqoreContext.ts +0 -16
  163. package/src/hooks/useReqoreEffect.ts +0 -49
  164. package/src/hooks/useTextareaAutoSize.ts +0 -22
  165. package/src/hooks/useTheme.ts +0 -48
  166. package/src/hooks/useTooltip.ts +0 -40
  167. package/src/hooks/useWhyDidYouUpdate.ts +0 -32
  168. package/src/icons.json +0 -2295
  169. package/src/index.tsx +0 -80
  170. package/src/mock/breadcrumbs.ts +0 -146
  171. package/src/mock/collectionData.tsx +0 -380
  172. package/src/mock/data.json +0 -11000
  173. package/src/mock/icons.ts +0 -32
  174. package/src/mock/menu.ts +0 -93
  175. package/src/mock/multiSelect.ts +0 -71
  176. package/src/mock/object.json +0 -317
  177. package/src/mock/styleMock.js +0 -1
  178. package/src/mock/tableData.ts +0 -64
  179. package/src/stories/Breadcrumbs/Breadcrumbs.stories.tsx +0 -27
  180. package/src/stories/Button/Button.stories.tsx +0 -405
  181. package/src/stories/Checkbox/Checkbox.stories.tsx +0 -75
  182. package/src/stories/Collection/Collection.stories.tsx +0 -317
  183. package/src/stories/Columns/Columns.stories.tsx +0 -158
  184. package/src/stories/Comment/Comment.stories.tsx +0 -136
  185. package/src/stories/ControlGroup/ControlGroup.stories.tsx +0 -399
  186. package/src/stories/DatePicker/DatePicker.stories.tsx +0 -348
  187. package/src/stories/Drawer/Drawer.stories.tsx +0 -294
  188. package/src/stories/Dropdown/Dropdown.stories.tsx +0 -375
  189. package/src/stories/Dropdown/DropdownTests.stories.tsx +0 -111
  190. package/src/stories/ExportModal/ExportModal.stories.tsx +0 -18
  191. package/src/stories/Header/Header.stories.tsx +0 -108
  192. package/src/stories/Icon/Icon.stories.tsx +0 -162
  193. package/src/stories/Input/Input.stories.tsx +0 -220
  194. package/src/stories/KeyValueTable/KeyValueTable.stories.tsx +0 -346
  195. package/src/stories/Label/Label.stories.tsx +0 -33
  196. package/src/stories/Menu/Menu.stories.tsx +0 -367
  197. package/src/stories/Message/Message.stories.tsx +0 -167
  198. package/src/stories/Modal/Manager.stories.tsx +0 -192
  199. package/src/stories/Modal/Modal.stories.tsx +0 -252
  200. package/src/stories/MultiSelect/MultiSelect.stories.tsx +0 -140
  201. package/src/stories/Navbar/Navbar.stories.tsx +0 -119
  202. package/src/stories/Notifications/Interactive.stories.tsx +0 -117
  203. package/src/stories/Notifications/Notification.stories.tsx +0 -216
  204. package/src/stories/Notifications/Notifications.stories.tsx +0 -81
  205. package/src/stories/Paging/Paging.stories.tsx +0 -255
  206. package/src/stories/Panel/Panel.stories.tsx +0 -753
  207. package/src/stories/Paragraph/Paragraph.stories.tsx +0 -108
  208. package/src/stories/Popover/Popover.stories.tsx +0 -510
  209. package/src/stories/RadioGroup/RadioGroup.stories.tsx +0 -212
  210. package/src/stories/Slider/Slider.stories.tsx +0 -173
  211. package/src/stories/Spacer/Spacer.stories.tsx +0 -100
  212. package/src/stories/Spinner/Spinner.stories.tsx +0 -82
  213. package/src/stories/Table/Table.stories.tsx +0 -571
  214. package/src/stories/Tabs/Tabs.stories.tsx +0 -346
  215. package/src/stories/Tag/Tag.stories.tsx +0 -381
  216. package/src/stories/Tag/TagGroup.stories.tsx +0 -307
  217. package/src/stories/TextArea/TextArea.stories.tsx +0 -287
  218. package/src/stories/TextArea/TextAreaTests.stories.tsx +0 -108
  219. package/src/stories/Tree/Tree.stories.tsx +0 -124
  220. package/src/stories/Wrapper.tsx +0 -13
  221. package/src/stories/utils/args.ts +0 -151
  222. package/src/stories/utils.ts +0 -39
  223. package/src/styles.ts +0 -124
  224. package/src/types/global.ts +0 -211
  225. package/src/types/icons.ts +0 -2272
  226. package/tsconfig.prod.json +0 -26
@@ -1,140 +0,0 @@
1
- import { fireEvent, render } from '@testing-library/react';
2
- import React from 'react';
3
- import {
4
- ReqoreButton,
5
- ReqoreContent,
6
- ReqoreDrawer,
7
- ReqoreLayoutContent,
8
- ReqoreUIProvider,
9
- } from '../src';
10
-
11
- test('Does not render <Drawer /> if not open', () => {
12
- render(
13
- <ReqoreUIProvider>
14
- <ReqoreLayoutContent>
15
- <ReqoreContent>
16
- <ReqoreDrawer>Hello</ReqoreDrawer>
17
- </ReqoreContent>
18
- </ReqoreLayoutContent>
19
- </ReqoreUIProvider>
20
- );
21
-
22
- expect(document.querySelectorAll('.reqore-drawer').length).toBe(0);
23
- });
24
-
25
- test('Renders opened <Drawer /> properly', () => {
26
- render(
27
- <ReqoreUIProvider>
28
- <ReqoreLayoutContent>
29
- <ReqoreContent>
30
- <ReqoreDrawer isOpen>Hello</ReqoreDrawer>
31
- </ReqoreContent>
32
- </ReqoreLayoutContent>
33
- </ReqoreUIProvider>
34
- );
35
-
36
- expect(document.querySelectorAll('.reqore-drawer').length).toBe(1);
37
- });
38
-
39
- test('Renders hidable <Drawer /> properly', () => {
40
- const fn = jest.fn();
41
-
42
- render(
43
- <ReqoreUIProvider>
44
- <ReqoreLayoutContent>
45
- <ReqoreContent>
46
- <ReqoreDrawer isOpen hidable onHideToggle={fn} isHidden>
47
- Hello
48
- </ReqoreDrawer>
49
- </ReqoreContent>
50
- </ReqoreLayoutContent>
51
- </ReqoreUIProvider>
52
- );
53
-
54
- expect(document.querySelectorAll('.reqore-drawer').length).toBe(0);
55
- expect(document.querySelectorAll('.reqore-drawer-hide-button').length).toBe(1);
56
- expect(document.querySelectorAll('.reqore-drawer-close-button').length).toBe(0);
57
-
58
- fireEvent.click(document.querySelector('.reqore-drawer-hide-button')!);
59
-
60
- expect(fn).toHaveBeenCalledWith(false);
61
- expect(document.querySelectorAll('.reqore-drawer').length).toBe(1);
62
-
63
- fireEvent.click(document.querySelector('.reqore-drawer-hide-button')!);
64
-
65
- expect(fn).toHaveBeenLastCalledWith(true);
66
- expect(fn).toHaveBeenCalledTimes(2);
67
- });
68
-
69
- test('Renders closable <Drawer /> properly', () => {
70
- const fn = jest.fn();
71
-
72
- render(
73
- <ReqoreUIProvider>
74
- <ReqoreLayoutContent>
75
- <ReqoreContent style={{ width: 800 }}>
76
- <ReqoreDrawer isOpen onClose={fn}>
77
- Hello
78
- </ReqoreDrawer>
79
- </ReqoreContent>
80
- </ReqoreLayoutContent>
81
- </ReqoreUIProvider>
82
- );
83
-
84
- expect(document.querySelectorAll('.reqore-drawer').length).toBe(1);
85
- expect(document.querySelectorAll('.reqore-drawer-close-button').length).toBe(1);
86
-
87
- fireEvent.click(document.querySelector('.reqore-drawer-close-button')!);
88
-
89
- expect(fn).toHaveBeenCalled();
90
- });
91
-
92
- test('Renders <Drawer /> with interactive backdrop', () => {
93
- const fn = jest.fn();
94
-
95
- render(
96
- <ReqoreUIProvider>
97
- <ReqoreLayoutContent>
98
- <ReqoreContent>
99
- <ReqoreDrawer isOpen onClose={fn} hasBackdrop>
100
- Hello
101
- </ReqoreDrawer>
102
- </ReqoreContent>
103
- </ReqoreLayoutContent>
104
- </ReqoreUIProvider>
105
- );
106
-
107
- expect(document.querySelectorAll('.reqore-drawer').length).toBe(1);
108
- expect(document.querySelectorAll('.reqore-drawer-close-button').length).toBe(1);
109
- expect(document.querySelectorAll('.reqore-drawer-backdrop').length).toBe(1);
110
-
111
- fireEvent.click(document.querySelector('.reqore-drawer-backdrop')!);
112
-
113
- expect(fn).toHaveBeenCalled();
114
- });
115
-
116
- const CustomDrawer = () => {
117
- const [count, setCount] = React.useState(0);
118
-
119
- return (
120
- <ReqoreUIProvider>
121
- <ReqoreLayoutContent>
122
- <ReqoreContent>
123
- <ReqoreDrawer isOpen hasBackdrop actions={[{ label: `Count is ${count}` }]}>
124
- <ReqoreButton onClick={() => setCount(count + 1)}>Click me</ReqoreButton>
125
- </ReqoreDrawer>
126
- </ReqoreContent>
127
- </ReqoreLayoutContent>
128
- </ReqoreUIProvider>
129
- );
130
- };
131
-
132
- test('<Drawer /> actions are changed properly', () => {
133
- const { getAllByText } = render(<CustomDrawer />);
134
-
135
- expect(getAllByText('Count is 0')[0]).toBeTruthy();
136
-
137
- fireEvent.click(getAllByText('Click me')[0]);
138
-
139
- expect(getAllByText('Count is 1')[0]).toBeTruthy();
140
- });
@@ -1,381 +0,0 @@
1
- import { fireEvent, render } from '@testing-library/react';
2
- import { useEffect, useState } from 'react';
3
- import { act } from 'react-dom/test-utils';
4
- import {
5
- ReqoreContent,
6
- ReqoreDropdown,
7
- ReqoreInput,
8
- ReqoreLayoutContent,
9
- ReqoreUIProvider,
10
- } from '../src';
11
- import { IReqoreInputProps } from '../src/components/Input';
12
-
13
- beforeAll(() => {
14
- jest.setTimeout(30000);
15
- });
16
-
17
- test('Renders <Dropdown /> properly', () => {
18
- jest.useFakeTimers();
19
- act(() => {
20
- jest.advanceTimersByTime(1);
21
- render(
22
- <ReqoreUIProvider>
23
- <ReqoreLayoutContent>
24
- <ReqoreContent>
25
- <ReqoreDropdown
26
- items={[
27
- {
28
- selected: true,
29
- label: 'Hello',
30
- value: 'hello',
31
- icon: 'SunCloudyLine',
32
- },
33
- {
34
- label: 'How are ya',
35
- value: 'howareya',
36
- icon: 'BatteryChargeFill',
37
- },
38
- {
39
- disabled: true,
40
- label: 'i aM diSAblEd',
41
- value: 'disabled',
42
- icon: 'StopCircleLine',
43
- },
44
- ]}
45
- />
46
- </ReqoreContent>
47
- </ReqoreLayoutContent>
48
- </ReqoreUIProvider>
49
- );
50
- });
51
-
52
- fireEvent.click(document.querySelector('.reqore-button')!);
53
- jest.advanceTimersByTime(1);
54
-
55
- expect(document.querySelector('.reqore-button')?.getAttribute('disabled')).toBe(null);
56
- expect(document.querySelectorAll('.reqore-button').length).toBe(4);
57
- expect(document.querySelectorAll('.reqore-popover-content').length).toBe(1);
58
- expect(document.querySelectorAll('.reqore-menu-item').length).toBe(3);
59
- });
60
-
61
- test('Renders disabled <Dropdown /> when items are empty', () => {
62
- jest.useFakeTimers();
63
- act(() => {
64
- render(
65
- <ReqoreUIProvider>
66
- <ReqoreLayoutContent>
67
- <ReqoreContent>
68
- <ReqoreDropdown />
69
- </ReqoreContent>
70
- </ReqoreLayoutContent>
71
- </ReqoreUIProvider>
72
- );
73
- });
74
-
75
- fireEvent.click(document.querySelector('.reqore-button')!);
76
-
77
- expect(document.querySelector('.reqore-button')?.getAttribute('disabled')).toBe('');
78
- });
79
-
80
- test('Renders disabled <Dropdown /> when items are not empty & disabled prop is true', () => {
81
- jest.useFakeTimers();
82
- act(() => {
83
- render(
84
- <ReqoreUIProvider>
85
- <ReqoreLayoutContent>
86
- <ReqoreContent>
87
- <ReqoreDropdown
88
- label='Disabled with items'
89
- items={[
90
- {
91
- selected: true,
92
- label: 'Hello',
93
- value: 'hello',
94
- icon: 'SunCloudyLine',
95
- },
96
- {
97
- label: 'How are ya',
98
- value: 'howareya',
99
- icon: 'BatteryChargeFill',
100
- },
101
- {
102
- disabled: true,
103
- label: 'i aM diSAblEd',
104
- value: 'disabled',
105
- icon: 'StopCircleLine',
106
- },
107
- ]}
108
- disabled
109
- />
110
- </ReqoreContent>
111
- </ReqoreLayoutContent>
112
- </ReqoreUIProvider>
113
- );
114
- });
115
-
116
- expect(document.querySelector('.reqore-button')?.getAttribute('disabled')).toBe('');
117
- });
118
-
119
- test('Renders <Dropdown /> with custom component and custom handler', () => {
120
- jest.useFakeTimers();
121
- act(() => {
122
- render(
123
- <ReqoreUIProvider>
124
- <ReqoreLayoutContent>
125
- <ReqoreContent>
126
- <ReqoreDropdown
127
- component={ReqoreInput}
128
- handler='focus'
129
- useTargetWidth
130
- width={500}
131
- placeholder='Focus me to see some crazy stuff'
132
- items={[
133
- {
134
- selected: true,
135
- label: 'Hello',
136
- value: 'hello',
137
- icon: 'SunCloudyLine',
138
- },
139
- {
140
- label: 'How are ya',
141
- value: 'asg',
142
- icon: 'BatteryChargeFill',
143
- },
144
- {
145
- disabled: true,
146
- label: 'i aM diSAblEd',
147
- value: 'hhhhh',
148
- icon: 'StopCircleLine',
149
- },
150
- ]}
151
- />
152
- </ReqoreContent>
153
- </ReqoreLayoutContent>
154
- </ReqoreUIProvider>
155
- );
156
- });
157
-
158
- const component = document.querySelector('.reqore-input');
159
-
160
- if (component) {
161
- fireEvent.focus(component);
162
- jest.advanceTimersByTime(1);
163
- }
164
-
165
- expect(document.querySelectorAll('.reqore-popover-content').length).toBe(1);
166
- expect(document.querySelectorAll('.reqore-menu-item').length).toBe(3);
167
- });
168
-
169
- test('Renders <Dropdown /> is opened by default', () => {
170
- jest.useFakeTimers();
171
- act(() => {
172
- render(
173
- <ReqoreUIProvider>
174
- <ReqoreLayoutContent>
175
- <ReqoreContent>
176
- <ReqoreDropdown<IReqoreInputProps>
177
- component={ReqoreInput}
178
- handler='focus'
179
- isDefaultOpen
180
- useTargetWidth
181
- width={500}
182
- placeholder='Focus me to see some crazy stuff'
183
- items={[
184
- {
185
- selected: true,
186
- label: 'Hello',
187
- value: 'hello',
188
- icon: 'SunCloudyLine',
189
- },
190
- {
191
- label: 'How are ya',
192
- value: 'asg',
193
- icon: 'BatteryChargeFill',
194
- },
195
- {
196
- disabled: true,
197
- label: 'i aM diSAblEd',
198
- value: 'hhhhh',
199
- icon: 'StopCircleLine',
200
- },
201
- ]}
202
- />
203
- </ReqoreContent>
204
- </ReqoreLayoutContent>
205
- </ReqoreUIProvider>
206
- );
207
- jest.advanceTimersByTime(1);
208
- });
209
-
210
- expect(document.querySelectorAll('.reqore-popover-content').length).toBe(1);
211
- expect(document.querySelectorAll('.reqore-menu-item').length).toBe(3);
212
- });
213
-
214
- test('Renders <Dropdown /> and calls a function on item click, closes the dropdown', () => {
215
- jest.useFakeTimers();
216
- const onClick = jest.fn();
217
-
218
- act(() => {
219
- render(
220
- <ReqoreUIProvider>
221
- <ReqoreLayoutContent>
222
- <ReqoreContent>
223
- <ReqoreDropdown
224
- items={[
225
- {
226
- selected: true,
227
- label: 'Hello',
228
- value: 'hello',
229
- icon: 'SunCloudyLine',
230
- onClick,
231
- },
232
- ]}
233
- />
234
- </ReqoreContent>
235
- </ReqoreLayoutContent>
236
- </ReqoreUIProvider>
237
- );
238
- jest.advanceTimersByTime(1);
239
- });
240
-
241
- fireEvent.click(document.querySelector('.reqore-button')!);
242
- expect(document.querySelectorAll('.reqore-popover-content').length).toBe(1);
243
- expect(document.querySelectorAll('.reqore-menu-item').length).toBe(1);
244
-
245
- fireEvent.click(document.querySelector('.reqore-menu-item')!);
246
- expect(onClick).toHaveBeenCalledWith(
247
- expect.objectContaining({
248
- selected: true,
249
- label: 'Hello',
250
- value: 'hello',
251
- icon: 'SunCloudyLine',
252
- onClick,
253
- })
254
- );
255
- });
256
- expect(document.querySelectorAll('.reqore-popover-content').length).toBe(0);
257
-
258
- test('Renders filterable <Dropdown /> and filters items correctly', () => {
259
- jest.useFakeTimers();
260
- act(() => {
261
- render(
262
- <ReqoreUIProvider>
263
- <ReqoreLayoutContent>
264
- <ReqoreContent>
265
- <ReqoreDropdown
266
- filterable
267
- items={[
268
- {
269
- selected: true,
270
- label: 'Hello',
271
- value: 'hello',
272
- icon: 'SunCloudyLine',
273
- },
274
- {
275
- label: 'How are ya',
276
- value: 'howareya',
277
- icon: 'BatteryChargeFill',
278
- },
279
- {
280
- disabled: true,
281
- label: 'i aM diSAblEd',
282
- value: 'disabled',
283
- icon: 'StopCircleLine',
284
- },
285
- {
286
- value: 'onlyvalue',
287
- icon: 'StopCircleLine',
288
- },
289
- ]}
290
- />
291
- </ReqoreContent>
292
- </ReqoreLayoutContent>
293
- </ReqoreUIProvider>
294
- );
295
- });
296
-
297
- fireEvent.click(document.querySelector('.reqore-button')!);
298
- jest.advanceTimersByTime(1);
299
- fireEvent.change(document.querySelector('.reqore-input')!, {
300
- target: { value: 'how' },
301
- });
302
-
303
- expect(document.querySelectorAll('.reqore-popover-content').length).toBe(1);
304
- expect(document.querySelectorAll('.reqore-menu-item').length).toBe(1);
305
-
306
- fireEvent.change(document.querySelector('.reqore-input')!, {
307
- target: { value: '' },
308
- });
309
-
310
- expect(document.querySelectorAll('.reqore-menu-item').length).toBe(4);
311
-
312
- // Search in value only
313
- fireEvent.change(document.querySelector('.reqore-input')!, {
314
- target: { value: 'onlyvalue' },
315
- });
316
-
317
- expect(document.querySelectorAll('.reqore-menu-item').length).toBe(1);
318
-
319
- fireEvent.change(document.querySelector('.reqore-input')!, {
320
- target: { value: 'asfd' },
321
- });
322
-
323
- expect(document.querySelectorAll('.reqore-menu-item').length).toBe(0);
324
- });
325
-
326
- const MultiSelectDropdown = ({ onChange }) => {
327
- const [selected, setSelected] = useState<string[]>([]);
328
-
329
- useEffect(() => {
330
- onChange(selected);
331
- }, [selected]);
332
-
333
- return (
334
- <ReqoreDropdown
335
- multiSelect
336
- onItemSelect={({ value }) => setSelected([...selected, value])}
337
- items={[
338
- {
339
- label: 'Item 1',
340
- value: 'item-1',
341
- selected: selected.includes('item-1'),
342
- },
343
- {
344
- label: 'Item 2',
345
- value: 'item-2',
346
- selected: selected.includes('item-2'),
347
- },
348
- ]}
349
- />
350
- );
351
- };
352
-
353
- test('Renders <Dropdown /> and updates its items when state changes, does not close dropdown', () => {
354
- const fn = jest.fn();
355
-
356
- act(() => {
357
- render(
358
- <ReqoreUIProvider>
359
- <ReqoreLayoutContent>
360
- <ReqoreContent>
361
- <MultiSelectDropdown onChange={fn} />
362
- </ReqoreContent>
363
- </ReqoreLayoutContent>
364
- </ReqoreUIProvider>
365
- );
366
- });
367
-
368
- fireEvent.click(document.querySelector('.reqore-button')!);
369
-
370
- expect(document.querySelectorAll('.reqore-button').length).toBe(3);
371
- expect(document.querySelectorAll('.reqore-popover-content').length).toBe(1);
372
- expect(document.querySelectorAll('.reqore-menu-item').length).toBe(2);
373
-
374
- fireEvent.click(document.querySelectorAll('.reqore-menu-item')[0]);
375
- expect(fn).toHaveBeenNthCalledWith(2, ['item-1']);
376
-
377
- fireEvent.click(document.querySelectorAll('.reqore-menu-item')[1]);
378
- expect(fn).toHaveBeenNthCalledWith(3, ['item-1', 'item-2']);
379
-
380
- expect(document.querySelectorAll('.reqore-popover-content').length).toBe(1);
381
- });
@@ -1,70 +0,0 @@
1
- import { render } from '@testing-library/react';
2
- import React from 'react';
3
- import {
4
- ReqoreContent,
5
- ReqoreEffect,
6
- ReqoreLayoutContent,
7
- ReqoreTextEffect,
8
- ReqoreUIProvider,
9
- } from '../src';
10
-
11
- test('Renders <ReqoreEffect /> properly', () => {
12
- render(
13
- <ReqoreUIProvider>
14
- <ReqoreLayoutContent>
15
- <ReqoreContent>
16
- <ReqoreEffect
17
- as='div'
18
- effect={{
19
- gradient: {
20
- type: 'radial',
21
- shape: 'circle',
22
- colors: {
23
- 0: 'danger:lighten:2',
24
- 100: 'info:darken:1',
25
- },
26
- },
27
- spaced: 10,
28
- uppercase: true,
29
- weight: 'bold',
30
- color: 'main',
31
- }}
32
- >
33
- This is a test
34
- </ReqoreEffect>
35
- </ReqoreContent>
36
- </ReqoreLayoutContent>
37
- </ReqoreUIProvider>
38
- );
39
-
40
- expect(document.querySelectorAll('.reqore-effect').length).toBe(1);
41
- });
42
-
43
- test('Renders <ReqoreTextEffect /> properly', () => {
44
- render(
45
- <ReqoreUIProvider>
46
- <ReqoreLayoutContent>
47
- <ReqoreContent>
48
- <ReqoreTextEffect
49
- as='p'
50
- effect={{
51
- gradient: {
52
- colors: {
53
- 0: '#ff0000',
54
- 100: '#00ff00',
55
- },
56
- },
57
- spaced: 10,
58
- uppercase: true,
59
- weight: 'thin',
60
- }}
61
- >
62
- This is a test
63
- </ReqoreTextEffect>
64
- </ReqoreContent>
65
- </ReqoreLayoutContent>
66
- </ReqoreUIProvider>
67
- );
68
-
69
- expect(document.querySelectorAll('.reqore-text-effect').length).toBe(1);
70
- });
@@ -1,58 +0,0 @@
1
- import { fireEvent, render, screen } from '@testing-library/react';
2
- import React from 'react';
3
- import {
4
- ReqoreH1,
5
- ReqoreH2,
6
- ReqoreH3,
7
- ReqoreH4,
8
- ReqoreH5,
9
- ReqoreH6,
10
- ReqoreUIProvider,
11
- } from '../src';
12
-
13
- test('<Heading /> renders properly', () => {
14
- jest.useFakeTimers();
15
-
16
- render(
17
- <ReqoreUIProvider>
18
- <ReqoreH1>H1</ReqoreH1>
19
- <ReqoreH2>H2</ReqoreH2>
20
- <ReqoreH3>H3</ReqoreH3>
21
- <ReqoreH4>H4</ReqoreH4>
22
- <ReqoreH5>H5</ReqoreH5>
23
- <ReqoreH6>H6</ReqoreH6>
24
- </ReqoreUIProvider>
25
- );
26
-
27
- expect(screen.getAllByText('H1')).toBeTruthy();
28
- expect(screen.getAllByText('H2')).toBeTruthy();
29
- expect(screen.getAllByText('H3')).toBeTruthy();
30
- expect(screen.getAllByText('H4')).toBeTruthy();
31
- expect(screen.getAllByText('H5')).toBeTruthy();
32
- expect(screen.getAllByText('H6')).toBeTruthy();
33
-
34
- expect(document.querySelectorAll('h1').length).toBe(1);
35
- expect(document.querySelectorAll('h2').length).toBe(1);
36
- expect(document.querySelectorAll('h3').length).toBe(1);
37
- expect(document.querySelectorAll('h4').length).toBe(1);
38
- expect(document.querySelectorAll('h5').length).toBe(1);
39
- expect(document.querySelectorAll('h6').length).toBe(1);
40
- });
41
-
42
- test('Tooltip on <Heading /> works', () => {
43
- jest.useFakeTimers();
44
-
45
- render(
46
- <ReqoreUIProvider>
47
- <ReqoreH3 tooltip='test'>Test</ReqoreH3>
48
- </ReqoreUIProvider>
49
- );
50
-
51
- expect(document.querySelectorAll('.reqore-popover-content').length).toBe(0);
52
-
53
- fireEvent.mouseEnter(document.querySelectorAll('h3')[0]);
54
-
55
- jest.advanceTimersByTime(1);
56
-
57
- expect(document.querySelectorAll('.reqore-popover-content').length).toBe(1);
58
- });
@@ -1,18 +0,0 @@
1
- import { hexAToRGBA, shouldDarken } from '../../src/helpers/colors';
2
-
3
- test('Tests whether a color should be darkened', () => {
4
- expect(shouldDarken('#000000')).toBe(false);
5
- expect(shouldDarken('#ffffff')).toBe(true);
6
- expect(shouldDarken('#00000020')).toBe(false);
7
- expect(shouldDarken('rgba(255, 255, 255, 0.1)')).toBe(true);
8
- });
9
-
10
- test('Transforms hex color with alpha to rgba', () => {
11
- expect(hexAToRGBA('#000000')).toEqual('rgba(0, 0, 0, 1.00)');
12
- expect(hexAToRGBA('#000')).toEqual('rgba(0, 0, 0, 1.00)');
13
- expect(hexAToRGBA('#333')).toEqual('rgba(51, 51, 51, 1.00)');
14
- expect(hexAToRGBA('#00000050')).toEqual('rgba(0, 0, 0, 0.31)');
15
- expect(hexAToRGBA('#00000000')).toEqual('rgba(0, 0, 0, 0.00)');
16
- expect(hexAToRGBA('rgb(0, 0, 0)')).toEqual('rgb(0, 0, 0)');
17
- expect(hexAToRGBA('rgba(0, 0, 0, 1)')).toEqual('rgba(0, 0, 0, 1)');
18
- });