@qoretechnologies/reqore 0.31.2 → 0.32.2
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/.github/workflows/tests.yml +3 -1
- package/__tests__/breadcrumbs.test.tsx +46 -28
- package/__tests__/button.test.tsx +18 -0
- package/__tests__/checkbox.test.tsx +19 -1
- package/__tests__/collection.test.tsx +14 -1
- package/__tests__/icon.test.tsx +19 -1
- package/__tests__/input.test.tsx +435 -24
- package/__tests__/messages.test.tsx +16 -0
- package/__tests__/modal.test.tsx +4 -4
- package/__tests__/multiselect.test.tsx +8 -10
- package/__tests__/notifications.test.tsx +6 -6
- package/__tests__/panel.test.tsx +19 -1
- package/__tests__/textarea.test.tsx +423 -24
- package/__tests__/tree.test.tsx +3 -1
- package/dist/components/Breadcrumbs/item.d.ts.map +1 -1
- package/dist/components/Breadcrumbs/item.js +6 -2
- package/dist/components/Breadcrumbs/item.js.map +1 -1
- package/dist/components/Button/index.d.ts.map +1 -1
- package/dist/components/Button/index.js +18 -4
- package/dist/components/Button/index.js.map +1 -1
- package/dist/components/Checkbox/index.d.ts.map +1 -1
- package/dist/components/Checkbox/index.js +8 -4
- package/dist/components/Checkbox/index.js.map +1 -1
- package/dist/components/Collection/index.d.ts +4 -2
- package/dist/components/Collection/index.d.ts.map +1 -1
- package/dist/components/Collection/index.js +19 -13
- package/dist/components/Collection/index.js.map +1 -1
- package/dist/components/Collection/item.js +2 -2
- package/dist/components/Collection/item.js.map +1 -1
- package/dist/components/Comment/index.d.ts +0 -1
- package/dist/components/Comment/index.d.ts.map +1 -1
- package/dist/components/ControlGroup/index.d.ts.map +1 -1
- package/dist/components/ControlGroup/index.js +18 -57
- package/dist/components/ControlGroup/index.js.map +1 -1
- package/dist/components/Drawer/index.d.ts +1 -1
- package/dist/components/Drawer/index.d.ts.map +1 -1
- package/dist/components/Drawer/index.js +1 -1
- package/dist/components/Drawer/index.js.map +1 -1
- package/dist/components/Dropdown/item.d.ts +0 -1
- package/dist/components/Dropdown/item.d.ts.map +1 -1
- package/dist/components/Icon/index.d.ts +2 -0
- package/dist/components/Icon/index.d.ts.map +1 -1
- package/dist/components/Icon/index.js +17 -8
- package/dist/components/Icon/index.js.map +1 -1
- package/dist/components/Input/index.d.ts +4 -0
- package/dist/components/Input/index.d.ts.map +1 -1
- package/dist/components/Input/index.js +19 -7
- package/dist/components/Input/index.js.map +1 -1
- package/dist/components/InputClearButton/index.d.ts +1 -1
- package/dist/components/InputClearButton/index.d.ts.map +1 -1
- package/dist/components/InputClearButton/index.js +18 -8
- package/dist/components/InputClearButton/index.js.map +1 -1
- package/dist/components/InternalPopover/index.d.ts.map +1 -1
- package/dist/components/InternalPopover/index.js +2 -1
- package/dist/components/InternalPopover/index.js.map +1 -1
- package/dist/components/Menu/item.d.ts +1 -1
- package/dist/components/Menu/item.d.ts.map +1 -1
- package/dist/components/Menu/item.js +3 -6
- package/dist/components/Menu/item.js.map +1 -1
- package/dist/components/Message/index.d.ts.map +1 -1
- package/dist/components/Message/index.js +6 -2
- package/dist/components/Message/index.js.map +1 -1
- package/dist/components/Modal/index.d.ts +0 -1
- package/dist/components/Modal/index.d.ts.map +1 -1
- package/dist/components/Panel/index.d.ts +1 -0
- package/dist/components/Panel/index.d.ts.map +1 -1
- package/dist/components/Panel/index.js +18 -9
- package/dist/components/Panel/index.js.map +1 -1
- package/dist/components/Panel/panel.screenshot.d.ts +0 -1
- package/dist/components/Panel/panel.screenshot.d.ts.map +1 -1
- package/dist/components/Sidebar/item.d.ts +0 -1
- package/dist/components/Sidebar/item.d.ts.map +1 -1
- package/dist/components/Sidebar/item.js +1 -3
- package/dist/components/Sidebar/item.js.map +1 -1
- package/dist/components/Spinner/index.d.ts +0 -1
- package/dist/components/Spinner/index.d.ts.map +1 -1
- package/dist/components/Table/header.d.ts +0 -1
- package/dist/components/Table/header.d.ts.map +1 -1
- package/dist/components/Tag/index.d.ts.map +1 -1
- package/dist/components/Tag/index.js +7 -4
- package/dist/components/Tag/index.js.map +1 -1
- package/dist/components/Textarea/index.d.ts +2 -0
- package/dist/components/Textarea/index.d.ts.map +1 -1
- package/dist/components/Textarea/index.js +9 -6
- package/dist/components/Textarea/index.js.map +1 -1
- package/dist/components/Tree/index.d.ts +0 -1
- package/dist/components/Tree/index.d.ts.map +1 -1
- package/dist/components/Tree/index.js +2 -4
- package/dist/components/Tree/index.js.map +1 -1
- package/dist/containers/PopoverProvider.d.ts.map +1 -1
- package/dist/containers/PopoverProvider.js +2 -2
- package/dist/containers/PopoverProvider.js.map +1 -1
- package/dist/containers/ReqoreProvider.d.ts.map +1 -1
- package/dist/containers/ReqoreProvider.js +4 -0
- package/dist/containers/ReqoreProvider.js.map +1 -1
- package/dist/containers/ThemeProvider.d.ts +1 -2
- package/dist/containers/ThemeProvider.d.ts.map +1 -1
- package/dist/containers/ThemeProvider.js +3 -3
- package/dist/containers/ThemeProvider.js.map +1 -1
- package/dist/context/PopoverContext.d.ts +1 -2
- package/dist/context/PopoverContext.d.ts.map +1 -1
- package/dist/context/PopoverContext.js +2 -2
- package/dist/context/PopoverContext.js.map +1 -1
- package/dist/context/ReqoreContext.d.ts +3 -2
- package/dist/context/ReqoreContext.d.ts.map +1 -1
- package/dist/context/ReqoreContext.js +5 -3
- package/dist/context/ReqoreContext.js.map +1 -1
- package/dist/context/ThemeContext.d.ts +1 -2
- package/dist/context/ThemeContext.d.ts.map +1 -1
- package/dist/context/ThemeContext.js +2 -2
- package/dist/context/ThemeContext.js.map +1 -1
- package/dist/hooks/useAutoFocus.d.ts +11 -0
- package/dist/hooks/useAutoFocus.d.ts.map +1 -0
- package/dist/hooks/useAutoFocus.js +80 -0
- package/dist/hooks/useAutoFocus.js.map +1 -0
- package/dist/hooks/useLatestZIndex.d.ts.map +1 -1
- package/dist/hooks/useLatestZIndex.js +3 -2
- package/dist/hooks/useLatestZIndex.js.map +1 -1
- package/dist/hooks/usePopover.d.ts +0 -1
- package/dist/hooks/usePopover.d.ts.map +1 -1
- package/dist/hooks/usePopover.js +4 -3
- package/dist/hooks/usePopover.js.map +1 -1
- package/dist/hooks/useReqore.js +2 -2
- package/dist/hooks/useReqore.js.map +1 -1
- package/dist/hooks/useReqoreContext.d.ts +3 -0
- package/dist/hooks/useReqoreContext.d.ts.map +1 -0
- package/dist/hooks/useReqoreContext.js +19 -0
- package/dist/hooks/useReqoreContext.js.map +1 -0
- package/dist/hooks/useReqoreEffect.js +2 -5
- package/dist/hooks/useReqoreEffect.js.map +1 -1
- package/dist/hooks/useTheme.d.ts.map +1 -1
- package/dist/hooks/useTheme.js +20 -20
- package/dist/hooks/useTheme.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/styles.d.ts.map +1 -1
- package/dist/styles.js +1 -1
- package/dist/styles.js.map +1 -1
- package/package.json +20 -16
- package/src/components/Breadcrumbs/item.tsx +7 -3
- package/src/components/Button/index.tsx +26 -7
- package/src/components/Checkbox/index.tsx +9 -5
- package/src/components/Collection/index.tsx +33 -11
- package/src/components/Collection/item.tsx +3 -3
- package/src/components/ControlGroup/index.tsx +26 -87
- package/src/components/Drawer/index.tsx +4 -4
- package/src/components/Icon/index.tsx +27 -9
- package/src/components/Input/index.tsx +35 -4
- package/src/components/InputClearButton/index.tsx +41 -17
- package/src/components/InternalPopover/index.tsx +2 -1
- package/src/components/Menu/item.tsx +6 -9
- package/src/components/Message/index.tsx +6 -2
- package/src/components/Panel/index.tsx +26 -9
- package/src/components/Sidebar/item.tsx +2 -4
- package/src/components/Tag/index.tsx +9 -6
- package/src/components/Textarea/index.tsx +16 -11
- package/src/components/Tree/index.tsx +5 -8
- package/src/containers/PopoverProvider.tsx +2 -2
- package/src/containers/ReqoreProvider.tsx +5 -1
- package/src/containers/ThemeProvider.tsx +3 -13
- package/src/context/PopoverContext.tsx +1 -1
- package/src/context/ReqoreContext.tsx +4 -1
- package/src/context/ThemeContext.tsx +1 -1
- package/src/hooks/useAutoFocus.ts +104 -0
- package/src/hooks/useLatestZIndex.ts +5 -3
- package/src/hooks/usePopover.tsx +4 -3
- package/src/hooks/useReqore.ts +1 -1
- package/src/hooks/useReqoreContext.ts +16 -0
- package/src/hooks/useReqoreEffect.ts +3 -3
- package/src/hooks/useTheme.ts +21 -17
- package/src/index.tsx +1 -0
- package/src/stories/Button/Button.stories.tsx +7 -0
- package/src/stories/Collection/Collection.stories.tsx +56 -9
- package/src/stories/Drawer/Drawer.stories.tsx +4 -3
- package/src/stories/Input/Input.stories.tsx +29 -6
- package/src/stories/Modal/Modal.stories.tsx +3 -4
- package/src/stories/Notifications/Interactive.stories.tsx +3 -4
- package/src/stories/Panel/Panel.stories.tsx +4 -2
- package/src/stories/TextArea/TextArea.stories.tsx +1 -0
- package/src/styles.ts +0 -1
- package/tests.json +1 -1
|
@@ -1,23 +1,19 @@
|
|
|
1
|
-
import { act, render } from
|
|
2
|
-
import React from
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
ReqoreUIProvider,
|
|
7
|
-
} from "../src";
|
|
8
|
-
|
|
9
|
-
test("Renders full <Breadcrumbs /> properly", () => {
|
|
1
|
+
import { act, fireEvent, render } from '@testing-library/react';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { ReqoreBreadcrumbs, ReqoreLayoutContent, ReqoreUIProvider } from '../src';
|
|
4
|
+
|
|
5
|
+
test('Renders full <Breadcrumbs /> properly', () => {
|
|
10
6
|
render(
|
|
11
|
-
<div style={{ width:
|
|
7
|
+
<div style={{ width: '1000px' }}>
|
|
12
8
|
<ReqoreUIProvider>
|
|
13
9
|
<ReqoreLayoutContent>
|
|
14
10
|
<ReqoreBreadcrumbs
|
|
15
11
|
items={[
|
|
16
|
-
{ label:
|
|
17
|
-
{ label:
|
|
18
|
-
{ label:
|
|
19
|
-
{ label:
|
|
20
|
-
{ label:
|
|
12
|
+
{ label: 'Page 1', icon: 'Home3Line' },
|
|
13
|
+
{ label: 'Page 2', icon: 'Home3Line' },
|
|
14
|
+
{ label: 'Page 3', icon: 'Home3Line' },
|
|
15
|
+
{ label: 'Page 4', icon: 'Home3Line' },
|
|
16
|
+
{ label: 'Page 5', icon: 'Home3Line' },
|
|
21
17
|
]}
|
|
22
18
|
/>
|
|
23
19
|
</ReqoreLayoutContent>
|
|
@@ -25,13 +21,11 @@ test("Renders full <Breadcrumbs /> properly", () => {
|
|
|
25
21
|
</div>
|
|
26
22
|
);
|
|
27
23
|
|
|
28
|
-
expect(document.querySelectorAll(
|
|
29
|
-
|
|
30
|
-
);
|
|
31
|
-
expect(document.querySelectorAll(".reqore-breadcrumbs-item").length).toBe(5);
|
|
24
|
+
expect(document.querySelectorAll('.reqore-breadcrumbs-wrapper').length).toBe(1);
|
|
25
|
+
expect(document.querySelectorAll('.reqore-breadcrumbs-item').length).toBe(5);
|
|
32
26
|
});
|
|
33
27
|
|
|
34
|
-
test(
|
|
28
|
+
test('Renders shortened <Breadcrumbs /> properly', () => {
|
|
35
29
|
act(() => {
|
|
36
30
|
render(
|
|
37
31
|
<ReqoreUIProvider>
|
|
@@ -39,11 +33,11 @@ test("Renders shortened <Breadcrumbs /> properly", () => {
|
|
|
39
33
|
<ReqoreBreadcrumbs
|
|
40
34
|
_testWidth={300}
|
|
41
35
|
items={[
|
|
42
|
-
{ label:
|
|
43
|
-
{ label:
|
|
44
|
-
{ label:
|
|
45
|
-
{ label:
|
|
46
|
-
{ label:
|
|
36
|
+
{ label: 'Page 1', icon: 'Home3Line' },
|
|
37
|
+
{ label: 'Page 2', icon: 'Home3Line' },
|
|
38
|
+
{ label: 'Page 3', icon: 'Home3Line' },
|
|
39
|
+
{ label: 'Page 4', icon: 'Home3Line' },
|
|
40
|
+
{ label: 'Page 5', icon: 'Home3Line' },
|
|
47
41
|
]}
|
|
48
42
|
/>
|
|
49
43
|
</ReqoreLayoutContent>
|
|
@@ -51,8 +45,32 @@ test("Renders shortened <Breadcrumbs /> properly", () => {
|
|
|
51
45
|
);
|
|
52
46
|
});
|
|
53
47
|
|
|
54
|
-
expect(document.querySelectorAll(
|
|
55
|
-
|
|
48
|
+
expect(document.querySelectorAll('.reqore-breadcrumbs-wrapper').length).toBe(1);
|
|
49
|
+
expect(document.querySelectorAll('.reqore-breadcrumbs-item').length).toBe(2);
|
|
50
|
+
});
|
|
51
|
+
|
|
52
|
+
test('Tooltip on <Breadcrumbs /> works', () => {
|
|
53
|
+
jest.useFakeTimers();
|
|
54
|
+
|
|
55
|
+
render(
|
|
56
|
+
<ReqoreUIProvider>
|
|
57
|
+
<ReqoreBreadcrumbs
|
|
58
|
+
items={[
|
|
59
|
+
{ label: 'Page 1', icon: 'Home3Line' },
|
|
60
|
+
{ label: 'Page 2', icon: 'Home3Line', tooltip: 'Tooltip' },
|
|
61
|
+
{ label: 'Page 3', icon: 'Home3Line' },
|
|
62
|
+
{ label: 'Page 4', icon: 'Home3Line' },
|
|
63
|
+
{ label: 'Page 5', icon: 'Home3Line' },
|
|
64
|
+
]}
|
|
65
|
+
/>
|
|
66
|
+
</ReqoreUIProvider>
|
|
56
67
|
);
|
|
57
|
-
|
|
68
|
+
|
|
69
|
+
expect(document.querySelectorAll('.reqore-popover-content').length).toBe(0);
|
|
70
|
+
|
|
71
|
+
fireEvent.mouseEnter(document.querySelectorAll('.reqore-breadcrumbs-item')[1]);
|
|
72
|
+
|
|
73
|
+
jest.advanceTimersByTime(1);
|
|
74
|
+
|
|
75
|
+
expect(document.querySelectorAll('.reqore-popover-content').length).toBe(1);
|
|
58
76
|
});
|
|
@@ -169,3 +169,21 @@ test('Renders <Button /> with a Tag props badge', () => {
|
|
|
169
169
|
|
|
170
170
|
expect(document.querySelectorAll('.reqore-button-badge').length).toBe(1);
|
|
171
171
|
});
|
|
172
|
+
|
|
173
|
+
test('Tooltip on <Button /> works', () => {
|
|
174
|
+
jest.useFakeTimers();
|
|
175
|
+
|
|
176
|
+
render(
|
|
177
|
+
<ReqoreUIProvider>
|
|
178
|
+
<ReqoreButton tooltip='test'>Click</ReqoreButton>
|
|
179
|
+
</ReqoreUIProvider>
|
|
180
|
+
);
|
|
181
|
+
|
|
182
|
+
expect(document.querySelectorAll('.reqore-popover-content').length).toBe(0);
|
|
183
|
+
|
|
184
|
+
fireEvent.mouseEnter(document.querySelectorAll('.reqore-button')[0]);
|
|
185
|
+
|
|
186
|
+
jest.advanceTimersByTime(1);
|
|
187
|
+
|
|
188
|
+
expect(document.querySelectorAll('.reqore-popover-content').length).toBe(1);
|
|
189
|
+
});
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { render, screen } from '@testing-library/react';
|
|
1
|
+
import { fireEvent, render, screen } from '@testing-library/react';
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import { ReqoreCheckbox, ReqoreContent, ReqoreLayoutContent, ReqoreUIProvider } from '../src';
|
|
4
4
|
|
|
@@ -25,3 +25,21 @@ test('Renders <Checkbox /> properly', () => {
|
|
|
25
25
|
expect(screen.getByText('Yes')).toBeTruthy();
|
|
26
26
|
expect(screen.getByText('No')).toBeTruthy();
|
|
27
27
|
});
|
|
28
|
+
|
|
29
|
+
test('Tooltip on <Checkbox /> works', () => {
|
|
30
|
+
jest.useFakeTimers();
|
|
31
|
+
|
|
32
|
+
render(
|
|
33
|
+
<ReqoreUIProvider>
|
|
34
|
+
<ReqoreCheckbox label='With Text' asSwitch onText='Yes' offText='No' tooltip='test' />
|
|
35
|
+
</ReqoreUIProvider>
|
|
36
|
+
);
|
|
37
|
+
|
|
38
|
+
expect(document.querySelectorAll('.reqore-popover-content').length).toBe(0);
|
|
39
|
+
|
|
40
|
+
fireEvent.mouseEnter(document.querySelectorAll('.reqore-checkbox')[0]);
|
|
41
|
+
|
|
42
|
+
jest.advanceTimersByTime(1);
|
|
43
|
+
|
|
44
|
+
expect(document.querySelectorAll('.reqore-popover-content').length).toBe(1);
|
|
45
|
+
});
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import '@testing-library/jest-dom/extend-expect';
|
|
1
2
|
import { fireEvent, render } from '@testing-library/react';
|
|
2
3
|
import React from 'react';
|
|
3
4
|
import { ReqoreCollection, ReqoreLayoutContent, ReqoreUIProvider } from '../src';
|
|
@@ -17,10 +18,13 @@ test('Renders basic <Collection /> properly', () => {
|
|
|
17
18
|
});
|
|
18
19
|
|
|
19
20
|
test('<Collection /> items can be filtered', () => {
|
|
21
|
+
const fn = jest.fn();
|
|
22
|
+
jest.useFakeTimers();
|
|
23
|
+
|
|
20
24
|
render(
|
|
21
25
|
<ReqoreUIProvider>
|
|
22
26
|
<ReqoreLayoutContent>
|
|
23
|
-
<ReqoreCollection items={items} filterable />
|
|
27
|
+
<ReqoreCollection items={items} filterable onQueryChange={fn} />
|
|
24
28
|
</ReqoreLayoutContent>
|
|
25
29
|
</ReqoreUIProvider>
|
|
26
30
|
);
|
|
@@ -29,12 +33,19 @@ test('<Collection /> items can be filtered', () => {
|
|
|
29
33
|
target: { value: 'I have' },
|
|
30
34
|
});
|
|
31
35
|
|
|
36
|
+
expect(fn).not.toHaveBeenCalled();
|
|
37
|
+
|
|
38
|
+
jest.runAllTimers();
|
|
39
|
+
|
|
40
|
+
expect(fn).toHaveBeenCalledWith('I have');
|
|
32
41
|
expect(document.querySelectorAll('.reqore-collection-item').length).toBe(2);
|
|
33
42
|
|
|
34
43
|
fireEvent.change(document.querySelector('.reqore-input')!, {
|
|
35
44
|
target: { value: 'asg' },
|
|
36
45
|
});
|
|
37
46
|
|
|
47
|
+
jest.runAllTimers();
|
|
48
|
+
|
|
38
49
|
expect(document.querySelectorAll('.reqore-collection-item').length).toBe(0);
|
|
39
50
|
expect(document.querySelectorAll('.reqore-message').length).toBe(1);
|
|
40
51
|
|
|
@@ -42,6 +53,8 @@ test('<Collection /> items can be filtered', () => {
|
|
|
42
53
|
target: { value: 'secret' },
|
|
43
54
|
});
|
|
44
55
|
|
|
56
|
+
jest.runAllTimers();
|
|
57
|
+
|
|
45
58
|
expect(document.querySelectorAll('.reqore-collection-item').length).toBe(1);
|
|
46
59
|
expect(document.querySelectorAll('.reqore-message').length).toBe(0);
|
|
47
60
|
});
|
package/__tests__/icon.test.tsx
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { render } from '@testing-library/react';
|
|
1
|
+
import { fireEvent, render } from '@testing-library/react';
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import { ReqoreContent, ReqoreIcon, ReqoreLayoutContent, ReqoreUIProvider } from '../src';
|
|
4
4
|
|
|
@@ -33,3 +33,21 @@ test('Renders empty <Icon /> if icon does not exist', () => {
|
|
|
33
33
|
expect(document.querySelector('.reqore-icon').textContent).toBe('');
|
|
34
34
|
expect(document.querySelectorAll('svg').length).toBe(0);
|
|
35
35
|
});
|
|
36
|
+
|
|
37
|
+
test('Tooltip on <Icon /> works', () => {
|
|
38
|
+
jest.useFakeTimers();
|
|
39
|
+
|
|
40
|
+
render(
|
|
41
|
+
<ReqoreUIProvider>
|
|
42
|
+
<ReqoreIcon icon='24HoursLine' tooltip='test' />
|
|
43
|
+
</ReqoreUIProvider>
|
|
44
|
+
);
|
|
45
|
+
|
|
46
|
+
expect(document.querySelectorAll('.reqore-popover-content').length).toBe(0);
|
|
47
|
+
|
|
48
|
+
fireEvent.mouseEnter(document.querySelectorAll('.reqore-icon')[0]);
|
|
49
|
+
|
|
50
|
+
jest.advanceTimersByTime(1);
|
|
51
|
+
|
|
52
|
+
expect(document.querySelectorAll('.reqore-popover-content').length).toBe(1);
|
|
53
|
+
});
|