@zealsolutions/zeal-ui 1.0.0-alpha.364 → 1.0.0-alpha.366
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 +236 -212
- package/dist/style.css +1 -1
- package/package.json +123 -123
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { openBlock as a, createElementBlock as i, createVNode as I, createElementVNode as r, createTextVNode as B, mergeModels as le, useModel as
|
|
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 A, Teleport as Ie, withModifiers as H, withDirectives as Y, vModelText as Te, createCommentVNode as v, normalizeClass as M, toDisplayString as b, Fragment as N, renderList as O, unref as W, normalizeStyle as G, pushScopeId as Ae, popScopeId as Ne, Transition as xe, withCtx as J, resolveDynamicComponent as he, vShow as ye, renderSlot as V } from "vue";
|
|
2
2
|
import ze from "../../HouseIcon-BxmNyxvv.js";
|
|
3
|
-
import
|
|
4
|
-
import { _ as
|
|
3
|
+
import He from "../../ArrowLeftIcon-Cgsy08pY.js";
|
|
4
|
+
import { _ as Ee } from "../../Tooltip-CQjz2EXM.js";
|
|
5
5
|
import ve from "../../MagnifyingGlassIcon-ChYNIA-H.js";
|
|
6
|
-
import { _ as
|
|
6
|
+
import { _ as Le } from "../../_plugin-vue_export-helper-CHgC5LLL.js";
|
|
7
7
|
import { o as me } from "../../index-D9ihCfA2.js";
|
|
8
8
|
import ie from "../../BellIcon-lK5EZXNf.js";
|
|
9
|
-
import
|
|
9
|
+
import Oe from "../../CircleCheckIcon-CA15yXgI.js";
|
|
10
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-
|
|
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-white/40 bg-white/15 px-[5px] py-0.5 font-sans text-[11px] font-bold leading-none text-white/90 sm:inline-flex" }, [
|
|
12
12
|
/* @__PURE__ */ r("span", null, "⌘"),
|
|
13
13
|
/* @__PURE__ */ B("K ")
|
|
14
14
|
], -1), Ue = {
|
|
@@ -17,12 +17,12 @@ const De = /* @__PURE__ */ r("span", { class: "hidden whitespace-nowrap sm:inlin
|
|
|
17
17
|
setup(e) {
|
|
18
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-proclusteal-900 bg-proclusteal-900 pl-[11px] pr-[9px] font-sans text-[13px] font-semibold text-white transition-[border-color,box-shadow] duration-150 hover:border-proclusteal-950 hover:shadow-[0_1px_3px_rgba(20,40,45,0.25)] focus:border-proclusteal-950 focus:outline-none",
|
|
21
21
|
title: "Search (Ctrl K)",
|
|
22
22
|
"aria-label": "Search (Ctrl K)",
|
|
23
23
|
onClick: n[0] || (n[0] = (h) => l.$emit("click"))
|
|
24
24
|
}, [
|
|
25
|
-
I(ve, { class: "!h-[15px] !w-[15px] flex-none text-
|
|
25
|
+
I(ve, { class: "!h-[15px] !w-[15px] flex-none text-white" }),
|
|
26
26
|
De,
|
|
27
27
|
Pe
|
|
28
28
|
]));
|
|
@@ -129,7 +129,7 @@ function Fe() {
|
|
|
129
129
|
}
|
|
130
130
|
return [];
|
|
131
131
|
}
|
|
132
|
-
const X = (e) => (
|
|
132
|
+
const X = (e) => (Ae("data-v-7b7d8437"), 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 = {
|
|
133
133
|
key: 0,
|
|
134
134
|
class: "px-[18px] pb-0.5 pt-3.5 text-[15px] font-extrabold text-[#1e262c] dark:text-content"
|
|
135
135
|
}, Xe = {
|
|
@@ -153,7 +153,7 @@ const X = (e) => (Te("data-v-24311187"), e = e(), Ne(), e), Ye = { class: "zui-s
|
|
|
153
153
|
r: "10"
|
|
154
154
|
}),
|
|
155
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"],
|
|
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 = { class: "flex min-w-0 items-center gap-[6px]" }, pt = ["aria-label", "innerHTML"], ft = ["innerHTML"], xt = ["innerHTML"], ht = /* @__PURE__ */ X(() => /* @__PURE__ */ r("svg", {
|
|
157
157
|
class: "h-4 w-4 flex-none text-[#c2cad1] dark:text-content-muted",
|
|
158
158
|
viewBox: "0 0 24 24",
|
|
159
159
|
fill: "none",
|
|
@@ -163,7 +163,7 @@ const X = (e) => (Te("data-v-24311187"), e = e(), Ne(), e), Ye = { class: "zui-s
|
|
|
163
163
|
"stroke-linejoin": "round"
|
|
164
164
|
}, [
|
|
165
165
|
/* @__PURE__ */ r("polyline", { points: "9 18 15 12 9 6" })
|
|
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",
|
|
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", yt = {
|
|
167
167
|
__name: "GlobalSearchModal",
|
|
168
168
|
props: /* @__PURE__ */ le({
|
|
169
169
|
searchProvider: {
|
|
@@ -192,100 +192,109 @@ const X = (e) => (Te("data-v-24311187"), e = e(), Ne(), e), Ye = { class: "zui-s
|
|
|
192
192
|
}),
|
|
193
193
|
emits: /* @__PURE__ */ le(["navigate"], ["update:open"]),
|
|
194
194
|
setup(e, { emit: l }) {
|
|
195
|
-
const n = e, h = l, f =
|
|
196
|
-
let S = null,
|
|
197
|
-
const Z = C(() => Ke(
|
|
195
|
+
const n = e, h = l, f = $e(e, "open"), y = fe(), w = k(null), $ = k(null), T = k(null), g = k(""), _ = k(""), m = k([]), x = k("all"), o = k("zero"), d = k(-1), p = k([]);
|
|
196
|
+
let S = null, E = 0, D = null, z = null;
|
|
197
|
+
const Z = C(() => Ke(_.value)), ee = (t) => Re(t, n.types), te = C(() => {
|
|
198
198
|
let t = 0;
|
|
199
|
-
return
|
|
200
|
-
const s = ee(
|
|
199
|
+
return m.value.filter((u) => x.value === "all" || u.type === x.value).map((u) => {
|
|
200
|
+
const s = ee(u.type);
|
|
201
201
|
return {
|
|
202
|
-
type:
|
|
202
|
+
type: u.type,
|
|
203
203
|
label: s.label,
|
|
204
|
-
items:
|
|
205
|
-
url: j(
|
|
206
|
-
titleHtml: ce(
|
|
207
|
-
subtitleHtml: ce(
|
|
208
|
-
tileColour: be(
|
|
209
|
-
// #518: the
|
|
210
|
-
|
|
204
|
+
items: u.items.map((c) => ({
|
|
205
|
+
url: j(c.Url),
|
|
206
|
+
titleHtml: ce(c.Title, Z.value),
|
|
207
|
+
subtitleHtml: ce(c.Subtitle, Z.value),
|
|
208
|
+
tileColour: be(c.Colour) || s.colour,
|
|
209
|
+
// #518, REVISED 2026-09-26 (user: "the main icon to be Ref Library and then a
|
|
210
|
+
// small icon next to the name to show what type of document it is"). The tile
|
|
211
|
+
// carries the GROUP icon again - it is what tells the reader which part of
|
|
212
|
+
// Proclus a hit came from, and the first revision threw that away by putting the
|
|
213
|
+
// file type there instead.
|
|
214
|
+
tileIcon: s.icon,
|
|
215
|
+
// The file type, as a small badge beside the title. `null` fallback rather than
|
|
216
|
+
// the group icon: an item with no kind must render NO badge, not a second copy
|
|
217
|
+
// of the tile icon next to its own name.
|
|
218
|
+
kindIcon: qe(c.Kind, null),
|
|
219
|
+
kindLabel: typeof c.Kind == "string" ? c.Kind : "",
|
|
211
220
|
// #519: a file opens in a new tab so the search - and whatever the user was
|
|
212
221
|
// doing behind it - is still there when they close the document. The ITEM may
|
|
213
222
|
// override its group, because one group can hold both files and pages.
|
|
214
|
-
newWindow:
|
|
223
|
+
newWindow: c.NewWindow === !0 || c.NewWindow !== !1 && s.newWindow === !0,
|
|
215
224
|
flatIdx: t++
|
|
216
225
|
}))
|
|
217
226
|
};
|
|
218
227
|
});
|
|
219
|
-
}), ne = C(() => te.value.flatMap((t) => t.items)), ge = C(() =>
|
|
228
|
+
}), ne = C(() => te.value.flatMap((t) => t.items)), ge = C(() => m.value.reduce((t, u) => t + u.items.length, 0));
|
|
220
229
|
function R(t) {
|
|
221
|
-
const
|
|
222
|
-
if (!
|
|
223
|
-
|
|
230
|
+
const u = ne.value;
|
|
231
|
+
if (!u.length) {
|
|
232
|
+
d.value = -1;
|
|
224
233
|
return;
|
|
225
234
|
}
|
|
226
|
-
|
|
227
|
-
var
|
|
228
|
-
const s = (
|
|
235
|
+
d.value = Math.min(Math.max(t, 0), u.length - 1), se(() => {
|
|
236
|
+
var c;
|
|
237
|
+
const s = (c = T.value) == null ? void 0 : c.querySelector(`[data-row-idx="${d.value}"]`);
|
|
229
238
|
s == null || s.scrollIntoView({ block: "nearest" });
|
|
230
239
|
});
|
|
231
240
|
}
|
|
232
241
|
function oe(t) {
|
|
233
|
-
var
|
|
234
|
-
x.value = t, R(0), (
|
|
242
|
+
var u;
|
|
243
|
+
x.value = t, R(0), (u = w.value) == null || u.focus();
|
|
235
244
|
}
|
|
236
|
-
function ae(t,
|
|
237
|
-
var s,
|
|
245
|
+
function ae(t, u = !1) {
|
|
246
|
+
var s, c;
|
|
238
247
|
if (t) {
|
|
239
|
-
if (
|
|
240
|
-
window.open(t, "_blank", "noopener"),
|
|
248
|
+
if (u) {
|
|
249
|
+
window.open(t, "_blank", "noopener"), L();
|
|
241
250
|
return;
|
|
242
251
|
}
|
|
243
|
-
h("navigate", t), (
|
|
252
|
+
h("navigate", t), (c = (s = y == null ? void 0 : y.vnode) == null ? void 0 : s.props) != null && c.onNavigate || (window.location.href = t), L();
|
|
244
253
|
}
|
|
245
254
|
}
|
|
246
|
-
function
|
|
255
|
+
function L() {
|
|
247
256
|
f.value = !1;
|
|
248
257
|
}
|
|
249
258
|
async function we(t) {
|
|
250
|
-
const
|
|
251
|
-
|
|
259
|
+
const u = ++E;
|
|
260
|
+
_.value = t;
|
|
252
261
|
try {
|
|
253
262
|
const s = await n.searchProvider(t);
|
|
254
|
-
if (
|
|
263
|
+
if (u !== E || !f.value)
|
|
255
264
|
return;
|
|
256
|
-
|
|
265
|
+
m.value = s && s.groups || [], x.value = "all", o.value = m.value.length ? "results" : "empty", m.value.length && (p.value = Ge(t)), R(0);
|
|
257
266
|
} catch {
|
|
258
|
-
if (
|
|
267
|
+
if (u !== E || !f.value)
|
|
259
268
|
return;
|
|
260
|
-
|
|
269
|
+
m.value = [], o.value = "error", d.value = -1;
|
|
261
270
|
}
|
|
262
271
|
}
|
|
263
272
|
q(g, (t) => {
|
|
264
273
|
clearTimeout(S);
|
|
265
|
-
const
|
|
266
|
-
if (
|
|
267
|
-
|
|
274
|
+
const u = t.trim();
|
|
275
|
+
if (u.length < n.minChars) {
|
|
276
|
+
E++, m.value = [], o.value = u.length ? "hint" : "zero", d.value = -1;
|
|
268
277
|
return;
|
|
269
278
|
}
|
|
270
|
-
S = setTimeout(() => we(
|
|
279
|
+
S = setTimeout(() => we(u), n.debounce);
|
|
271
280
|
}), q(f, (t) => {
|
|
272
|
-
t ? (D = document.activeElement, p.value = F(), g.value = "",
|
|
273
|
-
var
|
|
274
|
-
return (
|
|
275
|
-
})) : (clearTimeout(S),
|
|
281
|
+
t ? (D = document.activeElement, p.value = F(), g.value = "", _.value = "", m.value = [], x.value = "all", o.value = "zero", d.value = -1, z = document.body.style.overflow, document.body.style.overflow = "hidden", se(() => {
|
|
282
|
+
var u;
|
|
283
|
+
return (u = w.value) == null ? void 0 : u.focus();
|
|
284
|
+
})) : (clearTimeout(S), E++, z !== null && (document.body.style.overflow = z, z = null), D != null && D.focus && D.focus());
|
|
276
285
|
}, { immediate: !0 });
|
|
277
286
|
function Ce(t) {
|
|
278
|
-
var
|
|
287
|
+
var u;
|
|
279
288
|
if (t.key === "Escape") {
|
|
280
|
-
t.preventDefault(),
|
|
289
|
+
t.preventDefault(), L();
|
|
281
290
|
return;
|
|
282
291
|
}
|
|
283
292
|
if (t.key === "ArrowDown") {
|
|
284
|
-
t.preventDefault(), R(
|
|
293
|
+
t.preventDefault(), R(d.value + 1);
|
|
285
294
|
return;
|
|
286
295
|
}
|
|
287
296
|
if (t.key === "ArrowUp") {
|
|
288
|
-
t.preventDefault(), R(
|
|
297
|
+
t.preventDefault(), R(d.value - 1);
|
|
289
298
|
return;
|
|
290
299
|
}
|
|
291
300
|
if (t.key === "Enter") {
|
|
@@ -295,49 +304,49 @@ const X = (e) => (Te("data-v-24311187"), e = e(), Ne(), e), Ye = { class: "zui-s
|
|
|
295
304
|
if (!s.length)
|
|
296
305
|
return;
|
|
297
306
|
t.preventDefault();
|
|
298
|
-
const
|
|
299
|
-
ae(
|
|
307
|
+
const c = s[d.value >= 0 ? d.value : 0];
|
|
308
|
+
ae(c.url, c.newWindow);
|
|
300
309
|
return;
|
|
301
310
|
}
|
|
302
311
|
if (t.key === "Tab") {
|
|
303
|
-
const s = (
|
|
312
|
+
const s = (u = $.value) == null ? void 0 : u.querySelectorAll('input, button, a[href], [tabindex]:not([tabindex="-1"])');
|
|
304
313
|
if (!(s != null && s.length))
|
|
305
314
|
return;
|
|
306
|
-
const
|
|
307
|
-
t.shiftKey && document.activeElement ===
|
|
315
|
+
const c = s[0], P = s[s.length - 1];
|
|
316
|
+
t.shiftKey && document.activeElement === c ? (t.preventDefault(), P.focus()) : !t.shiftKey && document.activeElement === P && (t.preventDefault(), c.focus());
|
|
308
317
|
}
|
|
309
318
|
}
|
|
310
|
-
function
|
|
319
|
+
function _e(t) {
|
|
311
320
|
if (!t)
|
|
312
321
|
return !1;
|
|
313
|
-
const
|
|
314
|
-
return
|
|
322
|
+
const u = (t.tagName || "").toLowerCase();
|
|
323
|
+
return u === "input" || u === "textarea" || u === "select" || t.isContentEditable;
|
|
315
324
|
}
|
|
316
325
|
function re(t) {
|
|
317
326
|
if (t.key === "Escape" && f.value) {
|
|
318
|
-
t.preventDefault(),
|
|
327
|
+
t.preventDefault(), L();
|
|
319
328
|
return;
|
|
320
329
|
}
|
|
321
330
|
if ((t.ctrlKey || t.metaKey) && (t.key === "k" || t.key === "K")) {
|
|
322
331
|
t.preventDefault(), f.value = !f.value;
|
|
323
332
|
return;
|
|
324
333
|
}
|
|
325
|
-
t.key === "/" && !f.value &&
|
|
334
|
+
t.key === "/" && !f.value && !_e(document.activeElement) && (t.preventDefault(), f.value = !0);
|
|
326
335
|
}
|
|
327
336
|
return Se(() => {
|
|
328
337
|
document.addEventListener("keydown", re);
|
|
329
338
|
}), Me(() => {
|
|
330
|
-
document.removeEventListener("keydown", re), clearTimeout(S),
|
|
331
|
-
}), (t,
|
|
339
|
+
document.removeEventListener("keydown", re), clearTimeout(S), E++, z !== null && (document.body.style.overflow = z, z = null);
|
|
340
|
+
}), (t, u) => (a(), A(Ie, { to: "body" }, [
|
|
332
341
|
f.value ? (a(), i("div", {
|
|
333
342
|
key: 0,
|
|
334
343
|
class: "zui-search-overlay fixed inset-0 z-[20000] flex items-start justify-center bg-[#11181c]/45",
|
|
335
|
-
onMousedown:
|
|
344
|
+
onMousedown: H(L, ["self"]),
|
|
336
345
|
onKeydown: Ce
|
|
337
346
|
}, [
|
|
338
347
|
r("div", {
|
|
339
348
|
ref_key: "panelEl",
|
|
340
|
-
ref:
|
|
349
|
+
ref: $,
|
|
341
350
|
class: "zui-search-panel mt-[4vh] flex max-h-[88vh] w-[94%] max-w-[720px] flex-col overflow-hidden rounded-[14px] bg-surface-raised font-sans shadow-[0_30px_80px_rgba(0,0,0,0.3)] sm:mt-[8vh] sm:max-h-[82vh]",
|
|
342
351
|
role: "dialog",
|
|
343
352
|
"aria-modal": "true",
|
|
@@ -348,49 +357,49 @@ const X = (e) => (Te("data-v-24311187"), e = e(), Ne(), e), Ye = { class: "zui-s
|
|
|
348
357
|
Y(r("input", {
|
|
349
358
|
ref_key: "inputEl",
|
|
350
359
|
ref: w,
|
|
351
|
-
"onUpdate:modelValue":
|
|
360
|
+
"onUpdate:modelValue": u[0] || (u[0] = (s) => g.value = s),
|
|
352
361
|
type: "text",
|
|
353
362
|
autocomplete: "off",
|
|
354
363
|
placeholder: e.placeholder,
|
|
355
364
|
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"
|
|
356
365
|
}, null, 8, Je), [
|
|
357
|
-
[
|
|
366
|
+
[Te, g.value]
|
|
358
367
|
]),
|
|
359
368
|
r("button", {
|
|
360
369
|
type: "button",
|
|
361
370
|
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",
|
|
362
371
|
"aria-label": "Close search",
|
|
363
372
|
title: "Close (Esc)",
|
|
364
|
-
onClick:
|
|
373
|
+
onClick: L
|
|
365
374
|
}, "×")
|
|
366
375
|
]),
|
|
367
|
-
o.value === "results" ? (a(), i("div", Qe, " Search results ")) :
|
|
376
|
+
o.value === "results" ? (a(), i("div", Qe, " Search results ")) : v("", !0),
|
|
368
377
|
o.value === "results" ? (a(), i("div", Xe, [
|
|
369
378
|
r("button", {
|
|
370
379
|
type: "button",
|
|
371
380
|
class: M([ue, x.value === "all" ? de : ""]),
|
|
372
|
-
onClick:
|
|
381
|
+
onClick: u[1] || (u[1] = (s) => oe("all"))
|
|
373
382
|
}, [
|
|
374
383
|
B(" All "),
|
|
375
384
|
r("span", {
|
|
376
385
|
class: M(["font-bold", x.value === "all" ? "opacity-85" : "opacity-60"])
|
|
377
386
|
}, "(" + b(ge.value) + ")", 3)
|
|
378
387
|
], 2),
|
|
379
|
-
(a(!0), i(N, null,
|
|
388
|
+
(a(!0), i(N, null, O(m.value, (s) => (a(), i("button", {
|
|
380
389
|
key: s.type,
|
|
381
390
|
type: "button",
|
|
382
391
|
class: M([ue, x.value === s.type ? de : ""]),
|
|
383
|
-
onClick: (
|
|
392
|
+
onClick: (c) => oe(s.type)
|
|
384
393
|
}, [
|
|
385
394
|
B(b(ee(s.type).label) + " ", 1),
|
|
386
395
|
r("span", {
|
|
387
396
|
class: M(["font-bold", x.value === s.type ? "opacity-85" : "opacity-60"])
|
|
388
397
|
}, "(" + b(s.items.length) + ")", 3)
|
|
389
398
|
], 10, Ze))), 128))
|
|
390
|
-
])) :
|
|
399
|
+
])) : v("", !0),
|
|
391
400
|
r("div", {
|
|
392
401
|
ref_key: "resultsEl",
|
|
393
|
-
ref:
|
|
402
|
+
ref: T,
|
|
394
403
|
class: "zui-search-results overflow-y-auto pb-2.5"
|
|
395
404
|
}, [
|
|
396
405
|
o.value === "zero" && p.value.length ? (a(), i("div", et, [
|
|
@@ -400,10 +409,10 @@ const X = (e) => (Te("data-v-24311187"), e = e(), Ne(), e), Ye = { class: "zui-s
|
|
|
400
409
|
type: "button",
|
|
401
410
|
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
411
|
"data-test": "search-recent-clear",
|
|
403
|
-
onClick:
|
|
412
|
+
onClick: u[2] || (u[2] = (s) => p.value = W(Fe)())
|
|
404
413
|
}, "Clear")
|
|
405
414
|
]),
|
|
406
|
-
(a(!0), i(N, null,
|
|
415
|
+
(a(!0), i(N, null, O(p.value, (s, c) => (a(), i("button", {
|
|
407
416
|
key: s,
|
|
408
417
|
type: "button",
|
|
409
418
|
"data-test": "search-recent-item",
|
|
@@ -422,29 +431,29 @@ const X = (e) => (Te("data-v-24311187"), e = e(), Ne(), e), Ye = { class: "zui-s
|
|
|
422
431
|
}, " Keep typing… enter at least " + b(e.minChars) + " characters to search. ", 1)) : o.value === "empty" ? (a(), i("div", {
|
|
423
432
|
key: 3,
|
|
424
433
|
class: M(K)
|
|
425
|
-
}, " No results for “" + b(
|
|
434
|
+
}, " No results for “" + b(_.value) + "” — try a broader term or a code. ", 1)) : o.value === "error" ? (a(), i("div", {
|
|
426
435
|
key: 4,
|
|
427
436
|
class: M(K)
|
|
428
|
-
}, " Search is temporarily unavailable. ")) : (a(!0), i(N, { key: 5 },
|
|
437
|
+
}, " Search is temporarily unavailable. ")) : (a(!0), i(N, { key: 5 }, O(te.value, (s) => (a(), i("div", {
|
|
429
438
|
key: s.type
|
|
430
439
|
}, [
|
|
431
440
|
r("div", lt, [
|
|
432
441
|
B(b(s.label) + " ", 1),
|
|
433
442
|
r("span", st, "(" + b(s.items.length) + ")", 1)
|
|
434
443
|
]),
|
|
435
|
-
(a(!0), i(N, null,
|
|
436
|
-
key:
|
|
437
|
-
href:
|
|
438
|
-
target:
|
|
439
|
-
rel:
|
|
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":
|
|
441
|
-
"data-row-idx":
|
|
442
|
-
onClick:
|
|
443
|
-
onMouseenter: (P) =>
|
|
444
|
+
(a(!0), i(N, null, O(s.items, (c) => (a(), i("a", {
|
|
445
|
+
key: c.flatIdx,
|
|
446
|
+
href: c.url || null,
|
|
447
|
+
target: c.newWindow ? "_blank" : null,
|
|
448
|
+
rel: c.newWindow ? "noopener noreferrer" : null,
|
|
449
|
+
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": c.flatIdx === d.value }]),
|
|
450
|
+
"data-row-idx": c.flatIdx,
|
|
451
|
+
onClick: H((P) => ae(c.url, c.newWindow), ["exact", "prevent"]),
|
|
452
|
+
onMouseenter: (P) => d.value = c.flatIdx
|
|
444
453
|
}, [
|
|
445
454
|
r("span", {
|
|
446
455
|
class: "inline-flex h-[42px] w-[42px] flex-none items-center justify-center rounded-[10px] text-white",
|
|
447
|
-
style: G({ background:
|
|
456
|
+
style: G({ background: c.tileColour })
|
|
448
457
|
}, [
|
|
449
458
|
(a(), i("svg", {
|
|
450
459
|
class: "h-5 w-5",
|
|
@@ -454,28 +463,43 @@ const X = (e) => (Te("data-v-24311187"), e = e(), Ne(), e), Ye = { class: "zui-s
|
|
|
454
463
|
"stroke-width": "2",
|
|
455
464
|
"stroke-linecap": "round",
|
|
456
465
|
"stroke-linejoin": "round",
|
|
457
|
-
innerHTML:
|
|
466
|
+
innerHTML: c.tileIcon
|
|
458
467
|
}, null, 8, ct))
|
|
459
468
|
], 4),
|
|
460
469
|
r("span", ut, [
|
|
461
|
-
r("span",
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
470
|
+
r("span", dt, [
|
|
471
|
+
c.kindIcon ? (a(), i("svg", {
|
|
472
|
+
key: 0,
|
|
473
|
+
class: "h-[13px] w-[13px] flex-none text-[#8a969c] dark:text-content-muted",
|
|
474
|
+
viewBox: "0 0 24 24",
|
|
475
|
+
fill: "none",
|
|
476
|
+
stroke: "currentColor",
|
|
477
|
+
"stroke-width": "2",
|
|
478
|
+
"stroke-linecap": "round",
|
|
479
|
+
"stroke-linejoin": "round",
|
|
480
|
+
"aria-label": c.kindLabel,
|
|
481
|
+
role: "img",
|
|
482
|
+
innerHTML: c.kindIcon
|
|
483
|
+
}, null, 8, pt)) : v("", !0),
|
|
484
|
+
r("span", {
|
|
485
|
+
class: "gs-marked min-w-0 truncate text-[14px] font-bold",
|
|
486
|
+
innerHTML: c.titleHtml
|
|
487
|
+
}, null, 8, ft)
|
|
488
|
+
]),
|
|
465
489
|
r("span", {
|
|
466
490
|
class: "gs-marked mt-0.5 block truncate text-[12.5px] text-[#5b6570] dark:text-content-muted",
|
|
467
|
-
innerHTML:
|
|
468
|
-
}, null, 8,
|
|
491
|
+
innerHTML: c.subtitleHtml
|
|
492
|
+
}, null, 8, xt)
|
|
469
493
|
]),
|
|
470
|
-
|
|
494
|
+
ht
|
|
471
495
|
], 42, it))), 128))
|
|
472
496
|
]))), 128))
|
|
473
497
|
], 512)
|
|
474
498
|
], 512)
|
|
475
|
-
], 32)) :
|
|
499
|
+
], 32)) : v("", !0)
|
|
476
500
|
]));
|
|
477
501
|
}
|
|
478
|
-
},
|
|
502
|
+
}, vt = /* @__PURE__ */ Le(yt, [["__scopeId", "data-v-7b7d8437"]]), pe = {
|
|
479
503
|
"reference library": "RefLib",
|
|
480
504
|
reflib: "RefLib",
|
|
481
505
|
repository: "RefLib",
|
|
@@ -493,7 +517,7 @@ const X = (e) => (Te("data-v-24311187"), e = e(), Ne(), e), Ye = { class: "zui-s
|
|
|
493
517
|
directory: "Contact",
|
|
494
518
|
"telephone directory": "Contact"
|
|
495
519
|
};
|
|
496
|
-
function
|
|
520
|
+
function mt(e) {
|
|
497
521
|
if (!e)
|
|
498
522
|
return "";
|
|
499
523
|
const l = String(e).trim();
|
|
@@ -508,7 +532,7 @@ function yt(e) {
|
|
|
508
532
|
}
|
|
509
533
|
return !n || !Object.prototype.hasOwnProperty.call(U, n) ? "" : U[n].icon || "";
|
|
510
534
|
}
|
|
511
|
-
function
|
|
535
|
+
function bt(e) {
|
|
512
536
|
if (!e)
|
|
513
537
|
return "";
|
|
514
538
|
if (e.dateText)
|
|
@@ -516,19 +540,19 @@ function vt(e) {
|
|
|
516
540
|
const l = e.notifyday != null ? String(e.notifyday).replace(/^0/, "") : "", n = e.notifymonthname ? String(e.notifymonthname) : "", h = e.notifyyear != null ? String(e.notifyyear) : "";
|
|
517
541
|
return [l, n, h].filter(Boolean).join(" ");
|
|
518
542
|
}
|
|
519
|
-
const
|
|
543
|
+
const kt = {
|
|
520
544
|
key: 0,
|
|
521
545
|
class: "absolute -right-[3px] -top-[3px] h-2 w-2 rounded-full bg-[#dd3730] ring-2 ring-white dark:ring-surface-raised"
|
|
522
|
-
},
|
|
546
|
+
}, gt = { 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" }, wt = { class: "max-h-[420px] overflow-y-auto" }, Ct = {
|
|
523
547
|
key: 0,
|
|
524
548
|
class: "px-5 py-[26px] text-center text-[13px] font-medium text-[#667079] dark:text-content-muted"
|
|
525
|
-
},
|
|
549
|
+
}, _t = {
|
|
526
550
|
key: 1,
|
|
527
551
|
class: "px-5 py-[26px] text-center text-[13px] font-medium text-[#667079] dark:text-content-muted"
|
|
528
|
-
},
|
|
552
|
+
}, $t = ["onClick"], St = { class: "inline-flex h-[42px] w-[42px] flex-none items-center justify-center rounded-[10px] bg-proclusteal-950 text-white" }, Mt = ["innerHTML"], It = { class: "min-w-0 flex-1" }, Tt = { class: "block truncate text-[14px] font-bold text-[#1e262c] dark:text-content" }, At = { class: "block truncate text-[12.5px] text-[#5b6570] dark:text-content-muted" }, Nt = {
|
|
529
553
|
key: 0,
|
|
530
554
|
class: "mt-0.5 block text-[12px] text-proclusteal-500 dark:text-content-muted"
|
|
531
|
-
},
|
|
555
|
+
}, zt = { class: "flex flex-none flex-col items-center gap-2 pt-0.5 text-proclusteal-600 dark:text-content-muted" }, Ht = ["onClick"], Et = ["onClick"], Lt = ["href"], Ot = {
|
|
532
556
|
__name: "HeaderNotificationDropdown",
|
|
533
557
|
props: {
|
|
534
558
|
// The feed as /personal/GetNotifications.ashx returns it: { data: [...] }. Null means
|
|
@@ -560,35 +584,35 @@ const mt = {
|
|
|
560
584
|
const n = e, h = l, f = k(null), y = k(!1), w = C(() => {
|
|
561
585
|
var o;
|
|
562
586
|
return ((o = n.notifications) == null ? void 0 : o.data) || [];
|
|
563
|
-
}),
|
|
587
|
+
}), $ = C(() => n.unreadCount !== null && n.unreadCount !== void 0 ? n.unreadCount > 0 : w.value.some((o) => o.ClassRead === "unread"));
|
|
564
588
|
me(f, () => {
|
|
565
589
|
y.value = !1;
|
|
566
590
|
});
|
|
567
|
-
function
|
|
591
|
+
function T() {
|
|
568
592
|
y.value = !y.value, y.value && h("open");
|
|
569
593
|
}
|
|
570
594
|
function g(o) {
|
|
571
595
|
return o && Object.prototype.hasOwnProperty.call(n.iconMap, o) && n.iconMap[o] || null;
|
|
572
596
|
}
|
|
573
|
-
function
|
|
574
|
-
const
|
|
575
|
-
if (
|
|
576
|
-
return { component:
|
|
577
|
-
const p =
|
|
597
|
+
function _(o) {
|
|
598
|
+
const d = g(o.VueAppTypeIcon) || g(o.AppTypeName);
|
|
599
|
+
if (d)
|
|
600
|
+
return { component: d, path: "" };
|
|
601
|
+
const p = mt(o.AppTypeName);
|
|
578
602
|
return p ? { component: null, path: p } : { component: ie, path: "" };
|
|
579
603
|
}
|
|
580
|
-
const
|
|
604
|
+
const m = C(() => w.value.map((o) => ({
|
|
581
605
|
item: o,
|
|
582
|
-
icon:
|
|
583
|
-
date:
|
|
606
|
+
icon: _(o),
|
|
607
|
+
date: bt(o),
|
|
584
608
|
unread: o.ClassRead === "unread"
|
|
585
609
|
})));
|
|
586
610
|
function x(o) {
|
|
587
611
|
y.value = !1;
|
|
588
|
-
const
|
|
589
|
-
|
|
612
|
+
const d = j(o);
|
|
613
|
+
d && h("navigate", d);
|
|
590
614
|
}
|
|
591
|
-
return (o,
|
|
615
|
+
return (o, d) => (a(), i("div", {
|
|
592
616
|
ref_key: "rootEl",
|
|
593
617
|
ref: f,
|
|
594
618
|
class: "relative font-sans"
|
|
@@ -598,10 +622,10 @@ const mt = {
|
|
|
598
622
|
class: "relative flex cursor-pointer items-center justify-center text-proclusteal-600 dark:text-content-muted transition-colors duration-150 hover:text-proclusteal-900 dark:hover:text-focus",
|
|
599
623
|
title: "View Notifications",
|
|
600
624
|
"aria-label": "View Notifications",
|
|
601
|
-
onClick:
|
|
625
|
+
onClick: T
|
|
602
626
|
}, [
|
|
603
627
|
I(ie, { class: "!h-[21px] !w-[21px]" }),
|
|
604
|
-
|
|
628
|
+
$.value ? (a(), i("span", kt)) : v("", !0)
|
|
605
629
|
]),
|
|
606
630
|
I(xe, {
|
|
607
631
|
"enter-active-class": "transition-all ease-out duration-75",
|
|
@@ -612,16 +636,16 @@ const mt = {
|
|
|
612
636
|
"leave-to-class": "scale-95 opacity-0"
|
|
613
637
|
}, {
|
|
614
638
|
default: J(() => [
|
|
615
|
-
Y(r("div",
|
|
616
|
-
r("div",
|
|
617
|
-
e.notifications ? w.value.length ?
|
|
618
|
-
(a(!0), i(N, null,
|
|
639
|
+
Y(r("div", gt, [
|
|
640
|
+
r("div", wt, [
|
|
641
|
+
e.notifications ? w.value.length ? v("", !0) : (a(), i("div", _t, " No notifications. ")) : (a(), i("div", Ct, " Loading notifications… ")),
|
|
642
|
+
(a(!0), i(N, null, O(m.value, (p) => (a(), i("div", {
|
|
619
643
|
key: p.item.NotifyID,
|
|
620
644
|
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
645
|
onClick: (S) => x(p.item.url)
|
|
622
646
|
}, [
|
|
623
|
-
r("span",
|
|
624
|
-
p.icon.component ? (a(),
|
|
647
|
+
r("span", St, [
|
|
648
|
+
p.icon.component ? (a(), A(he(p.icon.component), {
|
|
625
649
|
key: 0,
|
|
626
650
|
class: "!h-5 !w-5"
|
|
627
651
|
})) : (a(), i("svg", {
|
|
@@ -634,41 +658,41 @@ const mt = {
|
|
|
634
658
|
"stroke-linecap": "round",
|
|
635
659
|
"stroke-linejoin": "round",
|
|
636
660
|
innerHTML: p.icon.path
|
|
637
|
-
}, null, 8,
|
|
661
|
+
}, null, 8, Mt))
|
|
638
662
|
]),
|
|
639
|
-
r("span",
|
|
640
|
-
r("span",
|
|
641
|
-
r("span",
|
|
642
|
-
p.date ? (a(), i("span",
|
|
663
|
+
r("span", It, [
|
|
664
|
+
r("span", Tt, b(p.item.notifyname), 1),
|
|
665
|
+
r("span", At, b(p.item.summary), 1),
|
|
666
|
+
p.date ? (a(), i("span", Nt, b(p.date), 1)) : v("", !0)
|
|
643
667
|
]),
|
|
644
|
-
r("span",
|
|
668
|
+
r("span", zt, [
|
|
645
669
|
p.unread ? (a(), i("button", {
|
|
646
670
|
key: 0,
|
|
647
671
|
type: "button",
|
|
648
672
|
class: "hover:text-proclusteal-900 dark:hover:text-focus",
|
|
649
673
|
title: "Mark notification as read",
|
|
650
674
|
"aria-label": "Mark notification as read",
|
|
651
|
-
onClick:
|
|
675
|
+
onClick: H((S) => o.$emit("markAsRead", p.item.NotifyID), ["stop"])
|
|
652
676
|
}, [
|
|
653
|
-
I(
|
|
654
|
-
], 8,
|
|
677
|
+
I(Oe, { class: "!h-4 !w-4" })
|
|
678
|
+
], 8, Ht)) : v("", !0),
|
|
655
679
|
r("button", {
|
|
656
680
|
type: "button",
|
|
657
681
|
class: "hover:text-[#dd3730]",
|
|
658
682
|
title: "Delete notification",
|
|
659
683
|
"aria-label": "Delete notification",
|
|
660
|
-
onClick:
|
|
684
|
+
onClick: H((S) => o.$emit("deleteNotification", p.item.NotifyID), ["stop"])
|
|
661
685
|
}, [
|
|
662
686
|
I(je, { class: "!w-3" })
|
|
663
|
-
], 8,
|
|
687
|
+
], 8, Et)
|
|
664
688
|
])
|
|
665
|
-
], 10,
|
|
689
|
+
], 10, $t))), 128))
|
|
666
690
|
]),
|
|
667
691
|
r("a", {
|
|
668
692
|
href: W(j)(e.notificationsUrl) || null,
|
|
669
693
|
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",
|
|
670
|
-
onClick:
|
|
671
|
-
}, " See all notifications ", 8,
|
|
694
|
+
onClick: d[0] || (d[0] = H((p) => x(e.notificationsUrl), ["exact", "prevent"]))
|
|
695
|
+
}, " See all notifications ", 8, Lt)
|
|
672
696
|
], 512), [
|
|
673
697
|
[ye, y.value]
|
|
674
698
|
])
|
|
@@ -677,13 +701,13 @@ const mt = {
|
|
|
677
701
|
})
|
|
678
702
|
], 512));
|
|
679
703
|
}
|
|
680
|
-
},
|
|
704
|
+
}, jt = ["src"], Dt = {
|
|
681
705
|
key: 1,
|
|
682
706
|
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"
|
|
683
|
-
},
|
|
707
|
+
}, Pt = { 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" }, Ut = { class: "flex max-w-[260px] flex-col gap-0.5 whitespace-normal px-[18px] pb-2.5 pt-3" }, Bt = { class: "block text-[14px] font-bold text-proclusteal-800 dark:text-content" }, Rt = /* @__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), Vt = { class: "block break-words text-[12px] leading-[1.3] text-proclusteal-600 dark:text-content-muted" }, Kt = /* @__PURE__ */ r("div", { class: "h-px bg-proclusteal-200 dark:bg-line" }, null, -1), Wt = {
|
|
684
708
|
key: 0,
|
|
685
709
|
class: "my-1 h-px bg-proclusteal-200 dark:bg-line"
|
|
686
|
-
},
|
|
710
|
+
}, qt = ["href", "onClick"], Gt = {
|
|
687
711
|
__name: "HeaderUserMenu",
|
|
688
712
|
props: {
|
|
689
713
|
user: {
|
|
@@ -701,14 +725,14 @@ const mt = {
|
|
|
701
725
|
q(() => n.user.avatarUrl, () => {
|
|
702
726
|
w.value = !1;
|
|
703
727
|
});
|
|
704
|
-
const
|
|
728
|
+
const $ = C(() => `${n.user.firstName || ""} ${n.user.surname || ""}`.trim()), T = C(() => `${(n.user.firstName || "").charAt(0)}${(n.user.surname || "").charAt(0)}`.toUpperCase());
|
|
705
729
|
me(f, () => {
|
|
706
730
|
y.value = !1;
|
|
707
731
|
});
|
|
708
|
-
function g(
|
|
709
|
-
y.value = !1, h("select",
|
|
732
|
+
function g(_) {
|
|
733
|
+
y.value = !1, h("select", _);
|
|
710
734
|
}
|
|
711
|
-
return (
|
|
735
|
+
return (_, m) => (a(), i("div", {
|
|
712
736
|
ref_key: "rootEl",
|
|
713
737
|
ref: f,
|
|
714
738
|
class: "relative font-sans"
|
|
@@ -718,15 +742,15 @@ const mt = {
|
|
|
718
742
|
class: "flex cursor-pointer items-center justify-center",
|
|
719
743
|
title: "View Menu Options",
|
|
720
744
|
"aria-label": "View Menu Options",
|
|
721
|
-
onClick:
|
|
745
|
+
onClick: m[1] || (m[1] = (x) => y.value = !y.value)
|
|
722
746
|
}, [
|
|
723
747
|
e.user.avatarUrl && !w.value ? (a(), i("img", {
|
|
724
748
|
key: 0,
|
|
725
749
|
src: e.user.avatarUrl,
|
|
726
750
|
alt: "",
|
|
727
751
|
class: "h-[34px] w-[34px] rounded-full object-cover",
|
|
728
|
-
onError:
|
|
729
|
-
}, null, 40,
|
|
752
|
+
onError: m[0] || (m[0] = (x) => w.value = !0)
|
|
753
|
+
}, null, 40, jt)) : (a(), i("span", Dt, b(T.value), 1))
|
|
730
754
|
]),
|
|
731
755
|
I(xe, {
|
|
732
756
|
"enter-active-class": "transition-all ease-out duration-75",
|
|
@@ -737,26 +761,26 @@ const mt = {
|
|
|
737
761
|
"leave-to-class": "scale-95 opacity-0"
|
|
738
762
|
}, {
|
|
739
763
|
default: J(() => [
|
|
740
|
-
Y(r("div",
|
|
741
|
-
r("div",
|
|
742
|
-
r("span",
|
|
743
|
-
|
|
744
|
-
r("span",
|
|
764
|
+
Y(r("div", Pt, [
|
|
765
|
+
r("div", Ut, [
|
|
766
|
+
r("span", Bt, b($.value), 1),
|
|
767
|
+
Rt,
|
|
768
|
+
r("span", Vt, b(e.user.orgName), 1)
|
|
745
769
|
]),
|
|
746
|
-
|
|
747
|
-
(a(!0), i(N, null,
|
|
748
|
-
x.divider ? (a(), i("div",
|
|
770
|
+
Kt,
|
|
771
|
+
(a(!0), i(N, null, O(e.menuItems, (x, o) => (a(), i(N, { key: o }, [
|
|
772
|
+
x.divider ? (a(), i("div", Wt)) : (a(), i("a", {
|
|
749
773
|
key: 1,
|
|
750
774
|
href: x.href && W(j)(x.href) || null,
|
|
751
775
|
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",
|
|
752
|
-
onClick:
|
|
776
|
+
onClick: H((d) => g(x), ["exact", "prevent"])
|
|
753
777
|
}, [
|
|
754
|
-
x.icon ? (a(),
|
|
778
|
+
x.icon ? (a(), A(he(x.icon), {
|
|
755
779
|
key: 0,
|
|
756
780
|
class: "!h-4 !w-4 flex-none"
|
|
757
|
-
})) :
|
|
781
|
+
})) : v("", !0),
|
|
758
782
|
r("span", null, b(x.label), 1)
|
|
759
|
-
], 8,
|
|
783
|
+
], 8, qt))
|
|
760
784
|
], 64))), 128))
|
|
761
785
|
], 512), [
|
|
762
786
|
[ye, y.value]
|
|
@@ -766,13 +790,13 @@ const mt = {
|
|
|
766
790
|
})
|
|
767
791
|
], 512));
|
|
768
792
|
}
|
|
769
|
-
},
|
|
793
|
+
}, Ft = { 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]" }, Yt = { class: "flex min-w-0 items-center gap-[18px]" }, Jt = {
|
|
770
794
|
key: 0,
|
|
771
795
|
class: "hidden whitespace-nowrap text-[18px] font-semibold text-proclusteal-800 dark:text-content sm:inline"
|
|
772
|
-
},
|
|
796
|
+
}, Qt = {
|
|
773
797
|
key: 0,
|
|
774
798
|
class: "font-normal text-black-800 dark:text-content-muted"
|
|
775
|
-
},
|
|
799
|
+
}, Xt = ["href", "aria-label"], Zt = { class: "flex items-center gap-[18px] sm:gap-[25px]" }, dn = {
|
|
776
800
|
__name: "AppHeader",
|
|
777
801
|
props: {
|
|
778
802
|
title: {
|
|
@@ -857,41 +881,41 @@ const mt = {
|
|
|
857
881
|
"notifications-open"
|
|
858
882
|
],
|
|
859
883
|
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),
|
|
884
|
+
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)), T = C(() => $.value || "#1c6f63");
|
|
861
885
|
function g(o) {
|
|
862
886
|
var p, S;
|
|
863
887
|
if (!o)
|
|
864
888
|
return;
|
|
865
|
-
const
|
|
866
|
-
|
|
889
|
+
const d = j(o);
|
|
890
|
+
d && (h("navigate", d), (S = (p = f == null ? void 0 : f.vnode) == null ? void 0 : p.props) != null && S.onNavigate || (window.location.href = d));
|
|
867
891
|
}
|
|
868
|
-
function
|
|
892
|
+
function _() {
|
|
869
893
|
h("home"), g(n.homeUrl);
|
|
870
894
|
}
|
|
871
|
-
function
|
|
895
|
+
function m() {
|
|
872
896
|
window.history.back();
|
|
873
897
|
}
|
|
874
898
|
function x(o) {
|
|
875
899
|
h("menu-select", o), o.href && g(o.href);
|
|
876
900
|
}
|
|
877
|
-
return (o,
|
|
878
|
-
r("div",
|
|
901
|
+
return (o, d) => (a(), i("header", Ft, [
|
|
902
|
+
r("div", Yt, [
|
|
879
903
|
V(o.$slots, "logo"),
|
|
880
|
-
e.title ? (a(), i("span",
|
|
904
|
+
e.title ? (a(), i("span", Jt, [
|
|
881
905
|
B(b(e.title), 1),
|
|
882
|
-
e.subtitle ? (a(), i("span",
|
|
883
|
-
])) :
|
|
884
|
-
|
|
906
|
+
e.subtitle ? (a(), i("span", Qt, " " + b(e.subtitle), 1)) : v("", !0)
|
|
907
|
+
])) : v("", !0),
|
|
908
|
+
$.value ? (a(), i("span", {
|
|
885
909
|
key: 1,
|
|
886
910
|
class: "h-[45px] w-[2px] shrink-0",
|
|
887
|
-
style: G({ background:
|
|
911
|
+
style: G({ background: $.value }),
|
|
888
912
|
"aria-hidden": "true"
|
|
889
|
-
}, null, 4)) :
|
|
913
|
+
}, null, 4)) : v("", !0),
|
|
890
914
|
r("nav", {
|
|
891
915
|
class: "flex items-center gap-7 text-proclusteal-600 dark:text-content-muted",
|
|
892
|
-
style: G({ "--hdr-accent":
|
|
916
|
+
style: G({ "--hdr-accent": T.value })
|
|
893
917
|
}, [
|
|
894
|
-
e.homeUrl ? (a(),
|
|
918
|
+
e.homeUrl ? (a(), A(Ee, {
|
|
895
919
|
key: 0,
|
|
896
920
|
text: e.homeTooltip,
|
|
897
921
|
position: "bottom"
|
|
@@ -901,71 +925,71 @@ const mt = {
|
|
|
901
925
|
href: W(j)(e.homeUrl) || null,
|
|
902
926
|
class: "hover:text-[var(--hdr-accent)]",
|
|
903
927
|
"aria-label": e.homeTooltip,
|
|
904
|
-
onClick:
|
|
928
|
+
onClick: H(_, ["exact", "prevent"])
|
|
905
929
|
}, [
|
|
906
930
|
I(ze, { class: "!h-[22px] !w-[22px]" })
|
|
907
|
-
], 8,
|
|
931
|
+
], 8, Xt)
|
|
908
932
|
]),
|
|
909
933
|
_: 1
|
|
910
|
-
}, 8, ["text"])) :
|
|
934
|
+
}, 8, ["text"])) : v("", !0),
|
|
911
935
|
e.showBack ? (a(), i("button", {
|
|
912
936
|
key: 1,
|
|
913
937
|
type: "button",
|
|
914
938
|
class: "cursor-pointer hover:text-[var(--hdr-accent)]",
|
|
915
939
|
title: "Go Back",
|
|
916
940
|
"aria-label": "Go Back",
|
|
917
|
-
onClick:
|
|
941
|
+
onClick: m
|
|
918
942
|
}, [
|
|
919
|
-
I(
|
|
920
|
-
])) :
|
|
943
|
+
I(He, { class: "!h-[22px] !w-[22px]" })
|
|
944
|
+
])) : v("", !0),
|
|
921
945
|
V(o.$slots, "nav-extra")
|
|
922
946
|
], 4),
|
|
923
947
|
V(o.$slots, "left")
|
|
924
948
|
]),
|
|
925
|
-
r("div",
|
|
949
|
+
r("div", Zt, [
|
|
926
950
|
V(o.$slots, "right"),
|
|
927
951
|
e.ready ? (a(), i(N, { key: 0 }, [
|
|
928
|
-
e.searchProvider ? (a(),
|
|
952
|
+
e.searchProvider ? (a(), A(Ue, {
|
|
929
953
|
key: 0,
|
|
930
|
-
onClick:
|
|
931
|
-
})) :
|
|
932
|
-
w.value ? (a(),
|
|
954
|
+
onClick: d[0] || (d[0] = (p) => y.value = !0)
|
|
955
|
+
})) : v("", !0),
|
|
956
|
+
w.value ? (a(), A(Ot, {
|
|
933
957
|
key: 1,
|
|
934
958
|
notifications: e.notifications,
|
|
935
959
|
"unread-count": e.unreadCount,
|
|
936
960
|
"notifications-url": e.notificationsUrl,
|
|
937
961
|
"icon-map": e.notificationIconMap,
|
|
938
|
-
onMarkAsRead:
|
|
939
|
-
onDeleteNotification:
|
|
940
|
-
onOpen:
|
|
962
|
+
onMarkAsRead: d[1] || (d[1] = (p) => o.$emit("markAsRead", p)),
|
|
963
|
+
onDeleteNotification: d[2] || (d[2] = (p) => o.$emit("deleteNotification", p)),
|
|
964
|
+
onOpen: d[3] || (d[3] = (p) => o.$emit("notifications-open")),
|
|
941
965
|
onNavigate: g
|
|
942
|
-
}, null, 8, ["notifications", "unread-count", "notifications-url", "icon-map"])) :
|
|
943
|
-
e.user ? (a(),
|
|
966
|
+
}, null, 8, ["notifications", "unread-count", "notifications-url", "icon-map"])) : v("", !0),
|
|
967
|
+
e.user ? (a(), A(Gt, {
|
|
944
968
|
key: 2,
|
|
945
969
|
user: e.user,
|
|
946
970
|
"menu-items": e.menuItems,
|
|
947
971
|
onSelect: x
|
|
948
|
-
}, null, 8, ["user", "menu-items"])) :
|
|
949
|
-
], 64)) :
|
|
972
|
+
}, null, 8, ["user", "menu-items"])) : v("", !0)
|
|
973
|
+
], 64)) : v("", !0)
|
|
950
974
|
]),
|
|
951
|
-
e.searchProvider ? (a(),
|
|
975
|
+
e.searchProvider ? (a(), A(vt, {
|
|
952
976
|
key: 0,
|
|
953
977
|
open: y.value,
|
|
954
|
-
"onUpdate:open":
|
|
978
|
+
"onUpdate:open": d[4] || (d[4] = (p) => y.value = p),
|
|
955
979
|
"search-provider": e.searchProvider,
|
|
956
980
|
placeholder: e.searchPlaceholder,
|
|
957
981
|
types: e.searchTypes,
|
|
958
982
|
onNavigate: g
|
|
959
|
-
}, null, 8, ["open", "search-provider", "placeholder", "types"])) :
|
|
983
|
+
}, null, 8, ["open", "search-provider", "placeholder", "types"])) : v("", !0)
|
|
960
984
|
]));
|
|
961
985
|
}
|
|
962
986
|
};
|
|
963
987
|
export {
|
|
964
|
-
|
|
988
|
+
dn as AppHeader,
|
|
965
989
|
U as DEFAULT_SEARCH_TYPES,
|
|
966
|
-
|
|
990
|
+
vt as GlobalSearchModal,
|
|
967
991
|
Ue as GlobalSearchPill,
|
|
968
|
-
|
|
969
|
-
|
|
992
|
+
Ot as HeaderNotificationDropdown,
|
|
993
|
+
Gt as HeaderUserMenu,
|
|
970
994
|
j as safeUrl
|
|
971
995
|
};
|
package/dist/style.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.preview-content[data-v-781d71ec] ul{list-style:disc;margin-left:1.5rem}.preview-content[data-v-781d71ec] ol{list-style:decimal;margin-left:1.5rem}.preview-content[data-v-781d71ec] p{margin-bottom:.5rem}.preview-content[data-v-781d71ec] a{color:#326d68;text-decoration:underline}.preview-content[data-v-781d71ec] img{max-width:100%;height:auto}.preview-content[data-v-781d71ec] table{border-collapse:collapse}.preview-content[data-v-781d71ec] td,.preview-content[data-v-781d71ec] th{border:1px solid #c8ced0;padding:4px 8px}.preview-content[data-v-781d71ec] ins{text-decoration:none;background-color:#d4fcbc}.preview-content[data-v-781d71ec] del{text-decoration:line-through;background-color:#fbb6c2;color:#555}.gs-marked[data-v-
|
|
1
|
+
.preview-content[data-v-781d71ec] ul{list-style:disc;margin-left:1.5rem}.preview-content[data-v-781d71ec] ol{list-style:decimal;margin-left:1.5rem}.preview-content[data-v-781d71ec] p{margin-bottom:.5rem}.preview-content[data-v-781d71ec] a{color:#326d68;text-decoration:underline}.preview-content[data-v-781d71ec] img{max-width:100%;height:auto}.preview-content[data-v-781d71ec] table{border-collapse:collapse}.preview-content[data-v-781d71ec] td,.preview-content[data-v-781d71ec] th{border:1px solid #c8ced0;padding:4px 8px}.preview-content[data-v-781d71ec] ins{text-decoration:none;background-color:#d4fcbc}.preview-content[data-v-781d71ec] del{text-decoration:line-through;background-color:#fbb6c2;color:#555}.gs-marked[data-v-7b7d8437] mark{background:#1a8a7d33;color:inherit;border-radius:3px;padding:0 2px}.columns-container[data-v-5373471c]{position:relative;margin:16px 0;border-radius:8px}.columns-content[data-v-5373471c]{min-height:100px}@media (max-width: 767px){.columns-content[data-v-5373471c]{flex-direction:column!important}}.v-enter-active,.v-leave-active{transition:opacity .3s ease}.v-enter-from,.v-leave-to{opacity:0}
|
package/package.json
CHANGED
|
@@ -1,123 +1,123 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@zealsolutions/zeal-ui",
|
|
3
|
-
"version": "1.0.0-alpha.
|
|
4
|
-
"description": "UI library for Zeal Solutions",
|
|
5
|
-
"author": "Zeal Solutions",
|
|
6
|
-
"license": "ISC",
|
|
7
|
-
"bugs": {
|
|
8
|
-
"url": "https://github.com/zeal-solutions/zeal-ui/issues"
|
|
9
|
-
},
|
|
10
|
-
"homepage": "https://github.com/zeal-solutions/zeal-ui#readme",
|
|
11
|
-
"keywords": [
|
|
12
|
-
"zeal",
|
|
13
|
-
"ui"
|
|
14
|
-
],
|
|
15
|
-
"repository": {
|
|
16
|
-
"type": "git",
|
|
17
|
-
"url": "git+https://github.com/zeal-solutions/zeal-ui.git"
|
|
18
|
-
},
|
|
19
|
-
"main": "dist/index.js",
|
|
20
|
-
"browser": "dist/index.js",
|
|
21
|
-
"module": "dist/index.js",
|
|
22
|
-
"files": [
|
|
23
|
-
"dist/*"
|
|
24
|
-
],
|
|
25
|
-
"exports": {
|
|
26
|
-
"./css/typography.css": "./dist/css/typography.css",
|
|
27
|
-
"./css/base.css": "./dist/css/base.css",
|
|
28
|
-
"./css/editorStyles.css": "./dist/css/editorStyles.css",
|
|
29
|
-
"./css/theme.css": "./dist/css/theme.css",
|
|
30
|
-
"./config/tailwind": "./dist/config/tailwind/index.js",
|
|
31
|
-
"./buttons": "./dist/components/buttons/index.js",
|
|
32
|
-
"./forms": "./dist/components/forms/index.js",
|
|
33
|
-
"./header": "./dist/components/header/index.js",
|
|
34
|
-
"./icons": "./dist/components/icons/index.js",
|
|
35
|
-
"./inputs": "./dist/components/inputs/index.js",
|
|
36
|
-
"./layouts": "./dist/components/layouts/index.js",
|
|
37
|
-
"./logos": "./dist/components/logos/index.js",
|
|
38
|
-
"./menus": "./dist/components/menus/index.js",
|
|
39
|
-
"./modals": "./dist/components/modals/index.js",
|
|
40
|
-
"./navigation": "./dist/components/navigation/index.js",
|
|
41
|
-
"./overlays": "./dist/components/overlays/index.js",
|
|
42
|
-
"./session": "./dist/components/session/index.js",
|
|
43
|
-
"./sop-diff": "./dist/components/sop-diff/index.js",
|
|
44
|
-
"./style.css": "./dist/style.css",
|
|
45
|
-
"./tiptap": "./dist/components/tiptap/index.js",
|
|
46
|
-
"./tooltips": "./dist/components/tooltips/index.js",
|
|
47
|
-
"./transitions": "./dist/components/transitions/index.js",
|
|
48
|
-
"./utils": "./dist/utils/index.js",
|
|
49
|
-
"./tables": "./dist/components/tables/index.js",
|
|
50
|
-
"./datepicker": "./dist/components/datepicker/index.js"
|
|
51
|
-
},
|
|
52
|
-
"type": "module",
|
|
53
|
-
"scripts": {
|
|
54
|
-
"dev": "vite",
|
|
55
|
-
"build": "vite build",
|
|
56
|
-
"build:publish": "npm run build && npm publish",
|
|
57
|
-
"prepublishOnly": "npm run build",
|
|
58
|
-
"preview": "vite preview",
|
|
59
|
-
"test": "vitest run",
|
|
60
|
-
"storybook": "storybook dev -p 6006",
|
|
61
|
-
"build-storybook": "storybook build",
|
|
62
|
-
"chromatic": "npx chromatic --project-token=chpt_368bf7fc8d469c1"
|
|
63
|
-
},
|
|
64
|
-
"dependencies": {
|
|
65
|
-
"@floating-ui/dom": "^1.7.2",
|
|
66
|
-
"@floating-ui/vue": "^1.1.7",
|
|
67
|
-
"@gocapsule/column-extension": "^1.0.0-beta-3",
|
|
68
|
-
"@tailwindcss/forms": "^0.5.7",
|
|
69
|
-
"@tailwindcss/line-clamp": "^0.4.4",
|
|
70
|
-
"@tiptap-extend/columns": "^2.1.6",
|
|
71
|
-
"@tiptap/core": "^2.6.6",
|
|
72
|
-
"@tiptap/extension-bubble-menu": "^2.6.6",
|
|
73
|
-
"@tiptap/extension-color": "^2.6.6",
|
|
74
|
-
"@tiptap/extension-document": "^2.6.6",
|
|
75
|
-
"@tiptap/extension-gapcursor": "^2.8.0",
|
|
76
|
-
"@tiptap/extension-heading": "^2.6.6",
|
|
77
|
-
"@tiptap/extension-link": "^2.23.0",
|
|
78
|
-
"@tiptap/extension-list-item": "^2.6.6",
|
|
79
|
-
"@tiptap/extension-paragraph": "^2.6.6",
|
|
80
|
-
"@tiptap/extension-placeholder": "^2.12.0",
|
|
81
|
-
"@tiptap/extension-table": "^2.8.0",
|
|
82
|
-
"@tiptap/extension-table-cell": "^2.8.0",
|
|
83
|
-
"@tiptap/extension-table-header": "^2.8.0",
|
|
84
|
-
"@tiptap/extension-table-row": "^2.8.0",
|
|
85
|
-
"@tiptap/extension-text": "^2.6.6",
|
|
86
|
-
"@tiptap/extension-text-align": "^2.7.2",
|
|
87
|
-
"@tiptap/extension-text-style": "^2.6.6",
|
|
88
|
-
"@tiptap/extension-underline": "^2.6.6",
|
|
89
|
-
"@tiptap/pm": "^2.6.6",
|
|
90
|
-
"@tiptap/starter-kit": "^2.6.6",
|
|
91
|
-
"@tiptap/vue-3": "^2.7.2",
|
|
92
|
-
"@vueuse/core": "^11.2.0",
|
|
93
|
-
"axios": "^1.6.8",
|
|
94
|
-
"i": "^0.3.7",
|
|
95
|
-
"less": "^4.2.0",
|
|
96
|
-
"lodash": "^4.17.21",
|
|
97
|
-
"postcss": "^8.4.38",
|
|
98
|
-
"tailwindcss": "^3.4.3",
|
|
99
|
-
"tailwindcss-convert-px-to-rem": "^1.0.4",
|
|
100
|
-
"vue": "^3.4.21"
|
|
101
|
-
},
|
|
102
|
-
"devDependencies": {
|
|
103
|
-
"@chromatic-com/storybook": "^1.6.0",
|
|
104
|
-
"@storybook/addon-essentials": "^8.1.11",
|
|
105
|
-
"@storybook/addon-interactions": "^8.1.11",
|
|
106
|
-
"@storybook/addon-links": "^8.1.11",
|
|
107
|
-
"@storybook/addon-mdx-gfm": "^8.1.11",
|
|
108
|
-
"@storybook/blocks": "^8.1.11",
|
|
109
|
-
"@storybook/test": "^8.1.11",
|
|
110
|
-
"@storybook/vue3": "^8.1.11",
|
|
111
|
-
"@storybook/vue3-vite": "^8.1.11",
|
|
112
|
-
"@vitejs/plugin-vue": "^5.0.4",
|
|
113
|
-
"@vue/test-utils": "^2.4.11",
|
|
114
|
-
"@whitespace/storybook-addon-html": "^6.1.1",
|
|
115
|
-
"autoprefixer": "^10.4.19",
|
|
116
|
-
"chromatic": "^11.3.1",
|
|
117
|
-
"jsdom": "^25.0.0",
|
|
118
|
-
"storybook": "^8.1.11",
|
|
119
|
-
"vite": "^5.2.8",
|
|
120
|
-
"vite-plugin-vue-devtools": "^7.0.25",
|
|
121
|
-
"vitest": "^3.0.0"
|
|
122
|
-
}
|
|
123
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "@zealsolutions/zeal-ui",
|
|
3
|
+
"version": "1.0.0-alpha.366",
|
|
4
|
+
"description": "UI library for Zeal Solutions",
|
|
5
|
+
"author": "Zeal Solutions",
|
|
6
|
+
"license": "ISC",
|
|
7
|
+
"bugs": {
|
|
8
|
+
"url": "https://github.com/zeal-solutions/zeal-ui/issues"
|
|
9
|
+
},
|
|
10
|
+
"homepage": "https://github.com/zeal-solutions/zeal-ui#readme",
|
|
11
|
+
"keywords": [
|
|
12
|
+
"zeal",
|
|
13
|
+
"ui"
|
|
14
|
+
],
|
|
15
|
+
"repository": {
|
|
16
|
+
"type": "git",
|
|
17
|
+
"url": "git+https://github.com/zeal-solutions/zeal-ui.git"
|
|
18
|
+
},
|
|
19
|
+
"main": "dist/index.js",
|
|
20
|
+
"browser": "dist/index.js",
|
|
21
|
+
"module": "dist/index.js",
|
|
22
|
+
"files": [
|
|
23
|
+
"dist/*"
|
|
24
|
+
],
|
|
25
|
+
"exports": {
|
|
26
|
+
"./css/typography.css": "./dist/css/typography.css",
|
|
27
|
+
"./css/base.css": "./dist/css/base.css",
|
|
28
|
+
"./css/editorStyles.css": "./dist/css/editorStyles.css",
|
|
29
|
+
"./css/theme.css": "./dist/css/theme.css",
|
|
30
|
+
"./config/tailwind": "./dist/config/tailwind/index.js",
|
|
31
|
+
"./buttons": "./dist/components/buttons/index.js",
|
|
32
|
+
"./forms": "./dist/components/forms/index.js",
|
|
33
|
+
"./header": "./dist/components/header/index.js",
|
|
34
|
+
"./icons": "./dist/components/icons/index.js",
|
|
35
|
+
"./inputs": "./dist/components/inputs/index.js",
|
|
36
|
+
"./layouts": "./dist/components/layouts/index.js",
|
|
37
|
+
"./logos": "./dist/components/logos/index.js",
|
|
38
|
+
"./menus": "./dist/components/menus/index.js",
|
|
39
|
+
"./modals": "./dist/components/modals/index.js",
|
|
40
|
+
"./navigation": "./dist/components/navigation/index.js",
|
|
41
|
+
"./overlays": "./dist/components/overlays/index.js",
|
|
42
|
+
"./session": "./dist/components/session/index.js",
|
|
43
|
+
"./sop-diff": "./dist/components/sop-diff/index.js",
|
|
44
|
+
"./style.css": "./dist/style.css",
|
|
45
|
+
"./tiptap": "./dist/components/tiptap/index.js",
|
|
46
|
+
"./tooltips": "./dist/components/tooltips/index.js",
|
|
47
|
+
"./transitions": "./dist/components/transitions/index.js",
|
|
48
|
+
"./utils": "./dist/utils/index.js",
|
|
49
|
+
"./tables": "./dist/components/tables/index.js",
|
|
50
|
+
"./datepicker": "./dist/components/datepicker/index.js"
|
|
51
|
+
},
|
|
52
|
+
"type": "module",
|
|
53
|
+
"scripts": {
|
|
54
|
+
"dev": "vite",
|
|
55
|
+
"build": "vite build",
|
|
56
|
+
"build:publish": "npm run build && npm publish",
|
|
57
|
+
"prepublishOnly": "npm run build",
|
|
58
|
+
"preview": "vite preview",
|
|
59
|
+
"test": "vitest run",
|
|
60
|
+
"storybook": "storybook dev -p 6006",
|
|
61
|
+
"build-storybook": "storybook build",
|
|
62
|
+
"chromatic": "npx chromatic --project-token=chpt_368bf7fc8d469c1"
|
|
63
|
+
},
|
|
64
|
+
"dependencies": {
|
|
65
|
+
"@floating-ui/dom": "^1.7.2",
|
|
66
|
+
"@floating-ui/vue": "^1.1.7",
|
|
67
|
+
"@gocapsule/column-extension": "^1.0.0-beta-3",
|
|
68
|
+
"@tailwindcss/forms": "^0.5.7",
|
|
69
|
+
"@tailwindcss/line-clamp": "^0.4.4",
|
|
70
|
+
"@tiptap-extend/columns": "^2.1.6",
|
|
71
|
+
"@tiptap/core": "^2.6.6",
|
|
72
|
+
"@tiptap/extension-bubble-menu": "^2.6.6",
|
|
73
|
+
"@tiptap/extension-color": "^2.6.6",
|
|
74
|
+
"@tiptap/extension-document": "^2.6.6",
|
|
75
|
+
"@tiptap/extension-gapcursor": "^2.8.0",
|
|
76
|
+
"@tiptap/extension-heading": "^2.6.6",
|
|
77
|
+
"@tiptap/extension-link": "^2.23.0",
|
|
78
|
+
"@tiptap/extension-list-item": "^2.6.6",
|
|
79
|
+
"@tiptap/extension-paragraph": "^2.6.6",
|
|
80
|
+
"@tiptap/extension-placeholder": "^2.12.0",
|
|
81
|
+
"@tiptap/extension-table": "^2.8.0",
|
|
82
|
+
"@tiptap/extension-table-cell": "^2.8.0",
|
|
83
|
+
"@tiptap/extension-table-header": "^2.8.0",
|
|
84
|
+
"@tiptap/extension-table-row": "^2.8.0",
|
|
85
|
+
"@tiptap/extension-text": "^2.6.6",
|
|
86
|
+
"@tiptap/extension-text-align": "^2.7.2",
|
|
87
|
+
"@tiptap/extension-text-style": "^2.6.6",
|
|
88
|
+
"@tiptap/extension-underline": "^2.6.6",
|
|
89
|
+
"@tiptap/pm": "^2.6.6",
|
|
90
|
+
"@tiptap/starter-kit": "^2.6.6",
|
|
91
|
+
"@tiptap/vue-3": "^2.7.2",
|
|
92
|
+
"@vueuse/core": "^11.2.0",
|
|
93
|
+
"axios": "^1.6.8",
|
|
94
|
+
"i": "^0.3.7",
|
|
95
|
+
"less": "^4.2.0",
|
|
96
|
+
"lodash": "^4.17.21",
|
|
97
|
+
"postcss": "^8.4.38",
|
|
98
|
+
"tailwindcss": "^3.4.3",
|
|
99
|
+
"tailwindcss-convert-px-to-rem": "^1.0.4",
|
|
100
|
+
"vue": "^3.4.21"
|
|
101
|
+
},
|
|
102
|
+
"devDependencies": {
|
|
103
|
+
"@chromatic-com/storybook": "^1.6.0",
|
|
104
|
+
"@storybook/addon-essentials": "^8.1.11",
|
|
105
|
+
"@storybook/addon-interactions": "^8.1.11",
|
|
106
|
+
"@storybook/addon-links": "^8.1.11",
|
|
107
|
+
"@storybook/addon-mdx-gfm": "^8.1.11",
|
|
108
|
+
"@storybook/blocks": "^8.1.11",
|
|
109
|
+
"@storybook/test": "^8.1.11",
|
|
110
|
+
"@storybook/vue3": "^8.1.11",
|
|
111
|
+
"@storybook/vue3-vite": "^8.1.11",
|
|
112
|
+
"@vitejs/plugin-vue": "^5.0.4",
|
|
113
|
+
"@vue/test-utils": "^2.4.11",
|
|
114
|
+
"@whitespace/storybook-addon-html": "^6.1.1",
|
|
115
|
+
"autoprefixer": "^10.4.19",
|
|
116
|
+
"chromatic": "^11.3.1",
|
|
117
|
+
"jsdom": "^25.0.0",
|
|
118
|
+
"storybook": "^8.1.11",
|
|
119
|
+
"vite": "^5.2.8",
|
|
120
|
+
"vite-plugin-vue-devtools": "^7.0.25",
|
|
121
|
+
"vitest": "^3.0.0"
|
|
122
|
+
}
|
|
123
|
+
}
|