@qoretechnologies/reqore 0.40.2 → 0.40.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.
- package/__tests__/textarea.test.tsx +0 -1
- package/dist/components/Button/index.d.ts +1 -0
- package/dist/components/Button/index.d.ts.map +1 -1
- package/dist/components/Button/index.js +2 -2
- package/dist/components/Button/index.js.map +1 -1
- package/dist/components/Input/index.d.ts +4 -0
- package/dist/components/Input/index.d.ts.map +1 -1
- package/dist/components/Input/index.js +13 -7
- package/dist/components/Input/index.js.map +1 -1
- package/dist/constants/colors.js +1 -1
- package/dist/constants/colors.js.map +1 -1
- package/dist/constants/sizes.d.ts +1 -0
- package/dist/constants/sizes.d.ts.map +1 -1
- package/dist/constants/sizes.js +2 -1
- package/dist/constants/sizes.js.map +1 -1
- package/dist/hooks/useAutoFocus.d.ts +1 -0
- package/dist/hooks/useAutoFocus.d.ts.map +1 -1
- package/dist/hooks/useAutoFocus.js +4 -2
- package/dist/hooks/useAutoFocus.js.map +1 -1
- package/dist/hooks/usePopover.d.ts.map +1 -1
- package/dist/hooks/usePopover.js +10 -9
- package/dist/hooks/usePopover.js.map +1 -1
- package/dist/hooks/useTooltip.js +1 -1
- package/dist/hooks/useTooltip.js.map +1 -1
- package/package.json +1 -1
- package/src/components/Button/index.tsx +5 -2
- package/src/components/Input/index.tsx +27 -9
- package/src/constants/colors.ts +1 -1
- package/src/constants/sizes.ts +2 -0
- package/src/hooks/useAutoFocus.ts +4 -2
- package/src/hooks/usePopover.tsx +11 -9
- package/src/hooks/useTooltip.ts +1 -1
- package/src/stories/Button/Button.stories.tsx +8 -0
- package/src/stories/Input/Input.stories.tsx +10 -0
- package/src/stories/Popover/Popover.stories.tsx +35 -0
- package/tests.json +1 -1
package/src/hooks/usePopover.tsx
CHANGED
|
@@ -182,19 +182,21 @@ const usePopover = ({
|
|
|
182
182
|
}
|
|
183
183
|
}
|
|
184
184
|
|
|
185
|
+
if (!content) {
|
|
186
|
+
_removePopover();
|
|
187
|
+
}
|
|
188
|
+
|
|
185
189
|
return () => {
|
|
186
|
-
|
|
187
|
-
cancelTimeout();
|
|
190
|
+
cancelTimeout();
|
|
188
191
|
|
|
189
|
-
|
|
192
|
+
targetElement?.removeEventListener(startEvent, _addPopover);
|
|
190
193
|
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
+
if (endEvent) {
|
|
195
|
+
targetElement?.removeEventListener(endEvent, _removePopover);
|
|
196
|
+
}
|
|
194
197
|
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
}
|
|
198
|
+
if (handler === 'hoverStay') {
|
|
199
|
+
targetElement?.removeEventListener('mouseleave', cancelTimeout);
|
|
198
200
|
}
|
|
199
201
|
};
|
|
200
202
|
}, [targetElement?.toString(), content, current, currentPopover]);
|
package/src/hooks/useTooltip.ts
CHANGED
|
@@ -57,6 +57,7 @@ const Template: StoryFn<typeof ReqoreInput> = (args: IReqoreInputProps) => {
|
|
|
57
57
|
placeholder='Clearable Input'
|
|
58
58
|
onClearClick={handleValueClear}
|
|
59
59
|
onChange={handleValueChange}
|
|
60
|
+
leftIconProps={{ size: 'tiny' }}
|
|
60
61
|
/>
|
|
61
62
|
<ReqoreInput
|
|
62
63
|
{...args}
|
|
@@ -66,6 +67,7 @@ const Template: StoryFn<typeof ReqoreInput> = (args: IReqoreInputProps) => {
|
|
|
66
67
|
onChange={handleValueChange}
|
|
67
68
|
rightIcon='EraserFill'
|
|
68
69
|
rightIconColor='#8727b7'
|
|
70
|
+
focusRules={{ type: 'keypress', shortcut: '.', doNotInsertShortcut: true }}
|
|
69
71
|
/>
|
|
70
72
|
<ReqoreInput {...args} placeholder='Disabled Input' disabled onChange={handleValueChange} />
|
|
71
73
|
<ReqoreInput
|
|
@@ -208,3 +210,11 @@ export const Effect: Story = {
|
|
|
208
210
|
},
|
|
209
211
|
},
|
|
210
212
|
};
|
|
213
|
+
|
|
214
|
+
export const Pill: Story = {
|
|
215
|
+
render: Template,
|
|
216
|
+
|
|
217
|
+
args: {
|
|
218
|
+
pill: true,
|
|
219
|
+
},
|
|
220
|
+
};
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
+
import { expect } from '@storybook/jest';
|
|
1
2
|
import { StoryFn, StoryObj } from '@storybook/react';
|
|
2
3
|
import { fireEvent } from '@storybook/testing-library';
|
|
3
4
|
import { useState } from 'react';
|
|
5
|
+
import { useMount } from 'react-use';
|
|
4
6
|
import { IReqorePopoverProps } from '../../components/Popover';
|
|
5
7
|
import { sleep } from '../../helpers/utils';
|
|
6
8
|
import usePopover from '../../hooks/usePopover';
|
|
@@ -16,6 +18,7 @@ import {
|
|
|
16
18
|
ReqoreSpacer,
|
|
17
19
|
ReqoreTextarea,
|
|
18
20
|
} from '../../index';
|
|
21
|
+
import { IReqoreTooltip } from '../../types/global';
|
|
19
22
|
import { StoryMeta } from '../utils';
|
|
20
23
|
import { FlatArg, argManager } from '../utils/args';
|
|
21
24
|
|
|
@@ -434,3 +437,35 @@ export const ChangingElement: Story = {
|
|
|
434
437
|
});
|
|
435
438
|
},
|
|
436
439
|
};
|
|
440
|
+
|
|
441
|
+
export const TooltipIsRemovedWhenContentIsEmpty: Story = {
|
|
442
|
+
render: (args) => {
|
|
443
|
+
const [tooltip, setTooltip] = useState<IReqoreTooltip>({
|
|
444
|
+
content: 'test',
|
|
445
|
+
handler: 'focus',
|
|
446
|
+
noArrow: true,
|
|
447
|
+
noWrapper: true,
|
|
448
|
+
useTargetWidth: true,
|
|
449
|
+
});
|
|
450
|
+
|
|
451
|
+
useMount(() => {
|
|
452
|
+
setTimeout(() => {
|
|
453
|
+
setTooltip(undefined);
|
|
454
|
+
}, 1500);
|
|
455
|
+
});
|
|
456
|
+
|
|
457
|
+
return <ReqoreTextarea tooltip={tooltip} />;
|
|
458
|
+
},
|
|
459
|
+
|
|
460
|
+
play: async ({ canvasElement }) => {
|
|
461
|
+
const textarea = canvasElement.querySelector('textarea');
|
|
462
|
+
await sleep(500);
|
|
463
|
+
fireEvent.focusIn(textarea);
|
|
464
|
+
await sleep(300);
|
|
465
|
+
await expect(document.querySelector('.reqore-popover-content')).toBeInTheDocument();
|
|
466
|
+
await sleep(1000);
|
|
467
|
+
fireEvent.focusIn(textarea);
|
|
468
|
+
await sleep(300);
|
|
469
|
+
await expect(document.querySelector('.reqore-popover-content')).not.toBeInTheDocument();
|
|
470
|
+
},
|
|
471
|
+
};
|