@qtalo/qt-ui-library 0.1.30 → 0.2.0
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 +17 -16
- package/dist/index.cjs.map +1 -1
- package/dist/index.css +1 -1
- package/dist/index.d.ts +230 -0
- package/dist/index.js +1579 -193
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/styles/styles.css +66 -0
package/dist/index.js
CHANGED
|
@@ -326,25 +326,25 @@ 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, g = c.prototype, O = lookupGetter(g, "cloneNode"), A = lookupGetter(g, "remove"),
|
|
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, g = c.prototype, O = lookupGetter(g, "cloneNode"), A = lookupGetter(g, "remove"), Ws = lookupGetter(g, "nextSibling"), Gs = lookupGetter(g, "childNodes"), Ks = lookupGetter(g, "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 R, B = "", { implementation: V, createNodeIterator:
|
|
335
|
-
t.isSupported = typeof entries == "function" && typeof
|
|
336
|
-
let { MUSTACHE_EXPR:
|
|
334
|
+
let R, B = "", { implementation: V, createNodeIterator: qs, createDocumentFragment: Js, getElementsByTagName: Ys } = n, { importNode: Xs } = r, H = _createHooksMap();
|
|
335
|
+
t.isSupported = typeof entries == "function" && typeof Ks == "function" && V && V.createHTMLDocument !== void 0;
|
|
336
|
+
let { MUSTACHE_EXPR: Zs, ERB_EXPR: Qs, TMPLIT_EXPR: $s, DATA_ATTR: ec, ARIA_ATTR: tc, IS_SCRIPT_OR_DATA: nc, ATTR_WHITESPACE: rc, CUSTOM_ELEMENT: ic } = EXPRESSIONS, { IS_ALLOWED_URI: ac } = EXPRESSIONS, oc = null, sc = addToSet({}, [
|
|
337
337
|
...html$1,
|
|
338
338
|
...svg$1,
|
|
339
339
|
...svgFilters,
|
|
340
340
|
...mathMl$1,
|
|
341
341
|
...text
|
|
342
|
-
]),
|
|
342
|
+
]), cc = null, lc = addToSet({}, [
|
|
343
343
|
...html,
|
|
344
344
|
...svg,
|
|
345
345
|
...mathMl,
|
|
346
346
|
...xml
|
|
347
|
-
]),
|
|
347
|
+
]), Y = Object.seal(create(null, {
|
|
348
348
|
tagNameCheck: {
|
|
349
349
|
writable: !0,
|
|
350
350
|
configurable: !1,
|
|
@@ -363,7 +363,7 @@ function createDOMPurify() {
|
|
|
363
363
|
enumerable: !0,
|
|
364
364
|
value: !1
|
|
365
365
|
}
|
|
366
|
-
})),
|
|
366
|
+
})), uc = null, dc = null, fc = 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
|
+
})), pc = !0, mc = !0, hc = !1, gc = !0, _c = !1, vc = !0, yc = !1, bc = !1, xc = !1, Sc = !1, Cc = !1, wc = !1, Tc = !0, Ec = !1, Dc = !0, Oc = !1, kc = {}, Ac = null, jc = 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
|
+
]), Mc = null, Nc = addToSet({}, [
|
|
406
406
|
"audio",
|
|
407
407
|
"video",
|
|
408
408
|
"img",
|
|
409
409
|
"source",
|
|
410
410
|
"image",
|
|
411
411
|
"track"
|
|
412
|
-
]),
|
|
412
|
+
]), Pc = null, Fc = 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
|
+
]), Ic = "http://www.w3.org/1998/Math/MathML", Lc = "http://www.w3.org/2000/svg", Rc = "http://www.w3.org/1999/xhtml", zc = Rc, Bc = !1, Vc = null, Hc = addToSet({}, [
|
|
428
|
+
Ic,
|
|
429
|
+
Lc,
|
|
430
|
+
Rc
|
|
431
|
+
], stringToString), Uc = addToSet({}, [
|
|
432
432
|
"mi",
|
|
433
433
|
"mo",
|
|
434
434
|
"mn",
|
|
435
435
|
"ms",
|
|
436
436
|
"mtext"
|
|
437
|
-
]),
|
|
437
|
+
]), Wc = addToSet({}, ["annotation-xml"]), Gc = addToSet({}, [
|
|
438
438
|
"title",
|
|
439
439
|
"style",
|
|
440
440
|
"font",
|
|
441
441
|
"a",
|
|
442
442
|
"script"
|
|
443
|
-
]),
|
|
443
|
+
]), Kc = null, qc = ["application/xhtml+xml", "text/html"], Jc = null, Yc = null, Xc = n.createElement("form"), Zc = function(e) {
|
|
444
444
|
return e instanceof RegExp || e instanceof Function;
|
|
445
|
-
},
|
|
445
|
+
}, Qc = 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 (!(Yc && Yc === e)) {
|
|
448
|
+
if ((!e || typeof e != "object") && (e = {}), e = clone(e), Kc = qc.indexOf(e.PARSER_MEDIA_TYPE) === -1 ? "text/html" : e.PARSER_MEDIA_TYPE, Jc = Kc === "application/xhtml+xml" ? stringToString : stringToLowerCase, oc = objectHasOwnProperty(e, "ALLOWED_TAGS") ? addToSet({}, e.ALLOWED_TAGS, Jc) : sc, cc = objectHasOwnProperty(e, "ALLOWED_ATTR") ? addToSet({}, e.ALLOWED_ATTR, Jc) : lc, Vc = objectHasOwnProperty(e, "ALLOWED_NAMESPACES") ? addToSet({}, e.ALLOWED_NAMESPACES, stringToString) : Hc, Pc = objectHasOwnProperty(e, "ADD_URI_SAFE_ATTR") ? addToSet(clone(Fc), e.ADD_URI_SAFE_ATTR, Jc) : Fc, Mc = objectHasOwnProperty(e, "ADD_DATA_URI_TAGS") ? addToSet(clone(Nc), e.ADD_DATA_URI_TAGS, Jc) : Nc, Ac = objectHasOwnProperty(e, "FORBID_CONTENTS") ? addToSet({}, e.FORBID_CONTENTS, Jc) : jc, uc = objectHasOwnProperty(e, "FORBID_TAGS") ? addToSet({}, e.FORBID_TAGS, Jc) : clone({}), dc = objectHasOwnProperty(e, "FORBID_ATTR") ? addToSet({}, e.FORBID_ATTR, Jc) : clone({}), kc = objectHasOwnProperty(e, "USE_PROFILES") ? e.USE_PROFILES : !1, pc = e.ALLOW_ARIA_ATTR !== !1, mc = e.ALLOW_DATA_ATTR !== !1, hc = e.ALLOW_UNKNOWN_PROTOCOLS || !1, gc = e.ALLOW_SELF_CLOSE_IN_ATTR !== !1, _c = e.SAFE_FOR_TEMPLATES || !1, vc = e.SAFE_FOR_XML !== !1, yc = e.WHOLE_DOCUMENT || !1, Sc = e.RETURN_DOM || !1, Cc = e.RETURN_DOM_FRAGMENT || !1, wc = e.RETURN_TRUSTED_TYPE || !1, xc = e.FORCE_BODY || !1, Tc = e.SANITIZE_DOM !== !1, Ec = e.SANITIZE_NAMED_PROPS || !1, Dc = e.KEEP_CONTENT !== !1, Oc = e.IN_PLACE || !1, ac = e.ALLOWED_URI_REGEXP || IS_ALLOWED_URI, zc = e.NAMESPACE || Rc, Uc = e.MATHML_TEXT_INTEGRATION_POINTS || Uc, Wc = e.HTML_INTEGRATION_POINTS || Wc, Y = e.CUSTOM_ELEMENT_HANDLING || {}, e.CUSTOM_ELEMENT_HANDLING && Zc(e.CUSTOM_ELEMENT_HANDLING.tagNameCheck) && (Y.tagNameCheck = e.CUSTOM_ELEMENT_HANDLING.tagNameCheck), e.CUSTOM_ELEMENT_HANDLING && Zc(e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck) && (Y.attributeNameCheck = e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck), e.CUSTOM_ELEMENT_HANDLING && typeof e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements == "boolean" && (Y.allowCustomizedBuiltInElements = e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements), _c && (mc = !1), Cc && (Sc = !0), kc && (oc = addToSet({}, text), cc = [], kc.html === !0 && (addToSet(oc, html$1), addToSet(cc, html)), kc.svg === !0 && (addToSet(oc, svg$1), addToSet(cc, svg), addToSet(cc, xml)), kc.svgFilters === !0 && (addToSet(oc, svgFilters), addToSet(cc, svg), addToSet(cc, xml)), kc.mathMl === !0 && (addToSet(oc, mathMl$1), addToSet(cc, mathMl), addToSet(cc, xml))), e.ADD_TAGS && (typeof e.ADD_TAGS == "function" ? fc.tagCheck = e.ADD_TAGS : (oc === sc && (oc = clone(oc)), addToSet(oc, e.ADD_TAGS, Jc))), e.ADD_ATTR && (typeof e.ADD_ATTR == "function" ? fc.attributeCheck = e.ADD_ATTR : (cc === lc && (cc = clone(cc)), addToSet(cc, e.ADD_ATTR, Jc))), e.ADD_URI_SAFE_ATTR && addToSet(Pc, e.ADD_URI_SAFE_ATTR, Jc), e.FORBID_CONTENTS && (Ac === jc && (Ac = clone(Ac)), addToSet(Ac, e.FORBID_CONTENTS, Jc)), e.ADD_FORBID_CONTENTS && (Ac === jc && (Ac = clone(Ac)), addToSet(Ac, e.ADD_FORBID_CONTENTS, Jc)), Dc && (oc["#text"] = !0), yc && addToSet(oc, [
|
|
449
449
|
"html",
|
|
450
450
|
"head",
|
|
451
451
|
"body"
|
|
452
|
-
]),
|
|
452
|
+
]), oc.table && (addToSet(oc, ["tbody"]), delete uc.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
455
|
R = e.TRUSTED_TYPES_POLICY, B = R.createHTML("");
|
|
456
456
|
} else R === void 0 && (R = _createTrustedTypesPolicy(h, i)), R !== null && typeof B == "string" && (B = R.createHTML(""));
|
|
457
|
-
freeze && freeze(e),
|
|
457
|
+
freeze && freeze(e), Yc = e;
|
|
458
458
|
}
|
|
459
|
-
},
|
|
459
|
+
}, $c = addToSet({}, [
|
|
460
460
|
...svg$1,
|
|
461
461
|
...svgFilters,
|
|
462
462
|
...svgDisallowed
|
|
463
|
-
]),
|
|
464
|
-
let t =
|
|
463
|
+
]), el = addToSet({}, [...mathMl$1, ...mathMlDisallowed]), tl = function(e) {
|
|
464
|
+
let t = Ks(e);
|
|
465
465
|
(!t || !t.tagName) && (t = {
|
|
466
|
-
namespaceURI:
|
|
466
|
+
namespaceURI: zc,
|
|
467
467
|
tagName: "template"
|
|
468
468
|
});
|
|
469
469
|
let n = stringToLowerCase(e.tagName), r = stringToLowerCase(t.tagName);
|
|
470
|
-
return
|
|
471
|
-
},
|
|
470
|
+
return Vc[e.namespaceURI] ? e.namespaceURI === Lc ? t.namespaceURI === Rc ? n === "svg" : t.namespaceURI === Ic ? n === "svg" && (r === "annotation-xml" || Uc[r]) : !!$c[n] : e.namespaceURI === Ic ? t.namespaceURI === Rc ? n === "math" : t.namespaceURI === Lc ? n === "math" && Wc[r] : !!el[n] : e.namespaceURI === Rc ? t.namespaceURI === Lc && !Wc[r] || t.namespaceURI === Ic && !Uc[r] ? !1 : !el[n] && (Gc[n] || !$c[n]) : !!(Kc === "application/xhtml+xml" && Vc[e.namespaceURI]) : !1;
|
|
471
|
+
}, nl = function(e) {
|
|
472
472
|
arrayPush(t.removed, { element: e });
|
|
473
473
|
try {
|
|
474
|
-
|
|
474
|
+
Ks(e).removeChild(e);
|
|
475
475
|
} catch {
|
|
476
476
|
A(e);
|
|
477
477
|
}
|
|
478
|
-
},
|
|
478
|
+
}, rl = function(e, n) {
|
|
479
479
|
try {
|
|
480
480
|
arrayPush(t.removed, {
|
|
481
481
|
attribute: n.getAttributeNode(e),
|
|
@@ -487,123 +487,123 @@ 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 (Sc || Cc) try {
|
|
491
|
+
nl(n);
|
|
492
492
|
} catch {}
|
|
493
493
|
else try {
|
|
494
494
|
n.setAttribute(e, "");
|
|
495
495
|
} catch {}
|
|
496
|
-
},
|
|
496
|
+
}, il = function(e) {
|
|
497
497
|
let t = null, r = null;
|
|
498
|
-
if (
|
|
498
|
+
if (xc) 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
|
-
|
|
503
|
+
Kc === "application/xhtml+xml" && zc === Rc && (e = "<html xmlns=\"http://www.w3.org/1999/xhtml\"><head></head><body>" + e + "</body></html>");
|
|
504
504
|
let i = R ? R.createHTML(e) : e;
|
|
505
|
-
if (
|
|
506
|
-
t = new p().parseFromString(i,
|
|
505
|
+
if (zc === Rc) try {
|
|
506
|
+
t = new p().parseFromString(i, Kc);
|
|
507
507
|
} catch {}
|
|
508
508
|
if (!t || !t.documentElement) {
|
|
509
|
-
t = V.createDocument(
|
|
509
|
+
t = V.createDocument(zc, "template", null);
|
|
510
510
|
try {
|
|
511
|
-
t.documentElement.innerHTML =
|
|
511
|
+
t.documentElement.innerHTML = Bc ? B : 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), zc === Rc ? Ys.call(t, yc ? "html" : "body")[0] : yc ? t.documentElement : a;
|
|
516
|
+
}, al = function(e) {
|
|
517
|
+
return qs.call(e.ownerDocument || e, e, l.SHOW_ELEMENT | l.SHOW_COMMENT | l.SHOW_TEXT | l.SHOW_PROCESSING_INSTRUCTION | l.SHOW_CDATA_SECTION, null);
|
|
518
|
+
}, ol = 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
|
+
}, sl = function(e) {
|
|
521
521
|
return typeof s == "function" && e instanceof s;
|
|
522
522
|
};
|
|
523
|
-
function
|
|
523
|
+
function cl(e, n, r) {
|
|
524
524
|
arrayForEach(e, (e) => {
|
|
525
|
-
e.call(t, n, r,
|
|
525
|
+
e.call(t, n, r, Yc);
|
|
526
526
|
});
|
|
527
527
|
}
|
|
528
|
-
let
|
|
528
|
+
let ll = function(e) {
|
|
529
529
|
let n = null;
|
|
530
|
-
if (
|
|
531
|
-
let r =
|
|
532
|
-
if (
|
|
530
|
+
if (cl(H.beforeSanitizeElements, e, null), ol(e)) return nl(e), !0;
|
|
531
|
+
let r = Jc(e.nodeName);
|
|
532
|
+
if (cl(H.uponSanitizeElement, e, {
|
|
533
533
|
tagName: r,
|
|
534
|
-
allowedTags:
|
|
535
|
-
}),
|
|
536
|
-
if (!(
|
|
537
|
-
if (!
|
|
538
|
-
if (
|
|
539
|
-
let t =
|
|
534
|
+
allowedTags: oc
|
|
535
|
+
}), vc && e.hasChildNodes() && !sl(e.firstElementChild) && regExpTest(/<[/\w!]/g, e.innerHTML) && regExpTest(/<[/\w!]/g, e.textContent) || e.nodeType === NODE_TYPE.progressingInstruction || vc && e.nodeType === NODE_TYPE.comment && regExpTest(/<[/\w]/g, e.data)) return nl(e), !0;
|
|
536
|
+
if (!(fc.tagCheck instanceof Function && fc.tagCheck(r)) && (!oc[r] || uc[r])) {
|
|
537
|
+
if (!uc[r] && dl(r) && (Y.tagNameCheck instanceof RegExp && regExpTest(Y.tagNameCheck, r) || Y.tagNameCheck instanceof Function && Y.tagNameCheck(r))) return !1;
|
|
538
|
+
if (Dc && !Ac[r]) {
|
|
539
|
+
let t = Ks(e) || e.parentNode, n = Gs(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
543
|
let r = O(n[i], !0);
|
|
544
|
-
r.__removalCount = (e.__removalCount || 0) + 1, t.insertBefore(r,
|
|
544
|
+
r.__removalCount = (e.__removalCount || 0) + 1, t.insertBefore(r, Ws(e));
|
|
545
545
|
}
|
|
546
546
|
}
|
|
547
547
|
}
|
|
548
|
-
return
|
|
548
|
+
return nl(e), !0;
|
|
549
549
|
}
|
|
550
|
-
return e instanceof c && !
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
550
|
+
return e instanceof c && !tl(e) || (r === "noscript" || r === "noembed" || r === "noframes") && regExpTest(/<\/no(script|embed|frames)/i, e.innerHTML) ? (nl(e), !0) : (_c && e.nodeType === NODE_TYPE.text && (n = e.textContent, arrayForEach([
|
|
551
|
+
Zs,
|
|
552
|
+
Qs,
|
|
553
|
+
$s
|
|
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)), cl(H.afterSanitizeElements, e, null), !1);
|
|
557
|
+
}, ul = function(e, t, r) {
|
|
558
|
+
if (Tc && (t === "id" || t === "name") && (r in n || r in Xc)) return !1;
|
|
559
|
+
if (!(mc && !dc[t] && regExpTest(ec, t)) && !(pc && regExpTest(tc, t)) && !(fc.attributeCheck instanceof Function && fc.attributeCheck(t, e))) {
|
|
560
|
+
if (!cc[t] || dc[t]) {
|
|
561
|
+
if (!(dl(e) && (Y.tagNameCheck instanceof RegExp && regExpTest(Y.tagNameCheck, e) || Y.tagNameCheck instanceof Function && Y.tagNameCheck(e)) && (Y.attributeNameCheck instanceof RegExp && regExpTest(Y.attributeNameCheck, t) || Y.attributeNameCheck instanceof Function && Y.attributeNameCheck(t, e)) || t === "is" && Y.allowCustomizedBuiltInElements && (Y.tagNameCheck instanceof RegExp && regExpTest(Y.tagNameCheck, r) || Y.tagNameCheck instanceof Function && Y.tagNameCheck(r)))) return !1;
|
|
562
|
+
} else if (!Pc[t] && !regExpTest(ac, stringReplace(r, rc, "")) && !((t === "src" || t === "xlink:href" || t === "href") && e !== "script" && stringIndexOf(r, "data:") === 0 && Mc[e]) && !(hc && !regExpTest(nc, stringReplace(r, rc, ""))) && r) return !1;
|
|
563
563
|
}
|
|
564
564
|
return !0;
|
|
565
|
-
},
|
|
566
|
-
return e !== "annotation-xml" && stringMatch(e,
|
|
567
|
-
},
|
|
568
|
-
|
|
565
|
+
}, dl = function(e) {
|
|
566
|
+
return e !== "annotation-xml" && stringMatch(e, ic);
|
|
567
|
+
}, fl = function(e) {
|
|
568
|
+
cl(H.beforeSanitizeAttributes, e, null);
|
|
569
569
|
let { attributes: n } = e;
|
|
570
|
-
if (!n ||
|
|
570
|
+
if (!n || ol(e)) return;
|
|
571
571
|
let r = {
|
|
572
572
|
attrName: "",
|
|
573
573
|
attrValue: "",
|
|
574
574
|
keepAttr: !0,
|
|
575
|
-
allowedAttributes:
|
|
575
|
+
allowedAttributes: cc,
|
|
576
576
|
forceKeepAttr: void 0
|
|
577
577
|
}, i = n.length;
|
|
578
578
|
for (; i--;) {
|
|
579
|
-
let { name: a, namespaceURI: o, value: s } = n[i], c =
|
|
580
|
-
if (r.attrName = c, r.attrValue = u, r.keepAttr = !0, r.forceKeepAttr = void 0,
|
|
581
|
-
|
|
579
|
+
let { name: a, namespaceURI: o, value: s } = n[i], c = Jc(a), l = s, u = a === "value" ? l : stringTrim(l);
|
|
580
|
+
if (r.attrName = c, r.attrValue = u, r.keepAttr = !0, r.forceKeepAttr = void 0, cl(H.uponSanitizeAttribute, e, r), u = r.attrValue, Ec && (c === "id" || c === "name") && (rl(a, e), u = "user-content-" + u), vc && regExpTest(/((--!?|])>)|<\/(style|title|textarea)/i, u)) {
|
|
581
|
+
rl(a, e);
|
|
582
582
|
continue;
|
|
583
583
|
}
|
|
584
584
|
if (c === "attributename" && stringMatch(u, "href")) {
|
|
585
|
-
|
|
585
|
+
rl(a, e);
|
|
586
586
|
continue;
|
|
587
587
|
}
|
|
588
588
|
if (r.forceKeepAttr) continue;
|
|
589
589
|
if (!r.keepAttr) {
|
|
590
|
-
|
|
590
|
+
rl(a, e);
|
|
591
591
|
continue;
|
|
592
592
|
}
|
|
593
|
-
if (!
|
|
594
|
-
|
|
593
|
+
if (!gc && regExpTest(/\/>/i, u)) {
|
|
594
|
+
rl(a, e);
|
|
595
595
|
continue;
|
|
596
596
|
}
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
597
|
+
_c && arrayForEach([
|
|
598
|
+
Zs,
|
|
599
|
+
Qs,
|
|
600
|
+
$s
|
|
601
601
|
], (e) => {
|
|
602
602
|
u = stringReplace(u, e, " ");
|
|
603
603
|
});
|
|
604
|
-
let f =
|
|
605
|
-
if (!
|
|
606
|
-
|
|
604
|
+
let f = Jc(e.nodeName);
|
|
605
|
+
if (!ul(f, c, u)) {
|
|
606
|
+
rl(a, e);
|
|
607
607
|
continue;
|
|
608
608
|
}
|
|
609
609
|
if (R && typeof h == "object" && typeof h.getAttributeType == "function" && !o) switch (h.getAttributeType(f, c)) {
|
|
@@ -615,68 +615,68 @@ function createDOMPurify() {
|
|
|
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), ol(e) ? nl(e) : arrayPop(t.removed);
|
|
619
619
|
} catch {
|
|
620
|
-
|
|
620
|
+
rl(a, e);
|
|
621
621
|
}
|
|
622
622
|
}
|
|
623
|
-
|
|
624
|
-
},
|
|
625
|
-
let n = null, r =
|
|
626
|
-
for (
|
|
627
|
-
|
|
623
|
+
cl(H.afterSanitizeAttributes, e, null);
|
|
624
|
+
}, pl = function e(t) {
|
|
625
|
+
let n = null, r = al(t);
|
|
626
|
+
for (cl(H.beforeSanitizeShadowDOM, t, null); n = r.nextNode();) cl(H.uponSanitizeShadowNode, n, null), ll(n), fl(n), n.content instanceof a && e(n.content);
|
|
627
|
+
cl(H.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 (Bc = !e, Bc && (e = "<!-->"), typeof e != "string" && !sl(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 (bc || Qc(n), t.removed = [], typeof e == "string" && (Oc = !1), Oc) {
|
|
636
636
|
if (e.nodeName) {
|
|
637
|
-
let t =
|
|
638
|
-
if (!
|
|
637
|
+
let t = Jc(e.nodeName);
|
|
638
|
+
if (!oc[t] || uc[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 = il("<!---->"), 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 (!Sc && !_c && !yc && e.indexOf("<") === -1) return R && wc ? R.createHTML(e) : e;
|
|
643
|
+
if (i = il(e), !i) return Sc ? null : wc ? B : "";
|
|
644
644
|
}
|
|
645
|
-
i &&
|
|
646
|
-
let u =
|
|
647
|
-
for (; c = u.nextNode();)
|
|
648
|
-
if (
|
|
649
|
-
if (
|
|
650
|
-
if (
|
|
645
|
+
i && xc && nl(i.firstChild);
|
|
646
|
+
let u = al(Oc ? e : i);
|
|
647
|
+
for (; c = u.nextNode();) ll(c), fl(c), c.content instanceof a && pl(c.content);
|
|
648
|
+
if (Oc) return e;
|
|
649
|
+
if (Sc) {
|
|
650
|
+
if (Cc) for (l = Js.call(i.ownerDocument); i.firstChild;) l.appendChild(i.firstChild);
|
|
651
651
|
else l = i;
|
|
652
|
-
return (
|
|
652
|
+
return (cc.shadowroot || cc.shadowrootmode) && (l = Xs.call(r, l, !0)), l;
|
|
653
653
|
}
|
|
654
|
-
let f =
|
|
655
|
-
return
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
654
|
+
let f = yc ? i.outerHTML : i.innerHTML;
|
|
655
|
+
return yc && oc["!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), _c && arrayForEach([
|
|
656
|
+
Zs,
|
|
657
|
+
Qs,
|
|
658
|
+
$s
|
|
659
659
|
], (e) => {
|
|
660
660
|
f = stringReplace(f, e, " ");
|
|
661
|
-
}), R &&
|
|
661
|
+
}), R && wc ? R.createHTML(f) : f;
|
|
662
662
|
}, t.setConfig = function() {
|
|
663
|
-
|
|
663
|
+
Qc(arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}), bc = !0;
|
|
664
664
|
}, t.clearConfig = function() {
|
|
665
|
-
|
|
665
|
+
Yc = null, bc = !1;
|
|
666
666
|
}, t.isValidAttribute = function(e, t, n) {
|
|
667
|
-
return
|
|
667
|
+
return Yc || Qc({}), ul(Jc(e), Jc(t), n);
|
|
668
668
|
}, t.addHook = function(e, t) {
|
|
669
|
-
typeof t == "function" && arrayPush(
|
|
669
|
+
typeof t == "function" && arrayPush(H[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(H[e], t);
|
|
673
|
+
return n === -1 ? void 0 : arraySplice(H[e], n, 1)[0];
|
|
674
674
|
}
|
|
675
|
-
return arrayPop(
|
|
675
|
+
return arrayPop(H[e]);
|
|
676
676
|
}, t.removeHooks = function(e) {
|
|
677
|
-
|
|
677
|
+
H[e] = [];
|
|
678
678
|
}, t.removeAllHooks = function() {
|
|
679
|
-
|
|
679
|
+
H = _createHooksMap();
|
|
680
680
|
}, t;
|
|
681
681
|
}
|
|
682
682
|
var purify = createDOMPurify();
|
|
@@ -21378,12 +21378,12 @@ function Dropdown({ trigger: e, children: t, align: n = "start", side: r = "bott
|
|
|
21378
21378
|
B,
|
|
21379
21379
|
O,
|
|
21380
21380
|
p
|
|
21381
|
-
]),
|
|
21382
|
-
if (!
|
|
21383
|
-
let e =
|
|
21381
|
+
]), qs = useRef(null), Js = useRef(null), Ys = useRef(null), [Xs, H] = useState(null), Zs = useCallback(() => {
|
|
21382
|
+
if (!qs.current || !Js.current) return;
|
|
21383
|
+
let e = qs.current.getBoundingClientRect(), t = Js.current.getBoundingClientRect(), o = e.left;
|
|
21384
21384
|
n === "end" ? o = e.right - t.width : n === "center" && (o = e.left + (e.width - t.width) / 2), o += i;
|
|
21385
21385
|
let s;
|
|
21386
|
-
s = r === "bottom" ? e.bottom + a : e.top - t.height + a, queueMicrotask(() =>
|
|
21386
|
+
s = r === "bottom" ? e.bottom + a : e.top - t.height + a, queueMicrotask(() => H({
|
|
21387
21387
|
top: s,
|
|
21388
21388
|
left: o
|
|
21389
21389
|
}));
|
|
@@ -21394,52 +21394,52 @@ function Dropdown({ trigger: e, children: t, align: n = "start", side: r = "bott
|
|
|
21394
21394
|
a
|
|
21395
21395
|
]);
|
|
21396
21396
|
useLayoutEffect(() => {
|
|
21397
|
-
B &&
|
|
21398
|
-
}, [B,
|
|
21397
|
+
B && Zs();
|
|
21398
|
+
}, [B, Zs]), useEffect(() => {
|
|
21399
21399
|
if (!B) return;
|
|
21400
|
-
let e = () =>
|
|
21400
|
+
let e = () => Zs();
|
|
21401
21401
|
return window.addEventListener("resize", e), window.addEventListener("scroll", e, !0), () => {
|
|
21402
21402
|
window.removeEventListener("resize", e), window.removeEventListener("scroll", e, !0);
|
|
21403
21403
|
};
|
|
21404
|
-
}, [B,
|
|
21405
|
-
let
|
|
21406
|
-
|
|
21407
|
-
}, [V]),
|
|
21408
|
-
|
|
21404
|
+
}, [B, Zs]);
|
|
21405
|
+
let Qs = useCallback(() => {
|
|
21406
|
+
Ys.current &&= (clearTimeout(Ys.current), null), V(!0);
|
|
21407
|
+
}, [V]), $s = useCallback(() => {
|
|
21408
|
+
Ys.current = window.setTimeout(() => {
|
|
21409
21409
|
V(!1);
|
|
21410
21410
|
}, 120);
|
|
21411
21411
|
}, [V]);
|
|
21412
21412
|
return useEffect(() => {
|
|
21413
21413
|
function e(e) {
|
|
21414
21414
|
let t = e.target;
|
|
21415
|
-
|
|
21415
|
+
qs.current?.contains(t) || Js.current?.contains(t) || V(!1);
|
|
21416
21416
|
}
|
|
21417
21417
|
return document.addEventListener("mousedown", e), () => document.removeEventListener("mousedown", e);
|
|
21418
21418
|
}, [V]), useEffect(() => () => {
|
|
21419
|
-
|
|
21419
|
+
Ys.current && clearTimeout(Ys.current);
|
|
21420
21420
|
}, []), /* @__PURE__ */ jsxs(DropdownContext.Provider, {
|
|
21421
21421
|
value: {
|
|
21422
21422
|
close: () => V(!1),
|
|
21423
|
-
open:
|
|
21423
|
+
open: Qs
|
|
21424
21424
|
},
|
|
21425
21425
|
children: [/* @__PURE__ */ jsx("div", {
|
|
21426
|
-
ref:
|
|
21426
|
+
ref: qs,
|
|
21427
21427
|
className: "inline-flex",
|
|
21428
|
-
onMouseEnter: c ?
|
|
21429
|
-
onMouseLeave: c ?
|
|
21428
|
+
onMouseEnter: c ? Qs : void 0,
|
|
21429
|
+
onMouseLeave: c ? $s : void 0,
|
|
21430
21430
|
onClick: () => V(!B),
|
|
21431
21431
|
"aria-haspopup": "menu",
|
|
21432
21432
|
"aria-expanded": B,
|
|
21433
21433
|
children: e
|
|
21434
21434
|
}), B && !o && createPortal(/* @__PURE__ */ jsx("div", {
|
|
21435
|
-
ref:
|
|
21436
|
-
onMouseEnter: c ?
|
|
21437
|
-
onMouseLeave: c ?
|
|
21435
|
+
ref: Js,
|
|
21436
|
+
onMouseEnter: c ? Qs : void 0,
|
|
21437
|
+
onMouseLeave: c ? $s : void 0,
|
|
21438
21438
|
style: {
|
|
21439
21439
|
position: "fixed",
|
|
21440
|
-
top:
|
|
21441
|
-
left:
|
|
21442
|
-
visibility:
|
|
21440
|
+
top: Xs?.top ?? 0,
|
|
21441
|
+
left: Xs?.left ?? 0,
|
|
21442
|
+
visibility: Xs ? "visible" : "hidden",
|
|
21443
21443
|
zIndex: 1e3
|
|
21444
21444
|
},
|
|
21445
21445
|
children: t
|
|
@@ -22353,6 +22353,17 @@ function TeamsIcon(e) {
|
|
|
22353
22353
|
})] })]
|
|
22354
22354
|
});
|
|
22355
22355
|
}
|
|
22356
|
+
function CheckIcon({ pathProps: e, ...t }) {
|
|
22357
|
+
return /* @__PURE__ */ jsx(Icon, {
|
|
22358
|
+
viewBox: "0 0 24 24",
|
|
22359
|
+
...t,
|
|
22360
|
+
children: /* @__PURE__ */ jsx("path", {
|
|
22361
|
+
d: "M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z",
|
|
22362
|
+
fill: "currentColor",
|
|
22363
|
+
...e
|
|
22364
|
+
})
|
|
22365
|
+
});
|
|
22366
|
+
}
|
|
22356
22367
|
function CheckboxIcon({ pathProps: e, ...t }) {
|
|
22357
22368
|
return /* @__PURE__ */ jsx(Icon, {
|
|
22358
22369
|
viewBox: "0 0 16 16",
|
|
@@ -22391,6 +22402,17 @@ function CheckCircleIcon({ pathProps: e, ...t }) {
|
|
|
22391
22402
|
})
|
|
22392
22403
|
});
|
|
22393
22404
|
}
|
|
22405
|
+
function EyeFillIcon({ pathProps: e, ...t }) {
|
|
22406
|
+
return /* @__PURE__ */ jsx(Icon, {
|
|
22407
|
+
viewBox: "0 0 24 24",
|
|
22408
|
+
...t,
|
|
22409
|
+
children: /* @__PURE__ */ jsx("path", {
|
|
22410
|
+
d: "M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5zM12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z",
|
|
22411
|
+
fill: "currentColor",
|
|
22412
|
+
...e
|
|
22413
|
+
})
|
|
22414
|
+
});
|
|
22415
|
+
}
|
|
22394
22416
|
function FireFillIcon({ pathProps: e, ...t }) {
|
|
22395
22417
|
return /* @__PURE__ */ jsx(Icon, {
|
|
22396
22418
|
viewBox: "0 0 20 20",
|
|
@@ -22413,6 +22435,17 @@ function FireIcon({ pathProps: e, ...t }) {
|
|
|
22413
22435
|
})
|
|
22414
22436
|
});
|
|
22415
22437
|
}
|
|
22438
|
+
function HomeFillIcon({ pathProps: e, ...t }) {
|
|
22439
|
+
return /* @__PURE__ */ jsx(Icon, {
|
|
22440
|
+
viewBox: "0 0 24 24",
|
|
22441
|
+
...t,
|
|
22442
|
+
children: /* @__PURE__ */ jsx("path", {
|
|
22443
|
+
d: "M10 20v-6h4v6h5v-8h3L12 3 2 12h3v8z",
|
|
22444
|
+
fill: "currentColor",
|
|
22445
|
+
...e
|
|
22446
|
+
})
|
|
22447
|
+
});
|
|
22448
|
+
}
|
|
22416
22449
|
function InsightFillIcon({ pathProps: e, ...t }) {
|
|
22417
22450
|
return /* @__PURE__ */ jsxs(Icon, {
|
|
22418
22451
|
viewBox: "0 0 20 20",
|
|
@@ -22492,6 +22525,17 @@ function NotFireIcon({ pathProps: e, ...t }) {
|
|
|
22492
22525
|
})]
|
|
22493
22526
|
});
|
|
22494
22527
|
}
|
|
22528
|
+
function PatternIcon({ pathProps: e, ...t }) {
|
|
22529
|
+
return /* @__PURE__ */ jsx(Icon, {
|
|
22530
|
+
viewBox: "0 0 24 24",
|
|
22531
|
+
...t,
|
|
22532
|
+
children: /* @__PURE__ */ jsx("path", {
|
|
22533
|
+
d: "M20 8h-2.81c-.45-.78-1.07-1.45-1.82-1.96L17 4.41 15.59 3l-2.17 2.17C12.96 5.06 12.49 5 12 5c-.49 0-.96.06-1.41.17L8.41 3 7 4.41l1.62 1.63C7.88 6.55 7.26 7.22 6.81 8H4v2h2.09c-.05.33-.09.66-.09 1v1H4v2h2v1c0 .34.04.67.09 1H4v2h2.81c1.04 1.79 2.97 3 5.19 3s4.15-1.21 5.19-3H20v-2h-2.09c.05-.33.09-.66.09-1v-1h2v-2h-2v-1c0-.34-.04-.67-.09-1H20V8zm-6 8h-4v-2h4v2zm0-4h-4v-2h4v2z",
|
|
22534
|
+
fill: "currentColor",
|
|
22535
|
+
...e
|
|
22536
|
+
})
|
|
22537
|
+
});
|
|
22538
|
+
}
|
|
22495
22539
|
function ReadIcon({ pathProps: e, ...t }) {
|
|
22496
22540
|
return /* @__PURE__ */ jsx(Icon, {
|
|
22497
22541
|
viewBox: "0 0 20 20",
|
|
@@ -22514,6 +22558,17 @@ function UnreadIcon({ pathProps: e, ...t }) {
|
|
|
22514
22558
|
})
|
|
22515
22559
|
});
|
|
22516
22560
|
}
|
|
22561
|
+
function WarningIcon({ pathProps: e, ...t }) {
|
|
22562
|
+
return /* @__PURE__ */ jsx(Icon, {
|
|
22563
|
+
viewBox: "0 0 24 24",
|
|
22564
|
+
...t,
|
|
22565
|
+
children: /* @__PURE__ */ jsx("path", {
|
|
22566
|
+
d: "M1 21h22L12 2 1 21zm12-3h-2v-2h2v2zm0-4h-2v-4h2v4z",
|
|
22567
|
+
fill: "currentColor",
|
|
22568
|
+
...e
|
|
22569
|
+
})
|
|
22570
|
+
});
|
|
22571
|
+
}
|
|
22517
22572
|
function AccountIcon({ pathProps: e, ...t }) {
|
|
22518
22573
|
return /* @__PURE__ */ jsx(Icon, {
|
|
22519
22574
|
viewBox: "0 0 24 24",
|
|
@@ -22525,6 +22580,25 @@ function AccountIcon({ pathProps: e, ...t }) {
|
|
|
22525
22580
|
})
|
|
22526
22581
|
});
|
|
22527
22582
|
}
|
|
22583
|
+
function AccountOutlineIcon({ pathProps: e, ...t }) {
|
|
22584
|
+
return /* @__PURE__ */ jsxs(Icon, {
|
|
22585
|
+
viewBox: "0 0 24 24",
|
|
22586
|
+
...t,
|
|
22587
|
+
children: [/* @__PURE__ */ jsx("circle", {
|
|
22588
|
+
cx: "12",
|
|
22589
|
+
cy: "8",
|
|
22590
|
+
r: "4",
|
|
22591
|
+
stroke: "currentColor",
|
|
22592
|
+
strokeWidth: "2"
|
|
22593
|
+
}), /* @__PURE__ */ jsx("path", {
|
|
22594
|
+
d: "M4 20c0-4 4-6 8-6s8 2 8 6",
|
|
22595
|
+
stroke: "currentColor",
|
|
22596
|
+
strokeWidth: "2",
|
|
22597
|
+
strokeLinecap: "round",
|
|
22598
|
+
...e
|
|
22599
|
+
})]
|
|
22600
|
+
});
|
|
22601
|
+
}
|
|
22528
22602
|
function AddCircleIcon({ pathProps: e, ...t }) {
|
|
22529
22603
|
return /* @__PURE__ */ jsx(Icon, {
|
|
22530
22604
|
viewBox: "0 0 24 24",
|
|
@@ -22568,6 +22642,47 @@ function ArrowIcon({ direction: e = "down", className: t, pathProps: n, ...r })
|
|
|
22568
22642
|
})
|
|
22569
22643
|
});
|
|
22570
22644
|
}
|
|
22645
|
+
function BuildingIcon({ pathProps: e, ...t }) {
|
|
22646
|
+
return /* @__PURE__ */ jsx(Icon, {
|
|
22647
|
+
viewBox: "0 0 24 24",
|
|
22648
|
+
...t,
|
|
22649
|
+
children: /* @__PURE__ */ jsx("path", {
|
|
22650
|
+
d: "M5 21V4C5 3.45 5.196 2.979 5.588 2.587C5.98 2.195 6.45 1.999 7 1.999H13C13.55 1.999 14.021 2.195 14.413 2.587C14.805 2.979 15.001 3.45 15.001 4V21H19.001V10H17.001V8H19.001C19.55 8 20.021 8.196 20.413 8.588C20.805 8.98 21.001 9.45 21.001 10V21H23.001V23H1V21H3V4C3 3.45 3.196 2.979 3.588 2.587C3.98 2.195 4.45 1.999 5 1.999V21ZM7 8H9V6H7V8ZM7 12H9V10H7V12ZM7 16H9V14H7V16ZM11 8H13V6H11V8ZM11 12H13V10H11V12ZM11 16H13V14H11V16Z",
|
|
22651
|
+
fill: "currentColor",
|
|
22652
|
+
...e
|
|
22653
|
+
})
|
|
22654
|
+
});
|
|
22655
|
+
}
|
|
22656
|
+
function BuildingOutlineIcon({ pathProps: e, ...t }) {
|
|
22657
|
+
return /* @__PURE__ */ jsxs(Icon, {
|
|
22658
|
+
viewBox: "0 0 24 24",
|
|
22659
|
+
...t,
|
|
22660
|
+
children: [
|
|
22661
|
+
/* @__PURE__ */ jsx("rect", {
|
|
22662
|
+
x: "4",
|
|
22663
|
+
y: "3",
|
|
22664
|
+
width: "16",
|
|
22665
|
+
height: "18",
|
|
22666
|
+
rx: "1",
|
|
22667
|
+
stroke: "currentColor",
|
|
22668
|
+
strokeWidth: "2"
|
|
22669
|
+
}),
|
|
22670
|
+
/* @__PURE__ */ jsx("path", {
|
|
22671
|
+
d: "M9 21v-4a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v4",
|
|
22672
|
+
stroke: "currentColor",
|
|
22673
|
+
strokeWidth: "2",
|
|
22674
|
+
...e
|
|
22675
|
+
}),
|
|
22676
|
+
/* @__PURE__ */ jsx("path", {
|
|
22677
|
+
d: "M8 7h.01M12 7h.01M16 7h.01M8 11h.01M12 11h.01M16 11h.01",
|
|
22678
|
+
stroke: "currentColor",
|
|
22679
|
+
strokeWidth: "2",
|
|
22680
|
+
strokeLinecap: "round",
|
|
22681
|
+
...e
|
|
22682
|
+
})
|
|
22683
|
+
]
|
|
22684
|
+
});
|
|
22685
|
+
}
|
|
22571
22686
|
function CalendarIcon({ pathProps: e, ...t }) {
|
|
22572
22687
|
return /* @__PURE__ */ jsx(Icon, {
|
|
22573
22688
|
viewBox: "0 0 24 24",
|
|
@@ -22590,6 +22705,20 @@ function CheckSquareIcon({ pathProps: e, ...t }) {
|
|
|
22590
22705
|
})
|
|
22591
22706
|
});
|
|
22592
22707
|
}
|
|
22708
|
+
function CloseBoldIcon({ pathProps: e, ...t }) {
|
|
22709
|
+
return /* @__PURE__ */ jsx(Icon, {
|
|
22710
|
+
viewBox: "0 0 16 16",
|
|
22711
|
+
...t,
|
|
22712
|
+
children: /* @__PURE__ */ jsx("path", {
|
|
22713
|
+
d: "M12 4L4 12M4 4L12 12",
|
|
22714
|
+
stroke: "currentColor",
|
|
22715
|
+
strokeWidth: "2",
|
|
22716
|
+
strokeLinecap: "round",
|
|
22717
|
+
strokeLinejoin: "round",
|
|
22718
|
+
...e
|
|
22719
|
+
})
|
|
22720
|
+
});
|
|
22721
|
+
}
|
|
22593
22722
|
function CloseIcon({ pathProps: e, ...t }) {
|
|
22594
22723
|
return /* @__PURE__ */ jsx(Icon, {
|
|
22595
22724
|
viewBox: "0 0 24 24",
|
|
@@ -23003,7 +23132,7 @@ function OnboardingEngine({ steps: e, context: t, storageKey: n, isEnabled: r =
|
|
|
23003
23132
|
e,
|
|
23004
23133
|
o,
|
|
23005
23134
|
t
|
|
23006
|
-
]), O = h?.step ?? null,
|
|
23135
|
+
]), O = h?.step ?? null, Gs = h?.index ?? null, Ks = useCallback((e) => {
|
|
23007
23136
|
c((t) => {
|
|
23008
23137
|
if (t.has(e)) return t;
|
|
23009
23138
|
let n = new Set(t);
|
|
@@ -23022,16 +23151,16 @@ function OnboardingEngine({ steps: e, context: t, storageKey: n, isEnabled: r =
|
|
|
23022
23151
|
return /* @__PURE__ */ jsx(Fragment$1, { children: i({
|
|
23023
23152
|
context: t,
|
|
23024
23153
|
currentStep: O,
|
|
23025
|
-
currentStepIndex:
|
|
23154
|
+
currentStepIndex: Gs,
|
|
23026
23155
|
dismissedStepIds: o,
|
|
23027
23156
|
actions: useMemo(() => ({
|
|
23028
23157
|
dismissCurrentStep: R,
|
|
23029
|
-
dismissStep:
|
|
23158
|
+
dismissStep: Ks,
|
|
23030
23159
|
skipAll: B,
|
|
23031
23160
|
close: B
|
|
23032
23161
|
}), [
|
|
23033
23162
|
R,
|
|
23034
|
-
|
|
23163
|
+
Ks,
|
|
23035
23164
|
B
|
|
23036
23165
|
])
|
|
23037
23166
|
}) });
|
|
@@ -23271,17 +23400,17 @@ function Toaster() {
|
|
|
23271
23400
|
B,
|
|
23272
23401
|
V
|
|
23273
23402
|
]);
|
|
23274
|
-
let
|
|
23403
|
+
let qs = useCallback((e) => {
|
|
23275
23404
|
r((t) => {
|
|
23276
23405
|
let n = t.filter((t) => t.id !== e);
|
|
23277
23406
|
return o.current = n, n;
|
|
23278
23407
|
}), p(e), toastStore.cleanup(e);
|
|
23279
|
-
}, [p]),
|
|
23408
|
+
}, [p]), Js = useCallback((e) => {
|
|
23280
23409
|
a.current.set(e, "manual"), toastStore.remove(e);
|
|
23281
23410
|
}, []);
|
|
23282
23411
|
if (!R) return null;
|
|
23283
|
-
let
|
|
23284
|
-
return createPortal(/* @__PURE__ */ jsx(Fragment$1, { children: Object.entries(
|
|
23412
|
+
let Ys = groupByPosition(n);
|
|
23413
|
+
return createPortal(/* @__PURE__ */ jsx(Fragment$1, { children: Object.entries(Ys).map(([e, t]) => {
|
|
23285
23414
|
let n = t.filter((e) => e.singleSlot), r = t.filter((e) => !e.singleSlot), i = n.length > 0 ? /* @__PURE__ */ jsx("div", {
|
|
23286
23415
|
className: cn("isolate inline-grid max-w-[min(100vw,100%)] grid-cols-1 grid-rows-1", SINGLE_SLOT_PLACE[e]),
|
|
23287
23416
|
children: n.map((e, t) => /* @__PURE__ */ jsx("div", {
|
|
@@ -23290,8 +23419,8 @@ function Toaster() {
|
|
|
23290
23419
|
children: /* @__PURE__ */ jsx(ToastWrapper, {
|
|
23291
23420
|
toast: e,
|
|
23292
23421
|
remainingTime: c.get(e.id) ?? e.duration,
|
|
23293
|
-
onExitComplete:
|
|
23294
|
-
onClose:
|
|
23422
|
+
onExitComplete: qs,
|
|
23423
|
+
onClose: Js,
|
|
23295
23424
|
onHoverStart: u,
|
|
23296
23425
|
onHoverEnd: f
|
|
23297
23426
|
})
|
|
@@ -23299,8 +23428,8 @@ function Toaster() {
|
|
|
23299
23428
|
}) : null, a = r.map((e) => /* @__PURE__ */ jsx(ToastWrapper, {
|
|
23300
23429
|
toast: e,
|
|
23301
23430
|
remainingTime: c.get(e.id) ?? e.duration,
|
|
23302
|
-
onExitComplete:
|
|
23303
|
-
onClose:
|
|
23431
|
+
onExitComplete: qs,
|
|
23432
|
+
onClose: Js,
|
|
23304
23433
|
onHoverStart: u,
|
|
23305
23434
|
onHoverEnd: f
|
|
23306
23435
|
}, e.id));
|
|
@@ -23479,6 +23608,18 @@ function StatusBadge({ className: e, label: t, status: n, onAction: r, density:
|
|
|
23479
23608
|
onMouseLeave: s ? () => o(!1) : void 0
|
|
23480
23609
|
});
|
|
23481
23610
|
}
|
|
23611
|
+
function BetaResizeHandle({ onPointerDown: e, onKeyDown: t, isResizing: n = !1, className: r }) {
|
|
23612
|
+
return /* @__PURE__ */ jsx("div", {
|
|
23613
|
+
role: "separator",
|
|
23614
|
+
"aria-orientation": "vertical",
|
|
23615
|
+
"aria-label": "Resize panel",
|
|
23616
|
+
tabIndex: 0,
|
|
23617
|
+
onPointerDown: e,
|
|
23618
|
+
onKeyDown: t,
|
|
23619
|
+
className: cn("flex w-2 shrink-0 cursor-col-resize items-center justify-center transition-colors max-md:hidden", n ? "bg-primary-500/20" : "bg-neutral-100 hover:bg-primary-500/20", r),
|
|
23620
|
+
children: /* @__PURE__ */ jsx("div", { className: cn("h-8 w-px rounded-full transition-colors", n ? "bg-primary-500" : "bg-resize-handle-grip") })
|
|
23621
|
+
});
|
|
23622
|
+
}
|
|
23482
23623
|
function BulkActionsSkeleton({ className: e }) {
|
|
23483
23624
|
return /* @__PURE__ */ jsxs("div", {
|
|
23484
23625
|
className: cn("gap-4 grid grid-cols-[minmax(0,1fr)_auto_auto] items-center", e),
|
|
@@ -23518,7 +23659,7 @@ function BulkActions({ totalItems: e = 0, selectedItems: t = 0, onSelectAll: n,
|
|
|
23518
23659
|
function O(e) {
|
|
23519
23660
|
p(e), a?.(e);
|
|
23520
23661
|
}
|
|
23521
|
-
let
|
|
23662
|
+
let Ks = {
|
|
23522
23663
|
fire: [{
|
|
23523
23664
|
id: "fire",
|
|
23524
23665
|
tooltip: "Mark as fire",
|
|
@@ -23599,7 +23740,7 @@ function BulkActions({ totalItems: e = 0, selectedItems: t = 0, onSelectAll: n,
|
|
|
23599
23740
|
}),
|
|
23600
23741
|
/* @__PURE__ */ jsx("div", {
|
|
23601
23742
|
className: "flex items-center divide-x divide-neutral-400-variant-1",
|
|
23602
|
-
children: t > 0 && /* @__PURE__ */ jsx(Fragment$1, { children: Object.entries(
|
|
23743
|
+
children: t > 0 && /* @__PURE__ */ jsx(Fragment$1, { children: Object.entries(Ks).map(([e, t]) => /* @__PURE__ */ jsx("div", {
|
|
23603
23744
|
className: "gap-2 px-1 flex items-center",
|
|
23604
23745
|
children: t.map((e) => /* @__PURE__ */ jsx(InfoTooltip, {
|
|
23605
23746
|
content: e.tooltip,
|
|
@@ -23876,15 +24017,15 @@ function IconCountButton({ icon: e, label: t, count: n, variant: r = "primary",
|
|
|
23876
24017
|
variant: r,
|
|
23877
24018
|
orientation: i,
|
|
23878
24019
|
status: a
|
|
23879
|
-
}),
|
|
23880
|
-
function
|
|
23881
|
-
c === void 0 &&
|
|
24020
|
+
}), Ks = useRef(null), [R, B] = useState(!1), [V, qs] = useState(!1), [Js, Ys] = useState(l), [Xs, H] = useState(null), Zs = c ?? Js, Qs = s && (R || V || Zs), $s = typeof n == "number" && n > 0 && (o || a === "active");
|
|
24021
|
+
function ec(e) {
|
|
24022
|
+
c === void 0 && Ys(e), u?.(e);
|
|
23882
24023
|
}
|
|
23883
24024
|
return useLayoutEffect(() => {
|
|
23884
|
-
if (!
|
|
24025
|
+
if (!Qs || !Ks.current) return;
|
|
23885
24026
|
function e() {
|
|
23886
|
-
let e =
|
|
23887
|
-
e &&
|
|
24027
|
+
let e = Ks.current?.getBoundingClientRect();
|
|
24028
|
+
e && H({
|
|
23888
24029
|
top: e.top - 8,
|
|
23889
24030
|
left: e.right - 12
|
|
23890
24031
|
});
|
|
@@ -23892,7 +24033,7 @@ function IconCountButton({ icon: e, label: t, count: n, variant: r = "primary",
|
|
|
23892
24033
|
return e(), window.addEventListener("resize", e), window.addEventListener("scroll", e, !0), () => {
|
|
23893
24034
|
window.removeEventListener("resize", e), window.removeEventListener("scroll", e, !0);
|
|
23894
24035
|
};
|
|
23895
|
-
}, [
|
|
24036
|
+
}, [Qs]), /* @__PURE__ */ jsxs(Button, {
|
|
23896
24037
|
...O,
|
|
23897
24038
|
className: cn(A.root(), p?.root),
|
|
23898
24039
|
onMouseEnter: () => B(!0),
|
|
@@ -23900,20 +24041,20 @@ function IconCountButton({ icon: e, label: t, count: n, variant: r = "primary",
|
|
|
23900
24041
|
children: [/* @__PURE__ */ jsxs("div", {
|
|
23901
24042
|
className: "relative",
|
|
23902
24043
|
children: [/* @__PURE__ */ jsx("div", {
|
|
23903
|
-
ref:
|
|
24044
|
+
ref: Ks,
|
|
23904
24045
|
className: cn(A.bubble(), p?.bubble),
|
|
23905
24046
|
children: renderIcon(e, A.icon())
|
|
23906
|
-
}),
|
|
23907
|
-
isPressed:
|
|
24047
|
+
}), Qs && Xs && typeof document < "u" && ToggleControlPortal({
|
|
24048
|
+
isPressed: Zs,
|
|
23908
24049
|
isPortalHovered: V,
|
|
23909
|
-
portalPosition:
|
|
23910
|
-
onMouseEnter: () =>
|
|
23911
|
-
onMouseLeave: () =>
|
|
23912
|
-
onToggle: () =>
|
|
24050
|
+
portalPosition: Xs,
|
|
24051
|
+
onMouseEnter: () => qs(!0),
|
|
24052
|
+
onMouseLeave: () => qs(!1),
|
|
24053
|
+
onToggle: () => ec(!Zs)
|
|
23913
24054
|
})]
|
|
23914
24055
|
}), /* @__PURE__ */ jsxs("div", {
|
|
23915
24056
|
className: cn(A.label(), p?.label),
|
|
23916
|
-
children: [/* @__PURE__ */ jsx("span", { children: t }),
|
|
24057
|
+
children: [/* @__PURE__ */ jsx("span", { children: t }), $s && /* @__PURE__ */ jsxs("span", {
|
|
23917
24058
|
"aria-label": `${n} items`,
|
|
23918
24059
|
className: cn(A.count(), p?.count),
|
|
23919
24060
|
children: [
|
|
@@ -23973,7 +24114,7 @@ function CalendarPanel({ mode: e, selectedDate: t, selectedRange: n, onDateSelec
|
|
|
23973
24114
|
t,
|
|
23974
24115
|
n
|
|
23975
24116
|
]);
|
|
23976
|
-
let
|
|
24117
|
+
let Ks = useMemo(() => generateCalendarDays(O.year, O.month), [O.year, O.month]);
|
|
23977
24118
|
function R(t) {
|
|
23978
24119
|
let o = t.getMonth(), s = t.getFullYear();
|
|
23979
24120
|
if ((o !== O.month || s !== O.year) && A({
|
|
@@ -24009,7 +24150,7 @@ function CalendarPanel({ mode: e, selectedDate: t, selectedRange: n, onDateSelec
|
|
|
24009
24150
|
month: e.month + 1
|
|
24010
24151
|
});
|
|
24011
24152
|
}
|
|
24012
|
-
let
|
|
24153
|
+
let qs = getWeekdays();
|
|
24013
24154
|
return /* @__PURE__ */ jsxs("div", {
|
|
24014
24155
|
className: "mt-1 rounded-lg p-2 shadow-lg w-fit border border-neutral-400 bg-white",
|
|
24015
24156
|
children: [
|
|
@@ -24046,17 +24187,17 @@ function CalendarPanel({ mode: e, selectedDate: t, selectedRange: n, onDateSelec
|
|
|
24046
24187
|
}),
|
|
24047
24188
|
/* @__PURE__ */ jsx("div", {
|
|
24048
24189
|
className: "mb-2 grid grid-cols-7",
|
|
24049
|
-
children:
|
|
24190
|
+
children: qs.map((e) => /* @__PURE__ */ jsx("div", {
|
|
24050
24191
|
className: "p-0.5 font-bold flex items-center justify-center text-[9px] text-neutral-900",
|
|
24051
24192
|
children: e
|
|
24052
24193
|
}, e))
|
|
24053
24194
|
}),
|
|
24054
24195
|
/* @__PURE__ */ jsx("div", {
|
|
24055
24196
|
className: "grid grid-cols-7",
|
|
24056
|
-
children:
|
|
24197
|
+
children: Ks.map(({ day: r, date: i, isCurrentMonth: a }) => {
|
|
24057
24198
|
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), g = u, O = s;
|
|
24058
24199
|
e === "range" && u && !f && s && !isDateBefore(s, u) ? (g = u, O = s) : (g = null, O = null);
|
|
24059
|
-
let A = e === "range" && (isDateInRange(i, u, f) || isDateInRange(i, g, O)),
|
|
24200
|
+
let A = e === "range" && (isDateInRange(i, u, f) || isDateInRange(i, g, O)), Gs = l || p || h;
|
|
24060
24201
|
return /* @__PURE__ */ jsx(Button, {
|
|
24061
24202
|
type: "button",
|
|
24062
24203
|
onClick: () => R(i),
|
|
@@ -24068,9 +24209,9 @@ function CalendarPanel({ mode: e, selectedDate: t, selectedRange: n, onDateSelec
|
|
|
24068
24209
|
},
|
|
24069
24210
|
className: "p-0.5",
|
|
24070
24211
|
"aria-label": `Select ${formatDate(i)}`,
|
|
24071
|
-
"aria-selected":
|
|
24212
|
+
"aria-selected": Gs || void 0,
|
|
24072
24213
|
children: /* @__PURE__ */ jsx("div", {
|
|
24073
|
-
className: cn("rounded flex h-[26px] w-[26px] items-center justify-center text-[9px] transition-colors",
|
|
24214
|
+
className: cn("rounded flex h-[26px] w-[26px] items-center justify-center text-[9px] transition-colors", Gs && "font-semibold bg-primary-500 text-white-variant-1 hover:bg-primary-500", A && !Gs && "font-normal bg-primary-500/20 text-neutral-900 hover:bg-primary-500/30", o && !Gs && !A && "font-bold border border-primary-500 bg-primary-500/15 hover:bg-primary-500 hover:text-white", !Gs && !A && (a ? "text-neutral-900 hover:bg-neutral-300" : "text-neutral-600 hover:bg-neutral-200")),
|
|
24074
24215
|
children: r
|
|
24075
24216
|
})
|
|
24076
24217
|
}, `${i.getFullYear()}-${i.getMonth()}-${r}`);
|
|
@@ -24138,7 +24279,7 @@ function DatePicker({ mode: e = "single", value: t, defaultValue: n, onChange: r
|
|
|
24138
24279
|
function O(t) {
|
|
24139
24280
|
e === "range" && (u || l(t), r?.(t));
|
|
24140
24281
|
}
|
|
24141
|
-
function
|
|
24282
|
+
function Gs() {
|
|
24142
24283
|
e === "single" ? h(null) : O({
|
|
24143
24284
|
startDate: null,
|
|
24144
24285
|
endDate: null
|
|
@@ -24149,7 +24290,7 @@ function DatePicker({ mode: e = "single", value: t, defaultValue: n, onChange: r
|
|
|
24149
24290
|
displayText: e === "single" ? formatDate(f) : formatDateRange(p.startDate, p.endDate),
|
|
24150
24291
|
disabled: i,
|
|
24151
24292
|
className: a,
|
|
24152
|
-
onClear:
|
|
24293
|
+
onClear: Gs
|
|
24153
24294
|
}),
|
|
24154
24295
|
disabled: i,
|
|
24155
24296
|
children: /* @__PURE__ */ jsx(CalendarPanel, {
|
|
@@ -24363,7 +24504,7 @@ function EventActionsList({ actions: e, className: t }) {
|
|
|
24363
24504
|
}) })
|
|
24364
24505
|
});
|
|
24365
24506
|
}
|
|
24366
|
-
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: g = {}, density: O = "normal", className: A, style:
|
|
24507
|
+
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: g = {}, density: O = "normal", className: A, style: Ks, isPriority: R, isDone: B }) {
|
|
24367
24508
|
return /* @__PURE__ */ jsx(Card, {
|
|
24368
24509
|
as: Pressable,
|
|
24369
24510
|
onPress: u,
|
|
@@ -24372,7 +24513,7 @@ function EventCard({ icon: e, service: t, sender: n, title: r, content: i, times
|
|
|
24372
24513
|
state: l ? "selected" : c ? "read" : "unread",
|
|
24373
24514
|
density: O
|
|
24374
24515
|
}), A),
|
|
24375
|
-
style:
|
|
24516
|
+
style: Ks,
|
|
24376
24517
|
"data-service": t,
|
|
24377
24518
|
children: O === "normal" ? /* @__PURE__ */ jsxs(CardLayout, {
|
|
24378
24519
|
className: "gap-x-2 gap-y-1",
|
|
@@ -24997,7 +25138,7 @@ function EventDetailContentMessage({ detail: { groups: e, summary: t, priorityTe
|
|
|
24997
25138
|
})), g = /* @__PURE__ */ new Set(), O = new Set(c.reduce((e, t) => {
|
|
24998
25139
|
let n = t.insightBadgeId ?? t.id;
|
|
24999
25140
|
return g.has(n) || (g.add(n), e.push(t.id)), e;
|
|
25000
|
-
}, [])), A = useRef(null),
|
|
25141
|
+
}, [])), A = useRef(null), Ks = useRef(null), R = useRef(!1);
|
|
25001
25142
|
useEffect(() => {
|
|
25002
25143
|
if (e.length === 0 || R.current) return;
|
|
25003
25144
|
R.current = !0;
|
|
@@ -25012,7 +25153,7 @@ function EventDetailContentMessage({ detail: { groups: e, summary: t, priorityTe
|
|
|
25012
25153
|
return;
|
|
25013
25154
|
}
|
|
25014
25155
|
}
|
|
25015
|
-
|
|
25156
|
+
Ks.current?.scrollIntoView({ behavior: "smooth" });
|
|
25016
25157
|
}, [e]);
|
|
25017
25158
|
let B = o, V = useCallback((t, n) => {
|
|
25018
25159
|
if (!A.current) return;
|
|
@@ -25060,7 +25201,7 @@ function EventDetailContentMessage({ detail: { groups: e, summary: t, priorityTe
|
|
|
25060
25201
|
onNextPriority: a
|
|
25061
25202
|
}, e.id);
|
|
25062
25203
|
}), /* @__PURE__ */ jsx("div", {
|
|
25063
|
-
ref:
|
|
25204
|
+
ref: Ks,
|
|
25064
25205
|
"aria-hidden": "true"
|
|
25065
25206
|
})]
|
|
25066
25207
|
})
|
|
@@ -25385,6 +25526,277 @@ function EventSummaryCardSkeleton({ className: e, style: t }) {
|
|
|
25385
25526
|
]
|
|
25386
25527
|
});
|
|
25387
25528
|
}
|
|
25529
|
+
var roleBadgeStyles = tv({
|
|
25530
|
+
base: "rounded-full border px-1.5 py-px text-[9px] font-bold tracking-wide uppercase",
|
|
25531
|
+
variants: { role: {
|
|
25532
|
+
client: "border-amber-200 bg-amber-50 text-amber-700",
|
|
25533
|
+
team: "border-blue-200 bg-blue-50 text-blue-700"
|
|
25534
|
+
} }
|
|
25535
|
+
}), ROLE_LABEL = {
|
|
25536
|
+
client: "Client",
|
|
25537
|
+
team: "Your team"
|
|
25538
|
+
};
|
|
25539
|
+
function RoleBadge({ role: e, className: t, ...n }) {
|
|
25540
|
+
return /* @__PURE__ */ jsx("span", {
|
|
25541
|
+
className: cn(roleBadgeStyles({ role: e }), t),
|
|
25542
|
+
...n,
|
|
25543
|
+
children: ROLE_LABEL[e]
|
|
25544
|
+
});
|
|
25545
|
+
}
|
|
25546
|
+
function SourceIcon({ sourceType: e }) {
|
|
25547
|
+
return e === "gmail" ? /* @__PURE__ */ jsx(GmailIcon, { size: 18 }) : e === "slack" ? /* @__PURE__ */ jsx(SlackIcon, { size: 18 }) : null;
|
|
25548
|
+
}
|
|
25549
|
+
function DetailPill({ children: e }) {
|
|
25550
|
+
return /* @__PURE__ */ jsx("span", {
|
|
25551
|
+
className: "min-w-0 shrink-0 truncate rounded-full border border-neutral-300 bg-neutral-100 px-2 py-px text-[10px] font-medium text-neutral-700-variant-1",
|
|
25552
|
+
children: e
|
|
25553
|
+
});
|
|
25554
|
+
}
|
|
25555
|
+
function OpenInIcon() {
|
|
25556
|
+
return /* @__PURE__ */ jsxs("svg", {
|
|
25557
|
+
width: "10",
|
|
25558
|
+
height: "10",
|
|
25559
|
+
viewBox: "0 0 24 24",
|
|
25560
|
+
fill: "none",
|
|
25561
|
+
stroke: "currentColor",
|
|
25562
|
+
strokeWidth: "2.5",
|
|
25563
|
+
strokeLinecap: "round",
|
|
25564
|
+
strokeLinejoin: "round",
|
|
25565
|
+
children: [
|
|
25566
|
+
/* @__PURE__ */ jsx("path", { d: "M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6" }),
|
|
25567
|
+
/* @__PURE__ */ jsx("polyline", { points: "15 3 21 3 21 9" }),
|
|
25568
|
+
/* @__PURE__ */ jsx("line", {
|
|
25569
|
+
x1: "10",
|
|
25570
|
+
y1: "14",
|
|
25571
|
+
x2: "21",
|
|
25572
|
+
y2: "3"
|
|
25573
|
+
})
|
|
25574
|
+
]
|
|
25575
|
+
});
|
|
25576
|
+
}
|
|
25577
|
+
var ABSENCE_BUBBLE_STYLES = {
|
|
25578
|
+
fire: {
|
|
25579
|
+
bg: "bg-red-50",
|
|
25580
|
+
border: "border-red-200",
|
|
25581
|
+
title: "text-red-700"
|
|
25582
|
+
},
|
|
25583
|
+
review: {
|
|
25584
|
+
bg: "bg-amber-50",
|
|
25585
|
+
border: "border-amber-200",
|
|
25586
|
+
title: "text-amber-700"
|
|
25587
|
+
},
|
|
25588
|
+
neutral: {
|
|
25589
|
+
bg: "bg-neutral-100",
|
|
25590
|
+
border: "border-neutral-300",
|
|
25591
|
+
title: "text-neutral-700-variant-1"
|
|
25592
|
+
}
|
|
25593
|
+
};
|
|
25594
|
+
function TimelineConnector({ isFirst: e, isLast: t, variant: n }) {
|
|
25595
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
25596
|
+
className: "flex w-[7px] flex-col items-center",
|
|
25597
|
+
children: [
|
|
25598
|
+
/* @__PURE__ */ jsx("div", { className: cn(n === "message" ? "h-[17px]" : "h-3.5", "w-px", !e && "bg-neutral-300") }),
|
|
25599
|
+
/* @__PURE__ */ jsx("div", {
|
|
25600
|
+
className: "relative z-10 h-[7px] w-[7px] shrink-0",
|
|
25601
|
+
children: n === "absence" ? /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx("div", { className: "absolute inset-0 animate-ping rounded-full border border-red-500" }), /* @__PURE__ */ jsx("div", { className: "h-[7px] w-[7px] rounded-full border-[1.5px] border-red-500 bg-white" })] }) : /* @__PURE__ */ jsx("div", { className: cn("h-[7px] w-[7px] rounded-full", n === "message" ? "bg-blue-500" : "bg-neutral-400") })
|
|
25602
|
+
}),
|
|
25603
|
+
!t && /* @__PURE__ */ jsx("div", { className: "w-px flex-1 bg-neutral-300" })
|
|
25604
|
+
]
|
|
25605
|
+
});
|
|
25606
|
+
}
|
|
25607
|
+
function TimelineItem({ item: e, isFirst: t, isLast: n, tone: r }) {
|
|
25608
|
+
if (e.absence) {
|
|
25609
|
+
let i = ABSENCE_BUBBLE_STYLES[r];
|
|
25610
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
25611
|
+
className: "flex items-stretch gap-3",
|
|
25612
|
+
children: [/* @__PURE__ */ jsx(TimelineConnector, {
|
|
25613
|
+
isFirst: t,
|
|
25614
|
+
isLast: n,
|
|
25615
|
+
variant: "absence"
|
|
25616
|
+
}), /* @__PURE__ */ jsxs("div", {
|
|
25617
|
+
className: cn("mb-2 min-w-0 flex-1 rounded-lg border px-3 py-2.5", i.bg, i.border),
|
|
25618
|
+
children: [/* @__PURE__ */ jsxs("p", {
|
|
25619
|
+
className: cn("text-[10px] font-bold uppercase", i.title),
|
|
25620
|
+
children: ["QTalo · ", e.stageLabel]
|
|
25621
|
+
}), /* @__PURE__ */ jsx("p", {
|
|
25622
|
+
className: "mt-1 text-[13px] break-words text-neutral-800",
|
|
25623
|
+
children: e.summary
|
|
25624
|
+
})]
|
|
25625
|
+
})]
|
|
25626
|
+
});
|
|
25627
|
+
}
|
|
25628
|
+
if (e.type === "source_message") {
|
|
25629
|
+
let r = e.direction === "internal_outbound" ? "team" : "client";
|
|
25630
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
25631
|
+
className: "flex items-stretch gap-3",
|
|
25632
|
+
children: [/* @__PURE__ */ jsx(TimelineConnector, {
|
|
25633
|
+
isFirst: t,
|
|
25634
|
+
isLast: n,
|
|
25635
|
+
variant: "message"
|
|
25636
|
+
}), /* @__PURE__ */ jsxs("div", {
|
|
25637
|
+
className: "mb-2 min-w-0 flex-1 rounded-xl border border-neutral-200-variant-1 bg-white-variant-8 px-4 py-3",
|
|
25638
|
+
children: [/* @__PURE__ */ jsxs("div", {
|
|
25639
|
+
className: "mb-1 flex flex-wrap items-center gap-1.5",
|
|
25640
|
+
children: [
|
|
25641
|
+
/* @__PURE__ */ jsx("span", {
|
|
25642
|
+
className: "text-[11px] font-semibold text-blue-700 uppercase tracking-wide",
|
|
25643
|
+
children: e.stageLabel
|
|
25644
|
+
}),
|
|
25645
|
+
e.senderName && /* @__PURE__ */ jsx("span", {
|
|
25646
|
+
className: "text-[12px] font-semibold text-neutral-900",
|
|
25647
|
+
children: e.senderName
|
|
25648
|
+
}),
|
|
25649
|
+
/* @__PURE__ */ jsx(RoleBadge, { role: r }),
|
|
25650
|
+
/* @__PURE__ */ jsx("span", {
|
|
25651
|
+
className: "text-[11px] text-neutral-700-variant-1",
|
|
25652
|
+
children: e.timestampDisplay
|
|
25653
|
+
}),
|
|
25654
|
+
/* @__PURE__ */ jsx("span", {
|
|
25655
|
+
className: "ml-auto",
|
|
25656
|
+
children: /* @__PURE__ */ jsx(SourceIcon, { sourceType: e.sourceType })
|
|
25657
|
+
})
|
|
25658
|
+
]
|
|
25659
|
+
}), /* @__PURE__ */ jsx("p", {
|
|
25660
|
+
className: "text-[13px] break-words text-neutral-800",
|
|
25661
|
+
children: e.summary
|
|
25662
|
+
})]
|
|
25663
|
+
})]
|
|
25664
|
+
});
|
|
25665
|
+
}
|
|
25666
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
25667
|
+
className: "flex items-stretch gap-3",
|
|
25668
|
+
children: [/* @__PURE__ */ jsx(TimelineConnector, {
|
|
25669
|
+
isFirst: t,
|
|
25670
|
+
isLast: n,
|
|
25671
|
+
variant: "check"
|
|
25672
|
+
}), /* @__PURE__ */ jsxs("div", {
|
|
25673
|
+
className: "mb-2 min-w-0 flex-1 rounded-lg border border-neutral-200-variant-1 bg-white-variant-8 px-3 py-2.5",
|
|
25674
|
+
children: [/* @__PURE__ */ jsxs("p", {
|
|
25675
|
+
className: "text-[10px] font-semibold text-neutral-800 uppercase",
|
|
25676
|
+
children: ["QTalo · ", e.stageLabel]
|
|
25677
|
+
}), /* @__PURE__ */ jsx("p", {
|
|
25678
|
+
className: "mt-1 text-[13px] break-words text-neutral-700-variant-1",
|
|
25679
|
+
children: e.summary
|
|
25680
|
+
})]
|
|
25681
|
+
})]
|
|
25682
|
+
});
|
|
25683
|
+
}
|
|
25684
|
+
function EvidenceTimeline({ items: e, canExpandThread: t = !1, tone: n = "fire", threadTitle: r, clientCompany: i, contactName: a, teamCompanyName: o, recipientLabel: s, className: c, ...l }) {
|
|
25685
|
+
let [u, f] = useState(!0), p = e.filter((e) => e.type === "source_message");
|
|
25686
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
25687
|
+
className: cn("flex flex-col", c),
|
|
25688
|
+
...l,
|
|
25689
|
+
children: [e.map((t, r) => /* @__PURE__ */ jsx(TimelineItem, {
|
|
25690
|
+
item: t,
|
|
25691
|
+
isFirst: r === 0,
|
|
25692
|
+
isLast: r === e.length - 1,
|
|
25693
|
+
tone: n
|
|
25694
|
+
}, t.id)), t && p.length > 0 && /* @__PURE__ */ jsxs("div", {
|
|
25695
|
+
className: "mt-1 border-t border-neutral-200-variant-1 pt-2",
|
|
25696
|
+
children: [/* @__PURE__ */ jsxs("button", {
|
|
25697
|
+
type: "button",
|
|
25698
|
+
onClick: () => f((e) => !e),
|
|
25699
|
+
className: "inline-flex items-center gap-1.5 text-xs font-medium text-neutral-700-variant-1 transition-colors hover:text-neutral-900",
|
|
25700
|
+
children: [/* @__PURE__ */ jsx("svg", {
|
|
25701
|
+
width: "11",
|
|
25702
|
+
height: "11",
|
|
25703
|
+
viewBox: "0 0 24 24",
|
|
25704
|
+
fill: "none",
|
|
25705
|
+
stroke: "currentColor",
|
|
25706
|
+
strokeWidth: "2",
|
|
25707
|
+
strokeLinecap: "round",
|
|
25708
|
+
strokeLinejoin: "round",
|
|
25709
|
+
children: u ? /* @__PURE__ */ jsx("polyline", { points: "18 15 12 9 6 15" }) : /* @__PURE__ */ jsx("polyline", { points: "6 9 12 15 18 9" })
|
|
25710
|
+
}), u ? "Hide full thread" : "View full thread"]
|
|
25711
|
+
}), u && /* @__PURE__ */ jsxs("div", {
|
|
25712
|
+
className: "mt-2 overflow-hidden rounded-xl border border-neutral-200-variant-1",
|
|
25713
|
+
children: [/* @__PURE__ */ jsxs("div", {
|
|
25714
|
+
className: "flex items-center justify-between gap-2 border-b border-neutral-200-variant-1 bg-neutral-100 px-4 py-3",
|
|
25715
|
+
children: [/* @__PURE__ */ jsxs("div", {
|
|
25716
|
+
className: "flex min-w-0 items-center gap-2",
|
|
25717
|
+
children: [/* @__PURE__ */ jsx(SourceIcon, { sourceType: p[0]?.sourceType }), /* @__PURE__ */ jsx("span", {
|
|
25718
|
+
className: "truncate text-xs font-semibold text-neutral-800",
|
|
25719
|
+
children: r
|
|
25720
|
+
})]
|
|
25721
|
+
}), /* @__PURE__ */ jsxs("span", {
|
|
25722
|
+
className: "shrink-0 text-[11px] font-medium text-neutral-700-variant-1",
|
|
25723
|
+
children: [p.length, " messages"]
|
|
25724
|
+
})]
|
|
25725
|
+
}), /* @__PURE__ */ jsx("div", {
|
|
25726
|
+
className: "flex flex-col gap-3 bg-neutral-50 px-4 py-4",
|
|
25727
|
+
children: p.map((e) => {
|
|
25728
|
+
let t = e.direction === "internal_outbound", n = e.senderName ?? a ?? "", r = t ? o : i, c = t ? [a, i].filter(Boolean) : [o, s].filter(Boolean), l = t ? "team" : "client", u = t ? "client" : "team";
|
|
25729
|
+
return /* @__PURE__ */ jsx("div", {
|
|
25730
|
+
className: cn("rounded-xl border px-4 py-3", t ? "border-blue-200 bg-blue-50" : "border-neutral-200-variant-1 bg-white-variant-8"),
|
|
25731
|
+
children: /* @__PURE__ */ jsxs("div", {
|
|
25732
|
+
className: "flex gap-3",
|
|
25733
|
+
children: [/* @__PURE__ */ jsx("div", {
|
|
25734
|
+
className: cn("flex h-8 w-8 shrink-0 items-center justify-center rounded-full text-[13px] font-bold", t ? "bg-blue-200 text-blue-800" : "bg-neutral-200 text-neutral-700-variant-1"),
|
|
25735
|
+
children: n.charAt(0).toUpperCase()
|
|
25736
|
+
}), /* @__PURE__ */ jsxs("div", {
|
|
25737
|
+
className: "min-w-0 flex-1",
|
|
25738
|
+
children: [
|
|
25739
|
+
/* @__PURE__ */ jsxs("div", {
|
|
25740
|
+
className: "flex items-start justify-between gap-2",
|
|
25741
|
+
children: [/* @__PURE__ */ jsxs("div", {
|
|
25742
|
+
className: "flex min-w-0 flex-1 flex-col gap-1",
|
|
25743
|
+
children: [/* @__PURE__ */ jsxs("div", {
|
|
25744
|
+
className: "flex min-w-0 items-center gap-1.5",
|
|
25745
|
+
children: [
|
|
25746
|
+
/* @__PURE__ */ jsx("span", {
|
|
25747
|
+
className: "w-9 shrink-0 text-[10px] font-bold tracking-wide text-neutral-700-variant-1 uppercase",
|
|
25748
|
+
children: "From"
|
|
25749
|
+
}),
|
|
25750
|
+
/* @__PURE__ */ jsx("span", {
|
|
25751
|
+
className: "truncate text-[13px] font-bold text-neutral-900",
|
|
25752
|
+
children: n
|
|
25753
|
+
}),
|
|
25754
|
+
r && /* @__PURE__ */ jsx(DetailPill, { children: r }),
|
|
25755
|
+
/* @__PURE__ */ jsx(RoleBadge, { role: l })
|
|
25756
|
+
]
|
|
25757
|
+
}), c.length > 0 && /* @__PURE__ */ jsxs("div", {
|
|
25758
|
+
className: "flex min-w-0 flex-wrap items-center gap-1.5",
|
|
25759
|
+
children: [
|
|
25760
|
+
/* @__PURE__ */ jsx("span", {
|
|
25761
|
+
className: "w-9 shrink-0 text-[10px] font-bold tracking-wide text-neutral-700-variant-1 uppercase",
|
|
25762
|
+
children: "To"
|
|
25763
|
+
}),
|
|
25764
|
+
c.map((e) => /* @__PURE__ */ jsx(DetailPill, { children: e }, e)),
|
|
25765
|
+
/* @__PURE__ */ jsx(RoleBadge, { role: u })
|
|
25766
|
+
]
|
|
25767
|
+
})]
|
|
25768
|
+
}), /* @__PURE__ */ jsxs("div", {
|
|
25769
|
+
className: "flex shrink-0 items-center gap-1.5",
|
|
25770
|
+
children: [/* @__PURE__ */ jsx(SourceIcon, { sourceType: e.sourceType }), /* @__PURE__ */ jsx("span", {
|
|
25771
|
+
className: "text-[11px] font-medium text-neutral-700-variant-1",
|
|
25772
|
+
children: e.timestampDisplay
|
|
25773
|
+
})]
|
|
25774
|
+
})]
|
|
25775
|
+
}),
|
|
25776
|
+
/* @__PURE__ */ jsx("p", {
|
|
25777
|
+
className: "mt-2 border-t border-neutral-200-variant-1 pt-2.5 text-sm break-words text-neutral-800",
|
|
25778
|
+
children: e.summary
|
|
25779
|
+
}),
|
|
25780
|
+
e.link && /* @__PURE__ */ jsx("div", {
|
|
25781
|
+
className: "mt-2.5 border-t border-neutral-200-variant-1 pt-2",
|
|
25782
|
+
children: /* @__PURE__ */ jsxs("a", {
|
|
25783
|
+
href: e.link,
|
|
25784
|
+
target: "_blank",
|
|
25785
|
+
rel: "noopener noreferrer",
|
|
25786
|
+
className: "inline-flex items-center gap-1 text-[11px] font-medium text-neutral-700-variant-1 transition-colors hover:text-neutral-900 hover:underline",
|
|
25787
|
+
children: [e.sourceType === "gmail" ? "Open in Gmail" : "Open in Slack", /* @__PURE__ */ jsx(OpenInIcon, {})]
|
|
25788
|
+
})
|
|
25789
|
+
})
|
|
25790
|
+
]
|
|
25791
|
+
})]
|
|
25792
|
+
})
|
|
25793
|
+
}, e.id);
|
|
25794
|
+
})
|
|
25795
|
+
})]
|
|
25796
|
+
})]
|
|
25797
|
+
})]
|
|
25798
|
+
});
|
|
25799
|
+
}
|
|
25388
25800
|
function FilterBarSkeleton({ itemCount: e = 3, className: t }) {
|
|
25389
25801
|
return /* @__PURE__ */ jsx("div", {
|
|
25390
25802
|
className: cn("gap-2 flex flex-wrap items-center", t),
|
|
@@ -25773,6 +26185,137 @@ function Onboarding({ steps: e, context: t, storageKey: n, onFinish: r, isEnable
|
|
|
25773
26185
|
})
|
|
25774
26186
|
});
|
|
25775
26187
|
}
|
|
26188
|
+
var pulseFilterChipStyles = tv({
|
|
26189
|
+
slots: {
|
|
26190
|
+
root: "inline-flex shrink-0 items-center gap-1 rounded-full border bg-white px-2.5 py-1 text-[11px] transition-colors",
|
|
26191
|
+
content: "inline-flex items-center",
|
|
26192
|
+
dot: "h-1.5 w-1.5 shrink-0 rounded-full",
|
|
26193
|
+
count: "inline-flex h-[14px] min-w-[14px] items-center justify-center rounded-full px-1 text-[9px] font-bold"
|
|
26194
|
+
},
|
|
26195
|
+
variants: {
|
|
26196
|
+
tone: {
|
|
26197
|
+
fire: {
|
|
26198
|
+
root: "font-medium",
|
|
26199
|
+
content: "gap-1.5",
|
|
26200
|
+
dot: "bg-red-500"
|
|
26201
|
+
},
|
|
26202
|
+
review: {
|
|
26203
|
+
root: "font-medium",
|
|
26204
|
+
content: "gap-1.5",
|
|
26205
|
+
dot: "bg-amber-400"
|
|
26206
|
+
},
|
|
26207
|
+
neutral: {
|
|
26208
|
+
root: "font-medium",
|
|
26209
|
+
content: "gap-1.5",
|
|
26210
|
+
dot: "bg-neutral-500"
|
|
26211
|
+
},
|
|
26212
|
+
brand: {
|
|
26213
|
+
root: "font-semibold",
|
|
26214
|
+
content: "gap-1",
|
|
26215
|
+
dot: "hidden"
|
|
26216
|
+
}
|
|
26217
|
+
},
|
|
26218
|
+
selected: {
|
|
26219
|
+
true: { count: "bg-white-variant-1/20 text-white-variant-1" },
|
|
26220
|
+
false: { count: "bg-neutral-100 text-neutral-700" }
|
|
26221
|
+
},
|
|
26222
|
+
disabled: {
|
|
26223
|
+
true: { root: "cursor-default border-neutral-200 bg-neutral-50 text-neutral-600 opacity-60" },
|
|
26224
|
+
false: {}
|
|
26225
|
+
}
|
|
26226
|
+
},
|
|
26227
|
+
compoundVariants: [
|
|
26228
|
+
{
|
|
26229
|
+
tone: "fire",
|
|
26230
|
+
selected: !1,
|
|
26231
|
+
disabled: !1,
|
|
26232
|
+
class: { root: "border-red-200 text-red-700 hover:border-red-400" }
|
|
26233
|
+
},
|
|
26234
|
+
{
|
|
26235
|
+
tone: "fire",
|
|
26236
|
+
selected: !0,
|
|
26237
|
+
disabled: !1,
|
|
26238
|
+
class: { root: "bg-red-600 border-red-600 text-white-variant-1" }
|
|
26239
|
+
},
|
|
26240
|
+
{
|
|
26241
|
+
tone: "review",
|
|
26242
|
+
selected: !1,
|
|
26243
|
+
disabled: !1,
|
|
26244
|
+
class: { root: "border-amber-200 text-amber-700 hover:border-amber-400" }
|
|
26245
|
+
},
|
|
26246
|
+
{
|
|
26247
|
+
tone: "review",
|
|
26248
|
+
selected: !0,
|
|
26249
|
+
disabled: !1,
|
|
26250
|
+
class: { root: "bg-amber-500 border-amber-500 text-white-variant-1" }
|
|
26251
|
+
},
|
|
26252
|
+
{
|
|
26253
|
+
tone: "neutral",
|
|
26254
|
+
selected: !1,
|
|
26255
|
+
disabled: !1,
|
|
26256
|
+
class: { root: "border-neutral-300 text-neutral-700 hover:border-neutral-500" }
|
|
26257
|
+
},
|
|
26258
|
+
{
|
|
26259
|
+
tone: "neutral",
|
|
26260
|
+
selected: !0,
|
|
26261
|
+
disabled: !1,
|
|
26262
|
+
class: { root: "bg-pulse-chip-neutral-active-bg border-pulse-chip-neutral-active-bg text-pulse-chip-neutral-active-text" }
|
|
26263
|
+
},
|
|
26264
|
+
{
|
|
26265
|
+
tone: "brand",
|
|
26266
|
+
selected: !1,
|
|
26267
|
+
disabled: !1,
|
|
26268
|
+
class: { root: "border-neutral-300 text-neutral-900 hover:border-neutral-600" }
|
|
26269
|
+
},
|
|
26270
|
+
{
|
|
26271
|
+
tone: "brand",
|
|
26272
|
+
selected: !0,
|
|
26273
|
+
disabled: !1,
|
|
26274
|
+
class: { root: "bg-primary-500 border-primary-500 text-white-variant-1" }
|
|
26275
|
+
}
|
|
26276
|
+
],
|
|
26277
|
+
defaultVariants: {
|
|
26278
|
+
tone: "neutral",
|
|
26279
|
+
selected: !1,
|
|
26280
|
+
disabled: !1
|
|
26281
|
+
}
|
|
26282
|
+
});
|
|
26283
|
+
function PulseFilterChip({ label: e, count: t, tone: n = "neutral", icon: r, selected: i = !1, disabled: a = !1, onClick: o, onRemove: s, className: c }) {
|
|
26284
|
+
let l = pulseFilterChipStyles({
|
|
26285
|
+
tone: n,
|
|
26286
|
+
selected: i,
|
|
26287
|
+
disabled: a
|
|
26288
|
+
});
|
|
26289
|
+
return /* @__PURE__ */ jsxs("span", {
|
|
26290
|
+
className: cn(l.root(), c),
|
|
26291
|
+
children: [/* @__PURE__ */ jsxs(Pressable, {
|
|
26292
|
+
as: "span",
|
|
26293
|
+
onPress: a ? void 0 : o,
|
|
26294
|
+
disabled: a,
|
|
26295
|
+
className: l.content(),
|
|
26296
|
+
children: [
|
|
26297
|
+
r ?? /* @__PURE__ */ jsx("span", { className: l.dot() }),
|
|
26298
|
+
/* @__PURE__ */ jsx("span", { children: e }),
|
|
26299
|
+
typeof t == "number" && /* @__PURE__ */ jsx("span", {
|
|
26300
|
+
className: l.count(),
|
|
26301
|
+
children: t
|
|
26302
|
+
})
|
|
26303
|
+
]
|
|
26304
|
+
}), s && /* @__PURE__ */ jsx(Pressable, {
|
|
26305
|
+
as: "span",
|
|
26306
|
+
onPress: s,
|
|
26307
|
+
"aria-label": `Clear ${e}`,
|
|
26308
|
+
className: "inline-flex shrink-0 items-center justify-center rounded-full opacity-80 hover:opacity-100 focus-visible:ring-2 focus-visible:ring-current",
|
|
26309
|
+
children: /* @__PURE__ */ jsx(CloseIcon, { size: 12 })
|
|
26310
|
+
})]
|
|
26311
|
+
});
|
|
26312
|
+
}
|
|
26313
|
+
function PulseFilterChipSkeleton({ labelWidthClassName: e = "w-16", className: t }) {
|
|
26314
|
+
return /* @__PURE__ */ jsxs("span", {
|
|
26315
|
+
className: cn("inline-flex shrink-0 items-center gap-1.5 rounded-full border border-neutral-300 bg-white px-2.5 py-1", t),
|
|
26316
|
+
children: [/* @__PURE__ */ jsx("div", { className: "size-3 shrink-0 rounded-full bg-neutral-300-variant-3" }), /* @__PURE__ */ jsx(Skeleton, { className: cn("h-3", e) })]
|
|
26317
|
+
});
|
|
26318
|
+
}
|
|
25776
26319
|
function SearchInput({ value: e, defaultValue: t, placeholder: n = "Search...", onChange: r, onKeyDown: i, onClear: a, disabled: o = !1, className: s }) {
|
|
25777
26320
|
let [c, l] = useState(t ?? ""), u = typeof e == "string", f = u ? e : c, p = f.length > 0;
|
|
25778
26321
|
function h(e) {
|
|
@@ -25811,6 +26354,849 @@ function SearchInput({ value: e, defaultValue: t, placeholder: n = "Search...",
|
|
|
25811
26354
|
]
|
|
25812
26355
|
});
|
|
25813
26356
|
}
|
|
26357
|
+
var chipStyles = tv({
|
|
26358
|
+
slots: {
|
|
26359
|
+
root: "inline-flex h-5 min-w-0 items-center gap-1 rounded-full py-0.5 pr-1 pl-2 text-[11px] font-semibold",
|
|
26360
|
+
close: "flex h-3.5 w-3.5 shrink-0 items-center justify-center rounded-full opacity-80 hover:opacity-100 focus-visible:ring-2 focus-visible:ring-current"
|
|
26361
|
+
},
|
|
26362
|
+
variants: { type: {
|
|
26363
|
+
client: { root: "bg-search-suggestion-client-bg text-search-suggestion-client-text" },
|
|
26364
|
+
member: { root: "bg-search-suggestion-member-bg text-search-suggestion-member-text" }
|
|
26365
|
+
} }
|
|
26366
|
+
});
|
|
26367
|
+
function SelectedChip({ suggestion: e, onClear: t }) {
|
|
26368
|
+
let n = chipStyles({ type: e.type });
|
|
26369
|
+
return /* @__PURE__ */ jsxs("span", {
|
|
26370
|
+
className: n.root(),
|
|
26371
|
+
children: [/* @__PURE__ */ jsx("span", {
|
|
26372
|
+
className: "truncate",
|
|
26373
|
+
children: e.label
|
|
26374
|
+
}), /* @__PURE__ */ jsx(StopPropagation, { children: /* @__PURE__ */ jsx(Pressable, {
|
|
26375
|
+
as: "span",
|
|
26376
|
+
onPress: t,
|
|
26377
|
+
"aria-label": `Clear ${e.label}`,
|
|
26378
|
+
className: n.close(),
|
|
26379
|
+
children: /* @__PURE__ */ jsx(CloseBoldIcon, { size: 10 })
|
|
26380
|
+
}) })]
|
|
26381
|
+
});
|
|
26382
|
+
}
|
|
26383
|
+
function SuggestionRow({ suggestion: e, onSelect: t }) {
|
|
26384
|
+
return /* @__PURE__ */ jsxs("button", {
|
|
26385
|
+
type: "button",
|
|
26386
|
+
onMouseDown: (n) => {
|
|
26387
|
+
n.preventDefault(), t(e);
|
|
26388
|
+
},
|
|
26389
|
+
className: "hover:bg-neutral-50 flex w-full items-center gap-2 px-3 py-2 text-left text-[12px] text-neutral-800",
|
|
26390
|
+
children: [e.type === "client" ? /* @__PURE__ */ jsx(BuildingOutlineIcon, {
|
|
26391
|
+
size: 12,
|
|
26392
|
+
className: "text-neutral-600"
|
|
26393
|
+
}) : /* @__PURE__ */ jsx(AccountOutlineIcon, {
|
|
26394
|
+
size: 12,
|
|
26395
|
+
className: "text-neutral-600"
|
|
26396
|
+
}), e.label]
|
|
26397
|
+
});
|
|
26398
|
+
}
|
|
26399
|
+
function SearchWithSuggestions({ value: e, onChange: t, suggestions: n, selected: r, onSelect: i, onClear: a, placeholder: o = "Search...", className: s }) {
|
|
26400
|
+
let [c, l] = useState(!1), u = n.filter((e) => e.type === "client"), f = n.filter((e) => e.type === "member"), p = c && !e && !r && n.length > 0;
|
|
26401
|
+
function h(e) {
|
|
26402
|
+
e.key === "Escape" && l(!1);
|
|
26403
|
+
}
|
|
26404
|
+
return /* @__PURE__ */ jsx(Dropdown, {
|
|
26405
|
+
open: p,
|
|
26406
|
+
onOpenChange: () => {},
|
|
26407
|
+
openOnHover: !1,
|
|
26408
|
+
align: "start",
|
|
26409
|
+
side: "bottom",
|
|
26410
|
+
offsetY: 4,
|
|
26411
|
+
trigger: /* @__PURE__ */ jsxs("div", {
|
|
26412
|
+
onFocus: () => l(!0),
|
|
26413
|
+
onBlur: () => l(!1),
|
|
26414
|
+
className: cn("border-neutral-500-variant-3 focus-within:border-primary-500 flex h-8 min-w-0 items-center gap-1.5 rounded-full border bg-white px-2 py-1", s),
|
|
26415
|
+
children: [/* @__PURE__ */ jsx(SearchIcon, {
|
|
26416
|
+
size: 20,
|
|
26417
|
+
className: "text-neutral-700"
|
|
26418
|
+
}), r ? /* @__PURE__ */ jsx(SelectedChip, {
|
|
26419
|
+
suggestion: r,
|
|
26420
|
+
onClear: a
|
|
26421
|
+
}) : /* @__PURE__ */ jsx(Input, {
|
|
26422
|
+
type: "text",
|
|
26423
|
+
value: e,
|
|
26424
|
+
placeholder: o,
|
|
26425
|
+
onChange: t,
|
|
26426
|
+
onKeyDown: h,
|
|
26427
|
+
className: "text-neutral-800 placeholder:text-neutral-700-alpha-60 m-0 h-5 min-w-0 flex-1 border-0 bg-transparent p-0 text-xs outline-none"
|
|
26428
|
+
})]
|
|
26429
|
+
}),
|
|
26430
|
+
children: /* @__PURE__ */ jsxs("div", {
|
|
26431
|
+
className: "border-neutral-200 w-[260px] overflow-hidden rounded-xl border bg-white shadow-lg",
|
|
26432
|
+
children: [
|
|
26433
|
+
u.length > 0 && /* @__PURE__ */ jsxs("div", {
|
|
26434
|
+
className: "pb-1",
|
|
26435
|
+
children: [/* @__PURE__ */ jsx("p", {
|
|
26436
|
+
className: "text-neutral-600 px-3 pt-2.5 pb-1 text-[10px] font-bold tracking-widest uppercase",
|
|
26437
|
+
children: "Clients"
|
|
26438
|
+
}), u.map((e) => /* @__PURE__ */ jsx(SuggestionRow, {
|
|
26439
|
+
suggestion: e,
|
|
26440
|
+
onSelect: i
|
|
26441
|
+
}, e.label))]
|
|
26442
|
+
}),
|
|
26443
|
+
u.length > 0 && f.length > 0 && /* @__PURE__ */ jsx("div", { className: "border-neutral-200 mt-1 border-t-2" }),
|
|
26444
|
+
f.length > 0 && /* @__PURE__ */ jsxs("div", {
|
|
26445
|
+
className: "pb-1",
|
|
26446
|
+
children: [/* @__PURE__ */ jsx("p", {
|
|
26447
|
+
className: "text-neutral-600 px-3 pt-2.5 pb-1 text-[10px] font-bold tracking-widest uppercase",
|
|
26448
|
+
children: "Members"
|
|
26449
|
+
}), f.map((e) => /* @__PURE__ */ jsx(SuggestionRow, {
|
|
26450
|
+
suggestion: e,
|
|
26451
|
+
onSelect: i
|
|
26452
|
+
}, e.label))]
|
|
26453
|
+
}),
|
|
26454
|
+
/* @__PURE__ */ jsx("div", {
|
|
26455
|
+
className: "border-neutral-200 mt-1 border-t-2 px-3 py-2",
|
|
26456
|
+
children: /* @__PURE__ */ jsx("p", {
|
|
26457
|
+
className: "text-neutral-600 text-[11px] font-medium",
|
|
26458
|
+
children: "Type to search all signals"
|
|
26459
|
+
})
|
|
26460
|
+
})
|
|
26461
|
+
]
|
|
26462
|
+
})
|
|
26463
|
+
});
|
|
26464
|
+
}
|
|
26465
|
+
var SEVERITY_CONFIG$1 = {
|
|
26466
|
+
fire: {
|
|
26467
|
+
icon: FireFillIcon,
|
|
26468
|
+
text: "text-tertiary-500-variant-2"
|
|
26469
|
+
},
|
|
26470
|
+
spark: {
|
|
26471
|
+
icon: InsightFillIcon,
|
|
26472
|
+
text: "text-primary-500"
|
|
26473
|
+
},
|
|
26474
|
+
watching: {
|
|
26475
|
+
icon: EyeFillIcon,
|
|
26476
|
+
text: "text-neutral-700-variant-1"
|
|
26477
|
+
},
|
|
26478
|
+
healthy: {
|
|
26479
|
+
icon: CheckIcon,
|
|
26480
|
+
text: "text-success-base"
|
|
26481
|
+
}
|
|
26482
|
+
}, signalCardStyles = tv({
|
|
26483
|
+
base: "relative h-full w-full text-left transition-colors focus:outline-none",
|
|
26484
|
+
variants: {
|
|
26485
|
+
layout: {
|
|
26486
|
+
home: "rounded-lg border-[1.5px] p-4",
|
|
26487
|
+
row: "border-b border-l-[3px] px-4 py-3.5"
|
|
26488
|
+
},
|
|
26489
|
+
status: {
|
|
26490
|
+
needs_response: "",
|
|
26491
|
+
needs_review: "",
|
|
26492
|
+
resolved: ""
|
|
26493
|
+
},
|
|
26494
|
+
selected: {
|
|
26495
|
+
true: "",
|
|
26496
|
+
false: ""
|
|
26497
|
+
}
|
|
26498
|
+
},
|
|
26499
|
+
compoundVariants: [
|
|
26500
|
+
{
|
|
26501
|
+
layout: "home",
|
|
26502
|
+
status: "needs_response",
|
|
26503
|
+
selected: !1,
|
|
26504
|
+
class: "border-tertiary-500-variant-3 bg-white-variant-8 hover:bg-tertiary-500-variant-4"
|
|
26505
|
+
},
|
|
26506
|
+
{
|
|
26507
|
+
layout: "home",
|
|
26508
|
+
status: "needs_response",
|
|
26509
|
+
selected: !0,
|
|
26510
|
+
class: "border-tertiary-500-variant-2 bg-tertiary-500-variant-4"
|
|
26511
|
+
},
|
|
26512
|
+
{
|
|
26513
|
+
layout: "home",
|
|
26514
|
+
status: "needs_review",
|
|
26515
|
+
selected: !1,
|
|
26516
|
+
class: "border-amber-200 bg-white-variant-8 hover:bg-amber-50"
|
|
26517
|
+
},
|
|
26518
|
+
{
|
|
26519
|
+
layout: "home",
|
|
26520
|
+
status: "needs_review",
|
|
26521
|
+
selected: !0,
|
|
26522
|
+
class: "border-amber-400 bg-amber-50"
|
|
26523
|
+
},
|
|
26524
|
+
{
|
|
26525
|
+
layout: "home",
|
|
26526
|
+
status: "resolved",
|
|
26527
|
+
selected: !1,
|
|
26528
|
+
class: "border-green-200 bg-white-variant-8 hover:bg-green-50"
|
|
26529
|
+
},
|
|
26530
|
+
{
|
|
26531
|
+
layout: "home",
|
|
26532
|
+
status: "resolved",
|
|
26533
|
+
selected: !0,
|
|
26534
|
+
class: "border-green-500 bg-green-50"
|
|
26535
|
+
},
|
|
26536
|
+
{
|
|
26537
|
+
layout: "row",
|
|
26538
|
+
status: "needs_response",
|
|
26539
|
+
selected: !1,
|
|
26540
|
+
class: "border-neutral-200 border-l-transparent hover:bg-neutral-50"
|
|
26541
|
+
},
|
|
26542
|
+
{
|
|
26543
|
+
layout: "row",
|
|
26544
|
+
status: "needs_response",
|
|
26545
|
+
selected: !0,
|
|
26546
|
+
class: "border-neutral-200 border-l-red-500 bg-neutral-50"
|
|
26547
|
+
},
|
|
26548
|
+
{
|
|
26549
|
+
layout: "row",
|
|
26550
|
+
status: "needs_review",
|
|
26551
|
+
selected: !1,
|
|
26552
|
+
class: "border-neutral-200 border-l-transparent hover:bg-neutral-50"
|
|
26553
|
+
},
|
|
26554
|
+
{
|
|
26555
|
+
layout: "row",
|
|
26556
|
+
status: "needs_review",
|
|
26557
|
+
selected: !0,
|
|
26558
|
+
class: "border-neutral-200 border-l-amber-400 bg-neutral-50"
|
|
26559
|
+
},
|
|
26560
|
+
{
|
|
26561
|
+
layout: "row",
|
|
26562
|
+
status: "resolved",
|
|
26563
|
+
selected: !1,
|
|
26564
|
+
class: "border-neutral-200 border-l-transparent hover:bg-neutral-50"
|
|
26565
|
+
},
|
|
26566
|
+
{
|
|
26567
|
+
layout: "row",
|
|
26568
|
+
status: "resolved",
|
|
26569
|
+
selected: !0,
|
|
26570
|
+
class: "border-neutral-200 border-l-green-500 bg-neutral-50"
|
|
26571
|
+
}
|
|
26572
|
+
]
|
|
26573
|
+
});
|
|
26574
|
+
function SourceIcons({ sourceTypes: e }) {
|
|
26575
|
+
return /* @__PURE__ */ jsxs("span", {
|
|
26576
|
+
className: "absolute top-3.5 right-3 flex items-center gap-1",
|
|
26577
|
+
children: [e.includes("gmail") && /* @__PURE__ */ jsx(GmailIcon, { size: 16 }), e.includes("slack") && /* @__PURE__ */ jsx(SlackIcon, { size: 18 })]
|
|
26578
|
+
});
|
|
26579
|
+
}
|
|
26580
|
+
function SignalCard({ title: e, clientName: t, requesterName: n, explanation: r, severity: i, status: a, slaLabel: o, slaStatusLabel: s, sourceTypes: c, patternContext: l, variant: u = "home", selected: f = !1, onClick: p, className: h }) {
|
|
26581
|
+
let g = SEVERITY_CONFIG$1[i];
|
|
26582
|
+
return /* @__PURE__ */ jsxs(Pressable, {
|
|
26583
|
+
onPress: p,
|
|
26584
|
+
className: cn(signalCardStyles({
|
|
26585
|
+
layout: u,
|
|
26586
|
+
status: a,
|
|
26587
|
+
selected: f
|
|
26588
|
+
}), h),
|
|
26589
|
+
children: [
|
|
26590
|
+
/* @__PURE__ */ jsx(SourceIcons, { sourceTypes: c }),
|
|
26591
|
+
/* @__PURE__ */ jsxs("div", {
|
|
26592
|
+
className: "mb-1 flex items-center gap-1.5 pr-10",
|
|
26593
|
+
children: [/* @__PURE__ */ jsx(InfoTooltip, {
|
|
26594
|
+
content: s,
|
|
26595
|
+
children: /* @__PURE__ */ jsx("span", {
|
|
26596
|
+
className: cn("shrink-0", g.text),
|
|
26597
|
+
children: /* @__PURE__ */ jsx(g.icon, { size: 16 })
|
|
26598
|
+
})
|
|
26599
|
+
}), /* @__PURE__ */ jsx("span", {
|
|
26600
|
+
className: cn("text-[12px] font-semibold", g.text),
|
|
26601
|
+
children: o
|
|
26602
|
+
})]
|
|
26603
|
+
}),
|
|
26604
|
+
/* @__PURE__ */ jsx("p", {
|
|
26605
|
+
className: "mb-1 line-clamp-1 pr-10 text-[13px] leading-snug font-semibold text-neutral-900",
|
|
26606
|
+
children: e
|
|
26607
|
+
}),
|
|
26608
|
+
r && /* @__PURE__ */ jsx("p", {
|
|
26609
|
+
className: "mb-1 line-clamp-1 pr-10 text-[11px] leading-snug text-neutral-700-variant-1",
|
|
26610
|
+
children: r
|
|
26611
|
+
}),
|
|
26612
|
+
(t || n) && /* @__PURE__ */ jsx("p", {
|
|
26613
|
+
className: "line-clamp-1 pr-10 text-[11px] font-medium text-neutral-700-variant-1",
|
|
26614
|
+
children: [t, n].filter(Boolean).join(" · ")
|
|
26615
|
+
}),
|
|
26616
|
+
l && /* @__PURE__ */ jsx("p", {
|
|
26617
|
+
className: "mt-1 pr-10 text-[10px] font-medium text-primary-500",
|
|
26618
|
+
children: l
|
|
26619
|
+
})
|
|
26620
|
+
]
|
|
26621
|
+
});
|
|
26622
|
+
}
|
|
26623
|
+
function SignalCardSkeleton({ variant: e = "home", className: t }) {
|
|
26624
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
26625
|
+
className: cn("relative h-full w-full", e === "home" ? "rounded-lg border-[1.5px] border-neutral-200-variant-1 bg-white-variant-8 p-4" : "border-b border-neutral-200-variant-1 px-4 py-3.5", t),
|
|
26626
|
+
children: [
|
|
26627
|
+
/* @__PURE__ */ jsx("div", { className: "absolute top-3.5 right-3 size-4 rounded-md bg-neutral-300-variant-3" }),
|
|
26628
|
+
/* @__PURE__ */ jsxs("div", {
|
|
26629
|
+
className: "mb-1 flex items-center gap-2 pr-10",
|
|
26630
|
+
children: [/* @__PURE__ */ jsx("div", { className: "size-4 shrink-0 rounded-md bg-neutral-300-variant-3" }), /* @__PURE__ */ jsx(Skeleton, { className: "h-3.5 w-28" })]
|
|
26631
|
+
}),
|
|
26632
|
+
/* @__PURE__ */ jsx(Skeleton, { className: "mb-1 h-4.5 w-8/12" }),
|
|
26633
|
+
/* @__PURE__ */ jsx(Skeleton, { className: "mb-1 h-4 w-10/12" }),
|
|
26634
|
+
/* @__PURE__ */ jsx(Skeleton, { className: "h-4 w-6/12" })
|
|
26635
|
+
]
|
|
26636
|
+
});
|
|
26637
|
+
}
|
|
26638
|
+
function SignalClusterCard({ title: e, body: t, ctaQuestion: n, destinationLabel: r, signalCount: i, onClick: a, className: o }) {
|
|
26639
|
+
return /* @__PURE__ */ jsxs(Pressable, {
|
|
26640
|
+
onPress: a,
|
|
26641
|
+
className: cn("h-full w-full rounded-lg border-[1.5px] border-neutral-400-variant-4 bg-white-variant-8 p-4 text-left transition-colors hover:border-neutral-500-variant-4 hover:bg-neutral-200-variant-1", o),
|
|
26642
|
+
children: [
|
|
26643
|
+
/* @__PURE__ */ jsxs("div", {
|
|
26644
|
+
className: "mb-1.5 flex items-start justify-between gap-2",
|
|
26645
|
+
children: [/* @__PURE__ */ jsx("p", {
|
|
26646
|
+
className: "text-[13px] leading-snug font-semibold text-neutral-800",
|
|
26647
|
+
children: e
|
|
26648
|
+
}), /* @__PURE__ */ jsxs("span", {
|
|
26649
|
+
className: "mt-0.5 shrink-0 text-[10px] font-medium text-neutral-600-variant-2",
|
|
26650
|
+
children: [
|
|
26651
|
+
i,
|
|
26652
|
+
" signal",
|
|
26653
|
+
i === 1 ? "" : "s"
|
|
26654
|
+
]
|
|
26655
|
+
})]
|
|
26656
|
+
}),
|
|
26657
|
+
/* @__PURE__ */ jsx("p", {
|
|
26658
|
+
className: "mb-1.5 text-[11px] leading-snug text-neutral-700-variant-1",
|
|
26659
|
+
children: t
|
|
26660
|
+
}),
|
|
26661
|
+
/* @__PURE__ */ jsx("p", {
|
|
26662
|
+
className: "mb-3 text-[11px] leading-snug text-neutral-700-variant-1",
|
|
26663
|
+
children: n
|
|
26664
|
+
}),
|
|
26665
|
+
/* @__PURE__ */ jsxs("div", {
|
|
26666
|
+
className: "text-primary-500 flex items-center gap-1 text-[11px] font-medium",
|
|
26667
|
+
children: [/* @__PURE__ */ jsx("span", { children: r }), /* @__PURE__ */ jsx(ArrowIcon, {
|
|
26668
|
+
direction: "right",
|
|
26669
|
+
size: 10
|
|
26670
|
+
})]
|
|
26671
|
+
})
|
|
26672
|
+
]
|
|
26673
|
+
});
|
|
26674
|
+
}
|
|
26675
|
+
function SignalClusterCardSkeleton({ className: e }) {
|
|
26676
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
26677
|
+
className: cn("h-full w-full rounded-lg border-[1.5px] border-neutral-200-variant-1 bg-white-variant-8 p-4", e),
|
|
26678
|
+
children: [
|
|
26679
|
+
/* @__PURE__ */ jsxs("div", {
|
|
26680
|
+
className: "mb-1.5 flex items-start justify-between gap-2",
|
|
26681
|
+
children: [/* @__PURE__ */ jsx(Skeleton, { className: "h-4 w-7/12" }), /* @__PURE__ */ jsx(Skeleton, { className: "mt-0.5 h-3 w-12 shrink-0" })]
|
|
26682
|
+
}),
|
|
26683
|
+
/* @__PURE__ */ jsx(Skeleton, { className: "mb-1.5 h-3 w-11/12" }),
|
|
26684
|
+
/* @__PURE__ */ jsx(Skeleton, { className: "mb-3 h-3 w-9/12" }),
|
|
26685
|
+
/* @__PURE__ */ jsx(Skeleton, { className: "h-3 w-5/12" })
|
|
26686
|
+
]
|
|
26687
|
+
});
|
|
26688
|
+
}
|
|
26689
|
+
var barStyles = tv({
|
|
26690
|
+
base: "h-full rounded-full",
|
|
26691
|
+
variants: { status: {
|
|
26692
|
+
met: "bg-green-400",
|
|
26693
|
+
on_track: "bg-green-400",
|
|
26694
|
+
approaching: "bg-yellow-300",
|
|
26695
|
+
overdue: "bg-amber-400",
|
|
26696
|
+
way_overdue: "bg-red-500"
|
|
26697
|
+
} }
|
|
26698
|
+
}), badgeStyles = tv({
|
|
26699
|
+
base: "rounded-full px-2 py-0.5 text-[10px] font-semibold",
|
|
26700
|
+
variants: { status: {
|
|
26701
|
+
met: "bg-green-50 text-green-700",
|
|
26702
|
+
on_track: "bg-green-50 text-green-700",
|
|
26703
|
+
approaching: "bg-yellow-50 text-yellow-700",
|
|
26704
|
+
overdue: "bg-amber-50 text-amber-700",
|
|
26705
|
+
way_overdue: "bg-red-50 text-red-700"
|
|
26706
|
+
} }
|
|
26707
|
+
});
|
|
26708
|
+
function SlaProgressBar({ policyLabel: e, statusLabel: t, status: n, actualLabel: r, windowLabel: i, percentUsed: a, className: o, ...s }) {
|
|
26709
|
+
let c = Math.min(a, 100);
|
|
26710
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
26711
|
+
className: cn("flex flex-col gap-2", o),
|
|
26712
|
+
...s,
|
|
26713
|
+
children: [
|
|
26714
|
+
/* @__PURE__ */ jsxs("div", {
|
|
26715
|
+
className: "flex items-center justify-between",
|
|
26716
|
+
children: [/* @__PURE__ */ jsx("p", {
|
|
26717
|
+
className: "text-[10px] font-bold tracking-widest text-neutral-900 uppercase",
|
|
26718
|
+
children: e
|
|
26719
|
+
}), /* @__PURE__ */ jsx("span", {
|
|
26720
|
+
className: badgeStyles({ status: n }),
|
|
26721
|
+
children: t
|
|
26722
|
+
})]
|
|
26723
|
+
}),
|
|
26724
|
+
/* @__PURE__ */ jsx("div", {
|
|
26725
|
+
className: "h-1.5 overflow-hidden rounded-full bg-neutral-200",
|
|
26726
|
+
children: /* @__PURE__ */ jsx("div", {
|
|
26727
|
+
className: barStyles({ status: n }),
|
|
26728
|
+
style: { width: `${c}%` }
|
|
26729
|
+
})
|
|
26730
|
+
}),
|
|
26731
|
+
/* @__PURE__ */ jsxs("div", {
|
|
26732
|
+
className: "flex items-center justify-between text-[11px] text-neutral-700",
|
|
26733
|
+
children: [/* @__PURE__ */ jsxs("span", { children: [
|
|
26734
|
+
"Actual:",
|
|
26735
|
+
" ",
|
|
26736
|
+
/* @__PURE__ */ jsx("span", {
|
|
26737
|
+
className: "font-semibold text-neutral-800",
|
|
26738
|
+
children: r
|
|
26739
|
+
})
|
|
26740
|
+
] }), /* @__PURE__ */ jsxs("span", { children: [
|
|
26741
|
+
"Window:",
|
|
26742
|
+
" ",
|
|
26743
|
+
/* @__PURE__ */ jsx("span", {
|
|
26744
|
+
className: "font-semibold text-neutral-800",
|
|
26745
|
+
children: i
|
|
26746
|
+
})
|
|
26747
|
+
] })]
|
|
26748
|
+
})
|
|
26749
|
+
]
|
|
26750
|
+
});
|
|
26751
|
+
}
|
|
26752
|
+
var SEVERITY_CONFIG = {
|
|
26753
|
+
fire: {
|
|
26754
|
+
icon: FireFillIcon,
|
|
26755
|
+
text: "text-tertiary-500-variant-2",
|
|
26756
|
+
label: "Fire"
|
|
26757
|
+
},
|
|
26758
|
+
spark: {
|
|
26759
|
+
icon: InsightFillIcon,
|
|
26760
|
+
text: "text-primary-500",
|
|
26761
|
+
label: "Spark"
|
|
26762
|
+
},
|
|
26763
|
+
watching: {
|
|
26764
|
+
icon: void 0,
|
|
26765
|
+
text: "text-neutral-700-variant-1",
|
|
26766
|
+
label: "Watching"
|
|
26767
|
+
}
|
|
26768
|
+
}, STATUS_BADGE_STYLES = {
|
|
26769
|
+
fire: {
|
|
26770
|
+
badge: "bg-red-50 text-red-700 border-red-200",
|
|
26771
|
+
dot: "bg-red-500",
|
|
26772
|
+
accentBar: "border-l-[3px] border-l-red-500"
|
|
26773
|
+
},
|
|
26774
|
+
review: {
|
|
26775
|
+
badge: "bg-amber-50 text-amber-700 border-amber-200",
|
|
26776
|
+
dot: "bg-amber-400",
|
|
26777
|
+
accentBar: "border-l-[3px] border-l-amber-400"
|
|
26778
|
+
},
|
|
26779
|
+
neutral: {
|
|
26780
|
+
badge: "bg-neutral-100 text-neutral-700 border-neutral-300",
|
|
26781
|
+
dot: "bg-neutral-400",
|
|
26782
|
+
accentBar: "border-l-[3px] border-l-neutral-400"
|
|
26783
|
+
}
|
|
26784
|
+
};
|
|
26785
|
+
function SectionCard({ title: e, titleAdornment: t, children: n }) {
|
|
26786
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
26787
|
+
className: "rounded-xl border border-neutral-200-variant-1 bg-white-variant-8 px-4 py-3.5",
|
|
26788
|
+
children: [/* @__PURE__ */ jsxs("div", {
|
|
26789
|
+
className: "mb-2 flex items-center gap-1.5",
|
|
26790
|
+
children: [/* @__PURE__ */ jsx("p", {
|
|
26791
|
+
className: "text-[10px] font-bold tracking-widest text-neutral-900 uppercase",
|
|
26792
|
+
children: e
|
|
26793
|
+
}), t]
|
|
26794
|
+
}), n]
|
|
26795
|
+
});
|
|
26796
|
+
}
|
|
26797
|
+
function OpenSourceIcon() {
|
|
26798
|
+
return /* @__PURE__ */ jsxs("svg", {
|
|
26799
|
+
width: "11",
|
|
26800
|
+
height: "11",
|
|
26801
|
+
viewBox: "0 0 24 24",
|
|
26802
|
+
fill: "none",
|
|
26803
|
+
stroke: "currentColor",
|
|
26804
|
+
strokeWidth: "2",
|
|
26805
|
+
strokeLinecap: "round",
|
|
26806
|
+
strokeLinejoin: "round",
|
|
26807
|
+
children: [
|
|
26808
|
+
/* @__PURE__ */ jsx("path", { d: "M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6" }),
|
|
26809
|
+
/* @__PURE__ */ jsx("polyline", { points: "15 3 21 3 21 9" }),
|
|
26810
|
+
/* @__PURE__ */ jsx("line", {
|
|
26811
|
+
x1: "10",
|
|
26812
|
+
y1: "14",
|
|
26813
|
+
x2: "21",
|
|
26814
|
+
y2: "3"
|
|
26815
|
+
})
|
|
26816
|
+
]
|
|
26817
|
+
});
|
|
26818
|
+
}
|
|
26819
|
+
function CheckActionIcon() {
|
|
26820
|
+
return /* @__PURE__ */ jsx("svg", {
|
|
26821
|
+
width: "11",
|
|
26822
|
+
height: "11",
|
|
26823
|
+
viewBox: "0 0 24 24",
|
|
26824
|
+
fill: "none",
|
|
26825
|
+
stroke: "currentColor",
|
|
26826
|
+
strokeWidth: "2.5",
|
|
26827
|
+
strokeLinecap: "round",
|
|
26828
|
+
strokeLinejoin: "round",
|
|
26829
|
+
children: /* @__PURE__ */ jsx("path", { d: "M20 6 9 17l-5-5" })
|
|
26830
|
+
});
|
|
26831
|
+
}
|
|
26832
|
+
function DismissActionIcon() {
|
|
26833
|
+
return /* @__PURE__ */ jsx("svg", {
|
|
26834
|
+
width: "11",
|
|
26835
|
+
height: "11",
|
|
26836
|
+
viewBox: "0 0 24 24",
|
|
26837
|
+
fill: "none",
|
|
26838
|
+
stroke: "currentColor",
|
|
26839
|
+
strokeWidth: "2.5",
|
|
26840
|
+
strokeLinecap: "round",
|
|
26841
|
+
strokeLinejoin: "round",
|
|
26842
|
+
children: /* @__PURE__ */ jsx("path", { d: "M18 6 6 18M6 6l12 12" })
|
|
26843
|
+
});
|
|
26844
|
+
}
|
|
26845
|
+
function CopyActionIcon() {
|
|
26846
|
+
return /* @__PURE__ */ jsxs("svg", {
|
|
26847
|
+
width: "11",
|
|
26848
|
+
height: "11",
|
|
26849
|
+
viewBox: "0 0 24 24",
|
|
26850
|
+
fill: "none",
|
|
26851
|
+
stroke: "currentColor",
|
|
26852
|
+
strokeWidth: "2",
|
|
26853
|
+
strokeLinecap: "round",
|
|
26854
|
+
strokeLinejoin: "round",
|
|
26855
|
+
children: [/* @__PURE__ */ jsx("rect", {
|
|
26856
|
+
x: "9",
|
|
26857
|
+
y: "9",
|
|
26858
|
+
width: "13",
|
|
26859
|
+
height: "13",
|
|
26860
|
+
rx: "2",
|
|
26861
|
+
ry: "2"
|
|
26862
|
+
}), /* @__PURE__ */ jsx("path", { d: "M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1" })]
|
|
26863
|
+
});
|
|
26864
|
+
}
|
|
26865
|
+
function GuardrailTooltip({ text: e }) {
|
|
26866
|
+
return /* @__PURE__ */ jsx(InfoTooltip, {
|
|
26867
|
+
content: e,
|
|
26868
|
+
children: /* @__PURE__ */ jsx("span", {
|
|
26869
|
+
className: "flex text-neutral-600 transition-colors hover:text-neutral-900",
|
|
26870
|
+
children: /* @__PURE__ */ jsx("svg", {
|
|
26871
|
+
width: "13",
|
|
26872
|
+
height: "13",
|
|
26873
|
+
viewBox: "0 0 24 24",
|
|
26874
|
+
fill: "currentColor",
|
|
26875
|
+
"aria-hidden": "true",
|
|
26876
|
+
children: /* @__PURE__ */ jsx("path", { d: "M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-6h2v6zm0-8h-2V7h2v2z" })
|
|
26877
|
+
})
|
|
26878
|
+
})
|
|
26879
|
+
});
|
|
26880
|
+
}
|
|
26881
|
+
function SignalDetailPanel({ title: e, severity: t, slaDurationLabel: n, statusLabel: r, statusTone: i, sourceType: a, sourceLink: o, clientCompany: s, contactName: c, teamCompanyName: l, recipientLabel: u, sla: f, claim: p, sameThreadGuardrail: h, evidenceItems: O, nextStep: A, actionRationale: Ks, rankingRationale: R, dismissOptions: B, onClose: V, onResolve: qs, onDismiss: Js, className: Ys, ...Xs }) {
|
|
26882
|
+
let H = SEVERITY_CONFIG[t], [Zs, Qs] = useState(!1), [$s, ec] = useState(null), [tc, nc] = useState(!1), rc = () => {
|
|
26883
|
+
let t = [
|
|
26884
|
+
e,
|
|
26885
|
+
"",
|
|
26886
|
+
p,
|
|
26887
|
+
"",
|
|
26888
|
+
h
|
|
26889
|
+
];
|
|
26890
|
+
navigator.clipboard.writeText(t.join("\n")).catch(() => {}), nc(!0), setTimeout(() => nc(!1), 2e3);
|
|
26891
|
+
}, ic = () => {
|
|
26892
|
+
Js?.($s ?? void 0), Qs(!1), ec(null);
|
|
26893
|
+
};
|
|
26894
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
26895
|
+
className: cn("flex h-full flex-col overflow-y-auto bg-white-variant-8", STATUS_BADGE_STYLES[i].accentBar, Ys),
|
|
26896
|
+
...Xs,
|
|
26897
|
+
children: [/* @__PURE__ */ jsxs("div", {
|
|
26898
|
+
className: "sticky top-0 z-20 shrink-0 border-b border-neutral-200-variant-1 bg-white-variant-8 px-4 pt-5 pb-4",
|
|
26899
|
+
children: [/* @__PURE__ */ jsxs("div", {
|
|
26900
|
+
className: "flex items-start justify-between gap-3",
|
|
26901
|
+
children: [/* @__PURE__ */ jsxs("div", {
|
|
26902
|
+
className: "flex min-w-0 flex-1 flex-wrap items-center gap-2.5",
|
|
26903
|
+
children: [
|
|
26904
|
+
/* @__PURE__ */ jsx("h2", {
|
|
26905
|
+
className: "truncate text-[15px] leading-snug font-semibold text-neutral-900",
|
|
26906
|
+
children: e
|
|
26907
|
+
}),
|
|
26908
|
+
/* @__PURE__ */ jsxs("span", {
|
|
26909
|
+
className: cn("inline-flex shrink-0 items-center gap-1 text-[12px] font-semibold", H.text),
|
|
26910
|
+
children: [
|
|
26911
|
+
H.icon && /* @__PURE__ */ jsx(H.icon, { size: 16 }),
|
|
26912
|
+
H.label,
|
|
26913
|
+
n && ` · ${n}`
|
|
26914
|
+
]
|
|
26915
|
+
}),
|
|
26916
|
+
/* @__PURE__ */ jsxs("span", {
|
|
26917
|
+
className: cn("inline-flex shrink-0 items-center gap-1.5 rounded-full border px-2 py-0.5 text-[11px] font-medium", STATUS_BADGE_STYLES[i].badge),
|
|
26918
|
+
children: [/* @__PURE__ */ jsx("span", { className: cn("h-1.5 w-1.5 shrink-0 rounded-full", STATUS_BADGE_STYLES[i].dot) }), r]
|
|
26919
|
+
})
|
|
26920
|
+
]
|
|
26921
|
+
}), V && /* @__PURE__ */ jsx("button", {
|
|
26922
|
+
type: "button",
|
|
26923
|
+
onClick: V,
|
|
26924
|
+
"aria-label": "Close",
|
|
26925
|
+
className: "flex h-7 w-7 shrink-0 items-center justify-center rounded-lg hover:bg-neutral-100",
|
|
26926
|
+
children: /* @__PURE__ */ jsx("svg", {
|
|
26927
|
+
width: "14",
|
|
26928
|
+
height: "14",
|
|
26929
|
+
viewBox: "0 0 24 24",
|
|
26930
|
+
fill: "none",
|
|
26931
|
+
stroke: "currentColor",
|
|
26932
|
+
strokeWidth: "2",
|
|
26933
|
+
children: /* @__PURE__ */ jsx("path", {
|
|
26934
|
+
d: "M18 6 6 18M6 6l12 12",
|
|
26935
|
+
strokeLinecap: "round"
|
|
26936
|
+
})
|
|
26937
|
+
})
|
|
26938
|
+
})]
|
|
26939
|
+
}), (c || l || u) && /* @__PURE__ */ jsxs("div", {
|
|
26940
|
+
className: "mt-2 flex flex-col gap-1.5 rounded-lg border border-neutral-200-variant-1 bg-neutral-50 px-3 py-2.5",
|
|
26941
|
+
children: [c && /* @__PURE__ */ jsxs("div", {
|
|
26942
|
+
className: "flex items-center gap-2 min-w-0",
|
|
26943
|
+
children: [
|
|
26944
|
+
/* @__PURE__ */ jsx("span", {
|
|
26945
|
+
className: "w-9 shrink-0 text-[10px] font-semibold tracking-wide text-neutral-700-variant-1 uppercase",
|
|
26946
|
+
children: "From"
|
|
26947
|
+
}),
|
|
26948
|
+
/* @__PURE__ */ jsx("span", {
|
|
26949
|
+
className: "flex h-[18px] w-[18px] shrink-0 items-center justify-center rounded-full bg-neutral-200 text-[9px] font-bold text-neutral-700-variant-1",
|
|
26950
|
+
children: c.charAt(0).toUpperCase()
|
|
26951
|
+
}),
|
|
26952
|
+
/* @__PURE__ */ jsx("span", {
|
|
26953
|
+
className: "truncate text-[12px] font-semibold text-neutral-900",
|
|
26954
|
+
children: c
|
|
26955
|
+
}),
|
|
26956
|
+
s && /* @__PURE__ */ jsx("span", {
|
|
26957
|
+
className: "shrink-0 truncate rounded-full border border-neutral-300 bg-white px-2 py-px text-[10px] font-medium text-neutral-700-variant-1",
|
|
26958
|
+
children: s
|
|
26959
|
+
}),
|
|
26960
|
+
/* @__PURE__ */ jsx(RoleBadge, { role: "client" })
|
|
26961
|
+
]
|
|
26962
|
+
}), (l || u) && /* @__PURE__ */ jsxs("div", {
|
|
26963
|
+
className: "flex items-center gap-2 min-w-0",
|
|
26964
|
+
children: [
|
|
26965
|
+
/* @__PURE__ */ jsx("span", {
|
|
26966
|
+
className: "w-9 shrink-0 text-[10px] font-semibold tracking-wide text-neutral-700-variant-1 uppercase",
|
|
26967
|
+
children: "To"
|
|
26968
|
+
}),
|
|
26969
|
+
/* @__PURE__ */ jsx("span", {
|
|
26970
|
+
className: "flex h-[18px] w-[18px] shrink-0 items-center justify-center",
|
|
26971
|
+
children: jsx(a === "gmail" ? GmailIcon : SlackIcon, { size: 15 })
|
|
26972
|
+
}),
|
|
26973
|
+
l && /* @__PURE__ */ jsx("span", {
|
|
26974
|
+
className: "truncate text-[12px] font-semibold text-neutral-900",
|
|
26975
|
+
children: l
|
|
26976
|
+
}),
|
|
26977
|
+
u && /* @__PURE__ */ jsx("span", {
|
|
26978
|
+
className: "shrink-0 truncate rounded-full border border-neutral-300 bg-white px-2 py-px text-[10px] font-medium text-neutral-700-variant-1",
|
|
26979
|
+
children: u
|
|
26980
|
+
}),
|
|
26981
|
+
/* @__PURE__ */ jsx(RoleBadge, { role: "team" })
|
|
26982
|
+
]
|
|
26983
|
+
})]
|
|
26984
|
+
})]
|
|
26985
|
+
}), /* @__PURE__ */ jsxs("div", {
|
|
26986
|
+
className: "flex flex-col gap-3 p-4",
|
|
26987
|
+
children: [
|
|
26988
|
+
f ? /* @__PURE__ */ jsxs("div", {
|
|
26989
|
+
className: "grid grid-cols-1 items-stretch gap-3 xl:grid-cols-2",
|
|
26990
|
+
children: [/* @__PURE__ */ jsx("div", {
|
|
26991
|
+
className: "rounded-xl border border-neutral-200-variant-1 bg-white-variant-8 px-4 py-3.5",
|
|
26992
|
+
children: /* @__PURE__ */ jsx(SlaProgressBar, { ...f })
|
|
26993
|
+
}), /* @__PURE__ */ jsx(SectionCard, {
|
|
26994
|
+
title: "What QTalo found",
|
|
26995
|
+
titleAdornment: /* @__PURE__ */ jsx(GuardrailTooltip, { text: h }),
|
|
26996
|
+
children: /* @__PURE__ */ jsx("p", {
|
|
26997
|
+
className: "text-sm leading-snug text-neutral-800",
|
|
26998
|
+
children: p
|
|
26999
|
+
})
|
|
27000
|
+
})]
|
|
27001
|
+
}) : /* @__PURE__ */ jsx(SectionCard, {
|
|
27002
|
+
title: "What QTalo found",
|
|
27003
|
+
titleAdornment: /* @__PURE__ */ jsx(GuardrailTooltip, { text: h }),
|
|
27004
|
+
children: /* @__PURE__ */ jsx("p", {
|
|
27005
|
+
className: "text-sm leading-snug text-neutral-800",
|
|
27006
|
+
children: p
|
|
27007
|
+
})
|
|
27008
|
+
}),
|
|
27009
|
+
/* @__PURE__ */ jsx(SectionCard, {
|
|
27010
|
+
title: "Evidence analysis",
|
|
27011
|
+
children: /* @__PURE__ */ jsx(EvidenceTimeline, {
|
|
27012
|
+
items: O,
|
|
27013
|
+
canExpandThread: !0,
|
|
27014
|
+
tone: i,
|
|
27015
|
+
threadTitle: e,
|
|
27016
|
+
clientCompany: s,
|
|
27017
|
+
contactName: c,
|
|
27018
|
+
teamCompanyName: l,
|
|
27019
|
+
recipientLabel: u
|
|
27020
|
+
})
|
|
27021
|
+
}),
|
|
27022
|
+
A && /* @__PURE__ */ jsxs(SectionCard, {
|
|
27023
|
+
title: "Next step",
|
|
27024
|
+
children: [/* @__PURE__ */ jsx("p", {
|
|
27025
|
+
className: "text-sm font-semibold text-neutral-900",
|
|
27026
|
+
children: A
|
|
27027
|
+
}), Ks && /* @__PURE__ */ jsx("p", {
|
|
27028
|
+
className: "mt-1 text-sm text-neutral-700",
|
|
27029
|
+
children: Ks
|
|
27030
|
+
})]
|
|
27031
|
+
}),
|
|
27032
|
+
R && /* @__PURE__ */ jsxs("div", {
|
|
27033
|
+
className: "rounded-xl border border-neutral-200-variant-1 bg-neutral-50 px-4 py-3.5",
|
|
27034
|
+
children: [/* @__PURE__ */ jsx("p", {
|
|
27035
|
+
className: "mb-2 text-[10px] font-bold tracking-widest text-neutral-900 uppercase",
|
|
27036
|
+
children: "Why ranked first"
|
|
27037
|
+
}), /* @__PURE__ */ jsx("p", {
|
|
27038
|
+
className: "text-sm text-neutral-800",
|
|
27039
|
+
children: R
|
|
27040
|
+
})]
|
|
27041
|
+
}),
|
|
27042
|
+
/* @__PURE__ */ jsx(SectionCard, {
|
|
27043
|
+
title: "What do you want to do?",
|
|
27044
|
+
children: Zs ? /* @__PURE__ */ jsxs("div", {
|
|
27045
|
+
className: "flex flex-col gap-2",
|
|
27046
|
+
children: [
|
|
27047
|
+
/* @__PURE__ */ jsx("p", {
|
|
27048
|
+
className: "text-[12px] text-neutral-700-variant-1",
|
|
27049
|
+
children: "Why isn't this useful?"
|
|
27050
|
+
}),
|
|
27051
|
+
/* @__PURE__ */ jsx("div", {
|
|
27052
|
+
className: "flex flex-wrap gap-1.5",
|
|
27053
|
+
children: B.map((e) => /* @__PURE__ */ jsx("button", {
|
|
27054
|
+
type: "button",
|
|
27055
|
+
onClick: () => ec((t) => t === e.id ? null : e.id),
|
|
27056
|
+
className: $s === e.id ? "rounded-full bg-neutral-800 px-2.5 py-1 text-[11px] font-medium text-white" : "rounded-full border border-neutral-300 bg-white px-2.5 py-1 text-[11px] font-medium text-neutral-700 hover:border-neutral-500",
|
|
27057
|
+
children: e.label
|
|
27058
|
+
}, e.id))
|
|
27059
|
+
}),
|
|
27060
|
+
/* @__PURE__ */ jsxs("div", {
|
|
27061
|
+
className: "mt-1 flex items-center gap-3",
|
|
27062
|
+
children: [
|
|
27063
|
+
/* @__PURE__ */ jsx("button", {
|
|
27064
|
+
type: "button",
|
|
27065
|
+
onClick: ic,
|
|
27066
|
+
className: "rounded-lg bg-neutral-800 px-3 py-1.5 text-xs font-semibold text-white",
|
|
27067
|
+
children: "Confirm"
|
|
27068
|
+
}),
|
|
27069
|
+
/* @__PURE__ */ jsx("button", {
|
|
27070
|
+
type: "button",
|
|
27071
|
+
onClick: () => {
|
|
27072
|
+
Qs(!1), ec(null);
|
|
27073
|
+
},
|
|
27074
|
+
className: "text-xs font-medium text-neutral-700-variant-1 hover:underline",
|
|
27075
|
+
children: "Cancel"
|
|
27076
|
+
}),
|
|
27077
|
+
/* @__PURE__ */ jsx("button", {
|
|
27078
|
+
type: "button",
|
|
27079
|
+
onClick: qs,
|
|
27080
|
+
className: "ml-auto text-xs font-medium text-primary-500 hover:underline",
|
|
27081
|
+
children: "Mark handled instead"
|
|
27082
|
+
})
|
|
27083
|
+
]
|
|
27084
|
+
})
|
|
27085
|
+
]
|
|
27086
|
+
}) : /* @__PURE__ */ jsxs("div", {
|
|
27087
|
+
className: "flex flex-wrap items-center gap-2",
|
|
27088
|
+
children: [
|
|
27089
|
+
o && /* @__PURE__ */ jsxs("a", {
|
|
27090
|
+
href: o,
|
|
27091
|
+
target: "_blank",
|
|
27092
|
+
rel: "noopener noreferrer",
|
|
27093
|
+
className: "inline-flex items-center gap-1.5 rounded-lg border border-neutral-300 bg-neutral-100 px-3 py-1.5 text-xs font-semibold text-neutral-700 transition-colors hover:bg-neutral-200",
|
|
27094
|
+
children: [/* @__PURE__ */ jsx(OpenSourceIcon, {}), "Open source"]
|
|
27095
|
+
}),
|
|
27096
|
+
/* @__PURE__ */ jsxs("button", {
|
|
27097
|
+
type: "button",
|
|
27098
|
+
onClick: qs,
|
|
27099
|
+
className: "inline-flex items-center gap-1.5 rounded-lg border border-green-400 bg-green-50 px-3 py-1.5 text-xs font-semibold text-green-800 transition-colors hover:bg-green-100",
|
|
27100
|
+
children: [/* @__PURE__ */ jsx(CheckActionIcon, {}), "Mark handled"]
|
|
27101
|
+
}),
|
|
27102
|
+
/* @__PURE__ */ jsxs("button", {
|
|
27103
|
+
type: "button",
|
|
27104
|
+
onClick: () => Qs(!0),
|
|
27105
|
+
className: "inline-flex items-center gap-1.5 rounded-lg border border-neutral-300 bg-neutral-100 px-3 py-1.5 text-xs font-semibold text-neutral-700 transition-colors hover:bg-neutral-200",
|
|
27106
|
+
children: [/* @__PURE__ */ jsx(DismissActionIcon, {}), "Mark not useful"]
|
|
27107
|
+
}),
|
|
27108
|
+
/* @__PURE__ */ jsxs("button", {
|
|
27109
|
+
type: "button",
|
|
27110
|
+
onClick: rc,
|
|
27111
|
+
className: tc ? "inline-flex items-center gap-1.5 rounded-lg border border-green-400 bg-green-50 px-3 py-1.5 text-xs font-semibold text-green-800 transition-colors" : "inline-flex items-center gap-1.5 rounded-lg border border-neutral-300 bg-neutral-100 px-3 py-1.5 text-xs font-semibold text-neutral-700 transition-colors hover:bg-neutral-200",
|
|
27112
|
+
children: [jsx(tc ? CheckActionIcon : CopyActionIcon, {}), tc ? "Copied" : "Copy evidence"]
|
|
27113
|
+
})
|
|
27114
|
+
]
|
|
27115
|
+
})
|
|
27116
|
+
})
|
|
27117
|
+
]
|
|
27118
|
+
})]
|
|
27119
|
+
});
|
|
27120
|
+
}
|
|
27121
|
+
function SignalDetailPanelSkeleton({ className: e }) {
|
|
27122
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
27123
|
+
className: cn("flex h-full flex-col overflow-y-auto bg-white-variant-8", e),
|
|
27124
|
+
children: [/* @__PURE__ */ jsxs("div", {
|
|
27125
|
+
className: "shrink-0 border-b border-neutral-200-variant-1 px-4 pt-5 pb-4",
|
|
27126
|
+
children: [/* @__PURE__ */ jsxs("div", {
|
|
27127
|
+
className: "flex items-start justify-between gap-3",
|
|
27128
|
+
children: [/* @__PURE__ */ jsxs("div", {
|
|
27129
|
+
className: "flex min-w-0 flex-1 items-center gap-2.5",
|
|
27130
|
+
children: [
|
|
27131
|
+
/* @__PURE__ */ jsx(Skeleton, { className: "h-4 w-7/12" }),
|
|
27132
|
+
/* @__PURE__ */ jsx(Skeleton, { className: "h-3 w-24 shrink-0" }),
|
|
27133
|
+
/* @__PURE__ */ jsx(Skeleton, { className: "h-5 w-20 shrink-0 rounded-full" })
|
|
27134
|
+
]
|
|
27135
|
+
}), /* @__PURE__ */ jsx(Skeleton, { className: "size-7 shrink-0 rounded-lg" })]
|
|
27136
|
+
}), /* @__PURE__ */ jsxs("div", {
|
|
27137
|
+
className: "mt-2 flex flex-col gap-1.5 rounded-lg border border-neutral-200-variant-1 bg-neutral-50 px-3 py-2.5",
|
|
27138
|
+
children: [/* @__PURE__ */ jsxs("div", {
|
|
27139
|
+
className: "flex items-center gap-2",
|
|
27140
|
+
children: [
|
|
27141
|
+
/* @__PURE__ */ jsx(Skeleton, { className: "h-3 w-9" }),
|
|
27142
|
+
/* @__PURE__ */ jsx(Skeleton, { className: "size-[18px] rounded-full" }),
|
|
27143
|
+
/* @__PURE__ */ jsx(Skeleton, { className: "h-3 w-24" })
|
|
27144
|
+
]
|
|
27145
|
+
}), /* @__PURE__ */ jsxs("div", {
|
|
27146
|
+
className: "flex items-center gap-2",
|
|
27147
|
+
children: [
|
|
27148
|
+
/* @__PURE__ */ jsx(Skeleton, { className: "h-3 w-9" }),
|
|
27149
|
+
/* @__PURE__ */ jsx(Skeleton, { className: "size-[18px] rounded-full" }),
|
|
27150
|
+
/* @__PURE__ */ jsx(Skeleton, { className: "h-3 w-24" })
|
|
27151
|
+
]
|
|
27152
|
+
})]
|
|
27153
|
+
})]
|
|
27154
|
+
}), /* @__PURE__ */ jsxs("div", {
|
|
27155
|
+
className: "flex flex-col gap-3 p-4",
|
|
27156
|
+
children: [
|
|
27157
|
+
/* @__PURE__ */ jsxs("div", {
|
|
27158
|
+
className: "grid grid-cols-1 gap-3 xl:grid-cols-2",
|
|
27159
|
+
children: [/* @__PURE__ */ jsxs("div", {
|
|
27160
|
+
className: "rounded-xl border border-neutral-200-variant-1 bg-white-variant-8 px-4 py-3.5",
|
|
27161
|
+
children: [
|
|
27162
|
+
/* @__PURE__ */ jsx(Skeleton, { className: "mb-3 h-3 w-8/12" }),
|
|
27163
|
+
/* @__PURE__ */ jsx(Skeleton, { className: "mb-2.5 h-1.5 w-full rounded-full" }),
|
|
27164
|
+
/* @__PURE__ */ jsxs("div", {
|
|
27165
|
+
className: "flex items-center justify-between",
|
|
27166
|
+
children: [/* @__PURE__ */ jsx(Skeleton, { className: "h-3 w-16" }), /* @__PURE__ */ jsx(Skeleton, { className: "h-3 w-16" })]
|
|
27167
|
+
})
|
|
27168
|
+
]
|
|
27169
|
+
}), /* @__PURE__ */ jsxs("div", {
|
|
27170
|
+
className: "rounded-xl border border-neutral-200-variant-1 bg-white-variant-8 px-4 py-3.5",
|
|
27171
|
+
children: [/* @__PURE__ */ jsx(Skeleton, { className: "mb-2 h-3 w-8/12" }), /* @__PURE__ */ jsx(Skeleton, { className: "h-3 w-full" })]
|
|
27172
|
+
})]
|
|
27173
|
+
}),
|
|
27174
|
+
/* @__PURE__ */ jsxs("div", {
|
|
27175
|
+
className: "rounded-xl border border-neutral-200-variant-1 bg-white-variant-8 px-4 py-3.5",
|
|
27176
|
+
children: [/* @__PURE__ */ jsx(Skeleton, { className: "mb-3 h-3 w-6/12" }), /* @__PURE__ */ jsxs("div", {
|
|
27177
|
+
className: "flex flex-col gap-2",
|
|
27178
|
+
children: [/* @__PURE__ */ jsx(Skeleton, { className: "h-14 w-full rounded-xl" }), /* @__PURE__ */ jsx(Skeleton, { className: "h-12 w-full rounded-lg" })]
|
|
27179
|
+
})]
|
|
27180
|
+
}),
|
|
27181
|
+
/* @__PURE__ */ jsxs("div", {
|
|
27182
|
+
className: "rounded-xl border border-neutral-200-variant-1 bg-white-variant-8 px-4 py-3.5",
|
|
27183
|
+
children: [/* @__PURE__ */ jsx(Skeleton, { className: "mb-2 h-3 w-4/12" }), /* @__PURE__ */ jsx(Skeleton, { className: "h-4 w-9/12" })]
|
|
27184
|
+
}),
|
|
27185
|
+
/* @__PURE__ */ jsxs("div", {
|
|
27186
|
+
className: "rounded-xl border border-neutral-200-variant-1 bg-white-variant-8 px-4 py-3.5",
|
|
27187
|
+
children: [/* @__PURE__ */ jsx(Skeleton, { className: "mb-3 h-3 w-8/12" }), /* @__PURE__ */ jsxs("div", {
|
|
27188
|
+
className: "flex items-center gap-2",
|
|
27189
|
+
children: [
|
|
27190
|
+
/* @__PURE__ */ jsx(Skeleton, { className: "h-8 w-24 rounded-lg" }),
|
|
27191
|
+
/* @__PURE__ */ jsx(Skeleton, { className: "h-8 w-24 rounded-lg" }),
|
|
27192
|
+
/* @__PURE__ */ jsx(Skeleton, { className: "h-8 w-24 rounded-lg" })
|
|
27193
|
+
]
|
|
27194
|
+
})]
|
|
27195
|
+
})
|
|
27196
|
+
]
|
|
27197
|
+
})]
|
|
27198
|
+
});
|
|
27199
|
+
}
|
|
25814
27200
|
var DEFAULT_DURATION = 4e3, DEFAULT_POSITION = "bottom-right";
|
|
25815
27201
|
function buildCallbacks({ onOpen: e, onClose: t, onAutoClose: n, onDismiss: r }) {
|
|
25816
27202
|
return e || t || n || r ? {
|
|
@@ -26034,6 +27420,6 @@ function QtaloBlueImage({ size: e = 40, className: t, ...n }) {
|
|
|
26034
27420
|
}) })]
|
|
26035
27421
|
});
|
|
26036
27422
|
}
|
|
26037
|
-
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, EventDetailFollowUp, EventDetailHeader, EventDetailPriority, EventDetailSkeleton, EventDetailSummary, EventEmptyState, EventSummaryCard, EventSummaryCardSkeleton, EventSummaryFireButton, ExternalLinkIcon, EyeIcon, 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, NoEyeIcon, NormalDensityIcon, NotFireIcon, ONBOARDING_DISMISSED_STORAGE_KEY, Onboarding, OnboardingCard, OnboardingEngine, OutlookCalendarIcon, OutlookIcon, Pressable, QtaloBlueImage, QtaloImage, ReadIcon, ReplyIoIcon, 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 };
|
|
27423
|
+
export { AVATAR_COLOR, AVATAR_COLOR_KEYS, Accordion, AccordionContent, AccordionItem, AccordionTrigger, AccountIcon, AccountInfo, AccountOutlineIcon, ActionMenu, ActionMenuItem, AddCircleIcon, AddIcon, ArrowIcon, AsanaIcon, Avatar, Badge, BetaResizeHandle, BuildingIcon, BuildingOutlineIcon, BulkActions, BulkActionsSkeleton, Button, CalendarIcon, Card, CardContent, CardFooter, CardHeader, CardLayout, CardSidebar, CardTitle, CheckCircleEmptyIcon, CheckCircleIcon, CheckIcon, CheckSquareIcon, Checkbox, CheckboxIcon, ClickUpIcon, CloseBoldIcon, 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, EventDetailFollowUp, EventDetailHeader, EventDetailPriority, EventDetailSkeleton, EventDetailSummary, EventEmptyState, EventSummaryCard, EventSummaryCardSkeleton, EventSummaryFireButton, EvidenceTimeline, ExternalLinkIcon, EyeFillIcon, EyeIcon, FilterBar, FilterBarSkeleton, FilterButton, FireFillIcon, FireIcon, GmailIcon, GoogleCalendarIcon, HelpPanel, HelpPanelEngine, HomeFillIcon, HomeIcon, Icon, IconButton, IconCountButton, IconCountButtonSkeleton, InboxIcon, InfoTooltip, Input, InsightFillIcon, InsightIcon, IntegrationBar, IntegrationBarSkeleton, IntegrationItem, IntegrationItemSkeleton, IntegrationsCard, JiraIcon, LightIcon, LogoIcon, MailIcon, MinusIcon, MoreIcon, NoEyeIcon, NormalDensityIcon, NotFireIcon, ONBOARDING_DISMISSED_STORAGE_KEY, Onboarding, OnboardingCard, OnboardingEngine, OutlookCalendarIcon, OutlookIcon, PatternIcon, Pressable, PulseFilterChip, PulseFilterChipSkeleton, QtaloBlueImage, QtaloImage, ReadIcon, ReplyIoIcon, RichContent, RoleBadge, SearchIcon, SearchInput, SearchWithSuggestions, SignOutIcon, SignalCard, SignalCardSkeleton, SignalClusterCard, SignalClusterCardSkeleton, SignalDetailPanel, SignalDetailPanelSkeleton, Skeleton, SlaProgressBar, SlackIcon, StatusBadge, StopPropagation, SummaryIcon, SystemIcon, TeamsIcon, Toaster, Tooltip, UnreadIcon, WarningIcon, 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 };
|
|
26038
27424
|
|
|
26039
27425
|
//# sourceMappingURL=index.js.map
|