@profitliga/ui 2.0.7 → 2.0.9
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,2 +1,19 @@
|
|
|
1
1
|
import { UseBreakpointReturn } from '@vueuse/core';
|
|
2
|
+
/**
|
|
3
|
+
* `ssrWidth` — без него VueUse на сервере не имеет `window.matchMedia` и
|
|
4
|
+
* оставляет каждый брейкпоинт-запрос в дефолтном `false`, а на клиенте уже
|
|
5
|
+
* при первом синхронном проходе `setup()` (до hydrate) успевает подставить
|
|
6
|
+
* реальную ширину экрана. Для мобильных пользователей это два разных
|
|
7
|
+
* поддерева (например, `Portal` на сервере против `BottomSheet` на клиенте
|
|
8
|
+
* в Dialog/Drawer/AlertDialog, у обеих веток свой `<slot/>`) — Vue не может
|
|
9
|
+
* их сверить и падает при гидратации вместо перехода на реальное значение.
|
|
10
|
+
*
|
|
11
|
+
* 1024 — ширина заведомо больше любого `breakpointMobile` по умолчанию
|
|
12
|
+
* ('sm' = 640) и любого явно заданного потребителем значения из
|
|
13
|
+
* `TBreakpoints` (максимум 'xxxl' = 1620 задел на будущее, но текущий
|
|
14
|
+
* дефолт 'sm' покрывает подавляющее большинство случаев). Так первый
|
|
15
|
+
* клиентский рендер при гидратации получает то же самое значение, что и
|
|
16
|
+
* сервер, — расхождения нет. Как только гидратация завершена, VueUse сам
|
|
17
|
+
* реактивно подставляет настоящую ширину через matchMedia.
|
|
18
|
+
*/
|
|
2
19
|
export declare const breakpoints: UseBreakpointReturn<"sm" | "md" | "lg" | "xl" | "xxl" | "xxxl" | "mobile">;
|
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
import { useBreakpoints as o } from "@vueuse/core";
|
|
2
|
-
const
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
2
|
+
const x = o(
|
|
3
|
+
{
|
|
4
|
+
mobile: 0,
|
|
5
|
+
sm: 640,
|
|
6
|
+
md: 768,
|
|
7
|
+
lg: 1010,
|
|
8
|
+
xl: 1220,
|
|
9
|
+
xxl: 1420,
|
|
10
|
+
xxxl: 1620
|
|
11
|
+
},
|
|
12
|
+
{ ssrWidth: 1024 }
|
|
13
|
+
);
|
|
11
14
|
export {
|
|
12
|
-
|
|
15
|
+
x as breakpoints
|
|
13
16
|
};
|
|
@@ -1,35 +1,48 @@
|
|
|
1
|
-
import { toValue as
|
|
2
|
-
const
|
|
3
|
-
let
|
|
4
|
-
const
|
|
5
|
-
function
|
|
6
|
-
|
|
1
|
+
import { toValue as E, unref as L } from "vue";
|
|
2
|
+
const c = /* @__PURE__ */ new WeakMap();
|
|
3
|
+
let i = 0;
|
|
4
|
+
const l = 500;
|
|
5
|
+
function p(t) {
|
|
6
|
+
t.preventDefault(), t.stopPropagation();
|
|
7
|
+
}
|
|
8
|
+
function S() {
|
|
9
|
+
document.addEventListener("click", p, {
|
|
10
|
+
capture: !0,
|
|
11
|
+
once: !0
|
|
12
|
+
}), setTimeout(() => {
|
|
13
|
+
document.removeEventListener("click", p, {
|
|
14
|
+
capture: !0
|
|
15
|
+
});
|
|
16
|
+
}, l);
|
|
17
|
+
}
|
|
18
|
+
function d(t) {
|
|
19
|
+
const o = L(t);
|
|
7
20
|
return o?.$el ?? o;
|
|
8
21
|
}
|
|
9
|
-
function
|
|
10
|
-
return typeof t == "string" ? document.querySelector(t) :
|
|
22
|
+
function h(t) {
|
|
23
|
+
return typeof t == "string" ? document.querySelector(t) : d(t);
|
|
11
24
|
}
|
|
12
|
-
function y(t, o,
|
|
13
|
-
const
|
|
14
|
-
if (!
|
|
25
|
+
function y(t, o, f = {}) {
|
|
26
|
+
const r = h(t);
|
|
27
|
+
if (!r) return () => {
|
|
15
28
|
};
|
|
16
|
-
const a =
|
|
17
|
-
a && (a(),
|
|
18
|
-
const u = (
|
|
19
|
-
if (
|
|
20
|
-
|
|
21
|
-
else if (
|
|
29
|
+
const a = c.get(r);
|
|
30
|
+
a && (a(), c.delete(r));
|
|
31
|
+
const u = (n) => {
|
|
32
|
+
if (n.type === "touchstart")
|
|
33
|
+
i = n.timeStamp;
|
|
34
|
+
else if (i > 0 && n.timeStamp - i < l)
|
|
22
35
|
return;
|
|
23
|
-
const
|
|
24
|
-
if (!
|
|
25
|
-
const
|
|
26
|
-
|
|
36
|
+
const s = n.target instanceof Node ? n.target : null;
|
|
37
|
+
if (!s) return;
|
|
38
|
+
const g = (E(f.ignore) ?? []).map((e) => typeof e == "string" ? document.querySelector(e) : d(e)).filter((e) => e != null);
|
|
39
|
+
r.contains(s) || g.some((e) => e.contains(s)) || (n.type === "touchstart" && S(), o(n));
|
|
27
40
|
};
|
|
28
41
|
document.addEventListener("mousedown", u, { capture: !0 }), document.addEventListener("touchstart", u, { capture: !0 });
|
|
29
42
|
const m = () => {
|
|
30
|
-
document.removeEventListener("mousedown", u, { capture: !0 }), document.removeEventListener("touchstart", u, { capture: !0 }),
|
|
43
|
+
document.removeEventListener("mousedown", u, { capture: !0 }), document.removeEventListener("touchstart", u, { capture: !0 }), c.delete(r);
|
|
31
44
|
};
|
|
32
|
-
return
|
|
45
|
+
return c.set(r, m), m;
|
|
33
46
|
}
|
|
34
47
|
export {
|
|
35
48
|
y as onClickOutside
|