phx-react 1.3.1078 → 1.3.1079
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/components/ToolTip/ToolTip.d.ts +1 -0
- package/dist/cjs/components/ToolTip/ToolTip.js +79 -34
- package/dist/cjs/components/ToolTip/ToolTip.js.map +1 -1
- package/dist/esm/components/ToolTip/ToolTip.d.ts +1 -0
- package/dist/esm/components/ToolTip/ToolTip.js +80 -35
- package/dist/esm/components/ToolTip/ToolTip.js.map +1 -1
- package/package.json +1 -1
|
@@ -3,7 +3,7 @@ exports.__esModule = true;
|
|
|
3
3
|
var tslib_1 = require("tslib");
|
|
4
4
|
var react_1 = tslib_1.__importStar(require("react"));
|
|
5
5
|
var PHXTooltip = function (_a) {
|
|
6
|
-
var children = _a.children, _b = _a.className, className = _b === void 0 ? '' : _b, _c = _a.contentClassName, contentClassName = _c === void 0 ? 'max-w-[18rem]' : _c, content = _a.content, _d = _a.underLine, underLine = _d === void 0 ? false : _d, _e = _a.isDisableHover, isDisableHover = _e === void 0 ? false : _e;
|
|
6
|
+
var children = _a.children, _b = _a.className, className = _b === void 0 ? '' : _b, _c = _a.contentClassName, contentClassName = _c === void 0 ? 'max-w-[18rem]' : _c, content = _a.content, _d = _a.underLine, underLine = _d === void 0 ? false : _d, _e = _a.isDisableHover, isDisableHover = _e === void 0 ? false : _e, placement = _a.placement;
|
|
7
7
|
var contentRef = (0, react_1.useRef)(null);
|
|
8
8
|
var titleRef = (0, react_1.useRef)(null);
|
|
9
9
|
var _f = (0, react_1.useState)({
|
|
@@ -25,43 +25,85 @@ var PHXTooltip = function (_a) {
|
|
|
25
25
|
isOverFlowRight: left + width > viewportWidth - 10
|
|
26
26
|
};
|
|
27
27
|
};
|
|
28
|
-
var
|
|
29
|
-
if (!contentRef.current || !titleRef.current)
|
|
30
|
-
return;
|
|
31
|
-
var titleBounding = titleRef.current.getBoundingClientRect();
|
|
32
|
-
var contentBounding = contentRef.current.getBoundingClientRect();
|
|
28
|
+
var getPositionProps = function (position, titleBounding, contentBounding) {
|
|
33
29
|
var titleTop = titleBounding.top;
|
|
34
30
|
var titleLeft = titleBounding.left;
|
|
35
31
|
var titleWidth = titleBounding.width;
|
|
36
32
|
var titleHeight = titleBounding.height;
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
33
|
+
switch (position) {
|
|
34
|
+
case 'top':
|
|
35
|
+
return {
|
|
36
|
+
width: contentBounding.width,
|
|
37
|
+
height: contentBounding.height,
|
|
38
|
+
top: titleTop - contentBounding.height - 10,
|
|
39
|
+
left: titleLeft - contentBounding.width / 2 + titleWidth / 2,
|
|
40
|
+
pos: 'top'
|
|
41
|
+
};
|
|
42
|
+
case 'bottom':
|
|
43
|
+
return {
|
|
44
|
+
width: contentBounding.width,
|
|
45
|
+
height: contentBounding.height,
|
|
46
|
+
top: titleTop + titleHeight + 10,
|
|
47
|
+
left: titleLeft - contentBounding.width / 2 + titleWidth / 2,
|
|
48
|
+
pos: 'bottom'
|
|
49
|
+
};
|
|
50
|
+
case 'left':
|
|
51
|
+
return {
|
|
52
|
+
width: contentBounding.width,
|
|
53
|
+
height: contentBounding.height,
|
|
54
|
+
top: titleTop - contentBounding.height / 2 + titleHeight / 2,
|
|
55
|
+
left: titleLeft - contentBounding.width - 20,
|
|
56
|
+
pos: 'left'
|
|
57
|
+
};
|
|
58
|
+
case 'right':
|
|
59
|
+
return {
|
|
60
|
+
width: contentBounding.width,
|
|
61
|
+
height: contentBounding.height,
|
|
62
|
+
top: titleTop - contentBounding.height / 2 + titleHeight / 2,
|
|
63
|
+
left: titleLeft + titleWidth + 20,
|
|
64
|
+
pos: 'right'
|
|
65
|
+
};
|
|
66
|
+
default:
|
|
67
|
+
return {
|
|
68
|
+
width: contentBounding.width,
|
|
69
|
+
height: contentBounding.height,
|
|
70
|
+
top: titleTop - contentBounding.height - 10,
|
|
71
|
+
left: titleLeft - contentBounding.width / 2 + titleWidth / 2,
|
|
72
|
+
pos: 'top'
|
|
73
|
+
};
|
|
53
74
|
}
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
75
|
+
};
|
|
76
|
+
var calculateTooltipPosition = (0, react_1.useCallback)(function () {
|
|
77
|
+
if (!contentRef.current || !titleRef.current)
|
|
78
|
+
return;
|
|
79
|
+
var titleBounding = titleRef.current.getBoundingClientRect();
|
|
80
|
+
var contentBounding = contentRef.current.getBoundingClientRect();
|
|
81
|
+
var newProps = getPositionProps(placement || 'top', titleBounding, contentBounding);
|
|
82
|
+
var overflowDirections = getOverflowDirections(newProps);
|
|
83
|
+
if (placement === 'top' && overflowDirections.isOverFlowTop) {
|
|
84
|
+
newProps = getPositionProps('bottom', titleBounding, contentBounding);
|
|
85
|
+
}
|
|
86
|
+
else if (placement === 'bottom' && overflowDirections.isOverFlowBottom) {
|
|
87
|
+
newProps = getPositionProps('top', titleBounding, contentBounding);
|
|
88
|
+
}
|
|
89
|
+
else if (placement === 'left' && overflowDirections.isOverFlowLeft) {
|
|
90
|
+
newProps = getPositionProps('right', titleBounding, contentBounding);
|
|
91
|
+
}
|
|
92
|
+
else if (placement === 'right' && overflowDirections.isOverFlowRight) {
|
|
93
|
+
newProps = getPositionProps('left', titleBounding, contentBounding);
|
|
94
|
+
}
|
|
95
|
+
var finalOverflow = getOverflowDirections(newProps);
|
|
96
|
+
if ((newProps.pos === 'top' || newProps.pos === 'bottom') &&
|
|
97
|
+
(finalOverflow.isOverFlowLeft || finalOverflow.isOverFlowRight)) {
|
|
98
|
+
if (finalOverflow.isOverFlowLeft) {
|
|
99
|
+
newProps = getPositionProps('right', titleBounding, contentBounding);
|
|
100
|
+
}
|
|
101
|
+
else if (finalOverflow.isOverFlowRight) {
|
|
102
|
+
newProps = getPositionProps('left', titleBounding, contentBounding);
|
|
103
|
+
}
|
|
62
104
|
}
|
|
63
105
|
setContentProps(function (prev) { return (tslib_1.__assign(tslib_1.__assign({}, prev), newProps)); });
|
|
64
|
-
};
|
|
106
|
+
}, [placement]);
|
|
65
107
|
var handleMouseEnter = function () {
|
|
66
108
|
setContentProps(function (prev) { return (tslib_1.__assign(tslib_1.__assign({}, prev), { show: true })); });
|
|
67
109
|
calculateTooltipPosition();
|
|
@@ -81,7 +123,7 @@ var PHXTooltip = function (_a) {
|
|
|
81
123
|
return function () {
|
|
82
124
|
cancelAnimationFrame(animationFrameId);
|
|
83
125
|
};
|
|
84
|
-
}, [contentProps.show]);
|
|
126
|
+
}, [contentProps.show, calculateTooltipPosition]);
|
|
85
127
|
return (react_1["default"].createElement("div", { className: "relative w-fit text-xs font-normal text-gray-600 ".concat(underLine && 'border-b-2 border-dotted border-[#B5B5B5] pb-[1px]', " ").concat(className), onMouseEnter: handleMouseEnter, onMouseLeave: handleMouseLeave },
|
|
86
128
|
content && (react_1["default"].createElement("div", { className: "fixed z-20 mb-2 flex transform flex-col items-center justify-center drop-shadow-md transition-opacity duration-200 ".concat(contentProps.show ? 'visible opacity-100' : 'invisible opacity-0'), style: {
|
|
87
129
|
top: contentProps.top,
|
|
@@ -91,16 +133,19 @@ var PHXTooltip = function (_a) {
|
|
|
91
133
|
contentProps.pos === 'top' && (react_1["default"].createElement("svg", { className: 'absolute -bottom-[10px] rotate-180 w-full', fill: 'none', height: '16', viewBox: '0 0 20 16', width: '20', xmlns: 'http://www.w3.org/2000/svg' },
|
|
92
134
|
react_1["default"].createElement("path", { d: 'M10.6082 1.2699L17.3135 10.5611C17.6715 11.0571 17.3171 11.75 16.7053 11.75H3.29465C2.68295 11.75 2.32852 11.0571 2.68649 10.5611L9.39184 1.2699C9.69119 0.855102 10.3088 0.855102 10.6082 1.2699Z', fill: 'white', stroke: '#D1D5DB', strokeWidth: '1' }),
|
|
93
135
|
react_1["default"].createElement("rect", { fill: 'white', height: '3', rx: '1.5', width: '16', x: '2', y: '10' }))),
|
|
136
|
+
contentProps.pos === 'bottom' && (react_1["default"].createElement("svg", { className: 'absolute -top-[10px] w-full', fill: 'none', height: '16', viewBox: '0 0 20 16', width: '20', xmlns: 'http://www.w3.org/2000/svg' },
|
|
137
|
+
react_1["default"].createElement("path", { d: 'M10.6082 1.2699L17.3135 10.5611C17.6715 11.0571 17.3171 11.75 16.7053 11.75H3.29465C2.68295 11.75 2.32852 11.0571 2.68649 10.5611L9.39184 1.2699C9.69119 0.855102 10.3088 0.855102 10.6082 1.2699Z', fill: 'white', stroke: '#D1D5DB', strokeWidth: '1' }),
|
|
138
|
+
react_1["default"].createElement("rect", { fill: 'white', height: '3', rx: '1.5', width: '16', x: '2', y: '10' }))),
|
|
94
139
|
contentProps.pos === 'left' && (react_1["default"].createElement("svg", { className: 'absolute -right-[12px] rotate-90', fill: 'none', height: '16', viewBox: '0 0 20 16', width: '20', xmlns: 'http://www.w3.org/2000/svg' },
|
|
95
140
|
react_1["default"].createElement("path", { d: 'M10.6082 1.2699L17.3135 10.5611C17.6715 11.0571 17.3171 11.75 16.7053 11.75H3.29465C2.68295 11.75 2.32852 11.0571 2.68649 10.5611L9.39184 1.2699C9.69119 0.855102 10.3088 0.855102 10.6082 1.2699Z', fill: 'white', stroke: '#D1D5DB', strokeWidth: '1' }),
|
|
96
141
|
react_1["default"].createElement("rect", { fill: 'white', height: '3', rx: '1.5', width: '16', x: '2', y: '10' }))),
|
|
97
142
|
contentProps.pos === 'right' && (react_1["default"].createElement("svg", { className: 'absolute -left-[12px] -rotate-90', fill: 'none', height: '16', viewBox: '0 0 20 16', width: '20', xmlns: 'http://www.w3.org/2000/svg' },
|
|
98
143
|
react_1["default"].createElement("path", { d: 'M10.6082 1.2699L17.3135 10.5611C17.6715 11.0571 17.3171 11.75 16.7053 11.75H3.29465C2.68295 11.75 2.32852 11.0571 2.68649 10.5611L9.39184 1.2699C9.69119 0.855102 10.3088 0.855102 10.6082 1.2699Z', fill: 'white', stroke: '#D1D5DB', strokeWidth: '1' }),
|
|
99
144
|
react_1["default"].createElement("rect", { fill: 'white', height: '3', rx: '1.5', width: '16', x: '2', y: '10' }))),
|
|
100
|
-
!isDisableHover && (react_1["default"].createElement("div", { className: '
|
|
145
|
+
!isDisableHover && (react_1["default"].createElement("div", { className: 'absolute cursor-pointer h-7 top-12', style: {
|
|
101
146
|
width: "".concat(contentProps.width, "px")
|
|
102
147
|
} })))),
|
|
103
|
-
react_1["default"].createElement("div", { ref: titleRef, className: '
|
|
148
|
+
react_1["default"].createElement("div", { ref: titleRef, className: 'cursor-pointer ' }, children)));
|
|
104
149
|
};
|
|
105
150
|
exports["default"] = PHXTooltip;
|
|
106
151
|
//# sourceMappingURL=ToolTip.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToolTip.js","sourceRoot":"","sources":["../../../../src/components/ToolTip/ToolTip.tsx"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"ToolTip.js","sourceRoot":"","sources":["../../../../src/components/ToolTip/ToolTip.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { __assign } from "tslib";
|
|
2
|
-
import React, { useRef, useState, useEffect } from 'react';
|
|
2
|
+
import React, { useRef, useState, useEffect, useCallback } from 'react';
|
|
3
3
|
var PHXTooltip = function (_a) {
|
|
4
|
-
var children = _a.children, _b = _a.className, className = _b === void 0 ? '' : _b, _c = _a.contentClassName, contentClassName = _c === void 0 ? 'max-w-[18rem]' : _c, content = _a.content, _d = _a.underLine, underLine = _d === void 0 ? false : _d, _e = _a.isDisableHover, isDisableHover = _e === void 0 ? false : _e;
|
|
4
|
+
var children = _a.children, _b = _a.className, className = _b === void 0 ? '' : _b, _c = _a.contentClassName, contentClassName = _c === void 0 ? 'max-w-[18rem]' : _c, content = _a.content, _d = _a.underLine, underLine = _d === void 0 ? false : _d, _e = _a.isDisableHover, isDisableHover = _e === void 0 ? false : _e, placement = _a.placement;
|
|
5
5
|
var contentRef = useRef(null);
|
|
6
6
|
var titleRef = useRef(null);
|
|
7
7
|
var _f = useState({
|
|
@@ -23,43 +23,85 @@ var PHXTooltip = function (_a) {
|
|
|
23
23
|
isOverFlowRight: left + width > viewportWidth - 10
|
|
24
24
|
};
|
|
25
25
|
};
|
|
26
|
-
var
|
|
27
|
-
if (!contentRef.current || !titleRef.current)
|
|
28
|
-
return;
|
|
29
|
-
var titleBounding = titleRef.current.getBoundingClientRect();
|
|
30
|
-
var contentBounding = contentRef.current.getBoundingClientRect();
|
|
26
|
+
var getPositionProps = function (position, titleBounding, contentBounding) {
|
|
31
27
|
var titleTop = titleBounding.top;
|
|
32
28
|
var titleLeft = titleBounding.left;
|
|
33
29
|
var titleWidth = titleBounding.width;
|
|
34
30
|
var titleHeight = titleBounding.height;
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
31
|
+
switch (position) {
|
|
32
|
+
case 'top':
|
|
33
|
+
return {
|
|
34
|
+
width: contentBounding.width,
|
|
35
|
+
height: contentBounding.height,
|
|
36
|
+
top: titleTop - contentBounding.height - 10,
|
|
37
|
+
left: titleLeft - contentBounding.width / 2 + titleWidth / 2,
|
|
38
|
+
pos: 'top'
|
|
39
|
+
};
|
|
40
|
+
case 'bottom':
|
|
41
|
+
return {
|
|
42
|
+
width: contentBounding.width,
|
|
43
|
+
height: contentBounding.height,
|
|
44
|
+
top: titleTop + titleHeight + 10,
|
|
45
|
+
left: titleLeft - contentBounding.width / 2 + titleWidth / 2,
|
|
46
|
+
pos: 'bottom'
|
|
47
|
+
};
|
|
48
|
+
case 'left':
|
|
49
|
+
return {
|
|
50
|
+
width: contentBounding.width,
|
|
51
|
+
height: contentBounding.height,
|
|
52
|
+
top: titleTop - contentBounding.height / 2 + titleHeight / 2,
|
|
53
|
+
left: titleLeft - contentBounding.width - 20,
|
|
54
|
+
pos: 'left'
|
|
55
|
+
};
|
|
56
|
+
case 'right':
|
|
57
|
+
return {
|
|
58
|
+
width: contentBounding.width,
|
|
59
|
+
height: contentBounding.height,
|
|
60
|
+
top: titleTop - contentBounding.height / 2 + titleHeight / 2,
|
|
61
|
+
left: titleLeft + titleWidth + 20,
|
|
62
|
+
pos: 'right'
|
|
63
|
+
};
|
|
64
|
+
default:
|
|
65
|
+
return {
|
|
66
|
+
width: contentBounding.width,
|
|
67
|
+
height: contentBounding.height,
|
|
68
|
+
top: titleTop - contentBounding.height - 10,
|
|
69
|
+
left: titleLeft - contentBounding.width / 2 + titleWidth / 2,
|
|
70
|
+
pos: 'top'
|
|
71
|
+
};
|
|
51
72
|
}
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
73
|
+
};
|
|
74
|
+
var calculateTooltipPosition = useCallback(function () {
|
|
75
|
+
if (!contentRef.current || !titleRef.current)
|
|
76
|
+
return;
|
|
77
|
+
var titleBounding = titleRef.current.getBoundingClientRect();
|
|
78
|
+
var contentBounding = contentRef.current.getBoundingClientRect();
|
|
79
|
+
var newProps = getPositionProps(placement || 'top', titleBounding, contentBounding);
|
|
80
|
+
var overflowDirections = getOverflowDirections(newProps);
|
|
81
|
+
if (placement === 'top' && overflowDirections.isOverFlowTop) {
|
|
82
|
+
newProps = getPositionProps('bottom', titleBounding, contentBounding);
|
|
83
|
+
}
|
|
84
|
+
else if (placement === 'bottom' && overflowDirections.isOverFlowBottom) {
|
|
85
|
+
newProps = getPositionProps('top', titleBounding, contentBounding);
|
|
86
|
+
}
|
|
87
|
+
else if (placement === 'left' && overflowDirections.isOverFlowLeft) {
|
|
88
|
+
newProps = getPositionProps('right', titleBounding, contentBounding);
|
|
89
|
+
}
|
|
90
|
+
else if (placement === 'right' && overflowDirections.isOverFlowRight) {
|
|
91
|
+
newProps = getPositionProps('left', titleBounding, contentBounding);
|
|
92
|
+
}
|
|
93
|
+
var finalOverflow = getOverflowDirections(newProps);
|
|
94
|
+
if ((newProps.pos === 'top' || newProps.pos === 'bottom') &&
|
|
95
|
+
(finalOverflow.isOverFlowLeft || finalOverflow.isOverFlowRight)) {
|
|
96
|
+
if (finalOverflow.isOverFlowLeft) {
|
|
97
|
+
newProps = getPositionProps('right', titleBounding, contentBounding);
|
|
98
|
+
}
|
|
99
|
+
else if (finalOverflow.isOverFlowRight) {
|
|
100
|
+
newProps = getPositionProps('left', titleBounding, contentBounding);
|
|
101
|
+
}
|
|
60
102
|
}
|
|
61
103
|
setContentProps(function (prev) { return (__assign(__assign({}, prev), newProps)); });
|
|
62
|
-
};
|
|
104
|
+
}, [placement]);
|
|
63
105
|
var handleMouseEnter = function () {
|
|
64
106
|
setContentProps(function (prev) { return (__assign(__assign({}, prev), { show: true })); });
|
|
65
107
|
calculateTooltipPosition();
|
|
@@ -79,7 +121,7 @@ var PHXTooltip = function (_a) {
|
|
|
79
121
|
return function () {
|
|
80
122
|
cancelAnimationFrame(animationFrameId);
|
|
81
123
|
};
|
|
82
|
-
}, [contentProps.show]);
|
|
124
|
+
}, [contentProps.show, calculateTooltipPosition]);
|
|
83
125
|
return (React.createElement("div", { className: "relative w-fit text-xs font-normal text-gray-600 ".concat(underLine && 'border-b-2 border-dotted border-[#B5B5B5] pb-[1px]', " ").concat(className), onMouseEnter: handleMouseEnter, onMouseLeave: handleMouseLeave },
|
|
84
126
|
content && (React.createElement("div", { className: "fixed z-20 mb-2 flex transform flex-col items-center justify-center drop-shadow-md transition-opacity duration-200 ".concat(contentProps.show ? 'visible opacity-100' : 'invisible opacity-0'), style: {
|
|
85
127
|
top: contentProps.top,
|
|
@@ -89,16 +131,19 @@ var PHXTooltip = function (_a) {
|
|
|
89
131
|
contentProps.pos === 'top' && (React.createElement("svg", { className: 'absolute -bottom-[10px] rotate-180 w-full', fill: 'none', height: '16', viewBox: '0 0 20 16', width: '20', xmlns: 'http://www.w3.org/2000/svg' },
|
|
90
132
|
React.createElement("path", { d: 'M10.6082 1.2699L17.3135 10.5611C17.6715 11.0571 17.3171 11.75 16.7053 11.75H3.29465C2.68295 11.75 2.32852 11.0571 2.68649 10.5611L9.39184 1.2699C9.69119 0.855102 10.3088 0.855102 10.6082 1.2699Z', fill: 'white', stroke: '#D1D5DB', strokeWidth: '1' }),
|
|
91
133
|
React.createElement("rect", { fill: 'white', height: '3', rx: '1.5', width: '16', x: '2', y: '10' }))),
|
|
134
|
+
contentProps.pos === 'bottom' && (React.createElement("svg", { className: 'absolute -top-[10px] w-full', fill: 'none', height: '16', viewBox: '0 0 20 16', width: '20', xmlns: 'http://www.w3.org/2000/svg' },
|
|
135
|
+
React.createElement("path", { d: 'M10.6082 1.2699L17.3135 10.5611C17.6715 11.0571 17.3171 11.75 16.7053 11.75H3.29465C2.68295 11.75 2.32852 11.0571 2.68649 10.5611L9.39184 1.2699C9.69119 0.855102 10.3088 0.855102 10.6082 1.2699Z', fill: 'white', stroke: '#D1D5DB', strokeWidth: '1' }),
|
|
136
|
+
React.createElement("rect", { fill: 'white', height: '3', rx: '1.5', width: '16', x: '2', y: '10' }))),
|
|
92
137
|
contentProps.pos === 'left' && (React.createElement("svg", { className: 'absolute -right-[12px] rotate-90', fill: 'none', height: '16', viewBox: '0 0 20 16', width: '20', xmlns: 'http://www.w3.org/2000/svg' },
|
|
93
138
|
React.createElement("path", { d: 'M10.6082 1.2699L17.3135 10.5611C17.6715 11.0571 17.3171 11.75 16.7053 11.75H3.29465C2.68295 11.75 2.32852 11.0571 2.68649 10.5611L9.39184 1.2699C9.69119 0.855102 10.3088 0.855102 10.6082 1.2699Z', fill: 'white', stroke: '#D1D5DB', strokeWidth: '1' }),
|
|
94
139
|
React.createElement("rect", { fill: 'white', height: '3', rx: '1.5', width: '16', x: '2', y: '10' }))),
|
|
95
140
|
contentProps.pos === 'right' && (React.createElement("svg", { className: 'absolute -left-[12px] -rotate-90', fill: 'none', height: '16', viewBox: '0 0 20 16', width: '20', xmlns: 'http://www.w3.org/2000/svg' },
|
|
96
141
|
React.createElement("path", { d: 'M10.6082 1.2699L17.3135 10.5611C17.6715 11.0571 17.3171 11.75 16.7053 11.75H3.29465C2.68295 11.75 2.32852 11.0571 2.68649 10.5611L9.39184 1.2699C9.69119 0.855102 10.3088 0.855102 10.6082 1.2699Z', fill: 'white', stroke: '#D1D5DB', strokeWidth: '1' }),
|
|
97
142
|
React.createElement("rect", { fill: 'white', height: '3', rx: '1.5', width: '16', x: '2', y: '10' }))),
|
|
98
|
-
!isDisableHover && (React.createElement("div", { className: '
|
|
143
|
+
!isDisableHover && (React.createElement("div", { className: 'absolute cursor-pointer h-7 top-12', style: {
|
|
99
144
|
width: "".concat(contentProps.width, "px")
|
|
100
145
|
} })))),
|
|
101
|
-
React.createElement("div", { ref: titleRef, className: '
|
|
146
|
+
React.createElement("div", { ref: titleRef, className: 'cursor-pointer ' }, children)));
|
|
102
147
|
};
|
|
103
148
|
export default PHXTooltip;
|
|
104
149
|
//# sourceMappingURL=ToolTip.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToolTip.js","sourceRoot":"","sources":["../../../../src/components/ToolTip/ToolTip.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,EAAM,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"ToolTip.js","sourceRoot":"","sources":["../../../../src/components/ToolTip/ToolTip.tsx"],"names":[],"mappings":"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"}
|