@redsift/popovers 9.2.3 → 9.2.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 (171) hide show
  1. package/package.json +3 -2
  2. package/coverage/clover.xml +0 -763
  3. package/coverage/coverage-final.json +0 -53
  4. package/coverage/lcov-report/base.css +0 -224
  5. package/coverage/lcov-report/block-navigation.js +0 -87
  6. package/coverage/lcov-report/dialog/Dialog.tsx.html +0 -271
  7. package/coverage/lcov-report/dialog/context.ts.html +0 -97
  8. package/coverage/lcov-report/dialog/index.html +0 -191
  9. package/coverage/lcov-report/dialog/index.ts.html +0 -100
  10. package/coverage/lcov-report/dialog/types.ts.html +0 -241
  11. package/coverage/lcov-report/dialog/useDialog.tsx.html +0 -346
  12. package/coverage/lcov-report/dialog/useDialogContext.tsx.html +0 -121
  13. package/coverage/lcov-report/dialog-content/DialogContent.tsx.html +0 -484
  14. package/coverage/lcov-report/dialog-content/index.html +0 -146
  15. package/coverage/lcov-report/dialog-content/index.ts.html +0 -91
  16. package/coverage/lcov-report/dialog-content/intl/index.html +0 -116
  17. package/coverage/lcov-report/dialog-content/intl/index.ts.html +0 -106
  18. package/coverage/lcov-report/dialog-content/styles.ts.html +0 -256
  19. package/coverage/lcov-report/dialog-content-actions/DialogContentActions.tsx.html +0 -205
  20. package/coverage/lcov-report/dialog-content-actions/index.html +0 -146
  21. package/coverage/lcov-report/dialog-content-actions/index.ts.html +0 -91
  22. package/coverage/lcov-report/dialog-content-actions/styles.ts.html +0 -139
  23. package/coverage/lcov-report/dialog-content-body/DialogContentBody.tsx.html +0 -232
  24. package/coverage/lcov-report/dialog-content-body/index.html +0 -146
  25. package/coverage/lcov-report/dialog-content-body/index.ts.html +0 -91
  26. package/coverage/lcov-report/dialog-content-body/styles.ts.html +0 -259
  27. package/coverage/lcov-report/dialog-content-header/DialogContentHeader.tsx.html +0 -280
  28. package/coverage/lcov-report/dialog-content-header/index.html +0 -146
  29. package/coverage/lcov-report/dialog-content-header/index.ts.html +0 -91
  30. package/coverage/lcov-report/dialog-content-header/styles.ts.html +0 -193
  31. package/coverage/lcov-report/dialog-trigger/DialogTrigger.tsx.html +0 -217
  32. package/coverage/lcov-report/dialog-trigger/index.html +0 -131
  33. package/coverage/lcov-report/dialog-trigger/index.ts.html +0 -91
  34. package/coverage/lcov-report/favicon.png +0 -0
  35. package/coverage/lcov-report/index.html +0 -341
  36. package/coverage/lcov-report/popover/Popover.tsx.html +0 -295
  37. package/coverage/lcov-report/popover/context.ts.html +0 -97
  38. package/coverage/lcov-report/popover/index.html +0 -191
  39. package/coverage/lcov-report/popover/index.ts.html +0 -100
  40. package/coverage/lcov-report/popover/types.ts.html +0 -283
  41. package/coverage/lcov-report/popover/usePopover.tsx.html +0 -415
  42. package/coverage/lcov-report/popover/usePopoverContext.tsx.html +0 -121
  43. package/coverage/lcov-report/popover-content/PopoverContent.tsx.html +0 -229
  44. package/coverage/lcov-report/popover-content/index.html +0 -146
  45. package/coverage/lcov-report/popover-content/index.ts.html +0 -94
  46. package/coverage/lcov-report/popover-content/styles.ts.html +0 -370
  47. package/coverage/lcov-report/popover-trigger/PopoverTrigger.tsx.html +0 -202
  48. package/coverage/lcov-report/popover-trigger/index.html +0 -131
  49. package/coverage/lcov-report/popover-trigger/index.ts.html +0 -91
  50. package/coverage/lcov-report/prettify.css +0 -1
  51. package/coverage/lcov-report/prettify.js +0 -2
  52. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  53. package/coverage/lcov-report/sorter.js +0 -196
  54. package/coverage/lcov-report/toast/Toast.tsx.html +0 -373
  55. package/coverage/lcov-report/toast/index.html +0 -161
  56. package/coverage/lcov-report/toast/index.ts.html +0 -91
  57. package/coverage/lcov-report/toast/intl/index.html +0 -116
  58. package/coverage/lcov-report/toast/intl/index.ts.html +0 -106
  59. package/coverage/lcov-report/toast/styles.ts.html +0 -193
  60. package/coverage/lcov-report/toast/types.ts.html +0 -217
  61. package/coverage/lcov-report/toast-container/ToastContainer.tsx.html +0 -217
  62. package/coverage/lcov-report/toast-container/index.html +0 -161
  63. package/coverage/lcov-report/toast-container/index.ts.html +0 -94
  64. package/coverage/lcov-report/toast-container/styles.ts.html +0 -2284
  65. package/coverage/lcov-report/toast-container/useToast.tsx.html +0 -469
  66. package/coverage/lcov-report/tooltip/Tooltip.tsx.html +0 -250
  67. package/coverage/lcov-report/tooltip/context.ts.html +0 -97
  68. package/coverage/lcov-report/tooltip/index.html +0 -191
  69. package/coverage/lcov-report/tooltip/index.ts.html +0 -100
  70. package/coverage/lcov-report/tooltip/types.ts.html +0 -250
  71. package/coverage/lcov-report/tooltip/useTooltip.tsx.html +0 -358
  72. package/coverage/lcov-report/tooltip/useTooltipContext.tsx.html +0 -121
  73. package/coverage/lcov-report/tooltip-content/TooltipContent.tsx.html +0 -313
  74. package/coverage/lcov-report/tooltip-content/index.html +0 -146
  75. package/coverage/lcov-report/tooltip-content/index.ts.html +0 -91
  76. package/coverage/lcov-report/tooltip-content/styles.ts.html +0 -337
  77. package/coverage/lcov-report/tooltip-trigger/TooltipTrigger.tsx.html +0 -211
  78. package/coverage/lcov-report/tooltip-trigger/index.html +0 -131
  79. package/coverage/lcov-report/tooltip-trigger/index.ts.html +0 -91
  80. package/coverage/lcov.info +0 -1510
  81. package/coverage/storybook/coverage-storybook.json +0 -58724
  82. package/dist/package.json +0 -96
  83. package/index.ts +0 -1
  84. package/jest.config.js +0 -3
  85. package/rollup.config.js +0 -13
  86. package/src/components/dialog/Dialog.stories.tsx +0 -264
  87. package/src/components/dialog/Dialog.test.tsx +0 -116
  88. package/src/components/dialog/Dialog.tsx +0 -62
  89. package/src/components/dialog/context.ts +0 -4
  90. package/src/components/dialog/index.ts +0 -5
  91. package/src/components/dialog/types.ts +0 -52
  92. package/src/components/dialog/useDialog.tsx +0 -87
  93. package/src/components/dialog/useDialogContext.tsx +0 -12
  94. package/src/components/dialog-content/DialogContent.stories.tsx +0 -348
  95. package/src/components/dialog-content/DialogContent.tsx +0 -133
  96. package/src/components/dialog-content/index.ts +0 -2
  97. package/src/components/dialog-content/intl/en-US.json +0 -3
  98. package/src/components/dialog-content/intl/fr-FR.json +0 -3
  99. package/src/components/dialog-content/intl/index.ts +0 -7
  100. package/src/components/dialog-content/styles.ts +0 -57
  101. package/src/components/dialog-content/types.ts +0 -10
  102. package/src/components/dialog-content-actions/DialogContentActions.test.tsx +0 -68
  103. package/src/components/dialog-content-actions/DialogContentActions.tsx +0 -40
  104. package/src/components/dialog-content-actions/index.ts +0 -2
  105. package/src/components/dialog-content-actions/styles.ts +0 -18
  106. package/src/components/dialog-content-actions/types.ts +0 -11
  107. package/src/components/dialog-content-body/DialogContentBody.test.tsx +0 -63
  108. package/src/components/dialog-content-body/DialogContentBody.tsx +0 -49
  109. package/src/components/dialog-content-body/index.ts +0 -2
  110. package/src/components/dialog-content-body/styles.ts +0 -58
  111. package/src/components/dialog-content-body/types.ts +0 -14
  112. package/src/components/dialog-content-header/DialogContentHeader.test.tsx +0 -63
  113. package/src/components/dialog-content-header/DialogContentHeader.tsx +0 -65
  114. package/src/components/dialog-content-header/index.ts +0 -2
  115. package/src/components/dialog-content-header/styles.ts +0 -36
  116. package/src/components/dialog-content-header/types.ts +0 -21
  117. package/src/components/dialog-trigger/DialogTrigger.tsx +0 -44
  118. package/src/components/dialog-trigger/index.ts +0 -2
  119. package/src/components/dialog-trigger/types.ts +0 -9
  120. package/src/components/popover/Popover.stories.tsx +0 -129
  121. package/src/components/popover/Popover.test.tsx +0 -102
  122. package/src/components/popover/Popover.tsx +0 -70
  123. package/src/components/popover/context.ts +0 -4
  124. package/src/components/popover/index.ts +0 -5
  125. package/src/components/popover/types.ts +0 -66
  126. package/src/components/popover/usePopover.tsx +0 -110
  127. package/src/components/popover/usePopoverContext.tsx +0 -12
  128. package/src/components/popover-content/PopoverContent.tsx +0 -48
  129. package/src/components/popover-content/index.ts +0 -3
  130. package/src/components/popover-content/styles.ts +0 -95
  131. package/src/components/popover-content/types.ts +0 -11
  132. package/src/components/popover-trigger/PopoverTrigger.tsx +0 -39
  133. package/src/components/popover-trigger/index.ts +0 -2
  134. package/src/components/popover-trigger/types.ts +0 -9
  135. package/src/components/toast/Toast.stories.tsx +0 -68
  136. package/src/components/toast/Toast.test.tsx +0 -63
  137. package/src/components/toast/Toast.tsx +0 -96
  138. package/src/components/toast/index.ts +0 -2
  139. package/src/components/toast/intl/en-US.json +0 -3
  140. package/src/components/toast/intl/fr-FR.json +0 -3
  141. package/src/components/toast/intl/index.ts +0 -7
  142. package/src/components/toast/styles.ts +0 -36
  143. package/src/components/toast/types.ts +0 -44
  144. package/src/components/toast-container/ToastContainer.stories.tsx +0 -349
  145. package/src/components/toast-container/ToastContainer.tsx +0 -44
  146. package/src/components/toast-container/index.ts +0 -3
  147. package/src/components/toast-container/styles.ts +0 -733
  148. package/src/components/toast-container/types.ts +0 -110
  149. package/src/components/toast-container/useToast.test.tsx +0 -111
  150. package/src/components/toast-container/useToast.tsx +0 -128
  151. package/src/components/tooltip/Tooltip.stories.tsx +0 -196
  152. package/src/components/tooltip/Tooltip.test.tsx +0 -119
  153. package/src/components/tooltip/Tooltip.tsx +0 -55
  154. package/src/components/tooltip/context.ts +0 -4
  155. package/src/components/tooltip/index.ts +0 -5
  156. package/src/components/tooltip/types.ts +0 -55
  157. package/src/components/tooltip/useTooltip.tsx +0 -93
  158. package/src/components/tooltip/useTooltipContext.tsx +0 -12
  159. package/src/components/tooltip-content/TooltipContent.tsx +0 -76
  160. package/src/components/tooltip-content/index.ts +0 -2
  161. package/src/components/tooltip-content/styles.ts +0 -84
  162. package/src/components/tooltip-content/types.ts +0 -14
  163. package/src/components/tooltip-trigger/TooltipTrigger.tsx +0 -42
  164. package/src/components/tooltip-trigger/index.ts +0 -2
  165. package/src/components/tooltip-trigger/types.ts +0 -9
  166. package/src/index.ts +0 -16
  167. package/tsconfig.json +0 -3
  168. /package/{dist/CONTRIBUTING.md → CONTRIBUTING.md} +0 -0
  169. /package/{dist/index.d.ts → index.d.ts} +0 -0
  170. /package/{dist/index.js → index.js} +0 -0
  171. /package/{dist/index.js.map → index.js.map} +0 -0
@@ -1,39 +0,0 @@
1
- import React, { forwardRef, ReactElement } from 'react';
2
- import { useMergeRefs } from '@floating-ui/react';
3
-
4
- import { Comp, isComponent } from '@redsift/design-system';
5
- import { usePopoverContext } from '../popover';
6
- import { PopoverTriggerProps } from './types';
7
-
8
- const COMPONENT_NAME = 'PopoverTrigger';
9
- const CLASSNAME = 'redsift-popover-trigger';
10
- const DEFAULT_PROPS: Partial<PopoverTriggerProps> = {};
11
-
12
- /**
13
- * The PopoverTrigger component.
14
- */
15
- export const PopoverTrigger: Comp<PopoverTriggerProps, HTMLButtonElement> = forwardRef((props, ref) => {
16
- const { children } = props;
17
-
18
- const { getReferenceProps, isOpen, handleOpen, refs } = usePopoverContext();
19
- const childrenRef = (children as any).ref;
20
- const triggerRef = useMergeRefs([refs.setReference, ref, childrenRef]);
21
-
22
- if (isComponent('Button')(children) || isComponent('IconButton')(children) || isComponent('LinkButton')(children)) {
23
- return React.cloneElement(children as ReactElement, {
24
- ...getReferenceProps({
25
- ref: triggerRef,
26
- ...props,
27
- ...children.props,
28
- children: children.props.children ?? '',
29
- }),
30
- onClick: () => handleOpen(!isOpen),
31
- isActive: isOpen,
32
- });
33
- }
34
-
35
- return null;
36
- });
37
- PopoverTrigger.className = CLASSNAME;
38
- PopoverTrigger.defaultProps = DEFAULT_PROPS;
39
- PopoverTrigger.displayName = COMPONENT_NAME;
@@ -1,2 +0,0 @@
1
- export * from './types';
2
- export * from './PopoverTrigger';
@@ -1,9 +0,0 @@
1
- import { ComponentProps } from 'react';
2
- import { StylingProps } from '@redsift/design-system';
3
-
4
- /**
5
- * Component props.
6
- */
7
- export interface PopoverTriggerProps
8
- extends Omit<ComponentProps<'button'>, 'onClick'>,
9
- StylingProps {}
@@ -1,68 +0,0 @@
1
- import React from 'react';
2
-
3
- import { Toast, ToastVariant } from '.';
4
- import { Flexbox } from '@redsift/design-system';
5
- import { Button, ButtonColor } from '@redsift/design-system';
6
-
7
- export default {
8
- title: 'Popovers/Toast/Toast',
9
- component: Toast,
10
- };
11
-
12
- export const Simple = () => <Toast>Cupcake ipsum dolor sit amet pastry tootsie roll sugar plum.</Toast>;
13
-
14
- export const WithTitle = () => (
15
- <Toast title="Title">Cupcake ipsum dolor sit amet pastry tootsie roll sugar plum.</Toast>
16
- );
17
-
18
- export const AllVariants = () => (
19
- <Flexbox flexDirection="column">
20
- {Object.keys(ToastVariant).map((variant) => (
21
- <Toast
22
- key={variant}
23
- variant={variant as ToastVariant}
24
- title={`${variant[0].toUpperCase()}${variant.slice(1, variant.length)}`}
25
- >
26
- Cupcake ipsum dolor sit amet pastry tootsie roll sugar plum.
27
- </Toast>
28
- ))}
29
- </Flexbox>
30
- );
31
-
32
- export const WithoutCloseButton = () => (
33
- <Toast title="Without close button" closeButton={false}>
34
- Cupcake ipsum dolor sit amet pastry tootsie roll sugar plum.
35
- </Toast>
36
- );
37
-
38
- export const WithCustomCloseButton = () => (
39
- <Flexbox flexDirection="column">
40
- {Object.keys(ToastVariant).map((variant) => (
41
- <Toast
42
- key={variant}
43
- variant={variant as ToastVariant}
44
- title={`${variant[0].toUpperCase()}${variant.slice(1, variant.length)}`}
45
- closeButton={<Button>Click me</Button>}
46
- >
47
- Cupcake ipsum dolor sit amet pastry tootsie roll sugar plum.
48
- </Toast>
49
- ))}
50
- </Flexbox>
51
- );
52
-
53
- export const WithComponents = () => (
54
- <Flexbox flexDirection="column">
55
- {Object.keys(ToastVariant).map((variant) => (
56
- <Toast
57
- key={variant}
58
- variant={variant as ToastVariant}
59
- title={`${variant[0].toUpperCase()}${variant.slice(1, variant.length)}`}
60
- >
61
- Cupcake ipsum dolor sit amet pastry tootsie roll sugar plum.
62
- <Button color={variant === 'loading' ? 'primary' : (variant as ButtonColor)} marginTop="8px">
63
- Click me
64
- </Button>
65
- </Toast>
66
- ))}
67
- </Flexbox>
68
- );
@@ -1,63 +0,0 @@
1
- import React from 'react';
2
- import { fireEvent, render } from '@testing-library/react';
3
-
4
- import { Toast } from '.';
5
- import { Button } from '@redsift/design-system';
6
-
7
- describe('Toast', () => {
8
- const onClickSpy = jest.fn();
9
- const onClickSpy2 = jest.fn();
10
-
11
- afterEach(() => {
12
- onClickSpy.mockClear();
13
- onClickSpy2.mockClear();
14
- });
15
-
16
- it('handles default', () => {
17
- const { getByText } = render(<Toast>Content</Toast>);
18
- expect(getByText('Content')).toBeVisible();
19
- });
20
-
21
- it('supports custom className', () => {
22
- const tree = render(<Toast className="test-class">Content</Toast>);
23
- const component = tree.asFragment().firstChild;
24
- expect(component).toHaveAttribute(
25
- 'class',
26
- expect.stringContaining(Toast.className!)
27
- );
28
- expect(component).toHaveAttribute(
29
- 'class',
30
- expect.stringContaining('test-class')
31
- );
32
- });
33
-
34
- it('supports custom data attributes', () => {
35
- const tree = render(<Toast data-testid="test">Content</Toast>);
36
- const component = tree.asFragment().firstChild;
37
- expect(component).toHaveAttribute('data-testid', 'test');
38
- });
39
-
40
- it('supports custom close button with onClick', () => {
41
- const { getByRole } = render(
42
- <Toast closeButton={<Button onClick={onClickSpy}>Click me</Button>}>
43
- Cupcake ipsum dolor sit amet pastry tootsie roll sugar plum.
44
- </Toast>
45
- );
46
-
47
- const button = getByRole('button');
48
- fireEvent.click(button);
49
- expect(onClickSpy).toHaveBeenCalled();
50
- });
51
-
52
- it('supports custom close button without onClick', () => {
53
- const { getByRole } = render(
54
- <Toast closeToast={onClickSpy2} closeButton={<Button>Click me</Button>}>
55
- Cupcake ipsum dolor sit amet pastry tootsie roll sugar plum.
56
- </Toast>
57
- );
58
-
59
- const button = getByRole('button');
60
- fireEvent.click(button);
61
- expect(onClickSpy2).toHaveBeenCalled();
62
- });
63
- });
@@ -1,96 +0,0 @@
1
- import React, { forwardRef, RefObject } from 'react';
2
- import classNames from 'classnames';
3
-
4
- import { useLocalizedStringFormatter } from '@react-aria/i18n';
5
- import intlMessages from './intl';
6
-
7
- import { mdiAlert, mdiAlertCircle, mdiCheckCircle, mdiClose, mdiInformation } from '@redsift/icons';
8
- import {
9
- NotificationsColorPalette,
10
- Comp,
11
- Icon,
12
- Flexbox,
13
- Spinner,
14
- Text,
15
- isComponent,
16
- ButtonColor,
17
- IconButton,
18
- RedsiftTypographyFontWeightSemiBold,
19
- } from '@redsift/design-system';
20
- import { StyledToast } from './styles';
21
- import { ToastProps, ToastVariant } from './types';
22
-
23
- const COMPONENT_NAME = 'Toast';
24
- const CLASSNAME = 'redsift-toast';
25
- const DEFAULT_PROPS: Partial<ToastProps> = {
26
- variant: 'info',
27
- closeButton: true,
28
- };
29
-
30
- const getVariant = (variant: ToastVariant) => {
31
- switch (variant) {
32
- case ToastVariant.info:
33
- default:
34
- return <Icon icon={mdiInformation} color={NotificationsColorPalette.info} />;
35
- case ToastVariant.error:
36
- return <Icon icon={mdiAlertCircle} color={NotificationsColorPalette.error} />;
37
- case ToastVariant.success:
38
- return <Icon icon={mdiCheckCircle} color={NotificationsColorPalette.success} />;
39
- case ToastVariant.warning:
40
- return <Icon icon={mdiAlert} color={NotificationsColorPalette.warning} />;
41
- case ToastVariant.loading:
42
- return <Spinner size="small" />;
43
- }
44
- };
45
-
46
- /**
47
- * The Toast component.
48
- */
49
- export const Toast: Comp<ToastProps & { closeToast?: () => void }, HTMLDivElement> = forwardRef((props, ref) => {
50
- const { children, className, closeToast, closeButton, title, variant, ...forwardedProps } = props;
51
-
52
- const stringFormatter = useLocalizedStringFormatter(intlMessages);
53
-
54
- const icon = getVariant(variant!);
55
-
56
- return (
57
- <StyledToast
58
- {...forwardedProps}
59
- className={classNames(Toast.className, className)}
60
- ref={ref as RefObject<HTMLDivElement>}
61
- $hasTitle={Boolean(title)}
62
- $variant={variant}
63
- >
64
- <Flexbox className={`${Toast.className}__header`} justifyContent="space-between">
65
- <Flexbox justifyContent="space-between" flexDirection="column" gap="0">
66
- <Flexbox className={`${Toast.className}-header__title`} gap="14px" alignItems="flex-start">
67
- {icon}
68
- {title ? <Text fontWeight={RedsiftTypographyFontWeightSemiBold}>{title}</Text> : null}
69
- </Flexbox>
70
-
71
- {children ? <div className={`${Toast.className}__content`}>{children}</div> : null}
72
- </Flexbox>
73
-
74
- {closeButton === true ? (
75
- <IconButton
76
- aria-label={stringFormatter.format('close')}
77
- className={`${Toast.className}-header__icon-button`}
78
- icon={mdiClose}
79
- onClick={closeToast}
80
- />
81
- ) : isComponent('Button')(closeButton) || isComponent('IconButton')(closeButton) ? (
82
- React.cloneElement(closeButton, {
83
- color: variant === 'loading' ? 'default' : (variant as ButtonColor),
84
- onClick: () => {
85
- closeButton.props.onClick?.();
86
- closeToast?.();
87
- },
88
- })
89
- ) : null}
90
- </Flexbox>
91
- </StyledToast>
92
- );
93
- });
94
- Toast.className = CLASSNAME;
95
- Toast.defaultProps = DEFAULT_PROPS;
96
- Toast.displayName = COMPONENT_NAME;
@@ -1,2 +0,0 @@
1
- export * from './types';
2
- export * from './Toast';
@@ -1,3 +0,0 @@
1
- {
2
- "close": "Close"
3
- }
@@ -1,3 +0,0 @@
1
- {
2
- "close": "Fermer"
3
- }
@@ -1,7 +0,0 @@
1
- import enUS from './en-US.json';
2
- import frFR from './fr-FR.json';
3
-
4
- export default {
5
- 'en-US': enUS,
6
- 'fr-FR': frFR,
7
- };
@@ -1,36 +0,0 @@
1
- import styled, { css } from 'styled-components';
2
- import { baseStyling } from '@redsift/design-system';
3
- import { StyledToastProps } from './types';
4
-
5
- /**
6
- * Component style.
7
- */
8
- export const StyledToast = styled.div<StyledToastProps>`
9
- ${baseStyling}
10
-
11
- padding: 16px;
12
- box-shadow: 0px 2px 4px -1px rgb(0 0 0 / 20%), 0px 4px 5px rgb(0 0 0 / 14%), 0px 1px 10px rgb(0 0 0 / 12%);
13
-
14
- ${({ $hasTitle, $variant }) => css`
15
- background-color: ${$variant === 'loading'
16
- ? 'var(--redsift-color-neutral-white)'
17
- : `var(--redsift-color-notifications-${$variant}-hover)`};
18
-
19
- .redsift-toast-header__icon-button {
20
- padding: 0px;
21
- .redsift-icon {
22
- color: var(--redsift-color-neutral-black);
23
- }
24
-
25
- &:hover,
26
- &:focus-visible {
27
- background-color: var(--redsift-color-notifications-${$variant}-active);
28
- }
29
- }
30
-
31
- .redsift-toast__content {
32
- margin-top: ${$hasTitle ? '8px' : '-24px'};
33
- margin-left: 38px;
34
- }
35
- `}
36
- `;
@@ -1,44 +0,0 @@
1
- import { ComponentProps, ReactNode } from 'react';
2
- import { ValueOf, SizingProps, SpacingProps } from '@redsift/design-system';
3
-
4
- /**
5
- * Component variant.
6
- */
7
- export const ToastVariant = {
8
- success: 'success',
9
- error: 'error',
10
- warning: 'warning',
11
- info: 'info',
12
- loading: 'loading',
13
- } as const;
14
- export type ToastVariant = ValueOf<typeof ToastVariant>;
15
-
16
- export const ToastPlacement = {
17
- 'top-right': 'top-right',
18
- 'top-center': 'top-center',
19
- 'top-left': 'top-left',
20
- 'bottom-right': 'bottom-right',
21
- 'bottom-center': 'bottom-center',
22
- 'bottom-left': 'bottom-left',
23
- } as const;
24
- export type ToastPlacement = ValueOf<typeof ToastPlacement>;
25
-
26
- /**
27
- * Component props.
28
- */
29
- export interface ToastProps
30
- extends Omit<ComponentProps<'div'>, 'id' | 'style'>,
31
- SpacingProps,
32
- SizingProps {
33
- /** Whether the component has a close button or not. */
34
- closeButton?: boolean | ReactNode;
35
- /** Title. */
36
- title?: string;
37
- /** Variant */
38
- variant?: ToastVariant;
39
- }
40
-
41
- export type StyledToastProps = Omit<ToastProps, 'variant' | 'id'> & {
42
- $hasTitle: boolean;
43
- $variant: ToastProps['variant'];
44
- };