@webitel/ui-sdk 26.8.60 → 26.8.61

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.
@@ -1,4 +1,4 @@
1
- import "./components-DUBlUkxN.js";
1
+ import "./components-G7dQYn--.js";
2
2
  import { t as e } from "./_plugin-vue_export-helper-B3ysoDQm.js";
3
3
  import { l as t } from "./enums-DY3jIXFF.js";
4
4
  import { t as n } from "./wt-button-2_aOV7LX.js";
@@ -1,4 +1,4 @@
1
- import { C as e, i as t } from "./components-DUBlUkxN.js";
1
+ import { C as e, i as t } from "./components-G7dQYn--.js";
2
2
  import { t as n } from "./_plugin-vue_export-helper-B3ysoDQm.js";
3
3
  import { t as r } from "./displayText-CtaxzaBz.js";
4
4
  import { Fragment as i, computed as a, createCommentVNode as o, createElementBlock as s, createTextVNode as c, createVNode as l, defineComponent as u, openBlock as d, renderList as f, renderSlot as p, toDisplayString as m, unref as h, withCtx as g } from "vue";
@@ -3,7 +3,7 @@ import { t } from "./_plugin-vue_export-helper-B3ysoDQm.js";
3
3
  import { l as n } from "./enums-DY3jIXFF.js";
4
4
  import { t as r } from "./wt-button-2_aOV7LX.js";
5
5
  import { n as i, t as a } from "./useVidstackSrc-aQcqC_v0.js";
6
- import { t as o } from "./wt-popover-lP-AhF8l.js";
6
+ import { t as o } from "./wt-popover-BCYPu5NC.js";
7
7
  import { t as s } from "./wt-slider-BPzRTeYU.js";
8
8
  import { Fragment as c, computed as l, createBlock as u, createCommentVNode as d, createElementBlock as f, createElementVNode as p, createVNode as m, defineComponent as h, normalizeClass as g, openBlock as _, ref as v, renderList as y, resolveComponent as b, toDisplayString as x, toRefs as S, unref as C, watch as w, withCtx as T } from "vue";
9
9
  //#region src/components/_shared/settings-panel/components/speed-settings/speed-settings.vue?vue&type=script&setup=true&lang.ts
@@ -4,7 +4,7 @@ import { createElementBlock as t, createVNode as n, defineComponent as r, guardR
4
4
  var _ = (e, t) => {
5
5
  let n = (n) => {
6
6
  let r = n.target;
7
- if (r?.closest(".p-select-overlay, .p-multiselect-overlay, .p-datepicker-panel")) {
7
+ if (r?.closest(".p-select-overlay, .p-multiselect-overlay, .p-datepicker-panel, .p-popover") || t.value?.contains(r)) {
8
8
  let t = e.value?.outsideClickListener;
9
9
  if (!t) return;
10
10
  document.removeEventListener("click", t), document.addEventListener("click", () => {
@@ -18,7 +18,9 @@ var _ = (e, t) => {
18
18
  });
19
19
  return;
20
20
  }
21
- e.value?.visible && e.value.container && (e.value.container.contains(r) || t.value?.contains(r) || e.value.hide?.());
21
+ if (!e.value?.visible || !e.value.container || e.value.container.contains(r) || t.value?.contains(r)) return;
22
+ let i = document.querySelector(".p-select-overlay, .p-multiselect-overlay, .p-datepicker-panel");
23
+ i && (e.value.container.contains(document.activeElement) || i.contains(document.activeElement)) || e.value.hide?.();
22
24
  };
23
25
  c(() => document.addEventListener("pointerdown", n, !0)), s(() => document.removeEventListener("pointerdown", n, !0));
24
26
  }, v = /*@__PURE__*/ r({
@@ -1,6 +1,6 @@
1
1
  import { t as e } from "./rolldown-runtime-BEcgMyyN.js";
2
- import { n as t, r as n } from "./clients-BquWqHUK.js";
3
- import { T as r, n as i, w as a } from "./components-DUBlUkxN.js";
2
+ import { n as t, r as n } from "./clients-BM6POCmg.js";
3
+ import { T as r, n as i, w as a } from "./components-G7dQYn--.js";
4
4
  import { t as o } from "./vue-i18n-Db_oYfO8.js";
5
5
  import { n as s } from "./useEventBus-B-ZeklLu.js";
6
6
  import { createBlock as c, createTextVNode as l, createVNode as u, defineComponent as d, mergeProps as f, onMounted as p, openBlock as m, ref as h, resolveComponent as g, toDisplayString as _, unref as v, withCtx as y } from "vue";
@@ -1,5 +1,5 @@
1
- import { t as e } from "./clients-BquWqHUK.js";
2
- import { a as t, o as n, r, s as i } from "./components-DUBlUkxN.js";
1
+ import { t as e } from "./clients-BM6POCmg.js";
2
+ import { a as t, o as n, r, s as i } from "./components-G7dQYn--.js";
3
3
  import { t as a } from "./enums-DY3jIXFF.js";
4
4
  import { t as o } from "./vue-i18n-Db_oYfO8.js";
5
5
  import { computed as s, createBlock as c, createCommentVNode as l, createVNode as u, defineComponent as d, mergeModels as f, mergeProps as p, openBlock as m, renderSlot as h, resolveComponent as g, unref as _, useModel as v } from "vue";
@@ -1,4 +1,4 @@
1
- import { D as e } from "./components-DUBlUkxN.js";
1
+ import { D as e } from "./components-G7dQYn--.js";
2
2
  import { t } from "./_plugin-vue_export-helper-B3ysoDQm.js";
3
3
  import { l as n } from "./enums-DY3jIXFF.js";
4
4
  import "./wt-button-2_aOV7LX.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webitel/ui-sdk",
3
- "version": "26.8.60",
3
+ "version": "26.8.61",
4
4
  "private": false,
5
5
  "scripts": {
6
6
  "dev": "npm run docs:dev",
@@ -31,8 +31,9 @@ export const usePopoverOverlayFix = (
31
31
 
32
32
  if (
33
33
  target?.closest(
34
- '.p-select-overlay, .p-multiselect-overlay, .p-datepicker-panel',
35
- )
34
+ '.p-select-overlay, .p-multiselect-overlay, .p-datepicker-panel, .p-popover',
35
+ ) ||
36
+ wrapperElement.value?.contains(target)
36
37
  ) {
37
38
  const outsideClickListener = innerPopover.value?.outsideClickListener;
38
39
  if (!outsideClickListener) return;
@@ -59,6 +60,29 @@ export const usePopoverOverlayFix = (
59
60
  if (!innerPopover.value.container) return;
60
61
  if (innerPopover.value.container.contains(target)) return;
61
62
  if (wrapperElement.value?.contains(target)) return;
63
+
64
+ // @author @HlukhovYe
65
+ //
66
+ // https://webitel.atlassian.net/browse/WTEL-10240
67
+ //
68
+ // A click fully outside the popover can also be the same click that closes an
69
+ // open select/multiselect/datepicker overlay belonging to a field inside this
70
+ // popover. Those overlays are teleported to `body` as DOM siblings, so they can't
71
+ // be detected via containment — but the field they belong to keeps focus while
72
+ // its overlay is open, so check focus instead: if focus is still inside this
73
+ // popover (either the popover's own container, e.g. a select/datepicker trigger,
74
+ // or the open overlay panel itself, e.g. a multiselect's in-panel filter input)
75
+ // and a PrimeVue overlay panel is currently open, let that overlay's own
76
+ // outside-click handler close it and leave this popover open.
77
+ const openFieldOverlay = document.querySelector(
78
+ '.p-select-overlay, .p-multiselect-overlay, .p-datepicker-panel',
79
+ );
80
+ const hasOwnOpenFieldOverlay =
81
+ openFieldOverlay &&
82
+ (innerPopover.value.container.contains(document.activeElement) ||
83
+ openFieldOverlay.contains(document.activeElement));
84
+ if (hasOwnOpenFieldOverlay) return;
85
+
62
86
  innerPopover.value.hide?.();
63
87
  };
64
88