react-tooltip 5.10.0-beta.1 → 5.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -100,13 +100,6 @@ var debounce = (func, wait, immediate) => {
100
100
  };
101
101
  var debounce_default = debounce;
102
102
 
103
- // src/components/TooltipContent/TooltipContent.tsx
104
- import { jsx } from "react/jsx-runtime";
105
- var TooltipContent = ({ content }) => {
106
- return /* @__PURE__ */ jsx("span", { dangerouslySetInnerHTML: { __html: content } });
107
- };
108
- var TooltipContent_default = TooltipContent;
109
-
110
103
  // src/components/TooltipProvider/TooltipProvider.tsx
111
104
  import {
112
105
  createContext,
@@ -115,7 +108,7 @@ import {
115
108
  useMemo,
116
109
  useState
117
110
  } from "react";
118
- import { jsx as jsx2 } from "react/jsx-runtime";
111
+ import { jsx } from "react/jsx-runtime";
119
112
  var DEFAULT_TOOLTIP_ID = "DEFAULT_TOOLTIP_ID";
120
113
  var DEFAULT_CONTEXT_DATA = {
121
114
  anchorRefs: /* @__PURE__ */ new Set(),
@@ -183,7 +176,7 @@ var TooltipProvider = ({ children }) => {
183
176
  getTooltipData
184
177
  };
185
178
  }, [getTooltipData]);
186
- return /* @__PURE__ */ jsx2(TooltipContext.Provider, { value: context, children });
179
+ return /* @__PURE__ */ jsx(TooltipContext.Provider, { value: context, children });
187
180
  };
188
181
  function useTooltip(tooltipId = DEFAULT_TOOLTIP_ID) {
189
182
  return useContext(TooltipContext).getTooltipData(tooltipId);
@@ -193,7 +186,7 @@ var TooltipProvider_default = TooltipProvider;
193
186
  // src/components/TooltipProvider/TooltipWrapper.tsx
194
187
  var import_classnames = __toESM(require_classnames());
195
188
  import { useEffect, useRef } from "react";
196
- import { jsx as jsx3 } from "react/jsx-runtime";
189
+ import { jsx as jsx2 } from "react/jsx-runtime";
197
190
  var TooltipWrapper = ({
198
191
  tooltipId,
199
192
  children,
@@ -217,7 +210,7 @@ var TooltipWrapper = ({
217
210
  detach(anchorRef);
218
211
  };
219
212
  }, []);
220
- return /* @__PURE__ */ jsx3(
213
+ return /* @__PURE__ */ jsx2(
221
214
  "span",
222
215
  {
223
216
  ref: anchorRef,
@@ -709,7 +702,7 @@ var computeTooltipPosition = async ({
709
702
  var styles_module_default = { "arrow": "react-tooltip__arrow_KtSkBq", "clickable": "react-tooltip__clickable_KtSkBq", "dark": "react-tooltip__dark_KtSkBq", "error": "react-tooltip__error_KtSkBq", "fixed": "react-tooltip__fixed_KtSkBq", "info": "react-tooltip__info_KtSkBq", "light": "react-tooltip__light_KtSkBq", "noArrow": "react-tooltip__no-arrow_KtSkBq", "show": "react-tooltip__show_KtSkBq", "success": "react-tooltip__success_KtSkBq", "tooltip": "react-tooltip__tooltip_KtSkBq", "warning": "react-tooltip__warning_KtSkBq" };
710
703
 
711
704
  // src/components/Tooltip/Tooltip.tsx
712
- import { jsx as jsx4, jsxs } from "react/jsx-runtime";
705
+ import { jsx as jsx3, jsxs } from "react/jsx-runtime";
713
706
  var Tooltip = ({
714
707
  // props
715
708
  id,
@@ -725,7 +718,6 @@ var Tooltip = ({
725
718
  positionStrategy = "absolute",
726
719
  middlewares,
727
720
  wrapper: WrapperElement,
728
- children = null,
729
721
  delayShow = 0,
730
722
  delayHide = 0,
731
723
  float = false,
@@ -738,7 +730,6 @@ var Tooltip = ({
738
730
  afterHide,
739
731
  // props handled by controller
740
732
  content,
741
- html,
742
733
  isOpen,
743
734
  setIsOpen,
744
735
  activeAnchor,
@@ -1099,7 +1090,7 @@ var Tooltip = ({
1099
1090
  }
1100
1091
  setActualPlacement(computedStylesData.place);
1101
1092
  });
1102
- }, [show, activeAnchor, content, html, place, offset, positionStrategy, position]);
1093
+ }, [show, activeAnchor, content, place, offset, positionStrategy, position]);
1103
1094
  useEffect3(() => {
1104
1095
  var _a;
1105
1096
  const anchorById = document.querySelector(`[id='${anchorId}']`);
@@ -1133,8 +1124,7 @@ var Tooltip = ({
1133
1124
  setAnchorsBySelect([]);
1134
1125
  }
1135
1126
  }, [id, anchorSelect]);
1136
- const hasContentOrChildren = Boolean(html || content || children);
1137
- const canShow = hasContentOrChildren && show && Object.keys(inlineStyles).length > 0;
1127
+ const canShow = content && show && Object.keys(inlineStyles).length > 0;
1138
1128
  return rendered ? /* @__PURE__ */ jsxs(
1139
1129
  WrapperElement,
1140
1130
  {
@@ -1155,8 +1145,8 @@ var Tooltip = ({
1155
1145
  style: { ...externalStyles, ...inlineStyles },
1156
1146
  ref: tooltipRef,
1157
1147
  children: [
1158
- html && /* @__PURE__ */ jsx4(TooltipContent_default, { content: html }) || content || children,
1159
- /* @__PURE__ */ jsx4(
1148
+ content,
1149
+ /* @__PURE__ */ jsx3(
1160
1150
  WrapperElement,
1161
1151
  {
1162
1152
  className: (0, import_classnames2.default)("react-tooltip-arrow", styles_module_default["arrow"], classNameArrow, {
@@ -1176,6 +1166,13 @@ var Tooltip = ({
1176
1166
  };
1177
1167
  var Tooltip_default = Tooltip;
1178
1168
 
1169
+ // src/components/TooltipContent/TooltipContent.tsx
1170
+ import { jsx as jsx4 } from "react/jsx-runtime";
1171
+ var TooltipContent = ({ content }) => {
1172
+ return /* @__PURE__ */ jsx4("span", { dangerouslySetInnerHTML: { __html: content } });
1173
+ };
1174
+ var TooltipContent_default = TooltipContent;
1175
+
1179
1176
  // src/components/TooltipController/TooltipController.tsx
1180
1177
  import { jsx as jsx5 } from "react/jsx-runtime";
1181
1178
  var TooltipController = ({
@@ -1184,6 +1181,7 @@ var TooltipController = ({
1184
1181
  anchorSelect,
1185
1182
  content,
1186
1183
  html,
1184
+ render,
1187
1185
  className,
1188
1186
  classNameArrow,
1189
1187
  variant = "dark",
@@ -1332,14 +1330,22 @@ var TooltipController = ({
1332
1330
  observer.disconnect();
1333
1331
  };
1334
1332
  }, [anchorRefs, providerActiveAnchor, activeAnchor, anchorId, anchorSelect]);
1333
+ let renderedContent = children;
1334
+ if (render) {
1335
+ renderedContent = render({ content: tooltipContent != null ? tooltipContent : null, activeAnchor });
1336
+ } else if (tooltipContent) {
1337
+ renderedContent = tooltipContent;
1338
+ }
1339
+ if (tooltipHtml) {
1340
+ renderedContent = /* @__PURE__ */ jsx5(TooltipContent_default, { content: tooltipHtml });
1341
+ }
1335
1342
  const props = {
1336
1343
  id,
1337
1344
  anchorId,
1338
1345
  anchorSelect,
1339
1346
  className,
1340
1347
  classNameArrow,
1341
- content: tooltipContent,
1342
- html: tooltipHtml,
1348
+ content: renderedContent,
1343
1349
  place: tooltipPlace,
1344
1350
  variant: tooltipVariant,
1345
1351
  offset: tooltipOffset,
@@ -1363,7 +1369,7 @@ var TooltipController = ({
1363
1369
  activeAnchor,
1364
1370
  setActiveAnchor: (anchor) => setActiveAnchor(anchor)
1365
1371
  };
1366
- return children ? /* @__PURE__ */ jsx5(Tooltip_default, { ...props, children }) : /* @__PURE__ */ jsx5(Tooltip_default, { ...props });
1372
+ return /* @__PURE__ */ jsx5(Tooltip_default, { ...props });
1367
1373
  };
1368
1374
  var TooltipController_default = TooltipController;
1369
1375
  export {