@infomaximum/ui-kit 0.16.2 → 0.17.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/dist/components/BaseSelect/BaseSelect.styles.d.ts +2 -2
  2. package/dist/components/BaseSelect/BaseSelect.styles.js +46 -17
  3. package/dist/components/BaseSelect/BaseSelect.tokens.d.ts +3 -0
  4. package/dist/components/BaseSelect/BaseSelect.tokens.js +3 -0
  5. package/dist/components/BaseSelect/BaseSelect.types.d.ts +1 -1
  6. package/dist/components/BaseTooltip/BaseTooltip.js +7 -3
  7. package/dist/components/BaseTooltip/BaseTooltip.types.d.ts +1 -0
  8. package/dist/components/BaseTooltip/BaseTooltip.utils.d.ts +1 -0
  9. package/dist/components/BaseTooltip/BaseTooltip.utils.js +17 -0
  10. package/dist/components/BaseTooltip/hooks/useCustomFloating.js +5 -4
  11. package/dist/components/BaseTooltip/hooks/useShowTooltipController.d.ts +2 -1
  12. package/dist/components/BaseTooltip/hooks/useShowTooltipController.js +56 -42
  13. package/dist/components/Button/Button.styles.d.ts +2 -0
  14. package/dist/components/Checkbox/Checkbox.js +10 -6
  15. package/dist/components/Dropdown/Dropdown.js +12 -7
  16. package/dist/components/Dropdown/Dropdown.types.d.ts +56 -19
  17. package/dist/components/Dropdown/Dropdown.utils.js +6 -2
  18. package/dist/components/Dropdown/components/Divider/Divider.d.ts +2 -1
  19. package/dist/components/Dropdown/components/Divider/Divider.js +5 -2
  20. package/dist/components/Dropdown/components/Divider/Divider.types.d.ts +3 -0
  21. package/dist/components/Dropdown/components/Group/Group.js +9 -6
  22. package/dist/components/Dropdown/components/Group/Group.types.d.ts +7 -3
  23. package/dist/components/Dropdown/components/Item/Item.js +17 -11
  24. package/dist/components/Dropdown/components/Item/Item.types.d.ts +1 -1
  25. package/dist/components/Dropdown/components/Menu/Menu.js +33 -12
  26. package/dist/components/Dropdown/components/Menu/Menu.styles.d.ts +1 -0
  27. package/dist/components/Dropdown/components/Menu/Menu.styles.js +2 -1
  28. package/dist/components/Dropdown/components/Menu/Menu.types.d.ts +0 -1
  29. package/dist/components/Dropdown/components/SubMenu/SubMenu.js +13 -6
  30. package/dist/components/Dropdown/components/SubMenu/SubMenu.types.d.ts +2 -2
  31. package/dist/components/Dropdown/components/SubMenu/SubMenu.utils.d.ts +2 -2
  32. package/dist/components/Dropdown/contexts/dropdownContext.d.ts +13 -9
  33. package/dist/components/Dropdown/hooks/useSelectedKeysController.d.ts +20 -16
  34. package/dist/components/Dropdown/hooks/useSelectedKeysController.js +7 -2
  35. package/dist/components/Dropdown/hooks/useSubMenusController.d.ts +5 -4
  36. package/dist/components/Dropdown/index.d.ts +2 -1
  37. package/dist/components/Tabs/Tabs.js +1 -1
  38. package/dist/components/Tabs/Tabs.types.d.ts +5 -4
  39. package/dist/components/Tabs/Tabs.utils.d.ts +3 -2
  40. package/dist/components/Tabs/components/TabBar/TabBar.types.d.ts +3 -2
  41. package/dist/components/Tabs/components/TabItem/TabItem.types.d.ts +8 -7
  42. package/dist/components/Tabs/hooks/useMoreTabsController.d.ts +5 -5
  43. package/dist/components/Tabs/hooks/useTabsDndController.d.ts +2 -1
  44. package/dist/contexts/themeContext.d.ts +1 -0
  45. package/dist/hooks/useTheme/useTheme.d.ts +1 -0
  46. package/dist/index.d.ts +2 -2
  47. package/dist/index.js +5 -0
  48. package/dist/themes/semanticTokens/colorSemanticTokens/semanticBlocks/controlShadowsTokens.d.ts +1 -0
  49. package/dist/themes/semanticTokens/colorSemanticTokens/semanticBlocks/controlShadowsTokens.js +3 -1
  50. package/dist/themes/semanticTokens/colorSemanticTokens/semanticColorTokens.d.ts +1 -0
  51. package/dist/themes/themes.d.ts +1 -0
  52. package/dist/themes/themes.utils.d.ts +2 -0
  53. package/package.json +2 -1
@@ -52,7 +52,7 @@ export declare const getSelectDefaultStyle: ({ status, disabled, variant, multip
52
52
  paddingLeft: number;
53
53
  };
54
54
  content: (theme: Theme) => {
55
- readonly color: "#262626" | "#8C8C8C" | "#FF4D4F";
55
+ readonly color: "#262626" | "#8C8C8C" | "#FA8C16" | "#FF4D4F";
56
56
  readonly overflow: "hidden";
57
57
  readonly whiteSpace: "nowrap";
58
58
  readonly textOverflow: "ellipsis";
@@ -71,7 +71,7 @@ export declare const getSelectDefaultStyle: ({ status, disabled, variant, multip
71
71
  lineHeight: "20px";
72
72
  };
73
73
  prefix: (isIcon: boolean) => (theme: Theme) => {
74
- color: "#8C8C8C" | "#BFBFBF" | "#FF4D4F";
74
+ color: string;
75
75
  fontFamily?: "Roboto" | undefined;
76
76
  fontSize: 14 | 16;
77
77
  lineHeight?: "20px" | undefined;
@@ -10,41 +10,71 @@ const iconStyles = (theme, disabled) => {
10
10
  alineItems: "center"
11
11
  };
12
12
  };
13
- const getBorderColor = (selectTokens, isError) => {
14
- if (isError) {
13
+ const getBorderColor = (selectTokens, status) => {
14
+ if (status === "error") {
15
15
  return selectTokens.selectBorderDanger;
16
16
  }
17
+ if (status === "warning") {
18
+ return selectTokens.selectBorderWarning;
19
+ }
17
20
  return selectTokens.selectBorder;
18
21
  };
19
- const getBorder = (selectTokens, isError, variant) => {
22
+ const getBorder = (selectTokens, status, variant) => {
20
23
  if (variant === "borderless") {
21
24
  return "none";
22
25
  }
23
- return `1px solid ${getBorderColor(selectTokens, isError)}`;
26
+ return `1px solid ${getBorderColor(selectTokens, status)}`;
24
27
  };
25
- const getHoveredBorder = (selectTokens, disabled, isError) => {
26
- if (isError) {
28
+ const getHoveredBorder = (selectTokens, disabled, status) => {
29
+ if (status === "error") {
27
30
  return selectTokens.selectBorderDangerHover;
28
31
  }
32
+ if (status === "warning") {
33
+ return selectTokens.selectBorderWarningHover;
34
+ }
29
35
  if (disabled) {
30
36
  return selectTokens.selectBorder;
31
37
  }
32
38
  return selectTokens.selectBorderHover;
33
39
  };
34
- const getActiveBorder = (selectTokens, disabled, isError) => {
35
- if (isError) {
40
+ const getActiveBorder = (selectTokens, disabled, status) => {
41
+ if (status === "error") {
36
42
  return selectTokens.selectBorderDanger;
37
43
  }
44
+ if (status === "warning") {
45
+ return selectTokens.selectBorderWarning;
46
+ }
38
47
  if (disabled) {
39
48
  return selectTokens.selectBorder;
40
49
  }
41
50
  return selectTokens.selectBorderActive;
42
51
  };
43
- const getLabelColor = (selectTokens, isError, variant, disabled) => {
52
+ const getShadowColor = (theme, status) => {
53
+ if (status === "error") {
54
+ return theme.fieldFocusedDanger;
55
+ }
56
+ if (status === "warning") {
57
+ return theme.fieldFocusedWarning;
58
+ }
59
+ return theme.fieldFocused;
60
+ };
61
+ const getPrefixColor = (selectTokens, status, defaultColor) => {
62
+ if (status === "error") {
63
+ return selectTokens.selectTextDanger;
64
+ }
65
+ if (status === "warning") {
66
+ return selectTokens.selectTextWarning;
67
+ }
68
+ return defaultColor;
69
+ };
70
+ const getLabelColor = (selectTokens, status, variant, disabled) => {
44
71
  if (disabled) {
45
72
  return selectTokens.selectTextDisabled;
46
73
  }
47
- if (isError && variant === "borderless") {
74
+ if (status !== "default" && variant === "borderless") {
75
+ if (status === "warning") {
76
+ return selectTokens.selectTextWarning;
77
+ }
48
78
  return selectTokens.selectTextDanger;
49
79
  }
50
80
  return selectTokens.selectText;
@@ -75,7 +105,6 @@ const getSelectDefaultStyle = ({
75
105
  withPrefix,
76
106
  isEmpty
77
107
  }) => {
78
- const isError = status === "error";
79
108
  const isResponsive = maxTagCount === "responsive";
80
109
  const isOutlined = variant === "outlined";
81
110
  const isMultipleAndNotResponsive = multiple && !isResponsive;
@@ -87,7 +116,7 @@ const getSelectDefaultStyle = ({
87
116
  flexDirection: "column",
88
117
  position: "relative",
89
118
  borderRadius: theme.borderRadiusM,
90
- border: getBorder(selectTokens, isError, variant),
119
+ border: getBorder(selectTokens, status, variant),
91
120
  outline: "none",
92
121
  height: isMultipleAndNotResponsive ? "fit-content" : theme.controlHeightM,
93
122
  minHeight: theme.controlHeightM,
@@ -96,11 +125,11 @@ const getSelectDefaultStyle = ({
96
125
  justifyContent: "center",
97
126
  transition: "border-color .3s, box-shadow .3s",
98
127
  ":hover": {
99
- border: isOutlined ? `1px solid ${getHoveredBorder(selectTokens, disabled, isError)}` : "none"
128
+ border: isOutlined ? `1px solid ${getHoveredBorder(selectTokens, disabled, status)}` : "none"
100
129
  },
101
130
  ":active, :focus, :focus-within, :focus-visible": {
102
- border: isOutlined ? `1px solid ${getActiveBorder(selectTokens, disabled, isError)}` : "none",
103
- boxShadow: disabled || !isOutlined ? "none" : `0px 0px 4px 0px ${isError ? theme.fieldFocusedDanger : theme.fieldFocused}`
131
+ border: isOutlined ? `1px solid ${getActiveBorder(selectTokens, disabled, status)}` : "none",
132
+ boxShadow: disabled || !isOutlined ? "none" : `0px 0px 4px 0px ${getShadowColor(theme, status)}`
104
133
  }
105
134
  };
106
135
  },
@@ -133,7 +162,7 @@ const getSelectDefaultStyle = ({
133
162
  display: "flex",
134
163
  flex: "1 1 auto",
135
164
  ...theme.typography.body2,
136
- color: getLabelColor(selectTokens, isError, variant, disabled),
165
+ color: getLabelColor(selectTokens, status, variant, disabled),
137
166
  overflow: "hidden",
138
167
  whiteSpace: "nowrap",
139
168
  textOverflow: "ellipsis",
@@ -154,7 +183,7 @@ const getSelectDefaultStyle = ({
154
183
  return {
155
184
  ...iconStyle,
156
185
  ...!isIcon ? theme.typography.body2 : {},
157
- color: isError ? selectTokens.selectTextDanger : iconStyle.color
186
+ color: getPrefixColor(selectTokens, status, iconStyle.color)
158
187
  };
159
188
  },
160
189
  suffixIcon: (theme) => iconStyles(theme, disabled),
@@ -5,12 +5,15 @@ export declare const getSelectTokens: (theme: Theme) => {
5
5
  selectBorderActive: "#0CB3B3";
6
6
  selectBorderDanger: "#FF4D4F";
7
7
  selectBorderDangerHover: "#FF7875";
8
+ selectBorderWarning: "#FA8C16";
9
+ selectBorderWarningHover: "#FFA940";
8
10
  selectBg: "#FFFFFF";
9
11
  selectBgDisabled: "#F0F0F0";
10
12
  selectPlaceholder: "#BFBFBF";
11
13
  selectText: "#262626";
12
14
  selectTextDisabled: "#8C8C8C";
13
15
  selectTextDanger: "#FF4D4F";
16
+ selectTextWarning: "#FA8C16";
14
17
  selectMultipleItemBorder: "#D9D9D9";
15
18
  selectMultipleItemBg: "#F5F5F5";
16
19
  selectMultipleItemBgDisabled: "#D9D9D9";
@@ -4,12 +4,15 @@ const getSelectTokens = (theme) => ({
4
4
  selectBorderActive: theme.primaryBase,
5
5
  selectBorderDanger: theme.dangerBase,
6
6
  selectBorderDangerHover: theme.dangerHover,
7
+ selectBorderWarning: theme.warningBase,
8
+ selectBorderWarningHover: theme.warningHover,
7
9
  selectBg: theme.bgContainer,
8
10
  selectBgDisabled: theme.bgContainerDisabled,
9
11
  selectPlaceholder: theme.textHint,
10
12
  selectText: theme.textPrimary,
11
13
  selectTextDisabled: theme.textDisabled,
12
14
  selectTextDanger: theme.dangerBase,
15
+ selectTextWarning: theme.warningBase,
13
16
  selectMultipleItemBorder: theme.tagNeutralBorder,
14
17
  selectMultipleItemBg: theme.tagNeutralBg,
15
18
  selectMultipleItemBgDisabled: theme.bgContainerDisabledContrast,
@@ -2,7 +2,7 @@ import { FocusEvent, KeyboardEvent, ReactNode } from 'react';
2
2
  import { Theme } from 'themes';
3
3
  import { Interpolation } from '@emotion/react';
4
4
  import { DropdownMatchSelectWidthType, DropdownStyles } from './components/BaseSelectOptionList/BaseSelectOptionList.types';
5
- export type SelectStatus = "default" | "error";
5
+ export type SelectStatus = "default" | "error" | "warning";
6
6
  export type VariantType = "outlined" | "borderless";
7
7
  export type ModeType = "single" | "multiple";
8
8
  export type maxTagCountType = number | "responsive";
@@ -24,12 +24,13 @@ const BaseTooltip = memo(({
24
24
  align,
25
25
  transform = true,
26
26
  className,
27
+ withoutWrapper,
27
28
  onOpenChange,
28
29
  children,
29
30
  styles,
30
- withoutWrapper,
31
31
  showInCursorPosition = false,
32
32
  getPopupContainer = () => document.body,
33
+ onContextMenu,
33
34
  getTargetDOMNode
34
35
  }) => {
35
36
  var _a;
@@ -68,6 +69,7 @@ const BaseTooltip = memo(({
68
69
  placement: floatingPlacement,
69
70
  refs,
70
71
  onOpenChange,
72
+ onContextMenu,
71
73
  arrowRef
72
74
  });
73
75
  const {
@@ -86,7 +88,7 @@ const BaseTooltip = memo(({
86
88
  const arrowPlacementCorrection = getArrowPlacementCorrection(floatingPlacement, refs, align);
87
89
  const renderFloatingElement = () => {
88
90
  var _a2;
89
- return /* @__PURE__ */ jsxs("div", { ref: refs.setFloating, css: [getBaseTooltipFloatingWrapperStyle(floatingPlacement, withArrow, isOpen), (_a2 = styles == null ? void 0 : styles.floatingWrapper) == null ? void 0 : _a2.call(styles, theme), process.env.NODE_ENV === "production" ? "" : ";label:renderFloatingElement;", process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9idWlsZHMvZnJvbnRlbmQvbGlicy91aS1raXQvc3JjL2NvbXBvbmVudHMvQmFzZVRvb2x0aXAvQmFzZVRvb2x0aXAudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWdHVSIsImZpbGUiOiIvYnVpbGRzL2Zyb250ZW5kL2xpYnMvdWkta2l0L3NyYy9jb21wb25lbnRzL0Jhc2VUb29sdGlwL0Jhc2VUb29sdGlwLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB0eXBlIEZDLCBtZW1vLCB0eXBlIFByb3BzV2l0aENoaWxkcmVuLCB1c2VNZW1vIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgdHlwZSB7IEJhc2VUb29sdGlwUHJvcHMsIEJhc2VUb29sdGlwVHJpZ2dlclR5cGUgfSBmcm9tIFwiLi9CYXNlVG9vbHRpcC50eXBlc1wiO1xuaW1wb3J0IHsgRmxvYXRpbmdBcnJvdyB9IGZyb20gXCJAZmxvYXRpbmctdWkvcmVhY3RcIjtcbmltcG9ydCB7XG4gIEFSUk9XX0hFSUdIVCxcbiAgQVJST1dfV0lEVEgsXG4gIGdldEFycm93UGxhY2VtZW50Q29ycmVjdGlvbixcbiAgTWF4X1pJbmRleCxcbn0gZnJvbSBcIi4vQmFzZVRvb2x0aXAudXRpbHNcIjtcbmltcG9ydCB7IGNyZWF0ZVBvcnRhbCB9IGZyb20gXCJyZWFjdC1kb21cIjtcbmltcG9ydCB7IHVzZVNob3dUb29sdGlwQ29udHJvbGxlciB9IGZyb20gXCIuL2hvb2tzL3VzZVNob3dUb29sdGlwQ29udHJvbGxlclwiO1xuaW1wb3J0IHtcbiAgYmFzZVRvb2x0aXBSZWZlcmVuY2VXcmFwcGVyU3R5bGUsXG4gIGdldEJhc2VUb29sdGlwRmxvYXRpbmdXcmFwcGVyU3R5bGUsXG59IGZyb20gXCIuL0Jhc2VUb29sdGlwLnN0eWxlc1wiO1xuaW1wb3J0IHsgdXNlVGhlbWUgfSBmcm9tIFwiaG9va3MvdXNlVGhlbWVcIjtcbmltcG9ydCB7IHVzZUN1c3RvbUZsb2F0aW5nIH0gZnJvbSBcIi4vaG9va3MvdXNlQ3VzdG9tRmxvYXRpbmdcIjtcbmltcG9ydCB7IHVzZVRhcmdldFJlZkNvbnRyb2xsZXIgfSBmcm9tIFwiLi9ob29rcy91c2VUYXJnZXRSZWZDb250cm9sbGVyXCI7XG5pbXBvcnQgeyBpc0Z1bmN0aW9uLCBpc05pbCwgaXNOdWxsLCBpc1VuZGVmaW5lZCB9IGZyb20gXCJsb2Rhc2gtZXNcIjtcblxuZXhwb3J0IGNvbnN0IEJhc2VUb29sdGlwOiBGQzxQcm9wc1dpdGhDaGlsZHJlbjxCYXNlVG9vbHRpcFByb3BzPj4gPSBtZW1vKFxuICAoe1xuICAgIGZsb2F0aW5nRWxlbWVudCxcbiAgICBhcnJvd0NvbG9yLFxuICAgIHdpdGhBcnJvdyA9IHRydWUsXG4gICAgcGxhY2VtZW50ID0gXCJ0b3BcIixcbiAgICBhdXRvQWRqdXN0T3ZlcmZsb3cgPSB0cnVlLFxuICAgIGRlZmF1bHRPcGVuID0gZmFsc2UsXG4gICAgb3BlbixcbiAgICB6SW5kZXggPSBNYXhfWkluZGV4LFxuICAgIHRyaWdnZXIgPSBbXCJjbGlja1wiIGFzIEJhc2VUb29sdGlwVHJpZ2dlclR5cGVdLFxuICAgIG1vdXNlRW50ZXJEZWxheSA9IDAuMSxcbiAgICBtb3VzZUxlYXZlRGVsYXkgPSAwLjEsXG4gICAgYWxpZ24sXG4gICAgdHJhbnNmb3JtID0gdHJ1ZSxcbiAgICBjbGFzc05hbWUsXG4gICAgb25PcGVuQ2hhbmdlLFxuICAgIGNoaWxkcmVuLFxuICAgIHN0eWxlcyxcbiAgICB3aXRob3V0V3JhcHBlcixcbiAgICBzaG93SW5DdXJzb3JQb3NpdGlvbiA9IGZhbHNlLFxuICAgIGdldFBvcHVwQ29udGFpbmVyID0gKCkgPT4gZG9jdW1lbnQuYm9keSxcbiAgICBnZXRUYXJnZXRET01Ob2RlLFxuICB9KSA9PiB7XG4gICAgY29uc3QgdGhlbWUgPSB1c2VUaGVtZSgpO1xuICAgIGNvbnN0IGN1cnJlbnRUcmFuc2Zvcm0gPSB0cmFuc2Zvcm0gJiYgIXNob3dJbkN1cnNvclBvc2l0aW9uO1xuXG4gICAgY29uc3QgeyByZWZzLCBmbG9hdGluZ1N0eWxlcywgY29udGV4dCwgZmxvYXRpbmdQbGFjZW1lbnQsIHNldEFycm93UmVmLCBhcnJvd1JlZiB9ID1cbiAgICAgIHVzZUN1c3RvbUZsb2F0aW5nKHtcbiAgICAgICAgcGxhY2VtZW50LFxuICAgICAgICBhdXRvQWRqdXN0T3ZlcmZsb3csXG4gICAgICAgIHdpdGhBcnJvdyxcbiAgICAgICAgYWxpZ24sXG4gICAgICAgIHRyYW5zZm9ybTogY3VycmVudFRyYW5zZm9ybSxcbiAgICAgIH0pO1xuXG4gICAgY29uc3Qge1xuICAgICAgaXNPcGVuLFxuICAgICAgaGFuZGxlUG9pbnRlckVudGVyLFxuICAgICAgaGFuZGxlUG9pbnRlckxlYXZlLFxuICAgICAgaGFuZGxlRm9jdXMsXG4gICAgICBoYW5kbGVCbHVyLFxuICAgICAgaGFuZGxlQ2xpY2ssXG4gICAgICBoYW5kbGVDb250ZXh0TWVudSxcbiAgICAgIGhhbmRsZVBvaW50ZXJVcCxcbiAgICB9ID0gdXNlU2hvd1Rvb2x0aXBDb250cm9sbGVyKHtcbiAgICAgIHRyaWdnZXIsXG4gICAgICBkZWZhdWx0T3BlbixcbiAgICAgIG9wZW4sXG4gICAgICBtb3VzZUVudGVyRGVsYXksXG4gICAgICBtb3VzZUxlYXZlRGVsYXksXG4gICAgICBzaG93SW5DdXJzb3JQb3NpdGlvbixcbiAgICAgIHBsYWNlbWVudDogZmxvYXRpbmdQbGFjZW1lbnQsXG4gICAgICByZWZzLFxuICAgICAgb25PcGVuQ2hhbmdlLFxuICAgICAgYXJyb3dSZWYsXG4gICAgfSk7XG5cbiAgICBjb25zdCB7IHNldFRhcmdldFJlZiB9ID0gdXNlVGFyZ2V0UmVmQ29udHJvbGxlcih7XG4gICAgICBnZXRUYXJnZXRET01Ob2RlLFxuICAgICAgcmVmcyxcbiAgICAgIGhhbmRsZVBvaW50ZXJFbnRlcixcbiAgICAgIGhhbmRsZVBvaW50ZXJMZWF2ZSxcbiAgICAgIGhhbmRsZUZvY3VzLFxuICAgICAgaGFuZGxlQmx1cixcbiAgICAgIGhhbmRsZUNsaWNrLFxuICAgICAgaGFuZGxlQ29udGV4dE1lbnUsXG4gICAgICBoYW5kbGVQb2ludGVyVXAsXG4gICAgfSk7XG5cbiAgICBjb25zdCBhcnJvd1BsYWNlbWVudENvcnJlY3Rpb24gPSBnZXRBcnJvd1BsYWNlbWVudENvcnJlY3Rpb24oZmxvYXRpbmdQbGFjZW1lbnQsIHJlZnMsIGFsaWduKTtcblxuICAgIGNvbnN0IHJlbmRlckZsb2F0aW5nRWxlbWVudCA9ICgpID0+IHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxkaXZcbiAgICAgICAgICByZWY9e3JlZnMuc2V0RmxvYXRpbmd9XG4gICAgICAgICAgY3NzPXtbXG4gICAgICAgICAgICBnZXRCYXNlVG9vbHRpcEZsb2F0aW5nV3JhcHBlclN0eWxlKGZsb2F0aW5nUGxhY2VtZW50LCB3aXRoQXJyb3csIGlzT3BlbiksXG4gICAgICAgICAgICBzdHlsZXM/LmZsb2F0aW5nV3JhcHBlcj8uKHRoZW1lKSxcbiAgICAgICAgICBdfVxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAuLi5mbG9hdGluZ1N0eWxlcyxcbiAgICAgICAgICAgIHdpZHRoOiAhY3VycmVudFRyYW5zZm9ybSA/IFwibWF4LWNvbnRlbnRcIiA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgIHpJbmRleCxcbiAgICAgICAgICB9fVxuICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lfVxuICAgICAgICA+XG4gICAgICAgICAge2Zsb2F0aW5nRWxlbWVudH1cbiAgICAgICAgICB7d2l0aEFycm93ICYmIChcbiAgICAgICAgICAgIDxGbG9hdGluZ0Fycm93XG4gICAgICAgICAgICAgIHJlZj17c2V0QXJyb3dSZWZ9XG4gICAgICAgICAgICAgIGNvbnRleHQ9e2NvbnRleHR9XG4gICAgICAgICAgICAgIHdpZHRoPXtBUlJPV19XSURUSH1cbiAgICAgICAgICAgICAgaGVpZ2h0PXtBUlJPV19IRUlHSFR9XG4gICAgICAgICAgICAgIGZpbGw9e2Fycm93Q29sb3J9XG4gICAgICAgICAgICAgIHN0eWxlPXthcnJvd1BsYWNlbWVudENvcnJlY3Rpb259XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICl9XG4gICAgICAgIDwvZGl2PlxuICAgICAgKTtcbiAgICB9O1xuXG4gICAgY29uc3QgY2hpbGRyZW5XaXRoUHJvcHMgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgIGlmICghd2l0aG91dFdyYXBwZXIpIHtcbiAgICAgICAgcmV0dXJuIGNoaWxkcmVuO1xuICAgICAgfVxuXG4gICAgICBsZXQgYWRkZWRQcm9wc0NvdW50ZXIgPSAwO1xuXG4gICAgICByZXR1cm4gUmVhY3QuQ2hpbGRyZW4ubWFwKGNoaWxkcmVuLCAoY2hpbGQpID0+IHtcbiAgICAgICAgaWYgKGFkZGVkUHJvcHNDb3VudGVyID4gMCB8fCAhUmVhY3QuaXNWYWxpZEVsZW1lbnQoY2hpbGQpKSB7XG4gICAgICAgICAgcmV0dXJuIGNoaWxkO1xuICAgICAgICB9XG5cbiAgICAgICAgYWRkZWRQcm9wc0NvdW50ZXIgKz0gMTtcblxuICAgICAgICByZXR1cm4gUmVhY3QuY2xvbmVFbGVtZW50KGNoaWxkLCB7XG4gICAgICAgICAgLi4uY2hpbGQucHJvcHMsXG4gICAgICAgICAgcmVmOiBzZXRUYXJnZXRSZWYsXG4gICAgICAgICAgb25Qb2ludGVyRW50ZXI6IGhhbmRsZVBvaW50ZXJFbnRlciA/PyBjaGlsZD8ucHJvcHM/Lm9uUG9pbnRlckVudGVyLFxuICAgICAgICAgIG9uUG9pbnRlckxlYXZlOiBoYW5kbGVQb2ludGVyTGVhdmUgPz8gY2hpbGQ/LnByb3BzPy5vblBvaW50ZXJMZWF2ZSxcbiAgICAgICAgICBvbkZvY3VzOiBoYW5kbGVGb2N1cyA/PyBjaGlsZD8ucHJvcHM/Lm9uRm9jdXMsXG4gICAgICAgICAgb25CbHVyOiBoYW5kbGVCbHVyID8/IGNoaWxkPy5wcm9wcz8ub25CbHVyLFxuICAgICAgICAgIG9uQ2xpY2s6IGhhbmRsZUNsaWNrID8/IGNoaWxkPy5wcm9wcz8ub25DbGljayxcbiAgICAgICAgICBvbkNvbnRleHRNZW51OiBoYW5kbGVDb250ZXh0TWVudSA/PyBjaGlsZD8ucHJvcHM/Lm9uQ29udGV4dE1lbnUsXG4gICAgICAgICAgb25Qb2ludGVyVXA6IGhhbmRsZVBvaW50ZXJVcCA/PyBjaGlsZD8ucHJvcHM/Lm9uUG9pbnRlclVwLFxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH0sIFtcbiAgICAgIGNoaWxkcmVuLFxuICAgICAgaGFuZGxlQmx1cixcbiAgICAgIGhhbmRsZUNsaWNrLFxuICAgICAgaGFuZGxlQ29udGV4dE1lbnUsXG4gICAgICBoYW5kbGVGb2N1cyxcbiAgICAgIGhhbmRsZVBvaW50ZXJFbnRlcixcbiAgICAgIGhhbmRsZVBvaW50ZXJMZWF2ZSxcbiAgICAgIGhhbmRsZVBvaW50ZXJVcCxcbiAgICAgIHNldFRhcmdldFJlZixcbiAgICAgIHdpdGhvdXRXcmFwcGVyLFxuICAgIF0pO1xuXG4gICAgY29uc3QgZ2V0RmxvYXRpbmdFbGVtZW50ID0gKCkgPT4ge1xuICAgICAgaWYgKCFpc09wZW4gJiYgIXNob3dJbkN1cnNvclBvc2l0aW9uKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gY3JlYXRlUG9ydGFsKFxuICAgICAgICByZW5kZXJGbG9hdGluZ0VsZW1lbnQoKSxcbiAgICAgICAgZ2V0UG9wdXBDb250YWluZXIocmVmcy5kb21SZWZlcmVuY2UuY3VycmVudCA/PyBkb2N1bWVudC5ib2R5KVxuICAgICAgKTtcbiAgICB9O1xuXG4gICAgaWYgKGlzTmlsKGdldFRhcmdldERPTU5vZGUpICYmIGlzTmlsKGNoaWxkcmVuKSAmJiBpc1VuZGVmaW5lZChvcGVuKSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgaWYgKGlzRnVuY3Rpb24oZ2V0VGFyZ2V0RE9NTm9kZSkpIHtcbiAgICAgIGlmIChpc051bGwoZ2V0VGFyZ2V0RE9NTm9kZSgpKSkge1xuICAgICAgICByZXR1cm4gY2hpbGRyZW47XG4gICAgICB9XG5cbiAgICAgIHJldHVybiAoXG4gICAgICAgIDw+XG4gICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICAgIHtnZXRGbG9hdGluZ0VsZW1lbnQoKX1cbiAgICAgICAgPC8+XG4gICAgICApO1xuICAgIH1cblxuICAgIGlmICh3aXRob3V0V3JhcHBlcikge1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgPD5cbiAgICAgICAgICB7Y2hpbGRyZW5XaXRoUHJvcHN9XG4gICAgICAgICAge2dldEZsb2F0aW5nRWxlbWVudCgpfVxuICAgICAgICA8Lz5cbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXZcbiAgICAgICAgcmVmPXtzZXRUYXJnZXRSZWZ9XG4gICAgICAgIGNzcz17W2Jhc2VUb29sdGlwUmVmZXJlbmNlV3JhcHBlclN0eWxlLCBzdHlsZXM/LnJlZmVyZW5jZVdyYXBwZXI/Lih0aGVtZSldfVxuICAgICAgICBvblBvaW50ZXJFbnRlcj17aGFuZGxlUG9pbnRlckVudGVyfVxuICAgICAgICBvblBvaW50ZXJMZWF2ZT17aGFuZGxlUG9pbnRlckxlYXZlfVxuICAgICAgICBvbkZvY3VzPXtoYW5kbGVGb2N1c31cbiAgICAgICAgb25CbHVyPXtoYW5kbGVCbHVyfVxuICAgICAgICBvbkNsaWNrPXtoYW5kbGVDbGlja31cbiAgICAgICAgb25Db250ZXh0TWVudT17aGFuZGxlQ29udGV4dE1lbnV9XG4gICAgICAgIG9uUG9pbnRlclVwPXtoYW5kbGVQb2ludGVyVXB9XG4gICAgICA+XG4gICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAge2dldEZsb2F0aW5nRWxlbWVudCgpfVxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfVxuKTtcbiJdfQ== */"], style: {
91
+ return /* @__PURE__ */ jsxs("div", { ref: refs.setFloating, css: [getBaseTooltipFloatingWrapperStyle(floatingPlacement, withArrow, isOpen), (_a2 = styles == null ? void 0 : styles.floatingWrapper) == null ? void 0 : _a2.call(styles, theme), process.env.NODE_ENV === "production" ? "" : ";label:renderFloatingElement;", process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9idWlsZHMvZnJvbnRlbmQvbGlicy91aS1raXQvc3JjL2NvbXBvbmVudHMvQmFzZVRvb2x0aXAvQmFzZVRvb2x0aXAudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWtHVSIsImZpbGUiOiIvYnVpbGRzL2Zyb250ZW5kL2xpYnMvdWkta2l0L3NyYy9jb21wb25lbnRzL0Jhc2VUb29sdGlwL0Jhc2VUb29sdGlwLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB0eXBlIEZDLCBtZW1vLCB0eXBlIFByb3BzV2l0aENoaWxkcmVuLCB1c2VNZW1vIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgdHlwZSB7IEJhc2VUb29sdGlwUHJvcHMsIEJhc2VUb29sdGlwVHJpZ2dlclR5cGUgfSBmcm9tIFwiLi9CYXNlVG9vbHRpcC50eXBlc1wiO1xuaW1wb3J0IHsgRmxvYXRpbmdBcnJvdyB9IGZyb20gXCJAZmxvYXRpbmctdWkvcmVhY3RcIjtcbmltcG9ydCB7XG4gIEFSUk9XX0hFSUdIVCxcbiAgQVJST1dfV0lEVEgsXG4gIGdldEFycm93UGxhY2VtZW50Q29ycmVjdGlvbixcbiAgTWF4X1pJbmRleCxcbn0gZnJvbSBcIi4vQmFzZVRvb2x0aXAudXRpbHNcIjtcbmltcG9ydCB7IGNyZWF0ZVBvcnRhbCB9IGZyb20gXCJyZWFjdC1kb21cIjtcbmltcG9ydCB7IHVzZVNob3dUb29sdGlwQ29udHJvbGxlciB9IGZyb20gXCIuL2hvb2tzL3VzZVNob3dUb29sdGlwQ29udHJvbGxlclwiO1xuaW1wb3J0IHtcbiAgYmFzZVRvb2x0aXBSZWZlcmVuY2VXcmFwcGVyU3R5bGUsXG4gIGdldEJhc2VUb29sdGlwRmxvYXRpbmdXcmFwcGVyU3R5bGUsXG59IGZyb20gXCIuL0Jhc2VUb29sdGlwLnN0eWxlc1wiO1xuaW1wb3J0IHsgdXNlVGhlbWUgfSBmcm9tIFwiaG9va3MvdXNlVGhlbWVcIjtcbmltcG9ydCB7IHVzZUN1c3RvbUZsb2F0aW5nIH0gZnJvbSBcIi4vaG9va3MvdXNlQ3VzdG9tRmxvYXRpbmdcIjtcbmltcG9ydCB7IHVzZVRhcmdldFJlZkNvbnRyb2xsZXIgfSBmcm9tIFwiLi9ob29rcy91c2VUYXJnZXRSZWZDb250cm9sbGVyXCI7XG5pbXBvcnQgeyBpc0Z1bmN0aW9uLCBpc05pbCwgaXNOdWxsLCBpc1VuZGVmaW5lZCB9IGZyb20gXCJsb2Rhc2gtZXNcIjtcblxuZXhwb3J0IGNvbnN0IEJhc2VUb29sdGlwOiBGQzxQcm9wc1dpdGhDaGlsZHJlbjxCYXNlVG9vbHRpcFByb3BzPj4gPSBtZW1vKFxuICAoe1xuICAgIGZsb2F0aW5nRWxlbWVudCxcbiAgICBhcnJvd0NvbG9yLFxuICAgIHdpdGhBcnJvdyA9IHRydWUsXG4gICAgcGxhY2VtZW50ID0gXCJ0b3BcIixcbiAgICBhdXRvQWRqdXN0T3ZlcmZsb3cgPSB0cnVlLFxuICAgIGRlZmF1bHRPcGVuID0gZmFsc2UsXG4gICAgb3BlbixcbiAgICB6SW5kZXggPSBNYXhfWkluZGV4LFxuICAgIHRyaWdnZXIgPSBbXCJjbGlja1wiIGFzIEJhc2VUb29sdGlwVHJpZ2dlclR5cGVdLFxuICAgIG1vdXNlRW50ZXJEZWxheSA9IDAuMSxcbiAgICBtb3VzZUxlYXZlRGVsYXkgPSAwLjEsXG4gICAgYWxpZ24sXG4gICAgdHJhbnNmb3JtID0gdHJ1ZSxcbiAgICBjbGFzc05hbWUsXG4gICAgd2l0aG91dFdyYXBwZXIsXG4gICAgb25PcGVuQ2hhbmdlLFxuICAgIGNoaWxkcmVuLFxuICAgIHN0eWxlcyxcbiAgICBzaG93SW5DdXJzb3JQb3NpdGlvbiA9IGZhbHNlLFxuICAgIGdldFBvcHVwQ29udGFpbmVyID0gKCkgPT4gZG9jdW1lbnQuYm9keSxcbiAgICBvbkNvbnRleHRNZW51LFxuICAgIGdldFRhcmdldERPTU5vZGUsXG4gIH0pID0+IHtcbiAgICBjb25zdCB0aGVtZSA9IHVzZVRoZW1lKCk7XG4gICAgY29uc3QgY3VycmVudFRyYW5zZm9ybSA9IHRyYW5zZm9ybSAmJiAhc2hvd0luQ3Vyc29yUG9zaXRpb247XG5cbiAgICBjb25zdCB7IHJlZnMsIGZsb2F0aW5nU3R5bGVzLCBjb250ZXh0LCBmbG9hdGluZ1BsYWNlbWVudCwgc2V0QXJyb3dSZWYsIGFycm93UmVmIH0gPVxuICAgICAgdXNlQ3VzdG9tRmxvYXRpbmcoe1xuICAgICAgICBwbGFjZW1lbnQsXG4gICAgICAgIGF1dG9BZGp1c3RPdmVyZmxvdyxcbiAgICAgICAgd2l0aEFycm93LFxuICAgICAgICBhbGlnbixcbiAgICAgICAgdHJhbnNmb3JtOiBjdXJyZW50VHJhbnNmb3JtLFxuICAgICAgfSk7XG5cbiAgICBjb25zdCB7XG4gICAgICBpc09wZW4sXG4gICAgICBoYW5kbGVQb2ludGVyRW50ZXIsXG4gICAgICBoYW5kbGVQb2ludGVyTGVhdmUsXG4gICAgICBoYW5kbGVGb2N1cyxcbiAgICAgIGhhbmRsZUJsdXIsXG4gICAgICBoYW5kbGVDbGljayxcbiAgICAgIGhhbmRsZUNvbnRleHRNZW51LFxuICAgICAgaGFuZGxlUG9pbnRlclVwLFxuICAgIH0gPSB1c2VTaG93VG9vbHRpcENvbnRyb2xsZXIoe1xuICAgICAgdHJpZ2dlcixcbiAgICAgIGRlZmF1bHRPcGVuLFxuICAgICAgb3BlbixcbiAgICAgIG1vdXNlRW50ZXJEZWxheSxcbiAgICAgIG1vdXNlTGVhdmVEZWxheSxcbiAgICAgIHNob3dJbkN1cnNvclBvc2l0aW9uLFxuICAgICAgcGxhY2VtZW50OiBmbG9hdGluZ1BsYWNlbWVudCxcbiAgICAgIHJlZnMsXG4gICAgICBvbk9wZW5DaGFuZ2UsXG4gICAgICBvbkNvbnRleHRNZW51LFxuICAgICAgYXJyb3dSZWYsXG4gICAgfSk7XG5cbiAgICBjb25zdCB7IHNldFRhcmdldFJlZiB9ID0gdXNlVGFyZ2V0UmVmQ29udHJvbGxlcih7XG4gICAgICBnZXRUYXJnZXRET01Ob2RlLFxuICAgICAgcmVmcyxcbiAgICAgIGhhbmRsZVBvaW50ZXJFbnRlcixcbiAgICAgIGhhbmRsZVBvaW50ZXJMZWF2ZSxcbiAgICAgIGhhbmRsZUZvY3VzLFxuICAgICAgaGFuZGxlQmx1cixcbiAgICAgIGhhbmRsZUNsaWNrLFxuICAgICAgaGFuZGxlQ29udGV4dE1lbnUsXG4gICAgICBoYW5kbGVQb2ludGVyVXAsXG4gICAgfSk7XG5cbiAgICBjb25zdCBhcnJvd1BsYWNlbWVudENvcnJlY3Rpb24gPSBnZXRBcnJvd1BsYWNlbWVudENvcnJlY3Rpb24oZmxvYXRpbmdQbGFjZW1lbnQsIHJlZnMsIGFsaWduKTtcblxuICAgIGNvbnN0IHJlbmRlckZsb2F0aW5nRWxlbWVudCA9ICgpID0+IHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxkaXZcbiAgICAgICAgICByZWY9e3JlZnMuc2V0RmxvYXRpbmd9XG4gICAgICAgICAgY3NzPXtbXG4gICAgICAgICAgICBnZXRCYXNlVG9vbHRpcEZsb2F0aW5nV3JhcHBlclN0eWxlKGZsb2F0aW5nUGxhY2VtZW50LCB3aXRoQXJyb3csIGlzT3BlbiksXG4gICAgICAgICAgICBzdHlsZXM/LmZsb2F0aW5nV3JhcHBlcj8uKHRoZW1lKSxcbiAgICAgICAgICBdfVxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAuLi5mbG9hdGluZ1N0eWxlcyxcbiAgICAgICAgICAgIHdpZHRoOiAhY3VycmVudFRyYW5zZm9ybSA/IFwibWF4LWNvbnRlbnRcIiA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgIHpJbmRleCxcbiAgICAgICAgICB9fVxuICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lfVxuICAgICAgICA+XG4gICAgICAgICAge2Zsb2F0aW5nRWxlbWVudH1cbiAgICAgICAgICB7d2l0aEFycm93ICYmIChcbiAgICAgICAgICAgIDxGbG9hdGluZ0Fycm93XG4gICAgICAgICAgICAgIHJlZj17c2V0QXJyb3dSZWZ9XG4gICAgICAgICAgICAgIGNvbnRleHQ9e2NvbnRleHR9XG4gICAgICAgICAgICAgIHdpZHRoPXtBUlJPV19XSURUSH1cbiAgICAgICAgICAgICAgaGVpZ2h0PXtBUlJPV19IRUlHSFR9XG4gICAgICAgICAgICAgIGZpbGw9e2Fycm93Q29sb3J9XG4gICAgICAgICAgICAgIHN0eWxlPXthcnJvd1BsYWNlbWVudENvcnJlY3Rpb259XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICl9XG4gICAgICAgIDwvZGl2PlxuICAgICAgKTtcbiAgICB9O1xuXG4gICAgY29uc3QgY2hpbGRyZW5XaXRoUHJvcHMgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgIGlmICghd2l0aG91dFdyYXBwZXIpIHtcbiAgICAgICAgcmV0dXJuIGNoaWxkcmVuO1xuICAgICAgfVxuXG4gICAgICBsZXQgYWRkZWRQcm9wc0NvdW50ZXIgPSAwO1xuXG4gICAgICByZXR1cm4gUmVhY3QuQ2hpbGRyZW4ubWFwKGNoaWxkcmVuLCAoY2hpbGQpID0+IHtcbiAgICAgICAgaWYgKGFkZGVkUHJvcHNDb3VudGVyID4gMCB8fCAhUmVhY3QuaXNWYWxpZEVsZW1lbnQoY2hpbGQpKSB7XG4gICAgICAgICAgcmV0dXJuIGNoaWxkO1xuICAgICAgICB9XG5cbiAgICAgICAgYWRkZWRQcm9wc0NvdW50ZXIgKz0gMTtcblxuICAgICAgICByZXR1cm4gUmVhY3QuY2xvbmVFbGVtZW50KGNoaWxkLCB7XG4gICAgICAgICAgLi4uY2hpbGQucHJvcHMsXG4gICAgICAgICAgcmVmOiBzZXRUYXJnZXRSZWYsXG4gICAgICAgICAgb25Qb2ludGVyRW50ZXI6IGhhbmRsZVBvaW50ZXJFbnRlciA/PyBjaGlsZD8ucHJvcHM/Lm9uUG9pbnRlckVudGVyLFxuICAgICAgICAgIG9uUG9pbnRlckxlYXZlOiBoYW5kbGVQb2ludGVyTGVhdmUgPz8gY2hpbGQ/LnByb3BzPy5vblBvaW50ZXJMZWF2ZSxcbiAgICAgICAgICBvbkZvY3VzOiBoYW5kbGVGb2N1cyA/PyBjaGlsZD8ucHJvcHM/Lm9uRm9jdXMsXG4gICAgICAgICAgb25CbHVyOiBoYW5kbGVCbHVyID8/IGNoaWxkPy5wcm9wcz8ub25CbHVyLFxuICAgICAgICAgIG9uQ2xpY2s6IGhhbmRsZUNsaWNrID8/IGNoaWxkPy5wcm9wcz8ub25DbGljayxcbiAgICAgICAgICBvbkNvbnRleHRNZW51OiBoYW5kbGVDb250ZXh0TWVudSA/PyBjaGlsZD8ucHJvcHM/Lm9uQ29udGV4dE1lbnUsXG4gICAgICAgICAgb25Qb2ludGVyVXA6IGhhbmRsZVBvaW50ZXJVcCA/PyBjaGlsZD8ucHJvcHM/Lm9uUG9pbnRlclVwLFxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH0sIFtcbiAgICAgIGNoaWxkcmVuLFxuICAgICAgaGFuZGxlQmx1cixcbiAgICAgIGhhbmRsZUNsaWNrLFxuICAgICAgaGFuZGxlQ29udGV4dE1lbnUsXG4gICAgICBoYW5kbGVGb2N1cyxcbiAgICAgIGhhbmRsZVBvaW50ZXJFbnRlcixcbiAgICAgIGhhbmRsZVBvaW50ZXJMZWF2ZSxcbiAgICAgIGhhbmRsZVBvaW50ZXJVcCxcbiAgICAgIHNldFRhcmdldFJlZixcbiAgICAgIHdpdGhvdXRXcmFwcGVyLFxuICAgIF0pO1xuXG4gICAgY29uc3QgZ2V0RmxvYXRpbmdFbGVtZW50ID0gKCkgPT4ge1xuICAgICAgaWYgKCFpc09wZW4gJiYgIXNob3dJbkN1cnNvclBvc2l0aW9uKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gY3JlYXRlUG9ydGFsKFxuICAgICAgICByZW5kZXJGbG9hdGluZ0VsZW1lbnQoKSxcbiAgICAgICAgZ2V0UG9wdXBDb250YWluZXIocmVmcy5kb21SZWZlcmVuY2UuY3VycmVudCA/PyBkb2N1bWVudC5ib2R5KVxuICAgICAgKTtcbiAgICB9O1xuXG4gICAgaWYgKGlzTmlsKGdldFRhcmdldERPTU5vZGUpICYmIGlzTmlsKGNoaWxkcmVuKSAmJiBpc1VuZGVmaW5lZChvcGVuKSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgaWYgKGlzRnVuY3Rpb24oZ2V0VGFyZ2V0RE9NTm9kZSkpIHtcbiAgICAgIGlmIChpc051bGwoZ2V0VGFyZ2V0RE9NTm9kZSgpKSkge1xuICAgICAgICByZXR1cm4gY2hpbGRyZW47XG4gICAgICB9XG5cbiAgICAgIHJldHVybiAoXG4gICAgICAgIDw+XG4gICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICAgIHtnZXRGbG9hdGluZ0VsZW1lbnQoKX1cbiAgICAgICAgPC8+XG4gICAgICApO1xuICAgIH1cblxuICAgIGlmICh3aXRob3V0V3JhcHBlcikge1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgPD5cbiAgICAgICAgICB7Y2hpbGRyZW5XaXRoUHJvcHN9XG4gICAgICAgICAge2dldEZsb2F0aW5nRWxlbWVudCgpfVxuICAgICAgICA8Lz5cbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXZcbiAgICAgICAgcmVmPXtzZXRUYXJnZXRSZWZ9XG4gICAgICAgIGNzcz17W2Jhc2VUb29sdGlwUmVmZXJlbmNlV3JhcHBlclN0eWxlLCBzdHlsZXM/LnJlZmVyZW5jZVdyYXBwZXI/Lih0aGVtZSldfVxuICAgICAgICBvblBvaW50ZXJFbnRlcj17aGFuZGxlUG9pbnRlckVudGVyfVxuICAgICAgICBvblBvaW50ZXJMZWF2ZT17aGFuZGxlUG9pbnRlckxlYXZlfVxuICAgICAgICBvbkZvY3VzPXtoYW5kbGVGb2N1c31cbiAgICAgICAgb25CbHVyPXtoYW5kbGVCbHVyfVxuICAgICAgICBvbkNsaWNrPXtoYW5kbGVDbGlja31cbiAgICAgICAgb25Db250ZXh0TWVudT17aGFuZGxlQ29udGV4dE1lbnV9XG4gICAgICAgIG9uUG9pbnRlclVwPXtoYW5kbGVQb2ludGVyVXB9XG4gICAgICAgIG9uTW91c2VEb3duPXsoZSkgPT4ge1xuICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAge2dldEZsb2F0aW5nRWxlbWVudCgpfVxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfVxuKTtcbiJdfQ== */"], style: {
90
92
  ...floatingStyles,
91
93
  width: !currentTransform ? "max-content" : void 0,
92
94
  zIndex
@@ -143,7 +145,9 @@ const BaseTooltip = memo(({
143
145
  getFloatingElement()
144
146
  ] });
145
147
  }
146
- return /* @__PURE__ */ jsxs("div", { ref: setTargetRef, css: [baseTooltipReferenceWrapperStyle, (_a = styles == null ? void 0 : styles.referenceWrapper) == null ? void 0 : _a.call(styles, theme), process.env.NODE_ENV === "production" ? "" : ";label:BaseTooltip;", process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9idWlsZHMvZnJvbnRlbmQvbGlicy91aS1raXQvc3JjL2NvbXBvbmVudHMvQmFzZVRvb2x0aXAvQmFzZVRvb2x0aXAudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXlNUSIsImZpbGUiOiIvYnVpbGRzL2Zyb250ZW5kL2xpYnMvdWkta2l0L3NyYy9jb21wb25lbnRzL0Jhc2VUb29sdGlwL0Jhc2VUb29sdGlwLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB0eXBlIEZDLCBtZW1vLCB0eXBlIFByb3BzV2l0aENoaWxkcmVuLCB1c2VNZW1vIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgdHlwZSB7IEJhc2VUb29sdGlwUHJvcHMsIEJhc2VUb29sdGlwVHJpZ2dlclR5cGUgfSBmcm9tIFwiLi9CYXNlVG9vbHRpcC50eXBlc1wiO1xuaW1wb3J0IHsgRmxvYXRpbmdBcnJvdyB9IGZyb20gXCJAZmxvYXRpbmctdWkvcmVhY3RcIjtcbmltcG9ydCB7XG4gIEFSUk9XX0hFSUdIVCxcbiAgQVJST1dfV0lEVEgsXG4gIGdldEFycm93UGxhY2VtZW50Q29ycmVjdGlvbixcbiAgTWF4X1pJbmRleCxcbn0gZnJvbSBcIi4vQmFzZVRvb2x0aXAudXRpbHNcIjtcbmltcG9ydCB7IGNyZWF0ZVBvcnRhbCB9IGZyb20gXCJyZWFjdC1kb21cIjtcbmltcG9ydCB7IHVzZVNob3dUb29sdGlwQ29udHJvbGxlciB9IGZyb20gXCIuL2hvb2tzL3VzZVNob3dUb29sdGlwQ29udHJvbGxlclwiO1xuaW1wb3J0IHtcbiAgYmFzZVRvb2x0aXBSZWZlcmVuY2VXcmFwcGVyU3R5bGUsXG4gIGdldEJhc2VUb29sdGlwRmxvYXRpbmdXcmFwcGVyU3R5bGUsXG59IGZyb20gXCIuL0Jhc2VUb29sdGlwLnN0eWxlc1wiO1xuaW1wb3J0IHsgdXNlVGhlbWUgfSBmcm9tIFwiaG9va3MvdXNlVGhlbWVcIjtcbmltcG9ydCB7IHVzZUN1c3RvbUZsb2F0aW5nIH0gZnJvbSBcIi4vaG9va3MvdXNlQ3VzdG9tRmxvYXRpbmdcIjtcbmltcG9ydCB7IHVzZVRhcmdldFJlZkNvbnRyb2xsZXIgfSBmcm9tIFwiLi9ob29rcy91c2VUYXJnZXRSZWZDb250cm9sbGVyXCI7XG5pbXBvcnQgeyBpc0Z1bmN0aW9uLCBpc05pbCwgaXNOdWxsLCBpc1VuZGVmaW5lZCB9IGZyb20gXCJsb2Rhc2gtZXNcIjtcblxuZXhwb3J0IGNvbnN0IEJhc2VUb29sdGlwOiBGQzxQcm9wc1dpdGhDaGlsZHJlbjxCYXNlVG9vbHRpcFByb3BzPj4gPSBtZW1vKFxuICAoe1xuICAgIGZsb2F0aW5nRWxlbWVudCxcbiAgICBhcnJvd0NvbG9yLFxuICAgIHdpdGhBcnJvdyA9IHRydWUsXG4gICAgcGxhY2VtZW50ID0gXCJ0b3BcIixcbiAgICBhdXRvQWRqdXN0T3ZlcmZsb3cgPSB0cnVlLFxuICAgIGRlZmF1bHRPcGVuID0gZmFsc2UsXG4gICAgb3BlbixcbiAgICB6SW5kZXggPSBNYXhfWkluZGV4LFxuICAgIHRyaWdnZXIgPSBbXCJjbGlja1wiIGFzIEJhc2VUb29sdGlwVHJpZ2dlclR5cGVdLFxuICAgIG1vdXNlRW50ZXJEZWxheSA9IDAuMSxcbiAgICBtb3VzZUxlYXZlRGVsYXkgPSAwLjEsXG4gICAgYWxpZ24sXG4gICAgdHJhbnNmb3JtID0gdHJ1ZSxcbiAgICBjbGFzc05hbWUsXG4gICAgb25PcGVuQ2hhbmdlLFxuICAgIGNoaWxkcmVuLFxuICAgIHN0eWxlcyxcbiAgICB3aXRob3V0V3JhcHBlcixcbiAgICBzaG93SW5DdXJzb3JQb3NpdGlvbiA9IGZhbHNlLFxuICAgIGdldFBvcHVwQ29udGFpbmVyID0gKCkgPT4gZG9jdW1lbnQuYm9keSxcbiAgICBnZXRUYXJnZXRET01Ob2RlLFxuICB9KSA9PiB7XG4gICAgY29uc3QgdGhlbWUgPSB1c2VUaGVtZSgpO1xuICAgIGNvbnN0IGN1cnJlbnRUcmFuc2Zvcm0gPSB0cmFuc2Zvcm0gJiYgIXNob3dJbkN1cnNvclBvc2l0aW9uO1xuXG4gICAgY29uc3QgeyByZWZzLCBmbG9hdGluZ1N0eWxlcywgY29udGV4dCwgZmxvYXRpbmdQbGFjZW1lbnQsIHNldEFycm93UmVmLCBhcnJvd1JlZiB9ID1cbiAgICAgIHVzZUN1c3RvbUZsb2F0aW5nKHtcbiAgICAgICAgcGxhY2VtZW50LFxuICAgICAgICBhdXRvQWRqdXN0T3ZlcmZsb3csXG4gICAgICAgIHdpdGhBcnJvdyxcbiAgICAgICAgYWxpZ24sXG4gICAgICAgIHRyYW5zZm9ybTogY3VycmVudFRyYW5zZm9ybSxcbiAgICAgIH0pO1xuXG4gICAgY29uc3Qge1xuICAgICAgaXNPcGVuLFxuICAgICAgaGFuZGxlUG9pbnRlckVudGVyLFxuICAgICAgaGFuZGxlUG9pbnRlckxlYXZlLFxuICAgICAgaGFuZGxlRm9jdXMsXG4gICAgICBoYW5kbGVCbHVyLFxuICAgICAgaGFuZGxlQ2xpY2ssXG4gICAgICBoYW5kbGVDb250ZXh0TWVudSxcbiAgICAgIGhhbmRsZVBvaW50ZXJVcCxcbiAgICB9ID0gdXNlU2hvd1Rvb2x0aXBDb250cm9sbGVyKHtcbiAgICAgIHRyaWdnZXIsXG4gICAgICBkZWZhdWx0T3BlbixcbiAgICAgIG9wZW4sXG4gICAgICBtb3VzZUVudGVyRGVsYXksXG4gICAgICBtb3VzZUxlYXZlRGVsYXksXG4gICAgICBzaG93SW5DdXJzb3JQb3NpdGlvbixcbiAgICAgIHBsYWNlbWVudDogZmxvYXRpbmdQbGFjZW1lbnQsXG4gICAgICByZWZzLFxuICAgICAgb25PcGVuQ2hhbmdlLFxuICAgICAgYXJyb3dSZWYsXG4gICAgfSk7XG5cbiAgICBjb25zdCB7IHNldFRhcmdldFJlZiB9ID0gdXNlVGFyZ2V0UmVmQ29udHJvbGxlcih7XG4gICAgICBnZXRUYXJnZXRET01Ob2RlLFxuICAgICAgcmVmcyxcbiAgICAgIGhhbmRsZVBvaW50ZXJFbnRlcixcbiAgICAgIGhhbmRsZVBvaW50ZXJMZWF2ZSxcbiAgICAgIGhhbmRsZUZvY3VzLFxuICAgICAgaGFuZGxlQmx1cixcbiAgICAgIGhhbmRsZUNsaWNrLFxuICAgICAgaGFuZGxlQ29udGV4dE1lbnUsXG4gICAgICBoYW5kbGVQb2ludGVyVXAsXG4gICAgfSk7XG5cbiAgICBjb25zdCBhcnJvd1BsYWNlbWVudENvcnJlY3Rpb24gPSBnZXRBcnJvd1BsYWNlbWVudENvcnJlY3Rpb24oZmxvYXRpbmdQbGFjZW1lbnQsIHJlZnMsIGFsaWduKTtcblxuICAgIGNvbnN0IHJlbmRlckZsb2F0aW5nRWxlbWVudCA9ICgpID0+IHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxkaXZcbiAgICAgICAgICByZWY9e3JlZnMuc2V0RmxvYXRpbmd9XG4gICAgICAgICAgY3NzPXtbXG4gICAgICAgICAgICBnZXRCYXNlVG9vbHRpcEZsb2F0aW5nV3JhcHBlclN0eWxlKGZsb2F0aW5nUGxhY2VtZW50LCB3aXRoQXJyb3csIGlzT3BlbiksXG4gICAgICAgICAgICBzdHlsZXM/LmZsb2F0aW5nV3JhcHBlcj8uKHRoZW1lKSxcbiAgICAgICAgICBdfVxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAuLi5mbG9hdGluZ1N0eWxlcyxcbiAgICAgICAgICAgIHdpZHRoOiAhY3VycmVudFRyYW5zZm9ybSA/IFwibWF4LWNvbnRlbnRcIiA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgIHpJbmRleCxcbiAgICAgICAgICB9fVxuICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lfVxuICAgICAgICA+XG4gICAgICAgICAge2Zsb2F0aW5nRWxlbWVudH1cbiAgICAgICAgICB7d2l0aEFycm93ICYmIChcbiAgICAgICAgICAgIDxGbG9hdGluZ0Fycm93XG4gICAgICAgICAgICAgIHJlZj17c2V0QXJyb3dSZWZ9XG4gICAgICAgICAgICAgIGNvbnRleHQ9e2NvbnRleHR9XG4gICAgICAgICAgICAgIHdpZHRoPXtBUlJPV19XSURUSH1cbiAgICAgICAgICAgICAgaGVpZ2h0PXtBUlJPV19IRUlHSFR9XG4gICAgICAgICAgICAgIGZpbGw9e2Fycm93Q29sb3J9XG4gICAgICAgICAgICAgIHN0eWxlPXthcnJvd1BsYWNlbWVudENvcnJlY3Rpb259XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICl9XG4gICAgICAgIDwvZGl2PlxuICAgICAgKTtcbiAgICB9O1xuXG4gICAgY29uc3QgY2hpbGRyZW5XaXRoUHJvcHMgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgIGlmICghd2l0aG91dFdyYXBwZXIpIHtcbiAgICAgICAgcmV0dXJuIGNoaWxkcmVuO1xuICAgICAgfVxuXG4gICAgICBsZXQgYWRkZWRQcm9wc0NvdW50ZXIgPSAwO1xuXG4gICAgICByZXR1cm4gUmVhY3QuQ2hpbGRyZW4ubWFwKGNoaWxkcmVuLCAoY2hpbGQpID0+IHtcbiAgICAgICAgaWYgKGFkZGVkUHJvcHNDb3VudGVyID4gMCB8fCAhUmVhY3QuaXNWYWxpZEVsZW1lbnQoY2hpbGQpKSB7XG4gICAgICAgICAgcmV0dXJuIGNoaWxkO1xuICAgICAgICB9XG5cbiAgICAgICAgYWRkZWRQcm9wc0NvdW50ZXIgKz0gMTtcblxuICAgICAgICByZXR1cm4gUmVhY3QuY2xvbmVFbGVtZW50KGNoaWxkLCB7XG4gICAgICAgICAgLi4uY2hpbGQucHJvcHMsXG4gICAgICAgICAgcmVmOiBzZXRUYXJnZXRSZWYsXG4gICAgICAgICAgb25Qb2ludGVyRW50ZXI6IGhhbmRsZVBvaW50ZXJFbnRlciA/PyBjaGlsZD8ucHJvcHM/Lm9uUG9pbnRlckVudGVyLFxuICAgICAgICAgIG9uUG9pbnRlckxlYXZlOiBoYW5kbGVQb2ludGVyTGVhdmUgPz8gY2hpbGQ/LnByb3BzPy5vblBvaW50ZXJMZWF2ZSxcbiAgICAgICAgICBvbkZvY3VzOiBoYW5kbGVGb2N1cyA/PyBjaGlsZD8ucHJvcHM/Lm9uRm9jdXMsXG4gICAgICAgICAgb25CbHVyOiBoYW5kbGVCbHVyID8/IGNoaWxkPy5wcm9wcz8ub25CbHVyLFxuICAgICAgICAgIG9uQ2xpY2s6IGhhbmRsZUNsaWNrID8/IGNoaWxkPy5wcm9wcz8ub25DbGljayxcbiAgICAgICAgICBvbkNvbnRleHRNZW51OiBoYW5kbGVDb250ZXh0TWVudSA/PyBjaGlsZD8ucHJvcHM/Lm9uQ29udGV4dE1lbnUsXG4gICAgICAgICAgb25Qb2ludGVyVXA6IGhhbmRsZVBvaW50ZXJVcCA/PyBjaGlsZD8ucHJvcHM/Lm9uUG9pbnRlclVwLFxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH0sIFtcbiAgICAgIGNoaWxkcmVuLFxuICAgICAgaGFuZGxlQmx1cixcbiAgICAgIGhhbmRsZUNsaWNrLFxuICAgICAgaGFuZGxlQ29udGV4dE1lbnUsXG4gICAgICBoYW5kbGVGb2N1cyxcbiAgICAgIGhhbmRsZVBvaW50ZXJFbnRlcixcbiAgICAgIGhhbmRsZVBvaW50ZXJMZWF2ZSxcbiAgICAgIGhhbmRsZVBvaW50ZXJVcCxcbiAgICAgIHNldFRhcmdldFJlZixcbiAgICAgIHdpdGhvdXRXcmFwcGVyLFxuICAgIF0pO1xuXG4gICAgY29uc3QgZ2V0RmxvYXRpbmdFbGVtZW50ID0gKCkgPT4ge1xuICAgICAgaWYgKCFpc09wZW4gJiYgIXNob3dJbkN1cnNvclBvc2l0aW9uKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gY3JlYXRlUG9ydGFsKFxuICAgICAgICByZW5kZXJGbG9hdGluZ0VsZW1lbnQoKSxcbiAgICAgICAgZ2V0UG9wdXBDb250YWluZXIocmVmcy5kb21SZWZlcmVuY2UuY3VycmVudCA/PyBkb2N1bWVudC5ib2R5KVxuICAgICAgKTtcbiAgICB9O1xuXG4gICAgaWYgKGlzTmlsKGdldFRhcmdldERPTU5vZGUpICYmIGlzTmlsKGNoaWxkcmVuKSAmJiBpc1VuZGVmaW5lZChvcGVuKSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgaWYgKGlzRnVuY3Rpb24oZ2V0VGFyZ2V0RE9NTm9kZSkpIHtcbiAgICAgIGlmIChpc051bGwoZ2V0VGFyZ2V0RE9NTm9kZSgpKSkge1xuICAgICAgICByZXR1cm4gY2hpbGRyZW47XG4gICAgICB9XG5cbiAgICAgIHJldHVybiAoXG4gICAgICAgIDw+XG4gICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICAgIHtnZXRGbG9hdGluZ0VsZW1lbnQoKX1cbiAgICAgICAgPC8+XG4gICAgICApO1xuICAgIH1cblxuICAgIGlmICh3aXRob3V0V3JhcHBlcikge1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgPD5cbiAgICAgICAgICB7Y2hpbGRyZW5XaXRoUHJvcHN9XG4gICAgICAgICAge2dldEZsb2F0aW5nRWxlbWVudCgpfVxuICAgICAgICA8Lz5cbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXZcbiAgICAgICAgcmVmPXtzZXRUYXJnZXRSZWZ9XG4gICAgICAgIGNzcz17W2Jhc2VUb29sdGlwUmVmZXJlbmNlV3JhcHBlclN0eWxlLCBzdHlsZXM/LnJlZmVyZW5jZVdyYXBwZXI/Lih0aGVtZSldfVxuICAgICAgICBvblBvaW50ZXJFbnRlcj17aGFuZGxlUG9pbnRlckVudGVyfVxuICAgICAgICBvblBvaW50ZXJMZWF2ZT17aGFuZGxlUG9pbnRlckxlYXZlfVxuICAgICAgICBvbkZvY3VzPXtoYW5kbGVGb2N1c31cbiAgICAgICAgb25CbHVyPXtoYW5kbGVCbHVyfVxuICAgICAgICBvbkNsaWNrPXtoYW5kbGVDbGlja31cbiAgICAgICAgb25Db250ZXh0TWVudT17aGFuZGxlQ29udGV4dE1lbnV9XG4gICAgICAgIG9uUG9pbnRlclVwPXtoYW5kbGVQb2ludGVyVXB9XG4gICAgICA+XG4gICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAge2dldEZsb2F0aW5nRWxlbWVudCgpfVxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfVxuKTtcbiJdfQ== */"], onPointerEnter: handlePointerEnter, onPointerLeave: handlePointerLeave, onFocus: handleFocus, onBlur: handleBlur, onClick: handleClick, onContextMenu: handleContextMenu, onPointerUp: handlePointerUp, children: [
148
+ return /* @__PURE__ */ jsxs("div", { ref: setTargetRef, css: [baseTooltipReferenceWrapperStyle, (_a = styles == null ? void 0 : styles.referenceWrapper) == null ? void 0 : _a.call(styles, theme), process.env.NODE_ENV === "production" ? "" : ";label:BaseTooltip;", process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9idWlsZHMvZnJvbnRlbmQvbGlicy91aS1raXQvc3JjL2NvbXBvbmVudHMvQmFzZVRvb2x0aXAvQmFzZVRvb2x0aXAudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTJNUSIsImZpbGUiOiIvYnVpbGRzL2Zyb250ZW5kL2xpYnMvdWkta2l0L3NyYy9jb21wb25lbnRzL0Jhc2VUb29sdGlwL0Jhc2VUb29sdGlwLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB0eXBlIEZDLCBtZW1vLCB0eXBlIFByb3BzV2l0aENoaWxkcmVuLCB1c2VNZW1vIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgdHlwZSB7IEJhc2VUb29sdGlwUHJvcHMsIEJhc2VUb29sdGlwVHJpZ2dlclR5cGUgfSBmcm9tIFwiLi9CYXNlVG9vbHRpcC50eXBlc1wiO1xuaW1wb3J0IHsgRmxvYXRpbmdBcnJvdyB9IGZyb20gXCJAZmxvYXRpbmctdWkvcmVhY3RcIjtcbmltcG9ydCB7XG4gIEFSUk9XX0hFSUdIVCxcbiAgQVJST1dfV0lEVEgsXG4gIGdldEFycm93UGxhY2VtZW50Q29ycmVjdGlvbixcbiAgTWF4X1pJbmRleCxcbn0gZnJvbSBcIi4vQmFzZVRvb2x0aXAudXRpbHNcIjtcbmltcG9ydCB7IGNyZWF0ZVBvcnRhbCB9IGZyb20gXCJyZWFjdC1kb21cIjtcbmltcG9ydCB7IHVzZVNob3dUb29sdGlwQ29udHJvbGxlciB9IGZyb20gXCIuL2hvb2tzL3VzZVNob3dUb29sdGlwQ29udHJvbGxlclwiO1xuaW1wb3J0IHtcbiAgYmFzZVRvb2x0aXBSZWZlcmVuY2VXcmFwcGVyU3R5bGUsXG4gIGdldEJhc2VUb29sdGlwRmxvYXRpbmdXcmFwcGVyU3R5bGUsXG59IGZyb20gXCIuL0Jhc2VUb29sdGlwLnN0eWxlc1wiO1xuaW1wb3J0IHsgdXNlVGhlbWUgfSBmcm9tIFwiaG9va3MvdXNlVGhlbWVcIjtcbmltcG9ydCB7IHVzZUN1c3RvbUZsb2F0aW5nIH0gZnJvbSBcIi4vaG9va3MvdXNlQ3VzdG9tRmxvYXRpbmdcIjtcbmltcG9ydCB7IHVzZVRhcmdldFJlZkNvbnRyb2xsZXIgfSBmcm9tIFwiLi9ob29rcy91c2VUYXJnZXRSZWZDb250cm9sbGVyXCI7XG5pbXBvcnQgeyBpc0Z1bmN0aW9uLCBpc05pbCwgaXNOdWxsLCBpc1VuZGVmaW5lZCB9IGZyb20gXCJsb2Rhc2gtZXNcIjtcblxuZXhwb3J0IGNvbnN0IEJhc2VUb29sdGlwOiBGQzxQcm9wc1dpdGhDaGlsZHJlbjxCYXNlVG9vbHRpcFByb3BzPj4gPSBtZW1vKFxuICAoe1xuICAgIGZsb2F0aW5nRWxlbWVudCxcbiAgICBhcnJvd0NvbG9yLFxuICAgIHdpdGhBcnJvdyA9IHRydWUsXG4gICAgcGxhY2VtZW50ID0gXCJ0b3BcIixcbiAgICBhdXRvQWRqdXN0T3ZlcmZsb3cgPSB0cnVlLFxuICAgIGRlZmF1bHRPcGVuID0gZmFsc2UsXG4gICAgb3BlbixcbiAgICB6SW5kZXggPSBNYXhfWkluZGV4LFxuICAgIHRyaWdnZXIgPSBbXCJjbGlja1wiIGFzIEJhc2VUb29sdGlwVHJpZ2dlclR5cGVdLFxuICAgIG1vdXNlRW50ZXJEZWxheSA9IDAuMSxcbiAgICBtb3VzZUxlYXZlRGVsYXkgPSAwLjEsXG4gICAgYWxpZ24sXG4gICAgdHJhbnNmb3JtID0gdHJ1ZSxcbiAgICBjbGFzc05hbWUsXG4gICAgd2l0aG91dFdyYXBwZXIsXG4gICAgb25PcGVuQ2hhbmdlLFxuICAgIGNoaWxkcmVuLFxuICAgIHN0eWxlcyxcbiAgICBzaG93SW5DdXJzb3JQb3NpdGlvbiA9IGZhbHNlLFxuICAgIGdldFBvcHVwQ29udGFpbmVyID0gKCkgPT4gZG9jdW1lbnQuYm9keSxcbiAgICBvbkNvbnRleHRNZW51LFxuICAgIGdldFRhcmdldERPTU5vZGUsXG4gIH0pID0+IHtcbiAgICBjb25zdCB0aGVtZSA9IHVzZVRoZW1lKCk7XG4gICAgY29uc3QgY3VycmVudFRyYW5zZm9ybSA9IHRyYW5zZm9ybSAmJiAhc2hvd0luQ3Vyc29yUG9zaXRpb247XG5cbiAgICBjb25zdCB7IHJlZnMsIGZsb2F0aW5nU3R5bGVzLCBjb250ZXh0LCBmbG9hdGluZ1BsYWNlbWVudCwgc2V0QXJyb3dSZWYsIGFycm93UmVmIH0gPVxuICAgICAgdXNlQ3VzdG9tRmxvYXRpbmcoe1xuICAgICAgICBwbGFjZW1lbnQsXG4gICAgICAgIGF1dG9BZGp1c3RPdmVyZmxvdyxcbiAgICAgICAgd2l0aEFycm93LFxuICAgICAgICBhbGlnbixcbiAgICAgICAgdHJhbnNmb3JtOiBjdXJyZW50VHJhbnNmb3JtLFxuICAgICAgfSk7XG5cbiAgICBjb25zdCB7XG4gICAgICBpc09wZW4sXG4gICAgICBoYW5kbGVQb2ludGVyRW50ZXIsXG4gICAgICBoYW5kbGVQb2ludGVyTGVhdmUsXG4gICAgICBoYW5kbGVGb2N1cyxcbiAgICAgIGhhbmRsZUJsdXIsXG4gICAgICBoYW5kbGVDbGljayxcbiAgICAgIGhhbmRsZUNvbnRleHRNZW51LFxuICAgICAgaGFuZGxlUG9pbnRlclVwLFxuICAgIH0gPSB1c2VTaG93VG9vbHRpcENvbnRyb2xsZXIoe1xuICAgICAgdHJpZ2dlcixcbiAgICAgIGRlZmF1bHRPcGVuLFxuICAgICAgb3BlbixcbiAgICAgIG1vdXNlRW50ZXJEZWxheSxcbiAgICAgIG1vdXNlTGVhdmVEZWxheSxcbiAgICAgIHNob3dJbkN1cnNvclBvc2l0aW9uLFxuICAgICAgcGxhY2VtZW50OiBmbG9hdGluZ1BsYWNlbWVudCxcbiAgICAgIHJlZnMsXG4gICAgICBvbk9wZW5DaGFuZ2UsXG4gICAgICBvbkNvbnRleHRNZW51LFxuICAgICAgYXJyb3dSZWYsXG4gICAgfSk7XG5cbiAgICBjb25zdCB7IHNldFRhcmdldFJlZiB9ID0gdXNlVGFyZ2V0UmVmQ29udHJvbGxlcih7XG4gICAgICBnZXRUYXJnZXRET01Ob2RlLFxuICAgICAgcmVmcyxcbiAgICAgIGhhbmRsZVBvaW50ZXJFbnRlcixcbiAgICAgIGhhbmRsZVBvaW50ZXJMZWF2ZSxcbiAgICAgIGhhbmRsZUZvY3VzLFxuICAgICAgaGFuZGxlQmx1cixcbiAgICAgIGhhbmRsZUNsaWNrLFxuICAgICAgaGFuZGxlQ29udGV4dE1lbnUsXG4gICAgICBoYW5kbGVQb2ludGVyVXAsXG4gICAgfSk7XG5cbiAgICBjb25zdCBhcnJvd1BsYWNlbWVudENvcnJlY3Rpb24gPSBnZXRBcnJvd1BsYWNlbWVudENvcnJlY3Rpb24oZmxvYXRpbmdQbGFjZW1lbnQsIHJlZnMsIGFsaWduKTtcblxuICAgIGNvbnN0IHJlbmRlckZsb2F0aW5nRWxlbWVudCA9ICgpID0+IHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxkaXZcbiAgICAgICAgICByZWY9e3JlZnMuc2V0RmxvYXRpbmd9XG4gICAgICAgICAgY3NzPXtbXG4gICAgICAgICAgICBnZXRCYXNlVG9vbHRpcEZsb2F0aW5nV3JhcHBlclN0eWxlKGZsb2F0aW5nUGxhY2VtZW50LCB3aXRoQXJyb3csIGlzT3BlbiksXG4gICAgICAgICAgICBzdHlsZXM/LmZsb2F0aW5nV3JhcHBlcj8uKHRoZW1lKSxcbiAgICAgICAgICBdfVxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAuLi5mbG9hdGluZ1N0eWxlcyxcbiAgICAgICAgICAgIHdpZHRoOiAhY3VycmVudFRyYW5zZm9ybSA/IFwibWF4LWNvbnRlbnRcIiA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgIHpJbmRleCxcbiAgICAgICAgICB9fVxuICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lfVxuICAgICAgICA+XG4gICAgICAgICAge2Zsb2F0aW5nRWxlbWVudH1cbiAgICAgICAgICB7d2l0aEFycm93ICYmIChcbiAgICAgICAgICAgIDxGbG9hdGluZ0Fycm93XG4gICAgICAgICAgICAgIHJlZj17c2V0QXJyb3dSZWZ9XG4gICAgICAgICAgICAgIGNvbnRleHQ9e2NvbnRleHR9XG4gICAgICAgICAgICAgIHdpZHRoPXtBUlJPV19XSURUSH1cbiAgICAgICAgICAgICAgaGVpZ2h0PXtBUlJPV19IRUlHSFR9XG4gICAgICAgICAgICAgIGZpbGw9e2Fycm93Q29sb3J9XG4gICAgICAgICAgICAgIHN0eWxlPXthcnJvd1BsYWNlbWVudENvcnJlY3Rpb259XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICl9XG4gICAgICAgIDwvZGl2PlxuICAgICAgKTtcbiAgICB9O1xuXG4gICAgY29uc3QgY2hpbGRyZW5XaXRoUHJvcHMgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgIGlmICghd2l0aG91dFdyYXBwZXIpIHtcbiAgICAgICAgcmV0dXJuIGNoaWxkcmVuO1xuICAgICAgfVxuXG4gICAgICBsZXQgYWRkZWRQcm9wc0NvdW50ZXIgPSAwO1xuXG4gICAgICByZXR1cm4gUmVhY3QuQ2hpbGRyZW4ubWFwKGNoaWxkcmVuLCAoY2hpbGQpID0+IHtcbiAgICAgICAgaWYgKGFkZGVkUHJvcHNDb3VudGVyID4gMCB8fCAhUmVhY3QuaXNWYWxpZEVsZW1lbnQoY2hpbGQpKSB7XG4gICAgICAgICAgcmV0dXJuIGNoaWxkO1xuICAgICAgICB9XG5cbiAgICAgICAgYWRkZWRQcm9wc0NvdW50ZXIgKz0gMTtcblxuICAgICAgICByZXR1cm4gUmVhY3QuY2xvbmVFbGVtZW50KGNoaWxkLCB7XG4gICAgICAgICAgLi4uY2hpbGQucHJvcHMsXG4gICAgICAgICAgcmVmOiBzZXRUYXJnZXRSZWYsXG4gICAgICAgICAgb25Qb2ludGVyRW50ZXI6IGhhbmRsZVBvaW50ZXJFbnRlciA/PyBjaGlsZD8ucHJvcHM/Lm9uUG9pbnRlckVudGVyLFxuICAgICAgICAgIG9uUG9pbnRlckxlYXZlOiBoYW5kbGVQb2ludGVyTGVhdmUgPz8gY2hpbGQ/LnByb3BzPy5vblBvaW50ZXJMZWF2ZSxcbiAgICAgICAgICBvbkZvY3VzOiBoYW5kbGVGb2N1cyA/PyBjaGlsZD8ucHJvcHM/Lm9uRm9jdXMsXG4gICAgICAgICAgb25CbHVyOiBoYW5kbGVCbHVyID8/IGNoaWxkPy5wcm9wcz8ub25CbHVyLFxuICAgICAgICAgIG9uQ2xpY2s6IGhhbmRsZUNsaWNrID8/IGNoaWxkPy5wcm9wcz8ub25DbGljayxcbiAgICAgICAgICBvbkNvbnRleHRNZW51OiBoYW5kbGVDb250ZXh0TWVudSA/PyBjaGlsZD8ucHJvcHM/Lm9uQ29udGV4dE1lbnUsXG4gICAgICAgICAgb25Qb2ludGVyVXA6IGhhbmRsZVBvaW50ZXJVcCA/PyBjaGlsZD8ucHJvcHM/Lm9uUG9pbnRlclVwLFxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH0sIFtcbiAgICAgIGNoaWxkcmVuLFxuICAgICAgaGFuZGxlQmx1cixcbiAgICAgIGhhbmRsZUNsaWNrLFxuICAgICAgaGFuZGxlQ29udGV4dE1lbnUsXG4gICAgICBoYW5kbGVGb2N1cyxcbiAgICAgIGhhbmRsZVBvaW50ZXJFbnRlcixcbiAgICAgIGhhbmRsZVBvaW50ZXJMZWF2ZSxcbiAgICAgIGhhbmRsZVBvaW50ZXJVcCxcbiAgICAgIHNldFRhcmdldFJlZixcbiAgICAgIHdpdGhvdXRXcmFwcGVyLFxuICAgIF0pO1xuXG4gICAgY29uc3QgZ2V0RmxvYXRpbmdFbGVtZW50ID0gKCkgPT4ge1xuICAgICAgaWYgKCFpc09wZW4gJiYgIXNob3dJbkN1cnNvclBvc2l0aW9uKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gY3JlYXRlUG9ydGFsKFxuICAgICAgICByZW5kZXJGbG9hdGluZ0VsZW1lbnQoKSxcbiAgICAgICAgZ2V0UG9wdXBDb250YWluZXIocmVmcy5kb21SZWZlcmVuY2UuY3VycmVudCA/PyBkb2N1bWVudC5ib2R5KVxuICAgICAgKTtcbiAgICB9O1xuXG4gICAgaWYgKGlzTmlsKGdldFRhcmdldERPTU5vZGUpICYmIGlzTmlsKGNoaWxkcmVuKSAmJiBpc1VuZGVmaW5lZChvcGVuKSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgaWYgKGlzRnVuY3Rpb24oZ2V0VGFyZ2V0RE9NTm9kZSkpIHtcbiAgICAgIGlmIChpc051bGwoZ2V0VGFyZ2V0RE9NTm9kZSgpKSkge1xuICAgICAgICByZXR1cm4gY2hpbGRyZW47XG4gICAgICB9XG5cbiAgICAgIHJldHVybiAoXG4gICAgICAgIDw+XG4gICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICAgIHtnZXRGbG9hdGluZ0VsZW1lbnQoKX1cbiAgICAgICAgPC8+XG4gICAgICApO1xuICAgIH1cblxuICAgIGlmICh3aXRob3V0V3JhcHBlcikge1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgPD5cbiAgICAgICAgICB7Y2hpbGRyZW5XaXRoUHJvcHN9XG4gICAgICAgICAge2dldEZsb2F0aW5nRWxlbWVudCgpfVxuICAgICAgICA8Lz5cbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXZcbiAgICAgICAgcmVmPXtzZXRUYXJnZXRSZWZ9XG4gICAgICAgIGNzcz17W2Jhc2VUb29sdGlwUmVmZXJlbmNlV3JhcHBlclN0eWxlLCBzdHlsZXM/LnJlZmVyZW5jZVdyYXBwZXI/Lih0aGVtZSldfVxuICAgICAgICBvblBvaW50ZXJFbnRlcj17aGFuZGxlUG9pbnRlckVudGVyfVxuICAgICAgICBvblBvaW50ZXJMZWF2ZT17aGFuZGxlUG9pbnRlckxlYXZlfVxuICAgICAgICBvbkZvY3VzPXtoYW5kbGVGb2N1c31cbiAgICAgICAgb25CbHVyPXtoYW5kbGVCbHVyfVxuICAgICAgICBvbkNsaWNrPXtoYW5kbGVDbGlja31cbiAgICAgICAgb25Db250ZXh0TWVudT17aGFuZGxlQ29udGV4dE1lbnV9XG4gICAgICAgIG9uUG9pbnRlclVwPXtoYW5kbGVQb2ludGVyVXB9XG4gICAgICAgIG9uTW91c2VEb3duPXsoZSkgPT4ge1xuICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAge2dldEZsb2F0aW5nRWxlbWVudCgpfVxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfVxuKTtcbiJdfQ== */"], onPointerEnter: handlePointerEnter, onPointerLeave: handlePointerLeave, onFocus: handleFocus, onBlur: handleBlur, onClick: handleClick, onContextMenu: handleContextMenu, onPointerUp: handlePointerUp, onMouseDown: (e) => {
149
+ e.stopPropagation();
150
+ }, children: [
147
151
  children,
148
152
  getFloatingElement()
149
153
  ] });
@@ -37,6 +37,7 @@ export interface BaseTooltipProps {
37
37
  };
38
38
  getPopupContainer?: (triggerNode: HTMLElement) => HTMLElement;
39
39
  onOpenChange?: (open: boolean) => void;
40
+ onContextMenu?: (event: MouseEventType) => void;
40
41
  }
41
42
  export type AutoUpdateType = (reference: ReferenceElement, floating: FloatingElement, update: () => void) => () => void;
42
43
  export type PointerEventType = PointerEvent<HTMLDivElement> | globalThis.PointerEvent;
@@ -15,6 +15,7 @@ export declare const isLeftSide: (placement: Placement) => boolean;
15
15
  export declare const isRightSide: (placement: Placement) => boolean;
16
16
  export declare const convertBaseTooltipPlacement: (placement: BaseTooltipPlacementType) => Placement;
17
17
  export declare const convertOffsetValues: (rect: Rect) => (element: OffsetType, index: number) => number;
18
+ export declare const setContextMenuPosition: (refs: ExtendedRefs<ReferenceType>, e: MouseEventType) => void;
18
19
  export declare const getChangedProperties: (e: PointerEventType | MouseEventType, placement: Placement) => {
19
20
  width: number;
20
21
  x: number;
@@ -110,6 +110,22 @@ const convertOffsetValues = (rect) => (element, index) => {
110
110
  const elementSize = index === 0 ? rect.width : rect.height;
111
111
  return elementSize / 100 * percentValue;
112
112
  };
113
+ const setContextMenuPosition = (refs, e) => {
114
+ refs.setPositionReference({
115
+ getBoundingClientRect() {
116
+ return {
117
+ width: 0,
118
+ height: 0,
119
+ x: e.clientX,
120
+ y: e.clientY,
121
+ top: e.clientY,
122
+ right: e.clientX,
123
+ bottom: e.clientY,
124
+ left: e.clientX
125
+ };
126
+ }
127
+ });
128
+ };
113
129
  const getChangedProperties = (e, placement) => {
114
130
  if (isLeftCorrection(placement)) {
115
131
  return {
@@ -196,6 +212,7 @@ export {
196
212
  isLeftSide,
197
213
  isRightSide,
198
214
  isTopSide,
215
+ setContextMenuPosition,
199
216
  setNewReferencePosition,
200
217
  setTargetCallbacks,
201
218
  singleSides
@@ -1,5 +1,5 @@
1
1
  import { useState, useEffect } from "react";
2
- import { singleSides, convertOffsetValues, ARROW_PADDING, convertBaseTooltipPlacement, isLeftSide, isRightSide } from "../BaseTooltip.utils.js";
2
+ import { singleSides, ARROW_PADDING, convertBaseTooltipPlacement, isLeftSide, isRightSide, convertOffsetValues } from "../BaseTooltip.utils.js";
3
3
  import { flip, shift, offset, arrow, useFloating, autoUpdate } from "@floating-ui/react";
4
4
  import { isUndefined } from "lodash-es";
5
5
  const floatingMiddleware = [];
@@ -31,7 +31,7 @@ const useCustomFloating = ({
31
31
  mainAxis: singleSides.includes(convertedPlacement)
32
32
  });
33
33
  }, [convertedPlacement]);
34
- const offsetResult = offset(({
34
+ const offsetCallback = ({
35
35
  rects
36
36
  }) => {
37
37
  var _a2, _b2;
@@ -46,7 +46,8 @@ const useCustomFloating = ({
46
46
  mainAxis,
47
47
  crossAxis
48
48
  };
49
- }, [convertedPlacement]);
49
+ };
50
+ const offsetResult = offset(offsetCallback, [offsetCallback]);
50
51
  floatingMiddleware[0] = offsetResult;
51
52
  useEffect(() => {
52
53
  if (arrowRef && withArrow) {
@@ -64,7 +65,7 @@ const useCustomFloating = ({
64
65
  } = useFloating({
65
66
  whileElementsMounted: autoUpdate,
66
67
  placement: convertBaseTooltipPlacement(placement),
67
- middleware: floatingMiddleware,
68
+ middleware: [...floatingMiddleware],
68
69
  transform
69
70
  });
70
71
  return {
@@ -10,9 +10,10 @@ export interface UseShowTooltipControllerProp {
10
10
  placement: Placement;
11
11
  refs: ExtendedRefs<ReferenceType>;
12
12
  onOpenChange: ((open: boolean) => void) | undefined;
13
+ onContextMenu: ((event: MouseEventType) => void) | undefined;
13
14
  arrowRef: SVGSVGElement | null;
14
15
  }
15
- export declare const useShowTooltipController: ({ trigger, defaultOpen, open, mouseEnterDelay, mouseLeaveDelay, showInCursorPosition, refs, placement, onOpenChange, arrowRef, }: UseShowTooltipControllerProp) => {
16
+ export declare const useShowTooltipController: ({ trigger, defaultOpen, open, mouseEnterDelay, mouseLeaveDelay, showInCursorPosition, refs, placement, onOpenChange, onContextMenu, arrowRef, }: UseShowTooltipControllerProp) => {
16
17
  isOpen: boolean;
17
18
  handlePointerEnter: ((e: PointerEventType) => void) | undefined;
18
19
  handlePointerLeave: (() => void) | undefined;
@@ -2,7 +2,7 @@ import { useState, useRef, useEffect, useCallback, useMemo } from "react";
2
2
  import { isUndefined } from "lodash-es";
3
3
  import { convertSecondsToMilliseconds } from "../../../utils/converters.js";
4
4
  import "@floating-ui/react";
5
- import { setNewReferencePosition } from "../BaseTooltip.utils.js";
5
+ import { setNewReferencePosition, setContextMenuPosition } from "../BaseTooltip.utils.js";
6
6
  const useShowTooltipController = ({
7
7
  trigger,
8
8
  defaultOpen,
@@ -13,6 +13,7 @@ const useShowTooltipController = ({
13
13
  refs,
14
14
  placement,
15
15
  onOpenChange,
16
+ onContextMenu,
16
17
  arrowRef
17
18
  }) => {
18
19
  const [isOpen, setIsOpen] = useState(defaultOpen);
@@ -20,20 +21,37 @@ const useShowTooltipController = ({
20
21
  useEffect(() => {
21
22
  setIsOpen(defaultOpen);
22
23
  }, [defaultOpen, open]);
24
+ const isOpenResult = open ?? isOpen;
25
+ const closeTooltip = useCallback(() => {
26
+ setIsOpen(false);
27
+ onOpenChange == null ? void 0 : onOpenChange(false);
28
+ }, [onOpenChange]);
29
+ const handleMouseUp = useCallback((e) => {
30
+ var _a, _b;
31
+ if (!e.target) {
32
+ return;
33
+ }
34
+ const isFloatingElement = (_a = refs.floating.current) == null ? void 0 : _a.contains(e.target);
35
+ const isReferenceElement = (_b = refs.domReference.current) == null ? void 0 : _b.contains(e.target);
36
+ if (isFloatingElement || isReferenceElement) {
37
+ return;
38
+ }
39
+ closeTooltip();
40
+ document.body.removeEventListener("mouseup", handleMouseUp);
41
+ }, [closeTooltip, refs.domReference, refs.floating]);
23
42
  const showTooltip = useCallback(() => {
24
43
  if (isUndefined(open)) {
44
+ document.body.addEventListener("mouseup", handleMouseUp);
25
45
  setIsOpen(true);
26
46
  }
27
47
  if (open !== true && isOpen !== true) {
28
48
  onOpenChange == null ? void 0 : onOpenChange(true);
29
49
  }
30
- }, [isOpen, onOpenChange, open]);
50
+ }, [handleMouseUp, isOpen, onOpenChange, open]);
31
51
  const hideTooltip = useCallback(() => {
32
- if (isUndefined(open)) {
33
- setIsOpen(false);
34
- }
35
- onOpenChange == null ? void 0 : onOpenChange(false);
36
- }, [onOpenChange, open]);
52
+ closeTooltip();
53
+ document.body.removeEventListener("mouseup", handleMouseUp);
54
+ }, [closeTooltip, handleMouseUp, open]);
37
55
  const handlePointerEnter = useMemo(() => {
38
56
  if (!trigger.includes("hover")) {
39
57
  return;
@@ -82,6 +100,9 @@ const useShowTooltipController = ({
82
100
  return (e) => {
83
101
  var _a;
84
102
  e.stopPropagation();
103
+ if (trigger.includes("contextMenu")) {
104
+ setContextMenuPosition(refs, e);
105
+ }
85
106
  const isReferenceElement = (_a = refs.domReference.current) == null ? void 0 : _a.contains(e.target);
86
107
  if (!isReferenceElement) {
87
108
  return;
@@ -90,62 +111,55 @@ const useShowTooltipController = ({
90
111
  setNewReferencePosition(refs, e, placement, arrowRef);
91
112
  }
92
113
  if (isUndefined(open)) {
93
- setIsOpen((prev) => !prev);
94
- onOpenChange == null ? void 0 : onOpenChange(isOpen);
114
+ if (isOpen) {
115
+ hideTooltip();
116
+ } else {
117
+ showTooltip();
118
+ }
95
119
  } else {
96
120
  onOpenChange == null ? void 0 : onOpenChange(!open);
97
121
  }
98
122
  };
99
- }, [arrowRef, isOpen, onOpenChange, open, placement, refs, showInCursorPosition, trigger]);
123
+ }, [arrowRef, hideTooltip, isOpen, onOpenChange, open, placement, refs, showInCursorPosition, showTooltip, trigger]);
100
124
  const handleContextMenu = useMemo(() => {
101
125
  if (!trigger.includes("contextMenu")) {
102
126
  return void 0;
103
127
  }
104
128
  return (e) => {
129
+ setContextMenuPosition(refs, e);
130
+ if (onContextMenu) {
131
+ onContextMenu(e);
132
+ return;
133
+ }
105
134
  e.preventDefault();
106
- refs.setPositionReference({
107
- getBoundingClientRect() {
108
- return {
109
- width: 0,
110
- height: 0,
111
- x: e.clientX,
112
- y: e.clientY,
113
- top: e.clientY,
114
- right: e.clientX,
115
- bottom: e.clientY,
116
- left: e.clientX
117
- };
118
- }
119
- });
120
135
  showTooltip();
121
136
  };
122
- }, [refs, showTooltip, trigger]);
123
- const handleMouseUp = useCallback((e) => {
124
- var _a, _b;
125
- if (!e.target) {
126
- return;
127
- }
128
- const isFloatingElement = (_a = refs.floating.current) == null ? void 0 : _a.contains(e.target);
129
- const isReferenceElement = (_b = refs.domReference.current) == null ? void 0 : _b.contains(e.target);
130
- if (!isOpen || isFloatingElement || isReferenceElement) {
131
- return;
132
- }
133
- hideTooltip();
134
- }, [hideTooltip, isOpen, refs.domReference, refs.floating]);
137
+ }, [onContextMenu, refs, showTooltip, trigger]);
135
138
  useEffect(() => {
136
- document.body.addEventListener("mouseup", handleMouseUp);
137
- return () => document.body.removeEventListener("mouseup", handleMouseUp);
139
+ return () => {
140
+ document.body.removeEventListener("mouseup", handleMouseUp);
141
+ };
138
142
  }, [handleMouseUp]);
143
+ useEffect(() => {
144
+ if (open) {
145
+ document.body.addEventListener("mouseup", handleMouseUp);
146
+ }
147
+ if (open === false) {
148
+ document.body.removeEventListener("mouseup", handleMouseUp);
149
+ }
150
+ }, [handleMouseUp, open]);
139
151
  const handlePointerUp = useMemo(() => {
140
152
  if (!trigger.includes("click")) {
141
153
  return void 0;
142
154
  }
143
155
  return (e) => {
144
- e.stopPropagation();
156
+ if (isOpenResult) {
157
+ e.stopPropagation();
158
+ }
145
159
  };
146
- }, [trigger]);
160
+ }, [isOpenResult, trigger]);
147
161
  return {
148
- isOpen: open ?? isOpen,
162
+ isOpen: isOpenResult,
149
163
  handlePointerEnter,
150
164
  handlePointerLeave,
151
165
  handleFocus,
@@ -33,6 +33,7 @@ export declare const getButtonDefaultStyle: ({ variant, color, loading, disabled
33
33
  positiveActiveInverse: "#D9F7BE";
34
34
  fieldFocused: `rgba(${number}, ${number}, ${number}, 0.5)`;
35
35
  fieldFocusedDanger: `rgba(${number}, ${number}, ${number}, 0.5)`;
36
+ fieldFocusedWarning: `rgba(${number}, ${number}, ${number}, 0.5)`;
36
37
  tagNeutralText: "#262626";
37
38
  tagNeutralBg: "#F5F5F5";
38
39
  tagNeutralBorder: "#D9D9D9";
@@ -640,6 +641,7 @@ export declare const getButtonDefaultStyle: ({ variant, color, loading, disabled
640
641
  positiveActiveInverse: "#D9F7BE";
641
642
  fieldFocused: `rgba(${number}, ${number}, ${number}, 0.5)`;
642
643
  fieldFocusedDanger: `rgba(${number}, ${number}, ${number}, 0.5)`;
644
+ fieldFocusedWarning: `rgba(${number}, ${number}, ${number}, 0.5)`;
643
645
  tagNeutralText: "#262626";
644
646
  tagNeutralBg: "#F5F5F5";
645
647
  tagNeutralBorder: "#D9D9D9";