@cleartrip/ct-design-tooltip 1.1.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 (46) hide show
  1. package/dist/ct-design-tooltip.browser.cjs.js +2 -0
  2. package/dist/ct-design-tooltip.browser.cjs.js.map +1 -0
  3. package/dist/ct-design-tooltip.browser.esm.js +2 -0
  4. package/dist/ct-design-tooltip.browser.esm.js.map +1 -0
  5. package/dist/ct-design-tooltip.cjs.js +160 -0
  6. package/dist/ct-design-tooltip.cjs.js.map +1 -0
  7. package/dist/ct-design-tooltip.esm.js +149 -0
  8. package/dist/ct-design-tooltip.esm.js.map +1 -0
  9. package/dist/ct-design-tooltip.umd.js +194 -0
  10. package/dist/ct-design-tooltip.umd.js.map +1 -0
  11. package/dist/src/StyledTooltip/StyledTooltip.d.ts +4 -0
  12. package/dist/src/StyledTooltip/StyledTooltip.d.ts.map +1 -0
  13. package/dist/src/StyledTooltip/index.d.ts +2 -0
  14. package/dist/src/StyledTooltip/index.d.ts.map +1 -0
  15. package/dist/src/StyledTooltip/style.d.ts +6 -0
  16. package/dist/src/StyledTooltip/style.d.ts.map +1 -0
  17. package/dist/src/StyledTooltip/type.d.ts +6 -0
  18. package/dist/src/StyledTooltip/type.d.ts.map +1 -0
  19. package/dist/src/Tooltip.d.ts +7 -0
  20. package/dist/src/Tooltip.d.ts.map +1 -0
  21. package/dist/src/TooltipArrow/StyledTooltipArrow/StyledTooltipArrow.d.ts +4 -0
  22. package/dist/src/TooltipArrow/StyledTooltipArrow/StyledTooltipArrow.d.ts.map +1 -0
  23. package/dist/src/TooltipArrow/StyledTooltipArrow/index.d.ts +2 -0
  24. package/dist/src/TooltipArrow/StyledTooltipArrow/index.d.ts.map +1 -0
  25. package/dist/src/TooltipArrow/StyledTooltipArrow/style.d.ts +7 -0
  26. package/dist/src/TooltipArrow/StyledTooltipArrow/style.d.ts.map +1 -0
  27. package/dist/src/TooltipArrow/StyledTooltipArrow/type.d.ts +6 -0
  28. package/dist/src/TooltipArrow/StyledTooltipArrow/type.d.ts.map +1 -0
  29. package/dist/src/TooltipArrow/TooltipArrow.d.ts +5 -0
  30. package/dist/src/TooltipArrow/TooltipArrow.d.ts.map +1 -0
  31. package/dist/src/TooltipArrow/index.d.ts +2 -0
  32. package/dist/src/TooltipArrow/index.d.ts.map +1 -0
  33. package/dist/src/TooltipArrow/style.d.ts +30 -0
  34. package/dist/src/TooltipArrow/style.d.ts.map +1 -0
  35. package/dist/src/TooltipArrow/type.d.ts +5 -0
  36. package/dist/src/TooltipArrow/type.d.ts.map +1 -0
  37. package/dist/src/index.d.ts +3 -0
  38. package/dist/src/index.d.ts.map +1 -0
  39. package/dist/src/style.d.ts +19 -0
  40. package/dist/src/style.d.ts.map +1 -0
  41. package/dist/src/type.d.ts +22 -0
  42. package/dist/src/type.d.ts.map +1 -0
  43. package/dist/stats.html +4838 -0
  44. package/dist/stories/Tooltiip.stories.d.ts +10 -0
  45. package/dist/stories/Tooltiip.stories.d.ts.map +1 -0
  46. package/package.json +46 -0
@@ -0,0 +1,2 @@
1
+ "use strict";var r=require("tslib"),e=require("react/jsx-runtime"),t=require("react"),n=require("@cleartrip/ct-design-use-theme"),i=require("@cleartrip/ct-design-container"),o=require("styled-components"),a=require("@cleartrip/ct-design-icons"),s=require("@cleartrip/ct-design-portal"),d=require("@cleartrip/ct-design-conditional-wrap"),c=require("@cleartrip/ct-design-use-merge-refs"),l=require("@cleartrip/ct-design-use-isomorphic-effect"),u=require("@cleartrip/ct-design-transition");function g(r){return r&&r.__esModule?r:{default:r}}var f,p=g(t),h=g(n),m=g(o),w=g(d),x=g(c),_=g(l);exports.ArrowDirection=void 0,(f=exports.ArrowDirection||(exports.ArrowDirection={})).LEFT="left",f.RIGHT="right",f.UP="up",f.DOWN="down";var v,b=m.default.div((function(e){var t=e.theme;return function(e){var t=e.backgroundColor,n=e.width,i=e.theme,a=e.borderRadius;return o.css(v||(v=r.__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 "])),t,a,n,i.spacing[1],i.spacing[1],i.spacing[2],i.spacing[2])}({backgroundColor:e.backgroundColor,width:e.width,theme:t,borderRadius:e.borderRadius})})),D=function(e){var t=e.arrowPosition;return r.__assign({},function(r){switch(r){case exports.ArrowDirection.DOWN:return{transform:"rotate(0deg)"};case exports.ArrowDirection.UP:return{transform:"rotate(180deg)"};case exports.ArrowDirection.LEFT:return{marginRight:"-6px",transform:"rotate(90deg)"};case exports.ArrowDirection.RIGHT:return{marginLeft:"-6px",transform:"rotate(-90deg)"};default:return{transform:"rotate(0deg)"}}}(t))},R=m.default.div((function(r){return function(r){return r.theme,{display:"flex",alignItems:"center",transform:r.transform,marginLeft:r.marginLeft,marginRight:r.marginRight}}({theme:r.theme,transform:r.transform,marginLeft:r.marginLeft,marginRight:r.marginRight})})),j=function(t){h.default();var n=D(t);return e.jsx(R,r.__assign({},n,{children:e.jsx(a.TooltipChevronDown,{})}))},A=t.forwardRef((function(n,o){var a=n.width,d=void 0===a?"":a,c=n.arrowPosition,l=void 0===c?exports.ArrowDirection.UP:c,g=n.children,f=void 0===g?null:g,m=n.container,v=n.open,D=void 0!==v&&v,R=n.showInPortal,A=void 0===R||R,q=n.as,y=void 0===q?"div":q,P=n.layoutDiff,C=void 0===P?{left:0,top:0}:P,T=h.default(),I=t.useRef(null),L=t.useRef(null),k=t.useState({left:0,top:0}),E=k[0],M=k[1],O=x.default(o,L);_.default((function(){if(I.current&&L.current){var r=I.current.getBoundingClientRect(),e=L.current.getBoundingClientRect(),t=0,n=0;"left"!==l&&"right"!==l||(t="right"===l?-e.width:C.left+r.width,n=-4),"up"!==l&&"down"!==l||(n="down"===l?-e.height:e.height,t=8);var i=Math.abs(r.left+t),o=Math.abs(r.top+C.top+n);(Math.abs(E.left-i)>1||Math.abs(E.top-o)>1)&&M({left:i,top:o})}}),[l,M,E,D]);var U=function(e){var t=e.theme,n=e.width;return r.__assign(r.__assign({},function(r){return{backgroundColor:r.color.tooltip.primaryBg,borderRadius:r.border.radius[4]}}(t)),{width:n})}({theme:T,width:d}),F=e.jsx(b,r.__assign({},U,{children:f})),N=l===exports.ArrowDirection.DOWN?"column":"row",W=l===exports.ArrowDirection.UP?"column":"row",B=r.__assign({ref:I},m.props);return e.jsxs(e.Fragment,{children:[D?e.jsx(w.default,r.__assign({condition:A,wrap:function(r){return e.jsx(s.Portal,{children:r})}},{children:e.jsx(u.Transition,r.__assign({type:"fade",in:D},{children:e.jsxs(i.Container,r.__assign({as:y,position:"absolute",ref:O,left:E.left,top:E.top,zIndex:T.zIndex.tooltip},{children:[(l===exports.ArrowDirection.DOWN||l===exports.ArrowDirection.RIGHT)&&e.jsxs(i.Container,r.__assign({display:"flex",alignItems:"center",flexDirection:N},{children:[F,e.jsx(j,{arrowPosition:l})]})),(l===exports.ArrowDirection.UP||l===exports.ArrowDirection.LEFT)&&e.jsxs(i.Container,r.__assign({display:"flex",alignItems:"center",flexDirection:W},{children:[e.jsx(j,{arrowPosition:l}),F]}))]}))}))})):null,p.default.isValidElement(m)?p.default.cloneElement(m,B):m]})}));exports.Tooltip=A;
2
+ //# sourceMappingURL=ct-design-tooltip.browser.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ct-design-tooltip.browser.cjs.js","sources":["../../packages/components/Tooltip/src/type.ts","../../packages/components/Tooltip/src/style.ts","../../packages/components/Tooltip/src/StyledTooltip/StyledTooltip.tsx","../../packages/components/Tooltip/src/StyledTooltip/style.ts","../../packages/components/Tooltip/src/TooltipArrow/style.ts","../../packages/components/Tooltip/src/TooltipArrow/StyledTooltipArrow/StyledTooltipArrow.tsx","../../packages/components/Tooltip/src/TooltipArrow/StyledTooltipArrow/style.ts","../../packages/components/Tooltip/src/TooltipArrow/TooltipArrow.tsx","../../packages/components/Tooltip/src/Tooltip.tsx"],"sourcesContent":[null,null,null,null,null,null,null,null,null],"names":["ArrowDirection","StyledTooltip","styled","default","div","_a","theme","backgroundColor","width","borderRadius","css","spacing","getStyledTooltipStyles","getTooltipArrowStyles","arrowPosition","__assign","DOWN","transform","UP","LEFT","marginRight","RIGHT","marginLeft","arrowStyle","StyledTooltipArrow","display","alignItems","getStyledTooltipArrowStyles","TooltipArrow","useTheme","tooltipArrow","_jsx","children","jsx","TooltipChevronDown","Tooltip","forwardRef","forwardedRef","_b","_c","_d","container","_e","open","_f","showInPortal","_g","as","_h","layoutDiff","left","top","ref","useRef","containerRef","_j","useState","childStyle","setChildStyle","mergedRef","useMergeRefs","useIsomorphicEffect","current","childMeta","getBoundingClientRect","containerMeta","leftDiff","topDiff","height","dLeft","Math","abs","dTop","tooltipStyles","color","tooltip","primaryBg","border","radius","getDefaultTooltipStyles","getTooltipStyles","tooltipBody","downRightFlex","topLeftFlex","containerProps","props","_jsxs","ConditionalWrap","condition","wrap","Portal","Transition","type","in","jsxs","Container","position","zIndex","flexDirection","React","isValidElement","cloneElement"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import{__assign as r,__makeTemplateObject as t}from"tslib";import{jsx as n,jsxs as e,Fragment as i}from"react/jsx-runtime";import o,{forwardRef as a,useRef as d,useState as c}from"react";import l from"@cleartrip/ct-design-use-theme";import{Container as s}from"@cleartrip/ct-design-container";import f,{css as m}from"styled-components";import{TooltipChevronDown as p}from"@cleartrip/ct-design-icons";import{Portal as g}from"@cleartrip/ct-design-portal";import u from"@cleartrip/ct-design-conditional-wrap";import h from"@cleartrip/ct-design-use-merge-refs";import w from"@cleartrip/ct-design-use-isomorphic-effect";import{Transition as b}from"@cleartrip/ct-design-transition";var v;!function(r){r.LEFT="left",r.RIGHT="right",r.UP="up",r.DOWN="down"}(v||(v={}));var R,x=f.div((function(r){var n=r.theme;return function(r){var n=r.backgroundColor,e=r.width,i=r.theme,o=r.borderRadius;return m(R||(R=t(["\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 "])),n,o,e,i.spacing[1],i.spacing[1],i.spacing[2],i.spacing[2])}({backgroundColor:r.backgroundColor,width:r.width,theme:n,borderRadius:r.borderRadius})})),y=function(t){var n=t.arrowPosition;return r({},function(r){switch(r){case v.DOWN:return{transform:"rotate(0deg)"};case v.UP:return{transform:"rotate(180deg)"};case v.LEFT:return{marginRight:"-6px",transform:"rotate(90deg)"};case v.RIGHT:return{marginLeft:"-6px",transform:"rotate(-90deg)"};default:return{transform:"rotate(0deg)"}}}(n))},P=f.div((function(r){return function(r){return r.theme,{display:"flex",alignItems:"center",transform:r.transform,marginLeft:r.marginLeft,marginRight:r.marginRight}}({theme:r.theme,transform:r.transform,marginLeft:r.marginLeft,marginRight:r.marginRight})})),I=function(t){l();var e=y(t);return n(P,r({},e,{children:n(p,{})}))},L=a((function(t,a){var f=t.width,m=void 0===f?"":f,p=t.arrowPosition,R=void 0===p?v.UP:p,y=t.children,P=void 0===y?null:y,L=t.container,D=t.open,k=void 0!==D&&D,C=t.showInPortal,T=void 0===C||C,E=t.as,U=void 0===E?"div":E,M=t.layoutDiff,N=void 0===M?{left:0,top:0}:M,O=l(),W=d(null),j=d(null),B=c({left:0,top:0}),F=B[0],G=B[1],H=h(a,j);w((function(){if(W.current&&j.current){var r=W.current.getBoundingClientRect(),t=j.current.getBoundingClientRect(),n=0,e=0;"left"!==R&&"right"!==R||(n="right"===R?-t.width:N.left+r.width,e=-4),"up"!==R&&"down"!==R||(e="down"===R?-t.height:t.height,n=8);var i=Math.abs(r.left+n),o=Math.abs(r.top+N.top+e);(Math.abs(F.left-i)>1||Math.abs(F.top-o)>1)&&G({left:i,top:o})}}),[R,G,F,k]);var z=function(t){var n=t.theme,e=t.width;return r(r({},function(r){return{backgroundColor:r.color.tooltip.primaryBg,borderRadius:r.border.radius[4]}}(n)),{width:e})}({theme:O,width:m}),V=n(x,r({},z,{children:P})),q=R===v.DOWN?"column":"row",A=R===v.UP?"column":"row",J=r({ref:W},L.props);return e(i,{children:[k?n(u,r({condition:T,wrap:function(r){return n(g,{children:r})}},{children:n(b,r({type:"fade",in:k},{children:e(s,r({as:U,position:"absolute",ref:H,left:F.left,top:F.top,zIndex:O.zIndex.tooltip},{children:[(R===v.DOWN||R===v.RIGHT)&&e(s,r({display:"flex",alignItems:"center",flexDirection:q},{children:[V,n(I,{arrowPosition:R})]})),(R===v.UP||R===v.LEFT)&&e(s,r({display:"flex",alignItems:"center",flexDirection:A},{children:[n(I,{arrowPosition:R}),V]}))]}))}))})):null,o.isValidElement(L)?o.cloneElement(L,J):L]})}));export{v as ArrowDirection,L as Tooltip};
2
+ //# sourceMappingURL=ct-design-tooltip.browser.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ct-design-tooltip.browser.esm.js","sources":["../../packages/components/Tooltip/src/type.ts","../../packages/components/Tooltip/src/style.ts","../../packages/components/Tooltip/src/StyledTooltip/StyledTooltip.tsx","../../packages/components/Tooltip/src/StyledTooltip/style.ts","../../packages/components/Tooltip/src/TooltipArrow/style.ts","../../packages/components/Tooltip/src/TooltipArrow/StyledTooltipArrow/StyledTooltipArrow.tsx","../../packages/components/Tooltip/src/TooltipArrow/StyledTooltipArrow/style.ts","../../packages/components/Tooltip/src/TooltipArrow/TooltipArrow.tsx","../../packages/components/Tooltip/src/Tooltip.tsx"],"sourcesContent":[null,null,null,null,null,null,null,null,null],"names":["ArrowDirection","StyledTooltip","styled","div","_a","theme","backgroundColor","width","borderRadius","css","spacing","getStyledTooltipStyles","getTooltipArrowStyles","arrowPosition","__assign","DOWN","transform","UP","LEFT","marginRight","RIGHT","marginLeft","arrowStyle","StyledTooltipArrow","display","alignItems","getStyledTooltipArrowStyles","TooltipArrow","useTheme","tooltipArrow","_jsx","children","TooltipChevronDown","Tooltip","forwardRef","forwardedRef","_b","_c","_d","container","_e","open","_f","showInPortal","_g","as","_h","layoutDiff","left","top","ref","useRef","containerRef","_j","useState","childStyle","setChildStyle","mergedRef","useMergeRefs","useIsomorphicEffect","current","childMeta","getBoundingClientRect","containerMeta","leftDiff","topDiff","height","dLeft","Math","abs","dTop","tooltipStyles","color","tooltip","primaryBg","border","radius","getDefaultTooltipStyles","getTooltipStyles","tooltipBody","downRightFlex","topLeftFlex","containerProps","props","_jsxs","ConditionalWrap","condition","wrap","Portal","Transition","type","in","Container","position","zIndex","flexDirection","React","isValidElement","cloneElement"],"mappings":"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"}
@@ -0,0 +1,160 @@
1
+ 'use strict';
2
+
3
+ var tslib = require('tslib');
4
+ var jsxRuntime = require('react/jsx-runtime');
5
+ var React = require('react');
6
+ var useTheme = require('@cleartrip/ct-design-use-theme');
7
+ var ctDesignContainer = require('@cleartrip/ct-design-container');
8
+ var styled = require('styled-components');
9
+ var ctDesignIcons = require('@cleartrip/ct-design-icons');
10
+ var ctDesignPortal = require('@cleartrip/ct-design-portal');
11
+ var ConditionalWrap = require('@cleartrip/ct-design-conditional-wrap');
12
+ var useMergeRefs = require('@cleartrip/ct-design-use-merge-refs');
13
+ var useIsomorphicEffect = require('@cleartrip/ct-design-use-isomorphic-effect');
14
+ var ctDesignTransition = require('@cleartrip/ct-design-transition');
15
+
16
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
17
+
18
+ var React__default = /*#__PURE__*/_interopDefault(React);
19
+ var useTheme__default = /*#__PURE__*/_interopDefault(useTheme);
20
+ var styled__default = /*#__PURE__*/_interopDefault(styled);
21
+ var ConditionalWrap__default = /*#__PURE__*/_interopDefault(ConditionalWrap);
22
+ var useMergeRefs__default = /*#__PURE__*/_interopDefault(useMergeRefs);
23
+ var useIsomorphicEffect__default = /*#__PURE__*/_interopDefault(useIsomorphicEffect);
24
+
25
+ exports.ArrowDirection = void 0;
26
+ (function (ArrowDirection) {
27
+ ArrowDirection["LEFT"] = "left";
28
+ ArrowDirection["RIGHT"] = "right";
29
+ ArrowDirection["UP"] = "up";
30
+ ArrowDirection["DOWN"] = "down";
31
+ })(exports.ArrowDirection || (exports.ArrowDirection = {}));
32
+
33
+ var getDefaultTooltipStyles = function (theme) {
34
+ return {
35
+ backgroundColor: theme.color.tooltip.primaryBg,
36
+ borderRadius: theme.border.radius[4],
37
+ };
38
+ };
39
+ var getTooltipStyles = function (_a) {
40
+ var theme = _a.theme, width = _a.width;
41
+ return tslib.__assign(tslib.__assign({}, getDefaultTooltipStyles(theme)), { width: width });
42
+ };
43
+
44
+ var getStyledTooltipStyles = function (_a) {
45
+ var backgroundColor = _a.backgroundColor, width = _a.width, theme = _a.theme, borderRadius = _a.borderRadius;
46
+ return styled.css(templateObject_1 || (templateObject_1 = tslib.__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]);
47
+ };
48
+ var templateObject_1;
49
+
50
+ var StyledTooltip = styled__default.default.div(function (_a) {
51
+ var theme = _a.theme, backgroundColor = _a.backgroundColor, width = _a.width, borderRadius = _a.borderRadius;
52
+ return getStyledTooltipStyles({
53
+ backgroundColor: backgroundColor,
54
+ width: width,
55
+ theme: theme,
56
+ borderRadius: borderRadius,
57
+ });
58
+ });
59
+
60
+ var arrowStyle = function (arrowPosition) {
61
+ switch (arrowPosition) {
62
+ case exports.ArrowDirection.DOWN: {
63
+ return {
64
+ transform: 'rotate(0deg)',
65
+ };
66
+ }
67
+ case exports.ArrowDirection.UP: {
68
+ return {
69
+ transform: 'rotate(180deg)',
70
+ };
71
+ }
72
+ case exports.ArrowDirection.LEFT: {
73
+ return {
74
+ marginRight: '-6px',
75
+ transform: 'rotate(90deg)',
76
+ };
77
+ }
78
+ case exports.ArrowDirection.RIGHT: {
79
+ return {
80
+ marginLeft: '-6px',
81
+ transform: 'rotate(-90deg)',
82
+ };
83
+ }
84
+ default: {
85
+ return {
86
+ transform: 'rotate(0deg)',
87
+ };
88
+ }
89
+ }
90
+ };
91
+ var getTooltipArrowStyles = function (_a) {
92
+ var arrowPosition = _a.arrowPosition;
93
+ return tslib.__assign({}, arrowStyle(arrowPosition));
94
+ };
95
+
96
+ var getStyledTooltipArrowStyles = function (_a) {
97
+ _a.theme; var transform = _a.transform, marginLeft = _a.marginLeft, marginRight = _a.marginRight;
98
+ return {
99
+ display: 'flex',
100
+ alignItems: 'center',
101
+ transform: transform,
102
+ marginLeft: marginLeft,
103
+ marginRight: marginRight,
104
+ };
105
+ };
106
+
107
+ var StyledTooltipArrow = styled__default.default.div(function (_a) {
108
+ var theme = _a.theme, transform = _a.transform, marginLeft = _a.marginLeft, marginRight = _a.marginRight;
109
+ return getStyledTooltipArrowStyles({
110
+ theme: theme,
111
+ transform: transform,
112
+ marginLeft: marginLeft,
113
+ marginRight: marginRight,
114
+ });
115
+ });
116
+
117
+ var TooltipArrow = function (arrowPosition) {
118
+ useTheme__default.default();
119
+ var tooltipArrow = getTooltipArrowStyles(arrowPosition);
120
+ return (jsxRuntime.jsx(StyledTooltipArrow, tslib.__assign({}, tooltipArrow, { children: jsxRuntime.jsx(ctDesignIcons.TooltipChevronDown, {}) })));
121
+ };
122
+
123
+ var Tooltip = React.forwardRef(function (_a, forwardedRef) {
124
+ var _b = _a.width, width = _b === void 0 ? '' : _b, _c = _a.arrowPosition, arrowPosition = _c === void 0 ? exports.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;
125
+ var theme = useTheme__default.default();
126
+ var ref = React.useRef(null);
127
+ var containerRef = React.useRef(null);
128
+ var _j = React.useState({ left: 0, top: 0 }), childStyle = _j[0], setChildStyle = _j[1];
129
+ var mergedRef = useMergeRefs__default.default(forwardedRef, containerRef);
130
+ useIsomorphicEffect__default.default(function () {
131
+ if (ref.current && containerRef.current) {
132
+ var childMeta = ref.current.getBoundingClientRect();
133
+ var containerMeta = containerRef.current.getBoundingClientRect();
134
+ var leftDiff = 0;
135
+ var topDiff = 0;
136
+ if (arrowPosition === 'left' || arrowPosition === 'right') {
137
+ leftDiff = arrowPosition === 'right' ? -containerMeta.width : layoutDiff.left + childMeta.width;
138
+ topDiff = -4;
139
+ }
140
+ if (arrowPosition === 'up' || arrowPosition === 'down') {
141
+ topDiff = arrowPosition === 'down' ? -containerMeta.height : containerMeta.height;
142
+ leftDiff = 8;
143
+ }
144
+ var dLeft = Math.abs(childMeta.left + leftDiff);
145
+ var dTop = Math.abs(childMeta.top + layoutDiff.top + topDiff);
146
+ if (Math.abs(childStyle.left - dLeft) > 1 || Math.abs(childStyle.top - dTop) > 1) {
147
+ setChildStyle({ left: dLeft, top: dTop });
148
+ }
149
+ }
150
+ }, [arrowPosition, setChildStyle, childStyle, open]);
151
+ var tooltipStyles = getTooltipStyles({ theme: theme, width: width });
152
+ var tooltipBody = jsxRuntime.jsx(StyledTooltip, tslib.__assign({}, tooltipStyles, { children: children }));
153
+ var downRightFlex = arrowPosition === exports.ArrowDirection.DOWN ? 'column' : 'row';
154
+ var topLeftFlex = arrowPosition === exports.ArrowDirection.UP ? 'column' : 'row';
155
+ var containerProps = tslib.__assign({ ref: ref }, container.props);
156
+ return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [open ? (jsxRuntime.jsx(ConditionalWrap__default.default, tslib.__assign({ condition: showInPortal, wrap: function (children) { return jsxRuntime.jsx(ctDesignPortal.Portal, { children: children }); } }, { children: jsxRuntime.jsx(ctDesignTransition.Transition, tslib.__assign({ type: 'fade', in: open }, { children: jsxRuntime.jsxs(ctDesignContainer.Container, tslib.__assign({ as: as, position: 'absolute', ref: mergedRef, left: childStyle.left, top: childStyle.top, zIndex: theme.zIndex.tooltip }, { children: [(arrowPosition === exports.ArrowDirection.DOWN || arrowPosition === exports.ArrowDirection.RIGHT) && (jsxRuntime.jsxs(ctDesignContainer.Container, tslib.__assign({ display: 'flex', alignItems: 'center', flexDirection: downRightFlex }, { children: [tooltipBody, jsxRuntime.jsx(TooltipArrow, { arrowPosition: arrowPosition })] }))), (arrowPosition === exports.ArrowDirection.UP || arrowPosition === exports.ArrowDirection.LEFT) && (jsxRuntime.jsxs(ctDesignContainer.Container, tslib.__assign({ display: 'flex', alignItems: 'center', flexDirection: topLeftFlex }, { children: [jsxRuntime.jsx(TooltipArrow, { arrowPosition: arrowPosition }), tooltipBody] })))] })) })) }))) : null, React__default.default.isValidElement(container) ? React__default.default.cloneElement(container, containerProps) : container] }));
157
+ });
158
+
159
+ exports.Tooltip = Tooltip;
160
+ //# sourceMappingURL=ct-design-tooltip.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ct-design-tooltip.cjs.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":["ArrowDirection","__assign","css","styled","useTheme","_jsx","TooltipChevronDown","forwardRef","useRef","useState","useMergeRefs","useIsomorphicEffect","_jsxs","ConditionalWrap","Portal","Transition","Container","React"],"mappings":"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"}
@@ -0,0 +1,149 @@
1
+ import { __assign, __makeTemplateObject } from 'tslib';
2
+ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
3
+ import React, { forwardRef, useRef, useState } from 'react';
4
+ import useTheme from '@cleartrip/ct-design-use-theme';
5
+ 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';
12
+ import { Transition } from '@cleartrip/ct-design-transition';
13
+
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 = {}));
21
+
22
+ var getDefaultTooltipStyles = function (theme) {
23
+ return {
24
+ backgroundColor: theme.color.tooltip.primaryBg,
25
+ borderRadius: theme.border.radius[4],
26
+ };
27
+ };
28
+ var getTooltipStyles = function (_a) {
29
+ var theme = _a.theme, width = _a.width;
30
+ return __assign(__assign({}, getDefaultTooltipStyles(theme)), { width: width });
31
+ };
32
+
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]);
36
+ };
37
+ var templateObject_1;
38
+
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
+ });
47
+ });
48
+
49
+ var arrowStyle = function (arrowPosition) {
50
+ switch (arrowPosition) {
51
+ case ArrowDirection.DOWN: {
52
+ return {
53
+ transform: 'rotate(0deg)',
54
+ };
55
+ }
56
+ case ArrowDirection.UP: {
57
+ return {
58
+ transform: 'rotate(180deg)',
59
+ };
60
+ }
61
+ case ArrowDirection.LEFT: {
62
+ return {
63
+ marginRight: '-6px',
64
+ transform: 'rotate(90deg)',
65
+ };
66
+ }
67
+ case ArrowDirection.RIGHT: {
68
+ return {
69
+ marginLeft: '-6px',
70
+ transform: 'rotate(-90deg)',
71
+ };
72
+ }
73
+ default: {
74
+ return {
75
+ transform: 'rotate(0deg)',
76
+ };
77
+ }
78
+ }
79
+ };
80
+ var getTooltipArrowStyles = function (_a) {
81
+ var arrowPosition = _a.arrowPosition;
82
+ return __assign({}, arrowStyle(arrowPosition));
83
+ };
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
+ };
94
+ };
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 (arrowPosition) {
107
+ useTheme();
108
+ var tooltipArrow = getTooltipArrowStyles(arrowPosition);
109
+ return (jsx(StyledTooltipArrow, __assign({}, tooltipArrow, { children: jsx(TooltipChevronDown, {}) })));
110
+ };
111
+
112
+ var Tooltip = forwardRef(function (_a, forwardedRef) {
113
+ 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;
114
+ var theme = useTheme();
115
+ var ref = useRef(null);
116
+ var containerRef = useRef(null);
117
+ var _j = useState({ left: 0, top: 0 }), childStyle = _j[0], setChildStyle = _j[1];
118
+ var mergedRef = useMergeRefs(forwardedRef, containerRef);
119
+ useIsomorphicEffect(function () {
120
+ if (ref.current && containerRef.current) {
121
+ var childMeta = ref.current.getBoundingClientRect();
122
+ var containerMeta = containerRef.current.getBoundingClientRect();
123
+ var leftDiff = 0;
124
+ var topDiff = 0;
125
+ if (arrowPosition === 'left' || arrowPosition === 'right') {
126
+ leftDiff = arrowPosition === 'right' ? -containerMeta.width : layoutDiff.left + childMeta.width;
127
+ topDiff = -4;
128
+ }
129
+ if (arrowPosition === 'up' || arrowPosition === 'down') {
130
+ topDiff = arrowPosition === 'down' ? -containerMeta.height : containerMeta.height;
131
+ leftDiff = 8;
132
+ }
133
+ var dLeft = Math.abs(childMeta.left + leftDiff);
134
+ var dTop = Math.abs(childMeta.top + layoutDiff.top + topDiff);
135
+ if (Math.abs(childStyle.left - dLeft) > 1 || Math.abs(childStyle.top - dTop) > 1) {
136
+ setChildStyle({ left: dLeft, top: dTop });
137
+ }
138
+ }
139
+ }, [arrowPosition, setChildStyle, childStyle, open]);
140
+ var tooltipStyles = getTooltipStyles({ theme: theme, width: width });
141
+ var tooltipBody = jsx(StyledTooltip, __assign({}, tooltipStyles, { children: children }));
142
+ var downRightFlex = arrowPosition === ArrowDirection.DOWN ? 'column' : 'row';
143
+ var topLeftFlex = arrowPosition === ArrowDirection.UP ? 'column' : 'row';
144
+ var containerProps = __assign({ ref: ref }, container.props);
145
+ 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 }, { children: [(arrowPosition === ArrowDirection.DOWN || arrowPosition === ArrowDirection.RIGHT) && (jsxs(Container, __assign({ display: 'flex', alignItems: 'center', flexDirection: downRightFlex }, { children: [tooltipBody, jsx(TooltipArrow, { arrowPosition: arrowPosition })] }))), (arrowPosition === ArrowDirection.UP || arrowPosition === ArrowDirection.LEFT) && (jsxs(Container, __assign({ display: 'flex', alignItems: 'center', flexDirection: topLeftFlex }, { children: [jsx(TooltipArrow, { arrowPosition: arrowPosition }), tooltipBody] })))] })) })) }))) : null, React.isValidElement(container) ? React.cloneElement(container, containerProps) : container] }));
146
+ });
147
+
148
+ export { ArrowDirection, Tooltip };
149
+ //# sourceMappingURL=ct-design-tooltip.esm.js.map
@@ -0,0 +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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"}
@@ -0,0 +1,194 @@
1
+ (function (global, factory) {
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('react/jsx-runtime'), require('react'), require('@cleartrip/ct-design-use-theme'), require('@cleartrip/ct-design-container'), require('styled-components'), require('@cleartrip/ct-design-icons'), require('@cleartrip/ct-design-portal'), require('@cleartrip/ct-design-conditional-wrap'), require('@cleartrip/ct-design-use-merge-refs'), require('@cleartrip/ct-design-use-isomorphic-effect'), require('@cleartrip/ct-design-transition')) :
3
+ typeof define === 'function' && define.amd ? define(['exports', 'react/jsx-runtime', 'react', '@cleartrip/ct-design-use-theme', '@cleartrip/ct-design-container', 'styled-components', '@cleartrip/ct-design-icons', '@cleartrip/ct-design-portal', '@cleartrip/ct-design-conditional-wrap', '@cleartrip/ct-design-use-merge-refs', '@cleartrip/ct-design-use-isomorphic-effect', '@cleartrip/ct-design-transition'], factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.CTDesignSystemTooltip = {}, global.jsxRuntime, global.React, global.useTheme, global.ctDesignContainer, global.styled, global.ctDesignIcons, global.ctDesignPortal, global.ConditionalWrap, global.useMergeRefs, global.useIsomorphicEffect, global.ctDesignTransition));
5
+ })(this, (function (exports, jsxRuntime, React, useTheme, ctDesignContainer, styled, ctDesignIcons, ctDesignPortal, ConditionalWrap, useMergeRefs, useIsomorphicEffect, ctDesignTransition) { 'use strict';
6
+
7
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
8
+
9
+ var React__default = /*#__PURE__*/_interopDefault(React);
10
+ var useTheme__default = /*#__PURE__*/_interopDefault(useTheme);
11
+ var styled__default = /*#__PURE__*/_interopDefault(styled);
12
+ var ConditionalWrap__default = /*#__PURE__*/_interopDefault(ConditionalWrap);
13
+ var useMergeRefs__default = /*#__PURE__*/_interopDefault(useMergeRefs);
14
+ var useIsomorphicEffect__default = /*#__PURE__*/_interopDefault(useIsomorphicEffect);
15
+
16
+ /******************************************************************************
17
+ Copyright (c) Microsoft Corporation.
18
+
19
+ Permission to use, copy, modify, and/or distribute this software for any
20
+ purpose with or without fee is hereby granted.
21
+
22
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
23
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
24
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
25
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
26
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
27
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
28
+ PERFORMANCE OF THIS SOFTWARE.
29
+ ***************************************************************************** */
30
+ /* global Reflect, Promise, SuppressedError, Symbol */
31
+
32
+ var __assign = function () {
33
+ __assign = Object.assign || function __assign(t) {
34
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
35
+ s = arguments[i];
36
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
37
+ }
38
+ return t;
39
+ };
40
+ return __assign.apply(this, arguments);
41
+ };
42
+ function __makeTemplateObject(cooked, raw) {
43
+ if (Object.defineProperty) {
44
+ Object.defineProperty(cooked, "raw", {
45
+ value: raw
46
+ });
47
+ } else {
48
+ cooked.raw = raw;
49
+ }
50
+ return cooked;
51
+ }
52
+ typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
53
+ var e = new Error(message);
54
+ return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
55
+ };
56
+
57
+ exports.ArrowDirection = void 0;
58
+ (function (ArrowDirection) {
59
+ ArrowDirection["LEFT"] = "left";
60
+ ArrowDirection["RIGHT"] = "right";
61
+ ArrowDirection["UP"] = "up";
62
+ ArrowDirection["DOWN"] = "down";
63
+ })(exports.ArrowDirection || (exports.ArrowDirection = {}));
64
+
65
+ var getDefaultTooltipStyles = function (theme) {
66
+ return {
67
+ backgroundColor: theme.color.tooltip.primaryBg,
68
+ borderRadius: theme.border.radius[4],
69
+ };
70
+ };
71
+ var getTooltipStyles = function (_a) {
72
+ var theme = _a.theme, width = _a.width;
73
+ return __assign(__assign({}, getDefaultTooltipStyles(theme)), { width: width });
74
+ };
75
+
76
+ var getStyledTooltipStyles = function (_a) {
77
+ var backgroundColor = _a.backgroundColor, width = _a.width, theme = _a.theme, borderRadius = _a.borderRadius;
78
+ return styled.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]);
79
+ };
80
+ var templateObject_1;
81
+
82
+ var StyledTooltip = styled__default.default.div(function (_a) {
83
+ var theme = _a.theme, backgroundColor = _a.backgroundColor, width = _a.width, borderRadius = _a.borderRadius;
84
+ return getStyledTooltipStyles({
85
+ backgroundColor: backgroundColor,
86
+ width: width,
87
+ theme: theme,
88
+ borderRadius: borderRadius,
89
+ });
90
+ });
91
+
92
+ var arrowStyle = function (arrowPosition) {
93
+ switch (arrowPosition) {
94
+ case exports.ArrowDirection.DOWN: {
95
+ return {
96
+ transform: 'rotate(0deg)',
97
+ };
98
+ }
99
+ case exports.ArrowDirection.UP: {
100
+ return {
101
+ transform: 'rotate(180deg)',
102
+ };
103
+ }
104
+ case exports.ArrowDirection.LEFT: {
105
+ return {
106
+ marginRight: '-6px',
107
+ transform: 'rotate(90deg)',
108
+ };
109
+ }
110
+ case exports.ArrowDirection.RIGHT: {
111
+ return {
112
+ marginLeft: '-6px',
113
+ transform: 'rotate(-90deg)',
114
+ };
115
+ }
116
+ default: {
117
+ return {
118
+ transform: 'rotate(0deg)',
119
+ };
120
+ }
121
+ }
122
+ };
123
+ var getTooltipArrowStyles = function (_a) {
124
+ var arrowPosition = _a.arrowPosition;
125
+ return __assign({}, arrowStyle(arrowPosition));
126
+ };
127
+
128
+ var getStyledTooltipArrowStyles = function (_a) {
129
+ _a.theme; var transform = _a.transform, marginLeft = _a.marginLeft, marginRight = _a.marginRight;
130
+ return {
131
+ display: 'flex',
132
+ alignItems: 'center',
133
+ transform: transform,
134
+ marginLeft: marginLeft,
135
+ marginRight: marginRight,
136
+ };
137
+ };
138
+
139
+ var StyledTooltipArrow = styled__default.default.div(function (_a) {
140
+ var theme = _a.theme, transform = _a.transform, marginLeft = _a.marginLeft, marginRight = _a.marginRight;
141
+ return getStyledTooltipArrowStyles({
142
+ theme: theme,
143
+ transform: transform,
144
+ marginLeft: marginLeft,
145
+ marginRight: marginRight,
146
+ });
147
+ });
148
+
149
+ var TooltipArrow = function (arrowPosition) {
150
+ useTheme__default.default();
151
+ var tooltipArrow = getTooltipArrowStyles(arrowPosition);
152
+ return (jsxRuntime.jsx(StyledTooltipArrow, __assign({}, tooltipArrow, { children: jsxRuntime.jsx(ctDesignIcons.TooltipChevronDown, {}) })));
153
+ };
154
+
155
+ var Tooltip = React.forwardRef(function (_a, forwardedRef) {
156
+ var _b = _a.width, width = _b === void 0 ? '' : _b, _c = _a.arrowPosition, arrowPosition = _c === void 0 ? exports.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;
157
+ var theme = useTheme__default.default();
158
+ var ref = React.useRef(null);
159
+ var containerRef = React.useRef(null);
160
+ var _j = React.useState({ left: 0, top: 0 }), childStyle = _j[0], setChildStyle = _j[1];
161
+ var mergedRef = useMergeRefs__default.default(forwardedRef, containerRef);
162
+ useIsomorphicEffect__default.default(function () {
163
+ if (ref.current && containerRef.current) {
164
+ var childMeta = ref.current.getBoundingClientRect();
165
+ var containerMeta = containerRef.current.getBoundingClientRect();
166
+ var leftDiff = 0;
167
+ var topDiff = 0;
168
+ if (arrowPosition === 'left' || arrowPosition === 'right') {
169
+ leftDiff = arrowPosition === 'right' ? -containerMeta.width : layoutDiff.left + childMeta.width;
170
+ topDiff = -4;
171
+ }
172
+ if (arrowPosition === 'up' || arrowPosition === 'down') {
173
+ topDiff = arrowPosition === 'down' ? -containerMeta.height : containerMeta.height;
174
+ leftDiff = 8;
175
+ }
176
+ var dLeft = Math.abs(childMeta.left + leftDiff);
177
+ var dTop = Math.abs(childMeta.top + layoutDiff.top + topDiff);
178
+ if (Math.abs(childStyle.left - dLeft) > 1 || Math.abs(childStyle.top - dTop) > 1) {
179
+ setChildStyle({ left: dLeft, top: dTop });
180
+ }
181
+ }
182
+ }, [arrowPosition, setChildStyle, childStyle, open]);
183
+ var tooltipStyles = getTooltipStyles({ theme: theme, width: width });
184
+ var tooltipBody = jsxRuntime.jsx(StyledTooltip, __assign({}, tooltipStyles, { children: children }));
185
+ var downRightFlex = arrowPosition === exports.ArrowDirection.DOWN ? 'column' : 'row';
186
+ var topLeftFlex = arrowPosition === exports.ArrowDirection.UP ? 'column' : 'row';
187
+ var containerProps = __assign({ ref: ref }, container.props);
188
+ return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [open ? (jsxRuntime.jsx(ConditionalWrap__default.default, __assign({ condition: showInPortal, wrap: function (children) { return jsxRuntime.jsx(ctDesignPortal.Portal, { children: children }); } }, { children: jsxRuntime.jsx(ctDesignTransition.Transition, __assign({ type: 'fade', in: open }, { children: jsxRuntime.jsxs(ctDesignContainer.Container, __assign({ as: as, position: 'absolute', ref: mergedRef, left: childStyle.left, top: childStyle.top, zIndex: theme.zIndex.tooltip }, { children: [(arrowPosition === exports.ArrowDirection.DOWN || arrowPosition === exports.ArrowDirection.RIGHT) && (jsxRuntime.jsxs(ctDesignContainer.Container, __assign({ display: 'flex', alignItems: 'center', flexDirection: downRightFlex }, { children: [tooltipBody, jsxRuntime.jsx(TooltipArrow, { arrowPosition: arrowPosition })] }))), (arrowPosition === exports.ArrowDirection.UP || arrowPosition === exports.ArrowDirection.LEFT) && (jsxRuntime.jsxs(ctDesignContainer.Container, __assign({ display: 'flex', alignItems: 'center', flexDirection: topLeftFlex }, { children: [jsxRuntime.jsx(TooltipArrow, { arrowPosition: arrowPosition }), tooltipBody] })))] })) })) }))) : null, React__default.default.isValidElement(container) ? React__default.default.cloneElement(container, containerProps) : container] }));
189
+ });
190
+
191
+ exports.Tooltip = Tooltip;
192
+
193
+ }));
194
+ //# sourceMappingURL=ct-design-tooltip.umd.js.map