@cleartrip/ct-design-tooltip 4.0.0 → 5.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.
Files changed (63) hide show
  1. package/README.md +97 -0
  2. package/dist/Tooltip.d.ts +2 -5
  3. package/dist/Tooltip.d.ts.map +1 -1
  4. package/dist/Tooltip.native.d.ts +11 -0
  5. package/dist/Tooltip.native.d.ts.map +1 -0
  6. package/dist/TooltipArrow.d.ts +10 -0
  7. package/dist/TooltipArrow.d.ts.map +1 -0
  8. package/dist/TooltipContainer.d.ts +14 -0
  9. package/dist/TooltipContainer.d.ts.map +1 -0
  10. package/dist/constants.d.ts +19 -0
  11. package/dist/constants.d.ts.map +1 -0
  12. package/dist/ct-design-tooltip.browser.cjs.js +1 -1
  13. package/dist/ct-design-tooltip.browser.cjs.js.map +1 -1
  14. package/dist/ct-design-tooltip.browser.esm.js +1 -1
  15. package/dist/ct-design-tooltip.browser.esm.js.map +1 -1
  16. package/dist/ct-design-tooltip.cjs.js +377 -116
  17. package/dist/ct-design-tooltip.cjs.js.map +1 -1
  18. package/dist/ct-design-tooltip.esm.js +377 -112
  19. package/dist/ct-design-tooltip.esm.js.map +1 -1
  20. package/dist/ct-design-tooltip.umd.js +2020 -149
  21. package/dist/ct-design-tooltip.umd.js.map +1 -1
  22. package/dist/index.d.ts +2 -1
  23. package/dist/index.d.ts.map +1 -1
  24. package/dist/style.d.ts +112 -13
  25. package/dist/style.d.ts.map +1 -1
  26. package/dist/type.d.ts +42 -19
  27. package/dist/type.d.ts.map +1 -1
  28. package/dist/webStyle.d.ts +170 -0
  29. package/dist/webStyle.d.ts.map +1 -0
  30. package/package.json +24 -16
  31. package/src/Tooltip.native.tsx +230 -0
  32. package/src/Tooltip.tsx +137 -0
  33. package/src/TooltipArrow.tsx +39 -0
  34. package/src/TooltipContainer.tsx +46 -0
  35. package/src/constants.ts +20 -0
  36. package/src/index.ts +3 -0
  37. package/src/style.ts +370 -0
  38. package/src/type.ts +111 -0
  39. package/src/webStyle.ts +354 -0
  40. package/dist/StyledTooltip/StyledTooltip.d.ts +0 -4
  41. package/dist/StyledTooltip/StyledTooltip.d.ts.map +0 -1
  42. package/dist/StyledTooltip/index.d.ts +0 -2
  43. package/dist/StyledTooltip/index.d.ts.map +0 -1
  44. package/dist/StyledTooltip/style.d.ts +0 -6
  45. package/dist/StyledTooltip/style.d.ts.map +0 -1
  46. package/dist/StyledTooltip/type.d.ts +0 -6
  47. package/dist/StyledTooltip/type.d.ts.map +0 -1
  48. package/dist/TooltipArrow/StyledTooltipArrow/StyledTooltipArrow.d.ts +0 -4
  49. package/dist/TooltipArrow/StyledTooltipArrow/StyledTooltipArrow.d.ts.map +0 -1
  50. package/dist/TooltipArrow/StyledTooltipArrow/index.d.ts +0 -2
  51. package/dist/TooltipArrow/StyledTooltipArrow/index.d.ts.map +0 -1
  52. package/dist/TooltipArrow/StyledTooltipArrow/style.d.ts +0 -7
  53. package/dist/TooltipArrow/StyledTooltipArrow/style.d.ts.map +0 -1
  54. package/dist/TooltipArrow/StyledTooltipArrow/type.d.ts +0 -8
  55. package/dist/TooltipArrow/StyledTooltipArrow/type.d.ts.map +0 -1
  56. package/dist/TooltipArrow/TooltipArrow.d.ts +0 -5
  57. package/dist/TooltipArrow/TooltipArrow.d.ts.map +0 -1
  58. package/dist/TooltipArrow/index.d.ts +0 -2
  59. package/dist/TooltipArrow/index.d.ts.map +0 -1
  60. package/dist/TooltipArrow/style.d.ts +0 -30
  61. package/dist/TooltipArrow/style.d.ts.map +0 -1
  62. package/dist/TooltipArrow/type.d.ts +0 -7
  63. package/dist/TooltipArrow/type.d.ts.map +0 -1
@@ -1,152 +1,417 @@
1
- import { __assign, __makeTemplateObject } from 'tslib';
2
1
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
3
- import React, { forwardRef, useRef, useState } from 'react';
2
+ import { useMemo, useState, useRef, useCallback, useEffect } from 'react';
4
3
  import { useTheme } from '@cleartrip/ct-design-theme';
5
4
  import { Container } from '@cleartrip/ct-design-container';
6
- import styled, { css } from 'styled-components';
7
- import { TooltipChevronDown } from '@cleartrip/ct-design-icons';
8
- import { Portal } from '@cleartrip/ct-design-portal';
9
- import ConditionalWrap from '@cleartrip/ct-design-conditional-wrap';
10
- import useMergeRefs from '@cleartrip/ct-design-use-merge-refs';
11
- import useIsomorphicEffect from '@cleartrip/ct-design-use-isomorphic-effect';
5
+ import Conditional from '@cleartrip/ct-design-conditional-wrap';
6
+ import { makeStyles, useWebMergeStyles, useStyles } from '@cleartrip/ct-design-style-manager';
7
+ import { isMobile, isEmpty } from '@cleartrip/ct-design-common-utils';
8
+ import { css } from '@emotion/css';
12
9
  import { Transition } from '@cleartrip/ct-design-transition';
10
+ import { TooltipChevronDown } from '@cleartrip/ct-design-icons';
13
11
 
14
- var ArrowDirection;
15
- (function (ArrowDirection) {
16
- ArrowDirection["LEFT"] = "left";
17
- ArrowDirection["RIGHT"] = "right";
18
- ArrowDirection["UP"] = "up";
19
- ArrowDirection["DOWN"] = "down";
20
- })(ArrowDirection || (ArrowDirection = {}));
12
+ var positions;
13
+ (function (positions) {
14
+ positions["TOP"] = "top";
15
+ positions["RIGHT"] = "right";
16
+ positions["BOTTOM"] = "bottom";
17
+ positions["LEFT"] = "left";
18
+ positions["AUTO"] = "auto";
19
+ })(positions || (positions = {}));
20
+ var overlayBorderRadius;
21
+ (function (overlayBorderRadius) {
22
+ overlayBorderRadius["XS"] = "xs";
23
+ overlayBorderRadius["SM"] = "sm";
24
+ overlayBorderRadius["MD"] = "md";
25
+ overlayBorderRadius["LG"] = "lg";
26
+ overlayBorderRadius["XL"] = "xl";
27
+ })(overlayBorderRadius || (overlayBorderRadius = {}));
28
+ var HOVER_TYPE;
29
+ (function (HOVER_TYPE) {
30
+ HOVER_TYPE["ENTER"] = "ENTER";
31
+ HOVER_TYPE["LEAVE"] = "LEAVE";
32
+ })(HOVER_TYPE || (HOVER_TYPE = {}));
21
33
 
22
- var getDefaultTooltipStyles = function (theme) {
34
+ const staticTooltipStyles = makeStyles((theme) => {
23
35
  return {
24
- backgroundColor: theme.color.tooltip.primaryBg,
25
- borderRadius: theme.border.radius[4],
36
+ root: {
37
+ position: 'relative',
38
+ },
39
+ labelContainerStyles: {
40
+ width: (isMobile() ? 100 : 'fit-content'),
41
+ flexDirection: 'row',
42
+ },
43
+ overlayStyles: {
44
+ flexDirection: 'row',
45
+ position: 'absolute',
46
+ width: theme === null || theme === void 0 ? void 0 : theme.size[50],
47
+ zIndex: theme === null || theme === void 0 ? void 0 : theme.zIndex.tooltip,
48
+ backgroundColor: theme === null || theme === void 0 ? void 0 : theme.color.background.defaultDarkest,
49
+ paddingVertical: theme === null || theme === void 0 ? void 0 : theme.spacing[1],
50
+ paddingHorizontal: theme === null || theme === void 0 ? void 0 : theme.spacing[2],
51
+ borderRadius: theme === null || theme === void 0 ? void 0 : theme.border.radius[8],
52
+ },
53
+ tooltipArrow: {
54
+ display: 'flex',
55
+ position: 'absolute',
56
+ zIndex: theme === null || theme === void 0 ? void 0 : theme.zIndex.tooltip,
57
+ },
26
58
  };
27
- };
28
- var getTooltipStyles = function (_a) {
29
- var theme = _a.theme, width = _a.width;
30
- return __assign(__assign({}, getDefaultTooltipStyles(theme)), { width: width });
31
- };
59
+ });
32
60
 
33
- var getStyledTooltipStyles = function (_a) {
34
- var backgroundColor = _a.backgroundColor, width = _a.width, theme = _a.theme, borderRadius = _a.borderRadius;
35
- return css(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n background-color: ", ";\n border-radius: ", ";\n display: flex;\n width: ", ";\n align-items: center;\n justify-content: center;\n padding-top: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n padding-right: ", ";\n "], ["\n background-color: ", ";\n border-radius: ", ";\n display: flex;\n width: ", ";\n align-items: center;\n justify-content: center;\n padding-top: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n padding-right: ", ";\n "])), backgroundColor, borderRadius, width, theme.spacing[1], theme.spacing[1], theme.spacing[2], theme.spacing[2]);
61
+ const staticStyles$1 = makeStyles((theme) => ({
62
+ root: {
63
+ backgroundColor: theme.color.background.defaultDarkest,
64
+ position: 'absolute',
65
+ zIndex: theme.zIndex.tooltip,
66
+ },
67
+ }));
68
+ const TooltipContainer = ({ children, visible, width, onMouseLeave, tooltipRef, styleConfig }) => {
69
+ const tooltipClass = useMemo(() => css({
70
+ width: width !== null && width !== void 0 ? width : 'auto',
71
+ visibility: visible ? 'visible' : 'hidden',
72
+ }), [width, visible]);
73
+ const containerClass = useWebMergeStyles([staticStyles$1.root, tooltipClass, ...styleConfig.root], [styleConfig.root, tooltipClass]);
74
+ return (jsx("div", { ref: tooltipRef, className: containerClass, onMouseLeave: onMouseLeave, children: children }));
36
75
  };
37
- var templateObject_1;
76
+ TooltipContainer.displayName = 'TooltipContainer';
38
77
 
39
- var StyledTooltip = styled.div(function (_a) {
40
- var theme = _a.theme, backgroundColor = _a.backgroundColor, width = _a.width, borderRadius = _a.borderRadius;
41
- return getStyledTooltipStyles({
42
- backgroundColor: backgroundColor,
43
- width: width,
44
- theme: theme,
45
- borderRadius: borderRadius,
46
- });
78
+ const staticStyles = makeStyles((theme) => ({
79
+ root: {
80
+ zIndex: theme.zIndex.tooltip,
81
+ position: 'absolute',
82
+ display: 'flex',
83
+ },
84
+ }));
85
+ const webStaticStyles = css({
86
+ width: 'fit-content',
47
87
  });
88
+ const TooltipArrow = ({ children, visible, styleConfig }) => {
89
+ const tooltipArrowClass = useMemo(() => css({
90
+ visibility: visible ? 'visible' : 'hidden',
91
+ }), [visible]);
92
+ const arrowClass = useWebMergeStyles([staticStyles.root, webStaticStyles, tooltipArrowClass, ...styleConfig.root], [tooltipArrowClass, styleConfig.root]);
93
+ return jsx("div", { className: arrowClass, children: children });
94
+ };
48
95
 
49
- var arrowStyle = function (arrowPosition) {
50
- switch (arrowPosition) {
51
- case ArrowDirection.DOWN: {
96
+ const getTooltipBorderSize = (borderSize, theme) => {
97
+ switch (borderSize) {
98
+ case overlayBorderRadius.XS: {
99
+ return {
100
+ borderRadius: theme.border.radius[4],
101
+ };
102
+ }
103
+ case overlayBorderRadius.SM: {
52
104
  return {
53
- transform: 'rotate(0deg)',
105
+ borderRadius: theme.border.radius[6],
54
106
  };
55
107
  }
56
- case ArrowDirection.UP: {
108
+ case overlayBorderRadius.MD: {
57
109
  return {
58
- transform: 'rotate(180deg)',
110
+ borderRadius: theme.border.radius[8],
59
111
  };
60
112
  }
61
- case ArrowDirection.LEFT: {
113
+ case overlayBorderRadius.LG: {
62
114
  return {
63
- marginRight: '-6px',
64
- transform: 'rotate(90deg)',
115
+ borderRadius: theme.border.radius[16],
65
116
  };
66
117
  }
67
- case ArrowDirection.RIGHT: {
118
+ case overlayBorderRadius.XL: {
68
119
  return {
69
- marginLeft: '-6px',
70
- transform: 'rotate(-90deg)',
120
+ borderRadius: theme.border.radius[32],
71
121
  };
72
122
  }
73
123
  default: {
74
124
  return {
75
- transform: 'rotate(0deg)',
125
+ borderRadius: theme.border.radius[8],
76
126
  };
77
127
  }
78
128
  }
79
129
  };
80
- var getTooltipArrowStyles = function (_a) {
81
- var arrowPosition = _a.arrowPosition;
82
- return __assign({}, arrowStyle(arrowPosition));
130
+ const getTooltipAutoPositionStyle = ({ labelRef, tooltipRef, anchorRef, }) => {
131
+ const anchorElement = (anchorRef === null || anchorRef === void 0 ? void 0 : anchorRef.current) || document.body;
132
+ if ((tooltipRef === null || tooltipRef === void 0 ? void 0 : tooltipRef.current) && (labelRef === null || labelRef === void 0 ? void 0 : labelRef.current) && anchorElement) {
133
+ const anchorElementStyleData = anchorElement.getBoundingClientRect();
134
+ const tooltipElementStyleData = tooltipRef.current.getBoundingClientRect();
135
+ const { right: anchorRight, bottom: anchorBottom } = anchorElementStyleData;
136
+ const { right: tooltipRight, bottom: tooltipBottom } = tooltipElementStyleData;
137
+ const tooltipHeight = tooltipRef.current.offsetHeight;
138
+ const tooltipWidth = tooltipRef.current.offsetWidth;
139
+ const labelHeight = labelRef.current.offsetHeight;
140
+ const labelWidth = labelRef.current.offsetWidth;
141
+ if (tooltipRight > anchorRight && tooltipBottom > anchorBottom) {
142
+ return {
143
+ left: tooltipWidth - labelWidth < 0 ? tooltipWidth - labelWidth : -(tooltipWidth - labelWidth),
144
+ top: -(tooltipHeight + 10),
145
+ };
146
+ }
147
+ else if (tooltipBottom > anchorBottom) {
148
+ return {
149
+ top: -(tooltipHeight + 10),
150
+ };
151
+ }
152
+ else if (tooltipRight > anchorRight) {
153
+ return {
154
+ left: tooltipWidth - labelWidth < 0 ? tooltipWidth - labelWidth : -(tooltipWidth - labelWidth),
155
+ top: labelHeight + 10,
156
+ };
157
+ }
158
+ else {
159
+ return {
160
+ top: labelHeight + 10,
161
+ };
162
+ }
163
+ }
164
+ return {};
83
165
  };
84
-
85
- var getStyledTooltipArrowStyles = function (_a) {
86
- _a.theme; var transform = _a.transform, marginLeft = _a.marginLeft, marginRight = _a.marginRight;
87
- return {
88
- display: 'flex',
89
- alignItems: 'center',
90
- transform: transform,
91
- marginLeft: marginLeft,
92
- marginRight: marginRight,
93
- };
166
+ const getTooltipBottomPosition = ({ labelRef, tooltipRef, anchorRef, }) => {
167
+ const anchorElement = (anchorRef === null || anchorRef === void 0 ? void 0 : anchorRef.current) || document.body;
168
+ if ((labelRef === null || labelRef === void 0 ? void 0 : labelRef.current) && (tooltipRef === null || tooltipRef === void 0 ? void 0 : tooltipRef.current)) {
169
+ const { right: anchorRight, left: anchorLeft } = anchorElement.getBoundingClientRect();
170
+ const { right: labelRight, left: labelLeft } = labelRef.current.getBoundingClientRect();
171
+ const tooltipWidth = tooltipRef.current.offsetWidth;
172
+ const labelHeight = labelRef.current.offsetHeight;
173
+ const labelWidth = labelRef.current.offsetWidth;
174
+ let leftPosition = tooltipWidth - labelWidth < 0 ? (tooltipWidth - labelWidth) / 2 : -(tooltipWidth - labelWidth) / 2;
175
+ if (tooltipWidth > labelWidth && anchorRight - labelRight < (tooltipWidth - labelWidth) / 2) {
176
+ leftPosition -= (tooltipWidth - labelWidth) / 2 - (anchorRight - labelRight) + 4;
177
+ }
178
+ else if (tooltipWidth > labelWidth && labelLeft - anchorLeft < (tooltipWidth - labelWidth) / 2) {
179
+ leftPosition += (tooltipWidth - labelWidth) / 2 - (labelLeft - anchorLeft) + 4;
180
+ }
181
+ return {
182
+ top: labelHeight + 10,
183
+ left: leftPosition,
184
+ };
185
+ }
186
+ return {};
94
187
  };
95
-
96
- var StyledTooltipArrow = styled.div(function (_a) {
97
- var theme = _a.theme, transform = _a.transform, marginLeft = _a.marginLeft, marginRight = _a.marginRight;
98
- return getStyledTooltipArrowStyles({
99
- theme: theme,
100
- transform: transform,
101
- marginLeft: marginLeft,
102
- marginRight: marginRight,
103
- });
104
- });
105
-
106
- var TooltipArrow = function (_a) {
107
- var arrowPosition = _a.arrowPosition, _b = _a.styleConfig, styleConfig = _b === void 0 ? {} : _b;
108
- useTheme();
109
- var arrow = styleConfig.arrow, arrowContainer = styleConfig.arrowContainer;
110
- var tooltipArrow = getTooltipArrowStyles({ arrowPosition: arrowPosition });
111
- return (jsx(StyledTooltipArrow, __assign({}, tooltipArrow, arrowContainer, { children: jsx(TooltipChevronDown, __assign({}, arrow)) })));
188
+ const getTooltipTopPosition = ({ labelRef, tooltipRef, anchorRef, }) => {
189
+ const anchorElement = (anchorRef === null || anchorRef === void 0 ? void 0 : anchorRef.current) || document.body;
190
+ if ((labelRef === null || labelRef === void 0 ? void 0 : labelRef.current) && (tooltipRef === null || tooltipRef === void 0 ? void 0 : tooltipRef.current)) {
191
+ const { right: anchorRight, left: anchorLeft } = anchorElement.getBoundingClientRect();
192
+ const { right: labelRight, left: labelLeft } = labelRef.current.getBoundingClientRect();
193
+ const tooltipWidth = tooltipRef.current.offsetWidth;
194
+ const tooltipHeight = tooltipRef.current.offsetHeight;
195
+ const labelWidth = labelRef.current.offsetWidth;
196
+ let leftPosition = tooltipWidth - labelWidth < 0 ? (tooltipWidth - labelWidth) / 2 : -(tooltipWidth - labelWidth) / 2;
197
+ if (tooltipWidth > labelWidth && anchorRight - labelRight < (tooltipWidth - labelWidth) / 2) {
198
+ leftPosition -= (tooltipWidth - labelWidth) / 2 - (anchorRight - labelRight) + 4;
199
+ }
200
+ else if (tooltipWidth > labelWidth && labelLeft - anchorLeft < (tooltipWidth - labelWidth) / 2) {
201
+ leftPosition += (tooltipWidth - labelWidth) / 2 - (labelLeft - anchorLeft) + 4;
202
+ }
203
+ return {
204
+ top: -(tooltipHeight + 10),
205
+ left: leftPosition,
206
+ };
207
+ }
208
+ return {};
112
209
  };
113
-
114
- var Tooltip = forwardRef(function (_a, forwardedRef) {
115
- var _b = _a.width, width = _b === void 0 ? '' : _b, _c = _a.arrowPosition, arrowPosition = _c === void 0 ? ArrowDirection.UP : _c, _d = _a.children, children = _d === void 0 ? null : _d, container = _a.container, _e = _a.open, open = _e === void 0 ? false : _e, _f = _a.showInPortal, showInPortal = _f === void 0 ? true : _f, _g = _a.as, as = _g === void 0 ? 'div' : _g, _h = _a.layoutDiff, layoutDiff = _h === void 0 ? { left: 0, top: 0 } : _h, _j = _a.styleConfig, styleConfig = _j === void 0 ? {} : _j;
116
- var theme = useTheme();
117
- var arrow = styleConfig.arrow, bodyContainer = styleConfig.bodyContainer, rootContainer = styleConfig.rootContainer;
118
- var ref = useRef(null);
119
- var containerRef = useRef(null);
120
- var _k = useState({ left: 0, top: 0 }), childStyle = _k[0], setChildStyle = _k[1];
121
- var mergedRef = useMergeRefs(forwardedRef, containerRef);
122
- useIsomorphicEffect(function () {
123
- if (ref.current && containerRef.current) {
124
- var childMeta = ref.current.getBoundingClientRect();
125
- var containerMeta = containerRef.current.getBoundingClientRect();
126
- var leftDiff = 0;
127
- var topDiff = 0;
128
- if (arrowPosition === 'left' || arrowPosition === 'right') {
129
- leftDiff = arrowPosition === 'right' ? -containerMeta.width : layoutDiff.left + childMeta.width;
130
- topDiff = -4;
210
+ const getTooltipPosition = ({ position, labelRef, tooltipRef, anchorRef, }) => {
211
+ if ((labelRef === null || labelRef === void 0 ? void 0 : labelRef.current) && (tooltipRef === null || tooltipRef === void 0 ? void 0 : tooltipRef.current)) {
212
+ const tooltipHeight = tooltipRef.current.offsetHeight;
213
+ const tooltipWidth = tooltipRef.current.offsetWidth;
214
+ const labelHeight = labelRef.current.offsetHeight;
215
+ const labelWidth = labelRef.current.offsetWidth;
216
+ switch (position) {
217
+ case positions.LEFT: {
218
+ return {
219
+ left: -(tooltipWidth + 10),
220
+ top: -(tooltipHeight / 2 - labelHeight / 2),
221
+ };
131
222
  }
132
- if (arrowPosition === 'up' || arrowPosition === 'down') {
133
- topDiff = arrowPosition === 'down' ? -containerMeta.height : containerMeta.height;
134
- leftDiff = 8;
223
+ case positions.RIGHT: {
224
+ return {
225
+ left: labelWidth + 10,
226
+ top: -(tooltipHeight / 2 - labelHeight / 2),
227
+ };
135
228
  }
136
- var dLeft = Math.abs(childMeta.left + leftDiff);
137
- var dTop = Math.abs(childMeta.top + layoutDiff.top + topDiff);
138
- if (Math.abs(childStyle.left - dLeft) > 1 || Math.abs(childStyle.top - dTop) > 1) {
139
- setChildStyle({ left: dLeft, top: dTop });
229
+ case positions.TOP: {
230
+ return getTooltipTopPosition({
231
+ labelRef,
232
+ tooltipRef,
233
+ anchorRef,
234
+ });
235
+ }
236
+ case positions.BOTTOM: {
237
+ return getTooltipBottomPosition({
238
+ labelRef,
239
+ tooltipRef,
240
+ anchorRef,
241
+ });
242
+ }
243
+ case positions.AUTO: {
244
+ return getTooltipAutoPositionStyle({
245
+ labelRef,
246
+ tooltipRef,
247
+ anchorRef,
248
+ });
249
+ }
250
+ default: {
251
+ return {
252
+ left: labelWidth,
253
+ top: -(tooltipHeight / 2 - labelHeight / 2),
254
+ };
140
255
  }
141
256
  }
142
- }, [arrowPosition, setChildStyle, childStyle, open]);
143
- var tooltipStyles = getTooltipStyles({ theme: theme, width: width });
144
- var tooltipBody = jsx(StyledTooltip, __assign({}, tooltipStyles, { children: children }));
145
- var downRightFlex = arrowPosition === ArrowDirection.DOWN ? 'column' : 'row';
146
- var topLeftFlex = arrowPosition === ArrowDirection.UP ? 'column' : 'row';
147
- var containerProps = __assign({ ref: ref }, container.props);
148
- return (jsxs(Fragment, { children: [open ? (jsx(ConditionalWrap, __assign({ condition: showInPortal, wrap: function (children) { return jsx(Portal, { children: children }); } }, { children: jsx(Transition, __assign({ type: 'fade', in: open }, { children: jsxs(Container, __assign({ as: as, position: 'absolute', ref: mergedRef, left: childStyle.left, top: childStyle.top, zIndex: theme.zIndex.tooltip }, rootContainer, { children: [(arrowPosition === ArrowDirection.DOWN || arrowPosition === ArrowDirection.RIGHT) && (jsxs(Container, __assign({ display: 'flex', alignItems: 'center', flexDirection: downRightFlex }, bodyContainer, { children: [tooltipBody, jsx(TooltipArrow, __assign({ arrowPosition: arrowPosition }, arrow))] }))), (arrowPosition === ArrowDirection.UP || arrowPosition === ArrowDirection.LEFT) && (jsxs(Container, __assign({ display: 'flex', alignItems: 'center', flexDirection: topLeftFlex }, bodyContainer, { children: [jsx(TooltipArrow, __assign({ arrowPosition: arrowPosition }, arrow)), tooltipBody] })))] })) })) }))) : null, React.isValidElement(container) ? React.cloneElement(container, containerProps) : container] }));
149
- });
257
+ }
258
+ };
259
+ const getTooltipAutoArrowStyles = ({ labelRef, tooltipRef, anchorRef, }) => {
260
+ const anchorElement = (anchorRef === null || anchorRef === void 0 ? void 0 : anchorRef.current) || document.body;
261
+ if ((tooltipRef === null || tooltipRef === void 0 ? void 0 : tooltipRef.current) && (labelRef === null || labelRef === void 0 ? void 0 : labelRef.current) && anchorElement) {
262
+ const anchorElementStyleData = anchorElement.getBoundingClientRect();
263
+ const tooltipElementStyleData = tooltipRef.current.getBoundingClientRect();
264
+ const { right: anchorRight, bottom: anchorBottom } = anchorElementStyleData;
265
+ const { right: tooltipRight, bottom: tooltipBottom } = tooltipElementStyleData;
266
+ const labelHeight = labelRef.current.offsetHeight;
267
+ const labelWidth = labelRef.current.offsetWidth;
268
+ if (tooltipRight > anchorRight && tooltipBottom > anchorBottom) {
269
+ return {
270
+ top: -11,
271
+ left: labelWidth / 2,
272
+ };
273
+ }
274
+ else if (tooltipBottom > anchorBottom) {
275
+ return {
276
+ top: -11,
277
+ left: labelWidth / 2,
278
+ };
279
+ }
280
+ else if (tooltipRight > anchorRight) {
281
+ return {
282
+ rotate: '180deg',
283
+ left: labelWidth / 2,
284
+ top: labelHeight + 5,
285
+ };
286
+ }
287
+ else {
288
+ return {
289
+ rotate: '180deg',
290
+ left: labelWidth / 2,
291
+ top: labelHeight + 5,
292
+ };
293
+ }
294
+ }
295
+ return {};
296
+ };
297
+ const getTooltipArrowStyles = ({ position, labelRef, tooltipRef, anchorRef, }) => {
298
+ if ((labelRef === null || labelRef === void 0 ? void 0 : labelRef.current) && (tooltipRef === null || tooltipRef === void 0 ? void 0 : tooltipRef.current)) {
299
+ const labelWidth = labelRef.current.offsetWidth;
300
+ const labelHeight = labelRef.current.offsetHeight;
301
+ switch (position) {
302
+ case positions.TOP: {
303
+ return {
304
+ top: -11,
305
+ left: labelWidth / 2,
306
+ };
307
+ }
308
+ case positions.BOTTOM: {
309
+ return {
310
+ rotate: '180deg',
311
+ top: labelHeight + 5,
312
+ left: labelWidth / 2,
313
+ };
314
+ }
315
+ case positions.LEFT: {
316
+ return {
317
+ rotate: '-90deg',
318
+ top: 0,
319
+ left: -16,
320
+ };
321
+ }
322
+ case positions.RIGHT: {
323
+ return {
324
+ rotate: '90deg',
325
+ top: 0,
326
+ left: labelWidth - 1,
327
+ };
328
+ }
329
+ case positions.AUTO: {
330
+ return getTooltipAutoArrowStyles({ labelRef, tooltipRef, anchorRef });
331
+ }
332
+ default: {
333
+ return {
334
+ rotate: '90deg',
335
+ top: 0,
336
+ left: labelWidth,
337
+ };
338
+ }
339
+ }
340
+ }
341
+ return {};
342
+ };
343
+ const getTooltipStyles = ({ borderSize, position, labelRef, tooltipRef, anchorRef, theme, }) => {
344
+ const tooltipPosition = getTooltipPosition({ position, labelRef, tooltipRef, anchorRef, theme }) || {};
345
+ return Object.assign(Object.assign({}, tooltipPosition), getTooltipBorderSize(borderSize, theme));
346
+ };
347
+
348
+ const Tooltip = ({ children, position = positions.RIGHT, labelContainer, tooltipWidth = 150, tooltipBorderRadius = overlayBorderRadius.MD, styleConfig, enableTooltipContainerHovering = false, open = false, animate = true, svgPathProps, anchorRef, }) => {
349
+ const theme = useTheme();
350
+ const { root: customRootStyles = [], labelContainerStyles: customLabelContainerStyles = [], overlayStyles: customOverlayStyles = [], arrowStyles: customArrowStyles = [], } = styleConfig || {};
351
+ const [styles, setStyles] = useState({
352
+ tooltipStyles: {},
353
+ tooltipArrowStyles: {},
354
+ });
355
+ const labelRef = useRef(null);
356
+ const tooltipRef = useRef(null);
357
+ const setTooltipStyles = useCallback(() => {
358
+ const tooltipStyle = getTooltipStyles({
359
+ borderSize: tooltipBorderRadius,
360
+ position,
361
+ labelRef,
362
+ tooltipRef,
363
+ anchorRef: anchorRef,
364
+ theme,
365
+ });
366
+ const tooltipArrowStyle = getTooltipArrowStyles({
367
+ position,
368
+ labelRef,
369
+ tooltipRef,
370
+ anchorRef: anchorRef,
371
+ theme,
372
+ });
373
+ setStyles({ tooltipStyles: tooltipStyle, tooltipArrowStyles: tooltipArrowStyle });
374
+ }, [tooltipBorderRadius, position, labelRef, tooltipRef, anchorRef, theme]);
375
+ useEffect(() => {
376
+ if (open) {
377
+ setTooltipStyles();
378
+ }
379
+ else {
380
+ setStyles({ tooltipStyles: {}, tooltipArrowStyles: {} });
381
+ }
382
+ }, [open, setTooltipStyles]);
383
+ const canCloseTooltipContainer = (event) => {
384
+ var _a, _b, _c, _d;
385
+ const defaultDimesstions = { right: 0, left: 0, bottom: 0, top: 0 };
386
+ const tooltipDimesntions = (_b = (_a = tooltipRef.current) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect()) !== null && _b !== void 0 ? _b : defaultDimesstions;
387
+ const labelDimensions = (_d = (_c = labelRef.current) === null || _c === void 0 ? void 0 : _c.getBoundingClientRect()) !== null && _d !== void 0 ? _d : defaultDimesstions;
388
+ const { r, l, b, t } = {
389
+ r: Math.floor(Math.max(tooltipDimesntions.right, labelDimensions.left)),
390
+ l: Math.floor(Math.min(tooltipDimesntions.left, labelDimensions.right)),
391
+ b: Math.floor(Math.max(tooltipDimesntions.bottom, labelDimensions.top)),
392
+ t: Math.floor(Math.min(tooltipDimesntions.top, labelDimensions.bottom)),
393
+ };
394
+ const currentX = event.clientX + 1;
395
+ const currentY = event.clientY + 1;
396
+ return r >= currentX && l <= currentX && t <= currentY && b >= currentY;
397
+ };
398
+ const handleMouseEnter = () => {
399
+ setTooltipStyles();
400
+ };
401
+ const handleMouseLeave = (event) => {
402
+ if (enableTooltipContainerHovering && canCloseTooltipContainer(event))
403
+ return;
404
+ setStyles({ tooltipStyles: {}, tooltipArrowStyles: {} });
405
+ };
406
+ const labelStyles = useWebMergeStyles([...customLabelContainerStyles], [customLabelContainerStyles]);
407
+ const dynamicTooltipStyles = useStyles(() => {
408
+ return {
409
+ tooltip: styles.tooltipStyles,
410
+ tooltipArrow: styles.tooltipArrowStyles,
411
+ };
412
+ }, [styles.tooltipStyles, open]);
413
+ return (jsxs(Container, { styleConfig: { root: [staticTooltipStyles === null || staticTooltipStyles === void 0 ? void 0 : staticTooltipStyles.root, ...customRootStyles] }, children: [jsx("div", { onMouseEnter: handleMouseEnter, onMouseLeave: handleMouseLeave, ref: labelRef, className: labelStyles, children: labelContainer }), !!children && (jsx(Conditional, { condition: animate, wrap: (child) => jsx(Transition, { type: 'fade', children: child }), children: jsxs(Fragment, { children: [jsx(TooltipContainer, { visible: !isEmpty(styles.tooltipStyles), width: tooltipWidth, onMouseLeave: handleMouseLeave, styleConfig: { root: [dynamicTooltipStyles.tooltip, ...customOverlayStyles] }, tooltipRef: tooltipRef, children: children }), jsx(TooltipArrow, { visible: !isEmpty(styles.tooltipArrowStyles), styleConfig: { root: [dynamicTooltipStyles.tooltipArrow, ...customArrowStyles] }, children: jsx(TooltipChevronDown, Object.assign({}, svgPathProps)) })] }) }))] }));
414
+ };
150
415
 
151
- export { ArrowDirection, Tooltip };
416
+ export { HOVER_TYPE, Tooltip, overlayBorderRadius, positions };
152
417
  //# sourceMappingURL=ct-design-tooltip.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ct-design-tooltip.esm.js","sources":["../packages/components/Tooltip/src/type.ts","../packages/components/Tooltip/src/style.ts","../packages/components/Tooltip/src/StyledTooltip/style.ts","../packages/components/Tooltip/src/StyledTooltip/StyledTooltip.tsx","../packages/components/Tooltip/src/TooltipArrow/style.ts","../packages/components/Tooltip/src/TooltipArrow/StyledTooltipArrow/style.ts","../packages/components/Tooltip/src/TooltipArrow/StyledTooltipArrow/StyledTooltipArrow.tsx","../packages/components/Tooltip/src/TooltipArrow/TooltipArrow.tsx","../packages/components/Tooltip/src/Tooltip.tsx"],"sourcesContent":[null,null,null,null,null,null,null,null,null],"names":["_jsx","_jsxs"],"mappings":"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"}
1
+ {"version":3,"file":"ct-design-tooltip.esm.js","sources":["../packages/components/Tooltip/src/constants.ts","../packages/components/Tooltip/src/style.ts","../packages/components/Tooltip/src/TooltipContainer.tsx","../packages/components/Tooltip/src/TooltipArrow.tsx","../packages/components/Tooltip/src/webStyle.ts","../packages/components/Tooltip/src/Tooltip.tsx"],"sourcesContent":[null,null,null,null,null,null],"names":["staticStyles","_jsx","_jsxs","_Fragment"],"mappings":"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"}