@rpg-engine/long-bow 0.8.182 → 0.8.185

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 (31) hide show
  1. package/dist/components/Marketplace/CharacterListingForm.d.ts +4 -2
  2. package/dist/components/Marketplace/CharacterListingModal.d.ts +17 -0
  3. package/dist/components/Marketplace/CharacterMarketplacePanel.d.ts +4 -0
  4. package/dist/components/Marketplace/CharacterMarketplaceRows.d.ts +6 -0
  5. package/dist/components/Marketplace/Marketplace.d.ts +3 -2
  6. package/dist/components/Marketplace/MyCharacterListingsPanel.d.ts +4 -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 +557 -375
  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 +552 -377
  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/shared/RadioOption.stories.d.ts +8 -0
  18. package/package.json +1 -1
  19. package/src/components/DCWallet/DCWalletContent.tsx +5 -47
  20. package/src/components/Marketplace/CharacterListingForm.tsx +56 -351
  21. package/src/components/Marketplace/CharacterListingModal.tsx +404 -0
  22. package/src/components/Marketplace/CharacterMarketplacePanel.tsx +112 -67
  23. package/src/components/Marketplace/CharacterMarketplaceRows.tsx +21 -9
  24. package/src/components/Marketplace/Marketplace.tsx +11 -6
  25. package/src/components/Marketplace/MyCharacterListingsPanel.tsx +15 -14
  26. package/src/components/shared/DCRateStrip.tsx +67 -0
  27. package/src/components/shared/RadioOption.tsx +93 -0
  28. package/src/index.tsx +4 -0
  29. package/src/stories/Features/marketplace/CharacterListingModal.stories.tsx +131 -0
  30. package/src/stories/Features/marketplace/CharacterMarketplace.stories.tsx +39 -23
  31. 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 as CharacterClass$1, 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';
@@ -39126,6 +39126,36 @@ var ContentWrapper = /*#__PURE__*/styled.div.withConfig({
39126
39126
  componentId: "sc-ldufv0-3"
39127
39127
  })(["width:100%;"]);
39128
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
+
39129
39159
  var Pagination = function Pagination(_ref) {
39130
39160
  var currentPage = _ref.currentPage,
39131
39161
  totalPages = _ref.totalPages,
@@ -39700,8 +39730,7 @@ var DropdownItem = /*#__PURE__*/styled.li.withConfig({
39700
39730
  componentId: "sc-k1vvb1-9"
39701
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);
39702
39732
 
39703
- var DC_TO_GOLD = 5500;
39704
- var DC_TO_USD = 100;
39733
+ var DC_TO_USD$1 = 100;
39705
39734
  var DCWalletContent = function DCWalletContent(_ref) {
39706
39735
  var _historyData$transact, _historyData$totalPag, _historyData$currentP;
39707
39736
  var dcBalance = _ref.dcBalance,
@@ -39718,8 +39747,8 @@ var DCWalletContent = function DCWalletContent(_ref) {
39718
39747
  onBuyDC = _ref.onBuyDC,
39719
39748
  onSearchCharacter = _ref.onSearchCharacter,
39720
39749
  searchResults = _ref.searchResults;
39721
- var usdValue = (dcBalance / DC_TO_USD).toFixed(2);
39722
- 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();
39723
39752
  var tabs = [{
39724
39753
  id: 'transfer',
39725
39754
  title: 'Transfer',
@@ -39751,7 +39780,7 @@ var DCWalletContent = function DCWalletContent(_ref) {
39751
39780
  role: "button",
39752
39781
  tabIndex: 0,
39753
39782
  title: "Buy Definya Coins"
39754
- }, 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, {
39755
39784
  tabs: tabs,
39756
39785
  onTabChange: function onTabChange(tabId) {
39757
39786
  if (tabId === 'history') onRequestHistory(1);
@@ -39803,33 +39832,9 @@ var BuyButtonLabel = /*#__PURE__*/styled.span.withConfig({
39803
39832
  displayName: "DCWalletContent__BuyButtonLabel",
39804
39833
  componentId: "sc-1hrivmk-9"
39805
39834
  })(["font-family:'Press Start 2P',cursive !important;font-size:8px !important;color:#000 !important;white-space:nowrap !important;text-shadow:none !important;"]);
39806
- var RateStrip = /*#__PURE__*/styled.div.withConfig({
39807
- displayName: "DCWalletContent__RateStrip",
39808
- componentId: "sc-1hrivmk-10"
39809
- })(["display:flex;align-items:center;border-top:1px solid rgba(245,158,11,0.1);padding-top:8px;"]);
39810
- var RateItem = /*#__PURE__*/styled.div.withConfig({
39811
- displayName: "DCWalletContent__RateItem",
39812
- componentId: "sc-1hrivmk-11"
39813
- })(["display:flex;align-items:center;gap:5px;flex:1;justify-content:center;"]);
39814
- var RateDivider = /*#__PURE__*/styled.div.withConfig({
39815
- displayName: "DCWalletContent__RateDivider",
39816
- componentId: "sc-1hrivmk-12"
39817
- })(["width:1px;height:12px;background:rgba(245,158,11,0.2);"]);
39818
- var RateNum = /*#__PURE__*/styled.span.withConfig({
39819
- displayName: "DCWalletContent__RateNum",
39820
- componentId: "sc-1hrivmk-13"
39821
- })(["font-family:'Press Start 2P',cursive !important;font-size:6px !important;color:rgba(255,255,255,0.5) !important;"]);
39822
- var RateSep = /*#__PURE__*/styled.span.withConfig({
39823
- displayName: "DCWalletContent__RateSep",
39824
- componentId: "sc-1hrivmk-14"
39825
- })(["font-family:'Press Start 2P',cursive !important;font-size:6px !important;color:rgba(255,255,255,0.2) !important;"]);
39826
- var RateVal = /*#__PURE__*/styled.span.withConfig({
39827
- displayName: "DCWalletContent__RateVal",
39828
- componentId: "sc-1hrivmk-15"
39829
- })(["font-family:'Press Start 2P',cursive !important;font-size:6px !important;color:rgba(254,240,138,0.6) !important;"]);
39830
39835
  var TabsWrapper = /*#__PURE__*/styled.div.withConfig({
39831
39836
  displayName: "DCWalletContent__TabsWrapper",
39832
- componentId: "sc-1hrivmk-16"
39837
+ componentId: "sc-1hrivmk-10"
39833
39838
  })(["padding:0 2.5%;"]);
39834
39839
 
39835
39840
  var _excluded$3 = ["onClose"];
@@ -47174,6 +47179,8 @@ var CharacterMarketplacePanel = function CharacterMarketplacePanel(_ref) {
47174
47179
  onCharacterBuy = _ref.onCharacterBuy,
47175
47180
  atlasJSON = _ref.atlasJSON,
47176
47181
  atlasIMG = _ref.atlasIMG,
47182
+ characterAtlasJSON = _ref.characterAtlasJSON,
47183
+ characterAtlasIMG = _ref.characterAtlasIMG,
47177
47184
  enableHotkeys = _ref.enableHotkeys,
47178
47185
  disableHotkeys = _ref.disableHotkeys,
47179
47186
  _ref$nameFilter = _ref.nameFilter,
@@ -47219,13 +47226,10 @@ var CharacterMarketplacePanel = function CharacterMarketplacePanel(_ref) {
47219
47226
  enableHotkeys == null ? void 0 : enableHotkeys();
47220
47227
  }
47221
47228
  };
47222
- var getListingPrice = function getListingPrice(listing) {
47223
- return listing.price.toLocaleString();
47224
- };
47225
47229
  var renderCharacterSprite = function renderCharacterSprite(snapshot) {
47226
47230
  return React.createElement(SpriteFromAtlas, {
47227
- atlasIMG: atlasIMG,
47228
- atlasJSON: atlasJSON,
47231
+ atlasIMG: characterAtlasIMG,
47232
+ atlasJSON: characterAtlasJSON,
47229
47233
  spriteKey: snapshot.textureKey + "/down/standing/0.png",
47230
47234
  imgScale: 3,
47231
47235
  height: 64,
@@ -47255,32 +47259,31 @@ var CharacterMarketplacePanel = function CharacterMarketplacePanel(_ref) {
47255
47259
  width: 32,
47256
47260
  height: 32
47257
47261
  }), React.createElement(EmptyText, null, "No character listings found.")) : React.createElement(ListingsGrid, null, filteredListings.map(function (listing) {
47262
+ var _listing$characterSna2, _listing$characterSna3;
47258
47263
  return React.createElement(CharacterListingCard, {
47259
47264
  key: listing._id,
47260
47265
  onClick: function onClick() {
47261
47266
  return handleBuyClick(listing._id);
47262
47267
  },
47263
47268
  "$isBeingBought": listing.isBeingBought
47264
- }, React.createElement(CharacterSprite, null, renderCharacterSprite(listing.characterSnapshot)), React.createElement(CharacterInfo, null, React.createElement(CharacterName$1, null, listing.characterSnapshot.name || 'Unknown'), React.createElement(CharacterMeta, null, "Level ", listing.characterSnapshot.level, " \xB7 ", listing.characterSnapshot["class"]), React.createElement(SellerInfo, null, "by ", listing.listedByCharacterName), React.createElement(ListingPrice, null, React.createElement(GoldIcon$4, null, React.createElement(SpriteFromAtlas, {
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, {
47265
47277
  atlasIMG: atlasIMG,
47266
47278
  atlasJSON: atlasJSON,
47267
- spriteKey: "others/gold-coin-qty-5.png",
47279
+ spriteKey: "others/definya-coin.png",
47268
47280
  imgScale: 1
47269
- })), getListingPrice(listing), " Gold")), listing.isBeingBought && React.createElement(BeingBoughtBadge, null, "Pending"));
47270
- }))), totalCount > itemsPerPage && React.createElement(PagerFooter$1, null, React.createElement(Pagination$1, null, Array.from({
47271
- length: Math.ceil(totalCount / itemsPerPage)
47272
- }, function (_, i) {
47273
- return i + 1;
47274
- }).map(function (page) {
47275
- return React.createElement(PageButton, {
47276
- key: page,
47277
- "$active": currentPage === page,
47278
- type: "button",
47279
- onClick: function onClick() {
47280
- return onPageChange(page);
47281
- }
47282
- }, page);
47283
- }))));
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
+ })));
47284
47287
  };
47285
47288
  var ToolbarRow$1 = /*#__PURE__*/styled.div.withConfig({
47286
47289
  displayName: "CharacterMarketplacePanel__ToolbarRow",
@@ -47320,83 +47323,97 @@ var CharacterListingCard = /*#__PURE__*/styled.button.withConfig({
47320
47323
  var CharacterSprite = /*#__PURE__*/styled.div.withConfig({
47321
47324
  displayName: "CharacterMarketplacePanel__CharacterSprite",
47322
47325
  componentId: "sc-1aiauep-5"
47323
- })(["display:flex;align-items:center;justify-content:center;image-rendering:pixelated;"]);
47326
+ })(["display:flex;align-items:center;justify-content:center;image-rendering:pixelated;width:64px;height:64px;flex-shrink:0;"]);
47324
47327
  var CharacterInfo = /*#__PURE__*/styled.div.withConfig({
47325
47328
  displayName: "CharacterMarketplacePanel__CharacterInfo",
47326
47329
  componentId: "sc-1aiauep-6"
47327
- })(["display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;"]);
47330
+ })(["display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;width:100%;"]);
47328
47331
  var CharacterName$1 = /*#__PURE__*/styled.span.withConfig({
47329
47332
  displayName: "CharacterMarketplacePanel__CharacterName",
47330
47333
  componentId: "sc-1aiauep-7"
47331
- })(["font-family:'Press Start 2P',cursive;font-size:0.55rem;color:#f3f4f6;text-transform:uppercase;letter-spacing:0.5px;"]);
47334
+ })(["font-family:'Press Start 2P',cursive !important;font-size:0.55rem !important;color:#f3f4f6 !important;text-transform:uppercase;letter-spacing:0.5px;"]);
47332
47335
  var CharacterMeta = /*#__PURE__*/styled.span.withConfig({
47333
47336
  displayName: "CharacterMarketplacePanel__CharacterMeta",
47334
47337
  componentId: "sc-1aiauep-8"
47335
- })(["font-size:0.45rem;color:#888;text-transform:uppercase;letter-spacing:0.5px;"]);
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
+ });
47336
47376
  var SellerInfo = /*#__PURE__*/styled.span.withConfig({
47337
47377
  displayName: "CharacterMarketplacePanel__SellerInfo",
47338
- componentId: "sc-1aiauep-9"
47339
- })(["font-size:0.4rem;color:#666;text-transform:uppercase;letter-spacing:0.5px;"]);
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;"]);
47340
47380
  var ListingPrice = /*#__PURE__*/styled.div.withConfig({
47341
47381
  displayName: "CharacterMarketplacePanel__ListingPrice",
47342
- componentId: "sc-1aiauep-10"
47343
- })(["display:flex;align-items:center;gap:6px;font-family:'Press Start 2P',cursive;font-size:0.5rem;color:#fef08a;"]);
47344
- var GoldIcon$4 = /*#__PURE__*/styled.span.withConfig({
47345
- displayName: "CharacterMarketplacePanel__GoldIcon",
47346
- componentId: "sc-1aiauep-11"
47347
- })(["display:flex;align-items:center;justify-content:center;position:relative;top:-0.4rem;left:-0.3rem;"]);
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;"]);
47348
47388
  var BeingBoughtBadge = /*#__PURE__*/styled.span.withConfig({
47349
47389
  displayName: "CharacterMarketplacePanel__BeingBoughtBadge",
47350
- componentId: "sc-1aiauep-12"
47351
- })(["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-size:0.35rem;color:#ef4444;text-transform:uppercase;letter-spacing:0.5px;"]);
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;"]);
47352
47392
  var PagerFooter$1 = /*#__PURE__*/styled.div.withConfig({
47353
47393
  displayName: "CharacterMarketplacePanel__PagerFooter",
47354
- componentId: "sc-1aiauep-13"
47394
+ componentId: "sc-1aiauep-17"
47355
47395
  })(["display:flex;justify-content:center;align-items:center;padding:8px 0 4px;min-height:36px;width:95%;margin:0 auto;"]);
47356
- var Pagination$1 = /*#__PURE__*/styled.div.withConfig({
47357
- displayName: "CharacterMarketplacePanel__Pagination",
47358
- componentId: "sc-1aiauep-14"
47359
- })(["display:flex;gap:6px;"]);
47360
- var PageButton = /*#__PURE__*/styled.button.withConfig({
47361
- displayName: "CharacterMarketplacePanel__PageButton",
47362
- componentId: "sc-1aiauep-15"
47363
- })(["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 (_ref7) {
47364
- var $active = _ref7.$active;
47365
- return $active ? '#f59e0b' : 'rgba(255,255,255,0.12)';
47366
- }, function (_ref8) {
47367
- var $active = _ref8.$active;
47368
- return $active ? 'rgba(245,158,11,0.15)' : 'rgba(0,0,0,0.3)';
47369
- }, function (_ref9) {
47370
- var $active = _ref9.$active;
47371
- return $active ? '#f59e0b' : '#777';
47372
- }, function (_ref10) {
47373
- var $active = _ref10.$active;
47374
- return $active ? '#f59e0b' : 'rgba(255,255,255,0.3)';
47375
- }, function (_ref11) {
47376
- var $active = _ref11.$active;
47377
- return $active ? '#f59e0b' : '#bbb';
47378
- });
47379
47396
  var LoadingState$1 = /*#__PURE__*/styled.div.withConfig({
47380
47397
  displayName: "CharacterMarketplacePanel__LoadingState",
47381
- componentId: "sc-1aiauep-16"
47398
+ componentId: "sc-1aiauep-18"
47382
47399
  })(["display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;height:100%;min-height:160px;"]);
47383
47400
  var spin$1 = /*#__PURE__*/keyframes(["to{transform:rotate(360deg);}"]);
47384
47401
  var Spinner$3 = /*#__PURE__*/styled.div.withConfig({
47385
47402
  displayName: "CharacterMarketplacePanel__Spinner",
47386
- componentId: "sc-1aiauep-17"
47403
+ componentId: "sc-1aiauep-19"
47387
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);
47388
47405
  var LoadingText$2 = /*#__PURE__*/styled.span.withConfig({
47389
47406
  displayName: "CharacterMarketplacePanel__LoadingText",
47390
- componentId: "sc-1aiauep-18"
47391
- })(["font-size:0.48rem;color:#8a8a8a;text-transform:uppercase;letter-spacing:1px;"]);
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;"]);
47392
47409
  var EmptyState$5 = /*#__PURE__*/styled.div.withConfig({
47393
47410
  displayName: "CharacterMarketplacePanel__EmptyState",
47394
- componentId: "sc-1aiauep-19"
47411
+ componentId: "sc-1aiauep-21"
47395
47412
  })(["display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;height:100%;min-height:200px;"]);
47396
47413
  var EmptyText = /*#__PURE__*/styled.span.withConfig({
47397
47414
  displayName: "CharacterMarketplacePanel__EmptyText",
47398
- componentId: "sc-1aiauep-20"
47399
- })(["font-size:0.48rem;color:#71717a;text-transform:uppercase;letter-spacing:1px;"]);
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;"]);
47400
47417
 
47401
47418
  var MyCharacterListingsPanel = function MyCharacterListingsPanel(_ref) {
47402
47419
  var myCharacterListings = _ref.myCharacterListings,
@@ -47407,6 +47424,8 @@ var MyCharacterListingsPanel = function MyCharacterListingsPanel(_ref) {
47407
47424
  onCharacterDelist = _ref.onCharacterDelist,
47408
47425
  atlasJSON = _ref.atlasJSON,
47409
47426
  atlasIMG = _ref.atlasIMG,
47427
+ characterAtlasJSON = _ref.characterAtlasJSON,
47428
+ characterAtlasIMG = _ref.characterAtlasIMG,
47410
47429
  enableHotkeys = _ref.enableHotkeys;
47411
47430
  var _useState = useState(null),
47412
47431
  delistingListingId = _useState[0],
@@ -47426,9 +47445,6 @@ var MyCharacterListingsPanel = function MyCharacterListingsPanel(_ref) {
47426
47445
  enableHotkeys == null ? void 0 : enableHotkeys();
47427
47446
  }
47428
47447
  };
47429
- var getListingPrice = function getListingPrice(listing) {
47430
- return listing.price.toLocaleString();
47431
- };
47432
47448
  var getFormattedDate = function getFormattedDate(date) {
47433
47449
  return new Date(date).toLocaleDateString();
47434
47450
  };
@@ -47449,18 +47465,18 @@ var MyCharacterListingsPanel = function MyCharacterListingsPanel(_ref) {
47449
47465
  return React.createElement(CharacterListingCard$1, {
47450
47466
  key: listing._id
47451
47467
  }, React.createElement(CharacterSprite$1, null, React.createElement(SpriteFromAtlas, {
47452
- atlasIMG: atlasIMG,
47453
- atlasJSON: atlasJSON,
47468
+ atlasIMG: characterAtlasIMG,
47469
+ atlasJSON: characterAtlasJSON,
47454
47470
  spriteKey: listing.characterSnapshot.textureKey + "/down/standing/0.png",
47455
47471
  imgScale: 3,
47456
47472
  height: 64,
47457
47473
  width: 64
47458
- })), 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(GoldIcon$5, null, React.createElement(SpriteFromAtlas, {
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, {
47459
47475
  atlasIMG: atlasIMG,
47460
47476
  atlasJSON: atlasJSON,
47461
- spriteKey: "others/gold-coin-qty-5.png",
47477
+ spriteKey: "others/definya-coin.png",
47462
47478
  imgScale: 1
47463
- })), getListingPrice(listing), " Gold"), React.createElement(ListingMeta, null, "Listed ", getFormattedDate(listing.createdAt)), listing.isBeingBought && React.createElement(ListingStatus, {
47479
+ })), formatDCAmount(listing.price), " DC"), React.createElement(ListingMeta, null, "Listed ", getFormattedDate(listing.createdAt)), listing.isBeingBought && React.createElement(ListingStatus, {
47464
47480
  "$status": "pending"
47465
47481
  }, "Sale Pending")), React.createElement(ActionButton, {
47466
47482
  icon: React.createElement(Delete, {
@@ -47474,12 +47490,12 @@ var MyCharacterListingsPanel = function MyCharacterListingsPanel(_ref) {
47474
47490
  iconColor: "#ef4444",
47475
47491
  disabled: listing.isBeingBought
47476
47492
  }));
47477
- }))), totalCount > itemsPerPage && React.createElement(PagerFooter$2, null, React.createElement(Pagination$2, null, Array.from({
47493
+ }))), totalCount > itemsPerPage && React.createElement(PagerFooter$2, null, React.createElement(Pagination$1, null, Array.from({
47478
47494
  length: Math.ceil(totalCount / itemsPerPage)
47479
47495
  }, function (_, i) {
47480
47496
  return i + 1;
47481
47497
  }).map(function (page) {
47482
- return React.createElement(PageButton$1, {
47498
+ return React.createElement(PageButton, {
47483
47499
  key: page,
47484
47500
  "$active": currentPage === page,
47485
47501
  type: "button",
@@ -47521,10 +47537,10 @@ var ListingPrice$1 = /*#__PURE__*/styled.div.withConfig({
47521
47537
  displayName: "MyCharacterListingsPanel__ListingPrice",
47522
47538
  componentId: "sc-su21a6-7"
47523
47539
  })(["display:flex;align-items:center;gap:6px;font-family:'Press Start 2P',cursive;font-size:0.5rem;color:#fef08a;"]);
47524
- var GoldIcon$5 = /*#__PURE__*/styled.span.withConfig({
47525
- displayName: "MyCharacterListingsPanel__GoldIcon",
47540
+ var DCCoinWrapper$3 = /*#__PURE__*/styled.span.withConfig({
47541
+ displayName: "MyCharacterListingsPanel__DCCoinWrapper",
47526
47542
  componentId: "sc-su21a6-8"
47527
- })(["display:flex;align-items:center;justify-content:center;position:relative;top:-0.4rem;left:-0.3rem;"]);
47543
+ })(["display:flex;align-items:center;justify-content:center;flex-shrink:0;"]);
47528
47544
  var ListingMeta = /*#__PURE__*/styled.span.withConfig({
47529
47545
  displayName: "MyCharacterListingsPanel__ListingMeta",
47530
47546
  componentId: "sc-su21a6-9"
@@ -47550,11 +47566,11 @@ var PagerFooter$2 = /*#__PURE__*/styled.div.withConfig({
47550
47566
  displayName: "MyCharacterListingsPanel__PagerFooter",
47551
47567
  componentId: "sc-su21a6-12"
47552
47568
  })(["display:flex;justify-content:center;align-items:center;padding:8px 0 4px;min-height:36px;width:95%;margin:0 auto;"]);
47553
- var Pagination$2 = /*#__PURE__*/styled.div.withConfig({
47569
+ var Pagination$1 = /*#__PURE__*/styled.div.withConfig({
47554
47570
  displayName: "MyCharacterListingsPanel__Pagination",
47555
47571
  componentId: "sc-su21a6-13"
47556
47572
  })(["display:flex;gap:6px;"]);
47557
- var PageButton$1 = /*#__PURE__*/styled.button.withConfig({
47573
+ var PageButton = /*#__PURE__*/styled.button.withConfig({
47558
47574
  displayName: "MyCharacterListingsPanel__PageButton",
47559
47575
  componentId: "sc-su21a6-14"
47560
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) {
@@ -47586,207 +47602,286 @@ var EmptySubtext = /*#__PURE__*/styled.span.withConfig({
47586
47602
  componentId: "sc-su21a6-17"
47587
47603
  })(["font-size:0.45rem;color:#52525b;text-transform:none;letter-spacing:0.5px;text-align:center;max-width:280px;"]);
47588
47604
 
47589
- var CharacterListingForm = function CharacterListingForm(_ref) {
47590
- var accountCharacters = _ref.accountCharacters,
47591
- selectedCharacterToList = _ref.selectedCharacterToList,
47592
- onCharacterSelectToList = _ref.onCharacterSelectToList,
47593
- onCharacterList = _ref.onCharacterList,
47605
+ var CharacterListingModal = function CharacterListingModal(_ref) {
47606
+ var isOpen = _ref.isOpen,
47607
+ onClose = _ref.onClose,
47608
+ accountCharacters = _ref.accountCharacters,
47594
47609
  atlasJSON = _ref.atlasJSON,
47595
47610
  atlasIMG = _ref.atlasIMG,
47611
+ characterAtlasJSON = _ref.characterAtlasJSON,
47612
+ characterAtlasIMG = _ref.characterAtlasIMG,
47613
+ onCharacterList = _ref.onCharacterList,
47596
47614
  enableHotkeys = _ref.enableHotkeys,
47597
47615
  disableHotkeys = _ref.disableHotkeys;
47598
- var _useState = useState(''),
47599
- price = _useState[0],
47600
- setPrice = _useState[1];
47601
- var _useState2 = useState(false),
47602
- isCreatingOffer = _useState2[0],
47603
- setIsCreatingOffer = _useState2[1];
47604
- var eligibleCharacters = accountCharacters.filter(function (_char) {
47605
- return !_char.isListedForSale && !_char.tradedAt;
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;
47606
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
+ };
47607
47636
  var handleListClick = function handleListClick() {
47608
- if (selectedCharacterToList && price && Number(price) > 0) {
47609
- setIsCreatingOffer(true);
47610
- }
47637
+ if (canList) setIsConfirming(true);
47611
47638
  };
47612
- var handleListConfirm = function handleListConfirm() {
47613
- if (selectedCharacterToList && price && Number(price) > 0) {
47614
- onCharacterList(selectedCharacterToList._id, Number(price));
47615
- setPrice('');
47616
- onCharacterSelectToList({}); // Clear selection
47617
- setIsCreatingOffer(false);
47618
- enableHotkeys == null ? void 0 : enableHotkeys();
47619
- }
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();
47620
47647
  };
47621
- var getCharacterLevel = function getCharacterLevel(character) {
47622
- var _character$skills;
47623
- return ((_character$skills = character.skills) == null ? void 0 : _character$skills.level) || 1;
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;
47624
47654
  };
47625
- return React.createElement(React.Fragment, null, isCreatingOffer && React.createElement(ConfirmModal, {
47655
+ return React.createElement(ModalPortal, null, isConfirming && React.createElement(ConfirmModal, {
47656
+ onConfirm: handleConfirm,
47626
47657
  onClose: function onClose() {
47627
- setIsCreatingOffer(false);
47658
+ setIsConfirming(false);
47628
47659
  enableHotkeys == null ? void 0 : enableHotkeys();
47629
47660
  },
47630
- onConfirm: handleListConfirm,
47631
47661
  message: "Are you sure you want to list this character for sale?"
47632
- }), React.createElement(FormContainer, null, React.createElement(SectionHeader$1, null, React.createElement(SectionLabel$3, null, "List Character for Sale"), React.createElement(SectionDescription, null, "Select an offline character to list on the marketplace.")), React.createElement(CharacterSelectionRow, null, React.createElement(CharacterSlotWrapper, null, selectedCharacterToList ? React.createElement(CharacterSpriteLarge, null, React.createElement(SpriteFromAtlas, {
47633
- atlasIMG: atlasIMG,
47634
- atlasJSON: atlasJSON,
47635
- spriteKey: selectedCharacterToList.textureKey + "/down/standing/0.png",
47636
- imgScale: 3,
47637
- height: 64,
47638
- width: 64
47639
- })) : React.createElement(EmptyCharacterSlot, null, React.createElement(EmptySlotIcon, null, "?"))), React.createElement(CharacterDetails, null, selectedCharacterToList ? React.createElement(React.Fragment, null, React.createElement(CharacterName$3, null, selectedCharacterToList.name || 'Unknown'), React.createElement(CharacterMeta$2, null, "Level ", getCharacterLevel(selectedCharacterToList))) : React.createElement(EmptySelection, null, "Select a character"))), React.createElement(PriceInputWrapper$1, null, React.createElement(PriceLabel, null, "Set Price (Gold)"), React.createElement(PriceInputRow, null, React.createElement(Input, {
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, {
47640
47700
  onChange: function onChange(e) {
47641
47701
  return setPrice(e.target.value);
47642
47702
  },
47643
47703
  value: price,
47644
47704
  placeholder: "Amount...",
47645
47705
  type: "number",
47646
- disabled: !selectedCharacterToList,
47647
- onBlur: enableHotkeys,
47706
+ disabled: eligibleCharacters.length === 0,
47648
47707
  onFocus: disableHotkeys,
47708
+ onBlur: enableHotkeys,
47649
47709
  className: "price-input"
47650
- }), React.createElement(ListButton, {
47710
+ }), React.createElement(ListBtn, {
47651
47711
  icon: React.createElement(ShoppingBag, {
47652
47712
  width: 18,
47653
47713
  height: 18
47654
47714
  }),
47655
47715
  label: "List",
47656
- disabled: !selectedCharacterToList || !price || Number(price) <= 0,
47716
+ disabled: !canList,
47657
47717
  onClick: handleListClick
47658
- }))), eligibleCharacters.length > 0 && React.createElement(AvailableCharactersSection, null, React.createElement(AvailableCharactersLabel, null, "Available Characters"), React.createElement(AvailableCharactersList, null, eligibleCharacters.map(function (character) {
47659
- return React.createElement(AvailableCharacterItem, {
47660
- key: character._id,
47661
- "$selected": (selectedCharacterToList == null ? void 0 : selectedCharacterToList._id) === character._id,
47662
- onClick: function onClick() {
47663
- return onCharacterSelectToList(character);
47664
- },
47665
- type: "button"
47666
- }, React.createElement(MiniSprite, null, React.createElement(SpriteFromAtlas, {
47667
- atlasIMG: atlasIMG,
47668
- atlasJSON: atlasJSON,
47669
- spriteKey: character.textureKey + "/down/standing/0.png",
47670
- imgScale: 2,
47671
- height: 32,
47672
- width: 32
47673
- })), React.createElement(MiniCharacterInfo, null, React.createElement(MiniCharacterName, null, character.name), React.createElement(MiniCharacterMeta, null, "Lvl ", getCharacterLevel(character))));
47674
- }))), eligibleCharacters.length === 0 && React.createElement(EmptyState$7, null, React.createElement(EmptyText$2, null, "No eligible characters to list."))));
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)))));
47675
47724
  };
47676
- var FormContainer = /*#__PURE__*/styled.div.withConfig({
47677
- displayName: "CharacterListingForm__FormContainer",
47678
- componentId: "sc-fxv1tt-0"
47679
- })(["width:95%;margin:0 auto;background:rgba(0,0,0,0.15);border-radius:4px;border:1px solid rgba(255,255,255,0.05);padding:16px;display:flex;flex-direction:column;gap:16px;"]);
47680
- var SectionHeader$1 = /*#__PURE__*/styled.div.withConfig({
47681
- displayName: "CharacterListingForm__SectionHeader",
47682
- componentId: "sc-fxv1tt-1"
47683
- })(["display:flex;flex-direction:column;gap:4px;"]);
47684
- var SectionLabel$3 = /*#__PURE__*/styled.p.withConfig({
47685
- displayName: "CharacterListingForm__SectionLabel",
47686
- componentId: "sc-fxv1tt-2"
47687
- })(["margin:0;font-size:0.65rem;color:#aaa;text-transform:uppercase;letter-spacing:1px;"]);
47688
- var SectionDescription = /*#__PURE__*/styled.p.withConfig({
47689
- displayName: "CharacterListingForm__SectionDescription",
47690
- componentId: "sc-fxv1tt-3"
47691
- })(["margin:0;font-size:0.5rem;color:#666;line-height:1.4;"]);
47692
- var CharacterSelectionRow = /*#__PURE__*/styled.div.withConfig({
47693
- displayName: "CharacterListingForm__CharacterSelectionRow",
47694
- componentId: "sc-fxv1tt-4"
47695
- })(["display:flex;gap:12px;align-items:center;padding:12px;background:rgba(0,0,0,0.2);border-radius:4px;border:1px solid rgba(255,255,255,0.05);"]);
47696
- var CharacterSlotWrapper = /*#__PURE__*/styled.div.withConfig({
47697
- displayName: "CharacterListingForm__CharacterSlotWrapper",
47698
- componentId: "sc-fxv1tt-5"
47699
- })(["flex-shrink:0;"]);
47700
- var CharacterSpriteLarge = /*#__PURE__*/styled.div.withConfig({
47701
- displayName: "CharacterListingForm__CharacterSpriteLarge",
47702
- componentId: "sc-fxv1tt-6"
47703
- })(["display:flex;align-items:center;justify-content:center;image-rendering:pixelated;width:64px;height:64px;background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.08);border-radius:8px;"]);
47704
- var EmptyCharacterSlot = /*#__PURE__*/styled.div.withConfig({
47705
- displayName: "CharacterListingForm__EmptyCharacterSlot",
47706
- componentId: "sc-fxv1tt-7"
47707
- })(["width:64px;height:64px;background:rgba(0,0,0,0.3);border:2px dashed rgba(255,255,255,0.1);border-radius:8px;display:flex;align-items:center;justify-content:center;"]);
47708
- var EmptySlotIcon = /*#__PURE__*/styled.span.withConfig({
47709
- displayName: "CharacterListingForm__EmptySlotIcon",
47710
- componentId: "sc-fxv1tt-8"
47711
- })(["font-size:1.5rem;color:#666;font-family:'Press Start 2P',cursive;"]);
47712
- var CharacterDetails = /*#__PURE__*/styled.div.withConfig({
47713
- displayName: "CharacterListingForm__CharacterDetails",
47714
- componentId: "sc-fxv1tt-9"
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"
47715
47787
  })(["display:flex;flex-direction:column;gap:4px;flex:1;"]);
47716
47788
  var CharacterName$3 = /*#__PURE__*/styled.span.withConfig({
47717
- displayName: "CharacterListingForm__CharacterName",
47718
- componentId: "sc-fxv1tt-10"
47719
- })(["font-family:'Press Start 2P',cursive;font-size:0.6rem;color:#f3f4f6;"]);
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;"]);
47720
47792
  var CharacterMeta$2 = /*#__PURE__*/styled.span.withConfig({
47721
- displayName: "CharacterListingForm__CharacterMeta",
47722
- componentId: "sc-fxv1tt-11"
47723
- })(["font-size:0.5rem;color:#888;text-transform:uppercase;letter-spacing:0.5px;"]);
47724
- var EmptySelection = /*#__PURE__*/styled.span.withConfig({
47725
- displayName: "CharacterListingForm__EmptySelection",
47726
- componentId: "sc-fxv1tt-12"
47727
- })(["font-size:0.5rem;color:#666;font-style:italic;"]);
47728
- var PriceInputWrapper$1 = /*#__PURE__*/styled.div.withConfig({
47729
- displayName: "CharacterListingForm__PriceInputWrapper",
47730
- componentId: "sc-fxv1tt-13"
47731
- })(["display:flex;flex-direction:column;gap:8px;"]);
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;"]);
47732
47812
  var PriceLabel = /*#__PURE__*/styled.p.withConfig({
47733
- displayName: "CharacterListingForm__PriceLabel",
47734
- componentId: "sc-fxv1tt-14"
47735
- })(["margin:0;font-size:0.55rem;color:#888;text-transform:uppercase;letter-spacing:0.5px;"]);
47736
- var PriceInputRow = /*#__PURE__*/styled.div.withConfig({
47737
- displayName: "CharacterListingForm__PriceInputRow",
47738
- componentId: "sc-fxv1tt-15"
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"
47739
47819
  })(["display:flex;gap:8px;align-items:center;.price-input{flex:1;height:12px;}"]);
47740
- var ListButton = /*#__PURE__*/styled(CTAButton).withConfig({
47741
- displayName: "CharacterListingForm__ListButton",
47742
- componentId: "sc-fxv1tt-16"
47743
- })(["padding:10px 16px;height:32px;flex-shrink:0;span{font-size:0.6rem;}svg{font-size:1.1rem;}"]);
47744
- var AvailableCharactersSection = /*#__PURE__*/styled.div.withConfig({
47745
- displayName: "CharacterListingForm__AvailableCharactersSection",
47746
- componentId: "sc-fxv1tt-17"
47747
- })(["display:flex;flex-direction:column;gap:8px;"]);
47748
- var AvailableCharactersLabel = /*#__PURE__*/styled.p.withConfig({
47749
- displayName: "CharacterListingForm__AvailableCharactersLabel",
47750
- componentId: "sc-fxv1tt-18"
47751
- })(["margin:0;font-size:0.55rem;color:#888;text-transform:uppercase;letter-spacing:0.5px;"]);
47752
- var AvailableCharactersList = /*#__PURE__*/styled.div.withConfig({
47753
- displayName: "CharacterListingForm__AvailableCharactersList",
47754
- componentId: "sc-fxv1tt-19"
47755
- })(["display:flex;flex-direction:column;gap:6px;max-height:200px;overflow-y:auto;padding:4px;"]);
47756
- var AvailableCharacterItem = /*#__PURE__*/styled.button.withConfig({
47757
- displayName: "CharacterListingForm__AvailableCharacterItem",
47758
- componentId: "sc-fxv1tt-20"
47759
- })(["display:flex;align-items:center;gap:10px;padding:8px;background:", ";border:1px solid ", ";border-radius:6px;cursor:pointer;transition:border-color 0.15s,background 0.15s;&:hover{border-color:rgba(245,158,11,0.3);background:rgba(245,158,11,0.05);}"], function (_ref2) {
47760
- var $selected = _ref2.$selected;
47761
- return $selected ? 'rgba(245, 158, 11, 0.1)' : 'rgba(255, 255, 255, 0.02)';
47762
- }, function (_ref3) {
47763
- var $selected = _ref3.$selected;
47764
- return $selected ? 'rgba(245, 158, 11, 0.4)' : 'rgba(255, 255, 255, 0.08)';
47765
- });
47766
- var MiniSprite = /*#__PURE__*/styled.div.withConfig({
47767
- displayName: "CharacterListingForm__MiniSprite",
47768
- componentId: "sc-fxv1tt-21"
47769
- })(["display:flex;align-items:center;justify-content:center;image-rendering:pixelated;flex-shrink:0;"]);
47770
- var MiniCharacterInfo = /*#__PURE__*/styled.div.withConfig({
47771
- displayName: "CharacterListingForm__MiniCharacterInfo",
47772
- componentId: "sc-fxv1tt-22"
47773
- })(["display:flex;flex-direction:column;gap:2px;align-items:flex-start;"]);
47774
- var MiniCharacterName = /*#__PURE__*/styled.span.withConfig({
47775
- displayName: "CharacterListingForm__MiniCharacterName",
47776
- componentId: "sc-fxv1tt-23"
47777
- })(["font-family:'Press Start 2P',cursive;font-size:0.45rem;color:#f3f4f6;"]);
47778
- var MiniCharacterMeta = /*#__PURE__*/styled.span.withConfig({
47779
- displayName: "CharacterListingForm__MiniCharacterMeta",
47780
- componentId: "sc-fxv1tt-24"
47781
- })(["font-size:0.4rem;color:#888;text-transform:uppercase;letter-spacing:0.5px;"]);
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;}"]);
47782
47824
  var EmptyState$7 = /*#__PURE__*/styled.div.withConfig({
47783
- displayName: "CharacterListingForm__EmptyState",
47784
- componentId: "sc-fxv1tt-25"
47785
- })(["display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(255,255,255,0.02);border-radius:6px;"]);
47786
- var EmptyText$2 = /*#__PURE__*/styled.span.withConfig({
47787
- displayName: "CharacterListingForm__EmptyText",
47788
- componentId: "sc-fxv1tt-26"
47789
- })(["font-size:0.45rem;color:#666;text-transform:uppercase;letter-spacing:0.5px;"]);
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;"]);
47790
47885
 
47791
47886
  var Marketplace = function Marketplace(props) {
47792
47887
  var onClose = props.onClose,
@@ -47861,13 +47956,13 @@ var Marketplace = function Marketplace(props) {
47861
47956
  onCharacterList = props.onCharacterList,
47862
47957
  _props$accountCharact = props.accountCharacters,
47863
47958
  accountCharacters = _props$accountCharact === void 0 ? [] : _props$accountCharact,
47864
- onCharacterSelectToList = props.onCharacterSelectToList,
47865
- selectedCharacterToList = props.selectedCharacterToList,
47866
47959
  _props$characterListi5 = props.characterListingsLoading,
47867
47960
  characterListingsLoading = _props$characterListi5 === void 0 ? false : _props$characterListi5,
47868
47961
  _props$characterNameF = props.characterNameFilter,
47869
47962
  characterNameFilter = _props$characterNameF === void 0 ? '' : _props$characterNameF,
47870
- onCharacterNameFilterChange = props.onCharacterNameFilterChange;
47963
+ onCharacterNameFilterChange = props.onCharacterNameFilterChange,
47964
+ characterAtlasIMG = props.characterAtlasIMG,
47965
+ characterAtlasJSON = props.characterAtlasJSON;
47871
47966
  var _useState = useState('marketplace'),
47872
47967
  activeTab = _useState[0],
47873
47968
  setActiveTab = _useState[1];
@@ -47984,6 +48079,8 @@ var Marketplace = function Marketplace(props) {
47984
48079
  onCharacterBuy: onCharacterBuy != null ? onCharacterBuy : function () {},
47985
48080
  atlasJSON: props.atlasJSON,
47986
48081
  atlasIMG: props.atlasIMG,
48082
+ characterAtlasJSON: characterAtlasJSON != null ? characterAtlasJSON : props.atlasJSON,
48083
+ characterAtlasIMG: characterAtlasIMG != null ? characterAtlasIMG : props.atlasIMG,
47987
48084
  enableHotkeys: props.enableHotkeys,
47988
48085
  disableHotkeys: props.disableHotkeys,
47989
48086
  nameFilter: characterNameFilter,
@@ -47998,15 +48095,17 @@ var Marketplace = function Marketplace(props) {
47998
48095
  onCharacterDelist: onCharacterDelist != null ? onCharacterDelist : function () {},
47999
48096
  atlasJSON: props.atlasJSON,
48000
48097
  atlasIMG: props.atlasIMG,
48098
+ characterAtlasJSON: characterAtlasJSON != null ? characterAtlasJSON : props.atlasJSON,
48099
+ characterAtlasIMG: characterAtlasIMG != null ? characterAtlasIMG : props.atlasIMG,
48001
48100
  enableHotkeys: props.enableHotkeys,
48002
48101
  disableHotkeys: props.disableHotkeys
48003
48102
  }), characterSubTab === 'list' && React.createElement(CharacterListingForm, {
48004
48103
  accountCharacters: accountCharacters != null ? accountCharacters : [],
48005
- selectedCharacterToList: selectedCharacterToList != null ? selectedCharacterToList : null,
48006
- onCharacterSelectToList: onCharacterSelectToList != null ? onCharacterSelectToList : function () {},
48007
48104
  onCharacterList: onCharacterList != null ? onCharacterList : function () {},
48008
48105
  atlasJSON: props.atlasJSON,
48009
48106
  atlasIMG: props.atlasIMG,
48107
+ characterAtlasJSON: characterAtlasJSON != null ? characterAtlasJSON : props.atlasJSON,
48108
+ characterAtlasIMG: characterAtlasIMG != null ? characterAtlasIMG : props.atlasIMG,
48010
48109
  enableHotkeys: props.enableHotkeys,
48011
48110
  disableHotkeys: props.disableHotkeys
48012
48111
  })), activeTab === 'sell' && React.createElement(ManagmentPanel, Object.assign({}, props, {
@@ -48097,6 +48196,8 @@ var CharacterMarketplaceRows = function CharacterMarketplaceRows(_ref) {
48097
48196
  var listing = _ref.listing,
48098
48197
  atlasJSON = _ref.atlasJSON,
48099
48198
  atlasIMG = _ref.atlasIMG,
48199
+ characterAtlasJSON = _ref.characterAtlasJSON,
48200
+ characterAtlasIMG = _ref.characterAtlasIMG,
48100
48201
  onCharacterBuy = _ref.onCharacterBuy,
48101
48202
  onCharacterDelist = _ref.onCharacterDelist,
48102
48203
  disabled = _ref.disabled;
@@ -48106,8 +48207,8 @@ var CharacterMarketplaceRows = function CharacterMarketplaceRows(_ref) {
48106
48207
  return React.createElement(ItemRowWrapper, {
48107
48208
  "$isHighlighted": disabled || isBeingBought
48108
48209
  }, React.createElement(ItemSection$3, null, React.createElement(SpriteContainer$5, null, React.createElement(CharacterSprite$2, null, React.createElement(SpriteFromAtlas, {
48109
- atlasIMG: atlasIMG,
48110
- atlasJSON: atlasJSON,
48210
+ atlasIMG: characterAtlasIMG,
48211
+ atlasJSON: characterAtlasJSON,
48111
48212
  spriteKey: characterSnapshot.textureKey + "/down/standing/0.png",
48112
48213
  imgScale: 2.5,
48113
48214
  height: 56,
@@ -48116,12 +48217,12 @@ var CharacterMarketplaceRows = function CharacterMarketplaceRows(_ref) {
48116
48217
  maxLines: 1,
48117
48218
  maxWidth: "180px",
48118
48219
  fontSize: "10px"
48119
- }, characterSnapshot.name || 'Unknown Character')), React.createElement(CharacterMeta$3, null, "Level ", characterSnapshot.level), characterSnapshot["class"] && React.createElement(CharacterClass, null, characterSnapshot["class"]), React.createElement(PriceRow$1, null, React.createElement(GoldIcon$6, null, React.createElement(SpriteFromAtlas, {
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, {
48120
48221
  atlasIMG: atlasIMG,
48121
48222
  atlasJSON: atlasJSON,
48122
- spriteKey: "others/gold-coin-qty-5.png",
48223
+ spriteKey: "others/definya-coin.png",
48123
48224
  imgScale: 1
48124
- })), React.createElement(GoldPrice$2, null, price.toLocaleString())), isBeingBought && React.createElement(PendingBadge, null, "Sale Pending"))), React.createElement(ActionSection$2, null, React.createElement(CTAButton, {
48225
+ })), React.createElement(DCPrice$2, null, formatDCAmount(price))), isBeingBought && React.createElement(PendingBadge, null, "Sale Pending"))), React.createElement(ActionSection$2, null, React.createElement(CTAButton, {
48125
48226
  icon: onCharacterBuy ? React.createElement(Coins, {
48126
48227
  width: 18,
48127
48228
  height: 18
@@ -48164,16 +48265,16 @@ var CharacterClass = /*#__PURE__*/styled.span.withConfig({
48164
48265
  displayName: "CharacterMarketplaceRows__CharacterClass",
48165
48266
  componentId: "sc-1pxkdig-6"
48166
48267
  })(["font-size:0.4rem;color:#666;text-transform:uppercase;letter-spacing:0.5px;"]);
48167
- var PriceRow$1 = /*#__PURE__*/styled.div.withConfig({
48268
+ var PriceRow$2 = /*#__PURE__*/styled.div.withConfig({
48168
48269
  displayName: "CharacterMarketplaceRows__PriceRow",
48169
48270
  componentId: "sc-1pxkdig-7"
48170
48271
  })(["display:flex;align-items:center;gap:0.4rem;margin-top:0.2rem;"]);
48171
- var GoldIcon$6 = /*#__PURE__*/styled.span.withConfig({
48172
- displayName: "CharacterMarketplaceRows__GoldIcon",
48272
+ var DCCoinWrapper$5 = /*#__PURE__*/styled.span.withConfig({
48273
+ displayName: "CharacterMarketplaceRows__DCCoinWrapper",
48173
48274
  componentId: "sc-1pxkdig-8"
48174
48275
  })(["display:flex;align-items:center;justify-content:center;position:relative;top:-0.5rem;left:-0.4rem;"]);
48175
- var GoldPrice$2 = /*#__PURE__*/styled.span.withConfig({
48176
- displayName: "CharacterMarketplaceRows__GoldPrice",
48276
+ var DCPrice$2 = /*#__PURE__*/styled.span.withConfig({
48277
+ displayName: "CharacterMarketplaceRows__DCPrice",
48177
48278
  componentId: "sc-1pxkdig-9"
48178
48279
  })(["font-family:'Press Start 2P',cursive;font-size:0.55rem !important;color:#fef08a;line-height:1;"]);
48179
48280
  var ActionSection$2 = /*#__PURE__*/styled.div.withConfig({
@@ -48189,6 +48290,8 @@ var GroupedCharacterMarketplaceRow = function GroupedCharacterMarketplaceRow(_re
48189
48290
  otherListings = _ref2.otherListings,
48190
48291
  atlasJSON = _ref2.atlasJSON,
48191
48292
  atlasIMG = _ref2.atlasIMG,
48293
+ characterAtlasJSON = _ref2.characterAtlasJSON,
48294
+ characterAtlasIMG = _ref2.characterAtlasIMG,
48192
48295
  onBuy = _ref2.onBuy,
48193
48296
  currentCharacterId = _ref2.currentCharacterId;
48194
48297
  var makeRow = function makeRow(listing) {
@@ -48198,6 +48301,8 @@ var GroupedCharacterMarketplaceRow = function GroupedCharacterMarketplaceRow(_re
48198
48301
  listing: listing,
48199
48302
  atlasJSON: atlasJSON,
48200
48303
  atlasIMG: atlasIMG,
48304
+ characterAtlasJSON: characterAtlasJSON,
48305
+ characterAtlasIMG: characterAtlasIMG,
48201
48306
  onCharacterBuy: isOwnListing ? undefined : function () {
48202
48307
  return onBuy(listing._id);
48203
48308
  },
@@ -48383,11 +48488,11 @@ var PartyCreate = function PartyCreate(_ref) {
48383
48488
  width: "500px",
48384
48489
  height: "300px",
48385
48490
  cancelDrag: ".partyRows"
48386
- }, React.createElement(Wrapper$2, null, React.createElement("div", {
48491
+ }, React.createElement(Wrapper$3, null, React.createElement("div", {
48387
48492
  style: {
48388
48493
  width: '100%'
48389
48494
  }
48390
- }, React.createElement(Title$c, null, "Create Party"), React.createElement("hr", {
48495
+ }, React.createElement(Title$d, null, "Create Party"), React.createElement("hr", {
48391
48496
  className: "golden"
48392
48497
  }))), React.createElement("h1", null, "Type your party name"), React.createElement(Input, {
48393
48498
  placeholder: "Type party name",
@@ -48406,11 +48511,11 @@ var PartyCreate = function PartyCreate(_ref) {
48406
48511
  }
48407
48512
  }, "Cancel"))));
48408
48513
  };
48409
- var Wrapper$2 = /*#__PURE__*/styled.div.withConfig({
48514
+ var Wrapper$3 = /*#__PURE__*/styled.div.withConfig({
48410
48515
  displayName: "PartyCreate__Wrapper",
48411
48516
  componentId: "sc-13brop0-0"
48412
48517
  })(["display:flex;flex-direction:column;width:100%;"]);
48413
- var Title$c = /*#__PURE__*/styled.h1.withConfig({
48518
+ var Title$d = /*#__PURE__*/styled.h1.withConfig({
48414
48519
  displayName: "PartyCreate__Title",
48415
48520
  componentId: "sc-13brop0-1"
48416
48521
  })(["font-size:0.6rem;color:", " !important;"], uiColors.yellow);
@@ -48455,11 +48560,11 @@ var PartyDashboard = function PartyDashboard(_ref) {
48455
48560
  width: "800px",
48456
48561
  height: "400px",
48457
48562
  cancelDrag: ".partyRows"
48458
- }, React.createElement(Wrapper$3, null, React.createElement("div", {
48563
+ }, React.createElement(Wrapper$4, null, React.createElement("div", {
48459
48564
  style: {
48460
48565
  width: '100%'
48461
48566
  }
48462
- }, React.createElement(Title$d, null, "Party Dashboard"), React.createElement(Button, {
48567
+ }, React.createElement(Title$e, null, "Party Dashboard"), React.createElement(Button, {
48463
48568
  buttonType: ButtonTypes.RPGUIButton
48464
48569
  }, "Create"), React.createElement("hr", {
48465
48570
  className: "golden"
@@ -48478,7 +48583,7 @@ var PartyDashboard = function PartyDashboard(_ref) {
48478
48583
  });
48479
48584
  })));
48480
48585
  };
48481
- var Wrapper$3 = /*#__PURE__*/styled.div.withConfig({
48586
+ var Wrapper$4 = /*#__PURE__*/styled.div.withConfig({
48482
48587
  displayName: "PartyDashboard__Wrapper",
48483
48588
  componentId: "sc-16cm41r-0"
48484
48589
  })(["display:flex;flex-direction:column;width:100%;"]);
@@ -48486,7 +48591,7 @@ var RowsWrapper = /*#__PURE__*/styled.div.withConfig({
48486
48591
  displayName: "PartyDashboard__RowsWrapper",
48487
48592
  componentId: "sc-16cm41r-1"
48488
48593
  })(["overflow-y:scroll;-webkit-overflow-scrolling:touch;width:100%;height:200px;"]);
48489
- var Title$d = /*#__PURE__*/styled.h1.withConfig({
48594
+ var Title$e = /*#__PURE__*/styled.h1.withConfig({
48490
48595
  displayName: "PartyDashboard__Title",
48491
48596
  componentId: "sc-16cm41r-2"
48492
48597
  })(["font-size:0.6rem;color:", " !important;"], uiColors.yellow);
@@ -48519,11 +48624,11 @@ var PartyInvite = function PartyInvite(_ref) {
48519
48624
  width: "600px",
48520
48625
  height: "400px",
48521
48626
  cancelDrag: ".playersRows"
48522
- }, React.createElement(Wrapper$4, null, React.createElement("div", {
48627
+ }, React.createElement(Wrapper$5, null, React.createElement("div", {
48523
48628
  style: {
48524
48629
  width: '100%'
48525
48630
  }
48526
- }, React.createElement(Title$e, null, "Invite for Party"), React.createElement("hr", {
48631
+ }, React.createElement(Title$f, null, "Invite for Party"), React.createElement("hr", {
48527
48632
  className: "golden"
48528
48633
  }))), React.createElement(RowsWrapper$1, {
48529
48634
  className: "playersRows"
@@ -48538,11 +48643,11 @@ var PartyInvite = function PartyInvite(_ref) {
48538
48643
  });
48539
48644
  })));
48540
48645
  };
48541
- var Wrapper$4 = /*#__PURE__*/styled.div.withConfig({
48646
+ var Wrapper$5 = /*#__PURE__*/styled.div.withConfig({
48542
48647
  displayName: "PartyInvite__Wrapper",
48543
48648
  componentId: "sc-eu8ggt-0"
48544
48649
  })(["display:flex;flex-direction:column;width:100%;"]);
48545
- var Title$e = /*#__PURE__*/styled.h1.withConfig({
48650
+ var Title$f = /*#__PURE__*/styled.h1.withConfig({
48546
48651
  displayName: "PartyInvite__Title",
48547
48652
  componentId: "sc-eu8ggt-1"
48548
48653
  })(["font-size:0.6rem;color:", " !important;"], uiColors.yellow);
@@ -48984,7 +49089,7 @@ var QuestInfo = function QuestInfo(_ref) {
48984
49089
  onPointerDown: onRightClick
48985
49090
  }), React.createElement(QuestContainer, null, React.createElement(TitleContainer$1, {
48986
49091
  className: "drag-handler"
48987
- }, React.createElement(Title$f, null, React.createElement(Thumbnail, {
49092
+ }, React.createElement(Title$g, null, React.createElement(Thumbnail, {
48988
49093
  src: quests[currentIndex].thumbnail || img$8
48989
49094
  }), quests[currentIndex].title), React.createElement(QuestSplitDiv, null, React.createElement("hr", {
48990
49095
  className: "golden"
@@ -49003,7 +49108,7 @@ var QuestInfo = function QuestInfo(_ref) {
49003
49108
  }, button.title);
49004
49109
  })))) : React.createElement(QuestsContainer, null, React.createElement(QuestContainer, null, React.createElement(TitleContainer$1, {
49005
49110
  className: "drag-handler"
49006
- }, React.createElement(Title$f, null, React.createElement(Thumbnail, {
49111
+ }, React.createElement(Title$g, null, React.createElement(Thumbnail, {
49007
49112
  src: quests[0].thumbnail || img$8
49008
49113
  }), quests[0].title), React.createElement(QuestSplitDiv, null, React.createElement("hr", {
49009
49114
  className: "golden"
@@ -49050,7 +49155,7 @@ var TitleContainer$1 = /*#__PURE__*/styled.div.withConfig({
49050
49155
  displayName: "QuestInfo__TitleContainer",
49051
49156
  componentId: "sc-1wccpiy-6"
49052
49157
  })(["width:100%;display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:center;margin-top:1rem;"]);
49053
- var Title$f = /*#__PURE__*/styled.h1.withConfig({
49158
+ var Title$g = /*#__PURE__*/styled.h1.withConfig({
49054
49159
  displayName: "QuestInfo__Title",
49055
49160
  componentId: "sc-1wccpiy-7"
49056
49161
  })(["color:white;z-index:22;font-size:", " !important;color:", " !important;"], uiFonts.size.medium, uiColors.yellow);
@@ -49167,6 +49272,76 @@ var InputRadio = function InputRadio(_ref) {
49167
49272
  }));
49168
49273
  };
49169
49274
 
49275
+ /**
49276
+ * A selectable row with an amber radio circle indicator.
49277
+ * Used for single-select option lists throughout the Marketplace UI.
49278
+ * Export `RadioCircle` separately so consumers can compose custom layouts.
49279
+ */
49280
+ var RadioOption$1 = function RadioOption(_ref) {
49281
+ var selected = _ref.selected,
49282
+ _ref$disabled = _ref.disabled,
49283
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled,
49284
+ onSelect = _ref.onSelect,
49285
+ children = _ref.children;
49286
+ var handleClick = function handleClick() {
49287
+ if (!disabled) {
49288
+ onSelect();
49289
+ }
49290
+ };
49291
+ return React.createElement(RadioOptionContainer, {
49292
+ "$selected": selected,
49293
+ "$disabled": disabled,
49294
+ onClick: handleClick,
49295
+ role: "radio",
49296
+ "aria-checked": selected,
49297
+ "aria-disabled": disabled
49298
+ }, React.createElement(RadioCircle$2, {
49299
+ "$selected": selected
49300
+ }), children);
49301
+ };
49302
+ var RadioOptionContainer = /*#__PURE__*/styled.div.withConfig({
49303
+ displayName: "RadioOption__RadioOptionContainer",
49304
+ componentId: "sc-rmm0nc-0"
49305
+ })(["display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid ", ";border-radius:6px;background:", ";cursor:", ";opacity:", ";transition:border-color 0.15s,background 0.15s;&:hover{border-color:", ";}"], function (_ref2) {
49306
+ var $selected = _ref2.$selected;
49307
+ return $selected ? '#f59e0b' : 'rgba(255,255,255,0.15)';
49308
+ }, function (_ref3) {
49309
+ var $selected = _ref3.$selected;
49310
+ return $selected ? 'rgba(245,158,11,0.1)' : 'transparent';
49311
+ }, function (_ref4) {
49312
+ var $disabled = _ref4.$disabled;
49313
+ return $disabled ? 'not-allowed' : 'pointer';
49314
+ }, function (_ref5) {
49315
+ var $disabled = _ref5.$disabled;
49316
+ return $disabled ? 0.5 : 1;
49317
+ }, function (_ref6) {
49318
+ var $disabled = _ref6.$disabled;
49319
+ return $disabled ? 'rgba(255,255,255,0.15)' : '#f59e0b';
49320
+ });
49321
+ var RadioCircle$2 = /*#__PURE__*/styled.div.withConfig({
49322
+ displayName: "RadioOption__RadioCircle",
49323
+ componentId: "sc-rmm0nc-1"
49324
+ })(["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) {
49325
+ var $selected = _ref7.$selected;
49326
+ return $selected ? '#f59e0b' : 'rgba(255,255,255,0.4)';
49327
+ }, function (_ref8) {
49328
+ var $selected = _ref8.$selected;
49329
+ return $selected ? 1 : 0;
49330
+ });
49331
+ /** Convenience wrapper for option label text with RPGUI font override. */
49332
+ var RadioOptionLabel = /*#__PURE__*/styled.span.withConfig({
49333
+ displayName: "RadioOption__RadioOptionLabel",
49334
+ componentId: "sc-rmm0nc-2"
49335
+ })(["font-family:'Press Start 2P',cursive !important;font-size:0.65rem !important;color:", " !important;"], function (_ref9) {
49336
+ var $disabled = _ref9.$disabled;
49337
+ return $disabled ? 'rgba(255,255,255,0.4)' : '#ffffff';
49338
+ });
49339
+ /** Convenience wrapper for option sub-text with RPGUI font override. */
49340
+ var RadioOptionSub = /*#__PURE__*/styled.span.withConfig({
49341
+ displayName: "RadioOption__RadioOptionSub",
49342
+ componentId: "sc-rmm0nc-3"
49343
+ })(["font-family:'Press Start 2P',cursive !important;font-size:0.55rem !important;color:rgba(255,255,255,0.5) !important;"]);
49344
+
49170
49345
  var Shortcuts = function Shortcuts(_ref) {
49171
49346
  var shortcuts = _ref.shortcuts,
49172
49347
  onShortcutCast = _ref.onShortcutCast,
@@ -49555,7 +49730,7 @@ var SkillsContainer = function SkillsContainer(_ref) {
49555
49730
  cancelDrag: "#skillsDiv",
49556
49731
  scale: scale,
49557
49732
  width: "100%"
49558
- }, onCloseButton && React.createElement(CloseButton$d, {
49733
+ }, onCloseButton && React.createElement(CloseButton$e, {
49559
49734
  onPointerDown: onCloseButton
49560
49735
  }, "X"), React.createElement(SkillsContainerDiv, {
49561
49736
  id: "skillsDiv"
@@ -49590,7 +49765,7 @@ var SkillSplitDiv = /*#__PURE__*/styled.div.withConfig({
49590
49765
  displayName: "SkillsContainer__SkillSplitDiv",
49591
49766
  componentId: "sc-1g0c67q-2"
49592
49767
  })(["width:100%;font-size:11px;hr{margin:0;margin-bottom:1rem;padding:0px;}p{margin-bottom:0px;}"]);
49593
- var CloseButton$d = /*#__PURE__*/styled.div.withConfig({
49768
+ var CloseButton$e = /*#__PURE__*/styled.div.withConfig({
49594
49769
  displayName: "SkillsContainer__CloseButton",
49595
49770
  componentId: "sc-1g0c67q-3"
49596
49771
  })(["position:absolute;top:2px;right:2px;color:white;z-index:22;font-size:1.1rem;"]);
@@ -49726,7 +49901,7 @@ var SpellInfo$1 = function SpellInfo(_ref) {
49726
49901
  castingType = spell.castingType,
49727
49902
  cooldown = spell.cooldown,
49728
49903
  maxDistanceGrid = spell.maxDistanceGrid;
49729
- 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", {
49904
+ 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", {
49730
49905
  className: "label"
49731
49906
  }, "Casting Type:"), React.createElement("div", {
49732
49907
  className: "value"
@@ -49750,13 +49925,13 @@ var SpellInfo$1 = function SpellInfo(_ref) {
49750
49925
  className: "label"
49751
49926
  }, "Required Item:"), React.createElement("div", {
49752
49927
  className: "value"
49753
- }, requiredItem))), React.createElement(Description$4, null, description));
49928
+ }, requiredItem))), React.createElement(Description$5, null, description));
49754
49929
  };
49755
49930
  var Container$G = /*#__PURE__*/styled.div.withConfig({
49756
49931
  displayName: "SpellInfo__Container",
49757
49932
  componentId: "sc-4hbw3q-0"
49758
49933
  })(["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);
49759
- var Title$g = /*#__PURE__*/styled.div.withConfig({
49934
+ var Title$h = /*#__PURE__*/styled.div.withConfig({
49760
49935
  displayName: "SpellInfo__Title",
49761
49936
  componentId: "sc-4hbw3q-1"
49762
49937
  })(["font-size:", ";font-weight:bold;margin-bottom:0.5rem;display:flex;align-items:center;margin:0;"], uiFonts.size.medium);
@@ -49764,11 +49939,11 @@ var Type$1 = /*#__PURE__*/styled.div.withConfig({
49764
49939
  displayName: "SpellInfo__Type",
49765
49940
  componentId: "sc-4hbw3q-2"
49766
49941
  })(["font-size:", ";margin-top:0.2rem;color:", ";"], uiFonts.size.small, uiColors.lightGray);
49767
- var Description$4 = /*#__PURE__*/styled.div.withConfig({
49942
+ var Description$5 = /*#__PURE__*/styled.div.withConfig({
49768
49943
  displayName: "SpellInfo__Description",
49769
49944
  componentId: "sc-4hbw3q-3"
49770
49945
  })(["margin-top:1.5rem;font-size:", ";color:", ";font-style:italic;"], uiFonts.size.small, uiColors.lightGray);
49771
- var Header$b = /*#__PURE__*/styled.div.withConfig({
49946
+ var Header$c = /*#__PURE__*/styled.div.withConfig({
49772
49947
  displayName: "SpellInfo__Header",
49773
49948
  componentId: "sc-4hbw3q-4"
49774
49949
  })(["display:flex;align-items:center;justify-content:space-between;margin-bottom:0.5rem;"]);
@@ -49984,7 +50159,7 @@ var Spell = function Spell(_ref) {
49984
50159
  onPointerUp: onPointerUp == null ? void 0 : onPointerUp.bind(null, spellKey),
49985
50160
  isSettingShortcut: isSettingShortcut && !disabled,
49986
50161
  className: "spell"
49987
- }, 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", {
50162
+ }, 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", {
49988
50163
  className: "cooldown"
49989
50164
  }, activeCooldown.toFixed(activeCooldown > 10 ? 0 : 1)) : null, React.createElement(SpriteFromAtlas, {
49990
50165
  atlasIMG: atlasIMG,
@@ -49993,9 +50168,9 @@ var Spell = function Spell(_ref) {
49993
50168
  imgScale: IMAGE_SCALE,
49994
50169
  containerStyle: CONTAINER_STYLE,
49995
50170
  centered: true
49996
- })), React.createElement(Info, null, React.createElement(Title$h, null, React.createElement("span", null, name), React.createElement("span", {
50171
+ })), React.createElement(Info, null, React.createElement(Title$i, null, React.createElement("span", null, name), React.createElement("span", {
49997
50172
  className: "spell"
49998
- }, "(", 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", {
50173
+ }, "(", 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", {
49999
50174
  className: "mana"
50000
50175
  }, manaCost))));
50001
50176
  };
@@ -50014,11 +50189,11 @@ var Info = /*#__PURE__*/styled.span.withConfig({
50014
50189
  displayName: "Spell__Info",
50015
50190
  componentId: "sc-j96fa2-2"
50016
50191
  })(["width:0;flex:1;@media (orientation:portrait){display:none;}"]);
50017
- var Title$h = /*#__PURE__*/styled.p.withConfig({
50192
+ var Title$i = /*#__PURE__*/styled.p.withConfig({
50018
50193
  displayName: "Spell__Title",
50019
50194
  componentId: "sc-j96fa2-3"
50020
50195
  })(["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);
50021
- var Description$5 = /*#__PURE__*/styled.div.withConfig({
50196
+ var Description$6 = /*#__PURE__*/styled.div.withConfig({
50022
50197
  displayName: "Spell__Description",
50023
50198
  componentId: "sc-j96fa2-4"
50024
50199
  })(["font-size:", " !important;line-height:1.1 !important;"], uiFonts.size.small);
@@ -50030,7 +50205,7 @@ var Cost = /*#__PURE__*/styled.p.withConfig({
50030
50205
  displayName: "Spell__Cost",
50031
50206
  componentId: "sc-j96fa2-6"
50032
50207
  })(["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);
50033
- var Overlay$7 = /*#__PURE__*/styled.p.withConfig({
50208
+ var Overlay$8 = /*#__PURE__*/styled.p.withConfig({
50034
50209
  displayName: "Spell__Overlay",
50035
50210
  componentId: "sc-j96fa2-7"
50036
50211
  })(["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);
@@ -50079,7 +50254,7 @@ var Spellbook = function Spellbook(_ref) {
50079
50254
  height: "inherit",
50080
50255
  cancelDrag: "#spellbook-search, #shortcuts_list, .spell",
50081
50256
  scale: scale
50082
- }, React.createElement(Container$K, null, React.createElement(Title$i, null, "Learned Spells"), React.createElement(ShortcutsSetter, {
50257
+ }, React.createElement(Container$K, null, React.createElement(Title$j, null, "Learned Spells"), React.createElement(ShortcutsSetter, {
50083
50258
  setSettingShortcutIndex: setSettingShortcutIndex,
50084
50259
  settingShortcutIndex: settingShortcutIndex,
50085
50260
  shortcuts: shortcuts,
@@ -50112,7 +50287,7 @@ var Spellbook = function Spellbook(_ref) {
50112
50287
  }, spell)));
50113
50288
  }))));
50114
50289
  };
50115
- var Title$i = /*#__PURE__*/styled.h1.withConfig({
50290
+ var Title$j = /*#__PURE__*/styled.h1.withConfig({
50116
50291
  displayName: "Spellbook__Title",
50117
50292
  componentId: "sc-r02nfq-0"
50118
50293
  })(["font-size:", " !important;margin-bottom:0 !important;"], uiFonts.size.large);
@@ -70532,7 +70707,7 @@ var PurchaseSuccess = function PurchaseSuccess(_ref) {
70532
70707
  key: i,
70533
70708
  "$i": i
70534
70709
  });
70535
- })), 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) {
70710
+ })), 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) {
70536
70711
  var _item$metadata;
70537
70712
  var isCharSkin = item.metadataType === MetadataType.CharacterSkin;
70538
70713
  var spriteKey = isCharSkin && (_item$metadata = item.metadata) != null && _item$metadata.selectedSkinTextureKey ? item.metadata.selectedSkinTextureKey + "/down/standing/0.png" : item.texturePath;
@@ -70556,13 +70731,13 @@ var PurchaseSuccess = function PurchaseSuccess(_ref) {
70556
70731
  onPointerDown: onClose
70557
70732
  }, React.createElement(FaTimes, null), " Close Store")));
70558
70733
  };
70559
- var scaleIn$2 = /*#__PURE__*/keyframes(["from{transform:scale(0.85);opacity:0;}to{transform:scale(1);opacity:1;}"]);
70734
+ var scaleIn$3 = /*#__PURE__*/keyframes(["from{transform:scale(0.85);opacity:0;}to{transform:scale(1);opacity:1;}"]);
70560
70735
  var _float = /*#__PURE__*/keyframes(["0%{transform:translateY(0) rotate(0deg);opacity:1;}100%{transform:translateY(-60px) rotate(360deg);opacity:0;}"]);
70561
70736
  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);}"]);
70562
70737
  var Container$L = /*#__PURE__*/styled.div.withConfig({
70563
70738
  displayName: "PurchaseSuccess__Container",
70564
70739
  componentId: "sc-18z5q21-0"
70565
- })(["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);
70740
+ })(["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);
70566
70741
  var Sparkles = /*#__PURE__*/styled.div.withConfig({
70567
70742
  displayName: "PurchaseSuccess__Sparkles",
70568
70743
  componentId: "sc-18z5q21-1"
@@ -70579,7 +70754,7 @@ var Spark = /*#__PURE__*/styled.div.withConfig({
70579
70754
  }, function (p) {
70580
70755
  return p.$i * 0.2;
70581
70756
  });
70582
- var Header$c = /*#__PURE__*/styled.div.withConfig({
70757
+ var Header$d = /*#__PURE__*/styled.div.withConfig({
70583
70758
  displayName: "PurchaseSuccess__Header",
70584
70759
  componentId: "sc-18z5q21-3"
70585
70760
  })(["display:flex;flex-direction:column;align-items:center;gap:0.5rem;"]);
@@ -70591,7 +70766,7 @@ var TrophyIcon = /*#__PURE__*/styled.div.withConfig({
70591
70766
  displayName: "PurchaseSuccess__TrophyIcon",
70592
70767
  componentId: "sc-18z5q21-5"
70593
70768
  })(["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);
70594
- var Title$j = /*#__PURE__*/styled.h2.withConfig({
70769
+ var Title$k = /*#__PURE__*/styled.h2.withConfig({
70595
70770
  displayName: "PurchaseSuccess__Title",
70596
70771
  componentId: "sc-18z5q21-6"
70597
70772
  })(["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);"]);
@@ -70760,9 +70935,9 @@ var CartView = function CartView(_ref2) {
70760
70935
  onClose: onCloseStore != null ? onCloseStore : onClose
70761
70936
  });
70762
70937
  }
70763
- return React.createElement(Container$M, null, React.createElement(Header$d, null, React.createElement(Title$k, null, "Shopping Cart (", cartItems.reduce(function (s, ci) {
70938
+ return React.createElement(Container$M, null, React.createElement(Header$e, null, React.createElement(Title$l, null, "Shopping Cart (", cartItems.reduce(function (s, ci) {
70764
70939
  return s + ci.quantity;
70765
- }, 0), ")"), React.createElement(CloseButton$e, {
70940
+ }, 0), ")"), React.createElement(CloseButton$f, {
70766
70941
  onPointerDown: onClose
70767
70942
  }, React.createElement(FaTimes, null))), React.createElement(CartItems, null, cartItems.length === 0 ? React.createElement(EmptyCart, null, "Your cart is empty") : cartItems.map(function (cartItem) {
70768
70943
  var _cartItem$metadata, _cartItem$metadata2, _cartItem$item$region2, _cartItem$item$region3;
@@ -70808,15 +70983,15 @@ var Container$M = /*#__PURE__*/styled.div.withConfig({
70808
70983
  displayName: "CartView__Container",
70809
70984
  componentId: "sc-ydtyl1-0"
70810
70985
  })(["display:flex;flex-direction:column;width:100%;gap:1rem;padding:1rem;"]);
70811
- var Header$d = /*#__PURE__*/styled.div.withConfig({
70986
+ var Header$e = /*#__PURE__*/styled.div.withConfig({
70812
70987
  displayName: "CartView__Header",
70813
70988
  componentId: "sc-ydtyl1-1"
70814
70989
  })(["display:flex;justify-content:space-between;align-items:center;"]);
70815
- var Title$k = /*#__PURE__*/styled.h2.withConfig({
70990
+ var Title$l = /*#__PURE__*/styled.h2.withConfig({
70816
70991
  displayName: "CartView__Title",
70817
70992
  componentId: "sc-ydtyl1-2"
70818
70993
  })(["font-family:'Press Start 2P',cursive;font-size:1rem;color:#ffffff;margin:0;"]);
70819
- var CloseButton$e = /*#__PURE__*/styled.div.withConfig({
70994
+ var CloseButton$f = /*#__PURE__*/styled.div.withConfig({
70820
70995
  displayName: "CartView__CloseButton",
70821
70996
  componentId: "sc-ydtyl1-3"
70822
70997
  })(["padding:0.5rem;min-width:unset;width:42px;height:42px;display:flex;font-size:1.5rem;align-items:center;color:white;justify-content:center;"]);
@@ -71044,7 +71219,7 @@ var FeaturedBanner = function FeaturedBanner(_ref) {
71044
71219
  background: badgeStyle.bg,
71045
71220
  borderColor: badgeStyle.border,
71046
71221
  color: badgeStyle.color
71047
- }, item.badge))), React.createElement(CardBody, null, React.createElement(CardName, null, item.name), item.description && React.createElement(CardDesc, null, item.description), React.createElement(PriceRow$2, null, item.originalPrice != null && React.createElement(OriginalPrice, null, "$", item.originalPrice.toFixed(2)), React.createElement(CurrentPrice, {
71222
+ }, 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, {
71048
71223
  "$onSale": item.originalPrice != null
71049
71224
  }, "$", item.price.toFixed(2))), item.endsAt && React.createElement(CountdownTimer, {
71050
71225
  endsAt: item.endsAt,
@@ -71102,7 +71277,7 @@ var CardDesc = /*#__PURE__*/styled.div.withConfig({
71102
71277
  displayName: "FeaturedBanner__CardDesc",
71103
71278
  componentId: "sc-egjgex-9"
71104
71279
  })(["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;"]);
71105
- var PriceRow$2 = /*#__PURE__*/styled.div.withConfig({
71280
+ var PriceRow$3 = /*#__PURE__*/styled.div.withConfig({
71106
71281
  displayName: "FeaturedBanner__PriceRow",
71107
71282
  componentId: "sc-egjgex-10"
71108
71283
  })(["display:flex;align-items:center;gap:0.4rem;"]);
@@ -71415,63 +71590,63 @@ var PaymentMethodModal = function PaymentMethodModal(_ref) {
71415
71590
  }
71416
71591
  }, [selected, dcDisabled, onPayWithDC, onPayWithCard, onPayWithPix]);
71417
71592
  var dcSubText = dcRequired !== undefined ? dcBalance.toLocaleString() + " DC available \xB7 " + dcRequired.toLocaleString() + " DC needed" : dcBalance.toLocaleString() + " DC available";
71418
- return React.createElement(ModalPortal, null, React.createElement(Overlay$8, {
71593
+ return React.createElement(ModalPortal, null, React.createElement(Overlay$9, {
71419
71594
  onPointerDown: onClose
71420
- }), React.createElement(ModalContainer$5, null, React.createElement(ModalContent$5, {
71595
+ }), React.createElement(ModalContainer$6, null, React.createElement(ModalContent$6, {
71421
71596
  onClick: stopPropagation,
71422
71597
  onTouchStart: stopPropagation,
71423
71598
  onPointerDown: stopPropagation
71424
- }, React.createElement(Header$e, null, React.createElement(Title$l, null, "How would you like to pay?"), React.createElement(CloseButton$f, {
71599
+ }, React.createElement(Header$f, null, React.createElement(Title$m, null, "How would you like to pay?"), React.createElement(CloseButton$g, {
71425
71600
  onPointerDown: onClose,
71426
71601
  "aria-label": "Close"
71427
- }, React.createElement(FaTimes, null))), React.createElement(Options$1, null, React.createElement(RadioOption$1, {
71602
+ }, React.createElement(FaTimes, null))), React.createElement(Options$1, null, React.createElement(RadioOption$2, {
71428
71603
  "$selected": selected === 'card',
71429
71604
  onPointerDown: function onPointerDown() {
71430
71605
  return setSelected('card');
71431
71606
  }
71432
- }, React.createElement(RadioCircle$1, {
71607
+ }, React.createElement(RadioCircle$3, {
71433
71608
  "$selected": selected === 'card'
71434
- }), 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, {
71609
+ }), React.createElement(OptionText$1, null, React.createElement(OptionLabel$2, null, "Credit Card"), React.createElement(OptionSub$1, null, "Stripe secure checkout"))), showPix && React.createElement(RadioOption$2, {
71435
71610
  "$selected": selected === 'pix',
71436
71611
  onPointerDown: function onPointerDown() {
71437
71612
  return setSelected('pix');
71438
71613
  }
71439
- }, React.createElement(RadioCircle$1, {
71614
+ }, React.createElement(RadioCircle$3, {
71440
71615
  "$selected": selected === 'pix'
71441
- }), React.createElement(OptionText$1, null, React.createElement(OptionLabel$2, null, "Pix"), React.createElement(OptionSub$1, null, "Instant payment via Pix"))), React.createElement(RadioOption$1, {
71616
+ }), React.createElement(OptionText$1, null, React.createElement(OptionLabel$2, null, "Pix"), React.createElement(OptionSub$1, null, "Instant payment via Pix"))), React.createElement(RadioOption$2, {
71442
71617
  "$selected": selected === 'dc',
71443
71618
  "$disabled": dcDisabled,
71444
71619
  onPointerDown: dcDisabled ? undefined : function () {
71445
71620
  return setSelected('dc');
71446
71621
  }
71447
- }, React.createElement(RadioCircle$1, {
71622
+ }, React.createElement(RadioCircle$3, {
71448
71623
  "$selected": selected === 'dc'
71449
71624
  }), 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, {
71450
71625
  buttonType: ButtonTypes.RPGUIButton,
71451
71626
  onPointerDown: handleConfirm
71452
71627
  }, "Confirm")))));
71453
71628
  };
71454
- var Overlay$8 = /*#__PURE__*/styled.div.withConfig({
71629
+ var Overlay$9 = /*#__PURE__*/styled.div.withConfig({
71455
71630
  displayName: "PaymentMethodModal__Overlay",
71456
71631
  componentId: "sc-1dxy6lr-0"
71457
71632
  })(["position:fixed;inset:0;background:rgba(0,0,0,0.65);z-index:1000;"]);
71458
- var ModalContainer$5 = /*#__PURE__*/styled.div.withConfig({
71633
+ var ModalContainer$6 = /*#__PURE__*/styled.div.withConfig({
71459
71634
  displayName: "PaymentMethodModal__ModalContainer",
71460
71635
  componentId: "sc-1dxy6lr-1"
71461
71636
  })(["position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:1001;pointer-events:none;"]);
71462
- var ModalContent$5 = /*#__PURE__*/styled.div.withConfig({
71637
+ var ModalContent$6 = /*#__PURE__*/styled.div.withConfig({
71463
71638
  displayName: "PaymentMethodModal__ModalContent",
71464
71639
  componentId: "sc-1dxy6lr-2"
71465
71640
  })(["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;}}"]);
71466
- var Header$e = /*#__PURE__*/styled.div.withConfig({
71641
+ var Header$f = /*#__PURE__*/styled.div.withConfig({
71467
71642
  displayName: "PaymentMethodModal__Header",
71468
71643
  componentId: "sc-1dxy6lr-3"
71469
71644
  })(["display:flex;align-items:center;justify-content:space-between;"]);
71470
- var Title$l = /*#__PURE__*/styled.h3.withConfig({
71645
+ var Title$m = /*#__PURE__*/styled.h3.withConfig({
71471
71646
  displayName: "PaymentMethodModal__Title",
71472
71647
  componentId: "sc-1dxy6lr-4"
71473
71648
  })(["margin:0;font-family:'Press Start 2P',cursive;font-size:0.7rem;color:#fef08a;"]);
71474
- var CloseButton$f = /*#__PURE__*/styled.button.withConfig({
71649
+ var CloseButton$g = /*#__PURE__*/styled.button.withConfig({
71475
71650
  displayName: "PaymentMethodModal__CloseButton",
71476
71651
  componentId: "sc-1dxy6lr-5"
71477
71652
  })(["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;}"]);
@@ -71479,7 +71654,7 @@ var Options$1 = /*#__PURE__*/styled.div.withConfig({
71479
71654
  displayName: "PaymentMethodModal__Options",
71480
71655
  componentId: "sc-1dxy6lr-6"
71481
71656
  })(["display:flex;flex-direction:column;gap:8px;"]);
71482
- var RadioOption$1 = /*#__PURE__*/styled.div.withConfig({
71657
+ var RadioOption$2 = /*#__PURE__*/styled.div.withConfig({
71483
71658
  displayName: "PaymentMethodModal__RadioOption",
71484
71659
  componentId: "sc-1dxy6lr-7"
71485
71660
  })(["display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid ", ";border-radius:6px;background:", ";cursor:", ";opacity:", ";transition:border-color 0.15s,background 0.15s,opacity 0.15s;&:hover{border-color:", ";}"], function (_ref2) {
@@ -71498,7 +71673,7 @@ var RadioOption$1 = /*#__PURE__*/styled.div.withConfig({
71498
71673
  var $disabled = _ref6.$disabled;
71499
71674
  return $disabled ? 'rgba(255,255,255,0.15)' : '#f59e0b';
71500
71675
  });
71501
- var RadioCircle$1 = /*#__PURE__*/styled.div.withConfig({
71676
+ var RadioCircle$3 = /*#__PURE__*/styled.div.withConfig({
71502
71677
  displayName: "PaymentMethodModal__RadioCircle",
71503
71678
  componentId: "sc-1dxy6lr-8"
71504
71679
  })(["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) {
@@ -71681,7 +71856,7 @@ var StoreCharacterSkinRow = function StoreCharacterSkinRow(_ref) {
71681
71856
  height: 32,
71682
71857
  imgScale: 2,
71683
71858
  centered: true
71684
- }) : React.createElement(DefaultIcon, null, "\uD83D\uDC64")), React.createElement(ItemDetails$5, null, React.createElement(Header$f, null, React.createElement(ItemName$7, null, item.name)), availableCharacters.length > 0 && currentCharacter && React.createElement(SelectedSkinNav, null, React.createElement(SelectedSkin, null, "Selected:"), React.createElement(SkinNavArrow, {
71859
+ }) : 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, {
71685
71860
  direction: "left",
71686
71861
  onPointerDown: handlePreviousSkin,
71687
71862
  size: 24
@@ -71689,12 +71864,12 @@ var StoreCharacterSkinRow = function StoreCharacterSkinRow(_ref) {
71689
71864
  direction: "right",
71690
71865
  onPointerDown: handleNextSkin,
71691
71866
  size: 24
71692
- })), React.createElement(PriceRow$3, null, originalPrice != null && React.createElement(OriginalPrice$1, {
71867
+ })), React.createElement(PriceRow$4, null, originalPrice != null && React.createElement(OriginalPrice$1, {
71693
71868
  style: {
71694
71869
  display: 'flex',
71695
71870
  alignItems: 'center'
71696
71871
  }
71697
- }, item.currency === 'DC' ? React.createElement(React.Fragment, null, React.createElement(DCCoinWrapper$2, {
71872
+ }, item.currency === 'DC' ? React.createElement(React.Fragment, null, React.createElement(DCCoinWrapper$6, {
71698
71873
  "$scale": 0.8
71699
71874
  }, React.createElement(SpriteFromAtlas, {
71700
71875
  atlasIMG: atlasIMG,
@@ -71708,7 +71883,7 @@ var StoreCharacterSkinRow = function StoreCharacterSkinRow(_ref) {
71708
71883
  alignItems: 'center',
71709
71884
  gap: '2px'
71710
71885
  }
71711
- }, React.createElement(DCCoinWrapper$2, null, React.createElement(SimpleTooltip, {
71886
+ }, React.createElement(DCCoinWrapper$6, null, React.createElement(SimpleTooltip, {
71712
71887
  content: "Definya Coin",
71713
71888
  direction: "top"
71714
71889
  }, React.createElement(SpriteFromAtlas, {
@@ -71727,7 +71902,7 @@ var StoreCharacterSkinRow = function StoreCharacterSkinRow(_ref) {
71727
71902
  style: {
71728
71903
  margin: '0 4px'
71729
71904
  }
71730
- }, "\xB7"), React.createElement(DCCoinWrapper$2, {
71905
+ }, "\xB7"), React.createElement(DCCoinWrapper$6, {
71731
71906
  "$scale": 0.9
71732
71907
  }, React.createElement(SimpleTooltip, {
71733
71908
  content: "Definya Coin",
@@ -71773,7 +71948,7 @@ var ItemName$7 = /*#__PURE__*/styled.div.withConfig({
71773
71948
  displayName: "StoreCharacterSkinRow__ItemName",
71774
71949
  componentId: "sc-81xqsx-3"
71775
71950
  })(["font-family:'Press Start 2P',cursive;font-size:0.8125rem;color:#ffffff;text-shadow:1px 1px 0 rgba(0,0,0,0.5);"]);
71776
- var PriceRow$3 = /*#__PURE__*/styled.div.withConfig({
71951
+ var PriceRow$4 = /*#__PURE__*/styled.div.withConfig({
71777
71952
  displayName: "StoreCharacterSkinRow__PriceRow",
71778
71953
  componentId: "sc-81xqsx-4"
71779
71954
  })(["display:flex;align-items:center;gap:0.5rem;margin:0.15rem 0;"]);
@@ -71795,7 +71970,7 @@ var Controls = /*#__PURE__*/styled.div.withConfig({
71795
71970
  displayName: "StoreCharacterSkinRow__Controls",
71796
71971
  componentId: "sc-81xqsx-8"
71797
71972
  })(["display:flex;align-items:center;gap:0.5rem;min-width:fit-content;"]);
71798
- var DCCoinWrapper$2 = /*#__PURE__*/styled.span.withConfig({
71973
+ var DCCoinWrapper$6 = /*#__PURE__*/styled.span.withConfig({
71799
71974
  displayName: "StoreCharacterSkinRow__DCCoinWrapper",
71800
71975
  componentId: "sc-81xqsx-9"
71801
71976
  })(["display:flex;align-items:center;justify-content:center;position:relative;top:", ";left:", ";margin-right:0.3rem;"], function (p) {
@@ -71808,7 +71983,7 @@ var SkinNavArrow = /*#__PURE__*/styled(SelectArrow).withConfig({
71808
71983
  displayName: "StoreCharacterSkinRow__SkinNavArrow",
71809
71984
  componentId: "sc-81xqsx-10"
71810
71985
  })(["position:static;"]);
71811
- var Header$f = /*#__PURE__*/styled.div.withConfig({
71986
+ var Header$g = /*#__PURE__*/styled.div.withConfig({
71812
71987
  displayName: "StoreCharacterSkinRow__Header",
71813
71988
  componentId: "sc-81xqsx-11"
71814
71989
  })(["display:flex;align-items:center;gap:0.5rem;"]);
@@ -72013,12 +72188,12 @@ var StoreItemRow = function StoreItemRow(_ref) {
72013
72188
  height: 32,
72014
72189
  imgScale: 2,
72015
72190
  centered: true
72016
- })), React.createElement(ItemDetails$6, null, React.createElement(ItemName$8, null, item.name), React.createElement(PriceRow$4, null, originalPrice != null && React.createElement(OriginalPrice$2, {
72191
+ })), React.createElement(ItemDetails$6, null, React.createElement(ItemName$8, null, item.name), React.createElement(PriceRow$5, null, originalPrice != null && React.createElement(OriginalPrice$2, {
72017
72192
  style: {
72018
72193
  display: 'flex',
72019
72194
  alignItems: 'center'
72020
72195
  }
72021
- }, item.currency === 'DC' ? React.createElement(React.Fragment, null, React.createElement(DCCoinWrapper$3, {
72196
+ }, item.currency === 'DC' ? React.createElement(React.Fragment, null, React.createElement(DCCoinWrapper$7, {
72022
72197
  "$scale": 0.8
72023
72198
  }, React.createElement(SpriteFromAtlas, {
72024
72199
  atlasIMG: atlasIMG,
@@ -72032,7 +72207,7 @@ var StoreItemRow = function StoreItemRow(_ref) {
72032
72207
  alignItems: 'center',
72033
72208
  gap: '2px'
72034
72209
  }
72035
- }, React.createElement(DCCoinWrapper$3, null, React.createElement(SimpleTooltip, {
72210
+ }, React.createElement(DCCoinWrapper$7, null, React.createElement(SimpleTooltip, {
72036
72211
  content: "Definya Coin",
72037
72212
  direction: "top"
72038
72213
  }, React.createElement(SpriteFromAtlas, {
@@ -72051,7 +72226,7 @@ var StoreItemRow = function StoreItemRow(_ref) {
72051
72226
  style: {
72052
72227
  margin: '0 4px'
72053
72228
  }
72054
- }, "\xB7"), React.createElement(DCCoinWrapper$3, {
72229
+ }, "\xB7"), React.createElement(DCCoinWrapper$7, {
72055
72230
  "$scale": 0.9
72056
72231
  }, React.createElement(SimpleTooltip, {
72057
72232
  content: "Definya Coin",
@@ -72122,7 +72297,7 @@ var ItemName$8 = /*#__PURE__*/styled.div.withConfig({
72122
72297
  displayName: "StoreItemRow__ItemName",
72123
72298
  componentId: "sc-ptotuo-3"
72124
72299
  })(["font-family:'Press Start 2P',cursive;font-size:0.8125rem;color:#ffffff;text-shadow:1px 1px 0 rgba(0,0,0,0.5);"]);
72125
- var PriceRow$4 = /*#__PURE__*/styled.div.withConfig({
72300
+ var PriceRow$5 = /*#__PURE__*/styled.div.withConfig({
72126
72301
  displayName: "StoreItemRow__PriceRow",
72127
72302
  componentId: "sc-ptotuo-4"
72128
72303
  })(["display:flex;align-items:center;gap:0.5rem;margin:0.15rem 0;"]);
@@ -72140,7 +72315,7 @@ var ItemDescription = /*#__PURE__*/styled.div.withConfig({
72140
72315
  displayName: "StoreItemRow__ItemDescription",
72141
72316
  componentId: "sc-ptotuo-7"
72142
72317
  })(["font-family:'Press Start 2P',cursive;font-size:0.625rem;color:rgba(255,255,255,0.85);line-height:1.4;margin-top:2px;"]);
72143
- var DCCoinWrapper$3 = /*#__PURE__*/styled.span.withConfig({
72318
+ var DCCoinWrapper$7 = /*#__PURE__*/styled.span.withConfig({
72144
72319
  displayName: "StoreItemRow__DCCoinWrapper",
72145
72320
  componentId: "sc-ptotuo-8"
72146
72321
  })(["display:flex;align-items:center;justify-content:center;position:relative;top:", ";left:", ";margin-right:0.3rem;"], function (p) {
@@ -72529,12 +72704,12 @@ var StoreItemDetails = function StoreItemDetails(_ref) {
72529
72704
  if (typeof imageUrl === 'string') return imageUrl;
72530
72705
  return imageUrl["default"] || imageUrl.src;
72531
72706
  };
72532
- return React.createElement(Container$O, null, React.createElement(Header$g, null, React.createElement(BackButton, {
72707
+ return React.createElement(Container$O, null, React.createElement(Header$h, null, React.createElement(BackButton, {
72533
72708
  onClick: onBack
72534
72709
  }, 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", {
72535
72710
  src: getImageSrc(),
72536
72711
  alt: item.name
72537
- })), 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$6, null, item.description))), React.createElement(Actions$1, null, React.createElement(CTAButton, {
72712
+ })), 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, {
72538
72713
  icon: React.createElement(FaCartPlus, null),
72539
72714
  label: "Add to Cart",
72540
72715
  onClick: function onClick() {
@@ -72547,7 +72722,7 @@ var Container$O = /*#__PURE__*/styled.div.withConfig({
72547
72722
  displayName: "StoreItemDetails__Container",
72548
72723
  componentId: "sc-k3ho5z-0"
72549
72724
  })(["display:flex;flex-direction:column;gap:1.5rem;padding:1.5rem;height:100%;"]);
72550
- var Header$g = /*#__PURE__*/styled.div.withConfig({
72725
+ var Header$h = /*#__PURE__*/styled.div.withConfig({
72551
72726
  displayName: "StoreItemDetails__Header",
72552
72727
  componentId: "sc-k3ho5z-1"
72553
72728
  })(["display:flex;align-items:center;gap:1rem;"]);
@@ -72579,7 +72754,7 @@ var ItemPrice$2 = /*#__PURE__*/styled.div.withConfig({
72579
72754
  displayName: "StoreItemDetails__ItemPrice",
72580
72755
  componentId: "sc-k3ho5z-8"
72581
72756
  })(["font-family:'Press Start 2P',cursive;font-size:1rem;color:#fef08a;"]);
72582
- var Description$6 = /*#__PURE__*/styled.p.withConfig({
72757
+ var Description$7 = /*#__PURE__*/styled.p.withConfig({
72583
72758
  displayName: "StoreItemDetails__Description",
72584
72759
  componentId: "sc-k3ho5z-9"
72585
72760
  })(["margin:0;font-family:'Press Start 2P',cursive;font-size:0.875rem;line-height:1.6;color:#ffffff;"]);
@@ -73147,7 +73322,7 @@ var TimeWidget = function TimeWidget(_ref) {
73147
73322
  return React.createElement(Draggable, {
73148
73323
  scale: scale,
73149
73324
  cancel: ".time-widget-close,.time-widget-container,.time-widget-container *"
73150
- }, React.createElement(WidgetContainer, null, React.createElement(CloseButton$g, {
73325
+ }, React.createElement(WidgetContainer, null, React.createElement(CloseButton$h, {
73151
73326
  onPointerDown: onClose,
73152
73327
  className: "time-widget-close"
73153
73328
  }, "X"), React.createElement(DayNightContainer, {
@@ -73164,7 +73339,7 @@ var Time = /*#__PURE__*/styled.div.withConfig({
73164
73339
  displayName: "TimeWidget__Time",
73165
73340
  componentId: "sc-1ja236h-1"
73166
73341
  })(["top:0.75rem;right:0.5rem;position:absolute;font-size:", ";color:white;"], uiFonts.size.small);
73167
- var CloseButton$g = /*#__PURE__*/styled.p.withConfig({
73342
+ var CloseButton$h = /*#__PURE__*/styled.p.withConfig({
73168
73343
  displayName: "TimeWidget__CloseButton",
73169
73344
  componentId: "sc-1ja236h-2"
73170
73345
  })(["position:absolute;top:-0.5rem;margin:0;right:-0.2rem;font-size:", " !important;z-index:1;"], uiFonts.size.small);
@@ -73443,7 +73618,7 @@ var TradingMenu = function TradingMenu(_ref) {
73443
73618
  width: "500px",
73444
73619
  cancelDrag: "#TraderContainer",
73445
73620
  scale: scale
73446
- }, React.createElement(Container$Q, null, React.createElement(Title$m, null, type.charAt(0).toUpperCase() + type.slice(1), " Menu"), React.createElement("hr", {
73621
+ }, React.createElement(Container$Q, null, React.createElement(Title$n, null, type.charAt(0).toUpperCase() + type.slice(1), " Menu"), React.createElement("hr", {
73447
73622
  className: "golden"
73448
73623
  }), React.createElement(ScrollWrapper, {
73449
73624
  id: "TraderContainer"
@@ -73475,7 +73650,7 @@ var Container$Q = /*#__PURE__*/styled.div.withConfig({
73475
73650
  displayName: "TradingMenu__Container",
73476
73651
  componentId: "sc-1wjsz1l-0"
73477
73652
  })(["width:100%;"]);
73478
- var Title$m = /*#__PURE__*/styled.h1.withConfig({
73653
+ var Title$n = /*#__PURE__*/styled.h1.withConfig({
73479
73654
  displayName: "TradingMenu__Title",
73480
73655
  componentId: "sc-1wjsz1l-1"
73481
73656
  })(["font-size:0.7rem !important;color:yellow !important;text-align:center;"]);
@@ -73657,5 +73832,5 @@ var LessonContainer = /*#__PURE__*/styled.div.withConfig({
73657
73832
  componentId: "sc-7tgzv2-6"
73658
73833
  })(["display:flex;flex-direction:column;justify-content:space-between;min-height:200px;p{font-size:0.7rem !important;}"]);
73659
73834
 
73660
- 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 };
73835
+ export { ActionButtons, AsyncDropdown, BLUEPRINTS_PER_PAGE, BUY_ORDERS_PER_PAGE, BlueprintSearchModal, Button, ButtonTypes, BuyOrderPanel, BuyOrderRow, CTAButton, CartView, CharacterListingForm, CharacterListingModal, CharacterMarketplacePanel, CharacterMarketplaceRows, CharacterSelection, CharacterSkinSelectionModal, Chat, ChatDeprecated, ChatRevamp, CheckButton, CheckItem, CircularController, CountdownTimer, CraftBook, DCRateStrip, 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, Pagination, PartyCreate, PartyDashboard, PartyInvite, PartyManager, PartyManagerRow, PartyRow, PaymentMethodModal, PlayersRow, ProgressBar$1 as ProgressBar, PropertySelect, PurchaseSuccess, QuantitySelectorModal, QuestInfo, QuestList, QuestionDialog, RPGUIContainer, RPGUIContainerTypes, RPGUIRoot, RadioCircle$2 as RadioCircle, RadioOption$1 as RadioOption, RadioOptionLabel, RadioOptionSub, 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 };
73661
73836
  //# sourceMappingURL=long-bow.esm.js.map