glints-aries 4.0.284 → 4.0.286
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.
|
@@ -6,6 +6,12 @@ export declare type TooltipProps = {
|
|
|
6
6
|
children: React.ReactNode;
|
|
7
7
|
content: React.ReactNode;
|
|
8
8
|
zIndex?: number;
|
|
9
|
+
/** if true, tooltip will be shown on click instead of hover */
|
|
10
|
+
clickable?: boolean;
|
|
11
|
+
/** how long tooltip will still be shown after clicked or when not hovered anymore */
|
|
12
|
+
timeout?: number;
|
|
13
|
+
/** if clickable it true, onClick will be called when tooltip is clicked */
|
|
14
|
+
onClick?: () => void;
|
|
9
15
|
};
|
|
10
|
-
export declare const Tooltip: ({ children, content, preferredPosition, zIndex, }: TooltipProps) => JSX.Element;
|
|
16
|
+
export declare const Tooltip: ({ children, content, preferredPosition, zIndex, clickable, timeout, onClick, }: TooltipProps) => JSX.Element;
|
|
11
17
|
export {};
|
|
@@ -53,7 +53,12 @@ export var Tooltip = function Tooltip(_ref) {
|
|
|
53
53
|
content = _ref.content,
|
|
54
54
|
_ref$preferredPositio = _ref.preferredPosition,
|
|
55
55
|
preferredPosition = _ref$preferredPositio === void 0 ? defaultPosition : _ref$preferredPositio,
|
|
56
|
-
zIndex = _ref.zIndex
|
|
56
|
+
zIndex = _ref.zIndex,
|
|
57
|
+
_ref$clickable = _ref.clickable,
|
|
58
|
+
clickable = _ref$clickable === void 0 ? false : _ref$clickable,
|
|
59
|
+
_ref$timeout = _ref.timeout,
|
|
60
|
+
timeout = _ref$timeout === void 0 ? 0 : _ref$timeout,
|
|
61
|
+
onClick = _ref.onClick;
|
|
57
62
|
var tooltipRef = useRef(null);
|
|
58
63
|
var elRef = useRef(null);
|
|
59
64
|
var tooltipPositionsHandlerRef = useRef(null);
|
|
@@ -112,16 +117,49 @@ export var Tooltip = function Tooltip(_ref) {
|
|
|
112
117
|
as: "div",
|
|
113
118
|
variant: "subtitle2"
|
|
114
119
|
}, content) : content;
|
|
120
|
+
var handleMouseEnter = function handleMouseEnter() {
|
|
121
|
+
if (!clickable) setIsActive(true);
|
|
122
|
+
};
|
|
123
|
+
var handleMouseLeave = function handleMouseLeave() {
|
|
124
|
+
if (!clickable) {
|
|
125
|
+
setIsActive(false);
|
|
126
|
+
handleAnimation();
|
|
127
|
+
}
|
|
128
|
+
};
|
|
129
|
+
var handleClick = function handleClick() {
|
|
130
|
+
if (clickable) {
|
|
131
|
+
onClick();
|
|
132
|
+
handleAnimation();
|
|
133
|
+
}
|
|
134
|
+
};
|
|
135
|
+
var timeoutRef = useRef(null);
|
|
136
|
+
var _useState4 = useState(false),
|
|
137
|
+
animate = _useState4[0],
|
|
138
|
+
setAnimate = _useState4[1];
|
|
139
|
+
var handleAnimation = function handleAnimation() {
|
|
140
|
+
// if you click during the tooltip's lifespan, it should reset the timeout
|
|
141
|
+
if (timeoutRef.current) {
|
|
142
|
+
clearTimeout(timeoutRef.current);
|
|
143
|
+
timeoutRef.current = null;
|
|
144
|
+
setAnimate(false);
|
|
145
|
+
}
|
|
146
|
+
setIsActive(true);
|
|
147
|
+
timeoutRef.current = setTimeout(function () {
|
|
148
|
+
setAnimate(true);
|
|
149
|
+
timeoutRef.current = setTimeout(function () {
|
|
150
|
+
setIsActive(false);
|
|
151
|
+
setAnimate(false);
|
|
152
|
+
}, 370); // animation is 400ms, make this slightly lower to prevent visual glitch
|
|
153
|
+
}, timeout);
|
|
154
|
+
};
|
|
115
155
|
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(StyledTooltipContainer, {
|
|
116
156
|
ref: elRef,
|
|
117
|
-
onMouseEnter:
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
onMouseLeave: function onMouseLeave() {
|
|
121
|
-
return setIsActive(false);
|
|
122
|
-
}
|
|
157
|
+
onMouseEnter: handleMouseEnter,
|
|
158
|
+
onMouseLeave: handleMouseLeave,
|
|
159
|
+
onClick: handleClick
|
|
123
160
|
}, children), isActive && /*#__PURE__*/React.createElement(Portal, null, /*#__PURE__*/React.createElement(StyledTooltip, {
|
|
124
161
|
"data-position": position,
|
|
162
|
+
className: animate ? 'closed-animation' : '',
|
|
125
163
|
ref: tooltipRef,
|
|
126
164
|
zIndex: zIndex,
|
|
127
165
|
style: {
|
|
@@ -15,7 +15,7 @@ export var StyledTooltipContainer = styled.div.withConfig({
|
|
|
15
15
|
export var StyledTooltip = styled.div.withConfig({
|
|
16
16
|
displayName: "TooltipStyle__StyledTooltip",
|
|
17
17
|
componentId: "sc-37e5z7-1"
|
|
18
|
-
})(["position:fixed;text-align:left;height:fit-content;width:fit-content;max-width:320px;border-radius:", ";gap:10px;left:50%;transform:translateX(-50%);padding:", " ", ";color:", ";background:", ";overflow-wrap:break-word;line-height:1;z-index:", ";&[data-position='top-left'],&[data-position='bottom-left']{transform:translateX( calc(100% * -1 + ", " + ", ") );}&[data-position='top-right'],&[data-position='bottom-right']{transform:translateX(calc((", " + ", ") * -1));}&[data-position='right-middle']{transform:translateX(0) translateY(-50%);}&[data-position='left-bottom'],&[data-position='right-bottom']{transform:translateY(calc((", " + ", ") * -1));}&[data-position='left-top'],&[data-position='right-top']{transform:translateY( calc(100% * -1 + (", " + ", ")) );}&[data-position='bottom-center'],&[data-position='bottom-left'],&[data-position='bottom-right']{top:calc((100% + ", "));}&[data-position='left-middle']{transform:translateX(0) translateY(-50%);}&[data-position='top-center'] .arrow,&[data-position='top-left'] .arrow,&[data-position='top-right'] .arrow{top:100%;border-top-color:", ";}&[data-position='top-left'] .arrow,&[data-position='bottom-left'] .arrow{left:calc(100% - ", " - ", ");}&[data-position='top-right'] .arrow,&[data-position='bottom-right'] .arrow{left:calc(", " + ", ");}&[data-position='right-middle'] .arrow,&[data-position='right-top'] .arrow,&[data-position='right-bottom'] .arrow{top:50%;left:calc(", " * -1);border-right-color:", ";}&[data-position='right-middle'] .arrow{transform:translateX(0) translateY(-50%);}&[data-position='left-bottom'] .arrow,&[data-position='right-bottom'] .arrow{top:", ";}&[data-position='bottom-center'] .arrow,&[data-position='bottom-left'] .arrow,&[data-position='bottom-right'] .arrow{bottom:100%;border-bottom-color:", ";}&[data-position='left-middle'] .arrow,&[data-position='left-top'] .arrow,&[data-position='left-bottom'] .arrow{left:auto;right:calc(", " * -2);border-left-color:", ";}&[data-position='left-middle'] .arrow{top:50%;transform:translateX(0) translateY(-50%);}&[data-position='left-top'] .arrow,&[data-position='right-top'] .arrow{top:unset;bottom:", ";}@media (max-width:", "){min-width:69px;}"], borderRadius2, space8, space12, Neutral.B100, background, function (props) {
|
|
18
|
+
})(["position:fixed;text-align:left;height:fit-content;width:fit-content;max-width:320px;border-radius:", ";gap:10px;left:50%;transform:translateX(-50%);padding:", " ", ";color:", ";background:", ";overflow-wrap:break-word;line-height:1;z-index:", ";&[data-position='top-left'],&[data-position='bottom-left']{transform:translateX( calc(100% * -1 + ", " + ", ") );}&[data-position='top-right'],&[data-position='bottom-right']{transform:translateX(calc((", " + ", ") * -1));}&[data-position='right-middle']{transform:translateX(0) translateY(-50%);}&[data-position='left-bottom'],&[data-position='right-bottom']{transform:translateY(calc((", " + ", ") * -1));}&[data-position='left-top'],&[data-position='right-top']{transform:translateY( calc(100% * -1 + (", " + ", ")) );}&[data-position='bottom-center'],&[data-position='bottom-left'],&[data-position='bottom-right']{top:calc((100% + ", "));}&[data-position='left-middle']{transform:translateX(0) translateY(-50%);}&[data-position='top-center'] .arrow,&[data-position='top-left'] .arrow,&[data-position='top-right'] .arrow{top:100%;border-top-color:", ";}&[data-position='top-left'] .arrow,&[data-position='bottom-left'] .arrow{left:calc(100% - ", " - ", ");}&[data-position='top-right'] .arrow,&[data-position='bottom-right'] .arrow{left:calc(", " + ", ");}&[data-position='right-middle'] .arrow,&[data-position='right-top'] .arrow,&[data-position='right-bottom'] .arrow{top:50%;left:calc(", " * -1);border-right-color:", ";}&[data-position='right-middle'] .arrow{transform:translateX(0) translateY(-50%);}&[data-position='left-bottom'] .arrow,&[data-position='right-bottom'] .arrow{top:", ";}&[data-position='bottom-center'] .arrow,&[data-position='bottom-left'] .arrow,&[data-position='bottom-right'] .arrow{bottom:100%;border-bottom-color:", ";}&[data-position='left-middle'] .arrow,&[data-position='left-top'] .arrow,&[data-position='left-bottom'] .arrow{left:auto;right:calc(", " * -2);border-left-color:", ";}&[data-position='left-middle'] .arrow{top:50%;transform:translateX(0) translateY(-50%);}&[data-position='left-top'] .arrow,&[data-position='right-top'] .arrow{top:unset;bottom:", ";}animation:fade-in-tooltip 400ms ease-in forwards;&.closed-animation{animation:fade-out-tooltip 400ms ease-out forwards;}animation-fill-mode:forwards;@keyframes fade-in-tooltip{0%{opacity:0;}100%{opacity:1;}}@keyframes fade-out-tooltip{0%{opacity:1;}100%{opacity:0;}}@media (max-width:", "){min-width:69px;}"], borderRadius2, space8, space12, Neutral.B100, background, function (props) {
|
|
19
19
|
return props.zIndex ? props.zIndex : 100;
|
|
20
20
|
}, arrowSize, nonCentralArrowMargin, arrowSize, nonCentralArrowMargin, nonCentralArrowMargin, arrowSize, nonCentralArrowMargin, arrowSize, verticalMargin, background, arrowSize, nonCentralArrowMargin, arrowSize, nonCentralArrowMargin, arrowSize, background, nonCentralArrowMargin, background, arrowSize, background, nonCentralArrowMargin, Breakpoints.large);
|
|
21
21
|
export var StyledTooltipArrow = styled.div.withConfig({
|
|
@@ -6,6 +6,12 @@ export declare type TooltipProps = {
|
|
|
6
6
|
children: React.ReactNode;
|
|
7
7
|
content: React.ReactNode;
|
|
8
8
|
zIndex?: number;
|
|
9
|
+
/** if true, tooltip will be shown on click instead of hover */
|
|
10
|
+
clickable?: boolean;
|
|
11
|
+
/** how long tooltip will still be shown after clicked or when not hovered anymore */
|
|
12
|
+
timeout?: number;
|
|
13
|
+
/** if clickable it true, onClick will be called when tooltip is clicked */
|
|
14
|
+
onClick?: () => void;
|
|
9
15
|
};
|
|
10
|
-
export declare const Tooltip: ({ children, content, preferredPosition, zIndex, }: TooltipProps) => JSX.Element;
|
|
16
|
+
export declare const Tooltip: ({ children, content, preferredPosition, zIndex, clickable, timeout, onClick, }: TooltipProps) => JSX.Element;
|
|
11
17
|
export {};
|
|
@@ -59,7 +59,12 @@ var Tooltip = function Tooltip(_ref) {
|
|
|
59
59
|
content = _ref.content,
|
|
60
60
|
_ref$preferredPositio = _ref.preferredPosition,
|
|
61
61
|
preferredPosition = _ref$preferredPositio === void 0 ? defaultPosition : _ref$preferredPositio,
|
|
62
|
-
zIndex = _ref.zIndex
|
|
62
|
+
zIndex = _ref.zIndex,
|
|
63
|
+
_ref$clickable = _ref.clickable,
|
|
64
|
+
clickable = _ref$clickable === void 0 ? false : _ref$clickable,
|
|
65
|
+
_ref$timeout = _ref.timeout,
|
|
66
|
+
timeout = _ref$timeout === void 0 ? 0 : _ref$timeout,
|
|
67
|
+
onClick = _ref.onClick;
|
|
63
68
|
var tooltipRef = (0, _react.useRef)(null);
|
|
64
69
|
var elRef = (0, _react.useRef)(null);
|
|
65
70
|
var tooltipPositionsHandlerRef = (0, _react.useRef)(null);
|
|
@@ -118,16 +123,49 @@ var Tooltip = function Tooltip(_ref) {
|
|
|
118
123
|
as: "div",
|
|
119
124
|
variant: "subtitle2"
|
|
120
125
|
}, content) : content;
|
|
126
|
+
var handleMouseEnter = function handleMouseEnter() {
|
|
127
|
+
if (!clickable) setIsActive(true);
|
|
128
|
+
};
|
|
129
|
+
var handleMouseLeave = function handleMouseLeave() {
|
|
130
|
+
if (!clickable) {
|
|
131
|
+
setIsActive(false);
|
|
132
|
+
handleAnimation();
|
|
133
|
+
}
|
|
134
|
+
};
|
|
135
|
+
var handleClick = function handleClick() {
|
|
136
|
+
if (clickable) {
|
|
137
|
+
onClick();
|
|
138
|
+
handleAnimation();
|
|
139
|
+
}
|
|
140
|
+
};
|
|
141
|
+
var timeoutRef = (0, _react.useRef)(null);
|
|
142
|
+
var _useState4 = (0, _react.useState)(false),
|
|
143
|
+
animate = _useState4[0],
|
|
144
|
+
setAnimate = _useState4[1];
|
|
145
|
+
var handleAnimation = function handleAnimation() {
|
|
146
|
+
// if you click during the tooltip's lifespan, it should reset the timeout
|
|
147
|
+
if (timeoutRef.current) {
|
|
148
|
+
clearTimeout(timeoutRef.current);
|
|
149
|
+
timeoutRef.current = null;
|
|
150
|
+
setAnimate(false);
|
|
151
|
+
}
|
|
152
|
+
setIsActive(true);
|
|
153
|
+
timeoutRef.current = setTimeout(function () {
|
|
154
|
+
setAnimate(true);
|
|
155
|
+
timeoutRef.current = setTimeout(function () {
|
|
156
|
+
setIsActive(false);
|
|
157
|
+
setAnimate(false);
|
|
158
|
+
}, 370); // animation is 400ms, make this slightly lower to prevent visual glitch
|
|
159
|
+
}, timeout);
|
|
160
|
+
};
|
|
121
161
|
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_TooltipStyle.StyledTooltipContainer, {
|
|
122
162
|
ref: elRef,
|
|
123
|
-
onMouseEnter:
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
onMouseLeave: function onMouseLeave() {
|
|
127
|
-
return setIsActive(false);
|
|
128
|
-
}
|
|
163
|
+
onMouseEnter: handleMouseEnter,
|
|
164
|
+
onMouseLeave: handleMouseLeave,
|
|
165
|
+
onClick: handleClick
|
|
129
166
|
}, children), isActive && /*#__PURE__*/_react["default"].createElement(_Portal.Portal, null, /*#__PURE__*/_react["default"].createElement(_TooltipStyle.StyledTooltip, {
|
|
130
167
|
"data-position": position,
|
|
168
|
+
className: animate ? 'closed-animation' : '',
|
|
131
169
|
ref: tooltipRef,
|
|
132
170
|
zIndex: zIndex,
|
|
133
171
|
style: {
|
|
@@ -23,7 +23,7 @@ exports.StyledTooltipContainer = StyledTooltipContainer;
|
|
|
23
23
|
var StyledTooltip = _styledComponents["default"].div.withConfig({
|
|
24
24
|
displayName: "TooltipStyle__StyledTooltip",
|
|
25
25
|
componentId: "sc-37e5z7-1"
|
|
26
|
-
})(["position:fixed;text-align:left;height:fit-content;width:fit-content;max-width:320px;border-radius:", ";gap:10px;left:50%;transform:translateX(-50%);padding:", " ", ";color:", ";background:", ";overflow-wrap:break-word;line-height:1;z-index:", ";&[data-position='top-left'],&[data-position='bottom-left']{transform:translateX( calc(100% * -1 + ", " + ", ") );}&[data-position='top-right'],&[data-position='bottom-right']{transform:translateX(calc((", " + ", ") * -1));}&[data-position='right-middle']{transform:translateX(0) translateY(-50%);}&[data-position='left-bottom'],&[data-position='right-bottom']{transform:translateY(calc((", " + ", ") * -1));}&[data-position='left-top'],&[data-position='right-top']{transform:translateY( calc(100% * -1 + (", " + ", ")) );}&[data-position='bottom-center'],&[data-position='bottom-left'],&[data-position='bottom-right']{top:calc((100% + ", "));}&[data-position='left-middle']{transform:translateX(0) translateY(-50%);}&[data-position='top-center'] .arrow,&[data-position='top-left'] .arrow,&[data-position='top-right'] .arrow{top:100%;border-top-color:", ";}&[data-position='top-left'] .arrow,&[data-position='bottom-left'] .arrow{left:calc(100% - ", " - ", ");}&[data-position='top-right'] .arrow,&[data-position='bottom-right'] .arrow{left:calc(", " + ", ");}&[data-position='right-middle'] .arrow,&[data-position='right-top'] .arrow,&[data-position='right-bottom'] .arrow{top:50%;left:calc(", " * -1);border-right-color:", ";}&[data-position='right-middle'] .arrow{transform:translateX(0) translateY(-50%);}&[data-position='left-bottom'] .arrow,&[data-position='right-bottom'] .arrow{top:", ";}&[data-position='bottom-center'] .arrow,&[data-position='bottom-left'] .arrow,&[data-position='bottom-right'] .arrow{bottom:100%;border-bottom-color:", ";}&[data-position='left-middle'] .arrow,&[data-position='left-top'] .arrow,&[data-position='left-bottom'] .arrow{left:auto;right:calc(", " * -2);border-left-color:", ";}&[data-position='left-middle'] .arrow{top:50%;transform:translateX(0) translateY(-50%);}&[data-position='left-top'] .arrow,&[data-position='right-top'] .arrow{top:unset;bottom:", ";}@media (max-width:", "){min-width:69px;}"], _borderRadius.borderRadius2, _spacing.space8, _spacing.space12, _colors.Neutral.B100, background, function (props) {
|
|
26
|
+
})(["position:fixed;text-align:left;height:fit-content;width:fit-content;max-width:320px;border-radius:", ";gap:10px;left:50%;transform:translateX(-50%);padding:", " ", ";color:", ";background:", ";overflow-wrap:break-word;line-height:1;z-index:", ";&[data-position='top-left'],&[data-position='bottom-left']{transform:translateX( calc(100% * -1 + ", " + ", ") );}&[data-position='top-right'],&[data-position='bottom-right']{transform:translateX(calc((", " + ", ") * -1));}&[data-position='right-middle']{transform:translateX(0) translateY(-50%);}&[data-position='left-bottom'],&[data-position='right-bottom']{transform:translateY(calc((", " + ", ") * -1));}&[data-position='left-top'],&[data-position='right-top']{transform:translateY( calc(100% * -1 + (", " + ", ")) );}&[data-position='bottom-center'],&[data-position='bottom-left'],&[data-position='bottom-right']{top:calc((100% + ", "));}&[data-position='left-middle']{transform:translateX(0) translateY(-50%);}&[data-position='top-center'] .arrow,&[data-position='top-left'] .arrow,&[data-position='top-right'] .arrow{top:100%;border-top-color:", ";}&[data-position='top-left'] .arrow,&[data-position='bottom-left'] .arrow{left:calc(100% - ", " - ", ");}&[data-position='top-right'] .arrow,&[data-position='bottom-right'] .arrow{left:calc(", " + ", ");}&[data-position='right-middle'] .arrow,&[data-position='right-top'] .arrow,&[data-position='right-bottom'] .arrow{top:50%;left:calc(", " * -1);border-right-color:", ";}&[data-position='right-middle'] .arrow{transform:translateX(0) translateY(-50%);}&[data-position='left-bottom'] .arrow,&[data-position='right-bottom'] .arrow{top:", ";}&[data-position='bottom-center'] .arrow,&[data-position='bottom-left'] .arrow,&[data-position='bottom-right'] .arrow{bottom:100%;border-bottom-color:", ";}&[data-position='left-middle'] .arrow,&[data-position='left-top'] .arrow,&[data-position='left-bottom'] .arrow{left:auto;right:calc(", " * -2);border-left-color:", ";}&[data-position='left-middle'] .arrow{top:50%;transform:translateX(0) translateY(-50%);}&[data-position='left-top'] .arrow,&[data-position='right-top'] .arrow{top:unset;bottom:", ";}animation:fade-in-tooltip 400ms ease-in forwards;&.closed-animation{animation:fade-out-tooltip 400ms ease-out forwards;}animation-fill-mode:forwards;@keyframes fade-in-tooltip{0%{opacity:0;}100%{opacity:1;}}@keyframes fade-out-tooltip{0%{opacity:1;}100%{opacity:0;}}@media (max-width:", "){min-width:69px;}"], _borderRadius.borderRadius2, _spacing.space8, _spacing.space12, _colors.Neutral.B100, background, function (props) {
|
|
27
27
|
return props.zIndex ? props.zIndex : 100;
|
|
28
28
|
}, arrowSize, nonCentralArrowMargin, arrowSize, nonCentralArrowMargin, nonCentralArrowMargin, arrowSize, nonCentralArrowMargin, arrowSize, verticalMargin, background, arrowSize, nonCentralArrowMargin, arrowSize, nonCentralArrowMargin, arrowSize, background, nonCentralArrowMargin, background, arrowSize, background, nonCentralArrowMargin, Breakpoints.large);
|
|
29
29
|
exports.StyledTooltip = StyledTooltip;
|