@rpg-engine/long-bow 0.5.41 → 0.5.43

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.
@@ -3,7 +3,7 @@ import styled from 'styled-components';
3
3
  import { GRID_WIDTH, GRID_HEIGHT, ShortcutType, getItemTextureKeyPath, ItemRarities, ItemContainerType, ItemType, DepotSocketEvents, ItemSocketEvents, ItemSocketEventsDisplayLabels, ActionsForInventory, ActionsForEquipmentSet, ActionsForLoot, ActionsForMapContainer, ItemSubType, ItemSlotType, isMobileOrTablet, CharacterClass, getSPForLevel, getXPForLevel, PeriodOfDay, UserAccountTypes } from '@rpg-engine/shared';
4
4
  import dayjs from 'dayjs';
5
5
  import { ErrorBoundary as ErrorBoundary$1 } from 'react-error-boundary';
6
- import { RxPaperPlane, RxMagnifyingGlass } from 'react-icons/rx';
6
+ import { RxPaperPlane, RxMagnifyingGlass, RxCross2 } from 'react-icons/rx';
7
7
  import Draggable from 'react-draggable';
8
8
  import ReactDOM from 'react-dom';
9
9
  import { camelCase } from 'lodash-es';
@@ -12602,11 +12602,8 @@ var Chat = function Chat(_ref) {
12602
12602
  var ChatContainer = /*#__PURE__*/styled.div.withConfig({
12603
12603
  displayName: "Chat__ChatContainer",
12604
12604
  componentId: "sc-1bk05n6-0"
12605
- })(["height:", ";width:", ";padding:10px;background-color:rgba(0,0,0,0.2);height:auto;"], function (props) {
12605
+ })(["height:", " !important;width:100%;padding:10px;background-color:rgba(0,0,0,0.2);height:auto;"], function (props) {
12606
12606
  return props.height;
12607
- }, function (_ref2) {
12608
- var width = _ref2.width;
12609
- return width;
12610
12607
  });
12611
12608
  var TextField = /*#__PURE__*/styled.input.withConfig({
12612
12609
  displayName: "Chat__TextField",
@@ -12615,12 +12612,12 @@ var TextField = /*#__PURE__*/styled.input.withConfig({
12615
12612
  var MessagesContainer = /*#__PURE__*/styled.div.withConfig({
12616
12613
  displayName: "Chat__MessagesContainer",
12617
12614
  componentId: "sc-1bk05n6-2"
12618
- })(["height:70%;margin-bottom:10px;.chat-body{max-height:auto;overflow-y:auto;}"]);
12615
+ })(["height:70%;margin-bottom:10px;overflow-y:auto;"]);
12619
12616
  var Message = /*#__PURE__*/styled.div.withConfig({
12620
12617
  displayName: "Chat__Message",
12621
12618
  componentId: "sc-1bk05n6-3"
12622
- })(["margin-bottom:8px;color:", ";"], function (_ref3) {
12623
- var color = _ref3.color;
12619
+ })(["margin-bottom:8px;color:", ";"], function (_ref2) {
12620
+ var color = _ref2.color;
12624
12621
  return color;
12625
12622
  });
12626
12623
  var Form = /*#__PURE__*/styled.form.withConfig({
@@ -12630,11 +12627,11 @@ var Form = /*#__PURE__*/styled.form.withConfig({
12630
12627
  var Button$1 = /*#__PURE__*/styled.button.withConfig({
12631
12628
  displayName: "Chat__Button",
12632
12629
  componentId: "sc-1bk05n6-5"
12633
- })(["color:", ";background-color:", ";width:28px;height:28px;border:none !important;"], function (_ref4) {
12634
- var buttonColor = _ref4.buttonColor;
12630
+ })(["color:", ";background-color:", ";width:28px;height:28px;border:none !important;"], function (_ref3) {
12631
+ var buttonColor = _ref3.buttonColor;
12635
12632
  return buttonColor;
12636
- }, function (_ref5) {
12637
- var buttonBackgroundColor = _ref5.buttonBackgroundColor;
12633
+ }, function (_ref4) {
12634
+ var buttonBackgroundColor = _ref4.buttonBackgroundColor;
12638
12635
  return buttonBackgroundColor;
12639
12636
  });
12640
12637
 
@@ -12689,31 +12686,30 @@ var SearchCharacter = function SearchCharacter(_ref) {
12689
12686
  onCharacterClick(character);
12690
12687
  setShowSearchCharacter(false);
12691
12688
  };
12692
- return React.createElement(SearchCharacterContainer, {
12693
- width: (styles == null ? void 0 : styles.width) || '80%',
12694
- height: (styles == null ? void 0 : styles.height) || 'auto'
12695
- }, React.createElement(Form$1, {
12689
+ return React.createElement(SearchContainer, null, React.createElement(Form$1, {
12696
12690
  onSubmit: handleSubmit
12697
12691
  }, React.createElement(Column, {
12698
12692
  flex: 70
12699
12693
  }, React.createElement(TextField$1, {
12700
12694
  value: characterName,
12701
- id: "inputCharacterName",
12695
+ id: "characterName",
12696
+ name: 'characterName',
12702
12697
  onChange: function onChange(e) {
12703
12698
  setCharacterName(e.target.value);
12704
12699
  onChangeCharacterName(e.target.value);
12705
12700
  },
12701
+ placeholder: 'Search for a character...',
12706
12702
  height: 20,
12707
12703
  type: "text",
12708
12704
  autoComplete: "off",
12709
12705
  onFocus: onFocus,
12710
12706
  onBlur: onBlur,
12711
12707
  onPointerDown: onFocus,
12712
- autoFocus: true,
12713
- placeholder: "Type a character name..."
12708
+ autoFocus: true
12714
12709
  })), React.createElement(Column, {
12715
12710
  justifyContent: "flex-end"
12716
12711
  }, React.createElement(SearchButton, {
12712
+ type: 'submit',
12717
12713
  buttonColor: (styles == null ? void 0 : styles.buttonColor) || '#005b96',
12718
12714
  buttonBackgroundColor: (styles == null ? void 0 : styles.buttonBackgroundColor) || 'rgba(0,0,0,.5)',
12719
12715
  id: "chat-send-button",
@@ -12731,15 +12727,10 @@ var SearchCharacter = function SearchCharacter(_ref) {
12731
12727
  }, character.name);
12732
12728
  })));
12733
12729
  };
12734
- var SearchCharacterContainer = /*#__PURE__*/styled.div.withConfig({
12735
- displayName: "SearchCharacter__SearchCharacterContainer",
12730
+ var SearchContainer = /*#__PURE__*/styled.div.withConfig({
12731
+ displayName: "SearchCharacter__SearchContainer",
12736
12732
  componentId: "sc-172lyfr-0"
12737
- })(["height:", ";width:", ";padding:10px;background-color:rgba(0,0,0,0.2);height:auto;"], function (props) {
12738
- return props.height;
12739
- }, function (_ref2) {
12740
- var width = _ref2.width;
12741
- return width;
12742
- });
12733
+ })(["width:100%;"]);
12743
12734
  var Form$1 = /*#__PURE__*/styled.form.withConfig({
12744
12735
  displayName: "SearchCharacter__Form",
12745
12736
  componentId: "sc-172lyfr-1"
@@ -12751,11 +12742,11 @@ var TextField$1 = /*#__PURE__*/styled.input.withConfig({
12751
12742
  var SearchButton = /*#__PURE__*/styled.button.withConfig({
12752
12743
  displayName: "SearchCharacter__SearchButton",
12753
12744
  componentId: "sc-172lyfr-3"
12754
- })(["color:", ";background-color:", ";width:28px;height:28px;border:none !important;"], function (_ref3) {
12755
- var buttonColor = _ref3.buttonColor;
12745
+ })(["color:", ";background-color:", ";width:28px;height:28px;border:none !important;"], function (_ref2) {
12746
+ var buttonColor = _ref2.buttonColor;
12756
12747
  return buttonColor;
12757
- }, function (_ref4) {
12758
- var buttonBackgroundColor = _ref4.buttonBackgroundColor;
12748
+ }, function (_ref3) {
12749
+ var buttonBackgroundColor = _ref3.buttonBackgroundColor;
12759
12750
  return buttonBackgroundColor;
12760
12751
  });
12761
12752
  var ListContainer = /*#__PURE__*/styled.ul.withConfig({
@@ -12765,7 +12756,7 @@ var ListContainer = /*#__PURE__*/styled.ul.withConfig({
12765
12756
  var ListElement = /*#__PURE__*/styled.li.withConfig({
12766
12757
  displayName: "SearchCharacter__ListElement",
12767
12758
  componentId: "sc-172lyfr-5"
12768
- })(["margin:0.5rem 0 !important;font-size:", ";&:hover{color:#ff0;background-color:", ";}button{all:unset;}"], uiFonts.size.small, uiColors.darkGray);
12759
+ })(["margin:0.5rem 0 !important;font-size:", ";padding:0.5rem 2px;&:hover{color:#ff0;background-color:", ";}button{all:unset;}"], uiFonts.size.small, uiColors.darkGray);
12769
12760
 
12770
12761
  var ChatRevamp = function ChatRevamp(_ref) {
12771
12762
  var chatMessages = _ref.chatMessages,
@@ -12780,14 +12771,29 @@ var ChatRevamp = function ChatRevamp(_ref) {
12780
12771
  activeTab = _ref.activeTab,
12781
12772
  privateChatCharacters = _ref.privateChatCharacters,
12782
12773
  onCharacterClick = _ref.onCharacterClick,
12783
- onSendPrivateChatMessage = _ref.onSendPrivateChatMessage;
12774
+ onSendPrivateChatMessage = _ref.onSendPrivateChatMessage,
12775
+ recentChatCharacters = _ref.recentChatCharacters,
12776
+ _ref$recentSelectedCh = _ref.recentSelectedChatCharacterId,
12777
+ recentSelectedChatCharacterId = _ref$recentSelectedCh === void 0 ? '' : _ref$recentSelectedCh,
12778
+ onPreviousChatCharacterClick = _ref.onPreviousChatCharacterClick,
12779
+ onRemoveRecentChatCharacter = _ref.onRemoveRecentChatCharacter,
12780
+ _ref$unseenMessageCha = _ref.unseenMessageCharacterIds,
12781
+ unseenMessageCharacterIds = _ref$unseenMessageCha === void 0 ? [] : _ref$unseenMessageCha;
12784
12782
  var _useState = useState(true),
12785
- showSearchCharacter = _useState[0],
12786
- setShowSearchCharacter = _useState[1];
12783
+ showSearchCharacterUI = _useState[0],
12784
+ setShowSearchCharacterUI = _useState[1];
12785
+ var _useState2 = useState(false),
12786
+ showRecentChats = _useState2[0],
12787
+ setShowRecentChats = _useState2[1];
12787
12788
  useEffect(function () {
12788
- setShowSearchCharacter(true);
12789
+ setShowSearchCharacterUI(true);
12789
12790
  }, [activeTab]);
12790
12791
  var isPrivate = activeTab === 'private';
12792
+ var handlePreviousChatCharacterClick = function handlePreviousChatCharacterClick(character) {
12793
+ if (!onPreviousChatCharacterClick) return;
12794
+ onPreviousChatCharacterClick(character);
12795
+ setShowSearchCharacterUI(false);
12796
+ };
12791
12797
  return React.createElement(React.Fragment, null, React.createElement(TabContainer, null, tabs.map(function (tab, index) {
12792
12798
  return React.createElement(Tab, {
12793
12799
  key: tab.label + "_" + index,
@@ -12796,13 +12802,54 @@ var ChatRevamp = function ChatRevamp(_ref) {
12796
12802
  return onChangeTab(tab.id);
12797
12803
  }
12798
12804
  }, tab.label);
12799
- })), isPrivate && showSearchCharacter ? React.createElement(SearchCharacter, {
12805
+ })), React.createElement(PrivateChatContainer, {
12806
+ width: (styles == null ? void 0 : styles.width) || '80%',
12807
+ height: (styles == null ? void 0 : styles.height) || 'auto'
12808
+ }, React.createElement(RecentChatTabContainer, {
12809
+ isPrivate: isPrivate,
12810
+ isOpen: showRecentChats
12811
+ }, React.createElement(RecentChatTopBar, {
12812
+ isOpen: showRecentChats
12813
+ }, React.createElement(BurgerIconContainer, {
12814
+ onPointerDown: function onPointerDown() {
12815
+ return setShowRecentChats(function (t) {
12816
+ return !t;
12817
+ });
12818
+ },
12819
+ hasUnseenMessages: (unseenMessageCharacterIds == null ? void 0 : unseenMessageCharacterIds.length) > 0 ? true : false
12820
+ }, React.createElement(BurgerLineIcon, null), React.createElement(BurgerLineIcon, null), React.createElement(BurgerLineIcon, null)), showRecentChats && React.createElement(SearchButton$1, {
12821
+ onPointerDown: function onPointerDown() {
12822
+ return setShowSearchCharacterUI(true);
12823
+ }
12824
+ }, React.createElement(RxMagnifyingGlass, {
12825
+ size: 16,
12826
+ color: uiColors.white
12827
+ }))), React.createElement(RecentChatLogContainer, {
12828
+ isOpen: showRecentChats
12829
+ }, recentChatCharacters == null ? void 0 : recentChatCharacters.map(function (character) {
12830
+ return React.createElement(ListElementContainer, {
12831
+ key: character._id
12832
+ }, React.createElement(ListElement$1, {
12833
+ active: character._id === recentSelectedChatCharacterId,
12834
+ onPointerDown: function onPointerDown() {
12835
+ return handlePreviousChatCharacterClick(character);
12836
+ }
12837
+ }, React.createElement(StatusDot, {
12838
+ isUnseen: (unseenMessageCharacterIds == null ? void 0 : unseenMessageCharacterIds.includes(character._id)) || false
12839
+ }), character.name), React.createElement(CloseButton, {
12840
+ onPointerDown: function onPointerDown() {
12841
+ return onRemoveRecentChatCharacter == null ? void 0 : onRemoveRecentChatCharacter(character);
12842
+ }
12843
+ }, React.createElement(RxCross2, {
12844
+ size: 16
12845
+ })));
12846
+ }))), isPrivate && showSearchCharacterUI ? React.createElement(SearchCharacter, {
12800
12847
  onFocus: onFocus,
12801
12848
  onBlur: onBlur,
12802
12849
  onChangeCharacterName: onChangeCharacterName,
12803
12850
  styles: styles,
12804
12851
  recentCharacters: privateChatCharacters,
12805
- setShowSearchCharacter: setShowSearchCharacter,
12852
+ setShowSearchCharacter: setShowSearchCharacterUI,
12806
12853
  onCharacterClick: onCharacterClick
12807
12854
  }) : React.createElement(Chat, {
12808
12855
  chatMessages: chatMessages,
@@ -12812,7 +12859,7 @@ var ChatRevamp = function ChatRevamp(_ref) {
12812
12859
  styles: styles,
12813
12860
  onFocus: onFocus,
12814
12861
  onBlur: onBlur
12815
- }));
12862
+ })));
12816
12863
  };
12817
12864
  var TabContainer = /*#__PURE__*/styled.div.withConfig({
12818
12865
  displayName: "ChatRevamp__TabContainer",
@@ -12828,6 +12875,70 @@ var Tab = /*#__PURE__*/styled.button.withConfig({
12828
12875
  }, function (props) {
12829
12876
  return props.active ? 'white' : uiColors.raisinBlack;
12830
12877
  });
12878
+ var PrivateChatContainer = /*#__PURE__*/styled.div.withConfig({
12879
+ displayName: "ChatRevamp__PrivateChatContainer",
12880
+ componentId: "sc-1sdiknw-2"
12881
+ })(["width:", ";min-height:", " !important;padding:10px;background-color:rgba(0,0,0,0.2);height:auto;display:flex;gap:10px;"], function (_ref2) {
12882
+ var width = _ref2.width;
12883
+ return width;
12884
+ }, function (_ref3) {
12885
+ var height = _ref3.height;
12886
+ return height;
12887
+ });
12888
+ var RecentChatTabContainer = /*#__PURE__*/styled.div.withConfig({
12889
+ displayName: "ChatRevamp__RecentChatTabContainer",
12890
+ componentId: "sc-1sdiknw-3"
12891
+ })(["display:", ";flex-direction:column;border-right:1px solid ", ";outline:none;width:", " !important;transition:width 0.3s ease-in-out;overflow:hidden;@media (max-width:768px){width:", " !important;}"], function (props) {
12892
+ return props.isPrivate ? 'flex' : 'none';
12893
+ }, uiColors.gray, function (props) {
12894
+ return props.isOpen ? '20%' : '30px';
12895
+ }, function (props) {
12896
+ return props.isOpen ? '40%' : '30px';
12897
+ });
12898
+ var RecentChatTopBar = /*#__PURE__*/styled.div.withConfig({
12899
+ displayName: "ChatRevamp__RecentChatTopBar",
12900
+ componentId: "sc-1sdiknw-4"
12901
+ })(["display:flex;align-items:center;justify-content:space-between;height:30px;"]);
12902
+ var SearchButton$1 = /*#__PURE__*/styled.button.withConfig({
12903
+ displayName: "ChatRevamp__SearchButton",
12904
+ componentId: "sc-1sdiknw-5"
12905
+ })(["border:none;background-color:transparent;display:flex;flex-direction:column;align-items:flex-end;gap:2px;padding:4px;position:relative;"]);
12906
+ var BurgerIconContainer = /*#__PURE__*/styled.button.withConfig({
12907
+ displayName: "ChatRevamp__BurgerIconContainer",
12908
+ componentId: "sc-1sdiknw-6"
12909
+ })(["border:none;background-color:transparent;display:flex;flex-direction:column;align-items:flex-end;padding:4px;gap:2px;position:relative;&:after{content:'';width:6px;height:6px;position:absolute;top:0;right:2px;border-radius:50%;background-color:", ";display:", ";}"], uiColors.lightGreen, function (props) {
12910
+ return props.hasUnseenMessages ? 'block' : 'none';
12911
+ });
12912
+ var BurgerLineIcon = /*#__PURE__*/styled.span.withConfig({
12913
+ displayName: "ChatRevamp__BurgerLineIcon",
12914
+ componentId: "sc-1sdiknw-7"
12915
+ })(["width:1rem;height:2px;background-color:#ffffff;"]);
12916
+ var RecentChatLogContainer = /*#__PURE__*/styled.div.withConfig({
12917
+ displayName: "ChatRevamp__RecentChatLogContainer",
12918
+ componentId: "sc-1sdiknw-8"
12919
+ })(["border:none;list-style:none;display:flex;opacity:", ";flex-direction:column;gap:0.5rem;transition:opacity 0.3s ease-in-out;padding:0;margin:0;flex:1;"], function (props) {
12920
+ return props.isOpen ? 1 : 0;
12921
+ });
12922
+ var ListElementContainer = /*#__PURE__*/styled.div.withConfig({
12923
+ displayName: "ChatRevamp__ListElementContainer",
12924
+ componentId: "sc-1sdiknw-9"
12925
+ })(["display:flex;justify-content:space-between;align-items:center;"]);
12926
+ var ListElement$1 = /*#__PURE__*/styled.button.withConfig({
12927
+ displayName: "ChatRevamp__ListElement",
12928
+ componentId: "sc-1sdiknw-10"
12929
+ })(["margin:0.5rem 0 !important;font-size:", " !important;padding:2px;all:unset;color:", ";width:100%;position:relative;display:flex;align-items:center;gap:4px;&:hover{color:#ff0;}"], uiFonts.size.small, function (props) {
12930
+ return props.active ? uiColors.yellow : uiColors.white;
12931
+ });
12932
+ var StatusDot = /*#__PURE__*/styled.span.withConfig({
12933
+ displayName: "ChatRevamp__StatusDot",
12934
+ componentId: "sc-1sdiknw-11"
12935
+ })(["width:6px;height:6px;border-radius:50%;background-color:", ";display:inline-block;margin-right:6px;"], function (props) {
12936
+ return props.isUnseen ? uiColors.lightGreen : uiColors.gray;
12937
+ });
12938
+ var CloseButton = /*#__PURE__*/styled.button.withConfig({
12939
+ displayName: "ChatRevamp__CloseButton",
12940
+ componentId: "sc-1sdiknw-12"
12941
+ })(["all:unset;font-size:", ";margin:0 0.5rem;transition:all 0.2s ease-in-out;background-color:", ";color:", ";&:hover{background-color:", ";color:", ";}"], uiFonts.size.xxsmall, uiColors.red, uiColors.white, uiColors.white, uiColors.red);
12831
12942
 
12832
12943
  var _excluded$2 = ["innerRef"];
12833
12944
  var Input = function Input(_ref) {
@@ -12925,7 +13036,7 @@ var ChatDeprecated = function ChatDeprecated(_ref) {
12925
13036
  opacity: opacity
12926
13037
  }, React.createElement(ErrorBoundary$1, {
12927
13038
  fallback: React.createElement("p", null, "Oops! Your chat has crashed.")
12928
- }, onCloseButton && React.createElement(CloseButton, {
13039
+ }, onCloseButton && React.createElement(CloseButton$1, {
12929
13040
  onPointerDown: onCloseButton
12930
13041
  }, "X"), React.createElement(RPGUIContainer, {
12931
13042
  type: RPGUIContainerTypes.FramedGrey,
@@ -12959,7 +13070,7 @@ var Container$5 = /*#__PURE__*/styled.div.withConfig({
12959
13070
  displayName: "ChatDeprecated__Container",
12960
13071
  componentId: "sc-fuuod3-0"
12961
13072
  })(["position:relative;"]);
12962
- var CloseButton = /*#__PURE__*/styled.div.withConfig({
13073
+ var CloseButton$1 = /*#__PURE__*/styled.div.withConfig({
12963
13074
  displayName: "ChatDeprecated__CloseButton",
12964
13075
  componentId: "sc-fuuod3-1"
12965
13076
  })(["position:absolute;top:2px;right:0px;color:white;z-index:22;font-size:0.7rem;"]);
@@ -13301,7 +13412,7 @@ var DraggableContainer = function DraggableContainer(_ref) {
13301
13412
  }, React.createElement(Title, null, imgSrc && React.createElement(Icon, {
13302
13413
  src: imgSrc,
13303
13414
  width: imgWidth
13304
- }), title)), onCloseButton && React.createElement(CloseButton$1, {
13415
+ }), title)), onCloseButton && React.createElement(CloseButton$2, {
13305
13416
  className: "container-close",
13306
13417
  onPointerDown: onCloseButton
13307
13418
  }, "X"), children));
@@ -13315,7 +13426,7 @@ var Container$6 = /*#__PURE__*/styled.div.withConfig({
13315
13426
  var width = _ref2.width;
13316
13427
  return width;
13317
13428
  });
13318
- var CloseButton$1 = /*#__PURE__*/styled.div.withConfig({
13429
+ var CloseButton$2 = /*#__PURE__*/styled.div.withConfig({
13319
13430
  displayName: "DraggableContainer__CloseButton",
13320
13431
  componentId: "sc-184mpyl-1"
13321
13432
  })(["position:absolute;top:3px;right:0px;color:white;z-index:22;font-size:1.5rem;@media (max-width:950px){font-size:1.7rem;padding:12px;}"]);
@@ -13525,7 +13636,7 @@ var RelativeListMenu = function RelativeListMenu(_ref) {
13525
13636
  overflow: 'hidden'
13526
13637
  }
13527
13638
  }, options.map(function (params, index) {
13528
- return React.createElement(ListElement$1, {
13639
+ return React.createElement(ListElement$2, {
13529
13640
  key: (params == null ? void 0 : params.id) || index,
13530
13641
  onPointerDown: function onPointerDown() {
13531
13642
  onSelected(params == null ? void 0 : params.id);
@@ -13543,7 +13654,7 @@ var Container$8 = /*#__PURE__*/styled.div.withConfig({
13543
13654
  }, function (props) {
13544
13655
  return props.fontSize;
13545
13656
  });
13546
- var ListElement$1 = /*#__PURE__*/styled.li.withConfig({
13657
+ var ListElement$2 = /*#__PURE__*/styled.li.withConfig({
13547
13658
  displayName: "RelativeListMenu__ListElement",
13548
13659
  componentId: "sc-7hohf-1"
13549
13660
  })(["margin-right:0.5rem;"]);
@@ -15574,7 +15685,7 @@ var ImageCarousel = function ImageCarousel(_ref) {
15574
15685
  onPointerDown: function onPointerDown() {
15575
15686
  return goToNextImage();
15576
15687
  }
15577
- }))), onCloseButton && React.createElement(CloseButton$2, {
15688
+ }))), onCloseButton && React.createElement(CloseButton$3, {
15578
15689
  className: "container-close",
15579
15690
  onPointerDown: onCloseButton
15580
15691
  }, "X"));
@@ -15605,7 +15716,7 @@ var Description$1 = /*#__PURE__*/styled.div.withConfig({
15605
15716
  }, function (props) {
15606
15717
  return props.isTextFixed ? 'none' : 'rgba(0, 0, 0, 0.6)';
15607
15718
  });
15608
- var CloseButton$2 = /*#__PURE__*/styled.div.withConfig({
15719
+ var CloseButton$3 = /*#__PURE__*/styled.div.withConfig({
15609
15720
  displayName: "ImageCarousel__CloseButton",
15610
15721
  componentId: "sc-jl6f8-4"
15611
15722
  })(["position:absolute;top:3px;right:0px;color:white;z-index:22;font-size:1.5rem;@media (max-width:950px){font-size:1.7rem;padding:12px;}"]);
@@ -15890,7 +16001,7 @@ var ItemQuantitySelector = function ItemQuantitySelector(_ref) {
15890
16001
  return React.createElement(StyledContainer, {
15891
16002
  type: RPGUIContainerTypes.Framed,
15892
16003
  width: "25rem"
15893
- }, React.createElement(CloseButton$3, {
16004
+ }, React.createElement(CloseButton$4, {
15894
16005
  className: "container-close",
15895
16006
  onPointerDown: onClose
15896
16007
  }, "X"), React.createElement("h2", null, "Select quantity to move"), React.createElement(StyledForm, {
@@ -15948,7 +16059,7 @@ var StyledInput = /*#__PURE__*/styled(Input).withConfig({
15948
16059
  displayName: "ItemQuantitySelector__StyledInput",
15949
16060
  componentId: "sc-yfdtpn-2"
15950
16061
  })(["text-align:center;&::-webkit-outer-spin-button,&::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}&[type='number']{-moz-appearance:textfield;}"]);
15951
- var CloseButton$3 = /*#__PURE__*/styled.div.withConfig({
16062
+ var CloseButton$4 = /*#__PURE__*/styled.div.withConfig({
15952
16063
  displayName: "ItemQuantitySelector__CloseButton",
15953
16064
  componentId: "sc-yfdtpn-3"
15954
16065
  })(["position:absolute;top:3px;right:0px;color:white;z-index:22;font-size:0.8rem;"]);
@@ -15981,6 +16092,7 @@ var QuantitySelectorContainer = /*#__PURE__*/styled.div.withConfig({
15981
16092
  componentId: "sc-1b8cosc-0"
15982
16093
  })(["position:absolute;top:0;left:0;width:100vw;height:100vh;z-index:100;display:flex;justify-content:center;align-items:center;background-color:rgba(0,0,0,0.5);"]);
15983
16094
 
16095
+ var MIN_SLOTS_FOR_SCROLL = 20;
15984
16096
  var ItemContainer$1 = function ItemContainer(_ref) {
15985
16097
  var itemContainer = _ref.itemContainer,
15986
16098
  onClose = _ref.onClose,
@@ -16136,7 +16248,8 @@ var ItemContainer$1 = function ItemContainer(_ref) {
16136
16248
  atlasJSON: atlasJSON
16137
16249
  }), React.createElement(ItemsContainer, {
16138
16250
  className: "item-container-body",
16139
- ref: containerRef
16251
+ ref: containerRef,
16252
+ isScrollable: itemContainer.slotQty > MIN_SLOTS_FOR_SCROLL
16140
16253
  }, onRenderSlots())), quantitySelect.isOpen && React.createElement(ItemQuantitySelectorModal, {
16141
16254
  quantitySelect: quantitySelect,
16142
16255
  setQuantitySelect: setQuantitySelect
@@ -16145,7 +16258,10 @@ var ItemContainer$1 = function ItemContainer(_ref) {
16145
16258
  var ItemsContainer = /*#__PURE__*/styled.div.withConfig({
16146
16259
  displayName: "ItemContainer__ItemsContainer",
16147
16260
  componentId: "sc-15y5p9l-0"
16148
- })(["display:flex;justify-content:center;flex-wrap:wrap;max-height:270px;overflow-y:auto;overflow-x:hidden;width:415px;"]);
16261
+ })(["display:flex;justify-content:center;flex-wrap:wrap;max-height:270px;overflow-y:", ";overflow-x:hidden;width:415px;"], function (_ref2) {
16262
+ var isScrollable = _ref2.isScrollable;
16263
+ return isScrollable ? 'scroll' : 'hidden';
16264
+ });
16149
16265
 
16150
16266
  var LeaderboardTable = function LeaderboardTable(props) {
16151
16267
  var items = props.items,
@@ -16279,7 +16395,7 @@ var ListMenu = function ListMenu(_ref) {
16279
16395
  overflow: 'hidden'
16280
16396
  }
16281
16397
  }, options.map(function (params, index) {
16282
- return React.createElement(ListElement$2, {
16398
+ return React.createElement(ListElement$3, {
16283
16399
  key: (params == null ? void 0 : params.id) || index,
16284
16400
  onPointerDown: function onPointerDown() {
16285
16401
  onSelected(params == null ? void 0 : params.id);
@@ -16295,7 +16411,7 @@ var Container$k = /*#__PURE__*/styled.div.withConfig({
16295
16411
  }, function (props) {
16296
16412
  return props.x || 0;
16297
16413
  }, uiFonts.size.xsmall);
16298
- var ListElement$2 = /*#__PURE__*/styled.li.withConfig({
16414
+ var ListElement$3 = /*#__PURE__*/styled.li.withConfig({
16299
16415
  displayName: "ListMenu__ListElement",
16300
16416
  componentId: "sc-i9097t-1"
16301
16417
  })(["margin-right:0.5rem;"]);
@@ -17953,7 +18069,7 @@ var SkillsContainer = function SkillsContainer(_ref) {
17953
18069
  cancelDrag: "#skillsDiv",
17954
18070
  scale: scale,
17955
18071
  width: "100%"
17956
- }, onCloseButton && React.createElement(CloseButton$4, {
18072
+ }, onCloseButton && React.createElement(CloseButton$5, {
17957
18073
  onPointerDown: onCloseButton
17958
18074
  }, "X"), React.createElement(SkillsContainerDiv, {
17959
18075
  id: "skillsDiv"
@@ -17989,7 +18105,7 @@ var SkillSplitDiv = /*#__PURE__*/styled.div.withConfig({
17989
18105
  displayName: "SkillsContainer__SkillSplitDiv",
17990
18106
  componentId: "sc-1g0c67q-2"
17991
18107
  })(["width:100%;font-size:11px;hr{margin:0;margin-bottom:1rem;padding:0px;}p{margin-bottom:0px;}"]);
17992
- var CloseButton$4 = /*#__PURE__*/styled.div.withConfig({
18108
+ var CloseButton$5 = /*#__PURE__*/styled.div.withConfig({
17993
18109
  displayName: "SkillsContainer__CloseButton",
17994
18110
  componentId: "sc-1g0c67q-3"
17995
18111
  })(["position:absolute;top:2px;right:2px;color:white;z-index:22;font-size:1.1rem;"]);
@@ -18399,7 +18515,7 @@ var TimeWidget = function TimeWidget(_ref) {
18399
18515
  scale = _ref.scale;
18400
18516
  return React.createElement(Draggable, {
18401
18517
  scale: scale
18402
- }, React.createElement(WidgetContainer, null, React.createElement(CloseButton$5, {
18518
+ }, React.createElement(WidgetContainer, null, React.createElement(CloseButton$6, {
18403
18519
  onPointerDown: onClose
18404
18520
  }, "X"), React.createElement(DayNightContainer, null, React.createElement(DayNightPeriod, {
18405
18521
  periodOfDay: periodOfDay
@@ -18413,7 +18529,7 @@ var Time = /*#__PURE__*/styled.div.withConfig({
18413
18529
  displayName: "TimeWidget__Time",
18414
18530
  componentId: "sc-1ja236h-1"
18415
18531
  })(["top:0.75rem;right:0.5rem;position:absolute;font-size:", ";color:white;"], uiFonts.size.small);
18416
- var CloseButton$5 = /*#__PURE__*/styled.p.withConfig({
18532
+ var CloseButton$6 = /*#__PURE__*/styled.p.withConfig({
18417
18533
  displayName: "TimeWidget__CloseButton",
18418
18534
  componentId: "sc-1ja236h-2"
18419
18535
  })(["position:absolute;top:-0.5rem;margin:0;right:-0.2rem;font-size:", " !important;z-index:1;"], uiFonts.size.small);