@qtalo/qt-ui-library 0.1.18 → 0.1.20
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/index.cjs +16 -16
- package/dist/index.cjs.map +1 -1
- package/dist/index.css +1 -1
- package/dist/index.d.ts +183 -7
- package/dist/index.js +1019 -635
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/styles/styles.css +15 -1
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import clsx from "clsx";
|
|
2
2
|
import { twMerge } from "tailwind-merge";
|
|
3
|
-
import { Children, Fragment, cloneElement, createContext, isValidElement, useCallback, useContext, useEffect, useLayoutEffect, useMemo, useRef, useState, useSyncExternalStore } from "react";
|
|
3
|
+
import { Children, Fragment, cloneElement, createContext, isValidElement, useCallback, useContext, useEffect, useId, useLayoutEffect, useMemo, useRef, useState, useSyncExternalStore } from "react";
|
|
4
4
|
import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
5
5
|
import { createPortal } from "react-dom";
|
|
6
6
|
import { tv } from "tailwind-variants";
|
|
@@ -326,20 +326,20 @@ var html$1 = freeze(/* @__PURE__ */ "a.abbr.acronym.address.area.article.aside.a
|
|
|
326
326
|
function createDOMPurify() {
|
|
327
327
|
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : getGlobal(), t = (e) => createDOMPurify(e);
|
|
328
328
|
if (t.version = "3.3.1", t.removed = [], !e || !e.document || e.document.nodeType !== NODE_TYPE.document || !e.Element) return t.isSupported = !1, t;
|
|
329
|
-
let { document: n } = e, r = n, i = r.currentScript, { DocumentFragment: a, HTMLTemplateElement: o, Node: s, Element: c, NodeFilter: l, NamedNodeMap: u = e.NamedNodeMap || e.MozNamedAttrMap, HTMLFormElement: f, DOMParser: p, trustedTypes: h } = e,
|
|
329
|
+
let { document: n } = e, r = n, i = r.currentScript, { DocumentFragment: a, HTMLTemplateElement: o, Node: s, Element: c, NodeFilter: l, NamedNodeMap: u = e.NamedNodeMap || e.MozNamedAttrMap, HTMLFormElement: f, DOMParser: p, trustedTypes: h } = e, Go = c.prototype, g = lookupGetter(Go, "cloneNode"), O = lookupGetter(Go, "remove"), Ko = lookupGetter(Go, "nextSibling"), qo = lookupGetter(Go, "childNodes"), Jo = lookupGetter(Go, "parentNode");
|
|
330
330
|
if (typeof o == "function") {
|
|
331
331
|
let e = n.createElement("template");
|
|
332
332
|
e.content && e.content.ownerDocument && (n = e.content.ownerDocument);
|
|
333
333
|
}
|
|
334
|
-
let
|
|
335
|
-
t.isSupported = typeof entries == "function" && typeof
|
|
336
|
-
let { MUSTACHE_EXPR:
|
|
334
|
+
let A, R = "", { implementation: Yo, createNodeIterator: Xo, createDocumentFragment: Zo, getElementsByTagName: Qo } = n, { importNode: $o } = r, B = _createHooksMap();
|
|
335
|
+
t.isSupported = typeof entries == "function" && typeof Jo == "function" && Yo && Yo.createHTMLDocument !== void 0;
|
|
336
|
+
let { MUSTACHE_EXPR: es, ERB_EXPR: ts, TMPLIT_EXPR: ns, DATA_ATTR: rs, ARIA_ATTR: is, IS_SCRIPT_OR_DATA: as, ATTR_WHITESPACE: os, CUSTOM_ELEMENT: ss } = EXPRESSIONS, { IS_ALLOWED_URI: cs } = EXPRESSIONS, V = null, ls = addToSet({}, [
|
|
337
337
|
...html$1,
|
|
338
338
|
...svg$1,
|
|
339
339
|
...svgFilters,
|
|
340
340
|
...mathMl$1,
|
|
341
341
|
...text
|
|
342
|
-
]),
|
|
342
|
+
]), us = null, ds = addToSet({}, [
|
|
343
343
|
...html,
|
|
344
344
|
...svg,
|
|
345
345
|
...mathMl,
|
|
@@ -363,7 +363,7 @@ function createDOMPurify() {
|
|
|
363
363
|
enumerable: !0,
|
|
364
364
|
value: !1
|
|
365
365
|
}
|
|
366
|
-
})),
|
|
366
|
+
})), fs = null, ps = null, ms = Object.seal(create(null, {
|
|
367
367
|
tagCheck: {
|
|
368
368
|
writable: !0,
|
|
369
369
|
configurable: !1,
|
|
@@ -376,7 +376,7 @@ function createDOMPurify() {
|
|
|
376
376
|
enumerable: !0,
|
|
377
377
|
value: null
|
|
378
378
|
}
|
|
379
|
-
})),
|
|
379
|
+
})), hs = !0, gs = !0, _s = !1, vs = !0, ys = !1, bs = !0, xs = !1, Ss = !1, Cs = !1, ws = !1, Ts = !1, Es = !1, Ds = !0, Os = !1, ks = !0, As = !1, js = {}, Ms = null, Ns = addToSet({}, [
|
|
380
380
|
"annotation-xml",
|
|
381
381
|
"audio",
|
|
382
382
|
"colgroup",
|
|
@@ -402,14 +402,14 @@ function createDOMPurify() {
|
|
|
402
402
|
"title",
|
|
403
403
|
"video",
|
|
404
404
|
"xmp"
|
|
405
|
-
]),
|
|
405
|
+
]), Ps = null, Fs = addToSet({}, [
|
|
406
406
|
"audio",
|
|
407
407
|
"video",
|
|
408
408
|
"img",
|
|
409
409
|
"source",
|
|
410
410
|
"image",
|
|
411
411
|
"track"
|
|
412
|
-
]),
|
|
412
|
+
]), Is = null, Ls = addToSet({}, [
|
|
413
413
|
"alt",
|
|
414
414
|
"class",
|
|
415
415
|
"for",
|
|
@@ -424,58 +424,58 @@ function createDOMPurify() {
|
|
|
424
424
|
"value",
|
|
425
425
|
"style",
|
|
426
426
|
"xmlns"
|
|
427
|
-
]),
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
], stringToString),
|
|
427
|
+
]), Rs = "http://www.w3.org/1998/Math/MathML", zs = "http://www.w3.org/2000/svg", Bs = "http://www.w3.org/1999/xhtml", Vs = Bs, Hs = !1, Us = null, Ws = addToSet({}, [
|
|
428
|
+
Rs,
|
|
429
|
+
zs,
|
|
430
|
+
Bs
|
|
431
|
+
], stringToString), Gs = addToSet({}, [
|
|
432
432
|
"mi",
|
|
433
433
|
"mo",
|
|
434
434
|
"mn",
|
|
435
435
|
"ms",
|
|
436
436
|
"mtext"
|
|
437
|
-
]),
|
|
437
|
+
]), Ks = addToSet({}, ["annotation-xml"]), qs = addToSet({}, [
|
|
438
438
|
"title",
|
|
439
439
|
"style",
|
|
440
440
|
"font",
|
|
441
441
|
"a",
|
|
442
442
|
"script"
|
|
443
|
-
]),
|
|
443
|
+
]), Js = null, Ys = ["application/xhtml+xml", "text/html"], Y = null, Xs = null, Zs = n.createElement("form"), Qs = function(e) {
|
|
444
444
|
return e instanceof RegExp || e instanceof Function;
|
|
445
|
-
},
|
|
445
|
+
}, $s = function() {
|
|
446
446
|
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
447
|
-
if (!(
|
|
448
|
-
if ((!e || typeof e != "object") && (e = {}), e = clone(e),
|
|
447
|
+
if (!(Xs && Xs === e)) {
|
|
448
|
+
if ((!e || typeof e != "object") && (e = {}), e = clone(e), Js = Ys.indexOf(e.PARSER_MEDIA_TYPE) === -1 ? "text/html" : e.PARSER_MEDIA_TYPE, Y = Js === "application/xhtml+xml" ? stringToString : stringToLowerCase, V = objectHasOwnProperty(e, "ALLOWED_TAGS") ? addToSet({}, e.ALLOWED_TAGS, Y) : ls, us = objectHasOwnProperty(e, "ALLOWED_ATTR") ? addToSet({}, e.ALLOWED_ATTR, Y) : ds, Us = objectHasOwnProperty(e, "ALLOWED_NAMESPACES") ? addToSet({}, e.ALLOWED_NAMESPACES, stringToString) : Ws, Is = objectHasOwnProperty(e, "ADD_URI_SAFE_ATTR") ? addToSet(clone(Ls), e.ADD_URI_SAFE_ATTR, Y) : Ls, Ps = objectHasOwnProperty(e, "ADD_DATA_URI_TAGS") ? addToSet(clone(Fs), e.ADD_DATA_URI_TAGS, Y) : Fs, Ms = objectHasOwnProperty(e, "FORBID_CONTENTS") ? addToSet({}, e.FORBID_CONTENTS, Y) : Ns, fs = objectHasOwnProperty(e, "FORBID_TAGS") ? addToSet({}, e.FORBID_TAGS, Y) : clone({}), ps = objectHasOwnProperty(e, "FORBID_ATTR") ? addToSet({}, e.FORBID_ATTR, Y) : clone({}), js = objectHasOwnProperty(e, "USE_PROFILES") ? e.USE_PROFILES : !1, hs = e.ALLOW_ARIA_ATTR !== !1, gs = e.ALLOW_DATA_ATTR !== !1, _s = e.ALLOW_UNKNOWN_PROTOCOLS || !1, vs = e.ALLOW_SELF_CLOSE_IN_ATTR !== !1, ys = e.SAFE_FOR_TEMPLATES || !1, bs = e.SAFE_FOR_XML !== !1, xs = e.WHOLE_DOCUMENT || !1, ws = e.RETURN_DOM || !1, Ts = e.RETURN_DOM_FRAGMENT || !1, Es = e.RETURN_TRUSTED_TYPE || !1, Cs = e.FORCE_BODY || !1, Ds = e.SANITIZE_DOM !== !1, Os = e.SANITIZE_NAMED_PROPS || !1, ks = e.KEEP_CONTENT !== !1, As = e.IN_PLACE || !1, cs = e.ALLOWED_URI_REGEXP || IS_ALLOWED_URI, Vs = e.NAMESPACE || Bs, Gs = e.MATHML_TEXT_INTEGRATION_POINTS || Gs, Ks = e.HTML_INTEGRATION_POINTS || Ks, H = e.CUSTOM_ELEMENT_HANDLING || {}, e.CUSTOM_ELEMENT_HANDLING && Qs(e.CUSTOM_ELEMENT_HANDLING.tagNameCheck) && (H.tagNameCheck = e.CUSTOM_ELEMENT_HANDLING.tagNameCheck), e.CUSTOM_ELEMENT_HANDLING && Qs(e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck) && (H.attributeNameCheck = e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck), e.CUSTOM_ELEMENT_HANDLING && typeof e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements == "boolean" && (H.allowCustomizedBuiltInElements = e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements), ys && (gs = !1), Ts && (ws = !0), js && (V = addToSet({}, text), us = [], js.html === !0 && (addToSet(V, html$1), addToSet(us, html)), js.svg === !0 && (addToSet(V, svg$1), addToSet(us, svg), addToSet(us, xml)), js.svgFilters === !0 && (addToSet(V, svgFilters), addToSet(us, svg), addToSet(us, xml)), js.mathMl === !0 && (addToSet(V, mathMl$1), addToSet(us, mathMl), addToSet(us, xml))), e.ADD_TAGS && (typeof e.ADD_TAGS == "function" ? ms.tagCheck = e.ADD_TAGS : (V === ls && (V = clone(V)), addToSet(V, e.ADD_TAGS, Y))), e.ADD_ATTR && (typeof e.ADD_ATTR == "function" ? ms.attributeCheck = e.ADD_ATTR : (us === ds && (us = clone(us)), addToSet(us, e.ADD_ATTR, Y))), e.ADD_URI_SAFE_ATTR && addToSet(Is, e.ADD_URI_SAFE_ATTR, Y), e.FORBID_CONTENTS && (Ms === Ns && (Ms = clone(Ms)), addToSet(Ms, e.FORBID_CONTENTS, Y)), e.ADD_FORBID_CONTENTS && (Ms === Ns && (Ms = clone(Ms)), addToSet(Ms, e.ADD_FORBID_CONTENTS, Y)), ks && (V["#text"] = !0), xs && addToSet(V, [
|
|
449
449
|
"html",
|
|
450
450
|
"head",
|
|
451
451
|
"body"
|
|
452
|
-
]),
|
|
452
|
+
]), V.table && (addToSet(V, ["tbody"]), delete fs.tbody), e.TRUSTED_TYPES_POLICY) {
|
|
453
453
|
if (typeof e.TRUSTED_TYPES_POLICY.createHTML != "function") throw typeErrorCreate("TRUSTED_TYPES_POLICY configuration option must provide a \"createHTML\" hook.");
|
|
454
454
|
if (typeof e.TRUSTED_TYPES_POLICY.createScriptURL != "function") throw typeErrorCreate("TRUSTED_TYPES_POLICY configuration option must provide a \"createScriptURL\" hook.");
|
|
455
|
-
|
|
456
|
-
} else
|
|
457
|
-
freeze && freeze(e),
|
|
455
|
+
A = e.TRUSTED_TYPES_POLICY, R = A.createHTML("");
|
|
456
|
+
} else A === void 0 && (A = _createTrustedTypesPolicy(h, i)), A !== null && typeof R == "string" && (R = A.createHTML(""));
|
|
457
|
+
freeze && freeze(e), Xs = e;
|
|
458
458
|
}
|
|
459
|
-
},
|
|
459
|
+
}, ec = addToSet({}, [
|
|
460
460
|
...svg$1,
|
|
461
461
|
...svgFilters,
|
|
462
462
|
...svgDisallowed
|
|
463
|
-
]),
|
|
464
|
-
let t =
|
|
463
|
+
]), tc = addToSet({}, [...mathMl$1, ...mathMlDisallowed]), nc = function(e) {
|
|
464
|
+
let t = Jo(e);
|
|
465
465
|
(!t || !t.tagName) && (t = {
|
|
466
|
-
namespaceURI:
|
|
466
|
+
namespaceURI: Vs,
|
|
467
467
|
tagName: "template"
|
|
468
468
|
});
|
|
469
469
|
let n = stringToLowerCase(e.tagName), r = stringToLowerCase(t.tagName);
|
|
470
|
-
return
|
|
471
|
-
},
|
|
470
|
+
return Us[e.namespaceURI] ? e.namespaceURI === zs ? t.namespaceURI === Bs ? n === "svg" : t.namespaceURI === Rs ? n === "svg" && (r === "annotation-xml" || Gs[r]) : !!ec[n] : e.namespaceURI === Rs ? t.namespaceURI === Bs ? n === "math" : t.namespaceURI === zs ? n === "math" && Ks[r] : !!tc[n] : e.namespaceURI === Bs ? t.namespaceURI === zs && !Ks[r] || t.namespaceURI === Rs && !Gs[r] ? !1 : !tc[n] && (qs[n] || !ec[n]) : !!(Js === "application/xhtml+xml" && Us[e.namespaceURI]) : !1;
|
|
471
|
+
}, rc = function(e) {
|
|
472
472
|
arrayPush(t.removed, { element: e });
|
|
473
473
|
try {
|
|
474
|
-
|
|
474
|
+
Jo(e).removeChild(e);
|
|
475
475
|
} catch {
|
|
476
|
-
|
|
476
|
+
O(e);
|
|
477
477
|
}
|
|
478
|
-
},
|
|
478
|
+
}, ic = function(e, n) {
|
|
479
479
|
try {
|
|
480
480
|
arrayPush(t.removed, {
|
|
481
481
|
attribute: n.getAttributeNode(e),
|
|
@@ -487,196 +487,196 @@ function createDOMPurify() {
|
|
|
487
487
|
from: n
|
|
488
488
|
});
|
|
489
489
|
}
|
|
490
|
-
if (n.removeAttribute(e), e === "is") if (
|
|
491
|
-
|
|
490
|
+
if (n.removeAttribute(e), e === "is") if (ws || Ts) try {
|
|
491
|
+
rc(n);
|
|
492
492
|
} catch {}
|
|
493
493
|
else try {
|
|
494
494
|
n.setAttribute(e, "");
|
|
495
495
|
} catch {}
|
|
496
|
-
},
|
|
496
|
+
}, ac = function(e) {
|
|
497
497
|
let t = null, r = null;
|
|
498
|
-
if (
|
|
498
|
+
if (Cs) e = "<remove></remove>" + e;
|
|
499
499
|
else {
|
|
500
500
|
let t = stringMatch(e, /^[\r\n\t ]+/);
|
|
501
501
|
r = t && t[0];
|
|
502
502
|
}
|
|
503
|
-
|
|
504
|
-
let i =
|
|
505
|
-
if (
|
|
506
|
-
t = new p().parseFromString(i,
|
|
503
|
+
Js === "application/xhtml+xml" && Vs === Bs && (e = "<html xmlns=\"http://www.w3.org/1999/xhtml\"><head></head><body>" + e + "</body></html>");
|
|
504
|
+
let i = A ? A.createHTML(e) : e;
|
|
505
|
+
if (Vs === Bs) try {
|
|
506
|
+
t = new p().parseFromString(i, Js);
|
|
507
507
|
} catch {}
|
|
508
508
|
if (!t || !t.documentElement) {
|
|
509
|
-
t =
|
|
509
|
+
t = Yo.createDocument(Vs, "template", null);
|
|
510
510
|
try {
|
|
511
|
-
t.documentElement.innerHTML =
|
|
511
|
+
t.documentElement.innerHTML = Hs ? R : i;
|
|
512
512
|
} catch {}
|
|
513
513
|
}
|
|
514
514
|
let a = t.body || t.documentElement;
|
|
515
|
-
return e && r && a.insertBefore(n.createTextNode(r), a.childNodes[0] || null),
|
|
516
|
-
},
|
|
517
|
-
return
|
|
518
|
-
},
|
|
515
|
+
return e && r && a.insertBefore(n.createTextNode(r), a.childNodes[0] || null), Vs === Bs ? Qo.call(t, xs ? "html" : "body")[0] : xs ? t.documentElement : a;
|
|
516
|
+
}, oc = function(e) {
|
|
517
|
+
return Xo.call(e.ownerDocument || e, e, l.SHOW_ELEMENT | l.SHOW_COMMENT | l.SHOW_TEXT | l.SHOW_PROCESSING_INSTRUCTION | l.SHOW_CDATA_SECTION, null);
|
|
518
|
+
}, sc = function(e) {
|
|
519
519
|
return e instanceof f && (typeof e.nodeName != "string" || typeof e.textContent != "string" || typeof e.removeChild != "function" || !(e.attributes instanceof u) || typeof e.removeAttribute != "function" || typeof e.setAttribute != "function" || typeof e.namespaceURI != "string" || typeof e.insertBefore != "function" || typeof e.hasChildNodes != "function");
|
|
520
|
-
},
|
|
520
|
+
}, cc = function(e) {
|
|
521
521
|
return typeof s == "function" && e instanceof s;
|
|
522
522
|
};
|
|
523
|
-
function
|
|
523
|
+
function lc(e, n, r) {
|
|
524
524
|
arrayForEach(e, (e) => {
|
|
525
|
-
e.call(t, n, r,
|
|
525
|
+
e.call(t, n, r, Xs);
|
|
526
526
|
});
|
|
527
527
|
}
|
|
528
|
-
let
|
|
528
|
+
let uc = function(e) {
|
|
529
529
|
let n = null;
|
|
530
|
-
if (
|
|
530
|
+
if (lc(B.beforeSanitizeElements, e, null), sc(e)) return rc(e), !0;
|
|
531
531
|
let r = Y(e.nodeName);
|
|
532
|
-
if (
|
|
532
|
+
if (lc(B.uponSanitizeElement, e, {
|
|
533
533
|
tagName: r,
|
|
534
|
-
allowedTags:
|
|
535
|
-
}),
|
|
536
|
-
if (!(
|
|
537
|
-
if (!
|
|
538
|
-
if (
|
|
539
|
-
let t =
|
|
534
|
+
allowedTags: V
|
|
535
|
+
}), bs && e.hasChildNodes() && !cc(e.firstElementChild) && regExpTest(/<[/\w!]/g, e.innerHTML) && regExpTest(/<[/\w!]/g, e.textContent) || e.nodeType === NODE_TYPE.progressingInstruction || bs && e.nodeType === NODE_TYPE.comment && regExpTest(/<[/\w]/g, e.data)) return rc(e), !0;
|
|
536
|
+
if (!(ms.tagCheck instanceof Function && ms.tagCheck(r)) && (!V[r] || fs[r])) {
|
|
537
|
+
if (!fs[r] && fc(r) && (H.tagNameCheck instanceof RegExp && regExpTest(H.tagNameCheck, r) || H.tagNameCheck instanceof Function && H.tagNameCheck(r))) return !1;
|
|
538
|
+
if (ks && !Ms[r]) {
|
|
539
|
+
let t = Jo(e) || e.parentNode, n = qo(e) || e.childNodes;
|
|
540
540
|
if (n && t) {
|
|
541
541
|
let r = n.length;
|
|
542
542
|
for (let i = r - 1; i >= 0; --i) {
|
|
543
|
-
let r =
|
|
544
|
-
r.__removalCount = (e.__removalCount || 0) + 1, t.insertBefore(r,
|
|
543
|
+
let r = g(n[i], !0);
|
|
544
|
+
r.__removalCount = (e.__removalCount || 0) + 1, t.insertBefore(r, Ko(e));
|
|
545
545
|
}
|
|
546
546
|
}
|
|
547
547
|
}
|
|
548
|
-
return
|
|
548
|
+
return rc(e), !0;
|
|
549
549
|
}
|
|
550
|
-
return e instanceof c && !
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
550
|
+
return e instanceof c && !nc(e) || (r === "noscript" || r === "noembed" || r === "noframes") && regExpTest(/<\/no(script|embed|frames)/i, e.innerHTML) ? (rc(e), !0) : (ys && e.nodeType === NODE_TYPE.text && (n = e.textContent, arrayForEach([
|
|
551
|
+
es,
|
|
552
|
+
ts,
|
|
553
|
+
ns
|
|
554
554
|
], (e) => {
|
|
555
555
|
n = stringReplace(n, e, " ");
|
|
556
|
-
}), e.textContent !== n && (arrayPush(t.removed, { element: e.cloneNode() }), e.textContent = n)),
|
|
557
|
-
},
|
|
558
|
-
if (
|
|
559
|
-
if (!(
|
|
560
|
-
if (!
|
|
561
|
-
if (!(
|
|
562
|
-
} else if (!
|
|
556
|
+
}), e.textContent !== n && (arrayPush(t.removed, { element: e.cloneNode() }), e.textContent = n)), lc(B.afterSanitizeElements, e, null), !1);
|
|
557
|
+
}, dc = function(e, t, r) {
|
|
558
|
+
if (Ds && (t === "id" || t === "name") && (r in n || r in Zs)) return !1;
|
|
559
|
+
if (!(gs && !ps[t] && regExpTest(rs, t)) && !(hs && regExpTest(is, t)) && !(ms.attributeCheck instanceof Function && ms.attributeCheck(t, e))) {
|
|
560
|
+
if (!us[t] || ps[t]) {
|
|
561
|
+
if (!(fc(e) && (H.tagNameCheck instanceof RegExp && regExpTest(H.tagNameCheck, e) || H.tagNameCheck instanceof Function && H.tagNameCheck(e)) && (H.attributeNameCheck instanceof RegExp && regExpTest(H.attributeNameCheck, t) || H.attributeNameCheck instanceof Function && H.attributeNameCheck(t, e)) || t === "is" && H.allowCustomizedBuiltInElements && (H.tagNameCheck instanceof RegExp && regExpTest(H.tagNameCheck, r) || H.tagNameCheck instanceof Function && H.tagNameCheck(r)))) return !1;
|
|
562
|
+
} else if (!Is[t] && !regExpTest(cs, stringReplace(r, os, "")) && !((t === "src" || t === "xlink:href" || t === "href") && e !== "script" && stringIndexOf(r, "data:") === 0 && Ps[e]) && !(_s && !regExpTest(as, stringReplace(r, os, ""))) && r) return !1;
|
|
563
563
|
}
|
|
564
564
|
return !0;
|
|
565
|
-
},
|
|
566
|
-
return e !== "annotation-xml" && stringMatch(e,
|
|
567
|
-
},
|
|
568
|
-
|
|
565
|
+
}, fc = function(e) {
|
|
566
|
+
return e !== "annotation-xml" && stringMatch(e, ss);
|
|
567
|
+
}, pc = function(e) {
|
|
568
|
+
lc(B.beforeSanitizeAttributes, e, null);
|
|
569
569
|
let { attributes: n } = e;
|
|
570
|
-
if (!n ||
|
|
570
|
+
if (!n || sc(e)) return;
|
|
571
571
|
let r = {
|
|
572
572
|
attrName: "",
|
|
573
573
|
attrValue: "",
|
|
574
574
|
keepAttr: !0,
|
|
575
|
-
allowedAttributes:
|
|
575
|
+
allowedAttributes: us,
|
|
576
576
|
forceKeepAttr: void 0
|
|
577
577
|
}, i = n.length;
|
|
578
578
|
for (; i--;) {
|
|
579
579
|
let { name: a, namespaceURI: o, value: s } = n[i], c = Y(a), l = s, u = a === "value" ? l : stringTrim(l);
|
|
580
|
-
if (r.attrName = c, r.attrValue = u, r.keepAttr = !0, r.forceKeepAttr = void 0,
|
|
581
|
-
|
|
580
|
+
if (r.attrName = c, r.attrValue = u, r.keepAttr = !0, r.forceKeepAttr = void 0, lc(B.uponSanitizeAttribute, e, r), u = r.attrValue, Os && (c === "id" || c === "name") && (ic(a, e), u = "user-content-" + u), bs && regExpTest(/((--!?|])>)|<\/(style|title|textarea)/i, u)) {
|
|
581
|
+
ic(a, e);
|
|
582
582
|
continue;
|
|
583
583
|
}
|
|
584
584
|
if (c === "attributename" && stringMatch(u, "href")) {
|
|
585
|
-
|
|
585
|
+
ic(a, e);
|
|
586
586
|
continue;
|
|
587
587
|
}
|
|
588
588
|
if (r.forceKeepAttr) continue;
|
|
589
589
|
if (!r.keepAttr) {
|
|
590
|
-
|
|
590
|
+
ic(a, e);
|
|
591
591
|
continue;
|
|
592
592
|
}
|
|
593
|
-
if (!
|
|
594
|
-
|
|
593
|
+
if (!vs && regExpTest(/\/>/i, u)) {
|
|
594
|
+
ic(a, e);
|
|
595
595
|
continue;
|
|
596
596
|
}
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
597
|
+
ys && arrayForEach([
|
|
598
|
+
es,
|
|
599
|
+
ts,
|
|
600
|
+
ns
|
|
601
601
|
], (e) => {
|
|
602
602
|
u = stringReplace(u, e, " ");
|
|
603
603
|
});
|
|
604
604
|
let f = Y(e.nodeName);
|
|
605
|
-
if (!
|
|
606
|
-
|
|
605
|
+
if (!dc(f, c, u)) {
|
|
606
|
+
ic(a, e);
|
|
607
607
|
continue;
|
|
608
608
|
}
|
|
609
|
-
if (
|
|
609
|
+
if (A && typeof h == "object" && typeof h.getAttributeType == "function" && !o) switch (h.getAttributeType(f, c)) {
|
|
610
610
|
case "TrustedHTML":
|
|
611
|
-
u =
|
|
611
|
+
u = A.createHTML(u);
|
|
612
612
|
break;
|
|
613
613
|
case "TrustedScriptURL":
|
|
614
|
-
u =
|
|
614
|
+
u = A.createScriptURL(u);
|
|
615
615
|
break;
|
|
616
616
|
}
|
|
617
617
|
if (u !== l) try {
|
|
618
|
-
o ? e.setAttributeNS(o, a, u) : e.setAttribute(a, u),
|
|
618
|
+
o ? e.setAttributeNS(o, a, u) : e.setAttribute(a, u), sc(e) ? rc(e) : arrayPop(t.removed);
|
|
619
619
|
} catch {
|
|
620
|
-
|
|
620
|
+
ic(a, e);
|
|
621
621
|
}
|
|
622
622
|
}
|
|
623
|
-
|
|
624
|
-
},
|
|
625
|
-
let n = null, r =
|
|
626
|
-
for (
|
|
627
|
-
|
|
623
|
+
lc(B.afterSanitizeAttributes, e, null);
|
|
624
|
+
}, mc = function e(t) {
|
|
625
|
+
let n = null, r = oc(t);
|
|
626
|
+
for (lc(B.beforeSanitizeShadowDOM, t, null); n = r.nextNode();) lc(B.uponSanitizeShadowNode, n, null), uc(n), pc(n), n.content instanceof a && e(n.content);
|
|
627
|
+
lc(B.afterSanitizeShadowDOM, t, null);
|
|
628
628
|
};
|
|
629
629
|
return t.sanitize = function(e) {
|
|
630
630
|
let n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, i = null, o = null, c = null, l = null;
|
|
631
|
-
if (
|
|
631
|
+
if (Hs = !e, Hs && (e = "<!-->"), typeof e != "string" && !cc(e)) if (typeof e.toString == "function") {
|
|
632
632
|
if (e = e.toString(), typeof e != "string") throw typeErrorCreate("dirty is not a string, aborting");
|
|
633
633
|
} else throw typeErrorCreate("toString is not a function");
|
|
634
634
|
if (!t.isSupported) return e;
|
|
635
|
-
if (
|
|
635
|
+
if (Ss || $s(n), t.removed = [], typeof e == "string" && (As = !1), As) {
|
|
636
636
|
if (e.nodeName) {
|
|
637
637
|
let t = Y(e.nodeName);
|
|
638
|
-
if (!
|
|
638
|
+
if (!V[t] || fs[t]) throw typeErrorCreate("root node is forbidden and cannot be sanitized in-place");
|
|
639
639
|
}
|
|
640
|
-
} else if (e instanceof s) i =
|
|
640
|
+
} else if (e instanceof s) i = ac("<!---->"), o = i.ownerDocument.importNode(e, !0), o.nodeType === NODE_TYPE.element && o.nodeName === "BODY" || o.nodeName === "HTML" ? i = o : i.appendChild(o);
|
|
641
641
|
else {
|
|
642
|
-
if (!
|
|
643
|
-
if (i =
|
|
642
|
+
if (!ws && !ys && !xs && e.indexOf("<") === -1) return A && Es ? A.createHTML(e) : e;
|
|
643
|
+
if (i = ac(e), !i) return ws ? null : Es ? R : "";
|
|
644
644
|
}
|
|
645
|
-
i &&
|
|
646
|
-
let u =
|
|
647
|
-
for (; c = u.nextNode();)
|
|
648
|
-
if (
|
|
649
|
-
if (
|
|
650
|
-
if (
|
|
645
|
+
i && Cs && rc(i.firstChild);
|
|
646
|
+
let u = oc(As ? e : i);
|
|
647
|
+
for (; c = u.nextNode();) uc(c), pc(c), c.content instanceof a && mc(c.content);
|
|
648
|
+
if (As) return e;
|
|
649
|
+
if (ws) {
|
|
650
|
+
if (Ts) for (l = Zo.call(i.ownerDocument); i.firstChild;) l.appendChild(i.firstChild);
|
|
651
651
|
else l = i;
|
|
652
|
-
return (
|
|
652
|
+
return (us.shadowroot || us.shadowrootmode) && (l = $o.call(r, l, !0)), l;
|
|
653
653
|
}
|
|
654
|
-
let f =
|
|
655
|
-
return
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
654
|
+
let f = xs ? i.outerHTML : i.innerHTML;
|
|
655
|
+
return xs && V["!doctype"] && i.ownerDocument && i.ownerDocument.doctype && i.ownerDocument.doctype.name && regExpTest(DOCTYPE_NAME, i.ownerDocument.doctype.name) && (f = "<!DOCTYPE " + i.ownerDocument.doctype.name + ">\n" + f), ys && arrayForEach([
|
|
656
|
+
es,
|
|
657
|
+
ts,
|
|
658
|
+
ns
|
|
659
659
|
], (e) => {
|
|
660
660
|
f = stringReplace(f, e, " ");
|
|
661
|
-
}),
|
|
661
|
+
}), A && Es ? A.createHTML(f) : f;
|
|
662
662
|
}, t.setConfig = function() {
|
|
663
|
-
|
|
663
|
+
$s(arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}), Ss = !0;
|
|
664
664
|
}, t.clearConfig = function() {
|
|
665
|
-
|
|
665
|
+
Xs = null, Ss = !1;
|
|
666
666
|
}, t.isValidAttribute = function(e, t, n) {
|
|
667
|
-
return
|
|
667
|
+
return Xs || $s({}), dc(Y(e), Y(t), n);
|
|
668
668
|
}, t.addHook = function(e, t) {
|
|
669
|
-
typeof t == "function" && arrayPush(
|
|
669
|
+
typeof t == "function" && arrayPush(B[e], t);
|
|
670
670
|
}, t.removeHook = function(e, t) {
|
|
671
671
|
if (t !== void 0) {
|
|
672
|
-
let n = arrayLastIndexOf(
|
|
673
|
-
return n === -1 ? void 0 : arraySplice(
|
|
672
|
+
let n = arrayLastIndexOf(B[e], t);
|
|
673
|
+
return n === -1 ? void 0 : arraySplice(B[e], n, 1)[0];
|
|
674
674
|
}
|
|
675
|
-
return arrayPop(
|
|
675
|
+
return arrayPop(B[e]);
|
|
676
676
|
}, t.removeHooks = function(e) {
|
|
677
|
-
|
|
677
|
+
B[e] = [];
|
|
678
678
|
}, t.removeAllHooks = function() {
|
|
679
|
-
|
|
679
|
+
B = _createHooksMap();
|
|
680
680
|
}, t;
|
|
681
681
|
}
|
|
682
682
|
var purify = createDOMPurify();
|
|
@@ -21328,33 +21328,33 @@ function Button({ className: e, children: t, ...n }) {
|
|
|
21328
21328
|
});
|
|
21329
21329
|
}
|
|
21330
21330
|
function Checkbox({ checked: e, defaultChecked: t, icon: n, indeterminate: r, indeterminateIcon: i, onChange: a, disabled: o, children: s, className: c }) {
|
|
21331
|
-
let u = useRef(null), [f,
|
|
21331
|
+
let u = useRef(null), [f, p] = useState(t ?? !1), g = e ?? f;
|
|
21332
21332
|
useEffect(() => {
|
|
21333
21333
|
u.current && (u.current.indeterminate = !!r);
|
|
21334
21334
|
}, [r]);
|
|
21335
|
-
function
|
|
21335
|
+
function O(t) {
|
|
21336
21336
|
let n = t.target.checked;
|
|
21337
|
-
e === void 0 &&
|
|
21337
|
+
e === void 0 && p(n), a?.(n);
|
|
21338
21338
|
}
|
|
21339
21339
|
return /* @__PURE__ */ jsxs("label", {
|
|
21340
|
-
className: cn("relative inline-flex w-fit cursor-pointer items-center
|
|
21340
|
+
className: cn("gap-2 relative inline-flex w-fit cursor-pointer items-center select-none", o && "pointer-events-none opacity-50", c),
|
|
21341
21341
|
children: [
|
|
21342
21342
|
/* @__PURE__ */ jsx("input", {
|
|
21343
21343
|
ref: u,
|
|
21344
21344
|
type: "checkbox",
|
|
21345
|
-
className: cn("absolute h-px w-px overflow-hidden
|
|
21345
|
+
className: cn("p-0 absolute h-px w-px overflow-hidden whitespace-nowrap", "[clip-path:inset(50%)]", "border-0"),
|
|
21346
21346
|
disabled: o,
|
|
21347
|
-
onChange:
|
|
21347
|
+
onChange: O,
|
|
21348
21348
|
...e === void 0 ? { defaultChecked: t } : { checked: e }
|
|
21349
21349
|
}),
|
|
21350
21350
|
/* @__PURE__ */ jsx("span", {
|
|
21351
21351
|
role: "checkbox",
|
|
21352
|
-
"aria-checked": r ? "mixed" :
|
|
21352
|
+
"aria-checked": r ? "mixed" : g,
|
|
21353
21353
|
tabIndex: -1,
|
|
21354
|
-
"data-state": r ? "indeterminate" :
|
|
21354
|
+
"data-state": r ? "indeterminate" : g ? "checked" : "unchecked",
|
|
21355
21355
|
className: "checkbox-box inline-flex items-center justify-center",
|
|
21356
21356
|
children: /* @__PURE__ */ jsx("span", {
|
|
21357
|
-
className: cn("checkbox-icon", !(
|
|
21357
|
+
className: cn("checkbox-icon", !(g || r) && "opacity-0"),
|
|
21358
21358
|
children: r ? i ?? "—" : n ?? "✓"
|
|
21359
21359
|
})
|
|
21360
21360
|
}),
|
|
@@ -21371,60 +21371,75 @@ function useDropdown() {
|
|
|
21371
21371
|
if (!e) throw Error("useDropdown must be used inside Dropdown");
|
|
21372
21372
|
return e;
|
|
21373
21373
|
}
|
|
21374
|
-
function Dropdown({ trigger: e, children: t, align: n = "start", side: r = "bottom", offsetX: i = 0, offsetY: a = 0, disabled: o = !1 }) {
|
|
21375
|
-
let [
|
|
21376
|
-
|
|
21377
|
-
|
|
21378
|
-
|
|
21374
|
+
function Dropdown({ trigger: e, children: t, align: n = "start", side: r = "bottom", offsetX: i = 0, offsetY: a = 0, disabled: o = !1, openOnHover: c = !0, open: u, onOpenChange: p }) {
|
|
21375
|
+
let g = u !== void 0, [O, A] = useState(!1), R = g ? u : O, Yo = useCallback((e) => {
|
|
21376
|
+
e !== R && (g || A(e), p?.(e));
|
|
21377
|
+
}, [
|
|
21378
|
+
R,
|
|
21379
|
+
g,
|
|
21380
|
+
p
|
|
21381
|
+
]), Xo = useRef(null), Zo = useRef(null), Qo = useRef(null), [$o, B] = useState(null), es = useCallback(() => {
|
|
21382
|
+
if (!Xo.current || !Zo.current) return;
|
|
21383
|
+
let e = Xo.current.getBoundingClientRect(), t = Zo.current.getBoundingClientRect(), o = e.left;
|
|
21379
21384
|
n === "end" ? o = e.right - t.width : n === "center" && (o = e.left + (e.width - t.width) / 2), o += i;
|
|
21380
|
-
let
|
|
21381
|
-
|
|
21382
|
-
top:
|
|
21385
|
+
let s;
|
|
21386
|
+
s = r === "bottom" ? e.bottom + a : e.top - t.height + a, queueMicrotask(() => B({
|
|
21387
|
+
top: s,
|
|
21383
21388
|
left: o
|
|
21384
21389
|
}));
|
|
21385
21390
|
}, [
|
|
21386
|
-
s,
|
|
21387
21391
|
n,
|
|
21388
21392
|
r,
|
|
21389
21393
|
i,
|
|
21390
21394
|
a
|
|
21391
21395
|
]);
|
|
21392
|
-
|
|
21393
|
-
|
|
21394
|
-
}
|
|
21395
|
-
|
|
21396
|
-
|
|
21397
|
-
|
|
21396
|
+
useLayoutEffect(() => {
|
|
21397
|
+
R && es();
|
|
21398
|
+
}, [R, es]), useEffect(() => {
|
|
21399
|
+
if (!R) return;
|
|
21400
|
+
let e = () => es();
|
|
21401
|
+
return window.addEventListener("resize", e), window.addEventListener("scroll", e, !0), () => {
|
|
21402
|
+
window.removeEventListener("resize", e), window.removeEventListener("scroll", e, !0);
|
|
21403
|
+
};
|
|
21404
|
+
}, [R, es]);
|
|
21405
|
+
let ts = useCallback(() => {
|
|
21406
|
+
Qo.current &&= (clearTimeout(Qo.current), null), Yo(!0);
|
|
21407
|
+
}, [Yo]), ns = useCallback(() => {
|
|
21408
|
+
Qo.current = window.setTimeout(() => {
|
|
21409
|
+
Yo(!1);
|
|
21398
21410
|
}, 120);
|
|
21399
|
-
}
|
|
21411
|
+
}, [Yo]);
|
|
21400
21412
|
return useEffect(() => {
|
|
21401
21413
|
function e(e) {
|
|
21402
21414
|
let t = e.target;
|
|
21403
|
-
|
|
21415
|
+
Xo.current?.contains(t) || Zo.current?.contains(t) || Yo(!1);
|
|
21404
21416
|
}
|
|
21405
21417
|
return document.addEventListener("mousedown", e), () => document.removeEventListener("mousedown", e);
|
|
21406
|
-
}, []), useEffect(() => () => {
|
|
21407
|
-
|
|
21418
|
+
}, [Yo]), useEffect(() => () => {
|
|
21419
|
+
Qo.current && clearTimeout(Qo.current);
|
|
21408
21420
|
}, []), /* @__PURE__ */ jsxs(DropdownContext.Provider, {
|
|
21409
|
-
value: {
|
|
21421
|
+
value: {
|
|
21422
|
+
close: () => Yo(!1),
|
|
21423
|
+
open: ts
|
|
21424
|
+
},
|
|
21410
21425
|
children: [/* @__PURE__ */ jsx("div", {
|
|
21411
|
-
ref:
|
|
21426
|
+
ref: Xo,
|
|
21412
21427
|
className: "inline-flex",
|
|
21413
|
-
onMouseEnter:
|
|
21414
|
-
onMouseLeave:
|
|
21415
|
-
onClick: () =>
|
|
21428
|
+
onMouseEnter: c ? ts : void 0,
|
|
21429
|
+
onMouseLeave: c ? ns : void 0,
|
|
21430
|
+
onClick: () => Yo(!R),
|
|
21416
21431
|
"aria-haspopup": "menu",
|
|
21417
|
-
"aria-expanded":
|
|
21432
|
+
"aria-expanded": R,
|
|
21418
21433
|
children: e
|
|
21419
|
-
}),
|
|
21420
|
-
ref:
|
|
21421
|
-
onMouseEnter:
|
|
21422
|
-
onMouseLeave:
|
|
21434
|
+
}), R && !o && createPortal(/* @__PURE__ */ jsx("div", {
|
|
21435
|
+
ref: Zo,
|
|
21436
|
+
onMouseEnter: c ? ts : void 0,
|
|
21437
|
+
onMouseLeave: c ? ns : void 0,
|
|
21423
21438
|
style: {
|
|
21424
21439
|
position: "fixed",
|
|
21425
|
-
top:
|
|
21426
|
-
left:
|
|
21427
|
-
visibility:
|
|
21440
|
+
top: $o?.top ?? 0,
|
|
21441
|
+
left: $o?.left ?? 0,
|
|
21442
|
+
visibility: $o ? "visible" : "hidden",
|
|
21428
21443
|
zIndex: 1e3
|
|
21429
21444
|
},
|
|
21430
21445
|
children: t
|
|
@@ -21433,11 +21448,11 @@ function Dropdown({ trigger: e, children: t, align: n = "start", side: r = "bott
|
|
|
21433
21448
|
}
|
|
21434
21449
|
function Input({ type: e = "text", value: t, defaultValue: n, disabled: r = !1, error: i = !1, placeholder: a, onChange: o, onKeyDown: s, className: c }) {
|
|
21435
21450
|
let [l, u] = useState(n ?? ""), f = t !== void 0, p = f ? t : l;
|
|
21436
|
-
function
|
|
21451
|
+
function h(e) {
|
|
21437
21452
|
let t = e.target.value;
|
|
21438
21453
|
f || u(t), o?.(t);
|
|
21439
21454
|
}
|
|
21440
|
-
function
|
|
21455
|
+
function g(e) {
|
|
21441
21456
|
s?.(e);
|
|
21442
21457
|
}
|
|
21443
21458
|
return /* @__PURE__ */ jsx("input", {
|
|
@@ -21447,8 +21462,8 @@ function Input({ type: e = "text", value: t, defaultValue: n, disabled: r = !1,
|
|
|
21447
21462
|
disabled: r,
|
|
21448
21463
|
"aria-disabled": r || void 0,
|
|
21449
21464
|
"aria-invalid": i || void 0,
|
|
21450
|
-
onChange:
|
|
21451
|
-
onKeyDown:
|
|
21465
|
+
onChange: h,
|
|
21466
|
+
onKeyDown: g,
|
|
21452
21467
|
className: cn("bg-transparent outline-none", r && "pointer-events-none", c)
|
|
21453
21468
|
});
|
|
21454
21469
|
}
|
|
@@ -21486,17 +21501,17 @@ function getVerticalAlign(e, t, n) {
|
|
|
21486
21501
|
return n === "start" ? e.top : n === "end" ? e.bottom - t.height : e.top + e.height / 2 - t.height / 2;
|
|
21487
21502
|
}
|
|
21488
21503
|
function Tooltip({ children: e, content: t, position: n = "top", delay: r = 120, className: i }) {
|
|
21489
|
-
let a = useRef(null), o = useRef(null), s = useRef(null), [c,
|
|
21504
|
+
let a = useRef(null), o = useRef(null), s = useRef(null), [c, u] = useState(!1), [p, g] = useState(null), A = () => {
|
|
21490
21505
|
s.current &&= (clearTimeout(s.current), null), s.current = window.setTimeout(() => {
|
|
21491
|
-
|
|
21506
|
+
u(!0);
|
|
21492
21507
|
}, r);
|
|
21493
|
-
},
|
|
21494
|
-
s.current &&= (clearTimeout(s.current), null),
|
|
21508
|
+
}, R = () => {
|
|
21509
|
+
s.current &&= (clearTimeout(s.current), null), u(!1);
|
|
21495
21510
|
};
|
|
21496
21511
|
return useLayoutEffect(() => {
|
|
21497
21512
|
if (!c || !a.current || !o.current) return;
|
|
21498
21513
|
let e = a.current.getBoundingClientRect(), t = o.current.getBoundingClientRect(), [r, i] = n.split("-"), s = i ?? "center", l = 0, u = 0;
|
|
21499
|
-
r === "top" || r === "bottom" ? (l = r === "top" ? e.top - t.height - 4 : e.bottom + 4, u = getHorizontalAlign(e, t, s)) : (u = r === "left" ? e.left - t.width - 4 : e.right + 4, l = getVerticalAlign(e, t, s)),
|
|
21514
|
+
r === "top" || r === "bottom" ? (l = r === "top" ? e.top - t.height - 4 : e.bottom + 4, u = getHorizontalAlign(e, t, s)) : (u = r === "left" ? e.left - t.width - 4 : e.right + 4, l = getVerticalAlign(e, t, s)), g((e) => e && e.top === l && e.left === u ? e : {
|
|
21500
21515
|
top: l,
|
|
21501
21516
|
left: u
|
|
21502
21517
|
});
|
|
@@ -21505,19 +21520,19 @@ function Tooltip({ children: e, content: t, position: n = "top", delay: r = 120,
|
|
|
21505
21520
|
}, []), /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx("div", {
|
|
21506
21521
|
ref: a,
|
|
21507
21522
|
className: "inline-flex",
|
|
21508
|
-
onMouseEnter:
|
|
21509
|
-
onMouseLeave:
|
|
21510
|
-
onFocus:
|
|
21511
|
-
onBlur:
|
|
21523
|
+
onMouseEnter: A,
|
|
21524
|
+
onMouseLeave: R,
|
|
21525
|
+
onFocus: A,
|
|
21526
|
+
onBlur: R,
|
|
21512
21527
|
children: e
|
|
21513
21528
|
}), c && createPortal(/* @__PURE__ */ jsx("div", {
|
|
21514
21529
|
ref: o,
|
|
21515
21530
|
role: "tooltip",
|
|
21516
21531
|
style: {
|
|
21517
21532
|
position: "fixed",
|
|
21518
|
-
top:
|
|
21519
|
-
left:
|
|
21520
|
-
visibility:
|
|
21533
|
+
top: p?.top ?? 0,
|
|
21534
|
+
left: p?.left ?? 0,
|
|
21535
|
+
visibility: p ? "visible" : "hidden",
|
|
21521
21536
|
zIndex: 1e3
|
|
21522
21537
|
},
|
|
21523
21538
|
className: cn(i),
|
|
@@ -22385,30 +22400,62 @@ function FireIcon({ pathProps: e, ...t }) {
|
|
|
22385
22400
|
})
|
|
22386
22401
|
});
|
|
22387
22402
|
}
|
|
22388
|
-
function
|
|
22403
|
+
function InsightFillIcon({ pathProps: e, ...t }) {
|
|
22389
22404
|
return /* @__PURE__ */ jsxs(Icon, {
|
|
22390
|
-
viewBox: "0 0
|
|
22405
|
+
viewBox: "0 0 20 20",
|
|
22391
22406
|
...t,
|
|
22392
22407
|
children: [
|
|
22393
22408
|
/* @__PURE__ */ jsx("path", {
|
|
22394
|
-
d: "
|
|
22409
|
+
d: "M9.45,9.14c.68,1.74,2.12,3.11,3.93,3.76-1.81.65-3.26,2.02-3.93,3.76-.68-1.74-2.12-3.11-3.93-3.76,1.81-.65,3.26-2.03,3.93-3.76Z",
|
|
22395
22410
|
fill: "currentColor",
|
|
22396
22411
|
stroke: "currentColor",
|
|
22397
|
-
strokeWidth: "1
|
|
22412
|
+
strokeWidth: "1",
|
|
22413
|
+
strokeMiterlimit: "10",
|
|
22398
22414
|
...e
|
|
22399
22415
|
}),
|
|
22400
22416
|
/* @__PURE__ */ jsx("path", {
|
|
22401
|
-
d: "
|
|
22417
|
+
d: "M12.6,4.96c.39.83,1.05,1.5,1.88,1.88-.83.39-1.5,1.05-1.88,1.88-.39-.83-1.05-1.5-1.88-1.88.83-.39,1.5-1.05,1.88-1.88Z",
|
|
22402
22418
|
fill: "currentColor",
|
|
22403
22419
|
stroke: "currentColor",
|
|
22404
|
-
strokeWidth: "1
|
|
22420
|
+
strokeWidth: "1",
|
|
22421
|
+
strokeMiterlimit: "10",
|
|
22405
22422
|
...e
|
|
22406
22423
|
}),
|
|
22407
22424
|
/* @__PURE__ */ jsx("path", {
|
|
22408
|
-
d: "
|
|
22425
|
+
d: "M7.87,3.34c.3.61.8,1.1,1.4,1.4-.61.3-1.1.8-1.4,1.4-.3-.61-.8-1.1-1.4-1.4.61-.3,1.1-.8,1.4-1.4Z",
|
|
22409
22426
|
fill: "currentColor",
|
|
22410
22427
|
stroke: "currentColor",
|
|
22411
|
-
strokeWidth: "1
|
|
22428
|
+
strokeWidth: "1",
|
|
22429
|
+
strokeMiterlimit: "10",
|
|
22430
|
+
...e
|
|
22431
|
+
})
|
|
22432
|
+
]
|
|
22433
|
+
});
|
|
22434
|
+
}
|
|
22435
|
+
function InsightIcon({ pathProps: e, ...t }) {
|
|
22436
|
+
return /* @__PURE__ */ jsxs(Icon, {
|
|
22437
|
+
viewBox: "0 0 20 20",
|
|
22438
|
+
...t,
|
|
22439
|
+
children: [
|
|
22440
|
+
/* @__PURE__ */ jsx("path", {
|
|
22441
|
+
d: "M9.45,9.14c.68,1.74,2.12,3.11,3.93,3.76-1.81.65-3.26,2.02-3.93,3.76-.68-1.74-2.12-3.11-3.93-3.76,1.81-.65,3.26-2.03,3.93-3.76Z",
|
|
22442
|
+
stroke: "currentColor",
|
|
22443
|
+
strokeWidth: "1.5",
|
|
22444
|
+
strokeMiterlimit: "10",
|
|
22445
|
+
...e
|
|
22446
|
+
}),
|
|
22447
|
+
/* @__PURE__ */ jsx("path", {
|
|
22448
|
+
d: "M12.6,4.96c.39.83,1.05,1.5,1.88,1.88-.83.39-1.5,1.05-1.88,1.88-.39-.83-1.05-1.5-1.88-1.88.83-.39,1.5-1.05,1.88-1.88Z",
|
|
22449
|
+
stroke: "currentColor",
|
|
22450
|
+
strokeWidth: "1.5",
|
|
22451
|
+
strokeMiterlimit: "10",
|
|
22452
|
+
...e
|
|
22453
|
+
}),
|
|
22454
|
+
/* @__PURE__ */ jsx("path", {
|
|
22455
|
+
d: "M7.87,3.34c.3.61.8,1.1,1.4,1.4-.61.3-1.1.8-1.4,1.4-.3-.61-.8-1.1-1.4-1.4.61-.3,1.1-.8,1.4-1.4Z",
|
|
22456
|
+
stroke: "currentColor",
|
|
22457
|
+
strokeWidth: "1.5",
|
|
22458
|
+
strokeMiterlimit: "10",
|
|
22412
22459
|
...e
|
|
22413
22460
|
})
|
|
22414
22461
|
]
|
|
@@ -22576,10 +22623,10 @@ function DarkIcon({ pathProps: e, ...t }) {
|
|
|
22576
22623
|
}
|
|
22577
22624
|
function EmptyBoxIcon({ pathProps: e, ...t }) {
|
|
22578
22625
|
return /* @__PURE__ */ jsx(Icon, {
|
|
22579
|
-
viewBox: "0 0
|
|
22626
|
+
viewBox: "0 0 20 20",
|
|
22580
22627
|
...t,
|
|
22581
22628
|
children: /* @__PURE__ */ jsx("path", {
|
|
22582
|
-
d: "
|
|
22629
|
+
d: "M15.7,2.66H4.29c-.9,0-1.61.73-1.61,1.63v11.41c0,.9.71,1.63,1.61,1.63h11.42c.9,0,1.63-.73,1.63-1.63V4.3c0-.9-.73-1.63-1.63-1.63M15.7,12.44h-3.26c0,1.35-1.1,2.45-2.44,2.45s-2.44-1.09-2.44-2.45h-3.27V4.3h11.42v8.15Z",
|
|
22583
22630
|
fill: "currentColor",
|
|
22584
22631
|
...e
|
|
22585
22632
|
})
|
|
@@ -22598,10 +22645,21 @@ function ExternalLinkIcon({ pathProps: e, ...t }) {
|
|
|
22598
22645
|
}
|
|
22599
22646
|
function HomeIcon({ pathProps: e, ...t }) {
|
|
22600
22647
|
return /* @__PURE__ */ jsx(Icon, {
|
|
22601
|
-
viewBox: "0 0
|
|
22648
|
+
viewBox: "0 0 20 20",
|
|
22602
22649
|
...t,
|
|
22603
22650
|
children: /* @__PURE__ */ jsx("path", {
|
|
22604
|
-
d: "
|
|
22651
|
+
d: "M4.79,16.03h2.91v-5.16h4.61v5.16h2.91v-7.82l-5.21-3.92-5.21,3.92v7.82ZM3.49,17.34V7.57l6.51-4.9,6.51,4.9v9.77h-5.51v-5.16h-2v5.16H3.49Z",
|
|
22652
|
+
fill: "currentColor",
|
|
22653
|
+
...e
|
|
22654
|
+
})
|
|
22655
|
+
});
|
|
22656
|
+
}
|
|
22657
|
+
function InboxIcon({ pathProps: e, ...t }) {
|
|
22658
|
+
return /* @__PURE__ */ jsx(Icon, {
|
|
22659
|
+
viewBox: "0 0 20 20",
|
|
22660
|
+
...t,
|
|
22661
|
+
children: /* @__PURE__ */ jsx("path", {
|
|
22662
|
+
d: "M15.7,2.66H4.29c-.9,0-1.61.73-1.61,1.63v11.41c0,.9.71,1.63,1.61,1.63h11.42c.9,0,1.63-.73,1.63-1.63V4.3c0-.9-.73-1.63-1.63-1.63M15.7,12.44h-3.26c0,1.35-1.1,2.45-2.44,2.45s-2.44-1.09-2.44-2.45h-3.27V4.3h11.42v8.15ZM13.26,8.37h-1.63v-2.44h-3.26v2.44h-1.63l3.26,3.26,3.26-3.26Z",
|
|
22605
22663
|
fill: "currentColor",
|
|
22606
22664
|
...e
|
|
22607
22665
|
})
|
|
@@ -22618,6 +22676,17 @@ function LightIcon({ pathProps: e, ...t }) {
|
|
|
22618
22676
|
})
|
|
22619
22677
|
});
|
|
22620
22678
|
}
|
|
22679
|
+
function MailIcon({ pathProps: e, ...t }) {
|
|
22680
|
+
return /* @__PURE__ */ jsx(Icon, {
|
|
22681
|
+
viewBox: "0 0 20 20",
|
|
22682
|
+
...t,
|
|
22683
|
+
children: /* @__PURE__ */ jsx("path", {
|
|
22684
|
+
d: "M4.13,15.87c-.4,0-.75-.14-1.04-.43s-.43-.63-.43-1.04V5.6c0-.4.14-.75.43-1.04s.63-.43,1.04-.43h11.74c.4,0,.75.14,1.04.43s.43.63.43,1.04v8.8c0,.4-.14.75-.43,1.04s-.63.43-1.04.43H4.13ZM10,10.73l-5.87-3.67v7.34h11.74v-7.34l-5.87,3.67ZM10,9.27l5.87-3.67H4.13l5.87,3.67ZM4.13,7.07v-1.47,8.8-7.34Z",
|
|
22685
|
+
fill: "currentColor",
|
|
22686
|
+
...e
|
|
22687
|
+
})
|
|
22688
|
+
});
|
|
22689
|
+
}
|
|
22621
22690
|
function MinusIcon({ pathProps: e, ...t }) {
|
|
22622
22691
|
return /* @__PURE__ */ jsx(Icon, {
|
|
22623
22692
|
viewBox: "0 0 16 16",
|
|
@@ -22786,10 +22855,142 @@ function DropdownMenu({ trigger: e, children: t, className: n, ...r }) {
|
|
|
22786
22855
|
})
|
|
22787
22856
|
});
|
|
22788
22857
|
}
|
|
22858
|
+
function HelpPanelEngine({ title: e, items: t, footer: n, closeLabel: r = "Close", defaultOpenValue: i, classNames: a }) {
|
|
22859
|
+
let o = useId(), { close: s } = useDropdown(), c = a ?? {}, l = i ?? t[0]?.value;
|
|
22860
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
22861
|
+
className: cn("rounded-md overflow-hidden bg-white", c.root),
|
|
22862
|
+
role: "dialog",
|
|
22863
|
+
"aria-modal": "true",
|
|
22864
|
+
"aria-labelledby": o,
|
|
22865
|
+
children: [
|
|
22866
|
+
/* @__PURE__ */ jsxs("header", {
|
|
22867
|
+
className: cn("gap-2 p-4 flex shrink-0 items-center justify-between", c.header),
|
|
22868
|
+
children: [/* @__PURE__ */ jsx("div", {
|
|
22869
|
+
id: o,
|
|
22870
|
+
className: c.title,
|
|
22871
|
+
children: e
|
|
22872
|
+
}), /* @__PURE__ */ jsx(Button, {
|
|
22873
|
+
type: "button",
|
|
22874
|
+
onClick: s,
|
|
22875
|
+
"aria-label": r,
|
|
22876
|
+
className: c.closeButton,
|
|
22877
|
+
children: /* @__PURE__ */ jsx(CloseIcon, {
|
|
22878
|
+
size: 18,
|
|
22879
|
+
"aria-hidden": !0
|
|
22880
|
+
})
|
|
22881
|
+
})]
|
|
22882
|
+
}),
|
|
22883
|
+
/* @__PURE__ */ jsx("div", {
|
|
22884
|
+
className: c.body,
|
|
22885
|
+
children: /* @__PURE__ */ jsx(Accordion, {
|
|
22886
|
+
type: "single",
|
|
22887
|
+
className: c.accordion,
|
|
22888
|
+
defaultValue: l,
|
|
22889
|
+
children: (e) => /* @__PURE__ */ jsx(Fragment$1, { children: t.map((t) => /* @__PURE__ */ jsxs(AccordionItem, {
|
|
22890
|
+
value: t.value,
|
|
22891
|
+
className: c.item,
|
|
22892
|
+
children: [/* @__PURE__ */ jsxs(AccordionTrigger, {
|
|
22893
|
+
value: t.value,
|
|
22894
|
+
className: cn("gap-2 p-3 flex w-full items-center justify-between", c.itemTrigger),
|
|
22895
|
+
children: [t.label, /* @__PURE__ */ jsx(ArrowIcon, {
|
|
22896
|
+
size: 20,
|
|
22897
|
+
direction: e.openItems.has(t.value) ? "up" : "down",
|
|
22898
|
+
className: "shrink-0 text-neutral-600"
|
|
22899
|
+
})]
|
|
22900
|
+
}), /* @__PURE__ */ jsx(AccordionContent, {
|
|
22901
|
+
value: t.value,
|
|
22902
|
+
className: cn("p-3", c.itemContent),
|
|
22903
|
+
children: t.content
|
|
22904
|
+
})]
|
|
22905
|
+
}, t.value)) })
|
|
22906
|
+
})
|
|
22907
|
+
}),
|
|
22908
|
+
n == null ? null : /* @__PURE__ */ jsx("div", {
|
|
22909
|
+
className: cn("p-3", c.footer),
|
|
22910
|
+
children: n
|
|
22911
|
+
})
|
|
22912
|
+
]
|
|
22913
|
+
});
|
|
22914
|
+
}
|
|
22915
|
+
const ONBOARDING_DISMISSED_STORAGE_KEY = "onboarding_dismissed";
|
|
22916
|
+
function readDismissedFromStorage(e) {
|
|
22917
|
+
if (typeof window > "u") return /* @__PURE__ */ new Set();
|
|
22918
|
+
try {
|
|
22919
|
+
let t = localStorage.getItem(e);
|
|
22920
|
+
if (t == null || t === "") return /* @__PURE__ */ new Set();
|
|
22921
|
+
let n = JSON.parse(t);
|
|
22922
|
+
return Array.isArray(n) ? new Set(n.filter((e) => typeof e == "string")) : /* @__PURE__ */ new Set();
|
|
22923
|
+
} catch {
|
|
22924
|
+
return /* @__PURE__ */ new Set();
|
|
22925
|
+
}
|
|
22926
|
+
}
|
|
22927
|
+
function findActiveStep(e, t, n) {
|
|
22928
|
+
for (let r = 0; r < e.length; r++) {
|
|
22929
|
+
let i = e[r];
|
|
22930
|
+
if (!t.has(i.id) && i.isVisible(n)) return {
|
|
22931
|
+
step: i,
|
|
22932
|
+
index: r
|
|
22933
|
+
};
|
|
22934
|
+
}
|
|
22935
|
+
return null;
|
|
22936
|
+
}
|
|
22937
|
+
function OnboardingEngine({ steps: e, context: t, storageKey: n, isEnabled: r = !0, children: i }) {
|
|
22938
|
+
let a = n ?? "onboarding_dismissed", [o, c] = useState(() => readDismissedFromStorage(a));
|
|
22939
|
+
useLayoutEffect(() => {
|
|
22940
|
+
c(readDismissedFromStorage(a));
|
|
22941
|
+
}, [a]), useEffect(() => {
|
|
22942
|
+
if (!(typeof window > "u")) try {
|
|
22943
|
+
localStorage.setItem(a, JSON.stringify([...o]));
|
|
22944
|
+
} catch {}
|
|
22945
|
+
}, [o, a]), useEffect(() => {
|
|
22946
|
+
let t = new Set(e.map((e) => e.id)), n = readDismissedFromStorage(a), r = /* @__PURE__ */ new Set();
|
|
22947
|
+
for (let e of n) t.has(e) && r.add(e);
|
|
22948
|
+
queueMicrotask(() => {
|
|
22949
|
+
c((e) => e.size === r.size && [...e].every((e) => r.has(e)) ? e : r);
|
|
22950
|
+
});
|
|
22951
|
+
}, [e, a]);
|
|
22952
|
+
let u = useMemo(() => r ? findActiveStep(e, o, t) : null, [
|
|
22953
|
+
r,
|
|
22954
|
+
e,
|
|
22955
|
+
o,
|
|
22956
|
+
t
|
|
22957
|
+
]), h = u?.step ?? null, g = u?.index ?? null, qo = useCallback((e) => {
|
|
22958
|
+
c((t) => {
|
|
22959
|
+
if (t.has(e)) return t;
|
|
22960
|
+
let n = new Set(t);
|
|
22961
|
+
return n.add(e), n;
|
|
22962
|
+
});
|
|
22963
|
+
}, []), Jo = useCallback(() => {
|
|
22964
|
+
c((n) => {
|
|
22965
|
+
let r = findActiveStep(e, n, t);
|
|
22966
|
+
if (r == null || n.has(r.step.id)) return n;
|
|
22967
|
+
let i = new Set(n);
|
|
22968
|
+
return i.add(r.step.id), i;
|
|
22969
|
+
});
|
|
22970
|
+
}, [e, t]), A = useCallback(() => {
|
|
22971
|
+
c(new Set(e.map((e) => e.id)));
|
|
22972
|
+
}, [e]);
|
|
22973
|
+
return /* @__PURE__ */ jsx(Fragment$1, { children: i({
|
|
22974
|
+
context: t,
|
|
22975
|
+
currentStep: h,
|
|
22976
|
+
currentStepIndex: g,
|
|
22977
|
+
dismissedStepIds: o,
|
|
22978
|
+
actions: useMemo(() => ({
|
|
22979
|
+
dismissCurrentStep: Jo,
|
|
22980
|
+
dismissStep: qo,
|
|
22981
|
+
skipAll: A,
|
|
22982
|
+
close: A
|
|
22983
|
+
}), [
|
|
22984
|
+
Jo,
|
|
22985
|
+
qo,
|
|
22986
|
+
A
|
|
22987
|
+
])
|
|
22988
|
+
}) });
|
|
22989
|
+
}
|
|
22789
22990
|
function RichContent({ content: e, className: t }) {
|
|
22790
22991
|
let n = normalizeContent(e);
|
|
22791
22992
|
return /* @__PURE__ */ jsx("div", {
|
|
22792
|
-
className: cn("normalized-content text-sm leading-[1.3]
|
|
22993
|
+
className: cn("normalized-content text-sm font-normal leading-[1.3] text-neutral-900", t),
|
|
22793
22994
|
dangerouslySetInnerHTML: { __html: n }
|
|
22794
22995
|
});
|
|
22795
22996
|
}
|
|
@@ -22869,7 +23070,7 @@ function isTopPosition(e) {
|
|
|
22869
23070
|
function isRenderFn(e) {
|
|
22870
23071
|
return typeof e == "function";
|
|
22871
23072
|
}
|
|
22872
|
-
var subscribeNoop = () => () => {}, getClientSnapshot = () => !0, getServerSnapshot = () => !1;
|
|
23073
|
+
var subscribeNoop$1 = () => () => {}, getClientSnapshot$1 = () => !0, getServerSnapshot$1 = () => !1;
|
|
22873
23074
|
function groupByPosition(e) {
|
|
22874
23075
|
return e.reduce((e, t) => ((e[t.position] ??= []).push(t), e), {});
|
|
22875
23076
|
}
|
|
@@ -22940,7 +23141,7 @@ function useToastTimers(e, t) {
|
|
|
22940
23141
|
}), n;
|
|
22941
23142
|
});
|
|
22942
23143
|
}, COUNTDOWN_INTERVAL_MS);
|
|
22943
|
-
}, []),
|
|
23144
|
+
}, []), p = useCallback(() => {
|
|
22944
23145
|
if (o.current) return;
|
|
22945
23146
|
o.current = !0;
|
|
22946
23147
|
let e = Date.now();
|
|
@@ -22954,7 +23155,7 @@ function useToastTimers(e, t) {
|
|
|
22954
23155
|
isPaused: !0
|
|
22955
23156
|
});
|
|
22956
23157
|
}), a.current &&= (clearInterval(a.current), null);
|
|
22957
|
-
}, []),
|
|
23158
|
+
}, []), g = useCallback(() => {
|
|
22958
23159
|
o.current && (o.current = !1, i.current.forEach((t, n) => {
|
|
22959
23160
|
if (t.isPaused && t.remainingTime > 0) {
|
|
22960
23161
|
let r = e.find((e) => e.id === n);
|
|
@@ -22965,7 +23166,7 @@ function useToastTimers(e, t) {
|
|
|
22965
23166
|
e,
|
|
22966
23167
|
u,
|
|
22967
23168
|
f
|
|
22968
|
-
]),
|
|
23169
|
+
]), O = useCallback((e) => {
|
|
22969
23170
|
i.current.delete(e), r((t) => {
|
|
22970
23171
|
let n = new Map(t);
|
|
22971
23172
|
return n.delete(e), n;
|
|
@@ -22985,23 +23186,23 @@ function useToastTimers(e, t) {
|
|
|
22985
23186
|
a.current && clearInterval(a.current);
|
|
22986
23187
|
}, []), {
|
|
22987
23188
|
remainingTimes: n,
|
|
22988
|
-
pauseAll:
|
|
22989
|
-
resumeAll:
|
|
22990
|
-
cleanupTimer:
|
|
23189
|
+
pauseAll: p,
|
|
23190
|
+
resumeAll: g,
|
|
23191
|
+
cleanupTimer: O
|
|
22991
23192
|
};
|
|
22992
23193
|
}
|
|
22993
23194
|
function Toaster() {
|
|
22994
|
-
let [e, t] = useState([]), [n, r] = useState([]), i = useRef(/* @__PURE__ */ new Set()), a = useRef(/* @__PURE__ */ new Map()), o = useRef([]), { remainingTimes: c, pauseAll: u, resumeAll: f, cleanupTimer:
|
|
23195
|
+
let [e, t] = useState([]), [n, r] = useState([]), i = useRef(/* @__PURE__ */ new Set()), a = useRef(/* @__PURE__ */ new Map()), o = useRef([]), { remainingTimes: c, pauseAll: u, resumeAll: f, cleanupTimer: p } = useToastTimers(e, a);
|
|
22995
23196
|
useEffect(() => toastStore.subscribe(t), []);
|
|
22996
|
-
let
|
|
23197
|
+
let A = useSyncExternalStore(subscribeNoop$1, getClientSnapshot$1, getServerSnapshot$1), R = useCallback((e) => {
|
|
22997
23198
|
e.callbacks?.onOpen?.();
|
|
22998
|
-
}, []),
|
|
23199
|
+
}, []), Yo = useCallback((e, t) => {
|
|
22999
23200
|
t === "manual" ? e.callbacks?.onClose?.() : (t === "timeout" || t === "replaced") && e.callbacks?.onAutoClose?.(), e.callbacks?.onDismiss?.(t);
|
|
23000
23201
|
}, []);
|
|
23001
23202
|
useEffect(() => {
|
|
23002
23203
|
let t = new Set(e.map((e) => e.id)), n = new Map(e.map((e) => [e.id, e])), s = i.current;
|
|
23003
23204
|
o.current.filter((e) => !t.has(e.id) && e.animationState !== "exiting").forEach((e) => {
|
|
23004
|
-
|
|
23205
|
+
Yo(e, a.current.get(e.id) ?? toastStore.consumePendingDismissReason(e.id) ?? "timeout"), a.current.delete(e.id);
|
|
23005
23206
|
}), r((r) => {
|
|
23006
23207
|
let i = r.map((e) => {
|
|
23007
23208
|
let t = n.get(e.id);
|
|
@@ -23010,7 +23211,7 @@ function Toaster() {
|
|
|
23010
23211
|
content: t.content,
|
|
23011
23212
|
duration: t.duration
|
|
23012
23213
|
} : e;
|
|
23013
|
-
}).map((e) => markAsExiting(e, !t.has(e.id))).map(updateAnimationState), a = [...e.filter((e) => !s.has(e.id)).map((e) => (
|
|
23214
|
+
}).map((e) => markAsExiting(e, !t.has(e.id))).map(updateAnimationState), a = [...e.filter((e) => !s.has(e.id)).map((e) => (R(e), {
|
|
23014
23215
|
...e,
|
|
23015
23216
|
animationState: "entering"
|
|
23016
23217
|
})), ...i];
|
|
@@ -23018,20 +23219,20 @@ function Toaster() {
|
|
|
23018
23219
|
}), i.current = t;
|
|
23019
23220
|
}, [
|
|
23020
23221
|
e,
|
|
23021
|
-
|
|
23022
|
-
|
|
23222
|
+
R,
|
|
23223
|
+
Yo
|
|
23023
23224
|
]);
|
|
23024
|
-
let
|
|
23225
|
+
let Xo = useCallback((e) => {
|
|
23025
23226
|
r((t) => {
|
|
23026
23227
|
let n = t.filter((t) => t.id !== e);
|
|
23027
23228
|
return o.current = n, n;
|
|
23028
|
-
}),
|
|
23029
|
-
}, [
|
|
23229
|
+
}), p(e), toastStore.cleanup(e);
|
|
23230
|
+
}, [p]), Zo = useCallback((e) => {
|
|
23030
23231
|
a.current.set(e, "manual"), toastStore.remove(e);
|
|
23031
23232
|
}, []);
|
|
23032
|
-
if (!
|
|
23033
|
-
let
|
|
23034
|
-
return createPortal(/* @__PURE__ */ jsx(Fragment$1, { children: Object.entries(
|
|
23233
|
+
if (!A) return null;
|
|
23234
|
+
let Qo = groupByPosition(n);
|
|
23235
|
+
return createPortal(/* @__PURE__ */ jsx(Fragment$1, { children: Object.entries(Qo).map(([e, t]) => {
|
|
23035
23236
|
let n = t.filter((e) => e.singleSlot), r = t.filter((e) => !e.singleSlot), i = n.length > 0 ? /* @__PURE__ */ jsx("div", {
|
|
23036
23237
|
className: cn("isolate inline-grid max-w-[min(100vw,100%)] grid-cols-1 grid-rows-1", SINGLE_SLOT_PLACE[e]),
|
|
23037
23238
|
children: n.map((e, t) => /* @__PURE__ */ jsx("div", {
|
|
@@ -23040,8 +23241,8 @@ function Toaster() {
|
|
|
23040
23241
|
children: /* @__PURE__ */ jsx(ToastWrapper, {
|
|
23041
23242
|
toast: e,
|
|
23042
23243
|
remainingTime: c.get(e.id) ?? e.duration,
|
|
23043
|
-
onExitComplete:
|
|
23044
|
-
onClose:
|
|
23244
|
+
onExitComplete: Xo,
|
|
23245
|
+
onClose: Zo,
|
|
23045
23246
|
onHoverStart: u,
|
|
23046
23247
|
onHoverEnd: f
|
|
23047
23248
|
})
|
|
@@ -23049,13 +23250,13 @@ function Toaster() {
|
|
|
23049
23250
|
}) : null, a = r.map((e) => /* @__PURE__ */ jsx(ToastWrapper, {
|
|
23050
23251
|
toast: e,
|
|
23051
23252
|
remainingTime: c.get(e.id) ?? e.duration,
|
|
23052
|
-
onExitComplete:
|
|
23053
|
-
onClose:
|
|
23253
|
+
onExitComplete: Xo,
|
|
23254
|
+
onClose: Zo,
|
|
23054
23255
|
onHoverStart: u,
|
|
23055
23256
|
onHoverEnd: f
|
|
23056
23257
|
}, e.id));
|
|
23057
23258
|
return /* @__PURE__ */ jsx("div", {
|
|
23058
|
-
className: cn("pointer-events-none fixed z-1000 flex flex-col items-end
|
|
23259
|
+
className: cn("gap-2 p-4 pointer-events-none fixed z-1000 flex flex-col items-end", POSITION_CLASSES[e]),
|
|
23059
23260
|
children: isTopPosition(e) ? /* @__PURE__ */ jsxs(Fragment$1, { children: [i, a] }) : /* @__PURE__ */ jsxs(Fragment$1, { children: [a, i] })
|
|
23060
23261
|
}, e);
|
|
23061
23262
|
}) }), document.body);
|
|
@@ -23143,7 +23344,7 @@ const AVATAR_COLOR = {
|
|
|
23143
23344
|
}
|
|
23144
23345
|
}, AVATAR_COLOR_KEYS = Object.keys(AVATAR_COLOR);
|
|
23145
23346
|
var avatarStyles = tv({
|
|
23146
|
-
base: "flex shrink-0 items-center justify-center rounded-full leading-none
|
|
23347
|
+
base: "font-semibold flex shrink-0 items-center justify-center rounded-full leading-none select-none",
|
|
23147
23348
|
variants: { size: {
|
|
23148
23349
|
xs: "h-[16px] w-[16px] text-[0.5em]",
|
|
23149
23350
|
sm: "h-[20px] w-[20px] text-[0.625em]",
|
|
@@ -23167,8 +23368,8 @@ function Avatar({ name: e, size: t = "sm", className: n }) {
|
|
|
23167
23368
|
}
|
|
23168
23369
|
var statusBadgeStyles = tv({
|
|
23169
23370
|
slots: {
|
|
23170
|
-
root: "relative flex items-center
|
|
23171
|
-
text: "
|
|
23371
|
+
root: "gap-1 relative flex items-center rounded-full border",
|
|
23372
|
+
text: "text-xs font-semibold truncate whitespace-nowrap"
|
|
23172
23373
|
},
|
|
23173
23374
|
variants: { status: {
|
|
23174
23375
|
fire: {
|
|
@@ -23205,21 +23406,21 @@ var statusBadgeStyles = tv({
|
|
|
23205
23406
|
}
|
|
23206
23407
|
};
|
|
23207
23408
|
function StatusBadge({ className: e, label: t, status: n, onAction: r, density: i = "normal" }) {
|
|
23208
|
-
let [a, o] = useState(!1), s = i === "compact", c = STATUS_CONFIG[n], l = s ? c.compact : c.normal, u = statusBadgeStyles({ status: n }), f = l.includes("icon"), p = l.includes("label"),
|
|
23409
|
+
let [a, o] = useState(!1), s = i === "compact", c = STATUS_CONFIG[n], l = s ? c.compact : c.normal, u = statusBadgeStyles({ status: n }), f = l.includes("icon"), p = l.includes("label"), h = l.includes("action") && r;
|
|
23209
23410
|
return /* @__PURE__ */ jsx(Badge, {
|
|
23210
23411
|
className: cn(u.root(), s ? "h-6 w-6" : "py-1 pr-2.5 pl-2", e),
|
|
23211
23412
|
icon: f ? /* @__PURE__ */ jsx(c.icon, {
|
|
23212
23413
|
size: 16,
|
|
23213
|
-
className: cn(u.text(), s &&
|
|
23414
|
+
className: cn(u.text(), s && h && "inset-0 absolute m-auto", s && h && a && "opacity-0")
|
|
23214
23415
|
}) : void 0,
|
|
23215
23416
|
label: p ? /* @__PURE__ */ jsx("span", {
|
|
23216
|
-
className: cn(u.text(), s && "
|
|
23417
|
+
className: cn(u.text(), s && "inset-0 absolute flex items-center justify-center text-center text-[10px]"),
|
|
23217
23418
|
children: t ?? c.label
|
|
23218
23419
|
}) : void 0,
|
|
23219
|
-
action:
|
|
23420
|
+
action: h ? /* @__PURE__ */ jsx(Button, {
|
|
23220
23421
|
onClick: r,
|
|
23221
23422
|
"aria-label": "Dismiss status",
|
|
23222
|
-
className: cn("group", s ? cn("
|
|
23423
|
+
className: cn("group", s ? cn("inset-0 absolute m-auto transition-opacity", a ? "opacity-100" : "opacity-0") : void 0),
|
|
23223
23424
|
children: /* @__PURE__ */ jsx(CloseIcon, {
|
|
23224
23425
|
size: 16,
|
|
23225
23426
|
className: cn(u.text(), "group-hover:scale-90")
|
|
@@ -23231,15 +23432,15 @@ function StatusBadge({ className: e, label: t, status: n, onAction: r, density:
|
|
|
23231
23432
|
}
|
|
23232
23433
|
function BulkActionsSkeleton({ className: e }) {
|
|
23233
23434
|
return /* @__PURE__ */ jsxs("div", {
|
|
23234
|
-
className: cn("grid grid-cols-[minmax(0,1fr)_auto_auto] items-center
|
|
23435
|
+
className: cn("gap-4 grid grid-cols-[minmax(0,1fr)_auto_auto] items-center", e),
|
|
23235
23436
|
children: [
|
|
23236
23437
|
/* @__PURE__ */ jsxs("div", {
|
|
23237
|
-
className: "flex items-center
|
|
23438
|
+
className: "gap-2 flex items-center",
|
|
23238
23439
|
children: [/* @__PURE__ */ jsx(Skeleton, { className: "h-5 w-5 rounded" }), /* @__PURE__ */ jsx(Skeleton, { className: "h-4 w-30" })]
|
|
23239
23440
|
}),
|
|
23240
23441
|
/* @__PURE__ */ jsx("div", { className: "flex items-center divide-x divide-neutral-400-variant-1" }),
|
|
23241
23442
|
/* @__PURE__ */ jsxs("div", {
|
|
23242
|
-
className: "flex items-center
|
|
23443
|
+
className: "gap-2 flex items-center",
|
|
23243
23444
|
children: [/* @__PURE__ */ jsx(Skeleton, { className: "m-1 h-5 w-5 rounded" }), /* @__PURE__ */ jsx(Skeleton, { className: "m-1 h-5 w-5 rounded" })]
|
|
23244
23445
|
})
|
|
23245
23446
|
]
|
|
@@ -23258,17 +23459,17 @@ function IconButton({ icon: e, ...t }) {
|
|
|
23258
23459
|
function InfoTooltip({ className: e, ...t }) {
|
|
23259
23460
|
return /* @__PURE__ */ jsx(Tooltip, {
|
|
23260
23461
|
...t,
|
|
23261
|
-
className: cn("rounded
|
|
23462
|
+
className: cn("rounded px-2 py-1 font-medium bg-neutral-700 text-[0.625em] whitespace-nowrap text-white", e)
|
|
23262
23463
|
});
|
|
23263
23464
|
}
|
|
23264
23465
|
function BulkActions({ totalItems: e = 0, selectedItems: t = 0, onSelectAll: n, actions: r, defaultDensity: i = "normal", onDensityChange: a, className: o }) {
|
|
23265
|
-
let s = e > 0, c = s && t === e, l = s && t > 0 && t < e, u = c ? `All (${e})` : l ? `${t}/${e} selected` : `Select all (${e})`, [f, p] = useState(i ?? "normal"),
|
|
23466
|
+
let s = e > 0, c = s && t === e, l = s && t > 0 && t < e, u = c ? `All (${e})` : l ? `${t}/${e} selected` : `Select all (${e})`, [f, p] = useState(i ?? "normal"), h = () => {
|
|
23266
23467
|
n(!c);
|
|
23267
23468
|
};
|
|
23268
|
-
function
|
|
23469
|
+
function g(e) {
|
|
23269
23470
|
p(e), a?.(e);
|
|
23270
23471
|
}
|
|
23271
|
-
let
|
|
23472
|
+
let Jo = {
|
|
23272
23473
|
fire: [{
|
|
23273
23474
|
id: "fire",
|
|
23274
23475
|
tooltip: "Mark as fire",
|
|
@@ -23320,7 +23521,7 @@ function BulkActions({ totalItems: e = 0, selectedItems: t = 0, onSelectAll: n,
|
|
|
23320
23521
|
}),
|
|
23321
23522
|
onClick: r.read.off
|
|
23322
23523
|
}]
|
|
23323
|
-
},
|
|
23524
|
+
}, A = [{
|
|
23324
23525
|
value: "normal",
|
|
23325
23526
|
tooltip: "Normal density",
|
|
23326
23527
|
icon: /* @__PURE__ */ jsx(NormalDensityIcon, { size: 20 })
|
|
@@ -23330,12 +23531,12 @@ function BulkActions({ totalItems: e = 0, selectedItems: t = 0, onSelectAll: n,
|
|
|
23330
23531
|
icon: /* @__PURE__ */ jsx(CompactDensityIcon, { size: 20 })
|
|
23331
23532
|
}];
|
|
23332
23533
|
return /* @__PURE__ */ jsxs("div", {
|
|
23333
|
-
className: cn("grid grid-cols-[minmax(0,1fr)_auto_auto] items-center
|
|
23534
|
+
className: cn("gap-4 grid grid-cols-[minmax(0,1fr)_auto_auto] items-center", o),
|
|
23334
23535
|
children: [
|
|
23335
23536
|
/* @__PURE__ */ jsx(Checkbox, {
|
|
23336
23537
|
checked: c,
|
|
23337
23538
|
indeterminate: l,
|
|
23338
|
-
onChange:
|
|
23539
|
+
onChange: h,
|
|
23339
23540
|
icon: /* @__PURE__ */ jsx(CheckboxIcon, {
|
|
23340
23541
|
size: 16,
|
|
23341
23542
|
className: "text-white-variant-7"
|
|
@@ -23349,8 +23550,8 @@ function BulkActions({ totalItems: e = 0, selectedItems: t = 0, onSelectAll: n,
|
|
|
23349
23550
|
}),
|
|
23350
23551
|
/* @__PURE__ */ jsx("div", {
|
|
23351
23552
|
className: "flex items-center divide-x divide-neutral-400-variant-1",
|
|
23352
|
-
children: t > 0 && /* @__PURE__ */ jsx(Fragment$1, { children: Object.entries(
|
|
23353
|
-
className: "
|
|
23553
|
+
children: t > 0 && /* @__PURE__ */ jsx(Fragment$1, { children: Object.entries(Jo).map(([e, t]) => /* @__PURE__ */ jsx("div", {
|
|
23554
|
+
className: "gap-2 px-1 flex items-center",
|
|
23354
23555
|
children: t.map((e) => /* @__PURE__ */ jsx(InfoTooltip, {
|
|
23355
23556
|
content: e.tooltip,
|
|
23356
23557
|
className: "border-black",
|
|
@@ -23363,14 +23564,14 @@ function BulkActions({ totalItems: e = 0, selectedItems: t = 0, onSelectAll: n,
|
|
|
23363
23564
|
}, e)) })
|
|
23364
23565
|
}),
|
|
23365
23566
|
/* @__PURE__ */ jsx("div", {
|
|
23366
|
-
className: "flex items-center
|
|
23367
|
-
children:
|
|
23567
|
+
className: "gap-2 flex items-center",
|
|
23568
|
+
children: A.map(({ value: e, tooltip: t, icon: n }) => {
|
|
23368
23569
|
let r = f === e;
|
|
23369
23570
|
return /* @__PURE__ */ jsx(InfoTooltip, {
|
|
23370
23571
|
content: t,
|
|
23371
23572
|
children: /* @__PURE__ */ jsx(IconButton, {
|
|
23372
23573
|
className: cn("h-7 w-7 p-0 text-neutral-900", r && "bg-white-variant-4"),
|
|
23373
|
-
onClick: () =>
|
|
23574
|
+
onClick: () => g(e),
|
|
23374
23575
|
icon: n,
|
|
23375
23576
|
"aria-pressed": r
|
|
23376
23577
|
})
|
|
@@ -23382,8 +23583,8 @@ function BulkActions({ totalItems: e = 0, selectedItems: t = 0, onSelectAll: n,
|
|
|
23382
23583
|
}
|
|
23383
23584
|
var filterButtonStyles = tv({
|
|
23384
23585
|
slots: {
|
|
23385
|
-
root: "inline-flex w-fit items-center
|
|
23386
|
-
label: "flex shrink-0 items-center
|
|
23586
|
+
root: "gap-1 px-2 py-1 inline-flex w-fit items-center rounded-full border-[1.5px] transition-colors",
|
|
23587
|
+
label: "gap-1 text-xs flex shrink-0 items-center whitespace-nowrap"
|
|
23387
23588
|
},
|
|
23388
23589
|
variants: {
|
|
23389
23590
|
variant: {
|
|
@@ -23449,6 +23650,7 @@ var filterButtonStyles = tv({
|
|
|
23449
23650
|
},
|
|
23450
23651
|
insight: {
|
|
23451
23652
|
icon: InsightIcon,
|
|
23653
|
+
selectedIcon: InsightFillIcon,
|
|
23452
23654
|
label: "Insights",
|
|
23453
23655
|
iconColor: "text-primary-600"
|
|
23454
23656
|
},
|
|
@@ -23497,9 +23699,9 @@ function FilterButton({ variant: e = "custom", label: t, count: n, selected: r =
|
|
|
23497
23699
|
function IconCountButtonSkeleton({ orientation: e = "vertical", className: t }) {
|
|
23498
23700
|
let n = e === "vertical";
|
|
23499
23701
|
return /* @__PURE__ */ jsxs("div", {
|
|
23500
|
-
className: cn("flex w-fit items-center", n ? "flex-col
|
|
23702
|
+
className: cn("flex w-fit items-center", n ? "gap-1 flex-col" : "gap-2 flex-row", t),
|
|
23501
23703
|
children: [/* @__PURE__ */ jsx(Skeleton, { className: "size-8 rounded-full" }), /* @__PURE__ */ jsx("div", {
|
|
23502
|
-
className: cn("flex items-center
|
|
23704
|
+
className: cn("gap-1 flex items-center", n && "text-[9px]"),
|
|
23503
23705
|
children: /* @__PURE__ */ jsx(Skeleton, { className: cn("h-3", n ? "w-10" : "w-14") })
|
|
23504
23706
|
})]
|
|
23505
23707
|
});
|
|
@@ -23507,8 +23709,8 @@ function IconCountButtonSkeleton({ orientation: e = "vertical", className: t })
|
|
|
23507
23709
|
var iconCountButtonStyles = tv({
|
|
23508
23710
|
slots: {
|
|
23509
23711
|
root: "flex w-fit items-center",
|
|
23510
|
-
bubble: "
|
|
23511
|
-
label: "flex items-center
|
|
23712
|
+
bubble: "size-8 flex items-center justify-center rounded-full border-[1.5px] transition-opacity hover:opacity-70",
|
|
23713
|
+
label: "gap-1 flex items-center transition-colors",
|
|
23512
23714
|
count: "font-normal",
|
|
23513
23715
|
icon: ""
|
|
23514
23716
|
},
|
|
@@ -23527,11 +23729,11 @@ var iconCountButtonStyles = tv({
|
|
|
23527
23729
|
},
|
|
23528
23730
|
orientation: {
|
|
23529
23731
|
vertical: {
|
|
23530
|
-
root: "flex-col
|
|
23531
|
-
label: "text-[9px]
|
|
23732
|
+
root: "gap-1 flex-col",
|
|
23733
|
+
label: "font-semibold text-[9px]"
|
|
23532
23734
|
},
|
|
23533
23735
|
horizontal: {
|
|
23534
|
-
root: "flex-row
|
|
23736
|
+
root: "gap-2 flex-row",
|
|
23535
23737
|
label: "text-xs font-semibold"
|
|
23536
23738
|
}
|
|
23537
23739
|
}
|
|
@@ -23605,12 +23807,12 @@ function ToggleControlPortal({ isPressed: e, isPortalHovered: t, portalPosition:
|
|
|
23605
23807
|
tabIndex: 0,
|
|
23606
23808
|
"aria-pressed": e,
|
|
23607
23809
|
"aria-label": c,
|
|
23608
|
-
className: "
|
|
23810
|
+
className: "size-5 flex cursor-pointer items-center justify-center rounded-full bg-white",
|
|
23609
23811
|
onMouseEnter: r,
|
|
23610
23812
|
onMouseLeave: i,
|
|
23611
23813
|
onClick: a,
|
|
23612
23814
|
children: /* @__PURE__ */ jsxs("div", {
|
|
23613
|
-
className: cn("
|
|
23815
|
+
className: cn("size-4 flex items-center justify-center rounded-full border", e ? "border-tertiary-500" : "border-neutral-800"),
|
|
23614
23816
|
children: [o && /* @__PURE__ */ jsx("div", { className: "size-2 rounded-full bg-neutral-800" }), e && /* @__PURE__ */ jsx(CloseIcon, {
|
|
23615
23817
|
size: 12,
|
|
23616
23818
|
className: "text-tertiary-500"
|
|
@@ -23620,20 +23822,20 @@ function ToggleControlPortal({ isPressed: e, isPortalHovered: t, portalPosition:
|
|
|
23620
23822
|
})
|
|
23621
23823
|
}), document.body);
|
|
23622
23824
|
}
|
|
23623
|
-
function IconCountButton({ icon: e, label: t, count: n, variant: r = "primary", orientation: i = "vertical", status: a = "active", alwaysShowCount: o = !1, showToggleControl: s = !1, pressed: c, defaultPressed: l = !1, onPressedChange:
|
|
23624
|
-
let
|
|
23825
|
+
function IconCountButton({ icon: e, label: t, count: n, variant: r = "primary", orientation: i = "vertical", status: a = "active", alwaysShowCount: o = !1, showToggleControl: s = !1, pressed: c, defaultPressed: l = !1, onPressedChange: u, classNames: p, ...g }) {
|
|
23826
|
+
let O = iconCountButtonStyles({
|
|
23625
23827
|
variant: r,
|
|
23626
23828
|
orientation: i,
|
|
23627
23829
|
status: a
|
|
23628
|
-
}),
|
|
23629
|
-
function
|
|
23630
|
-
c === void 0 &&
|
|
23830
|
+
}), Jo = useRef(null), [A, R] = useState(!1), [Yo, Xo] = useState(!1), [Zo, Qo] = useState(l), [$o, B] = useState(null), es = c ?? Zo, ts = s && (A || Yo || es), ns = typeof n == "number" && n > 0 && (o || a === "active");
|
|
23831
|
+
function rs(e) {
|
|
23832
|
+
c === void 0 && Qo(e), u?.(e);
|
|
23631
23833
|
}
|
|
23632
23834
|
return useLayoutEffect(() => {
|
|
23633
|
-
if (!
|
|
23835
|
+
if (!ts || !Jo.current) return;
|
|
23634
23836
|
function e() {
|
|
23635
|
-
let e =
|
|
23636
|
-
e &&
|
|
23837
|
+
let e = Jo.current?.getBoundingClientRect();
|
|
23838
|
+
e && B({
|
|
23637
23839
|
top: e.top - 8,
|
|
23638
23840
|
left: e.right - 12
|
|
23639
23841
|
});
|
|
@@ -23641,30 +23843,30 @@ function IconCountButton({ icon: e, label: t, count: n, variant: r = "primary",
|
|
|
23641
23843
|
return e(), window.addEventListener("resize", e), window.addEventListener("scroll", e, !0), () => {
|
|
23642
23844
|
window.removeEventListener("resize", e), window.removeEventListener("scroll", e, !0);
|
|
23643
23845
|
};
|
|
23644
|
-
}, [
|
|
23645
|
-
...
|
|
23646
|
-
className: cn(
|
|
23647
|
-
onMouseEnter: () =>
|
|
23648
|
-
onMouseLeave: () =>
|
|
23846
|
+
}, [ts]), /* @__PURE__ */ jsxs(Button, {
|
|
23847
|
+
...g,
|
|
23848
|
+
className: cn(O.root(), p?.root),
|
|
23849
|
+
onMouseEnter: () => R(!0),
|
|
23850
|
+
onMouseLeave: () => R(!1),
|
|
23649
23851
|
children: [/* @__PURE__ */ jsxs("div", {
|
|
23650
23852
|
className: "relative",
|
|
23651
23853
|
children: [/* @__PURE__ */ jsx("div", {
|
|
23652
|
-
ref:
|
|
23653
|
-
className: cn(
|
|
23654
|
-
children: renderIcon(e,
|
|
23655
|
-
}),
|
|
23656
|
-
isPressed:
|
|
23657
|
-
isPortalHovered:
|
|
23658
|
-
portalPosition:
|
|
23659
|
-
onMouseEnter: () =>
|
|
23660
|
-
onMouseLeave: () =>
|
|
23661
|
-
onToggle: () =>
|
|
23854
|
+
ref: Jo,
|
|
23855
|
+
className: cn(O.bubble(), p?.bubble),
|
|
23856
|
+
children: renderIcon(e, O.icon())
|
|
23857
|
+
}), ts && $o && typeof document < "u" && ToggleControlPortal({
|
|
23858
|
+
isPressed: es,
|
|
23859
|
+
isPortalHovered: Yo,
|
|
23860
|
+
portalPosition: $o,
|
|
23861
|
+
onMouseEnter: () => Xo(!0),
|
|
23862
|
+
onMouseLeave: () => Xo(!1),
|
|
23863
|
+
onToggle: () => rs(!es)
|
|
23662
23864
|
})]
|
|
23663
23865
|
}), /* @__PURE__ */ jsxs("div", {
|
|
23664
|
-
className: cn(
|
|
23665
|
-
children: [/* @__PURE__ */ jsx("span", { children: t }),
|
|
23866
|
+
className: cn(O.label(), p?.label),
|
|
23867
|
+
children: [/* @__PURE__ */ jsx("span", { children: t }), ns && /* @__PURE__ */ jsxs("span", {
|
|
23666
23868
|
"aria-label": `${n} items`,
|
|
23667
|
-
className: cn(
|
|
23869
|
+
className: cn(O.count(), p?.count),
|
|
23668
23870
|
children: [
|
|
23669
23871
|
"(",
|
|
23670
23872
|
formatCount(n),
|
|
@@ -23676,7 +23878,7 @@ function IconCountButton({ icon: e, label: t, count: n, variant: r = "primary",
|
|
|
23676
23878
|
}
|
|
23677
23879
|
function ActionMenuItem({ icon: e, label: t, className: n, selected: r, ...a }) {
|
|
23678
23880
|
return /* @__PURE__ */ jsxs(Button, {
|
|
23679
|
-
className: cn("flex items-center justify-start
|
|
23881
|
+
className: cn("gap-2 px-3 py-2 flex items-center justify-start bg-white hover:bg-neutral-100", r && "bg-primary-500 text-white hover:bg-primary-bright", n),
|
|
23680
23882
|
...a,
|
|
23681
23883
|
children: [e && cloneElement(e, {
|
|
23682
23884
|
size: e.props.size ?? 16,
|
|
@@ -23690,13 +23892,13 @@ function ActionMenuItem({ icon: e, label: t, className: n, selected: r, ...a })
|
|
|
23690
23892
|
function ActionMenu({ trigger: e, children: t, className: n, ...r }) {
|
|
23691
23893
|
return /* @__PURE__ */ jsx(DropdownMenu, {
|
|
23692
23894
|
trigger: e,
|
|
23693
|
-
className: cn("mt-1 min-w-20 overflow-hidden
|
|
23895
|
+
className: cn("mt-1 min-w-20 rounded p-0 shadow-lg overflow-hidden border border-neutral-400 bg-white", n),
|
|
23694
23896
|
...r,
|
|
23695
23897
|
children: t
|
|
23696
23898
|
});
|
|
23697
23899
|
}
|
|
23698
23900
|
function CalendarPanel({ mode: e, selectedDate: t, selectedRange: n, onDateSelect: r, onRangeSelect: i }) {
|
|
23699
|
-
let { close: a } = useDropdown(), o = useMemo(() => /* @__PURE__ */ new Date(), []), [s, c] = useState(null), u = useRef(t),
|
|
23901
|
+
let { close: a } = useDropdown(), o = useMemo(() => /* @__PURE__ */ new Date(), []), [s, c] = useState(null), u = useRef(t), f = useRef(n), [g, O] = useState(() => {
|
|
23700
23902
|
let r = e === "single" ? t ?? o : n.startDate ?? n.endDate ?? o;
|
|
23701
23903
|
return {
|
|
23702
23904
|
year: r.getFullYear(),
|
|
@@ -23704,28 +23906,28 @@ function CalendarPanel({ mode: e, selectedDate: t, selectedRange: n, onDateSelec
|
|
|
23704
23906
|
};
|
|
23705
23907
|
});
|
|
23706
23908
|
useEffect(() => {
|
|
23707
|
-
(e === "single" && t && (!u.current || t.getTime() !== u.current.getTime()) || e === "range" && (n.startDate?.getTime() !==
|
|
23708
|
-
if (e === "single" && t)
|
|
23909
|
+
(e === "single" && t && (!u.current || t.getTime() !== u.current.getTime()) || e === "range" && (n.startDate?.getTime() !== f.current.startDate?.getTime() || n.endDate?.getTime() !== f.current.endDate?.getTime())) && queueMicrotask(() => {
|
|
23910
|
+
if (e === "single" && t) O({
|
|
23709
23911
|
year: t.getFullYear(),
|
|
23710
23912
|
month: t.getMonth()
|
|
23711
23913
|
});
|
|
23712
23914
|
else if (e === "range") {
|
|
23713
23915
|
let e = n.startDate ?? n.endDate;
|
|
23714
|
-
e &&
|
|
23916
|
+
e && O({
|
|
23715
23917
|
year: e.getFullYear(),
|
|
23716
23918
|
month: e.getMonth()
|
|
23717
23919
|
});
|
|
23718
23920
|
}
|
|
23719
|
-
}), u.current = t,
|
|
23921
|
+
}), u.current = t, f.current = n;
|
|
23720
23922
|
}, [
|
|
23721
23923
|
e,
|
|
23722
23924
|
t,
|
|
23723
23925
|
n
|
|
23724
23926
|
]);
|
|
23725
|
-
let
|
|
23726
|
-
function
|
|
23927
|
+
let Jo = useMemo(() => generateCalendarDays(g.year, g.month), [g.year, g.month]);
|
|
23928
|
+
function A(t) {
|
|
23727
23929
|
let o = t.getMonth(), s = t.getFullYear();
|
|
23728
|
-
if ((o !==
|
|
23930
|
+
if ((o !== g.month || s !== g.year) && O({
|
|
23729
23931
|
year: s,
|
|
23730
23932
|
month: o
|
|
23731
23933
|
}), e === "single") r(t), a();
|
|
@@ -23740,8 +23942,8 @@ function CalendarPanel({ mode: e, selectedDate: t, selectedRange: n, onDateSelec
|
|
|
23740
23942
|
}), a());
|
|
23741
23943
|
}
|
|
23742
23944
|
}
|
|
23743
|
-
function
|
|
23744
|
-
|
|
23945
|
+
function R() {
|
|
23946
|
+
O((e) => e.month === 0 ? {
|
|
23745
23947
|
year: e.year - 1,
|
|
23746
23948
|
month: 11
|
|
23747
23949
|
} : {
|
|
@@ -23749,8 +23951,8 @@ function CalendarPanel({ mode: e, selectedDate: t, selectedRange: n, onDateSelec
|
|
|
23749
23951
|
month: e.month - 1
|
|
23750
23952
|
});
|
|
23751
23953
|
}
|
|
23752
|
-
function
|
|
23753
|
-
|
|
23954
|
+
function Yo() {
|
|
23955
|
+
O((e) => e.month === 11 ? {
|
|
23754
23956
|
year: e.year + 1,
|
|
23755
23957
|
month: 0
|
|
23756
23958
|
} : {
|
|
@@ -23758,28 +23960,28 @@ function CalendarPanel({ mode: e, selectedDate: t, selectedRange: n, onDateSelec
|
|
|
23758
23960
|
month: e.month + 1
|
|
23759
23961
|
});
|
|
23760
23962
|
}
|
|
23761
|
-
let
|
|
23963
|
+
let Xo = getWeekdays();
|
|
23762
23964
|
return /* @__PURE__ */ jsxs("div", {
|
|
23763
|
-
className: "mt-1
|
|
23965
|
+
className: "mt-1 rounded-lg p-2 shadow-lg w-fit border border-neutral-400 bg-white",
|
|
23764
23966
|
children: [
|
|
23765
23967
|
/* @__PURE__ */ jsxs("div", {
|
|
23766
|
-
className: "mb-4 flex items-center justify-between border-b border-neutral-400
|
|
23968
|
+
className: "mb-4 pb-2 flex items-center justify-between border-b border-neutral-400",
|
|
23767
23969
|
children: [
|
|
23768
23970
|
/* @__PURE__ */ jsx(IconButton, {
|
|
23769
23971
|
icon: /* @__PURE__ */ jsx(ArrowIcon, {
|
|
23770
23972
|
direction: "left",
|
|
23771
23973
|
size: 20
|
|
23772
23974
|
}),
|
|
23773
|
-
onClick:
|
|
23975
|
+
onClick: R,
|
|
23774
23976
|
className: "hover:opacity-60",
|
|
23775
23977
|
"aria-label": "Previous month"
|
|
23776
23978
|
}),
|
|
23777
23979
|
/* @__PURE__ */ jsxs("div", {
|
|
23778
|
-
className: "text-[10px]
|
|
23980
|
+
className: "font-bold text-[10px] text-neutral-900",
|
|
23779
23981
|
children: [
|
|
23780
|
-
getMonthName(
|
|
23982
|
+
getMonthName(g.month),
|
|
23781
23983
|
" ",
|
|
23782
|
-
|
|
23984
|
+
g.year
|
|
23783
23985
|
]
|
|
23784
23986
|
}),
|
|
23785
23987
|
/* @__PURE__ */ jsx(IconButton, {
|
|
@@ -23787,7 +23989,7 @@ function CalendarPanel({ mode: e, selectedDate: t, selectedRange: n, onDateSelec
|
|
|
23787
23989
|
direction: "right",
|
|
23788
23990
|
size: 20
|
|
23789
23991
|
}),
|
|
23790
|
-
onClick:
|
|
23992
|
+
onClick: Yo,
|
|
23791
23993
|
className: "hover:opacity-60",
|
|
23792
23994
|
"aria-label": "Next month"
|
|
23793
23995
|
})
|
|
@@ -23795,20 +23997,20 @@ function CalendarPanel({ mode: e, selectedDate: t, selectedRange: n, onDateSelec
|
|
|
23795
23997
|
}),
|
|
23796
23998
|
/* @__PURE__ */ jsx("div", {
|
|
23797
23999
|
className: "mb-2 grid grid-cols-7",
|
|
23798
|
-
children:
|
|
23799
|
-
className: "flex items-center justify-center
|
|
24000
|
+
children: Xo.map((e) => /* @__PURE__ */ jsx("div", {
|
|
24001
|
+
className: "p-0.5 font-bold flex items-center justify-center text-[9px] text-neutral-900",
|
|
23800
24002
|
children: e
|
|
23801
24003
|
}, e))
|
|
23802
24004
|
}),
|
|
23803
24005
|
/* @__PURE__ */ jsx("div", {
|
|
23804
24006
|
className: "grid grid-cols-7",
|
|
23805
|
-
children:
|
|
23806
|
-
let o = isToday(i), l = e === "single" && t && isSameDay(i, t), { startDate: u, endDate: f } = n, p = u && isSameDay(i, u), h = f && isSameDay(i, f),
|
|
23807
|
-
e === "range" && u && !f && s && !isDateBefore(s, u) ? (
|
|
23808
|
-
let
|
|
24007
|
+
children: Jo.map(({ day: r, date: i, isCurrentMonth: a }) => {
|
|
24008
|
+
let o = isToday(i), l = e === "single" && t && isSameDay(i, t), { startDate: u, endDate: f } = n, p = u && isSameDay(i, u), h = f && isSameDay(i, f), Go = u, g = s;
|
|
24009
|
+
e === "range" && u && !f && s && !isDateBefore(s, u) ? (Go = u, g = s) : (Go = null, g = null);
|
|
24010
|
+
let O = e === "range" && (isDateInRange(i, u, f) || isDateInRange(i, Go, g)), qo = l || p || h;
|
|
23809
24011
|
return /* @__PURE__ */ jsx(Button, {
|
|
23810
24012
|
type: "button",
|
|
23811
|
-
onClick: () =>
|
|
24013
|
+
onClick: () => A(i),
|
|
23812
24014
|
onMouseEnter: () => {
|
|
23813
24015
|
e === "range" && u && !f && !isDateBefore(i, u) && c(i);
|
|
23814
24016
|
},
|
|
@@ -23817,9 +24019,9 @@ function CalendarPanel({ mode: e, selectedDate: t, selectedRange: n, onDateSelec
|
|
|
23817
24019
|
},
|
|
23818
24020
|
className: "p-0.5",
|
|
23819
24021
|
"aria-label": `Select ${formatDate(i)}`,
|
|
23820
|
-
"aria-selected":
|
|
24022
|
+
"aria-selected": qo || void 0,
|
|
23821
24023
|
children: /* @__PURE__ */ jsx("div", {
|
|
23822
|
-
className: cn("flex h-[26px] w-[26px] items-center justify-center
|
|
24024
|
+
className: cn("rounded flex h-[26px] w-[26px] items-center justify-center text-[9px] transition-colors", qo && "font-semibold bg-primary-500 text-white-variant-1 hover:bg-primary-500", O && !qo && "font-normal bg-primary-500/20 text-neutral-900 hover:bg-primary-500/30", o && !qo && !O && "font-bold border border-primary-500 bg-primary-500/15 hover:bg-primary-500 hover:text-white", !qo && !O && (a ? "text-neutral-900 hover:bg-neutral-300" : "text-neutral-600 hover:bg-neutral-200")),
|
|
23823
24025
|
children: r
|
|
23824
24026
|
})
|
|
23825
24027
|
}, `${i.getFullYear()}-${i.getMonth()}-${r}`);
|
|
@@ -23835,7 +24037,7 @@ function DatePickerTrigger({ displayText: e, disabled: t, className: n, onClear:
|
|
|
23835
24037
|
}
|
|
23836
24038
|
return /* @__PURE__ */ jsxs(Pressable, {
|
|
23837
24039
|
disabled: t,
|
|
23838
|
-
className: cn("flex items-center justify-start
|
|
24040
|
+
className: cn("gap-1 px-2 py-1 text-xs flex items-center justify-start rounded-full border border-neutral-300 bg-white text-left text-neutral-800 transition-colors hover:border-neutral-500", e && "border-primary-400 hover:border-primary-500 hover:bg-primary-light", n),
|
|
23839
24041
|
children: [
|
|
23840
24042
|
/* @__PURE__ */ jsx(CalendarIcon, {
|
|
23841
24043
|
size: 20,
|
|
@@ -23881,14 +24083,14 @@ function DatePicker({ mode: e = "single", value: t, defaultValue: n, onChange: r
|
|
|
23881
24083
|
startDate: null,
|
|
23882
24084
|
endDate: null
|
|
23883
24085
|
};
|
|
23884
|
-
function
|
|
24086
|
+
function h(t) {
|
|
23885
24087
|
e === "single" && (u || s(t), r?.(t));
|
|
23886
24088
|
}
|
|
23887
|
-
function
|
|
24089
|
+
function g(t) {
|
|
23888
24090
|
e === "range" && (u || l(t), r?.(t));
|
|
23889
24091
|
}
|
|
23890
|
-
function
|
|
23891
|
-
e === "single" ?
|
|
24092
|
+
function qo() {
|
|
24093
|
+
e === "single" ? h(null) : g({
|
|
23892
24094
|
startDate: null,
|
|
23893
24095
|
endDate: null
|
|
23894
24096
|
});
|
|
@@ -23898,15 +24100,15 @@ function DatePicker({ mode: e = "single", value: t, defaultValue: n, onChange: r
|
|
|
23898
24100
|
displayText: e === "single" ? formatDate(f) : formatDateRange(p.startDate, p.endDate),
|
|
23899
24101
|
disabled: i,
|
|
23900
24102
|
className: a,
|
|
23901
|
-
onClear:
|
|
24103
|
+
onClear: qo
|
|
23902
24104
|
}),
|
|
23903
24105
|
disabled: i,
|
|
23904
24106
|
children: /* @__PURE__ */ jsx(CalendarPanel, {
|
|
23905
24107
|
mode: e,
|
|
23906
24108
|
selectedDate: f,
|
|
23907
24109
|
selectedRange: p,
|
|
23908
|
-
onDateSelect:
|
|
23909
|
-
onRangeSelect:
|
|
24110
|
+
onDateSelect: h,
|
|
24111
|
+
onRangeSelect: g
|
|
23910
24112
|
})
|
|
23911
24113
|
}) });
|
|
23912
24114
|
}
|
|
@@ -23925,14 +24127,14 @@ const EVENT_CARD_HEIGHT_SIZE = {
|
|
|
23925
24127
|
};
|
|
23926
24128
|
function EventCardSkeleton({ density: e = "normal", className: t, style: n }) {
|
|
23927
24129
|
return /* @__PURE__ */ jsx(Card, {
|
|
23928
|
-
className: cn("w-full
|
|
24130
|
+
className: cn("rounded-lg p-4 w-full bg-white-variant-5", e === "normal" ? `${EVENT_CARD_HEIGHT_SIZE.normal.style}` : `${EVENT_CARD_HEIGHT_SIZE.compact.style}`, t),
|
|
23929
24131
|
style: n,
|
|
23930
24132
|
children: e === "normal" ? /* @__PURE__ */ jsxs(CardLayout, {
|
|
23931
24133
|
className: "gap-x-2 gap-y-1",
|
|
23932
24134
|
children: [
|
|
23933
24135
|
/* @__PURE__ */ jsx(CardSidebar, { children: /* @__PURE__ */ jsx(Skeleton, { className: "h-5 w-5" }) }),
|
|
23934
24136
|
/* @__PURE__ */ jsxs(CardHeader, {
|
|
23935
|
-
className: "grid grid-cols-[auto_minmax(0,1fr)_auto_auto] items-center
|
|
24137
|
+
className: "gap-2 grid grid-cols-[auto_minmax(0,1fr)_auto_auto] items-center",
|
|
23936
24138
|
children: [
|
|
23937
24139
|
/* @__PURE__ */ jsx(Skeleton, { className: "h-4 w-4" }),
|
|
23938
24140
|
/* @__PURE__ */ jsx(Skeleton, { className: "h-4 w-24" }),
|
|
@@ -23941,17 +24143,17 @@ function EventCardSkeleton({ density: e = "normal", className: t, style: n }) {
|
|
|
23941
24143
|
]
|
|
23942
24144
|
}),
|
|
23943
24145
|
/* @__PURE__ */ jsx(CardTitle, {
|
|
23944
|
-
className: "
|
|
24146
|
+
className: "h-5 flex items-center",
|
|
23945
24147
|
children: /* @__PURE__ */ jsx(Skeleton, { className: "h-4 w-48" })
|
|
23946
24148
|
}),
|
|
23947
24149
|
/* @__PURE__ */ jsxs(CardContent, { children: [/* @__PURE__ */ jsx(Skeleton, { className: "my-1 h-4 w-full" }), /* @__PURE__ */ jsx(Skeleton, { className: "my-1 h-4 w-3/4" })] }),
|
|
23948
24150
|
/* @__PURE__ */ jsxs(CardFooter, {
|
|
23949
|
-
className: "mt-3 grid grid-cols-[minmax(0,1fr)_auto] items-center
|
|
24151
|
+
className: "mt-3 gap-1 grid grid-cols-[minmax(0,1fr)_auto] items-center",
|
|
23950
24152
|
children: [/* @__PURE__ */ jsx("div", {
|
|
23951
|
-
className: "
|
|
24153
|
+
className: "gap-2 flex",
|
|
23952
24154
|
children: /* @__PURE__ */ jsx(Skeleton, { className: "h-6 w-23 rounded-full" })
|
|
23953
24155
|
}), /* @__PURE__ */ jsxs("div", {
|
|
23954
|
-
className: "
|
|
24156
|
+
className: "gap-2 flex",
|
|
23955
24157
|
children: [
|
|
23956
24158
|
/* @__PURE__ */ jsx(Skeleton, { className: "h-6 w-6 rounded-full" }),
|
|
23957
24159
|
/* @__PURE__ */ jsx(Skeleton, { className: "h-6 w-6 rounded-full" }),
|
|
@@ -23961,16 +24163,16 @@ function EventCardSkeleton({ density: e = "normal", className: t, style: n }) {
|
|
|
23961
24163
|
})
|
|
23962
24164
|
]
|
|
23963
24165
|
}) : /* @__PURE__ */ jsxs(CardLayout, {
|
|
23964
|
-
className: "grid grid-cols-[auto_1fr] grid-rows-1
|
|
24166
|
+
className: "gap-x-2 grid grid-cols-[auto_1fr] grid-rows-1",
|
|
23965
24167
|
children: [/* @__PURE__ */ jsx(CardSidebar, {
|
|
23966
24168
|
className: "flex items-center justify-center",
|
|
23967
24169
|
children: /* @__PURE__ */ jsx(Skeleton, { className: "h-5 w-5" })
|
|
23968
24170
|
}), /* @__PURE__ */ jsxs(CardHeader, {
|
|
23969
|
-
className: "
|
|
24171
|
+
className: "min-w-0 gap-2 flex items-center",
|
|
23970
24172
|
children: [
|
|
23971
24173
|
/* @__PURE__ */ jsx(Skeleton, { className: "h-4 w-4" }),
|
|
23972
24174
|
/* @__PURE__ */ jsx("div", {
|
|
23973
|
-
className: "
|
|
24175
|
+
className: "min-w-0 gap-2 flex items-center",
|
|
23974
24176
|
children: /* @__PURE__ */ jsx(Skeleton, { className: "h-4 w-32" })
|
|
23975
24177
|
}),
|
|
23976
24178
|
/* @__PURE__ */ jsx("div", { className: "flex-1" }),
|
|
@@ -24010,7 +24212,7 @@ var EVENT_ACTION_CONFIG = {
|
|
|
24010
24212
|
})
|
|
24011
24213
|
}
|
|
24012
24214
|
}, eventCardStyles = tv({
|
|
24013
|
-
base: "w-full
|
|
24215
|
+
base: "rounded-lg p-4 w-full border-[1.5px] bg-white-variant-5",
|
|
24014
24216
|
variants: {
|
|
24015
24217
|
tone: {
|
|
24016
24218
|
default: "hover:bg-primary-light",
|
|
@@ -24088,7 +24290,7 @@ function EventCheckbox({ checked: e, onCheckedChange: t }) {
|
|
|
24088
24290
|
}
|
|
24089
24291
|
function EventStatusesList({ statusBadges: e, density: t }) {
|
|
24090
24292
|
return Object.keys(e).length === 0 ? null : /* @__PURE__ */ jsx("div", {
|
|
24091
|
-
className: "
|
|
24293
|
+
className: "gap-2 flex",
|
|
24092
24294
|
children: /* @__PURE__ */ jsx(StopPropagation, { children: Object.keys(e).map((n) => {
|
|
24093
24295
|
let r = e[n];
|
|
24094
24296
|
return r ? /* @__PURE__ */ jsx(StatusBadge, {
|
|
@@ -24102,7 +24304,7 @@ function EventStatusesList({ statusBadges: e, density: t }) {
|
|
|
24102
24304
|
}
|
|
24103
24305
|
function EventActionsList({ actions: e, className: t }) {
|
|
24104
24306
|
return Object.keys(e).length === 0 ? null : /* @__PURE__ */ jsx("div", {
|
|
24105
|
-
className: cn("
|
|
24307
|
+
className: cn("gap-2 flex", t),
|
|
24106
24308
|
children: /* @__PURE__ */ jsx(StopPropagation, { children: Object.keys(e).map((t) => {
|
|
24107
24309
|
let n = e[t];
|
|
24108
24310
|
return n ? /* @__PURE__ */ jsx(IconButton, {
|
|
@@ -24112,18 +24314,18 @@ function EventActionsList({ actions: e, className: t }) {
|
|
|
24112
24314
|
}) })
|
|
24113
24315
|
});
|
|
24114
24316
|
}
|
|
24115
|
-
function EventCard({ icon: e, service: t, sender: n, title: r, content: i, timestamp: a, timestampTooltip: o, workspace: s, read: c = !1, selected: l = !1, onSelect: u, checked: f = !1, onCheckedChange: p, statusBadges: h = {}, actions:
|
|
24317
|
+
function EventCard({ icon: e, service: t, sender: n, title: r, content: i, timestamp: a, timestampTooltip: o, workspace: s, read: c = !1, selected: l = !1, onSelect: u, checked: f = !1, onCheckedChange: p, statusBadges: h = {}, actions: Go = {}, density: g = "normal", className: O, style: Jo, isPriority: A, isDone: R }) {
|
|
24116
24318
|
return /* @__PURE__ */ jsx(Card, {
|
|
24117
24319
|
as: Pressable,
|
|
24118
24320
|
onPress: u,
|
|
24119
24321
|
className: cn(eventCardStyles({
|
|
24120
|
-
tone:
|
|
24322
|
+
tone: A ? "priority" : R ? "done" : "default",
|
|
24121
24323
|
state: l ? "selected" : c ? "read" : "unread",
|
|
24122
|
-
density:
|
|
24123
|
-
}),
|
|
24124
|
-
style:
|
|
24324
|
+
density: g
|
|
24325
|
+
}), O),
|
|
24326
|
+
style: Jo,
|
|
24125
24327
|
"data-service": t,
|
|
24126
|
-
children:
|
|
24328
|
+
children: g === "normal" ? /* @__PURE__ */ jsxs(CardLayout, {
|
|
24127
24329
|
className: "gap-x-2 gap-y-1",
|
|
24128
24330
|
children: [
|
|
24129
24331
|
/* @__PURE__ */ jsx(CardSidebar, { children: /* @__PURE__ */ jsx(EventCheckbox, {
|
|
@@ -24131,11 +24333,11 @@ function EventCard({ icon: e, service: t, sender: n, title: r, content: i, times
|
|
|
24131
24333
|
onCheckedChange: p
|
|
24132
24334
|
}) }),
|
|
24133
24335
|
/* @__PURE__ */ jsxs(CardHeader, {
|
|
24134
|
-
className: "grid grid-cols-[auto_minmax(0,1fr)_auto_auto] items-center
|
|
24336
|
+
className: "gap-2 grid grid-cols-[auto_minmax(0,1fr)_auto_auto] items-center",
|
|
24135
24337
|
children: [
|
|
24136
24338
|
e,
|
|
24137
24339
|
/* @__PURE__ */ jsx("span", {
|
|
24138
|
-
className: cn("min-w-0 -translate-x-0.5
|
|
24340
|
+
className: cn("min-w-0 -translate-x-0.5 text-sm font-bold truncate text-neutral-900", c && "font-medium"),
|
|
24139
24341
|
children: n
|
|
24140
24342
|
}),
|
|
24141
24343
|
/* @__PURE__ */ jsx("span", {
|
|
@@ -24149,23 +24351,23 @@ function EventCard({ icon: e, service: t, sender: n, title: r, content: i, times
|
|
|
24149
24351
|
]
|
|
24150
24352
|
}),
|
|
24151
24353
|
/* @__PURE__ */ jsx(CardTitle, {
|
|
24152
|
-
className: cn("
|
|
24354
|
+
className: cn("text-sm font-bold line-clamp-1 text-neutral-900", c && "font-medium"),
|
|
24153
24355
|
children: r
|
|
24154
24356
|
}),
|
|
24155
24357
|
/* @__PURE__ */ jsx(CardContent, {
|
|
24156
|
-
className: "
|
|
24358
|
+
className: "min-w-0 text-sm line-clamp-2 text-neutral-900",
|
|
24157
24359
|
children: i
|
|
24158
24360
|
}),
|
|
24159
24361
|
/* @__PURE__ */ jsxs(CardFooter, {
|
|
24160
|
-
className: "mt-3 grid grid-cols-[minmax(0,1fr)_auto] items-center
|
|
24362
|
+
className: "mt-3 gap-1 grid grid-cols-[minmax(0,1fr)_auto] items-center",
|
|
24161
24363
|
children: [/* @__PURE__ */ jsx(EventStatusesList, { statusBadges: h }), /* @__PURE__ */ jsx(EventActionsList, {
|
|
24162
|
-
actions:
|
|
24364
|
+
actions: Go,
|
|
24163
24365
|
className: "col-start-2 justify-self-end"
|
|
24164
24366
|
})]
|
|
24165
24367
|
})
|
|
24166
24368
|
]
|
|
24167
24369
|
}) : /* @__PURE__ */ jsxs(CardLayout, {
|
|
24168
|
-
className: "grid grid-cols-[auto_1fr] grid-rows-1
|
|
24370
|
+
className: "gap-x-2 grid grid-cols-[auto_1fr] grid-rows-1",
|
|
24169
24371
|
children: [/* @__PURE__ */ jsx(CardSidebar, {
|
|
24170
24372
|
className: "flex items-center justify-center",
|
|
24171
24373
|
children: /* @__PURE__ */ jsx(EventCheckbox, {
|
|
@@ -24173,22 +24375,22 @@ function EventCard({ icon: e, service: t, sender: n, title: r, content: i, times
|
|
|
24173
24375
|
onCheckedChange: p
|
|
24174
24376
|
})
|
|
24175
24377
|
}), /* @__PURE__ */ jsxs(CardHeader, {
|
|
24176
|
-
className: "
|
|
24378
|
+
className: "min-w-0 gap-2 flex items-center",
|
|
24177
24379
|
children: [
|
|
24178
24380
|
e,
|
|
24179
24381
|
/* @__PURE__ */ jsx(EventStatusesList, {
|
|
24180
24382
|
statusBadges: h,
|
|
24181
|
-
density:
|
|
24383
|
+
density: g
|
|
24182
24384
|
}),
|
|
24183
24385
|
/* @__PURE__ */ jsxs("div", {
|
|
24184
|
-
className: cn("
|
|
24386
|
+
className: cn("min-w-0 gap-2 text-sm font-bold flex items-center whitespace-nowrap text-neutral-900", c && "font-medium"),
|
|
24185
24387
|
children: [
|
|
24186
24388
|
/* @__PURE__ */ jsx("span", {
|
|
24187
24389
|
className: "truncate",
|
|
24188
24390
|
children: n
|
|
24189
24391
|
}),
|
|
24190
24392
|
/* @__PURE__ */ jsx("span", {
|
|
24191
|
-
className: "shrink-0 text-
|
|
24393
|
+
className: "text-sm shrink-0 text-neutral-500",
|
|
24192
24394
|
children: "•"
|
|
24193
24395
|
}),
|
|
24194
24396
|
/* @__PURE__ */ jsx("span", {
|
|
@@ -24198,7 +24400,7 @@ function EventCard({ icon: e, service: t, sender: n, title: r, content: i, times
|
|
|
24198
24400
|
]
|
|
24199
24401
|
}),
|
|
24200
24402
|
/* @__PURE__ */ jsx("div", { className: "flex-1" }),
|
|
24201
|
-
/* @__PURE__ */ jsx(EventActionsList, { actions:
|
|
24403
|
+
/* @__PURE__ */ jsx(EventActionsList, { actions: Go }),
|
|
24202
24404
|
/* @__PURE__ */ jsx(InfoTooltip, {
|
|
24203
24405
|
content: o,
|
|
24204
24406
|
children: /* @__PURE__ */ jsx("span", {
|
|
@@ -24217,12 +24419,12 @@ function EventCard({ icon: e, service: t, sender: n, title: r, content: i, times
|
|
|
24217
24419
|
}
|
|
24218
24420
|
function EventDetailContentDetailsPanel({ title: e, rows: t }) {
|
|
24219
24421
|
return /* @__PURE__ */ jsxs("div", {
|
|
24220
|
-
className: "
|
|
24422
|
+
className: "gap-2 rounded-lg p-4 text-sm flex flex-col bg-neutral-100-variant-3 text-neutral-800",
|
|
24221
24423
|
children: [e && /* @__PURE__ */ jsx("div", {
|
|
24222
24424
|
className: "font-bold",
|
|
24223
24425
|
children: e
|
|
24224
24426
|
}), /* @__PURE__ */ jsx("div", {
|
|
24225
|
-
className: "
|
|
24427
|
+
className: "gap-x-4 gap-y-1 grid grid-cols-[auto_1fr]",
|
|
24226
24428
|
children: t.map(({ label: e, value: t }) => /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsxs("div", {
|
|
24227
24429
|
className: "font-bold",
|
|
24228
24430
|
children: [e, ":"]
|
|
@@ -24254,25 +24456,22 @@ function EventDetailContentCalendarDetails({ from: e, to: t, link: n, location:
|
|
|
24254
24456
|
] });
|
|
24255
24457
|
}
|
|
24256
24458
|
function EventDetailPriority({ priorityText: e }) {
|
|
24257
|
-
return /* @__PURE__ */
|
|
24258
|
-
className: "
|
|
24259
|
-
children:
|
|
24260
|
-
|
|
24261
|
-
className: "text-tertiary-500-variant-2"
|
|
24262
|
-
}), /* @__PURE__ */ jsxs("div", {
|
|
24263
|
-
className: "py-1 text-xs leading-[1.2] font-normal text-neutral-800",
|
|
24459
|
+
return /* @__PURE__ */ jsx("div", {
|
|
24460
|
+
className: "top-14 min-h-14 gap-4 px-4 py-3 sticky z-5 flex shrink-0 items-center bg-tertiary-50",
|
|
24461
|
+
children: /* @__PURE__ */ jsxs("div", {
|
|
24462
|
+
className: "py-1 text-xs font-normal leading-[1.2] text-neutral-800",
|
|
24264
24463
|
children: [/* @__PURE__ */ jsx("span", {
|
|
24265
|
-
className: "font-bold",
|
|
24464
|
+
className: "font-bold text-tertiary-500",
|
|
24266
24465
|
children: "High Urgency:\xA0"
|
|
24267
24466
|
}), e]
|
|
24268
|
-
})
|
|
24467
|
+
})
|
|
24269
24468
|
});
|
|
24270
24469
|
}
|
|
24271
24470
|
function EventDetailSummary({ summary: e }) {
|
|
24272
24471
|
return /* @__PURE__ */ jsxs("div", {
|
|
24273
|
-
className: "
|
|
24472
|
+
className: "gap-2 rounded-lg p-4 flex bg-neutral-100-variant-3",
|
|
24274
24473
|
children: [/* @__PURE__ */ jsx(SummaryIcon, { size: 24 }), /* @__PURE__ */ jsxs("p", {
|
|
24275
|
-
className: "text-sm leading-[1.3]
|
|
24474
|
+
className: "text-sm font-normal leading-[1.3] text-neutral-800",
|
|
24276
24475
|
children: [/* @__PURE__ */ jsx("span", {
|
|
24277
24476
|
className: "font-bold",
|
|
24278
24477
|
children: "Summary:\xA0"
|
|
@@ -24280,17 +24479,13 @@ function EventDetailSummary({ summary: e }) {
|
|
|
24280
24479
|
})]
|
|
24281
24480
|
});
|
|
24282
24481
|
}
|
|
24283
|
-
function EventDetailContentHeader({ summary: e, priorityText: t,
|
|
24482
|
+
function EventDetailContentHeader({ summary: e, priorityText: t, children: n, className: r }) {
|
|
24284
24483
|
return /* @__PURE__ */ jsxs("div", {
|
|
24285
|
-
className: cn("flex flex-col",
|
|
24286
|
-
children: [
|
|
24287
|
-
|
|
24288
|
-
|
|
24289
|
-
|
|
24290
|
-
className: "flex flex-col gap-4 p-4",
|
|
24291
|
-
children: [e != null && /* @__PURE__ */ jsx(EventDetailSummary, { summary: e }), r]
|
|
24292
|
-
})
|
|
24293
|
-
]
|
|
24484
|
+
className: cn("flex flex-col", r),
|
|
24485
|
+
children: [t != null && /* @__PURE__ */ jsx(EventDetailPriority, { priorityText: t }), /* @__PURE__ */ jsxs("div", {
|
|
24486
|
+
className: "gap-4 p-4 flex flex-col",
|
|
24487
|
+
children: [e != null && /* @__PURE__ */ jsx(EventDetailSummary, { summary: e }), n]
|
|
24488
|
+
})]
|
|
24294
24489
|
});
|
|
24295
24490
|
}
|
|
24296
24491
|
function EventDetailContentCalendar({ detail: { summary: e, body: t, priorityText: n, from: r, to: i, link: a, location: o }, className: s }) {
|
|
@@ -24333,7 +24528,6 @@ function EventDetailContentEmail({ detail: { summary: e, body: t, priorityText:
|
|
|
24333
24528
|
return /* @__PURE__ */ jsxs(EventDetailContentHeader, {
|
|
24334
24529
|
summary: e,
|
|
24335
24530
|
priorityText: n,
|
|
24336
|
-
highlightPriority: !!n,
|
|
24337
24531
|
className: s,
|
|
24338
24532
|
children: [/* @__PURE__ */ jsx(EventDetailContentEmailDetails, {
|
|
24339
24533
|
subject: r,
|
|
@@ -24341,18 +24535,18 @@ function EventDetailContentEmail({ detail: { summary: e, body: t, priorityText:
|
|
|
24341
24535
|
date: a,
|
|
24342
24536
|
from: o
|
|
24343
24537
|
}), /* @__PURE__ */ jsx(RichContent, {
|
|
24344
|
-
className: "max-w-[1260px]
|
|
24538
|
+
className: "px-4 max-w-[1260px]",
|
|
24345
24539
|
content: t
|
|
24346
24540
|
})]
|
|
24347
24541
|
});
|
|
24348
24542
|
}
|
|
24349
24543
|
function DateSeparator({ timestamp: e }) {
|
|
24350
24544
|
return /* @__PURE__ */ jsxs("div", {
|
|
24351
|
-
className: "flex items-center
|
|
24545
|
+
className: "gap-4 flex items-center",
|
|
24352
24546
|
children: [
|
|
24353
24547
|
/* @__PURE__ */ jsx("div", { className: "h-px flex-1 bg-neutral-300-variant-2" }),
|
|
24354
24548
|
/* @__PURE__ */ jsx("span", {
|
|
24355
|
-
className: "rounded-full border border-neutral-300-variant-2
|
|
24549
|
+
className: "px-3 py-1 text-xs font-semibold rounded-full border border-neutral-300-variant-2 text-neutral-600",
|
|
24356
24550
|
children: e
|
|
24357
24551
|
}),
|
|
24358
24552
|
/* @__PURE__ */ jsx("div", { className: "h-px flex-1 bg-neutral-300-variant-2" })
|
|
@@ -24386,7 +24580,7 @@ function MessageContent({ content: e }) {
|
|
|
24386
24580
|
function RepliesTrigger({ replyId: e, replyCount: t }) {
|
|
24387
24581
|
let { openItems: n } = useAccordion();
|
|
24388
24582
|
return /* @__PURE__ */ jsxs("div", {
|
|
24389
|
-
className: "
|
|
24583
|
+
className: "gap-2 p-1.5 px-2 text-xs font-medium flex items-center text-neutral-600",
|
|
24390
24584
|
children: [/* @__PURE__ */ jsx(ArrowIcon, {
|
|
24391
24585
|
direction: n.has(`replies-${e}`) ? "up" : "down",
|
|
24392
24586
|
size: 12,
|
|
@@ -24407,26 +24601,26 @@ function MessageReplies({ replies: e }) {
|
|
|
24407
24601
|
defaultValue: [`replies-${t}`],
|
|
24408
24602
|
children: /* @__PURE__ */ jsxs(AccordionItem, {
|
|
24409
24603
|
value: `replies-${t}`,
|
|
24410
|
-
className: "flex flex-col
|
|
24604
|
+
className: "gap-2 flex flex-col",
|
|
24411
24605
|
children: [/* @__PURE__ */ jsx(AccordionTrigger, {
|
|
24412
24606
|
value: `replies-${t}`,
|
|
24413
|
-
className: "flex items-center justify-between
|
|
24607
|
+
className: "rounded hover:bg-neutral-50 flex items-center justify-between transition-colors",
|
|
24414
24608
|
children: /* @__PURE__ */ jsx(RepliesTrigger, {
|
|
24415
24609
|
replyId: t,
|
|
24416
24610
|
replyCount: e.length
|
|
24417
24611
|
})
|
|
24418
24612
|
}), /* @__PURE__ */ jsx(AccordionContent, {
|
|
24419
24613
|
value: `replies-${t}`,
|
|
24420
|
-
className: "ml-3 flex flex-col
|
|
24614
|
+
className: "ml-3 gap-4 pl-4 flex flex-col border-l-2 border-neutral-500",
|
|
24421
24615
|
children: e.map((e) => /* @__PURE__ */ jsxs("div", {
|
|
24422
|
-
className: "
|
|
24616
|
+
className: "gap-3 flex",
|
|
24423
24617
|
children: [/* @__PURE__ */ jsx(Avatar, {
|
|
24424
24618
|
name: e.author,
|
|
24425
24619
|
size: "lg"
|
|
24426
24620
|
}), /* @__PURE__ */ jsxs("div", {
|
|
24427
24621
|
className: "min-w-0 flex-1",
|
|
24428
24622
|
children: [/* @__PURE__ */ jsxs("div", {
|
|
24429
|
-
className: "flex items-center
|
|
24623
|
+
className: "gap-2 flex items-center",
|
|
24430
24624
|
children: [/* @__PURE__ */ jsx("div", {
|
|
24431
24625
|
className: "text-sm font-semibold text-neutral-900",
|
|
24432
24626
|
children: e.author
|
|
@@ -24445,16 +24639,16 @@ function MessageItem({ message: e, isPriority: t = !1 }) {
|
|
|
24445
24639
|
return /* @__PURE__ */ jsx("div", {
|
|
24446
24640
|
className: "transition-colors",
|
|
24447
24641
|
children: /* @__PURE__ */ jsxs("div", {
|
|
24448
|
-
className: "
|
|
24642
|
+
className: "gap-3 flex",
|
|
24449
24643
|
children: [/* @__PURE__ */ jsx(Avatar, {
|
|
24450
24644
|
name: e.author,
|
|
24451
24645
|
size: t ? "xl" : "lg"
|
|
24452
24646
|
}), /* @__PURE__ */ jsxs("div", {
|
|
24453
|
-
className: "
|
|
24647
|
+
className: "min-w-0 gap-2 flex flex-1 flex-col",
|
|
24454
24648
|
children: [/* @__PURE__ */ jsxs("div", {
|
|
24455
|
-
className: "flex flex-col
|
|
24649
|
+
className: "gap-1 flex flex-col",
|
|
24456
24650
|
children: [/* @__PURE__ */ jsxs("div", {
|
|
24457
|
-
className: "flex items-center
|
|
24651
|
+
className: "gap-2 flex items-center",
|
|
24458
24652
|
children: [
|
|
24459
24653
|
/* @__PURE__ */ jsx("div", {
|
|
24460
24654
|
className: "text-sm font-semibold text-neutral-900",
|
|
@@ -24480,14 +24674,14 @@ function PriorityNavigation({ priorityIndex: e, priorityTotal: t, onPreviousPrio
|
|
|
24480
24674
|
if (!e || !t || t <= 1) return null;
|
|
24481
24675
|
let i = e > 1, a = e < t;
|
|
24482
24676
|
return !a && !i ? null : /* @__PURE__ */ jsx("div", {
|
|
24483
|
-
className: "mb-3 flex justify-center
|
|
24677
|
+
className: "mb-3 px-2 flex justify-center",
|
|
24484
24678
|
children: /* @__PURE__ */ jsxs("div", {
|
|
24485
|
-
className: "flex w-full items-center justify-center
|
|
24679
|
+
className: "gap-4 flex w-full items-center justify-center",
|
|
24486
24680
|
children: [
|
|
24487
24681
|
/* @__PURE__ */ jsx("div", {
|
|
24488
24682
|
className: "flex flex-1 justify-end",
|
|
24489
24683
|
children: a && /* @__PURE__ */ jsxs(Button, {
|
|
24490
|
-
className: "
|
|
24684
|
+
className: "gap-1.5 rounded-md px-2.5 py-1.5 text-xs font-medium flex border border-tertiary-500 bg-white text-tertiary-500 transition-colors hover:bg-tertiary-50",
|
|
24491
24685
|
"aria-label": "Previous Fire",
|
|
24492
24686
|
onClick: n,
|
|
24493
24687
|
children: [/* @__PURE__ */ jsx(ArrowIcon, {
|
|
@@ -24507,7 +24701,7 @@ function PriorityNavigation({ priorityIndex: e, priorityTotal: t, onPreviousPrio
|
|
|
24507
24701
|
/* @__PURE__ */ jsx("div", {
|
|
24508
24702
|
className: "flex-1",
|
|
24509
24703
|
children: i && /* @__PURE__ */ jsxs(Button, {
|
|
24510
|
-
className: "
|
|
24704
|
+
className: "gap-1.5 rounded-md px-2.5 py-1.5 text-xs font-medium flex border border-tertiary-500 bg-white text-tertiary-500 transition-colors hover:bg-tertiary-50",
|
|
24511
24705
|
"aria-label": "Next Fire",
|
|
24512
24706
|
onClick: r,
|
|
24513
24707
|
children: [/* @__PURE__ */ jsx("span", { children: "Next Fire" }), /* @__PURE__ */ jsx(ArrowIcon, {
|
|
@@ -24522,15 +24716,15 @@ function PriorityNavigation({ priorityIndex: e, priorityTotal: t, onPreviousPrio
|
|
|
24522
24716
|
}
|
|
24523
24717
|
function PriorityGroupHeader({ title: e, onMarkAsNotFireClick: t }) {
|
|
24524
24718
|
return e ? /* @__PURE__ */ jsx("div", {
|
|
24525
|
-
className: "border-b border-neutral-200
|
|
24719
|
+
className: "pb-3 border-b border-neutral-200",
|
|
24526
24720
|
children: /* @__PURE__ */ jsxs("div", {
|
|
24527
|
-
className: "flex items-center
|
|
24721
|
+
className: "gap-2 flex items-center",
|
|
24528
24722
|
children: [/* @__PURE__ */ jsx(IconButton, {
|
|
24529
24723
|
icon: /* @__PURE__ */ jsx(FireIcon, {
|
|
24530
24724
|
size: 16,
|
|
24531
24725
|
className: "text-tertiary-500"
|
|
24532
24726
|
}),
|
|
24533
|
-
className: "
|
|
24727
|
+
className: "h-6 w-6 relative flex shrink-0 items-center justify-center rounded-full border border-tertiary-400 bg-tertiary-50 transition-opacity hover:opacity-70",
|
|
24534
24728
|
"aria-label": "Priority",
|
|
24535
24729
|
onClick: t
|
|
24536
24730
|
}), /* @__PURE__ */ jsx("h4", {
|
|
@@ -24550,7 +24744,7 @@ function PriorityGroup({ group: e, children: t, onPreviousPriority: n, onNextPri
|
|
|
24550
24744
|
onPreviousPriority: n,
|
|
24551
24745
|
onNextPriority: r
|
|
24552
24746
|
}), /* @__PURE__ */ jsxs("div", {
|
|
24553
|
-
className: "
|
|
24747
|
+
className: "gap-4 rounded-r-lg p-4 relative flex flex-col border-l-[3px] border-tertiary-500 bg-tertiary-50-alpha-50",
|
|
24554
24748
|
children: [/* @__PURE__ */ jsx(PriorityGroupHeader, {
|
|
24555
24749
|
title: e.priorityText,
|
|
24556
24750
|
onMarkAsNotFireClick: i
|
|
@@ -24560,7 +24754,7 @@ function PriorityGroup({ group: e, children: t, onPreviousPriority: n, onNextPri
|
|
|
24560
24754
|
}
|
|
24561
24755
|
function MessageGroup({ group: e, onPreviousPriority: t, onNextPriority: n }) {
|
|
24562
24756
|
return /* @__PURE__ */ jsxs("div", {
|
|
24563
|
-
className: "flex flex-col
|
|
24757
|
+
className: "gap-4 flex flex-col",
|
|
24564
24758
|
children: [/* @__PURE__ */ jsx(DateSeparator, { timestamp: e.timestamp }), /* @__PURE__ */ jsx(PriorityGroup, {
|
|
24565
24759
|
group: e,
|
|
24566
24760
|
onPreviousPriority: t,
|
|
@@ -24598,7 +24792,7 @@ function EventDetailContentMessage({ detail: { groups: e, summary: t, priorityTe
|
|
|
24598
24792
|
className: r,
|
|
24599
24793
|
children: /* @__PURE__ */ jsxs("div", {
|
|
24600
24794
|
ref: a,
|
|
24601
|
-
className: "flex flex-col
|
|
24795
|
+
className: "gap-4 flex flex-col",
|
|
24602
24796
|
children: [e.map((e) => {
|
|
24603
24797
|
let t = e.isPriority ? c-- : 0, n = t ? () => {
|
|
24604
24798
|
let e = t + 1;
|
|
@@ -24675,12 +24869,11 @@ function EventDetailContentTicketDetails({ issue: e, notification: t, project: n
|
|
|
24675
24869
|
]
|
|
24676
24870
|
})] });
|
|
24677
24871
|
}
|
|
24678
|
-
function EventDetailContentTicket({ detail: { summary: e, body: t, priorityText: n, issue: r, notification: i, project: a, task: o, dueDate: s, startDate: c, assignees: l, reporter: u, team: f, location: p, related: h }, className:
|
|
24872
|
+
function EventDetailContentTicket({ detail: { summary: e, body: t, priorityText: n, issue: r, notification: i, project: a, task: o, dueDate: s, startDate: c, assignees: l, reporter: u, team: f, location: p, related: h }, className: Go }) {
|
|
24679
24873
|
return /* @__PURE__ */ jsxs(EventDetailContentHeader, {
|
|
24680
24874
|
summary: e,
|
|
24681
24875
|
priorityText: n,
|
|
24682
|
-
|
|
24683
|
-
className: g,
|
|
24876
|
+
className: Go,
|
|
24684
24877
|
children: [
|
|
24685
24878
|
/* @__PURE__ */ jsx(EventDetailContentTicketDetails, {
|
|
24686
24879
|
issue: r,
|
|
@@ -24700,18 +24893,149 @@ function EventDetailContentTicket({ detail: { summary: e, body: t, priorityText:
|
|
|
24700
24893
|
children: "Description"
|
|
24701
24894
|
}),
|
|
24702
24895
|
/* @__PURE__ */ jsx(RichContent, {
|
|
24703
|
-
className: "max-w-[1260px]
|
|
24896
|
+
className: "px-4 max-w-[1260px]",
|
|
24704
24897
|
content: t
|
|
24705
24898
|
})
|
|
24706
24899
|
]
|
|
24707
24900
|
});
|
|
24708
24901
|
}
|
|
24709
|
-
|
|
24902
|
+
var eventSummaryCardStyles = tv({
|
|
24903
|
+
base: "gap-1 rounded-lg p-4 flex w-full flex-col justify-between border-[1.5px] bg-white-variant-5",
|
|
24904
|
+
variants: {
|
|
24905
|
+
tone: {
|
|
24906
|
+
default: "hover:bg-primary-light",
|
|
24907
|
+
priority: "hover:bg-tertiary-500-variant-4"
|
|
24908
|
+
},
|
|
24909
|
+
state: {
|
|
24910
|
+
normal: "",
|
|
24911
|
+
selected: ""
|
|
24912
|
+
}
|
|
24913
|
+
},
|
|
24914
|
+
compoundVariants: [
|
|
24915
|
+
{
|
|
24916
|
+
tone: "default",
|
|
24917
|
+
state: "normal",
|
|
24918
|
+
class: "border-neutral-400"
|
|
24919
|
+
},
|
|
24920
|
+
{
|
|
24921
|
+
tone: "default",
|
|
24922
|
+
state: "selected",
|
|
24923
|
+
class: "border-primary-500 bg-primary-light"
|
|
24924
|
+
},
|
|
24925
|
+
{
|
|
24926
|
+
tone: "priority",
|
|
24927
|
+
state: "normal",
|
|
24928
|
+
class: "border-tertiary-500-variant-3"
|
|
24929
|
+
},
|
|
24930
|
+
{
|
|
24931
|
+
tone: "priority",
|
|
24932
|
+
state: "selected",
|
|
24933
|
+
class: "border-tertiary-500-variant-2 bg-tertiary-500-variant-4"
|
|
24934
|
+
}
|
|
24935
|
+
]
|
|
24936
|
+
});
|
|
24937
|
+
function insightLabelVisible(e) {
|
|
24938
|
+
return e != null && e !== "";
|
|
24939
|
+
}
|
|
24940
|
+
function EventSummaryInsightChip({ label: e }) {
|
|
24710
24941
|
return /* @__PURE__ */ jsxs("div", {
|
|
24711
|
-
className:
|
|
24712
|
-
|
|
24713
|
-
|
|
24714
|
-
className: "
|
|
24942
|
+
className: "h-5 gap-1 px-1.5 inline-flex shrink-0 items-center rounded-full border border-primary-400 bg-primary-light",
|
|
24943
|
+
children: [/* @__PURE__ */ jsx(InsightIcon, {
|
|
24944
|
+
size: 13,
|
|
24945
|
+
className: "text-primary-500"
|
|
24946
|
+
}), /* @__PURE__ */ jsx("span", {
|
|
24947
|
+
className: "font-semibold text-[10px] leading-none whitespace-nowrap text-primary-500",
|
|
24948
|
+
children: e
|
|
24949
|
+
})]
|
|
24950
|
+
});
|
|
24951
|
+
}
|
|
24952
|
+
function EventSummaryFireButton({ active: e, onClick: t }) {
|
|
24953
|
+
return /* @__PURE__ */ jsx(StopPropagation, { children: /* @__PURE__ */ jsx(IconButton, {
|
|
24954
|
+
className: cn("group h-5 w-5 rounded-full border border-neutral-300 hover:border-tertiary-400 hover:bg-tertiary-50", e && "border-tertiary-400 bg-tertiary-50"),
|
|
24955
|
+
icon: e ? /* @__PURE__ */ jsxs("span", {
|
|
24956
|
+
className: "contents",
|
|
24957
|
+
children: [/* @__PURE__ */ jsx(FireFillIcon, {
|
|
24958
|
+
size: 16,
|
|
24959
|
+
className: "block text-tertiary-500-variant-2 opacity-100 group-hover:hidden group-hover:opacity-0"
|
|
24960
|
+
}), /* @__PURE__ */ jsx(CloseIcon, {
|
|
24961
|
+
size: 12,
|
|
24962
|
+
className: "hidden text-neutral-500 opacity-0 group-hover:block group-hover:text-tertiary-500-variant-2 group-hover:opacity-100",
|
|
24963
|
+
strokeWidth: 2
|
|
24964
|
+
})]
|
|
24965
|
+
}) : /* @__PURE__ */ jsx(FireIcon, {
|
|
24966
|
+
size: 16,
|
|
24967
|
+
className: "text-neutral-500 group-hover:text-tertiary-500-variant-2"
|
|
24968
|
+
}),
|
|
24969
|
+
onClick: t,
|
|
24970
|
+
"aria-pressed": e
|
|
24971
|
+
}) });
|
|
24972
|
+
}
|
|
24973
|
+
function EventSummaryCard({ icon: e, service: t, sender: n, title: r, content: i, timestamp: a, workspace: o, selected: s = !1, onSelect: c, actions: l, className: u }) {
|
|
24974
|
+
let { fire: f, insight: p, link: h } = l, Go = p?.label ?? null;
|
|
24975
|
+
return /* @__PURE__ */ jsxs(Pressable, {
|
|
24976
|
+
onPress: c,
|
|
24977
|
+
className: cn(eventSummaryCardStyles({
|
|
24978
|
+
tone: f.active ? "priority" : "default",
|
|
24979
|
+
state: s ? "selected" : "normal"
|
|
24980
|
+
}), EVENT_SUMMARY_CARD_HEIGHT_SIZE.style, u),
|
|
24981
|
+
"data-service": t,
|
|
24982
|
+
children: [
|
|
24983
|
+
/* @__PURE__ */ jsxs("div", {
|
|
24984
|
+
className: "gap-1.5 flex items-center justify-between",
|
|
24985
|
+
children: [
|
|
24986
|
+
e,
|
|
24987
|
+
/* @__PURE__ */ jsx("span", {
|
|
24988
|
+
className: "min-w-0 -translate-x-0.5 text-sm font-medium truncate text-neutral-900",
|
|
24989
|
+
children: n
|
|
24990
|
+
}),
|
|
24991
|
+
/* @__PURE__ */ jsx(InfoTooltip, {
|
|
24992
|
+
content: o,
|
|
24993
|
+
children: /* @__PURE__ */ jsx(Avatar, {
|
|
24994
|
+
name: o,
|
|
24995
|
+
size: "xs"
|
|
24996
|
+
})
|
|
24997
|
+
}),
|
|
24998
|
+
/* @__PURE__ */ jsx("span", {
|
|
24999
|
+
className: "text-xs leading-tight font-semibold tracking-wide flex-1 text-right whitespace-nowrap text-neutral-800",
|
|
25000
|
+
children: a
|
|
25001
|
+
}),
|
|
25002
|
+
insightLabelVisible(Go) && /* @__PURE__ */ jsx(EventSummaryInsightChip, { label: Go }),
|
|
25003
|
+
/* @__PURE__ */ jsx(EventSummaryFireButton, {
|
|
25004
|
+
active: f.active,
|
|
25005
|
+
onClick: f.onClick
|
|
25006
|
+
})
|
|
25007
|
+
]
|
|
25008
|
+
}),
|
|
25009
|
+
/* @__PURE__ */ jsx("div", {
|
|
25010
|
+
className: "text-sm font-medium line-clamp-1 text-neutral-900",
|
|
25011
|
+
children: r
|
|
25012
|
+
}),
|
|
25013
|
+
/* @__PURE__ */ jsxs("div", {
|
|
25014
|
+
className: "gap-2 flex",
|
|
25015
|
+
children: [/* @__PURE__ */ jsx("div", {
|
|
25016
|
+
className: "min-w-0 text-sm font-normal line-clamp-1 flex-1 text-neutral-700",
|
|
25017
|
+
children: i
|
|
25018
|
+
}), /* @__PURE__ */ jsx(InfoTooltip, {
|
|
25019
|
+
content: h.tooltip,
|
|
25020
|
+
children: /* @__PURE__ */ jsx(StopPropagation, { children: /* @__PURE__ */ jsx(IconButton, {
|
|
25021
|
+
type: "button",
|
|
25022
|
+
icon: /* @__PURE__ */ jsx(ExternalLinkIcon, {
|
|
25023
|
+
size: 16,
|
|
25024
|
+
className: "text-neutral-800"
|
|
25025
|
+
}),
|
|
25026
|
+
className: "text-primary-500",
|
|
25027
|
+
onClick: h.onClick
|
|
25028
|
+
}) })
|
|
25029
|
+
})]
|
|
25030
|
+
})
|
|
25031
|
+
]
|
|
25032
|
+
});
|
|
25033
|
+
}
|
|
25034
|
+
function EventDetailHeader({ icon: e, subject: t, from: n, prefixTimestamp: r, timestamp: a, isPriority: o, isOpen: s, isFirstEvent: c, isSingleEvent: l, className: u, onFireClick: f }) {
|
|
25035
|
+
return /* @__PURE__ */ jsx("div", {
|
|
25036
|
+
className: cn("h-14 min-w-0 px-4 py-2 flex w-full items-center overflow-hidden bg-white", u),
|
|
25037
|
+
children: /* @__PURE__ */ jsxs("div", {
|
|
25038
|
+
className: "min-w-0 gap-3 flex w-full items-center overflow-hidden",
|
|
24715
25039
|
children: [
|
|
24716
25040
|
c && /* @__PURE__ */ jsx(IconButton, {
|
|
24717
25041
|
icon: /* @__PURE__ */ jsx(ArrowIcon, {
|
|
@@ -24720,41 +25044,36 @@ function EventDetailHeader({ icon: e, subject: t, from: n, prefixTimestamp: r, t
|
|
|
24720
25044
|
className: "text-neutral-700"
|
|
24721
25045
|
}),
|
|
24722
25046
|
"aria-label": "Go back",
|
|
24723
|
-
className: "rounded p-1 hover:bg-neutral-100
|
|
24724
|
-
}),
|
|
24725
|
-
/* @__PURE__ */ jsx("div", {
|
|
24726
|
-
className: "relative shrink-0",
|
|
24727
|
-
children: /* @__PURE__ */ jsxs("div", {
|
|
24728
|
-
className: "relative flex items-center justify-center",
|
|
24729
|
-
children: [cloneElement(e, { size: 36 }), !s && o && /* @__PURE__ */ jsx(FireIcon, {
|
|
24730
|
-
size: 16,
|
|
24731
|
-
className: "absolute right-[-12px] bottom-0 text-tertiary-500-variant-2"
|
|
24732
|
-
})]
|
|
24733
|
-
})
|
|
25047
|
+
className: "rounded p-1 md:hidden hover:bg-neutral-100"
|
|
24734
25048
|
}),
|
|
25049
|
+
cloneElement(e, { size: 36 }),
|
|
24735
25050
|
/* @__PURE__ */ jsxs("div", {
|
|
24736
25051
|
className: "w-0 min-w-0 flex-1 overflow-hidden",
|
|
24737
25052
|
children: [/* @__PURE__ */ jsx("h3", {
|
|
24738
|
-
className: "block truncate
|
|
25053
|
+
className: "text-sm font-bold block truncate leading-[1.3] text-neutral-900",
|
|
24739
25054
|
children: n
|
|
24740
25055
|
}), /* @__PURE__ */ jsx("div", {
|
|
24741
|
-
className: "block truncate
|
|
25056
|
+
className: "text-sm font-normal block truncate leading-[1.3] text-neutral-900",
|
|
24742
25057
|
children: t
|
|
24743
25058
|
})]
|
|
24744
25059
|
}),
|
|
24745
25060
|
/* @__PURE__ */ jsxs("div", {
|
|
24746
|
-
className: "flex max-w-[180px]
|
|
25061
|
+
className: "min-w-0 gap-1 text-xs flex max-w-[180px] shrink items-center text-right leading-[1.2] tracking-[0.12px]",
|
|
24747
25062
|
children: [r != null && /* @__PURE__ */ jsx("span", {
|
|
24748
|
-
className: "min-w-0
|
|
25063
|
+
className: "min-w-0 font-normal truncate text-neutral-600",
|
|
24749
25064
|
children: r
|
|
24750
25065
|
}), /* @__PURE__ */ jsx("span", {
|
|
24751
|
-
className: "shrink-0
|
|
25066
|
+
className: "font-medium shrink-0 whitespace-nowrap text-neutral-600",
|
|
24752
25067
|
children: a
|
|
24753
25068
|
})]
|
|
24754
25069
|
}),
|
|
24755
|
-
/* @__PURE__ */
|
|
24756
|
-
|
|
24757
|
-
|
|
25070
|
+
/* @__PURE__ */ jsx(EventSummaryFireButton, {
|
|
25071
|
+
active: o,
|
|
25072
|
+
onClick: f
|
|
25073
|
+
}),
|
|
25074
|
+
!l && /* @__PURE__ */ jsx("div", {
|
|
25075
|
+
className: "gap-2 flex shrink-0 items-center",
|
|
25076
|
+
children: /* @__PURE__ */ jsx(IconButton, {
|
|
24758
25077
|
icon: /* @__PURE__ */ jsx(ArrowIcon, {
|
|
24759
25078
|
size: 24,
|
|
24760
25079
|
className: "text-neutral-700",
|
|
@@ -24762,17 +25081,21 @@ function EventDetailHeader({ icon: e, subject: t, from: n, prefixTimestamp: r, t
|
|
|
24762
25081
|
}),
|
|
24763
25082
|
"aria-label": "Toggle event",
|
|
24764
25083
|
className: "rounded p-1 hover:bg-neutral-100"
|
|
24765
|
-
})
|
|
25084
|
+
})
|
|
25085
|
+
}),
|
|
25086
|
+
c && /* @__PURE__ */ jsx("div", {
|
|
25087
|
+
className: "gap-2 md:hidden flex shrink-0 items-center",
|
|
25088
|
+
children: /* @__PURE__ */ jsx(IconButton, {
|
|
24766
25089
|
icon: /* @__PURE__ */ jsx(MoreIcon, {
|
|
24767
25090
|
size: 24,
|
|
24768
25091
|
className: "text-neutral-700"
|
|
24769
25092
|
}),
|
|
24770
25093
|
"aria-label": "Close",
|
|
24771
|
-
className: "rounded p-1 hover:bg-neutral-100
|
|
24772
|
-
})
|
|
25094
|
+
className: "rounded p-1 hover:bg-neutral-100"
|
|
25095
|
+
})
|
|
24773
25096
|
})
|
|
24774
25097
|
]
|
|
24775
|
-
})
|
|
25098
|
+
})
|
|
24776
25099
|
});
|
|
24777
25100
|
}
|
|
24778
25101
|
function EventDetailSkeleton({ className: e }) {
|
|
@@ -24783,13 +25106,13 @@ function EventDetailSkeleton({ className: e }) {
|
|
|
24783
25106
|
}
|
|
24784
25107
|
function EventDetailHeaderSkeleton({ className: e }) {
|
|
24785
25108
|
return /* @__PURE__ */ jsx("div", {
|
|
24786
|
-
className: cn("
|
|
25109
|
+
className: cn("h-14 px-4 py-2 flex w-full items-center bg-white", e),
|
|
24787
25110
|
children: /* @__PURE__ */ jsxs("div", {
|
|
24788
|
-
className: "flex w-full items-center
|
|
25111
|
+
className: "gap-4 flex w-full items-center",
|
|
24789
25112
|
children: [
|
|
24790
25113
|
/* @__PURE__ */ jsx(Skeleton, { className: "h-9 w-9 rounded-full" }),
|
|
24791
25114
|
/* @__PURE__ */ jsxs("div", {
|
|
24792
|
-
className: "min-w-0
|
|
25115
|
+
className: "min-w-0 space-y-2 flex-1",
|
|
24793
25116
|
children: [/* @__PURE__ */ jsx(Skeleton, { className: "h-3 w-3/12" }), /* @__PURE__ */ jsx(Skeleton, { className: "h-3 w-9/12" })]
|
|
24794
25117
|
}),
|
|
24795
25118
|
/* @__PURE__ */ jsx(Skeleton, { className: "h-3 w-14" })
|
|
@@ -24801,11 +25124,11 @@ function EventDetailContentSkeleton() {
|
|
|
24801
25124
|
return /* @__PURE__ */ jsx("div", {
|
|
24802
25125
|
className: "flex flex-col",
|
|
24803
25126
|
children: /* @__PURE__ */ jsxs("div", {
|
|
24804
|
-
className: "
|
|
25127
|
+
className: "gap-4 p-4 flex flex-col",
|
|
24805
25128
|
children: [/* @__PURE__ */ jsxs("div", {
|
|
24806
|
-
className: "
|
|
25129
|
+
className: "gap-2 rounded-lg p-4 flex bg-neutral-100-variant-3",
|
|
24807
25130
|
children: [/* @__PURE__ */ jsx(Skeleton, { className: "h-6 w-6 rounded" }), /* @__PURE__ */ jsxs("div", {
|
|
24808
|
-
className: "
|
|
25131
|
+
className: "space-y-2 flex-1",
|
|
24809
25132
|
children: [
|
|
24810
25133
|
/* @__PURE__ */ jsx(Skeleton, { className: "h-3 w-6/12" }),
|
|
24811
25134
|
/* @__PURE__ */ jsx(Skeleton, { className: "h-3 w-10/12" }),
|
|
@@ -24847,7 +25170,7 @@ function renderEventContent(e) {
|
|
|
24847
25170
|
function getEventValue(e, t) {
|
|
24848
25171
|
return e.id ?? `${e.type}-${e.timestamp}-${t}`;
|
|
24849
25172
|
}
|
|
24850
|
-
function EventDetail({ events: e, expandedEventIndex: t }) {
|
|
25173
|
+
function EventDetail({ events: e, expandedEventIndex: t, onFireClick: n }) {
|
|
24851
25174
|
if (e.length === 0) return null;
|
|
24852
25175
|
if (e.length === 1) {
|
|
24853
25176
|
let t = e[0];
|
|
@@ -24863,67 +25186,69 @@ function EventDetail({ events: e, expandedEventIndex: t }) {
|
|
|
24863
25186
|
isOpen: !0,
|
|
24864
25187
|
isFirstEvent: !0,
|
|
24865
25188
|
isSingleEvent: !0,
|
|
24866
|
-
className: "
|
|
25189
|
+
className: "top-0 sticky z-10 border-b border-neutral-400",
|
|
25190
|
+
onFireClick: n
|
|
24867
25191
|
}), renderEventContent(t)]
|
|
24868
25192
|
});
|
|
24869
25193
|
}
|
|
24870
25194
|
return /* @__PURE__ */ jsx(Accordion, {
|
|
24871
25195
|
className: "w-full",
|
|
24872
25196
|
defaultValue: t === void 0 ? getEventValue(e[0], 0) : getEventValue(e[t], t),
|
|
24873
|
-
children: ({ openItems: t }) => /* @__PURE__ */ jsx(Fragment$1, { children: e.map((
|
|
24874
|
-
let
|
|
25197
|
+
children: ({ openItems: t }) => /* @__PURE__ */ jsx(Fragment$1, { children: e.map((r, i) => {
|
|
25198
|
+
let a = getEventValue(r, i), o = t.has(a);
|
|
24875
25199
|
return /* @__PURE__ */ jsxs(AccordionItem, {
|
|
24876
|
-
value:
|
|
25200
|
+
value: a,
|
|
24877
25201
|
children: [/* @__PURE__ */ jsx(AccordionTrigger, {
|
|
24878
|
-
value:
|
|
24879
|
-
className: "
|
|
25202
|
+
value: a,
|
|
25203
|
+
className: "top-0 sticky z-10",
|
|
24880
25204
|
children: /* @__PURE__ */ jsx(EventDetailHeader, {
|
|
24881
|
-
icon:
|
|
24882
|
-
subject:
|
|
24883
|
-
from:
|
|
24884
|
-
prefixTimestamp:
|
|
24885
|
-
timestamp:
|
|
24886
|
-
isPriority:
|
|
24887
|
-
isFirstEvent:
|
|
25205
|
+
icon: r.icon,
|
|
25206
|
+
subject: r.subject,
|
|
25207
|
+
from: r.from,
|
|
25208
|
+
prefixTimestamp: r.prefixTimestamp,
|
|
25209
|
+
timestamp: r.timestamp,
|
|
25210
|
+
isPriority: r.isPriority,
|
|
25211
|
+
isFirstEvent: i === 0,
|
|
24888
25212
|
isSingleEvent: !1,
|
|
24889
|
-
isOpen:
|
|
24890
|
-
className: "border-b border-neutral-400"
|
|
25213
|
+
isOpen: o,
|
|
25214
|
+
className: "border-b border-neutral-400",
|
|
25215
|
+
onFireClick: n
|
|
24891
25216
|
})
|
|
24892
25217
|
}), /* @__PURE__ */ jsx(AccordionContent, {
|
|
24893
|
-
value:
|
|
24894
|
-
className: cn(
|
|
24895
|
-
children: renderEventContent(
|
|
25218
|
+
value: a,
|
|
25219
|
+
className: cn(i < e.length - 1 && o && "border-b border-neutral-400"),
|
|
25220
|
+
children: renderEventContent(r)
|
|
24896
25221
|
})]
|
|
24897
|
-
},
|
|
25222
|
+
}, a);
|
|
24898
25223
|
}) })
|
|
24899
25224
|
});
|
|
24900
25225
|
}
|
|
24901
25226
|
const EventEmptyState = ({ icon: e, title: t, description: n }) => /* @__PURE__ */ jsxs("div", {
|
|
24902
|
-
className: "flex w-full flex-1 flex-col items-center justify-center
|
|
25227
|
+
className: "gap-3 p-4 flex w-full flex-1 flex-col items-center justify-center",
|
|
24903
25228
|
children: [cloneElement(e, {
|
|
24904
25229
|
size: e.props.size ?? 35,
|
|
24905
25230
|
className: "text-neutral-500"
|
|
24906
25231
|
}), /* @__PURE__ */ jsxs("div", {
|
|
24907
|
-
className: "flex flex-col items-center justify-center
|
|
25232
|
+
className: "gap-1 flex flex-col items-center justify-center",
|
|
24908
25233
|
children: [/* @__PURE__ */ jsx("h3", {
|
|
24909
|
-
className: "text-base leading-[1.3]
|
|
25234
|
+
className: "text-base font-medium leading-[1.3] text-neutral-900",
|
|
24910
25235
|
children: t
|
|
24911
25236
|
}), /* @__PURE__ */ jsx("p", {
|
|
24912
|
-
className: "w-full text-center
|
|
25237
|
+
className: "text-xs font-normal w-full text-center leading-[1.3] text-neutral-600",
|
|
24913
25238
|
children: n
|
|
24914
25239
|
})]
|
|
24915
25240
|
})]
|
|
24916
25241
|
});
|
|
24917
25242
|
function EventSummaryCardSkeleton({ className: e, style: t }) {
|
|
24918
25243
|
return /* @__PURE__ */ jsxs("div", {
|
|
24919
|
-
className: cn("flex w-full flex-col justify-between
|
|
25244
|
+
className: cn("gap-1 rounded-lg p-4 flex w-full flex-col justify-between bg-white-variant-5", EVENT_SUMMARY_CARD_HEIGHT_SIZE.style, e),
|
|
24920
25245
|
style: t,
|
|
24921
25246
|
children: [
|
|
24922
25247
|
/* @__PURE__ */ jsxs("div", {
|
|
24923
|
-
className: "grid grid-cols-[auto_minmax(0,1fr)_auto_auto_auto_auto] items-center
|
|
25248
|
+
className: "gap-1.5 grid grid-cols-[auto_minmax(0,1fr)_auto_auto_auto_auto] items-center",
|
|
24924
25249
|
children: [
|
|
24925
25250
|
/* @__PURE__ */ jsx(Skeleton, { className: "h-4 w-4" }),
|
|
24926
|
-
/* @__PURE__ */ jsx(Skeleton, { className: "h-4 w-
|
|
25251
|
+
/* @__PURE__ */ jsx(Skeleton, { className: "h-4 max-w-40 w-full" }),
|
|
24927
25252
|
/* @__PURE__ */ jsx(Skeleton, { className: "size-4 rounded-full" }),
|
|
24928
25253
|
/* @__PURE__ */ jsx(Skeleton, { className: "h-3 w-12" }),
|
|
24929
25254
|
/* @__PURE__ */ jsx(Skeleton, { className: "h-5 w-16 rounded-full" }),
|
|
@@ -24932,162 +25257,47 @@ function EventSummaryCardSkeleton({ className: e, style: t }) {
|
|
|
24932
25257
|
}),
|
|
24933
25258
|
/* @__PURE__ */ jsx(Skeleton, { className: "h-4 w-7/12" }),
|
|
24934
25259
|
/* @__PURE__ */ jsxs("div", {
|
|
24935
|
-
className: "flex items-center
|
|
25260
|
+
className: "gap-2 flex items-center",
|
|
24936
25261
|
children: [/* @__PURE__ */ jsx(Skeleton, { className: "h-4 min-w-0 flex-1" }), /* @__PURE__ */ jsx(Skeleton, { className: "size-5 shrink-0" })]
|
|
24937
25262
|
})
|
|
24938
25263
|
]
|
|
24939
25264
|
});
|
|
24940
25265
|
}
|
|
24941
|
-
var eventSummaryCardStyles = tv({
|
|
24942
|
-
base: "flex w-full flex-col justify-between gap-1 rounded-lg border-[1.5px] bg-white-variant-5 p-4",
|
|
24943
|
-
variants: {
|
|
24944
|
-
tone: {
|
|
24945
|
-
default: "hover:bg-primary-light",
|
|
24946
|
-
priority: "hover:bg-tertiary-500-variant-4"
|
|
24947
|
-
},
|
|
24948
|
-
state: {
|
|
24949
|
-
normal: "",
|
|
24950
|
-
selected: ""
|
|
24951
|
-
}
|
|
24952
|
-
},
|
|
24953
|
-
compoundVariants: [
|
|
24954
|
-
{
|
|
24955
|
-
tone: "default",
|
|
24956
|
-
state: "normal",
|
|
24957
|
-
class: "border-neutral-400"
|
|
24958
|
-
},
|
|
24959
|
-
{
|
|
24960
|
-
tone: "default",
|
|
24961
|
-
state: "selected",
|
|
24962
|
-
class: "border-primary-500 bg-primary-light"
|
|
24963
|
-
},
|
|
24964
|
-
{
|
|
24965
|
-
tone: "priority",
|
|
24966
|
-
state: "normal",
|
|
24967
|
-
class: "border-tertiary-500-variant-3"
|
|
24968
|
-
},
|
|
24969
|
-
{
|
|
24970
|
-
tone: "priority",
|
|
24971
|
-
state: "selected",
|
|
24972
|
-
class: "border-tertiary-500-variant-2 bg-tertiary-500-variant-4"
|
|
24973
|
-
}
|
|
24974
|
-
]
|
|
24975
|
-
});
|
|
24976
|
-
function insightLabelVisible(e) {
|
|
24977
|
-
return e != null && e !== "";
|
|
24978
|
-
}
|
|
24979
|
-
function EventSummaryInsightChip({ label: e }) {
|
|
24980
|
-
return /* @__PURE__ */ jsxs("div", {
|
|
24981
|
-
className: "inline-flex h-5 shrink-0 items-center gap-1 rounded-full border border-primary-400 bg-primary-light px-1.5",
|
|
24982
|
-
children: [/* @__PURE__ */ jsx(InsightIcon, {
|
|
24983
|
-
size: 13,
|
|
24984
|
-
className: "text-primary-500"
|
|
24985
|
-
}), /* @__PURE__ */ jsx("span", {
|
|
24986
|
-
className: "text-[10px] leading-none font-semibold whitespace-nowrap text-primary-500",
|
|
24987
|
-
children: e
|
|
24988
|
-
})]
|
|
24989
|
-
});
|
|
24990
|
-
}
|
|
24991
|
-
function EventSummaryFireButton({ active: e, onClick: t }) {
|
|
24992
|
-
return /* @__PURE__ */ jsx(StopPropagation, { children: /* @__PURE__ */ jsx(IconButton, {
|
|
24993
|
-
className: cn("group h-5 w-5 rounded-full border border-neutral-300 hover:border-tertiary-400 hover:bg-tertiary-50", e && "border-tertiary-400 bg-tertiary-50"),
|
|
24994
|
-
icon: e ? /* @__PURE__ */ jsxs("span", {
|
|
24995
|
-
className: "contents",
|
|
24996
|
-
children: [/* @__PURE__ */ jsx(FireFillIcon, {
|
|
24997
|
-
size: 16,
|
|
24998
|
-
className: "block text-tertiary-500-variant-2 opacity-100 group-hover:hidden group-hover:opacity-0"
|
|
24999
|
-
}), /* @__PURE__ */ jsx(CloseIcon, {
|
|
25000
|
-
size: 12,
|
|
25001
|
-
className: "hidden text-neutral-500 opacity-0 group-hover:block group-hover:text-tertiary-500-variant-2 group-hover:opacity-100",
|
|
25002
|
-
strokeWidth: 2
|
|
25003
|
-
})]
|
|
25004
|
-
}) : /* @__PURE__ */ jsx(FireIcon, {
|
|
25005
|
-
size: 16,
|
|
25006
|
-
className: "text-neutral-500 group-hover:text-tertiary-500-variant-2"
|
|
25007
|
-
}),
|
|
25008
|
-
onClick: t,
|
|
25009
|
-
"aria-pressed": e
|
|
25010
|
-
}) });
|
|
25011
|
-
}
|
|
25012
|
-
function EventSummaryCard({ icon: e, service: t, sender: n, title: r, content: i, timestamp: a, workspace: o, selected: s = !1, onSelect: c, actions: l, className: u }) {
|
|
25013
|
-
let { fire: f, insight: p, link: h } = l, g = p?.label ?? null;
|
|
25014
|
-
return /* @__PURE__ */ jsxs(Pressable, {
|
|
25015
|
-
onPress: c,
|
|
25016
|
-
className: cn(eventSummaryCardStyles({
|
|
25017
|
-
tone: f.active ? "priority" : "default",
|
|
25018
|
-
state: s ? "selected" : "normal"
|
|
25019
|
-
}), EVENT_SUMMARY_CARD_HEIGHT_SIZE.style, u),
|
|
25020
|
-
"data-service": t,
|
|
25021
|
-
children: [
|
|
25022
|
-
/* @__PURE__ */ jsxs("div", {
|
|
25023
|
-
className: "flex items-center justify-between gap-1.5",
|
|
25024
|
-
children: [
|
|
25025
|
-
e,
|
|
25026
|
-
/* @__PURE__ */ jsx("span", {
|
|
25027
|
-
className: "min-w-0 -translate-x-0.5 truncate text-sm font-medium text-neutral-900",
|
|
25028
|
-
children: n
|
|
25029
|
-
}),
|
|
25030
|
-
/* @__PURE__ */ jsx(InfoTooltip, {
|
|
25031
|
-
content: o,
|
|
25032
|
-
children: /* @__PURE__ */ jsx(Avatar, {
|
|
25033
|
-
name: o,
|
|
25034
|
-
size: "xs"
|
|
25035
|
-
})
|
|
25036
|
-
}),
|
|
25037
|
-
/* @__PURE__ */ jsx("span", {
|
|
25038
|
-
className: "flex-1 text-right text-xs leading-tight font-semibold tracking-wide whitespace-nowrap text-neutral-800",
|
|
25039
|
-
children: a
|
|
25040
|
-
}),
|
|
25041
|
-
insightLabelVisible(g) && /* @__PURE__ */ jsx(EventSummaryInsightChip, { label: g }),
|
|
25042
|
-
/* @__PURE__ */ jsx(EventSummaryFireButton, {
|
|
25043
|
-
active: f.active,
|
|
25044
|
-
onClick: f.onClick
|
|
25045
|
-
})
|
|
25046
|
-
]
|
|
25047
|
-
}),
|
|
25048
|
-
/* @__PURE__ */ jsx("div", {
|
|
25049
|
-
className: "line-clamp-1 text-sm font-medium text-neutral-900",
|
|
25050
|
-
children: r
|
|
25051
|
-
}),
|
|
25052
|
-
/* @__PURE__ */ jsxs("div", {
|
|
25053
|
-
className: "flex gap-2",
|
|
25054
|
-
children: [/* @__PURE__ */ jsx("div", {
|
|
25055
|
-
className: "line-clamp-1 min-w-0 flex-1 text-sm font-normal text-neutral-700",
|
|
25056
|
-
children: i
|
|
25057
|
-
}), /* @__PURE__ */ jsx(InfoTooltip, {
|
|
25058
|
-
content: h.tooltip,
|
|
25059
|
-
children: /* @__PURE__ */ jsx(StopPropagation, { children: /* @__PURE__ */ jsx(IconButton, {
|
|
25060
|
-
type: "button",
|
|
25061
|
-
icon: /* @__PURE__ */ jsx(ExternalLinkIcon, {
|
|
25062
|
-
size: 16,
|
|
25063
|
-
className: "text-neutral-800"
|
|
25064
|
-
}),
|
|
25065
|
-
className: "text-primary-500",
|
|
25066
|
-
onClick: h.onClick
|
|
25067
|
-
}) })
|
|
25068
|
-
})]
|
|
25069
|
-
})
|
|
25070
|
-
]
|
|
25071
|
-
});
|
|
25072
|
-
}
|
|
25073
25266
|
function FilterBarSkeleton({ itemCount: e = 3, className: t }) {
|
|
25074
25267
|
return /* @__PURE__ */ jsx("div", {
|
|
25075
|
-
className: cn("flex flex-wrap items-center
|
|
25268
|
+
className: cn("gap-2 flex flex-wrap items-center", t),
|
|
25076
25269
|
children: Array.from({ length: e }).map((e, t) => /* @__PURE__ */ jsx(FilterChipSkeleton, {}, t))
|
|
25077
25270
|
});
|
|
25078
25271
|
}
|
|
25079
25272
|
function FilterChipSkeleton() {
|
|
25080
25273
|
return /* @__PURE__ */ jsxs("div", {
|
|
25081
|
-
className: "flex items-center
|
|
25274
|
+
className: "gap-1 px-2 py-1 flex items-center rounded-full border border-neutral-300 bg-white",
|
|
25082
25275
|
children: [/* @__PURE__ */ jsx(Skeleton, { className: "m-0.5 size-4 rounded-full" }), /* @__PURE__ */ jsx(Skeleton, { className: "h-3 w-15" })]
|
|
25083
25276
|
});
|
|
25084
25277
|
}
|
|
25085
25278
|
function FilterBar({ children: e, className: t }) {
|
|
25086
25279
|
return /* @__PURE__ */ jsx("div", {
|
|
25087
|
-
className: cn("flex flex-wrap items-center
|
|
25280
|
+
className: cn("gap-2 flex flex-wrap items-center", t),
|
|
25088
25281
|
children: e.map((e, t) => cloneElement(e, { key: t }))
|
|
25089
25282
|
});
|
|
25090
25283
|
}
|
|
25284
|
+
function HelpPanel({ classNames: e, ...t }) {
|
|
25285
|
+
return /* @__PURE__ */ jsx(HelpPanelEngine, {
|
|
25286
|
+
...t,
|
|
25287
|
+
classNames: {
|
|
25288
|
+
root: cn("right-3 rounded-2xl shadow-2xl top-[68px] z-99999 max-h-[calc(100vh-84px)] w-[300px] border border-neutral-200 bg-white", e?.root),
|
|
25289
|
+
header: cn("p-4 bg-primary-500", e?.header),
|
|
25290
|
+
title: cn("text-sm font-semibold text-white", e?.title),
|
|
25291
|
+
closeButton: cn("text-white/70 hover:text-white", e?.closeButton),
|
|
25292
|
+
body: e?.body,
|
|
25293
|
+
accordion: e?.accordion,
|
|
25294
|
+
item: e?.item,
|
|
25295
|
+
itemTrigger: cn("p-3 font-semibold hover:bg-neutral-100", e?.itemTrigger),
|
|
25296
|
+
itemContent: cn("p-4", e?.itemContent),
|
|
25297
|
+
footer: cn("px-4 py-3 border-t border-neutral-200", e?.footer)
|
|
25298
|
+
}
|
|
25299
|
+
});
|
|
25300
|
+
}
|
|
25091
25301
|
var dividerStyles = tv({
|
|
25092
25302
|
base: "bg-neutral-400-variant-4",
|
|
25093
25303
|
variants: {
|
|
@@ -25143,7 +25353,7 @@ function Divider({ className: e, ...t }) {
|
|
|
25143
25353
|
return /* @__PURE__ */ jsx("div", { className: cn(dividerStyles(t), e) });
|
|
25144
25354
|
}
|
|
25145
25355
|
function IntegrationBarSkeleton({ orientation: e = "vertical", itemCount: t = 3, className: n }) {
|
|
25146
|
-
let r = e === "vertical", i = cn("size-full", r ? "overflow-x-hidden" : "overflow-y-hidden"), a = cn("grid h-full w-full place-items-center
|
|
25356
|
+
let r = e === "vertical", i = cn("size-full", r ? "overflow-x-hidden" : "overflow-y-hidden"), a = cn("gap-4 grid h-full w-full place-items-center", r ? "grid-cols-1" : "auto-cols-max grid-flow-col", n), o = cn("flex w-fit items-center", r ? "gap-1 flex-col" : "gap-2 flex-row"), s = cn("h-3", r ? "w-12 text-[9px]" : "w-16 text-xs"), c = cn("h-3", r ? "w-8 text-[9px]" : "w-10 text-xs");
|
|
25147
25357
|
return /* @__PURE__ */ jsx("div", {
|
|
25148
25358
|
className: i,
|
|
25149
25359
|
children: /* @__PURE__ */ jsxs("div", {
|
|
@@ -25164,10 +25374,10 @@ function IntegrationBarSkeleton({ orientation: e = "vertical", itemCount: t = 3,
|
|
|
25164
25374
|
}
|
|
25165
25375
|
function IntegrationBar({ orientation: e = "vertical", children: t, onAddMore: n, className: r }) {
|
|
25166
25376
|
return /* @__PURE__ */ jsxs("div", {
|
|
25167
|
-
className: cn("
|
|
25377
|
+
className: cn("min-h-0 min-w-0 flex size-full", e === "vertical" ? "flex-col items-center" : "flex-row items-center", r),
|
|
25168
25378
|
children: [
|
|
25169
25379
|
/* @__PURE__ */ jsx("div", {
|
|
25170
|
-
className: cn("
|
|
25380
|
+
className: cn("min-h-0 min-w-0 grid place-items-center", e === "vertical" ? "w-full flex-1 grid-cols-1 overflow-x-hidden overflow-y-auto" : "h-full flex-1 auto-cols-max grid-flow-col overflow-x-auto overflow-y-hidden"),
|
|
25171
25381
|
children: t.map((t) => cloneElement(t, { classNames: { root: e === "vertical" ? "py-2" : "px-2" } }))
|
|
25172
25382
|
}),
|
|
25173
25383
|
/* @__PURE__ */ jsx(Divider, { orientation: e === "vertical" ? "horizontal" : "vertical" }),
|
|
@@ -25186,9 +25396,9 @@ function IntegrationItemSkeleton() {
|
|
|
25186
25396
|
return /* @__PURE__ */ jsx("div", {
|
|
25187
25397
|
className: "flex w-full items-center justify-center",
|
|
25188
25398
|
children: /* @__PURE__ */ jsx("div", {
|
|
25189
|
-
className: "flex w-full flex-col
|
|
25399
|
+
className: "gap-2 rounded-lg px-3 py-3 flex w-full flex-col bg-neutral-100-variant-3",
|
|
25190
25400
|
children: /* @__PURE__ */ jsxs("div", {
|
|
25191
|
-
className: "flex items-center justify-between
|
|
25401
|
+
className: "gap-2 flex items-center justify-between",
|
|
25192
25402
|
children: [/* @__PURE__ */ jsx(Skeleton, { className: "h-4 w-1/3" }), /* @__PURE__ */ jsx(Skeleton, { className: "h-4 w-1/8" })]
|
|
25193
25403
|
})
|
|
25194
25404
|
})
|
|
@@ -25197,14 +25407,14 @@ function IntegrationItemSkeleton() {
|
|
|
25197
25407
|
function IntegrationsCard({ icon: e, name: t, maxConnectionsPerService: r, connectLabel: a, onConnect: o, isLoading: s, children: c }) {
|
|
25198
25408
|
let l = Children.toArray(c).length;
|
|
25199
25409
|
return /* @__PURE__ */ jsxs("div", {
|
|
25200
|
-
className: "
|
|
25410
|
+
className: "gap-4 rounded-lg p-4 flex flex-col border border-neutral-400 bg-white",
|
|
25201
25411
|
children: [
|
|
25202
25412
|
/* @__PURE__ */ jsxs("div", {
|
|
25203
25413
|
className: "flex items-center justify-between",
|
|
25204
25414
|
children: [/* @__PURE__ */ jsxs("div", {
|
|
25205
|
-
className: "
|
|
25415
|
+
className: "min-w-0 gap-2 flex flex-1 items-center",
|
|
25206
25416
|
children: [/* @__PURE__ */ jsx("div", {
|
|
25207
|
-
className: "
|
|
25417
|
+
className: "h-11 w-11 flex shrink-0 items-center justify-center",
|
|
25208
25418
|
children: /* @__PURE__ */ jsx("div", {
|
|
25209
25419
|
className: "flex items-center justify-center",
|
|
25210
25420
|
children: cloneElement(e, {
|
|
@@ -25213,9 +25423,9 @@ function IntegrationsCard({ icon: e, name: t, maxConnectionsPerService: r, conne
|
|
|
25213
25423
|
})
|
|
25214
25424
|
})
|
|
25215
25425
|
}), /* @__PURE__ */ jsxs("div", {
|
|
25216
|
-
className: "
|
|
25426
|
+
className: "min-w-0 flex flex-1 flex-col",
|
|
25217
25427
|
children: [/* @__PURE__ */ jsx("div", {
|
|
25218
|
-
className: "
|
|
25428
|
+
className: "text-xs font-bold truncate text-neutral-800",
|
|
25219
25429
|
children: t
|
|
25220
25430
|
}), /* @__PURE__ */ jsx("div", {
|
|
25221
25431
|
className: "text-xs font-normal text-neutral-800",
|
|
@@ -25223,14 +25433,14 @@ function IntegrationsCard({ icon: e, name: t, maxConnectionsPerService: r, conne
|
|
|
25223
25433
|
})]
|
|
25224
25434
|
})]
|
|
25225
25435
|
}), l < r && !s && /* @__PURE__ */ jsx(Button, {
|
|
25226
|
-
className: "
|
|
25436
|
+
className: "gap-1 rounded-lg px-2 py-1 text-xs font-bold flex shrink-0 items-center border border-brand-primary bg-white text-brand-primary transition-opacity hover:opacity-70",
|
|
25227
25437
|
onClick: o,
|
|
25228
25438
|
children: a
|
|
25229
25439
|
})]
|
|
25230
25440
|
}),
|
|
25231
25441
|
s && /* @__PURE__ */ jsx(IntegrationItemSkeleton, {}),
|
|
25232
25442
|
l > 0 && c && /* @__PURE__ */ jsx("div", {
|
|
25233
|
-
className: "flex flex-col
|
|
25443
|
+
className: "gap-2 flex flex-col",
|
|
25234
25444
|
children: c
|
|
25235
25445
|
})
|
|
25236
25446
|
]
|
|
@@ -25238,19 +25448,19 @@ function IntegrationsCard({ icon: e, name: t, maxConnectionsPerService: r, conne
|
|
|
25238
25448
|
}
|
|
25239
25449
|
function IntegrationItem({ account: e, valid: t, disconnectLabel: n, onDisconnect: r, invalidLabel: i, invalidDescription: a }) {
|
|
25240
25450
|
return /* @__PURE__ */ jsxs("div", {
|
|
25241
|
-
className: cn("
|
|
25451
|
+
className: cn("gap-2 rounded-lg px-3 py-3 flex flex-col border", t === !1 ? "border-error-base bg-error-base/5" : "border-brand-primary bg-neutral-100-variant-3"),
|
|
25242
25452
|
children: [/* @__PURE__ */ jsxs("div", {
|
|
25243
|
-
className: "flex items-center justify-between
|
|
25453
|
+
className: "gap-2 flex items-center justify-between",
|
|
25244
25454
|
children: [/* @__PURE__ */ jsx("div", {
|
|
25245
|
-
className: "
|
|
25455
|
+
className: "text-xs font-bold flex-1 truncate text-neutral-800",
|
|
25246
25456
|
children: e
|
|
25247
25457
|
}), /* @__PURE__ */ jsx(Button, {
|
|
25248
|
-
className: "
|
|
25458
|
+
className: "text-xs font-medium shrink-0 text-error-base underline transition-opacity hover:opacity-70",
|
|
25249
25459
|
onClick: r,
|
|
25250
25460
|
children: n
|
|
25251
25461
|
})]
|
|
25252
25462
|
}), t === !1 && /* @__PURE__ */ jsxs("div", {
|
|
25253
|
-
className: "
|
|
25463
|
+
className: "gap-2 flex",
|
|
25254
25464
|
children: [/* @__PURE__ */ jsx("div", {
|
|
25255
25465
|
className: "text-xs font-semibold text-error-base",
|
|
25256
25466
|
children: i
|
|
@@ -25261,17 +25471,191 @@ function IntegrationItem({ account: e, valid: t, disconnectLabel: n, onDisconnec
|
|
|
25261
25471
|
})]
|
|
25262
25472
|
});
|
|
25263
25473
|
}
|
|
25474
|
+
function ArrowTowardCardEnd() {
|
|
25475
|
+
return /* @__PURE__ */ jsx("div", {
|
|
25476
|
+
className: "h-0 w-0 shrink-0 border-y-8 border-r-10 border-y-transparent border-r-primary-500",
|
|
25477
|
+
"aria-hidden": !0
|
|
25478
|
+
});
|
|
25479
|
+
}
|
|
25480
|
+
function ArrowTowardCardStart() {
|
|
25481
|
+
return /* @__PURE__ */ jsx("div", {
|
|
25482
|
+
className: "h-0 w-0 shrink-0 border-y-8 border-l-10 border-y-transparent border-l-primary-500",
|
|
25483
|
+
"aria-hidden": !0
|
|
25484
|
+
});
|
|
25485
|
+
}
|
|
25486
|
+
function ArrowTowardCardBelow() {
|
|
25487
|
+
return /* @__PURE__ */ jsx("div", {
|
|
25488
|
+
className: "h-0 w-0 shrink-0 border-x-8 border-b-10 border-x-transparent border-b-primary-500",
|
|
25489
|
+
"aria-hidden": !0
|
|
25490
|
+
});
|
|
25491
|
+
}
|
|
25492
|
+
function ArrowTowardCardAbove() {
|
|
25493
|
+
return /* @__PURE__ */ jsx("div", {
|
|
25494
|
+
className: "h-0 w-0 shrink-0 border-x-8 border-t-10 border-x-transparent border-t-primary-500",
|
|
25495
|
+
"aria-hidden": !0
|
|
25496
|
+
});
|
|
25497
|
+
}
|
|
25498
|
+
function OnboardingCardArrow({ layout: e, placement: t }) {
|
|
25499
|
+
return jsx(e === "horizontal" ? t === "before" ? ArrowTowardCardEnd : ArrowTowardCardStart : t === "before" ? ArrowTowardCardBelow : ArrowTowardCardAbove, {});
|
|
25500
|
+
}
|
|
25501
|
+
function wrapArrow(e, t, n) {
|
|
25502
|
+
return t == null && n == null ? e : /* @__PURE__ */ jsx("div", {
|
|
25503
|
+
className: t,
|
|
25504
|
+
style: n,
|
|
25505
|
+
"aria-hidden": !0,
|
|
25506
|
+
children: e
|
|
25507
|
+
});
|
|
25508
|
+
}
|
|
25509
|
+
function OnboardingCard({ stepLabel: e, title: t, description: n, titleAccessory: r, primaryAction: i, secondaryAction: a, layout: o, arrowPlacement: s = "before", arrowWrapperClassName: c, arrowWrapperStyle: l, className: u, cardClassName: f }) {
|
|
25510
|
+
let p = i != null || a != null, h = /* @__PURE__ */ jsxs("div", {
|
|
25511
|
+
className: cn("rounded-xl p-4 shadow-xl bg-primary-500 text-white", f),
|
|
25512
|
+
children: [
|
|
25513
|
+
e != null && /* @__PURE__ */ jsx("p", {
|
|
25514
|
+
className: "mb-1 font-semibold tracking-widest text-[10px] text-white uppercase opacity-70",
|
|
25515
|
+
children: e
|
|
25516
|
+
}),
|
|
25517
|
+
r == null ? /* @__PURE__ */ jsx("div", {
|
|
25518
|
+
className: "mb-1 text-sm leading-snug font-semibold",
|
|
25519
|
+
children: t
|
|
25520
|
+
}) : /* @__PURE__ */ jsxs("div", {
|
|
25521
|
+
className: "mb-1 gap-1.5 flex items-center",
|
|
25522
|
+
children: [/* @__PURE__ */ jsx("div", {
|
|
25523
|
+
className: "text-sm leading-snug font-semibold",
|
|
25524
|
+
children: t
|
|
25525
|
+
}), r]
|
|
25526
|
+
}),
|
|
25527
|
+
/* @__PURE__ */ jsx("div", {
|
|
25528
|
+
className: "mb-4 text-xs leading-relaxed font-normal opacity-90",
|
|
25529
|
+
children: n
|
|
25530
|
+
}),
|
|
25531
|
+
p && /* @__PURE__ */ jsxs("div", {
|
|
25532
|
+
className: "gap-2 flex items-center",
|
|
25533
|
+
children: [i, a]
|
|
25534
|
+
})
|
|
25535
|
+
]
|
|
25536
|
+
}), Go = wrapArrow(/* @__PURE__ */ jsx(OnboardingCardArrow, {
|
|
25537
|
+
layout: o,
|
|
25538
|
+
placement: s
|
|
25539
|
+
}), c, l), g = s === "before" ? /* @__PURE__ */ jsxs(Fragment$1, { children: [Go, h] }) : /* @__PURE__ */ jsxs(Fragment$1, { children: [h, Go] });
|
|
25540
|
+
return o === "horizontal" ? /* @__PURE__ */ jsx("div", {
|
|
25541
|
+
className: cn("flex items-center", u),
|
|
25542
|
+
children: g
|
|
25543
|
+
}) : /* @__PURE__ */ jsx("div", {
|
|
25544
|
+
className: cn("flex flex-col items-center", u),
|
|
25545
|
+
children: g
|
|
25546
|
+
});
|
|
25547
|
+
}
|
|
25548
|
+
var subscribeNoop = () => () => {}, getClientSnapshot = () => !0, getServerSnapshot = () => !1, PRIMARY_BTN = "rounded-lg bg-white px-4 py-1.5 text-xs font-semibold text-primary-500 transition-opacity hover:opacity-90", GHOST_BTN = "text-xs font-semibold text-white/70 transition-colors hover:text-white";
|
|
25549
|
+
function measureStepPosition(e, t) {
|
|
25550
|
+
let n = t.getBoundingClientRect();
|
|
25551
|
+
return e.layout === "horizontal" ? {
|
|
25552
|
+
mode: "horizontal",
|
|
25553
|
+
top: (e.horizontalAlign ?? "target-center") === "viewport-center" ? window.innerHeight / 2 : n.top + n.height / 2,
|
|
25554
|
+
left: n.right + 12
|
|
25555
|
+
} : {
|
|
25556
|
+
mode: "vertical",
|
|
25557
|
+
top: n.bottom + 10,
|
|
25558
|
+
left: n.left,
|
|
25559
|
+
arrowMarginLeft: n.width / 2 - 8
|
|
25560
|
+
};
|
|
25561
|
+
}
|
|
25562
|
+
function measureActiveStep(e) {
|
|
25563
|
+
if (e == null) return null;
|
|
25564
|
+
let t = document.getElementById(e.targetId);
|
|
25565
|
+
return t ? measureStepPosition(e, t) : null;
|
|
25566
|
+
}
|
|
25567
|
+
function OnboardingPortal({ currentStep: e, currentStepIndex: t, actions: n, steps: r, onFinish: i }) {
|
|
25568
|
+
let a = useSyncExternalStore(subscribeNoop, getClientSnapshot, getServerSnapshot), [o, s] = useState(null), c = useRef(!1), u = e != null;
|
|
25569
|
+
if (useLayoutEffect(() => {
|
|
25570
|
+
if (!a || !u) {
|
|
25571
|
+
let e = requestAnimationFrame(() => s(null));
|
|
25572
|
+
return () => cancelAnimationFrame(e);
|
|
25573
|
+
}
|
|
25574
|
+
let t = 0, n = () => {
|
|
25575
|
+
cancelAnimationFrame(t), t = requestAnimationFrame(() => {
|
|
25576
|
+
s(measureActiveStep(e));
|
|
25577
|
+
});
|
|
25578
|
+
};
|
|
25579
|
+
return n(), window.addEventListener("scroll", n, !0), window.addEventListener("resize", n), () => {
|
|
25580
|
+
cancelAnimationFrame(t), window.removeEventListener("scroll", n, !0), window.removeEventListener("resize", n);
|
|
25581
|
+
};
|
|
25582
|
+
}, [
|
|
25583
|
+
a,
|
|
25584
|
+
u,
|
|
25585
|
+
e,
|
|
25586
|
+
r
|
|
25587
|
+
]), useEffect(() => {
|
|
25588
|
+
c.current && !u && i?.(), c.current = u;
|
|
25589
|
+
}, [u, i]), !a || typeof document > "u" || !u || o == null) return null;
|
|
25590
|
+
let p = e.layout === "vertical" && o.mode === "vertical" ? {
|
|
25591
|
+
marginLeft: o.arrowMarginLeft,
|
|
25592
|
+
...e.arrowWrapperStyle
|
|
25593
|
+
} : e.arrowWrapperStyle, O = /* @__PURE__ */ jsx(OnboardingCard, {
|
|
25594
|
+
stepLabel: e.stepLabel ?? (t == null ? void 0 : `${t + 1} / ${r.length}`),
|
|
25595
|
+
title: e.title,
|
|
25596
|
+
description: e.description,
|
|
25597
|
+
titleAccessory: e.titleAccessory,
|
|
25598
|
+
layout: e.layout,
|
|
25599
|
+
arrowPlacement: e.arrowPlacement ?? "before",
|
|
25600
|
+
className: cn("tour-fade-in-up", e.layout === "vertical" && "items-start", e.className),
|
|
25601
|
+
cardClassName: e.cardClassName,
|
|
25602
|
+
arrowWrapperClassName: e.arrowWrapperClassName,
|
|
25603
|
+
arrowWrapperStyle: p,
|
|
25604
|
+
primaryAction: /* @__PURE__ */ jsx(Button, {
|
|
25605
|
+
type: "button",
|
|
25606
|
+
className: PRIMARY_BTN,
|
|
25607
|
+
onClick: () => n.dismissCurrentStep(),
|
|
25608
|
+
children: "Got it"
|
|
25609
|
+
}),
|
|
25610
|
+
secondaryAction: /* @__PURE__ */ jsx(Button, {
|
|
25611
|
+
type: "button",
|
|
25612
|
+
className: GHOST_BTN,
|
|
25613
|
+
onClick: () => n.skipAll(),
|
|
25614
|
+
children: "Skip"
|
|
25615
|
+
})
|
|
25616
|
+
}, e.id);
|
|
25617
|
+
return createPortal(/* @__PURE__ */ jsx("div", {
|
|
25618
|
+
...o.mode === "horizontal" ? {
|
|
25619
|
+
className: "pointer-events-auto fixed z-[999999] flex items-center",
|
|
25620
|
+
style: {
|
|
25621
|
+
top: o.top,
|
|
25622
|
+
left: o.left,
|
|
25623
|
+
transform: "translateY(-50%)"
|
|
25624
|
+
}
|
|
25625
|
+
} : {
|
|
25626
|
+
className: "pointer-events-auto fixed z-[999999] flex flex-col items-start",
|
|
25627
|
+
style: {
|
|
25628
|
+
top: o.top,
|
|
25629
|
+
left: o.left
|
|
25630
|
+
}
|
|
25631
|
+
},
|
|
25632
|
+
children: O
|
|
25633
|
+
}), document.body);
|
|
25634
|
+
}
|
|
25635
|
+
function Onboarding({ steps: e, context: t, storageKey: n, onFinish: r, isEnabled: i = !0 }) {
|
|
25636
|
+
return /* @__PURE__ */ jsx(OnboardingEngine, {
|
|
25637
|
+
steps: e,
|
|
25638
|
+
context: t,
|
|
25639
|
+
storageKey: n,
|
|
25640
|
+
isEnabled: i,
|
|
25641
|
+
children: (t) => /* @__PURE__ */ jsx(OnboardingPortal, {
|
|
25642
|
+
...t,
|
|
25643
|
+
steps: e,
|
|
25644
|
+
onFinish: r
|
|
25645
|
+
})
|
|
25646
|
+
});
|
|
25647
|
+
}
|
|
25264
25648
|
function SearchInput({ value: e, defaultValue: t, placeholder: n = "Search...", onChange: r, onKeyDown: i, onClear: a, disabled: o = !1, className: s }) {
|
|
25265
25649
|
let [c, l] = useState(t ?? ""), u = typeof e == "string", f = u ? e : c, p = f.length > 0;
|
|
25266
|
-
function
|
|
25650
|
+
function h(e) {
|
|
25267
25651
|
u || l(e), r?.(e);
|
|
25268
25652
|
}
|
|
25269
|
-
function
|
|
25653
|
+
function g() {
|
|
25270
25654
|
u || l(""), r?.(""), a?.();
|
|
25271
25655
|
}
|
|
25272
25656
|
return /* @__PURE__ */ jsxs("fieldset", {
|
|
25273
25657
|
role: "search",
|
|
25274
|
-
className: cn("
|
|
25658
|
+
className: cn("h-8 min-w-0 gap-1.5 px-2 py-1 flex items-center rounded-full border border-neutral-500-variant-3 bg-white", o && "pointer-events-none bg-neutral-200 opacity-70", s),
|
|
25275
25659
|
disabled: o,
|
|
25276
25660
|
children: [
|
|
25277
25661
|
/* @__PURE__ */ jsx(SearchIcon, {
|
|
@@ -25282,9 +25666,9 @@ function SearchInput({ value: e, defaultValue: t, placeholder: n = "Search...",
|
|
|
25282
25666
|
type: "text",
|
|
25283
25667
|
value: f,
|
|
25284
25668
|
placeholder: n,
|
|
25285
|
-
onChange:
|
|
25669
|
+
onChange: h,
|
|
25286
25670
|
onKeyDown: i,
|
|
25287
|
-
className: cn("m-0 h-5 min-w-0 flex-1 border-0
|
|
25671
|
+
className: cn("m-0 h-5 min-w-0 p-0 text-xs flex-1 border-0 text-neutral-800", "bg-transparent outline-none", "placeholder:text-neutral-700-alpha-60", o && "text-neutral-700-alpha-60")
|
|
25288
25672
|
}),
|
|
25289
25673
|
p && !o && /* @__PURE__ */ jsx(IconButton, {
|
|
25290
25674
|
type: "button",
|
|
@@ -25292,7 +25676,7 @@ function SearchInput({ value: e, defaultValue: t, placeholder: n = "Search...",
|
|
|
25292
25676
|
size: 16,
|
|
25293
25677
|
className: "text-neutral-700"
|
|
25294
25678
|
}),
|
|
25295
|
-
onClick:
|
|
25679
|
+
onClick: g,
|
|
25296
25680
|
"aria-label": "Clear search",
|
|
25297
25681
|
className: "rounded p-0 transition-opacity hover:opacity-70"
|
|
25298
25682
|
})
|
|
@@ -25363,9 +25747,9 @@ function ConfirmationToast({ title: e, description: t, cancelLabel: n, acceptLab
|
|
|
25363
25747
|
}
|
|
25364
25748
|
function ConfirmationTemplate({ title: e, description: t, cancelLabel: n, acceptLabel: r, onCancel: i, onAccept: a }) {
|
|
25365
25749
|
return /* @__PURE__ */ jsxs("div", {
|
|
25366
|
-
className: "
|
|
25750
|
+
className: "max-w-md gap-6 rounded-lg p-6 shadow-xl flex w-full flex-col justify-center bg-white",
|
|
25367
25751
|
children: [/* @__PURE__ */ jsxs("div", {
|
|
25368
|
-
className: "flex flex-col justify-center
|
|
25752
|
+
className: "gap-3 flex flex-col justify-center",
|
|
25369
25753
|
children: [/* @__PURE__ */ jsx("h3", {
|
|
25370
25754
|
className: "text-base font-medium text-neutral-900",
|
|
25371
25755
|
children: e
|
|
@@ -25374,13 +25758,13 @@ function ConfirmationTemplate({ title: e, description: t, cancelLabel: n, accept
|
|
|
25374
25758
|
children: t
|
|
25375
25759
|
})]
|
|
25376
25760
|
}), /* @__PURE__ */ jsxs("div", {
|
|
25377
|
-
className: "flex items-center justify-end
|
|
25761
|
+
className: "gap-3 flex items-center justify-end",
|
|
25378
25762
|
children: [/* @__PURE__ */ jsx(Button, {
|
|
25379
|
-
className: "rounded-lg
|
|
25763
|
+
className: "rounded-lg px-4 py-2 text-sm font-medium border border-neutral-300 text-neutral-900 transition-opacity hover:opacity-70",
|
|
25380
25764
|
onClick: () => i(close),
|
|
25381
25765
|
children: n
|
|
25382
25766
|
}), /* @__PURE__ */ jsx(Button, {
|
|
25383
|
-
className: "rounded-lg
|
|
25767
|
+
className: "rounded-lg px-4 py-2 text-sm font-medium bg-error-base text-white transition-opacity hover:opacity-90",
|
|
25384
25768
|
onClick: () => a(close),
|
|
25385
25769
|
children: r
|
|
25386
25770
|
})]
|
|
@@ -25398,12 +25782,12 @@ function UndoToast({ title: e, subtitle: t, description: n, onUndo: r, onClose:
|
|
|
25398
25782
|
}
|
|
25399
25783
|
function UndoToastTemplate({ title: e, subtitle: t, description: n, onUndo: r, onClose: i }) {
|
|
25400
25784
|
return /* @__PURE__ */ jsxs("div", {
|
|
25401
|
-
className: "grid max-w-[400px] min-w-[280px] grid-cols-[auto_1fr]
|
|
25785
|
+
className: "gap-3 rounded-lg p-4 grid max-w-[400px] min-w-[280px] grid-cols-[auto_1fr] bg-success-base",
|
|
25402
25786
|
children: [/* @__PURE__ */ jsxs("div", {
|
|
25403
|
-
className: "flex flex-col justify-center
|
|
25787
|
+
className: "gap-1 flex flex-col justify-center",
|
|
25404
25788
|
children: [
|
|
25405
25789
|
/* @__PURE__ */ jsxs("div", {
|
|
25406
|
-
className: "flex items-center
|
|
25790
|
+
className: "gap-2 flex items-center",
|
|
25407
25791
|
children: [/* @__PURE__ */ jsx("span", {
|
|
25408
25792
|
className: "text-xs font-medium text-white",
|
|
25409
25793
|
children: e
|
|
@@ -25414,11 +25798,11 @@ function UndoToastTemplate({ title: e, subtitle: t, description: n, onUndo: r, o
|
|
|
25414
25798
|
})]
|
|
25415
25799
|
}),
|
|
25416
25800
|
t && /* @__PURE__ */ jsx("div", {
|
|
25417
|
-
className: "
|
|
25801
|
+
className: "text-xs font-semibold line-clamp-2 text-white-alpha-90",
|
|
25418
25802
|
children: t
|
|
25419
25803
|
}),
|
|
25420
25804
|
n && /* @__PURE__ */ jsx("div", {
|
|
25421
|
-
className: "line-clamp-2 text-
|
|
25805
|
+
className: "text-xs line-clamp-2 text-white-alpha-80",
|
|
25422
25806
|
children: n
|
|
25423
25807
|
})
|
|
25424
25808
|
]
|
|
@@ -25479,6 +25863,6 @@ function QtaloImage({ size: e = 40, className: t, ...n }) {
|
|
|
25479
25863
|
}) })]
|
|
25480
25864
|
});
|
|
25481
25865
|
}
|
|
25482
|
-
export { AVATAR_COLOR, AVATAR_COLOR_KEYS, Accordion, AccordionContent, AccordionItem, AccordionTrigger, AccountIcon, AccountInfo, ActionMenu, ActionMenuItem, AddCircleIcon, AddIcon, ArrowIcon, AsanaIcon, Avatar, Badge, BulkActions, BulkActionsSkeleton, Button, CalendarIcon, Card, CardContent, CardFooter, CardHeader, CardLayout, CardSidebar, CardTitle, CheckCircleEmptyIcon, CheckCircleIcon, CheckSquareIcon, Checkbox, CheckboxIcon, ClickUpIcon, CloseIcon, CompactDensityIcon, CopyIcon, DarkIcon, DatePicker, Divider, Dropdown, DropdownContext, DropdownMenu, DropdownMenuItem, EVENT_CARD_HEIGHT_SIZE, EVENT_SUMMARY_CARD_HEIGHT_SIZE, EmptyBoxIcon, EventCard, EventCardSkeleton, EventDetail, EventDetailContentCalendar, EventDetailContentEmail, EventDetailContentHeader, EventDetailContentMessage, EventDetailContentTicket, EventDetailHeader, EventDetailPriority, EventDetailSkeleton, EventDetailSummary, EventEmptyState, EventSummaryCard, EventSummaryCardSkeleton, ExternalLinkIcon, FilterBar, FilterBarSkeleton, FilterButton, FireFillIcon, FireIcon, GmailIcon, GoogleCalendarIcon, HomeIcon, Icon, IconButton, IconCountButton, IconCountButtonSkeleton, InfoTooltip, Input, InsightIcon, IntegrationBar, IntegrationBarSkeleton, IntegrationItem, IntegrationItemSkeleton, IntegrationsCard, JiraIcon, LightIcon, LogoIcon, MinusIcon, MoreIcon, NormalDensityIcon, NotFireIcon, OutlookCalendarIcon, OutlookIcon, Pressable, QtaloImage, ReadIcon, RichContent, SearchIcon, SearchInput, SignOutIcon, Skeleton, SlackIcon, StatusBadge, StopPropagation, SummaryIcon, SystemIcon, TeamsIcon, Toaster, Tooltip, UnreadIcon, capitalize, cn, colors, formatDate, formatDateRange, formatTimestamp, generateCalendarDays, getDaysInMonth, getFirstDayOfMonth, getInitials, getMonthName, getWeekdays, isDateBefore, isDateInRange, isSameDay, isToday, normalizeContent, parseDate, pickColorFromPalette, stringHash, toMondayBased, toast, toastStore, useAccordion, useDropdown, useLongPress };
|
|
25866
|
+
export { AVATAR_COLOR, AVATAR_COLOR_KEYS, Accordion, AccordionContent, AccordionItem, AccordionTrigger, AccountIcon, AccountInfo, ActionMenu, ActionMenuItem, AddCircleIcon, AddIcon, ArrowIcon, AsanaIcon, Avatar, Badge, BulkActions, BulkActionsSkeleton, Button, CalendarIcon, Card, CardContent, CardFooter, CardHeader, CardLayout, CardSidebar, CardTitle, CheckCircleEmptyIcon, CheckCircleIcon, CheckSquareIcon, Checkbox, CheckboxIcon, ClickUpIcon, CloseIcon, CompactDensityIcon, CopyIcon, DarkIcon, DatePicker, Divider, Dropdown, DropdownContext, DropdownMenu, DropdownMenuItem, EVENT_CARD_HEIGHT_SIZE, EVENT_SUMMARY_CARD_HEIGHT_SIZE, EmptyBoxIcon, EventCard, EventCardSkeleton, EventDetail, EventDetailContentCalendar, EventDetailContentEmail, EventDetailContentHeader, EventDetailContentMessage, EventDetailContentTicket, EventDetailHeader, EventDetailPriority, EventDetailSkeleton, EventDetailSummary, EventEmptyState, EventSummaryCard, EventSummaryCardSkeleton, EventSummaryFireButton, ExternalLinkIcon, FilterBar, FilterBarSkeleton, FilterButton, FireFillIcon, FireIcon, GmailIcon, GoogleCalendarIcon, HelpPanel, HelpPanelEngine, HomeIcon, Icon, IconButton, IconCountButton, IconCountButtonSkeleton, InboxIcon, InfoTooltip, Input, InsightFillIcon, InsightIcon, IntegrationBar, IntegrationBarSkeleton, IntegrationItem, IntegrationItemSkeleton, IntegrationsCard, JiraIcon, LightIcon, LogoIcon, MailIcon, MinusIcon, MoreIcon, NormalDensityIcon, NotFireIcon, ONBOARDING_DISMISSED_STORAGE_KEY, Onboarding, OnboardingCard, OnboardingEngine, OutlookCalendarIcon, OutlookIcon, Pressable, QtaloImage, ReadIcon, RichContent, SearchIcon, SearchInput, SignOutIcon, Skeleton, SlackIcon, StatusBadge, StopPropagation, SummaryIcon, SystemIcon, TeamsIcon, Toaster, Tooltip, UnreadIcon, capitalize, cn, colors, formatDate, formatDateRange, formatTimestamp, generateCalendarDays, getDaysInMonth, getFirstDayOfMonth, getInitials, getMonthName, getWeekdays, isDateBefore, isDateInRange, isSameDay, isToday, normalizeContent, parseDate, pickColorFromPalette, stringHash, toMondayBased, toast, toastStore, useAccordion, useDropdown, useLongPress };
|
|
25483
25867
|
|
|
25484
25868
|
//# sourceMappingURL=index.js.map
|