@rpg-engine/long-bow 0.4.82 → 0.4.84

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (169) hide show
  1. package/LICENSE +20 -20
  2. package/README.md +181 -181
  3. package/dist/components/SkillProgressBar.d.ts +1 -0
  4. package/dist/long-bow.cjs.development.js +1065 -1054
  5. package/dist/long-bow.cjs.development.js.map +1 -1
  6. package/dist/long-bow.cjs.production.min.js +1 -1
  7. package/dist/long-bow.cjs.production.min.js.map +1 -1
  8. package/dist/long-bow.esm.js +1067 -1056
  9. package/dist/long-bow.esm.js.map +1 -1
  10. package/package.json +100 -100
  11. package/src/components/Abstractions/ModalPortal.tsx +22 -22
  12. package/src/components/Abstractions/SlotsContainer.tsx +62 -62
  13. package/src/components/Arrow/SelectArrow.tsx +69 -69
  14. package/src/components/Arrow/img/arrow01-left-clicked.png +0 -0
  15. package/src/components/Arrow/img/arrow01-left.png +0 -0
  16. package/src/components/Arrow/img/arrow01-right-clicked.png +0 -0
  17. package/src/components/Arrow/img/arrow01-right.png +0 -0
  18. package/src/components/Arrow/img/arrow02-left-clicked.png +0 -0
  19. package/src/components/Arrow/img/arrow02-left.png +0 -0
  20. package/src/components/Arrow/img/arrow02-right-clicked.png +0 -0
  21. package/src/components/Arrow/img/arrow02-right.png +0 -0
  22. package/src/components/Button.tsx +40 -40
  23. package/src/components/Character/CharacterSelection.tsx +98 -98
  24. package/src/components/CharacterStatus/CharacterStatus.tsx +120 -120
  25. package/src/components/Chat/Chat.tsx +196 -196
  26. package/src/components/Chatdeprecated/ChatDeprecated.tsx +198 -198
  27. package/src/components/CheckButton.tsx +65 -65
  28. package/src/components/CircularController/CircularController.tsx +282 -282
  29. package/src/components/ConfirmModal.tsx +87 -87
  30. package/src/components/CraftBook/CraftBook.tsx +286 -286
  31. package/src/components/CraftBook/CraftingRecipe.tsx +161 -161
  32. package/src/components/CraftBook/MockItems.ts +101 -101
  33. package/src/components/DraggableContainer.tsx +183 -183
  34. package/src/components/Dropdown.tsx +114 -114
  35. package/src/components/DropdownSelectorContainer.tsx +42 -42
  36. package/src/components/Equipment/EquipmentSet.tsx +199 -199
  37. package/src/components/HistoryDialog.tsx +104 -104
  38. package/src/components/Input.tsx +15 -15
  39. package/src/components/InputRadio.tsx +41 -41
  40. package/src/components/Item/Cards/ItemInfo.tsx +298 -298
  41. package/src/components/Item/Cards/ItemInfoDisplay.tsx +135 -135
  42. package/src/components/Item/Cards/ItemInfoWrapper.tsx +62 -62
  43. package/src/components/Item/Cards/ItemTooltip.tsx +83 -83
  44. package/src/components/Item/Cards/MobileItemTooltip.tsx +149 -149
  45. package/src/components/Item/Inventory/ErrorBoundary.tsx +42 -42
  46. package/src/components/Item/Inventory/ItemContainer.tsx +231 -231
  47. package/src/components/Item/Inventory/ItemContainerTypes.ts +6 -6
  48. package/src/components/Item/Inventory/ItemQuantitySelector.tsx +138 -138
  49. package/src/components/Item/Inventory/ItemSlot.tsx +595 -595
  50. package/src/components/Item/Inventory/itemContainerHelper.ts +175 -175
  51. package/src/components/ListMenu.tsx +63 -63
  52. package/src/components/Marketplace/BuyPanel.tsx +304 -304
  53. package/src/components/Marketplace/ManagmentPanel.tsx +255 -255
  54. package/src/components/Marketplace/Marketplace.tsx +106 -106
  55. package/src/components/Marketplace/MarketplaceRows.tsx +177 -177
  56. package/src/components/Marketplace/filters/index.tsx +67 -67
  57. package/src/components/Multitab/Tab.tsx +66 -66
  58. package/src/components/Multitab/TabBody.tsx +13 -13
  59. package/src/components/Multitab/TabsContainer.tsx +97 -97
  60. package/src/components/NPCDialog/NPCDialog.tsx +121 -121
  61. package/src/components/NPCDialog/NPCDialogText.tsx +113 -113
  62. package/src/components/NPCDialog/NPCMultiDialog.tsx +159 -159
  63. package/src/components/NPCDialog/QuestionDialog/QuestionDialog.tsx +237 -237
  64. package/src/components/Pager.tsx +94 -94
  65. package/src/components/ProgressBar.tsx +102 -102
  66. package/src/components/PropertySelect/PropertySelect.tsx +106 -106
  67. package/src/components/QuestInfo/QuestInfo.tsx +233 -233
  68. package/src/components/QuestList.tsx +135 -135
  69. package/src/components/RPGUIContainer.tsx +47 -47
  70. package/src/components/RPGUIForceRenderStart.tsx +45 -45
  71. package/src/components/RPGUIRoot.tsx +14 -14
  72. package/src/components/RadioButton.tsx +53 -53
  73. package/src/components/RadioInput/RadioButton.tsx +96 -96
  74. package/src/components/RadioInput/RadioInput.tsx +102 -102
  75. package/src/components/RadioInput/instruments.ts +15 -15
  76. package/src/components/RangeSlider.tsx +78 -78
  77. package/src/components/RelativeListMenu.tsx +90 -90
  78. package/src/components/ScrollList.tsx +79 -79
  79. package/src/components/Shortcuts/Shortcuts.tsx +193 -193
  80. package/src/components/Shortcuts/ShortcutsSetter.tsx +139 -139
  81. package/src/components/Shortcuts/SingleShortcut.ts +82 -82
  82. package/src/components/Shortcuts/useShortcutCooldown.ts +23 -23
  83. package/src/components/SimpleProgressBar.tsx +62 -62
  84. package/src/components/SkillProgressBar.tsx +196 -206
  85. package/src/components/SkillsContainer.tsx +242 -213
  86. package/src/components/Spellbook/Spell.tsx +235 -235
  87. package/src/components/Spellbook/Spellbook.tsx +145 -145
  88. package/src/components/Spellbook/cards/MobileSpellTooltip.tsx +137 -137
  89. package/src/components/Spellbook/cards/SpellInfo.tsx +134 -134
  90. package/src/components/Spellbook/cards/SpellInfoDisplay.tsx +31 -31
  91. package/src/components/Spellbook/cards/SpellInfoWrapper.tsx +48 -48
  92. package/src/components/Spellbook/cards/SpellTooltip.tsx +70 -70
  93. package/src/components/Spellbook/constants.ts +7 -7
  94. package/src/components/Spellbook/mockSpells.ts +84 -84
  95. package/src/components/StaticBook/StaticBook.tsx +103 -103
  96. package/src/components/TextArea.tsx +11 -11
  97. package/src/components/TimeWidget/DayNightPeriod/DayNightPeriod.tsx +35 -35
  98. package/src/components/TimeWidget/TimeWidget.tsx +65 -65
  99. package/src/components/TradingMenu/TradingItemRow.tsx +199 -199
  100. package/src/components/TradingMenu/TradingMenu.tsx +219 -219
  101. package/src/components/TradingMenu/items.mock.ts +48 -48
  102. package/src/components/Truncate.tsx +25 -25
  103. package/src/components/itemSelector/ItemSelector.tsx +136 -136
  104. package/src/components/shared/Column.tsx +16 -16
  105. package/src/components/shared/Ellipsis.tsx +76 -76
  106. package/src/components/shared/SpriteFromAtlas.tsx +104 -104
  107. package/src/components/typography/DynamicText.tsx +49 -49
  108. package/src/constants/uiColors.ts +20 -20
  109. package/src/constants/uiDevices.ts +3 -3
  110. package/src/constants/uiFonts.ts +12 -12
  111. package/src/hooks/useEventListener.ts +21 -21
  112. package/src/hooks/useOutsideAlerter.ts +25 -25
  113. package/src/index.tsx +42 -42
  114. package/src/libs/CastingTypeHelper.ts +7 -7
  115. package/src/libs/StringHelpers.ts +3 -3
  116. package/src/libs/itemCounter.ts +21 -21
  117. package/src/mocks/atlas/entities/entities.json +20215 -20215
  118. package/src/mocks/atlas/icons/icons.json +735 -735
  119. package/src/mocks/atlas/items/items.json +12086 -12086
  120. package/src/mocks/equipmentSet.mocks.ts +391 -391
  121. package/src/mocks/itemContainer.mocks.ts +605 -605
  122. package/src/mocks/skills.mocks.ts +130 -130
  123. package/src/stories/Arrow.stories.tsx +26 -26
  124. package/src/stories/Button.stories.tsx +36 -36
  125. package/src/stories/CharacterSelection.stories.tsx +44 -44
  126. package/src/stories/CharacterStatus.stories.tsx +29 -29
  127. package/src/stories/Chat.stories.tsx +187 -187
  128. package/src/stories/ChatDeprecated.stories.tsx +170 -170
  129. package/src/stories/CheckButton.stories.tsx +48 -48
  130. package/src/stories/CircullarController.stories.tsx +37 -37
  131. package/src/stories/CraftBook.stories.tsx +42 -42
  132. package/src/stories/DayNightPeriod.stories.tsx +27 -27
  133. package/src/stories/DraggableContainer.stories.tsx +28 -28
  134. package/src/stories/Dropdown.stories.tsx +46 -46
  135. package/src/stories/DropdownSelectorContainer.stories.tsx +41 -41
  136. package/src/stories/EquipmentSet.stories.tsx +65 -65
  137. package/src/stories/HistoryDialog.stories.tsx +61 -61
  138. package/src/stories/ItemContainer.stories.tsx +201 -201
  139. package/src/stories/ItemInfoDisplay.stories.tsx +33 -33
  140. package/src/stories/ItemQuantitySelector.stories.tsx +26 -26
  141. package/src/stories/ItemSelector.stories.tsx +77 -77
  142. package/src/stories/ItemTradingComponent.stories.tsx +35 -35
  143. package/src/stories/ListMenu.stories.tsx +56 -56
  144. package/src/stories/Marketplace.stories.tsx +57 -57
  145. package/src/stories/MarketplaceRows.stories.tsx +27 -27
  146. package/src/stories/Multitab.stories.tsx +51 -51
  147. package/src/stories/NPCDialog.stories.tsx +130 -130
  148. package/src/stories/NPCMultiDialog.stories.tsx +71 -71
  149. package/src/stories/ProgressBar.stories.tsx +24 -24
  150. package/src/stories/PropertySelect.stories.tsx +40 -40
  151. package/src/stories/QuestInfo.stories.tsx +107 -107
  152. package/src/stories/QuestList.stories.tsx +82 -82
  153. package/src/stories/RPGUIContainers.stories.tsx +42 -42
  154. package/src/stories/RadioButton.stories.tsx +49 -49
  155. package/src/stories/RadioInput.stories.tsx +34 -34
  156. package/src/stories/RangeSlider.stories.tsx +64 -64
  157. package/src/stories/ScrollList.stories.tsx +85 -85
  158. package/src/stories/Shortcuts.stories.tsx +39 -39
  159. package/src/stories/SimpleProgressBar.stories.tsx +22 -22
  160. package/src/stories/SkillProgressBar.stories.tsx +34 -34
  161. package/src/stories/SkillsContainer.stories.tsx +35 -35
  162. package/src/stories/SpellInfoDisplay.stories.tsx +27 -27
  163. package/src/stories/Spellbook.stories.tsx +104 -104
  164. package/src/stories/StaticBook.stories.tsx +32 -32
  165. package/src/stories/Text.stories.tsx +42 -42
  166. package/src/stories/TimeWidget.stories.tsx +27 -27
  167. package/src/stories/TradingMenu.stories.tsx +47 -47
  168. package/src/types/eventTypes.ts +4 -4
  169. package/src/types/index.d.ts +2 -2
@@ -14601,144 +14601,682 @@ var EquipmentColumn = /*#__PURE__*/styled.div.withConfig({
14601
14601
  componentId: "sc-1wuddg2-1"
14602
14602
  })(["display:flex;justify-content:center;flex-wrap:wrap;flex-direction:column;touch-action:none;"]);
14603
14603
 
14604
- var SlotsContainer = function SlotsContainer(_ref) {
14605
- var children = _ref.children,
14606
- title = _ref.title,
14607
- onClose = _ref.onClose,
14608
- _onPositionChange = _ref.onPositionChange,
14609
- _onPositionChangeEnd = _ref.onPositionChangeEnd,
14610
- _onPositionChangeStart = _ref.onPositionChangeStart,
14611
- onOutsideClick = _ref.onOutsideClick,
14612
- initialPosition = _ref.initialPosition,
14613
- scale = _ref.scale;
14614
- return React__default.createElement(DraggableContainer, {
14615
- title: title,
14616
- type: exports.RPGUIContainerTypes.Framed,
14617
- onCloseButton: function onCloseButton() {
14618
- if (onClose) {
14619
- onClose();
14620
- }
14621
- },
14622
- width: "400px",
14623
- cancelDrag: ".item-container-body, #shortcuts_list",
14624
- onPositionChange: function onPositionChange(_ref2) {
14625
- var x = _ref2.x,
14626
- y = _ref2.y;
14627
- if (_onPositionChange) {
14628
- _onPositionChange({
14629
- x: x,
14630
- y: y
14631
- });
14632
- }
14633
- },
14634
- onPositionChangeEnd: function onPositionChangeEnd(_ref3) {
14635
- var x = _ref3.x,
14636
- y = _ref3.y;
14637
- if (_onPositionChangeEnd) {
14638
- _onPositionChangeEnd({
14639
- x: x,
14640
- y: y
14641
- });
14604
+ var IS_MOBILE_OR_TABLET = /*#__PURE__*/shared.isMobileOrTablet();
14605
+
14606
+ var chunkString = function chunkString(str, length) {
14607
+ return str.match(new RegExp('.{1,' + length + '}', 'g'));
14608
+ };
14609
+
14610
+ var DynamicText = function DynamicText(_ref) {
14611
+ var text = _ref.text,
14612
+ onFinish = _ref.onFinish,
14613
+ onStart = _ref.onStart;
14614
+ var _useState = React.useState(''),
14615
+ textState = _useState[0],
14616
+ setTextState = _useState[1];
14617
+ React.useEffect(function () {
14618
+ var i = 0;
14619
+ var interval = setInterval(function () {
14620
+ // on every interval, show one more character
14621
+ if (i === 0) {
14622
+ if (onStart) {
14623
+ onStart();
14624
+ }
14642
14625
  }
14643
- },
14644
- onPositionChangeStart: function onPositionChangeStart(_ref4) {
14645
- var x = _ref4.x,
14646
- y = _ref4.y;
14647
- if (_onPositionChangeStart) {
14648
- _onPositionChangeStart({
14649
- x: x,
14650
- y: y
14651
- });
14626
+ if (i < text.length) {
14627
+ setTextState(text.substring(0, i + 1));
14628
+ i++;
14629
+ } else {
14630
+ clearInterval(interval);
14631
+ if (onFinish) {
14632
+ onFinish();
14633
+ }
14652
14634
  }
14653
- },
14654
- onOutsideClick: onOutsideClick,
14655
- initialPosition: initialPosition,
14656
- scale: scale
14657
- }, children);
14635
+ }, 50);
14636
+ return function () {
14637
+ clearInterval(interval);
14638
+ };
14639
+ }, [text]);
14640
+ return React__default.createElement(TextContainer, null, textState);
14658
14641
  };
14642
+ var TextContainer = /*#__PURE__*/styled.p.withConfig({
14643
+ displayName: "DynamicText__TextContainer",
14644
+ componentId: "sc-1ggl9nd-0"
14645
+ })(["font-size:0.7rem !important;color:white;text-shadow:1px 1px 0px #000000;letter-spacing:1.2px;word-break:normal;"]);
14659
14646
 
14660
- (function (RangeSliderType) {
14661
- RangeSliderType["Slider"] = "rpgui-slider";
14662
- RangeSliderType["GoldSlider"] = "rpgui-slider golden";
14663
- })(exports.RangeSliderType || (exports.RangeSliderType = {}));
14664
- var RangeSlider = function RangeSlider(_ref) {
14665
- var type = _ref.type,
14666
- valueMin = _ref.valueMin,
14667
- valueMax = _ref.valueMax,
14668
- width = _ref.width,
14669
- _onChange = _ref.onChange,
14670
- value = _ref.value;
14671
- var sliderId = uuid.v4();
14672
- var containerRef = React.useRef(null);
14647
+ var img$5 = 'data:image/gif;base64,R0lGODlhEAAQAPIAAAAAABQYLiw1TUBJc2hvmQAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAAAQABAAAAM9CLrc/lCFGSKYJJP5AhlguDnBMIVgxXgmJapSSp3mKs/pKrT0IMCXUk+2Cgh2oSOnaDz+lswZpSOFUq2KBAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAAAQABAAAAIzhI+py90Bg4OjDrjCELxfFQhQx0mIJkaeaYRp5LJADMdnqXbyOJLYTdKBejjZoRaZJBMFACH/C0ltYWdlTWFnaWNrDWdhbW1hPTAuNDU0NTUAIfkEARQAAAAsAAAAABAAEAAAAjKEj6nL7Y+CDE6OO+QKQ/ifKYEgfR4VddPohQe7lmR0xidNTib65uacYP2AQWGuMlEUAAA7';
14648
+
14649
+ var img$6 = 'data:image/gif;base64,R0lGODlhQAAgAPIAAAAAAA0NDRERESIiIigoKFlZWf///wAAACH/C05FVFNDQVBFMi4wAwEAAAAh/wtJbWFnZU1hZ2ljaw5nYW1tYT0wLjQ1NDU0NQAh+QQBFAAAACwAAAAAQAAgAAAD/wi63P4wykmrvTjrzbv/YAgIZGmeaKquakQWcCzPdG3fNukIeO//PQGDBywafcIF8chswpKKZcxApTqvNOiIZi0YsODncFaFlcNOrdTbJVff0/c3Lp/Xs2N37cy2ndt6ZnhKXHdsc4d7VnwyfIxqPWWOXXWLgHSGYoSNbZKVZp2WiJyjg1GFcaClqaqJhasyUAFrh3Cur3KqubWXBQIBAAEDtDeMaEEDAcLEx2gCycvN0jHPysPT09XR2M3a19zH3gTM4EYCBNDD4yzs7e4r48nB6gT19vf4+fr7/P3P8sKGvRtIkMUAeQoCHlzIsKHDhxAjSoTWQJnFixgzatzIsQWjRQYJAAAh/wtJbWFnZU1hZ2ljaw5nYW1tYT0wLjQ1NDU0NQAh+QQBFAAAACwAAAAAQAAgAAAD8Ai63P4wykmrvTjrzbv/YCiOlGCeaKqubMtGZiHPdG3feI6bjqD/wOBPwPAJj0ggcWFMOp+ypaI5M1it0KxNCqDKsAWDdhwt1q5fMPnJ9aJt17g4HafJ3/et+Tzn99V+aThqfTNtcHlhhIBVWG+BdDSHOmiPeHdij3aYhZONf46YkZGanzpSAV6KjaOIpqWtNwIBAAEDqqKKhZuJnHSwAgMBtqo5sGs5wcO3yM01ysTO0gXQzNPN1cXXUNnbyNna3kcmwrW3Lujp6ugD5bbn6/HyLe20Cu/t+fr7/P3+/wCF2VswrKDBgwgTKlzIsCCDBAA7';
14650
+
14651
+ var NPCDialogText = function NPCDialogText(_ref) {
14652
+ var text = _ref.text,
14653
+ onClose = _ref.onClose,
14654
+ onEndStep = _ref.onEndStep,
14655
+ onStartStep = _ref.onStartStep,
14656
+ type = _ref.type;
14657
+ var windowSize = React.useRef([window.innerWidth, window.innerHeight]);
14658
+ function maxCharacters(width) {
14659
+ // Set the font size to 16 pixels
14660
+ var fontSize = 11.2;
14661
+ // Calculate the number of characters that can fit in one line
14662
+ var charactersPerLine = Math.floor(width / 2 / fontSize);
14663
+ // Calculate the number of lines that can fit in the div
14664
+ var linesPerDiv = Math.floor(180 / fontSize);
14665
+ // Calculate the maximum number of characters that can fit in the div
14666
+ var maxCharacters = charactersPerLine * linesPerDiv;
14667
+ // Return the maximum number of characters
14668
+ return Math.round(maxCharacters / 5);
14669
+ }
14670
+ var textChunks = chunkString(text, maxCharacters(windowSize.current[0]));
14673
14671
  var _useState = React.useState(0),
14674
- left = _useState[0],
14675
- setLeft = _useState[1];
14672
+ chunkIndex = _useState[0],
14673
+ setChunkIndex = _useState[1];
14674
+ var onHandleSpacePress = function onHandleSpacePress(event) {
14675
+ if (event.code === 'Space') {
14676
+ goToNextStep();
14677
+ }
14678
+ };
14679
+ var goToNextStep = function goToNextStep() {
14680
+ var hasNextChunk = (textChunks == null ? void 0 : textChunks[chunkIndex + 1]) || false;
14681
+ if (hasNextChunk) {
14682
+ setChunkIndex(function (prev) {
14683
+ return prev + 1;
14684
+ });
14685
+ } else {
14686
+ // if there's no more text chunks, close the dialog
14687
+ onClose();
14688
+ }
14689
+ };
14676
14690
  React.useEffect(function () {
14677
- var _containerRef$current;
14678
- var calculatedWidth = ((_containerRef$current = containerRef.current) == null ? void 0 : _containerRef$current.clientWidth) || 0;
14679
- setLeft(Math.max((value - valueMin) / (valueMax - valueMin) * (calculatedWidth - 35) + 10));
14680
- }, [value, valueMin, valueMax]);
14681
- var typeClass = type === exports.RangeSliderType.GoldSlider ? 'golden' : '';
14682
- return React__default.createElement("div", {
14683
- style: {
14684
- width: width,
14685
- position: 'relative'
14691
+ document.addEventListener('keydown', onHandleSpacePress);
14692
+ return function () {
14693
+ return document.removeEventListener('keydown', onHandleSpacePress);
14694
+ };
14695
+ }, [chunkIndex]);
14696
+ var _useState2 = React.useState(false),
14697
+ showGoNextIndicator = _useState2[0],
14698
+ setShowGoNextIndicator = _useState2[1];
14699
+ return React__default.createElement(Container$e, null, React__default.createElement(DynamicText, {
14700
+ text: (textChunks == null ? void 0 : textChunks[chunkIndex]) || '',
14701
+ onFinish: function onFinish() {
14702
+ setShowGoNextIndicator(true);
14703
+ onEndStep && onEndStep();
14686
14704
  },
14687
- className: "rpgui-slider-container " + typeClass,
14688
- id: "rpgui-slider-" + sliderId,
14689
- ref: containerRef
14690
- }, React__default.createElement("div", {
14691
- style: {
14692
- pointerEvents: 'none'
14705
+ onStart: function onStart() {
14706
+ setShowGoNextIndicator(false);
14707
+ onStartStep && onStartStep();
14693
14708
  }
14694
- }, React__default.createElement("div", {
14695
- className: "rpgui-slider-track " + typeClass
14696
- }), React__default.createElement("div", {
14697
- className: "rpgui-slider-left-edge " + typeClass
14698
- }), React__default.createElement("div", {
14699
- className: "rpgui-slider-right-edge " + typeClass
14700
- }), React__default.createElement("div", {
14701
- className: "rpgui-slider-thumb " + typeClass,
14702
- style: {
14703
- left: left
14709
+ }), showGoNextIndicator && React__default.createElement(PressSpaceIndicator, {
14710
+ right: type === exports.NPCDialogType.TextOnly ? '1rem' : '10.5rem',
14711
+ src: IS_MOBILE_OR_TABLET ? img$5 : img$6,
14712
+ onPointerDown: function onPointerDown() {
14713
+ goToNextStep();
14704
14714
  }
14705
- })), React__default.createElement(Input$1, {
14706
- type: "range",
14707
- style: {
14708
- width: width
14709
- },
14710
- min: valueMin,
14711
- max: valueMax,
14712
- onChange: function onChange(e) {
14713
- return _onChange(Number(e.target.value));
14714
- },
14715
- value: value,
14716
- className: "rpgui-cursor-point"
14717
14715
  }));
14718
14716
  };
14719
- var Input$1 = /*#__PURE__*/styled.input.withConfig({
14720
- displayName: "RangeSlider__Input",
14721
- componentId: "sc-v8mte9-0"
14722
- })(["opacity:0;position:absolute;width:100%;height:100%;top:0;left:0;margin-top:-5px;"]);
14717
+ var Container$e = /*#__PURE__*/styled.div.withConfig({
14718
+ displayName: "NPCDialogText__Container",
14719
+ componentId: "sc-1cxkdh9-0"
14720
+ })([""]);
14721
+ var PressSpaceIndicator = /*#__PURE__*/styled.img.withConfig({
14722
+ displayName: "NPCDialogText__PressSpaceIndicator",
14723
+ componentId: "sc-1cxkdh9-1"
14724
+ })(["position:absolute;right:", ";bottom:1rem;height:20.7px;image-rendering:-webkit-optimize-contrast;"], function (_ref2) {
14725
+ var right = _ref2.right;
14726
+ return right;
14727
+ });
14723
14728
 
14724
- var ItemQuantitySelector = function ItemQuantitySelector(_ref) {
14725
- var quantity = _ref.quantity,
14726
- onConfirm = _ref.onConfirm,
14729
+ //@ts-ignore
14730
+ var useEventListener = function useEventListener(type, handler, el) {
14731
+ if (el === void 0) {
14732
+ el = window;
14733
+ }
14734
+ var savedHandler = React__default.useRef();
14735
+ React__default.useEffect(function () {
14736
+ savedHandler.current = handler;
14737
+ }, [handler]);
14738
+ React__default.useEffect(function () {
14739
+ //@ts-ignore
14740
+ var listener = function listener(e) {
14741
+ return savedHandler.current(e);
14742
+ };
14743
+ el.addEventListener(type, listener);
14744
+ return function () {
14745
+ el.removeEventListener(type, listener);
14746
+ };
14747
+ }, [type, el]);
14748
+ };
14749
+
14750
+ var QuestionDialog = function QuestionDialog(_ref) {
14751
+ var questions = _ref.questions,
14752
+ answers = _ref.answers,
14727
14753
  onClose = _ref.onClose;
14728
- var _useState = React.useState(quantity),
14729
- value = _useState[0],
14730
- setValue = _useState[1];
14731
- var inputRef = React.useRef(null);
14732
- React.useEffect(function () {
14733
- if (inputRef.current) {
14734
- inputRef.current.focus();
14735
- inputRef.current.select();
14736
- var closeSelector = function closeSelector(e) {
14737
- if (e.key === 'Escape') {
14738
- onClose();
14739
- }
14740
- };
14741
- document.addEventListener('keydown', closeSelector);
14754
+ var _useState = React.useState(questions[0]),
14755
+ currentQuestion = _useState[0],
14756
+ setCurrentQuestion = _useState[1];
14757
+ var _useState2 = React.useState(false),
14758
+ canShowAnswers = _useState2[0],
14759
+ setCanShowAnswers = _useState2[1];
14760
+ var onGetFirstAnswer = function onGetFirstAnswer() {
14761
+ if (!currentQuestion.answerIds || currentQuestion.answerIds.length === 0) {
14762
+ return null;
14763
+ }
14764
+ var firstAnswerId = currentQuestion.answerIds[0];
14765
+ return answers.find(function (answer) {
14766
+ return answer.id === firstAnswerId;
14767
+ });
14768
+ };
14769
+ var _useState3 = React.useState(onGetFirstAnswer()),
14770
+ currentAnswer = _useState3[0],
14771
+ setCurrentAnswer = _useState3[1];
14772
+ React.useEffect(function () {
14773
+ setCurrentAnswer(onGetFirstAnswer());
14774
+ }, [currentQuestion]);
14775
+ var onGetAnswers = function onGetAnswers(answerIds) {
14776
+ return answerIds.map(function (answerId) {
14777
+ return answers.find(function (answer) {
14778
+ return answer.id === answerId;
14779
+ });
14780
+ });
14781
+ };
14782
+ var onKeyPress = function onKeyPress(e) {
14783
+ switch (e.key) {
14784
+ case 'ArrowDown':
14785
+ // select next answer, if any.
14786
+ // if no next answer, select first answer
14787
+ // const nextAnswer = onGetAnswers(currentQuestion.answerIds!).find(
14788
+ // (answer) => answer?.id === currentAnswer!.id + 1
14789
+ // );
14790
+ var nextAnswerIndex = onGetAnswers(currentQuestion.answerIds).findIndex(function (answer) {
14791
+ return (answer == null ? void 0 : answer.id) === currentAnswer.id + 1;
14792
+ });
14793
+ var nextAnswerID = currentQuestion.answerIds[nextAnswerIndex];
14794
+ var nextAnswer = onGetAnswers(currentQuestion.answerIds).find(function (answer) {
14795
+ return (answer == null ? void 0 : answer.id) === nextAnswerID;
14796
+ });
14797
+ setCurrentAnswer(nextAnswer || onGetFirstAnswer());
14798
+ break;
14799
+ case 'ArrowUp':
14800
+ // select previous answer, if any.
14801
+ // if no previous answer, select last answer
14802
+ var previousAnswerIndex = onGetAnswers(currentQuestion.answerIds).findIndex(function (answer) {
14803
+ return (answer == null ? void 0 : answer.id) === currentAnswer.id - 1;
14804
+ });
14805
+ var previousAnswerID = currentQuestion.answerIds && currentQuestion.answerIds[previousAnswerIndex];
14806
+ var previousAnswer = onGetAnswers(currentQuestion.answerIds).find(function (answer) {
14807
+ return (answer == null ? void 0 : answer.id) === previousAnswerID;
14808
+ });
14809
+ if (previousAnswer) {
14810
+ setCurrentAnswer(previousAnswer);
14811
+ } else {
14812
+ setCurrentAnswer(onGetAnswers(currentQuestion.answerIds).pop());
14813
+ }
14814
+ break;
14815
+ case 'Enter':
14816
+ setCanShowAnswers(false);
14817
+ if (!(currentAnswer != null && currentAnswer.nextQuestionId)) {
14818
+ onClose();
14819
+ return;
14820
+ } else {
14821
+ setCurrentQuestion(questions.find(function (question) {
14822
+ return question.id === currentAnswer.nextQuestionId;
14823
+ }));
14824
+ }
14825
+ break;
14826
+ }
14827
+ };
14828
+ useEventListener('keydown', onKeyPress);
14829
+ var onAnswerClick = function onAnswerClick(answer) {
14830
+ setCanShowAnswers(false);
14831
+ if (answer.nextQuestionId) {
14832
+ // if there is a next question, go to it
14833
+ setCurrentQuestion(questions.find(function (question) {
14834
+ return question.id === answer.nextQuestionId;
14835
+ }));
14836
+ } else {
14837
+ // else, finish dialog!
14838
+ onClose();
14839
+ }
14840
+ };
14841
+ var onRenderCurrentAnswers = function onRenderCurrentAnswers() {
14842
+ var answerIds = currentQuestion.answerIds;
14843
+ if (!answerIds) {
14844
+ return null;
14845
+ }
14846
+ var answers = onGetAnswers(answerIds);
14847
+ if (!answers) {
14848
+ return null;
14849
+ }
14850
+ return answers.map(function (answer) {
14851
+ var isSelected = (currentAnswer == null ? void 0 : currentAnswer.id) === (answer == null ? void 0 : answer.id);
14852
+ var selectedColor = isSelected ? 'yellow' : 'white';
14853
+ if (answer) {
14854
+ return React__default.createElement(AnswerRow, {
14855
+ key: "answer_" + answer.id
14856
+ }, React__default.createElement(AnswerSelectedIcon, {
14857
+ color: selectedColor
14858
+ }, isSelected ? 'X' : null), React__default.createElement(Answer, {
14859
+ key: answer.id,
14860
+ onPointerDown: function onPointerDown() {
14861
+ return onAnswerClick(answer);
14862
+ },
14863
+ color: selectedColor
14864
+ }, answer.text));
14865
+ }
14866
+ return null;
14867
+ });
14868
+ };
14869
+ return React__default.createElement(Container$f, null, React__default.createElement(QuestionContainer, null, React__default.createElement(DynamicText, {
14870
+ text: currentQuestion.text,
14871
+ onStart: function onStart() {
14872
+ return setCanShowAnswers(false);
14873
+ },
14874
+ onFinish: function onFinish() {
14875
+ return setCanShowAnswers(true);
14876
+ }
14877
+ })), canShowAnswers && React__default.createElement(AnswersContainer, null, onRenderCurrentAnswers()));
14878
+ };
14879
+ var Container$f = /*#__PURE__*/styled.div.withConfig({
14880
+ displayName: "QuestionDialog__Container",
14881
+ componentId: "sc-bxc5u0-0"
14882
+ })(["display:flex;word-break:break-all;box-sizing:border-box;justify-content:flex-start;align-items:flex-start;flex-wrap:wrap;"]);
14883
+ var QuestionContainer = /*#__PURE__*/styled.div.withConfig({
14884
+ displayName: "QuestionDialog__QuestionContainer",
14885
+ componentId: "sc-bxc5u0-1"
14886
+ })(["flex:100%;width:100%;"]);
14887
+ var AnswersContainer = /*#__PURE__*/styled.div.withConfig({
14888
+ displayName: "QuestionDialog__AnswersContainer",
14889
+ componentId: "sc-bxc5u0-2"
14890
+ })(["flex:100%;"]);
14891
+ var Answer = /*#__PURE__*/styled.p.withConfig({
14892
+ displayName: "QuestionDialog__Answer",
14893
+ componentId: "sc-bxc5u0-3"
14894
+ })(["flex:auto;color:", " !important;font-size:0.65rem !important;background:inherit;border:none;"], function (props) {
14895
+ return props.color;
14896
+ });
14897
+ var AnswerSelectedIcon = /*#__PURE__*/styled.span.withConfig({
14898
+ displayName: "QuestionDialog__AnswerSelectedIcon",
14899
+ componentId: "sc-bxc5u0-4"
14900
+ })(["flex:5% 0 0;color:", " !important;"], function (props) {
14901
+ return props.color;
14902
+ });
14903
+ var AnswerRow = /*#__PURE__*/styled.div.withConfig({
14904
+ displayName: "QuestionDialog__AnswerRow",
14905
+ componentId: "sc-bxc5u0-5"
14906
+ })(["display:flex;flex-wrap:wrap;justify-content:center;align-items:center;margin-bottom:0.5rem;height:22px;p{line-height:unset;margin-top:0;margin-bottom:0rem;}"]);
14907
+
14908
+ var img$7 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAP1BMVEUAAAA7FyVxQTsUEBPj5v////+5v/tCJDOOUlIiHBr1oJfptaO6dWr61rhzFy1bMTjoanMUNGQoXMQkn97+88DQ3IhAAAAAAXRSTlMAQObYZgAAAAFiS0dEBfhv6ccAAAAHdElNRQfmAw4VOBC7c5LYAAABM0lEQVQ4y3XRi5KDIAwFUAUkbrBgpP//rZsHVHQ009qZ3tPboNN0zmwzvcw8O5sX4y0NOg/Et3jRCXF+ziULorjkOQ9gE24dvuUAzq08DiCO4pe3WN7zCP56vmpubBReQYC11YPS86ySxxCsAABTSgjb5m4g8nfbxvFHBkH2OEEvAItVuCuIsgGgl+Gcr7kDXxhEAx55A2SQEEeQeZwUaIP8Tbo05B0RFPhItAjgj1w6cDnhLluDj+Egkh3pCCP4pKQAw1IPO0W9Nti5gW9RP2dKA3BZd2Dw+baYX+Nt4GM00O4S3kEpF6Alb2Bv4LeC3kkGfAW0/p0RPoJVKr63ghHsKuRh5DIUKOAlGOwrtt9fQekAEfmhZslHUDoglB0zjfkJigN7UnTQQ4GBWomoVhEN/AOPSBh38gy+fwAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyMi0wMy0xNFQyMTo1NTo1MSswMDowMJcc0eEAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjItMDMtMTRUMjE6NTU6NTErMDA6MDDmQWldAAAAAElFTkSuQmCC';
14909
+
14910
+ (function (NPCDialogType) {
14911
+ NPCDialogType["TextOnly"] = "TextOnly";
14912
+ NPCDialogType["TextAndThumbnail"] = "TextAndThumbnail";
14913
+ })(exports.NPCDialogType || (exports.NPCDialogType = {}));
14914
+ var NPCDialog = function NPCDialog(_ref) {
14915
+ var text = _ref.text,
14916
+ type = _ref.type,
14917
+ _onClose = _ref.onClose,
14918
+ imagePath = _ref.imagePath,
14919
+ _ref$isQuestionDialog = _ref.isQuestionDialog,
14920
+ isQuestionDialog = _ref$isQuestionDialog === void 0 ? false : _ref$isQuestionDialog,
14921
+ questions = _ref.questions,
14922
+ answers = _ref.answers;
14923
+ return React__default.createElement(RPGUIContainer, {
14924
+ type: exports.RPGUIContainerTypes.FramedGold,
14925
+ width: isQuestionDialog ? '600px' : '80%',
14926
+ height: '180px'
14927
+ }, isQuestionDialog && questions && answers ? React__default.createElement(React__default.Fragment, null, React__default.createElement(TextContainer$1, {
14928
+ flex: type === exports.NPCDialogType.TextAndThumbnail ? '70%' : '100%'
14929
+ }, React__default.createElement(QuestionDialog, {
14930
+ questions: questions,
14931
+ answers: answers,
14932
+ onClose: function onClose() {
14933
+ if (_onClose) {
14934
+ _onClose();
14935
+ }
14936
+ }
14937
+ })), type === exports.NPCDialogType.TextAndThumbnail && React__default.createElement(ThumbnailContainer, null, React__default.createElement(NPCThumbnail, {
14938
+ src: imagePath || img$7
14939
+ }))) : React__default.createElement(React__default.Fragment, null, React__default.createElement(Container$g, null, React__default.createElement(TextContainer$1, {
14940
+ flex: type === exports.NPCDialogType.TextAndThumbnail ? '70%' : '100%'
14941
+ }, React__default.createElement(NPCDialogText, {
14942
+ type: type,
14943
+ text: text || 'No text provided.',
14944
+ onClose: function onClose() {
14945
+ if (_onClose) {
14946
+ _onClose();
14947
+ }
14948
+ }
14949
+ })), type === exports.NPCDialogType.TextAndThumbnail && React__default.createElement(ThumbnailContainer, null, React__default.createElement(NPCThumbnail, {
14950
+ src: imagePath || img$7
14951
+ })))));
14952
+ };
14953
+ var Container$g = /*#__PURE__*/styled.div.withConfig({
14954
+ displayName: "NPCDialog__Container",
14955
+ componentId: "sc-1b4aw74-0"
14956
+ })(["display:flex;width:100%;height:100%;box-sizing:border-box;justify-content:center;align-items:flex-start;position:relative;"]);
14957
+ var TextContainer$1 = /*#__PURE__*/styled.div.withConfig({
14958
+ displayName: "NPCDialog__TextContainer",
14959
+ componentId: "sc-1b4aw74-1"
14960
+ })(["flex:", " 0 0;width:355px;"], function (_ref2) {
14961
+ var flex = _ref2.flex;
14962
+ return flex;
14963
+ });
14964
+ var ThumbnailContainer = /*#__PURE__*/styled.div.withConfig({
14965
+ displayName: "NPCDialog__ThumbnailContainer",
14966
+ componentId: "sc-1b4aw74-2"
14967
+ })(["flex:30% 0 0;display:flex;justify-content:flex-end;"]);
14968
+ var NPCThumbnail = /*#__PURE__*/styled.img.withConfig({
14969
+ displayName: "NPCDialog__NPCThumbnail",
14970
+ componentId: "sc-1b4aw74-3"
14971
+ })(["image-rendering:pixelated;height:128px;width:128px;"]);
14972
+
14973
+ (function (ImgSide) {
14974
+ ImgSide["right"] = "right";
14975
+ ImgSide["left"] = "left";
14976
+ })(exports.ImgSide || (exports.ImgSide = {}));
14977
+ var NPCMultiDialog = function NPCMultiDialog(_ref) {
14978
+ var _textAndTypeArray$sli;
14979
+ var _onClose = _ref.onClose,
14980
+ textAndTypeArray = _ref.textAndTypeArray;
14981
+ var _useState = React.useState(false),
14982
+ showGoNextIndicator = _useState[0],
14983
+ setShowGoNextIndicator = _useState[1];
14984
+ var _useState2 = React.useState(0),
14985
+ slide = _useState2[0],
14986
+ setSlide = _useState2[1];
14987
+ var onHandleSpacePress = function onHandleSpacePress(event) {
14988
+ if (event.code === 'Space') {
14989
+ if (slide < (textAndTypeArray == null ? void 0 : textAndTypeArray.length) - 1) {
14990
+ setSlide(function (prev) {
14991
+ return prev + 1;
14992
+ });
14993
+ } else {
14994
+ // if there's no more text chunks, close the dialog
14995
+ _onClose();
14996
+ }
14997
+ }
14998
+ };
14999
+ React.useEffect(function () {
15000
+ document.addEventListener('keydown', onHandleSpacePress);
15001
+ return function () {
15002
+ return document.removeEventListener('keydown', onHandleSpacePress);
15003
+ };
15004
+ }, [slide]);
15005
+ return React__default.createElement(RPGUIContainer, {
15006
+ type: exports.RPGUIContainerTypes.FramedGold,
15007
+ width: '50%',
15008
+ height: '180px'
15009
+ }, React__default.createElement(React__default.Fragment, null, React__default.createElement(Container$h, null, ((_textAndTypeArray$sli = textAndTypeArray[slide]) == null ? void 0 : _textAndTypeArray$sli.imageSide) === 'right' && React__default.createElement(React__default.Fragment, null, React__default.createElement(TextContainer$2, {
15010
+ flex: '70%'
15011
+ }, React__default.createElement(NPCDialogText, {
15012
+ onStartStep: function onStartStep() {
15013
+ return setShowGoNextIndicator(false);
15014
+ },
15015
+ onEndStep: function onEndStep() {
15016
+ return setShowGoNextIndicator(true);
15017
+ },
15018
+ text: textAndTypeArray[slide].text || 'No text provided.',
15019
+ onClose: function onClose() {
15020
+ if (_onClose) {
15021
+ _onClose();
15022
+ }
15023
+ }
15024
+ })), React__default.createElement(ThumbnailContainer$1, null, React__default.createElement(NPCThumbnail$1, {
15025
+ src: textAndTypeArray[slide].imagePath || img$7
15026
+ })), showGoNextIndicator && React__default.createElement(PressSpaceIndicator$1, {
15027
+ right: '10.5rem',
15028
+ src: img$6
15029
+ })), textAndTypeArray[slide].imageSide === 'left' && React__default.createElement(React__default.Fragment, null, React__default.createElement(ThumbnailContainer$1, null, React__default.createElement(NPCThumbnail$1, {
15030
+ src: textAndTypeArray[slide].imagePath || img$7
15031
+ })), React__default.createElement(TextContainer$2, {
15032
+ flex: '70%'
15033
+ }, React__default.createElement(NPCDialogText, {
15034
+ onStartStep: function onStartStep() {
15035
+ return setShowGoNextIndicator(false);
15036
+ },
15037
+ onEndStep: function onEndStep() {
15038
+ return setShowGoNextIndicator(true);
15039
+ },
15040
+ text: textAndTypeArray[slide].text || 'No text provided.',
15041
+ onClose: function onClose() {
15042
+ if (_onClose) {
15043
+ _onClose();
15044
+ }
15045
+ }
15046
+ })), showGoNextIndicator && React__default.createElement(PressSpaceIndicator$1, {
15047
+ right: '1rem',
15048
+ src: img$6
15049
+ }))), ")"));
15050
+ };
15051
+ var Container$h = /*#__PURE__*/styled.div.withConfig({
15052
+ displayName: "NPCMultiDialog__Container",
15053
+ componentId: "sc-rvu5wg-0"
15054
+ })(["display:flex;width:100%;height:100%;box-sizing:border-box;justify-content:center;align-items:flex-start;position:relative;"]);
15055
+ var TextContainer$2 = /*#__PURE__*/styled.div.withConfig({
15056
+ displayName: "NPCMultiDialog__TextContainer",
15057
+ componentId: "sc-rvu5wg-1"
15058
+ })(["flex:", " 0 0;width:355px;"], function (_ref2) {
15059
+ var flex = _ref2.flex;
15060
+ return flex;
15061
+ });
15062
+ var ThumbnailContainer$1 = /*#__PURE__*/styled.div.withConfig({
15063
+ displayName: "NPCMultiDialog__ThumbnailContainer",
15064
+ componentId: "sc-rvu5wg-2"
15065
+ })(["flex:30% 0 0;display:flex;justify-content:flex-end;"]);
15066
+ var NPCThumbnail$1 = /*#__PURE__*/styled.img.withConfig({
15067
+ displayName: "NPCMultiDialog__NPCThumbnail",
15068
+ componentId: "sc-rvu5wg-3"
15069
+ })(["image-rendering:pixelated;height:128px;width:128px;"]);
15070
+ var PressSpaceIndicator$1 = /*#__PURE__*/styled.img.withConfig({
15071
+ displayName: "NPCMultiDialog__PressSpaceIndicator",
15072
+ componentId: "sc-rvu5wg-4"
15073
+ })(["position:absolute;right:", ";bottom:1rem;height:20.7px;image-rendering:-webkit-optimize-contrast;"], function (_ref3) {
15074
+ var right = _ref3.right;
15075
+ return right;
15076
+ });
15077
+
15078
+ var HistoryDialog = function HistoryDialog(_ref) {
15079
+ var backgroundImgPath = _ref.backgroundImgPath,
15080
+ fullCoverBackground = _ref.fullCoverBackground,
15081
+ questions = _ref.questions,
15082
+ answers = _ref.answers,
15083
+ text = _ref.text,
15084
+ imagePath = _ref.imagePath,
15085
+ textAndTypeArray = _ref.textAndTypeArray,
15086
+ onClose = _ref.onClose;
15087
+ var _useState = React.useState(0),
15088
+ img = _useState[0],
15089
+ setImage = _useState[1];
15090
+ var onHandleSpacePress = function onHandleSpacePress(event) {
15091
+ if (event.code === 'Space') {
15092
+ if (img < (backgroundImgPath == null ? void 0 : backgroundImgPath.length) - 1) {
15093
+ setImage(function (prev) {
15094
+ return prev + 1;
15095
+ });
15096
+ } else {
15097
+ // if there's no more text chunks, close the dialog
15098
+ onClose();
15099
+ }
15100
+ }
15101
+ };
15102
+ React.useEffect(function () {
15103
+ document.addEventListener('keydown', onHandleSpacePress);
15104
+ return function () {
15105
+ return document.removeEventListener('keydown', onHandleSpacePress);
15106
+ };
15107
+ }, [backgroundImgPath]);
15108
+ return React__default.createElement(BackgroundContainer, {
15109
+ imgPath: backgroundImgPath[img],
15110
+ fullImg: fullCoverBackground
15111
+ }, React__default.createElement(DialogContainer, null, textAndTypeArray ? React__default.createElement(NPCMultiDialog, {
15112
+ textAndTypeArray: textAndTypeArray,
15113
+ onClose: onClose
15114
+ }) : questions && answers ? React__default.createElement(QuestionDialog, {
15115
+ questions: questions,
15116
+ answers: answers,
15117
+ onClose: onClose
15118
+ }) : text && imagePath ? React__default.createElement(NPCDialog, {
15119
+ text: text,
15120
+ imagePath: imagePath,
15121
+ onClose: onClose,
15122
+ type: exports.NPCDialogType.TextAndThumbnail
15123
+ }) : React__default.createElement(NPCDialog, {
15124
+ text: text,
15125
+ onClose: onClose,
15126
+ type: exports.NPCDialogType.TextOnly
15127
+ })));
15128
+ };
15129
+ var BackgroundContainer = /*#__PURE__*/styled.div.withConfig({
15130
+ displayName: "HistoryDialog__BackgroundContainer",
15131
+ componentId: "sc-u6oe75-0"
15132
+ })(["width:100%;height:100%;background-image:url(", ");background-size:", ";display:flex;justify-content:space-evenly;align-items:center;"], function (props) {
15133
+ return props.imgPath;
15134
+ }, function (props) {
15135
+ return props.imgPath ? 'cover' : 'auto';
15136
+ });
15137
+ var DialogContainer = /*#__PURE__*/styled.div.withConfig({
15138
+ displayName: "HistoryDialog__DialogContainer",
15139
+ componentId: "sc-u6oe75-1"
15140
+ })(["display:flex;justify-content:center;padding-top:200px;"]);
15141
+
15142
+ var SlotsContainer = function SlotsContainer(_ref) {
15143
+ var children = _ref.children,
15144
+ title = _ref.title,
15145
+ onClose = _ref.onClose,
15146
+ _onPositionChange = _ref.onPositionChange,
15147
+ _onPositionChangeEnd = _ref.onPositionChangeEnd,
15148
+ _onPositionChangeStart = _ref.onPositionChangeStart,
15149
+ onOutsideClick = _ref.onOutsideClick,
15150
+ initialPosition = _ref.initialPosition,
15151
+ scale = _ref.scale;
15152
+ return React__default.createElement(DraggableContainer, {
15153
+ title: title,
15154
+ type: exports.RPGUIContainerTypes.Framed,
15155
+ onCloseButton: function onCloseButton() {
15156
+ if (onClose) {
15157
+ onClose();
15158
+ }
15159
+ },
15160
+ width: "400px",
15161
+ cancelDrag: ".item-container-body, #shortcuts_list",
15162
+ onPositionChange: function onPositionChange(_ref2) {
15163
+ var x = _ref2.x,
15164
+ y = _ref2.y;
15165
+ if (_onPositionChange) {
15166
+ _onPositionChange({
15167
+ x: x,
15168
+ y: y
15169
+ });
15170
+ }
15171
+ },
15172
+ onPositionChangeEnd: function onPositionChangeEnd(_ref3) {
15173
+ var x = _ref3.x,
15174
+ y = _ref3.y;
15175
+ if (_onPositionChangeEnd) {
15176
+ _onPositionChangeEnd({
15177
+ x: x,
15178
+ y: y
15179
+ });
15180
+ }
15181
+ },
15182
+ onPositionChangeStart: function onPositionChangeStart(_ref4) {
15183
+ var x = _ref4.x,
15184
+ y = _ref4.y;
15185
+ if (_onPositionChangeStart) {
15186
+ _onPositionChangeStart({
15187
+ x: x,
15188
+ y: y
15189
+ });
15190
+ }
15191
+ },
15192
+ onOutsideClick: onOutsideClick,
15193
+ initialPosition: initialPosition,
15194
+ scale: scale
15195
+ }, children);
15196
+ };
15197
+
15198
+ (function (RangeSliderType) {
15199
+ RangeSliderType["Slider"] = "rpgui-slider";
15200
+ RangeSliderType["GoldSlider"] = "rpgui-slider golden";
15201
+ })(exports.RangeSliderType || (exports.RangeSliderType = {}));
15202
+ var RangeSlider = function RangeSlider(_ref) {
15203
+ var type = _ref.type,
15204
+ valueMin = _ref.valueMin,
15205
+ valueMax = _ref.valueMax,
15206
+ width = _ref.width,
15207
+ _onChange = _ref.onChange,
15208
+ value = _ref.value;
15209
+ var sliderId = uuid.v4();
15210
+ var containerRef = React.useRef(null);
15211
+ var _useState = React.useState(0),
15212
+ left = _useState[0],
15213
+ setLeft = _useState[1];
15214
+ React.useEffect(function () {
15215
+ var _containerRef$current;
15216
+ var calculatedWidth = ((_containerRef$current = containerRef.current) == null ? void 0 : _containerRef$current.clientWidth) || 0;
15217
+ setLeft(Math.max((value - valueMin) / (valueMax - valueMin) * (calculatedWidth - 35) + 10));
15218
+ }, [value, valueMin, valueMax]);
15219
+ var typeClass = type === exports.RangeSliderType.GoldSlider ? 'golden' : '';
15220
+ return React__default.createElement("div", {
15221
+ style: {
15222
+ width: width,
15223
+ position: 'relative'
15224
+ },
15225
+ className: "rpgui-slider-container " + typeClass,
15226
+ id: "rpgui-slider-" + sliderId,
15227
+ ref: containerRef
15228
+ }, React__default.createElement("div", {
15229
+ style: {
15230
+ pointerEvents: 'none'
15231
+ }
15232
+ }, React__default.createElement("div", {
15233
+ className: "rpgui-slider-track " + typeClass
15234
+ }), React__default.createElement("div", {
15235
+ className: "rpgui-slider-left-edge " + typeClass
15236
+ }), React__default.createElement("div", {
15237
+ className: "rpgui-slider-right-edge " + typeClass
15238
+ }), React__default.createElement("div", {
15239
+ className: "rpgui-slider-thumb " + typeClass,
15240
+ style: {
15241
+ left: left
15242
+ }
15243
+ })), React__default.createElement(Input$1, {
15244
+ type: "range",
15245
+ style: {
15246
+ width: width
15247
+ },
15248
+ min: valueMin,
15249
+ max: valueMax,
15250
+ onChange: function onChange(e) {
15251
+ return _onChange(Number(e.target.value));
15252
+ },
15253
+ value: value,
15254
+ className: "rpgui-cursor-point"
15255
+ }));
15256
+ };
15257
+ var Input$1 = /*#__PURE__*/styled.input.withConfig({
15258
+ displayName: "RangeSlider__Input",
15259
+ componentId: "sc-v8mte9-0"
15260
+ })(["opacity:0;position:absolute;width:100%;height:100%;top:0;left:0;margin-top:-5px;"]);
15261
+
15262
+ var ItemQuantitySelector = function ItemQuantitySelector(_ref) {
15263
+ var quantity = _ref.quantity,
15264
+ onConfirm = _ref.onConfirm,
15265
+ onClose = _ref.onClose;
15266
+ var _useState = React.useState(quantity),
15267
+ value = _useState[0],
15268
+ setValue = _useState[1];
15269
+ var inputRef = React.useRef(null);
15270
+ React.useEffect(function () {
15271
+ if (inputRef.current) {
15272
+ inputRef.current.focus();
15273
+ inputRef.current.select();
15274
+ var closeSelector = function closeSelector(e) {
15275
+ if (e.key === 'Escape') {
15276
+ onClose();
15277
+ }
15278
+ };
15279
+ document.addEventListener('keydown', closeSelector);
14742
15280
  return function () {
14743
15281
  document.removeEventListener('keydown', closeSelector);
14744
15282
  };
@@ -14846,7 +15384,7 @@ var ShortcutsSetter = function ShortcutsSetter(_ref) {
14846
15384
  return word[0];
14847
15385
  }));
14848
15386
  };
14849
- return React__default.createElement(Container$e, null, React__default.createElement("p", null, "Shortcuts:"), React__default.createElement(List, {
15387
+ return React__default.createElement(Container$i, null, React__default.createElement("p", null, "Shortcuts:"), React__default.createElement(List, {
14850
15388
  id: "shortcuts_list"
14851
15389
  }, Array.from({
14852
15390
  length: 6
@@ -14864,7 +15402,7 @@ var ShortcutsSetter = function ShortcutsSetter(_ref) {
14864
15402
  }, getContent(i));
14865
15403
  })));
14866
15404
  };
14867
- var Container$e = /*#__PURE__*/styled.div.withConfig({
15405
+ var Container$i = /*#__PURE__*/styled.div.withConfig({
14868
15406
  displayName: "ShortcutsSetter__Container",
14869
15407
  componentId: "sc-xuouuf-0"
14870
15408
  })(["p{margin:0;margin-left:0.5rem;}"]);
@@ -15111,7 +15649,7 @@ var ListMenu = function ListMenu(_ref) {
15111
15649
  onSelected = _ref.onSelected,
15112
15650
  x = _ref.x,
15113
15651
  y = _ref.y;
15114
- return React__default.createElement(Container$f, {
15652
+ return React__default.createElement(Container$j, {
15115
15653
  x: x,
15116
15654
  y: y
15117
15655
  }, React__default.createElement("ul", {
@@ -15128,7 +15666,7 @@ var ListMenu = function ListMenu(_ref) {
15128
15666
  }, (params == null ? void 0 : params.text) || 'No text');
15129
15667
  })));
15130
15668
  };
15131
- var Container$f = /*#__PURE__*/styled.div.withConfig({
15669
+ var Container$j = /*#__PURE__*/styled.div.withConfig({
15132
15670
  displayName: "ListMenu__Container",
15133
15671
  componentId: "sc-i9097t-0"
15134
15672
  })(["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) {
@@ -15147,7 +15685,7 @@ var Pager = function Pager(_ref) {
15147
15685
  itemsPerPage = _ref.itemsPerPage,
15148
15686
  onPageChange = _ref.onPageChange;
15149
15687
  var totalPages = Math.ceil(totalItems / itemsPerPage);
15150
- return React__default.createElement(Container$g, null, React__default.createElement("p", null, "Total items: ", totalItems), React__default.createElement(PagerContainer, null, React__default.createElement("button", {
15688
+ return React__default.createElement(Container$k, null, React__default.createElement("p", null, "Total items: ", totalItems), React__default.createElement(PagerContainer, null, React__default.createElement("button", {
15151
15689
  disabled: currentPage === 1,
15152
15690
  onPointerDown: function onPointerDown() {
15153
15691
  return onPageChange(Math.max(currentPage - 1, 1));
@@ -15161,7 +15699,7 @@ var Pager = function Pager(_ref) {
15161
15699
  }
15162
15700
  }, '>')));
15163
15701
  };
15164
- var Container$g = /*#__PURE__*/styled.div.withConfig({
15702
+ var Container$k = /*#__PURE__*/styled.div.withConfig({
15165
15703
  displayName: "Pager__Container",
15166
15704
  componentId: "sc-1ekmf50-0"
15167
15705
  })(["display:flex;flex-direction:column;align-items:center;p{margin:0;font-size:", ";}"], uiFonts.size.xsmall);
@@ -15174,7 +15712,7 @@ var ConfirmModal = function ConfirmModal(_ref) {
15174
15712
  var onConfirm = _ref.onConfirm,
15175
15713
  onClose = _ref.onClose,
15176
15714
  message = _ref.message;
15177
- return React__default.createElement(ModalPortal, null, React__default.createElement(Background, null), React__default.createElement(Container$h, {
15715
+ return React__default.createElement(ModalPortal, null, React__default.createElement(Background, null), React__default.createElement(Container$l, {
15178
15716
  onPointerDown: onClose
15179
15717
  }, React__default.createElement(DraggableContainer, {
15180
15718
  width: "auto",
@@ -15197,7 +15735,7 @@ var Background = /*#__PURE__*/styled.div.withConfig({
15197
15735
  displayName: "ConfirmModal__Background",
15198
15736
  componentId: "sc-11qkyu1-0"
15199
15737
  })(["position:absolute;width:100%;height:100%;background-color:#000000;opacity:0.5;left:0;top:0;z-index:1000;"]);
15200
- var Container$h = /*#__PURE__*/styled.div.withConfig({
15738
+ var Container$l = /*#__PURE__*/styled.div.withConfig({
15201
15739
  displayName: "ConfirmModal__Container",
15202
15740
  componentId: "sc-11qkyu1-1"
15203
15741
  })(["position:absolute;width:100%;height:100%;left:0;top:0;display:flex;justify-content:center;align-items:center;z-index:1001;"]);
@@ -15324,258 +15862,78 @@ var itemTypeOptions = /*#__PURE__*/['Type'].concat(Object.keys(shared.ItemSubTyp
15324
15862
  var itemRarityOptions = /*#__PURE__*/['Rarity'].concat(Object.values(shared.ItemRarities)).map(function (itemRarity, index) {
15325
15863
  return {
15326
15864
  id: index + 1,
15327
- value: itemRarity,
15328
- option: itemRarity
15329
- };
15330
- });
15331
- var orderByOptions = /*#__PURE__*/Object.values(OrderByType).flatMap(function (orderBy, index) {
15332
- return [{
15333
- id: index * 2 + 1,
15334
- value: orderBy.toLowerCase(),
15335
- option: React__default.createElement(React__default.Fragment, null, orderBy, ' ', React__default.createElement("span", {
15336
- style: {
15337
- transform: 'translateY(-2px)',
15338
- display: 'inline-block'
15339
- }
15340
- }, "\u2191"))
15341
- }, {
15342
- id: index * 2 + 2,
15343
- value: '-' + orderBy.toLowerCase(),
15344
- option: React__default.createElement(React__default.Fragment, null, orderBy, ' ', React__default.createElement("span", {
15345
- style: {
15346
- transform: 'translateY(-2px)',
15347
- display: 'inline-block'
15348
- }
15349
- }, "\u2193"))
15350
- }];
15351
- });
15352
-
15353
- var BuyPanel = function BuyPanel(_ref) {
15354
- var items = _ref.items,
15355
- atlasIMG = _ref.atlasIMG,
15356
- atlasJSON = _ref.atlasJSON,
15357
- onChangeType = _ref.onChangeType,
15358
- onChangeRarity = _ref.onChangeRarity,
15359
- onChangeOrder = _ref.onChangeOrder,
15360
- onChangeNameInput = _ref.onChangeNameInput,
15361
- onChangeMainLevelInput = _ref.onChangeMainLevelInput,
15362
- onChangeSecondaryLevelInput = _ref.onChangeSecondaryLevelInput,
15363
- onChangePriceInput = _ref.onChangePriceInput,
15364
- equipmentSet = _ref.equipmentSet,
15365
- onMarketPlaceItemBuy = _ref.onMarketPlaceItemBuy,
15366
- characterId = _ref.characterId,
15367
- enableHotkeys = _ref.enableHotkeys,
15368
- disableHotkeys = _ref.disableHotkeys,
15369
- currentPage = _ref.currentPage;
15370
- var _useState = React.useState(''),
15371
- name = _useState[0],
15372
- setName = _useState[1];
15373
- var _useState2 = React.useState([undefined, undefined]),
15374
- mainLevel = _useState2[0],
15375
- setMainLevel = _useState2[1];
15376
- var _useState3 = React.useState([undefined, undefined]),
15377
- secondaryLevel = _useState3[0],
15378
- setSecondaryLevel = _useState3[1];
15379
- var _useState4 = React.useState([undefined, undefined]),
15380
- price = _useState4[0],
15381
- setPrice = _useState4[1];
15382
- var _useState5 = React.useState(null),
15383
- buyingItemId = _useState5[0],
15384
- setBuyingItemId = _useState5[1];
15385
- var itemsContainer = React.useRef(null);
15386
- React.useEffect(function () {
15387
- var _itemsContainer$curre;
15388
- (_itemsContainer$curre = itemsContainer.current) == null ? void 0 : _itemsContainer$curre.scrollTo(0, 0);
15389
- }, [currentPage]);
15390
- return React__default.createElement(React__default.Fragment, null, buyingItemId && React__default.createElement(ConfirmModal, {
15391
- onClose: setBuyingItemId.bind(null, null),
15392
- onConfirm: function onConfirm() {
15393
- onMarketPlaceItemBuy == null ? void 0 : onMarketPlaceItemBuy(buyingItemId);
15394
- setBuyingItemId(null);
15395
- enableHotkeys == null ? void 0 : enableHotkeys();
15396
- },
15397
- message: "Are you sure to buy this item?"
15398
- }), React__default.createElement(InputWrapper, null, React__default.createElement("p", null, "Search By Name"), React__default.createElement(Input, {
15399
- onChange: function onChange(e) {
15400
- setName(e.target.value);
15401
- onChangeNameInput(e.target.value);
15402
- },
15403
- value: name,
15404
- placeholder: "Enter name...",
15405
- onBlur: enableHotkeys,
15406
- onFocus: disableHotkeys
15407
- })), React__default.createElement(OptionsWrapper, null, React__default.createElement(FilterInputsWrapper, null, React__default.createElement("div", null, React__default.createElement("p", null, "Main level"), React__default.createElement(Input, {
15408
- onChange: function onChange(e) {
15409
- setMainLevel([Number(e.target.value), mainLevel[1]]);
15410
- onChangeMainLevelInput([Number(e.target.value), mainLevel[1]]);
15411
- },
15412
- placeholder: "Min",
15413
- type: "number",
15414
- min: 0,
15415
- onBlur: enableHotkeys,
15416
- onFocus: disableHotkeys
15417
- }), React__default.createElement(ai.AiFillCaretRight, null), React__default.createElement(Input, {
15418
- onChange: function onChange(e) {
15419
- setMainLevel([mainLevel[0], Number(e.target.value)]);
15420
- onChangeMainLevelInput([mainLevel[0], Number(e.target.value)]);
15421
- },
15422
- placeholder: "Max",
15423
- type: "number",
15424
- min: 0,
15425
- onBlur: enableHotkeys,
15426
- onFocus: disableHotkeys
15427
- })), React__default.createElement("div", null, React__default.createElement("p", null, "Secondary level"), React__default.createElement(Input, {
15428
- onChange: function onChange(e) {
15429
- setSecondaryLevel([Number(e.target.value), secondaryLevel[1]]);
15430
- onChangeSecondaryLevelInput([Number(e.target.value), secondaryLevel[1]]);
15431
- },
15432
- placeholder: "Min",
15433
- type: "number",
15434
- min: 0,
15435
- onBlur: enableHotkeys,
15436
- onFocus: disableHotkeys
15437
- }), React__default.createElement(ai.AiFillCaretRight, null), React__default.createElement(Input, {
15438
- onChange: function onChange(e) {
15439
- setSecondaryLevel([secondaryLevel[0], Number(e.target.value)]);
15440
- onChangeSecondaryLevelInput([secondaryLevel[0], Number(e.target.value)]);
15441
- },
15442
- placeholder: "Max",
15443
- type: "number",
15444
- min: 0,
15445
- onBlur: enableHotkeys,
15446
- onFocus: disableHotkeys
15447
- })), React__default.createElement("div", null, React__default.createElement("p", null, "Price"), React__default.createElement(Input, {
15448
- onChange: function onChange(e) {
15449
- setPrice([Number(e.target.value), price[1]]);
15450
- onChangePriceInput([Number(e.target.value), price[1]]);
15451
- },
15452
- placeholder: "Min",
15453
- type: "number",
15454
- min: 0,
15455
- className: "big-input",
15456
- onBlur: enableHotkeys,
15457
- onFocus: disableHotkeys
15458
- }), React__default.createElement(ai.AiFillCaretRight, null), React__default.createElement(Input, {
15459
- onChange: function onChange(e) {
15460
- setPrice([price[0], Number(e.target.value)]);
15461
- onChangePriceInput([price[0], Number(e.target.value)]);
15462
- },
15463
- placeholder: "Max",
15464
- type: "number",
15465
- min: 0,
15466
- className: "big-input",
15467
- onBlur: enableHotkeys,
15468
- onFocus: disableHotkeys
15469
- }))), React__default.createElement(WrapperContainer, null, React__default.createElement(StyledDropdown, {
15470
- options: itemTypeOptions,
15471
- onChange: onChangeType,
15472
- width: "95%"
15473
- }), React__default.createElement(StyledDropdown, {
15474
- options: itemRarityOptions,
15475
- onChange: onChangeRarity,
15476
- width: "95%"
15477
- }), React__default.createElement(StyledDropdown, {
15478
- options: orderByOptions,
15479
- onChange: onChangeOrder,
15480
- width: "100%"
15481
- }))), React__default.createElement(ItemComponentScrollWrapper, {
15482
- id: "MarketContainer",
15483
- ref: itemsContainer
15484
- }, items == null ? void 0 : items.map(function (_ref2, index) {
15485
- var item = _ref2.item,
15486
- price = _ref2.price,
15487
- _id = _ref2._id,
15488
- owner = _ref2.owner;
15489
- return React__default.createElement(MarketplaceRows, {
15490
- key: item.key + "_" + index,
15491
- atlasIMG: atlasIMG,
15492
- atlasJSON: atlasJSON,
15493
- item: item,
15494
- itemPrice: price,
15495
- equipmentSet: equipmentSet,
15496
- onMarketPlaceItemBuy: setBuyingItemId.bind(null, _id),
15497
- disabled: owner === characterId
15498
- });
15499
- })));
15500
- };
15501
- var InputWrapper = /*#__PURE__*/styled.div.withConfig({
15502
- displayName: "BuyPanel__InputWrapper",
15503
- componentId: "sc-1si8t7i-0"
15504
- })(["width:95%;display:flex !important;justify-content:flex-start;align-items:center;margin:auto;p{width:auto;margin-right:20px;}input{width:68%;height:10px;}"]);
15505
- var OptionsWrapper = /*#__PURE__*/styled.div.withConfig({
15506
- displayName: "BuyPanel__OptionsWrapper",
15507
- componentId: "sc-1si8t7i-1"
15508
- })(["width:100%;height:100px;"]);
15509
- var FilterInputsWrapper = /*#__PURE__*/styled.div.withConfig({
15510
- displayName: "BuyPanel__FilterInputsWrapper",
15511
- componentId: "sc-1si8t7i-2"
15512
- })(["width:95%;display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;margin-left:10px;gap:5px;color:white;flex-wrap:wrap;p{width:auto;margin:0;}input{width:75px;height:10px;}.big-input{width:130px;}"]);
15513
- var WrapperContainer = /*#__PURE__*/styled.div.withConfig({
15514
- displayName: "BuyPanel__WrapperContainer",
15515
- componentId: "sc-1si8t7i-3"
15516
- })(["display:grid;grid-template-columns:40% 30% 30%;justify-content:space-between;width:calc(100% - 40px);margin-left:10px;.rpgui-content .rpgui-dropdown-imp-header{padding:0px 10px 0 !important;}"]);
15517
- var ItemComponentScrollWrapper = /*#__PURE__*/styled.div.withConfig({
15518
- displayName: "BuyPanel__ItemComponentScrollWrapper",
15519
- componentId: "sc-1si8t7i-4"
15520
- })(["overflow-y:scroll;height:390px;width:100%;margin-top:1rem;@media (max-width:950px){height:250px;}"]);
15521
- var StyledDropdown = /*#__PURE__*/styled(Dropdown).withConfig({
15522
- displayName: "BuyPanel__StyledDropdown",
15523
- componentId: "sc-1si8t7i-5"
15524
- })(["margin:3px !important;width:170px !important;"]);
15865
+ value: itemRarity,
15866
+ option: itemRarity
15867
+ };
15868
+ });
15869
+ var orderByOptions = /*#__PURE__*/Object.values(OrderByType).flatMap(function (orderBy, index) {
15870
+ return [{
15871
+ id: index * 2 + 1,
15872
+ value: orderBy.toLowerCase(),
15873
+ option: React__default.createElement(React__default.Fragment, null, orderBy, ' ', React__default.createElement("span", {
15874
+ style: {
15875
+ transform: 'translateY(-2px)',
15876
+ display: 'inline-block'
15877
+ }
15878
+ }, "\u2191"))
15879
+ }, {
15880
+ id: index * 2 + 2,
15881
+ value: '-' + orderBy.toLowerCase(),
15882
+ option: React__default.createElement(React__default.Fragment, null, orderBy, ' ', React__default.createElement("span", {
15883
+ style: {
15884
+ transform: 'translateY(-2px)',
15885
+ display: 'inline-block'
15886
+ }
15887
+ }, "\u2193"))
15888
+ }];
15889
+ });
15525
15890
 
15526
- var ManagmentPanel = function ManagmentPanel(_ref) {
15891
+ var BuyPanel = function BuyPanel(_ref) {
15527
15892
  var items = _ref.items,
15528
15893
  atlasIMG = _ref.atlasIMG,
15529
15894
  atlasJSON = _ref.atlasJSON,
15895
+ onChangeType = _ref.onChangeType,
15896
+ onChangeRarity = _ref.onChangeRarity,
15897
+ onChangeOrder = _ref.onChangeOrder,
15530
15898
  onChangeNameInput = _ref.onChangeNameInput,
15899
+ onChangeMainLevelInput = _ref.onChangeMainLevelInput,
15900
+ onChangeSecondaryLevelInput = _ref.onChangeSecondaryLevelInput,
15901
+ onChangePriceInput = _ref.onChangePriceInput,
15531
15902
  equipmentSet = _ref.equipmentSet,
15532
- availableGold = _ref.availableGold,
15533
- onMarketPlaceItemRemove = _ref.onMarketPlaceItemRemove,
15534
- selectedItemToSell = _ref.selectedItemToSell,
15535
- onSelectedItemToSellRemove = _ref.onSelectedItemToSellRemove,
15536
- onAddItemToMarketplace = _ref.onAddItemToMarketplace,
15903
+ onMarketPlaceItemBuy = _ref.onMarketPlaceItemBuy,
15904
+ characterId = _ref.characterId,
15537
15905
  enableHotkeys = _ref.enableHotkeys,
15538
15906
  disableHotkeys = _ref.disableHotkeys,
15539
- onMoneyWithdraw = _ref.onMoneyWithdraw,
15540
15907
  currentPage = _ref.currentPage;
15541
15908
  var _useState = React.useState(''),
15542
15909
  name = _useState[0],
15543
15910
  setName = _useState[1];
15544
- var _useState2 = React.useState(''),
15545
- price = _useState2[0],
15546
- setPrice = _useState2[1];
15547
- var _useState3 = React.useState(false),
15548
- isCreatingOffer = _useState3[0],
15549
- setIsCreatingOffer = _useState3[1];
15550
- var _useState4 = React.useState(null),
15551
- removingItemId = _useState4[0],
15552
- setRemovingItemId = _useState4[1];
15911
+ var _useState2 = React.useState([undefined, undefined]),
15912
+ mainLevel = _useState2[0],
15913
+ setMainLevel = _useState2[1];
15914
+ var _useState3 = React.useState([undefined, undefined]),
15915
+ secondaryLevel = _useState3[0],
15916
+ setSecondaryLevel = _useState3[1];
15917
+ var _useState4 = React.useState([undefined, undefined]),
15918
+ price = _useState4[0],
15919
+ setPrice = _useState4[1];
15920
+ var _useState5 = React.useState(null),
15921
+ buyingItemId = _useState5[0],
15922
+ setBuyingItemId = _useState5[1];
15553
15923
  var itemsContainer = React.useRef(null);
15554
15924
  React.useEffect(function () {
15555
15925
  var _itemsContainer$curre;
15556
15926
  (_itemsContainer$curre = itemsContainer.current) == null ? void 0 : _itemsContainer$curre.scrollTo(0, 0);
15557
15927
  }, [currentPage]);
15558
- return React__default.createElement(React__default.Fragment, null, isCreatingOffer && React__default.createElement(ConfirmModal, {
15559
- onClose: setIsCreatingOffer.bind(null, false),
15560
- onConfirm: function onConfirm() {
15561
- if (selectedItemToSell && price && Number(price)) {
15562
- onAddItemToMarketplace(selectedItemToSell, Number(price));
15563
- setPrice('');
15564
- onSelectedItemToSellRemove(selectedItemToSell);
15565
- setIsCreatingOffer(false);
15566
- enableHotkeys == null ? void 0 : enableHotkeys();
15567
- }
15568
- },
15569
- message: "Are you sure to create this offer?"
15570
- }), removingItemId && React__default.createElement(ConfirmModal, {
15571
- onClose: setRemovingItemId.bind(null, null),
15928
+ return React__default.createElement(React__default.Fragment, null, buyingItemId && React__default.createElement(ConfirmModal, {
15929
+ onClose: setBuyingItemId.bind(null, null),
15572
15930
  onConfirm: function onConfirm() {
15573
- onMarketPlaceItemRemove == null ? void 0 : onMarketPlaceItemRemove(removingItemId);
15574
- setRemovingItemId(null);
15931
+ onMarketPlaceItemBuy == null ? void 0 : onMarketPlaceItemBuy(buyingItemId);
15932
+ setBuyingItemId(null);
15575
15933
  enableHotkeys == null ? void 0 : enableHotkeys();
15576
15934
  },
15577
- message: "Are you sure to remove this item?"
15578
- }), React__default.createElement(InputWrapper$1, null, React__default.createElement("p", null, "Search By Name"), React__default.createElement(Input, {
15935
+ message: "Are you sure to buy this item?"
15936
+ }), React__default.createElement(InputWrapper, null, React__default.createElement("p", null, "Search By Name"), React__default.createElement(Input, {
15579
15937
  onChange: function onChange(e) {
15580
15938
  setName(e.target.value);
15581
15939
  onChangeNameInput(e.target.value);
@@ -15584,455 +15942,310 @@ var ManagmentPanel = function ManagmentPanel(_ref) {
15584
15942
  placeholder: "Enter name...",
15585
15943
  onBlur: enableHotkeys,
15586
15944
  onFocus: disableHotkeys
15587
- })), React__default.createElement(OptionsWrapper$1, null, React__default.createElement(InnerOptionsWrapper, null, React__default.createElement(SellDescription, null, "Click on item in inventory to sell it"), React__default.createElement(Flex$2, null, React__default.createElement(ItemSlot, {
15588
- slotIndex: 0,
15589
- atlasIMG: atlasIMG,
15590
- atlasJSON: atlasJSON,
15591
- onPointerDown: function onPointerDown(_, __, item) {
15592
- return onSelectedItemToSellRemove(item);
15593
- },
15594
- item: selectedItemToSell
15595
- }), React__default.createElement(PriceInputWrapper, null, React__default.createElement("p", null, "Enter price"), React__default.createElement(Flex$2, null, React__default.createElement(Input, {
15945
+ })), React__default.createElement(OptionsWrapper, null, React__default.createElement(FilterInputsWrapper, null, React__default.createElement("div", null, React__default.createElement("p", null, "Main level"), React__default.createElement(Input, {
15596
15946
  onChange: function onChange(e) {
15597
- setPrice(e.target.value);
15598
- },
15599
- value: price,
15600
- placeholder: "Enter price...",
15601
- type: "number",
15602
- disabled: !selectedItemToSell,
15603
- onBlur: enableHotkeys,
15604
- onFocus: disableHotkeys
15605
- }), React__default.createElement(Button, {
15606
- buttonType: exports.ButtonTypes.RPGUIButton,
15607
- disabled: !selectedItemToSell || !price,
15608
- onPointerDown: function onPointerDown() {
15609
- if (selectedItemToSell && price && Number(price)) {
15610
- setIsCreatingOffer(true);
15611
- }
15612
- }
15613
- }, "Create offer"))))), React__default.createElement(InnerOptionsWrapper, null, React__default.createElement(AvailableGold, {
15614
- "$disabled": availableGold === 0
15615
- }, React__default.createElement("p", null, "Available gold"), React__default.createElement("p", {
15616
- className: "center"
15617
- }, "$", availableGold), React__default.createElement(Button, {
15618
- buttonType: exports.ButtonTypes.RPGUIButton,
15619
- disabled: availableGold === 0,
15620
- onPointerDown: function onPointerDown() {
15621
- return availableGold > 0 && onMoneyWithdraw();
15622
- }
15623
- }, "Withdraw")))), React__default.createElement(ItemComponentScrollWrapper$1, {
15624
- id: "MarketContainer",
15625
- ref: itemsContainer
15626
- }, items == null ? void 0 : items.map(function (_ref2, index) {
15627
- var item = _ref2.item,
15628
- price = _ref2.price,
15629
- _id = _ref2._id;
15630
- return React__default.createElement(MarketplaceRows, {
15631
- key: item.key + "_" + index,
15632
- atlasIMG: atlasIMG,
15633
- atlasJSON: atlasJSON,
15634
- item: item,
15635
- itemPrice: price,
15636
- equipmentSet: equipmentSet,
15637
- onMarketPlaceItemRemove: setRemovingItemId.bind(null, _id)
15638
- });
15639
- })));
15640
- };
15641
- var Flex$2 = /*#__PURE__*/styled.div.withConfig({
15642
- displayName: "ManagmentPanel__Flex",
15643
- componentId: "sc-1yyi6jn-0"
15644
- })(["display:flex;gap:5px;align-items:center;"]);
15645
- var InputWrapper$1 = /*#__PURE__*/styled.div.withConfig({
15646
- displayName: "ManagmentPanel__InputWrapper",
15647
- componentId: "sc-1yyi6jn-1"
15648
- })(["width:95%;display:flex !important;justify-content:flex-start;align-items:center;margin:auto;p{width:auto;margin-right:20px;}input{width:68%;height:10px;}"]);
15649
- var OptionsWrapper$1 = /*#__PURE__*/styled.div.withConfig({
15650
- displayName: "ManagmentPanel__OptionsWrapper",
15651
- componentId: "sc-1yyi6jn-2"
15652
- })(["width:100%;height:100px;display:flex;align-items:center;justify-content:space-around;"]);
15653
- var InnerOptionsWrapper = /*#__PURE__*/styled.div.withConfig({
15654
- displayName: "ManagmentPanel__InnerOptionsWrapper",
15655
- componentId: "sc-1yyi6jn-3"
15656
- })(["display:flex;justify-content:space-between;flex-direction:column;height:100%;"]);
15657
- var ItemComponentScrollWrapper$1 = /*#__PURE__*/styled.div.withConfig({
15658
- displayName: "ManagmentPanel__ItemComponentScrollWrapper",
15659
- componentId: "sc-1yyi6jn-4"
15660
- })(["overflow-y:scroll;height:390px;width:100%;margin-top:1rem;@media (max-width:950px){height:250px;}"]);
15661
- var PriceInputWrapper = /*#__PURE__*/styled.div.withConfig({
15662
- displayName: "ManagmentPanel__PriceInputWrapper",
15663
- componentId: "sc-1yyi6jn-5"
15664
- })(["p{margin:0;}input{width:200px;}"]);
15665
- var SellDescription = /*#__PURE__*/styled.p.withConfig({
15666
- displayName: "ManagmentPanel__SellDescription",
15667
- componentId: "sc-1yyi6jn-6"
15668
- })(["margin:0;font-size:", " !important;"], uiFonts.size.xsmall);
15669
- var AvailableGold = /*#__PURE__*/styled.div.withConfig({
15670
- displayName: "ManagmentPanel__AvailableGold",
15671
- componentId: "sc-1yyi6jn-7"
15672
- })(["height:100%;display:flex;flex-direction:column;justify-content:space-between;p{margin:0;color:", " !important;}.center{text-align:center;font-size:", " !important;color:", " !important;}"], function (props) {
15673
- return props.$disabled ? uiColors.lightGray : 'white';
15674
- }, uiFonts.size.large, function (props) {
15675
- return props.$disabled ? uiColors.lightGray : uiColors.lightGreen;
15676
- });
15677
-
15678
- var Marketplace = function Marketplace(props) {
15679
- var onClose = props.onClose,
15680
- scale = props.scale,
15681
- onYourPanelToggle = props.onYourPanelToggle;
15682
- var _useState = React.useState(false),
15683
- isYourPanel = _useState[0],
15684
- setIsYourPanel = _useState[1];
15685
- return React__default.createElement(DraggableContainer, {
15686
- type: exports.RPGUIContainerTypes.Framed,
15687
- onCloseButton: function onCloseButton() {
15688
- if (onClose) onClose();
15947
+ setMainLevel([Number(e.target.value), mainLevel[1]]);
15948
+ onChangeMainLevelInput([Number(e.target.value), mainLevel[1]]);
15689
15949
  },
15690
- width: "800px",
15691
- cancelDrag: "#MarketContainer, .rpgui-dropdown-imp, input, .empty-slot, button",
15692
- scale: scale
15693
- }, isYourPanel && React__default.createElement(React__default.Fragment, null, React__default.createElement(ManagmentPanel, Object.assign({}, props)), React__default.createElement(PagerContainer$1, null, React__default.createElement(Button, {
15694
- buttonType: exports.ButtonTypes.RPGUIButton,
15695
- onPointerDown: function onPointerDown() {
15696
- onYourPanelToggle(false);
15697
- setIsYourPanel(false);
15698
- }
15699
- }, "Go to marketplace"), React__default.createElement(Pager, Object.assign({}, props)))), !isYourPanel && React__default.createElement(React__default.Fragment, null, React__default.createElement(BuyPanel, Object.assign({}, props)), React__default.createElement(PagerContainer$1, null, React__default.createElement(Button, {
15700
- buttonType: exports.ButtonTypes.RPGUIButton,
15701
- onPointerDown: function onPointerDown() {
15702
- onYourPanelToggle(true);
15703
- setIsYourPanel(true);
15704
- }
15705
- }, "Go to your panel"), React__default.createElement(Pager, Object.assign({}, props)))));
15706
- };
15707
- var PagerContainer$1 = /*#__PURE__*/styled.div.withConfig({
15708
- displayName: "Marketplace__PagerContainer",
15709
- componentId: "sc-h904b1-0"
15710
- })(["display:flex;justify-content:space-between;align-items:center;width:calc(100% - 30px);"]);
15711
-
15712
- var img$5 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAP1BMVEUAAAA7FyVxQTsUEBPj5v////+5v/tCJDOOUlIiHBr1oJfptaO6dWr61rhzFy1bMTjoanMUNGQoXMQkn97+88DQ3IhAAAAAAXRSTlMAQObYZgAAAAFiS0dEBfhv6ccAAAAHdElNRQfmAw4VOBC7c5LYAAABM0lEQVQ4y3XRi5KDIAwFUAUkbrBgpP//rZsHVHQ009qZ3tPboNN0zmwzvcw8O5sX4y0NOg/Et3jRCXF+ziULorjkOQ9gE24dvuUAzq08DiCO4pe3WN7zCP56vmpubBReQYC11YPS86ySxxCsAABTSgjb5m4g8nfbxvFHBkH2OEEvAItVuCuIsgGgl+Gcr7kDXxhEAx55A2SQEEeQeZwUaIP8Tbo05B0RFPhItAjgj1w6cDnhLluDj+Egkh3pCCP4pKQAw1IPO0W9Nti5gW9RP2dKA3BZd2Dw+baYX+Nt4GM00O4S3kEpF6Alb2Bv4LeC3kkGfAW0/p0RPoJVKr63ghHsKuRh5DIUKOAlGOwrtt9fQekAEfmhZslHUDoglB0zjfkJigN7UnTQQ4GBWomoVhEN/AOPSBh38gy+fwAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyMi0wMy0xNFQyMTo1NTo1MSswMDowMJcc0eEAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjItMDMtMTRUMjE6NTU6NTErMDA6MDDmQWldAAAAAElFTkSuQmCC';
15713
-
15714
- var img$6 = 'data:image/gif;base64,R0lGODlhQAAgAPIAAAAAAA0NDRERESIiIigoKFlZWf///wAAACH/C05FVFNDQVBFMi4wAwEAAAAh/wtJbWFnZU1hZ2ljaw5nYW1tYT0wLjQ1NDU0NQAh+QQBFAAAACwAAAAAQAAgAAAD/wi63P4wykmrvTjrzbv/YAgIZGmeaKquakQWcCzPdG3fNukIeO//PQGDBywafcIF8chswpKKZcxApTqvNOiIZi0YsODncFaFlcNOrdTbJVff0/c3Lp/Xs2N37cy2ndt6ZnhKXHdsc4d7VnwyfIxqPWWOXXWLgHSGYoSNbZKVZp2WiJyjg1GFcaClqaqJhasyUAFrh3Cur3KqubWXBQIBAAEDtDeMaEEDAcLEx2gCycvN0jHPysPT09XR2M3a19zH3gTM4EYCBNDD4yzs7e4r48nB6gT19vf4+fr7/P3P8sKGvRtIkMUAeQoCHlzIsKHDhxAjSoTWQJnFixgzatzIsQWjRQYJAAAh/wtJbWFnZU1hZ2ljaw5nYW1tYT0wLjQ1NDU0NQAh+QQBFAAAACwAAAAAQAAgAAAD8Ai63P4wykmrvTjrzbv/YCiOlGCeaKqubMtGZiHPdG3feI6bjqD/wOBPwPAJj0ggcWFMOp+ypaI5M1it0KxNCqDKsAWDdhwt1q5fMPnJ9aJt17g4HafJ3/et+Tzn99V+aThqfTNtcHlhhIBVWG+BdDSHOmiPeHdij3aYhZONf46YkZGanzpSAV6KjaOIpqWtNwIBAAEDqqKKhZuJnHSwAgMBtqo5sGs5wcO3yM01ysTO0gXQzNPN1cXXUNnbyNna3kcmwrW3Lujp6ugD5bbn6/HyLe20Cu/t+fr7/P3+/wCF2VswrKDBgwgTKlzIsCCDBAA7';
15715
-
15716
- (function (ImgSide) {
15717
- ImgSide["right"] = "right";
15718
- ImgSide["left"] = "left";
15719
- })(exports.ImgSide || (exports.ImgSide = {}));
15720
- var NPCMultiDialog = function NPCMultiDialog(_ref) {
15721
- var _textAndTypeArray$sli;
15722
- var _onClose = _ref.onClose,
15723
- textAndTypeArray = _ref.textAndTypeArray;
15724
- var _useState = React.useState(false),
15725
- showGoNextIndicator = _useState[0],
15726
- setShowGoNextIndicator = _useState[1];
15727
- var _useState2 = React.useState(0),
15728
- slide = _useState2[0],
15729
- setSlide = _useState2[1];
15730
- var onHandleSpacePress = function onHandleSpacePress(event) {
15731
- if (event.code === 'Space') {
15732
- if (slide < (textAndTypeArray == null ? void 0 : textAndTypeArray.length) - 1) {
15733
- setSlide(function (prev) {
15734
- return prev + 1;
15735
- });
15736
- } else {
15737
- // if there's no more text chunks, close the dialog
15738
- _onClose();
15739
- }
15740
- }
15741
- };
15742
- React.useEffect(function () {
15743
- document.addEventListener('keydown', onHandleSpacePress);
15744
- return function () {
15745
- return document.removeEventListener('keydown', onHandleSpacePress);
15746
- };
15747
- }, [slide]);
15748
- return React__default.createElement(RPGUIContainer, {
15749
- type: exports.RPGUIContainerTypes.FramedGold,
15750
- width: '50%',
15751
- height: '180px'
15752
- }, React__default.createElement(React__default.Fragment, null, React__default.createElement(Container$i, null, ((_textAndTypeArray$sli = textAndTypeArray[slide]) == null ? void 0 : _textAndTypeArray$sli.imageSide) === 'right' && React__default.createElement(React__default.Fragment, null, React__default.createElement(TextContainer, {
15753
- flex: '70%'
15754
- }, React__default.createElement(NPCDialogText, {
15755
- onStartStep: function onStartStep() {
15756
- return setShowGoNextIndicator(false);
15950
+ placeholder: "Min",
15951
+ type: "number",
15952
+ min: 0,
15953
+ onBlur: enableHotkeys,
15954
+ onFocus: disableHotkeys
15955
+ }), React__default.createElement(ai.AiFillCaretRight, null), React__default.createElement(Input, {
15956
+ onChange: function onChange(e) {
15957
+ setMainLevel([mainLevel[0], Number(e.target.value)]);
15958
+ onChangeMainLevelInput([mainLevel[0], Number(e.target.value)]);
15757
15959
  },
15758
- onEndStep: function onEndStep() {
15759
- return setShowGoNextIndicator(true);
15960
+ placeholder: "Max",
15961
+ type: "number",
15962
+ min: 0,
15963
+ onBlur: enableHotkeys,
15964
+ onFocus: disableHotkeys
15965
+ })), React__default.createElement("div", null, React__default.createElement("p", null, "Secondary level"), React__default.createElement(Input, {
15966
+ onChange: function onChange(e) {
15967
+ setSecondaryLevel([Number(e.target.value), secondaryLevel[1]]);
15968
+ onChangeSecondaryLevelInput([Number(e.target.value), secondaryLevel[1]]);
15760
15969
  },
15761
- text: textAndTypeArray[slide].text || 'No text provided.',
15762
- onClose: function onClose() {
15763
- if (_onClose) {
15764
- _onClose();
15765
- }
15766
- }
15767
- })), React__default.createElement(ThumbnailContainer, null, React__default.createElement(NPCThumbnail, {
15768
- src: textAndTypeArray[slide].imagePath || img$5
15769
- })), showGoNextIndicator && React__default.createElement(PressSpaceIndicator, {
15770
- right: '10.5rem',
15771
- src: img$6
15772
- })), textAndTypeArray[slide].imageSide === 'left' && React__default.createElement(React__default.Fragment, null, React__default.createElement(ThumbnailContainer, null, React__default.createElement(NPCThumbnail, {
15773
- src: textAndTypeArray[slide].imagePath || img$5
15774
- })), React__default.createElement(TextContainer, {
15775
- flex: '70%'
15776
- }, React__default.createElement(NPCDialogText, {
15777
- onStartStep: function onStartStep() {
15778
- return setShowGoNextIndicator(false);
15970
+ placeholder: "Min",
15971
+ type: "number",
15972
+ min: 0,
15973
+ onBlur: enableHotkeys,
15974
+ onFocus: disableHotkeys
15975
+ }), React__default.createElement(ai.AiFillCaretRight, null), React__default.createElement(Input, {
15976
+ onChange: function onChange(e) {
15977
+ setSecondaryLevel([secondaryLevel[0], Number(e.target.value)]);
15978
+ onChangeSecondaryLevelInput([secondaryLevel[0], Number(e.target.value)]);
15779
15979
  },
15780
- onEndStep: function onEndStep() {
15781
- return setShowGoNextIndicator(true);
15980
+ placeholder: "Max",
15981
+ type: "number",
15982
+ min: 0,
15983
+ onBlur: enableHotkeys,
15984
+ onFocus: disableHotkeys
15985
+ })), React__default.createElement("div", null, React__default.createElement("p", null, "Price"), React__default.createElement(Input, {
15986
+ onChange: function onChange(e) {
15987
+ setPrice([Number(e.target.value), price[1]]);
15988
+ onChangePriceInput([Number(e.target.value), price[1]]);
15782
15989
  },
15783
- text: textAndTypeArray[slide].text || 'No text provided.',
15784
- onClose: function onClose() {
15785
- if (_onClose) {
15786
- _onClose();
15787
- }
15788
- }
15789
- })), showGoNextIndicator && React__default.createElement(PressSpaceIndicator, {
15790
- right: '1rem',
15791
- src: img$6
15792
- }))), ")"));
15793
- };
15794
- var Container$i = /*#__PURE__*/styled.div.withConfig({
15795
- displayName: "NPCMultiDialog__Container",
15796
- componentId: "sc-rvu5wg-0"
15797
- })(["display:flex;width:100%;height:100%;box-sizing:border-box;justify-content:center;align-items:flex-start;position:relative;"]);
15798
- var TextContainer = /*#__PURE__*/styled.div.withConfig({
15799
- displayName: "NPCMultiDialog__TextContainer",
15800
- componentId: "sc-rvu5wg-1"
15801
- })(["flex:", " 0 0;width:355px;"], function (_ref2) {
15802
- var flex = _ref2.flex;
15803
- return flex;
15804
- });
15805
- var ThumbnailContainer = /*#__PURE__*/styled.div.withConfig({
15806
- displayName: "NPCMultiDialog__ThumbnailContainer",
15807
- componentId: "sc-rvu5wg-2"
15808
- })(["flex:30% 0 0;display:flex;justify-content:flex-end;"]);
15809
- var NPCThumbnail = /*#__PURE__*/styled.img.withConfig({
15810
- displayName: "NPCMultiDialog__NPCThumbnail",
15811
- componentId: "sc-rvu5wg-3"
15812
- })(["image-rendering:pixelated;height:128px;width:128px;"]);
15813
- var PressSpaceIndicator = /*#__PURE__*/styled.img.withConfig({
15814
- displayName: "NPCMultiDialog__PressSpaceIndicator",
15815
- componentId: "sc-rvu5wg-4"
15816
- })(["position:absolute;right:", ";bottom:1rem;height:20.7px;image-rendering:-webkit-optimize-contrast;"], function (_ref3) {
15817
- var right = _ref3.right;
15818
- return right;
15819
- });
15820
-
15821
- //@ts-ignore
15822
- var useEventListener = function useEventListener(type, handler, el) {
15823
- if (el === void 0) {
15824
- el = window;
15825
- }
15826
- var savedHandler = React__default.useRef();
15827
- React__default.useEffect(function () {
15828
- savedHandler.current = handler;
15829
- }, [handler]);
15830
- React__default.useEffect(function () {
15831
- //@ts-ignore
15832
- var listener = function listener(e) {
15833
- return savedHandler.current(e);
15834
- };
15835
- el.addEventListener(type, listener);
15836
- return function () {
15837
- el.removeEventListener(type, listener);
15838
- };
15839
- }, [type, el]);
15990
+ placeholder: "Min",
15991
+ type: "number",
15992
+ min: 0,
15993
+ className: "big-input",
15994
+ onBlur: enableHotkeys,
15995
+ onFocus: disableHotkeys
15996
+ }), React__default.createElement(ai.AiFillCaretRight, null), React__default.createElement(Input, {
15997
+ onChange: function onChange(e) {
15998
+ setPrice([price[0], Number(e.target.value)]);
15999
+ onChangePriceInput([price[0], Number(e.target.value)]);
16000
+ },
16001
+ placeholder: "Max",
16002
+ type: "number",
16003
+ min: 0,
16004
+ className: "big-input",
16005
+ onBlur: enableHotkeys,
16006
+ onFocus: disableHotkeys
16007
+ }))), React__default.createElement(WrapperContainer, null, React__default.createElement(StyledDropdown, {
16008
+ options: itemTypeOptions,
16009
+ onChange: onChangeType,
16010
+ width: "95%"
16011
+ }), React__default.createElement(StyledDropdown, {
16012
+ options: itemRarityOptions,
16013
+ onChange: onChangeRarity,
16014
+ width: "95%"
16015
+ }), React__default.createElement(StyledDropdown, {
16016
+ options: orderByOptions,
16017
+ onChange: onChangeOrder,
16018
+ width: "100%"
16019
+ }))), React__default.createElement(ItemComponentScrollWrapper, {
16020
+ id: "MarketContainer",
16021
+ ref: itemsContainer
16022
+ }, items == null ? void 0 : items.map(function (_ref2, index) {
16023
+ var item = _ref2.item,
16024
+ price = _ref2.price,
16025
+ _id = _ref2._id,
16026
+ owner = _ref2.owner;
16027
+ return React__default.createElement(MarketplaceRows, {
16028
+ key: item.key + "_" + index,
16029
+ atlasIMG: atlasIMG,
16030
+ atlasJSON: atlasJSON,
16031
+ item: item,
16032
+ itemPrice: price,
16033
+ equipmentSet: equipmentSet,
16034
+ onMarketPlaceItemBuy: setBuyingItemId.bind(null, _id),
16035
+ disabled: owner === characterId
16036
+ });
16037
+ })));
15840
16038
  };
16039
+ var InputWrapper = /*#__PURE__*/styled.div.withConfig({
16040
+ displayName: "BuyPanel__InputWrapper",
16041
+ componentId: "sc-1si8t7i-0"
16042
+ })(["width:95%;display:flex !important;justify-content:flex-start;align-items:center;margin:auto;p{width:auto;margin-right:20px;}input{width:68%;height:10px;}"]);
16043
+ var OptionsWrapper = /*#__PURE__*/styled.div.withConfig({
16044
+ displayName: "BuyPanel__OptionsWrapper",
16045
+ componentId: "sc-1si8t7i-1"
16046
+ })(["width:100%;height:100px;"]);
16047
+ var FilterInputsWrapper = /*#__PURE__*/styled.div.withConfig({
16048
+ displayName: "BuyPanel__FilterInputsWrapper",
16049
+ componentId: "sc-1si8t7i-2"
16050
+ })(["width:95%;display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;margin-left:10px;gap:5px;color:white;flex-wrap:wrap;p{width:auto;margin:0;}input{width:75px;height:10px;}.big-input{width:130px;}"]);
16051
+ var WrapperContainer = /*#__PURE__*/styled.div.withConfig({
16052
+ displayName: "BuyPanel__WrapperContainer",
16053
+ componentId: "sc-1si8t7i-3"
16054
+ })(["display:grid;grid-template-columns:40% 30% 30%;justify-content:space-between;width:calc(100% - 40px);margin-left:10px;.rpgui-content .rpgui-dropdown-imp-header{padding:0px 10px 0 !important;}"]);
16055
+ var ItemComponentScrollWrapper = /*#__PURE__*/styled.div.withConfig({
16056
+ displayName: "BuyPanel__ItemComponentScrollWrapper",
16057
+ componentId: "sc-1si8t7i-4"
16058
+ })(["overflow-y:scroll;height:390px;width:100%;margin-top:1rem;@media (max-width:950px){height:250px;}"]);
16059
+ var StyledDropdown = /*#__PURE__*/styled(Dropdown).withConfig({
16060
+ displayName: "BuyPanel__StyledDropdown",
16061
+ componentId: "sc-1si8t7i-5"
16062
+ })(["margin:3px !important;width:170px !important;"]);
15841
16063
 
15842
- var DynamicText = function DynamicText(_ref) {
15843
- var text = _ref.text,
15844
- onFinish = _ref.onFinish,
15845
- onStart = _ref.onStart;
16064
+ var ManagmentPanel = function ManagmentPanel(_ref) {
16065
+ var items = _ref.items,
16066
+ atlasIMG = _ref.atlasIMG,
16067
+ atlasJSON = _ref.atlasJSON,
16068
+ onChangeNameInput = _ref.onChangeNameInput,
16069
+ equipmentSet = _ref.equipmentSet,
16070
+ availableGold = _ref.availableGold,
16071
+ onMarketPlaceItemRemove = _ref.onMarketPlaceItemRemove,
16072
+ selectedItemToSell = _ref.selectedItemToSell,
16073
+ onSelectedItemToSellRemove = _ref.onSelectedItemToSellRemove,
16074
+ onAddItemToMarketplace = _ref.onAddItemToMarketplace,
16075
+ enableHotkeys = _ref.enableHotkeys,
16076
+ disableHotkeys = _ref.disableHotkeys,
16077
+ onMoneyWithdraw = _ref.onMoneyWithdraw,
16078
+ currentPage = _ref.currentPage;
15846
16079
  var _useState = React.useState(''),
15847
- textState = _useState[0],
15848
- setTextState = _useState[1];
15849
- React.useEffect(function () {
15850
- var i = 0;
15851
- var interval = setInterval(function () {
15852
- // on every interval, show one more character
15853
- if (i === 0) {
15854
- if (onStart) {
15855
- onStart();
15856
- }
15857
- }
15858
- if (i < text.length) {
15859
- setTextState(text.substring(0, i + 1));
15860
- i++;
15861
- } else {
15862
- clearInterval(interval);
15863
- if (onFinish) {
15864
- onFinish();
15865
- }
15866
- }
15867
- }, 50);
15868
- return function () {
15869
- clearInterval(interval);
15870
- };
15871
- }, [text]);
15872
- return React__default.createElement(TextContainer$1, null, textState);
15873
- };
15874
- var TextContainer$1 = /*#__PURE__*/styled.p.withConfig({
15875
- displayName: "DynamicText__TextContainer",
15876
- componentId: "sc-1ggl9nd-0"
15877
- })(["font-size:0.7rem !important;color:white;text-shadow:1px 1px 0px #000000;letter-spacing:1.2px;word-break:normal;"]);
15878
-
15879
- var QuestionDialog = function QuestionDialog(_ref) {
15880
- var questions = _ref.questions,
15881
- answers = _ref.answers,
15882
- onClose = _ref.onClose;
15883
- var _useState = React.useState(questions[0]),
15884
- currentQuestion = _useState[0],
15885
- setCurrentQuestion = _useState[1];
15886
- var _useState2 = React.useState(false),
15887
- canShowAnswers = _useState2[0],
15888
- setCanShowAnswers = _useState2[1];
15889
- var onGetFirstAnswer = function onGetFirstAnswer() {
15890
- if (!currentQuestion.answerIds || currentQuestion.answerIds.length === 0) {
15891
- return null;
15892
- }
15893
- var firstAnswerId = currentQuestion.answerIds[0];
15894
- return answers.find(function (answer) {
15895
- return answer.id === firstAnswerId;
15896
- });
15897
- };
15898
- var _useState3 = React.useState(onGetFirstAnswer()),
15899
- currentAnswer = _useState3[0],
15900
- setCurrentAnswer = _useState3[1];
16080
+ name = _useState[0],
16081
+ setName = _useState[1];
16082
+ var _useState2 = React.useState(''),
16083
+ price = _useState2[0],
16084
+ setPrice = _useState2[1];
16085
+ var _useState3 = React.useState(false),
16086
+ isCreatingOffer = _useState3[0],
16087
+ setIsCreatingOffer = _useState3[1];
16088
+ var _useState4 = React.useState(null),
16089
+ removingItemId = _useState4[0],
16090
+ setRemovingItemId = _useState4[1];
16091
+ var itemsContainer = React.useRef(null);
15901
16092
  React.useEffect(function () {
15902
- setCurrentAnswer(onGetFirstAnswer());
15903
- }, [currentQuestion]);
15904
- var onGetAnswers = function onGetAnswers(answerIds) {
15905
- return answerIds.map(function (answerId) {
15906
- return answers.find(function (answer) {
15907
- return answer.id === answerId;
15908
- });
15909
- });
15910
- };
15911
- var onKeyPress = function onKeyPress(e) {
15912
- switch (e.key) {
15913
- case 'ArrowDown':
15914
- // select next answer, if any.
15915
- // if no next answer, select first answer
15916
- // const nextAnswer = onGetAnswers(currentQuestion.answerIds!).find(
15917
- // (answer) => answer?.id === currentAnswer!.id + 1
15918
- // );
15919
- var nextAnswerIndex = onGetAnswers(currentQuestion.answerIds).findIndex(function (answer) {
15920
- return (answer == null ? void 0 : answer.id) === currentAnswer.id + 1;
15921
- });
15922
- var nextAnswerID = currentQuestion.answerIds[nextAnswerIndex];
15923
- var nextAnswer = onGetAnswers(currentQuestion.answerIds).find(function (answer) {
15924
- return (answer == null ? void 0 : answer.id) === nextAnswerID;
15925
- });
15926
- setCurrentAnswer(nextAnswer || onGetFirstAnswer());
15927
- break;
15928
- case 'ArrowUp':
15929
- // select previous answer, if any.
15930
- // if no previous answer, select last answer
15931
- var previousAnswerIndex = onGetAnswers(currentQuestion.answerIds).findIndex(function (answer) {
15932
- return (answer == null ? void 0 : answer.id) === currentAnswer.id - 1;
15933
- });
15934
- var previousAnswerID = currentQuestion.answerIds && currentQuestion.answerIds[previousAnswerIndex];
15935
- var previousAnswer = onGetAnswers(currentQuestion.answerIds).find(function (answer) {
15936
- return (answer == null ? void 0 : answer.id) === previousAnswerID;
15937
- });
15938
- if (previousAnswer) {
15939
- setCurrentAnswer(previousAnswer);
15940
- } else {
15941
- setCurrentAnswer(onGetAnswers(currentQuestion.answerIds).pop());
15942
- }
15943
- break;
15944
- case 'Enter':
15945
- setCanShowAnswers(false);
15946
- if (!(currentAnswer != null && currentAnswer.nextQuestionId)) {
15947
- onClose();
15948
- return;
15949
- } else {
15950
- setCurrentQuestion(questions.find(function (question) {
15951
- return question.id === currentAnswer.nextQuestionId;
15952
- }));
15953
- }
15954
- break;
15955
- }
15956
- };
15957
- useEventListener('keydown', onKeyPress);
15958
- var onAnswerClick = function onAnswerClick(answer) {
15959
- setCanShowAnswers(false);
15960
- if (answer.nextQuestionId) {
15961
- // if there is a next question, go to it
15962
- setCurrentQuestion(questions.find(function (question) {
15963
- return question.id === answer.nextQuestionId;
15964
- }));
15965
- } else {
15966
- // else, finish dialog!
15967
- onClose();
15968
- }
15969
- };
15970
- var onRenderCurrentAnswers = function onRenderCurrentAnswers() {
15971
- var answerIds = currentQuestion.answerIds;
15972
- if (!answerIds) {
15973
- return null;
15974
- }
15975
- var answers = onGetAnswers(answerIds);
15976
- if (!answers) {
15977
- return null;
15978
- }
15979
- return answers.map(function (answer) {
15980
- var isSelected = (currentAnswer == null ? void 0 : currentAnswer.id) === (answer == null ? void 0 : answer.id);
15981
- var selectedColor = isSelected ? 'yellow' : 'white';
15982
- if (answer) {
15983
- return React__default.createElement(AnswerRow, {
15984
- key: "answer_" + answer.id
15985
- }, React__default.createElement(AnswerSelectedIcon, {
15986
- color: selectedColor
15987
- }, isSelected ? 'X' : null), React__default.createElement(Answer, {
15988
- key: answer.id,
15989
- onPointerDown: function onPointerDown() {
15990
- return onAnswerClick(answer);
15991
- },
15992
- color: selectedColor
15993
- }, answer.text));
16093
+ var _itemsContainer$curre;
16094
+ (_itemsContainer$curre = itemsContainer.current) == null ? void 0 : _itemsContainer$curre.scrollTo(0, 0);
16095
+ }, [currentPage]);
16096
+ return React__default.createElement(React__default.Fragment, null, isCreatingOffer && React__default.createElement(ConfirmModal, {
16097
+ onClose: setIsCreatingOffer.bind(null, false),
16098
+ onConfirm: function onConfirm() {
16099
+ if (selectedItemToSell && price && Number(price)) {
16100
+ onAddItemToMarketplace(selectedItemToSell, Number(price));
16101
+ setPrice('');
16102
+ onSelectedItemToSellRemove(selectedItemToSell);
16103
+ setIsCreatingOffer(false);
16104
+ enableHotkeys == null ? void 0 : enableHotkeys();
15994
16105
  }
15995
- return null;
15996
- });
15997
- };
15998
- return React__default.createElement(Container$j, null, React__default.createElement(QuestionContainer, null, React__default.createElement(DynamicText, {
15999
- text: currentQuestion.text,
16000
- onStart: function onStart() {
16001
- return setCanShowAnswers(false);
16002
16106
  },
16003
- onFinish: function onFinish() {
16004
- return setCanShowAnswers(true);
16107
+ message: "Are you sure to create this offer?"
16108
+ }), removingItemId && React__default.createElement(ConfirmModal, {
16109
+ onClose: setRemovingItemId.bind(null, null),
16110
+ onConfirm: function onConfirm() {
16111
+ onMarketPlaceItemRemove == null ? void 0 : onMarketPlaceItemRemove(removingItemId);
16112
+ setRemovingItemId(null);
16113
+ enableHotkeys == null ? void 0 : enableHotkeys();
16114
+ },
16115
+ message: "Are you sure to remove this item?"
16116
+ }), React__default.createElement(InputWrapper$1, null, React__default.createElement("p", null, "Search By Name"), React__default.createElement(Input, {
16117
+ onChange: function onChange(e) {
16118
+ setName(e.target.value);
16119
+ onChangeNameInput(e.target.value);
16120
+ },
16121
+ value: name,
16122
+ placeholder: "Enter name...",
16123
+ onBlur: enableHotkeys,
16124
+ onFocus: disableHotkeys
16125
+ })), React__default.createElement(OptionsWrapper$1, null, React__default.createElement(InnerOptionsWrapper, null, React__default.createElement(SellDescription, null, "Click on item in inventory to sell it"), React__default.createElement(Flex$2, null, React__default.createElement(ItemSlot, {
16126
+ slotIndex: 0,
16127
+ atlasIMG: atlasIMG,
16128
+ atlasJSON: atlasJSON,
16129
+ onPointerDown: function onPointerDown(_, __, item) {
16130
+ return onSelectedItemToSellRemove(item);
16131
+ },
16132
+ item: selectedItemToSell
16133
+ }), React__default.createElement(PriceInputWrapper, null, React__default.createElement("p", null, "Enter price"), React__default.createElement(Flex$2, null, React__default.createElement(Input, {
16134
+ onChange: function onChange(e) {
16135
+ setPrice(e.target.value);
16136
+ },
16137
+ value: price,
16138
+ placeholder: "Enter price...",
16139
+ type: "number",
16140
+ disabled: !selectedItemToSell,
16141
+ onBlur: enableHotkeys,
16142
+ onFocus: disableHotkeys
16143
+ }), React__default.createElement(Button, {
16144
+ buttonType: exports.ButtonTypes.RPGUIButton,
16145
+ disabled: !selectedItemToSell || !price,
16146
+ onPointerDown: function onPointerDown() {
16147
+ if (selectedItemToSell && price && Number(price)) {
16148
+ setIsCreatingOffer(true);
16149
+ }
16005
16150
  }
16006
- })), canShowAnswers && React__default.createElement(AnswersContainer, null, onRenderCurrentAnswers()));
16151
+ }, "Create offer"))))), React__default.createElement(InnerOptionsWrapper, null, React__default.createElement(AvailableGold, {
16152
+ "$disabled": availableGold === 0
16153
+ }, React__default.createElement("p", null, "Available gold"), React__default.createElement("p", {
16154
+ className: "center"
16155
+ }, "$", availableGold), React__default.createElement(Button, {
16156
+ buttonType: exports.ButtonTypes.RPGUIButton,
16157
+ disabled: availableGold === 0,
16158
+ onPointerDown: function onPointerDown() {
16159
+ return availableGold > 0 && onMoneyWithdraw();
16160
+ }
16161
+ }, "Withdraw")))), React__default.createElement(ItemComponentScrollWrapper$1, {
16162
+ id: "MarketContainer",
16163
+ ref: itemsContainer
16164
+ }, items == null ? void 0 : items.map(function (_ref2, index) {
16165
+ var item = _ref2.item,
16166
+ price = _ref2.price,
16167
+ _id = _ref2._id;
16168
+ return React__default.createElement(MarketplaceRows, {
16169
+ key: item.key + "_" + index,
16170
+ atlasIMG: atlasIMG,
16171
+ atlasJSON: atlasJSON,
16172
+ item: item,
16173
+ itemPrice: price,
16174
+ equipmentSet: equipmentSet,
16175
+ onMarketPlaceItemRemove: setRemovingItemId.bind(null, _id)
16176
+ });
16177
+ })));
16007
16178
  };
16008
- var Container$j = /*#__PURE__*/styled.div.withConfig({
16009
- displayName: "QuestionDialog__Container",
16010
- componentId: "sc-bxc5u0-0"
16011
- })(["display:flex;word-break:break-all;box-sizing:border-box;justify-content:flex-start;align-items:flex-start;flex-wrap:wrap;"]);
16012
- var QuestionContainer = /*#__PURE__*/styled.div.withConfig({
16013
- displayName: "QuestionDialog__QuestionContainer",
16014
- componentId: "sc-bxc5u0-1"
16015
- })(["flex:100%;width:100%;"]);
16016
- var AnswersContainer = /*#__PURE__*/styled.div.withConfig({
16017
- displayName: "QuestionDialog__AnswersContainer",
16018
- componentId: "sc-bxc5u0-2"
16019
- })(["flex:100%;"]);
16020
- var Answer = /*#__PURE__*/styled.p.withConfig({
16021
- displayName: "QuestionDialog__Answer",
16022
- componentId: "sc-bxc5u0-3"
16023
- })(["flex:auto;color:", " !important;font-size:0.65rem !important;background:inherit;border:none;"], function (props) {
16024
- return props.color;
16025
- });
16026
- var AnswerSelectedIcon = /*#__PURE__*/styled.span.withConfig({
16027
- displayName: "QuestionDialog__AnswerSelectedIcon",
16028
- componentId: "sc-bxc5u0-4"
16029
- })(["flex:5% 0 0;color:", " !important;"], function (props) {
16030
- return props.color;
16179
+ var Flex$2 = /*#__PURE__*/styled.div.withConfig({
16180
+ displayName: "ManagmentPanel__Flex",
16181
+ componentId: "sc-1yyi6jn-0"
16182
+ })(["display:flex;gap:5px;align-items:center;"]);
16183
+ var InputWrapper$1 = /*#__PURE__*/styled.div.withConfig({
16184
+ displayName: "ManagmentPanel__InputWrapper",
16185
+ componentId: "sc-1yyi6jn-1"
16186
+ })(["width:95%;display:flex !important;justify-content:flex-start;align-items:center;margin:auto;p{width:auto;margin-right:20px;}input{width:68%;height:10px;}"]);
16187
+ var OptionsWrapper$1 = /*#__PURE__*/styled.div.withConfig({
16188
+ displayName: "ManagmentPanel__OptionsWrapper",
16189
+ componentId: "sc-1yyi6jn-2"
16190
+ })(["width:100%;height:100px;display:flex;align-items:center;justify-content:space-around;"]);
16191
+ var InnerOptionsWrapper = /*#__PURE__*/styled.div.withConfig({
16192
+ displayName: "ManagmentPanel__InnerOptionsWrapper",
16193
+ componentId: "sc-1yyi6jn-3"
16194
+ })(["display:flex;justify-content:space-between;flex-direction:column;height:100%;"]);
16195
+ var ItemComponentScrollWrapper$1 = /*#__PURE__*/styled.div.withConfig({
16196
+ displayName: "ManagmentPanel__ItemComponentScrollWrapper",
16197
+ componentId: "sc-1yyi6jn-4"
16198
+ })(["overflow-y:scroll;height:390px;width:100%;margin-top:1rem;@media (max-width:950px){height:250px;}"]);
16199
+ var PriceInputWrapper = /*#__PURE__*/styled.div.withConfig({
16200
+ displayName: "ManagmentPanel__PriceInputWrapper",
16201
+ componentId: "sc-1yyi6jn-5"
16202
+ })(["p{margin:0;}input{width:200px;}"]);
16203
+ var SellDescription = /*#__PURE__*/styled.p.withConfig({
16204
+ displayName: "ManagmentPanel__SellDescription",
16205
+ componentId: "sc-1yyi6jn-6"
16206
+ })(["margin:0;font-size:", " !important;"], uiFonts.size.xsmall);
16207
+ var AvailableGold = /*#__PURE__*/styled.div.withConfig({
16208
+ displayName: "ManagmentPanel__AvailableGold",
16209
+ componentId: "sc-1yyi6jn-7"
16210
+ })(["height:100%;display:flex;flex-direction:column;justify-content:space-between;p{margin:0;color:", " !important;}.center{text-align:center;font-size:", " !important;color:", " !important;}"], function (props) {
16211
+ return props.$disabled ? uiColors.lightGray : 'white';
16212
+ }, uiFonts.size.large, function (props) {
16213
+ return props.$disabled ? uiColors.lightGray : uiColors.lightGreen;
16031
16214
  });
16032
- var AnswerRow = /*#__PURE__*/styled.div.withConfig({
16033
- displayName: "QuestionDialog__AnswerRow",
16034
- componentId: "sc-bxc5u0-5"
16035
- })(["display:flex;flex-wrap:wrap;justify-content:center;align-items:center;margin-bottom:0.5rem;height:22px;p{line-height:unset;margin-top:0;margin-bottom:0rem;}"]);
16215
+
16216
+ var Marketplace = function Marketplace(props) {
16217
+ var onClose = props.onClose,
16218
+ scale = props.scale,
16219
+ onYourPanelToggle = props.onYourPanelToggle;
16220
+ var _useState = React.useState(false),
16221
+ isYourPanel = _useState[0],
16222
+ setIsYourPanel = _useState[1];
16223
+ return React__default.createElement(DraggableContainer, {
16224
+ type: exports.RPGUIContainerTypes.Framed,
16225
+ onCloseButton: function onCloseButton() {
16226
+ if (onClose) onClose();
16227
+ },
16228
+ width: "800px",
16229
+ cancelDrag: "#MarketContainer, .rpgui-dropdown-imp, input, .empty-slot, button",
16230
+ scale: scale
16231
+ }, isYourPanel && React__default.createElement(React__default.Fragment, null, React__default.createElement(ManagmentPanel, Object.assign({}, props)), React__default.createElement(PagerContainer$1, null, React__default.createElement(Button, {
16232
+ buttonType: exports.ButtonTypes.RPGUIButton,
16233
+ onPointerDown: function onPointerDown() {
16234
+ onYourPanelToggle(false);
16235
+ setIsYourPanel(false);
16236
+ }
16237
+ }, "Go to marketplace"), React__default.createElement(Pager, Object.assign({}, props)))), !isYourPanel && React__default.createElement(React__default.Fragment, null, React__default.createElement(BuyPanel, Object.assign({}, props)), React__default.createElement(PagerContainer$1, null, React__default.createElement(Button, {
16238
+ buttonType: exports.ButtonTypes.RPGUIButton,
16239
+ onPointerDown: function onPointerDown() {
16240
+ onYourPanelToggle(true);
16241
+ setIsYourPanel(true);
16242
+ }
16243
+ }, "Go to your panel"), React__default.createElement(Pager, Object.assign({}, props)))));
16244
+ };
16245
+ var PagerContainer$1 = /*#__PURE__*/styled.div.withConfig({
16246
+ displayName: "Marketplace__PagerContainer",
16247
+ componentId: "sc-h904b1-0"
16248
+ })(["display:flex;justify-content:space-between;align-items:center;width:calc(100% - 30px);"]);
16036
16249
 
16037
16250
  var ProgressBar = function ProgressBar(_ref) {
16038
16251
  var max = _ref.max,
@@ -16054,7 +16267,7 @@ var ProgressBar = function ProgressBar(_ref) {
16054
16267
  }
16055
16268
  return value * 100 / max;
16056
16269
  };
16057
- return React__default.createElement(Container$k, {
16270
+ return React__default.createElement(Container$m, {
16058
16271
  className: "rpgui-progress",
16059
16272
  "data-value": calculatePercentageValue(max, value) / 100,
16060
16273
  "data-rpguitype": "progress",
@@ -16084,7 +16297,7 @@ var TextOverlay$1 = /*#__PURE__*/styled.div.withConfig({
16084
16297
  displayName: "ProgressBar__TextOverlay",
16085
16298
  componentId: "sc-qa6fzh-1"
16086
16299
  })(["width:100%;position:relative;"]);
16087
- var Container$k = /*#__PURE__*/styled.div.withConfig({
16300
+ var Container$m = /*#__PURE__*/styled.div.withConfig({
16088
16301
  displayName: "ProgressBar__Container",
16089
16302
  componentId: "sc-qa6fzh-2"
16090
16303
  })(["display:flex;flex-direction:column;min-width:", "px;width:", "%;justify-content:start;align-items:flex-start;", " @media (max-width:950px){transform:scale(", ");}"], function (props) {
@@ -16097,7 +16310,7 @@ var Container$k = /*#__PURE__*/styled.div.withConfig({
16097
16310
  return props.mobileScale;
16098
16311
  });
16099
16312
 
16100
- var img$7 = 'data:image/png;base64,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';
16313
+ var img$8 = 'data:image/png;base64,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';
16101
16314
 
16102
16315
  var QuestInfo = function QuestInfo(_ref) {
16103
16316
  var quests = _ref.quests,
@@ -16141,7 +16354,7 @@ var QuestInfo = function QuestInfo(_ref) {
16141
16354
  }), React__default.createElement(QuestContainer, null, React__default.createElement(TitleContainer$1, {
16142
16355
  className: "drag-handler"
16143
16356
  }, React__default.createElement(Title$4, null, React__default.createElement(Thumbnail, {
16144
- src: quests[currentIndex].thumbnail || img$7
16357
+ src: quests[currentIndex].thumbnail || img$8
16145
16358
  }), quests[currentIndex].title), React__default.createElement(QuestSplitDiv, null, React__default.createElement("hr", {
16146
16359
  className: "golden"
16147
16360
  }))), React__default.createElement(Content, null, React__default.createElement("p", null, quests[currentIndex].description)), React__default.createElement(QuestColumn, {
@@ -16160,7 +16373,7 @@ var QuestInfo = function QuestInfo(_ref) {
16160
16373
  })))) : React__default.createElement(QuestsContainer, null, React__default.createElement(QuestContainer, null, React__default.createElement(TitleContainer$1, {
16161
16374
  className: "drag-handler"
16162
16375
  }, React__default.createElement(Title$4, null, React__default.createElement(Thumbnail, {
16163
- src: quests[0].thumbnail || img$7
16376
+ src: quests[0].thumbnail || img$8
16164
16377
  }), quests[0].title), React__default.createElement(QuestSplitDiv, null, React__default.createElement("hr", {
16165
16378
  className: "golden"
16166
16379
  }))), React__default.createElement(Content, null, React__default.createElement("p", null, quests[0].description)), React__default.createElement(QuestColumn, {
@@ -16425,7 +16638,7 @@ var SimpleProgressBar = function SimpleProgressBar(_ref) {
16425
16638
  bgColor = _ref$bgColor === void 0 ? 'red' : _ref$bgColor,
16426
16639
  _ref$margin = _ref.margin,
16427
16640
  margin = _ref$margin === void 0 ? 20 : _ref$margin;
16428
- return React__default.createElement(Container$l, {
16641
+ return React__default.createElement(Container$n, {
16429
16642
  className: "simple-progress-bar"
16430
16643
  }, React__default.createElement(ProgressBarContainer, {
16431
16644
  margin: margin
@@ -16434,7 +16647,7 @@ var SimpleProgressBar = function SimpleProgressBar(_ref) {
16434
16647
  bgColor: bgColor
16435
16648
  }))));
16436
16649
  };
16437
- var Container$l = /*#__PURE__*/styled.div.withConfig({
16650
+ var Container$n = /*#__PURE__*/styled.div.withConfig({
16438
16651
  displayName: "SimpleProgressBar__Container",
16439
16652
  componentId: "sc-mbeil3-0"
16440
16653
  })(["display:flex;justify-content:center;align-items:center;width:100%;"]);
@@ -16468,20 +16681,11 @@ var SkillProgressBar = function SkillProgressBar(_ref) {
16468
16681
  showSkillPoints = _ref$showSkillPoints === void 0 ? true : _ref$showSkillPoints,
16469
16682
  atlasIMG = _ref.atlasIMG,
16470
16683
  atlasJSON = _ref.atlasJSON,
16471
- buffAndDebuff = _ref.buffAndDebuff;
16684
+ buffAndDebuff = _ref.buffAndDebuff,
16685
+ ratio = _ref.ratio;
16472
16686
  if (!skillPointsToNextLevel) {
16473
16687
  skillPointsToNextLevel = shared.getSPForLevel(level + 1);
16474
16688
  }
16475
- var SPLevelActual = shared.getSPForLevel(level + 1);
16476
- var SPLevelBefore = shared.getSPForLevel(level);
16477
- var SPcalc = SPLevelActual - SPLevelBefore;
16478
- var ratio = function ratio() {
16479
- if (level === 1) {
16480
- return skillPoints / SPLevelActual * 100;
16481
- }
16482
- return (skillPoints - SPLevelBefore) / SPcalc * 100;
16483
- };
16484
- //const ratio = ((skillPoints - SPLevelBefore) / SPcalc) * 100;
16485
16689
  var skillsBuffsCalc = function skillsBuffsCalc() {
16486
16690
  if (buffAndDebuff) {
16487
16691
  return 1 + buffAndDebuff / 100;
@@ -16496,9 +16700,9 @@ var SkillProgressBar = function SkillProgressBar(_ref) {
16496
16700
  grayScale: true,
16497
16701
  opacity: 0.5
16498
16702
  }))) : React__default.createElement(React__default.Fragment, null)), React__default.createElement(ProgressBarContainer$1, null, React__default.createElement(SimpleProgressBar, {
16499
- value: ratio(),
16703
+ value: ratio,
16500
16704
  bgColor: bgColor
16501
- }))), showSkillPoints && React__default.createElement(SkillDisplayContainer, null, React__default.createElement(SkillPointsDisplay, null, skillPoints, "/", shared.getSPForLevel(level + 1))));
16705
+ }))), showSkillPoints && React__default.createElement(SkillDisplayContainer, null, React__default.createElement(SkillPointsDisplay, null, skillPoints, "/", skillPointsToNextLevel)));
16502
16706
  };
16503
16707
  var ProgressBarContainer$1 = /*#__PURE__*/styled.div.withConfig({
16504
16708
  displayName: "SkillProgressBar__ProgressBarContainer",
@@ -16620,6 +16824,24 @@ var SkillsContainer = function SkillsContainer(_ref) {
16620
16824
  atlasIMG = _ref.atlasIMG,
16621
16825
  atlasJSON = _ref.atlasJSON,
16622
16826
  scale = _ref.scale;
16827
+ var SPRatio = function SPRatio(level, skillPoints) {
16828
+ var SPLevelActual = shared.getSPForLevel(level + 1);
16829
+ var SPLevelBefore = shared.getSPForLevel(level);
16830
+ var SPCalc = SPLevelActual - SPLevelBefore;
16831
+ if (level === 1) {
16832
+ return skillPoints / SPLevelActual * 100;
16833
+ }
16834
+ return (skillPoints - SPLevelBefore) / SPCalc * 100;
16835
+ };
16836
+ var XPRatio = function XPRatio(level, skillPoints) {
16837
+ var XPLevelActual = shared.getXPForLevel(level + 1);
16838
+ var XPLevelBefore = shared.getXPForLevel(level);
16839
+ var XPCalc = XPLevelActual - XPLevelBefore;
16840
+ if (level === 1) {
16841
+ return skillPoints / XPLevelActual * 100;
16842
+ }
16843
+ return (skillPoints - XPLevelBefore) / XPCalc * 100;
16844
+ };
16623
16845
  var onRenderSkillCategory = function onRenderSkillCategory(category) {
16624
16846
  var skillCategory = skillProps[category];
16625
16847
  var skillCategoryColor = skillCategory.color;
@@ -16639,11 +16861,12 @@ var SkillsContainer = function SkillsContainer(_ref) {
16639
16861
  bgColor: skillCategoryColor,
16640
16862
  level: skillDetails.level || 0,
16641
16863
  skillPoints: Math.round(skillDetails.skillPoints) || 0,
16642
- skillPointsToNextLevel: Math.round(skillDetails.skillPointsToNextLevel) || 0,
16864
+ skillPointsToNextLevel: Math.round(shared.getSPForLevel(skillDetails.level + 1)) || 0,
16643
16865
  texturePath: value,
16644
16866
  atlasIMG: atlasIMG,
16645
16867
  atlasJSON: atlasJSON,
16646
- buffAndDebuff: skillDetails.buffAndDebuff
16868
+ buffAndDebuff: skillDetails.buffAndDebuff,
16869
+ ratio: SPRatio(skillDetails.level, skillDetails.skillPoints)
16647
16870
  }));
16648
16871
  }
16649
16872
  return output;
@@ -16664,10 +16887,11 @@ var SkillsContainer = function SkillsContainer(_ref) {
16664
16887
  bgColor: uiColors.navyBlue,
16665
16888
  level: Math.round(skill.level) || 0,
16666
16889
  skillPoints: Math.round(skill.experience) || 0,
16667
- skillPointsToNextLevel: Math.round(skill.xpToNextLevel) || 0,
16890
+ skillPointsToNextLevel: Math.round(shared.getXPForLevel(skill.level + 1)) || 0,
16668
16891
  texturePath: 'swords/broad-sword.png',
16669
16892
  atlasIMG: atlasIMG,
16670
- atlasJSON: atlasJSON
16893
+ atlasJSON: atlasJSON,
16894
+ ratio: XPRatio(skill.level, skill.experience)
16671
16895
  }), React__default.createElement("p", null, "Combat Skills"), React__default.createElement("hr", {
16672
16896
  className: "golden"
16673
16897
  })), onRenderSkillCategory('combat'), React__default.createElement(SkillSplitDiv, null, React__default.createElement("p", null, "Crafting Skills"), React__default.createElement("hr", {
@@ -16710,7 +16934,7 @@ var SpellInfo = function SpellInfo(_ref) {
16710
16934
  castingType = spell.castingType,
16711
16935
  cooldown = spell.cooldown,
16712
16936
  maxDistanceGrid = spell.maxDistanceGrid;
16713
- return React__default.createElement(Container$m, null, React__default.createElement(Header$1, null, React__default.createElement("div", null, React__default.createElement(Title$6, null, name), React__default.createElement(Type$1, null, magicWords))), React__default.createElement(Statistic$1, null, React__default.createElement("div", {
16937
+ return React__default.createElement(Container$o, null, React__default.createElement(Header$1, null, React__default.createElement("div", null, React__default.createElement(Title$6, null, name), React__default.createElement(Type$1, null, magicWords))), React__default.createElement(Statistic$1, null, React__default.createElement("div", {
16714
16938
  className: "label"
16715
16939
  }, "Casting Type:"), React__default.createElement("div", {
16716
16940
  className: "value"
@@ -16736,7 +16960,7 @@ var SpellInfo = function SpellInfo(_ref) {
16736
16960
  className: "value"
16737
16961
  }, requiredItem))), React__default.createElement(Description$1, null, description));
16738
16962
  };
16739
- var Container$m = /*#__PURE__*/styled.div.withConfig({
16963
+ var Container$o = /*#__PURE__*/styled.div.withConfig({
16740
16964
  displayName: "SpellInfo__Container",
16741
16965
  componentId: "sc-4hbw3q-0"
16742
16966
  })(["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);
@@ -16790,7 +17014,7 @@ var MobileSpellTooltip = function MobileSpellTooltip(_ref) {
16790
17014
  var _ref$current;
16791
17015
  (_ref$current = ref.current) == null ? void 0 : _ref$current.classList.add('fadeOut');
16792
17016
  };
16793
- return React__default.createElement(ModalPortal, null, React__default.createElement(Container$n, {
17017
+ return React__default.createElement(ModalPortal, null, React__default.createElement(Container$p, {
16794
17018
  ref: ref,
16795
17019
  onTouchEnd: function onTouchEnd() {
16796
17020
  handleFadeOut();
@@ -16815,7 +17039,7 @@ var MobileSpellTooltip = function MobileSpellTooltip(_ref) {
16815
17039
  }, option.text);
16816
17040
  }))));
16817
17041
  };
16818
- var Container$n = /*#__PURE__*/styled.div.withConfig({
17042
+ var Container$p = /*#__PURE__*/styled.div.withConfig({
16819
17043
  displayName: "MobileSpellTooltip__Container",
16820
17044
  componentId: "sc-6p7uvr-0"
16821
17045
  })(["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;}"]);
@@ -16856,13 +17080,13 @@ var MagicTooltip = function MagicTooltip(_ref) {
16856
17080
  }
16857
17081
  return;
16858
17082
  }, []);
16859
- return React__default.createElement(ModalPortal, null, React__default.createElement(Container$o, {
17083
+ return React__default.createElement(ModalPortal, null, React__default.createElement(Container$q, {
16860
17084
  ref: ref
16861
17085
  }, React__default.createElement(SpellInfoDisplay, {
16862
17086
  spell: spell
16863
17087
  })));
16864
17088
  };
16865
- var Container$o = /*#__PURE__*/styled.div.withConfig({
17089
+ var Container$q = /*#__PURE__*/styled.div.withConfig({
16866
17090
  displayName: "SpellTooltip__Container",
16867
17091
  componentId: "sc-1go0gwg-0"
16868
17092
  })(["position:absolute;z-index:100;pointer-events:none;left:0;top:0;opacity:0;transition:opacity 0.08s;"]);
@@ -16914,7 +17138,7 @@ var Spell = function Spell(_ref) {
16914
17138
  var disabled = isSettingShortcut ? charMagicLevel < minMagicLevelRequired : manaCost > charMana || charMagicLevel < minMagicLevelRequired;
16915
17139
  return React__default.createElement(SpellInfoWrapper, {
16916
17140
  spell: spell
16917
- }, React__default.createElement(Container$p, {
17141
+ }, React__default.createElement(Container$r, {
16918
17142
  onPointerUp: onPointerUp == null ? void 0 : onPointerUp.bind(null, spellKey),
16919
17143
  isSettingShortcut: isSettingShortcut && !disabled,
16920
17144
  className: "spell"
@@ -16928,7 +17152,7 @@ var Spell = function Spell(_ref) {
16928
17152
  className: "mana"
16929
17153
  }, manaCost))));
16930
17154
  };
16931
- var Container$p = /*#__PURE__*/styled.button.withConfig({
17155
+ var Container$r = /*#__PURE__*/styled.button.withConfig({
16932
17156
  displayName: "Spell__Container",
16933
17157
  componentId: "sc-j96fa2-0"
16934
17158
  })(["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) {
@@ -17005,7 +17229,7 @@ var Spellbook = function Spellbook(_ref) {
17005
17229
  height: "inherit",
17006
17230
  cancelDrag: "#spellbook-search, #shortcuts_list, .spell",
17007
17231
  scale: scale
17008
- }, React__default.createElement(Container$q, null, React__default.createElement(Title$8, null, "Learned Spells"), React__default.createElement(ShortcutsSetter, {
17232
+ }, React__default.createElement(Container$s, null, React__default.createElement(Title$8, null, "Learned Spells"), React__default.createElement(ShortcutsSetter, {
17009
17233
  setSettingShortcutIndex: setSettingShortcutIndex,
17010
17234
  settingShortcutIndex: settingShortcutIndex,
17011
17235
  shortcuts: shortcuts,
@@ -17039,7 +17263,7 @@ var Title$8 = /*#__PURE__*/styled.h1.withConfig({
17039
17263
  displayName: "Spellbook__Title",
17040
17264
  componentId: "sc-r02nfq-0"
17041
17265
  })(["font-size:", " !important;margin-bottom:0 !important;"], uiFonts.size.large);
17042
- var Container$q = /*#__PURE__*/styled.div.withConfig({
17266
+ var Container$s = /*#__PURE__*/styled.div.withConfig({
17043
17267
  displayName: "Spellbook__Container",
17044
17268
  componentId: "sc-r02nfq-1"
17045
17269
  })(["width:100%;height:100%;color:white;display:flex;flex-direction:column;"]);
@@ -17053,16 +17277,16 @@ var TextArea = function TextArea(_ref) {
17053
17277
  return React__default.createElement("textarea", Object.assign({}, props));
17054
17278
  };
17055
17279
 
17056
- var img$8 = 'data:image/gif;base64,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';
17280
+ var img$9 = 'data:image/gif;base64,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';
17057
17281
 
17058
- var img$9 = 'data:image/gif;base64,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';
17282
+ var img$a = 'data:image/gif;base64,R0lGODlhTgBNAPMAAAAAALcILyZ31ESZ+lrC/1Ds//vvpv3wo4G8//////38+QAAAAAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAAIf4gQ3JlYXRlZCB3aXRoIGV6Z2lmLmNvbSBHSUYgbWFrZXIALAAAAABOAE0AAAT/EMhJq7046827/2AojmRpnmiqrmzrvnAsz2tg37hNq7jg/0AfbjeyAQfIpBIJ1BE5N99ySmUKbk9M4FftUn+BLMXoLXev4exWYG5/r8+te/5Nz+T0vBIu2yL+gIGCg4SFgXwvfoaLjIyILIqNkpOAjymRlAgHm5ybmZV2KHh0naWcepYlo22mradzqUUClK61nJSxIJiMrgm+v664oSKrXqa/yMmmbrkexVXHydK+y2bNULON0dPTppLXGs9UpdzlCaVt4FpsZuTm5ejWwx3iU53v753p89jtnPj49JVRZ2ELgYMFoP0DaE6gF4JjBBycSCChEncMucV7yC+DQYoI/y8uzAjvFUddEkGGRHKPZMlN8lCqXDmgpctuJs90XDdzpc2bynJWgSjh40yLP4ECE1pHZs8CB5MqPcd0ClEARlVCjTpy6kadTrWC7KpU4NaDVndeyNqT64GpSzedBblHbcGUbSmSddlprsokV7HizUtAKsO+hAkMCCw48UTD+RAnZsw2L0aApfy2pTw48eWGczX3ZNzYsdtNAf2KVkm6tOnC2+JqXg2ytWBStiSLzWv7dh5XBnS/Pti7nj9TW2kT7u1bT03dBZSPtuuMnfMkqqXXpl79uhLR2icyj+gdSfjN3FF6Pz89kXU3itnPHO/xfXlm6VXZv3+ShnH+gOUnikAUAFpFny7/XYeGGBOssR8qQjBYQRQPpoOGgHc4WOEeYGAYB4VBBDGEhMTkYCKJKKao4oostujiizDGKOOMF0QAACH/C0ltYWdlTWFnaWNrDWdhbW1hPTAuNDU0NTUAIfkEARQAAAAsAAAAAE4ATQAABP8QyEmrvTjrzbv/YCiOZGmeaKqubOu+cCzPa2DfuE2ruOD/QB9uN7IBB8ikEgnUETk333JKZQpuT0zgV+1Sf4Esxegtd6/h7FZgbn+vz617/k3P5PS8Ei7bIv6AgYKDhIWBfC9+houMjIgsio2Sk4CPKZGUmY2WJnh6B6ChoHpMdieec6KqoXqcRQKaq7Khmq4gmI2zurSUth6oZbMJw8Szc74dwF2rxM3Oq27IG7iGzM7Xw6uT0hnKVNbY2NBm3Bfe36Lh6gmq0aa/bGaq6+vt5O/J8cGh9PSibeUqbCFAoMAyfv38sSoTcMJAggQNTkmXsN5Chvg0PIRYcMm8iur/7HlpCGAjR4lIKIIMefFMxm4COEJEOUDlSnEtq5A0eTKJzZvPcta5FVNmRJ8IgV77h5Go0YgEayZV2ozpyJdaihotAPEnVXZCp+zUepLjx69gF3KFuGTsU6Negf5bazSJ27dmp1IVRfdpqRA838YFyRcvRJISAj89e1NV37eIS5I1zLiiY8OHscLEnFevP7oHHkPWvJkzwcohH4s2GjnxZMyol4peLbO161SyloKiTZug7du4dRkobLo26Wn6gs9a29vwb+B5ls9s/vS5w+R0Lp+kztH6dVJTVnP3ffzDOTrjR7c43yZ99fIi2FchMMA9a/ivwIP3jlx/Hv5QYOefQUtxSDGgTgCaJx8paIhxnYH+geGgQEYIGA0a+NFQIYRngJGhGlEEIeIQE8aXw4klpqjiiiy26OKLMMYo44w0XhABACH/C0ltYWdlTWFnaWNrDWdhbW1hPTAuNDU0NTUAIfkEARQAAAAsAAAAAE4ATQAABP8QyEmrvTjrzbv/YCiOZGmeaKqubOu+cCzPa2DfuE2ruOD/QB9uN7IBB8ikEgnUETk333JKZQpuT0zgV+1Sf4Esxegtd6/h7FZgbn+vz617/k3P5PS8Ei7bIv6AgYKDhIWBfC9+houMjIgsio2Sk4CPKZGUmY2WJnh6n2d2J555B6anpqCcRQKaf6iwp64IqyCYk7G5spq1HqRmusGndL0dv166CcrLunPFG7eLscvU1bGUzxnHVdPV3sqxbtkX21Td39/hbeMV5VOw6PEJsOKivmzAqPLy9GbsYwIIFCijbx+/Yf7sQQlIoOFAc6cMGkS1TqGGLQ0zPlxSUGI8ign/bTHMKJBjR4/pQHr5BwAjyZJKTqJMmaoMS5cvNw6QOdMawpUWtY0kqZNnT2Y/Q4l86bAhEqNH5yWtcnOoxow7I0b1plLpB5xXSUI9qrIAyT1BtVhlSgDeVqTDzLJlkpbcWrZjUVKUy5bAAJYt777M6xEV376AA/cdrHXr3sUNE4Nd7JasYciR66rFnLGyXr4DDiPWvJnzOYkHRItmmljCZMqe+a1e/bK1a3z5CM+jLXCx7dtzklFTcJlzbdIXcbcRVpw35N/A6TDnW8A5W+gT3HXRpdo6SezZlUuHRdt75hriQZkf3UJ7m/XXkYtwX8UvfNbyWYFSlZ8E/f1LgGdMRXoAUtXfKFIUSJWAtvyXBxpihJcggGBE2I4RBK6DxoF9rDHhGWBwSEQPQZQ4hIXz5aAiiiy26OKLMMYo44w01mjjjRdEAAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAABOAE0AAAT/EMhJq7046827/2AojmRpnmiqrmzrvnAsz2tg37hNq7jg/0AfbjeyAQfIpBIJ1BE5N99ySmUKbk9M4FftUn+BLMXoLXev4exWYG5/r8+te/5Nz+T0vBIu2yL+gIGCg4SFgXwvfoaLjIyILIqNkpOAjymRlJmNliZ4ep9ndieeoKV7oiWYmgesrayah6giqpSutq2wf5wgpG63v616ux+9ZcDHwXPDHbSLwAnQ0cCZyxvFXbfR2tu3yrLMbL622+TStt6z4WbZ5e3dbdVa6sau7fYJ5/Df1gIF6/X37OUrE8/CFgII/WFrFTCgKzcFxwhAmLAKwIb3HpqJOOEgRQIK/5dcxOguGcF98j6CnDKOpECNXjhK8PgxJJKRLsvBDMVrokqbA3Dm5GaSJzGfNREmETrUHKuNKC/QpFiA4k2GTXUWrSITwFSQKoNizUr0aZKqVplENYhU5UemWTWidTug61e3BFqShXZuLt6uXtvizTt270O/bgEHHvy2MNnDjAkovosXLknIkScLHqx36IG5AxAnXpsyMsLOlxGL/qh45ubKqB2KXk2xtes27Bp+Hkzb9m3csaMp4LvbtErfgec8I4qWNmPkycUhYzW3gPPRl+b9O6b6em3SHq7R+7Xau2Tw4bVLd2X+L/qjppC0x+5CvBkCoY27j2E/Ptf3JPTn30cpOwg4IHQ9qTdgXQiGQMaCSaAhRkdcxAfGhBVEoSA8aAB4xxpSEASGh3FoGEQQQ2A4Sw4squjiizDGKOOMNNZo44045nhBBAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAABOAE0AAAT/EMhJq7046827/2AojmRpnmiqrmzrvnAsz2tg37hNq7jg/0AfbjeyAQfIpBIJ1BE5N99ySmUKbk9M4FftUn+BLMXoLXev4exWYG5/r8+te/5Nz+T0vBIu2yL+gIGCg4SFgXwvfoaLjIyILIqNkpOAjymRlJmNliZ4ep9ndieeoKV7oiWYmgesrayah6giqpSutq2wf5wgpG63v616ux+9ZcDHwXPDHbSLwAnQ0cCZyxvFXbfR2tu3yrLMbL622+TStt6z4WbZ5e3dbdVa6sau7fYJ5/Df1gIF6/X37OUrE8/CFgII/WFrFTCgKzcFxwhAmLAKwIb3HpqJOOEgRQIK/5dcxOguGcF98j6CnDKOpECNXjhK8PgxJJKRLsvBDMVrokqbA3Dm5GaSJzGfNREmETrUHKuNKC/QpFiA4k2GTXUWrSITwFSQKoNizUr0aZKqVplENYhU5UemWTWidTug61e3BFqShXZuLt6uXtvizTt270O/bgEHHvy2MNnDjAkovosXLknIkScLHqx36IG5AxAnXpsyMsLOlxGL/qh45ubKqB2KXk2xtes27Bp+Hkzb9m3csaMp4LvbtErfgec8I4qWNmPkycUhYzW3gPPRl+b9O6b6em3SHq7R+7Xau2Tw4bVLd2X+L/qjppC0x+5CvBkCoY27j2E/Ptf3JPTn30cpOwg4IHQ9qTdgXQiGQMaCSaAhRkdcxAfGhBVEoSA8aAB4xxpSEASGh3FoGEQQQ2A4Sw4squjiizDGKOOMNNZo44045nhBBAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAABOAE0AAAT/EMhJq7046827/2AojmRpnmiqrmzrvnAsz2tg37hNq7jg/0AfbjeyAQfIpBIJ1BE5N99ySmUKbk9M4FftUn+BLMXoLXev4exWYG5/r8+te/5Nz+T0vBIu2yL+gIGCg4SFgXwvfoaLjIyILIqNkpOAjymRlJmNliZ4ep9ndieeeQemp6agnEUCmn+osKeuCKsgmJOxubKatR6kZrrBp3S9Hb9eugnKy7pzxRu3i7HL1NWxlM8Zx1XT1d7KsW7ZF9tU3d/f4W3jFeVTsOjxCbDior5swKjy8vRm7GMCCBQoo28fv2H+7EEJSKDhQHOnDBpEtU6hhi0NMz5cUlBiPIoJ/20xzCiQY0eP6UB6+QcAI8mSSk6iTJmqDEuXLzcOkDnTGsKVFrWNJKmTZ09mP0OJfOmwIRKjR+clrXJzqMaMOyNG9aZS6QecV0lCPaqyAMk9QbVYZUoA3lakw8yyZZKW3Fq2Y1FSlMuWwACWLe++zOsRFd++gAP3Hax1697FDRODXeyWrGHIkeuqxZyxsl6+Aw4j1ryZ8zmJB0SLZppYwmTKnvmtXv2ytWt8+QjPoy1wse3bc5JRU3CZc23SF3G3EVacN+TfwOkw51vAOVvoE9x10aXaOkns2ZVLh0Xbe+Ya4kGZH91Ce5v115GLcF/FL3zW8lmBUpWfBP39S4BnTEV6AFLV3yhSFEiVgLb8lwcaYoSXIIBgRNiOEQSug8aBfawx4RlgcEhED0GUOISF8+WgIoostujiizDGKOOMNNZo440XRAAAIf8LSW1hZ2VNYWdpY2sNZ2FtbWE9MC40NTQ1NQAh+QQBFAAAACwAAAAATgBNAAAE/xDISau9OOvNu/9gKI5kaZ5oqq5s675wLM9rYN+4Tau44P9AH243sgEHyKQSCdQROTffckplCm5PTOBX7VJ/gSzF6C13r+HsVmBuf6/PrXv+Tc/k9LwSLtsi/oCBgoOEhYF8L36Gi4yMiCyKjZKTgI8pkZSZjZYmeHoHoKGgekx2J55zoqqhepxFApqrsqGariCYjbO6tJS2HqhlswnDxLNzvh3AXavEzc6rbsgbuIbMztfDq5PSGcpU1tjY0GbcF97fouHqCarRpr9sZqrr6+3k78nxwaH09KJt5SpsIUCgwDJ+/fyxKhNwwkCCBA1OSZew3kKG+DQ8hFhwybyK6v/seWkIYCNHiUgoggx58UzGbgI4QkQ5QOVKcS2rkDR5MonNm89y1rkVU2ZEnwiBXvuHkajRiARrJlXajOnIl1qKGi0A8SdVdkKn7NR6kuPHr2AXcoW4ZOxTo16B/ltrNInbt2anUhVF92mpEDzfxgXJFy9EkhICPz17U1Xft4hLkjXMuKJjw4exwsTctbI/ugceQ9a8mTMBcJ9lijYaOfFkyp6Xil4ts7XrVLKWgqJNm6Dt27h1GShsujbpafqCz1rb2/Bv4HmWz2z+9LnD5HQun6TO0fp1UlNWc/d9/MM5OuNHtzjfJn318iLYVyEwwD1r+K/Ag/eOXH8e/lBg559BS3FIMaBOAJonHyloiHGdgf6B4aBARggYDRr40VAhhGeAkaEaUQQh4hATxpfDiSWmqOKKLLbo4oswxijjjDReEAEAIf8LSW1hZ2VNYWdpY2sNZ2FtbWE9MC40NTQ1NQAh+QQBFAAAACwAAAAATgBNAAAE/xDISau9OOvNu/9gKI5kaZ5oqq5s675wLM9rYN+4Tau44P9AH243sgEHyKQSCdQROTffckplCm5PTOBX7VJ/gSzF6C13r+HsVmBuf6/PrXv+Tc/k9LwSLtsi/oCBgoOEhYF8L36Gi4yMiCyKjZKTgI8pkZQIB5ucm5mVdih4dJ2lnHqWJaNtpq2nc6lFApSutZyUsSCYjK4Jvr+uuKEiq16mv8jJpm65HsVVx8nSvstmzVCzjdHT06aS1xrPVKXc5QmlbeBabGbk5uXo1sMd4lOd7++d6fPY7Zz4+PSVUWdhC4GDBaD9A2hOoBeCYwQcnEggoRJ3DLnFe8gvg0GKCP8vLswI7xVHXRJBhkRyj2TJTfJQqlw5oKXLbibPdFw3c6XNm8pyVoEo4eNMiz+BAhNaR2bPAgeTKj3HdApRAEZVQo06cupGnU61guyqVODWg1Z3Xsjak+uBqUs3nQW5R23BlG0pknXZaa7KJFex4s1LQCrDvoQJDAgsOPFEw/kQJ2bMNi9GgKX8tqU8OPHlhnM192Tc2LHbTQH9ilZJurTpwtvial4NsrVgUrYki81r+3YeVwZ0vz7Yu54/U1tpE+7tW09N3QWUj7brjJ3zJKql16Ze/boS0donMo/oHUn4zdxRej8/PZF1N4rZzxzv8X15ZulV2b9/koZx/oDlJ4pAFABaRZ8u/12HhhgTrLEfKkIwWEEUD6aDhoB3OFjhHmBgGAeFQQQxhITE5GAiiSimqOKKLLbo4oswxijjjBdEAAA7';
17059
17283
 
17060
- var img$a = 'data:image/gif;base64,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';
17284
+ var img$b = 'data:image/gif;base64,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';
17061
17285
 
17062
17286
  var DayNightPeriod = function DayNightPeriod(_ref) {
17063
17287
  var _periodOfDaySrcFiles;
17064
17288
  var periodOfDay = _ref.periodOfDay;
17065
- var periodOfDaySrcFiles = (_periodOfDaySrcFiles = {}, _periodOfDaySrcFiles[shared.PeriodOfDay.Morning] = img$9, _periodOfDaySrcFiles[shared.PeriodOfDay.Afternoon] = img$8, _periodOfDaySrcFiles[shared.PeriodOfDay.Night] = img$a, _periodOfDaySrcFiles);
17289
+ var periodOfDaySrcFiles = (_periodOfDaySrcFiles = {}, _periodOfDaySrcFiles[shared.PeriodOfDay.Morning] = img$a, _periodOfDaySrcFiles[shared.PeriodOfDay.Afternoon] = img$9, _periodOfDaySrcFiles[shared.PeriodOfDay.Night] = img$b, _periodOfDaySrcFiles);
17066
17290
  return React__default.createElement(GifContainer, null, React__default.createElement("img", {
17067
17291
  src: periodOfDaySrcFiles[periodOfDay]
17068
17292
  }));
@@ -17072,7 +17296,7 @@ var GifContainer = /*#__PURE__*/styled.div.withConfig({
17072
17296
  componentId: "sc-10t97fw-0"
17073
17297
  })(["width:100%;img{width:67%;}"]);
17074
17298
 
17075
- var img$b = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHMAAABHCAYAAAA0qHhdAAAAAXNSR0IArs4c6QAABGRJREFUeJztnb9PGzEUx7+JMjC0Uge6tVsVdTghQP0D2qgjzGz8D8woE2LO/5CNOcwlU9WJRCgDYmWJRAYkFgak6wDv5HPsO9/P8J79WUhicr7nzz3bOV8uHbRPXOXN2x++1LUfYnh4uu8AQK+FulLy7hbHxn96vrh22tjW0b7xPVtH+87bkMbnj1/jh6f7TqfBOmKgurwy6MJ10VRuKqNylwMl7wBy3U5WuetBOhg9om6ZSRaqEtvImJ2zRfL4/GA3eXy494LJzNwBmcpc//9w7wUAMJn1ktdt5bbnaj228qw6VeqWGbctUEXNxn40Fj+2/jn5lHpel8xUd+oqcedsUajum2HkNHEiqf1oDAD4/e1HkWrYMF8uE6GTWQ+j6aryBCh2lVhUXt77bXJpP2i/+tE41e1y5uo2W1cVmfHd4rhxiXnbdZEqReiv76/jpE1q2YbOFNmUwDxsYreO9lkLvbrtJSLp+Xy5xN9/g8TBYPSIboltv0uRWXU/X1zjbnGM08t527tUC7aM1B0UbXiryE1KNGHKUu4ZqjKarpLMpAlQkcxkIxIw7xP3DLVBnzldZbISSUgXqvtwkclSJCFNqDpu0mdqOkOUJ5O1SEKSUHVWWyQzRYgkJAml7KTMzBszRYkkJAhVu1ny49rNpuAskuAaw9VtL/d0nikwY1ZybQQb+udQ+gzKZbXFtGqiq3Y63yoR6m770Rg3wyi1gK1iel1dQNbLqazsX9M2dKib1bPNi6wkbNl5M4w2tUulGIwe8fB031nrhH0RCbzGpgrVJxSEaYXfdoWCrdxE1lUNtnJ9+6PpKrmgSxUVm45IyTIB8zncnbPF2th58nMbo+kq9zUX8t5XpC4SCQSZVpkovzy4MWiHvRRJSBFaZj0z8E6xyvQlKwE5sYbMFEQXlvHSd97apNL3YtomZKYgjDKljCFFkBBzyExBBJmCCDIFEWQKIsgURJApiCBTEEGmILqA26q4b3Bsk5CZgjDKdL1/gCQkxJzI5NitNAXXtugC6HC5NL9N3tqE1cn3MGYKIiVT7V4kjCGuqLFy7WIBw61jOAdTFikxp66bPT/YXbsnm4RF2yz0Hmgy67EcLwHDmCnlKC0D99hVmcmslntQZaCYuWYlYPgWmOkeOaeXc5bB5XF+sLs2yeMs05iC+rh5uBfF0sbO17EyHSf3HkkfMzunl3P2QZWB88SHsO246JmtpBmsSuYZoMmsJ+5Egn6CQFIvlHUkrk2GKFO5ZiiJ1AVKyEogPwDj7BbgN8M1zVwBOSIBtyDYC/VBJOAeCFuhvogEigXDTqhPIoESd4LmItQ3kUC5oKxCgc1LtUkEZIsEKvx6wnsU6rNIoFpwmUKJpsVmCVT2ARAuEqgeoJNQoH6pLhLf6gU8EAnUE2QMoPDPSxSV6ypP2T499EIkUG+gzlnaND5lo0pjv5/Ztljt2l/vRALNBl2q+y2Kj92pjTYaIDXWVZVruPree4nEJhqi6ppokGfhP6xr60VVr5O+AAAAAElFTkSuQmCC';
17299
+ var img$c = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHMAAABHCAYAAAA0qHhdAAAAAXNSR0IArs4c6QAABGRJREFUeJztnb9PGzEUx7+JMjC0Uge6tVsVdTghQP0D2qgjzGz8D8woE2LO/5CNOcwlU9WJRCgDYmWJRAYkFgak6wDv5HPsO9/P8J79WUhicr7nzz3bOV8uHbRPXOXN2x++1LUfYnh4uu8AQK+FulLy7hbHxn96vrh22tjW0b7xPVtH+87bkMbnj1/jh6f7TqfBOmKgurwy6MJ10VRuKqNylwMl7wBy3U5WuetBOhg9om6ZSRaqEtvImJ2zRfL4/GA3eXy494LJzNwBmcpc//9w7wUAMJn1ktdt5bbnaj228qw6VeqWGbctUEXNxn40Fj+2/jn5lHpel8xUd+oqcedsUajum2HkNHEiqf1oDAD4/e1HkWrYMF8uE6GTWQ+j6aryBCh2lVhUXt77bXJpP2i/+tE41e1y5uo2W1cVmfHd4rhxiXnbdZEqReiv76/jpE1q2YbOFNmUwDxsYreO9lkLvbrtJSLp+Xy5xN9/g8TBYPSIboltv0uRWXU/X1zjbnGM08t527tUC7aM1B0UbXiryE1KNGHKUu4ZqjKarpLMpAlQkcxkIxIw7xP3DLVBnzldZbISSUgXqvtwkclSJCFNqDpu0mdqOkOUJ5O1SEKSUHVWWyQzRYgkJAml7KTMzBszRYkkJAhVu1ny49rNpuAskuAaw9VtL/d0nikwY1ZybQQb+udQ+gzKZbXFtGqiq3Y63yoR6m770Rg3wyi1gK1iel1dQNbLqazsX9M2dKib1bPNi6wkbNl5M4w2tUulGIwe8fB031nrhH0RCbzGpgrVJxSEaYXfdoWCrdxE1lUNtnJ9+6PpKrmgSxUVm45IyTIB8zncnbPF2th58nMbo+kq9zUX8t5XpC4SCQSZVpkovzy4MWiHvRRJSBFaZj0z8E6xyvQlKwE5sYbMFEQXlvHSd97apNL3YtomZKYgjDKljCFFkBBzyExBBJmCCDIFEWQKIsgURJApiCBTEEGmILqA26q4b3Bsk5CZgjDKdL1/gCQkxJzI5NitNAXXtugC6HC5NL9N3tqE1cn3MGYKIiVT7V4kjCGuqLFy7WIBw61jOAdTFikxp66bPT/YXbsnm4RF2yz0Hmgy67EcLwHDmCnlKC0D99hVmcmslntQZaCYuWYlYPgWmOkeOaeXc5bB5XF+sLs2yeMs05iC+rh5uBfF0sbO17EyHSf3HkkfMzunl3P2QZWB88SHsO246JmtpBmsSuYZoMmsJ+5Egn6CQFIvlHUkrk2GKFO5ZiiJ1AVKyEogPwDj7BbgN8M1zVwBOSIBtyDYC/VBJOAeCFuhvogEigXDTqhPIoESd4LmItQ3kUC5oKxCgc1LtUkEZIsEKvx6wnsU6rNIoFpwmUKJpsVmCVT2ARAuEqgeoJNQoH6pLhLf6gU8EAnUE2QMoPDPSxSV6ypP2T499EIkUG+gzlnaND5lo0pjv5/Ztljt2l/vRALNBl2q+y2Kj92pjTYaIDXWVZVruPree4nEJhqi6ppokGfhP6xr60VVr5O+AAAAAElFTkSuQmCC';
17076
17300
 
17077
17301
  var TimeWidget = function TimeWidget(_ref) {
17078
17302
  var onClose = _ref.onClose,
@@ -17090,7 +17314,7 @@ var TimeWidget = function TimeWidget(_ref) {
17090
17314
  var WidgetContainer = /*#__PURE__*/styled.div.withConfig({
17091
17315
  displayName: "TimeWidget__WidgetContainer",
17092
17316
  componentId: "sc-1ja236h-0"
17093
- })(["background-image:url(", ");background-size:10rem;background-repeat:no-repeat;width:10rem;position:absolute;height:100px;"], img$b);
17317
+ })(["background-image:url(", ");background-size:10rem;background-repeat:no-repeat;width:10rem;position:absolute;height:100px;"], img$c);
17094
17318
  var Time = /*#__PURE__*/styled.div.withConfig({
17095
17319
  displayName: "TimeWidget__Time",
17096
17320
  componentId: "sc-1ja236h-1"
@@ -17340,230 +17564,17 @@ var Truncate = function Truncate(_ref) {
17340
17564
  var _ref$maxLines = _ref.maxLines,
17341
17565
  maxLines = _ref$maxLines === void 0 ? 1 : _ref$maxLines,
17342
17566
  children = _ref.children;
17343
- return React__default.createElement(Container$r, {
17567
+ return React__default.createElement(Container$t, {
17344
17568
  maxLines: maxLines
17345
17569
  }, children);
17346
17570
  };
17347
- var Container$r = /*#__PURE__*/styled.div.withConfig({
17571
+ var Container$t = /*#__PURE__*/styled.div.withConfig({
17348
17572
  displayName: "Truncate__Container",
17349
17573
  componentId: "sc-6x00qb-0"
17350
17574
  })(["display:-webkit-box;max-width:100%;max-height:100%;-webkit-line-clamp:", ";-webkit-box-orient:vertical;overflow:hidden;"], function (props) {
17351
17575
  return props.maxLines;
17352
17576
  });
17353
17577
 
17354
- var IS_MOBILE_OR_TABLET = /*#__PURE__*/shared.isMobileOrTablet();
17355
-
17356
- var chunkString = function chunkString(str, length) {
17357
- return str.match(new RegExp('.{1,' + length + '}', 'g'));
17358
- };
17359
-
17360
- var img$c = 'data:image/gif;base64,R0lGODlhEAAQAPIAAAAAABQYLiw1TUBJc2hvmQAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAAAQABAAAAM9CLrc/lCFGSKYJJP5AhlguDnBMIVgxXgmJapSSp3mKs/pKrT0IMCXUk+2Cgh2oSOnaDz+lswZpSOFUq2KBAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAAAQABAAAAIzhI+py90Bg4OjDrjCELxfFQhQx0mIJkaeaYRp5LJADMdnqXbyOJLYTdKBejjZoRaZJBMFACH/C0ltYWdlTWFnaWNrDWdhbW1hPTAuNDU0NTUAIfkEARQAAAAsAAAAABAAEAAAAjKEj6nL7Y+CDE6OO+QKQ/ifKYEgfR4VddPohQe7lmR0xidNTib65uacYP2AQWGuMlEUAAA7';
17361
-
17362
- var NPCDialogText = function NPCDialogText(_ref) {
17363
- var text = _ref.text,
17364
- onClose = _ref.onClose,
17365
- onEndStep = _ref.onEndStep,
17366
- onStartStep = _ref.onStartStep,
17367
- type = _ref.type;
17368
- var windowSize = React.useRef([window.innerWidth, window.innerHeight]);
17369
- function maxCharacters(width) {
17370
- // Set the font size to 16 pixels
17371
- var fontSize = 11.2;
17372
- // Calculate the number of characters that can fit in one line
17373
- var charactersPerLine = Math.floor(width / 2 / fontSize);
17374
- // Calculate the number of lines that can fit in the div
17375
- var linesPerDiv = Math.floor(180 / fontSize);
17376
- // Calculate the maximum number of characters that can fit in the div
17377
- var maxCharacters = charactersPerLine * linesPerDiv;
17378
- // Return the maximum number of characters
17379
- return Math.round(maxCharacters / 5);
17380
- }
17381
- var textChunks = chunkString(text, maxCharacters(windowSize.current[0]));
17382
- var _useState = React.useState(0),
17383
- chunkIndex = _useState[0],
17384
- setChunkIndex = _useState[1];
17385
- var onHandleSpacePress = function onHandleSpacePress(event) {
17386
- if (event.code === 'Space') {
17387
- goToNextStep();
17388
- }
17389
- };
17390
- var goToNextStep = function goToNextStep() {
17391
- var hasNextChunk = (textChunks == null ? void 0 : textChunks[chunkIndex + 1]) || false;
17392
- if (hasNextChunk) {
17393
- setChunkIndex(function (prev) {
17394
- return prev + 1;
17395
- });
17396
- } else {
17397
- // if there's no more text chunks, close the dialog
17398
- onClose();
17399
- }
17400
- };
17401
- React.useEffect(function () {
17402
- document.addEventListener('keydown', onHandleSpacePress);
17403
- return function () {
17404
- return document.removeEventListener('keydown', onHandleSpacePress);
17405
- };
17406
- }, [chunkIndex]);
17407
- var _useState2 = React.useState(false),
17408
- showGoNextIndicator = _useState2[0],
17409
- setShowGoNextIndicator = _useState2[1];
17410
- return React__default.createElement(Container$s, null, React__default.createElement(DynamicText, {
17411
- text: (textChunks == null ? void 0 : textChunks[chunkIndex]) || '',
17412
- onFinish: function onFinish() {
17413
- setShowGoNextIndicator(true);
17414
- onEndStep && onEndStep();
17415
- },
17416
- onStart: function onStart() {
17417
- setShowGoNextIndicator(false);
17418
- onStartStep && onStartStep();
17419
- }
17420
- }), showGoNextIndicator && React__default.createElement(PressSpaceIndicator$1, {
17421
- right: type === exports.NPCDialogType.TextOnly ? '1rem' : '10.5rem',
17422
- src: IS_MOBILE_OR_TABLET ? img$c : img$6,
17423
- onPointerDown: function onPointerDown() {
17424
- goToNextStep();
17425
- }
17426
- }));
17427
- };
17428
- var Container$s = /*#__PURE__*/styled.div.withConfig({
17429
- displayName: "NPCDialogText__Container",
17430
- componentId: "sc-1cxkdh9-0"
17431
- })([""]);
17432
- var PressSpaceIndicator$1 = /*#__PURE__*/styled.img.withConfig({
17433
- displayName: "NPCDialogText__PressSpaceIndicator",
17434
- componentId: "sc-1cxkdh9-1"
17435
- })(["position:absolute;right:", ";bottom:1rem;height:20.7px;image-rendering:-webkit-optimize-contrast;"], function (_ref2) {
17436
- var right = _ref2.right;
17437
- return right;
17438
- });
17439
-
17440
- (function (NPCDialogType) {
17441
- NPCDialogType["TextOnly"] = "TextOnly";
17442
- NPCDialogType["TextAndThumbnail"] = "TextAndThumbnail";
17443
- })(exports.NPCDialogType || (exports.NPCDialogType = {}));
17444
- var NPCDialog = function NPCDialog(_ref) {
17445
- var text = _ref.text,
17446
- type = _ref.type,
17447
- _onClose = _ref.onClose,
17448
- imagePath = _ref.imagePath,
17449
- _ref$isQuestionDialog = _ref.isQuestionDialog,
17450
- isQuestionDialog = _ref$isQuestionDialog === void 0 ? false : _ref$isQuestionDialog,
17451
- questions = _ref.questions,
17452
- answers = _ref.answers;
17453
- return React__default.createElement(RPGUIContainer, {
17454
- type: exports.RPGUIContainerTypes.FramedGold,
17455
- width: isQuestionDialog ? '600px' : '80%',
17456
- height: '180px'
17457
- }, isQuestionDialog && questions && answers ? React__default.createElement(React__default.Fragment, null, React__default.createElement(TextContainer$2, {
17458
- flex: type === exports.NPCDialogType.TextAndThumbnail ? '70%' : '100%'
17459
- }, React__default.createElement(QuestionDialog, {
17460
- questions: questions,
17461
- answers: answers,
17462
- onClose: function onClose() {
17463
- if (_onClose) {
17464
- _onClose();
17465
- }
17466
- }
17467
- })), type === exports.NPCDialogType.TextAndThumbnail && React__default.createElement(ThumbnailContainer$1, null, React__default.createElement(NPCThumbnail$1, {
17468
- src: imagePath || img$5
17469
- }))) : React__default.createElement(React__default.Fragment, null, React__default.createElement(Container$t, null, React__default.createElement(TextContainer$2, {
17470
- flex: type === exports.NPCDialogType.TextAndThumbnail ? '70%' : '100%'
17471
- }, React__default.createElement(NPCDialogText, {
17472
- type: type,
17473
- text: text || 'No text provided.',
17474
- onClose: function onClose() {
17475
- if (_onClose) {
17476
- _onClose();
17477
- }
17478
- }
17479
- })), type === exports.NPCDialogType.TextAndThumbnail && React__default.createElement(ThumbnailContainer$1, null, React__default.createElement(NPCThumbnail$1, {
17480
- src: imagePath || img$5
17481
- })))));
17482
- };
17483
- var Container$t = /*#__PURE__*/styled.div.withConfig({
17484
- displayName: "NPCDialog__Container",
17485
- componentId: "sc-1b4aw74-0"
17486
- })(["display:flex;width:100%;height:100%;box-sizing:border-box;justify-content:center;align-items:flex-start;position:relative;"]);
17487
- var TextContainer$2 = /*#__PURE__*/styled.div.withConfig({
17488
- displayName: "NPCDialog__TextContainer",
17489
- componentId: "sc-1b4aw74-1"
17490
- })(["flex:", " 0 0;width:355px;"], function (_ref2) {
17491
- var flex = _ref2.flex;
17492
- return flex;
17493
- });
17494
- var ThumbnailContainer$1 = /*#__PURE__*/styled.div.withConfig({
17495
- displayName: "NPCDialog__ThumbnailContainer",
17496
- componentId: "sc-1b4aw74-2"
17497
- })(["flex:30% 0 0;display:flex;justify-content:flex-end;"]);
17498
- var NPCThumbnail$1 = /*#__PURE__*/styled.img.withConfig({
17499
- displayName: "NPCDialog__NPCThumbnail",
17500
- componentId: "sc-1b4aw74-3"
17501
- })(["image-rendering:pixelated;height:128px;width:128px;"]);
17502
-
17503
- var HistoryDialog = function HistoryDialog(_ref) {
17504
- var backgroundImgPath = _ref.backgroundImgPath,
17505
- fullCoverBackground = _ref.fullCoverBackground,
17506
- questions = _ref.questions,
17507
- answers = _ref.answers,
17508
- text = _ref.text,
17509
- imagePath = _ref.imagePath,
17510
- textAndTypeArray = _ref.textAndTypeArray,
17511
- onClose = _ref.onClose;
17512
- var _useState = React.useState(0),
17513
- img = _useState[0],
17514
- setImage = _useState[1];
17515
- var onHandleSpacePress = function onHandleSpacePress(event) {
17516
- if (event.code === 'Space') {
17517
- if (img < (backgroundImgPath == null ? void 0 : backgroundImgPath.length) - 1) {
17518
- setImage(function (prev) {
17519
- return prev + 1;
17520
- });
17521
- } else {
17522
- // if there's no more text chunks, close the dialog
17523
- onClose();
17524
- }
17525
- }
17526
- };
17527
- React.useEffect(function () {
17528
- document.addEventListener('keydown', onHandleSpacePress);
17529
- return function () {
17530
- return document.removeEventListener('keydown', onHandleSpacePress);
17531
- };
17532
- }, [backgroundImgPath]);
17533
- return React__default.createElement(BackgroundContainer, {
17534
- imgPath: backgroundImgPath[img],
17535
- fullImg: fullCoverBackground
17536
- }, React__default.createElement(DialogContainer, null, textAndTypeArray ? React__default.createElement(NPCMultiDialog, {
17537
- textAndTypeArray: textAndTypeArray,
17538
- onClose: onClose
17539
- }) : questions && answers ? React__default.createElement(QuestionDialog, {
17540
- questions: questions,
17541
- answers: answers,
17542
- onClose: onClose
17543
- }) : text && imagePath ? React__default.createElement(NPCDialog, {
17544
- text: text,
17545
- imagePath: imagePath,
17546
- onClose: onClose,
17547
- type: exports.NPCDialogType.TextAndThumbnail
17548
- }) : React__default.createElement(NPCDialog, {
17549
- text: text,
17550
- onClose: onClose,
17551
- type: exports.NPCDialogType.TextOnly
17552
- })));
17553
- };
17554
- var BackgroundContainer = /*#__PURE__*/styled.div.withConfig({
17555
- displayName: "HistoryDialog__BackgroundContainer",
17556
- componentId: "sc-u6oe75-0"
17557
- })(["width:100%;height:100%;background-image:url(", ");background-size:", ";display:flex;justify-content:space-evenly;align-items:center;"], function (props) {
17558
- return props.imgPath;
17559
- }, function (props) {
17560
- return props.imgPath ? 'cover' : 'auto';
17561
- });
17562
- var DialogContainer = /*#__PURE__*/styled.div.withConfig({
17563
- displayName: "HistoryDialog__DialogContainer",
17564
- componentId: "sc-u6oe75-1"
17565
- })(["display:flex;justify-content:center;padding-top:200px;"]);
17566
-
17567
17578
  exports.Button = Button;
17568
17579
  exports.CharacterSelection = CharacterSelection;
17569
17580
  exports.Chat = Chat;