@tamagui/tooltip 3.0.0-beta.1312.1 → 3.0.0-beta.1341.1
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 +1 -4
- package/dist/cjs/TooltipSimple.cjs +1 -3
- package/dist/esm/Tooltip.mjs +2 -5
- package/dist/esm/Tooltip.mjs.map +1 -1
- package/dist/esm/TooltipSimple.mjs +1 -3
- package/dist/esm/TooltipSimple.mjs.map +1 -1
- package/dist/jsx/Tooltip.mjs +2 -5
- package/dist/jsx/Tooltip.mjs.map +1 -1
- package/dist/jsx/TooltipSimple.mjs +1 -3
- package/dist/jsx/TooltipSimple.mjs.map +1 -1
- package/package.json +13 -14
- package/src/Tooltip.tsx +7 -13
- package/src/TooltipSimple.tsx +1 -4
- package/types/Tooltip.d.ts +4 -0
- package/types/Tooltip.d.ts.map +1 -1
- package/types/TooltipSimple.d.ts.map +1 -1
package/dist/cjs/Tooltip.cjs
CHANGED
|
@@ -36,7 +36,6 @@ 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_size = require("@tamagui/size");
|
|
40
39
|
var import_helpers = require("@tamagui/helpers");
|
|
41
40
|
var import_popover = require("@tamagui/popover");
|
|
42
41
|
var import_popper = require("@tamagui/popper");
|
|
@@ -93,7 +92,7 @@ const closeOpenTooltips = () => {
|
|
|
93
92
|
};
|
|
94
93
|
const TooltipComponent = (0, import_core.createRefComponent)(function Tooltip(props, ref) {
|
|
95
94
|
"use no memo";
|
|
96
|
-
const { children, delay: delayProp, restMs: restMsProp, onOpenChange: onOpenChangeProp, focus, open: openProp, disableAutoCloseOnScroll, zIndex, scope = TOOLTIP_SCOPE, ...restProps } = props;
|
|
95
|
+
const { children, delay: delayProp, restMs: restMsProp, onOpenChange: onOpenChangeProp, focus, open: openProp, disableAutoCloseOnScroll, zIndex, scope = TOOLTIP_SCOPE, size: _size, ...restProps } = props;
|
|
97
96
|
const triggerRef = React.useRef(null);
|
|
98
97
|
const closeReasonRef = React.useRef(void 0);
|
|
99
98
|
const [hasCustomAnchor, setHasCustomAnchor] = React.useState(false);
|
|
@@ -142,12 +141,10 @@ const TooltipComponent = (0, import_core.createRefComponent)(function Tooltip(pr
|
|
|
142
141
|
const onCustomAnchorAdd = React.useCallback(() => setHasCustomAnchor(true), []);
|
|
143
142
|
const onCustomAnchorRemove = React.useCallback(() => setHasCustomAnchor(false), []);
|
|
144
143
|
const contentId = React.useId();
|
|
145
|
-
const smallerSize = (0, import_size.oneSizeSmaller)(true, (0, import_core.getConfig)().sizes);
|
|
146
144
|
const content = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_floating2.FloatingOverrideContext.Provider, {
|
|
147
145
|
value: floatingContext,
|
|
148
146
|
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_popper.Popper, {
|
|
149
147
|
scope,
|
|
150
|
-
size: smallerSize,
|
|
151
148
|
allowFlip: true,
|
|
152
149
|
stayInFrame: true,
|
|
153
150
|
open,
|
|
@@ -28,7 +28,6 @@ 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_size = require("@tamagui/size");
|
|
32
31
|
var import_text = require("@tamagui/text");
|
|
33
32
|
var React = __toESM(require("react"), 1);
|
|
34
33
|
var import_Tooltip = require("./Tooltip.cjs");
|
|
@@ -39,7 +38,6 @@ const TooltipSimple = (0, import_core.createRefComponent)(({ label, children, co
|
|
|
39
38
|
if (!label) {
|
|
40
39
|
return children;
|
|
41
40
|
}
|
|
42
|
-
const { frame } = (0, import_size.resolveSize)(tooltipProps.size ?? true);
|
|
43
41
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_Tooltip.Tooltip, {
|
|
44
42
|
disableRTL: true,
|
|
45
43
|
offset: 15,
|
|
@@ -60,7 +58,7 @@ const TooltipSimple = (0, import_core.createRefComponent)(({ label, children, co
|
|
|
60
58
|
pointerEvents: "none",
|
|
61
59
|
paddingHorizontal: "2",
|
|
62
60
|
paddingVertical: "1",
|
|
63
|
-
borderRadius:
|
|
61
|
+
borderRadius: 6,
|
|
64
62
|
boxShadow: "0 2px 4px shadow-color",
|
|
65
63
|
transition: {
|
|
66
64
|
preset: "quicker",
|
package/dist/esm/Tooltip.mjs
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { createRefComponent, createStyledHOC,
|
|
1
|
+
import { createRefComponent, createStyledHOC, styled, useEvent } from "@tamagui/core";
|
|
2
2
|
import { FloatingDelayGroup, FloatingOverrideContext, useDelayGroupContext } from "@tamagui/floating";
|
|
3
|
-
import { oneSizeSmaller } from "@tamagui/size";
|
|
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";
|
|
@@ -58,7 +57,7 @@ const closeOpenTooltips = () => {
|
|
|
58
57
|
};
|
|
59
58
|
const TooltipComponent = createRefComponent(function Tooltip(props, ref) {
|
|
60
59
|
"use no memo";
|
|
61
|
-
const { children, delay: delayProp, restMs: restMsProp, onOpenChange: onOpenChangeProp, focus, open: openProp, disableAutoCloseOnScroll, zIndex, scope = TOOLTIP_SCOPE, ...restProps } = props;
|
|
60
|
+
const { children, delay: delayProp, restMs: restMsProp, onOpenChange: onOpenChangeProp, focus, open: openProp, disableAutoCloseOnScroll, zIndex, scope = TOOLTIP_SCOPE, size: _size, ...restProps } = props;
|
|
62
61
|
const triggerRef = React.useRef(null);
|
|
63
62
|
const closeReasonRef = React.useRef(void 0);
|
|
64
63
|
const [hasCustomAnchor, setHasCustomAnchor] = React.useState(false);
|
|
@@ -107,12 +106,10 @@ const TooltipComponent = createRefComponent(function Tooltip(props, ref) {
|
|
|
107
106
|
const onCustomAnchorAdd = React.useCallback(() => setHasCustomAnchor(true), []);
|
|
108
107
|
const onCustomAnchorRemove = React.useCallback(() => setHasCustomAnchor(false), []);
|
|
109
108
|
const contentId = React.useId();
|
|
110
|
-
const smallerSize = oneSizeSmaller(true, getConfig().sizes);
|
|
111
109
|
const content = /* @__PURE__ */ jsx(FloatingOverrideContext.Provider, {
|
|
112
110
|
value: floatingContext,
|
|
113
111
|
children: /* @__PURE__ */ jsx(Popper, {
|
|
114
112
|
scope,
|
|
115
|
-
size: smallerSize,
|
|
116
113
|
allowFlip: true,
|
|
117
114
|
stayInFrame: true,
|
|
118
115
|
open,
|
package/dist/esm/Tooltip.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tooltip.js","names":[],"sources":["esm/Tooltip.js"],"sourcesContent":["import { createStyledHOC, createRefComponent,
|
|
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, {});\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 paddingHorizontal: \"2\",\n paddingVertical: \"1\",\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 // arrow px for TooltipSimple; never forwarded to Popper\n size: _size,\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 } = 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 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 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,5 +1,4 @@
|
|
|
1
1
|
import { createRefComponent } from "@tamagui/core";
|
|
2
|
-
import { resolveSize } from "@tamagui/size";
|
|
3
2
|
import { Paragraph } from "@tamagui/text";
|
|
4
3
|
import * as React from "react";
|
|
5
4
|
import { Tooltip } from "./Tooltip.mjs";
|
|
@@ -11,7 +10,6 @@ const TooltipSimple = createRefComponent(({ label, children, contentProps, disab
|
|
|
11
10
|
if (!label) {
|
|
12
11
|
return children;
|
|
13
12
|
}
|
|
14
|
-
const { frame } = resolveSize(tooltipProps.size ?? true);
|
|
15
13
|
return /* @__PURE__ */ jsxs(Tooltip, {
|
|
16
14
|
disableRTL: true,
|
|
17
15
|
offset: 15,
|
|
@@ -32,7 +30,7 @@ const TooltipSimple = createRefComponent(({ label, children, contentProps, disab
|
|
|
32
30
|
pointerEvents: "none",
|
|
33
31
|
paddingHorizontal: "2",
|
|
34
32
|
paddingVertical: "1",
|
|
35
|
-
borderRadius:
|
|
33
|
+
borderRadius: 6,
|
|
36
34
|
boxShadow: "0 2px 4px shadow-color",
|
|
37
35
|
transition: {
|
|
38
36
|
preset: "quicker",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TooltipSimple.js","names":[],"sources":["esm/TooltipSimple.js"],"sourcesContent":["import { createRefComponent } from \"@tamagui/core\";\nimport {
|
|
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, ...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: tooltipProps.size ?? 7,\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,GAAG,gBAAgB,QAAQ;CACrE;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,MAAM,aAAa,QAAQ;IAC3B,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,6 +1,5 @@
|
|
|
1
|
-
import { createRefComponent, createStyledHOC,
|
|
1
|
+
import { createRefComponent, createStyledHOC, styled, useEvent } from "@tamagui/core";
|
|
2
2
|
import { FloatingDelayGroup, FloatingOverrideContext, useDelayGroupContext } from "@tamagui/floating";
|
|
3
|
-
import { oneSizeSmaller } from "@tamagui/size";
|
|
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";
|
|
@@ -58,7 +57,7 @@ const closeOpenTooltips = () => {
|
|
|
58
57
|
};
|
|
59
58
|
const TooltipComponent = createRefComponent(function Tooltip(props, ref) {
|
|
60
59
|
"use no memo";
|
|
61
|
-
const { children, delay: delayProp, restMs: restMsProp, onOpenChange: onOpenChangeProp, focus, open: openProp, disableAutoCloseOnScroll, zIndex, scope = TOOLTIP_SCOPE, ...restProps } = props;
|
|
60
|
+
const { children, delay: delayProp, restMs: restMsProp, onOpenChange: onOpenChangeProp, focus, open: openProp, disableAutoCloseOnScroll, zIndex, scope = TOOLTIP_SCOPE, size: _size, ...restProps } = props;
|
|
62
61
|
const triggerRef = React.useRef(null);
|
|
63
62
|
const closeReasonRef = React.useRef(void 0);
|
|
64
63
|
const [hasCustomAnchor, setHasCustomAnchor] = React.useState(false);
|
|
@@ -107,12 +106,10 @@ const TooltipComponent = createRefComponent(function Tooltip(props, ref) {
|
|
|
107
106
|
const onCustomAnchorAdd = React.useCallback(() => setHasCustomAnchor(true), []);
|
|
108
107
|
const onCustomAnchorRemove = React.useCallback(() => setHasCustomAnchor(false), []);
|
|
109
108
|
const contentId = React.useId();
|
|
110
|
-
const smallerSize = oneSizeSmaller(true, getConfig().sizes);
|
|
111
109
|
const content = /* @__PURE__ */ jsx(FloatingOverrideContext.Provider, {
|
|
112
110
|
value: floatingContext,
|
|
113
111
|
children: /* @__PURE__ */ jsx(Popper, {
|
|
114
112
|
scope,
|
|
115
|
-
size: smallerSize,
|
|
116
113
|
allowFlip: true,
|
|
117
114
|
stayInFrame: true,
|
|
118
115
|
open,
|
package/dist/jsx/Tooltip.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tooltip.js","names":[],"sources":["jsx/Tooltip.js"],"sourcesContent":["import { createStyledHOC, createRefComponent,
|
|
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, {});\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 paddingHorizontal: \"2\",\n paddingVertical: \"1\",\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 // arrow px for TooltipSimple; never forwarded to Popper\n size: _size,\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 } = 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 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 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,5 +1,4 @@
|
|
|
1
1
|
import { createRefComponent } from "@tamagui/core";
|
|
2
|
-
import { resolveSize } from "@tamagui/size";
|
|
3
2
|
import { Paragraph } from "@tamagui/text";
|
|
4
3
|
import * as React from "react";
|
|
5
4
|
import { Tooltip } from "./Tooltip.mjs";
|
|
@@ -11,7 +10,6 @@ const TooltipSimple = createRefComponent(({ label, children, contentProps, disab
|
|
|
11
10
|
if (!label) {
|
|
12
11
|
return children;
|
|
13
12
|
}
|
|
14
|
-
const { frame } = resolveSize(tooltipProps.size ?? true);
|
|
15
13
|
return /* @__PURE__ */ jsxs(Tooltip, {
|
|
16
14
|
disableRTL: true,
|
|
17
15
|
offset: 15,
|
|
@@ -32,7 +30,7 @@ const TooltipSimple = createRefComponent(({ label, children, contentProps, disab
|
|
|
32
30
|
pointerEvents: "none",
|
|
33
31
|
paddingHorizontal: "2",
|
|
34
32
|
paddingVertical: "1",
|
|
35
|
-
borderRadius:
|
|
33
|
+
borderRadius: 6,
|
|
36
34
|
boxShadow: "0 2px 4px shadow-color",
|
|
37
35
|
transition: {
|
|
38
36
|
preset: "quicker",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TooltipSimple.js","names":[],"sources":["jsx/TooltipSimple.js"],"sourcesContent":["import { createRefComponent } from \"@tamagui/core\";\nimport {
|
|
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, ...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: tooltipProps.size ?? 7,\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,GAAG,gBAAgB,QAAQ;CACrE;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,MAAM,aAAa,QAAQ;IAC3B,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,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tamagui/tooltip",
|
|
3
|
-
"version": "3.0.0-beta.
|
|
3
|
+
"version": "3.0.0-beta.1341.1",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"source": "src/index.tsx",
|
|
6
6
|
"files": [
|
|
@@ -35,21 +35,20 @@
|
|
|
35
35
|
"clean:build": "tamagui-build clean:build"
|
|
36
36
|
},
|
|
37
37
|
"dependencies": {
|
|
38
|
-
"@tamagui/compose-refs": "3.0.0-beta.
|
|
39
|
-
"@tamagui/core": "3.0.0-beta.
|
|
40
|
-
"@tamagui/create-context": "3.0.0-beta.
|
|
41
|
-
"@tamagui/floating": "3.0.0-beta.
|
|
42
|
-
"@tamagui/helpers": "3.0.0-beta.
|
|
43
|
-
"@tamagui/polyfill-dev": "3.0.0-beta.
|
|
44
|
-
"@tamagui/popover": "3.0.0-beta.
|
|
45
|
-
"@tamagui/popper": "3.0.0-beta.
|
|
46
|
-
"@tamagui/
|
|
47
|
-
"@tamagui/
|
|
48
|
-
"@tamagui/
|
|
49
|
-
"@tamagui/use-controllable-state": "3.0.0-beta.1312.1"
|
|
38
|
+
"@tamagui/compose-refs": "3.0.0-beta.1341.1",
|
|
39
|
+
"@tamagui/core": "3.0.0-beta.1341.1",
|
|
40
|
+
"@tamagui/create-context": "3.0.0-beta.1341.1",
|
|
41
|
+
"@tamagui/floating": "3.0.0-beta.1341.1",
|
|
42
|
+
"@tamagui/helpers": "3.0.0-beta.1341.1",
|
|
43
|
+
"@tamagui/polyfill-dev": "3.0.0-beta.1341.1",
|
|
44
|
+
"@tamagui/popover": "3.0.0-beta.1341.1",
|
|
45
|
+
"@tamagui/popper": "3.0.0-beta.1341.1",
|
|
46
|
+
"@tamagui/stacks": "3.0.0-beta.1341.1",
|
|
47
|
+
"@tamagui/text": "3.0.0-beta.1341.1",
|
|
48
|
+
"@tamagui/use-controllable-state": "3.0.0-beta.1341.1"
|
|
50
49
|
},
|
|
51
50
|
"devDependencies": {
|
|
52
|
-
"@tamagui/build": "3.0.0-beta.
|
|
51
|
+
"@tamagui/build": "3.0.0-beta.1341.1",
|
|
53
52
|
"react": "19.2.3",
|
|
54
53
|
"react-native": "0.86.2"
|
|
55
54
|
},
|
package/src/Tooltip.tsx
CHANGED
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
import type { OpenChangeReason } from '@tamagui/floating'
|
|
2
|
-
import { createStyledHOC, createRefComponent,
|
|
2
|
+
import { createStyledHOC, createRefComponent, styled } from '@tamagui/core'
|
|
3
3
|
import '@tamagui/polyfill-dev'
|
|
4
4
|
|
|
5
5
|
import { FloatingDelayGroup, useDelayGroupContext, type Delay } from '@tamagui/floating'
|
|
6
|
-
import type {
|
|
6
|
+
import type { TamaguiElement } from '@tamagui/core'
|
|
7
7
|
import { useEvent } from '@tamagui/core'
|
|
8
8
|
import { FloatingOverrideContext } from '@tamagui/floating'
|
|
9
|
-
import { oneSizeSmaller } from '@tamagui/size'
|
|
10
9
|
import { withStaticProperties } from '@tamagui/helpers'
|
|
11
10
|
import type {
|
|
12
11
|
PopoverAnchorProps,
|
|
@@ -89,6 +88,8 @@ const TooltipArrow = createRefComponent<TamaguiElement, PopperArrowProps>(
|
|
|
89
88
|
|
|
90
89
|
export type TooltipProps = ScopedProps<
|
|
91
90
|
PopperProps & {
|
|
91
|
+
/** arrow size in px */
|
|
92
|
+
size?: number
|
|
92
93
|
open?: boolean
|
|
93
94
|
children?: React.ReactNode
|
|
94
95
|
onOpenChange?: (open: boolean) => void
|
|
@@ -163,6 +164,8 @@ const TooltipComponent = createRefComponent(function Tooltip(
|
|
|
163
164
|
disableAutoCloseOnScroll,
|
|
164
165
|
zIndex,
|
|
165
166
|
scope = TOOLTIP_SCOPE,
|
|
167
|
+
// arrow px for TooltipSimple; never forwarded to Popper
|
|
168
|
+
size: _size,
|
|
166
169
|
...restProps
|
|
167
170
|
} = props
|
|
168
171
|
const triggerRef = React.useRef<HTMLButtonElement>(null)
|
|
@@ -222,19 +225,10 @@ const TooltipComponent = createRefComponent(function Tooltip(
|
|
|
222
225
|
const onCustomAnchorAdd = React.useCallback(() => setHasCustomAnchor(true), [])
|
|
223
226
|
const onCustomAnchorRemove = React.useCallback(() => setHasCustomAnchor(false), [])
|
|
224
227
|
const contentId = React.useId()
|
|
225
|
-
const smallerSize = oneSizeSmaller(true, getConfig().sizes)
|
|
226
228
|
|
|
227
229
|
const content = (
|
|
228
230
|
<FloatingOverrideContext.Provider value={floatingContext}>
|
|
229
|
-
{
|
|
230
|
-
<Popper
|
|
231
|
-
scope={scope}
|
|
232
|
-
size={smallerSize as SizeTokens}
|
|
233
|
-
allowFlip
|
|
234
|
-
stayInFrame
|
|
235
|
-
open={open}
|
|
236
|
-
{...restProps}
|
|
237
|
-
>
|
|
231
|
+
<Popper scope={scope} allowFlip stayInFrame open={open} {...restProps}>
|
|
238
232
|
<PopoverContextProvider
|
|
239
233
|
scope={scope}
|
|
240
234
|
contentId={contentId}
|
package/src/TooltipSimple.tsx
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { createRefComponent } from '@tamagui/core'
|
|
2
|
-
import { resolveSize } from '@tamagui/size'
|
|
3
2
|
import type { YStackProps } from '@tamagui/stacks'
|
|
4
3
|
import { Paragraph } from '@tamagui/text'
|
|
5
4
|
import * as React from 'react'
|
|
@@ -24,8 +23,6 @@ export const TooltipSimple: React.FC<TooltipSimpleProps> = createRefComponent(
|
|
|
24
23
|
return children
|
|
25
24
|
}
|
|
26
25
|
|
|
27
|
-
const { frame } = resolveSize(tooltipProps.size ?? true)
|
|
28
|
-
|
|
29
26
|
return (
|
|
30
27
|
<Tooltip
|
|
31
28
|
disableRTL
|
|
@@ -56,7 +53,7 @@ export const TooltipSimple: React.FC<TooltipSimpleProps> = createRefComponent(
|
|
|
56
53
|
pointerEvents="none"
|
|
57
54
|
paddingHorizontal="2"
|
|
58
55
|
paddingVertical="1"
|
|
59
|
-
borderRadius={
|
|
56
|
+
borderRadius={6}
|
|
60
57
|
boxShadow="0 2px 4px shadow-color"
|
|
61
58
|
transition={{
|
|
62
59
|
preset: 'quicker',
|
package/types/Tooltip.d.ts
CHANGED
|
@@ -10,6 +10,8 @@ type ScopedProps<P> = Omit<P, 'scope'> & {
|
|
|
10
10
|
};
|
|
11
11
|
export type TooltipContentProps = ScopedProps<PopoverContentProps>;
|
|
12
12
|
export type TooltipProps = ScopedProps<PopperProps & {
|
|
13
|
+
/** arrow size in px */
|
|
14
|
+
size?: number;
|
|
13
15
|
open?: boolean;
|
|
14
16
|
children?: React.ReactNode;
|
|
15
17
|
onOpenChange?: (open: boolean) => void;
|
|
@@ -38,6 +40,8 @@ export declare const TooltipGroup: ({ children, delay, preventAnimation, timeout
|
|
|
38
40
|
}) => React.JSX.Element;
|
|
39
41
|
export declare const closeOpenTooltips: () => void;
|
|
40
42
|
export declare const Tooltip: ((props: Omit<PopperProps & {
|
|
43
|
+
/** arrow size in px */
|
|
44
|
+
size?: number;
|
|
41
45
|
open?: boolean;
|
|
42
46
|
children?: React.ReactNode;
|
|
43
47
|
onOpenChange?: (open: boolean) => void;
|
package/types/Tooltip.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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,
|
|
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;AAuDlE,MAAM,MAAM,YAAY,GAAG,WAAW,CACpC,WAAW,GAAG;IACZ,uBAAuB;IACvB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,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;AAkID,eAAO,MAAM,OAAO;IA1LhB,uBAAuB;WAChB,MAAM;WACN,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;;YAjFgC,aAAa;;;;;;;;gBAAb,aAAa;;;;;CA0P9D,CAAA"}
|
|
@@ -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,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"}
|