@rpg-engine/long-bow 0.6.69 → 0.6.71

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.
@@ -19,6 +19,7 @@ var ReactDOM = _interopDefault(require('react-dom'));
19
19
  var lodash = require('lodash');
20
20
  var mobxReactLite = require('mobx-react-lite');
21
21
  var ai = require('react-icons/ai');
22
+ require('react-tippy/dist/tippy.css');
22
23
  require('rpgui/rpgui.css');
23
24
  require('rpgui/rpgui.min.js');
24
25
  var capitalize = _interopDefault(require('lodash/capitalize'));
@@ -25947,7 +25948,8 @@ var RightArrow = /*#__PURE__*/styled__default.span.withConfig({
25947
25948
 
25948
25949
  var Ellipsis = function Ellipsis(_ref) {
25949
25950
  var children = _ref.children,
25950
- maxLines = _ref.maxLines,
25951
+ _ref$maxLines = _ref.maxLines,
25952
+ maxLines = _ref$maxLines === void 0 ? 1 : _ref$maxLines,
25951
25953
  maxWidth = _ref.maxWidth,
25952
25954
  fontSize = _ref.fontSize,
25953
25955
  center = _ref.center;
@@ -28794,109 +28796,156 @@ var Table = /*#__PURE__*/styled__default.table.withConfig({
28794
28796
  var TableRow = /*#__PURE__*/styled__default.tr.withConfig({
28795
28797
  displayName: "Table__TableRow",
28796
28798
  componentId: "sc-1c24pcj-1"
28797
- })(["&:nth-child(even){background-color:rgba(255,255,255,0.05) !important;}"]);
28799
+ })(["&:nth-child(even){background-color:rgba(255,255,255,0.05) !important;}&:hover{background-color:rgba(255,255,255,0.1) !important;}"]);
28798
28800
  var TableHeader = /*#__PURE__*/styled__default.th.withConfig({
28799
28801
  displayName: "Table__TableHeader",
28800
28802
  componentId: "sc-1c24pcj-2"
28801
- })(["text-align:left;padding:0.5rem;color:", " !important;border-bottom:1px solid ", ";"], uiColors.yellow, uiColors.lightGray);
28803
+ })(["text-align:left;padding:0.5rem;color:", " !important;border-bottom:1px solid ", ";text-shadow:-2px 0 black,0 2px black,2px 0 black,0 -2px black;"], uiColors.yellow, uiColors.lightGray);
28802
28804
  var TableCell = /*#__PURE__*/styled__default.td.withConfig({
28803
28805
  displayName: "Table__TableCell",
28804
28806
  componentId: "sc-1c24pcj-3"
28805
- })(["padding:0.5rem;color:", ";border-bottom:1px solid ", ";"], uiColors.white, uiColors.lightGray);
28807
+ })(["padding:0.5rem;color:", ";border-bottom:1px solid ", ";text-shadow:-2px 0 black,0 2px black,2px 0 black,0 -2px black;"], uiColors.white, uiColors.lightGray);
28806
28808
  var ActionButtons = /*#__PURE__*/styled__default.div.withConfig({
28807
28809
  displayName: "Table__ActionButtons",
28808
28810
  componentId: "sc-1c24pcj-4"
28809
28811
  })(["display:flex;gap:10px;align-items:center;"]);
28812
+ var UserActionLink = /*#__PURE__*/styled__default.span.withConfig({
28813
+ displayName: "Table__UserActionLink",
28814
+ componentId: "sc-1c24pcj-5"
28815
+ })(["color:", " !important;cursor:pointer;margin-right:0.5rem;&:hover{text-decoration:underline;}"], function (_ref) {
28816
+ var color = _ref.color;
28817
+ return color;
28818
+ });
28810
28819
 
28811
- var SearchFriend = function SearchFriend(props) {
28812
- var searchedCharacters = props.searchedCharacters,
28813
- friendRequests = props.friendRequests,
28814
- onBlur = props.onBlur,
28815
- onFocus = props.onFocus,
28816
- onSearch = props.onSearch,
28817
- onSendFriendRequest = props.onSendFriendRequest,
28818
- onAcceptRequest = props.onAcceptRequest,
28819
- onRejectRequest = props.onRejectRequest;
28820
+ var SearchFriend = function SearchFriend(_ref) {
28821
+ var searchedCharacters = _ref.searchedCharacters,
28822
+ friendRequests = _ref.friendRequests,
28823
+ onBlur = _ref.onBlur,
28824
+ onFocus = _ref.onFocus,
28825
+ onSearch = _ref.onSearch,
28826
+ onSendFriendRequest = _ref.onSendFriendRequest,
28827
+ onAcceptRequest = _ref.onAcceptRequest,
28828
+ onRejectRequest = _ref.onRejectRequest;
28820
28829
  var _useState = React.useState(''),
28821
28830
  characterName = _useState[0],
28822
28831
  setCharacterName = _useState[1];
28832
+ var debouncedSearch = React.useCallback(lodash.debounce(function (name) {
28833
+ onSearch(name);
28834
+ }, 300), []);
28835
+ var handleInputChange = function handleInputChange(e) {
28836
+ var name = e.target.value;
28837
+ setCharacterName(name);
28838
+ debouncedSearch(name);
28839
+ };
28823
28840
  var handleSubmit = function handleSubmit(event) {
28824
28841
  event.preventDefault();
28825
- if (!characterName || characterName.trim() === '') return;
28826
- onSearch(characterName);
28842
+ if (characterName.trim()) {
28843
+ onSearch(characterName);
28844
+ }
28827
28845
  };
28828
- return React__default.createElement(React__default.Fragment, null, React__default.createElement(Form$3, {
28846
+ var searchTabContent = React__default.createElement(ListContainer$1, null, React__default.createElement(SearchForm, {
28829
28847
  onSubmit: handleSubmit
28830
- }, React__default.createElement(Column, {
28831
- flex: 70
28832
- }, React__default.createElement(TextField$2, {
28848
+ }, React__default.createElement(SearchInput, {
28833
28849
  value: characterName,
28834
28850
  id: "characterName",
28835
28851
  name: "characterName",
28836
- onChange: function onChange(e) {
28837
- setCharacterName(e.target.value);
28838
- },
28839
- height: 20,
28852
+ onChange: handleInputChange,
28840
28853
  type: "text",
28841
28854
  autoComplete: "off",
28842
28855
  onFocus: onFocus,
28843
28856
  onBlur: onBlur,
28844
28857
  onPointerDown: onFocus,
28845
- autoFocus: true
28846
- })), React__default.createElement(Column, {
28847
- justifyContent: "flex-end"
28848
- }, React__default.createElement(Button, {
28849
- type: "submit",
28850
- buttonType: exports.ButtonTypes.RPGUIButton
28851
- }, "Search"))), React__default.createElement(ListContainer$1, null, searchedCharacters.map(function (character) {
28852
- return React__default.createElement(ListElement$3, {
28858
+ autoFocus: true,
28859
+ placeholder: "Search for a character..."
28860
+ })), React__default.createElement(CharacterList, {
28861
+ characters: searchedCharacters,
28862
+ onAction: onSendFriendRequest,
28863
+ actionLabel: "Add Friend"
28864
+ }));
28865
+ var requestsTabContent = React__default.createElement(ListContainer$1, null, React__default.createElement(FriendRequestSection, {
28866
+ friendRequests: friendRequests,
28867
+ onAccept: onAcceptRequest,
28868
+ onReject: onRejectRequest
28869
+ }));
28870
+ var tabs = [{
28871
+ id: 'search',
28872
+ title: 'Search',
28873
+ content: searchTabContent
28874
+ }, {
28875
+ id: 'requests',
28876
+ title: "Requests (" + friendRequests.length + ")",
28877
+ content: requestsTabContent
28878
+ }];
28879
+ return React__default.createElement(Container$g, null, React__default.createElement(TableTab, {
28880
+ tabs: tabs,
28881
+ activeTextColor: "#000",
28882
+ inactiveColor: "#777",
28883
+ borderColor: "#f59e0b"
28884
+ }));
28885
+ };
28886
+ var CharacterList = function CharacterList(_ref2) {
28887
+ var characters = _ref2.characters,
28888
+ onAction = _ref2.onAction,
28889
+ actionLabel = _ref2.actionLabel;
28890
+ return React__default.createElement(ListContainer$1, null, characters.map(function (character) {
28891
+ return React__default.createElement(ListItem, {
28853
28892
  key: character._id
28854
- }, React__default.createElement("p", null, character.name), React__default.createElement(Button, {
28855
- buttonType: exports.ButtonTypes.RPGUIButton,
28856
- onPointerDown: function onPointerDown() {
28857
- return onSendFriendRequest(character);
28893
+ }, React__default.createElement(CharacterName, null, character.name), React__default.createElement(UserActionLink, {
28894
+ color: uiColors.lightGreen,
28895
+ onClick: function onClick() {
28896
+ return onAction(character);
28858
28897
  }
28859
- }, "Add Friend"));
28860
- })), React__default.createElement(FriendRequestTitle, null, "Friend Requests ", React__default.createElement("span", null, "(", friendRequests.length, ")")), friendRequests.length > 0 && React__default.createElement(ListContainer$1, null, friendRequests.map(function (character) {
28861
- return React__default.createElement(ListElement$3, {
28898
+ }, actionLabel));
28899
+ }));
28900
+ };
28901
+ var FriendRequestSection = function FriendRequestSection(_ref3) {
28902
+ var friendRequests = _ref3.friendRequests,
28903
+ onAccept = _ref3.onAccept,
28904
+ onReject = _ref3.onReject;
28905
+ return React__default.createElement(React__default.Fragment, null, friendRequests.length > 0 && React__default.createElement(ListContainer$1, null, friendRequests.map(function (character) {
28906
+ return React__default.createElement(ListItem, {
28862
28907
  key: character._id
28863
- }, React__default.createElement("p", null, character.name), React__default.createElement(AcceptRejectButtonContainer, null, React__default.createElement(Button, {
28864
- buttonType: exports.ButtonTypes.RPGUIButton,
28865
- onPointerDown: function onPointerDown() {
28866
- return onAcceptRequest(character);
28908
+ }, React__default.createElement(CharacterName, null, character.name), React__default.createElement(AcceptRejectActions, null, React__default.createElement(UserActionLink, {
28909
+ color: uiColors.lightGreen,
28910
+ onClick: function onClick() {
28911
+ return onAccept(character);
28867
28912
  }
28868
- }, "Accept"), React__default.createElement(Button, {
28869
- buttonType: exports.ButtonTypes.RPGUIButton,
28870
- onPointerDown: function onPointerDown() {
28871
- return onRejectRequest(character);
28913
+ }, "Accept"), React__default.createElement(UserActionLink, {
28914
+ color: uiColors.red,
28915
+ onClick: function onClick() {
28916
+ return onReject(character);
28872
28917
  }
28873
28918
  }, "Reject")));
28874
28919
  })));
28875
28920
  };
28876
- var Form$3 = /*#__PURE__*/styled__default.form.withConfig({
28877
- displayName: "SearchFriend__Form",
28921
+ var Container$g = /*#__PURE__*/styled__default.div.withConfig({
28922
+ displayName: "SearchFriend__Container",
28878
28923
  componentId: "sc-1lt1ols-0"
28879
- })(["display:flex;width:100%;justify-content:center;align-items:center;margin-top:1rem;"]);
28880
- var TextField$2 = /*#__PURE__*/styled__default.input.withConfig({
28881
- displayName: "SearchFriend__TextField",
28924
+ })(["display:flex;flex-direction:column;gap:1rem;"]);
28925
+ var SearchForm = /*#__PURE__*/styled__default.form.withConfig({
28926
+ displayName: "SearchFriend__SearchForm",
28882
28927
  componentId: "sc-1lt1ols-1"
28883
- })(["width:100%;background-color:rgba(0,0,0,0.25) !important;border:none !important;max-height:28px !important;"]);
28928
+ })(["display:flex;align-items:center;width:100%;margin-top:1rem;"]);
28929
+ var SearchInput = /*#__PURE__*/styled__default.input.withConfig({
28930
+ displayName: "SearchFriend__SearchInput",
28931
+ componentId: "sc-1lt1ols-2"
28932
+ })(["width:100%;background-color:rgba(0,0,0,0.25);border:none;padding:0.5rem;font-size:", ";"], uiFonts.size.small);
28884
28933
  var ListContainer$1 = /*#__PURE__*/styled__default.ul.withConfig({
28885
28934
  displayName: "SearchFriend__ListContainer",
28886
- componentId: "sc-1lt1ols-2"
28887
- })(["width:100%;c4height:50vh;border:none;overflow-y:scroll;list-style:none;padding:0;@media (max-width:768px){max-height:90wh;}"]);
28888
- var ListElement$3 = /*#__PURE__*/styled__default.li.withConfig({
28889
- displayName: "SearchFriend__ListElement",
28890
28935
  componentId: "sc-1lt1ols-3"
28891
- })(["margin:0.5rem 0 !important;font-size:", ";padding:0.5rem 2px;display:flex;align-items:center;justify-content:space-between;"], uiFonts.size.small);
28892
- var FriendRequestTitle = /*#__PURE__*/styled__default.h3.withConfig({
28893
- displayName: "SearchFriend__FriendRequestTitle",
28936
+ })(["list-style:none;padding:0;margin:0;width:100%;max-height:50vh;overflow-y:auto;@media (max-width:768px){max-height:90vh;}"]);
28937
+ var ListItem = /*#__PURE__*/styled__default.li.withConfig({
28938
+ displayName: "SearchFriend__ListItem",
28894
28939
  componentId: "sc-1lt1ols-4"
28895
- })(["font-size:", " !important;margin-top:0.5rem !important;text-align:center;gap:0.5rem;"], uiFonts.size.small);
28896
- var AcceptRejectButtonContainer = /*#__PURE__*/styled__default.div.withConfig({
28897
- displayName: "SearchFriend__AcceptRejectButtonContainer",
28940
+ })(["display:flex;align-items:center;justify-content:space-between;padding:0.5rem;border-bottom:1px solid rgba(255,255,255,0.1);"]);
28941
+ var CharacterName = /*#__PURE__*/styled__default.p.withConfig({
28942
+ displayName: "SearchFriend__CharacterName",
28898
28943
  componentId: "sc-1lt1ols-5"
28899
- })(["display:flex;justify-content:space-between;gap:0.5rem;"]);
28944
+ })(["font-size:", ";margin:0;"], uiFonts.size.small);
28945
+ var AcceptRejectActions = /*#__PURE__*/styled__default.div.withConfig({
28946
+ displayName: "SearchFriend__AcceptRejectActions",
28947
+ componentId: "sc-1lt1ols-6"
28948
+ })(["display:flex;gap:0.5rem;"]);
28900
28949
 
28901
28950
  var FriendList = function FriendList(_ref) {
28902
28951
  var friends = _ref.friends,
@@ -28936,12 +28985,12 @@ var FriendList = function FriendList(_ref) {
28936
28985
  key: friend._id
28937
28986
  }, React__default.createElement(TableCell, null, React__default.createElement(IsOnlineBadge, {
28938
28987
  "$isOnline": friend.isOnline
28939
- })), React__default.createElement(TableCell, null, friend.name), React__default.createElement(TableCell, null, React__default.createElement(ActionButtons, null, React__default.createElement(UserAction, {
28940
- color: uiColors.yellow,
28988
+ })), React__default.createElement(TableCell, null, friend.name), React__default.createElement(TableCell, null, React__default.createElement(ActionButtons, null, React__default.createElement(UserActionLink, {
28989
+ color: uiColors.white,
28941
28990
  onClick: function onClick() {
28942
28991
  return onOpenPrivateMessage(friend);
28943
28992
  }
28944
- }, "Chat"), React__default.createElement(UserAction, {
28993
+ }, "Chat"), React__default.createElement(UserActionLink, {
28945
28994
  color: uiColors.red,
28946
28995
  onClick: function onClick() {
28947
28996
  return onRemoveFriend(friend);
@@ -28976,13 +29025,6 @@ var ButtonContainer$1 = /*#__PURE__*/styled__default.div.withConfig({
28976
29025
  displayName: "FriendList__ButtonContainer",
28977
29026
  componentId: "sc-3jf9vt-3"
28978
29027
  })(["display:flex;justify-content:center;align-items:center;width:100%;margin-top:1rem;"]);
28979
- var UserAction = /*#__PURE__*/styled__default.span.withConfig({
28980
- displayName: "FriendList__UserAction",
28981
- componentId: "sc-3jf9vt-4"
28982
- })(["color:", " !important;cursor:pointer;margin-right:0.5rem;&:hover{text-decoration:underline;}"], function (_ref3) {
28983
- var color = _ref3.color;
28984
- return color;
28985
- });
28986
29028
 
28987
29029
  var IS_MOBILE_OR_TABLET = /*#__PURE__*/shared.isMobileOrTablet();
28988
29030
 
@@ -29079,7 +29121,7 @@ var NPCDialogText = function NPCDialogText(_ref) {
29079
29121
  var _useState2 = React.useState(false),
29080
29122
  showGoNextIndicator = _useState2[0],
29081
29123
  setShowGoNextIndicator = _useState2[1];
29082
- return React__default.createElement(Container$g, null, React__default.createElement(DynamicText, {
29124
+ return React__default.createElement(Container$h, null, React__default.createElement(DynamicText, {
29083
29125
  text: (textChunks == null ? void 0 : textChunks[chunkIndex]) || '',
29084
29126
  onFinish: function onFinish() {
29085
29127
  setShowGoNextIndicator(true);
@@ -29097,7 +29139,7 @@ var NPCDialogText = function NPCDialogText(_ref) {
29097
29139
  }
29098
29140
  }));
29099
29141
  };
29100
- var Container$g = /*#__PURE__*/styled__default.div.withConfig({
29142
+ var Container$h = /*#__PURE__*/styled__default.div.withConfig({
29101
29143
  displayName: "NPCDialogText__Container",
29102
29144
  componentId: "sc-1cxkdh9-0"
29103
29145
  })([""]);
@@ -29249,7 +29291,7 @@ var QuestionDialog = function QuestionDialog(_ref) {
29249
29291
  return null;
29250
29292
  });
29251
29293
  };
29252
- return React__default.createElement(Container$h, null, React__default.createElement(QuestionContainer, null, React__default.createElement(DynamicText, {
29294
+ return React__default.createElement(Container$i, null, React__default.createElement(QuestionContainer, null, React__default.createElement(DynamicText, {
29253
29295
  text: currentQuestion.text,
29254
29296
  onStart: function onStart() {
29255
29297
  return setCanShowAnswers(false);
@@ -29259,7 +29301,7 @@ var QuestionDialog = function QuestionDialog(_ref) {
29259
29301
  }
29260
29302
  })), canShowAnswers && React__default.createElement(AnswersContainer, null, onRenderCurrentAnswers()));
29261
29303
  };
29262
- var Container$h = /*#__PURE__*/styled__default.div.withConfig({
29304
+ var Container$i = /*#__PURE__*/styled__default.div.withConfig({
29263
29305
  displayName: "QuestionDialog__Container",
29264
29306
  componentId: "sc-bxc5u0-0"
29265
29307
  })(["display:flex;word-break:break-all;box-sizing:border-box;justify-content:flex-start;align-items:flex-start;flex-wrap:wrap;"]);
@@ -29319,7 +29361,7 @@ var NPCDialog = function NPCDialog(_ref) {
29319
29361
  }
29320
29362
  })), type === exports.NPCDialogType.TextAndThumbnail && React__default.createElement(ThumbnailContainer, null, React__default.createElement(NPCThumbnail, {
29321
29363
  src: imagePath || img$7
29322
- }))) : React__default.createElement(React__default.Fragment, null, React__default.createElement(Container$i, null, React__default.createElement(CloseIcon, {
29364
+ }))) : React__default.createElement(React__default.Fragment, null, React__default.createElement(Container$j, null, React__default.createElement(CloseIcon, {
29323
29365
  onPointerDown: _onClose
29324
29366
  }, "X"), React__default.createElement(TextContainer$1, {
29325
29367
  flex: type === exports.NPCDialogType.TextAndThumbnail ? '70%' : '100%'
@@ -29335,7 +29377,7 @@ var NPCDialog = function NPCDialog(_ref) {
29335
29377
  src: imagePath || img$7
29336
29378
  })))));
29337
29379
  };
29338
- var Container$i = /*#__PURE__*/styled__default.div.withConfig({
29380
+ var Container$j = /*#__PURE__*/styled__default.div.withConfig({
29339
29381
  displayName: "NPCDialog__Container",
29340
29382
  componentId: "sc-1b4aw74-0"
29341
29383
  })(["display:flex;width:100%;height:100%;box-sizing:border-box;justify-content:center;align-items:flex-start;position:relative;"]);
@@ -29395,7 +29437,7 @@ var NPCMultiDialog = function NPCMultiDialog(_ref) {
29395
29437
  type: exports.RPGUIContainerTypes.FramedGold,
29396
29438
  width: '50%',
29397
29439
  height: '180px'
29398
- }, React__default.createElement(React__default.Fragment, null, React__default.createElement(Container$j, null, ((_textAndTypeArray$sli = textAndTypeArray[slide]) == null ? void 0 : _textAndTypeArray$sli.imageSide) === 'right' && React__default.createElement(React__default.Fragment, null, React__default.createElement(TextContainer$2, {
29440
+ }, React__default.createElement(React__default.Fragment, null, React__default.createElement(Container$k, null, ((_textAndTypeArray$sli = textAndTypeArray[slide]) == null ? void 0 : _textAndTypeArray$sli.imageSide) === 'right' && React__default.createElement(React__default.Fragment, null, React__default.createElement(TextContainer$2, {
29399
29441
  flex: '70%'
29400
29442
  }, React__default.createElement(NPCDialogText, {
29401
29443
  onStartStep: function onStartStep() {
@@ -29437,7 +29479,7 @@ var NPCMultiDialog = function NPCMultiDialog(_ref) {
29437
29479
  src: img$6
29438
29480
  }))), ")"));
29439
29481
  };
29440
- var Container$j = /*#__PURE__*/styled__default.div.withConfig({
29482
+ var Container$k = /*#__PURE__*/styled__default.div.withConfig({
29441
29483
  displayName: "NPCMultiDialog__Container",
29442
29484
  componentId: "sc-rvu5wg-0"
29443
29485
  })(["display:flex;width:100%;height:100%;box-sizing:border-box;justify-content:center;align-items:flex-start;position:relative;"]);
@@ -29866,7 +29908,7 @@ var ShortcutsSetter = function ShortcutsSetter(_ref) {
29866
29908
  }
29867
29909
  return null;
29868
29910
  };
29869
- return React__default.createElement(Container$k, null, React__default.createElement("p", null, "Shortcuts:"), React__default.createElement(List, {
29911
+ return React__default.createElement(Container$l, null, React__default.createElement("p", null, "Shortcuts:"), React__default.createElement(List, {
29870
29912
  id: "shortcuts_list"
29871
29913
  }, Array.from({
29872
29914
  length: 12
@@ -29884,7 +29926,7 @@ var ShortcutsSetter = function ShortcutsSetter(_ref) {
29884
29926
  }, getContent(i));
29885
29927
  })));
29886
29928
  };
29887
- var Container$k = /*#__PURE__*/styled__default.div.withConfig({
29929
+ var Container$l = /*#__PURE__*/styled__default.div.withConfig({
29888
29930
  displayName: "ShortcutsSetter__Container",
29889
29931
  componentId: "sc-xuouuf-0"
29890
29932
  })(["p{margin:0;margin-left:0.5rem;font-size:10px;}width:100%;"]);
@@ -30486,7 +30528,7 @@ var ListMenu = function ListMenu(_ref) {
30486
30528
  onSelected = _ref.onSelected,
30487
30529
  x = _ref.x,
30488
30530
  y = _ref.y;
30489
- return React__default.createElement(Container$l, {
30531
+ return React__default.createElement(Container$m, {
30490
30532
  x: x,
30491
30533
  y: y
30492
30534
  }, React__default.createElement("ul", {
@@ -30495,7 +30537,7 @@ var ListMenu = function ListMenu(_ref) {
30495
30537
  overflow: 'hidden'
30496
30538
  }
30497
30539
  }, options.map(function (params, index) {
30498
- return React__default.createElement(ListElement$4, {
30540
+ return React__default.createElement(ListElement$3, {
30499
30541
  key: (params == null ? void 0 : params.id) || index,
30500
30542
  onPointerDown: function onPointerDown() {
30501
30543
  onSelected(params == null ? void 0 : params.id);
@@ -30503,7 +30545,7 @@ var ListMenu = function ListMenu(_ref) {
30503
30545
  }, (params == null ? void 0 : params.text) || 'No text');
30504
30546
  })));
30505
30547
  };
30506
- var Container$l = /*#__PURE__*/styled__default.div.withConfig({
30548
+ var Container$m = /*#__PURE__*/styled__default.div.withConfig({
30507
30549
  displayName: "ListMenu__Container",
30508
30550
  componentId: "sc-i9097t-0"
30509
30551
  })(["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) {
@@ -30511,7 +30553,7 @@ var Container$l = /*#__PURE__*/styled__default.div.withConfig({
30511
30553
  }, function (props) {
30512
30554
  return props.x || 0;
30513
30555
  }, uiFonts.size.xsmall);
30514
- var ListElement$4 = /*#__PURE__*/styled__default.li.withConfig({
30556
+ var ListElement$3 = /*#__PURE__*/styled__default.li.withConfig({
30515
30557
  displayName: "ListMenu__ListElement",
30516
30558
  componentId: "sc-i9097t-1"
30517
30559
  })(["margin-right:0.5rem;"]);
@@ -30522,7 +30564,7 @@ var Pager = function Pager(_ref) {
30522
30564
  itemsPerPage = _ref.itemsPerPage,
30523
30565
  onPageChange = _ref.onPageChange;
30524
30566
  var totalPages = Math.ceil(totalItems / itemsPerPage);
30525
- return React__default.createElement(Container$m, null, React__default.createElement("p", null, "Total items: ", totalItems), React__default.createElement(PagerContainer, null, React__default.createElement("button", {
30567
+ return React__default.createElement(Container$n, null, React__default.createElement("p", null, "Total items: ", totalItems), React__default.createElement(PagerContainer, null, React__default.createElement("button", {
30526
30568
  disabled: currentPage === 1,
30527
30569
  onPointerDown: function onPointerDown() {
30528
30570
  return onPageChange(Math.max(currentPage - 1, 1));
@@ -30536,7 +30578,7 @@ var Pager = function Pager(_ref) {
30536
30578
  }
30537
30579
  }, '>')));
30538
30580
  };
30539
- var Container$m = /*#__PURE__*/styled__default.div.withConfig({
30581
+ var Container$n = /*#__PURE__*/styled__default.div.withConfig({
30540
30582
  displayName: "Pager__Container",
30541
30583
  componentId: "sc-1ekmf50-0"
30542
30584
  })(["display:flex;flex-direction:column;align-items:center;p{margin:0;font-size:", ";}"], uiFonts.size.xsmall);
@@ -30549,7 +30591,7 @@ var ConfirmModal = function ConfirmModal(_ref) {
30549
30591
  var onConfirm = _ref.onConfirm,
30550
30592
  onClose = _ref.onClose,
30551
30593
  message = _ref.message;
30552
- return React__default.createElement(ModalPortal, null, React__default.createElement(Background, null), React__default.createElement(Container$n, {
30594
+ return React__default.createElement(ModalPortal, null, React__default.createElement(Background, null), React__default.createElement(Container$o, {
30553
30595
  onPointerDown: onClose
30554
30596
  }, React__default.createElement(DraggableContainer, {
30555
30597
  width: "auto",
@@ -30572,7 +30614,7 @@ var Background = /*#__PURE__*/styled__default.div.withConfig({
30572
30614
  displayName: "ConfirmModal__Background",
30573
30615
  componentId: "sc-11qkyu1-0"
30574
30616
  })(["position:absolute;width:100%;height:100%;background-color:#000000;opacity:0.5;left:0;top:0;z-index:1000;"]);
30575
- var Container$n = /*#__PURE__*/styled__default.div.withConfig({
30617
+ var Container$o = /*#__PURE__*/styled__default.div.withConfig({
30576
30618
  displayName: "ConfirmModal__Container",
30577
30619
  componentId: "sc-11qkyu1-1"
30578
30620
  })(["position:absolute;width:100%;height:100%;left:0;top:0;display:flex;justify-content:center;align-items:center;z-index:1001;"]);
@@ -31088,12 +31130,12 @@ var TabBody = function TabBody(_ref) {
31088
31130
  var id = _ref.id,
31089
31131
  children = _ref.children,
31090
31132
  styles = _ref.styles;
31091
- return React__default.createElement(Container$o, {
31133
+ return React__default.createElement(Container$p, {
31092
31134
  styles: styles,
31093
31135
  "data-tab-id": id
31094
31136
  }, children);
31095
31137
  };
31096
- var Container$o = /*#__PURE__*/styled__default.div.withConfig({
31138
+ var Container$p = /*#__PURE__*/styled__default.div.withConfig({
31097
31139
  displayName: "TabBody__Container",
31098
31140
  componentId: "sc-196oof2-0"
31099
31141
  })(["width:100%;height:", ";overflow-y:auto;"], function (props) {
@@ -31710,7 +31752,7 @@ var ProgressBar = function ProgressBar(_ref) {
31710
31752
  }
31711
31753
  return value * 100 / max;
31712
31754
  };
31713
- return React__default.createElement(Container$p, {
31755
+ return React__default.createElement(Container$q, {
31714
31756
  className: "rpgui-progress",
31715
31757
  "data-value": calculatePercentageValue(max, value) / 100,
31716
31758
  "data-rpguitype": "progress",
@@ -31740,7 +31782,7 @@ var TextOverlay$1 = /*#__PURE__*/styled__default.div.withConfig({
31740
31782
  displayName: "ProgressBar__TextOverlay",
31741
31783
  componentId: "sc-qa6fzh-1"
31742
31784
  })(["width:100%;position:relative;"]);
31743
- var Container$p = /*#__PURE__*/styled__default.div.withConfig({
31785
+ var Container$q = /*#__PURE__*/styled__default.div.withConfig({
31744
31786
  displayName: "ProgressBar__Container",
31745
31787
  componentId: "sc-qa6fzh-2"
31746
31788
  })(["display:flex;flex-direction:column;min-width:", "px;width:", "%;justify-content:start;align-items:flex-start;", " @media (max-width:950px){transform:scale(", ");}"], function (props) {
@@ -31871,54 +31913,256 @@ var Thumbnail = /*#__PURE__*/styled__default.img.withConfig({
31871
31913
  componentId: "sc-15s2boc-8"
31872
31914
  })(["color:white;z-index:22;width:32px * 1.5;margin-right:0.5rem;position:relative;top:-4px;"]);
31873
31915
 
31874
- var QuestList = function QuestList(_ref) {
31875
- var quests = _ref.quests,
31876
- onClose = _ref.onClose,
31877
- scale = _ref.scale;
31878
- return React__default.createElement(QuestDraggableContainer$1, {
31879
- type: exports.RPGUIContainerTypes.Framed,
31880
- onCloseButton: function onCloseButton() {
31881
- if (onClose) onClose();
31882
- },
31883
- width: "520px",
31884
- scale: scale
31885
- }, React__default.createElement("div", {
31916
+ var RPGUIScrollbar = function RPGUIScrollbar(_ref) {
31917
+ var children = _ref.children;
31918
+ return React__default.createElement(Container$r, null, children);
31919
+ };
31920
+ var Container$r = /*#__PURE__*/styled__default.div.withConfig({
31921
+ displayName: "RPGUIScrollbar__Container",
31922
+ componentId: "sc-p3msmb-0"
31923
+ })([".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;}"]);
31924
+
31925
+ var RPGUIOverrides = function RPGUIOverrides(_ref) {
31926
+ var children = _ref.children;
31927
+ return React__default.createElement(RPGUIScrollbar, null, children);
31928
+ };
31929
+
31930
+ //@ts-ignore
31931
+ var _RPGUI = RPGUI;
31932
+ var RPGUIRoot = function RPGUIRoot(_ref) {
31933
+ var children = _ref.children;
31934
+ return React__default.createElement(RPGUIOverrides, null, React__default.createElement("div", {
31935
+ className: "rpgui-content"
31936
+ }, children));
31937
+ };
31938
+
31939
+ var SimpleTooltip = function SimpleTooltip(_ref) {
31940
+ var content = _ref.content,
31941
+ _ref$direction = _ref.direction,
31942
+ direction = _ref$direction === void 0 ? 'top' : _ref$direction,
31943
+ _ref$backgroundColor = _ref.backgroundColor,
31944
+ backgroundColor = _ref$backgroundColor === void 0 ? uiColors.raisinBlack : _ref$backgroundColor,
31945
+ _ref$textColor = _ref.textColor,
31946
+ textColor = _ref$textColor === void 0 ? uiColors.white : _ref$textColor,
31947
+ children = _ref.children,
31948
+ _ref$showDelay = _ref.showDelay,
31949
+ showDelay = _ref$showDelay === void 0 ? 200 : _ref$showDelay,
31950
+ _ref$hideDelay = _ref.hideDelay,
31951
+ hideDelay = _ref$hideDelay === void 0 ? 200 : _ref$hideDelay;
31952
+ var _useState = React.useState(false),
31953
+ visible = _useState[0],
31954
+ setVisible = _useState[1];
31955
+ var _useState2 = React.useState({
31956
+ top: 0,
31957
+ left: 0
31958
+ }),
31959
+ tooltipPosition = _useState2[0],
31960
+ setTooltipPosition = _useState2[1];
31961
+ var tooltipRef = React.useRef(null);
31962
+ var triggerRef = React.useRef(null);
31963
+ var timeoutRef = React.useRef();
31964
+ var calculatePosition = function calculatePosition() {
31965
+ if (!triggerRef.current || !tooltipRef.current) return;
31966
+ var triggerRect = triggerRef.current.getBoundingClientRect();
31967
+ var tooltipRect = tooltipRef.current.getBoundingClientRect();
31968
+ var top, left;
31969
+ switch (direction) {
31970
+ case 'top':
31971
+ top = triggerRect.top - tooltipRect.height - 8;
31972
+ left = triggerRect.left + (triggerRect.width - tooltipRect.width) / 2;
31973
+ break;
31974
+ case 'bottom':
31975
+ top = triggerRect.bottom + 8;
31976
+ left = triggerRect.left + (triggerRect.width - tooltipRect.width) / 2;
31977
+ break;
31978
+ case 'left':
31979
+ top = triggerRect.top + (triggerRect.height - tooltipRect.height) / 2;
31980
+ left = triggerRect.left - tooltipRect.width - 8;
31981
+ break;
31982
+ case 'right':
31983
+ top = triggerRect.top + (triggerRect.height - tooltipRect.height) / 2;
31984
+ left = triggerRect.right + 8;
31985
+ break;
31986
+ default:
31987
+ top = triggerRect.top - tooltipRect.height - 8;
31988
+ left = triggerRect.left + (triggerRect.width - tooltipRect.width) / 2;
31989
+ }
31990
+ // Ensure the tooltip stays within the viewport
31991
+ if (left < 8) left = 8;
31992
+ if (left + tooltipRect.width > window.innerWidth) left = window.innerWidth - tooltipRect.width - 8;
31993
+ if (top < 8) top = 8;
31994
+ if (top + tooltipRect.height > window.innerHeight) top = window.innerHeight - tooltipRect.height - 8;
31995
+ setTooltipPosition({
31996
+ top: Math.round(top),
31997
+ left: Math.round(left)
31998
+ });
31999
+ };
32000
+ var showTooltip = function showTooltip() {
32001
+ clearTimeout(timeoutRef.current);
32002
+ timeoutRef.current = setTimeout(function () {
32003
+ setVisible(true);
32004
+ calculatePosition();
32005
+ }, showDelay);
32006
+ };
32007
+ var hideTooltip = function hideTooltip() {
32008
+ clearTimeout(timeoutRef.current);
32009
+ timeoutRef.current = setTimeout(function () {
32010
+ setVisible(false);
32011
+ }, hideDelay);
32012
+ };
32013
+ React.useEffect(function () {
32014
+ var handleMouseMove = function handleMouseMove(event) {
32015
+ if (visible && tooltipRef.current && triggerRef.current) {
32016
+ var tooltipRect = tooltipRef.current.getBoundingClientRect();
32017
+ var triggerRect = triggerRef.current.getBoundingClientRect();
32018
+ var isOutsideTooltip = event.clientX < tooltipRect.left || event.clientX > tooltipRect.right || event.clientY < tooltipRect.top || event.clientY > tooltipRect.bottom;
32019
+ var isOutsideTrigger = event.clientX < triggerRect.left || event.clientX > triggerRect.right || event.clientY < triggerRect.top || event.clientY > triggerRect.bottom;
32020
+ if (isOutsideTooltip && isOutsideTrigger) {
32021
+ hideTooltip();
32022
+ }
32023
+ }
32024
+ };
32025
+ var handleScroll = function handleScroll() {
32026
+ if (visible) {
32027
+ hideTooltip();
32028
+ }
32029
+ };
32030
+ var handleResize = function handleResize() {
32031
+ if (visible) {
32032
+ calculatePosition();
32033
+ }
32034
+ };
32035
+ document.addEventListener('mousemove', handleMouseMove);
32036
+ window.addEventListener('scroll', handleScroll);
32037
+ window.addEventListener('resize', handleResize);
32038
+ return function () {
32039
+ document.removeEventListener('mousemove', handleMouseMove);
32040
+ window.removeEventListener('scroll', handleScroll);
32041
+ window.removeEventListener('resize', handleResize);
32042
+ clearTimeout(timeoutRef.current);
32043
+ };
32044
+ }, [visible]);
32045
+ return React__default.createElement(TooltipContainer, {
32046
+ ref: triggerRef,
32047
+ onMouseEnter: showTooltip,
32048
+ onMouseLeave: hideTooltip,
32049
+ onFocus: showTooltip,
32050
+ onBlur: hideTooltip
32051
+ }, children, visible && ReactDOM.createPortal(React__default.createElement(RPGUIRoot, null, React__default.createElement(TooltipBox, {
32052
+ ref: tooltipRef,
32053
+ direction: direction,
32054
+ backgroundColor: backgroundColor,
32055
+ textColor: textColor,
31886
32056
  style: {
31887
- width: '100%'
32057
+ top: tooltipPosition.top,
32058
+ left: tooltipPosition.left
31888
32059
  }
31889
- }, React__default.createElement(Title$8, null, "Quests"), React__default.createElement("hr", {
31890
- className: "golden"
31891
- }), React__default.createElement(QuestListContainer, null, quests ? quests.map(function (quest, i) {
31892
- return React__default.createElement("div", {
31893
- className: "quest-item",
32060
+ }, content)), document.body));
32061
+ };
32062
+ var TooltipContainer = /*#__PURE__*/styled__default.div.withConfig({
32063
+ displayName: "SimpleTooltip__TooltipContainer",
32064
+ componentId: "sc-l46vpo-0"
32065
+ })(["display:inline-block;cursor:inherit;"]);
32066
+ var fadeIn$1 = /*#__PURE__*/styled.keyframes(["from{opacity:0;transform:scale(0.95);}to{opacity:1;transform:scale(1);}"]);
32067
+ var TooltipBox = /*#__PURE__*/styled__default.div.withConfig({
32068
+ displayName: "SimpleTooltip__TooltipBox",
32069
+ componentId: "sc-l46vpo-1"
32070
+ })(["position:fixed;z-index:1000;background-color:", ";color:", ";padding:8px;border-radius:4px;font-size:0.65rem;max-width:250px;box-shadow:0px 4px 8px rgba(0,0,0,0.1);animation:", " 0.2s ease-out;line-height:1.3;"], function (_ref2) {
32071
+ var backgroundColor = _ref2.backgroundColor;
32072
+ return backgroundColor;
32073
+ }, function (_ref3) {
32074
+ var textColor = _ref3.textColor;
32075
+ return textColor;
32076
+ }, fadeIn$1);
32077
+
32078
+ var QuestList = function QuestList(_ref) {
32079
+ var quests = _ref.quests;
32080
+ return React__default.createElement(QuestListContainer, null, quests && quests.length > 0 ? React__default.createElement(React__default.Fragment, null, React__default.createElement(Table, null, React__default.createElement("thead", null, React__default.createElement(TableRow, null, React__default.createElement(TableHeader, null, "Status"), React__default.createElement(TableHeader, null, "Title"), React__default.createElement(TableHeader, null, "Description"), React__default.createElement(TableHeader, null, "Objectives"), React__default.createElement(TableHeader, null, "Rewards"))), React__default.createElement("tbody", null, quests.map(function (quest, i) {
32081
+ var _quest$status;
32082
+ return React__default.createElement(TableRow, {
31894
32083
  key: i
31895
- }, React__default.createElement("span", {
31896
- className: "quest-number"
31897
- }, i + 1), React__default.createElement("div", {
31898
- className: "quest-detail"
31899
- }, React__default.createElement("p", {
31900
- className: "quest-detail__title"
31901
- }, quest.title), React__default.createElement("p", {
31902
- className: "quest-detail__description"
31903
- }, quest.description)));
31904
- }) : React__default.createElement(NoQuestContainer, null, React__default.createElement("p", null, "There are no ongoing quests")))));
32084
+ }, React__default.createElement(TableCell, {
32085
+ style: {
32086
+ color: getStatusColor(quest.status)
32087
+ }
32088
+ }, (_quest$status = quest.status) != null ? _quest$status : 'Unknown'), React__default.createElement(TableCell, null, React__default.createElement(SimpleTooltip, {
32089
+ content: formatText(quest.title),
32090
+ direction: "bottom"
32091
+ }, React__default.createElement(Ellipsis, {
32092
+ maxWidth: "300px"
32093
+ }, formatText(quest.title)))), React__default.createElement(TableCell, null, React__default.createElement(SimpleTooltip, {
32094
+ content: quest.description,
32095
+ direction: "bottom"
32096
+ }, React__default.createElement(Ellipsis, {
32097
+ maxWidth: "300px"
32098
+ }, quest.description))), React__default.createElement(TableCell, null, React__default.createElement(SimpleTooltip, {
32099
+ content: formatObjectives(quest.objectives),
32100
+ direction: "bottom"
32101
+ }, React__default.createElement(Ellipsis, {
32102
+ maxWidth: "300px"
32103
+ }, formatObjectives(quest.objectives)))), React__default.createElement(TableCell, null, React__default.createElement(SimpleTooltip, {
32104
+ content: formatRewards(quest.rewards),
32105
+ direction: "bottom"
32106
+ }, React__default.createElement(Ellipsis, {
32107
+ maxWidth: "200px"
32108
+ }, formatRewards(quest.rewards)))));
32109
+ })))) : React__default.createElement(NoQuestContainer, null, React__default.createElement("p", null, "There are no ongoing quests")));
31905
32110
  };
31906
- var QuestDraggableContainer$1 = /*#__PURE__*/styled__default(DraggableContainer).withConfig({
31907
- displayName: "QuestList__QuestDraggableContainer",
31908
- componentId: "sc-1a2vx6q-0"
31909
- })([".container-close{top:10px;right:10px;}.quest-title{text-align:left;margin-left:44px;margin-top:20px;color:yellow;}.quest-desc{margin-top:12px;margin-left:44px;}.rpgui-progress{min-width:80%;margin:0 auto;}"]);
31910
- var Title$8 = /*#__PURE__*/styled__default.h1.withConfig({
31911
- displayName: "QuestList__Title",
31912
- componentId: "sc-1a2vx6q-1"
31913
- })(["z-index:22;font-size:", " !important;color:yellow !important;"], uiFonts.size.medium);
32111
+ // Updated helper function to format objectives
32112
+ var formatObjectives = function formatObjectives(objectives) {
32113
+ return objectives.map(function (objective) {
32114
+ if ('killCountTarget' in objective) {
32115
+ // This is an IQuestObjectiveKill
32116
+ var killObjective = objective;
32117
+ return "Kill " + formatText(killObjective.creatureKeys.join(', ')) + ": " + killObjective.killCount + "/" + killObjective.killCountTarget;
32118
+ } else if ('targetNPCkey' in objective) {
32119
+ var _interactionObjective;
32120
+ // This is an IQuestObjectiveInteraction
32121
+ var interactionObjective = objective;
32122
+ return "Interact with NPC: " + formatText((_interactionObjective = interactionObjective.targetNPCkey) != null ? _interactionObjective : 'Unknown');
32123
+ } else {
32124
+ return 'Unknown objective';
32125
+ }
32126
+ }).join('; ');
32127
+ };
32128
+ // Other helper functions remain the same
32129
+ var formatRewards = function formatRewards(rewards) {
32130
+ return rewards.map(function (reward) {
32131
+ return "" + formatText(reward.itemKeys.map(function (itemKey) {
32132
+ return itemKey + ' x' + reward.qty;
32133
+ }).join(', ')) + (reward.spellKeys ? ", Spells: " + formatText(reward.spellKeys.join(', ')) : '');
32134
+ }).join('; ');
32135
+ };
32136
+ var formatText = function formatText(text) {
32137
+ return text.split('-').map(function (word) {
32138
+ return word.charAt(0).toUpperCase() + word.slice(1);
32139
+ }).join(' ');
32140
+ };
32141
+ var getStatusColor = function getStatusColor(status) {
32142
+ switch (status) {
32143
+ case shared.QuestStatus.Pending:
32144
+ return uiColors.orange;
32145
+ // Orange
32146
+ case shared.QuestStatus.InProgress:
32147
+ return uiColors.blue;
32148
+ // Deep Sky Blue
32149
+ case shared.QuestStatus.Completed:
32150
+ return uiColors.lightGreen;
32151
+ // Lime Green
32152
+ default:
32153
+ return uiColors.white;
32154
+ // Default to white
32155
+ }
32156
+ };
32157
+ // Styled components
31914
32158
  var QuestListContainer = /*#__PURE__*/styled__default.div.withConfig({
31915
32159
  displayName: "QuestList__QuestListContainer",
31916
- componentId: "sc-1a2vx6q-2"
31917
- })(["margin-top:20px;margin-bottom:40px;overflow-y:auto;max-height:400px;.quest-item{display:flex;align-items:flex-start;margin-bottom:12px;}.quest-number{border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center;margin-right:16px;background-color:brown;flex-shrink:0;}.quest-number.completed{background-color:yellow;}p{margin:0;}.quest-detail__title{color:yellow;}.quest-detail__description{margin-top:5px;}.Noquest-detail__description{margin-top:5px;margin:auto;}"]);
32160
+ componentId: "sc-1a2vx6q-0"
32161
+ })(["margin-top:20px;margin-bottom:40px;overflow-y:auto;max-height:400px;background-color:", ";padding:20px;border-radius:10px;border:1px solid ", ";font-size:0.7rem;"], uiColors.darkGray, uiColors.gray);
31918
32162
  var NoQuestContainer = /*#__PURE__*/styled__default.div.withConfig({
31919
32163
  displayName: "QuestList__NoQuestContainer",
31920
- componentId: "sc-1a2vx6q-3"
31921
- })(["text-align:center;p{margin-top:5px;}"]);
32164
+ componentId: "sc-1a2vx6q-1"
32165
+ })(["text-align:center;p{margin-top:5px;color:", ";}"], uiColors.lightGray);
31922
32166
 
31923
32167
  var InputRadio$1 = function InputRadio(_ref) {
31924
32168
  var name = _ref.name,
@@ -31952,29 +32196,6 @@ var InputRadio$1 = function InputRadio(_ref) {
31952
32196
  }));
31953
32197
  };
31954
32198
 
31955
- var RPGUIScrollbar = function RPGUIScrollbar(_ref) {
31956
- var children = _ref.children;
31957
- return React__default.createElement(Container$q, null, children);
31958
- };
31959
- var Container$q = /*#__PURE__*/styled__default.div.withConfig({
31960
- displayName: "RPGUIScrollbar__Container",
31961
- componentId: "sc-p3msmb-0"
31962
- })([".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;}"]);
31963
-
31964
- var RPGUIOverrides = function RPGUIOverrides(_ref) {
31965
- var children = _ref.children;
31966
- return React__default.createElement(RPGUIScrollbar, null, children);
31967
- };
31968
-
31969
- //@ts-ignore
31970
- var _RPGUI = RPGUI;
31971
- var RPGUIRoot = function RPGUIRoot(_ref) {
31972
- var children = _ref.children;
31973
- return React__default.createElement(RPGUIOverrides, null, React__default.createElement("div", {
31974
- className: "rpgui-content"
31975
- }, children));
31976
- };
31977
-
31978
32199
  var Shortcuts = function Shortcuts(_ref) {
31979
32200
  var shortcuts = _ref.shortcuts,
31980
32201
  onShortcutCast = _ref.onShortcutCast,
@@ -32112,7 +32333,7 @@ var SimpleProgressBar = function SimpleProgressBar(_ref) {
32112
32333
  margin = _ref$margin === void 0 ? 20 : _ref$margin;
32113
32334
  // Ensure the width is at least 1% if value is greater than 0
32114
32335
  var width = value > 0 ? Math.max(1, Math.min(100, value)) : 0;
32115
- return React__default.createElement(Container$r, {
32336
+ return React__default.createElement(Container$s, {
32116
32337
  className: "simple-progress-bar"
32117
32338
  }, React__default.createElement(ProgressBarContainer, {
32118
32339
  margin: margin
@@ -32121,7 +32342,7 @@ var SimpleProgressBar = function SimpleProgressBar(_ref) {
32121
32342
  bgColor: bgColor
32122
32343
  }))));
32123
32344
  };
32124
- var Container$r = /*#__PURE__*/styled__default.div.withConfig({
32345
+ var Container$s = /*#__PURE__*/styled__default.div.withConfig({
32125
32346
  displayName: "SimpleProgressBar__Container",
32126
32347
  componentId: "sc-mbeil3-0"
32127
32348
  })(["display:flex;justify-content:center;align-items:center;width:100%;"]);
@@ -32401,7 +32622,7 @@ var SpellInfo = function SpellInfo(_ref) {
32401
32622
  castingType = spell.castingType,
32402
32623
  cooldown = spell.cooldown,
32403
32624
  maxDistanceGrid = spell.maxDistanceGrid;
32404
- return React__default.createElement(Container$s, null, React__default.createElement(Header$1, null, React__default.createElement("div", null, React__default.createElement(Title$9, null, name), React__default.createElement(Type$1, null, magicWords))), React__default.createElement(Statistic$1, null, React__default.createElement("div", {
32625
+ return React__default.createElement(Container$t, null, React__default.createElement(Header$1, null, React__default.createElement("div", null, React__default.createElement(Title$8, null, name), React__default.createElement(Type$1, null, magicWords))), React__default.createElement(Statistic$1, null, React__default.createElement("div", {
32405
32626
  className: "label"
32406
32627
  }, "Casting Type:"), React__default.createElement("div", {
32407
32628
  className: "value"
@@ -32427,11 +32648,11 @@ var SpellInfo = function SpellInfo(_ref) {
32427
32648
  className: "value"
32428
32649
  }, requiredItem))), React__default.createElement(Description$2, null, description));
32429
32650
  };
32430
- var Container$s = /*#__PURE__*/styled__default.div.withConfig({
32651
+ var Container$t = /*#__PURE__*/styled__default.div.withConfig({
32431
32652
  displayName: "SpellInfo__Container",
32432
32653
  componentId: "sc-4hbw3q-0"
32433
32654
  })(["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);
32434
- var Title$9 = /*#__PURE__*/styled__default.div.withConfig({
32655
+ var Title$8 = /*#__PURE__*/styled__default.div.withConfig({
32435
32656
  displayName: "SpellInfo__Title",
32436
32657
  componentId: "sc-4hbw3q-1"
32437
32658
  })(["font-size:", ";font-weight:bold;margin-bottom:0.5rem;display:flex;align-items:center;margin:0;"], uiFonts.size.medium);
@@ -32481,7 +32702,7 @@ var MobileSpellTooltip = function MobileSpellTooltip(_ref) {
32481
32702
  var _ref$current;
32482
32703
  (_ref$current = ref.current) == null ? void 0 : _ref$current.classList.add('fadeOut');
32483
32704
  };
32484
- return React__default.createElement(ModalPortal, null, React__default.createElement(Container$t, {
32705
+ return React__default.createElement(ModalPortal, null, React__default.createElement(Container$u, {
32485
32706
  ref: ref,
32486
32707
  onTouchEnd: function onTouchEnd() {
32487
32708
  handleFadeOut();
@@ -32506,7 +32727,7 @@ var MobileSpellTooltip = function MobileSpellTooltip(_ref) {
32506
32727
  }, option.text);
32507
32728
  }))));
32508
32729
  };
32509
- var Container$t = /*#__PURE__*/styled__default.div.withConfig({
32730
+ var Container$u = /*#__PURE__*/styled__default.div.withConfig({
32510
32731
  displayName: "MobileSpellTooltip__Container",
32511
32732
  componentId: "sc-6p7uvr-0"
32512
32733
  })(["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;}"]);
@@ -32547,13 +32768,13 @@ var MagicTooltip = function MagicTooltip(_ref) {
32547
32768
  }
32548
32769
  return;
32549
32770
  }, []);
32550
- return React__default.createElement(ModalPortal, null, React__default.createElement(Container$u, {
32771
+ return React__default.createElement(ModalPortal, null, React__default.createElement(Container$v, {
32551
32772
  ref: ref
32552
32773
  }, React__default.createElement(SpellInfoDisplay, {
32553
32774
  spell: spell
32554
32775
  })));
32555
32776
  };
32556
- var Container$u = /*#__PURE__*/styled__default.div.withConfig({
32777
+ var Container$v = /*#__PURE__*/styled__default.div.withConfig({
32557
32778
  displayName: "SpellTooltip__Container",
32558
32779
  componentId: "sc-1go0gwg-0"
32559
32780
  })(["position:absolute;z-index:100;pointer-events:none;left:0;top:0;opacity:0;transition:opacity 0.08s;"]);
@@ -32613,7 +32834,7 @@ var Spell = function Spell(_ref) {
32613
32834
  var IMAGE_SCALE = 2;
32614
32835
  return React__default.createElement(SpellInfoWrapper, {
32615
32836
  spell: spell
32616
- }, React__default.createElement(Container$v, {
32837
+ }, React__default.createElement(Container$w, {
32617
32838
  onPointerUp: onPointerUp == null ? void 0 : onPointerUp.bind(null, spellKey),
32618
32839
  isSettingShortcut: isSettingShortcut && !disabled,
32619
32840
  className: "spell"
@@ -32626,13 +32847,13 @@ var Spell = function Spell(_ref) {
32626
32847
  imgScale: IMAGE_SCALE,
32627
32848
  containerStyle: CONTAINER_STYLE,
32628
32849
  centered: true
32629
- })), React__default.createElement(Info, null, React__default.createElement(Title$a, null, React__default.createElement("span", null, name), React__default.createElement("span", {
32850
+ })), React__default.createElement(Info, null, React__default.createElement(Title$9, null, React__default.createElement("span", null, name), React__default.createElement("span", {
32630
32851
  className: "spell"
32631
32852
  }, "(", magicWords, ")")), React__default.createElement(Description$3, null, description)), React__default.createElement(Divider, null), React__default.createElement(Cost, null, React__default.createElement("span", null, "Mana cost:"), React__default.createElement("span", {
32632
32853
  className: "mana"
32633
32854
  }, manaCost))));
32634
32855
  };
32635
- var Container$v = /*#__PURE__*/styled__default.button.withConfig({
32856
+ var Container$w = /*#__PURE__*/styled__default.button.withConfig({
32636
32857
  displayName: "Spell__Container",
32637
32858
  componentId: "sc-j96fa2-0"
32638
32859
  })(["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) {
@@ -32647,7 +32868,7 @@ var Info = /*#__PURE__*/styled__default.span.withConfig({
32647
32868
  displayName: "Spell__Info",
32648
32869
  componentId: "sc-j96fa2-2"
32649
32870
  })(["width:0;flex:1;@media (orientation:portrait){display:none;}"]);
32650
- var Title$a = /*#__PURE__*/styled__default.p.withConfig({
32871
+ var Title$9 = /*#__PURE__*/styled__default.p.withConfig({
32651
32872
  displayName: "Spell__Title",
32652
32873
  componentId: "sc-j96fa2-3"
32653
32874
  })(["display:flex;flex-wrap:wrap;align-items:center;margin-bottom:5px;margin:0;span{font-size:", " !important;font-weight:bold !important;color:", " !important;margin-right:0.5rem;}.spell{font-size:", " !important;font-weight:normal !important;color:", " !important;}"], uiFonts.size.medium, uiColors.yellow, uiFonts.size.small, uiColors.lightGray);
@@ -32711,7 +32932,7 @@ var Spellbook = function Spellbook(_ref) {
32711
32932
  height: "inherit",
32712
32933
  cancelDrag: "#spellbook-search, #shortcuts_list, .spell",
32713
32934
  scale: scale
32714
- }, React__default.createElement(Container$w, null, React__default.createElement(Title$b, null, "Learned Spells"), React__default.createElement(ShortcutsSetter, {
32935
+ }, React__default.createElement(Container$x, null, React__default.createElement(Title$a, null, "Learned Spells"), React__default.createElement(ShortcutsSetter, {
32715
32936
  setSettingShortcutIndex: setSettingShortcutIndex,
32716
32937
  settingShortcutIndex: settingShortcutIndex,
32717
32938
  shortcuts: shortcuts,
@@ -32743,11 +32964,11 @@ var Spellbook = function Spellbook(_ref) {
32743
32964
  }, spell)));
32744
32965
  }))));
32745
32966
  };
32746
- var Title$b = /*#__PURE__*/styled__default.h1.withConfig({
32967
+ var Title$a = /*#__PURE__*/styled__default.h1.withConfig({
32747
32968
  displayName: "Spellbook__Title",
32748
32969
  componentId: "sc-r02nfq-0"
32749
32970
  })(["font-size:", " !important;margin-bottom:0 !important;"], uiFonts.size.large);
32750
- var Container$w = /*#__PURE__*/styled__default.div.withConfig({
32971
+ var Container$x = /*#__PURE__*/styled__default.div.withConfig({
32751
32972
  displayName: "Spellbook__Container",
32752
32973
  componentId: "sc-r02nfq-1"
32753
32974
  })(["width:100%;height:100%;color:white;display:flex;flex-direction:column;"]);
@@ -33233,7 +33454,7 @@ var TradingMenu = function TradingMenu(_ref) {
33233
33454
  style: {
33234
33455
  width: '100%'
33235
33456
  }
33236
- }, React__default.createElement(Title$c, null, Capitalize(type), " Menu"), React__default.createElement("hr", {
33457
+ }, React__default.createElement(Title$b, null, Capitalize(type), " Menu"), React__default.createElement("hr", {
33237
33458
  className: "golden"
33238
33459
  })), React__default.createElement(TradingComponentScrollWrapper, {
33239
33460
  id: "TraderContainer"
@@ -33264,7 +33485,7 @@ var TradingMenu = function TradingMenu(_ref) {
33264
33485
  }
33265
33486
  }, "Cancel"))));
33266
33487
  };
33267
- var Title$c = /*#__PURE__*/styled__default.h1.withConfig({
33488
+ var Title$b = /*#__PURE__*/styled__default.h1.withConfig({
33268
33489
  displayName: "TradingMenu__Title",
33269
33490
  componentId: "sc-1wjsz1l-0"
33270
33491
  })(["z-index:22;font-size:0.6rem;color:yellow !important;"]);
@@ -33298,11 +33519,11 @@ var Truncate = function Truncate(_ref) {
33298
33519
  var _ref$maxLines = _ref.maxLines,
33299
33520
  maxLines = _ref$maxLines === void 0 ? 1 : _ref$maxLines,
33300
33521
  children = _ref.children;
33301
- return React__default.createElement(Container$x, {
33522
+ return React__default.createElement(Container$y, {
33302
33523
  maxLines: maxLines
33303
33524
  }, children);
33304
33525
  };
33305
- var Container$x = /*#__PURE__*/styled__default.div.withConfig({
33526
+ var Container$y = /*#__PURE__*/styled__default.div.withConfig({
33306
33527
  displayName: "Truncate__Container",
33307
33528
  componentId: "sc-6x00qb-0"
33308
33529
  })(["display:-webkit-box;max-width:100%;max-height:100%;-webkit-line-clamp:", ";-webkit-box-orient:vertical;overflow:hidden;"], function (props) {
@@ -33410,7 +33631,7 @@ var TutorialStepper = /*#__PURE__*/React__default.memo(function (_ref) {
33410
33631
  };
33411
33632
  });
33412
33633
  }, [lessons, imageStyle]);
33413
- return React__default.createElement(Container$y, null, React__default.createElement(Stepper, {
33634
+ return React__default.createElement(Container$z, null, React__default.createElement(Stepper, {
33414
33635
  steps: generateLessons,
33415
33636
  finalCTAButton: {
33416
33637
  label: 'Close',
@@ -33427,7 +33648,7 @@ var LessonBody = /*#__PURE__*/styled__default.div.withConfig({
33427
33648
  displayName: "TutorialStepper__LessonBody",
33428
33649
  componentId: "sc-7tgzv2-1"
33429
33650
  })([""]);
33430
- var Container$y = /*#__PURE__*/styled__default.div.withConfig({
33651
+ var Container$z = /*#__PURE__*/styled__default.div.withConfig({
33431
33652
  displayName: "TutorialStepper__Container",
33432
33653
  componentId: "sc-7tgzv2-2"
33433
33654
  })(["width:80%;max-width:600px;@media (max-width:600px){width:95%;}"]);
@@ -33514,6 +33735,7 @@ exports.TimeWidget = TimeWidget;
33514
33735
  exports.TradingMenu = TradingMenu;
33515
33736
  exports.Truncate = Truncate;
33516
33737
  exports.TutorialStepper = TutorialStepper;
33738
+ exports.UserActionLink = UserActionLink;
33517
33739
  exports._RPGUI = _RPGUI;
33518
33740
  exports.getMockedPlayersRowsLeader = getMockedPlayersRowsLeader;
33519
33741
  exports.getMockedPlayersRowsNotLeader = getMockedPlayersRowsNotLeader;