@qoretechnologies/reqore 0.25.2 → 0.25.4

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 (44) hide show
  1. package/.gitpod.yml +4 -1
  2. package/__tests__/tree.test.tsx +14 -19
  3. package/dist/components/Collection/item.d.ts +1 -1
  4. package/dist/components/Collection/item.d.ts.map +1 -1
  5. package/dist/components/Collection/item.js +7 -7
  6. package/dist/components/Collection/item.js.map +1 -1
  7. package/dist/components/Message/index.d.ts +3 -2
  8. package/dist/components/Message/index.d.ts.map +1 -1
  9. package/dist/components/Message/index.js +26 -9
  10. package/dist/components/Message/index.js.map +1 -1
  11. package/dist/components/Notifications/notification.d.ts +1 -0
  12. package/dist/components/Notifications/notification.d.ts.map +1 -1
  13. package/dist/components/Notifications/notification.js +19 -11
  14. package/dist/components/Notifications/notification.js.map +1 -1
  15. package/dist/components/Panel/index.d.ts +2 -0
  16. package/dist/components/Panel/index.d.ts.map +1 -1
  17. package/dist/components/Panel/index.js +12 -9
  18. package/dist/components/Panel/index.js.map +1 -1
  19. package/dist/components/Tag/index.d.ts.map +1 -1
  20. package/dist/components/Tag/index.js +9 -8
  21. package/dist/components/Tag/index.js.map +1 -1
  22. package/dist/components/Tree/index.d.ts +4 -2
  23. package/dist/components/Tree/index.d.ts.map +1 -1
  24. package/dist/components/Tree/index.js +26 -48
  25. package/dist/components/Tree/index.js.map +1 -1
  26. package/dist/constants/sizes.d.ts +8 -0
  27. package/dist/constants/sizes.d.ts.map +1 -1
  28. package/dist/constants/sizes.js +9 -1
  29. package/dist/constants/sizes.js.map +1 -1
  30. package/package.json +1 -1
  31. package/src/components/Collection/item.tsx +3 -2
  32. package/src/components/Message/index.tsx +18 -7
  33. package/src/components/Notifications/notification.tsx +11 -2
  34. package/src/components/Panel/index.tsx +22 -5
  35. package/src/components/Tag/index.tsx +23 -27
  36. package/src/components/Tree/index.tsx +95 -102
  37. package/src/constants/sizes.ts +9 -0
  38. package/src/mock/collectionData.tsx +2 -0
  39. package/src/stories/Input/Input.stories.tsx +1 -1
  40. package/src/stories/Message/Message.stories.tsx +7 -0
  41. package/src/stories/Panel/Panel.stories.tsx +2 -1
  42. package/src/stories/Tag/Tag.stories.tsx +7 -4
  43. package/src/stories/Tree/Tree.stories.tsx +7 -1
  44. package/tests.json +1 -1
@@ -67,15 +67,7 @@ export const StyledTag = styled.div<IReqoreTagStyle>`
67
67
  background-color: ${color || changeLightness(theme.main, 0.1)};
68
68
  color: ${color ? getReadableColorFrom(color) : getReadableColor(theme, undefined, undefined)};
69
69
 
70
- ${StyledTagContentWrapper} {
71
- background-color: ${labelKey ? changeLightness(color || theme.main, 0.05) : undefined};
72
- }
73
-
74
- ${StyledTagContent} {
75
- background-color: ${labelKey ? changeLightness(color || theme.main, 0.1) : undefined};
76
- }
77
-
78
- ${StyledTagContentKey} {
70
+ ${StyledTagContentKey}, ${StyledTagContentWrapper} {
79
71
  background-color: ${labelKey ? changeLightness(color || theme.main, 0.05) : undefined};
80
72
  }
81
73
  `}
@@ -102,6 +94,8 @@ export const StyledTag = styled.div<IReqoreTagStyle>`
102
94
  `}
103
95
  `;
104
96
 
97
+ const StyledTagRightIcon = styled(ReqoreIcon)``;
98
+
105
99
  const StyledTagContentWrapper = styled.div<{ size: TSizes }>`
106
100
  display: flex;
107
101
  align-items: center;
@@ -192,24 +186,26 @@ const ReqoreTag = forwardRef(
192
186
  removable={!!onRemoveClick}
193
187
  interactive={!!onClick && !rest.disabled}
194
188
  >
195
- <StyledTagContentWrapper size={size} className='reqore-tag-content' onClick={onClick}>
196
- {icon && (
197
- <ReqoreIcon
198
- icon={icon}
199
- size={`${TEXT_FROM_SIZE[size]}px`}
200
- margin={label || rightIcon ? 'left' : 'both'}
201
- />
202
- )}
203
- {labelKey && <StyledTagContentKey size={size}>{labelKey}</StyledTagContentKey>}
204
- {label && <StyledTagContent size={size}>{label}</StyledTagContent>}
205
- {rightIcon && (
206
- <ReqoreIcon
207
- icon={rightIcon}
208
- size={`${TEXT_FROM_SIZE[size]}px`}
209
- margin={label ? 'left' : undefined}
210
- />
211
- )}
212
- </StyledTagContentWrapper>
189
+ {icon || labelKey ? (
190
+ <StyledTagContentWrapper size={size} className='reqore-tag-content' onClick={onClick}>
191
+ {icon && (
192
+ <ReqoreIcon
193
+ icon={icon}
194
+ size={`${TEXT_FROM_SIZE[size]}px`}
195
+ margin={label ? 'left' : 'both'}
196
+ />
197
+ )}
198
+ {labelKey && <StyledTagContentKey size={size}>{labelKey}</StyledTagContentKey>}
199
+ </StyledTagContentWrapper>
200
+ ) : null}
201
+ {label && <StyledTagContent size={size}>{label}</StyledTagContent>}
202
+ {rightIcon && (
203
+ <StyledTagRightIcon
204
+ icon={rightIcon}
205
+ size={`${TEXT_FROM_SIZE[size]}px`}
206
+ margin={label || icon ? 'right' : 'both'}
207
+ />
208
+ )}
213
209
  {_size(actions)
214
210
  ? actions.map((action) => (
215
211
  <>
@@ -1,24 +1,23 @@
1
- import { cloneDeep } from 'lodash';
2
- import size from 'lodash/size';
3
- import { rgba } from 'polished';
1
+ import { cloneDeep, size as lodashSize } from 'lodash';
4
2
  import { useContext, useState } from 'react';
5
- import styled, { css } from 'styled-components';
6
- import { ReqoreTextarea } from '../..';
3
+ import styled from 'styled-components';
4
+ import { ReqoreMessage, ReqoreTextarea } from '../..';
7
5
  import { IReqoreTheme } from '../../constants/theme';
8
6
  import ReqoreContext from '../../context/ReqoreContext';
9
- import { changeLightness } from '../../helpers/colors';
10
7
  import { getLineCount, getTypeFromValue } from '../../helpers/utils';
8
+ import { IWithReqoreSize } from '../../types/global';
11
9
  import ReqoreButton from '../Button';
12
10
  import ReqoreControlGroup from '../ControlGroup';
13
11
  import ReqoreTag from '../Tag';
14
12
 
15
- export interface IReqoreTreeProps {
13
+ export interface IReqoreTreeProps extends IWithReqoreSize {
16
14
  data: Object | Array<any>;
17
15
  mode?: 'tree' | 'copy';
18
16
  expanded?: boolean;
19
17
  showTypes?: boolean;
20
18
  onItemClick?: (value: any, path?: string[]) => void;
21
19
  withLabelCopy?: boolean;
20
+ showControls?: boolean;
22
21
  }
23
22
 
24
23
  const StyledTreeWrapper = styled.div`
@@ -31,35 +30,19 @@ export interface ITreeStyle {
31
30
  theme: IReqoreTheme;
32
31
  }
33
32
 
34
- const StyledLabel = styled.span<ITreeStyle>`
35
- display: inline-block;
36
- line-height: 30px;
37
- padding: 0 10px;
38
- transition: all 0.2s ease-out;
39
-
40
- ${({ interactive, theme }: ITreeStyle) =>
41
- interactive &&
42
- css`
43
- cursor: pointer;
44
-
45
- &:hover {
46
- background-color: ${rgba(changeLightness(theme.main, 0.3), 0.2)};
47
- border-radius: 5px;
48
- }
49
- `}
50
- `;
51
-
52
33
  export const ReqoreTree = ({
53
34
  data,
54
35
  mode = 'tree',
36
+ size = 'normal',
55
37
  expanded,
56
38
  showTypes,
57
39
  onItemClick,
58
40
  withLabelCopy,
41
+ showControls = true,
59
42
  }: IReqoreTreeProps) => {
60
43
  const [_mode, setMode] = useState<'tree' | 'copy'>(mode);
61
44
  const [items, setItems] = useState({});
62
- const [allExpanded, setAllExpanded] = useState(expanded);
45
+ const [allExpanded, setAllExpanded] = useState(expanded || !showControls);
63
46
  const [_showTypes, setShowTypes] = useState(showTypes);
64
47
  const { addNotification } = useContext(ReqoreContext);
65
48
 
@@ -108,54 +91,59 @@ export const ReqoreTree = ({
108
91
  items[stateKey] ||
109
92
  (allExpanded && items[stateKey] !== false);
110
93
 
111
- if (isObject && size(data[key]) === 0) {
94
+ if (isObject && lodashSize(data[key]) === 0) {
112
95
  isObject = false;
113
96
  isExpandable = false;
114
97
  }
115
98
 
116
99
  return (
117
100
  <div key={index} style={{ margin: level === 1 ? '15px 0' : `15px` }}>
118
- <ReqoreControlGroup>
119
- {isObject ? (
101
+ {isObject ? (
102
+ <ReqoreControlGroup size={size}>
120
103
  <ReqoreButton
121
104
  className='reqore-tree-toggle'
122
- icon={isExpandable ? 'ArrowDownSFill' : 'ArrowRightSFill'}
123
- active={isExpandable}
124
- intent={isExpandable ? 'info' : undefined}
125
- onClick={() => handleItemClick(stateKey, isExpandable)}
105
+ icon={isObject ? (isExpandable ? 'ArrowDownSFill' : 'ArrowRightSFill') : undefined}
106
+ intent={isObject && isExpandable ? 'info' : undefined}
107
+ onClick={isObject ? () => handleItemClick(stateKey, isExpandable) : undefined}
108
+ flat
126
109
  >
127
110
  {displayKey}
128
111
  </ReqoreButton>
129
- ) : (
130
- <ReqoreTag label={`${displayKey}: `} />
131
- )}
132
- {_showTypes && <ReqoreTag label={dataType} className='reqore-tree-type' />}
133
- {!isObject && (
134
- <StyledLabel
112
+ {_showTypes ? <ReqoreTag label={dataType} className='reqore-tree-type' /> : null}
113
+ </ReqoreControlGroup>
114
+ ) : (
115
+ <ReqoreControlGroup size={size}>
116
+ <ReqoreTag
117
+ label={displayKey}
118
+ actions={
119
+ withLabelCopy
120
+ ? [
121
+ {
122
+ icon: 'FileCopy2Fill',
123
+ onClick: () => {
124
+ navigator.clipboard.writeText(JSON.stringify(data[key]));
125
+ addNotification({
126
+ content: 'Successfuly copied to clipboard',
127
+ id: Date.now().toString(),
128
+ type: 'success',
129
+ duration: 3000,
130
+ });
131
+ },
132
+ },
133
+ ]
134
+ : undefined
135
+ }
136
+ />
137
+ {_showTypes ? <ReqoreTag className='reqore-tree-type' label={dataType} /> : null}
138
+ <ReqoreMessage
139
+ flat
140
+ onClick={() => onItemClick(data[key], [...path, key])}
135
141
  className='reqore-tree-label'
136
- interactive={!!onItemClick}
137
- onClick={onItemClick ? () => onItemClick(data[key], [...path, key]) : undefined}
138
142
  >
139
143
  {JSON.stringify(data[key])}
140
- </StyledLabel>
141
- )}
142
- {withLabelCopy && (
143
- <ReqoreButton
144
- className='reqore-tree-copy'
145
- icon='FileCopy2Fill'
146
- onClick={() => {
147
- navigator.clipboard.writeText(JSON.stringify(data[key]));
148
- addNotification({
149
- content: 'Successfuly copied to clipboard',
150
- id: Date.now().toString(),
151
- type: 'success',
152
- duration: 3000,
153
- });
154
- }}
155
- minimal
156
- />
157
- )}
158
- </ReqoreControlGroup>
144
+ </ReqoreMessage>
145
+ </ReqoreControlGroup>
146
+ )}
159
147
  {isExpandable && isObject
160
148
  ? renderTree(data[key], stateKey, level + 1, [...path, key])
161
149
  : null}
@@ -188,21 +176,23 @@ export const ReqoreTree = ({
188
176
 
189
177
  return (
190
178
  <StyledTreeWrapper className='reqore-tree'>
191
- <ReqoreControlGroup stack>
192
- {isDeep() && (
193
- <>
194
- {!allExpanded && (
195
- <ReqoreButton
196
- className='reqore-tree-expand-all'
197
- icon='ArrowDownFill'
198
- onClick={handleExpandClick}
199
- key='expand-button'
200
- >
201
- Expand all
202
- </ReqoreButton>
203
- )}
204
- {allExpanded || size(items) > 0 ? (
179
+ {showControls && (
180
+ <ReqoreControlGroup stack size={size}>
181
+ {isDeep() && !allExpanded ? (
182
+ <ReqoreButton
183
+ flat
184
+ className='reqore-tree-expand-all'
185
+ icon='ArrowDownFill'
186
+ onClick={handleExpandClick}
187
+ key='expand-button'
188
+ >
189
+ Expand all
190
+ </ReqoreButton>
191
+ ) : null}
192
+ {isDeep() &&
193
+ (allExpanded || lodashSize(items) > 0 ? (
205
194
  <ReqoreButton
195
+ flat
206
196
  className='reqore-tree-collapse-all'
207
197
  icon='ArrowUpFill'
208
198
  onClick={handleCollapseClick}
@@ -211,34 +201,36 @@ export const ReqoreTree = ({
211
201
  {' '}
212
202
  Collapse all{' '}
213
203
  </ReqoreButton>
214
- ) : null}
215
- </>
216
- )}
217
- <ReqoreButton
218
- className='reqore-tree-show-types'
219
- icon='CodeBoxFill'
220
- active={_showTypes}
221
- onClick={handleTypesClick}
222
- >
223
- Show types
224
- </ReqoreButton>
225
- <ReqoreButton
226
- className='reqore-tree-as-tree'
227
- active={_mode === 'tree'}
228
- onClick={handleTreeClick}
229
- icon='Menu2Fill'
230
- >
231
- Tree View
232
- </ReqoreButton>
233
- <ReqoreButton
234
- className='reqore-tree-as-text'
235
- onClick={handleCopyClick}
236
- active={_mode === 'copy'}
237
- icon='ClipboardFill'
238
- >
239
- Text View
240
- </ReqoreButton>
241
- </ReqoreControlGroup>
204
+ ) : null)}
205
+ <ReqoreButton
206
+ flat
207
+ className='reqore-tree-show-types'
208
+ icon='CodeBoxFill'
209
+ active={_showTypes}
210
+ onClick={handleTypesClick}
211
+ >
212
+ Show types
213
+ </ReqoreButton>
214
+ <ReqoreButton
215
+ flat
216
+ className='reqore-tree-as-tree'
217
+ active={_mode === 'tree'}
218
+ onClick={handleTreeClick}
219
+ icon='Menu2Fill'
220
+ >
221
+ Tree View
222
+ </ReqoreButton>
223
+ <ReqoreButton
224
+ flat
225
+ className='reqore-tree-as-text'
226
+ onClick={handleCopyClick}
227
+ active={_mode === 'copy'}
228
+ icon='ClipboardFill'
229
+ >
230
+ Text View
231
+ </ReqoreButton>
232
+ </ReqoreControlGroup>
233
+ )}
242
234
 
243
235
  {_mode === 'tree' && <div>{renderTree(data, true)}</div>}
244
236
 
@@ -247,6 +239,7 @@ export const ReqoreTree = ({
247
239
  className='reqore-tree-textarea'
248
240
  id='tree-content'
249
241
  defaultValue={textData}
242
+ size={size}
250
243
  rows={lineCount > 20 ? 20 : lineCount}
251
244
  />
252
245
  )}
@@ -64,3 +64,12 @@ export const RADIUS_FROM_SIZE = {
64
64
  big: 7,
65
65
  huge: 9,
66
66
  };
67
+
68
+ export const ICON_FROM_HEADER_SIZE = {
69
+ 1: 21,
70
+ 2: 18,
71
+ 3: 15,
72
+ 4: 12,
73
+ 5: 9,
74
+ 6: 6,
75
+ };
@@ -29,6 +29,8 @@ export default [
29
29
  {
30
30
  label: 'Test with tooltip',
31
31
  tooltip: 'This is a test item',
32
+ headerSize: 2,
33
+ contentSize: 'huge',
32
34
  content:
33
35
  'Hello I am a test item content and I am very long so I will wrap to the next line and I will be very long',
34
36
  tags: [
@@ -16,7 +16,7 @@ export default {
16
16
  const Template: Story<IReqoreInputProps> = (args: IReqoreInputProps) => {
17
17
  const [value, setValue] = useState('Input value');
18
18
 
19
- const handleValueChange = (e) => {
19
+ const handleValueChange = (e: React.ChangeEvent<HTMLInputElement>) => {
20
20
  setValue(e.target.value);
21
21
  };
22
22
 
@@ -50,3 +50,10 @@ Inverted.args = {
50
50
  inverted: true,
51
51
  intent: 'danger',
52
52
  };
53
+
54
+ export const CustomTheme: Story<IReqoreMessageProps> = Template.bind({});
55
+ CustomTheme.args = {
56
+ customTheme: {
57
+ main: '#6e1295',
58
+ },
59
+ };
@@ -1,7 +1,7 @@
1
1
  import { Meta, Story } from '@storybook/react/types-6-0';
2
2
  import ReqoreInput from '../../components/Input';
3
3
  import { IReqorePanelProps, ReqorePanel } from '../../components/Panel';
4
- import { argManager, FlatArg, IntentArg } from '../utils/args';
4
+ import { argManager, FlatArg, IconArg, IntentArg } from '../utils/args';
5
5
 
6
6
  const { createArg } = argManager<IReqorePanelProps>();
7
7
 
@@ -46,6 +46,7 @@ export default {
46
46
  name: 'Header Size',
47
47
  description: 'The size of the header',
48
48
  }),
49
+ ...IconArg(),
49
50
  },
50
51
  } as Meta<IReqorePanelProps>;
51
52
 
@@ -28,6 +28,12 @@ export default {
28
28
  disable: true,
29
29
  },
30
30
  }),
31
+ ...createArg('rightIcon', {
32
+ defaultValue: 'EBike2Line',
33
+ name: 'Right Icon',
34
+ description: 'Right icon',
35
+ control: 'text',
36
+ }),
31
37
  ...createArg('actions', {
32
38
  defaultValue: [
33
39
  {
@@ -37,10 +43,6 @@ export default {
37
43
  intent: 'info',
38
44
  tooltip: { content: 'I am a tooltip' },
39
45
  },
40
- {
41
- icon: 'PsychotherapyFill',
42
- onClick: noop,
43
- },
44
46
  {
45
47
  icon: 'SpyFill',
46
48
  onClick: noop,
@@ -71,6 +73,7 @@ const Template: Story<IReqoreTagGroup & IReqoreTagProps> = ({ columns, ...args }
71
73
  />
72
74
  <ReqoreTag label='Danger Tag' icon='AlarmWarningLine' intent='danger' {...args} />
73
75
  <ReqoreTag label='Custom Color Tag' icon='AlarmWarningLine' color='#38fdb2' {...args} />
76
+ <ReqoreTag label='No Buttons Tag' icon='CarLine' color='#0b4578' rightIcon={args.rightIcon} />
74
77
  </ReqoreTagGroup>
75
78
  );
76
79
  };
@@ -2,7 +2,7 @@ import { Meta, Story } from '@storybook/react/types-6-0';
2
2
  import { noop } from 'lodash';
3
3
  import { IReqoreTreeProps, ReqoreTree } from '../../components/Tree';
4
4
  import MockObject from '../../mock/object.json';
5
- import { argManager } from '../utils/args';
5
+ import { argManager, SizeArg } from '../utils/args';
6
6
 
7
7
  const { createArg } = argManager<IReqoreTreeProps>();
8
8
 
@@ -27,6 +27,7 @@ export default {
27
27
  control: 'boolean',
28
28
  defaultValue: false,
29
29
  }),
30
+ ...SizeArg,
30
31
  },
31
32
  } as Meta<IReqoreTreeProps>;
32
33
 
@@ -41,3 +42,8 @@ export const TextView = Template.bind({});
41
42
  TextView.args = {
42
43
  mode: 'copy',
43
44
  };
45
+
46
+ export const NoControls = Template.bind({});
47
+ NoControls.args = {
48
+ showControls: false,
49
+ };
package/tests.json CHANGED
@@ -1 +1 @@
1
- {"numFailedTestSuites":0,"numFailedTests":0,"numPassedTestSuites":24,"numPassedTests":100,"numPendingTestSuites":0,"numPendingTests":0,"numRuntimeErrorTestSuites":0,"numTodoTests":0,"numTotalTestSuites":24,"numTotalTests":100,"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":1667493959869,"success":true,"testResults":[{"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":1667493971908,"message":"","name":"/home/runner/work/reqore/reqore/__tests__/table.test.tsx","startTime":1667493960299,"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":"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":"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":1667493973144,"message":"","name":"/home/runner/work/reqore/reqore/__tests__/tabs.test.tsx","startTime":1667493971932,"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":1667493974264,"message":"","name":"/home/runner/work/reqore/reqore/__tests__/sidebar.test.tsx","startTime":1667493973166,"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 children are empty","location":null,"status":"passed","title":"Renders disabled <Dropdown /> when children are empty"},{"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 filterable <Dropdown /> and filters items correctly","location":null,"status":"passed","title":"Renders filterable <Dropdown /> and filters items correctly"}],"endTime":1667493975582,"message":"","name":"/home/runner/work/reqore/reqore/__tests__/dropdown.test.tsx","startTime":1667493974276,"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 delay","location":null,"status":"passed","title":"Shows the popover after a delay"},{"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":"Shows the hoverStay popover after a delay and stays, ","location":null,"status":"passed","title":"Shows the hoverStay popover after a delay and stays, "}],"endTime":1667493976334,"message":"","name":"/home/runner/work/reqore/reqore/__tests__/popover.test.tsx","startTime":1667493975593,"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":1667493977125,"message":"","name":"/home/runner/work/reqore/reqore/__tests__/notifications.test.tsx","startTime":1667493976347,"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":1667493977786,"message":"","name":"/home/runner/work/reqore/reqore/__tests__/tag.test.tsx","startTime":1667493977135,"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"}],"endTime":1667493978470,"message":"","name":"/home/runner/work/reqore/reqore/__tests__/panel.test.tsx","startTime":1667493977795,"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"}],"endTime":1667493979258,"message":"","name":"/home/runner/work/reqore/reqore/__tests__/button.test.tsx","startTime":1667493978479,"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 /> "}],"endTime":1667493979962,"message":"","name":"/home/runner/work/reqore/reqore/__tests__/modal.test.tsx","startTime":1667493979267,"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":1667493980604,"message":"","name":"/home/runner/work/reqore/reqore/__tests__/drawer.test.tsx","startTime":1667493979971,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders basic <Tree /> properly","location":null,"status":"passed","title":"Renders basic <Tree /> properly"},{"ancestorTitles":[],"failureMessages":[],"fullName":"Shows types for <Tree /> properly","location":null,"status":"passed","title":"Shows types for <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":"Renders <Tree /> with clickable items","location":null,"status":"passed","title":"Renders <Tree /> with clickable items"}],"endTime":1667493981749,"message":"","name":"/home/runner/work/reqore/reqore/__tests__/tree.test.tsx","startTime":1667493980612,"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":1667493982923,"message":"","name":"/home/runner/work/reqore/reqore/__tests__/collection.test.tsx","startTime":1667493981758,"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":1667493983495,"message":"","name":"/home/runner/work/reqore/reqore/__tests__/menu.test.tsx","startTime":1667493982938,"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":1667493984060,"message":"","name":"/home/runner/work/reqore/reqore/__tests__/input.test.tsx","startTime":1667493983503,"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":1667493984509,"message":"","name":"/home/runner/work/reqore/reqore/__tests__/breadcrumbs.test.tsx","startTime":1667493984069,"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":1667493984994,"message":"","name":"/home/runner/work/reqore/reqore/__tests__/textarea.test.tsx","startTime":1667493984527,"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":1667493985485,"message":"","name":"/home/runner/work/reqore/reqore/__tests__/messages.test.tsx","startTime":1667493985011,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders <Checkbox /> properly","location":null,"status":"passed","title":"Renders <Checkbox /> properly"}],"endTime":1667493985984,"message":"","name":"/home/runner/work/reqore/reqore/__tests__/radiogroup.test.tsx","startTime":1667493985494,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders Layout properly","location":null,"status":"passed","title":"Renders Layout properly"}],"endTime":1667493986814,"message":"","name":"/home/runner/work/reqore/reqore/__tests__/layout.test.tsx","startTime":1667493986173,"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":1667493987509,"message":"","name":"/home/runner/work/reqore/reqore/__tests__/icon.test.tsx","startTime":1667493986829,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders Navbar properly","location":null,"status":"passed","title":"Renders Navbar properly"}],"endTime":1667493987906,"message":"","name":"/home/runner/work/reqore/reqore/__tests__/navbar.test.tsx","startTime":1667493987519,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders <Checkbox /> properly","location":null,"status":"passed","title":"Renders <Checkbox /> properly"}],"endTime":1667493988339,"message":"","name":"/home/runner/work/reqore/reqore/__tests__/checkbox.test.tsx","startTime":1667493987914,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders <TimeAgo /> data properly","location":null,"status":"passed","title":"Renders <TimeAgo /> data properly"}],"endTime":1667493988723,"message":"","name":"/home/runner/work/reqore/reqore/__tests__/timeAgo.test.tsx","startTime":1667493988355,"status":"passed","summary":""}],"wasInterrupted":false}
1
+ {"numFailedTestSuites":0,"numFailedTests":0,"numPassedTestSuites":24,"numPassedTests":100,"numPendingTestSuites":0,"numPendingTests":0,"numRuntimeErrorTestSuites":0,"numTodoTests":0,"numTotalTestSuites":24,"numTotalTests":100,"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":1668074554403,"success":true,"testResults":[{"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":1668074568852,"message":"","name":"/home/runner/work/reqore/reqore/__tests__/table.test.tsx","startTime":1668074554939,"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":"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":"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":1668074570410,"message":"","name":"/home/runner/work/reqore/reqore/__tests__/tabs.test.tsx","startTime":1668074568875,"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":1668074571773,"message":"","name":"/home/runner/work/reqore/reqore/__tests__/sidebar.test.tsx","startTime":1668074570428,"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 children are empty","location":null,"status":"passed","title":"Renders disabled <Dropdown /> when children are empty"},{"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 filterable <Dropdown /> and filters items correctly","location":null,"status":"passed","title":"Renders filterable <Dropdown /> and filters items correctly"}],"endTime":1668074573420,"message":"","name":"/home/runner/work/reqore/reqore/__tests__/dropdown.test.tsx","startTime":1668074571787,"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 delay","location":null,"status":"passed","title":"Shows the popover after a delay"},{"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":"Shows the hoverStay popover after a delay and stays, ","location":null,"status":"passed","title":"Shows the hoverStay popover after a delay and stays, "}],"endTime":1668074574360,"message":"","name":"/home/runner/work/reqore/reqore/__tests__/popover.test.tsx","startTime":1668074573433,"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":1668074575340,"message":"","name":"/home/runner/work/reqore/reqore/__tests__/notifications.test.tsx","startTime":1668074574373,"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":1668074576157,"message":"","name":"/home/runner/work/reqore/reqore/__tests__/tag.test.tsx","startTime":1668074575360,"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"}],"endTime":1668074576976,"message":"","name":"/home/runner/work/reqore/reqore/__tests__/panel.test.tsx","startTime":1668074576175,"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"}],"endTime":1668074577979,"message":"","name":"/home/runner/work/reqore/reqore/__tests__/button.test.tsx","startTime":1668074576997,"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 /> "}],"endTime":1668074578855,"message":"","name":"/home/runner/work/reqore/reqore/__tests__/modal.test.tsx","startTime":1668074577994,"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":1668074579648,"message":"","name":"/home/runner/work/reqore/reqore/__tests__/drawer.test.tsx","startTime":1668074578871,"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":1668074581112,"message":"","name":"/home/runner/work/reqore/reqore/__tests__/tree.test.tsx","startTime":1668074579659,"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":1668074582555,"message":"","name":"/home/runner/work/reqore/reqore/__tests__/collection.test.tsx","startTime":1668074581122,"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":1668074583267,"message":"","name":"/home/runner/work/reqore/reqore/__tests__/menu.test.tsx","startTime":1668074582576,"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":1668074583964,"message":"","name":"/home/runner/work/reqore/reqore/__tests__/input.test.tsx","startTime":1668074583278,"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":1668074584501,"message":"","name":"/home/runner/work/reqore/reqore/__tests__/breadcrumbs.test.tsx","startTime":1668074583975,"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":1668074585099,"message":"","name":"/home/runner/work/reqore/reqore/__tests__/textarea.test.tsx","startTime":1668074584523,"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":1668074585693,"message":"","name":"/home/runner/work/reqore/reqore/__tests__/messages.test.tsx","startTime":1668074585119,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders <Checkbox /> properly","location":null,"status":"passed","title":"Renders <Checkbox /> properly"}],"endTime":1668074586737,"message":"","name":"/home/runner/work/reqore/reqore/__tests__/radiogroup.test.tsx","startTime":1668074585711,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders Layout properly","location":null,"status":"passed","title":"Renders Layout properly"}],"endTime":1668074587261,"message":"","name":"/home/runner/work/reqore/reqore/__tests__/layout.test.tsx","startTime":1668074586748,"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":1668074588089,"message":"","name":"/home/runner/work/reqore/reqore/__tests__/icon.test.tsx","startTime":1668074587279,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders Navbar properly","location":null,"status":"passed","title":"Renders Navbar properly"}],"endTime":1668074588562,"message":"","name":"/home/runner/work/reqore/reqore/__tests__/navbar.test.tsx","startTime":1668074588099,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders <Checkbox /> properly","location":null,"status":"passed","title":"Renders <Checkbox /> properly"}],"endTime":1668074589066,"message":"","name":"/home/runner/work/reqore/reqore/__tests__/checkbox.test.tsx","startTime":1668074588573,"status":"passed","summary":""},{"assertionResults":[{"ancestorTitles":[],"failureMessages":[],"fullName":"Renders <TimeAgo /> data properly","location":null,"status":"passed","title":"Renders <TimeAgo /> data properly"}],"endTime":1668074589508,"message":"","name":"/home/runner/work/reqore/reqore/__tests__/timeAgo.test.tsx","startTime":1668074589086,"status":"passed","summary":""}],"wasInterrupted":false}