@tamagui/tooltip 3.0.0-beta.922.1 → 3.0.0
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/dist/cjs/Tooltip.cjs +43 -13
- package/dist/cjs/TooltipSimple.cjs +14 -9
- package/dist/esm/Tooltip.mjs +44 -14
- package/dist/esm/Tooltip.mjs.map +1 -1
- package/dist/esm/TooltipSimple.mjs +15 -10
- package/dist/esm/TooltipSimple.mjs.map +1 -1
- package/dist/jsx/Tooltip.mjs +44 -14
- package/dist/jsx/Tooltip.mjs.map +1 -1
- package/dist/jsx/TooltipSimple.mjs +15 -10
- package/dist/jsx/TooltipSimple.mjs.map +1 -1
- package/package.json +17 -16
- package/src/Tooltip.tsx +50 -30
- package/src/TooltipSimple.tsx +14 -15
- package/types/Tooltip.d.ts +2 -8
- package/types/Tooltip.d.ts.map +1 -1
- package/types/TooltipSimple.d.ts +2 -0
- package/types/TooltipSimple.d.ts.map +1 -1
package/dist/cjs/Tooltip.cjs
CHANGED
|
@@ -36,22 +36,27 @@ var import_polyfill_dev = require("@tamagui/polyfill-dev");
|
|
|
36
36
|
var import_floating = require("@tamagui/floating");
|
|
37
37
|
var import_core2 = require("@tamagui/core");
|
|
38
38
|
var import_floating2 = require("@tamagui/floating");
|
|
39
|
-
var import_get_token = require("@tamagui/get-token");
|
|
40
39
|
var import_helpers = require("@tamagui/helpers");
|
|
41
40
|
var import_popover = require("@tamagui/popover");
|
|
42
41
|
var import_popper = require("@tamagui/popper");
|
|
43
|
-
var import_stacks = require("@tamagui/stacks");
|
|
44
42
|
var import_use_controllable_state = require("@tamagui/use-controllable-state");
|
|
45
43
|
var React = __toESM(require("react"), 1);
|
|
46
44
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
47
45
|
const TOOLTIP_SCOPE = "";
|
|
48
|
-
const TooltipContentFrame = (0, import_core.styled)(import_popper.PopperContentFrame, {
|
|
46
|
+
const TooltipContentFrame = (0, import_core.styled)(import_popper.PopperContentFrame, {
|
|
47
|
+
name: "TooltipContent",
|
|
48
|
+
paddingHorizontal: "2.5",
|
|
49
|
+
paddingVertical: "1",
|
|
50
|
+
borderRadius: "2"
|
|
51
|
+
});
|
|
52
|
+
const TooltipInstantContext = React.createContext(false);
|
|
49
53
|
const ALWAYS_DISABLE_TOOLTIP = {
|
|
50
54
|
focus: true,
|
|
51
55
|
"remove-scroll": true
|
|
52
56
|
};
|
|
53
57
|
const TooltipContent = (0, import_core.createStyledHOC)(TooltipContentFrame, (props, ref) => {
|
|
54
58
|
const preventAnimation = React.useContext(PreventTooltipAnimationContext);
|
|
59
|
+
const isInstant = React.useContext(TooltipInstantContext);
|
|
55
60
|
const zIndexFromContext = React.useContext(TooltipZIndexContext);
|
|
56
61
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_popover.PopoverContent, {
|
|
57
62
|
scope: props.scope || TOOLTIP_SCOPE,
|
|
@@ -59,9 +64,15 @@ const TooltipContent = (0, import_core.createStyledHOC)(TooltipContentFrame, (pr
|
|
|
59
64
|
backgroundColor: "background",
|
|
60
65
|
alignItems: "center",
|
|
61
66
|
pointerEvents: "none",
|
|
67
|
+
paddingHorizontal: "2.5",
|
|
68
|
+
paddingVertical: "1",
|
|
69
|
+
borderRadius: "2",
|
|
62
70
|
...zIndexFromContext !== void 0 && { zIndex: zIndexFromContext },
|
|
63
71
|
...props,
|
|
64
|
-
...preventAnimation && {
|
|
72
|
+
...(preventAnimation || isInstant) && {
|
|
73
|
+
transition: null,
|
|
74
|
+
"data-instant": ""
|
|
75
|
+
},
|
|
65
76
|
ref
|
|
66
77
|
});
|
|
67
78
|
}, { displayName: "Tooltip" });
|
|
@@ -94,8 +105,9 @@ const TooltipComponent = (0, import_core.createRefComponent)(function Tooltip(pr
|
|
|
94
105
|
"use no memo";
|
|
95
106
|
const { children, delay: delayProp, restMs: restMsProp, onOpenChange: onOpenChangeProp, focus, open: openProp, disableAutoCloseOnScroll, zIndex, scope = TOOLTIP_SCOPE, ...restProps } = props;
|
|
96
107
|
const triggerRef = React.useRef(null);
|
|
108
|
+
const closeReasonRef = React.useRef(void 0);
|
|
97
109
|
const [hasCustomAnchor, setHasCustomAnchor] = React.useState(false);
|
|
98
|
-
const { delay: delayGroup, setCurrentId } = (0, import_floating.useDelayGroupContext)();
|
|
110
|
+
const { delay: delayGroup, setCurrentId, currentId } = (0, import_floating.useDelayGroupContext)();
|
|
99
111
|
const delay = delayProp !== void 0 ? delayProp : delayGroup ?? 400;
|
|
100
112
|
const restMs = restMsProp ?? (typeof delay === "number" ? delay : 0);
|
|
101
113
|
const [open, setOpen] = (0, import_use_controllable_state.useControllableState)({
|
|
@@ -103,12 +115,26 @@ const TooltipComponent = (0, import_core.createRefComponent)(function Tooltip(pr
|
|
|
103
115
|
defaultProp: false,
|
|
104
116
|
onChange: onOpenChangeProp
|
|
105
117
|
});
|
|
106
|
-
const
|
|
107
|
-
const
|
|
108
|
-
|
|
118
|
+
const autoId = React.useId();
|
|
119
|
+
const id = props.groupId ?? autoId;
|
|
120
|
+
const [isInstant, setIsInstant] = React.useState(false);
|
|
121
|
+
React.useEffect(() => {
|
|
122
|
+
if (!open) {
|
|
123
|
+
setIsInstant(false);
|
|
124
|
+
}
|
|
125
|
+
}, [open]);
|
|
126
|
+
const onOpenChange = (0, import_core2.useEvent)((openVal) => {
|
|
127
|
+
if (openVal) {
|
|
128
|
+
if (currentId != null && currentId !== id) {
|
|
129
|
+
setIsInstant(true);
|
|
130
|
+
} else {
|
|
131
|
+
setIsInstant(false);
|
|
132
|
+
}
|
|
109
133
|
setCurrentId(id);
|
|
134
|
+
} else {
|
|
135
|
+
setIsInstant(false);
|
|
110
136
|
}
|
|
111
|
-
setOpen(
|
|
137
|
+
setOpen(openVal);
|
|
112
138
|
});
|
|
113
139
|
React.useEffect(() => {
|
|
114
140
|
if (!open) return;
|
|
@@ -127,6 +153,7 @@ const TooltipComponent = (0, import_core.createRefComponent)(function Tooltip(pr
|
|
|
127
153
|
const floatingContext = (0, import_popover.useFloatingContext)({
|
|
128
154
|
open,
|
|
129
155
|
setOpen: onOpenChange,
|
|
156
|
+
closeReasonRef,
|
|
130
157
|
disable: false,
|
|
131
158
|
disableFocus: false,
|
|
132
159
|
hoverable: true,
|
|
@@ -139,12 +166,10 @@ const TooltipComponent = (0, import_core.createRefComponent)(function Tooltip(pr
|
|
|
139
166
|
const onCustomAnchorAdd = React.useCallback(() => setHasCustomAnchor(true), []);
|
|
140
167
|
const onCustomAnchorRemove = React.useCallback(() => setHasCustomAnchor(false), []);
|
|
141
168
|
const contentId = React.useId();
|
|
142
|
-
const smallerSize = (0, import_get_token.oneSizeTokenSmaller)(import_core.defaultTokenSizePolicy.fontSize);
|
|
143
169
|
const content = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_floating2.FloatingOverrideContext.Provider, {
|
|
144
170
|
value: floatingContext,
|
|
145
171
|
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_popper.Popper, {
|
|
146
172
|
scope,
|
|
147
|
-
size: smallerSize,
|
|
148
173
|
allowFlip: true,
|
|
149
174
|
stayInFrame: true,
|
|
150
175
|
open,
|
|
@@ -155,6 +180,7 @@ const TooltipComponent = (0, import_core.createRefComponent)(function Tooltip(pr
|
|
|
155
180
|
triggerRef,
|
|
156
181
|
open,
|
|
157
182
|
onOpenChange: setOpen,
|
|
183
|
+
closeReasonRef,
|
|
158
184
|
onOpenToggle: voidFn,
|
|
159
185
|
hasCustomAnchor,
|
|
160
186
|
onCustomAnchorAdd,
|
|
@@ -163,13 +189,17 @@ const TooltipComponent = (0, import_core.createRefComponent)(function Tooltip(pr
|
|
|
163
189
|
})
|
|
164
190
|
})
|
|
165
191
|
});
|
|
192
|
+
const wrappedContent = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(TooltipInstantContext.Provider, {
|
|
193
|
+
value: isInstant,
|
|
194
|
+
children: content
|
|
195
|
+
});
|
|
166
196
|
if (zIndex !== void 0) {
|
|
167
197
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(TooltipZIndexContext.Provider, {
|
|
168
198
|
value: zIndex,
|
|
169
|
-
children:
|
|
199
|
+
children: wrappedContent
|
|
170
200
|
});
|
|
171
201
|
}
|
|
172
|
-
return
|
|
202
|
+
return wrappedContent;
|
|
173
203
|
});
|
|
174
204
|
const TooltipTrigger = (0, import_core.createRefComponent)(function TooltipTrigger2(props, ref) {
|
|
175
205
|
const { scope, ...rest } = props;
|
|
@@ -28,12 +28,11 @@ var TooltipSimple_exports = {};
|
|
|
28
28
|
__export(TooltipSimple_exports, { TooltipSimple: () => TooltipSimple });
|
|
29
29
|
module.exports = __toCommonJS(TooltipSimple_exports);
|
|
30
30
|
var import_core = require("@tamagui/core");
|
|
31
|
-
var import_get_token = require("@tamagui/get-token");
|
|
32
31
|
var import_text = require("@tamagui/text");
|
|
33
32
|
var React = __toESM(require("react"), 1);
|
|
34
33
|
var import_Tooltip = require("./Tooltip.cjs");
|
|
35
34
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
36
|
-
const TooltipSimple = (0, import_core.createRefComponent)(({ label, children, contentProps, disabled, ...tooltipProps }, ref) => {
|
|
35
|
+
const TooltipSimple = (0, import_core.createRefComponent)(({ label, children, contentProps, disabled, size = 7, ...tooltipProps }, ref) => {
|
|
37
36
|
"use no memo";
|
|
38
37
|
const child = React.Children.only(children);
|
|
39
38
|
if (!label) {
|
|
@@ -52,20 +51,26 @@ const TooltipSimple = (0, import_core.createRefComponent)(({ label, children, co
|
|
|
52
51
|
asChild: "except-style",
|
|
53
52
|
children: ref && React.isValidElement(child) ? React.cloneElement(child, { ref }) : child
|
|
54
53
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_Tooltip.Tooltip.Content, {
|
|
55
|
-
theme: "
|
|
54
|
+
theme: "brand",
|
|
56
55
|
y: "enter:-4px exit:-4px",
|
|
57
56
|
scale: "1 enter:0.96 exit:0.96",
|
|
58
57
|
opacity: "1 enter:0 exit:0",
|
|
59
58
|
pointerEvents: "none",
|
|
60
|
-
paddingHorizontal:
|
|
61
|
-
paddingVertical:
|
|
62
|
-
borderRadius:
|
|
59
|
+
paddingHorizontal: "2",
|
|
60
|
+
paddingVertical: "1",
|
|
61
|
+
borderRadius: 6,
|
|
63
62
|
boxShadow: "0 2px 4px shadow-color",
|
|
64
|
-
transition:
|
|
63
|
+
transition: {
|
|
64
|
+
preset: "quicker",
|
|
65
|
+
properties: "transform, opacity",
|
|
66
|
+
opacity: {
|
|
67
|
+
preset: "quicker",
|
|
68
|
+
spring: { overshootClamping: true }
|
|
69
|
+
}
|
|
70
|
+
},
|
|
65
71
|
...contentProps,
|
|
66
|
-
animateOnly: ["transform", "opacity"],
|
|
67
72
|
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Tooltip.Tooltip.Arrow, {
|
|
68
|
-
size
|
|
73
|
+
size,
|
|
69
74
|
backgroundColor: "background",
|
|
70
75
|
borderColor: "border-color"
|
|
71
76
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_text.Paragraph, {
|
package/dist/esm/Tooltip.mjs
CHANGED
|
@@ -1,22 +1,27 @@
|
|
|
1
|
-
import { createRefComponent, createStyledHOC,
|
|
1
|
+
import { createRefComponent, createStyledHOC, styled, useEvent } from "@tamagui/core";
|
|
2
2
|
import { FloatingDelayGroup, FloatingOverrideContext, useDelayGroupContext } from "@tamagui/floating";
|
|
3
|
-
import { oneSizeTokenSmaller } from "@tamagui/get-token";
|
|
4
3
|
import { withStaticProperties } from "@tamagui/helpers";
|
|
5
4
|
import { PopoverAnchor, PopoverArrow, PopoverContent, PopoverContextProvider, PopoverTrigger, useFloatingContext } from "@tamagui/popover";
|
|
6
5
|
import { Popper, PopperContentFrame } from "@tamagui/popper";
|
|
7
|
-
import { getElevation } from "@tamagui/stacks";
|
|
8
6
|
import { useControllableState } from "@tamagui/use-controllable-state";
|
|
9
7
|
import * as React from "react";
|
|
10
8
|
import { jsx } from "react/jsx-runtime";
|
|
11
9
|
|
|
12
10
|
const TOOLTIP_SCOPE = "";
|
|
13
|
-
const TooltipContentFrame = styled(PopperContentFrame, {
|
|
11
|
+
const TooltipContentFrame = styled(PopperContentFrame, {
|
|
12
|
+
name: "TooltipContent",
|
|
13
|
+
paddingHorizontal: "2.5",
|
|
14
|
+
paddingVertical: "1",
|
|
15
|
+
borderRadius: "2"
|
|
16
|
+
});
|
|
17
|
+
const TooltipInstantContext = React.createContext(false);
|
|
14
18
|
const ALWAYS_DISABLE_TOOLTIP = {
|
|
15
19
|
focus: true,
|
|
16
20
|
"remove-scroll": true
|
|
17
21
|
};
|
|
18
22
|
const TooltipContent = createStyledHOC(TooltipContentFrame, (props, ref) => {
|
|
19
23
|
const preventAnimation = React.useContext(PreventTooltipAnimationContext);
|
|
24
|
+
const isInstant = React.useContext(TooltipInstantContext);
|
|
20
25
|
const zIndexFromContext = React.useContext(TooltipZIndexContext);
|
|
21
26
|
return /* @__PURE__ */ jsx(PopoverContent, {
|
|
22
27
|
scope: props.scope || TOOLTIP_SCOPE,
|
|
@@ -24,9 +29,15 @@ const TooltipContent = createStyledHOC(TooltipContentFrame, (props, ref) => {
|
|
|
24
29
|
backgroundColor: "background",
|
|
25
30
|
alignItems: "center",
|
|
26
31
|
pointerEvents: "none",
|
|
32
|
+
paddingHorizontal: "2.5",
|
|
33
|
+
paddingVertical: "1",
|
|
34
|
+
borderRadius: "2",
|
|
27
35
|
...zIndexFromContext !== void 0 && { zIndex: zIndexFromContext },
|
|
28
36
|
...props,
|
|
29
|
-
...preventAnimation && {
|
|
37
|
+
...(preventAnimation || isInstant) && {
|
|
38
|
+
transition: null,
|
|
39
|
+
"data-instant": ""
|
|
40
|
+
},
|
|
30
41
|
ref
|
|
31
42
|
});
|
|
32
43
|
}, { displayName: "Tooltip" });
|
|
@@ -59,8 +70,9 @@ const TooltipComponent = createRefComponent(function Tooltip(props, ref) {
|
|
|
59
70
|
"use no memo";
|
|
60
71
|
const { children, delay: delayProp, restMs: restMsProp, onOpenChange: onOpenChangeProp, focus, open: openProp, disableAutoCloseOnScroll, zIndex, scope = TOOLTIP_SCOPE, ...restProps } = props;
|
|
61
72
|
const triggerRef = React.useRef(null);
|
|
73
|
+
const closeReasonRef = React.useRef(void 0);
|
|
62
74
|
const [hasCustomAnchor, setHasCustomAnchor] = React.useState(false);
|
|
63
|
-
const { delay: delayGroup, setCurrentId } = useDelayGroupContext();
|
|
75
|
+
const { delay: delayGroup, setCurrentId, currentId } = useDelayGroupContext();
|
|
64
76
|
const delay = delayProp !== void 0 ? delayProp : delayGroup ?? 400;
|
|
65
77
|
const restMs = restMsProp ?? (typeof delay === "number" ? delay : 0);
|
|
66
78
|
const [open, setOpen] = useControllableState({
|
|
@@ -68,12 +80,26 @@ const TooltipComponent = createRefComponent(function Tooltip(props, ref) {
|
|
|
68
80
|
defaultProp: false,
|
|
69
81
|
onChange: onOpenChangeProp
|
|
70
82
|
});
|
|
71
|
-
const
|
|
72
|
-
const
|
|
73
|
-
|
|
83
|
+
const autoId = React.useId();
|
|
84
|
+
const id = props.groupId ?? autoId;
|
|
85
|
+
const [isInstant, setIsInstant] = React.useState(false);
|
|
86
|
+
React.useEffect(() => {
|
|
87
|
+
if (!open) {
|
|
88
|
+
setIsInstant(false);
|
|
89
|
+
}
|
|
90
|
+
}, [open]);
|
|
91
|
+
const onOpenChange = useEvent((openVal) => {
|
|
92
|
+
if (openVal) {
|
|
93
|
+
if (currentId != null && currentId !== id) {
|
|
94
|
+
setIsInstant(true);
|
|
95
|
+
} else {
|
|
96
|
+
setIsInstant(false);
|
|
97
|
+
}
|
|
74
98
|
setCurrentId(id);
|
|
99
|
+
} else {
|
|
100
|
+
setIsInstant(false);
|
|
75
101
|
}
|
|
76
|
-
setOpen(
|
|
102
|
+
setOpen(openVal);
|
|
77
103
|
});
|
|
78
104
|
React.useEffect(() => {
|
|
79
105
|
if (!open) return;
|
|
@@ -92,6 +118,7 @@ const TooltipComponent = createRefComponent(function Tooltip(props, ref) {
|
|
|
92
118
|
const floatingContext = useFloatingContext({
|
|
93
119
|
open,
|
|
94
120
|
setOpen: onOpenChange,
|
|
121
|
+
closeReasonRef,
|
|
95
122
|
disable: false,
|
|
96
123
|
disableFocus: false,
|
|
97
124
|
hoverable: true,
|
|
@@ -104,12 +131,10 @@ const TooltipComponent = createRefComponent(function Tooltip(props, ref) {
|
|
|
104
131
|
const onCustomAnchorAdd = React.useCallback(() => setHasCustomAnchor(true), []);
|
|
105
132
|
const onCustomAnchorRemove = React.useCallback(() => setHasCustomAnchor(false), []);
|
|
106
133
|
const contentId = React.useId();
|
|
107
|
-
const smallerSize = oneSizeTokenSmaller(defaultTokenSizePolicy.fontSize);
|
|
108
134
|
const content = /* @__PURE__ */ jsx(FloatingOverrideContext.Provider, {
|
|
109
135
|
value: floatingContext,
|
|
110
136
|
children: /* @__PURE__ */ jsx(Popper, {
|
|
111
137
|
scope,
|
|
112
|
-
size: smallerSize,
|
|
113
138
|
allowFlip: true,
|
|
114
139
|
stayInFrame: true,
|
|
115
140
|
open,
|
|
@@ -120,6 +145,7 @@ const TooltipComponent = createRefComponent(function Tooltip(props, ref) {
|
|
|
120
145
|
triggerRef,
|
|
121
146
|
open,
|
|
122
147
|
onOpenChange: setOpen,
|
|
148
|
+
closeReasonRef,
|
|
123
149
|
onOpenToggle: voidFn,
|
|
124
150
|
hasCustomAnchor,
|
|
125
151
|
onCustomAnchorAdd,
|
|
@@ -128,13 +154,17 @@ const TooltipComponent = createRefComponent(function Tooltip(props, ref) {
|
|
|
128
154
|
})
|
|
129
155
|
})
|
|
130
156
|
});
|
|
157
|
+
const wrappedContent = /* @__PURE__ */ jsx(TooltipInstantContext.Provider, {
|
|
158
|
+
value: isInstant,
|
|
159
|
+
children: content
|
|
160
|
+
});
|
|
131
161
|
if (zIndex !== void 0) {
|
|
132
162
|
return /* @__PURE__ */ jsx(TooltipZIndexContext.Provider, {
|
|
133
163
|
value: zIndex,
|
|
134
|
-
children:
|
|
164
|
+
children: wrappedContent
|
|
135
165
|
});
|
|
136
166
|
}
|
|
137
|
-
return
|
|
167
|
+
return wrappedContent;
|
|
138
168
|
});
|
|
139
169
|
const TooltipTrigger = createRefComponent(function TooltipTrigger2(props, ref) {
|
|
140
170
|
const { scope, ...rest } = props;
|
package/dist/esm/Tooltip.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tooltip.js","names":[],"sources":["esm/Tooltip.js"],"sourcesContent":["import {\n createStyledHOC,\n createRefComponent,\n defaultTokenSizePolicy,\n styled\n} from \"@tamagui/core\";\n\nimport { FloatingDelayGroup, useDelayGroupContext } from \"@tamagui/floating\";\nimport { useEvent } from \"@tamagui/core\";\nimport { FloatingOverrideContext } from \"@tamagui/floating\";\nimport { oneSizeTokenSmaller } from \"@tamagui/get-token\";\nimport { withStaticProperties } from \"@tamagui/helpers\";\nimport {\n PopoverAnchor,\n PopoverArrow,\n PopoverContent,\n PopoverContextProvider,\n PopoverTrigger,\n useFloatingContext\n} from \"@tamagui/popover\";\nimport { Popper, PopperContentFrame } from \"@tamagui/popper\";\nimport { getElevation } from \"@tamagui/stacks\";\nimport { useControllableState } from \"@tamagui/use-controllable-state\";\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nconst TOOLTIP_SCOPE = \"\";\nconst TooltipContentFrame = styled(PopperContentFrame, {\n variants: {\n elevation: getElevation\n }\n});\nconst ALWAYS_DISABLE_TOOLTIP = {\n focus: true,\n \"remove-scroll\": true\n // it's nice to hit escape to hide a tooltip\n // dismiss: true\n};\nconst TooltipContent = createStyledHOC(\n TooltipContentFrame,\n (props, ref) => {\n const preventAnimation = React.useContext(PreventTooltipAnimationContext);\n const zIndexFromContext = React.useContext(TooltipZIndexContext);\n return /* @__PURE__ */ jsx(\n PopoverContent,\n {\n scope: props.scope || TOOLTIP_SCOPE,\n alwaysDisable: ALWAYS_DISABLE_TOOLTIP,\n backgroundColor: \"background\",\n alignItems: \"center\",\n pointerEvents: \"none\",\n ...zIndexFromContext !== void 0 && { zIndex: zIndexFromContext },\n ...props,\n ...preventAnimation && { transition: null },\n ref\n }\n );\n },\n {\n displayName: \"Tooltip\"\n }\n);\nconst TooltipArrow = createRefComponent(\n (props, ref) => {\n const { className, ...rest } = props;\n return /* @__PURE__ */ jsx(\n PopoverArrow,\n {\n scope: props.scope || TOOLTIP_SCOPE,\n className: `is_Tooltip ${className || \"\"}`.trim(),\n ref,\n ...rest\n }\n );\n }\n);\nconst PreventTooltipAnimationContext = React.createContext(false);\nconst TooltipZIndexContext = React.createContext(void 0);\nconst TooltipGroup = ({\n children,\n delay,\n preventAnimation = false,\n timeoutMs\n}) => {\n return /* @__PURE__ */ jsx(PreventTooltipAnimationContext.Provider, { value: preventAnimation, children: /* @__PURE__ */ jsx(\n FloatingDelayGroup,\n {\n timeoutMs,\n delay: React.useMemo(() => delay, [JSON.stringify(delay)]),\n children\n }\n ) });\n};\nconst setOpens = /* @__PURE__ */ new Set();\nconst closeOpenTooltips = () => {\n setOpens.forEach((x) => x(false));\n};\nconst TooltipComponent = createRefComponent(function Tooltip(props, ref) {\n \"use no memo\";\n const {\n children,\n delay: delayProp,\n restMs: restMsProp,\n onOpenChange: onOpenChangeProp,\n focus,\n open: openProp,\n disableAutoCloseOnScroll,\n zIndex,\n scope = TOOLTIP_SCOPE,\n ...restProps\n } = props;\n const triggerRef = React.useRef(null);\n const [hasCustomAnchor, setHasCustomAnchor] = React.useState(false);\n const { delay: delayGroup, setCurrentId } = useDelayGroupContext();\n const delay = delayProp !== void 0 ? delayProp : delayGroup ?? 400;\n const restMs = restMsProp ?? (typeof delay === \"number\" ? delay : 0);\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: false,\n onChange: onOpenChangeProp\n });\n const id = props.groupId;\n const onOpenChange = useEvent((open2) => {\n if (open2) {\n setCurrentId(id);\n }\n setOpen(open2);\n });\n React.useEffect(() => {\n if (!open) return;\n if (disableAutoCloseOnScroll) return;\n if (typeof document === \"undefined\") return;\n const closeIt = () => {\n setOpen(false);\n };\n setOpens.add(setOpen);\n document.documentElement.addEventListener(\"scroll\", closeIt);\n return () => {\n setOpens.delete(setOpen);\n document.documentElement.removeEventListener(\"scroll\", closeIt);\n };\n }, [open, disableAutoCloseOnScroll]);\n const floatingContext = useFloatingContext({\n open,\n setOpen: onOpenChange,\n disable: false,\n disableFocus: false,\n hoverable: true,\n role: \"tooltip\",\n focus,\n groupId: id,\n delay,\n restMs\n });\n const onCustomAnchorAdd = React.useCallback(() => setHasCustomAnchor(true), []);\n const onCustomAnchorRemove = React.useCallback(() => setHasCustomAnchor(false), []);\n const contentId = React.useId();\n const smallerSize = oneSizeTokenSmaller(defaultTokenSizePolicy.fontSize);\n const content = /* @__PURE__ */ jsx(FloatingOverrideContext.Provider, { value: floatingContext, children: /* @__PURE__ */ jsx(\n Popper,\n {\n scope,\n size: smallerSize,\n allowFlip: true,\n stayInFrame: true,\n open,\n ...restProps,\n children: /* @__PURE__ */ jsx(\n PopoverContextProvider,\n {\n scope,\n contentId,\n triggerRef,\n open,\n onOpenChange: setOpen,\n onOpenToggle: voidFn,\n hasCustomAnchor,\n onCustomAnchorAdd,\n onCustomAnchorRemove,\n children\n }\n )\n }\n ) });\n if (zIndex !== void 0) {\n return /* @__PURE__ */ jsx(TooltipZIndexContext.Provider, { value: zIndex, children: content });\n }\n return content;\n});\nconst TooltipTrigger = createRefComponent(function TooltipTrigger2(props, ref) {\n const { scope, ...rest } = props;\n return /* @__PURE__ */ jsx(PopoverTrigger, { ...rest, scope: scope || TOOLTIP_SCOPE, ref });\n});\nconst TooltipAnchor = createRefComponent(function TooltipAnchor2(props, ref) {\n const { scope, ...rest } = props;\n return /* @__PURE__ */ jsx(PopoverAnchor, { ...rest, scope: scope || TOOLTIP_SCOPE, ref });\n});\nconst Tooltip2 = withStaticProperties(TooltipComponent, {\n Anchor: TooltipAnchor,\n Arrow: TooltipArrow,\n Content: TooltipContent,\n Trigger: TooltipTrigger\n});\nconst voidFn = () => {\n};\nexport {\n Tooltip2 as Tooltip,\n TooltipGroup,\n closeOpenTooltips\n};\n//# sourceMappingURL=Tooltip.js.map\n"],"mappings":";;;;;;;;;;;;AAyBA,MAAM,gBAAgB;AACtB,MAAM,sBAAsB,OAAO,oBAAoB,EACrD,UAAU,EACR,WAAW,aACb,EACF,CAAC;AACD,MAAM,yBAAyB;CAC7B,OAAO;CACP,iBAAiB;AAGnB;AACA,MAAM,iBAAiB,gBACrB,sBACC,OAAO,QAAQ;CACd,MAAM,mBAAmB,MAAM,WAAW,8BAA8B;CACxE,MAAM,oBAAoB,MAAM,WAAW,oBAAoB;CAC/D,OAAuB,oBACrB,gBACA;EACE,OAAO,MAAM,SAAS;EACtB,eAAe;EACf,iBAAiB;EACjB,YAAY;EACZ,eAAe;EACf,GAAG,sBAAsB,KAAK,KAAK,EAAE,QAAQ,kBAAkB;EAC/D,GAAG;EACH,GAAG,oBAAoB,EAAE,YAAY,KAAK;EAC1C;CACF,CACF;AACF,GACA,EACE,aAAa,UACf,CACF;AACA,MAAM,eAAe,oBAClB,OAAO,QAAQ;CACd,MAAM,EAAE,WAAW,GAAG,SAAS;CAC/B,OAAuB,oBACrB,cACA;EACE,OAAO,MAAM,SAAS;EACtB,WAAW,cAAc,aAAa,KAAK,KAAK;EAChD;EACA,GAAG;CACL,CACF;AACF,CACF;AACA,MAAM,iCAAiC,MAAM,cAAc,KAAK;AAChE,MAAM,uBAAuB,MAAM,cAAc,KAAK,CAAC;AACvD,MAAM,gBAAgB,EACpB,UACA,OACA,mBAAmB,OACnB,gBACI;CACJ,OAAuB,oBAAI,+BAA+B,UAAU;EAAE,OAAO;EAAkB,UAA0B,oBACvH,oBACA;GACE;GACA,OAAO,MAAM,cAAc,OAAO,CAAC,KAAK,UAAU,KAAK,CAAC,CAAC;GACzD;EACF,CACF;CAAE,CAAC;AACL;AACA,MAAM,2BAA2B,IAAI,IAAI;AACzC,MAAM,0BAA0B;CAC9B,SAAS,SAAS,MAAM,EAAE,KAAK,CAAC;AAClC;AACA,MAAM,mBAAmB,mBAAmB,SAAS,QAAQ,OAAO,KAAK;CACvE;CACA,MAAM,EACJ,UACA,OAAO,WACP,QAAQ,YACR,cAAc,kBACd,OACA,MAAM,UACN,0BACA,QACA,QAAQ,eACR,GAAG,cACD;CACJ,MAAM,aAAa,MAAM,OAAO,IAAI;CACpC,MAAM,CAAC,iBAAiB,sBAAsB,MAAM,SAAS,KAAK;CAClE,MAAM,EAAE,OAAO,YAAY,iBAAiB,qBAAqB;CACjE,MAAM,QAAQ,cAAc,KAAK,IAAI,YAAY,cAAc;CAC/D,MAAM,SAAS,eAAe,OAAO,UAAU,WAAW,QAAQ;CAClE,MAAM,CAAC,MAAM,WAAW,qBAAqB;EAC3C,MAAM;EACN,aAAa;EACb,UAAU;CACZ,CAAC;CACD,MAAM,KAAK,MAAM;CACjB,MAAM,eAAe,UAAU,UAAU;EACvC,IAAI,OAAO;GACT,aAAa,EAAE;EACjB;EACA,QAAQ,KAAK;CACf,CAAC;CACD,MAAM,gBAAgB;EACpB,IAAI,CAAC,MAAM;EACX,IAAI,0BAA0B;EAC9B,IAAI,OAAO,aAAa,aAAa;EACrC,MAAM,gBAAgB;GACpB,QAAQ,KAAK;EACf;EACA,SAAS,IAAI,OAAO;EACpB,SAAS,gBAAgB,iBAAiB,UAAU,OAAO;EAC3D,aAAa;GACX,SAAS,OAAO,OAAO;GACvB,SAAS,gBAAgB,oBAAoB,UAAU,OAAO;EAChE;CACF,GAAG,CAAC,MAAM,wBAAwB,CAAC;CACnC,MAAM,kBAAkB,mBAAmB;EACzC;EACA,SAAS;EACT,SAAS;EACT,cAAc;EACd,WAAW;EACX,MAAM;EACN;EACA,SAAS;EACT;EACA;CACF,CAAC;CACD,MAAM,oBAAoB,MAAM,kBAAkB,mBAAmB,IAAI,GAAG,CAAC,CAAC;CAC9E,MAAM,uBAAuB,MAAM,kBAAkB,mBAAmB,KAAK,GAAG,CAAC,CAAC;CAClF,MAAM,YAAY,MAAM,MAAM;CAC9B,MAAM,cAAc,oBAAoB,uBAAuB,QAAQ;CACvE,MAAM,UAA0B,oBAAI,wBAAwB,UAAU;EAAE,OAAO;EAAiB,UAA0B,oBACxH,QACA;GACE;GACA,MAAM;GACN,WAAW;GACX,aAAa;GACb;GACA,GAAG;GACH,UAA0B,oBACxB,wBACA;IACE;IACA;IACA;IACA;IACA,cAAc;IACd,cAAc;IACd;IACA;IACA;IACA;GACF,CACF;EACF,CACF;CAAE,CAAC;CACH,IAAI,WAAW,KAAK,GAAG;EACrB,OAAuB,oBAAI,qBAAqB,UAAU;GAAE,OAAO;GAAQ,UAAU;EAAQ,CAAC;CAChG;CACA,OAAO;AACT,CAAC;AACD,MAAM,iBAAiB,mBAAmB,SAAS,gBAAgB,OAAO,KAAK;CAC7E,MAAM,EAAE,OAAO,GAAG,SAAS;CAC3B,OAAuB,oBAAI,gBAAgB;EAAE,GAAG;EAAM,OAAO,SAAS;EAAe;CAAI,CAAC;AAC5F,CAAC;AACD,MAAM,gBAAgB,mBAAmB,SAAS,eAAe,OAAO,KAAK;CAC3E,MAAM,EAAE,OAAO,GAAG,SAAS;CAC3B,OAAuB,oBAAI,eAAe;EAAE,GAAG;EAAM,OAAO,SAAS;EAAe;CAAI,CAAC;AAC3F,CAAC;AACD,MAAM,WAAW,qBAAqB,kBAAkB;CACtD,QAAQ;CACR,OAAO;CACP,SAAS;CACT,SAAS;AACX,CAAC;AACD,MAAM,eAAe,CACrB"}
|
|
1
|
+
{"version":3,"file":"Tooltip.js","names":[],"sources":["esm/Tooltip.js"],"sourcesContent":["import { createStyledHOC, createRefComponent, styled } from \"@tamagui/core\";\n\nimport { FloatingDelayGroup, useDelayGroupContext } from \"@tamagui/floating\";\nimport { useEvent } from \"@tamagui/core\";\nimport { FloatingOverrideContext } from \"@tamagui/floating\";\nimport { withStaticProperties } from \"@tamagui/helpers\";\nimport {\n PopoverAnchor,\n PopoverArrow,\n PopoverContent,\n PopoverContextProvider,\n PopoverTrigger,\n useFloatingContext\n} from \"@tamagui/popover\";\nimport { Popper, PopperContentFrame } from \"@tamagui/popper\";\nimport { useControllableState } from \"@tamagui/use-controllable-state\";\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nconst TOOLTIP_SCOPE = \"\";\nconst TooltipContentFrame = styled(PopperContentFrame, {\n name: \"TooltipContent\",\n paddingHorizontal: \"2.5\",\n paddingVertical: \"1\",\n borderRadius: \"2\"\n});\nconst TooltipInstantContext = React.createContext(false);\nconst ALWAYS_DISABLE_TOOLTIP = {\n focus: true,\n \"remove-scroll\": true\n // it's nice to hit escape to hide a tooltip\n // dismiss: true\n};\nconst TooltipContent = createStyledHOC(\n TooltipContentFrame,\n (props, ref) => {\n const preventAnimation = React.useContext(PreventTooltipAnimationContext);\n const isInstant = React.useContext(TooltipInstantContext);\n const zIndexFromContext = React.useContext(TooltipZIndexContext);\n return /* @__PURE__ */ jsx(\n PopoverContent,\n {\n scope: props.scope || TOOLTIP_SCOPE,\n alwaysDisable: ALWAYS_DISABLE_TOOLTIP,\n backgroundColor: \"background\",\n alignItems: \"center\",\n pointerEvents: \"none\",\n paddingHorizontal: \"2.5\",\n paddingVertical: \"1\",\n borderRadius: \"2\",\n ...zIndexFromContext !== void 0 && { zIndex: zIndexFromContext },\n ...props,\n ...(preventAnimation || isInstant) && {\n transition: null,\n \"data-instant\": \"\"\n },\n ref\n }\n );\n },\n {\n displayName: \"Tooltip\"\n }\n);\nconst TooltipArrow = createRefComponent(\n (props, ref) => {\n const { className, ...rest } = props;\n return /* @__PURE__ */ jsx(\n PopoverArrow,\n {\n scope: props.scope || TOOLTIP_SCOPE,\n className: `is_Tooltip ${className || \"\"}`.trim(),\n ref,\n ...rest\n }\n );\n }\n);\nconst PreventTooltipAnimationContext = React.createContext(false);\nconst TooltipZIndexContext = React.createContext(void 0);\nconst TooltipGroup = ({\n children,\n delay,\n preventAnimation = false,\n timeoutMs\n}) => {\n return /* @__PURE__ */ jsx(PreventTooltipAnimationContext.Provider, { value: preventAnimation, children: /* @__PURE__ */ jsx(\n FloatingDelayGroup,\n {\n timeoutMs,\n delay: React.useMemo(() => delay, [JSON.stringify(delay)]),\n children\n }\n ) });\n};\nconst setOpens = /* @__PURE__ */ new Set();\nconst closeOpenTooltips = () => {\n setOpens.forEach((x) => x(false));\n};\nconst TooltipComponent = createRefComponent(function Tooltip(props, ref) {\n \"use no memo\";\n const {\n children,\n delay: delayProp,\n restMs: restMsProp,\n onOpenChange: onOpenChangeProp,\n focus,\n open: openProp,\n disableAutoCloseOnScroll,\n zIndex,\n scope = TOOLTIP_SCOPE,\n ...restProps\n } = props;\n const triggerRef = React.useRef(null);\n const closeReasonRef = React.useRef(void 0);\n const [hasCustomAnchor, setHasCustomAnchor] = React.useState(false);\n const { delay: delayGroup, setCurrentId, currentId } = useDelayGroupContext();\n const delay = delayProp !== void 0 ? delayProp : delayGroup ?? 400;\n const restMs = restMsProp ?? (typeof delay === \"number\" ? delay : 0);\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: false,\n onChange: onOpenChangeProp\n });\n const autoId = React.useId();\n const id = props.groupId ?? autoId;\n const [isInstant, setIsInstant] = React.useState(false);\n React.useEffect(() => {\n if (!open) {\n setIsInstant(false);\n }\n }, [open]);\n const onOpenChange = useEvent((openVal) => {\n if (openVal) {\n if (currentId != null && currentId !== id) {\n setIsInstant(true);\n } else {\n setIsInstant(false);\n }\n setCurrentId(id);\n } else {\n setIsInstant(false);\n }\n setOpen(openVal);\n });\n React.useEffect(() => {\n if (!open) return;\n if (disableAutoCloseOnScroll) return;\n if (typeof document === \"undefined\") return;\n const closeIt = () => {\n setOpen(false);\n };\n setOpens.add(setOpen);\n document.documentElement.addEventListener(\"scroll\", closeIt);\n return () => {\n setOpens.delete(setOpen);\n document.documentElement.removeEventListener(\"scroll\", closeIt);\n };\n }, [open, disableAutoCloseOnScroll]);\n const floatingContext = useFloatingContext({\n open,\n setOpen: onOpenChange,\n closeReasonRef,\n disable: false,\n disableFocus: false,\n hoverable: true,\n role: \"tooltip\",\n focus,\n groupId: id,\n delay,\n restMs\n });\n const onCustomAnchorAdd = React.useCallback(() => setHasCustomAnchor(true), []);\n const onCustomAnchorRemove = React.useCallback(() => setHasCustomAnchor(false), []);\n const contentId = React.useId();\n const content = /* @__PURE__ */ jsx(FloatingOverrideContext.Provider, { value: floatingContext, children: /* @__PURE__ */ jsx(Popper, { scope, allowFlip: true, stayInFrame: true, open, ...restProps, children: /* @__PURE__ */ jsx(\n PopoverContextProvider,\n {\n scope,\n contentId,\n triggerRef,\n open,\n onOpenChange: setOpen,\n closeReasonRef,\n onOpenToggle: voidFn,\n hasCustomAnchor,\n onCustomAnchorAdd,\n onCustomAnchorRemove,\n children\n }\n ) }) });\n const wrappedContent = /* @__PURE__ */ jsx(TooltipInstantContext.Provider, { value: isInstant, children: content });\n if (zIndex !== void 0) {\n return /* @__PURE__ */ jsx(TooltipZIndexContext.Provider, { value: zIndex, children: wrappedContent });\n }\n return wrappedContent;\n});\nconst TooltipTrigger = createRefComponent(function TooltipTrigger2(props, ref) {\n const { scope, ...rest } = props;\n return /* @__PURE__ */ jsx(PopoverTrigger, { ...rest, scope: scope || TOOLTIP_SCOPE, ref });\n});\nconst TooltipAnchor = createRefComponent(function TooltipAnchor2(props, ref) {\n const { scope, ...rest } = props;\n return /* @__PURE__ */ jsx(PopoverAnchor, { ...rest, scope: scope || TOOLTIP_SCOPE, ref });\n});\nconst Tooltip2 = withStaticProperties(TooltipComponent, {\n Anchor: TooltipAnchor,\n Arrow: TooltipArrow,\n Content: TooltipContent,\n Trigger: TooltipTrigger\n});\nconst voidFn = () => {\n};\nexport {\n Tooltip2 as Tooltip,\n TooltipGroup,\n closeOpenTooltips\n};\n//# sourceMappingURL=Tooltip.js.map\n"],"mappings":"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"}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
import { createRefComponent
|
|
2
|
-
import { getRadius, getSize, getSpace } from "@tamagui/get-token";
|
|
1
|
+
import { createRefComponent } from "@tamagui/core";
|
|
3
2
|
import { Paragraph } from "@tamagui/text";
|
|
4
3
|
import * as React from "react";
|
|
5
4
|
import { Tooltip } from "./Tooltip.mjs";
|
|
6
5
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
7
6
|
|
|
8
|
-
const TooltipSimple = createRefComponent(({ label, children, contentProps, disabled, ...tooltipProps }, ref) => {
|
|
7
|
+
const TooltipSimple = createRefComponent(({ label, children, contentProps, disabled, size = 7, ...tooltipProps }, ref) => {
|
|
9
8
|
"use no memo";
|
|
10
9
|
const child = React.Children.only(children);
|
|
11
10
|
if (!label) {
|
|
@@ -24,20 +23,26 @@ const TooltipSimple = createRefComponent(({ label, children, contentProps, disab
|
|
|
24
23
|
asChild: "except-style",
|
|
25
24
|
children: ref && React.isValidElement(child) ? React.cloneElement(child, { ref }) : child
|
|
26
25
|
}), /* @__PURE__ */ jsxs(Tooltip.Content, {
|
|
27
|
-
theme: "
|
|
26
|
+
theme: "brand",
|
|
28
27
|
y: "enter:-4px exit:-4px",
|
|
29
28
|
scale: "1 enter:0.96 exit:0.96",
|
|
30
29
|
opacity: "1 enter:0 exit:0",
|
|
31
30
|
pointerEvents: "none",
|
|
32
|
-
paddingHorizontal:
|
|
33
|
-
paddingVertical:
|
|
34
|
-
borderRadius:
|
|
31
|
+
paddingHorizontal: "2",
|
|
32
|
+
paddingVertical: "1",
|
|
33
|
+
borderRadius: 6,
|
|
35
34
|
boxShadow: "0 2px 4px shadow-color",
|
|
36
|
-
transition:
|
|
35
|
+
transition: {
|
|
36
|
+
preset: "quicker",
|
|
37
|
+
properties: "transform, opacity",
|
|
38
|
+
opacity: {
|
|
39
|
+
preset: "quicker",
|
|
40
|
+
spring: { overshootClamping: true }
|
|
41
|
+
}
|
|
42
|
+
},
|
|
37
43
|
...contentProps,
|
|
38
|
-
animateOnly: ["transform", "opacity"],
|
|
39
44
|
children: [/* @__PURE__ */ jsx(Tooltip.Arrow, {
|
|
40
|
-
size
|
|
45
|
+
size,
|
|
41
46
|
backgroundColor: "background",
|
|
42
47
|
borderColor: "border-color"
|
|
43
48
|
}), /* @__PURE__ */ jsx(Paragraph, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TooltipSimple.js","names":[],"sources":["esm/TooltipSimple.js"],"sourcesContent":["import { createRefComponent
|
|
1
|
+
{"version":3,"file":"TooltipSimple.js","names":[],"sources":["esm/TooltipSimple.js"],"sourcesContent":["import { createRefComponent } from \"@tamagui/core\";\nimport { Paragraph } from \"@tamagui/text\";\nimport * as React from \"react\";\nimport { Tooltip } from \"./Tooltip\";\nimport { jsx, jsxs } from \"react/jsx-runtime\";\nconst TooltipSimple = createRefComponent(\n ({ label, children, contentProps, disabled, size = 7, ...tooltipProps }, ref) => {\n \"use no memo\";\n const child = React.Children.only(children);\n if (!label) {\n return children;\n }\n return /* @__PURE__ */ jsxs(\n Tooltip,\n {\n disableRTL: true,\n offset: 15,\n restMs: 40,\n delay: 40,\n zIndex: 1e6,\n ...tooltipProps,\n ...disabled ? { open: false } : null,\n children: [\n /* @__PURE__ */ jsx(\n Tooltip.Trigger,\n {\n ...typeof label === \"string\" && {\n \"aria-label\": label\n },\n asChild: \"except-style\",\n children: ref && React.isValidElement(child) ? React.cloneElement(child, { ref }) : child\n }\n ),\n /* @__PURE__ */ jsxs(\n Tooltip.Content,\n {\n theme: \"brand\",\n y: \"enter:-4px exit:-4px\",\n scale: \"1 enter:0.96 exit:0.96\",\n opacity: \"1 enter:0 exit:0\",\n pointerEvents: \"none\",\n paddingHorizontal: \"2\",\n paddingVertical: \"1\",\n borderRadius: 6,\n boxShadow: \"0 2px 4px shadow-color\",\n transition: {\n preset: \"quicker\",\n properties: \"transform, opacity\",\n opacity: { preset: \"quicker\", spring: { overshootClamping: true } }\n },\n ...contentProps,\n children: [\n /* @__PURE__ */ jsx(\n Tooltip.Arrow,\n {\n size,\n backgroundColor: \"background\",\n borderColor: \"border-color\"\n }\n ),\n /* @__PURE__ */ jsx(\n Paragraph,\n {\n maxWidth: 350,\n overflow: \"hidden\",\n textAlign: \"center\",\n textWrap: \"web:balance\",\n size: \"3\",\n children: label\n }\n )\n ]\n }\n )\n ]\n }\n );\n }\n);\nexport {\n TooltipSimple\n};\n//# sourceMappingURL=TooltipSimple.js.map\n"],"mappings":";;;;;;;AAKA,MAAM,gBAAgB,oBACnB,EAAE,OAAO,UAAU,cAAc,UAAU,OAAO,GAAG,GAAG,gBAAgB,QAAQ;CAC/E;CACA,MAAM,QAAQ,MAAM,SAAS,KAAK,QAAQ;CAC1C,IAAI,CAAC,OAAO;EACV,OAAO;CACT;CACA,OAAuB,qBACrB,SACA;EACE,YAAY;EACZ,QAAQ;EACR,QAAQ;EACR,OAAO;EACP,QAAQ;EACR,GAAG;EACH,GAAG,WAAW,EAAE,MAAM,MAAM,IAAI;EAChC,UAAU,CACQ,oBACd,QAAQ,SACR;GACE,GAAG,OAAO,UAAU,YAAY,EAC9B,cAAc,MAChB;GACA,SAAS;GACT,UAAU,OAAO,MAAM,eAAe,KAAK,IAAI,MAAM,aAAa,OAAO,EAAE,IAAI,CAAC,IAAI;EACtF,CACF,GACgB,qBACd,QAAQ,SACR;GACE,OAAO;GACP,GAAG;GACH,OAAO;GACP,SAAS;GACT,eAAe;GACf,mBAAmB;GACnB,iBAAiB;GACjB,cAAc;GACd,WAAW;GACX,YAAY;IACV,QAAQ;IACR,YAAY;IACZ,SAAS;KAAE,QAAQ;KAAW,QAAQ,EAAE,mBAAmB,KAAK;IAAE;GACpE;GACA,GAAG;GACH,UAAU,CACQ,oBACd,QAAQ,OACR;IACE;IACA,iBAAiB;IACjB,aAAa;GACf,CACF,GACgB,oBACd,WACA;IACE,UAAU;IACV,UAAU;IACV,WAAW;IACX,UAAU;IACV,MAAM;IACN,UAAU;GACZ,CACF,CACF;EACF,CACF,CACF;CACF,CACF;AACF,CACF"}
|
package/dist/jsx/Tooltip.mjs
CHANGED
|
@@ -1,22 +1,27 @@
|
|
|
1
|
-
import { createRefComponent, createStyledHOC,
|
|
1
|
+
import { createRefComponent, createStyledHOC, styled, useEvent } from "@tamagui/core";
|
|
2
2
|
import { FloatingDelayGroup, FloatingOverrideContext, useDelayGroupContext } from "@tamagui/floating";
|
|
3
|
-
import { oneSizeTokenSmaller } from "@tamagui/get-token";
|
|
4
3
|
import { withStaticProperties } from "@tamagui/helpers";
|
|
5
4
|
import { PopoverAnchor, PopoverArrow, PopoverContent, PopoverContextProvider, PopoverTrigger, useFloatingContext } from "@tamagui/popover";
|
|
6
5
|
import { Popper, PopperContentFrame } from "@tamagui/popper";
|
|
7
|
-
import { getElevation } from "@tamagui/stacks";
|
|
8
6
|
import { useControllableState } from "@tamagui/use-controllable-state";
|
|
9
7
|
import * as React from "react";
|
|
10
8
|
import { jsx } from "react/jsx-runtime";
|
|
11
9
|
|
|
12
10
|
const TOOLTIP_SCOPE = "";
|
|
13
|
-
const TooltipContentFrame = styled(PopperContentFrame, {
|
|
11
|
+
const TooltipContentFrame = styled(PopperContentFrame, {
|
|
12
|
+
name: "TooltipContent",
|
|
13
|
+
paddingHorizontal: "2.5",
|
|
14
|
+
paddingVertical: "1",
|
|
15
|
+
borderRadius: "2"
|
|
16
|
+
});
|
|
17
|
+
const TooltipInstantContext = React.createContext(false);
|
|
14
18
|
const ALWAYS_DISABLE_TOOLTIP = {
|
|
15
19
|
focus: true,
|
|
16
20
|
"remove-scroll": true
|
|
17
21
|
};
|
|
18
22
|
const TooltipContent = createStyledHOC(TooltipContentFrame, (props, ref) => {
|
|
19
23
|
const preventAnimation = React.useContext(PreventTooltipAnimationContext);
|
|
24
|
+
const isInstant = React.useContext(TooltipInstantContext);
|
|
20
25
|
const zIndexFromContext = React.useContext(TooltipZIndexContext);
|
|
21
26
|
return /* @__PURE__ */ jsx(PopoverContent, {
|
|
22
27
|
scope: props.scope || TOOLTIP_SCOPE,
|
|
@@ -24,9 +29,15 @@ const TooltipContent = createStyledHOC(TooltipContentFrame, (props, ref) => {
|
|
|
24
29
|
backgroundColor: "background",
|
|
25
30
|
alignItems: "center",
|
|
26
31
|
pointerEvents: "none",
|
|
32
|
+
paddingHorizontal: "2.5",
|
|
33
|
+
paddingVertical: "1",
|
|
34
|
+
borderRadius: "2",
|
|
27
35
|
...zIndexFromContext !== void 0 && { zIndex: zIndexFromContext },
|
|
28
36
|
...props,
|
|
29
|
-
...preventAnimation && {
|
|
37
|
+
...(preventAnimation || isInstant) && {
|
|
38
|
+
transition: null,
|
|
39
|
+
"data-instant": ""
|
|
40
|
+
},
|
|
30
41
|
ref
|
|
31
42
|
});
|
|
32
43
|
}, { displayName: "Tooltip" });
|
|
@@ -59,8 +70,9 @@ const TooltipComponent = createRefComponent(function Tooltip(props, ref) {
|
|
|
59
70
|
"use no memo";
|
|
60
71
|
const { children, delay: delayProp, restMs: restMsProp, onOpenChange: onOpenChangeProp, focus, open: openProp, disableAutoCloseOnScroll, zIndex, scope = TOOLTIP_SCOPE, ...restProps } = props;
|
|
61
72
|
const triggerRef = React.useRef(null);
|
|
73
|
+
const closeReasonRef = React.useRef(void 0);
|
|
62
74
|
const [hasCustomAnchor, setHasCustomAnchor] = React.useState(false);
|
|
63
|
-
const { delay: delayGroup, setCurrentId } = useDelayGroupContext();
|
|
75
|
+
const { delay: delayGroup, setCurrentId, currentId } = useDelayGroupContext();
|
|
64
76
|
const delay = delayProp !== void 0 ? delayProp : delayGroup ?? 400;
|
|
65
77
|
const restMs = restMsProp ?? (typeof delay === "number" ? delay : 0);
|
|
66
78
|
const [open, setOpen] = useControllableState({
|
|
@@ -68,12 +80,26 @@ const TooltipComponent = createRefComponent(function Tooltip(props, ref) {
|
|
|
68
80
|
defaultProp: false,
|
|
69
81
|
onChange: onOpenChangeProp
|
|
70
82
|
});
|
|
71
|
-
const
|
|
72
|
-
const
|
|
73
|
-
|
|
83
|
+
const autoId = React.useId();
|
|
84
|
+
const id = props.groupId ?? autoId;
|
|
85
|
+
const [isInstant, setIsInstant] = React.useState(false);
|
|
86
|
+
React.useEffect(() => {
|
|
87
|
+
if (!open) {
|
|
88
|
+
setIsInstant(false);
|
|
89
|
+
}
|
|
90
|
+
}, [open]);
|
|
91
|
+
const onOpenChange = useEvent((openVal) => {
|
|
92
|
+
if (openVal) {
|
|
93
|
+
if (currentId != null && currentId !== id) {
|
|
94
|
+
setIsInstant(true);
|
|
95
|
+
} else {
|
|
96
|
+
setIsInstant(false);
|
|
97
|
+
}
|
|
74
98
|
setCurrentId(id);
|
|
99
|
+
} else {
|
|
100
|
+
setIsInstant(false);
|
|
75
101
|
}
|
|
76
|
-
setOpen(
|
|
102
|
+
setOpen(openVal);
|
|
77
103
|
});
|
|
78
104
|
React.useEffect(() => {
|
|
79
105
|
if (!open) return;
|
|
@@ -92,6 +118,7 @@ const TooltipComponent = createRefComponent(function Tooltip(props, ref) {
|
|
|
92
118
|
const floatingContext = useFloatingContext({
|
|
93
119
|
open,
|
|
94
120
|
setOpen: onOpenChange,
|
|
121
|
+
closeReasonRef,
|
|
95
122
|
disable: false,
|
|
96
123
|
disableFocus: false,
|
|
97
124
|
hoverable: true,
|
|
@@ -104,12 +131,10 @@ const TooltipComponent = createRefComponent(function Tooltip(props, ref) {
|
|
|
104
131
|
const onCustomAnchorAdd = React.useCallback(() => setHasCustomAnchor(true), []);
|
|
105
132
|
const onCustomAnchorRemove = React.useCallback(() => setHasCustomAnchor(false), []);
|
|
106
133
|
const contentId = React.useId();
|
|
107
|
-
const smallerSize = oneSizeTokenSmaller(defaultTokenSizePolicy.fontSize);
|
|
108
134
|
const content = /* @__PURE__ */ jsx(FloatingOverrideContext.Provider, {
|
|
109
135
|
value: floatingContext,
|
|
110
136
|
children: /* @__PURE__ */ jsx(Popper, {
|
|
111
137
|
scope,
|
|
112
|
-
size: smallerSize,
|
|
113
138
|
allowFlip: true,
|
|
114
139
|
stayInFrame: true,
|
|
115
140
|
open,
|
|
@@ -120,6 +145,7 @@ const TooltipComponent = createRefComponent(function Tooltip(props, ref) {
|
|
|
120
145
|
triggerRef,
|
|
121
146
|
open,
|
|
122
147
|
onOpenChange: setOpen,
|
|
148
|
+
closeReasonRef,
|
|
123
149
|
onOpenToggle: voidFn,
|
|
124
150
|
hasCustomAnchor,
|
|
125
151
|
onCustomAnchorAdd,
|
|
@@ -128,13 +154,17 @@ const TooltipComponent = createRefComponent(function Tooltip(props, ref) {
|
|
|
128
154
|
})
|
|
129
155
|
})
|
|
130
156
|
});
|
|
157
|
+
const wrappedContent = /* @__PURE__ */ jsx(TooltipInstantContext.Provider, {
|
|
158
|
+
value: isInstant,
|
|
159
|
+
children: content
|
|
160
|
+
});
|
|
131
161
|
if (zIndex !== void 0) {
|
|
132
162
|
return /* @__PURE__ */ jsx(TooltipZIndexContext.Provider, {
|
|
133
163
|
value: zIndex,
|
|
134
|
-
children:
|
|
164
|
+
children: wrappedContent
|
|
135
165
|
});
|
|
136
166
|
}
|
|
137
|
-
return
|
|
167
|
+
return wrappedContent;
|
|
138
168
|
});
|
|
139
169
|
const TooltipTrigger = createRefComponent(function TooltipTrigger2(props, ref) {
|
|
140
170
|
const { scope, ...rest } = props;
|
package/dist/jsx/Tooltip.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tooltip.js","names":[],"sources":["jsx/Tooltip.js"],"sourcesContent":["import {\n createStyledHOC,\n createRefComponent,\n defaultTokenSizePolicy,\n styled\n} from \"@tamagui/core\";\n\nimport { FloatingDelayGroup, useDelayGroupContext } from \"@tamagui/floating\";\nimport { useEvent } from \"@tamagui/core\";\nimport { FloatingOverrideContext } from \"@tamagui/floating\";\nimport { oneSizeTokenSmaller } from \"@tamagui/get-token\";\nimport { withStaticProperties } from \"@tamagui/helpers\";\nimport {\n PopoverAnchor,\n PopoverArrow,\n PopoverContent,\n PopoverContextProvider,\n PopoverTrigger,\n useFloatingContext\n} from \"@tamagui/popover\";\nimport { Popper, PopperContentFrame } from \"@tamagui/popper\";\nimport { getElevation } from \"@tamagui/stacks\";\nimport { useControllableState } from \"@tamagui/use-controllable-state\";\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nconst TOOLTIP_SCOPE = \"\";\nconst TooltipContentFrame = styled(PopperContentFrame, {\n variants: {\n elevation: getElevation\n }\n});\nconst ALWAYS_DISABLE_TOOLTIP = {\n focus: true,\n \"remove-scroll\": true\n // it's nice to hit escape to hide a tooltip\n // dismiss: true\n};\nconst TooltipContent = createStyledHOC(\n TooltipContentFrame,\n (props, ref) => {\n const preventAnimation = React.useContext(PreventTooltipAnimationContext);\n const zIndexFromContext = React.useContext(TooltipZIndexContext);\n return /* @__PURE__ */ jsx(\n PopoverContent,\n {\n scope: props.scope || TOOLTIP_SCOPE,\n alwaysDisable: ALWAYS_DISABLE_TOOLTIP,\n backgroundColor: \"background\",\n alignItems: \"center\",\n pointerEvents: \"none\",\n ...zIndexFromContext !== void 0 && { zIndex: zIndexFromContext },\n ...props,\n ...preventAnimation && { transition: null },\n ref\n }\n );\n },\n {\n displayName: \"Tooltip\"\n }\n);\nconst TooltipArrow = createRefComponent(\n (props, ref) => {\n const { className, ...rest } = props;\n return /* @__PURE__ */ jsx(\n PopoverArrow,\n {\n scope: props.scope || TOOLTIP_SCOPE,\n className: `is_Tooltip ${className || \"\"}`.trim(),\n ref,\n ...rest\n }\n );\n }\n);\nconst PreventTooltipAnimationContext = React.createContext(false);\nconst TooltipZIndexContext = React.createContext(void 0);\nconst TooltipGroup = ({\n children,\n delay,\n preventAnimation = false,\n timeoutMs\n}) => {\n return /* @__PURE__ */ jsx(PreventTooltipAnimationContext.Provider, { value: preventAnimation, children: /* @__PURE__ */ jsx(\n FloatingDelayGroup,\n {\n timeoutMs,\n delay: React.useMemo(() => delay, [JSON.stringify(delay)]),\n children\n }\n ) });\n};\nconst setOpens = /* @__PURE__ */ new Set();\nconst closeOpenTooltips = () => {\n setOpens.forEach((x) => x(false));\n};\nconst TooltipComponent = createRefComponent(function Tooltip(props, ref) {\n \"use no memo\";\n const {\n children,\n delay: delayProp,\n restMs: restMsProp,\n onOpenChange: onOpenChangeProp,\n focus,\n open: openProp,\n disableAutoCloseOnScroll,\n zIndex,\n scope = TOOLTIP_SCOPE,\n ...restProps\n } = props;\n const triggerRef = React.useRef(null);\n const [hasCustomAnchor, setHasCustomAnchor] = React.useState(false);\n const { delay: delayGroup, setCurrentId } = useDelayGroupContext();\n const delay = delayProp !== void 0 ? delayProp : delayGroup ?? 400;\n const restMs = restMsProp ?? (typeof delay === \"number\" ? delay : 0);\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: false,\n onChange: onOpenChangeProp\n });\n const id = props.groupId;\n const onOpenChange = useEvent((open2) => {\n if (open2) {\n setCurrentId(id);\n }\n setOpen(open2);\n });\n React.useEffect(() => {\n if (!open) return;\n if (disableAutoCloseOnScroll) return;\n if (typeof document === \"undefined\") return;\n const closeIt = () => {\n setOpen(false);\n };\n setOpens.add(setOpen);\n document.documentElement.addEventListener(\"scroll\", closeIt);\n return () => {\n setOpens.delete(setOpen);\n document.documentElement.removeEventListener(\"scroll\", closeIt);\n };\n }, [open, disableAutoCloseOnScroll]);\n const floatingContext = useFloatingContext({\n open,\n setOpen: onOpenChange,\n disable: false,\n disableFocus: false,\n hoverable: true,\n role: \"tooltip\",\n focus,\n groupId: id,\n delay,\n restMs\n });\n const onCustomAnchorAdd = React.useCallback(() => setHasCustomAnchor(true), []);\n const onCustomAnchorRemove = React.useCallback(() => setHasCustomAnchor(false), []);\n const contentId = React.useId();\n const smallerSize = oneSizeTokenSmaller(defaultTokenSizePolicy.fontSize);\n const content = /* @__PURE__ */ jsx(FloatingOverrideContext.Provider, { value: floatingContext, children: /* @__PURE__ */ jsx(\n Popper,\n {\n scope,\n size: smallerSize,\n allowFlip: true,\n stayInFrame: true,\n open,\n ...restProps,\n children: /* @__PURE__ */ jsx(\n PopoverContextProvider,\n {\n scope,\n contentId,\n triggerRef,\n open,\n onOpenChange: setOpen,\n onOpenToggle: voidFn,\n hasCustomAnchor,\n onCustomAnchorAdd,\n onCustomAnchorRemove,\n children\n }\n )\n }\n ) });\n if (zIndex !== void 0) {\n return /* @__PURE__ */ jsx(TooltipZIndexContext.Provider, { value: zIndex, children: content });\n }\n return content;\n});\nconst TooltipTrigger = createRefComponent(function TooltipTrigger2(props, ref) {\n const { scope, ...rest } = props;\n return /* @__PURE__ */ jsx(PopoverTrigger, { ...rest, scope: scope || TOOLTIP_SCOPE, ref });\n});\nconst TooltipAnchor = createRefComponent(function TooltipAnchor2(props, ref) {\n const { scope, ...rest } = props;\n return /* @__PURE__ */ jsx(PopoverAnchor, { ...rest, scope: scope || TOOLTIP_SCOPE, ref });\n});\nconst Tooltip2 = withStaticProperties(TooltipComponent, {\n Anchor: TooltipAnchor,\n Arrow: TooltipArrow,\n Content: TooltipContent,\n Trigger: TooltipTrigger\n});\nconst voidFn = () => {\n};\nexport {\n Tooltip2 as Tooltip,\n TooltipGroup,\n closeOpenTooltips\n};\n//# sourceMappingURL=Tooltip.js.map\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Tooltip.js","names":[],"sources":["jsx/Tooltip.js"],"sourcesContent":["import { createStyledHOC, createRefComponent, styled } from \"@tamagui/core\";\n\nimport { FloatingDelayGroup, useDelayGroupContext } from \"@tamagui/floating\";\nimport { useEvent } from \"@tamagui/core\";\nimport { FloatingOverrideContext } from \"@tamagui/floating\";\nimport { withStaticProperties } from \"@tamagui/helpers\";\nimport {\n PopoverAnchor,\n PopoverArrow,\n PopoverContent,\n PopoverContextProvider,\n PopoverTrigger,\n useFloatingContext\n} from \"@tamagui/popover\";\nimport { Popper, PopperContentFrame } from \"@tamagui/popper\";\nimport { useControllableState } from \"@tamagui/use-controllable-state\";\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nconst TOOLTIP_SCOPE = \"\";\nconst TooltipContentFrame = styled(PopperContentFrame, {\n name: \"TooltipContent\",\n paddingHorizontal: \"2.5\",\n paddingVertical: \"1\",\n borderRadius: \"2\"\n});\nconst TooltipInstantContext = React.createContext(false);\nconst ALWAYS_DISABLE_TOOLTIP = {\n focus: true,\n \"remove-scroll\": true\n // it's nice to hit escape to hide a tooltip\n // dismiss: true\n};\nconst TooltipContent = createStyledHOC(\n TooltipContentFrame,\n (props, ref) => {\n const preventAnimation = React.useContext(PreventTooltipAnimationContext);\n const isInstant = React.useContext(TooltipInstantContext);\n const zIndexFromContext = React.useContext(TooltipZIndexContext);\n return /* @__PURE__ */ jsx(\n PopoverContent,\n {\n scope: props.scope || TOOLTIP_SCOPE,\n alwaysDisable: ALWAYS_DISABLE_TOOLTIP,\n backgroundColor: \"background\",\n alignItems: \"center\",\n pointerEvents: \"none\",\n paddingHorizontal: \"2.5\",\n paddingVertical: \"1\",\n borderRadius: \"2\",\n ...zIndexFromContext !== void 0 && { zIndex: zIndexFromContext },\n ...props,\n ...(preventAnimation || isInstant) && {\n transition: null,\n \"data-instant\": \"\"\n },\n ref\n }\n );\n },\n {\n displayName: \"Tooltip\"\n }\n);\nconst TooltipArrow = createRefComponent(\n (props, ref) => {\n const { className, ...rest } = props;\n return /* @__PURE__ */ jsx(\n PopoverArrow,\n {\n scope: props.scope || TOOLTIP_SCOPE,\n className: `is_Tooltip ${className || \"\"}`.trim(),\n ref,\n ...rest\n }\n );\n }\n);\nconst PreventTooltipAnimationContext = React.createContext(false);\nconst TooltipZIndexContext = React.createContext(void 0);\nconst TooltipGroup = ({\n children,\n delay,\n preventAnimation = false,\n timeoutMs\n}) => {\n return /* @__PURE__ */ jsx(PreventTooltipAnimationContext.Provider, { value: preventAnimation, children: /* @__PURE__ */ jsx(\n FloatingDelayGroup,\n {\n timeoutMs,\n delay: React.useMemo(() => delay, [JSON.stringify(delay)]),\n children\n }\n ) });\n};\nconst setOpens = /* @__PURE__ */ new Set();\nconst closeOpenTooltips = () => {\n setOpens.forEach((x) => x(false));\n};\nconst TooltipComponent = createRefComponent(function Tooltip(props, ref) {\n \"use no memo\";\n const {\n children,\n delay: delayProp,\n restMs: restMsProp,\n onOpenChange: onOpenChangeProp,\n focus,\n open: openProp,\n disableAutoCloseOnScroll,\n zIndex,\n scope = TOOLTIP_SCOPE,\n ...restProps\n } = props;\n const triggerRef = React.useRef(null);\n const closeReasonRef = React.useRef(void 0);\n const [hasCustomAnchor, setHasCustomAnchor] = React.useState(false);\n const { delay: delayGroup, setCurrentId, currentId } = useDelayGroupContext();\n const delay = delayProp !== void 0 ? delayProp : delayGroup ?? 400;\n const restMs = restMsProp ?? (typeof delay === \"number\" ? delay : 0);\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: false,\n onChange: onOpenChangeProp\n });\n const autoId = React.useId();\n const id = props.groupId ?? autoId;\n const [isInstant, setIsInstant] = React.useState(false);\n React.useEffect(() => {\n if (!open) {\n setIsInstant(false);\n }\n }, [open]);\n const onOpenChange = useEvent((openVal) => {\n if (openVal) {\n if (currentId != null && currentId !== id) {\n setIsInstant(true);\n } else {\n setIsInstant(false);\n }\n setCurrentId(id);\n } else {\n setIsInstant(false);\n }\n setOpen(openVal);\n });\n React.useEffect(() => {\n if (!open) return;\n if (disableAutoCloseOnScroll) return;\n if (typeof document === \"undefined\") return;\n const closeIt = () => {\n setOpen(false);\n };\n setOpens.add(setOpen);\n document.documentElement.addEventListener(\"scroll\", closeIt);\n return () => {\n setOpens.delete(setOpen);\n document.documentElement.removeEventListener(\"scroll\", closeIt);\n };\n }, [open, disableAutoCloseOnScroll]);\n const floatingContext = useFloatingContext({\n open,\n setOpen: onOpenChange,\n closeReasonRef,\n disable: false,\n disableFocus: false,\n hoverable: true,\n role: \"tooltip\",\n focus,\n groupId: id,\n delay,\n restMs\n });\n const onCustomAnchorAdd = React.useCallback(() => setHasCustomAnchor(true), []);\n const onCustomAnchorRemove = React.useCallback(() => setHasCustomAnchor(false), []);\n const contentId = React.useId();\n const content = /* @__PURE__ */ jsx(FloatingOverrideContext.Provider, { value: floatingContext, children: /* @__PURE__ */ jsx(Popper, { scope, allowFlip: true, stayInFrame: true, open, ...restProps, children: /* @__PURE__ */ jsx(\n PopoverContextProvider,\n {\n scope,\n contentId,\n triggerRef,\n open,\n onOpenChange: setOpen,\n closeReasonRef,\n onOpenToggle: voidFn,\n hasCustomAnchor,\n onCustomAnchorAdd,\n onCustomAnchorRemove,\n children\n }\n ) }) });\n const wrappedContent = /* @__PURE__ */ jsx(TooltipInstantContext.Provider, { value: isInstant, children: content });\n if (zIndex !== void 0) {\n return /* @__PURE__ */ jsx(TooltipZIndexContext.Provider, { value: zIndex, children: wrappedContent });\n }\n return wrappedContent;\n});\nconst TooltipTrigger = createRefComponent(function TooltipTrigger2(props, ref) {\n const { scope, ...rest } = props;\n return /* @__PURE__ */ jsx(PopoverTrigger, { ...rest, scope: scope || TOOLTIP_SCOPE, ref });\n});\nconst TooltipAnchor = createRefComponent(function TooltipAnchor2(props, ref) {\n const { scope, ...rest } = props;\n return /* @__PURE__ */ jsx(PopoverAnchor, { ...rest, scope: scope || TOOLTIP_SCOPE, ref });\n});\nconst Tooltip2 = withStaticProperties(TooltipComponent, {\n Anchor: TooltipAnchor,\n Arrow: TooltipArrow,\n Content: TooltipContent,\n Trigger: TooltipTrigger\n});\nconst voidFn = () => {\n};\nexport {\n Tooltip2 as Tooltip,\n TooltipGroup,\n closeOpenTooltips\n};\n//# sourceMappingURL=Tooltip.js.map\n"],"mappings":"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"}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
import { createRefComponent
|
|
2
|
-
import { getRadius, getSize, getSpace } from "@tamagui/get-token";
|
|
1
|
+
import { createRefComponent } from "@tamagui/core";
|
|
3
2
|
import { Paragraph } from "@tamagui/text";
|
|
4
3
|
import * as React from "react";
|
|
5
4
|
import { Tooltip } from "./Tooltip.mjs";
|
|
6
5
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
7
6
|
|
|
8
|
-
const TooltipSimple = createRefComponent(({ label, children, contentProps, disabled, ...tooltipProps }, ref) => {
|
|
7
|
+
const TooltipSimple = createRefComponent(({ label, children, contentProps, disabled, size = 7, ...tooltipProps }, ref) => {
|
|
9
8
|
"use no memo";
|
|
10
9
|
const child = React.Children.only(children);
|
|
11
10
|
if (!label) {
|
|
@@ -24,20 +23,26 @@ const TooltipSimple = createRefComponent(({ label, children, contentProps, disab
|
|
|
24
23
|
asChild: "except-style",
|
|
25
24
|
children: ref && React.isValidElement(child) ? React.cloneElement(child, { ref }) : child
|
|
26
25
|
}), /* @__PURE__ */ jsxs(Tooltip.Content, {
|
|
27
|
-
theme: "
|
|
26
|
+
theme: "brand",
|
|
28
27
|
y: "enter:-4px exit:-4px",
|
|
29
28
|
scale: "1 enter:0.96 exit:0.96",
|
|
30
29
|
opacity: "1 enter:0 exit:0",
|
|
31
30
|
pointerEvents: "none",
|
|
32
|
-
paddingHorizontal:
|
|
33
|
-
paddingVertical:
|
|
34
|
-
borderRadius:
|
|
31
|
+
paddingHorizontal: "2",
|
|
32
|
+
paddingVertical: "1",
|
|
33
|
+
borderRadius: 6,
|
|
35
34
|
boxShadow: "0 2px 4px shadow-color",
|
|
36
|
-
transition:
|
|
35
|
+
transition: {
|
|
36
|
+
preset: "quicker",
|
|
37
|
+
properties: "transform, opacity",
|
|
38
|
+
opacity: {
|
|
39
|
+
preset: "quicker",
|
|
40
|
+
spring: { overshootClamping: true }
|
|
41
|
+
}
|
|
42
|
+
},
|
|
37
43
|
...contentProps,
|
|
38
|
-
animateOnly: ["transform", "opacity"],
|
|
39
44
|
children: [/* @__PURE__ */ jsx(Tooltip.Arrow, {
|
|
40
|
-
size
|
|
45
|
+
size,
|
|
41
46
|
backgroundColor: "background",
|
|
42
47
|
borderColor: "border-color"
|
|
43
48
|
}), /* @__PURE__ */ jsx(Paragraph, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TooltipSimple.js","names":[],"sources":["jsx/TooltipSimple.js"],"sourcesContent":["import { createRefComponent
|
|
1
|
+
{"version":3,"file":"TooltipSimple.js","names":[],"sources":["jsx/TooltipSimple.js"],"sourcesContent":["import { createRefComponent } from \"@tamagui/core\";\nimport { Paragraph } from \"@tamagui/text\";\nimport * as React from \"react\";\nimport { Tooltip } from \"./Tooltip\";\nimport { jsx, jsxs } from \"react/jsx-runtime\";\nconst TooltipSimple = createRefComponent(\n ({ label, children, contentProps, disabled, size = 7, ...tooltipProps }, ref) => {\n \"use no memo\";\n const child = React.Children.only(children);\n if (!label) {\n return children;\n }\n return /* @__PURE__ */ jsxs(\n Tooltip,\n {\n disableRTL: true,\n offset: 15,\n restMs: 40,\n delay: 40,\n zIndex: 1e6,\n ...tooltipProps,\n ...disabled ? { open: false } : null,\n children: [\n /* @__PURE__ */ jsx(\n Tooltip.Trigger,\n {\n ...typeof label === \"string\" && {\n \"aria-label\": label\n },\n asChild: \"except-style\",\n children: ref && React.isValidElement(child) ? React.cloneElement(child, { ref }) : child\n }\n ),\n /* @__PURE__ */ jsxs(\n Tooltip.Content,\n {\n theme: \"brand\",\n y: \"enter:-4px exit:-4px\",\n scale: \"1 enter:0.96 exit:0.96\",\n opacity: \"1 enter:0 exit:0\",\n pointerEvents: \"none\",\n paddingHorizontal: \"2\",\n paddingVertical: \"1\",\n borderRadius: 6,\n boxShadow: \"0 2px 4px shadow-color\",\n transition: {\n preset: \"quicker\",\n properties: \"transform, opacity\",\n opacity: { preset: \"quicker\", spring: { overshootClamping: true } }\n },\n ...contentProps,\n children: [\n /* @__PURE__ */ jsx(\n Tooltip.Arrow,\n {\n size,\n backgroundColor: \"background\",\n borderColor: \"border-color\"\n }\n ),\n /* @__PURE__ */ jsx(\n Paragraph,\n {\n maxWidth: 350,\n overflow: \"hidden\",\n textAlign: \"center\",\n textWrap: \"web:balance\",\n size: \"3\",\n children: label\n }\n )\n ]\n }\n )\n ]\n }\n );\n }\n);\nexport {\n TooltipSimple\n};\n//# sourceMappingURL=TooltipSimple.js.map\n"],"mappings":";;;;;;;AAKA,MAAM,gBAAgB,oBACnB,EAAE,OAAO,UAAU,cAAc,UAAU,OAAO,GAAG,GAAG,gBAAgB,QAAQ;CAC/E;CACA,MAAM,QAAQ,MAAM,SAAS,KAAK,QAAQ;CAC1C,IAAI,CAAC,OAAO;EACV,OAAO;CACT;CACA,OAAuB,qBACrB,SACA;EACE,YAAY;EACZ,QAAQ;EACR,QAAQ;EACR,OAAO;EACP,QAAQ;EACR,GAAG;EACH,GAAG,WAAW,EAAE,MAAM,MAAM,IAAI;EAChC,UAAU,CACQ,oBACd,QAAQ,SACR;GACE,GAAG,OAAO,UAAU,YAAY,EAC9B,cAAc,MAChB;GACA,SAAS;GACT,UAAU,OAAO,MAAM,eAAe,KAAK,IAAI,MAAM,aAAa,OAAO,EAAE,IAAI,CAAC,IAAI;EACtF,CACF,GACgB,qBACd,QAAQ,SACR;GACE,OAAO;GACP,GAAG;GACH,OAAO;GACP,SAAS;GACT,eAAe;GACf,mBAAmB;GACnB,iBAAiB;GACjB,cAAc;GACd,WAAW;GACX,YAAY;IACV,QAAQ;IACR,YAAY;IACZ,SAAS;KAAE,QAAQ;KAAW,QAAQ,EAAE,mBAAmB,KAAK;IAAE;GACpE;GACA,GAAG;GACH,UAAU,CACQ,oBACd,QAAQ,OACR;IACE;IACA,iBAAiB;IACjB,aAAa;GACf,CACF,GACgB,oBACd,WACA;IACE,UAAU;IACV,UAAU;IACV,WAAW;IACX,UAAU;IACV,MAAM;IACN,UAAU;GACZ,CACF,CACF;EACF,CACF,CACF;CACF,CACF;AACF,CACF"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tamagui/tooltip",
|
|
3
|
-
"version": "3.0.0
|
|
3
|
+
"version": "3.0.0",
|
|
4
|
+
"license": "MIT",
|
|
4
5
|
"source": "src/index.tsx",
|
|
5
6
|
"files": [
|
|
6
7
|
"src",
|
|
@@ -34,23 +35,22 @@
|
|
|
34
35
|
"clean:build": "tamagui-build clean:build"
|
|
35
36
|
},
|
|
36
37
|
"dependencies": {
|
|
37
|
-
"@tamagui/compose-refs": "3.0.0
|
|
38
|
-
"@tamagui/core": "3.0.0
|
|
39
|
-
"@tamagui/create-context": "3.0.0
|
|
40
|
-
"@tamagui/floating": "3.0.0
|
|
41
|
-
"@tamagui/
|
|
42
|
-
"@tamagui/
|
|
43
|
-
"@tamagui/
|
|
44
|
-
"@tamagui/
|
|
45
|
-
"@tamagui/
|
|
46
|
-
"@tamagui/
|
|
47
|
-
"@tamagui/
|
|
48
|
-
"@tamagui/use-controllable-state": "3.0.0-beta.922.1"
|
|
38
|
+
"@tamagui/compose-refs": "3.0.0",
|
|
39
|
+
"@tamagui/core": "3.0.0",
|
|
40
|
+
"@tamagui/create-context": "3.0.0",
|
|
41
|
+
"@tamagui/floating": "3.0.0",
|
|
42
|
+
"@tamagui/helpers": "3.0.0",
|
|
43
|
+
"@tamagui/polyfill-dev": "3.0.0",
|
|
44
|
+
"@tamagui/popover": "3.0.0",
|
|
45
|
+
"@tamagui/popper": "3.0.0",
|
|
46
|
+
"@tamagui/stacks": "3.0.0",
|
|
47
|
+
"@tamagui/text": "3.0.0",
|
|
48
|
+
"@tamagui/use-controllable-state": "3.0.0"
|
|
49
49
|
},
|
|
50
50
|
"devDependencies": {
|
|
51
|
-
"@tamagui/build": "3.0.0
|
|
51
|
+
"@tamagui/build": "3.0.0",
|
|
52
52
|
"react": "19.2.3",
|
|
53
|
-
"react-native": "0.
|
|
53
|
+
"react-native": "0.87.1"
|
|
54
54
|
},
|
|
55
55
|
"peerDependencies": {
|
|
56
56
|
"react": ">=19"
|
|
@@ -60,5 +60,6 @@
|
|
|
60
60
|
"type": "git",
|
|
61
61
|
"url": "git+https://github.com/tamagui/tamagui.git",
|
|
62
62
|
"directory": "code/ui/tooltip"
|
|
63
|
-
}
|
|
63
|
+
},
|
|
64
|
+
"releaseSourceCommit": "15fbca480b143f876f6975601e23a17d3f90d2ee"
|
|
64
65
|
}
|
package/src/Tooltip.tsx
CHANGED
|
@@ -1,16 +1,11 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
createRefComponent,
|
|
4
|
-
defaultTokenSizePolicy,
|
|
5
|
-
styled,
|
|
6
|
-
} from '@tamagui/core'
|
|
1
|
+
import type { OpenChangeReason } from '@tamagui/floating'
|
|
2
|
+
import { createStyledHOC, createRefComponent, styled } from '@tamagui/core'
|
|
7
3
|
import '@tamagui/polyfill-dev'
|
|
8
4
|
|
|
9
5
|
import { FloatingDelayGroup, useDelayGroupContext, type Delay } from '@tamagui/floating'
|
|
10
|
-
import type {
|
|
6
|
+
import type { TamaguiElement } from '@tamagui/core'
|
|
11
7
|
import { useEvent } from '@tamagui/core'
|
|
12
8
|
import { FloatingOverrideContext } from '@tamagui/floating'
|
|
13
|
-
import { oneSizeTokenSmaller } from '@tamagui/get-token'
|
|
14
9
|
import { withStaticProperties } from '@tamagui/helpers'
|
|
15
10
|
import type {
|
|
16
11
|
PopoverAnchorProps,
|
|
@@ -27,7 +22,6 @@ import {
|
|
|
27
22
|
} from '@tamagui/popover'
|
|
28
23
|
import type { PopperArrowProps, PopperProps } from '@tamagui/popper'
|
|
29
24
|
import { Popper, PopperContentFrame } from '@tamagui/popper'
|
|
30
|
-
import { getElevation } from '@tamagui/stacks'
|
|
31
25
|
import { useControllableState } from '@tamagui/use-controllable-state'
|
|
32
26
|
import * as React from 'react'
|
|
33
27
|
|
|
@@ -40,11 +34,14 @@ type ScopedProps<P> = Omit<P, 'scope'> & { scope?: TooltipScopes }
|
|
|
40
34
|
export type TooltipContentProps = ScopedProps<PopoverContentProps>
|
|
41
35
|
|
|
42
36
|
const TooltipContentFrame = styled(PopperContentFrame, {
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
37
|
+
name: 'TooltipContent',
|
|
38
|
+
paddingHorizontal: '2.5',
|
|
39
|
+
paddingVertical: '1',
|
|
40
|
+
borderRadius: '2',
|
|
46
41
|
})
|
|
47
42
|
|
|
43
|
+
const TooltipInstantContext = React.createContext(false)
|
|
44
|
+
|
|
48
45
|
// warning: setting to createStyledHOC causes issues with themes across portal roots
|
|
49
46
|
|
|
50
47
|
// performance: avoid 2 components we never use
|
|
@@ -59,6 +56,7 @@ const TooltipContent = createStyledHOC(
|
|
|
59
56
|
TooltipContentFrame,
|
|
60
57
|
(props: TooltipContentProps, ref) => {
|
|
61
58
|
const preventAnimation = React.useContext(PreventTooltipAnimationContext)
|
|
59
|
+
const isInstant = React.useContext(TooltipInstantContext)
|
|
62
60
|
const zIndexFromContext = React.useContext(TooltipZIndexContext)
|
|
63
61
|
|
|
64
62
|
return (
|
|
@@ -68,9 +66,15 @@ const TooltipContent = createStyledHOC(
|
|
|
68
66
|
backgroundColor="background"
|
|
69
67
|
alignItems="center"
|
|
70
68
|
pointerEvents="none"
|
|
69
|
+
paddingHorizontal="2.5"
|
|
70
|
+
paddingVertical="1"
|
|
71
|
+
borderRadius="2"
|
|
71
72
|
{...(zIndexFromContext !== undefined && { zIndex: zIndexFromContext })}
|
|
72
73
|
{...props}
|
|
73
|
-
{...(preventAnimation && {
|
|
74
|
+
{...((preventAnimation || isInstant) && {
|
|
75
|
+
transition: null,
|
|
76
|
+
'data-instant': '',
|
|
77
|
+
})}
|
|
74
78
|
ref={ref}
|
|
75
79
|
/>
|
|
76
80
|
)
|
|
@@ -173,8 +177,9 @@ const TooltipComponent = createRefComponent(function Tooltip(
|
|
|
173
177
|
...restProps
|
|
174
178
|
} = props
|
|
175
179
|
const triggerRef = React.useRef<HTMLButtonElement>(null)
|
|
180
|
+
const closeReasonRef = React.useRef<OpenChangeReason | undefined>(undefined)
|
|
176
181
|
const [hasCustomAnchor, setHasCustomAnchor] = React.useState(false)
|
|
177
|
-
const { delay: delayGroup, setCurrentId } = useDelayGroupContext()
|
|
182
|
+
const { delay: delayGroup, setCurrentId, currentId } = useDelayGroupContext()
|
|
178
183
|
// Use delayProp if explicitly provided, otherwise fall back to group delay or default 400
|
|
179
184
|
const delay = delayProp !== undefined ? delayProp : (delayGroup ?? 400)
|
|
180
185
|
const restMs = restMsProp ?? (typeof delay === 'number' ? delay : 0)
|
|
@@ -183,13 +188,29 @@ const TooltipComponent = createRefComponent(function Tooltip(
|
|
|
183
188
|
defaultProp: false,
|
|
184
189
|
onChange: onOpenChangeProp,
|
|
185
190
|
})
|
|
186
|
-
const
|
|
191
|
+
const autoId = React.useId()
|
|
192
|
+
const id = props.groupId ?? autoId
|
|
193
|
+
|
|
194
|
+
const [isInstant, setIsInstant] = React.useState(false)
|
|
187
195
|
|
|
188
|
-
|
|
189
|
-
if (open) {
|
|
196
|
+
React.useEffect(() => {
|
|
197
|
+
if (!open) {
|
|
198
|
+
setIsInstant(false)
|
|
199
|
+
}
|
|
200
|
+
}, [open])
|
|
201
|
+
|
|
202
|
+
const onOpenChange = useEvent((openVal: boolean) => {
|
|
203
|
+
if (openVal) {
|
|
204
|
+
if (currentId != null && currentId !== id) {
|
|
205
|
+
setIsInstant(true)
|
|
206
|
+
} else {
|
|
207
|
+
setIsInstant(false)
|
|
208
|
+
}
|
|
190
209
|
setCurrentId(id)
|
|
210
|
+
} else {
|
|
211
|
+
setIsInstant(false)
|
|
191
212
|
}
|
|
192
|
-
setOpen(
|
|
213
|
+
setOpen(openVal)
|
|
193
214
|
})
|
|
194
215
|
|
|
195
216
|
// Auto close when document scroll
|
|
@@ -214,6 +235,7 @@ const TooltipComponent = createRefComponent(function Tooltip(
|
|
|
214
235
|
const floatingContext = useFloatingContext({
|
|
215
236
|
open,
|
|
216
237
|
setOpen: onOpenChange,
|
|
238
|
+
closeReasonRef,
|
|
217
239
|
disable: false,
|
|
218
240
|
disableFocus: false,
|
|
219
241
|
hoverable: true,
|
|
@@ -227,25 +249,17 @@ const TooltipComponent = createRefComponent(function Tooltip(
|
|
|
227
249
|
const onCustomAnchorAdd = React.useCallback(() => setHasCustomAnchor(true), [])
|
|
228
250
|
const onCustomAnchorRemove = React.useCallback(() => setHasCustomAnchor(false), [])
|
|
229
251
|
const contentId = React.useId()
|
|
230
|
-
const smallerSize = oneSizeTokenSmaller(defaultTokenSizePolicy.fontSize)
|
|
231
252
|
|
|
232
253
|
const content = (
|
|
233
254
|
<FloatingOverrideContext.Provider value={floatingContext}>
|
|
234
|
-
{
|
|
235
|
-
<Popper
|
|
236
|
-
scope={scope}
|
|
237
|
-
size={smallerSize as SizeTokens}
|
|
238
|
-
allowFlip
|
|
239
|
-
stayInFrame
|
|
240
|
-
open={open}
|
|
241
|
-
{...restProps}
|
|
242
|
-
>
|
|
255
|
+
<Popper scope={scope} allowFlip stayInFrame open={open} {...restProps}>
|
|
243
256
|
<PopoverContextProvider
|
|
244
257
|
scope={scope}
|
|
245
258
|
contentId={contentId}
|
|
246
259
|
triggerRef={triggerRef}
|
|
247
260
|
open={open}
|
|
248
261
|
onOpenChange={setOpen}
|
|
262
|
+
closeReasonRef={closeReasonRef}
|
|
249
263
|
onOpenToggle={voidFn}
|
|
250
264
|
hasCustomAnchor={hasCustomAnchor}
|
|
251
265
|
onCustomAnchorAdd={onCustomAnchorAdd}
|
|
@@ -257,15 +271,21 @@ const TooltipComponent = createRefComponent(function Tooltip(
|
|
|
257
271
|
</FloatingOverrideContext.Provider>
|
|
258
272
|
)
|
|
259
273
|
|
|
274
|
+
const wrappedContent = (
|
|
275
|
+
<TooltipInstantContext.Provider value={isInstant}>
|
|
276
|
+
{content}
|
|
277
|
+
</TooltipInstantContext.Provider>
|
|
278
|
+
)
|
|
279
|
+
|
|
260
280
|
if (zIndex !== undefined) {
|
|
261
281
|
return (
|
|
262
282
|
<TooltipZIndexContext.Provider value={zIndex}>
|
|
263
|
-
{
|
|
283
|
+
{wrappedContent}
|
|
264
284
|
</TooltipZIndexContext.Provider>
|
|
265
285
|
)
|
|
266
286
|
}
|
|
267
287
|
|
|
268
|
-
return
|
|
288
|
+
return wrappedContent
|
|
269
289
|
})
|
|
270
290
|
|
|
271
291
|
const TooltipTrigger = createRefComponent(function TooltipTrigger(
|
package/src/TooltipSimple.tsx
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { createRefComponent
|
|
2
|
-
import { getRadius, getSize, getSpace } from '@tamagui/get-token'
|
|
1
|
+
import { createRefComponent } from '@tamagui/core'
|
|
3
2
|
import type { YStackProps } from '@tamagui/stacks'
|
|
4
3
|
import { Paragraph } from '@tamagui/text'
|
|
5
4
|
import * as React from 'react'
|
|
@@ -9,13 +8,15 @@ import { Tooltip } from './Tooltip'
|
|
|
9
8
|
|
|
10
9
|
export type TooltipSimpleProps = TooltipProps & {
|
|
11
10
|
disabled?: boolean
|
|
11
|
+
/** arrow size in px */
|
|
12
|
+
size?: number
|
|
12
13
|
label?: React.ReactNode
|
|
13
14
|
children?: React.ReactNode
|
|
14
15
|
contentProps?: YStackProps
|
|
15
16
|
}
|
|
16
17
|
|
|
17
18
|
export const TooltipSimple: React.FC<TooltipSimpleProps> = createRefComponent(
|
|
18
|
-
({ label, children, contentProps, disabled, ...tooltipProps }, ref) => {
|
|
19
|
+
({ label, children, contentProps, disabled, size = 7, ...tooltipProps }, ref) => {
|
|
19
20
|
'use no memo'
|
|
20
21
|
|
|
21
22
|
const child = React.Children.only(children)
|
|
@@ -47,26 +48,24 @@ export const TooltipSimple: React.FC<TooltipSimpleProps> = createRefComponent(
|
|
|
47
48
|
</Tooltip.Trigger>
|
|
48
49
|
|
|
49
50
|
<Tooltip.Content
|
|
50
|
-
theme="
|
|
51
|
+
theme="brand"
|
|
51
52
|
y="enter:-4px exit:-4px"
|
|
52
53
|
scale="1 enter:0.96 exit:0.96"
|
|
53
54
|
opacity="1 enter:0 exit:0"
|
|
54
55
|
pointerEvents="none"
|
|
55
|
-
paddingHorizontal=
|
|
56
|
-
paddingVertical=
|
|
57
|
-
|
|
58
|
-
Math.round(
|
|
59
|
-
(getVariableValue(getSize(tooltipProps.size ?? true)) as number) * 0.36 - 9
|
|
60
|
-
)
|
|
61
|
-
)}
|
|
62
|
-
borderRadius={getVariableValue(getRadius(tooltipProps.size ?? true))}
|
|
56
|
+
paddingHorizontal="2"
|
|
57
|
+
paddingVertical="1"
|
|
58
|
+
borderRadius={6}
|
|
63
59
|
boxShadow="0 2px 4px shadow-color"
|
|
64
|
-
transition={
|
|
60
|
+
transition={{
|
|
61
|
+
preset: 'quicker',
|
|
62
|
+
properties: 'transform, opacity',
|
|
63
|
+
opacity: { preset: 'quicker', spring: { overshootClamping: true } },
|
|
64
|
+
}}
|
|
65
65
|
{...contentProps}
|
|
66
|
-
animateOnly={['transform', 'opacity']}
|
|
67
66
|
>
|
|
68
67
|
<Tooltip.Arrow
|
|
69
|
-
size={
|
|
68
|
+
size={size}
|
|
70
69
|
backgroundColor="background"
|
|
71
70
|
borderColor="border-color"
|
|
72
71
|
/>
|
package/types/Tooltip.d.ts
CHANGED
|
@@ -65,15 +65,9 @@ export declare const Tooltip: ((props: Omit<PopperProps & {
|
|
|
65
65
|
} & {
|
|
66
66
|
Anchor: import("@tamagui/core").RefComponent<unknown, ScopedProps<PopoverAnchorProps>>;
|
|
67
67
|
Arrow: import("@tamagui/core").RefComponent<TamaguiElement, PopperArrowProps>;
|
|
68
|
-
Content: import("@tamagui/core").TamaguiComponent<Omit<import("@tamagui/core").GetFinalProps<import("@tamagui/core").RNTamaguiViewNonStyleProps, import("@tamagui/core").StackStyleBase, {
|
|
69
|
-
elevation?: number | false | import("@tamagui/core").Size | undefined;
|
|
70
|
-
}>, "accessibilityActions" | "accessibilityElementsHidden" | "accessibilityHint" | "accessibilityIgnoresInvertColors" | "accessibilityLabel" | "accessibilityLabelledBy" | "accessibilityLanguage" | "accessibilityLargeContentTitle" | "accessibilityLiveRegion" | "accessibilityRespondsToUserInteraction" | "accessibilityRole" | "accessibilityShowsLargeContentViewer" | "accessibilityState" | "accessibilityValue" | "accessibilityViewIsModal" | "accessible" | "alignContent" | "alignItems" | "alignSelf" | "alwaysDisable" | "animateOnly" | "animatePosition" | "animatePresence" | "animatedBy" | "aria-busy" | "aria-checked" | "aria-disabled" | "aria-expanded" | "aria-hidden" | "aria-label" | "aria-labelledby" | "aria-live" | "aria-modal" | "aria-selected" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "asChild" | "aspectRatio" | "backdropFilter" | "backfaceVisibility" | "background" | "backgroundAttachment" | "backgroundBlendMode" | "backgroundClip" | "backgroundColor" | "backgroundImage" | "backgroundOrigin" | "backgroundPosition" | "backgroundRepeat" | "backgroundSize" | "blockSize" | "border" | "borderBlock" | "borderBlockColor" | "borderBlockEndColor" | "borderBlockEndStyle" | "borderBlockEndWidth" | "borderBlockStartColor" | "borderBlockStartStyle" | "borderBlockStartWidth" | "borderBlockStyle" | "borderBlockWidth" | "borderBottomColor" | "borderBottomEndRadius" | "borderBottomLeftRadius" | "borderBottomRightRadius" | "borderBottomStartRadius" | "borderBottomWidth" | "borderColor" | "borderCurve" | "borderEndColor" | "borderEndEndRadius" | "borderEndStartRadius" | "borderEndWidth" | "borderImage" | "borderInline" | "borderInlineColor" | "borderInlineEndColor" | "borderInlineEndStyle" | "borderInlineEndWidth" | "borderInlineStartColor" | "borderInlineStartStyle" | "borderInlineStartWidth" | "borderInlineStyle" | "borderInlineWidth" | "borderLeftColor" | "borderLeftWidth" | "borderRadius" | "borderRightColor" | "borderRightWidth" | "borderStartColor" | "borderStartEndRadius" | "borderStartStartRadius" | "borderStartWidth" | "borderStyle" | "borderTopColor" | "borderTopEndRadius" | "borderTopLeftRadius" | "borderTopRightRadius" | "borderTopStartRadius" | "borderTopWidth" | "borderWidth" | "bottom" | "boxShadow" | "boxSizing" | "branches" | "caretColor" | "children" | "className" | "clipPath" | "collapsable" | "collapsableChildren" | "color" | "columnGap" | "contain" | "container" | "containerName" | "containerType" | "cursor" | "dangerouslySetInnerHTML" | "debug" | "direction" | "disableClassName" | "disableFocusScope" | "disableNativeStyle" | "disableOptimization" | "disabled" | "display" | "enableRemoveScroll" | "end" | "experimental_backgroundImage" | "experimental_backgroundPosition" | "experimental_backgroundRepeat" | "experimental_backgroundSize" | "filter" | "flex" | "flexBasis" | "flexDirection" | "flexGrow" | "flexShrink" | "flexWrap" | "float" | "forceMount" | "forceStyle" | "forceUnmount" | "freezeContentsWhenHidden" | "gap" | "gridColumn" | "gridColumnEnd" | "gridColumnGap" | "gridColumnStart" | "gridRow" | "gridRowEnd" | "gridRowGap" | "gridRowStart" | "gridTemplateAreas" | "gridTemplateColumns" | "group" | "hasTVPreferredFocus" | "height" | "hitSlop" | "htmlFor" | "id" | "importantForAccessibility" | "inlineSize" | "inset" | "insetBlock" | "insetBlockEnd" | "insetBlockStart" | "insetInline" | "insetInlineEnd" | "insetInlineStart" | "isTVSelectable" | "isolation" | "justifyContent" | "lazyMount" | "left" | "margin" | "marginBlock" | "marginBlockEnd" | "marginBlockStart" | "marginBottom" | "marginEnd" | "marginHorizontal" | "marginInline" | "marginInlineEnd" | "marginInlineStart" | "marginLeft" | "marginRight" | "marginStart" | "marginTop" | "marginVertical" | "mask" | "maskBorder" | "maskBorderMode" | "maskBorderOutset" | "maskBorderRepeat" | "maskBorderSlice" | "maskBorderSource" | "maskBorderWidth" | "maskClip" | "maskComposite" | "maskImage" | "maskMode" | "maskOrigin" | "maskPosition" | "maskRepeat" | "maskSize" | "maskType" | "matrix" | "maxBlockSize" | "maxHeight" | "maxInlineSize" | "maxWidth" | "minBlockSize" | "minHeight" | "minInlineSize" | "minWidth" | "mixBlendMode" | "name" | "nativeID" | "needsOffscreenAlphaCompositing" | "objectFit" | "onAccessibilityAction" | "onAccessibilityEscape" | "onAccessibilityTap" | "onBeforeInput" | "onBlur" | "onBlurCapture" | "onChange" | "onClick" | "onCloseAutoFocus" | "onContextMenu" | "onCopy" | "onCut" | "onDoubleClick" | "onDrag" | "onDragEnd" | "onDragEnter" | "onDragLeave" | "onDragOver" | "onDragStart" | "onDrop" | "onEscapeKeyDown" | "onFocus" | "onFocusCapture" | "onFocusOutside" | "onInput" | "onInteractOutside" | "onKeyDown" | "onKeyUp" | "onLongPress" | "onMagicTap" | "onMouseDown" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseOut" | "onMouseOver" | "onMouseUp" | "onOpenAutoFocus" | "onPaste" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerDownOutside" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPress" | "onPressIn" | "onPressOut" | "onScroll" | "onTouchCancel" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchStart" | "onTransition" | "onWheel" | "opacity" | "outline" | "outlineColor" | "outlineOffset" | "outlineStyle" | "outlineWidth" | "overflow" | "overflowBlock" | "overflowInline" | "overflowWrap" | "overflowX" | "overflowY" | "padding" | "paddingBlock" | "paddingBlockEnd" | "paddingBlockStart" | "paddingBottom" | "paddingEnd" | "paddingHorizontal" | "paddingInline" | "paddingInlineEnd" | "paddingInlineStart" | "paddingLeft" | "paddingRight" | "paddingStart" | "paddingTop" | "paddingVertical" | "passThrough" | "perspective" | "pointerEvents" | "position" | "removeClippedSubviews" | "render" | "renderToHardwareTextureAndroid" | "resize" | "right" | "role" | "rotate" | "rotateX" | "rotateY" | "rotateZ" | "rotation" | "rowGap" | "scale" | "scaleX" | "scaleY" | "scope" | "screenReaderFocusable" | "shadowColor" | "shadowOffset" | "shadowOpacity" | "shadowRadius" | "shouldRasterizeIOS" | "skewX" | "skewY" | "start" | "style" | "tabIndex" | "target" | "testID" | "textEmphasis" | "textWrap" | "theme" | "themeShallow" | "top" | "transform" | "transformMatrix" | "transformOrigin" | "transformStyle" | "transition" | "translateX" | "translateY" | "trapFocus" | "tvParallaxMagnification" | "tvParallaxShiftDistanceX" | "tvParallaxShiftDistanceY" | "tvParallaxTiltAngle" | "untilMeasured" | "userSelect" | "verticalAlign" | "visibility" | "width" | "wordWrap" | "x" | "y" | "zIndex"> & Omit<import("@tamagui/popover").PopoverContentTypeProps, "scope"> & {
|
|
68
|
+
Content: import("@tamagui/core").TamaguiComponent<import("@tamagui/core").TamaDefer, TamaguiElement, Omit<import("@tamagui/core").RNTamaguiViewNonStyleProps, "KhtmlBoxAlign" | "KhtmlBoxDirection" | "KhtmlBoxFlex" | "KhtmlBoxFlexGroup" | "KhtmlBoxLines" | "KhtmlBoxOrdinalGroup" | "KhtmlBoxOrient" | "KhtmlBoxPack" | "KhtmlLineBreak" | "KhtmlOpacity" | "KhtmlUserSelect" | "OAnimation" | "OAnimationDelay" | "OAnimationDirection" | "OAnimationDuration" | "OAnimationFillMode" | "OAnimationIterationCount" | "OAnimationName" | "OAnimationPlayState" | "OAnimationTimingFunction" | "OBackgroundSize" | "OBorderImage" | "OObjectFit" | "OObjectPosition" | "OTabSize" | "OTextOverflow" | "OTransform" | "OTransformOrigin" | "OTransition" | "OTransitionDelay" | "OTransitionDuration" | "OTransitionProperty" | "OTransitionTimingFunction" | "accentColor" | "accessibilityActions" | "accessibilityElementsHidden" | "accessibilityHint" | "accessibilityIgnoresInvertColors" | "accessibilityLabel" | "accessibilityLabelledBy" | "accessibilityLanguage" | "accessibilityLargeContentTitle" | "accessibilityLiveRegion" | "accessibilityRespondsToUserInteraction" | "accessibilityRole" | "accessibilityShowsLargeContentViewer" | "accessibilityState" | "accessibilityValue" | "accessibilityViewIsModal" | "accessible" | "alignContent" | "alignItems" | "alignSelf" | "alignTracks" | "alignmentBaseline" | "all" | "alwaysDisable" | "anchorName" | "anchorScope" | "animatePosition" | "animatePresence" | "animatedBy" | "animation" | "animationComposition" | "animationDelay" | "animationDirection" | "animationDuration" | "animationFillMode" | "animationIterationCount" | "animationName" | "animationPlayState" | "animationRange" | "animationRangeEnd" | "animationRangeStart" | "animationTimeline" | "animationTimingFunction" | "appearance" | "aria-busy" | "aria-checked" | "aria-disabled" | "aria-expanded" | "aria-hidden" | "aria-label" | "aria-labelledby" | "aria-live" | "aria-modal" | "aria-selected" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "asChild" | "aspectRatio" | "backdropFilter" | "backfaceVisibility" | "background" | "backgroundAttachment" | "backgroundBlendMode" | "backgroundClip" | "backgroundColor" | "backgroundImage" | "backgroundOrigin" | "backgroundPosition" | "backgroundPositionX" | "backgroundPositionY" | "backgroundRepeat" | "backgroundSize" | "baselineShift" | "blockSize" | "border" | "borderBlock" | "borderBlockColor" | "borderBlockEnd" | "borderBlockEndColor" | "borderBlockEndStyle" | "borderBlockEndWidth" | "borderBlockStart" | "borderBlockStartColor" | "borderBlockStartStyle" | "borderBlockStartWidth" | "borderBlockStyle" | "borderBlockWidth" | "borderBottom" | "borderBottomColor" | "borderBottomEndRadius" | "borderBottomLeftRadius" | "borderBottomRightRadius" | "borderBottomStartRadius" | "borderBottomStyle" | "borderBottomWidth" | "borderCollapse" | "borderColor" | "borderCurve" | "borderEndColor" | "borderEndEndRadius" | "borderEndStartRadius" | "borderEndWidth" | "borderImage" | "borderImageOutset" | "borderImageRepeat" | "borderImageSlice" | "borderImageSource" | "borderImageWidth" | "borderInline" | "borderInlineColor" | "borderInlineEnd" | "borderInlineEndColor" | "borderInlineEndStyle" | "borderInlineEndWidth" | "borderInlineStart" | "borderInlineStartColor" | "borderInlineStartStyle" | "borderInlineStartWidth" | "borderInlineStyle" | "borderInlineWidth" | "borderLeft" | "borderLeftColor" | "borderLeftStyle" | "borderLeftWidth" | "borderRadius" | "borderRight" | "borderRightColor" | "borderRightStyle" | "borderRightWidth" | "borderSpacing" | "borderStartColor" | "borderStartEndRadius" | "borderStartStartRadius" | "borderStartWidth" | "borderStyle" | "borderTop" | "borderTopColor" | "borderTopEndRadius" | "borderTopLeftRadius" | "borderTopRightRadius" | "borderTopStartRadius" | "borderTopStyle" | "borderTopWidth" | "borderWidth" | "bottom" | "boxAlign" | "boxDecorationBreak" | "boxDirection" | "boxFlex" | "boxFlexGroup" | "boxLines" | "boxOrdinalGroup" | "boxOrient" | "boxPack" | "boxShadow" | "boxSizing" | "branches" | "breakAfter" | "breakBefore" | "breakInside" | "captionSide" | "caret" | "caretColor" | "caretShape" | "children" | "className" | "clear" | "clip" | "clipPath" | "clipRule" | "collapsable" | "collapsableChildren" | "color" | "colorAdjust" | "colorInterpolation" | "colorInterpolationFilters" | "colorRendering" | "colorScheme" | "columnCount" | "columnFill" | "columnGap" | "columnRule" | "columnRuleColor" | "columnRuleStyle" | "columnRuleWidth" | "columnSpan" | "columnWidth" | "columns" | "contain" | "containIntrinsicBlockSize" | "containIntrinsicHeight" | "containIntrinsicInlineSize" | "containIntrinsicSize" | "containIntrinsicWidth" | "container" | "containerName" | "containerType" | "content" | "contentVisibility" | "counterIncrement" | "counterReset" | "counterSet" | "cursor" | "cx" | "cy" | "d" | "dangerouslySetInnerHTML" | "debug" | "direction" | "disableClassName" | "disableFocusScope" | "disableNativeStyle" | "disableOptimization" | "disabled" | "display" | "dominantBaseline" | "emptyCells" | "enableRemoveScroll" | "end" | "experimental_accessibilityOrder" | "experimental_backgroundImage" | "experimental_backgroundPosition" | "experimental_backgroundRepeat" | "experimental_backgroundSize" | "fieldSizing" | "fill" | "fillOpacity" | "fillRule" | "filter" | "flex" | "flexBasis" | "flexDirection" | "flexFlow" | "flexGrow" | "flexShrink" | "flexWrap" | "float" | "floodColor" | "floodOpacity" | "font" | "fontFamily" | "fontFeatureSettings" | "fontKerning" | "fontLanguageOverride" | "fontOpticalSizing" | "fontPalette" | "fontSize" | "fontSizeAdjust" | "fontSmooth" | "fontStretch" | "fontStyle" | "fontSynthesis" | "fontSynthesisPosition" | "fontSynthesisSmallCaps" | "fontSynthesisStyle" | "fontSynthesisWeight" | "fontVariant" | "fontVariantAlternates" | "fontVariantCaps" | "fontVariantEastAsian" | "fontVariantEmoji" | "fontVariantLigatures" | "fontVariantNumeric" | "fontVariantPosition" | "fontVariationSettings" | "fontWeight" | "fontWidth" | "forceMount" | "forceStyle" | "forceUnmount" | "forcedColorAdjust" | "freezeContentsWhenHidden" | "gap" | "glyphOrientationVertical" | "grid" | "gridArea" | "gridAutoColumns" | "gridAutoFlow" | "gridAutoRows" | "gridColumn" | "gridColumnEnd" | "gridColumnGap" | "gridColumnStart" | "gridGap" | "gridRow" | "gridRowEnd" | "gridRowGap" | "gridRowStart" | "gridTemplate" | "gridTemplateAreas" | "gridTemplateColumns" | "gridTemplateRows" | "group" | "hangingPunctuation" | "hasTVPreferredFocus" | "height" | "hitSlop" | "htmlFor" | "hyphenateCharacter" | "hyphenateLimitChars" | "hyphens" | "id" | "imageOrientation" | "imageRendering" | "imageResolution" | "imeMode" | "importantForAccessibility" | "initialLetter" | "initialLetterAlign" | "inlineSize" | "inset" | "insetArea" | "insetBlock" | "insetBlockEnd" | "insetBlockStart" | "insetInline" | "insetInlineEnd" | "insetInlineStart" | "interpolateSize" | "isolation" | "justifyContent" | "justifyItems" | "justifySelf" | "justifyTracks" | "lazyMount" | "left" | "letterSpacing" | "lightingColor" | "lineBreak" | "lineClamp" | "lineHeight" | "lineHeightStep" | "listStyle" | "listStyleImage" | "listStylePosition" | "listStyleType" | "margin" | "marginBlock" | "marginBlockEnd" | "marginBlockStart" | "marginBottom" | "marginEnd" | "marginHorizontal" | "marginInline" | "marginInlineEnd" | "marginInlineStart" | "marginLeft" | "marginRight" | "marginStart" | "marginTop" | "marginTrim" | "marginVertical" | "marker" | "markerEnd" | "markerMid" | "markerStart" | "mask" | "maskBorder" | "maskBorderMode" | "maskBorderOutset" | "maskBorderRepeat" | "maskBorderSlice" | "maskBorderSource" | "maskBorderWidth" | "maskClip" | "maskComposite" | "maskImage" | "maskMode" | "maskOrigin" | "maskPosition" | "maskRepeat" | "maskSize" | "maskType" | "masonryAutoFlow" | "mathDepth" | "mathShift" | "mathStyle" | "matrix" | "maxBlockSize" | "maxHeight" | "maxInlineSize" | "maxLines" | "maxWidth" | "minBlockSize" | "minHeight" | "minInlineSize" | "minWidth" | "mixBlendMode" | "motion" | "motionDistance" | "motionPath" | "motionRotation" | "name" | "nativeBackgroundAndroid" | "nativeForegroundAndroid" | "nativeID" | "needsOffscreenAlphaCompositing" | "nextFocusDown" | "nextFocusForward" | "nextFocusLeft" | "nextFocusRight" | "nextFocusUp" | "objectFit" | "objectPosition" | "objectViewBox" | "offset" | "offsetAnchor" | "offsetBlock" | "offsetBlockEnd" | "offsetBlockStart" | "offsetDistance" | "offsetInline" | "offsetInlineEnd" | "offsetInlineStart" | "offsetPath" | "offsetPosition" | "offsetRotate" | "offsetRotation" | "onAccessibilityAction" | "onAccessibilityEscape" | "onAccessibilityTap" | "onBeforeInput" | "onBlur" | "onBlurCapture" | "onChange" | "onClick" | "onClickCapture" | "onCloseAutoFocus" | "onContextMenu" | "onCopy" | "onCut" | "onDoubleClick" | "onDrag" | "onDragEnd" | "onDragEnter" | "onDragLeave" | "onDragOver" | "onDragStart" | "onDrop" | "onEscapeKeyDown" | "onFocus" | "onFocusCapture" | "onFocusOutside" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onInput" | "onInteractOutside" | "onKeyDown" | "onKeyDownCapture" | "onKeyUp" | "onKeyUpCapture" | "onLongPress" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onMagicTap" | "onMouseDown" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseOut" | "onMouseOver" | "onMouseUp" | "onOpenAutoFocus" | "onPaste" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerDownOutside" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerOut" | "onPointerOutCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerUp" | "onPointerUpCapture" | "onPress" | "onPressIn" | "onPressOut" | "onScroll" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onTransition" | "onWheel" | "opacity" | "order" | "orphans" | "outline" | "outlineColor" | "outlineOffset" | "outlineStyle" | "outlineWidth" | "overflow" | "overflowAnchor" | "overflowBlock" | "overflowClipBox" | "overflowClipMargin" | "overflowInline" | "overflowWrap" | "overflowX" | "overflowY" | "overlay" | "overscrollBehavior" | "overscrollBehaviorBlock" | "overscrollBehaviorInline" | "overscrollBehaviorX" | "overscrollBehaviorY" | "padding" | "paddingBlock" | "paddingBlockEnd" | "paddingBlockStart" | "paddingBottom" | "paddingEnd" | "paddingHorizontal" | "paddingInline" | "paddingInlineEnd" | "paddingInlineStart" | "paddingLeft" | "paddingRight" | "paddingStart" | "paddingTop" | "paddingVertical" | "page" | "pageBreakAfter" | "pageBreakBefore" | "pageBreakInside" | "paintOrder" | "passThrough" | "perspective" | "perspectiveOrigin" | "placeContent" | "placeItems" | "placeSelf" | "pointerEvents" | "position" | "positionAnchor" | "positionArea" | "positionTry" | "positionTryFallbacks" | "positionTryOptions" | "positionTryOrder" | "positionVisibility" | "printColorAdjust" | "quotes" | "r" | "removeClippedSubviews" | "render" | "renderToHardwareTextureAndroid" | "resize" | "right" | "role" | "rotate" | "rotateX" | "rotateY" | "rotateZ" | "rowGap" | "rubyAlign" | "rubyMerge" | "rubyOverhang" | "rubyPosition" | "rx" | "ry" | "scale" | "scaleX" | "scaleY" | "scope" | "screenReaderFocusable" | "scrollBehavior" | "scrollInitialTarget" | "scrollMargin" | "scrollMarginBlock" | "scrollMarginBlockEnd" | "scrollMarginBlockStart" | "scrollMarginBottom" | "scrollMarginInline" | "scrollMarginInlineEnd" | "scrollMarginInlineStart" | "scrollMarginLeft" | "scrollMarginRight" | "scrollMarginTop" | "scrollPadding" | "scrollPaddingBlock" | "scrollPaddingBlockEnd" | "scrollPaddingBlockStart" | "scrollPaddingBottom" | "scrollPaddingInline" | "scrollPaddingInlineEnd" | "scrollPaddingInlineStart" | "scrollPaddingLeft" | "scrollPaddingRight" | "scrollPaddingTop" | "scrollSnapAlign" | "scrollSnapCoordinate" | "scrollSnapDestination" | "scrollSnapMargin" | "scrollSnapMarginBottom" | "scrollSnapMarginLeft" | "scrollSnapMarginRight" | "scrollSnapMarginTop" | "scrollSnapPointsX" | "scrollSnapPointsY" | "scrollSnapStop" | "scrollSnapType" | "scrollSnapTypeX" | "scrollSnapTypeY" | "scrollTimeline" | "scrollTimelineAxis" | "scrollTimelineName" | "scrollbarColor" | "scrollbarGutter" | "scrollbarWidth" | "shadowColor" | "shadowOffset" | "shadowOpacity" | "shadowRadius" | "shapeImageThreshold" | "shapeMargin" | "shapeOutside" | "shapeRendering" | "shouldRasterizeIOS" | "skewX" | "skewY" | "speakAs" | "start" | "stopColor" | "stopOpacity" | "stroke" | "strokeColor" | "strokeDasharray" | "strokeDashoffset" | "strokeLinecap" | "strokeLinejoin" | "strokeMiterlimit" | "strokeOpacity" | "strokeWidth" | "style" | "tabIndex" | "tabSize" | "tableLayout" | "target" | "testID" | "textAlign" | "textAlignLast" | "textAnchor" | "textAutospace" | "textBox" | "textBoxEdge" | "textBoxTrim" | "textCombineUpright" | "textDecoration" | "textDecorationColor" | "textDecorationLine" | "textDecorationSkip" | "textDecorationSkipInk" | "textDecorationStyle" | "textDecorationThickness" | "textEmphasis" | "textEmphasisColor" | "textEmphasisPosition" | "textEmphasisStyle" | "textIndent" | "textJustify" | "textOrientation" | "textOverflow" | "textRendering" | "textShadow" | "textSizeAdjust" | "textSpacingTrim" | "textTransform" | "textUnderlineOffset" | "textUnderlinePosition" | "textWrap" | "textWrapMode" | "textWrapStyle" | "theme" | "themeShallow" | "timelineScope" | "top" | "touchAction" | "transform" | "transformBox" | "transformOrigin" | "transformStyle" | "transition" | "transitionBehavior" | "transitionDelay" | "transitionDuration" | "transitionProperty" | "transitionTimingFunction" | "translate" | "trapFocus" | "unicodeBidi" | "untilMeasured" | "userSelect" | "vectorEffect" | "verticalAlign" | "viewTimeline" | "viewTimelineAxis" | "viewTimelineInset" | "viewTimelineName" | "viewTransitionClass" | "viewTransitionName" | "visibility" | "whiteSpace" | "whiteSpaceCollapse" | "widows" | "width" | "willChange" | "wordBreak" | "wordSpacing" | "wordWrap" | "writingMode" | "x" | "y" | "zIndex" | "zoom"> & Omit<import("@tamagui/popover").PopoverContentTypeProps, "scope"> & {
|
|
71
69
|
scope?: TooltipScopes;
|
|
72
|
-
}, TamaguiElement, import("@tamagui/core").RNTamaguiViewNonStyleProps & Omit<import("@tamagui/popover").PopoverContentTypeProps, "scope"> & {
|
|
73
|
-
scope?: TooltipScopes;
|
|
74
|
-
}, import("@tamagui/core").StackStyleBase, {
|
|
75
|
-
elevation?: number | false | import("@tamagui/core").Size | undefined;
|
|
76
|
-
}, import("@tamagui/core").StaticConfigPublic>;
|
|
70
|
+
}, import("@tamagui/core").StackStyleBase, Omit<{}, "KhtmlBoxAlign" | "KhtmlBoxDirection" | "KhtmlBoxFlex" | "KhtmlBoxFlexGroup" | "KhtmlBoxLines" | "KhtmlBoxOrdinalGroup" | "KhtmlBoxOrient" | "KhtmlBoxPack" | "KhtmlLineBreak" | "KhtmlOpacity" | "KhtmlUserSelect" | "OAnimation" | "OAnimationDelay" | "OAnimationDirection" | "OAnimationDuration" | "OAnimationFillMode" | "OAnimationIterationCount" | "OAnimationName" | "OAnimationPlayState" | "OAnimationTimingFunction" | "OBackgroundSize" | "OBorderImage" | "OObjectFit" | "OObjectPosition" | "OTabSize" | "OTextOverflow" | "OTransform" | "OTransformOrigin" | "OTransition" | "OTransitionDelay" | "OTransitionDuration" | "OTransitionProperty" | "OTransitionTimingFunction" | "accentColor" | "accessibilityActions" | "accessibilityElementsHidden" | "accessibilityHint" | "accessibilityIgnoresInvertColors" | "accessibilityLabel" | "accessibilityLabelledBy" | "accessibilityLanguage" | "accessibilityLargeContentTitle" | "accessibilityLiveRegion" | "accessibilityRespondsToUserInteraction" | "accessibilityRole" | "accessibilityShowsLargeContentViewer" | "accessibilityState" | "accessibilityValue" | "accessibilityViewIsModal" | "accessible" | "alignContent" | "alignItems" | "alignSelf" | "alignTracks" | "alignmentBaseline" | "all" | "alwaysDisable" | "anchorName" | "anchorScope" | "animatePosition" | "animatePresence" | "animatedBy" | "animation" | "animationComposition" | "animationDelay" | "animationDirection" | "animationDuration" | "animationFillMode" | "animationIterationCount" | "animationName" | "animationPlayState" | "animationRange" | "animationRangeEnd" | "animationRangeStart" | "animationTimeline" | "animationTimingFunction" | "appearance" | "aria-busy" | "aria-checked" | "aria-disabled" | "aria-expanded" | "aria-hidden" | "aria-label" | "aria-labelledby" | "aria-live" | "aria-modal" | "aria-selected" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "asChild" | "aspectRatio" | "backdropFilter" | "backfaceVisibility" | "background" | "backgroundAttachment" | "backgroundBlendMode" | "backgroundClip" | "backgroundColor" | "backgroundImage" | "backgroundOrigin" | "backgroundPosition" | "backgroundPositionX" | "backgroundPositionY" | "backgroundRepeat" | "backgroundSize" | "baselineShift" | "blockSize" | "border" | "borderBlock" | "borderBlockColor" | "borderBlockEnd" | "borderBlockEndColor" | "borderBlockEndStyle" | "borderBlockEndWidth" | "borderBlockStart" | "borderBlockStartColor" | "borderBlockStartStyle" | "borderBlockStartWidth" | "borderBlockStyle" | "borderBlockWidth" | "borderBottom" | "borderBottomColor" | "borderBottomEndRadius" | "borderBottomLeftRadius" | "borderBottomRightRadius" | "borderBottomStartRadius" | "borderBottomStyle" | "borderBottomWidth" | "borderCollapse" | "borderColor" | "borderCurve" | "borderEndColor" | "borderEndEndRadius" | "borderEndStartRadius" | "borderEndWidth" | "borderImage" | "borderImageOutset" | "borderImageRepeat" | "borderImageSlice" | "borderImageSource" | "borderImageWidth" | "borderInline" | "borderInlineColor" | "borderInlineEnd" | "borderInlineEndColor" | "borderInlineEndStyle" | "borderInlineEndWidth" | "borderInlineStart" | "borderInlineStartColor" | "borderInlineStartStyle" | "borderInlineStartWidth" | "borderInlineStyle" | "borderInlineWidth" | "borderLeft" | "borderLeftColor" | "borderLeftStyle" | "borderLeftWidth" | "borderRadius" | "borderRight" | "borderRightColor" | "borderRightStyle" | "borderRightWidth" | "borderSpacing" | "borderStartColor" | "borderStartEndRadius" | "borderStartStartRadius" | "borderStartWidth" | "borderStyle" | "borderTop" | "borderTopColor" | "borderTopEndRadius" | "borderTopLeftRadius" | "borderTopRightRadius" | "borderTopStartRadius" | "borderTopStyle" | "borderTopWidth" | "borderWidth" | "bottom" | "boxAlign" | "boxDecorationBreak" | "boxDirection" | "boxFlex" | "boxFlexGroup" | "boxLines" | "boxOrdinalGroup" | "boxOrient" | "boxPack" | "boxShadow" | "boxSizing" | "branches" | "breakAfter" | "breakBefore" | "breakInside" | "captionSide" | "caret" | "caretColor" | "caretShape" | "children" | "className" | "clear" | "clip" | "clipPath" | "clipRule" | "collapsable" | "collapsableChildren" | "color" | "colorAdjust" | "colorInterpolation" | "colorInterpolationFilters" | "colorRendering" | "colorScheme" | "columnCount" | "columnFill" | "columnGap" | "columnRule" | "columnRuleColor" | "columnRuleStyle" | "columnRuleWidth" | "columnSpan" | "columnWidth" | "columns" | "contain" | "containIntrinsicBlockSize" | "containIntrinsicHeight" | "containIntrinsicInlineSize" | "containIntrinsicSize" | "containIntrinsicWidth" | "container" | "containerName" | "containerType" | "content" | "contentVisibility" | "counterIncrement" | "counterReset" | "counterSet" | "cursor" | "cx" | "cy" | "d" | "dangerouslySetInnerHTML" | "debug" | "direction" | "disableClassName" | "disableFocusScope" | "disableNativeStyle" | "disableOptimization" | "disabled" | "display" | "dominantBaseline" | "emptyCells" | "enableRemoveScroll" | "end" | "experimental_accessibilityOrder" | "experimental_backgroundImage" | "experimental_backgroundPosition" | "experimental_backgroundRepeat" | "experimental_backgroundSize" | "fieldSizing" | "fill" | "fillOpacity" | "fillRule" | "filter" | "flex" | "flexBasis" | "flexDirection" | "flexFlow" | "flexGrow" | "flexShrink" | "flexWrap" | "float" | "floodColor" | "floodOpacity" | "font" | "fontFamily" | "fontFeatureSettings" | "fontKerning" | "fontLanguageOverride" | "fontOpticalSizing" | "fontPalette" | "fontSize" | "fontSizeAdjust" | "fontSmooth" | "fontStretch" | "fontStyle" | "fontSynthesis" | "fontSynthesisPosition" | "fontSynthesisSmallCaps" | "fontSynthesisStyle" | "fontSynthesisWeight" | "fontVariant" | "fontVariantAlternates" | "fontVariantCaps" | "fontVariantEastAsian" | "fontVariantEmoji" | "fontVariantLigatures" | "fontVariantNumeric" | "fontVariantPosition" | "fontVariationSettings" | "fontWeight" | "fontWidth" | "forceMount" | "forceStyle" | "forceUnmount" | "forcedColorAdjust" | "freezeContentsWhenHidden" | "gap" | "glyphOrientationVertical" | "grid" | "gridArea" | "gridAutoColumns" | "gridAutoFlow" | "gridAutoRows" | "gridColumn" | "gridColumnEnd" | "gridColumnGap" | "gridColumnStart" | "gridGap" | "gridRow" | "gridRowEnd" | "gridRowGap" | "gridRowStart" | "gridTemplate" | "gridTemplateAreas" | "gridTemplateColumns" | "gridTemplateRows" | "group" | "hangingPunctuation" | "hasTVPreferredFocus" | "height" | "hitSlop" | "htmlFor" | "hyphenateCharacter" | "hyphenateLimitChars" | "hyphens" | "id" | "imageOrientation" | "imageRendering" | "imageResolution" | "imeMode" | "importantForAccessibility" | "initialLetter" | "initialLetterAlign" | "inlineSize" | "inset" | "insetArea" | "insetBlock" | "insetBlockEnd" | "insetBlockStart" | "insetInline" | "insetInlineEnd" | "insetInlineStart" | "interpolateSize" | "isolation" | "justifyContent" | "justifyItems" | "justifySelf" | "justifyTracks" | "lazyMount" | "left" | "letterSpacing" | "lightingColor" | "lineBreak" | "lineClamp" | "lineHeight" | "lineHeightStep" | "listStyle" | "listStyleImage" | "listStylePosition" | "listStyleType" | "margin" | "marginBlock" | "marginBlockEnd" | "marginBlockStart" | "marginBottom" | "marginEnd" | "marginHorizontal" | "marginInline" | "marginInlineEnd" | "marginInlineStart" | "marginLeft" | "marginRight" | "marginStart" | "marginTop" | "marginTrim" | "marginVertical" | "marker" | "markerEnd" | "markerMid" | "markerStart" | "mask" | "maskBorder" | "maskBorderMode" | "maskBorderOutset" | "maskBorderRepeat" | "maskBorderSlice" | "maskBorderSource" | "maskBorderWidth" | "maskClip" | "maskComposite" | "maskImage" | "maskMode" | "maskOrigin" | "maskPosition" | "maskRepeat" | "maskSize" | "maskType" | "masonryAutoFlow" | "mathDepth" | "mathShift" | "mathStyle" | "matrix" | "maxBlockSize" | "maxHeight" | "maxInlineSize" | "maxLines" | "maxWidth" | "minBlockSize" | "minHeight" | "minInlineSize" | "minWidth" | "mixBlendMode" | "motion" | "motionDistance" | "motionPath" | "motionRotation" | "name" | "nativeBackgroundAndroid" | "nativeForegroundAndroid" | "nativeID" | "needsOffscreenAlphaCompositing" | "nextFocusDown" | "nextFocusForward" | "nextFocusLeft" | "nextFocusRight" | "nextFocusUp" | "objectFit" | "objectPosition" | "objectViewBox" | "offset" | "offsetAnchor" | "offsetBlock" | "offsetBlockEnd" | "offsetBlockStart" | "offsetDistance" | "offsetInline" | "offsetInlineEnd" | "offsetInlineStart" | "offsetPath" | "offsetPosition" | "offsetRotate" | "offsetRotation" | "onAccessibilityAction" | "onAccessibilityEscape" | "onAccessibilityTap" | "onBeforeInput" | "onBlur" | "onBlurCapture" | "onChange" | "onClick" | "onClickCapture" | "onCloseAutoFocus" | "onContextMenu" | "onCopy" | "onCut" | "onDoubleClick" | "onDrag" | "onDragEnd" | "onDragEnter" | "onDragLeave" | "onDragOver" | "onDragStart" | "onDrop" | "onEscapeKeyDown" | "onFocus" | "onFocusCapture" | "onFocusOutside" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onInput" | "onInteractOutside" | "onKeyDown" | "onKeyDownCapture" | "onKeyUp" | "onKeyUpCapture" | "onLongPress" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onMagicTap" | "onMouseDown" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseOut" | "onMouseOver" | "onMouseUp" | "onOpenAutoFocus" | "onPaste" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerDownOutside" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerOut" | "onPointerOutCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerUp" | "onPointerUpCapture" | "onPress" | "onPressIn" | "onPressOut" | "onScroll" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onTransition" | "onWheel" | "opacity" | "order" | "orphans" | "outline" | "outlineColor" | "outlineOffset" | "outlineStyle" | "outlineWidth" | "overflow" | "overflowAnchor" | "overflowBlock" | "overflowClipBox" | "overflowClipMargin" | "overflowInline" | "overflowWrap" | "overflowX" | "overflowY" | "overlay" | "overscrollBehavior" | "overscrollBehaviorBlock" | "overscrollBehaviorInline" | "overscrollBehaviorX" | "overscrollBehaviorY" | "padding" | "paddingBlock" | "paddingBlockEnd" | "paddingBlockStart" | "paddingBottom" | "paddingEnd" | "paddingHorizontal" | "paddingInline" | "paddingInlineEnd" | "paddingInlineStart" | "paddingLeft" | "paddingRight" | "paddingStart" | "paddingTop" | "paddingVertical" | "page" | "pageBreakAfter" | "pageBreakBefore" | "pageBreakInside" | "paintOrder" | "passThrough" | "perspective" | "perspectiveOrigin" | "placeContent" | "placeItems" | "placeSelf" | "pointerEvents" | "position" | "positionAnchor" | "positionArea" | "positionTry" | "positionTryFallbacks" | "positionTryOptions" | "positionTryOrder" | "positionVisibility" | "printColorAdjust" | "quotes" | "r" | "removeClippedSubviews" | "render" | "renderToHardwareTextureAndroid" | "resize" | "right" | "role" | "rotate" | "rotateX" | "rotateY" | "rotateZ" | "rowGap" | "rubyAlign" | "rubyMerge" | "rubyOverhang" | "rubyPosition" | "rx" | "ry" | "scale" | "scaleX" | "scaleY" | "scope" | "screenReaderFocusable" | "scrollBehavior" | "scrollInitialTarget" | "scrollMargin" | "scrollMarginBlock" | "scrollMarginBlockEnd" | "scrollMarginBlockStart" | "scrollMarginBottom" | "scrollMarginInline" | "scrollMarginInlineEnd" | "scrollMarginInlineStart" | "scrollMarginLeft" | "scrollMarginRight" | "scrollMarginTop" | "scrollPadding" | "scrollPaddingBlock" | "scrollPaddingBlockEnd" | "scrollPaddingBlockStart" | "scrollPaddingBottom" | "scrollPaddingInline" | "scrollPaddingInlineEnd" | "scrollPaddingInlineStart" | "scrollPaddingLeft" | "scrollPaddingRight" | "scrollPaddingTop" | "scrollSnapAlign" | "scrollSnapCoordinate" | "scrollSnapDestination" | "scrollSnapMargin" | "scrollSnapMarginBottom" | "scrollSnapMarginLeft" | "scrollSnapMarginRight" | "scrollSnapMarginTop" | "scrollSnapPointsX" | "scrollSnapPointsY" | "scrollSnapStop" | "scrollSnapType" | "scrollSnapTypeX" | "scrollSnapTypeY" | "scrollTimeline" | "scrollTimelineAxis" | "scrollTimelineName" | "scrollbarColor" | "scrollbarGutter" | "scrollbarWidth" | "shadowColor" | "shadowOffset" | "shadowOpacity" | "shadowRadius" | "shapeImageThreshold" | "shapeMargin" | "shapeOutside" | "shapeRendering" | "shouldRasterizeIOS" | "skewX" | "skewY" | "speakAs" | "start" | "stopColor" | "stopOpacity" | "stroke" | "strokeColor" | "strokeDasharray" | "strokeDashoffset" | "strokeLinecap" | "strokeLinejoin" | "strokeMiterlimit" | "strokeOpacity" | "strokeWidth" | "style" | "tabIndex" | "tabSize" | "tableLayout" | "target" | "testID" | "textAlign" | "textAlignLast" | "textAnchor" | "textAutospace" | "textBox" | "textBoxEdge" | "textBoxTrim" | "textCombineUpright" | "textDecoration" | "textDecorationColor" | "textDecorationLine" | "textDecorationSkip" | "textDecorationSkipInk" | "textDecorationStyle" | "textDecorationThickness" | "textEmphasis" | "textEmphasisColor" | "textEmphasisPosition" | "textEmphasisStyle" | "textIndent" | "textJustify" | "textOrientation" | "textOverflow" | "textRendering" | "textShadow" | "textSizeAdjust" | "textSpacingTrim" | "textTransform" | "textUnderlineOffset" | "textUnderlinePosition" | "textWrap" | "textWrapMode" | "textWrapStyle" | "theme" | "themeShallow" | "timelineScope" | "top" | "touchAction" | "transform" | "transformBox" | "transformOrigin" | "transformStyle" | "transition" | "transitionBehavior" | "transitionDelay" | "transitionDuration" | "transitionProperty" | "transitionTimingFunction" | "translate" | "trapFocus" | "unicodeBidi" | "untilMeasured" | "userSelect" | "vectorEffect" | "verticalAlign" | "viewTimeline" | "viewTimelineAxis" | "viewTimelineInset" | "viewTimelineName" | "viewTransitionClass" | "viewTransitionName" | "visibility" | "whiteSpace" | "whiteSpaceCollapse" | "widows" | "width" | "willChange" | "wordBreak" | "wordSpacing" | "wordWrap" | "writingMode" | "x" | "y" | "zIndex" | "zoom">, import("@tamagui/core").StaticConfigPublic>;
|
|
77
71
|
Trigger: import("@tamagui/core").RefComponent<unknown, ScopedProps<PopoverTriggerProps>>;
|
|
78
72
|
};
|
|
79
73
|
export {};
|
package/types/Tooltip.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tooltip.d.ts","sourceRoot":"","sources":["../src/Tooltip.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Tooltip.d.ts","sourceRoot":"","sources":["../src/Tooltip.tsx"],"names":[],"mappings":"AAEA,OAAO,uBAAuB,CAAA;AAE9B,OAAO,EAA4C,KAAK,KAAK,EAAE,MAAM,mBAAmB,CAAA;AACxF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAInD,OAAO,KAAK,EACV,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,kBAAkB,CAAA;AASzB,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAGpE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAI9B,MAAM,MAAM,aAAa,GAAG,MAAM,CAAA;AAElC,KAAK,WAAW,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG;IAAE,KAAK,CAAC,EAAE,aAAa,CAAA;CAAE,CAAA;AAElE,MAAM,MAAM,mBAAmB,GAAG,WAAW,CAAC,mBAAmB,CAAC,CAAA;AAmElE,MAAM,MAAM,YAAY,GAAG,WAAW,CACpC,WAAW,GAAG;IACZ,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IACtC,KAAK,CAAC,EAAE;QACN,OAAO,CAAC,EAAE,OAAO,CAAA;QACjB,WAAW,CAAC,EAAE,OAAO,CAAA;KACtB,CAAA;IACD,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EACF,MAAM,GACN;QACE,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,KAAK,CAAC,EAAE,MAAM,CAAA;KACf,CAAA;IACL,wBAAwB,CAAC,EAAE,OAAO,CAAA;IAClC;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,CACF,CAAA;AAKD,eAAO,MAAM,YAAY,sDAKtB;IACD,QAAQ,CAAC,EAAE,GAAG,CAAA;IACd,KAAK,EAAE,KAAK,CAAA;IACZ,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,sBAWA,CAAA;AAID,eAAO,MAAM,iBAAiB,YAE7B,CAAA;AAsJD,eAAO,MAAM,OAAO;WA5MT,OAAO;eACH,KAAK,CAAC,SAAS;mBACX,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI;YAC9B;QACN,OAAO,CAAC,EAAE,OAAO,CAAA;QACjB,WAAW,CAAC,EAAE,OAAO,CAAA;KACtB;cACS,MAAM;aACP,MAAM;YAEX,MAAM,GACN;QACE,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,KAAK,CAAC,EAAE,MAAM,CAAA;KACf;+BACsB,OAAO;IAClC;;;OAGG;aACM,MAAM;;YA3FgC,aAAa;;;;;;;;gBAAb,aAAa;;;CAwR9D,CAAA"}
|
package/types/TooltipSimple.d.ts
CHANGED
|
@@ -3,6 +3,8 @@ import * as React from 'react';
|
|
|
3
3
|
import type { TooltipProps } from './Tooltip';
|
|
4
4
|
export type TooltipSimpleProps = TooltipProps & {
|
|
5
5
|
disabled?: boolean;
|
|
6
|
+
/** arrow size in px */
|
|
7
|
+
size?: number;
|
|
6
8
|
label?: React.ReactNode;
|
|
7
9
|
children?: React.ReactNode;
|
|
8
10
|
contentProps?: YStackProps;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TooltipSimple.d.ts","sourceRoot":"","sources":["../src/TooltipSimple.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"TooltipSimple.d.ts","sourceRoot":"","sources":["../src/TooltipSimple.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAElD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAG7C,MAAM,MAAM,kBAAkB,GAAG,YAAY,GAAG;IAC9C,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,uBAAuB;IACvB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACvB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,YAAY,CAAC,EAAE,WAAW,CAAA;CAC3B,CAAA;AAED,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAmEtD,CAAA"}
|