@rpg-engine/long-bow 0.4.9 → 0.4.81

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 (177) hide show
  1. package/LICENSE +20 -20
  2. package/README.md +181 -181
  3. package/dist/components/Marketplace/BuyPanel.d.ts +0 -1
  4. package/dist/components/Marketplace/ManagmentPanel.d.ts +0 -1
  5. package/dist/components/ProgressBar.d.ts +1 -0
  6. package/dist/long-bow.cjs.development.js +1566 -1595
  7. package/dist/long-bow.cjs.development.js.map +1 -1
  8. package/dist/long-bow.cjs.production.min.js +1 -1
  9. package/dist/long-bow.cjs.production.min.js.map +1 -1
  10. package/dist/long-bow.esm.js +1472 -1501
  11. package/dist/long-bow.esm.js.map +1 -1
  12. package/package.json +100 -100
  13. package/src/.DS_Store +0 -0
  14. package/src/components/.DS_Store +0 -0
  15. package/src/components/Abstractions/ModalPortal.tsx +22 -22
  16. package/src/components/Abstractions/SlotsContainer.tsx +62 -62
  17. package/src/components/Arrow/SelectArrow.tsx +69 -69
  18. package/src/components/Arrow/img/arrow01-left-clicked.png +0 -0
  19. package/src/components/Arrow/img/arrow01-left.png +0 -0
  20. package/src/components/Arrow/img/arrow01-right-clicked.png +0 -0
  21. package/src/components/Arrow/img/arrow01-right.png +0 -0
  22. package/src/components/Arrow/img/arrow02-left-clicked.png +0 -0
  23. package/src/components/Arrow/img/arrow02-left.png +0 -0
  24. package/src/components/Arrow/img/arrow02-right-clicked.png +0 -0
  25. package/src/components/Arrow/img/arrow02-right.png +0 -0
  26. package/src/components/Button.tsx +40 -40
  27. package/src/components/Character/CharacterSelection.tsx +98 -98
  28. package/src/components/CharacterStatus/CharacterStatus.tsx +120 -120
  29. package/src/components/Chat/Chat.tsx +196 -196
  30. package/src/components/Chatdeprecated/ChatDeprecated.tsx +198 -198
  31. package/src/components/CheckButton.tsx +65 -65
  32. package/src/components/CircularController/CircularController.tsx +282 -282
  33. package/src/components/ConfirmModal.tsx +87 -87
  34. package/src/components/CraftBook/CraftBook.tsx +286 -286
  35. package/src/components/CraftBook/CraftingRecipe.tsx +161 -161
  36. package/src/components/CraftBook/MockItems.ts +101 -101
  37. package/src/components/DraggableContainer.tsx +183 -183
  38. package/src/components/Dropdown.tsx +114 -114
  39. package/src/components/DropdownSelectorContainer.tsx +42 -42
  40. package/src/components/Equipment/EquipmentSet.tsx +199 -199
  41. package/src/components/HistoryDialog.tsx +104 -104
  42. package/src/components/Input.tsx +15 -15
  43. package/src/components/InputRadio.tsx +41 -41
  44. package/src/components/Item/Cards/ItemInfo.tsx +298 -298
  45. package/src/components/Item/Cards/ItemInfoDisplay.tsx +135 -135
  46. package/src/components/Item/Cards/ItemInfoWrapper.tsx +62 -62
  47. package/src/components/Item/Cards/ItemTooltip.tsx +83 -83
  48. package/src/components/Item/Cards/MobileItemTooltip.tsx +149 -149
  49. package/src/components/Item/Inventory/ErrorBoundary.tsx +42 -42
  50. package/src/components/Item/Inventory/ItemContainer.tsx +231 -231
  51. package/src/components/Item/Inventory/ItemContainerTypes.ts +6 -6
  52. package/src/components/Item/Inventory/ItemQuantitySelector.tsx +138 -138
  53. package/src/components/Item/Inventory/ItemSlot.tsx +595 -595
  54. package/src/components/Item/Inventory/itemContainerHelper.ts +175 -175
  55. package/src/components/ListMenu.tsx +63 -63
  56. package/src/components/Marketplace/BuyPanel.tsx +296 -304
  57. package/src/components/Marketplace/ManagmentPanel.tsx +247 -255
  58. package/src/components/Marketplace/Marketplace.tsx +106 -106
  59. package/src/components/Marketplace/MarketplaceRows.tsx +161 -177
  60. package/src/components/Marketplace/filters/index.tsx +67 -67
  61. package/src/components/Multitab/Tab.tsx +66 -66
  62. package/src/components/Multitab/TabBody.tsx +13 -13
  63. package/src/components/Multitab/TabsContainer.tsx +97 -97
  64. package/src/components/NPCDialog/.DS_Store +0 -0
  65. package/src/components/NPCDialog/NPCDialog.tsx +121 -121
  66. package/src/components/NPCDialog/NPCDialogText.tsx +113 -113
  67. package/src/components/NPCDialog/NPCMultiDialog.tsx +159 -159
  68. package/src/components/NPCDialog/QuestionDialog/QuestionDialog.tsx +237 -237
  69. package/src/components/NPCDialog/img/.DS_Store +0 -0
  70. package/src/components/Pager.tsx +94 -94
  71. package/src/components/ProgressBar.tsx +102 -95
  72. package/src/components/PropertySelect/PropertySelect.tsx +106 -106
  73. package/src/components/QuestInfo/QuestInfo.tsx +233 -233
  74. package/src/components/QuestList.tsx +135 -135
  75. package/src/components/RPGUIContainer.tsx +47 -47
  76. package/src/components/RPGUIForceRenderStart.tsx +45 -45
  77. package/src/components/RPGUIRoot.tsx +14 -14
  78. package/src/components/RadioButton.tsx +53 -53
  79. package/src/components/RadioInput/RadioButton.tsx +96 -96
  80. package/src/components/RadioInput/RadioInput.tsx +102 -102
  81. package/src/components/RadioInput/instruments.ts +15 -15
  82. package/src/components/RangeSlider.tsx +78 -78
  83. package/src/components/RelativeListMenu.tsx +90 -90
  84. package/src/components/ScrollList.tsx +79 -79
  85. package/src/components/Shortcuts/Shortcuts.tsx +193 -193
  86. package/src/components/Shortcuts/ShortcutsSetter.tsx +139 -139
  87. package/src/components/Shortcuts/SingleShortcut.ts +82 -82
  88. package/src/components/Shortcuts/useShortcutCooldown.ts +23 -23
  89. package/src/components/SimpleProgressBar.tsx +62 -62
  90. package/src/components/SkillProgressBar.tsx +198 -198
  91. package/src/components/SkillsContainer.tsx +213 -213
  92. package/src/components/Spellbook/Spell.tsx +235 -235
  93. package/src/components/Spellbook/Spellbook.tsx +145 -145
  94. package/src/components/Spellbook/cards/MobileSpellTooltip.tsx +137 -137
  95. package/src/components/Spellbook/cards/SpellInfo.tsx +134 -134
  96. package/src/components/Spellbook/cards/SpellInfoDisplay.tsx +31 -31
  97. package/src/components/Spellbook/cards/SpellInfoWrapper.tsx +48 -48
  98. package/src/components/Spellbook/cards/SpellTooltip.tsx +70 -70
  99. package/src/components/Spellbook/constants.ts +7 -7
  100. package/src/components/Spellbook/mockSpells.ts +84 -84
  101. package/src/components/StaticBook/StaticBook.tsx +103 -103
  102. package/src/components/TextArea.tsx +11 -11
  103. package/src/components/TimeWidget/DayNightPeriod/DayNightPeriod.tsx +35 -35
  104. package/src/components/TimeWidget/TimeWidget.tsx +65 -65
  105. package/src/components/TradingMenu/TradingItemRow.tsx +199 -199
  106. package/src/components/TradingMenu/TradingMenu.tsx +219 -219
  107. package/src/components/TradingMenu/items.mock.ts +48 -48
  108. package/src/components/Truncate.tsx +25 -25
  109. package/src/components/itemSelector/ItemSelector.tsx +136 -136
  110. package/src/components/shared/Column.tsx +16 -16
  111. package/src/components/shared/Ellipsis.tsx +76 -76
  112. package/src/components/shared/SpriteFromAtlas.tsx +104 -104
  113. package/src/components/typography/DynamicText.tsx +49 -49
  114. package/src/constants/uiColors.ts +20 -20
  115. package/src/constants/uiDevices.ts +3 -3
  116. package/src/constants/uiFonts.ts +12 -12
  117. package/src/hooks/useEventListener.ts +21 -21
  118. package/src/hooks/useOutsideAlerter.ts +25 -25
  119. package/src/index.tsx +42 -42
  120. package/src/libs/CastingTypeHelper.ts +7 -7
  121. package/src/libs/StringHelpers.ts +3 -3
  122. package/src/libs/itemCounter.ts +21 -21
  123. package/src/mocks/.DS_Store +0 -0
  124. package/src/mocks/atlas/.DS_Store +0 -0
  125. package/src/mocks/atlas/entities/entities.json +20215 -20215
  126. package/src/mocks/atlas/icons/icons.json +735 -735
  127. package/src/mocks/atlas/items/items.json +12086 -12086
  128. package/src/mocks/equipmentSet.mocks.ts +391 -391
  129. package/src/mocks/itemContainer.mocks.ts +605 -605
  130. package/src/mocks/skills.mocks.ts +130 -130
  131. package/src/stories/Arrow.stories.tsx +26 -26
  132. package/src/stories/Button.stories.tsx +36 -36
  133. package/src/stories/CharacterSelection.stories.tsx +44 -44
  134. package/src/stories/CharacterStatus.stories.tsx +29 -29
  135. package/src/stories/Chat.stories.tsx +187 -187
  136. package/src/stories/ChatDeprecated.stories.tsx +170 -170
  137. package/src/stories/CheckButton.stories.tsx +48 -48
  138. package/src/stories/CircullarController.stories.tsx +37 -37
  139. package/src/stories/CraftBook.stories.tsx +42 -42
  140. package/src/stories/DayNightPeriod.stories.tsx +27 -27
  141. package/src/stories/DraggableContainer.stories.tsx +28 -28
  142. package/src/stories/Dropdown.stories.tsx +46 -46
  143. package/src/stories/DropdownSelectorContainer.stories.tsx +41 -41
  144. package/src/stories/EquipmentSet.stories.tsx +65 -65
  145. package/src/stories/HistoryDialog.stories.tsx +61 -61
  146. package/src/stories/ItemContainer.stories.tsx +201 -201
  147. package/src/stories/ItemInfoDisplay.stories.tsx +33 -33
  148. package/src/stories/ItemQuantitySelector.stories.tsx +26 -26
  149. package/src/stories/ItemSelector.stories.tsx +77 -77
  150. package/src/stories/ItemTradingComponent.stories.tsx +35 -35
  151. package/src/stories/ListMenu.stories.tsx +56 -56
  152. package/src/stories/Marketplace.stories.tsx +53 -57
  153. package/src/stories/MarketplaceRows.stories.tsx +27 -27
  154. package/src/stories/Multitab.stories.tsx +51 -51
  155. package/src/stories/NPCDialog.stories.tsx +130 -130
  156. package/src/stories/NPCMultiDialog.stories.tsx +71 -71
  157. package/src/stories/ProgressBar.stories.tsx +24 -23
  158. package/src/stories/PropertySelect.stories.tsx +40 -40
  159. package/src/stories/QuestInfo.stories.tsx +107 -107
  160. package/src/stories/QuestList.stories.tsx +82 -82
  161. package/src/stories/RPGUIContainers.stories.tsx +42 -42
  162. package/src/stories/RadioButton.stories.tsx +49 -49
  163. package/src/stories/RadioInput.stories.tsx +34 -34
  164. package/src/stories/RangeSlider.stories.tsx +64 -64
  165. package/src/stories/ScrollList.stories.tsx +85 -85
  166. package/src/stories/Shortcuts.stories.tsx +39 -39
  167. package/src/stories/SimpleProgressBar.stories.tsx +22 -22
  168. package/src/stories/SkillProgressBar.stories.tsx +34 -34
  169. package/src/stories/SkillsContainer.stories.tsx +35 -35
  170. package/src/stories/SpellInfoDisplay.stories.tsx +27 -27
  171. package/src/stories/Spellbook.stories.tsx +104 -104
  172. package/src/stories/StaticBook.stories.tsx +32 -32
  173. package/src/stories/Text.stories.tsx +42 -42
  174. package/src/stories/TimeWidget.stories.tsx +27 -27
  175. package/src/stories/TradingMenu.stories.tsx +47 -47
  176. package/src/types/eventTypes.ts +4 -4
  177. package/src/types/index.d.ts +2 -2
@@ -14601,1438 +14601,1618 @@ 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'
15339
- }
15340
- }, "\u2193"))
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'
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();
15348
15158
  }
15349
- }, "\u2191"))
15350
- }];
15351
- });
15352
-
15353
- var BuyPanel = function BuyPanel(_ref) {
15354
- var items = _ref.items,
15355
- atlasIMG = _ref.atlasIMG,
15356
- atlasJSON = _ref.atlasJSON,
15357
- onChangeType = _ref.onChangeType,
15358
- onChangeRarity = _ref.onChangeRarity,
15359
- onChangeOrder = _ref.onChangeOrder,
15360
- onChangeNameInput = _ref.onChangeNameInput,
15361
- onChangeMainLevelInput = _ref.onChangeMainLevelInput,
15362
- onChangeSecondaryLevelInput = _ref.onChangeSecondaryLevelInput,
15363
- onChangePriceInput = _ref.onChangePriceInput,
15364
- equipmentSet = _ref.equipmentSet,
15365
- onMarketPlaceItemBuy = _ref.onMarketPlaceItemBuy,
15366
- characterId = _ref.characterId,
15367
- enableHotkeys = _ref.enableHotkeys,
15368
- disableHotkeys = _ref.disableHotkeys,
15369
- currentPage = _ref.currentPage;
15370
- var _useState = React.useState(''),
15371
- name = _useState[0],
15372
- setName = _useState[1];
15373
- var _useState2 = React.useState([undefined, undefined]),
15374
- mainLevel = _useState2[0],
15375
- setMainLevel = _useState2[1];
15376
- var _useState3 = React.useState([undefined, undefined]),
15377
- secondaryLevel = _useState3[0],
15378
- setSecondaryLevel = _useState3[1];
15379
- var _useState4 = React.useState([undefined, undefined]),
15380
- price = _useState4[0],
15381
- setPrice = _useState4[1];
15382
- var _useState5 = React.useState(null),
15383
- buyingItemId = _useState5[0],
15384
- setBuyingItemId = _useState5[1];
15385
- var itemsContainer = React.useRef(null);
15386
- React.useEffect(function () {
15387
- var _itemsContainer$curre;
15388
- (_itemsContainer$curre = itemsContainer.current) == null ? void 0 : _itemsContainer$curre.scrollTo(0, 0);
15389
- }, [currentPage]);
15390
- return React__default.createElement(React__default.Fragment, null, buyingItemId && React__default.createElement(ConfirmModal, {
15391
- onClose: setBuyingItemId.bind(null, null),
15392
- onConfirm: function onConfirm() {
15393
- onMarketPlaceItemBuy == null ? void 0 : onMarketPlaceItemBuy(buyingItemId);
15394
- setBuyingItemId(null);
15395
- enableHotkeys == null ? void 0 : enableHotkeys();
15396
- },
15397
- message: "Are you sure to buy this item?"
15398
- }), React__default.createElement(InputWrapper, null, React__default.createElement("p", null, "Search By Name"), React__default.createElement(Input, {
15399
- onChange: function onChange(e) {
15400
- setName(e.target.value);
15401
- onChangeNameInput(e.target.value);
15402
15159
  },
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]]);
15160
+ width: "400px",
15161
+ cancelDrag: ".item-container-body, #shortcuts_list",
15162
+ onPositionChange: function onPositionChange(_ref2) {
15163
+ var x = _ref2.x,
15164
+ y = _ref2.y;
15165
+ if (_onPositionChange) {
15166
+ _onPositionChange({
15167
+ x: x,
15168
+ y: y
15169
+ });
15170
+ }
15411
15171
  },
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)]);
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
+ }
15421
15181
  },
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]]);
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
+ }
15431
15191
  },
15432
- placeholder: "Min",
15433
- type: "number",
15434
- min: 0,
15435
- onBlur: enableHotkeys,
15436
- onFocus: disableHotkeys
15437
- }), React__default.createElement(ai.AiFillCaretRight, null), React__default.createElement(Input, {
15438
- onChange: function onChange(e) {
15439
- setSecondaryLevel([secondaryLevel[0], Number(e.target.value)]);
15440
- onChangeSecondaryLevelInput([secondaryLevel[0], Number(e.target.value)]);
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'
15441
15224
  },
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]]);
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
15451
15247
  },
15452
- placeholder: "Min",
15453
- type: "number",
15454
- min: 0,
15455
- className: "big-input",
15456
- onBlur: enableHotkeys,
15457
- onFocus: disableHotkeys
15458
- }), React__default.createElement(ai.AiFillCaretRight, null), React__default.createElement(Input, {
15248
+ min: valueMin,
15249
+ max: valueMax,
15459
15250
  onChange: function onChange(e) {
15460
- setPrice([price[0], Number(e.target.value)]);
15461
- onChangePriceInput([price[0], Number(e.target.value)]);
15251
+ return _onChange(Number(e.target.value));
15462
15252
  },
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
- })));
15253
+ value: value,
15254
+ className: "rpgui-cursor-point"
15255
+ }));
15500
15256
  };
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;"]);
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;"]);
15525
15261
 
15526
- var ManagmentPanel = function ManagmentPanel(_ref) {
15527
- var items = _ref.items,
15528
- atlasIMG = _ref.atlasIMG,
15529
- atlasJSON = _ref.atlasJSON,
15530
- onChangeNameInput = _ref.onChangeNameInput,
15531
- 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);
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);
15554
15270
  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
- }
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%'
15568
15295
  },
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();
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)));
15576
15303
  },
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, {
15304
+ noValidate: true
15305
+ }, React__default.createElement(StyledInput, {
15306
+ innerRef: inputRef,
15307
+ placeholder: "Enter quantity",
15308
+ type: "number",
15309
+ min: 1,
15310
+ max: quantity,
15311
+ value: value,
15579
15312
  onChange: function onChange(e) {
15580
- setName(e.target.value);
15581
- onChangeNameInput(e.target.value);
15313
+ if (Number(e.target.value) >= quantity) {
15314
+ setValue(quantity);
15315
+ return;
15316
+ }
15317
+ setValue(e.target.value);
15582
15318
  },
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,
15589
- atlasIMG: atlasIMG,
15590
- atlasJSON: atlasJSON,
15591
- onPointerDown: function onPointerDown(_, __, item) {
15592
- return onSelectedItemToSellRemove(item);
15593
- },
15594
- item: selectedItemToSell
15595
- }), React__default.createElement(PriceInputWrapper, null, React__default.createElement("p", null, "Enter price"), React__default.createElement(Flex$2, null, React__default.createElement(Input, {
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);
15611
- }
15319
+ onBlur: function onBlur(e) {
15320
+ var newValue = Math.max(1, Math.min(quantity, Number(e.target.value)));
15321
+ setValue(newValue);
15612
15322
  }
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, {
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, {
15618
15331
  buttonType: exports.ButtonTypes.RPGUIButton,
15619
- disabled: availableGold === 0,
15620
- onPointerDown: function onPointerDown() {
15621
- return availableGold > 0 && onMoneyWithdraw();
15622
- }
15623
- }, "Withdraw")))), React__default.createElement(ItemComponentScrollWrapper$1, {
15624
- id: "MarketContainer",
15625
- ref: itemsContainer
15626
- }, items == null ? void 0 : items.map(function (_ref2, index) {
15627
- var item = _ref2.item,
15628
- price = _ref2.price,
15629
- _id = _ref2._id;
15630
- return React__default.createElement(MarketplaceRows, {
15631
- key: item.key + "_" + index,
15632
- atlasIMG: atlasIMG,
15633
- atlasJSON: atlasJSON,
15634
- item: item,
15635
- itemPrice: price,
15636
- equipmentSet: equipmentSet,
15637
- onMarketPlaceItemRemove: setRemovingItemId.bind(null, _id)
15638
- });
15639
- })));
15332
+ type: "submit"
15333
+ }, "Confirm")));
15640
15334
  };
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
- });
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;"]);
15677
15351
 
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",
15692
- scale: scale
15693
- }, isYourPanel && React__default.createElement(React__default.Fragment, null, React__default.createElement(ManagmentPanel, Object.assign({}, props)), React__default.createElement(PagerContainer$1, null, React__default.createElement(Button, {
15694
- buttonType: exports.ButtonTypes.RPGUIButton,
15695
- onPointerDown: function onPointerDown() {
15696
- onYourPanelToggle(false);
15697
- setIsYourPanel(false);
15698
- }
15699
- }, "Go to marketplace"), React__default.createElement(Pager, Object.assign({}, props)))), !isYourPanel && React__default.createElement(React__default.Fragment, null, React__default.createElement(BuyPanel, Object.assign({}, props)), React__default.createElement(PagerContainer$1, null, React__default.createElement(Button, {
15700
- buttonType: exports.ButtonTypes.RPGUIButton,
15701
- onPointerDown: function onPointerDown() {
15702
- onYourPanelToggle(true);
15703
- setIsYourPanel(true);
15352
+ var ShortcutsSetter = function ShortcutsSetter(_ref) {
15353
+ var setSettingShortcutIndex = _ref.setSettingShortcutIndex,
15354
+ settingShortcutIndex = _ref.settingShortcutIndex,
15355
+ shortcuts = _ref.shortcuts,
15356
+ removeShortcut = _ref.removeShortcut,
15357
+ atlasJSON = _ref.atlasJSON,
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
+ });
15704
15381
  }
15705
- }, "Go to your panel"), React__default.createElement(Pager, Object.assign({}, props)))));
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
+ })));
15706
15404
  };
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';
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;"]);
15715
15420
 
15716
- (function (ImgSide) {
15717
- ImgSide["right"] = "right";
15718
- ImgSide["left"] = "left";
15719
- })(exports.ImgSide || (exports.ImgSide = {}));
15720
- var NPCMultiDialog = function NPCMultiDialog(_ref) {
15721
- var _textAndTypeArray$sli;
15722
- var _onClose = _ref.onClose,
15723
- textAndTypeArray = _ref.textAndTypeArray;
15724
- var _useState = React.useState(false),
15725
- showGoNextIndicator = _useState[0],
15726
- setShowGoNextIndicator = _useState[1];
15727
- var _useState2 = React.useState(0),
15728
- slide = _useState2[0],
15729
- setSlide = _useState2[1];
15730
- var onHandleSpacePress = function onHandleSpacePress(event) {
15731
- if (event.code === 'Space') {
15732
- if (slide < (textAndTypeArray == null ? void 0 : textAndTypeArray.length) - 1) {
15733
- setSlide(function (prev) {
15734
- return prev + 1;
15735
- });
15736
- } else {
15737
- // if there's no more text chunks, close the dialog
15738
- _onClose();
15739
- }
15740
- }
15741
- };
15742
- React.useEffect(function () {
15743
- document.addEventListener('keydown', onHandleSpacePress);
15744
- return function () {
15745
- return document.removeEventListener('keydown', onHandleSpacePress);
15746
- };
15747
- }, [slide]);
15748
- return React__default.createElement(RPGUIContainer, {
15749
- type: exports.RPGUIContainerTypes.FramedGold,
15750
- width: '50%',
15751
- height: '180px'
15752
- }, React__default.createElement(React__default.Fragment, null, React__default.createElement(Container$i, null, ((_textAndTypeArray$sli = textAndTypeArray[slide]) == null ? void 0 : _textAndTypeArray$sli.imageSide) === 'right' && React__default.createElement(React__default.Fragment, null, React__default.createElement(TextContainer, {
15753
- flex: '70%'
15754
- }, React__default.createElement(NPCDialogText, {
15755
- onStartStep: function onStartStep() {
15756
- return setShowGoNextIndicator(false);
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
- }
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,
15443
+ equipmentSet = _ref.equipmentSet,
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);
15766
15460
  }
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);
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,
15528
+ atlasIMG: atlasIMG,
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
+ });
15782
15541
  },
15783
- text: textAndTypeArray[slide].text || 'No text provided.',
15784
15542
  onClose: function onClose() {
15785
- if (_onClose) {
15786
- _onClose();
15787
- }
15543
+ quantitySelect.callback(-1);
15544
+ setQuantitySelect({
15545
+ isOpen: false,
15546
+ maxQuantity: 1,
15547
+ callback: function callback() {}
15548
+ });
15788
15549
  }
15789
- })), showGoNextIndicator && React__default.createElement(PressSpaceIndicator, {
15790
- right: '1rem',
15791
- src: img$6
15792
- }))), ")"));
15793
- };
15794
- var Container$i = /*#__PURE__*/styled.div.withConfig({
15795
- displayName: "NPCMultiDialog__Container",
15796
- componentId: "sc-rvu5wg-0"
15797
- })(["display:flex;width:100%;height:100%;box-sizing:border-box;justify-content:center;align-items:flex-start;position:relative;"]);
15798
- var TextContainer = /*#__PURE__*/styled.div.withConfig({
15799
- displayName: "NPCMultiDialog__TextContainer",
15800
- componentId: "sc-rvu5wg-1"
15801
- })(["flex:", " 0 0;width:355px;"], function (_ref2) {
15802
- var flex = _ref2.flex;
15803
- return flex;
15804
- });
15805
- var ThumbnailContainer = /*#__PURE__*/styled.div.withConfig({
15806
- displayName: "NPCMultiDialog__ThumbnailContainer",
15807
- componentId: "sc-rvu5wg-2"
15808
- })(["flex:30% 0 0;display:flex;justify-content:flex-end;"]);
15809
- var NPCThumbnail = /*#__PURE__*/styled.img.withConfig({
15810
- displayName: "NPCMultiDialog__NPCThumbnail",
15811
- componentId: "sc-rvu5wg-3"
15812
- })(["image-rendering:pixelated;height:128px;width:128px;"]);
15813
- var PressSpaceIndicator = /*#__PURE__*/styled.img.withConfig({
15814
- displayName: "NPCMultiDialog__PressSpaceIndicator",
15815
- componentId: "sc-rvu5wg-4"
15816
- })(["position:absolute;right:", ";bottom:1rem;height:20.7px;image-rendering:-webkit-optimize-contrast;"], function (_ref3) {
15817
- var right = _ref3.right;
15818
- return right;
15819
- });
15820
-
15821
- //@ts-ignore
15822
- var useEventListener = function useEventListener(type, handler, el) {
15823
- if (el === void 0) {
15824
- el = window;
15825
- }
15826
- var savedHandler = React__default.useRef();
15827
- React__default.useEffect(function () {
15828
- savedHandler.current = handler;
15829
- }, [handler]);
15830
- React__default.useEffect(function () {
15831
- //@ts-ignore
15832
- var listener = function listener(e) {
15833
- return savedHandler.current(e);
15834
- };
15835
- el.addEventListener(type, listener);
15836
- return function () {
15837
- el.removeEventListener(type, listener);
15838
- };
15839
- }, [type, el]);
15550
+ }))));
15840
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);"]);
15841
15560
 
15842
- var DynamicText = function DynamicText(_ref) {
15843
- var text = _ref.text,
15844
- onFinish = _ref.onFinish,
15845
- onStart = _ref.onStart;
15846
- var _useState = React.useState(''),
15847
- textState = _useState[0],
15848
- setTextState = _useState[1];
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
+ };
15849
15575
  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
- }
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();
15866
15587
  }
15867
- }, 50);
15868
- return function () {
15869
- clearInterval(interval);
15870
- };
15871
- }, [text]);
15872
- return React__default.createElement(TextContainer$1, null, textState);
15873
- };
15874
- var TextContainer$1 = /*#__PURE__*/styled.p.withConfig({
15875
- displayName: "DynamicText__TextContainer",
15876
- componentId: "sc-1ggl9nd-0"
15877
- })(["font-size:0.7rem !important;color:white;text-shadow:1px 1px 0px #000000;letter-spacing:1.2px;word-break:normal;"]);
15878
-
15879
- var QuestionDialog = function QuestionDialog(_ref) {
15880
- var questions = _ref.questions,
15881
- answers = _ref.answers,
15882
- onClose = _ref.onClose;
15883
- var _useState = React.useState(questions[0]),
15884
- currentQuestion = _useState[0],
15885
- setCurrentQuestion = _useState[1];
15886
- var _useState2 = React.useState(false),
15887
- canShowAnswers = _useState2[0],
15888
- setCanShowAnswers = _useState2[1];
15889
- var onGetFirstAnswer = function onGetFirstAnswer() {
15890
- if (!currentQuestion.answerIds || currentQuestion.answerIds.length === 0) {
15891
- return null;
15892
15588
  }
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];
15901
- 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;
15589
+ }, React__default.createElement("div", {
15590
+ style: {
15591
+ width: '100%'
15955
15592
  }
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();
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, {
15599
+ atlasIMG: atlasIMG,
15600
+ atlasJSON: atlasJSON,
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'
15968
15659
  }
15969
- };
15970
- var onRenderCurrentAnswers = function onRenderCurrentAnswers() {
15971
- var answerIds = currentQuestion.answerIds;
15972
- if (!answerIds) {
15973
- return null;
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');
15667
+ })));
15668
+ };
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));
15974
15692
  }
15975
- var answers = onGetAnswers(answerIds);
15976
- if (!answers) {
15977
- return null;
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));
15978
15699
  }
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;
15996
- });
15997
- };
15998
- return React__default.createElement(Container$j, null, React__default.createElement(QuestionContainer, null, React__default.createElement(DynamicText, {
15999
- text: currentQuestion.text,
16000
- onStart: function onStart() {
16001
- return setCanShowAnswers(false);
16002
- },
16003
- onFinish: function onFinish() {
16004
- return setCanShowAnswers(true);
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);}"]);
15750
+
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(ItemInfoWrapper, {
15762
+ item: item,
15763
+ atlasIMG: atlasIMG,
15764
+ atlasJSON: atlasJSON,
15765
+ equipmentSet: equipmentSet,
15766
+ scale: scale
15767
+ }, React__default.createElement(ItemIconContainer, null, React__default.createElement(SpriteContainer, null, React__default.createElement(SpriteFromAtlas, {
15768
+ atlasIMG: atlasIMG,
15769
+ atlasJSON: atlasJSON,
15770
+ spriteKey: shared.getItemTextureKeyPath({
15771
+ key: item.key,
15772
+ stackQty: item.stackQty || 1,
15773
+ texturePath: item.texturePath,
15774
+ isStackable: item.isStackable
15775
+ }, atlasJSON),
15776
+ imgScale: 2
15777
+ }), 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, {
15778
+ maxLines: 1,
15779
+ maxWidth: "200px",
15780
+ fontSize: "10px"
15781
+ }, item.name))))), React__default.createElement(Flex$1, null, React__default.createElement(ItemIconContainer, null, React__default.createElement(SpriteContainer, null, React__default.createElement(SpriteFromAtlas, {
15782
+ atlasIMG: atlasIMG,
15783
+ atlasJSON: atlasJSON,
15784
+ spriteKey: "others/gold-coin-qty-5.png",
15785
+ imgScale: 2
15786
+ })), React__default.createElement(PriceValue, null, React__default.createElement("p", null, React__default.createElement(Ellipsis, {
15787
+ maxLines: 1,
15788
+ maxWidth: "200px",
15789
+ fontSize: "10px"
15790
+ }, "$", itemPrice)))), React__default.createElement(ButtonContainer$1, null, React__default.createElement(Button, {
15791
+ buttonType: exports.ButtonTypes.RPGUIButton,
15792
+ disabled: disabled,
15793
+ onPointerDown: function onPointerDown() {
15794
+ if (disabled) return;
15795
+ onMarketPlaceItemBuy == null ? void 0 : onMarketPlaceItemBuy();
15796
+ onMarketPlaceItemRemove == null ? void 0 : onMarketPlaceItemRemove();
15797
+ }
15798
+ }, onMarketPlaceItemBuy ? 'Buy' : 'Remove'))));
15799
+ };
15800
+ var MarketplaceWrapper = /*#__PURE__*/styled.div.withConfig({
15801
+ displayName: "MarketplaceRows__MarketplaceWrapper",
15802
+ componentId: "sc-wmpr1o-0"
15803
+ })(["margin:auto;display:flex;justify-content:space-between;padding:0.5rem;&:hover{background-color:", ";}p{font-size:0.8rem;}"], uiColors.darkGray);
15804
+ var QuantityContainer = /*#__PURE__*/styled.p.withConfig({
15805
+ displayName: "MarketplaceRows__QuantityContainer",
15806
+ componentId: "sc-wmpr1o-1"
15807
+ })(["position:absolute;display:block;top:15px;left:25px;font-size:", " !important;"], uiFonts.size.xsmall);
15808
+ var Flex$1 = /*#__PURE__*/styled.div.withConfig({
15809
+ displayName: "MarketplaceRows__Flex",
15810
+ componentId: "sc-wmpr1o-2"
15811
+ })(["display:flex;gap:24px;"]);
15812
+ var ItemIconContainer = /*#__PURE__*/styled.div.withConfig({
15813
+ displayName: "MarketplaceRows__ItemIconContainer",
15814
+ componentId: "sc-wmpr1o-3"
15815
+ })(["display:flex;justify-content:flex-start;align-items:center;"]);
15816
+ var SpriteContainer = /*#__PURE__*/styled.div.withConfig({
15817
+ displayName: "MarketplaceRows__SpriteContainer",
15818
+ componentId: "sc-wmpr1o-4"
15819
+ })(["position:relative;top:-0.5rem;left:0.5rem;"]);
15820
+ var PriceValue = /*#__PURE__*/styled.div.withConfig({
15821
+ displayName: "MarketplaceRows__PriceValue",
15822
+ componentId: "sc-wmpr1o-5"
15823
+ })(["margin-left:40px;"]);
15824
+ var ButtonContainer$1 = /*#__PURE__*/styled.div.withConfig({
15825
+ displayName: "MarketplaceRows__ButtonContainer",
15826
+ componentId: "sc-wmpr1o-6"
15827
+ })(["margin:auto;"]);
15828
+
15829
+ var OrderByType;
15830
+ (function (OrderByType) {
15831
+ OrderByType["Name"] = "Name";
15832
+ OrderByType["Price"] = "Price";
15833
+ })(OrderByType || (OrderByType = {}));
15834
+ var itemTypeOptions = /*#__PURE__*/['Type'].concat(Object.keys(shared.ItemSubType)).filter(function (type) {
15835
+ return type !== 'DeadBody';
15836
+ }).map(function (itemType, index) {
15837
+ return {
15838
+ id: index + 1,
15839
+ value: itemType,
15840
+ option: itemType
15841
+ };
15842
+ });
15843
+ var itemRarityOptions = /*#__PURE__*/['Rarity'].concat(Object.values(shared.ItemRarities)).map(function (itemRarity, index) {
15844
+ return {
15845
+ id: index + 1,
15846
+ value: itemRarity,
15847
+ option: itemRarity
15848
+ };
15849
+ });
15850
+ var orderByOptions = /*#__PURE__*/Object.values(OrderByType).flatMap(function (orderBy, index) {
15851
+ return [{
15852
+ id: index * 2 + 1,
15853
+ value: orderBy.toLowerCase(),
15854
+ option: React__default.createElement(React__default.Fragment, null, orderBy, ' ', React__default.createElement("span", {
15855
+ style: {
15856
+ transform: 'translateY(-2px)',
15857
+ display: 'inline-block'
15858
+ }
15859
+ }, "\u2193"))
15860
+ }, {
15861
+ id: index * 2 + 2,
15862
+ value: '-' + orderBy.toLowerCase(),
15863
+ option: React__default.createElement(React__default.Fragment, null, orderBy, ' ', React__default.createElement("span", {
15864
+ style: {
15865
+ transform: 'translateY(-2px)',
15866
+ display: 'inline-block'
15867
+ }
15868
+ }, "\u2191"))
15869
+ }];
15870
+ });
15871
+
15872
+ var BuyPanel = function BuyPanel(_ref) {
15873
+ var items = _ref.items,
15874
+ atlasIMG = _ref.atlasIMG,
15875
+ atlasJSON = _ref.atlasJSON,
15876
+ onChangeType = _ref.onChangeType,
15877
+ onChangeRarity = _ref.onChangeRarity,
15878
+ onChangeOrder = _ref.onChangeOrder,
15879
+ onChangeNameInput = _ref.onChangeNameInput,
15880
+ onChangeMainLevelInput = _ref.onChangeMainLevelInput,
15881
+ onChangeSecondaryLevelInput = _ref.onChangeSecondaryLevelInput,
15882
+ onChangePriceInput = _ref.onChangePriceInput,
15883
+ equipmentSet = _ref.equipmentSet,
15884
+ onMarketPlaceItemBuy = _ref.onMarketPlaceItemBuy,
15885
+ characterId = _ref.characterId,
15886
+ enableHotkeys = _ref.enableHotkeys,
15887
+ disableHotkeys = _ref.disableHotkeys;
15888
+ var _useState = React.useState(''),
15889
+ name = _useState[0],
15890
+ setName = _useState[1];
15891
+ var _useState2 = React.useState([undefined, undefined]),
15892
+ mainLevel = _useState2[0],
15893
+ setMainLevel = _useState2[1];
15894
+ var _useState3 = React.useState([undefined, undefined]),
15895
+ secondaryLevel = _useState3[0],
15896
+ setSecondaryLevel = _useState3[1];
15897
+ var _useState4 = React.useState([undefined, undefined]),
15898
+ price = _useState4[0],
15899
+ setPrice = _useState4[1];
15900
+ var _useState5 = React.useState(null),
15901
+ buyingItemId = _useState5[0],
15902
+ setBuyingItemId = _useState5[1];
15903
+ return React__default.createElement(React__default.Fragment, null, buyingItemId && React__default.createElement(ConfirmModal, {
15904
+ onClose: setBuyingItemId.bind(null, null),
15905
+ onConfirm: function onConfirm() {
15906
+ onMarketPlaceItemBuy == null ? void 0 : onMarketPlaceItemBuy(buyingItemId);
15907
+ setBuyingItemId(null);
15908
+ enableHotkeys == null ? void 0 : enableHotkeys();
15909
+ },
15910
+ message: "Are you sure to buy this item?"
15911
+ }), React__default.createElement(InputWrapper, null, React__default.createElement("p", null, "Search By Name"), React__default.createElement(Input, {
15912
+ onChange: function onChange(e) {
15913
+ setName(e.target.value);
15914
+ onChangeNameInput(e.target.value);
15915
+ },
15916
+ value: name,
15917
+ placeholder: "Enter name...",
15918
+ onBlur: enableHotkeys,
15919
+ onFocus: disableHotkeys
15920
+ })), 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, {
15921
+ onChange: function onChange(e) {
15922
+ setMainLevel([Number(e.target.value), mainLevel[1]]);
15923
+ onChangeMainLevelInput([Number(e.target.value), mainLevel[1]]);
15924
+ },
15925
+ placeholder: "Min",
15926
+ type: "number",
15927
+ min: 0,
15928
+ onBlur: enableHotkeys,
15929
+ onFocus: disableHotkeys
15930
+ }), React__default.createElement(ai.AiFillCaretRight, null), React__default.createElement(Input, {
15931
+ onChange: function onChange(e) {
15932
+ setMainLevel([mainLevel[0], Number(e.target.value)]);
15933
+ onChangeMainLevelInput([mainLevel[0], Number(e.target.value)]);
15934
+ },
15935
+ placeholder: "Max",
15936
+ type: "number",
15937
+ min: 0,
15938
+ onBlur: enableHotkeys,
15939
+ onFocus: disableHotkeys
15940
+ })), React__default.createElement("div", null, React__default.createElement("p", null, "Secondary level"), React__default.createElement(Input, {
15941
+ onChange: function onChange(e) {
15942
+ setSecondaryLevel([Number(e.target.value), secondaryLevel[1]]);
15943
+ onChangeSecondaryLevelInput([Number(e.target.value), secondaryLevel[1]]);
15944
+ },
15945
+ placeholder: "Min",
15946
+ type: "number",
15947
+ min: 0,
15948
+ onBlur: enableHotkeys,
15949
+ onFocus: disableHotkeys
15950
+ }), React__default.createElement(ai.AiFillCaretRight, null), React__default.createElement(Input, {
15951
+ onChange: function onChange(e) {
15952
+ setSecondaryLevel([secondaryLevel[0], Number(e.target.value)]);
15953
+ onChangeSecondaryLevelInput([secondaryLevel[0], Number(e.target.value)]);
15954
+ },
15955
+ placeholder: "Max",
15956
+ type: "number",
15957
+ min: 0,
15958
+ onBlur: enableHotkeys,
15959
+ onFocus: disableHotkeys
15960
+ })), React__default.createElement("div", null, React__default.createElement("p", null, "Price"), React__default.createElement(Input, {
15961
+ onChange: function onChange(e) {
15962
+ setPrice([Number(e.target.value), price[1]]);
15963
+ onChangePriceInput([Number(e.target.value), price[1]]);
15964
+ },
15965
+ placeholder: "Min",
15966
+ type: "number",
15967
+ min: 0,
15968
+ className: "big-input",
15969
+ onBlur: enableHotkeys,
15970
+ onFocus: disableHotkeys
15971
+ }), React__default.createElement(ai.AiFillCaretRight, null), React__default.createElement(Input, {
15972
+ onChange: function onChange(e) {
15973
+ setPrice([price[0], Number(e.target.value)]);
15974
+ onChangePriceInput([price[0], Number(e.target.value)]);
15975
+ },
15976
+ placeholder: "Max",
15977
+ type: "number",
15978
+ min: 0,
15979
+ className: "big-input",
15980
+ onBlur: enableHotkeys,
15981
+ onFocus: disableHotkeys
15982
+ }))), React__default.createElement(WrapperContainer, null, React__default.createElement(StyledDropdown, {
15983
+ options: itemTypeOptions,
15984
+ onChange: onChangeType,
15985
+ width: "95%"
15986
+ }), React__default.createElement(StyledDropdown, {
15987
+ options: itemRarityOptions,
15988
+ onChange: onChangeRarity,
15989
+ width: "95%"
15990
+ }), React__default.createElement(StyledDropdown, {
15991
+ options: orderByOptions,
15992
+ onChange: onChangeOrder,
15993
+ width: "100%"
15994
+ }))), React__default.createElement(ItemComponentScrollWrapper, {
15995
+ id: "MarketContainer"
15996
+ }, items == null ? void 0 : items.map(function (_ref2, index) {
15997
+ var item = _ref2.item,
15998
+ price = _ref2.price,
15999
+ _id = _ref2._id,
16000
+ owner = _ref2.owner;
16001
+ return React__default.createElement(MarketplaceRows, {
16002
+ key: item.key + "_" + index,
16003
+ atlasIMG: atlasIMG,
16004
+ atlasJSON: atlasJSON,
16005
+ item: item,
16006
+ itemPrice: price,
16007
+ equipmentSet: equipmentSet,
16008
+ onMarketPlaceItemBuy: setBuyingItemId.bind(null, _id),
16009
+ disabled: owner === characterId
16010
+ });
16011
+ })));
16012
+ };
16013
+ var InputWrapper = /*#__PURE__*/styled.div.withConfig({
16014
+ displayName: "BuyPanel__InputWrapper",
16015
+ componentId: "sc-1si8t7i-0"
16016
+ })(["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;}"]);
16017
+ var OptionsWrapper = /*#__PURE__*/styled.div.withConfig({
16018
+ displayName: "BuyPanel__OptionsWrapper",
16019
+ componentId: "sc-1si8t7i-1"
16020
+ })(["width:100%;height:100px;"]);
16021
+ var FilterInputsWrapper = /*#__PURE__*/styled.div.withConfig({
16022
+ displayName: "BuyPanel__FilterInputsWrapper",
16023
+ componentId: "sc-1si8t7i-2"
16024
+ })(["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;}"]);
16025
+ var WrapperContainer = /*#__PURE__*/styled.div.withConfig({
16026
+ displayName: "BuyPanel__WrapperContainer",
16027
+ componentId: "sc-1si8t7i-3"
16028
+ })(["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;}"]);
16029
+ var ItemComponentScrollWrapper = /*#__PURE__*/styled.div.withConfig({
16030
+ displayName: "BuyPanel__ItemComponentScrollWrapper",
16031
+ componentId: "sc-1si8t7i-4"
16032
+ })(["overflow-y:scroll;height:390px;width:100%;margin-top:1rem;@media (max-width:950px){height:250px;}"]);
16033
+ var StyledDropdown = /*#__PURE__*/styled(Dropdown).withConfig({
16034
+ displayName: "BuyPanel__StyledDropdown",
16035
+ componentId: "sc-1si8t7i-5"
16036
+ })(["margin:3px !important;width:170px !important;"]);
16037
+
16038
+ var ManagmentPanel = function ManagmentPanel(_ref) {
16039
+ var items = _ref.items,
16040
+ atlasIMG = _ref.atlasIMG,
16041
+ atlasJSON = _ref.atlasJSON,
16042
+ onChangeNameInput = _ref.onChangeNameInput,
16043
+ equipmentSet = _ref.equipmentSet,
16044
+ availableGold = _ref.availableGold,
16045
+ onMarketPlaceItemRemove = _ref.onMarketPlaceItemRemove,
16046
+ selectedItemToSell = _ref.selectedItemToSell,
16047
+ onSelectedItemToSellRemove = _ref.onSelectedItemToSellRemove,
16048
+ onAddItemToMarketplace = _ref.onAddItemToMarketplace,
16049
+ enableHotkeys = _ref.enableHotkeys,
16050
+ disableHotkeys = _ref.disableHotkeys,
16051
+ onMoneyWithdraw = _ref.onMoneyWithdraw;
16052
+ var _useState = React.useState(''),
16053
+ name = _useState[0],
16054
+ setName = _useState[1];
16055
+ var _useState2 = React.useState(''),
16056
+ price = _useState2[0],
16057
+ setPrice = _useState2[1];
16058
+ var _useState3 = React.useState(false),
16059
+ isCreatingOffer = _useState3[0],
16060
+ setIsCreatingOffer = _useState3[1];
16061
+ var _useState4 = React.useState(null),
16062
+ removingItemId = _useState4[0],
16063
+ setRemovingItemId = _useState4[1];
16064
+ return React__default.createElement(React__default.Fragment, null, isCreatingOffer && React__default.createElement(ConfirmModal, {
16065
+ onClose: setIsCreatingOffer.bind(null, false),
16066
+ onConfirm: function onConfirm() {
16067
+ if (selectedItemToSell && price && Number(price)) {
16068
+ onAddItemToMarketplace(selectedItemToSell, Number(price));
16069
+ setPrice('');
16070
+ onSelectedItemToSellRemove(selectedItemToSell);
16071
+ setIsCreatingOffer(false);
16072
+ enableHotkeys == null ? void 0 : enableHotkeys();
16073
+ }
16074
+ },
16075
+ message: "Are you sure to create this offer?"
16076
+ }), removingItemId && React__default.createElement(ConfirmModal, {
16077
+ onClose: setRemovingItemId.bind(null, null),
16078
+ onConfirm: function onConfirm() {
16079
+ onMarketPlaceItemRemove == null ? void 0 : onMarketPlaceItemRemove(removingItemId);
16080
+ setRemovingItemId(null);
16081
+ enableHotkeys == null ? void 0 : enableHotkeys();
16082
+ },
16083
+ message: "Are you sure to remove this item?"
16084
+ }), React__default.createElement(InputWrapper$1, null, React__default.createElement("p", null, "Search By Name"), React__default.createElement(Input, {
16085
+ onChange: function onChange(e) {
16086
+ setName(e.target.value);
16087
+ onChangeNameInput(e.target.value);
16088
+ },
16089
+ value: name,
16090
+ placeholder: "Enter name...",
16091
+ onBlur: enableHotkeys,
16092
+ onFocus: disableHotkeys
16093
+ })), 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, {
16094
+ slotIndex: 0,
16095
+ atlasIMG: atlasIMG,
16096
+ atlasJSON: atlasJSON,
16097
+ onPointerDown: function onPointerDown(_, __, item) {
16098
+ return onSelectedItemToSellRemove(item);
16099
+ },
16100
+ item: selectedItemToSell
16101
+ }), React__default.createElement(PriceInputWrapper, null, React__default.createElement("p", null, "Enter price"), React__default.createElement(Flex$2, null, React__default.createElement(Input, {
16102
+ onChange: function onChange(e) {
16103
+ setPrice(e.target.value);
16104
+ },
16105
+ value: price,
16106
+ placeholder: "Enter price...",
16107
+ type: "number",
16108
+ disabled: !selectedItemToSell,
16109
+ onBlur: enableHotkeys,
16110
+ onFocus: disableHotkeys
16111
+ }), React__default.createElement(Button, {
16112
+ buttonType: exports.ButtonTypes.RPGUIButton,
16113
+ disabled: !selectedItemToSell || !price,
16114
+ onPointerDown: function onPointerDown() {
16115
+ if (selectedItemToSell && price && Number(price)) {
16116
+ setIsCreatingOffer(true);
16117
+ }
16118
+ }
16119
+ }, "Create offer"))))), React__default.createElement(InnerOptionsWrapper, null, React__default.createElement(AvailableGold, {
16120
+ "$disabled": availableGold === 0
16121
+ }, React__default.createElement("p", null, "Available gold"), React__default.createElement("p", {
16122
+ className: "center"
16123
+ }, "$", availableGold), React__default.createElement(Button, {
16124
+ buttonType: exports.ButtonTypes.RPGUIButton,
16125
+ disabled: availableGold === 0,
16126
+ onPointerDown: function onPointerDown() {
16127
+ return availableGold > 0 && onMoneyWithdraw();
16128
+ }
16129
+ }, "Withdraw")))), React__default.createElement(ItemComponentScrollWrapper$1, {
16130
+ id: "MarketContainer"
16131
+ }, items == null ? void 0 : items.map(function (_ref2, index) {
16132
+ var item = _ref2.item,
16133
+ price = _ref2.price,
16134
+ _id = _ref2._id;
16135
+ return React__default.createElement(MarketplaceRows, {
16136
+ key: item.key + "_" + index,
16137
+ atlasIMG: atlasIMG,
16138
+ atlasJSON: atlasJSON,
16139
+ item: item,
16140
+ itemPrice: price,
16141
+ equipmentSet: equipmentSet,
16142
+ onMarketPlaceItemRemove: setRemovingItemId.bind(null, _id)
16143
+ });
16144
+ })));
16145
+ };
16146
+ var Flex$2 = /*#__PURE__*/styled.div.withConfig({
16147
+ displayName: "ManagmentPanel__Flex",
16148
+ componentId: "sc-1yyi6jn-0"
16149
+ })(["display:flex;gap:5px;align-items:center;"]);
16150
+ var InputWrapper$1 = /*#__PURE__*/styled.div.withConfig({
16151
+ displayName: "ManagmentPanel__InputWrapper",
16152
+ componentId: "sc-1yyi6jn-1"
16153
+ })(["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;}"]);
16154
+ var OptionsWrapper$1 = /*#__PURE__*/styled.div.withConfig({
16155
+ displayName: "ManagmentPanel__OptionsWrapper",
16156
+ componentId: "sc-1yyi6jn-2"
16157
+ })(["width:100%;height:100px;display:flex;align-items:center;justify-content:space-around;"]);
16158
+ var InnerOptionsWrapper = /*#__PURE__*/styled.div.withConfig({
16159
+ displayName: "ManagmentPanel__InnerOptionsWrapper",
16160
+ componentId: "sc-1yyi6jn-3"
16161
+ })(["display:flex;justify-content:space-between;flex-direction:column;height:100%;"]);
16162
+ var ItemComponentScrollWrapper$1 = /*#__PURE__*/styled.div.withConfig({
16163
+ displayName: "ManagmentPanel__ItemComponentScrollWrapper",
16164
+ componentId: "sc-1yyi6jn-4"
16165
+ })(["overflow-y:scroll;height:390px;width:100%;margin-top:1rem;@media (max-width:950px){height:250px;}"]);
16166
+ var PriceInputWrapper = /*#__PURE__*/styled.div.withConfig({
16167
+ displayName: "ManagmentPanel__PriceInputWrapper",
16168
+ componentId: "sc-1yyi6jn-5"
16169
+ })(["p{margin:0;}input{width:200px;}"]);
16170
+ var SellDescription = /*#__PURE__*/styled.p.withConfig({
16171
+ displayName: "ManagmentPanel__SellDescription",
16172
+ componentId: "sc-1yyi6jn-6"
16173
+ })(["margin:0;font-size:", " !important;"], uiFonts.size.xsmall);
16174
+ var AvailableGold = /*#__PURE__*/styled.div.withConfig({
16175
+ displayName: "ManagmentPanel__AvailableGold",
16176
+ componentId: "sc-1yyi6jn-7"
16177
+ })(["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) {
16178
+ return props.$disabled ? uiColors.lightGray : 'white';
16179
+ }, uiFonts.size.large, function (props) {
16180
+ return props.$disabled ? uiColors.lightGray : uiColors.lightGreen;
16181
+ });
16182
+
16183
+ var Marketplace = function Marketplace(props) {
16184
+ var onClose = props.onClose,
16185
+ scale = props.scale,
16186
+ onYourPanelToggle = props.onYourPanelToggle;
16187
+ var _useState = React.useState(false),
16188
+ isYourPanel = _useState[0],
16189
+ setIsYourPanel = _useState[1];
16190
+ return React__default.createElement(DraggableContainer, {
16191
+ type: exports.RPGUIContainerTypes.Framed,
16192
+ onCloseButton: function onCloseButton() {
16193
+ if (onClose) onClose();
16194
+ },
16195
+ width: "800px",
16196
+ cancelDrag: "#MarketContainer, .rpgui-dropdown-imp, input, .empty-slot, button",
16197
+ scale: scale
16198
+ }, 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, {
16199
+ buttonType: exports.ButtonTypes.RPGUIButton,
16200
+ onPointerDown: function onPointerDown() {
16201
+ onYourPanelToggle(false);
16202
+ setIsYourPanel(false);
16005
16203
  }
16006
- })), canShowAnswers && React__default.createElement(AnswersContainer, null, onRenderCurrentAnswers()));
16204
+ }, "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, {
16205
+ buttonType: exports.ButtonTypes.RPGUIButton,
16206
+ onPointerDown: function onPointerDown() {
16207
+ onYourPanelToggle(true);
16208
+ setIsYourPanel(true);
16209
+ }
16210
+ }, "Go to your panel"), React__default.createElement(Pager, Object.assign({}, props)))));
16007
16211
  };
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;}"]);
16212
+ var PagerContainer$1 = /*#__PURE__*/styled.div.withConfig({
16213
+ displayName: "Marketplace__PagerContainer",
16214
+ componentId: "sc-h904b1-0"
16215
+ })(["display:flex;justify-content:space-between;align-items:center;width:calc(100% - 30px);"]);
16036
16216
 
16037
16217
  var ProgressBar = function ProgressBar(_ref) {
16038
16218
  var max = _ref.max,
@@ -16044,7 +16224,8 @@ var ProgressBar = function ProgressBar(_ref) {
16044
16224
  percentageWidth = _ref$percentageWidth === void 0 ? 40 : _ref$percentageWidth,
16045
16225
  _ref$minWidth = _ref.minWidth,
16046
16226
  minWidth = _ref$minWidth === void 0 ? 100 : _ref$minWidth,
16047
- style = _ref.style;
16227
+ style = _ref.style,
16228
+ mobileScale = _ref.mobileScale;
16048
16229
  value = Math.round(value);
16049
16230
  max = Math.round(max);
16050
16231
  var calculatePercentageValue = function calculatePercentageValue(max, value) {
@@ -16053,13 +16234,14 @@ var ProgressBar = function ProgressBar(_ref) {
16053
16234
  }
16054
16235
  return value * 100 / max;
16055
16236
  };
16056
- return React__default.createElement(Container$k, {
16237
+ return React__default.createElement(Container$m, {
16057
16238
  className: "rpgui-progress",
16058
16239
  "data-value": calculatePercentageValue(max, value) / 100,
16059
16240
  "data-rpguitype": "progress",
16060
16241
  percentageWidth: percentageWidth,
16061
16242
  minWidth: minWidth,
16062
- style: style
16243
+ style: style,
16244
+ mobileScale: mobileScale
16063
16245
  }, displayText && React__default.createElement(TextOverlay$1, null, React__default.createElement(ProgressBarText, null, value, "/", max)), React__default.createElement("div", {
16064
16246
  className: " rpgui-progress-track"
16065
16247
  }, React__default.createElement("div", {
@@ -16082,18 +16264,20 @@ var TextOverlay$1 = /*#__PURE__*/styled.div.withConfig({
16082
16264
  displayName: "ProgressBar__TextOverlay",
16083
16265
  componentId: "sc-qa6fzh-1"
16084
16266
  })(["width:100%;position:relative;"]);
16085
- var Container$k = /*#__PURE__*/styled.div.withConfig({
16267
+ var Container$m = /*#__PURE__*/styled.div.withConfig({
16086
16268
  displayName: "ProgressBar__Container",
16087
16269
  componentId: "sc-qa6fzh-2"
16088
- })(["display:flex;flex-direction:column;min-width:", "px;width:", "%;justify-content:start;align-items:flex-start;", ""], function (props) {
16270
+ })(["display:flex;flex-direction:column;min-width:", "px;width:", "%;justify-content:start;align-items:flex-start;", " @media (max-width:950px){transform:scale(", ");}"], function (props) {
16089
16271
  return props.minWidth;
16090
16272
  }, function (props) {
16091
16273
  return props.percentageWidth;
16092
16274
  }, function (props) {
16093
16275
  return props.style;
16276
+ }, function (props) {
16277
+ return props.mobileScale;
16094
16278
  });
16095
16279
 
16096
- var img$7 = 'data:image/png;base64,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';
16280
+ var img$8 = 'data:image/png;base64,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';
16097
16281
 
16098
16282
  var QuestInfo = function QuestInfo(_ref) {
16099
16283
  var quests = _ref.quests,
@@ -16137,7 +16321,7 @@ var QuestInfo = function QuestInfo(_ref) {
16137
16321
  }), React__default.createElement(QuestContainer, null, React__default.createElement(TitleContainer$1, {
16138
16322
  className: "drag-handler"
16139
16323
  }, React__default.createElement(Title$4, null, React__default.createElement(Thumbnail, {
16140
- src: quests[currentIndex].thumbnail || img$7
16324
+ src: quests[currentIndex].thumbnail || img$8
16141
16325
  }), quests[currentIndex].title), React__default.createElement(QuestSplitDiv, null, React__default.createElement("hr", {
16142
16326
  className: "golden"
16143
16327
  }))), React__default.createElement(Content, null, React__default.createElement("p", null, quests[currentIndex].description)), React__default.createElement(QuestColumn, {
@@ -16156,7 +16340,7 @@ var QuestInfo = function QuestInfo(_ref) {
16156
16340
  })))) : React__default.createElement(QuestsContainer, null, React__default.createElement(QuestContainer, null, React__default.createElement(TitleContainer$1, {
16157
16341
  className: "drag-handler"
16158
16342
  }, React__default.createElement(Title$4, null, React__default.createElement(Thumbnail, {
16159
- src: quests[0].thumbnail || img$7
16343
+ src: quests[0].thumbnail || img$8
16160
16344
  }), quests[0].title), React__default.createElement(QuestSplitDiv, null, React__default.createElement("hr", {
16161
16345
  className: "golden"
16162
16346
  }))), React__default.createElement(Content, null, React__default.createElement("p", null, quests[0].description)), React__default.createElement(QuestColumn, {
@@ -16421,7 +16605,7 @@ var SimpleProgressBar = function SimpleProgressBar(_ref) {
16421
16605
  bgColor = _ref$bgColor === void 0 ? 'red' : _ref$bgColor,
16422
16606
  _ref$margin = _ref.margin,
16423
16607
  margin = _ref$margin === void 0 ? 20 : _ref$margin;
16424
- return React__default.createElement(Container$l, {
16608
+ return React__default.createElement(Container$n, {
16425
16609
  className: "simple-progress-bar"
16426
16610
  }, React__default.createElement(ProgressBarContainer, {
16427
16611
  margin: margin
@@ -16430,7 +16614,7 @@ var SimpleProgressBar = function SimpleProgressBar(_ref) {
16430
16614
  bgColor: bgColor
16431
16615
  }))));
16432
16616
  };
16433
- var Container$l = /*#__PURE__*/styled.div.withConfig({
16617
+ var Container$n = /*#__PURE__*/styled.div.withConfig({
16434
16618
  displayName: "SimpleProgressBar__Container",
16435
16619
  componentId: "sc-mbeil3-0"
16436
16620
  })(["display:flex;justify-content:center;align-items:center;width:100%;"]);
@@ -16698,7 +16882,7 @@ var SpellInfo = function SpellInfo(_ref) {
16698
16882
  castingType = spell.castingType,
16699
16883
  cooldown = spell.cooldown,
16700
16884
  maxDistanceGrid = spell.maxDistanceGrid;
16701
- 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", {
16885
+ 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", {
16702
16886
  className: "label"
16703
16887
  }, "Casting Type:"), React__default.createElement("div", {
16704
16888
  className: "value"
@@ -16724,7 +16908,7 @@ var SpellInfo = function SpellInfo(_ref) {
16724
16908
  className: "value"
16725
16909
  }, requiredItem))), React__default.createElement(Description$1, null, description));
16726
16910
  };
16727
- var Container$m = /*#__PURE__*/styled.div.withConfig({
16911
+ var Container$o = /*#__PURE__*/styled.div.withConfig({
16728
16912
  displayName: "SpellInfo__Container",
16729
16913
  componentId: "sc-4hbw3q-0"
16730
16914
  })(["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);
@@ -16778,7 +16962,7 @@ var MobileSpellTooltip = function MobileSpellTooltip(_ref) {
16778
16962
  var _ref$current;
16779
16963
  (_ref$current = ref.current) == null ? void 0 : _ref$current.classList.add('fadeOut');
16780
16964
  };
16781
- return React__default.createElement(ModalPortal, null, React__default.createElement(Container$n, {
16965
+ return React__default.createElement(ModalPortal, null, React__default.createElement(Container$p, {
16782
16966
  ref: ref,
16783
16967
  onTouchEnd: function onTouchEnd() {
16784
16968
  handleFadeOut();
@@ -16803,7 +16987,7 @@ var MobileSpellTooltip = function MobileSpellTooltip(_ref) {
16803
16987
  }, option.text);
16804
16988
  }))));
16805
16989
  };
16806
- var Container$n = /*#__PURE__*/styled.div.withConfig({
16990
+ var Container$p = /*#__PURE__*/styled.div.withConfig({
16807
16991
  displayName: "MobileSpellTooltip__Container",
16808
16992
  componentId: "sc-6p7uvr-0"
16809
16993
  })(["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;}"]);
@@ -16844,13 +17028,13 @@ var MagicTooltip = function MagicTooltip(_ref) {
16844
17028
  }
16845
17029
  return;
16846
17030
  }, []);
16847
- return React__default.createElement(ModalPortal, null, React__default.createElement(Container$o, {
17031
+ return React__default.createElement(ModalPortal, null, React__default.createElement(Container$q, {
16848
17032
  ref: ref
16849
17033
  }, React__default.createElement(SpellInfoDisplay, {
16850
17034
  spell: spell
16851
17035
  })));
16852
17036
  };
16853
- var Container$o = /*#__PURE__*/styled.div.withConfig({
17037
+ var Container$q = /*#__PURE__*/styled.div.withConfig({
16854
17038
  displayName: "SpellTooltip__Container",
16855
17039
  componentId: "sc-1go0gwg-0"
16856
17040
  })(["position:absolute;z-index:100;pointer-events:none;left:0;top:0;opacity:0;transition:opacity 0.08s;"]);
@@ -16902,7 +17086,7 @@ var Spell = function Spell(_ref) {
16902
17086
  var disabled = isSettingShortcut ? charMagicLevel < minMagicLevelRequired : manaCost > charMana || charMagicLevel < minMagicLevelRequired;
16903
17087
  return React__default.createElement(SpellInfoWrapper, {
16904
17088
  spell: spell
16905
- }, React__default.createElement(Container$p, {
17089
+ }, React__default.createElement(Container$r, {
16906
17090
  onPointerUp: onPointerUp == null ? void 0 : onPointerUp.bind(null, spellKey),
16907
17091
  isSettingShortcut: isSettingShortcut && !disabled,
16908
17092
  className: "spell"
@@ -16916,7 +17100,7 @@ var Spell = function Spell(_ref) {
16916
17100
  className: "mana"
16917
17101
  }, manaCost))));
16918
17102
  };
16919
- var Container$p = /*#__PURE__*/styled.button.withConfig({
17103
+ var Container$r = /*#__PURE__*/styled.button.withConfig({
16920
17104
  displayName: "Spell__Container",
16921
17105
  componentId: "sc-j96fa2-0"
16922
17106
  })(["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) {
@@ -16993,7 +17177,7 @@ var Spellbook = function Spellbook(_ref) {
16993
17177
  height: "inherit",
16994
17178
  cancelDrag: "#spellbook-search, #shortcuts_list, .spell",
16995
17179
  scale: scale
16996
- }, React__default.createElement(Container$q, null, React__default.createElement(Title$8, null, "Learned Spells"), React__default.createElement(ShortcutsSetter, {
17180
+ }, React__default.createElement(Container$s, null, React__default.createElement(Title$8, null, "Learned Spells"), React__default.createElement(ShortcutsSetter, {
16997
17181
  setSettingShortcutIndex: setSettingShortcutIndex,
16998
17182
  settingShortcutIndex: settingShortcutIndex,
16999
17183
  shortcuts: shortcuts,
@@ -17027,7 +17211,7 @@ var Title$8 = /*#__PURE__*/styled.h1.withConfig({
17027
17211
  displayName: "Spellbook__Title",
17028
17212
  componentId: "sc-r02nfq-0"
17029
17213
  })(["font-size:", " !important;margin-bottom:0 !important;"], uiFonts.size.large);
17030
- var Container$q = /*#__PURE__*/styled.div.withConfig({
17214
+ var Container$s = /*#__PURE__*/styled.div.withConfig({
17031
17215
  displayName: "Spellbook__Container",
17032
17216
  componentId: "sc-r02nfq-1"
17033
17217
  })(["width:100%;height:100%;color:white;display:flex;flex-direction:column;"]);
@@ -17041,16 +17225,16 @@ var TextArea = function TextArea(_ref) {
17041
17225
  return React__default.createElement("textarea", Object.assign({}, props));
17042
17226
  };
17043
17227
 
17044
- var img$8 = 'data:image/gif;base64,R0lGODlhTgBNAPMAAAAAALcIL7ObdNGqnf3vnP/wl93Goerfx/Xx3vr6+vn49QAAAAAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAAIf4gQ3JlYXRlZCB3aXRoIGV6Z2lmLmNvbSBHSUYgbWFrZXIALAAAAABOAE0AAAT/EMhJq7046827/2AojmRpnmiqrmzrvnAsz2tg37hNq7jg/0AfbjeyAQ3IpBIJ1BE5N99ySmUKbk9M4FftUn+BLMXoLXev4exWYG5/r8+te/5Nz+T0vBIu2w7+gIGCg4SFgXwvfoaLjIyILIqNkpOAjymRlAMFm5ybmZV2KHh0naWcepYlo22mradzqUUClK61nJSxIJiMrgm+v664oSKrXqa/yMmmbrkexVXHydK+y2bNULON0dPTppLXGs9UpdzlCaVt4FpsZuTm5ejWwx3iU53v753p89jtnPj49JVRZ2ELgoMHoP0DaE6gF4JjBByciCChEncMucV7yC+DQYoI/y8uzAjvFUddEkGGRHKPZMlN8lCqXGmgpctuJs90XDdzpc2bynJWgSjh40yLP4ECE1pHZs8DB5MqPcd0ClEARlVCjTpy6kadTrWC7KpU4NaDVndeyNqTa4GpSzedBblHbcGUbSmSddlprsokV7HizYtAKsO+hBEYCCw48UTD+RAnZsw2L0aApfy2pTw48eWGczX3ZNzYsdtNAf2KVkm6tOnC2+JqXg2ytWBStiSLzWv7dh5XBHS/Pti7nj9TW2kT7u1bT03dB5SPtuuMnfMkqqXXpl79uhLR2icyj+gdSfjN3FF6Pz89kXU3itnPHO/xfXlm6VXZv3+ShnH+gOUnikAUAFpFny7/XYeGGBOssR8qQjBYQRQPpoOGgHc4WOEeYGAYB4VBBDGEhMTkYCKJKKao4oostujiizDGKOOMF0QAACH/C0ltYWdlTWFnaWNrDWdhbW1hPTAuNDU0NTUAIfkEARQAAAAsAAAAAE4ATQAABP8QyEmrvTjrzbv/YCiOZGmeaKqubOu+cCzPa2DfuE2ruOD/QB9uN7IBDcikEgnUETk333JKZQpuT0zgV+1Sf4Esxegtd6/h7FZgbn+vz617/k3P5PS8Ei7bDv6AgYKDhIWBfC9+houMjIgsio2Sk4CPKZGUmY2WJnh6BaChoHpMdieec6KqoXqcRQKaq7Khmq4gmI2zurSUth6oZbMJw8Szc74dwF2rxM3Oq27IG7iGzM7Xw6uT0hnKVNbY2NBm3Bfe36Lh6gmq0aa/bGaq6+vt5O/J8cGh9PSibeUqbEGA4MAyfv38sSoTcMJAggQNTkmXsN5Chvg0PIRYcMm8iur/7HlpCGAjR4lIKIIMefFMxm4COEJEaUDlSnEtq5A0eTKJzZvPcta5FVNmRJ8IgV77h5Go0YgEayZV2ozpyJdaiho9APEnVXZCp+zUepLjx69gF3KFuGTsU6Negf5bazSJ27dmp1IVRfdpqRA838YFyRcvRJISAj89e1NV37eIS5I1zLiiY8OHscLEnFevP7oFHkPWvJkzwcohH4s2GjnxZMyol4peLbO161SyloKiTZug7du4dREobLo26Wn6gs9a29vwb+B5ls9s/vS5w+R0Lp+kztH6dVJTVnP3ffzDOTrjR7c43yZ99fIi2FdBYMA9a/ivwIP3jlx/Hv5QYOefQUtxSDGgTgCaJx8paIhxnYH+geGgQEYIGA0a+NFQIYRngJGhGlEEIeIQE8aXw4klpqjiiiy26OKLMMYo44w0XhABACH/C0ltYWdlTWFnaWNrDWdhbW1hPTAuNDU0NTUAIfkEARQAAAAsAAAAAE4ATQAABP8QyEmrvTjrzbv/YCiOZGmeaKqubOu+cCzPa2DfuE2ruOD/QB9uN7IBDcikEgnUETk333JKZQpuT0zgV+1Sf4Esxegtd6/h7FZgbn+vz617/k3P5PS8Ei7bDv6AgYKDhIWBfC9+houMjIgsio2Sk4CPKZGUmY2WJnh6n2d2J555BaanpqCcRQKaf6iwp64DqyCYk7G5spq1HqRmusGndL0dv166CcrLunPFG7eLscvU1bGUzxnHVdPV3sqxbtkX21Td39/hbeMV5VOw6PEJsOKivmzAqPLy9GbsYwIQHCijbx+/Yf7sQQmIoOFAc6cMGkS1TqGGLQ0zPlxSUGI8ign/bTHMKJBjR4/pQHr5BwAjyZJKTqJMmaoMS5cvNxqQOdMawpUWtY0kqZNnT2Y/Q4l86bAhEqNH5yWtcnOoxow7I0b1plLpB5xXSUI9qvIAyT1BtVhligDeVqTDzLJlkpbcWrZjUVKUyxaBAZYt777M6xEV376AA/cdrHXr3sUNE4Nd7JasYciR66rFnLGyXr4GDiPWvJnzOYkFRItmmljCZMqe+a1e/bK1a3z5CM+jLXCx7dtzklFTcJlzbdIXcbcRVpw35N/A6TDne8A5W+gT3HXRpdo6SezZlUuHRdt75hriQZkf3UJ7m/XXkYtwX8UvfNbyWYFSlZ8E/f1LgGdMRXoAUtXfKFIUSJWAtvyXBxpihJcggGBE2I4RBK6DxoF9rDHhGWBwSEQPQZQ4hIXz5aAiiiy26OKLMMYo44w01mjjjRdEAAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAABOAE0AAAT/EMhJq7046827/2AojmRpnmiqrmzrvnAsz2tg37hNq7jg/0AfbjeyAQ3IpBIJ1BE5N99ySmUKbk9M4FftUn+BLMXoLXev4exWYG5/r8+te/5Nz+T0vBIu2w7+gIGCg4SFgXwvfoaLjIyILIqNkpOAjymRlJmNliZ4ep9ndieeoKV7oiWYmgWsrayah6giqpSutq2wf5wgpG63v616ux+9ZcDHwXPDHbSLwAnQ0cCZyxvFXbfR2tu3yrLMbL622+TStt6z4WbZ5e3dbdVa6sau7fYJ5/Df1gIH6/X37OUrE8/CFgQI/WFrFTCgKzcFxwhAmLAKwIb3HpqJOOEgRQQK/5dcxOguGcF98j6CnDKOpECNXjhK8PgxJJKRLsvBDMVrokqbBnDm5GaSJzGfNREmETrUHKuNKC/QpHiA4k2GTXUWrSITwFSQKoNizUr0aZKqVplENYhU5UemWTWidWug61e3CFqShXZuLt6uXtvizTt270O/bgEHHvy2MNnDjBEovosXLknIkScLHqx3aIG5BhAnXpsyMsLOlxGL/qh45ubKqB2KXk2xtes27Bp+Hkzb9m3csaMp4LvbtErfgec8I4qWNmPkycUhYzX3gPPRl+b9O6b6em3SHq7R+7Xau2Tw4bVLd2X+L/qjppC0x+5CvBkEoY27j2E/Ptf3JPTn30cpOwg4IHQ9qTdgXQiGQMaCSaAhRkdcxAfGhBVEoSA8aAB4xxpSEASGh3FoGEQQQ2A4Sw4squjiizDGKOOMNNZo44045nhBBAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAABOAE0AAAT/EMhJq7046827/2AojmRpnmiqrmzrvnAsz2tg37hNq7jg/0AfbjeyAQ3IpBIJ1BE5N99ySmUKbk9M4FftUn+BLMXoLXev4exWYG5/r8+te/5Nz+T0vBIu2w7+gIGCg4SFgXwvfoaLjIyILIqNkpOAjymRlJmNliZ4ep9ndieeoKV7oiWYmgWsrayah6giqpSutq2wf5wgpG63v616ux+9ZcDHwXPDHbSLwAnQ0cCZyxvFXbfR2tu3yrLMbL622+TStt6z4WbZ5e3dbdVa6sau7fYJ5/Df1gIH6/X37OUrE8/CFgQI/WFrFTCgKzcFxwhAmLAKwIb3HpqJOOEgRQQK/5dcxOguGcF98j6CnDKOpECNXjhK8PgxJJKRLsvBDMVrokqbBnDm5GaSJzGfNREmETrUHKuNKC/QpHiA4k2GTXUWrSITwFSQKoNizUr0aZKqVplENYhU5UemWTWidWug61e3CFqShXZuLt6uXtvizTt270O/bgEHHvy2MNnDjBEovosXLknIkScLHqx3aIG5BhAnXpsyMsLOlxGL/qh45ubKqB2KXk2xtes27Bp+Hkzb9m3csaMp4LvbtErfgec8I4qWNmPkycUhYzX3gPPRl+b9O6b6em3SHq7R+7Xau2Tw4bVLd2X+L/qjppC0x+5CvBkEoY27j2E/Ptf3JPTn30cpOwg4IHQ9qTdgXQiGQMaCSaAhRkdcxAfGhBVEoSA8aAB4xxpSEASGh3FoGEQQQ2A4Sw4squjiizDGKOOMNNZo44045nhBBAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAABOAE0AAAT/EMhJq7046827/2AojmRpnmiqrmzrvnAsz2tg37hNq7jg/0AfbjeyAQ3IpBIJ1BE5N99ySmUKbk9M4FftUn+BLMXoLXev4exWYG5/r8+te/5Nz+T0vBIu2w7+gIGCg4SFgXwvfoaLjIyILIqNkpOAjymRlJmNliZ4ep9ndieeeQWmp6agnEUCmn+osKeuA6sgmJOxubKatR6kZrrBp3S9Hb9eugnKy7pzxRu3i7HL1NWxlM8Zx1XT1d7KsW7ZF9tU3d/f4W3jFeVTsOjxCbDior5swKjy8vRm7GMCEBwoo28fv2H+7EEJiKDhQHOnDBpEtU6hhi0NMz5cUlBiPIoJ/20xzCiQY0eP6UB6+QcAI8mSSk6iTJmqDEuXLzcakDnTGsKVFrWNJKmTZ09mP0OJfOmwIRKjR+clrXJzqMaMOyNG9aZS6QecV0lCParyAMk9QbVYZYoA3lakw8yyZZKW3Fq2Y1FSlMsWgQGWLe++zOsRFd++gAP3Hax1697FDRODXeyWrGHIkeuqxZyxsl6+Bg4j1ryZ8zmJBUSLZppYwmTKnvmtXv2ytWt8+QjPoy1wse3bc5JRU3CZc23SF3G3EVacN+TfwOkw53vAOVvoE9x10aXaOkns2ZVLh0Xbe+Ya4kGZH91Ce5v115GLcF/FL3zW8lmBUpWfBP39S4BnTEV6AFLV3yhSFEiVgLb8lwcaYoSXIIBgRNiOEQSug8aBfawx4RlgcEhED0GUOISF8+WgIoostujiizDGKOOMNNZo440XRAAAIf8LSW1hZ2VNYWdpY2sNZ2FtbWE9MC40NTQ1NQAh+QQBFAAAACwAAAAATgBNAAAE/xDISau9OOvNu/9gKI5kaZ5oqq5s675wLM9rYN+4Tau44P9AH243sgENyKQSCdQROTffckplCm5PTOBX7VJ/gSzF6C13r+HsVmBuf6/PrXv+Tc/k9LwSLtsO/oCBgoOEhYF8L36Gi4yMiCyKjZKTgI8pkZSZjZYmeHoFoKGgekx2J55zoqqhepxFApqrsqGariCYjbO6tJS2HqhlswnDxLNzvh3AXavEzc6rbsgbuIbMztfDq5PSGcpU1tjY0GbcF97fouHqCarRpr9sZqrr6+3k78nxwaH09KJt5SpsQYDgwDJ+/fyxKhNwwkCCBA1OSZew3kKG+DQ8hFhwybyK6v/seWkIYCNHiUgoggx58UzGbgI4QkRpQOVKcS2rkDR5MonNm89y1rkVU2ZEnwiBXvuHkajRiARrJlXajOnIl1qKGj0A8SdVdkKn7NR6kuPHr2AXcoW4ZOxTo16B/ltrNInbt2anUhVF92mpEDzfxgXJFy9EkhICPz17U1Xft4hLkjXMuKJjw4exwsTctbI/ugUeQ9a8mTMCcJ9lijYaOfFkyp6Xil4ts7XrVLKWgqJNm6Dt27h1EShsujbpafqCz1rb2/Bv4HmWz2z+9LnD5HQun6TO0fp1UlNWc/d9/MM5OuNHtzjfJn318iLYV0FgwD1r+K/Ag/eOXH8e/lBg559BS3FIMaBOAJonHyloiHGdgf6B4aBARggYDRr40VAhhGeAkaEaUQQh4hATxpfDiSWmqOKKLLbo4oswxijjjDReEAEAIf8LSW1hZ2VNYWdpY2sNZ2FtbWE9MC40NTQ1NQAh+QQBFAAAACwAAAAATgBNAAAE/xDISau9OOvNu/9gKI5kaZ5oqq5s675wLM9rYN+4Tau44P9AH243sgENyKQSCdQROTffckplCm5PTOBX7VJ/gSzF6C13r+HsVmBuf6/PrXv+Tc/k9LwSLtsO/oCBgoOEhYF8L36Gi4yMiCyKjZKTgI8pkZQDBZucm5mVdih4dJ2lnHqWJaNtpq2nc6lFApSutZyUsSCYjK4Jvr+uuKEiq16mv8jJpm65HsVVx8nSvstmzVCzjdHT06aS1xrPVKXc5QmlbeBabGbk5uXo1sMd4lOd7++d6fPY7Zz4+PSVUWdhC4KDB6D9A2hOoBeCYwQcnIggoRJ3DLnFe8gvg0GKCP8vLswI7xVHXRJBhkRyj2TJTfJQqlxpoKXLbibPdFw3c6XNm8pyVoEo4eNMiz+BAhNaR2bPAweTKj3HdApRAEZVQo06cupGnU61guyqVODWg1Z3Xsjak2uBqUs3nQW5R23BlG0pknXZaa7KJFex4s2LQCrDvoQRGAgsOPFEw/kQJ2bMNi9GgKX8tqU8OPHlhnM192Tc2LHbTQH9ilZJurTpwtvial4NsrVgUrYki81r+3YeVwR0vz7Yu54/U1tpE+7tW09N3QeUj7brjJ3zJKql16Ze/boS0donMo/oHUn4zdxRej8/PZF1N4rZzxzv8X15ZulV2b9/koZx/oDlJ4pAFABaRZ8u/12HhhgTrLEfKkIwWEEUD6aDhoB3OFjhHmBgGAeFQQQxhITE5GAiiSimqOKKLLbo4oswxijjjBdEAAA7';
17228
+ var img$9 = 'data:image/gif;base64,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';
17045
17229
 
17046
- var img$9 = 'data:image/gif;base64,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';
17230
+ var img$a = 'data:image/gif;base64,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';
17047
17231
 
17048
- var img$a = 'data:image/gif;base64,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';
17232
+ var img$b = 'data:image/gif;base64,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';
17049
17233
 
17050
17234
  var DayNightPeriod = function DayNightPeriod(_ref) {
17051
17235
  var _periodOfDaySrcFiles;
17052
17236
  var periodOfDay = _ref.periodOfDay;
17053
- var periodOfDaySrcFiles = (_periodOfDaySrcFiles = {}, _periodOfDaySrcFiles[shared.PeriodOfDay.Morning] = img$9, _periodOfDaySrcFiles[shared.PeriodOfDay.Afternoon] = img$8, _periodOfDaySrcFiles[shared.PeriodOfDay.Night] = img$a, _periodOfDaySrcFiles);
17237
+ var periodOfDaySrcFiles = (_periodOfDaySrcFiles = {}, _periodOfDaySrcFiles[shared.PeriodOfDay.Morning] = img$a, _periodOfDaySrcFiles[shared.PeriodOfDay.Afternoon] = img$9, _periodOfDaySrcFiles[shared.PeriodOfDay.Night] = img$b, _periodOfDaySrcFiles);
17054
17238
  return React__default.createElement(GifContainer, null, React__default.createElement("img", {
17055
17239
  src: periodOfDaySrcFiles[periodOfDay]
17056
17240
  }));
@@ -17060,7 +17244,7 @@ var GifContainer = /*#__PURE__*/styled.div.withConfig({
17060
17244
  componentId: "sc-10t97fw-0"
17061
17245
  })(["width:100%;img{width:67%;}"]);
17062
17246
 
17063
- 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';
17247
+ 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';
17064
17248
 
17065
17249
  var TimeWidget = function TimeWidget(_ref) {
17066
17250
  var onClose = _ref.onClose,
@@ -17078,7 +17262,7 @@ var TimeWidget = function TimeWidget(_ref) {
17078
17262
  var WidgetContainer = /*#__PURE__*/styled.div.withConfig({
17079
17263
  displayName: "TimeWidget__WidgetContainer",
17080
17264
  componentId: "sc-1ja236h-0"
17081
- })(["background-image:url(", ");background-size:10rem;background-repeat:no-repeat;width:10rem;position:absolute;height:100px;"], img$b);
17265
+ })(["background-image:url(", ");background-size:10rem;background-repeat:no-repeat;width:10rem;position:absolute;height:100px;"], img$c);
17082
17266
  var Time = /*#__PURE__*/styled.div.withConfig({
17083
17267
  displayName: "TimeWidget__Time",
17084
17268
  componentId: "sc-1ja236h-1"
@@ -17328,230 +17512,17 @@ var Truncate = function Truncate(_ref) {
17328
17512
  var _ref$maxLines = _ref.maxLines,
17329
17513
  maxLines = _ref$maxLines === void 0 ? 1 : _ref$maxLines,
17330
17514
  children = _ref.children;
17331
- return React__default.createElement(Container$r, {
17515
+ return React__default.createElement(Container$t, {
17332
17516
  maxLines: maxLines
17333
17517
  }, children);
17334
17518
  };
17335
- var Container$r = /*#__PURE__*/styled.div.withConfig({
17519
+ var Container$t = /*#__PURE__*/styled.div.withConfig({
17336
17520
  displayName: "Truncate__Container",
17337
17521
  componentId: "sc-6x00qb-0"
17338
17522
  })(["display:-webkit-box;max-width:100%;max-height:100%;-webkit-line-clamp:", ";-webkit-box-orient:vertical;overflow:hidden;"], function (props) {
17339
17523
  return props.maxLines;
17340
17524
  });
17341
17525
 
17342
- var IS_MOBILE_OR_TABLET = /*#__PURE__*/shared.isMobileOrTablet();
17343
-
17344
- var chunkString = function chunkString(str, length) {
17345
- return str.match(new RegExp('.{1,' + length + '}', 'g'));
17346
- };
17347
-
17348
- var img$c = 'data:image/gif;base64,R0lGODlhEAAQAPIAAAAAABQYLiw1TUBJc2hvmQAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAAAQABAAAAM9CLrc/lCFGSKYJJP5AhlguDnBMIVgxXgmJapSSp3mKs/pKrT0IMCXUk+2Cgh2oSOnaDz+lswZpSOFUq2KBAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAAAQABAAAAIzhI+py90Bg4OjDrjCELxfFQhQx0mIJkaeaYRp5LJADMdnqXbyOJLYTdKBejjZoRaZJBMFACH/C0ltYWdlTWFnaWNrDWdhbW1hPTAuNDU0NTUAIfkEARQAAAAsAAAAABAAEAAAAjKEj6nL7Y+CDE6OO+QKQ/ifKYEgfR4VddPohQe7lmR0xidNTib65uacYP2AQWGuMlEUAAA7';
17349
-
17350
- var NPCDialogText = function NPCDialogText(_ref) {
17351
- var text = _ref.text,
17352
- onClose = _ref.onClose,
17353
- onEndStep = _ref.onEndStep,
17354
- onStartStep = _ref.onStartStep,
17355
- type = _ref.type;
17356
- var windowSize = React.useRef([window.innerWidth, window.innerHeight]);
17357
- function maxCharacters(width) {
17358
- // Set the font size to 16 pixels
17359
- var fontSize = 11.2;
17360
- // Calculate the number of characters that can fit in one line
17361
- var charactersPerLine = Math.floor(width / 2 / fontSize);
17362
- // Calculate the number of lines that can fit in the div
17363
- var linesPerDiv = Math.floor(180 / fontSize);
17364
- // Calculate the maximum number of characters that can fit in the div
17365
- var maxCharacters = charactersPerLine * linesPerDiv;
17366
- // Return the maximum number of characters
17367
- return Math.round(maxCharacters / 5);
17368
- }
17369
- var textChunks = chunkString(text, maxCharacters(windowSize.current[0]));
17370
- var _useState = React.useState(0),
17371
- chunkIndex = _useState[0],
17372
- setChunkIndex = _useState[1];
17373
- var onHandleSpacePress = function onHandleSpacePress(event) {
17374
- if (event.code === 'Space') {
17375
- goToNextStep();
17376
- }
17377
- };
17378
- var goToNextStep = function goToNextStep() {
17379
- var hasNextChunk = (textChunks == null ? void 0 : textChunks[chunkIndex + 1]) || false;
17380
- if (hasNextChunk) {
17381
- setChunkIndex(function (prev) {
17382
- return prev + 1;
17383
- });
17384
- } else {
17385
- // if there's no more text chunks, close the dialog
17386
- onClose();
17387
- }
17388
- };
17389
- React.useEffect(function () {
17390
- document.addEventListener('keydown', onHandleSpacePress);
17391
- return function () {
17392
- return document.removeEventListener('keydown', onHandleSpacePress);
17393
- };
17394
- }, [chunkIndex]);
17395
- var _useState2 = React.useState(false),
17396
- showGoNextIndicator = _useState2[0],
17397
- setShowGoNextIndicator = _useState2[1];
17398
- return React__default.createElement(Container$s, null, React__default.createElement(DynamicText, {
17399
- text: (textChunks == null ? void 0 : textChunks[chunkIndex]) || '',
17400
- onFinish: function onFinish() {
17401
- setShowGoNextIndicator(true);
17402
- onEndStep && onEndStep();
17403
- },
17404
- onStart: function onStart() {
17405
- setShowGoNextIndicator(false);
17406
- onStartStep && onStartStep();
17407
- }
17408
- }), showGoNextIndicator && React__default.createElement(PressSpaceIndicator$1, {
17409
- right: type === exports.NPCDialogType.TextOnly ? '1rem' : '10.5rem',
17410
- src: IS_MOBILE_OR_TABLET ? img$c : img$6,
17411
- onPointerDown: function onPointerDown() {
17412
- goToNextStep();
17413
- }
17414
- }));
17415
- };
17416
- var Container$s = /*#__PURE__*/styled.div.withConfig({
17417
- displayName: "NPCDialogText__Container",
17418
- componentId: "sc-1cxkdh9-0"
17419
- })([""]);
17420
- var PressSpaceIndicator$1 = /*#__PURE__*/styled.img.withConfig({
17421
- displayName: "NPCDialogText__PressSpaceIndicator",
17422
- componentId: "sc-1cxkdh9-1"
17423
- })(["position:absolute;right:", ";bottom:1rem;height:20.7px;image-rendering:-webkit-optimize-contrast;"], function (_ref2) {
17424
- var right = _ref2.right;
17425
- return right;
17426
- });
17427
-
17428
- (function (NPCDialogType) {
17429
- NPCDialogType["TextOnly"] = "TextOnly";
17430
- NPCDialogType["TextAndThumbnail"] = "TextAndThumbnail";
17431
- })(exports.NPCDialogType || (exports.NPCDialogType = {}));
17432
- var NPCDialog = function NPCDialog(_ref) {
17433
- var text = _ref.text,
17434
- type = _ref.type,
17435
- _onClose = _ref.onClose,
17436
- imagePath = _ref.imagePath,
17437
- _ref$isQuestionDialog = _ref.isQuestionDialog,
17438
- isQuestionDialog = _ref$isQuestionDialog === void 0 ? false : _ref$isQuestionDialog,
17439
- questions = _ref.questions,
17440
- answers = _ref.answers;
17441
- return React__default.createElement(RPGUIContainer, {
17442
- type: exports.RPGUIContainerTypes.FramedGold,
17443
- width: isQuestionDialog ? '600px' : '80%',
17444
- height: '180px'
17445
- }, isQuestionDialog && questions && answers ? React__default.createElement(React__default.Fragment, null, React__default.createElement(TextContainer$2, {
17446
- flex: type === exports.NPCDialogType.TextAndThumbnail ? '70%' : '100%'
17447
- }, React__default.createElement(QuestionDialog, {
17448
- questions: questions,
17449
- answers: answers,
17450
- onClose: function onClose() {
17451
- if (_onClose) {
17452
- _onClose();
17453
- }
17454
- }
17455
- })), type === exports.NPCDialogType.TextAndThumbnail && React__default.createElement(ThumbnailContainer$1, null, React__default.createElement(NPCThumbnail$1, {
17456
- src: imagePath || img$5
17457
- }))) : React__default.createElement(React__default.Fragment, null, React__default.createElement(Container$t, null, React__default.createElement(TextContainer$2, {
17458
- flex: type === exports.NPCDialogType.TextAndThumbnail ? '70%' : '100%'
17459
- }, React__default.createElement(NPCDialogText, {
17460
- type: type,
17461
- text: text || 'No text provided.',
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
- })))));
17470
- };
17471
- var Container$t = /*#__PURE__*/styled.div.withConfig({
17472
- displayName: "NPCDialog__Container",
17473
- componentId: "sc-1b4aw74-0"
17474
- })(["display:flex;width:100%;height:100%;box-sizing:border-box;justify-content:center;align-items:flex-start;position:relative;"]);
17475
- var TextContainer$2 = /*#__PURE__*/styled.div.withConfig({
17476
- displayName: "NPCDialog__TextContainer",
17477
- componentId: "sc-1b4aw74-1"
17478
- })(["flex:", " 0 0;width:355px;"], function (_ref2) {
17479
- var flex = _ref2.flex;
17480
- return flex;
17481
- });
17482
- var ThumbnailContainer$1 = /*#__PURE__*/styled.div.withConfig({
17483
- displayName: "NPCDialog__ThumbnailContainer",
17484
- componentId: "sc-1b4aw74-2"
17485
- })(["flex:30% 0 0;display:flex;justify-content:flex-end;"]);
17486
- var NPCThumbnail$1 = /*#__PURE__*/styled.img.withConfig({
17487
- displayName: "NPCDialog__NPCThumbnail",
17488
- componentId: "sc-1b4aw74-3"
17489
- })(["image-rendering:pixelated;height:128px;width:128px;"]);
17490
-
17491
- var HistoryDialog = function HistoryDialog(_ref) {
17492
- var backgroundImgPath = _ref.backgroundImgPath,
17493
- fullCoverBackground = _ref.fullCoverBackground,
17494
- questions = _ref.questions,
17495
- answers = _ref.answers,
17496
- text = _ref.text,
17497
- imagePath = _ref.imagePath,
17498
- textAndTypeArray = _ref.textAndTypeArray,
17499
- onClose = _ref.onClose;
17500
- var _useState = React.useState(0),
17501
- img = _useState[0],
17502
- setImage = _useState[1];
17503
- var onHandleSpacePress = function onHandleSpacePress(event) {
17504
- if (event.code === 'Space') {
17505
- if (img < (backgroundImgPath == null ? void 0 : backgroundImgPath.length) - 1) {
17506
- setImage(function (prev) {
17507
- return prev + 1;
17508
- });
17509
- } else {
17510
- // if there's no more text chunks, close the dialog
17511
- onClose();
17512
- }
17513
- }
17514
- };
17515
- React.useEffect(function () {
17516
- document.addEventListener('keydown', onHandleSpacePress);
17517
- return function () {
17518
- return document.removeEventListener('keydown', onHandleSpacePress);
17519
- };
17520
- }, [backgroundImgPath]);
17521
- return React__default.createElement(BackgroundContainer, {
17522
- imgPath: backgroundImgPath[img],
17523
- fullImg: fullCoverBackground
17524
- }, React__default.createElement(DialogContainer, null, textAndTypeArray ? React__default.createElement(NPCMultiDialog, {
17525
- textAndTypeArray: textAndTypeArray,
17526
- onClose: onClose
17527
- }) : questions && answers ? React__default.createElement(QuestionDialog, {
17528
- questions: questions,
17529
- answers: answers,
17530
- onClose: onClose
17531
- }) : text && imagePath ? React__default.createElement(NPCDialog, {
17532
- text: text,
17533
- imagePath: imagePath,
17534
- onClose: onClose,
17535
- type: exports.NPCDialogType.TextAndThumbnail
17536
- }) : React__default.createElement(NPCDialog, {
17537
- text: text,
17538
- onClose: onClose,
17539
- type: exports.NPCDialogType.TextOnly
17540
- })));
17541
- };
17542
- var BackgroundContainer = /*#__PURE__*/styled.div.withConfig({
17543
- displayName: "HistoryDialog__BackgroundContainer",
17544
- componentId: "sc-u6oe75-0"
17545
- })(["width:100%;height:100%;background-image:url(", ");background-size:", ";display:flex;justify-content:space-evenly;align-items:center;"], function (props) {
17546
- return props.imgPath;
17547
- }, function (props) {
17548
- return props.imgPath ? 'cover' : 'auto';
17549
- });
17550
- var DialogContainer = /*#__PURE__*/styled.div.withConfig({
17551
- displayName: "HistoryDialog__DialogContainer",
17552
- componentId: "sc-u6oe75-1"
17553
- })(["display:flex;justify-content:center;padding-top:200px;"]);
17554
-
17555
17526
  exports.Button = Button;
17556
17527
  exports.CharacterSelection = CharacterSelection;
17557
17528
  exports.Chat = Chat;