@tamagui/tooltip 1.14.1 → 1.14.3
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.js +151 -1
- package/dist/cjs/Tooltip.js.map +2 -2
- package/dist/cjs/Tooltip.native.js +41 -1
- package/dist/cjs/Tooltip.native.js.map +2 -2
- package/dist/cjs/TooltipSimple.js +77 -1
- package/dist/cjs/TooltipSimple.js.map +2 -2
- package/dist/cjs/TooltipSimple.native.js +31 -1
- package/dist/cjs/TooltipSimple.native.js.map +2 -2
- package/dist/cjs/index.js +19 -1
- package/dist/cjs/index.js.map +2 -2
- package/dist/esm/Tooltip.js +137 -1
- package/dist/esm/Tooltip.js.map +2 -2
- package/dist/esm/Tooltip.mjs +137 -1
- package/dist/esm/Tooltip.mjs.map +2 -2
- package/dist/esm/Tooltip.native.js +17 -1
- package/dist/esm/Tooltip.native.js.map +2 -2
- package/dist/esm/Tooltip.native.mjs +17 -1
- package/dist/esm/Tooltip.native.mjs.map +2 -2
- package/dist/esm/TooltipSimple.js +53 -1
- package/dist/esm/TooltipSimple.js.map +2 -2
- package/dist/esm/TooltipSimple.mjs +53 -1
- package/dist/esm/TooltipSimple.mjs.map +2 -2
- package/dist/esm/TooltipSimple.native.js +7 -1
- package/dist/esm/TooltipSimple.native.js.map +2 -2
- package/dist/esm/TooltipSimple.native.mjs +7 -1
- package/dist/esm/TooltipSimple.native.mjs.map +2 -2
- package/dist/esm/index.js +2 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/index.mjs +2 -1
- package/dist/esm/index.mjs.map +1 -1
- package/dist/jsx/Tooltip.js +129 -1
- package/dist/jsx/Tooltip.js.map +2 -2
- package/dist/jsx/Tooltip.mjs +129 -1
- package/dist/jsx/Tooltip.mjs.map +2 -2
- package/dist/jsx/Tooltip.native.js +17 -1
- package/dist/jsx/Tooltip.native.js.map +2 -2
- package/dist/jsx/Tooltip.native.mjs +17 -1
- package/dist/jsx/Tooltip.native.mjs.map +2 -2
- package/dist/jsx/TooltipSimple.js +48 -1
- package/dist/jsx/TooltipSimple.js.map +2 -2
- package/dist/jsx/TooltipSimple.mjs +48 -1
- package/dist/jsx/TooltipSimple.mjs.map +2 -2
- package/dist/jsx/TooltipSimple.native.js +7 -1
- package/dist/jsx/TooltipSimple.native.js.map +2 -2
- package/dist/jsx/TooltipSimple.native.mjs +7 -1
- package/dist/jsx/TooltipSimple.native.mjs.map +2 -2
- package/dist/jsx/index.js +2 -1
- package/dist/jsx/index.js.map +1 -1
- package/dist/jsx/index.mjs +2 -1
- package/dist/jsx/index.mjs.map +1 -1
- package/package.json +13 -13
package/dist/esm/Tooltip.mjs
CHANGED
|
@@ -1,2 +1,138 @@
|
|
|
1
|
-
import{jsx
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import "@tamagui/polyfill-dev";
|
|
3
|
+
import {
|
|
4
|
+
FloatingDelayGroup,
|
|
5
|
+
useDelayGroup,
|
|
6
|
+
useDelayGroupContext,
|
|
7
|
+
useDismiss,
|
|
8
|
+
useFloating,
|
|
9
|
+
useFocus,
|
|
10
|
+
useHover,
|
|
11
|
+
useInteractions,
|
|
12
|
+
useRole
|
|
13
|
+
} from "@floating-ui/react";
|
|
14
|
+
import { useEvent, useId, withStaticProperties } from "@tamagui/core";
|
|
15
|
+
import { FloatingOverrideContext } from "@tamagui/floating";
|
|
16
|
+
import { stepTokenUpOrDown } from "@tamagui/get-size";
|
|
17
|
+
import {
|
|
18
|
+
PopoverAnchor,
|
|
19
|
+
PopoverArrow,
|
|
20
|
+
PopoverContent,
|
|
21
|
+
PopoverTrigger,
|
|
22
|
+
__PopoverProviderInternal,
|
|
23
|
+
usePopoverScope
|
|
24
|
+
} from "@tamagui/popover";
|
|
25
|
+
import {
|
|
26
|
+
Popper,
|
|
27
|
+
PopperContentFrame,
|
|
28
|
+
usePopperContext
|
|
29
|
+
} from "@tamagui/popper";
|
|
30
|
+
import * as React from "react";
|
|
31
|
+
const TooltipContent = PopperContentFrame.extractable(
|
|
32
|
+
React.forwardRef(
|
|
33
|
+
({ __scopePopover, ...props }, ref) => {
|
|
34
|
+
const popperScope = usePopoverScope(__scopePopover);
|
|
35
|
+
const popper = usePopperContext("PopperContent", popperScope["__scopePopper"]);
|
|
36
|
+
const padding = props.size || popper.size || stepTokenUpOrDown("size", "$true", -2);
|
|
37
|
+
return /* @__PURE__ */ jsx(
|
|
38
|
+
PopoverContent,
|
|
39
|
+
{
|
|
40
|
+
componentName: "Tooltip",
|
|
41
|
+
disableRemoveScroll: true,
|
|
42
|
+
trapFocus: false,
|
|
43
|
+
padding,
|
|
44
|
+
pointerEvents: "none",
|
|
45
|
+
ref,
|
|
46
|
+
...props
|
|
47
|
+
}
|
|
48
|
+
);
|
|
49
|
+
}
|
|
50
|
+
)
|
|
51
|
+
);
|
|
52
|
+
const TooltipArrow = React.forwardRef((props, ref) => {
|
|
53
|
+
return /* @__PURE__ */ jsx(PopoverArrow, { componentName: "Tooltip", ref, ...props });
|
|
54
|
+
});
|
|
55
|
+
const TooltipGroup = ({ children, delay }) => {
|
|
56
|
+
return /* @__PURE__ */ jsx(FloatingDelayGroup, { delay: React.useMemo(() => delay, [JSON.stringify(delay)]), children });
|
|
57
|
+
};
|
|
58
|
+
const TooltipComponent = React.forwardRef(function Tooltip(props, ref) {
|
|
59
|
+
const {
|
|
60
|
+
__scopePopover,
|
|
61
|
+
children,
|
|
62
|
+
delay: delayProp,
|
|
63
|
+
restMs = typeof delayProp === "undefined" ? 500 : typeof delayProp === "number" ? delayProp : 0,
|
|
64
|
+
onOpenChange: onOpenChangeProp,
|
|
65
|
+
focus,
|
|
66
|
+
...restProps
|
|
67
|
+
} = props;
|
|
68
|
+
const popperScope = usePopoverScope(__scopePopover);
|
|
69
|
+
const triggerRef = React.useRef(null);
|
|
70
|
+
const [hasCustomAnchor, setHasCustomAnchor] = React.useState(false);
|
|
71
|
+
const { delay: delayGroup, setCurrentId } = useDelayGroupContext();
|
|
72
|
+
const delay = delayProp ?? delayGroup;
|
|
73
|
+
const [open, setOpen] = React.useState(false);
|
|
74
|
+
const id = props.groupId;
|
|
75
|
+
const onOpenChange = useEvent((open2) => {
|
|
76
|
+
setOpen(open2);
|
|
77
|
+
if (open2) {
|
|
78
|
+
setCurrentId(id);
|
|
79
|
+
}
|
|
80
|
+
onOpenChangeProp == null ? void 0 : onOpenChangeProp(open2);
|
|
81
|
+
});
|
|
82
|
+
const useFloatingFn = (props2) => {
|
|
83
|
+
const floating = useFloating({
|
|
84
|
+
...props2,
|
|
85
|
+
open,
|
|
86
|
+
onOpenChange
|
|
87
|
+
});
|
|
88
|
+
const { getReferenceProps, getFloatingProps } = useInteractions([
|
|
89
|
+
useHover(floating.context, { delay, restMs }),
|
|
90
|
+
useFocus(floating.context, focus),
|
|
91
|
+
useRole(floating.context, { role: "tooltip" }),
|
|
92
|
+
useDismiss(floating.context),
|
|
93
|
+
useDelayGroup(floating.context, { id })
|
|
94
|
+
]);
|
|
95
|
+
return {
|
|
96
|
+
...floating,
|
|
97
|
+
getReferenceProps,
|
|
98
|
+
getFloatingProps
|
|
99
|
+
};
|
|
100
|
+
};
|
|
101
|
+
const useFloatingContext = React.useCallback(useFloatingFn, [id, delay, open]);
|
|
102
|
+
const onCustomAnchorAdd = React.useCallback(() => setHasCustomAnchor(true), []);
|
|
103
|
+
const onCustomAnchorRemove = React.useCallback(() => setHasCustomAnchor(false), []);
|
|
104
|
+
const contentId = useId();
|
|
105
|
+
const twoSmallerKey = stepTokenUpOrDown("size", "$true", -2).key;
|
|
106
|
+
const size = `$${twoSmallerKey}`;
|
|
107
|
+
return /* @__PURE__ */ jsx(FloatingOverrideContext.Provider, { value: useFloatingContext, children: /* @__PURE__ */ jsx(Popper, { size, ...popperScope, ...restProps, children: /* @__PURE__ */ jsx(
|
|
108
|
+
__PopoverProviderInternal,
|
|
109
|
+
{
|
|
110
|
+
scope: __scopePopover,
|
|
111
|
+
popperScope: popperScope.__scopePopper,
|
|
112
|
+
contentId,
|
|
113
|
+
triggerRef,
|
|
114
|
+
sheetBreakpoint: false,
|
|
115
|
+
scopeKey: "",
|
|
116
|
+
open,
|
|
117
|
+
onOpenChange: setOpen,
|
|
118
|
+
onOpenToggle: voidFn,
|
|
119
|
+
hasCustomAnchor,
|
|
120
|
+
onCustomAnchorAdd,
|
|
121
|
+
onCustomAnchorRemove,
|
|
122
|
+
children
|
|
123
|
+
}
|
|
124
|
+
) }) });
|
|
125
|
+
});
|
|
126
|
+
const Tooltip2 = withStaticProperties(TooltipComponent, {
|
|
127
|
+
Anchor: PopoverAnchor,
|
|
128
|
+
Arrow: TooltipArrow,
|
|
129
|
+
Content: TooltipContent,
|
|
130
|
+
Trigger: PopoverTrigger
|
|
131
|
+
});
|
|
132
|
+
const voidFn = () => {
|
|
133
|
+
};
|
|
134
|
+
export {
|
|
135
|
+
Tooltip2 as Tooltip,
|
|
136
|
+
TooltipGroup
|
|
137
|
+
};
|
|
2
138
|
//# sourceMappingURL=Tooltip.mjs.map
|
package/dist/esm/Tooltip.mjs.map
CHANGED
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/Tooltip.tsx"],
|
|
4
4
|
"sourcesContent": ["import '@tamagui/polyfill-dev'\n\nimport {\n FloatingDelayGroup,\n useDelayGroup,\n useDelayGroupContext,\n useDismiss,\n useFloating,\n useFocus,\n useHover,\n useInteractions,\n useRole,\n} from '@floating-ui/react'\nimport { SizeTokens, useEvent, useId, withStaticProperties } from '@tamagui/core'\nimport { ScopedProps } from '@tamagui/create-context'\nimport { FloatingOverrideContext, UseFloatingFn } from '@tamagui/floating'\nimport { stepTokenUpOrDown } from '@tamagui/get-size'\nimport {\n PopoverAnchor,\n PopoverArrow,\n PopoverArrowProps,\n PopoverContent,\n PopoverContentProps,\n PopoverTrigger,\n __PopoverProviderInternal,\n usePopoverScope,\n} from '@tamagui/popover'\nimport {\n Popper,\n PopperContentFrame,\n PopperProps,\n usePopperContext,\n} from '@tamagui/popper'\nimport * as React from 'react'\n\nconst TooltipContent = PopperContentFrame.extractable(\n React.forwardRef(\n (\n { __scopePopover, ...props }: ScopedProps<PopoverContentProps, 'Popover'>,\n ref: any\n ) => {\n const popperScope = usePopoverScope(__scopePopover)\n const popper = usePopperContext('PopperContent', popperScope['__scopePopper'])\n const padding = props.size || popper.size || stepTokenUpOrDown('size', '$true', -2)\n return (\n <PopoverContent\n componentName=\"Tooltip\"\n disableRemoveScroll\n trapFocus={false}\n padding={padding}\n pointerEvents=\"none\"\n ref={ref}\n {...props}\n />\n )\n }\n )\n)\n\nconst TooltipArrow = React.forwardRef((props: PopoverArrowProps, ref: any) => {\n return <PopoverArrow componentName=\"Tooltip\" ref={ref} {...props} />\n})\n\nexport type TooltipProps = PopperProps & {\n children?: React.ReactNode\n onOpenChange?: (open: boolean) => void\n focus?: {\n enabled?: boolean\n keyboardOnly?: boolean\n }\n groupId?: string\n restMs?: number\n delay?:\n | number\n | {\n open?: number\n close?: number\n }\n}\n\ntype Delay =\n | number\n | Partial<{\n open: number\n close: number\n }>\n\nexport const TooltipGroup = ({ children, delay }: { children?: any; delay: Delay }) => {\n return (\n <FloatingDelayGroup delay={React.useMemo(() => delay, [JSON.stringify(delay)])}>\n {children}\n </FloatingDelayGroup>\n )\n}\n\nconst TooltipComponent = React.forwardRef(function Tooltip(\n props: ScopedProps<TooltipProps, 'Popover'>,\n // theres no real ref here but React complaining need to see why see SandboxCustomStyledAnimatedTooltip.ts\n ref\n) {\n const {\n __scopePopover,\n children,\n delay: delayProp,\n restMs = typeof delayProp === 'undefined'\n ? 500\n : typeof delayProp === 'number'\n ? delayProp\n : 0,\n onOpenChange: onOpenChangeProp,\n focus,\n ...restProps\n } = props\n const popperScope = usePopoverScope(__scopePopover)\n const triggerRef = React.useRef<HTMLButtonElement>(null)\n const [hasCustomAnchor, setHasCustomAnchor] = React.useState(false)\n const { delay: delayGroup, setCurrentId } = useDelayGroupContext()\n const delay = delayProp ?? delayGroup\n const [open, setOpen] = React.useState(false)\n const id = props.groupId\n\n const onOpenChange = useEvent((open) => {\n setOpen(open)\n if (open) {\n setCurrentId(id)\n }\n onOpenChangeProp?.(open)\n })\n\n const useFloatingFn: UseFloatingFn = (props) => {\n // @ts-ignore\n const floating = useFloating({\n ...props,\n open,\n onOpenChange,\n })\n const { getReferenceProps, getFloatingProps } = useInteractions([\n useHover(floating.context, { delay, restMs }),\n useFocus(floating.context, focus),\n useRole(floating.context, { role: 'tooltip' }),\n useDismiss(floating.context),\n useDelayGroup(floating.context, { id }),\n ])\n return {\n ...floating,\n getReferenceProps,\n getFloatingProps,\n } as any\n }\n\n const useFloatingContext = React.useCallback(useFloatingFn, [id, delay, open])\n const onCustomAnchorAdd = React.useCallback(() => setHasCustomAnchor(true), [])\n const onCustomAnchorRemove = React.useCallback(() => setHasCustomAnchor(false), [])\n const contentId = useId()\n const twoSmallerKey = stepTokenUpOrDown('size', '$true', -2).key\n const size = `$${twoSmallerKey}`\n\n return (\n <FloatingOverrideContext.Provider value={useFloatingContext}>\n {/* default tooltip to a smaller size */}\n <Popper size={size as SizeTokens} {...popperScope} {...restProps}>\n <__PopoverProviderInternal\n scope={__scopePopover}\n popperScope={popperScope.__scopePopper}\n contentId={contentId}\n triggerRef={triggerRef}\n sheetBreakpoint={false}\n scopeKey=\"\"\n open={open}\n onOpenChange={setOpen}\n onOpenToggle={voidFn}\n hasCustomAnchor={hasCustomAnchor}\n onCustomAnchorAdd={onCustomAnchorAdd}\n onCustomAnchorRemove={onCustomAnchorRemove}\n >\n {children}\n </__PopoverProviderInternal>\n </Popper>\n </FloatingOverrideContext.Provider>\n )\n})\n\nexport const Tooltip = withStaticProperties(TooltipComponent, {\n Anchor: PopoverAnchor,\n Arrow: TooltipArrow,\n Content: TooltipContent,\n Trigger: PopoverTrigger,\n})\n\nconst voidFn = () => {}\n"],
|
|
5
|
-
"mappings": "AA6CQ,
|
|
6
|
-
"names": ["
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["open", "props", "Tooltip"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,18 @@
|
|
|
1
|
-
import{withStaticProperties
|
|
1
|
+
import { withStaticProperties } from "@tamagui/core";
|
|
2
|
+
const RenderChildren = (props) => {
|
|
3
|
+
return props.children;
|
|
4
|
+
};
|
|
5
|
+
const RenderNull = (props) => {
|
|
6
|
+
return null;
|
|
7
|
+
};
|
|
8
|
+
const Tooltip = withStaticProperties(RenderChildren, {
|
|
9
|
+
Anchor: RenderChildren,
|
|
10
|
+
Arrow: RenderNull,
|
|
11
|
+
Close: RenderNull,
|
|
12
|
+
Content: RenderNull,
|
|
13
|
+
Trigger: RenderChildren
|
|
14
|
+
});
|
|
15
|
+
export {
|
|
16
|
+
Tooltip
|
|
17
|
+
};
|
|
2
18
|
//# sourceMappingURL=Tooltip.native.js.map
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/Tooltip.native.tsx"],
|
|
4
4
|
"sourcesContent": ["import { withStaticProperties } from '@tamagui/core'\n\n// no output on native for now\n// could have an option to long-press or similar to show in a context menu/drawer\n\nconst RenderChildren = (props: any) => {\n return props.children\n}\n\nconst RenderNull = (props: any) => {\n return null\n}\n\nexport const Tooltip = withStaticProperties(RenderChildren, {\n Anchor: RenderChildren,\n Arrow: RenderNull,\n Close: RenderNull,\n Content: RenderNull,\n Trigger: RenderChildren,\n})\n"],
|
|
5
|
-
"mappings": "AAAA,
|
|
6
|
-
"names": [
|
|
5
|
+
"mappings": "AAAA,SAAS,4BAA4B;AAKrC,MAAM,iBAAiB,CAAC,UAAe;AACrC,SAAO,MAAM;AACf;AAEA,MAAM,aAAa,CAAC,UAAe;AACjC,SAAO;AACT;AAEO,MAAM,UAAU,qBAAqB,gBAAgB;AAAA,EAC1D,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,OAAO;AAAA,EACP,SAAS;AAAA,EACT,SAAS;AACX,CAAC;",
|
|
6
|
+
"names": []
|
|
7
7
|
}
|
|
@@ -1,2 +1,18 @@
|
|
|
1
|
-
import{withStaticProperties
|
|
1
|
+
import { withStaticProperties } from "@tamagui/core";
|
|
2
|
+
const RenderChildren = (props) => {
|
|
3
|
+
return props.children;
|
|
4
|
+
};
|
|
5
|
+
const RenderNull = (props) => {
|
|
6
|
+
return null;
|
|
7
|
+
};
|
|
8
|
+
const Tooltip = withStaticProperties(RenderChildren, {
|
|
9
|
+
Anchor: RenderChildren,
|
|
10
|
+
Arrow: RenderNull,
|
|
11
|
+
Close: RenderNull,
|
|
12
|
+
Content: RenderNull,
|
|
13
|
+
Trigger: RenderChildren
|
|
14
|
+
});
|
|
15
|
+
export {
|
|
16
|
+
Tooltip
|
|
17
|
+
};
|
|
2
18
|
//# sourceMappingURL=Tooltip.native.mjs.map
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/Tooltip.native.tsx"],
|
|
4
4
|
"sourcesContent": ["import { withStaticProperties } from '@tamagui/core'\n\n// no output on native for now\n// could have an option to long-press or similar to show in a context menu/drawer\n\nconst RenderChildren = (props: any) => {\n return props.children\n}\n\nconst RenderNull = (props: any) => {\n return null\n}\n\nexport const Tooltip = withStaticProperties(RenderChildren, {\n Anchor: RenderChildren,\n Arrow: RenderNull,\n Close: RenderNull,\n Content: RenderNull,\n Trigger: RenderChildren,\n})\n"],
|
|
5
|
-
"mappings": "AAAA,
|
|
6
|
-
"names": [
|
|
5
|
+
"mappings": "AAAA,SAAS,4BAA4B;AAKrC,MAAM,iBAAiB,CAAC,UAAe;AACrC,SAAO,MAAM;AACf;AAEA,MAAM,aAAa,CAAC,UAAe;AACjC,SAAO;AACT;AAEO,MAAM,UAAU,qBAAqB,gBAAgB;AAAA,EAC1D,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,OAAO;AAAA,EACP,SAAS;AAAA,EACT,SAAS;AACX,CAAC;",
|
|
6
|
+
"names": []
|
|
7
7
|
}
|
|
@@ -1,2 +1,54 @@
|
|
|
1
|
-
import{jsx
|
|
1
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useDelayGroupContext } from "@floating-ui/react";
|
|
3
|
+
import { Paragraph } from "@tamagui/text";
|
|
4
|
+
import { Tooltip, TooltipGroup } from "./Tooltip";
|
|
5
|
+
const TooltipSimple = ({
|
|
6
|
+
label,
|
|
7
|
+
children,
|
|
8
|
+
contentProps,
|
|
9
|
+
...tooltipProps
|
|
10
|
+
}) => {
|
|
11
|
+
let context;
|
|
12
|
+
try {
|
|
13
|
+
context = useDelayGroupContext();
|
|
14
|
+
} catch {
|
|
15
|
+
}
|
|
16
|
+
const contents = /* @__PURE__ */ jsxs(Tooltip, { ...tooltipProps, children: [
|
|
17
|
+
/* @__PURE__ */ jsx(Tooltip.Trigger, { asChild: true, children }),
|
|
18
|
+
/* @__PURE__ */ jsxs(
|
|
19
|
+
Tooltip.Content,
|
|
20
|
+
{
|
|
21
|
+
zIndex: 1e6,
|
|
22
|
+
enterStyle: { x: 0, y: -8, opacity: 0, scale: 0.93 },
|
|
23
|
+
exitStyle: { x: 0, y: -8, opacity: 0, scale: 0.93 },
|
|
24
|
+
x: 0,
|
|
25
|
+
scale: 1,
|
|
26
|
+
y: 0,
|
|
27
|
+
elevation: "$1",
|
|
28
|
+
opacity: 1,
|
|
29
|
+
animation: [
|
|
30
|
+
"quick",
|
|
31
|
+
{
|
|
32
|
+
opacity: {
|
|
33
|
+
overshootClamping: true
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
],
|
|
37
|
+
...contentProps,
|
|
38
|
+
children: [
|
|
39
|
+
/* @__PURE__ */ jsx(Tooltip.Arrow, {}),
|
|
40
|
+
/* @__PURE__ */ jsx(Paragraph, { size: "$2", lineHeight: "$0", children: label })
|
|
41
|
+
]
|
|
42
|
+
}
|
|
43
|
+
)
|
|
44
|
+
] });
|
|
45
|
+
if (!context) {
|
|
46
|
+
return /* @__PURE__ */ jsx(TooltipGroup, { delay: defaultTooltipDelay, children: contents });
|
|
47
|
+
}
|
|
48
|
+
return contents;
|
|
49
|
+
};
|
|
50
|
+
const defaultTooltipDelay = { open: 3e3, close: 100 };
|
|
51
|
+
export {
|
|
52
|
+
TooltipSimple
|
|
53
|
+
};
|
|
2
54
|
//# sourceMappingURL=TooltipSimple.js.map
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/TooltipSimple.tsx"],
|
|
4
4
|
"sourcesContent": ["import { useDelayGroupContext } from '@floating-ui/react'\nimport { Theme } from '@tamagui/core'\nimport { SizableStackProps } from '@tamagui/stacks'\nimport { Paragraph } from '@tamagui/text'\nimport * as React from 'react'\n\nimport { Tooltip, TooltipGroup, TooltipProps } from './Tooltip'\n\nexport type TooltipSimpleProps = TooltipProps & {\n label?: React.ReactNode\n children?: React.ReactNode\n contentProps?: SizableStackProps\n}\n\nexport const TooltipSimple: React.FC<TooltipSimpleProps> = ({\n label,\n children,\n contentProps,\n ...tooltipProps\n}) => {\n let context\n try {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n context = useDelayGroupContext()\n } catch {\n // ok\n }\n\n const contents = (\n <Tooltip {...tooltipProps}>\n <Tooltip.Trigger asChild>{children}</Tooltip.Trigger>\n <Tooltip.Content\n zIndex={1_000_000}\n enterStyle={{ x: 0, y: -8, opacity: 0, scale: 0.93 }}\n exitStyle={{ x: 0, y: -8, opacity: 0, scale: 0.93 }}\n x={0}\n scale={1}\n y={0}\n elevation=\"$1\"\n opacity={1}\n animation={[\n 'quick',\n {\n opacity: {\n overshootClamping: true,\n },\n },\n ]}\n {...contentProps}\n >\n <Tooltip.Arrow />\n <Paragraph size=\"$2\" lineHeight=\"$0\">\n {label}\n </Paragraph>\n </Tooltip.Content>\n </Tooltip>\n )\n\n if (!context) {\n return <TooltipGroup delay={defaultTooltipDelay}>{contents}</TooltipGroup>\n }\n\n return contents\n}\n\nconst defaultTooltipDelay = { open: 3000, close: 100 }\n"],
|
|
5
|
-
"mappings": "AA8BM,
|
|
6
|
-
"names": [
|
|
5
|
+
"mappings": "AA8BM,cACA,YADA;AA9BN,SAAS,4BAA4B;AAGrC,SAAS,iBAAiB;AAG1B,SAAS,SAAS,oBAAkC;AAQ7C,MAAM,gBAA8C,CAAC;AAAA,EAC1D;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAM;AACJ,MAAI;AACJ,MAAI;AAEF,cAAU,qBAAqB;AAAA,EACjC,QAAE;AAAA,EAEF;AAEA,QAAM,WACJ,qBAAC,WAAS,GAAG,cACX;AAAA,wBAAC,QAAQ,SAAR,EAAgB,SAAO,MAAE,UAAS;AAAA,IACnC;AAAA,MAAC,QAAQ;AAAA,MAAR;AAAA,QACC,QAAQ;AAAA,QACR,YAAY,EAAE,GAAG,GAAG,GAAG,IAAI,SAAS,GAAG,OAAO,KAAK;AAAA,QACnD,WAAW,EAAE,GAAG,GAAG,GAAG,IAAI,SAAS,GAAG,OAAO,KAAK;AAAA,QAClD,GAAG;AAAA,QACH,OAAO;AAAA,QACP,GAAG;AAAA,QACH,WAAU;AAAA,QACV,SAAS;AAAA,QACT,WAAW;AAAA,UACT;AAAA,UACA;AAAA,YACE,SAAS;AAAA,cACP,mBAAmB;AAAA,YACrB;AAAA,UACF;AAAA,QACF;AAAA,QACC,GAAG;AAAA,QAEJ;AAAA,8BAAC,QAAQ,OAAR,EAAc;AAAA,UACf,oBAAC,aAAU,MAAK,MAAK,YAAW,MAC7B,iBACH;AAAA;AAAA;AAAA,IACF;AAAA,KACF;AAGF,MAAI,CAAC,SAAS;AACZ,WAAO,oBAAC,gBAAa,OAAO,qBAAsB,oBAAS;AAAA,EAC7D;AAEA,SAAO;AACT;AAEA,MAAM,sBAAsB,EAAE,MAAM,KAAM,OAAO,IAAI;",
|
|
6
|
+
"names": []
|
|
7
7
|
}
|
|
@@ -1,2 +1,54 @@
|
|
|
1
|
-
import{jsx
|
|
1
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useDelayGroupContext } from "@floating-ui/react";
|
|
3
|
+
import { Paragraph } from "@tamagui/text";
|
|
4
|
+
import { Tooltip, TooltipGroup } from "./Tooltip";
|
|
5
|
+
const TooltipSimple = ({
|
|
6
|
+
label,
|
|
7
|
+
children,
|
|
8
|
+
contentProps,
|
|
9
|
+
...tooltipProps
|
|
10
|
+
}) => {
|
|
11
|
+
let context;
|
|
12
|
+
try {
|
|
13
|
+
context = useDelayGroupContext();
|
|
14
|
+
} catch {
|
|
15
|
+
}
|
|
16
|
+
const contents = /* @__PURE__ */ jsxs(Tooltip, { ...tooltipProps, children: [
|
|
17
|
+
/* @__PURE__ */ jsx(Tooltip.Trigger, { asChild: true, children }),
|
|
18
|
+
/* @__PURE__ */ jsxs(
|
|
19
|
+
Tooltip.Content,
|
|
20
|
+
{
|
|
21
|
+
zIndex: 1e6,
|
|
22
|
+
enterStyle: { x: 0, y: -8, opacity: 0, scale: 0.93 },
|
|
23
|
+
exitStyle: { x: 0, y: -8, opacity: 0, scale: 0.93 },
|
|
24
|
+
x: 0,
|
|
25
|
+
scale: 1,
|
|
26
|
+
y: 0,
|
|
27
|
+
elevation: "$1",
|
|
28
|
+
opacity: 1,
|
|
29
|
+
animation: [
|
|
30
|
+
"quick",
|
|
31
|
+
{
|
|
32
|
+
opacity: {
|
|
33
|
+
overshootClamping: true
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
],
|
|
37
|
+
...contentProps,
|
|
38
|
+
children: [
|
|
39
|
+
/* @__PURE__ */ jsx(Tooltip.Arrow, {}),
|
|
40
|
+
/* @__PURE__ */ jsx(Paragraph, { size: "$2", lineHeight: "$0", children: label })
|
|
41
|
+
]
|
|
42
|
+
}
|
|
43
|
+
)
|
|
44
|
+
] });
|
|
45
|
+
if (!context) {
|
|
46
|
+
return /* @__PURE__ */ jsx(TooltipGroup, { delay: defaultTooltipDelay, children: contents });
|
|
47
|
+
}
|
|
48
|
+
return contents;
|
|
49
|
+
};
|
|
50
|
+
const defaultTooltipDelay = { open: 3e3, close: 100 };
|
|
51
|
+
export {
|
|
52
|
+
TooltipSimple
|
|
53
|
+
};
|
|
2
54
|
//# sourceMappingURL=TooltipSimple.mjs.map
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/TooltipSimple.tsx"],
|
|
4
4
|
"sourcesContent": ["import { useDelayGroupContext } from '@floating-ui/react'\nimport { Theme } from '@tamagui/core'\nimport { SizableStackProps } from '@tamagui/stacks'\nimport { Paragraph } from '@tamagui/text'\nimport * as React from 'react'\n\nimport { Tooltip, TooltipGroup, TooltipProps } from './Tooltip'\n\nexport type TooltipSimpleProps = TooltipProps & {\n label?: React.ReactNode\n children?: React.ReactNode\n contentProps?: SizableStackProps\n}\n\nexport const TooltipSimple: React.FC<TooltipSimpleProps> = ({\n label,\n children,\n contentProps,\n ...tooltipProps\n}) => {\n let context\n try {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n context = useDelayGroupContext()\n } catch {\n // ok\n }\n\n const contents = (\n <Tooltip {...tooltipProps}>\n <Tooltip.Trigger asChild>{children}</Tooltip.Trigger>\n <Tooltip.Content\n zIndex={1_000_000}\n enterStyle={{ x: 0, y: -8, opacity: 0, scale: 0.93 }}\n exitStyle={{ x: 0, y: -8, opacity: 0, scale: 0.93 }}\n x={0}\n scale={1}\n y={0}\n elevation=\"$1\"\n opacity={1}\n animation={[\n 'quick',\n {\n opacity: {\n overshootClamping: true,\n },\n },\n ]}\n {...contentProps}\n >\n <Tooltip.Arrow />\n <Paragraph size=\"$2\" lineHeight=\"$0\">\n {label}\n </Paragraph>\n </Tooltip.Content>\n </Tooltip>\n )\n\n if (!context) {\n return <TooltipGroup delay={defaultTooltipDelay}>{contents}</TooltipGroup>\n }\n\n return contents\n}\n\nconst defaultTooltipDelay = { open: 3000, close: 100 }\n"],
|
|
5
|
-
"mappings": "AA8BM,
|
|
6
|
-
"names": [
|
|
5
|
+
"mappings": "AA8BM,cACA,YADA;AA9BN,SAAS,4BAA4B;AAGrC,SAAS,iBAAiB;AAG1B,SAAS,SAAS,oBAAkC;AAQ7C,MAAM,gBAA8C,CAAC;AAAA,EAC1D;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAM;AACJ,MAAI;AACJ,MAAI;AAEF,cAAU,qBAAqB;AAAA,EACjC,QAAE;AAAA,EAEF;AAEA,QAAM,WACJ,qBAAC,WAAS,GAAG,cACX;AAAA,wBAAC,QAAQ,SAAR,EAAgB,SAAO,MAAE,UAAS;AAAA,IACnC;AAAA,MAAC,QAAQ;AAAA,MAAR;AAAA,QACC,QAAQ;AAAA,QACR,YAAY,EAAE,GAAG,GAAG,GAAG,IAAI,SAAS,GAAG,OAAO,KAAK;AAAA,QACnD,WAAW,EAAE,GAAG,GAAG,GAAG,IAAI,SAAS,GAAG,OAAO,KAAK;AAAA,QAClD,GAAG;AAAA,QACH,OAAO;AAAA,QACP,GAAG;AAAA,QACH,WAAU;AAAA,QACV,SAAS;AAAA,QACT,WAAW;AAAA,UACT;AAAA,UACA;AAAA,YACE,SAAS;AAAA,cACP,mBAAmB;AAAA,YACrB;AAAA,UACF;AAAA,QACF;AAAA,QACC,GAAG;AAAA,QAEJ;AAAA,8BAAC,QAAQ,OAAR,EAAc;AAAA,UACf,oBAAC,aAAU,MAAK,MAAK,YAAW,MAC7B,iBACH;AAAA;AAAA;AAAA,IACF;AAAA,KACF;AAGF,MAAI,CAAC,SAAS;AACZ,WAAO,oBAAC,gBAAa,OAAO,qBAAsB,oBAAS;AAAA,EAC7D;AAEA,SAAO;AACT;AAEA,MAAM,sBAAsB,EAAE,MAAM,KAAM,OAAO,IAAI;",
|
|
6
|
+
"names": []
|
|
7
7
|
}
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/TooltipSimple.native.tsx"],
|
|
4
4
|
"sourcesContent": ["const RenderChildren = (props: any) => {\n return props.children\n}\n\nexport const TooltipSimple = RenderChildren\n"],
|
|
5
|
-
"mappings": "AAAA,
|
|
6
|
-
"names": [
|
|
5
|
+
"mappings": "AAAA,MAAM,iBAAiB,CAAC,UAAe;AACrC,SAAO,MAAM;AACf;AAEO,MAAM,gBAAgB;",
|
|
6
|
+
"names": []
|
|
7
7
|
}
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/TooltipSimple.native.tsx"],
|
|
4
4
|
"sourcesContent": ["const RenderChildren = (props: any) => {\n return props.children\n}\n\nexport const TooltipSimple = RenderChildren\n"],
|
|
5
|
-
"mappings": "AAAA,
|
|
6
|
-
"names": [
|
|
5
|
+
"mappings": "AAAA,MAAM,iBAAiB,CAAC,UAAe;AACrC,SAAO,MAAM;AACf;AAEO,MAAM,gBAAgB;",
|
|
6
|
+
"names": []
|
|
7
7
|
}
|
package/dist/esm/index.js
CHANGED
package/dist/esm/index.js.map
CHANGED
package/dist/esm/index.mjs
CHANGED
package/dist/esm/index.mjs.map
CHANGED
package/dist/jsx/Tooltip.js
CHANGED
|
@@ -1,2 +1,130 @@
|
|
|
1
|
-
import"@tamagui/polyfill-dev";
|
|
1
|
+
import "@tamagui/polyfill-dev";
|
|
2
|
+
import {
|
|
3
|
+
FloatingDelayGroup,
|
|
4
|
+
useDelayGroup,
|
|
5
|
+
useDelayGroupContext,
|
|
6
|
+
useDismiss,
|
|
7
|
+
useFloating,
|
|
8
|
+
useFocus,
|
|
9
|
+
useHover,
|
|
10
|
+
useInteractions,
|
|
11
|
+
useRole
|
|
12
|
+
} from "@floating-ui/react";
|
|
13
|
+
import { useEvent, useId, withStaticProperties } from "@tamagui/core";
|
|
14
|
+
import { FloatingOverrideContext } from "@tamagui/floating";
|
|
15
|
+
import { stepTokenUpOrDown } from "@tamagui/get-size";
|
|
16
|
+
import {
|
|
17
|
+
PopoverAnchor,
|
|
18
|
+
PopoverArrow,
|
|
19
|
+
PopoverContent,
|
|
20
|
+
PopoverTrigger,
|
|
21
|
+
__PopoverProviderInternal,
|
|
22
|
+
usePopoverScope
|
|
23
|
+
} from "@tamagui/popover";
|
|
24
|
+
import {
|
|
25
|
+
Popper,
|
|
26
|
+
PopperContentFrame,
|
|
27
|
+
usePopperContext
|
|
28
|
+
} from "@tamagui/popper";
|
|
29
|
+
import * as React from "react";
|
|
30
|
+
const TooltipContent = PopperContentFrame.extractable(
|
|
31
|
+
React.forwardRef(
|
|
32
|
+
({ __scopePopover, ...props }, ref) => {
|
|
33
|
+
const popperScope = usePopoverScope(__scopePopover);
|
|
34
|
+
const popper = usePopperContext("PopperContent", popperScope["__scopePopper"]);
|
|
35
|
+
const padding = props.size || popper.size || stepTokenUpOrDown("size", "$true", -2);
|
|
36
|
+
return <PopoverContent
|
|
37
|
+
componentName="Tooltip"
|
|
38
|
+
disableRemoveScroll
|
|
39
|
+
trapFocus={false}
|
|
40
|
+
padding={padding}
|
|
41
|
+
pointerEvents="none"
|
|
42
|
+
ref={ref}
|
|
43
|
+
{...props}
|
|
44
|
+
/>;
|
|
45
|
+
}
|
|
46
|
+
)
|
|
47
|
+
);
|
|
48
|
+
const TooltipArrow = React.forwardRef((props, ref) => {
|
|
49
|
+
return <PopoverArrow componentName="Tooltip" ref={ref} {...props} />;
|
|
50
|
+
});
|
|
51
|
+
const TooltipGroup = ({ children, delay }) => {
|
|
52
|
+
return <FloatingDelayGroup delay={React.useMemo(() => delay, [JSON.stringify(delay)])}>{children}</FloatingDelayGroup>;
|
|
53
|
+
};
|
|
54
|
+
const TooltipComponent = React.forwardRef(function Tooltip(props, ref) {
|
|
55
|
+
const {
|
|
56
|
+
__scopePopover,
|
|
57
|
+
children,
|
|
58
|
+
delay: delayProp,
|
|
59
|
+
restMs = typeof delayProp === "undefined" ? 500 : typeof delayProp === "number" ? delayProp : 0,
|
|
60
|
+
onOpenChange: onOpenChangeProp,
|
|
61
|
+
focus,
|
|
62
|
+
...restProps
|
|
63
|
+
} = props;
|
|
64
|
+
const popperScope = usePopoverScope(__scopePopover);
|
|
65
|
+
const triggerRef = React.useRef(null);
|
|
66
|
+
const [hasCustomAnchor, setHasCustomAnchor] = React.useState(false);
|
|
67
|
+
const { delay: delayGroup, setCurrentId } = useDelayGroupContext();
|
|
68
|
+
const delay = delayProp ?? delayGroup;
|
|
69
|
+
const [open, setOpen] = React.useState(false);
|
|
70
|
+
const id = props.groupId;
|
|
71
|
+
const onOpenChange = useEvent((open2) => {
|
|
72
|
+
setOpen(open2);
|
|
73
|
+
if (open2) {
|
|
74
|
+
setCurrentId(id);
|
|
75
|
+
}
|
|
76
|
+
onOpenChangeProp?.(open2);
|
|
77
|
+
});
|
|
78
|
+
const useFloatingFn = (props2) => {
|
|
79
|
+
const floating = useFloating({
|
|
80
|
+
...props2,
|
|
81
|
+
open,
|
|
82
|
+
onOpenChange
|
|
83
|
+
});
|
|
84
|
+
const { getReferenceProps, getFloatingProps } = useInteractions([
|
|
85
|
+
useHover(floating.context, { delay, restMs }),
|
|
86
|
+
useFocus(floating.context, focus),
|
|
87
|
+
useRole(floating.context, { role: "tooltip" }),
|
|
88
|
+
useDismiss(floating.context),
|
|
89
|
+
useDelayGroup(floating.context, { id })
|
|
90
|
+
]);
|
|
91
|
+
return {
|
|
92
|
+
...floating,
|
|
93
|
+
getReferenceProps,
|
|
94
|
+
getFloatingProps
|
|
95
|
+
};
|
|
96
|
+
};
|
|
97
|
+
const useFloatingContext = React.useCallback(useFloatingFn, [id, delay, open]);
|
|
98
|
+
const onCustomAnchorAdd = React.useCallback(() => setHasCustomAnchor(true), []);
|
|
99
|
+
const onCustomAnchorRemove = React.useCallback(() => setHasCustomAnchor(false), []);
|
|
100
|
+
const contentId = useId();
|
|
101
|
+
const twoSmallerKey = stepTokenUpOrDown("size", "$true", -2).key;
|
|
102
|
+
const size = `$${twoSmallerKey}`;
|
|
103
|
+
return <FloatingOverrideContext.Provider value={useFloatingContext}><Popper size={size} {...popperScope} {...restProps}><__PopoverProviderInternal
|
|
104
|
+
scope={__scopePopover}
|
|
105
|
+
popperScope={popperScope.__scopePopper}
|
|
106
|
+
contentId={contentId}
|
|
107
|
+
triggerRef={triggerRef}
|
|
108
|
+
sheetBreakpoint={false}
|
|
109
|
+
scopeKey=""
|
|
110
|
+
open={open}
|
|
111
|
+
onOpenChange={setOpen}
|
|
112
|
+
onOpenToggle={voidFn}
|
|
113
|
+
hasCustomAnchor={hasCustomAnchor}
|
|
114
|
+
onCustomAnchorAdd={onCustomAnchorAdd}
|
|
115
|
+
onCustomAnchorRemove={onCustomAnchorRemove}
|
|
116
|
+
>{children}</__PopoverProviderInternal></Popper></FloatingOverrideContext.Provider>;
|
|
117
|
+
});
|
|
118
|
+
const Tooltip2 = withStaticProperties(TooltipComponent, {
|
|
119
|
+
Anchor: PopoverAnchor,
|
|
120
|
+
Arrow: TooltipArrow,
|
|
121
|
+
Content: TooltipContent,
|
|
122
|
+
Trigger: PopoverTrigger
|
|
123
|
+
});
|
|
124
|
+
const voidFn = () => {
|
|
125
|
+
};
|
|
126
|
+
export {
|
|
127
|
+
Tooltip2 as Tooltip,
|
|
128
|
+
TooltipGroup
|
|
129
|
+
};
|
|
2
130
|
//# sourceMappingURL=Tooltip.js.map
|