@zealsolutions/zeal-ui 1.0.0-alpha.362 → 1.0.0-alpha.364
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/components/header/index.js +475 -371
- package/dist/components/tables/index.js +297 -272
- package/dist/style.css +1 -1
- package/package.json +1 -1
|
@@ -1,33 +1,33 @@
|
|
|
1
|
-
import { openBlock as a, createElementBlock as
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import { _ as
|
|
5
|
-
import
|
|
6
|
-
import { _ as
|
|
7
|
-
import { o as
|
|
8
|
-
import
|
|
9
|
-
import
|
|
10
|
-
import
|
|
11
|
-
const
|
|
1
|
+
import { openBlock as a, createElementBlock as i, createVNode as I, createElementVNode as r, createTextVNode as B, mergeModels as le, useModel as _e, getCurrentInstance as fe, ref as k, computed as C, watch as q, nextTick as se, onMounted as Se, onBeforeUnmount as Me, createBlock as T, Teleport as Ie, withModifiers as E, withDirectives as Y, vModelText as Ae, createCommentVNode as m, normalizeClass as M, toDisplayString as b, Fragment as N, renderList as L, unref as W, normalizeStyle as G, pushScopeId as Te, popScopeId as Ne, Transition as xe, withCtx as J, resolveDynamicComponent as he, vShow as ye, renderSlot as V } from "vue";
|
|
2
|
+
import ze from "../../HouseIcon-BxmNyxvv.js";
|
|
3
|
+
import Ee from "../../ArrowLeftIcon-Cgsy08pY.js";
|
|
4
|
+
import { _ as He } from "../../Tooltip-CQjz2EXM.js";
|
|
5
|
+
import ve from "../../MagnifyingGlassIcon-ChYNIA-H.js";
|
|
6
|
+
import { _ as Oe } from "../../_plugin-vue_export-helper-CHgC5LLL.js";
|
|
7
|
+
import { o as me } from "../../index-D9ihCfA2.js";
|
|
8
|
+
import ie from "../../BellIcon-lK5EZXNf.js";
|
|
9
|
+
import Le from "../../CircleCheckIcon-CA15yXgI.js";
|
|
10
|
+
import je from "../../XMarkIcon-DKJ_--uA.js";
|
|
11
|
+
const De = /* @__PURE__ */ r("span", { class: "hidden whitespace-nowrap sm:inline" }, "Search", -1), Pe = /* @__PURE__ */ r("kbd", { class: "zui-search-kbd hidden items-center gap-px rounded border-[1px] border-surface-raised/40 bg-surface-raised/15 px-[5px] py-0.5 font-sans text-[11px] font-bold leading-none text-surface-raised/90 sm:inline-flex" }, [
|
|
12
12
|
/* @__PURE__ */ r("span", null, "⌘"),
|
|
13
|
-
/* @__PURE__ */
|
|
14
|
-
], -1),
|
|
13
|
+
/* @__PURE__ */ B("K ")
|
|
14
|
+
], -1), Ue = {
|
|
15
15
|
__name: "GlobalSearchPill",
|
|
16
16
|
emits: ["click"],
|
|
17
17
|
setup(e) {
|
|
18
|
-
return (
|
|
18
|
+
return (l, n) => (a(), i("button", {
|
|
19
19
|
type: "button",
|
|
20
|
-
class: "zui-search-pill inline-flex h-[34px] cursor-pointer items-center justify-center gap-[7px] rounded-lg border-[1px] border-solid border-
|
|
20
|
+
class: "zui-search-pill inline-flex h-[34px] cursor-pointer items-center justify-center gap-[7px] rounded-lg border-[1px] border-solid border-content bg-content pl-[11px] pr-[9px] font-sans text-[13px] font-semibold text-surface-raised transition-[background-color,border-color,box-shadow] duration-150 hover:border-content-muted hover:bg-content-muted hover:shadow-[0_1px_3px_rgba(20,40,45,0.18)] focus:border-content-muted focus:bg-content-muted focus:outline-none",
|
|
21
21
|
title: "Search (Ctrl K)",
|
|
22
22
|
"aria-label": "Search (Ctrl K)",
|
|
23
|
-
onClick:
|
|
23
|
+
onClick: n[0] || (n[0] = (h) => l.$emit("click"))
|
|
24
24
|
}, [
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
25
|
+
I(ve, { class: "!h-[15px] !w-[15px] flex-none text-surface-raised" }),
|
|
26
|
+
De,
|
|
27
|
+
Pe
|
|
28
28
|
]));
|
|
29
29
|
}
|
|
30
|
-
},
|
|
30
|
+
}, U = {
|
|
31
31
|
Contact: { label: "Contacts", colour: "#1a8a7d", icon: '<path d="M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2"/><circle cx="12" cy="7" r="4"/>' },
|
|
32
32
|
Incident: { label: "Incidents", colour: "#cd5c5c", icon: '<path d="M10.29 3.86 1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"/><line x1="12" y1="9" x2="12" y2="13"/><line x1="12" y1="17" x2="12.01" y2="17"/>' },
|
|
33
33
|
Asset: { label: "Assets", colour: "#8b4789", icon: '<path d="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"/><polyline points="3.27 6.96 12 12.01 20.73 6.96"/><line x1="12" y1="22.08" x2="12" y2="12"/>' },
|
|
@@ -35,65 +35,125 @@ const He = /* @__PURE__ */ r("span", { class: "hidden whitespace-nowrap sm:inlin
|
|
|
35
35
|
Change: { label: "Change", colour: "#8b008b", icon: '<polyline points="17 1 21 5 17 9"/><path d="M3 11V9a4 4 0 0 1 4-4h14"/><polyline points="7 23 3 19 7 15"/><path d="M21 13v2a4 4 0 0 1-4 4H3"/>' },
|
|
36
36
|
Safety: { label: "Safety", colour: "#7cb342", icon: '<path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"/>' },
|
|
37
37
|
LID: { label: "Lessons", colour: "#ff8c00", icon: '<path d="M9 18h6"/><path d="M10 22h4"/><path d="M15.09 14c.18-.98.65-1.74 1.41-2.5A4.65 4.65 0 0 0 18 8 6 6 0 1 0 6 8c0 1 .21 2.24 1.5 3.5.76.76 1.23 1.52 1.41 2.5"/>' },
|
|
38
|
-
RefLib: { label: "Reference Library", colour: "#4a90b8", icon: '<path d="M4 19.5A2.5 2.5 0 0 1 6.5 17H20"/><path d="M6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5v-15A2.5 2.5 0 0 1 6.5 2z"/>' },
|
|
39
|
-
ActionCard: { label: "Action Cards", colour: "#8b0000", icon: '<rect x="1" y="4" width="22" height="16" rx="2" ry="2"/><line x1="1" y1="10" x2="23" y2="10"/>' },
|
|
38
|
+
RefLib: { newWindow: !0, label: "Reference Library", colour: "#4a90b8", icon: '<path d="M4 19.5A2.5 2.5 0 0 1 6.5 17H20"/><path d="M6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5v-15A2.5 2.5 0 0 1 6.5 2z"/>' },
|
|
39
|
+
ActionCard: { newWindow: !0, label: "Action Cards", colour: "#8b0000", icon: '<rect x="1" y="4" width="22" height="16" rx="2" ry="2"/><line x1="1" y1="10" x2="23" y2="10"/>' },
|
|
40
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"/>' },
|
|
41
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"/>' },
|
|
42
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"/>' }
|
|
43
|
-
},
|
|
43
|
+
}, Be = {
|
|
44
44
|
colour: "#9aa4ad",
|
|
45
45
|
icon: '<circle cx="11" cy="11" r="7"/><line x1="21" y1="21" x2="16.65" y2="16.65"/>'
|
|
46
46
|
};
|
|
47
|
-
function
|
|
48
|
-
const
|
|
49
|
-
return Object.prototype.hasOwnProperty.call(
|
|
47
|
+
function Re(e, l = {}) {
|
|
48
|
+
const n = { ...U, ...l };
|
|
49
|
+
return Object.prototype.hasOwnProperty.call(n, e) ? n[e] : { ...Be, label: e };
|
|
50
50
|
}
|
|
51
|
-
function
|
|
52
|
-
return (e == null ? "" : String(e)).replace(/[&<>"']/g, (
|
|
51
|
+
function Ve(e) {
|
|
52
|
+
return (e == null ? "" : String(e)).replace(/[&<>"']/g, (l) => ({
|
|
53
53
|
"&": "&",
|
|
54
54
|
"<": "<",
|
|
55
55
|
">": ">",
|
|
56
56
|
'"': """,
|
|
57
57
|
"'": "'"
|
|
58
|
-
})[
|
|
58
|
+
})[l]);
|
|
59
59
|
}
|
|
60
|
-
function
|
|
60
|
+
function be(e) {
|
|
61
61
|
if (!e)
|
|
62
62
|
return "";
|
|
63
|
-
const
|
|
64
|
-
return /^#([0-9a-f]{3}|[0-9a-f]{6}|[0-9a-f]{8})$/i.test(
|
|
63
|
+
const l = String(e).trim();
|
|
64
|
+
return /^#([0-9a-f]{3}|[0-9a-f]{6}|[0-9a-f]{8})$/i.test(l) || /^(rgb|rgba|hsl|hsla)\([0-9.,%\s/]+\)$/i.test(l) || /^[a-z]{3,20}$/i.test(l) ? l : "";
|
|
65
65
|
}
|
|
66
|
-
function
|
|
66
|
+
function j(e) {
|
|
67
67
|
if (!e)
|
|
68
68
|
return "";
|
|
69
|
-
const
|
|
70
|
-
if (
|
|
69
|
+
const l = String(e).trim();
|
|
70
|
+
if (l.includes("\\"))
|
|
71
71
|
return "";
|
|
72
|
-
let
|
|
72
|
+
let n;
|
|
73
73
|
try {
|
|
74
|
-
|
|
74
|
+
n = new URL(l, "https://url-check.invalid/");
|
|
75
75
|
} catch {
|
|
76
76
|
return "";
|
|
77
77
|
}
|
|
78
|
-
return
|
|
78
|
+
return n.protocol === "http:" || n.protocol === "https:" ? l : "";
|
|
79
79
|
}
|
|
80
|
-
function
|
|
81
|
-
return String(e || "").toLowerCase().split(/\s+/).filter((
|
|
80
|
+
function Ke(e) {
|
|
81
|
+
return String(e || "").toLowerCase().split(/\s+/).filter((l) => l.length >= 2);
|
|
82
82
|
}
|
|
83
|
-
function
|
|
84
|
-
const
|
|
85
|
-
if (!
|
|
86
|
-
return
|
|
87
|
-
const
|
|
88
|
-
return
|
|
83
|
+
function ce(e, l) {
|
|
84
|
+
const n = Ve(e);
|
|
85
|
+
if (!l || !l.length)
|
|
86
|
+
return n;
|
|
87
|
+
const h = new RegExp(`(${l.map((f) => f.replace(/[.*+?^${}()|[\]\\]/g, "\\$&")).join("|")})`, "ig");
|
|
88
|
+
return n.replace(h, "<mark>$1</mark>");
|
|
89
89
|
}
|
|
90
|
-
const
|
|
90
|
+
const We = {
|
|
91
|
+
video: '<polygon points="23 7 16 12 23 17 23 7"/><rect x="1" y="5" width="15" height="14" rx="2" ry="2"/>',
|
|
92
|
+
image: '<rect x="3" y="3" width="18" height="18" rx="2" ry="2"/><circle cx="8.5" cy="8.5" r="1.5"/><polyline points="21 15 16 10 5 21"/>',
|
|
93
|
+
pdf: '<path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"/><polyline points="14 2 14 8 20 8"/><line x1="9" y1="15" x2="15" y2="15"/>',
|
|
94
|
+
word: '<path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"/><polyline points="14 2 14 8 20 8"/><polyline points="8 13 9.5 18 12 14 14.5 18 16 13"/>',
|
|
95
|
+
excel: '<path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"/><polyline points="14 2 14 8 20 8"/><line x1="9" y1="13" x2="15" y2="19"/><line x1="15" y1="13" x2="9" y2="19"/>',
|
|
96
|
+
presentation: '<path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"/><polyline points="14 2 14 8 20 8"/><rect x="8" y="12" width="8" height="5" rx="1"/>',
|
|
97
|
+
document: '<path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"/><polyline points="14 2 14 8 20 8"/><line x1="16" y1="13" x2="8" y2="13"/><line x1="16" y1="17" x2="8" y2="17"/>'
|
|
98
|
+
};
|
|
99
|
+
function qe(e, l) {
|
|
100
|
+
return typeof e != "string" ? l : We[e.toLowerCase()] || l;
|
|
101
|
+
}
|
|
102
|
+
const Q = "zui.search.recent", ke = 5;
|
|
103
|
+
function F() {
|
|
104
|
+
try {
|
|
105
|
+
const e = window.localStorage.getItem(Q);
|
|
106
|
+
if (!e)
|
|
107
|
+
return [];
|
|
108
|
+
const l = JSON.parse(e);
|
|
109
|
+
return Array.isArray(l) ? l.filter((n) => typeof n == "string" && n.trim().length > 0).slice(0, ke) : [];
|
|
110
|
+
} catch {
|
|
111
|
+
return [];
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
function Ge(e) {
|
|
115
|
+
const l = typeof e == "string" ? e.trim() : "";
|
|
116
|
+
if (!l)
|
|
117
|
+
return F();
|
|
118
|
+
const n = [l, ...F().filter((h) => h.toLowerCase() !== l.toLowerCase())].slice(0, ke);
|
|
119
|
+
try {
|
|
120
|
+
window.localStorage.setItem(Q, JSON.stringify(n));
|
|
121
|
+
} catch {
|
|
122
|
+
}
|
|
123
|
+
return n;
|
|
124
|
+
}
|
|
125
|
+
function Fe() {
|
|
126
|
+
try {
|
|
127
|
+
window.localStorage.removeItem(Q);
|
|
128
|
+
} catch {
|
|
129
|
+
}
|
|
130
|
+
return [];
|
|
131
|
+
}
|
|
132
|
+
const X = (e) => (Te("data-v-24311187"), e = e(), Ne(), e), Ye = { class: "zui-search-field flex items-center gap-2.5 border-b-[1px] border-proclusteal-200 dark:border-line px-4 py-3.5" }, Je = ["placeholder"], Qe = {
|
|
91
133
|
key: 0,
|
|
92
134
|
class: "px-[18px] pb-0.5 pt-3.5 text-[15px] font-extrabold text-[#1e262c] dark:text-content"
|
|
93
|
-
},
|
|
135
|
+
}, Xe = {
|
|
94
136
|
key: 1,
|
|
95
137
|
class: "border-b-[1px] border-proclusteal-200 dark:border-line px-[18px] pb-3 pt-2.5"
|
|
96
|
-
},
|
|
138
|
+
}, Ze = ["onClick"], et = {
|
|
139
|
+
key: 0,
|
|
140
|
+
class: "zui-search-recent py-1.5"
|
|
141
|
+
}, tt = { class: "flex items-center justify-between px-[18px] py-2" }, nt = /* @__PURE__ */ X(() => /* @__PURE__ */ r("span", { class: "text-[12px] font-extrabold tracking-[0.3px] text-proclusteal-700 dark:text-content" }, "Recent searches", -1)), ot = ["onClick"], at = /* @__PURE__ */ X(() => /* @__PURE__ */ r("svg", {
|
|
142
|
+
class: "h-4 w-4 flex-none text-[#9aa4ad]",
|
|
143
|
+
viewBox: "0 0 24 24",
|
|
144
|
+
fill: "none",
|
|
145
|
+
stroke: "currentColor",
|
|
146
|
+
"stroke-width": "2",
|
|
147
|
+
"stroke-linecap": "round",
|
|
148
|
+
"stroke-linejoin": "round"
|
|
149
|
+
}, [
|
|
150
|
+
/* @__PURE__ */ r("circle", {
|
|
151
|
+
cx: "12",
|
|
152
|
+
cy: "12",
|
|
153
|
+
r: "10"
|
|
154
|
+
}),
|
|
155
|
+
/* @__PURE__ */ r("polyline", { points: "12 6 12 12 16 14" })
|
|
156
|
+
], -1)), rt = { class: "min-w-0 flex-1 truncate" }, lt = { 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" }, st = { class: "ml-0.5 text-[#667079] dark:text-content-muted" }, it = ["href", "target", "rel", "data-row-idx", "onClick", "onMouseenter"], ct = ["innerHTML"], ut = { class: "min-w-0 flex-1" }, dt = ["innerHTML"], pt = ["innerHTML"], ft = /* @__PURE__ */ X(() => /* @__PURE__ */ r("svg", {
|
|
97
157
|
class: "h-4 w-4 flex-none text-[#c2cad1] dark:text-content-muted",
|
|
98
158
|
viewBox: "0 0 24 24",
|
|
99
159
|
fill: "none",
|
|
@@ -103,9 +163,9 @@ const Ue = (e) => (Se("data-v-80fd510b"), e = e(), _e(), e), Be = { class: "zui-
|
|
|
103
163
|
"stroke-linejoin": "round"
|
|
104
164
|
}, [
|
|
105
165
|
/* @__PURE__ */ r("polyline", { points: "9 18 15 12 9 6" })
|
|
106
|
-
], -1)),
|
|
166
|
+
], -1)), ue = "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", de = "!border-proclusteal-950 !bg-proclusteal-950 !text-white", K = "zui-search-state px-5 py-[26px] text-center text-[13px] font-medium text-[#667079] dark:text-content-muted", xt = {
|
|
107
167
|
__name: "GlobalSearchModal",
|
|
108
|
-
props: /* @__PURE__ */
|
|
168
|
+
props: /* @__PURE__ */ le({
|
|
109
169
|
searchProvider: {
|
|
110
170
|
type: Function,
|
|
111
171
|
required: !0
|
|
@@ -130,137 +190,150 @@ const Ue = (e) => (Se("data-v-80fd510b"), e = e(), _e(), e), Be = { class: "zui-
|
|
|
130
190
|
open: { type: Boolean, default: !1 },
|
|
131
191
|
openModifiers: {}
|
|
132
192
|
}),
|
|
133
|
-
emits: /* @__PURE__ */
|
|
134
|
-
setup(e, { emit:
|
|
135
|
-
const
|
|
136
|
-
let
|
|
137
|
-
const
|
|
193
|
+
emits: /* @__PURE__ */ le(["navigate"], ["update:open"]),
|
|
194
|
+
setup(e, { emit: l }) {
|
|
195
|
+
const n = e, h = l, f = _e(e, "open"), y = fe(), w = k(null), _ = k(null), A = k(null), g = k(""), $ = k(""), v = k([]), x = k("all"), o = k("zero"), u = k(-1), p = k([]);
|
|
196
|
+
let S = null, H = 0, D = null, z = null;
|
|
197
|
+
const Z = C(() => Ke($.value)), ee = (t) => Re(t, n.types), te = C(() => {
|
|
138
198
|
let t = 0;
|
|
139
|
-
return
|
|
140
|
-
const
|
|
199
|
+
return v.value.filter((c) => x.value === "all" || c.type === x.value).map((c) => {
|
|
200
|
+
const s = ee(c.type);
|
|
141
201
|
return {
|
|
142
|
-
type:
|
|
143
|
-
label:
|
|
144
|
-
items:
|
|
145
|
-
url:
|
|
146
|
-
titleHtml:
|
|
147
|
-
subtitleHtml:
|
|
148
|
-
tileColour:
|
|
149
|
-
|
|
202
|
+
type: c.type,
|
|
203
|
+
label: s.label,
|
|
204
|
+
items: c.items.map((d) => ({
|
|
205
|
+
url: j(d.Url),
|
|
206
|
+
titleHtml: ce(d.Title, Z.value),
|
|
207
|
+
subtitleHtml: ce(d.Subtitle, Z.value),
|
|
208
|
+
tileColour: be(d.Colour) || s.colour,
|
|
209
|
+
// #518: the item's own kind wins, the group's icon is the fallback.
|
|
210
|
+
tileIcon: qe(d.Kind, s.icon),
|
|
211
|
+
// #519: a file opens in a new tab so the search - and whatever the user was
|
|
212
|
+
// doing behind it - is still there when they close the document. The ITEM may
|
|
213
|
+
// override its group, because one group can hold both files and pages.
|
|
214
|
+
newWindow: d.NewWindow === !0 || d.NewWindow !== !1 && s.newWindow === !0,
|
|
150
215
|
flatIdx: t++
|
|
151
216
|
}))
|
|
152
217
|
};
|
|
153
218
|
});
|
|
154
|
-
}),
|
|
155
|
-
function
|
|
156
|
-
const
|
|
157
|
-
if (!
|
|
158
|
-
|
|
219
|
+
}), ne = C(() => te.value.flatMap((t) => t.items)), ge = C(() => v.value.reduce((t, c) => t + c.items.length, 0));
|
|
220
|
+
function R(t) {
|
|
221
|
+
const c = ne.value;
|
|
222
|
+
if (!c.length) {
|
|
223
|
+
u.value = -1;
|
|
159
224
|
return;
|
|
160
225
|
}
|
|
161
|
-
|
|
162
|
-
var
|
|
163
|
-
const
|
|
164
|
-
|
|
226
|
+
u.value = Math.min(Math.max(t, 0), c.length - 1), se(() => {
|
|
227
|
+
var d;
|
|
228
|
+
const s = (d = A.value) == null ? void 0 : d.querySelector(`[data-row-idx="${u.value}"]`);
|
|
229
|
+
s == null || s.scrollIntoView({ block: "nearest" });
|
|
165
230
|
});
|
|
166
231
|
}
|
|
167
|
-
function
|
|
168
|
-
var
|
|
169
|
-
|
|
232
|
+
function oe(t) {
|
|
233
|
+
var c;
|
|
234
|
+
x.value = t, R(0), (c = w.value) == null || c.focus();
|
|
170
235
|
}
|
|
171
|
-
function
|
|
172
|
-
var s,
|
|
173
|
-
|
|
236
|
+
function ae(t, c = !1) {
|
|
237
|
+
var s, d;
|
|
238
|
+
if (t) {
|
|
239
|
+
if (c) {
|
|
240
|
+
window.open(t, "_blank", "noopener"), O();
|
|
241
|
+
return;
|
|
242
|
+
}
|
|
243
|
+
h("navigate", t), (d = (s = y == null ? void 0 : y.vnode) == null ? void 0 : s.props) != null && d.onNavigate || (window.location.href = t), O();
|
|
244
|
+
}
|
|
174
245
|
}
|
|
175
|
-
function
|
|
176
|
-
|
|
246
|
+
function O() {
|
|
247
|
+
f.value = !1;
|
|
177
248
|
}
|
|
178
|
-
async function
|
|
179
|
-
const
|
|
180
|
-
|
|
249
|
+
async function we(t) {
|
|
250
|
+
const c = ++H;
|
|
251
|
+
$.value = t;
|
|
181
252
|
try {
|
|
182
|
-
const
|
|
183
|
-
if (
|
|
253
|
+
const s = await n.searchProvider(t);
|
|
254
|
+
if (c !== H || !f.value)
|
|
184
255
|
return;
|
|
185
|
-
|
|
256
|
+
v.value = s && s.groups || [], x.value = "all", o.value = v.value.length ? "results" : "empty", v.value.length && (p.value = Ge(t)), R(0);
|
|
186
257
|
} catch {
|
|
187
|
-
if (
|
|
258
|
+
if (c !== H || !f.value)
|
|
188
259
|
return;
|
|
189
|
-
|
|
260
|
+
v.value = [], o.value = "error", u.value = -1;
|
|
190
261
|
}
|
|
191
262
|
}
|
|
192
|
-
|
|
193
|
-
clearTimeout(
|
|
194
|
-
const
|
|
195
|
-
if (
|
|
196
|
-
|
|
263
|
+
q(g, (t) => {
|
|
264
|
+
clearTimeout(S);
|
|
265
|
+
const c = t.trim();
|
|
266
|
+
if (c.length < n.minChars) {
|
|
267
|
+
H++, v.value = [], o.value = c.length ? "hint" : "zero", u.value = -1;
|
|
197
268
|
return;
|
|
198
269
|
}
|
|
199
|
-
|
|
200
|
-
}),
|
|
201
|
-
t ? (
|
|
202
|
-
var
|
|
203
|
-
return (
|
|
204
|
-
})) : (clearTimeout(
|
|
270
|
+
S = setTimeout(() => we(c), n.debounce);
|
|
271
|
+
}), q(f, (t) => {
|
|
272
|
+
t ? (D = document.activeElement, p.value = F(), g.value = "", $.value = "", v.value = [], x.value = "all", o.value = "zero", u.value = -1, z = document.body.style.overflow, document.body.style.overflow = "hidden", se(() => {
|
|
273
|
+
var c;
|
|
274
|
+
return (c = w.value) == null ? void 0 : c.focus();
|
|
275
|
+
})) : (clearTimeout(S), H++, z !== null && (document.body.style.overflow = z, z = null), D != null && D.focus && D.focus());
|
|
205
276
|
}, { immediate: !0 });
|
|
206
|
-
function
|
|
207
|
-
var
|
|
277
|
+
function Ce(t) {
|
|
278
|
+
var c;
|
|
208
279
|
if (t.key === "Escape") {
|
|
209
|
-
t.preventDefault(),
|
|
280
|
+
t.preventDefault(), O();
|
|
210
281
|
return;
|
|
211
282
|
}
|
|
212
283
|
if (t.key === "ArrowDown") {
|
|
213
|
-
t.preventDefault(),
|
|
284
|
+
t.preventDefault(), R(u.value + 1);
|
|
214
285
|
return;
|
|
215
286
|
}
|
|
216
287
|
if (t.key === "ArrowUp") {
|
|
217
|
-
t.preventDefault(),
|
|
288
|
+
t.preventDefault(), R(u.value - 1);
|
|
218
289
|
return;
|
|
219
290
|
}
|
|
220
291
|
if (t.key === "Enter") {
|
|
221
292
|
if (t.isComposing)
|
|
222
293
|
return;
|
|
223
|
-
const
|
|
224
|
-
if (!
|
|
294
|
+
const s = ne.value;
|
|
295
|
+
if (!s.length)
|
|
225
296
|
return;
|
|
226
|
-
t.preventDefault()
|
|
297
|
+
t.preventDefault();
|
|
298
|
+
const d = s[u.value >= 0 ? u.value : 0];
|
|
299
|
+
ae(d.url, d.newWindow);
|
|
227
300
|
return;
|
|
228
301
|
}
|
|
229
302
|
if (t.key === "Tab") {
|
|
230
|
-
const
|
|
231
|
-
if (!(
|
|
303
|
+
const s = (c = _.value) == null ? void 0 : c.querySelectorAll('input, button, a[href], [tabindex]:not([tabindex="-1"])');
|
|
304
|
+
if (!(s != null && s.length))
|
|
232
305
|
return;
|
|
233
|
-
const
|
|
234
|
-
t.shiftKey && document.activeElement ===
|
|
306
|
+
const d = s[0], P = s[s.length - 1];
|
|
307
|
+
t.shiftKey && document.activeElement === d ? (t.preventDefault(), P.focus()) : !t.shiftKey && document.activeElement === P && (t.preventDefault(), d.focus());
|
|
235
308
|
}
|
|
236
309
|
}
|
|
237
|
-
function
|
|
310
|
+
function $e(t) {
|
|
238
311
|
if (!t)
|
|
239
312
|
return !1;
|
|
240
|
-
const
|
|
241
|
-
return
|
|
313
|
+
const c = (t.tagName || "").toLowerCase();
|
|
314
|
+
return c === "input" || c === "textarea" || c === "select" || t.isContentEditable;
|
|
242
315
|
}
|
|
243
|
-
function
|
|
244
|
-
if (t.key === "Escape" &&
|
|
245
|
-
t.preventDefault(),
|
|
316
|
+
function re(t) {
|
|
317
|
+
if (t.key === "Escape" && f.value) {
|
|
318
|
+
t.preventDefault(), O();
|
|
246
319
|
return;
|
|
247
320
|
}
|
|
248
321
|
if ((t.ctrlKey || t.metaKey) && (t.key === "k" || t.key === "K")) {
|
|
249
|
-
t.preventDefault(),
|
|
322
|
+
t.preventDefault(), f.value = !f.value;
|
|
250
323
|
return;
|
|
251
324
|
}
|
|
252
|
-
t.key === "/" && !
|
|
325
|
+
t.key === "/" && !f.value && !$e(document.activeElement) && (t.preventDefault(), f.value = !0);
|
|
253
326
|
}
|
|
254
|
-
return
|
|
255
|
-
document.addEventListener("keydown",
|
|
256
|
-
}),
|
|
257
|
-
document.removeEventListener("keydown",
|
|
258
|
-
}), (t,
|
|
259
|
-
|
|
327
|
+
return Se(() => {
|
|
328
|
+
document.addEventListener("keydown", re);
|
|
329
|
+
}), Me(() => {
|
|
330
|
+
document.removeEventListener("keydown", re), clearTimeout(S), H++, z !== null && (document.body.style.overflow = z, z = null);
|
|
331
|
+
}), (t, c) => (a(), T(Ie, { to: "body" }, [
|
|
332
|
+
f.value ? (a(), i("div", {
|
|
260
333
|
key: 0,
|
|
261
334
|
class: "zui-search-overlay fixed inset-0 z-[20000] flex items-start justify-center bg-[#11181c]/45",
|
|
262
|
-
onMousedown:
|
|
263
|
-
onKeydown:
|
|
335
|
+
onMousedown: E(O, ["self"]),
|
|
336
|
+
onKeydown: Ce
|
|
264
337
|
}, [
|
|
265
338
|
r("div", {
|
|
266
339
|
ref_key: "panelEl",
|
|
@@ -270,88 +343,110 @@ const Ue = (e) => (Se("data-v-80fd510b"), e = e(), _e(), e), Be = { class: "zui-
|
|
|
270
343
|
"aria-modal": "true",
|
|
271
344
|
"aria-label": "Search"
|
|
272
345
|
}, [
|
|
273
|
-
r("div",
|
|
274
|
-
|
|
275
|
-
|
|
346
|
+
r("div", Ye, [
|
|
347
|
+
I(ve, { class: "!h-[18px] !w-[18px] flex-none text-proclusteal-400 dark:text-content-muted" }),
|
|
348
|
+
Y(r("input", {
|
|
276
349
|
ref_key: "inputEl",
|
|
277
350
|
ref: w,
|
|
278
|
-
"onUpdate:modelValue":
|
|
351
|
+
"onUpdate:modelValue": c[0] || (c[0] = (s) => g.value = s),
|
|
279
352
|
type: "text",
|
|
280
353
|
autocomplete: "off",
|
|
281
354
|
placeholder: e.placeholder,
|
|
282
355
|
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"
|
|
283
|
-
}, null, 8,
|
|
284
|
-
[
|
|
356
|
+
}, null, 8, Je), [
|
|
357
|
+
[Ae, g.value]
|
|
285
358
|
]),
|
|
286
359
|
r("button", {
|
|
287
360
|
type: "button",
|
|
288
361
|
class: "cursor-pointer border-0 bg-[transparent] px-1 text-[22px] leading-none text-proclusteal-400 dark:text-content-muted hover:text-proclusteal-700 dark:hover:text-content",
|
|
289
362
|
"aria-label": "Close search",
|
|
290
363
|
title: "Close (Esc)",
|
|
291
|
-
onClick:
|
|
364
|
+
onClick: O
|
|
292
365
|
}, "×")
|
|
293
366
|
]),
|
|
294
|
-
|
|
295
|
-
|
|
367
|
+
o.value === "results" ? (a(), i("div", Qe, " Search results ")) : m("", !0),
|
|
368
|
+
o.value === "results" ? (a(), i("div", Xe, [
|
|
296
369
|
r("button", {
|
|
297
370
|
type: "button",
|
|
298
|
-
class: M([
|
|
299
|
-
onClick:
|
|
371
|
+
class: M([ue, x.value === "all" ? de : ""]),
|
|
372
|
+
onClick: c[1] || (c[1] = (s) => oe("all"))
|
|
300
373
|
}, [
|
|
301
|
-
|
|
374
|
+
B(" All "),
|
|
302
375
|
r("span", {
|
|
303
|
-
class: M(["font-bold",
|
|
304
|
-
}, "(" + b(
|
|
376
|
+
class: M(["font-bold", x.value === "all" ? "opacity-85" : "opacity-60"])
|
|
377
|
+
}, "(" + b(ge.value) + ")", 3)
|
|
305
378
|
], 2),
|
|
306
|
-
(a(!0),
|
|
307
|
-
key:
|
|
379
|
+
(a(!0), i(N, null, L(v.value, (s) => (a(), i("button", {
|
|
380
|
+
key: s.type,
|
|
308
381
|
type: "button",
|
|
309
|
-
class: M([
|
|
310
|
-
onClick: (
|
|
382
|
+
class: M([ue, x.value === s.type ? de : ""]),
|
|
383
|
+
onClick: (d) => oe(s.type)
|
|
311
384
|
}, [
|
|
312
|
-
|
|
385
|
+
B(b(ee(s.type).label) + " ", 1),
|
|
313
386
|
r("span", {
|
|
314
|
-
class: M(["font-bold",
|
|
315
|
-
}, "(" + b(
|
|
316
|
-
], 10,
|
|
317
|
-
])) :
|
|
387
|
+
class: M(["font-bold", x.value === s.type ? "opacity-85" : "opacity-60"])
|
|
388
|
+
}, "(" + b(s.items.length) + ")", 3)
|
|
389
|
+
], 10, Ze))), 128))
|
|
390
|
+
])) : m("", !0),
|
|
318
391
|
r("div", {
|
|
319
392
|
ref_key: "resultsEl",
|
|
320
393
|
ref: A,
|
|
321
394
|
class: "zui-search-results overflow-y-auto pb-2.5"
|
|
322
395
|
}, [
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
396
|
+
o.value === "zero" && p.value.length ? (a(), i("div", et, [
|
|
397
|
+
r("div", tt, [
|
|
398
|
+
nt,
|
|
399
|
+
r("button", {
|
|
400
|
+
type: "button",
|
|
401
|
+
class: "cursor-pointer border-0 bg-[transparent] p-0 text-[12px] font-semibold text-[#667079] dark:text-content-muted hover:text-proclusteal-950 dark:hover:text-focus",
|
|
402
|
+
"data-test": "search-recent-clear",
|
|
403
|
+
onClick: c[2] || (c[2] = (s) => p.value = W(Fe)())
|
|
404
|
+
}, "Clear")
|
|
405
|
+
]),
|
|
406
|
+
(a(!0), i(N, null, L(p.value, (s, d) => (a(), i("button", {
|
|
407
|
+
key: s,
|
|
408
|
+
type: "button",
|
|
409
|
+
"data-test": "search-recent-item",
|
|
410
|
+
class: "zui-search-recent-row flex w-full cursor-pointer items-center gap-[13px] border-0 bg-[transparent] px-[18px] py-[9px] text-left text-[14px] text-[#1e262c] dark:text-content hover:bg-proclusteal-50 dark:hover:bg-surface-hover",
|
|
411
|
+
onClick: (P) => g.value = s
|
|
412
|
+
}, [
|
|
413
|
+
at,
|
|
414
|
+
r("span", rt, b(s), 1)
|
|
415
|
+
], 8, ot))), 128))
|
|
416
|
+
])) : o.value === "zero" ? (a(), i("div", {
|
|
327
417
|
key: 1,
|
|
328
|
-
class: M(
|
|
329
|
-
}, "
|
|
418
|
+
class: M(K)
|
|
419
|
+
}, " Search across SOPs, incidents, assets, people and more — you only ever see what you have access to. ")) : o.value === "hint" ? (a(), i("div", {
|
|
330
420
|
key: 2,
|
|
331
|
-
class: M(
|
|
332
|
-
}, "
|
|
421
|
+
class: M(K)
|
|
422
|
+
}, " Keep typing… enter at least " + b(e.minChars) + " characters to search. ", 1)) : o.value === "empty" ? (a(), i("div", {
|
|
333
423
|
key: 3,
|
|
334
|
-
class: M(
|
|
335
|
-
}, "
|
|
336
|
-
key:
|
|
424
|
+
class: M(K)
|
|
425
|
+
}, " No results for “" + b($.value) + "” — try a broader term or a code. ", 1)) : o.value === "error" ? (a(), i("div", {
|
|
426
|
+
key: 4,
|
|
427
|
+
class: M(K)
|
|
428
|
+
}, " Search is temporarily unavailable. ")) : (a(!0), i(N, { key: 5 }, L(te.value, (s) => (a(), i("div", {
|
|
429
|
+
key: s.type
|
|
337
430
|
}, [
|
|
338
|
-
r("div",
|
|
339
|
-
|
|
340
|
-
r("span",
|
|
431
|
+
r("div", lt, [
|
|
432
|
+
B(b(s.label) + " ", 1),
|
|
433
|
+
r("span", st, "(" + b(s.items.length) + ")", 1)
|
|
341
434
|
]),
|
|
342
|
-
(a(!0),
|
|
343
|
-
key:
|
|
344
|
-
href:
|
|
345
|
-
|
|
346
|
-
"
|
|
347
|
-
|
|
348
|
-
|
|
435
|
+
(a(!0), i(N, null, L(s.items, (d) => (a(), i("a", {
|
|
436
|
+
key: d.flatIdx,
|
|
437
|
+
href: d.url || null,
|
|
438
|
+
target: d.newWindow ? "_blank" : null,
|
|
439
|
+
rel: d.newWindow ? "noopener noreferrer" : null,
|
|
440
|
+
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": d.flatIdx === u.value }]),
|
|
441
|
+
"data-row-idx": d.flatIdx,
|
|
442
|
+
onClick: E((P) => ae(d.url, d.newWindow), ["exact", "prevent"]),
|
|
443
|
+
onMouseenter: (P) => u.value = d.flatIdx
|
|
349
444
|
}, [
|
|
350
445
|
r("span", {
|
|
351
446
|
class: "inline-flex h-[42px] w-[42px] flex-none items-center justify-center rounded-[10px] text-white",
|
|
352
|
-
style:
|
|
447
|
+
style: G({ background: d.tileColour })
|
|
353
448
|
}, [
|
|
354
|
-
(a(),
|
|
449
|
+
(a(), i("svg", {
|
|
355
450
|
class: "h-5 w-5",
|
|
356
451
|
viewBox: "0 0 24 24",
|
|
357
452
|
fill: "none",
|
|
@@ -359,28 +454,28 @@ const Ue = (e) => (Se("data-v-80fd510b"), e = e(), _e(), e), Be = { class: "zui-
|
|
|
359
454
|
"stroke-width": "2",
|
|
360
455
|
"stroke-linecap": "round",
|
|
361
456
|
"stroke-linejoin": "round",
|
|
362
|
-
innerHTML:
|
|
363
|
-
}, null, 8,
|
|
457
|
+
innerHTML: d.tileIcon
|
|
458
|
+
}, null, 8, ct))
|
|
364
459
|
], 4),
|
|
365
|
-
r("span",
|
|
460
|
+
r("span", ut, [
|
|
366
461
|
r("span", {
|
|
367
462
|
class: "gs-marked block truncate text-[14px] font-bold",
|
|
368
|
-
innerHTML:
|
|
369
|
-
}, null, 8,
|
|
463
|
+
innerHTML: d.titleHtml
|
|
464
|
+
}, null, 8, dt),
|
|
370
465
|
r("span", {
|
|
371
466
|
class: "gs-marked mt-0.5 block truncate text-[12.5px] text-[#5b6570] dark:text-content-muted",
|
|
372
|
-
innerHTML:
|
|
373
|
-
}, null, 8,
|
|
467
|
+
innerHTML: d.subtitleHtml
|
|
468
|
+
}, null, 8, pt)
|
|
374
469
|
]),
|
|
375
|
-
|
|
376
|
-
], 42,
|
|
470
|
+
ft
|
|
471
|
+
], 42, it))), 128))
|
|
377
472
|
]))), 128))
|
|
378
473
|
], 512)
|
|
379
474
|
], 512)
|
|
380
|
-
], 32)) :
|
|
475
|
+
], 32)) : m("", !0)
|
|
381
476
|
]));
|
|
382
477
|
}
|
|
383
|
-
},
|
|
478
|
+
}, ht = /* @__PURE__ */ Oe(xt, [["__scopeId", "data-v-24311187"]]), pe = {
|
|
384
479
|
"reference library": "RefLib",
|
|
385
480
|
reflib: "RefLib",
|
|
386
481
|
repository: "RefLib",
|
|
@@ -398,42 +493,42 @@ const Ue = (e) => (Se("data-v-80fd510b"), e = e(), _e(), e), Be = { class: "zui-
|
|
|
398
493
|
directory: "Contact",
|
|
399
494
|
"telephone directory": "Contact"
|
|
400
495
|
};
|
|
401
|
-
function
|
|
496
|
+
function yt(e) {
|
|
402
497
|
if (!e)
|
|
403
498
|
return "";
|
|
404
|
-
const
|
|
405
|
-
if (!
|
|
499
|
+
const l = String(e).trim();
|
|
500
|
+
if (!l)
|
|
406
501
|
return "";
|
|
407
|
-
let
|
|
408
|
-
if (Object.prototype.hasOwnProperty.call(
|
|
409
|
-
|
|
502
|
+
let n = null;
|
|
503
|
+
if (Object.prototype.hasOwnProperty.call(U, l))
|
|
504
|
+
n = l;
|
|
410
505
|
else {
|
|
411
|
-
const
|
|
412
|
-
|
|
506
|
+
const h = l.toLowerCase(), f = Object.keys(U).find((y) => y.toLowerCase() === h);
|
|
507
|
+
f ? n = f : Object.prototype.hasOwnProperty.call(pe, h) && (n = pe[h]);
|
|
413
508
|
}
|
|
414
|
-
return !
|
|
509
|
+
return !n || !Object.prototype.hasOwnProperty.call(U, n) ? "" : U[n].icon || "";
|
|
415
510
|
}
|
|
416
|
-
function
|
|
511
|
+
function vt(e) {
|
|
417
512
|
if (!e)
|
|
418
513
|
return "";
|
|
419
514
|
if (e.dateText)
|
|
420
515
|
return String(e.dateText);
|
|
421
|
-
const
|
|
422
|
-
return [
|
|
516
|
+
const l = e.notifyday != null ? String(e.notifyday).replace(/^0/, "") : "", n = e.notifymonthname ? String(e.notifymonthname) : "", h = e.notifyyear != null ? String(e.notifyyear) : "";
|
|
517
|
+
return [l, n, h].filter(Boolean).join(" ");
|
|
423
518
|
}
|
|
424
|
-
const
|
|
519
|
+
const mt = {
|
|
425
520
|
key: 0,
|
|
426
521
|
class: "absolute -right-[3px] -top-[3px] h-2 w-2 rounded-full bg-[#dd3730] ring-2 ring-white dark:ring-surface-raised"
|
|
427
|
-
},
|
|
522
|
+
}, bt = { 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" }, kt = { class: "max-h-[420px] overflow-y-auto" }, gt = {
|
|
428
523
|
key: 0,
|
|
429
524
|
class: "px-5 py-[26px] text-center text-[13px] font-medium text-[#667079] dark:text-content-muted"
|
|
430
|
-
},
|
|
525
|
+
}, wt = {
|
|
431
526
|
key: 1,
|
|
432
527
|
class: "px-5 py-[26px] text-center text-[13px] font-medium text-[#667079] dark:text-content-muted"
|
|
433
|
-
},
|
|
528
|
+
}, Ct = ["onClick"], $t = { class: "inline-flex h-[42px] w-[42px] flex-none items-center justify-center rounded-[10px] bg-proclusteal-950 text-white" }, _t = ["innerHTML"], St = { class: "min-w-0 flex-1" }, Mt = { class: "block truncate text-[14px] font-bold text-[#1e262c] dark:text-content" }, It = { class: "block truncate text-[12.5px] text-[#5b6570] dark:text-content-muted" }, At = {
|
|
434
529
|
key: 0,
|
|
435
530
|
class: "mt-0.5 block text-[12px] text-proclusteal-500 dark:text-content-muted"
|
|
436
|
-
},
|
|
531
|
+
}, Tt = { class: "flex flex-none flex-col items-center gap-2 pt-0.5 text-proclusteal-600 dark:text-content-muted" }, Nt = ["onClick"], zt = ["onClick"], Et = ["href"], Ht = {
|
|
437
532
|
__name: "HeaderNotificationDropdown",
|
|
438
533
|
props: {
|
|
439
534
|
// The feed as /personal/GetNotifications.ashx returns it: { data: [...] }. Null means
|
|
@@ -461,41 +556,41 @@ const at = {
|
|
|
461
556
|
}
|
|
462
557
|
},
|
|
463
558
|
emits: ["markAsRead", "deleteNotification", "navigate", "open"],
|
|
464
|
-
setup(e, { emit:
|
|
465
|
-
const
|
|
466
|
-
var
|
|
467
|
-
return ((
|
|
468
|
-
}), _ =
|
|
469
|
-
|
|
470
|
-
|
|
559
|
+
setup(e, { emit: l }) {
|
|
560
|
+
const n = e, h = l, f = k(null), y = k(!1), w = C(() => {
|
|
561
|
+
var o;
|
|
562
|
+
return ((o = n.notifications) == null ? void 0 : o.data) || [];
|
|
563
|
+
}), _ = C(() => n.unreadCount !== null && n.unreadCount !== void 0 ? n.unreadCount > 0 : w.value.some((o) => o.ClassRead === "unread"));
|
|
564
|
+
me(f, () => {
|
|
565
|
+
y.value = !1;
|
|
471
566
|
});
|
|
472
567
|
function A() {
|
|
473
|
-
|
|
568
|
+
y.value = !y.value, y.value && h("open");
|
|
474
569
|
}
|
|
475
|
-
function g(
|
|
476
|
-
return
|
|
570
|
+
function g(o) {
|
|
571
|
+
return o && Object.prototype.hasOwnProperty.call(n.iconMap, o) && n.iconMap[o] || null;
|
|
477
572
|
}
|
|
478
|
-
function
|
|
479
|
-
const
|
|
480
|
-
if (
|
|
481
|
-
return { component:
|
|
482
|
-
const
|
|
483
|
-
return
|
|
573
|
+
function $(o) {
|
|
574
|
+
const u = g(o.VueAppTypeIcon) || g(o.AppTypeName);
|
|
575
|
+
if (u)
|
|
576
|
+
return { component: u, path: "" };
|
|
577
|
+
const p = yt(o.AppTypeName);
|
|
578
|
+
return p ? { component: null, path: p } : { component: ie, path: "" };
|
|
484
579
|
}
|
|
485
|
-
const
|
|
486
|
-
item:
|
|
487
|
-
icon:
|
|
488
|
-
date:
|
|
489
|
-
unread:
|
|
580
|
+
const v = C(() => w.value.map((o) => ({
|
|
581
|
+
item: o,
|
|
582
|
+
icon: $(o),
|
|
583
|
+
date: vt(o),
|
|
584
|
+
unread: o.ClassRead === "unread"
|
|
490
585
|
})));
|
|
491
|
-
function
|
|
492
|
-
|
|
493
|
-
const
|
|
494
|
-
|
|
586
|
+
function x(o) {
|
|
587
|
+
y.value = !1;
|
|
588
|
+
const u = j(o);
|
|
589
|
+
u && h("navigate", u);
|
|
495
590
|
}
|
|
496
|
-
return (
|
|
591
|
+
return (o, u) => (a(), i("div", {
|
|
497
592
|
ref_key: "rootEl",
|
|
498
|
-
ref:
|
|
593
|
+
ref: f,
|
|
499
594
|
class: "relative font-sans"
|
|
500
595
|
}, [
|
|
501
596
|
r("button", {
|
|
@@ -505,10 +600,10 @@ const at = {
|
|
|
505
600
|
"aria-label": "View Notifications",
|
|
506
601
|
onClick: A
|
|
507
602
|
}, [
|
|
508
|
-
|
|
509
|
-
_.value ? (a(),
|
|
603
|
+
I(ie, { class: "!h-[21px] !w-[21px]" }),
|
|
604
|
+
_.value ? (a(), i("span", mt)) : m("", !0)
|
|
510
605
|
]),
|
|
511
|
-
|
|
606
|
+
I(xe, {
|
|
512
607
|
"enter-active-class": "transition-all ease-out duration-75",
|
|
513
608
|
"enter-from-class": "scale-95 opacity-0",
|
|
514
609
|
"enter-to-class": "scale-100 opacity-100",
|
|
@@ -516,20 +611,20 @@ const at = {
|
|
|
516
611
|
"leave-from-class": "scale-100 opacity-100",
|
|
517
612
|
"leave-to-class": "scale-95 opacity-0"
|
|
518
613
|
}, {
|
|
519
|
-
default:
|
|
520
|
-
|
|
521
|
-
r("div",
|
|
522
|
-
e.notifications ? w.value.length ?
|
|
523
|
-
(a(!0),
|
|
524
|
-
key:
|
|
525
|
-
class: M(["flex cursor-pointer items-start gap-3 border-b-[1px] border-proclusteal-200 dark:border-line px-4 py-3",
|
|
526
|
-
onClick: (
|
|
614
|
+
default: J(() => [
|
|
615
|
+
Y(r("div", bt, [
|
|
616
|
+
r("div", kt, [
|
|
617
|
+
e.notifications ? w.value.length ? m("", !0) : (a(), i("div", wt, " No notifications. ")) : (a(), i("div", gt, " Loading notifications… ")),
|
|
618
|
+
(a(!0), i(N, null, L(v.value, (p) => (a(), i("div", {
|
|
619
|
+
key: p.item.NotifyID,
|
|
620
|
+
class: M(["flex cursor-pointer items-start gap-3 border-b-[1px] border-proclusteal-200 dark:border-line px-4 py-3", p.unread ? "bg-proclusteal-50 dark:bg-surface-hover" : "bg-surface-raised"]),
|
|
621
|
+
onClick: (S) => x(p.item.url)
|
|
527
622
|
}, [
|
|
528
|
-
r("span",
|
|
529
|
-
|
|
623
|
+
r("span", $t, [
|
|
624
|
+
p.icon.component ? (a(), T(he(p.icon.component), {
|
|
530
625
|
key: 0,
|
|
531
626
|
class: "!h-5 !w-5"
|
|
532
|
-
})) : (a(),
|
|
627
|
+
})) : (a(), i("svg", {
|
|
533
628
|
key: 1,
|
|
534
629
|
class: "h-5 w-5",
|
|
535
630
|
viewBox: "0 0 24 24",
|
|
@@ -538,57 +633,57 @@ const at = {
|
|
|
538
633
|
"stroke-width": "2",
|
|
539
634
|
"stroke-linecap": "round",
|
|
540
635
|
"stroke-linejoin": "round",
|
|
541
|
-
innerHTML:
|
|
542
|
-
}, null, 8,
|
|
636
|
+
innerHTML: p.icon.path
|
|
637
|
+
}, null, 8, _t))
|
|
543
638
|
]),
|
|
544
|
-
r("span",
|
|
545
|
-
r("span",
|
|
546
|
-
r("span",
|
|
547
|
-
|
|
639
|
+
r("span", St, [
|
|
640
|
+
r("span", Mt, b(p.item.notifyname), 1),
|
|
641
|
+
r("span", It, b(p.item.summary), 1),
|
|
642
|
+
p.date ? (a(), i("span", At, b(p.date), 1)) : m("", !0)
|
|
548
643
|
]),
|
|
549
|
-
r("span",
|
|
550
|
-
|
|
644
|
+
r("span", Tt, [
|
|
645
|
+
p.unread ? (a(), i("button", {
|
|
551
646
|
key: 0,
|
|
552
647
|
type: "button",
|
|
553
648
|
class: "hover:text-proclusteal-900 dark:hover:text-focus",
|
|
554
649
|
title: "Mark notification as read",
|
|
555
650
|
"aria-label": "Mark notification as read",
|
|
556
|
-
onClick:
|
|
651
|
+
onClick: E((S) => o.$emit("markAsRead", p.item.NotifyID), ["stop"])
|
|
557
652
|
}, [
|
|
558
|
-
|
|
559
|
-
], 8,
|
|
653
|
+
I(Le, { class: "!h-4 !w-4" })
|
|
654
|
+
], 8, Nt)) : m("", !0),
|
|
560
655
|
r("button", {
|
|
561
656
|
type: "button",
|
|
562
657
|
class: "hover:text-[#dd3730]",
|
|
563
658
|
title: "Delete notification",
|
|
564
659
|
"aria-label": "Delete notification",
|
|
565
|
-
onClick:
|
|
660
|
+
onClick: E((S) => o.$emit("deleteNotification", p.item.NotifyID), ["stop"])
|
|
566
661
|
}, [
|
|
567
|
-
|
|
568
|
-
], 8,
|
|
662
|
+
I(je, { class: "!w-3" })
|
|
663
|
+
], 8, zt)
|
|
569
664
|
])
|
|
570
|
-
], 10,
|
|
665
|
+
], 10, Ct))), 128))
|
|
571
666
|
]),
|
|
572
667
|
r("a", {
|
|
573
|
-
href:
|
|
668
|
+
href: W(j)(e.notificationsUrl) || null,
|
|
574
669
|
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",
|
|
575
|
-
onClick:
|
|
576
|
-
}, " See all notifications ", 8,
|
|
670
|
+
onClick: u[0] || (u[0] = E((p) => x(e.notificationsUrl), ["exact", "prevent"]))
|
|
671
|
+
}, " See all notifications ", 8, Et)
|
|
577
672
|
], 512), [
|
|
578
|
-
[
|
|
673
|
+
[ye, y.value]
|
|
579
674
|
])
|
|
580
675
|
]),
|
|
581
676
|
_: 1
|
|
582
677
|
})
|
|
583
678
|
], 512));
|
|
584
679
|
}
|
|
585
|
-
},
|
|
680
|
+
}, Ot = ["src"], Lt = {
|
|
586
681
|
key: 1,
|
|
587
682
|
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"
|
|
588
|
-
},
|
|
683
|
+
}, jt = { 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" }, Dt = { class: "flex max-w-[260px] flex-col gap-0.5 whitespace-normal px-[18px] pb-2.5 pt-3" }, Pt = { class: "block text-[14px] font-bold text-proclusteal-800 dark:text-content" }, Ut = /* @__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), Bt = { class: "block break-words text-[12px] leading-[1.3] text-proclusteal-600 dark:text-content-muted" }, Rt = /* @__PURE__ */ r("div", { class: "h-px bg-proclusteal-200 dark:bg-line" }, null, -1), Vt = {
|
|
589
684
|
key: 0,
|
|
590
685
|
class: "my-1 h-px bg-proclusteal-200 dark:bg-line"
|
|
591
|
-
},
|
|
686
|
+
}, Kt = ["href", "onClick"], Wt = {
|
|
592
687
|
__name: "HeaderUserMenu",
|
|
593
688
|
props: {
|
|
594
689
|
user: {
|
|
@@ -601,21 +696,21 @@ const at = {
|
|
|
601
696
|
}
|
|
602
697
|
},
|
|
603
698
|
emits: ["select"],
|
|
604
|
-
setup(e, { emit:
|
|
605
|
-
const
|
|
606
|
-
|
|
699
|
+
setup(e, { emit: l }) {
|
|
700
|
+
const n = e, h = l, f = k(null), y = k(!1), w = k(!1);
|
|
701
|
+
q(() => n.user.avatarUrl, () => {
|
|
607
702
|
w.value = !1;
|
|
608
703
|
});
|
|
609
|
-
const _ =
|
|
610
|
-
|
|
611
|
-
|
|
704
|
+
const _ = C(() => `${n.user.firstName || ""} ${n.user.surname || ""}`.trim()), A = C(() => `${(n.user.firstName || "").charAt(0)}${(n.user.surname || "").charAt(0)}`.toUpperCase());
|
|
705
|
+
me(f, () => {
|
|
706
|
+
y.value = !1;
|
|
612
707
|
});
|
|
613
|
-
function g(
|
|
614
|
-
|
|
708
|
+
function g($) {
|
|
709
|
+
y.value = !1, h("select", $);
|
|
615
710
|
}
|
|
616
|
-
return (
|
|
711
|
+
return ($, v) => (a(), i("div", {
|
|
617
712
|
ref_key: "rootEl",
|
|
618
|
-
ref:
|
|
713
|
+
ref: f,
|
|
619
714
|
class: "relative font-sans"
|
|
620
715
|
}, [
|
|
621
716
|
r("button", {
|
|
@@ -623,17 +718,17 @@ const at = {
|
|
|
623
718
|
class: "flex cursor-pointer items-center justify-center",
|
|
624
719
|
title: "View Menu Options",
|
|
625
720
|
"aria-label": "View Menu Options",
|
|
626
|
-
onClick:
|
|
721
|
+
onClick: v[1] || (v[1] = (x) => y.value = !y.value)
|
|
627
722
|
}, [
|
|
628
|
-
e.user.avatarUrl && !w.value ? (a(),
|
|
723
|
+
e.user.avatarUrl && !w.value ? (a(), i("img", {
|
|
629
724
|
key: 0,
|
|
630
725
|
src: e.user.avatarUrl,
|
|
631
726
|
alt: "",
|
|
632
727
|
class: "h-[34px] w-[34px] rounded-full object-cover",
|
|
633
|
-
onError:
|
|
634
|
-
}, null, 40,
|
|
728
|
+
onError: v[0] || (v[0] = (x) => w.value = !0)
|
|
729
|
+
}, null, 40, Ot)) : (a(), i("span", Lt, b(A.value), 1))
|
|
635
730
|
]),
|
|
636
|
-
|
|
731
|
+
I(xe, {
|
|
637
732
|
"enter-active-class": "transition-all ease-out duration-75",
|
|
638
733
|
"enter-from-class": "scale-95 opacity-0",
|
|
639
734
|
"enter-to-class": "scale-100 opacity-100",
|
|
@@ -641,43 +736,43 @@ const at = {
|
|
|
641
736
|
"leave-from-class": "scale-100 opacity-100",
|
|
642
737
|
"leave-to-class": "scale-95 opacity-0"
|
|
643
738
|
}, {
|
|
644
|
-
default:
|
|
645
|
-
|
|
646
|
-
r("div",
|
|
647
|
-
r("span",
|
|
648
|
-
|
|
649
|
-
r("span",
|
|
739
|
+
default: J(() => [
|
|
740
|
+
Y(r("div", jt, [
|
|
741
|
+
r("div", Dt, [
|
|
742
|
+
r("span", Pt, b(_.value), 1),
|
|
743
|
+
Ut,
|
|
744
|
+
r("span", Bt, b(e.user.orgName), 1)
|
|
650
745
|
]),
|
|
651
|
-
|
|
652
|
-
(a(!0),
|
|
653
|
-
|
|
746
|
+
Rt,
|
|
747
|
+
(a(!0), i(N, null, L(e.menuItems, (x, o) => (a(), i(N, { key: o }, [
|
|
748
|
+
x.divider ? (a(), i("div", Vt)) : (a(), i("a", {
|
|
654
749
|
key: 1,
|
|
655
|
-
href:
|
|
750
|
+
href: x.href && W(j)(x.href) || null,
|
|
656
751
|
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",
|
|
657
|
-
onClick:
|
|
752
|
+
onClick: E((u) => g(x), ["exact", "prevent"])
|
|
658
753
|
}, [
|
|
659
|
-
|
|
754
|
+
x.icon ? (a(), T(he(x.icon), {
|
|
660
755
|
key: 0,
|
|
661
756
|
class: "!h-4 !w-4 flex-none"
|
|
662
|
-
})) :
|
|
663
|
-
r("span", null, b(
|
|
664
|
-
], 8,
|
|
757
|
+
})) : m("", !0),
|
|
758
|
+
r("span", null, b(x.label), 1)
|
|
759
|
+
], 8, Kt))
|
|
665
760
|
], 64))), 128))
|
|
666
761
|
], 512), [
|
|
667
|
-
[
|
|
762
|
+
[ye, y.value]
|
|
668
763
|
])
|
|
669
764
|
]),
|
|
670
765
|
_: 1
|
|
671
766
|
})
|
|
672
767
|
], 512));
|
|
673
768
|
}
|
|
674
|
-
},
|
|
769
|
+
}, qt = { 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]" }, Gt = { class: "flex min-w-0 items-center gap-[18px]" }, Ft = {
|
|
675
770
|
key: 0,
|
|
676
771
|
class: "hidden whitespace-nowrap text-[18px] font-semibold text-proclusteal-800 dark:text-content sm:inline"
|
|
677
|
-
},
|
|
772
|
+
}, Yt = {
|
|
678
773
|
key: 0,
|
|
679
774
|
class: "font-normal text-black-800 dark:text-content-muted"
|
|
680
|
-
},
|
|
775
|
+
}, Jt = ["href", "aria-label"], Qt = { class: "flex items-center gap-[18px] sm:gap-[25px]" }, cn = {
|
|
681
776
|
__name: "AppHeader",
|
|
682
777
|
props: {
|
|
683
778
|
title: {
|
|
@@ -744,6 +839,13 @@ const at = {
|
|
|
744
839
|
searchTypes: {
|
|
745
840
|
type: Object,
|
|
746
841
|
default: () => ({})
|
|
842
|
+
},
|
|
843
|
+
// #479: gate for the three top-right icons (search pill, bell, profile). Default true so
|
|
844
|
+
// existing consumers are unaffected; an app that loads its header data asynchronously passes
|
|
845
|
+
// false until user + notifications + search have all settled, then true to reveal all at once.
|
|
846
|
+
ready: {
|
|
847
|
+
type: Boolean,
|
|
848
|
+
default: !0
|
|
747
849
|
}
|
|
748
850
|
},
|
|
749
851
|
emits: [
|
|
@@ -754,114 +856,116 @@ const at = {
|
|
|
754
856
|
"deleteNotification",
|
|
755
857
|
"notifications-open"
|
|
756
858
|
],
|
|
757
|
-
setup(e, { emit:
|
|
758
|
-
const
|
|
759
|
-
function g(
|
|
760
|
-
var
|
|
761
|
-
if (!
|
|
859
|
+
setup(e, { emit: l }) {
|
|
860
|
+
const n = e, h = l, f = fe(), y = k(!1), w = C(() => !!n.notifications || n.unreadCount !== null && n.unreadCount !== void 0), _ = C(() => be(n.accentColour)), A = C(() => _.value || "#1c6f63");
|
|
861
|
+
function g(o) {
|
|
862
|
+
var p, S;
|
|
863
|
+
if (!o)
|
|
762
864
|
return;
|
|
763
|
-
const
|
|
764
|
-
|
|
865
|
+
const u = j(o);
|
|
866
|
+
u && (h("navigate", u), (S = (p = f == null ? void 0 : f.vnode) == null ? void 0 : p.props) != null && S.onNavigate || (window.location.href = u));
|
|
765
867
|
}
|
|
766
|
-
function
|
|
767
|
-
|
|
868
|
+
function $() {
|
|
869
|
+
h("home"), g(n.homeUrl);
|
|
768
870
|
}
|
|
769
|
-
function
|
|
871
|
+
function v() {
|
|
770
872
|
window.history.back();
|
|
771
873
|
}
|
|
772
|
-
function
|
|
773
|
-
|
|
874
|
+
function x(o) {
|
|
875
|
+
h("menu-select", o), o.href && g(o.href);
|
|
774
876
|
}
|
|
775
|
-
return (
|
|
776
|
-
r("div",
|
|
777
|
-
|
|
778
|
-
e.title ? (a(),
|
|
779
|
-
|
|
780
|
-
e.subtitle ? (a(),
|
|
781
|
-
])) :
|
|
782
|
-
_.value ? (a(),
|
|
877
|
+
return (o, u) => (a(), i("header", qt, [
|
|
878
|
+
r("div", Gt, [
|
|
879
|
+
V(o.$slots, "logo"),
|
|
880
|
+
e.title ? (a(), i("span", Ft, [
|
|
881
|
+
B(b(e.title), 1),
|
|
882
|
+
e.subtitle ? (a(), i("span", Yt, " " + b(e.subtitle), 1)) : m("", !0)
|
|
883
|
+
])) : m("", !0),
|
|
884
|
+
_.value ? (a(), i("span", {
|
|
783
885
|
key: 1,
|
|
784
886
|
class: "h-[45px] w-[2px] shrink-0",
|
|
785
|
-
style:
|
|
887
|
+
style: G({ background: _.value }),
|
|
786
888
|
"aria-hidden": "true"
|
|
787
|
-
}, null, 4)) :
|
|
889
|
+
}, null, 4)) : m("", !0),
|
|
788
890
|
r("nav", {
|
|
789
891
|
class: "flex items-center gap-7 text-proclusteal-600 dark:text-content-muted",
|
|
790
|
-
style:
|
|
892
|
+
style: G({ "--hdr-accent": A.value })
|
|
791
893
|
}, [
|
|
792
|
-
e.homeUrl ? (a(),
|
|
894
|
+
e.homeUrl ? (a(), T(He, {
|
|
793
895
|
key: 0,
|
|
794
896
|
text: e.homeTooltip,
|
|
795
897
|
position: "bottom"
|
|
796
898
|
}, {
|
|
797
|
-
default:
|
|
899
|
+
default: J(() => [
|
|
798
900
|
r("a", {
|
|
799
|
-
href:
|
|
901
|
+
href: W(j)(e.homeUrl) || null,
|
|
800
902
|
class: "hover:text-[var(--hdr-accent)]",
|
|
801
903
|
"aria-label": e.homeTooltip,
|
|
802
|
-
onClick:
|
|
904
|
+
onClick: E($, ["exact", "prevent"])
|
|
803
905
|
}, [
|
|
804
|
-
|
|
805
|
-
], 8,
|
|
906
|
+
I(ze, { class: "!h-[22px] !w-[22px]" })
|
|
907
|
+
], 8, Jt)
|
|
806
908
|
]),
|
|
807
909
|
_: 1
|
|
808
|
-
}, 8, ["text"])) :
|
|
809
|
-
e.showBack ? (a(),
|
|
910
|
+
}, 8, ["text"])) : m("", !0),
|
|
911
|
+
e.showBack ? (a(), i("button", {
|
|
810
912
|
key: 1,
|
|
811
913
|
type: "button",
|
|
812
914
|
class: "cursor-pointer hover:text-[var(--hdr-accent)]",
|
|
813
915
|
title: "Go Back",
|
|
814
916
|
"aria-label": "Go Back",
|
|
815
|
-
onClick:
|
|
917
|
+
onClick: v
|
|
816
918
|
}, [
|
|
817
|
-
|
|
818
|
-
])) :
|
|
819
|
-
|
|
919
|
+
I(Ee, { class: "!h-[22px] !w-[22px]" })
|
|
920
|
+
])) : m("", !0),
|
|
921
|
+
V(o.$slots, "nav-extra")
|
|
820
922
|
], 4),
|
|
821
|
-
|
|
923
|
+
V(o.$slots, "left")
|
|
822
924
|
]),
|
|
823
|
-
r("div",
|
|
824
|
-
|
|
825
|
-
e.
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
|
|
925
|
+
r("div", Qt, [
|
|
926
|
+
V(o.$slots, "right"),
|
|
927
|
+
e.ready ? (a(), i(N, { key: 0 }, [
|
|
928
|
+
e.searchProvider ? (a(), T(Ue, {
|
|
929
|
+
key: 0,
|
|
930
|
+
onClick: u[0] || (u[0] = (p) => y.value = !0)
|
|
931
|
+
})) : m("", !0),
|
|
932
|
+
w.value ? (a(), T(Ht, {
|
|
933
|
+
key: 1,
|
|
934
|
+
notifications: e.notifications,
|
|
935
|
+
"unread-count": e.unreadCount,
|
|
936
|
+
"notifications-url": e.notificationsUrl,
|
|
937
|
+
"icon-map": e.notificationIconMap,
|
|
938
|
+
onMarkAsRead: u[1] || (u[1] = (p) => o.$emit("markAsRead", p)),
|
|
939
|
+
onDeleteNotification: u[2] || (u[2] = (p) => o.$emit("deleteNotification", p)),
|
|
940
|
+
onOpen: u[3] || (u[3] = (p) => o.$emit("notifications-open")),
|
|
941
|
+
onNavigate: g
|
|
942
|
+
}, null, 8, ["notifications", "unread-count", "notifications-url", "icon-map"])) : m("", !0),
|
|
943
|
+
e.user ? (a(), T(Wt, {
|
|
944
|
+
key: 2,
|
|
945
|
+
user: e.user,
|
|
946
|
+
"menu-items": e.menuItems,
|
|
947
|
+
onSelect: x
|
|
948
|
+
}, null, 8, ["user", "menu-items"])) : m("", !0)
|
|
949
|
+
], 64)) : m("", !0)
|
|
846
950
|
]),
|
|
847
|
-
e.searchProvider ? (a(),
|
|
951
|
+
e.searchProvider ? (a(), T(ht, {
|
|
848
952
|
key: 0,
|
|
849
|
-
open:
|
|
850
|
-
"onUpdate:open":
|
|
953
|
+
open: y.value,
|
|
954
|
+
"onUpdate:open": u[4] || (u[4] = (p) => y.value = p),
|
|
851
955
|
"search-provider": e.searchProvider,
|
|
852
956
|
placeholder: e.searchPlaceholder,
|
|
853
957
|
types: e.searchTypes,
|
|
854
958
|
onNavigate: g
|
|
855
|
-
}, null, 8, ["open", "search-provider", "placeholder", "types"])) :
|
|
959
|
+
}, null, 8, ["open", "search-provider", "placeholder", "types"])) : m("", !0)
|
|
856
960
|
]));
|
|
857
961
|
}
|
|
858
962
|
};
|
|
859
963
|
export {
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
964
|
+
cn as AppHeader,
|
|
965
|
+
U as DEFAULT_SEARCH_TYPES,
|
|
966
|
+
ht as GlobalSearchModal,
|
|
967
|
+
Ue as GlobalSearchPill,
|
|
968
|
+
Ht as HeaderNotificationDropdown,
|
|
969
|
+
Wt as HeaderUserMenu,
|
|
970
|
+
j as safeUrl
|
|
867
971
|
};
|