@qtalo/qt-ui-library 0.1.19 → 0.1.21

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.js CHANGED
@@ -326,20 +326,20 @@ var html$1 = freeze(/* @__PURE__ */ "a.abbr.acronym.address.area.article.aside.a
326
326
  function createDOMPurify() {
327
327
  let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : getGlobal(), t = (e) => createDOMPurify(e);
328
328
  if (t.version = "3.3.1", t.removed = [], !e || !e.document || e.document.nodeType !== NODE_TYPE.document || !e.Element) return t.isSupported = !1, t;
329
- let { document: n } = e, r = n, i = r.currentScript, { DocumentFragment: a, HTMLTemplateElement: o, Node: s, Element: c, NodeFilter: l, NamedNodeMap: u = e.NamedNodeMap || e.MozNamedAttrMap, HTMLFormElement: f, DOMParser: p, trustedTypes: h } = e, Uo = c.prototype, g = lookupGetter(Uo, "cloneNode"), O = lookupGetter(Uo, "remove"), Wo = lookupGetter(Uo, "nextSibling"), Go = lookupGetter(Uo, "childNodes"), Ko = lookupGetter(Uo, "parentNode");
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, Ko = c.prototype, g = lookupGetter(Ko, "cloneNode"), O = lookupGetter(Ko, "remove"), qo = lookupGetter(Ko, "nextSibling"), Jo = lookupGetter(Ko, "childNodes"), Yo = lookupGetter(Ko, "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 A, R = "", { implementation: qo, createNodeIterator: Jo, createDocumentFragment: Yo, getElementsByTagName: Xo } = n, { importNode: Zo } = r, B = _createHooksMap();
335
- t.isSupported = typeof entries == "function" && typeof Ko == "function" && qo && qo.createHTMLDocument !== void 0;
336
- let { MUSTACHE_EXPR: Qo, ERB_EXPR: $o, TMPLIT_EXPR: es, DATA_ATTR: ts, ARIA_ATTR: ns, IS_SCRIPT_OR_DATA: rs, ATTR_WHITESPACE: is, CUSTOM_ELEMENT: as } = EXPRESSIONS, { IS_ALLOWED_URI: os } = EXPRESSIONS, V = null, ss = addToSet({}, [
334
+ let A, R = "", { implementation: Xo, createNodeIterator: Zo, createDocumentFragment: Qo, getElementsByTagName: $o } = n, { importNode: es } = r, B = _createHooksMap();
335
+ t.isSupported = typeof entries == "function" && typeof Yo == "function" && Xo && Xo.createHTMLDocument !== void 0;
336
+ let { MUSTACHE_EXPR: ts, ERB_EXPR: ns, TMPLIT_EXPR: rs, DATA_ATTR: is, ARIA_ATTR: as, IS_SCRIPT_OR_DATA: os, ATTR_WHITESPACE: ss, CUSTOM_ELEMENT: cs } = EXPRESSIONS, { IS_ALLOWED_URI: ls } = EXPRESSIONS, V = null, us = addToSet({}, [
337
337
  ...html$1,
338
338
  ...svg$1,
339
339
  ...svgFilters,
340
340
  ...mathMl$1,
341
341
  ...text
342
- ]), cs = null, ls = addToSet({}, [
342
+ ]), ds = null, fs = addToSet({}, [
343
343
  ...html,
344
344
  ...svg,
345
345
  ...mathMl,
@@ -363,7 +363,7 @@ function createDOMPurify() {
363
363
  enumerable: !0,
364
364
  value: !1
365
365
  }
366
- })), us = null, ds = null, fs = Object.seal(create(null, {
366
+ })), ps = null, ms = null, hs = 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
- })), ps = !0, ms = !0, hs = !1, gs = !0, _s = !1, vs = !0, ys = !1, bs = !1, xs = !1, Ss = !1, Cs = !1, ws = !1, Ts = !0, Es = !1, Ds = !0, Os = !1, ks = {}, As = null, js = addToSet({}, [
379
+ })), gs = !0, _s = !0, vs = !1, ys = !0, bs = !1, xs = !0, Ss = !1, Cs = !1, ws = !1, Ts = !1, Es = !1, Ds = !1, Os = !0, ks = !1, As = !0, js = !1, Ms = {}, Ns = null, Ps = 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
- ]), Ms = null, Ns = addToSet({}, [
405
+ ]), Fs = null, Is = addToSet({}, [
406
406
  "audio",
407
407
  "video",
408
408
  "img",
409
409
  "source",
410
410
  "image",
411
411
  "track"
412
- ]), Ps = null, Fs = addToSet({}, [
412
+ ]), Ls = null, Rs = 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
- ]), Is = "http://www.w3.org/1998/Math/MathML", Ls = "http://www.w3.org/2000/svg", Rs = "http://www.w3.org/1999/xhtml", zs = Rs, Bs = !1, Vs = null, Hs = addToSet({}, [
428
- Is,
429
- Ls,
430
- Rs
431
- ], stringToString), Us = addToSet({}, [
427
+ ]), zs = "http://www.w3.org/1998/Math/MathML", Bs = "http://www.w3.org/2000/svg", Vs = "http://www.w3.org/1999/xhtml", Hs = Vs, Us = !1, Ws = null, Gs = addToSet({}, [
428
+ zs,
429
+ Bs,
430
+ Vs
431
+ ], stringToString), Ks = addToSet({}, [
432
432
  "mi",
433
433
  "mo",
434
434
  "mn",
435
435
  "ms",
436
436
  "mtext"
437
- ]), Ws = addToSet({}, ["annotation-xml"]), Gs = addToSet({}, [
437
+ ]), qs = addToSet({}, ["annotation-xml"]), Js = addToSet({}, [
438
438
  "title",
439
439
  "style",
440
440
  "font",
441
441
  "a",
442
442
  "script"
443
- ]), Ks = null, qs = ["application/xhtml+xml", "text/html"], Y = null, Js = null, Ys = n.createElement("form"), Xs = function(e) {
443
+ ]), Ys = null, Xs = ["application/xhtml+xml", "text/html"], Y = null, Zs = null, Qs = n.createElement("form"), $s = function(e) {
444
444
  return e instanceof RegExp || e instanceof Function;
445
- }, Zs = function() {
445
+ }, ec = function() {
446
446
  let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
447
- if (!(Js && Js === e)) {
448
- if ((!e || typeof e != "object") && (e = {}), e = clone(e), Ks = qs.indexOf(e.PARSER_MEDIA_TYPE) === -1 ? "text/html" : e.PARSER_MEDIA_TYPE, Y = Ks === "application/xhtml+xml" ? stringToString : stringToLowerCase, V = objectHasOwnProperty(e, "ALLOWED_TAGS") ? addToSet({}, e.ALLOWED_TAGS, Y) : ss, cs = objectHasOwnProperty(e, "ALLOWED_ATTR") ? addToSet({}, e.ALLOWED_ATTR, Y) : ls, Vs = objectHasOwnProperty(e, "ALLOWED_NAMESPACES") ? addToSet({}, e.ALLOWED_NAMESPACES, stringToString) : Hs, Ps = objectHasOwnProperty(e, "ADD_URI_SAFE_ATTR") ? addToSet(clone(Fs), e.ADD_URI_SAFE_ATTR, Y) : Fs, Ms = objectHasOwnProperty(e, "ADD_DATA_URI_TAGS") ? addToSet(clone(Ns), e.ADD_DATA_URI_TAGS, Y) : Ns, As = objectHasOwnProperty(e, "FORBID_CONTENTS") ? addToSet({}, e.FORBID_CONTENTS, Y) : js, us = objectHasOwnProperty(e, "FORBID_TAGS") ? addToSet({}, e.FORBID_TAGS, Y) : clone({}), ds = objectHasOwnProperty(e, "FORBID_ATTR") ? addToSet({}, e.FORBID_ATTR, Y) : clone({}), ks = objectHasOwnProperty(e, "USE_PROFILES") ? e.USE_PROFILES : !1, ps = e.ALLOW_ARIA_ATTR !== !1, ms = e.ALLOW_DATA_ATTR !== !1, hs = e.ALLOW_UNKNOWN_PROTOCOLS || !1, gs = e.ALLOW_SELF_CLOSE_IN_ATTR !== !1, _s = e.SAFE_FOR_TEMPLATES || !1, vs = e.SAFE_FOR_XML !== !1, ys = e.WHOLE_DOCUMENT || !1, Ss = e.RETURN_DOM || !1, Cs = e.RETURN_DOM_FRAGMENT || !1, ws = e.RETURN_TRUSTED_TYPE || !1, xs = e.FORCE_BODY || !1, Ts = e.SANITIZE_DOM !== !1, Es = e.SANITIZE_NAMED_PROPS || !1, Ds = e.KEEP_CONTENT !== !1, Os = e.IN_PLACE || !1, os = e.ALLOWED_URI_REGEXP || IS_ALLOWED_URI, zs = e.NAMESPACE || Rs, Us = e.MATHML_TEXT_INTEGRATION_POINTS || Us, Ws = e.HTML_INTEGRATION_POINTS || Ws, H = e.CUSTOM_ELEMENT_HANDLING || {}, e.CUSTOM_ELEMENT_HANDLING && Xs(e.CUSTOM_ELEMENT_HANDLING.tagNameCheck) && (H.tagNameCheck = e.CUSTOM_ELEMENT_HANDLING.tagNameCheck), e.CUSTOM_ELEMENT_HANDLING && Xs(e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck) && (H.attributeNameCheck = e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck), e.CUSTOM_ELEMENT_HANDLING && typeof e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements == "boolean" && (H.allowCustomizedBuiltInElements = e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements), _s && (ms = !1), Cs && (Ss = !0), ks && (V = addToSet({}, text), cs = [], ks.html === !0 && (addToSet(V, html$1), addToSet(cs, html)), ks.svg === !0 && (addToSet(V, svg$1), addToSet(cs, svg), addToSet(cs, xml)), ks.svgFilters === !0 && (addToSet(V, svgFilters), addToSet(cs, svg), addToSet(cs, xml)), ks.mathMl === !0 && (addToSet(V, mathMl$1), addToSet(cs, mathMl), addToSet(cs, xml))), e.ADD_TAGS && (typeof e.ADD_TAGS == "function" ? fs.tagCheck = e.ADD_TAGS : (V === ss && (V = clone(V)), addToSet(V, e.ADD_TAGS, Y))), e.ADD_ATTR && (typeof e.ADD_ATTR == "function" ? fs.attributeCheck = e.ADD_ATTR : (cs === ls && (cs = clone(cs)), addToSet(cs, e.ADD_ATTR, Y))), e.ADD_URI_SAFE_ATTR && addToSet(Ps, e.ADD_URI_SAFE_ATTR, Y), e.FORBID_CONTENTS && (As === js && (As = clone(As)), addToSet(As, e.FORBID_CONTENTS, Y)), e.ADD_FORBID_CONTENTS && (As === js && (As = clone(As)), addToSet(As, e.ADD_FORBID_CONTENTS, Y)), Ds && (V["#text"] = !0), ys && addToSet(V, [
447
+ if (!(Zs && Zs === e)) {
448
+ if ((!e || typeof e != "object") && (e = {}), e = clone(e), Ys = Xs.indexOf(e.PARSER_MEDIA_TYPE) === -1 ? "text/html" : e.PARSER_MEDIA_TYPE, Y = Ys === "application/xhtml+xml" ? stringToString : stringToLowerCase, V = objectHasOwnProperty(e, "ALLOWED_TAGS") ? addToSet({}, e.ALLOWED_TAGS, Y) : us, ds = objectHasOwnProperty(e, "ALLOWED_ATTR") ? addToSet({}, e.ALLOWED_ATTR, Y) : fs, Ws = objectHasOwnProperty(e, "ALLOWED_NAMESPACES") ? addToSet({}, e.ALLOWED_NAMESPACES, stringToString) : Gs, Ls = objectHasOwnProperty(e, "ADD_URI_SAFE_ATTR") ? addToSet(clone(Rs), e.ADD_URI_SAFE_ATTR, Y) : Rs, Fs = objectHasOwnProperty(e, "ADD_DATA_URI_TAGS") ? addToSet(clone(Is), e.ADD_DATA_URI_TAGS, Y) : Is, Ns = objectHasOwnProperty(e, "FORBID_CONTENTS") ? addToSet({}, e.FORBID_CONTENTS, Y) : Ps, ps = objectHasOwnProperty(e, "FORBID_TAGS") ? addToSet({}, e.FORBID_TAGS, Y) : clone({}), ms = objectHasOwnProperty(e, "FORBID_ATTR") ? addToSet({}, e.FORBID_ATTR, Y) : clone({}), Ms = objectHasOwnProperty(e, "USE_PROFILES") ? e.USE_PROFILES : !1, gs = e.ALLOW_ARIA_ATTR !== !1, _s = e.ALLOW_DATA_ATTR !== !1, vs = e.ALLOW_UNKNOWN_PROTOCOLS || !1, ys = e.ALLOW_SELF_CLOSE_IN_ATTR !== !1, bs = e.SAFE_FOR_TEMPLATES || !1, xs = e.SAFE_FOR_XML !== !1, Ss = e.WHOLE_DOCUMENT || !1, Ts = e.RETURN_DOM || !1, Es = e.RETURN_DOM_FRAGMENT || !1, Ds = e.RETURN_TRUSTED_TYPE || !1, ws = e.FORCE_BODY || !1, Os = e.SANITIZE_DOM !== !1, ks = e.SANITIZE_NAMED_PROPS || !1, As = e.KEEP_CONTENT !== !1, js = e.IN_PLACE || !1, ls = e.ALLOWED_URI_REGEXP || IS_ALLOWED_URI, Hs = e.NAMESPACE || Vs, Ks = e.MATHML_TEXT_INTEGRATION_POINTS || Ks, qs = e.HTML_INTEGRATION_POINTS || qs, H = e.CUSTOM_ELEMENT_HANDLING || {}, e.CUSTOM_ELEMENT_HANDLING && $s(e.CUSTOM_ELEMENT_HANDLING.tagNameCheck) && (H.tagNameCheck = e.CUSTOM_ELEMENT_HANDLING.tagNameCheck), e.CUSTOM_ELEMENT_HANDLING && $s(e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck) && (H.attributeNameCheck = e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck), e.CUSTOM_ELEMENT_HANDLING && typeof e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements == "boolean" && (H.allowCustomizedBuiltInElements = e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements), bs && (_s = !1), Es && (Ts = !0), Ms && (V = addToSet({}, text), ds = [], Ms.html === !0 && (addToSet(V, html$1), addToSet(ds, html)), Ms.svg === !0 && (addToSet(V, svg$1), addToSet(ds, svg), addToSet(ds, xml)), Ms.svgFilters === !0 && (addToSet(V, svgFilters), addToSet(ds, svg), addToSet(ds, xml)), Ms.mathMl === !0 && (addToSet(V, mathMl$1), addToSet(ds, mathMl), addToSet(ds, xml))), e.ADD_TAGS && (typeof e.ADD_TAGS == "function" ? hs.tagCheck = e.ADD_TAGS : (V === us && (V = clone(V)), addToSet(V, e.ADD_TAGS, Y))), e.ADD_ATTR && (typeof e.ADD_ATTR == "function" ? hs.attributeCheck = e.ADD_ATTR : (ds === fs && (ds = clone(ds)), addToSet(ds, e.ADD_ATTR, Y))), e.ADD_URI_SAFE_ATTR && addToSet(Ls, e.ADD_URI_SAFE_ATTR, Y), e.FORBID_CONTENTS && (Ns === Ps && (Ns = clone(Ns)), addToSet(Ns, e.FORBID_CONTENTS, Y)), e.ADD_FORBID_CONTENTS && (Ns === Ps && (Ns = clone(Ns)), addToSet(Ns, e.ADD_FORBID_CONTENTS, Y)), As && (V["#text"] = !0), Ss && addToSet(V, [
449
449
  "html",
450
450
  "head",
451
451
  "body"
452
- ]), V.table && (addToSet(V, ["tbody"]), delete us.tbody), e.TRUSTED_TYPES_POLICY) {
452
+ ]), V.table && (addToSet(V, ["tbody"]), delete ps.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
  A = e.TRUSTED_TYPES_POLICY, R = A.createHTML("");
456
456
  } else A === void 0 && (A = _createTrustedTypesPolicy(h, i)), A !== null && typeof R == "string" && (R = A.createHTML(""));
457
- freeze && freeze(e), Js = e;
457
+ freeze && freeze(e), Zs = e;
458
458
  }
459
- }, Qs = addToSet({}, [
459
+ }, tc = addToSet({}, [
460
460
  ...svg$1,
461
461
  ...svgFilters,
462
462
  ...svgDisallowed
463
- ]), $s = addToSet({}, [...mathMl$1, ...mathMlDisallowed]), ec = function(e) {
464
- let t = Ko(e);
463
+ ]), nc = addToSet({}, [...mathMl$1, ...mathMlDisallowed]), rc = function(e) {
464
+ let t = Yo(e);
465
465
  (!t || !t.tagName) && (t = {
466
- namespaceURI: zs,
466
+ namespaceURI: Hs,
467
467
  tagName: "template"
468
468
  });
469
469
  let n = stringToLowerCase(e.tagName), r = stringToLowerCase(t.tagName);
470
- return Vs[e.namespaceURI] ? e.namespaceURI === Ls ? t.namespaceURI === Rs ? n === "svg" : t.namespaceURI === Is ? n === "svg" && (r === "annotation-xml" || Us[r]) : !!Qs[n] : e.namespaceURI === Is ? t.namespaceURI === Rs ? n === "math" : t.namespaceURI === Ls ? n === "math" && Ws[r] : !!$s[n] : e.namespaceURI === Rs ? t.namespaceURI === Ls && !Ws[r] || t.namespaceURI === Is && !Us[r] ? !1 : !$s[n] && (Gs[n] || !Qs[n]) : !!(Ks === "application/xhtml+xml" && Vs[e.namespaceURI]) : !1;
471
- }, tc = function(e) {
470
+ return Ws[e.namespaceURI] ? e.namespaceURI === Bs ? t.namespaceURI === Vs ? n === "svg" : t.namespaceURI === zs ? n === "svg" && (r === "annotation-xml" || Ks[r]) : !!tc[n] : e.namespaceURI === zs ? t.namespaceURI === Vs ? n === "math" : t.namespaceURI === Bs ? n === "math" && qs[r] : !!nc[n] : e.namespaceURI === Vs ? t.namespaceURI === Bs && !qs[r] || t.namespaceURI === zs && !Ks[r] ? !1 : !nc[n] && (Js[n] || !tc[n]) : !!(Ys === "application/xhtml+xml" && Ws[e.namespaceURI]) : !1;
471
+ }, ic = function(e) {
472
472
  arrayPush(t.removed, { element: e });
473
473
  try {
474
- Ko(e).removeChild(e);
474
+ Yo(e).removeChild(e);
475
475
  } catch {
476
476
  O(e);
477
477
  }
478
- }, nc = function(e, n) {
478
+ }, ac = 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 (Ss || Cs) try {
491
- tc(n);
490
+ if (n.removeAttribute(e), e === "is") if (Ts || Es) try {
491
+ ic(n);
492
492
  } catch {}
493
493
  else try {
494
494
  n.setAttribute(e, "");
495
495
  } catch {}
496
- }, rc = function(e) {
496
+ }, oc = function(e) {
497
497
  let t = null, r = null;
498
- if (xs) e = "<remove></remove>" + e;
498
+ if (ws) 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
- Ks === "application/xhtml+xml" && zs === Rs && (e = "<html xmlns=\"http://www.w3.org/1999/xhtml\"><head></head><body>" + e + "</body></html>");
503
+ Ys === "application/xhtml+xml" && Hs === Vs && (e = "<html xmlns=\"http://www.w3.org/1999/xhtml\"><head></head><body>" + e + "</body></html>");
504
504
  let i = A ? A.createHTML(e) : e;
505
- if (zs === Rs) try {
506
- t = new p().parseFromString(i, Ks);
505
+ if (Hs === Vs) try {
506
+ t = new p().parseFromString(i, Ys);
507
507
  } catch {}
508
508
  if (!t || !t.documentElement) {
509
- t = qo.createDocument(zs, "template", null);
509
+ t = Xo.createDocument(Hs, "template", null);
510
510
  try {
511
- t.documentElement.innerHTML = Bs ? R : i;
511
+ t.documentElement.innerHTML = Us ? R : i;
512
512
  } catch {}
513
513
  }
514
514
  let a = t.body || t.documentElement;
515
- return e && r && a.insertBefore(n.createTextNode(r), a.childNodes[0] || null), zs === Rs ? Xo.call(t, ys ? "html" : "body")[0] : ys ? t.documentElement : a;
516
- }, ic = function(e) {
517
- return Jo.call(e.ownerDocument || e, e, l.SHOW_ELEMENT | l.SHOW_COMMENT | l.SHOW_TEXT | l.SHOW_PROCESSING_INSTRUCTION | l.SHOW_CDATA_SECTION, null);
518
- }, ac = function(e) {
515
+ return e && r && a.insertBefore(n.createTextNode(r), a.childNodes[0] || null), Hs === Vs ? $o.call(t, Ss ? "html" : "body")[0] : Ss ? t.documentElement : a;
516
+ }, sc = function(e) {
517
+ return Zo.call(e.ownerDocument || e, e, l.SHOW_ELEMENT | l.SHOW_COMMENT | l.SHOW_TEXT | l.SHOW_PROCESSING_INSTRUCTION | l.SHOW_CDATA_SECTION, null);
518
+ }, cc = 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
- }, oc = function(e) {
520
+ }, lc = function(e) {
521
521
  return typeof s == "function" && e instanceof s;
522
522
  };
523
- function sc(e, n, r) {
523
+ function uc(e, n, r) {
524
524
  arrayForEach(e, (e) => {
525
- e.call(t, n, r, Js);
525
+ e.call(t, n, r, Zs);
526
526
  });
527
527
  }
528
- let cc = function(e) {
528
+ let dc = function(e) {
529
529
  let n = null;
530
- if (sc(B.beforeSanitizeElements, e, null), ac(e)) return tc(e), !0;
530
+ if (uc(B.beforeSanitizeElements, e, null), cc(e)) return ic(e), !0;
531
531
  let r = Y(e.nodeName);
532
- if (sc(B.uponSanitizeElement, e, {
532
+ if (uc(B.uponSanitizeElement, e, {
533
533
  tagName: r,
534
534
  allowedTags: V
535
- }), vs && e.hasChildNodes() && !oc(e.firstElementChild) && regExpTest(/<[/\w!]/g, e.innerHTML) && regExpTest(/<[/\w!]/g, e.textContent) || e.nodeType === NODE_TYPE.progressingInstruction || vs && e.nodeType === NODE_TYPE.comment && regExpTest(/<[/\w]/g, e.data)) return tc(e), !0;
536
- if (!(fs.tagCheck instanceof Function && fs.tagCheck(r)) && (!V[r] || us[r])) {
537
- if (!us[r] && uc(r) && (H.tagNameCheck instanceof RegExp && regExpTest(H.tagNameCheck, r) || H.tagNameCheck instanceof Function && H.tagNameCheck(r))) return !1;
538
- if (Ds && !As[r]) {
539
- let t = Ko(e) || e.parentNode, n = Go(e) || e.childNodes;
535
+ }), xs && e.hasChildNodes() && !lc(e.firstElementChild) && regExpTest(/<[/\w!]/g, e.innerHTML) && regExpTest(/<[/\w!]/g, e.textContent) || e.nodeType === NODE_TYPE.progressingInstruction || xs && e.nodeType === NODE_TYPE.comment && regExpTest(/<[/\w]/g, e.data)) return ic(e), !0;
536
+ if (!(hs.tagCheck instanceof Function && hs.tagCheck(r)) && (!V[r] || ps[r])) {
537
+ if (!ps[r] && pc(r) && (H.tagNameCheck instanceof RegExp && regExpTest(H.tagNameCheck, r) || H.tagNameCheck instanceof Function && H.tagNameCheck(r))) return !1;
538
+ if (As && !Ns[r]) {
539
+ let t = Yo(e) || e.parentNode, n = Jo(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 = g(n[i], !0);
544
- r.__removalCount = (e.__removalCount || 0) + 1, t.insertBefore(r, Wo(e));
544
+ r.__removalCount = (e.__removalCount || 0) + 1, t.insertBefore(r, qo(e));
545
545
  }
546
546
  }
547
547
  }
548
- return tc(e), !0;
548
+ return ic(e), !0;
549
549
  }
550
- return e instanceof c && !ec(e) || (r === "noscript" || r === "noembed" || r === "noframes") && regExpTest(/<\/no(script|embed|frames)/i, e.innerHTML) ? (tc(e), !0) : (_s && e.nodeType === NODE_TYPE.text && (n = e.textContent, arrayForEach([
551
- Qo,
552
- $o,
553
- es
550
+ return e instanceof c && !rc(e) || (r === "noscript" || r === "noembed" || r === "noframes") && regExpTest(/<\/no(script|embed|frames)/i, e.innerHTML) ? (ic(e), !0) : (bs && e.nodeType === NODE_TYPE.text && (n = e.textContent, arrayForEach([
551
+ ts,
552
+ ns,
553
+ rs
554
554
  ], (e) => {
555
555
  n = stringReplace(n, e, " ");
556
- }), e.textContent !== n && (arrayPush(t.removed, { element: e.cloneNode() }), e.textContent = n)), sc(B.afterSanitizeElements, e, null), !1);
557
- }, lc = function(e, t, r) {
558
- if (Ts && (t === "id" || t === "name") && (r in n || r in Ys)) return !1;
559
- if (!(ms && !ds[t] && regExpTest(ts, t)) && !(ps && regExpTest(ns, t)) && !(fs.attributeCheck instanceof Function && fs.attributeCheck(t, e))) {
560
- if (!cs[t] || ds[t]) {
561
- if (!(uc(e) && (H.tagNameCheck instanceof RegExp && regExpTest(H.tagNameCheck, e) || H.tagNameCheck instanceof Function && H.tagNameCheck(e)) && (H.attributeNameCheck instanceof RegExp && regExpTest(H.attributeNameCheck, t) || H.attributeNameCheck instanceof Function && H.attributeNameCheck(t, e)) || t === "is" && H.allowCustomizedBuiltInElements && (H.tagNameCheck instanceof RegExp && regExpTest(H.tagNameCheck, r) || H.tagNameCheck instanceof Function && H.tagNameCheck(r)))) return !1;
562
- } else if (!Ps[t] && !regExpTest(os, stringReplace(r, is, "")) && !((t === "src" || t === "xlink:href" || t === "href") && e !== "script" && stringIndexOf(r, "data:") === 0 && Ms[e]) && !(hs && !regExpTest(rs, stringReplace(r, is, ""))) && r) return !1;
556
+ }), e.textContent !== n && (arrayPush(t.removed, { element: e.cloneNode() }), e.textContent = n)), uc(B.afterSanitizeElements, e, null), !1);
557
+ }, fc = function(e, t, r) {
558
+ if (Os && (t === "id" || t === "name") && (r in n || r in Qs)) return !1;
559
+ if (!(_s && !ms[t] && regExpTest(is, t)) && !(gs && regExpTest(as, t)) && !(hs.attributeCheck instanceof Function && hs.attributeCheck(t, e))) {
560
+ if (!ds[t] || ms[t]) {
561
+ if (!(pc(e) && (H.tagNameCheck instanceof RegExp && regExpTest(H.tagNameCheck, e) || H.tagNameCheck instanceof Function && H.tagNameCheck(e)) && (H.attributeNameCheck instanceof RegExp && regExpTest(H.attributeNameCheck, t) || H.attributeNameCheck instanceof Function && H.attributeNameCheck(t, e)) || t === "is" && H.allowCustomizedBuiltInElements && (H.tagNameCheck instanceof RegExp && regExpTest(H.tagNameCheck, r) || H.tagNameCheck instanceof Function && H.tagNameCheck(r)))) return !1;
562
+ } else if (!Ls[t] && !regExpTest(ls, stringReplace(r, ss, "")) && !((t === "src" || t === "xlink:href" || t === "href") && e !== "script" && stringIndexOf(r, "data:") === 0 && Fs[e]) && !(vs && !regExpTest(os, stringReplace(r, ss, ""))) && r) return !1;
563
563
  }
564
564
  return !0;
565
- }, uc = function(e) {
566
- return e !== "annotation-xml" && stringMatch(e, as);
567
- }, dc = function(e) {
568
- sc(B.beforeSanitizeAttributes, e, null);
565
+ }, pc = function(e) {
566
+ return e !== "annotation-xml" && stringMatch(e, cs);
567
+ }, mc = function(e) {
568
+ uc(B.beforeSanitizeAttributes, e, null);
569
569
  let { attributes: n } = e;
570
- if (!n || ac(e)) return;
570
+ if (!n || cc(e)) return;
571
571
  let r = {
572
572
  attrName: "",
573
573
  attrValue: "",
574
574
  keepAttr: !0,
575
- allowedAttributes: cs,
575
+ allowedAttributes: ds,
576
576
  forceKeepAttr: void 0
577
577
  }, i = n.length;
578
578
  for (; i--;) {
579
579
  let { name: a, namespaceURI: o, value: s } = n[i], c = Y(a), l = s, u = a === "value" ? l : stringTrim(l);
580
- if (r.attrName = c, r.attrValue = u, r.keepAttr = !0, r.forceKeepAttr = void 0, sc(B.uponSanitizeAttribute, e, r), u = r.attrValue, Es && (c === "id" || c === "name") && (nc(a, e), u = "user-content-" + u), vs && regExpTest(/((--!?|])>)|<\/(style|title|textarea)/i, u)) {
581
- nc(a, e);
580
+ if (r.attrName = c, r.attrValue = u, r.keepAttr = !0, r.forceKeepAttr = void 0, uc(B.uponSanitizeAttribute, e, r), u = r.attrValue, ks && (c === "id" || c === "name") && (ac(a, e), u = "user-content-" + u), xs && regExpTest(/((--!?|])>)|<\/(style|title|textarea)/i, u)) {
581
+ ac(a, e);
582
582
  continue;
583
583
  }
584
584
  if (c === "attributename" && stringMatch(u, "href")) {
585
- nc(a, e);
585
+ ac(a, e);
586
586
  continue;
587
587
  }
588
588
  if (r.forceKeepAttr) continue;
589
589
  if (!r.keepAttr) {
590
- nc(a, e);
590
+ ac(a, e);
591
591
  continue;
592
592
  }
593
- if (!gs && regExpTest(/\/>/i, u)) {
594
- nc(a, e);
593
+ if (!ys && regExpTest(/\/>/i, u)) {
594
+ ac(a, e);
595
595
  continue;
596
596
  }
597
- _s && arrayForEach([
598
- Qo,
599
- $o,
600
- es
597
+ bs && arrayForEach([
598
+ ts,
599
+ ns,
600
+ rs
601
601
  ], (e) => {
602
602
  u = stringReplace(u, e, " ");
603
603
  });
604
604
  let f = Y(e.nodeName);
605
- if (!lc(f, c, u)) {
606
- nc(a, e);
605
+ if (!fc(f, c, u)) {
606
+ ac(a, e);
607
607
  continue;
608
608
  }
609
609
  if (A && typeof h == "object" && typeof h.getAttributeType == "function" && !o) switch (h.getAttributeType(f, c)) {
@@ -615,56 +615,56 @@ function createDOMPurify() {
615
615
  break;
616
616
  }
617
617
  if (u !== l) try {
618
- o ? e.setAttributeNS(o, a, u) : e.setAttribute(a, u), ac(e) ? tc(e) : arrayPop(t.removed);
618
+ o ? e.setAttributeNS(o, a, u) : e.setAttribute(a, u), cc(e) ? ic(e) : arrayPop(t.removed);
619
619
  } catch {
620
- nc(a, e);
620
+ ac(a, e);
621
621
  }
622
622
  }
623
- sc(B.afterSanitizeAttributes, e, null);
624
- }, fc = function e(t) {
625
- let n = null, r = ic(t);
626
- for (sc(B.beforeSanitizeShadowDOM, t, null); n = r.nextNode();) sc(B.uponSanitizeShadowNode, n, null), cc(n), dc(n), n.content instanceof a && e(n.content);
627
- sc(B.afterSanitizeShadowDOM, t, null);
623
+ uc(B.afterSanitizeAttributes, e, null);
624
+ }, hc = function e(t) {
625
+ let n = null, r = sc(t);
626
+ for (uc(B.beforeSanitizeShadowDOM, t, null); n = r.nextNode();) uc(B.uponSanitizeShadowNode, n, null), dc(n), mc(n), n.content instanceof a && e(n.content);
627
+ uc(B.afterSanitizeShadowDOM, t, null);
628
628
  };
629
629
  return t.sanitize = function(e) {
630
630
  let n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, i = null, o = null, c = null, l = null;
631
- if (Bs = !e, Bs && (e = "<!-->"), typeof e != "string" && !oc(e)) if (typeof e.toString == "function") {
631
+ if (Us = !e, Us && (e = "<!-->"), typeof e != "string" && !lc(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 (bs || Zs(n), t.removed = [], typeof e == "string" && (Os = !1), Os) {
635
+ if (Cs || ec(n), t.removed = [], typeof e == "string" && (js = !1), js) {
636
636
  if (e.nodeName) {
637
637
  let t = Y(e.nodeName);
638
- if (!V[t] || us[t]) throw typeErrorCreate("root node is forbidden and cannot be sanitized in-place");
638
+ if (!V[t] || ps[t]) throw typeErrorCreate("root node is forbidden and cannot be sanitized in-place");
639
639
  }
640
- } else if (e instanceof s) i = rc("<!---->"), o = i.ownerDocument.importNode(e, !0), o.nodeType === NODE_TYPE.element && o.nodeName === "BODY" || o.nodeName === "HTML" ? i = o : i.appendChild(o);
640
+ } else if (e instanceof s) i = oc("<!---->"), 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 (!Ss && !_s && !ys && e.indexOf("<") === -1) return A && ws ? A.createHTML(e) : e;
643
- if (i = rc(e), !i) return Ss ? null : ws ? R : "";
642
+ if (!Ts && !bs && !Ss && e.indexOf("<") === -1) return A && Ds ? A.createHTML(e) : e;
643
+ if (i = oc(e), !i) return Ts ? null : Ds ? R : "";
644
644
  }
645
- i && xs && tc(i.firstChild);
646
- let u = ic(Os ? e : i);
647
- for (; c = u.nextNode();) cc(c), dc(c), c.content instanceof a && fc(c.content);
648
- if (Os) return e;
649
- if (Ss) {
650
- if (Cs) for (l = Yo.call(i.ownerDocument); i.firstChild;) l.appendChild(i.firstChild);
645
+ i && ws && ic(i.firstChild);
646
+ let u = sc(js ? e : i);
647
+ for (; c = u.nextNode();) dc(c), mc(c), c.content instanceof a && hc(c.content);
648
+ if (js) return e;
649
+ if (Ts) {
650
+ if (Es) for (l = Qo.call(i.ownerDocument); i.firstChild;) l.appendChild(i.firstChild);
651
651
  else l = i;
652
- return (cs.shadowroot || cs.shadowrootmode) && (l = Zo.call(r, l, !0)), l;
652
+ return (ds.shadowroot || ds.shadowrootmode) && (l = es.call(r, l, !0)), l;
653
653
  }
654
- let f = ys ? i.outerHTML : i.innerHTML;
655
- return ys && V["!doctype"] && i.ownerDocument && i.ownerDocument.doctype && i.ownerDocument.doctype.name && regExpTest(DOCTYPE_NAME, i.ownerDocument.doctype.name) && (f = "<!DOCTYPE " + i.ownerDocument.doctype.name + ">\n" + f), _s && arrayForEach([
656
- Qo,
657
- $o,
658
- es
654
+ let f = Ss ? i.outerHTML : i.innerHTML;
655
+ return Ss && V["!doctype"] && i.ownerDocument && i.ownerDocument.doctype && i.ownerDocument.doctype.name && regExpTest(DOCTYPE_NAME, i.ownerDocument.doctype.name) && (f = "<!DOCTYPE " + i.ownerDocument.doctype.name + ">\n" + f), bs && arrayForEach([
656
+ ts,
657
+ ns,
658
+ rs
659
659
  ], (e) => {
660
660
  f = stringReplace(f, e, " ");
661
- }), A && ws ? A.createHTML(f) : f;
661
+ }), A && Ds ? A.createHTML(f) : f;
662
662
  }, t.setConfig = function() {
663
- Zs(arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}), bs = !0;
663
+ ec(arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}), Cs = !0;
664
664
  }, t.clearConfig = function() {
665
- Js = null, bs = !1;
665
+ Zs = null, Cs = !1;
666
666
  }, t.isValidAttribute = function(e, t, n) {
667
- return Js || Zs({}), lc(Y(e), Y(t), n);
667
+ return Zs || ec({}), fc(Y(e), Y(t), n);
668
668
  }, t.addHook = function(e, t) {
669
669
  typeof t == "function" && arrayPush(B[e], t);
670
670
  }, t.removeHook = function(e, t) {
@@ -21372,15 +21372,15 @@ function useDropdown() {
21372
21372
  return e;
21373
21373
  }
21374
21374
  function Dropdown({ trigger: e, children: t, align: n = "start", side: r = "bottom", offsetX: i = 0, offsetY: a = 0, disabled: o = !1, openOnHover: c = !0, open: u, onOpenChange: p }) {
21375
- let g = u !== void 0, [O, A] = useState(!1), R = g ? u : O, qo = useCallback((e) => {
21375
+ let g = u !== void 0, [O, A] = useState(!1), R = g ? u : O, Xo = useCallback((e) => {
21376
21376
  e !== R && (g || A(e), p?.(e));
21377
21377
  }, [
21378
21378
  R,
21379
21379
  g,
21380
21380
  p
21381
- ]), Jo = useRef(null), Yo = useRef(null), Xo = useRef(null), [Zo, B] = useState(null), Qo = useCallback(() => {
21382
- if (!Jo.current || !Yo.current) return;
21383
- let e = Jo.current.getBoundingClientRect(), t = Yo.current.getBoundingClientRect(), o = e.left;
21381
+ ]), Zo = useRef(null), Qo = useRef(null), $o = useRef(null), [es, B] = useState(null), ts = useCallback(() => {
21382
+ if (!Zo.current || !Qo.current) return;
21383
+ let e = Zo.current.getBoundingClientRect(), t = Qo.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
21386
  s = r === "bottom" ? e.bottom + a : e.top - t.height + a, queueMicrotask(() => B({
@@ -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
- R && Qo();
21398
- }, [R, Qo]), useEffect(() => {
21397
+ R && ts();
21398
+ }, [R, ts]), useEffect(() => {
21399
21399
  if (!R) return;
21400
- let e = () => Qo();
21400
+ let e = () => ts();
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
- }, [R, Qo]);
21405
- let $o = useCallback(() => {
21406
- Xo.current &&= (clearTimeout(Xo.current), null), qo(!0);
21407
- }, [qo]), es = useCallback(() => {
21408
- Xo.current = window.setTimeout(() => {
21409
- qo(!1);
21404
+ }, [R, ts]);
21405
+ let ns = useCallback(() => {
21406
+ $o.current &&= (clearTimeout($o.current), null), Xo(!0);
21407
+ }, [Xo]), rs = useCallback(() => {
21408
+ $o.current = window.setTimeout(() => {
21409
+ Xo(!1);
21410
21410
  }, 120);
21411
- }, [qo]);
21411
+ }, [Xo]);
21412
21412
  return useEffect(() => {
21413
21413
  function e(e) {
21414
21414
  let t = e.target;
21415
- Jo.current?.contains(t) || Yo.current?.contains(t) || qo(!1);
21415
+ Zo.current?.contains(t) || Qo.current?.contains(t) || Xo(!1);
21416
21416
  }
21417
21417
  return document.addEventListener("mousedown", e), () => document.removeEventListener("mousedown", e);
21418
- }, [qo]), useEffect(() => () => {
21419
- Xo.current && clearTimeout(Xo.current);
21418
+ }, [Xo]), useEffect(() => () => {
21419
+ $o.current && clearTimeout($o.current);
21420
21420
  }, []), /* @__PURE__ */ jsxs(DropdownContext.Provider, {
21421
21421
  value: {
21422
- close: () => qo(!1),
21423
- open: $o
21422
+ close: () => Xo(!1),
21423
+ open: ns
21424
21424
  },
21425
21425
  children: [/* @__PURE__ */ jsx("div", {
21426
- ref: Jo,
21426
+ ref: Zo,
21427
21427
  className: "inline-flex",
21428
- onMouseEnter: c ? $o : void 0,
21429
- onMouseLeave: c ? es : void 0,
21430
- onClick: () => qo(!R),
21428
+ onMouseEnter: c ? ns : void 0,
21429
+ onMouseLeave: c ? rs : void 0,
21430
+ onClick: () => Xo(!R),
21431
21431
  "aria-haspopup": "menu",
21432
21432
  "aria-expanded": R,
21433
21433
  children: e
21434
21434
  }), R && !o && createPortal(/* @__PURE__ */ jsx("div", {
21435
- ref: Yo,
21436
- onMouseEnter: c ? $o : void 0,
21437
- onMouseLeave: c ? es : void 0,
21435
+ ref: Qo,
21436
+ onMouseEnter: c ? ns : void 0,
21437
+ onMouseLeave: c ? rs : void 0,
21438
21438
  style: {
21439
21439
  position: "fixed",
21440
- top: Zo?.top ?? 0,
21441
- left: Zo?.left ?? 0,
21442
- visibility: Zo ? "visible" : "hidden",
21440
+ top: es?.top ?? 0,
21441
+ left: es?.left ?? 0,
21442
+ visibility: es ? "visible" : "hidden",
21443
21443
  zIndex: 1e3
21444
21444
  },
21445
21445
  children: t
@@ -22912,6 +22912,18 @@ function HelpPanelEngine({ title: e, items: t, footer: n, closeLabel: r = "Close
22912
22912
  ]
22913
22913
  });
22914
22914
  }
22915
+ const ONBOARDING_DISMISSED_STORAGE_KEY = "onboarding_dismissed";
22916
+ function readDismissedFromStorage(e) {
22917
+ if (typeof window > "u") return /* @__PURE__ */ new Set();
22918
+ try {
22919
+ let t = localStorage.getItem(e);
22920
+ if (t == null || t === "") return /* @__PURE__ */ new Set();
22921
+ let n = JSON.parse(t);
22922
+ return Array.isArray(n) ? new Set(n.filter((e) => typeof e == "string")) : /* @__PURE__ */ new Set();
22923
+ } catch {
22924
+ return /* @__PURE__ */ new Set();
22925
+ }
22926
+ }
22915
22927
  function findActiveStep(e, t, n) {
22916
22928
  for (let r = 0; r < e.length; r++) {
22917
22929
  let i = e[r];
@@ -22922,41 +22934,56 @@ function findActiveStep(e, t, n) {
22922
22934
  }
22923
22935
  return null;
22924
22936
  }
22925
- function OnboardingEngine({ steps: e, context: t, children: n }) {
22926
- let [r, i] = useState(() => /* @__PURE__ */ new Set()), a = useMemo(() => findActiveStep(e, r, t), [
22927
- e,
22937
+ function OnboardingEngine({ steps: e, context: t, storageKey: n, isEnabled: r = !0, children: i }) {
22938
+ let a = n ?? "onboarding_dismissed", [o, c] = useState(() => readDismissedFromStorage(a));
22939
+ useLayoutEffect(() => {
22940
+ c(readDismissedFromStorage(a));
22941
+ }, [a]), useEffect(() => {
22942
+ if (!(typeof window > "u")) try {
22943
+ localStorage.setItem(a, JSON.stringify([...o]));
22944
+ } catch {}
22945
+ }, [o, a]), useEffect(() => {
22946
+ let t = new Set(e.map((e) => e.id)), n = readDismissedFromStorage(a), r = /* @__PURE__ */ new Set();
22947
+ for (let e of n) t.has(e) && r.add(e);
22948
+ queueMicrotask(() => {
22949
+ c((e) => e.size === r.size && [...e].every((e) => r.has(e)) ? e : r);
22950
+ });
22951
+ }, [e, a]);
22952
+ let u = useMemo(() => r ? findActiveStep(e, o, t) : null, [
22928
22953
  r,
22954
+ e,
22955
+ o,
22929
22956
  t
22930
- ]), o = a?.step ?? null, c = a?.index ?? null, l = useCallback((e) => {
22931
- i((t) => {
22957
+ ]), h = u?.step ?? null, g = u?.index ?? null, Jo = useCallback((e) => {
22958
+ c((t) => {
22932
22959
  if (t.has(e)) return t;
22933
22960
  let n = new Set(t);
22934
22961
  return n.add(e), n;
22935
22962
  });
22936
- }, []), u = useCallback(() => {
22937
- i((n) => {
22963
+ }, []), Yo = useCallback(() => {
22964
+ c((n) => {
22938
22965
  let r = findActiveStep(e, n, t);
22939
22966
  if (r == null || n.has(r.step.id)) return n;
22940
22967
  let i = new Set(n);
22941
22968
  return i.add(r.step.id), i;
22942
22969
  });
22943
- }, [e, t]), f = useCallback(() => {
22944
- i(new Set(e.map((e) => e.id)));
22970
+ }, [e, t]), A = useCallback(() => {
22971
+ c(new Set(e.map((e) => e.id)));
22945
22972
  }, [e]);
22946
- return /* @__PURE__ */ jsx(Fragment$1, { children: n({
22973
+ return /* @__PURE__ */ jsx(Fragment$1, { children: i({
22947
22974
  context: t,
22948
- currentStep: o,
22949
- currentStepIndex: c,
22950
- dismissedStepIds: r,
22975
+ currentStep: h,
22976
+ currentStepIndex: g,
22977
+ dismissedStepIds: o,
22951
22978
  actions: useMemo(() => ({
22952
- dismissCurrentStep: u,
22953
- dismissStep: l,
22954
- skipAll: f,
22955
- close: f
22979
+ dismissCurrentStep: Yo,
22980
+ dismissStep: Jo,
22981
+ skipAll: A,
22982
+ close: A
22956
22983
  }), [
22957
- u,
22958
- l,
22959
- f
22984
+ Yo,
22985
+ Jo,
22986
+ A
22960
22987
  ])
22961
22988
  }) });
22962
22989
  }
@@ -23169,13 +23196,13 @@ function Toaster() {
23169
23196
  useEffect(() => toastStore.subscribe(t), []);
23170
23197
  let A = useSyncExternalStore(subscribeNoop$1, getClientSnapshot$1, getServerSnapshot$1), R = useCallback((e) => {
23171
23198
  e.callbacks?.onOpen?.();
23172
- }, []), qo = useCallback((e, t) => {
23199
+ }, []), Xo = useCallback((e, t) => {
23173
23200
  t === "manual" ? e.callbacks?.onClose?.() : (t === "timeout" || t === "replaced") && e.callbacks?.onAutoClose?.(), e.callbacks?.onDismiss?.(t);
23174
23201
  }, []);
23175
23202
  useEffect(() => {
23176
23203
  let t = new Set(e.map((e) => e.id)), n = new Map(e.map((e) => [e.id, e])), s = i.current;
23177
23204
  o.current.filter((e) => !t.has(e.id) && e.animationState !== "exiting").forEach((e) => {
23178
- qo(e, a.current.get(e.id) ?? toastStore.consumePendingDismissReason(e.id) ?? "timeout"), a.current.delete(e.id);
23205
+ Xo(e, a.current.get(e.id) ?? toastStore.consumePendingDismissReason(e.id) ?? "timeout"), a.current.delete(e.id);
23179
23206
  }), r((r) => {
23180
23207
  let i = r.map((e) => {
23181
23208
  let t = n.get(e.id);
@@ -23193,19 +23220,19 @@ function Toaster() {
23193
23220
  }, [
23194
23221
  e,
23195
23222
  R,
23196
- qo
23223
+ Xo
23197
23224
  ]);
23198
- let Jo = useCallback((e) => {
23225
+ let Zo = useCallback((e) => {
23199
23226
  r((t) => {
23200
23227
  let n = t.filter((t) => t.id !== e);
23201
23228
  return o.current = n, n;
23202
23229
  }), p(e), toastStore.cleanup(e);
23203
- }, [p]), Yo = useCallback((e) => {
23230
+ }, [p]), Qo = useCallback((e) => {
23204
23231
  a.current.set(e, "manual"), toastStore.remove(e);
23205
23232
  }, []);
23206
23233
  if (!A) return null;
23207
- let Xo = groupByPosition(n);
23208
- return createPortal(/* @__PURE__ */ jsx(Fragment$1, { children: Object.entries(Xo).map(([e, t]) => {
23234
+ let $o = groupByPosition(n);
23235
+ return createPortal(/* @__PURE__ */ jsx(Fragment$1, { children: Object.entries($o).map(([e, t]) => {
23209
23236
  let n = t.filter((e) => e.singleSlot), r = t.filter((e) => !e.singleSlot), i = n.length > 0 ? /* @__PURE__ */ jsx("div", {
23210
23237
  className: cn("isolate inline-grid max-w-[min(100vw,100%)] grid-cols-1 grid-rows-1", SINGLE_SLOT_PLACE[e]),
23211
23238
  children: n.map((e, t) => /* @__PURE__ */ jsx("div", {
@@ -23214,8 +23241,8 @@ function Toaster() {
23214
23241
  children: /* @__PURE__ */ jsx(ToastWrapper, {
23215
23242
  toast: e,
23216
23243
  remainingTime: c.get(e.id) ?? e.duration,
23217
- onExitComplete: Jo,
23218
- onClose: Yo,
23244
+ onExitComplete: Zo,
23245
+ onClose: Qo,
23219
23246
  onHoverStart: u,
23220
23247
  onHoverEnd: f
23221
23248
  })
@@ -23223,8 +23250,8 @@ function Toaster() {
23223
23250
  }) : null, a = r.map((e) => /* @__PURE__ */ jsx(ToastWrapper, {
23224
23251
  toast: e,
23225
23252
  remainingTime: c.get(e.id) ?? e.duration,
23226
- onExitComplete: Jo,
23227
- onClose: Yo,
23253
+ onExitComplete: Zo,
23254
+ onClose: Qo,
23228
23255
  onHoverStart: u,
23229
23256
  onHoverEnd: f
23230
23257
  }, e.id));
@@ -23442,7 +23469,7 @@ function BulkActions({ totalItems: e = 0, selectedItems: t = 0, onSelectAll: n,
23442
23469
  function g(e) {
23443
23470
  p(e), a?.(e);
23444
23471
  }
23445
- let Ko = {
23472
+ let Yo = {
23446
23473
  fire: [{
23447
23474
  id: "fire",
23448
23475
  tooltip: "Mark as fire",
@@ -23523,7 +23550,7 @@ function BulkActions({ totalItems: e = 0, selectedItems: t = 0, onSelectAll: n,
23523
23550
  }),
23524
23551
  /* @__PURE__ */ jsx("div", {
23525
23552
  className: "flex items-center divide-x divide-neutral-400-variant-1",
23526
- children: t > 0 && /* @__PURE__ */ jsx(Fragment$1, { children: Object.entries(Ko).map(([e, t]) => /* @__PURE__ */ jsx("div", {
23553
+ children: t > 0 && /* @__PURE__ */ jsx(Fragment$1, { children: Object.entries(Yo).map(([e, t]) => /* @__PURE__ */ jsx("div", {
23527
23554
  className: "gap-2 px-1 flex items-center",
23528
23555
  children: t.map((e) => /* @__PURE__ */ jsx(InfoTooltip, {
23529
23556
  content: e.tooltip,
@@ -23800,14 +23827,14 @@ function IconCountButton({ icon: e, label: t, count: n, variant: r = "primary",
23800
23827
  variant: r,
23801
23828
  orientation: i,
23802
23829
  status: a
23803
- }), Ko = useRef(null), [A, R] = useState(!1), [qo, Jo] = useState(!1), [Yo, Xo] = useState(l), [Zo, B] = useState(null), Qo = c ?? Yo, $o = s && (A || qo || Qo), es = typeof n == "number" && n > 0 && (o || a === "active");
23804
- function ts(e) {
23805
- c === void 0 && Xo(e), u?.(e);
23830
+ }), Yo = useRef(null), [A, R] = useState(!1), [Xo, Zo] = useState(!1), [Qo, $o] = useState(l), [es, B] = useState(null), ts = c ?? Qo, ns = s && (A || Xo || ts), rs = typeof n == "number" && n > 0 && (o || a === "active");
23831
+ function is(e) {
23832
+ c === void 0 && $o(e), u?.(e);
23806
23833
  }
23807
23834
  return useLayoutEffect(() => {
23808
- if (!$o || !Ko.current) return;
23835
+ if (!ns || !Yo.current) return;
23809
23836
  function e() {
23810
- let e = Ko.current?.getBoundingClientRect();
23837
+ let e = Yo.current?.getBoundingClientRect();
23811
23838
  e && B({
23812
23839
  top: e.top - 8,
23813
23840
  left: e.right - 12
@@ -23816,7 +23843,7 @@ function IconCountButton({ icon: e, label: t, count: n, variant: r = "primary",
23816
23843
  return e(), window.addEventListener("resize", e), window.addEventListener("scroll", e, !0), () => {
23817
23844
  window.removeEventListener("resize", e), window.removeEventListener("scroll", e, !0);
23818
23845
  };
23819
- }, [$o]), /* @__PURE__ */ jsxs(Button, {
23846
+ }, [ns]), /* @__PURE__ */ jsxs(Button, {
23820
23847
  ...g,
23821
23848
  className: cn(O.root(), p?.root),
23822
23849
  onMouseEnter: () => R(!0),
@@ -23824,20 +23851,20 @@ function IconCountButton({ icon: e, label: t, count: n, variant: r = "primary",
23824
23851
  children: [/* @__PURE__ */ jsxs("div", {
23825
23852
  className: "relative",
23826
23853
  children: [/* @__PURE__ */ jsx("div", {
23827
- ref: Ko,
23854
+ ref: Yo,
23828
23855
  className: cn(O.bubble(), p?.bubble),
23829
23856
  children: renderIcon(e, O.icon())
23830
- }), $o && Zo && typeof document < "u" && ToggleControlPortal({
23831
- isPressed: Qo,
23832
- isPortalHovered: qo,
23833
- portalPosition: Zo,
23834
- onMouseEnter: () => Jo(!0),
23835
- onMouseLeave: () => Jo(!1),
23836
- onToggle: () => ts(!Qo)
23857
+ }), ns && es && typeof document < "u" && ToggleControlPortal({
23858
+ isPressed: ts,
23859
+ isPortalHovered: Xo,
23860
+ portalPosition: es,
23861
+ onMouseEnter: () => Zo(!0),
23862
+ onMouseLeave: () => Zo(!1),
23863
+ onToggle: () => is(!ts)
23837
23864
  })]
23838
23865
  }), /* @__PURE__ */ jsxs("div", {
23839
23866
  className: cn(O.label(), p?.label),
23840
- children: [/* @__PURE__ */ jsx("span", { children: t }), es && /* @__PURE__ */ jsxs("span", {
23867
+ children: [/* @__PURE__ */ jsx("span", { children: t }), rs && /* @__PURE__ */ jsxs("span", {
23841
23868
  "aria-label": `${n} items`,
23842
23869
  className: cn(O.count(), p?.count),
23843
23870
  children: [
@@ -23897,7 +23924,7 @@ function CalendarPanel({ mode: e, selectedDate: t, selectedRange: n, onDateSelec
23897
23924
  t,
23898
23925
  n
23899
23926
  ]);
23900
- let Ko = useMemo(() => generateCalendarDays(g.year, g.month), [g.year, g.month]);
23927
+ let Yo = useMemo(() => generateCalendarDays(g.year, g.month), [g.year, g.month]);
23901
23928
  function A(t) {
23902
23929
  let o = t.getMonth(), s = t.getFullYear();
23903
23930
  if ((o !== g.month || s !== g.year) && O({
@@ -23924,7 +23951,7 @@ function CalendarPanel({ mode: e, selectedDate: t, selectedRange: n, onDateSelec
23924
23951
  month: e.month - 1
23925
23952
  });
23926
23953
  }
23927
- function qo() {
23954
+ function Xo() {
23928
23955
  O((e) => e.month === 11 ? {
23929
23956
  year: e.year + 1,
23930
23957
  month: 0
@@ -23933,7 +23960,7 @@ function CalendarPanel({ mode: e, selectedDate: t, selectedRange: n, onDateSelec
23933
23960
  month: e.month + 1
23934
23961
  });
23935
23962
  }
23936
- let Jo = getWeekdays();
23963
+ let Zo = getWeekdays();
23937
23964
  return /* @__PURE__ */ jsxs("div", {
23938
23965
  className: "mt-1 rounded-lg p-2 shadow-lg w-fit border border-neutral-400 bg-white",
23939
23966
  children: [
@@ -23962,7 +23989,7 @@ function CalendarPanel({ mode: e, selectedDate: t, selectedRange: n, onDateSelec
23962
23989
  direction: "right",
23963
23990
  size: 20
23964
23991
  }),
23965
- onClick: qo,
23992
+ onClick: Xo,
23966
23993
  className: "hover:opacity-60",
23967
23994
  "aria-label": "Next month"
23968
23995
  })
@@ -23970,17 +23997,17 @@ function CalendarPanel({ mode: e, selectedDate: t, selectedRange: n, onDateSelec
23970
23997
  }),
23971
23998
  /* @__PURE__ */ jsx("div", {
23972
23999
  className: "mb-2 grid grid-cols-7",
23973
- children: Jo.map((e) => /* @__PURE__ */ jsx("div", {
24000
+ children: Zo.map((e) => /* @__PURE__ */ jsx("div", {
23974
24001
  className: "p-0.5 font-bold flex items-center justify-center text-[9px] text-neutral-900",
23975
24002
  children: e
23976
24003
  }, e))
23977
24004
  }),
23978
24005
  /* @__PURE__ */ jsx("div", {
23979
24006
  className: "grid grid-cols-7",
23980
- children: Ko.map(({ day: r, date: i, isCurrentMonth: a }) => {
23981
- 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), Uo = u, g = s;
23982
- e === "range" && u && !f && s && !isDateBefore(s, u) ? (Uo = u, g = s) : (Uo = null, g = null);
23983
- let O = e === "range" && (isDateInRange(i, u, f) || isDateInRange(i, Uo, g)), Go = l || p || h;
24007
+ children: Yo.map(({ day: r, date: i, isCurrentMonth: a }) => {
24008
+ let o = isToday(i), l = e === "single" && t && isSameDay(i, t), { startDate: u, endDate: f } = n, p = u && isSameDay(i, u), h = f && isSameDay(i, f), Ko = u, g = s;
24009
+ e === "range" && u && !f && s && !isDateBefore(s, u) ? (Ko = u, g = s) : (Ko = null, g = null);
24010
+ let O = e === "range" && (isDateInRange(i, u, f) || isDateInRange(i, Ko, g)), Jo = l || p || h;
23984
24011
  return /* @__PURE__ */ jsx(Button, {
23985
24012
  type: "button",
23986
24013
  onClick: () => A(i),
@@ -23992,9 +24019,9 @@ function CalendarPanel({ mode: e, selectedDate: t, selectedRange: n, onDateSelec
23992
24019
  },
23993
24020
  className: "p-0.5",
23994
24021
  "aria-label": `Select ${formatDate(i)}`,
23995
- "aria-selected": Go || void 0,
24022
+ "aria-selected": Jo || void 0,
23996
24023
  children: /* @__PURE__ */ jsx("div", {
23997
- className: cn("rounded flex h-[26px] w-[26px] items-center justify-center text-[9px] transition-colors", Go && "font-semibold bg-primary-500 text-white-variant-1 hover:bg-primary-500", O && !Go && "font-normal bg-primary-500/20 text-neutral-900 hover:bg-primary-500/30", o && !Go && !O && "font-bold border border-primary-500 bg-primary-500/15 hover:bg-primary-500 hover:text-white", !Go && !O && (a ? "text-neutral-900 hover:bg-neutral-300" : "text-neutral-600 hover:bg-neutral-200")),
24024
+ className: cn("rounded flex h-[26px] w-[26px] items-center justify-center text-[9px] transition-colors", Jo && "font-semibold bg-primary-500 text-white-variant-1 hover:bg-primary-500", O && !Jo && "font-normal bg-primary-500/20 text-neutral-900 hover:bg-primary-500/30", o && !Jo && !O && "font-bold border border-primary-500 bg-primary-500/15 hover:bg-primary-500 hover:text-white", !Jo && !O && (a ? "text-neutral-900 hover:bg-neutral-300" : "text-neutral-600 hover:bg-neutral-200")),
23998
24025
  children: r
23999
24026
  })
24000
24027
  }, `${i.getFullYear()}-${i.getMonth()}-${r}`);
@@ -24062,7 +24089,7 @@ function DatePicker({ mode: e = "single", value: t, defaultValue: n, onChange: r
24062
24089
  function g(t) {
24063
24090
  e === "range" && (u || l(t), r?.(t));
24064
24091
  }
24065
- function Go() {
24092
+ function Jo() {
24066
24093
  e === "single" ? h(null) : g({
24067
24094
  startDate: null,
24068
24095
  endDate: null
@@ -24073,7 +24100,7 @@ function DatePicker({ mode: e = "single", value: t, defaultValue: n, onChange: r
24073
24100
  displayText: e === "single" ? formatDate(f) : formatDateRange(p.startDate, p.endDate),
24074
24101
  disabled: i,
24075
24102
  className: a,
24076
- onClear: Go
24103
+ onClear: Jo
24077
24104
  }),
24078
24105
  disabled: i,
24079
24106
  children: /* @__PURE__ */ jsx(CalendarPanel, {
@@ -24287,7 +24314,7 @@ function EventActionsList({ actions: e, className: t }) {
24287
24314
  }) })
24288
24315
  });
24289
24316
  }
24290
- 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: Uo = {}, density: g = "normal", className: O, style: Ko, isPriority: A, isDone: R }) {
24317
+ function EventCard({ icon: e, service: t, sender: n, title: r, content: i, timestamp: a, timestampTooltip: o, workspace: s, read: c = !1, selected: l = !1, onSelect: u, checked: f = !1, onCheckedChange: p, statusBadges: h = {}, actions: Ko = {}, density: g = "normal", className: O, style: Yo, isPriority: A, isDone: R }) {
24291
24318
  return /* @__PURE__ */ jsx(Card, {
24292
24319
  as: Pressable,
24293
24320
  onPress: u,
@@ -24296,7 +24323,7 @@ function EventCard({ icon: e, service: t, sender: n, title: r, content: i, times
24296
24323
  state: l ? "selected" : c ? "read" : "unread",
24297
24324
  density: g
24298
24325
  }), O),
24299
- style: Ko,
24326
+ style: Yo,
24300
24327
  "data-service": t,
24301
24328
  children: g === "normal" ? /* @__PURE__ */ jsxs(CardLayout, {
24302
24329
  className: "gap-x-2 gap-y-1",
@@ -24334,7 +24361,7 @@ function EventCard({ icon: e, service: t, sender: n, title: r, content: i, times
24334
24361
  /* @__PURE__ */ jsxs(CardFooter, {
24335
24362
  className: "mt-3 gap-1 grid grid-cols-[minmax(0,1fr)_auto] items-center",
24336
24363
  children: [/* @__PURE__ */ jsx(EventStatusesList, { statusBadges: h }), /* @__PURE__ */ jsx(EventActionsList, {
24337
- actions: Uo,
24364
+ actions: Ko,
24338
24365
  className: "col-start-2 justify-self-end"
24339
24366
  })]
24340
24367
  })
@@ -24373,7 +24400,7 @@ function EventCard({ icon: e, service: t, sender: n, title: r, content: i, times
24373
24400
  ]
24374
24401
  }),
24375
24402
  /* @__PURE__ */ jsx("div", { className: "flex-1" }),
24376
- /* @__PURE__ */ jsx(EventActionsList, { actions: Uo }),
24403
+ /* @__PURE__ */ jsx(EventActionsList, { actions: Ko }),
24377
24404
  /* @__PURE__ */ jsx(InfoTooltip, {
24378
24405
  content: o,
24379
24406
  children: /* @__PURE__ */ jsx("span", {
@@ -24842,11 +24869,11 @@ function EventDetailContentTicketDetails({ issue: e, notification: t, project: n
24842
24869
  ]
24843
24870
  })] });
24844
24871
  }
24845
- function EventDetailContentTicket({ detail: { summary: e, body: t, priorityText: n, issue: r, notification: i, project: a, task: o, dueDate: s, startDate: c, assignees: l, reporter: u, team: f, location: p, related: h }, className: Uo }) {
24872
+ function EventDetailContentTicket({ detail: { summary: e, body: t, priorityText: n, issue: r, notification: i, project: a, task: o, dueDate: s, startDate: c, assignees: l, reporter: u, team: f, location: p, related: h }, className: Ko }) {
24846
24873
  return /* @__PURE__ */ jsxs(EventDetailContentHeader, {
24847
24874
  summary: e,
24848
24875
  priorityText: n,
24849
- className: Uo,
24876
+ className: Ko,
24850
24877
  children: [
24851
24878
  /* @__PURE__ */ jsx(EventDetailContentTicketDetails, {
24852
24879
  issue: r,
@@ -24944,7 +24971,7 @@ function EventSummaryFireButton({ active: e, onClick: t }) {
24944
24971
  }) });
24945
24972
  }
24946
24973
  function EventSummaryCard({ icon: e, service: t, sender: n, title: r, content: i, timestamp: a, workspace: o, selected: s = !1, onSelect: c, actions: l, className: u }) {
24947
- let { fire: f, insight: p, link: h } = l, Uo = p?.label ?? null;
24974
+ let { fire: f, insight: p, link: h } = l, Ko = p?.label ?? null;
24948
24975
  return /* @__PURE__ */ jsxs(Pressable, {
24949
24976
  onPress: c,
24950
24977
  className: cn(eventSummaryCardStyles({
@@ -24972,7 +24999,7 @@ function EventSummaryCard({ icon: e, service: t, sender: n, title: r, content: i
24972
24999
  className: "text-xs leading-tight font-semibold tracking-wide flex-1 text-right whitespace-nowrap text-neutral-800",
24973
25000
  children: a
24974
25001
  }),
24975
- insightLabelVisible(Uo) && /* @__PURE__ */ jsx(EventSummaryInsightChip, { label: Uo }),
25002
+ insightLabelVisible(Ko) && /* @__PURE__ */ jsx(EventSummaryInsightChip, { label: Ko }),
24976
25003
  /* @__PURE__ */ jsx(EventSummaryFireButton, {
24977
25004
  active: f.active,
24978
25005
  onClick: f.onClick
@@ -25506,10 +25533,10 @@ function OnboardingCard({ stepLabel: e, title: t, description: n, titleAccessory
25506
25533
  children: [i, a]
25507
25534
  })
25508
25535
  ]
25509
- }), Uo = wrapArrow(/* @__PURE__ */ jsx(OnboardingCardArrow, {
25536
+ }), Ko = wrapArrow(/* @__PURE__ */ jsx(OnboardingCardArrow, {
25510
25537
  layout: o,
25511
25538
  placement: s
25512
- }), c, l), g = s === "before" ? /* @__PURE__ */ jsxs(Fragment$1, { children: [Uo, h] }) : /* @__PURE__ */ jsxs(Fragment$1, { children: [h, Uo] });
25539
+ }), c, l), g = s === "before" ? /* @__PURE__ */ jsxs(Fragment$1, { children: [Ko, h] }) : /* @__PURE__ */ jsxs(Fragment$1, { children: [h, Ko] });
25513
25540
  return o === "horizontal" ? /* @__PURE__ */ jsx("div", {
25514
25541
  className: cn("flex items-center", u),
25515
25542
  children: g
@@ -25537,34 +25564,34 @@ function measureActiveStep(e) {
25537
25564
  let t = document.getElementById(e.targetId);
25538
25565
  return t ? measureStepPosition(e, t) : null;
25539
25566
  }
25540
- function OnboardingPortal({ currentStep: e, actions: t, steps: n, onFinish: r }) {
25541
- let i = useSyncExternalStore(subscribeNoop, getClientSnapshot, getServerSnapshot), [a, o] = useState(null), s = useRef(!1), c = e != null;
25567
+ function OnboardingPortal({ currentStep: e, currentStepIndex: t, actions: n, steps: r, onFinish: i }) {
25568
+ let a = useSyncExternalStore(subscribeNoop, getClientSnapshot, getServerSnapshot), [o, s] = useState(null), c = useRef(!1), u = e != null;
25542
25569
  if (useLayoutEffect(() => {
25543
- if (!i || !c) {
25544
- let e = requestAnimationFrame(() => o(null));
25570
+ if (!a || !u) {
25571
+ let e = requestAnimationFrame(() => s(null));
25545
25572
  return () => cancelAnimationFrame(e);
25546
25573
  }
25547
25574
  let t = 0, n = () => {
25548
25575
  cancelAnimationFrame(t), t = requestAnimationFrame(() => {
25549
- o(measureActiveStep(e));
25576
+ s(measureActiveStep(e));
25550
25577
  });
25551
25578
  };
25552
25579
  return n(), window.addEventListener("scroll", n, !0), window.addEventListener("resize", n), () => {
25553
25580
  cancelAnimationFrame(t), window.removeEventListener("scroll", n, !0), window.removeEventListener("resize", n);
25554
25581
  };
25555
25582
  }, [
25556
- i,
25557
- c,
25583
+ a,
25584
+ u,
25558
25585
  e,
25559
- n
25586
+ r
25560
25587
  ]), useEffect(() => {
25561
- s.current && !c && r?.(), s.current = c;
25562
- }, [c, r]), !i || typeof document > "u" || !c || a == null) return null;
25563
- let u = e.layout === "vertical" && a.mode === "vertical" ? {
25564
- marginLeft: a.arrowMarginLeft,
25588
+ c.current && !u && i?.(), c.current = u;
25589
+ }, [u, i]), !a || typeof document > "u" || !u || o == null) return null;
25590
+ let p = e.layout === "vertical" && o.mode === "vertical" ? {
25591
+ marginLeft: o.arrowMarginLeft,
25565
25592
  ...e.arrowWrapperStyle
25566
- } : e.arrowWrapperStyle, p = /* @__PURE__ */ jsx(OnboardingCard, {
25567
- stepLabel: e.stepLabel,
25593
+ } : e.arrowWrapperStyle, O = /* @__PURE__ */ jsx(OnboardingCard, {
25594
+ stepLabel: e.stepLabel ?? (t == null ? void 0 : `${t + 1} / ${r.length}`),
25568
25595
  title: e.title,
25569
25596
  description: e.description,
25570
25597
  titleAccessory: e.titleAccessory,
@@ -25573,46 +25600,48 @@ function OnboardingPortal({ currentStep: e, actions: t, steps: n, onFinish: r })
25573
25600
  className: cn("tour-fade-in-up", e.layout === "vertical" && "items-start", e.className),
25574
25601
  cardClassName: e.cardClassName,
25575
25602
  arrowWrapperClassName: e.arrowWrapperClassName,
25576
- arrowWrapperStyle: u,
25603
+ arrowWrapperStyle: p,
25577
25604
  primaryAction: /* @__PURE__ */ jsx(Button, {
25578
25605
  type: "button",
25579
25606
  className: PRIMARY_BTN,
25580
- onClick: () => t.dismissCurrentStep(),
25607
+ onClick: () => n.dismissCurrentStep(),
25581
25608
  children: "Got it"
25582
25609
  }),
25583
25610
  secondaryAction: /* @__PURE__ */ jsx(Button, {
25584
25611
  type: "button",
25585
25612
  className: GHOST_BTN,
25586
- onClick: () => t.skipAll(),
25613
+ onClick: () => n.skipAll(),
25587
25614
  children: "Skip"
25588
25615
  })
25589
25616
  }, e.id);
25590
25617
  return createPortal(/* @__PURE__ */ jsx("div", {
25591
- ...a.mode === "horizontal" ? {
25618
+ ...o.mode === "horizontal" ? {
25592
25619
  className: "pointer-events-auto fixed z-[999999] flex items-center",
25593
25620
  style: {
25594
- top: a.top,
25595
- left: a.left,
25621
+ top: o.top,
25622
+ left: o.left,
25596
25623
  transform: "translateY(-50%)"
25597
25624
  }
25598
25625
  } : {
25599
25626
  className: "pointer-events-auto fixed z-[999999] flex flex-col items-start",
25600
25627
  style: {
25601
- top: a.top,
25602
- left: a.left
25628
+ top: o.top,
25629
+ left: o.left
25603
25630
  }
25604
25631
  },
25605
- children: p
25632
+ children: O
25606
25633
  }), document.body);
25607
25634
  }
25608
- function Onboarding({ steps: e, context: t, onFinish: n }) {
25635
+ function Onboarding({ steps: e, context: t, storageKey: n, onFinish: r, isEnabled: i = !0 }) {
25609
25636
  return /* @__PURE__ */ jsx(OnboardingEngine, {
25610
25637
  steps: e,
25611
25638
  context: t,
25639
+ storageKey: n,
25640
+ isEnabled: i,
25612
25641
  children: (t) => /* @__PURE__ */ jsx(OnboardingPortal, {
25613
25642
  ...t,
25614
25643
  steps: e,
25615
- onFinish: n
25644
+ onFinish: r
25616
25645
  })
25617
25646
  });
25618
25647
  }
@@ -25834,6 +25863,49 @@ function QtaloImage({ size: e = 40, className: t, ...n }) {
25834
25863
  }) })]
25835
25864
  });
25836
25865
  }
25837
- export { AVATAR_COLOR, AVATAR_COLOR_KEYS, Accordion, AccordionContent, AccordionItem, AccordionTrigger, AccountIcon, AccountInfo, ActionMenu, ActionMenuItem, AddCircleIcon, AddIcon, ArrowIcon, AsanaIcon, Avatar, Badge, BulkActions, BulkActionsSkeleton, Button, CalendarIcon, Card, CardContent, CardFooter, CardHeader, CardLayout, CardSidebar, CardTitle, CheckCircleEmptyIcon, CheckCircleIcon, CheckSquareIcon, Checkbox, CheckboxIcon, ClickUpIcon, CloseIcon, CompactDensityIcon, CopyIcon, DarkIcon, DatePicker, Divider, Dropdown, DropdownContext, DropdownMenu, DropdownMenuItem, EVENT_CARD_HEIGHT_SIZE, EVENT_SUMMARY_CARD_HEIGHT_SIZE, EmptyBoxIcon, EventCard, EventCardSkeleton, EventDetail, EventDetailContentCalendar, EventDetailContentEmail, EventDetailContentHeader, EventDetailContentMessage, EventDetailContentTicket, EventDetailHeader, EventDetailPriority, EventDetailSkeleton, EventDetailSummary, EventEmptyState, EventSummaryCard, EventSummaryCardSkeleton, EventSummaryFireButton, ExternalLinkIcon, FilterBar, FilterBarSkeleton, FilterButton, FireFillIcon, FireIcon, GmailIcon, GoogleCalendarIcon, HelpPanel, HelpPanelEngine, HomeIcon, Icon, IconButton, IconCountButton, IconCountButtonSkeleton, InboxIcon, InfoTooltip, Input, InsightFillIcon, InsightIcon, IntegrationBar, IntegrationBarSkeleton, IntegrationItem, IntegrationItemSkeleton, IntegrationsCard, JiraIcon, LightIcon, LogoIcon, MailIcon, MinusIcon, MoreIcon, NormalDensityIcon, NotFireIcon, Onboarding, OnboardingCard, OnboardingEngine, OutlookCalendarIcon, OutlookIcon, Pressable, QtaloImage, ReadIcon, RichContent, SearchIcon, SearchInput, SignOutIcon, Skeleton, SlackIcon, StatusBadge, StopPropagation, SummaryIcon, SystemIcon, TeamsIcon, Toaster, Tooltip, UnreadIcon, capitalize, cn, colors, formatDate, formatDateRange, formatTimestamp, generateCalendarDays, getDaysInMonth, getFirstDayOfMonth, getInitials, getMonthName, getWeekdays, isDateBefore, isDateInRange, isSameDay, isToday, normalizeContent, parseDate, pickColorFromPalette, stringHash, toMondayBased, toast, toastStore, useAccordion, useDropdown, useLongPress };
25866
+ function QtaloBlueImage({ size: e = 40, className: t, ...n }) {
25867
+ return /* @__PURE__ */ jsxs("svg", {
25868
+ width: 144 / 40 * e,
25869
+ height: e,
25870
+ viewBox: "0 0 144 40",
25871
+ fill: "none",
25872
+ xmlns: "http://www.w3.org/2000/svg",
25873
+ className: t,
25874
+ ...n,
25875
+ children: [/* @__PURE__ */ jsxs("g", {
25876
+ clipPath: "url(#clip0_5796_4580)",
25877
+ children: [
25878
+ /* @__PURE__ */ jsx("path", {
25879
+ d: "M65.1904 0.776112C66.9609 0.776112 68.4651 2.20751 68.4651 4.08969C68.4651 5.97188 66.9749 7.34751 65.1904 7.34751H57.3189V35.8778C57.3189 38.0342 55.6045 39.7909 53.6098 39.7909C51.6151 39.7909 49.8305 38.0295 49.8305 35.8778V7.34751H42.0105C40.24 7.34751 38.6797 5.91611 38.6797 4.08969C38.6797 2.26327 40.24 0.776112 42.0105 0.776112H65.2091H65.1904ZM88.0387 10.5403C89.982 10.5403 91.7479 12.1947 91.7479 14.128V36.152C91.7479 38.1364 89.9774 39.7397 88.0387 39.7397C86.1 39.7397 84.3809 38.1364 84.3809 36.152V35.1017C83.9324 36.8072 80.9987 39.7909 76.1637 39.7909C70.0628 39.7909 62.7425 35.1017 62.7425 25.0633C62.7425 15.025 70.1282 10.3869 76.1637 10.3869C80.0971 10.3869 83.2738 12.4922 84.3809 15.0761V14.1466C84.3809 12.2133 86.044 10.5588 88.0387 10.5588V10.5403ZM77.4998 33.5494C80.6017 33.5494 84.7126 31.2908 84.7126 25.0447C84.7126 18.7987 80.6017 16.54 77.4998 16.54C73.842 16.54 70.0114 19.4028 70.0114 25.0447C70.0114 30.6866 73.842 33.5494 77.4998 33.5494ZM105.309 36.0823C105.309 38.0667 103.646 39.67 101.703 39.67C99.7595 39.67 98.045 38.0667 98.045 36.0823V3.58778C98.045 1.65447 99.7081 0 101.703 0C103.698 0 105.309 1.65447 105.309 3.58778V36.1008V36.0823Z",
25880
+ fill: "#6663FF"
25881
+ }),
25882
+ /* @__PURE__ */ jsx("path", {
25883
+ fillRule: "evenodd",
25884
+ clipRule: "evenodd",
25885
+ d: "M125.262 10.0894C117.129 10.0894 110.523 16.6608 110.523 24.7518C110.523 32.8429 117.129 39.4143 125.262 39.4143C133.395 39.4143 140.001 32.8429 140.001 24.7518C140.001 16.6608 133.395 10.0894 125.262 10.0894ZM130.415 32.2341L130.405 32.2248C128.952 33.2194 127.168 33.8049 125.267 33.8049C120.24 33.8049 116.167 29.7524 116.167 24.7518C116.167 20.3368 119.339 16.6608 123.534 15.8707V24.0966C123.534 24.5288 123.688 24.9424 123.982 25.2677L130.405 32.2248C130.405 32.2248 130.415 32.2248 130.415 32.2202V32.2388V32.2341Z",
25886
+ fill: "#6663FF"
25887
+ }),
25888
+ /* @__PURE__ */ jsx("path", {
25889
+ d: "M33.3918 33.5632C36.6152 30.1473 38.6613 25.5092 38.6613 20.0904C38.6613 8.45336 29.0754 0.380859 19.312 0.380859C9.54853 0.380859 0 8.45336 0 20.095C0 31.7367 9.60459 39.7906 19.312 39.7906C22.5353 39.7906 25.6932 38.9123 28.5195 37.3601L30.2339 39.1214C30.7898 39.6745 31.57 39.9998 32.4015 39.9998C34.1159 39.9998 35.5034 38.6195 35.5034 36.9139C35.5034 36.1378 35.1717 35.4314 34.6718 34.8087L33.3872 33.5306V33.5632H33.3918ZM28.1738 28.3209L24.5674 24.6309C24.0629 24.0267 23.2313 23.7014 22.3998 23.7014C20.6854 23.7014 19.2979 25.1328 19.2979 26.7873C19.2979 27.6145 19.681 28.3395 20.2322 28.8925L23.2827 32.0295C21.9981 32.4757 20.6807 32.7545 19.2933 32.7545C13.1923 32.7545 7.81541 27.6842 7.81541 20.1136C7.81541 12.5431 13.1923 7.47276 19.2933 7.47276C25.3942 7.47276 30.8412 12.5431 30.8412 20.1136C30.8412 23.3714 29.8368 26.1831 28.1691 28.3395V28.3209H28.1738Z",
25890
+ fill: "#6663FF"
25891
+ }),
25892
+ /* @__PURE__ */ jsx("path", {
25893
+ fillRule: "evenodd",
25894
+ clipRule: "evenodd",
25895
+ d: "M130.428 32.2433L130.418 32.234C128.966 33.2286 127.181 33.8141 125.28 33.8141C120.253 33.8141 116.18 29.7616 116.18 24.761C116.18 20.346 119.352 16.6699 123.547 15.8799V24.1057C123.547 24.538 123.701 24.9516 123.995 25.2769L130.418 32.234C130.418 32.234 130.428 32.234 130.428 32.2294V32.248V32.2433Z",
25896
+ fill: "#CEFF1A"
25897
+ })
25898
+ ]
25899
+ }), /* @__PURE__ */ jsx("defs", { children: /* @__PURE__ */ jsx("clipPath", {
25900
+ id: "clip0_5796_4580",
25901
+ children: /* @__PURE__ */ jsx("rect", {
25902
+ width: "140",
25903
+ height: "40",
25904
+ fill: "white"
25905
+ })
25906
+ }) })]
25907
+ });
25908
+ }
25909
+ export { AVATAR_COLOR, AVATAR_COLOR_KEYS, Accordion, AccordionContent, AccordionItem, AccordionTrigger, AccountIcon, AccountInfo, ActionMenu, ActionMenuItem, AddCircleIcon, AddIcon, ArrowIcon, AsanaIcon, Avatar, Badge, BulkActions, BulkActionsSkeleton, Button, CalendarIcon, Card, CardContent, CardFooter, CardHeader, CardLayout, CardSidebar, CardTitle, CheckCircleEmptyIcon, CheckCircleIcon, CheckSquareIcon, Checkbox, CheckboxIcon, ClickUpIcon, CloseIcon, CompactDensityIcon, CopyIcon, DarkIcon, DatePicker, Divider, Dropdown, DropdownContext, DropdownMenu, DropdownMenuItem, EVENT_CARD_HEIGHT_SIZE, EVENT_SUMMARY_CARD_HEIGHT_SIZE, EmptyBoxIcon, EventCard, EventCardSkeleton, EventDetail, EventDetailContentCalendar, EventDetailContentEmail, EventDetailContentHeader, EventDetailContentMessage, EventDetailContentTicket, EventDetailHeader, EventDetailPriority, EventDetailSkeleton, EventDetailSummary, EventEmptyState, EventSummaryCard, EventSummaryCardSkeleton, EventSummaryFireButton, ExternalLinkIcon, FilterBar, FilterBarSkeleton, FilterButton, FireFillIcon, FireIcon, GmailIcon, GoogleCalendarIcon, HelpPanel, HelpPanelEngine, HomeIcon, Icon, IconButton, IconCountButton, IconCountButtonSkeleton, InboxIcon, InfoTooltip, Input, InsightFillIcon, InsightIcon, IntegrationBar, IntegrationBarSkeleton, IntegrationItem, IntegrationItemSkeleton, IntegrationsCard, JiraIcon, LightIcon, LogoIcon, MailIcon, MinusIcon, MoreIcon, NormalDensityIcon, NotFireIcon, ONBOARDING_DISMISSED_STORAGE_KEY, Onboarding, OnboardingCard, OnboardingEngine, OutlookCalendarIcon, OutlookIcon, Pressable, QtaloBlueImage, QtaloImage, ReadIcon, RichContent, SearchIcon, SearchInput, SignOutIcon, Skeleton, SlackIcon, StatusBadge, StopPropagation, SummaryIcon, SystemIcon, TeamsIcon, Toaster, Tooltip, UnreadIcon, capitalize, cn, colors, formatDate, formatDateRange, formatTimestamp, generateCalendarDays, getDaysInMonth, getFirstDayOfMonth, getInitials, getMonthName, getWeekdays, isDateBefore, isDateInRange, isSameDay, isToday, normalizeContent, parseDate, pickColorFromPalette, stringHash, toMondayBased, toast, toastStore, useAccordion, useDropdown, useLongPress };
25838
25910
 
25839
25911
  //# sourceMappingURL=index.js.map