@redsift/popovers 9.2.3 → 9.2.4-muiv5

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,55 +0,0 @@
1
- import React from 'react';
2
- import { partitionComponents, isComponent } from '@redsift/design-system';
3
- import { TooltipContent } from '../tooltip-content';
4
- import { TooltipTrigger } from '../tooltip-trigger';
5
-
6
- import { TooltipContext } from './context';
7
- import { TooltipPlacement, TooltipProps } from './types';
8
- import { useTooltip } from './useTooltip';
9
-
10
- const COMPONENT_NAME = 'Tooltip';
11
- const CLASSNAME = 'redsift-tooltip';
12
- const DEFAULT_PROPS: Partial<TooltipProps> = {
13
- delay: 500,
14
- placement: TooltipPlacement.top,
15
- };
16
-
17
- /**
18
- * The Tooltip component.
19
- */
20
- export const BaseTooltip: React.FC<TooltipProps> & {
21
- displayName?: string;
22
- className?: string;
23
- } = (props) => {
24
- const { children, defaultOpen, delay, isOpen, onOpen, placement, tooltipId } =
25
- props;
26
-
27
- const tooltip = useTooltip({
28
- defaultOpen,
29
- delay,
30
- placement,
31
- isOpen,
32
- onOpen,
33
- tooltipId,
34
- });
35
-
36
- const [[trigger], [content]] = partitionComponents(
37
- React.Children.toArray(children),
38
- [isComponent('TooltipTrigger'), isComponent('TooltipContent')]
39
- );
40
-
41
- return (
42
- <TooltipContext.Provider value={tooltip}>
43
- {trigger}
44
- {content}
45
- </TooltipContext.Provider>
46
- );
47
- };
48
- BaseTooltip.className = CLASSNAME;
49
- BaseTooltip.defaultProps = DEFAULT_PROPS;
50
- BaseTooltip.displayName = COMPONENT_NAME;
51
-
52
- export const Tooltip = Object.assign(BaseTooltip, {
53
- Trigger: TooltipTrigger,
54
- Content: TooltipContent,
55
- });
@@ -1,4 +0,0 @@
1
- import React from 'react';
2
- import { TooltipState } from './types';
3
-
4
- export const TooltipContext = React.createContext<TooltipState | null>(null);
@@ -1,5 +0,0 @@
1
- export * from './context';
2
- export * from './types';
3
- export * from './Tooltip';
4
- export * from './useTooltip';
5
- export * from './useTooltipContext';
@@ -1,55 +0,0 @@
1
- import { ReactNode } from 'react';
2
- import { ValueOf } from '@redsift/design-system';
3
- import { useTooltip } from './useTooltip';
4
-
5
- /**
6
- * Context props.
7
- */
8
- export type TooltipState = ReturnType<typeof useTooltip> | null;
9
-
10
- /**
11
- * Component variant.
12
- */
13
- export const TooltipPlacement = {
14
- top: 'top',
15
- right: 'right',
16
- bottom: 'bottom',
17
- left: 'left',
18
- 'top-start': 'top-start',
19
- 'top-end': 'top-end',
20
- 'right-start': 'right-start',
21
- 'right-end': 'right-end',
22
- 'bottom-start': 'bottom-start',
23
- 'bottom-end': 'bottom-end',
24
- 'left-start': 'left-start',
25
- 'left-end': 'left-end',
26
- } as const;
27
- export type TooltipPlacement = ValueOf<typeof TooltipPlacement>;
28
-
29
- /**
30
- * Component props.
31
- */
32
- export interface TooltipProps {
33
- /** Children. Can only be TooltipTrigger and TooltilContent. */
34
- children: ReactNode;
35
- /**
36
- * Default open status.
37
- * Used for uncontrolled version.
38
- */
39
- defaultOpen?: boolean;
40
- /** Delay time (in ms) for the tooltip to show up. */
41
- delay?: number;
42
- /** Default placement of the tooltip. */
43
- placement?: TooltipPlacement;
44
- /**
45
- * Whether the component is opened or not.
46
- * Used for controlled version.
47
- */
48
- isOpen?: boolean;
49
- /** Method to handle component change. */
50
- onOpen?: (open: boolean) => void;
51
- /** Id to the tooltip content. */
52
- tooltipId?: string;
53
- }
54
-
55
- export type StyledTooltipProps = TooltipProps;
@@ -1,93 +0,0 @@
1
- import React, { useCallback, useEffect, useRef, useState } from 'react';
2
- import {
3
- useFloating,
4
- arrow,
5
- autoUpdate,
6
- offset,
7
- flip,
8
- safePolygon,
9
- shift,
10
- useHover,
11
- useFocus,
12
- useDismiss,
13
- useRole,
14
- useInteractions,
15
- } from '@floating-ui/react';
16
- import { TooltipProps } from './types';
17
- import { useId } from '@redsift/design-system';
18
-
19
- export function useTooltip({
20
- defaultOpen,
21
- delay,
22
- placement,
23
- isOpen: propsIsOpen,
24
- onOpen,
25
- tooltipId: propsTooltipId,
26
- }: Omit<TooltipProps, 'children'>) {
27
- const arrowRef = useRef(null);
28
- const [isOpen, setIsOpen] = useState(propsIsOpen ?? defaultOpen);
29
-
30
- const [_id] = useId();
31
- const tooltipId = propsTooltipId ?? _id;
32
-
33
- useEffect(() => {
34
- setIsOpen(propsIsOpen ?? defaultOpen);
35
- }, [propsIsOpen, defaultOpen]);
36
-
37
- const handleOpen = useCallback(
38
- (collapsed: boolean) => {
39
- if (onOpen) {
40
- onOpen(collapsed);
41
- }
42
- if (propsIsOpen === undefined || propsIsOpen === null) {
43
- setIsOpen(collapsed);
44
- }
45
- },
46
- [onOpen]
47
- );
48
-
49
- const data = useFloating({
50
- placement,
51
- open: isOpen,
52
- onOpenChange: handleOpen,
53
- whileElementsMounted: autoUpdate,
54
- middleware: [
55
- offset(8),
56
- flip({
57
- fallbackAxisSideDirection: 'start',
58
- }),
59
- shift({ padding: 8 }),
60
- arrow({
61
- element: arrowRef,
62
- }),
63
- ],
64
- });
65
-
66
- const context = data.context;
67
-
68
- const hover = useHover(context, {
69
- move: false,
70
- delay: {
71
- open: delay,
72
- close: 0,
73
- },
74
- handleClose: safePolygon(),
75
- });
76
- const focus = useFocus(context);
77
- const dismiss = useDismiss(context);
78
- const role = useRole(context, { role: 'tooltip' });
79
-
80
- const interactions = useInteractions([hover, focus, dismiss, role]);
81
-
82
- return React.useMemo(
83
- () => ({
84
- isOpen,
85
- handleOpen,
86
- ...interactions,
87
- ...data,
88
- arrowRef,
89
- tooltipId,
90
- }),
91
- [isOpen, handleOpen, interactions, data, arrowRef, tooltipId]
92
- );
93
- }
@@ -1,12 +0,0 @@
1
- import React from 'react';
2
- import { TooltipContext } from './context';
3
-
4
- export const useTooltipContext = () => {
5
- const context = React.useContext(TooltipContext);
6
-
7
- if (context == null) {
8
- throw new Error('Tooltip components must be wrapped in <Tooltip />');
9
- }
10
-
11
- return context;
12
- };
@@ -1,76 +0,0 @@
1
- import React, { forwardRef } from 'react';
2
- import { useMergeRefs, FloatingPortal } from '@floating-ui/react';
3
-
4
- import { Comp } from '@redsift/design-system';
5
- import { TooltipContentProps } from './types';
6
- import { TooltipPlacement, useTooltipContext } from '../tooltip';
7
- import { StyledTooltipContent } from './styles';
8
- import classNames from 'classnames';
9
-
10
- const COMPONENT_NAME = 'TooltipContent';
11
- const CLASSNAME = 'redsift-tooltip-content';
12
- const DEFAULT_PROPS: Partial<TooltipContentProps> = {};
13
-
14
- /**
15
- * The TooltipContent component.
16
- */
17
- export const TooltipContent: Comp<TooltipContentProps, HTMLDivElement> =
18
- forwardRef((props, ref) => {
19
- const { children, className, style } = props;
20
- const {
21
- getFloatingProps,
22
- isOpen,
23
- placement,
24
- refs,
25
- strategy,
26
- x,
27
- y,
28
- middlewareData: { arrow: { x: arrowX, y: arrowY } = {} },
29
- } = useTooltipContext();
30
- const popoverRef = useMergeRefs([refs.setFloating, ref]);
31
-
32
- const { arrowRef } = useTooltipContext();
33
-
34
- const staticSide = {
35
- top: 'bottom',
36
- right: 'left',
37
- bottom: 'top',
38
- left: 'right',
39
- }[placement.split('-')[0]];
40
-
41
- return (
42
- <FloatingPortal id="redsift-app-container">
43
- {isOpen && (
44
- <StyledTooltipContent
45
- className={classNames(TooltipContent.className, className)}
46
- ref={popoverRef}
47
- style={{
48
- position: strategy,
49
- top: y ?? 0,
50
- left: x ?? 0,
51
- visibility: x == null ? 'hidden' : 'visible',
52
- ...style,
53
- }}
54
- {...getFloatingProps(props)}
55
- $placement={placement as TooltipPlacement}
56
- >
57
- <div
58
- ref={arrowRef}
59
- className={`${TooltipContent.className}__arrow`}
60
- style={{
61
- left: arrowX != null ? `${arrowX}px` : '',
62
- top: arrowY != null ? `${arrowY}px` : '',
63
- [staticSide!]: '-6px',
64
- }}
65
- />
66
- <div className={`${TooltipContent.className}__inner`}>
67
- {children}
68
- </div>
69
- </StyledTooltipContent>
70
- )}
71
- </FloatingPortal>
72
- );
73
- });
74
- TooltipContent.className = CLASSNAME;
75
- TooltipContent.defaultProps = DEFAULT_PROPS;
76
- TooltipContent.displayName = COMPONENT_NAME;
@@ -1,2 +0,0 @@
1
- export * from './types';
2
- export * from './TooltipContent';
@@ -1,84 +0,0 @@
1
- import styled, { css } from 'styled-components';
2
- import { baseContainer } from '@redsift/design-system';
3
- import { TooltipPlacement } from '../tooltip';
4
- import { StyledTooltipContentProps } from './types';
5
-
6
- /**
7
- * Component style.
8
- */
9
- export const StyledTooltipContent = styled.div<StyledTooltipContentProps>`
10
- ${baseContainer}
11
-
12
- align-items: center;
13
- background-color: var(--redsift-color-neutral-white);
14
- border-radius: 4px;
15
- box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2);
16
- color: var(--redsift-color-neutral-black);
17
- display: flex;
18
- filter: drop-shadow(0px 4px 5px rgba(0, 0, 0, 0.14)) drop-shadow(0px 1px 10px rgba(0, 0, 0, 0.12));
19
- font-family: var(--redsift-typography-tooltip-font-family);
20
- font-size: var(--redsift-typography-tooltip-font-size);
21
- font-weight: var(--redsift-typography-tooltip-font-weight);
22
- line-height: var(--redsift-typography-tooltip-line-height);
23
- max-width: calc(100vw - 48px);
24
- padding: 4px 8px;
25
- z-index: var(--redsift-layout-z-index-tooltip);
26
-
27
- .redsift-tooltip-content__arrow {
28
- position: absolute;
29
- width: 0;
30
- height: 0;
31
- border-color: var(--redsift-color-neutral-white);
32
- border-style: solid;
33
- }
34
-
35
- ${({ $placement }) => {
36
- switch ($placement) {
37
- case TooltipPlacement.left:
38
- case TooltipPlacement['left-end']:
39
- case TooltipPlacement['left-start']:
40
- return css`
41
- .redsift-tooltip-content__arrow {
42
- border-width: 6px 0 6px 6px;
43
- border-top-color: transparent;
44
- border-right-color: transparent;
45
- border-bottom-color: transparent;
46
- }
47
- `;
48
- case TooltipPlacement.top:
49
- case TooltipPlacement['top-end']:
50
- case TooltipPlacement['top-start']:
51
- return css`
52
- .redsift-tooltip-content__arrow {
53
- border-width: 6px 6px 0;
54
- border-right-color: transparent;
55
- border-bottom-color: transparent;
56
- border-left-color: transparent;
57
- }
58
- `;
59
- case TooltipPlacement.right:
60
- case TooltipPlacement['right-end']:
61
- case TooltipPlacement['right-start']:
62
- return css`
63
- .redsift-tooltip-content__arrow {
64
- border-width: 6px 6px 6px 0;
65
- border-top-color: transparent;
66
- border-bottom-color: transparent;
67
- border-left-color: transparent;
68
- }
69
- `;
70
- case TooltipPlacement.bottom:
71
- case TooltipPlacement['bottom-end']:
72
- case TooltipPlacement['bottom-start']:
73
- default:
74
- return css`
75
- .redsift-tooltip-content__arrow {
76
- border-width: 0 6px 6px;
77
- border-top-color: transparent;
78
- border-right-color: transparent;
79
- border-left-color: transparent;
80
- }
81
- `;
82
- }
83
- }}
84
- `;
@@ -1,14 +0,0 @@
1
- import { ComponentProps } from 'react';
2
- import { ContainerProps, InternalSpacingProps } from '@redsift/design-system';
3
- import { TooltipPlacement } from '../tooltip';
4
-
5
- /**
6
- * Component props.
7
- */
8
- export interface TooltipContentProps
9
- extends ComponentProps<'div'>,
10
- Omit<ContainerProps, keyof InternalSpacingProps> {}
11
-
12
- export type StyledTooltipContentProps = TooltipContentProps & {
13
- $placement: TooltipPlacement;
14
- };
@@ -1,42 +0,0 @@
1
- import React, { forwardRef, ReactElement } from 'react';
2
- import { useMergeRefs } from '@floating-ui/react';
3
-
4
- import { Comp } from '@redsift/design-system';
5
- import { useTooltipContext } from '../tooltip';
6
- import { TooltipTriggerProps } from './types';
7
-
8
- const COMPONENT_NAME = 'TooltipTrigger';
9
- const CLASSNAME = 'redsift-tooltip-trigger';
10
- const DEFAULT_PROPS: Partial<TooltipTriggerProps> = {};
11
-
12
- /**
13
- * The TooltipTrigger component.
14
- */
15
- export const TooltipTrigger: Comp<TooltipTriggerProps, HTMLSpanElement> = forwardRef((props, ref) => {
16
- const { children } = props;
17
-
18
- const { getReferenceProps, refs, tooltipId } = useTooltipContext();
19
- const childrenRef = (children as any).ref;
20
- const triggerRef = useMergeRefs([refs.setReference, ref, childrenRef]);
21
-
22
- if (React.isValidElement(children)) {
23
- return React.cloneElement(children as ReactElement, {
24
- ...getReferenceProps({
25
- ref: triggerRef,
26
- ...props,
27
- 'aria-describedby': tooltipId,
28
- ...children.props,
29
- children: children.props.children ?? '',
30
- }),
31
- });
32
- }
33
-
34
- return (
35
- <span ref={triggerRef} {...getReferenceProps(props)}>
36
- {children}
37
- </span>
38
- );
39
- });
40
- TooltipTrigger.className = CLASSNAME;
41
- TooltipTrigger.defaultProps = DEFAULT_PROPS;
42
- TooltipTrigger.displayName = COMPONENT_NAME;
@@ -1,2 +0,0 @@
1
- export * from './types';
2
- export * from './TooltipTrigger';
@@ -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 TooltipTriggerProps
8
- extends ComponentProps<'span'>,
9
- StylingProps {}
package/src/index.ts DELETED
@@ -1,16 +0,0 @@
1
- export * from './components/dialog';
2
- export * from './components/dialog-content';
3
- export * from './components/dialog-content-actions';
4
- export * from './components/dialog-content-body';
5
- export * from './components/dialog-content-header';
6
- export * from './components/dialog-trigger';
7
- export * from './components/popover';
8
- export * from './components/popover-content';
9
- export * from './components/popover-trigger';
10
- export * from './components/toast';
11
- export * from './components/toast-container';
12
- export * from './components/tooltip';
13
- export * from './components/tooltip-content';
14
- export * from './components/tooltip-trigger';
15
-
16
- export { useMergeRefs, FloatingPortal } from '@floating-ui/react';
package/tsconfig.json DELETED
@@ -1,3 +0,0 @@
1
- {
2
- "extends": "../../tsconfig"
3
- }
File without changes
File without changes
File without changes
File without changes