@regcheq/ui-vue-2 1.15.0 → 1.15.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.
package/dist/index.css CHANGED
@@ -965,10 +965,6 @@
965
965
  position: relative;
966
966
  display: inline-block;
967
967
  }
968
- .rq-tooltip-wrapper .rq-tooltip--visible {
969
- opacity: 1;
970
- pointer-events: auto;
971
- }
972
968
 
973
969
  .rq-tooltip {
974
970
  z-index: 1051;
@@ -989,6 +985,10 @@
989
985
  pointer-events: none;
990
986
  transition: opacity 100ms ease-out;
991
987
  }
988
+ .rq-tooltip--visible {
989
+ opacity: 1;
990
+ pointer-events: auto;
991
+ }
992
992
  .rq-tooltip--text-left {
993
993
  text-align: left;
994
994
  }
package/dist/index.esm.js CHANGED
@@ -33076,6 +33076,9 @@ var script$l = {
33076
33076
  // (celda de tabla, panel con scroll, drawer) puede recortarlo. Además deja
33077
33077
  // de aportar al área scrolleable del contenedor, que con `absolute`
33078
33078
  // producía scrollbars horizontales aunque el tooltip estuviera oculto.
33079
+ // Ojo: `fixed` se resuelve contra el bloque contenedor, y basta un
33080
+ // ancestro con transform/filter/perspective para volverse uno — por eso
33081
+ // la burbuja se mueve a <body> mientras se muestra (ver portal()).
33079
33082
  style() {
33080
33083
  const base = {
33081
33084
  position: 'fixed'
@@ -33094,9 +33097,15 @@ var script$l = {
33094
33097
  },
33095
33098
  beforeDestroy() {
33096
33099
  this.unbindReposition();
33100
+ // Si se destruye mientras se muestra, la burbuja está colgada de <body>:
33101
+ // devolverla evita dejarla huérfana ahí cuando Vue saque el wrapper.
33102
+ this.unportal();
33097
33103
  },
33098
33104
  methods: {
33099
33105
  show() {
33106
+ this.portal();
33107
+ // Lee layout (getBoundingClientRect), así el navegador aplica el
33108
+ // opacity: 0 inicial antes de que --visible dispare la transición.
33100
33109
  this.updatePosition();
33101
33110
  this.visible = true;
33102
33111
  this.bindReposition();
@@ -33104,6 +33113,25 @@ var script$l = {
33104
33113
  hide() {
33105
33114
  this.visible = false;
33106
33115
  this.unbindReposition();
33116
+ this.unportal();
33117
+ },
33118
+ // `fixed` se resuelve contra el bloque contenedor, no siempre contra el
33119
+ // viewport: cualquier ancestro con transform, filter o perspective se
33120
+ // vuelve uno. .rq-drawer, por ejemplo, anima con translateX, así que un
33121
+ // tooltip dentro de un Drawer aparecía corrido en horizontal tanto como
33122
+ // el drawer estuviera desplazado.
33123
+ // Mover la burbuja a <body> mientras se muestra la deja sin ancestros
33124
+ // que puedan capturarla, y las coordenadas del viewport valen tal cual.
33125
+ // Solo vive ahí mientras se ve: cada tooltip oculto vuelve a su wrapper.
33126
+ portal() {
33127
+ const tip = this.$refs.tooltip;
33128
+ if (!tip || tip.parentNode === document.body) return;
33129
+ document.body.appendChild(tip);
33130
+ },
33131
+ unportal() {
33132
+ const tip = this.$refs.tooltip;
33133
+ if (!tip || tip.parentNode !== document.body) return;
33134
+ this.$el.appendChild(tip);
33107
33135
  },
33108
33136
  // Al estar fijo al viewport, el tooltip no sigue al trigger cuando la
33109
33137
  // página o un contenedor interno scrollea: se recalcula mientras se ve.
package/dist/index.js CHANGED
@@ -33078,6 +33078,9 @@ var script$l = {
33078
33078
  // (celda de tabla, panel con scroll, drawer) puede recortarlo. Además deja
33079
33079
  // de aportar al área scrolleable del contenedor, que con `absolute`
33080
33080
  // producía scrollbars horizontales aunque el tooltip estuviera oculto.
33081
+ // Ojo: `fixed` se resuelve contra el bloque contenedor, y basta un
33082
+ // ancestro con transform/filter/perspective para volverse uno — por eso
33083
+ // la burbuja se mueve a <body> mientras se muestra (ver portal()).
33081
33084
  style() {
33082
33085
  const base = {
33083
33086
  position: 'fixed'
@@ -33096,9 +33099,15 @@ var script$l = {
33096
33099
  },
33097
33100
  beforeDestroy() {
33098
33101
  this.unbindReposition();
33102
+ // Si se destruye mientras se muestra, la burbuja está colgada de <body>:
33103
+ // devolverla evita dejarla huérfana ahí cuando Vue saque el wrapper.
33104
+ this.unportal();
33099
33105
  },
33100
33106
  methods: {
33101
33107
  show() {
33108
+ this.portal();
33109
+ // Lee layout (getBoundingClientRect), así el navegador aplica el
33110
+ // opacity: 0 inicial antes de que --visible dispare la transición.
33102
33111
  this.updatePosition();
33103
33112
  this.visible = true;
33104
33113
  this.bindReposition();
@@ -33106,6 +33115,25 @@ var script$l = {
33106
33115
  hide() {
33107
33116
  this.visible = false;
33108
33117
  this.unbindReposition();
33118
+ this.unportal();
33119
+ },
33120
+ // `fixed` se resuelve contra el bloque contenedor, no siempre contra el
33121
+ // viewport: cualquier ancestro con transform, filter o perspective se
33122
+ // vuelve uno. .rq-drawer, por ejemplo, anima con translateX, así que un
33123
+ // tooltip dentro de un Drawer aparecía corrido en horizontal tanto como
33124
+ // el drawer estuviera desplazado.
33125
+ // Mover la burbuja a <body> mientras se muestra la deja sin ancestros
33126
+ // que puedan capturarla, y las coordenadas del viewport valen tal cual.
33127
+ // Solo vive ahí mientras se ve: cada tooltip oculto vuelve a su wrapper.
33128
+ portal() {
33129
+ const tip = this.$refs.tooltip;
33130
+ if (!tip || tip.parentNode === document.body) return;
33131
+ document.body.appendChild(tip);
33132
+ },
33133
+ unportal() {
33134
+ const tip = this.$refs.tooltip;
33135
+ if (!tip || tip.parentNode !== document.body) return;
33136
+ this.$el.appendChild(tip);
33109
33137
  },
33110
33138
  // Al estar fijo al viewport, el tooltip no sigue al trigger cuando la
33111
33139
  // página o un contenedor interno scrollea: se recalcula mientras se ve.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@regcheq/ui-vue-2",
3
- "version": "1.15.0",
3
+ "version": "1.15.1",
4
4
  "main": "dist/index.js",
5
5
  "module": "dist/index.esm.js",
6
6
  "files": [