@rpg-engine/long-bow 0.4.82 → 0.4.83

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (168) hide show
  1. package/LICENSE +20 -20
  2. package/README.md +181 -181
  3. package/dist/long-bow.cjs.development.js +1587 -1595
  4. package/dist/long-bow.cjs.development.js.map +1 -1
  5. package/dist/long-bow.cjs.production.min.js +1 -1
  6. package/dist/long-bow.cjs.production.min.js.map +1 -1
  7. package/dist/long-bow.esm.js +1594 -1602
  8. package/dist/long-bow.esm.js.map +1 -1
  9. package/package.json +100 -100
  10. package/src/components/Abstractions/ModalPortal.tsx +22 -22
  11. package/src/components/Abstractions/SlotsContainer.tsx +62 -62
  12. package/src/components/Arrow/SelectArrow.tsx +69 -69
  13. package/src/components/Arrow/img/arrow01-left-clicked.png +0 -0
  14. package/src/components/Arrow/img/arrow01-left.png +0 -0
  15. package/src/components/Arrow/img/arrow01-right-clicked.png +0 -0
  16. package/src/components/Arrow/img/arrow01-right.png +0 -0
  17. package/src/components/Arrow/img/arrow02-left-clicked.png +0 -0
  18. package/src/components/Arrow/img/arrow02-left.png +0 -0
  19. package/src/components/Arrow/img/arrow02-right-clicked.png +0 -0
  20. package/src/components/Arrow/img/arrow02-right.png +0 -0
  21. package/src/components/Button.tsx +40 -40
  22. package/src/components/Character/CharacterSelection.tsx +98 -98
  23. package/src/components/CharacterStatus/CharacterStatus.tsx +120 -120
  24. package/src/components/Chat/Chat.tsx +196 -196
  25. package/src/components/Chatdeprecated/ChatDeprecated.tsx +198 -198
  26. package/src/components/CheckButton.tsx +65 -65
  27. package/src/components/CircularController/CircularController.tsx +282 -282
  28. package/src/components/ConfirmModal.tsx +87 -87
  29. package/src/components/CraftBook/CraftBook.tsx +286 -286
  30. package/src/components/CraftBook/CraftingRecipe.tsx +161 -161
  31. package/src/components/CraftBook/MockItems.ts +101 -101
  32. package/src/components/DraggableContainer.tsx +183 -183
  33. package/src/components/Dropdown.tsx +114 -114
  34. package/src/components/DropdownSelectorContainer.tsx +42 -42
  35. package/src/components/Equipment/EquipmentSet.tsx +199 -199
  36. package/src/components/HistoryDialog.tsx +104 -104
  37. package/src/components/Input.tsx +15 -15
  38. package/src/components/InputRadio.tsx +41 -41
  39. package/src/components/Item/Cards/ItemInfo.tsx +298 -298
  40. package/src/components/Item/Cards/ItemInfoDisplay.tsx +135 -135
  41. package/src/components/Item/Cards/ItemInfoWrapper.tsx +62 -62
  42. package/src/components/Item/Cards/ItemTooltip.tsx +83 -83
  43. package/src/components/Item/Cards/MobileItemTooltip.tsx +149 -149
  44. package/src/components/Item/Inventory/ErrorBoundary.tsx +42 -42
  45. package/src/components/Item/Inventory/ItemContainer.tsx +231 -231
  46. package/src/components/Item/Inventory/ItemContainerTypes.ts +6 -6
  47. package/src/components/Item/Inventory/ItemQuantitySelector.tsx +138 -138
  48. package/src/components/Item/Inventory/ItemSlot.tsx +595 -595
  49. package/src/components/Item/Inventory/itemContainerHelper.ts +175 -175
  50. package/src/components/ListMenu.tsx +63 -63
  51. package/src/components/Marketplace/BuyPanel.tsx +304 -304
  52. package/src/components/Marketplace/ManagmentPanel.tsx +255 -255
  53. package/src/components/Marketplace/Marketplace.tsx +106 -106
  54. package/src/components/Marketplace/MarketplaceRows.tsx +177 -177
  55. package/src/components/Marketplace/filters/index.tsx +67 -67
  56. package/src/components/Multitab/Tab.tsx +66 -66
  57. package/src/components/Multitab/TabBody.tsx +13 -13
  58. package/src/components/Multitab/TabsContainer.tsx +97 -97
  59. package/src/components/NPCDialog/NPCDialog.tsx +121 -121
  60. package/src/components/NPCDialog/NPCDialogText.tsx +113 -113
  61. package/src/components/NPCDialog/NPCMultiDialog.tsx +159 -159
  62. package/src/components/NPCDialog/QuestionDialog/QuestionDialog.tsx +237 -237
  63. package/src/components/Pager.tsx +94 -94
  64. package/src/components/ProgressBar.tsx +102 -102
  65. package/src/components/PropertySelect/PropertySelect.tsx +106 -106
  66. package/src/components/QuestInfo/QuestInfo.tsx +233 -233
  67. package/src/components/QuestList.tsx +135 -135
  68. package/src/components/RPGUIContainer.tsx +47 -47
  69. package/src/components/RPGUIForceRenderStart.tsx +45 -45
  70. package/src/components/RPGUIRoot.tsx +14 -14
  71. package/src/components/RadioButton.tsx +53 -53
  72. package/src/components/RadioInput/RadioButton.tsx +96 -96
  73. package/src/components/RadioInput/RadioInput.tsx +102 -102
  74. package/src/components/RadioInput/instruments.ts +15 -15
  75. package/src/components/RangeSlider.tsx +78 -78
  76. package/src/components/RelativeListMenu.tsx +90 -90
  77. package/src/components/ScrollList.tsx +79 -79
  78. package/src/components/Shortcuts/Shortcuts.tsx +193 -193
  79. package/src/components/Shortcuts/ShortcutsSetter.tsx +139 -139
  80. package/src/components/Shortcuts/SingleShortcut.ts +82 -82
  81. package/src/components/Shortcuts/useShortcutCooldown.ts +23 -23
  82. package/src/components/SimpleProgressBar.tsx +62 -62
  83. package/src/components/SkillProgressBar.tsx +198 -206
  84. package/src/components/SkillsContainer.tsx +213 -213
  85. package/src/components/Spellbook/Spell.tsx +235 -235
  86. package/src/components/Spellbook/Spellbook.tsx +145 -145
  87. package/src/components/Spellbook/cards/MobileSpellTooltip.tsx +137 -137
  88. package/src/components/Spellbook/cards/SpellInfo.tsx +134 -134
  89. package/src/components/Spellbook/cards/SpellInfoDisplay.tsx +31 -31
  90. package/src/components/Spellbook/cards/SpellInfoWrapper.tsx +48 -48
  91. package/src/components/Spellbook/cards/SpellTooltip.tsx +70 -70
  92. package/src/components/Spellbook/constants.ts +7 -7
  93. package/src/components/Spellbook/mockSpells.ts +84 -84
  94. package/src/components/StaticBook/StaticBook.tsx +103 -103
  95. package/src/components/TextArea.tsx +11 -11
  96. package/src/components/TimeWidget/DayNightPeriod/DayNightPeriod.tsx +35 -35
  97. package/src/components/TimeWidget/TimeWidget.tsx +65 -65
  98. package/src/components/TradingMenu/TradingItemRow.tsx +199 -199
  99. package/src/components/TradingMenu/TradingMenu.tsx +219 -219
  100. package/src/components/TradingMenu/items.mock.ts +48 -48
  101. package/src/components/Truncate.tsx +25 -25
  102. package/src/components/itemSelector/ItemSelector.tsx +136 -136
  103. package/src/components/shared/Column.tsx +16 -16
  104. package/src/components/shared/Ellipsis.tsx +76 -76
  105. package/src/components/shared/SpriteFromAtlas.tsx +104 -104
  106. package/src/components/typography/DynamicText.tsx +49 -49
  107. package/src/constants/uiColors.ts +20 -20
  108. package/src/constants/uiDevices.ts +3 -3
  109. package/src/constants/uiFonts.ts +12 -12
  110. package/src/hooks/useEventListener.ts +21 -21
  111. package/src/hooks/useOutsideAlerter.ts +25 -25
  112. package/src/index.tsx +42 -42
  113. package/src/libs/CastingTypeHelper.ts +7 -7
  114. package/src/libs/StringHelpers.ts +3 -3
  115. package/src/libs/itemCounter.ts +21 -21
  116. package/src/mocks/atlas/entities/entities.json +20215 -20215
  117. package/src/mocks/atlas/icons/icons.json +735 -735
  118. package/src/mocks/atlas/items/items.json +12086 -12086
  119. package/src/mocks/equipmentSet.mocks.ts +391 -391
  120. package/src/mocks/itemContainer.mocks.ts +605 -605
  121. package/src/mocks/skills.mocks.ts +130 -130
  122. package/src/stories/Arrow.stories.tsx +26 -26
  123. package/src/stories/Button.stories.tsx +36 -36
  124. package/src/stories/CharacterSelection.stories.tsx +44 -44
  125. package/src/stories/CharacterStatus.stories.tsx +29 -29
  126. package/src/stories/Chat.stories.tsx +187 -187
  127. package/src/stories/ChatDeprecated.stories.tsx +170 -170
  128. package/src/stories/CheckButton.stories.tsx +48 -48
  129. package/src/stories/CircullarController.stories.tsx +37 -37
  130. package/src/stories/CraftBook.stories.tsx +42 -42
  131. package/src/stories/DayNightPeriod.stories.tsx +27 -27
  132. package/src/stories/DraggableContainer.stories.tsx +28 -28
  133. package/src/stories/Dropdown.stories.tsx +46 -46
  134. package/src/stories/DropdownSelectorContainer.stories.tsx +41 -41
  135. package/src/stories/EquipmentSet.stories.tsx +65 -65
  136. package/src/stories/HistoryDialog.stories.tsx +61 -61
  137. package/src/stories/ItemContainer.stories.tsx +201 -201
  138. package/src/stories/ItemInfoDisplay.stories.tsx +33 -33
  139. package/src/stories/ItemQuantitySelector.stories.tsx +26 -26
  140. package/src/stories/ItemSelector.stories.tsx +77 -77
  141. package/src/stories/ItemTradingComponent.stories.tsx +35 -35
  142. package/src/stories/ListMenu.stories.tsx +56 -56
  143. package/src/stories/Marketplace.stories.tsx +57 -57
  144. package/src/stories/MarketplaceRows.stories.tsx +27 -27
  145. package/src/stories/Multitab.stories.tsx +51 -51
  146. package/src/stories/NPCDialog.stories.tsx +130 -130
  147. package/src/stories/NPCMultiDialog.stories.tsx +71 -71
  148. package/src/stories/ProgressBar.stories.tsx +24 -24
  149. package/src/stories/PropertySelect.stories.tsx +40 -40
  150. package/src/stories/QuestInfo.stories.tsx +107 -107
  151. package/src/stories/QuestList.stories.tsx +82 -82
  152. package/src/stories/RPGUIContainers.stories.tsx +42 -42
  153. package/src/stories/RadioButton.stories.tsx +49 -49
  154. package/src/stories/RadioInput.stories.tsx +34 -34
  155. package/src/stories/RangeSlider.stories.tsx +64 -64
  156. package/src/stories/ScrollList.stories.tsx +85 -85
  157. package/src/stories/Shortcuts.stories.tsx +39 -39
  158. package/src/stories/SimpleProgressBar.stories.tsx +22 -22
  159. package/src/stories/SkillProgressBar.stories.tsx +34 -34
  160. package/src/stories/SkillsContainer.stories.tsx +35 -35
  161. package/src/stories/SpellInfoDisplay.stories.tsx +27 -27
  162. package/src/stories/Spellbook.stories.tsx +104 -104
  163. package/src/stories/StaticBook.stories.tsx +32 -32
  164. package/src/stories/Text.stories.tsx +42 -42
  165. package/src/stories/TimeWidget.stories.tsx +27 -27
  166. package/src/stories/TradingMenu.stories.tsx +47 -47
  167. package/src/types/eventTypes.ts +4 -4
  168. package/src/types/index.d.ts +2 -2
@@ -1,6 +1,6 @@
1
1
  import React, { Component, useState, useEffect, useRef, useMemo, Fragment } from 'react';
2
2
  import styled from 'styled-components';
3
- import { GRID_WIDTH, GRID_HEIGHT, ShortcutType, getItemTextureKeyPath, ItemContainerType, ItemType, DepotSocketEvents, ItemSocketEvents, ItemSocketEventsDisplayLabels, ActionsForInventory, ActionsForEquipmentSet, ActionsForLoot, ActionsForMapContainer, ItemRarities, ItemSubType, ItemSlotType, getSPForLevel, PeriodOfDay, isMobileOrTablet } from '@rpg-engine/shared';
3
+ import { GRID_WIDTH, GRID_HEIGHT, ShortcutType, getItemTextureKeyPath, ItemContainerType, ItemType, DepotSocketEvents, ItemSocketEvents, ItemSocketEventsDisplayLabels, ActionsForInventory, ActionsForEquipmentSet, ActionsForLoot, ActionsForMapContainer, ItemRarities, ItemSubType, ItemSlotType, isMobileOrTablet, getSPForLevel, PeriodOfDay } from '@rpg-engine/shared';
4
4
  import dayjs from 'dayjs';
5
5
  import { ErrorBoundary as ErrorBoundary$1 } from 'react-error-boundary';
6
6
  import { RxPaperPlane } from 'react-icons/rx';
@@ -14596,1440 +14596,1654 @@ var EquipmentColumn = /*#__PURE__*/styled.div.withConfig({
14596
14596
  componentId: "sc-1wuddg2-1"
14597
14597
  })(["display:flex;justify-content:center;flex-wrap:wrap;flex-direction:column;touch-action:none;"]);
14598
14598
 
14599
- var SlotsContainer = function SlotsContainer(_ref) {
14600
- var children = _ref.children,
14601
- title = _ref.title,
14602
- onClose = _ref.onClose,
14603
- _onPositionChange = _ref.onPositionChange,
14604
- _onPositionChangeEnd = _ref.onPositionChangeEnd,
14605
- _onPositionChangeStart = _ref.onPositionChangeStart,
14606
- onOutsideClick = _ref.onOutsideClick,
14607
- initialPosition = _ref.initialPosition,
14608
- scale = _ref.scale;
14609
- return React.createElement(DraggableContainer, {
14610
- title: title,
14611
- type: RPGUIContainerTypes.Framed,
14612
- onCloseButton: function onCloseButton() {
14613
- if (onClose) {
14614
- onClose();
14615
- }
14616
- },
14617
- width: "400px",
14618
- cancelDrag: ".item-container-body, #shortcuts_list",
14619
- onPositionChange: function onPositionChange(_ref2) {
14620
- var x = _ref2.x,
14621
- y = _ref2.y;
14622
- if (_onPositionChange) {
14623
- _onPositionChange({
14624
- x: x,
14625
- y: y
14626
- });
14627
- }
14628
- },
14629
- onPositionChangeEnd: function onPositionChangeEnd(_ref3) {
14630
- var x = _ref3.x,
14631
- y = _ref3.y;
14632
- if (_onPositionChangeEnd) {
14633
- _onPositionChangeEnd({
14634
- x: x,
14635
- y: y
14636
- });
14599
+ var IS_MOBILE_OR_TABLET = /*#__PURE__*/isMobileOrTablet();
14600
+
14601
+ var chunkString = function chunkString(str, length) {
14602
+ return str.match(new RegExp('.{1,' + length + '}', 'g'));
14603
+ };
14604
+
14605
+ var DynamicText = function DynamicText(_ref) {
14606
+ var text = _ref.text,
14607
+ onFinish = _ref.onFinish,
14608
+ onStart = _ref.onStart;
14609
+ var _useState = useState(''),
14610
+ textState = _useState[0],
14611
+ setTextState = _useState[1];
14612
+ useEffect(function () {
14613
+ var i = 0;
14614
+ var interval = setInterval(function () {
14615
+ // on every interval, show one more character
14616
+ if (i === 0) {
14617
+ if (onStart) {
14618
+ onStart();
14619
+ }
14637
14620
  }
14638
- },
14639
- onPositionChangeStart: function onPositionChangeStart(_ref4) {
14640
- var x = _ref4.x,
14641
- y = _ref4.y;
14642
- if (_onPositionChangeStart) {
14643
- _onPositionChangeStart({
14644
- x: x,
14645
- y: y
14646
- });
14621
+ if (i < text.length) {
14622
+ setTextState(text.substring(0, i + 1));
14623
+ i++;
14624
+ } else {
14625
+ clearInterval(interval);
14626
+ if (onFinish) {
14627
+ onFinish();
14628
+ }
14647
14629
  }
14648
- },
14649
- onOutsideClick: onOutsideClick,
14650
- initialPosition: initialPosition,
14651
- scale: scale
14652
- }, children);
14630
+ }, 50);
14631
+ return function () {
14632
+ clearInterval(interval);
14633
+ };
14634
+ }, [text]);
14635
+ return React.createElement(TextContainer, null, textState);
14653
14636
  };
14637
+ var TextContainer = /*#__PURE__*/styled.p.withConfig({
14638
+ displayName: "DynamicText__TextContainer",
14639
+ componentId: "sc-1ggl9nd-0"
14640
+ })(["font-size:0.7rem !important;color:white;text-shadow:1px 1px 0px #000000;letter-spacing:1.2px;word-break:normal;"]);
14654
14641
 
14655
- var RangeSliderType;
14656
- (function (RangeSliderType) {
14657
- RangeSliderType["Slider"] = "rpgui-slider";
14658
- RangeSliderType["GoldSlider"] = "rpgui-slider golden";
14659
- })(RangeSliderType || (RangeSliderType = {}));
14660
- var RangeSlider = function RangeSlider(_ref) {
14661
- var type = _ref.type,
14662
- valueMin = _ref.valueMin,
14663
- valueMax = _ref.valueMax,
14664
- width = _ref.width,
14665
- _onChange = _ref.onChange,
14666
- value = _ref.value;
14667
- var sliderId = v4();
14668
- var containerRef = useRef(null);
14642
+ var img$5 = 'data:image/gif;base64,R0lGODlhEAAQAPIAAAAAABQYLiw1TUBJc2hvmQAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAAAQABAAAAM9CLrc/lCFGSKYJJP5AhlguDnBMIVgxXgmJapSSp3mKs/pKrT0IMCXUk+2Cgh2oSOnaDz+lswZpSOFUq2KBAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAAAQABAAAAIzhI+py90Bg4OjDrjCELxfFQhQx0mIJkaeaYRp5LJADMdnqXbyOJLYTdKBejjZoRaZJBMFACH/C0ltYWdlTWFnaWNrDWdhbW1hPTAuNDU0NTUAIfkEARQAAAAsAAAAABAAEAAAAjKEj6nL7Y+CDE6OO+QKQ/ifKYEgfR4VddPohQe7lmR0xidNTib65uacYP2AQWGuMlEUAAA7';
14643
+
14644
+ 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';
14645
+
14646
+ var NPCDialogText = function NPCDialogText(_ref) {
14647
+ var text = _ref.text,
14648
+ onClose = _ref.onClose,
14649
+ onEndStep = _ref.onEndStep,
14650
+ onStartStep = _ref.onStartStep,
14651
+ type = _ref.type;
14652
+ var windowSize = useRef([window.innerWidth, window.innerHeight]);
14653
+ function maxCharacters(width) {
14654
+ // Set the font size to 16 pixels
14655
+ var fontSize = 11.2;
14656
+ // Calculate the number of characters that can fit in one line
14657
+ var charactersPerLine = Math.floor(width / 2 / fontSize);
14658
+ // Calculate the number of lines that can fit in the div
14659
+ var linesPerDiv = Math.floor(180 / fontSize);
14660
+ // Calculate the maximum number of characters that can fit in the div
14661
+ var maxCharacters = charactersPerLine * linesPerDiv;
14662
+ // Return the maximum number of characters
14663
+ return Math.round(maxCharacters / 5);
14664
+ }
14665
+ var textChunks = chunkString(text, maxCharacters(windowSize.current[0]));
14669
14666
  var _useState = useState(0),
14670
- left = _useState[0],
14671
- setLeft = _useState[1];
14667
+ chunkIndex = _useState[0],
14668
+ setChunkIndex = _useState[1];
14669
+ var onHandleSpacePress = function onHandleSpacePress(event) {
14670
+ if (event.code === 'Space') {
14671
+ goToNextStep();
14672
+ }
14673
+ };
14674
+ var goToNextStep = function goToNextStep() {
14675
+ var hasNextChunk = (textChunks == null ? void 0 : textChunks[chunkIndex + 1]) || false;
14676
+ if (hasNextChunk) {
14677
+ setChunkIndex(function (prev) {
14678
+ return prev + 1;
14679
+ });
14680
+ } else {
14681
+ // if there's no more text chunks, close the dialog
14682
+ onClose();
14683
+ }
14684
+ };
14672
14685
  useEffect(function () {
14673
- var _containerRef$current;
14674
- var calculatedWidth = ((_containerRef$current = containerRef.current) == null ? void 0 : _containerRef$current.clientWidth) || 0;
14675
- setLeft(Math.max((value - valueMin) / (valueMax - valueMin) * (calculatedWidth - 35) + 10));
14676
- }, [value, valueMin, valueMax]);
14677
- var typeClass = type === RangeSliderType.GoldSlider ? 'golden' : '';
14678
- return React.createElement("div", {
14679
- style: {
14680
- width: width,
14681
- position: 'relative'
14686
+ document.addEventListener('keydown', onHandleSpacePress);
14687
+ return function () {
14688
+ return document.removeEventListener('keydown', onHandleSpacePress);
14689
+ };
14690
+ }, [chunkIndex]);
14691
+ var _useState2 = useState(false),
14692
+ showGoNextIndicator = _useState2[0],
14693
+ setShowGoNextIndicator = _useState2[1];
14694
+ return React.createElement(Container$e, null, React.createElement(DynamicText, {
14695
+ text: (textChunks == null ? void 0 : textChunks[chunkIndex]) || '',
14696
+ onFinish: function onFinish() {
14697
+ setShowGoNextIndicator(true);
14698
+ onEndStep && onEndStep();
14682
14699
  },
14683
- className: "rpgui-slider-container " + typeClass,
14684
- id: "rpgui-slider-" + sliderId,
14685
- ref: containerRef
14686
- }, React.createElement("div", {
14687
- style: {
14688
- pointerEvents: 'none'
14700
+ onStart: function onStart() {
14701
+ setShowGoNextIndicator(false);
14702
+ onStartStep && onStartStep();
14689
14703
  }
14690
- }, React.createElement("div", {
14691
- className: "rpgui-slider-track " + typeClass
14692
- }), React.createElement("div", {
14693
- className: "rpgui-slider-left-edge " + typeClass
14694
- }), React.createElement("div", {
14695
- className: "rpgui-slider-right-edge " + typeClass
14696
- }), React.createElement("div", {
14697
- className: "rpgui-slider-thumb " + typeClass,
14698
- style: {
14699
- left: left
14704
+ }), showGoNextIndicator && React.createElement(PressSpaceIndicator, {
14705
+ right: type === NPCDialogType.TextOnly ? '1rem' : '10.5rem',
14706
+ src: IS_MOBILE_OR_TABLET ? img$5 : img$6,
14707
+ onPointerDown: function onPointerDown() {
14708
+ goToNextStep();
14700
14709
  }
14701
- })), React.createElement(Input$1, {
14702
- type: "range",
14703
- style: {
14704
- width: width
14705
- },
14706
- min: valueMin,
14707
- max: valueMax,
14708
- onChange: function onChange(e) {
14709
- return _onChange(Number(e.target.value));
14710
- },
14711
- value: value,
14712
- className: "rpgui-cursor-point"
14713
14710
  }));
14714
14711
  };
14715
- var Input$1 = /*#__PURE__*/styled.input.withConfig({
14716
- displayName: "RangeSlider__Input",
14717
- componentId: "sc-v8mte9-0"
14718
- })(["opacity:0;position:absolute;width:100%;height:100%;top:0;left:0;margin-top:-5px;"]);
14712
+ var Container$e = /*#__PURE__*/styled.div.withConfig({
14713
+ displayName: "NPCDialogText__Container",
14714
+ componentId: "sc-1cxkdh9-0"
14715
+ })([""]);
14716
+ var PressSpaceIndicator = /*#__PURE__*/styled.img.withConfig({
14717
+ displayName: "NPCDialogText__PressSpaceIndicator",
14718
+ componentId: "sc-1cxkdh9-1"
14719
+ })(["position:absolute;right:", ";bottom:1rem;height:20.7px;image-rendering:-webkit-optimize-contrast;"], function (_ref2) {
14720
+ var right = _ref2.right;
14721
+ return right;
14722
+ });
14719
14723
 
14720
- var ItemQuantitySelector = function ItemQuantitySelector(_ref) {
14721
- var quantity = _ref.quantity,
14722
- onConfirm = _ref.onConfirm,
14724
+ //@ts-ignore
14725
+ var useEventListener = function useEventListener(type, handler, el) {
14726
+ if (el === void 0) {
14727
+ el = window;
14728
+ }
14729
+ var savedHandler = React.useRef();
14730
+ React.useEffect(function () {
14731
+ savedHandler.current = handler;
14732
+ }, [handler]);
14733
+ React.useEffect(function () {
14734
+ //@ts-ignore
14735
+ var listener = function listener(e) {
14736
+ return savedHandler.current(e);
14737
+ };
14738
+ el.addEventListener(type, listener);
14739
+ return function () {
14740
+ el.removeEventListener(type, listener);
14741
+ };
14742
+ }, [type, el]);
14743
+ };
14744
+
14745
+ var QuestionDialog = function QuestionDialog(_ref) {
14746
+ var questions = _ref.questions,
14747
+ answers = _ref.answers,
14723
14748
  onClose = _ref.onClose;
14724
- var _useState = useState(quantity),
14725
- value = _useState[0],
14726
- setValue = _useState[1];
14727
- var inputRef = useRef(null);
14728
- useEffect(function () {
14729
- if (inputRef.current) {
14730
- inputRef.current.focus();
14731
- inputRef.current.select();
14732
- var closeSelector = function closeSelector(e) {
14733
- if (e.key === 'Escape') {
14734
- onClose();
14735
- }
14736
- };
14737
- document.addEventListener('keydown', closeSelector);
14738
- return function () {
14739
- document.removeEventListener('keydown', closeSelector);
14740
- };
14749
+ var _useState = useState(questions[0]),
14750
+ currentQuestion = _useState[0],
14751
+ setCurrentQuestion = _useState[1];
14752
+ var _useState2 = useState(false),
14753
+ canShowAnswers = _useState2[0],
14754
+ setCanShowAnswers = _useState2[1];
14755
+ var onGetFirstAnswer = function onGetFirstAnswer() {
14756
+ if (!currentQuestion.answerIds || currentQuestion.answerIds.length === 0) {
14757
+ return null;
14741
14758
  }
14742
- return function () {};
14743
- }, []);
14744
- return React.createElement(StyledContainer, {
14745
- type: RPGUIContainerTypes.Framed,
14746
- width: "25rem"
14747
- }, React.createElement(CloseButton$2, {
14748
- className: "container-close",
14749
- onPointerDown: onClose
14750
- }, "X"), React.createElement("h2", null, "Select quantity to move"), React.createElement(StyledForm, {
14751
- style: {
14752
- width: '100%'
14753
- },
14754
- onSubmit: function onSubmit(e) {
14755
- e.preventDefault();
14756
- var numberValue = Number(value);
14757
- if (Number.isNaN(numberValue)) {
14758
- return;
14759
- }
14760
- onConfirm(Math.max(1, Math.min(quantity, numberValue)));
14761
- },
14762
- noValidate: true
14763
- }, React.createElement(StyledInput, {
14764
- innerRef: inputRef,
14765
- placeholder: "Enter quantity",
14766
- type: "number",
14767
- min: 1,
14768
- max: quantity,
14769
- value: value,
14770
- onChange: function onChange(e) {
14771
- if (Number(e.target.value) >= quantity) {
14772
- setValue(quantity);
14773
- return;
14759
+ var firstAnswerId = currentQuestion.answerIds[0];
14760
+ return answers.find(function (answer) {
14761
+ return answer.id === firstAnswerId;
14762
+ });
14763
+ };
14764
+ var _useState3 = useState(onGetFirstAnswer()),
14765
+ currentAnswer = _useState3[0],
14766
+ setCurrentAnswer = _useState3[1];
14767
+ useEffect(function () {
14768
+ setCurrentAnswer(onGetFirstAnswer());
14769
+ }, [currentQuestion]);
14770
+ var onGetAnswers = function onGetAnswers(answerIds) {
14771
+ return answerIds.map(function (answerId) {
14772
+ return answers.find(function (answer) {
14773
+ return answer.id === answerId;
14774
+ });
14775
+ });
14776
+ };
14777
+ var onKeyPress = function onKeyPress(e) {
14778
+ switch (e.key) {
14779
+ case 'ArrowDown':
14780
+ // select next answer, if any.
14781
+ // if no next answer, select first answer
14782
+ // const nextAnswer = onGetAnswers(currentQuestion.answerIds!).find(
14783
+ // (answer) => answer?.id === currentAnswer!.id + 1
14784
+ // );
14785
+ var nextAnswerIndex = onGetAnswers(currentQuestion.answerIds).findIndex(function (answer) {
14786
+ return (answer == null ? void 0 : answer.id) === currentAnswer.id + 1;
14787
+ });
14788
+ var nextAnswerID = currentQuestion.answerIds[nextAnswerIndex];
14789
+ var nextAnswer = onGetAnswers(currentQuestion.answerIds).find(function (answer) {
14790
+ return (answer == null ? void 0 : answer.id) === nextAnswerID;
14791
+ });
14792
+ setCurrentAnswer(nextAnswer || onGetFirstAnswer());
14793
+ break;
14794
+ case 'ArrowUp':
14795
+ // select previous answer, if any.
14796
+ // if no previous answer, select last answer
14797
+ var previousAnswerIndex = onGetAnswers(currentQuestion.answerIds).findIndex(function (answer) {
14798
+ return (answer == null ? void 0 : answer.id) === currentAnswer.id - 1;
14799
+ });
14800
+ var previousAnswerID = currentQuestion.answerIds && currentQuestion.answerIds[previousAnswerIndex];
14801
+ var previousAnswer = onGetAnswers(currentQuestion.answerIds).find(function (answer) {
14802
+ return (answer == null ? void 0 : answer.id) === previousAnswerID;
14803
+ });
14804
+ if (previousAnswer) {
14805
+ setCurrentAnswer(previousAnswer);
14806
+ } else {
14807
+ setCurrentAnswer(onGetAnswers(currentQuestion.answerIds).pop());
14808
+ }
14809
+ break;
14810
+ case 'Enter':
14811
+ setCanShowAnswers(false);
14812
+ if (!(currentAnswer != null && currentAnswer.nextQuestionId)) {
14813
+ onClose();
14814
+ return;
14815
+ } else {
14816
+ setCurrentQuestion(questions.find(function (question) {
14817
+ return question.id === currentAnswer.nextQuestionId;
14818
+ }));
14819
+ }
14820
+ break;
14821
+ }
14822
+ };
14823
+ useEventListener('keydown', onKeyPress);
14824
+ var onAnswerClick = function onAnswerClick(answer) {
14825
+ setCanShowAnswers(false);
14826
+ if (answer.nextQuestionId) {
14827
+ // if there is a next question, go to it
14828
+ setCurrentQuestion(questions.find(function (question) {
14829
+ return question.id === answer.nextQuestionId;
14830
+ }));
14831
+ } else {
14832
+ // else, finish dialog!
14833
+ onClose();
14834
+ }
14835
+ };
14836
+ var onRenderCurrentAnswers = function onRenderCurrentAnswers() {
14837
+ var answerIds = currentQuestion.answerIds;
14838
+ if (!answerIds) {
14839
+ return null;
14840
+ }
14841
+ var answers = onGetAnswers(answerIds);
14842
+ if (!answers) {
14843
+ return null;
14844
+ }
14845
+ return answers.map(function (answer) {
14846
+ var isSelected = (currentAnswer == null ? void 0 : currentAnswer.id) === (answer == null ? void 0 : answer.id);
14847
+ var selectedColor = isSelected ? 'yellow' : 'white';
14848
+ if (answer) {
14849
+ return React.createElement(AnswerRow, {
14850
+ key: "answer_" + answer.id
14851
+ }, React.createElement(AnswerSelectedIcon, {
14852
+ color: selectedColor
14853
+ }, isSelected ? 'X' : null), React.createElement(Answer, {
14854
+ key: answer.id,
14855
+ onPointerDown: function onPointerDown() {
14856
+ return onAnswerClick(answer);
14857
+ },
14858
+ color: selectedColor
14859
+ }, answer.text));
14774
14860
  }
14775
- setValue(e.target.value);
14861
+ return null;
14862
+ });
14863
+ };
14864
+ return React.createElement(Container$f, null, React.createElement(QuestionContainer, null, React.createElement(DynamicText, {
14865
+ text: currentQuestion.text,
14866
+ onStart: function onStart() {
14867
+ return setCanShowAnswers(false);
14776
14868
  },
14777
- onBlur: function onBlur(e) {
14778
- var newValue = Math.max(1, Math.min(quantity, Number(e.target.value)));
14779
- setValue(newValue);
14869
+ onFinish: function onFinish() {
14870
+ return setCanShowAnswers(true);
14780
14871
  }
14781
- }), React.createElement(RangeSlider, {
14782
- type: RangeSliderType.Slider,
14783
- valueMin: 1,
14784
- valueMax: quantity,
14785
- width: "100%",
14786
- onChange: setValue,
14787
- value: value
14788
- }), React.createElement(Button, {
14789
- buttonType: ButtonTypes.RPGUIButton,
14790
- type: "submit"
14791
- }, "Confirm")));
14872
+ })), canShowAnswers && React.createElement(AnswersContainer, null, onRenderCurrentAnswers()));
14792
14873
  };
14793
- var StyledContainer = /*#__PURE__*/styled(RPGUIContainer).withConfig({
14794
- displayName: "ItemQuantitySelector__StyledContainer",
14795
- componentId: "sc-yfdtpn-0"
14796
- })(["display:flex;flex-direction:column;align-items:center;"]);
14797
- var StyledForm = /*#__PURE__*/styled.form.withConfig({
14798
- displayName: "ItemQuantitySelector__StyledForm",
14799
- componentId: "sc-yfdtpn-1"
14800
- })(["display:flex;flex-direction:column;align-items:center;width:100%;"]);
14801
- var StyledInput = /*#__PURE__*/styled(Input).withConfig({
14802
- displayName: "ItemQuantitySelector__StyledInput",
14803
- componentId: "sc-yfdtpn-2"
14804
- })(["text-align:center;&::-webkit-outer-spin-button,&::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}&[type='number']{-moz-appearance:textfield;}"]);
14805
- var CloseButton$2 = /*#__PURE__*/styled.div.withConfig({
14806
- displayName: "ItemQuantitySelector__CloseButton",
14807
- componentId: "sc-yfdtpn-3"
14808
- })(["position:absolute;top:3px;right:0px;color:white;z-index:22;font-size:0.8rem;"]);
14874
+ var Container$f = /*#__PURE__*/styled.div.withConfig({
14875
+ displayName: "QuestionDialog__Container",
14876
+ componentId: "sc-bxc5u0-0"
14877
+ })(["display:flex;word-break:break-all;box-sizing:border-box;justify-content:flex-start;align-items:flex-start;flex-wrap:wrap;"]);
14878
+ var QuestionContainer = /*#__PURE__*/styled.div.withConfig({
14879
+ displayName: "QuestionDialog__QuestionContainer",
14880
+ componentId: "sc-bxc5u0-1"
14881
+ })(["flex:100%;width:100%;"]);
14882
+ var AnswersContainer = /*#__PURE__*/styled.div.withConfig({
14883
+ displayName: "QuestionDialog__AnswersContainer",
14884
+ componentId: "sc-bxc5u0-2"
14885
+ })(["flex:100%;"]);
14886
+ var Answer = /*#__PURE__*/styled.p.withConfig({
14887
+ displayName: "QuestionDialog__Answer",
14888
+ componentId: "sc-bxc5u0-3"
14889
+ })(["flex:auto;color:", " !important;font-size:0.65rem !important;background:inherit;border:none;"], function (props) {
14890
+ return props.color;
14891
+ });
14892
+ var AnswerSelectedIcon = /*#__PURE__*/styled.span.withConfig({
14893
+ displayName: "QuestionDialog__AnswerSelectedIcon",
14894
+ componentId: "sc-bxc5u0-4"
14895
+ })(["flex:5% 0 0;color:", " !important;"], function (props) {
14896
+ return props.color;
14897
+ });
14898
+ var AnswerRow = /*#__PURE__*/styled.div.withConfig({
14899
+ displayName: "QuestionDialog__AnswerRow",
14900
+ componentId: "sc-bxc5u0-5"
14901
+ })(["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;}"]);
14809
14902
 
14810
- var ShortcutsSetter = function ShortcutsSetter(_ref) {
14811
- var setSettingShortcutIndex = _ref.setSettingShortcutIndex,
14812
- settingShortcutIndex = _ref.settingShortcutIndex,
14813
- shortcuts = _ref.shortcuts,
14814
- removeShortcut = _ref.removeShortcut,
14815
- atlasJSON = _ref.atlasJSON,
14816
- atlasIMG = _ref.atlasIMG;
14817
- var getContent = function getContent(index) {
14818
- var _shortcuts$index, _shortcuts$index3;
14819
- if (((_shortcuts$index = shortcuts[index]) == null ? void 0 : _shortcuts$index.type) === ShortcutType.Item) {
14820
- var _shortcuts$index2;
14821
- var _payload = (_shortcuts$index2 = shortcuts[index]) == null ? void 0 : _shortcuts$index2.payload;
14822
- if (!_payload) return null;
14823
- return React.createElement(SpriteFromAtlas, {
14824
- atlasIMG: atlasIMG,
14825
- atlasJSON: atlasJSON,
14826
- spriteKey: getItemTextureKeyPath({
14827
- key: _payload.texturePath,
14828
- texturePath: _payload.texturePath,
14829
- stackQty: _payload.stackQty || 1,
14830
- isStackable: _payload.isStackable
14831
- }, atlasJSON),
14832
- width: 32,
14833
- height: 32,
14834
- imgScale: 1.6,
14835
- imgStyle: {
14836
- left: '5px'
14837
- }
14838
- });
14839
- }
14840
- var payload = (_shortcuts$index3 = shortcuts[index]) == null ? void 0 : _shortcuts$index3.payload;
14841
- return React.createElement("span", null, payload == null ? void 0 : payload.magicWords.split(' ').map(function (word) {
14842
- return word[0];
14843
- }));
14844
- };
14845
- return React.createElement(Container$e, null, React.createElement("p", null, "Shortcuts:"), React.createElement(List, {
14846
- id: "shortcuts_list"
14847
- }, Array.from({
14848
- length: 6
14849
- }).map(function (_, i) {
14850
- return React.createElement(Shortcut, {
14851
- key: i,
14852
- onPointerDown: function onPointerDown() {
14853
- if (settingShortcutIndex !== -1) setSettingShortcutIndex(-1);
14854
- removeShortcut(i);
14855
- if (settingShortcutIndex === -1 && (!shortcuts[i] || shortcuts[i].type === ShortcutType.None)) setSettingShortcutIndex(i);
14856
- },
14857
- disabled: settingShortcutIndex !== -1 && settingShortcutIndex !== i,
14858
- isBeingSet: settingShortcutIndex === i,
14859
- id: "shortcutSetter_" + i
14860
- }, getContent(i));
14861
- })));
14862
- };
14863
- var Container$e = /*#__PURE__*/styled.div.withConfig({
14864
- displayName: "ShortcutsSetter__Container",
14865
- componentId: "sc-xuouuf-0"
14866
- })(["p{margin:0;margin-left:0.5rem;}"]);
14867
- var Shortcut = /*#__PURE__*/styled.button.withConfig({
14868
- displayName: "ShortcutsSetter__Shortcut",
14869
- componentId: "sc-xuouuf-1"
14870
- })(["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) {
14871
- var isBeingSet = _ref2.isBeingSet;
14872
- return isBeingSet ? uiColors.yellow : uiColors.darkGray;
14873
- }, uiColors.darkGray, uiColors.gray);
14874
- var List = /*#__PURE__*/styled.div.withConfig({
14875
- displayName: "ShortcutsSetter__List",
14876
- componentId: "sc-xuouuf-2"
14877
- })(["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;"]);
14903
+ var img$7 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAP1BMVEUAAAA7FyVxQTsUEBPj5v////+5v/tCJDOOUlIiHBr1oJfptaO6dWr61rhzFy1bMTjoanMUNGQoXMQkn97+88DQ3IhAAAAAAXRSTlMAQObYZgAAAAFiS0dEBfhv6ccAAAAHdElNRQfmAw4VOBC7c5LYAAABM0lEQVQ4y3XRi5KDIAwFUAUkbrBgpP//rZsHVHQ009qZ3tPboNN0zmwzvcw8O5sX4y0NOg/Et3jRCXF+ziULorjkOQ9gE24dvuUAzq08DiCO4pe3WN7zCP56vmpubBReQYC11YPS86ySxxCsAABTSgjb5m4g8nfbxvFHBkH2OEEvAItVuCuIsgGgl+Gcr7kDXxhEAx55A2SQEEeQeZwUaIP8Tbo05B0RFPhItAjgj1w6cDnhLluDj+Egkh3pCCP4pKQAw1IPO0W9Nti5gW9RP2dKA3BZd2Dw+baYX+Nt4GM00O4S3kEpF6Alb2Bv4LeC3kkGfAW0/p0RPoJVKr63ghHsKuRh5DIUKOAlGOwrtt9fQekAEfmhZslHUDoglB0zjfkJigN7UnTQQ4GBWomoVhEN/AOPSBh38gy+fwAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyMi0wMy0xNFQyMTo1NTo1MSswMDowMJcc0eEAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjItMDMtMTRUMjE6NTU6NTErMDA6MDDmQWldAAAAAElFTkSuQmCC';
14878
14904
 
14879
- var ItemContainer$1 = function ItemContainer(_ref) {
14880
- var itemContainer = _ref.itemContainer,
14881
- onClose = _ref.onClose,
14882
- _onMouseOver = _ref.onMouseOver,
14883
- _onSelected = _ref.onSelected,
14884
- onItemClick = _ref.onItemClick,
14905
+ var NPCDialogType;
14906
+ (function (NPCDialogType) {
14907
+ NPCDialogType["TextOnly"] = "TextOnly";
14908
+ NPCDialogType["TextAndThumbnail"] = "TextAndThumbnail";
14909
+ })(NPCDialogType || (NPCDialogType = {}));
14910
+ var NPCDialog = function NPCDialog(_ref) {
14911
+ var text = _ref.text,
14885
14912
  type = _ref.type,
14886
- atlasJSON = _ref.atlasJSON,
14887
- atlasIMG = _ref.atlasIMG,
14888
- _ref$disableContextMe = _ref.disableContextMenu,
14889
- disableContextMenu = _ref$disableContextMe === void 0 ? false : _ref$disableContextMe,
14890
- onItemDragEnd = _ref.onItemDragEnd,
14891
- onItemDragStart = _ref.onItemDragStart,
14892
- onItemPlaceDrop = _ref.onItemPlaceDrop,
14893
- _onOutsideDrop = _ref.onOutsideDrop,
14894
- checkIfItemCanBeMoved = _ref.checkIfItemCanBeMoved,
14895
- initialPosition = _ref.initialPosition,
14896
- checkIfItemShouldDragEnd = _ref.checkIfItemShouldDragEnd,
14897
- scale = _ref.scale,
14898
- shortcuts = _ref.shortcuts,
14899
- setItemShortcut = _ref.setItemShortcut,
14900
- removeShortcut = _ref.removeShortcut,
14901
- equipmentSet = _ref.equipmentSet,
14902
- isDepotSystem = _ref.isDepotSystem,
14903
- onPositionChangeEnd = _ref.onPositionChangeEnd,
14904
- onPositionChangeStart = _ref.onPositionChangeStart;
14905
- var _useState = useState({
14906
- isOpen: false,
14907
- maxQuantity: 1,
14908
- callback: function callback(_quantity) {}
14909
- }),
14910
- quantitySelect = _useState[0],
14911
- setQuantitySelect = _useState[1];
14912
- var _useState2 = useState(-1),
14913
- settingShortcutIndex = _useState2[0],
14914
- setSettingShortcutIndex = _useState2[1];
14915
- var handleSetShortcut = function handleSetShortcut(item, index) {
14916
- if (item.type === ItemType.Consumable || item.type === ItemType.Tool) {
14917
- setItemShortcut == null ? void 0 : setItemShortcut(item.key, index);
14918
- }
14919
- };
14920
- var onRenderSlots = function onRenderSlots() {
14921
- var slots = [];
14922
- for (var i = 0; i < itemContainer.slotQty; i++) {
14923
- var _itemContainer$slots;
14924
- slots.push(React.createElement(ItemSlot, {
14925
- isContextMenuDisabled: disableContextMenu,
14926
- key: i,
14927
- slotIndex: i,
14928
- item: ((_itemContainer$slots = itemContainer.slots) == null ? void 0 : _itemContainer$slots[i]) || null,
14929
- itemContainerType: type,
14930
- onMouseOver: function onMouseOver(event, slotIndex, item) {
14931
- if (_onMouseOver) _onMouseOver(event, slotIndex, item);
14932
- },
14933
- onPointerDown: function onPointerDown(itemType, containerType, item) {
14934
- if (settingShortcutIndex !== -1) {
14935
- setSettingShortcutIndex(-1);
14936
- handleSetShortcut(item, settingShortcutIndex);
14937
- } else if (onItemClick) onItemClick(item, itemType, containerType);
14938
- },
14939
- onSelected: function onSelected(optionId, item) {
14940
- if (_onSelected) _onSelected(optionId, item);
14941
- },
14942
- onDragStart: function onDragStart(item, slotIndex, itemContainerType) {
14943
- if (onItemDragStart) onItemDragStart(item, slotIndex, itemContainerType);
14944
- },
14945
- onDragEnd: function onDragEnd(quantity) {
14946
- if (onItemDragEnd) onItemDragEnd(quantity);
14947
- },
14948
- dragScale: scale,
14949
- checkIfItemCanBeMoved: checkIfItemCanBeMoved,
14950
- checkIfItemShouldDragEnd: checkIfItemShouldDragEnd,
14951
- openQuantitySelector: function openQuantitySelector(maxQuantity, callback) {
14952
- setQuantitySelect({
14953
- isOpen: true,
14954
- maxQuantity: maxQuantity,
14955
- callback: callback
14956
- });
14957
- },
14958
- onPlaceDrop: function onPlaceDrop(item, slotIndex, itemContainerType) {
14959
- if (onItemPlaceDrop) onItemPlaceDrop(item, slotIndex, itemContainerType);
14960
- },
14961
- onOutsideDrop: function onOutsideDrop(item, position) {
14962
- if (_onOutsideDrop) _onOutsideDrop(item, position);
14963
- },
14964
- atlasIMG: atlasIMG,
14965
- atlasJSON: atlasJSON,
14966
- isSelectingShortcut: settingShortcutIndex !== -1,
14967
- equipmentSet: equipmentSet,
14968
- setItemShortcut: type === ItemContainerType.Inventory ? handleSetShortcut : undefined,
14969
- isDepotSystem: isDepotSystem
14970
- }));
14913
+ _onClose = _ref.onClose,
14914
+ imagePath = _ref.imagePath,
14915
+ _ref$isQuestionDialog = _ref.isQuestionDialog,
14916
+ isQuestionDialog = _ref$isQuestionDialog === void 0 ? false : _ref$isQuestionDialog,
14917
+ questions = _ref.questions,
14918
+ answers = _ref.answers;
14919
+ return React.createElement(RPGUIContainer, {
14920
+ type: RPGUIContainerTypes.FramedGold,
14921
+ width: isQuestionDialog ? '600px' : '80%',
14922
+ height: '180px'
14923
+ }, isQuestionDialog && questions && answers ? React.createElement(React.Fragment, null, React.createElement(TextContainer$1, {
14924
+ flex: type === NPCDialogType.TextAndThumbnail ? '70%' : '100%'
14925
+ }, React.createElement(QuestionDialog, {
14926
+ questions: questions,
14927
+ answers: answers,
14928
+ onClose: function onClose() {
14929
+ if (_onClose) {
14930
+ _onClose();
14931
+ }
14971
14932
  }
14972
- return slots;
14973
- };
14974
- return React.createElement(React.Fragment, null, React.createElement(SlotsContainer, {
14975
- title: itemContainer.name || 'Container',
14976
- onClose: onClose,
14977
- initialPosition: initialPosition,
14978
- scale: scale,
14979
- onPositionChangeEnd: onPositionChangeEnd,
14980
- onPositionChangeStart: onPositionChangeStart
14981
- }, type === ItemContainerType.Inventory && shortcuts && removeShortcut && React.createElement(ShortcutsSetter, {
14982
- setSettingShortcutIndex: setSettingShortcutIndex,
14983
- settingShortcutIndex: settingShortcutIndex,
14984
- shortcuts: shortcuts,
14985
- removeShortcut: removeShortcut,
14986
- atlasIMG: atlasIMG,
14987
- atlasJSON: atlasJSON
14988
- }), React.createElement(ItemsContainer, {
14989
- className: "item-container-body"
14990
- }, onRenderSlots())), quantitySelect.isOpen && React.createElement(ModalPortal, null, React.createElement(QuantitySelectorContainer, null, React.createElement(ItemQuantitySelector, {
14991
- quantity: quantitySelect.maxQuantity,
14992
- onConfirm: function onConfirm(quantity) {
14993
- quantitySelect.callback(quantity);
14994
- setQuantitySelect({
14995
- isOpen: false,
14996
- maxQuantity: 1,
14997
- callback: function callback() {}
14998
- });
14999
- },
14933
+ })), type === NPCDialogType.TextAndThumbnail && React.createElement(ThumbnailContainer, null, React.createElement(NPCThumbnail, {
14934
+ src: imagePath || img$7
14935
+ }))) : React.createElement(React.Fragment, null, React.createElement(Container$g, null, React.createElement(TextContainer$1, {
14936
+ flex: type === NPCDialogType.TextAndThumbnail ? '70%' : '100%'
14937
+ }, React.createElement(NPCDialogText, {
14938
+ type: type,
14939
+ text: text || 'No text provided.',
15000
14940
  onClose: function onClose() {
15001
- quantitySelect.callback(-1);
15002
- setQuantitySelect({
15003
- isOpen: false,
15004
- maxQuantity: 1,
15005
- callback: function callback() {}
15006
- });
14941
+ if (_onClose) {
14942
+ _onClose();
14943
+ }
15007
14944
  }
15008
- }))));
14945
+ })), type === NPCDialogType.TextAndThumbnail && React.createElement(ThumbnailContainer, null, React.createElement(NPCThumbnail, {
14946
+ src: imagePath || img$7
14947
+ })))));
15009
14948
  };
15010
- var ItemsContainer = /*#__PURE__*/styled.div.withConfig({
15011
- displayName: "ItemContainer__ItemsContainer",
15012
- componentId: "sc-15y5p9l-0"
15013
- })(["display:flex;justify-content:center;flex-wrap:wrap;"]);
15014
- var QuantitySelectorContainer = /*#__PURE__*/styled.div.withConfig({
15015
- displayName: "ItemContainer__QuantitySelectorContainer",
15016
- componentId: "sc-15y5p9l-1"
15017
- })(["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);"]);
14949
+ var Container$g = /*#__PURE__*/styled.div.withConfig({
14950
+ displayName: "NPCDialog__Container",
14951
+ componentId: "sc-1b4aw74-0"
14952
+ })(["display:flex;width:100%;height:100%;box-sizing:border-box;justify-content:center;align-items:flex-start;position:relative;"]);
14953
+ var TextContainer$1 = /*#__PURE__*/styled.div.withConfig({
14954
+ displayName: "NPCDialog__TextContainer",
14955
+ componentId: "sc-1b4aw74-1"
14956
+ })(["flex:", " 0 0;width:355px;"], function (_ref2) {
14957
+ var flex = _ref2.flex;
14958
+ return flex;
14959
+ });
14960
+ var ThumbnailContainer = /*#__PURE__*/styled.div.withConfig({
14961
+ displayName: "NPCDialog__ThumbnailContainer",
14962
+ componentId: "sc-1b4aw74-2"
14963
+ })(["flex:30% 0 0;display:flex;justify-content:flex-end;"]);
14964
+ var NPCThumbnail = /*#__PURE__*/styled.img.withConfig({
14965
+ displayName: "NPCDialog__NPCThumbnail",
14966
+ componentId: "sc-1b4aw74-3"
14967
+ })(["image-rendering:pixelated;height:128px;width:128px;"]);
15018
14968
 
15019
- var ItemSelector = function ItemSelector(_ref) {
15020
- var atlasIMG = _ref.atlasIMG,
15021
- atlasJSON = _ref.atlasJSON,
15022
- options = _ref.options,
15023
- onClose = _ref.onClose,
15024
- onSelect = _ref.onSelect;
15025
- var _useState = useState(),
15026
- selectedValue = _useState[0],
15027
- setSelectedValue = _useState[1];
15028
- var handleClick = function handleClick() {
15029
- var element = document.querySelector("input[name='test']:checked");
15030
- var elementValue = element.value;
15031
- setSelectedValue(elementValue);
14969
+ var ImgSide;
14970
+ (function (ImgSide) {
14971
+ ImgSide["right"] = "right";
14972
+ ImgSide["left"] = "left";
14973
+ })(ImgSide || (ImgSide = {}));
14974
+ var NPCMultiDialog = function NPCMultiDialog(_ref) {
14975
+ var _textAndTypeArray$sli;
14976
+ var _onClose = _ref.onClose,
14977
+ textAndTypeArray = _ref.textAndTypeArray;
14978
+ var _useState = useState(false),
14979
+ showGoNextIndicator = _useState[0],
14980
+ setShowGoNextIndicator = _useState[1];
14981
+ var _useState2 = useState(0),
14982
+ slide = _useState2[0],
14983
+ setSlide = _useState2[1];
14984
+ var onHandleSpacePress = function onHandleSpacePress(event) {
14985
+ if (event.code === 'Space') {
14986
+ if (slide < (textAndTypeArray == null ? void 0 : textAndTypeArray.length) - 1) {
14987
+ setSlide(function (prev) {
14988
+ return prev + 1;
14989
+ });
14990
+ } else {
14991
+ // if there's no more text chunks, close the dialog
14992
+ _onClose();
14993
+ }
14994
+ }
15032
14995
  };
15033
14996
  useEffect(function () {
15034
- if (selectedValue) {
15035
- onSelect(selectedValue);
15036
- }
15037
- }, [selectedValue]);
15038
- return React.createElement(DraggableContainer, {
15039
- type: RPGUIContainerTypes.Framed,
15040
- width: "500px",
15041
- cancelDrag: ".equipment-container-body .arrow-selector",
15042
- onCloseButton: function onCloseButton() {
15043
- if (onClose) {
15044
- onClose();
14997
+ document.addEventListener('keydown', onHandleSpacePress);
14998
+ return function () {
14999
+ return document.removeEventListener('keydown', onHandleSpacePress);
15000
+ };
15001
+ }, [slide]);
15002
+ return React.createElement(RPGUIContainer, {
15003
+ type: RPGUIContainerTypes.FramedGold,
15004
+ width: '50%',
15005
+ height: '180px'
15006
+ }, React.createElement(React.Fragment, null, React.createElement(Container$h, null, ((_textAndTypeArray$sli = textAndTypeArray[slide]) == null ? void 0 : _textAndTypeArray$sli.imageSide) === 'right' && React.createElement(React.Fragment, null, React.createElement(TextContainer$2, {
15007
+ flex: '70%'
15008
+ }, React.createElement(NPCDialogText, {
15009
+ onStartStep: function onStartStep() {
15010
+ return setShowGoNextIndicator(false);
15011
+ },
15012
+ onEndStep: function onEndStep() {
15013
+ return setShowGoNextIndicator(true);
15014
+ },
15015
+ text: textAndTypeArray[slide].text || 'No text provided.',
15016
+ onClose: function onClose() {
15017
+ if (_onClose) {
15018
+ _onClose();
15045
15019
  }
15046
15020
  }
15047
- }, React.createElement("div", {
15048
- style: {
15049
- width: '100%'
15050
- }
15051
- }, React.createElement(Title$3, null, 'Harvesting instruments'), React.createElement(Subtitle$1, null, 'Use the tool, you need it'), React.createElement("hr", {
15052
- className: "golden"
15053
- })), React.createElement(RadioInputScroller$1, null, options == null ? void 0 : options.map(function (option, index) {
15054
- return React.createElement(RadioOptionsWrapper$1, {
15055
- key: index
15056
- }, React.createElement(SpriteAtlasWrapper$1, null, React.createElement(SpriteFromAtlas, {
15057
- atlasIMG: atlasIMG,
15058
- atlasJSON: atlasJSON,
15059
- spriteKey: option.imageKey,
15060
- imgScale: 3
15061
- })), React.createElement("div", null, React.createElement("input", {
15062
- className: "rpgui-radio",
15063
- type: "radio",
15064
- value: option.name,
15065
- name: "test"
15066
- }), React.createElement("label", {
15067
- onPointerDown: handleClick,
15068
- style: {
15069
- display: 'flex',
15070
- alignItems: 'center'
15021
+ })), React.createElement(ThumbnailContainer$1, null, React.createElement(NPCThumbnail$1, {
15022
+ src: textAndTypeArray[slide].imagePath || img$7
15023
+ })), showGoNextIndicator && React.createElement(PressSpaceIndicator$1, {
15024
+ right: '10.5rem',
15025
+ src: img$6
15026
+ })), textAndTypeArray[slide].imageSide === 'left' && React.createElement(React.Fragment, null, React.createElement(ThumbnailContainer$1, null, React.createElement(NPCThumbnail$1, {
15027
+ src: textAndTypeArray[slide].imagePath || img$7
15028
+ })), React.createElement(TextContainer$2, {
15029
+ flex: '70%'
15030
+ }, React.createElement(NPCDialogText, {
15031
+ onStartStep: function onStartStep() {
15032
+ return setShowGoNextIndicator(false);
15033
+ },
15034
+ onEndStep: function onEndStep() {
15035
+ return setShowGoNextIndicator(true);
15036
+ },
15037
+ text: textAndTypeArray[slide].text || 'No text provided.',
15038
+ onClose: function onClose() {
15039
+ if (_onClose) {
15040
+ _onClose();
15071
15041
  }
15072
- }, option.name, " ", React.createElement("br", null), option.description)));
15073
- })), React.createElement(ButtonWrapper$1, null, React.createElement(Button, {
15074
- buttonType: ButtonTypes.RPGUIButton,
15075
- onPointerDown: onClose
15076
- }, "Cancel"), React.createElement(Button, {
15077
- buttonType: ButtonTypes.RPGUIButton
15078
- }, "Select")));
15042
+ }
15043
+ })), showGoNextIndicator && React.createElement(PressSpaceIndicator$1, {
15044
+ right: '1rem',
15045
+ src: img$6
15046
+ }))), ")"));
15079
15047
  };
15080
- var Title$3 = /*#__PURE__*/styled.h1.withConfig({
15081
- displayName: "ItemSelector__Title",
15082
- componentId: "sc-gptoxp-0"
15083
- })(["font-size:0.6rem;color:yellow !important;"]);
15084
- var Subtitle$1 = /*#__PURE__*/styled.h1.withConfig({
15085
- displayName: "ItemSelector__Subtitle",
15086
- componentId: "sc-gptoxp-1"
15087
- })(["font-size:0.4rem;color:yellow !important;"]);
15088
- var RadioInputScroller$1 = /*#__PURE__*/styled.div.withConfig({
15089
- displayName: "ItemSelector__RadioInputScroller",
15090
- componentId: "sc-gptoxp-2"
15091
- })(["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;"]);
15092
- var SpriteAtlasWrapper$1 = /*#__PURE__*/styled.div.withConfig({
15093
- displayName: "ItemSelector__SpriteAtlasWrapper",
15094
- componentId: "sc-gptoxp-3"
15095
- })(["margin-right:40px;"]);
15096
- var RadioOptionsWrapper$1 = /*#__PURE__*/styled.div.withConfig({
15097
- displayName: "ItemSelector__RadioOptionsWrapper",
15098
- componentId: "sc-gptoxp-4"
15099
- })(["display:flex;align-items:stretch;margin-bottom:40px;"]);
15100
- var ButtonWrapper$1 = /*#__PURE__*/styled.div.withConfig({
15101
- displayName: "ItemSelector__ButtonWrapper",
15102
- componentId: "sc-gptoxp-5"
15103
- })(["display:flex;justify-content:space-around;padding-top:20px;width:100%;"]);
15048
+ var Container$h = /*#__PURE__*/styled.div.withConfig({
15049
+ displayName: "NPCMultiDialog__Container",
15050
+ componentId: "sc-rvu5wg-0"
15051
+ })(["display:flex;width:100%;height:100%;box-sizing:border-box;justify-content:center;align-items:flex-start;position:relative;"]);
15052
+ var TextContainer$2 = /*#__PURE__*/styled.div.withConfig({
15053
+ displayName: "NPCMultiDialog__TextContainer",
15054
+ componentId: "sc-rvu5wg-1"
15055
+ })(["flex:", " 0 0;width:355px;"], function (_ref2) {
15056
+ var flex = _ref2.flex;
15057
+ return flex;
15058
+ });
15059
+ var ThumbnailContainer$1 = /*#__PURE__*/styled.div.withConfig({
15060
+ displayName: "NPCMultiDialog__ThumbnailContainer",
15061
+ componentId: "sc-rvu5wg-2"
15062
+ })(["flex:30% 0 0;display:flex;justify-content:flex-end;"]);
15063
+ var NPCThumbnail$1 = /*#__PURE__*/styled.img.withConfig({
15064
+ displayName: "NPCMultiDialog__NPCThumbnail",
15065
+ componentId: "sc-rvu5wg-3"
15066
+ })(["image-rendering:pixelated;height:128px;width:128px;"]);
15067
+ var PressSpaceIndicator$1 = /*#__PURE__*/styled.img.withConfig({
15068
+ displayName: "NPCMultiDialog__PressSpaceIndicator",
15069
+ componentId: "sc-rvu5wg-4"
15070
+ })(["position:absolute;right:", ";bottom:1rem;height:20.7px;image-rendering:-webkit-optimize-contrast;"], function (_ref3) {
15071
+ var right = _ref3.right;
15072
+ return right;
15073
+ });
15104
15074
 
15105
- var ListMenu = function ListMenu(_ref) {
15106
- var options = _ref.options,
15107
- onSelected = _ref.onSelected,
15108
- x = _ref.x,
15109
- y = _ref.y;
15110
- return React.createElement(Container$f, {
15111
- x: x,
15112
- y: y
15113
- }, React.createElement("ul", {
15114
- className: "rpgui-list-imp",
15115
- style: {
15116
- overflow: 'hidden'
15117
- }
15118
- }, options.map(function (params, index) {
15119
- return React.createElement(ListElement$1, {
15120
- key: (params == null ? void 0 : params.id) || index,
15121
- onPointerDown: function onPointerDown() {
15122
- onSelected(params == null ? void 0 : params.id);
15075
+ var HistoryDialog = function HistoryDialog(_ref) {
15076
+ var backgroundImgPath = _ref.backgroundImgPath,
15077
+ fullCoverBackground = _ref.fullCoverBackground,
15078
+ questions = _ref.questions,
15079
+ answers = _ref.answers,
15080
+ text = _ref.text,
15081
+ imagePath = _ref.imagePath,
15082
+ textAndTypeArray = _ref.textAndTypeArray,
15083
+ onClose = _ref.onClose;
15084
+ var _useState = useState(0),
15085
+ img = _useState[0],
15086
+ setImage = _useState[1];
15087
+ var onHandleSpacePress = function onHandleSpacePress(event) {
15088
+ if (event.code === 'Space') {
15089
+ if (img < (backgroundImgPath == null ? void 0 : backgroundImgPath.length) - 1) {
15090
+ setImage(function (prev) {
15091
+ return prev + 1;
15092
+ });
15093
+ } else {
15094
+ // if there's no more text chunks, close the dialog
15095
+ onClose();
15123
15096
  }
15124
- }, (params == null ? void 0 : params.text) || 'No text');
15097
+ }
15098
+ };
15099
+ useEffect(function () {
15100
+ document.addEventListener('keydown', onHandleSpacePress);
15101
+ return function () {
15102
+ return document.removeEventListener('keydown', onHandleSpacePress);
15103
+ };
15104
+ }, [backgroundImgPath]);
15105
+ return React.createElement(BackgroundContainer, {
15106
+ imgPath: backgroundImgPath[img],
15107
+ fullImg: fullCoverBackground
15108
+ }, React.createElement(DialogContainer, null, textAndTypeArray ? React.createElement(NPCMultiDialog, {
15109
+ textAndTypeArray: textAndTypeArray,
15110
+ onClose: onClose
15111
+ }) : questions && answers ? React.createElement(QuestionDialog, {
15112
+ questions: questions,
15113
+ answers: answers,
15114
+ onClose: onClose
15115
+ }) : text && imagePath ? React.createElement(NPCDialog, {
15116
+ text: text,
15117
+ imagePath: imagePath,
15118
+ onClose: onClose,
15119
+ type: NPCDialogType.TextAndThumbnail
15120
+ }) : React.createElement(NPCDialog, {
15121
+ text: text,
15122
+ onClose: onClose,
15123
+ type: NPCDialogType.TextOnly
15125
15124
  })));
15126
15125
  };
15127
- var Container$f = /*#__PURE__*/styled.div.withConfig({
15128
- displayName: "ListMenu__Container",
15129
- componentId: "sc-i9097t-0"
15130
- })(["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) {
15131
- return props.y || 0;
15126
+ var BackgroundContainer = /*#__PURE__*/styled.div.withConfig({
15127
+ displayName: "HistoryDialog__BackgroundContainer",
15128
+ componentId: "sc-u6oe75-0"
15129
+ })(["width:100%;height:100%;background-image:url(", ");background-size:", ";display:flex;justify-content:space-evenly;align-items:center;"], function (props) {
15130
+ return props.imgPath;
15132
15131
  }, function (props) {
15133
- return props.x || 0;
15134
- }, uiFonts.size.xsmall);
15135
- var ListElement$1 = /*#__PURE__*/styled.li.withConfig({
15136
- displayName: "ListMenu__ListElement",
15137
- componentId: "sc-i9097t-1"
15138
- })(["margin-right:0.5rem;"]);
15139
-
15140
- var Pager = function Pager(_ref) {
15141
- var totalItems = _ref.totalItems,
15142
- currentPage = _ref.currentPage,
15143
- itemsPerPage = _ref.itemsPerPage,
15144
- onPageChange = _ref.onPageChange;
15145
- var totalPages = Math.ceil(totalItems / itemsPerPage);
15146
- return React.createElement(Container$g, null, React.createElement("p", null, "Total items: ", totalItems), React.createElement(PagerContainer, null, React.createElement("button", {
15147
- disabled: currentPage === 1,
15148
- onPointerDown: function onPointerDown() {
15149
- return onPageChange(Math.max(currentPage - 1, 1));
15150
- }
15151
- }, '<'), React.createElement("div", {
15152
- className: "rpgui-container framed-grey"
15153
- }, currentPage), React.createElement("button", {
15154
- disabled: currentPage === totalPages,
15155
- onPointerDown: function onPointerDown() {
15156
- return onPageChange(Math.min(currentPage + 1, totalPages));
15157
- }
15158
- }, '>')));
15159
- };
15160
- var Container$g = /*#__PURE__*/styled.div.withConfig({
15161
- displayName: "Pager__Container",
15162
- componentId: "sc-1ekmf50-0"
15163
- })(["display:flex;flex-direction:column;align-items:center;p{margin:0;font-size:", ";}"], uiFonts.size.xsmall);
15164
- var PagerContainer = /*#__PURE__*/styled.div.withConfig({
15165
- displayName: "Pager__PagerContainer",
15166
- componentId: "sc-1ekmf50-1"
15167
- })(["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);
15132
+ return props.imgPath ? 'cover' : 'auto';
15133
+ });
15134
+ var DialogContainer = /*#__PURE__*/styled.div.withConfig({
15135
+ displayName: "HistoryDialog__DialogContainer",
15136
+ componentId: "sc-u6oe75-1"
15137
+ })(["display:flex;justify-content:center;padding-top:200px;"]);
15168
15138
 
15169
- var ConfirmModal = function ConfirmModal(_ref) {
15170
- var onConfirm = _ref.onConfirm,
15139
+ var SlotsContainer = function SlotsContainer(_ref) {
15140
+ var children = _ref.children,
15141
+ title = _ref.title,
15171
15142
  onClose = _ref.onClose,
15172
- message = _ref.message;
15173
- return React.createElement(ModalPortal, null, React.createElement(Background, null), React.createElement(Container$h, {
15174
- onPointerDown: onClose
15175
- }, React.createElement(DraggableContainer, {
15176
- width: "auto",
15177
- dragDisabled: true
15178
- }, React.createElement(Wrapper$1, {
15179
- onPointerDown: function onPointerDown(e) {
15180
- return e.stopPropagation();
15181
- }
15182
- }, React.createElement("p", null, message != null ? message : 'Are you sure?'), React.createElement(ButtonsWrapper, null, React.createElement("div", {
15183
- className: "cancel-button"
15184
- }, React.createElement(Button, {
15185
- buttonType: ButtonTypes.RPGUIButton,
15143
+ _onPositionChange = _ref.onPositionChange,
15144
+ _onPositionChangeEnd = _ref.onPositionChangeEnd,
15145
+ _onPositionChangeStart = _ref.onPositionChangeStart,
15146
+ onOutsideClick = _ref.onOutsideClick,
15147
+ initialPosition = _ref.initialPosition,
15148
+ scale = _ref.scale;
15149
+ return React.createElement(DraggableContainer, {
15150
+ title: title,
15151
+ type: RPGUIContainerTypes.Framed,
15152
+ onCloseButton: function onCloseButton() {
15153
+ if (onClose) {
15154
+ onClose();
15155
+ }
15156
+ },
15157
+ width: "400px",
15158
+ cancelDrag: ".item-container-body, #shortcuts_list",
15159
+ onPositionChange: function onPositionChange(_ref2) {
15160
+ var x = _ref2.x,
15161
+ y = _ref2.y;
15162
+ if (_onPositionChange) {
15163
+ _onPositionChange({
15164
+ x: x,
15165
+ y: y
15166
+ });
15167
+ }
15168
+ },
15169
+ onPositionChangeEnd: function onPositionChangeEnd(_ref3) {
15170
+ var x = _ref3.x,
15171
+ y = _ref3.y;
15172
+ if (_onPositionChangeEnd) {
15173
+ _onPositionChangeEnd({
15174
+ x: x,
15175
+ y: y
15176
+ });
15177
+ }
15178
+ },
15179
+ onPositionChangeStart: function onPositionChangeStart(_ref4) {
15180
+ var x = _ref4.x,
15181
+ y = _ref4.y;
15182
+ if (_onPositionChangeStart) {
15183
+ _onPositionChangeStart({
15184
+ x: x,
15185
+ y: y
15186
+ });
15187
+ }
15188
+ },
15189
+ onOutsideClick: onOutsideClick,
15190
+ initialPosition: initialPosition,
15191
+ scale: scale
15192
+ }, children);
15193
+ };
15194
+
15195
+ var RangeSliderType;
15196
+ (function (RangeSliderType) {
15197
+ RangeSliderType["Slider"] = "rpgui-slider";
15198
+ RangeSliderType["GoldSlider"] = "rpgui-slider golden";
15199
+ })(RangeSliderType || (RangeSliderType = {}));
15200
+ var RangeSlider = function RangeSlider(_ref) {
15201
+ var type = _ref.type,
15202
+ valueMin = _ref.valueMin,
15203
+ valueMax = _ref.valueMax,
15204
+ width = _ref.width,
15205
+ _onChange = _ref.onChange,
15206
+ value = _ref.value;
15207
+ var sliderId = v4();
15208
+ var containerRef = useRef(null);
15209
+ var _useState = useState(0),
15210
+ left = _useState[0],
15211
+ setLeft = _useState[1];
15212
+ useEffect(function () {
15213
+ var _containerRef$current;
15214
+ var calculatedWidth = ((_containerRef$current = containerRef.current) == null ? void 0 : _containerRef$current.clientWidth) || 0;
15215
+ setLeft(Math.max((value - valueMin) / (valueMax - valueMin) * (calculatedWidth - 35) + 10));
15216
+ }, [value, valueMin, valueMax]);
15217
+ var typeClass = type === RangeSliderType.GoldSlider ? 'golden' : '';
15218
+ return React.createElement("div", {
15219
+ style: {
15220
+ width: width,
15221
+ position: 'relative'
15222
+ },
15223
+ className: "rpgui-slider-container " + typeClass,
15224
+ id: "rpgui-slider-" + sliderId,
15225
+ ref: containerRef
15226
+ }, React.createElement("div", {
15227
+ style: {
15228
+ pointerEvents: 'none'
15229
+ }
15230
+ }, React.createElement("div", {
15231
+ className: "rpgui-slider-track " + typeClass
15232
+ }), React.createElement("div", {
15233
+ className: "rpgui-slider-left-edge " + typeClass
15234
+ }), React.createElement("div", {
15235
+ className: "rpgui-slider-right-edge " + typeClass
15236
+ }), React.createElement("div", {
15237
+ className: "rpgui-slider-thumb " + typeClass,
15238
+ style: {
15239
+ left: left
15240
+ }
15241
+ })), React.createElement(Input$1, {
15242
+ type: "range",
15243
+ style: {
15244
+ width: width
15245
+ },
15246
+ min: valueMin,
15247
+ max: valueMax,
15248
+ onChange: function onChange(e) {
15249
+ return _onChange(Number(e.target.value));
15250
+ },
15251
+ value: value,
15252
+ className: "rpgui-cursor-point"
15253
+ }));
15254
+ };
15255
+ var Input$1 = /*#__PURE__*/styled.input.withConfig({
15256
+ displayName: "RangeSlider__Input",
15257
+ componentId: "sc-v8mte9-0"
15258
+ })(["opacity:0;position:absolute;width:100%;height:100%;top:0;left:0;margin-top:-5px;"]);
15259
+
15260
+ var ItemQuantitySelector = function ItemQuantitySelector(_ref) {
15261
+ var quantity = _ref.quantity,
15262
+ onConfirm = _ref.onConfirm,
15263
+ onClose = _ref.onClose;
15264
+ var _useState = useState(quantity),
15265
+ value = _useState[0],
15266
+ setValue = _useState[1];
15267
+ var inputRef = useRef(null);
15268
+ useEffect(function () {
15269
+ if (inputRef.current) {
15270
+ inputRef.current.focus();
15271
+ inputRef.current.select();
15272
+ var closeSelector = function closeSelector(e) {
15273
+ if (e.key === 'Escape') {
15274
+ onClose();
15275
+ }
15276
+ };
15277
+ document.addEventListener('keydown', closeSelector);
15278
+ return function () {
15279
+ document.removeEventListener('keydown', closeSelector);
15280
+ };
15281
+ }
15282
+ return function () {};
15283
+ }, []);
15284
+ return React.createElement(StyledContainer, {
15285
+ type: RPGUIContainerTypes.Framed,
15286
+ width: "25rem"
15287
+ }, React.createElement(CloseButton$2, {
15288
+ className: "container-close",
15186
15289
  onPointerDown: onClose
15187
- }, "No")), React.createElement(Button, {
15290
+ }, "X"), React.createElement("h2", null, "Select quantity to move"), React.createElement(StyledForm, {
15291
+ style: {
15292
+ width: '100%'
15293
+ },
15294
+ onSubmit: function onSubmit(e) {
15295
+ e.preventDefault();
15296
+ var numberValue = Number(value);
15297
+ if (Number.isNaN(numberValue)) {
15298
+ return;
15299
+ }
15300
+ onConfirm(Math.max(1, Math.min(quantity, numberValue)));
15301
+ },
15302
+ noValidate: true
15303
+ }, React.createElement(StyledInput, {
15304
+ innerRef: inputRef,
15305
+ placeholder: "Enter quantity",
15306
+ type: "number",
15307
+ min: 1,
15308
+ max: quantity,
15309
+ value: value,
15310
+ onChange: function onChange(e) {
15311
+ if (Number(e.target.value) >= quantity) {
15312
+ setValue(quantity);
15313
+ return;
15314
+ }
15315
+ setValue(e.target.value);
15316
+ },
15317
+ onBlur: function onBlur(e) {
15318
+ var newValue = Math.max(1, Math.min(quantity, Number(e.target.value)));
15319
+ setValue(newValue);
15320
+ }
15321
+ }), React.createElement(RangeSlider, {
15322
+ type: RangeSliderType.Slider,
15323
+ valueMin: 1,
15324
+ valueMax: quantity,
15325
+ width: "100%",
15326
+ onChange: setValue,
15327
+ value: value
15328
+ }), React.createElement(Button, {
15188
15329
  buttonType: ButtonTypes.RPGUIButton,
15189
- onPointerDown: onConfirm
15190
- }, "Yes"))))));
15330
+ type: "submit"
15331
+ }, "Confirm")));
15191
15332
  };
15192
- var Background = /*#__PURE__*/styled.div.withConfig({
15193
- displayName: "ConfirmModal__Background",
15194
- componentId: "sc-11qkyu1-0"
15195
- })(["position:absolute;width:100%;height:100%;background-color:#000000;opacity:0.5;left:0;top:0;z-index:1000;"]);
15196
- var Container$h = /*#__PURE__*/styled.div.withConfig({
15197
- displayName: "ConfirmModal__Container",
15198
- componentId: "sc-11qkyu1-1"
15199
- })(["position:absolute;width:100%;height:100%;left:0;top:0;display:flex;justify-content:center;align-items:center;z-index:1001;"]);
15200
- var Wrapper$1 = /*#__PURE__*/styled.div.withConfig({
15201
- displayName: "ConfirmModal__Wrapper",
15202
- componentId: "sc-11qkyu1-2"
15203
- })(["p{margin:0;}"]);
15204
- var ButtonsWrapper = /*#__PURE__*/styled.div.withConfig({
15205
- displayName: "ConfirmModal__ButtonsWrapper",
15206
- componentId: "sc-11qkyu1-3"
15207
- })(["display:flex;justify-content:flex-end;gap:5px;margin-top:5px;.cancel-button{filter:grayscale(0.7);}"]);
15333
+ var StyledContainer = /*#__PURE__*/styled(RPGUIContainer).withConfig({
15334
+ displayName: "ItemQuantitySelector__StyledContainer",
15335
+ componentId: "sc-yfdtpn-0"
15336
+ })(["display:flex;flex-direction:column;align-items:center;"]);
15337
+ var StyledForm = /*#__PURE__*/styled.form.withConfig({
15338
+ displayName: "ItemQuantitySelector__StyledForm",
15339
+ componentId: "sc-yfdtpn-1"
15340
+ })(["display:flex;flex-direction:column;align-items:center;width:100%;"]);
15341
+ var StyledInput = /*#__PURE__*/styled(Input).withConfig({
15342
+ displayName: "ItemQuantitySelector__StyledInput",
15343
+ componentId: "sc-yfdtpn-2"
15344
+ })(["text-align:center;&::-webkit-outer-spin-button,&::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}&[type='number']{-moz-appearance:textfield;}"]);
15345
+ var CloseButton$2 = /*#__PURE__*/styled.div.withConfig({
15346
+ displayName: "ItemQuantitySelector__CloseButton",
15347
+ componentId: "sc-yfdtpn-3"
15348
+ })(["position:absolute;top:3px;right:0px;color:white;z-index:22;font-size:0.8rem;"]);
15349
+
15350
+ var ShortcutsSetter = function ShortcutsSetter(_ref) {
15351
+ var setSettingShortcutIndex = _ref.setSettingShortcutIndex,
15352
+ settingShortcutIndex = _ref.settingShortcutIndex,
15353
+ shortcuts = _ref.shortcuts,
15354
+ removeShortcut = _ref.removeShortcut,
15355
+ atlasJSON = _ref.atlasJSON,
15356
+ atlasIMG = _ref.atlasIMG;
15357
+ var getContent = function getContent(index) {
15358
+ var _shortcuts$index, _shortcuts$index3;
15359
+ if (((_shortcuts$index = shortcuts[index]) == null ? void 0 : _shortcuts$index.type) === ShortcutType.Item) {
15360
+ var _shortcuts$index2;
15361
+ var _payload = (_shortcuts$index2 = shortcuts[index]) == null ? void 0 : _shortcuts$index2.payload;
15362
+ if (!_payload) return null;
15363
+ return React.createElement(SpriteFromAtlas, {
15364
+ atlasIMG: atlasIMG,
15365
+ atlasJSON: atlasJSON,
15366
+ spriteKey: getItemTextureKeyPath({
15367
+ key: _payload.texturePath,
15368
+ texturePath: _payload.texturePath,
15369
+ stackQty: _payload.stackQty || 1,
15370
+ isStackable: _payload.isStackable
15371
+ }, atlasJSON),
15372
+ width: 32,
15373
+ height: 32,
15374
+ imgScale: 1.6,
15375
+ imgStyle: {
15376
+ left: '5px'
15377
+ }
15378
+ });
15379
+ }
15380
+ var payload = (_shortcuts$index3 = shortcuts[index]) == null ? void 0 : _shortcuts$index3.payload;
15381
+ return React.createElement("span", null, payload == null ? void 0 : payload.magicWords.split(' ').map(function (word) {
15382
+ return word[0];
15383
+ }));
15384
+ };
15385
+ return React.createElement(Container$i, null, React.createElement("p", null, "Shortcuts:"), React.createElement(List, {
15386
+ id: "shortcuts_list"
15387
+ }, Array.from({
15388
+ length: 6
15389
+ }).map(function (_, i) {
15390
+ return React.createElement(Shortcut, {
15391
+ key: i,
15392
+ onPointerDown: function onPointerDown() {
15393
+ if (settingShortcutIndex !== -1) setSettingShortcutIndex(-1);
15394
+ removeShortcut(i);
15395
+ if (settingShortcutIndex === -1 && (!shortcuts[i] || shortcuts[i].type === ShortcutType.None)) setSettingShortcutIndex(i);
15396
+ },
15397
+ disabled: settingShortcutIndex !== -1 && settingShortcutIndex !== i,
15398
+ isBeingSet: settingShortcutIndex === i,
15399
+ id: "shortcutSetter_" + i
15400
+ }, getContent(i));
15401
+ })));
15402
+ };
15403
+ var Container$i = /*#__PURE__*/styled.div.withConfig({
15404
+ displayName: "ShortcutsSetter__Container",
15405
+ componentId: "sc-xuouuf-0"
15406
+ })(["p{margin:0;margin-left:0.5rem;}"]);
15407
+ var Shortcut = /*#__PURE__*/styled.button.withConfig({
15408
+ displayName: "ShortcutsSetter__Shortcut",
15409
+ componentId: "sc-xuouuf-1"
15410
+ })(["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) {
15411
+ var isBeingSet = _ref2.isBeingSet;
15412
+ return isBeingSet ? uiColors.yellow : uiColors.darkGray;
15413
+ }, uiColors.darkGray, uiColors.gray);
15414
+ var List = /*#__PURE__*/styled.div.withConfig({
15415
+ displayName: "ShortcutsSetter__List",
15416
+ componentId: "sc-xuouuf-2"
15417
+ })(["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;"]);
15208
15418
 
15209
- var MarketplaceRows = function MarketplaceRows(_ref) {
15210
- var atlasJSON = _ref.atlasJSON,
15419
+ var ItemContainer$1 = function ItemContainer(_ref) {
15420
+ var itemContainer = _ref.itemContainer,
15421
+ onClose = _ref.onClose,
15422
+ _onMouseOver = _ref.onMouseOver,
15423
+ _onSelected = _ref.onSelected,
15424
+ onItemClick = _ref.onItemClick,
15425
+ type = _ref.type,
15426
+ atlasJSON = _ref.atlasJSON,
15211
15427
  atlasIMG = _ref.atlasIMG,
15212
- item = _ref.item,
15213
- itemPrice = _ref.itemPrice,
15214
- equipmentSet = _ref.equipmentSet,
15428
+ _ref$disableContextMe = _ref.disableContextMenu,
15429
+ disableContextMenu = _ref$disableContextMe === void 0 ? false : _ref$disableContextMe,
15430
+ onItemDragEnd = _ref.onItemDragEnd,
15431
+ onItemDragStart = _ref.onItemDragStart,
15432
+ onItemPlaceDrop = _ref.onItemPlaceDrop,
15433
+ _onOutsideDrop = _ref.onOutsideDrop,
15434
+ checkIfItemCanBeMoved = _ref.checkIfItemCanBeMoved,
15435
+ initialPosition = _ref.initialPosition,
15436
+ checkIfItemShouldDragEnd = _ref.checkIfItemShouldDragEnd,
15215
15437
  scale = _ref.scale,
15216
- onMarketPlaceItemBuy = _ref.onMarketPlaceItemBuy,
15217
- onMarketPlaceItemRemove = _ref.onMarketPlaceItemRemove,
15218
- disabled = _ref.disabled;
15219
- return React.createElement(MarketplaceWrapper, null, React.createElement(ItemIconContainer, null, React.createElement(SpriteContainer, null, React.createElement(ItemInfoWrapper, {
15220
- item: item,
15221
- atlasIMG: atlasIMG,
15222
- atlasJSON: atlasJSON,
15223
- equipmentSet: equipmentSet,
15224
- scale: scale
15225
- }, React.createElement(RarityContainer, {
15226
- item: item
15227
- }, React.createElement(SpriteFromAtlas, {
15228
- atlasIMG: atlasIMG,
15229
- atlasJSON: atlasJSON,
15230
- spriteKey: getItemTextureKeyPath({
15231
- key: item.key,
15232
- stackQty: item.stackQty || 1,
15233
- texturePath: item.texturePath,
15234
- isStackable: item.isStackable
15235
- }, atlasJSON),
15236
- imgScale: 2
15237
- })), React.createElement(QuantityContainer, null, item.stackQty && item.stackQty > 1 && "x" + Math.round(item.stackQty * 10) / 10))), React.createElement(PriceValue, null, React.createElement("p", null, React.createElement(Ellipsis, {
15238
- maxLines: 1,
15239
- maxWidth: "200px",
15240
- fontSize: "10px"
15241
- }, item.name)))), React.createElement(Flex$1, null, React.createElement(ItemIconContainer, null, React.createElement(GoldContainer, null, React.createElement(SpriteFromAtlas, {
15242
- atlasIMG: atlasIMG,
15243
- atlasJSON: atlasJSON,
15244
- spriteKey: "others/gold-coin-qty-5.png",
15245
- imgScale: 2
15246
- })), React.createElement(PriceValue, null, React.createElement("p", null, React.createElement(Ellipsis, {
15247
- maxLines: 1,
15248
- maxWidth: "200px",
15249
- fontSize: "10px"
15250
- }, "$", itemPrice)))), React.createElement(ButtonContainer$1, null, React.createElement(Button, {
15251
- buttonType: ButtonTypes.RPGUIButton,
15252
- disabled: disabled,
15253
- onPointerDown: function onPointerDown() {
15254
- if (disabled) return;
15255
- onMarketPlaceItemBuy == null ? void 0 : onMarketPlaceItemBuy();
15256
- onMarketPlaceItemRemove == null ? void 0 : onMarketPlaceItemRemove();
15438
+ shortcuts = _ref.shortcuts,
15439
+ setItemShortcut = _ref.setItemShortcut,
15440
+ removeShortcut = _ref.removeShortcut,
15441
+ equipmentSet = _ref.equipmentSet,
15442
+ isDepotSystem = _ref.isDepotSystem,
15443
+ onPositionChangeEnd = _ref.onPositionChangeEnd,
15444
+ onPositionChangeStart = _ref.onPositionChangeStart;
15445
+ var _useState = useState({
15446
+ isOpen: false,
15447
+ maxQuantity: 1,
15448
+ callback: function callback(_quantity) {}
15449
+ }),
15450
+ quantitySelect = _useState[0],
15451
+ setQuantitySelect = _useState[1];
15452
+ var _useState2 = useState(-1),
15453
+ settingShortcutIndex = _useState2[0],
15454
+ setSettingShortcutIndex = _useState2[1];
15455
+ var handleSetShortcut = function handleSetShortcut(item, index) {
15456
+ if (item.type === ItemType.Consumable || item.type === ItemType.Tool) {
15457
+ setItemShortcut == null ? void 0 : setItemShortcut(item.key, index);
15257
15458
  }
15258
- }, onMarketPlaceItemBuy ? 'Buy' : 'Remove'))));
15259
- };
15260
- var MarketplaceWrapper = /*#__PURE__*/styled.div.withConfig({
15261
- displayName: "MarketplaceRows__MarketplaceWrapper",
15262
- componentId: "sc-wmpr1o-0"
15263
- })(["margin:auto;display:flex;justify-content:space-between;padding:0.5rem;&:hover{background-color:", ";}p{font-size:0.8rem;}"], uiColors.darkGray);
15264
- var QuantityContainer = /*#__PURE__*/styled.p.withConfig({
15265
- displayName: "MarketplaceRows__QuantityContainer",
15266
- componentId: "sc-wmpr1o-1"
15267
- })(["position:absolute;display:block;top:15px;left:25px;font-size:", " !important;"], uiFonts.size.xsmall);
15268
- var Flex$1 = /*#__PURE__*/styled.div.withConfig({
15269
- displayName: "MarketplaceRows__Flex",
15270
- componentId: "sc-wmpr1o-2"
15271
- })(["display:flex;gap:24px;"]);
15272
- var ItemIconContainer = /*#__PURE__*/styled.div.withConfig({
15273
- displayName: "MarketplaceRows__ItemIconContainer",
15274
- componentId: "sc-wmpr1o-3"
15275
- })(["display:flex;justify-content:flex-start;align-items:center;"]);
15276
- var GoldContainer = /*#__PURE__*/styled.div.withConfig({
15277
- displayName: "MarketplaceRows__GoldContainer",
15278
- componentId: "sc-wmpr1o-4"
15279
- })(["position:relative;top:-0.5rem;left:0.5rem;"]);
15280
- var SpriteContainer = /*#__PURE__*/styled.div.withConfig({
15281
- displayName: "MarketplaceRows__SpriteContainer",
15282
- componentId: "sc-wmpr1o-5"
15283
- })(["position:relative;left:0.5rem;"]);
15284
- var PriceValue = /*#__PURE__*/styled.div.withConfig({
15285
- displayName: "MarketplaceRows__PriceValue",
15286
- componentId: "sc-wmpr1o-6"
15287
- })(["margin-left:40px;"]);
15288
- var ButtonContainer$1 = /*#__PURE__*/styled.div.withConfig({
15289
- displayName: "MarketplaceRows__ButtonContainer",
15290
- componentId: "sc-wmpr1o-7"
15291
- })(["margin:auto;"]);
15292
- var RarityContainer = /*#__PURE__*/styled.div.withConfig({
15293
- displayName: "MarketplaceRows__RarityContainer",
15294
- componentId: "sc-wmpr1o-8"
15295
- })(["border-color:", ";box-shadow:", " inset,", ";width:32px;height:32px;"], function (_ref2) {
15296
- var item = _ref2.item;
15297
- return rarityColor(item);
15298
- }, function (_ref3) {
15299
- var item = _ref3.item;
15300
- return "0 0 5px 8px " + rarityColor(item);
15301
- }, function (_ref4) {
15302
- var item = _ref4.item;
15303
- return "0 0 8px 6px " + rarityColor(item);
15304
- });
15305
-
15306
- var OrderByType;
15307
- (function (OrderByType) {
15308
- OrderByType["Name"] = "Name";
15309
- OrderByType["Price"] = "Price";
15310
- })(OrderByType || (OrderByType = {}));
15311
- var itemTypeOptions = /*#__PURE__*/['Type'].concat(Object.keys(ItemSubType)).filter(function (type) {
15312
- return type !== 'DeadBody';
15313
- }).map(function (itemType, index) {
15314
- return {
15315
- id: index + 1,
15316
- value: itemType,
15317
- option: itemType
15318
15459
  };
15319
- });
15320
- var itemRarityOptions = /*#__PURE__*/['Rarity'].concat(Object.values(ItemRarities)).map(function (itemRarity, index) {
15321
- return {
15322
- id: index + 1,
15323
- value: itemRarity,
15324
- option: itemRarity
15460
+ var onRenderSlots = function onRenderSlots() {
15461
+ var slots = [];
15462
+ for (var i = 0; i < itemContainer.slotQty; i++) {
15463
+ var _itemContainer$slots;
15464
+ slots.push(React.createElement(ItemSlot, {
15465
+ isContextMenuDisabled: disableContextMenu,
15466
+ key: i,
15467
+ slotIndex: i,
15468
+ item: ((_itemContainer$slots = itemContainer.slots) == null ? void 0 : _itemContainer$slots[i]) || null,
15469
+ itemContainerType: type,
15470
+ onMouseOver: function onMouseOver(event, slotIndex, item) {
15471
+ if (_onMouseOver) _onMouseOver(event, slotIndex, item);
15472
+ },
15473
+ onPointerDown: function onPointerDown(itemType, containerType, item) {
15474
+ if (settingShortcutIndex !== -1) {
15475
+ setSettingShortcutIndex(-1);
15476
+ handleSetShortcut(item, settingShortcutIndex);
15477
+ } else if (onItemClick) onItemClick(item, itemType, containerType);
15478
+ },
15479
+ onSelected: function onSelected(optionId, item) {
15480
+ if (_onSelected) _onSelected(optionId, item);
15481
+ },
15482
+ onDragStart: function onDragStart(item, slotIndex, itemContainerType) {
15483
+ if (onItemDragStart) onItemDragStart(item, slotIndex, itemContainerType);
15484
+ },
15485
+ onDragEnd: function onDragEnd(quantity) {
15486
+ if (onItemDragEnd) onItemDragEnd(quantity);
15487
+ },
15488
+ dragScale: scale,
15489
+ checkIfItemCanBeMoved: checkIfItemCanBeMoved,
15490
+ checkIfItemShouldDragEnd: checkIfItemShouldDragEnd,
15491
+ openQuantitySelector: function openQuantitySelector(maxQuantity, callback) {
15492
+ setQuantitySelect({
15493
+ isOpen: true,
15494
+ maxQuantity: maxQuantity,
15495
+ callback: callback
15496
+ });
15497
+ },
15498
+ onPlaceDrop: function onPlaceDrop(item, slotIndex, itemContainerType) {
15499
+ if (onItemPlaceDrop) onItemPlaceDrop(item, slotIndex, itemContainerType);
15500
+ },
15501
+ onOutsideDrop: function onOutsideDrop(item, position) {
15502
+ if (_onOutsideDrop) _onOutsideDrop(item, position);
15503
+ },
15504
+ atlasIMG: atlasIMG,
15505
+ atlasJSON: atlasJSON,
15506
+ isSelectingShortcut: settingShortcutIndex !== -1,
15507
+ equipmentSet: equipmentSet,
15508
+ setItemShortcut: type === ItemContainerType.Inventory ? handleSetShortcut : undefined,
15509
+ isDepotSystem: isDepotSystem
15510
+ }));
15511
+ }
15512
+ return slots;
15325
15513
  };
15326
- });
15327
- var orderByOptions = /*#__PURE__*/Object.values(OrderByType).flatMap(function (orderBy, index) {
15328
- return [{
15329
- id: index * 2 + 1,
15330
- value: orderBy.toLowerCase(),
15331
- option: React.createElement(React.Fragment, null, orderBy, ' ', React.createElement("span", {
15332
- style: {
15333
- transform: 'translateY(-2px)',
15334
- display: 'inline-block'
15335
- }
15336
- }, "\u2191"))
15337
- }, {
15338
- id: index * 2 + 2,
15339
- value: '-' + orderBy.toLowerCase(),
15340
- option: React.createElement(React.Fragment, null, orderBy, ' ', React.createElement("span", {
15341
- style: {
15342
- transform: 'translateY(-2px)',
15343
- display: 'inline-block'
15344
- }
15345
- }, "\u2193"))
15346
- }];
15347
- });
15514
+ return React.createElement(React.Fragment, null, React.createElement(SlotsContainer, {
15515
+ title: itemContainer.name || 'Container',
15516
+ onClose: onClose,
15517
+ initialPosition: initialPosition,
15518
+ scale: scale,
15519
+ onPositionChangeEnd: onPositionChangeEnd,
15520
+ onPositionChangeStart: onPositionChangeStart
15521
+ }, type === ItemContainerType.Inventory && shortcuts && removeShortcut && React.createElement(ShortcutsSetter, {
15522
+ setSettingShortcutIndex: setSettingShortcutIndex,
15523
+ settingShortcutIndex: settingShortcutIndex,
15524
+ shortcuts: shortcuts,
15525
+ removeShortcut: removeShortcut,
15526
+ atlasIMG: atlasIMG,
15527
+ atlasJSON: atlasJSON
15528
+ }), React.createElement(ItemsContainer, {
15529
+ className: "item-container-body"
15530
+ }, onRenderSlots())), quantitySelect.isOpen && React.createElement(ModalPortal, null, React.createElement(QuantitySelectorContainer, null, React.createElement(ItemQuantitySelector, {
15531
+ quantity: quantitySelect.maxQuantity,
15532
+ onConfirm: function onConfirm(quantity) {
15533
+ quantitySelect.callback(quantity);
15534
+ setQuantitySelect({
15535
+ isOpen: false,
15536
+ maxQuantity: 1,
15537
+ callback: function callback() {}
15538
+ });
15539
+ },
15540
+ onClose: function onClose() {
15541
+ quantitySelect.callback(-1);
15542
+ setQuantitySelect({
15543
+ isOpen: false,
15544
+ maxQuantity: 1,
15545
+ callback: function callback() {}
15546
+ });
15547
+ }
15548
+ }))));
15549
+ };
15550
+ var ItemsContainer = /*#__PURE__*/styled.div.withConfig({
15551
+ displayName: "ItemContainer__ItemsContainer",
15552
+ componentId: "sc-15y5p9l-0"
15553
+ })(["display:flex;justify-content:center;flex-wrap:wrap;"]);
15554
+ var QuantitySelectorContainer = /*#__PURE__*/styled.div.withConfig({
15555
+ displayName: "ItemContainer__QuantitySelectorContainer",
15556
+ componentId: "sc-15y5p9l-1"
15557
+ })(["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);"]);
15348
15558
 
15349
- var BuyPanel = function BuyPanel(_ref) {
15350
- var items = _ref.items,
15351
- atlasIMG = _ref.atlasIMG,
15559
+ var ItemSelector = function ItemSelector(_ref) {
15560
+ var atlasIMG = _ref.atlasIMG,
15352
15561
  atlasJSON = _ref.atlasJSON,
15353
- onChangeType = _ref.onChangeType,
15354
- onChangeRarity = _ref.onChangeRarity,
15355
- onChangeOrder = _ref.onChangeOrder,
15356
- onChangeNameInput = _ref.onChangeNameInput,
15357
- onChangeMainLevelInput = _ref.onChangeMainLevelInput,
15358
- onChangeSecondaryLevelInput = _ref.onChangeSecondaryLevelInput,
15359
- onChangePriceInput = _ref.onChangePriceInput,
15360
- equipmentSet = _ref.equipmentSet,
15361
- onMarketPlaceItemBuy = _ref.onMarketPlaceItemBuy,
15362
- characterId = _ref.characterId,
15363
- enableHotkeys = _ref.enableHotkeys,
15364
- disableHotkeys = _ref.disableHotkeys,
15365
- currentPage = _ref.currentPage;
15366
- var _useState = useState(''),
15367
- name = _useState[0],
15368
- setName = _useState[1];
15369
- var _useState2 = useState([undefined, undefined]),
15370
- mainLevel = _useState2[0],
15371
- setMainLevel = _useState2[1];
15372
- var _useState3 = useState([undefined, undefined]),
15373
- secondaryLevel = _useState3[0],
15374
- setSecondaryLevel = _useState3[1];
15375
- var _useState4 = useState([undefined, undefined]),
15376
- price = _useState4[0],
15377
- setPrice = _useState4[1];
15378
- var _useState5 = useState(null),
15379
- buyingItemId = _useState5[0],
15380
- setBuyingItemId = _useState5[1];
15381
- var itemsContainer = useRef(null);
15562
+ options = _ref.options,
15563
+ onClose = _ref.onClose,
15564
+ onSelect = _ref.onSelect;
15565
+ var _useState = useState(),
15566
+ selectedValue = _useState[0],
15567
+ setSelectedValue = _useState[1];
15568
+ var handleClick = function handleClick() {
15569
+ var element = document.querySelector("input[name='test']:checked");
15570
+ var elementValue = element.value;
15571
+ setSelectedValue(elementValue);
15572
+ };
15382
15573
  useEffect(function () {
15383
- var _itemsContainer$curre;
15384
- (_itemsContainer$curre = itemsContainer.current) == null ? void 0 : _itemsContainer$curre.scrollTo(0, 0);
15385
- }, [currentPage]);
15386
- return React.createElement(React.Fragment, null, buyingItemId && React.createElement(ConfirmModal, {
15387
- onClose: setBuyingItemId.bind(null, null),
15388
- onConfirm: function onConfirm() {
15389
- onMarketPlaceItemBuy == null ? void 0 : onMarketPlaceItemBuy(buyingItemId);
15390
- setBuyingItemId(null);
15391
- enableHotkeys == null ? void 0 : enableHotkeys();
15392
- },
15393
- message: "Are you sure to buy this item?"
15394
- }), React.createElement(InputWrapper, null, React.createElement("p", null, "Search By Name"), React.createElement(Input, {
15395
- onChange: function onChange(e) {
15396
- setName(e.target.value);
15397
- onChangeNameInput(e.target.value);
15398
- },
15399
- value: name,
15400
- placeholder: "Enter name...",
15401
- onBlur: enableHotkeys,
15402
- onFocus: disableHotkeys
15403
- })), React.createElement(OptionsWrapper, null, React.createElement(FilterInputsWrapper, null, React.createElement("div", null, React.createElement("p", null, "Main level"), React.createElement(Input, {
15404
- onChange: function onChange(e) {
15405
- setMainLevel([Number(e.target.value), mainLevel[1]]);
15406
- onChangeMainLevelInput([Number(e.target.value), mainLevel[1]]);
15407
- },
15408
- placeholder: "Min",
15409
- type: "number",
15410
- min: 0,
15411
- onBlur: enableHotkeys,
15412
- onFocus: disableHotkeys
15413
- }), React.createElement(AiFillCaretRight, null), React.createElement(Input, {
15414
- onChange: function onChange(e) {
15415
- setMainLevel([mainLevel[0], Number(e.target.value)]);
15416
- onChangeMainLevelInput([mainLevel[0], Number(e.target.value)]);
15417
- },
15418
- placeholder: "Max",
15419
- type: "number",
15420
- min: 0,
15421
- onBlur: enableHotkeys,
15422
- onFocus: disableHotkeys
15423
- })), React.createElement("div", null, React.createElement("p", null, "Secondary level"), React.createElement(Input, {
15424
- onChange: function onChange(e) {
15425
- setSecondaryLevel([Number(e.target.value), secondaryLevel[1]]);
15426
- onChangeSecondaryLevelInput([Number(e.target.value), secondaryLevel[1]]);
15427
- },
15428
- placeholder: "Min",
15429
- type: "number",
15430
- min: 0,
15431
- onBlur: enableHotkeys,
15432
- onFocus: disableHotkeys
15433
- }), React.createElement(AiFillCaretRight, null), React.createElement(Input, {
15434
- onChange: function onChange(e) {
15435
- setSecondaryLevel([secondaryLevel[0], Number(e.target.value)]);
15436
- onChangeSecondaryLevelInput([secondaryLevel[0], Number(e.target.value)]);
15437
- },
15438
- placeholder: "Max",
15439
- type: "number",
15440
- min: 0,
15441
- onBlur: enableHotkeys,
15442
- onFocus: disableHotkeys
15443
- })), React.createElement("div", null, React.createElement("p", null, "Price"), React.createElement(Input, {
15444
- onChange: function onChange(e) {
15445
- setPrice([Number(e.target.value), price[1]]);
15446
- onChangePriceInput([Number(e.target.value), price[1]]);
15447
- },
15448
- placeholder: "Min",
15449
- type: "number",
15450
- min: 0,
15451
- className: "big-input",
15452
- onBlur: enableHotkeys,
15453
- onFocus: disableHotkeys
15454
- }), React.createElement(AiFillCaretRight, null), React.createElement(Input, {
15455
- onChange: function onChange(e) {
15456
- setPrice([price[0], Number(e.target.value)]);
15457
- onChangePriceInput([price[0], Number(e.target.value)]);
15458
- },
15459
- placeholder: "Max",
15460
- type: "number",
15461
- min: 0,
15462
- className: "big-input",
15463
- onBlur: enableHotkeys,
15464
- onFocus: disableHotkeys
15465
- }))), React.createElement(WrapperContainer, null, React.createElement(StyledDropdown, {
15466
- options: itemTypeOptions,
15467
- onChange: onChangeType,
15468
- width: "95%"
15469
- }), React.createElement(StyledDropdown, {
15470
- options: itemRarityOptions,
15471
- onChange: onChangeRarity,
15472
- width: "95%"
15473
- }), React.createElement(StyledDropdown, {
15474
- options: orderByOptions,
15475
- onChange: onChangeOrder,
15476
- width: "100%"
15477
- }))), React.createElement(ItemComponentScrollWrapper, {
15478
- id: "MarketContainer",
15479
- ref: itemsContainer
15480
- }, items == null ? void 0 : items.map(function (_ref2, index) {
15481
- var item = _ref2.item,
15482
- price = _ref2.price,
15483
- _id = _ref2._id,
15484
- owner = _ref2.owner;
15485
- return React.createElement(MarketplaceRows, {
15486
- key: item.key + "_" + index,
15574
+ if (selectedValue) {
15575
+ onSelect(selectedValue);
15576
+ }
15577
+ }, [selectedValue]);
15578
+ return React.createElement(DraggableContainer, {
15579
+ type: RPGUIContainerTypes.Framed,
15580
+ width: "500px",
15581
+ cancelDrag: ".equipment-container-body .arrow-selector",
15582
+ onCloseButton: function onCloseButton() {
15583
+ if (onClose) {
15584
+ onClose();
15585
+ }
15586
+ }
15587
+ }, React.createElement("div", {
15588
+ style: {
15589
+ width: '100%'
15590
+ }
15591
+ }, React.createElement(Title$3, null, 'Harvesting instruments'), React.createElement(Subtitle$1, null, 'Use the tool, you need it'), React.createElement("hr", {
15592
+ className: "golden"
15593
+ })), React.createElement(RadioInputScroller$1, null, options == null ? void 0 : options.map(function (option, index) {
15594
+ return React.createElement(RadioOptionsWrapper$1, {
15595
+ key: index
15596
+ }, React.createElement(SpriteAtlasWrapper$1, null, React.createElement(SpriteFromAtlas, {
15487
15597
  atlasIMG: atlasIMG,
15488
15598
  atlasJSON: atlasJSON,
15489
- item: item,
15490
- itemPrice: price,
15491
- equipmentSet: equipmentSet,
15492
- onMarketPlaceItemBuy: setBuyingItemId.bind(null, _id),
15493
- disabled: owner === characterId
15494
- });
15599
+ spriteKey: option.imageKey,
15600
+ imgScale: 3
15601
+ })), React.createElement("div", null, React.createElement("input", {
15602
+ className: "rpgui-radio",
15603
+ type: "radio",
15604
+ value: option.name,
15605
+ name: "test"
15606
+ }), React.createElement("label", {
15607
+ onPointerDown: handleClick,
15608
+ style: {
15609
+ display: 'flex',
15610
+ alignItems: 'center'
15611
+ }
15612
+ }, option.name, " ", React.createElement("br", null), option.description)));
15613
+ })), React.createElement(ButtonWrapper$1, null, React.createElement(Button, {
15614
+ buttonType: ButtonTypes.RPGUIButton,
15615
+ onPointerDown: onClose
15616
+ }, "Cancel"), React.createElement(Button, {
15617
+ buttonType: ButtonTypes.RPGUIButton
15618
+ }, "Select")));
15619
+ };
15620
+ var Title$3 = /*#__PURE__*/styled.h1.withConfig({
15621
+ displayName: "ItemSelector__Title",
15622
+ componentId: "sc-gptoxp-0"
15623
+ })(["font-size:0.6rem;color:yellow !important;"]);
15624
+ var Subtitle$1 = /*#__PURE__*/styled.h1.withConfig({
15625
+ displayName: "ItemSelector__Subtitle",
15626
+ componentId: "sc-gptoxp-1"
15627
+ })(["font-size:0.4rem;color:yellow !important;"]);
15628
+ var RadioInputScroller$1 = /*#__PURE__*/styled.div.withConfig({
15629
+ displayName: "ItemSelector__RadioInputScroller",
15630
+ componentId: "sc-gptoxp-2"
15631
+ })(["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;"]);
15632
+ var SpriteAtlasWrapper$1 = /*#__PURE__*/styled.div.withConfig({
15633
+ displayName: "ItemSelector__SpriteAtlasWrapper",
15634
+ componentId: "sc-gptoxp-3"
15635
+ })(["margin-right:40px;"]);
15636
+ var RadioOptionsWrapper$1 = /*#__PURE__*/styled.div.withConfig({
15637
+ displayName: "ItemSelector__RadioOptionsWrapper",
15638
+ componentId: "sc-gptoxp-4"
15639
+ })(["display:flex;align-items:stretch;margin-bottom:40px;"]);
15640
+ var ButtonWrapper$1 = /*#__PURE__*/styled.div.withConfig({
15641
+ displayName: "ItemSelector__ButtonWrapper",
15642
+ componentId: "sc-gptoxp-5"
15643
+ })(["display:flex;justify-content:space-around;padding-top:20px;width:100%;"]);
15644
+
15645
+ var ListMenu = function ListMenu(_ref) {
15646
+ var options = _ref.options,
15647
+ onSelected = _ref.onSelected,
15648
+ x = _ref.x,
15649
+ y = _ref.y;
15650
+ return React.createElement(Container$j, {
15651
+ x: x,
15652
+ y: y
15653
+ }, React.createElement("ul", {
15654
+ className: "rpgui-list-imp",
15655
+ style: {
15656
+ overflow: 'hidden'
15657
+ }
15658
+ }, options.map(function (params, index) {
15659
+ return React.createElement(ListElement$1, {
15660
+ key: (params == null ? void 0 : params.id) || index,
15661
+ onPointerDown: function onPointerDown() {
15662
+ onSelected(params == null ? void 0 : params.id);
15663
+ }
15664
+ }, (params == null ? void 0 : params.text) || 'No text');
15495
15665
  })));
15496
15666
  };
15497
- var InputWrapper = /*#__PURE__*/styled.div.withConfig({
15498
- displayName: "BuyPanel__InputWrapper",
15499
- componentId: "sc-1si8t7i-0"
15500
- })(["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;}"]);
15501
- var OptionsWrapper = /*#__PURE__*/styled.div.withConfig({
15502
- displayName: "BuyPanel__OptionsWrapper",
15503
- componentId: "sc-1si8t7i-1"
15504
- })(["width:100%;height:100px;"]);
15505
- var FilterInputsWrapper = /*#__PURE__*/styled.div.withConfig({
15506
- displayName: "BuyPanel__FilterInputsWrapper",
15507
- componentId: "sc-1si8t7i-2"
15508
- })(["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;}"]);
15509
- var WrapperContainer = /*#__PURE__*/styled.div.withConfig({
15510
- displayName: "BuyPanel__WrapperContainer",
15511
- componentId: "sc-1si8t7i-3"
15512
- })(["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;}"]);
15513
- var ItemComponentScrollWrapper = /*#__PURE__*/styled.div.withConfig({
15514
- displayName: "BuyPanel__ItemComponentScrollWrapper",
15515
- componentId: "sc-1si8t7i-4"
15516
- })(["overflow-y:scroll;height:390px;width:100%;margin-top:1rem;@media (max-width:950px){height:250px;}"]);
15517
- var StyledDropdown = /*#__PURE__*/styled(Dropdown).withConfig({
15518
- displayName: "BuyPanel__StyledDropdown",
15519
- componentId: "sc-1si8t7i-5"
15520
- })(["margin:3px !important;width:170px !important;"]);
15667
+ var Container$j = /*#__PURE__*/styled.div.withConfig({
15668
+ displayName: "ListMenu__Container",
15669
+ componentId: "sc-i9097t-0"
15670
+ })(["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) {
15671
+ return props.y || 0;
15672
+ }, function (props) {
15673
+ return props.x || 0;
15674
+ }, uiFonts.size.xsmall);
15675
+ var ListElement$1 = /*#__PURE__*/styled.li.withConfig({
15676
+ displayName: "ListMenu__ListElement",
15677
+ componentId: "sc-i9097t-1"
15678
+ })(["margin-right:0.5rem;"]);
15521
15679
 
15522
- var ManagmentPanel = function ManagmentPanel(_ref) {
15523
- var items = _ref.items,
15524
- atlasIMG = _ref.atlasIMG,
15525
- atlasJSON = _ref.atlasJSON,
15526
- onChangeNameInput = _ref.onChangeNameInput,
15527
- equipmentSet = _ref.equipmentSet,
15528
- availableGold = _ref.availableGold,
15529
- onMarketPlaceItemRemove = _ref.onMarketPlaceItemRemove,
15530
- selectedItemToSell = _ref.selectedItemToSell,
15531
- onSelectedItemToSellRemove = _ref.onSelectedItemToSellRemove,
15532
- onAddItemToMarketplace = _ref.onAddItemToMarketplace,
15533
- enableHotkeys = _ref.enableHotkeys,
15534
- disableHotkeys = _ref.disableHotkeys,
15535
- onMoneyWithdraw = _ref.onMoneyWithdraw,
15536
- currentPage = _ref.currentPage;
15537
- var _useState = useState(''),
15538
- name = _useState[0],
15539
- setName = _useState[1];
15540
- var _useState2 = useState(''),
15541
- price = _useState2[0],
15542
- setPrice = _useState2[1];
15543
- var _useState3 = useState(false),
15544
- isCreatingOffer = _useState3[0],
15545
- setIsCreatingOffer = _useState3[1];
15546
- var _useState4 = useState(null),
15547
- removingItemId = _useState4[0],
15548
- setRemovingItemId = _useState4[1];
15549
- var itemsContainer = useRef(null);
15550
- useEffect(function () {
15551
- var _itemsContainer$curre;
15552
- (_itemsContainer$curre = itemsContainer.current) == null ? void 0 : _itemsContainer$curre.scrollTo(0, 0);
15553
- }, [currentPage]);
15554
- return React.createElement(React.Fragment, null, isCreatingOffer && React.createElement(ConfirmModal, {
15555
- onClose: setIsCreatingOffer.bind(null, false),
15556
- onConfirm: function onConfirm() {
15557
- if (selectedItemToSell && price && Number(price)) {
15558
- onAddItemToMarketplace(selectedItemToSell, Number(price));
15559
- setPrice('');
15560
- onSelectedItemToSellRemove(selectedItemToSell);
15561
- setIsCreatingOffer(false);
15562
- enableHotkeys == null ? void 0 : enableHotkeys();
15563
- }
15564
- },
15565
- message: "Are you sure to create this offer?"
15566
- }), removingItemId && React.createElement(ConfirmModal, {
15567
- onClose: setRemovingItemId.bind(null, null),
15568
- onConfirm: function onConfirm() {
15569
- onMarketPlaceItemRemove == null ? void 0 : onMarketPlaceItemRemove(removingItemId);
15570
- setRemovingItemId(null);
15571
- enableHotkeys == null ? void 0 : enableHotkeys();
15572
- },
15573
- message: "Are you sure to remove this item?"
15574
- }), React.createElement(InputWrapper$1, null, React.createElement("p", null, "Search By Name"), React.createElement(Input, {
15575
- onChange: function onChange(e) {
15576
- setName(e.target.value);
15577
- onChangeNameInput(e.target.value);
15578
- },
15579
- value: name,
15580
- placeholder: "Enter name...",
15581
- onBlur: enableHotkeys,
15582
- onFocus: disableHotkeys
15583
- })), React.createElement(OptionsWrapper$1, null, React.createElement(InnerOptionsWrapper, null, React.createElement(SellDescription, null, "Click on item in inventory to sell it"), React.createElement(Flex$2, null, React.createElement(ItemSlot, {
15584
- slotIndex: 0,
15585
- atlasIMG: atlasIMG,
15586
- atlasJSON: atlasJSON,
15587
- onPointerDown: function onPointerDown(_, __, item) {
15588
- return onSelectedItemToSellRemove(item);
15589
- },
15590
- item: selectedItemToSell
15591
- }), React.createElement(PriceInputWrapper, null, React.createElement("p", null, "Enter price"), React.createElement(Flex$2, null, React.createElement(Input, {
15592
- onChange: function onChange(e) {
15593
- setPrice(e.target.value);
15594
- },
15595
- value: price,
15596
- placeholder: "Enter price...",
15597
- type: "number",
15598
- disabled: !selectedItemToSell,
15599
- onBlur: enableHotkeys,
15600
- onFocus: disableHotkeys
15601
- }), React.createElement(Button, {
15602
- buttonType: ButtonTypes.RPGUIButton,
15603
- disabled: !selectedItemToSell || !price,
15680
+ var Pager = function Pager(_ref) {
15681
+ var totalItems = _ref.totalItems,
15682
+ currentPage = _ref.currentPage,
15683
+ itemsPerPage = _ref.itemsPerPage,
15684
+ onPageChange = _ref.onPageChange;
15685
+ var totalPages = Math.ceil(totalItems / itemsPerPage);
15686
+ return React.createElement(Container$k, null, React.createElement("p", null, "Total items: ", totalItems), React.createElement(PagerContainer, null, React.createElement("button", {
15687
+ disabled: currentPage === 1,
15604
15688
  onPointerDown: function onPointerDown() {
15605
- if (selectedItemToSell && price && Number(price)) {
15606
- setIsCreatingOffer(true);
15607
- }
15689
+ return onPageChange(Math.max(currentPage - 1, 1));
15608
15690
  }
15609
- }, "Create offer"))))), React.createElement(InnerOptionsWrapper, null, React.createElement(AvailableGold, {
15610
- "$disabled": availableGold === 0
15611
- }, React.createElement("p", null, "Available gold"), React.createElement("p", {
15612
- className: "center"
15613
- }, "$", availableGold), React.createElement(Button, {
15614
- buttonType: ButtonTypes.RPGUIButton,
15615
- disabled: availableGold === 0,
15691
+ }, '<'), React.createElement("div", {
15692
+ className: "rpgui-container framed-grey"
15693
+ }, currentPage), React.createElement("button", {
15694
+ disabled: currentPage === totalPages,
15616
15695
  onPointerDown: function onPointerDown() {
15617
- return availableGold > 0 && onMoneyWithdraw();
15696
+ return onPageChange(Math.min(currentPage + 1, totalPages));
15618
15697
  }
15619
- }, "Withdraw")))), React.createElement(ItemComponentScrollWrapper$1, {
15620
- id: "MarketContainer",
15621
- ref: itemsContainer
15622
- }, items == null ? void 0 : items.map(function (_ref2, index) {
15623
- var item = _ref2.item,
15624
- price = _ref2.price,
15625
- _id = _ref2._id;
15626
- return React.createElement(MarketplaceRows, {
15627
- key: item.key + "_" + index,
15628
- atlasIMG: atlasIMG,
15629
- atlasJSON: atlasJSON,
15630
- item: item,
15631
- itemPrice: price,
15632
- equipmentSet: equipmentSet,
15633
- onMarketPlaceItemRemove: setRemovingItemId.bind(null, _id)
15634
- });
15635
- })));
15698
+ }, '>')));
15636
15699
  };
15637
- var Flex$2 = /*#__PURE__*/styled.div.withConfig({
15638
- displayName: "ManagmentPanel__Flex",
15639
- componentId: "sc-1yyi6jn-0"
15640
- })(["display:flex;gap:5px;align-items:center;"]);
15641
- var InputWrapper$1 = /*#__PURE__*/styled.div.withConfig({
15642
- displayName: "ManagmentPanel__InputWrapper",
15643
- componentId: "sc-1yyi6jn-1"
15644
- })(["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;}"]);
15645
- var OptionsWrapper$1 = /*#__PURE__*/styled.div.withConfig({
15646
- displayName: "ManagmentPanel__OptionsWrapper",
15647
- componentId: "sc-1yyi6jn-2"
15648
- })(["width:100%;height:100px;display:flex;align-items:center;justify-content:space-around;"]);
15649
- var InnerOptionsWrapper = /*#__PURE__*/styled.div.withConfig({
15650
- displayName: "ManagmentPanel__InnerOptionsWrapper",
15651
- componentId: "sc-1yyi6jn-3"
15652
- })(["display:flex;justify-content:space-between;flex-direction:column;height:100%;"]);
15653
- var ItemComponentScrollWrapper$1 = /*#__PURE__*/styled.div.withConfig({
15654
- displayName: "ManagmentPanel__ItemComponentScrollWrapper",
15655
- componentId: "sc-1yyi6jn-4"
15656
- })(["overflow-y:scroll;height:390px;width:100%;margin-top:1rem;@media (max-width:950px){height:250px;}"]);
15657
- var PriceInputWrapper = /*#__PURE__*/styled.div.withConfig({
15658
- displayName: "ManagmentPanel__PriceInputWrapper",
15659
- componentId: "sc-1yyi6jn-5"
15660
- })(["p{margin:0;}input{width:200px;}"]);
15661
- var SellDescription = /*#__PURE__*/styled.p.withConfig({
15662
- displayName: "ManagmentPanel__SellDescription",
15663
- componentId: "sc-1yyi6jn-6"
15664
- })(["margin:0;font-size:", " !important;"], uiFonts.size.xsmall);
15665
- var AvailableGold = /*#__PURE__*/styled.div.withConfig({
15666
- displayName: "ManagmentPanel__AvailableGold",
15667
- componentId: "sc-1yyi6jn-7"
15668
- })(["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) {
15669
- return props.$disabled ? uiColors.lightGray : 'white';
15670
- }, uiFonts.size.large, function (props) {
15671
- return props.$disabled ? uiColors.lightGray : uiColors.lightGreen;
15672
- });
15700
+ var Container$k = /*#__PURE__*/styled.div.withConfig({
15701
+ displayName: "Pager__Container",
15702
+ componentId: "sc-1ekmf50-0"
15703
+ })(["display:flex;flex-direction:column;align-items:center;p{margin:0;font-size:", ";}"], uiFonts.size.xsmall);
15704
+ var PagerContainer = /*#__PURE__*/styled.div.withConfig({
15705
+ displayName: "Pager__PagerContainer",
15706
+ componentId: "sc-1ekmf50-1"
15707
+ })(["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);
15708
+
15709
+ var ConfirmModal = function ConfirmModal(_ref) {
15710
+ var onConfirm = _ref.onConfirm,
15711
+ onClose = _ref.onClose,
15712
+ message = _ref.message;
15713
+ return React.createElement(ModalPortal, null, React.createElement(Background, null), React.createElement(Container$l, {
15714
+ onPointerDown: onClose
15715
+ }, React.createElement(DraggableContainer, {
15716
+ width: "auto",
15717
+ dragDisabled: true
15718
+ }, React.createElement(Wrapper$1, {
15719
+ onPointerDown: function onPointerDown(e) {
15720
+ return e.stopPropagation();
15721
+ }
15722
+ }, React.createElement("p", null, message != null ? message : 'Are you sure?'), React.createElement(ButtonsWrapper, null, React.createElement("div", {
15723
+ className: "cancel-button"
15724
+ }, React.createElement(Button, {
15725
+ buttonType: ButtonTypes.RPGUIButton,
15726
+ onPointerDown: onClose
15727
+ }, "No")), React.createElement(Button, {
15728
+ buttonType: ButtonTypes.RPGUIButton,
15729
+ onPointerDown: onConfirm
15730
+ }, "Yes"))))));
15731
+ };
15732
+ var Background = /*#__PURE__*/styled.div.withConfig({
15733
+ displayName: "ConfirmModal__Background",
15734
+ componentId: "sc-11qkyu1-0"
15735
+ })(["position:absolute;width:100%;height:100%;background-color:#000000;opacity:0.5;left:0;top:0;z-index:1000;"]);
15736
+ var Container$l = /*#__PURE__*/styled.div.withConfig({
15737
+ displayName: "ConfirmModal__Container",
15738
+ componentId: "sc-11qkyu1-1"
15739
+ })(["position:absolute;width:100%;height:100%;left:0;top:0;display:flex;justify-content:center;align-items:center;z-index:1001;"]);
15740
+ var Wrapper$1 = /*#__PURE__*/styled.div.withConfig({
15741
+ displayName: "ConfirmModal__Wrapper",
15742
+ componentId: "sc-11qkyu1-2"
15743
+ })(["p{margin:0;}"]);
15744
+ var ButtonsWrapper = /*#__PURE__*/styled.div.withConfig({
15745
+ displayName: "ConfirmModal__ButtonsWrapper",
15746
+ componentId: "sc-11qkyu1-3"
15747
+ })(["display:flex;justify-content:flex-end;gap:5px;margin-top:5px;.cancel-button{filter:grayscale(0.7);}"]);
15673
15748
 
15674
- var Marketplace = function Marketplace(props) {
15675
- var onClose = props.onClose,
15676
- scale = props.scale,
15677
- onYourPanelToggle = props.onYourPanelToggle;
15678
- var _useState = useState(false),
15679
- isYourPanel = _useState[0],
15680
- setIsYourPanel = _useState[1];
15681
- return React.createElement(DraggableContainer, {
15682
- type: RPGUIContainerTypes.Framed,
15683
- onCloseButton: function onCloseButton() {
15684
- if (onClose) onClose();
15685
- },
15686
- width: "800px",
15687
- cancelDrag: "#MarketContainer, .rpgui-dropdown-imp, input, .empty-slot, button",
15749
+ var MarketplaceRows = function MarketplaceRows(_ref) {
15750
+ var atlasJSON = _ref.atlasJSON,
15751
+ atlasIMG = _ref.atlasIMG,
15752
+ item = _ref.item,
15753
+ itemPrice = _ref.itemPrice,
15754
+ equipmentSet = _ref.equipmentSet,
15755
+ scale = _ref.scale,
15756
+ onMarketPlaceItemBuy = _ref.onMarketPlaceItemBuy,
15757
+ onMarketPlaceItemRemove = _ref.onMarketPlaceItemRemove,
15758
+ disabled = _ref.disabled;
15759
+ return React.createElement(MarketplaceWrapper, null, React.createElement(ItemIconContainer, null, React.createElement(SpriteContainer, null, React.createElement(ItemInfoWrapper, {
15760
+ item: item,
15761
+ atlasIMG: atlasIMG,
15762
+ atlasJSON: atlasJSON,
15763
+ equipmentSet: equipmentSet,
15688
15764
  scale: scale
15689
- }, isYourPanel && React.createElement(React.Fragment, null, React.createElement(ManagmentPanel, Object.assign({}, props)), React.createElement(PagerContainer$1, null, React.createElement(Button, {
15690
- buttonType: ButtonTypes.RPGUIButton,
15691
- onPointerDown: function onPointerDown() {
15692
- onYourPanelToggle(false);
15693
- setIsYourPanel(false);
15694
- }
15695
- }, "Go to marketplace"), React.createElement(Pager, Object.assign({}, props)))), !isYourPanel && React.createElement(React.Fragment, null, React.createElement(BuyPanel, Object.assign({}, props)), React.createElement(PagerContainer$1, null, React.createElement(Button, {
15765
+ }, React.createElement(RarityContainer, {
15766
+ item: item
15767
+ }, React.createElement(SpriteFromAtlas, {
15768
+ atlasIMG: atlasIMG,
15769
+ atlasJSON: atlasJSON,
15770
+ spriteKey: 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.createElement(QuantityContainer, null, item.stackQty && item.stackQty > 1 && "x" + Math.round(item.stackQty * 10) / 10))), React.createElement(PriceValue, null, React.createElement("p", null, React.createElement(Ellipsis, {
15778
+ maxLines: 1,
15779
+ maxWidth: "200px",
15780
+ fontSize: "10px"
15781
+ }, item.name)))), React.createElement(Flex$1, null, React.createElement(ItemIconContainer, null, React.createElement(GoldContainer, null, React.createElement(SpriteFromAtlas, {
15782
+ atlasIMG: atlasIMG,
15783
+ atlasJSON: atlasJSON,
15784
+ spriteKey: "others/gold-coin-qty-5.png",
15785
+ imgScale: 2
15786
+ })), React.createElement(PriceValue, null, React.createElement("p", null, React.createElement(Ellipsis, {
15787
+ maxLines: 1,
15788
+ maxWidth: "200px",
15789
+ fontSize: "10px"
15790
+ }, "$", itemPrice)))), React.createElement(ButtonContainer$1, null, React.createElement(Button, {
15696
15791
  buttonType: ButtonTypes.RPGUIButton,
15792
+ disabled: disabled,
15697
15793
  onPointerDown: function onPointerDown() {
15698
- onYourPanelToggle(true);
15699
- setIsYourPanel(true);
15794
+ if (disabled) return;
15795
+ onMarketPlaceItemBuy == null ? void 0 : onMarketPlaceItemBuy();
15796
+ onMarketPlaceItemRemove == null ? void 0 : onMarketPlaceItemRemove();
15700
15797
  }
15701
- }, "Go to your panel"), React.createElement(Pager, Object.assign({}, props)))));
15798
+ }, onMarketPlaceItemBuy ? 'Buy' : 'Remove'))));
15702
15799
  };
15703
- var PagerContainer$1 = /*#__PURE__*/styled.div.withConfig({
15704
- displayName: "Marketplace__PagerContainer",
15705
- componentId: "sc-h904b1-0"
15706
- })(["display:flex;justify-content:space-between;align-items:center;width:calc(100% - 30px);"]);
15707
-
15708
- var img$5 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAP1BMVEUAAAA7FyVxQTsUEBPj5v////+5v/tCJDOOUlIiHBr1oJfptaO6dWr61rhzFy1bMTjoanMUNGQoXMQkn97+88DQ3IhAAAAAAXRSTlMAQObYZgAAAAFiS0dEBfhv6ccAAAAHdElNRQfmAw4VOBC7c5LYAAABM0lEQVQ4y3XRi5KDIAwFUAUkbrBgpP//rZsHVHQ009qZ3tPboNN0zmwzvcw8O5sX4y0NOg/Et3jRCXF+ziULorjkOQ9gE24dvuUAzq08DiCO4pe3WN7zCP56vmpubBReQYC11YPS86ySxxCsAABTSgjb5m4g8nfbxvFHBkH2OEEvAItVuCuIsgGgl+Gcr7kDXxhEAx55A2SQEEeQeZwUaIP8Tbo05B0RFPhItAjgj1w6cDnhLluDj+Egkh3pCCP4pKQAw1IPO0W9Nti5gW9RP2dKA3BZd2Dw+baYX+Nt4GM00O4S3kEpF6Alb2Bv4LeC3kkGfAW0/p0RPoJVKr63ghHsKuRh5DIUKOAlGOwrtt9fQekAEfmhZslHUDoglB0zjfkJigN7UnTQQ4GBWomoVhEN/AOPSBh38gy+fwAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyMi0wMy0xNFQyMTo1NTo1MSswMDowMJcc0eEAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjItMDMtMTRUMjE6NTU6NTErMDA6MDDmQWldAAAAAElFTkSuQmCC';
15709
-
15710
- 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';
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 GoldContainer = /*#__PURE__*/styled.div.withConfig({
15817
+ displayName: "MarketplaceRows__GoldContainer",
15818
+ componentId: "sc-wmpr1o-4"
15819
+ })(["position:relative;top:-0.5rem;left:0.5rem;"]);
15820
+ var SpriteContainer = /*#__PURE__*/styled.div.withConfig({
15821
+ displayName: "MarketplaceRows__SpriteContainer",
15822
+ componentId: "sc-wmpr1o-5"
15823
+ })(["position:relative;left:0.5rem;"]);
15824
+ var PriceValue = /*#__PURE__*/styled.div.withConfig({
15825
+ displayName: "MarketplaceRows__PriceValue",
15826
+ componentId: "sc-wmpr1o-6"
15827
+ })(["margin-left:40px;"]);
15828
+ var ButtonContainer$1 = /*#__PURE__*/styled.div.withConfig({
15829
+ displayName: "MarketplaceRows__ButtonContainer",
15830
+ componentId: "sc-wmpr1o-7"
15831
+ })(["margin:auto;"]);
15832
+ var RarityContainer = /*#__PURE__*/styled.div.withConfig({
15833
+ displayName: "MarketplaceRows__RarityContainer",
15834
+ componentId: "sc-wmpr1o-8"
15835
+ })(["border-color:", ";box-shadow:", " inset,", ";width:32px;height:32px;"], function (_ref2) {
15836
+ var item = _ref2.item;
15837
+ return rarityColor(item);
15838
+ }, function (_ref3) {
15839
+ var item = _ref3.item;
15840
+ return "0 0 5px 8px " + rarityColor(item);
15841
+ }, function (_ref4) {
15842
+ var item = _ref4.item;
15843
+ return "0 0 8px 6px " + rarityColor(item);
15844
+ });
15711
15845
 
15712
- var ImgSide;
15713
- (function (ImgSide) {
15714
- ImgSide["right"] = "right";
15715
- ImgSide["left"] = "left";
15716
- })(ImgSide || (ImgSide = {}));
15717
- var NPCMultiDialog = function NPCMultiDialog(_ref) {
15718
- var _textAndTypeArray$sli;
15719
- var _onClose = _ref.onClose,
15720
- textAndTypeArray = _ref.textAndTypeArray;
15721
- var _useState = useState(false),
15722
- showGoNextIndicator = _useState[0],
15723
- setShowGoNextIndicator = _useState[1];
15724
- var _useState2 = useState(0),
15725
- slide = _useState2[0],
15726
- setSlide = _useState2[1];
15727
- var onHandleSpacePress = function onHandleSpacePress(event) {
15728
- if (event.code === 'Space') {
15729
- if (slide < (textAndTypeArray == null ? void 0 : textAndTypeArray.length) - 1) {
15730
- setSlide(function (prev) {
15731
- return prev + 1;
15732
- });
15733
- } else {
15734
- // if there's no more text chunks, close the dialog
15735
- _onClose();
15736
- }
15737
- }
15846
+ var OrderByType;
15847
+ (function (OrderByType) {
15848
+ OrderByType["Name"] = "Name";
15849
+ OrderByType["Price"] = "Price";
15850
+ })(OrderByType || (OrderByType = {}));
15851
+ var itemTypeOptions = /*#__PURE__*/['Type'].concat(Object.keys(ItemSubType)).filter(function (type) {
15852
+ return type !== 'DeadBody';
15853
+ }).map(function (itemType, index) {
15854
+ return {
15855
+ id: index + 1,
15856
+ value: itemType,
15857
+ option: itemType
15738
15858
  };
15739
- useEffect(function () {
15740
- document.addEventListener('keydown', onHandleSpacePress);
15741
- return function () {
15742
- return document.removeEventListener('keydown', onHandleSpacePress);
15743
- };
15744
- }, [slide]);
15745
- return React.createElement(RPGUIContainer, {
15746
- type: RPGUIContainerTypes.FramedGold,
15747
- width: '50%',
15748
- height: '180px'
15749
- }, React.createElement(React.Fragment, null, React.createElement(Container$i, null, ((_textAndTypeArray$sli = textAndTypeArray[slide]) == null ? void 0 : _textAndTypeArray$sli.imageSide) === 'right' && React.createElement(React.Fragment, null, React.createElement(TextContainer, {
15750
- flex: '70%'
15751
- }, React.createElement(NPCDialogText, {
15752
- onStartStep: function onStartStep() {
15753
- return setShowGoNextIndicator(false);
15754
- },
15755
- onEndStep: function onEndStep() {
15756
- return setShowGoNextIndicator(true);
15757
- },
15758
- text: textAndTypeArray[slide].text || 'No text provided.',
15759
- onClose: function onClose() {
15760
- if (_onClose) {
15761
- _onClose();
15859
+ });
15860
+ var itemRarityOptions = /*#__PURE__*/['Rarity'].concat(Object.values(ItemRarities)).map(function (itemRarity, index) {
15861
+ return {
15862
+ id: index + 1,
15863
+ value: itemRarity,
15864
+ option: itemRarity
15865
+ };
15866
+ });
15867
+ var orderByOptions = /*#__PURE__*/Object.values(OrderByType).flatMap(function (orderBy, index) {
15868
+ return [{
15869
+ id: index * 2 + 1,
15870
+ value: orderBy.toLowerCase(),
15871
+ option: React.createElement(React.Fragment, null, orderBy, ' ', React.createElement("span", {
15872
+ style: {
15873
+ transform: 'translateY(-2px)',
15874
+ display: 'inline-block'
15762
15875
  }
15763
- }
15764
- })), React.createElement(ThumbnailContainer, null, React.createElement(NPCThumbnail, {
15765
- src: textAndTypeArray[slide].imagePath || img$5
15766
- })), showGoNextIndicator && React.createElement(PressSpaceIndicator, {
15767
- right: '10.5rem',
15768
- src: img$6
15769
- })), textAndTypeArray[slide].imageSide === 'left' && React.createElement(React.Fragment, null, React.createElement(ThumbnailContainer, null, React.createElement(NPCThumbnail, {
15770
- src: textAndTypeArray[slide].imagePath || img$5
15771
- })), React.createElement(TextContainer, {
15772
- flex: '70%'
15773
- }, React.createElement(NPCDialogText, {
15774
- onStartStep: function onStartStep() {
15775
- return setShowGoNextIndicator(false);
15776
- },
15777
- onEndStep: function onEndStep() {
15778
- return setShowGoNextIndicator(true);
15779
- },
15780
- text: textAndTypeArray[slide].text || 'No text provided.',
15781
- onClose: function onClose() {
15782
- if (_onClose) {
15783
- _onClose();
15876
+ }, "\u2191"))
15877
+ }, {
15878
+ id: index * 2 + 2,
15879
+ value: '-' + orderBy.toLowerCase(),
15880
+ option: React.createElement(React.Fragment, null, orderBy, ' ', React.createElement("span", {
15881
+ style: {
15882
+ transform: 'translateY(-2px)',
15883
+ display: 'inline-block'
15784
15884
  }
15785
- }
15786
- })), showGoNextIndicator && React.createElement(PressSpaceIndicator, {
15787
- right: '1rem',
15788
- src: img$6
15789
- }))), ")"));
15790
- };
15791
- var Container$i = /*#__PURE__*/styled.div.withConfig({
15792
- displayName: "NPCMultiDialog__Container",
15793
- componentId: "sc-rvu5wg-0"
15794
- })(["display:flex;width:100%;height:100%;box-sizing:border-box;justify-content:center;align-items:flex-start;position:relative;"]);
15795
- var TextContainer = /*#__PURE__*/styled.div.withConfig({
15796
- displayName: "NPCMultiDialog__TextContainer",
15797
- componentId: "sc-rvu5wg-1"
15798
- })(["flex:", " 0 0;width:355px;"], function (_ref2) {
15799
- var flex = _ref2.flex;
15800
- return flex;
15801
- });
15802
- var ThumbnailContainer = /*#__PURE__*/styled.div.withConfig({
15803
- displayName: "NPCMultiDialog__ThumbnailContainer",
15804
- componentId: "sc-rvu5wg-2"
15805
- })(["flex:30% 0 0;display:flex;justify-content:flex-end;"]);
15806
- var NPCThumbnail = /*#__PURE__*/styled.img.withConfig({
15807
- displayName: "NPCMultiDialog__NPCThumbnail",
15808
- componentId: "sc-rvu5wg-3"
15809
- })(["image-rendering:pixelated;height:128px;width:128px;"]);
15810
- var PressSpaceIndicator = /*#__PURE__*/styled.img.withConfig({
15811
- displayName: "NPCMultiDialog__PressSpaceIndicator",
15812
- componentId: "sc-rvu5wg-4"
15813
- })(["position:absolute;right:", ";bottom:1rem;height:20.7px;image-rendering:-webkit-optimize-contrast;"], function (_ref3) {
15814
- var right = _ref3.right;
15815
- return right;
15885
+ }, "\u2193"))
15886
+ }];
15816
15887
  });
15817
15888
 
15818
- //@ts-ignore
15819
- var useEventListener = function useEventListener(type, handler, el) {
15820
- if (el === void 0) {
15821
- el = window;
15822
- }
15823
- var savedHandler = React.useRef();
15824
- React.useEffect(function () {
15825
- savedHandler.current = handler;
15826
- }, [handler]);
15827
- React.useEffect(function () {
15828
- //@ts-ignore
15829
- var listener = function listener(e) {
15830
- return savedHandler.current(e);
15831
- };
15832
- el.addEventListener(type, listener);
15833
- return function () {
15834
- el.removeEventListener(type, listener);
15835
- };
15836
- }, [type, el]);
15837
- };
15838
-
15839
- var DynamicText = function DynamicText(_ref) {
15840
- var text = _ref.text,
15841
- onFinish = _ref.onFinish,
15842
- onStart = _ref.onStart;
15889
+ var BuyPanel = function BuyPanel(_ref) {
15890
+ var items = _ref.items,
15891
+ atlasIMG = _ref.atlasIMG,
15892
+ atlasJSON = _ref.atlasJSON,
15893
+ onChangeType = _ref.onChangeType,
15894
+ onChangeRarity = _ref.onChangeRarity,
15895
+ onChangeOrder = _ref.onChangeOrder,
15896
+ onChangeNameInput = _ref.onChangeNameInput,
15897
+ onChangeMainLevelInput = _ref.onChangeMainLevelInput,
15898
+ onChangeSecondaryLevelInput = _ref.onChangeSecondaryLevelInput,
15899
+ onChangePriceInput = _ref.onChangePriceInput,
15900
+ equipmentSet = _ref.equipmentSet,
15901
+ onMarketPlaceItemBuy = _ref.onMarketPlaceItemBuy,
15902
+ characterId = _ref.characterId,
15903
+ enableHotkeys = _ref.enableHotkeys,
15904
+ disableHotkeys = _ref.disableHotkeys,
15905
+ currentPage = _ref.currentPage;
15843
15906
  var _useState = useState(''),
15844
- textState = _useState[0],
15845
- setTextState = _useState[1];
15907
+ name = _useState[0],
15908
+ setName = _useState[1];
15909
+ var _useState2 = useState([undefined, undefined]),
15910
+ mainLevel = _useState2[0],
15911
+ setMainLevel = _useState2[1];
15912
+ var _useState3 = useState([undefined, undefined]),
15913
+ secondaryLevel = _useState3[0],
15914
+ setSecondaryLevel = _useState3[1];
15915
+ var _useState4 = useState([undefined, undefined]),
15916
+ price = _useState4[0],
15917
+ setPrice = _useState4[1];
15918
+ var _useState5 = useState(null),
15919
+ buyingItemId = _useState5[0],
15920
+ setBuyingItemId = _useState5[1];
15921
+ var itemsContainer = useRef(null);
15846
15922
  useEffect(function () {
15847
- var i = 0;
15848
- var interval = setInterval(function () {
15849
- // on every interval, show one more character
15850
- if (i === 0) {
15851
- if (onStart) {
15852
- onStart();
15853
- }
15854
- }
15855
- if (i < text.length) {
15856
- setTextState(text.substring(0, i + 1));
15857
- i++;
15858
- } else {
15859
- clearInterval(interval);
15860
- if (onFinish) {
15861
- onFinish();
15862
- }
15863
- }
15864
- }, 50);
15865
- return function () {
15866
- clearInterval(interval);
15867
- };
15868
- }, [text]);
15869
- return React.createElement(TextContainer$1, null, textState);
15923
+ var _itemsContainer$curre;
15924
+ (_itemsContainer$curre = itemsContainer.current) == null ? void 0 : _itemsContainer$curre.scrollTo(0, 0);
15925
+ }, [currentPage]);
15926
+ return React.createElement(React.Fragment, null, buyingItemId && React.createElement(ConfirmModal, {
15927
+ onClose: setBuyingItemId.bind(null, null),
15928
+ onConfirm: function onConfirm() {
15929
+ onMarketPlaceItemBuy == null ? void 0 : onMarketPlaceItemBuy(buyingItemId);
15930
+ setBuyingItemId(null);
15931
+ enableHotkeys == null ? void 0 : enableHotkeys();
15932
+ },
15933
+ message: "Are you sure to buy this item?"
15934
+ }), React.createElement(InputWrapper, null, React.createElement("p", null, "Search By Name"), React.createElement(Input, {
15935
+ onChange: function onChange(e) {
15936
+ setName(e.target.value);
15937
+ onChangeNameInput(e.target.value);
15938
+ },
15939
+ value: name,
15940
+ placeholder: "Enter name...",
15941
+ onBlur: enableHotkeys,
15942
+ onFocus: disableHotkeys
15943
+ })), React.createElement(OptionsWrapper, null, React.createElement(FilterInputsWrapper, null, React.createElement("div", null, React.createElement("p", null, "Main level"), React.createElement(Input, {
15944
+ onChange: function onChange(e) {
15945
+ setMainLevel([Number(e.target.value), mainLevel[1]]);
15946
+ onChangeMainLevelInput([Number(e.target.value), mainLevel[1]]);
15947
+ },
15948
+ placeholder: "Min",
15949
+ type: "number",
15950
+ min: 0,
15951
+ onBlur: enableHotkeys,
15952
+ onFocus: disableHotkeys
15953
+ }), React.createElement(AiFillCaretRight, null), React.createElement(Input, {
15954
+ onChange: function onChange(e) {
15955
+ setMainLevel([mainLevel[0], Number(e.target.value)]);
15956
+ onChangeMainLevelInput([mainLevel[0], Number(e.target.value)]);
15957
+ },
15958
+ placeholder: "Max",
15959
+ type: "number",
15960
+ min: 0,
15961
+ onBlur: enableHotkeys,
15962
+ onFocus: disableHotkeys
15963
+ })), React.createElement("div", null, React.createElement("p", null, "Secondary level"), React.createElement(Input, {
15964
+ onChange: function onChange(e) {
15965
+ setSecondaryLevel([Number(e.target.value), secondaryLevel[1]]);
15966
+ onChangeSecondaryLevelInput([Number(e.target.value), secondaryLevel[1]]);
15967
+ },
15968
+ placeholder: "Min",
15969
+ type: "number",
15970
+ min: 0,
15971
+ onBlur: enableHotkeys,
15972
+ onFocus: disableHotkeys
15973
+ }), React.createElement(AiFillCaretRight, null), React.createElement(Input, {
15974
+ onChange: function onChange(e) {
15975
+ setSecondaryLevel([secondaryLevel[0], Number(e.target.value)]);
15976
+ onChangeSecondaryLevelInput([secondaryLevel[0], Number(e.target.value)]);
15977
+ },
15978
+ placeholder: "Max",
15979
+ type: "number",
15980
+ min: 0,
15981
+ onBlur: enableHotkeys,
15982
+ onFocus: disableHotkeys
15983
+ })), React.createElement("div", null, React.createElement("p", null, "Price"), React.createElement(Input, {
15984
+ onChange: function onChange(e) {
15985
+ setPrice([Number(e.target.value), price[1]]);
15986
+ onChangePriceInput([Number(e.target.value), price[1]]);
15987
+ },
15988
+ placeholder: "Min",
15989
+ type: "number",
15990
+ min: 0,
15991
+ className: "big-input",
15992
+ onBlur: enableHotkeys,
15993
+ onFocus: disableHotkeys
15994
+ }), React.createElement(AiFillCaretRight, null), React.createElement(Input, {
15995
+ onChange: function onChange(e) {
15996
+ setPrice([price[0], Number(e.target.value)]);
15997
+ onChangePriceInput([price[0], Number(e.target.value)]);
15998
+ },
15999
+ placeholder: "Max",
16000
+ type: "number",
16001
+ min: 0,
16002
+ className: "big-input",
16003
+ onBlur: enableHotkeys,
16004
+ onFocus: disableHotkeys
16005
+ }))), React.createElement(WrapperContainer, null, React.createElement(StyledDropdown, {
16006
+ options: itemTypeOptions,
16007
+ onChange: onChangeType,
16008
+ width: "95%"
16009
+ }), React.createElement(StyledDropdown, {
16010
+ options: itemRarityOptions,
16011
+ onChange: onChangeRarity,
16012
+ width: "95%"
16013
+ }), React.createElement(StyledDropdown, {
16014
+ options: orderByOptions,
16015
+ onChange: onChangeOrder,
16016
+ width: "100%"
16017
+ }))), React.createElement(ItemComponentScrollWrapper, {
16018
+ id: "MarketContainer",
16019
+ ref: itemsContainer
16020
+ }, items == null ? void 0 : items.map(function (_ref2, index) {
16021
+ var item = _ref2.item,
16022
+ price = _ref2.price,
16023
+ _id = _ref2._id,
16024
+ owner = _ref2.owner;
16025
+ return React.createElement(MarketplaceRows, {
16026
+ key: item.key + "_" + index,
16027
+ atlasIMG: atlasIMG,
16028
+ atlasJSON: atlasJSON,
16029
+ item: item,
16030
+ itemPrice: price,
16031
+ equipmentSet: equipmentSet,
16032
+ onMarketPlaceItemBuy: setBuyingItemId.bind(null, _id),
16033
+ disabled: owner === characterId
16034
+ });
16035
+ })));
15870
16036
  };
15871
- var TextContainer$1 = /*#__PURE__*/styled.p.withConfig({
15872
- displayName: "DynamicText__TextContainer",
15873
- componentId: "sc-1ggl9nd-0"
15874
- })(["font-size:0.7rem !important;color:white;text-shadow:1px 1px 0px #000000;letter-spacing:1.2px;word-break:normal;"]);
16037
+ var InputWrapper = /*#__PURE__*/styled.div.withConfig({
16038
+ displayName: "BuyPanel__InputWrapper",
16039
+ componentId: "sc-1si8t7i-0"
16040
+ })(["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;}"]);
16041
+ var OptionsWrapper = /*#__PURE__*/styled.div.withConfig({
16042
+ displayName: "BuyPanel__OptionsWrapper",
16043
+ componentId: "sc-1si8t7i-1"
16044
+ })(["width:100%;height:100px;"]);
16045
+ var FilterInputsWrapper = /*#__PURE__*/styled.div.withConfig({
16046
+ displayName: "BuyPanel__FilterInputsWrapper",
16047
+ componentId: "sc-1si8t7i-2"
16048
+ })(["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;}"]);
16049
+ var WrapperContainer = /*#__PURE__*/styled.div.withConfig({
16050
+ displayName: "BuyPanel__WrapperContainer",
16051
+ componentId: "sc-1si8t7i-3"
16052
+ })(["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;}"]);
16053
+ var ItemComponentScrollWrapper = /*#__PURE__*/styled.div.withConfig({
16054
+ displayName: "BuyPanel__ItemComponentScrollWrapper",
16055
+ componentId: "sc-1si8t7i-4"
16056
+ })(["overflow-y:scroll;height:390px;width:100%;margin-top:1rem;@media (max-width:950px){height:250px;}"]);
16057
+ var StyledDropdown = /*#__PURE__*/styled(Dropdown).withConfig({
16058
+ displayName: "BuyPanel__StyledDropdown",
16059
+ componentId: "sc-1si8t7i-5"
16060
+ })(["margin:3px !important;width:170px !important;"]);
15875
16061
 
15876
- var QuestionDialog = function QuestionDialog(_ref) {
15877
- var questions = _ref.questions,
15878
- answers = _ref.answers,
15879
- onClose = _ref.onClose;
15880
- var _useState = useState(questions[0]),
15881
- currentQuestion = _useState[0],
15882
- setCurrentQuestion = _useState[1];
15883
- var _useState2 = useState(false),
15884
- canShowAnswers = _useState2[0],
15885
- setCanShowAnswers = _useState2[1];
15886
- var onGetFirstAnswer = function onGetFirstAnswer() {
15887
- if (!currentQuestion.answerIds || currentQuestion.answerIds.length === 0) {
15888
- return null;
15889
- }
15890
- var firstAnswerId = currentQuestion.answerIds[0];
15891
- return answers.find(function (answer) {
15892
- return answer.id === firstAnswerId;
15893
- });
15894
- };
15895
- var _useState3 = useState(onGetFirstAnswer()),
15896
- currentAnswer = _useState3[0],
15897
- setCurrentAnswer = _useState3[1];
16062
+ var ManagmentPanel = function ManagmentPanel(_ref) {
16063
+ var items = _ref.items,
16064
+ atlasIMG = _ref.atlasIMG,
16065
+ atlasJSON = _ref.atlasJSON,
16066
+ onChangeNameInput = _ref.onChangeNameInput,
16067
+ equipmentSet = _ref.equipmentSet,
16068
+ availableGold = _ref.availableGold,
16069
+ onMarketPlaceItemRemove = _ref.onMarketPlaceItemRemove,
16070
+ selectedItemToSell = _ref.selectedItemToSell,
16071
+ onSelectedItemToSellRemove = _ref.onSelectedItemToSellRemove,
16072
+ onAddItemToMarketplace = _ref.onAddItemToMarketplace,
16073
+ enableHotkeys = _ref.enableHotkeys,
16074
+ disableHotkeys = _ref.disableHotkeys,
16075
+ onMoneyWithdraw = _ref.onMoneyWithdraw,
16076
+ currentPage = _ref.currentPage;
16077
+ var _useState = useState(''),
16078
+ name = _useState[0],
16079
+ setName = _useState[1];
16080
+ var _useState2 = useState(''),
16081
+ price = _useState2[0],
16082
+ setPrice = _useState2[1];
16083
+ var _useState3 = useState(false),
16084
+ isCreatingOffer = _useState3[0],
16085
+ setIsCreatingOffer = _useState3[1];
16086
+ var _useState4 = useState(null),
16087
+ removingItemId = _useState4[0],
16088
+ setRemovingItemId = _useState4[1];
16089
+ var itemsContainer = useRef(null);
15898
16090
  useEffect(function () {
15899
- setCurrentAnswer(onGetFirstAnswer());
15900
- }, [currentQuestion]);
15901
- var onGetAnswers = function onGetAnswers(answerIds) {
15902
- return answerIds.map(function (answerId) {
15903
- return answers.find(function (answer) {
15904
- return answer.id === answerId;
15905
- });
15906
- });
15907
- };
15908
- var onKeyPress = function onKeyPress(e) {
15909
- switch (e.key) {
15910
- case 'ArrowDown':
15911
- // select next answer, if any.
15912
- // if no next answer, select first answer
15913
- // const nextAnswer = onGetAnswers(currentQuestion.answerIds!).find(
15914
- // (answer) => answer?.id === currentAnswer!.id + 1
15915
- // );
15916
- var nextAnswerIndex = onGetAnswers(currentQuestion.answerIds).findIndex(function (answer) {
15917
- return (answer == null ? void 0 : answer.id) === currentAnswer.id + 1;
15918
- });
15919
- var nextAnswerID = currentQuestion.answerIds[nextAnswerIndex];
15920
- var nextAnswer = onGetAnswers(currentQuestion.answerIds).find(function (answer) {
15921
- return (answer == null ? void 0 : answer.id) === nextAnswerID;
15922
- });
15923
- setCurrentAnswer(nextAnswer || onGetFirstAnswer());
15924
- break;
15925
- case 'ArrowUp':
15926
- // select previous answer, if any.
15927
- // if no previous answer, select last answer
15928
- var previousAnswerIndex = onGetAnswers(currentQuestion.answerIds).findIndex(function (answer) {
15929
- return (answer == null ? void 0 : answer.id) === currentAnswer.id - 1;
15930
- });
15931
- var previousAnswerID = currentQuestion.answerIds && currentQuestion.answerIds[previousAnswerIndex];
15932
- var previousAnswer = onGetAnswers(currentQuestion.answerIds).find(function (answer) {
15933
- return (answer == null ? void 0 : answer.id) === previousAnswerID;
15934
- });
15935
- if (previousAnswer) {
15936
- setCurrentAnswer(previousAnswer);
15937
- } else {
15938
- setCurrentAnswer(onGetAnswers(currentQuestion.answerIds).pop());
15939
- }
15940
- break;
15941
- case 'Enter':
15942
- setCanShowAnswers(false);
15943
- if (!(currentAnswer != null && currentAnswer.nextQuestionId)) {
15944
- onClose();
15945
- return;
15946
- } else {
15947
- setCurrentQuestion(questions.find(function (question) {
15948
- return question.id === currentAnswer.nextQuestionId;
15949
- }));
15950
- }
15951
- break;
15952
- }
15953
- };
15954
- useEventListener('keydown', onKeyPress);
15955
- var onAnswerClick = function onAnswerClick(answer) {
15956
- setCanShowAnswers(false);
15957
- if (answer.nextQuestionId) {
15958
- // if there is a next question, go to it
15959
- setCurrentQuestion(questions.find(function (question) {
15960
- return question.id === answer.nextQuestionId;
15961
- }));
15962
- } else {
15963
- // else, finish dialog!
15964
- onClose();
15965
- }
15966
- };
15967
- var onRenderCurrentAnswers = function onRenderCurrentAnswers() {
15968
- var answerIds = currentQuestion.answerIds;
15969
- if (!answerIds) {
15970
- return null;
16091
+ var _itemsContainer$curre;
16092
+ (_itemsContainer$curre = itemsContainer.current) == null ? void 0 : _itemsContainer$curre.scrollTo(0, 0);
16093
+ }, [currentPage]);
16094
+ return React.createElement(React.Fragment, null, isCreatingOffer && React.createElement(ConfirmModal, {
16095
+ onClose: setIsCreatingOffer.bind(null, false),
16096
+ onConfirm: function onConfirm() {
16097
+ if (selectedItemToSell && price && Number(price)) {
16098
+ onAddItemToMarketplace(selectedItemToSell, Number(price));
16099
+ setPrice('');
16100
+ onSelectedItemToSellRemove(selectedItemToSell);
16101
+ setIsCreatingOffer(false);
16102
+ enableHotkeys == null ? void 0 : enableHotkeys();
16103
+ }
16104
+ },
16105
+ message: "Are you sure to create this offer?"
16106
+ }), removingItemId && React.createElement(ConfirmModal, {
16107
+ onClose: setRemovingItemId.bind(null, null),
16108
+ onConfirm: function onConfirm() {
16109
+ onMarketPlaceItemRemove == null ? void 0 : onMarketPlaceItemRemove(removingItemId);
16110
+ setRemovingItemId(null);
16111
+ enableHotkeys == null ? void 0 : enableHotkeys();
16112
+ },
16113
+ message: "Are you sure to remove this item?"
16114
+ }), React.createElement(InputWrapper$1, null, React.createElement("p", null, "Search By Name"), React.createElement(Input, {
16115
+ onChange: function onChange(e) {
16116
+ setName(e.target.value);
16117
+ onChangeNameInput(e.target.value);
16118
+ },
16119
+ value: name,
16120
+ placeholder: "Enter name...",
16121
+ onBlur: enableHotkeys,
16122
+ onFocus: disableHotkeys
16123
+ })), React.createElement(OptionsWrapper$1, null, React.createElement(InnerOptionsWrapper, null, React.createElement(SellDescription, null, "Click on item in inventory to sell it"), React.createElement(Flex$2, null, React.createElement(ItemSlot, {
16124
+ slotIndex: 0,
16125
+ atlasIMG: atlasIMG,
16126
+ atlasJSON: atlasJSON,
16127
+ onPointerDown: function onPointerDown(_, __, item) {
16128
+ return onSelectedItemToSellRemove(item);
16129
+ },
16130
+ item: selectedItemToSell
16131
+ }), React.createElement(PriceInputWrapper, null, React.createElement("p", null, "Enter price"), React.createElement(Flex$2, null, React.createElement(Input, {
16132
+ onChange: function onChange(e) {
16133
+ setPrice(e.target.value);
16134
+ },
16135
+ value: price,
16136
+ placeholder: "Enter price...",
16137
+ type: "number",
16138
+ disabled: !selectedItemToSell,
16139
+ onBlur: enableHotkeys,
16140
+ onFocus: disableHotkeys
16141
+ }), React.createElement(Button, {
16142
+ buttonType: ButtonTypes.RPGUIButton,
16143
+ disabled: !selectedItemToSell || !price,
16144
+ onPointerDown: function onPointerDown() {
16145
+ if (selectedItemToSell && price && Number(price)) {
16146
+ setIsCreatingOffer(true);
16147
+ }
15971
16148
  }
15972
- var answers = onGetAnswers(answerIds);
15973
- if (!answers) {
15974
- return null;
16149
+ }, "Create offer"))))), React.createElement(InnerOptionsWrapper, null, React.createElement(AvailableGold, {
16150
+ "$disabled": availableGold === 0
16151
+ }, React.createElement("p", null, "Available gold"), React.createElement("p", {
16152
+ className: "center"
16153
+ }, "$", availableGold), React.createElement(Button, {
16154
+ buttonType: ButtonTypes.RPGUIButton,
16155
+ disabled: availableGold === 0,
16156
+ onPointerDown: function onPointerDown() {
16157
+ return availableGold > 0 && onMoneyWithdraw();
15975
16158
  }
15976
- return answers.map(function (answer) {
15977
- var isSelected = (currentAnswer == null ? void 0 : currentAnswer.id) === (answer == null ? void 0 : answer.id);
15978
- var selectedColor = isSelected ? 'yellow' : 'white';
15979
- if (answer) {
15980
- return React.createElement(AnswerRow, {
15981
- key: "answer_" + answer.id
15982
- }, React.createElement(AnswerSelectedIcon, {
15983
- color: selectedColor
15984
- }, isSelected ? 'X' : null), React.createElement(Answer, {
15985
- key: answer.id,
15986
- onPointerDown: function onPointerDown() {
15987
- return onAnswerClick(answer);
15988
- },
15989
- color: selectedColor
15990
- }, answer.text));
15991
- }
15992
- return null;
16159
+ }, "Withdraw")))), React.createElement(ItemComponentScrollWrapper$1, {
16160
+ id: "MarketContainer",
16161
+ ref: itemsContainer
16162
+ }, items == null ? void 0 : items.map(function (_ref2, index) {
16163
+ var item = _ref2.item,
16164
+ price = _ref2.price,
16165
+ _id = _ref2._id;
16166
+ return React.createElement(MarketplaceRows, {
16167
+ key: item.key + "_" + index,
16168
+ atlasIMG: atlasIMG,
16169
+ atlasJSON: atlasJSON,
16170
+ item: item,
16171
+ itemPrice: price,
16172
+ equipmentSet: equipmentSet,
16173
+ onMarketPlaceItemRemove: setRemovingItemId.bind(null, _id)
15993
16174
  });
15994
- };
15995
- return React.createElement(Container$j, null, React.createElement(QuestionContainer, null, React.createElement(DynamicText, {
15996
- text: currentQuestion.text,
15997
- onStart: function onStart() {
15998
- return setCanShowAnswers(false);
16175
+ })));
16176
+ };
16177
+ var Flex$2 = /*#__PURE__*/styled.div.withConfig({
16178
+ displayName: "ManagmentPanel__Flex",
16179
+ componentId: "sc-1yyi6jn-0"
16180
+ })(["display:flex;gap:5px;align-items:center;"]);
16181
+ var InputWrapper$1 = /*#__PURE__*/styled.div.withConfig({
16182
+ displayName: "ManagmentPanel__InputWrapper",
16183
+ componentId: "sc-1yyi6jn-1"
16184
+ })(["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;}"]);
16185
+ var OptionsWrapper$1 = /*#__PURE__*/styled.div.withConfig({
16186
+ displayName: "ManagmentPanel__OptionsWrapper",
16187
+ componentId: "sc-1yyi6jn-2"
16188
+ })(["width:100%;height:100px;display:flex;align-items:center;justify-content:space-around;"]);
16189
+ var InnerOptionsWrapper = /*#__PURE__*/styled.div.withConfig({
16190
+ displayName: "ManagmentPanel__InnerOptionsWrapper",
16191
+ componentId: "sc-1yyi6jn-3"
16192
+ })(["display:flex;justify-content:space-between;flex-direction:column;height:100%;"]);
16193
+ var ItemComponentScrollWrapper$1 = /*#__PURE__*/styled.div.withConfig({
16194
+ displayName: "ManagmentPanel__ItemComponentScrollWrapper",
16195
+ componentId: "sc-1yyi6jn-4"
16196
+ })(["overflow-y:scroll;height:390px;width:100%;margin-top:1rem;@media (max-width:950px){height:250px;}"]);
16197
+ var PriceInputWrapper = /*#__PURE__*/styled.div.withConfig({
16198
+ displayName: "ManagmentPanel__PriceInputWrapper",
16199
+ componentId: "sc-1yyi6jn-5"
16200
+ })(["p{margin:0;}input{width:200px;}"]);
16201
+ var SellDescription = /*#__PURE__*/styled.p.withConfig({
16202
+ displayName: "ManagmentPanel__SellDescription",
16203
+ componentId: "sc-1yyi6jn-6"
16204
+ })(["margin:0;font-size:", " !important;"], uiFonts.size.xsmall);
16205
+ var AvailableGold = /*#__PURE__*/styled.div.withConfig({
16206
+ displayName: "ManagmentPanel__AvailableGold",
16207
+ componentId: "sc-1yyi6jn-7"
16208
+ })(["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) {
16209
+ return props.$disabled ? uiColors.lightGray : 'white';
16210
+ }, uiFonts.size.large, function (props) {
16211
+ return props.$disabled ? uiColors.lightGray : uiColors.lightGreen;
16212
+ });
16213
+
16214
+ var Marketplace = function Marketplace(props) {
16215
+ var onClose = props.onClose,
16216
+ scale = props.scale,
16217
+ onYourPanelToggle = props.onYourPanelToggle;
16218
+ var _useState = useState(false),
16219
+ isYourPanel = _useState[0],
16220
+ setIsYourPanel = _useState[1];
16221
+ return React.createElement(DraggableContainer, {
16222
+ type: RPGUIContainerTypes.Framed,
16223
+ onCloseButton: function onCloseButton() {
16224
+ if (onClose) onClose();
15999
16225
  },
16000
- onFinish: function onFinish() {
16001
- return setCanShowAnswers(true);
16226
+ width: "800px",
16227
+ cancelDrag: "#MarketContainer, .rpgui-dropdown-imp, input, .empty-slot, button",
16228
+ scale: scale
16229
+ }, isYourPanel && React.createElement(React.Fragment, null, React.createElement(ManagmentPanel, Object.assign({}, props)), React.createElement(PagerContainer$1, null, React.createElement(Button, {
16230
+ buttonType: ButtonTypes.RPGUIButton,
16231
+ onPointerDown: function onPointerDown() {
16232
+ onYourPanelToggle(false);
16233
+ setIsYourPanel(false);
16234
+ }
16235
+ }, "Go to marketplace"), React.createElement(Pager, Object.assign({}, props)))), !isYourPanel && React.createElement(React.Fragment, null, React.createElement(BuyPanel, Object.assign({}, props)), React.createElement(PagerContainer$1, null, React.createElement(Button, {
16236
+ buttonType: ButtonTypes.RPGUIButton,
16237
+ onPointerDown: function onPointerDown() {
16238
+ onYourPanelToggle(true);
16239
+ setIsYourPanel(true);
16002
16240
  }
16003
- })), canShowAnswers && React.createElement(AnswersContainer, null, onRenderCurrentAnswers()));
16241
+ }, "Go to your panel"), React.createElement(Pager, Object.assign({}, props)))));
16004
16242
  };
16005
- var Container$j = /*#__PURE__*/styled.div.withConfig({
16006
- displayName: "QuestionDialog__Container",
16007
- componentId: "sc-bxc5u0-0"
16008
- })(["display:flex;word-break:break-all;box-sizing:border-box;justify-content:flex-start;align-items:flex-start;flex-wrap:wrap;"]);
16009
- var QuestionContainer = /*#__PURE__*/styled.div.withConfig({
16010
- displayName: "QuestionDialog__QuestionContainer",
16011
- componentId: "sc-bxc5u0-1"
16012
- })(["flex:100%;width:100%;"]);
16013
- var AnswersContainer = /*#__PURE__*/styled.div.withConfig({
16014
- displayName: "QuestionDialog__AnswersContainer",
16015
- componentId: "sc-bxc5u0-2"
16016
- })(["flex:100%;"]);
16017
- var Answer = /*#__PURE__*/styled.p.withConfig({
16018
- displayName: "QuestionDialog__Answer",
16019
- componentId: "sc-bxc5u0-3"
16020
- })(["flex:auto;color:", " !important;font-size:0.65rem !important;background:inherit;border:none;"], function (props) {
16021
- return props.color;
16022
- });
16023
- var AnswerSelectedIcon = /*#__PURE__*/styled.span.withConfig({
16024
- displayName: "QuestionDialog__AnswerSelectedIcon",
16025
- componentId: "sc-bxc5u0-4"
16026
- })(["flex:5% 0 0;color:", " !important;"], function (props) {
16027
- return props.color;
16028
- });
16029
- var AnswerRow = /*#__PURE__*/styled.div.withConfig({
16030
- displayName: "QuestionDialog__AnswerRow",
16031
- componentId: "sc-bxc5u0-5"
16032
- })(["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;}"]);
16243
+ var PagerContainer$1 = /*#__PURE__*/styled.div.withConfig({
16244
+ displayName: "Marketplace__PagerContainer",
16245
+ componentId: "sc-h904b1-0"
16246
+ })(["display:flex;justify-content:space-between;align-items:center;width:calc(100% - 30px);"]);
16033
16247
 
16034
16248
  var ProgressBar = function ProgressBar(_ref) {
16035
16249
  var max = _ref.max,
@@ -16051,7 +16265,7 @@ var ProgressBar = function ProgressBar(_ref) {
16051
16265
  }
16052
16266
  return value * 100 / max;
16053
16267
  };
16054
- return React.createElement(Container$k, {
16268
+ return React.createElement(Container$m, {
16055
16269
  className: "rpgui-progress",
16056
16270
  "data-value": calculatePercentageValue(max, value) / 100,
16057
16271
  "data-rpguitype": "progress",
@@ -16081,7 +16295,7 @@ var TextOverlay$1 = /*#__PURE__*/styled.div.withConfig({
16081
16295
  displayName: "ProgressBar__TextOverlay",
16082
16296
  componentId: "sc-qa6fzh-1"
16083
16297
  })(["width:100%;position:relative;"]);
16084
- var Container$k = /*#__PURE__*/styled.div.withConfig({
16298
+ var Container$m = /*#__PURE__*/styled.div.withConfig({
16085
16299
  displayName: "ProgressBar__Container",
16086
16300
  componentId: "sc-qa6fzh-2"
16087
16301
  })(["display:flex;flex-direction:column;min-width:", "px;width:", "%;justify-content:start;align-items:flex-start;", " @media (max-width:950px){transform:scale(", ");}"], function (props) {
@@ -16094,7 +16308,7 @@ var Container$k = /*#__PURE__*/styled.div.withConfig({
16094
16308
  return props.mobileScale;
16095
16309
  });
16096
16310
 
16097
- var img$7 = 'data:image/png;base64,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';
16311
+ var img$8 = 'data:image/png;base64,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';
16098
16312
 
16099
16313
  var QuestInfo = function QuestInfo(_ref) {
16100
16314
  var quests = _ref.quests,
@@ -16138,7 +16352,7 @@ var QuestInfo = function QuestInfo(_ref) {
16138
16352
  }), React.createElement(QuestContainer, null, React.createElement(TitleContainer$1, {
16139
16353
  className: "drag-handler"
16140
16354
  }, React.createElement(Title$4, null, React.createElement(Thumbnail, {
16141
- src: quests[currentIndex].thumbnail || img$7
16355
+ src: quests[currentIndex].thumbnail || img$8
16142
16356
  }), quests[currentIndex].title), React.createElement(QuestSplitDiv, null, React.createElement("hr", {
16143
16357
  className: "golden"
16144
16358
  }))), React.createElement(Content, null, React.createElement("p", null, quests[currentIndex].description)), React.createElement(QuestColumn, {
@@ -16157,7 +16371,7 @@ var QuestInfo = function QuestInfo(_ref) {
16157
16371
  })))) : React.createElement(QuestsContainer, null, React.createElement(QuestContainer, null, React.createElement(TitleContainer$1, {
16158
16372
  className: "drag-handler"
16159
16373
  }, React.createElement(Title$4, null, React.createElement(Thumbnail, {
16160
- src: quests[0].thumbnail || img$7
16374
+ src: quests[0].thumbnail || img$8
16161
16375
  }), quests[0].title), React.createElement(QuestSplitDiv, null, React.createElement("hr", {
16162
16376
  className: "golden"
16163
16377
  }))), React.createElement(Content, null, React.createElement("p", null, quests[0].description)), React.createElement(QuestColumn, {
@@ -16422,7 +16636,7 @@ var SimpleProgressBar = function SimpleProgressBar(_ref) {
16422
16636
  bgColor = _ref$bgColor === void 0 ? 'red' : _ref$bgColor,
16423
16637
  _ref$margin = _ref.margin,
16424
16638
  margin = _ref$margin === void 0 ? 20 : _ref$margin;
16425
- return React.createElement(Container$l, {
16639
+ return React.createElement(Container$n, {
16426
16640
  className: "simple-progress-bar"
16427
16641
  }, React.createElement(ProgressBarContainer, {
16428
16642
  margin: margin
@@ -16431,7 +16645,7 @@ var SimpleProgressBar = function SimpleProgressBar(_ref) {
16431
16645
  bgColor: bgColor
16432
16646
  }))));
16433
16647
  };
16434
- var Container$l = /*#__PURE__*/styled.div.withConfig({
16648
+ var Container$n = /*#__PURE__*/styled.div.withConfig({
16435
16649
  displayName: "SimpleProgressBar__Container",
16436
16650
  componentId: "sc-mbeil3-0"
16437
16651
  })(["display:flex;justify-content:center;align-items:center;width:100%;"]);
@@ -16469,16 +16683,8 @@ var SkillProgressBar = function SkillProgressBar(_ref) {
16469
16683
  if (!skillPointsToNextLevel) {
16470
16684
  skillPointsToNextLevel = getSPForLevel(level + 1);
16471
16685
  }
16472
- var SPLevelActual = getSPForLevel(level + 1);
16473
- var SPLevelBefore = getSPForLevel(level);
16474
- var SPcalc = SPLevelActual - SPLevelBefore;
16475
- var ratio = function ratio() {
16476
- if (level === 1) {
16477
- return skillPoints / SPLevelActual * 100;
16478
- }
16479
- return (skillPoints - SPLevelBefore) / SPcalc * 100;
16480
- };
16481
- //const ratio = ((skillPoints - SPLevelBefore) / SPcalc) * 100;
16686
+ var nextLevelSPWillbe = skillPoints + skillPointsToNextLevel;
16687
+ var ratio = skillPoints / nextLevelSPWillbe * 100;
16482
16688
  var skillsBuffsCalc = function skillsBuffsCalc() {
16483
16689
  if (buffAndDebuff) {
16484
16690
  return 1 + buffAndDebuff / 100;
@@ -16493,9 +16699,9 @@ var SkillProgressBar = function SkillProgressBar(_ref) {
16493
16699
  grayScale: true,
16494
16700
  opacity: 0.5
16495
16701
  }))) : React.createElement(React.Fragment, null)), React.createElement(ProgressBarContainer$1, null, React.createElement(SimpleProgressBar, {
16496
- value: ratio(),
16702
+ value: ratio,
16497
16703
  bgColor: bgColor
16498
- }))), showSkillPoints && React.createElement(SkillDisplayContainer, null, React.createElement(SkillPointsDisplay, null, skillPoints, "/", getSPForLevel(level + 1))));
16704
+ }))), showSkillPoints && React.createElement(SkillDisplayContainer, null, React.createElement(SkillPointsDisplay, null, skillPoints, "/", nextLevelSPWillbe)));
16499
16705
  };
16500
16706
  var ProgressBarContainer$1 = /*#__PURE__*/styled.div.withConfig({
16501
16707
  displayName: "SkillProgressBar__ProgressBarContainer",
@@ -16707,7 +16913,7 @@ var SpellInfo = function SpellInfo(_ref) {
16707
16913
  castingType = spell.castingType,
16708
16914
  cooldown = spell.cooldown,
16709
16915
  maxDistanceGrid = spell.maxDistanceGrid;
16710
- return React.createElement(Container$m, null, React.createElement(Header$1, null, React.createElement("div", null, React.createElement(Title$6, null, name), React.createElement(Type$1, null, magicWords))), React.createElement(Statistic$1, null, React.createElement("div", {
16916
+ return React.createElement(Container$o, null, React.createElement(Header$1, null, React.createElement("div", null, React.createElement(Title$6, null, name), React.createElement(Type$1, null, magicWords))), React.createElement(Statistic$1, null, React.createElement("div", {
16711
16917
  className: "label"
16712
16918
  }, "Casting Type:"), React.createElement("div", {
16713
16919
  className: "value"
@@ -16733,7 +16939,7 @@ var SpellInfo = function SpellInfo(_ref) {
16733
16939
  className: "value"
16734
16940
  }, requiredItem))), React.createElement(Description$1, null, description));
16735
16941
  };
16736
- var Container$m = /*#__PURE__*/styled.div.withConfig({
16942
+ var Container$o = /*#__PURE__*/styled.div.withConfig({
16737
16943
  displayName: "SpellInfo__Container",
16738
16944
  componentId: "sc-4hbw3q-0"
16739
16945
  })(["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);
@@ -16787,7 +16993,7 @@ var MobileSpellTooltip = function MobileSpellTooltip(_ref) {
16787
16993
  var _ref$current;
16788
16994
  (_ref$current = ref.current) == null ? void 0 : _ref$current.classList.add('fadeOut');
16789
16995
  };
16790
- return React.createElement(ModalPortal, null, React.createElement(Container$n, {
16996
+ return React.createElement(ModalPortal, null, React.createElement(Container$p, {
16791
16997
  ref: ref,
16792
16998
  onTouchEnd: function onTouchEnd() {
16793
16999
  handleFadeOut();
@@ -16812,7 +17018,7 @@ var MobileSpellTooltip = function MobileSpellTooltip(_ref) {
16812
17018
  }, option.text);
16813
17019
  }))));
16814
17020
  };
16815
- var Container$n = /*#__PURE__*/styled.div.withConfig({
17021
+ var Container$p = /*#__PURE__*/styled.div.withConfig({
16816
17022
  displayName: "MobileSpellTooltip__Container",
16817
17023
  componentId: "sc-6p7uvr-0"
16818
17024
  })(["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;}"]);
@@ -16853,13 +17059,13 @@ var MagicTooltip = function MagicTooltip(_ref) {
16853
17059
  }
16854
17060
  return;
16855
17061
  }, []);
16856
- return React.createElement(ModalPortal, null, React.createElement(Container$o, {
17062
+ return React.createElement(ModalPortal, null, React.createElement(Container$q, {
16857
17063
  ref: ref
16858
17064
  }, React.createElement(SpellInfoDisplay, {
16859
17065
  spell: spell
16860
17066
  })));
16861
17067
  };
16862
- var Container$o = /*#__PURE__*/styled.div.withConfig({
17068
+ var Container$q = /*#__PURE__*/styled.div.withConfig({
16863
17069
  displayName: "SpellTooltip__Container",
16864
17070
  componentId: "sc-1go0gwg-0"
16865
17071
  })(["position:absolute;z-index:100;pointer-events:none;left:0;top:0;opacity:0;transition:opacity 0.08s;"]);
@@ -16911,7 +17117,7 @@ var Spell = function Spell(_ref) {
16911
17117
  var disabled = isSettingShortcut ? charMagicLevel < minMagicLevelRequired : manaCost > charMana || charMagicLevel < minMagicLevelRequired;
16912
17118
  return React.createElement(SpellInfoWrapper, {
16913
17119
  spell: spell
16914
- }, React.createElement(Container$p, {
17120
+ }, React.createElement(Container$r, {
16915
17121
  onPointerUp: onPointerUp == null ? void 0 : onPointerUp.bind(null, spellKey),
16916
17122
  isSettingShortcut: isSettingShortcut && !disabled,
16917
17123
  className: "spell"
@@ -16925,7 +17131,7 @@ var Spell = function Spell(_ref) {
16925
17131
  className: "mana"
16926
17132
  }, manaCost))));
16927
17133
  };
16928
- var Container$p = /*#__PURE__*/styled.button.withConfig({
17134
+ var Container$r = /*#__PURE__*/styled.button.withConfig({
16929
17135
  displayName: "Spell__Container",
16930
17136
  componentId: "sc-j96fa2-0"
16931
17137
  })(["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) {
@@ -17002,7 +17208,7 @@ var Spellbook = function Spellbook(_ref) {
17002
17208
  height: "inherit",
17003
17209
  cancelDrag: "#spellbook-search, #shortcuts_list, .spell",
17004
17210
  scale: scale
17005
- }, React.createElement(Container$q, null, React.createElement(Title$8, null, "Learned Spells"), React.createElement(ShortcutsSetter, {
17211
+ }, React.createElement(Container$s, null, React.createElement(Title$8, null, "Learned Spells"), React.createElement(ShortcutsSetter, {
17006
17212
  setSettingShortcutIndex: setSettingShortcutIndex,
17007
17213
  settingShortcutIndex: settingShortcutIndex,
17008
17214
  shortcuts: shortcuts,
@@ -17036,7 +17242,7 @@ var Title$8 = /*#__PURE__*/styled.h1.withConfig({
17036
17242
  displayName: "Spellbook__Title",
17037
17243
  componentId: "sc-r02nfq-0"
17038
17244
  })(["font-size:", " !important;margin-bottom:0 !important;"], uiFonts.size.large);
17039
- var Container$q = /*#__PURE__*/styled.div.withConfig({
17245
+ var Container$s = /*#__PURE__*/styled.div.withConfig({
17040
17246
  displayName: "Spellbook__Container",
17041
17247
  componentId: "sc-r02nfq-1"
17042
17248
  })(["width:100%;height:100%;color:white;display:flex;flex-direction:column;"]);
@@ -17050,16 +17256,16 @@ var TextArea = function TextArea(_ref) {
17050
17256
  return React.createElement("textarea", Object.assign({}, props));
17051
17257
  };
17052
17258
 
17053
- 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';
17259
+ var img$9 = 'data:image/gif;base64,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';
17054
17260
 
17055
- var img$9 = 'data:image/gif;base64,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';
17261
+ var img$a = 'data:image/gif;base64,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';
17056
17262
 
17057
- var img$a = 'data:image/gif;base64,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';
17263
+ var img$b = 'data:image/gif;base64,R0lGODlhTgBNAPIAAAAAAAgIMhkZS2tsbbcIL4zZ98jh6////yH/C05FVFNDQVBFMi4wAwEAAAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAAIf4gQ3JlYXRlZCB3aXRoIGV6Z2lmLmNvbSBHSUYgbWFrZXIALAAAAABOAE0AAAP/CLrc/jDKSau9OOvNu/9gKI5kaZ5oqq4j4b6wy4qwYN+4Dc+biwfAoBCIk/EoL9twySQKXkcI4dasMm+EKMNnDRiA327wmY1OBeLA4ZAW6o7TtpotH5dX8XY4XA888QIDgoOEhYaHiIR/KFOJjo+QiyWNkJWWinc0gZecjgaDkiB5fV4Gpqd8XQYHfKEeo2pppmu0tKaybpkdlJeztb9rpp2uGryVvsDJrJ+XxBiwqsrStnLOF9BVq9PbqVbWFcae27SGtcyRutdoYtrbVtRi3xLYTe3Kbaxt8lLr0dN1+eKlQ9LPij1gpLo12feA3pCDv0hVGzivYLZ/EvVR5McO/2PGNAy3WGQCsdZHjc9GLim5JmGfkAscCmFJp47CLjAVyAxCk1SBlxsbjuzWs06BAz8npnwYEIw0PQaOrilwKxuRoA6wEX1qFGnHLzkB7OTJVU5SdleXdrxnE2iGsU7Z6qkTVqfKlWVPLsQqVE9evUPqir2L9y/gtMUIMzWsV7BdOTRbHvbDNwJcsu6GBFO6S/HKyMCqvrPzyjNJ0MtIORYpEdkv0XQrEwRDWxaqUxlXZ+0neTLnEHl6+xY4ScCe4cRNXG5dRfds5KtuOgdnWjjaJdMtjLWuWjZwJcideKexPPZ4EmdMx3ujpUES9VfInFfhgwpOLPN51MjBf0f7HhYxBPjfgAQWaOCBCCao4IIMNuggBwkAACH/C0ltYWdlTWFnaWNrDWdhbW1hPTAuNDU0NTUAIfkEARQAAAAsAAAAAE4ATQAAA/8Iutz+MMpJq7046827/2AojmRpnmiqriPhvrDLirBg37gNz5uLB8CgEIiT8Sgv23DJJApeRwjhxjQIrU3nM8rwZb/gJ4E7FYCBh8N5qDtO12g1XLhlvef4ZT01Hfj/gIEGgIOBhod7Jn2HjI2OggOJLQKPlZaMkiCLl5yPhZFjNGZ5pFcBBgdWVpkcd3FwBrGysXNYRKEfm35plbFpv7+xnX+sGLqXvsDKacKOn8S4PaOwqMvWzLZrxRauZ9XX4Klz20iUyOHoqZzkEt1f3+hLwNlf7FLTYPDgX8Fw9g7usuhbBkectmjc8AmMN8dgGIQVAlYJR4pek39dFDYZCKz/1DiI7TRO3OfxoDGRQzj+KukPZASJKSmyPINRQUB6KuXgsfjwpDeSO2Hd8pky5jVSBfLUBOBKlTgsOfMUOJDU29ALN41aozY1TQFaS5yucnnv51E8U6vmu5owbFigcNS2zADzCtw1PKsEWGoTpVaCtfDwZerX7tmZF8m+LGx4K2Imgwnjlfk4SGTJk+8ivozZrGaPnDt71swMTBq20nbmtAaWn5zQmLPlPbUam1LFWBlXUdn6o6ggp6nN6i0YN9HglYHMRh2ibvLEJ5o+nw07pNVTVlGpYmM8l27keCF318QYfKnquVFCDWwZvTHnoI1wIaxk5o3xfHzovigGv50yI/XVc59/UdSQw4E7zNdDDAwq6OCDEEYo4YQUVmjhhRhmyEECACH/C0ltYWdlTWFnaWNrDWdhbW1hPTAuNDU0NTUAIfkEARQAAAAsAAAAAE4ATQAAA/8Iutz+MMpJq7046827/2AojmRpnmiqriPhvrDLirBg37gNz5uLB8CgEIiT8Sgv23DJJApeRwjh1qwyb4Qow2ftVp/Z6FTgDRzKQ91xim5fwyu2ey58xgWDvH7P7/v/egZ2KFOAhoeIgyWFiI2OAwZ5ijR4j5aGkZJwIHIBBkCfdGWfBgYHpZ6THp1mZ6JzoUSbHYx6BweOpbq6j5l6qhq1eZm+f6W3yMill7+zGaxox8nTt6hWsUHAGNBd0tTfp9he2hbCiKbg6dWW5Ehk0erxp23tEtxV6PJLyeJW9VLvvORTZ0UZmn8P7jEZ+A3NvDIIHSgcwpCam4ddIm4J2I3/IKyDzuxxxOfx1biQESYKqZjMJESUAJeIY4nM5cttIxeWtClTFs6eK9PR6ZcRZsKcM4V+HOXzghxSplCRUuqmQLSm5ZBSpIqmwAGrTaCG06iAW1Jw0Qx4vVXAWlisFVSC4lrGK9hucOOO7EfTVZu7N5/llElX4FWyC+TORduG6BejMQUW5pkNcuSOjCnXsXz52k7NiBso9vR5KKgAoUUP1ln6oqvUGxvrG1Kty628wVYv7PvN7dtUnN258ZbO90lKQfx2o2nc8eYWuq/t0iUKtkjNC/0FF2w4iHOKj1OMvnpM6nMVim83fjNDrvqrabZzUoK9jnVaZlfCR21EC4AxMdEdpIZ/W/gQ4BdgyBcHgAcWoeAaSeQg4Q4EBhPDhRVmqOGGHHbo4YcghijiiCQ+kAAAIf8LSW1hZ2VNYWdpY2sNZ2FtbWE9MC40NTQ1NQAh+QQBFAAAACwAAAAATgBNAAAD/wi63P4wykmrvTjrzbv/YCiOZGmeaKquI+G+sMuKsGDfuA3Pm4sHwKAQiJPxKC/bcMkkCl5HCOHWrDJvhCjDZ+1Wn9noVOANHA5loe44TZvR7uBz1o7b1eHUdMDv+/+AgYJ+cyh7g4iJiYUlh4qPkH2MNAIDBn6XkZqBkx91d6BCcER5nmRBZ6GqAZ0cjnxnm7KCrRmvsga5urmzkqUanwEGQsNVuWfIyLmhtRfBacfJ0mfLds0Vt4rR09wHvJrXE89dBt3mynHhEeNW5efvxWnqD+xN7u+jqOjyv9inXvfOWdnnZZ6DeksCckvjjZ+tf+TexWlYxuAChEMUSrsTr/+LRQUYg2hMtqpgPwkhgYxEVtLjyXUQ7QlsaeUjgJQrU9H88lJKTCY5OVrrSe9nPmHmhKYjevBnwqR2CjAkhQEnVDcFDkh1Y9NqN2gGsp4pUM3lw4hf42TdWpFpUYBX07BtC8xpxrhlOpqsmxcvuaU97BLzu9PmFsGD067qOMzwYbiEVzl+DFmxKp2TLyJOHJkhnMyaoeFbQs0hiJQqc3IrC1SOWwufdBpTTU2vWUpAZLdbyZouCdQZd+m6Axrl5p1Dios7Duqo6xUpnYNSDpt5SerOlCBXg70q8KWvT4yxXnONlgZJyCcHE57O+ONF2mupkaP+jvM9YujHz7+///8NAAYo4IAEFmjggRwkAAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAABOAE0AAAP/CLrc/jDKSau9OOvNu/9gKI5kaZ5oqq4j4b6wy4qwYN+4Dc+biwfAoBCIk/EoL9twySQKXkcI4dasMm+EKMNnDRiA327wmY1OBeLA4ZAW6o7TtpotH5dX8XY4XA888QIDgoOEhYaHiIR/KFOJjo+QiyWNkJWWinc0gZecjgaDkiB5faRDBgd8oR6jaqWlfH6ZHZSdtZWqGrS2Bry9vLagshmsdbxrx8e8rrgYxGnGyNFryn3MFrqV0NLbqJ+c1khocqfc5dN14BLOVuTm5rBi6VLiz+7HS8jwVvIP60zt5qwka8PPgb8lALe1QUVQ2ISDptzVYZim4AKIQhJGI6Wv/4lFBRjBBHRV0WGEkF5GkuzyEUBIjchWlmxGrwrMezJZmpyHMCI3jtV29quZEtZNOsX0EBFqkKgXnwr7FKj3peXLclIPTBUTxqpThFifGShwrAA1ncO+Zgwrh+zWmWm5sm3zFi5NuT+TymkJUi1UaXob9vAb5GhOj0xPEi489/DSWYtTNs7JtwHKo0hJIq28JbJIlTI5d9ZjDx/FeIkr5NnTRJu9boJDjFrTxTW3s3ZFiaPN9Sbu3LIFsBbr6zdwTY57Ik6Bss+pjqIvhOStdEn0uwIzl7qe1vN27rmaozOixSWV0G/Kb/Hh3TqZ1DzYK2GJBX75Gjny71AfPkYM/hIABijggAQWaOCBCCao4IIPJAAAIf8LSW1hZ2VNYWdpY2sNZ2FtbWE9MC40NTQ1NQAh+QQBFAAAACwAAAAATgBNAAAD/wi63P4wykmrvTjrzbv/YCiOZGmeaKquI+G+sMuKsGDfuA3Pm4sHwKAQiJPxKC/bcMkkCl5HCOHGNAitTeczyvBlv+AngTsVgIGHw3moO07XaDVcuGW95/hlPTUd+P+AgQaAg4GGh3smfYeMjY6CA4ktAo+VloySIIuXnI+FkWM0ZnmkVwEGB1ZWmRx3caWkWEShH5t+aZcGuru6nYGsGLadumnFxb2Vn3/AFq5zxMbRabqkzBXOZ9DS26mya9YTwp7c5Med4BHYX6jl7d5htMGja+ztckLG71/oDupN9eW+HIPDr4G/Ku3gpCIYr9m8dQnnLDxTcMHBJQClxWIoj/9eQFjfGoZ7mCVjNJAhO4IxaQxlygvq3rEs5pKiSAkXg8y89wwOlooAYg7ZuREPUFeqFmIhmqeAz1kqTV0h1/SA05KnFh4liZCbTwMFihWghjXAVoxDqeIJe5Vj1JJq57RdafbmyGxxn84BqiCnzrzZjNrFybXrtppZ+PYtjBEw4rqtGKd1XFOxRclTKYO0fNlnRFhpoHbwm/kjvolZQkP2cMebvlM7t5F9WQszxtjTXicenMGV6pUzZ+/l3XvU72y8dlWBV4L0Yz3EI+t8fmo3H9vVs6/LqopN9NpnjgeGPsOv+GrfRTFe2jNImyheqNdNr4iKyxv0USTB3kSHES4mUpShRBj45QfffjnksAOAPcTgIIMQRijhhBRWaOGFGGao4YYcJAAAIf8LSW1hZ2VNYWdpY2sNZ2FtbWE9MC40NTQ1NQAh+QQBFAAAACwAAAAATgBNAAAD/wi63P4wykmrvTjrzbv/YCiOZGmeaKquI+G+sMuKsGDfuA3Pm4sHwKAQiJPxKC/bcMkkCl5HCOHWrDJvhCjDZ+1Wn9noVOANHMpD3XGKbl/DK7Z7LnzGBYO8fs/v+/96BnYoU4CGh4iDJYWIjY4DBnmKNHiPloaRknAgcgEGQJ90ZZ8GBgelnpMenWZno6WwqGihRJsdjHoHB4ilur6+pY2ZeqoauHmZw329v826wZfFGKxezM7Xp7RL2rWrZLPY4cBt0hbHh6bi6sqH5Ujf1eq+S7/cX7bm8F3p6lbjZe4iUKvCDxuaU2gCStFHsF8bhF4UPhjIpKAzOvbeZKC4Tf+cKHL4JHAcYrHZx4QhBTKs6PEkwJQLt5Fs6bKLxC0rOxqck7FitwsDuZWcx3POzQVBZ+50U2DWz3ygPJlCRSrcnAIHmlZ7WiGpkKG6ZhnAqquArK9Ssx1V4DUIWFdtsGrdx/XdKKtMnQZYy5ahvbdFQRrLqfOam54y+fa9u7Smxo2EC190/Bgy48aU98KcMFIpZseKcYKjiTFqaNGjSQN51iWsZm+H3147W8X1adRtrIWjTRDU7Qadm+iuh/gepSBwX8XiHdXmZsuZRf2OGZ2klekqt7rVW9lE8MNpqdZ5ziky8uTa05APEdw19yDYpympDj/+xraeuIPRgpRKTSwv/AHng3nXgbEeDwPOV6AOB/JXQw4Q7hCgMTFUOOGFGGao4YYcdujhhyCGKOIDCQAAIf8LSW1hZ2VNYWdpY2sNZ2FtbWE9MC40NTQ1NQAh+QQBFAAAACwAAAAATgBNAAAD/wi63P4wykmrvTjrzbv/YCiOZGmeaKquI+G+sMuKsGDfuA3Pm4sHwKAQiJPxKC/bcMkkCl5HCOHWrDJvhCjDZ+1Wn9noVOANHA5loe44TZvR7uBz1o7b1eHUdMDv+/+AgYJ+cyh7g4iJiYUlh4qPkH2MNAIDBn6XkZqBkx91dwahoqFucER5nmRBZ16hZ6+vpHadHI58Z4iusLtnoZu0GbaKurzFB76RwBefAQZCzs/G0rFuyhbMVgbT28dp1kiVj9rcB4CwmYrfEthN49tW1F7qUqqt72XdZfMO7EzuxnHyddnXoN+Sf7xA6UN1rV4VhLvuVGMIrgxEWBInYjAYTf9aRo3LHLab9tEbxXUi/Xm0Aw1kQ3sAWc46GYFjkIus7BSYuTHlwZVuChzY6bICO1NAcCLNZkDomQKyBtKkB7OYzqH4TvW0CDQN0aIVqyaM09JkMJ8/Y6YpK29qTbRDlJaUqsFmR6tzmxDcAjcuybxL9vJd+xew1h59/RaWeTOA4IKJ73YF0gvsWbJKi0WtkvMxZFCZe7HlDMfzZ9DGNltGnHHUKLJy3G6lvNRw2xaqctpe2Cjybjwn7P4+HNz3ndrEDUVGfsd0XeMlnSOGPkt6LeHNjWgBMIa63jXbt/jwLgeMbDHdIxc5H557khzwd7QPFqP+/Pv48+vfz7+///8FAAbIXwIAOw==';
17058
17264
 
17059
17265
  var DayNightPeriod = function DayNightPeriod(_ref) {
17060
17266
  var _periodOfDaySrcFiles;
17061
17267
  var periodOfDay = _ref.periodOfDay;
17062
- var periodOfDaySrcFiles = (_periodOfDaySrcFiles = {}, _periodOfDaySrcFiles[PeriodOfDay.Morning] = img$9, _periodOfDaySrcFiles[PeriodOfDay.Afternoon] = img$8, _periodOfDaySrcFiles[PeriodOfDay.Night] = img$a, _periodOfDaySrcFiles);
17268
+ var periodOfDaySrcFiles = (_periodOfDaySrcFiles = {}, _periodOfDaySrcFiles[PeriodOfDay.Morning] = img$a, _periodOfDaySrcFiles[PeriodOfDay.Afternoon] = img$9, _periodOfDaySrcFiles[PeriodOfDay.Night] = img$b, _periodOfDaySrcFiles);
17063
17269
  return React.createElement(GifContainer, null, React.createElement("img", {
17064
17270
  src: periodOfDaySrcFiles[periodOfDay]
17065
17271
  }));
@@ -17069,7 +17275,7 @@ var GifContainer = /*#__PURE__*/styled.div.withConfig({
17069
17275
  componentId: "sc-10t97fw-0"
17070
17276
  })(["width:100%;img{width:67%;}"]);
17071
17277
 
17072
- 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';
17278
+ 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';
17073
17279
 
17074
17280
  var TimeWidget = function TimeWidget(_ref) {
17075
17281
  var onClose = _ref.onClose,
@@ -17087,7 +17293,7 @@ var TimeWidget = function TimeWidget(_ref) {
17087
17293
  var WidgetContainer = /*#__PURE__*/styled.div.withConfig({
17088
17294
  displayName: "TimeWidget__WidgetContainer",
17089
17295
  componentId: "sc-1ja236h-0"
17090
- })(["background-image:url(", ");background-size:10rem;background-repeat:no-repeat;width:10rem;position:absolute;height:100px;"], img$b);
17296
+ })(["background-image:url(", ");background-size:10rem;background-repeat:no-repeat;width:10rem;position:absolute;height:100px;"], img$c);
17091
17297
  var Time = /*#__PURE__*/styled.div.withConfig({
17092
17298
  displayName: "TimeWidget__Time",
17093
17299
  componentId: "sc-1ja236h-1"
@@ -17337,230 +17543,16 @@ var Truncate = function Truncate(_ref) {
17337
17543
  var _ref$maxLines = _ref.maxLines,
17338
17544
  maxLines = _ref$maxLines === void 0 ? 1 : _ref$maxLines,
17339
17545
  children = _ref.children;
17340
- return React.createElement(Container$r, {
17546
+ return React.createElement(Container$t, {
17341
17547
  maxLines: maxLines
17342
17548
  }, children);
17343
17549
  };
17344
- var Container$r = /*#__PURE__*/styled.div.withConfig({
17550
+ var Container$t = /*#__PURE__*/styled.div.withConfig({
17345
17551
  displayName: "Truncate__Container",
17346
17552
  componentId: "sc-6x00qb-0"
17347
17553
  })(["display:-webkit-box;max-width:100%;max-height:100%;-webkit-line-clamp:", ";-webkit-box-orient:vertical;overflow:hidden;"], function (props) {
17348
17554
  return props.maxLines;
17349
17555
  });
17350
17556
 
17351
- var IS_MOBILE_OR_TABLET = /*#__PURE__*/isMobileOrTablet();
17352
-
17353
- var chunkString = function chunkString(str, length) {
17354
- return str.match(new RegExp('.{1,' + length + '}', 'g'));
17355
- };
17356
-
17357
- var img$c = 'data:image/gif;base64,R0lGODlhEAAQAPIAAAAAABQYLiw1TUBJc2hvmQAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAAAQABAAAAM9CLrc/lCFGSKYJJP5AhlguDnBMIVgxXgmJapSSp3mKs/pKrT0IMCXUk+2Cgh2oSOnaDz+lswZpSOFUq2KBAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAAAQABAAAAIzhI+py90Bg4OjDrjCELxfFQhQx0mIJkaeaYRp5LJADMdnqXbyOJLYTdKBejjZoRaZJBMFACH/C0ltYWdlTWFnaWNrDWdhbW1hPTAuNDU0NTUAIfkEARQAAAAsAAAAABAAEAAAAjKEj6nL7Y+CDE6OO+QKQ/ifKYEgfR4VddPohQe7lmR0xidNTib65uacYP2AQWGuMlEUAAA7';
17358
-
17359
- var NPCDialogText = function NPCDialogText(_ref) {
17360
- var text = _ref.text,
17361
- onClose = _ref.onClose,
17362
- onEndStep = _ref.onEndStep,
17363
- onStartStep = _ref.onStartStep,
17364
- type = _ref.type;
17365
- var windowSize = useRef([window.innerWidth, window.innerHeight]);
17366
- function maxCharacters(width) {
17367
- // Set the font size to 16 pixels
17368
- var fontSize = 11.2;
17369
- // Calculate the number of characters that can fit in one line
17370
- var charactersPerLine = Math.floor(width / 2 / fontSize);
17371
- // Calculate the number of lines that can fit in the div
17372
- var linesPerDiv = Math.floor(180 / fontSize);
17373
- // Calculate the maximum number of characters that can fit in the div
17374
- var maxCharacters = charactersPerLine * linesPerDiv;
17375
- // Return the maximum number of characters
17376
- return Math.round(maxCharacters / 5);
17377
- }
17378
- var textChunks = chunkString(text, maxCharacters(windowSize.current[0]));
17379
- var _useState = useState(0),
17380
- chunkIndex = _useState[0],
17381
- setChunkIndex = _useState[1];
17382
- var onHandleSpacePress = function onHandleSpacePress(event) {
17383
- if (event.code === 'Space') {
17384
- goToNextStep();
17385
- }
17386
- };
17387
- var goToNextStep = function goToNextStep() {
17388
- var hasNextChunk = (textChunks == null ? void 0 : textChunks[chunkIndex + 1]) || false;
17389
- if (hasNextChunk) {
17390
- setChunkIndex(function (prev) {
17391
- return prev + 1;
17392
- });
17393
- } else {
17394
- // if there's no more text chunks, close the dialog
17395
- onClose();
17396
- }
17397
- };
17398
- useEffect(function () {
17399
- document.addEventListener('keydown', onHandleSpacePress);
17400
- return function () {
17401
- return document.removeEventListener('keydown', onHandleSpacePress);
17402
- };
17403
- }, [chunkIndex]);
17404
- var _useState2 = useState(false),
17405
- showGoNextIndicator = _useState2[0],
17406
- setShowGoNextIndicator = _useState2[1];
17407
- return React.createElement(Container$s, null, React.createElement(DynamicText, {
17408
- text: (textChunks == null ? void 0 : textChunks[chunkIndex]) || '',
17409
- onFinish: function onFinish() {
17410
- setShowGoNextIndicator(true);
17411
- onEndStep && onEndStep();
17412
- },
17413
- onStart: function onStart() {
17414
- setShowGoNextIndicator(false);
17415
- onStartStep && onStartStep();
17416
- }
17417
- }), showGoNextIndicator && React.createElement(PressSpaceIndicator$1, {
17418
- right: type === NPCDialogType.TextOnly ? '1rem' : '10.5rem',
17419
- src: IS_MOBILE_OR_TABLET ? img$c : img$6,
17420
- onPointerDown: function onPointerDown() {
17421
- goToNextStep();
17422
- }
17423
- }));
17424
- };
17425
- var Container$s = /*#__PURE__*/styled.div.withConfig({
17426
- displayName: "NPCDialogText__Container",
17427
- componentId: "sc-1cxkdh9-0"
17428
- })([""]);
17429
- var PressSpaceIndicator$1 = /*#__PURE__*/styled.img.withConfig({
17430
- displayName: "NPCDialogText__PressSpaceIndicator",
17431
- componentId: "sc-1cxkdh9-1"
17432
- })(["position:absolute;right:", ";bottom:1rem;height:20.7px;image-rendering:-webkit-optimize-contrast;"], function (_ref2) {
17433
- var right = _ref2.right;
17434
- return right;
17435
- });
17436
-
17437
- var NPCDialogType;
17438
- (function (NPCDialogType) {
17439
- NPCDialogType["TextOnly"] = "TextOnly";
17440
- NPCDialogType["TextAndThumbnail"] = "TextAndThumbnail";
17441
- })(NPCDialogType || (NPCDialogType = {}));
17442
- var NPCDialog = function NPCDialog(_ref) {
17443
- var text = _ref.text,
17444
- type = _ref.type,
17445
- _onClose = _ref.onClose,
17446
- imagePath = _ref.imagePath,
17447
- _ref$isQuestionDialog = _ref.isQuestionDialog,
17448
- isQuestionDialog = _ref$isQuestionDialog === void 0 ? false : _ref$isQuestionDialog,
17449
- questions = _ref.questions,
17450
- answers = _ref.answers;
17451
- return React.createElement(RPGUIContainer, {
17452
- type: RPGUIContainerTypes.FramedGold,
17453
- width: isQuestionDialog ? '600px' : '80%',
17454
- height: '180px'
17455
- }, isQuestionDialog && questions && answers ? React.createElement(React.Fragment, null, React.createElement(TextContainer$2, {
17456
- flex: type === NPCDialogType.TextAndThumbnail ? '70%' : '100%'
17457
- }, React.createElement(QuestionDialog, {
17458
- questions: questions,
17459
- answers: answers,
17460
- onClose: function onClose() {
17461
- if (_onClose) {
17462
- _onClose();
17463
- }
17464
- }
17465
- })), type === NPCDialogType.TextAndThumbnail && React.createElement(ThumbnailContainer$1, null, React.createElement(NPCThumbnail$1, {
17466
- src: imagePath || img$5
17467
- }))) : React.createElement(React.Fragment, null, React.createElement(Container$t, null, React.createElement(TextContainer$2, {
17468
- flex: type === NPCDialogType.TextAndThumbnail ? '70%' : '100%'
17469
- }, React.createElement(NPCDialogText, {
17470
- type: type,
17471
- text: text || 'No text provided.',
17472
- onClose: function onClose() {
17473
- if (_onClose) {
17474
- _onClose();
17475
- }
17476
- }
17477
- })), type === NPCDialogType.TextAndThumbnail && React.createElement(ThumbnailContainer$1, null, React.createElement(NPCThumbnail$1, {
17478
- src: imagePath || img$5
17479
- })))));
17480
- };
17481
- var Container$t = /*#__PURE__*/styled.div.withConfig({
17482
- displayName: "NPCDialog__Container",
17483
- componentId: "sc-1b4aw74-0"
17484
- })(["display:flex;width:100%;height:100%;box-sizing:border-box;justify-content:center;align-items:flex-start;position:relative;"]);
17485
- var TextContainer$2 = /*#__PURE__*/styled.div.withConfig({
17486
- displayName: "NPCDialog__TextContainer",
17487
- componentId: "sc-1b4aw74-1"
17488
- })(["flex:", " 0 0;width:355px;"], function (_ref2) {
17489
- var flex = _ref2.flex;
17490
- return flex;
17491
- });
17492
- var ThumbnailContainer$1 = /*#__PURE__*/styled.div.withConfig({
17493
- displayName: "NPCDialog__ThumbnailContainer",
17494
- componentId: "sc-1b4aw74-2"
17495
- })(["flex:30% 0 0;display:flex;justify-content:flex-end;"]);
17496
- var NPCThumbnail$1 = /*#__PURE__*/styled.img.withConfig({
17497
- displayName: "NPCDialog__NPCThumbnail",
17498
- componentId: "sc-1b4aw74-3"
17499
- })(["image-rendering:pixelated;height:128px;width:128px;"]);
17500
-
17501
- var HistoryDialog = function HistoryDialog(_ref) {
17502
- var backgroundImgPath = _ref.backgroundImgPath,
17503
- fullCoverBackground = _ref.fullCoverBackground,
17504
- questions = _ref.questions,
17505
- answers = _ref.answers,
17506
- text = _ref.text,
17507
- imagePath = _ref.imagePath,
17508
- textAndTypeArray = _ref.textAndTypeArray,
17509
- onClose = _ref.onClose;
17510
- var _useState = useState(0),
17511
- img = _useState[0],
17512
- setImage = _useState[1];
17513
- var onHandleSpacePress = function onHandleSpacePress(event) {
17514
- if (event.code === 'Space') {
17515
- if (img < (backgroundImgPath == null ? void 0 : backgroundImgPath.length) - 1) {
17516
- setImage(function (prev) {
17517
- return prev + 1;
17518
- });
17519
- } else {
17520
- // if there's no more text chunks, close the dialog
17521
- onClose();
17522
- }
17523
- }
17524
- };
17525
- useEffect(function () {
17526
- document.addEventListener('keydown', onHandleSpacePress);
17527
- return function () {
17528
- return document.removeEventListener('keydown', onHandleSpacePress);
17529
- };
17530
- }, [backgroundImgPath]);
17531
- return React.createElement(BackgroundContainer, {
17532
- imgPath: backgroundImgPath[img],
17533
- fullImg: fullCoverBackground
17534
- }, React.createElement(DialogContainer, null, textAndTypeArray ? React.createElement(NPCMultiDialog, {
17535
- textAndTypeArray: textAndTypeArray,
17536
- onClose: onClose
17537
- }) : questions && answers ? React.createElement(QuestionDialog, {
17538
- questions: questions,
17539
- answers: answers,
17540
- onClose: onClose
17541
- }) : text && imagePath ? React.createElement(NPCDialog, {
17542
- text: text,
17543
- imagePath: imagePath,
17544
- onClose: onClose,
17545
- type: NPCDialogType.TextAndThumbnail
17546
- }) : React.createElement(NPCDialog, {
17547
- text: text,
17548
- onClose: onClose,
17549
- type: NPCDialogType.TextOnly
17550
- })));
17551
- };
17552
- var BackgroundContainer = /*#__PURE__*/styled.div.withConfig({
17553
- displayName: "HistoryDialog__BackgroundContainer",
17554
- componentId: "sc-u6oe75-0"
17555
- })(["width:100%;height:100%;background-image:url(", ");background-size:", ";display:flex;justify-content:space-evenly;align-items:center;"], function (props) {
17556
- return props.imgPath;
17557
- }, function (props) {
17558
- return props.imgPath ? 'cover' : 'auto';
17559
- });
17560
- var DialogContainer = /*#__PURE__*/styled.div.withConfig({
17561
- displayName: "HistoryDialog__DialogContainer",
17562
- componentId: "sc-u6oe75-1"
17563
- })(["display:flex;justify-content:center;padding-top:200px;"]);
17564
-
17565
17557
  export { Button, ButtonTypes, CharacterSelection, Chat, ChatDeprecated, CheckButton, CircularController, CraftBook, DraggableContainer, Dropdown, DropdownSelectorContainer, DynamicText, EquipmentSet, EquipmentSlotSpriteByType, ErrorBoundary, HistoryDialog, ImgSide, Input, InputRadio$1 as InputRadio, ItemContainer$1 as ItemContainer, ItemSelector, ItemSlot, ListMenu, Marketplace, MarketplaceRows, NPCDialog, NPCDialogType, NPCMultiDialog, ProgressBar, PropertySelect, QuestInfo, QuestList, QuestionDialog, RPGUIContainer, RPGUIContainerTypes, RPGUIRoot, RangeSlider, RangeSliderType, Shortcuts, SkillProgressBar, SkillsContainer, Spellbook, SpriteFromAtlas, TextArea, TimeWidget, TradingMenu, Truncate, _RPGUI, rarityColor, useEventListener };
17566
17558
  //# sourceMappingURL=long-bow.esm.js.map