(self.webpackChunk_N_E = self.webpackChunk_N_E || []).push([
[2378], {
59422: function(e, t, n) {
"use strict";
n.d(t, {
hg: function() {
return Atom
},
Dh: function() {
return Automagic
},
rZ: function() {
return Bolt
},
oB: function() {
return Diversified
},
fJ: function() {
return l
},
iK: function() {
return PortfolioAssetDetailsTimeRangeSelector
},
jp: function() {
return PortfolioFlavorDetailsTimeRangeSelector
},
dl: function() {
return getIdFromFlavor
},
Hz: function() {
return numberToRiskScore
}
});
var a = n(97458);
function Atom(e) {
let {
fill: t = "#fff",
...n
} = e;
return (0, a.jsx)("svg", {
viewBox: "0 0 64 64",
xmlns: "http://www.w3.org/2000/svg",
...n,
children: (0, a.jsx)("path", {
fillRule: "evenodd",
clipRule: "evenodd",
d: "M45.089 14.364a69.252 69.252 0 00-2.783 1.962c-1.136.841-1.009 2.575.067 3.492.86.732 1.64 1.554 2.33 2.451.619.808 1.862.898 2.476.087l.144-.192a1.214 1.214 0 011.684-.258c.535.39.654 1.142.256 1.672a95.934 95.934 0 01-1.537 1.991c-.439.553-.553 1.291-.356 1.969.41 1.416.63 2.913.63 4.462 0 1.548-.22 3.046-.63 4.462-.197.677-.082 1.416.356 1.969 2.703 3.41 4.83 6.534 6.18 9.098.786 1.492 1.344 2.859 1.575 4.02.218 1.1.209 2.38-.672 3.26-.611.612-1.426.8-2.193.79-.764-.008-1.613-.209-2.495-.525-1.77-.633-3.946-1.83-6.364-3.441a81.199 81.199 0 01-5.326-3.908c-.553-.438-1.291-.552-1.969-.355A16.02 16.02 0 0132 48a16.01 16.01 0 01-4.462-.63c-.678-.197-1.416-.082-1.969.356-3.411 2.703-6.534 4.83-9.098 6.18-1.492.786-2.859 1.344-4.02 1.574-1.1.219-2.38.21-3.26-.67-.612-.613-.8-1.427-.79-2.194.008-.765.209-1.613.525-2.495.633-1.77 1.83-3.946 3.441-6.364a81.199 81.199 0 013.907-5.326c.439-.553.553-1.291.357-1.97A16.005 16.005 0 0116 32c0-1.549.22-3.046.63-4.462.197-.678.083-1.416-.356-1.969a81.172 81.172 0 01-3.907-5.326c-1.612-2.418-2.808-4.593-3.441-6.364-.316-.882-.517-1.73-.526-2.495-.008-.767.179-1.582.79-2.193.881-.88 2.161-.89 3.261-.672 1.161.23 2.528.789 4.02 1.575 2.564 1.35 5.687 3.476 9.098 6.18.553.438 1.291.553 1.969.356A16.01 16.01 0 0132 16c1.549 0 3.046.22 4.462.63.678.197 1.416.082 1.969-.356a81.199 81.199 0 015.326-3.907c2.418-1.612 4.593-2.808 6.364-3.442.882-.315 1.73-.516 2.495-.525.767-.009 1.581.179 2.193.79.777.777.871 1.87.742 2.835-.092.693-.314 1.46-.636 2.278-.243.617-.963.873-1.563.592-.6-.282-.85-.994-.615-1.613.238-.628.38-1.153.436-1.574.042-.32.03-.534 0-.666-.025-.12-.058-.152-.06-.154-.004-.004-.023-.023-.087-.044a1.218 1.218 0 00-.383-.044c-.392.005-.959.115-1.713.385-1.503.538-3.49 1.612-5.841 3.179zm-23.462 5.454c1.076-.918 1.203-2.651.066-3.493-2.384-1.765-4.535-3.157-6.34-4.108-1.405-.74-2.537-1.178-3.369-1.344-.414-.082-.7-.085-.884-.057a.64.64 0 00-.17.046.135.135 0 00-.042.026c-.004.003-.023.022-.044.086-.023.07-.046.192-.044.383.005.392.115.959.385 1.713.538 1.503 1.612 3.49 3.18 5.841.59.886 1.245 1.816 1.96 2.782.842 1.137 2.576 1.01 3.493-.066a16.188 16.188 0 011.809-1.81zm-.841 11.103c-.845-.948-2.35-.537-2.382.734a14.154 14.154 0 000 .69c.032 1.27 1.537 1.682 2.382.734a1.647 1.647 0 000-2.158zm4.101-2.258c-.811.84-2.167.829-2.937-.048-.464-.528-.916-1.051-1.356-1.569-.509-.599-.62-1.45-.212-2.12A13.592 13.592 0 0132 18.4c1.415 0 1.854 1.69.8 2.635a152.003 152.003 0 00-7.913 7.628zm0 6.674c-.811-.84-2.167-.83-2.937.048-.464.528-.916 1.05-1.356 1.569-.509.599-.62 1.45-.212 2.12A13.592 13.592 0 0032 45.6c1.415 0 1.854-1.69.8-2.635a152.072 152.072 0 01-7.913-7.628zm14.187 8.28c-.67.41-1.521.298-2.12-.211a144.213 144.213 0 01-8.498-7.862c-.73-.73-1.444-1.46-2.141-2.184a1.96 1.96 0 010-2.72c.697-.725 1.411-1.454 2.141-2.184a144.179 144.179 0 018.498-7.862c.599-.51 1.45-.621 2.12-.212A13.592 13.592 0 0145.6 32c0 4.92-2.612 9.23-6.526 11.617zm3.3.565c-1.077.917-1.204 2.65-.068 3.492a69.354 69.354 0 002.783 1.962c2.35 1.567 4.338 2.64 5.84 3.179.755.27 1.322.38 1.714.385.191.002.313-.021.383-.044.064-.021.083-.04.086-.044a.136.136 0 00.026-.041.638.638 0 00.046-.17c.028-.184.025-.472-.058-.885-.165-.832-.603-1.964-1.343-3.368-.951-1.806-2.343-3.957-4.108-6.341-.842-1.137-2.576-1.01-3.493.066a16.188 16.188 0 01-1.809 1.81zm-28.01.906a69.355 69.355 0 011.962-2.782c.841-1.136 2.575-1.009 3.492.067.554.65 1.159 1.255 1.809 1.81 1.076.916 1.203 2.65.066 3.491-2.384 1.766-4.535 3.158-6.34 4.109-1.405.74-2.537 1.178-3.369 1.343-.414.082-.7.086-.884.058a.64.64 0 01-.17-.046.135.135 0 01-.042-.026c-.004-.003-.023-.023-.044-.086a1.216 1.216 0 01-.044-.383c.005-.393.115-.959.385-1.713.538-1.503 1.612-3.49 3.18-5.842zM50.66 19.541a1.221 1.221 0 01-.346-1.672l.128-.203a1.228 1.228 0 011.658-.418c.572.335.764 1.071.413 1.633l-.2.319a1.18 1.18 0 01-1.653.34zm-8.9 8.859c-.622.23-.931.919-.785 1.565.061.275.111.554.148.838.085.657.614 1.197 1.277 1.197.663 0 1.206-.539 1.139-1.198a11.56 11.56 0 00-.297-1.672c-.164-.642-.86-.96-1.482-.73zm0 7.2c-.622-.23-1.305.093-1.614.68a9.25 9.25 0 01-3.203 3.481c-.56.357-.824 1.065-.543 1.665.28.6.999.865 1.567.523a11.647 11.647 0 004.446-4.831c.292-.595-.031-1.289-.653-1.518z",
fill: t
})
})
}
function Automagic(e) {
let {
fill: t = "#fff",
...n
} = e;
return (0, a.jsxs)("svg", {
viewBox: "0 0 64 64",
xmlns: "http://www.w3.org/2000/svg",
...n,
children: [(0, a.jsx)("path", {
fillRule: "evenodd",
clipRule: "evenodd",
d: "M22.792 14.707a1.6 1.6 0 00.901.901l5.333 2.103c1.35.533 1.35 2.445 0 2.977l-5.333 2.104a1.6 1.6 0 00-.901.901l-2.104 5.333c-.532 1.35-2.444 1.35-2.976 0l-2.104-5.333a1.6 1.6 0 00-.901-.901l-5.333-2.104c-1.35-.532-1.35-2.444 0-2.977l5.333-2.103a1.6 1.6 0 00.901-.901l2.104-5.333c.532-1.35 2.444-1.35 2.976 0l2.104 5.333zm-.307 3.004c1.35.533 1.35 2.445 0 2.977l-.642.253a1.6 1.6 0 00-.901.902l-.254.642c-.532 1.35-2.444 1.35-2.976 0l-.253-.642a1.6 1.6 0 00-.902-.902l-.642-.253c-1.35-.532-1.35-2.444 0-2.977l.642-.253a1.6 1.6 0 00.902-.901l.253-.642c.532-1.35 2.444-1.35 2.976 0l.254.642a1.6 1.6 0 00.9.901l.643.253zM17.6 39.6a3.6 3.6 0 11-7.2 0 3.6 3.6 0 017.2 0zm-2.4 0a1.2 1.2 0 11-2.4 0 1.2 1.2 0 012.4 0z",
fill: t
}), (0, a.jsx)("path", {
d: "M29.766 48.049c-.346-.877-1.586-.877-1.932 0-.105.268-.317.48-.585.585-.876.346-.876 1.586 0 1.932.268.105.48.317.585.585.346.876 1.586.876 1.932 0 .105-.268.317-.48.585-.585.876-.346.876-1.586 0-1.932a1.039 1.039 0 01-.585-.585zm10.868-35.2c.346-.877 1.586-.877 1.932 0 .105.268.317.48.585.585.876.346.876 1.586 0 1.932-.268.105-.48.317-.585.585-.346.876-1.586.876-1.932 0a1.039 1.039 0 00-.585-.585c-.876-.346-.876-1.586 0-1.932.268-.106.48-.317.585-.585z",
fill: t
}), (0, a.jsx)("path", {
fillRule: "evenodd",
clipRule: "evenodd",
d: "M27.419 31.944a1.6 1.6 0 010-2.263l2.262-2.263a1.6 1.6 0 012.263 0L56.89 52.365a1.6 1.6 0 010 2.262l-2.263 2.263a1.6 1.6 0 01-2.262 0L27.419 31.944zm2.828-.566a.8.8 0 111.131-1.131l8.222 8.221a.8.8 0 01-1.131 1.132l-8.222-8.222z",
fill: t
})]
})
}
function Bolt(e) {
let {
fill: t = "#fff",
...n
} = e;
return (0, a.jsxs)("svg", {
viewBox: "0 0 64 64",
xmlns: "http://www.w3.org/2000/svg",
...n,
children: [(0, a.jsx)("path", {
fillRule: "evenodd",
clipRule: "evenodd",
d: "M41.056 9.518c.546-1.638-1.53-2.86-2.697-1.587L14.457 34.004c-.941 1.027-.213 2.682 1.18 2.682h11.285a1.6 1.6 0 011.518 2.106l-5.497 16.49c-.546 1.638 1.53 2.86 2.697 1.587l23.901-26.074c.941-1.026.213-2.68-1.18-2.68H37.078a1.6 1.6 0 01-1.518-2.107l5.497-16.49zm3.03 23.677c.941-1.026.213-2.68-1.179-2.68h-9.16a1.6 1.6 0 01-1.518-2.107l2.991-8.972c.546-1.638-1.53-2.86-2.697-1.587l-12.61 13.756c-.94 1.026-.212 2.68 1.18 2.68h9.16a1.6 1.6 0 011.518 2.107l-2.991 8.972c-.546 1.638 1.53 2.86 2.697 1.587l12.61-13.756z",
fill: t
}), (0, a.jsx)("path", {
d: "M22.4 13.6a1.2 1.2 0 010-1.697L25.503 8.8a1.2 1.2 0 011.697 1.697L24.097 13.6a1.2 1.2 0 01-1.697 0zM9.2 26.8a1.2 1.2 0 010-1.697l7.903-7.903a1.2 1.2 0 011.697 1.697L10.897 26.8a1.2 1.2 0 01-1.697 0zm29.6 28a1.2 1.2 0 001.697 0l1.103-1.103A1.2 1.2 0 0039.903 52L38.8 53.103a1.2 1.2 0 000 1.697zm6.4-6.4a1.2 1.2 0 001.697 0l7.503-7.503a1.2 1.2 0 00-1.697-1.697L45.2 46.703a1.2 1.2 0 000 1.697z",
fill: t
})]
})
}
function Diversified(e) {
let {
fill: t = "#fff",
...n
} = e;
return (0, a.jsx)("svg", {
viewBox: "0 0 64 64",
xmlns: "http://www.w3.org/2000/svg",
...n,
children: (0, a.jsx)("path", {
fillRule: "evenodd",
clipRule: "evenodd",
d: "M31.358 7.229a.69.69 0 011.284 0l.237.6c.017.042.05.075.092.092l.6.237a.69.69 0 010 1.284l-.6.237a.163.163 0 00-.092.092l-.237.6a.69.69 0 01-1.284 0l-.237-.6a.164.164 0 00-.092-.092l-.6-.237a.69.69 0 010-1.284l.6-.237a.164.164 0 00.092-.092l.237-.6zm-11.2 6.4a.69.69 0 011.284 0l.237.6c.017.042.05.075.092.092l.6.236a.69.69 0 010 1.285l-.6.237a.163.163 0 00-.092.092l-.237.6a.69.69 0 01-1.284 0l-.237-.6a.164.164 0 00-.092-.092l-.6-.237a.69.69 0 010-1.285l.6-.236a.164.164 0 00.092-.092l.237-.6zm-6.716 5.6a.69.69 0 00-1.284 0l-.237.6a.164.164 0 01-.092.092l-.6.236a.69.69 0 000 1.285l.6.237c.042.017.075.05.092.092l.237.6a.69.69 0 001.284 0l.237-.6a.163.163 0 01.092-.092l.6-.237a.69.69 0 000-1.285l-.6-.236a.163.163 0 01-.092-.092l-.237-.6zM34.23 30.67a1.6 1.6 0 01-.901-.901l-.039-.1c-.462-1.17-2.118-1.17-2.58 0l-.039.1a1.6 1.6 0 01-.901.9l-.1.04c-1.17.462-1.17 2.118 0 2.58l.1.039a1.6 1.6 0 01.901.901l.04.1c.46 1.17 2.117 1.17 2.579 0l.039-.1a1.6 1.6 0 01.901-.901l.1-.04c1.17-.46 1.17-2.117 0-2.58l-.1-.038zm-20.788-.242a.69.69 0 00-1.284 0l-.237.6a.164.164 0 01-.092.092l-.6.237a.69.69 0 000 1.284l.6.237c.042.017.075.05.092.092l.237.6a.69.69 0 001.284 0l.237-.6a.163.163 0 01.092-.092l.6-.237a.69.69 0 000-1.285l-.6-.236a.163.163 0 01-.092-.092l-.237-.6zm37.116 0a.69.69 0 011.284 0l.237.6c.017.042.05.075.092.092l.6.237a.69.69 0 010 1.284l-.6.237a.163.163 0 00-.092.092l-.237.6a.69.69 0 01-1.284 0l-.237-.6a.164.164 0 00-.092-.092l-.6-.237a.69.69 0 010-1.285l.6-.236a.164.164 0 00.092-.092l.237-.6zm-37.116 11.2a.69.69 0 00-1.284 0l-.237.6a.164.164 0 01-.092.092l-.6.236a.69.69 0 000 1.285l.6.237c.042.017.075.05.092.092l.237.6a.69.69 0 001.284 0l.237-.6a.163.163 0 01.092-.092l.6-.237a.69.69 0 000-1.285l-.6-.236a.163.163 0 01-.092-.092l-.237-.6zm37.116 0a.69.69 0 011.284 0l.237.6c.017.042.05.075.092.092l.6.236a.69.69 0 010 1.285l-.6.237a.163.163 0 00-.092.092l-.237.6a.69.69 0 01-1.284 0l-.237-.6a.164.164 0 00-.092-.092l-.6-.237a.69.69 0 010-1.285l.6-.236a.164.164 0 00.092-.092l.237-.6zm-6.716-28a.69.69 0 00-1.284 0l-.237.6a.164.164 0 01-.092.092l-.6.236a.69.69 0 000 1.285l.6.237c.042.017.075.05.092.092l.237.6a.69.69 0 001.284 0l.237-.6a.163.163 0 01.092-.092l.6-.237a.69.69 0 000-1.285l-.6-.236a.163.163 0 01-.092-.092l-.237-.6zM21.823 47.394c-.366-.928-1.68-.928-2.046 0a.68.68 0 01-.383.383c-.928.366-.928 1.68 0 2.046a.68.68 0 01.383.383c.366.928 1.68.928 2.046 0a.68.68 0 01.383-.383c.928-.366.928-1.68 0-2.046a.68.68 0 01-.383-.383zm20.735-.165a.69.69 0 011.284 0l.237.6c.017.042.05.075.092.092l.6.236a.69.69 0 010 1.285l-.6.237a.163.163 0 00-.092.092l-.237.6a.69.69 0 01-1.284 0l-.237-.6a.164.164 0 00-.092-.092l-.6-.237a.69.69 0 010-1.285l.6-.236a.164.164 0 00.092-.092l.237-.6zm-9.916 6.4a.69.69 0 00-1.284 0l-.237.6a.164.164 0 01-.092.092l-.6.236a.69.69 0 000 1.285l.6.237c.042.017.075.05.092.092l.237.6a.69.69 0 001.284 0l.237-.6a.163.163 0 01.092-.092l.6-.237a.69.69 0 000-1.285l-.6-.236a.163.163 0 01-.092-.092l-.237-.6zm17.916-34.4a.69.69 0 011.284 0l.237.6c.017.042.05.075.092.092l.6.236a.69.69 0 010 1.285l-.6.237a.163.163 0 00-.092.092l-.237.6a.69.69 0 01-1.284 0l-.237-.6a.164.164 0 00-.092-.092l-.6-.237a.69.69 0 010-1.285l.6-.236a.164.164 0 00.092-.092l.237-.6zM23.03 37.07a1.6 1.6 0 01-.901-.901l-.039-.1c-.462-1.17-2.118-1.17-2.58 0l-.039.1a1.6 1.6 0 01-.901.9l-.1.04c-1.17.462-1.17 2.118 0 2.58l.1.039a1.6 1.6 0 01.901.901l.04.1c.46 1.17 2.117 1.17 2.579 0l.039-.1a1.6 1.6 0 01.901-.901l.1-.04c1.17-.46 1.17-2.117 0-2.58l-.1-.038zm21.46-1l.039.099a1.6 1.6 0 00.901.9l.1.04c1.17.462 1.17 2.118 0 2.58l-.1.039a1.6 1.6 0 00-.901.901l-.039.1c-.462 1.17-2.118 1.17-2.58 0l-.039-.1a1.6 1.6 0 00-.901-.901l-.1-.04c-1.17-.46-1.17-2.117 0-2.58l.1-.038a1.6 1.6 0 00.901-.901l.04-.1c.46-1.17 2.117-1.17 2.579 0zm-21.46-11.8a1.6 1.6 0 01-.901-.902l-.039-.098c-.462-1.17-2.118-1.17-2.58 0l-.039.098a1.6 1.6 0 01-.901.902l-.1.039c-1.17.462-1.17 2.118 0 2.58l.1.039a1.6 1.6 0 01.901.901l.04.1c.46 1.17 2.117 1.17 2.579 0l.039-.1a1.6 1.6 0 01.901-.901l.1-.04c1.17-.46 1.17-2.117 0-2.58l-.1-.038zm10.26-7.4l.039.099a1.6 1.6 0 00.901.9l.1.04c1.17.462 1.17 2.118 0 2.58l-.1.039a1.6 1.6 0 00-.901.901l-.039.1c-.462 1.17-2.118 1.17-2.58 0l-.039-.1a1.6 1.6 0 00-.901-.901l-.1-.04c-1.17-.46-1.17-2.117 0-2.58l.1-.038a1.6 1.6 0 00.901-.901l.04-.1c.46-1.17 2.117-1.17 2.579 0zm12.14 7.4a1.6 1.6 0 01-.901-.902l-.039-.098c-.462-1.17-2.118-1.17-2.58 0l-.039.098a1.6 1.6 0 01-.901.902l-.1.039c-1.17.462-1.17 2.118 0 2.58l.1.039a1.6 1.6 0 01.901.901l.04.1c.46 1.17 2.117 1.17 2.579 0l.039-.1a1.6 1.6 0 01.901-.901l.1-.04c1.17-.46 1.17-2.117 0-2.58l-.1-.038zm-12.14 18.2l.039.099a1.6 1.6 0 00.901.9l.1.04c1.17.462 1.17 2.118 0 2.58l-.1.039a1.6 1.6 0 00-.901.901l-.039.1c-.462 1.17-2.118 1.17-2.58 0l-.039-.1a1.6 1.6 0 00-.901-.901l-.1-.04c-1.17-.46-1.17-2.117 0-2.58l.1-.038a1.6 1.6 0 00.901-.901l.04-.1c.46-1.17 2.117-1.17 2.579 0z",
fill: t
})
})
}
n(52983);
var i = n(83555),
r = n(96924);
function numberToRiskScore(e) {
return e.toFixed(1)
}
let l = {
[r.NPW.THREE_MONTHS]: "last 3 months",
[r.NPW.SIX_MONTHS]: "last 6 months",
[r.NPW.ONE_YEAR]: "past year",
[r.NPW.THREE_YEARS]: "last 3 years",
[r.NPW.FIVE_YEARS]: "last 5 years",
[r.NPW.TEN_YEARS]: "last 10 years",
[r.m7y.ALL]: "all time"
},
s = {
[r.NPW.THREE_MONTHS]: "3M",
[r.NPW.SIX_MONTHS]: "6M",
[r.NPW.ONE_YEAR]: "1Y",
[r.NPW.THREE_YEARS]: "3Y",
[r.NPW.FIVE_YEARS]: "5Y",
[r.NPW.TEN_YEARS]: "10Y",
[r.m7y.ALL]: "ALL"
};
function getIdFromFlavor(e) {
return e.toLowerCase().replace(/_/g, "-")
}
let PortfolioAssetDetailsTimeRangeSelector = e => {
let {
timeRanges: t,
timeRange: n,
setTimeRange: r
} = e, l = t.map(e => ({
title: s[e],
key: e
}));
return (0, a.jsx)("div", {
className: "w-full md:w-[80%]",
children: (0, a.jsx)(i.s, {
variant: "subtle-small",
options: l,
value: n,
onClick: function(e, t) {
r(t)
}
})
})
},
PortfolioFlavorDetailsTimeRangeSelector = e => {
let {
timeRanges: t,
timeRange: n,
setTimeRange: r
} = e, l = t.map(e => ({
title: s[e],
key: e
}));
return (0, a.jsx)("div", {
className: "w-full md:w-[80%]",
children: (0, a.jsx)(i.s, {
variant: "subtle-small",
options: l,
value: n,
onClick: function(e, t) {
r(t)
}
})
})
}
},
7839: function(e, t, n) {
"use strict";
n.d(t, {
Lr: function() {
return AsyncStatus
},
hg: function() {
return A.hg
},
Dh: function() {
return A.Dh
},
rZ: function() {
return A.rZ
},
WL: function() {
return D3Area
},
W$: function() {
return D3Hover
},
LK: function() {
return g
},
dV: function() {
return D3Path
},
oB: function() {
return A.oB
},
PA: function() {
return S
},
vo: function() {
return _
},
qf: function() {
return N.q
},
Kw: function() {
return PercentageReturn
},
fJ: function() {
return A.fJ
},
iK: function() {
return A.iK
},
jp: function() {
return A.jp
},
ef: function() {
return T
},
$j: function() {
return spinner_Spinner
},
Ad: function() {
return StateSelect
},
pY: function() {
return Typeahead
},
UV: function() {
return buildFetchApiQueries
},
Z8: function() {
return buildFetchApiQuery
},
ZH: function() {
return L.ZH
},
uw: function() {
return L.uw
},
hF: function() {
return c
},
dl: function() {
return A.dl
},
Hz: function() {
return A.Hz
},
v8: function() {
return L.v8
},
gi: function() {
return useD3Dimensions
},
GR: function() {
return useD3Scale
}
});
var a = n(97458),
i = n(52116),
r = n(39978),
l = n(52983),
s = n(88132),
o = n(20759);
let c = "Something went wrong, please try again.";
function GenericErrorNotice(e) {
let {
testId: t,
errorMessage: n,
fullWidth: i = !1
} = e;
return (0, a.jsx)("div", {
style: {
maxWidth: i ? "100%" : "max-content"
},
"data-testid": t,
children: (0, a.jsx)(s.bZ, {
container: !0,
message: null != n ? n : c,
showIcon: !0
})
})
}
function AsyncStatus(e) {
let {
animateHeight: t = !1,
children: n,
customErrorState: c,
isError: u,
isLoading: d,
loadingState: h,
skipMinLoadingDuration: p = !1
} = e, {
delayedLoading: m,
fadingProps: f,
refWrapper: x,
dimensionsProps: v
} = function(e) {
let {
isLoading: t,
skipMinLoadingDuration: n,
animateHeight: a
} = e, i = (0, l.useRef)(null), [r, c] = (0, l.useState)(null), u = function(e) {
let {
isLoading: t,
minDuration: n
} = e, [a, i] = (0, l.useState)(!0), r = (0, l.useRef)(null);
return (0, l.useEffect)(() => {
let e;
if (t) {
null === r.current && (r.current = performance.now()), i(!0);
return
}
if (null === r.current) {
i(!1);
return
}
let a = performance.now(),
l = n - (a - r.current);
return l <= 0 ? (i(!1), r.current = null) : e = setTimeout(() => {
i(!1), r.current = null
}, l), () => clearTimeout(e)
}, [t, n]), t || a
}({
isLoading: t,
minDuration: n || s.F6.isTest() ? 0 : 300
}), d = (0, l.useRef)(new o.Z(e => {
if (!e.length) return;
let {
height: t
} = e[0].contentRect;
c(t)
}));
(0, l.useEffect)(() => {
if (!a) return;
let e = i.current;
return i.current && d.current.observe(i.current), () => {
d.current.unobserve(e)
}
}, [d]);
let h = s.F6.createVariants({
visible: {
opacity: 1
},
hidden: {
opacity: 0
}
}),
p = s.F6.isTest() ? {} : {
initial: "hidden",
animate: "visible",
exit: "hidden",
variants: h,
transition: {
duration: s.Nu.duration125
}
},
m = s.F6.isTest() ? {} : {
animate: {
height: r
},
transition: {
type: "tween",
duration: s.Nu.duration200
},
style: {
overflow: "hidden"
}
};
return {
dimensionsProps: m,
fadingProps: p,
delayedLoading: u,
refWrapper: i
}
}({
isLoading: d,
skipMinLoadingDuration: p,
animateHeight: t
});
return (0, a.jsx)(i.E.div, {
...t ? v : {},
children: (0, a.jsx)(r.M, {
exitBeforeEnter: !0,
children: (0, a.jsx)("div", {
ref: x,
children: u ? (0, a.jsx)(a.Fragment, {
children: void 0 === c ? (0, a.jsx)(GenericErrorNotice, {
testId: "async-status-error"
}) : c
}) : m ? (0, a.jsx)(i.E.div, {
...f,
children: h
}, "async-status-loading") : (0, a.jsx)(i.E.div, {
...f,
children: n()
}, "async-status-loaded")
})
})
})
}
var u = n(51838),
d = n.n(u);
let h = {
small: "h-[16px] w-[16px]",
medium: "h-[24px] w-[24px]",
large: "h-[72px] w-[72px]",
xl: "h-[120px] w-[120px]"
};
function spinner_Spinner(e) {
let {
white: t = !1,
size: n = "medium"
} = e, i = d()("block my-small mx-auto rounded-[50%] border-2 border-solid animate-spin", h[n], {
"border-surface-track border-t-content-interactive-default": !t,
"border-white/30 border-t-white": t
});
return (0, a.jsx)("div", {
className: i,
"data-testid": "spinner"
})
}
var p = n(27461),
m = n(19145),
f = n(87683);
function d3Update(e) {
let {
xScale: t,
yScale: n,
variant: a,
pathClassName: i,
line: r,
skipTransition: l,
handleCatchAndAlert: o,
dimensions: c
} = e;
if ("line" === a) {
let e = f.td_(".".concat(i)).data(r),
t = f.jvg().x(lineX).y(lineY).curve(f.c_6)(r);
maybeTransition(e, t, l)
} else if ("area" === a) {
let e = f.td_(".".concat(i)).data(r),
t = f.SOn().x(lineX).y1(lineY).y0(function() {
return c.height
}).curve(f.c_6)(r);
maybeTransition(e, t, l)
}
function lineX(e) {
return t()(e.x)
}
function lineY(e) {
return n()(e.y)
}
function maybeTransition(e, t, n) {
m.Z.isTest() || n ? e.attr("d", t) : e.transition().duration(1e3 * s.Nu.duration500).attrTween("d", function() {
if (!this.getAttribute("d")) return () => t;
let e = this.cloneNode(),
n = this.getTotalLength(),
a = (e.setAttribute("d", t), e).getTotalLength(),
i = [0],
r = 0,
l = 4 / Math.max(n, a);
for (;
(r += l) < 1;) i.push(r);
i.push(1);
try {
let r = i.map(t => {
let i = this.getPointAtLength(t * n),
r = e.getPointAtLength(t * a);
return f.sXR([i.x, i.y], [r.x, r.y])
});
return function(e) {
return e < 1 ? "M" + r.map(t => t(e)).join("L") : t
}
} catch (e) {
return o(e), () => t
}
})
}
}
let D3LinearGradient = e => {
let {
id: t
} = e;
return (0, a.jsxs)("linearGradient", {
id: t,
gradientTransform: "rotate(90)",
children: [(0, a.jsx)("stop", {
offset: "0%",
stopOpacity: .2,
className: "ui-common-line-chart-stop"
}), (0, a.jsx)("stop", {
offset: "100%",
stopOpacity: 0,
className: "ui-common-line-chart-stop"
})]
})
},
x = (0, l.forwardRef)((e, t) => {
let {
pathClassName: n,
gradientId: i
} = e;
return (0, a.jsx)("path", {
ref: t,
className: d()(n, "stroke-none"),
d: "M0,134L683,134",
vectorEffect: "non-scaling-stroke",
fill: 'url("#'.concat(i, '")')
})
}),
v = (0, i.E)(x);
function D3Area(e) {
let {
xScale: t,
yScale: n,
line: i,
pathClassName: r,
gradientId: o,
dimensions: c,
handleCatchAndAlert: u,
skipTransition: d = !1,
fadeDuringTransition: h = !1
} = e, m = (0, l.useRef)(null), f = (0, p._)(), x = s.F6.createVariants({
visible: {
opacity: 1
},
hidden: {
opacity: 0
}
});
return (0, l.useEffect)(() => {
let update = async () => {
m.current && (d3Update({
xScale: t,
yScale: n,
variant: "area",
pathClassName: r,
line: i,
skipTransition: d,
handleCatchAndAlert: u,
dimensions: c
}), h && (await f.start("hidden"), f.start("visible")))
};
update()
}, [i, t, n, c.width, c.height, r, d, u, c, f, h]), (0, a.jsxs)(a.Fragment, {
children: [(0, a.jsx)(v, {
variants: x,
initial: h ? "hidden" : "visible",
animate: f,
transition: {
duration: s.Nu.duration300,
ease: s.Nu.timingUserConsistent
},
ref: m,
pathClassName: r,
gradientId: o
}), (0, a.jsx)("defs", {
children: (0, a.jsx)(D3LinearGradient, {
id: o
})
})]
})
}
function D3Hover(e) {
let {
xScale: t,
yScale: n,
onMouseMove: i,
onMouseLeave: r,
refSvg: s,
refContainer: o,
lines: c
} = e;
return (0, l.useEffect)(() => {
let e, a;
function mouseMove() {
let e = f.Jzs(f.Ba6.target),
a = Math.min(Math.max(0, e[0]), t().range()[1]),
r = Math.round(t().invert(a));
for (let e = 0; e < c.length; e++) {
let a = c[e].find((e, t) => t === r);
if (!a) return;
let i = f.Ys(s.current).select(".hover");
i.attr("transform", "translate(" + t()(r) + ")").classed("hidden", !1), i.select(".d3-hover-dot-".concat(e)).attr("transform", "translate(0, ".concat(n()(a.y), ")"))
}
i(r)
}
function mouseLeave() {
f.Ys(s.current).select(".hover").classed("hidden", !0), r()
}
if (s.current && o.current) {
let e = f.Ys(o.current),
t = f.Ys(s.current).select(".overlay");
t.on("mousemove", mouseMove).on("touchmove", mouseMove), e.on("mouseleave", mouseLeave).on("touchend", mouseLeave)
}
return () => {
var t, n;
null == a || null === (t = a.on("mousemove", null)) || void 0 === t || t.on("touchmove", null), null == e || null === (n = e.on("mouseleave", null)) || void 0 === n || n.on("touchend", null)
}
}, [c, t, n, r, i, o, s]), (0, a.jsxs)("g", {
className: d()("hover", "hidden"),
children: [(0, a.jsx)("line", {
className: "fill-none stroke-1 stroke-content-secondary",
fill: "none",
x2: "0",
y2: "100%",
vectorEffect: "non-scaling-stroke"
}), c.map((e, t) => (0, a.jsx)("circle", {
className: d()("stroke-none fill-content-interactive-default", "d3-hover-dot-".concat(t)),
r: "4",
vectorEffect: "non-scaling-size"
}, t))]
})
}
function D3LineChart(e) {
let {
decoratedLines: t,
mouseMove: n,
mouseLeave: i,
handleCatchAndAlert: r,
yExtrema: s,
testId: o,
ariaDetails: c
} = e, u = (0, l.useRef)(null), d = (0, l.useRef)(null), h = (0, l.useMemo)(() => t.map(e => {
let {
line: t
} = e;
return t
}), [t]), p = useD3Dimensions(d, u, h), m = (0, l.useMemo)(() => t.map(e => {
let {
line: t
} = e;
return t
}).flat(), [t]), f = t.length, [x, v] = useD3Scale(m, p, f, s);
return (0, a.jsx)("div", {
ref: d,
className: "h-[225px]",
"data-testid": o,
children: (0, a.jsxs)("svg", {
ref: u,
preserveAspectRatio: "xMinYMid",
"aria-labelledby": c ? "".concat(c.id, "-title ").concat(c.id, "-desc") : void 0,
children: [(0, a.jsx)(D3Hover, {
xScale: x,
yScale: v,
refSvg: u,
refContainer: d,
onMouseMove: n,
onMouseLeave: i,
lines: h
}), (0, a.jsx)("g", {
className: "graph",
overflow: "visible",
width: "100%",
height: "100%",
children: t.map((e, t) => (0, a.jsxs)(l.Fragment, {
children: [(0, a.jsx)(D3Path, {
xScale: x,
yScale: v,
line: e.line,
isDashed: e.isDashed,
skipTransition: e.skipTransition,
className: "d3-line-chart-classname-path-".concat(t),
handleCatchAndAlert: r
}), e.showArea ? (0, a.jsx)(D3Area, {
line: e.line,
xScale: x,
yScale: v,
dimensions: p,
pathClassName: "d3-line-chart-path-classname-area-".concat(t),
gradientId: "d3-line-chart-gradient-id-area",
skipTransition: e.skipTransition,
fadeDuringTransition: !e.skipTransition,
handleCatchAndAlert: r
}) : null]
}, t))
}), (0, a.jsx)("rect", {
className: "overlay",
fill: "none",
pointerEvents: "all",
width: "100%",
height: "100%"
}), function() {
if (!c) return null;
let {
id: e,
title: t,
description: n
} = c;
return (0, a.jsxs)(a.Fragment, {
children: [(0, a.jsx)("title", {
id: "".concat(e, "-title"),
children: t
}), (0, a.jsx)("desc", {
id: "".concat(e, "-desc"),
children: n
})]
})
}()]
})
})
}
let g = (0, l.memo)(function(e) {
let {
decoratedLines: t,
mouseMove: n,
mouseLeave: l,
handleCatchAndAlert: o,
yExtrema: c,
testId: u,
transitionWithSpinner: d,
isLoading: h,
ariaDetails: p
} = e, m = s.F6.createVariants({
visible: {
opacity: 1
},
hidden: {
opacity: 0
}
});
return d ? (0, a.jsx)(r.M, {
exitBeforeEnter: !0,
children: h ? (0, a.jsx)(i.E.div, {
className: "h-[225px] w-full flex items-center justify-center",
initial: "hidden",
animate: "visible",
exit: "hidden",
variants: m,
transition: {
duration: s.Nu.duration100
},
children: (0, a.jsx)(spinner_Spinner, {
size: "medium"
})
}, "d3-line-chart-loading") : (0, a.jsx)(i.E.div, {
initial: "hidden",
animate: "visible",
exit: "hidden",
variants: m,
transition: {
duration: s.Nu.duration100
},
children: (0, a.jsx)(D3LineChart, {
decoratedLines: t,
mouseMove: n,
mouseLeave: l,
handleCatchAndAlert: o,
yExtrema: c,
ariaDetails: p,
testId: u
})
}, "d3-line-chart-rendered")
}) : (0, a.jsx)(D3LineChart, {
decoratedLines: t,
mouseMove: n,
mouseLeave: l,
handleCatchAndAlert: o,
yExtrema: c,
ariaDetails: p,
testId: u
})
});
function D3Path(e) {
let {
xScale: t,
yScale: n,
line: i,
className: r,
handleCatchAndAlert: s,
isDashed: o = !1,
skipTransition: c = !1,
testId: u
} = e, h = (0, l.useRef)(null);
return (0, l.useEffect)(() => {
h.current && d3Update({
xScale: t,
yScale: n,
variant: "line",
pathClassName: r,
line: i,
skipTransition: c,
handleCatchAndAlert: s
})
}, [i, t, n, r, c, s]), (0, a.jsx)("path", {
ref: h,
className: d()(r, "fill-none stroke-2 stroke-content-interactive-default", "is-dashed-".concat(o)),
strokeDasharray: o ? 2 : null,
vectorEffect: "non-scaling-stroke",
"data-testid": u,
d: "M0,134L683,134"
})
}
var D = n(53310);
function useD3Scale(e, t, n, a) {
let i = (0, l.useCallback)(() => {
let a = [0, t.width],
i = [0, e.length / n];
return f.BYU().domain(i).range(a)
}, [t.width, n, e.length]),
r = (0, l.useCallback)(() => {
let n = [t.height, 0],
i = e.map(e => {
let {
y: t
} = e;
return t
}),
r = a ? [a.minY, a.maxY] : f.Wem(i);
return r[0] = r[0] - r[1] / 20, r[1] = r[1] + r[1] / 20, f.BYU().domain(r).range(n).nice(function() {
return Math.floor(t.height / D.A.Y_TICK_PIXEL_SIZE)
})
}, [e, t.height, a]);
return [i, r]
}
var E = n(33218),
I = n(37807);
function useD3Dimensions(e, t, n) {
let [a, i] = (0, l.useState)({
width: 0,
height: 0
});
(0, l.useEffect)(() => {
if (e.current) {
let {
width: t,
height: n
} = E.vz.getElemDimensions(e.current);
0 === a.width && 0 === a.height && i({
height: n,
width: t
})
}
}, [a.width, a.height, n, e]), (0, l.useEffect)(() => {
let e = 0 !== a.width || 0 !== a.height;
e && f.Ys(t.current).attr("viewBox", "0 0 ".concat(a.width, " ").concat(a.height))
}, [a.width, a.height, t]);
let r = (0, I.w_)();
return r((0, I.zl)(() => {
if (e.current) {
let {
width: t,
height: n
} = E.vz.getElemDimensions(e.current);
i({
height: n,
width: t
})
}
})), a
}
var y = n(51726),
A = n(59422);
function buildFetchApiQueries(e) {
let {
useApiQueries: t
} = e;
return function(e) {
let {
apiQueries: n,
children: i,
...r
} = e, l = t(n), {
isError: s,
isLoading: o
} = l;
return (0, a.jsx)(AsyncStatus, {
isLoading: o,
isError: s,
...r,
children: () => i(l)
})
}
}
function buildFetchApiQuery(e) {
let {
useApiQuery: t
} = e;
return function(e) {
let {
methodName: n,
params: i,
children: r,
animateHeight: l,
customErrorState: s,
loadingState: o,
skipMinLoadingDuration: c,
...u
} = e, d = t(n, i, u), {
isError: h,
isLoading: p
} = d;
return (0, a.jsx)(AsyncStatus, {
isLoading: p,
isError: h,
loadingState: o,
animateHeight: l,
customErrorState: s,
skipMinLoadingDuration: c,
children: () => r(d)
})
}
}
var N = n(67723);
let PercentageReturn = e => {
let {
percentage: t,
variant: n = "subtext",
color: i,
isAbsent: r,
testId: l,
signType: o = "arrow"
} = e;
if (r) return (0, a.jsx)(s.xv, {
variant: n,
color: null != i ? i : "secondary",
testId: l,
children: "--"
});
if (null === t) return null;
let c = t >= 0,
determineIconSource = () => "arrow" === o ? c ? "arrowheadUp" : "arrowheadDown" : c ? "plus" : "minus";
return (0, a.jsxs)(s.xv, {
variant: n,
color: null != i ? i : c && 0 !== t ? "positive" : "secondary",
testId: l,
children: [(0, a.jsx)(s.JO, {
className: "!w-[0.6em] !h-[1em] mr-[4px]",
source: determineIconSource(),
testId: determineIconSource()
}), (0, a.jsx)("span", {
children: (0, y.rG)(Math.abs(t))
})]
})
};
n(83555);
var b = n(96924);
let O = Object.values(b.D56).filter(e => "function" != typeof e),
T = {
Alabama: b.D56.AL,
Alaska: b.D56.AK,
Arizona: b.D56.AZ,
Arkansas: b.D56.AR,
California: b.D56.CA,
Colorado: b.D56.CO,
Connecticut: b.D56.CT,
Delaware: b.D56.DE,
"District of Columbia": b.D56.DC,
Florida: b.D56.FL,
Georgia: b.D56.GA,
Hawaii: b.D56.HI,
Idaho: b.D56.ID,
Illinois: b.D56.IL,
Indiana: b.D56.IN,
Iowa: b.D56.IA,
Kansas: b.D56.KS,
Kentucky: b.D56.KY,
Louisiana: b.D56.LA,
Maine: b.D56.ME,
Maryland: b.D56.MD,
Massachusetts: b.D56.MA,
Michigan: b.D56.MI,
Minnesota: b.D56.MN,
Mississippi: b.D56.MS,
Missouri: b.D56.MO,
Montana: b.D56.MT,
Nebraska: b.D56.NE,
Nevada: b.D56.NV,
"New Hampshire": b.D56.NH,
"New Jersey": b.D56.NJ,
"New Mexico": b.D56.NM,
"New York": b.D56.NY,
"North Carolina": b.D56.NC,
"North Dakota": b.D56.ND,
Ohio: b.D56.OH,
Oklahoma: b.D56.OK,
Oregon: b.D56.OR,
Pennsylvania: b.D56.PA,
"Rhode Island": b.D56.RI,
"South Carolina": b.D56.SC,
"South Dakota": b.D56.SD,
Tennessee: b.D56.TN,
Texas: b.D56.TX,
Utah: b.D56.UT,
Vermont: b.D56.VT,
Virginia: b.D56.VA,
Washington: b.D56.WA,
"West Virginia": b.D56.WV,
Wisconsin: b.D56.WI,
Wyoming: b.D56.WY,
"Armed Forces Americas": b.D56.AA,
"Armed Forces Europe": b.D56.AE,
"Armed Forces Pacific": b.D56.AP,
"American Samoa": b.D56.AS,
Guam: b.D56.GU,
"Northern Mariana Islands": b.D56.MP,
"Puerto Rico": b.D56.PR,
"Virgin Islands": b.D56.VI
};
function StateSelect(e) {
let {
onTextFieldClicked: t,
label: n,
isSubmitting: i,
testId: r,
value: l,
withFullStateNames: o,
...c
} = e;
return (0, a.jsx)(s.Ph, {
label: n || "Select a State",
data: o ? Object.keys(T) : O,
onTextFieldClicked: t,
testId: r,
disabled: i,
mode: "separate-extension",
...c,
id: "state-select",
value: l,
children: (0, a.jsx)(s.Ph.Overlay, {
className: "max-h-[200px] overflow-y-auto",
children: (o ? Object.keys(T) : O).map(e => (0, a.jsx)(s.Ph.Option, {
item: e,
children: e
}, e))
})
})
}
E.sm.toInvertedObject(T);
let w = {
Single: b.UEh.SINGLE,
Divorced: b.UEh.DIVORCED,
Married: b.UEh.MARRIED,
Widowed: b.UEh.WIDOWED
};
E.sm.toInvertedObject(w), b.IDz.SINGLE, b.IDz.MARRIED_JOINT, b.IDz.MARRIED_SEPARATE, b.IDz.HEAD_HOUSEHOLD;
let S = {
Single: b.IDz.SINGLE,
"Married filing jointly": b.IDz.MARRIED_JOINT,
"Married filing separately": b.IDz.MARRIED_SEPARATE,
"Head of household": b.IDz.HEAD_HOUSEHOLD
},
_ = E.sm.toInvertedObject(S);
b.AB9.EMPLOYED, b.AB9.SELFEMPLOYED, b.AB9.STAY_AT_HOME_PARENT, b.AB9.STUDENT, b.AB9.RETIRED, b.AB9.UNEMPLOYED, b.AB9.NOT_EMPLOYED;
let j = {
Employed: b.AB9.EMPLOYED,
"Self-employed": b.AB9.SELFEMPLOYED,
"Stay-at-home parent": b.AB9.STAY_AT_HOME_PARENT,
Student: b.AB9.STUDENT,
Retired: b.AB9.RETIRED,
Unemployed: b.AB9.UNEMPLOYED,
"Not employed": b.AB9.NOT_EMPLOYED
};
E.sm.toInvertedObject(j), n(62646);
var R = n(14633),
M = n.n(R),
C = n(41925);
let TypeaheadOption = class TypeaheadOption extends l.Component {
render() {
let {
as: e,
id: t
} = this.props, n = d()("overflow-hidden text-ellipsis p-[12px] border-b-[1px] border-solid border-b-[#f3f3f3] cursor-pointer", "first-of-type:rounded-none", "last-of-type:rounded-none last-of-type:border-b-[0]", "typeahead-option-component", {
"bg-[#f3f3f3]": this.props.active && !this.state.childHovered
});
return (0, a.jsx)(e, {
id: t,
"aria-selected": this.props.active,
className: n,
role: "option",
"data-testid": "typeahead-option",
tabIndex: 0,
onMouseEnter: this.handleMouseEnter,
onClick: this.handleClick,
onKeyPress: this.handleClick,
children: this.renderOption()
})
}
constructor(...e) {
super(...e), this.state = {
childHovered: !1
}, this.handleMouseEnter = () => {
this.props.onMouseEnter(this.props.index)
}, this.handleClick = () => {
this.state.childHovered || this.props.onClick(this.props.option)
}, this.handleChildEnter = () => {
this.setState({
childHovered: !0
})
}, this.handleChildLeave = () => {
this.setState({
childHovered: !1
})
}, this.renderOption = () => {
let {
displayMethod: e,
option: t
} = this.props, {
handleChildEnter: n,
handleChildLeave: a
} = this;
return e ? e(t, n, a) : t
}
}
};
TypeaheadOption.defaultProps = {
as: "div"
};
var k = n(44273);
let Typeahead = class Typeahead extends l.Component {
UNSAFE_componentWillReceiveProps(e) {
this.setState({
showOptions: !!e.options
})
}
render() {
return (0, a.jsxs)("div", {
className: d()("relative", "typeahead-component"),
"data-testid": this.props.testId,
children: [(0, a.jsxs)("div", {
role: "combobox",
"aria-expanded": this.state.showOptions,
"aria-owns": "".concat(this.state.id, "-listbox"),
"aria-haspopup": "listbox",
id: "".concat(this.state.id, "-combobox"),
children: [(0, a.jsx)("input", {
"data-testid": "typeahead-input",
ref: e => {
this.refInput = e
},
type: this.props.type,
className: d()("w-full py-[8px] px-[12px] bg-[#fcfcfc] border border-solid border-[#e7e7ea] rounded-none", "focus:border-[#1e83ef] active:border-[#1e83ef]", this.props.inputClassName, "typeahead-component-input"),
value: this.state.inputValue,
name: this.props.name,
id: this.props.inputId,
placeholder: this.props.placeholder,
onChange: this.handleInputChange,
onBlur: this.props.onInputBlur,
maxLength: this.props.inputMaxLength,
onKeyDown: this.handleKeyDown,
onFocus: this.props.onFocus,
"aria-label": this.props.ariaLabel,
"aria-controls": "".concat(this.state.id, "-listbox"),
"aria-autocomplete": "list",
"aria-activedescendant": null === this.state.activeIndex ? "" : "".concat(this.state.id, "-").concat(this.state.activeIndex),
autoComplete: this.props.autoComplete
}), this.renderIcon()]
}), this.renderOptionsContainer()]
})
}
constructor(...e) {
super(...e), this.state = {
inputValue: this.props.initialValue,
showOptions: !!this.props.options,
activeIndex: null,
id: (0, C.v4)()
}, this.handleThrottledInputChange = M()(e => {
let {
onInputChange: t
} = this.props;
t && t(e)
}, 100), this.handleInputChange = e => {
let t = e.target.value;
this.setState({
inputValue: t,
showOptions: !!this.props.options
}), m.Z.isTest() ? this.props.onInputChange(t) : this.handleThrottledInputChange(t)
}, this.handleKeyDown = e => {
if (!this.state.showOptions || !this.state.inputValue.length) return;
let t = this.getKeyHandler(e.keyCode);
t && (e.preventDefault(), t())
}, this.handleEnterKey = () => {
null !== this.state.activeIndex && void 0 !== this.getActiveOption() && this.handleOptionSelection(this.getActiveOption())
}, this.handleEscapeKey = () => {
this.setState({
activeIndex: null
})
}, this.handleMouseEnter = e => {
this.setState({
activeIndex: e
})
}, this.handleArrowUpKey = () => {
let e = this.getFilteredOptions(),
t = null === this.state.activeIndex ? 0 : this.state.activeIndex - 1;
(t < 0 || t > e.length - 1) && (t = e.length - 1), this.setState({
activeIndex: t
})
}, this.handleArrowDownKey = () => {
let e = this.getFilteredOptions(),
t = null === this.state.activeIndex ? 0 : this.state.activeIndex + 1;
t > e.length - 1 && (t = 0), this.setState({
activeIndex: t
})
}, this.handleOptionSelection = e => {
let {
toTextMethod: t,
onOptionSelect: n
} = this.props, a = t ? t(e) : e;
this.setState({
inputValue: a,
showOptions: !1,
activeIndex: null
}), n && n(e)
}, this.getKeyHandler = e => {
switch (e) {
case k.e.ENTER:
return this.handleEnterKey;
case k.e.ESCAPE:
return this.handleEscapeKey;
case k.e.ARROW_UP:
return this.handleArrowUpKey;
case k.e.ARROW_DOWN:
return this.handleArrowDownKey
}
}, this.getFilteredOptions = () => {
let {
inputValue: e
} = this.state, {
options: t,
maxVisibleResults: n
} = this.props, a = this.props.filterMethod || function(e, t) {
return -1 !== t.toLowerCase().indexOf(e.toLowerCase())
}, i = t && e.length ? t.filter(t => a(e, t)) : [];
return n ? i.slice(0, n) : i
}, this.getActiveOption = () => {
let e = this.getFilteredOptions();
return e[this.state.activeIndex]
}, this.renderIcon = () => {
if (this.props.shouldRenderIcon) return (0, a.jsx)("div", {
ref: e => {
this.refIcon = e
},
className: d()("absolute top-[12px] right-[12px]", "wf-icon magnifying-glass"),
role: "presentation"
})
}, this.renderOptionsContainer = () => {
let e = this.getFilteredOptions();
if (this.state.showOptions && this.state.inputValue.length) return e.length ? (0, a.jsxs)("ul", {
role: "listbox",
id: "".concat(this.state.id, "-listbox"),
ref: e => {
this.refOptions = e
},
className: "z-[1090] absolute top-[100%] left-0 right-0 mt-[4px] border border-solid border-[#b7b7c0] rounded-none max-h-[400px] overflow-y-auto bg-[#fcfcfc] pl-0",
children: [this.renderOptions(e), this.props.renderListAttribution()]
}) : (0, a.jsx)("div", {
className: d()("z-[1090] absolute top-[100%] left-0 right-0 mt-[4px] border border-solid border-[#b7b7c0] rounded-none max-h-[400px] overflow-y-auto bg-[#fcfcfc] pl-0", "typeahead-component-options-container"),
children: (0, a.jsxs)("div", {
ref: e => {
this.refNoResultsMessage = e
},
role: "listbox",
id: "".concat(this.state.id, "-listbox"),
className: "p-[12px]",
children: [this.props.noResultsMessage || "No matching results.", this.props.renderListAttribution()]
})
})
}, this.renderOptions = e => e.map((e, t) => (0, a.jsx)(TypeaheadOption, {
as: "li",
index: t,
option: e,
displayMethod: this.props.displayMethod || this.props.toTextMethod,
onMouseEnter: this.handleMouseEnter,
onClick: this.handleOptionSelection,
active: this.state.activeIndex === t,
id: "".concat(this.state.id, "-").concat(t)
}, t))
}
};
Typeahead.defaultProps = {
initialValue: "",
renderListAttribution: () => null,
shouldRenderIcon: !0,
type: "text"
};
var L = n(31906)
},
67723: function(e, t, n) {
"use strict";
n.d(t, {
q: function() {
return o
}
});
var a = n(97458),
i = n(52983),
r = n(37807),
l = n(53409),
s = n.n(l);
let o = (0, i.memo)(function(e) {
let {
animationData: t,
loop: n = !1,
play: l = !0,
renderer: o = "svg",
speed: c = 1,
style: u
} = e, d = (0, r.ac)(), h = (0, i.useRef)(null), p = (0, i.useRef)(null);
return (0, i.useEffect)(() => {
let e = s().loadAnimation({
container: h.current,
animationData: t,
loop: n,
autoplay: !1,
renderer: o
});
return p.current = e, () => {
p.current.destroy(), p.current = null
}
}, [t, n, o]), (0, i.useEffect)(() => {
if (null !== p.current) {
if (d) {
p.current.goToAndStop(p.current.totalFrames + p.current.firstFrame - 1, !0);
return
}
l ? p.current.play() : p.current.pause()
}
}, [l, d]), (0, i.useEffect)(() => {
null !== p.current && c && p.current.setSpeed(c)
}, [c]), (0, a.jsx)("div", {
style: u,
ref: h
})
})
},
83555: function(e, t, n) {
"use strict";
n.d(t, {
s: function() {
return SegmentedControl
}
});
var a = n(97458),
i = n(93512),
r = n.n(i),
l = n(51838),
s = n.n(l),
o = n(52983),
c = n(88132);
let u = {
default: {
tabs: "flex-[1_1_0] bg-surface-track",
highlight: "top-xxsmall bg-surface",
tabButton: "text-small"
},
subtle: {
tabs: "flex-[1_1_0]",
highlight: "top-xxsmall bg-surface-interactive-default",
tabButton: "text-small"
},
"subtle-small": {
tabs: "flex-[0]",
highlight: "top-[4px] bg-surface-interactive-default",
tabButton: "text-xsmall"
}
},
SegmentedControl = e => {
let {
options: t,
value: n,
onClick: i,
variant: l = "default",
testId: d
} = e, h = (0, o.useRef)(null), p = (0, o.useRef)(null), [m, f] = (0, o.useState)(null), [x, v] = (0, o.useState)(!1), g = r()(h), D = (0, o.useRef)(!1);
(0, o.useEffect)(() => (D.current = !0, () => {
D.current = !1
}), []), (0, o.useEffect)(() => {
if (!p.current) return;
let {
left: e
} = h.current.getBoundingClientRect(), {
width: t,
height: n,
left: a
} = p.current.getBoundingClientRect(), {
scrollLeft: i
} = h.current;
null === m && !1 === x && setTimeout(() => {
D.current && v(!0)
}, 0), f({
width: t,
height: n,
transform: "translateX(".concat(a - e + i, "px)")
})
}, [n, g, D]);
let E = t.map(e => {
let t = e.key === n;
return (0, a.jsx)(c.kG, {
className: s()("rounded-[12px] whitespace-nowrap text-center transition-[color] duration-200 ease-out font-tk-semibold text-content-secondary py-xxsmall px-small w-full flex-[1_1_0] my-0 mx-xxsmall bg-transparent relative", "focus:text-content-secondary focus:outline-[0] group-[&:not(.using-mouse)]/body:focus:shadow-[0_0_0_2px_var(--tk-content-interactive-default)]", "hover:text-content-secondary", u[l].tabButton, {
"!text-content-interactive-default": t
}),
ref: t ? p : null,
type: "button",
onClick: t => i(t, e.key),
title: e.key,
"aria-label": e.ariaLabel,
"aria-selected": t,
role: "tab",
children: e.title
}, e.key)
});
return (0, a.jsxs)("div", {
className: "relative overflow-y-hidden overflow-x-auto flex",
ref: h,
"data-testid": d,
children: [(0, a.jsx)("div", {
className: s()("absolute left-0 rounded-[12px]", u[l].highlight, {
"transition-[transform] duration-200 ease-fast-start-standard-end": x
}),
style: m,
"data-testid": "highlight"
}), (0, a.jsx)("div", {
className: s()("inline-flex rounded-standard list-none mb-0 py-xxsmall px-0", u[l].tabs),
role: "tablist",
children: E
})]
})
};
SegmentedControl.defaultProps = {
options: [],
variant: "default"
}
},
31906: function(e, t, n) {
"use strict";
n.d(t, {
ZH: function() {
return formatStringDateToCalendarMonthDayYear
},
uw: function() {
return generateAndParseCopyItem
},
v8: function() {
return parseCopyItem
}
});
var a = n(97458),
i = n(52983),
r = n(88132),
l = n(88563),
s = n.n(l),
o = n(96924);
let InlineItemRichToolTipDialog = e => {
let {
inlineItem: t,
trackingCallback: n
} = e, [l, s] = (0, i.useState)(!1), {
header: o,
text: c,
copyItems: u,
metricsName: d
} = t;
return (0, a.jsxs)(a.Fragment, {
children: [(0, a.jsx)(r.zx, {
as: "a",
variant: "inline",
onClick: () => {
d && n && n({
target_element: d,
click_type: "modal-launcher"
}), s(!0)
},
children: c
}), (0, a.jsx)(r.Vq, {
isOpen: l,
ariaLabelledBy: "tooltip-header",
onDismiss: () => s(!1),
children: (0, a.jsxs)(r.Kq, {
spacing: "large",
children: [(0, a.jsx)(r.X6, {
as: "h2",
variant: "small-sans",
id: "tooltip-header",
children: o
}), (0, a.jsx)(r.Kq, {
spacing: "small",
children: u.map((e, t) => (0, a.jsx)("div", {
children: generateAndParseCopyItem(e, n)
}, t))
})]
})
})]
})
},
InlineItemHyperlinkComponent = e => {
let {
inlineItem: t,
trackingCallback: n
} = e;
return (0, a.jsx)(r.zx, {
onClick: function() {
t.metricsName && n && n({
target_element: t.metricsName,
click_type: "hyperlink"
})
},
as: "a",
variant: "inline",
target: t.linkTargetBehavior === o.gTN.SELF ? "_self" : "_blank",
href: t.url,
children: t.text
})
},
parseCopyItem = (e, t, n) => e && t ? s()(e, /(\[\[\w+\]\])/g, (e, i) => {
let l = e.slice(2, e.length - 2),
s = t[l];
switch (s.type) {
case "InlineItemAcknowledgmentHyperlink":
return (0, a.jsx)(r.zx, {
as: "a",
variant: "inline",
href: s.url,
target: "_blank",
children: s.text
}, i);
case "InlineItemBold":
return (0, a.jsx)("span", {
className: "font-tk-semibold",
children: s.text
}, i);
case "InlineItemToolTip":
throw Error("InlineItemTooltip not implemented");
case "InlineItemRichTooltip":
return (0, a.jsx)(InlineItemRichToolTipDialog, {
trackingCallback: n,
inlineItem: s
}, i);
case "InlineItemHyperlink":
return (0, a.jsx)(InlineItemHyperlinkComponent, {
trackingCallback: n,
inlineItem: s
}, i);
default:
return
}
}) : [],
generateHeader = (e, t) => e ? (0, a.jsx)(r.xv, {
variant: "body-bold",
as: "h2",
testId: "copy-item-header",
children: parseCopyItem(e.content, e.inlineItems, t)
}) : null,
generateParagraph = (e, t) => e ? (0, a.jsx)(r.xv, {
testId: "copy-item-paragraph",
children: parseCopyItem(e.content, e.inlineItems, t)
}) : null,
generateBulletedList = (e, t) => {
if (!e) return null;
let n = e.items.map((n, i) => (0, a.jsx)(r.DY.Item, {
children: parseCopyItem(n, e.inlineItems, t)
}, i));
return (0, a.jsx)(r.DY, {
testId: "copy-item-bullet-list",
children: n
})
},
generateAndParseCopyItem = (e, t) => {
if (!e) return null;
let {
type: n
} = e;
switch (n) {
case "CopyItemHeader":
return generateHeader(e, t);
case "CopyItemParagraph":
return generateParagraph(e, t);
case "CopyItemBulletedList":
return generateBulletedList(e, t);
default:
throw Error("Unimplemented CopyItem type: ".concat(n))
}
};
var c = n(50104),
u = n(33218);
function formatStringDateToCalendarMonthDayYear(e) {
let t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {},
n = /T/.test(e) ? e : new Date(e).toISOString(),
a = c.AQ.parse(n),
i = (0, u.wQ)(c.mr.of(a.monthValue()).toString());
t.monthShorthand && (i = "".concat(i.slice(0, 3), "."));
let r = t.withSuffix ? function(e) {
let t = e.dayOfMonth();
if (t >= 11 && t <= 13) return t + "th";
switch (t % 10) {
case 1:
return t + "st";
case 2:
return t + "nd";
case 3:
return t + "rd";
default:
return t + "th"
}
}(a) : a.dayOfMonth(),
l = t.withoutYear ? "" : ", ".concat(a.year());
return i + " " + r + l
}
n(44273), n(53310)
},
44273: function(e, t, n) {
"use strict";
n.d(t, {
e: function() {
return a
}
});
let a = Object.freeze({
ENTER: 13,
ESCAPE: 27,
SPACE: 32,
ARROW_LEFT: 37,
ARROW_UP: 38,
ARROW_RIGHT: 39,
ARROW_DOWN: 40,
TAB: 9,
A: 65,
Z: 90,
0: 48,
9: 57
})
},
53310: function(e, t, n) {
"use strict";
n.d(t, {
A: function() {
return i
}
});
var a = n(87683);
let i = {
X_TICK_PIXEL_SIZE: 120,
Y_TICK_PIXEL_SIZE: 40,
X_AXIS_OFFSET: 10,
Y_AXIS_OFFSET: 10,
TOP_BUFFER_PERCENT: 25,
BOTTOM_BUFFER: 38,
SERIES_ANIMATION_DURATION: 700,
ANNOTATION_ANIMATION_DURATION: 700,
ANNOTATION_HOVER_ANIMATION_DURATION: 50,
ANNOTATION_NODE_RADIUS: 5,
ANNOTATION_NODE_MULTI_INCREMENT: 2,
ANNOTATION_NODE_OFFSET: 16,
ANNOTATION_NODE_HOVER_PADDING: {
top: 8,
bottom: 12,
left: 8,
right: 8
},
HOVER_NODE_RADIUS: {
balances: 5,
deposits: 4
},
CURVE_FUNCTION: {
balances: a.c_6,
deposits: a.jsv
},
HOVER_TOOLTIP_OFFSET_TOP: -70,
HOVER_TOOLTIP_ROW_HEIGHT: 22
}
},
34567: function(e, t, n) {
"use strict";
n.d(t, {
i: function() {
return useDialogControls
}
});
var a = n(97458),
i = n(52983),
r = n(3700),
l = n(51838),
s = n.n(l),
o = n(2002),
c = n(95435),
u = n(24827),
d = n.n(u);
function useDialogControls() {
let [e, t] = (0, i.useState)(!1), n = (0, i.useCallback)(() => {
t(!0)
}, [t]), a = (0, i.useCallback)(() => {
t(!1)
}, [t]);
return [e, n, a]
}
t.Z = e => {
let {
ariaLabel: t,
ariaLabelledBy: n,
className: i,
children: l,
disableDismissOnOverlayClick: u = !1,
isOpen: h,
onDismiss: p,
testId: m
} = e;
return (0, a.jsx)(r.t9, {
isOpen: h,
onDismiss: u ? () => {} : p,
className: s()("z-50", d().overlay),
"data-testid": "dialog-overlay",
children: (0, a.jsx)("div", {
className: d().container,
children: (0, a.jsxs)(r.cZ, {
className: s()(i, "e2e-modal relative mx-auto max-w-full rounded-t-xl bg-white px-6 pb-8 pt-12 sm:max-w-[90vw] sm:rounded-xl sm:pb-12"),
"data-testid": m,
"data-toolkit-component": "Dialog",
"aria-label": t,
"aria-labelledby": n,
children: [(0, a.jsx)("div", {
className: "absolute left-2 top-2",
children: (0, a.jsx)(o.Z, {
variant: "none",
trackingDetails: null,
amplitudeClickProperties: null,
"data-testid": "dialog-component-button",
onClick: p,
children: (0, a.jsx)(c.M, {
src: "/next/svg/optimized/x.svg",
alt: "Close dialog",
width: 40,
height: 40
})
})
}), (0, a.jsx)("div", {
className: "copy-body-sm xl:py-4",
children: l
})]
})
})
})
}
},
83528: function(e, t, n) {
"use strict";
n.d(t, {
WE: function() {
return c
},
uC: function() {
return d
}
});
var a = n(7839),
i = n(96924),
r = n(8251),
l = n(6391),
s = n(23588);
let o = (0, i.aDH)({
wfApi: l.ZP,
handleCatchAndAlert: s.Z.handleCatchAndAlert,
appType: "logged-out",
trackUserEvent: r.UO.trackUserEvent.bind(r.UO)
}),
{
useApiQuery: c,
useApiQueries: u,
useApiMutation: d,
fetchApiQuery: h,
setApiQueryData: p,
setApiQueryError: m,
fetchApiWithoutCache: f
} = o;
(0, a.Z8)({
useApiQuery: c
}), (0, a.UV)({
useApiQueries: u
})
},
24827: function(e) {
e.exports = {
motionDuration0: "0",
motionDuration25: "25ms",
motionDuration50: "50ms",
motionDuration75: "75ms",
motionDuration100: "100ms",
motionDuration125: "125ms",
motionDuration150: "150ms",
motionDuration175: "175ms",
motionDuration200: "200ms",
motionDuration225: "225ms",
motionDuration250: "250ms",
motionDuration275: "275ms",
motionDuration300: "300ms",
motionDuration350: "350ms",
motionDuration400: "400ms",
motionDuration500: "500ms",
overlay: "dialog_overlay__T5LRo",
nested: "dialog_nested__wKvPn",
fadeIn: "dialog_fadeIn__GHCj8",
container: "dialog_container__akeTs",
slideUp: "dialog_slideUp__C7BNu"
}
}
}
]);