@rpg-engine/long-bow 0.8.161 → 0.8.163

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.
@@ -35,6 +35,9 @@ var Delete = require('pixelarticons/react/Delete');
35
35
  require('rpgui/rpgui.css');
36
36
  require('rpgui/rpgui.min.js');
37
37
  var Coins = require('pixelarticons/react/Coins');
38
+ var Box = require('pixelarticons/react/Box');
39
+ var Crown = require('pixelarticons/react/Crown');
40
+ var Gift = require('pixelarticons/react/Gift');
38
41
  var capitalize = _interopDefault(require('lodash/capitalize'));
39
42
 
40
43
  function _arrayLikeToArray(r, a) {
@@ -45106,6 +45109,58 @@ var CancelButton$1 = /*#__PURE__*/styled__default.button.withConfig({
45106
45109
  componentId: "sc-6bghe9-17"
45107
45110
  })(["flex:1;background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.1);color:#ccc;border-radius:4px;padding:8px 12px;font-size:0.5rem;font-family:'Press Start 2P',cursive;cursor:pointer;text-transform:uppercase;letter-spacing:0.5px;transition:background 0.1s,border-color 0.1s;pointer-events:auto;&:hover{background:rgba(255,255,255,0.08);border-color:rgba(255,255,255,0.15);}"]);
45108
45111
 
45112
+ var GroupedRowContainer = function GroupedRowContainer(_ref) {
45113
+ var mainRow = _ref.mainRow,
45114
+ subRows = _ref.subRows,
45115
+ _ref$badgeLabel = _ref.badgeLabel,
45116
+ badgeLabel = _ref$badgeLabel === void 0 ? 'offers' : _ref$badgeLabel;
45117
+ var _useState = React.useState(false),
45118
+ expanded = _useState[0],
45119
+ setExpanded = _useState[1];
45120
+ var hasMultiple = subRows.length > 0;
45121
+ var totalCount = subRows.length + 1;
45122
+ return React__default.createElement(GroupWrapper, null, React__default.createElement(GroupHeader, {
45123
+ "$clickable": hasMultiple,
45124
+ onClick: hasMultiple ? function () {
45125
+ return setExpanded(function (e) {
45126
+ return !e;
45127
+ });
45128
+ } : undefined
45129
+ }, mainRow, hasMultiple && React__default.createElement(GroupMeta, null, React__default.createElement(OfferBadge, null, totalCount, " ", badgeLabel), React__default.createElement(Chevron, {
45130
+ "$expanded": expanded
45131
+ }, "\u25B8"))), expanded && React__default.createElement(SubRows, null, subRows));
45132
+ };
45133
+ var GroupWrapper = /*#__PURE__*/styled__default.div.withConfig({
45134
+ displayName: "GroupedRowContainer__GroupWrapper",
45135
+ componentId: "sc-12q03tq-0"
45136
+ })(["margin-bottom:2px;"]);
45137
+ var GroupHeader = /*#__PURE__*/styled__default.div.withConfig({
45138
+ displayName: "GroupedRowContainer__GroupHeader",
45139
+ componentId: "sc-12q03tq-1"
45140
+ })(["position:relative;cursor:", ";"], function (_ref2) {
45141
+ var $clickable = _ref2.$clickable;
45142
+ return $clickable ? 'pointer' : 'default';
45143
+ });
45144
+ var GroupMeta = /*#__PURE__*/styled__default.div.withConfig({
45145
+ displayName: "GroupedRowContainer__GroupMeta",
45146
+ componentId: "sc-12q03tq-2"
45147
+ })(["position:absolute;right:180px;top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:6px;pointer-events:none;"]);
45148
+ var OfferBadge = /*#__PURE__*/styled__default.span.withConfig({
45149
+ displayName: "GroupedRowContainer__OfferBadge",
45150
+ componentId: "sc-12q03tq-3"
45151
+ })(["font-family:'Press Start 2P',cursive;font-size:0.5rem;color:rgba(255,255,255,0.5);background:rgba(255,255,255,0.08);padding:2px 6px;border-radius:8px;white-space:nowrap;"]);
45152
+ var Chevron = /*#__PURE__*/styled__default.span.withConfig({
45153
+ displayName: "GroupedRowContainer__Chevron",
45154
+ componentId: "sc-12q03tq-4"
45155
+ })(["display:inline-block;font-size:0.7rem;color:rgba(255,255,255,0.4);transition:transform 0.2s ease;transform:rotate(", ");"], function (_ref3) {
45156
+ var $expanded = _ref3.$expanded;
45157
+ return $expanded ? '90deg' : '0deg';
45158
+ });
45159
+ var SubRows = /*#__PURE__*/styled__default.div.withConfig({
45160
+ displayName: "GroupedRowContainer__SubRows",
45161
+ componentId: "sc-12q03tq-5"
45162
+ })(["margin-left:12px;padding-left:8px;border-left:2px solid rgba(245,158,11,0.25);> div > div{background:rgba(0,0,0,0.4);}"]);
45163
+
45109
45164
  var LabelPill = function LabelPill(_ref) {
45110
45165
  var children = _ref.children,
45111
45166
  _ref$background = _ref.background,
@@ -45366,19 +45421,18 @@ var BuyOrderRow = function BuyOrderRow(_ref) {
45366
45421
  background: "rgba(34, 197, 94, 0.16)",
45367
45422
  borderColor: "rgba(34, 197, 94, 0.4)",
45368
45423
  color: "#bbf7d0"
45369
- }, requestTagLabel), buyOrder.itemRarity && React__default.createElement(LabelPill, {
45370
- background: rarityGlow != null ? rarityGlow : 'rgba(255,255,255,0.1)',
45371
- borderColor: "rgba(255,255,255,0.08)",
45372
- color: "#fff"
45373
- }, buyOrder.itemRarity), isOwn && React__default.createElement(LabelPill, {
45424
+ }, requestTagLabel), isOwn && React__default.createElement(LabelPill, {
45374
45425
  background: STATUS_COLORS[buyOrder.status],
45375
45426
  borderColor: "transparent",
45376
45427
  color: "#fff"
45377
- }, formatStatusLabel(buyOrder.status)), timeRemaining && React__default.createElement(LabelPill, {
45428
+ }, formatStatusLabel(buyOrder.status)), timeRemaining && React__default.createElement(SimpleTooltip, {
45429
+ content: "Expires in",
45430
+ direction: "top"
45431
+ }, React__default.createElement(LabelPill, {
45378
45432
  background: "rgba(255,255,255,0.08)",
45379
45433
  borderColor: "rgba(255,255,255,0.08)",
45380
45434
  color: "#fff"
45381
- }, timeRemaining)))), isOwn && buyOrder.status === shared.MarketplaceBuyOrderStatus.Active && onCancel && React__default.createElement(ActionSection, null, React__default.createElement(CTAButton, {
45435
+ }, timeRemaining))))), isOwn && buyOrder.status === shared.MarketplaceBuyOrderStatus.Active && onCancel && React__default.createElement(ActionSection, null, React__default.createElement(CTAButton, {
45382
45436
  icon: React__default.createElement(Delete.Delete, {
45383
45437
  width: 18,
45384
45438
  height: 18
@@ -45400,6 +45454,33 @@ var BuyOrderRow = function BuyOrderRow(_ref) {
45400
45454
  }
45401
45455
  })));
45402
45456
  };
45457
+ var GroupedBuyOrderRow = function GroupedBuyOrderRow(_ref2) {
45458
+ var bestOrder = _ref2.bestOrder,
45459
+ otherOrders = _ref2.otherOrders,
45460
+ atlasJSON = _ref2.atlasJSON,
45461
+ atlasIMG = _ref2.atlasIMG,
45462
+ isOwn = _ref2.isOwn,
45463
+ onCancel = _ref2.onCancel,
45464
+ onFulfill = _ref2.onFulfill,
45465
+ showRequestTag = _ref2.showRequestTag;
45466
+ var makeRow = function makeRow(order) {
45467
+ return React__default.createElement(BuyOrderRow, {
45468
+ key: order._id,
45469
+ buyOrder: order,
45470
+ atlasJSON: atlasJSON,
45471
+ atlasIMG: atlasIMG,
45472
+ isOwn: isOwn,
45473
+ onCancel: onCancel,
45474
+ onFulfill: onFulfill,
45475
+ showRequestTag: showRequestTag
45476
+ });
45477
+ };
45478
+ return React__default.createElement(GroupedRowContainer, {
45479
+ mainRow: makeRow(bestOrder),
45480
+ subRows: otherOrders.map(makeRow),
45481
+ badgeLabel: "requests"
45482
+ });
45483
+ };
45403
45484
  // ── Styled components matching MarketplaceRows layout ──
45404
45485
  var RowWrapper = /*#__PURE__*/styled__default.div.withConfig({
45405
45486
  displayName: "BuyOrderRows__RowWrapper",
@@ -45416,8 +45497,8 @@ var SpriteContainer$3 = /*#__PURE__*/styled__default.div.withConfig({
45416
45497
  var RarityGlow = /*#__PURE__*/styled__default.div.withConfig({
45417
45498
  displayName: "BuyOrderRows__RarityGlow",
45418
45499
  componentId: "sc-zz5s5j-3"
45419
- })(["width:32px;height:32px;", ""], function (_ref2) {
45420
- var $color = _ref2.$color;
45500
+ })(["width:32px;height:32px;", ""], function (_ref3) {
45501
+ var $color = _ref3.$color;
45421
45502
  return $color ? "\n border-color: " + $color + ";\n box-shadow: 0 0 5px 8px " + $color + " inset, 0 0 8px 6px " + $color + ";\n " : '';
45422
45503
  });
45423
45504
  var SpritePlaceholder = /*#__PURE__*/styled__default.div.withConfig({
@@ -45787,6 +45868,15 @@ var ConfirmRow = /*#__PURE__*/styled__default.div.withConfig({
45787
45868
  componentId: "sc-86ottl-13"
45788
45869
  })(["display:flex;justify-content:center;margin-top:4px;"]);
45789
45870
 
45871
+ var ItemRowWrapper = /*#__PURE__*/styled__default.div.withConfig({
45872
+ displayName: "ItemRowWrapper",
45873
+ componentId: "sc-5g2skk-0"
45874
+ })(["display:flex;align-items:center;justify-content:space-between;padding:0.6rem 1rem;margin-bottom:4px;background:", ";border:1px solid rgba(255,255,255,0.05);border-radius:6px;border-left:4px solid ", ";transition:all 0.2s ease-in-out;&:hover{background:rgba(245,158,11,0.08);border-color:rgba(245,158,11,0.2);border-left-color:#f59e0b;box-shadow:0 4px 12px rgba(0,0,0,0.2);transform:translateY(-1px);}"], function (p) {
45875
+ return p.$isHighlighted ? 'rgba(255, 215, 0, 0.08)' : 'rgba(0, 0, 0, 0.25)';
45876
+ }, function (p) {
45877
+ return p.$isHighlighted ? '#ffd700' : 'transparent';
45878
+ });
45879
+
45790
45880
  var MarketplaceRows = function MarketplaceRows(_ref) {
45791
45881
  var atlasJSON = _ref.atlasJSON,
45792
45882
  atlasIMG = _ref.atlasIMG,
@@ -45802,7 +45892,7 @@ var MarketplaceRows = function MarketplaceRows(_ref) {
45802
45892
  var renderGems = function renderGems(item) {
45803
45893
  return item.attachedGems && onRenderGems(item);
45804
45894
  };
45805
- return React__default.createElement(MarketplaceWrapper, null, React__default.createElement(ItemSection$1, null, React__default.createElement(SpriteContainer$4, null, React__default.createElement(ItemInfoWrapper, {
45895
+ return React__default.createElement(ItemRowWrapper, null, React__default.createElement(ItemSection$1, null, React__default.createElement(SpriteContainer$4, null, React__default.createElement(ItemInfoWrapper, {
45806
45896
  item: item,
45807
45897
  atlasIMG: atlasIMG,
45808
45898
  atlasJSON: atlasJSON,
@@ -45874,31 +45964,7 @@ var GroupedMarketplaceRow = function GroupedMarketplaceRow(_ref2) {
45874
45964
  characterId = _ref2.characterId,
45875
45965
  onBuy = _ref2.onBuy,
45876
45966
  onDCCoinClick = _ref2.onDCCoinClick;
45877
- var _useState = React.useState(false),
45878
- expanded = _useState[0],
45879
- setExpanded = _useState[1];
45880
- var totalOffers = otherListings.length + 1;
45881
- var hasMultiple = otherListings.length > 0;
45882
- return React__default.createElement(GroupWrapper, null, React__default.createElement(GroupHeader, {
45883
- onClick: hasMultiple ? function () {
45884
- return setExpanded(!expanded);
45885
- } : undefined,
45886
- clickable: hasMultiple
45887
- }, React__default.createElement(MarketplaceRows, {
45888
- atlasIMG: atlasIMG,
45889
- atlasJSON: atlasJSON,
45890
- item: bestListing.item,
45891
- itemPrice: bestListing.price,
45892
- dcEquivalentPrice: dcToGoldSwapRate > 0 ? getDCEquivalentPrice(bestListing.price) : undefined,
45893
- equipmentSet: equipmentSet,
45894
- onMarketPlaceItemBuy: function onMarketPlaceItemBuy() {
45895
- return onBuy(bestListing._id);
45896
- },
45897
- onDCCoinClick: onDCCoinClick,
45898
- disabled: bestListing.owner === characterId
45899
- }), hasMultiple && React__default.createElement(GroupMeta, null, React__default.createElement(OfferBadge, null, totalOffers, " offers"), React__default.createElement(Chevron, {
45900
- expanded: expanded
45901
- }, "\u25B8"))), expanded && React__default.createElement(SubRows, null, otherListings.map(function (listing) {
45967
+ var makeRow = function makeRow(listing) {
45902
45968
  return React__default.createElement(MarketplaceRows, {
45903
45969
  key: listing._id,
45904
45970
  atlasIMG: atlasIMG,
@@ -45913,115 +45979,86 @@ var GroupedMarketplaceRow = function GroupedMarketplaceRow(_ref2) {
45913
45979
  onDCCoinClick: onDCCoinClick,
45914
45980
  disabled: listing.owner === characterId
45915
45981
  });
45916
- })));
45982
+ };
45983
+ return React__default.createElement(GroupedRowContainer, {
45984
+ mainRow: makeRow(bestListing),
45985
+ subRows: otherListings.map(makeRow),
45986
+ badgeLabel: "offers"
45987
+ });
45917
45988
  };
45918
- var GroupWrapper = /*#__PURE__*/styled__default.div.withConfig({
45919
- displayName: "MarketplaceRows__GroupWrapper",
45920
- componentId: "sc-wmpr1o-0"
45921
- })(["margin-bottom:2px;"]);
45922
- var GroupHeader = /*#__PURE__*/styled__default.div.withConfig({
45923
- displayName: "MarketplaceRows__GroupHeader",
45924
- componentId: "sc-wmpr1o-1"
45925
- })(["position:relative;cursor:", ";"], function (_ref3) {
45926
- var clickable = _ref3.clickable;
45927
- return clickable ? 'pointer' : 'default';
45928
- });
45929
- var GroupMeta = /*#__PURE__*/styled__default.div.withConfig({
45930
- displayName: "MarketplaceRows__GroupMeta",
45931
- componentId: "sc-wmpr1o-2"
45932
- })(["position:absolute;right:180px;top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:6px;pointer-events:none;"]);
45933
- var OfferBadge = /*#__PURE__*/styled__default.span.withConfig({
45934
- displayName: "MarketplaceRows__OfferBadge",
45935
- componentId: "sc-wmpr1o-3"
45936
- })(["font-family:'Press Start 2P',cursive;font-size:0.5rem;color:rgba(255,255,255,0.5);background:rgba(255,255,255,0.08);padding:2px 6px;border-radius:8px;white-space:nowrap;"]);
45937
- var Chevron = /*#__PURE__*/styled__default.span.withConfig({
45938
- displayName: "MarketplaceRows__Chevron",
45939
- componentId: "sc-wmpr1o-4"
45940
- })(["display:inline-block;font-size:0.7rem;color:rgba(255,255,255,0.4);transition:transform 0.2s ease;transform:rotate(", ");"], function (_ref4) {
45941
- var expanded = _ref4.expanded;
45942
- return expanded ? '90deg' : '0deg';
45943
- });
45944
- var SubRows = /*#__PURE__*/styled__default.div.withConfig({
45945
- displayName: "MarketplaceRows__SubRows",
45946
- componentId: "sc-wmpr1o-5"
45947
- })(["margin-left:12px;padding-left:8px;border-left:2px solid rgba(245,158,11,0.25);> div > div{background:rgba(0,0,0,0.4);}"]);
45948
- var MarketplaceWrapper = /*#__PURE__*/styled__default.div.withConfig({
45949
- displayName: "MarketplaceRows__MarketplaceWrapper",
45950
- componentId: "sc-wmpr1o-6"
45951
- })(["display:flex;align-items:center;justify-content:space-between;padding:0.6rem 1rem;margin-bottom:4px;background:rgba(0,0,0,0.25);border:1px solid rgba(255,255,255,0.05);border-radius:6px;border-left:4px solid transparent;transition:all 0.2s ease-in-out;&:hover{background:rgba(245,158,11,0.08);border-color:rgba(245,158,11,0.2);border-left-color:#f59e0b;box-shadow:0 4px 12px rgba(0,0,0,0.2);transform:translateY(-1px);}"]);
45952
45989
  var ItemSection$1 = /*#__PURE__*/styled__default.div.withConfig({
45953
45990
  displayName: "MarketplaceRows__ItemSection",
45954
- componentId: "sc-wmpr1o-7"
45991
+ componentId: "sc-wmpr1o-0"
45955
45992
  })(["display:flex;align-items:center;gap:0.75rem;flex:1;min-width:0;"]);
45956
45993
  var SpriteContainer$4 = /*#__PURE__*/styled__default.div.withConfig({
45957
45994
  displayName: "MarketplaceRows__SpriteContainer",
45958
- componentId: "sc-wmpr1o-8"
45995
+ componentId: "sc-wmpr1o-1"
45959
45996
  })(["position:relative;flex-shrink:0;min-width:44px;"]);
45960
45997
  var ItemDetails$1 = /*#__PURE__*/styled__default.div.withConfig({
45961
45998
  displayName: "MarketplaceRows__ItemDetails",
45962
- componentId: "sc-wmpr1o-9"
45999
+ componentId: "sc-wmpr1o-2"
45963
46000
  })(["display:flex;flex-direction:column;gap:0.2rem;min-width:0;margin-left:1rem;"]);
45964
46001
  var ItemName$2 = /*#__PURE__*/styled__default.div.withConfig({
45965
46002
  displayName: "MarketplaceRows__ItemName",
45966
- componentId: "sc-wmpr1o-10"
46003
+ componentId: "sc-wmpr1o-3"
45967
46004
  })(["font-family:'Press Start 2P',cursive;font-size:0.65rem;color:#ffffff;"]);
45968
46005
  var PriceRow = /*#__PURE__*/styled__default.div.withConfig({
45969
46006
  displayName: "MarketplaceRows__PriceRow",
45970
- componentId: "sc-wmpr1o-11"
46007
+ componentId: "sc-wmpr1o-4"
45971
46008
  })(["display:flex;flex-direction:row;align-items:center;gap:0.5rem;margin-top:0.2rem;"]);
45972
46009
  var GoldPriceRow$1 = /*#__PURE__*/styled__default.div.withConfig({
45973
46010
  displayName: "MarketplaceRows__GoldPriceRow",
45974
- componentId: "sc-wmpr1o-12"
46011
+ componentId: "sc-wmpr1o-5"
45975
46012
  })(["display:flex;align-items:center;gap:0.3rem;"]);
45976
46013
  var GoldIcon$1 = /*#__PURE__*/styled__default.span.withConfig({
45977
46014
  displayName: "MarketplaceRows__GoldIcon",
45978
- componentId: "sc-wmpr1o-13"
46015
+ componentId: "sc-wmpr1o-6"
45979
46016
  })(["display:flex;align-items:center;justify-content:center;position:relative;top:-0.6rem;left:-0.5rem;"]);
45980
46017
  var GoldPrice$1 = /*#__PURE__*/styled__default.span.withConfig({
45981
46018
  displayName: "MarketplaceRows__GoldPrice",
45982
- componentId: "sc-wmpr1o-14"
46019
+ componentId: "sc-wmpr1o-7"
45983
46020
  })(["font-family:'Press Start 2P',cursive;font-size:0.6rem !important;color:#fef08a;line-height:1;"]);
45984
46021
  var DCPriceRow = /*#__PURE__*/styled__default.div.withConfig({
45985
46022
  displayName: "MarketplaceRows__DCPriceRow",
45986
- componentId: "sc-wmpr1o-15"
45987
- })(["display:flex;align-items:center;gap:0.3rem;margin-left:0.5rem;cursor:", ";border-radius:4px;transition:opacity 0.15s;&:hover{opacity:", ";}"], function (_ref5) {
45988
- var $clickable = _ref5.$clickable;
46023
+ componentId: "sc-wmpr1o-8"
46024
+ })(["display:flex;align-items:center;gap:0.3rem;margin-left:0.5rem;cursor:", ";border-radius:4px;transition:opacity 0.15s;&:hover{opacity:", ";}"], function (_ref3) {
46025
+ var $clickable = _ref3.$clickable;
45989
46026
  return $clickable ? 'pointer' : 'default';
45990
- }, function (_ref6) {
45991
- var $clickable = _ref6.$clickable;
46027
+ }, function (_ref4) {
46028
+ var $clickable = _ref4.$clickable;
45992
46029
  return $clickable ? '0.75' : '1';
45993
46030
  });
45994
46031
  var DCCoinWrapper = /*#__PURE__*/styled__default.span.withConfig({
45995
46032
  displayName: "MarketplaceRows__DCCoinWrapper",
45996
- componentId: "sc-wmpr1o-16"
46033
+ componentId: "sc-wmpr1o-9"
45997
46034
  })(["display:flex;align-items:center;justify-content:center;position:relative;top:-0.6rem;left:-0.5rem;"]);
45998
46035
  var DCPrice = /*#__PURE__*/styled__default.span.withConfig({
45999
46036
  displayName: "MarketplaceRows__DCPrice",
46000
- componentId: "sc-wmpr1o-17"
46037
+ componentId: "sc-wmpr1o-10"
46001
46038
  })(["font-family:'Press Start 2P',cursive;font-size:0.6rem !important;color:rgba(254,240,138,0.65);white-space:nowrap;"]);
46002
46039
  var ActionSection$1 = /*#__PURE__*/styled__default.div.withConfig({
46003
46040
  displayName: "MarketplaceRows__ActionSection",
46004
- componentId: "sc-wmpr1o-18"
46041
+ componentId: "sc-wmpr1o-11"
46005
46042
  })(["flex-shrink:0;margin-left:0.75rem;"]);
46006
46043
  var QuantityContainer = /*#__PURE__*/styled__default.p.withConfig({
46007
46044
  displayName: "MarketplaceRows__QuantityContainer",
46008
- componentId: "sc-wmpr1o-19"
46045
+ componentId: "sc-wmpr1o-12"
46009
46046
  })(["position:absolute;display:block;top:15px;left:-8px;font-size:", " !important;"], uiFonts.size.xsmall);
46010
46047
  var GemContainer = /*#__PURE__*/styled__default.p.withConfig({
46011
46048
  displayName: "MarketplaceRows__GemContainer",
46012
- componentId: "sc-wmpr1o-20"
46049
+ componentId: "sc-wmpr1o-13"
46013
46050
  })(["position:absolute;display:block;top:-5px;left:-10px;font-size:", " !important;"], uiFonts.size.xsmall);
46014
46051
  var RarityContainer$1 = /*#__PURE__*/styled__default.div.withConfig({
46015
46052
  displayName: "MarketplaceRows__RarityContainer",
46016
- componentId: "sc-wmpr1o-21"
46017
- })(["border-color:", ";box-shadow:", " inset,", ";width:32px;height:32px;"], function (_ref7) {
46018
- var item = _ref7.item;
46053
+ componentId: "sc-wmpr1o-14"
46054
+ })(["border-color:", ";box-shadow:", " inset,", ";width:32px;height:32px;"], function (_ref5) {
46055
+ var item = _ref5.item;
46019
46056
  return rarityColor(item);
46020
- }, function (_ref8) {
46021
- var item = _ref8.item;
46057
+ }, function (_ref6) {
46058
+ var item = _ref6.item;
46022
46059
  return "0 0 5px 8px " + rarityColor(item);
46023
- }, function (_ref9) {
46024
- var item = _ref9.item;
46060
+ }, function (_ref7) {
46061
+ var item = _ref7.item;
46025
46062
  return "0 0 8px 6px " + rarityColor(item);
46026
46063
  });
46027
46064
 
@@ -46190,9 +46227,34 @@ var BuyPanel = function BuyPanel(_ref) {
46190
46227
  return true;
46191
46228
  });
46192
46229
  }, [name, openBuyOrders, price, selectedRarity]);
46230
+ var groupedBuyOrders = React.useMemo(function () {
46231
+ var groups = new Map();
46232
+ for (var _iterator2 = _createForOfIteratorHelperLoose(visibleBuyOrders), _step2; !(_step2 = _iterator2()).done;) {
46233
+ var order = _step2.value;
46234
+ var key = order.itemBlueprintKey;
46235
+ if (!groups.has(key)) groups.set(key, []);
46236
+ groups.get(key).push(order);
46237
+ }
46238
+ return Array.from(groups.values()).map(function (group) {
46239
+ var sorted = [].concat(group).sort(function (a, b) {
46240
+ return b.maxPrice - a.maxPrice;
46241
+ });
46242
+ return {
46243
+ bestOrder: sorted[0],
46244
+ otherOrders: sorted.slice(1)
46245
+ };
46246
+ }).sort(function (a, b) {
46247
+ var totalGold = function totalGold(g) {
46248
+ return [g.bestOrder].concat(g.otherOrders).reduce(function (sum, o) {
46249
+ return sum + o.maxPrice;
46250
+ }, 0);
46251
+ };
46252
+ return totalGold(b) - totalGold(a);
46253
+ });
46254
+ }, [visibleBuyOrders]);
46193
46255
  var showSellSection = browseMode === 'sell';
46194
46256
  var showBuySection = browseMode === 'buy';
46195
- var hasVisibleContent = showSellSection && groupedItems.length > 0 || showBuySection && visibleBuyOrders.length > 0;
46257
+ var hasVisibleContent = showSellSection && groupedItems.length > 0 || showBuySection && groupedBuyOrders.length > 0;
46196
46258
  return React__default.createElement(React__default.Fragment, null, buyingItemId && buyingItem && hasDCBalance && React__default.createElement(MarketplaceBuyModal, {
46197
46259
  goldPrice: buyingItem.price,
46198
46260
  dcEquivalentPrice: getDCEquivalentPrice(buyingItem.price),
@@ -46255,7 +46317,9 @@ var BuyPanel = function BuyPanel(_ref) {
46255
46317
  height: 18
46256
46318
  }))), showFilters && React__default.createElement(OptionsWrapper, {
46257
46319
  showFilters: showFilters
46258
- }, React__default.createElement(WrapperContainer$1, null, React__default.createElement(StyledDropdown$5, {
46320
+ }, React__default.createElement(WrapperContainer$1, {
46321
+ "$sell": showSellSection
46322
+ }, showSellSection && React__default.createElement(StyledDropdown$5, {
46259
46323
  options: itemTypeOptions,
46260
46324
  onChange: onChangeType,
46261
46325
  width: "100%"
@@ -46266,11 +46330,11 @@ var BuyPanel = function BuyPanel(_ref) {
46266
46330
  onChangeRarity(value);
46267
46331
  },
46268
46332
  width: "100%"
46269
- }), React__default.createElement(StyledDropdown$5, {
46333
+ }), showSellSection && React__default.createElement(StyledDropdown$5, {
46270
46334
  options: orderByOptions,
46271
46335
  onChange: onChangeOrder,
46272
46336
  width: "100%"
46273
- })), React__default.createElement(FilterInputsWrapper, null, React__default.createElement("div", null, React__default.createElement("p", null, "Main level"), React__default.createElement("div", {
46337
+ })), React__default.createElement(FilterInputsWrapper, null, showSellSection && React__default.createElement("div", null, React__default.createElement("p", null, "Main level"), React__default.createElement("div", {
46274
46338
  className: "input-group"
46275
46339
  }, React__default.createElement(Input, {
46276
46340
  onChange: function onChange(e) {
@@ -46294,7 +46358,7 @@ var BuyPanel = function BuyPanel(_ref) {
46294
46358
  min: 0,
46295
46359
  onBlur: enableHotkeys,
46296
46360
  onFocus: disableHotkeys
46297
- }))), React__default.createElement("div", null, React__default.createElement("p", null, "Secondary level"), React__default.createElement("div", {
46361
+ }))), showSellSection && React__default.createElement("div", null, React__default.createElement("p", null, "Secondary level"), React__default.createElement("div", {
46298
46362
  className: "input-group"
46299
46363
  }, React__default.createElement(Input, {
46300
46364
  onChange: function onChange(e) {
@@ -46361,14 +46425,16 @@ var BuyPanel = function BuyPanel(_ref) {
46361
46425
  onBuy: setBuyingItemId,
46362
46426
  onDCCoinClick: onDCCoinClick
46363
46427
  });
46364
- })), showBuySection && React__default.createElement(MarketSection, null, React__default.createElement(SectionHeader, null, React__default.createElement(SectionTitle$2, null, "Buy Requests"), React__default.createElement(SectionMeta, null, visibleBuyOrders.length, " visible")), visibleBuyOrders.length === 0 ? React__default.createElement(SectionEmpty, null, "No public buy requests found.") : visibleBuyOrders.map(function (order) {
46365
- return React__default.createElement(BuyOrderRow, {
46366
- key: order._id,
46367
- buyOrder: order,
46428
+ })), showBuySection && React__default.createElement(MarketSection, null, React__default.createElement(SectionHeader, null, React__default.createElement(SectionTitle$2, null, "Buy Requests"), React__default.createElement(SectionMeta, null, groupedBuyOrders.length, " groups")), groupedBuyOrders.length === 0 ? React__default.createElement(SectionEmpty, null, "No public buy requests found.") : groupedBuyOrders.map(function (_ref3) {
46429
+ var bestOrder = _ref3.bestOrder,
46430
+ otherOrders = _ref3.otherOrders;
46431
+ return React__default.createElement(GroupedBuyOrderRow, {
46432
+ key: bestOrder._id,
46433
+ bestOrder: bestOrder,
46434
+ otherOrders: otherOrders,
46368
46435
  atlasJSON: atlasJSON,
46369
46436
  atlasIMG: atlasIMG,
46370
- onFulfill: setFulfillingBuyOrderId,
46371
- showRequestTag: true
46437
+ onFulfill: setFulfillingBuyOrderId
46372
46438
  });
46373
46439
  })))), React__default.createElement(PagerFooter, null, showSellSection && totalItems > itemsPerPage && React__default.createElement(Pager, {
46374
46440
  totalItems: totalItems,
@@ -46393,14 +46459,14 @@ var SearchField = /*#__PURE__*/styled__default.div.withConfig({
46393
46459
  var FilterButton$2 = /*#__PURE__*/styled__default.button.withConfig({
46394
46460
  displayName: "BuyPanel__FilterButton",
46395
46461
  componentId: "sc-1si8t7i-2"
46396
- })(["width:36px;height:36px;border-radius:8px;border:1px solid ", ";background:", ";color:", ";cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color 0.15s,border-color 0.15s,background 0.15s;&:hover{color:#f59e0b;border-color:rgba(245,158,11,0.45);}"], function (_ref3) {
46397
- var $active = _ref3.$active;
46398
- return $active ? 'rgba(245, 158, 11, 0.55)' : 'rgba(255, 255, 255, 0.08)';
46399
- }, function (_ref4) {
46462
+ })(["width:36px;height:36px;border-radius:8px;border:1px solid ", ";background:", ";color:", ";cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color 0.15s,border-color 0.15s,background 0.15s;&:hover{color:#f59e0b;border-color:rgba(245,158,11,0.45);}"], function (_ref4) {
46400
46463
  var $active = _ref4.$active;
46401
- return $active ? 'rgba(245, 158, 11, 0.14)' : 'rgba(255, 255, 255, 0.03)';
46464
+ return $active ? 'rgba(245, 158, 11, 0.55)' : 'rgba(255, 255, 255, 0.08)';
46402
46465
  }, function (_ref5) {
46403
46466
  var $active = _ref5.$active;
46467
+ return $active ? 'rgba(245, 158, 11, 0.14)' : 'rgba(255, 255, 255, 0.03)';
46468
+ }, function (_ref6) {
46469
+ var $active = _ref6.$active;
46404
46470
  return $active ? '#f59e0b' : '#ccc';
46405
46471
  });
46406
46472
  var BrowseModeRow = /*#__PURE__*/styled__default.div.withConfig({
@@ -46410,18 +46476,21 @@ var BrowseModeRow = /*#__PURE__*/styled__default.div.withConfig({
46410
46476
  var OptionsWrapper = /*#__PURE__*/styled__default.div.withConfig({
46411
46477
  displayName: "BuyPanel__OptionsWrapper",
46412
46478
  componentId: "sc-1si8t7i-4"
46413
- })(["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:10px;display:flex;flex-direction:column;gap:", ";"], function (_ref6) {
46414
- var showFilters = _ref6.showFilters;
46479
+ })(["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:10px;display:flex;flex-direction:column;gap:", ";"], function (_ref7) {
46480
+ var showFilters = _ref7.showFilters;
46415
46481
  return showFilters ? '15px' : '0';
46416
46482
  });
46417
46483
  var FilterInputsWrapper = /*#__PURE__*/styled__default.div.withConfig({
46418
46484
  displayName: "BuyPanel__FilterInputsWrapper",
46419
46485
  componentId: "sc-1si8t7i-5"
46420
- })(["display:grid;grid-template-columns:repeat(3,1fr);gap:15px;color:white;> div{display:flex;flex-direction:column;gap:5px;}p{margin:0;font-size:0.65rem;color:#aaa;text-transform:uppercase;letter-spacing:1px;}.input-group{display:flex;align-items:center;gap:5px;input{width:100%;height:10px;}}.separator-icon{flex-shrink:0;color:rgba(255,255,255,0.3);}"]);
46486
+ })(["display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:15px;color:white;> div{display:flex;flex-direction:column;gap:5px;}p{margin:0;font-size:0.65rem;color:#aaa;text-transform:uppercase;letter-spacing:1px;}.input-group{display:flex;align-items:center;gap:5px;input{width:100%;height:10px;}}.separator-icon{flex-shrink:0;color:rgba(255,255,255,0.3);}"]);
46421
46487
  var WrapperContainer$1 = /*#__PURE__*/styled__default.div.withConfig({
46422
46488
  displayName: "BuyPanel__WrapperContainer",
46423
46489
  componentId: "sc-1si8t7i-6"
46424
- })(["display:grid;grid-template-columns:1fr 1fr 1fr;gap:15px;.rpgui-content .rpgui-dropdown-imp-header{padding:0px 10px 0 !important;}"]);
46490
+ })(["display:grid;grid-template-columns:", ";gap:15px;.rpgui-content .rpgui-dropdown-imp-header{padding:0px 10px 0 !important;}"], function (_ref8) {
46491
+ var $sell = _ref8.$sell;
46492
+ return $sell ? 'repeat(3, 1fr)' : 'minmax(0, 200px)';
46493
+ });
46425
46494
  var ItemComponentScrollWrapper$1 = /*#__PURE__*/styled__default.div.withConfig({
46426
46495
  displayName: "BuyPanel__ItemComponentScrollWrapper",
46427
46496
  componentId: "sc-1si8t7i-7"
@@ -70150,9 +70219,9 @@ var StoreItemRow = function StoreItemRow(_ref) {
70150
70219
  resetQuantity();
70151
70220
  }
70152
70221
  };
70153
- return React__default.createElement(ItemWrapper$1, {
70222
+ return React__default.createElement(ItemRowWrapper, {
70154
70223
  "$isHighlighted": ((_item$store = item.store) == null ? void 0 : _item$store.isHighlighted) || false
70155
- }, React__default.createElement(ItemIconContainer$2, null, React__default.createElement(SpriteFromAtlas, {
70224
+ }, React__default.createElement(LeftSection, null, React__default.createElement(ItemIconContainer$2, null, React__default.createElement(SpriteFromAtlas, {
70156
70225
  atlasJSON: atlasJSON,
70157
70226
  atlasIMG: atlasIMG,
70158
70227
  spriteKey: item.texturePath,
@@ -70160,7 +70229,7 @@ var StoreItemRow = function StoreItemRow(_ref) {
70160
70229
  height: 32,
70161
70230
  imgScale: 2,
70162
70231
  centered: true
70163
- })), React__default.createElement(ItemDetails$5, null, React__default.createElement(ItemName$6, null, item.name), React__default.createElement(ItemPrice$1, null, "$", item.price, item.dcPrice ? " \xB7 " + item.dcPrice.toLocaleString() + " DC" : ''), React__default.createElement(ItemDescription, null, item.description)), React__default.createElement(Controls$1, null, showTextInput ? React__default.createElement(TextInput, {
70232
+ })), React__default.createElement(ItemDetails$5, null, React__default.createElement(ItemName$6, null, item.name), React__default.createElement(ItemPrice$1, null, "$", item.price, item.dcPrice ? " \xB7 " + item.dcPrice.toLocaleString() + " DC" : ''), React__default.createElement(ItemDescription, null, item.description))), React__default.createElement(Controls$1, null, showTextInput ? React__default.createElement(TextInput, {
70164
70233
  type: "text",
70165
70234
  value: textInputValue,
70166
70235
  placeholder: textInputPlaceholder,
@@ -70191,14 +70260,10 @@ var StoreItemRow = function StoreItemRow(_ref) {
70191
70260
  disabled: !hasRequiredAccount
70192
70261
  })));
70193
70262
  };
70194
- var ItemWrapper$1 = /*#__PURE__*/styled__default.div.withConfig({
70195
- displayName: "StoreItemRow__ItemWrapper",
70263
+ var LeftSection = /*#__PURE__*/styled__default.div.withConfig({
70264
+ displayName: "StoreItemRow__LeftSection",
70196
70265
  componentId: "sc-ptotuo-0"
70197
- })(["display:flex;align-items:center;gap:0.75rem;padding:0.5rem 1rem;border-bottom:1px solid rgba(255,255,255,0.1);background:", ";border-left:", ";&:last-child{border-bottom:none;}"], function (props) {
70198
- return props.$isHighlighted ? 'rgba(255, 215, 0, 0.1)' : 'transparent';
70199
- }, function (props) {
70200
- return props.$isHighlighted ? '3px solid #ffd700' : '3px solid transparent';
70201
- });
70266
+ })(["display:flex;align-items:center;gap:0.75rem;flex:1;min-width:0;"]);
70202
70267
  var ItemIconContainer$2 = /*#__PURE__*/styled__default.div.withConfig({
70203
70268
  displayName: "StoreItemRow__ItemIconContainer",
70204
70269
  componentId: "sc-ptotuo-1"
@@ -70291,6 +70356,7 @@ var StoreItemsSection = function StoreItemsSection(_ref) {
70291
70356
  var _useStoreFiltering = useStoreFiltering(items),
70292
70357
  searchQuery = _useStoreFiltering.searchQuery,
70293
70358
  setSearchQuery = _useStoreFiltering.setSearchQuery,
70359
+ selectedCategory = _useStoreFiltering.selectedCategory,
70294
70360
  setSelectedCategory = _useStoreFiltering.setSelectedCategory,
70295
70361
  categoryOptions = _useStoreFiltering.categoryOptions,
70296
70362
  filteredItems = _useStoreFiltering.filteredItems;
@@ -70332,13 +70398,18 @@ var StoreItemsSection = function StoreItemsSection(_ref) {
70332
70398
  value: searchQuery,
70333
70399
  onChange: setSearchQuery,
70334
70400
  placeholder: "Search items..."
70335
- })), React__default.createElement(DropdownContainer$2, null, React__default.createElement(Dropdown, {
70336
- options: categoryOptions,
70337
- onChange: function onChange(value) {
70338
- return setSelectedCategory(value);
70339
- },
70340
- width: "100%"
70341
- }))), React__default.createElement(ScrollableContent, {
70401
+ })), React__default.createElement(SegmentedToggle, {
70402
+ options: categoryOptions.map(function (opt) {
70403
+ return {
70404
+ id: opt.value,
70405
+ label: opt.option
70406
+ };
70407
+ }),
70408
+ activeId: selectedCategory,
70409
+ onChange: function onChange(id) {
70410
+ return setSelectedCategory(id);
70411
+ }
70412
+ })), React__default.createElement(ScrollableContent, {
70342
70413
  items: filteredItems,
70343
70414
  renderItem: renderStoreItem,
70344
70415
  emptyMessage: "No items match your filters.",
@@ -70358,10 +70429,6 @@ var SearchBarContainer$1 = /*#__PURE__*/styled__default.div.withConfig({
70358
70429
  displayName: "StoreItemsSection__SearchBarContainer",
70359
70430
  componentId: "sc-l6f466-2"
70360
70431
  })(["flex:0.75;"]);
70361
- var DropdownContainer$2 = /*#__PURE__*/styled__default.div.withConfig({
70362
- displayName: "StoreItemsSection__DropdownContainer",
70363
- componentId: "sc-l6f466-3"
70364
- })(["flex:0.25;min-width:140px;"]);
70365
70432
 
70366
70433
  var usePackFiltering = function usePackFiltering(packs) {
70367
70434
  var _useState = React.useState(''),
@@ -70379,12 +70446,48 @@ var usePackFiltering = function usePackFiltering(packs) {
70379
70446
  };
70380
70447
  };
70381
70448
 
70382
- var StorePacksSection = function StorePacksSection(_ref) {
70383
- var packs = _ref.packs,
70449
+ var PackRowItem = function PackRowItem(_ref) {
70450
+ var pack = _ref.pack,
70384
70451
  onAddToCart = _ref.onAddToCart,
70385
- onSelectPack = _ref.onSelectPack,
70386
- atlasJSON = _ref.atlasJSON,
70387
- atlasIMG = _ref.atlasIMG;
70452
+ renderPackIcon = _ref.renderPackIcon;
70453
+ var _useQuantityControl = useQuantityControl(),
70454
+ quantity = _useQuantityControl.quantity,
70455
+ handleQuantityChange = _useQuantityControl.handleQuantityChange,
70456
+ handleBlur = _useQuantityControl.handleBlur,
70457
+ incrementQuantity = _useQuantityControl.incrementQuantity,
70458
+ decrementQuantity = _useQuantityControl.decrementQuantity,
70459
+ resetQuantity = _useQuantityControl.resetQuantity;
70460
+ var handleAdd = function handleAdd() {
70461
+ onAddToCart(pack, quantity);
70462
+ resetQuantity();
70463
+ };
70464
+ return React__default.createElement(PackRow, null, React__default.createElement(LeftSection$1, null, React__default.createElement(PackIconContainer, null, renderPackIcon(pack)), React__default.createElement(PackDetails, null, React__default.createElement(PackName, null, pack.title), React__default.createElement(PackPrice, null, "$", pack.priceUSD), pack.description && React__default.createElement(PackDescription, null, pack.description))), React__default.createElement(Controls$2, null, React__default.createElement(ArrowsContainer$1, null, React__default.createElement(SelectArrow, {
70465
+ direction: "left",
70466
+ onPointerDown: decrementQuantity,
70467
+ size: 24
70468
+ }), React__default.createElement(QuantityInput$1, {
70469
+ type: "number",
70470
+ value: quantity,
70471
+ onChange: handleQuantityChange,
70472
+ onBlur: handleBlur,
70473
+ min: 1,
70474
+ max: 99,
70475
+ className: "rpgui-input"
70476
+ }), React__default.createElement(SelectArrow, {
70477
+ direction: "right",
70478
+ onPointerDown: incrementQuantity,
70479
+ size: 24
70480
+ })), React__default.createElement(CTAButton, {
70481
+ icon: React__default.createElement(fa.FaCartPlus, null),
70482
+ label: "Add",
70483
+ onClick: handleAdd
70484
+ })));
70485
+ };
70486
+ var StorePacksSection = function StorePacksSection(_ref2) {
70487
+ var packs = _ref2.packs,
70488
+ onAddToCart = _ref2.onAddToCart,
70489
+ atlasJSON = _ref2.atlasJSON,
70490
+ atlasIMG = _ref2.atlasIMG;
70388
70491
  var _usePackFiltering = usePackFiltering(packs),
70389
70492
  searchQuery = _usePackFiltering.searchQuery,
70390
70493
  setSearchQuery = _usePackFiltering.setSearchQuery,
@@ -70413,20 +70516,13 @@ var StorePacksSection = function StorePacksSection(_ref) {
70413
70516
  });
70414
70517
  }, [atlasJSON, atlasIMG]);
70415
70518
  var renderPack = React.useCallback(function (pack) {
70416
- return React__default.createElement(PackRow, {
70519
+ return React__default.createElement(PackRowItem, {
70417
70520
  key: pack.key,
70418
- onClick: function onClick() {
70419
- return onSelectPack == null ? void 0 : onSelectPack(pack);
70420
- }
70421
- }, React__default.createElement(PackIconContainer, null, renderPackIcon(pack)), React__default.createElement(PackDetails, null, React__default.createElement(PackName, null, pack.title), React__default.createElement(PackPrice, null, "$", pack.priceUSD), pack.description && React__default.createElement(PackDescription, null, pack.description)), React__default.createElement(Controls$2, null, React__default.createElement(CTAButton, {
70422
- icon: React__default.createElement(fa.FaCartPlus, null),
70423
- label: "Add",
70424
- onClick: function onClick(e) {
70425
- e.stopPropagation();
70426
- onAddToCart(pack);
70427
- }
70428
- })));
70429
- }, [onSelectPack, onAddToCart]);
70521
+ pack: pack,
70522
+ onAddToCart: onAddToCart,
70523
+ renderPackIcon: renderPackIcon
70524
+ });
70525
+ }, [onAddToCart, renderPackIcon]);
70430
70526
  return React__default.createElement(ScrollableContent, {
70431
70527
  items: filteredPacks,
70432
70528
  renderItem: renderPack,
@@ -70440,34 +70536,46 @@ var StorePacksSection = function StorePacksSection(_ref) {
70440
70536
  maxHeight: "420px"
70441
70537
  });
70442
70538
  };
70443
- var PackRow = /*#__PURE__*/styled__default.div.withConfig({
70539
+ var PackRow = /*#__PURE__*/styled__default(ItemRowWrapper).withConfig({
70444
70540
  displayName: "StorePacksSection__PackRow",
70445
70541
  componentId: "sc-ulazq3-0"
70446
- })(["display:flex;align-items:center;gap:0.75rem;padding:0.5rem 1rem;border-bottom:1px solid rgba(255,255,255,0.1);cursor:pointer;&:last-child{border-bottom:none;}&:hover{background:rgba(255,255,255,0.04);}"]);
70542
+ })([""]);
70543
+ var LeftSection$1 = /*#__PURE__*/styled__default.div.withConfig({
70544
+ displayName: "StorePacksSection__LeftSection",
70545
+ componentId: "sc-ulazq3-1"
70546
+ })(["display:flex;align-items:center;gap:0.75rem;flex:1;min-width:0;"]);
70447
70547
  var PackIconContainer = /*#__PURE__*/styled__default.div.withConfig({
70448
70548
  displayName: "StorePacksSection__PackIconContainer",
70449
- componentId: "sc-ulazq3-1"
70549
+ componentId: "sc-ulazq3-2"
70450
70550
  })(["width:40px;height:40px;flex-shrink:0;display:flex;align-items:center;justify-content:center;img{width:100%;height:100%;object-fit:cover;}"]);
70451
70551
  var PackDetails = /*#__PURE__*/styled__default.div.withConfig({
70452
70552
  displayName: "StorePacksSection__PackDetails",
70453
- componentId: "sc-ulazq3-2"
70553
+ componentId: "sc-ulazq3-3"
70454
70554
  })(["flex:1;display:flex;flex-direction:column;gap:0.25rem;min-width:0;"]);
70455
70555
  var PackName = /*#__PURE__*/styled__default.div.withConfig({
70456
70556
  displayName: "StorePacksSection__PackName",
70457
- componentId: "sc-ulazq3-3"
70557
+ componentId: "sc-ulazq3-4"
70458
70558
  })(["font-family:'Press Start 2P',cursive;font-size:0.75rem;color:#ffffff;"]);
70459
70559
  var PackPrice = /*#__PURE__*/styled__default.div.withConfig({
70460
70560
  displayName: "StorePacksSection__PackPrice",
70461
- componentId: "sc-ulazq3-4"
70561
+ componentId: "sc-ulazq3-5"
70462
70562
  })(["font-family:'Press Start 2P',cursive;font-size:0.625rem;color:#fef08a;"]);
70463
70563
  var PackDescription = /*#__PURE__*/styled__default.div.withConfig({
70464
70564
  displayName: "StorePacksSection__PackDescription",
70465
- componentId: "sc-ulazq3-5"
70565
+ componentId: "sc-ulazq3-6"
70466
70566
  })(["font-family:'Press Start 2P',cursive;font-size:0.625rem;color:rgba(255,255,255,0.7);line-height:1.4;"]);
70467
70567
  var Controls$2 = /*#__PURE__*/styled__default.div.withConfig({
70468
70568
  displayName: "StorePacksSection__Controls",
70469
- componentId: "sc-ulazq3-6"
70470
- })(["display:flex;align-items:center;flex-shrink:0;"]);
70569
+ componentId: "sc-ulazq3-7"
70570
+ })(["display:flex;align-items:center;gap:0.5rem;flex-shrink:0;"]);
70571
+ var ArrowsContainer$1 = /*#__PURE__*/styled__default.div.withConfig({
70572
+ displayName: "StorePacksSection__ArrowsContainer",
70573
+ componentId: "sc-ulazq3-8"
70574
+ })(["position:relative;display:flex;align-items:center;width:120px;height:42px;justify-content:space-between;"]);
70575
+ var QuantityInput$1 = /*#__PURE__*/styled__default.input.withConfig({
70576
+ displayName: "StorePacksSection__QuantityInput",
70577
+ componentId: "sc-ulazq3-9"
70578
+ })(["width:40px;text-align:center;margin:0 auto;font-size:0.875rem;background:rgba(0,0,0,0.2);color:#ffffff;border:none;padding:0.25rem;&::-webkit-inner-spin-button,&::-webkit-outer-spin-button{-webkit-appearance:none;margin:0;}"]);
70471
70579
 
70472
70580
  var StoreItemDetails = function StoreItemDetails(_ref) {
70473
70581
  var item = _ref.item,
@@ -70539,6 +70647,7 @@ var Actions = /*#__PURE__*/styled__default.div.withConfig({
70539
70647
  })(["margin-top:auto;padding-top:1rem;border-top:1px solid rgba(255,255,255,0.1);"]);
70540
70648
 
70541
70649
  var Store = function Store(_ref) {
70650
+ var _tabsMap$activeTab;
70542
70651
  var items = _ref.items,
70543
70652
  _ref$packs = _ref.packs,
70544
70653
  packs = _ref$packs === void 0 ? [] : _ref$packs,
@@ -70562,7 +70671,8 @@ var Store = function Store(_ref) {
70562
70671
  customPacksContent = _ref.customPacksContent,
70563
70672
  customWalletContent = _ref.customWalletContent,
70564
70673
  _ref$packsTabLabel = _ref.packsTabLabel,
70565
- packsTabLabel = _ref$packsTabLabel === void 0 ? 'Packs' : _ref$packsTabLabel;
70674
+ packsTabLabel = _ref$packsTabLabel === void 0 ? 'Packs' : _ref$packsTabLabel,
70675
+ packsBadge = _ref.packsBadge;
70566
70676
  var _useState = React.useState(null),
70567
70677
  selectedPack = _useState[0],
70568
70678
  setSelectedPack = _useState[1];
@@ -70593,7 +70703,10 @@ var Store = function Store(_ref) {
70593
70703
  var _useState4 = React.useState(null),
70594
70704
  currentMetadataItem = _useState4[0],
70595
70705
  setCurrentMetadataItem = _useState4[1];
70596
- var handleAddPackToCart = function handleAddPackToCart(pack) {
70706
+ var handleAddPackToCart = function handleAddPackToCart(pack, quantity) {
70707
+ if (quantity === void 0) {
70708
+ quantity = 1;
70709
+ }
70597
70710
  var packItem = {
70598
70711
  key: pack.key,
70599
70712
  name: pack.title,
@@ -70625,7 +70738,7 @@ var Store = function Store(_ref) {
70625
70738
  maxStackSize: 1,
70626
70739
  isUsable: false
70627
70740
  };
70628
- handleAddToCart(packItem, 1);
70741
+ handleAddToCart(packItem, quantity);
70629
70742
  };
70630
70743
  var filterItems = function filterItems(itemsToFilter, type) {
70631
70744
  return itemsToFilter.filter(function (item) {
@@ -70676,6 +70789,10 @@ var Store = function Store(_ref) {
70676
70789
  premium: {
70677
70790
  id: 'premium',
70678
70791
  title: 'Premium',
70792
+ icon: React__default.createElement(Crown.Crown, {
70793
+ width: 18,
70794
+ height: 18
70795
+ }),
70679
70796
  content: React__default.createElement(StorePacksSection, {
70680
70797
  packs: packs.filter(function (pack) {
70681
70798
  return pack.priceUSD >= 9.99;
@@ -70688,7 +70805,15 @@ var Store = function Store(_ref) {
70688
70805
  },
70689
70806
  packs: {
70690
70807
  id: 'packs',
70691
- title: packsTabLabel,
70808
+ title: packsBadge ? React__default.createElement(TabLabelWithBadge, null, packsTabLabel, React__default.createElement(LabelPill, {
70809
+ background: "#f59e0b",
70810
+ borderColor: "#f59e0b",
70811
+ color: "#000"
70812
+ }, packsBadge)) : packsTabLabel,
70813
+ icon: React__default.createElement(Gift.Gift, {
70814
+ width: 18,
70815
+ height: 18
70816
+ }),
70692
70817
  content: customPacksContent != null ? customPacksContent : React__default.createElement(StorePacksSection, {
70693
70818
  packs: hidePremiumTab ? packs : packs.filter(function (pack) {
70694
70819
  return pack.priceUSD < 9.99;
@@ -70702,6 +70827,10 @@ var Store = function Store(_ref) {
70702
70827
  items: {
70703
70828
  id: 'items',
70704
70829
  title: 'Items',
70830
+ icon: React__default.createElement(Box.Box, {
70831
+ width: 18,
70832
+ height: 18
70833
+ }),
70705
70834
  content: React__default.createElement(StoreItemsSection, {
70706
70835
  items: filteredItems.items,
70707
70836
  onAddToCart: handleAddToCart,
@@ -70714,12 +70843,13 @@ var Store = function Store(_ref) {
70714
70843
  wallet: {
70715
70844
  id: 'wallet',
70716
70845
  title: 'Wallet',
70846
+ icon: React__default.createElement(Wallet.Wallet, {
70847
+ width: 18,
70848
+ height: 18
70849
+ }),
70717
70850
  content: customWalletContent != null ? customWalletContent : null
70718
70851
  }
70719
70852
  };
70720
- var tabs = availableTabIds.map(function (id) {
70721
- return tabsMap[id];
70722
- });
70723
70853
  return React__default.createElement(DraggableContainer, {
70724
70854
  title: "Store",
70725
70855
  onCloseButton: onClose,
@@ -70782,18 +70912,19 @@ var Store = function Store(_ref) {
70782
70912
  icon: React__default.createElement(fa.FaShoppingCart, null),
70783
70913
  label: getTotalItems() + " items ($" + getTotalPrice().toFixed(2) + ")",
70784
70914
  onClick: openCart
70785
- }))), React__default.createElement(MainContent$1, null, React__default.createElement(InternalTabs, {
70786
- tabs: tabs,
70787
- activeTextColor: "#000000",
70788
- activeColor: "#fef08a",
70789
- inactiveColor: "#6b7280",
70790
- borderColor: "#f59e0b",
70791
- hoverColor: "#fef3c7",
70792
- activeTab: activeTab,
70915
+ }))), React__default.createElement(MainContent$1, null, React__default.createElement(Tabs, {
70916
+ options: availableTabIds.map(function (id) {
70917
+ return {
70918
+ id: id,
70919
+ label: tabsMap[id].title,
70920
+ icon: tabsMap[id].icon
70921
+ };
70922
+ }),
70923
+ activeTabId: activeTab,
70793
70924
  onTabChange: function onTabChange(tabId) {
70794
70925
  return setActiveTab(tabId);
70795
70926
  }
70796
- })), cartItems.length > 0 && React__default.createElement(Footer$2, null, React__default.createElement(CartSummary, null, React__default.createElement(CartInfo, null, React__default.createElement("span", null, "Items in cart:"), React__default.createElement("span", null, getTotalItems())), React__default.createElement(CartInfo, null, React__default.createElement("span", null, "Total:"), React__default.createElement("span", null, "$", getTotalPrice().toFixed(2)))), React__default.createElement(CTAButton, {
70927
+ }), React__default.createElement(TabContent, null, (_tabsMap$activeTab = tabsMap[activeTab]) == null ? void 0 : _tabsMap$activeTab.content)), cartItems.length > 0 && React__default.createElement(Footer$2, null, React__default.createElement(CartSummary, null, React__default.createElement(CartInfo, null, React__default.createElement("span", null, "Items in cart:"), React__default.createElement("span", null, getTotalItems())), React__default.createElement(CartInfo, null, React__default.createElement("span", null, "Total:"), React__default.createElement("span", null, "$", getTotalPrice().toFixed(2)))), React__default.createElement(CTAButton, {
70797
70928
  icon: React__default.createElement(fa.FaShoppingCart, null),
70798
70929
  label: "Proceed to Checkout ($" + getTotalPrice().toFixed(2) + ")",
70799
70930
  onClick: openCart,
@@ -70819,26 +70950,34 @@ var CartButton = /*#__PURE__*/styled__default.div.withConfig({
70819
70950
  var MainContent$1 = /*#__PURE__*/styled__default.div.withConfig({
70820
70951
  displayName: "Store__MainContent",
70821
70952
  componentId: "sc-64dj00-4"
70822
- })(["flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden;.rpgui-tabs-content{flex:1;overflow-y:auto;padding-right:0.5rem;}"]);
70953
+ })(["flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden;"]);
70954
+ var TabContent = /*#__PURE__*/styled__default.div.withConfig({
70955
+ displayName: "Store__TabContent",
70956
+ componentId: "sc-64dj00-5"
70957
+ })(["flex:1;overflow-y:auto;padding-right:0.5rem;"]);
70823
70958
  var Footer$2 = /*#__PURE__*/styled__default.div.withConfig({
70824
70959
  displayName: "Store__Footer",
70825
- componentId: "sc-64dj00-5"
70960
+ componentId: "sc-64dj00-6"
70826
70961
  })(["display:flex;flex-direction:column;gap:1rem;padding:1rem;border-top:2px solid #f59e0b;background:rgba(0,0,0,0.2);flex-shrink:0;"]);
70827
70962
  var CartSummary = /*#__PURE__*/styled__default.div.withConfig({
70828
70963
  displayName: "Store__CartSummary",
70829
- componentId: "sc-64dj00-6"
70964
+ componentId: "sc-64dj00-7"
70830
70965
  })(["display:flex;flex-direction:column;gap:0.5rem;"]);
70831
70966
  var CartInfo = /*#__PURE__*/styled__default.div.withConfig({
70832
70967
  displayName: "Store__CartInfo",
70833
- componentId: "sc-64dj00-7"
70968
+ componentId: "sc-64dj00-8"
70834
70969
  })(["display:flex;align-items:center;gap:0.75rem;font-family:'Press Start 2P',cursive;font-size:0.75rem;color:#ffffff;span:last-child{color:#fef08a;}"]);
70970
+ var TabLabelWithBadge = /*#__PURE__*/styled__default.span.withConfig({
70971
+ displayName: "Store__TabLabelWithBadge",
70972
+ componentId: "sc-64dj00-9"
70973
+ })(["display:inline-flex;align-items:center;gap:5px;"]);
70835
70974
  var LoadingMessage$1 = /*#__PURE__*/styled__default.div.withConfig({
70836
70975
  displayName: "Store__LoadingMessage",
70837
- componentId: "sc-64dj00-8"
70976
+ componentId: "sc-64dj00-10"
70838
70977
  })(["text-align:center;color:", ";padding:2rem;"], uiColors.white);
70839
70978
  var ErrorMessage$3 = /*#__PURE__*/styled__default.div.withConfig({
70840
70979
  displayName: "Store__ErrorMessage",
70841
- componentId: "sc-64dj00-9"
70980
+ componentId: "sc-64dj00-11"
70842
70981
  })(["text-align:center;color:", ";padding:2rem;"], uiColors.red);
70843
70982
 
70844
70983
  var PaymentMethodModal = function PaymentMethodModal(_ref) {
@@ -71130,7 +71269,7 @@ var TradingItemRow = function TradingItemRow(_ref) {
71130
71269
  }
71131
71270
  return null;
71132
71271
  };
71133
- return React__default.createElement(ItemWrapper$2, null, React__default.createElement(ItemIconContainer$3, null, React__default.createElement(SpriteContainer$6, null, React__default.createElement(ItemInfoWrapper, {
71272
+ return React__default.createElement(ItemWrapper$1, null, React__default.createElement(ItemIconContainer$3, null, React__default.createElement(SpriteContainer$6, null, React__default.createElement(ItemInfoWrapper, {
71134
71273
  atlasIMG: atlasIMG,
71135
71274
  atlasJSON: atlasJSON,
71136
71275
  equipmentSet: equipmentSet,
@@ -71164,7 +71303,7 @@ var TradingItemRow = function TradingItemRow(_ref) {
71164
71303
  onPointerDown: function onPointerDown() {
71165
71304
  return onLeftClick();
71166
71305
  }
71167
- }), React__default.createElement(QuantityInput$1, {
71306
+ }), React__default.createElement(QuantityInput$2, {
71168
71307
  type: "text",
71169
71308
  value: inputQty,
71170
71309
  onChange: handleQuantityChange,
@@ -71190,7 +71329,7 @@ var StyledArrow = /*#__PURE__*/styled__default(SelectArrow).withConfig({
71190
71329
  displayName: "TradingItemRow__StyledArrow",
71191
71330
  componentId: "sc-mja0b5-0"
71192
71331
  })(["margin:0 1.5rem;"]);
71193
- var ItemWrapper$2 = /*#__PURE__*/styled__default.div.withConfig({
71332
+ var ItemWrapper$1 = /*#__PURE__*/styled__default.div.withConfig({
71194
71333
  displayName: "TradingItemRow__ItemWrapper",
71195
71334
  componentId: "sc-mja0b5-1"
71196
71335
  })(["width:100%;display:flex;justify-content:space-between;margin-bottom:0.5rem;padding:0.25rem;&:hover{background-color:", ";}"], uiColors.darkGray);
@@ -71214,7 +71353,7 @@ var QuantityContainer$1 = /*#__PURE__*/styled__default.div.withConfig({
71214
71353
  displayName: "TradingItemRow__QuantityContainer",
71215
71354
  componentId: "sc-mja0b5-6"
71216
71355
  })(["display:flex;min-width:90px;width:40%;justify-content:flex-end;align-items:center;flex:30%;gap:2px;position:relative;"]);
71217
- var QuantityInput$1 = /*#__PURE__*/styled__default.input.withConfig({
71356
+ var QuantityInput$2 = /*#__PURE__*/styled__default.input.withConfig({
71218
71357
  displayName: "TradingItemRow__QuantityInput",
71219
71358
  componentId: "sc-mja0b5-7"
71220
71359
  })(["width:30px;text-align:center;background-color:", ";color:white;border:none;padding:1px;font-size:", ";position:relative;right:4px;"], uiColors.darkGray, uiFonts.size.small);
@@ -71549,6 +71688,7 @@ exports.EquipmentSlotSpriteByType = EquipmentSlotSpriteByType;
71549
71688
  exports.ErrorBoundary = ErrorBoundary;
71550
71689
  exports.FriendList = FriendList;
71551
71690
  exports.GemSelector = GemSelector;
71691
+ exports.GroupedBuyOrderRow = GroupedBuyOrderRow;
71552
71692
  exports.GroupedMarketplaceRow = GroupedMarketplaceRow;
71553
71693
  exports.HISTORY_ITEMS_PER_PAGE = HISTORY_ITEMS_PER_PAGE;
71554
71694
  exports.HistoryDialog = HistoryDialog;