@tryghost/activitypub 3.0.7 → 3.0.8

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.
Files changed (61) hide show
  1. package/dist/activitypub.js +6 -3
  2. package/dist/{at-sign-DjgaOOtV.mjs → at-sign-Fsk3x72r.mjs} +2 -2
  3. package/dist/{at-sign-DjgaOOtV.mjs.map → at-sign-Fsk3x72r.mjs.map} +1 -1
  4. package/dist/{avatar-flipboard-8NioODS5.mjs → avatar-flipboard-C10JfFS_.mjs} +2 -2
  5. package/dist/{avatar-flipboard-8NioODS5.mjs.map → avatar-flipboard-C10JfFS_.mjs.map} +1 -1
  6. package/dist/{bluesky-sharing-B4oF-0BN.mjs → bluesky-sharing-C1xeGSL6.mjs} +4 -4
  7. package/dist/{bluesky-sharing-B4oF-0BN.mjs.map → bluesky-sharing-C1xeGSL6.mjs.map} +1 -1
  8. package/dist/{copy-BxgO1lWX.mjs → copy-C1fElSkQ.mjs} +2 -2
  9. package/dist/{copy-BxgO1lWX.mjs.map → copy-C1fElSkQ.mjs.map} +1 -1
  10. package/dist/{deleted-feed-item-Ct4Zc7u3.mjs → deleted-feed-item-Bun4tY2_.mjs} +2 -2
  11. package/dist/{deleted-feed-item-Ct4Zc7u3.mjs.map → deleted-feed-item-Bun4tY2_.mjs.map} +1 -1
  12. package/dist/{edit-profile-DVsYbpNY.mjs → edit-profile-CYh00FZ7.mjs} +1211 -1121
  13. package/dist/edit-profile-CYh00FZ7.mjs.map +1 -0
  14. package/dist/{feed-D0aeoOOJ.mjs → feed-BxUqmcN9.mjs} +4 -4
  15. package/dist/{feed-D0aeoOOJ.mjs.map → feed-BxUqmcN9.mjs.map} +1 -1
  16. package/dist/{hash-B-J30lCU.mjs → hash-CNgwAx-U.mjs} +2 -2
  17. package/dist/{hash-B-J30lCU.mjs.map → hash-CNgwAx-U.mjs.map} +1 -1
  18. package/dist/{inbox-BrLsHadF.mjs → inbox-DqNqII4a.mjs} +2 -2
  19. package/dist/{inbox-BrLsHadF.mjs.map → inbox-DqNqII4a.mjs.map} +1 -1
  20. package/dist/{index-_vEj3NfZ.mjs → index--Q6orQkb.mjs} +7960 -8593
  21. package/dist/index--Q6orQkb.mjs.map +1 -0
  22. package/dist/{index-DyFr7l3O.mjs → index-BueIufRq.mjs} +2450 -2838
  23. package/dist/index-BueIufRq.mjs.map +1 -0
  24. package/dist/{index-DnpX9U7J.mjs → index-C3KJXzZE.mjs} +32 -32
  25. package/dist/{index-DnpX9U7J.mjs.map → index-C3KJXzZE.mjs.map} +1 -1
  26. package/dist/{index-BftxScf5.mjs → index-C9pnotJK.mjs} +24 -24
  27. package/dist/{index-BftxScf5.mjs.map → index-C9pnotJK.mjs.map} +1 -1
  28. package/dist/{index-BMm_mIRT.mjs → index-CJJXnqq1.mjs} +3 -3
  29. package/dist/{index-BMm_mIRT.mjs.map → index-CJJXnqq1.mjs.map} +1 -1
  30. package/dist/{index-WlK4xdmR.mjs → index-CONoLlDU.mjs} +2 -2
  31. package/dist/{index-WlK4xdmR.mjs.map → index-CONoLlDU.mjs.map} +1 -1
  32. package/dist/{index-DL7eG3Ac.mjs → index-Dvh9q3jy.mjs} +18 -18
  33. package/dist/{index-DL7eG3Ac.mjs.map → index-Dvh9q3jy.mjs.map} +1 -1
  34. package/dist/{index-BdcW7GlH.mjs → index-jhjmoHwu.mjs} +36 -36
  35. package/dist/{index-BdcW7GlH.mjs.map → index-jhjmoHwu.mjs.map} +1 -1
  36. package/dist/{moderation-KWQp9gQj.mjs → moderation-CYhwUFi2.mjs} +3 -3
  37. package/dist/{moderation-KWQp9gQj.mjs.map → moderation-CYhwUFi2.mjs.map} +1 -1
  38. package/dist/{note-CfQDRkeT.mjs → note-COVa8CMw.mjs} +4 -4
  39. package/dist/{note-CfQDRkeT.mjs.map → note-COVa8CMw.mjs.map} +1 -1
  40. package/dist/{reply-BrWarBVQ.mjs → reply-BHpKVBxx.mjs} +2 -2
  41. package/dist/{reply-BrWarBVQ.mjs.map → reply-BHpKVBxx.mjs.map} +1 -1
  42. package/dist/separator-DP7q5sFH.mjs +116 -0
  43. package/dist/separator-DP7q5sFH.mjs.map +1 -0
  44. package/dist/{settings-CCnMmVaW.mjs → settings-3n7zo_3K.mjs} +3 -3
  45. package/dist/{settings-CCnMmVaW.mjs.map → settings-3n7zo_3K.mjs.map} +1 -1
  46. package/dist/{step-1-HGv6537o.mjs → step-1-BmUukywZ.mjs} +3 -3
  47. package/dist/{step-1-HGv6537o.mjs.map → step-1-BmUukywZ.mjs.map} +1 -1
  48. package/dist/{step-2-hqeY_dIc.mjs → step-2-C--I3xxp.mjs} +7 -7
  49. package/dist/{step-2-hqeY_dIc.mjs.map → step-2-C--I3xxp.mjs.map} +1 -1
  50. package/dist/{step-3-8yg4QPpr.mjs → step-3-0Deh5N9c.mjs} +7 -7
  51. package/dist/{step-3-8yg4QPpr.mjs.map → step-3-0Deh5N9c.mjs.map} +1 -1
  52. package/dist/{tabs-BZytpdZ9.mjs → tabs-D_vmoLBo.mjs} +35 -35
  53. package/dist/{tabs-BZytpdZ9.mjs.map → tabs-D_vmoLBo.mjs.map} +1 -1
  54. package/dist/{topic-filter-1kNAxvyr.mjs → topic-filter-DJMrhH-c.mjs} +2 -2
  55. package/dist/{topic-filter-1kNAxvyr.mjs.map → topic-filter-DJMrhH-c.mjs.map} +1 -1
  56. package/package.json +2 -2
  57. package/dist/edit-profile-DVsYbpNY.mjs.map +0 -1
  58. package/dist/index-DyFr7l3O.mjs.map +0 -1
  59. package/dist/index-_vEj3NfZ.mjs.map +0 -1
  60. package/dist/separator-nDV4oVPB.mjs +0 -39
  61. package/dist/separator-nDV4oVPB.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index-BdcW7GlH.mjs","sources":["../../../node_modules/number-flow/dist/plugins.mjs","../../../node_modules/number-flow/dist/lite-BTIaQdTe.mjs","../../../node_modules/@number-flow/react/dist/NumberFlow-client-48rw3j0J.mjs","../../../node_modules/@number-flow/react/dist/index.mjs"],"sourcesContent":["const f = (e, n) => e == null ? n : n == null ? e : Math.max(e, n), i = /* @__PURE__ */ new WeakMap(), l = {\n onUpdate(e, n, o) {\n if (i.set(o, void 0), !o.computedTrend)\n return;\n const s = n.integer.concat(n.fraction).filter((t) => t.type === \"integer\" || t.type === \"fraction\"), r = e.integer.concat(e.fraction).filter((t) => t.type === \"integer\" || t.type === \"fraction\"), u = s.find((t) => !r.find((c) => c.pos === t.pos && c.value === t.value)), a = r.find((t) => !s.find((c) => t.pos === c.pos && t.value === c.value));\n i.set(o, f(u == null ? void 0 : u.pos, a == null ? void 0 : a.pos));\n },\n getDelta(e, n, o) {\n const s = e - n, r = i.get(o.flow);\n if (!s && r != null && r >= o.pos)\n return o.length * o.flow.computedTrend;\n }\n};\nexport {\n l as continuous\n};\n","import { BROWSER as _ } from \"esm-env\";\nimport \"./plugins.mjs\";\nconst u = (n, t, e) => {\n const i = document.createElement(n), [s, a] = Array.isArray(t) ? [void 0, t] : [t, e];\n return s && Object.assign(i, s), a == null || a.forEach((r) => i.appendChild(r)), i;\n}, F = (n, t) => {\n var e;\n return t === \"left\" ? n.offsetLeft : (((e = n.offsetParent instanceof HTMLElement ? n.offsetParent : null) == null ? void 0 : e.offsetWidth) ?? 0) - n.offsetWidth - n.offsetLeft;\n}, H = (n) => n.offsetWidth > 0 && n.offsetHeight > 0, st = (n, t) => {\n _ && !customElements.get(n) && customElements.define(n, t);\n};\nfunction X(n, t, { reverse: e = !1 } = {}) {\n const i = n.length;\n for (let s = e ? i - 1 : 0; e ? s >= 0 : s < i; e ? s-- : s++)\n t(n[s], s);\n}\nfunction nt(n, t, e, i) {\n const s = t.formatToParts(n);\n e && s.unshift({ type: \"prefix\", value: e }), i && s.push({ type: \"suffix\", value: i });\n const a = [], r = [], o = [], c = [], d = {}, p = (h) => `${h}:${d[h] = (d[h] ?? -1) + 1}`;\n let x = \"\", g = !1, y = !1;\n for (const h of s) {\n x += h.value;\n const l = h.type === \"minusSign\" || h.type === \"plusSign\" ? \"sign\" : h.type;\n l === \"integer\" ? (g = !0, r.push(...h.value.split(\"\").map((C) => ({ type: l, value: parseInt(C) })))) : l === \"group\" ? r.push({ type: l, value: h.value }) : l === \"decimal\" ? (y = !0, o.push({ type: l, value: h.value, key: p(l) })) : l === \"fraction\" ? o.push(...h.value.split(\"\").map((C) => ({\n type: l,\n value: parseInt(C),\n key: p(l),\n pos: -1 - d[l]\n }))) : (g || y ? c : a).push({\n type: l,\n value: h.value,\n key: p(l)\n });\n }\n const T = [];\n for (let h = r.length - 1; h >= 0; h--) {\n const l = r[h];\n T.unshift(l.type === \"integer\" ? {\n ...l,\n key: p(l.type),\n pos: d[l.type]\n } : {\n ...l,\n key: p(l.type)\n });\n }\n return {\n pre: a,\n integer: T,\n fraction: o,\n post: c,\n valueAsString: x,\n value: typeof n == \"string\" ? parseFloat(n) : n\n };\n}\nconst I = String.raw, V = String.raw, O = _ && (() => {\n try {\n document.createElement(\"div\").animate({ opacity: 0 }, { easing: \"linear(0, 1)\" });\n } catch {\n return !1;\n }\n return !0;\n})(), z = _ && typeof CSS < \"u\" && CSS.supports && CSS.supports(\"line-height\", \"mod(1,1)\"), A = _ && typeof matchMedia < \"u\" ? matchMedia(\"(prefers-reduced-motion: reduce)\") : null, $ = \"--_number-flow-d-opacity\", U = \"--_number-flow-d-width\", S = \"--_number-flow-dx\", j = \"--_number-flow-d\", Y = (() => {\n try {\n return CSS.registerProperty({\n name: $,\n syntax: \"<number>\",\n inherits: !1,\n initialValue: \"0\"\n }), CSS.registerProperty({\n name: S,\n syntax: \"<length>\",\n inherits: !0,\n initialValue: \"0px\"\n }), CSS.registerProperty({\n name: U,\n syntax: \"<number>\",\n inherits: !1,\n initialValue: \"0\"\n }), CSS.registerProperty({\n name: j,\n syntax: \"<number>\",\n inherits: !0,\n initialValue: \"0\"\n }), !0;\n } catch {\n return !1;\n }\n})(), P = \"var(--number-flow-char-height, 1em)\", f = \"var(--number-flow-mask-height, 0.25em)\", k = `calc(${f} / 2)`, E = \"var(--number-flow-mask-width, 0.5em)\", m = `calc(${E} / var(--scale-x))`, w = \"#000 0, transparent 71%\", M = V`:host{display:inline-block;direction:ltr;white-space:nowrap;isolation:isolate;line-height:${P} !important}.number,.number__inner{display:inline-block;transform-origin:left top}:host([data-will-change]) :is(.number,.number__inner,.section,.digit,.digit__num,.symbol){will-change:transform}.number{--scale-x:calc(1 + var(${U}) / var(--width));transform:translateX(var(${S})) scaleX(var(--scale-x));margin:0 calc(-1 * ${E});position:relative;-webkit-mask-image:linear-gradient(to right,transparent 0,#000 ${m},#000 calc(100% - ${m}),transparent ),linear-gradient(to bottom,transparent 0,#000 ${f},#000 calc(100% - ${f}),transparent 100% ),radial-gradient(at bottom right,${w}),radial-gradient(at bottom left,${w}),radial-gradient(at top left,${w}),radial-gradient(at top right,${w});-webkit-mask-size:100% calc(100% - ${f} * 2),calc(100% - ${m} * 2) 100%,${m} ${f},${m} ${f},${m} ${f},${m} ${f};-webkit-mask-position:center,center,top left,top right,bottom right,bottom left;-webkit-mask-repeat:no-repeat}.number__inner{padding:${k} ${E};transform:scaleX(calc(1 / var(--scale-x))) translateX(calc(-1 * var(${S})))}:host > :not(.number){z-index:5}.section,.symbol{display:inline-block;position:relative;isolation:isolate}.section::after{content:'\\200b';display:inline-block}.section--justify-left{transform-origin:center left}.section--justify-right{transform-origin:center right}.section > [inert],.symbol > [inert]{margin:0 !important;position:absolute !important;z-index:-1}.digit{display:inline-block;position:relative;--c:var(--current) + var(${j})}.digit__num,.number .section::after{padding:${k} 0}.digit__num{display:inline-block;--offset-raw:mod(var(--length) + var(--n) - mod(var(--c),var(--length)),var(--length));--offset:calc( var(--offset-raw) - var(--length) * round(down,var(--offset-raw) / (var(--length) / 2),1) );--y:clamp(-100%,var(--offset) * 100%,100%);transform:translateY(var(--y))}.digit__num[inert]{position:absolute;top:0;left:50%;transform:translateX(-50%) translateY(var(--y))}.digit:not(.is-spinning) .digit__num[inert]{display:none}.symbol__value{display:inline-block;mix-blend-mode:plus-lighter;white-space:pre}.section--justify-left .symbol > [inert]{left:0}.section--justify-right .symbol > [inert]{right:0}.animate-presence{opacity:calc(1 + var(${$}))}`, G = _ ? HTMLElement : class {\n}, K = V`:host{display:inline-block;direction:ltr;white-space:nowrap;line-height:${P} !important}span{display:inline-block}:host([data-will-change]) span{will-change:transform}.number,.digit{padding:${k} 0}.symbol{white-space:pre}`, Z = (n) => `<span class=\"${n.type === \"integer\" || n.type === \"fraction\" ? \"digit\" : \"symbol\"}\" part=\"${n.type === \"integer\" || n.type === \"fraction\" ? `digit ${n.type}-digit` : `symbol ${n.type}`}\">${n.value}</span>`, v = (n, t) => `<span part=\"${t}\">${n.reduce((e, i) => e + Z(i), \"\")}</span>`, at = (n) => (\n // shadowroot=\"open\" non-standard attribute for old Chrome:\n I`<template shadowroot=\"open\" shadowrootmode=\"open\"\n\t\t\t><style>\n\t\t\t\t${K}</style\n\t\t\t><span role=\"img\" aria-label=\"${n.valueAsString}\"\n\t\t\t\t>${v(n.pre, \"left\")}<span part=\"number\" class=\"number\"\n\t\t\t\t\t>${v(n.integer, \"integer\")}${v(n.fraction, \"fraction\")}</span\n\t\t\t\t>${v(n.post, \"right\")}</span\n\t\t\t></template\n\t\t><span\n\t\t\tstyle=\"font-kerning: none; display: inline-block; line-height: ${P} !important; padding: ${f} 0;\"\n\t\t\t>${n.valueAsString}</span\n\t\t>`\n), q = z && O && Y;\nlet b;\nclass J extends G {\n constructor() {\n super(), this.created = !1, this.batched = !1;\n const { animated: t, ...e } = this.constructor.defaultProps;\n this._animated = this.computedAnimated = t, Object.assign(this, e);\n }\n get animated() {\n return this._animated;\n }\n set animated(t) {\n var e;\n this.animated !== t && (this._animated = t, (e = this.shadowRoot) == null || e.getAnimations().forEach((i) => i.finish()));\n }\n /**\n * @internal\n */\n set data(t) {\n var o;\n if (t == null)\n return;\n const { pre: e, integer: i, fraction: s, post: a, value: r } = t;\n if (this.created) {\n const c = this._data;\n this._data = t, this.computedTrend = typeof this.trend == \"function\" ? this.trend(c.value, r) : this.trend, this.computedAnimated = q && this._animated && (!this.respectMotionPreference || !(A != null && A.matches)) && // https://github.com/barvian/number-flow/issues/9\n H(this), (o = this.plugins) == null || o.forEach((d) => {\n var p;\n return (p = d.onUpdate) == null ? void 0 : p.call(d, t, c, this);\n }), this.batched || this.willUpdate(), this._pre.update(e), this._num.update({ integer: i, fraction: s }), this._post.update(a), this.batched || this.didUpdate();\n } else {\n this._data = t, this.attachShadow({ mode: \"open\" });\n try {\n this._internals ?? (this._internals = this.attachInternals()), this._internals.role = \"img\";\n } catch {\n }\n if (typeof CSSStyleSheet < \"u\" && this.shadowRoot.adoptedStyleSheets)\n b || (b = new CSSStyleSheet(), b.replaceSync(M)), this.shadowRoot.adoptedStyleSheets = [b];\n else {\n const c = document.createElement(\"style\");\n c.textContent = M, this.shadowRoot.appendChild(c);\n }\n this._pre = new N(this, e, {\n justify: \"right\",\n part: \"left\"\n }), this.shadowRoot.appendChild(this._pre.el), this._num = new Q(this, i, s), this.shadowRoot.appendChild(this._num.el), this._post = new N(this, a, {\n justify: \"left\",\n part: \"right\"\n }), this.shadowRoot.appendChild(this._post.el), this.created = !0;\n }\n try {\n this._internals.ariaLabel = t.valueAsString;\n } catch {\n }\n }\n /**\n * @internal\n */\n willUpdate() {\n this._pre.willUpdate(), this._num.willUpdate(), this._post.willUpdate();\n }\n /**\n * @internal\n */\n didUpdate() {\n if (!this.computedAnimated)\n return;\n this._abortAnimationsFinish ? this._abortAnimationsFinish.abort() : this.dispatchEvent(new Event(\"animationsstart\")), this._pre.didUpdate(), this._num.didUpdate(), this._post.didUpdate();\n const t = new AbortController();\n Promise.all(this.shadowRoot.getAnimations().map((e) => e.finished)).then(() => {\n t.signal.aborted || (this.dispatchEvent(new Event(\"animationsfinish\")), this._abortAnimationsFinish = void 0);\n }), this._abortAnimationsFinish = t;\n }\n}\nJ.defaultProps = {\n transformTiming: {\n duration: 900,\n // Make sure to keep this minified:\n easing: \"linear(0,.005,.019,.039,.066,.096,.129,.165,.202,.24,.278,.316,.354,.39,.426,.461,.494,.526,.557,.586,.614,.64,.665,.689,.711,.731,.751,.769,.786,.802,.817,.831,.844,.856,.867,.877,.887,.896,.904,.912,.919,.925,.931,.937,.942,.947,.951,.955,.959,.962,.965,.968,.971,.973,.976,.978,.98,.981,.983,.984,.986,.987,.988,.989,.99,.991,.992,.992,.993,.994,.994,.995,.995,.996,.996,.9963,.9967,.9969,.9972,.9975,.9977,.9979,.9981,.9982,.9984,.9985,.9987,.9988,.9989,1)\"\n },\n spinTiming: void 0,\n opacityTiming: { duration: 450, easing: \"ease-out\" },\n animated: !0,\n trend: (n, t) => Math.sign(t - n),\n respectMotionPreference: !0,\n plugins: void 0,\n digits: void 0\n};\nclass Q {\n constructor(t, e, i, { className: s, ...a } = {}) {\n this.flow = t, this._integer = new L(t, e, {\n justify: \"right\",\n part: \"integer\"\n }), this._fraction = new L(t, i, {\n justify: \"left\",\n part: \"fraction\"\n }), this._inner = u(\"span\", {\n className: \"number__inner\"\n }, [this._integer.el, this._fraction.el]), this.el = u(\"span\", {\n ...a,\n part: \"number\",\n className: `number ${s ?? \"\"}`\n }, [this._inner]);\n }\n willUpdate() {\n this._prevWidth = this.el.offsetWidth, this._prevLeft = this.el.getBoundingClientRect().left, this._integer.willUpdate(), this._fraction.willUpdate();\n }\n update({ integer: t, fraction: e }) {\n this._integer.update(t), this._fraction.update(e);\n }\n didUpdate() {\n const t = this.el.getBoundingClientRect();\n this._integer.didUpdate(), this._fraction.didUpdate();\n const e = this._prevLeft - t.left, i = this.el.offsetWidth, s = this._prevWidth - i;\n this.el.style.setProperty(\"--width\", String(i)), this.el.animate({\n [S]: [`${e}px`, \"0px\"],\n [U]: [s, 0]\n }, {\n ...this.flow.transformTiming,\n composite: \"accumulate\"\n });\n }\n}\nclass W {\n constructor(t, e, { justify: i, className: s, ...a }, r) {\n this.flow = t, this.children = /* @__PURE__ */ new Map(), this.onCharRemove = (c) => () => {\n this.children.delete(c);\n }, this.justify = i;\n const o = e.map((c) => this.addChar(c).el);\n this.el = u(\"span\", {\n ...a,\n className: `section section--justify-${i} ${s ?? \"\"}`\n }, r ? r(o) : o);\n }\n addChar(t, { startDigitsAtZero: e = !1, ...i } = {}) {\n const s = t.type === \"integer\" || t.type === \"fraction\" ? new D(this, t.type, e ? 0 : t.value, t.pos, {\n ...i,\n onRemove: this.onCharRemove(t.key)\n }) : new tt(this, t.type, t.value, {\n ...i,\n onRemove: this.onCharRemove(t.key)\n });\n return this.children.set(t.key, s), s;\n }\n unpop(t) {\n t.el.removeAttribute(\"inert\"), t.el.style.top = \"\", t.el.style[this.justify] = \"\";\n }\n pop(t) {\n t.forEach((e) => {\n e.el.style.top = `${e.el.offsetTop}px`, e.el.style[this.justify] = `${F(e.el, this.justify)}px`;\n }), t.forEach((e) => {\n e.el.setAttribute(\"inert\", \"\"), e.present = !1;\n });\n }\n addNewAndUpdateExisting(t) {\n const e = /* @__PURE__ */ new Map(), i = /* @__PURE__ */ new Map(), s = this.justify === \"left\", a = s ? \"prepend\" : \"append\";\n if (X(t, (r) => {\n let o;\n this.children.has(r.key) ? (o = this.children.get(r.key), i.set(r, o), this.unpop(o), o.present = !0) : (o = this.addChar(r, { startDigitsAtZero: !0, animateIn: !0 }), e.set(r, o)), this.el[a](o.el);\n }, { reverse: s }), this.flow.computedAnimated) {\n const r = this.el.getBoundingClientRect();\n e.forEach((o) => {\n o.willUpdate(r);\n });\n }\n e.forEach((r, o) => {\n r.update(o.value);\n }), i.forEach((r, o) => {\n r.update(o.value);\n });\n }\n willUpdate() {\n const t = this.el.getBoundingClientRect();\n this._prevOffset = t[this.justify], this.children.forEach((e) => e.willUpdate(t));\n }\n didUpdate() {\n const t = this.el.getBoundingClientRect();\n this.children.forEach((s) => s.didUpdate(t));\n const e = t[this.justify], i = this._prevOffset - e;\n i && this.children.size && this.el.animate({\n transform: [`translateX(${i}px)`, \"none\"]\n }, {\n ...this.flow.transformTiming,\n composite: \"accumulate\"\n });\n }\n}\nclass L extends W {\n update(t) {\n const e = /* @__PURE__ */ new Map();\n this.children.forEach((i, s) => {\n t.find((a) => a.key === s) || e.set(s, i), this.unpop(i);\n }), this.addNewAndUpdateExisting(t), e.forEach((i) => {\n i instanceof D && i.update(0);\n }), this.pop(e);\n }\n}\nclass N extends W {\n update(t) {\n const e = /* @__PURE__ */ new Map();\n this.children.forEach((i, s) => {\n t.find((a) => a.key === s) || e.set(s, i);\n }), this.pop(e), this.addNewAndUpdateExisting(t);\n }\n}\nclass R {\n constructor(t, e, { onRemove: i, animateIn: s = !1 } = {}) {\n this.flow = t, this.el = e, this._present = !0, this._remove = () => {\n var a;\n this.el.remove(), (a = this._onRemove) == null || a.call(this);\n }, this.el.classList.add(\"animate-presence\"), this.flow.computedAnimated && s && this.el.animate({\n [$]: [-0.9999, 0]\n }, {\n ...this.flow.opacityTiming,\n composite: \"accumulate\"\n }), this._onRemove = i;\n }\n get present() {\n return this._present;\n }\n set present(t) {\n if (this._present !== t) {\n if (this._present = t, t ? this.el.removeAttribute(\"inert\") : this.el.setAttribute(\"inert\", \"\"), !this.flow.computedAnimated) {\n t || this._remove();\n return;\n }\n this.el.style.setProperty(\"--_number-flow-d-opacity\", t ? \"0\" : \"-.999\"), this.el.animate({\n [$]: t ? [-0.9999, 0] : [0.999, 0]\n }, {\n ...this.flow.opacityTiming,\n composite: \"accumulate\"\n }), t ? this.flow.removeEventListener(\"animationsfinish\", this._remove) : this.flow.addEventListener(\"animationsfinish\", this._remove, {\n once: !0\n });\n }\n }\n}\nclass B extends R {\n constructor(t, e, i, s) {\n super(t.flow, i, s), this.section = t, this.value = e, this.el = i;\n }\n}\nclass D extends B {\n constructor(t, e, i, s, a) {\n var d, p;\n const r = (((p = (d = t.flow.digits) == null ? void 0 : d[s]) == null ? void 0 : p.max) ?? 9) + 1, o = Array.from({ length: r }).map((x, g) => {\n const y = u(\"span\", { className: \"digit__num\" }, [\n document.createTextNode(String(g))\n ]);\n return g !== i && y.setAttribute(\"inert\", \"\"), y.style.setProperty(\"--n\", String(g)), y;\n }), c = u(\"span\", {\n part: `digit ${e}-digit`,\n className: \"digit\"\n }, o);\n c.style.setProperty(\"--current\", String(i)), c.style.setProperty(\"--length\", String(r)), super(t, i, c, a), this.pos = s, this._onAnimationsFinish = () => {\n this.el.classList.remove(\"is-spinning\");\n }, this._numbers = o, this.length = r;\n }\n willUpdate(t) {\n const e = this.el.getBoundingClientRect();\n this._prevValue = this.value;\n const i = e[this.section.justify] - t[this.section.justify], s = e.width / 2;\n this._prevCenter = this.section.justify === \"left\" ? i + s : i - s;\n }\n update(t) {\n this.el.style.setProperty(\"--current\", String(t)), this._numbers.forEach((e, i) => i === t ? e.removeAttribute(\"inert\") : e.setAttribute(\"inert\", \"\")), this.value = t;\n }\n didUpdate(t) {\n const e = this.el.getBoundingClientRect(), i = e[this.section.justify] - t[this.section.justify], s = e.width / 2, a = this.section.justify === \"left\" ? i + s : i - s, r = this._prevCenter - a;\n r && this.el.animate({\n transform: [`translateX(${r}px)`, \"none\"]\n }, {\n ...this.flow.transformTiming,\n composite: \"accumulate\"\n });\n const o = this.getDelta();\n o && (this.el.classList.add(\"is-spinning\"), this.el.animate({\n [j]: [-o, 0]\n }, {\n ...this.flow.spinTiming ?? this.flow.transformTiming,\n composite: \"accumulate\"\n }), this.flow.addEventListener(\"animationsfinish\", this._onAnimationsFinish, { once: !0 }));\n }\n getDelta() {\n var i;\n if (this.flow.plugins)\n for (const s of this.flow.plugins) {\n const a = (i = s.getDelta) == null ? void 0 : i.call(s, this.value, this._prevValue, this);\n if (a != null)\n return a;\n }\n const t = this.value - this._prevValue, e = this.flow.computedTrend || Math.sign(t);\n return e < 0 && this.value > this._prevValue ? this.value - this.length - this._prevValue : e > 0 && this.value < this._prevValue ? this.length - this._prevValue + this.value : t;\n }\n}\nclass tt extends B {\n constructor(t, e, i, s) {\n const a = u(\"span\", {\n className: \"symbol__value\",\n textContent: i\n });\n super(t, i, u(\"span\", {\n part: `symbol ${e}`,\n className: \"symbol\"\n }, [a]), s), this.type = e, this._children = /* @__PURE__ */ new Map(), this._onChildRemove = (r) => () => {\n this._children.delete(r);\n }, this._children.set(i, new R(this.flow, a, {\n onRemove: this._onChildRemove(i)\n }));\n }\n willUpdate(t) {\n if (this.type === \"decimal\")\n return;\n const e = this.el.getBoundingClientRect();\n this._prevOffset = e[this.section.justify] - t[this.section.justify];\n }\n update(t) {\n if (this.value !== t) {\n const e = this._children.get(this.value);\n e && (e.present = !1);\n const i = this._children.get(t);\n if (i)\n i.present = !0;\n else {\n const s = u(\"span\", {\n className: \"symbol__value\",\n textContent: t\n });\n this.el.appendChild(s), this._children.set(t, new R(this.flow, s, {\n animateIn: !0,\n onRemove: this._onChildRemove(t)\n }));\n }\n }\n this.value = t;\n }\n didUpdate(t) {\n if (this.type === \"decimal\")\n return;\n const i = this.el.getBoundingClientRect()[this.section.justify] - t[this.section.justify], s = this._prevOffset - i;\n s && this.el.animate({\n transform: [`translateX(${s}px)`, \"none\"]\n }, { ...this.flow.transformTiming, composite: \"accumulate\" });\n }\n}\nexport {\n D,\n J as N,\n G as S,\n q as c,\n st as d,\n nt as f,\n A as p,\n at as r\n};\n","'use client';\nimport * as React from 'react';\nimport NumberFlowLite, { define, formatToData, renderInnerHTML } from 'number-flow/lite';\nimport { BROWSER } from 'esm-env';\n\nconst REACT_MAJOR = parseInt(React.version.match(/^(\\d+)\\./)?.[1]);\nconst isReact19 = REACT_MAJOR >= 19;\n// Can't wait to not have to do this in React 19:\nconst OBSERVED_ATTRIBUTES = [\n 'data',\n 'digits'\n];\nclass NumberFlowElement extends NumberFlowLite {\n attributeChangedCallback(attr, _oldValue, newValue) {\n this[attr] = JSON.parse(newValue);\n }\n}\nNumberFlowElement.observedAttributes = isReact19 ? [] : OBSERVED_ATTRIBUTES;\ndefine('number-flow-react', NumberFlowElement);\n// You're supposed to cache these between uses:\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toLocaleString\n// Serialize to strings b/c React:\nconst formatters = {};\n// Tiny workaround to support React 19 until it's released:\nconst serialize = isReact19 ? (p)=>p : JSON.stringify;\nfunction splitProps(props) {\n const { transformTiming, spinTiming, opacityTiming, animated, respectMotionPreference, trend, plugins, ...rest } = props;\n return [\n {\n transformTiming,\n spinTiming,\n opacityTiming,\n animated,\n respectMotionPreference,\n trend,\n plugins\n },\n rest\n ];\n}\n// We need a class component to use getSnapshotBeforeUpdate:\nclass NumberFlowImpl extends React.Component {\n // Update the non-`data` props to avoid JSON serialization\n // Data needs to be set in render still:\n updateProperties(prevProps) {\n if (!this.el) return;\n this.el.batched = !this.props.isolate;\n const [nonData] = splitProps(this.props);\n Object.entries(nonData).forEach(([k, v])=>{\n // @ts-ignore\n this.el[k] = v ?? NumberFlowElement.defaultProps[k];\n });\n if (prevProps?.onAnimationsStart) this.el.removeEventListener('animationsstart', prevProps.onAnimationsStart);\n if (this.props.onAnimationsStart) this.el.addEventListener('animationsstart', this.props.onAnimationsStart);\n if (prevProps?.onAnimationsFinish) this.el.removeEventListener('animationsfinish', prevProps.onAnimationsFinish);\n if (this.props.onAnimationsFinish) this.el.addEventListener('animationsfinish', this.props.onAnimationsFinish);\n }\n componentDidMount() {\n this.updateProperties();\n if (isReact19 && this.el) {\n // React 19 needs this because the attributeChangedCallback isn't called:\n this.el.digits = this.props.digits;\n this.el.data = this.props.data;\n }\n }\n getSnapshotBeforeUpdate(prevProps) {\n this.updateProperties(prevProps);\n if (prevProps.data !== this.props.data) {\n if (this.props.group) {\n this.props.group.willUpdate();\n return ()=>this.props.group?.didUpdate();\n }\n if (!this.props.isolate) {\n this.el?.willUpdate();\n return ()=>this.el?.didUpdate();\n }\n }\n return null;\n }\n componentDidUpdate(_, __, didUpdate) {\n didUpdate?.();\n }\n handleRef(el) {\n if (this.props.innerRef) this.props.innerRef.current = el;\n this.el = el;\n }\n render() {\n const [_, { innerRef, className, data, willChange, isolate, group, digits, onAnimationsStart, onAnimationsFinish, ...rest }] = splitProps(this.props);\n return(// @ts-expect-error missing types\n /*#__PURE__*/ React.createElement(\"number-flow-react\", {\n ref: this.handleRef,\n \"data-will-change\": willChange ? '' : undefined,\n // Have to rename this:\n class: className,\n ...rest,\n dangerouslySetInnerHTML: {\n __html: BROWSER ? '' : renderInnerHTML(data)\n },\n suppressHydrationWarning: true,\n digits: serialize(digits),\n // Make sure data is set last, everything else is updated:\n data: serialize(data)\n }));\n }\n constructor(props){\n super(props);\n this.handleRef = this.handleRef.bind(this);\n }\n}\nconst NumberFlow = /*#__PURE__*/ React.forwardRef(function NumberFlow({ value, locales, format, prefix, suffix, ...props }, _ref) {\n React.useImperativeHandle(_ref, ()=>ref.current, []);\n const ref = React.useRef();\n const group = React.useContext(NumberFlowGroupContext);\n group?.useRegister(ref);\n const localesString = React.useMemo(()=>locales ? JSON.stringify(locales) : '', [\n locales\n ]);\n const formatString = React.useMemo(()=>format ? JSON.stringify(format) : '', [\n format\n ]);\n const data = React.useMemo(()=>{\n const formatter = formatters[`${localesString}:${formatString}`] ??= new Intl.NumberFormat(locales, format);\n return formatToData(value, formatter, prefix, suffix);\n }, [\n value,\n localesString,\n formatString,\n prefix,\n suffix\n ]);\n return /*#__PURE__*/ React.createElement(NumberFlowImpl, {\n ...props,\n group: group,\n data: data,\n innerRef: ref\n });\n});\nconst NumberFlowGroupContext = /*#__PURE__*/ React.createContext(undefined);\nfunction NumberFlowGroup({ children }) {\n const flows = React.useRef(new Set());\n const updating = React.useRef(false);\n const pending = React.useRef(new WeakMap());\n const value = React.useMemo(()=>({\n useRegister (ref) {\n React.useEffect(()=>{\n flows.current.add(ref);\n return ()=>{\n flows.current.delete(ref);\n };\n }, []);\n },\n willUpdate () {\n if (updating.current) return;\n updating.current = true;\n flows.current.forEach((ref)=>{\n const f = ref.current;\n if (!f || !f.created) return;\n f.willUpdate();\n pending.current.set(f, true);\n });\n },\n didUpdate () {\n flows.current.forEach((ref)=>{\n const f = ref.current;\n if (!f || !pending.current.get(f)) return;\n f.didUpdate();\n pending.current.delete(f);\n });\n updating.current = false;\n }\n }), []);\n return /*#__PURE__*/ React.createElement(NumberFlowGroupContext.Provider, {\n value: value\n }, children);\n}\n\nexport { NumberFlow as N, NumberFlowElement as a, NumberFlowGroup as b };\n","import * as React from 'react';\nimport { canAnimate, prefersReducedMotion } from 'number-flow/lite';\nexport * from 'number-flow/plugins';\nexport { a as NumberFlowElement, b as NumberFlowGroup, N as default } from './NumberFlow-client-48rw3j0J.mjs';\n\nconst useIsSupported = ()=>React.useSyncExternalStore(()=>()=>{}, ()=>canAnimate, ()=>false);\nconst usePrefersReducedMotion = ()=>React.useSyncExternalStore((cb)=>{\n prefersReducedMotion?.addEventListener('change', cb);\n return ()=>prefersReducedMotion?.removeEventListener('change', cb);\n }, ()=>prefersReducedMotion.matches, ()=>false);\nfunction useCanAnimate({ respectMotionPreference = true } = {}) {\n const isSupported = useIsSupported();\n const reducedMotion = usePrefersReducedMotion();\n return isSupported && (!respectMotionPreference || !reducedMotion);\n}\n\nexport { useCanAnimate, useIsSupported, usePrefersReducedMotion };\n"],"names":["f","e","n","i","l","o","s","t","r","u","c","a","F","H","st","X","nt","p","h","x","g","y","C","T","V","O","z","A","$","U","S","j","Y","P","k","E","m","w","M","G","q","b","J","N","Q","L","W","D","tt","R","B","d","REACT_MAJOR","React.version","isReact19","OBSERVED_ATTRIBUTES","NumberFlowElement","NumberFlowLite","attr","_oldValue","newValue","define","formatters","serialize","splitProps","props","transformTiming","spinTiming","opacityTiming","animated","respectMotionPreference","trend","plugins","rest","NumberFlowImpl","React.Component","prevProps","nonData","v","_a","_","__","didUpdate","el","innerRef","className","data","willChange","isolate","group","digits","onAnimationsStart","onAnimationsFinish","React.createElement","NumberFlow","React.forwardRef","value","locales","format","prefix","suffix","_ref","React.useImperativeHandle","ref","React.useRef","React.useContext","NumberFlowGroupContext","localesString","React.useMemo","formatString","formatter","formatToData","React.createContext","NumberFlowGroup","children","flows","updating","pending","React.useEffect","useIsSupported","React.useSyncExternalStore","canAnimate","usePrefersReducedMotion","cb","prefersReducedMotion","useCanAnimate","isSupported","reducedMotion"],"mappings":"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","x_google_ignoreList":[0,1,2,3]}
1
+ {"version":3,"file":"index-jhjmoHwu.mjs","sources":["../../../node_modules/number-flow/dist/plugins.mjs","../../../node_modules/number-flow/dist/lite-BTIaQdTe.mjs","../../../node_modules/@number-flow/react/dist/NumberFlow-client-48rw3j0J.mjs","../../../node_modules/@number-flow/react/dist/index.mjs"],"sourcesContent":["const f = (e, n) => e == null ? n : n == null ? e : Math.max(e, n), i = /* @__PURE__ */ new WeakMap(), l = {\n onUpdate(e, n, o) {\n if (i.set(o, void 0), !o.computedTrend)\n return;\n const s = n.integer.concat(n.fraction).filter((t) => t.type === \"integer\" || t.type === \"fraction\"), r = e.integer.concat(e.fraction).filter((t) => t.type === \"integer\" || t.type === \"fraction\"), u = s.find((t) => !r.find((c) => c.pos === t.pos && c.value === t.value)), a = r.find((t) => !s.find((c) => t.pos === c.pos && t.value === c.value));\n i.set(o, f(u == null ? void 0 : u.pos, a == null ? void 0 : a.pos));\n },\n getDelta(e, n, o) {\n const s = e - n, r = i.get(o.flow);\n if (!s && r != null && r >= o.pos)\n return o.length * o.flow.computedTrend;\n }\n};\nexport {\n l as continuous\n};\n","import { BROWSER as _ } from \"esm-env\";\nimport \"./plugins.mjs\";\nconst u = (n, t, e) => {\n const i = document.createElement(n), [s, a] = Array.isArray(t) ? [void 0, t] : [t, e];\n return s && Object.assign(i, s), a == null || a.forEach((r) => i.appendChild(r)), i;\n}, F = (n, t) => {\n var e;\n return t === \"left\" ? n.offsetLeft : (((e = n.offsetParent instanceof HTMLElement ? n.offsetParent : null) == null ? void 0 : e.offsetWidth) ?? 0) - n.offsetWidth - n.offsetLeft;\n}, H = (n) => n.offsetWidth > 0 && n.offsetHeight > 0, st = (n, t) => {\n _ && !customElements.get(n) && customElements.define(n, t);\n};\nfunction X(n, t, { reverse: e = !1 } = {}) {\n const i = n.length;\n for (let s = e ? i - 1 : 0; e ? s >= 0 : s < i; e ? s-- : s++)\n t(n[s], s);\n}\nfunction nt(n, t, e, i) {\n const s = t.formatToParts(n);\n e && s.unshift({ type: \"prefix\", value: e }), i && s.push({ type: \"suffix\", value: i });\n const a = [], r = [], o = [], c = [], d = {}, p = (h) => `${h}:${d[h] = (d[h] ?? -1) + 1}`;\n let x = \"\", g = !1, y = !1;\n for (const h of s) {\n x += h.value;\n const l = h.type === \"minusSign\" || h.type === \"plusSign\" ? \"sign\" : h.type;\n l === \"integer\" ? (g = !0, r.push(...h.value.split(\"\").map((C) => ({ type: l, value: parseInt(C) })))) : l === \"group\" ? r.push({ type: l, value: h.value }) : l === \"decimal\" ? (y = !0, o.push({ type: l, value: h.value, key: p(l) })) : l === \"fraction\" ? o.push(...h.value.split(\"\").map((C) => ({\n type: l,\n value: parseInt(C),\n key: p(l),\n pos: -1 - d[l]\n }))) : (g || y ? c : a).push({\n type: l,\n value: h.value,\n key: p(l)\n });\n }\n const T = [];\n for (let h = r.length - 1; h >= 0; h--) {\n const l = r[h];\n T.unshift(l.type === \"integer\" ? {\n ...l,\n key: p(l.type),\n pos: d[l.type]\n } : {\n ...l,\n key: p(l.type)\n });\n }\n return {\n pre: a,\n integer: T,\n fraction: o,\n post: c,\n valueAsString: x,\n value: typeof n == \"string\" ? parseFloat(n) : n\n };\n}\nconst I = String.raw, V = String.raw, O = _ && (() => {\n try {\n document.createElement(\"div\").animate({ opacity: 0 }, { easing: \"linear(0, 1)\" });\n } catch {\n return !1;\n }\n return !0;\n})(), z = _ && typeof CSS < \"u\" && CSS.supports && CSS.supports(\"line-height\", \"mod(1,1)\"), A = _ && typeof matchMedia < \"u\" ? matchMedia(\"(prefers-reduced-motion: reduce)\") : null, $ = \"--_number-flow-d-opacity\", U = \"--_number-flow-d-width\", S = \"--_number-flow-dx\", j = \"--_number-flow-d\", Y = (() => {\n try {\n return CSS.registerProperty({\n name: $,\n syntax: \"<number>\",\n inherits: !1,\n initialValue: \"0\"\n }), CSS.registerProperty({\n name: S,\n syntax: \"<length>\",\n inherits: !0,\n initialValue: \"0px\"\n }), CSS.registerProperty({\n name: U,\n syntax: \"<number>\",\n inherits: !1,\n initialValue: \"0\"\n }), CSS.registerProperty({\n name: j,\n syntax: \"<number>\",\n inherits: !0,\n initialValue: \"0\"\n }), !0;\n } catch {\n return !1;\n }\n})(), P = \"var(--number-flow-char-height, 1em)\", f = \"var(--number-flow-mask-height, 0.25em)\", k = `calc(${f} / 2)`, E = \"var(--number-flow-mask-width, 0.5em)\", m = `calc(${E} / var(--scale-x))`, w = \"#000 0, transparent 71%\", M = V`:host{display:inline-block;direction:ltr;white-space:nowrap;isolation:isolate;line-height:${P} !important}.number,.number__inner{display:inline-block;transform-origin:left top}:host([data-will-change]) :is(.number,.number__inner,.section,.digit,.digit__num,.symbol){will-change:transform}.number{--scale-x:calc(1 + var(${U}) / var(--width));transform:translateX(var(${S})) scaleX(var(--scale-x));margin:0 calc(-1 * ${E});position:relative;-webkit-mask-image:linear-gradient(to right,transparent 0,#000 ${m},#000 calc(100% - ${m}),transparent ),linear-gradient(to bottom,transparent 0,#000 ${f},#000 calc(100% - ${f}),transparent 100% ),radial-gradient(at bottom right,${w}),radial-gradient(at bottom left,${w}),radial-gradient(at top left,${w}),radial-gradient(at top right,${w});-webkit-mask-size:100% calc(100% - ${f} * 2),calc(100% - ${m} * 2) 100%,${m} ${f},${m} ${f},${m} ${f},${m} ${f};-webkit-mask-position:center,center,top left,top right,bottom right,bottom left;-webkit-mask-repeat:no-repeat}.number__inner{padding:${k} ${E};transform:scaleX(calc(1 / var(--scale-x))) translateX(calc(-1 * var(${S})))}:host > :not(.number){z-index:5}.section,.symbol{display:inline-block;position:relative;isolation:isolate}.section::after{content:'\\200b';display:inline-block}.section--justify-left{transform-origin:center left}.section--justify-right{transform-origin:center right}.section > [inert],.symbol > [inert]{margin:0 !important;position:absolute !important;z-index:-1}.digit{display:inline-block;position:relative;--c:var(--current) + var(${j})}.digit__num,.number .section::after{padding:${k} 0}.digit__num{display:inline-block;--offset-raw:mod(var(--length) + var(--n) - mod(var(--c),var(--length)),var(--length));--offset:calc( var(--offset-raw) - var(--length) * round(down,var(--offset-raw) / (var(--length) / 2),1) );--y:clamp(-100%,var(--offset) * 100%,100%);transform:translateY(var(--y))}.digit__num[inert]{position:absolute;top:0;left:50%;transform:translateX(-50%) translateY(var(--y))}.digit:not(.is-spinning) .digit__num[inert]{display:none}.symbol__value{display:inline-block;mix-blend-mode:plus-lighter;white-space:pre}.section--justify-left .symbol > [inert]{left:0}.section--justify-right .symbol > [inert]{right:0}.animate-presence{opacity:calc(1 + var(${$}))}`, G = _ ? HTMLElement : class {\n}, K = V`:host{display:inline-block;direction:ltr;white-space:nowrap;line-height:${P} !important}span{display:inline-block}:host([data-will-change]) span{will-change:transform}.number,.digit{padding:${k} 0}.symbol{white-space:pre}`, Z = (n) => `<span class=\"${n.type === \"integer\" || n.type === \"fraction\" ? \"digit\" : \"symbol\"}\" part=\"${n.type === \"integer\" || n.type === \"fraction\" ? `digit ${n.type}-digit` : `symbol ${n.type}`}\">${n.value}</span>`, v = (n, t) => `<span part=\"${t}\">${n.reduce((e, i) => e + Z(i), \"\")}</span>`, at = (n) => (\n // shadowroot=\"open\" non-standard attribute for old Chrome:\n I`<template shadowroot=\"open\" shadowrootmode=\"open\"\n\t\t\t><style>\n\t\t\t\t${K}</style\n\t\t\t><span role=\"img\" aria-label=\"${n.valueAsString}\"\n\t\t\t\t>${v(n.pre, \"left\")}<span part=\"number\" class=\"number\"\n\t\t\t\t\t>${v(n.integer, \"integer\")}${v(n.fraction, \"fraction\")}</span\n\t\t\t\t>${v(n.post, \"right\")}</span\n\t\t\t></template\n\t\t><span\n\t\t\tstyle=\"font-kerning: none; display: inline-block; line-height: ${P} !important; padding: ${f} 0;\"\n\t\t\t>${n.valueAsString}</span\n\t\t>`\n), q = z && O && Y;\nlet b;\nclass J extends G {\n constructor() {\n super(), this.created = !1, this.batched = !1;\n const { animated: t, ...e } = this.constructor.defaultProps;\n this._animated = this.computedAnimated = t, Object.assign(this, e);\n }\n get animated() {\n return this._animated;\n }\n set animated(t) {\n var e;\n this.animated !== t && (this._animated = t, (e = this.shadowRoot) == null || e.getAnimations().forEach((i) => i.finish()));\n }\n /**\n * @internal\n */\n set data(t) {\n var o;\n if (t == null)\n return;\n const { pre: e, integer: i, fraction: s, post: a, value: r } = t;\n if (this.created) {\n const c = this._data;\n this._data = t, this.computedTrend = typeof this.trend == \"function\" ? this.trend(c.value, r) : this.trend, this.computedAnimated = q && this._animated && (!this.respectMotionPreference || !(A != null && A.matches)) && // https://github.com/barvian/number-flow/issues/9\n H(this), (o = this.plugins) == null || o.forEach((d) => {\n var p;\n return (p = d.onUpdate) == null ? void 0 : p.call(d, t, c, this);\n }), this.batched || this.willUpdate(), this._pre.update(e), this._num.update({ integer: i, fraction: s }), this._post.update(a), this.batched || this.didUpdate();\n } else {\n this._data = t, this.attachShadow({ mode: \"open\" });\n try {\n this._internals ?? (this._internals = this.attachInternals()), this._internals.role = \"img\";\n } catch {\n }\n if (typeof CSSStyleSheet < \"u\" && this.shadowRoot.adoptedStyleSheets)\n b || (b = new CSSStyleSheet(), b.replaceSync(M)), this.shadowRoot.adoptedStyleSheets = [b];\n else {\n const c = document.createElement(\"style\");\n c.textContent = M, this.shadowRoot.appendChild(c);\n }\n this._pre = new N(this, e, {\n justify: \"right\",\n part: \"left\"\n }), this.shadowRoot.appendChild(this._pre.el), this._num = new Q(this, i, s), this.shadowRoot.appendChild(this._num.el), this._post = new N(this, a, {\n justify: \"left\",\n part: \"right\"\n }), this.shadowRoot.appendChild(this._post.el), this.created = !0;\n }\n try {\n this._internals.ariaLabel = t.valueAsString;\n } catch {\n }\n }\n /**\n * @internal\n */\n willUpdate() {\n this._pre.willUpdate(), this._num.willUpdate(), this._post.willUpdate();\n }\n /**\n * @internal\n */\n didUpdate() {\n if (!this.computedAnimated)\n return;\n this._abortAnimationsFinish ? this._abortAnimationsFinish.abort() : this.dispatchEvent(new Event(\"animationsstart\")), this._pre.didUpdate(), this._num.didUpdate(), this._post.didUpdate();\n const t = new AbortController();\n Promise.all(this.shadowRoot.getAnimations().map((e) => e.finished)).then(() => {\n t.signal.aborted || (this.dispatchEvent(new Event(\"animationsfinish\")), this._abortAnimationsFinish = void 0);\n }), this._abortAnimationsFinish = t;\n }\n}\nJ.defaultProps = {\n transformTiming: {\n duration: 900,\n // Make sure to keep this minified:\n easing: \"linear(0,.005,.019,.039,.066,.096,.129,.165,.202,.24,.278,.316,.354,.39,.426,.461,.494,.526,.557,.586,.614,.64,.665,.689,.711,.731,.751,.769,.786,.802,.817,.831,.844,.856,.867,.877,.887,.896,.904,.912,.919,.925,.931,.937,.942,.947,.951,.955,.959,.962,.965,.968,.971,.973,.976,.978,.98,.981,.983,.984,.986,.987,.988,.989,.99,.991,.992,.992,.993,.994,.994,.995,.995,.996,.996,.9963,.9967,.9969,.9972,.9975,.9977,.9979,.9981,.9982,.9984,.9985,.9987,.9988,.9989,1)\"\n },\n spinTiming: void 0,\n opacityTiming: { duration: 450, easing: \"ease-out\" },\n animated: !0,\n trend: (n, t) => Math.sign(t - n),\n respectMotionPreference: !0,\n plugins: void 0,\n digits: void 0\n};\nclass Q {\n constructor(t, e, i, { className: s, ...a } = {}) {\n this.flow = t, this._integer = new L(t, e, {\n justify: \"right\",\n part: \"integer\"\n }), this._fraction = new L(t, i, {\n justify: \"left\",\n part: \"fraction\"\n }), this._inner = u(\"span\", {\n className: \"number__inner\"\n }, [this._integer.el, this._fraction.el]), this.el = u(\"span\", {\n ...a,\n part: \"number\",\n className: `number ${s ?? \"\"}`\n }, [this._inner]);\n }\n willUpdate() {\n this._prevWidth = this.el.offsetWidth, this._prevLeft = this.el.getBoundingClientRect().left, this._integer.willUpdate(), this._fraction.willUpdate();\n }\n update({ integer: t, fraction: e }) {\n this._integer.update(t), this._fraction.update(e);\n }\n didUpdate() {\n const t = this.el.getBoundingClientRect();\n this._integer.didUpdate(), this._fraction.didUpdate();\n const e = this._prevLeft - t.left, i = this.el.offsetWidth, s = this._prevWidth - i;\n this.el.style.setProperty(\"--width\", String(i)), this.el.animate({\n [S]: [`${e}px`, \"0px\"],\n [U]: [s, 0]\n }, {\n ...this.flow.transformTiming,\n composite: \"accumulate\"\n });\n }\n}\nclass W {\n constructor(t, e, { justify: i, className: s, ...a }, r) {\n this.flow = t, this.children = /* @__PURE__ */ new Map(), this.onCharRemove = (c) => () => {\n this.children.delete(c);\n }, this.justify = i;\n const o = e.map((c) => this.addChar(c).el);\n this.el = u(\"span\", {\n ...a,\n className: `section section--justify-${i} ${s ?? \"\"}`\n }, r ? r(o) : o);\n }\n addChar(t, { startDigitsAtZero: e = !1, ...i } = {}) {\n const s = t.type === \"integer\" || t.type === \"fraction\" ? new D(this, t.type, e ? 0 : t.value, t.pos, {\n ...i,\n onRemove: this.onCharRemove(t.key)\n }) : new tt(this, t.type, t.value, {\n ...i,\n onRemove: this.onCharRemove(t.key)\n });\n return this.children.set(t.key, s), s;\n }\n unpop(t) {\n t.el.removeAttribute(\"inert\"), t.el.style.top = \"\", t.el.style[this.justify] = \"\";\n }\n pop(t) {\n t.forEach((e) => {\n e.el.style.top = `${e.el.offsetTop}px`, e.el.style[this.justify] = `${F(e.el, this.justify)}px`;\n }), t.forEach((e) => {\n e.el.setAttribute(\"inert\", \"\"), e.present = !1;\n });\n }\n addNewAndUpdateExisting(t) {\n const e = /* @__PURE__ */ new Map(), i = /* @__PURE__ */ new Map(), s = this.justify === \"left\", a = s ? \"prepend\" : \"append\";\n if (X(t, (r) => {\n let o;\n this.children.has(r.key) ? (o = this.children.get(r.key), i.set(r, o), this.unpop(o), o.present = !0) : (o = this.addChar(r, { startDigitsAtZero: !0, animateIn: !0 }), e.set(r, o)), this.el[a](o.el);\n }, { reverse: s }), this.flow.computedAnimated) {\n const r = this.el.getBoundingClientRect();\n e.forEach((o) => {\n o.willUpdate(r);\n });\n }\n e.forEach((r, o) => {\n r.update(o.value);\n }), i.forEach((r, o) => {\n r.update(o.value);\n });\n }\n willUpdate() {\n const t = this.el.getBoundingClientRect();\n this._prevOffset = t[this.justify], this.children.forEach((e) => e.willUpdate(t));\n }\n didUpdate() {\n const t = this.el.getBoundingClientRect();\n this.children.forEach((s) => s.didUpdate(t));\n const e = t[this.justify], i = this._prevOffset - e;\n i && this.children.size && this.el.animate({\n transform: [`translateX(${i}px)`, \"none\"]\n }, {\n ...this.flow.transformTiming,\n composite: \"accumulate\"\n });\n }\n}\nclass L extends W {\n update(t) {\n const e = /* @__PURE__ */ new Map();\n this.children.forEach((i, s) => {\n t.find((a) => a.key === s) || e.set(s, i), this.unpop(i);\n }), this.addNewAndUpdateExisting(t), e.forEach((i) => {\n i instanceof D && i.update(0);\n }), this.pop(e);\n }\n}\nclass N extends W {\n update(t) {\n const e = /* @__PURE__ */ new Map();\n this.children.forEach((i, s) => {\n t.find((a) => a.key === s) || e.set(s, i);\n }), this.pop(e), this.addNewAndUpdateExisting(t);\n }\n}\nclass R {\n constructor(t, e, { onRemove: i, animateIn: s = !1 } = {}) {\n this.flow = t, this.el = e, this._present = !0, this._remove = () => {\n var a;\n this.el.remove(), (a = this._onRemove) == null || a.call(this);\n }, this.el.classList.add(\"animate-presence\"), this.flow.computedAnimated && s && this.el.animate({\n [$]: [-0.9999, 0]\n }, {\n ...this.flow.opacityTiming,\n composite: \"accumulate\"\n }), this._onRemove = i;\n }\n get present() {\n return this._present;\n }\n set present(t) {\n if (this._present !== t) {\n if (this._present = t, t ? this.el.removeAttribute(\"inert\") : this.el.setAttribute(\"inert\", \"\"), !this.flow.computedAnimated) {\n t || this._remove();\n return;\n }\n this.el.style.setProperty(\"--_number-flow-d-opacity\", t ? \"0\" : \"-.999\"), this.el.animate({\n [$]: t ? [-0.9999, 0] : [0.999, 0]\n }, {\n ...this.flow.opacityTiming,\n composite: \"accumulate\"\n }), t ? this.flow.removeEventListener(\"animationsfinish\", this._remove) : this.flow.addEventListener(\"animationsfinish\", this._remove, {\n once: !0\n });\n }\n }\n}\nclass B extends R {\n constructor(t, e, i, s) {\n super(t.flow, i, s), this.section = t, this.value = e, this.el = i;\n }\n}\nclass D extends B {\n constructor(t, e, i, s, a) {\n var d, p;\n const r = (((p = (d = t.flow.digits) == null ? void 0 : d[s]) == null ? void 0 : p.max) ?? 9) + 1, o = Array.from({ length: r }).map((x, g) => {\n const y = u(\"span\", { className: \"digit__num\" }, [\n document.createTextNode(String(g))\n ]);\n return g !== i && y.setAttribute(\"inert\", \"\"), y.style.setProperty(\"--n\", String(g)), y;\n }), c = u(\"span\", {\n part: `digit ${e}-digit`,\n className: \"digit\"\n }, o);\n c.style.setProperty(\"--current\", String(i)), c.style.setProperty(\"--length\", String(r)), super(t, i, c, a), this.pos = s, this._onAnimationsFinish = () => {\n this.el.classList.remove(\"is-spinning\");\n }, this._numbers = o, this.length = r;\n }\n willUpdate(t) {\n const e = this.el.getBoundingClientRect();\n this._prevValue = this.value;\n const i = e[this.section.justify] - t[this.section.justify], s = e.width / 2;\n this._prevCenter = this.section.justify === \"left\" ? i + s : i - s;\n }\n update(t) {\n this.el.style.setProperty(\"--current\", String(t)), this._numbers.forEach((e, i) => i === t ? e.removeAttribute(\"inert\") : e.setAttribute(\"inert\", \"\")), this.value = t;\n }\n didUpdate(t) {\n const e = this.el.getBoundingClientRect(), i = e[this.section.justify] - t[this.section.justify], s = e.width / 2, a = this.section.justify === \"left\" ? i + s : i - s, r = this._prevCenter - a;\n r && this.el.animate({\n transform: [`translateX(${r}px)`, \"none\"]\n }, {\n ...this.flow.transformTiming,\n composite: \"accumulate\"\n });\n const o = this.getDelta();\n o && (this.el.classList.add(\"is-spinning\"), this.el.animate({\n [j]: [-o, 0]\n }, {\n ...this.flow.spinTiming ?? this.flow.transformTiming,\n composite: \"accumulate\"\n }), this.flow.addEventListener(\"animationsfinish\", this._onAnimationsFinish, { once: !0 }));\n }\n getDelta() {\n var i;\n if (this.flow.plugins)\n for (const s of this.flow.plugins) {\n const a = (i = s.getDelta) == null ? void 0 : i.call(s, this.value, this._prevValue, this);\n if (a != null)\n return a;\n }\n const t = this.value - this._prevValue, e = this.flow.computedTrend || Math.sign(t);\n return e < 0 && this.value > this._prevValue ? this.value - this.length - this._prevValue : e > 0 && this.value < this._prevValue ? this.length - this._prevValue + this.value : t;\n }\n}\nclass tt extends B {\n constructor(t, e, i, s) {\n const a = u(\"span\", {\n className: \"symbol__value\",\n textContent: i\n });\n super(t, i, u(\"span\", {\n part: `symbol ${e}`,\n className: \"symbol\"\n }, [a]), s), this.type = e, this._children = /* @__PURE__ */ new Map(), this._onChildRemove = (r) => () => {\n this._children.delete(r);\n }, this._children.set(i, new R(this.flow, a, {\n onRemove: this._onChildRemove(i)\n }));\n }\n willUpdate(t) {\n if (this.type === \"decimal\")\n return;\n const e = this.el.getBoundingClientRect();\n this._prevOffset = e[this.section.justify] - t[this.section.justify];\n }\n update(t) {\n if (this.value !== t) {\n const e = this._children.get(this.value);\n e && (e.present = !1);\n const i = this._children.get(t);\n if (i)\n i.present = !0;\n else {\n const s = u(\"span\", {\n className: \"symbol__value\",\n textContent: t\n });\n this.el.appendChild(s), this._children.set(t, new R(this.flow, s, {\n animateIn: !0,\n onRemove: this._onChildRemove(t)\n }));\n }\n }\n this.value = t;\n }\n didUpdate(t) {\n if (this.type === \"decimal\")\n return;\n const i = this.el.getBoundingClientRect()[this.section.justify] - t[this.section.justify], s = this._prevOffset - i;\n s && this.el.animate({\n transform: [`translateX(${s}px)`, \"none\"]\n }, { ...this.flow.transformTiming, composite: \"accumulate\" });\n }\n}\nexport {\n D,\n J as N,\n G as S,\n q as c,\n st as d,\n nt as f,\n A as p,\n at as r\n};\n","'use client';\nimport * as React from 'react';\nimport NumberFlowLite, { define, formatToData, renderInnerHTML } from 'number-flow/lite';\nimport { BROWSER } from 'esm-env';\n\nconst REACT_MAJOR = parseInt(React.version.match(/^(\\d+)\\./)?.[1]);\nconst isReact19 = REACT_MAJOR >= 19;\n// Can't wait to not have to do this in React 19:\nconst OBSERVED_ATTRIBUTES = [\n 'data',\n 'digits'\n];\nclass NumberFlowElement extends NumberFlowLite {\n attributeChangedCallback(attr, _oldValue, newValue) {\n this[attr] = JSON.parse(newValue);\n }\n}\nNumberFlowElement.observedAttributes = isReact19 ? [] : OBSERVED_ATTRIBUTES;\ndefine('number-flow-react', NumberFlowElement);\n// You're supposed to cache these between uses:\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toLocaleString\n// Serialize to strings b/c React:\nconst formatters = {};\n// Tiny workaround to support React 19 until it's released:\nconst serialize = isReact19 ? (p)=>p : JSON.stringify;\nfunction splitProps(props) {\n const { transformTiming, spinTiming, opacityTiming, animated, respectMotionPreference, trend, plugins, ...rest } = props;\n return [\n {\n transformTiming,\n spinTiming,\n opacityTiming,\n animated,\n respectMotionPreference,\n trend,\n plugins\n },\n rest\n ];\n}\n// We need a class component to use getSnapshotBeforeUpdate:\nclass NumberFlowImpl extends React.Component {\n // Update the non-`data` props to avoid JSON serialization\n // Data needs to be set in render still:\n updateProperties(prevProps) {\n if (!this.el) return;\n this.el.batched = !this.props.isolate;\n const [nonData] = splitProps(this.props);\n Object.entries(nonData).forEach(([k, v])=>{\n // @ts-ignore\n this.el[k] = v ?? NumberFlowElement.defaultProps[k];\n });\n if (prevProps?.onAnimationsStart) this.el.removeEventListener('animationsstart', prevProps.onAnimationsStart);\n if (this.props.onAnimationsStart) this.el.addEventListener('animationsstart', this.props.onAnimationsStart);\n if (prevProps?.onAnimationsFinish) this.el.removeEventListener('animationsfinish', prevProps.onAnimationsFinish);\n if (this.props.onAnimationsFinish) this.el.addEventListener('animationsfinish', this.props.onAnimationsFinish);\n }\n componentDidMount() {\n this.updateProperties();\n if (isReact19 && this.el) {\n // React 19 needs this because the attributeChangedCallback isn't called:\n this.el.digits = this.props.digits;\n this.el.data = this.props.data;\n }\n }\n getSnapshotBeforeUpdate(prevProps) {\n this.updateProperties(prevProps);\n if (prevProps.data !== this.props.data) {\n if (this.props.group) {\n this.props.group.willUpdate();\n return ()=>this.props.group?.didUpdate();\n }\n if (!this.props.isolate) {\n this.el?.willUpdate();\n return ()=>this.el?.didUpdate();\n }\n }\n return null;\n }\n componentDidUpdate(_, __, didUpdate) {\n didUpdate?.();\n }\n handleRef(el) {\n if (this.props.innerRef) this.props.innerRef.current = el;\n this.el = el;\n }\n render() {\n const [_, { innerRef, className, data, willChange, isolate, group, digits, onAnimationsStart, onAnimationsFinish, ...rest }] = splitProps(this.props);\n return(// @ts-expect-error missing types\n /*#__PURE__*/ React.createElement(\"number-flow-react\", {\n ref: this.handleRef,\n \"data-will-change\": willChange ? '' : undefined,\n // Have to rename this:\n class: className,\n ...rest,\n dangerouslySetInnerHTML: {\n __html: BROWSER ? '' : renderInnerHTML(data)\n },\n suppressHydrationWarning: true,\n digits: serialize(digits),\n // Make sure data is set last, everything else is updated:\n data: serialize(data)\n }));\n }\n constructor(props){\n super(props);\n this.handleRef = this.handleRef.bind(this);\n }\n}\nconst NumberFlow = /*#__PURE__*/ React.forwardRef(function NumberFlow({ value, locales, format, prefix, suffix, ...props }, _ref) {\n React.useImperativeHandle(_ref, ()=>ref.current, []);\n const ref = React.useRef();\n const group = React.useContext(NumberFlowGroupContext);\n group?.useRegister(ref);\n const localesString = React.useMemo(()=>locales ? JSON.stringify(locales) : '', [\n locales\n ]);\n const formatString = React.useMemo(()=>format ? JSON.stringify(format) : '', [\n format\n ]);\n const data = React.useMemo(()=>{\n const formatter = formatters[`${localesString}:${formatString}`] ??= new Intl.NumberFormat(locales, format);\n return formatToData(value, formatter, prefix, suffix);\n }, [\n value,\n localesString,\n formatString,\n prefix,\n suffix\n ]);\n return /*#__PURE__*/ React.createElement(NumberFlowImpl, {\n ...props,\n group: group,\n data: data,\n innerRef: ref\n });\n});\nconst NumberFlowGroupContext = /*#__PURE__*/ React.createContext(undefined);\nfunction NumberFlowGroup({ children }) {\n const flows = React.useRef(new Set());\n const updating = React.useRef(false);\n const pending = React.useRef(new WeakMap());\n const value = React.useMemo(()=>({\n useRegister (ref) {\n React.useEffect(()=>{\n flows.current.add(ref);\n return ()=>{\n flows.current.delete(ref);\n };\n }, []);\n },\n willUpdate () {\n if (updating.current) return;\n updating.current = true;\n flows.current.forEach((ref)=>{\n const f = ref.current;\n if (!f || !f.created) return;\n f.willUpdate();\n pending.current.set(f, true);\n });\n },\n didUpdate () {\n flows.current.forEach((ref)=>{\n const f = ref.current;\n if (!f || !pending.current.get(f)) return;\n f.didUpdate();\n pending.current.delete(f);\n });\n updating.current = false;\n }\n }), []);\n return /*#__PURE__*/ React.createElement(NumberFlowGroupContext.Provider, {\n value: value\n }, children);\n}\n\nexport { NumberFlow as N, NumberFlowElement as a, NumberFlowGroup as b };\n","import * as React from 'react';\nimport { canAnimate, prefersReducedMotion } from 'number-flow/lite';\nexport * from 'number-flow/plugins';\nexport { a as NumberFlowElement, b as NumberFlowGroup, N as default } from './NumberFlow-client-48rw3j0J.mjs';\n\nconst useIsSupported = ()=>React.useSyncExternalStore(()=>()=>{}, ()=>canAnimate, ()=>false);\nconst usePrefersReducedMotion = ()=>React.useSyncExternalStore((cb)=>{\n prefersReducedMotion?.addEventListener('change', cb);\n return ()=>prefersReducedMotion?.removeEventListener('change', cb);\n }, ()=>prefersReducedMotion.matches, ()=>false);\nfunction useCanAnimate({ respectMotionPreference = true } = {}) {\n const isSupported = useIsSupported();\n const reducedMotion = usePrefersReducedMotion();\n return isSupported && (!respectMotionPreference || !reducedMotion);\n}\n\nexport { useCanAnimate, useIsSupported, usePrefersReducedMotion };\n"],"names":["f","e","n","i","l","o","s","t","r","u","c","a","F","H","st","X","nt","p","h","x","g","y","C","T","V","O","z","A","$","U","S","j","Y","P","k","E","m","w","M","G","q","b","J","N","Q","L","W","D","tt","R","B","d","REACT_MAJOR","React.version","isReact19","OBSERVED_ATTRIBUTES","NumberFlowElement","NumberFlowLite","attr","_oldValue","newValue","define","formatters","serialize","splitProps","props","transformTiming","spinTiming","opacityTiming","animated","respectMotionPreference","trend","plugins","rest","NumberFlowImpl","React.Component","prevProps","nonData","v","_a","_","__","didUpdate","el","innerRef","className","data","willChange","isolate","group","digits","onAnimationsStart","onAnimationsFinish","React.createElement","NumberFlow","React.forwardRef","value","locales","format","prefix","suffix","_ref","React.useImperativeHandle","ref","React.useRef","React.useContext","NumberFlowGroupContext","localesString","React.useMemo","formatString","formatter","formatToData","React.createContext","NumberFlowGroup","children","flows","updating","pending","React.useEffect","useIsSupported","React.useSyncExternalStore","canAnimate","usePrefersReducedMotion","cb","prefersReducedMotion","useCanAnimate","isSupported","reducedMotion"],"mappings":"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","x_google_ignoreList":[0,1,2,3]}
@@ -1,5 +1,5 @@
1
- import { v as F, w as T, x as _, y as E, b as x, z as H, G as V, d as W, j as e, L as R, I as $, N as p, J as v, K as w, P as z, M as f, h as G, A as J, S as t, B as c, O as i } from "./index-_vEj3NfZ.mjs";
2
- import { T as K, a as O, b as N, c as g } from "./tabs-BZytpdZ9.mjs";
1
+ import { v as F, w as T, x as _, y as E, b as x, z as H, G as V, d as W, j as e, L as R, I as $, N as p, J as v, K as w, P as z, M as f, h as G, A as J, S as t, B as c, O as i } from "./index--Q6orQkb.mjs";
2
+ import { T as K, a as O, b as N, c as g } from "./tabs-D_vmoLBo.mjs";
3
3
  const X = () => {
4
4
  const { data: d, isLoading: n } = F("index"), { data: u, isLoading: o } = T("index"), m = n ? Array(5).fill({ apId: "", name: "", handle: "", avatarUrl: "" }) : (d == null ? void 0 : d.pages.flatMap((s) => s.accounts)) ?? [], h = o ? Array(5).fill({ apId: "", name: "" }) : (u == null ? void 0 : u.pages.flatMap((s) => s.domains)) ?? [], I = _("index"), U = E("index"), [M, k] = x(/* @__PURE__ */ new Set()), B = H("index"), y = V("index"), [S, b] = x(/* @__PURE__ */ new Set()), [j, r] = x(null), L = W(), A = (s) => {
5
5
  k((l) => {
@@ -110,4 +110,4 @@ const X = () => {
110
110
  export {
111
111
  X as default
112
112
  };
113
- //# sourceMappingURL=moderation-KWQp9gQj.mjs.map
113
+ //# sourceMappingURL=moderation-CYhwUFi2.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"moderation-KWQp9gQj.mjs","sources":["../src/views/preferences/components/moderation.tsx"],"sourcesContent":["import APAvatar from '@components/global/ap-avatar';\nimport ActivityItem from '@components/activities/activity-item';\nimport Layout from '@components/layout';\nimport ProfilePreviewHoverCard from '@components/global/profile-preview-hover-card';\nimport React, {useState} from 'react';\nimport {Account} from '@src/api/activitypub';\nimport {Button, H2, LucideIcon, NoValueLabel, NoValueLabelIcon, Skeleton, Tabs, TabsContent, TabsList, TabsTrigger} from '@tryghost/shade';\nimport {handleProfileClick} from '@src/utils/handle-profile-click';\nimport {toast} from 'sonner';\nimport {useBlockDomainMutationForUser, useBlockMutationForUser, useBlockedAccountsForUser, useBlockedDomainsForUser, useUnblockDomainMutationForUser, useUnblockMutationForUser} from '@hooks/use-activity-pub-queries';\nimport {useNavigateWithBasePath} from '@src/hooks/use-navigate-with-base-path';\n\nconst Moderation: React.FC = () => {\n const {data: blockedAccountsData, isLoading: blockedAccountsLoading} = useBlockedAccountsForUser('index');\n const {data: blockedDomainsData, isLoading: blockedDomainsLoading} = useBlockedDomainsForUser('index');\n\n const blockedAccounts = blockedAccountsLoading\n ? Array(5).fill({apId: '', name: '', handle: '', avatarUrl: ''})\n : blockedAccountsData?.pages.flatMap(page => page.accounts) ?? [];\n const blockedDomains = blockedDomainsLoading\n ? Array(5).fill({apId: '', name: ''})\n : blockedDomainsData?.pages.flatMap(page => page.domains) ?? [];\n\n const blockMutation = useBlockMutationForUser('index');\n const unblockMutation = useUnblockMutationForUser('index');\n const [unblockedAccountIds, setUnblockedAccountIds] = useState<Set<string>>(new Set());\n\n const blockDomainMutation = useBlockDomainMutationForUser('index');\n const unblockDomainMutation = useUnblockDomainMutationForUser('index');\n const [unblockedDomainIds, setUnblockedDomainIds] = useState<Set<string>>(new Set());\n\n const [hoveredItemId, setHoveredItemId] = useState<string | null>(null);\n const navigate = useNavigateWithBasePath();\n\n const handleUnblock = (account: Account) => {\n setUnblockedAccountIds((prev) => {\n const newSet = new Set([...prev]);\n newSet.add(account.apId);\n return newSet;\n });\n\n unblockMutation.mutate(account);\n\n toast.success('User unblocked');\n };\n\n const handleBlock = (account: Account) => {\n setUnblockedAccountIds((prev) => {\n const newSet = new Set([...prev]);\n newSet.delete(account.apId);\n return newSet;\n });\n\n blockMutation.mutate(account);\n\n toast.success('User blocked');\n };\n\n const handleDomainUnblock = (domain: {url: string}) => {\n setUnblockedDomainIds((prev) => {\n const newSet = new Set([...prev]);\n newSet.add(domain.url);\n return newSet;\n });\n\n unblockDomainMutation.mutate({url: domain.url});\n\n toast.success('Domain unblocked');\n };\n\n const handleDomainBlock = (domain: {url: string}) => {\n setUnblockedDomainIds((prev) => {\n const newSet = new Set([...prev]);\n newSet.delete(domain.url);\n return newSet;\n });\n\n blockDomainMutation.mutate({url: domain.url});\n\n toast.success('Domain blocked');\n };\n\n return (\n <Layout>\n <div className='mx-auto max-w-[620px] py-[min(4vh,48px)]'>\n <div className='flex items-center justify-between gap-8'>\n <H2>Moderation</H2>\n </div>\n <div className='mt-6'>\n <Tabs defaultValue=\"blocked_users\" variant='underline'>\n <TabsList>\n <TabsTrigger value=\"blocked_users\">Blocked users</TabsTrigger>\n <TabsTrigger value=\"blocked_domains\">Blocked domains</TabsTrigger>\n </TabsList>\n <TabsContent className='mt-2' value=\"blocked_users\">\n {!blockedAccountsLoading && blockedAccounts.length === 0 ? (\n <NoValueLabel>\n <NoValueLabelIcon><LucideIcon.Ban /></NoValueLabelIcon>\n <div className='mt-2 flex max-w-[400px] flex-col items-center gap-1 text-center'>\n <p>When you block someone, they won&apos;t be able to follow you or interact with your content on the social web.</p>\n </div>\n </NoValueLabel>\n ) : (\n blockedAccounts.map((account, index) => (\n <ProfilePreviewHoverCard key={account.apId ? account.apId : `loading-${index}`} actor={account} isCurrentUser={true}>\n <div>\n <ActivityItem\n onClick={!blockedAccountsLoading ? () => handleProfileClick(account.handle, navigate) : undefined}\n >\n <APAvatar\n author={\n {\n icon: {\n url: account.avatarUrl\n },\n name: account.name,\n handle: account.handle\n }\n } />\n <div className='flex min-w-0 flex-col'>\n <span className='block truncate font-semibold text-black dark:text-white'>{!blockedAccountsLoading ? account.name : <Skeleton className='w-24' />}</span>\n <span className='block truncate text-sm text-gray-600'>{!blockedAccountsLoading ? account.handle : <Skeleton className='w-40' />}</span>\n </div>\n\n {unblockedAccountIds.has(account.apId) ? (\n <Button\n className='ml-auto min-w-[90px] text-red hover:!bg-red/5 hover:text-red-400'\n variant='outline'\n onClick={(e) => {\n e.stopPropagation();\n handleBlock(account);\n }}\n >\n Block\n </Button>\n ) : (\n !blockedAccountsLoading ?\n <Button\n className='ml-auto min-w-[90px]'\n variant='destructive'\n onClick={(e) => {\n e.stopPropagation();\n handleUnblock(account);\n }}\n onMouseEnter={() => setHoveredItemId(account.apId)}\n onMouseLeave={() => setHoveredItemId(null)}\n >\n {hoveredItemId === account.apId ? 'Unblock' : 'Blocked'}\n </Button> :\n <div className='ml-auto w-16'>\n <Skeleton />\n </div>\n )}\n </ActivityItem>\n </div>\n </ProfilePreviewHoverCard>\n ))\n )}\n </TabsContent>\n <TabsContent className='mt-[11px]' value=\"blocked_domains\">\n {!blockedDomainsLoading && blockedDomains.length === 0 ? (\n <NoValueLabel>\n <NoValueLabelIcon><LucideIcon.Ban /></NoValueLabelIcon>\n <div className='mt-2 flex max-w-[400px] flex-col items-center gap-1 text-center'>\n <p>When you block a domain, all users from that domain won&apos;t be able to follow you or interact with your content.</p>\n </div>\n </NoValueLabel>\n ) : (\n blockedDomains.map((domain, index) => (\n <ActivityItem key={domain.url ? domain.url : `loading-${index}`}>\n <div className='flex min-w-0 flex-col'>\n <span className='block truncate font-semibold text-black dark:text-white'>\n {!blockedDomainsLoading ? new URL(domain.url).hostname : <Skeleton className='w-48' />}\n </span>\n </div>\n\n {unblockedDomainIds.has(domain.url) ? (\n <Button\n className='ml-auto min-w-[90px] text-red hover:!bg-red/5 hover:text-red-400'\n variant='outline'\n onClick={() => handleDomainBlock(domain)}\n >\n Block\n </Button>\n ) : (\n !blockedDomainsLoading ?\n <Button\n className='ml-auto min-w-[90px]'\n variant='destructive'\n onClick={() => handleDomainUnblock(domain)}\n onMouseEnter={() => setHoveredItemId(domain.url)}\n onMouseLeave={() => setHoveredItemId(null)}\n >\n {hoveredItemId === domain.url ? 'Unblock' : 'Blocked'}\n </Button> :\n <div className='ml-auto w-16'>\n <Skeleton />\n </div>\n )}\n </ActivityItem>\n ))\n )}\n </TabsContent>\n </Tabs>\n </div>\n </div>\n </Layout>\n );\n};\n\nexport default Moderation;\n"],"names":["Moderation","blockedAccountsData","blockedAccountsLoading","useBlockedAccountsForUser","blockedDomainsData","blockedDomainsLoading","useBlockedDomainsForUser","blockedAccounts","page","blockedDomains","blockMutation","useBlockMutationForUser","unblockMutation","useUnblockMutationForUser","unblockedAccountIds","setUnblockedAccountIds","useState","blockDomainMutation","useBlockDomainMutationForUser","unblockDomainMutation","useUnblockDomainMutationForUser","unblockedDomainIds","setUnblockedDomainIds","hoveredItemId","setHoveredItemId","navigate","useNavigateWithBasePath","handleUnblock","account","prev","newSet","toast","handleBlock","handleDomainUnblock","domain","handleDomainBlock","jsx","Layout","jsxs","H2","Tabs","TabsList","TabsTrigger","TabsContent","NoValueLabel","NoValueLabelIcon","LucideIcon.Ban","index","ProfilePreviewHoverCard","ActivityItem","handleProfileClick","APAvatar","Skeleton","Button","e"],"mappings":";;AAYA,MAAMA,IAAuB,MAAM;AAC/B,QAAM,EAAC,MAAMC,GAAqB,WAAWC,EAAA,IAA0BC,EAA0B,OAAO,GAClG,EAAC,MAAMC,GAAoB,WAAWC,EAAA,IAAyBC,EAAyB,OAAO,GAE/FC,IAAkBL,IAClB,MAAM,CAAC,EAAE,KAAK,EAAC,MAAM,IAAI,MAAM,IAAI,QAAQ,IAAI,WAAW,IAAG,KAC7DD,KAAA,gBAAAA,EAAqB,MAAM,QAAQ,CAAAO,MAAQA,EAAK,cAAa,CAAA,GAC7DC,IAAiBJ,IACjB,MAAM,CAAC,EAAE,KAAK,EAAC,MAAM,IAAI,MAAM,IAAG,KAClCD,KAAA,gBAAAA,EAAoB,MAAM,QAAQ,OAAQI,EAAK,aAAY,CAAA,GAE3DE,IAAgBC,EAAwB,OAAO,GAC/CC,IAAkBC,EAA0B,OAAO,GACnD,CAACC,GAAqBC,CAAsB,IAAIC,EAAsB,oBAAI,KAAK,GAE/EC,IAAsBC,EAA8B,OAAO,GAC3DC,IAAwBC,EAAgC,OAAO,GAC/D,CAACC,GAAoBC,CAAqB,IAAIN,EAAsB,oBAAI,KAAK,GAE7E,CAACO,GAAeC,CAAgB,IAAIR,EAAwB,IAAI,GAChES,IAAWC,EAAA,GAEXC,IAAgB,CAACC,MAAqB;AACxC,IAAAb,EAAuB,CAACc,MAAS;AAC7B,YAAMC,IAAS,oBAAI,IAAI,CAAC,GAAGD,CAAI,CAAC;AAChC,aAAAC,EAAO,IAAIF,EAAQ,IAAI,GAChBE;AAAA,IACX,CAAC,GAEDlB,EAAgB,OAAOgB,CAAO,GAE9BG,EAAM,QAAQ,gBAAgB;AAAA,EAClC,GAEMC,IAAc,CAACJ,MAAqB;AACtC,IAAAb,EAAuB,CAACc,MAAS;AAC7B,YAAMC,IAAS,oBAAI,IAAI,CAAC,GAAGD,CAAI,CAAC;AAChC,aAAAC,EAAO,OAAOF,EAAQ,IAAI,GACnBE;AAAA,IACX,CAAC,GAEDpB,EAAc,OAAOkB,CAAO,GAE5BG,EAAM,QAAQ,cAAc;AAAA,EAChC,GAEME,IAAsB,CAACC,MAA0B;AACnD,IAAAZ,EAAsB,CAACO,MAAS;AAC5B,YAAMC,IAAS,oBAAI,IAAI,CAAC,GAAGD,CAAI,CAAC;AAChC,aAAAC,EAAO,IAAII,EAAO,GAAG,GACdJ;AAAA,IACX,CAAC,GAEDX,EAAsB,OAAO,EAAC,KAAKe,EAAO,KAAI,GAE9CH,EAAM,QAAQ,kBAAkB;AAAA,EACpC,GAEMI,IAAoB,CAACD,MAA0B;AACjD,IAAAZ,EAAsB,CAACO,MAAS;AAC5B,YAAMC,IAAS,oBAAI,IAAI,CAAC,GAAGD,CAAI,CAAC;AAChC,aAAAC,EAAO,OAAOI,EAAO,GAAG,GACjBJ;AAAA,IACX,CAAC,GAEDb,EAAoB,OAAO,EAAC,KAAKiB,EAAO,KAAI,GAE5CH,EAAM,QAAQ,gBAAgB;AAAA,EAClC;AAEA,SACIK,gBAAAA,EAAAA,IAACC,GAAA,EACG,UAAAC,gBAAAA,EAAAA,KAAC,OAAA,EAAI,WAAU,4CACX,UAAA;AAAA,IAAAF,gBAAAA,EAAAA,IAAC,SAAI,WAAU,2CACX,UAAAA,gBAAAA,MAACG,GAAA,EAAG,wBAAU,EAAA,CAClB;AAAA,IACAH,gBAAAA,EAAAA,IAAC,SAAI,WAAU,QACX,iCAACI,GAAA,EAAK,cAAa,iBAAgB,SAAQ,aACvC,UAAA;AAAA,MAAAF,gBAAAA,OAACG,GAAA,EACG,UAAA;AAAA,QAAAL,gBAAAA,EAAAA,IAACM,GAAA,EAAY,OAAM,iBAAgB,UAAA,iBAAa;AAAA,QAChDN,gBAAAA,EAAAA,IAACM,GAAA,EAAY,OAAM,mBAAkB,UAAA,kBAAA,CAAe;AAAA,MAAA,GACxD;AAAA,MACAN,gBAAAA,EAAAA,IAACO,GAAA,EAAY,WAAU,QAAO,OAAM,iBAC/B,UAAA,CAACzC,KAA0BK,EAAgB,WAAW,IACnD+B,gBAAAA,EAAAA,KAACM,GAAA,EACG,UAAA;AAAA,QAAAR,gBAAAA,EAAAA,IAACS,GAAA,EAAiB,UAAAT,gBAAAA,EAAAA,IAACU,GAAA,CAAA,CAAe,GAAE;AAAA,8BACnC,OAAA,EAAI,WAAU,mEACX,UAAAV,gBAAAA,EAAAA,IAAC,KAAA,EAAE,uHAA8G,EAAA,CACrH;AAAA,MAAA,EAAA,CACJ,IAEA7B,EAAgB,IAAI,CAACqB,GAASmB,MAC1BX,gBAAAA,EAAAA,IAACY,GAAA,EAA+E,OAAOpB,GAAS,eAAe,IAC3G,gCAAC,OAAA,EACG,UAAAU,gBAAAA,EAAAA;AAAAA,QAACW;AAAA,QAAA;AAAA,UACG,SAAU/C,IAA8E,SAArD,MAAMgD,EAAmBtB,EAAQ,QAAQH,CAAQ;AAAA,UAEpF,UAAA;AAAA,YAAAW,gBAAAA,EAAAA;AAAAA,cAACe;AAAA,cAAA;AAAA,gBACG,QACI;AAAA,kBACI,MAAM;AAAA,oBACF,KAAKvB,EAAQ;AAAA,kBAAA;AAAA,kBAEjB,MAAMA,EAAQ;AAAA,kBACd,QAAQA,EAAQ;AAAA,gBAAA;AAAA,cACpB;AAAA,YAAA;AAAA,YAERU,gBAAAA,EAAAA,KAAC,OAAA,EAAI,WAAU,0BACX,UAAA;AAAA,cAAAF,gBAAAA,EAAAA,IAAC,QAAA,EAAK,WAAU,2DAA2D,UAAClC,IAAwCkC,gBAAAA,EAAAA,IAACgB,GAAA,EAAS,WAAU,OAAA,CAAO,IAA1CxB,EAAQ,MAAqC;AAAA,cAClJQ,gBAAAA,EAAAA,IAAC,QAAA,EAAK,WAAU,wCAAwC,UAAClC,IAA0CkC,gBAAAA,EAAAA,IAACgB,GAAA,EAAS,WAAU,OAAA,CAAO,IAA5CxB,EAAQ,OAAoC,CAAG;AAAA,YAAA,GACrI;AAAA,YAECd,EAAoB,IAAIc,EAAQ,IAAI,IACjCQ,gBAAAA,EAAAA;AAAAA,cAACiB;AAAA,cAAA;AAAA,gBACG,WAAU;AAAA,gBACV,SAAQ;AAAA,gBACR,SAAS,CAACC,MAAM;AACZ,kBAAAA,EAAE,gBAAA,GACFtB,EAAYJ,CAAO;AAAA,gBACvB;AAAA,gBACH,UAAA;AAAA,cAAA;AAAA,YAAA,IAIA1B,IAaGkC,gBAAAA,EAAAA,IAAC,OAAA,EAAI,WAAU,gBACX,UAAAA,gBAAAA,EAAAA,IAACgB,KAAS,EAAA,CACd,IAdAhB,gBAAAA,EAAAA;AAAAA,cAACiB;AAAA,cAAA;AAAA,gBACG,WAAU;AAAA,gBACV,SAAQ;AAAA,gBACR,SAAS,CAACC,MAAM;AACZ,kBAAAA,EAAE,gBAAA,GACF3B,EAAcC,CAAO;AAAA,gBACzB;AAAA,gBACA,cAAc,MAAMJ,EAAiBI,EAAQ,IAAI;AAAA,gBACjD,cAAc,MAAMJ,EAAiB,IAAI;AAAA,gBAExC,UAAAD,MAAkBK,EAAQ,OAAO,YAAY;AAAA,cAAA;AAAA,YAAA;AAAA,UAIlD;AAAA,QAAA;AAAA,MAAA,EAEZ,CACJ,EAAA,GAlD0BA,EAAQ,OAAOA,EAAQ,OAAO,WAAWmB,CAAK,EAmD5E,CACH,EAAA,CAET;AAAA,MACAX,gBAAAA,EAAAA,IAACO,GAAA,EAAY,WAAU,aAAY,OAAM,mBACpC,UAAA,CAACtC,KAAyBI,EAAe,WAAW,IACjD6B,gBAAAA,EAAAA,KAACM,GAAA,EACG,UAAA;AAAA,QAAAR,gBAAAA,EAAAA,IAACS,GAAA,EAAiB,UAAAT,gBAAAA,EAAAA,IAACU,GAAA,CAAA,CAAe,GAAE;AAAA,8BACnC,OAAA,EAAI,WAAU,mEACX,UAAAV,gBAAAA,EAAAA,IAAC,KAAA,EAAE,4HAAmH,EAAA,CAC1H;AAAA,MAAA,GACJ,IAEA3B,EAAe,IAAI,CAACyB,GAAQa,6BACvBE,GAAA,EACG,UAAA;AAAA,QAAAb,gBAAAA,EAAAA,IAAC,OAAA,EAAI,WAAU,yBACX,UAAAA,gBAAAA,MAAC,UAAK,WAAU,2DACX,UAAC/B,IAAuD+B,gBAAAA,EAAAA,IAACgB,KAAS,WAAU,QAAO,IAA1D,IAAI,IAAIlB,EAAO,GAAG,EAAE,UAClD,EAAA,CACJ;AAAA,QAECb,EAAmB,IAAIa,EAAO,GAAG,IAC9BE,gBAAAA,EAAAA;AAAAA,UAACiB;AAAA,UAAA;AAAA,YACG,WAAU;AAAA,YACV,SAAQ;AAAA,YACR,SAAS,MAAMlB,EAAkBD,CAAM;AAAA,YAC1C,UAAA;AAAA,UAAA;AAAA,QAAA,IAIA7B,IAUG+B,gBAAAA,EAAAA,IAAC,OAAA,EAAI,WAAU,gBACX,UAAAA,gBAAAA,EAAAA,IAACgB,KAAS,EAAA,CACd,IAXAhB,gBAAAA,EAAAA;AAAAA,UAACiB;AAAA,UAAA;AAAA,YACG,WAAU;AAAA,YACV,SAAQ;AAAA,YACR,SAAS,MAAMpB,EAAoBC,CAAM;AAAA,YACzC,cAAc,MAAMV,EAAiBU,EAAO,GAAG;AAAA,YAC/C,cAAc,MAAMV,EAAiB,IAAI;AAAA,YAExC,UAAAD,MAAkBW,EAAO,MAAM,YAAY;AAAA,UAAA;AAAA,QAAA;AAAA,MAIhD,KA5BOA,EAAO,MAAMA,EAAO,MAAM,WAAWa,CAAK,EA8B7D,CACH,EAAA,CAET;AAAA,IAAA,EAAA,CACJ,EAAA,CACJ;AAAA,EAAA,EAAA,CACJ,EAAA,CACJ;AAER;"}
1
+ {"version":3,"file":"moderation-CYhwUFi2.mjs","sources":["../src/views/preferences/components/moderation.tsx"],"sourcesContent":["import APAvatar from '@components/global/ap-avatar';\nimport ActivityItem from '@components/activities/activity-item';\nimport Layout from '@components/layout';\nimport ProfilePreviewHoverCard from '@components/global/profile-preview-hover-card';\nimport React, {useState} from 'react';\nimport {Account} from '@src/api/activitypub';\nimport {Button, H2, LucideIcon, NoValueLabel, NoValueLabelIcon, Skeleton, Tabs, TabsContent, TabsList, TabsTrigger} from '@tryghost/shade';\nimport {handleProfileClick} from '@src/utils/handle-profile-click';\nimport {toast} from 'sonner';\nimport {useBlockDomainMutationForUser, useBlockMutationForUser, useBlockedAccountsForUser, useBlockedDomainsForUser, useUnblockDomainMutationForUser, useUnblockMutationForUser} from '@hooks/use-activity-pub-queries';\nimport {useNavigateWithBasePath} from '@src/hooks/use-navigate-with-base-path';\n\nconst Moderation: React.FC = () => {\n const {data: blockedAccountsData, isLoading: blockedAccountsLoading} = useBlockedAccountsForUser('index');\n const {data: blockedDomainsData, isLoading: blockedDomainsLoading} = useBlockedDomainsForUser('index');\n\n const blockedAccounts = blockedAccountsLoading\n ? Array(5).fill({apId: '', name: '', handle: '', avatarUrl: ''})\n : blockedAccountsData?.pages.flatMap(page => page.accounts) ?? [];\n const blockedDomains = blockedDomainsLoading\n ? Array(5).fill({apId: '', name: ''})\n : blockedDomainsData?.pages.flatMap(page => page.domains) ?? [];\n\n const blockMutation = useBlockMutationForUser('index');\n const unblockMutation = useUnblockMutationForUser('index');\n const [unblockedAccountIds, setUnblockedAccountIds] = useState<Set<string>>(new Set());\n\n const blockDomainMutation = useBlockDomainMutationForUser('index');\n const unblockDomainMutation = useUnblockDomainMutationForUser('index');\n const [unblockedDomainIds, setUnblockedDomainIds] = useState<Set<string>>(new Set());\n\n const [hoveredItemId, setHoveredItemId] = useState<string | null>(null);\n const navigate = useNavigateWithBasePath();\n\n const handleUnblock = (account: Account) => {\n setUnblockedAccountIds((prev) => {\n const newSet = new Set([...prev]);\n newSet.add(account.apId);\n return newSet;\n });\n\n unblockMutation.mutate(account);\n\n toast.success('User unblocked');\n };\n\n const handleBlock = (account: Account) => {\n setUnblockedAccountIds((prev) => {\n const newSet = new Set([...prev]);\n newSet.delete(account.apId);\n return newSet;\n });\n\n blockMutation.mutate(account);\n\n toast.success('User blocked');\n };\n\n const handleDomainUnblock = (domain: {url: string}) => {\n setUnblockedDomainIds((prev) => {\n const newSet = new Set([...prev]);\n newSet.add(domain.url);\n return newSet;\n });\n\n unblockDomainMutation.mutate({url: domain.url});\n\n toast.success('Domain unblocked');\n };\n\n const handleDomainBlock = (domain: {url: string}) => {\n setUnblockedDomainIds((prev) => {\n const newSet = new Set([...prev]);\n newSet.delete(domain.url);\n return newSet;\n });\n\n blockDomainMutation.mutate({url: domain.url});\n\n toast.success('Domain blocked');\n };\n\n return (\n <Layout>\n <div className='mx-auto max-w-[620px] py-[min(4vh,48px)]'>\n <div className='flex items-center justify-between gap-8'>\n <H2>Moderation</H2>\n </div>\n <div className='mt-6'>\n <Tabs defaultValue=\"blocked_users\" variant='underline'>\n <TabsList>\n <TabsTrigger value=\"blocked_users\">Blocked users</TabsTrigger>\n <TabsTrigger value=\"blocked_domains\">Blocked domains</TabsTrigger>\n </TabsList>\n <TabsContent className='mt-2' value=\"blocked_users\">\n {!blockedAccountsLoading && blockedAccounts.length === 0 ? (\n <NoValueLabel>\n <NoValueLabelIcon><LucideIcon.Ban /></NoValueLabelIcon>\n <div className='mt-2 flex max-w-[400px] flex-col items-center gap-1 text-center'>\n <p>When you block someone, they won&apos;t be able to follow you or interact with your content on the social web.</p>\n </div>\n </NoValueLabel>\n ) : (\n blockedAccounts.map((account, index) => (\n <ProfilePreviewHoverCard key={account.apId ? account.apId : `loading-${index}`} actor={account} isCurrentUser={true}>\n <div>\n <ActivityItem\n onClick={!blockedAccountsLoading ? () => handleProfileClick(account.handle, navigate) : undefined}\n >\n <APAvatar\n author={\n {\n icon: {\n url: account.avatarUrl\n },\n name: account.name,\n handle: account.handle\n }\n } />\n <div className='flex min-w-0 flex-col'>\n <span className='block truncate font-semibold text-black dark:text-white'>{!blockedAccountsLoading ? account.name : <Skeleton className='w-24' />}</span>\n <span className='block truncate text-sm text-gray-600'>{!blockedAccountsLoading ? account.handle : <Skeleton className='w-40' />}</span>\n </div>\n\n {unblockedAccountIds.has(account.apId) ? (\n <Button\n className='ml-auto min-w-[90px] text-red hover:!bg-red/5 hover:text-red-400'\n variant='outline'\n onClick={(e) => {\n e.stopPropagation();\n handleBlock(account);\n }}\n >\n Block\n </Button>\n ) : (\n !blockedAccountsLoading ?\n <Button\n className='ml-auto min-w-[90px]'\n variant='destructive'\n onClick={(e) => {\n e.stopPropagation();\n handleUnblock(account);\n }}\n onMouseEnter={() => setHoveredItemId(account.apId)}\n onMouseLeave={() => setHoveredItemId(null)}\n >\n {hoveredItemId === account.apId ? 'Unblock' : 'Blocked'}\n </Button> :\n <div className='ml-auto w-16'>\n <Skeleton />\n </div>\n )}\n </ActivityItem>\n </div>\n </ProfilePreviewHoverCard>\n ))\n )}\n </TabsContent>\n <TabsContent className='mt-[11px]' value=\"blocked_domains\">\n {!blockedDomainsLoading && blockedDomains.length === 0 ? (\n <NoValueLabel>\n <NoValueLabelIcon><LucideIcon.Ban /></NoValueLabelIcon>\n <div className='mt-2 flex max-w-[400px] flex-col items-center gap-1 text-center'>\n <p>When you block a domain, all users from that domain won&apos;t be able to follow you or interact with your content.</p>\n </div>\n </NoValueLabel>\n ) : (\n blockedDomains.map((domain, index) => (\n <ActivityItem key={domain.url ? domain.url : `loading-${index}`}>\n <div className='flex min-w-0 flex-col'>\n <span className='block truncate font-semibold text-black dark:text-white'>\n {!blockedDomainsLoading ? new URL(domain.url).hostname : <Skeleton className='w-48' />}\n </span>\n </div>\n\n {unblockedDomainIds.has(domain.url) ? (\n <Button\n className='ml-auto min-w-[90px] text-red hover:!bg-red/5 hover:text-red-400'\n variant='outline'\n onClick={() => handleDomainBlock(domain)}\n >\n Block\n </Button>\n ) : (\n !blockedDomainsLoading ?\n <Button\n className='ml-auto min-w-[90px]'\n variant='destructive'\n onClick={() => handleDomainUnblock(domain)}\n onMouseEnter={() => setHoveredItemId(domain.url)}\n onMouseLeave={() => setHoveredItemId(null)}\n >\n {hoveredItemId === domain.url ? 'Unblock' : 'Blocked'}\n </Button> :\n <div className='ml-auto w-16'>\n <Skeleton />\n </div>\n )}\n </ActivityItem>\n ))\n )}\n </TabsContent>\n </Tabs>\n </div>\n </div>\n </Layout>\n );\n};\n\nexport default Moderation;\n"],"names":["Moderation","blockedAccountsData","blockedAccountsLoading","useBlockedAccountsForUser","blockedDomainsData","blockedDomainsLoading","useBlockedDomainsForUser","blockedAccounts","page","blockedDomains","blockMutation","useBlockMutationForUser","unblockMutation","useUnblockMutationForUser","unblockedAccountIds","setUnblockedAccountIds","useState","blockDomainMutation","useBlockDomainMutationForUser","unblockDomainMutation","useUnblockDomainMutationForUser","unblockedDomainIds","setUnblockedDomainIds","hoveredItemId","setHoveredItemId","navigate","useNavigateWithBasePath","handleUnblock","account","prev","newSet","toast","handleBlock","handleDomainUnblock","domain","handleDomainBlock","jsx","Layout","jsxs","H2","Tabs","TabsList","TabsTrigger","TabsContent","NoValueLabel","NoValueLabelIcon","LucideIcon.Ban","index","ProfilePreviewHoverCard","ActivityItem","handleProfileClick","APAvatar","Skeleton","Button","e"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { u as G, a as ee, b as m, c as C, d as te, e as $, j as e, L as y, S as c, E as se, f as ne, P as ae, A as oe, g as le, r as ie, h as ce, F as j, R as re, i as R, k as de } from "./index-_vEj3NfZ.mjs";
2
- import { u as xe, D as he, A as ue, S as U } from "./deleted-feed-item-Ct4Zc7u3.mjs";
3
- import { H as me } from "./hash-B-J30lCU.mjs";
1
+ import { u as G, a as ee, b as m, c as C, d as te, e as $, j as e, L as y, S as c, E as se, f as ne, P as ae, A as oe, g as le, r as ie, h as ce, F as j, R as re, i as R, k as de } from "./index--Q6orQkb.mjs";
2
+ import { u as xe, D as he, A as ue, S as U } from "./deleted-feed-item-Bun4tY2_.mjs";
3
+ import { H as me } from "./hash-CNgwAx-U.mjs";
4
4
  const p = () => /* @__PURE__ */ e.jsx("div", { className: "h-px w-full bg-gray-200 dark:bg-gray-950" }), pe = () => {
5
5
  const { postId: z } = G(), { canGoBack: k } = ee(), [B, T] = m(/* @__PURE__ */ new Set()), [H, I] = m(/* @__PURE__ */ new Set()), [S, P] = m(/* @__PURE__ */ new Set()), [w, D] = m(!1), V = C(null), v = C(null), r = C(null), g = C(null), u = te(), {
6
6
  threadParents: d,
@@ -246,4 +246,4 @@ const p = () => /* @__PURE__ */ e.jsx("div", { className: "h-px w-full bg-gray-2
246
246
  export {
247
247
  pe as default
248
248
  };
249
- //# sourceMappingURL=note-CfQDRkeT.mjs.map
249
+ //# sourceMappingURL=note-COVa8CMw.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"note-CfQDRkeT.mjs","sources":["../src/views/feed/note.tsx"],"sourcesContent":["import APAvatar from '@src/components/global/ap-avatar';\nimport APReplyBox from '@src/components/global/ap-reply-box';\nimport DeletedFeedItem from '@src/components/feed/deleted-feed-item';\nimport FeedItem from '@components/feed/feed-item';\nimport Layout from '@src/components/layout/layout';\nimport ProfilePreviewHoverCard from '@components/global/profile-preview-hover-card';\nimport React, {useEffect, useRef, useState} from 'react';\nimport ShowRepliesButton from '@src/components/global/show-replies-button';\nimport getUsername from '@src/utils/get-username';\nimport {Activity} from '@tryghost/admin-x-framework/api/activitypub';\nimport {EmptyViewIcon, EmptyViewIndicator} from '@src/components/global/empty-view-indicator';\nimport {LoadingIndicator, LucideIcon, Skeleton} from '@tryghost/shade';\nimport {handleProfileClick} from '@src/utils/handle-profile-click';\nimport {isPendingActivity} from '@src/utils/pending-activity';\nimport {renderTimestamp} from '@src/utils/render-timestamp';\nimport {useNavigateWithBasePath} from '@src/hooks/use-navigate-with-base-path';\nimport {useNavigationStack, useParams} from '@tryghost/admin-x-framework';\nimport {useReplyChainData} from '@hooks/use-reply-chain-data';\n\nconst FeedItemDivider: React.FC = () => (\n <div className=\"h-px w-full bg-gray-200 dark:bg-gray-950\"></div>\n);\n\nconst Note = () => {\n const {postId} = useParams();\n const {canGoBack} = useNavigationStack();\n\n const [expandedChains, setExpandedChains] = useState<Set<string>>(new Set());\n const [fullyExpandedChains, setFullyExpandedChains] = useState<Set<string>>(new Set());\n const [loadingChains, setLoadingChains] = useState<Set<string>>(new Set());\n const [isLoadingMoreTopLevelReplies, setIsLoadingMoreTopLevelReplies] = useState(false);\n const repliesRef = useRef<HTMLDivElement>(null);\n const postRef = useRef<HTMLDivElement>(null);\n const observerRef = useRef<IntersectionObserver | null>(null);\n const loadMoreRef = useRef<HTMLDivElement | null>(null);\n const navigate = useNavigateWithBasePath();\n\n const {\n threadParents,\n post: currentPost,\n processedReplies,\n isLoading,\n loadMoreChildren,\n loadMoreChildReplies,\n hasMoreChildren,\n hasMoreChildReplies\n } = useReplyChainData(decodeURIComponent(postId ?? ''), {includeAncestors: true});\n\n const object = currentPost?.object;\n\n const replyCount = object?.replyCount ?? 0;\n const [hasScrolledToPost, setHasScrolledToPost] = useState(false);\n\n useEffect(() => {\n if (postRef.current && threadParents.length > 0 && !hasScrolledToPost) {\n postRef.current.scrollIntoView({\n behavior: 'instant',\n block: 'start'\n });\n setHasScrolledToPost(true);\n }\n }, [threadParents, hasScrolledToPost]);\n\n useEffect(() => {\n if (observerRef.current) {\n observerRef.current.disconnect();\n }\n\n const container = document.querySelector('[data-scrollable-container]') as HTMLElement;\n if (!container) {\n return;\n }\n\n observerRef.current = new IntersectionObserver(async (entries) => {\n if (entries[0].isIntersecting && hasMoreChildren && !isLoadingMoreTopLevelReplies) {\n setIsLoadingMoreTopLevelReplies(true);\n try {\n await loadMoreChildren();\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('Failed to load more top-level replies:', error);\n } finally {\n setIsLoadingMoreTopLevelReplies(false);\n }\n }\n }, {\n root: container,\n rootMargin: '200px'\n });\n\n if (loadMoreRef.current) {\n observerRef.current.observe(loadMoreRef.current);\n }\n\n return () => {\n if (observerRef.current) {\n observerRef.current.disconnect();\n }\n };\n }, [hasMoreChildren, isLoadingMoreTopLevelReplies, loadMoreChildren]);\n\n if (isLoading) {\n return (\n <Layout>\n <div className='mx-auto flex max-w-[620px] flex-col items-center gap-3 pt-9 lg:px-8'>\n <div className='flex w-full items-center gap-3'>\n <Skeleton className='size-10 rounded-full' />\n <div className='grow pt-1'>\n <Skeleton className='w-24' />\n <Skeleton className='w-3/5' />\n </div>\n </div>\n <div className='mb-7 w-full'>\n <Skeleton />\n <Skeleton className='w-4/5' />\n <Skeleton />\n </div>\n <FeedItemDivider />\n <div className='flex w-full items-center gap-3 py-3'>\n <Skeleton className='block size-full' containerClassName='size-10 rounded-full overflow-hidden' />\n <div>\n <Skeleton className='w-52' />\n <Skeleton className='w-28' />\n </div>\n </div>\n <FeedItemDivider />\n </div>\n </Layout>\n );\n }\n\n if (!currentPost) {\n return (\n <Layout>\n <div className='mx-auto mt-4 flex w-full max-w-[620px] flex-col items-center'>\n <EmptyViewIndicator>\n <EmptyViewIcon><LucideIcon.Hash /></EmptyViewIcon>\n <div>Error loading note.</div>\n </EmptyViewIndicator>\n </div>\n </Layout>\n );\n }\n\n function handleDelete() {\n // Reply count will be updated via cache invalidation\n }\n\n function toggleChain(chainId: string) {\n setExpandedChains((prev) => {\n const newSet = new Set(prev);\n if (newSet.has(chainId)) {\n newSet.delete(chainId);\n } else {\n newSet.add(chainId);\n setFullyExpandedChains((fullyExpanded) => {\n const newFullyExpanded = new Set(fullyExpanded);\n newFullyExpanded.add(chainId);\n return newFullyExpanded;\n });\n }\n return newSet;\n });\n }\n\n async function loadMoreForChain(chainId: string, childIndex: number) {\n if (loadingChains.has(chainId)) {\n return;\n }\n\n setLoadingChains(prev => new Set(prev).add(chainId));\n\n try {\n if (loadMoreChildReplies) {\n await loadMoreChildReplies(childIndex);\n }\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('Failed to load more replies for chain:', error);\n } finally {\n setLoadingChains((prev) => {\n const newSet = new Set(prev);\n newSet.delete(chainId);\n return newSet;\n });\n }\n }\n\n return (\n <Layout>\n <div className='mx-auto flex h-full max-w-[620px] flex-col'>\n <div className='relative flex-1'>\n <div className='grow overflow-y-auto'>\n <div className={`mx-auto px-8 pb-10 pt-5 max-lg:px-0`}>\n {!threadParents.length &&\n <ProfilePreviewHoverCard actor={currentPost.actor} isCurrentUser={currentPost.object.authored}>\n <div className={`col-[2/3] mx-auto flex w-full cursor-pointer items-center gap-3 ${canGoBack ? 'pt-10 max-md:pt-5' : 'pt-5'}`}>\n <div className='relative z-10'>\n <APAvatar author={currentPost.actor} showFollowButton={!currentPost.object.authored && !currentPost.actor.followedByMe}/>\n </div>\n <div className='relative z-10 flex w-full min-w-0 cursor-pointer flex-col overflow-visible text-[1.5rem]' onClick={(e) => {\n handleProfileClick(currentPost.actor, navigate, e);\n }}>\n <div className='flex w-full'>\n <span className='min-w-0 truncate whitespace-nowrap font-semibold hover:underline'>{currentPost.actor.name}</span>\n </div>\n <div className='flex w-full'>\n <span className='truncate text-gray-700 after:mx-1 after:font-normal after:text-gray-700 after:content-[\"·\"]'>{getUsername(currentPost.actor)}</span>\n <span className='text-gray-700'>{renderTimestamp(object, !object.authored)}</span>\n </div>\n </div>\n </div>\n </ProfilePreviewHoverCard>\n }\n\n {threadParents.map((item) => {\n return (\n item.object.type === 'Tombstone' ? (\n <DeletedFeedItem last={false} />\n ) : (\n <FeedItem\n actor={item.actor}\n allowDelete={false}\n commentCount={item.object.replyCount ?? 0}\n last={false}\n layout='reply'\n likeCount={item.object.likeCount ?? 0}\n object={item.object}\n repostCount={item.object.repostCount ?? 0}\n type='Note'\n onClick={() => {\n navigate(`/${item.object.type === 'Article' ? 'reader' : 'notes'}/${encodeURIComponent(item.object.id)}`);\n }}\n />\n )\n );\n })}\n <div ref={postRef} className={`${canGoBack ? 'scroll-mt-[12px]' : 'scroll-mt-[124px]'}`}>\n <div className={`${threadParents.length > 0 && 'min-h-[calc(100vh-52px)]'}`}>\n <FeedItem\n actor={currentPost.actor}\n allowDelete={false}\n commentCount={replyCount}\n last={true}\n layout={'modal'}\n likeCount={object.likeCount ?? 0}\n object={object}\n repostCount={object.repostCount}\n showHeader={threadParents.length > 0}\n showStats={true}\n type='Note'\n />\n <APReplyBox\n object={object}\n />\n <FeedItemDivider />\n <div ref={repliesRef}>\n {\n processedReplies.map((replyGroup, groupIndex) => {\n const isLastGroup = groupIndex === processedReplies.length - 1;\n const chainId = replyGroup.mainReply.id;\n const isExpanded = expandedChains.has(chainId);\n const isFullyExpanded = fullyExpandedChains.has(chainId);\n const isChainLoading = loadingChains.has(chainId);\n const hasChain = replyGroup.chain.length > 0;\n\n return (\n <React.Fragment key={replyGroup.mainReply.id}>\n <FeedItem\n actor={replyGroup.mainReply.actor}\n allowDelete={replyGroup.mainReply.object.authored}\n commentCount={replyGroup.mainReply.object.replyCount ?? 0}\n isChainParent={hasChain}\n isPending={isPendingActivity(replyGroup.mainReply.id)}\n last={!hasChain}\n layout='reply'\n likeCount={replyGroup.mainReply.object.likeCount ?? 0}\n object={replyGroup.mainReply.object}\n parentId={object.id}\n repostCount={replyGroup.mainReply.object.repostCount ?? 0}\n type='Note'\n onClick={() => {\n navigate(`/notes/${encodeURIComponent(replyGroup.mainReply.id)}`);\n }}\n onDelete={handleDelete}\n />\n\n {hasChain && replyGroup.chain[0] && (\n <FeedItem\n key={replyGroup.chain[0].id}\n actor={replyGroup.chain[0].actor}\n allowDelete={replyGroup.chain[0].object.authored}\n commentCount={replyGroup.chain[0].object.replyCount ?? 0}\n isChainContinuation={true}\n isPending={isPendingActivity(replyGroup.chain[0].id)}\n last={replyGroup.chain.length === 1}\n layout='reply'\n likeCount={replyGroup.chain[0].object.likeCount ?? 0}\n object={replyGroup.chain[0].object}\n parentId={object.id}\n repostCount={replyGroup.chain[0].object.repostCount ?? 0}\n type='Note'\n onClick={() => {\n navigate(`/notes/${encodeURIComponent(replyGroup.chain[0].id)}`);\n }}\n onDelete={handleDelete}\n />\n )}\n\n {hasChain && isExpanded && replyGroup.chain.slice(1).map((chainItem: Activity, chainIndex: number) => {\n const isLastChainItem = chainIndex === replyGroup.chain.slice(1).length - 1;\n const hasMoreReplies = hasMoreChildReplies && hasMoreChildReplies(groupIndex);\n const shouldShowConnector = isLastChainItem && hasMoreReplies;\n\n return (\n <FeedItem\n key={chainItem.id}\n actor={chainItem.actor}\n allowDelete={chainItem.object.authored}\n commentCount={chainItem.object.replyCount ?? 0}\n isChainContinuation={true}\n isPending={isPendingActivity(chainItem.id)}\n last={isLastChainItem && !shouldShowConnector}\n layout='reply'\n likeCount={chainItem.object.likeCount ?? 0}\n object={chainItem.object}\n parentId={object.id}\n repostCount={chainItem.object.repostCount ?? 0}\n type='Note'\n onClick={() => {\n navigate(`/notes/${encodeURIComponent(chainItem.id)}`);\n }}\n onDelete={handleDelete}\n />\n );\n })}\n\n {hasChain && replyGroup.chain.length > 1 && !isExpanded && (\n <ShowRepliesButton\n variant='expand'\n onClick={() => toggleChain(chainId)}\n />\n )}\n\n {hasChain && isExpanded && isFullyExpanded && hasMoreChildReplies && hasMoreChildReplies(groupIndex) && (\n <ShowRepliesButton\n loading={isChainLoading}\n variant='loadMore'\n onClick={() => loadMoreForChain(chainId, groupIndex)}\n />\n )}\n\n {!isLastGroup && <FeedItemDivider />}\n </React.Fragment>\n );\n })\n }\n\n {isLoadingMoreTopLevelReplies && (\n <div className='flex flex-col items-center justify-center text-center'>\n <LoadingIndicator size='md' />\n </div>\n )}\n </div>\n\n {hasMoreChildren && <div ref={loadMoreRef} className='h-1'></div>}\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </Layout>\n );\n};\n\nexport default Note;\n"],"names":["FeedItemDivider","jsx","Note","postId","useParams","canGoBack","useNavigationStack","expandedChains","setExpandedChains","useState","fullyExpandedChains","setFullyExpandedChains","loadingChains","setLoadingChains","isLoadingMoreTopLevelReplies","setIsLoadingMoreTopLevelReplies","repliesRef","useRef","postRef","observerRef","loadMoreRef","navigate","useNavigateWithBasePath","threadParents","currentPost","processedReplies","isLoading","loadMoreChildren","loadMoreChildReplies","hasMoreChildren","hasMoreChildReplies","useReplyChainData","object","replyCount","hasScrolledToPost","setHasScrolledToPost","useEffect","container","entries","error","Layout","jsxs","Skeleton","EmptyViewIndicator","EmptyViewIcon","LucideIcon.Hash","handleDelete","toggleChain","chainId","prev","newSet","fullyExpanded","newFullyExpanded","loadMoreForChain","childIndex","ProfilePreviewHoverCard","APAvatar","e","handleProfileClick","getUsername","item","DeletedFeedItem","FeedItem","APReplyBox","replyGroup","groupIndex","isLastGroup","isExpanded","isFullyExpanded","isChainLoading","hasChain","React","isPendingActivity","chainItem","chainIndex","isLastChainItem","hasMoreReplies","shouldShowConnector","ShowRepliesButton","LoadingIndicator"],"mappings":"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"}
1
+ {"version":3,"file":"note-COVa8CMw.mjs","sources":["../src/views/feed/note.tsx"],"sourcesContent":["import APAvatar from '@src/components/global/ap-avatar';\nimport APReplyBox from '@src/components/global/ap-reply-box';\nimport DeletedFeedItem from '@src/components/feed/deleted-feed-item';\nimport FeedItem from '@components/feed/feed-item';\nimport Layout from '@src/components/layout/layout';\nimport ProfilePreviewHoverCard from '@components/global/profile-preview-hover-card';\nimport React, {useEffect, useRef, useState} from 'react';\nimport ShowRepliesButton from '@src/components/global/show-replies-button';\nimport getUsername from '@src/utils/get-username';\nimport {Activity} from '@tryghost/admin-x-framework/api/activitypub';\nimport {EmptyViewIcon, EmptyViewIndicator} from '@src/components/global/empty-view-indicator';\nimport {LoadingIndicator, LucideIcon, Skeleton} from '@tryghost/shade';\nimport {handleProfileClick} from '@src/utils/handle-profile-click';\nimport {isPendingActivity} from '@src/utils/pending-activity';\nimport {renderTimestamp} from '@src/utils/render-timestamp';\nimport {useNavigateWithBasePath} from '@src/hooks/use-navigate-with-base-path';\nimport {useNavigationStack, useParams} from '@tryghost/admin-x-framework';\nimport {useReplyChainData} from '@hooks/use-reply-chain-data';\n\nconst FeedItemDivider: React.FC = () => (\n <div className=\"h-px w-full bg-gray-200 dark:bg-gray-950\"></div>\n);\n\nconst Note = () => {\n const {postId} = useParams();\n const {canGoBack} = useNavigationStack();\n\n const [expandedChains, setExpandedChains] = useState<Set<string>>(new Set());\n const [fullyExpandedChains, setFullyExpandedChains] = useState<Set<string>>(new Set());\n const [loadingChains, setLoadingChains] = useState<Set<string>>(new Set());\n const [isLoadingMoreTopLevelReplies, setIsLoadingMoreTopLevelReplies] = useState(false);\n const repliesRef = useRef<HTMLDivElement>(null);\n const postRef = useRef<HTMLDivElement>(null);\n const observerRef = useRef<IntersectionObserver | null>(null);\n const loadMoreRef = useRef<HTMLDivElement | null>(null);\n const navigate = useNavigateWithBasePath();\n\n const {\n threadParents,\n post: currentPost,\n processedReplies,\n isLoading,\n loadMoreChildren,\n loadMoreChildReplies,\n hasMoreChildren,\n hasMoreChildReplies\n } = useReplyChainData(decodeURIComponent(postId ?? ''), {includeAncestors: true});\n\n const object = currentPost?.object;\n\n const replyCount = object?.replyCount ?? 0;\n const [hasScrolledToPost, setHasScrolledToPost] = useState(false);\n\n useEffect(() => {\n if (postRef.current && threadParents.length > 0 && !hasScrolledToPost) {\n postRef.current.scrollIntoView({\n behavior: 'instant',\n block: 'start'\n });\n setHasScrolledToPost(true);\n }\n }, [threadParents, hasScrolledToPost]);\n\n useEffect(() => {\n if (observerRef.current) {\n observerRef.current.disconnect();\n }\n\n const container = document.querySelector('[data-scrollable-container]') as HTMLElement;\n if (!container) {\n return;\n }\n\n observerRef.current = new IntersectionObserver(async (entries) => {\n if (entries[0].isIntersecting && hasMoreChildren && !isLoadingMoreTopLevelReplies) {\n setIsLoadingMoreTopLevelReplies(true);\n try {\n await loadMoreChildren();\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('Failed to load more top-level replies:', error);\n } finally {\n setIsLoadingMoreTopLevelReplies(false);\n }\n }\n }, {\n root: container,\n rootMargin: '200px'\n });\n\n if (loadMoreRef.current) {\n observerRef.current.observe(loadMoreRef.current);\n }\n\n return () => {\n if (observerRef.current) {\n observerRef.current.disconnect();\n }\n };\n }, [hasMoreChildren, isLoadingMoreTopLevelReplies, loadMoreChildren]);\n\n if (isLoading) {\n return (\n <Layout>\n <div className='mx-auto flex max-w-[620px] flex-col items-center gap-3 pt-9 lg:px-8'>\n <div className='flex w-full items-center gap-3'>\n <Skeleton className='size-10 rounded-full' />\n <div className='grow pt-1'>\n <Skeleton className='w-24' />\n <Skeleton className='w-3/5' />\n </div>\n </div>\n <div className='mb-7 w-full'>\n <Skeleton />\n <Skeleton className='w-4/5' />\n <Skeleton />\n </div>\n <FeedItemDivider />\n <div className='flex w-full items-center gap-3 py-3'>\n <Skeleton className='block size-full' containerClassName='size-10 rounded-full overflow-hidden' />\n <div>\n <Skeleton className='w-52' />\n <Skeleton className='w-28' />\n </div>\n </div>\n <FeedItemDivider />\n </div>\n </Layout>\n );\n }\n\n if (!currentPost) {\n return (\n <Layout>\n <div className='mx-auto mt-4 flex w-full max-w-[620px] flex-col items-center'>\n <EmptyViewIndicator>\n <EmptyViewIcon><LucideIcon.Hash /></EmptyViewIcon>\n <div>Error loading note.</div>\n </EmptyViewIndicator>\n </div>\n </Layout>\n );\n }\n\n function handleDelete() {\n // Reply count will be updated via cache invalidation\n }\n\n function toggleChain(chainId: string) {\n setExpandedChains((prev) => {\n const newSet = new Set(prev);\n if (newSet.has(chainId)) {\n newSet.delete(chainId);\n } else {\n newSet.add(chainId);\n setFullyExpandedChains((fullyExpanded) => {\n const newFullyExpanded = new Set(fullyExpanded);\n newFullyExpanded.add(chainId);\n return newFullyExpanded;\n });\n }\n return newSet;\n });\n }\n\n async function loadMoreForChain(chainId: string, childIndex: number) {\n if (loadingChains.has(chainId)) {\n return;\n }\n\n setLoadingChains(prev => new Set(prev).add(chainId));\n\n try {\n if (loadMoreChildReplies) {\n await loadMoreChildReplies(childIndex);\n }\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('Failed to load more replies for chain:', error);\n } finally {\n setLoadingChains((prev) => {\n const newSet = new Set(prev);\n newSet.delete(chainId);\n return newSet;\n });\n }\n }\n\n return (\n <Layout>\n <div className='mx-auto flex h-full max-w-[620px] flex-col'>\n <div className='relative flex-1'>\n <div className='grow overflow-y-auto'>\n <div className={`mx-auto px-8 pb-10 pt-5 max-lg:px-0`}>\n {!threadParents.length &&\n <ProfilePreviewHoverCard actor={currentPost.actor} isCurrentUser={currentPost.object.authored}>\n <div className={`col-[2/3] mx-auto flex w-full cursor-pointer items-center gap-3 ${canGoBack ? 'pt-10 max-md:pt-5' : 'pt-5'}`}>\n <div className='relative z-10'>\n <APAvatar author={currentPost.actor} showFollowButton={!currentPost.object.authored && !currentPost.actor.followedByMe}/>\n </div>\n <div className='relative z-10 flex w-full min-w-0 cursor-pointer flex-col overflow-visible text-[1.5rem]' onClick={(e) => {\n handleProfileClick(currentPost.actor, navigate, e);\n }}>\n <div className='flex w-full'>\n <span className='min-w-0 truncate whitespace-nowrap font-semibold hover:underline'>{currentPost.actor.name}</span>\n </div>\n <div className='flex w-full'>\n <span className='truncate text-gray-700 after:mx-1 after:font-normal after:text-gray-700 after:content-[\"·\"]'>{getUsername(currentPost.actor)}</span>\n <span className='text-gray-700'>{renderTimestamp(object, !object.authored)}</span>\n </div>\n </div>\n </div>\n </ProfilePreviewHoverCard>\n }\n\n {threadParents.map((item) => {\n return (\n item.object.type === 'Tombstone' ? (\n <DeletedFeedItem last={false} />\n ) : (\n <FeedItem\n actor={item.actor}\n allowDelete={false}\n commentCount={item.object.replyCount ?? 0}\n last={false}\n layout='reply'\n likeCount={item.object.likeCount ?? 0}\n object={item.object}\n repostCount={item.object.repostCount ?? 0}\n type='Note'\n onClick={() => {\n navigate(`/${item.object.type === 'Article' ? 'reader' : 'notes'}/${encodeURIComponent(item.object.id)}`);\n }}\n />\n )\n );\n })}\n <div ref={postRef} className={`${canGoBack ? 'scroll-mt-[12px]' : 'scroll-mt-[124px]'}`}>\n <div className={`${threadParents.length > 0 && 'min-h-[calc(100vh-52px)]'}`}>\n <FeedItem\n actor={currentPost.actor}\n allowDelete={false}\n commentCount={replyCount}\n last={true}\n layout={'modal'}\n likeCount={object.likeCount ?? 0}\n object={object}\n repostCount={object.repostCount}\n showHeader={threadParents.length > 0}\n showStats={true}\n type='Note'\n />\n <APReplyBox\n object={object}\n />\n <FeedItemDivider />\n <div ref={repliesRef}>\n {\n processedReplies.map((replyGroup, groupIndex) => {\n const isLastGroup = groupIndex === processedReplies.length - 1;\n const chainId = replyGroup.mainReply.id;\n const isExpanded = expandedChains.has(chainId);\n const isFullyExpanded = fullyExpandedChains.has(chainId);\n const isChainLoading = loadingChains.has(chainId);\n const hasChain = replyGroup.chain.length > 0;\n\n return (\n <React.Fragment key={replyGroup.mainReply.id}>\n <FeedItem\n actor={replyGroup.mainReply.actor}\n allowDelete={replyGroup.mainReply.object.authored}\n commentCount={replyGroup.mainReply.object.replyCount ?? 0}\n isChainParent={hasChain}\n isPending={isPendingActivity(replyGroup.mainReply.id)}\n last={!hasChain}\n layout='reply'\n likeCount={replyGroup.mainReply.object.likeCount ?? 0}\n object={replyGroup.mainReply.object}\n parentId={object.id}\n repostCount={replyGroup.mainReply.object.repostCount ?? 0}\n type='Note'\n onClick={() => {\n navigate(`/notes/${encodeURIComponent(replyGroup.mainReply.id)}`);\n }}\n onDelete={handleDelete}\n />\n\n {hasChain && replyGroup.chain[0] && (\n <FeedItem\n key={replyGroup.chain[0].id}\n actor={replyGroup.chain[0].actor}\n allowDelete={replyGroup.chain[0].object.authored}\n commentCount={replyGroup.chain[0].object.replyCount ?? 0}\n isChainContinuation={true}\n isPending={isPendingActivity(replyGroup.chain[0].id)}\n last={replyGroup.chain.length === 1}\n layout='reply'\n likeCount={replyGroup.chain[0].object.likeCount ?? 0}\n object={replyGroup.chain[0].object}\n parentId={object.id}\n repostCount={replyGroup.chain[0].object.repostCount ?? 0}\n type='Note'\n onClick={() => {\n navigate(`/notes/${encodeURIComponent(replyGroup.chain[0].id)}`);\n }}\n onDelete={handleDelete}\n />\n )}\n\n {hasChain && isExpanded && replyGroup.chain.slice(1).map((chainItem: Activity, chainIndex: number) => {\n const isLastChainItem = chainIndex === replyGroup.chain.slice(1).length - 1;\n const hasMoreReplies = hasMoreChildReplies && hasMoreChildReplies(groupIndex);\n const shouldShowConnector = isLastChainItem && hasMoreReplies;\n\n return (\n <FeedItem\n key={chainItem.id}\n actor={chainItem.actor}\n allowDelete={chainItem.object.authored}\n commentCount={chainItem.object.replyCount ?? 0}\n isChainContinuation={true}\n isPending={isPendingActivity(chainItem.id)}\n last={isLastChainItem && !shouldShowConnector}\n layout='reply'\n likeCount={chainItem.object.likeCount ?? 0}\n object={chainItem.object}\n parentId={object.id}\n repostCount={chainItem.object.repostCount ?? 0}\n type='Note'\n onClick={() => {\n navigate(`/notes/${encodeURIComponent(chainItem.id)}`);\n }}\n onDelete={handleDelete}\n />\n );\n })}\n\n {hasChain && replyGroup.chain.length > 1 && !isExpanded && (\n <ShowRepliesButton\n variant='expand'\n onClick={() => toggleChain(chainId)}\n />\n )}\n\n {hasChain && isExpanded && isFullyExpanded && hasMoreChildReplies && hasMoreChildReplies(groupIndex) && (\n <ShowRepliesButton\n loading={isChainLoading}\n variant='loadMore'\n onClick={() => loadMoreForChain(chainId, groupIndex)}\n />\n )}\n\n {!isLastGroup && <FeedItemDivider />}\n </React.Fragment>\n );\n })\n }\n\n {isLoadingMoreTopLevelReplies && (\n <div className='flex flex-col items-center justify-center text-center'>\n <LoadingIndicator size='md' />\n </div>\n )}\n </div>\n\n {hasMoreChildren && <div ref={loadMoreRef} className='h-1'></div>}\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </Layout>\n );\n};\n\nexport default Note;\n"],"names":["FeedItemDivider","jsx","Note","postId","useParams","canGoBack","useNavigationStack","expandedChains","setExpandedChains","useState","fullyExpandedChains","setFullyExpandedChains","loadingChains","setLoadingChains","isLoadingMoreTopLevelReplies","setIsLoadingMoreTopLevelReplies","repliesRef","useRef","postRef","observerRef","loadMoreRef","navigate","useNavigateWithBasePath","threadParents","currentPost","processedReplies","isLoading","loadMoreChildren","loadMoreChildReplies","hasMoreChildren","hasMoreChildReplies","useReplyChainData","object","replyCount","hasScrolledToPost","setHasScrolledToPost","useEffect","container","entries","error","Layout","jsxs","Skeleton","EmptyViewIndicator","EmptyViewIcon","LucideIcon.Hash","handleDelete","toggleChain","chainId","prev","newSet","fullyExpanded","newFullyExpanded","loadMoreForChain","childIndex","ProfilePreviewHoverCard","APAvatar","e","handleProfileClick","getUsername","item","DeletedFeedItem","FeedItem","APReplyBox","replyGroup","groupIndex","isLastGroup","isExpanded","isFullyExpanded","isChainLoading","hasChain","React","isPendingActivity","chainItem","chainIndex","isLastChainItem","hasMoreReplies","shouldShowConnector","ShowRepliesButton","LoadingIndicator"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { a6 as e } from "./index-_vEj3NfZ.mjs";
1
+ import { a6 as e } from "./index--Q6orQkb.mjs";
2
2
  /**
3
3
  * @license lucide-react v0.553.0 - ISC
4
4
  *
@@ -12,4 +12,4 @@ const c = [
12
12
  export {
13
13
  a as R
14
14
  };
15
- //# sourceMappingURL=reply-BrWarBVQ.mjs.map
15
+ //# sourceMappingURL=reply-BHpKVBxx.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"reply-BrWarBVQ.mjs","sources":["../../../node_modules/lucide-react/dist/esm/icons/reply.js"],"sourcesContent":["/**\n * @license lucide-react v0.553.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"path\", { d: \"M20 18v-2a4 4 0 0 0-4-4H4\", key: \"5vmcpk\" }],\n [\"path\", { d: \"m9 17-5-5 5-5\", key: \"nvlc11\" }]\n];\nconst Reply = createLucideIcon(\"reply\", __iconNode);\n\nexport { __iconNode, Reply as default };\n//# sourceMappingURL=reply.js.map\n"],"names":["__iconNode","Reply","createLucideIcon"],"mappings":";AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASA,MAAMA,IAAa;AAAA,EACjB,CAAC,QAAQ,EAAE,GAAG,6BAA6B,KAAK,SAAQ,CAAE;AAAA,EAC1D,CAAC,QAAQ,EAAE,GAAG,iBAAiB,KAAK,SAAQ,CAAE;AAChD,GACMC,IAAQC,EAAiB,SAASF,CAAU;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"reply-BHpKVBxx.mjs","sources":["../../../node_modules/lucide-react/dist/esm/icons/reply.js"],"sourcesContent":["/**\n * @license lucide-react v0.553.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"path\", { d: \"M20 18v-2a4 4 0 0 0-4-4H4\", key: \"5vmcpk\" }],\n [\"path\", { d: \"m9 17-5-5 5-5\", key: \"nvlc11\" }]\n];\nconst Reply = createLucideIcon(\"reply\", __iconNode);\n\nexport { __iconNode, Reply as default };\n//# sourceMappingURL=reply.js.map\n"],"names":["__iconNode","Reply","createLucideIcon"],"mappings":";AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASA,MAAMA,IAAa;AAAA,EACjB,CAAC,QAAQ,EAAE,GAAG,6BAA6B,KAAK,SAAQ,CAAE;AAAA,EAC1D,CAAC,QAAQ,EAAE,GAAG,iBAAiB,KAAK,SAAQ,CAAE;AAChD,GACMC,IAAQC,EAAiB,SAASF,CAAU;","x_google_ignoreList":[0]}