@zealsolutions/zeal-ui 1.0.0-alpha.360 → 1.0.0-alpha.362
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/Tooltip-CQjz2EXM.js +115 -0
- package/dist/components/header/index.js +155 -146
- package/dist/components/tooltips/index.js +4 -110
- package/package.json +1 -1
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import { ref as r, onUnmounted as M, openBlock as y, createElementBlock as L, Fragment as z, createElementVNode as m, renderSlot as B, createBlock as X, Teleport as D, withDirectives as N, normalizeStyle as $, createTextVNode as C, toDisplayString as F, normalizeClass as P, vShow as V, nextTick as Y } from "vue";
|
|
2
|
+
const s = r(null);
|
|
3
|
+
function q() {
|
|
4
|
+
function e(t) {
|
|
5
|
+
s.value && s.value !== t && s.value.hideImmediate(), s.value = t;
|
|
6
|
+
}
|
|
7
|
+
function n(t) {
|
|
8
|
+
s.value === t && (s.value = null);
|
|
9
|
+
}
|
|
10
|
+
return {
|
|
11
|
+
register: e,
|
|
12
|
+
unregister: n
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
function H({ rect: e, scrollX: n = 0, scrollY: t = 0, position: v = "top", offset: u = 20 }) {
|
|
16
|
+
const l = v === "bottom", c = e.left + n + e.width / 2, p = l ? e.bottom + t + u : e.top + t - u;
|
|
17
|
+
return {
|
|
18
|
+
top: `${Math.round(p)}px`,
|
|
19
|
+
left: `${Math.round(c)}px`,
|
|
20
|
+
transform: l ? "translateX(-50%)" : "translateX(-50%) translateY(-100%)",
|
|
21
|
+
position: "absolute",
|
|
22
|
+
pointerEvents: "none"
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
const I = { class: "px-4 py-2 text-center pointer-events-none" }, U = {
|
|
26
|
+
__name: "Tooltip",
|
|
27
|
+
props: {
|
|
28
|
+
text: {
|
|
29
|
+
type: String,
|
|
30
|
+
required: !0
|
|
31
|
+
},
|
|
32
|
+
position: {
|
|
33
|
+
type: String,
|
|
34
|
+
default: "top"
|
|
35
|
+
// 'top', 'bottom', 'left', 'right'
|
|
36
|
+
},
|
|
37
|
+
offset: {
|
|
38
|
+
type: Number,
|
|
39
|
+
default: 20
|
|
40
|
+
// Offset from the trigger element
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
setup(e) {
|
|
44
|
+
const n = e, { register: t, unregister: v } = q(), u = {
|
|
45
|
+
hideImmediate: w
|
|
46
|
+
}, l = r(!1);
|
|
47
|
+
let c = null, p = null;
|
|
48
|
+
const d = r(!1), b = r(null), T = r(null), g = r({ top: "0px", left: "0px" });
|
|
49
|
+
function h() {
|
|
50
|
+
const o = b.value, i = T.value;
|
|
51
|
+
if (!o || !i)
|
|
52
|
+
return;
|
|
53
|
+
const a = o.getBoundingClientRect(), k = window.scrollY || document.documentElement.scrollTop, S = window.scrollX || document.documentElement.scrollLeft;
|
|
54
|
+
g.value = H({ rect: a, scrollX: S, scrollY: k, position: n.position, offset: n.offset });
|
|
55
|
+
}
|
|
56
|
+
function f() {
|
|
57
|
+
clearTimeout(p), p = setTimeout(() => {
|
|
58
|
+
h();
|
|
59
|
+
}, 50);
|
|
60
|
+
}
|
|
61
|
+
function E() {
|
|
62
|
+
d.value || (clearTimeout(c), t(u), l.value = !0, d.value = !0, Y(() => {
|
|
63
|
+
setTimeout(() => {
|
|
64
|
+
h();
|
|
65
|
+
}, 0);
|
|
66
|
+
}), window.addEventListener("scroll", f), window.addEventListener("resize", f));
|
|
67
|
+
}
|
|
68
|
+
function x() {
|
|
69
|
+
l.value = !1, c = setTimeout(() => {
|
|
70
|
+
l.value || w();
|
|
71
|
+
}, 100);
|
|
72
|
+
}
|
|
73
|
+
function w() {
|
|
74
|
+
d.value = !1, v(u), window.removeEventListener("scroll", f), window.removeEventListener("resize", f);
|
|
75
|
+
}
|
|
76
|
+
return M(() => {
|
|
77
|
+
w();
|
|
78
|
+
}), (o, i) => (y(), L(z, null, [
|
|
79
|
+
m("span", {
|
|
80
|
+
ref_key: "triggerEl",
|
|
81
|
+
ref: b,
|
|
82
|
+
onMouseenter: E,
|
|
83
|
+
onMouseleave: x,
|
|
84
|
+
onFocus: i[0] || (i[0] = (...a) => o.showTooltip && o.showTooltip(...a)),
|
|
85
|
+
onBlur: i[1] || (i[1] = (...a) => o.hideTooltip && o.hideTooltip(...a)),
|
|
86
|
+
tabindex: "0",
|
|
87
|
+
class: "inline-block will-change"
|
|
88
|
+
}, [
|
|
89
|
+
B(o.$slots, "default")
|
|
90
|
+
], 544),
|
|
91
|
+
(y(), X(D, { to: "body" }, [
|
|
92
|
+
N(m("div", {
|
|
93
|
+
class: "absolute z-50 bg-black-950 text-white font-semibold text-xs text-center rounded whitespace-nowrap pointer-events-none transition-none",
|
|
94
|
+
style: $(g.value),
|
|
95
|
+
ref_key: "tooltipEl",
|
|
96
|
+
ref: T,
|
|
97
|
+
onMouseenter: E,
|
|
98
|
+
onMouseleave: x
|
|
99
|
+
}, [
|
|
100
|
+
m("div", I, [
|
|
101
|
+
C(F(e.text) + " ", 1),
|
|
102
|
+
m("span", {
|
|
103
|
+
class: P(["absolute left-1/2 w-2 h-2 bg-black-950 rotate-45 -translate-x-1/2 pointer-events-none", e.position === "bottom" ? "-top-1" : "-bottom-1"])
|
|
104
|
+
}, null, 2)
|
|
105
|
+
])
|
|
106
|
+
], 36), [
|
|
107
|
+
[V, d.value]
|
|
108
|
+
])
|
|
109
|
+
]))
|
|
110
|
+
], 64));
|
|
111
|
+
}
|
|
112
|
+
};
|
|
113
|
+
export {
|
|
114
|
+
U as _
|
|
115
|
+
};
|
|
@@ -1,16 +1,17 @@
|
|
|
1
|
-
import { openBlock as a, createElementBlock as u, createVNode as T, createElementVNode as r, createTextVNode as j, mergeModels as
|
|
1
|
+
import { openBlock as a, createElementBlock as u, createVNode as T, createElementVNode as r, createTextVNode as j, mergeModels as ne, useModel as ke, getCurrentInstance as ce, ref as k, computed as $, watch as K, nextTick as oe, onMounted as ge, onBeforeUnmount as we, createBlock as I, Teleport as Ce, withModifiers as N, withDirectives as G, vModelText as $e, createCommentVNode as v, normalizeClass as M, toDisplayString as b, Fragment as H, renderList as P, normalizeStyle as q, pushScopeId as Se, popScopeId as _e, Transition as ue, withCtx as F, resolveDynamicComponent as de, unref as Q, vShow as pe, renderSlot as R } from "vue";
|
|
2
2
|
import Me from "../../HouseIcon-BxmNyxvv.js";
|
|
3
3
|
import Te from "../../ArrowLeftIcon-Cgsy08pY.js";
|
|
4
|
+
import { _ as Ae } from "../../Tooltip-CQjz2EXM.js";
|
|
4
5
|
import fe from "../../MagnifyingGlassIcon-ChYNIA-H.js";
|
|
5
|
-
import { _ as
|
|
6
|
+
import { _ as Ie } from "../../_plugin-vue_export-helper-CHgC5LLL.js";
|
|
6
7
|
import { o as xe } from "../../index-D9ihCfA2.js";
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
import
|
|
10
|
-
const
|
|
8
|
+
import ae from "../../BellIcon-lK5EZXNf.js";
|
|
9
|
+
import Ee from "../../CircleCheckIcon-CA15yXgI.js";
|
|
10
|
+
import Ne from "../../XMarkIcon-DKJ_--uA.js";
|
|
11
|
+
const He = /* @__PURE__ */ r("span", { class: "hidden whitespace-nowrap sm:inline" }, "Search", -1), Oe = /* @__PURE__ */ r("kbd", { class: "zui-search-kbd hidden items-center gap-px rounded border-[1px] border-proclusteal-300 dark:border-line bg-proclusteal-100 dark:bg-surface px-[5px] py-0.5 font-sans text-[11px] font-bold leading-none text-proclusteal-500 dark:text-content-muted sm:inline-flex" }, [
|
|
11
12
|
/* @__PURE__ */ r("span", null, "⌘"),
|
|
12
13
|
/* @__PURE__ */ j("K ")
|
|
13
|
-
], -1),
|
|
14
|
+
], -1), Le = {
|
|
14
15
|
__name: "GlobalSearchPill",
|
|
15
16
|
emits: ["click"],
|
|
16
17
|
setup(e) {
|
|
@@ -22,8 +23,8 @@ const Ne = /* @__PURE__ */ r("span", { class: "hidden whitespace-nowrap sm:inlin
|
|
|
22
23
|
onClick: o[0] || (o[0] = (y) => i.$emit("click"))
|
|
23
24
|
}, [
|
|
24
25
|
T(fe, { class: "!h-[15px] !w-[15px] flex-none text-proclusteal-950 dark:text-focus" }),
|
|
25
|
-
|
|
26
|
-
|
|
26
|
+
He,
|
|
27
|
+
Oe
|
|
27
28
|
]));
|
|
28
29
|
}
|
|
29
30
|
}, D = {
|
|
@@ -39,15 +40,15 @@ const Ne = /* @__PURE__ */ r("span", { class: "hidden whitespace-nowrap sm:inlin
|
|
|
39
40
|
EDS: { label: "Equipment Data", colour: "#708090", icon: '<path d="M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2"/><rect x="8" y="2" width="8" height="4" rx="1" ry="1"/><line x1="8" y1="12" x2="16" y2="12"/><line x1="8" y1="16" x2="14" y2="16"/>' },
|
|
40
41
|
TIS: { label: "Training Sheets", colour: "#4682b4", icon: '<line x1="8" y1="6" x2="21" y2="6"/><line x1="8" y1="12" x2="21" y2="12"/><line x1="8" y1="18" x2="21" y2="18"/><line x1="3" y1="6" x2="3.01" y2="6"/><line x1="3" y1="12" x2="3.01" y2="12"/><line x1="3" y1="18" x2="3.01" y2="18"/>' },
|
|
41
42
|
Training: { label: "Training", colour: "#3f7cac", icon: '<path d="M22 10 12 5 2 10l10 5 10-5z"/><path d="M6 12v5c0 1 2.7 3 6 3s6-2 6-3v-5"/>' }
|
|
42
|
-
},
|
|
43
|
+
}, ze = {
|
|
43
44
|
colour: "#9aa4ad",
|
|
44
45
|
icon: '<circle cx="11" cy="11" r="7"/><line x1="21" y1="21" x2="16.65" y2="16.65"/>'
|
|
45
46
|
};
|
|
46
|
-
function
|
|
47
|
+
function De(e, i = {}) {
|
|
47
48
|
const o = { ...D, ...i };
|
|
48
|
-
return Object.prototype.hasOwnProperty.call(o, e) ? o[e] : { ...
|
|
49
|
+
return Object.prototype.hasOwnProperty.call(o, e) ? o[e] : { ...ze, label: e };
|
|
49
50
|
}
|
|
50
|
-
function
|
|
51
|
+
function je(e) {
|
|
51
52
|
return (e == null ? "" : String(e)).replace(/[&<>"']/g, (i) => ({
|
|
52
53
|
"&": "&",
|
|
53
54
|
"<": "<",
|
|
@@ -76,23 +77,23 @@ function O(e) {
|
|
|
76
77
|
}
|
|
77
78
|
return o.protocol === "http:" || o.protocol === "https:" ? i : "";
|
|
78
79
|
}
|
|
79
|
-
function
|
|
80
|
+
function Pe(e) {
|
|
80
81
|
return String(e || "").toLowerCase().split(/\s+/).filter((i) => i.length >= 2);
|
|
81
82
|
}
|
|
82
|
-
function
|
|
83
|
-
const o =
|
|
83
|
+
function re(e, i) {
|
|
84
|
+
const o = je(e);
|
|
84
85
|
if (!i || !i.length)
|
|
85
86
|
return o;
|
|
86
87
|
const y = new RegExp(`(${i.map((p) => p.replace(/[.*+?^${}()|[\]\\]/g, "\\$&")).join("|")})`, "ig");
|
|
87
88
|
return o.replace(y, "<mark>$1</mark>");
|
|
88
89
|
}
|
|
89
|
-
const
|
|
90
|
+
const Ue = (e) => (Se("data-v-80fd510b"), e = e(), _e(), e), Be = { class: "zui-search-field flex items-center gap-2.5 border-b-[1px] border-proclusteal-200 dark:border-line px-4 py-3.5" }, Re = ["placeholder"], Ve = {
|
|
90
91
|
key: 0,
|
|
91
92
|
class: "px-[18px] pb-0.5 pt-3.5 text-[15px] font-extrabold text-[#1e262c] dark:text-content"
|
|
92
|
-
},
|
|
93
|
+
}, Ke = {
|
|
93
94
|
key: 1,
|
|
94
95
|
class: "border-b-[1px] border-proclusteal-200 dark:border-line px-[18px] pb-3 pt-2.5"
|
|
95
|
-
},
|
|
96
|
+
}, qe = ["onClick"], Ge = { class: "zui-search-group sticky top-0 z-[1] border-t-[1px] border-proclusteal-200 dark:border-line bg-proclusteal-150 dark:bg-surface px-[18px] py-2 text-[12px] font-extrabold tracking-[0.3px] text-proclusteal-700 dark:text-content" }, Fe = { class: "ml-0.5 text-[#667079] dark:text-content-muted" }, Qe = ["href", "data-row-idx", "onClick", "onMouseenter"], Ye = ["innerHTML"], Xe = { class: "min-w-0 flex-1" }, Je = ["innerHTML"], We = ["innerHTML"], Ze = /* @__PURE__ */ Ue(() => /* @__PURE__ */ r("svg", {
|
|
96
97
|
class: "h-4 w-4 flex-none text-[#c2cad1] dark:text-content-muted",
|
|
97
98
|
viewBox: "0 0 24 24",
|
|
98
99
|
fill: "none",
|
|
@@ -102,9 +103,9 @@ const Pe = (e) => (Se("data-v-80fd510b"), e = e(), _e(), e), Ue = { class: "zui-
|
|
|
102
103
|
"stroke-linejoin": "round"
|
|
103
104
|
}, [
|
|
104
105
|
/* @__PURE__ */ r("polyline", { points: "9 18 15 12 9 6" })
|
|
105
|
-
], -1)),
|
|
106
|
+
], -1)), le = "zui-search-chip mb-2 mr-2 inline-flex cursor-pointer items-center gap-[7px] rounded-[20px] border-[1px] border-[#dde3e8] dark:border-line bg-[#f4f6f8] dark:bg-surface px-3.5 py-1.5 text-[13px] font-bold text-proclusteal-700 dark:text-content hover:border-proclusteal-950 dark:hover:border-focus", se = "!border-proclusteal-950 !bg-proclusteal-950 !text-white", V = "zui-search-state px-5 py-[26px] text-center text-[13px] font-medium text-[#667079] dark:text-content-muted", et = {
|
|
106
107
|
__name: "GlobalSearchModal",
|
|
107
|
-
props: /* @__PURE__ */
|
|
108
|
+
props: /* @__PURE__ */ ne({
|
|
108
109
|
searchProvider: {
|
|
109
110
|
type: Function,
|
|
110
111
|
required: !0
|
|
@@ -129,45 +130,45 @@ const Pe = (e) => (Se("data-v-80fd510b"), e = e(), _e(), e), Ue = { class: "zui-
|
|
|
129
130
|
open: { type: Boolean, default: !1 },
|
|
130
131
|
openModifiers: {}
|
|
131
132
|
}),
|
|
132
|
-
emits: /* @__PURE__ */
|
|
133
|
+
emits: /* @__PURE__ */ ne(["navigate"], ["update:open"]),
|
|
133
134
|
setup(e, { emit: i }) {
|
|
134
|
-
const o = e, y = i, p = ke(e, "open"), x =
|
|
135
|
-
let d = null, C = 0, L = null,
|
|
136
|
-
const
|
|
135
|
+
const o = e, y = i, p = ke(e, "open"), x = ce(), w = k(null), _ = k(null), A = k(null), g = k(""), S = k(""), m = k([]), f = k("all"), n = k("zero"), c = k(-1);
|
|
136
|
+
let d = null, C = 0, L = null, E = null;
|
|
137
|
+
const Y = $(() => Pe(S.value)), X = (t) => De(t, o.types), J = $(() => {
|
|
137
138
|
let t = 0;
|
|
138
139
|
return m.value.filter((s) => f.value === "all" || s.type === f.value).map((s) => {
|
|
139
|
-
const l =
|
|
140
|
+
const l = X(s.type);
|
|
140
141
|
return {
|
|
141
142
|
type: s.type,
|
|
142
143
|
label: l.label,
|
|
143
144
|
items: s.items.map((h) => ({
|
|
144
145
|
url: O(h.Url),
|
|
145
|
-
titleHtml:
|
|
146
|
-
subtitleHtml:
|
|
146
|
+
titleHtml: re(h.Title, Y.value),
|
|
147
|
+
subtitleHtml: re(h.Subtitle, Y.value),
|
|
147
148
|
tileColour: he(h.Colour) || l.colour,
|
|
148
149
|
tileIcon: l.icon,
|
|
149
150
|
flatIdx: t++
|
|
150
151
|
}))
|
|
151
152
|
};
|
|
152
153
|
});
|
|
153
|
-
}),
|
|
154
|
+
}), W = $(() => J.value.flatMap((t) => t.items)), ye = $(() => m.value.reduce((t, s) => t + s.items.length, 0));
|
|
154
155
|
function U(t) {
|
|
155
|
-
const s =
|
|
156
|
+
const s = W.value;
|
|
156
157
|
if (!s.length) {
|
|
157
158
|
c.value = -1;
|
|
158
159
|
return;
|
|
159
160
|
}
|
|
160
|
-
c.value = Math.min(Math.max(t, 0), s.length - 1),
|
|
161
|
+
c.value = Math.min(Math.max(t, 0), s.length - 1), oe(() => {
|
|
161
162
|
var h;
|
|
162
163
|
const l = (h = A.value) == null ? void 0 : h.querySelector(`[data-row-idx="${c.value}"]`);
|
|
163
164
|
l == null || l.scrollIntoView({ block: "nearest" });
|
|
164
165
|
});
|
|
165
166
|
}
|
|
166
|
-
function
|
|
167
|
+
function Z(t) {
|
|
167
168
|
var s;
|
|
168
169
|
f.value = t, U(0), (s = w.value) == null || s.focus();
|
|
169
170
|
}
|
|
170
|
-
function
|
|
171
|
+
function ee(t) {
|
|
171
172
|
var s, l;
|
|
172
173
|
t && (y("navigate", t), (l = (s = x == null ? void 0 : x.vnode) == null ? void 0 : s.props) != null && l.onNavigate || (window.location.href = t), z());
|
|
173
174
|
}
|
|
@@ -197,10 +198,10 @@ const Pe = (e) => (Se("data-v-80fd510b"), e = e(), _e(), e), Ue = { class: "zui-
|
|
|
197
198
|
}
|
|
198
199
|
d = setTimeout(() => me(s), o.debounce);
|
|
199
200
|
}), K(p, (t) => {
|
|
200
|
-
t ? (L = document.activeElement, g.value = "", S.value = "", m.value = [], f.value = "all", n.value = "zero", c.value = -1,
|
|
201
|
+
t ? (L = document.activeElement, g.value = "", S.value = "", m.value = [], f.value = "all", n.value = "zero", c.value = -1, E = document.body.style.overflow, document.body.style.overflow = "hidden", oe(() => {
|
|
201
202
|
var s;
|
|
202
203
|
return (s = w.value) == null ? void 0 : s.focus();
|
|
203
|
-
})) : (clearTimeout(d), C++,
|
|
204
|
+
})) : (clearTimeout(d), C++, E !== null && (document.body.style.overflow = E, E = null), L != null && L.focus && L.focus());
|
|
204
205
|
}, { immediate: !0 });
|
|
205
206
|
function ve(t) {
|
|
206
207
|
var s;
|
|
@@ -219,10 +220,10 @@ const Pe = (e) => (Se("data-v-80fd510b"), e = e(), _e(), e), Ue = { class: "zui-
|
|
|
219
220
|
if (t.key === "Enter") {
|
|
220
221
|
if (t.isComposing)
|
|
221
222
|
return;
|
|
222
|
-
const l =
|
|
223
|
+
const l = W.value;
|
|
223
224
|
if (!l.length)
|
|
224
225
|
return;
|
|
225
|
-
t.preventDefault(),
|
|
226
|
+
t.preventDefault(), ee(l[c.value >= 0 ? c.value : 0].url);
|
|
226
227
|
return;
|
|
227
228
|
}
|
|
228
229
|
if (t.key === "Tab") {
|
|
@@ -239,7 +240,7 @@ const Pe = (e) => (Se("data-v-80fd510b"), e = e(), _e(), e), Ue = { class: "zui-
|
|
|
239
240
|
const s = (t.tagName || "").toLowerCase();
|
|
240
241
|
return s === "input" || s === "textarea" || s === "select" || t.isContentEditable;
|
|
241
242
|
}
|
|
242
|
-
function
|
|
243
|
+
function te(t) {
|
|
243
244
|
if (t.key === "Escape" && p.value) {
|
|
244
245
|
t.preventDefault(), z();
|
|
245
246
|
return;
|
|
@@ -251,10 +252,10 @@ const Pe = (e) => (Se("data-v-80fd510b"), e = e(), _e(), e), Ue = { class: "zui-
|
|
|
251
252
|
t.key === "/" && !p.value && !be(document.activeElement) && (t.preventDefault(), p.value = !0);
|
|
252
253
|
}
|
|
253
254
|
return ge(() => {
|
|
254
|
-
document.addEventListener("keydown",
|
|
255
|
+
document.addEventListener("keydown", te);
|
|
255
256
|
}), we(() => {
|
|
256
|
-
document.removeEventListener("keydown",
|
|
257
|
-
}), (t, s) => (a(),
|
|
257
|
+
document.removeEventListener("keydown", te), clearTimeout(d), C++, E !== null && (document.body.style.overflow = E, E = null);
|
|
258
|
+
}), (t, s) => (a(), I(Ce, { to: "body" }, [
|
|
258
259
|
p.value ? (a(), u("div", {
|
|
259
260
|
key: 0,
|
|
260
261
|
class: "zui-search-overlay fixed inset-0 z-[20000] flex items-start justify-center bg-[#11181c]/45",
|
|
@@ -269,7 +270,7 @@ const Pe = (e) => (Se("data-v-80fd510b"), e = e(), _e(), e), Ue = { class: "zui-
|
|
|
269
270
|
"aria-modal": "true",
|
|
270
271
|
"aria-label": "Search"
|
|
271
272
|
}, [
|
|
272
|
-
r("div",
|
|
273
|
+
r("div", Be, [
|
|
273
274
|
T(fe, { class: "!h-[18px] !w-[18px] flex-none text-proclusteal-400 dark:text-content-muted" }),
|
|
274
275
|
G(r("input", {
|
|
275
276
|
ref_key: "inputEl",
|
|
@@ -279,7 +280,7 @@ const Pe = (e) => (Se("data-v-80fd510b"), e = e(), _e(), e), Ue = { class: "zui-
|
|
|
279
280
|
autocomplete: "off",
|
|
280
281
|
placeholder: e.placeholder,
|
|
281
282
|
class: "zui-search-input flex-1 border-0 bg-[transparent] p-0 text-[16px] text-[#1e262c] dark:text-content outline-none placeholder:text-proclusteal-400 dark:placeholder:text-content-muted focus:ring-0"
|
|
282
|
-
}, null, 8,
|
|
283
|
+
}, null, 8, Re), [
|
|
283
284
|
[$e, g.value]
|
|
284
285
|
]),
|
|
285
286
|
r("button", {
|
|
@@ -290,12 +291,12 @@ const Pe = (e) => (Se("data-v-80fd510b"), e = e(), _e(), e), Ue = { class: "zui-
|
|
|
290
291
|
onClick: z
|
|
291
292
|
}, "×")
|
|
292
293
|
]),
|
|
293
|
-
n.value === "results" ? (a(), u("div",
|
|
294
|
-
n.value === "results" ? (a(), u("div",
|
|
294
|
+
n.value === "results" ? (a(), u("div", Ve, " Search results ")) : v("", !0),
|
|
295
|
+
n.value === "results" ? (a(), u("div", Ke, [
|
|
295
296
|
r("button", {
|
|
296
297
|
type: "button",
|
|
297
|
-
class: M([
|
|
298
|
-
onClick: s[1] || (s[1] = (l) =>
|
|
298
|
+
class: M([le, f.value === "all" ? se : ""]),
|
|
299
|
+
onClick: s[1] || (s[1] = (l) => Z("all"))
|
|
299
300
|
}, [
|
|
300
301
|
j(" All "),
|
|
301
302
|
r("span", {
|
|
@@ -305,14 +306,14 @@ const Pe = (e) => (Se("data-v-80fd510b"), e = e(), _e(), e), Ue = { class: "zui-
|
|
|
305
306
|
(a(!0), u(H, null, P(m.value, (l) => (a(), u("button", {
|
|
306
307
|
key: l.type,
|
|
307
308
|
type: "button",
|
|
308
|
-
class: M([
|
|
309
|
-
onClick: (h) =>
|
|
309
|
+
class: M([le, f.value === l.type ? se : ""]),
|
|
310
|
+
onClick: (h) => Z(l.type)
|
|
310
311
|
}, [
|
|
311
|
-
j(b(
|
|
312
|
+
j(b(X(l.type).label) + " ", 1),
|
|
312
313
|
r("span", {
|
|
313
314
|
class: M(["font-bold", f.value === l.type ? "opacity-85" : "opacity-60"])
|
|
314
315
|
}, "(" + b(l.items.length) + ")", 3)
|
|
315
|
-
], 10,
|
|
316
|
+
], 10, qe))), 128))
|
|
316
317
|
])) : v("", !0),
|
|
317
318
|
r("div", {
|
|
318
319
|
ref_key: "resultsEl",
|
|
@@ -321,29 +322,29 @@ const Pe = (e) => (Se("data-v-80fd510b"), e = e(), _e(), e), Ue = { class: "zui-
|
|
|
321
322
|
}, [
|
|
322
323
|
n.value === "zero" ? (a(), u("div", {
|
|
323
324
|
key: 0,
|
|
324
|
-
class: M(
|
|
325
|
+
class: M(V)
|
|
325
326
|
}, " Search across SOPs, incidents, assets, people and more — you only ever see what you have access to. ")) : n.value === "hint" ? (a(), u("div", {
|
|
326
327
|
key: 1,
|
|
327
|
-
class: M(
|
|
328
|
+
class: M(V)
|
|
328
329
|
}, " Keep typing… enter at least " + b(e.minChars) + " characters to search. ", 1)) : n.value === "empty" ? (a(), u("div", {
|
|
329
330
|
key: 2,
|
|
330
|
-
class: M(
|
|
331
|
+
class: M(V)
|
|
331
332
|
}, " No results for “" + b(S.value) + "” — try a broader term or a code. ", 1)) : n.value === "error" ? (a(), u("div", {
|
|
332
333
|
key: 3,
|
|
333
|
-
class: M(
|
|
334
|
-
}, " Search is temporarily unavailable. ")) : (a(!0), u(H, { key: 4 }, P(
|
|
334
|
+
class: M(V)
|
|
335
|
+
}, " Search is temporarily unavailable. ")) : (a(!0), u(H, { key: 4 }, P(J.value, (l) => (a(), u("div", {
|
|
335
336
|
key: l.type
|
|
336
337
|
}, [
|
|
337
|
-
r("div",
|
|
338
|
+
r("div", Ge, [
|
|
338
339
|
j(b(l.label) + " ", 1),
|
|
339
|
-
r("span",
|
|
340
|
+
r("span", Fe, "(" + b(l.items.length) + ")", 1)
|
|
340
341
|
]),
|
|
341
342
|
(a(!0), u(H, null, P(l.items, (h) => (a(), u("a", {
|
|
342
343
|
key: h.flatIdx,
|
|
343
344
|
href: h.url || null,
|
|
344
345
|
class: M(["zui-search-row flex items-center gap-[13px] px-[18px] py-[11px] text-[#1e262c] dark:text-content no-underline", { "bg-proclusteal-50 dark:bg-surface-hover": h.flatIdx === c.value }]),
|
|
345
346
|
"data-row-idx": h.flatIdx,
|
|
346
|
-
onClick: N((B) =>
|
|
347
|
+
onClick: N((B) => ee(h.url), ["exact", "prevent"]),
|
|
347
348
|
onMouseenter: (B) => c.value = h.flatIdx
|
|
348
349
|
}, [
|
|
349
350
|
r("span", {
|
|
@@ -359,27 +360,27 @@ const Pe = (e) => (Se("data-v-80fd510b"), e = e(), _e(), e), Ue = { class: "zui-
|
|
|
359
360
|
"stroke-linecap": "round",
|
|
360
361
|
"stroke-linejoin": "round",
|
|
361
362
|
innerHTML: h.tileIcon
|
|
362
|
-
}, null, 8,
|
|
363
|
+
}, null, 8, Ye))
|
|
363
364
|
], 4),
|
|
364
|
-
r("span",
|
|
365
|
+
r("span", Xe, [
|
|
365
366
|
r("span", {
|
|
366
367
|
class: "gs-marked block truncate text-[14px] font-bold",
|
|
367
368
|
innerHTML: h.titleHtml
|
|
368
|
-
}, null, 8,
|
|
369
|
+
}, null, 8, Je),
|
|
369
370
|
r("span", {
|
|
370
371
|
class: "gs-marked mt-0.5 block truncate text-[12.5px] text-[#5b6570] dark:text-content-muted",
|
|
371
372
|
innerHTML: h.subtitleHtml
|
|
372
|
-
}, null, 8,
|
|
373
|
+
}, null, 8, We)
|
|
373
374
|
]),
|
|
374
|
-
|
|
375
|
-
], 42,
|
|
375
|
+
Ze
|
|
376
|
+
], 42, Qe))), 128))
|
|
376
377
|
]))), 128))
|
|
377
378
|
], 512)
|
|
378
379
|
], 512)
|
|
379
380
|
], 32)) : v("", !0)
|
|
380
381
|
]));
|
|
381
382
|
}
|
|
382
|
-
},
|
|
383
|
+
}, tt = /* @__PURE__ */ Ie(et, [["__scopeId", "data-v-80fd510b"]]), ie = {
|
|
383
384
|
"reference library": "RefLib",
|
|
384
385
|
reflib: "RefLib",
|
|
385
386
|
repository: "RefLib",
|
|
@@ -397,7 +398,7 @@ const Pe = (e) => (Se("data-v-80fd510b"), e = e(), _e(), e), Ue = { class: "zui-
|
|
|
397
398
|
directory: "Contact",
|
|
398
399
|
"telephone directory": "Contact"
|
|
399
400
|
};
|
|
400
|
-
function
|
|
401
|
+
function nt(e) {
|
|
401
402
|
if (!e)
|
|
402
403
|
return "";
|
|
403
404
|
const i = String(e).trim();
|
|
@@ -408,11 +409,11 @@ function tt(e) {
|
|
|
408
409
|
o = i;
|
|
409
410
|
else {
|
|
410
411
|
const y = i.toLowerCase(), p = Object.keys(D).find((x) => x.toLowerCase() === y);
|
|
411
|
-
p ? o = p : Object.prototype.hasOwnProperty.call(
|
|
412
|
+
p ? o = p : Object.prototype.hasOwnProperty.call(ie, y) && (o = ie[y]);
|
|
412
413
|
}
|
|
413
414
|
return !o || !Object.prototype.hasOwnProperty.call(D, o) ? "" : D[o].icon || "";
|
|
414
415
|
}
|
|
415
|
-
function
|
|
416
|
+
function ot(e) {
|
|
416
417
|
if (!e)
|
|
417
418
|
return "";
|
|
418
419
|
if (e.dateText)
|
|
@@ -420,19 +421,19 @@ function nt(e) {
|
|
|
420
421
|
const i = e.notifyday != null ? String(e.notifyday).replace(/^0/, "") : "", o = e.notifymonthname ? String(e.notifymonthname) : "", y = e.notifyyear != null ? String(e.notifyyear) : "";
|
|
421
422
|
return [i, o, y].filter(Boolean).join(" ");
|
|
422
423
|
}
|
|
423
|
-
const
|
|
424
|
+
const at = {
|
|
424
425
|
key: 0,
|
|
425
426
|
class: "absolute -right-[3px] -top-[3px] h-2 w-2 rounded-full bg-[#dd3730] ring-2 ring-white dark:ring-surface-raised"
|
|
426
|
-
},
|
|
427
|
+
}, rt = { class: "absolute right-0 top-full z-30 mt-2 w-[400px] max-w-[90vw] origin-top-right overflow-hidden rounded-[10px] border-[1px] border-proclusteal-300 dark:border-line bg-surface-raised shadow-zeal-md" }, lt = { class: "max-h-[420px] overflow-y-auto" }, st = {
|
|
427
428
|
key: 0,
|
|
428
429
|
class: "px-5 py-[26px] text-center text-[13px] font-medium text-[#667079] dark:text-content-muted"
|
|
429
|
-
},
|
|
430
|
+
}, it = {
|
|
430
431
|
key: 1,
|
|
431
432
|
class: "px-5 py-[26px] text-center text-[13px] font-medium text-[#667079] dark:text-content-muted"
|
|
432
|
-
},
|
|
433
|
+
}, ct = ["onClick"], ut = { class: "inline-flex h-[42px] w-[42px] flex-none items-center justify-center rounded-[10px] bg-proclusteal-950 text-white" }, dt = ["innerHTML"], pt = { class: "min-w-0 flex-1" }, ft = { class: "block truncate text-[14px] font-bold text-[#1e262c] dark:text-content" }, xt = { class: "block truncate text-[12.5px] text-[#5b6570] dark:text-content-muted" }, ht = {
|
|
433
434
|
key: 0,
|
|
434
435
|
class: "mt-0.5 block text-[12px] text-proclusteal-500 dark:text-content-muted"
|
|
435
|
-
},
|
|
436
|
+
}, yt = { class: "flex flex-none flex-col items-center gap-2 pt-0.5 text-proclusteal-600 dark:text-content-muted" }, mt = ["onClick"], vt = ["onClick"], bt = ["href"], kt = {
|
|
436
437
|
__name: "HeaderNotificationDropdown",
|
|
437
438
|
props: {
|
|
438
439
|
// The feed as /personal/GetNotifications.ashx returns it: { data: [...] }. Null means
|
|
@@ -478,13 +479,13 @@ const ot = {
|
|
|
478
479
|
const c = g(n.VueAppTypeIcon) || g(n.AppTypeName);
|
|
479
480
|
if (c)
|
|
480
481
|
return { component: c, path: "" };
|
|
481
|
-
const d =
|
|
482
|
-
return d ? { component: null, path: d } : { component:
|
|
482
|
+
const d = nt(n.AppTypeName);
|
|
483
|
+
return d ? { component: null, path: d } : { component: ae, path: "" };
|
|
483
484
|
}
|
|
484
485
|
const m = $(() => w.value.map((n) => ({
|
|
485
486
|
item: n,
|
|
486
487
|
icon: S(n),
|
|
487
|
-
date:
|
|
488
|
+
date: ot(n),
|
|
488
489
|
unread: n.ClassRead === "unread"
|
|
489
490
|
})));
|
|
490
491
|
function f(n) {
|
|
@@ -504,10 +505,10 @@ const ot = {
|
|
|
504
505
|
"aria-label": "View Notifications",
|
|
505
506
|
onClick: A
|
|
506
507
|
}, [
|
|
507
|
-
T(
|
|
508
|
-
_.value ? (a(), u("span",
|
|
508
|
+
T(ae, { class: "!h-[21px] !w-[21px]" }),
|
|
509
|
+
_.value ? (a(), u("span", at)) : v("", !0)
|
|
509
510
|
]),
|
|
510
|
-
T(
|
|
511
|
+
T(ue, {
|
|
511
512
|
"enter-active-class": "transition-all ease-out duration-75",
|
|
512
513
|
"enter-from-class": "scale-95 opacity-0",
|
|
513
514
|
"enter-to-class": "scale-100 opacity-100",
|
|
@@ -515,17 +516,17 @@ const ot = {
|
|
|
515
516
|
"leave-from-class": "scale-100 opacity-100",
|
|
516
517
|
"leave-to-class": "scale-95 opacity-0"
|
|
517
518
|
}, {
|
|
518
|
-
default:
|
|
519
|
-
G(r("div",
|
|
520
|
-
r("div",
|
|
521
|
-
e.notifications ? w.value.length ? v("", !0) : (a(), u("div",
|
|
519
|
+
default: F(() => [
|
|
520
|
+
G(r("div", rt, [
|
|
521
|
+
r("div", lt, [
|
|
522
|
+
e.notifications ? w.value.length ? v("", !0) : (a(), u("div", it, " No notifications. ")) : (a(), u("div", st, " Loading notifications… ")),
|
|
522
523
|
(a(!0), u(H, null, P(m.value, (d) => (a(), u("div", {
|
|
523
524
|
key: d.item.NotifyID,
|
|
524
525
|
class: M(["flex cursor-pointer items-start gap-3 border-b-[1px] border-proclusteal-200 dark:border-line px-4 py-3", d.unread ? "bg-proclusteal-50 dark:bg-surface-hover" : "bg-surface-raised"]),
|
|
525
526
|
onClick: (C) => f(d.item.url)
|
|
526
527
|
}, [
|
|
527
|
-
r("span",
|
|
528
|
-
d.icon.component ? (a(),
|
|
528
|
+
r("span", ut, [
|
|
529
|
+
d.icon.component ? (a(), I(de(d.icon.component), {
|
|
529
530
|
key: 0,
|
|
530
531
|
class: "!h-5 !w-5"
|
|
531
532
|
})) : (a(), u("svg", {
|
|
@@ -538,14 +539,14 @@ const ot = {
|
|
|
538
539
|
"stroke-linecap": "round",
|
|
539
540
|
"stroke-linejoin": "round",
|
|
540
541
|
innerHTML: d.icon.path
|
|
541
|
-
}, null, 8,
|
|
542
|
+
}, null, 8, dt))
|
|
542
543
|
]),
|
|
543
|
-
r("span",
|
|
544
|
-
r("span",
|
|
545
|
-
r("span",
|
|
546
|
-
d.date ? (a(), u("span",
|
|
544
|
+
r("span", pt, [
|
|
545
|
+
r("span", ft, b(d.item.notifyname), 1),
|
|
546
|
+
r("span", xt, b(d.item.summary), 1),
|
|
547
|
+
d.date ? (a(), u("span", ht, b(d.date), 1)) : v("", !0)
|
|
547
548
|
]),
|
|
548
|
-
r("span",
|
|
549
|
+
r("span", yt, [
|
|
549
550
|
d.unread ? (a(), u("button", {
|
|
550
551
|
key: 0,
|
|
551
552
|
type: "button",
|
|
@@ -554,8 +555,8 @@ const ot = {
|
|
|
554
555
|
"aria-label": "Mark notification as read",
|
|
555
556
|
onClick: N((C) => n.$emit("markAsRead", d.item.NotifyID), ["stop"])
|
|
556
557
|
}, [
|
|
557
|
-
T(
|
|
558
|
-
], 8,
|
|
558
|
+
T(Ee, { class: "!h-4 !w-4" })
|
|
559
|
+
], 8, mt)) : v("", !0),
|
|
559
560
|
r("button", {
|
|
560
561
|
type: "button",
|
|
561
562
|
class: "hover:text-[#dd3730]",
|
|
@@ -563,16 +564,16 @@ const ot = {
|
|
|
563
564
|
"aria-label": "Delete notification",
|
|
564
565
|
onClick: N((C) => n.$emit("deleteNotification", d.item.NotifyID), ["stop"])
|
|
565
566
|
}, [
|
|
566
|
-
T(
|
|
567
|
-
], 8,
|
|
567
|
+
T(Ne, { class: "!w-3" })
|
|
568
|
+
], 8, vt)
|
|
568
569
|
])
|
|
569
|
-
], 10,
|
|
570
|
+
], 10, ct))), 128))
|
|
570
571
|
]),
|
|
571
572
|
r("a", {
|
|
572
|
-
href:
|
|
573
|
+
href: Q(O)(e.notificationsUrl) || null,
|
|
573
574
|
class: "block border-t-[1px] border-proclusteal-200 dark:border-line px-4 py-2.5 text-center text-[13px] font-bold text-proclusteal-700 dark:text-content no-underline hover:bg-proclusteal-50 dark:hover:bg-surface-hover hover:text-proclusteal-900 dark:hover:text-focus",
|
|
574
575
|
onClick: c[0] || (c[0] = N((d) => f(e.notificationsUrl), ["exact", "prevent"]))
|
|
575
|
-
}, " See all notifications ", 8,
|
|
576
|
+
}, " See all notifications ", 8, bt)
|
|
576
577
|
], 512), [
|
|
577
578
|
[pe, x.value]
|
|
578
579
|
])
|
|
@@ -581,13 +582,13 @@ const ot = {
|
|
|
581
582
|
})
|
|
582
583
|
], 512));
|
|
583
584
|
}
|
|
584
|
-
},
|
|
585
|
+
}, gt = ["src"], wt = {
|
|
585
586
|
key: 1,
|
|
586
587
|
class: "inline-flex h-[34px] w-[34px] items-center justify-center rounded-full bg-proclusteal-900 text-[13px] font-bold uppercase leading-none tracking-[0.5px] text-white"
|
|
587
|
-
},
|
|
588
|
+
}, Ct = { class: "absolute right-0 top-full z-30 mt-2 w-[260px] origin-top-right rounded-[10px] border-[1px] border-proclusteal-300 dark:border-line bg-surface-raised py-1 shadow-zeal-md" }, $t = { class: "flex max-w-[260px] flex-col gap-0.5 whitespace-normal px-[18px] pb-2.5 pt-3" }, St = { class: "block text-[14px] font-bold text-proclusteal-800 dark:text-content" }, _t = /* @__PURE__ */ r("span", { class: "my-1.5 block h-0.5 w-8 flex-none rounded-[1px] bg-[#cdd4da] dark:bg-line-strong" }, null, -1), Mt = { class: "block break-words text-[12px] leading-[1.3] text-proclusteal-600 dark:text-content-muted" }, Tt = /* @__PURE__ */ r("div", { class: "h-px bg-proclusteal-200 dark:bg-line" }, null, -1), At = {
|
|
588
589
|
key: 0,
|
|
589
590
|
class: "my-1 h-px bg-proclusteal-200 dark:bg-line"
|
|
590
|
-
},
|
|
591
|
+
}, It = ["href", "onClick"], Et = {
|
|
591
592
|
__name: "HeaderUserMenu",
|
|
592
593
|
props: {
|
|
593
594
|
user: {
|
|
@@ -630,9 +631,9 @@ const ot = {
|
|
|
630
631
|
alt: "",
|
|
631
632
|
class: "h-[34px] w-[34px] rounded-full object-cover",
|
|
632
633
|
onError: m[0] || (m[0] = (f) => w.value = !0)
|
|
633
|
-
}, null, 40,
|
|
634
|
+
}, null, 40, gt)) : (a(), u("span", wt, b(A.value), 1))
|
|
634
635
|
]),
|
|
635
|
-
T(
|
|
636
|
+
T(ue, {
|
|
636
637
|
"enter-active-class": "transition-all ease-out duration-75",
|
|
637
638
|
"enter-from-class": "scale-95 opacity-0",
|
|
638
639
|
"enter-to-class": "scale-100 opacity-100",
|
|
@@ -640,27 +641,27 @@ const ot = {
|
|
|
640
641
|
"leave-from-class": "scale-100 opacity-100",
|
|
641
642
|
"leave-to-class": "scale-95 opacity-0"
|
|
642
643
|
}, {
|
|
643
|
-
default:
|
|
644
|
-
G(r("div",
|
|
645
|
-
r("div",
|
|
646
|
-
r("span",
|
|
647
|
-
|
|
648
|
-
r("span",
|
|
644
|
+
default: F(() => [
|
|
645
|
+
G(r("div", Ct, [
|
|
646
|
+
r("div", $t, [
|
|
647
|
+
r("span", St, b(_.value), 1),
|
|
648
|
+
_t,
|
|
649
|
+
r("span", Mt, b(e.user.orgName), 1)
|
|
649
650
|
]),
|
|
650
|
-
|
|
651
|
+
Tt,
|
|
651
652
|
(a(!0), u(H, null, P(e.menuItems, (f, n) => (a(), u(H, { key: n }, [
|
|
652
|
-
f.divider ? (a(), u("div",
|
|
653
|
+
f.divider ? (a(), u("div", At)) : (a(), u("a", {
|
|
653
654
|
key: 1,
|
|
654
|
-
href: f.href &&
|
|
655
|
+
href: f.href && Q(O)(f.href) || null,
|
|
655
656
|
class: "flex items-center gap-2.5 px-[18px] py-2 text-[13px] font-semibold text-proclusteal-700 dark:text-content no-underline hover:bg-proclusteal-50 dark:hover:bg-surface-hover hover:text-proclusteal-900 dark:hover:text-focus",
|
|
656
657
|
onClick: N((c) => g(f), ["exact", "prevent"])
|
|
657
658
|
}, [
|
|
658
|
-
f.icon ? (a(),
|
|
659
|
+
f.icon ? (a(), I(de(f.icon), {
|
|
659
660
|
key: 0,
|
|
660
661
|
class: "!h-4 !w-4 flex-none"
|
|
661
662
|
})) : v("", !0),
|
|
662
663
|
r("span", null, b(f.label), 1)
|
|
663
|
-
], 8,
|
|
664
|
+
], 8, It))
|
|
664
665
|
], 64))), 128))
|
|
665
666
|
], 512), [
|
|
666
667
|
[pe, x.value]
|
|
@@ -670,13 +671,13 @@ const ot = {
|
|
|
670
671
|
})
|
|
671
672
|
], 512));
|
|
672
673
|
}
|
|
673
|
-
},
|
|
674
|
+
}, Nt = { class: "flex h-[70px] shrink-0 items-center justify-between border-b-[1px] border-proclusteal-300 dark:border-line bg-surface-raised px-[15px] font-sans shadow-[0_1px_3px_rgba(20,40,45,0.05)] sm:px-[25px]" }, Ht = { class: "flex min-w-0 items-center gap-[18px]" }, Ot = {
|
|
674
675
|
key: 0,
|
|
675
676
|
class: "hidden whitespace-nowrap text-[18px] font-semibold text-proclusteal-800 dark:text-content sm:inline"
|
|
676
|
-
},
|
|
677
|
+
}, Lt = {
|
|
677
678
|
key: 0,
|
|
678
679
|
class: "font-normal text-black-800 dark:text-content-muted"
|
|
679
|
-
},
|
|
680
|
+
}, zt = ["href", "aria-label"], Dt = { class: "flex items-center gap-[18px] sm:gap-[25px]" }, Qt = {
|
|
680
681
|
__name: "AppHeader",
|
|
681
682
|
props: {
|
|
682
683
|
title: {
|
|
@@ -754,7 +755,7 @@ const ot = {
|
|
|
754
755
|
"notifications-open"
|
|
755
756
|
],
|
|
756
757
|
setup(e, { emit: i }) {
|
|
757
|
-
const o = e, y = i, p =
|
|
758
|
+
const o = e, y = i, p = ce(), x = k(!1), w = $(() => !!o.notifications || o.unreadCount !== null && o.unreadCount !== void 0), _ = $(() => he(o.accentColour)), A = $(() => _.value || "#1c6f63");
|
|
758
759
|
function g(n) {
|
|
759
760
|
var d, C;
|
|
760
761
|
if (!n)
|
|
@@ -771,12 +772,12 @@ const ot = {
|
|
|
771
772
|
function f(n) {
|
|
772
773
|
y("menu-select", n), n.href && g(n.href);
|
|
773
774
|
}
|
|
774
|
-
return (n, c) => (a(), u("header",
|
|
775
|
-
r("div",
|
|
776
|
-
|
|
777
|
-
e.title ? (a(), u("span",
|
|
775
|
+
return (n, c) => (a(), u("header", Nt, [
|
|
776
|
+
r("div", Ht, [
|
|
777
|
+
R(n.$slots, "logo"),
|
|
778
|
+
e.title ? (a(), u("span", Ot, [
|
|
778
779
|
j(b(e.title), 1),
|
|
779
|
-
e.subtitle ? (a(), u("span",
|
|
780
|
+
e.subtitle ? (a(), u("span", Lt, " " + b(e.subtitle), 1)) : v("", !0)
|
|
780
781
|
])) : v("", !0),
|
|
781
782
|
_.value ? (a(), u("span", {
|
|
782
783
|
key: 1,
|
|
@@ -788,16 +789,23 @@ const ot = {
|
|
|
788
789
|
class: "flex items-center gap-7 text-proclusteal-600 dark:text-content-muted",
|
|
789
790
|
style: q({ "--hdr-accent": A.value })
|
|
790
791
|
}, [
|
|
791
|
-
e.homeUrl ? (a(),
|
|
792
|
+
e.homeUrl ? (a(), I(Ae, {
|
|
792
793
|
key: 0,
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
794
|
+
text: e.homeTooltip,
|
|
795
|
+
position: "bottom"
|
|
796
|
+
}, {
|
|
797
|
+
default: F(() => [
|
|
798
|
+
r("a", {
|
|
799
|
+
href: Q(O)(e.homeUrl) || null,
|
|
800
|
+
class: "hover:text-[var(--hdr-accent)]",
|
|
801
|
+
"aria-label": e.homeTooltip,
|
|
802
|
+
onClick: N(S, ["exact", "prevent"])
|
|
803
|
+
}, [
|
|
804
|
+
T(Me, { class: "!h-[22px] !w-[22px]" })
|
|
805
|
+
], 8, zt)
|
|
806
|
+
]),
|
|
807
|
+
_: 1
|
|
808
|
+
}, 8, ["text"])) : v("", !0),
|
|
801
809
|
e.showBack ? (a(), u("button", {
|
|
802
810
|
key: 1,
|
|
803
811
|
type: "button",
|
|
@@ -807,17 +815,18 @@ const ot = {
|
|
|
807
815
|
onClick: m
|
|
808
816
|
}, [
|
|
809
817
|
T(Te, { class: "!h-[22px] !w-[22px]" })
|
|
810
|
-
])) : v("", !0)
|
|
818
|
+
])) : v("", !0),
|
|
819
|
+
R(n.$slots, "nav-extra")
|
|
811
820
|
], 4),
|
|
812
|
-
|
|
821
|
+
R(n.$slots, "left")
|
|
813
822
|
]),
|
|
814
|
-
r("div",
|
|
815
|
-
|
|
816
|
-
e.searchProvider ? (a(),
|
|
823
|
+
r("div", Dt, [
|
|
824
|
+
R(n.$slots, "right"),
|
|
825
|
+
e.searchProvider ? (a(), I(Le, {
|
|
817
826
|
key: 0,
|
|
818
827
|
onClick: c[0] || (c[0] = (d) => x.value = !0)
|
|
819
828
|
})) : v("", !0),
|
|
820
|
-
w.value ? (a(),
|
|
829
|
+
w.value ? (a(), I(kt, {
|
|
821
830
|
key: 1,
|
|
822
831
|
notifications: e.notifications,
|
|
823
832
|
"unread-count": e.unreadCount,
|
|
@@ -828,14 +837,14 @@ const ot = {
|
|
|
828
837
|
onOpen: c[3] || (c[3] = (d) => n.$emit("notifications-open")),
|
|
829
838
|
onNavigate: g
|
|
830
839
|
}, null, 8, ["notifications", "unread-count", "notifications-url", "icon-map"])) : v("", !0),
|
|
831
|
-
e.user ? (a(),
|
|
840
|
+
e.user ? (a(), I(Et, {
|
|
832
841
|
key: 2,
|
|
833
842
|
user: e.user,
|
|
834
843
|
"menu-items": e.menuItems,
|
|
835
844
|
onSelect: f
|
|
836
845
|
}, null, 8, ["user", "menu-items"])) : v("", !0)
|
|
837
846
|
]),
|
|
838
|
-
e.searchProvider ? (a(),
|
|
847
|
+
e.searchProvider ? (a(), I(tt, {
|
|
839
848
|
key: 0,
|
|
840
849
|
open: x.value,
|
|
841
850
|
"onUpdate:open": c[4] || (c[4] = (d) => x.value = d),
|
|
@@ -848,11 +857,11 @@ const ot = {
|
|
|
848
857
|
}
|
|
849
858
|
};
|
|
850
859
|
export {
|
|
851
|
-
|
|
860
|
+
Qt as AppHeader,
|
|
852
861
|
D as DEFAULT_SEARCH_TYPES,
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
862
|
+
tt as GlobalSearchModal,
|
|
863
|
+
Le as GlobalSearchPill,
|
|
864
|
+
kt as HeaderNotificationDropdown,
|
|
865
|
+
Et as HeaderUserMenu,
|
|
857
866
|
O as safeUrl
|
|
858
867
|
};
|
|
@@ -1,112 +1,6 @@
|
|
|
1
|
-
import { _ as
|
|
2
|
-
import {
|
|
3
|
-
const l = i(null);
|
|
4
|
-
function H() {
|
|
5
|
-
function s(n) {
|
|
6
|
-
l.value && l.value !== n && l.value.hideImmediate(), l.value = n;
|
|
7
|
-
}
|
|
8
|
-
function c(n) {
|
|
9
|
-
l.value === n && (l.value = null);
|
|
10
|
-
}
|
|
11
|
-
return {
|
|
12
|
-
register: s,
|
|
13
|
-
unregister: c
|
|
14
|
-
};
|
|
15
|
-
}
|
|
16
|
-
const I = { class: "px-4 py-2 text-center pointer-events-none" }, R = /* @__PURE__ */ a("span", { class: "fixed left-1/2 -bottom-1 w-2 h-2 bg-black-950 rotate-45 -translate-x-1/2 pointer-events-none" }, null, -1), j = {
|
|
17
|
-
__name: "Tooltip",
|
|
18
|
-
props: {
|
|
19
|
-
text: {
|
|
20
|
-
type: String,
|
|
21
|
-
required: !0
|
|
22
|
-
},
|
|
23
|
-
position: {
|
|
24
|
-
type: String,
|
|
25
|
-
default: "top"
|
|
26
|
-
// 'top', 'bottom', 'left', 'right'
|
|
27
|
-
},
|
|
28
|
-
offset: {
|
|
29
|
-
type: Number,
|
|
30
|
-
default: 20
|
|
31
|
-
// Offset from the trigger element
|
|
32
|
-
}
|
|
33
|
-
},
|
|
34
|
-
setup(s) {
|
|
35
|
-
const c = s, { register: n, unregister: k } = H(), f = {
|
|
36
|
-
hideImmediate: d
|
|
37
|
-
}, p = i(!1);
|
|
38
|
-
let v = null, m = null;
|
|
39
|
-
const r = i(!1), w = i(null), T = i(null), g = i({ top: "0px", left: "0px" });
|
|
40
|
-
function h() {
|
|
41
|
-
const e = w.value, t = T.value;
|
|
42
|
-
if (!e || !t)
|
|
43
|
-
return;
|
|
44
|
-
const o = e.getBoundingClientRect(), E = t.offsetWidth, M = window.scrollY || document.documentElement.scrollTop, S = window.scrollX || document.documentElement.scrollLeft, B = o.left + S + o.width / 2, L = o.top + M - c.offset, X = B - E / 2;
|
|
45
|
-
g.value = {
|
|
46
|
-
top: `${Math.round(L)}px`,
|
|
47
|
-
left: `${Math.round(X)}px`,
|
|
48
|
-
transform: "translateY(-100%) translateX(-50%) translateX(" + (E - 16) / 2 + "px)",
|
|
49
|
-
// Adjust for tooltip width and padding
|
|
50
|
-
position: "absolute",
|
|
51
|
-
pointerEvents: "none"
|
|
52
|
-
};
|
|
53
|
-
}
|
|
54
|
-
function u() {
|
|
55
|
-
clearTimeout(m), m = setTimeout(() => {
|
|
56
|
-
h();
|
|
57
|
-
}, 50);
|
|
58
|
-
}
|
|
59
|
-
function x() {
|
|
60
|
-
r.value || (clearTimeout(v), n(f), p.value = !0, r.value = !0, C(() => {
|
|
61
|
-
setTimeout(() => {
|
|
62
|
-
h();
|
|
63
|
-
}, 0);
|
|
64
|
-
}), window.addEventListener("scroll", u), window.addEventListener("resize", u));
|
|
65
|
-
}
|
|
66
|
-
function b() {
|
|
67
|
-
p.value = !1, v = setTimeout(() => {
|
|
68
|
-
p.value || d();
|
|
69
|
-
}, 100);
|
|
70
|
-
}
|
|
71
|
-
function d() {
|
|
72
|
-
r.value = !1, k(f), window.removeEventListener("scroll", u), window.removeEventListener("resize", u);
|
|
73
|
-
}
|
|
74
|
-
return z(() => {
|
|
75
|
-
d();
|
|
76
|
-
}), (e, t) => (y(), D(N, null, [
|
|
77
|
-
a("span", {
|
|
78
|
-
ref_key: "triggerEl",
|
|
79
|
-
ref: w,
|
|
80
|
-
onMouseenter: x,
|
|
81
|
-
onMouseleave: b,
|
|
82
|
-
onFocus: t[0] || (t[0] = (...o) => e.showTooltip && e.showTooltip(...o)),
|
|
83
|
-
onBlur: t[1] || (t[1] = (...o) => e.hideTooltip && e.hideTooltip(...o)),
|
|
84
|
-
tabindex: "0",
|
|
85
|
-
class: "inline-block will-change"
|
|
86
|
-
}, [
|
|
87
|
-
Y(e.$slots, "default")
|
|
88
|
-
], 544),
|
|
89
|
-
(y(), $(F, { to: "body" }, [
|
|
90
|
-
P(a("div", {
|
|
91
|
-
class: "absolute z-50 bg-black-950 text-white font-semibold text-xs text-center rounded whitespace-nowrap pointer-events-none transition-none",
|
|
92
|
-
style: V(g.value),
|
|
93
|
-
ref_key: "tooltipEl",
|
|
94
|
-
ref: T,
|
|
95
|
-
onMouseenter: x,
|
|
96
|
-
onMouseleave: b
|
|
97
|
-
}, [
|
|
98
|
-
a("div", I, [
|
|
99
|
-
W(_(s.text) + " ", 1),
|
|
100
|
-
R
|
|
101
|
-
])
|
|
102
|
-
], 36), [
|
|
103
|
-
[q, r.value]
|
|
104
|
-
])
|
|
105
|
-
]))
|
|
106
|
-
], 64));
|
|
107
|
-
}
|
|
108
|
-
};
|
|
1
|
+
import { _ as r } from "../../BaseTooltip-CcnCHpL4.js";
|
|
2
|
+
import { _ as a } from "../../Tooltip-CQjz2EXM.js";
|
|
109
3
|
export {
|
|
110
|
-
|
|
111
|
-
|
|
4
|
+
r as BaseTooltip,
|
|
5
|
+
a as Tooltip
|
|
112
6
|
};
|