@juanzbdev/tooltip-react 1.0.1 → 1.0.2
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/README.md +1 -3
- package/dist/tooltip-react.es.js +1 -0
- package/dist/tooltip-react.umd.js +1 -0
- package/package.json +3 -4
- package/dist/tooltip-react.css +0 -2
package/README.md
CHANGED
|
@@ -30,13 +30,11 @@ yarn add @juanzbdev/tooltip-react
|
|
|
30
30
|
|
|
31
31
|
## Uso Básico
|
|
32
32
|
|
|
33
|
-
1. Importa el componente
|
|
33
|
+
1. Importa el componente (¡los estilos se inyectan automáticamente!).
|
|
34
34
|
2. Envuelve el elemento que disparará el tooltip.
|
|
35
35
|
|
|
36
36
|
```tsx
|
|
37
37
|
import { Tooltip } from "@juanzbdev/tooltip-react";
|
|
38
|
-
// ¡Importante importar el CSS para los estilos base!
|
|
39
|
-
import "@juanzbdev/tooltip-react/style.css";
|
|
40
38
|
|
|
41
39
|
export default function App() {
|
|
42
40
|
return (
|
package/dist/tooltip-react.es.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
(function(){try{if(typeof document<`u`){var e=document.createElement(`style`);e.appendChild(document.createTextNode(`.react-tooltip-base{color:#f9fafb;filter:drop-shadow(0 10px 15px #00000026);white-space:nowrap;z-index:9999;pointer-events:none;background-color:#1f2937;border:1px solid #374151;padding:.5rem .75rem;font-size:.75rem;font-weight:700;transition:opacity .2s ease-in-out;position:fixed}.react-tooltip-arrow{background-color:inherit;border-color:inherit;border-style:inherit;border-radius:2px;width:12px;height:12px;position:absolute}.react-tooltip-arrow.top{border-bottom-width:inherit;border-right-width:inherit;bottom:-6.5px;left:50%;transform:translate(-50%)rotate(45deg);border-top-width:0!important;border-left-width:0!important}.react-tooltip-arrow.bottom{border-top-width:inherit;border-left-width:inherit;top:-6.5px;left:50%;transform:translate(-50%)rotate(45deg);border-bottom-width:0!important;border-right-width:0!important}.react-tooltip-arrow.left{border-top-width:inherit;border-right-width:inherit;top:50%;right:-6.5px;transform:translateY(-50%)rotate(45deg);border-bottom-width:0!important;border-left-width:0!important}.react-tooltip-arrow.right{border-bottom-width:inherit;border-left-width:inherit;top:50%;left:-6.5px;transform:translateY(-50%)rotate(45deg);border-top-width:0!important;border-right-width:0!important}.react-tooltip-container{justify-content:center;align-items:center;display:inline-flex}/*$vite$:1*/`)),document.head.appendChild(e)}}catch(e){console.error(`vite-plugin-css-injected-by-js`,e)}})();
|
|
1
2
|
import { useEffect as e, useRef as t, useState as n } from "react";
|
|
2
3
|
import { createPortal as r } from "react-dom";
|
|
3
4
|
import { jsx as i, jsxs as a } from "react/jsx-runtime";
|
|
@@ -1 +1,2 @@
|
|
|
1
|
+
(function(){try{if(typeof document<`u`){var e=document.createElement(`style`);e.appendChild(document.createTextNode(`.react-tooltip-base{color:#f9fafb;filter:drop-shadow(0 10px 15px #00000026);white-space:nowrap;z-index:9999;pointer-events:none;background-color:#1f2937;border:1px solid #374151;padding:.5rem .75rem;font-size:.75rem;font-weight:700;transition:opacity .2s ease-in-out;position:fixed}.react-tooltip-arrow{background-color:inherit;border-color:inherit;border-style:inherit;border-radius:2px;width:12px;height:12px;position:absolute}.react-tooltip-arrow.top{border-bottom-width:inherit;border-right-width:inherit;bottom:-6.5px;left:50%;transform:translate(-50%)rotate(45deg);border-top-width:0!important;border-left-width:0!important}.react-tooltip-arrow.bottom{border-top-width:inherit;border-left-width:inherit;top:-6.5px;left:50%;transform:translate(-50%)rotate(45deg);border-bottom-width:0!important;border-right-width:0!important}.react-tooltip-arrow.left{border-top-width:inherit;border-right-width:inherit;top:50%;right:-6.5px;transform:translateY(-50%)rotate(45deg);border-bottom-width:0!important;border-left-width:0!important}.react-tooltip-arrow.right{border-bottom-width:inherit;border-left-width:inherit;top:50%;left:-6.5px;transform:translateY(-50%)rotate(45deg);border-top-width:0!important;border-right-width:0!important}.react-tooltip-container{justify-content:center;align-items:center;display:inline-flex}/*$vite$:1*/`)),document.head.appendChild(e)}}catch(e){console.error(`vite-plugin-css-injected-by-js`,e)}})();
|
|
1
2
|
(function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require("react"),require("react-dom"),require("react/jsx-runtime")):typeof define==`function`&&define.amd?define([`exports`,`react`,`react-dom`,`react/jsx-runtime`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.TooltipReact={},e.React,e.ReactDOM,e.react_jsx_runtime))})(this,function(e,t,n,r){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});function i({children:e,label:i,position:a=`top`,showArrow:o=!0,disabled:s=!1,className:c=``,style:l={},containerClassName:u=`react-tooltip-container`,delayHide:d=0}){let[f,p]=(0,t.useState)(!1),[m,h]=(0,t.useState)(!1),[g,_]=(0,t.useState)({top:-9999,left:-9999}),v=(0,t.useRef)(null),y=(0,t.useRef)(null),b=(0,t.useRef)(null),x=(0,t.useRef)(null),S=()=>{s||(b.current&&clearTimeout(b.current),x.current&&clearTimeout(x.current),p(!0),setTimeout(()=>{h(!0)},10))},C=()=>{b.current&&clearTimeout(b.current),x.current&&clearTimeout(x.current),b.current=setTimeout(()=>{h(!1),x.current=setTimeout(()=>{p(!1),_({top:-9999,left:-9999})},200)},d)};(0,t.useEffect)(()=>()=>{b.current&&clearTimeout(b.current),x.current&&clearTimeout(x.current)},[]);let w=()=>{if(!v.current||!y.current)return;let e=v.current.getBoundingClientRect(),t=y.current.getBoundingClientRect(),n=0,r=0;switch(a){case`top`:n=e.top-t.height-8,r=e.left+e.width/2-t.width/2;break;case`bottom`:n=e.bottom+8,r=e.left+e.width/2-t.width/2;break;case`left`:n=e.top+e.height/2-t.height/2,r=e.left-t.width-8;break;case`right`:n=e.top+e.height/2-t.height/2,r=e.right+8;break}_({top:n,left:r})};(0,t.useEffect)(()=>{if(f&&!s)return w(),window.addEventListener(`scroll`,w,!0),window.addEventListener(`resize`,w),()=>{window.removeEventListener(`scroll`,w,!0),window.removeEventListener(`resize`,w)}},[f,s,a]),(0,t.useEffect)(()=>{s&&C()},[s]);let T={top:`top`,bottom:`bottom`,left:`left`,right:`right`};return(0,r.jsxs)(`div`,{ref:v,className:u,onMouseEnter:S,onMouseLeave:C,onFocus:S,onBlur:C,children:[e,f&&!s&&(0,n.createPortal)((0,r.jsxs)(`div`,{ref:y,className:`react-tooltip-base ${c}`,style:{...l,top:g.top,left:g.left,opacity:g.top===-9999?0:+!!m},children:[i,o&&(0,r.jsx)(`div`,{className:`react-tooltip-arrow ${T[a]}`})]}),document.body)]})}e.Tooltip=i});
|
package/package.json
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@juanzbdev/tooltip-react",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.2",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./dist/tooltip-react.umd.js",
|
|
6
6
|
"module": "./dist/tooltip-react.es.js",
|
|
7
7
|
"types": "./dist/tooltip-react.es.d.ts",
|
|
8
|
-
"style": "./dist/tooltip-react.css",
|
|
9
8
|
"repository": {
|
|
10
9
|
"type": "git",
|
|
11
10
|
"url": "https://github.com/juanzb/tooltip-react.git"
|
|
@@ -15,8 +14,7 @@
|
|
|
15
14
|
"types": "./dist/tooltip-react.es.d.ts",
|
|
16
15
|
"import": "./dist/tooltip-react.es.js",
|
|
17
16
|
"require": "./dist/tooltip-react.umd.js"
|
|
18
|
-
}
|
|
19
|
-
"./style.css": "./dist/tooltip-react.css"
|
|
17
|
+
}
|
|
20
18
|
},
|
|
21
19
|
"files": [
|
|
22
20
|
"dist"
|
|
@@ -44,6 +42,7 @@
|
|
|
44
42
|
"typescript": "~6.0.2",
|
|
45
43
|
"typescript-eslint": "^8.61.0",
|
|
46
44
|
"vite": "^8.1.0",
|
|
45
|
+
"vite-plugin-css-injected-by-js": "^5.0.1",
|
|
47
46
|
"vite-plugin-dts": "^5.0.3"
|
|
48
47
|
}
|
|
49
48
|
}
|
package/dist/tooltip-react.css
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
.react-tooltip-base{color:#f9fafb;filter:drop-shadow(0 10px 15px #00000026);white-space:nowrap;z-index:9999;pointer-events:none;background-color:#1f2937;border:1px solid #374151;padding:.5rem .75rem;font-size:.75rem;font-weight:700;transition:opacity .2s ease-in-out;position:fixed}.react-tooltip-arrow{background-color:inherit;border-color:inherit;border-style:inherit;border-radius:2px;width:12px;height:12px;position:absolute}.react-tooltip-arrow.top{border-bottom-width:inherit;border-right-width:inherit;bottom:-6.5px;left:50%;transform:translate(-50%)rotate(45deg);border-top-width:0!important;border-left-width:0!important}.react-tooltip-arrow.bottom{border-top-width:inherit;border-left-width:inherit;top:-6.5px;left:50%;transform:translate(-50%)rotate(45deg);border-bottom-width:0!important;border-right-width:0!important}.react-tooltip-arrow.left{border-top-width:inherit;border-right-width:inherit;top:50%;right:-6.5px;transform:translateY(-50%)rotate(45deg);border-bottom-width:0!important;border-left-width:0!important}.react-tooltip-arrow.right{border-bottom-width:inherit;border-left-width:inherit;top:50%;left:-6.5px;transform:translateY(-50%)rotate(45deg);border-top-width:0!important;border-right-width:0!important}.react-tooltip-container{justify-content:center;align-items:center;display:inline-flex}
|
|
2
|
-
/*$vite$:1*/
|