@rpg-engine/long-bow 0.4.9 → 0.4.81

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (177) hide show
  1. package/LICENSE +20 -20
  2. package/README.md +181 -181
  3. package/dist/components/Marketplace/BuyPanel.d.ts +0 -1
  4. package/dist/components/Marketplace/ManagmentPanel.d.ts +0 -1
  5. package/dist/components/ProgressBar.d.ts +1 -0
  6. package/dist/long-bow.cjs.development.js +1566 -1595
  7. package/dist/long-bow.cjs.development.js.map +1 -1
  8. package/dist/long-bow.cjs.production.min.js +1 -1
  9. package/dist/long-bow.cjs.production.min.js.map +1 -1
  10. package/dist/long-bow.esm.js +1472 -1501
  11. package/dist/long-bow.esm.js.map +1 -1
  12. package/package.json +100 -100
  13. package/src/.DS_Store +0 -0
  14. package/src/components/.DS_Store +0 -0
  15. package/src/components/Abstractions/ModalPortal.tsx +22 -22
  16. package/src/components/Abstractions/SlotsContainer.tsx +62 -62
  17. package/src/components/Arrow/SelectArrow.tsx +69 -69
  18. package/src/components/Arrow/img/arrow01-left-clicked.png +0 -0
  19. package/src/components/Arrow/img/arrow01-left.png +0 -0
  20. package/src/components/Arrow/img/arrow01-right-clicked.png +0 -0
  21. package/src/components/Arrow/img/arrow01-right.png +0 -0
  22. package/src/components/Arrow/img/arrow02-left-clicked.png +0 -0
  23. package/src/components/Arrow/img/arrow02-left.png +0 -0
  24. package/src/components/Arrow/img/arrow02-right-clicked.png +0 -0
  25. package/src/components/Arrow/img/arrow02-right.png +0 -0
  26. package/src/components/Button.tsx +40 -40
  27. package/src/components/Character/CharacterSelection.tsx +98 -98
  28. package/src/components/CharacterStatus/CharacterStatus.tsx +120 -120
  29. package/src/components/Chat/Chat.tsx +196 -196
  30. package/src/components/Chatdeprecated/ChatDeprecated.tsx +198 -198
  31. package/src/components/CheckButton.tsx +65 -65
  32. package/src/components/CircularController/CircularController.tsx +282 -282
  33. package/src/components/ConfirmModal.tsx +87 -87
  34. package/src/components/CraftBook/CraftBook.tsx +286 -286
  35. package/src/components/CraftBook/CraftingRecipe.tsx +161 -161
  36. package/src/components/CraftBook/MockItems.ts +101 -101
  37. package/src/components/DraggableContainer.tsx +183 -183
  38. package/src/components/Dropdown.tsx +114 -114
  39. package/src/components/DropdownSelectorContainer.tsx +42 -42
  40. package/src/components/Equipment/EquipmentSet.tsx +199 -199
  41. package/src/components/HistoryDialog.tsx +104 -104
  42. package/src/components/Input.tsx +15 -15
  43. package/src/components/InputRadio.tsx +41 -41
  44. package/src/components/Item/Cards/ItemInfo.tsx +298 -298
  45. package/src/components/Item/Cards/ItemInfoDisplay.tsx +135 -135
  46. package/src/components/Item/Cards/ItemInfoWrapper.tsx +62 -62
  47. package/src/components/Item/Cards/ItemTooltip.tsx +83 -83
  48. package/src/components/Item/Cards/MobileItemTooltip.tsx +149 -149
  49. package/src/components/Item/Inventory/ErrorBoundary.tsx +42 -42
  50. package/src/components/Item/Inventory/ItemContainer.tsx +231 -231
  51. package/src/components/Item/Inventory/ItemContainerTypes.ts +6 -6
  52. package/src/components/Item/Inventory/ItemQuantitySelector.tsx +138 -138
  53. package/src/components/Item/Inventory/ItemSlot.tsx +595 -595
  54. package/src/components/Item/Inventory/itemContainerHelper.ts +175 -175
  55. package/src/components/ListMenu.tsx +63 -63
  56. package/src/components/Marketplace/BuyPanel.tsx +296 -304
  57. package/src/components/Marketplace/ManagmentPanel.tsx +247 -255
  58. package/src/components/Marketplace/Marketplace.tsx +106 -106
  59. package/src/components/Marketplace/MarketplaceRows.tsx +161 -177
  60. package/src/components/Marketplace/filters/index.tsx +67 -67
  61. package/src/components/Multitab/Tab.tsx +66 -66
  62. package/src/components/Multitab/TabBody.tsx +13 -13
  63. package/src/components/Multitab/TabsContainer.tsx +97 -97
  64. package/src/components/NPCDialog/.DS_Store +0 -0
  65. package/src/components/NPCDialog/NPCDialog.tsx +121 -121
  66. package/src/components/NPCDialog/NPCDialogText.tsx +113 -113
  67. package/src/components/NPCDialog/NPCMultiDialog.tsx +159 -159
  68. package/src/components/NPCDialog/QuestionDialog/QuestionDialog.tsx +237 -237
  69. package/src/components/NPCDialog/img/.DS_Store +0 -0
  70. package/src/components/Pager.tsx +94 -94
  71. package/src/components/ProgressBar.tsx +102 -95
  72. package/src/components/PropertySelect/PropertySelect.tsx +106 -106
  73. package/src/components/QuestInfo/QuestInfo.tsx +233 -233
  74. package/src/components/QuestList.tsx +135 -135
  75. package/src/components/RPGUIContainer.tsx +47 -47
  76. package/src/components/RPGUIForceRenderStart.tsx +45 -45
  77. package/src/components/RPGUIRoot.tsx +14 -14
  78. package/src/components/RadioButton.tsx +53 -53
  79. package/src/components/RadioInput/RadioButton.tsx +96 -96
  80. package/src/components/RadioInput/RadioInput.tsx +102 -102
  81. package/src/components/RadioInput/instruments.ts +15 -15
  82. package/src/components/RangeSlider.tsx +78 -78
  83. package/src/components/RelativeListMenu.tsx +90 -90
  84. package/src/components/ScrollList.tsx +79 -79
  85. package/src/components/Shortcuts/Shortcuts.tsx +193 -193
  86. package/src/components/Shortcuts/ShortcutsSetter.tsx +139 -139
  87. package/src/components/Shortcuts/SingleShortcut.ts +82 -82
  88. package/src/components/Shortcuts/useShortcutCooldown.ts +23 -23
  89. package/src/components/SimpleProgressBar.tsx +62 -62
  90. package/src/components/SkillProgressBar.tsx +198 -198
  91. package/src/components/SkillsContainer.tsx +213 -213
  92. package/src/components/Spellbook/Spell.tsx +235 -235
  93. package/src/components/Spellbook/Spellbook.tsx +145 -145
  94. package/src/components/Spellbook/cards/MobileSpellTooltip.tsx +137 -137
  95. package/src/components/Spellbook/cards/SpellInfo.tsx +134 -134
  96. package/src/components/Spellbook/cards/SpellInfoDisplay.tsx +31 -31
  97. package/src/components/Spellbook/cards/SpellInfoWrapper.tsx +48 -48
  98. package/src/components/Spellbook/cards/SpellTooltip.tsx +70 -70
  99. package/src/components/Spellbook/constants.ts +7 -7
  100. package/src/components/Spellbook/mockSpells.ts +84 -84
  101. package/src/components/StaticBook/StaticBook.tsx +103 -103
  102. package/src/components/TextArea.tsx +11 -11
  103. package/src/components/TimeWidget/DayNightPeriod/DayNightPeriod.tsx +35 -35
  104. package/src/components/TimeWidget/TimeWidget.tsx +65 -65
  105. package/src/components/TradingMenu/TradingItemRow.tsx +199 -199
  106. package/src/components/TradingMenu/TradingMenu.tsx +219 -219
  107. package/src/components/TradingMenu/items.mock.ts +48 -48
  108. package/src/components/Truncate.tsx +25 -25
  109. package/src/components/itemSelector/ItemSelector.tsx +136 -136
  110. package/src/components/shared/Column.tsx +16 -16
  111. package/src/components/shared/Ellipsis.tsx +76 -76
  112. package/src/components/shared/SpriteFromAtlas.tsx +104 -104
  113. package/src/components/typography/DynamicText.tsx +49 -49
  114. package/src/constants/uiColors.ts +20 -20
  115. package/src/constants/uiDevices.ts +3 -3
  116. package/src/constants/uiFonts.ts +12 -12
  117. package/src/hooks/useEventListener.ts +21 -21
  118. package/src/hooks/useOutsideAlerter.ts +25 -25
  119. package/src/index.tsx +42 -42
  120. package/src/libs/CastingTypeHelper.ts +7 -7
  121. package/src/libs/StringHelpers.ts +3 -3
  122. package/src/libs/itemCounter.ts +21 -21
  123. package/src/mocks/.DS_Store +0 -0
  124. package/src/mocks/atlas/.DS_Store +0 -0
  125. package/src/mocks/atlas/entities/entities.json +20215 -20215
  126. package/src/mocks/atlas/icons/icons.json +735 -735
  127. package/src/mocks/atlas/items/items.json +12086 -12086
  128. package/src/mocks/equipmentSet.mocks.ts +391 -391
  129. package/src/mocks/itemContainer.mocks.ts +605 -605
  130. package/src/mocks/skills.mocks.ts +130 -130
  131. package/src/stories/Arrow.stories.tsx +26 -26
  132. package/src/stories/Button.stories.tsx +36 -36
  133. package/src/stories/CharacterSelection.stories.tsx +44 -44
  134. package/src/stories/CharacterStatus.stories.tsx +29 -29
  135. package/src/stories/Chat.stories.tsx +187 -187
  136. package/src/stories/ChatDeprecated.stories.tsx +170 -170
  137. package/src/stories/CheckButton.stories.tsx +48 -48
  138. package/src/stories/CircullarController.stories.tsx +37 -37
  139. package/src/stories/CraftBook.stories.tsx +42 -42
  140. package/src/stories/DayNightPeriod.stories.tsx +27 -27
  141. package/src/stories/DraggableContainer.stories.tsx +28 -28
  142. package/src/stories/Dropdown.stories.tsx +46 -46
  143. package/src/stories/DropdownSelectorContainer.stories.tsx +41 -41
  144. package/src/stories/EquipmentSet.stories.tsx +65 -65
  145. package/src/stories/HistoryDialog.stories.tsx +61 -61
  146. package/src/stories/ItemContainer.stories.tsx +201 -201
  147. package/src/stories/ItemInfoDisplay.stories.tsx +33 -33
  148. package/src/stories/ItemQuantitySelector.stories.tsx +26 -26
  149. package/src/stories/ItemSelector.stories.tsx +77 -77
  150. package/src/stories/ItemTradingComponent.stories.tsx +35 -35
  151. package/src/stories/ListMenu.stories.tsx +56 -56
  152. package/src/stories/Marketplace.stories.tsx +53 -57
  153. package/src/stories/MarketplaceRows.stories.tsx +27 -27
  154. package/src/stories/Multitab.stories.tsx +51 -51
  155. package/src/stories/NPCDialog.stories.tsx +130 -130
  156. package/src/stories/NPCMultiDialog.stories.tsx +71 -71
  157. package/src/stories/ProgressBar.stories.tsx +24 -23
  158. package/src/stories/PropertySelect.stories.tsx +40 -40
  159. package/src/stories/QuestInfo.stories.tsx +107 -107
  160. package/src/stories/QuestList.stories.tsx +82 -82
  161. package/src/stories/RPGUIContainers.stories.tsx +42 -42
  162. package/src/stories/RadioButton.stories.tsx +49 -49
  163. package/src/stories/RadioInput.stories.tsx +34 -34
  164. package/src/stories/RangeSlider.stories.tsx +64 -64
  165. package/src/stories/ScrollList.stories.tsx +85 -85
  166. package/src/stories/Shortcuts.stories.tsx +39 -39
  167. package/src/stories/SimpleProgressBar.stories.tsx +22 -22
  168. package/src/stories/SkillProgressBar.stories.tsx +34 -34
  169. package/src/stories/SkillsContainer.stories.tsx +35 -35
  170. package/src/stories/SpellInfoDisplay.stories.tsx +27 -27
  171. package/src/stories/Spellbook.stories.tsx +104 -104
  172. package/src/stories/StaticBook.stories.tsx +32 -32
  173. package/src/stories/Text.stories.tsx +42 -42
  174. package/src/stories/TimeWidget.stories.tsx +27 -27
  175. package/src/stories/TradingMenu.stories.tsx +47 -47
  176. package/src/types/eventTypes.ts +4 -4
  177. package/src/types/index.d.ts +2 -2
@@ -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,591 +14596,1131 @@ 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"
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",
15289
+ onPointerDown: onClose
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, {
15329
+ buttonType: ButtonTypes.RPGUIButton,
15330
+ type: "submit"
15331
+ }, "Confirm")));
15332
+ };
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;"]);
15418
+
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,
15427
+ atlasIMG = _ref.atlasIMG,
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,
15437
+ scale = _ref.scale,
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);
15458
+ }
15459
+ };
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;
15513
+ };
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);"]);
15558
+
15559
+ var ItemSelector = function ItemSelector(_ref) {
15560
+ var atlasIMG = _ref.atlasIMG,
15561
+ atlasJSON = _ref.atlasJSON,
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
+ };
15573
+ useEffect(function () {
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, {
15597
+ atlasIMG: atlasIMG,
15598
+ atlasJSON: atlasJSON,
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');
15665
+ })));
15666
+ };
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;"]);
15679
+
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,
15688
+ onPointerDown: function onPointerDown() {
15689
+ return onPageChange(Math.max(currentPage - 1, 1));
15690
+ }
15691
+ }, '<'), React.createElement("div", {
15692
+ className: "rpgui-container framed-grey"
15693
+ }, currentPage), React.createElement("button", {
15694
+ disabled: currentPage === totalPages,
15695
+ onPointerDown: function onPointerDown() {
15696
+ return onPageChange(Math.min(currentPage + 1, totalPages));
15697
+ }
15698
+ }, '>')));
15699
+ };
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"
15184
15724
  }, React.createElement(Button, {
15185
15725
  buttonType: ButtonTypes.RPGUIButton,
15186
15726
  onPointerDown: onClose
@@ -15193,7 +15733,7 @@ var Background = /*#__PURE__*/styled.div.withConfig({
15193
15733
  displayName: "ConfirmModal__Background",
15194
15734
  componentId: "sc-11qkyu1-0"
15195
15735
  })(["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({
15736
+ var Container$l = /*#__PURE__*/styled.div.withConfig({
15197
15737
  displayName: "ConfirmModal__Container",
15198
15738
  componentId: "sc-11qkyu1-1"
15199
15739
  })(["position:absolute;width:100%;height:100%;left:0;top:0;display:flex;justify-content:center;align-items:center;z-index:1001;"]);
@@ -15216,15 +15756,13 @@ var MarketplaceRows = function MarketplaceRows(_ref) {
15216
15756
  onMarketPlaceItemBuy = _ref.onMarketPlaceItemBuy,
15217
15757
  onMarketPlaceItemRemove = _ref.onMarketPlaceItemRemove,
15218
15758
  disabled = _ref.disabled;
15219
- return React.createElement(MarketplaceWrapper, null, React.createElement(ItemIconContainer, null, React.createElement(SpriteContainer, null, React.createElement(ItemInfoWrapper, {
15759
+ return React.createElement(MarketplaceWrapper, null, React.createElement(ItemInfoWrapper, {
15220
15760
  item: item,
15221
15761
  atlasIMG: atlasIMG,
15222
15762
  atlasJSON: atlasJSON,
15223
15763
  equipmentSet: equipmentSet,
15224
15764
  scale: scale
15225
- }, React.createElement(RarityContainer, {
15226
- item: item
15227
- }, React.createElement(SpriteFromAtlas, {
15765
+ }, React.createElement(ItemIconContainer, null, React.createElement(SpriteContainer, null, React.createElement(SpriteFromAtlas, {
15228
15766
  atlasIMG: atlasIMG,
15229
15767
  atlasJSON: atlasJSON,
15230
15768
  spriteKey: getItemTextureKeyPath({
@@ -15234,11 +15772,11 @@ var MarketplaceRows = function MarketplaceRows(_ref) {
15234
15772
  isStackable: item.isStackable
15235
15773
  }, atlasJSON),
15236
15774
  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, {
15775
+ }), 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
15776
  maxLines: 1,
15239
15777
  maxWidth: "200px",
15240
15778
  fontSize: "10px"
15241
- }, item.name)))), React.createElement(Flex$1, null, React.createElement(ItemIconContainer, null, React.createElement(GoldContainer, null, React.createElement(SpriteFromAtlas, {
15779
+ }, item.name))))), React.createElement(Flex$1, null, React.createElement(ItemIconContainer, null, React.createElement(SpriteContainer, null, React.createElement(SpriteFromAtlas, {
15242
15780
  atlasIMG: atlasIMG,
15243
15781
  atlasJSON: atlasJSON,
15244
15782
  spriteKey: "others/gold-coin-qty-5.png",
@@ -15273,35 +15811,18 @@ var ItemIconContainer = /*#__PURE__*/styled.div.withConfig({
15273
15811
  displayName: "MarketplaceRows__ItemIconContainer",
15274
15812
  componentId: "sc-wmpr1o-3"
15275
15813
  })(["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
15814
  var SpriteContainer = /*#__PURE__*/styled.div.withConfig({
15281
15815
  displayName: "MarketplaceRows__SpriteContainer",
15282
- componentId: "sc-wmpr1o-5"
15283
- })(["position:relative;left:0.5rem;"]);
15816
+ componentId: "sc-wmpr1o-4"
15817
+ })(["position:relative;top:-0.5rem;left:0.5rem;"]);
15284
15818
  var PriceValue = /*#__PURE__*/styled.div.withConfig({
15285
15819
  displayName: "MarketplaceRows__PriceValue",
15286
- componentId: "sc-wmpr1o-6"
15820
+ componentId: "sc-wmpr1o-5"
15287
15821
  })(["margin-left:40px;"]);
15288
15822
  var ButtonContainer$1 = /*#__PURE__*/styled.div.withConfig({
15289
15823
  displayName: "MarketplaceRows__ButtonContainer",
15290
- componentId: "sc-wmpr1o-7"
15824
+ componentId: "sc-wmpr1o-6"
15291
15825
  })(["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
15826
 
15306
15827
  var OrderByType;
15307
15828
  (function (OrderByType) {
@@ -15322,714 +15843,374 @@ var itemRarityOptions = /*#__PURE__*/['Rarity'].concat(Object.values(ItemRaritie
15322
15843
  id: index + 1,
15323
15844
  value: itemRarity,
15324
15845
  option: itemRarity
15325
- };
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
- }, "\u2193"))
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
- }, "\u2191"))
15346
- }];
15347
- });
15348
-
15349
- var BuyPanel = function BuyPanel(_ref) {
15350
- var items = _ref.items,
15351
- atlasIMG = _ref.atlasIMG,
15352
- 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);
15382
- 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,
15487
- atlasIMG: atlasIMG,
15488
- atlasJSON: atlasJSON,
15489
- item: item,
15490
- itemPrice: price,
15491
- equipmentSet: equipmentSet,
15492
- onMarketPlaceItemBuy: setBuyingItemId.bind(null, _id),
15493
- disabled: owner === characterId
15494
- });
15495
- })));
15496
- };
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;"]);
15846
+ };
15847
+ });
15848
+ var orderByOptions = /*#__PURE__*/Object.values(OrderByType).flatMap(function (orderBy, index) {
15849
+ return [{
15850
+ id: index * 2 + 1,
15851
+ value: orderBy.toLowerCase(),
15852
+ option: React.createElement(React.Fragment, null, orderBy, ' ', React.createElement("span", {
15853
+ style: {
15854
+ transform: 'translateY(-2px)',
15855
+ display: 'inline-block'
15856
+ }
15857
+ }, "\u2193"))
15858
+ }, {
15859
+ id: index * 2 + 2,
15860
+ value: '-' + orderBy.toLowerCase(),
15861
+ option: React.createElement(React.Fragment, null, orderBy, ' ', React.createElement("span", {
15862
+ style: {
15863
+ transform: 'translateY(-2px)',
15864
+ display: 'inline-block'
15865
+ }
15866
+ }, "\u2191"))
15867
+ }];
15868
+ });
15521
15869
 
15522
- var ManagmentPanel = function ManagmentPanel(_ref) {
15870
+ var BuyPanel = function BuyPanel(_ref) {
15523
15871
  var items = _ref.items,
15524
15872
  atlasIMG = _ref.atlasIMG,
15525
15873
  atlasJSON = _ref.atlasJSON,
15874
+ onChangeType = _ref.onChangeType,
15875
+ onChangeRarity = _ref.onChangeRarity,
15876
+ onChangeOrder = _ref.onChangeOrder,
15526
15877
  onChangeNameInput = _ref.onChangeNameInput,
15878
+ onChangeMainLevelInput = _ref.onChangeMainLevelInput,
15879
+ onChangeSecondaryLevelInput = _ref.onChangeSecondaryLevelInput,
15880
+ onChangePriceInput = _ref.onChangePriceInput,
15527
15881
  equipmentSet = _ref.equipmentSet,
15528
- availableGold = _ref.availableGold,
15529
- onMarketPlaceItemRemove = _ref.onMarketPlaceItemRemove,
15530
- selectedItemToSell = _ref.selectedItemToSell,
15531
- onSelectedItemToSellRemove = _ref.onSelectedItemToSellRemove,
15532
- onAddItemToMarketplace = _ref.onAddItemToMarketplace,
15882
+ onMarketPlaceItemBuy = _ref.onMarketPlaceItemBuy,
15883
+ characterId = _ref.characterId,
15533
15884
  enableHotkeys = _ref.enableHotkeys,
15534
- disableHotkeys = _ref.disableHotkeys,
15535
- onMoneyWithdraw = _ref.onMoneyWithdraw,
15536
- currentPage = _ref.currentPage;
15885
+ disableHotkeys = _ref.disableHotkeys;
15537
15886
  var _useState = useState(''),
15538
15887
  name = _useState[0],
15539
15888
  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,
15604
- onPointerDown: function onPointerDown() {
15605
- if (selectedItemToSell && price && Number(price)) {
15606
- setIsCreatingOffer(true);
15607
- }
15608
- }
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,
15616
- onPointerDown: function onPointerDown() {
15617
- return availableGold > 0 && onMoneyWithdraw();
15618
- }
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
- })));
15636
- };
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
- });
15673
-
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",
15688
- 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, {
15696
- buttonType: ButtonTypes.RPGUIButton,
15697
- onPointerDown: function onPointerDown() {
15698
- onYourPanelToggle(true);
15699
- setIsYourPanel(true);
15700
- }
15701
- }, "Go to your panel"), React.createElement(Pager, Object.assign({}, props)))));
15702
- };
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';
15711
-
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
- }
15738
- };
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);
15889
+ var _useState2 = useState([undefined, undefined]),
15890
+ mainLevel = _useState2[0],
15891
+ setMainLevel = _useState2[1];
15892
+ var _useState3 = useState([undefined, undefined]),
15893
+ secondaryLevel = _useState3[0],
15894
+ setSecondaryLevel = _useState3[1];
15895
+ var _useState4 = useState([undefined, undefined]),
15896
+ price = _useState4[0],
15897
+ setPrice = _useState4[1];
15898
+ var _useState5 = useState(null),
15899
+ buyingItemId = _useState5[0],
15900
+ setBuyingItemId = _useState5[1];
15901
+ return React.createElement(React.Fragment, null, buyingItemId && React.createElement(ConfirmModal, {
15902
+ onClose: setBuyingItemId.bind(null, null),
15903
+ onConfirm: function onConfirm() {
15904
+ onMarketPlaceItemBuy == null ? void 0 : onMarketPlaceItemBuy(buyingItemId);
15905
+ setBuyingItemId(null);
15906
+ enableHotkeys == null ? void 0 : enableHotkeys();
15754
15907
  },
15755
- onEndStep: function onEndStep() {
15756
- return setShowGoNextIndicator(true);
15908
+ message: "Are you sure to buy this item?"
15909
+ }), React.createElement(InputWrapper, null, React.createElement("p", null, "Search By Name"), React.createElement(Input, {
15910
+ onChange: function onChange(e) {
15911
+ setName(e.target.value);
15912
+ onChangeNameInput(e.target.value);
15757
15913
  },
15758
- text: textAndTypeArray[slide].text || 'No text provided.',
15759
- onClose: function onClose() {
15760
- if (_onClose) {
15761
- _onClose();
15762
- }
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);
15914
+ value: name,
15915
+ placeholder: "Enter name...",
15916
+ onBlur: enableHotkeys,
15917
+ onFocus: disableHotkeys
15918
+ })), React.createElement(OptionsWrapper, null, React.createElement(FilterInputsWrapper, null, React.createElement("div", null, React.createElement("p", null, "Main level"), React.createElement(Input, {
15919
+ onChange: function onChange(e) {
15920
+ setMainLevel([Number(e.target.value), mainLevel[1]]);
15921
+ onChangeMainLevelInput([Number(e.target.value), mainLevel[1]]);
15776
15922
  },
15777
- onEndStep: function onEndStep() {
15778
- return setShowGoNextIndicator(true);
15923
+ placeholder: "Min",
15924
+ type: "number",
15925
+ min: 0,
15926
+ onBlur: enableHotkeys,
15927
+ onFocus: disableHotkeys
15928
+ }), React.createElement(AiFillCaretRight, null), React.createElement(Input, {
15929
+ onChange: function onChange(e) {
15930
+ setMainLevel([mainLevel[0], Number(e.target.value)]);
15931
+ onChangeMainLevelInput([mainLevel[0], Number(e.target.value)]);
15779
15932
  },
15780
- text: textAndTypeArray[slide].text || 'No text provided.',
15781
- onClose: function onClose() {
15782
- if (_onClose) {
15783
- _onClose();
15784
- }
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;
15816
- });
15817
-
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]);
15933
+ placeholder: "Max",
15934
+ type: "number",
15935
+ min: 0,
15936
+ onBlur: enableHotkeys,
15937
+ onFocus: disableHotkeys
15938
+ })), React.createElement("div", null, React.createElement("p", null, "Secondary level"), React.createElement(Input, {
15939
+ onChange: function onChange(e) {
15940
+ setSecondaryLevel([Number(e.target.value), secondaryLevel[1]]);
15941
+ onChangeSecondaryLevelInput([Number(e.target.value), secondaryLevel[1]]);
15942
+ },
15943
+ placeholder: "Min",
15944
+ type: "number",
15945
+ min: 0,
15946
+ onBlur: enableHotkeys,
15947
+ onFocus: disableHotkeys
15948
+ }), React.createElement(AiFillCaretRight, null), React.createElement(Input, {
15949
+ onChange: function onChange(e) {
15950
+ setSecondaryLevel([secondaryLevel[0], Number(e.target.value)]);
15951
+ onChangeSecondaryLevelInput([secondaryLevel[0], Number(e.target.value)]);
15952
+ },
15953
+ placeholder: "Max",
15954
+ type: "number",
15955
+ min: 0,
15956
+ onBlur: enableHotkeys,
15957
+ onFocus: disableHotkeys
15958
+ })), React.createElement("div", null, React.createElement("p", null, "Price"), React.createElement(Input, {
15959
+ onChange: function onChange(e) {
15960
+ setPrice([Number(e.target.value), price[1]]);
15961
+ onChangePriceInput([Number(e.target.value), price[1]]);
15962
+ },
15963
+ placeholder: "Min",
15964
+ type: "number",
15965
+ min: 0,
15966
+ className: "big-input",
15967
+ onBlur: enableHotkeys,
15968
+ onFocus: disableHotkeys
15969
+ }), React.createElement(AiFillCaretRight, null), React.createElement(Input, {
15970
+ onChange: function onChange(e) {
15971
+ setPrice([price[0], Number(e.target.value)]);
15972
+ onChangePriceInput([price[0], Number(e.target.value)]);
15973
+ },
15974
+ placeholder: "Max",
15975
+ type: "number",
15976
+ min: 0,
15977
+ className: "big-input",
15978
+ onBlur: enableHotkeys,
15979
+ onFocus: disableHotkeys
15980
+ }))), React.createElement(WrapperContainer, null, React.createElement(StyledDropdown, {
15981
+ options: itemTypeOptions,
15982
+ onChange: onChangeType,
15983
+ width: "95%"
15984
+ }), React.createElement(StyledDropdown, {
15985
+ options: itemRarityOptions,
15986
+ onChange: onChangeRarity,
15987
+ width: "95%"
15988
+ }), React.createElement(StyledDropdown, {
15989
+ options: orderByOptions,
15990
+ onChange: onChangeOrder,
15991
+ width: "100%"
15992
+ }))), React.createElement(ItemComponentScrollWrapper, {
15993
+ id: "MarketContainer"
15994
+ }, items == null ? void 0 : items.map(function (_ref2, index) {
15995
+ var item = _ref2.item,
15996
+ price = _ref2.price,
15997
+ _id = _ref2._id,
15998
+ owner = _ref2.owner;
15999
+ return React.createElement(MarketplaceRows, {
16000
+ key: item.key + "_" + index,
16001
+ atlasIMG: atlasIMG,
16002
+ atlasJSON: atlasJSON,
16003
+ item: item,
16004
+ itemPrice: price,
16005
+ equipmentSet: equipmentSet,
16006
+ onMarketPlaceItemBuy: setBuyingItemId.bind(null, _id),
16007
+ disabled: owner === characterId
16008
+ });
16009
+ })));
15837
16010
  };
16011
+ var InputWrapper = /*#__PURE__*/styled.div.withConfig({
16012
+ displayName: "BuyPanel__InputWrapper",
16013
+ componentId: "sc-1si8t7i-0"
16014
+ })(["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;}"]);
16015
+ var OptionsWrapper = /*#__PURE__*/styled.div.withConfig({
16016
+ displayName: "BuyPanel__OptionsWrapper",
16017
+ componentId: "sc-1si8t7i-1"
16018
+ })(["width:100%;height:100px;"]);
16019
+ var FilterInputsWrapper = /*#__PURE__*/styled.div.withConfig({
16020
+ displayName: "BuyPanel__FilterInputsWrapper",
16021
+ componentId: "sc-1si8t7i-2"
16022
+ })(["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;}"]);
16023
+ var WrapperContainer = /*#__PURE__*/styled.div.withConfig({
16024
+ displayName: "BuyPanel__WrapperContainer",
16025
+ componentId: "sc-1si8t7i-3"
16026
+ })(["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;}"]);
16027
+ var ItemComponentScrollWrapper = /*#__PURE__*/styled.div.withConfig({
16028
+ displayName: "BuyPanel__ItemComponentScrollWrapper",
16029
+ componentId: "sc-1si8t7i-4"
16030
+ })(["overflow-y:scroll;height:390px;width:100%;margin-top:1rem;@media (max-width:950px){height:250px;}"]);
16031
+ var StyledDropdown = /*#__PURE__*/styled(Dropdown).withConfig({
16032
+ displayName: "BuyPanel__StyledDropdown",
16033
+ componentId: "sc-1si8t7i-5"
16034
+ })(["margin:3px !important;width:170px !important;"]);
15838
16035
 
15839
- var DynamicText = function DynamicText(_ref) {
15840
- var text = _ref.text,
15841
- onFinish = _ref.onFinish,
15842
- onStart = _ref.onStart;
16036
+ var ManagmentPanel = function ManagmentPanel(_ref) {
16037
+ var items = _ref.items,
16038
+ atlasIMG = _ref.atlasIMG,
16039
+ atlasJSON = _ref.atlasJSON,
16040
+ onChangeNameInput = _ref.onChangeNameInput,
16041
+ equipmentSet = _ref.equipmentSet,
16042
+ availableGold = _ref.availableGold,
16043
+ onMarketPlaceItemRemove = _ref.onMarketPlaceItemRemove,
16044
+ selectedItemToSell = _ref.selectedItemToSell,
16045
+ onSelectedItemToSellRemove = _ref.onSelectedItemToSellRemove,
16046
+ onAddItemToMarketplace = _ref.onAddItemToMarketplace,
16047
+ enableHotkeys = _ref.enableHotkeys,
16048
+ disableHotkeys = _ref.disableHotkeys,
16049
+ onMoneyWithdraw = _ref.onMoneyWithdraw;
15843
16050
  var _useState = useState(''),
15844
- textState = _useState[0],
15845
- setTextState = _useState[1];
15846
- 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
- }
16051
+ name = _useState[0],
16052
+ setName = _useState[1];
16053
+ var _useState2 = useState(''),
16054
+ price = _useState2[0],
16055
+ setPrice = _useState2[1];
16056
+ var _useState3 = useState(false),
16057
+ isCreatingOffer = _useState3[0],
16058
+ setIsCreatingOffer = _useState3[1];
16059
+ var _useState4 = useState(null),
16060
+ removingItemId = _useState4[0],
16061
+ setRemovingItemId = _useState4[1];
16062
+ return React.createElement(React.Fragment, null, isCreatingOffer && React.createElement(ConfirmModal, {
16063
+ onClose: setIsCreatingOffer.bind(null, false),
16064
+ onConfirm: function onConfirm() {
16065
+ if (selectedItemToSell && price && Number(price)) {
16066
+ onAddItemToMarketplace(selectedItemToSell, Number(price));
16067
+ setPrice('');
16068
+ onSelectedItemToSellRemove(selectedItemToSell);
16069
+ setIsCreatingOffer(false);
16070
+ enableHotkeys == null ? void 0 : enableHotkeys();
16071
+ }
16072
+ },
16073
+ message: "Are you sure to create this offer?"
16074
+ }), removingItemId && React.createElement(ConfirmModal, {
16075
+ onClose: setRemovingItemId.bind(null, null),
16076
+ onConfirm: function onConfirm() {
16077
+ onMarketPlaceItemRemove == null ? void 0 : onMarketPlaceItemRemove(removingItemId);
16078
+ setRemovingItemId(null);
16079
+ enableHotkeys == null ? void 0 : enableHotkeys();
16080
+ },
16081
+ message: "Are you sure to remove this item?"
16082
+ }), React.createElement(InputWrapper$1, null, React.createElement("p", null, "Search By Name"), React.createElement(Input, {
16083
+ onChange: function onChange(e) {
16084
+ setName(e.target.value);
16085
+ onChangeNameInput(e.target.value);
16086
+ },
16087
+ value: name,
16088
+ placeholder: "Enter name...",
16089
+ onBlur: enableHotkeys,
16090
+ onFocus: disableHotkeys
16091
+ })), 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, {
16092
+ slotIndex: 0,
16093
+ atlasIMG: atlasIMG,
16094
+ atlasJSON: atlasJSON,
16095
+ onPointerDown: function onPointerDown(_, __, item) {
16096
+ return onSelectedItemToSellRemove(item);
16097
+ },
16098
+ item: selectedItemToSell
16099
+ }), React.createElement(PriceInputWrapper, null, React.createElement("p", null, "Enter price"), React.createElement(Flex$2, null, React.createElement(Input, {
16100
+ onChange: function onChange(e) {
16101
+ setPrice(e.target.value);
16102
+ },
16103
+ value: price,
16104
+ placeholder: "Enter price...",
16105
+ type: "number",
16106
+ disabled: !selectedItemToSell,
16107
+ onBlur: enableHotkeys,
16108
+ onFocus: disableHotkeys
16109
+ }), React.createElement(Button, {
16110
+ buttonType: ButtonTypes.RPGUIButton,
16111
+ disabled: !selectedItemToSell || !price,
16112
+ onPointerDown: function onPointerDown() {
16113
+ if (selectedItemToSell && price && Number(price)) {
16114
+ setIsCreatingOffer(true);
15863
16115
  }
15864
- }, 50);
15865
- return function () {
15866
- clearInterval(interval);
15867
- };
15868
- }, [text]);
15869
- return React.createElement(TextContainer$1, null, textState);
15870
- };
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;"]);
15875
-
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];
15898
- 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;
15971
16116
  }
15972
- var answers = onGetAnswers(answerIds);
15973
- if (!answers) {
15974
- return null;
16117
+ }, "Create offer"))))), React.createElement(InnerOptionsWrapper, null, React.createElement(AvailableGold, {
16118
+ "$disabled": availableGold === 0
16119
+ }, React.createElement("p", null, "Available gold"), React.createElement("p", {
16120
+ className: "center"
16121
+ }, "$", availableGold), React.createElement(Button, {
16122
+ buttonType: ButtonTypes.RPGUIButton,
16123
+ disabled: availableGold === 0,
16124
+ onPointerDown: function onPointerDown() {
16125
+ return availableGold > 0 && onMoneyWithdraw();
15975
16126
  }
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;
16127
+ }, "Withdraw")))), React.createElement(ItemComponentScrollWrapper$1, {
16128
+ id: "MarketContainer"
16129
+ }, items == null ? void 0 : items.map(function (_ref2, index) {
16130
+ var item = _ref2.item,
16131
+ price = _ref2.price,
16132
+ _id = _ref2._id;
16133
+ return React.createElement(MarketplaceRows, {
16134
+ key: item.key + "_" + index,
16135
+ atlasIMG: atlasIMG,
16136
+ atlasJSON: atlasJSON,
16137
+ item: item,
16138
+ itemPrice: price,
16139
+ equipmentSet: equipmentSet,
16140
+ onMarketPlaceItemRemove: setRemovingItemId.bind(null, _id)
15993
16141
  });
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);
16142
+ })));
16143
+ };
16144
+ var Flex$2 = /*#__PURE__*/styled.div.withConfig({
16145
+ displayName: "ManagmentPanel__Flex",
16146
+ componentId: "sc-1yyi6jn-0"
16147
+ })(["display:flex;gap:5px;align-items:center;"]);
16148
+ var InputWrapper$1 = /*#__PURE__*/styled.div.withConfig({
16149
+ displayName: "ManagmentPanel__InputWrapper",
16150
+ componentId: "sc-1yyi6jn-1"
16151
+ })(["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;}"]);
16152
+ var OptionsWrapper$1 = /*#__PURE__*/styled.div.withConfig({
16153
+ displayName: "ManagmentPanel__OptionsWrapper",
16154
+ componentId: "sc-1yyi6jn-2"
16155
+ })(["width:100%;height:100px;display:flex;align-items:center;justify-content:space-around;"]);
16156
+ var InnerOptionsWrapper = /*#__PURE__*/styled.div.withConfig({
16157
+ displayName: "ManagmentPanel__InnerOptionsWrapper",
16158
+ componentId: "sc-1yyi6jn-3"
16159
+ })(["display:flex;justify-content:space-between;flex-direction:column;height:100%;"]);
16160
+ var ItemComponentScrollWrapper$1 = /*#__PURE__*/styled.div.withConfig({
16161
+ displayName: "ManagmentPanel__ItemComponentScrollWrapper",
16162
+ componentId: "sc-1yyi6jn-4"
16163
+ })(["overflow-y:scroll;height:390px;width:100%;margin-top:1rem;@media (max-width:950px){height:250px;}"]);
16164
+ var PriceInputWrapper = /*#__PURE__*/styled.div.withConfig({
16165
+ displayName: "ManagmentPanel__PriceInputWrapper",
16166
+ componentId: "sc-1yyi6jn-5"
16167
+ })(["p{margin:0;}input{width:200px;}"]);
16168
+ var SellDescription = /*#__PURE__*/styled.p.withConfig({
16169
+ displayName: "ManagmentPanel__SellDescription",
16170
+ componentId: "sc-1yyi6jn-6"
16171
+ })(["margin:0;font-size:", " !important;"], uiFonts.size.xsmall);
16172
+ var AvailableGold = /*#__PURE__*/styled.div.withConfig({
16173
+ displayName: "ManagmentPanel__AvailableGold",
16174
+ componentId: "sc-1yyi6jn-7"
16175
+ })(["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) {
16176
+ return props.$disabled ? uiColors.lightGray : 'white';
16177
+ }, uiFonts.size.large, function (props) {
16178
+ return props.$disabled ? uiColors.lightGray : uiColors.lightGreen;
16179
+ });
16180
+
16181
+ var Marketplace = function Marketplace(props) {
16182
+ var onClose = props.onClose,
16183
+ scale = props.scale,
16184
+ onYourPanelToggle = props.onYourPanelToggle;
16185
+ var _useState = useState(false),
16186
+ isYourPanel = _useState[0],
16187
+ setIsYourPanel = _useState[1];
16188
+ return React.createElement(DraggableContainer, {
16189
+ type: RPGUIContainerTypes.Framed,
16190
+ onCloseButton: function onCloseButton() {
16191
+ if (onClose) onClose();
15999
16192
  },
16000
- onFinish: function onFinish() {
16001
- return setCanShowAnswers(true);
16193
+ width: "800px",
16194
+ cancelDrag: "#MarketContainer, .rpgui-dropdown-imp, input, .empty-slot, button",
16195
+ scale: scale
16196
+ }, isYourPanel && React.createElement(React.Fragment, null, React.createElement(ManagmentPanel, Object.assign({}, props)), React.createElement(PagerContainer$1, null, React.createElement(Button, {
16197
+ buttonType: ButtonTypes.RPGUIButton,
16198
+ onPointerDown: function onPointerDown() {
16199
+ onYourPanelToggle(false);
16200
+ setIsYourPanel(false);
16201
+ }
16202
+ }, "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, {
16203
+ buttonType: ButtonTypes.RPGUIButton,
16204
+ onPointerDown: function onPointerDown() {
16205
+ onYourPanelToggle(true);
16206
+ setIsYourPanel(true);
16002
16207
  }
16003
- })), canShowAnswers && React.createElement(AnswersContainer, null, onRenderCurrentAnswers()));
16208
+ }, "Go to your panel"), React.createElement(Pager, Object.assign({}, props)))));
16004
16209
  };
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;}"]);
16210
+ var PagerContainer$1 = /*#__PURE__*/styled.div.withConfig({
16211
+ displayName: "Marketplace__PagerContainer",
16212
+ componentId: "sc-h904b1-0"
16213
+ })(["display:flex;justify-content:space-between;align-items:center;width:calc(100% - 30px);"]);
16033
16214
 
16034
16215
  var ProgressBar = function ProgressBar(_ref) {
16035
16216
  var max = _ref.max,
@@ -16041,7 +16222,8 @@ var ProgressBar = function ProgressBar(_ref) {
16041
16222
  percentageWidth = _ref$percentageWidth === void 0 ? 40 : _ref$percentageWidth,
16042
16223
  _ref$minWidth = _ref.minWidth,
16043
16224
  minWidth = _ref$minWidth === void 0 ? 100 : _ref$minWidth,
16044
- style = _ref.style;
16225
+ style = _ref.style,
16226
+ mobileScale = _ref.mobileScale;
16045
16227
  value = Math.round(value);
16046
16228
  max = Math.round(max);
16047
16229
  var calculatePercentageValue = function calculatePercentageValue(max, value) {
@@ -16050,13 +16232,14 @@ var ProgressBar = function ProgressBar(_ref) {
16050
16232
  }
16051
16233
  return value * 100 / max;
16052
16234
  };
16053
- return React.createElement(Container$k, {
16235
+ return React.createElement(Container$m, {
16054
16236
  className: "rpgui-progress",
16055
16237
  "data-value": calculatePercentageValue(max, value) / 100,
16056
16238
  "data-rpguitype": "progress",
16057
16239
  percentageWidth: percentageWidth,
16058
16240
  minWidth: minWidth,
16059
- style: style
16241
+ style: style,
16242
+ mobileScale: mobileScale
16060
16243
  }, displayText && React.createElement(TextOverlay$1, null, React.createElement(ProgressBarText, null, value, "/", max)), React.createElement("div", {
16061
16244
  className: " rpgui-progress-track"
16062
16245
  }, React.createElement("div", {
@@ -16079,18 +16262,20 @@ var TextOverlay$1 = /*#__PURE__*/styled.div.withConfig({
16079
16262
  displayName: "ProgressBar__TextOverlay",
16080
16263
  componentId: "sc-qa6fzh-1"
16081
16264
  })(["width:100%;position:relative;"]);
16082
- var Container$k = /*#__PURE__*/styled.div.withConfig({
16265
+ var Container$m = /*#__PURE__*/styled.div.withConfig({
16083
16266
  displayName: "ProgressBar__Container",
16084
16267
  componentId: "sc-qa6fzh-2"
16085
- })(["display:flex;flex-direction:column;min-width:", "px;width:", "%;justify-content:start;align-items:flex-start;", ""], function (props) {
16268
+ })(["display:flex;flex-direction:column;min-width:", "px;width:", "%;justify-content:start;align-items:flex-start;", " @media (max-width:950px){transform:scale(", ");}"], function (props) {
16086
16269
  return props.minWidth;
16087
16270
  }, function (props) {
16088
16271
  return props.percentageWidth;
16089
16272
  }, function (props) {
16090
16273
  return props.style;
16274
+ }, function (props) {
16275
+ return props.mobileScale;
16091
16276
  });
16092
16277
 
16093
- var img$7 = 'data:image/png;base64,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';
16278
+ var img$8 = 'data:image/png;base64,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';
16094
16279
 
16095
16280
  var QuestInfo = function QuestInfo(_ref) {
16096
16281
  var quests = _ref.quests,
@@ -16134,7 +16319,7 @@ var QuestInfo = function QuestInfo(_ref) {
16134
16319
  }), React.createElement(QuestContainer, null, React.createElement(TitleContainer$1, {
16135
16320
  className: "drag-handler"
16136
16321
  }, React.createElement(Title$4, null, React.createElement(Thumbnail, {
16137
- src: quests[currentIndex].thumbnail || img$7
16322
+ src: quests[currentIndex].thumbnail || img$8
16138
16323
  }), quests[currentIndex].title), React.createElement(QuestSplitDiv, null, React.createElement("hr", {
16139
16324
  className: "golden"
16140
16325
  }))), React.createElement(Content, null, React.createElement("p", null, quests[currentIndex].description)), React.createElement(QuestColumn, {
@@ -16153,7 +16338,7 @@ var QuestInfo = function QuestInfo(_ref) {
16153
16338
  })))) : React.createElement(QuestsContainer, null, React.createElement(QuestContainer, null, React.createElement(TitleContainer$1, {
16154
16339
  className: "drag-handler"
16155
16340
  }, React.createElement(Title$4, null, React.createElement(Thumbnail, {
16156
- src: quests[0].thumbnail || img$7
16341
+ src: quests[0].thumbnail || img$8
16157
16342
  }), quests[0].title), React.createElement(QuestSplitDiv, null, React.createElement("hr", {
16158
16343
  className: "golden"
16159
16344
  }))), React.createElement(Content, null, React.createElement("p", null, quests[0].description)), React.createElement(QuestColumn, {
@@ -16418,7 +16603,7 @@ var SimpleProgressBar = function SimpleProgressBar(_ref) {
16418
16603
  bgColor = _ref$bgColor === void 0 ? 'red' : _ref$bgColor,
16419
16604
  _ref$margin = _ref.margin,
16420
16605
  margin = _ref$margin === void 0 ? 20 : _ref$margin;
16421
- return React.createElement(Container$l, {
16606
+ return React.createElement(Container$n, {
16422
16607
  className: "simple-progress-bar"
16423
16608
  }, React.createElement(ProgressBarContainer, {
16424
16609
  margin: margin
@@ -16427,7 +16612,7 @@ var SimpleProgressBar = function SimpleProgressBar(_ref) {
16427
16612
  bgColor: bgColor
16428
16613
  }))));
16429
16614
  };
16430
- var Container$l = /*#__PURE__*/styled.div.withConfig({
16615
+ var Container$n = /*#__PURE__*/styled.div.withConfig({
16431
16616
  displayName: "SimpleProgressBar__Container",
16432
16617
  componentId: "sc-mbeil3-0"
16433
16618
  })(["display:flex;justify-content:center;align-items:center;width:100%;"]);
@@ -16695,7 +16880,7 @@ var SpellInfo = function SpellInfo(_ref) {
16695
16880
  castingType = spell.castingType,
16696
16881
  cooldown = spell.cooldown,
16697
16882
  maxDistanceGrid = spell.maxDistanceGrid;
16698
- 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", {
16883
+ 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", {
16699
16884
  className: "label"
16700
16885
  }, "Casting Type:"), React.createElement("div", {
16701
16886
  className: "value"
@@ -16721,7 +16906,7 @@ var SpellInfo = function SpellInfo(_ref) {
16721
16906
  className: "value"
16722
16907
  }, requiredItem))), React.createElement(Description$1, null, description));
16723
16908
  };
16724
- var Container$m = /*#__PURE__*/styled.div.withConfig({
16909
+ var Container$o = /*#__PURE__*/styled.div.withConfig({
16725
16910
  displayName: "SpellInfo__Container",
16726
16911
  componentId: "sc-4hbw3q-0"
16727
16912
  })(["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);
@@ -16775,7 +16960,7 @@ var MobileSpellTooltip = function MobileSpellTooltip(_ref) {
16775
16960
  var _ref$current;
16776
16961
  (_ref$current = ref.current) == null ? void 0 : _ref$current.classList.add('fadeOut');
16777
16962
  };
16778
- return React.createElement(ModalPortal, null, React.createElement(Container$n, {
16963
+ return React.createElement(ModalPortal, null, React.createElement(Container$p, {
16779
16964
  ref: ref,
16780
16965
  onTouchEnd: function onTouchEnd() {
16781
16966
  handleFadeOut();
@@ -16800,7 +16985,7 @@ var MobileSpellTooltip = function MobileSpellTooltip(_ref) {
16800
16985
  }, option.text);
16801
16986
  }))));
16802
16987
  };
16803
- var Container$n = /*#__PURE__*/styled.div.withConfig({
16988
+ var Container$p = /*#__PURE__*/styled.div.withConfig({
16804
16989
  displayName: "MobileSpellTooltip__Container",
16805
16990
  componentId: "sc-6p7uvr-0"
16806
16991
  })(["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;}"]);
@@ -16841,13 +17026,13 @@ var MagicTooltip = function MagicTooltip(_ref) {
16841
17026
  }
16842
17027
  return;
16843
17028
  }, []);
16844
- return React.createElement(ModalPortal, null, React.createElement(Container$o, {
17029
+ return React.createElement(ModalPortal, null, React.createElement(Container$q, {
16845
17030
  ref: ref
16846
17031
  }, React.createElement(SpellInfoDisplay, {
16847
17032
  spell: spell
16848
17033
  })));
16849
17034
  };
16850
- var Container$o = /*#__PURE__*/styled.div.withConfig({
17035
+ var Container$q = /*#__PURE__*/styled.div.withConfig({
16851
17036
  displayName: "SpellTooltip__Container",
16852
17037
  componentId: "sc-1go0gwg-0"
16853
17038
  })(["position:absolute;z-index:100;pointer-events:none;left:0;top:0;opacity:0;transition:opacity 0.08s;"]);
@@ -16899,7 +17084,7 @@ var Spell = function Spell(_ref) {
16899
17084
  var disabled = isSettingShortcut ? charMagicLevel < minMagicLevelRequired : manaCost > charMana || charMagicLevel < minMagicLevelRequired;
16900
17085
  return React.createElement(SpellInfoWrapper, {
16901
17086
  spell: spell
16902
- }, React.createElement(Container$p, {
17087
+ }, React.createElement(Container$r, {
16903
17088
  onPointerUp: onPointerUp == null ? void 0 : onPointerUp.bind(null, spellKey),
16904
17089
  isSettingShortcut: isSettingShortcut && !disabled,
16905
17090
  className: "spell"
@@ -16913,7 +17098,7 @@ var Spell = function Spell(_ref) {
16913
17098
  className: "mana"
16914
17099
  }, manaCost))));
16915
17100
  };
16916
- var Container$p = /*#__PURE__*/styled.button.withConfig({
17101
+ var Container$r = /*#__PURE__*/styled.button.withConfig({
16917
17102
  displayName: "Spell__Container",
16918
17103
  componentId: "sc-j96fa2-0"
16919
17104
  })(["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) {
@@ -16990,7 +17175,7 @@ var Spellbook = function Spellbook(_ref) {
16990
17175
  height: "inherit",
16991
17176
  cancelDrag: "#spellbook-search, #shortcuts_list, .spell",
16992
17177
  scale: scale
16993
- }, React.createElement(Container$q, null, React.createElement(Title$8, null, "Learned Spells"), React.createElement(ShortcutsSetter, {
17178
+ }, React.createElement(Container$s, null, React.createElement(Title$8, null, "Learned Spells"), React.createElement(ShortcutsSetter, {
16994
17179
  setSettingShortcutIndex: setSettingShortcutIndex,
16995
17180
  settingShortcutIndex: settingShortcutIndex,
16996
17181
  shortcuts: shortcuts,
@@ -17024,7 +17209,7 @@ var Title$8 = /*#__PURE__*/styled.h1.withConfig({
17024
17209
  displayName: "Spellbook__Title",
17025
17210
  componentId: "sc-r02nfq-0"
17026
17211
  })(["font-size:", " !important;margin-bottom:0 !important;"], uiFonts.size.large);
17027
- var Container$q = /*#__PURE__*/styled.div.withConfig({
17212
+ var Container$s = /*#__PURE__*/styled.div.withConfig({
17028
17213
  displayName: "Spellbook__Container",
17029
17214
  componentId: "sc-r02nfq-1"
17030
17215
  })(["width:100%;height:100%;color:white;display:flex;flex-direction:column;"]);
@@ -17038,16 +17223,16 @@ var TextArea = function TextArea(_ref) {
17038
17223
  return React.createElement("textarea", Object.assign({}, props));
17039
17224
  };
17040
17225
 
17041
- var img$8 = 'data:image/gif;base64,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';
17226
+ var img$9 = 'data:image/gif;base64,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';
17042
17227
 
17043
- var img$9 = 'data:image/gif;base64,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';
17228
+ var img$a = 'data:image/gif;base64,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';
17044
17229
 
17045
- var img$a = 'data:image/gif;base64,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';
17230
+ var img$b = 'data:image/gif;base64,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';
17046
17231
 
17047
17232
  var DayNightPeriod = function DayNightPeriod(_ref) {
17048
17233
  var _periodOfDaySrcFiles;
17049
17234
  var periodOfDay = _ref.periodOfDay;
17050
- var periodOfDaySrcFiles = (_periodOfDaySrcFiles = {}, _periodOfDaySrcFiles[PeriodOfDay.Morning] = img$9, _periodOfDaySrcFiles[PeriodOfDay.Afternoon] = img$8, _periodOfDaySrcFiles[PeriodOfDay.Night] = img$a, _periodOfDaySrcFiles);
17235
+ var periodOfDaySrcFiles = (_periodOfDaySrcFiles = {}, _periodOfDaySrcFiles[PeriodOfDay.Morning] = img$a, _periodOfDaySrcFiles[PeriodOfDay.Afternoon] = img$9, _periodOfDaySrcFiles[PeriodOfDay.Night] = img$b, _periodOfDaySrcFiles);
17051
17236
  return React.createElement(GifContainer, null, React.createElement("img", {
17052
17237
  src: periodOfDaySrcFiles[periodOfDay]
17053
17238
  }));
@@ -17057,7 +17242,7 @@ var GifContainer = /*#__PURE__*/styled.div.withConfig({
17057
17242
  componentId: "sc-10t97fw-0"
17058
17243
  })(["width:100%;img{width:67%;}"]);
17059
17244
 
17060
- 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';
17245
+ 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';
17061
17246
 
17062
17247
  var TimeWidget = function TimeWidget(_ref) {
17063
17248
  var onClose = _ref.onClose,
@@ -17075,7 +17260,7 @@ var TimeWidget = function TimeWidget(_ref) {
17075
17260
  var WidgetContainer = /*#__PURE__*/styled.div.withConfig({
17076
17261
  displayName: "TimeWidget__WidgetContainer",
17077
17262
  componentId: "sc-1ja236h-0"
17078
- })(["background-image:url(", ");background-size:10rem;background-repeat:no-repeat;width:10rem;position:absolute;height:100px;"], img$b);
17263
+ })(["background-image:url(", ");background-size:10rem;background-repeat:no-repeat;width:10rem;position:absolute;height:100px;"], img$c);
17079
17264
  var Time = /*#__PURE__*/styled.div.withConfig({
17080
17265
  displayName: "TimeWidget__Time",
17081
17266
  componentId: "sc-1ja236h-1"
@@ -17325,230 +17510,16 @@ var Truncate = function Truncate(_ref) {
17325
17510
  var _ref$maxLines = _ref.maxLines,
17326
17511
  maxLines = _ref$maxLines === void 0 ? 1 : _ref$maxLines,
17327
17512
  children = _ref.children;
17328
- return React.createElement(Container$r, {
17513
+ return React.createElement(Container$t, {
17329
17514
  maxLines: maxLines
17330
17515
  }, children);
17331
17516
  };
17332
- var Container$r = /*#__PURE__*/styled.div.withConfig({
17517
+ var Container$t = /*#__PURE__*/styled.div.withConfig({
17333
17518
  displayName: "Truncate__Container",
17334
17519
  componentId: "sc-6x00qb-0"
17335
17520
  })(["display:-webkit-box;max-width:100%;max-height:100%;-webkit-line-clamp:", ";-webkit-box-orient:vertical;overflow:hidden;"], function (props) {
17336
17521
  return props.maxLines;
17337
17522
  });
17338
17523
 
17339
- var IS_MOBILE_OR_TABLET = /*#__PURE__*/isMobileOrTablet();
17340
-
17341
- var chunkString = function chunkString(str, length) {
17342
- return str.match(new RegExp('.{1,' + length + '}', 'g'));
17343
- };
17344
-
17345
- var img$c = 'data:image/gif;base64,R0lGODlhEAAQAPIAAAAAABQYLiw1TUBJc2hvmQAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAAAQABAAAAM9CLrc/lCFGSKYJJP5AhlguDnBMIVgxXgmJapSSp3mKs/pKrT0IMCXUk+2Cgh2oSOnaDz+lswZpSOFUq2KBAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAEUAAAALAAAAAAQABAAAAIzhI+py90Bg4OjDrjCELxfFQhQx0mIJkaeaYRp5LJADMdnqXbyOJLYTdKBejjZoRaZJBMFACH/C0ltYWdlTWFnaWNrDWdhbW1hPTAuNDU0NTUAIfkEARQAAAAsAAAAABAAEAAAAjKEj6nL7Y+CDE6OO+QKQ/ifKYEgfR4VddPohQe7lmR0xidNTib65uacYP2AQWGuMlEUAAA7';
17346
-
17347
- var NPCDialogText = function NPCDialogText(_ref) {
17348
- var text = _ref.text,
17349
- onClose = _ref.onClose,
17350
- onEndStep = _ref.onEndStep,
17351
- onStartStep = _ref.onStartStep,
17352
- type = _ref.type;
17353
- var windowSize = useRef([window.innerWidth, window.innerHeight]);
17354
- function maxCharacters(width) {
17355
- // Set the font size to 16 pixels
17356
- var fontSize = 11.2;
17357
- // Calculate the number of characters that can fit in one line
17358
- var charactersPerLine = Math.floor(width / 2 / fontSize);
17359
- // Calculate the number of lines that can fit in the div
17360
- var linesPerDiv = Math.floor(180 / fontSize);
17361
- // Calculate the maximum number of characters that can fit in the div
17362
- var maxCharacters = charactersPerLine * linesPerDiv;
17363
- // Return the maximum number of characters
17364
- return Math.round(maxCharacters / 5);
17365
- }
17366
- var textChunks = chunkString(text, maxCharacters(windowSize.current[0]));
17367
- var _useState = useState(0),
17368
- chunkIndex = _useState[0],
17369
- setChunkIndex = _useState[1];
17370
- var onHandleSpacePress = function onHandleSpacePress(event) {
17371
- if (event.code === 'Space') {
17372
- goToNextStep();
17373
- }
17374
- };
17375
- var goToNextStep = function goToNextStep() {
17376
- var hasNextChunk = (textChunks == null ? void 0 : textChunks[chunkIndex + 1]) || false;
17377
- if (hasNextChunk) {
17378
- setChunkIndex(function (prev) {
17379
- return prev + 1;
17380
- });
17381
- } else {
17382
- // if there's no more text chunks, close the dialog
17383
- onClose();
17384
- }
17385
- };
17386
- useEffect(function () {
17387
- document.addEventListener('keydown', onHandleSpacePress);
17388
- return function () {
17389
- return document.removeEventListener('keydown', onHandleSpacePress);
17390
- };
17391
- }, [chunkIndex]);
17392
- var _useState2 = useState(false),
17393
- showGoNextIndicator = _useState2[0],
17394
- setShowGoNextIndicator = _useState2[1];
17395
- return React.createElement(Container$s, null, React.createElement(DynamicText, {
17396
- text: (textChunks == null ? void 0 : textChunks[chunkIndex]) || '',
17397
- onFinish: function onFinish() {
17398
- setShowGoNextIndicator(true);
17399
- onEndStep && onEndStep();
17400
- },
17401
- onStart: function onStart() {
17402
- setShowGoNextIndicator(false);
17403
- onStartStep && onStartStep();
17404
- }
17405
- }), showGoNextIndicator && React.createElement(PressSpaceIndicator$1, {
17406
- right: type === NPCDialogType.TextOnly ? '1rem' : '10.5rem',
17407
- src: IS_MOBILE_OR_TABLET ? img$c : img$6,
17408
- onPointerDown: function onPointerDown() {
17409
- goToNextStep();
17410
- }
17411
- }));
17412
- };
17413
- var Container$s = /*#__PURE__*/styled.div.withConfig({
17414
- displayName: "NPCDialogText__Container",
17415
- componentId: "sc-1cxkdh9-0"
17416
- })([""]);
17417
- var PressSpaceIndicator$1 = /*#__PURE__*/styled.img.withConfig({
17418
- displayName: "NPCDialogText__PressSpaceIndicator",
17419
- componentId: "sc-1cxkdh9-1"
17420
- })(["position:absolute;right:", ";bottom:1rem;height:20.7px;image-rendering:-webkit-optimize-contrast;"], function (_ref2) {
17421
- var right = _ref2.right;
17422
- return right;
17423
- });
17424
-
17425
- var NPCDialogType;
17426
- (function (NPCDialogType) {
17427
- NPCDialogType["TextOnly"] = "TextOnly";
17428
- NPCDialogType["TextAndThumbnail"] = "TextAndThumbnail";
17429
- })(NPCDialogType || (NPCDialogType = {}));
17430
- var NPCDialog = function NPCDialog(_ref) {
17431
- var text = _ref.text,
17432
- type = _ref.type,
17433
- _onClose = _ref.onClose,
17434
- imagePath = _ref.imagePath,
17435
- _ref$isQuestionDialog = _ref.isQuestionDialog,
17436
- isQuestionDialog = _ref$isQuestionDialog === void 0 ? false : _ref$isQuestionDialog,
17437
- questions = _ref.questions,
17438
- answers = _ref.answers;
17439
- return React.createElement(RPGUIContainer, {
17440
- type: RPGUIContainerTypes.FramedGold,
17441
- width: isQuestionDialog ? '600px' : '80%',
17442
- height: '180px'
17443
- }, isQuestionDialog && questions && answers ? React.createElement(React.Fragment, null, React.createElement(TextContainer$2, {
17444
- flex: type === NPCDialogType.TextAndThumbnail ? '70%' : '100%'
17445
- }, React.createElement(QuestionDialog, {
17446
- questions: questions,
17447
- answers: answers,
17448
- onClose: function onClose() {
17449
- if (_onClose) {
17450
- _onClose();
17451
- }
17452
- }
17453
- })), type === NPCDialogType.TextAndThumbnail && React.createElement(ThumbnailContainer$1, null, React.createElement(NPCThumbnail$1, {
17454
- src: imagePath || img$5
17455
- }))) : React.createElement(React.Fragment, null, React.createElement(Container$t, null, React.createElement(TextContainer$2, {
17456
- flex: type === NPCDialogType.TextAndThumbnail ? '70%' : '100%'
17457
- }, React.createElement(NPCDialogText, {
17458
- type: type,
17459
- text: text || 'No text provided.',
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
- })))));
17468
- };
17469
- var Container$t = /*#__PURE__*/styled.div.withConfig({
17470
- displayName: "NPCDialog__Container",
17471
- componentId: "sc-1b4aw74-0"
17472
- })(["display:flex;width:100%;height:100%;box-sizing:border-box;justify-content:center;align-items:flex-start;position:relative;"]);
17473
- var TextContainer$2 = /*#__PURE__*/styled.div.withConfig({
17474
- displayName: "NPCDialog__TextContainer",
17475
- componentId: "sc-1b4aw74-1"
17476
- })(["flex:", " 0 0;width:355px;"], function (_ref2) {
17477
- var flex = _ref2.flex;
17478
- return flex;
17479
- });
17480
- var ThumbnailContainer$1 = /*#__PURE__*/styled.div.withConfig({
17481
- displayName: "NPCDialog__ThumbnailContainer",
17482
- componentId: "sc-1b4aw74-2"
17483
- })(["flex:30% 0 0;display:flex;justify-content:flex-end;"]);
17484
- var NPCThumbnail$1 = /*#__PURE__*/styled.img.withConfig({
17485
- displayName: "NPCDialog__NPCThumbnail",
17486
- componentId: "sc-1b4aw74-3"
17487
- })(["image-rendering:pixelated;height:128px;width:128px;"]);
17488
-
17489
- var HistoryDialog = function HistoryDialog(_ref) {
17490
- var backgroundImgPath = _ref.backgroundImgPath,
17491
- fullCoverBackground = _ref.fullCoverBackground,
17492
- questions = _ref.questions,
17493
- answers = _ref.answers,
17494
- text = _ref.text,
17495
- imagePath = _ref.imagePath,
17496
- textAndTypeArray = _ref.textAndTypeArray,
17497
- onClose = _ref.onClose;
17498
- var _useState = useState(0),
17499
- img = _useState[0],
17500
- setImage = _useState[1];
17501
- var onHandleSpacePress = function onHandleSpacePress(event) {
17502
- if (event.code === 'Space') {
17503
- if (img < (backgroundImgPath == null ? void 0 : backgroundImgPath.length) - 1) {
17504
- setImage(function (prev) {
17505
- return prev + 1;
17506
- });
17507
- } else {
17508
- // if there's no more text chunks, close the dialog
17509
- onClose();
17510
- }
17511
- }
17512
- };
17513
- useEffect(function () {
17514
- document.addEventListener('keydown', onHandleSpacePress);
17515
- return function () {
17516
- return document.removeEventListener('keydown', onHandleSpacePress);
17517
- };
17518
- }, [backgroundImgPath]);
17519
- return React.createElement(BackgroundContainer, {
17520
- imgPath: backgroundImgPath[img],
17521
- fullImg: fullCoverBackground
17522
- }, React.createElement(DialogContainer, null, textAndTypeArray ? React.createElement(NPCMultiDialog, {
17523
- textAndTypeArray: textAndTypeArray,
17524
- onClose: onClose
17525
- }) : questions && answers ? React.createElement(QuestionDialog, {
17526
- questions: questions,
17527
- answers: answers,
17528
- onClose: onClose
17529
- }) : text && imagePath ? React.createElement(NPCDialog, {
17530
- text: text,
17531
- imagePath: imagePath,
17532
- onClose: onClose,
17533
- type: NPCDialogType.TextAndThumbnail
17534
- }) : React.createElement(NPCDialog, {
17535
- text: text,
17536
- onClose: onClose,
17537
- type: NPCDialogType.TextOnly
17538
- })));
17539
- };
17540
- var BackgroundContainer = /*#__PURE__*/styled.div.withConfig({
17541
- displayName: "HistoryDialog__BackgroundContainer",
17542
- componentId: "sc-u6oe75-0"
17543
- })(["width:100%;height:100%;background-image:url(", ");background-size:", ";display:flex;justify-content:space-evenly;align-items:center;"], function (props) {
17544
- return props.imgPath;
17545
- }, function (props) {
17546
- return props.imgPath ? 'cover' : 'auto';
17547
- });
17548
- var DialogContainer = /*#__PURE__*/styled.div.withConfig({
17549
- displayName: "HistoryDialog__DialogContainer",
17550
- componentId: "sc-u6oe75-1"
17551
- })(["display:flex;justify-content:center;padding-top:200px;"]);
17552
-
17553
17524
  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 };
17554
17525
  //# sourceMappingURL=long-bow.esm.js.map