@rpg-engine/long-bow 0.4.82 → 0.4.83

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 (168) hide show
  1. package/LICENSE +20 -20
  2. package/README.md +181 -181
  3. package/dist/long-bow.cjs.development.js +1587 -1595
  4. package/dist/long-bow.cjs.development.js.map +1 -1
  5. package/dist/long-bow.cjs.production.min.js +1 -1
  6. package/dist/long-bow.cjs.production.min.js.map +1 -1
  7. package/dist/long-bow.esm.js +1594 -1602
  8. package/dist/long-bow.esm.js.map +1 -1
  9. package/package.json +100 -100
  10. package/src/components/Abstractions/ModalPortal.tsx +22 -22
  11. package/src/components/Abstractions/SlotsContainer.tsx +62 -62
  12. package/src/components/Arrow/SelectArrow.tsx +69 -69
  13. package/src/components/Arrow/img/arrow01-left-clicked.png +0 -0
  14. package/src/components/Arrow/img/arrow01-left.png +0 -0
  15. package/src/components/Arrow/img/arrow01-right-clicked.png +0 -0
  16. package/src/components/Arrow/img/arrow01-right.png +0 -0
  17. package/src/components/Arrow/img/arrow02-left-clicked.png +0 -0
  18. package/src/components/Arrow/img/arrow02-left.png +0 -0
  19. package/src/components/Arrow/img/arrow02-right-clicked.png +0 -0
  20. package/src/components/Arrow/img/arrow02-right.png +0 -0
  21. package/src/components/Button.tsx +40 -40
  22. package/src/components/Character/CharacterSelection.tsx +98 -98
  23. package/src/components/CharacterStatus/CharacterStatus.tsx +120 -120
  24. package/src/components/Chat/Chat.tsx +196 -196
  25. package/src/components/Chatdeprecated/ChatDeprecated.tsx +198 -198
  26. package/src/components/CheckButton.tsx +65 -65
  27. package/src/components/CircularController/CircularController.tsx +282 -282
  28. package/src/components/ConfirmModal.tsx +87 -87
  29. package/src/components/CraftBook/CraftBook.tsx +286 -286
  30. package/src/components/CraftBook/CraftingRecipe.tsx +161 -161
  31. package/src/components/CraftBook/MockItems.ts +101 -101
  32. package/src/components/DraggableContainer.tsx +183 -183
  33. package/src/components/Dropdown.tsx +114 -114
  34. package/src/components/DropdownSelectorContainer.tsx +42 -42
  35. package/src/components/Equipment/EquipmentSet.tsx +199 -199
  36. package/src/components/HistoryDialog.tsx +104 -104
  37. package/src/components/Input.tsx +15 -15
  38. package/src/components/InputRadio.tsx +41 -41
  39. package/src/components/Item/Cards/ItemInfo.tsx +298 -298
  40. package/src/components/Item/Cards/ItemInfoDisplay.tsx +135 -135
  41. package/src/components/Item/Cards/ItemInfoWrapper.tsx +62 -62
  42. package/src/components/Item/Cards/ItemTooltip.tsx +83 -83
  43. package/src/components/Item/Cards/MobileItemTooltip.tsx +149 -149
  44. package/src/components/Item/Inventory/ErrorBoundary.tsx +42 -42
  45. package/src/components/Item/Inventory/ItemContainer.tsx +231 -231
  46. package/src/components/Item/Inventory/ItemContainerTypes.ts +6 -6
  47. package/src/components/Item/Inventory/ItemQuantitySelector.tsx +138 -138
  48. package/src/components/Item/Inventory/ItemSlot.tsx +595 -595
  49. package/src/components/Item/Inventory/itemContainerHelper.ts +175 -175
  50. package/src/components/ListMenu.tsx +63 -63
  51. package/src/components/Marketplace/BuyPanel.tsx +304 -304
  52. package/src/components/Marketplace/ManagmentPanel.tsx +255 -255
  53. package/src/components/Marketplace/Marketplace.tsx +106 -106
  54. package/src/components/Marketplace/MarketplaceRows.tsx +177 -177
  55. package/src/components/Marketplace/filters/index.tsx +67 -67
  56. package/src/components/Multitab/Tab.tsx +66 -66
  57. package/src/components/Multitab/TabBody.tsx +13 -13
  58. package/src/components/Multitab/TabsContainer.tsx +97 -97
  59. package/src/components/NPCDialog/NPCDialog.tsx +121 -121
  60. package/src/components/NPCDialog/NPCDialogText.tsx +113 -113
  61. package/src/components/NPCDialog/NPCMultiDialog.tsx +159 -159
  62. package/src/components/NPCDialog/QuestionDialog/QuestionDialog.tsx +237 -237
  63. package/src/components/Pager.tsx +94 -94
  64. package/src/components/ProgressBar.tsx +102 -102
  65. package/src/components/PropertySelect/PropertySelect.tsx +106 -106
  66. package/src/components/QuestInfo/QuestInfo.tsx +233 -233
  67. package/src/components/QuestList.tsx +135 -135
  68. package/src/components/RPGUIContainer.tsx +47 -47
  69. package/src/components/RPGUIForceRenderStart.tsx +45 -45
  70. package/src/components/RPGUIRoot.tsx +14 -14
  71. package/src/components/RadioButton.tsx +53 -53
  72. package/src/components/RadioInput/RadioButton.tsx +96 -96
  73. package/src/components/RadioInput/RadioInput.tsx +102 -102
  74. package/src/components/RadioInput/instruments.ts +15 -15
  75. package/src/components/RangeSlider.tsx +78 -78
  76. package/src/components/RelativeListMenu.tsx +90 -90
  77. package/src/components/ScrollList.tsx +79 -79
  78. package/src/components/Shortcuts/Shortcuts.tsx +193 -193
  79. package/src/components/Shortcuts/ShortcutsSetter.tsx +139 -139
  80. package/src/components/Shortcuts/SingleShortcut.ts +82 -82
  81. package/src/components/Shortcuts/useShortcutCooldown.ts +23 -23
  82. package/src/components/SimpleProgressBar.tsx +62 -62
  83. package/src/components/SkillProgressBar.tsx +198 -206
  84. package/src/components/SkillsContainer.tsx +213 -213
  85. package/src/components/Spellbook/Spell.tsx +235 -235
  86. package/src/components/Spellbook/Spellbook.tsx +145 -145
  87. package/src/components/Spellbook/cards/MobileSpellTooltip.tsx +137 -137
  88. package/src/components/Spellbook/cards/SpellInfo.tsx +134 -134
  89. package/src/components/Spellbook/cards/SpellInfoDisplay.tsx +31 -31
  90. package/src/components/Spellbook/cards/SpellInfoWrapper.tsx +48 -48
  91. package/src/components/Spellbook/cards/SpellTooltip.tsx +70 -70
  92. package/src/components/Spellbook/constants.ts +7 -7
  93. package/src/components/Spellbook/mockSpells.ts +84 -84
  94. package/src/components/StaticBook/StaticBook.tsx +103 -103
  95. package/src/components/TextArea.tsx +11 -11
  96. package/src/components/TimeWidget/DayNightPeriod/DayNightPeriod.tsx +35 -35
  97. package/src/components/TimeWidget/TimeWidget.tsx +65 -65
  98. package/src/components/TradingMenu/TradingItemRow.tsx +199 -199
  99. package/src/components/TradingMenu/TradingMenu.tsx +219 -219
  100. package/src/components/TradingMenu/items.mock.ts +48 -48
  101. package/src/components/Truncate.tsx +25 -25
  102. package/src/components/itemSelector/ItemSelector.tsx +136 -136
  103. package/src/components/shared/Column.tsx +16 -16
  104. package/src/components/shared/Ellipsis.tsx +76 -76
  105. package/src/components/shared/SpriteFromAtlas.tsx +104 -104
  106. package/src/components/typography/DynamicText.tsx +49 -49
  107. package/src/constants/uiColors.ts +20 -20
  108. package/src/constants/uiDevices.ts +3 -3
  109. package/src/constants/uiFonts.ts +12 -12
  110. package/src/hooks/useEventListener.ts +21 -21
  111. package/src/hooks/useOutsideAlerter.ts +25 -25
  112. package/src/index.tsx +42 -42
  113. package/src/libs/CastingTypeHelper.ts +7 -7
  114. package/src/libs/StringHelpers.ts +3 -3
  115. package/src/libs/itemCounter.ts +21 -21
  116. package/src/mocks/atlas/entities/entities.json +20215 -20215
  117. package/src/mocks/atlas/icons/icons.json +735 -735
  118. package/src/mocks/atlas/items/items.json +12086 -12086
  119. package/src/mocks/equipmentSet.mocks.ts +391 -391
  120. package/src/mocks/itemContainer.mocks.ts +605 -605
  121. package/src/mocks/skills.mocks.ts +130 -130
  122. package/src/stories/Arrow.stories.tsx +26 -26
  123. package/src/stories/Button.stories.tsx +36 -36
  124. package/src/stories/CharacterSelection.stories.tsx +44 -44
  125. package/src/stories/CharacterStatus.stories.tsx +29 -29
  126. package/src/stories/Chat.stories.tsx +187 -187
  127. package/src/stories/ChatDeprecated.stories.tsx +170 -170
  128. package/src/stories/CheckButton.stories.tsx +48 -48
  129. package/src/stories/CircullarController.stories.tsx +37 -37
  130. package/src/stories/CraftBook.stories.tsx +42 -42
  131. package/src/stories/DayNightPeriod.stories.tsx +27 -27
  132. package/src/stories/DraggableContainer.stories.tsx +28 -28
  133. package/src/stories/Dropdown.stories.tsx +46 -46
  134. package/src/stories/DropdownSelectorContainer.stories.tsx +41 -41
  135. package/src/stories/EquipmentSet.stories.tsx +65 -65
  136. package/src/stories/HistoryDialog.stories.tsx +61 -61
  137. package/src/stories/ItemContainer.stories.tsx +201 -201
  138. package/src/stories/ItemInfoDisplay.stories.tsx +33 -33
  139. package/src/stories/ItemQuantitySelector.stories.tsx +26 -26
  140. package/src/stories/ItemSelector.stories.tsx +77 -77
  141. package/src/stories/ItemTradingComponent.stories.tsx +35 -35
  142. package/src/stories/ListMenu.stories.tsx +56 -56
  143. package/src/stories/Marketplace.stories.tsx +57 -57
  144. package/src/stories/MarketplaceRows.stories.tsx +27 -27
  145. package/src/stories/Multitab.stories.tsx +51 -51
  146. package/src/stories/NPCDialog.stories.tsx +130 -130
  147. package/src/stories/NPCMultiDialog.stories.tsx +71 -71
  148. package/src/stories/ProgressBar.stories.tsx +24 -24
  149. package/src/stories/PropertySelect.stories.tsx +40 -40
  150. package/src/stories/QuestInfo.stories.tsx +107 -107
  151. package/src/stories/QuestList.stories.tsx +82 -82
  152. package/src/stories/RPGUIContainers.stories.tsx +42 -42
  153. package/src/stories/RadioButton.stories.tsx +49 -49
  154. package/src/stories/RadioInput.stories.tsx +34 -34
  155. package/src/stories/RangeSlider.stories.tsx +64 -64
  156. package/src/stories/ScrollList.stories.tsx +85 -85
  157. package/src/stories/Shortcuts.stories.tsx +39 -39
  158. package/src/stories/SimpleProgressBar.stories.tsx +22 -22
  159. package/src/stories/SkillProgressBar.stories.tsx +34 -34
  160. package/src/stories/SkillsContainer.stories.tsx +35 -35
  161. package/src/stories/SpellInfoDisplay.stories.tsx +27 -27
  162. package/src/stories/Spellbook.stories.tsx +104 -104
  163. package/src/stories/StaticBook.stories.tsx +32 -32
  164. package/src/stories/Text.stories.tsx +42 -42
  165. package/src/stories/TimeWidget.stories.tsx +27 -27
  166. package/src/stories/TradingMenu.stories.tsx +47 -47
  167. package/src/types/eventTypes.ts +4 -4
  168. package/src/types/index.d.ts +2 -2
@@ -14601,1438 +14601,1651 @@ 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);
14742
- return function () {
14743
- document.removeEventListener('keydown', closeSelector);
14744
- };
14745
- }
14746
- return function () {};
14747
- }, []);
14748
- return React__default.createElement(StyledContainer, {
14749
- type: exports.RPGUIContainerTypes.Framed,
14750
- width: "25rem"
14751
- }, React__default.createElement(CloseButton$2, {
14752
- className: "container-close",
14753
- onPointerDown: onClose
14754
- }, "X"), React__default.createElement("h2", null, "Select quantity to move"), React__default.createElement(StyledForm, {
14755
- style: {
14756
- width: '100%'
14757
- },
14758
- onSubmit: function onSubmit(e) {
14759
- e.preventDefault();
14760
- var numberValue = Number(value);
14761
- if (Number.isNaN(numberValue)) {
14762
- return;
14763
- }
14764
- onConfirm(Math.max(1, Math.min(quantity, numberValue)));
14765
- },
14766
- noValidate: true
14767
- }, React__default.createElement(StyledInput, {
14768
- innerRef: inputRef,
14769
- placeholder: "Enter quantity",
14770
- type: "number",
14771
- min: 1,
14772
- max: quantity,
14773
- value: value,
14774
- onChange: function onChange(e) {
14775
- if (Number(e.target.value) >= quantity) {
14776
- setValue(quantity);
14777
- return;
14778
- }
14779
- setValue(e.target.value);
14780
- },
14781
- onBlur: function onBlur(e) {
14782
- var newValue = Math.max(1, Math.min(quantity, Number(e.target.value)));
14783
- setValue(newValue);
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;
14784
14763
  }
14785
- }), React__default.createElement(RangeSlider, {
14786
- type: exports.RangeSliderType.Slider,
14787
- valueMin: 1,
14788
- valueMax: quantity,
14789
- width: "100%",
14790
- onChange: setValue,
14791
- value: value
14792
- }), React__default.createElement(Button, {
14793
- buttonType: exports.ButtonTypes.RPGUIButton,
14794
- type: "submit"
14795
- }, "Confirm")));
14796
- };
14797
- var StyledContainer = /*#__PURE__*/styled(RPGUIContainer).withConfig({
14798
- displayName: "ItemQuantitySelector__StyledContainer",
14799
- componentId: "sc-yfdtpn-0"
14800
- })(["display:flex;flex-direction:column;align-items:center;"]);
14801
- var StyledForm = /*#__PURE__*/styled.form.withConfig({
14802
- displayName: "ItemQuantitySelector__StyledForm",
14803
- componentId: "sc-yfdtpn-1"
14804
- })(["display:flex;flex-direction:column;align-items:center;width:100%;"]);
14805
- var StyledInput = /*#__PURE__*/styled(Input).withConfig({
14806
- displayName: "ItemQuantitySelector__StyledInput",
14807
- componentId: "sc-yfdtpn-2"
14808
- })(["text-align:center;&::-webkit-outer-spin-button,&::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}&[type='number']{-moz-appearance:textfield;}"]);
14809
- var CloseButton$2 = /*#__PURE__*/styled.div.withConfig({
14810
- displayName: "ItemQuantitySelector__CloseButton",
14811
- componentId: "sc-yfdtpn-3"
14812
- })(["position:absolute;top:3px;right:0px;color:white;z-index:22;font-size:0.8rem;"]);
14813
-
14814
- var ShortcutsSetter = function ShortcutsSetter(_ref) {
14815
- var setSettingShortcutIndex = _ref.setSettingShortcutIndex,
14816
- settingShortcutIndex = _ref.settingShortcutIndex,
14817
- shortcuts = _ref.shortcuts,
14818
- removeShortcut = _ref.removeShortcut,
14819
- atlasJSON = _ref.atlasJSON,
14820
- atlasIMG = _ref.atlasIMG;
14821
- var getContent = function getContent(index) {
14822
- var _shortcuts$index, _shortcuts$index3;
14823
- if (((_shortcuts$index = shortcuts[index]) == null ? void 0 : _shortcuts$index.type) === shared.ShortcutType.Item) {
14824
- var _shortcuts$index2;
14825
- var _payload = (_shortcuts$index2 = shortcuts[index]) == null ? void 0 : _shortcuts$index2.payload;
14826
- if (!_payload) return null;
14827
- return React__default.createElement(SpriteFromAtlas, {
14828
- atlasIMG: atlasIMG,
14829
- atlasJSON: atlasJSON,
14830
- spriteKey: shared.getItemTextureKeyPath({
14831
- key: _payload.texturePath,
14832
- texturePath: _payload.texturePath,
14833
- stackQty: _payload.stackQty || 1,
14834
- isStackable: _payload.isStackable
14835
- }, atlasJSON),
14836
- width: 32,
14837
- height: 32,
14838
- imgScale: 1.6,
14839
- imgStyle: {
14840
- left: '5px'
14841
- }
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;
14842
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;
14843
14826
  }
14844
- var payload = (_shortcuts$index3 = shortcuts[index]) == null ? void 0 : _shortcuts$index3.payload;
14845
- return React__default.createElement("span", null, payload == null ? void 0 : payload.magicWords.split(' ').map(function (word) {
14846
- return word[0];
14847
- }));
14848
14827
  };
14849
- return React__default.createElement(Container$e, null, React__default.createElement("p", null, "Shortcuts:"), React__default.createElement(List, {
14850
- id: "shortcuts_list"
14851
- }, Array.from({
14852
- length: 6
14853
- }).map(function (_, i) {
14854
- return React__default.createElement(Shortcut, {
14855
- key: i,
14856
- onPointerDown: function onPointerDown() {
14857
- if (settingShortcutIndex !== -1) setSettingShortcutIndex(-1);
14858
- removeShortcut(i);
14859
- if (settingShortcutIndex === -1 && (!shortcuts[i] || shortcuts[i].type === shared.ShortcutType.None)) setSettingShortcutIndex(i);
14860
- },
14861
- disabled: settingShortcutIndex !== -1 && settingShortcutIndex !== i,
14862
- isBeingSet: settingShortcutIndex === i,
14863
- id: "shortcutSetter_" + i
14864
- }, getContent(i));
14865
- })));
14866
- };
14867
- var Container$e = /*#__PURE__*/styled.div.withConfig({
14868
- displayName: "ShortcutsSetter__Container",
14869
- componentId: "sc-xuouuf-0"
14870
- })(["p{margin:0;margin-left:0.5rem;}"]);
14871
- var Shortcut = /*#__PURE__*/styled.button.withConfig({
14872
- displayName: "ShortcutsSetter__Shortcut",
14873
- componentId: "sc-xuouuf-1"
14874
- })(["width:2.6rem;height:2.6rem;background-color:", ";border:2px solid ", ";border-radius:50%;text-transform:uppercase;font-size:0.7rem;font-weight:bold;display:flex;align-items:center;justify-content:center;span{margin-top:4px;}&:hover,&:focus{background-color:", ";}&:active{background-color:", ";}&:disabled{opacity:0.5;}"], uiColors.lightGray, function (_ref2) {
14875
- var isBeingSet = _ref2.isBeingSet;
14876
- return isBeingSet ? uiColors.yellow : uiColors.darkGray;
14877
- }, uiColors.darkGray, uiColors.gray);
14878
- var List = /*#__PURE__*/styled.div.withConfig({
14879
- displayName: "ShortcutsSetter__List",
14880
- componentId: "sc-xuouuf-2"
14881
- })(["width:100%;display:flex;align-items:center;gap:0.5rem;padding-bottom:0.5rem;padding-left:0.5rem;box-sizing:border-box;margin:0 !important;"]);
14882
-
14883
- var ItemContainer$1 = function ItemContainer(_ref) {
14884
- var itemContainer = _ref.itemContainer,
14885
- onClose = _ref.onClose,
14886
- _onMouseOver = _ref.onMouseOver,
14887
- _onSelected = _ref.onSelected,
14888
- onItemClick = _ref.onItemClick,
14889
- type = _ref.type,
14890
- atlasJSON = _ref.atlasJSON,
14891
- atlasIMG = _ref.atlasIMG,
14892
- _ref$disableContextMe = _ref.disableContextMenu,
14893
- disableContextMenu = _ref$disableContextMe === void 0 ? false : _ref$disableContextMe,
14894
- onItemDragEnd = _ref.onItemDragEnd,
14895
- onItemDragStart = _ref.onItemDragStart,
14896
- onItemPlaceDrop = _ref.onItemPlaceDrop,
14897
- _onOutsideDrop = _ref.onOutsideDrop,
14898
- checkIfItemCanBeMoved = _ref.checkIfItemCanBeMoved,
14899
- initialPosition = _ref.initialPosition,
14900
- checkIfItemShouldDragEnd = _ref.checkIfItemShouldDragEnd,
14901
- scale = _ref.scale,
14902
- shortcuts = _ref.shortcuts,
14903
- setItemShortcut = _ref.setItemShortcut,
14904
- removeShortcut = _ref.removeShortcut,
14905
- equipmentSet = _ref.equipmentSet,
14906
- isDepotSystem = _ref.isDepotSystem,
14907
- onPositionChangeEnd = _ref.onPositionChangeEnd,
14908
- onPositionChangeStart = _ref.onPositionChangeStart;
14909
- var _useState = React.useState({
14910
- isOpen: false,
14911
- maxQuantity: 1,
14912
- callback: function callback(_quantity) {}
14913
- }),
14914
- quantitySelect = _useState[0],
14915
- setQuantitySelect = _useState[1];
14916
- var _useState2 = React.useState(-1),
14917
- settingShortcutIndex = _useState2[0],
14918
- setSettingShortcutIndex = _useState2[1];
14919
- var handleSetShortcut = function handleSetShortcut(item, index) {
14920
- if (item.type === shared.ItemType.Consumable || item.type === shared.ItemType.Tool) {
14921
- setItemShortcut == null ? void 0 : setItemShortcut(item.key, index);
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();
14922
14839
  }
14923
14840
  };
14924
- var onRenderSlots = function onRenderSlots() {
14925
- var slots = [];
14926
- for (var i = 0; i < itemContainer.slotQty; i++) {
14927
- var _itemContainer$slots;
14928
- slots.push(React__default.createElement(ItemSlot, {
14929
- isContextMenuDisabled: disableContextMenu,
14930
- key: i,
14931
- slotIndex: i,
14932
- item: ((_itemContainer$slots = itemContainer.slots) == null ? void 0 : _itemContainer$slots[i]) || null,
14933
- itemContainerType: type,
14934
- onMouseOver: function onMouseOver(event, slotIndex, item) {
14935
- if (_onMouseOver) _onMouseOver(event, slotIndex, item);
14936
- },
14937
- onPointerDown: function onPointerDown(itemType, containerType, item) {
14938
- if (settingShortcutIndex !== -1) {
14939
- setSettingShortcutIndex(-1);
14940
- handleSetShortcut(item, settingShortcutIndex);
14941
- } else if (onItemClick) onItemClick(item, itemType, containerType);
14942
- },
14943
- onSelected: function onSelected(optionId, item) {
14944
- if (_onSelected) _onSelected(optionId, item);
14945
- },
14946
- onDragStart: function onDragStart(item, slotIndex, itemContainerType) {
14947
- if (onItemDragStart) onItemDragStart(item, slotIndex, itemContainerType);
14948
- },
14949
- onDragEnd: function onDragEnd(quantity) {
14950
- if (onItemDragEnd) onItemDragEnd(quantity);
14951
- },
14952
- dragScale: scale,
14953
- checkIfItemCanBeMoved: checkIfItemCanBeMoved,
14954
- checkIfItemShouldDragEnd: checkIfItemShouldDragEnd,
14955
- openQuantitySelector: function openQuantitySelector(maxQuantity, callback) {
14956
- setQuantitySelect({
14957
- isOpen: true,
14958
- maxQuantity: maxQuantity,
14959
- callback: callback
14960
- });
14961
- },
14962
- onPlaceDrop: function onPlaceDrop(item, slotIndex, itemContainerType) {
14963
- if (onItemPlaceDrop) onItemPlaceDrop(item, slotIndex, itemContainerType);
14964
- },
14965
- onOutsideDrop: function onOutsideDrop(item, position) {
14966
- if (_onOutsideDrop) _onOutsideDrop(item, position);
14967
- },
14968
- atlasIMG: atlasIMG,
14969
- atlasJSON: atlasJSON,
14970
- isSelectingShortcut: settingShortcutIndex !== -1,
14971
- equipmentSet: equipmentSet,
14972
- setItemShortcut: type === shared.ItemContainerType.Inventory ? handleSetShortcut : undefined,
14973
- isDepotSystem: isDepotSystem
14974
- }));
14841
+ var onRenderCurrentAnswers = function onRenderCurrentAnswers() {
14842
+ var answerIds = currentQuestion.answerIds;
14843
+ if (!answerIds) {
14844
+ return null;
14975
14845
  }
14976
- return slots;
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
+ });
14977
14868
  };
14978
- return React__default.createElement(React__default.Fragment, null, React__default.createElement(SlotsContainer, {
14979
- title: itemContainer.name || 'Container',
14980
- onClose: onClose,
14981
- initialPosition: initialPosition,
14982
- scale: scale,
14983
- onPositionChangeEnd: onPositionChangeEnd,
14984
- onPositionChangeStart: onPositionChangeStart
14985
- }, type === shared.ItemContainerType.Inventory && shortcuts && removeShortcut && React__default.createElement(ShortcutsSetter, {
14986
- setSettingShortcutIndex: setSettingShortcutIndex,
14987
- settingShortcutIndex: settingShortcutIndex,
14988
- shortcuts: shortcuts,
14989
- removeShortcut: removeShortcut,
14990
- atlasIMG: atlasIMG,
14991
- atlasJSON: atlasJSON
14992
- }), React__default.createElement(ItemsContainer, {
14993
- className: "item-container-body"
14994
- }, onRenderSlots())), quantitySelect.isOpen && React__default.createElement(ModalPortal, null, React__default.createElement(QuantitySelectorContainer, null, React__default.createElement(ItemQuantitySelector, {
14995
- quantity: quantitySelect.maxQuantity,
14996
- onConfirm: function onConfirm(quantity) {
14997
- quantitySelect.callback(quantity);
14998
- setQuantitySelect({
14999
- isOpen: false,
15000
- maxQuantity: 1,
15001
- callback: function callback() {}
15002
- });
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);
15003
14873
  },
15004
- onClose: function onClose() {
15005
- quantitySelect.callback(-1);
15006
- setQuantitySelect({
15007
- isOpen: false,
15008
- maxQuantity: 1,
15009
- callback: function callback() {}
15010
- });
14874
+ onFinish: function onFinish() {
14875
+ return setCanShowAnswers(true);
15011
14876
  }
15012
- }))));
14877
+ })), canShowAnswers && React__default.createElement(AnswersContainer, null, onRenderCurrentAnswers()));
15013
14878
  };
15014
- var ItemsContainer = /*#__PURE__*/styled.div.withConfig({
15015
- displayName: "ItemContainer__ItemsContainer",
15016
- componentId: "sc-15y5p9l-0"
15017
- })(["display:flex;justify-content:center;flex-wrap:wrap;"]);
15018
- var QuantitySelectorContainer = /*#__PURE__*/styled.div.withConfig({
15019
- displayName: "ItemContainer__QuantitySelectorContainer",
15020
- componentId: "sc-15y5p9l-1"
15021
- })(["position:absolute;top:0;left:0;width:100vw;height:100vh;z-index:100;display:flex;justify-content:center;align-items:center;background-color:rgba(0,0,0,0.5);"]);
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;}"]);
15022
14907
 
15023
- var ItemSelector = function ItemSelector(_ref) {
15024
- var atlasIMG = _ref.atlasIMG,
15025
- atlasJSON = _ref.atlasJSON,
15026
- options = _ref.options,
15027
- onClose = _ref.onClose,
15028
- onSelect = _ref.onSelect;
15029
- var _useState = React.useState(),
15030
- selectedValue = _useState[0],
15031
- setSelectedValue = _useState[1];
15032
- var handleClick = function handleClick() {
15033
- var element = document.querySelector("input[name='test']:checked");
15034
- var elementValue = element.value;
15035
- setSelectedValue(elementValue);
15036
- };
15037
- React.useEffect(function () {
15038
- if (selectedValue) {
15039
- onSelect(selectedValue);
15040
- }
15041
- }, [selectedValue]);
15042
- return React__default.createElement(DraggableContainer, {
15043
- type: exports.RPGUIContainerTypes.Framed,
15044
- width: "500px",
15045
- cancelDrag: ".equipment-container-body .arrow-selector",
15046
- onCloseButton: function onCloseButton() {
15047
- if (onClose) {
15048
- onClose();
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();
15049
14935
  }
15050
14936
  }
15051
- }, React__default.createElement("div", {
15052
- style: {
15053
- width: '100%'
15054
- }
15055
- }, React__default.createElement(Title$3, null, 'Harvesting instruments'), React__default.createElement(Subtitle$1, null, 'Use the tool, you need it'), React__default.createElement("hr", {
15056
- className: "golden"
15057
- })), React__default.createElement(RadioInputScroller$1, null, options == null ? void 0 : options.map(function (option, index) {
15058
- return React__default.createElement(RadioOptionsWrapper$1, {
15059
- key: index
15060
- }, React__default.createElement(SpriteAtlasWrapper$1, null, React__default.createElement(SpriteFromAtlas, {
15061
- atlasIMG: atlasIMG,
15062
- atlasJSON: atlasJSON,
15063
- spriteKey: option.imageKey,
15064
- imgScale: 3
15065
- })), React__default.createElement("div", null, React__default.createElement("input", {
15066
- className: "rpgui-radio",
15067
- type: "radio",
15068
- value: option.name,
15069
- name: "test"
15070
- }), React__default.createElement("label", {
15071
- onPointerDown: handleClick,
15072
- style: {
15073
- display: 'flex',
15074
- alignItems: 'center'
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();
15075
14947
  }
15076
- }, option.name, " ", React__default.createElement("br", null), option.description)));
15077
- })), React__default.createElement(ButtonWrapper$1, null, React__default.createElement(Button, {
15078
- buttonType: exports.ButtonTypes.RPGUIButton,
15079
- onPointerDown: onClose
15080
- }, "Cancel"), React__default.createElement(Button, {
15081
- buttonType: exports.ButtonTypes.RPGUIButton
15082
- }, "Select")));
14948
+ }
14949
+ })), type === exports.NPCDialogType.TextAndThumbnail && React__default.createElement(ThumbnailContainer, null, React__default.createElement(NPCThumbnail, {
14950
+ src: imagePath || img$7
14951
+ })))));
15083
14952
  };
15084
- var Title$3 = /*#__PURE__*/styled.h1.withConfig({
15085
- displayName: "ItemSelector__Title",
15086
- componentId: "sc-gptoxp-0"
15087
- })(["font-size:0.6rem;color:yellow !important;"]);
15088
- var Subtitle$1 = /*#__PURE__*/styled.h1.withConfig({
15089
- displayName: "ItemSelector__Subtitle",
15090
- componentId: "sc-gptoxp-1"
15091
- })(["font-size:0.4rem;color:yellow !important;"]);
15092
- var RadioInputScroller$1 = /*#__PURE__*/styled.div.withConfig({
15093
- displayName: "ItemSelector__RadioInputScroller",
15094
- componentId: "sc-gptoxp-2"
15095
- })(["padding-left:15px;padding-top:10px;width:100%;margin-top:1rem;align-items:center;margin-left:20px;align-items:flex-start;overflow-y:scroll;height:360px;"]);
15096
- var SpriteAtlasWrapper$1 = /*#__PURE__*/styled.div.withConfig({
15097
- displayName: "ItemSelector__SpriteAtlasWrapper",
15098
- componentId: "sc-gptoxp-3"
15099
- })(["margin-right:40px;"]);
15100
- var RadioOptionsWrapper$1 = /*#__PURE__*/styled.div.withConfig({
15101
- displayName: "ItemSelector__RadioOptionsWrapper",
15102
- componentId: "sc-gptoxp-4"
15103
- })(["display:flex;align-items:stretch;margin-bottom:40px;"]);
15104
- var ButtonWrapper$1 = /*#__PURE__*/styled.div.withConfig({
15105
- displayName: "ItemSelector__ButtonWrapper",
15106
- componentId: "sc-gptoxp-5"
15107
- })(["display:flex;justify-content:space-around;padding-top:20px;width:100%;"]);
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;"]);
15108
14972
 
15109
- var ListMenu = function ListMenu(_ref) {
15110
- var options = _ref.options,
15111
- onSelected = _ref.onSelected,
15112
- x = _ref.x,
15113
- y = _ref.y;
15114
- return React__default.createElement(Container$f, {
15115
- x: x,
15116
- y: y
15117
- }, React__default.createElement("ul", {
15118
- className: "rpgui-list-imp",
15119
- style: {
15120
- overflow: 'hidden'
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
+ }
15121
14997
  }
15122
- }, options.map(function (params, index) {
15123
- return React__default.createElement(ListElement$1, {
15124
- key: (params == null ? void 0 : params.id) || index,
15125
- onPointerDown: function onPointerDown() {
15126
- onSelected(params == null ? void 0 : params.id);
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();
15127
15022
  }
15128
- }, (params == null ? void 0 : params.text) || 'No text');
15129
- })));
15130
- };
15131
- var Container$f = /*#__PURE__*/styled.div.withConfig({
15132
- displayName: "ListMenu__Container",
15133
- componentId: "sc-i9097t-0"
15134
- })(["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) {
15135
- return props.y || 0;
15136
- }, function (props) {
15137
- return props.x || 0;
15138
- }, uiFonts.size.xsmall);
15139
- var ListElement$1 = /*#__PURE__*/styled.li.withConfig({
15140
- displayName: "ListMenu__ListElement",
15141
- componentId: "sc-i9097t-1"
15142
- })(["margin-right:0.5rem;"]);
15143
-
15144
- var Pager = function Pager(_ref) {
15145
- var totalItems = _ref.totalItems,
15146
- currentPage = _ref.currentPage,
15147
- itemsPerPage = _ref.itemsPerPage,
15148
- onPageChange = _ref.onPageChange;
15149
- 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", {
15151
- disabled: currentPage === 1,
15152
- onPointerDown: function onPointerDown() {
15153
- return onPageChange(Math.max(currentPage - 1, 1));
15154
15023
  }
15155
- }, '<'), React__default.createElement("div", {
15156
- className: "rpgui-container framed-grey"
15157
- }, currentPage), React__default.createElement("button", {
15158
- disabled: currentPage === totalPages,
15159
- onPointerDown: function onPointerDown() {
15160
- return onPageChange(Math.min(currentPage + 1, totalPages));
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
+ }
15161
15045
  }
15162
- }, '>')));
15046
+ })), showGoNextIndicator && React__default.createElement(PressSpaceIndicator$1, {
15047
+ right: '1rem',
15048
+ src: img$6
15049
+ }))), ")"));
15163
15050
  };
15164
- var Container$g = /*#__PURE__*/styled.div.withConfig({
15165
- displayName: "Pager__Container",
15166
- componentId: "sc-1ekmf50-0"
15167
- })(["display:flex;flex-direction:column;align-items:center;p{margin:0;font-size:", ";}"], uiFonts.size.xsmall);
15168
- var PagerContainer = /*#__PURE__*/styled.div.withConfig({
15169
- displayName: "Pager__PagerContainer",
15170
- componentId: "sc-1ekmf50-1"
15171
- })(["display:flex;justify-content:center;align-items:center;gap:5px;p{margin:0;}div{color:white;}button{width:40px;height:40px;background-color:", ";border:none;border-radius:5px;color:white;:hover{background-color:", ";}:disabled{opacity:0.5;}&.active{background-color:", ";font-weight:bold;color:black;}}"], uiColors.darkGray, uiColors.lightGray, uiColors.orange);
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
+ });
15172
15077
 
15173
- var ConfirmModal = function ConfirmModal(_ref) {
15174
- var onConfirm = _ref.onConfirm,
15175
- onClose = _ref.onClose,
15176
- message = _ref.message;
15177
- return React__default.createElement(ModalPortal, null, React__default.createElement(Background, null), React__default.createElement(Container$h, {
15178
- onPointerDown: onClose
15179
- }, React__default.createElement(DraggableContainer, {
15180
- width: "auto",
15181
- dragDisabled: true
15182
- }, React__default.createElement(Wrapper$1, {
15183
- onPointerDown: function onPointerDown(e) {
15184
- return e.stopPropagation();
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
+ }
15185
15100
  }
15186
- }, React__default.createElement("p", null, message != null ? message : 'Are you sure?'), React__default.createElement(ButtonsWrapper, null, React__default.createElement("div", {
15187
- className: "cancel-button"
15188
- }, React__default.createElement(Button, {
15189
- buttonType: exports.ButtonTypes.RPGUIButton,
15190
- onPointerDown: onClose
15191
- }, "No")), React__default.createElement(Button, {
15192
- buttonType: exports.ButtonTypes.RPGUIButton,
15193
- onPointerDown: onConfirm
15194
- }, "Yes"))))));
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
+ })));
15195
15128
  };
15196
- var Background = /*#__PURE__*/styled.div.withConfig({
15197
- displayName: "ConfirmModal__Background",
15198
- componentId: "sc-11qkyu1-0"
15199
- })(["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({
15201
- displayName: "ConfirmModal__Container",
15202
- componentId: "sc-11qkyu1-1"
15203
- })(["position:absolute;width:100%;height:100%;left:0;top:0;display:flex;justify-content:center;align-items:center;z-index:1001;"]);
15204
- var Wrapper$1 = /*#__PURE__*/styled.div.withConfig({
15205
- displayName: "ConfirmModal__Wrapper",
15206
- componentId: "sc-11qkyu1-2"
15207
- })(["p{margin:0;}"]);
15208
- var ButtonsWrapper = /*#__PURE__*/styled.div.withConfig({
15209
- displayName: "ConfirmModal__ButtonsWrapper",
15210
- componentId: "sc-11qkyu1-3"
15211
- })(["display:flex;justify-content:flex-end;gap:5px;margin-top:5px;.cancel-button{filter:grayscale(0.7);}"]);
15212
-
15213
- var MarketplaceRows = function MarketplaceRows(_ref) {
15214
- var atlasJSON = _ref.atlasJSON,
15215
- atlasIMG = _ref.atlasIMG,
15216
- item = _ref.item,
15217
- itemPrice = _ref.itemPrice,
15218
- equipmentSet = _ref.equipmentSet,
15219
- scale = _ref.scale,
15220
- onMarketPlaceItemBuy = _ref.onMarketPlaceItemBuy,
15221
- onMarketPlaceItemRemove = _ref.onMarketPlaceItemRemove,
15222
- disabled = _ref.disabled;
15223
- return React__default.createElement(MarketplaceWrapper, null, React__default.createElement(ItemIconContainer, null, React__default.createElement(SpriteContainer, null, React__default.createElement(ItemInfoWrapper, {
15224
- item: item,
15225
- atlasIMG: atlasIMG,
15226
- atlasJSON: atlasJSON,
15227
- equipmentSet: equipmentSet,
15228
- scale: scale
15229
- }, React__default.createElement(RarityContainer, {
15230
- item: item
15231
- }, React__default.createElement(SpriteFromAtlas, {
15232
- atlasIMG: atlasIMG,
15233
- atlasJSON: atlasJSON,
15234
- spriteKey: shared.getItemTextureKeyPath({
15235
- key: item.key,
15236
- stackQty: item.stackQty || 1,
15237
- texturePath: item.texturePath,
15238
- isStackable: item.isStackable
15239
- }, atlasJSON),
15240
- imgScale: 2
15241
- })), React__default.createElement(QuantityContainer, null, item.stackQty && item.stackQty > 1 && "x" + Math.round(item.stackQty * 10) / 10))), React__default.createElement(PriceValue, null, React__default.createElement("p", null, React__default.createElement(Ellipsis, {
15242
- maxLines: 1,
15243
- maxWidth: "200px",
15244
- fontSize: "10px"
15245
- }, item.name)))), React__default.createElement(Flex$1, null, React__default.createElement(ItemIconContainer, null, React__default.createElement(GoldContainer, null, React__default.createElement(SpriteFromAtlas, {
15246
- atlasIMG: atlasIMG,
15247
- atlasJSON: atlasJSON,
15248
- spriteKey: "others/gold-coin-qty-5.png",
15249
- imgScale: 2
15250
- })), React__default.createElement(PriceValue, null, React__default.createElement("p", null, React__default.createElement(Ellipsis, {
15251
- maxLines: 1,
15252
- maxWidth: "200px",
15253
- fontSize: "10px"
15254
- }, "$", itemPrice)))), React__default.createElement(ButtonContainer$1, null, React__default.createElement(Button, {
15255
- buttonType: exports.ButtonTypes.RPGUIButton,
15256
- disabled: disabled,
15257
- onPointerDown: function onPointerDown() {
15258
- if (disabled) return;
15259
- onMarketPlaceItemBuy == null ? void 0 : onMarketPlaceItemBuy();
15260
- onMarketPlaceItemRemove == null ? void 0 : onMarketPlaceItemRemove();
15261
- }
15262
- }, onMarketPlaceItemBuy ? 'Buy' : 'Remove'))));
15263
- };
15264
- var MarketplaceWrapper = /*#__PURE__*/styled.div.withConfig({
15265
- displayName: "MarketplaceRows__MarketplaceWrapper",
15266
- componentId: "sc-wmpr1o-0"
15267
- })(["margin:auto;display:flex;justify-content:space-between;padding:0.5rem;&:hover{background-color:", ";}p{font-size:0.8rem;}"], uiColors.darkGray);
15268
- var QuantityContainer = /*#__PURE__*/styled.p.withConfig({
15269
- displayName: "MarketplaceRows__QuantityContainer",
15270
- componentId: "sc-wmpr1o-1"
15271
- })(["position:absolute;display:block;top:15px;left:25px;font-size:", " !important;"], uiFonts.size.xsmall);
15272
- var Flex$1 = /*#__PURE__*/styled.div.withConfig({
15273
- displayName: "MarketplaceRows__Flex",
15274
- componentId: "sc-wmpr1o-2"
15275
- })(["display:flex;gap:24px;"]);
15276
- var ItemIconContainer = /*#__PURE__*/styled.div.withConfig({
15277
- displayName: "MarketplaceRows__ItemIconContainer",
15278
- componentId: "sc-wmpr1o-3"
15279
- })(["display:flex;justify-content:flex-start;align-items:center;"]);
15280
- var GoldContainer = /*#__PURE__*/styled.div.withConfig({
15281
- displayName: "MarketplaceRows__GoldContainer",
15282
- componentId: "sc-wmpr1o-4"
15283
- })(["position:relative;top:-0.5rem;left:0.5rem;"]);
15284
- var SpriteContainer = /*#__PURE__*/styled.div.withConfig({
15285
- displayName: "MarketplaceRows__SpriteContainer",
15286
- componentId: "sc-wmpr1o-5"
15287
- })(["position:relative;left:0.5rem;"]);
15288
- var PriceValue = /*#__PURE__*/styled.div.withConfig({
15289
- displayName: "MarketplaceRows__PriceValue",
15290
- componentId: "sc-wmpr1o-6"
15291
- })(["margin-left:40px;"]);
15292
- var ButtonContainer$1 = /*#__PURE__*/styled.div.withConfig({
15293
- displayName: "MarketplaceRows__ButtonContainer",
15294
- componentId: "sc-wmpr1o-7"
15295
- })(["margin:auto;"]);
15296
- var RarityContainer = /*#__PURE__*/styled.div.withConfig({
15297
- displayName: "MarketplaceRows__RarityContainer",
15298
- componentId: "sc-wmpr1o-8"
15299
- })(["border-color:", ";box-shadow:", " inset,", ";width:32px;height:32px;"], function (_ref2) {
15300
- var item = _ref2.item;
15301
- return rarityColor(item);
15302
- }, function (_ref3) {
15303
- var item = _ref3.item;
15304
- return "0 0 5px 8px " + rarityColor(item);
15305
- }, function (_ref4) {
15306
- var item = _ref4.item;
15307
- return "0 0 8px 6px " + rarityColor(item);
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';
15308
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;"]);
15309
15141
 
15310
- var OrderByType;
15311
- (function (OrderByType) {
15312
- OrderByType["Name"] = "Name";
15313
- OrderByType["Price"] = "Price";
15314
- })(OrderByType || (OrderByType = {}));
15315
- var itemTypeOptions = /*#__PURE__*/['Type'].concat(Object.keys(shared.ItemSubType)).filter(function (type) {
15316
- return type !== 'DeadBody';
15317
- }).map(function (itemType, index) {
15318
- return {
15319
- id: index + 1,
15320
- value: itemType,
15321
- option: itemType
15322
- };
15323
- });
15324
- var itemRarityOptions = /*#__PURE__*/['Rarity'].concat(Object.values(shared.ItemRarities)).map(function (itemRarity, index) {
15325
- return {
15326
- 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'
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();
15339
15158
  }
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'
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
+ });
15348
15170
  }
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
15171
  },
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);
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
+ }
15402
15181
  },
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]]);
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
+ }
15411
15191
  },
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)]);
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'
15421
15224
  },
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]]);
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
15431
15247
  },
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, {
15248
+ min: valueMin,
15249
+ max: valueMax,
15438
15250
  onChange: function onChange(e) {
15439
- setSecondaryLevel([secondaryLevel[0], Number(e.target.value)]);
15440
- onChangeSecondaryLevelInput([secondaryLevel[0], Number(e.target.value)]);
15251
+ return _onChange(Number(e.target.value));
15441
15252
  },
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]]);
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);
15280
+ return function () {
15281
+ document.removeEventListener('keydown', closeSelector);
15282
+ };
15283
+ }
15284
+ return function () {};
15285
+ }, []);
15286
+ return React__default.createElement(StyledContainer, {
15287
+ type: exports.RPGUIContainerTypes.Framed,
15288
+ width: "25rem"
15289
+ }, React__default.createElement(CloseButton$2, {
15290
+ className: "container-close",
15291
+ onPointerDown: onClose
15292
+ }, "X"), React__default.createElement("h2", null, "Select quantity to move"), React__default.createElement(StyledForm, {
15293
+ style: {
15294
+ width: '100%'
15451
15295
  },
15452
- placeholder: "Min",
15296
+ onSubmit: function onSubmit(e) {
15297
+ e.preventDefault();
15298
+ var numberValue = Number(value);
15299
+ if (Number.isNaN(numberValue)) {
15300
+ return;
15301
+ }
15302
+ onConfirm(Math.max(1, Math.min(quantity, numberValue)));
15303
+ },
15304
+ noValidate: true
15305
+ }, React__default.createElement(StyledInput, {
15306
+ innerRef: inputRef,
15307
+ placeholder: "Enter quantity",
15453
15308
  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, {
15309
+ min: 1,
15310
+ max: quantity,
15311
+ value: value,
15459
15312
  onChange: function onChange(e) {
15460
- setPrice([price[0], Number(e.target.value)]);
15461
- onChangePriceInput([price[0], Number(e.target.value)]);
15313
+ if (Number(e.target.value) >= quantity) {
15314
+ setValue(quantity);
15315
+ return;
15316
+ }
15317
+ setValue(e.target.value);
15462
15318
  },
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
- })));
15319
+ onBlur: function onBlur(e) {
15320
+ var newValue = Math.max(1, Math.min(quantity, Number(e.target.value)));
15321
+ setValue(newValue);
15322
+ }
15323
+ }), React__default.createElement(RangeSlider, {
15324
+ type: exports.RangeSliderType.Slider,
15325
+ valueMin: 1,
15326
+ valueMax: quantity,
15327
+ width: "100%",
15328
+ onChange: setValue,
15329
+ value: value
15330
+ }), React__default.createElement(Button, {
15331
+ buttonType: exports.ButtonTypes.RPGUIButton,
15332
+ type: "submit"
15333
+ }, "Confirm")));
15500
15334
  };
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;"]);
15335
+ var StyledContainer = /*#__PURE__*/styled(RPGUIContainer).withConfig({
15336
+ displayName: "ItemQuantitySelector__StyledContainer",
15337
+ componentId: "sc-yfdtpn-0"
15338
+ })(["display:flex;flex-direction:column;align-items:center;"]);
15339
+ var StyledForm = /*#__PURE__*/styled.form.withConfig({
15340
+ displayName: "ItemQuantitySelector__StyledForm",
15341
+ componentId: "sc-yfdtpn-1"
15342
+ })(["display:flex;flex-direction:column;align-items:center;width:100%;"]);
15343
+ var StyledInput = /*#__PURE__*/styled(Input).withConfig({
15344
+ displayName: "ItemQuantitySelector__StyledInput",
15345
+ componentId: "sc-yfdtpn-2"
15346
+ })(["text-align:center;&::-webkit-outer-spin-button,&::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}&[type='number']{-moz-appearance:textfield;}"]);
15347
+ var CloseButton$2 = /*#__PURE__*/styled.div.withConfig({
15348
+ displayName: "ItemQuantitySelector__CloseButton",
15349
+ componentId: "sc-yfdtpn-3"
15350
+ })(["position:absolute;top:3px;right:0px;color:white;z-index:22;font-size:0.8rem;"]);
15525
15351
 
15526
- var ManagmentPanel = function ManagmentPanel(_ref) {
15527
- var items = _ref.items,
15528
- atlasIMG = _ref.atlasIMG,
15352
+ var ShortcutsSetter = function ShortcutsSetter(_ref) {
15353
+ var setSettingShortcutIndex = _ref.setSettingShortcutIndex,
15354
+ settingShortcutIndex = _ref.settingShortcutIndex,
15355
+ shortcuts = _ref.shortcuts,
15356
+ removeShortcut = _ref.removeShortcut,
15529
15357
  atlasJSON = _ref.atlasJSON,
15530
- onChangeNameInput = _ref.onChangeNameInput,
15358
+ atlasIMG = _ref.atlasIMG;
15359
+ var getContent = function getContent(index) {
15360
+ var _shortcuts$index, _shortcuts$index3;
15361
+ if (((_shortcuts$index = shortcuts[index]) == null ? void 0 : _shortcuts$index.type) === shared.ShortcutType.Item) {
15362
+ var _shortcuts$index2;
15363
+ var _payload = (_shortcuts$index2 = shortcuts[index]) == null ? void 0 : _shortcuts$index2.payload;
15364
+ if (!_payload) return null;
15365
+ return React__default.createElement(SpriteFromAtlas, {
15366
+ atlasIMG: atlasIMG,
15367
+ atlasJSON: atlasJSON,
15368
+ spriteKey: shared.getItemTextureKeyPath({
15369
+ key: _payload.texturePath,
15370
+ texturePath: _payload.texturePath,
15371
+ stackQty: _payload.stackQty || 1,
15372
+ isStackable: _payload.isStackable
15373
+ }, atlasJSON),
15374
+ width: 32,
15375
+ height: 32,
15376
+ imgScale: 1.6,
15377
+ imgStyle: {
15378
+ left: '5px'
15379
+ }
15380
+ });
15381
+ }
15382
+ var payload = (_shortcuts$index3 = shortcuts[index]) == null ? void 0 : _shortcuts$index3.payload;
15383
+ return React__default.createElement("span", null, payload == null ? void 0 : payload.magicWords.split(' ').map(function (word) {
15384
+ return word[0];
15385
+ }));
15386
+ };
15387
+ return React__default.createElement(Container$i, null, React__default.createElement("p", null, "Shortcuts:"), React__default.createElement(List, {
15388
+ id: "shortcuts_list"
15389
+ }, Array.from({
15390
+ length: 6
15391
+ }).map(function (_, i) {
15392
+ return React__default.createElement(Shortcut, {
15393
+ key: i,
15394
+ onPointerDown: function onPointerDown() {
15395
+ if (settingShortcutIndex !== -1) setSettingShortcutIndex(-1);
15396
+ removeShortcut(i);
15397
+ if (settingShortcutIndex === -1 && (!shortcuts[i] || shortcuts[i].type === shared.ShortcutType.None)) setSettingShortcutIndex(i);
15398
+ },
15399
+ disabled: settingShortcutIndex !== -1 && settingShortcutIndex !== i,
15400
+ isBeingSet: settingShortcutIndex === i,
15401
+ id: "shortcutSetter_" + i
15402
+ }, getContent(i));
15403
+ })));
15404
+ };
15405
+ var Container$i = /*#__PURE__*/styled.div.withConfig({
15406
+ displayName: "ShortcutsSetter__Container",
15407
+ componentId: "sc-xuouuf-0"
15408
+ })(["p{margin:0;margin-left:0.5rem;}"]);
15409
+ var Shortcut = /*#__PURE__*/styled.button.withConfig({
15410
+ displayName: "ShortcutsSetter__Shortcut",
15411
+ componentId: "sc-xuouuf-1"
15412
+ })(["width:2.6rem;height:2.6rem;background-color:", ";border:2px solid ", ";border-radius:50%;text-transform:uppercase;font-size:0.7rem;font-weight:bold;display:flex;align-items:center;justify-content:center;span{margin-top:4px;}&:hover,&:focus{background-color:", ";}&:active{background-color:", ";}&:disabled{opacity:0.5;}"], uiColors.lightGray, function (_ref2) {
15413
+ var isBeingSet = _ref2.isBeingSet;
15414
+ return isBeingSet ? uiColors.yellow : uiColors.darkGray;
15415
+ }, uiColors.darkGray, uiColors.gray);
15416
+ var List = /*#__PURE__*/styled.div.withConfig({
15417
+ displayName: "ShortcutsSetter__List",
15418
+ componentId: "sc-xuouuf-2"
15419
+ })(["width:100%;display:flex;align-items:center;gap:0.5rem;padding-bottom:0.5rem;padding-left:0.5rem;box-sizing:border-box;margin:0 !important;"]);
15420
+
15421
+ var ItemContainer$1 = function ItemContainer(_ref) {
15422
+ var itemContainer = _ref.itemContainer,
15423
+ onClose = _ref.onClose,
15424
+ _onMouseOver = _ref.onMouseOver,
15425
+ _onSelected = _ref.onSelected,
15426
+ onItemClick = _ref.onItemClick,
15427
+ type = _ref.type,
15428
+ atlasJSON = _ref.atlasJSON,
15429
+ atlasIMG = _ref.atlasIMG,
15430
+ _ref$disableContextMe = _ref.disableContextMenu,
15431
+ disableContextMenu = _ref$disableContextMe === void 0 ? false : _ref$disableContextMe,
15432
+ onItemDragEnd = _ref.onItemDragEnd,
15433
+ onItemDragStart = _ref.onItemDragStart,
15434
+ onItemPlaceDrop = _ref.onItemPlaceDrop,
15435
+ _onOutsideDrop = _ref.onOutsideDrop,
15436
+ checkIfItemCanBeMoved = _ref.checkIfItemCanBeMoved,
15437
+ initialPosition = _ref.initialPosition,
15438
+ checkIfItemShouldDragEnd = _ref.checkIfItemShouldDragEnd,
15439
+ scale = _ref.scale,
15440
+ shortcuts = _ref.shortcuts,
15441
+ setItemShortcut = _ref.setItemShortcut,
15442
+ removeShortcut = _ref.removeShortcut,
15531
15443
  equipmentSet = _ref.equipmentSet,
15532
- availableGold = _ref.availableGold,
15533
- onMarketPlaceItemRemove = _ref.onMarketPlaceItemRemove,
15534
- selectedItemToSell = _ref.selectedItemToSell,
15535
- onSelectedItemToSellRemove = _ref.onSelectedItemToSellRemove,
15536
- onAddItemToMarketplace = _ref.onAddItemToMarketplace,
15537
- enableHotkeys = _ref.enableHotkeys,
15538
- disableHotkeys = _ref.disableHotkeys,
15539
- onMoneyWithdraw = _ref.onMoneyWithdraw,
15540
- currentPage = _ref.currentPage;
15541
- var _useState = React.useState(''),
15542
- name = _useState[0],
15543
- 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];
15553
- var itemsContainer = React.useRef(null);
15554
- React.useEffect(function () {
15555
- var _itemsContainer$curre;
15556
- (_itemsContainer$curre = itemsContainer.current) == null ? void 0 : _itemsContainer$curre.scrollTo(0, 0);
15557
- }, [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),
15572
- onConfirm: function onConfirm() {
15573
- onMarketPlaceItemRemove == null ? void 0 : onMarketPlaceItemRemove(removingItemId);
15574
- setRemovingItemId(null);
15575
- enableHotkeys == null ? void 0 : enableHotkeys();
15576
- },
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, {
15579
- onChange: function onChange(e) {
15580
- setName(e.target.value);
15581
- onChangeNameInput(e.target.value);
15582
- },
15583
- value: name,
15584
- placeholder: "Enter name...",
15585
- onBlur: enableHotkeys,
15586
- 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,
15444
+ isDepotSystem = _ref.isDepotSystem,
15445
+ onPositionChangeEnd = _ref.onPositionChangeEnd,
15446
+ onPositionChangeStart = _ref.onPositionChangeStart;
15447
+ var _useState = React.useState({
15448
+ isOpen: false,
15449
+ maxQuantity: 1,
15450
+ callback: function callback(_quantity) {}
15451
+ }),
15452
+ quantitySelect = _useState[0],
15453
+ setQuantitySelect = _useState[1];
15454
+ var _useState2 = React.useState(-1),
15455
+ settingShortcutIndex = _useState2[0],
15456
+ setSettingShortcutIndex = _useState2[1];
15457
+ var handleSetShortcut = function handleSetShortcut(item, index) {
15458
+ if (item.type === shared.ItemType.Consumable || item.type === shared.ItemType.Tool) {
15459
+ setItemShortcut == null ? void 0 : setItemShortcut(item.key, index);
15460
+ }
15461
+ };
15462
+ var onRenderSlots = function onRenderSlots() {
15463
+ var slots = [];
15464
+ for (var i = 0; i < itemContainer.slotQty; i++) {
15465
+ var _itemContainer$slots;
15466
+ slots.push(React__default.createElement(ItemSlot, {
15467
+ isContextMenuDisabled: disableContextMenu,
15468
+ key: i,
15469
+ slotIndex: i,
15470
+ item: ((_itemContainer$slots = itemContainer.slots) == null ? void 0 : _itemContainer$slots[i]) || null,
15471
+ itemContainerType: type,
15472
+ onMouseOver: function onMouseOver(event, slotIndex, item) {
15473
+ if (_onMouseOver) _onMouseOver(event, slotIndex, item);
15474
+ },
15475
+ onPointerDown: function onPointerDown(itemType, containerType, item) {
15476
+ if (settingShortcutIndex !== -1) {
15477
+ setSettingShortcutIndex(-1);
15478
+ handleSetShortcut(item, settingShortcutIndex);
15479
+ } else if (onItemClick) onItemClick(item, itemType, containerType);
15480
+ },
15481
+ onSelected: function onSelected(optionId, item) {
15482
+ if (_onSelected) _onSelected(optionId, item);
15483
+ },
15484
+ onDragStart: function onDragStart(item, slotIndex, itemContainerType) {
15485
+ if (onItemDragStart) onItemDragStart(item, slotIndex, itemContainerType);
15486
+ },
15487
+ onDragEnd: function onDragEnd(quantity) {
15488
+ if (onItemDragEnd) onItemDragEnd(quantity);
15489
+ },
15490
+ dragScale: scale,
15491
+ checkIfItemCanBeMoved: checkIfItemCanBeMoved,
15492
+ checkIfItemShouldDragEnd: checkIfItemShouldDragEnd,
15493
+ openQuantitySelector: function openQuantitySelector(maxQuantity, callback) {
15494
+ setQuantitySelect({
15495
+ isOpen: true,
15496
+ maxQuantity: maxQuantity,
15497
+ callback: callback
15498
+ });
15499
+ },
15500
+ onPlaceDrop: function onPlaceDrop(item, slotIndex, itemContainerType) {
15501
+ if (onItemPlaceDrop) onItemPlaceDrop(item, slotIndex, itemContainerType);
15502
+ },
15503
+ onOutsideDrop: function onOutsideDrop(item, position) {
15504
+ if (_onOutsideDrop) _onOutsideDrop(item, position);
15505
+ },
15506
+ atlasIMG: atlasIMG,
15507
+ atlasJSON: atlasJSON,
15508
+ isSelectingShortcut: settingShortcutIndex !== -1,
15509
+ equipmentSet: equipmentSet,
15510
+ setItemShortcut: type === shared.ItemContainerType.Inventory ? handleSetShortcut : undefined,
15511
+ isDepotSystem: isDepotSystem
15512
+ }));
15513
+ }
15514
+ return slots;
15515
+ };
15516
+ return React__default.createElement(React__default.Fragment, null, React__default.createElement(SlotsContainer, {
15517
+ title: itemContainer.name || 'Container',
15518
+ onClose: onClose,
15519
+ initialPosition: initialPosition,
15520
+ scale: scale,
15521
+ onPositionChangeEnd: onPositionChangeEnd,
15522
+ onPositionChangeStart: onPositionChangeStart
15523
+ }, type === shared.ItemContainerType.Inventory && shortcuts && removeShortcut && React__default.createElement(ShortcutsSetter, {
15524
+ setSettingShortcutIndex: setSettingShortcutIndex,
15525
+ settingShortcutIndex: settingShortcutIndex,
15526
+ shortcuts: shortcuts,
15527
+ removeShortcut: removeShortcut,
15589
15528
  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, {
15596
- 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);
15529
+ atlasJSON: atlasJSON
15530
+ }), React__default.createElement(ItemsContainer, {
15531
+ className: "item-container-body"
15532
+ }, onRenderSlots())), quantitySelect.isOpen && React__default.createElement(ModalPortal, null, React__default.createElement(QuantitySelectorContainer, null, React__default.createElement(ItemQuantitySelector, {
15533
+ quantity: quantitySelect.maxQuantity,
15534
+ onConfirm: function onConfirm(quantity) {
15535
+ quantitySelect.callback(quantity);
15536
+ setQuantitySelect({
15537
+ isOpen: false,
15538
+ maxQuantity: 1,
15539
+ callback: function callback() {}
15540
+ });
15541
+ },
15542
+ onClose: function onClose() {
15543
+ quantitySelect.callback(-1);
15544
+ setQuantitySelect({
15545
+ isOpen: false,
15546
+ maxQuantity: 1,
15547
+ callback: function callback() {}
15548
+ });
15549
+ }
15550
+ }))));
15551
+ };
15552
+ var ItemsContainer = /*#__PURE__*/styled.div.withConfig({
15553
+ displayName: "ItemContainer__ItemsContainer",
15554
+ componentId: "sc-15y5p9l-0"
15555
+ })(["display:flex;justify-content:center;flex-wrap:wrap;"]);
15556
+ var QuantitySelectorContainer = /*#__PURE__*/styled.div.withConfig({
15557
+ displayName: "ItemContainer__QuantitySelectorContainer",
15558
+ componentId: "sc-15y5p9l-1"
15559
+ })(["position:absolute;top:0;left:0;width:100vw;height:100vh;z-index:100;display:flex;justify-content:center;align-items:center;background-color:rgba(0,0,0,0.5);"]);
15560
+
15561
+ var ItemSelector = function ItemSelector(_ref) {
15562
+ var atlasIMG = _ref.atlasIMG,
15563
+ atlasJSON = _ref.atlasJSON,
15564
+ options = _ref.options,
15565
+ onClose = _ref.onClose,
15566
+ onSelect = _ref.onSelect;
15567
+ var _useState = React.useState(),
15568
+ selectedValue = _useState[0],
15569
+ setSelectedValue = _useState[1];
15570
+ var handleClick = function handleClick() {
15571
+ var element = document.querySelector("input[name='test']:checked");
15572
+ var elementValue = element.value;
15573
+ setSelectedValue(elementValue);
15574
+ };
15575
+ React.useEffect(function () {
15576
+ if (selectedValue) {
15577
+ onSelect(selectedValue);
15578
+ }
15579
+ }, [selectedValue]);
15580
+ return React__default.createElement(DraggableContainer, {
15581
+ type: exports.RPGUIContainerTypes.Framed,
15582
+ width: "500px",
15583
+ cancelDrag: ".equipment-container-body .arrow-selector",
15584
+ onCloseButton: function onCloseButton() {
15585
+ if (onClose) {
15586
+ onClose();
15611
15587
  }
15612
15588
  }
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();
15589
+ }, React__default.createElement("div", {
15590
+ style: {
15591
+ width: '100%'
15622
15592
  }
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,
15593
+ }, React__default.createElement(Title$3, null, 'Harvesting instruments'), React__default.createElement(Subtitle$1, null, 'Use the tool, you need it'), React__default.createElement("hr", {
15594
+ className: "golden"
15595
+ })), React__default.createElement(RadioInputScroller$1, null, options == null ? void 0 : options.map(function (option, index) {
15596
+ return React__default.createElement(RadioOptionsWrapper$1, {
15597
+ key: index
15598
+ }, React__default.createElement(SpriteAtlasWrapper$1, null, React__default.createElement(SpriteFromAtlas, {
15632
15599
  atlasIMG: atlasIMG,
15633
15600
  atlasJSON: atlasJSON,
15634
- item: item,
15635
- itemPrice: price,
15636
- equipmentSet: equipmentSet,
15637
- onMarketPlaceItemRemove: setRemovingItemId.bind(null, _id)
15638
- });
15601
+ spriteKey: option.imageKey,
15602
+ imgScale: 3
15603
+ })), React__default.createElement("div", null, React__default.createElement("input", {
15604
+ className: "rpgui-radio",
15605
+ type: "radio",
15606
+ value: option.name,
15607
+ name: "test"
15608
+ }), React__default.createElement("label", {
15609
+ onPointerDown: handleClick,
15610
+ style: {
15611
+ display: 'flex',
15612
+ alignItems: 'center'
15613
+ }
15614
+ }, option.name, " ", React__default.createElement("br", null), option.description)));
15615
+ })), React__default.createElement(ButtonWrapper$1, null, React__default.createElement(Button, {
15616
+ buttonType: exports.ButtonTypes.RPGUIButton,
15617
+ onPointerDown: onClose
15618
+ }, "Cancel"), React__default.createElement(Button, {
15619
+ buttonType: exports.ButtonTypes.RPGUIButton
15620
+ }, "Select")));
15621
+ };
15622
+ var Title$3 = /*#__PURE__*/styled.h1.withConfig({
15623
+ displayName: "ItemSelector__Title",
15624
+ componentId: "sc-gptoxp-0"
15625
+ })(["font-size:0.6rem;color:yellow !important;"]);
15626
+ var Subtitle$1 = /*#__PURE__*/styled.h1.withConfig({
15627
+ displayName: "ItemSelector__Subtitle",
15628
+ componentId: "sc-gptoxp-1"
15629
+ })(["font-size:0.4rem;color:yellow !important;"]);
15630
+ var RadioInputScroller$1 = /*#__PURE__*/styled.div.withConfig({
15631
+ displayName: "ItemSelector__RadioInputScroller",
15632
+ componentId: "sc-gptoxp-2"
15633
+ })(["padding-left:15px;padding-top:10px;width:100%;margin-top:1rem;align-items:center;margin-left:20px;align-items:flex-start;overflow-y:scroll;height:360px;"]);
15634
+ var SpriteAtlasWrapper$1 = /*#__PURE__*/styled.div.withConfig({
15635
+ displayName: "ItemSelector__SpriteAtlasWrapper",
15636
+ componentId: "sc-gptoxp-3"
15637
+ })(["margin-right:40px;"]);
15638
+ var RadioOptionsWrapper$1 = /*#__PURE__*/styled.div.withConfig({
15639
+ displayName: "ItemSelector__RadioOptionsWrapper",
15640
+ componentId: "sc-gptoxp-4"
15641
+ })(["display:flex;align-items:stretch;margin-bottom:40px;"]);
15642
+ var ButtonWrapper$1 = /*#__PURE__*/styled.div.withConfig({
15643
+ displayName: "ItemSelector__ButtonWrapper",
15644
+ componentId: "sc-gptoxp-5"
15645
+ })(["display:flex;justify-content:space-around;padding-top:20px;width:100%;"]);
15646
+
15647
+ var ListMenu = function ListMenu(_ref) {
15648
+ var options = _ref.options,
15649
+ onSelected = _ref.onSelected,
15650
+ x = _ref.x,
15651
+ y = _ref.y;
15652
+ return React__default.createElement(Container$j, {
15653
+ x: x,
15654
+ y: y
15655
+ }, React__default.createElement("ul", {
15656
+ className: "rpgui-list-imp",
15657
+ style: {
15658
+ overflow: 'hidden'
15659
+ }
15660
+ }, options.map(function (params, index) {
15661
+ return React__default.createElement(ListElement$1, {
15662
+ key: (params == null ? void 0 : params.id) || index,
15663
+ onPointerDown: function onPointerDown() {
15664
+ onSelected(params == null ? void 0 : params.id);
15665
+ }
15666
+ }, (params == null ? void 0 : params.text) || 'No text');
15639
15667
  })));
15640
15668
  };
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
- });
15669
+ var Container$j = /*#__PURE__*/styled.div.withConfig({
15670
+ displayName: "ListMenu__Container",
15671
+ componentId: "sc-i9097t-0"
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) {
15673
+ return props.y || 0;
15674
+ }, function (props) {
15675
+ return props.x || 0;
15676
+ }, uiFonts.size.xsmall);
15677
+ var ListElement$1 = /*#__PURE__*/styled.li.withConfig({
15678
+ displayName: "ListMenu__ListElement",
15679
+ componentId: "sc-i9097t-1"
15680
+ })(["margin-right:0.5rem;"]);
15681
+
15682
+ var Pager = function Pager(_ref) {
15683
+ var totalItems = _ref.totalItems,
15684
+ currentPage = _ref.currentPage,
15685
+ itemsPerPage = _ref.itemsPerPage,
15686
+ onPageChange = _ref.onPageChange;
15687
+ var totalPages = Math.ceil(totalItems / itemsPerPage);
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", {
15689
+ disabled: currentPage === 1,
15690
+ onPointerDown: function onPointerDown() {
15691
+ return onPageChange(Math.max(currentPage - 1, 1));
15692
+ }
15693
+ }, '<'), React__default.createElement("div", {
15694
+ className: "rpgui-container framed-grey"
15695
+ }, currentPage), React__default.createElement("button", {
15696
+ disabled: currentPage === totalPages,
15697
+ onPointerDown: function onPointerDown() {
15698
+ return onPageChange(Math.min(currentPage + 1, totalPages));
15699
+ }
15700
+ }, '>')));
15701
+ };
15702
+ var Container$k = /*#__PURE__*/styled.div.withConfig({
15703
+ displayName: "Pager__Container",
15704
+ componentId: "sc-1ekmf50-0"
15705
+ })(["display:flex;flex-direction:column;align-items:center;p{margin:0;font-size:", ";}"], uiFonts.size.xsmall);
15706
+ var PagerContainer = /*#__PURE__*/styled.div.withConfig({
15707
+ displayName: "Pager__PagerContainer",
15708
+ componentId: "sc-1ekmf50-1"
15709
+ })(["display:flex;justify-content:center;align-items:center;gap:5px;p{margin:0;}div{color:white;}button{width:40px;height:40px;background-color:", ";border:none;border-radius:5px;color:white;:hover{background-color:", ";}:disabled{opacity:0.5;}&.active{background-color:", ";font-weight:bold;color:black;}}"], uiColors.darkGray, uiColors.lightGray, uiColors.orange);
15710
+
15711
+ var ConfirmModal = function ConfirmModal(_ref) {
15712
+ var onConfirm = _ref.onConfirm,
15713
+ onClose = _ref.onClose,
15714
+ message = _ref.message;
15715
+ return React__default.createElement(ModalPortal, null, React__default.createElement(Background, null), React__default.createElement(Container$l, {
15716
+ onPointerDown: onClose
15717
+ }, React__default.createElement(DraggableContainer, {
15718
+ width: "auto",
15719
+ dragDisabled: true
15720
+ }, React__default.createElement(Wrapper$1, {
15721
+ onPointerDown: function onPointerDown(e) {
15722
+ return e.stopPropagation();
15723
+ }
15724
+ }, React__default.createElement("p", null, message != null ? message : 'Are you sure?'), React__default.createElement(ButtonsWrapper, null, React__default.createElement("div", {
15725
+ className: "cancel-button"
15726
+ }, React__default.createElement(Button, {
15727
+ buttonType: exports.ButtonTypes.RPGUIButton,
15728
+ onPointerDown: onClose
15729
+ }, "No")), React__default.createElement(Button, {
15730
+ buttonType: exports.ButtonTypes.RPGUIButton,
15731
+ onPointerDown: onConfirm
15732
+ }, "Yes"))))));
15733
+ };
15734
+ var Background = /*#__PURE__*/styled.div.withConfig({
15735
+ displayName: "ConfirmModal__Background",
15736
+ componentId: "sc-11qkyu1-0"
15737
+ })(["position:absolute;width:100%;height:100%;background-color:#000000;opacity:0.5;left:0;top:0;z-index:1000;"]);
15738
+ var Container$l = /*#__PURE__*/styled.div.withConfig({
15739
+ displayName: "ConfirmModal__Container",
15740
+ componentId: "sc-11qkyu1-1"
15741
+ })(["position:absolute;width:100%;height:100%;left:0;top:0;display:flex;justify-content:center;align-items:center;z-index:1001;"]);
15742
+ var Wrapper$1 = /*#__PURE__*/styled.div.withConfig({
15743
+ displayName: "ConfirmModal__Wrapper",
15744
+ componentId: "sc-11qkyu1-2"
15745
+ })(["p{margin:0;}"]);
15746
+ var ButtonsWrapper = /*#__PURE__*/styled.div.withConfig({
15747
+ displayName: "ConfirmModal__ButtonsWrapper",
15748
+ componentId: "sc-11qkyu1-3"
15749
+ })(["display:flex;justify-content:flex-end;gap:5px;margin-top:5px;.cancel-button{filter:grayscale(0.7);}"]);
15677
15750
 
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();
15689
- },
15690
- width: "800px",
15691
- cancelDrag: "#MarketContainer, .rpgui-dropdown-imp, input, .empty-slot, button",
15751
+ var MarketplaceRows = function MarketplaceRows(_ref) {
15752
+ var atlasJSON = _ref.atlasJSON,
15753
+ atlasIMG = _ref.atlasIMG,
15754
+ item = _ref.item,
15755
+ itemPrice = _ref.itemPrice,
15756
+ equipmentSet = _ref.equipmentSet,
15757
+ scale = _ref.scale,
15758
+ onMarketPlaceItemBuy = _ref.onMarketPlaceItemBuy,
15759
+ onMarketPlaceItemRemove = _ref.onMarketPlaceItemRemove,
15760
+ disabled = _ref.disabled;
15761
+ return React__default.createElement(MarketplaceWrapper, null, React__default.createElement(ItemIconContainer, null, React__default.createElement(SpriteContainer, null, React__default.createElement(ItemInfoWrapper, {
15762
+ item: item,
15763
+ atlasIMG: atlasIMG,
15764
+ atlasJSON: atlasJSON,
15765
+ equipmentSet: equipmentSet,
15692
15766
  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, {
15767
+ }, React__default.createElement(RarityContainer, {
15768
+ item: item
15769
+ }, React__default.createElement(SpriteFromAtlas, {
15770
+ atlasIMG: atlasIMG,
15771
+ atlasJSON: atlasJSON,
15772
+ spriteKey: shared.getItemTextureKeyPath({
15773
+ key: item.key,
15774
+ stackQty: item.stackQty || 1,
15775
+ texturePath: item.texturePath,
15776
+ isStackable: item.isStackable
15777
+ }, atlasJSON),
15778
+ imgScale: 2
15779
+ })), React__default.createElement(QuantityContainer, null, item.stackQty && item.stackQty > 1 && "x" + Math.round(item.stackQty * 10) / 10))), React__default.createElement(PriceValue, null, React__default.createElement("p", null, React__default.createElement(Ellipsis, {
15780
+ maxLines: 1,
15781
+ maxWidth: "200px",
15782
+ fontSize: "10px"
15783
+ }, item.name)))), React__default.createElement(Flex$1, null, React__default.createElement(ItemIconContainer, null, React__default.createElement(GoldContainer, null, React__default.createElement(SpriteFromAtlas, {
15784
+ atlasIMG: atlasIMG,
15785
+ atlasJSON: atlasJSON,
15786
+ spriteKey: "others/gold-coin-qty-5.png",
15787
+ imgScale: 2
15788
+ })), React__default.createElement(PriceValue, null, React__default.createElement("p", null, React__default.createElement(Ellipsis, {
15789
+ maxLines: 1,
15790
+ maxWidth: "200px",
15791
+ fontSize: "10px"
15792
+ }, "$", itemPrice)))), React__default.createElement(ButtonContainer$1, null, React__default.createElement(Button, {
15700
15793
  buttonType: exports.ButtonTypes.RPGUIButton,
15794
+ disabled: disabled,
15701
15795
  onPointerDown: function onPointerDown() {
15702
- onYourPanelToggle(true);
15703
- setIsYourPanel(true);
15796
+ if (disabled) return;
15797
+ onMarketPlaceItemBuy == null ? void 0 : onMarketPlaceItemBuy();
15798
+ onMarketPlaceItemRemove == null ? void 0 : onMarketPlaceItemRemove();
15704
15799
  }
15705
- }, "Go to your panel"), React__default.createElement(Pager, Object.assign({}, props)))));
15800
+ }, onMarketPlaceItemBuy ? 'Buy' : 'Remove'))));
15706
15801
  };
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';
15802
+ var MarketplaceWrapper = /*#__PURE__*/styled.div.withConfig({
15803
+ displayName: "MarketplaceRows__MarketplaceWrapper",
15804
+ componentId: "sc-wmpr1o-0"
15805
+ })(["margin:auto;display:flex;justify-content:space-between;padding:0.5rem;&:hover{background-color:", ";}p{font-size:0.8rem;}"], uiColors.darkGray);
15806
+ var QuantityContainer = /*#__PURE__*/styled.p.withConfig({
15807
+ displayName: "MarketplaceRows__QuantityContainer",
15808
+ componentId: "sc-wmpr1o-1"
15809
+ })(["position:absolute;display:block;top:15px;left:25px;font-size:", " !important;"], uiFonts.size.xsmall);
15810
+ var Flex$1 = /*#__PURE__*/styled.div.withConfig({
15811
+ displayName: "MarketplaceRows__Flex",
15812
+ componentId: "sc-wmpr1o-2"
15813
+ })(["display:flex;gap:24px;"]);
15814
+ var ItemIconContainer = /*#__PURE__*/styled.div.withConfig({
15815
+ displayName: "MarketplaceRows__ItemIconContainer",
15816
+ componentId: "sc-wmpr1o-3"
15817
+ })(["display:flex;justify-content:flex-start;align-items:center;"]);
15818
+ var GoldContainer = /*#__PURE__*/styled.div.withConfig({
15819
+ displayName: "MarketplaceRows__GoldContainer",
15820
+ componentId: "sc-wmpr1o-4"
15821
+ })(["position:relative;top:-0.5rem;left:0.5rem;"]);
15822
+ var SpriteContainer = /*#__PURE__*/styled.div.withConfig({
15823
+ displayName: "MarketplaceRows__SpriteContainer",
15824
+ componentId: "sc-wmpr1o-5"
15825
+ })(["position:relative;left:0.5rem;"]);
15826
+ var PriceValue = /*#__PURE__*/styled.div.withConfig({
15827
+ displayName: "MarketplaceRows__PriceValue",
15828
+ componentId: "sc-wmpr1o-6"
15829
+ })(["margin-left:40px;"]);
15830
+ var ButtonContainer$1 = /*#__PURE__*/styled.div.withConfig({
15831
+ displayName: "MarketplaceRows__ButtonContainer",
15832
+ componentId: "sc-wmpr1o-7"
15833
+ })(["margin:auto;"]);
15834
+ var RarityContainer = /*#__PURE__*/styled.div.withConfig({
15835
+ displayName: "MarketplaceRows__RarityContainer",
15836
+ componentId: "sc-wmpr1o-8"
15837
+ })(["border-color:", ";box-shadow:", " inset,", ";width:32px;height:32px;"], function (_ref2) {
15838
+ var item = _ref2.item;
15839
+ return rarityColor(item);
15840
+ }, function (_ref3) {
15841
+ var item = _ref3.item;
15842
+ return "0 0 5px 8px " + rarityColor(item);
15843
+ }, function (_ref4) {
15844
+ var item = _ref4.item;
15845
+ return "0 0 8px 6px " + rarityColor(item);
15846
+ });
15715
15847
 
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
- }
15848
+ var OrderByType;
15849
+ (function (OrderByType) {
15850
+ OrderByType["Name"] = "Name";
15851
+ OrderByType["Price"] = "Price";
15852
+ })(OrderByType || (OrderByType = {}));
15853
+ var itemTypeOptions = /*#__PURE__*/['Type'].concat(Object.keys(shared.ItemSubType)).filter(function (type) {
15854
+ return type !== 'DeadBody';
15855
+ }).map(function (itemType, index) {
15856
+ return {
15857
+ id: index + 1,
15858
+ value: itemType,
15859
+ option: itemType
15741
15860
  };
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);
15757
- },
15758
- onEndStep: function onEndStep() {
15759
- return setShowGoNextIndicator(true);
15760
- },
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);
15779
- },
15780
- onEndStep: function onEndStep() {
15781
- return setShowGoNextIndicator(true);
15782
- },
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
15861
  });
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;
15862
+ var itemRarityOptions = /*#__PURE__*/['Rarity'].concat(Object.values(shared.ItemRarities)).map(function (itemRarity, index) {
15863
+ return {
15864
+ id: index + 1,
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
+ }];
15819
15889
  });
15820
15890
 
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]);
15840
- };
15841
-
15842
- var DynamicText = function DynamicText(_ref) {
15843
- var text = _ref.text,
15844
- onFinish = _ref.onFinish,
15845
- onStart = _ref.onStart;
15891
+ var BuyPanel = function BuyPanel(_ref) {
15892
+ var items = _ref.items,
15893
+ atlasIMG = _ref.atlasIMG,
15894
+ atlasJSON = _ref.atlasJSON,
15895
+ onChangeType = _ref.onChangeType,
15896
+ onChangeRarity = _ref.onChangeRarity,
15897
+ onChangeOrder = _ref.onChangeOrder,
15898
+ onChangeNameInput = _ref.onChangeNameInput,
15899
+ onChangeMainLevelInput = _ref.onChangeMainLevelInput,
15900
+ onChangeSecondaryLevelInput = _ref.onChangeSecondaryLevelInput,
15901
+ onChangePriceInput = _ref.onChangePriceInput,
15902
+ equipmentSet = _ref.equipmentSet,
15903
+ onMarketPlaceItemBuy = _ref.onMarketPlaceItemBuy,
15904
+ characterId = _ref.characterId,
15905
+ enableHotkeys = _ref.enableHotkeys,
15906
+ disableHotkeys = _ref.disableHotkeys,
15907
+ currentPage = _ref.currentPage;
15846
15908
  var _useState = React.useState(''),
15847
- textState = _useState[0],
15848
- setTextState = _useState[1];
15909
+ name = _useState[0],
15910
+ setName = _useState[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];
15923
+ var itemsContainer = React.useRef(null);
15849
15924
  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);
15925
+ var _itemsContainer$curre;
15926
+ (_itemsContainer$curre = itemsContainer.current) == null ? void 0 : _itemsContainer$curre.scrollTo(0, 0);
15927
+ }, [currentPage]);
15928
+ return React__default.createElement(React__default.Fragment, null, buyingItemId && React__default.createElement(ConfirmModal, {
15929
+ onClose: setBuyingItemId.bind(null, null),
15930
+ onConfirm: function onConfirm() {
15931
+ onMarketPlaceItemBuy == null ? void 0 : onMarketPlaceItemBuy(buyingItemId);
15932
+ setBuyingItemId(null);
15933
+ enableHotkeys == null ? void 0 : enableHotkeys();
15934
+ },
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, {
15937
+ onChange: function onChange(e) {
15938
+ setName(e.target.value);
15939
+ onChangeNameInput(e.target.value);
15940
+ },
15941
+ value: name,
15942
+ placeholder: "Enter name...",
15943
+ onBlur: enableHotkeys,
15944
+ onFocus: disableHotkeys
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, {
15946
+ onChange: function onChange(e) {
15947
+ setMainLevel([Number(e.target.value), mainLevel[1]]);
15948
+ onChangeMainLevelInput([Number(e.target.value), mainLevel[1]]);
15949
+ },
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)]);
15959
+ },
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]]);
15969
+ },
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)]);
15979
+ },
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]]);
15989
+ },
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
+ })));
15873
16038
  };
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;"]);
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;"]);
15878
16063
 
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];
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;
16079
+ var _useState = React.useState(''),
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;
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();
16105
+ }
16106
+ },
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
+ }
15974
16150
  }
15975
- var answers = onGetAnswers(answerIds);
15976
- if (!answers) {
15977
- return null;
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();
15978
16160
  }
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));
15994
- }
15995
- return null;
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)
15996
16176
  });
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);
16177
+ })));
16178
+ };
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;
16214
+ });
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();
16002
16227
  },
16003
- onFinish: function onFinish() {
16004
- return setCanShowAnswers(true);
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);
16005
16242
  }
16006
- })), canShowAnswers && React__default.createElement(AnswersContainer, null, onRenderCurrentAnswers()));
16243
+ }, "Go to your panel"), React__default.createElement(Pager, Object.assign({}, props)))));
16007
16244
  };
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;
16031
- });
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;}"]);
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%;"]);
@@ -16472,16 +16685,8 @@ var SkillProgressBar = function SkillProgressBar(_ref) {
16472
16685
  if (!skillPointsToNextLevel) {
16473
16686
  skillPointsToNextLevel = shared.getSPForLevel(level + 1);
16474
16687
  }
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;
16688
+ var nextLevelSPWillbe = skillPoints + skillPointsToNextLevel;
16689
+ var ratio = skillPoints / nextLevelSPWillbe * 100;
16485
16690
  var skillsBuffsCalc = function skillsBuffsCalc() {
16486
16691
  if (buffAndDebuff) {
16487
16692
  return 1 + buffAndDebuff / 100;
@@ -16496,9 +16701,9 @@ var SkillProgressBar = function SkillProgressBar(_ref) {
16496
16701
  grayScale: true,
16497
16702
  opacity: 0.5
16498
16703
  }))) : React__default.createElement(React__default.Fragment, null)), React__default.createElement(ProgressBarContainer$1, null, React__default.createElement(SimpleProgressBar, {
16499
- value: ratio(),
16704
+ value: ratio,
16500
16705
  bgColor: bgColor
16501
- }))), showSkillPoints && React__default.createElement(SkillDisplayContainer, null, React__default.createElement(SkillPointsDisplay, null, skillPoints, "/", shared.getSPForLevel(level + 1))));
16706
+ }))), showSkillPoints && React__default.createElement(SkillDisplayContainer, null, React__default.createElement(SkillPointsDisplay, null, skillPoints, "/", nextLevelSPWillbe)));
16502
16707
  };
16503
16708
  var ProgressBarContainer$1 = /*#__PURE__*/styled.div.withConfig({
16504
16709
  displayName: "SkillProgressBar__ProgressBarContainer",
@@ -16710,7 +16915,7 @@ var SpellInfo = function SpellInfo(_ref) {
16710
16915
  castingType = spell.castingType,
16711
16916
  cooldown = spell.cooldown,
16712
16917
  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", {
16918
+ 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
16919
  className: "label"
16715
16920
  }, "Casting Type:"), React__default.createElement("div", {
16716
16921
  className: "value"
@@ -16736,7 +16941,7 @@ var SpellInfo = function SpellInfo(_ref) {
16736
16941
  className: "value"
16737
16942
  }, requiredItem))), React__default.createElement(Description$1, null, description));
16738
16943
  };
16739
- var Container$m = /*#__PURE__*/styled.div.withConfig({
16944
+ var Container$o = /*#__PURE__*/styled.div.withConfig({
16740
16945
  displayName: "SpellInfo__Container",
16741
16946
  componentId: "sc-4hbw3q-0"
16742
16947
  })(["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 +16995,7 @@ var MobileSpellTooltip = function MobileSpellTooltip(_ref) {
16790
16995
  var _ref$current;
16791
16996
  (_ref$current = ref.current) == null ? void 0 : _ref$current.classList.add('fadeOut');
16792
16997
  };
16793
- return React__default.createElement(ModalPortal, null, React__default.createElement(Container$n, {
16998
+ return React__default.createElement(ModalPortal, null, React__default.createElement(Container$p, {
16794
16999
  ref: ref,
16795
17000
  onTouchEnd: function onTouchEnd() {
16796
17001
  handleFadeOut();
@@ -16815,7 +17020,7 @@ var MobileSpellTooltip = function MobileSpellTooltip(_ref) {
16815
17020
  }, option.text);
16816
17021
  }))));
16817
17022
  };
16818
- var Container$n = /*#__PURE__*/styled.div.withConfig({
17023
+ var Container$p = /*#__PURE__*/styled.div.withConfig({
16819
17024
  displayName: "MobileSpellTooltip__Container",
16820
17025
  componentId: "sc-6p7uvr-0"
16821
17026
  })(["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 +17061,13 @@ var MagicTooltip = function MagicTooltip(_ref) {
16856
17061
  }
16857
17062
  return;
16858
17063
  }, []);
16859
- return React__default.createElement(ModalPortal, null, React__default.createElement(Container$o, {
17064
+ return React__default.createElement(ModalPortal, null, React__default.createElement(Container$q, {
16860
17065
  ref: ref
16861
17066
  }, React__default.createElement(SpellInfoDisplay, {
16862
17067
  spell: spell
16863
17068
  })));
16864
17069
  };
16865
- var Container$o = /*#__PURE__*/styled.div.withConfig({
17070
+ var Container$q = /*#__PURE__*/styled.div.withConfig({
16866
17071
  displayName: "SpellTooltip__Container",
16867
17072
  componentId: "sc-1go0gwg-0"
16868
17073
  })(["position:absolute;z-index:100;pointer-events:none;left:0;top:0;opacity:0;transition:opacity 0.08s;"]);
@@ -16914,7 +17119,7 @@ var Spell = function Spell(_ref) {
16914
17119
  var disabled = isSettingShortcut ? charMagicLevel < minMagicLevelRequired : manaCost > charMana || charMagicLevel < minMagicLevelRequired;
16915
17120
  return React__default.createElement(SpellInfoWrapper, {
16916
17121
  spell: spell
16917
- }, React__default.createElement(Container$p, {
17122
+ }, React__default.createElement(Container$r, {
16918
17123
  onPointerUp: onPointerUp == null ? void 0 : onPointerUp.bind(null, spellKey),
16919
17124
  isSettingShortcut: isSettingShortcut && !disabled,
16920
17125
  className: "spell"
@@ -16928,7 +17133,7 @@ var Spell = function Spell(_ref) {
16928
17133
  className: "mana"
16929
17134
  }, manaCost))));
16930
17135
  };
16931
- var Container$p = /*#__PURE__*/styled.button.withConfig({
17136
+ var Container$r = /*#__PURE__*/styled.button.withConfig({
16932
17137
  displayName: "Spell__Container",
16933
17138
  componentId: "sc-j96fa2-0"
16934
17139
  })(["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 +17210,7 @@ var Spellbook = function Spellbook(_ref) {
17005
17210
  height: "inherit",
17006
17211
  cancelDrag: "#spellbook-search, #shortcuts_list, .spell",
17007
17212
  scale: scale
17008
- }, React__default.createElement(Container$q, null, React__default.createElement(Title$8, null, "Learned Spells"), React__default.createElement(ShortcutsSetter, {
17213
+ }, React__default.createElement(Container$s, null, React__default.createElement(Title$8, null, "Learned Spells"), React__default.createElement(ShortcutsSetter, {
17009
17214
  setSettingShortcutIndex: setSettingShortcutIndex,
17010
17215
  settingShortcutIndex: settingShortcutIndex,
17011
17216
  shortcuts: shortcuts,
@@ -17039,7 +17244,7 @@ var Title$8 = /*#__PURE__*/styled.h1.withConfig({
17039
17244
  displayName: "Spellbook__Title",
17040
17245
  componentId: "sc-r02nfq-0"
17041
17246
  })(["font-size:", " !important;margin-bottom:0 !important;"], uiFonts.size.large);
17042
- var Container$q = /*#__PURE__*/styled.div.withConfig({
17247
+ var Container$s = /*#__PURE__*/styled.div.withConfig({
17043
17248
  displayName: "Spellbook__Container",
17044
17249
  componentId: "sc-r02nfq-1"
17045
17250
  })(["width:100%;height:100%;color:white;display:flex;flex-direction:column;"]);
@@ -17053,16 +17258,16 @@ var TextArea = function TextArea(_ref) {
17053
17258
  return React__default.createElement("textarea", Object.assign({}, props));
17054
17259
  };
17055
17260
 
17056
- var img$8 = 'data:image/gif;base64,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';
17261
+ var img$9 = 'data:image/gif;base64,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';
17057
17262
 
17058
- var img$9 = 'data:image/gif;base64,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';
17263
+ var img$a = 'data:image/gif;base64,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';
17059
17264
 
17060
- var img$a = 'data:image/gif;base64,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';
17265
+ var img$b = 'data:image/gif;base64,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';
17061
17266
 
17062
17267
  var DayNightPeriod = function DayNightPeriod(_ref) {
17063
17268
  var _periodOfDaySrcFiles;
17064
17269
  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);
17270
+ var periodOfDaySrcFiles = (_periodOfDaySrcFiles = {}, _periodOfDaySrcFiles[shared.PeriodOfDay.Morning] = img$a, _periodOfDaySrcFiles[shared.PeriodOfDay.Afternoon] = img$9, _periodOfDaySrcFiles[shared.PeriodOfDay.Night] = img$b, _periodOfDaySrcFiles);
17066
17271
  return React__default.createElement(GifContainer, null, React__default.createElement("img", {
17067
17272
  src: periodOfDaySrcFiles[periodOfDay]
17068
17273
  }));
@@ -17072,7 +17277,7 @@ var GifContainer = /*#__PURE__*/styled.div.withConfig({
17072
17277
  componentId: "sc-10t97fw-0"
17073
17278
  })(["width:100%;img{width:67%;}"]);
17074
17279
 
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';
17280
+ 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
17281
 
17077
17282
  var TimeWidget = function TimeWidget(_ref) {
17078
17283
  var onClose = _ref.onClose,
@@ -17090,7 +17295,7 @@ var TimeWidget = function TimeWidget(_ref) {
17090
17295
  var WidgetContainer = /*#__PURE__*/styled.div.withConfig({
17091
17296
  displayName: "TimeWidget__WidgetContainer",
17092
17297
  componentId: "sc-1ja236h-0"
17093
- })(["background-image:url(", ");background-size:10rem;background-repeat:no-repeat;width:10rem;position:absolute;height:100px;"], img$b);
17298
+ })(["background-image:url(", ");background-size:10rem;background-repeat:no-repeat;width:10rem;position:absolute;height:100px;"], img$c);
17094
17299
  var Time = /*#__PURE__*/styled.div.withConfig({
17095
17300
  displayName: "TimeWidget__Time",
17096
17301
  componentId: "sc-1ja236h-1"
@@ -17340,230 +17545,17 @@ var Truncate = function Truncate(_ref) {
17340
17545
  var _ref$maxLines = _ref.maxLines,
17341
17546
  maxLines = _ref$maxLines === void 0 ? 1 : _ref$maxLines,
17342
17547
  children = _ref.children;
17343
- return React__default.createElement(Container$r, {
17548
+ return React__default.createElement(Container$t, {
17344
17549
  maxLines: maxLines
17345
17550
  }, children);
17346
17551
  };
17347
- var Container$r = /*#__PURE__*/styled.div.withConfig({
17552
+ var Container$t = /*#__PURE__*/styled.div.withConfig({
17348
17553
  displayName: "Truncate__Container",
17349
17554
  componentId: "sc-6x00qb-0"
17350
17555
  })(["display:-webkit-box;max-width:100%;max-height:100%;-webkit-line-clamp:", ";-webkit-box-orient:vertical;overflow:hidden;"], function (props) {
17351
17556
  return props.maxLines;
17352
17557
  });
17353
17558
 
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
17559
  exports.Button = Button;
17568
17560
  exports.CharacterSelection = CharacterSelection;
17569
17561
  exports.Chat = Chat;