bnstooltips 1.7.2 → 1.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (28) hide show
  1. package/build/ItemImproveEffectsTooltip/ItemImproveEffectsTooltip.d.ts +5 -0
  2. package/build/ItemImproveEffectsTooltip/ItemImproveEffectsTooltip.types.d.ts +4 -0
  3. package/build/ItemImproveEffectsTooltipWrapper/ItemImproveEffectsTooltipWrapper.d.ts +6 -0
  4. package/build/ItemImproveEffectsTooltipWrapper/ItemImproveEffectsTooltipWrapper.types.d.ts +5 -0
  5. package/build/ItemImproveSelectStageTooltip/ItemImproveSelectStageTooltip.d.ts +5 -0
  6. package/build/ItemImproveSelectStageTooltip/ItemImproveSelectStageTooltip.types.d.ts +5 -0
  7. package/build/ItemImproveSelectStageTooltipWrapper/ItemImproveSelectStageTooltipWrapper.d.ts +6 -0
  8. package/build/ItemImproveSelectStageTooltipWrapper/ItemImproveSelectStageTooltipWrapper.types.d.ts +6 -0
  9. package/build/ItemImproveTooltip/ItemImproveTooltip.d.ts +1 -1
  10. package/build/ItemImproveTooltip/ItemImproveTooltip.types.d.ts +2 -2
  11. package/build/ItemImproveTooltip/SubComponents/ItemImproveUpgradeCost.d.ts +12 -0
  12. package/build/ItemImproveTooltip/SubComponents/ItemWithText.d.ts +15 -0
  13. package/build/ItemImproveTooltip/SubComponents/MainCostSelector.d.ts +12 -0
  14. package/build/ItemImproveTooltip/SubComponents/PrevCurNext.d.ts +20 -0
  15. package/build/ItemImproveTooltip/SubComponents/SubCosts.d.ts +11 -0
  16. package/build/ItemImproveTooltipWrapper/ItemImproveTooltipWrapper.types.d.ts +2 -2
  17. package/build/ItemTooltip/SubComponents/ItemIconNameDiv.d.ts +4 -2
  18. package/build/NpcTooltip/SubComponents/Money.d.ts +2 -1
  19. package/build/TooltipBase/TooltipBase.d.ts +1 -1
  20. package/build/TooltipBase/TooltipBase.types.d.ts +1 -0
  21. package/build/Utilities/ItemDownloadClient.d.ts +2 -0
  22. package/build/index.d.ts +8 -0
  23. package/build/index.es.js +682 -189
  24. package/build/index.es.js.map +1 -1
  25. package/build/index.js +685 -188
  26. package/build/index.js.map +1 -1
  27. package/build/itemapiclient/api.d.ts +41 -0
  28. package/package.json +1 -1
package/build/index.js CHANGED
@@ -58,12 +58,12 @@ function styleInject(css, ref) {
58
58
  }
59
59
  }
60
60
 
61
- var css_248z$9 = "*[class*=\"00008130.UI.Label_LightYellow_12\"] {\n color: #ecd967 !important; }\n\n*[class*=\"00008130.UI.Vital_LightBlue\"] {\n color: #46bee1 !important;\n font-weight: 500 !important; }\n\n*[class*=\"00008130.UI.Label_Green03_12\"] {\n color: #58ff77 !important; }\n\n*[class*=\"00008130.Program.Fontset_Chatting_Color_19\"] {\n color: #58ff77; }\n\n.TooltipBase_grade-none {\n color: #c2cadc; }\n\n.TooltipBase_grade-1 {\n color: #6c6c6c !important; }\n\n.TooltipBase_border-grade-1 {\n border-color: #6c6c6c !important; }\n\n.TooltipBase_border-hover-grade-1:hover {\n border-color: #6c6c6c !important; }\n\n*[class*=\"00008130.Program.Fontset_ItemGrade_1\"] {\n color: #6c6c6c !important;\n border-color: #6c6c6c !important; }\n\n.TooltipBase_grade-2 {\n color: #ffffff !important; }\n\n.TooltipBase_border-grade-2 {\n border-color: #ffffff !important; }\n\n.TooltipBase_border-hover-grade-2:hover {\n border-color: #ffffff !important; }\n\n*[class*=\"00008130.Program.Fontset_ItemGrade_2\"] {\n color: #ffffff !important;\n border-color: #ffffff !important; }\n\n.TooltipBase_grade-3 {\n color: #58ff77 !important; }\n\n.TooltipBase_border-grade-3 {\n border-color: #58ff77 !important; }\n\n.TooltipBase_border-hover-grade-3:hover {\n border-color: #58ff77 !important; }\n\n*[class*=\"00008130.Program.Fontset_ItemGrade_3\"] {\n color: #58ff77 !important;\n border-color: #58ff77 !important; }\n\n.TooltipBase_grade-4 {\n color: #46bee1 !important; }\n\n.TooltipBase_border-grade-4 {\n border-color: #46bee1 !important; }\n\n.TooltipBase_border-hover-grade-4:hover {\n border-color: #46bee1 !important; }\n\n*[class*=\"00008130.Program.Fontset_ItemGrade_4\"] {\n color: #46bee1 !important;\n border-color: #46bee1 !important; }\n\n.TooltipBase_grade-5 {\n color: #d739ff !important; }\n\n.TooltipBase_border-grade-5 {\n border-color: #d739ff !important; }\n\n.TooltipBase_border-hover-grade-5:hover {\n border-color: #d739ff !important; }\n\n*[class*=\"00008130.Program.Fontset_ItemGrade_5\"] {\n color: #d739ff !important;\n border-color: #d739ff !important; }\n\n.TooltipBase_grade-6 {\n color: #f1b248 !important; }\n\n.TooltipBase_border-grade-6 {\n border-color: #f1b248 !important; }\n\n.TooltipBase_border-hover-grade-6:hover {\n border-color: #f1b248 !important; }\n\n*[class*=\"00008130.Program.Fontset_ItemGrade_6\"] {\n color: #f1b248 !important;\n border-color: #f1b248 !important; }\n\n.TooltipBase_grade-7 {\n color: #ff770a !important; }\n\n.TooltipBase_border-grade-7 {\n border-color: #ff770a !important; }\n\n.TooltipBase_border-hover-grade-7:hover {\n border-color: #ff770a !important; }\n\n*[class*=\"00008130.Program.Fontset_ItemGrade_7\"] {\n color: #ff770a !important;\n border-color: #ff770a !important; }\n\n.TooltipBase_grade-8 {\n color: #ff0084 !important; }\n\n.TooltipBase_border-grade-8 {\n border-color: #ff0084 !important; }\n\n.TooltipBase_border-hover-grade-8:hover {\n border-color: #ff0084 !important; }\n\n*[class*=\"00008130.Program.Fontset_ItemGrade_8\"] {\n color: #ff0084 !important;\n border-color: #ff0084 !important; }\n\n.TooltipBase_iconbg-grade-1 {\n background: url(\"https://lean.bns.tools/bns/icons/UE4/ItemIcon_Bg_Grade_1.png\") no-repeat; }\n\n.TooltipBase_iconbg-grade-2 {\n background: url(\"https://lean.bns.tools/bns/icons/UE4/ItemIcon_Bg_Grade_2.png\") no-repeat; }\n\n.TooltipBase_iconbg-grade-3 {\n background: url(\"https://lean.bns.tools/bns/icons/UE4/ItemIcon_Bg_Grade_3.png\") no-repeat; }\n\n.TooltipBase_iconbg-grade-4 {\n background: url(\"https://lean.bns.tools/bns/icons/UE4/ItemIcon_Bg_Grade_4.png\") no-repeat; }\n\n.TooltipBase_iconbg-grade-5 {\n background: url(\"https://lean.bns.tools/bns/icons/UE4/ItemIcon_Bg_Grade_5.png\") no-repeat; }\n\n.TooltipBase_iconbg-grade-6 {\n background: url(\"https://lean.bns.tools/bns/icons/UE4/ItemIcon_Bg_Grade_6.png\") no-repeat; }\n\n.TooltipBase_iconbg-grade-7 {\n background: url(\"https://lean.bns.tools/bns/icons/UE4/ItemIcon_Bg_Grade_7.png\") no-repeat; }\n\n.TooltipBase_iconbg-grade-8 {\n background: url(\"https://lean.bns.tools/bns/icons/UE4/ItemIcon_Bg_Grade_9.png\") no-repeat; }\n\n.TooltipBase_iconbg-grade-9 {\n background: url(\"https://lean.bns.tools/bns/icons/UE4/ItemIcon_Bg_Grade_9.png\") no-repeat; }\n\n.TooltipBase_container {\n box-sizing: border-box;\n font-family: \"Montserrat\", sans-serif !important;\n scroll-behavior: smooth;\n touch-action: manipulation;\n -webkit-overflow-scrolling: touch;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n position: relative;\n display: inline-flex;\n flex-direction: column;\n background-color: rgba(3, 3, 3, 0.9);\n backdrop-filter: brightness(1.5) blur(5px);\n -webkit-backdrop-filter: brightness(1.5) blur(5px);\n padding: 1rem;\n border: 1px solid;\n border-color: #6c6c6c;\n font-weight: 500;\n font-size: 16px;\n text-decoration: none;\n color: #fff;\n width: 380px;\n max-height: calc(100vh - 50px);\n overflow-y: auto;\n -ms-overflow-style: none;\n /* IE and Edge */\n scrollbar-width: none;\n /* Firefox */\n border-radius: 3px;\n text-shadow: black 1px 1px 0; }\n\n.TooltipBase_containerFullHeight {\n height: 99%; }\n\n.TooltipBase_container::-webkit-scrollbar {\n display: none; }\n\n@media only screen and (max-width: 380px) {\n .TooltipBase_container {\n width: 100%; } }\n\n@supports not (backdrop-filter: brightness(1.5) blur(5px)) {\n .TooltipBase_container {\n background-color: rgba(0, 0, 0, 0.95); }\n .TooltipBase_container-loading {\n background-color: rgba(0, 0, 0, 0.95); } }\n\n.TooltipBase_container-loading {\n background-color: rgba(3, 3, 3, 0.9);\n backdrop-filter: brightness(1.5) blur(5px);\n -webkit-backdrop-filter: brightness(1.5) blur(5px);\n padding: 1rem; }\n\n.TooltipBase_titlesubtitle {\n display: flex;\n justify-content: space-between;\n margin-bottom: 1rem; }\n\n.TooltipBase_title {\n flex: 1;\n overflow: hidden;\n padding-right: 1rem; }\n\n.TooltipBase_title_text {\n font-size: 18px;\n text-shadow: black 1px 1px 0;\n font-weight: 500; }\n\n.TooltipBase_subtitle {\n text-align: end;\n font-size: 12px; }\n\n.TooltipBase_iconmaininfo {\n display: flex;\n margin-bottom: 0.8rem; }\n\n.TooltipBase_iconcontainer {\n margin-right: 0.5rem;\n margin-bottom: 0.25rem;\n float: left;\n position: relative; }\n\n.TooltipBase_iconBg {\n width: 64px;\n height: 64px;\n background-origin: content-box !important; }\n\n.TooltipBase_icon {\n width: calc(64px - (0px * 2));\n height: calc(64px - (0px * 2));\n padding: 0px; }\n\n.TooltipBase_maininfocontainer {\n font-size: 16px;\n font-weight: 500; }\n\n.TooltipBase_maininfocontainer > div:not(:last-child) {\n margin-bottom: 0.2rem; }\n\n.TooltipBase_fullwidthContainer {\n line-height: 17px; }\n\n.TooltipBase_fullwidthContainer > div:not(:last-child) {\n margin-bottom: 0.5rem; }\n\n.TooltipBase_fullwidthContainer-subContainer {\n font-size: 12px; }\n\n.TooltipBase_fullwidthContainer-subContainer > div:not(:last-child) {\n margin-bottom: 0.1rem; }\n\n.TooltipBase_flex {\n display: flex;\n align-items: center; }\n\n.TooltipBase_flex-col {\n display: flex;\n justify-content: center;\n flex-direction: column; }\n\n.TooltipBase_descriptions-description-title {\n font-weight: 500; }\n";
62
- styleInject(css_248z$9);
61
+ var css_248z$d = "*[class*=\"00008130.UI.Label_LightYellow_12\"] {\n color: #ecd967 !important; }\n\n*[class*=\"00008130.UI.Vital_LightBlue\"] {\n color: #46bee1 !important;\n font-weight: 500 !important; }\n\n*[class*=\"00008130.UI.Label_Green03_12\"] {\n color: #58ff77 !important; }\n\n*[class*=\"00008130.Program.Fontset_Chatting_Color_19\"] {\n color: #58ff77; }\n\n.TooltipBase_grade-none {\n color: #c2cadc; }\n\n.TooltipBase_grade-1 {\n color: #6c6c6c !important; }\n\n.TooltipBase_border-grade-1 {\n border-color: #6c6c6c !important; }\n\n.TooltipBase_border-hover-grade-1:hover {\n border-color: #6c6c6c !important; }\n\n*[class*=\"00008130.Program.Fontset_ItemGrade_1\"] {\n color: #6c6c6c !important;\n border-color: #6c6c6c !important; }\n\n.TooltipBase_grade-2 {\n color: #ffffff !important; }\n\n.TooltipBase_border-grade-2 {\n border-color: #ffffff !important; }\n\n.TooltipBase_border-hover-grade-2:hover {\n border-color: #ffffff !important; }\n\n*[class*=\"00008130.Program.Fontset_ItemGrade_2\"] {\n color: #ffffff !important;\n border-color: #ffffff !important; }\n\n.TooltipBase_grade-3 {\n color: #58ff77 !important; }\n\n.TooltipBase_border-grade-3 {\n border-color: #58ff77 !important; }\n\n.TooltipBase_border-hover-grade-3:hover {\n border-color: #58ff77 !important; }\n\n*[class*=\"00008130.Program.Fontset_ItemGrade_3\"] {\n color: #58ff77 !important;\n border-color: #58ff77 !important; }\n\n.TooltipBase_grade-4 {\n color: #46bee1 !important; }\n\n.TooltipBase_border-grade-4 {\n border-color: #46bee1 !important; }\n\n.TooltipBase_border-hover-grade-4:hover {\n border-color: #46bee1 !important; }\n\n*[class*=\"00008130.Program.Fontset_ItemGrade_4\"] {\n color: #46bee1 !important;\n border-color: #46bee1 !important; }\n\n.TooltipBase_grade-5 {\n color: #d739ff !important; }\n\n.TooltipBase_border-grade-5 {\n border-color: #d739ff !important; }\n\n.TooltipBase_border-hover-grade-5:hover {\n border-color: #d739ff !important; }\n\n*[class*=\"00008130.Program.Fontset_ItemGrade_5\"] {\n color: #d739ff !important;\n border-color: #d739ff !important; }\n\n.TooltipBase_grade-6 {\n color: #f1b248 !important; }\n\n.TooltipBase_border-grade-6 {\n border-color: #f1b248 !important; }\n\n.TooltipBase_border-hover-grade-6:hover {\n border-color: #f1b248 !important; }\n\n*[class*=\"00008130.Program.Fontset_ItemGrade_6\"] {\n color: #f1b248 !important;\n border-color: #f1b248 !important; }\n\n.TooltipBase_grade-7 {\n color: #ff770a !important; }\n\n.TooltipBase_border-grade-7 {\n border-color: #ff770a !important; }\n\n.TooltipBase_border-hover-grade-7:hover {\n border-color: #ff770a !important; }\n\n*[class*=\"00008130.Program.Fontset_ItemGrade_7\"] {\n color: #ff770a !important;\n border-color: #ff770a !important; }\n\n.TooltipBase_grade-8 {\n color: #ff0084 !important; }\n\n.TooltipBase_border-grade-8 {\n border-color: #ff0084 !important; }\n\n.TooltipBase_border-hover-grade-8:hover {\n border-color: #ff0084 !important; }\n\n*[class*=\"00008130.Program.Fontset_ItemGrade_8\"] {\n color: #ff0084 !important;\n border-color: #ff0084 !important; }\n\n.TooltipBase_iconbg-grade-1 {\n background: url(\"https://lean.bns.tools/bns/icons/UE4/ItemIcon_Bg_Grade_1.png\") no-repeat; }\n\n.TooltipBase_iconbg-grade-2 {\n background: url(\"https://lean.bns.tools/bns/icons/UE4/ItemIcon_Bg_Grade_2.png\") no-repeat; }\n\n.TooltipBase_iconbg-grade-3 {\n background: url(\"https://lean.bns.tools/bns/icons/UE4/ItemIcon_Bg_Grade_3.png\") no-repeat; }\n\n.TooltipBase_iconbg-grade-4 {\n background: url(\"https://lean.bns.tools/bns/icons/UE4/ItemIcon_Bg_Grade_4.png\") no-repeat; }\n\n.TooltipBase_iconbg-grade-5 {\n background: url(\"https://lean.bns.tools/bns/icons/UE4/ItemIcon_Bg_Grade_5.png\") no-repeat; }\n\n.TooltipBase_iconbg-grade-6 {\n background: url(\"https://lean.bns.tools/bns/icons/UE4/ItemIcon_Bg_Grade_6.png\") no-repeat; }\n\n.TooltipBase_iconbg-grade-7 {\n background: url(\"https://lean.bns.tools/bns/icons/UE4/ItemIcon_Bg_Grade_7.png\") no-repeat; }\n\n.TooltipBase_iconbg-grade-8 {\n background: url(\"https://lean.bns.tools/bns/icons/UE4/ItemIcon_Bg_Grade_9.png\") no-repeat; }\n\n.TooltipBase_iconbg-grade-9 {\n background: url(\"https://lean.bns.tools/bns/icons/UE4/ItemIcon_Bg_Grade_9.png\") no-repeat; }\n\n.TooltipBase_container {\n box-sizing: border-box;\n font-family: \"Montserrat\", sans-serif !important;\n scroll-behavior: smooth;\n touch-action: manipulation;\n -webkit-overflow-scrolling: touch;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n position: relative;\n display: inline-flex;\n flex-direction: column;\n background-color: rgba(3, 3, 3, 0.9);\n backdrop-filter: brightness(1.5) blur(5px);\n -webkit-backdrop-filter: brightness(1.5) blur(5px);\n padding: 1rem;\n border: 1px solid;\n border-color: #6c6c6c;\n font-weight: 500;\n font-size: 16px;\n text-decoration: none;\n color: #fff;\n width: 380px;\n max-height: calc(100vh - 50px);\n overflow-y: auto;\n -ms-overflow-style: none;\n /* IE and Edge */\n scrollbar-width: none;\n /* Firefox */\n border-radius: 3px;\n text-shadow: black 1px 1px 0; }\n\n.TooltipBase_containerFullHeight {\n height: 99%; }\n\n.TooltipBase_container::-webkit-scrollbar {\n display: none; }\n\n.TooltipBase_downgradeBlue {\n color: #28A9F0; }\n\n.TooltipBase_upgradeRed {\n color: #FF2818; }\n\n@media only screen and (max-width: 380px) {\n .TooltipBase_container {\n width: 100%; } }\n\n@supports not (backdrop-filter: brightness(1.5) blur(5px)) {\n .TooltipBase_container {\n background-color: rgba(0, 0, 0, 0.95); }\n .TooltipBase_container-loading {\n background-color: rgba(0, 0, 0, 0.95); } }\n\n.TooltipBase_container-loading {\n background-color: rgba(3, 3, 3, 0.9);\n backdrop-filter: brightness(1.5) blur(5px);\n -webkit-backdrop-filter: brightness(1.5) blur(5px);\n padding: 1rem; }\n\n.TooltipBase_titlesubtitle {\n display: flex;\n justify-content: space-between;\n margin-bottom: 1rem; }\n\n.TooltipBase_title {\n flex: 1;\n overflow: hidden;\n padding-right: 1rem; }\n\n.TooltipBase_title_text {\n font-size: 18px;\n text-shadow: black 1px 1px 0;\n font-weight: 500; }\n\n.TooltipBase_subtitle {\n text-align: end;\n font-size: 12px; }\n\n.TooltipBase_iconmaininfo {\n display: flex;\n margin-bottom: 0.8rem; }\n\n.TooltipBase_iconcontainer {\n margin-right: 0.5rem;\n margin-bottom: 0.25rem;\n float: left;\n position: relative; }\n\n.TooltipBase_iconBg {\n width: 64px;\n height: 64px;\n background-origin: content-box !important; }\n\n.TooltipBase_icon {\n width: calc(64px - (0px * 2));\n height: calc(64px - (0px * 2));\n padding: 0px; }\n\n.TooltipBase_maininfocontainer {\n font-size: 16px;\n font-weight: 500; }\n\n.TooltipBase_maininfocontainer > div:not(:last-child) {\n margin-bottom: 0.2rem; }\n\n.TooltipBase_fullwidthContainer {\n line-height: 17px; }\n\n.TooltipBase_fullwidthContainer > div:not(:last-child) {\n margin-bottom: 0.5rem; }\n\n.TooltipBase_fullwidthContainer-subContainer {\n font-size: 12px; }\n\n.TooltipBase_fullwidthContainer-subContainer > div:not(:last-child) {\n margin-bottom: 0.1rem; }\n\n.TooltipBase_flex {\n display: flex;\n align-items: center; }\n\n.TooltipBase_flex-col {\n display: flex;\n justify-content: center;\n flex-direction: column; }\n\n.TooltipBase_descriptions-description-title {\n font-weight: 500; }\n";
62
+ styleInject(css_248z$d);
63
63
 
64
64
  function TooltipBase(_a) {
65
- var title = _a.title, category = _a.subtitle, grade = _a.grade, _b = _a.icon, icon = _b === void 0 ? "" : _b, _c = _a.mainInfos, mainTexts = _c === void 0 ? [] : _c, _d = _a.subInfoGroups, subTexts = _d === void 0 ? [] : _d, id = _a.id, _e = _a.fullHeight, fullHeight = _e === void 0 ? false : _e;
66
- return (React__default["default"].createElement("div", { "data-contentid": id !== null && id !== void 0 ? id : "", "data-testid": "TooltipBase", className: "TooltipBase_container TooltipBase_border-grade-".concat(grade, " ").concat(fullHeight ? "TooltipBase_containerFullHeight" : "") },
65
+ var title = _a.title, category = _a.subtitle, grade = _a.grade, _b = _a.icon, icon = _b === void 0 ? "" : _b, _c = _a.mainInfos, mainTexts = _c === void 0 ? [] : _c, _d = _a.subInfoGroups, subTexts = _d === void 0 ? [] : _d, id = _a.id, _e = _a.fullHeight, fullHeight = _e === void 0 ? false : _e, widthOverride = _a.widthOverride;
66
+ return (React__default["default"].createElement("div", { "data-contentid": id !== null && id !== void 0 ? id : "", "data-testid": "TooltipBase", style: widthOverride != null ? { width: widthOverride } : {}, className: "TooltipBase_container TooltipBase_border-grade-".concat(grade, " ").concat(fullHeight ? "TooltipBase_containerFullHeight" : "") },
67
67
  (title != null && title != "") ||
68
68
  (category != null && category != "") ? (React__default["default"].createElement("div", { className: "TooltipBase_titlesubtitle" },
69
69
  React__default["default"].createElement("div", { className: "TooltipBase_title" },
@@ -161,8 +161,8 @@ function __generator(thisArg, body) {
161
161
  }
162
162
  }
163
163
 
164
- var css_248z$8 = ".ItemTooltip_itemIconLoading {\n width: 50px;\n padding: 0.22rem 0;\n display: flex;\n justify-content: center;\n align-items: center; }\n\n.ItemTooltip_jobstyleToggleContainer {\n display: flex; }\n\n.ItemTooltip_optionPadding {\n margin: .2rem 0 .5rem 0; }\n\n.ItemTooltip_showButton {\n flex: 1;\n border: none;\n padding: 0.33rem 0.5rem;\n border-radius: 0;\n background-color: rgba(233, 233, 233, 0.2);\n color: #fff;\n opacity: 0.8;\n cursor: pointer;\n transition: background-color 0.1s; }\n .ItemTooltip_showButton:hover {\n background-color: rgba(255, 255, 255, 0.3);\n opacity: 1; }\n .ItemTooltip_showButton-active {\n background-color: rgba(255, 255, 255, 0.4) !important;\n color: #fff;\n opacity: 1; }\n\n.ItemTooltip_jobstyleButton {\n flex: 1;\n border: none;\n padding: 0.33rem 0.5rem;\n border-radius: 0;\n background-color: rgba(233, 233, 233, 0.1);\n color: #fff;\n opacity: 0.8;\n cursor: pointer;\n transition: background-color 0.1s; }\n .ItemTooltip_jobstyleButton:hover {\n background-color: rgba(255, 255, 255, 0.2);\n opacity: 1; }\n .ItemTooltip_jobstyleButton-active {\n background-color: rgba(255, 255, 255, 0.3) !important;\n color: #fff;\n opacity: 1; }\n\n.ItemTooltip_itemiconnamedivspan {\n display: flex;\n justify-content: center;\n align-items: center; }\n\n.ItemTooltip_cooldown {\n font-weight: 400;\n font-size: 12px; }\n\n.ItemTooltip_subInfo {\n font-size: 14px; }\n\n.ItemTooltip_stats_mainstat {\n font-size: 16px;\n margin-bottom: 0.05rem; }\n\n.ItemTooltip_stats_substat {\n font-size: 14px; }\n\n.ItemTooltip_itemIconInline {\n width: 18px !important;\n height: 18px !important;\n margin: 0 1px;\n top: 3px;\n position: relative; }\n\n.ItemTooltip_itemIconRandom {\n width: 36px !important;\n top: 6px;\n margin: 0 1px 0 2px; }\n\n.ItemTooltip_itemIconSmall {\n width: 20px !important;\n height: 20px !important;\n margin-right: 0.33rem; }\n\n.ItemTooltip_setBonus {\n margin-bottom: 0.8rem !important; }\n\n.ItemTooltip_setContainer {\n padding-left: 0.33rem;\n padding-top: 0.22rem; }\n\n.ItemTooltip_setStageContainer {\n display: flex;\n margin: 0.25rem 0 0.35rem 0; }\n\n.ItemTooltip_setStageNumber {\n margin-top: 0.2rem;\n padding-top: 0.1rem;\n line-height: 16px;\n width: 16px;\n height: 16px;\n max-height: 16px;\n font-weight: 500;\n display: flex;\n justify-content: center;\n align-items: center;\n color: rgba(88, 255, 119, 0.8);\n border: 1px solid rgba(88, 255, 119, 0.9);\n border-radius: 3px; }\n\n.ItemTooltip_setStageContent {\n padding-top: 0.2rem;\n flex-grow: 2;\n padding-left: 0.55rem;\n max-width: 90%;\n color: #58ff77; }\n\n.ItemTooltip_itemiconnamediv {\n display: flex;\n align-items: center;\n padding: 0.15rem 0 0.15rem 0.33rem;\n line-height: 20px; }\n\n.ItemTooltip_setItemIconNameDiv {\n display: flex;\n align-items: center;\n padding: 0.11rem 0 0.11rem 0.33rem;\n line-height: 20px; }\n\n.ItemTooltip_setItemsContainer {\n display: flex;\n font-size: 12px; }\n\n.ItemTooltip_setItemsSubContainer {\n flex: 1; }\n\n.ItemTooltip_itemNameRandomDiv {\n display: flex;\n align-items: center; }\n\n@media only screen and (max-width: 380px) {\n .ItemTooltip_jobstyleButton {\n padding: 0.5rem; } }\n\n/**\r\n * ==============================================\r\n * Dot Elastic\r\n * ==============================================\r\n */\n.dot-elastic {\n position: relative;\n width: 10px;\n height: 10px;\n border-radius: 5px;\n background-color: rgba(127, 127, 127, 0.8);\n color: rgba(127, 127, 127, 0.8);\n animation: dotElastic 1s infinite linear; }\n\n.dot-elastic::before,\n.dot-elastic::after {\n content: \"\";\n display: inline-block;\n position: absolute;\n top: 0; }\n\n.dot-elastic::before {\n left: -15px;\n width: 10px;\n height: 10px;\n border-radius: 5px;\n background-color: rgba(127, 127, 127, 0.8);\n color: rgba(127, 127, 127, 0.8);\n animation: dotElasticBefore 1s infinite linear; }\n\n.dot-elastic::after {\n left: 15px;\n width: 10px;\n height: 10px;\n border-radius: 5px;\n background-color: rgba(127, 127, 127, 0.8);\n color: rgba(127, 127, 127, 0.8);\n animation: dotElasticAfter 1s infinite linear; }\n\n@keyframes dotElasticBefore {\n 0% {\n transform: scale(1, 1); }\n 25% {\n transform: scale(1, 1.5); }\n 50% {\n transform: scale(1, 0.67); }\n 75% {\n transform: scale(1, 1); }\n 100% {\n transform: scale(1, 1); } }\n\n@keyframes dotElastic {\n 0% {\n transform: scale(1, 1); }\n 25% {\n transform: scale(1, 1); }\n 50% {\n transform: scale(1, 1.5); }\n 75% {\n transform: scale(1, 1); }\n 100% {\n transform: scale(1, 1); } }\n\n@keyframes dotElasticAfter {\n 0% {\n transform: scale(1, 1); }\n 25% {\n transform: scale(1, 1); }\n 50% {\n transform: scale(1, 0.67); }\n 75% {\n transform: scale(1, 1.5); }\n 100% {\n transform: scale(1, 1); } }\n";
165
- styleInject(css_248z$8);
164
+ var css_248z$c = ".ItemTooltip_itemIconLoading {\n width: 50px;\n padding: 0.22rem 0;\n display: flex;\n justify-content: center;\n align-items: center; }\n\n.ItemTooltip_jobstyleToggleContainer {\n display: flex; }\n\n.ItemTooltip_optionPadding {\n margin: .2rem 0 .5rem 0; }\n\n.ItemTooltip_showButton {\n flex: 1;\n border: none;\n padding: 0.33rem 0.5rem;\n border-radius: 0;\n background-color: rgba(233, 233, 233, 0.2);\n color: #fff;\n opacity: 0.8;\n cursor: pointer;\n transition: background-color 0.1s; }\n .ItemTooltip_showButton:hover {\n background-color: rgba(255, 255, 255, 0.3);\n opacity: 1; }\n .ItemTooltip_showButton-active {\n background-color: rgba(255, 255, 255, 0.4) !important;\n color: #fff;\n opacity: 1; }\n\n.ItemTooltip_jobstyleButton {\n flex: 1;\n border: none;\n padding: 0.33rem 0.5rem;\n border-radius: 0;\n background-color: rgba(233, 233, 233, 0.1);\n color: #fff;\n opacity: 0.8;\n cursor: pointer;\n transition: background-color 0.1s; }\n .ItemTooltip_jobstyleButton:hover {\n background-color: rgba(255, 255, 255, 0.2);\n opacity: 1; }\n .ItemTooltip_jobstyleButton-active {\n background-color: rgba(255, 255, 255, 0.3) !important;\n color: #fff;\n opacity: 1; }\n\n.ItemTooltip_itemiconnamedivspan {\n display: flex;\n justify-content: center;\n align-items: center; }\n\n.ItemTooltip_cooldown {\n font-weight: 400;\n font-size: 12px; }\n\n.ItemTooltip_subInfo {\n font-size: 14px; }\n\n.ItemTooltip_stats_mainstat {\n font-size: 16px;\n margin-bottom: 0.05rem; }\n\n.ItemTooltip_stats_substat {\n font-size: 14px; }\n\n.ItemTooltip_itemIconInline {\n width: 18px !important;\n height: 18px !important;\n margin: 0 1px;\n top: 3px;\n position: relative; }\n\n.ItemTooltip_itemIconRandom {\n width: 36px !important;\n top: 6px;\n margin: 0 1px 0 2px; }\n\n.ItemTooltip_itemIconSmall {\n width: 20px !important;\n height: 20px !important;\n margin-right: 0.33rem; }\n\n.ItemTooltip_setBonus {\n margin-bottom: 0.8rem !important; }\n\n.ItemTooltip_setContainer {\n padding-left: 0.33rem;\n padding-top: 0.22rem; }\n\n.ItemTooltip_setStageContainer {\n display: flex;\n margin: 0.25rem 0 0.35rem 0; }\n\n.ItemTooltip_setStageNumber {\n margin-top: 0.2rem;\n padding-top: 0.1rem;\n line-height: 16px;\n width: 16px;\n height: 16px;\n max-height: 16px;\n font-weight: 500;\n display: flex;\n justify-content: center;\n align-items: center;\n color: rgba(88, 255, 119, 0.8);\n border: 1px solid rgba(88, 255, 119, 0.9);\n border-radius: 3px; }\n\n.ItemTooltip_setStageContent {\n padding-top: 0.2rem;\n flex-grow: 2;\n padding-left: 0.55rem;\n max-width: 90%;\n color: #58ff77; }\n\n.ItemTooltip_itemiconnamediv {\n display: flex;\n align-items: center;\n padding: 0.15rem 0 0.15rem 0.33rem;\n line-height: 20px; }\n\n.ItemTooltip_setItemIconNameDiv {\n display: flex;\n align-items: center;\n padding: 0.11rem 0 0.11rem 0.33rem;\n line-height: 20px; }\n\n.ItemTooltip_setItemsContainer {\n display: flex;\n font-size: 12px; }\n\n.ItemTooltip_setItemsSubContainer {\n flex: 1; }\n\n.ItemTooltip_itemNameRandomDiv {\n display: flex;\n align-items: center; }\n\n@media only screen and (max-width: 380px) {\n .ItemTooltip_jobstyleButton {\n padding: 0.5rem; } }\n\n/**\r\n * ==============================================\r\n * Dot Elastic\r\n * ==============================================\r\n */\n.dot-elastic {\n position: relative;\n width: 10px;\n height: 10px;\n border-radius: 5px;\n background-color: rgba(127, 127, 127, 0.8);\n color: rgba(127, 127, 127, 0.8);\n animation: dotElastic 1s infinite linear; }\n\n.dot-elastic::before,\n.dot-elastic::after {\n content: \"\";\n display: inline-block;\n position: absolute;\n top: 0; }\n\n.dot-elastic::before {\n left: -15px;\n width: 10px;\n height: 10px;\n border-radius: 5px;\n background-color: rgba(127, 127, 127, 0.8);\n color: rgba(127, 127, 127, 0.8);\n animation: dotElasticBefore 1s infinite linear; }\n\n.dot-elastic::after {\n left: 15px;\n width: 10px;\n height: 10px;\n border-radius: 5px;\n background-color: rgba(127, 127, 127, 0.8);\n color: rgba(127, 127, 127, 0.8);\n animation: dotElasticAfter 1s infinite linear; }\n\n@keyframes dotElasticBefore {\n 0% {\n transform: scale(1, 1); }\n 25% {\n transform: scale(1, 1.5); }\n 50% {\n transform: scale(1, 0.67); }\n 75% {\n transform: scale(1, 1); }\n 100% {\n transform: scale(1, 1); } }\n\n@keyframes dotElastic {\n 0% {\n transform: scale(1, 1); }\n 25% {\n transform: scale(1, 1); }\n 50% {\n transform: scale(1, 1.5); }\n 75% {\n transform: scale(1, 1); }\n 100% {\n transform: scale(1, 1); } }\n\n@keyframes dotElasticAfter {\n 0% {\n transform: scale(1, 1); }\n 25% {\n transform: scale(1, 1); }\n 50% {\n transform: scale(1, 0.67); }\n 75% {\n transform: scale(1, 1.5); }\n 100% {\n transform: scale(1, 1); } }\n";
165
+ styleInject(css_248z$c);
166
166
 
167
167
  function BuildIconPath(iconPath, iconIndex) {
168
168
  if (iconPath == null)
@@ -424,6 +424,43 @@ var BnsItemApiFetchParamCreator = function (configuration) {
424
424
  options: localVarRequestOptions,
425
425
  };
426
426
  },
427
+ /**
428
+ *
429
+ * @param {number} [itemId]
430
+ * @param {number} [itemLevel]
431
+ * @param {string} [region]
432
+ * @param {string} [patch]
433
+ * @param {*} [options] Override http request option.
434
+ * @throws {RequiredError}
435
+ */
436
+ bnsItemAllUpgradesForItemGet: function (itemId, itemLevel, region, patch, options) {
437
+ if (options === void 0) { options = {}; }
438
+ var localVarPath = "/BnsItem/AllUpgradesForItem";
439
+ var localVarUrlObj = url__namespace.parse(localVarPath, true);
440
+ var localVarRequestOptions = Object.assign({ method: 'GET' }, options);
441
+ var localVarHeaderParameter = {};
442
+ var localVarQueryParameter = {};
443
+ if (itemId !== undefined) {
444
+ localVarQueryParameter['itemId'] = itemId;
445
+ }
446
+ if (itemLevel !== undefined) {
447
+ localVarQueryParameter['itemLevel'] = itemLevel;
448
+ }
449
+ if (region !== undefined) {
450
+ localVarQueryParameter['region'] = region;
451
+ }
452
+ if (patch !== undefined) {
453
+ localVarQueryParameter['patch'] = patch;
454
+ }
455
+ localVarUrlObj.query = Object.assign({}, localVarUrlObj.query, localVarQueryParameter, options.query);
456
+ // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943
457
+ delete localVarUrlObj.search;
458
+ localVarRequestOptions.headers = Object.assign({}, localVarHeaderParameter, options.headers);
459
+ return {
460
+ url: url__namespace.format(localVarUrlObj),
461
+ options: localVarRequestOptions,
462
+ };
463
+ },
427
464
  /**
428
465
  *
429
466
  * @param {string} idLevel
@@ -842,6 +879,30 @@ var BnsItemApiFp = function (configuration) {
842
879
  });
843
880
  };
844
881
  },
882
+ /**
883
+ *
884
+ * @param {number} [itemId]
885
+ * @param {number} [itemLevel]
886
+ * @param {string} [region]
887
+ * @param {string} [patch]
888
+ * @param {*} [options] Override http request option.
889
+ * @throws {RequiredError}
890
+ */
891
+ bnsItemAllUpgradesForItemGet: function (itemId, itemLevel, region, patch, options) {
892
+ var localVarFetchArgs = BnsItemApiFetchParamCreator().bnsItemAllUpgradesForItemGet(itemId, itemLevel, region, patch, options);
893
+ return function (fetch, basePath) {
894
+ if (fetch === void 0) { fetch = isomorphicFetch__namespace; }
895
+ if (basePath === void 0) { basePath = BASE_PATH; }
896
+ return fetch(basePath + localVarFetchArgs.url, localVarFetchArgs.options).then(function (response) {
897
+ if (response.status >= 200 && response.status < 300) {
898
+ return response.json();
899
+ }
900
+ else {
901
+ throw response;
902
+ }
903
+ });
904
+ };
905
+ },
845
906
  /**
846
907
  *
847
908
  * @param {string} idLevel
@@ -1097,6 +1158,19 @@ var BnsItemApi = /** @class */ (function (_super) {
1097
1158
  BnsItemApi.prototype.bnsItemAddedOrModifiedItemsGet = function (added, modified, region, patch, options) {
1098
1159
  return BnsItemApiFp(this.configuration).bnsItemAddedOrModifiedItemsGet(added, modified, region, patch, options)(this.fetch, this.basePath);
1099
1160
  };
1161
+ /**
1162
+ *
1163
+ * @param {number} [itemId]
1164
+ * @param {number} [itemLevel]
1165
+ * @param {string} [region]
1166
+ * @param {string} [patch]
1167
+ * @param {*} [options] Override http request option.
1168
+ * @throws {RequiredError}
1169
+ * @memberof BnsItemApi
1170
+ */
1171
+ BnsItemApi.prototype.bnsItemAllUpgradesForItemGet = function (itemId, itemLevel, region, patch, options) {
1172
+ return BnsItemApiFp(this.configuration).bnsItemAllUpgradesForItemGet(itemId, itemLevel, region, patch, options)(this.fetch, this.basePath);
1173
+ };
1100
1174
  /**
1101
1175
  *
1102
1176
  * @param {string} idLevel
@@ -1294,15 +1368,41 @@ var ItemDownloadClient = /** @class */ (function () {
1294
1368
  });
1295
1369
  });
1296
1370
  };
1371
+ ItemDownloadClient.prototype.GetItemUpgrades = function (item) {
1372
+ return __awaiter(this, void 0, void 0, function () {
1373
+ var result;
1374
+ return __generator(this, function (_a) {
1375
+ switch (_a.label) {
1376
+ case 0: return [4 /*yield*/, this.instance.bnsItemAllUpgradesForItemGet(item.id, item.level, this.region, this.patch)];
1377
+ case 1:
1378
+ result = _a.sent();
1379
+ return [2 /*return*/, result];
1380
+ }
1381
+ });
1382
+ });
1383
+ };
1384
+ ItemDownloadClient.prototype.GetItemUpgradesByIdLevel = function (id, level) {
1385
+ return __awaiter(this, void 0, void 0, function () {
1386
+ var result;
1387
+ return __generator(this, function (_a) {
1388
+ switch (_a.label) {
1389
+ case 0: return [4 /*yield*/, this.instance.bnsItemAllUpgradesForItemGet(id, level, this.region, this.patch)];
1390
+ case 1:
1391
+ result = _a.sent();
1392
+ return [2 /*return*/, result];
1393
+ }
1394
+ });
1395
+ });
1396
+ };
1297
1397
  ItemDownloadClient.urlBase = "https://bnsitemstoragewebapi.azurewebsites.net";
1298
1398
  return ItemDownloadClient;
1299
1399
  }());
1300
1400
 
1301
- var css_248z$7 = ".tippy-box[data-animation=fade][data-state=hidden]{opacity:0}[data-tippy-root]{max-width:calc(100vw - 10px)}.tippy-box{position:relative;background-color:#333;color:#fff;border-radius:4px;font-size:14px;line-height:1.4;white-space:normal;outline:0;transition-property:transform,visibility,opacity}.tippy-box[data-placement^=top]>.tippy-arrow{bottom:0}.tippy-box[data-placement^=top]>.tippy-arrow:before{bottom:-7px;left:0;border-width:8px 8px 0;border-top-color:initial;transform-origin:center top}.tippy-box[data-placement^=bottom]>.tippy-arrow{top:0}.tippy-box[data-placement^=bottom]>.tippy-arrow:before{top:-7px;left:0;border-width:0 8px 8px;border-bottom-color:initial;transform-origin:center bottom}.tippy-box[data-placement^=left]>.tippy-arrow{right:0}.tippy-box[data-placement^=left]>.tippy-arrow:before{border-width:8px 0 8px 8px;border-left-color:initial;right:-7px;transform-origin:center left}.tippy-box[data-placement^=right]>.tippy-arrow{left:0}.tippy-box[data-placement^=right]>.tippy-arrow:before{left:-7px;border-width:8px 8px 8px 0;border-right-color:initial;transform-origin:center right}.tippy-box[data-inertia][data-state=visible]{transition-timing-function:cubic-bezier(.54,1.5,.38,1.11)}.tippy-arrow{width:16px;height:16px;color:#333}.tippy-arrow:before{content:\"\";position:absolute;border-color:transparent;border-style:solid}.tippy-content{position:relative;padding:5px 9px;z-index:1}";
1302
- styleInject(css_248z$7);
1401
+ var css_248z$b = ".tippy-box[data-animation=fade][data-state=hidden]{opacity:0}[data-tippy-root]{max-width:calc(100vw - 10px)}.tippy-box{position:relative;background-color:#333;color:#fff;border-radius:4px;font-size:14px;line-height:1.4;white-space:normal;outline:0;transition-property:transform,visibility,opacity}.tippy-box[data-placement^=top]>.tippy-arrow{bottom:0}.tippy-box[data-placement^=top]>.tippy-arrow:before{bottom:-7px;left:0;border-width:8px 8px 0;border-top-color:initial;transform-origin:center top}.tippy-box[data-placement^=bottom]>.tippy-arrow{top:0}.tippy-box[data-placement^=bottom]>.tippy-arrow:before{top:-7px;left:0;border-width:0 8px 8px;border-bottom-color:initial;transform-origin:center bottom}.tippy-box[data-placement^=left]>.tippy-arrow{right:0}.tippy-box[data-placement^=left]>.tippy-arrow:before{border-width:8px 0 8px 8px;border-left-color:initial;right:-7px;transform-origin:center left}.tippy-box[data-placement^=right]>.tippy-arrow{left:0}.tippy-box[data-placement^=right]>.tippy-arrow:before{left:-7px;border-width:8px 8px 8px 0;border-right-color:initial;transform-origin:center right}.tippy-box[data-inertia][data-state=visible]{transition-timing-function:cubic-bezier(.54,1.5,.38,1.11)}.tippy-arrow{width:16px;height:16px;color:#333}.tippy-arrow:before{content:\"\";position:absolute;border-color:transparent;border-style:solid}.tippy-content{position:relative;padding:5px 9px;z-index:1}";
1402
+ styleInject(css_248z$b);
1303
1403
 
1304
- var css_248z$6 = "";
1305
- styleInject(css_248z$6);
1404
+ var css_248z$a = "";
1405
+ styleInject(css_248z$a);
1306
1406
 
1307
1407
  var top = 'top';
1308
1408
  var bottom = 'bottom';
@@ -5475,8 +5575,501 @@ var index = /*#__PURE__*/forwardRef( /*#__PURE__*/TippyGenerator(tippy));
5475
5575
 
5476
5576
  var Tippy = index;
5477
5577
 
5478
- var css_248z$5 = ".ItemImproveTooltip_option {\n margin: .2rem 0; }\n\n.ItemImproveTooltip_moneyContainer {\n padding: 0 0 0.15rem 0.33rem; }\n";
5479
- styleInject(css_248z$5);
5578
+ var css_248z$9 = ".ItemImproveTooltip_PrevCurNext {\n display: flex;\n align-items: center;\n justify-content: center; }\n .ItemImproveTooltip_PrevCurNext_container {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 90%; }\n .ItemImproveTooltip_PrevCurNext_container > div {\n margin: 0 .5rem;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center; }\n .ItemImproveTooltip_PrevCurNext_container_itemChild {\n flex: 3; }\n .ItemImproveTooltip_PrevCurNext_container_itemChildExtra {\n flex: 3.5; }\n .ItemImproveTooltip_PrevCurNext_container_itemChildExtra_container {\n display: flex;\n justify-content: center;\n align-items: center; }\n .ItemImproveTooltip_PrevCurNext_container_itemChildExtra_container_arrow {\n display: flex;\n justify-content: center;\n align-items: center;\n text-align: center;\n border: solid 1px rgba(233, 233, 233, 0.5);\n border-radius: 3px;\n padding: 1rem 0;\n cursor: pointer;\n opacity: .8; }\n .ItemImproveTooltip_PrevCurNext_container_itemChildExtra_container_arrow:hover {\n opacity: 1;\n filter: brightness(1.5); }\n .ItemImproveTooltip_PrevCurNext_container_arrowChild {\n flex: 1; }\n .ItemImproveTooltip_PrevCurNext_container_arrowChild_arrowButton {\n cursor: pointer;\n opacity: .8; }\n .ItemImproveTooltip_PrevCurNext_container_arrowChild_arrowButton:hover {\n opacity: 1;\n filter: brightness(1.5); }\n\n.ItemImproveTooltip_ItemWithText {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center; }\n .ItemImproveTooltip_ItemWithText_icon {\n width: 56px;\n height: 56px; }\n .ItemImproveTooltip_ItemWithText_iconSmall {\n width: 40px;\n height: 40px; }\n .ItemImproveTooltip_ItemWithText_iconPad {\n border-width: 2px;\n border-color: rgba(233, 233, 233, 0.5);\n border-style: solid;\n border-radius: 3px;\n padding: 1px;\n display: flex;\n justify-content: center;\n align-items: center; }\n .ItemImproveTooltip_ItemWithText_name {\n display: flex;\n justify-content: center;\n align-items: center;\n text-align: center; }\n\n.ItemImproveUpgradeCost {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n margin-top: 2rem;\n margin-bottom: 1rem; }\n .ItemImproveUpgradeCost_title {\n text-align: center;\n font-size: 24px;\n padding: 1rem; }\n .ItemImproveUpgradeCost > div {\n width: 100%; }\n\n.SubCostSelector {\n display: flex;\n justify-content: center;\n align-items: center;\n margin-top: .33rem;\n margin-bottom: .5rem; }\n .SubCostSelector > div {\n display: flex;\n justify-content: center;\n align-items: center;\n flex: 2; }\n\n.MainCostSelector {\n margin: .33rem 0 .5rem 0;\n display: flex;\n justify-content: center;\n align-items: center; }\n .MainCostSelector > div {\n display: flex;\n justify-content: center;\n align-items: center;\n flex: 2; }\n .MainCostSelector_or {\n flex: .2 !important;\n padding: 0 .33rem;\n font-size: 18px; }\n .MainCostSelector_container {\n display: flex;\n flex-direction: column; }\n";
5579
+ styleInject(css_248z$9);
5580
+
5581
+ var css_248z$8 = ".tippy-box {\n max-width: none !important;\n background-color: transparent !important;\n box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3) !important;\n transition: 0.3s cubic-bezier(0.25, 0.8, 0.25, 1) !important; }\n .tippy-box:hover {\n box-shadow: rgba(0, 0, 0, 0.8) 0px 20px 60px 0px !important; }\n\n.tippy-content {\n padding: 0 !important; }\n\n.tippy-box[data-theme~=\"grade1\"][data-placement^=\"bottom\"]\n.tippy-arrow::before {\n border-bottom-color: #6c6c6c !important; }\n\n.tippy-box[data-theme~=\"grade1\"][data-placement^=\"top\"]\n.tippy-arrow::before {\n border-top-color: #6c6c6c !important; }\n\n.tippy-box[data-theme~=\"grade1\"][data-placement^=\"left\"]\n.tippy-arrow::before {\n border-left-color: #6c6c6c !important; }\n\n.tippy-box[data-theme~=\"grade1\"][data-placement^=\"right\"]\n.tippy-arrow::before {\n border-right-color: #6c6c6c !important; }\n\n.tippy-box[data-theme~=\"grade2\"][data-placement^=\"bottom\"]\n.tippy-arrow::before {\n border-bottom-color: #ffffff !important; }\n\n.tippy-box[data-theme~=\"grade2\"][data-placement^=\"top\"]\n.tippy-arrow::before {\n border-top-color: #ffffff !important; }\n\n.tippy-box[data-theme~=\"grade2\"][data-placement^=\"left\"]\n.tippy-arrow::before {\n border-left-color: #ffffff !important; }\n\n.tippy-box[data-theme~=\"grade2\"][data-placement^=\"right\"]\n.tippy-arrow::before {\n border-right-color: #ffffff !important; }\n\n.tippy-box[data-theme~=\"grade3\"][data-placement^=\"bottom\"]\n.tippy-arrow::before {\n border-bottom-color: #58ff77 !important; }\n\n.tippy-box[data-theme~=\"grade3\"][data-placement^=\"top\"]\n.tippy-arrow::before {\n border-top-color: #58ff77 !important; }\n\n.tippy-box[data-theme~=\"grade3\"][data-placement^=\"left\"]\n.tippy-arrow::before {\n border-left-color: #58ff77 !important; }\n\n.tippy-box[data-theme~=\"grade3\"][data-placement^=\"right\"]\n.tippy-arrow::before {\n border-right-color: #58ff77 !important; }\n\n.tippy-box[data-theme~=\"grade4\"][data-placement^=\"bottom\"]\n.tippy-arrow::before {\n border-bottom-color: #46bee1 !important; }\n\n.tippy-box[data-theme~=\"grade4\"][data-placement^=\"top\"]\n.tippy-arrow::before {\n border-top-color: #46bee1 !important; }\n\n.tippy-box[data-theme~=\"grade4\"][data-placement^=\"left\"]\n.tippy-arrow::before {\n border-left-color: #46bee1 !important; }\n\n.tippy-box[data-theme~=\"grade4\"][data-placement^=\"right\"]\n.tippy-arrow::before {\n border-right-color: #46bee1 !important; }\n\n.tippy-box[data-theme~=\"grade5\"][data-placement^=\"bottom\"]\n.tippy-arrow::before {\n border-bottom-color: #d739ff !important; }\n\n.tippy-box[data-theme~=\"grade5\"][data-placement^=\"top\"]\n.tippy-arrow::before {\n border-top-color: #d739ff !important; }\n\n.tippy-box[data-theme~=\"grade5\"][data-placement^=\"left\"]\n.tippy-arrow::before {\n border-left-color: #d739ff !important; }\n\n.tippy-box[data-theme~=\"grade5\"][data-placement^=\"right\"]\n.tippy-arrow::before {\n border-right-color: #d739ff !important; }\n\n.tippy-box[data-theme~=\"grade6\"][data-placement^=\"bottom\"]\n.tippy-arrow::before {\n border-bottom-color: #f1b248 !important; }\n\n.tippy-box[data-theme~=\"grade6\"][data-placement^=\"top\"]\n.tippy-arrow::before {\n border-top-color: #f1b248 !important; }\n\n.tippy-box[data-theme~=\"grade6\"][data-placement^=\"left\"]\n.tippy-arrow::before {\n border-left-color: #f1b248 !important; }\n\n.tippy-box[data-theme~=\"grade6\"][data-placement^=\"right\"]\n.tippy-arrow::before {\n border-right-color: #f1b248 !important; }\n\n.tippy-box[data-theme~=\"grade7\"][data-placement^=\"bottom\"]\n.tippy-arrow::before {\n border-bottom-color: #ff770a !important; }\n\n.tippy-box[data-theme~=\"grade7\"][data-placement^=\"top\"]\n.tippy-arrow::before {\n border-top-color: #ff770a !important; }\n\n.tippy-box[data-theme~=\"grade7\"][data-placement^=\"left\"]\n.tippy-arrow::before {\n border-left-color: #ff770a !important; }\n\n.tippy-box[data-theme~=\"grade7\"][data-placement^=\"right\"]\n.tippy-arrow::before {\n border-right-color: #ff770a !important; }\n\n.tippy-box[data-theme~=\"grade8\"][data-placement^=\"bottom\"]\n.tippy-arrow::before {\n border-bottom-color: #ff0084 !important; }\n\n.tippy-box[data-theme~=\"grade8\"][data-placement^=\"top\"]\n.tippy-arrow::before {\n border-top-color: #ff0084 !important; }\n\n.tippy-box[data-theme~=\"grade8\"][data-placement^=\"left\"]\n.tippy-arrow::before {\n border-left-color: #ff0084 !important; }\n\n.tippy-box[data-theme~=\"grade8\"][data-placement^=\"right\"]\n.tippy-arrow::before {\n border-right-color: #ff0084 !important; }\n";
5582
+ styleInject(css_248z$8);
5583
+
5584
+ var ItemTooltipWrapper = function (_a) {
5585
+ var data = _a.data, region = _a.region, children = _a.children, client = _a.client, _b = _a.showUpgrade, showUpgrade = _b === void 0 ? false : _b, _c = _a.offline, offline = _c === void 0 ? false : _c, _d = _a.interactive, interactive = _d === void 0 ? true : _d, _e = _a.placement, placement = _e === void 0 ? "right" : _e, _f = _a.debug, debug = _f === void 0 ? false : _f, jobstyleOverride = _a.jobstyleOverride, _g = _a.followCursor, followCursor$1 = _g === void 0 ? false : _g, _h = _a.trigger, trigger = _h === void 0 ? "mouseenter focus" : _h, _j = _a.showArrow, showArrow = _j === void 0 ? true : _j;
5586
+ var spanRef = React.useRef(null);
5587
+ var _k = React.useState(null), childRef = _k[0], setChildRef = _k[1];
5588
+ /**
5589
+ * Mount the temporary span element.
5590
+ * retrieve and store the target element's reference.
5591
+ */
5592
+ React.useEffect(function () {
5593
+ if (spanRef.current) {
5594
+ setChildRef(spanRef.current.previousElementSibling);
5595
+ }
5596
+ return function () { return setChildRef(null); };
5597
+ }, []);
5598
+ var _l = React.useState(true), isOffline = _l[0], setIsOffline = _l[1];
5599
+ return (React__default["default"].createElement(React__default["default"].Fragment, null,
5600
+ children,
5601
+ childRef ? (React__default["default"].createElement(Tippy, { arrow: showArrow, trigger: trigger, plugins: [followCursor], followCursor: followCursor$1 && !interactive, appendTo: document.body, onMount: function () { return setIsOffline(offline); }, placement: placement, animation: "fade", interactive: interactive, content: React__default["default"].createElement(ItemTooltip, { region: region, jobstyleOverride: jobstyleOverride, data: data, offline: isOffline, client: client, showUpgrade: showUpgrade, debug: debug }), theme: "grade" + data.grade, reference: childRef })) : (React__default["default"].createElement("span", { "data-testid": "TooltipWrapper", ref: spanRef, style: { display: "none" } }))));
5602
+ };
5603
+
5604
+ function ItemWithText(_a) {
5605
+ var _this = this;
5606
+ var _b, _c;
5607
+ var borderClass = _a.borderClass, itemProp = _a.item, itemLevel = _a.itemLevel, itemId = _a.itemId, client = _a.client, region = _a.region, tooltip = _a.tooltip, _d = _a.small, small = _d === void 0 ? false : _d;
5608
+ var _e = React.useState(), item = _e[0], setItem = _e[1];
5609
+ React.useEffect(function () {
5610
+ if (itemProp == null) {
5611
+ (function () { return __awaiter(_this, void 0, void 0, function () {
5612
+ var _a;
5613
+ return __generator(this, function (_b) {
5614
+ switch (_b.label) {
5615
+ case 0:
5616
+ _a = setItem;
5617
+ return [4 /*yield*/, client.GetItem(itemId, itemLevel)];
5618
+ case 1:
5619
+ _a.apply(void 0, [_b.sent()]);
5620
+ return [2 /*return*/];
5621
+ }
5622
+ });
5623
+ }); })();
5624
+ }
5625
+ else {
5626
+ setItem(itemProp);
5627
+ }
5628
+ }, [itemProp, itemId, itemLevel]);
5629
+ if (item == null)
5630
+ return null;
5631
+ return (React__default["default"].createElement("div", { className: "ItemImproveTooltip_ItemWithText" },
5632
+ tooltip ?
5633
+ React__default["default"].createElement(ItemTooltipWrapper, { data: item, client: client, region: region },
5634
+ React__default["default"].createElement("div", { className: "ItemImproveTooltip_ItemWithText_iconPad " + borderClass },
5635
+ React__default["default"].createElement("img", { className: (small ? "ItemImproveTooltip_ItemWithText_iconSmall" : "ItemImproveTooltip_ItemWithText_icon") + " TooltipBase_iconbg-grade-" + item.grade, alt: "", src: BuildIconPath((_b = item.icon) === null || _b === void 0 ? void 0 : _b.iconPath) })))
5636
+ :
5637
+ React__default["default"].createElement("div", { className: "ItemImproveTooltip_ItemWithText_iconPad " + borderClass },
5638
+ React__default["default"].createElement("img", { className: (small ? "ItemImproveTooltip_ItemWithText_iconSmall" : "ItemImproveTooltip_ItemWithText_icon") + " TooltipBase_iconbg-grade-" + item.grade, alt: "", src: BuildIconPath((_c = item.icon) === null || _c === void 0 ? void 0 : _c.iconPath) })),
5639
+ React__default["default"].createElement("div", { dangerouslySetInnerHTML: { __html: item.name }, className: "TooltipBase_grade-" + item.grade + " ItemImproveTooltip_ItemWithText_name" })));
5640
+ }
5641
+
5642
+ var css_248z$7 = "";
5643
+ styleInject(css_248z$7);
5644
+
5645
+ var css_248z$6 = ".ItemImproveEffectsTooltip_entry {\n padding: 0.1rem 0 0 .5rem; }\n";
5646
+ styleInject(css_248z$6);
5647
+
5648
+ function ItemImproveEffectsTooltip(_a) {
5649
+ var effectsForName = _a.effectsForName;
5650
+ var tooltipBaseProps = {
5651
+ title: "Upgrade Effects",
5652
+ grade: 3,
5653
+ id: "item_upgrade_info",
5654
+ icon: "",
5655
+ subtitle: "Info",
5656
+ mainInfos: [],
5657
+ subInfoGroups: [],
5658
+ fullHeight: false
5659
+ };
5660
+ tooltipBaseProps.mainInfos.push(React__default["default"].createElement("div", null, "Random effects can be obtained when upgrading."));
5661
+ effectsForName.forEach(function (itemName) {
5662
+ var subGroupTexts = [];
5663
+ itemName.effects.forEach(function (effect) {
5664
+ if (effect.isEffect) {
5665
+ subGroupTexts.push(React__default["default"].createElement("div", { className: "ItemImproveEffectsTooltip_entry", dangerouslySetInnerHTML: { __html: effect.effectDescription } }));
5666
+ }
5667
+ else {
5668
+ subGroupTexts.push(React__default["default"].createElement("div", { className: "ItemImproveEffectsTooltip_entry 00008130.UI.Label_Green03_12" },
5669
+ React__default["default"].createElement("span", null, effect.statValue),
5670
+ "\u00A0",
5671
+ React__default["default"].createElement("span", { dangerouslySetInnerHTML: { __html: effect.statName } })));
5672
+ }
5673
+ });
5674
+ var subGroup = {
5675
+ title: itemName.name,
5676
+ texts: subGroupTexts
5677
+ };
5678
+ tooltipBaseProps.subInfoGroups.push(subGroup);
5679
+ });
5680
+ return (React__default["default"].createElement(TooltipBase, __assign({}, tooltipBaseProps)));
5681
+ }
5682
+
5683
+ var ItemImproveEffectsTooltipWrapper = function (_a) {
5684
+ var effectsForName = _a.effectsForName, children = _a.children, _b = _a.interactive, interactive = _b === void 0 ? true : _b, _c = _a.placement, placement = _c === void 0 ? "right" : _c, _d = _a.followCursor, followCursor$1 = _d === void 0 ? false : _d, _e = _a.trigger, trigger = _e === void 0 ? "mouseenter focus" : _e, _f = _a.showArrow, showArrow = _f === void 0 ? true : _f;
5685
+ var spanRef = React.useRef(null);
5686
+ var _g = React.useState(null), childRef = _g[0], setChildRef = _g[1];
5687
+ /**
5688
+ * Mount the temporary span element.
5689
+ * retrieve and store the target element's reference.
5690
+ */
5691
+ React.useEffect(function () {
5692
+ if (spanRef.current) {
5693
+ setChildRef(spanRef.current.previousElementSibling);
5694
+ }
5695
+ return function () { return setChildRef(null); };
5696
+ }, []);
5697
+ return (React__default["default"].createElement(React__default["default"].Fragment, null,
5698
+ children,
5699
+ childRef ? (React__default["default"].createElement(Tippy, { arrow: showArrow, trigger: trigger, plugins: [followCursor], followCursor: followCursor$1 && !interactive, appendTo: document.body, placement: placement, animation: "fade", interactive: interactive, content: React__default["default"].createElement(ItemImproveEffectsTooltip, { effectsForName: effectsForName }), theme: "grade" + 3, reference: childRef })) : (React__default["default"].createElement("span", { "data-testid": "TooltipWrapper", ref: spanRef, style: { display: "none" } }))));
5700
+ };
5701
+
5702
+ function PrevCurNext(_a) {
5703
+ var item = _a.item, client = _a.client, region = _a.region, nextItem = _a.nextItem, prevItem = _a.prevItem, steps = _a.steps; _a.allPossibleUpgrades; _a.SetCustomStage; var NavigateTo = _a.NavigateTo;
5704
+ return (React__default["default"].createElement("div", { className: "ItemImproveTooltip_PrevCurNext" },
5705
+ React__default["default"].createElement("div", { className: "ItemImproveTooltip_PrevCurNext_container" },
5706
+ React__default["default"].createElement("div", { className: "ItemImproveTooltip_PrevCurNext_container_itemChild" }, prevItem != null ?
5707
+ React__default["default"].createElement(ItemWithText, { tooltip: true, small: true, item: prevItem, client: client, region: region })
5708
+ : null),
5709
+ React__default["default"].createElement("div", { className: "ItemImproveTooltip_PrevCurNext_container_arrowChild" }, prevItem != null ?
5710
+ React__default["default"].createElement("div", null,
5711
+ React__default["default"].createElement("div", { className: "ItemImproveTooltip_PrevCurNext_container_arrowChild_arrowButton", onClick: function () {
5712
+ if (prevItem.itemImprove != null)
5713
+ NavigateTo(prevItem);
5714
+ } },
5715
+ React__default["default"].createElement("span", { style: { fontSize: 32 }, className: "TooltipBase_downgradeBlue material-symbols-outlined" }, "keyboard_arrow_down")))
5716
+ : null),
5717
+ React__default["default"].createElement("div", { className: "ItemImproveTooltip_PrevCurNext_container_itemChild" },
5718
+ React__default["default"].createElement(ItemWithText, { tooltip: true, borderClass: "TooltipBase_border-grade-4", item: item, client: client, region: region })),
5719
+ React__default["default"].createElement("div", { className: "ItemImproveTooltip_PrevCurNext_container_arrowChild" }, nextItem != null ?
5720
+ React__default["default"].createElement("div", { style: { display: "flex" } },
5721
+ React__default["default"].createElement("div", { className: "ItemImproveTooltip_PrevCurNext_container_arrowChild_arrowButton", onClick: function () {
5722
+ if (nextItem.itemImprove != null)
5723
+ NavigateTo(nextItem);
5724
+ } },
5725
+ React__default["default"].createElement("span", { style: { fontSize: 32 }, className: "TooltipBase_upgradeRed material-symbols-outlined" }, "keyboard_arrow_up")),
5726
+ GetUpgradeEffects(item, steps, nextItem).length > 0
5727
+ ?
5728
+ React__default["default"].createElement("div", { style: { cursor: "default" } },
5729
+ React__default["default"].createElement(ItemImproveEffectsTooltipWrapper, { effectsForName: GetUpgradeEffects(item, steps, nextItem) },
5730
+ React__default["default"].createElement("span", { style: { fontSize: 16 }, className: "00008130.UI.Label_Green03_12 material-symbols-outlined" }, "help")))
5731
+ : null)
5732
+ : null),
5733
+ React__default["default"].createElement("div", { className: "ItemImproveTooltip_PrevCurNext_container_itemChild" }, nextItem != null ?
5734
+ React__default["default"].createElement("div", { className: "ItemImproveTooltip_PrevCurNext_container_itemChildExtra_container" },
5735
+ React__default["default"].createElement(ItemWithText, { tooltip: true, small: true, item: nextItem, client: client, region: region }))
5736
+ : null))));
5737
+ }
5738
+ function GetUpgradeEffects(item, steps, nextItem) {
5739
+ var result = [];
5740
+ if (steps == null || steps.length == 0) {
5741
+ if (nextItem == null)
5742
+ return result;
5743
+ if (item.itemImprove != null && item.itemImprove.bonusEffectOptions != null && item.itemImprove.bonusEffectOptions.length > 0) {
5744
+ result.push({
5745
+ name: nextItem.name,
5746
+ effects: item.itemImprove.bonusEffectOptions
5747
+ });
5748
+ }
5749
+ }
5750
+ else {
5751
+ if (item.itemImprove != null && item.itemImprove.bonusEffectOptions != null && item.itemImprove.bonusEffectOptions.length > 0) {
5752
+ result.push({
5753
+ name: steps[0].name,
5754
+ effects: item.itemImprove.bonusEffectOptions
5755
+ });
5756
+ }
5757
+ steps.forEach(function (stepItem, i, list) {
5758
+ if (stepItem.itemImprove != null && stepItem.itemImprove.bonusEffectOptions != null && stepItem.itemImprove.bonusEffectOptions.length > 0) {
5759
+ var name = "";
5760
+ if (i == list.length - 1) {
5761
+ name = nextItem.name;
5762
+ }
5763
+ else {
5764
+ name = list[i + 1].name;
5765
+ }
5766
+ result.push({
5767
+ name: name,
5768
+ effects: stepItem.itemImprove.bonusEffectOptions
5769
+ });
5770
+ }
5771
+ });
5772
+ }
5773
+ return result;
5774
+ }
5775
+
5776
+ function Money(_a) {
5777
+ var money = _a.money, _b = _a.center, center = _b === void 0 ? false : _b;
5778
+ var bnsmoney = getMoneyObj(money);
5779
+ if (bnsmoney == null)
5780
+ return null;
5781
+ return (React__default["default"].createElement("div", { className: "NpcTooltip_moneyContainer " + (center ? "NpcTooltip_moneyContainer_center" : "") },
5782
+ bnsmoney.Gold > 0 ? (React__default["default"].createElement("span", null,
5783
+ bnsmoney.Gold,
5784
+ React__default["default"].createElement("img", { src: BuildIconPath("gold"), alt: "" }))) : null,
5785
+ bnsmoney.Silver > 0 ? (React__default["default"].createElement("span", null,
5786
+ bnsmoney.Silver,
5787
+ React__default["default"].createElement("img", { src: BuildIconPath("silver"), alt: "" }))) : null,
5788
+ bnsmoney.Copper > 0 ? (React__default["default"].createElement("span", null,
5789
+ bnsmoney.Copper,
5790
+ React__default["default"].createElement("img", { src: BuildIconPath("copper"), alt: "" }))) : null));
5791
+ }
5792
+
5793
+ function MainCostSelector(_a) {
5794
+ var options = _a.options, client = _a.client, region = _a.region, selectOption = _a.selectOption, selectedOption = _a.selectedOption;
5795
+ return (React__default["default"].createElement("div", { className: "MainCostSelector" }, options.map(function (option, i) {
5796
+ return (React__default["default"].createElement(React__default["default"].Fragment, { key: i },
5797
+ React__default["default"].createElement("div", { className: "MainCostSelector_container" },
5798
+ React__default["default"].createElement("div", { onClick: function () {
5799
+ selectOption(i);
5800
+ } },
5801
+ React__default["default"].createElement(ItemWithText, { tooltip: false, borderClass: i == selectedOption ? "TooltipBase_border-grade-4" : "", itemId: option.mainItemCost.itemId, item: null, itemLevel: option.mainItemCost.itemLevel, client: client, region: region })),
5802
+ React__default["default"].createElement("div", null,
5803
+ React__default["default"].createElement("span", null,
5804
+ "x",
5805
+ option.mainItemCost.max))),
5806
+ i < options.length - 1 ? React__default["default"].createElement("div", { className: "MainCostSelector_or" }, "or") : null));
5807
+ })));
5808
+ }
5809
+
5810
+ function SubCosts(_a) {
5811
+ var options = _a.options, client = _a.client, region = _a.region, selectedOption = _a.selectedOption;
5812
+ if (options[selectedOption].subItemCost == null || options[selectedOption].subItemCost.length == 0)
5813
+ return null;
5814
+ return (React__default["default"].createElement("div", { className: "SubCostSelector" }, options[selectedOption].subItemCost.map(function (subItem, i) {
5815
+ return (React__default["default"].createElement(React__default["default"].Fragment, { key: i },
5816
+ React__default["default"].createElement("div", { className: "MainCostSelector_container" },
5817
+ React__default["default"].createElement("div", null,
5818
+ React__default["default"].createElement(ItemWithText, { tooltip: false, small: true, itemId: subItem.itemId, item: null, itemLevel: subItem.itemLevel, client: client, region: region })),
5819
+ React__default["default"].createElement("div", null,
5820
+ React__default["default"].createElement("span", null,
5821
+ "x",
5822
+ subItem.max))),
5823
+ i < options[selectedOption].subItemCost.length - 1 ? React__default["default"].createElement("div", { className: "MainCostSelector_or" }, "and") : null));
5824
+ })));
5825
+ }
5826
+
5827
+ function ItemImproveUpgradeCost(_a) {
5828
+ var item = _a.item, nextItem = _a.nextItem, steps = _a.steps, client = _a.client, region = _a.region;
5829
+ var _b = React.useState([]), accumulatedCost = _b[0], setAccumulatedCost = _b[1];
5830
+ var _c = React.useState(0), selectedOption = _c[0], setSelectedOption = _c[1];
5831
+ React.useEffect(function () {
5832
+ setAccumulatedCost(GetAccumulatedUpgradeCost(item, steps));
5833
+ }, [item, nextItem, steps]);
5834
+ function selectOption(option) {
5835
+ setSelectedOption(option);
5836
+ }
5837
+ if (accumulatedCost == null || accumulatedCost.length == 0)
5838
+ return null;
5839
+ return (React__default["default"].createElement("div", { className: "ItemImproveUpgradeCost" },
5840
+ React__default["default"].createElement("div", { className: "ItemImproveUpgradeCost_title 00008130.UI.Label_LightYellow_12" }, "Upgrade Cost"),
5841
+ React__default["default"].createElement(MainCostSelector, { options: accumulatedCost, client: client, region: region, selectOption: selectOption, selectedOption: selectedOption }),
5842
+ React__default["default"].createElement(SubCosts, { options: accumulatedCost, client: client, region: region, selectedOption: selectedOption }),
5843
+ React__default["default"].createElement(Money, { center: true, money: accumulatedCost[selectedOption].moneyCost })));
5844
+ }
5845
+ function GetAccumulatedUpgradeCost(item, steps) {
5846
+ var result = [];
5847
+ if (steps == null || steps.length == 0) {
5848
+ result = item.itemImprove.upgradeOptions;
5849
+ }
5850
+ else {
5851
+ var mainCost = item.itemImprove.upgradeOptions[0].mainItemCost;
5852
+ var subCosts = item.itemImprove.upgradeOptions[0].subItemCost;
5853
+ var moneyCost = item.itemImprove.upgradeOptions[0].moneyCost;
5854
+ steps.forEach(function (step) {
5855
+ var option0 = step.itemImprove.upgradeOptions[0];
5856
+ if (mainCost.itemId == option0.mainItemCost.itemId && mainCost.itemLevel == option0.mainItemCost.itemLevel) {
5857
+ mainCost.min += option0.mainItemCost.min;
5858
+ mainCost.max += option0.mainItemCost.max;
5859
+ }
5860
+ else {
5861
+ var foundIndex = subCosts.findIndex(function (x) { return x.itemId == mainCost.itemId && x.itemLevel == mainCost.itemLevel; });
5862
+ if (foundIndex > -1) {
5863
+ subCosts[foundIndex].min += mainCost.min;
5864
+ subCosts[foundIndex].max += mainCost.max;
5865
+ }
5866
+ else {
5867
+ subCosts.push(mainCost);
5868
+ }
5869
+ mainCost = option0.mainItemCost;
5870
+ }
5871
+ moneyCost += option0.moneyCost;
5872
+ option0.subItemCost.forEach(function (subItem) {
5873
+ var foundIndex = subCosts.findIndex(function (x) { return x.itemId == subItem.itemId && x.itemLevel == subItem.itemLevel; });
5874
+ if (foundIndex > -1) {
5875
+ subCosts[foundIndex].min += subItem.min;
5876
+ subCosts[foundIndex].max += subItem.max;
5877
+ }
5878
+ else {
5879
+ subCosts.push(subItem);
5880
+ }
5881
+ });
5882
+ });
5883
+ result.push({
5884
+ isRandom: item.itemImprove.upgradeOptions[0].isRandom,
5885
+ mainItemCost: mainCost,
5886
+ subItemCost: subCosts,
5887
+ moneyCost: moneyCost
5888
+ });
5889
+ }
5890
+ return result;
5891
+ }
5892
+
5893
+ function ItemImproveTooltip(_a) {
5894
+ var _this = this;
5895
+ var dataProp = _a.data, region = _a.region, _b = _a.debug, debug = _b === void 0 ? false : _b, _c = _a.offline, offline = _c === void 0 ? false : _c, clientProp = _a.client, _d = _a.fullHeight, fullHeight = _d === void 0 ? false : _d;
5896
+ var _e = React.useState(), client = _e[0], setClient = _e[1];
5897
+ var _f = React.useState(), data = _f[0], setData = _f[1];
5898
+ var _g = React.useState(), nextData = _g[0], setNextData = _g[1];
5899
+ var _h = React.useState(), prevItem = _h[0], setPrevItem = _h[1];
5900
+ var _j = React.useState(), nextItem = _j[0], setNextItem = _j[1];
5901
+ var _k = React.useState([]), steps = _k[0], setSteps = _k[1];
5902
+ var _l = React.useState([]), allPossibleUpgrades = _l[0], setAllPossibleUpgrades = _l[1];
5903
+ React.useEffect(function () {
5904
+ if (data == null || client == null)
5905
+ return;
5906
+ (function () { return __awaiter(_this, void 0, void 0, function () {
5907
+ var existing, _a, existing, _b, foundIndex, _c;
5908
+ return __generator(this, function (_d) {
5909
+ switch (_d.label) {
5910
+ case 0:
5911
+ if (!(data.itemImprove.itemPrev != null)) return [3 /*break*/, 4];
5912
+ if (!(allPossibleUpgrades != null && allPossibleUpgrades.find(function (x) { return x.id === data.itemImprove.itemPrev.itemId && x.level === data.itemImprove.itemPrev.itemLevel; }) != null)) return [3 /*break*/, 1];
5913
+ existing = allPossibleUpgrades.find(function (x) { return x.id === data.itemImprove.itemPrev.itemId && x.level === data.itemImprove.itemPrev.itemLevel; });
5914
+ setPrevItem(existing);
5915
+ return [3 /*break*/, 3];
5916
+ case 1:
5917
+ _a = setPrevItem;
5918
+ return [4 /*yield*/, client.GetItem(data.itemImprove.itemPrev.itemId, data.itemImprove.itemPrev.itemLevel)];
5919
+ case 2:
5920
+ _a.apply(void 0, [_d.sent()]);
5921
+ _d.label = 3;
5922
+ case 3: return [3 /*break*/, 5];
5923
+ case 4:
5924
+ setPrevItem(undefined);
5925
+ _d.label = 5;
5926
+ case 5:
5927
+ if (!(data.itemImprove.itemNext != null)) return [3 /*break*/, 9];
5928
+ if (!(allPossibleUpgrades != null && allPossibleUpgrades.find(function (x) { return x.id === data.itemImprove.itemNext.itemId && x.level === data.itemImprove.itemNext.itemLevel; }) != null)) return [3 /*break*/, 6];
5929
+ existing = allPossibleUpgrades.find(function (x) { return x.id === data.itemImprove.itemNext.itemId && x.level === data.itemImprove.itemNext.itemLevel; });
5930
+ setNextItem(existing);
5931
+ return [3 /*break*/, 8];
5932
+ case 6:
5933
+ _b = setNextItem;
5934
+ return [4 /*yield*/, client.GetItem(data.itemImprove.itemNext.itemId, data.itemImprove.itemNext.itemLevel)];
5935
+ case 7:
5936
+ _b.apply(void 0, [_d.sent()]);
5937
+ _d.label = 8;
5938
+ case 8: return [3 /*break*/, 10];
5939
+ case 9:
5940
+ setNextItem(undefined);
5941
+ _d.label = 10;
5942
+ case 10:
5943
+ setSteps([]);
5944
+ if (!(allPossibleUpgrades != null && allPossibleUpgrades.find(function (x) { return x.id === data.id && x.level === data.level; }) != null)) return [3 /*break*/, 11];
5945
+ foundIndex = allPossibleUpgrades.findIndex(function (x) { return x.id === data.id && x.level === data.level; });
5946
+ setAllPossibleUpgrades(allPossibleUpgrades.slice(foundIndex + 1));
5947
+ return [3 /*break*/, 13];
5948
+ case 11:
5949
+ _c = setAllPossibleUpgrades;
5950
+ return [4 /*yield*/, GetAllNextStages(data, client)];
5951
+ case 12:
5952
+ _c.apply(void 0, [_d.sent()]);
5953
+ _d.label = 13;
5954
+ case 13: return [2 /*return*/];
5955
+ }
5956
+ });
5957
+ }); })();
5958
+ }, [data, client, region]);
5959
+ function SetCustomStage(nextStage) {
5960
+ setSteps(GetStepsInBetween(nextStage, allPossibleUpgrades));
5961
+ setNextItem(nextStage);
5962
+ }
5963
+ React.useEffect(function () {
5964
+ setData(dataProp);
5965
+ }, [dataProp]);
5966
+ React.useEffect(function () {
5967
+ if (offline)
5968
+ return;
5969
+ if (clientProp == undefined) {
5970
+ (function () { return __awaiter(_this, void 0, void 0, function () {
5971
+ return __generator(this, function (_a) {
5972
+ setClient(new ItemDownloadClient(region));
5973
+ return [2 /*return*/];
5974
+ });
5975
+ }); })();
5976
+ }
5977
+ else {
5978
+ setClient(clientProp);
5979
+ }
5980
+ }, [offline]);
5981
+ React.useEffect(function () {
5982
+ if (data == null && nextData != null) {
5983
+ if (debug) {
5984
+ console.log(nextData);
5985
+ }
5986
+ setData(nextData);
5987
+ setNextData(null);
5988
+ }
5989
+ }, [data]);
5990
+ if (data == null)
5991
+ return null;
5992
+ function NavigateTo(itemData) {
5993
+ if (itemData != null) {
5994
+ setNextData(itemData);
5995
+ setData(null);
5996
+ }
5997
+ }
5998
+ var tooltipBaseProps = {
5999
+ title: "Item Upgrade",
6000
+ grade: data.grade,
6001
+ id: "item_upgrade_info",
6002
+ icon: "",
6003
+ subtitle: "Info",
6004
+ mainInfos: [],
6005
+ subInfoGroups: [],
6006
+ fullHeight: fullHeight,
6007
+ widthOverride: "600px"
6008
+ };
6009
+ if (debug) {
6010
+ tooltipBaseProps.subtitle = data.name;
6011
+ }
6012
+ AddPrevCurNext(tooltipBaseProps.subInfoGroups, data, nextItem, prevItem, steps, allPossibleUpgrades, SetCustomStage, NavigateTo, client, region);
6013
+ AddUpgradeCost(tooltipBaseProps.subInfoGroups, data, nextItem, steps, client, region);
6014
+ return (React__default["default"].createElement(TooltipBase, __assign({}, tooltipBaseProps)));
6015
+ }
6016
+ function AddPrevCurNext(subInfoGroups, item, nextItem, prevItem, steps, allPossibleUpgrades, SetCustomStage, NavigateTo, client, region) {
6017
+ if (item.itemImprove == null)
6018
+ return;
6019
+ subInfoGroups.push({
6020
+ title: "",
6021
+ texts: [React__default["default"].createElement(PrevCurNext, { item: item, nextItem: nextItem, prevItem: prevItem, steps: steps, allPossibleUpgrades: allPossibleUpgrades, SetCustomStage: SetCustomStage, NavigateTo: NavigateTo, client: client, region: region })]
6022
+ });
6023
+ }
6024
+ function GetStepsInBetween(nextStage, allPossibleUpgrades) {
6025
+ var maxIndex = allPossibleUpgrades.findIndex(function (x) { return x == nextStage; });
6026
+ var result = [];
6027
+ for (var index = 0; index < maxIndex; index++) {
6028
+ var element = allPossibleUpgrades[index];
6029
+ result.push(element);
6030
+ }
6031
+ return result;
6032
+ }
6033
+ function GetAllNextStages(item, client) {
6034
+ return __awaiter(this, void 0, void 0, function () {
6035
+ return __generator(this, function (_a) {
6036
+ switch (_a.label) {
6037
+ case 0: return [4 /*yield*/, client.GetItemUpgrades(item)];
6038
+ case 1: return [2 /*return*/, _a.sent()];
6039
+ }
6040
+ });
6041
+ });
6042
+ }
6043
+ function AddUpgradeCost(subInfoGroups, item, nextItem, steps, client, region) {
6044
+ if (item.itemImprove == null)
6045
+ return;
6046
+ subInfoGroups.push({
6047
+ title: "",
6048
+ texts: [
6049
+ React__default["default"].createElement(ItemImproveUpgradeCost, { item: item, nextItem: nextItem, steps: steps, client: client, region: region })
6050
+ ]
6051
+ });
6052
+ }
6053
+
6054
+ var ItemImproveTooltipWrapper = function (_a) {
6055
+ var data = _a.data, region = _a.region, children = _a.children, client = _a.client, _b = _a.offline, offline = _b === void 0 ? false : _b, _c = _a.interactive, interactive = _c === void 0 ? true : _c, _d = _a.placement, placement = _d === void 0 ? "right" : _d, _e = _a.debug, debug = _e === void 0 ? false : _e, _f = _a.followCursor, followCursor$1 = _f === void 0 ? false : _f, _g = _a.trigger, trigger = _g === void 0 ? "mouseenter focus" : _g; _a.showArrow;
6056
+ var spanRef = React.useRef(null);
6057
+ var _j = React.useState(null), childRef = _j[0], setChildRef = _j[1];
6058
+ /**
6059
+ * Mount the temporary span element.
6060
+ * retrieve and store the target element's reference.
6061
+ */
6062
+ React.useEffect(function () {
6063
+ if (spanRef.current) {
6064
+ setChildRef(spanRef.current.previousElementSibling);
6065
+ }
6066
+ return function () { return setChildRef(null); };
6067
+ }, []);
6068
+ var _k = React.useState(true), isOffline = _k[0], setIsOffline = _k[1];
6069
+ return (React__default["default"].createElement(React__default["default"].Fragment, null,
6070
+ children,
6071
+ childRef ? (React__default["default"].createElement(Tippy, { arrow: false, trigger: trigger, plugins: [followCursor], followCursor: followCursor$1 && !interactive, appendTo: document.body, onMount: function () { return setIsOffline(offline); }, placement: placement, animation: "fade", interactive: interactive, content: React__default["default"].createElement(ItemImproveTooltip, { region: region, data: data, offline: isOffline, client: client, debug: debug }), theme: "grade" + data.grade, reference: childRef })) : (React__default["default"].createElement("span", { "data-testid": "TooltipWrapper", ref: spanRef, style: { display: "none" } }))));
6072
+ };
5480
6073
 
5481
6074
  function ItemMainInfo(item) {
5482
6075
  if (item.mainInfo != null)
@@ -5678,35 +6271,16 @@ function SetBonus(props) {
5678
6271
  React__default["default"].createElement(SkillModifiers, { jobstyle: jobstyle, isSetBonus: true, skillModifierGroups: setStage.skillModifiers })))); })))));
5679
6272
  }
5680
6273
 
5681
- var css_248z$4 = ".tippy-box {\n max-width: none !important;\n background-color: transparent !important;\n box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3) !important;\n transition: 0.3s cubic-bezier(0.25, 0.8, 0.25, 1) !important; }\n .tippy-box:hover {\n box-shadow: black 0px 20px 60px 0px !important; }\n\n.tippy-content {\n padding: 0 !important; }\n\n.tippy-box[data-theme~=\"grade1\"][data-placement^=\"bottom\"]\n.tippy-arrow::before {\n border-bottom-color: #6c6c6c !important; }\n\n.tippy-box[data-theme~=\"grade1\"][data-placement^=\"top\"]\n.tippy-arrow::before {\n border-top-color: #6c6c6c !important; }\n\n.tippy-box[data-theme~=\"grade1\"][data-placement^=\"left\"]\n.tippy-arrow::before {\n border-left-color: #6c6c6c !important; }\n\n.tippy-box[data-theme~=\"grade1\"][data-placement^=\"right\"]\n.tippy-arrow::before {\n border-right-color: #6c6c6c !important; }\n\n.tippy-box[data-theme~=\"grade2\"][data-placement^=\"bottom\"]\n.tippy-arrow::before {\n border-bottom-color: #ffffff !important; }\n\n.tippy-box[data-theme~=\"grade2\"][data-placement^=\"top\"]\n.tippy-arrow::before {\n border-top-color: #ffffff !important; }\n\n.tippy-box[data-theme~=\"grade2\"][data-placement^=\"left\"]\n.tippy-arrow::before {\n border-left-color: #ffffff !important; }\n\n.tippy-box[data-theme~=\"grade2\"][data-placement^=\"right\"]\n.tippy-arrow::before {\n border-right-color: #ffffff !important; }\n\n.tippy-box[data-theme~=\"grade3\"][data-placement^=\"bottom\"]\n.tippy-arrow::before {\n border-bottom-color: #58ff77 !important; }\n\n.tippy-box[data-theme~=\"grade3\"][data-placement^=\"top\"]\n.tippy-arrow::before {\n border-top-color: #58ff77 !important; }\n\n.tippy-box[data-theme~=\"grade3\"][data-placement^=\"left\"]\n.tippy-arrow::before {\n border-left-color: #58ff77 !important; }\n\n.tippy-box[data-theme~=\"grade3\"][data-placement^=\"right\"]\n.tippy-arrow::before {\n border-right-color: #58ff77 !important; }\n\n.tippy-box[data-theme~=\"grade4\"][data-placement^=\"bottom\"]\n.tippy-arrow::before {\n border-bottom-color: #46bee1 !important; }\n\n.tippy-box[data-theme~=\"grade4\"][data-placement^=\"top\"]\n.tippy-arrow::before {\n border-top-color: #46bee1 !important; }\n\n.tippy-box[data-theme~=\"grade4\"][data-placement^=\"left\"]\n.tippy-arrow::before {\n border-left-color: #46bee1 !important; }\n\n.tippy-box[data-theme~=\"grade4\"][data-placement^=\"right\"]\n.tippy-arrow::before {\n border-right-color: #46bee1 !important; }\n\n.tippy-box[data-theme~=\"grade5\"][data-placement^=\"bottom\"]\n.tippy-arrow::before {\n border-bottom-color: #d739ff !important; }\n\n.tippy-box[data-theme~=\"grade5\"][data-placement^=\"top\"]\n.tippy-arrow::before {\n border-top-color: #d739ff !important; }\n\n.tippy-box[data-theme~=\"grade5\"][data-placement^=\"left\"]\n.tippy-arrow::before {\n border-left-color: #d739ff !important; }\n\n.tippy-box[data-theme~=\"grade5\"][data-placement^=\"right\"]\n.tippy-arrow::before {\n border-right-color: #d739ff !important; }\n\n.tippy-box[data-theme~=\"grade6\"][data-placement^=\"bottom\"]\n.tippy-arrow::before {\n border-bottom-color: #f1b248 !important; }\n\n.tippy-box[data-theme~=\"grade6\"][data-placement^=\"top\"]\n.tippy-arrow::before {\n border-top-color: #f1b248 !important; }\n\n.tippy-box[data-theme~=\"grade6\"][data-placement^=\"left\"]\n.tippy-arrow::before {\n border-left-color: #f1b248 !important; }\n\n.tippy-box[data-theme~=\"grade6\"][data-placement^=\"right\"]\n.tippy-arrow::before {\n border-right-color: #f1b248 !important; }\n\n.tippy-box[data-theme~=\"grade7\"][data-placement^=\"bottom\"]\n.tippy-arrow::before {\n border-bottom-color: #ff770a !important; }\n\n.tippy-box[data-theme~=\"grade7\"][data-placement^=\"top\"]\n.tippy-arrow::before {\n border-top-color: #ff770a !important; }\n\n.tippy-box[data-theme~=\"grade7\"][data-placement^=\"left\"]\n.tippy-arrow::before {\n border-left-color: #ff770a !important; }\n\n.tippy-box[data-theme~=\"grade7\"][data-placement^=\"right\"]\n.tippy-arrow::before {\n border-right-color: #ff770a !important; }\n\n.tippy-box[data-theme~=\"grade8\"][data-placement^=\"bottom\"]\n.tippy-arrow::before {\n border-bottom-color: #ff0084 !important; }\n\n.tippy-box[data-theme~=\"grade8\"][data-placement^=\"top\"]\n.tippy-arrow::before {\n border-top-color: #ff0084 !important; }\n\n.tippy-box[data-theme~=\"grade8\"][data-placement^=\"left\"]\n.tippy-arrow::before {\n border-left-color: #ff0084 !important; }\n\n.tippy-box[data-theme~=\"grade8\"][data-placement^=\"right\"]\n.tippy-arrow::before {\n border-right-color: #ff0084 !important; }\n";
5682
- styleInject(css_248z$4);
5683
-
5684
- var ItemTooltipWrapper = function (_a) {
5685
- var data = _a.data, region = _a.region, children = _a.children, client = _a.client, _b = _a.showUpgrade, showUpgrade = _b === void 0 ? false : _b, _c = _a.offline, offline = _c === void 0 ? false : _c, _d = _a.interactive, interactive = _d === void 0 ? true : _d, _e = _a.placement, placement = _e === void 0 ? "right" : _e, _f = _a.debug, debug = _f === void 0 ? false : _f, jobstyleOverride = _a.jobstyleOverride, _g = _a.followCursor, followCursor$1 = _g === void 0 ? false : _g, _h = _a.trigger, trigger = _h === void 0 ? "mouseenter focus" : _h, _j = _a.showArrow, showArrow = _j === void 0 ? true : _j;
5686
- var spanRef = React.useRef(null);
5687
- var _k = React.useState(null), childRef = _k[0], setChildRef = _k[1];
5688
- /**
5689
- * Mount the temporary span element.
5690
- * retrieve and store the target element's reference.
5691
- */
5692
- React.useEffect(function () {
5693
- if (spanRef.current) {
5694
- setChildRef(spanRef.current.previousElementSibling);
5695
- }
5696
- return function () { return setChildRef(null); };
5697
- }, []);
5698
- var _l = React.useState(true), isOffline = _l[0], setIsOffline = _l[1];
5699
- return (React__default["default"].createElement(React__default["default"].Fragment, null,
5700
- children,
5701
- childRef ? (React__default["default"].createElement(Tippy, { arrow: showArrow, trigger: trigger, plugins: [followCursor], followCursor: followCursor$1 && !interactive, appendTo: document.body, onMount: function () { return setIsOffline(offline); }, placement: placement, animation: "fade", interactive: interactive, content: React__default["default"].createElement(ItemTooltip, { region: region, jobstyleOverride: jobstyleOverride, data: data, offline: isOffline, client: client, showUpgrade: showUpgrade, debug: debug }), theme: "grade" + data.grade, reference: childRef })) : (React__default["default"].createElement("span", { "data-testid": "TooltipWrapper", ref: spanRef, style: { display: "none" } }))));
5702
- };
5703
-
5704
6274
  function ItemIconNameDiv(_a) {
5705
6275
  var _this = this;
5706
- var _b;
5707
- var item = _a.item, region = _a.region, client = _a.client, _c = _a.showRandomIcon, showRandomIcon = _c === void 0 ? false : _c, trigger = _a.trigger, interactive = _a.interactive, showUpgrade = _a.showUpgrade;
5708
- var _d = React.useState(), itemData = _d[0], setItemData = _d[1];
6276
+ var _b, _c;
6277
+ var item = _a.item, region = _a.region, client = _a.client, _d = _a.showRandomIcon, showRandomIcon = _d === void 0 ? false : _d, trigger = _a.trigger, interactive = _a.interactive, showUpgrade = _a.showUpgrade, _e = _a.tooltip, tooltip = _e === void 0 ? true : _e, _f = _a.itemData, itemDataProp = _f === void 0 ? null : _f;
6278
+ var _g = React.useState(), itemData = _g[0], setItemData = _g[1];
5709
6279
  React.useEffect(function () {
6280
+ if (itemDataProp != null && item == null) {
6281
+ setItemData(itemDataProp);
6282
+ return;
6283
+ }
5710
6284
  if (client)
5711
6285
  (function () { return __awaiter(_this, void 0, void 0, function () {
5712
6286
  var _a;
@@ -5721,12 +6295,15 @@ function ItemIconNameDiv(_a) {
5721
6295
  }
5722
6296
  });
5723
6297
  }); })();
5724
- }, [item, client]);
6298
+ }, [item, client, itemDataProp]);
5725
6299
  if (itemData) {
5726
6300
  if (itemData.grade != 0)
5727
6301
  return (React__default["default"].createElement("div", { className: "ItemTooltip_itemiconnamediv" },
5728
- React__default["default"].createElement(ItemTooltipWrapper, { showUpgrade: showUpgrade, region: region, client: client, data: itemData, trigger: trigger, interactive: interactive },
5729
- React__default["default"].createElement("img", { className: "ItemTooltip_itemIconSmall", alt: "", src: BuildIconPath((_b = itemData.icon) === null || _b === void 0 ? void 0 : _b.iconPath) })),
6302
+ tooltip ?
6303
+ React__default["default"].createElement(ItemTooltipWrapper, { showUpgrade: showUpgrade, region: region, client: client, data: itemData, trigger: trigger, interactive: interactive },
6304
+ React__default["default"].createElement("img", { className: "ItemTooltip_itemIconSmall", alt: "", src: BuildIconPath((_b = itemData.icon) === null || _b === void 0 ? void 0 : _b.iconPath) }))
6305
+ :
6306
+ React__default["default"].createElement("img", { className: "ItemTooltip_itemIconSmall", alt: "", src: BuildIconPath((_c = itemData.icon) === null || _c === void 0 ? void 0 : _c.iconPath) }),
5730
6307
  React__default["default"].createElement("div", { className: "ItemTooltip_itemNameRandomDiv" },
5731
6308
  React__default["default"].createElement("span", { className: "TooltipBase_grade-" + itemData.grade, dangerouslySetInnerHTML: { __html: itemData.name } }),
5732
6309
  showRandomIcon ? (React__default["default"].createElement(React__default["default"].Fragment, null,
@@ -5825,142 +6402,6 @@ function AccountTransfer(_a) {
5825
6402
  "\u00A0copper")) : null));
5826
6403
  }
5827
6404
 
5828
- function Money(_a) {
5829
- var money = _a.money;
5830
- var bnsmoney = getMoneyObj(money);
5831
- if (bnsmoney == null)
5832
- return null;
5833
- return (React__default["default"].createElement("div", { className: "NpcTooltip_moneyContainer" },
5834
- bnsmoney.Gold > 0 ? (React__default["default"].createElement("span", null,
5835
- bnsmoney.Gold,
5836
- React__default["default"].createElement("img", { src: BuildIconPath("gold"), alt: "" }))) : null,
5837
- bnsmoney.Silver > 0 ? (React__default["default"].createElement("span", null,
5838
- bnsmoney.Silver,
5839
- React__default["default"].createElement("img", { src: BuildIconPath("silver"), alt: "" }))) : null,
5840
- bnsmoney.Copper > 0 ? (React__default["default"].createElement("span", null,
5841
- bnsmoney.Copper,
5842
- React__default["default"].createElement("img", { src: BuildIconPath("copper"), alt: "" }))) : null));
5843
- }
5844
-
5845
- function ItemImproveTooltip(_a) {
5846
- var _this = this;
5847
- var data = _a.data, region = _a.region; _a.debug; var _c = _a.offline, offline = _c === void 0 ? false : _c, clientProp = _a.client, _d = _a.fullHeight, fullHeight = _d === void 0 ? false : _d;
5848
- var _e = React.useState(), client = _e[0], setClient = _e[1];
5849
- React.useEffect(function () {
5850
- if (offline)
5851
- return;
5852
- if (clientProp == undefined) {
5853
- (function () { return __awaiter(_this, void 0, void 0, function () {
5854
- return __generator(this, function (_a) {
5855
- setClient(new ItemDownloadClient(region));
5856
- return [2 /*return*/];
5857
- });
5858
- }); })();
5859
- }
5860
- else {
5861
- setClient(clientProp);
5862
- }
5863
- }, [offline]);
5864
- var tooltipBaseProps = {
5865
- title: "Item Upgrade",
5866
- grade: 4,
5867
- id: "item_upgrade_info",
5868
- icon: "",
5869
- subtitle: "Info",
5870
- mainInfos: [],
5871
- subInfoGroups: [],
5872
- fullHeight: fullHeight,
5873
- };
5874
- if (!offline) {
5875
- if (data.itemNext != null && data.upgradeOptions != null && data.upgradeOptions.length > 0) {
5876
- if (data.useMileageSave != null && data.useMileageSave === true && data.upgradeOptions.find(function (x) { return x.isRandom; }) != null)
5877
- tooltipBaseProps.mainInfos.push(React__default["default"].createElement("div", null, "The upgrade chance is 100% when the pity meter is filled."));
5878
- // if (data.itemPrev != null) {
5879
- // tooltipBaseProps.subInfoGroups.push({
5880
- // title: "Previous Upgrade:",
5881
- // texts: [
5882
- // <ItemIconNameDiv showUpgrade={true} client={client} region={region} item={data.itemPrev} interactive={true} />
5883
- // ]
5884
- // });
5885
- // }
5886
- tooltipBaseProps.subInfoGroups.push({
5887
- title: "Next Upgrade:",
5888
- texts: [
5889
- React__default["default"].createElement(ItemIconNameDiv, { showUpgrade: true, client: client, region: region, item: data.itemNext, interactive: true })
5890
- ]
5891
- });
5892
- data.upgradeOptions.forEach(function (upgradeOption, i, _) {
5893
- var costGroup = {
5894
- title: "Upgrade option " + (i + 1) + ":",
5895
- texts: []
5896
- };
5897
- if (upgradeOption.isRandom != null && upgradeOption.isRandom === true) {
5898
- costGroup.texts.push(React__default["default"].createElement("div", { className: "TooltipBase_flex ItemImproveTooltip_moneyContainer" },
5899
- React__default["default"].createElement("span", { className: "TooltipBase_grade-8" }, "This option has a chance to fail!")));
5900
- }
5901
- if (upgradeOption.mainItemCost != null)
5902
- var mainItems;
5903
- mainItems.push(upgradeOption.mainItemCost);
5904
- costGroup.texts.push(React__default["default"].createElement(DecomposeResults, { client: client, region: region, showUpgrade: false, items: mainItems }));
5905
- if (upgradeOption.subItemCost != null && upgradeOption.subItemCost.length > 0) {
5906
- costGroup.texts.push(React__default["default"].createElement(DecomposeResults, { client: client, region: region, showUpgrade: false, items: upgradeOption.subItemCost }));
5907
- }
5908
- if (upgradeOption.moneyCost != null && upgradeOption.moneyCost > 0) {
5909
- costGroup.texts.push(React__default["default"].createElement("div", { className: "TooltipBase_flex ItemImproveTooltip_moneyContainer" },
5910
- React__default["default"].createElement("span", { className: "TooltipBase_grade-6" }, "Money:\u00A0"),
5911
- React__default["default"].createElement(Money, { money: upgradeOption.moneyCost })));
5912
- }
5913
- tooltipBaseProps.subInfoGroups.push(costGroup);
5914
- });
5915
- }
5916
- }
5917
- if (data.bonusEffectOptions != null && data.bonusEffectOptions.length > 0) {
5918
- tooltipBaseProps.mainInfos.push(React__default["default"].createElement("div", null, "Random effects can be obtained when upgrading."));
5919
- var subInfoGroupStats_1 = {
5920
- title: "Possible Stats:",
5921
- texts: []
5922
- };
5923
- var subInfoGroupEffects_1 = {
5924
- title: "Possible Effects:",
5925
- texts: []
5926
- };
5927
- data.bonusEffectOptions.forEach(function (option) {
5928
- if (option.isEffect) {
5929
- subInfoGroupEffects_1.texts.push(React__default["default"].createElement("div", { className: "ItemImproveTooltip_option", dangerouslySetInnerHTML: { __html: option.effectDescription } }));
5930
- }
5931
- else {
5932
- subInfoGroupStats_1.texts.push(React__default["default"].createElement("div", { className: "ItemImproveTooltip_option 00008130.Program.Fontset_Chatting_Color_19" },
5933
- option.statValue,
5934
- "\u00A0",
5935
- React__default["default"].createElement("span", { dangerouslySetInnerHTML: { __html: option.statName } })));
5936
- }
5937
- });
5938
- tooltipBaseProps.subInfoGroups.push(subInfoGroupStats_1);
5939
- tooltipBaseProps.subInfoGroups.push(subInfoGroupEffects_1);
5940
- }
5941
- return (React__default["default"].createElement(TooltipBase, __assign({}, tooltipBaseProps)));
5942
- }
5943
-
5944
- var ItemImproveTooltipWrapper = function (_a) {
5945
- var data = _a.data, region = _a.region, children = _a.children, client = _a.client, _b = _a.offline, offline = _b === void 0 ? false : _b, _c = _a.interactive, interactive = _c === void 0 ? true : _c, _d = _a.placement, placement = _d === void 0 ? "right" : _d, _e = _a.debug, debug = _e === void 0 ? false : _e, _f = _a.followCursor, followCursor$1 = _f === void 0 ? false : _f, _g = _a.trigger, trigger = _g === void 0 ? "mouseenter focus" : _g, _h = _a.showArrow, showArrow = _h === void 0 ? true : _h;
5946
- var spanRef = React.useRef(null);
5947
- var _j = React.useState(null), childRef = _j[0], setChildRef = _j[1];
5948
- /**
5949
- * Mount the temporary span element.
5950
- * retrieve and store the target element's reference.
5951
- */
5952
- React.useEffect(function () {
5953
- if (spanRef.current) {
5954
- setChildRef(spanRef.current.previousElementSibling);
5955
- }
5956
- return function () { return setChildRef(null); };
5957
- }, []);
5958
- var _k = React.useState(true), isOffline = _k[0], setIsOffline = _k[1];
5959
- return (React__default["default"].createElement(React__default["default"].Fragment, null,
5960
- children,
5961
- childRef ? (React__default["default"].createElement(Tippy, { arrow: showArrow, trigger: trigger, plugins: [followCursor], followCursor: followCursor$1 && !interactive, appendTo: document.body, onMount: function () { return setIsOffline(offline); }, placement: placement, animation: "fade", interactive: interactive, content: React__default["default"].createElement(ItemImproveTooltip, { region: region, data: data, offline: isOffline, client: client, debug: debug }), theme: "grade4", reference: childRef })) : (React__default["default"].createElement("span", { "data-testid": "TooltipWrapper", ref: spanRef, style: { display: "none" } }))));
5962
- };
5963
-
5964
6405
  function ItemTooltip(_a) {
5965
6406
  var _this = this;
5966
6407
  var _b, _c, _d;
@@ -6039,10 +6480,10 @@ function ItemTooltip(_a) {
6039
6480
  AddJobstyleToggles(setHasSkillModifiers, tooltipBaseProps.subInfoGroups, jobstyles, jobstyle, setJobstyle);
6040
6481
  AddTopText(tooltipBaseProps.subInfoGroups, item);
6041
6482
  AddSkillDescriptions(tooltipBaseProps.subInfoGroups, item, itemCombats, jobstyle);
6042
- if (showUpgrade)
6043
- AddItemImprove(tooltipBaseProps.subInfoGroups, item, region, client, offline, debug);
6044
6483
  AddSkillModifiers(tooltipBaseProps.subInfoGroups, item, false, jobstyle);
6045
6484
  AddSetBonus(tooltipBaseProps.subInfoGroups, item, jobstyle);
6485
+ if (showUpgrade)
6486
+ AddItemImprove(tooltipBaseProps.subInfoGroups, item, region, client, offline, debug);
6046
6487
  if (!offline) {
6047
6488
  AddDecomposeResults(tooltipBaseProps.subInfoGroups, item, client, region);
6048
6489
  }
@@ -6286,15 +6727,15 @@ function AddItemImprove(subInfoGroups, item, region, client, offline, debug) {
6286
6727
  title: "Upgrade Options:",
6287
6728
  texts: [
6288
6729
  React__default["default"].createElement("div", { className: "ItemTooltip_optionPadding" },
6289
- React__default["default"].createElement(ItemImproveTooltipWrapper, { data: item.itemImprove, region: region, trigger: "click", interactive: true, offline: offline, client: client, debug: debug },
6730
+ React__default["default"].createElement(ItemImproveTooltipWrapper, { data: item, region: region, trigger: "click", interactive: true, offline: offline, client: client, debug: debug },
6290
6731
  React__default["default"].createElement("span", { className: "ItemTooltip_showButton" }, "Click to open")))
6291
6732
  ]
6292
6733
  };
6293
6734
  subInfoGroups.push(subInfoGroup);
6294
6735
  }
6295
6736
 
6296
- var css_248z$3 = "";
6297
- styleInject(css_248z$3);
6737
+ var css_248z$5 = "";
6738
+ styleInject(css_248z$5);
6298
6739
 
6299
6740
  function JsonTooltip(props) {
6300
6741
  var tooltipProps = {
@@ -6330,8 +6771,8 @@ function JsonArrayToJsxArray(stringArray) {
6330
6771
  return jsxArray;
6331
6772
  }
6332
6773
 
6333
- var css_248z$2 = ".SkillTooltip_skillIconContainer {\n width: 60px;\n height: 60px;\n padding: 0;\n float: left;\n position: relative; }\n\n.SkillTooltip_skillIcon {\n width: 60px;\n height: 60px; }\n\n.SkillTooltip_buttonIcon {\n position: absolute;\n right: 1px;\n bottom: 1px;\n height: 18px;\n opacity: 0.9; }\n\n.SkillTooltip_buttonIconMouse {\n background-color: rgba(0, 0, 0, 0.8); }\n\n.SkillTooltip_mainText {\n font-weight: 500; }\n\n.SkillTooltip_smallText {\n font-size: 12px; }\n\n.SkillTooltip_subTextMargin {\n margin-bottom: 0.3rem; }\n\n.SkillTooltip_boundaryContainer {\n display: flex;\n width: 100%;\n margin-bottom: 0.5rem;\n line-height: 17px; }\n\n.SkillTooltip_boundary {\n flex: 1;\n flex-basis: 0px;\n min-width: 0;\n display: flex;\n flex-direction: column;\n color: black;\n margin: 0.15rem; }\n\n.SkillTooltip_boundary:first-of-type > .SkillTooltip_boundaryHead {\n border-radius: 3px 0 0 0; }\n\n.SkillTooltip_boundary:last-of-type > .SkillTooltip_boundaryHead {\n border-radius: 0 3px 0 0; }\n\n.SkillTooltip_boundary:first-of-type > .SkillTooltip_boundaryBody {\n border-radius: 0 0 0 3px; }\n\n.SkillTooltip_boundary:last-of-type > .SkillTooltip_boundaryBody {\n border-radius: 0 0 3px 0; }\n\n.SkillTooltip_boundaryHead {\n color: white;\n font-weight: 500;\n font-size: 12px;\n text-overflow: ellipsis;\n overflow: hidden;\n padding: 0.3rem;\n text-align: center;\n flex: 1;\n min-height: 26px;\n background-color: rgba(127, 127, 127, 0.4); }\n\n.SkillTooltip_boundaryBody {\n color: white;\n padding: 0.5rem 0.3rem;\n margin-top: 0.15rem;\n text-align: center;\n display: flex;\n align-items: center;\n justify-content: center;\n min-height: 40px;\n flex: 2;\n background-color: rgba(127, 127, 127, 0.4); }\n\n.SkillTooltip_boundaryBodyModifier {\n min-height: 33px !important; }\n\n.SkillTooltip_boundaryHasIcon {\n min-height: 50px !important; }\n\n.SkillTooltip_conditionRow {\n display: flex;\n align-items: center;\n font-size: 12px; }\n\n.SkillTooltip_conditionRow:not(:last-of-type) {\n margin-bottom: 0.1rem; }\n\n.SkillTooltip_conditionIcon {\n width: 20px;\n height: 20px;\n margin-right: 0.33rem; }\n\n.SkillTooltip_conditionIconSmall {\n width: 12px;\n height: 12px;\n margin-right: 0.22rem; }\n\n.tooltipArg {\n color: #46bee1;\n font-weight: 600; }\n\n.target-360 {\n background-image: url(\"./360.png\");\n background-repeat: no-repeat;\n background-position: 50% 60%;\n background-size: auto 64px; }\n\n.target-front-180 {\n background-image: url(\"./180.png\");\n background-repeat: no-repeat;\n background-position: 50% 70%;\n background-size: auto 64px; }\n\n.laser {\n background-image: url(\"./laser.png\");\n background-repeat: no-repeat;\n background-position: 50% 50%;\n background-size: auto 64px; }\n";
6334
- styleInject(css_248z$2);
6774
+ var css_248z$4 = ".SkillTooltip_skillIconContainer {\n width: 60px;\n height: 60px;\n padding: 0;\n float: left;\n position: relative; }\n\n.SkillTooltip_skillIcon {\n width: 60px;\n height: 60px; }\n\n.SkillTooltip_buttonIcon {\n position: absolute;\n right: 1px;\n bottom: 1px;\n height: 18px;\n opacity: 0.9; }\n\n.SkillTooltip_buttonIconMouse {\n background-color: rgba(0, 0, 0, 0.8); }\n\n.SkillTooltip_mainText {\n font-weight: 500; }\n\n.SkillTooltip_smallText {\n font-size: 12px; }\n\n.SkillTooltip_subTextMargin {\n margin-bottom: 0.3rem; }\n\n.SkillTooltip_boundaryContainer {\n display: flex;\n width: 100%;\n margin-bottom: 0.5rem;\n line-height: 17px; }\n\n.SkillTooltip_boundary {\n flex: 1;\n flex-basis: 0px;\n min-width: 0;\n display: flex;\n flex-direction: column;\n color: black;\n margin: 0.15rem; }\n\n.SkillTooltip_boundary:first-of-type > .SkillTooltip_boundaryHead {\n border-radius: 3px 0 0 0; }\n\n.SkillTooltip_boundary:last-of-type > .SkillTooltip_boundaryHead {\n border-radius: 0 3px 0 0; }\n\n.SkillTooltip_boundary:first-of-type > .SkillTooltip_boundaryBody {\n border-radius: 0 0 0 3px; }\n\n.SkillTooltip_boundary:last-of-type > .SkillTooltip_boundaryBody {\n border-radius: 0 0 3px 0; }\n\n.SkillTooltip_boundaryHead {\n color: white;\n font-weight: 500;\n font-size: 12px;\n text-overflow: ellipsis;\n overflow: hidden;\n padding: 0.3rem;\n text-align: center;\n flex: 1;\n min-height: 26px;\n background-color: rgba(127, 127, 127, 0.4); }\n\n.SkillTooltip_boundaryBody {\n color: white;\n padding: 0.5rem 0.3rem;\n margin-top: 0.15rem;\n text-align: center;\n display: flex;\n align-items: center;\n justify-content: center;\n min-height: 40px;\n flex: 2;\n background-color: rgba(127, 127, 127, 0.4); }\n\n.SkillTooltip_boundaryBodyModifier {\n min-height: 33px !important; }\n\n.SkillTooltip_boundaryHasIcon {\n min-height: 50px !important; }\n\n.SkillTooltip_conditionRow {\n display: flex;\n align-items: center;\n font-size: 12px; }\n\n.SkillTooltip_conditionRow:not(:last-of-type) {\n margin-bottom: 0.1rem; }\n\n.SkillTooltip_conditionIcon {\n width: 20px;\n height: 20px;\n margin-right: 0.33rem; }\n\n.SkillTooltip_conditionIconSmall {\n width: 12px;\n height: 12px;\n margin-right: 0.22rem; }\n\n.tooltipArg {\n color: #46bee1;\n font-weight: 600; }\n\n.target-360 {\n background-image: url(\"./360.png\");\n background-repeat: no-repeat;\n background-position: 50% 60%;\n background-size: auto 64px; }\n\n.target-front-180 {\n background-image: url(\"./180.png\");\n background-repeat: no-repeat;\n background-position: 50% 70%;\n background-size: auto 64px; }\n\n.laser {\n background-image: url(\"./laser.png\");\n background-repeat: no-repeat;\n background-position: 50% 50%;\n background-size: auto 64px; }\n";
6775
+ styleInject(css_248z$4);
6335
6776
 
6336
6777
  function getButtonIconPath(button) {
6337
6778
  var _a;
@@ -6607,8 +7048,8 @@ function AddIds(subInfoGroups, skill) {
6607
7048
  });
6608
7049
  }
6609
7050
 
6610
- var css_248z$1 = ".tippy-box {\n max-width: none !important;\n background-color: transparent !important;\n box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3) !important;\n transition: 0.3s cubic-bezier(0.25, 0.8, 0.25, 1) !important; }\n .tippy-box:hover {\n box-shadow: black 0px 20px 60px 0px !important; }\n\n.tippy-content {\n padding: 0 !important; }\n\n.tippy-box[data-theme~=\"grade1\"][data-placement^=\"bottom\"]\n.tippy-arrow::before {\n border-bottom-color: #6c6c6c !important; }\n\n.tippy-box[data-theme~=\"grade1\"][data-placement^=\"top\"]\n.tippy-arrow::before {\n border-top-color: #6c6c6c !important; }\n\n.tippy-box[data-theme~=\"grade1\"][data-placement^=\"left\"]\n.tippy-arrow::before {\n border-left-color: #6c6c6c !important; }\n\n.tippy-box[data-theme~=\"grade1\"][data-placement^=\"right\"]\n.tippy-arrow::before {\n border-right-color: #6c6c6c !important; }\n\n.tippy-box[data-theme~=\"grade2\"][data-placement^=\"bottom\"]\n.tippy-arrow::before {\n border-bottom-color: #ffffff !important; }\n\n.tippy-box[data-theme~=\"grade2\"][data-placement^=\"top\"]\n.tippy-arrow::before {\n border-top-color: #ffffff !important; }\n\n.tippy-box[data-theme~=\"grade2\"][data-placement^=\"left\"]\n.tippy-arrow::before {\n border-left-color: #ffffff !important; }\n\n.tippy-box[data-theme~=\"grade2\"][data-placement^=\"right\"]\n.tippy-arrow::before {\n border-right-color: #ffffff !important; }\n\n.tippy-box[data-theme~=\"grade3\"][data-placement^=\"bottom\"]\n.tippy-arrow::before {\n border-bottom-color: #58ff77 !important; }\n\n.tippy-box[data-theme~=\"grade3\"][data-placement^=\"top\"]\n.tippy-arrow::before {\n border-top-color: #58ff77 !important; }\n\n.tippy-box[data-theme~=\"grade3\"][data-placement^=\"left\"]\n.tippy-arrow::before {\n border-left-color: #58ff77 !important; }\n\n.tippy-box[data-theme~=\"grade3\"][data-placement^=\"right\"]\n.tippy-arrow::before {\n border-right-color: #58ff77 !important; }\n\n.tippy-box[data-theme~=\"grade4\"][data-placement^=\"bottom\"]\n.tippy-arrow::before {\n border-bottom-color: #46bee1 !important; }\n\n.tippy-box[data-theme~=\"grade4\"][data-placement^=\"top\"]\n.tippy-arrow::before {\n border-top-color: #46bee1 !important; }\n\n.tippy-box[data-theme~=\"grade4\"][data-placement^=\"left\"]\n.tippy-arrow::before {\n border-left-color: #46bee1 !important; }\n\n.tippy-box[data-theme~=\"grade4\"][data-placement^=\"right\"]\n.tippy-arrow::before {\n border-right-color: #46bee1 !important; }\n\n.tippy-box[data-theme~=\"grade5\"][data-placement^=\"bottom\"]\n.tippy-arrow::before {\n border-bottom-color: #d739ff !important; }\n\n.tippy-box[data-theme~=\"grade5\"][data-placement^=\"top\"]\n.tippy-arrow::before {\n border-top-color: #d739ff !important; }\n\n.tippy-box[data-theme~=\"grade5\"][data-placement^=\"left\"]\n.tippy-arrow::before {\n border-left-color: #d739ff !important; }\n\n.tippy-box[data-theme~=\"grade5\"][data-placement^=\"right\"]\n.tippy-arrow::before {\n border-right-color: #d739ff !important; }\n\n.tippy-box[data-theme~=\"grade6\"][data-placement^=\"bottom\"]\n.tippy-arrow::before {\n border-bottom-color: #f1b248 !important; }\n\n.tippy-box[data-theme~=\"grade6\"][data-placement^=\"top\"]\n.tippy-arrow::before {\n border-top-color: #f1b248 !important; }\n\n.tippy-box[data-theme~=\"grade6\"][data-placement^=\"left\"]\n.tippy-arrow::before {\n border-left-color: #f1b248 !important; }\n\n.tippy-box[data-theme~=\"grade6\"][data-placement^=\"right\"]\n.tippy-arrow::before {\n border-right-color: #f1b248 !important; }\n\n.tippy-box[data-theme~=\"grade7\"][data-placement^=\"bottom\"]\n.tippy-arrow::before {\n border-bottom-color: #ff770a !important; }\n\n.tippy-box[data-theme~=\"grade7\"][data-placement^=\"top\"]\n.tippy-arrow::before {\n border-top-color: #ff770a !important; }\n\n.tippy-box[data-theme~=\"grade7\"][data-placement^=\"left\"]\n.tippy-arrow::before {\n border-left-color: #ff770a !important; }\n\n.tippy-box[data-theme~=\"grade7\"][data-placement^=\"right\"]\n.tippy-arrow::before {\n border-right-color: #ff770a !important; }\n\n.tippy-box[data-theme~=\"grade8\"][data-placement^=\"bottom\"]\n.tippy-arrow::before {\n border-bottom-color: #ff0084 !important; }\n\n.tippy-box[data-theme~=\"grade8\"][data-placement^=\"top\"]\n.tippy-arrow::before {\n border-top-color: #ff0084 !important; }\n\n.tippy-box[data-theme~=\"grade8\"][data-placement^=\"left\"]\n.tippy-arrow::before {\n border-left-color: #ff0084 !important; }\n\n.tippy-box[data-theme~=\"grade8\"][data-placement^=\"right\"]\n.tippy-arrow::before {\n border-right-color: #ff0084 !important; }\n";
6611
- styleInject(css_248z$1);
7051
+ var css_248z$3 = ".tippy-box {\n max-width: none !important;\n background-color: transparent !important;\n box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3) !important;\n transition: 0.3s cubic-bezier(0.25, 0.8, 0.25, 1) !important; }\n .tippy-box:hover {\n box-shadow: rgba(0, 0, 0, 0.8) 0px 20px 60px 0px !important; }\n\n.tippy-content {\n padding: 0 !important; }\n\n.tippy-box[data-theme~=\"grade1\"][data-placement^=\"bottom\"]\n.tippy-arrow::before {\n border-bottom-color: #6c6c6c !important; }\n\n.tippy-box[data-theme~=\"grade1\"][data-placement^=\"top\"]\n.tippy-arrow::before {\n border-top-color: #6c6c6c !important; }\n\n.tippy-box[data-theme~=\"grade1\"][data-placement^=\"left\"]\n.tippy-arrow::before {\n border-left-color: #6c6c6c !important; }\n\n.tippy-box[data-theme~=\"grade1\"][data-placement^=\"right\"]\n.tippy-arrow::before {\n border-right-color: #6c6c6c !important; }\n\n.tippy-box[data-theme~=\"grade2\"][data-placement^=\"bottom\"]\n.tippy-arrow::before {\n border-bottom-color: #ffffff !important; }\n\n.tippy-box[data-theme~=\"grade2\"][data-placement^=\"top\"]\n.tippy-arrow::before {\n border-top-color: #ffffff !important; }\n\n.tippy-box[data-theme~=\"grade2\"][data-placement^=\"left\"]\n.tippy-arrow::before {\n border-left-color: #ffffff !important; }\n\n.tippy-box[data-theme~=\"grade2\"][data-placement^=\"right\"]\n.tippy-arrow::before {\n border-right-color: #ffffff !important; }\n\n.tippy-box[data-theme~=\"grade3\"][data-placement^=\"bottom\"]\n.tippy-arrow::before {\n border-bottom-color: #58ff77 !important; }\n\n.tippy-box[data-theme~=\"grade3\"][data-placement^=\"top\"]\n.tippy-arrow::before {\n border-top-color: #58ff77 !important; }\n\n.tippy-box[data-theme~=\"grade3\"][data-placement^=\"left\"]\n.tippy-arrow::before {\n border-left-color: #58ff77 !important; }\n\n.tippy-box[data-theme~=\"grade3\"][data-placement^=\"right\"]\n.tippy-arrow::before {\n border-right-color: #58ff77 !important; }\n\n.tippy-box[data-theme~=\"grade4\"][data-placement^=\"bottom\"]\n.tippy-arrow::before {\n border-bottom-color: #46bee1 !important; }\n\n.tippy-box[data-theme~=\"grade4\"][data-placement^=\"top\"]\n.tippy-arrow::before {\n border-top-color: #46bee1 !important; }\n\n.tippy-box[data-theme~=\"grade4\"][data-placement^=\"left\"]\n.tippy-arrow::before {\n border-left-color: #46bee1 !important; }\n\n.tippy-box[data-theme~=\"grade4\"][data-placement^=\"right\"]\n.tippy-arrow::before {\n border-right-color: #46bee1 !important; }\n\n.tippy-box[data-theme~=\"grade5\"][data-placement^=\"bottom\"]\n.tippy-arrow::before {\n border-bottom-color: #d739ff !important; }\n\n.tippy-box[data-theme~=\"grade5\"][data-placement^=\"top\"]\n.tippy-arrow::before {\n border-top-color: #d739ff !important; }\n\n.tippy-box[data-theme~=\"grade5\"][data-placement^=\"left\"]\n.tippy-arrow::before {\n border-left-color: #d739ff !important; }\n\n.tippy-box[data-theme~=\"grade5\"][data-placement^=\"right\"]\n.tippy-arrow::before {\n border-right-color: #d739ff !important; }\n\n.tippy-box[data-theme~=\"grade6\"][data-placement^=\"bottom\"]\n.tippy-arrow::before {\n border-bottom-color: #f1b248 !important; }\n\n.tippy-box[data-theme~=\"grade6\"][data-placement^=\"top\"]\n.tippy-arrow::before {\n border-top-color: #f1b248 !important; }\n\n.tippy-box[data-theme~=\"grade6\"][data-placement^=\"left\"]\n.tippy-arrow::before {\n border-left-color: #f1b248 !important; }\n\n.tippy-box[data-theme~=\"grade6\"][data-placement^=\"right\"]\n.tippy-arrow::before {\n border-right-color: #f1b248 !important; }\n\n.tippy-box[data-theme~=\"grade7\"][data-placement^=\"bottom\"]\n.tippy-arrow::before {\n border-bottom-color: #ff770a !important; }\n\n.tippy-box[data-theme~=\"grade7\"][data-placement^=\"top\"]\n.tippy-arrow::before {\n border-top-color: #ff770a !important; }\n\n.tippy-box[data-theme~=\"grade7\"][data-placement^=\"left\"]\n.tippy-arrow::before {\n border-left-color: #ff770a !important; }\n\n.tippy-box[data-theme~=\"grade7\"][data-placement^=\"right\"]\n.tippy-arrow::before {\n border-right-color: #ff770a !important; }\n\n.tippy-box[data-theme~=\"grade8\"][data-placement^=\"bottom\"]\n.tippy-arrow::before {\n border-bottom-color: #ff0084 !important; }\n\n.tippy-box[data-theme~=\"grade8\"][data-placement^=\"top\"]\n.tippy-arrow::before {\n border-top-color: #ff0084 !important; }\n\n.tippy-box[data-theme~=\"grade8\"][data-placement^=\"left\"]\n.tippy-arrow::before {\n border-left-color: #ff0084 !important; }\n\n.tippy-box[data-theme~=\"grade8\"][data-placement^=\"right\"]\n.tippy-arrow::before {\n border-right-color: #ff0084 !important; }\n";
7052
+ styleInject(css_248z$3);
6612
7053
 
6613
7054
  var SkillTooltipWrapper = function (_a) {
6614
7055
  var data = _a.data, children = _a.children, _b = _a.interactive, interactive = _b === void 0 ? false : _b, _c = _a.placement, placement = _c === void 0 ? "right" : _c, _d = _a.followCursor, followCursor$1 = _d === void 0 ? false : _d, _e = _a.trigger, trigger = _e === void 0 ? "mouseenter focus" : _e, _f = _a.showArrow, showArrow = _f === void 0 ? true : _f;
@@ -6636,8 +7077,8 @@ exports.ServerRegion = void 0;
6636
7077
  ServerRegion["KoreaTest"] = "KoreaTest";
6637
7078
  })(exports.ServerRegion || (exports.ServerRegion = {}));
6638
7079
 
6639
- var css_248z = ".NpcTooltip_toggleBarContainer {\n display: flex; }\n\n.NpcTooltip_toggleButton {\n flex: 1;\n border: none;\n padding: 0.33rem 0.5rem;\n border-radius: 0;\n background-color: rgba(233, 233, 233, 0.1);\n color: #fff;\n opacity: 0.8;\n cursor: pointer;\n transition: background-color 0.1s; }\n .NpcTooltip_toggleButton:hover {\n background-color: rgba(255, 255, 255, 0.2);\n opacity: 1; }\n .NpcTooltip_toggleButton-active {\n background-color: rgba(255, 255, 255, 0.3) !important;\n color: #fff;\n opacity: 1; }\n\n.NpcTooltip_storeEntry {\n display: flex;\n align-items: stretch;\n background-color: rgba(233, 233, 233, 0.1);\n padding: 0.33rem;\n font-size: 14px; }\n .NpcTooltip_storeEntry:not(:last-child) {\n margin-bottom: 0.2rem; }\n\n.NpcTooltip_storeEntryItemNameLimit {\n height: 100%;\n display: flex;\n flex-direction: column;\n justify-content: center; }\n\n.NpcTooltip_storeEntryItemLimit {\n font-size: 12px; }\n\n.NpcTooltip_storeEntryItemName {\n flex: 1;\n display: flex;\n align-items: center; }\n\n.NpcTooltip_storeEntryItemIconName {\n display: flex;\n align-items: center; }\n .NpcTooltip_storeEntryItemIconName img {\n width: 48px;\n height: 48px;\n margin-right: 0.33rem; }\n\n.NpcTooltip_itemBuyPriceEntriesContainer {\n display: flex;\n flex-direction: column;\n flex: 1;\n align-items: flex-end;\n justify-content: center;\n padding-left: 2rem; }\n\n.NpcTooltip_itemBuyPriceEntries {\n display: flex; }\n .NpcTooltip_itemBuyPriceEntries-moneyMargin {\n margin-bottom: 0.2rem; }\n\n.NpcTooltip_itemBuyPriceEntry:not(:first-child) {\n margin-left: 0.33rem; }\n\n.NpcTooltip_itemBuyPriceEntryContainer {\n position: relative;\n height: 32px; }\n .NpcTooltip_itemBuyPriceEntryContainer img {\n width: 32px;\n height: 32px; }\n .NpcTooltip_itemBuyPriceEntryContainer-shadow {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n box-shadow: inset 0 0 2px 0px #000000; }\n\n.NpcTooltip_itemBuyPriceEntryCount {\n position: absolute;\n bottom: 0;\n left: 0;\n color: #ffffff;\n background-color: rgba(0, 0, 0, 0.4);\n width: 32px;\n line-height: 12px;\n text-align: center; }\n\n.NpcTooltip_moneyContainer {\n display: flex;\n align-items: center;\n justify-content: flex-end; }\n .NpcTooltip_moneyContainer > span {\n display: flex;\n align-items: center; }\n .NpcTooltip_moneyContainer > span:not(:first-child) {\n margin-left: 0.1rem; }\n .NpcTooltip_moneyContainer > span > img {\n width: 16px;\n height: 16px; }\n";
6640
- styleInject(css_248z);
7080
+ var css_248z$2 = ".NpcTooltip_toggleBarContainer {\n display: flex; }\n\n.NpcTooltip_toggleButton {\n flex: 1;\n border: none;\n padding: 0.33rem 0.5rem;\n border-radius: 0;\n background-color: rgba(233, 233, 233, 0.1);\n color: #fff;\n opacity: 0.8;\n cursor: pointer;\n transition: background-color 0.1s; }\n .NpcTooltip_toggleButton:hover {\n background-color: rgba(255, 255, 255, 0.2);\n opacity: 1; }\n .NpcTooltip_toggleButton-active {\n background-color: rgba(255, 255, 255, 0.3) !important;\n color: #fff;\n opacity: 1; }\n\n.NpcTooltip_storeEntry {\n display: flex;\n align-items: stretch;\n background-color: rgba(233, 233, 233, 0.1);\n padding: 0.33rem;\n font-size: 14px; }\n .NpcTooltip_storeEntry:not(:last-child) {\n margin-bottom: 0.2rem; }\n\n.NpcTooltip_storeEntryItemNameLimit {\n height: 100%;\n display: flex;\n flex-direction: column;\n justify-content: center; }\n\n.NpcTooltip_storeEntryItemLimit {\n font-size: 12px; }\n\n.NpcTooltip_storeEntryItemName {\n flex: 1;\n display: flex;\n align-items: center; }\n\n.NpcTooltip_storeEntryItemIconName {\n display: flex;\n align-items: center; }\n .NpcTooltip_storeEntryItemIconName img {\n width: 48px;\n height: 48px;\n margin-right: 0.33rem; }\n\n.NpcTooltip_itemBuyPriceEntriesContainer {\n display: flex;\n flex-direction: column;\n flex: 1;\n align-items: flex-end;\n justify-content: center;\n padding-left: 2rem; }\n\n.NpcTooltip_itemBuyPriceEntries {\n display: flex; }\n .NpcTooltip_itemBuyPriceEntries-moneyMargin {\n margin-bottom: 0.2rem; }\n\n.NpcTooltip_itemBuyPriceEntry:not(:first-child) {\n margin-left: 0.33rem; }\n\n.NpcTooltip_itemBuyPriceEntryContainer {\n position: relative;\n height: 32px; }\n .NpcTooltip_itemBuyPriceEntryContainer img {\n width: 32px;\n height: 32px; }\n .NpcTooltip_itemBuyPriceEntryContainer-shadow {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n box-shadow: inset 0 0 2px 0px #000000; }\n\n.NpcTooltip_itemBuyPriceEntryCount {\n position: absolute;\n bottom: 0;\n left: 0;\n color: #ffffff;\n background-color: rgba(0, 0, 0, 0.4);\n width: 32px;\n line-height: 12px;\n text-align: center; }\n\n.NpcTooltip_moneyContainer {\n display: flex;\n align-items: center;\n justify-content: flex-end; }\n .NpcTooltip_moneyContainer_center {\n justify-content: center; }\n .NpcTooltip_moneyContainer > span {\n display: flex;\n align-items: center; }\n .NpcTooltip_moneyContainer > span:not(:first-child) {\n margin-left: 0.1rem; }\n .NpcTooltip_moneyContainer > span > img {\n width: 16px;\n height: 16px; }\n";
7081
+ styleInject(css_248z$2);
6641
7082
 
6642
7083
  function StoreToggle(_a) {
6643
7084
  var store = _a.store, isActive = _a.isActive, setActive = _a.setActive;
@@ -6826,7 +7267,63 @@ function AddStores(subInfoGroups, activeTab, client, Stores) {
6826
7267
  });
6827
7268
  }
6828
7269
 
7270
+ var css_248z$1 = ".ItemImproveSelectStageTooltip_item {\n cursor: pointer;\n border: solid 1px transparent; }\n .ItemImproveSelectStageTooltip_item:hover {\n border: solid 1px #ffffff; }\n";
7271
+ styleInject(css_248z$1);
7272
+
7273
+ function ItemImproveSelectStageTooltip(_a) {
7274
+ var items = _a.items, onClick = _a.onClick;
7275
+ var tooltipBaseProps = {
7276
+ title: "",
7277
+ grade: 2,
7278
+ id: "item_upgrade_info",
7279
+ icon: "",
7280
+ subtitle: "",
7281
+ mainInfos: [],
7282
+ subInfoGroups: [],
7283
+ fullHeight: false
7284
+ };
7285
+ var texts = [];
7286
+ items.forEach(function (item) {
7287
+ texts.push(React__default["default"].createElement("div", { className: "ItemImproveSelectStageTooltip_item", onClick: function () {
7288
+ if (onClick != undefined)
7289
+ onClick(item);
7290
+ } },
7291
+ React__default["default"].createElement(ItemIconNameDiv, { itemData: item, client: null, region: null, showUpgrade: false, item: null, tooltip: false })));
7292
+ });
7293
+ tooltipBaseProps.subInfoGroups.push({
7294
+ title: "",
7295
+ texts: texts
7296
+ });
7297
+ return (React__default["default"].createElement(TooltipBase, __assign({}, tooltipBaseProps)));
7298
+ }
7299
+
7300
+ var css_248z = "";
7301
+ styleInject(css_248z);
7302
+
7303
+ var ItemImproveSelectStageTooltipWrapper = function (_a) {
7304
+ var items = _a.items, onClick = _a.onClick, children = _a.children, _b = _a.interactive, interactive = _b === void 0 ? true : _b, _c = _a.placement, placement = _c === void 0 ? "right" : _c, _d = _a.followCursor, followCursor$1 = _d === void 0 ? false : _d, _e = _a.trigger, trigger = _e === void 0 ? "mouseenter focus" : _e, _f = _a.showArrow, showArrow = _f === void 0 ? true : _f;
7305
+ var spanRef = React.useRef(null);
7306
+ var _g = React.useState(null), childRef = _g[0], setChildRef = _g[1];
7307
+ /**
7308
+ * Mount the temporary span element.
7309
+ * retrieve and store the target element's reference.
7310
+ */
7311
+ React.useEffect(function () {
7312
+ if (spanRef.current) {
7313
+ setChildRef(spanRef.current.previousElementSibling);
7314
+ }
7315
+ return function () { return setChildRef(null); };
7316
+ }, []);
7317
+ return (React__default["default"].createElement(React__default["default"].Fragment, null,
7318
+ children,
7319
+ childRef ? (React__default["default"].createElement(Tippy, { arrow: showArrow, trigger: trigger, plugins: [followCursor], followCursor: followCursor$1 && !interactive, appendTo: document.body, placement: placement, animation: "fade", interactive: interactive, content: React__default["default"].createElement(ItemImproveSelectStageTooltip, { items: items, onClick: onClick }), theme: "grade" + 2, reference: childRef })) : (React__default["default"].createElement("span", { "data-testid": "TooltipWrapper", ref: spanRef, style: { display: "none" } }))));
7320
+ };
7321
+
6829
7322
  exports.GetCooldownString = GetCooldownString;
7323
+ exports.ItemImproveEffectsTooltip = ItemImproveEffectsTooltip;
7324
+ exports.ItemImproveEffectsTooltipWrapper = ItemImproveEffectsTooltipWrapper;
7325
+ exports.ItemImproveSelectStageTooltip = ItemImproveSelectStageTooltip;
7326
+ exports.ItemImproveSelectStageTooltipWrapper = ItemImproveSelectStageTooltipWrapper;
6830
7327
  exports.ItemImproveTooltip = ItemImproveTooltip;
6831
7328
  exports.ItemImproveTooltipWrapper = ItemImproveTooltipWrapper;
6832
7329
  exports.ItemTooltip = ItemTooltip;