datocms-react-ui 2.0.18 → 2.0.19

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 (31) hide show
  1. package/dist/cjs/Tooltip/TooltipContent/index.js +1 -1
  2. package/dist/cjs/Tooltip/TooltipContent/index.js.map +1 -1
  3. package/dist/cjs/Tooltip/TooltipDelayGroup/index.js +140 -0
  4. package/dist/cjs/Tooltip/TooltipDelayGroup/index.js.map +1 -0
  5. package/dist/cjs/Tooltip/TooltipTrigger/index.js +1 -1
  6. package/dist/cjs/Tooltip/TooltipTrigger/index.js.map +1 -1
  7. package/dist/cjs/Tooltip/index.js +3 -1
  8. package/dist/cjs/Tooltip/index.js.map +1 -1
  9. package/dist/esm/Tooltip/Tooltip/index.js.map +1 -1
  10. package/dist/esm/Tooltip/TooltipContent/index.js +2 -2
  11. package/dist/esm/Tooltip/TooltipContent/index.js.map +1 -1
  12. package/dist/esm/Tooltip/TooltipDelayGroup/index.d.ts +118 -0
  13. package/dist/esm/Tooltip/TooltipDelayGroup/index.js +113 -0
  14. package/dist/esm/Tooltip/TooltipDelayGroup/index.js.map +1 -0
  15. package/dist/esm/Tooltip/TooltipTrigger/index.d.ts +4 -2
  16. package/dist/esm/Tooltip/TooltipTrigger/index.js +1 -1
  17. package/dist/esm/Tooltip/TooltipTrigger/index.js.map +1 -1
  18. package/dist/esm/Tooltip/index.d.ts +2 -0
  19. package/dist/esm/Tooltip/index.js +1 -0
  20. package/dist/esm/Tooltip/index.js.map +1 -1
  21. package/dist/types/Tooltip/TooltipDelayGroup/index.d.ts +118 -0
  22. package/dist/types/Tooltip/TooltipTrigger/index.d.ts +4 -2
  23. package/dist/types/Tooltip/index.d.ts +2 -0
  24. package/package.json +2 -2
  25. package/src/Tooltip/Tooltip/index.tsx +1 -1
  26. package/src/Tooltip/TooltipContent/index.tsx +12 -7
  27. package/src/Tooltip/TooltipDelayGroup/index.tsx +128 -0
  28. package/src/Tooltip/TooltipTrigger/index.tsx +9 -6
  29. package/src/Tooltip/index.ts +2 -0
  30. package/src/Tooltip/utils.ts +1 -1
  31. package/types.json +1058 -5026
@@ -0,0 +1,118 @@
1
+ import * as React from 'react';
2
+ export declare type TooltipDelayGroupProps = {
3
+ children?: React.ReactNode;
4
+ /** The delay in milliseconds before a tooltip opens on hover (default: 1000) */
5
+ delay?: number | {
6
+ open?: number;
7
+ close?: number;
8
+ };
9
+ /** How long to wait in milliseconds before closing the group (default: 0) */
10
+ timeoutMs?: number;
11
+ };
12
+ /**
13
+ * TooltipDelayGroup synchronizes hover delays across multiple tooltips.
14
+ *
15
+ * When tooltips are wrapped in a delay group, hovering over the first tooltip
16
+ * will use the configured delay, but subsequent tooltips in the group will
17
+ * open instantly. This creates a smoother UX when users explore multiple
18
+ * interactive elements with tooltips.
19
+ *
20
+ * @example Basic delay group
21
+ *
22
+ * Group multiple tooltips together so they open instantly after the first one:
23
+ *
24
+ * ```js
25
+ * <Canvas ctx={ctx}>
26
+ * <TooltipDelayGroup delay={500}>
27
+ * <div style={{ display: 'flex', gap: 'var(--spacing-m)' }}>
28
+ * <Tooltip>
29
+ * <TooltipTrigger>
30
+ * <Button leftIcon={<SaveIcon />} />
31
+ * </TooltipTrigger>
32
+ * <TooltipContent>Save changes</TooltipContent>
33
+ * </Tooltip>
34
+ *
35
+ * <Tooltip>
36
+ * <TooltipTrigger>
37
+ * <Button leftIcon={<UndoIcon />} />
38
+ * </TooltipTrigger>
39
+ * <TooltipContent>Undo</TooltipContent>
40
+ * </Tooltip>
41
+ *
42
+ * <Tooltip>
43
+ * <TooltipTrigger>
44
+ * <Button leftIcon={<RedoIcon />} />
45
+ * </TooltipTrigger>
46
+ * <TooltipContent>Redo</TooltipContent>
47
+ * </Tooltip>
48
+ * </div>
49
+ * </TooltipDelayGroup>
50
+ * </Canvas>;
51
+ * ```
52
+ *
53
+ * @example Custom delay configuration
54
+ *
55
+ * Configure different delays for opening and closing tooltips in the group:
56
+ *
57
+ * ```js
58
+ * <Canvas ctx={ctx}>
59
+ * <TooltipDelayGroup delay={{ open: 800, close: 200 }} timeoutMs={500}>
60
+ * <div style={{ display: 'flex', gap: 'var(--spacing-s)' }}>
61
+ * <Tooltip>
62
+ * <TooltipTrigger>
63
+ * <Button>Action 1</Button>
64
+ * </TooltipTrigger>
65
+ * <TooltipContent>First action</TooltipContent>
66
+ * </Tooltip>
67
+ *
68
+ * <Tooltip>
69
+ * <TooltipTrigger>
70
+ * <Button>Action 2</Button>
71
+ * </TooltipTrigger>
72
+ * <TooltipContent>Second action</TooltipContent>
73
+ * </Tooltip>
74
+ * </div>
75
+ * </TooltipDelayGroup>
76
+ * </Canvas>;
77
+ * ```
78
+ *
79
+ * @example Toolbar with grouped tooltips
80
+ *
81
+ * Create a toolbar where hovering between tools feels instant and responsive:
82
+ *
83
+ * ```js
84
+ * <Canvas ctx={ctx}>
85
+ * <TooltipDelayGroup delay={600}>
86
+ * <div style={{
87
+ * display: 'flex',
88
+ * gap: 'var(--spacing-xs)',
89
+ * padding: 'var(--spacing-s)',
90
+ * borderRadius: 'var(--border-radius-m)',
91
+ * backgroundColor: 'var(--light-bg-color)'
92
+ * }}>
93
+ * <Tooltip>
94
+ * <TooltipTrigger>
95
+ * <Button buttonSize="s" leftIcon={<BoldIcon />} />
96
+ * </TooltipTrigger>
97
+ * <TooltipContent>Bold</TooltipContent>
98
+ * </Tooltip>
99
+ *
100
+ * <Tooltip>
101
+ * <TooltipTrigger>
102
+ * <Button buttonSize="s" leftIcon={<ItalicIcon />} />
103
+ * </TooltipTrigger>
104
+ * <TooltipContent>Italic</TooltipContent>
105
+ * </Tooltip>
106
+ *
107
+ * <Tooltip>
108
+ * <TooltipTrigger>
109
+ * <Button buttonSize="s" leftIcon={<UnderlineIcon />} />
110
+ * </TooltipTrigger>
111
+ * <TooltipContent>Underline</TooltipContent>
112
+ * </Tooltip>
113
+ * </div>
114
+ * </TooltipDelayGroup>
115
+ * </Canvas>;
116
+ * ```
117
+ */
118
+ export declare function TooltipDelayGroup({ children, delay, timeoutMs, }: TooltipDelayGroupProps): JSX.Element;
@@ -1,5 +1,7 @@
1
1
  import * as React from 'react';
2
- export declare type TooltipTriggerProps = React.HTMLProps<HTMLElement>;
2
+ export declare type TooltipTriggerProps = {
3
+ children: React.ReactElement;
4
+ };
3
5
  /**
4
6
  * TooltipTrigger wraps the element that triggers the tooltip on hover/focus.
5
7
  *
@@ -40,4 +42,4 @@ export declare type TooltipTriggerProps = React.HTMLProps<HTMLElement>;
40
42
  * </Canvas>;
41
43
  * ```
42
44
  */
43
- export declare const TooltipTrigger: React.ForwardRefExoticComponent<Pick<TooltipTriggerProps, "width" | "height" | "style" | "className" | "cite" | "data" | "form" | "label" | "slot" | "span" | "summary" | "title" | "pattern" | "type" | "muted" | "children" | "disabled" | "onClick" | "target" | "href" | "selected" | "value" | "open" | "name" | "rel" | "useMap" | "color" | "hidden" | "onChange" | "onKeyDown" | "placeholder" | "id" | "required" | "htmlFor" | "default" | "onSubmit" | "alt" | "aria-errormessage" | "aria-invalid" | "aria-label" | "aria-labelledby" | "aria-live" | "autoFocus" | "onBlur" | "onFocus" | "tabIndex" | "defaultValue" | "content" | "translate" | "start" | "size" | "wrap" | "multiple" | "onMouseDown" | "onMouseMove" | "onMouseUp" | "action" | "list" | "role" | "onTouchStart" | "sizes" | "onDragStart" | "onDragEnd" | "defaultChecked" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "lang" | "spellCheck" | "radioGroup" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-keyshortcuts" | "aria-level" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocusCapture" | "onBlurCapture" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "step" | "key" | "autoComplete" | "cols" | "maxLength" | "minLength" | "readOnly" | "rows" | "accept" | "capture" | "checked" | "crossOrigin" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget" | "max" | "min" | "src" | "acceptCharset" | "allowFullScreen" | "allowTransparency" | "as" | "async" | "autoPlay" | "cellPadding" | "cellSpacing" | "charSet" | "challenge" | "classID" | "colSpan" | "controls" | "coords" | "dateTime" | "defer" | "download" | "encType" | "frameBorder" | "headers" | "high" | "hrefLang" | "httpEquiv" | "integrity" | "keyParams" | "keyType" | "kind" | "loop" | "low" | "manifest" | "marginHeight" | "marginWidth" | "media" | "mediaGroup" | "method" | "nonce" | "noValidate" | "optimum" | "playsInline" | "poster" | "preload" | "reversed" | "rowSpan" | "sandbox" | "scope" | "scoped" | "scrolling" | "seamless" | "shape" | "srcDoc" | "srcLang" | "srcSet" | "wmode"> & React.RefAttributes<HTMLElement>>;
45
+ export declare const TooltipTrigger: React.ForwardRefExoticComponent<TooltipTriggerProps & React.RefAttributes<HTMLElement>>;
@@ -2,5 +2,7 @@ export { Tooltip } from './Tooltip';
2
2
  export type { TooltipProps } from './Tooltip';
3
3
  export { TooltipContent } from './TooltipContent';
4
4
  export type { TooltipContentProps } from './TooltipContent';
5
+ export { TooltipDelayGroup } from './TooltipDelayGroup';
6
+ export type { TooltipDelayGroupProps } from './TooltipDelayGroup';
5
7
  export { TooltipTrigger } from './TooltipTrigger';
6
8
  export type { TooltipTriggerProps } from './TooltipTrigger';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "datocms-react-ui",
3
- "version": "2.0.18",
3
+ "version": "2.0.19",
4
4
  "description": "React components to use inside DatoCMS plugins",
5
5
  "keywords": [
6
6
  "datocms",
@@ -58,5 +58,5 @@
58
58
  "postcss-nested": "^5.0.6",
59
59
  "typedoc": "^0.26.7"
60
60
  },
61
- "gitHead": "59657aeaa34d9723d21537503933b2d7c92e7e39"
61
+ "gitHead": "136cd08943c66f818b29e51313acc009f26163e8"
62
62
  }
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import { TooltipContext, useTooltip, TooltipOptions } from '../utils';
2
+ import { TooltipContext, TooltipOptions, useTooltip } from '../utils';
3
3
 
4
4
  export type TooltipProps = {
5
5
  children?: React.ReactNode;
@@ -1,13 +1,17 @@
1
- import * as React from 'react';
2
1
  import {
3
2
  FloatingPortal,
4
- useMergeRefs,
5
3
  useDelayGroup,
6
4
  useDelayGroupContext,
5
+ useMergeRefs,
7
6
  useTransitionStyles,
8
7
  } from '@floating-ui/react';
8
+ import * as React from 'react';
9
9
  import { Canvas, useCtx } from '../../Canvas';
10
- import { useTooltipState, getSharedPortalRoot, releaseSharedPortalRoot } from '../utils';
10
+ import {
11
+ getSharedPortalRoot,
12
+ releaseSharedPortalRoot,
13
+ useTooltipState,
14
+ } from '../utils';
11
15
  import s from './styles.module.css.json';
12
16
 
13
17
  export type TooltipContentProps = {
@@ -77,8 +81,10 @@ export type TooltipContentProps = {
77
81
  * </Canvas>;
78
82
  * ```
79
83
  */
80
- export const TooltipContent = React.forwardRef<HTMLDivElement, TooltipContentProps>(
81
- function TooltipContent({ children }, propRef) {
84
+ export const TooltipContent = React.forwardRef<
85
+ HTMLDivElement,
86
+ TooltipContentProps
87
+ >(function TooltipContent({ children }, propRef) {
82
88
  const ctx = useCtx();
83
89
  const state = useTooltipState();
84
90
  const { isInstantPhase, currentId } = useDelayGroupContext();
@@ -136,5 +142,4 @@ export const TooltipContent = React.forwardRef<HTMLDivElement, TooltipContentPro
136
142
  </Canvas>
137
143
  </FloatingPortal>
138
144
  );
139
- },
140
- );
145
+ });
@@ -0,0 +1,128 @@
1
+ import { FloatingDelayGroup } from '@floating-ui/react';
2
+ import * as React from 'react';
3
+
4
+ export type TooltipDelayGroupProps = {
5
+ children?: React.ReactNode;
6
+ /** The delay in milliseconds before a tooltip opens on hover (default: 1000) */
7
+ delay?: number | { open?: number; close?: number };
8
+ /** How long to wait in milliseconds before closing the group (default: 0) */
9
+ timeoutMs?: number;
10
+ };
11
+
12
+ /**
13
+ * TooltipDelayGroup synchronizes hover delays across multiple tooltips.
14
+ *
15
+ * When tooltips are wrapped in a delay group, hovering over the first tooltip
16
+ * will use the configured delay, but subsequent tooltips in the group will
17
+ * open instantly. This creates a smoother UX when users explore multiple
18
+ * interactive elements with tooltips.
19
+ *
20
+ * @example Basic delay group
21
+ *
22
+ * Group multiple tooltips together so they open instantly after the first one:
23
+ *
24
+ * ```js
25
+ * <Canvas ctx={ctx}>
26
+ * <TooltipDelayGroup delay={500}>
27
+ * <div style={{ display: 'flex', gap: 'var(--spacing-m)' }}>
28
+ * <Tooltip>
29
+ * <TooltipTrigger>
30
+ * <Button leftIcon={<SaveIcon />} />
31
+ * </TooltipTrigger>
32
+ * <TooltipContent>Save changes</TooltipContent>
33
+ * </Tooltip>
34
+ *
35
+ * <Tooltip>
36
+ * <TooltipTrigger>
37
+ * <Button leftIcon={<UndoIcon />} />
38
+ * </TooltipTrigger>
39
+ * <TooltipContent>Undo</TooltipContent>
40
+ * </Tooltip>
41
+ *
42
+ * <Tooltip>
43
+ * <TooltipTrigger>
44
+ * <Button leftIcon={<RedoIcon />} />
45
+ * </TooltipTrigger>
46
+ * <TooltipContent>Redo</TooltipContent>
47
+ * </Tooltip>
48
+ * </div>
49
+ * </TooltipDelayGroup>
50
+ * </Canvas>;
51
+ * ```
52
+ *
53
+ * @example Custom delay configuration
54
+ *
55
+ * Configure different delays for opening and closing tooltips in the group:
56
+ *
57
+ * ```js
58
+ * <Canvas ctx={ctx}>
59
+ * <TooltipDelayGroup delay={{ open: 800, close: 200 }} timeoutMs={500}>
60
+ * <div style={{ display: 'flex', gap: 'var(--spacing-s)' }}>
61
+ * <Tooltip>
62
+ * <TooltipTrigger>
63
+ * <Button>Action 1</Button>
64
+ * </TooltipTrigger>
65
+ * <TooltipContent>First action</TooltipContent>
66
+ * </Tooltip>
67
+ *
68
+ * <Tooltip>
69
+ * <TooltipTrigger>
70
+ * <Button>Action 2</Button>
71
+ * </TooltipTrigger>
72
+ * <TooltipContent>Second action</TooltipContent>
73
+ * </Tooltip>
74
+ * </div>
75
+ * </TooltipDelayGroup>
76
+ * </Canvas>;
77
+ * ```
78
+ *
79
+ * @example Toolbar with grouped tooltips
80
+ *
81
+ * Create a toolbar where hovering between tools feels instant and responsive:
82
+ *
83
+ * ```js
84
+ * <Canvas ctx={ctx}>
85
+ * <TooltipDelayGroup delay={600}>
86
+ * <div style={{
87
+ * display: 'flex',
88
+ * gap: 'var(--spacing-xs)',
89
+ * padding: 'var(--spacing-s)',
90
+ * borderRadius: 'var(--border-radius-m)',
91
+ * backgroundColor: 'var(--light-bg-color)'
92
+ * }}>
93
+ * <Tooltip>
94
+ * <TooltipTrigger>
95
+ * <Button buttonSize="s" leftIcon={<BoldIcon />} />
96
+ * </TooltipTrigger>
97
+ * <TooltipContent>Bold</TooltipContent>
98
+ * </Tooltip>
99
+ *
100
+ * <Tooltip>
101
+ * <TooltipTrigger>
102
+ * <Button buttonSize="s" leftIcon={<ItalicIcon />} />
103
+ * </TooltipTrigger>
104
+ * <TooltipContent>Italic</TooltipContent>
105
+ * </Tooltip>
106
+ *
107
+ * <Tooltip>
108
+ * <TooltipTrigger>
109
+ * <Button buttonSize="s" leftIcon={<UnderlineIcon />} />
110
+ * </TooltipTrigger>
111
+ * <TooltipContent>Underline</TooltipContent>
112
+ * </Tooltip>
113
+ * </div>
114
+ * </TooltipDelayGroup>
115
+ * </Canvas>;
116
+ * ```
117
+ */
118
+ export function TooltipDelayGroup({
119
+ children,
120
+ delay = 1000,
121
+ timeoutMs = 0,
122
+ }: TooltipDelayGroupProps) {
123
+ return (
124
+ <FloatingDelayGroup delay={delay} timeoutMs={timeoutMs}>
125
+ {children}
126
+ </FloatingDelayGroup>
127
+ );
128
+ }
@@ -1,8 +1,10 @@
1
- import * as React from 'react';
2
1
  import { useMergeRefs } from '@floating-ui/react';
2
+ import * as React from 'react';
3
3
  import { useTooltipState } from '../utils';
4
4
 
5
- export type TooltipTriggerProps = React.HTMLProps<HTMLElement>;
5
+ export type TooltipTriggerProps = {
6
+ children: React.ReactElement;
7
+ };
6
8
 
7
9
  /**
8
10
  * TooltipTrigger wraps the element that triggers the tooltip on hover/focus.
@@ -44,8 +46,10 @@ export type TooltipTriggerProps = React.HTMLProps<HTMLElement>;
44
46
  * </Canvas>;
45
47
  * ```
46
48
  */
47
- export const TooltipTrigger = React.forwardRef<HTMLElement, TooltipTriggerProps>(
48
- function TooltipTrigger({ children, ...props }, propRef) {
49
+ export const TooltipTrigger = React.forwardRef<
50
+ HTMLElement,
51
+ TooltipTriggerProps
52
+ >(function TooltipTrigger({ children, ...props }, propRef) {
49
53
  const state = useTooltipState();
50
54
 
51
55
  const childrenRef = (children as any).ref;
@@ -64,5 +68,4 @@ export const TooltipTrigger = React.forwardRef<HTMLElement, TooltipTriggerProps>
64
68
  'data-state': state.open ? 'open' : 'closed',
65
69
  }),
66
70
  );
67
- },
68
- );
71
+ });
@@ -2,5 +2,7 @@ export { Tooltip } from './Tooltip';
2
2
  export type { TooltipProps } from './Tooltip';
3
3
  export { TooltipContent } from './TooltipContent';
4
4
  export type { TooltipContentProps } from './TooltipContent';
5
+ export { TooltipDelayGroup } from './TooltipDelayGroup';
6
+ export type { TooltipDelayGroupProps } from './TooltipDelayGroup';
5
7
  export { TooltipTrigger } from './TooltipTrigger';
6
8
  export type { TooltipTriggerProps } from './TooltipTrigger';
@@ -157,7 +157,7 @@ export function useTooltip({
157
157
  ...interactions,
158
158
  ...data,
159
159
  }),
160
- [open, setOpen, interactions, data]
160
+ [open, setOpen, interactions, data],
161
161
  );
162
162
  }
163
163