@rpg-engine/long-bow 0.8.181 → 0.8.184

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/dist/components/Marketplace/CharacterListingForm.d.ts +15 -0
  2. package/dist/components/Marketplace/CharacterListingModal.d.ts +17 -0
  3. package/dist/components/Marketplace/CharacterMarketplacePanel.d.ts +22 -0
  4. package/dist/components/Marketplace/CharacterMarketplaceRows.d.ts +26 -0
  5. package/dist/components/Marketplace/Marketplace.d.ts +20 -1
  6. package/dist/components/Marketplace/MyCharacterListingsPanel.d.ts +19 -0
  7. package/dist/components/shared/DCRateStrip.d.ts +2 -0
  8. package/dist/components/shared/RadioOption.d.ts +22 -0
  9. package/dist/index.d.ts +4 -0
  10. package/dist/long-bow.cjs.development.js +1114 -130
  11. package/dist/long-bow.cjs.development.js.map +1 -1
  12. package/dist/long-bow.cjs.production.min.js +1 -1
  13. package/dist/long-bow.cjs.production.min.js.map +1 -1
  14. package/dist/long-bow.esm.js +1133 -154
  15. package/dist/long-bow.esm.js.map +1 -1
  16. package/dist/stories/Features/marketplace/CharacterListingModal.stories.d.ts +8 -0
  17. package/dist/stories/Features/marketplace/CharacterMarketplace.stories.d.ts +10 -0
  18. package/dist/stories/shared/RadioOption.stories.d.ts +8 -0
  19. package/package.json +1 -1
  20. package/src/components/DCWallet/DCWalletContent.tsx +5 -47
  21. package/src/components/Marketplace/BuyPanel.tsx +1 -0
  22. package/src/components/Marketplace/CharacterListingForm.tsx +102 -0
  23. package/src/components/Marketplace/CharacterListingModal.tsx +404 -0
  24. package/src/components/Marketplace/CharacterMarketplacePanel.tsx +450 -0
  25. package/src/components/Marketplace/CharacterMarketplaceRows.tsx +265 -0
  26. package/src/components/Marketplace/GroupedRowContainer.tsx +3 -1
  27. package/src/components/Marketplace/ManagmentPanel.tsx +1 -0
  28. package/src/components/Marketplace/Marketplace.tsx +163 -2
  29. package/src/components/Marketplace/MyCharacterListingsPanel.tsx +327 -0
  30. package/src/components/shared/DCRateStrip.tsx +67 -0
  31. package/src/components/shared/ItemRowWrapper.tsx +3 -1
  32. package/src/components/shared/RadioOption.tsx +93 -0
  33. package/src/index.tsx +4 -0
  34. package/src/stories/Features/marketplace/CharacterListingModal.stories.tsx +131 -0
  35. package/src/stories/Features/marketplace/CharacterMarketplace.stories.tsx +340 -0
  36. package/src/stories/shared/RadioOption.stories.tsx +93 -0
@@ -2,7 +2,7 @@ import React, { useState, useEffect, Component, useRef, useCallback, useMemo, me
2
2
  import styled, { css, keyframes, createGlobalStyle } from 'styled-components';
3
3
  import { BeatLoader } from 'react-spinners';
4
4
  import { v4 } from 'uuid';
5
- import { GRID_WIDTH, GRID_HEIGHT, ShortcutType, getItemTextureKeyPath, ItemContainerType, ItemType, DepotSocketEvents, ItemSocketEvents, ItemSocketEventsDisplayLabels, ActionsForInventory, ActionsForEquipmentSet, ActionsForLoot, ActionsForMapContainer, ItemQualityLevel, ItemRarities, ItemSubType, isMobile, TaskType, TaskStatus, isMobileOrTablet, RewardType, ItemSlotType, NPCSubtype, EntityAttackType, NPCAlignment, VideoGuideCategory, VideoGuideLanguage, MarketplaceBuyOrderStatus, formatDCAmount, MarketplaceAcceptedCurrency, goldToDC, MarketplaceTransactionType, CharacterClass, QuestStatus, getLevelFromXP, getSkillConstants, getLevelFromSPTiered, getXPForLevel, getSPForLevelTiered, MetadataType, PurchaseType, UserAccountTypes, PaymentCurrency, PeriodOfDay } from '@rpg-engine/shared';
5
+ import { GRID_WIDTH, GRID_HEIGHT, ShortcutType, getItemTextureKeyPath, ItemContainerType, ItemType, DepotSocketEvents, ItemSocketEvents, ItemSocketEventsDisplayLabels, ActionsForInventory, ActionsForEquipmentSet, ActionsForLoot, ActionsForMapContainer, ItemQualityLevel, ItemRarities, ItemSubType, isMobile, TaskType, TaskStatus, isMobileOrTablet, RewardType, DC_TO_GOLD_SWAP_RATE, ItemSlotType, NPCSubtype, EntityAttackType, NPCAlignment, VideoGuideCategory, VideoGuideLanguage, MarketplaceBuyOrderStatus, formatDCAmount, MarketplaceAcceptedCurrency, goldToDC, MarketplaceTransactionType, CharacterClass as CharacterClass$1, QuestStatus, getLevelFromXP, getSkillConstants, getLevelFromSPTiered, getXPForLevel, getSPForLevelTiered, MetadataType, PurchaseType, UserAccountTypes, PaymentCurrency, PeriodOfDay } from '@rpg-engine/shared';
6
6
  export { MarketplaceAcceptedCurrency } from '@rpg-engine/shared';
7
7
  import dayjs from 'dayjs';
8
8
  import { ErrorBoundary as ErrorBoundary$1 } from 'react-error-boundary';
@@ -20,6 +20,7 @@ import { Settings2 } from 'pixelarticons/react/Settings2';
20
20
  import { ShoppingBag } from 'pixelarticons/react/ShoppingBag';
21
21
  import { ShoppingCart } from 'pixelarticons/react/ShoppingCart';
22
22
  import { Store as Store$1 } from 'pixelarticons/react/Store';
23
+ import { User } from 'pixelarticons/react/User';
23
24
  import { Wallet } from 'pixelarticons/react/Wallet';
24
25
  import { SortVertical } from 'pixelarticons/react/SortVertical';
25
26
  import { Search } from 'pixelarticons/react/Search';
@@ -39125,6 +39126,36 @@ var ContentWrapper = /*#__PURE__*/styled.div.withConfig({
39125
39126
  componentId: "sc-ldufv0-3"
39126
39127
  })(["width:100%;"]);
39127
39128
 
39129
+ /** 100 DC = $1 USD */
39130
+ var DC_TO_USD = 100;
39131
+ var DCRateStrip = function DCRateStrip() {
39132
+ return React.createElement(RateStrip, null, React.createElement(RateItem, null, React.createElement(RateNum, null, "1 DC"), React.createElement(RateSep, null, "="), React.createElement(RateVal, null, DC_TO_GOLD_SWAP_RATE.toLocaleString(), " Gold")), React.createElement(RateDivider, null), React.createElement(RateItem, null, React.createElement(RateNum, null, DC_TO_USD, " DC"), React.createElement(RateSep, null, "="), React.createElement(RateVal, null, "1 USD")), React.createElement(RateDivider, null), React.createElement(RateItem, null, React.createElement(RateNum, null, "1 USD"), React.createElement(RateSep, null, "="), React.createElement(RateVal, null, (DC_TO_USD * DC_TO_GOLD_SWAP_RATE / 1000).toFixed(0), "K Gold")));
39133
+ };
39134
+ var RateStrip = /*#__PURE__*/styled.div.withConfig({
39135
+ displayName: "DCRateStrip__RateStrip",
39136
+ componentId: "sc-1ltnva-0"
39137
+ })(["display:flex;align-items:center;border-top:1px solid rgba(245,158,11,0.1);padding-top:8px;"]);
39138
+ var RateItem = /*#__PURE__*/styled.div.withConfig({
39139
+ displayName: "DCRateStrip__RateItem",
39140
+ componentId: "sc-1ltnva-1"
39141
+ })(["display:flex;align-items:center;gap:5px;flex:1;justify-content:center;"]);
39142
+ var RateDivider = /*#__PURE__*/styled.div.withConfig({
39143
+ displayName: "DCRateStrip__RateDivider",
39144
+ componentId: "sc-1ltnva-2"
39145
+ })(["width:1px;height:12px;background:rgba(245,158,11,0.2);"]);
39146
+ var RateNum = /*#__PURE__*/styled.span.withConfig({
39147
+ displayName: "DCRateStrip__RateNum",
39148
+ componentId: "sc-1ltnva-3"
39149
+ })(["font-family:'Press Start 2P',cursive !important;font-size:6px !important;color:rgba(255,255,255,0.5) !important;"]);
39150
+ var RateSep = /*#__PURE__*/styled.span.withConfig({
39151
+ displayName: "DCRateStrip__RateSep",
39152
+ componentId: "sc-1ltnva-4"
39153
+ })(["font-family:'Press Start 2P',cursive !important;font-size:6px !important;color:rgba(255,255,255,0.2) !important;"]);
39154
+ var RateVal = /*#__PURE__*/styled.span.withConfig({
39155
+ displayName: "DCRateStrip__RateVal",
39156
+ componentId: "sc-1ltnva-5"
39157
+ })(["font-family:'Press Start 2P',cursive !important;font-size:6px !important;color:rgba(254,240,138,0.6) !important;"]);
39158
+
39128
39159
  var Pagination = function Pagination(_ref) {
39129
39160
  var currentPage = _ref.currentPage,
39130
39161
  totalPages = _ref.totalPages,
@@ -39699,8 +39730,7 @@ var DropdownItem = /*#__PURE__*/styled.li.withConfig({
39699
39730
  componentId: "sc-k1vvb1-9"
39700
39731
  })(["padding:6px 8px;font-size:11px;font-family:'Press Start 2P',cursive;color:", ";cursor:pointer;&:hover{background:rgba(245,158,11,0.3);}"], uiColors.white);
39701
39732
 
39702
- var DC_TO_GOLD = 5500;
39703
- var DC_TO_USD = 100;
39733
+ var DC_TO_USD$1 = 100;
39704
39734
  var DCWalletContent = function DCWalletContent(_ref) {
39705
39735
  var _historyData$transact, _historyData$totalPag, _historyData$currentP;
39706
39736
  var dcBalance = _ref.dcBalance,
@@ -39717,8 +39747,8 @@ var DCWalletContent = function DCWalletContent(_ref) {
39717
39747
  onBuyDC = _ref.onBuyDC,
39718
39748
  onSearchCharacter = _ref.onSearchCharacter,
39719
39749
  searchResults = _ref.searchResults;
39720
- var usdValue = (dcBalance / DC_TO_USD).toFixed(2);
39721
- var goldValue = (dcBalance * DC_TO_GOLD).toLocaleString();
39750
+ var usdValue = (dcBalance / DC_TO_USD$1).toFixed(2);
39751
+ var goldValue = (dcBalance * DC_TO_GOLD_SWAP_RATE).toLocaleString();
39722
39752
  var tabs = [{
39723
39753
  id: 'transfer',
39724
39754
  title: 'Transfer',
@@ -39750,7 +39780,7 @@ var DCWalletContent = function DCWalletContent(_ref) {
39750
39780
  role: "button",
39751
39781
  tabIndex: 0,
39752
39782
  title: "Buy Definya Coins"
39753
- }, React.createElement(FaShoppingCart, null), React.createElement(BuyButtonLabel, null, "Buy DC"))), React.createElement(RateStrip, null, React.createElement(RateItem, null, React.createElement(RateNum, null, "1 DC"), React.createElement(RateSep, null, "="), React.createElement(RateVal, null, "5,500 Gold")), React.createElement(RateDivider, null), React.createElement(RateItem, null, React.createElement(RateNum, null, "100 DC"), React.createElement(RateSep, null, "="), React.createElement(RateVal, null, "1 USD")), React.createElement(RateDivider, null), React.createElement(RateItem, null, React.createElement(RateNum, null, "1 USD"), React.createElement(RateSep, null, "="), React.createElement(RateVal, null, "550K Gold")))), React.createElement(TabsWrapper, null, React.createElement(InternalTabs, {
39783
+ }, React.createElement(FaShoppingCart, null), React.createElement(BuyButtonLabel, null, "Buy DC"))), React.createElement(DCRateStrip, null)), React.createElement(TabsWrapper, null, React.createElement(InternalTabs, {
39754
39784
  tabs: tabs,
39755
39785
  onTabChange: function onTabChange(tabId) {
39756
39786
  if (tabId === 'history') onRequestHistory(1);
@@ -39802,33 +39832,9 @@ var BuyButtonLabel = /*#__PURE__*/styled.span.withConfig({
39802
39832
  displayName: "DCWalletContent__BuyButtonLabel",
39803
39833
  componentId: "sc-1hrivmk-9"
39804
39834
  })(["font-family:'Press Start 2P',cursive !important;font-size:8px !important;color:#000 !important;white-space:nowrap !important;text-shadow:none !important;"]);
39805
- var RateStrip = /*#__PURE__*/styled.div.withConfig({
39806
- displayName: "DCWalletContent__RateStrip",
39807
- componentId: "sc-1hrivmk-10"
39808
- })(["display:flex;align-items:center;border-top:1px solid rgba(245,158,11,0.1);padding-top:8px;"]);
39809
- var RateItem = /*#__PURE__*/styled.div.withConfig({
39810
- displayName: "DCWalletContent__RateItem",
39811
- componentId: "sc-1hrivmk-11"
39812
- })(["display:flex;align-items:center;gap:5px;flex:1;justify-content:center;"]);
39813
- var RateDivider = /*#__PURE__*/styled.div.withConfig({
39814
- displayName: "DCWalletContent__RateDivider",
39815
- componentId: "sc-1hrivmk-12"
39816
- })(["width:1px;height:12px;background:rgba(245,158,11,0.2);"]);
39817
- var RateNum = /*#__PURE__*/styled.span.withConfig({
39818
- displayName: "DCWalletContent__RateNum",
39819
- componentId: "sc-1hrivmk-13"
39820
- })(["font-family:'Press Start 2P',cursive !important;font-size:6px !important;color:rgba(255,255,255,0.5) !important;"]);
39821
- var RateSep = /*#__PURE__*/styled.span.withConfig({
39822
- displayName: "DCWalletContent__RateSep",
39823
- componentId: "sc-1hrivmk-14"
39824
- })(["font-family:'Press Start 2P',cursive !important;font-size:6px !important;color:rgba(255,255,255,0.2) !important;"]);
39825
- var RateVal = /*#__PURE__*/styled.span.withConfig({
39826
- displayName: "DCWalletContent__RateVal",
39827
- componentId: "sc-1hrivmk-15"
39828
- })(["font-family:'Press Start 2P',cursive !important;font-size:6px !important;color:rgba(254,240,138,0.6) !important;"]);
39829
39835
  var TabsWrapper = /*#__PURE__*/styled.div.withConfig({
39830
39836
  displayName: "DCWalletContent__TabsWrapper",
39831
- componentId: "sc-1hrivmk-16"
39837
+ componentId: "sc-1hrivmk-10"
39832
39838
  })(["padding:0 2.5%;"]);
39833
39839
 
39834
39840
  var _excluded$3 = ["onClose"];
@@ -45140,18 +45146,18 @@ var GroupedRowContainer = function GroupedRowContainer(_ref) {
45140
45146
  var GroupWrapper = /*#__PURE__*/styled.div.withConfig({
45141
45147
  displayName: "GroupedRowContainer__GroupWrapper",
45142
45148
  componentId: "sc-12q03tq-0"
45143
- })(["margin-bottom:2px;"]);
45149
+ })(["margin-bottom:2px;overflow:hidden;"]);
45144
45150
  var GroupHeader = /*#__PURE__*/styled.div.withConfig({
45145
45151
  displayName: "GroupedRowContainer__GroupHeader",
45146
45152
  componentId: "sc-12q03tq-1"
45147
- })(["position:relative;cursor:", ";"], function (_ref2) {
45153
+ })(["position:relative;cursor:", ";overflow-x:hidden;"], function (_ref2) {
45148
45154
  var $clickable = _ref2.$clickable;
45149
45155
  return $clickable ? 'pointer' : 'default';
45150
45156
  });
45151
45157
  var GroupMeta = /*#__PURE__*/styled.div.withConfig({
45152
45158
  displayName: "GroupedRowContainer__GroupMeta",
45153
45159
  componentId: "sc-12q03tq-2"
45154
- })(["position:absolute;right:180px;top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:6px;pointer-events:none;"]);
45160
+ })(["position:absolute;right:100px;top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:6px;pointer-events:none;"]);
45155
45161
  var OfferBadge = /*#__PURE__*/styled.span.withConfig({
45156
45162
  displayName: "GroupedRowContainer__OfferBadge",
45157
45163
  componentId: "sc-12q03tq-3"
@@ -45878,7 +45884,7 @@ var ConfirmRow = /*#__PURE__*/styled.div.withConfig({
45878
45884
  var ItemRowWrapper = /*#__PURE__*/styled.div.withConfig({
45879
45885
  displayName: "ItemRowWrapper",
45880
45886
  componentId: "sc-5g2skk-0"
45881
- })(["display:flex;align-items:center;justify-content:space-between;padding:0.6rem 0.8rem;margin-bottom:6px;background:", ";border:1px solid ", ";border-radius:8px;border-left:4px solid ", ";box-shadow:inset 0 0 10px rgba(0,0,0,0.5),0 2px 4px rgba(0,0,0,0.2);transition:all 0.2s cubic-bezier(0.175,0.885,0.32,1.275);position:relative;overflow:hidden;&::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;box-shadow:inset 0 0 0 1px rgba(255,255,255,0.05);border-radius:8px;pointer-events:none;}&:hover{background:", ";border-color:", ";border-left-color:", ";box-shadow:inset 0 0 10px rgba(0,0,0,0.5),0 4px 16px rgba(0,0,0,0.4);transform:scale(1.01) translateY(-1px);z-index:10;}"], function (p) {
45887
+ })(["display:flex;align-items:center;justify-content:space-between;padding:0.6rem 0.8rem;margin-bottom:6px;background:", ";border:1px solid ", ";border-radius:8px;border-left:4px solid ", ";box-shadow:inset 0 0 10px rgba(0,0,0,0.5),0 2px 4px rgba(0,0,0,0.2);transition:all 0.2s cubic-bezier(0.175,0.885,0.32,1.275);position:relative;overflow:hidden;width:100%;box-sizing:border-box;&::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;box-shadow:inset 0 0 0 1px rgba(255,255,255,0.05);border-radius:8px;pointer-events:none;}&:hover{background:", ";border-color:", ";border-left-color:", ";box-shadow:inset 0 0 10px rgba(0,0,0,0.5),0 4px 16px rgba(0,0,0,0.4);transform:translateY(-1px);z-index:10;}"], function (p) {
45882
45888
  return p.$isHighlighted ? 'linear-gradient(to right, rgba(255, 215, 0, 0.15), rgba(0, 0, 0, 0.4))' : 'linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.25))';
45883
45889
  }, function (p) {
45884
45890
  return p.$isHighlighted ? 'rgba(255, 215, 0, 0.4)' : 'rgba(255, 255, 255, 0.1)';
@@ -46544,7 +46550,7 @@ var WrapperContainer$1 = /*#__PURE__*/styled.div.withConfig({
46544
46550
  var ItemComponentScrollWrapper$1 = /*#__PURE__*/styled.div.withConfig({
46545
46551
  displayName: "BuyPanel__ItemComponentScrollWrapper",
46546
46552
  componentId: "sc-1si8t7i-7"
46547
- })(["overflow-y:scroll;height:390px;width:95%;margin:1rem auto 0 auto;background:rgba(0,0,0,0.2);border:1px solid rgba(255,255,255,0.05);border-radius:4px;@media (max-width:950px){height:250px;}"]);
46553
+ })(["overflow-y:scroll;overflow-x:hidden;height:390px;width:95%;margin:1rem auto 0 auto;background:rgba(0,0,0,0.2);border:1px solid rgba(255,255,255,0.05);border-radius:4px;@media (max-width:950px){height:250px;}"]);
46548
46554
  var MarketSection = /*#__PURE__*/styled.div.withConfig({
46549
46555
  displayName: "BuyPanel__MarketSection",
46550
46556
  componentId: "sc-1si8t7i-8"
@@ -47051,7 +47057,7 @@ var BalanceCurrencyLabel = /*#__PURE__*/styled.span.withConfig({
47051
47057
  var ItemComponentScrollWrapper$2 = /*#__PURE__*/styled.div.withConfig({
47052
47058
  displayName: "ManagmentPanel__ItemComponentScrollWrapper",
47053
47059
  componentId: "sc-1yyi6jn-11"
47054
- })(["overflow-y:scroll;height:335px;width:95%;margin:1rem auto 0 auto;background:rgba(0,0,0,0.2);border:1px solid rgba(255,255,255,0.05);border-radius:4px;@media (max-width:950px){height:195px;}"]);
47060
+ })(["overflow-y:scroll;overflow-x:hidden;height:335px;width:95%;margin:1rem auto 0 auto;background:rgba(0,0,0,0.2);border:1px solid rgba(255,255,255,0.05);border-radius:4px;@media (max-width:950px){height:195px;}"]);
47055
47061
  var SmallCTAButton = /*#__PURE__*/styled(CTAButton).withConfig({
47056
47062
  displayName: "ManagmentPanel__SmallCTAButton",
47057
47063
  componentId: "sc-1yyi6jn-12"
@@ -47164,6 +47170,719 @@ var Hint = /*#__PURE__*/styled.p.withConfig({
47164
47170
  componentId: "sc-1lvibyi-7"
47165
47171
  })(["margin:14px 0 0 0;font-size:0.48rem;color:#666;line-height:1.6;"]);
47166
47172
 
47173
+ var CharacterMarketplacePanel = function CharacterMarketplacePanel(_ref) {
47174
+ var characterListings = _ref.characterListings,
47175
+ totalCount = _ref.totalCount,
47176
+ currentPage = _ref.currentPage,
47177
+ itemsPerPage = _ref.itemsPerPage,
47178
+ onPageChange = _ref.onPageChange,
47179
+ onCharacterBuy = _ref.onCharacterBuy,
47180
+ atlasJSON = _ref.atlasJSON,
47181
+ atlasIMG = _ref.atlasIMG,
47182
+ characterAtlasJSON = _ref.characterAtlasJSON,
47183
+ characterAtlasIMG = _ref.characterAtlasIMG,
47184
+ enableHotkeys = _ref.enableHotkeys,
47185
+ disableHotkeys = _ref.disableHotkeys,
47186
+ _ref$nameFilter = _ref.nameFilter,
47187
+ nameFilter = _ref$nameFilter === void 0 ? '' : _ref$nameFilter,
47188
+ onNameFilterChange = _ref.onNameFilterChange,
47189
+ _ref$isLoading = _ref.isLoading,
47190
+ isLoading = _ref$isLoading === void 0 ? false : _ref$isLoading;
47191
+ var _useState = useState(null),
47192
+ buyingListingId = _useState[0],
47193
+ setBuyingListingId = _useState[1];
47194
+ var _useState2 = useState(nameFilter),
47195
+ localNameFilter = _useState2[0],
47196
+ setLocalNameFilter = _useState2[1];
47197
+ var itemsContainer = useRef(null);
47198
+ useEffect(function () {
47199
+ var _itemsContainer$curre;
47200
+ (_itemsContainer$curre = itemsContainer.current) == null ? void 0 : _itemsContainer$curre.scrollTo(0, 0);
47201
+ }, [currentPage]);
47202
+ useEffect(function () {
47203
+ setLocalNameFilter(nameFilter);
47204
+ }, [nameFilter]);
47205
+ var filteredListings = useMemo(function () {
47206
+ if (!localNameFilter.trim()) {
47207
+ return characterListings;
47208
+ }
47209
+ var filter = localNameFilter.trim().toLowerCase();
47210
+ return characterListings.filter(function (listing) {
47211
+ var _listing$characterSna;
47212
+ return (_listing$characterSna = listing.characterSnapshot.name) == null ? void 0 : _listing$characterSna.toLowerCase().includes(filter);
47213
+ });
47214
+ }, [characterListings, localNameFilter]);
47215
+ var handleNameFilterChange = function handleNameFilterChange(value) {
47216
+ setLocalNameFilter(value);
47217
+ onNameFilterChange == null ? void 0 : onNameFilterChange(value);
47218
+ };
47219
+ var handleBuyClick = function handleBuyClick(listingId) {
47220
+ setBuyingListingId(listingId);
47221
+ };
47222
+ var handleBuyConfirm = function handleBuyConfirm() {
47223
+ if (buyingListingId) {
47224
+ onCharacterBuy(buyingListingId);
47225
+ setBuyingListingId(null);
47226
+ enableHotkeys == null ? void 0 : enableHotkeys();
47227
+ }
47228
+ };
47229
+ var renderCharacterSprite = function renderCharacterSprite(snapshot) {
47230
+ return React.createElement(SpriteFromAtlas, {
47231
+ atlasIMG: characterAtlasIMG,
47232
+ atlasJSON: characterAtlasJSON,
47233
+ spriteKey: snapshot.textureKey + "/down/standing/0.png",
47234
+ imgScale: 3,
47235
+ height: 64,
47236
+ width: 64
47237
+ });
47238
+ };
47239
+ return React.createElement(React.Fragment, null, buyingListingId && React.createElement(ConfirmModal, {
47240
+ onClose: function onClose() {
47241
+ setBuyingListingId(null);
47242
+ enableHotkeys == null ? void 0 : enableHotkeys();
47243
+ },
47244
+ onConfirm: handleBuyConfirm,
47245
+ message: "Are you sure you want to buy this character?"
47246
+ }), React.createElement(ToolbarRow$1, null, React.createElement(SearchField$1, null, React.createElement(Input, {
47247
+ onChange: function onChange(e) {
47248
+ return handleNameFilterChange(e.target.value);
47249
+ },
47250
+ value: localNameFilter,
47251
+ placeholder: "Search characters...",
47252
+ onBlur: enableHotkeys,
47253
+ onFocus: disableHotkeys,
47254
+ className: "search-input"
47255
+ }))), React.createElement(ListingsContainer, {
47256
+ id: "MarketContainer",
47257
+ ref: itemsContainer
47258
+ }, isLoading ? React.createElement(LoadingState$1, null, React.createElement(Spinner$3, null), React.createElement(LoadingText$2, null, "Loading character listings...")) : filteredListings.length === 0 ? React.createElement(EmptyState$5, null, React.createElement(User, {
47259
+ width: 32,
47260
+ height: 32
47261
+ }), React.createElement(EmptyText, null, "No character listings found.")) : React.createElement(ListingsGrid, null, filteredListings.map(function (listing) {
47262
+ var _listing$characterSna2, _listing$characterSna3;
47263
+ return React.createElement(CharacterListingCard, {
47264
+ key: listing._id,
47265
+ onClick: function onClick() {
47266
+ return handleBuyClick(listing._id);
47267
+ },
47268
+ "$isBeingBought": listing.isBeingBought
47269
+ }, React.createElement(CharacterSprite, null, renderCharacterSprite(listing.characterSnapshot)), React.createElement(CharacterInfo, null, React.createElement(CharacterName$1, null, listing.characterSnapshot.name || 'Unknown'), React.createElement(CharacterMeta, null, "Lv.", listing.characterSnapshot.level, " \xB7 ", listing.characterSnapshot["class"]), React.createElement(CharacterDetails, null, listing.characterSnapshot.race, " \xB7 ", listing.characterSnapshot.faction), React.createElement(ModeBadge, {
47270
+ "$hardcore": ((_listing$characterSna2 = listing.characterSnapshot.mode) == null ? void 0 : _listing$characterSna2.toLowerCase()) === 'hardcore'
47271
+ }, listing.characterSnapshot.mode || 'Standard'), ((_listing$characterSna3 = listing.characterSnapshot.equipment) == null ? void 0 : _listing$characterSna3.length) > 0 && React.createElement(EquipmentRow, null, listing.characterSnapshot.equipment.slice(0, 3).map(function (eq, i) {
47272
+ return React.createElement(EquipBadge, {
47273
+ key: i,
47274
+ "$rarity": eq.rarity
47275
+ }, eq.rarity || 'Common');
47276
+ })), React.createElement(SellerInfo, null, "by ", listing.listedByCharacterName), React.createElement(ListingPrice, null, React.createElement(DCCoinWrapper$2, null, React.createElement(SpriteFromAtlas, {
47277
+ atlasIMG: atlasIMG,
47278
+ atlasJSON: atlasJSON,
47279
+ spriteKey: "others/definya-coin.png",
47280
+ imgScale: 1
47281
+ })), formatDCAmount(listing.price), " DC")), listing.isBeingBought && React.createElement(BeingBoughtBadge, null, "Pending"));
47282
+ }))), totalCount > itemsPerPage && React.createElement(PagerFooter$1, null, React.createElement(Pagination, {
47283
+ currentPage: currentPage,
47284
+ totalPages: Math.ceil(totalCount / itemsPerPage),
47285
+ onPageChange: onPageChange
47286
+ })));
47287
+ };
47288
+ var ToolbarRow$1 = /*#__PURE__*/styled.div.withConfig({
47289
+ displayName: "CharacterMarketplacePanel__ToolbarRow",
47290
+ componentId: "sc-1aiauep-0"
47291
+ })(["width:95%;display:flex;gap:10px;align-items:center;margin:0 auto 10px auto;background:rgba(0,0,0,0.2);padding:8px 12px;border-radius:4px;border:1px solid rgba(255,255,255,0.05);"]);
47292
+ var SearchField$1 = /*#__PURE__*/styled.div.withConfig({
47293
+ displayName: "CharacterMarketplacePanel__SearchField",
47294
+ componentId: "sc-1aiauep-1"
47295
+ })(["flex:1;min-width:0;input.search-input{height:10px;width:100%;}"]);
47296
+ var ListingsContainer = /*#__PURE__*/styled.div.withConfig({
47297
+ displayName: "CharacterMarketplacePanel__ListingsContainer",
47298
+ componentId: "sc-1aiauep-2"
47299
+ })(["overflow-y:scroll;overflow-x:hidden;height:390px;width:95%;margin:1rem auto 0 auto;background:rgba(0,0,0,0.2);border:1px solid rgba(255,255,255,0.05);border-radius:4px;@media (max-width:950px){height:250px;}"]);
47300
+ var ListingsGrid = /*#__PURE__*/styled.div.withConfig({
47301
+ displayName: "CharacterMarketplacePanel__ListingsGrid",
47302
+ componentId: "sc-1aiauep-3"
47303
+ })(["display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;padding:12px;"]);
47304
+ var CharacterListingCard = /*#__PURE__*/styled.button.withConfig({
47305
+ displayName: "CharacterMarketplacePanel__CharacterListingCard",
47306
+ componentId: "sc-1aiauep-4"
47307
+ })(["display:flex;flex-direction:column;align-items:center;gap:8px;background:rgba(255,255,255,0.03);border:1px solid ", ";border-radius:8px;padding:12px;cursor:pointer;transition:border-color 0.15s,background 0.15s;position:relative;opacity:", ";&:hover{border-color:", ";background:", ";}", ""], function (_ref2) {
47308
+ var $isBeingBought = _ref2.$isBeingBought;
47309
+ return $isBeingBought ? 'rgba(239, 68, 68, 0.3)' : 'rgba(255, 255, 255, 0.08)';
47310
+ }, function (_ref3) {
47311
+ var $isBeingBought = _ref3.$isBeingBought;
47312
+ return $isBeingBought ? 0.6 : 1;
47313
+ }, function (_ref4) {
47314
+ var $isBeingBought = _ref4.$isBeingBought;
47315
+ return $isBeingBought ? 'rgba(239, 68, 68, 0.5)' : 'rgba(245, 158, 11, 0.4)';
47316
+ }, function (_ref5) {
47317
+ var $isBeingBought = _ref5.$isBeingBought;
47318
+ return $isBeingBought ? 'rgba(239, 68, 68, 0.05)' : 'rgba(245, 158, 11, 0.05)';
47319
+ }, function (_ref6) {
47320
+ var $isBeingBought = _ref6.$isBeingBought;
47321
+ return $isBeingBought && "\n pointer-events: none;\n ";
47322
+ });
47323
+ var CharacterSprite = /*#__PURE__*/styled.div.withConfig({
47324
+ displayName: "CharacterMarketplacePanel__CharacterSprite",
47325
+ componentId: "sc-1aiauep-5"
47326
+ })(["display:flex;align-items:center;justify-content:center;image-rendering:pixelated;width:64px;height:64px;flex-shrink:0;"]);
47327
+ var CharacterInfo = /*#__PURE__*/styled.div.withConfig({
47328
+ displayName: "CharacterMarketplacePanel__CharacterInfo",
47329
+ componentId: "sc-1aiauep-6"
47330
+ })(["display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;width:100%;"]);
47331
+ var CharacterName$1 = /*#__PURE__*/styled.span.withConfig({
47332
+ displayName: "CharacterMarketplacePanel__CharacterName",
47333
+ componentId: "sc-1aiauep-7"
47334
+ })(["font-family:'Press Start 2P',cursive !important;font-size:0.55rem !important;color:#f3f4f6 !important;text-transform:uppercase;letter-spacing:0.5px;"]);
47335
+ var CharacterMeta = /*#__PURE__*/styled.span.withConfig({
47336
+ displayName: "CharacterMarketplacePanel__CharacterMeta",
47337
+ componentId: "sc-1aiauep-8"
47338
+ })(["font-family:'Press Start 2P',cursive !important;font-size:0.45rem !important;color:#888 !important;text-transform:uppercase;letter-spacing:0.5px;"]);
47339
+ var CharacterDetails = /*#__PURE__*/styled.span.withConfig({
47340
+ displayName: "CharacterMarketplacePanel__CharacterDetails",
47341
+ componentId: "sc-1aiauep-9"
47342
+ })(["font-family:'Press Start 2P',cursive !important;font-size:0.38rem !important;color:#9ca3af !important;text-transform:uppercase;letter-spacing:0.5px;"]);
47343
+ var RARITY_COLORS$1 = {
47344
+ legendary: '#f59e0b',
47345
+ epic: '#a855f7',
47346
+ rare: '#3b82f6',
47347
+ uncommon: '#22c55e',
47348
+ common: '#6b7280'
47349
+ };
47350
+ var ModeBadge = /*#__PURE__*/styled.span.withConfig({
47351
+ displayName: "CharacterMarketplacePanel__ModeBadge",
47352
+ componentId: "sc-1aiauep-10"
47353
+ })(["font-family:'Press Start 2P',cursive !important;font-size:0.32rem !important;color:", " !important;border:1px solid ", ";border-radius:3px;padding:1px 4px;text-transform:uppercase;letter-spacing:0.5px;"], function (_ref7) {
47354
+ var $hardcore = _ref7.$hardcore;
47355
+ return $hardcore ? '#ef4444' : '#6b7280';
47356
+ }, function (_ref8) {
47357
+ var $hardcore = _ref8.$hardcore;
47358
+ return $hardcore ? 'rgba(239,68,68,0.4)' : 'rgba(107,114,128,0.3)';
47359
+ });
47360
+ var EquipmentRow = /*#__PURE__*/styled.div.withConfig({
47361
+ displayName: "CharacterMarketplacePanel__EquipmentRow",
47362
+ componentId: "sc-1aiauep-11"
47363
+ })(["display:flex;flex-wrap:wrap;gap:3px;justify-content:center;"]);
47364
+ var EquipBadge = /*#__PURE__*/styled.span.withConfig({
47365
+ displayName: "CharacterMarketplacePanel__EquipBadge",
47366
+ componentId: "sc-1aiauep-12"
47367
+ })(["font-family:'Press Start 2P',cursive !important;font-size:0.3rem !important;color:", " !important;border:1px solid ", "44;border-radius:2px;padding:1px 3px;text-transform:uppercase;letter-spacing:0.3px;"], function (_ref9) {
47368
+ var _RARITY_COLORS$toLowe;
47369
+ var $rarity = _ref9.$rarity;
47370
+ return (_RARITY_COLORS$toLowe = RARITY_COLORS$1[($rarity != null ? $rarity : '').toLowerCase()]) != null ? _RARITY_COLORS$toLowe : RARITY_COLORS$1.common;
47371
+ }, function (_ref10) {
47372
+ var _RARITY_COLORS$toLowe2;
47373
+ var $rarity = _ref10.$rarity;
47374
+ return (_RARITY_COLORS$toLowe2 = RARITY_COLORS$1[($rarity != null ? $rarity : '').toLowerCase()]) != null ? _RARITY_COLORS$toLowe2 : RARITY_COLORS$1.common;
47375
+ });
47376
+ var SellerInfo = /*#__PURE__*/styled.span.withConfig({
47377
+ displayName: "CharacterMarketplacePanel__SellerInfo",
47378
+ componentId: "sc-1aiauep-13"
47379
+ })(["font-family:'Press Start 2P',cursive !important;font-size:0.4rem !important;color:#666 !important;text-transform:uppercase;letter-spacing:0.5px;"]);
47380
+ var ListingPrice = /*#__PURE__*/styled.div.withConfig({
47381
+ displayName: "CharacterMarketplacePanel__ListingPrice",
47382
+ componentId: "sc-1aiauep-14"
47383
+ })(["display:flex;align-items:center;justify-content:center;gap:4px;font-family:'Press Start 2P',cursive !important;font-size:0.5rem !important;color:#fef08a !important;line-height:1;"]);
47384
+ var DCCoinWrapper$2 = /*#__PURE__*/styled.span.withConfig({
47385
+ displayName: "CharacterMarketplacePanel__DCCoinWrapper",
47386
+ componentId: "sc-1aiauep-15"
47387
+ })(["display:flex;align-items:center;justify-content:center;flex-shrink:0;line-height:0;"]);
47388
+ var BeingBoughtBadge = /*#__PURE__*/styled.span.withConfig({
47389
+ displayName: "CharacterMarketplacePanel__BeingBoughtBadge",
47390
+ componentId: "sc-1aiauep-16"
47391
+ })(["position:absolute;top:6px;right:6px;background:rgba(239,68,68,0.2);border:1px solid rgba(239,68,68,0.4);border-radius:4px;padding:2px 6px;font-family:'Press Start 2P',cursive !important;font-size:0.35rem !important;color:#ef4444 !important;text-transform:uppercase;letter-spacing:0.5px;"]);
47392
+ var PagerFooter$1 = /*#__PURE__*/styled.div.withConfig({
47393
+ displayName: "CharacterMarketplacePanel__PagerFooter",
47394
+ componentId: "sc-1aiauep-17"
47395
+ })(["display:flex;justify-content:center;align-items:center;padding:8px 0 4px;min-height:36px;width:95%;margin:0 auto;"]);
47396
+ var LoadingState$1 = /*#__PURE__*/styled.div.withConfig({
47397
+ displayName: "CharacterMarketplacePanel__LoadingState",
47398
+ componentId: "sc-1aiauep-18"
47399
+ })(["display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;height:100%;min-height:160px;"]);
47400
+ var spin$1 = /*#__PURE__*/keyframes(["to{transform:rotate(360deg);}"]);
47401
+ var Spinner$3 = /*#__PURE__*/styled.div.withConfig({
47402
+ displayName: "CharacterMarketplacePanel__Spinner",
47403
+ componentId: "sc-1aiauep-19"
47404
+ })(["width:28px;height:28px;border:3px solid rgba(245,158,11,0.2);border-top-color:#f59e0b;border-radius:50%;animation:", " 0.7s linear infinite;"], spin$1);
47405
+ var LoadingText$2 = /*#__PURE__*/styled.span.withConfig({
47406
+ displayName: "CharacterMarketplacePanel__LoadingText",
47407
+ componentId: "sc-1aiauep-20"
47408
+ })(["font-family:'Press Start 2P',cursive !important;font-size:0.48rem !important;color:#8a8a8a !important;text-transform:uppercase;letter-spacing:1px;"]);
47409
+ var EmptyState$5 = /*#__PURE__*/styled.div.withConfig({
47410
+ displayName: "CharacterMarketplacePanel__EmptyState",
47411
+ componentId: "sc-1aiauep-21"
47412
+ })(["display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;height:100%;min-height:200px;"]);
47413
+ var EmptyText = /*#__PURE__*/styled.span.withConfig({
47414
+ displayName: "CharacterMarketplacePanel__EmptyText",
47415
+ componentId: "sc-1aiauep-22"
47416
+ })(["font-family:'Press Start 2P',cursive !important;font-size:0.48rem !important;color:#71717a !important;text-transform:uppercase;letter-spacing:1px;"]);
47417
+
47418
+ var MyCharacterListingsPanel = function MyCharacterListingsPanel(_ref) {
47419
+ var myCharacterListings = _ref.myCharacterListings,
47420
+ totalCount = _ref.totalCount,
47421
+ currentPage = _ref.currentPage,
47422
+ itemsPerPage = _ref.itemsPerPage,
47423
+ onPageChange = _ref.onPageChange,
47424
+ onCharacterDelist = _ref.onCharacterDelist,
47425
+ atlasJSON = _ref.atlasJSON,
47426
+ atlasIMG = _ref.atlasIMG,
47427
+ characterAtlasJSON = _ref.characterAtlasJSON,
47428
+ characterAtlasIMG = _ref.characterAtlasIMG,
47429
+ enableHotkeys = _ref.enableHotkeys;
47430
+ var _useState = useState(null),
47431
+ delistingListingId = _useState[0],
47432
+ setDelistingListingId = _useState[1];
47433
+ var itemsContainer = useRef(null);
47434
+ useEffect(function () {
47435
+ var _itemsContainer$curre;
47436
+ (_itemsContainer$curre = itemsContainer.current) == null ? void 0 : _itemsContainer$curre.scrollTo(0, 0);
47437
+ }, [currentPage]);
47438
+ var handleDelistClick = function handleDelistClick(listingId) {
47439
+ setDelistingListingId(listingId);
47440
+ };
47441
+ var handleDelistConfirm = function handleDelistConfirm() {
47442
+ if (delistingListingId) {
47443
+ onCharacterDelist(delistingListingId);
47444
+ setDelistingListingId(null);
47445
+ enableHotkeys == null ? void 0 : enableHotkeys();
47446
+ }
47447
+ };
47448
+ var getFormattedDate = function getFormattedDate(date) {
47449
+ return new Date(date).toLocaleDateString();
47450
+ };
47451
+ return React.createElement(React.Fragment, null, delistingListingId && React.createElement(ConfirmModal, {
47452
+ onClose: function onClose() {
47453
+ setDelistingListingId(null);
47454
+ enableHotkeys == null ? void 0 : enableHotkeys();
47455
+ },
47456
+ onConfirm: handleDelistConfirm,
47457
+ message: "Are you sure you want to delist this character?"
47458
+ }), React.createElement(ListingsContainer$1, {
47459
+ id: "MarketContainer",
47460
+ ref: itemsContainer
47461
+ }, myCharacterListings.length === 0 ? React.createElement(EmptyState$6, null, React.createElement(User, {
47462
+ width: 32,
47463
+ height: 32
47464
+ }), React.createElement(EmptyText$1, null, "You have no listed characters."), React.createElement(EmptySubtext, null, "Use the \"List Character\" tab to list a character for sale.")) : React.createElement(ListingsGrid$1, null, myCharacterListings.map(function (listing) {
47465
+ return React.createElement(CharacterListingCard$1, {
47466
+ key: listing._id
47467
+ }, React.createElement(CharacterSprite$1, null, React.createElement(SpriteFromAtlas, {
47468
+ atlasIMG: characterAtlasIMG,
47469
+ atlasJSON: characterAtlasJSON,
47470
+ spriteKey: listing.characterSnapshot.textureKey + "/down/standing/0.png",
47471
+ imgScale: 3,
47472
+ height: 64,
47473
+ width: 64
47474
+ })), React.createElement(CharacterInfo$1, null, React.createElement(CharacterName$2, null, listing.characterSnapshot.name || 'Unknown'), React.createElement(CharacterMeta$1, null, "Level ", listing.characterSnapshot.level), React.createElement(ListingPrice$1, null, React.createElement(DCCoinWrapper$3, null, React.createElement(SpriteFromAtlas, {
47475
+ atlasIMG: atlasIMG,
47476
+ atlasJSON: atlasJSON,
47477
+ spriteKey: "others/definya-coin.png",
47478
+ imgScale: 1
47479
+ })), formatDCAmount(listing.price), " DC"), React.createElement(ListingMeta, null, "Listed ", getFormattedDate(listing.createdAt)), listing.isBeingBought && React.createElement(ListingStatus, {
47480
+ "$status": "pending"
47481
+ }, "Sale Pending")), React.createElement(ActionButton, {
47482
+ icon: React.createElement(Delete, {
47483
+ width: 16,
47484
+ height: 16
47485
+ }),
47486
+ label: "Delist",
47487
+ onClick: function onClick() {
47488
+ return handleDelistClick(listing._id);
47489
+ },
47490
+ iconColor: "#ef4444",
47491
+ disabled: listing.isBeingBought
47492
+ }));
47493
+ }))), totalCount > itemsPerPage && React.createElement(PagerFooter$2, null, React.createElement(Pagination$1, null, Array.from({
47494
+ length: Math.ceil(totalCount / itemsPerPage)
47495
+ }, function (_, i) {
47496
+ return i + 1;
47497
+ }).map(function (page) {
47498
+ return React.createElement(PageButton, {
47499
+ key: page,
47500
+ "$active": currentPage === page,
47501
+ type: "button",
47502
+ onClick: function onClick() {
47503
+ return onPageChange(page);
47504
+ }
47505
+ }, page);
47506
+ }))));
47507
+ };
47508
+ var ListingsContainer$1 = /*#__PURE__*/styled.div.withConfig({
47509
+ displayName: "MyCharacterListingsPanel__ListingsContainer",
47510
+ componentId: "sc-su21a6-0"
47511
+ })(["overflow-y:scroll;overflow-x:hidden;height:390px;width:95%;margin:1rem auto 0 auto;background:rgba(0,0,0,0.2);border:1px solid rgba(255,255,255,0.05);border-radius:4px;@media (max-width:950px){height:250px;}"]);
47512
+ var ListingsGrid$1 = /*#__PURE__*/styled.div.withConfig({
47513
+ displayName: "MyCharacterListingsPanel__ListingsGrid",
47514
+ componentId: "sc-su21a6-1"
47515
+ })(["display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;padding:12px;"]);
47516
+ var CharacterListingCard$1 = /*#__PURE__*/styled.div.withConfig({
47517
+ displayName: "MyCharacterListingsPanel__CharacterListingCard",
47518
+ componentId: "sc-su21a6-2"
47519
+ })(["display:flex;flex-direction:column;align-items:center;gap:8px;background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.08);border-radius:8px;padding:12px;"]);
47520
+ var CharacterSprite$1 = /*#__PURE__*/styled.div.withConfig({
47521
+ displayName: "MyCharacterListingsPanel__CharacterSprite",
47522
+ componentId: "sc-su21a6-3"
47523
+ })(["display:flex;align-items:center;justify-content:center;image-rendering:pixelated;"]);
47524
+ var CharacterInfo$1 = /*#__PURE__*/styled.div.withConfig({
47525
+ displayName: "MyCharacterListingsPanel__CharacterInfo",
47526
+ componentId: "sc-su21a6-4"
47527
+ })(["display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;"]);
47528
+ var CharacterName$2 = /*#__PURE__*/styled.span.withConfig({
47529
+ displayName: "MyCharacterListingsPanel__CharacterName",
47530
+ componentId: "sc-su21a6-5"
47531
+ })(["font-family:'Press Start 2P',cursive;font-size:0.55rem;color:#f3f4f6;text-transform:uppercase;letter-spacing:0.5px;"]);
47532
+ var CharacterMeta$1 = /*#__PURE__*/styled.span.withConfig({
47533
+ displayName: "MyCharacterListingsPanel__CharacterMeta",
47534
+ componentId: "sc-su21a6-6"
47535
+ })(["font-size:0.45rem;color:#888;text-transform:uppercase;letter-spacing:0.5px;"]);
47536
+ var ListingPrice$1 = /*#__PURE__*/styled.div.withConfig({
47537
+ displayName: "MyCharacterListingsPanel__ListingPrice",
47538
+ componentId: "sc-su21a6-7"
47539
+ })(["display:flex;align-items:center;gap:6px;font-family:'Press Start 2P',cursive;font-size:0.5rem;color:#fef08a;"]);
47540
+ var DCCoinWrapper$3 = /*#__PURE__*/styled.span.withConfig({
47541
+ displayName: "MyCharacterListingsPanel__DCCoinWrapper",
47542
+ componentId: "sc-su21a6-8"
47543
+ })(["display:flex;align-items:center;justify-content:center;flex-shrink:0;"]);
47544
+ var ListingMeta = /*#__PURE__*/styled.span.withConfig({
47545
+ displayName: "MyCharacterListingsPanel__ListingMeta",
47546
+ componentId: "sc-su21a6-9"
47547
+ })(["font-size:0.38rem;color:#52525b;text-transform:uppercase;letter-spacing:0.5px;"]);
47548
+ var ListingStatus = /*#__PURE__*/styled.span.withConfig({
47549
+ displayName: "MyCharacterListingsPanel__ListingStatus",
47550
+ componentId: "sc-su21a6-10"
47551
+ })(["font-size:0.38rem;padding:2px 6px;border-radius:4px;text-transform:uppercase;letter-spacing:0.5px;", ""], function (_ref2) {
47552
+ var $status = _ref2.$status;
47553
+ return $status === 'pending' ? "\n background: rgba(239, 68, 68, 0.2);\n border: 1px solid rgba(239, 68, 68, 0.4);\n color: #ef4444;\n " : "\n background: rgba(34, 197, 94, 0.2);\n border: 1px solid rgba(34, 197, 94, 0.4);\n color: #22c55e;\n ";
47554
+ });
47555
+ var ActionButton = /*#__PURE__*/styled(CTAButton).withConfig({
47556
+ displayName: "MyCharacterListingsPanel__ActionButton",
47557
+ componentId: "sc-su21a6-11"
47558
+ })(["padding:6px 12px;height:28px;opacity:", ";pointer-events:", ";span{font-size:0.5rem;}svg{font-size:1rem;}"], function (_ref3) {
47559
+ var disabled = _ref3.disabled;
47560
+ return disabled ? 0.5 : 1;
47561
+ }, function (_ref4) {
47562
+ var disabled = _ref4.disabled;
47563
+ return disabled ? 'none' : 'auto';
47564
+ });
47565
+ var PagerFooter$2 = /*#__PURE__*/styled.div.withConfig({
47566
+ displayName: "MyCharacterListingsPanel__PagerFooter",
47567
+ componentId: "sc-su21a6-12"
47568
+ })(["display:flex;justify-content:center;align-items:center;padding:8px 0 4px;min-height:36px;width:95%;margin:0 auto;"]);
47569
+ var Pagination$1 = /*#__PURE__*/styled.div.withConfig({
47570
+ displayName: "MyCharacterListingsPanel__Pagination",
47571
+ componentId: "sc-su21a6-13"
47572
+ })(["display:flex;gap:6px;"]);
47573
+ var PageButton = /*#__PURE__*/styled.button.withConfig({
47574
+ displayName: "MyCharacterListingsPanel__PageButton",
47575
+ componentId: "sc-su21a6-14"
47576
+ })(["padding:6px 10px;font-family:'Press Start 2P',cursive;font-size:0.5rem;border-radius:4px;border:1px solid ", ";background:", ";color:", ";cursor:pointer;transition:border-color 0.15s,background 0.15s,color 0.15s;&:hover{border-color:", ";color:", ";}"], function (_ref5) {
47577
+ var $active = _ref5.$active;
47578
+ return $active ? '#f59e0b' : 'rgba(255,255,255,0.12)';
47579
+ }, function (_ref6) {
47580
+ var $active = _ref6.$active;
47581
+ return $active ? 'rgba(245,158,11,0.15)' : 'rgba(0,0,0,0.3)';
47582
+ }, function (_ref7) {
47583
+ var $active = _ref7.$active;
47584
+ return $active ? '#f59e0b' : '#777';
47585
+ }, function (_ref8) {
47586
+ var $active = _ref8.$active;
47587
+ return $active ? '#f59e0b' : 'rgba(255,255,255,0.3)';
47588
+ }, function (_ref9) {
47589
+ var $active = _ref9.$active;
47590
+ return $active ? '#f59e0b' : '#bbb';
47591
+ });
47592
+ var EmptyState$6 = /*#__PURE__*/styled.div.withConfig({
47593
+ displayName: "MyCharacterListingsPanel__EmptyState",
47594
+ componentId: "sc-su21a6-15"
47595
+ })(["display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;height:100%;min-height:200px;"]);
47596
+ var EmptyText$1 = /*#__PURE__*/styled.span.withConfig({
47597
+ displayName: "MyCharacterListingsPanel__EmptyText",
47598
+ componentId: "sc-su21a6-16"
47599
+ })(["font-size:0.55rem;color:#71717a;text-transform:uppercase;letter-spacing:1px;"]);
47600
+ var EmptySubtext = /*#__PURE__*/styled.span.withConfig({
47601
+ displayName: "MyCharacterListingsPanel__EmptySubtext",
47602
+ componentId: "sc-su21a6-17"
47603
+ })(["font-size:0.45rem;color:#52525b;text-transform:none;letter-spacing:0.5px;text-align:center;max-width:280px;"]);
47604
+
47605
+ var CharacterListingModal = function CharacterListingModal(_ref) {
47606
+ var isOpen = _ref.isOpen,
47607
+ onClose = _ref.onClose,
47608
+ accountCharacters = _ref.accountCharacters,
47609
+ atlasJSON = _ref.atlasJSON,
47610
+ atlasIMG = _ref.atlasIMG,
47611
+ characterAtlasJSON = _ref.characterAtlasJSON,
47612
+ characterAtlasIMG = _ref.characterAtlasIMG,
47613
+ onCharacterList = _ref.onCharacterList,
47614
+ enableHotkeys = _ref.enableHotkeys,
47615
+ disableHotkeys = _ref.disableHotkeys;
47616
+ var _useState = useState(null),
47617
+ selectedId = _useState[0],
47618
+ setSelectedId = _useState[1];
47619
+ var _useState2 = useState(''),
47620
+ price = _useState2[0],
47621
+ setPrice = _useState2[1];
47622
+ var _useState3 = useState(false),
47623
+ isConfirming = _useState3[0],
47624
+ setIsConfirming = _useState3[1];
47625
+ if (!isOpen) return null;
47626
+ var eligibleCharacters = accountCharacters.filter(function (c) {
47627
+ return !c.isListedForSale && !c.tradedAt;
47628
+ });
47629
+ var canList = !!selectedId && Number(price) > 0;
47630
+ var handleClose = function handleClose() {
47631
+ setSelectedId(null);
47632
+ setPrice('');
47633
+ enableHotkeys == null ? void 0 : enableHotkeys();
47634
+ onClose();
47635
+ };
47636
+ var handleListClick = function handleListClick() {
47637
+ if (canList) setIsConfirming(true);
47638
+ };
47639
+ var handleConfirm = function handleConfirm() {
47640
+ if (!selectedId || !canList) return;
47641
+ onCharacterList(selectedId, Number(price));
47642
+ setSelectedId(null);
47643
+ setPrice('');
47644
+ setIsConfirming(false);
47645
+ enableHotkeys == null ? void 0 : enableHotkeys();
47646
+ onClose();
47647
+ };
47648
+ var stopPropagation = useCallback(function (e) {
47649
+ e.stopPropagation();
47650
+ }, []);
47651
+ var getLevel = function getLevel(c) {
47652
+ var _c$skills;
47653
+ return ((_c$skills = c.skills) == null ? void 0 : _c$skills.level) || 1;
47654
+ };
47655
+ return React.createElement(ModalPortal, null, isConfirming && React.createElement(ConfirmModal, {
47656
+ onConfirm: handleConfirm,
47657
+ onClose: function onClose() {
47658
+ setIsConfirming(false);
47659
+ enableHotkeys == null ? void 0 : enableHotkeys();
47660
+ },
47661
+ message: "Are you sure you want to list this character for sale?"
47662
+ }), React.createElement(Overlay$7, {
47663
+ onPointerDown: handleClose
47664
+ }), React.createElement(ModalContainer$5, null, React.createElement(ModalContent$5, {
47665
+ onClick: stopPropagation,
47666
+ onTouchStart: stopPropagation,
47667
+ onPointerDown: stopPropagation
47668
+ }, React.createElement(Header$b, null, React.createElement(Title$c, null, "List Character for Sale"), React.createElement(CloseButton$d, {
47669
+ onPointerDown: handleClose,
47670
+ "aria-label": "Close",
47671
+ type: "button"
47672
+ }, React.createElement(FaTimes, null))), React.createElement(CharacterList$1, null, eligibleCharacters.length === 0 ? React.createElement(EmptyState$7, null, "No eligible characters to list.") : eligibleCharacters.map(function (character) {
47673
+ var isSelected = selectedId === character._id;
47674
+ return React.createElement(CharacterRow, {
47675
+ key: character._id,
47676
+ "$selected": isSelected,
47677
+ onPointerDown: function onPointerDown() {
47678
+ return setSelectedId(character._id);
47679
+ },
47680
+ role: "radio",
47681
+ "aria-checked": isSelected,
47682
+ tabIndex: 0,
47683
+ onKeyDown: function onKeyDown(e) {
47684
+ if (e.key === 'Enter' || e.key === ' ') {
47685
+ e.preventDefault();
47686
+ setSelectedId(character._id);
47687
+ }
47688
+ }
47689
+ }, React.createElement(RadioCircle$1, {
47690
+ "$selected": isSelected
47691
+ }), React.createElement(SpriteWrapper$3, null, React.createElement(SpriteFromAtlas, {
47692
+ atlasIMG: characterAtlasIMG,
47693
+ atlasJSON: characterAtlasJSON,
47694
+ spriteKey: character.textureKey + "/down/standing/0.png",
47695
+ imgScale: 2,
47696
+ height: 40,
47697
+ width: 40
47698
+ })), React.createElement(CharacterInfo$2, null, React.createElement(CharacterName$3, null, character.name || 'Unknown'), React.createElement(CharacterMeta$2, null, "Level ", getLevel(character))));
47699
+ })), React.createElement(PriceSection$1, null, React.createElement(PriceLabel, null, "Set Price (DC)"), React.createElement(PriceRow$1, null, React.createElement(Input, {
47700
+ onChange: function onChange(e) {
47701
+ return setPrice(e.target.value);
47702
+ },
47703
+ value: price,
47704
+ placeholder: "Amount...",
47705
+ type: "number",
47706
+ disabled: eligibleCharacters.length === 0,
47707
+ onFocus: disableHotkeys,
47708
+ onBlur: enableHotkeys,
47709
+ className: "price-input"
47710
+ }), React.createElement(ListBtn, {
47711
+ icon: React.createElement(ShoppingBag, {
47712
+ width: 18,
47713
+ height: 18
47714
+ }),
47715
+ label: "List",
47716
+ disabled: !canList,
47717
+ onClick: handleListClick
47718
+ })), price && Number(price) > 0 && React.createElement(PricePreview, null, React.createElement(DCCoinWrapper$4, null, React.createElement(SpriteFromAtlas, {
47719
+ atlasIMG: atlasIMG,
47720
+ atlasJSON: atlasJSON,
47721
+ spriteKey: "others/definya-coin.png",
47722
+ imgScale: 1
47723
+ })), React.createElement(PricePreviewAmount, null, Number(price).toLocaleString(), " DC")), React.createElement(DCRateStrip, null)))));
47724
+ };
47725
+ var scaleIn$2 = /*#__PURE__*/keyframes(["from{transform:scale(0.85);opacity:0;}to{transform:scale(1);opacity:1;}"]);
47726
+ var Overlay$7 = /*#__PURE__*/styled.div.withConfig({
47727
+ displayName: "CharacterListingModal__Overlay",
47728
+ componentId: "sc-1uxkx35-0"
47729
+ })(["position:fixed;inset:0;background:rgba(0,0,0,0.7);z-index:1000;"]);
47730
+ var ModalContainer$5 = /*#__PURE__*/styled.div.withConfig({
47731
+ displayName: "CharacterListingModal__ModalContainer",
47732
+ componentId: "sc-1uxkx35-1"
47733
+ })(["position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:1001;pointer-events:none;"]);
47734
+ var ModalContent$5 = /*#__PURE__*/styled.div.withConfig({
47735
+ displayName: "CharacterListingModal__ModalContent",
47736
+ componentId: "sc-1uxkx35-2"
47737
+ })(["background:#1a1a2e;border:2px solid #f59e0b;border-radius:8px;padding:20px 24px;width:440px;max-width:92%;max-height:80dvh;display:flex;flex-direction:column;gap:16px;overflow:hidden;pointer-events:auto;animation:", " 0.15s ease-out;"], scaleIn$2);
47738
+ var Header$b = /*#__PURE__*/styled.div.withConfig({
47739
+ displayName: "CharacterListingModal__Header",
47740
+ componentId: "sc-1uxkx35-3"
47741
+ })(["display:flex;align-items:center;justify-content:space-between;"]);
47742
+ var Title$c = /*#__PURE__*/styled.h3.withConfig({
47743
+ displayName: "CharacterListingModal__Title",
47744
+ componentId: "sc-1uxkx35-4"
47745
+ })(["margin:0;font-family:'Press Start 2P',cursive !important;font-size:0.65rem !important;color:#fef08a !important;"]);
47746
+ var CloseButton$d = /*#__PURE__*/styled.button.withConfig({
47747
+ displayName: "CharacterListingModal__CloseButton",
47748
+ componentId: "sc-1uxkx35-5"
47749
+ })(["background:none;border:none;color:rgba(255,255,255,0.6);cursor:pointer;font-size:1rem;padding:4px;display:flex;align-items:center;pointer-events:auto;&:hover{color:#ffffff;}"]);
47750
+ var CharacterList$1 = /*#__PURE__*/styled.div.withConfig({
47751
+ displayName: "CharacterListingModal__CharacterList",
47752
+ componentId: "sc-1uxkx35-6"
47753
+ })(["display:flex;flex-direction:column;gap:6px;overflow-y:auto;max-height:260px;padding:2px;&::-webkit-scrollbar{width:6px;}&::-webkit-scrollbar-track{background:rgba(0,0,0,0.2);border-radius:4px;}&::-webkit-scrollbar-thumb{background:rgba(245,158,11,0.3);border-radius:4px;}"]);
47754
+ var CharacterRow = /*#__PURE__*/styled.div.withConfig({
47755
+ displayName: "CharacterListingModal__CharacterRow",
47756
+ componentId: "sc-1uxkx35-7"
47757
+ })(["display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid ", ";border-radius:6px;background:", ";cursor:pointer;transition:border-color 0.15s,background 0.15s;&:hover{border-color:", ";background:", ";}&:focus-visible{outline:2px solid rgba(245,158,11,0.6);outline-offset:2px;}"], function (_ref2) {
47758
+ var $selected = _ref2.$selected;
47759
+ return $selected ? '#f59e0b' : 'rgba(255,255,255,0.08)';
47760
+ }, function (_ref3) {
47761
+ var $selected = _ref3.$selected;
47762
+ return $selected ? 'rgba(245,158,11,0.1)' : 'rgba(255,255,255,0.02)';
47763
+ }, function (_ref4) {
47764
+ var $selected = _ref4.$selected;
47765
+ return $selected ? '#f59e0b' : 'rgba(245,158,11,0.4)';
47766
+ }, function (_ref5) {
47767
+ var $selected = _ref5.$selected;
47768
+ return $selected ? 'rgba(245,158,11,0.1)' : 'rgba(245,158,11,0.05)';
47769
+ });
47770
+ var RadioCircle$1 = /*#__PURE__*/styled.div.withConfig({
47771
+ displayName: "CharacterListingModal__RadioCircle",
47772
+ componentId: "sc-1uxkx35-8"
47773
+ })(["width:14px;height:14px;border-radius:50%;border:2px solid ", ";flex-shrink:0;display:flex;align-items:center;justify-content:center;&::after{content:'';width:6px;height:6px;border-radius:50%;background:#f59e0b;opacity:", ";transition:opacity 0.15s;}"], function (_ref6) {
47774
+ var $selected = _ref6.$selected;
47775
+ return $selected ? '#f59e0b' : 'rgba(255,255,255,0.4)';
47776
+ }, function (_ref7) {
47777
+ var $selected = _ref7.$selected;
47778
+ return $selected ? 1 : 0;
47779
+ });
47780
+ var SpriteWrapper$3 = /*#__PURE__*/styled.div.withConfig({
47781
+ displayName: "CharacterListingModal__SpriteWrapper",
47782
+ componentId: "sc-1uxkx35-9"
47783
+ })(["display:flex;align-items:center;justify-content:center;image-rendering:pixelated;flex-shrink:0;width:40px;height:40px;"]);
47784
+ var CharacterInfo$2 = /*#__PURE__*/styled.div.withConfig({
47785
+ displayName: "CharacterListingModal__CharacterInfo",
47786
+ componentId: "sc-1uxkx35-10"
47787
+ })(["display:flex;flex-direction:column;gap:4px;flex:1;"]);
47788
+ var CharacterName$3 = /*#__PURE__*/styled.span.withConfig({
47789
+ displayName: "CharacterListingModal__CharacterName",
47790
+ componentId: "sc-1uxkx35-11"
47791
+ })(["font-family:'Press Start 2P',cursive !important;font-size:0.5rem !important;color:#f3f4f6 !important;"]);
47792
+ var CharacterMeta$2 = /*#__PURE__*/styled.span.withConfig({
47793
+ displayName: "CharacterListingModal__CharacterMeta",
47794
+ componentId: "sc-1uxkx35-12"
47795
+ })(["font-family:'Press Start 2P',cursive !important;font-size:0.4rem !important;color:#888 !important;text-transform:uppercase;letter-spacing:0.5px;"]);
47796
+ var PricePreview = /*#__PURE__*/styled.div.withConfig({
47797
+ displayName: "CharacterListingModal__PricePreview",
47798
+ componentId: "sc-1uxkx35-13"
47799
+ })(["display:flex;align-items:center;gap:6px;"]);
47800
+ var DCCoinWrapper$4 = /*#__PURE__*/styled.span.withConfig({
47801
+ displayName: "CharacterListingModal__DCCoinWrapper",
47802
+ componentId: "sc-1uxkx35-14"
47803
+ })(["display:flex;align-items:center;justify-content:center;flex-shrink:0;"]);
47804
+ var PricePreviewAmount = /*#__PURE__*/styled.span.withConfig({
47805
+ displayName: "CharacterListingModal__PricePreviewAmount",
47806
+ componentId: "sc-1uxkx35-15"
47807
+ })(["font-family:'Press Start 2P',cursive !important;font-size:0.55rem !important;color:#fef08a !important;"]);
47808
+ var PriceSection$1 = /*#__PURE__*/styled.div.withConfig({
47809
+ displayName: "CharacterListingModal__PriceSection",
47810
+ componentId: "sc-1uxkx35-16"
47811
+ })(["display:flex;flex-direction:column;gap:8px;border-top:1px solid rgba(255,255,255,0.06);padding-top:12px;"]);
47812
+ var PriceLabel = /*#__PURE__*/styled.p.withConfig({
47813
+ displayName: "CharacterListingModal__PriceLabel",
47814
+ componentId: "sc-1uxkx35-17"
47815
+ })(["margin:0;font-family:'Press Start 2P',cursive !important;font-size:0.55rem !important;color:#888 !important;text-transform:uppercase;letter-spacing:0.5px;"]);
47816
+ var PriceRow$1 = /*#__PURE__*/styled.div.withConfig({
47817
+ displayName: "CharacterListingModal__PriceRow",
47818
+ componentId: "sc-1uxkx35-18"
47819
+ })(["display:flex;gap:8px;align-items:center;.price-input{flex:1;height:12px;}"]);
47820
+ var ListBtn = /*#__PURE__*/styled(CTAButton).withConfig({
47821
+ displayName: "CharacterListingModal__ListBtn",
47822
+ componentId: "sc-1uxkx35-19"
47823
+ })(["flex-shrink:0;padding:10px 16px;height:32px;span{font-size:0.6rem;}svg{font-size:1.1rem;}"]);
47824
+ var EmptyState$7 = /*#__PURE__*/styled.div.withConfig({
47825
+ displayName: "CharacterListingModal__EmptyState",
47826
+ componentId: "sc-1uxkx35-20"
47827
+ })(["display:flex;align-items:center;justify-content:center;padding:32px 16px;font-family:'Press Start 2P',cursive !important;font-size:0.5rem !important;color:#666 !important;text-transform:uppercase;letter-spacing:1px;"]);
47828
+
47829
+ var CharacterListingForm = function CharacterListingForm(_ref) {
47830
+ var accountCharacters = _ref.accountCharacters,
47831
+ onCharacterList = _ref.onCharacterList,
47832
+ atlasJSON = _ref.atlasJSON,
47833
+ atlasIMG = _ref.atlasIMG,
47834
+ characterAtlasJSON = _ref.characterAtlasJSON,
47835
+ characterAtlasIMG = _ref.characterAtlasIMG,
47836
+ enableHotkeys = _ref.enableHotkeys,
47837
+ disableHotkeys = _ref.disableHotkeys;
47838
+ var _useState = useState(false),
47839
+ isModalOpen = _useState[0],
47840
+ setIsModalOpen = _useState[1];
47841
+ var eligibleCount = accountCharacters.filter(function (c) {
47842
+ return !c.isListedForSale && !c.tradedAt;
47843
+ }).length;
47844
+ return React.createElement(Wrapper$2, null, React.createElement(CharacterListingModal, {
47845
+ isOpen: isModalOpen,
47846
+ onClose: function onClose() {
47847
+ return setIsModalOpen(false);
47848
+ },
47849
+ accountCharacters: accountCharacters,
47850
+ atlasJSON: atlasJSON,
47851
+ atlasIMG: atlasIMG,
47852
+ characterAtlasJSON: characterAtlasJSON,
47853
+ characterAtlasIMG: characterAtlasIMG,
47854
+ onCharacterList: onCharacterList,
47855
+ enableHotkeys: enableHotkeys,
47856
+ disableHotkeys: disableHotkeys
47857
+ }), React.createElement(Description$4, null, "List one of your offline characters on the marketplace. Prices are set in DC."), React.createElement(OpenButton, {
47858
+ icon: React.createElement(ShoppingBag, {
47859
+ width: 20,
47860
+ height: 20
47861
+ }),
47862
+ label: "List a Character" + (eligibleCount > 0 ? " (" + eligibleCount + " eligible)" : ''),
47863
+ disabled: eligibleCount === 0,
47864
+ onClick: function onClick() {
47865
+ return setIsModalOpen(true);
47866
+ }
47867
+ }), eligibleCount === 0 && React.createElement(NoEligible, null, "No eligible characters to list."));
47868
+ };
47869
+ var Wrapper$2 = /*#__PURE__*/styled.div.withConfig({
47870
+ displayName: "CharacterListingForm__Wrapper",
47871
+ componentId: "sc-fxv1tt-0"
47872
+ })(["display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:40px 24px;width:95%;margin:0 auto;"]);
47873
+ var Description$4 = /*#__PURE__*/styled.p.withConfig({
47874
+ displayName: "CharacterListingForm__Description",
47875
+ componentId: "sc-fxv1tt-1"
47876
+ })(["margin:0;font-size:0.5rem;color:#666;text-align:center;line-height:1.6;max-width:320px;"]);
47877
+ var OpenButton = /*#__PURE__*/styled(CTAButton).withConfig({
47878
+ displayName: "CharacterListingForm__OpenButton",
47879
+ componentId: "sc-fxv1tt-2"
47880
+ })(["padding:14px 24px;span{font-size:0.65rem;}svg{font-size:1.2rem;}"]);
47881
+ var NoEligible = /*#__PURE__*/styled.span.withConfig({
47882
+ displayName: "CharacterListingForm__NoEligible",
47883
+ componentId: "sc-fxv1tt-3"
47884
+ })(["font-size:0.45rem;color:#52525b;text-transform:uppercase;letter-spacing:1px;"]);
47885
+
47167
47886
  var Marketplace = function Marketplace(props) {
47168
47887
  var onClose = props.onClose,
47169
47888
  scale = props.scale,
@@ -47215,7 +47934,35 @@ var Marketplace = function Marketplace(props) {
47215
47934
  onHistoryPageChange = props.onHistoryPageChange,
47216
47935
  walletProps = props.walletProps,
47217
47936
  _props$showWalletTab = props.showWalletTab,
47218
- showWalletTab = _props$showWalletTab === void 0 ? true : _props$showWalletTab;
47937
+ showWalletTab = _props$showWalletTab === void 0 ? true : _props$showWalletTab,
47938
+ _props$characterListi = props.characterListings,
47939
+ characterListings = _props$characterListi === void 0 ? [] : _props$characterListi,
47940
+ _props$characterListi2 = props.characterListingsTotal,
47941
+ characterListingsTotal = _props$characterListi2 === void 0 ? 0 : _props$characterListi2,
47942
+ _props$characterListi3 = props.characterListingsPage,
47943
+ characterListingsPage = _props$characterListi3 === void 0 ? 1 : _props$characterListi3,
47944
+ _props$characterListi4 = props.characterListingsItemsPerPage,
47945
+ characterListingsItemsPerPage = _props$characterListi4 === void 0 ? 8 : _props$characterListi4,
47946
+ onCharacterListingsPageChange = props.onCharacterListingsPageChange,
47947
+ onCharacterBuy = props.onCharacterBuy,
47948
+ _props$myCharacterLis = props.myCharacterListings,
47949
+ myCharacterListings = _props$myCharacterLis === void 0 ? [] : _props$myCharacterLis,
47950
+ _props$myCharacterLis2 = props.myCharacterListingsTotal,
47951
+ myCharacterListingsTotal = _props$myCharacterLis2 === void 0 ? 0 : _props$myCharacterLis2,
47952
+ _props$myCharacterLis3 = props.myCharacterListingsPage,
47953
+ myCharacterListingsPage = _props$myCharacterLis3 === void 0 ? 1 : _props$myCharacterLis3,
47954
+ onMyCharacterListingsPageChange = props.onMyCharacterListingsPageChange,
47955
+ onCharacterDelist = props.onCharacterDelist,
47956
+ onCharacterList = props.onCharacterList,
47957
+ _props$accountCharact = props.accountCharacters,
47958
+ accountCharacters = _props$accountCharact === void 0 ? [] : _props$accountCharact,
47959
+ _props$characterListi5 = props.characterListingsLoading,
47960
+ characterListingsLoading = _props$characterListi5 === void 0 ? false : _props$characterListi5,
47961
+ _props$characterNameF = props.characterNameFilter,
47962
+ characterNameFilter = _props$characterNameF === void 0 ? '' : _props$characterNameF,
47963
+ onCharacterNameFilterChange = props.onCharacterNameFilterChange,
47964
+ characterAtlasIMG = props.characterAtlasIMG,
47965
+ characterAtlasJSON = props.characterAtlasJSON;
47219
47966
  var _useState = useState('marketplace'),
47220
47967
  activeTab = _useState[0],
47221
47968
  setActiveTab = _useState[1];
@@ -47225,6 +47972,9 @@ var Marketplace = function Marketplace(props) {
47225
47972
  var _useState3 = useState(false),
47226
47973
  isBlueprintSearchOpen = _useState3[0],
47227
47974
  setIsBlueprintSearchOpen = _useState3[1];
47975
+ var _useState4 = useState('browse'),
47976
+ characterSubTab = _useState4[0],
47977
+ setCharacterSubTab = _useState4[1];
47228
47978
  var handleCurrencyChange = function handleCurrencyChange(value) {
47229
47979
  setAcceptedCurrency(value);
47230
47980
  onAcceptedCurrencyChange == null ? void 0 : onAcceptedCurrencyChange(value);
@@ -47246,7 +47996,7 @@ var Marketplace = function Marketplace(props) {
47246
47996
  onCloseButton: function onCloseButton() {
47247
47997
  if (onClose) onClose();
47248
47998
  },
47249
- width: "800px",
47999
+ width: "920px",
47250
48000
  cancelDrag: "#MarketContainer, .rpgui-dropdown-imp, input, .empty-slot, button",
47251
48001
  scale: scale
47252
48002
  }, React.createElement(Tabs, {
@@ -47271,6 +48021,13 @@ var Marketplace = function Marketplace(props) {
47271
48021
  width: 18,
47272
48022
  height: 18
47273
48023
  })
48024
+ }, {
48025
+ id: 'characters',
48026
+ label: 'Characters',
48027
+ icon: React.createElement(User, {
48028
+ width: 18,
48029
+ height: 18
48030
+ })
47274
48031
  }, {
47275
48032
  id: 'history',
47276
48033
  label: 'History',
@@ -47295,7 +48052,63 @@ var Marketplace = function Marketplace(props) {
47295
48052
  }]),
47296
48053
  activeTabId: activeTab,
47297
48054
  onTabChange: handleTabChange
47298
- }), activeTab === 'marketplace' && React.createElement(BuyPanel, Object.assign({}, props)), activeTab === 'sell' && React.createElement(ManagmentPanel, Object.assign({}, props, {
48055
+ }), activeTab === 'marketplace' && React.createElement(BuyPanel, Object.assign({}, props)), activeTab === 'characters' && React.createElement(React.Fragment, null, React.createElement(CharacterSubTabs, null, React.createElement(CharacterSubTab, {
48056
+ "$active": characterSubTab === 'browse',
48057
+ onClick: function onClick() {
48058
+ return setCharacterSubTab('browse');
48059
+ },
48060
+ type: "button"
48061
+ }, "Browse"), React.createElement(CharacterSubTab, {
48062
+ "$active": characterSubTab === 'my-listings',
48063
+ onClick: function onClick() {
48064
+ return setCharacterSubTab('my-listings');
48065
+ },
48066
+ type: "button"
48067
+ }, "My Listings"), React.createElement(CharacterSubTab, {
48068
+ "$active": characterSubTab === 'list',
48069
+ onClick: function onClick() {
48070
+ return setCharacterSubTab('list');
48071
+ },
48072
+ type: "button"
48073
+ }, "List Character")), characterSubTab === 'browse' && React.createElement(CharacterMarketplacePanel, {
48074
+ characterListings: characterListings != null ? characterListings : [],
48075
+ totalCount: characterListingsTotal != null ? characterListingsTotal : 0,
48076
+ currentPage: characterListingsPage != null ? characterListingsPage : 1,
48077
+ itemsPerPage: characterListingsItemsPerPage != null ? characterListingsItemsPerPage : 10,
48078
+ onPageChange: onCharacterListingsPageChange != null ? onCharacterListingsPageChange : function () {},
48079
+ onCharacterBuy: onCharacterBuy != null ? onCharacterBuy : function () {},
48080
+ atlasJSON: props.atlasJSON,
48081
+ atlasIMG: props.atlasIMG,
48082
+ characterAtlasJSON: characterAtlasJSON != null ? characterAtlasJSON : props.atlasJSON,
48083
+ characterAtlasIMG: characterAtlasIMG != null ? characterAtlasIMG : props.atlasIMG,
48084
+ enableHotkeys: props.enableHotkeys,
48085
+ disableHotkeys: props.disableHotkeys,
48086
+ nameFilter: characterNameFilter,
48087
+ onNameFilterChange: onCharacterNameFilterChange,
48088
+ isLoading: characterListingsLoading
48089
+ }), characterSubTab === 'my-listings' && React.createElement(MyCharacterListingsPanel, {
48090
+ myCharacterListings: myCharacterListings != null ? myCharacterListings : [],
48091
+ totalCount: myCharacterListingsTotal != null ? myCharacterListingsTotal : 0,
48092
+ currentPage: myCharacterListingsPage != null ? myCharacterListingsPage : 1,
48093
+ itemsPerPage: 10,
48094
+ onPageChange: onMyCharacterListingsPageChange != null ? onMyCharacterListingsPageChange : function () {},
48095
+ onCharacterDelist: onCharacterDelist != null ? onCharacterDelist : function () {},
48096
+ atlasJSON: props.atlasJSON,
48097
+ atlasIMG: props.atlasIMG,
48098
+ characterAtlasJSON: characterAtlasJSON != null ? characterAtlasJSON : props.atlasJSON,
48099
+ characterAtlasIMG: characterAtlasIMG != null ? characterAtlasIMG : props.atlasIMG,
48100
+ enableHotkeys: props.enableHotkeys,
48101
+ disableHotkeys: props.disableHotkeys
48102
+ }), characterSubTab === 'list' && React.createElement(CharacterListingForm, {
48103
+ accountCharacters: accountCharacters != null ? accountCharacters : [],
48104
+ onCharacterList: onCharacterList != null ? onCharacterList : function () {},
48105
+ atlasJSON: props.atlasJSON,
48106
+ atlasIMG: props.atlasIMG,
48107
+ characterAtlasJSON: characterAtlasJSON != null ? characterAtlasJSON : props.atlasJSON,
48108
+ characterAtlasIMG: characterAtlasIMG != null ? characterAtlasIMG : props.atlasIMG,
48109
+ enableHotkeys: props.enableHotkeys,
48110
+ disableHotkeys: props.disableHotkeys
48111
+ })), activeTab === 'sell' && React.createElement(ManagmentPanel, Object.assign({}, props, {
47299
48112
  acceptedCurrency: acceptedCurrency
47300
48113
  })), activeTab === 'buy-orders' && React.createElement(React.Fragment, null, React.createElement(BuyOrderPanel, {
47301
48114
  atlasJSON: props.atlasJSON,
@@ -47355,6 +48168,172 @@ var PagerContainer$2 = /*#__PURE__*/styled.div.withConfig({
47355
48168
  displayName: "Marketplace__PagerContainer",
47356
48169
  componentId: "sc-h904b1-0"
47357
48170
  })(["display:flex;justify-content:center;align-items:center;width:95%;margin:6px auto 0 auto;padding:4px 10px;"]);
48171
+ var CharacterSubTabs = /*#__PURE__*/styled.div.withConfig({
48172
+ displayName: "Marketplace__CharacterSubTabs",
48173
+ componentId: "sc-h904b1-1"
48174
+ })(["display:flex;gap:8px;width:95%;margin:10px auto 0 auto;padding:8px;background:rgba(0,0,0,0.2);border-radius:4px;border:1px solid rgba(255,255,255,0.05);"]);
48175
+ var CharacterSubTab = /*#__PURE__*/styled.button.withConfig({
48176
+ displayName: "Marketplace__CharacterSubTab",
48177
+ componentId: "sc-h904b1-2"
48178
+ })(["flex:1;padding:8px 12px;font-family:'Press Start 2P',cursive;font-size:0.45rem;border-radius:4px;border:1px solid ", ";background:", ";color:", ";cursor:pointer;transition:border-color 0.15s,background 0.15s,color 0.15s;text-transform:uppercase;letter-spacing:0.5px;&:hover{border-color:", ";color:", ";}"], function (_ref) {
48179
+ var $active = _ref.$active;
48180
+ return $active ? '#f59e0b' : 'rgba(255,255,255,0.12)';
48181
+ }, function (_ref2) {
48182
+ var $active = _ref2.$active;
48183
+ return $active ? 'rgba(245,158,11,0.15)' : 'rgba(0,0,0,0.3)';
48184
+ }, function (_ref3) {
48185
+ var $active = _ref3.$active;
48186
+ return $active ? '#f59e0b' : '#777';
48187
+ }, function (_ref4) {
48188
+ var $active = _ref4.$active;
48189
+ return $active ? '#f59e0b' : 'rgba(255,255,255,0.3)';
48190
+ }, function (_ref5) {
48191
+ var $active = _ref5.$active;
48192
+ return $active ? '#f59e0b' : '#bbb';
48193
+ });
48194
+
48195
+ var CharacterMarketplaceRows = function CharacterMarketplaceRows(_ref) {
48196
+ var listing = _ref.listing,
48197
+ atlasJSON = _ref.atlasJSON,
48198
+ atlasIMG = _ref.atlasIMG,
48199
+ characterAtlasJSON = _ref.characterAtlasJSON,
48200
+ characterAtlasIMG = _ref.characterAtlasIMG,
48201
+ onCharacterBuy = _ref.onCharacterBuy,
48202
+ onCharacterDelist = _ref.onCharacterDelist,
48203
+ disabled = _ref.disabled;
48204
+ var characterSnapshot = listing.characterSnapshot,
48205
+ price = listing.price,
48206
+ isBeingBought = listing.isBeingBought;
48207
+ return React.createElement(ItemRowWrapper, {
48208
+ "$isHighlighted": disabled || isBeingBought
48209
+ }, React.createElement(ItemSection$3, null, React.createElement(SpriteContainer$5, null, React.createElement(CharacterSprite$2, null, React.createElement(SpriteFromAtlas, {
48210
+ atlasIMG: characterAtlasIMG,
48211
+ atlasJSON: characterAtlasJSON,
48212
+ spriteKey: characterSnapshot.textureKey + "/down/standing/0.png",
48213
+ imgScale: 2.5,
48214
+ height: 56,
48215
+ width: 56
48216
+ }))), React.createElement(ItemDetails$3, null, React.createElement(ItemName$4, null, React.createElement(Ellipsis, {
48217
+ maxLines: 1,
48218
+ maxWidth: "180px",
48219
+ fontSize: "10px"
48220
+ }, characterSnapshot.name || 'Unknown Character')), React.createElement(CharacterMeta$3, null, "Level ", characterSnapshot.level), characterSnapshot["class"] && React.createElement(CharacterClass, null, characterSnapshot["class"]), React.createElement(PriceRow$2, null, React.createElement(DCCoinWrapper$5, null, React.createElement(SpriteFromAtlas, {
48221
+ atlasIMG: atlasIMG,
48222
+ atlasJSON: atlasJSON,
48223
+ spriteKey: "others/definya-coin.png",
48224
+ imgScale: 1
48225
+ })), React.createElement(DCPrice$2, null, formatDCAmount(price))), isBeingBought && React.createElement(PendingBadge, null, "Sale Pending"))), React.createElement(ActionSection$2, null, React.createElement(CTAButton, {
48226
+ icon: onCharacterBuy ? React.createElement(Coins, {
48227
+ width: 18,
48228
+ height: 18
48229
+ }) : undefined,
48230
+ label: onCharacterBuy ? 'Buy' : 'Delist',
48231
+ disabled: disabled || isBeingBought,
48232
+ onClick: function onClick() {
48233
+ if (disabled || isBeingBought) return;
48234
+ onCharacterBuy == null ? void 0 : onCharacterBuy();
48235
+ onCharacterDelist == null ? void 0 : onCharacterDelist();
48236
+ },
48237
+ iconColor: onCharacterBuy ? '#f59e0b' : '#ef4444'
48238
+ })));
48239
+ };
48240
+ var ItemSection$3 = /*#__PURE__*/styled.div.withConfig({
48241
+ displayName: "CharacterMarketplaceRows__ItemSection",
48242
+ componentId: "sc-1pxkdig-0"
48243
+ })(["display:flex;align-items:center;gap:0.75rem;flex:1;min-width:0;"]);
48244
+ var SpriteContainer$5 = /*#__PURE__*/styled.div.withConfig({
48245
+ displayName: "CharacterMarketplaceRows__SpriteContainer",
48246
+ componentId: "sc-1pxkdig-1"
48247
+ })(["position:relative;flex-shrink:0;min-width:44px;"]);
48248
+ var CharacterSprite$2 = /*#__PURE__*/styled.div.withConfig({
48249
+ displayName: "CharacterMarketplaceRows__CharacterSprite",
48250
+ componentId: "sc-1pxkdig-2"
48251
+ })(["display:flex;align-items:center;justify-content:center;image-rendering:pixelated;"]);
48252
+ var ItemDetails$3 = /*#__PURE__*/styled.div.withConfig({
48253
+ displayName: "CharacterMarketplaceRows__ItemDetails",
48254
+ componentId: "sc-1pxkdig-3"
48255
+ })(["display:flex;flex-direction:column;gap:0.2rem;min-width:0;margin-left:0.5rem;"]);
48256
+ var ItemName$4 = /*#__PURE__*/styled.div.withConfig({
48257
+ displayName: "CharacterMarketplaceRows__ItemName",
48258
+ componentId: "sc-1pxkdig-4"
48259
+ })(["font-family:'Press Start 2P',cursive;font-size:0.6rem;color:#ffffff;"]);
48260
+ var CharacterMeta$3 = /*#__PURE__*/styled.span.withConfig({
48261
+ displayName: "CharacterMarketplaceRows__CharacterMeta",
48262
+ componentId: "sc-1pxkdig-5"
48263
+ })(["font-size:0.45rem;color:#888;text-transform:uppercase;letter-spacing:0.5px;"]);
48264
+ var CharacterClass = /*#__PURE__*/styled.span.withConfig({
48265
+ displayName: "CharacterMarketplaceRows__CharacterClass",
48266
+ componentId: "sc-1pxkdig-6"
48267
+ })(["font-size:0.4rem;color:#666;text-transform:uppercase;letter-spacing:0.5px;"]);
48268
+ var PriceRow$2 = /*#__PURE__*/styled.div.withConfig({
48269
+ displayName: "CharacterMarketplaceRows__PriceRow",
48270
+ componentId: "sc-1pxkdig-7"
48271
+ })(["display:flex;align-items:center;gap:0.4rem;margin-top:0.2rem;"]);
48272
+ var DCCoinWrapper$5 = /*#__PURE__*/styled.span.withConfig({
48273
+ displayName: "CharacterMarketplaceRows__DCCoinWrapper",
48274
+ componentId: "sc-1pxkdig-8"
48275
+ })(["display:flex;align-items:center;justify-content:center;position:relative;top:-0.5rem;left:-0.4rem;"]);
48276
+ var DCPrice$2 = /*#__PURE__*/styled.span.withConfig({
48277
+ displayName: "CharacterMarketplaceRows__DCPrice",
48278
+ componentId: "sc-1pxkdig-9"
48279
+ })(["font-family:'Press Start 2P',cursive;font-size:0.55rem !important;color:#fef08a;line-height:1;"]);
48280
+ var ActionSection$2 = /*#__PURE__*/styled.div.withConfig({
48281
+ displayName: "CharacterMarketplaceRows__ActionSection",
48282
+ componentId: "sc-1pxkdig-10"
48283
+ })(["flex-shrink:0;margin-left:0.75rem;"]);
48284
+ var PendingBadge = /*#__PURE__*/styled.span.withConfig({
48285
+ displayName: "CharacterMarketplaceRows__PendingBadge",
48286
+ componentId: "sc-1pxkdig-11"
48287
+ })(["font-size:0.38rem;padding:2px 6px;border-radius:4px;text-transform:uppercase;letter-spacing:0.5px;background:rgba(239,68,68,0.2);border:1px solid rgba(239,68,68,0.4);color:#ef4444;margin-top:4px;"]);
48288
+ var GroupedCharacterMarketplaceRow = function GroupedCharacterMarketplaceRow(_ref2) {
48289
+ var bestListing = _ref2.bestListing,
48290
+ otherListings = _ref2.otherListings,
48291
+ atlasJSON = _ref2.atlasJSON,
48292
+ atlasIMG = _ref2.atlasIMG,
48293
+ characterAtlasJSON = _ref2.characterAtlasJSON,
48294
+ characterAtlasIMG = _ref2.characterAtlasIMG,
48295
+ onBuy = _ref2.onBuy,
48296
+ currentCharacterId = _ref2.currentCharacterId;
48297
+ var makeRow = function makeRow(listing) {
48298
+ var isOwnListing = listing.seller === currentCharacterId;
48299
+ return React.createElement(CharacterMarketplaceRows, {
48300
+ key: listing._id,
48301
+ listing: listing,
48302
+ atlasJSON: atlasJSON,
48303
+ atlasIMG: atlasIMG,
48304
+ characterAtlasJSON: characterAtlasJSON,
48305
+ characterAtlasIMG: characterAtlasIMG,
48306
+ onCharacterBuy: isOwnListing ? undefined : function () {
48307
+ return onBuy(listing._id);
48308
+ },
48309
+ disabled: isOwnListing
48310
+ });
48311
+ };
48312
+ if (otherListings.length === 0) {
48313
+ return makeRow(bestListing);
48314
+ }
48315
+ return React.createElement(GroupedRowContainer$1, null, React.createElement(MainRow, null, makeRow(bestListing)), React.createElement(OtherListings, null, otherListings.map(function (listing) {
48316
+ return React.createElement(OtherListingRow, {
48317
+ key: listing._id
48318
+ }, makeRow(listing));
48319
+ })));
48320
+ };
48321
+ var GroupedRowContainer$1 = /*#__PURE__*/styled.div.withConfig({
48322
+ displayName: "CharacterMarketplaceRows__GroupedRowContainer",
48323
+ componentId: "sc-1pxkdig-12"
48324
+ })(["border-bottom:1px solid rgba(255,255,255,0.05);&:last-child{border-bottom:none;}"]);
48325
+ var MainRow = /*#__PURE__*/styled.div.withConfig({
48326
+ displayName: "CharacterMarketplaceRows__MainRow",
48327
+ componentId: "sc-1pxkdig-13"
48328
+ })([""]);
48329
+ var OtherListings = /*#__PURE__*/styled.div.withConfig({
48330
+ displayName: "CharacterMarketplaceRows__OtherListings",
48331
+ componentId: "sc-1pxkdig-14"
48332
+ })(["display:flex;flex-direction:column;padding-left:12px;border-left:2px solid rgba(245,158,11,0.15);margin-top:4px;margin-bottom:4px;"]);
48333
+ var OtherListingRow = /*#__PURE__*/styled.div.withConfig({
48334
+ displayName: "CharacterMarketplaceRows__OtherListingRow",
48335
+ componentId: "sc-1pxkdig-15"
48336
+ })(["opacity:0.85;&:hover{opacity:1;}"]);
47358
48337
 
47359
48338
  var TabBody = function TabBody(_ref) {
47360
48339
  var id = _ref.id,
@@ -47509,11 +48488,11 @@ var PartyCreate = function PartyCreate(_ref) {
47509
48488
  width: "500px",
47510
48489
  height: "300px",
47511
48490
  cancelDrag: ".partyRows"
47512
- }, React.createElement(Wrapper$2, null, React.createElement("div", {
48491
+ }, React.createElement(Wrapper$3, null, React.createElement("div", {
47513
48492
  style: {
47514
48493
  width: '100%'
47515
48494
  }
47516
- }, React.createElement(Title$c, null, "Create Party"), React.createElement("hr", {
48495
+ }, React.createElement(Title$d, null, "Create Party"), React.createElement("hr", {
47517
48496
  className: "golden"
47518
48497
  }))), React.createElement("h1", null, "Type your party name"), React.createElement(Input, {
47519
48498
  placeholder: "Type party name",
@@ -47532,11 +48511,11 @@ var PartyCreate = function PartyCreate(_ref) {
47532
48511
  }
47533
48512
  }, "Cancel"))));
47534
48513
  };
47535
- var Wrapper$2 = /*#__PURE__*/styled.div.withConfig({
48514
+ var Wrapper$3 = /*#__PURE__*/styled.div.withConfig({
47536
48515
  displayName: "PartyCreate__Wrapper",
47537
48516
  componentId: "sc-13brop0-0"
47538
48517
  })(["display:flex;flex-direction:column;width:100%;"]);
47539
- var Title$c = /*#__PURE__*/styled.h1.withConfig({
48518
+ var Title$d = /*#__PURE__*/styled.h1.withConfig({
47540
48519
  displayName: "PartyCreate__Title",
47541
48520
  componentId: "sc-13brop0-1"
47542
48521
  })(["font-size:0.6rem;color:", " !important;"], uiColors.yellow);
@@ -47581,11 +48560,11 @@ var PartyDashboard = function PartyDashboard(_ref) {
47581
48560
  width: "800px",
47582
48561
  height: "400px",
47583
48562
  cancelDrag: ".partyRows"
47584
- }, React.createElement(Wrapper$3, null, React.createElement("div", {
48563
+ }, React.createElement(Wrapper$4, null, React.createElement("div", {
47585
48564
  style: {
47586
48565
  width: '100%'
47587
48566
  }
47588
- }, React.createElement(Title$d, null, "Party Dashboard"), React.createElement(Button, {
48567
+ }, React.createElement(Title$e, null, "Party Dashboard"), React.createElement(Button, {
47589
48568
  buttonType: ButtonTypes.RPGUIButton
47590
48569
  }, "Create"), React.createElement("hr", {
47591
48570
  className: "golden"
@@ -47604,7 +48583,7 @@ var PartyDashboard = function PartyDashboard(_ref) {
47604
48583
  });
47605
48584
  })));
47606
48585
  };
47607
- var Wrapper$3 = /*#__PURE__*/styled.div.withConfig({
48586
+ var Wrapper$4 = /*#__PURE__*/styled.div.withConfig({
47608
48587
  displayName: "PartyDashboard__Wrapper",
47609
48588
  componentId: "sc-16cm41r-0"
47610
48589
  })(["display:flex;flex-direction:column;width:100%;"]);
@@ -47612,7 +48591,7 @@ var RowsWrapper = /*#__PURE__*/styled.div.withConfig({
47612
48591
  displayName: "PartyDashboard__RowsWrapper",
47613
48592
  componentId: "sc-16cm41r-1"
47614
48593
  })(["overflow-y:scroll;-webkit-overflow-scrolling:touch;width:100%;height:200px;"]);
47615
- var Title$d = /*#__PURE__*/styled.h1.withConfig({
48594
+ var Title$e = /*#__PURE__*/styled.h1.withConfig({
47616
48595
  displayName: "PartyDashboard__Title",
47617
48596
  componentId: "sc-16cm41r-2"
47618
48597
  })(["font-size:0.6rem;color:", " !important;"], uiColors.yellow);
@@ -47645,11 +48624,11 @@ var PartyInvite = function PartyInvite(_ref) {
47645
48624
  width: "600px",
47646
48625
  height: "400px",
47647
48626
  cancelDrag: ".playersRows"
47648
- }, React.createElement(Wrapper$4, null, React.createElement("div", {
48627
+ }, React.createElement(Wrapper$5, null, React.createElement("div", {
47649
48628
  style: {
47650
48629
  width: '100%'
47651
48630
  }
47652
- }, React.createElement(Title$e, null, "Invite for Party"), React.createElement("hr", {
48631
+ }, React.createElement(Title$f, null, "Invite for Party"), React.createElement("hr", {
47653
48632
  className: "golden"
47654
48633
  }))), React.createElement(RowsWrapper$1, {
47655
48634
  className: "playersRows"
@@ -47664,11 +48643,11 @@ var PartyInvite = function PartyInvite(_ref) {
47664
48643
  });
47665
48644
  })));
47666
48645
  };
47667
- var Wrapper$4 = /*#__PURE__*/styled.div.withConfig({
48646
+ var Wrapper$5 = /*#__PURE__*/styled.div.withConfig({
47668
48647
  displayName: "PartyInvite__Wrapper",
47669
48648
  componentId: "sc-eu8ggt-0"
47670
48649
  })(["display:flex;flex-direction:column;width:100%;"]);
47671
- var Title$e = /*#__PURE__*/styled.h1.withConfig({
48650
+ var Title$f = /*#__PURE__*/styled.h1.withConfig({
47672
48651
  displayName: "PartyInvite__Title",
47673
48652
  componentId: "sc-eu8ggt-1"
47674
48653
  })(["font-size:0.6rem;color:", " !important;"], uiColors.yellow);
@@ -47839,52 +48818,52 @@ var mockedPlayersRows2 = {
47839
48818
  id: /*#__PURE__*/v4(),
47840
48819
  leader: {
47841
48820
  _id: /*#__PURE__*/v4(),
47842
- "class": CharacterClass.Druid,
48821
+ "class": CharacterClass$1.Druid,
47843
48822
  name: 'leader'
47844
48823
  },
47845
48824
  members: [{
47846
48825
  _id: /*#__PURE__*/v4(),
47847
- "class": CharacterClass.Druid,
48826
+ "class": CharacterClass$1.Druid,
47848
48827
  name: 'blblb'
47849
48828
  }, {
47850
48829
  _id: /*#__PURE__*/v4(),
47851
- "class": CharacterClass.Druid,
48830
+ "class": CharacterClass$1.Druid,
47852
48831
  name: 'blblb'
47853
48832
  }, {
47854
48833
  _id: /*#__PURE__*/v4(),
47855
- "class": CharacterClass.Druid,
48834
+ "class": CharacterClass$1.Druid,
47856
48835
  name: 'blblb'
47857
48836
  }, {
47858
48837
  _id: /*#__PURE__*/v4(),
47859
- "class": CharacterClass.Druid,
48838
+ "class": CharacterClass$1.Druid,
47860
48839
  name: 'blblb'
47861
48840
  }, {
47862
48841
  _id: /*#__PURE__*/v4(),
47863
- "class": CharacterClass.Druid,
48842
+ "class": CharacterClass$1.Druid,
47864
48843
  name: 'blblb'
47865
48844
  }, {
47866
48845
  _id: /*#__PURE__*/v4(),
47867
- "class": CharacterClass.Druid,
48846
+ "class": CharacterClass$1.Druid,
47868
48847
  name: 'blblb'
47869
48848
  }, {
47870
48849
  _id: /*#__PURE__*/v4(),
47871
- "class": CharacterClass.Druid,
48850
+ "class": CharacterClass$1.Druid,
47872
48851
  name: 'blblb'
47873
48852
  }, {
47874
48853
  _id: /*#__PURE__*/v4(),
47875
- "class": CharacterClass.Druid,
48854
+ "class": CharacterClass$1.Druid,
47876
48855
  name: 'blblb'
47877
48856
  }, {
47878
48857
  _id: /*#__PURE__*/v4(),
47879
- "class": CharacterClass.Druid,
48858
+ "class": CharacterClass$1.Druid,
47880
48859
  name: 'blblb'
47881
48860
  }, {
47882
48861
  _id: /*#__PURE__*/v4(),
47883
- "class": CharacterClass.Druid,
48862
+ "class": CharacterClass$1.Druid,
47884
48863
  name: 'blblb'
47885
48864
  }, {
47886
48865
  _id: /*#__PURE__*/v4(),
47887
- "class": CharacterClass.Druid,
48866
+ "class": CharacterClass$1.Druid,
47888
48867
  name: 'blblb'
47889
48868
  }],
47890
48869
  maxSize: 5,
@@ -47953,20 +48932,20 @@ var getMockedPlayersRowsLeader = function getMockedPlayersRowsLeader(userId) {
47953
48932
  id: v4(),
47954
48933
  leader: {
47955
48934
  _id: userId,
47956
- "class": CharacterClass.Warrior,
48935
+ "class": CharacterClass$1.Warrior,
47957
48936
  name: 'YourName'
47958
48937
  },
47959
48938
  members: [{
47960
48939
  _id: v4(),
47961
- "class": CharacterClass.Druid,
48940
+ "class": CharacterClass$1.Druid,
47962
48941
  name: 'Member1'
47963
48942
  }, {
47964
48943
  _id: v4(),
47965
- "class": CharacterClass.Sorcerer,
48944
+ "class": CharacterClass$1.Sorcerer,
47966
48945
  name: 'Member2'
47967
48946
  }, {
47968
48947
  _id: v4(),
47969
- "class": CharacterClass.Rogue,
48948
+ "class": CharacterClass$1.Rogue,
47970
48949
  name: 'Member3'
47971
48950
  }],
47972
48951
  maxSize: 5,
@@ -47979,20 +48958,20 @@ var getMockedPlayersRowsNotLeader = function getMockedPlayersRowsNotLeader(userI
47979
48958
  id: v4(),
47980
48959
  leader: {
47981
48960
  _id: v4(),
47982
- "class": CharacterClass.Druid,
48961
+ "class": CharacterClass$1.Druid,
47983
48962
  name: 'LeaderName'
47984
48963
  },
47985
48964
  members: [{
47986
48965
  _id: userId,
47987
- "class": CharacterClass.Warrior,
48966
+ "class": CharacterClass$1.Warrior,
47988
48967
  name: 'YourName'
47989
48968
  }, {
47990
48969
  _id: v4(),
47991
- "class": CharacterClass.Sorcerer,
48970
+ "class": CharacterClass$1.Sorcerer,
47992
48971
  name: 'Member2'
47993
48972
  }, {
47994
48973
  _id: v4(),
47995
- "class": CharacterClass.Rogue,
48974
+ "class": CharacterClass$1.Rogue,
47996
48975
  name: 'Member3'
47997
48976
  }],
47998
48977
  maxSize: 5,
@@ -48110,7 +49089,7 @@ var QuestInfo = function QuestInfo(_ref) {
48110
49089
  onPointerDown: onRightClick
48111
49090
  }), React.createElement(QuestContainer, null, React.createElement(TitleContainer$1, {
48112
49091
  className: "drag-handler"
48113
- }, React.createElement(Title$f, null, React.createElement(Thumbnail, {
49092
+ }, React.createElement(Title$g, null, React.createElement(Thumbnail, {
48114
49093
  src: quests[currentIndex].thumbnail || img$8
48115
49094
  }), quests[currentIndex].title), React.createElement(QuestSplitDiv, null, React.createElement("hr", {
48116
49095
  className: "golden"
@@ -48129,7 +49108,7 @@ var QuestInfo = function QuestInfo(_ref) {
48129
49108
  }, button.title);
48130
49109
  })))) : React.createElement(QuestsContainer, null, React.createElement(QuestContainer, null, React.createElement(TitleContainer$1, {
48131
49110
  className: "drag-handler"
48132
- }, React.createElement(Title$f, null, React.createElement(Thumbnail, {
49111
+ }, React.createElement(Title$g, null, React.createElement(Thumbnail, {
48133
49112
  src: quests[0].thumbnail || img$8
48134
49113
  }), quests[0].title), React.createElement(QuestSplitDiv, null, React.createElement("hr", {
48135
49114
  className: "golden"
@@ -48176,7 +49155,7 @@ var TitleContainer$1 = /*#__PURE__*/styled.div.withConfig({
48176
49155
  displayName: "QuestInfo__TitleContainer",
48177
49156
  componentId: "sc-1wccpiy-6"
48178
49157
  })(["width:100%;display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:center;margin-top:1rem;"]);
48179
- var Title$f = /*#__PURE__*/styled.h1.withConfig({
49158
+ var Title$g = /*#__PURE__*/styled.h1.withConfig({
48180
49159
  displayName: "QuestInfo__Title",
48181
49160
  componentId: "sc-1wccpiy-7"
48182
49161
  })(["color:white;z-index:22;font-size:", " !important;color:", " !important;"], uiFonts.size.medium, uiColors.yellow);
@@ -48441,7 +49420,7 @@ var SkillProgressBar = function SkillProgressBar(_ref) {
48441
49420
  atlasJSON = _ref.atlasJSON,
48442
49421
  buffAndDebuff = _ref.buffAndDebuff;
48443
49422
  // Use CharacterClass.None as default if skillKey is provided but characterClass is not
48444
- var effectiveClass = characterClass != null ? characterClass : CharacterClass.None;
49423
+ var effectiveClass = characterClass != null ? characterClass : CharacterClass$1.None;
48445
49424
  // Calculate the effective level based on actual SP/XP (handles data inconsistencies)
48446
49425
  var calculateEffectiveLevel = function calculateEffectiveLevel() {
48447
49426
  if (!skillKey) {
@@ -48494,7 +49473,7 @@ var SkillProgressBar = function SkillProgressBar(_ref) {
48494
49473
  var result = level * (buffAndDebuff / 100);
48495
49474
  return result > 0 ? "+" + result.toFixed(2) : "" + result.toFixed(2);
48496
49475
  };
48497
- 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 ", effectiveLevel, " (", skillsBuffsCalc(effectiveLevel, 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 ", effectiveLevel, " (", skillsBuffsCalc(effectiveLevel, 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 ", effectiveLevel))), React.createElement(ProgressBody, null, React.createElement(ProgressIconContainer, null, atlasIMG && atlasJSON ? React.createElement(SpriteContainer$5, null, React.createElement(ErrorBoundary, null, React.createElement(SpriteFromAtlas, {
49476
+ 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 ", effectiveLevel, " (", skillsBuffsCalc(effectiveLevel, 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 ", effectiveLevel, " (", skillsBuffsCalc(effectiveLevel, 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 ", effectiveLevel))), React.createElement(ProgressBody, null, React.createElement(ProgressIconContainer, null, atlasIMG && atlasJSON ? React.createElement(SpriteContainer$6, null, React.createElement(ErrorBoundary, null, React.createElement(SpriteFromAtlas, {
48498
49477
  atlasIMG: atlasIMG,
48499
49478
  atlasJSON: atlasJSON,
48500
49479
  spriteKey: texturePath,
@@ -48510,7 +49489,7 @@ var ProgressBarWrapper = /*#__PURE__*/styled.div.withConfig({
48510
49489
  displayName: "SkillProgressBar__ProgressBarWrapper",
48511
49490
  componentId: "sc-5vuroc-0"
48512
49491
  })(["position:relative;&:hover ", ",&:active ", "{visibility:visible;}width:100%;height:auto;top:8px;"], Tooltip, Tooltip);
48513
- var SpriteContainer$5 = /*#__PURE__*/styled.div.withConfig({
49492
+ var SpriteContainer$6 = /*#__PURE__*/styled.div.withConfig({
48514
49493
  displayName: "SkillProgressBar__SpriteContainer",
48515
49494
  componentId: "sc-5vuroc-1"
48516
49495
  })(["position:relative;top:-3px;left:0;"]);
@@ -48647,7 +49626,7 @@ var SkillsContainer = function SkillsContainer(_ref) {
48647
49626
  }
48648
49627
  // Calculate skillPointsToNextLevel using tiered exponential formula with character class
48649
49628
  var calcSkillPointsToNextLevel = function calcSkillPointsToNextLevel() {
48650
- var effectiveClass = characterClass != null ? characterClass : CharacterClass.None;
49629
+ var effectiveClass = characterClass != null ? characterClass : CharacterClass$1.None;
48651
49630
  var _getSkillConstants = getSkillConstants(key, effectiveClass),
48652
49631
  A = _getSkillConstants.A,
48653
49632
  baseAffinityB = _getSkillConstants.b,
@@ -48681,7 +49660,7 @@ var SkillsContainer = function SkillsContainer(_ref) {
48681
49660
  cancelDrag: "#skillsDiv",
48682
49661
  scale: scale,
48683
49662
  width: "100%"
48684
- }, onCloseButton && React.createElement(CloseButton$d, {
49663
+ }, onCloseButton && React.createElement(CloseButton$e, {
48685
49664
  onPointerDown: onCloseButton
48686
49665
  }, "X"), React.createElement(SkillsContainerDiv, {
48687
49666
  id: "skillsDiv"
@@ -48716,7 +49695,7 @@ var SkillSplitDiv = /*#__PURE__*/styled.div.withConfig({
48716
49695
  displayName: "SkillsContainer__SkillSplitDiv",
48717
49696
  componentId: "sc-1g0c67q-2"
48718
49697
  })(["width:100%;font-size:11px;hr{margin:0;margin-bottom:1rem;padding:0px;}p{margin-bottom:0px;}"]);
48719
- var CloseButton$d = /*#__PURE__*/styled.div.withConfig({
49698
+ var CloseButton$e = /*#__PURE__*/styled.div.withConfig({
48720
49699
  displayName: "SkillsContainer__CloseButton",
48721
49700
  componentId: "sc-1g0c67q-3"
48722
49701
  })(["position:absolute;top:2px;right:2px;color:white;z-index:22;font-size:1.1rem;"]);
@@ -48852,7 +49831,7 @@ var SpellInfo$1 = function SpellInfo(_ref) {
48852
49831
  castingType = spell.castingType,
48853
49832
  cooldown = spell.cooldown,
48854
49833
  maxDistanceGrid = spell.maxDistanceGrid;
48855
- return React.createElement(Container$G, null, React.createElement(Header$b, null, React.createElement("div", null, React.createElement(Title$g, null, name), React.createElement(Type$1, null, magicWords))), React.createElement(Statistic$1, null, React.createElement("div", {
49834
+ return React.createElement(Container$G, null, React.createElement(Header$c, null, React.createElement("div", null, React.createElement(Title$h, null, name), React.createElement(Type$1, null, magicWords))), React.createElement(Statistic$1, null, React.createElement("div", {
48856
49835
  className: "label"
48857
49836
  }, "Casting Type:"), React.createElement("div", {
48858
49837
  className: "value"
@@ -48876,13 +49855,13 @@ var SpellInfo$1 = function SpellInfo(_ref) {
48876
49855
  className: "label"
48877
49856
  }, "Required Item:"), React.createElement("div", {
48878
49857
  className: "value"
48879
- }, requiredItem))), React.createElement(Description$4, null, description));
49858
+ }, requiredItem))), React.createElement(Description$5, null, description));
48880
49859
  };
48881
49860
  var Container$G = /*#__PURE__*/styled.div.withConfig({
48882
49861
  displayName: "SpellInfo__Container",
48883
49862
  componentId: "sc-4hbw3q-0"
48884
49863
  })(["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);
48885
- var Title$g = /*#__PURE__*/styled.div.withConfig({
49864
+ var Title$h = /*#__PURE__*/styled.div.withConfig({
48886
49865
  displayName: "SpellInfo__Title",
48887
49866
  componentId: "sc-4hbw3q-1"
48888
49867
  })(["font-size:", ";font-weight:bold;margin-bottom:0.5rem;display:flex;align-items:center;margin:0;"], uiFonts.size.medium);
@@ -48890,11 +49869,11 @@ var Type$1 = /*#__PURE__*/styled.div.withConfig({
48890
49869
  displayName: "SpellInfo__Type",
48891
49870
  componentId: "sc-4hbw3q-2"
48892
49871
  })(["font-size:", ";margin-top:0.2rem;color:", ";"], uiFonts.size.small, uiColors.lightGray);
48893
- var Description$4 = /*#__PURE__*/styled.div.withConfig({
49872
+ var Description$5 = /*#__PURE__*/styled.div.withConfig({
48894
49873
  displayName: "SpellInfo__Description",
48895
49874
  componentId: "sc-4hbw3q-3"
48896
49875
  })(["margin-top:1.5rem;font-size:", ";color:", ";font-style:italic;"], uiFonts.size.small, uiColors.lightGray);
48897
- var Header$b = /*#__PURE__*/styled.div.withConfig({
49876
+ var Header$c = /*#__PURE__*/styled.div.withConfig({
48898
49877
  displayName: "SpellInfo__Header",
48899
49878
  componentId: "sc-4hbw3q-4"
48900
49879
  })(["display:flex;align-items:center;justify-content:space-between;margin-bottom:0.5rem;"]);
@@ -49110,7 +50089,7 @@ var Spell = function Spell(_ref) {
49110
50089
  onPointerUp: onPointerUp == null ? void 0 : onPointerUp.bind(null, spellKey),
49111
50090
  isSettingShortcut: isSettingShortcut && !disabled,
49112
50091
  className: "spell"
49113
- }, disabled && React.createElement(Overlay$7, null, characterSkillLevel < requiredLevel ? "Low " + getSkillName(attribute || 'magic level') + " level" : manaCost > charMana && 'No mana'), React.createElement(SpellImage, null, activeCooldown && activeCooldown > 0 ? React.createElement("span", {
50092
+ }, disabled && React.createElement(Overlay$8, null, characterSkillLevel < requiredLevel ? "Low " + getSkillName(attribute || 'magic level') + " level" : manaCost > charMana && 'No mana'), React.createElement(SpellImage, null, activeCooldown && activeCooldown > 0 ? React.createElement("span", {
49114
50093
  className: "cooldown"
49115
50094
  }, activeCooldown.toFixed(activeCooldown > 10 ? 0 : 1)) : null, React.createElement(SpriteFromAtlas, {
49116
50095
  atlasIMG: atlasIMG,
@@ -49119,9 +50098,9 @@ var Spell = function Spell(_ref) {
49119
50098
  imgScale: IMAGE_SCALE,
49120
50099
  containerStyle: CONTAINER_STYLE,
49121
50100
  centered: true
49122
- })), React.createElement(Info, null, React.createElement(Title$h, null, React.createElement("span", null, name), React.createElement("span", {
50101
+ })), React.createElement(Info, null, React.createElement(Title$i, null, React.createElement("span", null, name), React.createElement("span", {
49123
50102
  className: "spell"
49124
- }, "(", 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", {
50103
+ }, "(", magicWords, ")")), React.createElement(Description$6, null, description)), React.createElement(Divider$1, null), React.createElement(Cost, null, React.createElement("span", null, "Mana cost:"), React.createElement("span", {
49125
50104
  className: "mana"
49126
50105
  }, manaCost))));
49127
50106
  };
@@ -49140,11 +50119,11 @@ var Info = /*#__PURE__*/styled.span.withConfig({
49140
50119
  displayName: "Spell__Info",
49141
50120
  componentId: "sc-j96fa2-2"
49142
50121
  })(["width:0;flex:1;@media (orientation:portrait){display:none;}"]);
49143
- var Title$h = /*#__PURE__*/styled.p.withConfig({
50122
+ var Title$i = /*#__PURE__*/styled.p.withConfig({
49144
50123
  displayName: "Spell__Title",
49145
50124
  componentId: "sc-j96fa2-3"
49146
50125
  })(["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);
49147
- var Description$5 = /*#__PURE__*/styled.div.withConfig({
50126
+ var Description$6 = /*#__PURE__*/styled.div.withConfig({
49148
50127
  displayName: "Spell__Description",
49149
50128
  componentId: "sc-j96fa2-4"
49150
50129
  })(["font-size:", " !important;line-height:1.1 !important;"], uiFonts.size.small);
@@ -49156,7 +50135,7 @@ var Cost = /*#__PURE__*/styled.p.withConfig({
49156
50135
  displayName: "Spell__Cost",
49157
50136
  componentId: "sc-j96fa2-6"
49158
50137
  })(["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);
49159
- var Overlay$7 = /*#__PURE__*/styled.p.withConfig({
50138
+ var Overlay$8 = /*#__PURE__*/styled.p.withConfig({
49160
50139
  displayName: "Spell__Overlay",
49161
50140
  componentId: "sc-j96fa2-7"
49162
50141
  })(["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);
@@ -49205,7 +50184,7 @@ var Spellbook = function Spellbook(_ref) {
49205
50184
  height: "inherit",
49206
50185
  cancelDrag: "#spellbook-search, #shortcuts_list, .spell",
49207
50186
  scale: scale
49208
- }, React.createElement(Container$K, null, React.createElement(Title$i, null, "Learned Spells"), React.createElement(ShortcutsSetter, {
50187
+ }, React.createElement(Container$K, null, React.createElement(Title$j, null, "Learned Spells"), React.createElement(ShortcutsSetter, {
49209
50188
  setSettingShortcutIndex: setSettingShortcutIndex,
49210
50189
  settingShortcutIndex: settingShortcutIndex,
49211
50190
  shortcuts: shortcuts,
@@ -49238,7 +50217,7 @@ var Spellbook = function Spellbook(_ref) {
49238
50217
  }, spell)));
49239
50218
  }))));
49240
50219
  };
49241
- var Title$i = /*#__PURE__*/styled.h1.withConfig({
50220
+ var Title$j = /*#__PURE__*/styled.h1.withConfig({
49242
50221
  displayName: "Spellbook__Title",
49243
50222
  componentId: "sc-r02nfq-0"
49244
50223
  })(["font-size:", " !important;margin-bottom:0 !important;"], uiFonts.size.large);
@@ -69658,7 +70637,7 @@ var PurchaseSuccess = function PurchaseSuccess(_ref) {
69658
70637
  key: i,
69659
70638
  "$i": i
69660
70639
  });
69661
- })), React.createElement(Header$c, null, React.createElement(TrophyArea, null, React.createElement(TrophyIcon, null, React.createElement(FaStar, null))), React.createElement(Title$j, null, "PURCHASE COMPLETE!"), React.createElement(Subtitle$2, null, "Your items are ready")), React.createElement(ItemsList, null, items.map(function (item, i) {
70640
+ })), React.createElement(Header$d, null, React.createElement(TrophyArea, null, React.createElement(TrophyIcon, null, React.createElement(FaStar, null))), React.createElement(Title$k, null, "PURCHASE COMPLETE!"), React.createElement(Subtitle$2, null, "Your items are ready")), React.createElement(ItemsList, null, items.map(function (item, i) {
69662
70641
  var _item$metadata;
69663
70642
  var isCharSkin = item.metadataType === MetadataType.CharacterSkin;
69664
70643
  var spriteKey = isCharSkin && (_item$metadata = item.metadata) != null && _item$metadata.selectedSkinTextureKey ? item.metadata.selectedSkinTextureKey + "/down/standing/0.png" : item.texturePath;
@@ -69672,7 +70651,7 @@ var PurchaseSuccess = function PurchaseSuccess(_ref) {
69672
70651
  height: 32,
69673
70652
  imgScale: 2,
69674
70653
  centered: true
69675
- })), React.createElement(ItemName$4, null, item.name), item.quantity > 1 && React.createElement(ItemQty$1, null, "\xD7", item.quantity));
70654
+ })), React.createElement(ItemName$5, null, item.name), item.quantity > 1 && React.createElement(ItemQty$1, null, "\xD7", item.quantity));
69676
70655
  })), React.createElement(TotalPaid, null, "Paid: ", React.createElement(TotalAmount, null, "$", totalPrice.toFixed(2))), React.createElement(Actions, null, React.createElement(CTAButton, {
69677
70656
  icon: React.createElement(FaShoppingBag, null),
69678
70657
  label: "Continue Shopping",
@@ -69682,13 +70661,13 @@ var PurchaseSuccess = function PurchaseSuccess(_ref) {
69682
70661
  onPointerDown: onClose
69683
70662
  }, React.createElement(FaTimes, null), " Close Store")));
69684
70663
  };
69685
- var scaleIn$2 = /*#__PURE__*/keyframes(["from{transform:scale(0.85);opacity:0;}to{transform:scale(1);opacity:1;}"]);
70664
+ var scaleIn$3 = /*#__PURE__*/keyframes(["from{transform:scale(0.85);opacity:0;}to{transform:scale(1);opacity:1;}"]);
69686
70665
  var _float = /*#__PURE__*/keyframes(["0%{transform:translateY(0) rotate(0deg);opacity:1;}100%{transform:translateY(-60px) rotate(360deg);opacity:0;}"]);
69687
70666
  var glowPulse = /*#__PURE__*/keyframes(["0%,100%{box-shadow:0 0 12px rgba(245,158,11,0.5),0 0 24px rgba(245,158,11,0.2);}50%{box-shadow:0 0 24px rgba(245,158,11,0.8),0 0 48px rgba(245,158,11,0.4);}"]);
69688
70667
  var Container$L = /*#__PURE__*/styled.div.withConfig({
69689
70668
  displayName: "PurchaseSuccess__Container",
69690
70669
  componentId: "sc-18z5q21-0"
69691
- })(["position:relative;display:flex;flex-direction:column;align-items:center;gap:1.25rem;padding:2rem 1.5rem;overflow:hidden;animation:", " 0.25s ease-out;text-align:center;"], scaleIn$2);
70670
+ })(["position:relative;display:flex;flex-direction:column;align-items:center;gap:1.25rem;padding:2rem 1.5rem;overflow:hidden;animation:", " 0.25s ease-out;text-align:center;"], scaleIn$3);
69692
70671
  var Sparkles = /*#__PURE__*/styled.div.withConfig({
69693
70672
  displayName: "PurchaseSuccess__Sparkles",
69694
70673
  componentId: "sc-18z5q21-1"
@@ -69705,7 +70684,7 @@ var Spark = /*#__PURE__*/styled.div.withConfig({
69705
70684
  }, function (p) {
69706
70685
  return p.$i * 0.2;
69707
70686
  });
69708
- var Header$c = /*#__PURE__*/styled.div.withConfig({
70687
+ var Header$d = /*#__PURE__*/styled.div.withConfig({
69709
70688
  displayName: "PurchaseSuccess__Header",
69710
70689
  componentId: "sc-18z5q21-3"
69711
70690
  })(["display:flex;flex-direction:column;align-items:center;gap:0.5rem;"]);
@@ -69717,7 +70696,7 @@ var TrophyIcon = /*#__PURE__*/styled.div.withConfig({
69717
70696
  displayName: "PurchaseSuccess__TrophyIcon",
69718
70697
  componentId: "sc-18z5q21-5"
69719
70698
  })(["width:64px;height:64px;border-radius:50%;background:rgba(245,158,11,0.15);border:2px solid #f59e0b;display:flex;align-items:center;justify-content:center;animation:", " 2s ease-in-out infinite;svg{font-size:1.75rem;color:#f59e0b;}"], glowPulse);
69720
- var Title$j = /*#__PURE__*/styled.h2.withConfig({
70699
+ var Title$k = /*#__PURE__*/styled.h2.withConfig({
69721
70700
  displayName: "PurchaseSuccess__Title",
69722
70701
  componentId: "sc-18z5q21-6"
69723
70702
  })(["font-family:'Press Start 2P',cursive;font-size:0.9rem;color:#fef08a;margin:0;text-shadow:0 0 8px rgba(245,158,11,0.6);"]);
@@ -69737,7 +70716,7 @@ var ItemIconWrap = /*#__PURE__*/styled.div.withConfig({
69737
70716
  displayName: "PurchaseSuccess__ItemIconWrap",
69738
70717
  componentId: "sc-18z5q21-10"
69739
70718
  })(["width:32px;height:32px;flex-shrink:0;"]);
69740
- var ItemName$4 = /*#__PURE__*/styled.span.withConfig({
70719
+ var ItemName$5 = /*#__PURE__*/styled.span.withConfig({
69741
70720
  displayName: "PurchaseSuccess__ItemName",
69742
70721
  componentId: "sc-18z5q21-11"
69743
70722
  })(["font-family:'Press Start 2P',cursive;font-size:0.55rem;color:#fff;flex:1;text-align:left;"]);
@@ -69886,9 +70865,9 @@ var CartView = function CartView(_ref2) {
69886
70865
  onClose: onCloseStore != null ? onCloseStore : onClose
69887
70866
  });
69888
70867
  }
69889
- return React.createElement(Container$M, null, React.createElement(Header$d, null, React.createElement(Title$k, null, "Shopping Cart (", cartItems.reduce(function (s, ci) {
70868
+ return React.createElement(Container$M, null, React.createElement(Header$e, null, React.createElement(Title$l, null, "Shopping Cart (", cartItems.reduce(function (s, ci) {
69890
70869
  return s + ci.quantity;
69891
- }, 0), ")"), React.createElement(CloseButton$e, {
70870
+ }, 0), ")"), React.createElement(CloseButton$f, {
69892
70871
  onPointerDown: onClose
69893
70872
  }, React.createElement(FaTimes, null))), React.createElement(CartItems, null, cartItems.length === 0 ? React.createElement(EmptyCart, null, "Your cart is empty") : cartItems.map(function (cartItem) {
69894
70873
  var _cartItem$metadata, _cartItem$metadata2, _cartItem$item$region2, _cartItem$item$region3;
@@ -69906,7 +70885,7 @@ var CartView = function CartView(_ref2) {
69906
70885
  height: 24,
69907
70886
  imgScale: 1.5,
69908
70887
  centered: true
69909
- })), React.createElement(ItemDetails$3, null, React.createElement(ItemName$5, null, cartItem.item.name), ((_cartItem$metadata2 = cartItem.metadata) == null ? void 0 : _cartItem$metadata2.inputValue) && React.createElement(CartMeta, null, cartItem.metadata.inputValue), React.createElement(ItemInfo$2, null, React.createElement("span", null, currencySymbol, formatPrice((_cartItem$item$region2 = cartItem.item.regionalPrice) != null ? _cartItem$item$region2 : cartItem.item.price)), React.createElement("span", null, "\xD7"), React.createElement("span", null, cartItem.quantity), React.createElement("span", null, "="), React.createElement("span", null, currencySymbol, formatPrice(((_cartItem$item$region3 = cartItem.item.regionalPrice) != null ? _cartItem$item$region3 : cartItem.item.price) * cartItem.quantity))), cartItem.metadata && cartItem.item.metadataType && React.createElement(MetadataDisplay, {
70888
+ })), React.createElement(ItemDetails$4, null, React.createElement(ItemName$6, null, cartItem.item.name), ((_cartItem$metadata2 = cartItem.metadata) == null ? void 0 : _cartItem$metadata2.inputValue) && React.createElement(CartMeta, null, cartItem.metadata.inputValue), React.createElement(ItemInfo$2, null, React.createElement("span", null, currencySymbol, formatPrice((_cartItem$item$region2 = cartItem.item.regionalPrice) != null ? _cartItem$item$region2 : cartItem.item.price)), React.createElement("span", null, "\xD7"), React.createElement("span", null, cartItem.quantity), React.createElement("span", null, "="), React.createElement("span", null, currencySymbol, formatPrice(((_cartItem$item$region3 = cartItem.item.regionalPrice) != null ? _cartItem$item$region3 : cartItem.item.price) * cartItem.quantity))), cartItem.metadata && cartItem.item.metadataType && React.createElement(MetadataDisplay, {
69910
70889
  type: cartItem.item.metadataType,
69911
70890
  metadata: cartItem.metadata
69912
70891
  })), React.createElement(CTAButton, {
@@ -69934,15 +70913,15 @@ var Container$M = /*#__PURE__*/styled.div.withConfig({
69934
70913
  displayName: "CartView__Container",
69935
70914
  componentId: "sc-ydtyl1-0"
69936
70915
  })(["display:flex;flex-direction:column;width:100%;gap:1rem;padding:1rem;"]);
69937
- var Header$d = /*#__PURE__*/styled.div.withConfig({
70916
+ var Header$e = /*#__PURE__*/styled.div.withConfig({
69938
70917
  displayName: "CartView__Header",
69939
70918
  componentId: "sc-ydtyl1-1"
69940
70919
  })(["display:flex;justify-content:space-between;align-items:center;"]);
69941
- var Title$k = /*#__PURE__*/styled.h2.withConfig({
70920
+ var Title$l = /*#__PURE__*/styled.h2.withConfig({
69942
70921
  displayName: "CartView__Title",
69943
70922
  componentId: "sc-ydtyl1-2"
69944
70923
  })(["font-family:'Press Start 2P',cursive;font-size:1rem;color:#ffffff;margin:0;"]);
69945
- var CloseButton$e = /*#__PURE__*/styled.div.withConfig({
70924
+ var CloseButton$f = /*#__PURE__*/styled.div.withConfig({
69946
70925
  displayName: "CartView__CloseButton",
69947
70926
  componentId: "sc-ydtyl1-3"
69948
70927
  })(["padding:0.5rem;min-width:unset;width:42px;height:42px;display:flex;font-size:1.5rem;align-items:center;color:white;justify-content:center;"]);
@@ -69962,11 +70941,11 @@ var ItemIconContainer = /*#__PURE__*/styled.div.withConfig({
69962
70941
  displayName: "CartView__ItemIconContainer",
69963
70942
  componentId: "sc-ydtyl1-7"
69964
70943
  })(["width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:4px;padding:2px;"]);
69965
- var ItemDetails$3 = /*#__PURE__*/styled.div.withConfig({
70944
+ var ItemDetails$4 = /*#__PURE__*/styled.div.withConfig({
69966
70945
  displayName: "CartView__ItemDetails",
69967
70946
  componentId: "sc-ydtyl1-8"
69968
70947
  })(["flex:1;display:flex;flex-direction:column;gap:0.5rem;"]);
69969
- var ItemName$5 = /*#__PURE__*/styled.div.withConfig({
70948
+ var ItemName$6 = /*#__PURE__*/styled.div.withConfig({
69970
70949
  displayName: "CartView__ItemName",
69971
70950
  componentId: "sc-ydtyl1-9"
69972
70951
  })(["font-family:'Press Start 2P',cursive;font-size:0.65rem;color:#ffffff;"]);
@@ -70170,7 +71149,7 @@ var FeaturedBanner = function FeaturedBanner(_ref) {
70170
71149
  background: badgeStyle.bg,
70171
71150
  borderColor: badgeStyle.border,
70172
71151
  color: badgeStyle.color
70173
- }, item.badge))), React.createElement(CardBody, null, React.createElement(CardName, null, item.name), item.description && React.createElement(CardDesc, null, item.description), React.createElement(PriceRow$1, null, item.originalPrice != null && React.createElement(OriginalPrice, null, "$", item.originalPrice.toFixed(2)), React.createElement(CurrentPrice, {
71152
+ }, item.badge))), React.createElement(CardBody, null, React.createElement(CardName, null, item.name), item.description && React.createElement(CardDesc, null, item.description), React.createElement(PriceRow$3, null, item.originalPrice != null && React.createElement(OriginalPrice, null, "$", item.originalPrice.toFixed(2)), React.createElement(CurrentPrice, {
70174
71153
  "$onSale": item.originalPrice != null
70175
71154
  }, "$", item.price.toFixed(2))), item.endsAt && React.createElement(CountdownTimer, {
70176
71155
  endsAt: item.endsAt,
@@ -70228,7 +71207,7 @@ var CardDesc = /*#__PURE__*/styled.div.withConfig({
70228
71207
  displayName: "FeaturedBanner__CardDesc",
70229
71208
  componentId: "sc-egjgex-9"
70230
71209
  })(["font-family:'Press Start 2P',cursive;font-size:0.45rem;color:rgba(255,255,255,0.6);line-height:1.4;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;"]);
70231
- var PriceRow$1 = /*#__PURE__*/styled.div.withConfig({
71210
+ var PriceRow$3 = /*#__PURE__*/styled.div.withConfig({
70232
71211
  displayName: "FeaturedBanner__PriceRow",
70233
71212
  componentId: "sc-egjgex-10"
70234
71213
  })(["display:flex;align-items:center;gap:0.4rem;"]);
@@ -70541,13 +71520,13 @@ var PaymentMethodModal = function PaymentMethodModal(_ref) {
70541
71520
  }
70542
71521
  }, [selected, dcDisabled, onPayWithDC, onPayWithCard, onPayWithPix]);
70543
71522
  var dcSubText = dcRequired !== undefined ? dcBalance.toLocaleString() + " DC available \xB7 " + dcRequired.toLocaleString() + " DC needed" : dcBalance.toLocaleString() + " DC available";
70544
- return React.createElement(ModalPortal, null, React.createElement(Overlay$8, {
71523
+ return React.createElement(ModalPortal, null, React.createElement(Overlay$9, {
70545
71524
  onPointerDown: onClose
70546
- }), React.createElement(ModalContainer$5, null, React.createElement(ModalContent$5, {
71525
+ }), React.createElement(ModalContainer$6, null, React.createElement(ModalContent$6, {
70547
71526
  onClick: stopPropagation,
70548
71527
  onTouchStart: stopPropagation,
70549
71528
  onPointerDown: stopPropagation
70550
- }, React.createElement(Header$e, null, React.createElement(Title$l, null, "How would you like to pay?"), React.createElement(CloseButton$f, {
71529
+ }, React.createElement(Header$f, null, React.createElement(Title$m, null, "How would you like to pay?"), React.createElement(CloseButton$g, {
70551
71530
  onPointerDown: onClose,
70552
71531
  "aria-label": "Close"
70553
71532
  }, React.createElement(FaTimes, null))), React.createElement(Options$1, null, React.createElement(RadioOption$1, {
@@ -70555,14 +71534,14 @@ var PaymentMethodModal = function PaymentMethodModal(_ref) {
70555
71534
  onPointerDown: function onPointerDown() {
70556
71535
  return setSelected('card');
70557
71536
  }
70558
- }, React.createElement(RadioCircle$1, {
71537
+ }, React.createElement(RadioCircle$2, {
70559
71538
  "$selected": selected === 'card'
70560
71539
  }), React.createElement(OptionText$1, null, React.createElement(OptionLabel$2, null, "Credit Card"), React.createElement(OptionSub$1, null, "Stripe secure checkout"))), showPix && React.createElement(RadioOption$1, {
70561
71540
  "$selected": selected === 'pix',
70562
71541
  onPointerDown: function onPointerDown() {
70563
71542
  return setSelected('pix');
70564
71543
  }
70565
- }, React.createElement(RadioCircle$1, {
71544
+ }, React.createElement(RadioCircle$2, {
70566
71545
  "$selected": selected === 'pix'
70567
71546
  }), React.createElement(OptionText$1, null, React.createElement(OptionLabel$2, null, "Pix"), React.createElement(OptionSub$1, null, "Instant payment via Pix"))), React.createElement(RadioOption$1, {
70568
71547
  "$selected": selected === 'dc',
@@ -70570,34 +71549,34 @@ var PaymentMethodModal = function PaymentMethodModal(_ref) {
70570
71549
  onPointerDown: dcDisabled ? undefined : function () {
70571
71550
  return setSelected('dc');
70572
71551
  }
70573
- }, React.createElement(RadioCircle$1, {
71552
+ }, React.createElement(RadioCircle$2, {
70574
71553
  "$selected": selected === 'dc'
70575
71554
  }), React.createElement(OptionText$1, null, React.createElement(OptionLabel$2, null, "Definya Coin"), React.createElement(OptionSub$1, null, dcSubText)))), React.createElement(ConfirmRow$1, null, React.createElement(Button, {
70576
71555
  buttonType: ButtonTypes.RPGUIButton,
70577
71556
  onPointerDown: handleConfirm
70578
71557
  }, "Confirm")))));
70579
71558
  };
70580
- var Overlay$8 = /*#__PURE__*/styled.div.withConfig({
71559
+ var Overlay$9 = /*#__PURE__*/styled.div.withConfig({
70581
71560
  displayName: "PaymentMethodModal__Overlay",
70582
71561
  componentId: "sc-1dxy6lr-0"
70583
71562
  })(["position:fixed;inset:0;background:rgba(0,0,0,0.65);z-index:1000;"]);
70584
- var ModalContainer$5 = /*#__PURE__*/styled.div.withConfig({
71563
+ var ModalContainer$6 = /*#__PURE__*/styled.div.withConfig({
70585
71564
  displayName: "PaymentMethodModal__ModalContainer",
70586
71565
  componentId: "sc-1dxy6lr-1"
70587
71566
  })(["position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:1001;pointer-events:none;"]);
70588
- var ModalContent$5 = /*#__PURE__*/styled.div.withConfig({
71567
+ var ModalContent$6 = /*#__PURE__*/styled.div.withConfig({
70589
71568
  displayName: "PaymentMethodModal__ModalContent",
70590
71569
  componentId: "sc-1dxy6lr-2"
70591
71570
  })(["background:#1a1a2e;border:2px solid #f59e0b;border-radius:8px;padding:20px 24px 24px;min-width:300px;max-width:90%;display:flex;flex-direction:column;gap:16px;pointer-events:auto;animation:scaleIn 0.15s ease-out;@keyframes scaleIn{from{transform:scale(0.85);opacity:0;}to{transform:scale(1);opacity:1;}}"]);
70592
- var Header$e = /*#__PURE__*/styled.div.withConfig({
71571
+ var Header$f = /*#__PURE__*/styled.div.withConfig({
70593
71572
  displayName: "PaymentMethodModal__Header",
70594
71573
  componentId: "sc-1dxy6lr-3"
70595
71574
  })(["display:flex;align-items:center;justify-content:space-between;"]);
70596
- var Title$l = /*#__PURE__*/styled.h3.withConfig({
71575
+ var Title$m = /*#__PURE__*/styled.h3.withConfig({
70597
71576
  displayName: "PaymentMethodModal__Title",
70598
71577
  componentId: "sc-1dxy6lr-4"
70599
71578
  })(["margin:0;font-family:'Press Start 2P',cursive;font-size:0.7rem;color:#fef08a;"]);
70600
- var CloseButton$f = /*#__PURE__*/styled.button.withConfig({
71579
+ var CloseButton$g = /*#__PURE__*/styled.button.withConfig({
70601
71580
  displayName: "PaymentMethodModal__CloseButton",
70602
71581
  componentId: "sc-1dxy6lr-5"
70603
71582
  })(["background:none;border:none;color:rgba(255,255,255,0.6);cursor:pointer;font-size:1rem;padding:4px;display:flex;align-items:center;&:hover{color:#ffffff;}"]);
@@ -70624,7 +71603,7 @@ var RadioOption$1 = /*#__PURE__*/styled.div.withConfig({
70624
71603
  var $disabled = _ref6.$disabled;
70625
71604
  return $disabled ? 'rgba(255,255,255,0.15)' : '#f59e0b';
70626
71605
  });
70627
- var RadioCircle$1 = /*#__PURE__*/styled.div.withConfig({
71606
+ var RadioCircle$2 = /*#__PURE__*/styled.div.withConfig({
70628
71607
  displayName: "PaymentMethodModal__RadioCircle",
70629
71608
  componentId: "sc-1dxy6lr-8"
70630
71609
  })(["width:16px;height:16px;border-radius:50%;border:2px solid ", ";display:flex;align-items:center;justify-content:center;flex-shrink:0;&::after{content:'';width:8px;height:8px;border-radius:50%;background:#f59e0b;opacity:", ";transition:opacity 0.15s;}"], function (_ref7) {
@@ -70807,7 +71786,7 @@ var StoreCharacterSkinRow = function StoreCharacterSkinRow(_ref) {
70807
71786
  height: 32,
70808
71787
  imgScale: 2,
70809
71788
  centered: true
70810
- }) : React.createElement(DefaultIcon, null, "\uD83D\uDC64")), React.createElement(ItemDetails$4, null, React.createElement(Header$f, null, React.createElement(ItemName$6, null, item.name)), availableCharacters.length > 0 && currentCharacter && React.createElement(SelectedSkinNav, null, React.createElement(SelectedSkin, null, "Selected:"), React.createElement(SkinNavArrow, {
71789
+ }) : React.createElement(DefaultIcon, null, "\uD83D\uDC64")), React.createElement(ItemDetails$5, null, React.createElement(Header$g, null, React.createElement(ItemName$7, null, item.name)), availableCharacters.length > 0 && currentCharacter && React.createElement(SelectedSkinNav, null, React.createElement(SelectedSkin, null, "Selected:"), React.createElement(SkinNavArrow, {
70811
71790
  direction: "left",
70812
71791
  onPointerDown: handlePreviousSkin,
70813
71792
  size: 24
@@ -70815,12 +71794,12 @@ var StoreCharacterSkinRow = function StoreCharacterSkinRow(_ref) {
70815
71794
  direction: "right",
70816
71795
  onPointerDown: handleNextSkin,
70817
71796
  size: 24
70818
- })), React.createElement(PriceRow$2, null, originalPrice != null && React.createElement(OriginalPrice$1, {
71797
+ })), React.createElement(PriceRow$4, null, originalPrice != null && React.createElement(OriginalPrice$1, {
70819
71798
  style: {
70820
71799
  display: 'flex',
70821
71800
  alignItems: 'center'
70822
71801
  }
70823
- }, item.currency === 'DC' ? React.createElement(React.Fragment, null, React.createElement(DCCoinWrapper$2, {
71802
+ }, item.currency === 'DC' ? React.createElement(React.Fragment, null, React.createElement(DCCoinWrapper$6, {
70824
71803
  "$scale": 0.8
70825
71804
  }, React.createElement(SpriteFromAtlas, {
70826
71805
  atlasIMG: atlasIMG,
@@ -70834,7 +71813,7 @@ var StoreCharacterSkinRow = function StoreCharacterSkinRow(_ref) {
70834
71813
  alignItems: 'center',
70835
71814
  gap: '2px'
70836
71815
  }
70837
- }, React.createElement(DCCoinWrapper$2, null, React.createElement(SimpleTooltip, {
71816
+ }, React.createElement(DCCoinWrapper$6, null, React.createElement(SimpleTooltip, {
70838
71817
  content: "Definya Coin",
70839
71818
  direction: "top"
70840
71819
  }, React.createElement(SpriteFromAtlas, {
@@ -70853,7 +71832,7 @@ var StoreCharacterSkinRow = function StoreCharacterSkinRow(_ref) {
70853
71832
  style: {
70854
71833
  margin: '0 4px'
70855
71834
  }
70856
- }, "\xB7"), React.createElement(DCCoinWrapper$2, {
71835
+ }, "\xB7"), React.createElement(DCCoinWrapper$6, {
70857
71836
  "$scale": 0.9
70858
71837
  }, React.createElement(SimpleTooltip, {
70859
71838
  content: "Definya Coin",
@@ -70891,15 +71870,15 @@ var ItemIconContainer$1 = /*#__PURE__*/styled.div.withConfig({
70891
71870
  displayName: "StoreCharacterSkinRow__ItemIconContainer",
70892
71871
  componentId: "sc-81xqsx-1"
70893
71872
  })(["width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,0.6);border:1px solid rgba(255,255,255,0.1);border-radius:6px;padding:4px;box-shadow:inset 0 0 8px rgba(0,0,0,0.8);"]);
70894
- var ItemDetails$4 = /*#__PURE__*/styled.div.withConfig({
71873
+ var ItemDetails$5 = /*#__PURE__*/styled.div.withConfig({
70895
71874
  displayName: "StoreCharacterSkinRow__ItemDetails",
70896
71875
  componentId: "sc-81xqsx-2"
70897
71876
  })(["flex:1;display:flex;flex-direction:column;gap:0.35rem;"]);
70898
- var ItemName$6 = /*#__PURE__*/styled.div.withConfig({
71877
+ var ItemName$7 = /*#__PURE__*/styled.div.withConfig({
70899
71878
  displayName: "StoreCharacterSkinRow__ItemName",
70900
71879
  componentId: "sc-81xqsx-3"
70901
71880
  })(["font-family:'Press Start 2P',cursive;font-size:0.8125rem;color:#ffffff;text-shadow:1px 1px 0 rgba(0,0,0,0.5);"]);
70902
- var PriceRow$2 = /*#__PURE__*/styled.div.withConfig({
71881
+ var PriceRow$4 = /*#__PURE__*/styled.div.withConfig({
70903
71882
  displayName: "StoreCharacterSkinRow__PriceRow",
70904
71883
  componentId: "sc-81xqsx-4"
70905
71884
  })(["display:flex;align-items:center;gap:0.5rem;margin:0.15rem 0;"]);
@@ -70921,7 +71900,7 @@ var Controls = /*#__PURE__*/styled.div.withConfig({
70921
71900
  displayName: "StoreCharacterSkinRow__Controls",
70922
71901
  componentId: "sc-81xqsx-8"
70923
71902
  })(["display:flex;align-items:center;gap:0.5rem;min-width:fit-content;"]);
70924
- var DCCoinWrapper$2 = /*#__PURE__*/styled.span.withConfig({
71903
+ var DCCoinWrapper$6 = /*#__PURE__*/styled.span.withConfig({
70925
71904
  displayName: "StoreCharacterSkinRow__DCCoinWrapper",
70926
71905
  componentId: "sc-81xqsx-9"
70927
71906
  })(["display:flex;align-items:center;justify-content:center;position:relative;top:", ";left:", ";margin-right:0.3rem;"], function (p) {
@@ -70934,7 +71913,7 @@ var SkinNavArrow = /*#__PURE__*/styled(SelectArrow).withConfig({
70934
71913
  displayName: "StoreCharacterSkinRow__SkinNavArrow",
70935
71914
  componentId: "sc-81xqsx-10"
70936
71915
  })(["position:static;"]);
70937
- var Header$f = /*#__PURE__*/styled.div.withConfig({
71916
+ var Header$g = /*#__PURE__*/styled.div.withConfig({
70938
71917
  displayName: "StoreCharacterSkinRow__Header",
70939
71918
  componentId: "sc-81xqsx-11"
70940
71919
  })(["display:flex;align-items:center;gap:0.5rem;"]);
@@ -71139,12 +72118,12 @@ var StoreItemRow = function StoreItemRow(_ref) {
71139
72118
  height: 32,
71140
72119
  imgScale: 2,
71141
72120
  centered: true
71142
- })), React.createElement(ItemDetails$5, null, React.createElement(ItemName$7, null, item.name), React.createElement(PriceRow$3, null, originalPrice != null && React.createElement(OriginalPrice$2, {
72121
+ })), React.createElement(ItemDetails$6, null, React.createElement(ItemName$8, null, item.name), React.createElement(PriceRow$5, null, originalPrice != null && React.createElement(OriginalPrice$2, {
71143
72122
  style: {
71144
72123
  display: 'flex',
71145
72124
  alignItems: 'center'
71146
72125
  }
71147
- }, item.currency === 'DC' ? React.createElement(React.Fragment, null, React.createElement(DCCoinWrapper$3, {
72126
+ }, item.currency === 'DC' ? React.createElement(React.Fragment, null, React.createElement(DCCoinWrapper$7, {
71148
72127
  "$scale": 0.8
71149
72128
  }, React.createElement(SpriteFromAtlas, {
71150
72129
  atlasIMG: atlasIMG,
@@ -71158,7 +72137,7 @@ var StoreItemRow = function StoreItemRow(_ref) {
71158
72137
  alignItems: 'center',
71159
72138
  gap: '2px'
71160
72139
  }
71161
- }, React.createElement(DCCoinWrapper$3, null, React.createElement(SimpleTooltip, {
72140
+ }, React.createElement(DCCoinWrapper$7, null, React.createElement(SimpleTooltip, {
71162
72141
  content: "Definya Coin",
71163
72142
  direction: "top"
71164
72143
  }, React.createElement(SpriteFromAtlas, {
@@ -71177,7 +72156,7 @@ var StoreItemRow = function StoreItemRow(_ref) {
71177
72156
  style: {
71178
72157
  margin: '0 4px'
71179
72158
  }
71180
- }, "\xB7"), React.createElement(DCCoinWrapper$3, {
72159
+ }, "\xB7"), React.createElement(DCCoinWrapper$7, {
71181
72160
  "$scale": 0.9
71182
72161
  }, React.createElement(SimpleTooltip, {
71183
72162
  content: "Definya Coin",
@@ -71240,15 +72219,15 @@ var ItemIconContainer$2 = /*#__PURE__*/styled.div.withConfig({
71240
72219
  displayName: "StoreItemRow__ItemIconContainer",
71241
72220
  componentId: "sc-ptotuo-1"
71242
72221
  })(["width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,0.6);border:1px solid rgba(255,255,255,0.1);border-radius:6px;padding:4px;box-shadow:inset 0 0 8px rgba(0,0,0,0.8);"]);
71243
- var ItemDetails$5 = /*#__PURE__*/styled.div.withConfig({
72222
+ var ItemDetails$6 = /*#__PURE__*/styled.div.withConfig({
71244
72223
  displayName: "StoreItemRow__ItemDetails",
71245
72224
  componentId: "sc-ptotuo-2"
71246
72225
  })(["flex:1;display:flex;flex-direction:column;gap:0.35rem;"]);
71247
- var ItemName$7 = /*#__PURE__*/styled.div.withConfig({
72226
+ var ItemName$8 = /*#__PURE__*/styled.div.withConfig({
71248
72227
  displayName: "StoreItemRow__ItemName",
71249
72228
  componentId: "sc-ptotuo-3"
71250
72229
  })(["font-family:'Press Start 2P',cursive;font-size:0.8125rem;color:#ffffff;text-shadow:1px 1px 0 rgba(0,0,0,0.5);"]);
71251
- var PriceRow$3 = /*#__PURE__*/styled.div.withConfig({
72230
+ var PriceRow$5 = /*#__PURE__*/styled.div.withConfig({
71252
72231
  displayName: "StoreItemRow__PriceRow",
71253
72232
  componentId: "sc-ptotuo-4"
71254
72233
  })(["display:flex;align-items:center;gap:0.5rem;margin:0.15rem 0;"]);
@@ -71266,7 +72245,7 @@ var ItemDescription = /*#__PURE__*/styled.div.withConfig({
71266
72245
  displayName: "StoreItemRow__ItemDescription",
71267
72246
  componentId: "sc-ptotuo-7"
71268
72247
  })(["font-family:'Press Start 2P',cursive;font-size:0.625rem;color:rgba(255,255,255,0.85);line-height:1.4;margin-top:2px;"]);
71269
- var DCCoinWrapper$3 = /*#__PURE__*/styled.span.withConfig({
72248
+ var DCCoinWrapper$7 = /*#__PURE__*/styled.span.withConfig({
71270
72249
  displayName: "StoreItemRow__DCCoinWrapper",
71271
72250
  componentId: "sc-ptotuo-8"
71272
72251
  })(["display:flex;align-items:center;justify-content:center;position:relative;top:", ";left:", ";margin-right:0.3rem;"], function (p) {
@@ -71655,12 +72634,12 @@ var StoreItemDetails = function StoreItemDetails(_ref) {
71655
72634
  if (typeof imageUrl === 'string') return imageUrl;
71656
72635
  return imageUrl["default"] || imageUrl.src;
71657
72636
  };
71658
- return React.createElement(Container$O, null, React.createElement(Header$g, null, React.createElement(BackButton, {
72637
+ return React.createElement(Container$O, null, React.createElement(Header$h, null, React.createElement(BackButton, {
71659
72638
  onClick: onBack
71660
72639
  }, React.createElement(FaArrowLeft, null), React.createElement("span", null, "Back"))), React.createElement(Content$5, null, React.createElement(DetailsGrid, null, React.createElement(ItemIcon, null, React.createElement("img", {
71661
72640
  src: getImageSrc(),
71662
72641
  alt: item.name
71663
- })), React.createElement(ItemInfo$3, null, React.createElement(ItemName$8, null, item.name), React.createElement(ItemPrice$2, null, currencySymbol, 'priceUSD' in item ? item.priceUSD : (_item$regionalPrice = item.regionalPrice) != null ? _item$regionalPrice : item.price, item.dcPrice ? " \xB7 " + item.dcPrice.toLocaleString() + " DC" : ''), React.createElement(Description$6, null, item.description))), React.createElement(Actions$1, null, React.createElement(CTAButton, {
72642
+ })), React.createElement(ItemInfo$3, null, React.createElement(ItemName$9, null, item.name), React.createElement(ItemPrice$2, null, currencySymbol, 'priceUSD' in item ? item.priceUSD : (_item$regionalPrice = item.regionalPrice) != null ? _item$regionalPrice : item.price, item.dcPrice ? " \xB7 " + item.dcPrice.toLocaleString() + " DC" : ''), React.createElement(Description$7, null, item.description))), React.createElement(Actions$1, null, React.createElement(CTAButton, {
71664
72643
  icon: React.createElement(FaCartPlus, null),
71665
72644
  label: "Add to Cart",
71666
72645
  onClick: function onClick() {
@@ -71673,7 +72652,7 @@ var Container$O = /*#__PURE__*/styled.div.withConfig({
71673
72652
  displayName: "StoreItemDetails__Container",
71674
72653
  componentId: "sc-k3ho5z-0"
71675
72654
  })(["display:flex;flex-direction:column;gap:1.5rem;padding:1.5rem;height:100%;"]);
71676
- var Header$g = /*#__PURE__*/styled.div.withConfig({
72655
+ var Header$h = /*#__PURE__*/styled.div.withConfig({
71677
72656
  displayName: "StoreItemDetails__Header",
71678
72657
  componentId: "sc-k3ho5z-1"
71679
72658
  })(["display:flex;align-items:center;gap:1rem;"]);
@@ -71697,7 +72676,7 @@ var ItemInfo$3 = /*#__PURE__*/styled.div.withConfig({
71697
72676
  displayName: "StoreItemDetails__ItemInfo",
71698
72677
  componentId: "sc-k3ho5z-6"
71699
72678
  })(["display:flex;flex-direction:column;gap:1rem;"]);
71700
- var ItemName$8 = /*#__PURE__*/styled.h2.withConfig({
72679
+ var ItemName$9 = /*#__PURE__*/styled.h2.withConfig({
71701
72680
  displayName: "StoreItemDetails__ItemName",
71702
72681
  componentId: "sc-k3ho5z-7"
71703
72682
  })(["margin:0;font-family:'Press Start 2P',cursive;font-size:1.25rem;color:#fef08a;"]);
@@ -71705,7 +72684,7 @@ var ItemPrice$2 = /*#__PURE__*/styled.div.withConfig({
71705
72684
  displayName: "StoreItemDetails__ItemPrice",
71706
72685
  componentId: "sc-k3ho5z-8"
71707
72686
  })(["font-family:'Press Start 2P',cursive;font-size:1rem;color:#fef08a;"]);
71708
- var Description$6 = /*#__PURE__*/styled.p.withConfig({
72687
+ var Description$7 = /*#__PURE__*/styled.p.withConfig({
71709
72688
  displayName: "StoreItemDetails__Description",
71710
72689
  componentId: "sc-k3ho5z-9"
71711
72690
  })(["margin:0;font-family:'Press Start 2P',cursive;font-size:0.875rem;line-height:1.6;color:#ffffff;"]);
@@ -72273,7 +73252,7 @@ var TimeWidget = function TimeWidget(_ref) {
72273
73252
  return React.createElement(Draggable, {
72274
73253
  scale: scale,
72275
73254
  cancel: ".time-widget-close,.time-widget-container,.time-widget-container *"
72276
- }, React.createElement(WidgetContainer, null, React.createElement(CloseButton$g, {
73255
+ }, React.createElement(WidgetContainer, null, React.createElement(CloseButton$h, {
72277
73256
  onPointerDown: onClose,
72278
73257
  className: "time-widget-close"
72279
73258
  }, "X"), React.createElement(DayNightContainer, {
@@ -72290,7 +73269,7 @@ var Time = /*#__PURE__*/styled.div.withConfig({
72290
73269
  displayName: "TimeWidget__Time",
72291
73270
  componentId: "sc-1ja236h-1"
72292
73271
  })(["top:0.75rem;right:0.5rem;position:absolute;font-size:", ";color:white;"], uiFonts.size.small);
72293
- var CloseButton$g = /*#__PURE__*/styled.p.withConfig({
73272
+ var CloseButton$h = /*#__PURE__*/styled.p.withConfig({
72294
73273
  displayName: "TimeWidget__CloseButton",
72295
73274
  componentId: "sc-1ja236h-2"
72296
73275
  })(["position:absolute;top:-0.5rem;margin:0;right:-0.2rem;font-size:", " !important;z-index:1;"], uiFonts.size.small);
@@ -72399,7 +73378,7 @@ var TradingItemRow = function TradingItemRow(_ref) {
72399
73378
  }
72400
73379
  return null;
72401
73380
  };
72402
- return React.createElement(ItemWrapper$1, null, React.createElement(ItemIconContainer$3, null, React.createElement(SpriteContainer$6, null, React.createElement(ItemInfoWrapper, {
73381
+ return React.createElement(ItemWrapper$1, null, React.createElement(ItemIconContainer$3, null, React.createElement(SpriteContainer$7, null, React.createElement(ItemInfoWrapper, {
72403
73382
  atlasIMG: atlasIMG,
72404
73383
  atlasJSON: atlasJSON,
72405
73384
  equipmentSet: equipmentSet,
@@ -72471,7 +73450,7 @@ var ItemIconContainer$3 = /*#__PURE__*/styled.div.withConfig({
72471
73450
  displayName: "TradingItemRow__ItemIconContainer",
72472
73451
  componentId: "sc-mja0b5-3"
72473
73452
  })(["display:flex;justify-content:flex-start;align-items:center;flex:0 0 40px;"]);
72474
- var SpriteContainer$6 = /*#__PURE__*/styled.div.withConfig({
73453
+ var SpriteContainer$7 = /*#__PURE__*/styled.div.withConfig({
72475
73454
  displayName: "TradingItemRow__SpriteContainer",
72476
73455
  componentId: "sc-mja0b5-4"
72477
73456
  })(["position:relative;top:-0.5rem;left:0;"]);
@@ -72569,7 +73548,7 @@ var TradingMenu = function TradingMenu(_ref) {
72569
73548
  width: "500px",
72570
73549
  cancelDrag: "#TraderContainer",
72571
73550
  scale: scale
72572
- }, React.createElement(Container$Q, null, React.createElement(Title$m, null, type.charAt(0).toUpperCase() + type.slice(1), " Menu"), React.createElement("hr", {
73551
+ }, React.createElement(Container$Q, null, React.createElement(Title$n, null, type.charAt(0).toUpperCase() + type.slice(1), " Menu"), React.createElement("hr", {
72573
73552
  className: "golden"
72574
73553
  }), React.createElement(ScrollWrapper, {
72575
73554
  id: "TraderContainer"
@@ -72601,7 +73580,7 @@ var Container$Q = /*#__PURE__*/styled.div.withConfig({
72601
73580
  displayName: "TradingMenu__Container",
72602
73581
  componentId: "sc-1wjsz1l-0"
72603
73582
  })(["width:100%;"]);
72604
- var Title$m = /*#__PURE__*/styled.h1.withConfig({
73583
+ var Title$n = /*#__PURE__*/styled.h1.withConfig({
72605
73584
  displayName: "TradingMenu__Title",
72606
73585
  componentId: "sc-1wjsz1l-1"
72607
73586
  })(["font-size:0.7rem !important;color:yellow !important;text-align:center;"]);
@@ -72783,5 +73762,5 @@ var LessonContainer = /*#__PURE__*/styled.div.withConfig({
72783
73762
  componentId: "sc-7tgzv2-6"
72784
73763
  })(["display:flex;flex-direction:column;justify-content:space-between;min-height:200px;p{font-size:0.7rem !important;}"]);
72785
73764
 
72786
- export { ActionButtons, AsyncDropdown, BLUEPRINTS_PER_PAGE, BUY_ORDERS_PER_PAGE, BlueprintSearchModal, Button, ButtonTypes, BuyOrderPanel, BuyOrderRow, CTAButton, CartView, CharacterSelection, CharacterSkinSelectionModal, Chat, ChatDeprecated, ChatRevamp, CheckButton, CheckItem, CircularController, CountdownTimer, CraftBook, DCWalletContent, DCWalletModal, DailyTasks, DraggableContainer, Dropdown, DropdownSelectorContainer, DynamicText, EquipmentSet, EquipmentSlotSpriteByType, ErrorBoundary, FeaturedBanner, FriendList, GemSelector, GroupedBuyOrderRow, GroupedMarketplaceRow, HISTORY_ITEMS_PER_PAGE, HistoryDialog, HistoryPanel, ImageCarousel, ImgSide, InformationCenter, Input, InputRadio, InternalTabs, ItemContainer$1 as ItemContainer, ItemPropertySimpleHandler, ItemQuantitySelectorModal, ItemSelector, ItemSlot, JoystickDPad, Leaderboard, ListMenu, LoginStreakPanel, Marketplace, MarketplaceBuyModal, MarketplaceRows, MarketplaceSettingsPanel, MetadataCollector, MultitabType, NPCDialog, NPCDialogType, NPCMultiDialog, PartyCreate, PartyDashboard, PartyInvite, PartyManager, PartyManagerRow, PartyRow, PaymentMethodModal, PlayersRow, ProgressBar$1 as ProgressBar, PropertySelect, PurchaseSuccess, QuantitySelectorModal, QuestInfo, QuestList, QuestionDialog, RPGUIContainer, RPGUIContainerTypes, RPGUIRoot, RangeSlider, RangeSliderType, SelectArrow, Shortcuts, SimpleImageCarousel, SkillProgressBar, SkillsContainer, SocialModal, Spellbook, SpriteFromAtlas, Stepper, Store, StoreBadges, TRANSACTION_TYPE_FILTER_ALL, TabBody, Table, TableCell, TableHeader, TableRow, TabsContainer$1 as TabsContainer, TextArea, TimeWidget, Tooltip, TradingMenu, Truncate, TrustBar, TutorialStepper, UserActionLink, _RPGUI, formatQuestStatus, formatQuestText, getMockedPlayersRowsLeader, getMockedPlayersRowsNotLeader, getQuestStatusColor, mockedPartyManager, mockedPartyRows, mockedPlayersRows, mockedPlayersRows2, useEventListener, useStoreCart };
73765
+ export { ActionButtons, AsyncDropdown, BLUEPRINTS_PER_PAGE, BUY_ORDERS_PER_PAGE, BlueprintSearchModal, Button, ButtonTypes, BuyOrderPanel, BuyOrderRow, CTAButton, CartView, CharacterListingForm, CharacterMarketplacePanel, CharacterMarketplaceRows, CharacterSelection, CharacterSkinSelectionModal, Chat, ChatDeprecated, ChatRevamp, CheckButton, CheckItem, CircularController, CountdownTimer, CraftBook, DCWalletContent, DCWalletModal, DailyTasks, DraggableContainer, Dropdown, DropdownSelectorContainer, DynamicText, EquipmentSet, EquipmentSlotSpriteByType, ErrorBoundary, FeaturedBanner, FriendList, GemSelector, GroupedBuyOrderRow, GroupedCharacterMarketplaceRow, GroupedMarketplaceRow, HISTORY_ITEMS_PER_PAGE, HistoryDialog, HistoryPanel, ImageCarousel, ImgSide, InformationCenter, Input, InputRadio, InternalTabs, ItemContainer$1 as ItemContainer, ItemPropertySimpleHandler, ItemQuantitySelectorModal, ItemSelector, ItemSlot, JoystickDPad, Leaderboard, ListMenu, LoginStreakPanel, Marketplace, MarketplaceBuyModal, MarketplaceRows, MarketplaceSettingsPanel, MetadataCollector, MultitabType, MyCharacterListingsPanel, NPCDialog, NPCDialogType, NPCMultiDialog, PartyCreate, PartyDashboard, PartyInvite, PartyManager, PartyManagerRow, PartyRow, PaymentMethodModal, PlayersRow, ProgressBar$1 as ProgressBar, PropertySelect, PurchaseSuccess, QuantitySelectorModal, QuestInfo, QuestList, QuestionDialog, RPGUIContainer, RPGUIContainerTypes, RPGUIRoot, RangeSlider, RangeSliderType, SelectArrow, Shortcuts, SimpleImageCarousel, SkillProgressBar, SkillsContainer, SocialModal, Spellbook, SpriteFromAtlas, Stepper, Store, StoreBadges, TRANSACTION_TYPE_FILTER_ALL, TabBody, Table, TableCell, TableHeader, TableRow, TabsContainer$1 as TabsContainer, TextArea, TimeWidget, Tooltip, TradingMenu, Truncate, TrustBar, TutorialStepper, UserActionLink, _RPGUI, formatQuestStatus, formatQuestText, getMockedPlayersRowsLeader, getMockedPlayersRowsNotLeader, getQuestStatusColor, mockedPartyManager, mockedPartyRows, mockedPlayersRows, mockedPlayersRows2, useEventListener, useStoreCart };
72787
73766
  //# sourceMappingURL=long-bow.esm.js.map