@rpg-engine/long-bow 0.8.34 → 0.8.36

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.
@@ -2,7 +2,7 @@ import React, { useState, useEffect, Component, useRef, useCallback, useContext,
2
2
  import styled, { css, keyframes } from 'styled-components';
3
3
  import { BeatLoader } from 'react-spinners';
4
4
  import { v4 } from 'uuid';
5
- import { GRID_WIDTH, GRID_HEIGHT, ShortcutType, getItemTextureKeyPath, ItemRarities, ItemContainerType, ItemType, DepotSocketEvents, ItemSocketEvents, ItemSocketEventsDisplayLabels, ActionsForInventory, ActionsForEquipmentSet, ActionsForLoot, ActionsForMapContainer, ItemSubType, isMobile, ItemSlotType, isMobileOrTablet, NPCSubtype, EntityAttackType, NPCAlignment, VideoGuideCategory, VideoGuideLanguage, CharacterClass, QuestStatus, getSPForLevel, getXPForLevel, PeriodOfDay, UserAccountTypes } 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, ItemSlotType, isMobileOrTablet, NPCSubtype, EntityAttackType, NPCAlignment, VideoGuideCategory, VideoGuideLanguage, CharacterClass, QuestStatus, getSPForLevel, getXPForLevel, PeriodOfDay, UserAccountTypes } from '@rpg-engine/shared';
6
6
  import dayjs from 'dayjs';
7
7
  import { ErrorBoundary as ErrorBoundary$1 } from 'react-error-boundary';
8
8
  import { FaTimes, FaDiscord, FaWhatsapp, FaSearch, FaThumbtack, FaBoxOpen, FaChevronLeft, FaChevronRight, FaChevronUp, FaChevronDown, FaReddit } from 'react-icons/fa';
@@ -27518,175 +27518,6 @@ function useTouchTarget() {
27518
27518
  return getTouchTarget;
27519
27519
  }
27520
27520
 
27521
- var rarityColor = function rarityColor(item) {
27522
- switch (item == null ? void 0 : item.rarity) {
27523
- case ItemRarities.Uncommon:
27524
- return 'rgba(13, 193, 13, 0.6)';
27525
- case ItemRarities.Rare:
27526
- return 'rgba(8, 104, 187, 0.6)';
27527
- case ItemRarities.Epic:
27528
- return 'rgba(191, 0, 255, 0.6)';
27529
- case ItemRarities.Legendary:
27530
- return 'rgba(255, 191, 0,0.6)';
27531
- default:
27532
- return null;
27533
- }
27534
- };
27535
-
27536
- var gemColors = {
27537
- 'emerald-gem': '#50C878',
27538
- 'topaz-radiance': '#FFC87C',
27539
- 'sapphire-gem': '#0F52BA',
27540
- 'ruby-gem': '#E0115F',
27541
- 'misty-quartz-gem': '#D9D9F3',
27542
- 'coral-reef-gem': '#FF7F50',
27543
- 'jasper-gem': '#D73B3E',
27544
- 'earthstone-gem': '#8B4513',
27545
- 'obsidian-gem': '#0B0C0E',
27546
- 'amethyst-gem': '#9966CC'
27547
- };
27548
- var defaultColor = '#FFFFFF'; // Default color (white)
27549
- var onRenderGems = function onRenderGems(item) {
27550
- var _item$attachedGems;
27551
- var gemQty = ((_item$attachedGems = item.attachedGems) == null ? void 0 : _item$attachedGems.length) || 0;
27552
- if (gemQty > 0) {
27553
- return React.createElement(ItemSlotQty, {
27554
- item: item
27555
- });
27556
- }
27557
- return undefined;
27558
- };
27559
- var ItemSlotQty = function ItemSlotQty(_ref) {
27560
- var _item$attachedGems2;
27561
- var item = _ref.item;
27562
- var itemId = item._id;
27563
- return React.createElement(ItemQtyContainer, {
27564
- key: "qty-" + itemId,
27565
- className: "item-slot-qty"
27566
- }, (_item$attachedGems2 = item.attachedGems) == null ? void 0 : _item$attachedGems2.map(function (gem, index) {
27567
- return React.createElement(Gem, {
27568
- key: itemId + "-gem-" + index,
27569
- color: gemColors[gem.key] || defaultColor
27570
- });
27571
- }));
27572
- };
27573
- var ItemQtyContainer = /*#__PURE__*/styled.div.withConfig({
27574
- displayName: "ItemGem__ItemQtyContainer",
27575
- componentId: "sc-1ekseaq-0"
27576
- })(["position:relative;width:85%;height:16px;top:28px;left:0px;pointer-events:none;transform:scale(0.8);display:flex;align-items:center;justify-content:flex-start;opacity:0.8;"]);
27577
- var Gem = /*#__PURE__*/styled.div.withConfig({
27578
- displayName: "ItemGem__Gem",
27579
- componentId: "sc-1ekseaq-1"
27580
- })(["width:8px;height:8px;background:", ";border:1px solid black;transform:rotate(45deg);margin:0 2px;box-shadow:0 0 5px ", ";transition:transform 0.2s,box-shadow 0.2s;&:hover{transform:rotate(45deg) scale(1.2);box-shadow:0 0 10px ", ";}"], function (_ref2) {
27581
- var color = _ref2.color;
27582
- return "radial-gradient(circle at 20% 20%, rgba(255, 255, 255, 0.8), transparent 30%), \n linear-gradient(45deg, " + color + ", " + color + " 50%, rgba(255, 255, 255, 0.2))";
27583
- }, function (_ref3) {
27584
- var color = _ref3.color;
27585
- return color;
27586
- }, function (_ref4) {
27587
- var color = _ref4.color;
27588
- return color;
27589
- });
27590
-
27591
- var onRenderStackInfo = function onRenderStackInfo(itemId, stackQty) {
27592
- var isFractionalStackQty = stackQty % 1 !== 0;
27593
- var isLargerThan999 = stackQty > 999;
27594
- var qtyClassName = 'regular';
27595
- if (isLargerThan999) qtyClassName = 'small';
27596
- if (isFractionalStackQty) qtyClassName = 'xsmall';
27597
- if (stackQty > 1) {
27598
- return React.createElement(ItemSlotQty$1, {
27599
- itemId: itemId,
27600
- stackQty: stackQty,
27601
- qtyClassName: qtyClassName
27602
- });
27603
- }
27604
- return undefined;
27605
- };
27606
- var ItemSlotQty$1 = function ItemSlotQty(_ref) {
27607
- var itemId = _ref.itemId,
27608
- stackQty = _ref.stackQty,
27609
- qtyClassName = _ref.qtyClassName;
27610
- return React.createElement(ItemQtyContainer$1, {
27611
- key: "qty-" + itemId,
27612
- className: "item-slot-qty"
27613
- }, React.createElement(Ellipsis, {
27614
- maxLines: 1,
27615
- maxWidth: "48px"
27616
- }, React.createElement(ItemQty, {
27617
- className: qtyClassName
27618
- }, Math.round(stackQty * 100) / 100, ' ')));
27619
- };
27620
- var ItemQtyContainer$1 = /*#__PURE__*/styled.div.withConfig({
27621
- displayName: "ItemSlotQty__ItemQtyContainer",
27622
- componentId: "sc-keb1s5-0"
27623
- })(["position:relative;width:85%;height:16px;top:25px;left:2px;pointer-events:none;display:flex;justify-content:flex-end;"]);
27624
- var ItemQty = /*#__PURE__*/styled.span.withConfig({
27625
- displayName: "ItemSlotQty__ItemQty",
27626
- componentId: "sc-keb1s5-1"
27627
- })(["&.regular{font-size:", ";}&.small{font-size:", ";}&.xsmall{font-size:", ";}"], uiFonts.size.small, uiFonts.size.xsmall, uiFonts.size.xxsmall);
27628
-
27629
- var ItemSlotRenderer = function ItemSlotRenderer(_ref) {
27630
- var containerType = _ref.containerType,
27631
- atlasJSON = _ref.atlasJSON,
27632
- atlasIMG = _ref.atlasIMG,
27633
- slotSpriteMask = _ref.slotSpriteMask,
27634
- item = _ref.item;
27635
- var renderStackInfo = function renderStackInfo(item) {
27636
- return item.stackQty && item.stackQty > 1 && onRenderStackInfo(item._id, item.stackQty);
27637
- };
27638
- var renderGems = function renderGems(item) {
27639
- return item.attachedGems && onRenderGems(item);
27640
- };
27641
- var renderItem = function renderItem(item) {
27642
- if (!(item != null && item.texturePath)) {
27643
- return null;
27644
- }
27645
- return React.createElement(ErrorBoundary, {
27646
- key: item._id
27647
- }, React.createElement(SpriteFromAtlas, {
27648
- atlasIMG: atlasIMG,
27649
- atlasJSON: atlasJSON,
27650
- spriteKey: getItemTextureKeyPath({
27651
- key: item.texturePath,
27652
- texturePath: item.texturePath,
27653
- stackQty: item.stackQty || 1,
27654
- isStackable: item.isStackable
27655
- }, atlasJSON),
27656
- imgScale: 3,
27657
- imgClassname: "sprite-from-atlas-img--item",
27658
- tintColor: item.tintColor
27659
- }), renderStackInfo(item), renderGems(item));
27660
- };
27661
- var renderEquipment = function renderEquipment(itemToRender) {
27662
- var _itemToRender$allowed;
27663
- if (!(itemToRender != null && itemToRender.texturePath) || !((_itemToRender$allowed = itemToRender.allowedEquipSlotType) != null && _itemToRender$allowed.includes(slotSpriteMask))) {
27664
- return React.createElement(ErrorBoundary, {
27665
- key: v4()
27666
- }, React.createElement(SpriteFromAtlas, {
27667
- key: v4(),
27668
- atlasIMG: atlasIMG,
27669
- atlasJSON: atlasJSON,
27670
- spriteKey: EquipmentSlotSpriteByType[slotSpriteMask],
27671
- imgScale: 3,
27672
- grayScale: true,
27673
- opacity: 0.4,
27674
- imgClassname: "sprite-from-atlas-img--item"
27675
- }));
27676
- }
27677
- return renderItem(itemToRender);
27678
- };
27679
- var onRenderSlot = function onRenderSlot(itemToRender) {
27680
- switch (containerType) {
27681
- case ItemContainerType.Equipment:
27682
- return renderEquipment(itemToRender);
27683
- default:
27684
- return renderItem(itemToRender);
27685
- }
27686
- };
27687
- return React.createElement(React.Fragment, null, onRenderSlot(item));
27688
- };
27689
-
27690
27521
  var generateContextMenuListOptions = function generateContextMenuListOptions(actionsByTypeList) {
27691
27522
  var contextMenu = actionsByTypeList.map(function (action) {
27692
27523
  return {
@@ -27948,6 +27779,194 @@ var ItemSlotDraggingProvider = function ItemSlotDraggingProvider(_ref) {
27948
27779
  }, children);
27949
27780
  };
27950
27781
 
27782
+ var qualityColorHex = function qualityColorHex(item) {
27783
+ switch (item == null ? void 0 : item.quality) {
27784
+ case ItemQualityLevel.HighQuality:
27785
+ return '#00bfff';
27786
+ case ItemQualityLevel.Exceptional:
27787
+ return '#ff8c00';
27788
+ case ItemQualityLevel.Mastercrafted:
27789
+ return '#ff00ff';
27790
+ case ItemQualityLevel.Ancient:
27791
+ return '#ffd700';
27792
+ case ItemQualityLevel.Mythic:
27793
+ return '#ff0080';
27794
+ default:
27795
+ return 'transparent';
27796
+ }
27797
+ };
27798
+
27799
+ var rarityColor = function rarityColor(item) {
27800
+ switch (item == null ? void 0 : item.rarity) {
27801
+ case ItemRarities.Uncommon:
27802
+ return 'rgba(13, 193, 13, 0.6)';
27803
+ case ItemRarities.Rare:
27804
+ return 'rgba(8, 104, 187, 0.6)';
27805
+ case ItemRarities.Epic:
27806
+ return 'rgba(191, 0, 255, 0.6)';
27807
+ case ItemRarities.Legendary:
27808
+ return 'rgba(255, 191, 0,0.6)';
27809
+ default:
27810
+ return null;
27811
+ }
27812
+ };
27813
+
27814
+ var gemColors = {
27815
+ 'emerald-gem': '#50C878',
27816
+ 'topaz-radiance': '#FFC87C',
27817
+ 'sapphire-gem': '#0F52BA',
27818
+ 'ruby-gem': '#E0115F',
27819
+ 'misty-quartz-gem': '#D9D9F3',
27820
+ 'coral-reef-gem': '#FF7F50',
27821
+ 'jasper-gem': '#D73B3E',
27822
+ 'earthstone-gem': '#8B4513',
27823
+ 'obsidian-gem': '#0B0C0E',
27824
+ 'amethyst-gem': '#9966CC'
27825
+ };
27826
+ var defaultColor = '#FFFFFF'; // Default color (white)
27827
+ var onRenderGems = function onRenderGems(item) {
27828
+ var _item$attachedGems;
27829
+ var gemQty = ((_item$attachedGems = item.attachedGems) == null ? void 0 : _item$attachedGems.length) || 0;
27830
+ if (gemQty > 0) {
27831
+ return React.createElement(ItemSlotQty, {
27832
+ item: item
27833
+ });
27834
+ }
27835
+ return undefined;
27836
+ };
27837
+ var ItemSlotQty = function ItemSlotQty(_ref) {
27838
+ var _item$attachedGems2;
27839
+ var item = _ref.item;
27840
+ var itemId = item._id;
27841
+ return React.createElement(ItemQtyContainer, {
27842
+ key: "qty-" + itemId,
27843
+ className: "item-slot-qty"
27844
+ }, (_item$attachedGems2 = item.attachedGems) == null ? void 0 : _item$attachedGems2.map(function (gem, index) {
27845
+ return React.createElement(Gem, {
27846
+ key: itemId + "-gem-" + index,
27847
+ color: gemColors[gem.key] || defaultColor
27848
+ });
27849
+ }));
27850
+ };
27851
+ var ItemQtyContainer = /*#__PURE__*/styled.div.withConfig({
27852
+ displayName: "ItemGem__ItemQtyContainer",
27853
+ componentId: "sc-1ekseaq-0"
27854
+ })(["position:relative;width:85%;height:16px;top:28px;left:0px;pointer-events:none;transform:scale(0.8);display:flex;align-items:center;justify-content:flex-start;opacity:0.8;"]);
27855
+ var Gem = /*#__PURE__*/styled.div.withConfig({
27856
+ displayName: "ItemGem__Gem",
27857
+ componentId: "sc-1ekseaq-1"
27858
+ })(["width:8px;height:8px;background:", ";border:1px solid black;transform:rotate(45deg);margin:0 2px;box-shadow:0 0 5px ", ";transition:transform 0.2s,box-shadow 0.2s;&:hover{transform:rotate(45deg) scale(1.2);box-shadow:0 0 10px ", ";}"], function (_ref2) {
27859
+ var color = _ref2.color;
27860
+ return "radial-gradient(circle at 20% 20%, rgba(255, 255, 255, 0.8), transparent 30%), \n linear-gradient(45deg, " + color + ", " + color + " 50%, rgba(255, 255, 255, 0.2))";
27861
+ }, function (_ref3) {
27862
+ var color = _ref3.color;
27863
+ return color;
27864
+ }, function (_ref4) {
27865
+ var color = _ref4.color;
27866
+ return color;
27867
+ });
27868
+
27869
+ var onRenderStackInfo = function onRenderStackInfo(itemId, stackQty) {
27870
+ var isFractionalStackQty = stackQty % 1 !== 0;
27871
+ var isLargerThan999 = stackQty > 999;
27872
+ var qtyClassName = 'regular';
27873
+ if (isLargerThan999) qtyClassName = 'small';
27874
+ if (isFractionalStackQty) qtyClassName = 'xsmall';
27875
+ if (stackQty > 1) {
27876
+ return React.createElement(ItemSlotQty$1, {
27877
+ itemId: itemId,
27878
+ stackQty: stackQty,
27879
+ qtyClassName: qtyClassName
27880
+ });
27881
+ }
27882
+ return undefined;
27883
+ };
27884
+ var ItemSlotQty$1 = function ItemSlotQty(_ref) {
27885
+ var itemId = _ref.itemId,
27886
+ stackQty = _ref.stackQty,
27887
+ qtyClassName = _ref.qtyClassName;
27888
+ return React.createElement(ItemQtyContainer$1, {
27889
+ key: "qty-" + itemId,
27890
+ className: "item-slot-qty"
27891
+ }, React.createElement(Ellipsis, {
27892
+ maxLines: 1,
27893
+ maxWidth: "48px"
27894
+ }, React.createElement(ItemQty, {
27895
+ className: qtyClassName
27896
+ }, Math.round(stackQty * 100) / 100, ' ')));
27897
+ };
27898
+ var ItemQtyContainer$1 = /*#__PURE__*/styled.div.withConfig({
27899
+ displayName: "ItemSlotQty__ItemQtyContainer",
27900
+ componentId: "sc-keb1s5-0"
27901
+ })(["position:relative;width:85%;height:16px;top:25px;left:2px;pointer-events:none;display:flex;justify-content:flex-end;"]);
27902
+ var ItemQty = /*#__PURE__*/styled.span.withConfig({
27903
+ displayName: "ItemSlotQty__ItemQty",
27904
+ componentId: "sc-keb1s5-1"
27905
+ })(["&.regular{font-size:", ";}&.small{font-size:", ";}&.xsmall{font-size:", ";}"], uiFonts.size.small, uiFonts.size.xsmall, uiFonts.size.xxsmall);
27906
+
27907
+ var ItemSlotRenderer = function ItemSlotRenderer(_ref) {
27908
+ var containerType = _ref.containerType,
27909
+ atlasJSON = _ref.atlasJSON,
27910
+ atlasIMG = _ref.atlasIMG,
27911
+ slotSpriteMask = _ref.slotSpriteMask,
27912
+ item = _ref.item;
27913
+ var renderStackInfo = function renderStackInfo(item) {
27914
+ return item.stackQty && item.stackQty > 1 && onRenderStackInfo(item._id, item.stackQty);
27915
+ };
27916
+ var renderGems = function renderGems(item) {
27917
+ return item.attachedGems && onRenderGems(item);
27918
+ };
27919
+ var renderItem = function renderItem(item) {
27920
+ if (!(item != null && item.texturePath)) {
27921
+ return null;
27922
+ }
27923
+ return React.createElement(ErrorBoundary, {
27924
+ key: item._id
27925
+ }, item.quality && item.quality !== ItemQualityLevel.Normal && React.createElement("div", {
27926
+ className: "quality-star"
27927
+ }, "\u2605"), React.createElement(SpriteFromAtlas, {
27928
+ atlasIMG: atlasIMG,
27929
+ atlasJSON: atlasJSON,
27930
+ spriteKey: getItemTextureKeyPath({
27931
+ key: item.texturePath,
27932
+ texturePath: item.texturePath,
27933
+ stackQty: item.stackQty || 1,
27934
+ isStackable: item.isStackable
27935
+ }, atlasJSON),
27936
+ imgScale: 3,
27937
+ imgClassname: "sprite-from-atlas-img--item",
27938
+ tintColor: item.tintColor
27939
+ }), renderStackInfo(item), renderGems(item));
27940
+ };
27941
+ var renderEquipment = function renderEquipment(itemToRender) {
27942
+ var _itemToRender$allowed;
27943
+ if (!(itemToRender != null && itemToRender.texturePath) || !((_itemToRender$allowed = itemToRender.allowedEquipSlotType) != null && _itemToRender$allowed.includes(slotSpriteMask))) {
27944
+ return React.createElement(ErrorBoundary, {
27945
+ key: v4()
27946
+ }, React.createElement(SpriteFromAtlas, {
27947
+ key: v4(),
27948
+ atlasIMG: atlasIMG,
27949
+ atlasJSON: atlasJSON,
27950
+ spriteKey: EquipmentSlotSpriteByType[slotSpriteMask],
27951
+ imgScale: 3,
27952
+ grayScale: true,
27953
+ opacity: 0.4,
27954
+ imgClassname: "sprite-from-atlas-img--item"
27955
+ }));
27956
+ }
27957
+ return renderItem(itemToRender);
27958
+ };
27959
+ var onRenderSlot = function onRenderSlot(itemToRender) {
27960
+ switch (containerType) {
27961
+ case ItemContainerType.Equipment:
27962
+ return renderEquipment(itemToRender);
27963
+ default:
27964
+ return renderItem(itemToRender);
27965
+ }
27966
+ };
27967
+ return onRenderSlot(item);
27968
+ };
27969
+
27951
27970
  var EquipmentSlotSpriteByType = {
27952
27971
  Neck: 'accessories/corruption-necklace.png',
27953
27972
  LeftHand: 'swords/broad-sword.png',
@@ -28264,7 +28283,7 @@ var ItemSlot = /*#__PURE__*/observer(function (_ref) {
28264
28283
  var Container$a = /*#__PURE__*/styled.div.withConfig({
28265
28284
  displayName: "ItemSlot__Container",
28266
28285
  componentId: "sc-l2j5ef-0"
28267
- })(["margin:0.1rem;.react-draggable-dragging{opacity:", ";}position:relative;.sprite-from-atlas-img--item{position:relative;top:1.5rem;left:1.5rem;border-color:", ";box-shadow:", " inset,", ";}&::before{content:'';position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;border-radius:12px;pointer-events:none;animation:", ";@keyframes bg-color-change{0%{background-color:rgba(255 255 255 / 0.5);}50%{background-color:transparent;}100%{background-color:rgba(255 255 255 / 0.5);}}}"], function (_ref2) {
28286
+ })(["margin:0.1rem;.react-draggable-dragging{opacity:", ";}position:relative;.sprite-from-atlas-img--item{position:relative;top:1.5rem;left:1.5rem;border-color:", ";box-shadow:", " inset,", ";}.quality-star{position:absolute;top:0.5rem;left:0.5rem;font-size:1.2rem;z-index:2;text-shadow:0 0 3px black;pointer-events:none;color:", ";}&::before{content:'';position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;border-radius:12px;pointer-events:none;animation:", ";@keyframes bg-color-change{0%{background-color:rgba(255 255 255 / 0.5);}50%{background-color:transparent;}100%{background-color:rgba(255 255 255 / 0.5);}}}"], function (_ref2) {
28268
28287
  var isDraggingItem = _ref2.isDraggingItem;
28269
28288
  return isDraggingItem ? 0 : 1;
28270
28289
  }, function (_ref3) {
@@ -28277,7 +28296,10 @@ var Container$a = /*#__PURE__*/styled.div.withConfig({
28277
28296
  var item = _ref5.item;
28278
28297
  return "0 0 4px 3px " + rarityColor(item);
28279
28298
  }, function (_ref6) {
28280
- var isSelectingShortcut = _ref6.isSelectingShortcut;
28299
+ var item = _ref6.item;
28300
+ return qualityColorHex(item);
28301
+ }, function (_ref7) {
28302
+ var isSelectingShortcut = _ref7.isSelectingShortcut;
28281
28303
  return isSelectingShortcut ? 'bg-color-change 1s infinite' : 'none';
28282
28304
  });
28283
28305
  var ItemContainer = /*#__PURE__*/styled.div.withConfig({
@@ -28394,10 +28416,16 @@ var ItemInfo = function ItemInfo(_ref) {
28394
28416
  var Container$b = /*#__PURE__*/styled.div.withConfig({
28395
28417
  displayName: "ItemInfo__Container",
28396
28418
  componentId: "sc-1xm4q8k-0"
28397
- })(["color:white;background-color:#222;border-radius:5px;padding:0.5rem;font-size:", ";border:3px solid ", ";height:max-content;width:18rem;@media (max-width:640px){width:80vw;}"], uiFonts.size.small, function (_ref2) {
28419
+ })(["color:white;background-color:#222;border-radius:5px;padding:0.5rem;font-size:", ";border:3px solid ", ";box-shadow:", ";height:max-content;width:18rem;position:relative;", " @media (max-width:640px){width:80vw;}"], uiFonts.size.small, function (_ref2) {
28398
28420
  var _rarityColor;
28399
28421
  var item = _ref2.item;
28400
28422
  return (_rarityColor = rarityColor(item)) != null ? _rarityColor : uiColors.lightGray;
28423
+ }, function (_ref3) {
28424
+ var item = _ref3.item;
28425
+ return "0 0 5px 2px " + rarityColor(item);
28426
+ }, function (_ref4) {
28427
+ var item = _ref4.item;
28428
+ return (item == null ? void 0 : item.quality) && item.quality !== ItemQualityLevel.Normal && "\n &::before {\n content: '\u2605';\n position: absolute;\n top: 0.2rem;\n left: 0.5rem;\n font-size: 1.2rem;\n color: " + qualityColorHex(item) + ";\n text-shadow: 0 0 3px black;\n }\n ";
28401
28429
  });
28402
28430
  var Title$1 = /*#__PURE__*/styled.div.withConfig({
28403
28431
  displayName: "ItemInfo__Title",
@@ -28406,8 +28434,8 @@ var Title$1 = /*#__PURE__*/styled.div.withConfig({
28406
28434
  var Rarity = /*#__PURE__*/styled.div.withConfig({
28407
28435
  displayName: "ItemInfo__Rarity",
28408
28436
  componentId: "sc-1xm4q8k-2"
28409
- })(["font-size:", ";font-weight:normal;margin-top:0.2rem;color:", ";filter:brightness(1.5);"], uiFonts.size.small, function (_ref3) {
28410
- var item = _ref3.item;
28437
+ })(["font-size:", ";font-weight:normal;margin-top:0.2rem;color:", ";filter:brightness(1.5);"], uiFonts.size.small, function (_ref5) {
28438
+ var item = _ref5.item;
28411
28439
  return rarityColor(item);
28412
28440
  });
28413
28441
  var Type = /*#__PURE__*/styled.div.withConfig({
@@ -28421,8 +28449,8 @@ var LevelRequirement = /*#__PURE__*/styled.div.withConfig({
28421
28449
  var Statistic = /*#__PURE__*/styled.div.withConfig({
28422
28450
  displayName: "ItemInfo__Statistic",
28423
28451
  componentId: "sc-1xm4q8k-5"
28424
- })(["margin-bottom:0.4rem;width:100%;color:", ";.label{display:inline-block;margin-right:0.5rem;color:inherit;}.value{display:inline-block;color:inherit;}&.better,.better{color:", ";}&.worse,.worse{color:", ";}"], function (_ref4) {
28425
- var $isSpecial = _ref4.$isSpecial;
28452
+ })(["margin-bottom:0.4rem;width:100%;color:", ";.label{display:inline-block;margin-right:0.5rem;color:inherit;}.value{display:inline-block;color:inherit;}&.better,.better{color:", ";}&.worse,.worse{color:", ";}"], function (_ref6) {
28453
+ var $isSpecial = _ref6.$isSpecial;
28426
28454
  return $isSpecial ? uiColors.darkYellow : 'inherit';
28427
28455
  }, uiColors.lightGreen, uiColors.cardinal);
28428
28456
  var Description = /*#__PURE__*/styled.div.withConfig({
@@ -30765,6 +30793,9 @@ var FadeInCarouselImg = /*#__PURE__*/styled(CarouselImg).withConfig({
30765
30793
  componentId: "sc-gdvbly-5"
30766
30794
  })(["animation:", " 0.5s;"], fadeIn);
30767
30795
 
30796
+ var UI_BREAKPOINT_MOBILE = '950px';
30797
+ var UI_BREAKPOINT_SMALL_LAPTOP = '1400px';
30798
+
30768
30799
  var InternalTabs = function InternalTabs(_ref) {
30769
30800
  var _tabs$find;
30770
30801
  var tabs = _ref.tabs,
@@ -30813,39 +30844,56 @@ var TabHeader = /*#__PURE__*/styled.div.withConfig({
30813
30844
  var TabButton = /*#__PURE__*/styled.button.withConfig({
30814
30845
  displayName: "InternalTabs__TabButton",
30815
30846
  componentId: "sc-ldufv0-2"
30816
- })(["flex:1;padding:0.5rem 1rem;font-size:0.875rem;font-weight:500;border-right:1px solid ", ";background-color:", ";color:", ";&:last-child{border-right:none;}&:hover{background-color:", ";}"], function (props) {
30847
+ })(["flex:1;padding:0.25rem 0.5rem;font-size:0.75rem;font-weight:500;border-right:1px solid ", ";background-color:", ";color:", ";white-space:nowrap;overflow:hidden;text-overflow:ellipsis;@media (min-width:480px){padding:0.375rem 0.75rem;font-size:0.8125rem;}@media (min-width:", "){padding:0.5rem 1rem;font-size:0.875rem;}&:last-child{border-right:none;}&:hover{background-color:", ";}"], function (props) {
30817
30848
  return props.borderColor;
30818
30849
  }, function (props) {
30819
30850
  return props.active ? props.activeColor : 'transparent';
30820
30851
  }, function (props) {
30821
30852
  return props.active ? props.activeTextColor : props.inactiveColor;
30822
- }, function (props) {
30853
+ }, UI_BREAKPOINT_MOBILE, function (props) {
30823
30854
  return props.active ? props.activeColor : props.hoverColor;
30824
30855
  });
30825
30856
  var ContentWrapper = /*#__PURE__*/styled.div.withConfig({
30826
30857
  displayName: "InternalTabs__ContentWrapper",
30827
30858
  componentId: "sc-ldufv0-3"
30828
- })([""]);
30859
+ })(["width:100%;"]);
30829
30860
 
30830
- var TOOLTIP_WIDTH = 300;
30831
30861
  var TOOLTIP_OFFSET = 10;
30832
30862
  var MIN_VISIBLE_HEIGHT = 100;
30833
30863
  var useTooltipPosition = function useTooltipPosition() {
30864
+ // Dynamically calculate tooltip width based on screen size
30865
+ var getTooltipWidth = function getTooltipWidth() {
30866
+ var viewportWidth = window.innerWidth;
30867
+ if (viewportWidth < 360) {
30868
+ return Math.min(280, viewportWidth - 20);
30869
+ }
30870
+ if (viewportWidth < 480) {
30871
+ return 300;
30872
+ }
30873
+ return 320;
30874
+ };
30875
+ var TOOLTIP_WIDTH = getTooltipWidth();
30834
30876
  var _useState = useState(null),
30835
30877
  tooltipState = _useState[0],
30836
30878
  setTooltipState = _useState[1];
30837
30879
  var calculateTooltipPosition = function calculateTooltipPosition(rect) {
30838
30880
  var viewportWidth = window.innerWidth;
30839
30881
  var viewportHeight = window.innerHeight;
30882
+ var tooltipWidth = getTooltipWidth();
30840
30883
  // Try to position to the right first
30841
30884
  var x = rect.right + TOOLTIP_OFFSET;
30842
30885
  // If it would overflow right, try positioning to the left
30843
- if (x + TOOLTIP_WIDTH > viewportWidth - TOOLTIP_OFFSET) {
30844
- x = rect.left - TOOLTIP_WIDTH - TOOLTIP_OFFSET;
30886
+ if (x + tooltipWidth > viewportWidth - TOOLTIP_OFFSET) {
30887
+ x = rect.left - tooltipWidth - TOOLTIP_OFFSET;
30845
30888
  }
30846
- // If left positioning would go off screen, position relative to viewport
30889
+ // If left positioning would go off screen, center it or position relative to viewport
30847
30890
  if (x < TOOLTIP_OFFSET) {
30848
- x = TOOLTIP_OFFSET;
30891
+ if (viewportWidth < 400) {
30892
+ // For very small screens, center the tooltip
30893
+ x = Math.max(TOOLTIP_OFFSET, (viewportWidth - tooltipWidth) / 2);
30894
+ } else {
30895
+ x = TOOLTIP_OFFSET;
30896
+ }
30849
30897
  }
30850
30898
  // Position vertically aligned with the top of the element
30851
30899
  var y = rect.top;
@@ -31078,15 +31126,17 @@ var PaginatedContent = function PaginatedContent(_ref) {
31078
31126
  var Container$n = /*#__PURE__*/styled.div.withConfig({
31079
31127
  displayName: "PaginatedContent__Container",
31080
31128
  componentId: "sc-lzp9hn-0"
31081
- })(["display:flex;flex-direction:column;gap:1rem;min-height:400px;width:100%;"]);
31129
+ })(["display:flex;flex-direction:column;gap:0.5rem;min-height:400px;width:100%;"]);
31082
31130
  var Content = /*#__PURE__*/styled.div.withConfig({
31083
31131
  displayName: "PaginatedContent__Content",
31084
31132
  componentId: "sc-lzp9hn-1"
31085
- })(["display:flex;flex-direction:column;gap:0.5rem;flex:1;padding:1rem;min-height:200px;max-height:", ";overflow-y:", ";&.grid{display:grid;grid-template-columns:repeat( ", ",minmax(0,1fr) );gap:1rem;align-items:start;.PaginatedContent-item{display:flex;align-items:flex-start;height:", ";}}&.list{display:flex;flex-direction:column;gap:0.5rem;}"], function (props) {
31133
+ })(["display:flex;flex-direction:column;gap:0.5rem;flex:1;padding:0.25rem;min-height:200px;max-height:", ";overflow-y:", ";box-sizing:border-box;@media (min-width:360px){padding:0.5rem;}@media (min-width:480px){padding:1rem;}&.grid{display:grid;grid-template-columns:1fr;gap:0.5rem;align-items:start;justify-content:center;width:100%;overflow-x:hidden;@media (min-width:320px){grid-template-columns:repeat(auto-fit,minmax(120px,1fr));}@media (min-width:400px){grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:0.75rem;}@media (min-width:480px){grid-template-columns:repeat(2,minmax(135px,1fr));gap:1rem;}@media (min-width:768px){grid-template-columns:repeat(3,minmax(135px,1fr));}@media (min-width:", "){grid-template-columns:repeat( ", ",minmax(135px,1fr) );}@media (min-width:", "){grid-template-columns:repeat( ", ",minmax(135px,1fr) );}.PaginatedContent-item{display:flex;align-items:flex-start;justify-content:center;height:", ";width:100%;box-sizing:border-box;min-height:135px;}}&.list{display:flex;flex-direction:column;gap:0.5rem;}"], function (props) {
31086
31134
  return props.$maxHeight;
31087
31135
  }, function (props) {
31088
31136
  return props.$maxHeight ? 'auto' : 'visible';
31089
- }, function (props) {
31137
+ }, UI_BREAKPOINT_MOBILE, function (props) {
31138
+ return Math.min(props.$gridColumns, 4);
31139
+ }, UI_BREAKPOINT_SMALL_LAPTOP, function (props) {
31090
31140
  return props.$gridColumns;
31091
31141
  }, function (props) {
31092
31142
  var _props$$itemHeight;
@@ -31095,7 +31145,7 @@ var Content = /*#__PURE__*/styled.div.withConfig({
31095
31145
  var PaginationContainer$1 = /*#__PURE__*/styled.div.withConfig({
31096
31146
  displayName: "PaginatedContent__PaginationContainer",
31097
31147
  componentId: "sc-lzp9hn-2"
31098
- })(["display:flex;justify-content:center;padding:1rem;"]);
31148
+ })(["display:flex;justify-content:center;padding:0.5rem;@media (min-width:480px){padding:1rem;}"]);
31099
31149
  var EmptyMessage = /*#__PURE__*/styled.div.withConfig({
31100
31150
  displayName: "PaginatedContent__EmptyMessage",
31101
31151
  componentId: "sc-lzp9hn-3"
@@ -31139,20 +31189,24 @@ var InformationCenterCell = function InformationCenterCell(_ref) {
31139
31189
  width: 32,
31140
31190
  height: 32,
31141
31191
  imgScale: 1
31142
- })), React.createElement(CellName, null, name));
31192
+ })), React.createElement(CellNameContainer, null, React.createElement(CellName, null, name)));
31143
31193
  };
31144
31194
  var CellContainer = /*#__PURE__*/styled.div.withConfig({
31145
31195
  displayName: "InformationCenterCell__CellContainer",
31146
31196
  componentId: "sc-w48fdf-0"
31147
- })(["position:relative;background:rgba(0,0,0,0.2);padding:0.75rem;border-radius:4px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:background-color 0.2s ease;width:100%;height:100%;min-width:120px;min-height:120px;box-sizing:border-box;&:hover{background:rgba(0,0,0,0.3);}"]);
31197
+ })(["position:relative;background:rgba(0,0,0,0.2);padding:0.25rem;border-radius:4px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;cursor:pointer;transition:background-color 0.2s ease;width:100%;height:100%;min-height:135px;box-sizing:border-box;gap:0.25rem;margin:0;@media (min-width:360px){padding:0.75rem;gap:0.75rem;margin:2px;width:calc(100% - 4px);}@media (min-width:", "){min-height:150px;}&:hover{background:rgba(0,0,0,0.3);}"], UI_BREAKPOINT_MOBILE);
31148
31198
  var SpriteContainer$1 = /*#__PURE__*/styled.div.withConfig({
31149
31199
  displayName: "InformationCenterCell__SpriteContainer",
31150
31200
  componentId: "sc-w48fdf-1"
31151
- })(["margin-bottom:0.5rem;display:flex;justify-content:center;align-items:center;width:64px;height:64px;position:relative;background:rgba(0,0,0,0.3);border-radius:4px;flex-shrink:0;.sprite-from-atlas-img{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(2);image-rendering:pixelated;}"]);
31201
+ })(["margin-bottom:0;display:flex;justify-content:center;align-items:center;width:40px;height:40px;position:relative;background:rgba(0,0,0,0.3);border-radius:4px;flex-shrink:0;@media (min-width:360px){width:48px;height:48px;}@media (min-width:480px){width:64px;height:64px;}@media (min-width:", "){width:72px;height:72px;}.sprite-from-atlas-img{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(2);image-rendering:pixelated;}"], UI_BREAKPOINT_MOBILE);
31202
+ var CellNameContainer = /*#__PURE__*/styled.div.withConfig({
31203
+ displayName: "InformationCenterCell__CellNameContainer",
31204
+ componentId: "sc-w48fdf-2"
31205
+ })(["display:flex;flex-direction:column;align-items:center;justify-content:flex-start;flex:1;width:100%;padding-top:0.25rem;"]);
31152
31206
  var CellName = /*#__PURE__*/styled.h3.withConfig({
31153
31207
  displayName: "InformationCenterCell__CellName",
31154
- componentId: "sc-w48fdf-2"
31155
- })(["font-size:0.7rem;color:#fef08a;margin:0;text-align:center;font-family:'Press Start 2P',cursive;line-height:1.2;word-break:break-word;max-width:100%;"]);
31208
+ componentId: "sc-w48fdf-3"
31209
+ })(["font-size:0.55rem;color:#fef08a;margin:0;text-align:center;font-family:'Press Start 2P',cursive;line-height:1.2;word-break:break-word;max-width:100%;overflow-wrap:break-word;hyphens:auto;width:100%;padding:0 0.125rem;box-sizing:border-box;@media (min-width:320px){padding:0 0.25rem;}@media (min-width:360px){font-size:0.6rem;}@media (min-width:480px){font-size:0.7rem;}@media (min-width:", "){font-size:0.8rem;}"], UI_BREAKPOINT_MOBILE);
31156
31210
 
31157
31211
  var BaseInformationDetails = function BaseInformationDetails(_ref) {
31158
31212
  var name = _ref.name,
@@ -31493,18 +31547,64 @@ var AdvancedFilters = function AdvancedFilters(_ref) {
31493
31547
  case 'dropdown':
31494
31548
  return React.createElement(FilterSection, {
31495
31549
  key: section.key
31496
- }, React.createElement(Label$1, null, section.label), React.createElement(Dropdown, {
31550
+ }, React.createElement(Label$1, null, section.label), React.createElement(StyledDropdownWrapper, null, React.createElement(Dropdown, {
31497
31551
  options: section.options || [],
31498
31552
  onChange: section.onChange,
31499
31553
  width: "100%"
31500
- }));
31554
+ })));
31501
31555
  default:
31502
31556
  return null;
31503
31557
  }
31504
31558
  };
31559
+ // Calculate button position for the portal
31560
+ var _React$useState = React.useState({
31561
+ top: 0,
31562
+ left: 0,
31563
+ isMobile: false
31564
+ }),
31565
+ buttonPosition = _React$useState[0],
31566
+ setButtonPosition = _React$useState[1];
31567
+ var buttonRef = useRef(null);
31568
+ var panelRef = useRef(null);
31569
+ useEffect(function () {
31570
+ if (isOpen && buttonRef.current) {
31571
+ var rect = buttonRef.current.getBoundingClientRect();
31572
+ var isMobileView = window.innerWidth < 480;
31573
+ if (isMobileView) {
31574
+ // Center in the screen for mobile
31575
+ setButtonPosition({
31576
+ top: Math.max(50, window.innerHeight / 2 - 150),
31577
+ left: window.innerWidth / 2,
31578
+ isMobile: true
31579
+ });
31580
+ } else {
31581
+ // Position below the button for larger screens
31582
+ setButtonPosition({
31583
+ top: rect.bottom + window.scrollY,
31584
+ left: rect.left + rect.width / 2 + window.scrollX,
31585
+ isMobile: false
31586
+ });
31587
+ }
31588
+ }
31589
+ }, [isOpen]);
31590
+ // Handle click outside to close the panel
31591
+ useEffect(function () {
31592
+ var handleClickOutside = function handleClickOutside(event) {
31593
+ if (isOpen && panelRef.current && !panelRef.current.contains(event.target) && buttonRef.current && !buttonRef.current.contains(event.target)) {
31594
+ onToggle();
31595
+ }
31596
+ };
31597
+ if (isOpen) {
31598
+ document.addEventListener('mousedown', handleClickOutside);
31599
+ }
31600
+ return function () {
31601
+ document.removeEventListener('mousedown', handleClickOutside);
31602
+ };
31603
+ }, [isOpen, onToggle]);
31505
31604
  return React.createElement(Container$q, null, React.createElement(FilterButton, {
31506
31605
  onClick: onToggle,
31507
- "$hasActiveFilters": hasActiveFilters
31606
+ "$hasActiveFilters": hasActiveFilters,
31607
+ ref: buttonRef
31508
31608
  }, hasActiveFilters ? React.createElement(AiFillFilter, {
31509
31609
  size: 20
31510
31610
  }) : React.createElement(AiOutlineFilter, {
@@ -31517,9 +31617,21 @@ var AdvancedFilters = function AdvancedFilters(_ref) {
31517
31617
  return rangeValue[0] !== undefined || rangeValue[1] !== undefined;
31518
31618
  }
31519
31619
  return section.value !== 'all';
31520
- }).length)), isOpen && React.createElement(FiltersPanel, null, React.createElement(FilterHeader, null, React.createElement(FilterTitle, null, "Advanced Filters")), sections.map(renderFilterSection), hasActiveFilters && React.createElement(ClearFiltersButton, {
31620
+ }).length)), isOpen && React.createElement(Portal, null, React.createElement(FiltersPanel, {
31621
+ ref: panelRef,
31622
+ style: {
31623
+ position: 'fixed',
31624
+ top: buttonPosition.top + "px",
31625
+ left: buttonPosition.left + "px",
31626
+ transform: 'translateX(-50%)',
31627
+ zIndex: 9999
31628
+ },
31629
+ "$isMobile": buttonPosition.isMobile
31630
+ }, React.createElement(FilterHeader, null, React.createElement(FilterTitle, null, "Advanced Filters"), buttonPosition.isMobile && React.createElement(CloseButton$6, {
31631
+ onClick: onToggle
31632
+ }, "\xD7")), sections.map(renderFilterSection), hasActiveFilters && React.createElement(ClearFiltersButton, {
31521
31633
  onClick: onClearAll
31522
- }, "Clear All Filters")));
31634
+ }, "Clear All Filters"))));
31523
31635
  };
31524
31636
  var Container$q = /*#__PURE__*/styled.div.withConfig({
31525
31637
  displayName: "AdvancedFilters__Container",
@@ -31548,7 +31660,9 @@ var FilterCount = /*#__PURE__*/styled.div.withConfig({
31548
31660
  var FiltersPanel = /*#__PURE__*/styled.div.withConfig({
31549
31661
  displayName: "AdvancedFilters__FiltersPanel",
31550
31662
  componentId: "sc-1xj6ldr-3"
31551
- })(["position:absolute;top:calc(100% + 0.75rem);right:-8px;background:#1a1a1a;border:1px solid #333;border-radius:6px;padding:1rem;z-index:1000;min-width:280px;display:flex;flex-direction:column;gap:1rem;box-shadow:0 4px 12px rgba(0,0,0,0.3);&:before{content:'';position:absolute;top:-6px;right:16px;width:12px;height:12px;background:#1a1a1a;border-left:1px solid #333;border-top:1px solid #333;transform:rotate(45deg);}"]);
31663
+ })(["background:#1a1a1a;border:1px solid #333;border-radius:6px;padding:1rem;width:280px;max-width:calc(100vw - 20px);display:flex;flex-direction:column;gap:1rem;box-shadow:0 4px 12px rgba(0,0,0,0.3);font-family:'Press Start 2P',cursive;@media (max-width:320px){width:250px;padding:0.75rem;gap:0.75rem;}&:before{content:'';position:absolute;top:-6px;left:50%;transform:translateX(-50%) rotate(45deg);width:12px;height:12px;background:#1a1a1a;border-left:1px solid #333;border-top:1px solid #333;display:", ";}"], function (props) {
31664
+ return props.$isMobile ? 'none' : 'block';
31665
+ });
31552
31666
  var FilterHeader = /*#__PURE__*/styled.div.withConfig({
31553
31667
  displayName: "AdvancedFilters__FilterHeader",
31554
31668
  componentId: "sc-1xj6ldr-4"
@@ -31556,7 +31670,7 @@ var FilterHeader = /*#__PURE__*/styled.div.withConfig({
31556
31670
  var FilterTitle = /*#__PURE__*/styled.div.withConfig({
31557
31671
  displayName: "AdvancedFilters__FilterTitle",
31558
31672
  componentId: "sc-1xj6ldr-5"
31559
- })(["font-weight:600;color:#ffd700;font-size:0.875rem;"]);
31673
+ })(["font-weight:600;color:#ffd700;font-size:0.75rem;"]);
31560
31674
  var FilterSection = /*#__PURE__*/styled.div.withConfig({
31561
31675
  displayName: "AdvancedFilters__FilterSection",
31562
31676
  componentId: "sc-1xj6ldr-6"
@@ -31564,15 +31678,23 @@ var FilterSection = /*#__PURE__*/styled.div.withConfig({
31564
31678
  var Label$1 = /*#__PURE__*/styled.div.withConfig({
31565
31679
  displayName: "AdvancedFilters__Label",
31566
31680
  componentId: "sc-1xj6ldr-7"
31567
- })(["color:#999;font-size:0.75rem;text-transform:uppercase;letter-spacing:0.05em;"]);
31681
+ })(["color:#999;font-size:0.65rem;text-transform:uppercase;letter-spacing:0.05em;"]);
31568
31682
  var RangeInputs = /*#__PURE__*/styled.div.withConfig({
31569
31683
  displayName: "AdvancedFilters__RangeInputs",
31570
31684
  componentId: "sc-1xj6ldr-8"
31571
- })(["display:flex;align-items:center;gap:0.5rem;input{width:80px;background:#262626 !important;border:1px solid #333 !important;color:#fff !important;}svg{color:#666;font-size:0.875rem;}"]);
31685
+ })(["display:flex;align-items:center;gap:0.5rem;input{width:80px;background:#262626 !important;border:1px solid #444 !important;border-radius:4px !important;color:#ddd !important;font-size:0.65rem !important;padding:0.5rem !important;height:auto !important;box-shadow:inset 0 1px 3px rgba(0,0,0,0.2) !important;&::placeholder{color:#666 !important;}&:focus{border-color:#f59e0b !important;outline:none !important;}}svg{color:#666;font-size:0.875rem;}"]);
31572
31686
  var ClearFiltersButton = /*#__PURE__*/styled.button.withConfig({
31573
31687
  displayName: "AdvancedFilters__ClearFiltersButton",
31574
31688
  componentId: "sc-1xj6ldr-9"
31575
- })(["width:100%;background:transparent;color:#666;border:none;padding:0.75rem 0;margin-top:0.5rem;cursor:pointer;font-size:0.75rem;transition:all 0.2s;border-top:1px solid #333;text-transform:uppercase;letter-spacing:0.05em;&:hover{color:#ffd700;}"]);
31689
+ })(["width:100%;background:transparent;color:#666;border:none;padding:0.75rem 0;margin-top:0.5rem;cursor:pointer;font-size:0.65rem;transition:all 0.2s;border-top:1px solid #333;text-transform:uppercase;letter-spacing:0.05em;font-family:'Press Start 2P',cursive;&:hover{color:#ffd700;}"]);
31690
+ var CloseButton$6 = /*#__PURE__*/styled.button.withConfig({
31691
+ displayName: "AdvancedFilters__CloseButton",
31692
+ componentId: "sc-1xj6ldr-10"
31693
+ })(["background:transparent;border:none;color:#999;font-size:1.5rem;line-height:1;cursor:pointer;padding:0;margin:0;display:flex;align-items:center;justify-content:center;width:24px;height:24px;&:hover{color:#ffd700;}"]);
31694
+ var StyledDropdownWrapper = /*#__PURE__*/styled.div.withConfig({
31695
+ displayName: "AdvancedFilters__StyledDropdownWrapper",
31696
+ componentId: "sc-1xj6ldr-11"
31697
+ })([".rpgui-dropdown-imp{font-size:0.8rem;min-height:unset;padding-top:0.3rem;}"]);
31576
31698
 
31577
31699
  var ItemsAdvancedFilters = function ItemsAdvancedFilters(_ref) {
31578
31700
  var isOpen = _ref.isOpen,
@@ -31746,7 +31868,7 @@ var InformationCenterItemsSection = function InformationCenterItemsSection(_ref)
31746
31868
  dependencies: [selectedItemCategory, selectedTier],
31747
31869
  tabId: tabId,
31748
31870
  layout: "grid",
31749
- itemHeight: "180px"
31871
+ itemHeight: isMobile ? '150px' : '180px'
31750
31872
  }), !isMobile && tooltipState && tooltipState.item && React.createElement(Portal, null, React.createElement(TooltipWrapper, {
31751
31873
  width: TOOLTIP_WIDTH,
31752
31874
  style: {
@@ -32346,7 +32468,7 @@ var InformationCenterBestiarySection = function InformationCenterBestiarySection
32346
32468
  rightElement: SearchBarRightElement
32347
32469
  },
32348
32470
  dependencies: [selectedBestiaryCategory, levelRange, selectedSubtype, selectedAttackType],
32349
- itemHeight: "180px"
32471
+ itemHeight: isMobile ? '150px' : '180px'
32350
32472
  }), !isMobile && tooltipState && tooltipState.item && React.createElement(Portal, null, React.createElement(TooltipWrapper$1, {
32351
32473
  width: TOOLTIP_WIDTH,
32352
32474
  style: {
@@ -32390,61 +32512,13 @@ var SearchBarActions$1 = /*#__PURE__*/styled.div.withConfig({
32390
32512
  componentId: "sc-e3h0p2-1"
32391
32513
  })(["display:flex;align-items:center;gap:0.5rem;"]);
32392
32514
 
32393
- var InformationCenterFAQSection = function InformationCenterFAQSection(_ref) {
32394
- var faqItems = _ref.faqItems,
32395
- initialSearchQuery = _ref.initialSearchQuery,
32396
- tabId = _ref.tabId;
32397
- var _useState = useState(initialSearchQuery),
32398
- searchQuery = _useState[0],
32399
- setSearchQuery = _useState[1];
32400
- useEffect(function () {
32401
- setSearchQuery(initialSearchQuery);
32402
- }, [initialSearchQuery]);
32403
- var filteredFaqs = useMemo(function () {
32404
- if (!searchQuery) return faqItems;
32405
- return faqItems.filter(function (faq) {
32406
- return faq.question.toLowerCase().includes(searchQuery.toLowerCase()) || faq.answer.toLowerCase().includes(searchQuery.toLowerCase());
32407
- });
32408
- }, [searchQuery, faqItems]);
32409
- var renderItem = function renderItem(item) {
32410
- return React.createElement(StyledCollapsible$2, {
32411
- title: item.question
32412
- }, React.createElement(Answer$1, null, item.answer));
32413
- };
32414
- return React.createElement(Container$r, null, React.createElement(SearchHeader, {
32415
- searchOptions: {
32416
- value: searchQuery,
32417
- onChange: setSearchQuery,
32418
- placeholder: 'Search FAQs...'
32419
- }
32420
- }), React.createElement(PaginatedContent, {
32421
- items: filteredFaqs,
32422
- renderItem: renderItem,
32423
- emptyMessage: "No FAQ items found",
32424
- tabId: tabId,
32425
- layout: "list",
32426
- itemsPerPage: 10
32427
- }));
32428
- };
32429
- var Container$r = /*#__PURE__*/styled.div.withConfig({
32430
- displayName: "InformationCenterFaqSection__Container",
32431
- componentId: "sc-ofmaa9-0"
32432
- })(["display:flex;flex-direction:column;gap:1rem;width:100%;"]);
32433
- var StyledCollapsible$2 = /*#__PURE__*/styled(Collapsible).withConfig({
32434
- displayName: "InformationCenterFaqSection__StyledCollapsible",
32435
- componentId: "sc-ofmaa9-1"
32436
- })(["margin-bottom:0.5rem;&:last-child{margin-bottom:0;}"]);
32437
- var Answer$1 = /*#__PURE__*/styled.p.withConfig({
32438
- displayName: "InformationCenterFaqSection__Answer",
32439
- componentId: "sc-ofmaa9-2"
32440
- })(["font-size:0.9rem;color:#ffffff;margin:0;line-height:1.5;"]);
32441
-
32442
32515
  var ITEMS_PER_PAGE$2 = 3;
32443
32516
  var GRID_COLUMNS = 3;
32444
32517
  var InformationCenterTutorialsSection = function InformationCenterTutorialsSection(_ref) {
32445
32518
  var videoGuides = _ref.videoGuides,
32446
32519
  initialSearchQuery = _ref.initialSearchQuery,
32447
32520
  tabId = _ref.tabId;
32521
+ var isMobile = isMobileOrTablet();
32448
32522
  var _useState = useState(initialSearchQuery),
32449
32523
  searchQuery = _useState[0],
32450
32524
  setSearchQuery = _useState[1];
@@ -32495,7 +32569,7 @@ var InformationCenterTutorialsSection = function InformationCenterTutorialsSecti
32495
32569
  maxLines: 2
32496
32570
  }, guide.title)), React.createElement(GuideDescription, null, React.createElement(Ellipsis, {
32497
32571
  maxWidth: "100%",
32498
- maxLines: 5
32572
+ maxLines: isMobile ? 3 : 5
32499
32573
  }, guide.description)), React.createElement(GuideLabelsContainer, null, React.createElement(GuideCategory, null, guide.category), React.createElement(GuideLanguage, null, guide.language))));
32500
32574
  };
32501
32575
  var filteredGuides = useMemo(function () {
@@ -32533,9 +32607,9 @@ var InformationCenterTutorialsSection = function InformationCenterTutorialsSecti
32533
32607
  dependencies: [selectedCategory],
32534
32608
  tabId: tabId,
32535
32609
  layout: "grid",
32536
- gridColumns: GRID_COLUMNS,
32610
+ gridColumns: isMobile ? 1 : GRID_COLUMNS,
32537
32611
  itemsPerPage: ITEMS_PER_PAGE$2,
32538
- itemHeight: "320px"
32612
+ itemHeight: isMobile ? '280px' : '320px'
32539
32613
  });
32540
32614
  };
32541
32615
  var GuideItem = /*#__PURE__*/styled.div.withConfig({
@@ -32578,8 +32652,6 @@ var InformationCenter = function InformationCenter(_ref) {
32578
32652
  entitiesAtlasIMG = _ref.entitiesAtlasIMG,
32579
32653
  iconsAtlasIMG = _ref.iconsAtlasIMG,
32580
32654
  iconsAtlasJSON = _ref.iconsAtlasJSON,
32581
- _ref$faqItems = _ref.faqItems,
32582
- faqItems = _ref$faqItems === void 0 ? [] : _ref$faqItems,
32583
32655
  _ref$bestiaryItems = _ref.bestiaryItems,
32584
32656
  bestiaryItems = _ref$bestiaryItems === void 0 ? [] : _ref$bestiaryItems,
32585
32657
  _ref$videoGuides = _ref.videoGuides,
@@ -32594,6 +32666,7 @@ var InformationCenter = function InformationCenter(_ref) {
32594
32666
  var _useState = useState('bestiary'),
32595
32667
  activeTab = _useState[0],
32596
32668
  setActiveTab = _useState[1];
32669
+ var isMobile = isMobileOrTablet();
32597
32670
  if (loading) {
32598
32671
  return React.createElement(LoadingMessage, null, "Loading...");
32599
32672
  }
@@ -32625,14 +32698,6 @@ var InformationCenter = function InformationCenter(_ref) {
32625
32698
  initialSearchQuery: initialSearchQuery,
32626
32699
  tabId: "items"
32627
32700
  })
32628
- }, {
32629
- id: 'faq',
32630
- title: 'FAQ',
32631
- content: React.createElement(InformationCenterFAQSection, {
32632
- faqItems: faqItems,
32633
- initialSearchQuery: initialSearchQuery,
32634
- tabId: "faq"
32635
- })
32636
32701
  }, {
32637
32702
  id: 'tutorials',
32638
32703
  title: 'Tutorials',
@@ -32644,8 +32709,10 @@ var InformationCenter = function InformationCenter(_ref) {
32644
32709
  }];
32645
32710
  return React.createElement(DraggableContainer, {
32646
32711
  title: "Information Center",
32647
- type: RPGUIContainerTypes.Framed
32648
- }, React.createElement(Container$s, null, React.createElement(InternalTabs, {
32712
+ type: RPGUIContainerTypes.Framed,
32713
+ width: isMobile ? '95%' : '80%',
32714
+ minWidth: "300px"
32715
+ }, React.createElement(Container$r, null, React.createElement(InternalTabs, {
32649
32716
  tabs: tabs,
32650
32717
  activeTextColor: "#000000",
32651
32718
  activeTab: activeTab,
@@ -32656,10 +32723,10 @@ var InformationCenter = function InformationCenter(_ref) {
32656
32723
  hoverColor: "#fef3c7"
32657
32724
  })));
32658
32725
  };
32659
- var Container$s = /*#__PURE__*/styled.div.withConfig({
32726
+ var Container$r = /*#__PURE__*/styled.div.withConfig({
32660
32727
  displayName: "InformationCenter__Container",
32661
32728
  componentId: "sc-1ttl62e-0"
32662
- })(["width:100%;max-width:800px;margin:0 auto;padding:1rem;"]);
32729
+ })(["width:100%;max-width:100%;margin:0 auto;padding:0.125rem;overflow:hidden;box-sizing:border-box;@media (min-width:320px){padding:0.25rem;}@media (min-width:360px){padding:0.5rem;}@media (min-width:480px){padding:0.75rem;}@media (min-width:", "){max-width:900px;padding:1rem;}@media (min-width:", "){max-width:1200px;}"], UI_BREAKPOINT_MOBILE, UI_BREAKPOINT_SMALL_LAPTOP);
32663
32730
  var LoadingMessage = /*#__PURE__*/styled.div.withConfig({
32664
32731
  displayName: "InformationCenter__LoadingMessage",
32665
32732
  componentId: "sc-1ttl62e-1"
@@ -32827,7 +32894,7 @@ var ShortcutsSetter = function ShortcutsSetter(_ref) {
32827
32894
  }
32828
32895
  return null;
32829
32896
  };
32830
- return React.createElement(Container$t, null, React.createElement("p", null, "Shortcuts:"), React.createElement(List, {
32897
+ return React.createElement(Container$s, null, React.createElement("p", null, "Shortcuts:"), React.createElement(List, {
32831
32898
  id: "shortcuts_list"
32832
32899
  }, Array.from({
32833
32900
  length: 12
@@ -32845,7 +32912,7 @@ var ShortcutsSetter = function ShortcutsSetter(_ref) {
32845
32912
  }, getContent(i));
32846
32913
  })));
32847
32914
  };
32848
- var Container$t = /*#__PURE__*/styled.div.withConfig({
32915
+ var Container$s = /*#__PURE__*/styled.div.withConfig({
32849
32916
  displayName: "ShortcutsSetter__Container",
32850
32917
  componentId: "sc-xuouuf-0"
32851
32918
  })(["p{margin:0;margin-left:0.5rem;font-size:10px;}width:100%;"]);
@@ -32959,7 +33026,7 @@ var QuantitySelector = function QuantitySelector(_ref) {
32959
33026
  return React.createElement(StyledContainer, {
32960
33027
  type: RPGUIContainerTypes.Framed,
32961
33028
  width: "25rem"
32962
- }, React.createElement(CloseButton$6, {
33029
+ }, React.createElement(CloseButton$7, {
32963
33030
  className: "container-close",
32964
33031
  onPointerDown: onClose
32965
33032
  }, "X"), React.createElement("h2", null, title), React.createElement(StyledForm, {
@@ -33004,7 +33071,7 @@ var StyledContainer = /*#__PURE__*/styled(RPGUIContainer).withConfig({
33004
33071
  displayName: "QuantitySelector__StyledContainer",
33005
33072
  componentId: "sc-z4ut57-0"
33006
33073
  })(["position:relative;display:flex;flex-direction:column;align-items:center;padding:1rem;h2{margin:0;margin-bottom:1rem;font-size:1rem;}"]);
33007
- var CloseButton$6 = /*#__PURE__*/styled.div.withConfig({
33074
+ var CloseButton$7 = /*#__PURE__*/styled.div.withConfig({
33008
33075
  displayName: "QuantitySelector__CloseButton",
33009
33076
  componentId: "sc-z4ut57-1"
33010
33077
  })(["position:absolute;top:3px;right:0px;color:white;z-index:22;font-size:1.5rem;cursor:pointer;"]);
@@ -33290,7 +33357,7 @@ var ConfirmModal = function ConfirmModal(_ref) {
33290
33357
  e.stopPropagation();
33291
33358
  onClose();
33292
33359
  };
33293
- return React.createElement(ModalPortal, null, React.createElement(Background, null), React.createElement(Container$u, {
33360
+ return React.createElement(ModalPortal, null, React.createElement(Background, null), React.createElement(Container$t, {
33294
33361
  onClick: handleClose
33295
33362
  }, React.createElement(DraggableContainer, {
33296
33363
  width: "auto",
@@ -33313,7 +33380,7 @@ var Background = /*#__PURE__*/styled.div.withConfig({
33313
33380
  displayName: "ConfirmModal__Background",
33314
33381
  componentId: "sc-11qkyu1-0"
33315
33382
  })(["position:absolute;width:100%;height:100%;background-color:#000000;opacity:0.5;left:0;top:0;z-index:1000;"]);
33316
- var Container$u = /*#__PURE__*/styled.div.withConfig({
33383
+ var Container$t = /*#__PURE__*/styled.div.withConfig({
33317
33384
  displayName: "ConfirmModal__Container",
33318
33385
  componentId: "sc-11qkyu1-1"
33319
33386
  })(["position:absolute;width:100%;height:100%;left:0;top:0;display:flex;justify-content:center;align-items:center;z-index:1001;"]);
@@ -33368,7 +33435,7 @@ var ColorSelector = function ColorSelector(_ref) {
33368
33435
  cancelDrag: ".react-colorful",
33369
33436
  width: "25rem",
33370
33437
  onCloseButton: onClose
33371
- }, React.createElement(Container$v, null, React.createElement(Header$3, null, "Select Color"), React.createElement(ColorPickerWrapper, null, React.createElement(HexColorPicker, {
33438
+ }, React.createElement(Container$u, null, React.createElement(Header$3, null, "Select Color"), React.createElement(ColorPickerWrapper, null, React.createElement(HexColorPicker, {
33372
33439
  color: currentColor,
33373
33440
  onChange: function onChange(color) {
33374
33441
  setCurrentColor(color);
@@ -33384,7 +33451,7 @@ var ColorSelector = function ColorSelector(_ref) {
33384
33451
  onClose: handleClose
33385
33452
  }));
33386
33453
  };
33387
- var Container$v = /*#__PURE__*/styled.div.withConfig({
33454
+ var Container$u = /*#__PURE__*/styled.div.withConfig({
33388
33455
  displayName: "ItemPropertyColorSelector__Container",
33389
33456
  componentId: "sc-me1r4z-0"
33390
33457
  })(["text-align:center;background:inherit;display:flex;flex-direction:column;gap:1.5rem;align-items:center;width:100%;max-width:24rem;margin:0 auto;"]);
@@ -33740,7 +33807,7 @@ var ListMenu = function ListMenu(_ref) {
33740
33807
  onSelected = _ref.onSelected,
33741
33808
  x = _ref.x,
33742
33809
  y = _ref.y;
33743
- return React.createElement(Container$w, {
33810
+ return React.createElement(Container$v, {
33744
33811
  x: x,
33745
33812
  y: y
33746
33813
  }, React.createElement("ul", {
@@ -33757,7 +33824,7 @@ var ListMenu = function ListMenu(_ref) {
33757
33824
  }, (params == null ? void 0 : params.text) || 'No text');
33758
33825
  })));
33759
33826
  };
33760
- var Container$w = /*#__PURE__*/styled.div.withConfig({
33827
+ var Container$v = /*#__PURE__*/styled.div.withConfig({
33761
33828
  displayName: "ListMenu__Container",
33762
33829
  componentId: "sc-i9097t-0"
33763
33830
  })(["display:flex;flex-direction:column;width:100%;justify-content:start;align-items:flex-start;position:absolute;top:", "px;left:", "px;li{font-size:", ";}"], function (props) {
@@ -33776,7 +33843,7 @@ var Pager = function Pager(_ref) {
33776
33843
  itemsPerPage = _ref.itemsPerPage,
33777
33844
  onPageChange = _ref.onPageChange;
33778
33845
  var totalPages = Math.ceil(totalItems / itemsPerPage);
33779
- return React.createElement(Container$x, null, React.createElement("p", null, "Total items: ", totalItems), React.createElement(PagerContainer, null, React.createElement("button", {
33846
+ return React.createElement(Container$w, null, React.createElement("p", null, "Total items: ", totalItems), React.createElement(PagerContainer, null, React.createElement("button", {
33780
33847
  disabled: currentPage === 1,
33781
33848
  onPointerDown: function onPointerDown() {
33782
33849
  return onPageChange(Math.max(currentPage - 1, 1));
@@ -33790,7 +33857,7 @@ var Pager = function Pager(_ref) {
33790
33857
  }
33791
33858
  }, '>')));
33792
33859
  };
33793
- var Container$x = /*#__PURE__*/styled.div.withConfig({
33860
+ var Container$w = /*#__PURE__*/styled.div.withConfig({
33794
33861
  displayName: "Pager__Container",
33795
33862
  componentId: "sc-1ekmf50-0"
33796
33863
  })(["display:flex;flex-direction:column;align-items:center;p{margin:0;font-size:", ";}"], uiFonts.size.xsmall);
@@ -34311,13 +34378,13 @@ var TabBody = function TabBody(_ref) {
34311
34378
  children = _ref.children,
34312
34379
  styles = _ref.styles,
34313
34380
  centerContent = _ref.centerContent;
34314
- return React.createElement(Container$y, {
34381
+ return React.createElement(Container$x, {
34315
34382
  styles: styles,
34316
34383
  "data-tab-id": id,
34317
34384
  centerContent: centerContent
34318
34385
  }, children);
34319
34386
  };
34320
- var Container$y = /*#__PURE__*/styled.div.withConfig({
34387
+ var Container$x = /*#__PURE__*/styled.div.withConfig({
34321
34388
  displayName: "TabBody__Container",
34322
34389
  componentId: "sc-196oof2-0"
34323
34390
  })(["width:", ";height:", ";overflow-y:auto;display:", ";justify-content:", ";align-items:", ";"], function (props) {
@@ -34970,7 +35037,7 @@ var ProgressBar = function ProgressBar(_ref) {
34970
35037
  }
34971
35038
  return value * 100 / max;
34972
35039
  };
34973
- return React.createElement(Container$z, {
35040
+ return React.createElement(Container$y, {
34974
35041
  className: "rpgui-progress",
34975
35042
  "data-value": calculatePercentageValue(max, value) / 100,
34976
35043
  "data-rpguitype": "progress",
@@ -35000,7 +35067,7 @@ var TextOverlay$1 = /*#__PURE__*/styled.div.withConfig({
35000
35067
  displayName: "ProgressBar__TextOverlay",
35001
35068
  componentId: "sc-qa6fzh-1"
35002
35069
  })(["width:100%;position:relative;"]);
35003
- var Container$z = /*#__PURE__*/styled.div.withConfig({
35070
+ var Container$y = /*#__PURE__*/styled.div.withConfig({
35004
35071
  displayName: "ProgressBar__Container",
35005
35072
  componentId: "sc-qa6fzh-2"
35006
35073
  })(["display:flex;flex-direction:column;min-width:", "px;width:", "%;justify-content:start;align-items:flex-start;", " @media (max-width:950px){transform:scale(", ");}"], function (props) {
@@ -35241,9 +35308,9 @@ var InputRadio = function InputRadio(_ref) {
35241
35308
 
35242
35309
  var RPGUIScrollbar = function RPGUIScrollbar(_ref) {
35243
35310
  var children = _ref.children;
35244
- return React.createElement(Container$A, null, children);
35311
+ return React.createElement(Container$z, null, children);
35245
35312
  };
35246
- var Container$A = /*#__PURE__*/styled.div.withConfig({
35313
+ var Container$z = /*#__PURE__*/styled.div.withConfig({
35247
35314
  displayName: "RPGUIScrollbar__Container",
35248
35315
  componentId: "sc-p3msmb-0"
35249
35316
  })([".rpgui-content ::-webkit-scrollbar,.rpgui-content::-webkit-scrollbar{width:25px !important;}.rpgui-content ::-webkit-scrollbar-track,.rpgui-content::-webkit-scrollbar-track{background-size:25px 60px !important;}"]);
@@ -35399,7 +35466,7 @@ var SimpleProgressBar = function SimpleProgressBar(_ref) {
35399
35466
  margin = _ref$margin === void 0 ? 20 : _ref$margin;
35400
35467
  // Ensure the width is at least 1% if value is greater than 0
35401
35468
  var width = value > 0 ? Math.max(1, Math.min(100, value)) : 0;
35402
- return React.createElement(Container$B, {
35469
+ return React.createElement(Container$A, {
35403
35470
  className: "simple-progress-bar"
35404
35471
  }, React.createElement(ProgressBarContainer, {
35405
35472
  margin: margin
@@ -35408,7 +35475,7 @@ var SimpleProgressBar = function SimpleProgressBar(_ref) {
35408
35475
  bgColor: bgColor
35409
35476
  }))));
35410
35477
  };
35411
- var Container$B = /*#__PURE__*/styled.div.withConfig({
35478
+ var Container$A = /*#__PURE__*/styled.div.withConfig({
35412
35479
  displayName: "SimpleProgressBar__Container",
35413
35480
  componentId: "sc-mbeil3-0"
35414
35481
  })(["display:flex;justify-content:center;align-items:center;width:100%;"]);
@@ -35634,7 +35701,7 @@ var SkillsContainer = function SkillsContainer(_ref) {
35634
35701
  cancelDrag: "#skillsDiv",
35635
35702
  scale: scale,
35636
35703
  width: "100%"
35637
- }, onCloseButton && React.createElement(CloseButton$7, {
35704
+ }, onCloseButton && React.createElement(CloseButton$8, {
35638
35705
  onPointerDown: onCloseButton
35639
35706
  }, "X"), React.createElement(SkillsContainerDiv, {
35640
35707
  id: "skillsDiv"
@@ -35669,7 +35736,7 @@ var SkillSplitDiv = /*#__PURE__*/styled.div.withConfig({
35669
35736
  displayName: "SkillsContainer__SkillSplitDiv",
35670
35737
  componentId: "sc-1g0c67q-2"
35671
35738
  })(["width:100%;font-size:11px;hr{margin:0;margin-bottom:1rem;padding:0px;}p{margin-bottom:0px;}"]);
35672
- var CloseButton$7 = /*#__PURE__*/styled.div.withConfig({
35739
+ var CloseButton$8 = /*#__PURE__*/styled.div.withConfig({
35673
35740
  displayName: "SkillsContainer__CloseButton",
35674
35741
  componentId: "sc-1g0c67q-3"
35675
35742
  })(["position:absolute;top:2px;right:2px;color:white;z-index:22;font-size:1.1rem;"]);
@@ -35741,7 +35808,7 @@ var SocialModal = function SocialModal(_ref) {
35741
35808
  title: "Social Channels",
35742
35809
  width: "500px",
35743
35810
  onCloseButton: onClose
35744
- }, React.createElement(Container$C, null, React.createElement(HeaderImage, {
35811
+ }, React.createElement(Container$B, null, React.createElement(HeaderImage, {
35745
35812
  src: img$9,
35746
35813
  alt: ""
35747
35814
  }), React.createElement(ButtonsContainer$1, null, React.createElement(MainButtons, null, React.createElement(SocialButton$1, {
@@ -35759,7 +35826,7 @@ var SocialModal = function SocialModal(_ref) {
35759
35826
  onClick: handleWhatsAppClick
35760
35827
  }, React.createElement(FaWhatsapp, null), " Join WhatsApp")))));
35761
35828
  };
35762
- var Container$C = /*#__PURE__*/styled.div.withConfig({
35829
+ var Container$B = /*#__PURE__*/styled.div.withConfig({
35763
35830
  displayName: "SocialModal__Container",
35764
35831
  componentId: "sc-tbjhp9-0"
35765
35832
  })(["width:100%;display:flex;flex-direction:column;gap:16px;background-color:#5c4132;position:relative;border-radius:8px;overflow:hidden;&:before,&:after{content:'';position:absolute;left:0;right:0;height:3px;}&:before{bottom:0;background:linear-gradient( to right,#5c4132 0%,#2b1810 2%,#2b1810 98%,#5c4132 100% );}"]);
@@ -35805,7 +35872,7 @@ var SpellInfo$1 = function SpellInfo(_ref) {
35805
35872
  castingType = spell.castingType,
35806
35873
  cooldown = spell.cooldown,
35807
35874
  maxDistanceGrid = spell.maxDistanceGrid;
35808
- return React.createElement(Container$D, null, React.createElement(Header$5, null, React.createElement("div", null, React.createElement(Title$b, null, name), React.createElement(Type$1, null, magicWords))), React.createElement(Statistic$1, null, React.createElement("div", {
35875
+ return React.createElement(Container$C, null, React.createElement(Header$5, null, React.createElement("div", null, React.createElement(Title$b, null, name), React.createElement(Type$1, null, magicWords))), React.createElement(Statistic$1, null, React.createElement("div", {
35809
35876
  className: "label"
35810
35877
  }, "Casting Type:"), React.createElement("div", {
35811
35878
  className: "value"
@@ -35831,7 +35898,7 @@ var SpellInfo$1 = function SpellInfo(_ref) {
35831
35898
  className: "value"
35832
35899
  }, requiredItem))), React.createElement(Description$4, null, description));
35833
35900
  };
35834
- var Container$D = /*#__PURE__*/styled.div.withConfig({
35901
+ var Container$C = /*#__PURE__*/styled.div.withConfig({
35835
35902
  displayName: "SpellInfo__Container",
35836
35903
  componentId: "sc-4hbw3q-0"
35837
35904
  })(["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);
@@ -35885,7 +35952,7 @@ var MobileSpellTooltip = function MobileSpellTooltip(_ref) {
35885
35952
  var _ref$current;
35886
35953
  (_ref$current = ref.current) == null ? void 0 : _ref$current.classList.add('fadeOut');
35887
35954
  };
35888
- return React.createElement(ModalPortal, null, React.createElement(Container$E, {
35955
+ return React.createElement(ModalPortal, null, React.createElement(Container$D, {
35889
35956
  ref: ref,
35890
35957
  onTouchEnd: function onTouchEnd() {
35891
35958
  handleFadeOut();
@@ -35910,7 +35977,7 @@ var MobileSpellTooltip = function MobileSpellTooltip(_ref) {
35910
35977
  }, option.text);
35911
35978
  }))));
35912
35979
  };
35913
- var Container$E = /*#__PURE__*/styled.div.withConfig({
35980
+ var Container$D = /*#__PURE__*/styled.div.withConfig({
35914
35981
  displayName: "MobileSpellTooltip__Container",
35915
35982
  componentId: "sc-6p7uvr-0"
35916
35983
  })(["position:absolute;z-index:100;left:0;top:0;width:100vw;height:100vh;background-color:rgba(0 0 0 / 0.5);display:flex;justify-content:center;align-items:center;gap:0.5rem;transition:opacity 0.08s;animation:fadeIn 0.1s forwards;@keyframes fadeIn{0%{opacity:0;}100%{opacity:0.92;}}@keyframes fadeOut{0%{opacity:0.92;}100%{opacity:0;}}&.fadeOut{animation:fadeOut 0.1s forwards;}@media (max-width:580px){flex-direction:column;}"]);
@@ -35951,13 +36018,13 @@ var MagicTooltip = function MagicTooltip(_ref) {
35951
36018
  }
35952
36019
  return;
35953
36020
  }, []);
35954
- return React.createElement(ModalPortal, null, React.createElement(Container$F, {
36021
+ return React.createElement(ModalPortal, null, React.createElement(Container$E, {
35955
36022
  ref: ref
35956
36023
  }, React.createElement(SpellInfoDisplay, {
35957
36024
  spell: spell
35958
36025
  })));
35959
36026
  };
35960
- var Container$F = /*#__PURE__*/styled.div.withConfig({
36027
+ var Container$E = /*#__PURE__*/styled.div.withConfig({
35961
36028
  displayName: "SpellTooltip__Container",
35962
36029
  componentId: "sc-1go0gwg-0"
35963
36030
  })(["position:absolute;z-index:100;pointer-events:none;left:0;top:0;opacity:0;transition:opacity 0.08s;"]);
@@ -36030,7 +36097,7 @@ var Spell = function Spell(_ref) {
36030
36097
  var IMAGE_SCALE = 2;
36031
36098
  return React.createElement(SpellInfoWrapper, {
36032
36099
  spell: spell
36033
- }, React.createElement(Container$G, {
36100
+ }, React.createElement(Container$F, {
36034
36101
  onPointerUp: onPointerUp == null ? void 0 : onPointerUp.bind(null, spellKey),
36035
36102
  isSettingShortcut: isSettingShortcut && !disabled,
36036
36103
  className: "spell"
@@ -36049,7 +36116,7 @@ var Spell = function Spell(_ref) {
36049
36116
  className: "mana"
36050
36117
  }, manaCost))));
36051
36118
  };
36052
- var Container$G = /*#__PURE__*/styled.button.withConfig({
36119
+ var Container$F = /*#__PURE__*/styled.button.withConfig({
36053
36120
  displayName: "Spell__Container",
36054
36121
  componentId: "sc-j96fa2-0"
36055
36122
  })(["display:block;background:none;border:2px solid transparent;border-radius:1rem;width:100%;display:flex;gap:1rem;align-items:center;padding:0 1rem;text-align:left;position:relative;animation:", ";@keyframes border-color-change{0%{border-color:", ";}50%{border-color:transparent;}100%{border-color:", ";}}&:hover,&:focus{background-color:", ";}&:active{background:none;}"], function (_ref2) {
@@ -36128,7 +36195,7 @@ var Spellbook = function Spellbook(_ref) {
36128
36195
  height: "inherit",
36129
36196
  cancelDrag: "#spellbook-search, #shortcuts_list, .spell",
36130
36197
  scale: scale
36131
- }, React.createElement(Container$H, null, React.createElement(Title$d, null, "Learned Spells"), React.createElement(ShortcutsSetter, {
36198
+ }, React.createElement(Container$G, null, React.createElement(Title$d, null, "Learned Spells"), React.createElement(ShortcutsSetter, {
36132
36199
  setSettingShortcutIndex: setSettingShortcutIndex,
36133
36200
  settingShortcutIndex: settingShortcutIndex,
36134
36201
  shortcuts: shortcuts,
@@ -36164,7 +36231,7 @@ var Title$d = /*#__PURE__*/styled.h1.withConfig({
36164
36231
  displayName: "Spellbook__Title",
36165
36232
  componentId: "sc-r02nfq-0"
36166
36233
  })(["font-size:", " !important;margin-bottom:0 !important;"], uiFonts.size.large);
36167
- var Container$H = /*#__PURE__*/styled.div.withConfig({
36234
+ var Container$G = /*#__PURE__*/styled.div.withConfig({
36168
36235
  displayName: "Spellbook__Container",
36169
36236
  componentId: "sc-r02nfq-1"
36170
36237
  })(["width:100%;height:100%;color:white;display:flex;flex-direction:column;"]);
@@ -36350,7 +36417,7 @@ var TimeWidget = function TimeWidget(_ref) {
36350
36417
  return React.createElement(Draggable, {
36351
36418
  scale: scale,
36352
36419
  cancel: ".time-widget-close,.time-widget-container,.time-widget-container *"
36353
- }, React.createElement(WidgetContainer, null, React.createElement(CloseButton$8, {
36420
+ }, React.createElement(WidgetContainer, null, React.createElement(CloseButton$9, {
36354
36421
  onPointerDown: onClose,
36355
36422
  className: "time-widget-close"
36356
36423
  }, "X"), React.createElement(DayNightContainer, {
@@ -36367,7 +36434,7 @@ var Time = /*#__PURE__*/styled.div.withConfig({
36367
36434
  displayName: "TimeWidget__Time",
36368
36435
  componentId: "sc-1ja236h-1"
36369
36436
  })(["top:0.75rem;right:0.5rem;position:absolute;font-size:", ";color:white;"], uiFonts.size.small);
36370
- var CloseButton$8 = /*#__PURE__*/styled.p.withConfig({
36437
+ var CloseButton$9 = /*#__PURE__*/styled.p.withConfig({
36371
36438
  displayName: "TimeWidget__CloseButton",
36372
36439
  componentId: "sc-1ja236h-2"
36373
36440
  })(["position:absolute;top:-0.5rem;margin:0;right:-0.2rem;font-size:", " !important;z-index:1;"], uiFonts.size.small);
@@ -36646,7 +36713,7 @@ var TradingMenu = function TradingMenu(_ref) {
36646
36713
  width: "500px",
36647
36714
  cancelDrag: "#TraderContainer",
36648
36715
  scale: scale
36649
- }, React.createElement(Container$I, null, React.createElement(Title$e, null, type.charAt(0).toUpperCase() + type.slice(1), " Menu"), React.createElement("hr", {
36716
+ }, React.createElement(Container$H, null, React.createElement(Title$e, null, type.charAt(0).toUpperCase() + type.slice(1), " Menu"), React.createElement("hr", {
36650
36717
  className: "golden"
36651
36718
  }), React.createElement(ScrollWrapper, {
36652
36719
  id: "TraderContainer"
@@ -36674,7 +36741,7 @@ var TradingMenu = function TradingMenu(_ref) {
36674
36741
  onPointerDown: onClose
36675
36742
  }, "Cancel"))));
36676
36743
  };
36677
- var Container$I = /*#__PURE__*/styled.div.withConfig({
36744
+ var Container$H = /*#__PURE__*/styled.div.withConfig({
36678
36745
  displayName: "TradingMenu__Container",
36679
36746
  componentId: "sc-1wjsz1l-0"
36680
36747
  })(["width:100%;"]);
@@ -36708,11 +36775,11 @@ var Truncate = function Truncate(_ref) {
36708
36775
  var _ref$maxLines = _ref.maxLines,
36709
36776
  maxLines = _ref$maxLines === void 0 ? 1 : _ref$maxLines,
36710
36777
  children = _ref.children;
36711
- return React.createElement(Container$J, {
36778
+ return React.createElement(Container$I, {
36712
36779
  maxLines: maxLines
36713
36780
  }, children);
36714
36781
  };
36715
- var Container$J = /*#__PURE__*/styled.div.withConfig({
36782
+ var Container$I = /*#__PURE__*/styled.div.withConfig({
36716
36783
  displayName: "Truncate__Container",
36717
36784
  componentId: "sc-6x00qb-0"
36718
36785
  })(["display:-webkit-box;max-width:100%;max-height:100%;-webkit-line-clamp:", ";-webkit-box-orient:vertical;overflow:hidden;"], function (props) {
@@ -36820,7 +36887,7 @@ var TutorialStepper = /*#__PURE__*/React.memo(function (_ref) {
36820
36887
  };
36821
36888
  });
36822
36889
  }, [lessons, imageStyle]);
36823
- return React.createElement(Container$K, null, React.createElement(Stepper, {
36890
+ return React.createElement(Container$J, null, React.createElement(Stepper, {
36824
36891
  steps: generateLessons,
36825
36892
  finalCTAButton: {
36826
36893
  label: 'Close',
@@ -36837,7 +36904,7 @@ var LessonBody = /*#__PURE__*/styled.div.withConfig({
36837
36904
  displayName: "TutorialStepper__LessonBody",
36838
36905
  componentId: "sc-7tgzv2-1"
36839
36906
  })([""]);
36840
- var Container$K = /*#__PURE__*/styled.div.withConfig({
36907
+ var Container$J = /*#__PURE__*/styled.div.withConfig({
36841
36908
  displayName: "TutorialStepper__Container",
36842
36909
  componentId: "sc-7tgzv2-2"
36843
36910
  })(["width:80%;max-width:600px;@media (max-width:600px){width:95%;}"]);