@rpg-engine/long-bow 0.8.10 → 0.8.12

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.
@@ -5,7 +5,7 @@ import { v4 } from 'uuid';
5
5
  import { GRID_WIDTH, GRID_HEIGHT, ShortcutType, getItemTextureKeyPath, ItemRarities, ItemContainerType, ItemType, DepotSocketEvents, ItemSocketEvents, ItemSocketEventsDisplayLabels, ActionsForInventory, ActionsForEquipmentSet, ActionsForLoot, ActionsForMapContainer, ItemSubType, isMobile, ItemSlotType, isMobileOrTablet, CharacterClass, QuestStatus, getSPForLevel, getXPForLevel, PeriodOfDay, UserAccountTypes } from '@rpg-engine/shared';
6
6
  import dayjs from 'dayjs';
7
7
  import { ErrorBoundary as ErrorBoundary$1 } from 'react-error-boundary';
8
- import { FaTimes, FaDiscord, FaWhatsapp, FaSearch, FaThumbtack, FaBoxOpen, FaChevronLeft, FaChevronRight, FaReddit } from 'react-icons/fa';
8
+ import { FaTimes, FaDiscord, FaWhatsapp, FaSearch, FaThumbtack, FaBoxOpen, FaChevronLeft, FaChevronRight, FaChevronUp, FaChevronDown, FaReddit } from 'react-icons/fa';
9
9
  import { RxMagnifyingGlass, RxCross2 } from 'react-icons/rx';
10
10
  import { IoMdContract, IoMdExpand } from 'react-icons/io';
11
11
  import Draggable from 'react-draggable';
@@ -27812,6 +27812,12 @@ var generateContextMenu = function generateContextMenu(item, itemContainerType,
27812
27812
  }
27813
27813
  }
27814
27814
  }
27815
+ if (item.attachedGems && item.attachedGems.length > 0) {
27816
+ contextActionMenu.push({
27817
+ id: ItemSocketEvents.DetachGem,
27818
+ text: "Detach Gems"
27819
+ });
27820
+ }
27815
27821
  return contextActionMenu;
27816
27822
  };
27817
27823
 
@@ -30768,6 +30774,1381 @@ var ContentWrapper = /*#__PURE__*/styled.div.withConfig({
30768
30774
  componentId: "sc-ldufv0-3"
30769
30775
  })([""]);
30770
30776
 
30777
+ var usePagination = function usePagination(_ref) {
30778
+ var items = _ref.items,
30779
+ itemsPerPage = _ref.itemsPerPage,
30780
+ _ref$dependencies = _ref.dependencies,
30781
+ dependencies = _ref$dependencies === void 0 ? [] : _ref$dependencies;
30782
+ var _useState = useState(1),
30783
+ currentPage = _useState[0],
30784
+ setCurrentPage = _useState[1];
30785
+ var totalPages = Math.ceil(items.length / itemsPerPage);
30786
+ var paginatedItems = items.slice((currentPage - 1) * itemsPerPage, currentPage * itemsPerPage);
30787
+ useEffect(function () {
30788
+ setCurrentPage(1);
30789
+ }, [].concat(dependencies));
30790
+ return {
30791
+ currentPage: currentPage,
30792
+ setCurrentPage: setCurrentPage,
30793
+ paginatedItems: paginatedItems,
30794
+ totalPages: totalPages
30795
+ };
30796
+ };
30797
+
30798
+ var Pagination = function Pagination(_ref) {
30799
+ var currentPage = _ref.currentPage,
30800
+ totalPages = _ref.totalPages,
30801
+ onPageChange = _ref.onPageChange,
30802
+ className = _ref.className;
30803
+ return React.createElement(Container$l, {
30804
+ className: className
30805
+ }, React.createElement(PaginationButton$1, {
30806
+ onClick: function onClick() {
30807
+ return onPageChange(Math.max(1, currentPage - 1));
30808
+ },
30809
+ disabled: currentPage === 1
30810
+ }, React.createElement(FaChevronLeft, {
30811
+ size: 12
30812
+ })), React.createElement(PageInfo$1, null, "Page ", currentPage, " of ", totalPages), React.createElement(PaginationButton$1, {
30813
+ onClick: function onClick() {
30814
+ return onPageChange(Math.min(totalPages, currentPage + 1));
30815
+ },
30816
+ disabled: currentPage === totalPages
30817
+ }, React.createElement(FaChevronRight, {
30818
+ size: 12
30819
+ })));
30820
+ };
30821
+ var Container$l = /*#__PURE__*/styled.div.withConfig({
30822
+ displayName: "Pagination__Container",
30823
+ componentId: "sc-3k4m4u-0"
30824
+ })(["display:flex;align-items:center;justify-content:center;gap:16px;padding:8px;"]);
30825
+ var PaginationButton$1 = /*#__PURE__*/styled.button.withConfig({
30826
+ displayName: "Pagination__PaginationButton",
30827
+ componentId: "sc-3k4m4u-1"
30828
+ })(["background:none;border:none;color:", ";cursor:", ";opacity:", ";padding:4px;display:flex;align-items:center;justify-content:center;transition:opacity 0.2s;&:hover:not(:disabled){opacity:1;}"], function (props) {
30829
+ return props.disabled ? uiColors.darkGray : uiColors.yellow;
30830
+ }, function (props) {
30831
+ return props.disabled ? 'not-allowed' : 'pointer';
30832
+ }, function (props) {
30833
+ return props.disabled ? 0.5 : 0.8;
30834
+ });
30835
+ var PageInfo$1 = /*#__PURE__*/styled.div.withConfig({
30836
+ displayName: "Pagination__PageInfo",
30837
+ componentId: "sc-3k4m4u-2"
30838
+ })(["color:", ";font-size:0.8rem;font-family:'Press Start 2P',cursive;"], uiColors.lightGray);
30839
+
30840
+ var SearchBar = function SearchBar(_ref) {
30841
+ var value = _ref.value,
30842
+ _onChange = _ref.onChange,
30843
+ placeholder = _ref.placeholder,
30844
+ className = _ref.className;
30845
+ return React.createElement(Container$m, {
30846
+ className: className
30847
+ }, React.createElement(Input$1, {
30848
+ type: "text",
30849
+ value: value,
30850
+ onChange: function onChange(e) {
30851
+ return _onChange(e.target.value);
30852
+ },
30853
+ placeholder: placeholder,
30854
+ className: "rpgui-input"
30855
+ }), React.createElement(IconContainer, null, React.createElement(SearchIcon, null)));
30856
+ };
30857
+ var Container$m = /*#__PURE__*/styled.div.withConfig({
30858
+ displayName: "SearchBar__Container",
30859
+ componentId: "sc-13n8z02-0"
30860
+ })(["position:relative;width:100%;"]);
30861
+ var Input$1 = /*#__PURE__*/styled.input.withConfig({
30862
+ displayName: "SearchBar__Input",
30863
+ componentId: "sc-13n8z02-1"
30864
+ })(["width:100%;padding-right:2.5rem !important;background:rgba(0,0,0,0.2) !important;border:2px solid #f59e0b !important;box-shadow:0 0 10px rgba(245,158,11,0.3);color:#ffffff !important;font-family:'Press Start 2P',cursive !important;font-size:0.875rem !important;&::placeholder{color:rgba(255,255,255,0.5) !important;}"]);
30865
+ var IconContainer = /*#__PURE__*/styled.div.withConfig({
30866
+ displayName: "SearchBar__IconContainer",
30867
+ componentId: "sc-13n8z02-2"
30868
+ })(["position:absolute;right:0.75rem;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:24px;height:24px;pointer-events:none;"]);
30869
+ var SearchIcon = /*#__PURE__*/styled(FaSearch).withConfig({
30870
+ displayName: "SearchBar__SearchIcon",
30871
+ componentId: "sc-13n8z02-3"
30872
+ })(["font-size:1rem;color:#f59e0b;filter:drop-shadow(0 0 2px rgba(245,158,11,0.3));"]);
30873
+
30874
+ var SearchHeader = function SearchHeader(_ref) {
30875
+ var searchOptions = _ref.searchOptions,
30876
+ filterOptions = _ref.filterOptions,
30877
+ className = _ref.className;
30878
+ if (!searchOptions && !filterOptions) return null;
30879
+ return React.createElement(HeaderContainer$1, {
30880
+ className: className
30881
+ }, React.createElement(HeaderContent, null, searchOptions && React.createElement(SearchContainer$2, null, React.createElement(StyledSearchBar, {
30882
+ value: searchOptions.value,
30883
+ onChange: searchOptions.onChange,
30884
+ placeholder: searchOptions.placeholder || 'Search...'
30885
+ })), filterOptions && React.createElement(FilterContainer, null, React.createElement(StyledDropdown, {
30886
+ options: filterOptions.options,
30887
+ onChange: filterOptions.onOptionChange,
30888
+ width: "200px"
30889
+ }))));
30890
+ };
30891
+ var HeaderContainer$1 = /*#__PURE__*/styled.div.withConfig({
30892
+ displayName: "SearchHeader__HeaderContainer",
30893
+ componentId: "sc-1xd17jb-0"
30894
+ })([""]);
30895
+ var HeaderContent = /*#__PURE__*/styled.div.withConfig({
30896
+ displayName: "SearchHeader__HeaderContent",
30897
+ componentId: "sc-1xd17jb-1"
30898
+ })(["display:flex;justify-content:space-between;align-items:center;gap:1rem;background:rgba(0,0,0,0.2);padding:1rem;border-radius:4px;"]);
30899
+ var SearchContainer$2 = /*#__PURE__*/styled.div.withConfig({
30900
+ displayName: "SearchHeader__SearchContainer",
30901
+ componentId: "sc-1xd17jb-2"
30902
+ })(["flex:1;"]);
30903
+ var FilterContainer = /*#__PURE__*/styled.div.withConfig({
30904
+ displayName: "SearchHeader__FilterContainer",
30905
+ componentId: "sc-1xd17jb-3"
30906
+ })(["display:flex;justify-content:flex-end;"]);
30907
+ var StyledSearchBar = /*#__PURE__*/styled(SearchBar).withConfig({
30908
+ displayName: "SearchHeader__StyledSearchBar",
30909
+ componentId: "sc-1xd17jb-4"
30910
+ })(["width:100%;"]);
30911
+ var StyledDropdown = /*#__PURE__*/styled(Dropdown).withConfig({
30912
+ displayName: "SearchHeader__StyledDropdown",
30913
+ componentId: "sc-1xd17jb-5"
30914
+ })(["min-width:150px;"]);
30915
+
30916
+ var PaginatedContent = function PaginatedContent(_ref) {
30917
+ var items = _ref.items,
30918
+ _ref$itemsPerPage = _ref.itemsPerPage,
30919
+ itemsPerPage = _ref$itemsPerPage === void 0 ? 5 : _ref$itemsPerPage,
30920
+ renderItem = _ref.renderItem,
30921
+ _ref$emptyMessage = _ref.emptyMessage,
30922
+ emptyMessage = _ref$emptyMessage === void 0 ? 'No items found' : _ref$emptyMessage,
30923
+ className = _ref.className,
30924
+ filterOptions = _ref.filterOptions,
30925
+ searchOptions = _ref.searchOptions,
30926
+ _ref$dependencies = _ref.dependencies,
30927
+ dependencies = _ref$dependencies === void 0 ? [] : _ref$dependencies,
30928
+ tabId = _ref.tabId,
30929
+ _ref$layout = _ref.layout,
30930
+ layout = _ref$layout === void 0 ? 'list' : _ref$layout,
30931
+ _ref$gridColumns = _ref.gridColumns,
30932
+ gridColumns = _ref$gridColumns === void 0 ? 4 : _ref$gridColumns,
30933
+ _ref$itemHeight = _ref.itemHeight,
30934
+ itemHeight = _ref$itemHeight === void 0 ? '180px' : _ref$itemHeight;
30935
+ var _usePagination = usePagination({
30936
+ items: items,
30937
+ itemsPerPage: itemsPerPage,
30938
+ dependencies: [].concat(dependencies, [tabId])
30939
+ }),
30940
+ currentPage = _usePagination.currentPage,
30941
+ setCurrentPage = _usePagination.setCurrentPage,
30942
+ paginatedItems = _usePagination.paginatedItems,
30943
+ totalPages = _usePagination.totalPages;
30944
+ return React.createElement(Container$n, {
30945
+ className: className
30946
+ }, (searchOptions || filterOptions) && React.createElement(SearchHeader, {
30947
+ searchOptions: searchOptions,
30948
+ filterOptions: filterOptions
30949
+ }), items.length === 0 ? React.createElement(EmptyMessage, null, emptyMessage) : React.createElement(React.Fragment, null, React.createElement(Content, {
30950
+ className: "PaginatedContent-content " + layout,
30951
+ "$gridColumns": gridColumns,
30952
+ "$itemHeight": itemHeight
30953
+ }, paginatedItems.map(function (item, index) {
30954
+ return React.createElement("div", {
30955
+ key: index,
30956
+ className: "PaginatedContent-item"
30957
+ }, renderItem(item));
30958
+ })), React.createElement(PaginationContainer$1, {
30959
+ className: "PaginatedContent-pagination"
30960
+ }, React.createElement(Pagination, {
30961
+ currentPage: currentPage,
30962
+ totalPages: totalPages,
30963
+ onPageChange: setCurrentPage
30964
+ }))));
30965
+ };
30966
+ var Container$n = /*#__PURE__*/styled.div.withConfig({
30967
+ displayName: "PaginatedContent__Container",
30968
+ componentId: "sc-lzp9hn-0"
30969
+ })(["display:flex;flex-direction:column;gap:1rem;min-height:400px;width:100%;"]);
30970
+ var Content = /*#__PURE__*/styled.div.withConfig({
30971
+ displayName: "PaginatedContent__Content",
30972
+ componentId: "sc-lzp9hn-1"
30973
+ })(["display:flex;flex-direction:column;gap:0.5rem;flex:1;padding:1rem;min-height:200px;max-height:", ";overflow-y:", ";&.grid{display:grid;grid-template-columns:repeat( ", ",minmax(0,1fr) );gap:1rem;align-items:start;.PaginatedContent-item{display:flex;align-items:flex-start;height:", ";}}&.list{display:flex;flex-direction:column;gap:0.5rem;}"], function (props) {
30974
+ return props.$maxHeight;
30975
+ }, function (props) {
30976
+ return props.$maxHeight ? 'auto' : 'visible';
30977
+ }, function (props) {
30978
+ return props.$gridColumns;
30979
+ }, function (props) {
30980
+ var _props$$itemHeight;
30981
+ return (_props$$itemHeight = props.$itemHeight) != null ? _props$$itemHeight : 'auto';
30982
+ });
30983
+ var PaginationContainer$1 = /*#__PURE__*/styled.div.withConfig({
30984
+ displayName: "PaginatedContent__PaginationContainer",
30985
+ componentId: "sc-lzp9hn-2"
30986
+ })(["display:flex;justify-content:center;padding:1rem;"]);
30987
+ var EmptyMessage = /*#__PURE__*/styled.div.withConfig({
30988
+ displayName: "PaginatedContent__EmptyMessage",
30989
+ componentId: "sc-lzp9hn-3"
30990
+ })(["text-align:center;color:#9ca3af;padding:2rem;flex:1;display:flex;align-items:center;justify-content:center;"]);
30991
+
30992
+ var Portal = function Portal(_ref) {
30993
+ var children = _ref.children;
30994
+ var _useState = useState(function () {
30995
+ return document.createElement('div');
30996
+ }),
30997
+ container = _useState[0];
30998
+ useEffect(function () {
30999
+ document.body.appendChild(container);
31000
+ return function () {
31001
+ document.body.removeChild(container);
31002
+ };
31003
+ }, [container]);
31004
+ return createPortal(children, container);
31005
+ };
31006
+
31007
+ var InformationCenterCell = function InformationCenterCell(_ref) {
31008
+ var name = _ref.name,
31009
+ spriteKey = _ref.spriteKey,
31010
+ atlasJSON = _ref.atlasJSON,
31011
+ atlasIMG = _ref.atlasIMG,
31012
+ onClick = _ref.onClick,
31013
+ onMouseEnter = _ref.onMouseEnter,
31014
+ onMouseLeave = _ref.onMouseLeave,
31015
+ onMouseMove = _ref.onMouseMove,
31016
+ onTouchStart = _ref.onTouchStart;
31017
+ return React.createElement(CellContainer, {
31018
+ onClick: onClick,
31019
+ onMouseEnter: onMouseEnter,
31020
+ onMouseLeave: onMouseLeave,
31021
+ onMouseMove: onMouseMove,
31022
+ onTouchStart: onTouchStart
31023
+ }, React.createElement(SpriteContainer$1, null, React.createElement(SpriteFromAtlas, {
31024
+ atlasJSON: atlasJSON,
31025
+ atlasIMG: atlasIMG,
31026
+ spriteKey: spriteKey,
31027
+ width: 32,
31028
+ height: 32,
31029
+ imgScale: 1
31030
+ })), React.createElement(CellName, null, name));
31031
+ };
31032
+ var CellContainer = /*#__PURE__*/styled.div.withConfig({
31033
+ displayName: "InformationCenterCell__CellContainer",
31034
+ componentId: "sc-w48fdf-0"
31035
+ })(["position:relative;background:rgba(0,0,0,0.2);padding:0.75rem;border-radius:4px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:background-color 0.2s ease;width:100%;height:100%;min-width:120px;min-height:120px;box-sizing:border-box;&:hover{background:rgba(0,0,0,0.3);}"]);
31036
+ var SpriteContainer$1 = /*#__PURE__*/styled.div.withConfig({
31037
+ displayName: "InformationCenterCell__SpriteContainer",
31038
+ componentId: "sc-w48fdf-1"
31039
+ })(["margin-bottom:0.5rem;display:flex;justify-content:center;align-items:center;width:64px;height:64px;position:relative;background:rgba(0,0,0,0.3);border-radius:4px;flex-shrink:0;.sprite-from-atlas-img{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(2);image-rendering:pixelated;}"]);
31040
+ var CellName = /*#__PURE__*/styled.h3.withConfig({
31041
+ displayName: "InformationCenterCell__CellName",
31042
+ componentId: "sc-w48fdf-2"
31043
+ })(["font-size:0.7rem;color:#fef08a;margin:0;text-align:center;font-family:'Press Start 2P',cursive;line-height:1.2;word-break:break-word;max-width:100%;"]);
31044
+
31045
+ var Collapsible = function Collapsible(_ref) {
31046
+ var title = _ref.title,
31047
+ children = _ref.children,
31048
+ _ref$defaultOpen = _ref.defaultOpen,
31049
+ defaultOpen = _ref$defaultOpen === void 0 ? false : _ref$defaultOpen,
31050
+ className = _ref.className;
31051
+ var _useState = useState(defaultOpen),
31052
+ isOpen = _useState[0],
31053
+ setIsOpen = _useState[1];
31054
+ return React.createElement(Container$o, {
31055
+ className: className
31056
+ }, React.createElement(Header$1, {
31057
+ onClick: function onClick() {
31058
+ return setIsOpen(!isOpen);
31059
+ }
31060
+ }, React.createElement(Title$3, null, title), React.createElement(Icon$1, null, isOpen ? React.createElement(FaChevronUp, null) : React.createElement(FaChevronDown, null))), isOpen && React.createElement(Content$1, null, children));
31061
+ };
31062
+ var Container$o = /*#__PURE__*/styled.div.withConfig({
31063
+ displayName: "Collapsible__Container",
31064
+ componentId: "sc-s4h8ey-0"
31065
+ })(["background:rgba(0,0,0,0.3);border-radius:4px;overflow:hidden;border:1px solid ", ";"], uiColors.darkGray);
31066
+ var Header$1 = /*#__PURE__*/styled.div.withConfig({
31067
+ displayName: "Collapsible__Header",
31068
+ componentId: "sc-s4h8ey-1"
31069
+ })(["padding:10px 12px;background:rgba(0,0,0,0.2);display:flex;align-items:center;justify-content:space-between;cursor:pointer;transition:background-color 0.2s ease;&:hover{background:rgba(0,0,0,0.4);}"]);
31070
+ var Title$3 = /*#__PURE__*/styled.h3.withConfig({
31071
+ displayName: "Collapsible__Title",
31072
+ componentId: "sc-s4h8ey-2"
31073
+ })(["margin:0;font-size:0.6rem;color:", ";font-family:'Press Start 2P',cursive;letter-spacing:0.5px;"], uiColors.yellow);
31074
+ var Icon$1 = /*#__PURE__*/styled.span.withConfig({
31075
+ displayName: "Collapsible__Icon",
31076
+ componentId: "sc-s4h8ey-3"
31077
+ })(["color:", ";font-size:0.6rem;display:flex;align-items:center;"], uiColors.yellow);
31078
+ var Content$1 = /*#__PURE__*/styled.div.withConfig({
31079
+ displayName: "Collapsible__Content",
31080
+ componentId: "sc-s4h8ey-4"
31081
+ })(["padding:12px;"]);
31082
+
31083
+ var BaseInformationDetails = function BaseInformationDetails(_ref) {
31084
+ var name = _ref.name,
31085
+ spriteKey = _ref.spriteKey,
31086
+ atlasJSON = _ref.atlasJSON,
31087
+ atlasIMG = _ref.atlasIMG,
31088
+ onBack = _ref.onBack,
31089
+ children = _ref.children;
31090
+ return React.createElement(Container$p, null, React.createElement(Overlay, {
31091
+ onClick: onBack
31092
+ }), React.createElement(Modal, null, React.createElement(CloseButton$5, {
31093
+ onClick: onBack
31094
+ }, React.createElement(FaTimes, null)), React.createElement(Header$2, null, React.createElement(SpriteContainer$2, null, React.createElement(SpriteFromAtlas, {
31095
+ atlasJSON: atlasJSON,
31096
+ atlasIMG: atlasIMG,
31097
+ spriteKey: spriteKey,
31098
+ width: 32,
31099
+ height: 32,
31100
+ imgScale: 1
31101
+ })), React.createElement(Title$4, null, name)), React.createElement(Content$2, null, children)));
31102
+ };
31103
+ var Container$p = /*#__PURE__*/styled.div.withConfig({
31104
+ displayName: "BaseInformationDetails__Container",
31105
+ componentId: "sc-1vguuz8-0"
31106
+ })(["position:fixed;top:0;left:0;right:0;bottom:0;display:flex;justify-content:center;align-items:center;z-index:1000;"]);
31107
+ var Overlay = /*#__PURE__*/styled.div.withConfig({
31108
+ displayName: "BaseInformationDetails__Overlay",
31109
+ componentId: "sc-1vguuz8-1"
31110
+ })(["position:absolute;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,0.8);"]);
31111
+ var Modal = /*#__PURE__*/styled.div.withConfig({
31112
+ displayName: "BaseInformationDetails__Modal",
31113
+ componentId: "sc-1vguuz8-2"
31114
+ })(["position:relative;width:90%;max-width:800px;max-height:90vh;background-color:rgba(0,0,0,0.95);border-radius:4px;padding:16px;overflow-y:auto;z-index:1;font-family:'Press Start 2P',cursive;border:1px solid ", ";box-shadow:0 2px 4px rgba(0,0,0,0.2);&::-webkit-scrollbar{width:2px;}&::-webkit-scrollbar-track{background:transparent;}&::-webkit-scrollbar-thumb{background-color:", ";border-radius:4px;opacity:0.5;&:hover{opacity:1;}}scrollbar-width:thin;scrollbar-color:", " transparent;"], uiColors.darkGray, uiColors.yellow, uiColors.yellow);
31115
+ var CloseButton$5 = /*#__PURE__*/styled.button.withConfig({
31116
+ displayName: "BaseInformationDetails__CloseButton",
31117
+ componentId: "sc-1vguuz8-3"
31118
+ })(["position:absolute;top:20px;right:20px;background:none;border:none;color:", ";font-size:1.2rem;cursor:pointer;padding:0;z-index:1;transition:transform 0.2s ease;&:hover{transform:scale(1.1);}"], uiColors.yellow);
31119
+ var Header$2 = /*#__PURE__*/styled.div.withConfig({
31120
+ displayName: "BaseInformationDetails__Header",
31121
+ componentId: "sc-1vguuz8-4"
31122
+ })(["display:flex;align-items:center;gap:16px;margin-bottom:24px;"]);
31123
+ var Content$2 = /*#__PURE__*/styled.div.withConfig({
31124
+ displayName: "BaseInformationDetails__Content",
31125
+ componentId: "sc-1vguuz8-5"
31126
+ })(["display:flex;flex-direction:column;gap:16px;"]);
31127
+ var Title$4 = /*#__PURE__*/styled.h2.withConfig({
31128
+ displayName: "BaseInformationDetails__Title",
31129
+ componentId: "sc-1vguuz8-6"
31130
+ })(["color:", ";font-size:1rem;margin:0;"], uiColors.yellow);
31131
+ var SpriteContainer$2 = /*#__PURE__*/styled.div.withConfig({
31132
+ displayName: "BaseInformationDetails__SpriteContainer",
31133
+ componentId: "sc-1vguuz8-7"
31134
+ })(["width:64px;height:64px;background:rgba(0,0,0,0.3);border-radius:4px;display:flex;justify-content:center;align-items:center;position:relative;.sprite-from-atlas-img{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(2);transform-origin:center;}"]);
31135
+
31136
+ var ITEMS_PER_PAGE$1 = 5;
31137
+ var InformationCenterNPCDetails = function InformationCenterNPCDetails(_ref) {
31138
+ var _npc$loots, _npc$skills$strength, _npc$skills$dexterity, _npc$skills$resistanc;
31139
+ var npc = _ref.npc,
31140
+ itemsAtlasJSON = _ref.itemsAtlasJSON,
31141
+ itemsAtlasIMG = _ref.itemsAtlasIMG,
31142
+ entitiesAtlasJSON = _ref.entitiesAtlasJSON,
31143
+ entitiesAtlasIMG = _ref.entitiesAtlasIMG,
31144
+ onBack = _ref.onBack;
31145
+ var isMobile = isMobileOrTablet();
31146
+ var _useState = useState(''),
31147
+ lootSearchQuery = _useState[0],
31148
+ setLootSearchQuery = _useState[1];
31149
+ var _useState2 = useState(1),
31150
+ currentLootPage = _useState2[0],
31151
+ setCurrentLootPage = _useState2[1];
31152
+ var formatText = function formatText(text) {
31153
+ if (typeof text === 'number') {
31154
+ return text.toString();
31155
+ }
31156
+ return text.toString().replace(/([A-Z])/g, ' $1').trim().replace(/([A-Z]+)([A-Z][a-z])/g, '$1 $2').replace(/\s+/g, ' ');
31157
+ };
31158
+ var formatRarity = function formatRarity(rarity) {
31159
+ switch (rarity) {
31160
+ case 0.5:
31161
+ return 'Very Rare';
31162
+ case 1:
31163
+ return 'Rare';
31164
+ case 10:
31165
+ return 'Uncommon';
31166
+ case 15:
31167
+ return 'Semi Common';
31168
+ case 20:
31169
+ return 'Common';
31170
+ case 35:
31171
+ return 'Very Common';
31172
+ default:
31173
+ return 'Unknown';
31174
+ }
31175
+ };
31176
+ var filteredLoots = ((_npc$loots = npc.loots) == null ? void 0 : _npc$loots.filter(function (loot) {
31177
+ return formatText(loot.itemBlueprintKey).toLowerCase().includes(lootSearchQuery.toLowerCase());
31178
+ })) || [];
31179
+ var totalLootPages = Math.ceil(filteredLoots.length / ITEMS_PER_PAGE$1);
31180
+ var paginatedLoots = filteredLoots.slice((currentLootPage - 1) * ITEMS_PER_PAGE$1, currentLootPage * ITEMS_PER_PAGE$1);
31181
+ return React.createElement(BaseInformationDetails, {
31182
+ name: npc.name,
31183
+ spriteKey: npc.key,
31184
+ atlasJSON: entitiesAtlasJSON,
31185
+ atlasIMG: entitiesAtlasIMG,
31186
+ onBack: onBack
31187
+ }, React.createElement(InfoSection, null, React.createElement(InfoItem, null, React.createElement(Label, null, "Type:"), React.createElement(Value, null, formatText(npc.subType))), React.createElement(InfoItem, null, React.createElement(Label, null, "Alignment:"), React.createElement(Value, null, formatText(npc.alignment))), React.createElement(InfoItem, null, React.createElement(Label, null, "Attack Type:"), React.createElement(Value, null, formatText(npc.attackType))), React.createElement(InfoItem, null, React.createElement(Label, null, "Range:"), React.createElement(Value, null, formatText(npc.maxRangeAttack))), React.createElement(InfoItem, null, React.createElement(Label, null, "Speed:"), React.createElement(Value, null, formatText(npc.speed)))), React.createElement(StyledCollapsible, {
31188
+ title: "Stats",
31189
+ defaultOpen: !isMobile
31190
+ }, React.createElement(StatGrid, null, React.createElement(StatItem, null, "HP: ", npc.baseHealth), React.createElement(StatItem, null, "Level: ", npc.skills.level), ((_npc$skills$strength = npc.skills.strength) == null ? void 0 : _npc$skills$strength.level) && React.createElement(StatItem, null, "Strength: ", npc.skills.strength.level), ((_npc$skills$dexterity = npc.skills.dexterity) == null ? void 0 : _npc$skills$dexterity.level) && React.createElement(StatItem, null, "Dexterity: ", npc.skills.dexterity.level), ((_npc$skills$resistanc = npc.skills.resistance) == null ? void 0 : _npc$skills$resistanc.level) && React.createElement(StatItem, null, "Resistance: ", npc.skills.resistance.level))), npc.loots && npc.loots.length > 0 && React.createElement(StyledCollapsible, {
31191
+ title: "Loot",
31192
+ defaultOpen: !isMobile
31193
+ }, React.createElement(LootSearchContainer, null, React.createElement(StyledSearchBar$1, {
31194
+ value: lootSearchQuery,
31195
+ onChange: setLootSearchQuery,
31196
+ placeholder: "Search loot..."
31197
+ })), React.createElement(LootGrid, null, paginatedLoots.map(function (loot, index) {
31198
+ return React.createElement(LootItem, {
31199
+ key: index
31200
+ }, React.createElement(SpriteFromAtlas, {
31201
+ atlasJSON: itemsAtlasJSON,
31202
+ atlasIMG: itemsAtlasIMG,
31203
+ spriteKey: loot.itemBlueprintKey,
31204
+ width: 24,
31205
+ height: 24,
31206
+ imgScale: 1
31207
+ }), React.createElement(LootDetails, null, React.createElement(LootName, null, formatText(loot.itemBlueprintKey)), React.createElement(LootInfo, null, React.createElement(LootChance, null, formatRarity(loot.chance)), loot.quantityRange && React.createElement(LootQuantity, null, "x", loot.quantityRange[0], "-", loot.quantityRange[1]))));
31208
+ })), filteredLoots.length > ITEMS_PER_PAGE$1 && React.createElement(PaginationContainer$2, null, React.createElement(StyledPagination, {
31209
+ currentPage: currentLootPage,
31210
+ totalPages: totalLootPages,
31211
+ onPageChange: setCurrentLootPage
31212
+ }))), npc.entityEffects && npc.entityEffects.length > 0 && React.createElement(StyledCollapsible, {
31213
+ title: "Effects",
31214
+ defaultOpen: !isMobile
31215
+ }, React.createElement(EffectsList, null, npc.entityEffects.map(function (effect, index) {
31216
+ return React.createElement(EffectItem, {
31217
+ key: index
31218
+ }, formatText(effect));
31219
+ }))), npc.areaSpells && npc.areaSpells.length > 0 && React.createElement(StyledCollapsible, {
31220
+ title: "Spells",
31221
+ defaultOpen: !isMobile
31222
+ }, React.createElement(SpellsList, null, npc.areaSpells.map(function (spell, index) {
31223
+ return React.createElement(SpellItem, {
31224
+ key: index
31225
+ }, React.createElement(SpellName, null, formatText(spell.spellKey)), React.createElement(SpellDetails, null, "Power: ", React.createElement(SpellValue, null, formatText(spell.power)), React.createElement(Separator, null, "\u2022"), "Chance: ", React.createElement(SpellValue, null, spell.probability, "%")));
31226
+ }))));
31227
+ };
31228
+ var InfoSection = /*#__PURE__*/styled.div.withConfig({
31229
+ displayName: "InformationCenterNPCDetails__InfoSection",
31230
+ componentId: "sc-fdu3xl-0"
31231
+ })(["display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px;background:rgba(255,255,255,0.05);padding:12px;border-radius:4px;"]);
31232
+ var InfoItem = /*#__PURE__*/styled.div.withConfig({
31233
+ displayName: "InformationCenterNPCDetails__InfoItem",
31234
+ componentId: "sc-fdu3xl-1"
31235
+ })(["display:flex;align-items:center;gap:8px;"]);
31236
+ var Label = /*#__PURE__*/styled.span.withConfig({
31237
+ displayName: "InformationCenterNPCDetails__Label",
31238
+ componentId: "sc-fdu3xl-2"
31239
+ })(["color:", ";font-size:0.5rem;opacity:0.8;"], uiColors.yellow);
31240
+ var Value = /*#__PURE__*/styled.span.withConfig({
31241
+ displayName: "InformationCenterNPCDetails__Value",
31242
+ componentId: "sc-fdu3xl-3"
31243
+ })(["color:", ";font-size:0.5rem;"], uiColors.white);
31244
+ var StyledCollapsible = /*#__PURE__*/styled(Collapsible).withConfig({
31245
+ displayName: "InformationCenterNPCDetails__StyledCollapsible",
31246
+ componentId: "sc-fdu3xl-4"
31247
+ })(["background:rgba(255,255,255,0.05);border-radius:4px;overflow:hidden;"]);
31248
+ var StatGrid = /*#__PURE__*/styled.div.withConfig({
31249
+ displayName: "InformationCenterNPCDetails__StatGrid",
31250
+ componentId: "sc-fdu3xl-5"
31251
+ })(["display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;padding:12px;"]);
31252
+ var StatItem = /*#__PURE__*/styled.div.withConfig({
31253
+ displayName: "InformationCenterNPCDetails__StatItem",
31254
+ componentId: "sc-fdu3xl-6"
31255
+ })(["color:", ";font-size:0.5rem;background:rgba(255,255,255,0.05);padding:8px;border-radius:4px;"], uiColors.white);
31256
+ var EffectsList = /*#__PURE__*/styled.div.withConfig({
31257
+ displayName: "InformationCenterNPCDetails__EffectsList",
31258
+ componentId: "sc-fdu3xl-7"
31259
+ })(["display:flex;flex-wrap:wrap;gap:8px;padding:12px;"]);
31260
+ var EffectItem = /*#__PURE__*/styled.div.withConfig({
31261
+ displayName: "InformationCenterNPCDetails__EffectItem",
31262
+ componentId: "sc-fdu3xl-8"
31263
+ })(["color:", ";font-size:0.5rem;background:rgba(255,255,255,0.1);padding:4px 8px;border-radius:4px;"], uiColors.white);
31264
+ var SpellsList = /*#__PURE__*/styled.div.withConfig({
31265
+ displayName: "InformationCenterNPCDetails__SpellsList",
31266
+ componentId: "sc-fdu3xl-9"
31267
+ })(["display:flex;flex-direction:column;gap:8px;padding:12px;"]);
31268
+ var SpellItem = /*#__PURE__*/styled.div.withConfig({
31269
+ displayName: "InformationCenterNPCDetails__SpellItem",
31270
+ componentId: "sc-fdu3xl-10"
31271
+ })(["display:flex;flex-direction:column;gap:4px;background:rgba(255,255,255,0.05);padding:8px;border-radius:4px;"]);
31272
+ var SpellName = /*#__PURE__*/styled.div.withConfig({
31273
+ displayName: "InformationCenterNPCDetails__SpellName",
31274
+ componentId: "sc-fdu3xl-11"
31275
+ })(["color:", ";font-size:0.5rem;"], uiColors.yellow);
31276
+ var SpellDetails = /*#__PURE__*/styled.div.withConfig({
31277
+ displayName: "InformationCenterNPCDetails__SpellDetails",
31278
+ componentId: "sc-fdu3xl-12"
31279
+ })(["display:flex;align-items:center;gap:8px;color:", ";font-size:0.45rem;opacity:0.8;"], uiColors.white);
31280
+ var SpellValue = /*#__PURE__*/styled.span.withConfig({
31281
+ displayName: "InformationCenterNPCDetails__SpellValue",
31282
+ componentId: "sc-fdu3xl-13"
31283
+ })(["color:", ";"], uiColors.yellow);
31284
+ var Separator = /*#__PURE__*/styled.span.withConfig({
31285
+ displayName: "InformationCenterNPCDetails__Separator",
31286
+ componentId: "sc-fdu3xl-14"
31287
+ })(["color:", ";opacity:0.5;"], uiColors.yellow);
31288
+ var LootSearchContainer = /*#__PURE__*/styled.div.withConfig({
31289
+ displayName: "InformationCenterNPCDetails__LootSearchContainer",
31290
+ componentId: "sc-fdu3xl-15"
31291
+ })(["padding:12px 12px 0;"]);
31292
+ var StyledSearchBar$1 = /*#__PURE__*/styled(SearchBar).withConfig({
31293
+ displayName: "InformationCenterNPCDetails__StyledSearchBar",
31294
+ componentId: "sc-fdu3xl-16"
31295
+ })(["width:100%;"]);
31296
+ var LootGrid = /*#__PURE__*/styled.div.withConfig({
31297
+ displayName: "InformationCenterNPCDetails__LootGrid",
31298
+ componentId: "sc-fdu3xl-17"
31299
+ })(["display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px;padding:12px;"]);
31300
+ var LootItem = /*#__PURE__*/styled.div.withConfig({
31301
+ displayName: "InformationCenterNPCDetails__LootItem",
31302
+ componentId: "sc-fdu3xl-18"
31303
+ })(["display:flex;align-items:center;gap:8px;background:rgba(255,255,255,0.05);padding:8px;border-radius:4px;"]);
31304
+ var LootDetails = /*#__PURE__*/styled.div.withConfig({
31305
+ displayName: "InformationCenterNPCDetails__LootDetails",
31306
+ componentId: "sc-fdu3xl-19"
31307
+ })(["flex:1;display:flex;flex-direction:column;gap:4px;"]);
31308
+ var LootName = /*#__PURE__*/styled.div.withConfig({
31309
+ displayName: "InformationCenterNPCDetails__LootName",
31310
+ componentId: "sc-fdu3xl-20"
31311
+ })(["color:", ";font-size:0.5rem;"], uiColors.white);
31312
+ var LootInfo = /*#__PURE__*/styled.div.withConfig({
31313
+ displayName: "InformationCenterNPCDetails__LootInfo",
31314
+ componentId: "sc-fdu3xl-21"
31315
+ })(["display:flex;align-items:center;gap:8px;"]);
31316
+ var LootChance = /*#__PURE__*/styled.span.withConfig({
31317
+ displayName: "InformationCenterNPCDetails__LootChance",
31318
+ componentId: "sc-fdu3xl-22"
31319
+ })(["color:", ";font-size:0.45rem;"], uiColors.yellow);
31320
+ var LootQuantity = /*#__PURE__*/styled.span.withConfig({
31321
+ displayName: "InformationCenterNPCDetails__LootQuantity",
31322
+ componentId: "sc-fdu3xl-23"
31323
+ })(["color:", ";font-size:0.45rem;"], uiColors.lightGray);
31324
+ var PaginationContainer$2 = /*#__PURE__*/styled.div.withConfig({
31325
+ displayName: "InformationCenterNPCDetails__PaginationContainer",
31326
+ componentId: "sc-fdu3xl-24"
31327
+ })(["display:flex;justify-content:center;padding:12px;"]);
31328
+ var StyledPagination = /*#__PURE__*/styled(Pagination).withConfig({
31329
+ displayName: "InformationCenterNPCDetails__StyledPagination",
31330
+ componentId: "sc-fdu3xl-25"
31331
+ })(["font-size:0.6rem;"]);
31332
+
31333
+ var TooltipContainer$1 = /*#__PURE__*/styled.div.withConfig({
31334
+ displayName: "BaseTooltip__TooltipContainer",
31335
+ componentId: "sc-1auz5ec-0"
31336
+ })(["background-color:rgba(0,0,0,0.95);border-radius:4px;padding:8px;font-family:'Press Start 2P',cursive;font-size:0.6rem;width:", ";border:1px solid ", ";box-shadow:0 2px 4px rgba(0,0,0,0.2);"], function (props) {
31337
+ return props.width || '280px';
31338
+ }, uiColors.darkGray);
31339
+ var TooltipTitle$1 = /*#__PURE__*/styled.div.withConfig({
31340
+ displayName: "BaseTooltip__TooltipTitle",
31341
+ componentId: "sc-1auz5ec-1"
31342
+ })(["color:", ";font-size:0.6rem;letter-spacing:0.5px;margin-bottom:8px;"], uiColors.yellow);
31343
+ var Section = /*#__PURE__*/styled.div.withConfig({
31344
+ displayName: "BaseTooltip__Section",
31345
+ componentId: "sc-1auz5ec-2"
31346
+ })(["margin-top:6px;"]);
31347
+ var SectionTitle = /*#__PURE__*/styled.div.withConfig({
31348
+ displayName: "BaseTooltip__SectionTitle",
31349
+ componentId: "sc-1auz5ec-3"
31350
+ })(["color:", ";font-size:0.5rem;margin-bottom:4px;opacity:0.7;border-bottom:1px solid rgba(255,255,255,0.1);padding-bottom:4px;"], uiColors.yellow);
31351
+ var StatsContainer = /*#__PURE__*/styled.div.withConfig({
31352
+ displayName: "BaseTooltip__StatsContainer",
31353
+ componentId: "sc-1auz5ec-4"
31354
+ })(["display:grid;grid-template-columns:repeat(2,1fr);gap:2px 8px;"]);
31355
+ var StatItem$1 = /*#__PURE__*/styled.div.withConfig({
31356
+ displayName: "BaseTooltip__StatItem",
31357
+ componentId: "sc-1auz5ec-5"
31358
+ })(["color:", ";font-size:0.5rem;text-align:left;"], uiColors.white);
31359
+ var BaseTooltip = function BaseTooltip(_ref) {
31360
+ var children = _ref.children,
31361
+ width = _ref.width;
31362
+ return React.createElement(TooltipContainer$1, {
31363
+ width: width
31364
+ }, children);
31365
+ };
31366
+
31367
+ var EffectsList$1 = /*#__PURE__*/styled.div.withConfig({
31368
+ displayName: "InformationCenterNPCTooltip__EffectsList",
31369
+ componentId: "sc-j2o39s-0"
31370
+ })(["display:flex;gap:8px;flex-wrap:wrap;"]);
31371
+ var EffectItem$1 = /*#__PURE__*/styled.span.withConfig({
31372
+ displayName: "InformationCenterNPCTooltip__EffectItem",
31373
+ componentId: "sc-j2o39s-1"
31374
+ })(["font-size:0.5rem;color:", ";background:rgba(255,255,255,0.1);padding:2px 6px;border-radius:4px;"], uiColors.white);
31375
+ var SpellList = /*#__PURE__*/styled.div.withConfig({
31376
+ displayName: "InformationCenterNPCTooltip__SpellList",
31377
+ componentId: "sc-j2o39s-2"
31378
+ })(["display:flex;flex-direction:column;gap:2px;"]);
31379
+ var SpellItem$1 = /*#__PURE__*/styled.div.withConfig({
31380
+ displayName: "InformationCenterNPCTooltip__SpellItem",
31381
+ componentId: "sc-j2o39s-3"
31382
+ })(["display:flex;align-items:center;justify-content:space-between;font-size:0.5rem;color:", ";background:rgba(255,255,255,0.05);padding:2px 6px;border-radius:4px;"], uiColors.white);
31383
+ var SpellInfo = /*#__PURE__*/styled.span.withConfig({
31384
+ displayName: "InformationCenterNPCTooltip__SpellInfo",
31385
+ componentId: "sc-j2o39s-4"
31386
+ })(["color:", ";margin-left:8px;opacity:0.8;"], uiColors.yellow);
31387
+ var LootList = /*#__PURE__*/styled.div.withConfig({
31388
+ displayName: "InformationCenterNPCTooltip__LootList",
31389
+ componentId: "sc-j2o39s-5"
31390
+ })(["display:flex;flex-direction:column;gap:2px;"]);
31391
+ var LootItem$1 = /*#__PURE__*/styled.div.withConfig({
31392
+ displayName: "InformationCenterNPCTooltip__LootItem",
31393
+ componentId: "sc-j2o39s-6"
31394
+ })(["display:flex;align-items:center;gap:4px;font-size:0.5rem;background:rgba(255,255,255,0.05);padding:4px 6px;border-radius:4px;.sprite-from-atlas-img{top:0px;left:0px;}"]);
31395
+ var LootName$1 = /*#__PURE__*/styled.span.withConfig({
31396
+ displayName: "InformationCenterNPCTooltip__LootName",
31397
+ componentId: "sc-j2o39s-7"
31398
+ })(["color:", ";flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-left:4px;"], uiColors.white);
31399
+ var LootChance$1 = /*#__PURE__*/styled.span.withConfig({
31400
+ displayName: "InformationCenterNPCTooltip__LootChance",
31401
+ componentId: "sc-j2o39s-8"
31402
+ })(["color:", ";font-size:0.45rem;text-transform:lowercase;opacity:0.8;"], uiColors.yellow);
31403
+ var MoreIndicator = /*#__PURE__*/styled.div.withConfig({
31404
+ displayName: "InformationCenterNPCTooltip__MoreIndicator",
31405
+ componentId: "sc-j2o39s-9"
31406
+ })(["color:", ";font-size:0.45rem;text-align:center;margin-top:2px;opacity:0.7;"], uiColors.yellow);
31407
+ var formatText = function formatText(text) {
31408
+ if (typeof text === 'number') {
31409
+ return text.toString();
31410
+ }
31411
+ return text.toString().replace(/([A-Z])/g, ' $1').trim().replace(/([A-Z]+)([A-Z][a-z])/g, '$1 $2').replace(/\s+/g, ' ');
31412
+ };
31413
+ var formatRarity = function formatRarity(rarity) {
31414
+ switch (rarity) {
31415
+ case 0.5:
31416
+ return 'Very Rare';
31417
+ case 1:
31418
+ return 'Rare';
31419
+ case 10:
31420
+ return 'Uncommon';
31421
+ case 15:
31422
+ return 'Semi Common';
31423
+ case 20:
31424
+ return 'Common';
31425
+ case 35:
31426
+ return 'Very Common';
31427
+ default:
31428
+ return 'Unknown';
31429
+ }
31430
+ };
31431
+ var InformationCenterNPCTooltip = function InformationCenterNPCTooltip(_ref) {
31432
+ var _npc$skills$strength, _npc$skills$dexterity, _npc$skills$resistanc;
31433
+ var npc = _ref.npc,
31434
+ itemsAtlasJSON = _ref.itemsAtlasJSON,
31435
+ itemsAtlasIMG = _ref.itemsAtlasIMG;
31436
+ return React.createElement(BaseTooltip, null, React.createElement(TooltipTitle$1, null, npc.name), React.createElement(StatsContainer, null, React.createElement(StatItem$1, null, "HP: ", npc.baseHealth), React.createElement(StatItem$1, null, "LVL: ", npc.skills.level), React.createElement(StatItem$1, null, "STR: ", ((_npc$skills$strength = npc.skills.strength) == null ? void 0 : _npc$skills$strength.level) || '-'), React.createElement(StatItem$1, null, "DEX: ", ((_npc$skills$dexterity = npc.skills.dexterity) == null ? void 0 : _npc$skills$dexterity.level) || '-'), React.createElement(StatItem$1, null, "RES: ", ((_npc$skills$resistanc = npc.skills.resistance) == null ? void 0 : _npc$skills$resistanc.level) || '-'), React.createElement(StatItem$1, null, "SPD: ", formatText(npc.speed))), npc.entityEffects && npc.entityEffects.length > 0 && React.createElement(Section, null, React.createElement(SectionTitle, null, "Effects"), React.createElement(EffectsList$1, null, npc.entityEffects.map(function (effect) {
31437
+ return React.createElement(EffectItem$1, {
31438
+ key: effect
31439
+ }, formatText(effect));
31440
+ }))), npc.areaSpells && npc.areaSpells.length > 0 && React.createElement(Section, null, React.createElement(SectionTitle, null, "Spells"), React.createElement(SpellList, null, npc.areaSpells.map(function (spell) {
31441
+ return React.createElement(SpellItem$1, {
31442
+ key: spell.spellKey
31443
+ }, formatText(spell.spellKey), React.createElement(SpellInfo, null, formatText(spell.power), ", ", spell.probability, "%"));
31444
+ }))), npc.loots && npc.loots.length > 0 && React.createElement(Section, null, React.createElement(SectionTitle, null, "Possible Loot"), React.createElement(LootList, null, npc.loots.slice(0, 4).map(function (loot) {
31445
+ return React.createElement(LootItem$1, {
31446
+ key: loot.itemBlueprintKey
31447
+ }, React.createElement(SpriteFromAtlas, {
31448
+ atlasIMG: itemsAtlasIMG,
31449
+ atlasJSON: itemsAtlasJSON,
31450
+ spriteKey: loot.itemBlueprintKey,
31451
+ imgScale: 1
31452
+ }), React.createElement(LootName$1, null, formatText(loot.itemBlueprintKey)), React.createElement(LootChance$1, null, formatRarity(loot.chance)));
31453
+ }), npc.loots.length > 4 && React.createElement(MoreIndicator, null, "..."))));
31454
+ };
31455
+
31456
+ var InformationCenterBestiarySection = function InformationCenterBestiarySection(_ref) {
31457
+ var bestiaryItems = _ref.bestiaryItems,
31458
+ itemsAtlasJSON = _ref.itemsAtlasJSON,
31459
+ itemsAtlasIMG = _ref.itemsAtlasIMG,
31460
+ entitiesAtlasJSON = _ref.entitiesAtlasJSON,
31461
+ entitiesAtlasIMG = _ref.entitiesAtlasIMG,
31462
+ initialSearchQuery = _ref.initialSearchQuery,
31463
+ tabId = _ref.tabId;
31464
+ var _useState = useState(initialSearchQuery),
31465
+ searchQuery = _useState[0],
31466
+ setSearchQuery = _useState[1];
31467
+ var _useState2 = useState(null),
31468
+ tooltipData = _useState2[0],
31469
+ setTooltipData = _useState2[1];
31470
+ var _useState3 = useState(null),
31471
+ selectedMonster = _useState3[0],
31472
+ setSelectedMonster = _useState3[1];
31473
+ var _useState4 = useState('ontouchstart' in window),
31474
+ isTouchDevice = _useState4[0];
31475
+ var handleMouseEnter = function handleMouseEnter(monster, event) {
31476
+ if (!isTouchDevice && !selectedMonster) {
31477
+ setTooltipData({
31478
+ npc: monster,
31479
+ position: {
31480
+ x: event.clientX,
31481
+ y: event.clientY
31482
+ }
31483
+ });
31484
+ }
31485
+ };
31486
+ var handleMouseLeave = function handleMouseLeave() {
31487
+ if (!isTouchDevice) {
31488
+ setTooltipData(null);
31489
+ }
31490
+ };
31491
+ var handleMouseMove = function handleMouseMove(event) {
31492
+ if (!isTouchDevice && tooltipData) {
31493
+ setTooltipData(_extends({}, tooltipData, {
31494
+ position: {
31495
+ x: event.clientX,
31496
+ y: event.clientY
31497
+ }
31498
+ }));
31499
+ }
31500
+ };
31501
+ var handleTouchStart = function handleTouchStart(monster, event) {
31502
+ if (isTouchDevice) {
31503
+ event.preventDefault();
31504
+ var touch = event.touches[0];
31505
+ if ((tooltipData == null ? void 0 : tooltipData.npc.id) === monster.id) {
31506
+ setTooltipData(null);
31507
+ } else {
31508
+ setTooltipData({
31509
+ npc: monster,
31510
+ position: {
31511
+ x: touch.clientX,
31512
+ y: touch.clientY
31513
+ }
31514
+ });
31515
+ }
31516
+ }
31517
+ };
31518
+ var handleMonsterClick = function handleMonsterClick(monster) {
31519
+ setSelectedMonster(monster);
31520
+ setTooltipData(null);
31521
+ };
31522
+ var renderItem = function renderItem(item) {
31523
+ return React.createElement(InformationCenterCell, {
31524
+ key: item.id,
31525
+ name: item.name,
31526
+ spriteKey: item.key,
31527
+ atlasJSON: entitiesAtlasJSON,
31528
+ atlasIMG: entitiesAtlasIMG,
31529
+ onClick: function onClick() {
31530
+ return handleMonsterClick(item);
31531
+ },
31532
+ onMouseEnter: function onMouseEnter(e) {
31533
+ return handleMouseEnter(item, e);
31534
+ },
31535
+ onMouseLeave: handleMouseLeave,
31536
+ onMouseMove: handleMouseMove,
31537
+ onTouchStart: function onTouchStart(e) {
31538
+ return handleTouchStart(item, e);
31539
+ }
31540
+ });
31541
+ };
31542
+ var filteredItems = bestiaryItems.filter(function (item) {
31543
+ return item.name.toLowerCase().includes(searchQuery.toLowerCase());
31544
+ });
31545
+ return React.createElement(React.Fragment, null, React.createElement(PaginatedContent, {
31546
+ items: filteredItems,
31547
+ renderItem: renderItem,
31548
+ emptyMessage: "No monsters found",
31549
+ tabId: tabId,
31550
+ layout: "grid",
31551
+ searchOptions: {
31552
+ value: searchQuery,
31553
+ onChange: setSearchQuery,
31554
+ placeholder: 'Search monsters...'
31555
+ },
31556
+ itemHeight: "180px"
31557
+ }), tooltipData && React.createElement(Portal, null, React.createElement(TooltipWrapper, {
31558
+ style: {
31559
+ position: 'fixed',
31560
+ left: tooltipData.position.x + 10,
31561
+ top: tooltipData.position.y + 10
31562
+ }
31563
+ }, React.createElement(InformationCenterNPCTooltip, {
31564
+ npc: tooltipData.npc,
31565
+ itemsAtlasJSON: itemsAtlasJSON,
31566
+ itemsAtlasIMG: itemsAtlasIMG
31567
+ }))), selectedMonster && React.createElement(InformationCenterNPCDetails, {
31568
+ npc: selectedMonster,
31569
+ itemsAtlasJSON: itemsAtlasJSON,
31570
+ itemsAtlasIMG: itemsAtlasIMG,
31571
+ entitiesAtlasJSON: entitiesAtlasJSON,
31572
+ entitiesAtlasIMG: entitiesAtlasIMG,
31573
+ onBack: function onBack() {
31574
+ return setSelectedMonster(null);
31575
+ }
31576
+ }));
31577
+ };
31578
+ var TooltipWrapper = /*#__PURE__*/styled.div.withConfig({
31579
+ displayName: "InformationCenterBestiarySection__TooltipWrapper",
31580
+ componentId: "sc-e3h0p2-0"
31581
+ })(["position:fixed;z-index:1000;pointer-events:none;width:300px;"]);
31582
+
31583
+ var InformationCenterFAQSection = function InformationCenterFAQSection(_ref) {
31584
+ var faqItems = _ref.faqItems,
31585
+ initialSearchQuery = _ref.initialSearchQuery,
31586
+ tabId = _ref.tabId;
31587
+ var _useState = useState(initialSearchQuery),
31588
+ searchQuery = _useState[0],
31589
+ setSearchQuery = _useState[1];
31590
+ useEffect(function () {
31591
+ setSearchQuery(initialSearchQuery);
31592
+ }, [initialSearchQuery]);
31593
+ var filteredFaqs = useMemo(function () {
31594
+ if (!searchQuery) return faqItems;
31595
+ return faqItems.filter(function (faq) {
31596
+ return faq.question.toLowerCase().includes(searchQuery.toLowerCase()) || faq.answer.toLowerCase().includes(searchQuery.toLowerCase());
31597
+ });
31598
+ }, [searchQuery, faqItems]);
31599
+ var renderItem = function renderItem(item) {
31600
+ return React.createElement(StyledCollapsible$1, {
31601
+ title: item.question
31602
+ }, React.createElement(Answer$1, null, item.answer));
31603
+ };
31604
+ return React.createElement(Container$q, null, React.createElement(SearchHeader, {
31605
+ searchOptions: {
31606
+ value: searchQuery,
31607
+ onChange: setSearchQuery,
31608
+ placeholder: 'Search FAQs...'
31609
+ }
31610
+ }), React.createElement(PaginatedContent, {
31611
+ items: filteredFaqs,
31612
+ renderItem: renderItem,
31613
+ emptyMessage: "No FAQ items found",
31614
+ tabId: tabId,
31615
+ layout: "list",
31616
+ itemsPerPage: 10
31617
+ }));
31618
+ };
31619
+ var Container$q = /*#__PURE__*/styled.div.withConfig({
31620
+ displayName: "InformationCenterFaqSection__Container",
31621
+ componentId: "sc-ofmaa9-0"
31622
+ })(["display:flex;flex-direction:column;gap:1rem;width:100%;"]);
31623
+ var StyledCollapsible$1 = /*#__PURE__*/styled(Collapsible).withConfig({
31624
+ displayName: "InformationCenterFaqSection__StyledCollapsible",
31625
+ componentId: "sc-ofmaa9-1"
31626
+ })(["margin-bottom:0.5rem;&:last-child{margin-bottom:0;}"]);
31627
+ var Answer$1 = /*#__PURE__*/styled.p.withConfig({
31628
+ displayName: "InformationCenterFaqSection__Answer",
31629
+ componentId: "sc-ofmaa9-2"
31630
+ })(["font-size:0.9rem;color:#ffffff;margin:0;line-height:1.5;"]);
31631
+
31632
+ var InformationCenterItemDetails = function InformationCenterItemDetails(_ref) {
31633
+ var item = _ref.item,
31634
+ itemsAtlasJSON = _ref.itemsAtlasJSON,
31635
+ itemsAtlasIMG = _ref.itemsAtlasIMG,
31636
+ droppedBy = _ref.droppedBy,
31637
+ onBack = _ref.onBack;
31638
+ var isMobile = isMobileOrTablet();
31639
+ var renderAllowedSlots = function renderAllowedSlots() {
31640
+ var _item$allowedEquipSlo;
31641
+ if (!((_item$allowedEquipSlo = item.allowedEquipSlotType) != null && _item$allowedEquipSlo.length)) return null;
31642
+ return React.createElement(InfoItem$1, null, React.createElement(Label$1, null, "Equip Slots:"), React.createElement(Value$1, null, item.allowedEquipSlotType.join(', ')));
31643
+ };
31644
+ var renderRequirements = function renderRequirements() {
31645
+ if (!item.minRequirements) return null;
31646
+ return React.createElement(StyledCollapsible$2, {
31647
+ title: "Requirements",
31648
+ defaultOpen: !isMobile
31649
+ }, React.createElement(RequirementsGrid, null, item.minRequirements.level && React.createElement(RequirementItem, null, React.createElement(Label$1, null, "Level:"), React.createElement(Value$1, null, item.minRequirements.level)), item.minRequirements.skill && React.createElement(RequirementItem, null, React.createElement(Label$1, null, item.minRequirements.skill.name, ":"), React.createElement(Value$1, null, item.minRequirements.skill.level))));
31650
+ };
31651
+ return React.createElement(BaseInformationDetails, {
31652
+ name: item.name,
31653
+ spriteKey: item.texturePath,
31654
+ atlasJSON: itemsAtlasJSON,
31655
+ atlasIMG: itemsAtlasIMG,
31656
+ onBack: onBack
31657
+ }, React.createElement(InfoSection$1, null, React.createElement(InfoItem$1, null, React.createElement(Label$1, null, "Type:"), React.createElement(Value$1, null, item.type)), React.createElement(InfoItem$1, null, React.createElement(Label$1, null, "Subtype:"), React.createElement(Value$1, null, item.subType)), React.createElement(InfoItem$1, null, React.createElement(Label$1, null, "Tier:"), React.createElement(Value$1, null, item.tier)), React.createElement(InfoItem$1, null, React.createElement(Label$1, null, "Rarity:"), React.createElement(Value$1, null, item.rarity)), renderAllowedSlots()), React.createElement(StyledCollapsible$2, {
31658
+ title: "Description",
31659
+ defaultOpen: !isMobile
31660
+ }, React.createElement(Description$2, null, item.description || 'No description available.')), React.createElement(StyledCollapsible$2, {
31661
+ title: "Stats",
31662
+ defaultOpen: !isMobile
31663
+ }, React.createElement(StatGrid$1, null, React.createElement(StatItem$2, null, "Weight: ", item.weight), React.createElement(StatItem$2, null, "Stack Size: ", item.maxStackSize), item.rangeType && React.createElement(StatItem$2, null, "Range Type: ", item.rangeType), item.basePrice > 0 && React.createElement(StatItem$2, null, "Base Price: ", item.basePrice))), renderRequirements(), item.entityEffects && item.entityEffects.length > 0 && React.createElement(StyledCollapsible$2, {
31664
+ title: "Effects",
31665
+ defaultOpen: !isMobile
31666
+ }, React.createElement(EffectsList$2, null, item.entityEffects.map(function (effect, index) {
31667
+ return React.createElement(EffectItem$2, {
31668
+ key: index
31669
+ }, effect, item.entityEffectChance && React.createElement(EffectChance, null, "(", item.entityEffectChance, "%)"));
31670
+ })), item.usableEffectDescription && React.createElement(EffectDescription, null, item.usableEffectDescription)), item.equippedBuff && item.equippedBuff.length > 0 && React.createElement(StyledCollapsible$2, {
31671
+ title: "Equipped Buffs",
31672
+ defaultOpen: !isMobile
31673
+ }, React.createElement(BuffsList, null, item.equippedBuff.map(function (buff, index) {
31674
+ return React.createElement(BuffItem, {
31675
+ key: index
31676
+ }, React.createElement(BuffName, null, buff.trait), React.createElement(BuffValue, null, "+", buff.buffPercentage, "%"));
31677
+ })), item.equippedBuffDescription && React.createElement(BuffDescription, null, item.equippedBuffDescription)), droppedBy.length > 0 && React.createElement(StyledCollapsible$2, {
31678
+ title: "Dropped By",
31679
+ defaultOpen: !isMobile
31680
+ }, React.createElement(DropList, null, droppedBy.map(function (npc) {
31681
+ var loot = npc.loots.find(function (l) {
31682
+ return l.itemBlueprintKey === item.key;
31683
+ });
31684
+ return React.createElement(DropItem, {
31685
+ key: npc.id
31686
+ }, React.createElement(NPCName, null, npc.name), React.createElement(DropRate, null, loot == null ? void 0 : loot.chance, "%"));
31687
+ }))));
31688
+ };
31689
+ var InfoSection$1 = /*#__PURE__*/styled.div.withConfig({
31690
+ displayName: "InformationCenterItemDetails__InfoSection",
31691
+ componentId: "sc-zwf6pb-0"
31692
+ })(["display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px;background:rgba(255,255,255,0.05);padding:12px;border-radius:4px;"]);
31693
+ var InfoItem$1 = /*#__PURE__*/styled.div.withConfig({
31694
+ displayName: "InformationCenterItemDetails__InfoItem",
31695
+ componentId: "sc-zwf6pb-1"
31696
+ })(["display:flex;align-items:center;gap:8px;"]);
31697
+ var Label$1 = /*#__PURE__*/styled.span.withConfig({
31698
+ displayName: "InformationCenterItemDetails__Label",
31699
+ componentId: "sc-zwf6pb-2"
31700
+ })(["color:", ";font-size:0.5rem;opacity:0.8;"], uiColors.yellow);
31701
+ var Value$1 = /*#__PURE__*/styled.span.withConfig({
31702
+ displayName: "InformationCenterItemDetails__Value",
31703
+ componentId: "sc-zwf6pb-3"
31704
+ })(["color:", ";font-size:0.5rem;"], uiColors.white);
31705
+ var StyledCollapsible$2 = /*#__PURE__*/styled(Collapsible).withConfig({
31706
+ displayName: "InformationCenterItemDetails__StyledCollapsible",
31707
+ componentId: "sc-zwf6pb-4"
31708
+ })(["background:rgba(255,255,255,0.05);border-radius:4px;overflow:hidden;"]);
31709
+ var Description$2 = /*#__PURE__*/styled.p.withConfig({
31710
+ displayName: "InformationCenterItemDetails__Description",
31711
+ componentId: "sc-zwf6pb-5"
31712
+ })(["color:", ";font-size:0.5rem;margin:0;padding:12px;line-height:1.5;"], uiColors.white);
31713
+ var StatGrid$1 = /*#__PURE__*/styled.div.withConfig({
31714
+ displayName: "InformationCenterItemDetails__StatGrid",
31715
+ componentId: "sc-zwf6pb-6"
31716
+ })(["display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;padding:12px;"]);
31717
+ var StatItem$2 = /*#__PURE__*/styled.div.withConfig({
31718
+ displayName: "InformationCenterItemDetails__StatItem",
31719
+ componentId: "sc-zwf6pb-7"
31720
+ })(["color:", ";font-size:0.5rem;background:rgba(255,255,255,0.05);padding:8px;border-radius:4px;"], uiColors.white);
31721
+ var EffectsList$2 = /*#__PURE__*/styled.div.withConfig({
31722
+ displayName: "InformationCenterItemDetails__EffectsList",
31723
+ componentId: "sc-zwf6pb-8"
31724
+ })(["display:flex;flex-wrap:wrap;gap:8px;padding:12px;"]);
31725
+ var EffectItem$2 = /*#__PURE__*/styled.div.withConfig({
31726
+ displayName: "InformationCenterItemDetails__EffectItem",
31727
+ componentId: "sc-zwf6pb-9"
31728
+ })(["display:flex;align-items:center;gap:4px;color:", ";font-size:0.5rem;background:rgba(255,255,255,0.1);padding:4px 8px;border-radius:4px;"], uiColors.white);
31729
+ var EffectChance = /*#__PURE__*/styled.span.withConfig({
31730
+ displayName: "InformationCenterItemDetails__EffectChance",
31731
+ componentId: "sc-zwf6pb-10"
31732
+ })(["color:", ";opacity:0.8;"], uiColors.yellow);
31733
+ var BuffsList = /*#__PURE__*/styled.div.withConfig({
31734
+ displayName: "InformationCenterItemDetails__BuffsList",
31735
+ componentId: "sc-zwf6pb-11"
31736
+ })(["display:flex;flex-direction:column;gap:8px;padding:12px;"]);
31737
+ var BuffItem = /*#__PURE__*/styled.div.withConfig({
31738
+ displayName: "InformationCenterItemDetails__BuffItem",
31739
+ componentId: "sc-zwf6pb-12"
31740
+ })(["display:flex;justify-content:space-between;align-items:center;background:rgba(255,255,255,0.05);padding:8px;border-radius:4px;"]);
31741
+ var BuffName = /*#__PURE__*/styled.span.withConfig({
31742
+ displayName: "InformationCenterItemDetails__BuffName",
31743
+ componentId: "sc-zwf6pb-13"
31744
+ })(["color:", ";font-size:0.5rem;"], uiColors.white);
31745
+ var BuffValue = /*#__PURE__*/styled.span.withConfig({
31746
+ displayName: "InformationCenterItemDetails__BuffValue",
31747
+ componentId: "sc-zwf6pb-14"
31748
+ })(["color:", ";font-size:0.5rem;"], uiColors.yellow);
31749
+ var BuffDescription = /*#__PURE__*/styled.p.withConfig({
31750
+ displayName: "InformationCenterItemDetails__BuffDescription",
31751
+ componentId: "sc-zwf6pb-15"
31752
+ })(["color:", ";font-size:0.45rem;margin:0;padding:0 12px 12px;font-style:italic;"], uiColors.lightGray);
31753
+ var DropList = /*#__PURE__*/styled.div.withConfig({
31754
+ displayName: "InformationCenterItemDetails__DropList",
31755
+ componentId: "sc-zwf6pb-16"
31756
+ })(["display:flex;flex-direction:column;gap:0.5rem;padding:12px;"]);
31757
+ var DropItem = /*#__PURE__*/styled.div.withConfig({
31758
+ displayName: "InformationCenterItemDetails__DropItem",
31759
+ componentId: "sc-zwf6pb-17"
31760
+ })(["display:flex;justify-content:space-between;align-items:center;padding:0.5rem;background:rgba(255,255,255,0.05);border-radius:4px;"]);
31761
+ var NPCName = /*#__PURE__*/styled.span.withConfig({
31762
+ displayName: "InformationCenterItemDetails__NPCName",
31763
+ componentId: "sc-zwf6pb-18"
31764
+ })(["color:", ";font-size:0.5rem;"], uiColors.white);
31765
+ var DropRate = /*#__PURE__*/styled.span.withConfig({
31766
+ displayName: "InformationCenterItemDetails__DropRate",
31767
+ componentId: "sc-zwf6pb-19"
31768
+ })(["color:", ";font-size:0.5rem;"], uiColors.yellow);
31769
+ var RequirementsGrid = /*#__PURE__*/styled.div.withConfig({
31770
+ displayName: "InformationCenterItemDetails__RequirementsGrid",
31771
+ componentId: "sc-zwf6pb-20"
31772
+ })(["display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;padding:12px;"]);
31773
+ var RequirementItem = /*#__PURE__*/styled.div.withConfig({
31774
+ displayName: "InformationCenterItemDetails__RequirementItem",
31775
+ componentId: "sc-zwf6pb-21"
31776
+ })(["display:flex;align-items:center;gap:8px;background:rgba(255,255,255,0.05);padding:8px;border-radius:4px;"]);
31777
+ var EffectDescription = /*#__PURE__*/styled.p.withConfig({
31778
+ displayName: "InformationCenterItemDetails__EffectDescription",
31779
+ componentId: "sc-zwf6pb-22"
31780
+ })(["color:", ";font-size:0.45rem;margin:8px 0 0;padding:0 12px;font-style:italic;"], uiColors.lightGray);
31781
+
31782
+ var ItemHeader$1 = /*#__PURE__*/styled.div.withConfig({
31783
+ displayName: "InformationCenterItemTooltip__ItemHeader",
31784
+ componentId: "sc-1ecf9mj-0"
31785
+ })(["display:flex;align-items:center;gap:8px;"]);
31786
+ var Description$3 = /*#__PURE__*/styled.div.withConfig({
31787
+ displayName: "InformationCenterItemTooltip__Description",
31788
+ componentId: "sc-1ecf9mj-1"
31789
+ })(["color:", ";font-size:0.5rem;line-height:1.4;margin-top:8px;opacity:0.8;"], uiColors.white);
31790
+ var RarityText = /*#__PURE__*/styled.span.withConfig({
31791
+ displayName: "InformationCenterItemTooltip__RarityText",
31792
+ componentId: "sc-1ecf9mj-2"
31793
+ })(["color:", ";font-size:0.5rem;"], function (props) {
31794
+ switch (props.rarity.toLowerCase()) {
31795
+ case 'legendary':
31796
+ return '#ff8c00';
31797
+ case 'rare':
31798
+ return '#0070dd';
31799
+ case 'uncommon':
31800
+ return '#1eff00';
31801
+ default:
31802
+ return '#ffffff';
31803
+ }
31804
+ });
31805
+ var InformationCenterItemTooltip = function InformationCenterItemTooltip(_ref) {
31806
+ var item = _ref.item;
31807
+ return React.createElement(BaseTooltip, null, React.createElement(ItemHeader$1, null, React.createElement(TooltipTitle$1, null, item.name)), React.createElement(Description$3, null, item.description), React.createElement(Section, null, React.createElement(SectionTitle, null, "Details"), React.createElement(StatsContainer, null, React.createElement(StatItem$1, null, "Type: ", item.type), React.createElement(StatItem$1, null, "Weight: ", item.weight), item.attack !== undefined && React.createElement(StatItem$1, null, "Attack: ", item.attack), item.defense !== undefined && React.createElement(StatItem$1, null, "Defense: ", item.defense), item.tier !== undefined && React.createElement(StatItem$1, null, "Tier: ", item.tier), item.rangeType && React.createElement(StatItem$1, null, "Range: ", item.rangeType))), React.createElement(Section, null, React.createElement(SectionTitle, null, "Market"), React.createElement(StatsContainer, null, React.createElement(StatItem$1, null, "Price: ", item.basePrice), item.rarity && React.createElement(StatItem$1, null, "Rarity:", ' ', React.createElement(RarityText, {
31808
+ rarity: item.rarity
31809
+ }, item.rarity)))));
31810
+ };
31811
+
31812
+ var TOOLTIP_OFFSET = 20;
31813
+ var InformationCenterItemsSection = function InformationCenterItemsSection(_ref) {
31814
+ var items = _ref.items,
31815
+ bestiaryItems = _ref.bestiaryItems,
31816
+ itemsAtlasJSON = _ref.itemsAtlasJSON,
31817
+ itemsAtlasIMG = _ref.itemsAtlasIMG,
31818
+ initialSearchQuery = _ref.initialSearchQuery,
31819
+ tabId = _ref.tabId;
31820
+ var _useState = useState(initialSearchQuery),
31821
+ searchQuery = _useState[0],
31822
+ setSearchQuery = _useState[1];
31823
+ var _useState2 = useState('all'),
31824
+ selectedItemCategory = _useState2[0],
31825
+ setSelectedItemCategory = _useState2[1];
31826
+ var _useState3 = useState(null),
31827
+ hoveredItem = _useState3[0],
31828
+ setHoveredItem = _useState3[1];
31829
+ var _useState4 = useState({
31830
+ x: 0,
31831
+ y: 0
31832
+ }),
31833
+ tooltipPosition = _useState4[0],
31834
+ setTooltipPosition = _useState4[1];
31835
+ var _useState5 = useState(null),
31836
+ selectedItem = _useState5[0],
31837
+ setSelectedItem = _useState5[1];
31838
+ var itemCategoryOptions = [{
31839
+ id: 0,
31840
+ value: 'all',
31841
+ option: 'All Items'
31842
+ }, {
31843
+ id: 1,
31844
+ value: ItemType.Consumable,
31845
+ option: 'Consumables'
31846
+ }, {
31847
+ id: 2,
31848
+ value: ItemType.Weapon,
31849
+ option: 'Weapons'
31850
+ }, {
31851
+ id: 3,
31852
+ value: ItemType.Armor,
31853
+ option: 'Armor'
31854
+ }];
31855
+ var filteredItems = items.filter(function (item) {
31856
+ return (selectedItemCategory === 'all' || item.type === selectedItemCategory) && item.name.toLowerCase().includes(searchQuery.toLowerCase());
31857
+ });
31858
+ var getDroppedByNPCs = function getDroppedByNPCs(itemId, npcs) {
31859
+ return npcs.filter(function (npc) {
31860
+ var _npc$loots;
31861
+ return (_npc$loots = npc.loots) == null ? void 0 : _npc$loots.some(function (loot) {
31862
+ return loot.itemBlueprintKey === itemId;
31863
+ });
31864
+ }) || [];
31865
+ };
31866
+ var handleMouseEnter = function handleMouseEnter(e, item) {
31867
+ setTooltipPosition({
31868
+ x: e.clientX + TOOLTIP_OFFSET,
31869
+ y: e.clientY
31870
+ });
31871
+ setHoveredItem(item);
31872
+ };
31873
+ var handleMouseMove = function handleMouseMove(e) {
31874
+ if (hoveredItem) {
31875
+ setTooltipPosition({
31876
+ x: e.clientX + TOOLTIP_OFFSET,
31877
+ y: e.clientY
31878
+ });
31879
+ }
31880
+ };
31881
+ var handleMouseLeave = function handleMouseLeave() {
31882
+ setHoveredItem(null);
31883
+ };
31884
+ var handleTouchStart = function handleTouchStart(e, item) {
31885
+ var touch = e.touches[0];
31886
+ setTooltipPosition({
31887
+ x: touch.clientX + TOOLTIP_OFFSET,
31888
+ y: touch.clientY
31889
+ });
31890
+ setHoveredItem(item);
31891
+ };
31892
+ var handleItemClick = function handleItemClick(item) {
31893
+ setSelectedItem(item);
31894
+ setHoveredItem(null);
31895
+ };
31896
+ var renderItem = function renderItem(item) {
31897
+ return React.createElement(InformationCenterCell, {
31898
+ key: item.key,
31899
+ name: item.name,
31900
+ spriteKey: item.texturePath,
31901
+ atlasJSON: itemsAtlasJSON,
31902
+ atlasIMG: itemsAtlasIMG,
31903
+ onMouseEnter: function onMouseEnter(e) {
31904
+ return handleMouseEnter(e, item);
31905
+ },
31906
+ onMouseMove: handleMouseMove,
31907
+ onMouseLeave: handleMouseLeave,
31908
+ onTouchStart: function onTouchStart(e) {
31909
+ return handleTouchStart(e, item);
31910
+ },
31911
+ onClick: function onClick() {
31912
+ return handleItemClick(item);
31913
+ }
31914
+ });
31915
+ };
31916
+ return React.createElement(React.Fragment, null, React.createElement(PaginatedContent, {
31917
+ items: filteredItems,
31918
+ renderItem: renderItem,
31919
+ emptyMessage: "No items found",
31920
+ filterOptions: {
31921
+ options: itemCategoryOptions,
31922
+ selectedOption: selectedItemCategory,
31923
+ onOptionChange: setSelectedItemCategory
31924
+ },
31925
+ searchOptions: {
31926
+ value: searchQuery,
31927
+ onChange: setSearchQuery,
31928
+ placeholder: 'Search items...'
31929
+ },
31930
+ dependencies: [selectedItemCategory],
31931
+ tabId: tabId,
31932
+ layout: "grid",
31933
+ itemHeight: "180px"
31934
+ }), hoveredItem && React.createElement(TooltipWrapper$1, {
31935
+ style: {
31936
+ top: tooltipPosition.y,
31937
+ left: tooltipPosition.x
31938
+ }
31939
+ }, React.createElement(InformationCenterItemTooltip, {
31940
+ item: hoveredItem
31941
+ })), selectedItem && React.createElement(InformationCenterItemDetails, {
31942
+ item: selectedItem,
31943
+ itemsAtlasJSON: itemsAtlasJSON,
31944
+ itemsAtlasIMG: itemsAtlasIMG,
31945
+ droppedBy: getDroppedByNPCs(selectedItem.key, bestiaryItems),
31946
+ onBack: function onBack() {
31947
+ return setSelectedItem(null);
31948
+ }
31949
+ }));
31950
+ };
31951
+ var TooltipWrapper$1 = /*#__PURE__*/styled.div.withConfig({
31952
+ displayName: "InformationCenterItemsSection__TooltipWrapper",
31953
+ componentId: "sc-1wmpapt-0"
31954
+ })(["position:fixed;z-index:1000;pointer-events:none;transition:transform 0.1s ease;"]);
31955
+
31956
+ var InformationCenterTutorialsSection = function InformationCenterTutorialsSection(_ref) {
31957
+ var videoGuides = _ref.videoGuides,
31958
+ initialSearchQuery = _ref.initialSearchQuery,
31959
+ tabId = _ref.tabId;
31960
+ var _useState = useState(initialSearchQuery),
31961
+ searchQuery = _useState[0],
31962
+ setSearchQuery = _useState[1];
31963
+ var _useState2 = useState('all'),
31964
+ selectedCategory = _useState2[0],
31965
+ setSelectedCategory = _useState2[1];
31966
+ var categoryOptions = [{
31967
+ id: 0,
31968
+ value: 'all',
31969
+ option: 'All'
31970
+ }, {
31971
+ id: 1,
31972
+ value: 'Combat',
31973
+ option: 'Combat'
31974
+ }, {
31975
+ id: 2,
31976
+ value: 'Crafting',
31977
+ option: 'Crafting'
31978
+ }, {
31979
+ id: 3,
31980
+ value: 'Exploration',
31981
+ option: 'Exploration'
31982
+ }, {
31983
+ id: 4,
31984
+ value: 'General',
31985
+ option: 'General'
31986
+ }];
31987
+ var renderItem = function renderItem(guide) {
31988
+ return React.createElement(GuideItem, {
31989
+ key: guide.id
31990
+ }, React.createElement(GuideThumbnail, null, React.createElement("img", {
31991
+ src: guide.thumbnailUrl || '/placeholder-thumbnail.png',
31992
+ alt: guide.title
31993
+ })), React.createElement(GuideContent, null, React.createElement(GuideTitle, null, guide.title), React.createElement(GuideDescription, null, guide.description), React.createElement(GuideCategory, null, guide.category)));
31994
+ };
31995
+ var filteredGuides = videoGuides.filter(function (guide) {
31996
+ return (selectedCategory === 'all' || guide.category === selectedCategory) && (guide.title.toLowerCase().includes(searchQuery.toLowerCase()) || guide.description.toLowerCase().includes(searchQuery.toLowerCase()));
31997
+ });
31998
+ return React.createElement(PaginatedContent, {
31999
+ items: filteredGuides,
32000
+ renderItem: renderItem,
32001
+ emptyMessage: "No guides found",
32002
+ searchOptions: {
32003
+ value: searchQuery,
32004
+ onChange: setSearchQuery,
32005
+ placeholder: 'Search guides...'
32006
+ },
32007
+ filterOptions: {
32008
+ options: categoryOptions,
32009
+ selectedOption: selectedCategory,
32010
+ onOptionChange: setSelectedCategory
32011
+ },
32012
+ dependencies: [selectedCategory],
32013
+ tabId: tabId,
32014
+ layout: "grid",
32015
+ gridColumns: 3,
32016
+ itemsPerPage: 3,
32017
+ itemHeight: "400px"
32018
+ });
32019
+ };
32020
+ var GuideItem = /*#__PURE__*/styled.div.withConfig({
32021
+ displayName: "InformationCenterTutorialsSection__GuideItem",
32022
+ componentId: "sc-1gk05vk-0"
32023
+ })(["background:rgba(0,0,0,0.3);border-radius:4px;overflow:hidden;border:1px solid ", ";cursor:pointer;transition:transform 0.2s ease;height:100%;&:hover{transform:translateY(-2px);}"], uiColors.darkGray);
32024
+ var GuideThumbnail = /*#__PURE__*/styled.div.withConfig({
32025
+ displayName: "InformationCenterTutorialsSection__GuideThumbnail",
32026
+ componentId: "sc-1gk05vk-1"
32027
+ })(["width:100%;height:168px;background:rgba(0,0,0,0.2);overflow:hidden;img{width:100%;height:100%;object-fit:cover;}font-size:0.8rem;line-height:1.8;"]);
32028
+ var GuideContent = /*#__PURE__*/styled.div.withConfig({
32029
+ displayName: "InformationCenterTutorialsSection__GuideContent",
32030
+ componentId: "sc-1gk05vk-2"
32031
+ })(["padding:12px;"]);
32032
+ var GuideTitle = /*#__PURE__*/styled.h3.withConfig({
32033
+ displayName: "InformationCenterTutorialsSection__GuideTitle",
32034
+ componentId: "sc-1gk05vk-3"
32035
+ })(["margin:0;font-size:0.6rem;color:", ";font-family:'Press Start 2P',cursive;margin-bottom:8px;"], uiColors.yellow);
32036
+ var GuideDescription = /*#__PURE__*/styled.p.withConfig({
32037
+ displayName: "InformationCenterTutorialsSection__GuideDescription",
32038
+ componentId: "sc-1gk05vk-4"
32039
+ })(["margin:0;font-size:0.55rem;color:", ";font-family:'Press Start 2P',cursive;margin-bottom:8px;line-height:1.4;"], uiColors.lightGray);
32040
+ var GuideCategory = /*#__PURE__*/styled.span.withConfig({
32041
+ displayName: "InformationCenterTutorialsSection__GuideCategory",
32042
+ componentId: "sc-1gk05vk-5"
32043
+ })(["font-size:0.5rem;color:", ";font-family:'Press Start 2P',cursive;background:rgba(255,255,255,0.1);padding:4px 8px;border-radius:4px;"], uiColors.yellow);
32044
+
32045
+ var InformationCenter = function InformationCenter(_ref) {
32046
+ var itemsAtlasJSON = _ref.itemsAtlasJSON,
32047
+ itemsAtlasIMG = _ref.itemsAtlasIMG,
32048
+ entitiesAtlasJSON = _ref.entitiesAtlasJSON,
32049
+ entitiesAtlasIMG = _ref.entitiesAtlasIMG,
32050
+ _ref$faqItems = _ref.faqItems,
32051
+ faqItems = _ref$faqItems === void 0 ? [] : _ref$faqItems,
32052
+ _ref$bestiaryItems = _ref.bestiaryItems,
32053
+ bestiaryItems = _ref$bestiaryItems === void 0 ? [] : _ref$bestiaryItems,
32054
+ _ref$videoGuides = _ref.videoGuides,
32055
+ videoGuides = _ref$videoGuides === void 0 ? [] : _ref$videoGuides,
32056
+ _ref$items = _ref.items,
32057
+ items = _ref$items === void 0 ? [] : _ref$items,
32058
+ _ref$loading = _ref.loading,
32059
+ loading = _ref$loading === void 0 ? false : _ref$loading,
32060
+ error = _ref.error,
32061
+ _ref$initialSearchQue = _ref.initialSearchQuery,
32062
+ initialSearchQuery = _ref$initialSearchQue === void 0 ? '' : _ref$initialSearchQue;
32063
+ var _useState = useState('bestiary'),
32064
+ activeTab = _useState[0],
32065
+ setActiveTab = _useState[1];
32066
+ var _useState2 = useState(null),
32067
+ selectedItem = _useState2[0],
32068
+ setSelectedItem = _useState2[1];
32069
+ if (loading) {
32070
+ return React.createElement(LoadingMessage, null, "Loading...");
32071
+ }
32072
+ if (error) {
32073
+ return React.createElement(ErrorMessage, null, error);
32074
+ }
32075
+ var tabs = [{
32076
+ id: 'bestiary',
32077
+ title: 'Bestiary',
32078
+ content: React.createElement(InformationCenterBestiarySection, {
32079
+ bestiaryItems: bestiaryItems,
32080
+ itemsAtlasJSON: itemsAtlasJSON,
32081
+ itemsAtlasIMG: itemsAtlasIMG,
32082
+ entitiesAtlasJSON: entitiesAtlasJSON,
32083
+ entitiesAtlasIMG: entitiesAtlasIMG,
32084
+ initialSearchQuery: initialSearchQuery,
32085
+ tabId: "bestiary"
32086
+ })
32087
+ }, {
32088
+ id: 'items',
32089
+ title: 'Items',
32090
+ content: React.createElement(InformationCenterItemsSection, {
32091
+ items: items,
32092
+ bestiaryItems: bestiaryItems,
32093
+ itemsAtlasJSON: itemsAtlasJSON,
32094
+ itemsAtlasIMG: itemsAtlasIMG,
32095
+ initialSearchQuery: initialSearchQuery,
32096
+ tabId: "items"
32097
+ })
32098
+ }, {
32099
+ id: 'faq',
32100
+ title: 'FAQ',
32101
+ content: React.createElement(InformationCenterFAQSection, {
32102
+ faqItems: faqItems,
32103
+ initialSearchQuery: initialSearchQuery,
32104
+ tabId: "faq"
32105
+ })
32106
+ }, {
32107
+ id: 'tutorials',
32108
+ title: 'Tutorials',
32109
+ content: React.createElement(InformationCenterTutorialsSection, {
32110
+ videoGuides: videoGuides,
32111
+ initialSearchQuery: initialSearchQuery,
32112
+ tabId: "tutorials"
32113
+ })
32114
+ }];
32115
+ return React.createElement(Container$r, null, React.createElement(InternalTabs, {
32116
+ tabs: tabs,
32117
+ activeTextColor: "#000000",
32118
+ activeTab: activeTab,
32119
+ onTabChange: setActiveTab,
32120
+ activeColor: "#fef08a",
32121
+ inactiveColor: "#6b7280",
32122
+ borderColor: "#f59e0b",
32123
+ hoverColor: "#fef3c7"
32124
+ }), selectedItem && React.createElement(InformationCenterItemDetails, {
32125
+ item: selectedItem,
32126
+ itemsAtlasJSON: itemsAtlasJSON,
32127
+ itemsAtlasIMG: itemsAtlasIMG,
32128
+ droppedBy: bestiaryItems.filter(function (npc) {
32129
+ var _npc$loots;
32130
+ return (_npc$loots = npc.loots) == null ? void 0 : _npc$loots.some(function (loot) {
32131
+ return loot.itemBlueprintKey === selectedItem.key;
32132
+ });
32133
+ }),
32134
+ onBack: function onBack() {
32135
+ return setSelectedItem(null);
32136
+ }
32137
+ }));
32138
+ };
32139
+ var Container$r = /*#__PURE__*/styled.div.withConfig({
32140
+ displayName: "InformationCenter__Container",
32141
+ componentId: "sc-1ttl62e-0"
32142
+ })(["width:100%;max-width:800px;margin:0 auto;padding:1rem;"]);
32143
+ var LoadingMessage = /*#__PURE__*/styled.div.withConfig({
32144
+ displayName: "InformationCenter__LoadingMessage",
32145
+ componentId: "sc-1ttl62e-1"
32146
+ })(["text-align:center;color:#ffffff;padding:2rem;"]);
32147
+ var ErrorMessage = /*#__PURE__*/styled.div.withConfig({
32148
+ displayName: "InformationCenter__ErrorMessage",
32149
+ componentId: "sc-1ttl62e-2"
32150
+ })(["text-align:center;color:#ef4444;padding:2rem;"]);
32151
+
30771
32152
  var SlotsContainer = function SlotsContainer(_ref) {
30772
32153
  var children = _ref.children,
30773
32154
  title = _ref.title,
@@ -30926,7 +32307,7 @@ var ShortcutsSetter = function ShortcutsSetter(_ref) {
30926
32307
  }
30927
32308
  return null;
30928
32309
  };
30929
- return React.createElement(Container$l, null, React.createElement("p", null, "Shortcuts:"), React.createElement(List, {
32310
+ return React.createElement(Container$s, null, React.createElement("p", null, "Shortcuts:"), React.createElement(List, {
30930
32311
  id: "shortcuts_list"
30931
32312
  }, Array.from({
30932
32313
  length: 12
@@ -30944,7 +32325,7 @@ var ShortcutsSetter = function ShortcutsSetter(_ref) {
30944
32325
  }, getContent(i));
30945
32326
  })));
30946
32327
  };
30947
- var Container$l = /*#__PURE__*/styled.div.withConfig({
32328
+ var Container$s = /*#__PURE__*/styled.div.withConfig({
30948
32329
  displayName: "ShortcutsSetter__Container",
30949
32330
  componentId: "sc-xuouuf-0"
30950
32331
  })(["p{margin:0;margin-left:0.5rem;font-size:10px;}width:100%;"]);
@@ -31011,7 +32392,7 @@ var RangeSlider = /*#__PURE__*/React.memo(function (_ref) {
31011
32392
  style: {
31012
32393
  left: left
31013
32394
  }
31014
- })), React.createElement(Input$1, {
32395
+ })), React.createElement(Input$2, {
31015
32396
  type: "range",
31016
32397
  style: {
31017
32398
  width: width
@@ -31024,7 +32405,7 @@ var RangeSlider = /*#__PURE__*/React.memo(function (_ref) {
31024
32405
  className: "rpgui-cursor-point"
31025
32406
  }));
31026
32407
  });
31027
- var Input$1 = /*#__PURE__*/styled.input.withConfig({
32408
+ var Input$2 = /*#__PURE__*/styled.input.withConfig({
31028
32409
  displayName: "RangeSlider__Input",
31029
32410
  componentId: "sc-v8mte9-0"
31030
32411
  })(["opacity:0;position:absolute;width:100%;height:100%;top:0;left:0;margin-top:-5px;"]);
@@ -31058,7 +32439,7 @@ var QuantitySelector = function QuantitySelector(_ref) {
31058
32439
  return React.createElement(StyledContainer, {
31059
32440
  type: RPGUIContainerTypes.Framed,
31060
32441
  width: "25rem"
31061
- }, React.createElement(CloseButton$5, {
32442
+ }, React.createElement(CloseButton$6, {
31062
32443
  className: "container-close",
31063
32444
  onPointerDown: onClose
31064
32445
  }, "X"), React.createElement("h2", null, title), React.createElement(StyledForm, {
@@ -31103,7 +32484,7 @@ var StyledContainer = /*#__PURE__*/styled(RPGUIContainer).withConfig({
31103
32484
  displayName: "QuantitySelector__StyledContainer",
31104
32485
  componentId: "sc-z4ut57-0"
31105
32486
  })(["position:relative;display:flex;flex-direction:column;align-items:center;padding:1rem;h2{margin:0;margin-bottom:1rem;font-size:1rem;}"]);
31106
- var CloseButton$5 = /*#__PURE__*/styled.div.withConfig({
32487
+ var CloseButton$6 = /*#__PURE__*/styled.div.withConfig({
31107
32488
  displayName: "QuantitySelector__CloseButton",
31108
32489
  componentId: "sc-z4ut57-1"
31109
32490
  })(["position:absolute;top:3px;right:0px;color:white;z-index:22;font-size:1.5rem;cursor:pointer;"]);
@@ -31396,7 +32777,7 @@ var ColorSelector = function ColorSelector(_ref) {
31396
32777
  cancelDrag: ".react-colorful",
31397
32778
  width: "20rem",
31398
32779
  onCloseButton: onClose
31399
- }, React.createElement(Container$m, null, React.createElement(Header$1, null, "Select Color"), React.createElement(HexColorPicker, {
32780
+ }, React.createElement(Container$t, null, React.createElement(Header$3, null, "Select Color"), React.createElement(HexColorPicker, {
31400
32781
  color: currentColor,
31401
32782
  onChange: function onChange(color) {
31402
32783
  setCurrentColor(color);
@@ -31408,11 +32789,11 @@ var ColorSelector = function ColorSelector(_ref) {
31408
32789
  onClick: handleConfirm
31409
32790
  }, "Confirm"))) : null;
31410
32791
  };
31411
- var Container$m = /*#__PURE__*/styled.div.withConfig({
32792
+ var Container$t = /*#__PURE__*/styled.div.withConfig({
31412
32793
  displayName: "ItemPropertyColorSelector__Container",
31413
32794
  componentId: "sc-me1r4z-0"
31414
32795
  })(["padding:2rem;text-align:center;background:inherit;"]);
31415
- var Header$1 = /*#__PURE__*/styled.h2.withConfig({
32796
+ var Header$3 = /*#__PURE__*/styled.h2.withConfig({
31416
32797
  displayName: "ItemPropertyColorSelector__Header",
31417
32798
  componentId: "sc-me1r4z-1"
31418
32799
  })(["font-family:'Press Start 2P',cursive;color:white;font-size:1rem;margin-bottom:1rem;"]);
@@ -31432,6 +32813,111 @@ var ItemPropertySimpleHandler = function ItemPropertySimpleHandler(_ref) {
31432
32813
  });
31433
32814
  };
31434
32815
 
32816
+ var GemSelector = function GemSelector(_ref) {
32817
+ var _item$attachedGems;
32818
+ var atlasJSON = _ref.atlasJSON,
32819
+ atlasIMG = _ref.atlasIMG,
32820
+ item = _ref.item,
32821
+ scale = _ref.scale,
32822
+ onClose = _ref.onClose,
32823
+ onSelect = _ref.onSelect;
32824
+ var _useState = useState([]),
32825
+ selectedGems = _useState[0],
32826
+ setSelectedGems = _useState[1];
32827
+ var size = useResponsiveSize(scale);
32828
+ var handleGemToggle = function handleGemToggle(gem) {
32829
+ setSelectedGems(function (prev) {
32830
+ return prev.some(function (selected) {
32831
+ return selected.key === gem.key;
32832
+ }) ? prev.filter(function (selected) {
32833
+ return selected.key !== gem.key;
32834
+ }) : [].concat(prev, [gem]);
32835
+ });
32836
+ };
32837
+ var handleConfirm = function handleConfirm() {
32838
+ onSelect(selectedGems);
32839
+ onClose();
32840
+ };
32841
+ if (!size) return null;
32842
+ return React.createElement(DraggableContainer, {
32843
+ type: RPGUIContainerTypes.Framed,
32844
+ width: "450px",
32845
+ height: size.height,
32846
+ scale: scale,
32847
+ cancelDrag: ".gem-selector-container",
32848
+ onCloseButton: onClose
32849
+ }, React.createElement(ContentWrapper$1, null, React.createElement(Header$4, null, React.createElement(Title$5, null, "GEM SELECTION"), React.createElement(Subtitle, null, "Select gems to detach")), React.createElement(GemGrid, null, (_item$attachedGems = item.attachedGems) == null ? void 0 : _item$attachedGems.map(function (gem, index) {
32850
+ return React.createElement(GemItem, {
32851
+ key: gem.key + "-" + index
32852
+ }, React.createElement(CheckItemWrapper, null, React.createElement(CheckItem, {
32853
+ defaultValue: selectedGems.some(function (selected) {
32854
+ return selected.key === gem.key;
32855
+ }),
32856
+ onChange: function onChange() {
32857
+ handleGemToggle(gem);
32858
+ }
32859
+ })), React.createElement(SpriteWrapper, null, React.createElement(SpriteFromAtlas, {
32860
+ atlasIMG: atlasIMG,
32861
+ atlasJSON: atlasJSON,
32862
+ spriteKey: "gems/" + gem.key + ".png",
32863
+ imgScale: 2,
32864
+ imgClassname: "gem-sprite",
32865
+ centered: true
32866
+ })), React.createElement(GemName, null, gem.name.replace(/ of /gi, '\n').toUpperCase()));
32867
+ })), React.createElement(ButtonWrapper, null, React.createElement(Button, {
32868
+ buttonType: ButtonTypes.RPGUIButton,
32869
+ onPointerDown: function onPointerDown() {
32870
+ onClose();
32871
+ }
32872
+ }, "Cancel"), React.createElement(Button, {
32873
+ buttonType: ButtonTypes.RPGUIButton,
32874
+ onPointerDown: function onPointerDown() {
32875
+ handleConfirm();
32876
+ },
32877
+ disabled: selectedGems.length === 0
32878
+ }, "Confirm"))));
32879
+ };
32880
+ var Title$5 = /*#__PURE__*/styled.h1.withConfig({
32881
+ displayName: "GemSelector__Title",
32882
+ componentId: "sc-gbt8g4-0"
32883
+ })(["font-size:0.8rem;color:", " !important;"], uiColors.yellow);
32884
+ var Subtitle = /*#__PURE__*/styled.h2.withConfig({
32885
+ displayName: "GemSelector__Subtitle",
32886
+ componentId: "sc-gbt8g4-1"
32887
+ })(["font-size:0.6rem;color:", ";margin:0;"], uiColors.white);
32888
+ var Header$4 = /*#__PURE__*/styled.div.withConfig({
32889
+ displayName: "GemSelector__Header",
32890
+ componentId: "sc-gbt8g4-2"
32891
+ })(["text-align:center;padding:5px;border-bottom:2px solid #444;"]);
32892
+ var GemGrid = /*#__PURE__*/styled.div.withConfig({
32893
+ displayName: "GemSelector__GemGrid",
32894
+ componentId: "sc-gbt8g4-3"
32895
+ })(["display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:20px;margin-top:10px;min-height:150px;overflow-y:auto;"]);
32896
+ var ContentWrapper$1 = /*#__PURE__*/styled.div.withConfig({
32897
+ displayName: "GemSelector__ContentWrapper",
32898
+ componentId: "sc-gbt8g4-4"
32899
+ })(["display:flex;flex-direction:column;align-items:center;margin-left:20px;justify-content:space-between;height:100%;"]);
32900
+ var GemItem = /*#__PURE__*/styled.div.withConfig({
32901
+ displayName: "GemSelector__GemItem",
32902
+ componentId: "sc-gbt8g4-5"
32903
+ })(["display:flex;flex-direction:column;align-items:center;justify-content:space-between;background-color:", " !important;height:100px;width:90px;padding:5px;"], uiColors.darkGray);
32904
+ var GemName = /*#__PURE__*/styled.div.withConfig({
32905
+ displayName: "GemSelector__GemName",
32906
+ componentId: "sc-gbt8g4-6"
32907
+ })(["font-size:0.5rem;color:", " !important;text-align:center;text-transform:uppercase;line-height:1.2;width:100%;min-height:30px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;word-break:break-word;"], uiColors.yellow);
32908
+ var ButtonWrapper = /*#__PURE__*/styled.div.withConfig({
32909
+ displayName: "GemSelector__ButtonWrapper",
32910
+ componentId: "sc-gbt8g4-7"
32911
+ })(["display:flex;justify-content:center;align-self:center;"]);
32912
+ var CheckItemWrapper = /*#__PURE__*/styled.div.withConfig({
32913
+ displayName: "GemSelector__CheckItemWrapper",
32914
+ componentId: "sc-gbt8g4-8"
32915
+ })(["display:flex;justify-content:center;width:100%;height:20px;input.rpgui-checkbox + label{margin:0 !important;padding-left:23px !important;}"]);
32916
+ var SpriteWrapper = /*#__PURE__*/styled.div.withConfig({
32917
+ displayName: "GemSelector__SpriteWrapper",
32918
+ componentId: "sc-gbt8g4-9"
32919
+ })(["display:flex;align-items:center;justify-content:center;width:100%;height:50px;"]);
32920
+
31435
32921
  var ItemSelector = function ItemSelector(_ref) {
31436
32922
  var atlasIMG = _ref.atlasIMG,
31437
32923
  atlasJSON = _ref.atlasJSON,
@@ -31464,7 +32950,7 @@ var ItemSelector = function ItemSelector(_ref) {
31464
32950
  style: {
31465
32951
  width: '100%'
31466
32952
  }
31467
- }, React.createElement(Title$3, null, 'Harvesting instruments'), React.createElement(Subtitle, null, 'Use the tool, you need it'), React.createElement("hr", {
32953
+ }, React.createElement(Title$6, null, 'Harvesting instruments'), React.createElement(Subtitle$1, null, 'Use the tool, you need it'), React.createElement("hr", {
31468
32954
  className: "golden"
31469
32955
  })), React.createElement(RadioInputScroller$1, null, options == null ? void 0 : options.map(function (option, index) {
31470
32956
  return React.createElement(RadioOptionsWrapper$1, {
@@ -31486,18 +32972,18 @@ var ItemSelector = function ItemSelector(_ref) {
31486
32972
  alignItems: 'center'
31487
32973
  }
31488
32974
  }, option.name, " ", React.createElement("br", null), option.description)));
31489
- })), React.createElement(ButtonWrapper, null, React.createElement(Button, {
32975
+ })), React.createElement(ButtonWrapper$1, null, React.createElement(Button, {
31490
32976
  buttonType: ButtonTypes.RPGUIButton,
31491
32977
  onPointerDown: onClose
31492
32978
  }, "Cancel"), React.createElement(Button, {
31493
32979
  buttonType: ButtonTypes.RPGUIButton
31494
32980
  }, "Select")));
31495
32981
  };
31496
- var Title$3 = /*#__PURE__*/styled.h1.withConfig({
32982
+ var Title$6 = /*#__PURE__*/styled.h1.withConfig({
31497
32983
  displayName: "ItemSelector__Title",
31498
32984
  componentId: "sc-gptoxp-0"
31499
32985
  })(["font-size:0.6rem;color:yellow !important;"]);
31500
- var Subtitle = /*#__PURE__*/styled.h1.withConfig({
32986
+ var Subtitle$1 = /*#__PURE__*/styled.h1.withConfig({
31501
32987
  displayName: "ItemSelector__Subtitle",
31502
32988
  componentId: "sc-gptoxp-1"
31503
32989
  })(["font-size:0.4rem;color:yellow !important;"]);
@@ -31513,7 +32999,7 @@ var RadioOptionsWrapper$1 = /*#__PURE__*/styled.div.withConfig({
31513
32999
  displayName: "ItemSelector__RadioOptionsWrapper",
31514
33000
  componentId: "sc-gptoxp-4"
31515
33001
  })(["display:flex;align-items:stretch;margin-bottom:40px;"]);
31516
- var ButtonWrapper = /*#__PURE__*/styled.div.withConfig({
33002
+ var ButtonWrapper$1 = /*#__PURE__*/styled.div.withConfig({
31517
33003
  displayName: "ItemSelector__ButtonWrapper",
31518
33004
  componentId: "sc-gptoxp-5"
31519
33005
  })(["display:flex;justify-content:space-around;padding-top:20px;width:100%;"]);
@@ -31599,15 +33085,15 @@ var Leaderboard = function Leaderboard(props) {
31599
33085
  option: itemType
31600
33086
  };
31601
33087
  });
31602
- return React.createElement(React.Fragment, null, React.createElement(WrapperContainer, null, React.createElement(StyledDropdown, {
33088
+ return React.createElement(React.Fragment, null, React.createElement(WrapperContainer, null, React.createElement(StyledDropdown$1, {
31603
33089
  options: rankTypeOptions,
31604
33090
  onChange: onChangeRankType,
31605
33091
  width: "80%"
31606
- }), rankType === 'Class' ? React.createElement(StyledDropdown, {
33092
+ }), rankType === 'Class' ? React.createElement(StyledDropdown$1, {
31607
33093
  options: classTypeOptions,
31608
33094
  onChange: onChangeClassType,
31609
33095
  width: "100%"
31610
- }) : null, rankType === 'Skill' ? React.createElement(StyledDropdown, {
33096
+ }) : null, rankType === 'Skill' ? React.createElement(StyledDropdown$1, {
31611
33097
  options: skillTypeOptions,
31612
33098
  onChange: onChangeSkillType,
31613
33099
  width: "100%"
@@ -31623,7 +33109,7 @@ var WrapperContainer = /*#__PURE__*/styled.div.withConfig({
31623
33109
  displayName: "Leaderboard__WrapperContainer",
31624
33110
  componentId: "sc-1wdsq7i-0"
31625
33111
  })(["display:grid;grid-template-columns:50% 50%;justify-content:space-between;width:calc(100% - 40px);margin-left:10px;.rpgui-content .rpgui-dropdown-imp-header{padding:0px 10px 0 !important;}"]);
31626
- var StyledDropdown = /*#__PURE__*/styled(Dropdown).withConfig({
33112
+ var StyledDropdown$1 = /*#__PURE__*/styled(Dropdown).withConfig({
31627
33113
  displayName: "Leaderboard__StyledDropdown",
31628
33114
  componentId: "sc-1wdsq7i-1"
31629
33115
  })(["margin:3px !important;width:170px !important;"]);
@@ -31641,7 +33127,7 @@ var ListMenu = function ListMenu(_ref) {
31641
33127
  onSelected = _ref.onSelected,
31642
33128
  x = _ref.x,
31643
33129
  y = _ref.y;
31644
- return React.createElement(Container$n, {
33130
+ return React.createElement(Container$u, {
31645
33131
  x: x,
31646
33132
  y: y
31647
33133
  }, React.createElement("ul", {
@@ -31658,7 +33144,7 @@ var ListMenu = function ListMenu(_ref) {
31658
33144
  }, (params == null ? void 0 : params.text) || 'No text');
31659
33145
  })));
31660
33146
  };
31661
- var Container$n = /*#__PURE__*/styled.div.withConfig({
33147
+ var Container$u = /*#__PURE__*/styled.div.withConfig({
31662
33148
  displayName: "ListMenu__Container",
31663
33149
  componentId: "sc-i9097t-0"
31664
33150
  })(["display:flex;flex-direction:column;width:100%;justify-content:start;align-items:flex-start;position:absolute;top:", "px;left:", "px;li{font-size:", ";}"], function (props) {
@@ -31677,7 +33163,7 @@ var Pager = function Pager(_ref) {
31677
33163
  itemsPerPage = _ref.itemsPerPage,
31678
33164
  onPageChange = _ref.onPageChange;
31679
33165
  var totalPages = Math.ceil(totalItems / itemsPerPage);
31680
- return React.createElement(Container$o, null, React.createElement("p", null, "Total items: ", totalItems), React.createElement(PagerContainer, null, React.createElement("button", {
33166
+ return React.createElement(Container$v, null, React.createElement("p", null, "Total items: ", totalItems), React.createElement(PagerContainer, null, React.createElement("button", {
31681
33167
  disabled: currentPage === 1,
31682
33168
  onPointerDown: function onPointerDown() {
31683
33169
  return onPageChange(Math.max(currentPage - 1, 1));
@@ -31691,7 +33177,7 @@ var Pager = function Pager(_ref) {
31691
33177
  }
31692
33178
  }, '>')));
31693
33179
  };
31694
- var Container$o = /*#__PURE__*/styled.div.withConfig({
33180
+ var Container$v = /*#__PURE__*/styled.div.withConfig({
31695
33181
  displayName: "Pager__Container",
31696
33182
  componentId: "sc-1ekmf50-0"
31697
33183
  })(["display:flex;flex-direction:column;align-items:center;p{margin:0;font-size:", ";}"], uiFonts.size.xsmall);
@@ -31704,7 +33190,7 @@ var ConfirmModal = function ConfirmModal(_ref) {
31704
33190
  var onConfirm = _ref.onConfirm,
31705
33191
  onClose = _ref.onClose,
31706
33192
  message = _ref.message;
31707
- return React.createElement(ModalPortal, null, React.createElement(Background, null), React.createElement(Container$p, {
33193
+ return React.createElement(ModalPortal, null, React.createElement(Background, null), React.createElement(Container$w, {
31708
33194
  onPointerDown: onClose
31709
33195
  }, React.createElement(DraggableContainer, {
31710
33196
  width: "auto",
@@ -31727,7 +33213,7 @@ var Background = /*#__PURE__*/styled.div.withConfig({
31727
33213
  displayName: "ConfirmModal__Background",
31728
33214
  componentId: "sc-11qkyu1-0"
31729
33215
  })(["position:absolute;width:100%;height:100%;background-color:#000000;opacity:0.5;left:0;top:0;z-index:1000;"]);
31730
- var Container$p = /*#__PURE__*/styled.div.withConfig({
33216
+ var Container$w = /*#__PURE__*/styled.div.withConfig({
31731
33217
  displayName: "ConfirmModal__Container",
31732
33218
  componentId: "sc-11qkyu1-1"
31733
33219
  })(["position:absolute;width:100%;height:100%;left:0;top:0;display:flex;justify-content:center;align-items:center;z-index:1001;"]);
@@ -31753,7 +33239,7 @@ var MarketplaceRows = function MarketplaceRows(_ref) {
31753
33239
  var renderGems = function renderGems(item) {
31754
33240
  return item.attachedGems && onRenderGems(item);
31755
33241
  };
31756
- return React.createElement(MarketplaceWrapper, null, React.createElement(ItemIconContainer, null, React.createElement(SpriteContainer$1, null, React.createElement(ItemInfoWrapper, {
33242
+ return React.createElement(MarketplaceWrapper, null, React.createElement(ItemIconContainer, null, React.createElement(SpriteContainer$3, null, React.createElement(ItemInfoWrapper, {
31757
33243
  item: item,
31758
33244
  atlasIMG: atlasIMG,
31759
33245
  atlasJSON: atlasJSON,
@@ -31819,7 +33305,7 @@ var GoldContainer = /*#__PURE__*/styled.div.withConfig({
31819
33305
  displayName: "MarketplaceRows__GoldContainer",
31820
33306
  componentId: "sc-wmpr1o-5"
31821
33307
  })(["position:relative;top:-0.5rem;left:0.5rem;"]);
31822
- var SpriteContainer$1 = /*#__PURE__*/styled.div.withConfig({
33308
+ var SpriteContainer$3 = /*#__PURE__*/styled.div.withConfig({
31823
33309
  displayName: "MarketplaceRows__SpriteContainer",
31824
33310
  componentId: "sc-wmpr1o-6"
31825
33311
  })(["position:relative;left:0.5rem;"]);
@@ -32004,15 +33490,15 @@ var BuyPanel = function BuyPanel(_ref) {
32004
33490
  className: "big-input",
32005
33491
  onBlur: enableHotkeys,
32006
33492
  onFocus: disableHotkeys
32007
- }))), React.createElement(WrapperContainer$1, null, React.createElement(StyledDropdown$1, {
33493
+ }))), React.createElement(WrapperContainer$1, null, React.createElement(StyledDropdown$2, {
32008
33494
  options: itemTypeOptions,
32009
33495
  onChange: onChangeType,
32010
33496
  width: "95%"
32011
- }), React.createElement(StyledDropdown$1, {
33497
+ }), React.createElement(StyledDropdown$2, {
32012
33498
  options: itemRarityOptions,
32013
33499
  onChange: onChangeRarity,
32014
33500
  width: "95%"
32015
- }), React.createElement(StyledDropdown$1, {
33501
+ }), React.createElement(StyledDropdown$2, {
32016
33502
  options: orderByOptions,
32017
33503
  onChange: onChangeOrder,
32018
33504
  width: "100%"
@@ -32056,7 +33542,7 @@ var ItemComponentScrollWrapper$1 = /*#__PURE__*/styled.div.withConfig({
32056
33542
  displayName: "BuyPanel__ItemComponentScrollWrapper",
32057
33543
  componentId: "sc-1si8t7i-4"
32058
33544
  })(["overflow-y:scroll;height:390px;width:100%;margin-top:1rem;@media (max-width:950px){height:250px;}"]);
32059
- var StyledDropdown$1 = /*#__PURE__*/styled(Dropdown).withConfig({
33545
+ var StyledDropdown$2 = /*#__PURE__*/styled(Dropdown).withConfig({
32060
33546
  displayName: "BuyPanel__StyledDropdown",
32061
33547
  componentId: "sc-1si8t7i-5"
32062
33548
  })(["margin:3px !important;width:170px !important;"]);
@@ -32252,13 +33738,13 @@ var TabBody = function TabBody(_ref) {
32252
33738
  children = _ref.children,
32253
33739
  styles = _ref.styles,
32254
33740
  centerContent = _ref.centerContent;
32255
- return React.createElement(Container$q, {
33741
+ return React.createElement(Container$x, {
32256
33742
  styles: styles,
32257
33743
  "data-tab-id": id,
32258
33744
  centerContent: centerContent
32259
33745
  }, children);
32260
33746
  };
32261
- var Container$q = /*#__PURE__*/styled.div.withConfig({
33747
+ var Container$x = /*#__PURE__*/styled.div.withConfig({
32262
33748
  displayName: "TabBody__Container",
32263
33749
  componentId: "sc-196oof2-0"
32264
33750
  })(["width:", ";height:", ";overflow-y:auto;display:", ";justify-content:", ";align-items:", ";"], function (props) {
@@ -32404,12 +33890,12 @@ var PartyCreate = function PartyCreate(_ref) {
32404
33890
  style: {
32405
33891
  width: '100%'
32406
33892
  }
32407
- }, React.createElement(Title$4, null, "Create Party"), React.createElement("hr", {
33893
+ }, React.createElement(Title$7, null, "Create Party"), React.createElement("hr", {
32408
33894
  className: "golden"
32409
33895
  }))), React.createElement("h1", null, "Type your party name"), React.createElement(Input, {
32410
33896
  placeholder: "Type party name",
32411
33897
  type: "text"
32412
- }), React.createElement(ButtonWrapper$1, null, React.createElement(Button, {
33898
+ }), React.createElement(ButtonWrapper$2, null, React.createElement(Button, {
32413
33899
  buttonType: ButtonTypes.RPGUIButton,
32414
33900
  onPointerDown: function onPointerDown() {
32415
33901
  onCreate();
@@ -32427,11 +33913,11 @@ var Wrapper$2 = /*#__PURE__*/styled.div.withConfig({
32427
33913
  displayName: "PartyCreate__Wrapper",
32428
33914
  componentId: "sc-13brop0-0"
32429
33915
  })(["display:flex;flex-direction:column;width:100%;"]);
32430
- var Title$4 = /*#__PURE__*/styled.h1.withConfig({
33916
+ var Title$7 = /*#__PURE__*/styled.h1.withConfig({
32431
33917
  displayName: "PartyCreate__Title",
32432
33918
  componentId: "sc-13brop0-1"
32433
33919
  })(["font-size:0.6rem;color:", " !important;"], uiColors.yellow);
32434
- var ButtonWrapper$1 = /*#__PURE__*/styled.div.withConfig({
33920
+ var ButtonWrapper$2 = /*#__PURE__*/styled.div.withConfig({
32435
33921
  displayName: "PartyCreate__ButtonWrapper",
32436
33922
  componentId: "sc-13brop0-2"
32437
33923
  })(["margin-top:10px;width:100%;display:flex;justify-content:space-around;align-items:center;.cancel-button{filter:grayscale(0.7);}"]);
@@ -32476,7 +33962,7 @@ var PartyDashboard = function PartyDashboard(_ref) {
32476
33962
  style: {
32477
33963
  width: '100%'
32478
33964
  }
32479
- }, React.createElement(Title$5, null, "Party Dashboard"), React.createElement(Button, {
33965
+ }, React.createElement(Title$8, null, "Party Dashboard"), React.createElement(Button, {
32480
33966
  buttonType: ButtonTypes.RPGUIButton
32481
33967
  }, "Create"), React.createElement("hr", {
32482
33968
  className: "golden"
@@ -32503,7 +33989,7 @@ var RowsWrapper = /*#__PURE__*/styled.div.withConfig({
32503
33989
  displayName: "PartyDashboard__RowsWrapper",
32504
33990
  componentId: "sc-16cm41r-1"
32505
33991
  })(["overflow-y:scroll;-webkit-overflow-scrolling:touch;width:100%;height:200px;"]);
32506
- var Title$5 = /*#__PURE__*/styled.h1.withConfig({
33992
+ var Title$8 = /*#__PURE__*/styled.h1.withConfig({
32507
33993
  displayName: "PartyDashboard__Title",
32508
33994
  componentId: "sc-16cm41r-2"
32509
33995
  })(["font-size:0.6rem;color:", " !important;"], uiColors.yellow);
@@ -32540,7 +34026,7 @@ var PartyInvite = function PartyInvite(_ref) {
32540
34026
  style: {
32541
34027
  width: '100%'
32542
34028
  }
32543
- }, React.createElement(Title$6, null, "Invite for Party"), React.createElement("hr", {
34029
+ }, React.createElement(Title$9, null, "Invite for Party"), React.createElement("hr", {
32544
34030
  className: "golden"
32545
34031
  }))), React.createElement(RowsWrapper$1, {
32546
34032
  className: "playersRows"
@@ -32559,7 +34045,7 @@ var Wrapper$4 = /*#__PURE__*/styled.div.withConfig({
32559
34045
  displayName: "PartyInvite__Wrapper",
32560
34046
  componentId: "sc-eu8ggt-0"
32561
34047
  })(["display:flex;flex-direction:column;width:100%;"]);
32562
- var Title$6 = /*#__PURE__*/styled.h1.withConfig({
34048
+ var Title$9 = /*#__PURE__*/styled.h1.withConfig({
32563
34049
  displayName: "PartyInvite__Title",
32564
34050
  componentId: "sc-eu8ggt-1"
32565
34051
  })(["font-size:0.6rem;color:", " !important;"], uiColors.yellow);
@@ -32911,7 +34397,7 @@ var ProgressBar = function ProgressBar(_ref) {
32911
34397
  }
32912
34398
  return value * 100 / max;
32913
34399
  };
32914
- return React.createElement(Container$r, {
34400
+ return React.createElement(Container$y, {
32915
34401
  className: "rpgui-progress",
32916
34402
  "data-value": calculatePercentageValue(max, value) / 100,
32917
34403
  "data-rpguitype": "progress",
@@ -32941,7 +34427,7 @@ var TextOverlay$1 = /*#__PURE__*/styled.div.withConfig({
32941
34427
  displayName: "ProgressBar__TextOverlay",
32942
34428
  componentId: "sc-qa6fzh-1"
32943
34429
  })(["width:100%;position:relative;"]);
32944
- var Container$r = /*#__PURE__*/styled.div.withConfig({
34430
+ var Container$y = /*#__PURE__*/styled.div.withConfig({
32945
34431
  displayName: "ProgressBar__Container",
32946
34432
  componentId: "sc-qa6fzh-2"
32947
34433
  })(["display:flex;flex-direction:column;min-width:", "px;width:", "%;justify-content:start;align-items:flex-start;", " @media (max-width:950px){transform:scale(", ");}"], function (props) {
@@ -32997,11 +34483,11 @@ var QuestInfo = function QuestInfo(_ref) {
32997
34483
  onPointerDown: onRightClick
32998
34484
  }), React.createElement(QuestContainer, null, React.createElement(TitleContainer$1, {
32999
34485
  className: "drag-handler"
33000
- }, React.createElement(Title$7, null, React.createElement(Thumbnail, {
34486
+ }, React.createElement(Title$a, null, React.createElement(Thumbnail, {
33001
34487
  src: quests[currentIndex].thumbnail || img$8
33002
34488
  }), quests[currentIndex].title), React.createElement(QuestSplitDiv, null, React.createElement("hr", {
33003
34489
  className: "golden"
33004
- }))), React.createElement(Content, null, React.createElement("p", null, quests[currentIndex].description)), React.createElement(QuestColumn, {
34490
+ }))), React.createElement(Content$3, null, React.createElement("p", null, quests[currentIndex].description)), React.createElement(QuestColumn, {
33005
34491
  className: "dark-background",
33006
34492
  justifyContent: "flex-end"
33007
34493
  }, buttons && buttons.map(function (button, index) {
@@ -33016,11 +34502,11 @@ var QuestInfo = function QuestInfo(_ref) {
33016
34502
  }, button.title);
33017
34503
  })))) : React.createElement(QuestsContainer, null, React.createElement(QuestContainer, null, React.createElement(TitleContainer$1, {
33018
34504
  className: "drag-handler"
33019
- }, React.createElement(Title$7, null, React.createElement(Thumbnail, {
34505
+ }, React.createElement(Title$a, null, React.createElement(Thumbnail, {
33020
34506
  src: quests[0].thumbnail || img$8
33021
34507
  }), quests[0].title), React.createElement(QuestSplitDiv, null, React.createElement("hr", {
33022
34508
  className: "golden"
33023
- }))), React.createElement(Content, null, React.createElement("p", null, quests[0].description)), React.createElement(QuestColumn, {
34509
+ }))), React.createElement(Content$3, null, React.createElement("p", null, quests[0].description)), React.createElement(QuestColumn, {
33024
34510
  className: "dark-background",
33025
34511
  justifyContent: "flex-end"
33026
34512
  }, buttons && buttons.map(function (button, index) {
@@ -33047,7 +34533,7 @@ var QuestsContainer = /*#__PURE__*/styled.div.withConfig({
33047
34533
  displayName: "QuestInfo__QuestsContainer",
33048
34534
  componentId: "sc-1wccpiy-2"
33049
34535
  })(["display:flex;align-items:center;"]);
33050
- var Content = /*#__PURE__*/styled.div.withConfig({
34536
+ var Content$3 = /*#__PURE__*/styled.div.withConfig({
33051
34537
  displayName: "QuestInfo__Content",
33052
34538
  componentId: "sc-1wccpiy-3"
33053
34539
  })(["padding:18px;h1{text-align:left;margin:14px 0px;}"]);
@@ -33063,7 +34549,7 @@ var TitleContainer$1 = /*#__PURE__*/styled.div.withConfig({
33063
34549
  displayName: "QuestInfo__TitleContainer",
33064
34550
  componentId: "sc-1wccpiy-6"
33065
34551
  })(["width:100%;display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:center;margin-top:1rem;"]);
33066
- var Title$7 = /*#__PURE__*/styled.h1.withConfig({
34552
+ var Title$a = /*#__PURE__*/styled.h1.withConfig({
33067
34553
  displayName: "QuestInfo__Title",
33068
34554
  componentId: "sc-1wccpiy-7"
33069
34555
  })(["color:white;z-index:22;font-size:", " !important;color:", " !important;"], uiFonts.size.medium, uiColors.yellow);
@@ -33082,19 +34568,19 @@ var QuestList = function QuestList(_ref) {
33082
34568
  return React.createElement(QuestCard, {
33083
34569
  key: i,
33084
34570
  style: styles == null ? void 0 : styles.card
33085
- }, React.createElement(QuestItem, null, React.createElement(Label, {
34571
+ }, React.createElement(QuestItem, null, React.createElement(Label$2, {
33086
34572
  style: styles == null ? void 0 : styles.label
33087
- }, "Title:"), React.createElement(Value, {
34573
+ }, "Title:"), React.createElement(Value$2, {
33088
34574
  style: styles == null ? void 0 : styles.value
33089
- }, formatQuestText(quest.title))), React.createElement(QuestItem, null, React.createElement(Label, {
34575
+ }, formatQuestText(quest.title))), React.createElement(QuestItem, null, React.createElement(Label$2, {
33090
34576
  style: styles == null ? void 0 : styles.label
33091
- }, "Status:"), React.createElement(Value, {
34577
+ }, "Status:"), React.createElement(Value$2, {
33092
34578
  style: _extends({}, styles == null ? void 0 : styles.value, {
33093
34579
  color: getQuestStatusColor(quest.status)
33094
34580
  })
33095
- }, (_formatQuestStatus = formatQuestStatus(quest.status)) != null ? _formatQuestStatus : 'Unknown')), React.createElement(QuestItem, null, React.createElement(Label, {
34581
+ }, (_formatQuestStatus = formatQuestStatus(quest.status)) != null ? _formatQuestStatus : 'Unknown')), React.createElement(QuestItem, null, React.createElement(Label$2, {
33096
34582
  style: styles == null ? void 0 : styles.label
33097
- }, "Description:"), React.createElement(Value, {
34583
+ }, "Description:"), React.createElement(Value$2, {
33098
34584
  style: styles == null ? void 0 : styles.value
33099
34585
  }, quest.description)));
33100
34586
  }) : React.createElement(NoQuestContainer, null, React.createElement("p", null, "There are no ongoing quests")));
@@ -33111,11 +34597,11 @@ var QuestItem = /*#__PURE__*/styled.div.withConfig({
33111
34597
  displayName: "QuestList__QuestItem",
33112
34598
  componentId: "sc-1c1y8sp-2"
33113
34599
  })(["display:flex;margin-bottom:5px;flex-wrap:wrap;&:last-child{margin-bottom:0;}"]);
33114
- var Label = /*#__PURE__*/styled.span.withConfig({
34600
+ var Label$2 = /*#__PURE__*/styled.span.withConfig({
33115
34601
  displayName: "QuestList__Label",
33116
34602
  componentId: "sc-1c1y8sp-3"
33117
34603
  })(["font-weight:bold;color:", " !important;margin-right:10px;"], uiColors.yellow);
33118
- var Value = /*#__PURE__*/styled.span.withConfig({
34604
+ var Value$2 = /*#__PURE__*/styled.span.withConfig({
33119
34605
  displayName: "QuestList__Value",
33120
34606
  componentId: "sc-1c1y8sp-4"
33121
34607
  })(["flex-grow:1;color:", ";word-wrap:break-word;"], uiColors.white);
@@ -33182,9 +34668,9 @@ var InputRadio = function InputRadio(_ref) {
33182
34668
 
33183
34669
  var RPGUIScrollbar = function RPGUIScrollbar(_ref) {
33184
34670
  var children = _ref.children;
33185
- return React.createElement(Container$s, null, children);
34671
+ return React.createElement(Container$z, null, children);
33186
34672
  };
33187
- var Container$s = /*#__PURE__*/styled.div.withConfig({
34673
+ var Container$z = /*#__PURE__*/styled.div.withConfig({
33188
34674
  displayName: "RPGUIScrollbar__Container",
33189
34675
  componentId: "sc-p3msmb-0"
33190
34676
  })([".rpgui-content ::-webkit-scrollbar,.rpgui-content::-webkit-scrollbar{width:25px !important;}.rpgui-content ::-webkit-scrollbar-track,.rpgui-content::-webkit-scrollbar-track{background-size:25px 60px !important;}"]);
@@ -33340,7 +34826,7 @@ var SimpleProgressBar = function SimpleProgressBar(_ref) {
33340
34826
  margin = _ref$margin === void 0 ? 20 : _ref$margin;
33341
34827
  // Ensure the width is at least 1% if value is greater than 0
33342
34828
  var width = value > 0 ? Math.max(1, Math.min(100, value)) : 0;
33343
- return React.createElement(Container$t, {
34829
+ return React.createElement(Container$A, {
33344
34830
  className: "simple-progress-bar"
33345
34831
  }, React.createElement(ProgressBarContainer, {
33346
34832
  margin: margin
@@ -33349,7 +34835,7 @@ var SimpleProgressBar = function SimpleProgressBar(_ref) {
33349
34835
  bgColor: bgColor
33350
34836
  }))));
33351
34837
  };
33352
- var Container$t = /*#__PURE__*/styled.div.withConfig({
34838
+ var Container$A = /*#__PURE__*/styled.div.withConfig({
33353
34839
  displayName: "SimpleProgressBar__Container",
33354
34840
  componentId: "sc-mbeil3-0"
33355
34841
  })(["display:flex;justify-content:center;align-items:center;width:100%;"]);
@@ -33405,7 +34891,7 @@ var SkillProgressBar = function SkillProgressBar(_ref) {
33405
34891
  var result = level * (buffAndDebuff / 100);
33406
34892
  return result > 0 ? "+" + result.toFixed(2) : "" + result.toFixed(2);
33407
34893
  };
33408
- return React.createElement(React.Fragment, null, React.createElement(ProgressTitle, null, buffAndDebuff !== undefined && React.createElement(React.Fragment, null, buffAndDebuff > 0 ? React.createElement(BuffAndDebuffContainer, null, React.createElement(TitleNameContainer, null, React.createElement(TitleNameBuff, null, skillName), React.createElement(TitleNameBuff, null, "lv ", level, " (", skillsBuffsCalc(level, buffAndDebuff), ")")), React.createElement(TitleNameBuffContainer, null, React.createElement(TitleNameBuff, null, "(+", formatBuffAndDebuff(buffAndDebuff), "%)"))) : buffAndDebuff < 0 ? React.createElement(React.Fragment, null, React.createElement(TitleNameContainer, null, React.createElement(TitleNameDebuff, null, skillName), React.createElement(TitleNameDebuff, null, "lv ", level, " (", skillsBuffsCalc(level, buffAndDebuff), ")")), React.createElement("div", null, React.createElement(TitleNameDebuff, null, "(", formatBuffAndDebuff(buffAndDebuff), "%)"))) : React.createElement(TitleName, null, skillName)), !buffAndDebuff && React.createElement(TitleNameContainer, null, React.createElement(TitleName, null, skillName), React.createElement(ValueDisplay, null, "lv ", level))), React.createElement(ProgressBody, null, React.createElement(ProgressIconContainer, null, atlasIMG && atlasJSON ? React.createElement(SpriteContainer$2, null, React.createElement(ErrorBoundary, null, React.createElement(SpriteFromAtlas, {
34894
+ return React.createElement(React.Fragment, null, React.createElement(ProgressTitle, null, buffAndDebuff !== undefined && React.createElement(React.Fragment, null, buffAndDebuff > 0 ? React.createElement(BuffAndDebuffContainer, null, React.createElement(TitleNameContainer, null, React.createElement(TitleNameBuff, null, skillName), React.createElement(TitleNameBuff, null, "lv ", level, " (", skillsBuffsCalc(level, buffAndDebuff), ")")), React.createElement(TitleNameBuffContainer, null, React.createElement(TitleNameBuff, null, "(+", formatBuffAndDebuff(buffAndDebuff), "%)"))) : buffAndDebuff < 0 ? React.createElement(React.Fragment, null, React.createElement(TitleNameContainer, null, React.createElement(TitleNameDebuff, null, skillName), React.createElement(TitleNameDebuff, null, "lv ", level, " (", skillsBuffsCalc(level, buffAndDebuff), ")")), React.createElement("div", null, React.createElement(TitleNameDebuff, null, "(", formatBuffAndDebuff(buffAndDebuff), "%)"))) : React.createElement(TitleName, null, skillName)), !buffAndDebuff && React.createElement(TitleNameContainer, null, React.createElement(TitleName, null, skillName), React.createElement(ValueDisplay, null, "lv ", level))), React.createElement(ProgressBody, null, React.createElement(ProgressIconContainer, null, atlasIMG && atlasJSON ? React.createElement(SpriteContainer$4, null, React.createElement(ErrorBoundary, null, React.createElement(SpriteFromAtlas, {
33409
34895
  atlasIMG: atlasIMG,
33410
34896
  atlasJSON: atlasJSON,
33411
34897
  spriteKey: texturePath,
@@ -33421,7 +34907,7 @@ var ProgressBarWrapper = /*#__PURE__*/styled.div.withConfig({
33421
34907
  displayName: "SkillProgressBar__ProgressBarWrapper",
33422
34908
  componentId: "sc-5vuroc-0"
33423
34909
  })(["position:relative;&:hover ", ",&:active ", "{visibility:visible;}width:100%;height:auto;top:8px;"], Tooltip, Tooltip);
33424
- var SpriteContainer$2 = /*#__PURE__*/styled.div.withConfig({
34910
+ var SpriteContainer$4 = /*#__PURE__*/styled.div.withConfig({
33425
34911
  displayName: "SkillProgressBar__SpriteContainer",
33426
34912
  componentId: "sc-5vuroc-1"
33427
34913
  })(["position:relative;top:-3px;left:0;"]);
@@ -33575,7 +35061,7 @@ var SkillsContainer = function SkillsContainer(_ref) {
33575
35061
  cancelDrag: "#skillsDiv",
33576
35062
  scale: scale,
33577
35063
  width: "100%"
33578
- }, onCloseButton && React.createElement(CloseButton$6, {
35064
+ }, onCloseButton && React.createElement(CloseButton$7, {
33579
35065
  onPointerDown: onCloseButton
33580
35066
  }, "X"), React.createElement(SkillsContainerDiv, {
33581
35067
  id: "skillsDiv"
@@ -33610,7 +35096,7 @@ var SkillSplitDiv = /*#__PURE__*/styled.div.withConfig({
33610
35096
  displayName: "SkillsContainer__SkillSplitDiv",
33611
35097
  componentId: "sc-1g0c67q-2"
33612
35098
  })(["width:100%;font-size:11px;hr{margin:0;margin-bottom:1rem;padding:0px;}p{margin-bottom:0px;}"]);
33613
- var CloseButton$6 = /*#__PURE__*/styled.div.withConfig({
35099
+ var CloseButton$7 = /*#__PURE__*/styled.div.withConfig({
33614
35100
  displayName: "SkillsContainer__CloseButton",
33615
35101
  componentId: "sc-1g0c67q-3"
33616
35102
  })(["position:absolute;top:2px;right:2px;color:white;z-index:22;font-size:1.1rem;"]);
@@ -33682,7 +35168,7 @@ var SocialModal = function SocialModal(_ref) {
33682
35168
  title: "Social Channels",
33683
35169
  width: "500px",
33684
35170
  onCloseButton: onClose
33685
- }, React.createElement(Container$u, null, React.createElement(HeaderImage, {
35171
+ }, React.createElement(Container$B, null, React.createElement(HeaderImage, {
33686
35172
  src: img$9,
33687
35173
  alt: ""
33688
35174
  }), React.createElement(ButtonsContainer$1, null, React.createElement(MainButtons, null, React.createElement(SocialButton$1, {
@@ -33700,7 +35186,7 @@ var SocialModal = function SocialModal(_ref) {
33700
35186
  onClick: handleWhatsAppClick
33701
35187
  }, React.createElement(FaWhatsapp, null), " Join WhatsApp")))));
33702
35188
  };
33703
- var Container$u = /*#__PURE__*/styled.div.withConfig({
35189
+ var Container$B = /*#__PURE__*/styled.div.withConfig({
33704
35190
  displayName: "SocialModal__Container",
33705
35191
  componentId: "sc-tbjhp9-0"
33706
35192
  })(["width:100%;display:flex;flex-direction:column;gap:16px;background-color:#5c4132;position:relative;border-radius:8px;overflow:hidden;&:before,&:after{content:'';position:absolute;left:0;right:0;height:3px;}&:before{bottom:0;background:linear-gradient( to right,#5c4132 0%,#2b1810 2%,#2b1810 98%,#5c4132 100% );}"]);
@@ -33736,7 +35222,7 @@ var formatSpellCastingType = function formatSpellCastingType(castingType) {
33736
35222
  return formattedCastingType;
33737
35223
  };
33738
35224
 
33739
- var SpellInfo = function SpellInfo(_ref) {
35225
+ var SpellInfo$1 = function SpellInfo(_ref) {
33740
35226
  var spell = _ref.spell;
33741
35227
  var magicWords = spell.magicWords,
33742
35228
  name = spell.name,
@@ -33746,7 +35232,7 @@ var SpellInfo = function SpellInfo(_ref) {
33746
35232
  castingType = spell.castingType,
33747
35233
  cooldown = spell.cooldown,
33748
35234
  maxDistanceGrid = spell.maxDistanceGrid;
33749
- return React.createElement(Container$v, null, React.createElement(Header$2, null, React.createElement("div", null, React.createElement(Title$8, null, name), React.createElement(Type$1, null, magicWords))), React.createElement(Statistic$1, null, React.createElement("div", {
35235
+ return React.createElement(Container$C, null, React.createElement(Header$5, null, React.createElement("div", null, React.createElement(Title$b, null, name), React.createElement(Type$1, null, magicWords))), React.createElement(Statistic$1, null, React.createElement("div", {
33750
35236
  className: "label"
33751
35237
  }, "Casting Type:"), React.createElement("div", {
33752
35238
  className: "value"
@@ -33770,13 +35256,13 @@ var SpellInfo = function SpellInfo(_ref) {
33770
35256
  className: "label"
33771
35257
  }, "Required Item:"), React.createElement("div", {
33772
35258
  className: "value"
33773
- }, requiredItem))), React.createElement(Description$2, null, description));
35259
+ }, requiredItem))), React.createElement(Description$4, null, description));
33774
35260
  };
33775
- var Container$v = /*#__PURE__*/styled.div.withConfig({
35261
+ var Container$C = /*#__PURE__*/styled.div.withConfig({
33776
35262
  displayName: "SpellInfo__Container",
33777
35263
  componentId: "sc-4hbw3q-0"
33778
35264
  })(["color:white;background-color:#222;border-radius:5px;padding:0.5rem;font-size:", ";border:3px solid ", ";height:max-content;width:30rem;@media (max-width:580px){width:80vw;}"], uiFonts.size.small, uiColors.lightGray);
33779
- var Title$8 = /*#__PURE__*/styled.div.withConfig({
35265
+ var Title$b = /*#__PURE__*/styled.div.withConfig({
33780
35266
  displayName: "SpellInfo__Title",
33781
35267
  componentId: "sc-4hbw3q-1"
33782
35268
  })(["font-size:", ";font-weight:bold;margin-bottom:0.5rem;display:flex;align-items:center;margin:0;"], uiFonts.size.medium);
@@ -33784,11 +35270,11 @@ var Type$1 = /*#__PURE__*/styled.div.withConfig({
33784
35270
  displayName: "SpellInfo__Type",
33785
35271
  componentId: "sc-4hbw3q-2"
33786
35272
  })(["font-size:", ";margin-top:0.2rem;color:", ";"], uiFonts.size.small, uiColors.lightGray);
33787
- var Description$2 = /*#__PURE__*/styled.div.withConfig({
35273
+ var Description$4 = /*#__PURE__*/styled.div.withConfig({
33788
35274
  displayName: "SpellInfo__Description",
33789
35275
  componentId: "sc-4hbw3q-3"
33790
35276
  })(["margin-top:1.5rem;font-size:", ";color:", ";font-style:italic;"], uiFonts.size.small, uiColors.lightGray);
33791
- var Header$2 = /*#__PURE__*/styled.div.withConfig({
35277
+ var Header$5 = /*#__PURE__*/styled.div.withConfig({
33792
35278
  displayName: "SpellInfo__Header",
33793
35279
  componentId: "sc-4hbw3q-4"
33794
35280
  })(["display:flex;align-items:center;justify-content:space-between;margin-bottom:0.5rem;"]);
@@ -33802,7 +35288,7 @@ var SpellInfoDisplay = function SpellInfoDisplay(_ref) {
33802
35288
  isMobile = _ref.isMobile;
33803
35289
  return React.createElement(Flex$3, {
33804
35290
  "$isMobile": isMobile
33805
- }, React.createElement(SpellInfo, {
35291
+ }, React.createElement(SpellInfo$1, {
33806
35292
  spell: spell
33807
35293
  }));
33808
35294
  };
@@ -33826,7 +35312,7 @@ var MobileSpellTooltip = function MobileSpellTooltip(_ref) {
33826
35312
  var _ref$current;
33827
35313
  (_ref$current = ref.current) == null ? void 0 : _ref$current.classList.add('fadeOut');
33828
35314
  };
33829
- return React.createElement(ModalPortal, null, React.createElement(Container$w, {
35315
+ return React.createElement(ModalPortal, null, React.createElement(Container$D, {
33830
35316
  ref: ref,
33831
35317
  onTouchEnd: function onTouchEnd() {
33832
35318
  handleFadeOut();
@@ -33851,7 +35337,7 @@ var MobileSpellTooltip = function MobileSpellTooltip(_ref) {
33851
35337
  }, option.text);
33852
35338
  }))));
33853
35339
  };
33854
- var Container$w = /*#__PURE__*/styled.div.withConfig({
35340
+ var Container$D = /*#__PURE__*/styled.div.withConfig({
33855
35341
  displayName: "MobileSpellTooltip__Container",
33856
35342
  componentId: "sc-6p7uvr-0"
33857
35343
  })(["position:absolute;z-index:100;left:0;top:0;width:100vw;height:100vh;background-color:rgba(0 0 0 / 0.5);display:flex;justify-content:center;align-items:center;gap:0.5rem;transition:opacity 0.08s;animation:fadeIn 0.1s forwards;@keyframes fadeIn{0%{opacity:0;}100%{opacity:0.92;}}@keyframes fadeOut{0%{opacity:0.92;}100%{opacity:0;}}&.fadeOut{animation:fadeOut 0.1s forwards;}@media (max-width:580px){flex-direction:column;}"]);
@@ -33892,13 +35378,13 @@ var MagicTooltip = function MagicTooltip(_ref) {
33892
35378
  }
33893
35379
  return;
33894
35380
  }, []);
33895
- return React.createElement(ModalPortal, null, React.createElement(Container$x, {
35381
+ return React.createElement(ModalPortal, null, React.createElement(Container$E, {
33896
35382
  ref: ref
33897
35383
  }, React.createElement(SpellInfoDisplay, {
33898
35384
  spell: spell
33899
35385
  })));
33900
35386
  };
33901
- var Container$x = /*#__PURE__*/styled.div.withConfig({
35387
+ var Container$E = /*#__PURE__*/styled.div.withConfig({
33902
35388
  displayName: "SpellTooltip__Container",
33903
35389
  componentId: "sc-1go0gwg-0"
33904
35390
  })(["position:absolute;z-index:100;pointer-events:none;left:0;top:0;opacity:0;transition:opacity 0.08s;"]);
@@ -33971,11 +35457,11 @@ var Spell = function Spell(_ref) {
33971
35457
  var IMAGE_SCALE = 2;
33972
35458
  return React.createElement(SpellInfoWrapper, {
33973
35459
  spell: spell
33974
- }, React.createElement(Container$y, {
35460
+ }, React.createElement(Container$F, {
33975
35461
  onPointerUp: onPointerUp == null ? void 0 : onPointerUp.bind(null, spellKey),
33976
35462
  isSettingShortcut: isSettingShortcut && !disabled,
33977
35463
  className: "spell"
33978
- }, disabled && React.createElement(Overlay, null, charMagicLevel < minMagicLevelRequired ? 'Low magic level' : manaCost > charMana && 'No mana'), React.createElement(SpellImage, null, activeCooldown && activeCooldown > 0 ? React.createElement("span", {
35464
+ }, disabled && React.createElement(Overlay$1, null, charMagicLevel < minMagicLevelRequired ? 'Low magic level' : manaCost > charMana && 'No mana'), React.createElement(SpellImage, null, activeCooldown && activeCooldown > 0 ? React.createElement("span", {
33979
35465
  className: "cooldown"
33980
35466
  }, activeCooldown.toFixed(activeCooldown > 10 ? 0 : 1)) : null, React.createElement(SpriteFromAtlas, {
33981
35467
  atlasIMG: atlasIMG,
@@ -33984,13 +35470,13 @@ var Spell = function Spell(_ref) {
33984
35470
  imgScale: IMAGE_SCALE,
33985
35471
  containerStyle: CONTAINER_STYLE,
33986
35472
  centered: true
33987
- })), React.createElement(Info, null, React.createElement(Title$9, null, React.createElement("span", null, name), React.createElement("span", {
35473
+ })), React.createElement(Info, null, React.createElement(Title$c, null, React.createElement("span", null, name), React.createElement("span", {
33988
35474
  className: "spell"
33989
- }, "(", magicWords, ")")), React.createElement(Description$3, null, description)), React.createElement(Divider$1, null), React.createElement(Cost, null, React.createElement("span", null, "Mana cost:"), React.createElement("span", {
35475
+ }, "(", magicWords, ")")), React.createElement(Description$5, null, description)), React.createElement(Divider$1, null), React.createElement(Cost, null, React.createElement("span", null, "Mana cost:"), React.createElement("span", {
33990
35476
  className: "mana"
33991
35477
  }, manaCost))));
33992
35478
  };
33993
- var Container$y = /*#__PURE__*/styled.button.withConfig({
35479
+ var Container$F = /*#__PURE__*/styled.button.withConfig({
33994
35480
  displayName: "Spell__Container",
33995
35481
  componentId: "sc-j96fa2-0"
33996
35482
  })(["display:block;background:none;border:2px solid transparent;border-radius:1rem;width:100%;display:flex;gap:1rem;align-items:center;padding:0 1rem;text-align:left;position:relative;animation:", ";@keyframes border-color-change{0%{border-color:", ";}50%{border-color:transparent;}100%{border-color:", ";}}&:hover,&:focus{background-color:", ";}&:active{background:none;}"], function (_ref2) {
@@ -34005,11 +35491,11 @@ var Info = /*#__PURE__*/styled.span.withConfig({
34005
35491
  displayName: "Spell__Info",
34006
35492
  componentId: "sc-j96fa2-2"
34007
35493
  })(["width:0;flex:1;@media (orientation:portrait){display:none;}"]);
34008
- var Title$9 = /*#__PURE__*/styled.p.withConfig({
35494
+ var Title$c = /*#__PURE__*/styled.p.withConfig({
34009
35495
  displayName: "Spell__Title",
34010
35496
  componentId: "sc-j96fa2-3"
34011
35497
  })(["display:flex;flex-wrap:wrap;align-items:center;margin-bottom:5px;margin:0;span{font-size:", " !important;font-weight:bold !important;color:", " !important;margin-right:0.5rem;}.spell{font-size:", " !important;font-weight:normal !important;color:", " !important;}"], uiFonts.size.medium, uiColors.yellow, uiFonts.size.small, uiColors.lightGray);
34012
- var Description$3 = /*#__PURE__*/styled.div.withConfig({
35498
+ var Description$5 = /*#__PURE__*/styled.div.withConfig({
34013
35499
  displayName: "Spell__Description",
34014
35500
  componentId: "sc-j96fa2-4"
34015
35501
  })(["font-size:", " !important;line-height:1.1 !important;"], uiFonts.size.small);
@@ -34021,7 +35507,7 @@ var Cost = /*#__PURE__*/styled.p.withConfig({
34021
35507
  displayName: "Spell__Cost",
34022
35508
  componentId: "sc-j96fa2-6"
34023
35509
  })(["display:flex;align-items:center;flex-direction:column;gap:0.5rem;div{z-index:1;}.mana{position:relative;font-size:", ";font-weight:bold;z-index:1;&::after{position:absolute;content:'';top:0;left:0;background-color:", ";width:100%;height:100%;border-radius:50%;transform:scale(1.8);filter:blur(10px);z-index:-1;}}"], uiFonts.size.medium, uiColors.blue);
34024
- var Overlay = /*#__PURE__*/styled.p.withConfig({
35510
+ var Overlay$1 = /*#__PURE__*/styled.p.withConfig({
34025
35511
  displayName: "Spell__Overlay",
34026
35512
  componentId: "sc-j96fa2-7"
34027
35513
  })(["margin:0 !important;position:absolute;top:0;left:0;width:100%;height:100%;border-radius:1rem;display:flex;justify-content:center;align-items:center;color:", ";font-size:", " !important;font-weight:bold;z-index:10;background-color:rgba(0 0 0 / 0.2);"], uiColors.yellow, uiFonts.size.large);
@@ -34069,7 +35555,7 @@ var Spellbook = function Spellbook(_ref) {
34069
35555
  height: "inherit",
34070
35556
  cancelDrag: "#spellbook-search, #shortcuts_list, .spell",
34071
35557
  scale: scale
34072
- }, React.createElement(Container$z, null, React.createElement(Title$a, null, "Learned Spells"), React.createElement(ShortcutsSetter, {
35558
+ }, React.createElement(Container$G, null, React.createElement(Title$d, null, "Learned Spells"), React.createElement(ShortcutsSetter, {
34073
35559
  setSettingShortcutIndex: setSettingShortcutIndex,
34074
35560
  settingShortcutIndex: settingShortcutIndex,
34075
35561
  shortcuts: shortcuts,
@@ -34085,7 +35571,7 @@ var Spellbook = function Spellbook(_ref) {
34085
35571
  onFocus: onInputFocus,
34086
35572
  onBlur: onInputBlur,
34087
35573
  id: "spellbook-search"
34088
- }), React.createElement(SpellList, null, spellsToDisplay.map(function (spell) {
35574
+ }), React.createElement(SpellList$1, null, spellsToDisplay.map(function (spell) {
34089
35575
  return React.createElement(Fragment, {
34090
35576
  key: spell.key
34091
35577
  }, React.createElement(Spell, Object.assign({
@@ -34101,15 +35587,15 @@ var Spellbook = function Spellbook(_ref) {
34101
35587
  }, spell)));
34102
35588
  }))));
34103
35589
  };
34104
- var Title$a = /*#__PURE__*/styled.h1.withConfig({
35590
+ var Title$d = /*#__PURE__*/styled.h1.withConfig({
34105
35591
  displayName: "Spellbook__Title",
34106
35592
  componentId: "sc-r02nfq-0"
34107
35593
  })(["font-size:", " !important;margin-bottom:0 !important;"], uiFonts.size.large);
34108
- var Container$z = /*#__PURE__*/styled.div.withConfig({
35594
+ var Container$G = /*#__PURE__*/styled.div.withConfig({
34109
35595
  displayName: "Spellbook__Container",
34110
35596
  componentId: "sc-r02nfq-1"
34111
35597
  })(["width:100%;height:100%;color:white;display:flex;flex-direction:column;"]);
34112
- var SpellList = /*#__PURE__*/styled.div.withConfig({
35598
+ var SpellList$1 = /*#__PURE__*/styled.div.withConfig({
34113
35599
  displayName: "Spellbook__SpellList",
34114
35600
  componentId: "sc-r02nfq-2"
34115
35601
  })(["width:100%;min-height:0;flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:1.5rem;margin-top:1rem;"]);
@@ -34291,7 +35777,7 @@ var TimeWidget = function TimeWidget(_ref) {
34291
35777
  return React.createElement(Draggable, {
34292
35778
  scale: scale,
34293
35779
  cancel: ".time-widget-close,.time-widget-container,.time-widget-container *"
34294
- }, React.createElement(WidgetContainer, null, React.createElement(CloseButton$7, {
35780
+ }, React.createElement(WidgetContainer, null, React.createElement(CloseButton$8, {
34295
35781
  onPointerDown: onClose,
34296
35782
  className: "time-widget-close"
34297
35783
  }, "X"), React.createElement(DayNightContainer, {
@@ -34308,7 +35794,7 @@ var Time = /*#__PURE__*/styled.div.withConfig({
34308
35794
  displayName: "TimeWidget__Time",
34309
35795
  componentId: "sc-1ja236h-1"
34310
35796
  })(["top:0.75rem;right:0.5rem;position:absolute;font-size:", ";color:white;"], uiFonts.size.small);
34311
- var CloseButton$7 = /*#__PURE__*/styled.p.withConfig({
35797
+ var CloseButton$8 = /*#__PURE__*/styled.p.withConfig({
34312
35798
  displayName: "TimeWidget__CloseButton",
34313
35799
  componentId: "sc-1ja236h-2"
34314
35800
  })(["position:absolute;top:-0.5rem;margin:0;right:-0.2rem;font-size:", " !important;z-index:1;"], uiFonts.size.small);
@@ -34417,7 +35903,7 @@ var TradingItemRow = function TradingItemRow(_ref) {
34417
35903
  }
34418
35904
  return null;
34419
35905
  };
34420
- return React.createElement(ItemWrapper, null, React.createElement(ItemIconContainer$1, null, React.createElement(SpriteContainer$3, null, React.createElement(ItemInfoWrapper, {
35906
+ return React.createElement(ItemWrapper, null, React.createElement(ItemIconContainer$1, null, React.createElement(SpriteContainer$5, null, React.createElement(ItemInfoWrapper, {
34421
35907
  atlasIMG: atlasIMG,
34422
35908
  atlasJSON: atlasJSON,
34423
35909
  equipmentSet: equipmentSet,
@@ -34489,7 +35975,7 @@ var ItemIconContainer$1 = /*#__PURE__*/styled.div.withConfig({
34489
35975
  displayName: "TradingItemRow__ItemIconContainer",
34490
35976
  componentId: "sc-mja0b5-3"
34491
35977
  })(["display:flex;justify-content:flex-start;align-items:center;flex:0 0 40px;"]);
34492
- var SpriteContainer$3 = /*#__PURE__*/styled.div.withConfig({
35978
+ var SpriteContainer$5 = /*#__PURE__*/styled.div.withConfig({
34493
35979
  displayName: "TradingItemRow__SpriteContainer",
34494
35980
  componentId: "sc-mja0b5-4"
34495
35981
  })(["position:relative;top:-0.5rem;left:0;"]);
@@ -34587,7 +36073,7 @@ var TradingMenu = function TradingMenu(_ref) {
34587
36073
  width: "500px",
34588
36074
  cancelDrag: "#TraderContainer",
34589
36075
  scale: scale
34590
- }, React.createElement(Container$A, null, React.createElement(Title$b, null, type.charAt(0).toUpperCase() + type.slice(1), " Menu"), React.createElement("hr", {
36076
+ }, React.createElement(Container$H, null, React.createElement(Title$e, null, type.charAt(0).toUpperCase() + type.slice(1), " Menu"), React.createElement("hr", {
34591
36077
  className: "golden"
34592
36078
  }), React.createElement(ScrollWrapper, {
34593
36079
  id: "TraderContainer"
@@ -34604,7 +36090,7 @@ var TradingMenu = function TradingMenu(_ref) {
34604
36090
  scale: scale,
34605
36091
  isBuy: isBuy()
34606
36092
  });
34607
- })), React.createElement(InfoSection, null, React.createElement(GoldInfo, null, React.createElement("p", null, "Available Gold:"), React.createElement("p", null, "$", characterAvailableGold.toFixed(2))), React.createElement(GoldInfo, null, React.createElement("p", null, "Total:"), React.createElement("p", null, "$", sum)), !hasGoldForSale() ? React.createElement(AlertText, null, "Sorry, not enough money.") : React.createElement(GoldInfo, null, React.createElement("p", null, "Final Gold:"), React.createElement("p", null, "$", getFinalGold().toFixed(2)))), React.createElement(ButtonWrapper$2, null, React.createElement(Button, {
36093
+ })), React.createElement(InfoSection$2, null, React.createElement(GoldInfo, null, React.createElement("p", null, "Available Gold:"), React.createElement("p", null, "$", characterAvailableGold.toFixed(2))), React.createElement(GoldInfo, null, React.createElement("p", null, "Total:"), React.createElement("p", null, "$", sum)), !hasGoldForSale() ? React.createElement(AlertText, null, "Sorry, not enough money.") : React.createElement(GoldInfo, null, React.createElement("p", null, "Final Gold:"), React.createElement("p", null, "$", getFinalGold().toFixed(2)))), React.createElement(ButtonWrapper$3, null, React.createElement(Button, {
34608
36094
  buttonType: ButtonTypes.RPGUIButton,
34609
36095
  disabled: !hasGoldForSale(),
34610
36096
  onPointerDown: function onPointerDown() {
@@ -34615,11 +36101,11 @@ var TradingMenu = function TradingMenu(_ref) {
34615
36101
  onPointerDown: onClose
34616
36102
  }, "Cancel"))));
34617
36103
  };
34618
- var Container$A = /*#__PURE__*/styled.div.withConfig({
36104
+ var Container$H = /*#__PURE__*/styled.div.withConfig({
34619
36105
  displayName: "TradingMenu__Container",
34620
36106
  componentId: "sc-1wjsz1l-0"
34621
36107
  })(["width:100%;"]);
34622
- var Title$b = /*#__PURE__*/styled.h1.withConfig({
36108
+ var Title$e = /*#__PURE__*/styled.h1.withConfig({
34623
36109
  displayName: "TradingMenu__Title",
34624
36110
  componentId: "sc-1wjsz1l-1"
34625
36111
  })(["font-size:0.7rem !important;color:yellow !important;text-align:center;"]);
@@ -34627,7 +36113,7 @@ var ScrollWrapper = /*#__PURE__*/styled.div.withConfig({
34627
36113
  displayName: "TradingMenu__ScrollWrapper",
34628
36114
  componentId: "sc-1wjsz1l-2"
34629
36115
  })(["overflow-y:scroll;height:250px;width:100%;margin-top:0.3rem;overflow-x:hidden;padding:0 0.3rem;"]);
34630
- var InfoSection = /*#__PURE__*/styled.div.withConfig({
36116
+ var InfoSection$2 = /*#__PURE__*/styled.div.withConfig({
34631
36117
  displayName: "TradingMenu__InfoSection",
34632
36118
  componentId: "sc-1wjsz1l-3"
34633
36119
  })(["margin-top:0.3rem;padding:0 0.5rem;"]);
@@ -34639,7 +36125,7 @@ var AlertText = /*#__PURE__*/styled.p.withConfig({
34639
36125
  displayName: "TradingMenu__AlertText",
34640
36126
  componentId: "sc-1wjsz1l-5"
34641
36127
  })(["color:red !important;text-align:center;margin:0.3rem 0;font-size:0.5rem;"]);
34642
- var ButtonWrapper$2 = /*#__PURE__*/styled.div.withConfig({
36128
+ var ButtonWrapper$3 = /*#__PURE__*/styled.div.withConfig({
34643
36129
  displayName: "TradingMenu__ButtonWrapper",
34644
36130
  componentId: "sc-1wjsz1l-6"
34645
36131
  })(["display:flex;justify-content:space-around;width:100%;margin-top:1rem;"]);
@@ -34649,11 +36135,11 @@ var Truncate = function Truncate(_ref) {
34649
36135
  var _ref$maxLines = _ref.maxLines,
34650
36136
  maxLines = _ref$maxLines === void 0 ? 1 : _ref$maxLines,
34651
36137
  children = _ref.children;
34652
- return React.createElement(Container$B, {
36138
+ return React.createElement(Container$I, {
34653
36139
  maxLines: maxLines
34654
36140
  }, children);
34655
36141
  };
34656
- var Container$B = /*#__PURE__*/styled.div.withConfig({
36142
+ var Container$I = /*#__PURE__*/styled.div.withConfig({
34657
36143
  displayName: "Truncate__Container",
34658
36144
  componentId: "sc-6x00qb-0"
34659
36145
  })(["display:-webkit-box;max-width:100%;max-height:100%;-webkit-line-clamp:", ";-webkit-box-orient:vertical;overflow:hidden;"], function (props) {
@@ -34761,7 +36247,7 @@ var TutorialStepper = /*#__PURE__*/React.memo(function (_ref) {
34761
36247
  };
34762
36248
  });
34763
36249
  }, [lessons, imageStyle]);
34764
- return React.createElement(Container$C, null, React.createElement(Stepper, {
36250
+ return React.createElement(Container$J, null, React.createElement(Stepper, {
34765
36251
  steps: generateLessons,
34766
36252
  finalCTAButton: {
34767
36253
  label: 'Close',
@@ -34778,7 +36264,7 @@ var LessonBody = /*#__PURE__*/styled.div.withConfig({
34778
36264
  displayName: "TutorialStepper__LessonBody",
34779
36265
  componentId: "sc-7tgzv2-1"
34780
36266
  })([""]);
34781
- var Container$C = /*#__PURE__*/styled.div.withConfig({
36267
+ var Container$J = /*#__PURE__*/styled.div.withConfig({
34782
36268
  displayName: "TutorialStepper__Container",
34783
36269
  componentId: "sc-7tgzv2-2"
34784
36270
  })(["width:80%;max-width:600px;@media (max-width:600px){width:95%;}"]);
@@ -34799,5 +36285,5 @@ var LessonContainer = /*#__PURE__*/styled.div.withConfig({
34799
36285
  componentId: "sc-7tgzv2-6"
34800
36286
  })(["display:flex;flex-direction:column;justify-content:space-between;min-height:200px;p{font-size:0.7rem !important;}"]);
34801
36287
 
34802
- export { ActionButtons, AsyncDropdown, Button, ButtonTypes, CharacterSelection, Chat, ChatDeprecated, ChatRevamp, CheckButton, CheckItem, CircularController, CraftBook, DraggableContainer, Dropdown, DropdownSelectorContainer, DynamicText, EquipmentSet, EquipmentSlotSpriteByType, ErrorBoundary, FriendList, HistoryDialog, ImageCarousel, ImgSide, Input, InputRadio, InternalTabs, ItemContainer$1 as ItemContainer, ItemPropertySimpleHandler, ItemQuantitySelectorModal, ItemSelector, ItemSlot, JoystickDPad, Leaderboard, ListMenu, Marketplace, MarketplaceRows, MultitabType, NPCDialog, NPCDialogType, NPCMultiDialog, PartyCreate, PartyDashboard, PartyInvite, PartyManager, PartyManagerRow, PartyRow, PlayersRow, ProgressBar, PropertySelect, QuantitySelectorModal, QuestInfo, QuestList, QuestionDialog, RPGUIContainer, RPGUIContainerTypes, RPGUIRoot, RangeSlider, RangeSliderType, SelectArrow, Shortcuts, SimpleImageCarousel, SkillProgressBar, SkillsContainer, SocialModal, Spellbook, SpriteFromAtlas, Stepper, TabBody, Table, TableCell, TableHeader, TableRow, TabsContainer, TextArea, TimeWidget, Tooltip, TradingMenu, Truncate, TutorialStepper, UserActionLink, _RPGUI, formatQuestStatus, formatQuestText, getMockedPlayersRowsLeader, getMockedPlayersRowsNotLeader, getQuestStatusColor, mockedPartyManager, mockedPartyRows, mockedPlayersRows, mockedPlayersRows2, useEventListener };
36288
+ export { ActionButtons, AsyncDropdown, Button, ButtonTypes, CharacterSelection, Chat, ChatDeprecated, ChatRevamp, CheckButton, CheckItem, CircularController, CraftBook, DraggableContainer, Dropdown, DropdownSelectorContainer, DynamicText, EquipmentSet, EquipmentSlotSpriteByType, ErrorBoundary, FriendList, GemSelector, HistoryDialog, ImageCarousel, ImgSide, InformationCenter, Input, InputRadio, InternalTabs, ItemContainer$1 as ItemContainer, ItemPropertySimpleHandler, ItemQuantitySelectorModal, ItemSelector, ItemSlot, JoystickDPad, Leaderboard, ListMenu, Marketplace, MarketplaceRows, MultitabType, NPCDialog, NPCDialogType, NPCMultiDialog, PartyCreate, PartyDashboard, PartyInvite, PartyManager, PartyManagerRow, PartyRow, PlayersRow, ProgressBar, PropertySelect, QuantitySelectorModal, QuestInfo, QuestList, QuestionDialog, RPGUIContainer, RPGUIContainerTypes, RPGUIRoot, RangeSlider, RangeSliderType, SelectArrow, Shortcuts, SimpleImageCarousel, SkillProgressBar, SkillsContainer, SocialModal, Spellbook, SpriteFromAtlas, Stepper, TabBody, Table, TableCell, TableHeader, TableRow, TabsContainer, TextArea, TimeWidget, Tooltip, TradingMenu, Truncate, TutorialStepper, UserActionLink, _RPGUI, formatQuestStatus, formatQuestText, getMockedPlayersRowsLeader, getMockedPlayersRowsNotLeader, getQuestStatusColor, mockedPartyManager, mockedPartyRows, mockedPlayersRows, mockedPlayersRows2, useEventListener };
34803
36289
  //# sourceMappingURL=long-bow.esm.js.map