@qoretechnologies/reqore 0.31.2 → 0.32.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 (56) hide show
  1. package/__tests__/collection.test.tsx +5 -1
  2. package/__tests__/input.test.tsx +417 -24
  3. package/__tests__/multiselect.test.tsx +8 -10
  4. package/__tests__/textarea.test.tsx +405 -24
  5. package/dist/components/Button/index.d.ts.map +1 -1
  6. package/dist/components/Button/index.js +1 -1
  7. package/dist/components/Button/index.js.map +1 -1
  8. package/dist/components/Collection/index.d.ts +3 -2
  9. package/dist/components/Collection/index.d.ts.map +1 -1
  10. package/dist/components/Collection/index.js +6 -3
  11. package/dist/components/Collection/index.js.map +1 -1
  12. package/dist/components/ControlGroup/index.d.ts.map +1 -1
  13. package/dist/components/ControlGroup/index.js +17 -56
  14. package/dist/components/ControlGroup/index.js.map +1 -1
  15. package/dist/components/Icon/index.d.ts +2 -0
  16. package/dist/components/Icon/index.d.ts.map +1 -1
  17. package/dist/components/Icon/index.js +10 -5
  18. package/dist/components/Icon/index.js.map +1 -1
  19. package/dist/components/Input/index.d.ts +4 -0
  20. package/dist/components/Input/index.d.ts.map +1 -1
  21. package/dist/components/Input/index.js +18 -6
  22. package/dist/components/Input/index.js.map +1 -1
  23. package/dist/components/InputClearButton/index.d.ts +1 -0
  24. package/dist/components/InputClearButton/index.d.ts.map +1 -1
  25. package/dist/components/InputClearButton/index.js +18 -8
  26. package/dist/components/InputClearButton/index.js.map +1 -1
  27. package/dist/components/Panel/index.d.ts.map +1 -1
  28. package/dist/components/Panel/index.js +11 -6
  29. package/dist/components/Panel/index.js.map +1 -1
  30. package/dist/components/Textarea/index.d.ts +2 -0
  31. package/dist/components/Textarea/index.d.ts.map +1 -1
  32. package/dist/components/Textarea/index.js +4 -2
  33. package/dist/components/Textarea/index.js.map +1 -1
  34. package/dist/hooks/useAutoFocus.d.ts +11 -0
  35. package/dist/hooks/useAutoFocus.d.ts.map +1 -0
  36. package/dist/hooks/useAutoFocus.js +80 -0
  37. package/dist/hooks/useAutoFocus.js.map +1 -0
  38. package/dist/styles.d.ts.map +1 -1
  39. package/dist/styles.js +1 -1
  40. package/dist/styles.js.map +1 -1
  41. package/package.json +3 -1
  42. package/src/components/Button/index.tsx +1 -0
  43. package/src/components/Collection/index.tsx +12 -2
  44. package/src/components/ControlGroup/index.tsx +25 -86
  45. package/src/components/Icon/index.tsx +18 -4
  46. package/src/components/Input/index.tsx +38 -3
  47. package/src/components/InputClearButton/index.tsx +41 -17
  48. package/src/components/Panel/index.tsx +18 -8
  49. package/src/components/Textarea/index.tsx +15 -8
  50. package/src/hooks/useAutoFocus.ts +104 -0
  51. package/src/stories/Collection/Collection.stories.tsx +54 -10
  52. package/src/stories/Input/Input.stories.tsx +29 -6
  53. package/src/stories/Panel/Panel.stories.tsx +3 -2
  54. package/src/stories/TextArea/TextArea.stories.tsx +1 -0
  55. package/src/styles.ts +0 -1
  56. package/tests.json +1 -1
@@ -0,0 +1,104 @@
1
+ import { useCallback, useEffect, useRef } from 'react';
2
+ import { useUnmount, useUpdateEffect } from 'react-use';
3
+
4
+ export type TReqoreAutoFocusType = 'auto' | 'keypress';
5
+
6
+ export interface IReqoreAutoFocusRules {
7
+ type: TReqoreAutoFocusType;
8
+ viewportOnly?: boolean;
9
+ viewport?: HTMLElement;
10
+ viewportMargin?: string;
11
+ shortcut?: 'letters' | 'numbers' | string | ('letters' | 'numbers' | string)[];
12
+ clearOnFocus?: boolean;
13
+ }
14
+
15
+ export const useAutoFocus = (
16
+ element: HTMLInputElement | HTMLTextAreaElement,
17
+ rules?: IReqoreAutoFocusRules,
18
+ onChange?: (e: unknown) => void
19
+ ) => {
20
+ const isInViewport = useRef<boolean>(false);
21
+ const observer = useRef<IntersectionObserver>(null);
22
+
23
+ const focus = useCallback(() => {
24
+ if (!rules.viewportOnly || isInViewport.current) {
25
+ if (rules.clearOnFocus) {
26
+ onChange?.({ target: { value: '' } } as any);
27
+ }
28
+
29
+ element.setSelectionRange(-1, -1);
30
+ element.focus();
31
+ }
32
+ }, [element, rules, isInViewport.current]);
33
+
34
+ const handleKeyDown = (e: KeyboardEvent) => {
35
+ // Check if this event came from another html input
36
+ if (
37
+ e.target &&
38
+ ((e.target as HTMLElement).tagName === 'INPUT' ||
39
+ (e.target as HTMLElement).tagName === 'TEXTAREA')
40
+ ) {
41
+ return;
42
+ }
43
+
44
+ const shortcut = Array.isArray(rules?.shortcut) ? rules?.shortcut : [rules?.shortcut];
45
+
46
+ if (shortcut.includes('letters') && e.key.length === 1 && e.key.match(/[a-z]/i)) {
47
+ focus();
48
+ }
49
+
50
+ if (shortcut.includes('numbers') && e.key.length === 1 && e.key.match(/[0-9]/i)) {
51
+ focus();
52
+ }
53
+
54
+ if (shortcut.includes(e.key)) {
55
+ focus();
56
+ }
57
+ };
58
+
59
+ useUpdateEffect(() => {
60
+ if (element && rules) {
61
+ if (rules.viewportOnly) {
62
+ observer.current = new IntersectionObserver(
63
+ (entries: IntersectionObserverEntry[]) => {
64
+ entries.forEach((entry) => {
65
+ if (entry.isIntersecting) {
66
+ isInViewport.current = true;
67
+ } else {
68
+ isInViewport.current = false;
69
+ }
70
+ // If the focus type is auto, we focus the element now if its in the viewport
71
+ // and set the observer to null so it doesn't run again
72
+ if (rules.type === 'auto' && isInViewport.current) {
73
+ element.focus();
74
+ observer.current?.disconnect();
75
+ observer.current = null;
76
+ }
77
+ });
78
+ },
79
+ {
80
+ root: rules?.viewport,
81
+ rootMargin: rules?.viewportMargin,
82
+ threshold: 0.8,
83
+ }
84
+ );
85
+
86
+ observer.current.observe(element);
87
+ } else if (rules.type === 'auto') {
88
+ focus();
89
+ }
90
+ }
91
+ }, [element]);
92
+
93
+ useUnmount(() => {
94
+ observer.current?.disconnect();
95
+ });
96
+
97
+ useEffect(() => {
98
+ if (element && rules && rules.type === 'keypress') {
99
+ window.addEventListener('keydown', handleKeyDown);
100
+ }
101
+
102
+ return () => window.removeEventListener('keydown', handleKeyDown);
103
+ }, [element, rules]);
104
+ };
@@ -3,7 +3,8 @@ import { ReqoreButton, ReqoreControlGroup } from '../..';
3
3
  import { IReqoreCollectionProps, ReqoreCollection } from '../../components/Collection';
4
4
  import { IReqoreColumnsProps } from '../../components/Columns';
5
5
  import items from '../../mock/collectionData';
6
- import { IntentArg, SizeArg, argManager } from '../utils/args';
6
+ import data from '../../mock/data.json';
7
+ import { argManager, IntentArg, SizeArg } from '../utils/args';
7
8
 
8
9
  export interface IColumnsStoryArgs extends IReqoreColumnsProps {
9
10
  multipleColumns?: boolean;
@@ -58,7 +59,7 @@ export default {
58
59
  description: 'If true, the collection will fill the parent',
59
60
  }),
60
61
  ...createArg('label', {
61
- defaultValue: 'Collection of items',
62
+ defaultValue: undefined,
62
63
  type: 'string',
63
64
  name: 'Label',
64
65
  description: 'Label of the collection',
@@ -70,20 +71,17 @@ export default {
70
71
  } as Meta<IReqoreCollectionProps>;
71
72
 
72
73
  const Template: Story<IReqoreCollectionProps> = (args) => {
73
- return (
74
- <ReqoreCollection
75
- {...args}
76
- badge={10}
77
- selectedIcon='CheckLine'
78
- actions={[{ label: 'Custom action', icon: 'Home7Line' }, { actions: [{ value: 'Test' }] }]}
79
- />
80
- );
74
+ return <ReqoreCollection {...args} selectedIcon='CheckLine' />;
81
75
  };
82
76
 
83
77
  export const Basic = Template.bind({});
84
78
  Basic.args = {
85
79
  label: 'Config Items',
86
80
  items,
81
+ actions: [
82
+ { label: 'Custom action', icon: 'Home7Line', fixed: true },
83
+ { actions: [{ value: 'Test' }] },
84
+ ],
87
85
  };
88
86
 
89
87
  export const WithHeight = Template.bind({});
@@ -91,6 +89,10 @@ WithHeight.args = {
91
89
  label: 'Collection of items',
92
90
  height: '600px',
93
91
  items,
92
+ actions: [
93
+ { label: 'Custom action', icon: 'Home7Line', fixed: true },
94
+ { actions: [{ value: 'Test' }] },
95
+ ],
94
96
  };
95
97
 
96
98
  export const Stacked = Template.bind({});
@@ -98,6 +100,10 @@ Stacked.args = {
98
100
  label: 'Collection of items',
99
101
  stacked: true,
100
102
  items,
103
+ actions: [
104
+ { label: 'Custom action', icon: 'Home7Line', fixed: true },
105
+ { actions: [{ value: 'Test' }] },
106
+ ],
101
107
  };
102
108
 
103
109
  export const Fill = Template.bind({});
@@ -105,6 +111,10 @@ Fill.args = {
105
111
  label: 'Collection of items',
106
112
  fill: true,
107
113
  items,
114
+ actions: [
115
+ { label: 'Custom action', icon: 'Home7Line', fixed: true },
116
+ { actions: [{ value: 'Test' }] },
117
+ ],
108
118
  };
109
119
 
110
120
  export const SelectedFirst = Template.bind({});
@@ -157,3 +167,37 @@ ChildrenBeforeAndAfter.args = {
157
167
  </ReqoreControlGroup>
158
168
  ),
159
169
  };
170
+
171
+ export const FilteringSearchingPaging = Template.bind({});
172
+ FilteringSearchingPaging.args = {
173
+ inputProps: {
174
+ focusRules: {
175
+ type: 'keypress',
176
+ shortcut: 'letters',
177
+ clearOnFocus: true,
178
+ },
179
+ },
180
+ inputPlaceholder(items) {
181
+ return `Start typing to search in ${items.length} items`;
182
+ },
183
+ size: 'big',
184
+ padded: false,
185
+ fill: true,
186
+ items: data.slice(0, 100).map((datum) => ({
187
+ label: `${datum.firstName} ${datum.lastName}`,
188
+ badge: datum.id,
189
+ size: 'small',
190
+ expandable: true,
191
+ content: datum.address,
192
+ tags: [
193
+ {
194
+ labelKey: 'Age',
195
+ label: datum.age,
196
+ },
197
+ {
198
+ labelKey: 'Occupation',
199
+ label: datum.occupation,
200
+ },
201
+ ],
202
+ })),
203
+ } as IReqoreCollectionProps;
@@ -29,7 +29,13 @@ const Template: Story<IReqoreInputProps> = (args: IReqoreInputProps) => {
29
29
  <>
30
30
  <ReqoreControlGroup wrap>
31
31
  <ReqoreInput {...args} placeholder='Reqore Input' onChange={handleValueChange} />
32
- <ReqoreInput {...args} placeholder='Minimal Input' minimal onChange={handleValueChange} />
32
+ <ReqoreInput
33
+ {...args}
34
+ placeholder='Minimal Input'
35
+ minimal
36
+ onChange={handleValueChange}
37
+ rightIcon='ClipboardLine'
38
+ />
33
39
  <ReqoreInput
34
40
  {...args}
35
41
  placeholder='Flat Input'
@@ -44,11 +50,22 @@ const Template: Story<IReqoreInputProps> = (args: IReqoreInputProps) => {
44
50
  onClearClick={handleValueClear}
45
51
  onChange={handleValueChange}
46
52
  />
53
+ <ReqoreInput
54
+ {...args}
55
+ iconColor='pending:lighten:2'
56
+ placeholder='Clearable Input w/ icon'
57
+ onClearClick={handleValueClear}
58
+ onChange={handleValueChange}
59
+ rightIcon='EraserFill'
60
+ rightIconColor='#8727b7'
61
+ />
47
62
  <ReqoreInput {...args} placeholder='Disabled Input' disabled onChange={handleValueChange} />
48
63
  <ReqoreInput
49
64
  {...args}
50
65
  placeholder='Read Only Input'
51
66
  readOnly
67
+ rightIcon='Bus2Fill'
68
+ rightIconColor='info'
52
69
  onChange={handleValueChange}
53
70
  />
54
71
  </ReqoreControlGroup>
@@ -73,6 +90,8 @@ const Template: Story<IReqoreInputProps> = (args: IReqoreInputProps) => {
73
90
  flat
74
91
  tooltip="I'm a tooltip"
75
92
  onChange={handleValueChange}
93
+ rightIcon='DragMoveLine'
94
+ rightIconColor='#eb0e8c'
76
95
  value={value}
77
96
  />
78
97
  <ReqoreInput
@@ -84,18 +103,21 @@ const Template: Story<IReqoreInputProps> = (args: IReqoreInputProps) => {
84
103
  />
85
104
  <ReqoreInput
86
105
  {...args}
87
- placeholder='Disabled Input'
88
- disabled
89
- onChange={handleValueChange}
106
+ placeholder='Clearable Input w/ icon'
107
+ onClearClick={handleValueClear}
90
108
  value={value}
109
+ rightIcon='FilePptFill'
110
+ rightIconColor='#508a90'
111
+ onChange={handleValueChange}
91
112
  />
92
113
  <ReqoreInput
93
114
  {...args}
94
- placeholder='Read Only Input'
95
- readOnly
115
+ placeholder='Disabled Input'
116
+ disabled
96
117
  onChange={handleValueChange}
97
118
  value={value}
98
119
  />
120
+ <ReqoreInput {...args} placeholder='Read Only Input' readOnly value={value} />
99
121
  </ReqoreControlGroup>
100
122
  <br />
101
123
  <ReqoreControlGroup fluid>
@@ -104,6 +126,7 @@ const Template: Story<IReqoreInputProps> = (args: IReqoreInputProps) => {
104
126
  placeholder='Fluid Input'
105
127
  onChange={handleValueChange}
106
128
  value={value}
129
+ focusRules={{ type: 'keypress', shortcut: 'k' }}
107
130
  />
108
131
  </ReqoreControlGroup>
109
132
  </>
@@ -3,7 +3,7 @@ import { noop } from 'lodash';
3
3
  import ReqoreInput, { IReqoreInputProps } from '../../components/Input';
4
4
  import { IReqorePanelAction, IReqorePanelProps, ReqorePanel } from '../../components/Panel';
5
5
  import { ReqoreVerticalSpacer } from '../../components/Spacer';
6
- import { FlatArg, IconArg, IntentArg, SizeArg, argManager } from '../utils/args';
6
+ import { argManager, FlatArg, IconArg, IntentArg, SizeArg } from '../utils/args';
7
7
 
8
8
  const { createArg } = argManager<IReqorePanelProps>();
9
9
 
@@ -168,6 +168,7 @@ const Template: Story<IReqorePanelProps> = (args: IReqorePanelProps) => {
168
168
  {
169
169
  icon: 'FullscreenExitLine',
170
170
  customTheme: { main: '#a40a62' },
171
+ fixed: true,
171
172
  },
172
173
  ],
173
174
  },
@@ -199,7 +200,7 @@ const Template: Story<IReqorePanelProps> = (args: IReqorePanelProps) => {
199
200
  position: 'left',
200
201
  intent: 'success',
201
202
  group: [
202
- { label: 'Test 1', icon: '24HoursFill' },
203
+ { label: 'Test 1', icon: '24HoursFill', fixed: true },
203
204
  { label: 'Test 2', icon: '24HoursFill' },
204
205
  ],
205
206
  },
@@ -137,6 +137,7 @@ const Template: Story<IReqoreTextareaProps> = (args) => {
137
137
  onClearClick={handleValueClear}
138
138
  value={value}
139
139
  fluid
140
+ focusRules={{ type: 'keypress', shortcut: 'letters', clearOnFocus: true }}
140
141
  />
141
142
  </ReqoreControlGroup>
142
143
  </>
package/src/styles.ts CHANGED
@@ -51,6 +51,5 @@ export const DisabledElement = css`
51
51
  `;
52
52
 
53
53
  export const ReadOnlyElement = css`
54
- pointer-events: none;
55
54
  cursor: not-allowed;
56
55
  `;
package/tests.json CHANGED
@@ -1 +1 @@
1
- {"numFailedTestSuites":0,"numFailedTests":0,"numPassedTestSuites":27,"numPassedTests":132,"numPendingTestSuites":0,"numPendingTests":0,"numRuntimeErrorTestSuites":0,"numTodoTests":0,"numTotalTestSuites":27,"numTotalTests":132,"openHandles":[],"snapshot":{"added":0,"didUpdate":false,"failure":false,"filesAdded":0,"filesRemoved":0,"filesRemovedList":[],"filesUnmatched":0,"filesUpdated":0,"matched":0,"total":0,"unchecked":0,"uncheckedKeysByFile":[],"unmatched":0,"updated":0},"startTime":1676154472798,"success":true,"testResults":[{"assertionResults":[{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders empty <ReqoreMultiSelect />","location":null,"status":"passed","title":"Renders empty <ReqoreMultiSelect />"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders <ReqoreMultiSelect /> with default value","location":null,"status":"passed","title":"Renders <ReqoreMultiSelect /> with default value"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders <ReqoreMultiSelect /> with default value, items can be removed","location":null,"status":"passed","title":"Renders <ReqoreMultiSelect /> with default value, items can be removed"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders disabled <ReqoreMultiSelect /> when items are empty and items CANNOT be created","location":null,"status":"passed","title":"Renders disabled <ReqoreMultiSelect /> when items are empty and items CANNOT be created"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders empty <ReqoreMultiSelect /> when items are empty and items CAN be created","location":null,"status":"passed","title":"Renders empty <ReqoreMultiSelect /> when items are empty and items CAN be created"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders <ReqoreMultiSelect /> and selects / deselects items from the list","location":null,"status":"passed","title":"Renders <ReqoreMultiSelect /> and selects / deselects items from the list"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders <ReqoreMultiSelect /> and items can be searched, opens up the list","location":null,"status":"passed","title":"Renders <ReqoreMultiSelect /> and items can be searched, opens up the list"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders <ReqoreMultiSelect /> and items can be searched and created, opens up the list","location":null,"status":"passed","title":"Renders <ReqoreMultiSelect /> and items can be searched and created, opens up the list"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders <ReqoreMultiSelect /> and items can be searched and created using the ENTER key, opens up the list","location":null,"status":"passed","title":"Renders <ReqoreMultiSelect /> and items can be searched and created using the ENTER key, opens up the list"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders <ReqoreMultiSelect /> and does not create new item on ENTER when not focused","location":null,"status":"passed","title":"Renders <ReqoreMultiSelect /> and does not create new item on ENTER when not focused"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders <ReqoreMultiSelect /> and deselects an item using the ENTER key","location":null,"status":"passed","title":"Renders <ReqoreMultiSelect /> and deselects an item using the ENTER key"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders <ReqoreMultiSelect /> and calls onValueChange when value changes","location":null,"status":"passed","title":"Renders <ReqoreMultiSelect /> and calls onValueChange when value changes"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders <ReqoreMultiSelect /> and calls onItemClick when an item is clicked","location":null,"status":"passed","title":"Renders <ReqoreMultiSelect /> and calls onItemClick when an item is clicked"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders <ReqoreMultiSelect /> and calls onItemAdded when an item is added","location":null,"status":"passed","title":"Renders <ReqoreMultiSelect /> and calls onItemAdded when an item is added"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders <ReqoreMultiSelect /> and calls onItemRemoved when an item is removed","location":null,"status":"passed","title":"Renders <ReqoreMultiSelect /> and calls onItemRemoved when an item is removed"}],"endTime":1676154487865,"message":"","name":"/home/runner/work/reqore/reqore/__tests__/multiselect.test.tsx","startTime":1676154473227,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders full <Tabs /> properly","location":null,"status":"passed","title":"Renders full <Tabs /> properly"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders shortened <Tabs /> properly","location":null,"status":"passed","title":"Renders shortened <Tabs /> properly"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Can select hidden <Tabs /> when shortened","location":null,"status":"passed","title":"Can select hidden <Tabs /> when shortened"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Default active tab can be specified","location":null,"status":"passed","title":"Default active tab can be specified"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Changes tab and runs callback","location":null,"status":"passed","title":"Changes tab and runs callback"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Does not change tab and run callback when disabled","location":null,"status":"passed","title":"Does not change tab and run callback when disabled"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Does not change tab when mounted and active tab is set","location":null,"status":"passed","title":"Does not change tab when mounted and active tab is set"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Changes tab programatically and runs callback","location":null,"status":"passed","title":"Changes tab programatically and runs callback"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Closable tab can be closed if not disabled","location":null,"status":"passed","title":"Closable tab can be closed if not disabled"}],"endTime":1676154489824,"message":"","name":"/home/runner/work/reqore/reqore/__tests__/tabs.test.tsx","startTime":1676154487885,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders basic <Table /> properly","location":null,"status":"passed","title":"Renders basic <Table /> properly"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders <Table /> with grouped columns properly","location":null,"status":"passed","title":"Renders <Table /> with grouped columns properly"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders <Table /> with custom content","location":null,"status":"passed","title":"Renders <Table /> with custom content"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders <Table /> with predefined content","location":null,"status":"passed","title":"Renders <Table /> with predefined content"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Sorting on <Table /> works properly","location":null,"status":"passed","title":"Sorting on <Table /> works properly"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Rows on <Table /> can be selected","location":null,"status":"passed","title":"Rows on <Table /> can be selected"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Rows on <Table /> cannot be selected if _selectId is missing","location":null,"status":"passed","title":"Rows on <Table /> cannot be selected if _selectId is missing"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Rows on <Table /> are all selected/deselected when clicking on header","location":null,"status":"passed","title":"Rows on <Table /> are all selected/deselected when clicking on header"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Cells on <Table /> are interactive","location":null,"status":"passed","title":"Cells on <Table /> are interactive"}],"endTime":1676154493642,"message":"","name":"/home/runner/work/reqore/reqore/__tests__/table.test.tsx","startTime":1676154489840,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders <Dropdown /> properly","location":null,"status":"passed","title":"Renders <Dropdown /> properly"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders disabled <Dropdown /> when items are empty","location":null,"status":"passed","title":"Renders disabled <Dropdown /> when items are empty"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders disabled <Dropdown /> when items are not empty & disabled prop is true","location":null,"status":"passed","title":"Renders disabled <Dropdown /> when items are not empty & disabled prop is true"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders <Dropdown /> with custom component and custom handler","location":null,"status":"passed","title":"Renders <Dropdown /> with custom component and custom handler"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders <Dropdown /> is opened by default","location":null,"status":"passed","title":"Renders <Dropdown /> is opened by default"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders <Dropdown /> and calls a function on item click","location":null,"status":"passed","title":"Renders <Dropdown /> and calls a function on item click"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders filterable <Dropdown /> and filters items correctly","location":null,"status":"passed","title":"Renders filterable <Dropdown /> and filters items correctly"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders <Dropdown /> and updates its items when state changes","location":null,"status":"passed","title":"Renders <Dropdown /> and updates its items when state changes"}],"endTime":1676154495731,"message":"","name":"/home/runner/work/reqore/reqore/__tests__/dropdown.test.tsx","startTime":1676154493661,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"failureMessages":[],"fullName":"Shows popover on hover, hides on leave","location":null,"status":"passed","title":"Shows popover on hover, hides on leave"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Shows popover on click, hides only on click away","location":null,"status":"passed","title":"Shows popover on click, hides only on click away"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Shows custom content","location":null,"status":"passed","title":"Shows custom content"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Runs callback function","location":null,"status":"passed","title":"Runs callback function"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Shows the popover after a local delay, ignoring global delay","location":null,"status":"passed","title":"Shows the popover after a local delay, ignoring global delay"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Shows the popover after a global delay","location":null,"status":"passed","title":"Shows the popover after a global delay"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Shows the popover with blur","location":null,"status":"passed","title":"Shows the popover with blur"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Does not show the popover with delay if time not reached","location":null,"status":"passed","title":"Does not show the popover with delay if time not reached"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Shows the hoverStay popover after a delay and stays, ","location":null,"status":"passed","title":"Shows the hoverStay popover after a delay and stays, "},{"ancestorTitles":[],"failureMessages":[],"fullName":"Correctly passes popover data for non-opened popover","location":null,"status":"passed","title":"Correctly passes popover data for non-opened popover"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Correctly passes popover data for opened popover","location":null,"status":"passed","title":"Correctly passes popover data for opened popover"}],"endTime":1676154497229,"message":"","name":"/home/runner/work/reqore/reqore/__tests__/popover.test.tsx","startTime":1676154495743,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders basic <Panel /> properly","location":null,"status":"passed","title":"Renders basic <Panel /> properly"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders basic <Panel /> with title properly","location":null,"status":"passed","title":"Renders basic <Panel /> with title properly"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders basic <Panel /> that is collapsed by default and can be expanded","location":null,"status":"passed","title":"Renders basic <Panel /> that is collapsed by default and can be expanded"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders closable <Panel /> properly","location":null,"status":"passed","title":"Renders closable <Panel /> properly"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders <Panel /> with actions","location":null,"status":"passed","title":"Renders <Panel /> with actions"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders <Panel /> without actions group if all actins are not shown","location":null,"status":"passed","title":"Renders <Panel /> without actions group if all actins are not shown"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders <Panel /> without title & bottom actions if all actions are not shown, there is no icon, title & is not collapsible","location":null,"status":"passed","title":"Renders <Panel /> without title & bottom actions if all actions are not shown, there is no icon, title & is not collapsible"}],"endTime":1676154498309,"message":"","name":"/home/runner/work/reqore/reqore/__tests__/panel.test.tsx","startTime":1676154497240,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders sidebar","location":null,"status":"passed","title":"Renders sidebar"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Sidebar can be collapsed","location":null,"status":"passed","title":"Sidebar can be collapsed"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Can open submenu manually","location":null,"status":"passed","title":"Can open submenu manually"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Submenu opens automatically if path matches","location":null,"status":"passed","title":"Submenu opens automatically if path matches"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Bookmarks can be added and removed","location":null,"status":"passed","title":"Bookmarks can be added and removed"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Bookmarks clicks are not propagated through","location":null,"status":"passed","title":"Bookmarks clicks are not propagated through"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders item as <p> element with onClick","location":null,"status":"passed","title":"Renders item as <p> element with onClick"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders floating sidebar with item as <p> element with onClick, closes on item click","location":null,"status":"passed","title":"Renders floating sidebar with item as <p> element with onClick, closes on item click"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders custom item at the top","location":null,"status":"passed","title":"Renders custom item at the top"}],"endTime":1676154499608,"message":"","name":"/home/runner/work/reqore/reqore/__tests__/sidebar.test.tsx","startTime":1676154498321,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders basic <Modal /> properly","location":null,"status":"passed","title":"Renders basic <Modal /> properly"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Does not renders <Modal /> if its not open","location":null,"status":"passed","title":"Does not renders <Modal /> if its not open"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders <Modal /> with custom dimensions","location":null,"status":"passed","title":"Renders <Modal /> with custom dimensions"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders confirmation <Modal /> ","location":null,"status":"passed","title":"Renders confirmation <Modal /> "},{"ancestorTitles":[],"failureMessages":[],"fullName":"Always renders confirmation <Modal /> properly above a normal modal","location":null,"status":"passed","title":"Always renders confirmation <Modal /> properly above a normal modal"}],"endTime":1676154501173,"message":"","name":"/home/runner/work/reqore/reqore/__tests__/modal.test.tsx","startTime":1676154499619,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders <Button /> properly","location":null,"status":"passed","title":"Renders <Button /> properly"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders <Button /> with size properly","location":null,"status":"passed","title":"Renders <Button /> with size properly"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders <Button /> with icon properly","location":null,"status":"passed","title":"Renders <Button /> with icon properly"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders <Button /> with intent properly","location":null,"status":"passed","title":"Renders <Button /> with intent properly"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders <Button /> with right icon properly","location":null,"status":"passed","title":"Renders <Button /> with right icon properly"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders <Button /> with icon and right icon properly","location":null,"status":"passed","title":"Renders <Button /> with icon and right icon properly"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders <Button /> with onClick function","location":null,"status":"passed","title":"Renders <Button /> with onClick function"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders <Button /> with a 0 badge","location":null,"status":"passed","title":"Renders <Button /> with a 0 badge"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders <Button /> with a string badge","location":null,"status":"passed","title":"Renders <Button /> with a string badge"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders <Button /> with a Tag props badge","location":null,"status":"passed","title":"Renders <Button /> with a Tag props badge"}],"endTime":1676154502788,"message":"","name":"/home/runner/work/reqore/reqore/__tests__/button.test.tsx","startTime":1676154501188,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"failureMessages":[],"fullName":"Adds notifications and dismisses them automatically","location":null,"status":"passed","title":"Adds notifications and dismisses them automatically"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Adds a notification and updates it","location":null,"status":"passed","title":"Adds a notification and updates it"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Notification has a click event","location":null,"status":"passed","title":"Notification has a click event"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Notification has a close event","location":null,"status":"passed","title":"Notification has a close event"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Notification has a finish event","location":null,"status":"passed","title":"Notification has a finish event"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Maximum of 5 notifications is shown at once","location":null,"status":"passed","title":"Maximum of 5 notifications is shown at once"}],"endTime":1676154503865,"message":"","name":"/home/runner/work/reqore/reqore/__tests__/notifications.test.tsx","startTime":1676154502803,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders <Tag /> properly","location":null,"status":"passed","title":"Renders <Tag /> properly"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders <Tag /> group properly","location":null,"status":"passed","title":"Renders <Tag /> group properly"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders <Tag /> without remove button if disabled","location":null,"status":"passed","title":"Renders <Tag /> without remove button if disabled"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Fires onClick and onRemoveClick <Tag /> events","location":null,"status":"passed","title":"Fires onClick and onRemoveClick <Tag /> events"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders <Tag /> with the label key","location":null,"status":"passed","title":"Renders <Tag /> with the label key"}],"endTime":1676154505146,"message":"","name":"/home/runner/work/reqore/reqore/__tests__/tag.test.tsx","startTime":1676154503893,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"failureMessages":[],"fullName":"Does not render <Drawer /> if not open","location":null,"status":"passed","title":"Does not render <Drawer /> if not open"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders opened <Drawer /> properly","location":null,"status":"passed","title":"Renders opened <Drawer /> properly"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders hidable <Drawer /> properly","location":null,"status":"passed","title":"Renders hidable <Drawer /> properly"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders closable <Drawer /> properly","location":null,"status":"passed","title":"Renders closable <Drawer /> properly"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders <Drawer /> with interactive backdrop","location":null,"status":"passed","title":"Renders <Drawer /> with interactive backdrop"}],"endTime":1676154506128,"message":"","name":"/home/runner/work/reqore/reqore/__tests__/drawer.test.tsx","startTime":1676154505157,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders basic <Tree /> properly","location":null,"status":"passed","title":"Renders basic <Tree /> properly"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Shows textarea for <Tree /> properly","location":null,"status":"passed","title":"Shows textarea for <Tree /> properly"},{"ancestorTitles":[],"failureMessages":[],"fullName":"<Tree /> items can be expanded and collapsed","location":null,"status":"passed","title":"<Tree /> items can be expanded and collapsed"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Shows types for <Tree /> properly","location":null,"status":"passed","title":"Shows types for <Tree /> properly"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders <Tree /> with clickable items","location":null,"status":"passed","title":"Renders <Tree /> with clickable items"}],"endTime":1676154508013,"message":"","name":"/home/runner/work/reqore/reqore/__tests__/tree.test.tsx","startTime":1676154506144,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders basic <Collection /> properly","location":null,"status":"passed","title":"Renders basic <Collection /> properly"},{"ancestorTitles":[],"failureMessages":[],"fullName":"<Collection /> items can be filtered","location":null,"status":"passed","title":"<Collection /> items can be filtered"},{"ancestorTitles":[],"failureMessages":[],"fullName":"<Collection /> shows no data message when empty","location":null,"status":"passed","title":"<Collection /> shows no data message when empty"},{"ancestorTitles":[],"failureMessages":[],"fullName":"<Collection /> can be sorted","location":null,"status":"passed","title":"<Collection /> can be sorted"}],"endTime":1676154510326,"message":"","name":"/home/runner/work/reqore/reqore/__tests__/collection.test.tsx","startTime":1676154508023,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders <Menu /> properly","location":null,"status":"passed","title":"Renders <Menu /> properly"},{"ancestorTitles":[],"failureMessages":[],"fullName":"<Menu /> item can be clicked","location":null,"status":"passed","title":"<Menu /> item can be clicked"},{"ancestorTitles":[],"failureMessages":[],"fullName":"<Menu /> item has right clickable button","location":null,"status":"passed","title":"<Menu /> item has right clickable button"}],"endTime":1676154511188,"message":"","name":"/home/runner/work/reqore/reqore/__tests__/menu.test.tsx","startTime":1676154510336,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders <Input /> properly","location":null,"status":"passed","title":"Renders <Input /> properly"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders <Input /> with clear button properly","location":null,"status":"passed","title":"Renders <Input /> with clear button properly"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Disabled <Input /> cannot be cleared","location":null,"status":"passed","title":"Disabled <Input /> cannot be cleared"}],"endTime":1676154512362,"message":"","name":"/home/runner/work/reqore/reqore/__tests__/input.test.tsx","startTime":1676154511197,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders full <Breadcrumbs /> properly","location":null,"status":"passed","title":"Renders full <Breadcrumbs /> properly"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders shortened <Breadcrumbs /> properly","location":null,"status":"passed","title":"Renders shortened <Breadcrumbs /> properly"}],"endTime":1676154513100,"message":"","name":"/home/runner/work/reqore/reqore/__tests__/breadcrumbs.test.tsx","startTime":1676154512373,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders <ReqoreEffect /> properly","location":null,"status":"passed","title":"Renders <ReqoreEffect /> properly"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders <ReqoreTextEffect /> properly","location":null,"status":"passed","title":"Renders <ReqoreTextEffect /> properly"}],"endTime":1676154513774,"message":"","name":"/home/runner/work/reqore/reqore/__tests__/effect.test.tsx","startTime":1676154513118,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders <TextArea /> properly","location":null,"status":"passed","title":"Renders <TextArea /> properly"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders <TextArea /> with clear button properly","location":null,"status":"passed","title":"Renders <TextArea /> with clear button properly"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Disabled <TextArea /> cannot be cleared","location":null,"status":"passed","title":"Disabled <TextArea /> cannot be cleared"}],"endTime":1676154514530,"message":"","name":"/home/runner/work/reqore/reqore/__tests__/textarea.test.tsx","startTime":1676154513791,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders <Message /> properly","location":null,"status":"passed","title":"Renders <Message /> properly"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Runs onFinish on message after duration","location":null,"status":"passed","title":"Runs onFinish on message after duration"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Runs onClose when closed","location":null,"status":"passed","title":"Runs onClose when closed"}],"endTime":1676154515607,"message":"","name":"/home/runner/work/reqore/reqore/__tests__/messages.test.tsx","startTime":1676154514539,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders <Checkbox /> properly","location":null,"status":"passed","title":"Renders <Checkbox /> properly"}],"endTime":1676154516269,"message":"","name":"/home/runner/work/reqore/reqore/__tests__/radiogroup.test.tsx","startTime":1676154515616,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders Layout properly","location":null,"status":"passed","title":"Renders Layout properly"}],"endTime":1676154516924,"message":"","name":"/home/runner/work/reqore/reqore/__tests__/layout.test.tsx","startTime":1676154516286,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders <Icon /> properly","location":null,"status":"passed","title":"Renders <Icon /> properly"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders empty <Icon /> if icon does not exist","location":null,"status":"passed","title":"Renders empty <Icon /> if icon does not exist"}],"endTime":1676154517871,"message":"","name":"/home/runner/work/reqore/reqore/__tests__/icon.test.tsx","startTime":1676154516933,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders <Checkbox /> properly","location":null,"status":"passed","title":"Renders <Checkbox /> properly"}],"endTime":1676154518594,"message":"","name":"/home/runner/work/reqore/reqore/__tests__/checkbox.test.tsx","startTime":1676154517885,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders Navbar properly","location":null,"status":"passed","title":"Renders Navbar properly"}],"endTime":1676154519210,"message":"","name":"/home/runner/work/reqore/reqore/__tests__/navbar.test.tsx","startTime":1676154518603,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders <ControlGroup /> properly","location":null,"status":"passed","title":"Renders <ControlGroup /> properly"}],"endTime":1676154520248,"message":"","name":"/home/runner/work/reqore/reqore/__tests__/control_group.test.tsx","startTime":1676154519218,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders <TimeAgo /> data properly","location":null,"status":"passed","title":"Renders <TimeAgo /> data properly"}],"endTime":1676154521167,"message":"","name":"/home/runner/work/reqore/reqore/__tests__/timeAgo.test.tsx","startTime":1676154520257,"status":"passed","summary":""}],"wasInterrupted":false}
1
+ {"numFailedTestSuites":0,"numFailedTests":0,"numPassedTestSuites":27,"numPassedTests":170,"numPendingTestSuites":0,"numPendingTests":0,"numRuntimeErrorTestSuites":0,"numTodoTests":0,"numTotalTestSuites":27,"numTotalTests":170,"openHandles":[],"snapshot":{"added":0,"didUpdate":false,"failure":false,"filesAdded":0,"filesRemoved":0,"filesRemovedList":[],"filesUnmatched":0,"filesUpdated":0,"matched":0,"total":0,"unchecked":0,"uncheckedKeysByFile":[],"unmatched":0,"updated":0},"startTime":1676383992590,"success":true,"testResults":[{"assertionResults":[{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders empty <ReqoreMultiSelect />","location":null,"status":"passed","title":"Renders empty <ReqoreMultiSelect />"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders <ReqoreMultiSelect /> with default value","location":null,"status":"passed","title":"Renders <ReqoreMultiSelect /> with default value"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders <ReqoreMultiSelect /> with default value, items can be removed","location":null,"status":"passed","title":"Renders <ReqoreMultiSelect /> with default value, items can be removed"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders disabled <ReqoreMultiSelect /> when items are empty and items CANNOT be created","location":null,"status":"passed","title":"Renders disabled <ReqoreMultiSelect /> when items are empty and items CANNOT be created"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders empty <ReqoreMultiSelect /> when items are empty and items CAN be created","location":null,"status":"passed","title":"Renders empty <ReqoreMultiSelect /> when items are empty and items CAN be created"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders <ReqoreMultiSelect /> and selects / deselects items from the list","location":null,"status":"passed","title":"Renders <ReqoreMultiSelect /> and selects / deselects items from the list"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders <ReqoreMultiSelect /> and items can be searched, opens up the list","location":null,"status":"passed","title":"Renders <ReqoreMultiSelect /> and items can be searched, opens up the list"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders <ReqoreMultiSelect /> and items can be searched and created, opens up the list","location":null,"status":"passed","title":"Renders <ReqoreMultiSelect /> and items can be searched and created, opens up the list"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders <ReqoreMultiSelect /> and items can be searched and created using the ENTER key, opens up the list","location":null,"status":"passed","title":"Renders <ReqoreMultiSelect /> and items can be searched and created using the ENTER key, opens up the list"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders <ReqoreMultiSelect /> and does not create new item on ENTER when not focused","location":null,"status":"passed","title":"Renders <ReqoreMultiSelect /> and does not create new item on ENTER when not focused"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders <ReqoreMultiSelect /> and deselects an item using the ENTER key","location":null,"status":"passed","title":"Renders <ReqoreMultiSelect /> and deselects an item using the ENTER key"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders <ReqoreMultiSelect /> and calls onValueChange when value changes","location":null,"status":"passed","title":"Renders <ReqoreMultiSelect /> and calls onValueChange when value changes"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders <ReqoreMultiSelect /> and calls onItemClick when an item is clicked","location":null,"status":"passed","title":"Renders <ReqoreMultiSelect /> and calls onItemClick when an item is clicked"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders <ReqoreMultiSelect /> and calls onItemAdded when an item is added","location":null,"status":"passed","title":"Renders <ReqoreMultiSelect /> and calls onItemAdded when an item is added"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders <ReqoreMultiSelect /> and calls onItemRemoved when an item is removed","location":null,"status":"passed","title":"Renders <ReqoreMultiSelect /> and calls onItemRemoved when an item is removed"}],"endTime":1676384014887,"message":"","name":"/home/runner/work/reqore/reqore/__tests__/multiselect.test.tsx","startTime":1676383993254,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders <Input /> properly","location":null,"status":"passed","title":"Renders <Input /> properly"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders <Input /> with clear button properly","location":null,"status":"passed","title":"Renders <Input /> with clear button properly"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Disabled <Input /> cannot be cleared","location":null,"status":"passed","title":"Disabled <Input /> cannot be cleared"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Readonly <Input /> cannot be cleared","location":null,"status":"passed","title":"Readonly <Input /> cannot be cleared"},{"ancestorTitles":[],"failureMessages":[],"fullName":"<Input /> gets automatically focused","location":null,"status":"passed","title":"<Input /> gets automatically focused"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Readonly <Input /> does not get automatically focused","location":null,"status":"passed","title":"Readonly <Input /> does not get automatically focused"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Disabled <Input /> does not get automatically focused","location":null,"status":"passed","title":"Disabled <Input /> does not get automatically focused"},{"ancestorTitles":[],"failureMessages":[],"fullName":"<Input /> gets automatically focused if it's out of viewport","location":null,"status":"passed","title":"<Input /> gets automatically focused if it's out of viewport"},{"ancestorTitles":[],"failureMessages":[],"fullName":"<Input /> does not get automatically focused if it's out of viewport","location":null,"status":"passed","title":"<Input /> does not get automatically focused if it's out of viewport"},{"ancestorTitles":[],"failureMessages":[],"fullName":"<Input /> gets automatically focused if its inside of viewport","location":null,"status":"passed","title":"<Input /> gets automatically focused if its inside of viewport"},{"ancestorTitles":[],"failureMessages":[],"fullName":"<Input /> gets focused after any letter is pressed","location":null,"status":"passed","title":"<Input /> gets focused after any letter is pressed"},{"ancestorTitles":[],"failureMessages":[],"fullName":"<Input /> gets focused after any letter is pressed 2","location":null,"status":"passed","title":"<Input /> gets focused after any letter is pressed 2"},{"ancestorTitles":[],"failureMessages":[],"fullName":"<Input /> gets focused after any digit is pressed","location":null,"status":"passed","title":"<Input /> gets focused after any digit is pressed"},{"ancestorTitles":[],"failureMessages":[],"fullName":"<Input /> gets focused after any digit is pressed 2","location":null,"status":"passed","title":"<Input /> gets focused after any digit is pressed 2"},{"ancestorTitles":[],"failureMessages":[],"fullName":"<Input /> gets focused after any digit or letter is pressed","location":null,"status":"passed","title":"<Input /> gets focused after any digit or letter is pressed"},{"ancestorTitles":[],"failureMessages":[],"fullName":"<Input /> gets focused after any digit or letter is pressed 2","location":null,"status":"passed","title":"<Input /> gets focused after any digit or letter is pressed 2"},{"ancestorTitles":[],"failureMessages":[],"fullName":"<Input /> gets focused after a specified shortcut is pressed","location":null,"status":"passed","title":"<Input /> gets focused after a specified shortcut is pressed"},{"ancestorTitles":[],"failureMessages":[],"fullName":"<Input /> does not get focused after a specified shortcut is pressed if it's not in Viewport, get's focused when in viewport","location":null,"status":"passed","title":"<Input /> does not get focused after a specified shortcut is pressed if it's not in Viewport, get's focused when in viewport"},{"ancestorTitles":[],"failureMessages":[],"fullName":"<Input /> does not get focused when typing in another input","location":null,"status":"passed","title":"<Input /> does not get focused when typing in another input"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Readonly <Input /> does not get focused when shortcut is pressed","location":null,"status":"passed","title":"Readonly <Input /> does not get focused when shortcut is pressed"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Disabled <Input /> does not get focused when shortcut is pressed","location":null,"status":"passed","title":"Disabled <Input /> does not get focused when shortcut is pressed"},{"ancestorTitles":[],"failureMessages":[],"fullName":"<Input /> is cleared when focused","location":null,"status":"passed","title":"<Input /> is cleared when focused"}],"endTime":1676384018041,"message":"","name":"/home/runner/work/reqore/reqore/__tests__/input.test.tsx","startTime":1676384014955,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders <TextArea /> properly","location":null,"status":"passed","title":"Renders <TextArea /> properly"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders <TextArea /> with clear button properly","location":null,"status":"passed","title":"Renders <TextArea /> with clear button properly"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Disabled <TextArea /> cannot be cleared","location":null,"status":"passed","title":"Disabled <TextArea /> cannot be cleared"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Readonly <Textarea /> cannot be cleared","location":null,"status":"passed","title":"Readonly <Textarea /> cannot be cleared"},{"ancestorTitles":[],"failureMessages":[],"fullName":"<Textarea /> gets automatically focused","location":null,"status":"passed","title":"<Textarea /> gets automatically focused"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Readonly <Textarea /> does not get automatically focused","location":null,"status":"passed","title":"Readonly <Textarea /> does not get automatically focused"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Disabled <Textarea /> does not get automatically focused","location":null,"status":"passed","title":"Disabled <Textarea /> does not get automatically focused"},{"ancestorTitles":[],"failureMessages":[],"fullName":"<Textarea /> gets automatically focused if it's out of viewport","location":null,"status":"passed","title":"<Textarea /> gets automatically focused if it's out of viewport"},{"ancestorTitles":[],"failureMessages":[],"fullName":"<Textarea /> does not get automatically focused if it's out of viewport","location":null,"status":"passed","title":"<Textarea /> does not get automatically focused if it's out of viewport"},{"ancestorTitles":[],"failureMessages":[],"fullName":"<Textarea /> gets automatically focused if its inside of viewport","location":null,"status":"passed","title":"<Textarea /> gets automatically focused if its inside of viewport"},{"ancestorTitles":[],"failureMessages":[],"fullName":"<Textarea /> gets focused after any letter is pressed","location":null,"status":"passed","title":"<Textarea /> gets focused after any letter is pressed"},{"ancestorTitles":[],"failureMessages":[],"fullName":"<Textarea /> gets focused after any letter is pressed 2","location":null,"status":"passed","title":"<Textarea /> gets focused after any letter is pressed 2"},{"ancestorTitles":[],"failureMessages":[],"fullName":"<Textarea /> gets focused after any digit is pressed","location":null,"status":"passed","title":"<Textarea /> gets focused after any digit is pressed"},{"ancestorTitles":[],"failureMessages":[],"fullName":"<Textarea /> gets focused after any digit is pressed 2","location":null,"status":"passed","title":"<Textarea /> gets focused after any digit is pressed 2"},{"ancestorTitles":[],"failureMessages":[],"fullName":"<Textarea /> gets focused after any digit or letter is pressed","location":null,"status":"passed","title":"<Textarea /> gets focused after any digit or letter is pressed"},{"ancestorTitles":[],"failureMessages":[],"fullName":"<Textarea /> gets focused after any digit or letter is pressed 2","location":null,"status":"passed","title":"<Textarea /> gets focused after any digit or letter is pressed 2"},{"ancestorTitles":[],"failureMessages":[],"fullName":"<Textarea /> gets focused after a specified shortcut is pressed","location":null,"status":"passed","title":"<Textarea /> gets focused after a specified shortcut is pressed"},{"ancestorTitles":[],"failureMessages":[],"fullName":"<Textarea /> does not get focused after a specified shortcut is pressed if it's not in Viewport, get's focused when in viewport","location":null,"status":"passed","title":"<Textarea /> does not get focused after a specified shortcut is pressed if it's not in Viewport, get's focused when in viewport"},{"ancestorTitles":[],"failureMessages":[],"fullName":"<Textarea /> does not get focused when typing in another input","location":null,"status":"passed","title":"<Textarea /> does not get focused when typing in another input"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Readonly <Textarea /> does not get focused when shortcut is pressed","location":null,"status":"passed","title":"Readonly <Textarea /> does not get focused when shortcut is pressed"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Disabled <Textarea /> does not get focused when shortcut is pressed","location":null,"status":"passed","title":"Disabled <Textarea /> does not get focused when shortcut is pressed"},{"ancestorTitles":[],"failureMessages":[],"fullName":"<Textarea /> is cleared when focused","location":null,"status":"passed","title":"<Textarea /> is cleared when focused"}],"endTime":1676384020602,"message":"","name":"/home/runner/work/reqore/reqore/__tests__/textarea.test.tsx","startTime":1676384018076,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders full <Tabs /> properly","location":null,"status":"passed","title":"Renders full <Tabs /> properly"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders shortened <Tabs /> properly","location":null,"status":"passed","title":"Renders shortened <Tabs /> properly"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Can select hidden <Tabs /> when shortened","location":null,"status":"passed","title":"Can select hidden <Tabs /> when shortened"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Default active tab can be specified","location":null,"status":"passed","title":"Default active tab can be specified"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Changes tab and runs callback","location":null,"status":"passed","title":"Changes tab and runs callback"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Does not change tab and run callback when disabled","location":null,"status":"passed","title":"Does not change tab and run callback when disabled"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Does not change tab when mounted and active tab is set","location":null,"status":"passed","title":"Does not change tab when mounted and active tab is set"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Changes tab programatically and runs callback","location":null,"status":"passed","title":"Changes tab programatically and runs callback"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Closable tab can be closed if not disabled","location":null,"status":"passed","title":"Closable tab can be closed if not disabled"}],"endTime":1676384023346,"message":"","name":"/home/runner/work/reqore/reqore/__tests__/tabs.test.tsx","startTime":1676384020623,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders basic <Table /> properly","location":null,"status":"passed","title":"Renders basic <Table /> properly"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders <Table /> with grouped columns properly","location":null,"status":"passed","title":"Renders <Table /> with grouped columns properly"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders <Table /> with custom content","location":null,"status":"passed","title":"Renders <Table /> with custom content"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders <Table /> with predefined content","location":null,"status":"passed","title":"Renders <Table /> with predefined content"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Sorting on <Table /> works properly","location":null,"status":"passed","title":"Sorting on <Table /> works properly"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Rows on <Table /> can be selected","location":null,"status":"passed","title":"Rows on <Table /> can be selected"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Rows on <Table /> cannot be selected if _selectId is missing","location":null,"status":"passed","title":"Rows on <Table /> cannot be selected if _selectId is missing"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Rows on <Table /> are all selected/deselected when clicking on header","location":null,"status":"passed","title":"Rows on <Table /> are all selected/deselected when clicking on header"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Cells on <Table /> are interactive","location":null,"status":"passed","title":"Cells on <Table /> are interactive"}],"endTime":1676384029286,"message":"","name":"/home/runner/work/reqore/reqore/__tests__/table.test.tsx","startTime":1676384023365,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders <Dropdown /> properly","location":null,"status":"passed","title":"Renders <Dropdown /> properly"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders disabled <Dropdown /> when items are empty","location":null,"status":"passed","title":"Renders disabled <Dropdown /> when items are empty"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders disabled <Dropdown /> when items are not empty & disabled prop is true","location":null,"status":"passed","title":"Renders disabled <Dropdown /> when items are not empty & disabled prop is true"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders <Dropdown /> with custom component and custom handler","location":null,"status":"passed","title":"Renders <Dropdown /> with custom component and custom handler"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders <Dropdown /> is opened by default","location":null,"status":"passed","title":"Renders <Dropdown /> is opened by default"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders <Dropdown /> and calls a function on item click","location":null,"status":"passed","title":"Renders <Dropdown /> and calls a function on item click"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders filterable <Dropdown /> and filters items correctly","location":null,"status":"passed","title":"Renders filterable <Dropdown /> and filters items correctly"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders <Dropdown /> and updates its items when state changes","location":null,"status":"passed","title":"Renders <Dropdown /> and updates its items when state changes"}],"endTime":1676384032403,"message":"","name":"/home/runner/work/reqore/reqore/__tests__/dropdown.test.tsx","startTime":1676384029302,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"failureMessages":[],"fullName":"Shows popover on hover, hides on leave","location":null,"status":"passed","title":"Shows popover on hover, hides on leave"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Shows popover on click, hides only on click away","location":null,"status":"passed","title":"Shows popover on click, hides only on click away"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Shows custom content","location":null,"status":"passed","title":"Shows custom content"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Runs callback function","location":null,"status":"passed","title":"Runs callback function"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Shows the popover after a local delay, ignoring global delay","location":null,"status":"passed","title":"Shows the popover after a local delay, ignoring global delay"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Shows the popover after a global delay","location":null,"status":"passed","title":"Shows the popover after a global delay"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Shows the popover with blur","location":null,"status":"passed","title":"Shows the popover with blur"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Does not show the popover with delay if time not reached","location":null,"status":"passed","title":"Does not show the popover with delay if time not reached"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Shows the hoverStay popover after a delay and stays, ","location":null,"status":"passed","title":"Shows the hoverStay popover after a delay and stays, "},{"ancestorTitles":[],"failureMessages":[],"fullName":"Correctly passes popover data for non-opened popover","location":null,"status":"passed","title":"Correctly passes popover data for non-opened popover"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Correctly passes popover data for opened popover","location":null,"status":"passed","title":"Correctly passes popover data for opened popover"}],"endTime":1676384034967,"message":"","name":"/home/runner/work/reqore/reqore/__tests__/popover.test.tsx","startTime":1676384032421,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders basic <Panel /> properly","location":null,"status":"passed","title":"Renders basic <Panel /> properly"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders basic <Panel /> with title properly","location":null,"status":"passed","title":"Renders basic <Panel /> with title properly"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders basic <Panel /> that is collapsed by default and can be expanded","location":null,"status":"passed","title":"Renders basic <Panel /> that is collapsed by default and can be expanded"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders closable <Panel /> properly","location":null,"status":"passed","title":"Renders closable <Panel /> properly"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders <Panel /> with actions","location":null,"status":"passed","title":"Renders <Panel /> with actions"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders <Panel /> without actions group if all actins are not shown","location":null,"status":"passed","title":"Renders <Panel /> without actions group if all actins are not shown"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders <Panel /> without title & bottom actions if all actions are not shown, there is no icon, title & is not collapsible","location":null,"status":"passed","title":"Renders <Panel /> without title & bottom actions if all actions are not shown, there is no icon, title & is not collapsible"}],"endTime":1676384036733,"message":"","name":"/home/runner/work/reqore/reqore/__tests__/panel.test.tsx","startTime":1676384034985,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders sidebar","location":null,"status":"passed","title":"Renders sidebar"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Sidebar can be collapsed","location":null,"status":"passed","title":"Sidebar can be collapsed"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Can open submenu manually","location":null,"status":"passed","title":"Can open submenu manually"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Submenu opens automatically if path matches","location":null,"status":"passed","title":"Submenu opens automatically if path matches"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Bookmarks can be added and removed","location":null,"status":"passed","title":"Bookmarks can be added and removed"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Bookmarks clicks are not propagated through","location":null,"status":"passed","title":"Bookmarks clicks are not propagated through"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders item as <p> element with onClick","location":null,"status":"passed","title":"Renders item as <p> element with onClick"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders floating sidebar with item as <p> element with onClick, closes on item click","location":null,"status":"passed","title":"Renders floating sidebar with item as <p> element with onClick, closes on item click"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders custom item at the top","location":null,"status":"passed","title":"Renders custom item at the top"}],"endTime":1676384038718,"message":"","name":"/home/runner/work/reqore/reqore/__tests__/sidebar.test.tsx","startTime":1676384036753,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders basic <Modal /> properly","location":null,"status":"passed","title":"Renders basic <Modal /> properly"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Does not renders <Modal /> if its not open","location":null,"status":"passed","title":"Does not renders <Modal /> if its not open"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders <Modal /> with custom dimensions","location":null,"status":"passed","title":"Renders <Modal /> with custom dimensions"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders confirmation <Modal /> ","location":null,"status":"passed","title":"Renders confirmation <Modal /> "},{"ancestorTitles":[],"failureMessages":[],"fullName":"Always renders confirmation <Modal /> properly above a normal modal","location":null,"status":"passed","title":"Always renders confirmation <Modal /> properly above a normal modal"}],"endTime":1676384040976,"message":"","name":"/home/runner/work/reqore/reqore/__tests__/modal.test.tsx","startTime":1676384038739,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders <Button /> properly","location":null,"status":"passed","title":"Renders <Button /> properly"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders <Button /> with size properly","location":null,"status":"passed","title":"Renders <Button /> with size properly"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders <Button /> with icon properly","location":null,"status":"passed","title":"Renders <Button /> with icon properly"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders <Button /> with intent properly","location":null,"status":"passed","title":"Renders <Button /> with intent properly"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders <Button /> with right icon properly","location":null,"status":"passed","title":"Renders <Button /> with right icon properly"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders <Button /> with icon and right icon properly","location":null,"status":"passed","title":"Renders <Button /> with icon and right icon properly"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders <Button /> with onClick function","location":null,"status":"passed","title":"Renders <Button /> with onClick function"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders <Button /> with a 0 badge","location":null,"status":"passed","title":"Renders <Button /> with a 0 badge"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders <Button /> with a string badge","location":null,"status":"passed","title":"Renders <Button /> with a string badge"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders <Button /> with a Tag props badge","location":null,"status":"passed","title":"Renders <Button /> with a Tag props badge"}],"endTime":1676384043371,"message":"","name":"/home/runner/work/reqore/reqore/__tests__/button.test.tsx","startTime":1676384040993,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"failureMessages":[],"fullName":"Adds notifications and dismisses them automatically","location":null,"status":"passed","title":"Adds notifications and dismisses them automatically"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Adds a notification and updates it","location":null,"status":"passed","title":"Adds a notification and updates it"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Notification has a click event","location":null,"status":"passed","title":"Notification has a click event"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Notification has a close event","location":null,"status":"passed","title":"Notification has a close event"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Notification has a finish event","location":null,"status":"passed","title":"Notification has a finish event"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Maximum of 5 notifications is shown at once","location":null,"status":"passed","title":"Maximum of 5 notifications is shown at once"}],"endTime":1676384045017,"message":"","name":"/home/runner/work/reqore/reqore/__tests__/notifications.test.tsx","startTime":1676384043405,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders <Tag /> properly","location":null,"status":"passed","title":"Renders <Tag /> properly"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders <Tag /> group properly","location":null,"status":"passed","title":"Renders <Tag /> group properly"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders <Tag /> without remove button if disabled","location":null,"status":"passed","title":"Renders <Tag /> without remove button if disabled"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Fires onClick and onRemoveClick <Tag /> events","location":null,"status":"passed","title":"Fires onClick and onRemoveClick <Tag /> events"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders <Tag /> with the label key","location":null,"status":"passed","title":"Renders <Tag /> with the label key"}],"endTime":1676384046924,"message":"","name":"/home/runner/work/reqore/reqore/__tests__/tag.test.tsx","startTime":1676384045050,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"failureMessages":[],"fullName":"Does not render <Drawer /> if not open","location":null,"status":"passed","title":"Does not render <Drawer /> if not open"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders opened <Drawer /> properly","location":null,"status":"passed","title":"Renders opened <Drawer /> properly"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders hidable <Drawer /> properly","location":null,"status":"passed","title":"Renders hidable <Drawer /> properly"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders closable <Drawer /> properly","location":null,"status":"passed","title":"Renders closable <Drawer /> properly"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders <Drawer /> with interactive backdrop","location":null,"status":"passed","title":"Renders <Drawer /> with interactive backdrop"}],"endTime":1676384048298,"message":"","name":"/home/runner/work/reqore/reqore/__tests__/drawer.test.tsx","startTime":1676384046940,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders basic <Tree /> properly","location":null,"status":"passed","title":"Renders basic <Tree /> properly"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Shows textarea for <Tree /> properly","location":null,"status":"passed","title":"Shows textarea for <Tree /> properly"},{"ancestorTitles":[],"failureMessages":[],"fullName":"<Tree /> items can be expanded and collapsed","location":null,"status":"passed","title":"<Tree /> items can be expanded and collapsed"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Shows types for <Tree /> properly","location":null,"status":"passed","title":"Shows types for <Tree /> properly"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders <Tree /> with clickable items","location":null,"status":"passed","title":"Renders <Tree /> with clickable items"}],"endTime":1676384051237,"message":"","name":"/home/runner/work/reqore/reqore/__tests__/tree.test.tsx","startTime":1676384048311,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders basic <Collection /> properly","location":null,"status":"passed","title":"Renders basic <Collection /> properly"},{"ancestorTitles":[],"failureMessages":[],"fullName":"<Collection /> items can be filtered","location":null,"status":"passed","title":"<Collection /> items can be filtered"},{"ancestorTitles":[],"failureMessages":[],"fullName":"<Collection /> shows no data message when empty","location":null,"status":"passed","title":"<Collection /> shows no data message when empty"},{"ancestorTitles":[],"failureMessages":[],"fullName":"<Collection /> can be sorted","location":null,"status":"passed","title":"<Collection /> can be sorted"}],"endTime":1676384054832,"message":"","name":"/home/runner/work/reqore/reqore/__tests__/collection.test.tsx","startTime":1676384051250,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders <Menu /> properly","location":null,"status":"passed","title":"Renders <Menu /> properly"},{"ancestorTitles":[],"failureMessages":[],"fullName":"<Menu /> item can be clicked","location":null,"status":"passed","title":"<Menu /> item can be clicked"},{"ancestorTitles":[],"failureMessages":[],"fullName":"<Menu /> item has right clickable button","location":null,"status":"passed","title":"<Menu /> item has right clickable button"}],"endTime":1676384056185,"message":"","name":"/home/runner/work/reqore/reqore/__tests__/menu.test.tsx","startTime":1676384054858,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders full <Breadcrumbs /> properly","location":null,"status":"passed","title":"Renders full <Breadcrumbs /> properly"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders shortened <Breadcrumbs /> properly","location":null,"status":"passed","title":"Renders shortened <Breadcrumbs /> properly"}],"endTime":1676384057305,"message":"","name":"/home/runner/work/reqore/reqore/__tests__/breadcrumbs.test.tsx","startTime":1676384056214,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders <ReqoreEffect /> properly","location":null,"status":"passed","title":"Renders <ReqoreEffect /> properly"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders <ReqoreTextEffect /> properly","location":null,"status":"passed","title":"Renders <ReqoreTextEffect /> properly"}],"endTime":1676384058332,"message":"","name":"/home/runner/work/reqore/reqore/__tests__/effect.test.tsx","startTime":1676384057335,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders <Message /> properly","location":null,"status":"passed","title":"Renders <Message /> properly"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Runs onFinish on message after duration","location":null,"status":"passed","title":"Runs onFinish on message after duration"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Runs onClose when closed","location":null,"status":"passed","title":"Runs onClose when closed"}],"endTime":1676384060835,"message":"","name":"/home/runner/work/reqore/reqore/__tests__/messages.test.tsx","startTime":1676384058359,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders <Checkbox /> properly","location":null,"status":"passed","title":"Renders <Checkbox /> properly"}],"endTime":1676384062003,"message":"","name":"/home/runner/work/reqore/reqore/__tests__/radiogroup.test.tsx","startTime":1676384060871,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders Layout properly","location":null,"status":"passed","title":"Renders Layout properly"}],"endTime":1676384063047,"message":"","name":"/home/runner/work/reqore/reqore/__tests__/layout.test.tsx","startTime":1676384062017,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders <Icon /> properly","location":null,"status":"passed","title":"Renders <Icon /> properly"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders empty <Icon /> if icon does not exist","location":null,"status":"passed","title":"Renders empty <Icon /> if icon does not exist"}],"endTime":1676384064545,"message":"","name":"/home/runner/work/reqore/reqore/__tests__/icon.test.tsx","startTime":1676384063062,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders <Checkbox /> properly","location":null,"status":"passed","title":"Renders <Checkbox /> properly"}],"endTime":1676384065727,"message":"","name":"/home/runner/work/reqore/reqore/__tests__/checkbox.test.tsx","startTime":1676384064558,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders Navbar properly","location":null,"status":"passed","title":"Renders Navbar properly"}],"endTime":1676384066684,"message":"","name":"/home/runner/work/reqore/reqore/__tests__/navbar.test.tsx","startTime":1676384065751,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders <ControlGroup /> properly","location":null,"status":"passed","title":"Renders <ControlGroup /> properly"}],"endTime":1676384068281,"message":"","name":"/home/runner/work/reqore/reqore/__tests__/control_group.test.tsx","startTime":1676384066707,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders <TimeAgo /> data properly","location":null,"status":"passed","title":"Renders <TimeAgo /> data properly"}],"endTime":1676384069628,"message":"","name":"/home/runner/work/reqore/reqore/__tests__/timeAgo.test.tsx","startTime":1676384068295,"status":"passed","summary":""}],"wasInterrupted":false}