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.es.js CHANGED
@@ -30,12 +30,12 @@ function styleInject(css, ref) {
30
30
  }
31
31
  }
32
32
 
33
- 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";
34
- styleInject(css_248z$9);
33
+ 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";
34
+ styleInject(css_248z$d);
35
35
 
36
36
  function TooltipBase(_a) {
37
- 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;
38
- return (React.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" : "") },
37
+ 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;
38
+ return (React.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" : "") },
39
39
  (title != null && title != "") ||
40
40
  (category != null && category != "") ? (React.createElement("div", { className: "TooltipBase_titlesubtitle" },
41
41
  React.createElement("div", { className: "TooltipBase_title" },
@@ -133,8 +133,8 @@ function __generator(thisArg, body) {
133
133
  }
134
134
  }
135
135
 
136
- 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";
137
- styleInject(css_248z$8);
136
+ 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";
137
+ styleInject(css_248z$c);
138
138
 
139
139
  function BuildIconPath(iconPath, iconIndex) {
140
140
  if (iconPath == null)
@@ -396,6 +396,43 @@ var BnsItemApiFetchParamCreator = function (configuration) {
396
396
  options: localVarRequestOptions,
397
397
  };
398
398
  },
399
+ /**
400
+ *
401
+ * @param {number} [itemId]
402
+ * @param {number} [itemLevel]
403
+ * @param {string} [region]
404
+ * @param {string} [patch]
405
+ * @param {*} [options] Override http request option.
406
+ * @throws {RequiredError}
407
+ */
408
+ bnsItemAllUpgradesForItemGet: function (itemId, itemLevel, region, patch, options) {
409
+ if (options === void 0) { options = {}; }
410
+ var localVarPath = "/BnsItem/AllUpgradesForItem";
411
+ var localVarUrlObj = url.parse(localVarPath, true);
412
+ var localVarRequestOptions = Object.assign({ method: 'GET' }, options);
413
+ var localVarHeaderParameter = {};
414
+ var localVarQueryParameter = {};
415
+ if (itemId !== undefined) {
416
+ localVarQueryParameter['itemId'] = itemId;
417
+ }
418
+ if (itemLevel !== undefined) {
419
+ localVarQueryParameter['itemLevel'] = itemLevel;
420
+ }
421
+ if (region !== undefined) {
422
+ localVarQueryParameter['region'] = region;
423
+ }
424
+ if (patch !== undefined) {
425
+ localVarQueryParameter['patch'] = patch;
426
+ }
427
+ localVarUrlObj.query = Object.assign({}, localVarUrlObj.query, localVarQueryParameter, options.query);
428
+ // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943
429
+ delete localVarUrlObj.search;
430
+ localVarRequestOptions.headers = Object.assign({}, localVarHeaderParameter, options.headers);
431
+ return {
432
+ url: url.format(localVarUrlObj),
433
+ options: localVarRequestOptions,
434
+ };
435
+ },
399
436
  /**
400
437
  *
401
438
  * @param {string} idLevel
@@ -814,6 +851,30 @@ var BnsItemApiFp = function (configuration) {
814
851
  });
815
852
  };
816
853
  },
854
+ /**
855
+ *
856
+ * @param {number} [itemId]
857
+ * @param {number} [itemLevel]
858
+ * @param {string} [region]
859
+ * @param {string} [patch]
860
+ * @param {*} [options] Override http request option.
861
+ * @throws {RequiredError}
862
+ */
863
+ bnsItemAllUpgradesForItemGet: function (itemId, itemLevel, region, patch, options) {
864
+ var localVarFetchArgs = BnsItemApiFetchParamCreator().bnsItemAllUpgradesForItemGet(itemId, itemLevel, region, patch, options);
865
+ return function (fetch, basePath) {
866
+ if (fetch === void 0) { fetch = isomorphicFetch; }
867
+ if (basePath === void 0) { basePath = BASE_PATH; }
868
+ return fetch(basePath + localVarFetchArgs.url, localVarFetchArgs.options).then(function (response) {
869
+ if (response.status >= 200 && response.status < 300) {
870
+ return response.json();
871
+ }
872
+ else {
873
+ throw response;
874
+ }
875
+ });
876
+ };
877
+ },
817
878
  /**
818
879
  *
819
880
  * @param {string} idLevel
@@ -1069,6 +1130,19 @@ var BnsItemApi = /** @class */ (function (_super) {
1069
1130
  BnsItemApi.prototype.bnsItemAddedOrModifiedItemsGet = function (added, modified, region, patch, options) {
1070
1131
  return BnsItemApiFp(this.configuration).bnsItemAddedOrModifiedItemsGet(added, modified, region, patch, options)(this.fetch, this.basePath);
1071
1132
  };
1133
+ /**
1134
+ *
1135
+ * @param {number} [itemId]
1136
+ * @param {number} [itemLevel]
1137
+ * @param {string} [region]
1138
+ * @param {string} [patch]
1139
+ * @param {*} [options] Override http request option.
1140
+ * @throws {RequiredError}
1141
+ * @memberof BnsItemApi
1142
+ */
1143
+ BnsItemApi.prototype.bnsItemAllUpgradesForItemGet = function (itemId, itemLevel, region, patch, options) {
1144
+ return BnsItemApiFp(this.configuration).bnsItemAllUpgradesForItemGet(itemId, itemLevel, region, patch, options)(this.fetch, this.basePath);
1145
+ };
1072
1146
  /**
1073
1147
  *
1074
1148
  * @param {string} idLevel
@@ -1266,15 +1340,41 @@ var ItemDownloadClient = /** @class */ (function () {
1266
1340
  });
1267
1341
  });
1268
1342
  };
1343
+ ItemDownloadClient.prototype.GetItemUpgrades = function (item) {
1344
+ return __awaiter(this, void 0, void 0, function () {
1345
+ var result;
1346
+ return __generator(this, function (_a) {
1347
+ switch (_a.label) {
1348
+ case 0: return [4 /*yield*/, this.instance.bnsItemAllUpgradesForItemGet(item.id, item.level, this.region, this.patch)];
1349
+ case 1:
1350
+ result = _a.sent();
1351
+ return [2 /*return*/, result];
1352
+ }
1353
+ });
1354
+ });
1355
+ };
1356
+ ItemDownloadClient.prototype.GetItemUpgradesByIdLevel = function (id, level) {
1357
+ return __awaiter(this, void 0, void 0, function () {
1358
+ var result;
1359
+ return __generator(this, function (_a) {
1360
+ switch (_a.label) {
1361
+ case 0: return [4 /*yield*/, this.instance.bnsItemAllUpgradesForItemGet(id, level, this.region, this.patch)];
1362
+ case 1:
1363
+ result = _a.sent();
1364
+ return [2 /*return*/, result];
1365
+ }
1366
+ });
1367
+ });
1368
+ };
1269
1369
  ItemDownloadClient.urlBase = "https://bnsitemstoragewebapi.azurewebsites.net";
1270
1370
  return ItemDownloadClient;
1271
1371
  }());
1272
1372
 
1273
- 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}";
1274
- styleInject(css_248z$7);
1373
+ 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}";
1374
+ styleInject(css_248z$b);
1275
1375
 
1276
- var css_248z$6 = "";
1277
- styleInject(css_248z$6);
1376
+ var css_248z$a = "";
1377
+ styleInject(css_248z$a);
1278
1378
 
1279
1379
  var top = 'top';
1280
1380
  var bottom = 'bottom';
@@ -5447,8 +5547,501 @@ var index = /*#__PURE__*/forwardRef( /*#__PURE__*/TippyGenerator(tippy));
5447
5547
 
5448
5548
  var Tippy = index;
5449
5549
 
5450
- var css_248z$5 = ".ItemImproveTooltip_option {\n margin: .2rem 0; }\n\n.ItemImproveTooltip_moneyContainer {\n padding: 0 0 0.15rem 0.33rem; }\n";
5451
- styleInject(css_248z$5);
5550
+ 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";
5551
+ styleInject(css_248z$9);
5552
+
5553
+ 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";
5554
+ styleInject(css_248z$8);
5555
+
5556
+ var ItemTooltipWrapper = function (_a) {
5557
+ 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;
5558
+ var spanRef = useRef(null);
5559
+ var _k = useState(null), childRef = _k[0], setChildRef = _k[1];
5560
+ /**
5561
+ * Mount the temporary span element.
5562
+ * retrieve and store the target element's reference.
5563
+ */
5564
+ useEffect(function () {
5565
+ if (spanRef.current) {
5566
+ setChildRef(spanRef.current.previousElementSibling);
5567
+ }
5568
+ return function () { return setChildRef(null); };
5569
+ }, []);
5570
+ var _l = useState(true), isOffline = _l[0], setIsOffline = _l[1];
5571
+ return (React.createElement(React.Fragment, null,
5572
+ children,
5573
+ childRef ? (React.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.createElement(ItemTooltip, { region: region, jobstyleOverride: jobstyleOverride, data: data, offline: isOffline, client: client, showUpgrade: showUpgrade, debug: debug }), theme: "grade" + data.grade, reference: childRef })) : (React.createElement("span", { "data-testid": "TooltipWrapper", ref: spanRef, style: { display: "none" } }))));
5574
+ };
5575
+
5576
+ function ItemWithText(_a) {
5577
+ var _this = this;
5578
+ var _b, _c;
5579
+ 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;
5580
+ var _e = useState(), item = _e[0], setItem = _e[1];
5581
+ useEffect(function () {
5582
+ if (itemProp == null) {
5583
+ (function () { return __awaiter(_this, void 0, void 0, function () {
5584
+ var _a;
5585
+ return __generator(this, function (_b) {
5586
+ switch (_b.label) {
5587
+ case 0:
5588
+ _a = setItem;
5589
+ return [4 /*yield*/, client.GetItem(itemId, itemLevel)];
5590
+ case 1:
5591
+ _a.apply(void 0, [_b.sent()]);
5592
+ return [2 /*return*/];
5593
+ }
5594
+ });
5595
+ }); })();
5596
+ }
5597
+ else {
5598
+ setItem(itemProp);
5599
+ }
5600
+ }, [itemProp, itemId, itemLevel]);
5601
+ if (item == null)
5602
+ return null;
5603
+ return (React.createElement("div", { className: "ItemImproveTooltip_ItemWithText" },
5604
+ tooltip ?
5605
+ React.createElement(ItemTooltipWrapper, { data: item, client: client, region: region },
5606
+ React.createElement("div", { className: "ItemImproveTooltip_ItemWithText_iconPad " + borderClass },
5607
+ React.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) })))
5608
+ :
5609
+ React.createElement("div", { className: "ItemImproveTooltip_ItemWithText_iconPad " + borderClass },
5610
+ React.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) })),
5611
+ React.createElement("div", { dangerouslySetInnerHTML: { __html: item.name }, className: "TooltipBase_grade-" + item.grade + " ItemImproveTooltip_ItemWithText_name" })));
5612
+ }
5613
+
5614
+ var css_248z$7 = "";
5615
+ styleInject(css_248z$7);
5616
+
5617
+ var css_248z$6 = ".ItemImproveEffectsTooltip_entry {\n padding: 0.1rem 0 0 .5rem; }\n";
5618
+ styleInject(css_248z$6);
5619
+
5620
+ function ItemImproveEffectsTooltip(_a) {
5621
+ var effectsForName = _a.effectsForName;
5622
+ var tooltipBaseProps = {
5623
+ title: "Upgrade Effects",
5624
+ grade: 3,
5625
+ id: "item_upgrade_info",
5626
+ icon: "",
5627
+ subtitle: "Info",
5628
+ mainInfos: [],
5629
+ subInfoGroups: [],
5630
+ fullHeight: false
5631
+ };
5632
+ tooltipBaseProps.mainInfos.push(React.createElement("div", null, "Random effects can be obtained when upgrading."));
5633
+ effectsForName.forEach(function (itemName) {
5634
+ var subGroupTexts = [];
5635
+ itemName.effects.forEach(function (effect) {
5636
+ if (effect.isEffect) {
5637
+ subGroupTexts.push(React.createElement("div", { className: "ItemImproveEffectsTooltip_entry", dangerouslySetInnerHTML: { __html: effect.effectDescription } }));
5638
+ }
5639
+ else {
5640
+ subGroupTexts.push(React.createElement("div", { className: "ItemImproveEffectsTooltip_entry 00008130.UI.Label_Green03_12" },
5641
+ React.createElement("span", null, effect.statValue),
5642
+ "\u00A0",
5643
+ React.createElement("span", { dangerouslySetInnerHTML: { __html: effect.statName } })));
5644
+ }
5645
+ });
5646
+ var subGroup = {
5647
+ title: itemName.name,
5648
+ texts: subGroupTexts
5649
+ };
5650
+ tooltipBaseProps.subInfoGroups.push(subGroup);
5651
+ });
5652
+ return (React.createElement(TooltipBase, __assign({}, tooltipBaseProps)));
5653
+ }
5654
+
5655
+ var ItemImproveEffectsTooltipWrapper = function (_a) {
5656
+ 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;
5657
+ var spanRef = useRef(null);
5658
+ var _g = useState(null), childRef = _g[0], setChildRef = _g[1];
5659
+ /**
5660
+ * Mount the temporary span element.
5661
+ * retrieve and store the target element's reference.
5662
+ */
5663
+ useEffect(function () {
5664
+ if (spanRef.current) {
5665
+ setChildRef(spanRef.current.previousElementSibling);
5666
+ }
5667
+ return function () { return setChildRef(null); };
5668
+ }, []);
5669
+ return (React.createElement(React.Fragment, null,
5670
+ children,
5671
+ childRef ? (React.createElement(Tippy, { arrow: showArrow, trigger: trigger, plugins: [followCursor], followCursor: followCursor$1 && !interactive, appendTo: document.body, placement: placement, animation: "fade", interactive: interactive, content: React.createElement(ItemImproveEffectsTooltip, { effectsForName: effectsForName }), theme: "grade" + 3, reference: childRef })) : (React.createElement("span", { "data-testid": "TooltipWrapper", ref: spanRef, style: { display: "none" } }))));
5672
+ };
5673
+
5674
+ function PrevCurNext(_a) {
5675
+ 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;
5676
+ return (React.createElement("div", { className: "ItemImproveTooltip_PrevCurNext" },
5677
+ React.createElement("div", { className: "ItemImproveTooltip_PrevCurNext_container" },
5678
+ React.createElement("div", { className: "ItemImproveTooltip_PrevCurNext_container_itemChild" }, prevItem != null ?
5679
+ React.createElement(ItemWithText, { tooltip: true, small: true, item: prevItem, client: client, region: region })
5680
+ : null),
5681
+ React.createElement("div", { className: "ItemImproveTooltip_PrevCurNext_container_arrowChild" }, prevItem != null ?
5682
+ React.createElement("div", null,
5683
+ React.createElement("div", { className: "ItemImproveTooltip_PrevCurNext_container_arrowChild_arrowButton", onClick: function () {
5684
+ if (prevItem.itemImprove != null)
5685
+ NavigateTo(prevItem);
5686
+ } },
5687
+ React.createElement("span", { style: { fontSize: 32 }, className: "TooltipBase_downgradeBlue material-symbols-outlined" }, "keyboard_arrow_down")))
5688
+ : null),
5689
+ React.createElement("div", { className: "ItemImproveTooltip_PrevCurNext_container_itemChild" },
5690
+ React.createElement(ItemWithText, { tooltip: true, borderClass: "TooltipBase_border-grade-4", item: item, client: client, region: region })),
5691
+ React.createElement("div", { className: "ItemImproveTooltip_PrevCurNext_container_arrowChild" }, nextItem != null ?
5692
+ React.createElement("div", { style: { display: "flex" } },
5693
+ React.createElement("div", { className: "ItemImproveTooltip_PrevCurNext_container_arrowChild_arrowButton", onClick: function () {
5694
+ if (nextItem.itemImprove != null)
5695
+ NavigateTo(nextItem);
5696
+ } },
5697
+ React.createElement("span", { style: { fontSize: 32 }, className: "TooltipBase_upgradeRed material-symbols-outlined" }, "keyboard_arrow_up")),
5698
+ GetUpgradeEffects(item, steps, nextItem).length > 0
5699
+ ?
5700
+ React.createElement("div", { style: { cursor: "default" } },
5701
+ React.createElement(ItemImproveEffectsTooltipWrapper, { effectsForName: GetUpgradeEffects(item, steps, nextItem) },
5702
+ React.createElement("span", { style: { fontSize: 16 }, className: "00008130.UI.Label_Green03_12 material-symbols-outlined" }, "help")))
5703
+ : null)
5704
+ : null),
5705
+ React.createElement("div", { className: "ItemImproveTooltip_PrevCurNext_container_itemChild" }, nextItem != null ?
5706
+ React.createElement("div", { className: "ItemImproveTooltip_PrevCurNext_container_itemChildExtra_container" },
5707
+ React.createElement(ItemWithText, { tooltip: true, small: true, item: nextItem, client: client, region: region }))
5708
+ : null))));
5709
+ }
5710
+ function GetUpgradeEffects(item, steps, nextItem) {
5711
+ var result = [];
5712
+ if (steps == null || steps.length == 0) {
5713
+ if (nextItem == null)
5714
+ return result;
5715
+ if (item.itemImprove != null && item.itemImprove.bonusEffectOptions != null && item.itemImprove.bonusEffectOptions.length > 0) {
5716
+ result.push({
5717
+ name: nextItem.name,
5718
+ effects: item.itemImprove.bonusEffectOptions
5719
+ });
5720
+ }
5721
+ }
5722
+ else {
5723
+ if (item.itemImprove != null && item.itemImprove.bonusEffectOptions != null && item.itemImprove.bonusEffectOptions.length > 0) {
5724
+ result.push({
5725
+ name: steps[0].name,
5726
+ effects: item.itemImprove.bonusEffectOptions
5727
+ });
5728
+ }
5729
+ steps.forEach(function (stepItem, i, list) {
5730
+ if (stepItem.itemImprove != null && stepItem.itemImprove.bonusEffectOptions != null && stepItem.itemImprove.bonusEffectOptions.length > 0) {
5731
+ var name = "";
5732
+ if (i == list.length - 1) {
5733
+ name = nextItem.name;
5734
+ }
5735
+ else {
5736
+ name = list[i + 1].name;
5737
+ }
5738
+ result.push({
5739
+ name: name,
5740
+ effects: stepItem.itemImprove.bonusEffectOptions
5741
+ });
5742
+ }
5743
+ });
5744
+ }
5745
+ return result;
5746
+ }
5747
+
5748
+ function Money(_a) {
5749
+ var money = _a.money, _b = _a.center, center = _b === void 0 ? false : _b;
5750
+ var bnsmoney = getMoneyObj(money);
5751
+ if (bnsmoney == null)
5752
+ return null;
5753
+ return (React.createElement("div", { className: "NpcTooltip_moneyContainer " + (center ? "NpcTooltip_moneyContainer_center" : "") },
5754
+ bnsmoney.Gold > 0 ? (React.createElement("span", null,
5755
+ bnsmoney.Gold,
5756
+ React.createElement("img", { src: BuildIconPath("gold"), alt: "" }))) : null,
5757
+ bnsmoney.Silver > 0 ? (React.createElement("span", null,
5758
+ bnsmoney.Silver,
5759
+ React.createElement("img", { src: BuildIconPath("silver"), alt: "" }))) : null,
5760
+ bnsmoney.Copper > 0 ? (React.createElement("span", null,
5761
+ bnsmoney.Copper,
5762
+ React.createElement("img", { src: BuildIconPath("copper"), alt: "" }))) : null));
5763
+ }
5764
+
5765
+ function MainCostSelector(_a) {
5766
+ var options = _a.options, client = _a.client, region = _a.region, selectOption = _a.selectOption, selectedOption = _a.selectedOption;
5767
+ return (React.createElement("div", { className: "MainCostSelector" }, options.map(function (option, i) {
5768
+ return (React.createElement(React.Fragment, { key: i },
5769
+ React.createElement("div", { className: "MainCostSelector_container" },
5770
+ React.createElement("div", { onClick: function () {
5771
+ selectOption(i);
5772
+ } },
5773
+ React.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 })),
5774
+ React.createElement("div", null,
5775
+ React.createElement("span", null,
5776
+ "x",
5777
+ option.mainItemCost.max))),
5778
+ i < options.length - 1 ? React.createElement("div", { className: "MainCostSelector_or" }, "or") : null));
5779
+ })));
5780
+ }
5781
+
5782
+ function SubCosts(_a) {
5783
+ var options = _a.options, client = _a.client, region = _a.region, selectedOption = _a.selectedOption;
5784
+ if (options[selectedOption].subItemCost == null || options[selectedOption].subItemCost.length == 0)
5785
+ return null;
5786
+ return (React.createElement("div", { className: "SubCostSelector" }, options[selectedOption].subItemCost.map(function (subItem, i) {
5787
+ return (React.createElement(React.Fragment, { key: i },
5788
+ React.createElement("div", { className: "MainCostSelector_container" },
5789
+ React.createElement("div", null,
5790
+ React.createElement(ItemWithText, { tooltip: false, small: true, itemId: subItem.itemId, item: null, itemLevel: subItem.itemLevel, client: client, region: region })),
5791
+ React.createElement("div", null,
5792
+ React.createElement("span", null,
5793
+ "x",
5794
+ subItem.max))),
5795
+ i < options[selectedOption].subItemCost.length - 1 ? React.createElement("div", { className: "MainCostSelector_or" }, "and") : null));
5796
+ })));
5797
+ }
5798
+
5799
+ function ItemImproveUpgradeCost(_a) {
5800
+ var item = _a.item, nextItem = _a.nextItem, steps = _a.steps, client = _a.client, region = _a.region;
5801
+ var _b = useState([]), accumulatedCost = _b[0], setAccumulatedCost = _b[1];
5802
+ var _c = useState(0), selectedOption = _c[0], setSelectedOption = _c[1];
5803
+ useEffect(function () {
5804
+ setAccumulatedCost(GetAccumulatedUpgradeCost(item, steps));
5805
+ }, [item, nextItem, steps]);
5806
+ function selectOption(option) {
5807
+ setSelectedOption(option);
5808
+ }
5809
+ if (accumulatedCost == null || accumulatedCost.length == 0)
5810
+ return null;
5811
+ return (React.createElement("div", { className: "ItemImproveUpgradeCost" },
5812
+ React.createElement("div", { className: "ItemImproveUpgradeCost_title 00008130.UI.Label_LightYellow_12" }, "Upgrade Cost"),
5813
+ React.createElement(MainCostSelector, { options: accumulatedCost, client: client, region: region, selectOption: selectOption, selectedOption: selectedOption }),
5814
+ React.createElement(SubCosts, { options: accumulatedCost, client: client, region: region, selectedOption: selectedOption }),
5815
+ React.createElement(Money, { center: true, money: accumulatedCost[selectedOption].moneyCost })));
5816
+ }
5817
+ function GetAccumulatedUpgradeCost(item, steps) {
5818
+ var result = [];
5819
+ if (steps == null || steps.length == 0) {
5820
+ result = item.itemImprove.upgradeOptions;
5821
+ }
5822
+ else {
5823
+ var mainCost = item.itemImprove.upgradeOptions[0].mainItemCost;
5824
+ var subCosts = item.itemImprove.upgradeOptions[0].subItemCost;
5825
+ var moneyCost = item.itemImprove.upgradeOptions[0].moneyCost;
5826
+ steps.forEach(function (step) {
5827
+ var option0 = step.itemImprove.upgradeOptions[0];
5828
+ if (mainCost.itemId == option0.mainItemCost.itemId && mainCost.itemLevel == option0.mainItemCost.itemLevel) {
5829
+ mainCost.min += option0.mainItemCost.min;
5830
+ mainCost.max += option0.mainItemCost.max;
5831
+ }
5832
+ else {
5833
+ var foundIndex = subCosts.findIndex(function (x) { return x.itemId == mainCost.itemId && x.itemLevel == mainCost.itemLevel; });
5834
+ if (foundIndex > -1) {
5835
+ subCosts[foundIndex].min += mainCost.min;
5836
+ subCosts[foundIndex].max += mainCost.max;
5837
+ }
5838
+ else {
5839
+ subCosts.push(mainCost);
5840
+ }
5841
+ mainCost = option0.mainItemCost;
5842
+ }
5843
+ moneyCost += option0.moneyCost;
5844
+ option0.subItemCost.forEach(function (subItem) {
5845
+ var foundIndex = subCosts.findIndex(function (x) { return x.itemId == subItem.itemId && x.itemLevel == subItem.itemLevel; });
5846
+ if (foundIndex > -1) {
5847
+ subCosts[foundIndex].min += subItem.min;
5848
+ subCosts[foundIndex].max += subItem.max;
5849
+ }
5850
+ else {
5851
+ subCosts.push(subItem);
5852
+ }
5853
+ });
5854
+ });
5855
+ result.push({
5856
+ isRandom: item.itemImprove.upgradeOptions[0].isRandom,
5857
+ mainItemCost: mainCost,
5858
+ subItemCost: subCosts,
5859
+ moneyCost: moneyCost
5860
+ });
5861
+ }
5862
+ return result;
5863
+ }
5864
+
5865
+ function ItemImproveTooltip(_a) {
5866
+ var _this = this;
5867
+ 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;
5868
+ var _e = useState(), client = _e[0], setClient = _e[1];
5869
+ var _f = useState(), data = _f[0], setData = _f[1];
5870
+ var _g = useState(), nextData = _g[0], setNextData = _g[1];
5871
+ var _h = useState(), prevItem = _h[0], setPrevItem = _h[1];
5872
+ var _j = useState(), nextItem = _j[0], setNextItem = _j[1];
5873
+ var _k = useState([]), steps = _k[0], setSteps = _k[1];
5874
+ var _l = useState([]), allPossibleUpgrades = _l[0], setAllPossibleUpgrades = _l[1];
5875
+ useEffect(function () {
5876
+ if (data == null || client == null)
5877
+ return;
5878
+ (function () { return __awaiter(_this, void 0, void 0, function () {
5879
+ var existing, _a, existing, _b, foundIndex, _c;
5880
+ return __generator(this, function (_d) {
5881
+ switch (_d.label) {
5882
+ case 0:
5883
+ if (!(data.itemImprove.itemPrev != null)) return [3 /*break*/, 4];
5884
+ 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];
5885
+ existing = allPossibleUpgrades.find(function (x) { return x.id === data.itemImprove.itemPrev.itemId && x.level === data.itemImprove.itemPrev.itemLevel; });
5886
+ setPrevItem(existing);
5887
+ return [3 /*break*/, 3];
5888
+ case 1:
5889
+ _a = setPrevItem;
5890
+ return [4 /*yield*/, client.GetItem(data.itemImprove.itemPrev.itemId, data.itemImprove.itemPrev.itemLevel)];
5891
+ case 2:
5892
+ _a.apply(void 0, [_d.sent()]);
5893
+ _d.label = 3;
5894
+ case 3: return [3 /*break*/, 5];
5895
+ case 4:
5896
+ setPrevItem(undefined);
5897
+ _d.label = 5;
5898
+ case 5:
5899
+ if (!(data.itemImprove.itemNext != null)) return [3 /*break*/, 9];
5900
+ 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];
5901
+ existing = allPossibleUpgrades.find(function (x) { return x.id === data.itemImprove.itemNext.itemId && x.level === data.itemImprove.itemNext.itemLevel; });
5902
+ setNextItem(existing);
5903
+ return [3 /*break*/, 8];
5904
+ case 6:
5905
+ _b = setNextItem;
5906
+ return [4 /*yield*/, client.GetItem(data.itemImprove.itemNext.itemId, data.itemImprove.itemNext.itemLevel)];
5907
+ case 7:
5908
+ _b.apply(void 0, [_d.sent()]);
5909
+ _d.label = 8;
5910
+ case 8: return [3 /*break*/, 10];
5911
+ case 9:
5912
+ setNextItem(undefined);
5913
+ _d.label = 10;
5914
+ case 10:
5915
+ setSteps([]);
5916
+ if (!(allPossibleUpgrades != null && allPossibleUpgrades.find(function (x) { return x.id === data.id && x.level === data.level; }) != null)) return [3 /*break*/, 11];
5917
+ foundIndex = allPossibleUpgrades.findIndex(function (x) { return x.id === data.id && x.level === data.level; });
5918
+ setAllPossibleUpgrades(allPossibleUpgrades.slice(foundIndex + 1));
5919
+ return [3 /*break*/, 13];
5920
+ case 11:
5921
+ _c = setAllPossibleUpgrades;
5922
+ return [4 /*yield*/, GetAllNextStages(data, client)];
5923
+ case 12:
5924
+ _c.apply(void 0, [_d.sent()]);
5925
+ _d.label = 13;
5926
+ case 13: return [2 /*return*/];
5927
+ }
5928
+ });
5929
+ }); })();
5930
+ }, [data, client, region]);
5931
+ function SetCustomStage(nextStage) {
5932
+ setSteps(GetStepsInBetween(nextStage, allPossibleUpgrades));
5933
+ setNextItem(nextStage);
5934
+ }
5935
+ useEffect(function () {
5936
+ setData(dataProp);
5937
+ }, [dataProp]);
5938
+ useEffect(function () {
5939
+ if (offline)
5940
+ return;
5941
+ if (clientProp == undefined) {
5942
+ (function () { return __awaiter(_this, void 0, void 0, function () {
5943
+ return __generator(this, function (_a) {
5944
+ setClient(new ItemDownloadClient(region));
5945
+ return [2 /*return*/];
5946
+ });
5947
+ }); })();
5948
+ }
5949
+ else {
5950
+ setClient(clientProp);
5951
+ }
5952
+ }, [offline]);
5953
+ useEffect(function () {
5954
+ if (data == null && nextData != null) {
5955
+ if (debug) {
5956
+ console.log(nextData);
5957
+ }
5958
+ setData(nextData);
5959
+ setNextData(null);
5960
+ }
5961
+ }, [data]);
5962
+ if (data == null)
5963
+ return null;
5964
+ function NavigateTo(itemData) {
5965
+ if (itemData != null) {
5966
+ setNextData(itemData);
5967
+ setData(null);
5968
+ }
5969
+ }
5970
+ var tooltipBaseProps = {
5971
+ title: "Item Upgrade",
5972
+ grade: data.grade,
5973
+ id: "item_upgrade_info",
5974
+ icon: "",
5975
+ subtitle: "Info",
5976
+ mainInfos: [],
5977
+ subInfoGroups: [],
5978
+ fullHeight: fullHeight,
5979
+ widthOverride: "600px"
5980
+ };
5981
+ if (debug) {
5982
+ tooltipBaseProps.subtitle = data.name;
5983
+ }
5984
+ AddPrevCurNext(tooltipBaseProps.subInfoGroups, data, nextItem, prevItem, steps, allPossibleUpgrades, SetCustomStage, NavigateTo, client, region);
5985
+ AddUpgradeCost(tooltipBaseProps.subInfoGroups, data, nextItem, steps, client, region);
5986
+ return (React.createElement(TooltipBase, __assign({}, tooltipBaseProps)));
5987
+ }
5988
+ function AddPrevCurNext(subInfoGroups, item, nextItem, prevItem, steps, allPossibleUpgrades, SetCustomStage, NavigateTo, client, region) {
5989
+ if (item.itemImprove == null)
5990
+ return;
5991
+ subInfoGroups.push({
5992
+ title: "",
5993
+ texts: [React.createElement(PrevCurNext, { item: item, nextItem: nextItem, prevItem: prevItem, steps: steps, allPossibleUpgrades: allPossibleUpgrades, SetCustomStage: SetCustomStage, NavigateTo: NavigateTo, client: client, region: region })]
5994
+ });
5995
+ }
5996
+ function GetStepsInBetween(nextStage, allPossibleUpgrades) {
5997
+ var maxIndex = allPossibleUpgrades.findIndex(function (x) { return x == nextStage; });
5998
+ var result = [];
5999
+ for (var index = 0; index < maxIndex; index++) {
6000
+ var element = allPossibleUpgrades[index];
6001
+ result.push(element);
6002
+ }
6003
+ return result;
6004
+ }
6005
+ function GetAllNextStages(item, client) {
6006
+ return __awaiter(this, void 0, void 0, function () {
6007
+ return __generator(this, function (_a) {
6008
+ switch (_a.label) {
6009
+ case 0: return [4 /*yield*/, client.GetItemUpgrades(item)];
6010
+ case 1: return [2 /*return*/, _a.sent()];
6011
+ }
6012
+ });
6013
+ });
6014
+ }
6015
+ function AddUpgradeCost(subInfoGroups, item, nextItem, steps, client, region) {
6016
+ if (item.itemImprove == null)
6017
+ return;
6018
+ subInfoGroups.push({
6019
+ title: "",
6020
+ texts: [
6021
+ React.createElement(ItemImproveUpgradeCost, { item: item, nextItem: nextItem, steps: steps, client: client, region: region })
6022
+ ]
6023
+ });
6024
+ }
6025
+
6026
+ var ItemImproveTooltipWrapper = function (_a) {
6027
+ 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;
6028
+ var spanRef = useRef(null);
6029
+ var _j = useState(null), childRef = _j[0], setChildRef = _j[1];
6030
+ /**
6031
+ * Mount the temporary span element.
6032
+ * retrieve and store the target element's reference.
6033
+ */
6034
+ useEffect(function () {
6035
+ if (spanRef.current) {
6036
+ setChildRef(spanRef.current.previousElementSibling);
6037
+ }
6038
+ return function () { return setChildRef(null); };
6039
+ }, []);
6040
+ var _k = useState(true), isOffline = _k[0], setIsOffline = _k[1];
6041
+ return (React.createElement(React.Fragment, null,
6042
+ children,
6043
+ childRef ? (React.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.createElement(ItemImproveTooltip, { region: region, data: data, offline: isOffline, client: client, debug: debug }), theme: "grade" + data.grade, reference: childRef })) : (React.createElement("span", { "data-testid": "TooltipWrapper", ref: spanRef, style: { display: "none" } }))));
6044
+ };
5452
6045
 
5453
6046
  function ItemMainInfo(item) {
5454
6047
  if (item.mainInfo != null)
@@ -5650,35 +6243,16 @@ function SetBonus(props) {
5650
6243
  React.createElement(SkillModifiers, { jobstyle: jobstyle, isSetBonus: true, skillModifierGroups: setStage.skillModifiers })))); })))));
5651
6244
  }
5652
6245
 
5653
- 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";
5654
- styleInject(css_248z$4);
5655
-
5656
- var ItemTooltipWrapper = function (_a) {
5657
- 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;
5658
- var spanRef = useRef(null);
5659
- var _k = useState(null), childRef = _k[0], setChildRef = _k[1];
5660
- /**
5661
- * Mount the temporary span element.
5662
- * retrieve and store the target element's reference.
5663
- */
5664
- useEffect(function () {
5665
- if (spanRef.current) {
5666
- setChildRef(spanRef.current.previousElementSibling);
5667
- }
5668
- return function () { return setChildRef(null); };
5669
- }, []);
5670
- var _l = useState(true), isOffline = _l[0], setIsOffline = _l[1];
5671
- return (React.createElement(React.Fragment, null,
5672
- children,
5673
- childRef ? (React.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.createElement(ItemTooltip, { region: region, jobstyleOverride: jobstyleOverride, data: data, offline: isOffline, client: client, showUpgrade: showUpgrade, debug: debug }), theme: "grade" + data.grade, reference: childRef })) : (React.createElement("span", { "data-testid": "TooltipWrapper", ref: spanRef, style: { display: "none" } }))));
5674
- };
5675
-
5676
6246
  function ItemIconNameDiv(_a) {
5677
6247
  var _this = this;
5678
- var _b;
5679
- 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;
5680
- var _d = useState(), itemData = _d[0], setItemData = _d[1];
6248
+ var _b, _c;
6249
+ 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;
6250
+ var _g = useState(), itemData = _g[0], setItemData = _g[1];
5681
6251
  useEffect(function () {
6252
+ if (itemDataProp != null && item == null) {
6253
+ setItemData(itemDataProp);
6254
+ return;
6255
+ }
5682
6256
  if (client)
5683
6257
  (function () { return __awaiter(_this, void 0, void 0, function () {
5684
6258
  var _a;
@@ -5693,12 +6267,15 @@ function ItemIconNameDiv(_a) {
5693
6267
  }
5694
6268
  });
5695
6269
  }); })();
5696
- }, [item, client]);
6270
+ }, [item, client, itemDataProp]);
5697
6271
  if (itemData) {
5698
6272
  if (itemData.grade != 0)
5699
6273
  return (React.createElement("div", { className: "ItemTooltip_itemiconnamediv" },
5700
- React.createElement(ItemTooltipWrapper, { showUpgrade: showUpgrade, region: region, client: client, data: itemData, trigger: trigger, interactive: interactive },
5701
- React.createElement("img", { className: "ItemTooltip_itemIconSmall", alt: "", src: BuildIconPath((_b = itemData.icon) === null || _b === void 0 ? void 0 : _b.iconPath) })),
6274
+ tooltip ?
6275
+ React.createElement(ItemTooltipWrapper, { showUpgrade: showUpgrade, region: region, client: client, data: itemData, trigger: trigger, interactive: interactive },
6276
+ React.createElement("img", { className: "ItemTooltip_itemIconSmall", alt: "", src: BuildIconPath((_b = itemData.icon) === null || _b === void 0 ? void 0 : _b.iconPath) }))
6277
+ :
6278
+ React.createElement("img", { className: "ItemTooltip_itemIconSmall", alt: "", src: BuildIconPath((_c = itemData.icon) === null || _c === void 0 ? void 0 : _c.iconPath) }),
5702
6279
  React.createElement("div", { className: "ItemTooltip_itemNameRandomDiv" },
5703
6280
  React.createElement("span", { className: "TooltipBase_grade-" + itemData.grade, dangerouslySetInnerHTML: { __html: itemData.name } }),
5704
6281
  showRandomIcon ? (React.createElement(React.Fragment, null,
@@ -5797,142 +6374,6 @@ function AccountTransfer(_a) {
5797
6374
  "\u00A0copper")) : null));
5798
6375
  }
5799
6376
 
5800
- function Money(_a) {
5801
- var money = _a.money;
5802
- var bnsmoney = getMoneyObj(money);
5803
- if (bnsmoney == null)
5804
- return null;
5805
- return (React.createElement("div", { className: "NpcTooltip_moneyContainer" },
5806
- bnsmoney.Gold > 0 ? (React.createElement("span", null,
5807
- bnsmoney.Gold,
5808
- React.createElement("img", { src: BuildIconPath("gold"), alt: "" }))) : null,
5809
- bnsmoney.Silver > 0 ? (React.createElement("span", null,
5810
- bnsmoney.Silver,
5811
- React.createElement("img", { src: BuildIconPath("silver"), alt: "" }))) : null,
5812
- bnsmoney.Copper > 0 ? (React.createElement("span", null,
5813
- bnsmoney.Copper,
5814
- React.createElement("img", { src: BuildIconPath("copper"), alt: "" }))) : null));
5815
- }
5816
-
5817
- function ItemImproveTooltip(_a) {
5818
- var _this = this;
5819
- 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;
5820
- var _e = useState(), client = _e[0], setClient = _e[1];
5821
- useEffect(function () {
5822
- if (offline)
5823
- return;
5824
- if (clientProp == undefined) {
5825
- (function () { return __awaiter(_this, void 0, void 0, function () {
5826
- return __generator(this, function (_a) {
5827
- setClient(new ItemDownloadClient(region));
5828
- return [2 /*return*/];
5829
- });
5830
- }); })();
5831
- }
5832
- else {
5833
- setClient(clientProp);
5834
- }
5835
- }, [offline]);
5836
- var tooltipBaseProps = {
5837
- title: "Item Upgrade",
5838
- grade: 4,
5839
- id: "item_upgrade_info",
5840
- icon: "",
5841
- subtitle: "Info",
5842
- mainInfos: [],
5843
- subInfoGroups: [],
5844
- fullHeight: fullHeight,
5845
- };
5846
- if (!offline) {
5847
- if (data.itemNext != null && data.upgradeOptions != null && data.upgradeOptions.length > 0) {
5848
- if (data.useMileageSave != null && data.useMileageSave === true && data.upgradeOptions.find(function (x) { return x.isRandom; }) != null)
5849
- tooltipBaseProps.mainInfos.push(React.createElement("div", null, "The upgrade chance is 100% when the pity meter is filled."));
5850
- // if (data.itemPrev != null) {
5851
- // tooltipBaseProps.subInfoGroups.push({
5852
- // title: "Previous Upgrade:",
5853
- // texts: [
5854
- // <ItemIconNameDiv showUpgrade={true} client={client} region={region} item={data.itemPrev} interactive={true} />
5855
- // ]
5856
- // });
5857
- // }
5858
- tooltipBaseProps.subInfoGroups.push({
5859
- title: "Next Upgrade:",
5860
- texts: [
5861
- React.createElement(ItemIconNameDiv, { showUpgrade: true, client: client, region: region, item: data.itemNext, interactive: true })
5862
- ]
5863
- });
5864
- data.upgradeOptions.forEach(function (upgradeOption, i, _) {
5865
- var costGroup = {
5866
- title: "Upgrade option " + (i + 1) + ":",
5867
- texts: []
5868
- };
5869
- if (upgradeOption.isRandom != null && upgradeOption.isRandom === true) {
5870
- costGroup.texts.push(React.createElement("div", { className: "TooltipBase_flex ItemImproveTooltip_moneyContainer" },
5871
- React.createElement("span", { className: "TooltipBase_grade-8" }, "This option has a chance to fail!")));
5872
- }
5873
- if (upgradeOption.mainItemCost != null)
5874
- var mainItems;
5875
- mainItems.push(upgradeOption.mainItemCost);
5876
- costGroup.texts.push(React.createElement(DecomposeResults, { client: client, region: region, showUpgrade: false, items: mainItems }));
5877
- if (upgradeOption.subItemCost != null && upgradeOption.subItemCost.length > 0) {
5878
- costGroup.texts.push(React.createElement(DecomposeResults, { client: client, region: region, showUpgrade: false, items: upgradeOption.subItemCost }));
5879
- }
5880
- if (upgradeOption.moneyCost != null && upgradeOption.moneyCost > 0) {
5881
- costGroup.texts.push(React.createElement("div", { className: "TooltipBase_flex ItemImproveTooltip_moneyContainer" },
5882
- React.createElement("span", { className: "TooltipBase_grade-6" }, "Money:\u00A0"),
5883
- React.createElement(Money, { money: upgradeOption.moneyCost })));
5884
- }
5885
- tooltipBaseProps.subInfoGroups.push(costGroup);
5886
- });
5887
- }
5888
- }
5889
- if (data.bonusEffectOptions != null && data.bonusEffectOptions.length > 0) {
5890
- tooltipBaseProps.mainInfos.push(React.createElement("div", null, "Random effects can be obtained when upgrading."));
5891
- var subInfoGroupStats_1 = {
5892
- title: "Possible Stats:",
5893
- texts: []
5894
- };
5895
- var subInfoGroupEffects_1 = {
5896
- title: "Possible Effects:",
5897
- texts: []
5898
- };
5899
- data.bonusEffectOptions.forEach(function (option) {
5900
- if (option.isEffect) {
5901
- subInfoGroupEffects_1.texts.push(React.createElement("div", { className: "ItemImproveTooltip_option", dangerouslySetInnerHTML: { __html: option.effectDescription } }));
5902
- }
5903
- else {
5904
- subInfoGroupStats_1.texts.push(React.createElement("div", { className: "ItemImproveTooltip_option 00008130.Program.Fontset_Chatting_Color_19" },
5905
- option.statValue,
5906
- "\u00A0",
5907
- React.createElement("span", { dangerouslySetInnerHTML: { __html: option.statName } })));
5908
- }
5909
- });
5910
- tooltipBaseProps.subInfoGroups.push(subInfoGroupStats_1);
5911
- tooltipBaseProps.subInfoGroups.push(subInfoGroupEffects_1);
5912
- }
5913
- return (React.createElement(TooltipBase, __assign({}, tooltipBaseProps)));
5914
- }
5915
-
5916
- var ItemImproveTooltipWrapper = function (_a) {
5917
- 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;
5918
- var spanRef = useRef(null);
5919
- var _j = useState(null), childRef = _j[0], setChildRef = _j[1];
5920
- /**
5921
- * Mount the temporary span element.
5922
- * retrieve and store the target element's reference.
5923
- */
5924
- useEffect(function () {
5925
- if (spanRef.current) {
5926
- setChildRef(spanRef.current.previousElementSibling);
5927
- }
5928
- return function () { return setChildRef(null); };
5929
- }, []);
5930
- var _k = useState(true), isOffline = _k[0], setIsOffline = _k[1];
5931
- return (React.createElement(React.Fragment, null,
5932
- children,
5933
- childRef ? (React.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.createElement(ItemImproveTooltip, { region: region, data: data, offline: isOffline, client: client, debug: debug }), theme: "grade4", reference: childRef })) : (React.createElement("span", { "data-testid": "TooltipWrapper", ref: spanRef, style: { display: "none" } }))));
5934
- };
5935
-
5936
6377
  function ItemTooltip(_a) {
5937
6378
  var _this = this;
5938
6379
  var _b, _c, _d;
@@ -6011,10 +6452,10 @@ function ItemTooltip(_a) {
6011
6452
  AddJobstyleToggles(setHasSkillModifiers, tooltipBaseProps.subInfoGroups, jobstyles, jobstyle, setJobstyle);
6012
6453
  AddTopText(tooltipBaseProps.subInfoGroups, item);
6013
6454
  AddSkillDescriptions(tooltipBaseProps.subInfoGroups, item, itemCombats, jobstyle);
6014
- if (showUpgrade)
6015
- AddItemImprove(tooltipBaseProps.subInfoGroups, item, region, client, offline, debug);
6016
6455
  AddSkillModifiers(tooltipBaseProps.subInfoGroups, item, false, jobstyle);
6017
6456
  AddSetBonus(tooltipBaseProps.subInfoGroups, item, jobstyle);
6457
+ if (showUpgrade)
6458
+ AddItemImprove(tooltipBaseProps.subInfoGroups, item, region, client, offline, debug);
6018
6459
  if (!offline) {
6019
6460
  AddDecomposeResults(tooltipBaseProps.subInfoGroups, item, client, region);
6020
6461
  }
@@ -6258,15 +6699,15 @@ function AddItemImprove(subInfoGroups, item, region, client, offline, debug) {
6258
6699
  title: "Upgrade Options:",
6259
6700
  texts: [
6260
6701
  React.createElement("div", { className: "ItemTooltip_optionPadding" },
6261
- React.createElement(ItemImproveTooltipWrapper, { data: item.itemImprove, region: region, trigger: "click", interactive: true, offline: offline, client: client, debug: debug },
6702
+ React.createElement(ItemImproveTooltipWrapper, { data: item, region: region, trigger: "click", interactive: true, offline: offline, client: client, debug: debug },
6262
6703
  React.createElement("span", { className: "ItemTooltip_showButton" }, "Click to open")))
6263
6704
  ]
6264
6705
  };
6265
6706
  subInfoGroups.push(subInfoGroup);
6266
6707
  }
6267
6708
 
6268
- var css_248z$3 = "";
6269
- styleInject(css_248z$3);
6709
+ var css_248z$5 = "";
6710
+ styleInject(css_248z$5);
6270
6711
 
6271
6712
  function JsonTooltip(props) {
6272
6713
  var tooltipProps = {
@@ -6302,8 +6743,8 @@ function JsonArrayToJsxArray(stringArray) {
6302
6743
  return jsxArray;
6303
6744
  }
6304
6745
 
6305
- 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";
6306
- styleInject(css_248z$2);
6746
+ 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";
6747
+ styleInject(css_248z$4);
6307
6748
 
6308
6749
  function getButtonIconPath(button) {
6309
6750
  var _a;
@@ -6579,8 +7020,8 @@ function AddIds(subInfoGroups, skill) {
6579
7020
  });
6580
7021
  }
6581
7022
 
6582
- 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";
6583
- styleInject(css_248z$1);
7023
+ 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";
7024
+ styleInject(css_248z$3);
6584
7025
 
6585
7026
  var SkillTooltipWrapper = function (_a) {
6586
7027
  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;
@@ -6608,8 +7049,8 @@ var ServerRegion;
6608
7049
  ServerRegion["KoreaTest"] = "KoreaTest";
6609
7050
  })(ServerRegion || (ServerRegion = {}));
6610
7051
 
6611
- 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";
6612
- styleInject(css_248z);
7052
+ 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";
7053
+ styleInject(css_248z$2);
6613
7054
 
6614
7055
  function StoreToggle(_a) {
6615
7056
  var store = _a.store, isActive = _a.isActive, setActive = _a.setActive;
@@ -6798,5 +7239,57 @@ function AddStores(subInfoGroups, activeTab, client, Stores) {
6798
7239
  });
6799
7240
  }
6800
7241
 
6801
- export { GetCooldownString, ItemImproveTooltip, ItemImproveTooltipWrapper, ItemTooltip, ItemTooltipWrapper, JsonTooltip, NpcTooltip, ServerRegion, SkillTooltip, SkillTooltipWrapper, TooltipBase };
7242
+ var css_248z$1 = ".ItemImproveSelectStageTooltip_item {\n cursor: pointer;\n border: solid 1px transparent; }\n .ItemImproveSelectStageTooltip_item:hover {\n border: solid 1px #ffffff; }\n";
7243
+ styleInject(css_248z$1);
7244
+
7245
+ function ItemImproveSelectStageTooltip(_a) {
7246
+ var items = _a.items, onClick = _a.onClick;
7247
+ var tooltipBaseProps = {
7248
+ title: "",
7249
+ grade: 2,
7250
+ id: "item_upgrade_info",
7251
+ icon: "",
7252
+ subtitle: "",
7253
+ mainInfos: [],
7254
+ subInfoGroups: [],
7255
+ fullHeight: false
7256
+ };
7257
+ var texts = [];
7258
+ items.forEach(function (item) {
7259
+ texts.push(React.createElement("div", { className: "ItemImproveSelectStageTooltip_item", onClick: function () {
7260
+ if (onClick != undefined)
7261
+ onClick(item);
7262
+ } },
7263
+ React.createElement(ItemIconNameDiv, { itemData: item, client: null, region: null, showUpgrade: false, item: null, tooltip: false })));
7264
+ });
7265
+ tooltipBaseProps.subInfoGroups.push({
7266
+ title: "",
7267
+ texts: texts
7268
+ });
7269
+ return (React.createElement(TooltipBase, __assign({}, tooltipBaseProps)));
7270
+ }
7271
+
7272
+ var css_248z = "";
7273
+ styleInject(css_248z);
7274
+
7275
+ var ItemImproveSelectStageTooltipWrapper = function (_a) {
7276
+ 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;
7277
+ var spanRef = useRef(null);
7278
+ var _g = useState(null), childRef = _g[0], setChildRef = _g[1];
7279
+ /**
7280
+ * Mount the temporary span element.
7281
+ * retrieve and store the target element's reference.
7282
+ */
7283
+ useEffect(function () {
7284
+ if (spanRef.current) {
7285
+ setChildRef(spanRef.current.previousElementSibling);
7286
+ }
7287
+ return function () { return setChildRef(null); };
7288
+ }, []);
7289
+ return (React.createElement(React.Fragment, null,
7290
+ children,
7291
+ childRef ? (React.createElement(Tippy, { arrow: showArrow, trigger: trigger, plugins: [followCursor], followCursor: followCursor$1 && !interactive, appendTo: document.body, placement: placement, animation: "fade", interactive: interactive, content: React.createElement(ItemImproveSelectStageTooltip, { items: items, onClick: onClick }), theme: "grade" + 2, reference: childRef })) : (React.createElement("span", { "data-testid": "TooltipWrapper", ref: spanRef, style: { display: "none" } }))));
7292
+ };
7293
+
7294
+ export { GetCooldownString, ItemImproveEffectsTooltip, ItemImproveEffectsTooltipWrapper, ItemImproveSelectStageTooltip, ItemImproveSelectStageTooltipWrapper, ItemImproveTooltip, ItemImproveTooltipWrapper, ItemTooltip, ItemTooltipWrapper, JsonTooltip, NpcTooltip, ServerRegion, SkillTooltip, SkillTooltipWrapper, TooltipBase };
6802
7295
  //# sourceMappingURL=index.es.js.map